
void obj_elf_type(int ignore)

{
  byte bVar1;
  uint uVar2;
  void *pvVar3;
  char cVar4;
  int iVar5;
  symbolS *psVar6;
  asymbol *paVar7;
  char *pcVar8;
  char *pcVar9;
  long lVar10;
  byte *pbVar11;
  byte *pbVar12;
  uint uVar13;
  undefined1 uVar14;
  bool bVar15;
  bool bVar16;
  undefined1 uVar17;
  bool bVar18;
  byte bVar19;
  char *p;
  
  bVar19 = 0;
  psVar6 = get_sym_from_input_line_and_check();
  paVar7 = symbol_get_bfdsym(psVar6);
  bVar1 = *input_line_pointer;
  if (bVar1 == 0x2c) {
    bVar1 = input_line_pointer[1];
    input_line_pointer = input_line_pointer + 1;
  }
  if (bVar1 == 0x20) {
    bVar1 = input_line_pointer[1];
    input_line_pointer = input_line_pointer + 1;
  }
  if (((byte)(bVar1 - 0x22) < 0x1f) && ((0x4000000bUL >> ((ulong)(bVar1 - 0x22) & 0x3f) & 1) != 0))
  {
    input_line_pointer = input_line_pointer + 1;
  }
  p = input_line_pointer;
  bVar1 = *input_line_pointer - 0x30;
  uVar14 = bVar1 < 9;
  uVar17 = bVar1 == 9;
  if (bVar1 < 10) {
    do {
      input_line_pointer = input_line_pointer + 1;
      cVar4 = *input_line_pointer;
      bVar1 = cVar4 - 0x30;
      uVar14 = bVar1 < 9;
      uVar17 = bVar1 == 9;
    } while (bVar1 < 10);
    *input_line_pointer = '\0';
  }
  else {
    cVar4 = get_symbol_name(&p);
  }
  pcVar9 = p;
  lVar10 = 9;
  uVar13 = 8;
  pbVar11 = (byte *)p;
  pbVar12 = (byte *)0x1464a7;
  do {
    if (lVar10 == 0) break;
    lVar10 = lVar10 + -1;
    uVar14 = *pbVar11 < *pbVar12;
    uVar17 = *pbVar11 == *pbVar12;
    pbVar11 = pbVar11 + (ulong)bVar19 * -2 + 1;
    pbVar12 = pbVar12 + (ulong)bVar19 * -2 + 1;
  } while ((bool)uVar17);
  bVar15 = false;
  bVar18 = (!(bool)uVar14 && !(bool)uVar17) == (bool)uVar14;
  if (!bVar18) {
    lVar10 = 2;
    pbVar11 = (byte *)p;
    pbVar12 = (byte *)0x14246c;
    do {
      if (lVar10 == 0) break;
      lVar10 = lVar10 + -1;
      bVar15 = *pbVar11 < *pbVar12;
      bVar18 = *pbVar11 == *pbVar12;
      pbVar11 = pbVar11 + (ulong)bVar19 * -2 + 1;
      pbVar12 = pbVar12 + (ulong)bVar19 * -2 + 1;
    } while (bVar18);
    bVar16 = false;
    bVar15 = (!bVar15 && !bVar18) == bVar15;
    if (!bVar15) {
      lVar10 = 9;
      pbVar11 = (byte *)p;
      pbVar12 = (byte *)"STT_FUNC";
      do {
        if (lVar10 == 0) break;
        lVar10 = lVar10 + -1;
        bVar16 = *pbVar11 < *pbVar12;
        bVar15 = *pbVar11 == *pbVar12;
        pbVar11 = pbVar11 + (ulong)bVar19 * -2 + 1;
        pbVar12 = pbVar12 + (ulong)bVar19 * -2 + 1;
      } while (bVar15);
      bVar18 = false;
      bVar15 = (!bVar16 && !bVar15) == bVar16;
      if (!bVar15) {
        lVar10 = 7;
        pbVar11 = (byte *)p;
        pbVar12 = (byte *)0x1464c9;
        do {
          if (lVar10 == 0) break;
          lVar10 = lVar10 + -1;
          bVar18 = *pbVar11 < *pbVar12;
          bVar15 = *pbVar11 == *pbVar12;
          pbVar11 = pbVar11 + (ulong)bVar19 * -2 + 1;
          pbVar12 = pbVar12 + (ulong)bVar19 * -2 + 1;
        } while (bVar15);
        bVar16 = false;
        bVar15 = (!bVar18 && !bVar15) == bVar18;
        if (!bVar15) {
          lVar10 = 2;
          pbVar11 = (byte *)p;
          pbVar12 = (byte *)0x13f34c;
          do {
            if (lVar10 == 0) break;
            lVar10 = lVar10 + -1;
            bVar16 = *pbVar11 < *pbVar12;
            bVar15 = *pbVar11 == *pbVar12;
            pbVar11 = pbVar11 + (ulong)bVar19 * -2 + 1;
            pbVar12 = pbVar12 + (ulong)bVar19 * -2 + 1;
          } while (bVar15);
          bVar18 = false;
          bVar15 = (!bVar16 && !bVar15) == bVar16;
          if (!bVar15) {
            lVar10 = 0xb;
            pbVar11 = (byte *)p;
            pbVar12 = (byte *)"STT_OBJECT";
            do {
              if (lVar10 == 0) break;
              lVar10 = lVar10 + -1;
              bVar18 = *pbVar11 < *pbVar12;
              bVar15 = *pbVar11 == *pbVar12;
              pbVar11 = pbVar11 + (ulong)bVar19 * -2 + 1;
              pbVar12 = pbVar12 + (ulong)bVar19 * -2 + 1;
            } while (bVar15);
            bVar16 = false;
            bVar15 = (!bVar18 && !bVar15) == bVar18;
            if (!bVar15) {
              lVar10 = 0xb;
              uVar13 = 0x50000;
              pbVar11 = (byte *)p;
              pbVar12 = (byte *)"tls_object";
              do {
                if (lVar10 == 0) break;
                lVar10 = lVar10 + -1;
                bVar16 = *pbVar11 < *pbVar12;
                bVar15 = *pbVar11 == *pbVar12;
                pbVar11 = pbVar11 + (ulong)bVar19 * -2 + 1;
                pbVar12 = pbVar12 + (ulong)bVar19 * -2 + 1;
              } while (bVar15);
              bVar18 = false;
              bVar15 = (!bVar16 && !bVar15) == bVar16;
              if (bVar15) goto LAB_00139961;
              lVar10 = 2;
              pbVar11 = (byte *)p;
              pbVar12 = &DAT_001448ab;
              do {
                if (lVar10 == 0) break;
                lVar10 = lVar10 + -1;
                bVar18 = *pbVar11 < *pbVar12;
                bVar15 = *pbVar11 == *pbVar12;
                pbVar11 = pbVar11 + (ulong)bVar19 * -2 + 1;
                pbVar12 = pbVar12 + (ulong)bVar19 * -2 + 1;
              } while (bVar15);
              bVar16 = false;
              bVar15 = (!bVar18 && !bVar15) == bVar18;
              if (bVar15) goto LAB_00139961;
              lVar10 = 8;
              pbVar11 = (byte *)p;
              pbVar12 = (byte *)"STT_TLS";
              do {
                if (lVar10 == 0) break;
                lVar10 = lVar10 + -1;
                bVar16 = *pbVar11 < *pbVar12;
                bVar15 = *pbVar11 == *pbVar12;
                pbVar11 = pbVar11 + (ulong)bVar19 * -2 + 1;
                pbVar12 = pbVar12 + (ulong)bVar19 * -2 + 1;
              } while (bVar15);
              bVar18 = false;
              bVar15 = (!bVar16 && !bVar15) == bVar16;
              if (bVar15) goto LAB_00139961;
              lVar10 = 7;
              pbVar11 = (byte *)p;
              pbVar12 = (byte *)"notype";
              do {
                if (lVar10 == 0) break;
                lVar10 = lVar10 + -1;
                bVar18 = *pbVar11 < *pbVar12;
                bVar15 = *pbVar11 == *pbVar12;
                pbVar11 = pbVar11 + (ulong)bVar19 * -2 + 1;
                pbVar12 = pbVar12 + (ulong)bVar19 * -2 + 1;
              } while (bVar15);
              uVar13 = 0;
              if ((((!bVar18 && !bVar15) == bVar18) || (iVar5 = strcmp(p,"0"), iVar5 == 0)) ||
                 (iVar5 = strcmp(pcVar9,"STT_NOTYPE"), iVar5 == 0)) goto LAB_00139961;
              iVar5 = strcmp(pcVar9,"common");
              if (((iVar5 != 0) && (iVar5 = strcmp(pcVar9,"5"), iVar5 != 0)) &&
                 (iVar5 = strcmp(pcVar9,"STT_COMMON"), iVar5 != 0)) {
                iVar5 = strcmp(pcVar9,"gnu_indirect_function");
                if (((iVar5 == 0) || (iVar5 = strcmp(pcVar9,"10"), iVar5 == 0)) ||
                   (iVar5 = strcmp(pcVar9,"STT_GNU_IFUNC"), iVar5 == 0)) {
                  uVar2 = *(uint *)((long)stdoutput->xvec->backend_data + 0xc);
                  if ((9 < uVar2) ||
                     (uVar13 = 0x400008, (0x209UL >> ((ulong)uVar2 & 0x3f) & 1) == 0)) {
                    uVar13 = 0x400008;
                    pcVar8 = (char *)dcgettext(0,
                                               "symbol type \"%s\" is supported only by GNU and FreeBSD targets"
                                               ,5);
                    as_bad(pcVar8,pcVar9);
                  }
                }
                else {
                  iVar5 = strcmp(pcVar9,"gnu_unique_object");
                  if (iVar5 == 0) {
                    pvVar3 = stdoutput->xvec->backend_data;
                    iVar5 = *(int *)((long)pvVar3 + 0xc);
                    if ((iVar5 != 3) && (iVar5 != 0)) {
                      pcVar8 = (char *)dcgettext(0,
                                                 "symbol type \"%s\" is supported only by GNU targets"
                                                 ,5);
                      as_bad(pcVar8,pcVar9);
                    }
                    *(undefined4 *)((long)pvVar3 + 0xc) = 3;
                    uVar13 = 0x810000;
                  }
                  else {
                    pcVar8 = (char *)dcgettext(0,"unrecognized symbol type \"%s\"",5);
                    as_bad(pcVar8,pcVar9);
                  }
                }
                goto LAB_00139961;
              }
              iVar5 = S_IS_COMMON(psVar6);
              if (iVar5 == 0) {
                iVar5 = S_IS_VOLATILE(psVar6);
                if (iVar5 != 0) {
                  uVar13 = 0x10000;
                  psVar6 = symbol_clone(psVar6,1);
                  S_SET_SEGMENT(psVar6,(segT)_bfd_std_section);
                  S_SET_VALUE(psVar6,0);
                  S_SET_EXTERNAL(psVar6);
                  symbol_set_frag(psVar6,&zero_address_frag);
                  S_CLEAR_VOLATILE(psVar6);
                  goto LAB_00139961;
                }
                iVar5 = S_IS_DEFINED(psVar6);
                if ((iVar5 != 0) || (iVar5 = symbol_equated_p(psVar6), iVar5 != 0)) {
                  uVar13 = 0x10000;
                  pcVar9 = S_GET_NAME(psVar6);
                  pcVar8 = (char *)dcgettext(0,"symbol \'%s\' is already defined",5);
                  as_bad(pcVar8,pcVar9);
                  goto LAB_00139961;
                }
                S_SET_SEGMENT(psVar6,(segT)_bfd_std_section);
                S_SET_VALUE(psVar6,0);
                S_SET_EXTERNAL(psVar6);
              }
            }
          }
        }
        uVar13 = 0x10000;
      }
    }
  }
LAB_00139961:
  *input_line_pointer = cVar4;
  if (*input_line_pointer == '\"') {
    input_line_pointer = input_line_pointer + 1;
  }
  paVar7->flags = paVar7->flags | uVar13;
  demand_empty_rest_of_line();
  return;
}



void FUN_00139890(void)

{
  uint uVar1;
  byte *__s1;
  byte bVar2;
  int iVar3;
  undefined8 uVar4;
  long lVar5;
  undefined8 uVar6;
  long lVar7;
  byte bVar8;
  byte *pbVar9;
  byte *pbVar10;
  uint uVar11;
  undefined1 uVar12;
  bool bVar13;
  bool bVar14;
  undefined1 uVar15;
  bool bVar16;
  byte bVar17;
  byte *local_30;
  
  bVar17 = 0;
  uVar4 = FUN_001394d0();
  lVar5 = FUN_0012db90(uVar4);
  bVar2 = *DAT_0019d9a0;
  if (bVar2 == 0x2c) {
    bVar2 = DAT_0019d9a0[1];
    DAT_0019d9a0 = DAT_0019d9a0 + 1;
  }
  if (bVar2 == 0x20) {
    bVar2 = DAT_0019d9a0[1];
    DAT_0019d9a0 = DAT_0019d9a0 + 1;
  }
  if (((byte)(bVar2 - 0x22) < 0x1f) && ((0x4000000bUL >> ((ulong)(bVar2 - 0x22) & 0x3f) & 1) != 0))
  {
    DAT_0019d9a0 = DAT_0019d9a0 + 1;
  }
  local_30 = DAT_0019d9a0;
  bVar2 = *DAT_0019d9a0 - 0x30;
  uVar12 = bVar2 < 9;
  uVar15 = bVar2 == 9;
  if (bVar2 < 10) {
    do {
      DAT_0019d9a0 = DAT_0019d9a0 + 1;
      bVar2 = *DAT_0019d9a0;
      bVar8 = bVar2 - 0x30;
      uVar12 = bVar8 < 9;
      uVar15 = bVar8 == 9;
    } while (bVar8 < 10);
    *DAT_0019d9a0 = 0;
  }
  else {
    bVar2 = FUN_00116b30(&local_30);
  }
  __s1 = local_30;
  lVar7 = 9;
  uVar11 = 8;
  pbVar9 = local_30;
  pbVar10 = (byte *)0x1464a7;
  do {
    if (lVar7 == 0) break;
    lVar7 = lVar7 + -1;
    uVar12 = *pbVar9 < *pbVar10;
    uVar15 = *pbVar9 == *pbVar10;
    pbVar9 = pbVar9 + (ulong)bVar17 * -2 + 1;
    pbVar10 = pbVar10 + (ulong)bVar17 * -2 + 1;
  } while ((bool)uVar15);
  bVar13 = false;
  bVar16 = (!(bool)uVar12 && !(bool)uVar15) == (bool)uVar12;
  if (!bVar16) {
    lVar7 = 2;
    pbVar9 = local_30;
    pbVar10 = (byte *)0x14246c;
    do {
      if (lVar7 == 0) break;
      lVar7 = lVar7 + -1;
      bVar13 = *pbVar9 < *pbVar10;
      bVar16 = *pbVar9 == *pbVar10;
      pbVar9 = pbVar9 + (ulong)bVar17 * -2 + 1;
      pbVar10 = pbVar10 + (ulong)bVar17 * -2 + 1;
    } while (bVar16);
    bVar14 = false;
    bVar13 = (!bVar13 && !bVar16) == bVar13;
    if (!bVar13) {
      lVar7 = 9;
      pbVar9 = local_30;
      pbVar10 = (byte *)"STT_FUNC";
      do {
        if (lVar7 == 0) break;
        lVar7 = lVar7 + -1;
        bVar14 = *pbVar9 < *pbVar10;
        bVar13 = *pbVar9 == *pbVar10;
        pbVar9 = pbVar9 + (ulong)bVar17 * -2 + 1;
        pbVar10 = pbVar10 + (ulong)bVar17 * -2 + 1;
      } while (bVar13);
      bVar16 = false;
      bVar13 = (!bVar14 && !bVar13) == bVar14;
      if (!bVar13) {
        lVar7 = 7;
        pbVar9 = local_30;
        pbVar10 = (byte *)0x1464c9;
        do {
          if (lVar7 == 0) break;
          lVar7 = lVar7 + -1;
          bVar16 = *pbVar9 < *pbVar10;
          bVar13 = *pbVar9 == *pbVar10;
          pbVar9 = pbVar9 + (ulong)bVar17 * -2 + 1;
          pbVar10 = pbVar10 + (ulong)bVar17 * -2 + 1;
        } while (bVar13);
        bVar14 = false;
        bVar13 = (!bVar16 && !bVar13) == bVar16;
        if (!bVar13) {
          lVar7 = 2;
          pbVar9 = local_30;
          pbVar10 = (byte *)0x13f34c;
          do {
            if (lVar7 == 0) break;
            lVar7 = lVar7 + -1;
            bVar14 = *pbVar9 < *pbVar10;
            bVar13 = *pbVar9 == *pbVar10;
            pbVar9 = pbVar9 + (ulong)bVar17 * -2 + 1;
            pbVar10 = pbVar10 + (ulong)bVar17 * -2 + 1;
          } while (bVar13);
          bVar16 = false;
          bVar13 = (!bVar14 && !bVar13) == bVar14;
          if (!bVar13) {
            lVar7 = 0xb;
            pbVar9 = local_30;
            pbVar10 = (byte *)"STT_OBJECT";
            do {
              if (lVar7 == 0) break;
              lVar7 = lVar7 + -1;
              bVar16 = *pbVar9 < *pbVar10;
              bVar13 = *pbVar9 == *pbVar10;
              pbVar9 = pbVar9 + (ulong)bVar17 * -2 + 1;
              pbVar10 = pbVar10 + (ulong)bVar17 * -2 + 1;
            } while (bVar13);
            bVar14 = false;
            bVar13 = (!bVar16 && !bVar13) == bVar16;
            if (!bVar13) {
              lVar7 = 0xb;
              uVar11 = 0x50000;
              pbVar9 = local_30;
              pbVar10 = (byte *)"tls_object";
              do {
                if (lVar7 == 0) break;
                lVar7 = lVar7 + -1;
                bVar14 = *pbVar9 < *pbVar10;
                bVar13 = *pbVar9 == *pbVar10;
                pbVar9 = pbVar9 + (ulong)bVar17 * -2 + 1;
                pbVar10 = pbVar10 + (ulong)bVar17 * -2 + 1;
              } while (bVar13);
              bVar16 = false;
              bVar13 = (!bVar14 && !bVar13) == bVar14;
              if (bVar13) goto LAB_00139961;
              lVar7 = 2;
              pbVar9 = local_30;
              pbVar10 = &DAT_001448ab;
              do {
                if (lVar7 == 0) break;
                lVar7 = lVar7 + -1;
                bVar16 = *pbVar9 < *pbVar10;
                bVar13 = *pbVar9 == *pbVar10;
                pbVar9 = pbVar9 + (ulong)bVar17 * -2 + 1;
                pbVar10 = pbVar10 + (ulong)bVar17 * -2 + 1;
              } while (bVar13);
              bVar14 = false;
              bVar13 = (!bVar16 && !bVar13) == bVar16;
              if (bVar13) goto LAB_00139961;
              lVar7 = 8;
              pbVar9 = local_30;
              pbVar10 = (byte *)"STT_TLS";
              do {
                if (lVar7 == 0) break;
                lVar7 = lVar7 + -1;
                bVar14 = *pbVar9 < *pbVar10;
                bVar13 = *pbVar9 == *pbVar10;
                pbVar9 = pbVar9 + (ulong)bVar17 * -2 + 1;
                pbVar10 = pbVar10 + (ulong)bVar17 * -2 + 1;
              } while (bVar13);
              bVar16 = false;
              bVar13 = (!bVar14 && !bVar13) == bVar14;
              if (bVar13) goto LAB_00139961;
              lVar7 = 7;
              pbVar9 = local_30;
              pbVar10 = (byte *)"notype";
              do {
                if (lVar7 == 0) break;
                lVar7 = lVar7 + -1;
                bVar16 = *pbVar9 < *pbVar10;
                bVar13 = *pbVar9 == *pbVar10;
                pbVar9 = pbVar9 + (ulong)bVar17 * -2 + 1;
                pbVar10 = pbVar10 + (ulong)bVar17 * -2 + 1;
              } while (bVar13);
              uVar11 = 0;
              if ((((!bVar16 && !bVar13) == bVar16) ||
                  (iVar3 = strcmp((char *)local_30,"0"), iVar3 == 0)) ||
                 (iVar3 = strcmp((char *)__s1,"STT_NOTYPE"), iVar3 == 0)) goto LAB_00139961;
              iVar3 = strcmp((char *)__s1,"common");
              if (((iVar3 != 0) && (iVar3 = strcmp((char *)__s1,"5"), iVar3 != 0)) &&
                 (iVar3 = strcmp((char *)__s1,"STT_COMMON"), iVar3 != 0)) {
                iVar3 = strcmp((char *)__s1,"gnu_indirect_function");
                if (((iVar3 == 0) || (iVar3 = strcmp((char *)__s1,"10"), iVar3 == 0)) ||
                   (iVar3 = strcmp((char *)__s1,"STT_GNU_IFUNC"), iVar3 == 0)) {
                  uVar1 = *(uint *)(*(long *)(*(long *)(DAT_0019d970 + 8) + 0x368) + 0xc);
                  if ((9 < uVar1) ||
                     (uVar11 = 0x400008, (0x209UL >> ((ulong)uVar1 & 0x3f) & 1) == 0)) {
                    uVar11 = 0x400008;
                    uVar4 = dcgettext(0,
                                      "symbol type \"%s\" is supported only by GNU and FreeBSD targets"
                                      ,5);
                    FUN_0011f6d0(uVar4,__s1);
                  }
                }
                else {
                  iVar3 = strcmp((char *)__s1,"gnu_unique_object");
                  if (iVar3 == 0) {
                    lVar7 = *(long *)(*(long *)(DAT_0019d970 + 8) + 0x368);
                    iVar3 = *(int *)(lVar7 + 0xc);
                    if ((iVar3 != 3) && (iVar3 != 0)) {
                      uVar4 = dcgettext(0,"symbol type \"%s\" is supported only by GNU targets",5);
                      FUN_0011f6d0(uVar4,__s1);
                    }
                    *(undefined4 *)(lVar7 + 0xc) = 3;
                    uVar11 = 0x810000;
                  }
                  else {
                    uVar4 = dcgettext(0,"unrecognized symbol type \"%s\"",5);
                    FUN_0011f6d0(uVar4,__s1);
                  }
                }
                goto LAB_00139961;
              }
              iVar3 = FUN_0012ac00(uVar4);
              if (iVar3 == 0) {
                iVar3 = FUN_0012aed0(uVar4);
                if (iVar3 != 0) {
                  uVar11 = 0x10000;
                  uVar4 = FUN_0012c530(uVar4,1);
                  FUN_0012af90(uVar4,_bfd_std_section);
                  FUN_0012aa50(uVar4,0);
                  FUN_0012c440(uVar4);
                  FUN_0012d650(uVar4,&DAT_0019d720);
                  FUN_0012d370(uVar4);
                  goto LAB_00139961;
                }
                iVar3 = FUN_0012ac30(uVar4);
                if ((iVar3 != 0) || (iVar3 = FUN_0012da60(uVar4), iVar3 != 0)) {
                  uVar11 = 0x10000;
                  uVar4 = FUN_0012af30(uVar4);
                  uVar6 = dcgettext(0,"symbol \'%s\' is already defined",5);
                  FUN_0011f6d0(uVar6,uVar4);
                  goto LAB_00139961;
                }
                FUN_0012af90(uVar4,_bfd_std_section);
                FUN_0012aa50(uVar4,0);
                FUN_0012c440(uVar4);
              }
            }
          }
        }
        uVar11 = 0x10000;
      }
    }
  }
LAB_00139961:
  *DAT_0019d9a0 = bVar2;
  if (*DAT_0019d9a0 == 0x22) {
    DAT_0019d9a0 = DAT_0019d9a0 + 1;
  }
  *(uint *)(lVar5 + 0x18) = *(uint *)(lVar5 + 0x18) | uVar11;
  FUN_00121a20();
  return;
}


PUSH R14
PUSH R13
PUSH R12
PUSH RBP
PUSH RBX
SUB RSP,0x10
CALL 0x001394d0
MOV RDI,RAX
MOV RBX,RAX
CALL 0x0012db90
MOV R12,RAX
MOV RAX,qword ptr [0x0019d9a0]
MOVZX EDX,byte ptr [RAX]
CMP DL,0x2c
JNZ 0x001398d0
LEA RCX,[RAX + 0x1]
MOV qword ptr [0x0019d9a0],RCX
MOVZX EDX,byte ptr [RAX + 0x1]
MOV RAX,RCX
CMP DL,0x20
JNZ 0x001398e7
LEA RCX,[RAX + 0x1]
MOV qword ptr [0x0019d9a0],RCX
MOVZX EDX,byte ptr [RAX + 0x1]
MOV RAX,RCX
SUB EDX,0x22
CMP DL,0x1e
JA 0x00139905
MOV ECX,0x4000000b
BT RCX,RDX
JNC 0x00139905
ADD RAX,0x1
MOV qword ptr [0x0019d9a0],RAX
MOV qword ptr [RSP + 0x8],RAX
MOVZX ESI,byte ptr [RAX]
LEA EDX,[RSI + -0x30]
CMP DL,0x9
JA 0x00139bd0
ADD RAX,0x1
NOP dword ptr [RAX]
MOV qword ptr [0x0019d9a0],RAX
MOVZX EBP,byte ptr [RAX]
MOV RCX,RAX
ADD RAX,0x1
LEA EDX,[RBP + -0x30]
CMP DL,0x9
JBE 0x00139920
MOV byte ptr [RCX],0x0
MOV R13,qword ptr [RSP + 0x8]
MOV ECX,0x9
LEA RDI,[0x1464a7]
MOV R14D,0x8
MOV RSI,R13
CMPSB.REPE RDI,RSI
SETA AL
SBB AL,0x0
TEST AL,AL
JNZ 0x001399a0
MOV RAX,qword ptr [0x0019d9a0]
MOV byte ptr [RAX],BPL
MOV RAX,qword ptr [0x0019d9a0]
CMP byte ptr [RAX],0x22
JNZ 0x00139982
ADD RAX,0x1
MOV qword ptr [0x0019d9a0],RAX
OR dword ptr [R12 + 0x18],R14D
CALL 0x00121a20
ADD RSP,0x10
POP RBX
POP RBP
POP R12
POP R13
POP R14
RET
MOV ECX,0x2
LEA RDI,[0x14246c]
MOV RSI,R13
CMPSB.REPE RDI,RSI
SETA AL
SBB AL,0x0
TEST AL,AL
JZ 0x00139961
MOV ECX,0x9
LEA RDI,[0x146456]
MOV RSI,R13
CMPSB.REPE RDI,RSI
SETA AL
SBB AL,0x0
TEST AL,AL
JZ 0x00139961
MOV ECX,0x7
LEA RDI,[0x1464c9]
MOV RSI,R13
CMPSB.REPE RDI,RSI
SETA AL
SBB AL,0x0
TEST AL,AL
JZ 0x00139c08
MOV ECX,0x2
LEA RDI,[0x13f34c]
MOV RSI,R13
CMPSB.REPE RDI,RSI
SETA AL
SBB AL,0x0
TEST AL,AL
JZ 0x00139c08
MOV ECX,0xb
LEA RDI,[0x14645f]
MOV RSI,R13
CMPSB.REPE RDI,RSI
SETA AL
SBB AL,0x0
TEST AL,AL
JZ 0x00139c08
MOV ECX,0xb
LEA RDI,[0x14646a]
MOV RSI,R13
MOV R14D,0x50000
CMPSB.REPE RDI,RSI
SETA AL
SBB AL,0x0
TEST AL,AL
JZ 0x00139961
MOV ECX,0x2
LEA RDI,[0x1448ab]
MOV RSI,R13
CMPSB.REPE RDI,RSI
SETA AL
SBB AL,0x0
TEST AL,AL
JZ 0x00139961
MOV ECX,0x8
LEA RDI,[0x146475]
MOV RSI,R13
CMPSB.REPE RDI,RSI
SETA AL
SBB AL,0x0
TEST AL,AL
JZ 0x00139961
MOV ECX,0x7
LEA RDI,[0x14647d]
MOV RSI,R13
CMPSB.REPE RDI,RSI
SETA AL
SBB AL,0x0
XOR R14D,R14D
TEST AL,AL
JZ 0x00139961
LEA RSI,[0x142ee4]
MOV RDI,R13
CALL 0x0010a3d0
TEST EAX,EAX
JZ 0x00139961
LEA RSI,[0x146484]
MOV RDI,R13
CALL 0x0010a3d0
TEST EAX,EAX
JZ 0x00139961
LEA RSI,[0x13d496]
MOV RDI,R13
CALL 0x0010a3d0
TEST EAX,EAX
JZ 0x00139c13
LEA RSI,[0x144875]
MOV RDI,R13
CALL 0x0010a3d0
TEST EAX,EAX
JZ 0x00139c13
LEA RSI,[0x14648f]
MOV RDI,R13
CALL 0x0010a3d0
TEST EAX,EAX
JZ 0x00139c13
LEA RSI,[0x14649a]
MOV RDI,R13
CALL 0x0010a3d0
TEST EAX,EAX
JZ 0x00139ca7
LEA RSI,[0x1447a1]
MOV RDI,R13
CALL 0x0010a3d0
TEST EAX,EAX
JZ 0x00139ca7
LEA RSI,[0x1464b0]
MOV RDI,R13
CALL 0x0010a3d0
TEST EAX,EAX
JZ 0x00139ca7
LEA RSI,[0x1464be]
MOV RDI,R13
CALL 0x0010a3d0
TEST EAX,EAX
JNZ 0x00139c82
MOV RAX,qword ptr [0x0019d970]
MOV RAX,qword ptr [RAX + 0x8]
MOV RBX,qword ptr [RAX + 0x368]
MOV EAX,dword ptr [RBX + 0xc]
CMP EAX,0x3
JZ 0x00139bbc
TEST EAX,EAX
JZ 0x00139bbc
LEA RSI,[0x146920]
XOR EDI,EDI
MOV EDX,0x5
CALL 0x0010a1d0
MOV RSI,R13
MOV RDI,RAX
XOR EAX,EAX
CALL 0x0011f6d0
MOV dword ptr [RBX + 0xc],0x3
MOV R14D,0x810000
JMP 0x00139961
LEA RDI,[RSP + 0x8]
CALL 0x00116b30
MOV EBP,EAX
JMP 0x0013993c
LEA RSI,[0x1947c0]
MOV RDI,RBX
CALL 0x0012af90
MOV RDI,RBX
XOR ESI,ESI
CALL 0x0012aa50
MOV RDI,RBX
CALL 0x0012c440
NOP word ptr [RAX + RAX*0x1]
MOV R14D,0x10000
JMP 0x00139961
MOV RDI,RBX
CALL 0x0012ac00
TEST EAX,EAX
JNZ 0x00139c08
MOV RDI,RBX
CALL 0x0012aed0
TEST EAX,EAX
JZ 0x00139cec
MOV RDI,RBX
MOV ESI,0x1
MOV R14D,0x10000
CALL 0x0012c530
LEA RSI,[0x1947c0]
MOV RBX,RAX
MOV RDI,RAX
CALL 0x0012af90
XOR ESI,ESI
MOV RDI,RBX
CALL 0x0012aa50
MOV RDI,RBX
CALL 0x0012c440
LEA RSI,[0x19d720]
MOV RDI,RBX
CALL 0x0012d650
MOV RDI,RBX
CALL 0x0012d370
JMP 0x00139961
XOR EDI,EDI
MOV EDX,0x5
LEA RSI,[0x1464d0]
CALL 0x0010a1d0
MOV RSI,R13
MOV RDI,RAX
XOR EAX,EAX
CALL 0x0011f6d0
JMP 0x00139961
MOV RAX,qword ptr [0x0019d970]
MOV RAX,qword ptr [RAX + 0x8]
MOV RAX,qword ptr [RAX + 0x368]
MOV EAX,dword ptr [RAX + 0xc]
CMP EAX,0x9
JBE 0x00139d3e
MOV EDX,0x5
LEA RSI,[0x1468e0]
XOR EDI,EDI
MOV R14D,0x400008
CALL 0x0010a1d0
MOV RSI,R13
MOV RDI,RAX
XOR EAX,EAX
CALL 0x0011f6d0
JMP 0x00139961
MOV RDI,RBX
CALL 0x0012ac30
TEST EAX,EAX
JNZ 0x00139d08
MOV RDI,RBX
CALL 0x0012da60
TEST EAX,EAX
JZ 0x00139be1
MOV RDI,RBX
MOV R14D,0x10000
CALL 0x0012af30
MOV EDX,0x5
LEA RSI,[0x1468c0]
XOR EDI,EDI
MOV RBX,RAX
CALL 0x0010a1d0
MOV RSI,RBX
MOV RDI,RAX
XOR EAX,EAX
CALL 0x0011f6d0
JMP 0x00139961
MOV EDX,0x209
MOV R14D,0x400008
BT RDX,RAX
JC 0x00139961
JMP 0x00139cc1
(translation_unit "void FUN_00139890(void)\n\n{\n  uint uVar1;\n  byte *__s1;\n  byte bVar2;\n  int iVar3;\n  undefined8 uVar4;\n  long lVar5;\n  undefined8 uVar6;\n  long lVar7;\n  byte bVar8;\n  byte *pbVar9;\n  byte *pbVar10;\n  uint uVar11;\n  undefined1 uVar12;\n  bool bVar13;\n  bool bVar14;\n  undefined1 uVar15;\n  bool bVar16;\n  byte bVar17;\n  byte *local_30;\n  \n  bVar17 = 0;\n  uVar4 = FUN_001394d0();\n  lVar5 = FUN_0012db90(uVar4);\n  bVar2 = *DAT_0019d9a0;\n  if (bVar2 == 0x2c) {\n    bVar2 = DAT_0019d9a0[1];\n    DAT_0019d9a0 = DAT_0019d9a0 + 1;\n  }\n  if (bVar2 == 0x20) {\n    bVar2 = DAT_0019d9a0[1];\n    DAT_0019d9a0 = DAT_0019d9a0 + 1;\n  }\n  if (((byte)(bVar2 - 0x22) < 0x1f) && ((0x4000000bUL >> ((ulong)(bVar2 - 0x22) & 0x3f) & 1) != 0))\n  {\n    DAT_0019d9a0 = DAT_0019d9a0 + 1;\n  }\n  local_30 = DAT_0019d9a0;\n  bVar2 = *DAT_0019d9a0 - 0x30;\n  uVar12 = bVar2 < 9;\n  uVar15 = bVar2 == 9;\n  if (bVar2 < 10) {\n    do {\n      DAT_0019d9a0 = DAT_0019d9a0 + 1;\n      bVar2 = *DAT_0019d9a0;\n      bVar8 = bVar2 - 0x30;\n      uVar12 = bVar8 < 9;\n      uVar15 = bVar8 == 9;\n    } while (bVar8 < 10);\n    *DAT_0019d9a0 = 0;\n  }\n  else {\n    bVar2 = FUN_00116b30(&local_30);\n  }\n  __s1 = local_30;\n  lVar7 = 9;\n  uVar11 = 8;\n  pbVar9 = local_30;\n  pbVar10 = (byte *)0x1464a7;\n  do {\n    if (lVar7 == 0) break;\n    lVar7 = lVar7 + -1;\n    uVar12 = *pbVar9 < *pbVar10;\n    uVar15 = *pbVar9 == *pbVar10;\n    pbVar9 = pbVar9 + (ulong)bVar17 * -2 + 1;\n    pbVar10 = pbVar10 + (ulong)bVar17 * -2 + 1;\n  } while ((bool)uVar15);\n  bVar13 = false;\n  bVar16 = (!(bool)uVar12 && !(bool)uVar15) == (bool)uVar12;\n  if (!bVar16) {\n    lVar7 = 2;\n    pbVar9 = local_30;\n    pbVar10 = (byte *)0x14246c;\n    do {\n      if (lVar7 == 0) break;\n      lVar7 = lVar7 + -1;\n      bVar13 = *pbVar9 < *pbVar10;\n      bVar16 = *pbVar9 == *pbVar10;\n      pbVar9 = pbVar9 + (ulong)bVar17 * -2 + 1;\n      pbVar10 = pbVar10 + (ulong)bVar17 * -2 + 1;\n    } while (bVar16);\n    bVar14 = false;\n    bVar13 = (!bVar13 && !bVar16) == bVar13;\n    if (!bVar13) {\n      lVar7 = 9;\n      pbVar9 = local_30;\n      pbVar10 = (byte *)"STT_FUNC";\n      do {\n        if (lVar7 == 0) break;\n        lVar7 = lVar7 + -1;\n        bVar14 = *pbVar9 < *pbVar10;\n        bVar13 = *pbVar9 == *pbVar10;\n        pbVar9 = pbVar9 + (ulong)bVar17 * -2 + 1;\n        pbVar10 = pbVar10 + (ulong)bVar17 * -2 + 1;\n      } while (bVar13);\n      bVar16 = false;\n      bVar13 = (!bVar14 && !bVar13) == bVar14;\n      if (!bVar13) {\n        lVar7 = 7;\n        pbVar9 = local_30;\n        pbVar10 = (byte *)0x1464c9;\n        do {\n          if (lVar7 == 0) break;\n          lVar7 = lVar7 + -1;\n          bVar16 = *pbVar9 < *pbVar10;\n          bVar13 = *pbVar9 == *pbVar10;\n          pbVar9 = pbVar9 + (ulong)bVar17 * -2 + 1;\n          pbVar10 = pbVar10 + (ulong)bVar17 * -2 + 1;\n        } while (bVar13);\n        bVar14 = false;\n        bVar13 = (!bVar16 && !bVar13) == bVar16;\n        if (!bVar13) {\n          lVar7 = 2;\n          pbVar9 = local_30;\n          pbVar10 = (byte *)0x13f34c;\n          do {\n            if (lVar7 == 0) break;\n            lVar7 = lVar7 + -1;\n            bVar14 = *pbVar9 < *pbVar10;\n            bVar13 = *pbVar9 == *pbVar10;\n            pbVar9 = pbVar9 + (ulong)bVar17 * -2 + 1;\n            pbVar10 = pbVar10 + (ulong)bVar17 * -2 + 1;\n          } while (bVar13);\n          bVar16 = false;\n          bVar13 = (!bVar14 && !bVar13) == bVar14;\n          if (!bVar13) {\n            lVar7 = 0xb;\n            pbVar9 = local_30;\n            pbVar10 = (byte *)"STT_OBJECT";\n            do {\n              if (lVar7 == 0) break;\n              lVar7 = lVar7 + -1;\n              bVar16 = *pbVar9 < *pbVar10;\n              bVar13 = *pbVar9 == *pbVar10;\n              pbVar9 = pbVar9 + (ulong)bVar17 * -2 + 1;\n              pbVar10 = pbVar10 + (ulong)bVar17 * -2 + 1;\n            } while (bVar13);\n            bVar14 = false;\n            bVar13 = (!bVar16 && !bVar13) == bVar16;\n            if (!bVar13) {\n              lVar7 = 0xb;\n              uVar11 = 0x50000;\n              pbVar9 = local_30;\n              pbVar10 = (byte *)"tls_object";\n              do {\n                if (lVar7 == 0) break;\n                lVar7 = lVar7 + -1;\n                bVar14 = *pbVar9 < *pbVar10;\n                bVar13 = *pbVar9 == *pbVar10;\n                pbVar9 = pbVar9 + (ulong)bVar17 * -2 + 1;\n                pbVar10 = pbVar10 + (ulong)bVar17 * -2 + 1;\n              } while (bVar13);\n              bVar16 = false;\n              bVar13 = (!bVar14 && !bVar13) == bVar14;\n              if (bVar13) goto LAB_00139961;\n              lVar7 = 2;\n              pbVar9 = local_30;\n              pbVar10 = &DAT_001448ab;\n              do {\n                if (lVar7 == 0) break;\n                lVar7 = lVar7 + -1;\n                bVar16 = *pbVar9 < *pbVar10;\n                bVar13 = *pbVar9 == *pbVar10;\n                pbVar9 = pbVar9 + (ulong)bVar17 * -2 + 1;\n                pbVar10 = pbVar10 + (ulong)bVar17 * -2 + 1;\n              } while (bVar13);\n              bVar14 = false;\n              bVar13 = (!bVar16 && !bVar13) == bVar16;\n              if (bVar13) goto LAB_00139961;\n              lVar7 = 8;\n              pbVar9 = local_30;\n              pbVar10 = (byte *)"STT_TLS";\n              do {\n                if (lVar7 == 0) break;\n                lVar7 = lVar7 + -1;\n                bVar14 = *pbVar9 < *pbVar10;\n                bVar13 = *pbVar9 == *pbVar10;\n                pbVar9 = pbVar9 + (ulong)bVar17 * -2 + 1;\n                pbVar10 = pbVar10 + (ulong)bVar17 * -2 + 1;\n              } while (bVar13);\n              bVar16 = false;\n              bVar13 = (!bVar14 && !bVar13) == bVar14;\n              if (bVar13) goto LAB_00139961;\n              lVar7 = 7;\n              pbVar9 = local_30;\n              pbVar10 = (byte *)"notype";\n              do {\n                if (lVar7 == 0) break;\n                lVar7 = lVar7 + -1;\n                bVar16 = *pbVar9 < *pbVar10;\n                bVar13 = *pbVar9 == *pbVar10;\n                pbVar9 = pbVar9 + (ulong)bVar17 * -2 + 1;\n                pbVar10 = pbVar10 + (ulong)bVar17 * -2 + 1;\n              } while (bVar13);\n              uVar11 = 0;\n              if ((((!bVar16 && !bVar13) == bVar16) ||\n                  (iVar3 = strcmp((char *)local_30,"0"), iVar3 == 0)) ||\n                 (iVar3 = strcmp((char *)__s1,"STT_NOTYPE"), iVar3 == 0)) goto LAB_00139961;\n              iVar3 = strcmp((char *)__s1,"common");\n              if (((iVar3 != 0) && (iVar3 = strcmp((char *)__s1,"5"), iVar3 != 0)) &&\n                 (iVar3 = strcmp((char *)__s1,"STT_COMMON"), iVar3 != 0)) {\n                iVar3 = strcmp((char *)__s1,"gnu_indirect_function");\n                if (((iVar3 == 0) || (iVar3 = strcmp((char *)__s1,"10"), iVar3 == 0)) ||\n                   (iVar3 = strcmp((char *)__s1,"STT_GNU_IFUNC"), iVar3 == 0)) {\n                  uVar1 = *(uint *)(*(long *)(*(long *)(DAT_0019d970 + 8) + 0x368) + 0xc);\n                  if ((9 < uVar1) ||\n                     (uVar11 = 0x400008, (0x209UL >> ((ulong)uVar1 & 0x3f) & 1) == 0)) {\n                    uVar11 = 0x400008;\n                    uVar4 = dcgettext(0,\n                                      "symbol type \"%s\" is supported only by GNU and FreeBSD targets"\n                                      ,5);\n                    FUN_0011f6d0(uVar4,__s1);\n                  }\n                }\n                else {\n                  iVar3 = strcmp((char *)__s1,"gnu_unique_object");\n                  if (iVar3 == 0) {\n                    lVar7 = *(long *)(*(long *)(DAT_0019d970 + 8) + 0x368);\n                    iVar3 = *(int *)(lVar7 + 0xc);\n                    if ((iVar3 != 3) && (iVar3 != 0)) {\n                      uVar4 = dcgettext(0,"symbol type \"%s\" is supported only by GNU targets",5);\n                      FUN_0011f6d0(uVar4,__s1);\n                    }\n                    *(undefined4 *)(lVar7 + 0xc) = 3;\n                    uVar11 = 0x810000;\n                  }\n                  else {\n                    uVar4 = dcgettext(0,"unrecognized symbol type \"%s\"",5);\n                    FUN_0011f6d0(uVar4,__s1);\n                  }\n                }\n                goto LAB_00139961;\n              }\n              iVar3 = FUN_0012ac00(uVar4);\n              if (iVar3 == 0) {\n                iVar3 = FUN_0012aed0(uVar4);\n                if (iVar3 != 0) {\n                  uVar11 = 0x10000;\n                  uVar4 = FUN_0012c530(uVar4,1);\n                  FUN_0012af90(uVar4,_bfd_std_section);\n                  FUN_0012aa50(uVar4,0);\n                  FUN_0012c440(uVar4);\n                  FUN_0012d650(uVar4,&DAT_0019d720);\n                  FUN_0012d370(uVar4);\n                  goto LAB_00139961;\n                }\n                iVar3 = FUN_0012ac30(uVar4);\n                if ((iVar3 != 0) || (iVar3 = FUN_0012da60(uVar4), iVar3 != 0)) {\n                  uVar11 = 0x10000;\n                  uVar4 = FUN_0012af30(uVar4);\n                  uVar6 = dcgettext(0,"symbol \'%s\' is already defined",5);\n                  FUN_0011f6d0(uVar6,uVar4);\n                  goto LAB_00139961;\n                }\n                FUN_0012af90(uVar4,_bfd_std_section);\n                FUN_0012aa50(uVar4,0);\n                FUN_0012c440(uVar4);\n              }\n            }\n          }\n        }\n        uVar11 = 0x10000;\n      }\n    }\n  }\nLAB_00139961:\n  *DAT_0019d9a0 = bVar2;\n  if (*DAT_0019d9a0 == 0x22) {\n    DAT_0019d9a0 = DAT_0019d9a0 + 1;\n  }\n  *(uint *)(lVar5 + 0x18) = *(uint *)(lVar5 + 0x18) | uVar11;\n  FUN_00121a20();\n  return;\n}\n\n" (function_definition "void FUN_00139890(void)\n\n{\n  uint uVar1;\n  byte *__s1;\n  byte bVar2;\n  int iVar3;\n  undefined8 uVar4;\n  long lVar5;\n  undefined8 uVar6;\n  long lVar7;\n  byte bVar8;\n  byte *pbVar9;\n  byte *pbVar10;\n  uint uVar11;\n  undefined1 uVar12;\n  bool bVar13;\n  bool bVar14;\n  undefined1 uVar15;\n  bool bVar16;\n  byte bVar17;\n  byte *local_30;\n  \n  bVar17 = 0;\n  uVar4 = FUN_001394d0();\n  lVar5 = FUN_0012db90(uVar4);\n  bVar2 = *DAT_0019d9a0;\n  if (bVar2 == 0x2c) {\n    bVar2 = DAT_0019d9a0[1];\n    DAT_0019d9a0 = DAT_0019d9a0 + 1;\n  }\n  if (bVar2 == 0x20) {\n    bVar2 = DAT_0019d9a0[1];\n    DAT_0019d9a0 = DAT_0019d9a0 + 1;\n  }\n  if (((byte)(bVar2 - 0x22) < 0x1f) && ((0x4000000bUL >> ((ulong)(bVar2 - 0x22) & 0x3f) & 1) != 0))\n  {\n    DAT_0019d9a0 = DAT_0019d9a0 + 1;\n  }\n  local_30 = DAT_0019d9a0;\n  bVar2 = *DAT_0019d9a0 - 0x30;\n  uVar12 = bVar2 < 9;\n  uVar15 = bVar2 == 9;\n  if (bVar2 < 10) {\n    do {\n      DAT_0019d9a0 = DAT_0019d9a0 + 1;\n      bVar2 = *DAT_0019d9a0;\n      bVar8 = bVar2 - 0x30;\n      uVar12 = bVar8 < 9;\n      uVar15 = bVar8 == 9;\n    } while (bVar8 < 10);\n    *DAT_0019d9a0 = 0;\n  }\n  else {\n    bVar2 = FUN_00116b30(&local_30);\n  }\n  __s1 = local_30;\n  lVar7 = 9;\n  uVar11 = 8;\n  pbVar9 = local_30;\n  pbVar10 = (byte *)0x1464a7;\n  do {\n    if (lVar7 == 0) break;\n    lVar7 = lVar7 + -1;\n    uVar12 = *pbVar9 < *pbVar10;\n    uVar15 = *pbVar9 == *pbVar10;\n    pbVar9 = pbVar9 + (ulong)bVar17 * -2 + 1;\n    pbVar10 = pbVar10 + (ulong)bVar17 * -2 + 1;\n  } while ((bool)uVar15);\n  bVar13 = false;\n  bVar16 = (!(bool)uVar12 && !(bool)uVar15) == (bool)uVar12;\n  if (!bVar16) {\n    lVar7 = 2;\n    pbVar9 = local_30;\n    pbVar10 = (byte *)0x14246c;\n    do {\n      if (lVar7 == 0) break;\n      lVar7 = lVar7 + -1;\n      bVar13 = *pbVar9 < *pbVar10;\n      bVar16 = *pbVar9 == *pbVar10;\n      pbVar9 = pbVar9 + (ulong)bVar17 * -2 + 1;\n      pbVar10 = pbVar10 + (ulong)bVar17 * -2 + 1;\n    } while (bVar16);\n    bVar14 = false;\n    bVar13 = (!bVar13 && !bVar16) == bVar13;\n    if (!bVar13) {\n      lVar7 = 9;\n      pbVar9 = local_30;\n      pbVar10 = (byte *)"STT_FUNC";\n      do {\n        if (lVar7 == 0) break;\n        lVar7 = lVar7 + -1;\n        bVar14 = *pbVar9 < *pbVar10;\n        bVar13 = *pbVar9 == *pbVar10;\n        pbVar9 = pbVar9 + (ulong)bVar17 * -2 + 1;\n        pbVar10 = pbVar10 + (ulong)bVar17 * -2 + 1;\n      } while (bVar13);\n      bVar16 = false;\n      bVar13 = (!bVar14 && !bVar13) == bVar14;\n      if (!bVar13) {\n        lVar7 = 7;\n        pbVar9 = local_30;\n        pbVar10 = (byte *)0x1464c9;\n        do {\n          if (lVar7 == 0) break;\n          lVar7 = lVar7 + -1;\n          bVar16 = *pbVar9 < *pbVar10;\n          bVar13 = *pbVar9 == *pbVar10;\n          pbVar9 = pbVar9 + (ulong)bVar17 * -2 + 1;\n          pbVar10 = pbVar10 + (ulong)bVar17 * -2 + 1;\n        } while (bVar13);\n        bVar14 = false;\n        bVar13 = (!bVar16 && !bVar13) == bVar16;\n        if (!bVar13) {\n          lVar7 = 2;\n          pbVar9 = local_30;\n          pbVar10 = (byte *)0x13f34c;\n          do {\n            if (lVar7 == 0) break;\n            lVar7 = lVar7 + -1;\n            bVar14 = *pbVar9 < *pbVar10;\n            bVar13 = *pbVar9 == *pbVar10;\n            pbVar9 = pbVar9 + (ulong)bVar17 * -2 + 1;\n            pbVar10 = pbVar10 + (ulong)bVar17 * -2 + 1;\n          } while (bVar13);\n          bVar16 = false;\n          bVar13 = (!bVar14 && !bVar13) == bVar14;\n          if (!bVar13) {\n            lVar7 = 0xb;\n            pbVar9 = local_30;\n            pbVar10 = (byte *)"STT_OBJECT";\n            do {\n              if (lVar7 == 0) break;\n              lVar7 = lVar7 + -1;\n              bVar16 = *pbVar9 < *pbVar10;\n              bVar13 = *pbVar9 == *pbVar10;\n              pbVar9 = pbVar9 + (ulong)bVar17 * -2 + 1;\n              pbVar10 = pbVar10 + (ulong)bVar17 * -2 + 1;\n            } while (bVar13);\n            bVar14 = false;\n            bVar13 = (!bVar16 && !bVar13) == bVar16;\n            if (!bVar13) {\n              lVar7 = 0xb;\n              uVar11 = 0x50000;\n              pbVar9 = local_30;\n              pbVar10 = (byte *)"tls_object";\n              do {\n                if (lVar7 == 0) break;\n                lVar7 = lVar7 + -1;\n                bVar14 = *pbVar9 < *pbVar10;\n                bVar13 = *pbVar9 == *pbVar10;\n                pbVar9 = pbVar9 + (ulong)bVar17 * -2 + 1;\n                pbVar10 = pbVar10 + (ulong)bVar17 * -2 + 1;\n              } while (bVar13);\n              bVar16 = false;\n              bVar13 = (!bVar14 && !bVar13) == bVar14;\n              if (bVar13) goto LAB_00139961;\n              lVar7 = 2;\n              pbVar9 = local_30;\n              pbVar10 = &DAT_001448ab;\n              do {\n                if (lVar7 == 0) break;\n                lVar7 = lVar7 + -1;\n                bVar16 = *pbVar9 < *pbVar10;\n                bVar13 = *pbVar9 == *pbVar10;\n                pbVar9 = pbVar9 + (ulong)bVar17 * -2 + 1;\n                pbVar10 = pbVar10 + (ulong)bVar17 * -2 + 1;\n              } while (bVar13);\n              bVar14 = false;\n              bVar13 = (!bVar16 && !bVar13) == bVar16;\n              if (bVar13) goto LAB_00139961;\n              lVar7 = 8;\n              pbVar9 = local_30;\n              pbVar10 = (byte *)"STT_TLS";\n              do {\n                if (lVar7 == 0) break;\n                lVar7 = lVar7 + -1;\n                bVar14 = *pbVar9 < *pbVar10;\n                bVar13 = *pbVar9 == *pbVar10;\n                pbVar9 = pbVar9 + (ulong)bVar17 * -2 + 1;\n                pbVar10 = pbVar10 + (ulong)bVar17 * -2 + 1;\n              } while (bVar13);\n              bVar16 = false;\n              bVar13 = (!bVar14 && !bVar13) == bVar14;\n              if (bVar13) goto LAB_00139961;\n              lVar7 = 7;\n              pbVar9 = local_30;\n              pbVar10 = (byte *)"notype";\n              do {\n                if (lVar7 == 0) break;\n                lVar7 = lVar7 + -1;\n                bVar16 = *pbVar9 < *pbVar10;\n                bVar13 = *pbVar9 == *pbVar10;\n                pbVar9 = pbVar9 + (ulong)bVar17 * -2 + 1;\n                pbVar10 = pbVar10 + (ulong)bVar17 * -2 + 1;\n              } while (bVar13);\n              uVar11 = 0;\n              if ((((!bVar16 && !bVar13) == bVar16) ||\n                  (iVar3 = strcmp((char *)local_30,"0"), iVar3 == 0)) ||\n                 (iVar3 = strcmp((char *)__s1,"STT_NOTYPE"), iVar3 == 0)) goto LAB_00139961;\n              iVar3 = strcmp((char *)__s1,"common");\n              if (((iVar3 != 0) && (iVar3 = strcmp((char *)__s1,"5"), iVar3 != 0)) &&\n                 (iVar3 = strcmp((char *)__s1,"STT_COMMON"), iVar3 != 0)) {\n                iVar3 = strcmp((char *)__s1,"gnu_indirect_function");\n                if (((iVar3 == 0) || (iVar3 = strcmp((char *)__s1,"10"), iVar3 == 0)) ||\n                   (iVar3 = strcmp((char *)__s1,"STT_GNU_IFUNC"), iVar3 == 0)) {\n                  uVar1 = *(uint *)(*(long *)(*(long *)(DAT_0019d970 + 8) + 0x368) + 0xc);\n                  if ((9 < uVar1) ||\n                     (uVar11 = 0x400008, (0x209UL >> ((ulong)uVar1 & 0x3f) & 1) == 0)) {\n                    uVar11 = 0x400008;\n                    uVar4 = dcgettext(0,\n                                      "symbol type \"%s\" is supported only by GNU and FreeBSD targets"\n                                      ,5);\n                    FUN_0011f6d0(uVar4,__s1);\n                  }\n                }\n                else {\n                  iVar3 = strcmp((char *)__s1,"gnu_unique_object");\n                  if (iVar3 == 0) {\n                    lVar7 = *(long *)(*(long *)(DAT_0019d970 + 8) + 0x368);\n                    iVar3 = *(int *)(lVar7 + 0xc);\n                    if ((iVar3 != 3) && (iVar3 != 0)) {\n                      uVar4 = dcgettext(0,"symbol type \"%s\" is supported only by GNU targets",5);\n                      FUN_0011f6d0(uVar4,__s1);\n                    }\n                    *(undefined4 *)(lVar7 + 0xc) = 3;\n                    uVar11 = 0x810000;\n                  }\n                  else {\n                    uVar4 = dcgettext(0,"unrecognized symbol type \"%s\"",5);\n                    FUN_0011f6d0(uVar4,__s1);\n                  }\n                }\n                goto LAB_00139961;\n              }\n              iVar3 = FUN_0012ac00(uVar4);\n              if (iVar3 == 0) {\n                iVar3 = FUN_0012aed0(uVar4);\n                if (iVar3 != 0) {\n                  uVar11 = 0x10000;\n                  uVar4 = FUN_0012c530(uVar4,1);\n                  FUN_0012af90(uVar4,_bfd_std_section);\n                  FUN_0012aa50(uVar4,0);\n                  FUN_0012c440(uVar4);\n                  FUN_0012d650(uVar4,&DAT_0019d720);\n                  FUN_0012d370(uVar4);\n                  goto LAB_00139961;\n                }\n                iVar3 = FUN_0012ac30(uVar4);\n                if ((iVar3 != 0) || (iVar3 = FUN_0012da60(uVar4), iVar3 != 0)) {\n                  uVar11 = 0x10000;\n                  uVar4 = FUN_0012af30(uVar4);\n                  uVar6 = dcgettext(0,"symbol \'%s\' is already defined",5);\n                  FUN_0011f6d0(uVar6,uVar4);\n                  goto LAB_00139961;\n                }\n                FUN_0012af90(uVar4,_bfd_std_section);\n                FUN_0012aa50(uVar4,0);\n                FUN_0012c440(uVar4);\n              }\n            }\n          }\n        }\n        uVar11 = 0x10000;\n      }\n    }\n  }\nLAB_00139961:\n  *DAT_0019d9a0 = bVar2;\n  if (*DAT_0019d9a0 == 0x22) {\n    DAT_0019d9a0 = DAT_0019d9a0 + 1;\n  }\n  *(uint *)(lVar5 + 0x18) = *(uint *)(lVar5 + 0x18) | uVar11;\n  FUN_00121a20();\n  return;\n}" primitive_type (function_declarator "FUN_00139890(void)" identifier (parameter_list "(void)" ( (parameter_declaration "void" primitive_type) ))) (compound_statement "{\n  uint uVar1;\n  byte *__s1;\n  byte bVar2;\n  int iVar3;\n  undefined8 uVar4;\n  long lVar5;\n  undefined8 uVar6;\n  long lVar7;\n  byte bVar8;\n  byte *pbVar9;\n  byte *pbVar10;\n  uint uVar11;\n  undefined1 uVar12;\n  bool bVar13;\n  bool bVar14;\n  undefined1 uVar15;\n  bool bVar16;\n  byte bVar17;\n  byte *local_30;\n  \n  bVar17 = 0;\n  uVar4 = FUN_001394d0();\n  lVar5 = FUN_0012db90(uVar4);\n  bVar2 = *DAT_0019d9a0;\n  if (bVar2 == 0x2c) {\n    bVar2 = DAT_0019d9a0[1];\n    DAT_0019d9a0 = DAT_0019d9a0 + 1;\n  }\n  if (bVar2 == 0x20) {\n    bVar2 = DAT_0019d9a0[1];\n    DAT_0019d9a0 = DAT_0019d9a0 + 1;\n  }\n  if (((byte)(bVar2 - 0x22) < 0x1f) && ((0x4000000bUL >> ((ulong)(bVar2 - 0x22) & 0x3f) & 1) != 0))\n  {\n    DAT_0019d9a0 = DAT_0019d9a0 + 1;\n  }\n  local_30 = DAT_0019d9a0;\n  bVar2 = *DAT_0019d9a0 - 0x30;\n  uVar12 = bVar2 < 9;\n  uVar15 = bVar2 == 9;\n  if (bVar2 < 10) {\n    do {\n      DAT_0019d9a0 = DAT_0019d9a0 + 1;\n      bVar2 = *DAT_0019d9a0;\n      bVar8 = bVar2 - 0x30;\n      uVar12 = bVar8 < 9;\n      uVar15 = bVar8 == 9;\n    } while (bVar8 < 10);\n    *DAT_0019d9a0 = 0;\n  }\n  else {\n    bVar2 = FUN_00116b30(&local_30);\n  }\n  __s1 = local_30;\n  lVar7 = 9;\n  uVar11 = 8;\n  pbVar9 = local_30;\n  pbVar10 = (byte *)0x1464a7;\n  do {\n    if (lVar7 == 0) break;\n    lVar7 = lVar7 + -1;\n    uVar12 = *pbVar9 < *pbVar10;\n    uVar15 = *pbVar9 == *pbVar10;\n    pbVar9 = pbVar9 + (ulong)bVar17 * -2 + 1;\n    pbVar10 = pbVar10 + (ulong)bVar17 * -2 + 1;\n  } while ((bool)uVar15);\n  bVar13 = false;\n  bVar16 = (!(bool)uVar12 && !(bool)uVar15) == (bool)uVar12;\n  if (!bVar16) {\n    lVar7 = 2;\n    pbVar9 = local_30;\n    pbVar10 = (byte *)0x14246c;\n    do {\n      if (lVar7 == 0) break;\n      lVar7 = lVar7 + -1;\n      bVar13 = *pbVar9 < *pbVar10;\n      bVar16 = *pbVar9 == *pbVar10;\n      pbVar9 = pbVar9 + (ulong)bVar17 * -2 + 1;\n      pbVar10 = pbVar10 + (ulong)bVar17 * -2 + 1;\n    } while (bVar16);\n    bVar14 = false;\n    bVar13 = (!bVar13 && !bVar16) == bVar13;\n    if (!bVar13) {\n      lVar7 = 9;\n      pbVar9 = local_30;\n      pbVar10 = (byte *)"STT_FUNC";\n      do {\n        if (lVar7 == 0) break;\n        lVar7 = lVar7 + -1;\n        bVar14 = *pbVar9 < *pbVar10;\n        bVar13 = *pbVar9 == *pbVar10;\n        pbVar9 = pbVar9 + (ulong)bVar17 * -2 + 1;\n        pbVar10 = pbVar10 + (ulong)bVar17 * -2 + 1;\n      } while (bVar13);\n      bVar16 = false;\n      bVar13 = (!bVar14 && !bVar13) == bVar14;\n      if (!bVar13) {\n        lVar7 = 7;\n        pbVar9 = local_30;\n        pbVar10 = (byte *)0x1464c9;\n        do {\n          if (lVar7 == 0) break;\n          lVar7 = lVar7 + -1;\n          bVar16 = *pbVar9 < *pbVar10;\n          bVar13 = *pbVar9 == *pbVar10;\n          pbVar9 = pbVar9 + (ulong)bVar17 * -2 + 1;\n          pbVar10 = pbVar10 + (ulong)bVar17 * -2 + 1;\n        } while (bVar13);\n        bVar14 = false;\n        bVar13 = (!bVar16 && !bVar13) == bVar16;\n        if (!bVar13) {\n          lVar7 = 2;\n          pbVar9 = local_30;\n          pbVar10 = (byte *)0x13f34c;\n          do {\n            if (lVar7 == 0) break;\n            lVar7 = lVar7 + -1;\n            bVar14 = *pbVar9 < *pbVar10;\n            bVar13 = *pbVar9 == *pbVar10;\n            pbVar9 = pbVar9 + (ulong)bVar17 * -2 + 1;\n            pbVar10 = pbVar10 + (ulong)bVar17 * -2 + 1;\n          } while (bVar13);\n          bVar16 = false;\n          bVar13 = (!bVar14 && !bVar13) == bVar14;\n          if (!bVar13) {\n            lVar7 = 0xb;\n            pbVar9 = local_30;\n            pbVar10 = (byte *)"STT_OBJECT";\n            do {\n              if (lVar7 == 0) break;\n              lVar7 = lVar7 + -1;\n              bVar16 = *pbVar9 < *pbVar10;\n              bVar13 = *pbVar9 == *pbVar10;\n              pbVar9 = pbVar9 + (ulong)bVar17 * -2 + 1;\n              pbVar10 = pbVar10 + (ulong)bVar17 * -2 + 1;\n            } while (bVar13);\n            bVar14 = false;\n            bVar13 = (!bVar16 && !bVar13) == bVar16;\n            if (!bVar13) {\n              lVar7 = 0xb;\n              uVar11 = 0x50000;\n              pbVar9 = local_30;\n              pbVar10 = (byte *)"tls_object";\n              do {\n                if (lVar7 == 0) break;\n                lVar7 = lVar7 + -1;\n                bVar14 = *pbVar9 < *pbVar10;\n                bVar13 = *pbVar9 == *pbVar10;\n                pbVar9 = pbVar9 + (ulong)bVar17 * -2 + 1;\n                pbVar10 = pbVar10 + (ulong)bVar17 * -2 + 1;\n              } while (bVar13);\n              bVar16 = false;\n              bVar13 = (!bVar14 && !bVar13) == bVar14;\n              if (bVar13) goto LAB_00139961;\n              lVar7 = 2;\n              pbVar9 = local_30;\n              pbVar10 = &DAT_001448ab;\n              do {\n                if (lVar7 == 0) break;\n                lVar7 = lVar7 + -1;\n                bVar16 = *pbVar9 < *pbVar10;\n                bVar13 = *pbVar9 == *pbVar10;\n                pbVar9 = pbVar9 + (ulong)bVar17 * -2 + 1;\n                pbVar10 = pbVar10 + (ulong)bVar17 * -2 + 1;\n              } while (bVar13);\n              bVar14 = false;\n              bVar13 = (!bVar16 && !bVar13) == bVar16;\n              if (bVar13) goto LAB_00139961;\n              lVar7 = 8;\n              pbVar9 = local_30;\n              pbVar10 = (byte *)"STT_TLS";\n              do {\n                if (lVar7 == 0) break;\n                lVar7 = lVar7 + -1;\n                bVar14 = *pbVar9 < *pbVar10;\n                bVar13 = *pbVar9 == *pbVar10;\n                pbVar9 = pbVar9 + (ulong)bVar17 * -2 + 1;\n                pbVar10 = pbVar10 + (ulong)bVar17 * -2 + 1;\n              } while (bVar13);\n              bVar16 = false;\n              bVar13 = (!bVar14 && !bVar13) == bVar14;\n              if (bVar13) goto LAB_00139961;\n              lVar7 = 7;\n              pbVar9 = local_30;\n              pbVar10 = (byte *)"notype";\n              do {\n                if (lVar7 == 0) break;\n                lVar7 = lVar7 + -1;\n                bVar16 = *pbVar9 < *pbVar10;\n                bVar13 = *pbVar9 == *pbVar10;\n                pbVar9 = pbVar9 + (ulong)bVar17 * -2 + 1;\n                pbVar10 = pbVar10 + (ulong)bVar17 * -2 + 1;\n              } while (bVar13);\n              uVar11 = 0;\n              if ((((!bVar16 && !bVar13) == bVar16) ||\n                  (iVar3 = strcmp((char *)local_30,"0"), iVar3 == 0)) ||\n                 (iVar3 = strcmp((char *)__s1,"STT_NOTYPE"), iVar3 == 0)) goto LAB_00139961;\n              iVar3 = strcmp((char *)__s1,"common");\n              if (((iVar3 != 0) && (iVar3 = strcmp((char *)__s1,"5"), iVar3 != 0)) &&\n                 (iVar3 = strcmp((char *)__s1,"STT_COMMON"), iVar3 != 0)) {\n                iVar3 = strcmp((char *)__s1,"gnu_indirect_function");\n                if (((iVar3 == 0) || (iVar3 = strcmp((char *)__s1,"10"), iVar3 == 0)) ||\n                   (iVar3 = strcmp((char *)__s1,"STT_GNU_IFUNC"), iVar3 == 0)) {\n                  uVar1 = *(uint *)(*(long *)(*(long *)(DAT_0019d970 + 8) + 0x368) + 0xc);\n                  if ((9 < uVar1) ||\n                     (uVar11 = 0x400008, (0x209UL >> ((ulong)uVar1 & 0x3f) & 1) == 0)) {\n                    uVar11 = 0x400008;\n                    uVar4 = dcgettext(0,\n                                      "symbol type \"%s\" is supported only by GNU and FreeBSD targets"\n                                      ,5);\n                    FUN_0011f6d0(uVar4,__s1);\n                  }\n                }\n                else {\n                  iVar3 = strcmp((char *)__s1,"gnu_unique_object");\n                  if (iVar3 == 0) {\n                    lVar7 = *(long *)(*(long *)(DAT_0019d970 + 8) + 0x368);\n                    iVar3 = *(int *)(lVar7 + 0xc);\n                    if ((iVar3 != 3) && (iVar3 != 0)) {\n                      uVar4 = dcgettext(0,"symbol type \"%s\" is supported only by GNU targets",5);\n                      FUN_0011f6d0(uVar4,__s1);\n                    }\n                    *(undefined4 *)(lVar7 + 0xc) = 3;\n                    uVar11 = 0x810000;\n                  }\n                  else {\n                    uVar4 = dcgettext(0,"unrecognized symbol type \"%s\"",5);\n                    FUN_0011f6d0(uVar4,__s1);\n                  }\n                }\n                goto LAB_00139961;\n              }\n              iVar3 = FUN_0012ac00(uVar4);\n              if (iVar3 == 0) {\n                iVar3 = FUN_0012aed0(uVar4);\n                if (iVar3 != 0) {\n                  uVar11 = 0x10000;\n                  uVar4 = FUN_0012c530(uVar4,1);\n                  FUN_0012af90(uVar4,_bfd_std_section);\n                  FUN_0012aa50(uVar4,0);\n                  FUN_0012c440(uVar4);\n                  FUN_0012d650(uVar4,&DAT_0019d720);\n                  FUN_0012d370(uVar4);\n                  goto LAB_00139961;\n                }\n                iVar3 = FUN_0012ac30(uVar4);\n                if ((iVar3 != 0) || (iVar3 = FUN_0012da60(uVar4), iVar3 != 0)) {\n                  uVar11 = 0x10000;\n                  uVar4 = FUN_0012af30(uVar4);\n                  uVar6 = dcgettext(0,"symbol \'%s\' is already defined",5);\n                  FUN_0011f6d0(uVar6,uVar4);\n                  goto LAB_00139961;\n                }\n                FUN_0012af90(uVar4,_bfd_std_section);\n                FUN_0012aa50(uVar4,0);\n                FUN_0012c440(uVar4);\n              }\n            }\n          }\n        }\n        uVar11 = 0x10000;\n      }\n    }\n  }\nLAB_00139961:\n  *DAT_0019d9a0 = bVar2;\n  if (*DAT_0019d9a0 == 0x22) {\n    DAT_0019d9a0 = DAT_0019d9a0 + 1;\n  }\n  *(uint *)(lVar5 + 0x18) = *(uint *)(lVar5 + 0x18) | uVar11;\n  FUN_00121a20();\n  return;\n}" { (declaration "uint uVar1;" type_identifier identifier ;) (declaration "byte *__s1;" type_identifier (pointer_declarator "*__s1" * identifier) ;) (declaration "byte bVar2;" type_identifier identifier ;) (declaration "int iVar3;" primitive_type identifier ;) (declaration "undefined8 uVar4;" type_identifier identifier ;) (declaration "long lVar5;" (sized_type_specifier "long" long) identifier ;) (declaration "undefined8 uVar6;" type_identifier identifier ;) (declaration "long lVar7;" (sized_type_specifier "long" long) identifier ;) (declaration "byte bVar8;" type_identifier identifier ;) (declaration "byte *pbVar9;" type_identifier (pointer_declarator "*pbVar9" * identifier) ;) (declaration "byte *pbVar10;" type_identifier (pointer_declarator "*pbVar10" * identifier) ;) (declaration "uint uVar11;" type_identifier identifier ;) (declaration "undefined1 uVar12;" type_identifier identifier ;) (declaration "bool bVar13;" primitive_type identifier ;) (declaration "bool bVar14;" primitive_type identifier ;) (declaration "undefined1 uVar15;" type_identifier identifier ;) (declaration "bool bVar16;" primitive_type identifier ;) (declaration "byte bVar17;" type_identifier identifier ;) (declaration "byte *local_30;" type_identifier (pointer_declarator "*local_30" * identifier) ;) (expression_statement "bVar17 = 0;" (assignment_expression "bVar17 = 0" identifier = number_literal) ;) (expression_statement "uVar4 = FUN_001394d0();" (assignment_expression "uVar4 = FUN_001394d0()" identifier = (call_expression "FUN_001394d0()" identifier (argument_list "()" ( )))) ;) (expression_statement "lVar5 = FUN_0012db90(uVar4);" (assignment_expression "lVar5 = FUN_0012db90(uVar4)" identifier = (call_expression "FUN_0012db90(uVar4)" identifier (argument_list "(uVar4)" ( identifier )))) ;) (expression_statement "bVar2 = *DAT_0019d9a0;" (assignment_expression "bVar2 = *DAT_0019d9a0" identifier = (pointer_expression "*DAT_0019d9a0" * identifier)) ;) (if_statement "if (bVar2 == 0x2c) {\n    bVar2 = DAT_0019d9a0[1];\n    DAT_0019d9a0 = DAT_0019d9a0 + 1;\n  }" if (parenthesized_expression "(bVar2 == 0x2c)" ( (binary_expression "bVar2 == 0x2c" identifier == number_literal) )) (compound_statement "{\n    bVar2 = DAT_0019d9a0[1];\n    DAT_0019d9a0 = DAT_0019d9a0 + 1;\n  }" { (expression_statement "bVar2 = DAT_0019d9a0[1];" (assignment_expression "bVar2 = DAT_0019d9a0[1]" identifier = (subscript_expression "DAT_0019d9a0[1]" identifier [ number_literal ])) ;) (expression_statement "DAT_0019d9a0 = DAT_0019d9a0 + 1;" (assignment_expression "DAT_0019d9a0 = DAT_0019d9a0 + 1" identifier = (binary_expression "DAT_0019d9a0 + 1" identifier + number_literal)) ;) })) (if_statement "if (bVar2 == 0x20) {\n    bVar2 = DAT_0019d9a0[1];\n    DAT_0019d9a0 = DAT_0019d9a0 + 1;\n  }" if (parenthesized_expression "(bVar2 == 0x20)" ( (binary_expression "bVar2 == 0x20" identifier == number_literal) )) (compound_statement "{\n    bVar2 = DAT_0019d9a0[1];\n    DAT_0019d9a0 = DAT_0019d9a0 + 1;\n  }" { (expression_statement "bVar2 = DAT_0019d9a0[1];" (assignment_expression "bVar2 = DAT_0019d9a0[1]" identifier = (subscript_expression "DAT_0019d9a0[1]" identifier [ number_literal ])) ;) (expression_statement "DAT_0019d9a0 = DAT_0019d9a0 + 1;" (assignment_expression "DAT_0019d9a0 = DAT_0019d9a0 + 1" identifier = (binary_expression "DAT_0019d9a0 + 1" identifier + number_literal)) ;) })) (if_statement "if (((byte)(bVar2 - 0x22) < 0x1f) && ((0x4000000bUL >> ((ulong)(bVar2 - 0x22) & 0x3f) & 1) != 0))\n  {\n    DAT_0019d9a0 = DAT_0019d9a0 + 1;\n  }" if (parenthesized_expression "(((byte)(bVar2 - 0x22) < 0x1f) && ((0x4000000bUL >> ((ulong)(bVar2 - 0x22) & 0x3f) & 1) != 0))" ( (binary_expression "((byte)(bVar2 - 0x22) < 0x1f) && ((0x4000000bUL >> ((ulong)(bVar2 - 0x22) & 0x3f) & 1) != 0)" (parenthesized_expression "((byte)(bVar2 - 0x22) < 0x1f)" ( (binary_expression "(byte)(bVar2 - 0x22) < 0x1f" (call_expression "(byte)(bVar2 - 0x22)" (parenthesized_expression "(byte)" ( identifier )) (argument_list "(bVar2 - 0x22)" ( (binary_expression "bVar2 - 0x22" identifier - number_literal) ))) < number_literal) )) && (parenthesized_expression "((0x4000000bUL >> ((ulong)(bVar2 - 0x22) & 0x3f) & 1) != 0)" ( (binary_expression "(0x4000000bUL >> ((ulong)(bVar2 - 0x22) & 0x3f) & 1) != 0" (parenthesized_expression "(0x4000000bUL >> ((ulong)(bVar2 - 0x22) & 0x3f) & 1)" ( (binary_expression "0x4000000bUL >> ((ulong)(bVar2 - 0x22) & 0x3f) & 1" (binary_expression "0x4000000bUL >> ((ulong)(bVar2 - 0x22) & 0x3f)" number_literal >> (parenthesized_expression "((ulong)(bVar2 - 0x22) & 0x3f)" ( (binary_expression "(ulong)(bVar2 - 0x22) & 0x3f" (call_expression "(ulong)(bVar2 - 0x22)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(bVar2 - 0x22)" ( (binary_expression "bVar2 - 0x22" identifier - number_literal) ))) & number_literal) ))) & number_literal) )) != number_literal) ))) )) (compound_statement "{\n    DAT_0019d9a0 = DAT_0019d9a0 + 1;\n  }" { (expression_statement "DAT_0019d9a0 = DAT_0019d9a0 + 1;" (assignment_expression "DAT_0019d9a0 = DAT_0019d9a0 + 1" identifier = (binary_expression "DAT_0019d9a0 + 1" identifier + number_literal)) ;) })) (expression_statement "local_30 = DAT_0019d9a0;" (assignment_expression "local_30 = DAT_0019d9a0" identifier = identifier) ;) (expression_statement "bVar2 = *DAT_0019d9a0 - 0x30;" (assignment_expression "bVar2 = *DAT_0019d9a0 - 0x30" identifier = (binary_expression "*DAT_0019d9a0 - 0x30" (pointer_expression "*DAT_0019d9a0" * identifier) - number_literal)) ;) (expression_statement "uVar12 = bVar2 < 9;" (assignment_expression "uVar12 = bVar2 < 9" identifier = (binary_expression "bVar2 < 9" identifier < number_literal)) ;) (expression_statement "uVar15 = bVar2 == 9;" (assignment_expression "uVar15 = bVar2 == 9" identifier = (binary_expression "bVar2 == 9" identifier == number_literal)) ;) (if_statement "if (bVar2 < 10) {\n    do {\n      DAT_0019d9a0 = DAT_0019d9a0 + 1;\n      bVar2 = *DAT_0019d9a0;\n      bVar8 = bVar2 - 0x30;\n      uVar12 = bVar8 < 9;\n      uVar15 = bVar8 == 9;\n    } while (bVar8 < 10);\n    *DAT_0019d9a0 = 0;\n  }\n  else {\n    bVar2 = FUN_00116b30(&local_30);\n  }" if (parenthesized_expression "(bVar2 < 10)" ( (binary_expression "bVar2 < 10" identifier < number_literal) )) (compound_statement "{\n    do {\n      DAT_0019d9a0 = DAT_0019d9a0 + 1;\n      bVar2 = *DAT_0019d9a0;\n      bVar8 = bVar2 - 0x30;\n      uVar12 = bVar8 < 9;\n      uVar15 = bVar8 == 9;\n    } while (bVar8 < 10);\n    *DAT_0019d9a0 = 0;\n  }" { (do_statement "do {\n      DAT_0019d9a0 = DAT_0019d9a0 + 1;\n      bVar2 = *DAT_0019d9a0;\n      bVar8 = bVar2 - 0x30;\n      uVar12 = bVar8 < 9;\n      uVar15 = bVar8 == 9;\n    } while (bVar8 < 10);" do (compound_statement "{\n      DAT_0019d9a0 = DAT_0019d9a0 + 1;\n      bVar2 = *DAT_0019d9a0;\n      bVar8 = bVar2 - 0x30;\n      uVar12 = bVar8 < 9;\n      uVar15 = bVar8 == 9;\n    }" { (expression_statement "DAT_0019d9a0 = DAT_0019d9a0 + 1;" (assignment_expression "DAT_0019d9a0 = DAT_0019d9a0 + 1" identifier = (binary_expression "DAT_0019d9a0 + 1" identifier + number_literal)) ;) (expression_statement "bVar2 = *DAT_0019d9a0;" (assignment_expression "bVar2 = *DAT_0019d9a0" identifier = (pointer_expression "*DAT_0019d9a0" * identifier)) ;) (expression_statement "bVar8 = bVar2 - 0x30;" (assignment_expression "bVar8 = bVar2 - 0x30" identifier = (binary_expression "bVar2 - 0x30" identifier - number_literal)) ;) (expression_statement "uVar12 = bVar8 < 9;" (assignment_expression "uVar12 = bVar8 < 9" identifier = (binary_expression "bVar8 < 9" identifier < number_literal)) ;) (expression_statement "uVar15 = bVar8 == 9;" (assignment_expression "uVar15 = bVar8 == 9" identifier = (binary_expression "bVar8 == 9" identifier == number_literal)) ;) }) while (parenthesized_expression "(bVar8 < 10)" ( (binary_expression "bVar8 < 10" identifier < number_literal) )) ;) (expression_statement "*DAT_0019d9a0 = 0;" (assignment_expression "*DAT_0019d9a0 = 0" (pointer_expression "*DAT_0019d9a0" * identifier) = number_literal) ;) }) (else_clause "else {\n    bVar2 = FUN_00116b30(&local_30);\n  }" else (compound_statement "{\n    bVar2 = FUN_00116b30(&local_30);\n  }" { (expression_statement "bVar2 = FUN_00116b30(&local_30);" (assignment_expression "bVar2 = FUN_00116b30(&local_30)" identifier = (call_expression "FUN_00116b30(&local_30)" identifier (argument_list "(&local_30)" ( (pointer_expression "&local_30" & identifier) )))) ;) }))) (expression_statement "__s1 = local_30;" (assignment_expression "__s1 = local_30" identifier = identifier) ;) (expression_statement "lVar7 = 9;" (assignment_expression "lVar7 = 9" identifier = number_literal) ;) (expression_statement "uVar11 = 8;" (assignment_expression "uVar11 = 8" identifier = number_literal) ;) (expression_statement "pbVar9 = local_30;" (assignment_expression "pbVar9 = local_30" identifier = identifier) ;) (expression_statement "pbVar10 = (byte *)0x1464a7;" (assignment_expression "pbVar10 = (byte *)0x1464a7" identifier = (cast_expression "(byte *)0x1464a7" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (do_statement "do {\n    if (lVar7 == 0) break;\n    lVar7 = lVar7 + -1;\n    uVar12 = *pbVar9 < *pbVar10;\n    uVar15 = *pbVar9 == *pbVar10;\n    pbVar9 = pbVar9 + (ulong)bVar17 * -2 + 1;\n    pbVar10 = pbVar10 + (ulong)bVar17 * -2 + 1;\n  } while ((bool)uVar15);" do (compound_statement "{\n    if (lVar7 == 0) break;\n    lVar7 = lVar7 + -1;\n    uVar12 = *pbVar9 < *pbVar10;\n    uVar15 = *pbVar9 == *pbVar10;\n    pbVar9 = pbVar9 + (ulong)bVar17 * -2 + 1;\n    pbVar10 = pbVar10 + (ulong)bVar17 * -2 + 1;\n  }" { (if_statement "if (lVar7 == 0) break;" if (parenthesized_expression "(lVar7 == 0)" ( (binary_expression "lVar7 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "lVar7 = lVar7 + -1;" (assignment_expression "lVar7 = lVar7 + -1" identifier = (binary_expression "lVar7 + -1" identifier + number_literal)) ;) (expression_statement "uVar12 = *pbVar9 < *pbVar10;" (assignment_expression "uVar12 = *pbVar9 < *pbVar10" identifier = (binary_expression "*pbVar9 < *pbVar10" (pointer_expression "*pbVar9" * identifier) < (pointer_expression "*pbVar10" * identifier))) ;) (expression_statement "uVar15 = *pbVar9 == *pbVar10;" (assignment_expression "uVar15 = *pbVar9 == *pbVar10" identifier = (binary_expression "*pbVar9 == *pbVar10" (pointer_expression "*pbVar9" * identifier) == (pointer_expression "*pbVar10" * identifier))) ;) (expression_statement "pbVar9 = pbVar9 + (ulong)bVar17 * -2 + 1;" (assignment_expression "pbVar9 = pbVar9 + (ulong)bVar17 * -2 + 1" identifier = (binary_expression "pbVar9 + (ulong)bVar17 * -2 + 1" (binary_expression "pbVar9 + (ulong)bVar17 * -2" identifier + (binary_expression "(ulong)bVar17 * -2" (cast_expression "(ulong)bVar17" ( (type_descriptor "ulong" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) (expression_statement "pbVar10 = pbVar10 + (ulong)bVar17 * -2 + 1;" (assignment_expression "pbVar10 = pbVar10 + (ulong)bVar17 * -2 + 1" identifier = (binary_expression "pbVar10 + (ulong)bVar17 * -2 + 1" (binary_expression "pbVar10 + (ulong)bVar17 * -2" identifier + (binary_expression "(ulong)bVar17 * -2" (cast_expression "(ulong)bVar17" ( (type_descriptor "ulong" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) }) while (parenthesized_expression "((bool)uVar15)" ( (cast_expression "(bool)uVar15" ( (type_descriptor "bool" primitive_type) ) identifier) )) ;) (expression_statement "bVar13 = false;" (assignment_expression "bVar13 = false" identifier = false) ;) (expression_statement "bVar16 = (!(bool)uVar12 && !(bool)uVar15) == (bool)uVar12;" (assignment_expression "bVar16 = (!(bool)uVar12 && !(bool)uVar15) == (bool)uVar12" identifier = (binary_expression "(!(bool)uVar12 && !(bool)uVar15) == (bool)uVar12" (parenthesized_expression "(!(bool)uVar12 && !(bool)uVar15)" ( (binary_expression "!(bool)uVar12 && !(bool)uVar15" (unary_expression "!(bool)uVar12" ! (cast_expression "(bool)uVar12" ( (type_descriptor "bool" primitive_type) ) identifier)) && (unary_expression "!(bool)uVar15" ! (cast_expression "(bool)uVar15" ( (type_descriptor "bool" primitive_type) ) identifier))) )) == (cast_expression "(bool)uVar12" ( (type_descriptor "bool" primitive_type) ) identifier))) ;) (if_statement "if (!bVar16) {\n    lVar7 = 2;\n    pbVar9 = local_30;\n    pbVar10 = (byte *)0x14246c;\n    do {\n      if (lVar7 == 0) break;\n      lVar7 = lVar7 + -1;\n      bVar13 = *pbVar9 < *pbVar10;\n      bVar16 = *pbVar9 == *pbVar10;\n      pbVar9 = pbVar9 + (ulong)bVar17 * -2 + 1;\n      pbVar10 = pbVar10 + (ulong)bVar17 * -2 + 1;\n    } while (bVar16);\n    bVar14 = false;\n    bVar13 = (!bVar13 && !bVar16) == bVar13;\n    if (!bVar13) {\n      lVar7 = 9;\n      pbVar9 = local_30;\n      pbVar10 = (byte *)"STT_FUNC";\n      do {\n        if (lVar7 == 0) break;\n        lVar7 = lVar7 + -1;\n        bVar14 = *pbVar9 < *pbVar10;\n        bVar13 = *pbVar9 == *pbVar10;\n        pbVar9 = pbVar9 + (ulong)bVar17 * -2 + 1;\n        pbVar10 = pbVar10 + (ulong)bVar17 * -2 + 1;\n      } while (bVar13);\n      bVar16 = false;\n      bVar13 = (!bVar14 && !bVar13) == bVar14;\n      if (!bVar13) {\n        lVar7 = 7;\n        pbVar9 = local_30;\n        pbVar10 = (byte *)0x1464c9;\n        do {\n          if (lVar7 == 0) break;\n          lVar7 = lVar7 + -1;\n          bVar16 = *pbVar9 < *pbVar10;\n          bVar13 = *pbVar9 == *pbVar10;\n          pbVar9 = pbVar9 + (ulong)bVar17 * -2 + 1;\n          pbVar10 = pbVar10 + (ulong)bVar17 * -2 + 1;\n        } while (bVar13);\n        bVar14 = false;\n        bVar13 = (!bVar16 && !bVar13) == bVar16;\n        if (!bVar13) {\n          lVar7 = 2;\n          pbVar9 = local_30;\n          pbVar10 = (byte *)0x13f34c;\n          do {\n            if (lVar7 == 0) break;\n            lVar7 = lVar7 + -1;\n            bVar14 = *pbVar9 < *pbVar10;\n            bVar13 = *pbVar9 == *pbVar10;\n            pbVar9 = pbVar9 + (ulong)bVar17 * -2 + 1;\n            pbVar10 = pbVar10 + (ulong)bVar17 * -2 + 1;\n          } while (bVar13);\n          bVar16 = false;\n          bVar13 = (!bVar14 && !bVar13) == bVar14;\n          if (!bVar13) {\n            lVar7 = 0xb;\n            pbVar9 = local_30;\n            pbVar10 = (byte *)"STT_OBJECT";\n            do {\n              if (lVar7 == 0) break;\n              lVar7 = lVar7 + -1;\n              bVar16 = *pbVar9 < *pbVar10;\n              bVar13 = *pbVar9 == *pbVar10;\n              pbVar9 = pbVar9 + (ulong)bVar17 * -2 + 1;\n              pbVar10 = pbVar10 + (ulong)bVar17 * -2 + 1;\n            } while (bVar13);\n            bVar14 = false;\n            bVar13 = (!bVar16 && !bVar13) == bVar16;\n            if (!bVar13) {\n              lVar7 = 0xb;\n              uVar11 = 0x50000;\n              pbVar9 = local_30;\n              pbVar10 = (byte *)"tls_object";\n              do {\n                if (lVar7 == 0) break;\n                lVar7 = lVar7 + -1;\n                bVar14 = *pbVar9 < *pbVar10;\n                bVar13 = *pbVar9 == *pbVar10;\n                pbVar9 = pbVar9 + (ulong)bVar17 * -2 + 1;\n                pbVar10 = pbVar10 + (ulong)bVar17 * -2 + 1;\n              } while (bVar13);\n              bVar16 = false;\n              bVar13 = (!bVar14 && !bVar13) == bVar14;\n              if (bVar13) goto LAB_00139961;\n              lVar7 = 2;\n              pbVar9 = local_30;\n              pbVar10 = &DAT_001448ab;\n              do {\n                if (lVar7 == 0) break;\n                lVar7 = lVar7 + -1;\n                bVar16 = *pbVar9 < *pbVar10;\n                bVar13 = *pbVar9 == *pbVar10;\n                pbVar9 = pbVar9 + (ulong)bVar17 * -2 + 1;\n                pbVar10 = pbVar10 + (ulong)bVar17 * -2 + 1;\n              } while (bVar13);\n              bVar14 = false;\n              bVar13 = (!bVar16 && !bVar13) == bVar16;\n              if (bVar13) goto LAB_00139961;\n              lVar7 = 8;\n              pbVar9 = local_30;\n              pbVar10 = (byte *)"STT_TLS";\n              do {\n                if (lVar7 == 0) break;\n                lVar7 = lVar7 + -1;\n                bVar14 = *pbVar9 < *pbVar10;\n                bVar13 = *pbVar9 == *pbVar10;\n                pbVar9 = pbVar9 + (ulong)bVar17 * -2 + 1;\n                pbVar10 = pbVar10 + (ulong)bVar17 * -2 + 1;\n              } while (bVar13);\n              bVar16 = false;\n              bVar13 = (!bVar14 && !bVar13) == bVar14;\n              if (bVar13) goto LAB_00139961;\n              lVar7 = 7;\n              pbVar9 = local_30;\n              pbVar10 = (byte *)"notype";\n              do {\n                if (lVar7 == 0) break;\n                lVar7 = lVar7 + -1;\n                bVar16 = *pbVar9 < *pbVar10;\n                bVar13 = *pbVar9 == *pbVar10;\n                pbVar9 = pbVar9 + (ulong)bVar17 * -2 + 1;\n                pbVar10 = pbVar10 + (ulong)bVar17 * -2 + 1;\n              } while (bVar13);\n              uVar11 = 0;\n              if ((((!bVar16 && !bVar13) == bVar16) ||\n                  (iVar3 = strcmp((char *)local_30,"0"), iVar3 == 0)) ||\n                 (iVar3 = strcmp((char *)__s1,"STT_NOTYPE"), iVar3 == 0)) goto LAB_00139961;\n              iVar3 = strcmp((char *)__s1,"common");\n              if (((iVar3 != 0) && (iVar3 = strcmp((char *)__s1,"5"), iVar3 != 0)) &&\n                 (iVar3 = strcmp((char *)__s1,"STT_COMMON"), iVar3 != 0)) {\n                iVar3 = strcmp((char *)__s1,"gnu_indirect_function");\n                if (((iVar3 == 0) || (iVar3 = strcmp((char *)__s1,"10"), iVar3 == 0)) ||\n                   (iVar3 = strcmp((char *)__s1,"STT_GNU_IFUNC"), iVar3 == 0)) {\n                  uVar1 = *(uint *)(*(long *)(*(long *)(DAT_0019d970 + 8) + 0x368) + 0xc);\n                  if ((9 < uVar1) ||\n                     (uVar11 = 0x400008, (0x209UL >> ((ulong)uVar1 & 0x3f) & 1) == 0)) {\n                    uVar11 = 0x400008;\n                    uVar4 = dcgettext(0,\n                                      "symbol type \"%s\" is supported only by GNU and FreeBSD targets"\n                                      ,5);\n                    FUN_0011f6d0(uVar4,__s1);\n                  }\n                }\n                else {\n                  iVar3 = strcmp((char *)__s1,"gnu_unique_object");\n                  if (iVar3 == 0) {\n                    lVar7 = *(long *)(*(long *)(DAT_0019d970 + 8) + 0x368);\n                    iVar3 = *(int *)(lVar7 + 0xc);\n                    if ((iVar3 != 3) && (iVar3 != 0)) {\n                      uVar4 = dcgettext(0,"symbol type \"%s\" is supported only by GNU targets",5);\n                      FUN_0011f6d0(uVar4,__s1);\n                    }\n                    *(undefined4 *)(lVar7 + 0xc) = 3;\n                    uVar11 = 0x810000;\n                  }\n                  else {\n                    uVar4 = dcgettext(0,"unrecognized symbol type \"%s\"",5);\n                    FUN_0011f6d0(uVar4,__s1);\n                  }\n                }\n                goto LAB_00139961;\n              }\n              iVar3 = FUN_0012ac00(uVar4);\n              if (iVar3 == 0) {\n                iVar3 = FUN_0012aed0(uVar4);\n                if (iVar3 != 0) {\n                  uVar11 = 0x10000;\n                  uVar4 = FUN_0012c530(uVar4,1);\n                  FUN_0012af90(uVar4,_bfd_std_section);\n                  FUN_0012aa50(uVar4,0);\n                  FUN_0012c440(uVar4);\n                  FUN_0012d650(uVar4,&DAT_0019d720);\n                  FUN_0012d370(uVar4);\n                  goto LAB_00139961;\n                }\n                iVar3 = FUN_0012ac30(uVar4);\n                if ((iVar3 != 0) || (iVar3 = FUN_0012da60(uVar4), iVar3 != 0)) {\n                  uVar11 = 0x10000;\n                  uVar4 = FUN_0012af30(uVar4);\n                  uVar6 = dcgettext(0,"symbol \'%s\' is already defined",5);\n                  FUN_0011f6d0(uVar6,uVar4);\n                  goto LAB_00139961;\n                }\n                FUN_0012af90(uVar4,_bfd_std_section);\n                FUN_0012aa50(uVar4,0);\n                FUN_0012c440(uVar4);\n              }\n            }\n          }\n        }\n        uVar11 = 0x10000;\n      }\n    }\n  }" if (parenthesized_expression "(!bVar16)" ( (unary_expression "!bVar16" ! identifier) )) (compound_statement "{\n    lVar7 = 2;\n    pbVar9 = local_30;\n    pbVar10 = (byte *)0x14246c;\n    do {\n      if (lVar7 == 0) break;\n      lVar7 = lVar7 + -1;\n      bVar13 = *pbVar9 < *pbVar10;\n      bVar16 = *pbVar9 == *pbVar10;\n      pbVar9 = pbVar9 + (ulong)bVar17 * -2 + 1;\n      pbVar10 = pbVar10 + (ulong)bVar17 * -2 + 1;\n    } while (bVar16);\n    bVar14 = false;\n    bVar13 = (!bVar13 && !bVar16) == bVar13;\n    if (!bVar13) {\n      lVar7 = 9;\n      pbVar9 = local_30;\n      pbVar10 = (byte *)"STT_FUNC";\n      do {\n        if (lVar7 == 0) break;\n        lVar7 = lVar7 + -1;\n        bVar14 = *pbVar9 < *pbVar10;\n        bVar13 = *pbVar9 == *pbVar10;\n        pbVar9 = pbVar9 + (ulong)bVar17 * -2 + 1;\n        pbVar10 = pbVar10 + (ulong)bVar17 * -2 + 1;\n      } while (bVar13);\n      bVar16 = false;\n      bVar13 = (!bVar14 && !bVar13) == bVar14;\n      if (!bVar13) {\n        lVar7 = 7;\n        pbVar9 = local_30;\n        pbVar10 = (byte *)0x1464c9;\n        do {\n          if (lVar7 == 0) break;\n          lVar7 = lVar7 + -1;\n          bVar16 = *pbVar9 < *pbVar10;\n          bVar13 = *pbVar9 == *pbVar10;\n          pbVar9 = pbVar9 + (ulong)bVar17 * -2 + 1;\n          pbVar10 = pbVar10 + (ulong)bVar17 * -2 + 1;\n        } while (bVar13);\n        bVar14 = false;\n        bVar13 = (!bVar16 && !bVar13) == bVar16;\n        if (!bVar13) {\n          lVar7 = 2;\n          pbVar9 = local_30;\n          pbVar10 = (byte *)0x13f34c;\n          do {\n            if (lVar7 == 0) break;\n            lVar7 = lVar7 + -1;\n            bVar14 = *pbVar9 < *pbVar10;\n            bVar13 = *pbVar9 == *pbVar10;\n            pbVar9 = pbVar9 + (ulong)bVar17 * -2 + 1;\n            pbVar10 = pbVar10 + (ulong)bVar17 * -2 + 1;\n          } while (bVar13);\n          bVar16 = false;\n          bVar13 = (!bVar14 && !bVar13) == bVar14;\n          if (!bVar13) {\n            lVar7 = 0xb;\n            pbVar9 = local_30;\n            pbVar10 = (byte *)"STT_OBJECT";\n            do {\n              if (lVar7 == 0) break;\n              lVar7 = lVar7 + -1;\n              bVar16 = *pbVar9 < *pbVar10;\n              bVar13 = *pbVar9 == *pbVar10;\n              pbVar9 = pbVar9 + (ulong)bVar17 * -2 + 1;\n              pbVar10 = pbVar10 + (ulong)bVar17 * -2 + 1;\n            } while (bVar13);\n            bVar14 = false;\n            bVar13 = (!bVar16 && !bVar13) == bVar16;\n            if (!bVar13) {\n              lVar7 = 0xb;\n              uVar11 = 0x50000;\n              pbVar9 = local_30;\n              pbVar10 = (byte *)"tls_object";\n              do {\n                if (lVar7 == 0) break;\n                lVar7 = lVar7 + -1;\n                bVar14 = *pbVar9 < *pbVar10;\n                bVar13 = *pbVar9 == *pbVar10;\n                pbVar9 = pbVar9 + (ulong)bVar17 * -2 + 1;\n                pbVar10 = pbVar10 + (ulong)bVar17 * -2 + 1;\n              } while (bVar13);\n              bVar16 = false;\n              bVar13 = (!bVar14 && !bVar13) == bVar14;\n              if (bVar13) goto LAB_00139961;\n              lVar7 = 2;\n              pbVar9 = local_30;\n              pbVar10 = &DAT_001448ab;\n              do {\n                if (lVar7 == 0) break;\n                lVar7 = lVar7 + -1;\n                bVar16 = *pbVar9 < *pbVar10;\n                bVar13 = *pbVar9 == *pbVar10;\n                pbVar9 = pbVar9 + (ulong)bVar17 * -2 + 1;\n                pbVar10 = pbVar10 + (ulong)bVar17 * -2 + 1;\n              } while (bVar13);\n              bVar14 = false;\n              bVar13 = (!bVar16 && !bVar13) == bVar16;\n              if (bVar13) goto LAB_00139961;\n              lVar7 = 8;\n              pbVar9 = local_30;\n              pbVar10 = (byte *)"STT_TLS";\n              do {\n                if (lVar7 == 0) break;\n                lVar7 = lVar7 + -1;\n                bVar14 = *pbVar9 < *pbVar10;\n                bVar13 = *pbVar9 == *pbVar10;\n                pbVar9 = pbVar9 + (ulong)bVar17 * -2 + 1;\n                pbVar10 = pbVar10 + (ulong)bVar17 * -2 + 1;\n              } while (bVar13);\n              bVar16 = false;\n              bVar13 = (!bVar14 && !bVar13) == bVar14;\n              if (bVar13) goto LAB_00139961;\n              lVar7 = 7;\n              pbVar9 = local_30;\n              pbVar10 = (byte *)"notype";\n              do {\n                if (lVar7 == 0) break;\n                lVar7 = lVar7 + -1;\n                bVar16 = *pbVar9 < *pbVar10;\n                bVar13 = *pbVar9 == *pbVar10;\n                pbVar9 = pbVar9 + (ulong)bVar17 * -2 + 1;\n                pbVar10 = pbVar10 + (ulong)bVar17 * -2 + 1;\n              } while (bVar13);\n              uVar11 = 0;\n              if ((((!bVar16 && !bVar13) == bVar16) ||\n                  (iVar3 = strcmp((char *)local_30,"0"), iVar3 == 0)) ||\n                 (iVar3 = strcmp((char *)__s1,"STT_NOTYPE"), iVar3 == 0)) goto LAB_00139961;\n              iVar3 = strcmp((char *)__s1,"common");\n              if (((iVar3 != 0) && (iVar3 = strcmp((char *)__s1,"5"), iVar3 != 0)) &&\n                 (iVar3 = strcmp((char *)__s1,"STT_COMMON"), iVar3 != 0)) {\n                iVar3 = strcmp((char *)__s1,"gnu_indirect_function");\n                if (((iVar3 == 0) || (iVar3 = strcmp((char *)__s1,"10"), iVar3 == 0)) ||\n                   (iVar3 = strcmp((char *)__s1,"STT_GNU_IFUNC"), iVar3 == 0)) {\n                  uVar1 = *(uint *)(*(long *)(*(long *)(DAT_0019d970 + 8) + 0x368) + 0xc);\n                  if ((9 < uVar1) ||\n                     (uVar11 = 0x400008, (0x209UL >> ((ulong)uVar1 & 0x3f) & 1) == 0)) {\n                    uVar11 = 0x400008;\n                    uVar4 = dcgettext(0,\n                                      "symbol type \"%s\" is supported only by GNU and FreeBSD targets"\n                                      ,5);\n                    FUN_0011f6d0(uVar4,__s1);\n                  }\n                }\n                else {\n                  iVar3 = strcmp((char *)__s1,"gnu_unique_object");\n                  if (iVar3 == 0) {\n                    lVar7 = *(long *)(*(long *)(DAT_0019d970 + 8) + 0x368);\n                    iVar3 = *(int *)(lVar7 + 0xc);\n                    if ((iVar3 != 3) && (iVar3 != 0)) {\n                      uVar4 = dcgettext(0,"symbol type \"%s\" is supported only by GNU targets",5);\n                      FUN_0011f6d0(uVar4,__s1);\n                    }\n                    *(undefined4 *)(lVar7 + 0xc) = 3;\n                    uVar11 = 0x810000;\n                  }\n                  else {\n                    uVar4 = dcgettext(0,"unrecognized symbol type \"%s\"",5);\n                    FUN_0011f6d0(uVar4,__s1);\n                  }\n                }\n                goto LAB_00139961;\n              }\n              iVar3 = FUN_0012ac00(uVar4);\n              if (iVar3 == 0) {\n                iVar3 = FUN_0012aed0(uVar4);\n                if (iVar3 != 0) {\n                  uVar11 = 0x10000;\n                  uVar4 = FUN_0012c530(uVar4,1);\n                  FUN_0012af90(uVar4,_bfd_std_section);\n                  FUN_0012aa50(uVar4,0);\n                  FUN_0012c440(uVar4);\n                  FUN_0012d650(uVar4,&DAT_0019d720);\n                  FUN_0012d370(uVar4);\n                  goto LAB_00139961;\n                }\n                iVar3 = FUN_0012ac30(uVar4);\n                if ((iVar3 != 0) || (iVar3 = FUN_0012da60(uVar4), iVar3 != 0)) {\n                  uVar11 = 0x10000;\n                  uVar4 = FUN_0012af30(uVar4);\n                  uVar6 = dcgettext(0,"symbol \'%s\' is already defined",5);\n                  FUN_0011f6d0(uVar6,uVar4);\n                  goto LAB_00139961;\n                }\n                FUN_0012af90(uVar4,_bfd_std_section);\n                FUN_0012aa50(uVar4,0);\n                FUN_0012c440(uVar4);\n              }\n            }\n          }\n        }\n        uVar11 = 0x10000;\n      }\n    }\n  }" { (expression_statement "lVar7 = 2;" (assignment_expression "lVar7 = 2" identifier = number_literal) ;) (expression_statement "pbVar9 = local_30;" (assignment_expression "pbVar9 = local_30" identifier = identifier) ;) (expression_statement "pbVar10 = (byte *)0x14246c;" (assignment_expression "pbVar10 = (byte *)0x14246c" identifier = (cast_expression "(byte *)0x14246c" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (do_statement "do {\n      if (lVar7 == 0) break;\n      lVar7 = lVar7 + -1;\n      bVar13 = *pbVar9 < *pbVar10;\n      bVar16 = *pbVar9 == *pbVar10;\n      pbVar9 = pbVar9 + (ulong)bVar17 * -2 + 1;\n      pbVar10 = pbVar10 + (ulong)bVar17 * -2 + 1;\n    } while (bVar16);" do (compound_statement "{\n      if (lVar7 == 0) break;\n      lVar7 = lVar7 + -1;\n      bVar13 = *pbVar9 < *pbVar10;\n      bVar16 = *pbVar9 == *pbVar10;\n      pbVar9 = pbVar9 + (ulong)bVar17 * -2 + 1;\n      pbVar10 = pbVar10 + (ulong)bVar17 * -2 + 1;\n    }" { (if_statement "if (lVar7 == 0) break;" if (parenthesized_expression "(lVar7 == 0)" ( (binary_expression "lVar7 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "lVar7 = lVar7 + -1;" (assignment_expression "lVar7 = lVar7 + -1" identifier = (binary_expression "lVar7 + -1" identifier + number_literal)) ;) (expression_statement "bVar13 = *pbVar9 < *pbVar10;" (assignment_expression "bVar13 = *pbVar9 < *pbVar10" identifier = (binary_expression "*pbVar9 < *pbVar10" (pointer_expression "*pbVar9" * identifier) < (pointer_expression "*pbVar10" * identifier))) ;) (expression_statement "bVar16 = *pbVar9 == *pbVar10;" (assignment_expression "bVar16 = *pbVar9 == *pbVar10" identifier = (binary_expression "*pbVar9 == *pbVar10" (pointer_expression "*pbVar9" * identifier) == (pointer_expression "*pbVar10" * identifier))) ;) (expression_statement "pbVar9 = pbVar9 + (ulong)bVar17 * -2 + 1;" (assignment_expression "pbVar9 = pbVar9 + (ulong)bVar17 * -2 + 1" identifier = (binary_expression "pbVar9 + (ulong)bVar17 * -2 + 1" (binary_expression "pbVar9 + (ulong)bVar17 * -2" identifier + (binary_expression "(ulong)bVar17 * -2" (cast_expression "(ulong)bVar17" ( (type_descriptor "ulong" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) (expression_statement "pbVar10 = pbVar10 + (ulong)bVar17 * -2 + 1;" (assignment_expression "pbVar10 = pbVar10 + (ulong)bVar17 * -2 + 1" identifier = (binary_expression "pbVar10 + (ulong)bVar17 * -2 + 1" (binary_expression "pbVar10 + (ulong)bVar17 * -2" identifier + (binary_expression "(ulong)bVar17 * -2" (cast_expression "(ulong)bVar17" ( (type_descriptor "ulong" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) }) while (parenthesized_expression "(bVar16)" ( identifier )) ;) (expression_statement "bVar14 = false;" (assignment_expression "bVar14 = false" identifier = false) ;) (expression_statement "bVar13 = (!bVar13 && !bVar16) == bVar13;" (assignment_expression "bVar13 = (!bVar13 && !bVar16) == bVar13" identifier = (binary_expression "(!bVar13 && !bVar16) == bVar13" (parenthesized_expression "(!bVar13 && !bVar16)" ( (binary_expression "!bVar13 && !bVar16" (unary_expression "!bVar13" ! identifier) && (unary_expression "!bVar16" ! identifier)) )) == identifier)) ;) (if_statement "if (!bVar13) {\n      lVar7 = 9;\n      pbVar9 = local_30;\n      pbVar10 = (byte *)"STT_FUNC";\n      do {\n        if (lVar7 == 0) break;\n        lVar7 = lVar7 + -1;\n        bVar14 = *pbVar9 < *pbVar10;\n        bVar13 = *pbVar9 == *pbVar10;\n        pbVar9 = pbVar9 + (ulong)bVar17 * -2 + 1;\n        pbVar10 = pbVar10 + (ulong)bVar17 * -2 + 1;\n      } while (bVar13);\n      bVar16 = false;\n      bVar13 = (!bVar14 && !bVar13) == bVar14;\n      if (!bVar13) {\n        lVar7 = 7;\n        pbVar9 = local_30;\n        pbVar10 = (byte *)0x1464c9;\n        do {\n          if (lVar7 == 0) break;\n          lVar7 = lVar7 + -1;\n          bVar16 = *pbVar9 < *pbVar10;\n          bVar13 = *pbVar9 == *pbVar10;\n          pbVar9 = pbVar9 + (ulong)bVar17 * -2 + 1;\n          pbVar10 = pbVar10 + (ulong)bVar17 * -2 + 1;\n        } while (bVar13);\n        bVar14 = false;\n        bVar13 = (!bVar16 && !bVar13) == bVar16;\n        if (!bVar13) {\n          lVar7 = 2;\n          pbVar9 = local_30;\n          pbVar10 = (byte *)0x13f34c;\n          do {\n            if (lVar7 == 0) break;\n            lVar7 = lVar7 + -1;\n            bVar14 = *pbVar9 < *pbVar10;\n            bVar13 = *pbVar9 == *pbVar10;\n            pbVar9 = pbVar9 + (ulong)bVar17 * -2 + 1;\n            pbVar10 = pbVar10 + (ulong)bVar17 * -2 + 1;\n          } while (bVar13);\n          bVar16 = false;\n          bVar13 = (!bVar14 && !bVar13) == bVar14;\n          if (!bVar13) {\n            lVar7 = 0xb;\n            pbVar9 = local_30;\n            pbVar10 = (byte *)"STT_OBJECT";\n            do {\n              if (lVar7 == 0) break;\n              lVar7 = lVar7 + -1;\n              bVar16 = *pbVar9 < *pbVar10;\n              bVar13 = *pbVar9 == *pbVar10;\n              pbVar9 = pbVar9 + (ulong)bVar17 * -2 + 1;\n              pbVar10 = pbVar10 + (ulong)bVar17 * -2 + 1;\n            } while (bVar13);\n            bVar14 = false;\n            bVar13 = (!bVar16 && !bVar13) == bVar16;\n            if (!bVar13) {\n              lVar7 = 0xb;\n              uVar11 = 0x50000;\n              pbVar9 = local_30;\n              pbVar10 = (byte *)"tls_object";\n              do {\n                if (lVar7 == 0) break;\n                lVar7 = lVar7 + -1;\n                bVar14 = *pbVar9 < *pbVar10;\n                bVar13 = *pbVar9 == *pbVar10;\n                pbVar9 = pbVar9 + (ulong)bVar17 * -2 + 1;\n                pbVar10 = pbVar10 + (ulong)bVar17 * -2 + 1;\n              } while (bVar13);\n              bVar16 = false;\n              bVar13 = (!bVar14 && !bVar13) == bVar14;\n              if (bVar13) goto LAB_00139961;\n              lVar7 = 2;\n              pbVar9 = local_30;\n              pbVar10 = &DAT_001448ab;\n              do {\n                if (lVar7 == 0) break;\n                lVar7 = lVar7 + -1;\n                bVar16 = *pbVar9 < *pbVar10;\n                bVar13 = *pbVar9 == *pbVar10;\n                pbVar9 = pbVar9 + (ulong)bVar17 * -2 + 1;\n                pbVar10 = pbVar10 + (ulong)bVar17 * -2 + 1;\n              } while (bVar13);\n              bVar14 = false;\n              bVar13 = (!bVar16 && !bVar13) == bVar16;\n              if (bVar13) goto LAB_00139961;\n              lVar7 = 8;\n              pbVar9 = local_30;\n              pbVar10 = (byte *)"STT_TLS";\n              do {\n                if (lVar7 == 0) break;\n                lVar7 = lVar7 + -1;\n                bVar14 = *pbVar9 < *pbVar10;\n                bVar13 = *pbVar9 == *pbVar10;\n                pbVar9 = pbVar9 + (ulong)bVar17 * -2 + 1;\n                pbVar10 = pbVar10 + (ulong)bVar17 * -2 + 1;\n              } while (bVar13);\n              bVar16 = false;\n              bVar13 = (!bVar14 && !bVar13) == bVar14;\n              if (bVar13) goto LAB_00139961;\n              lVar7 = 7;\n              pbVar9 = local_30;\n              pbVar10 = (byte *)"notype";\n              do {\n                if (lVar7 == 0) break;\n                lVar7 = lVar7 + -1;\n                bVar16 = *pbVar9 < *pbVar10;\n                bVar13 = *pbVar9 == *pbVar10;\n                pbVar9 = pbVar9 + (ulong)bVar17 * -2 + 1;\n                pbVar10 = pbVar10 + (ulong)bVar17 * -2 + 1;\n              } while (bVar13);\n              uVar11 = 0;\n              if ((((!bVar16 && !bVar13) == bVar16) ||\n                  (iVar3 = strcmp((char *)local_30,"0"), iVar3 == 0)) ||\n                 (iVar3 = strcmp((char *)__s1,"STT_NOTYPE"), iVar3 == 0)) goto LAB_00139961;\n              iVar3 = strcmp((char *)__s1,"common");\n              if (((iVar3 != 0) && (iVar3 = strcmp((char *)__s1,"5"), iVar3 != 0)) &&\n                 (iVar3 = strcmp((char *)__s1,"STT_COMMON"), iVar3 != 0)) {\n                iVar3 = strcmp((char *)__s1,"gnu_indirect_function");\n                if (((iVar3 == 0) || (iVar3 = strcmp((char *)__s1,"10"), iVar3 == 0)) ||\n                   (iVar3 = strcmp((char *)__s1,"STT_GNU_IFUNC"), iVar3 == 0)) {\n                  uVar1 = *(uint *)(*(long *)(*(long *)(DAT_0019d970 + 8) + 0x368) + 0xc);\n                  if ((9 < uVar1) ||\n                     (uVar11 = 0x400008, (0x209UL >> ((ulong)uVar1 & 0x3f) & 1) == 0)) {\n                    uVar11 = 0x400008;\n                    uVar4 = dcgettext(0,\n                                      "symbol type \"%s\" is supported only by GNU and FreeBSD targets"\n                                      ,5);\n                    FUN_0011f6d0(uVar4,__s1);\n                  }\n                }\n                else {\n                  iVar3 = strcmp((char *)__s1,"gnu_unique_object");\n                  if (iVar3 == 0) {\n                    lVar7 = *(long *)(*(long *)(DAT_0019d970 + 8) + 0x368);\n                    iVar3 = *(int *)(lVar7 + 0xc);\n                    if ((iVar3 != 3) && (iVar3 != 0)) {\n                      uVar4 = dcgettext(0,"symbol type \"%s\" is supported only by GNU targets",5);\n                      FUN_0011f6d0(uVar4,__s1);\n                    }\n                    *(undefined4 *)(lVar7 + 0xc) = 3;\n                    uVar11 = 0x810000;\n                  }\n                  else {\n                    uVar4 = dcgettext(0,"unrecognized symbol type \"%s\"",5);\n                    FUN_0011f6d0(uVar4,__s1);\n                  }\n                }\n                goto LAB_00139961;\n              }\n              iVar3 = FUN_0012ac00(uVar4);\n              if (iVar3 == 0) {\n                iVar3 = FUN_0012aed0(uVar4);\n                if (iVar3 != 0) {\n                  uVar11 = 0x10000;\n                  uVar4 = FUN_0012c530(uVar4,1);\n                  FUN_0012af90(uVar4,_bfd_std_section);\n                  FUN_0012aa50(uVar4,0);\n                  FUN_0012c440(uVar4);\n                  FUN_0012d650(uVar4,&DAT_0019d720);\n                  FUN_0012d370(uVar4);\n                  goto LAB_00139961;\n                }\n                iVar3 = FUN_0012ac30(uVar4);\n                if ((iVar3 != 0) || (iVar3 = FUN_0012da60(uVar4), iVar3 != 0)) {\n                  uVar11 = 0x10000;\n                  uVar4 = FUN_0012af30(uVar4);\n                  uVar6 = dcgettext(0,"symbol \'%s\' is already defined",5);\n                  FUN_0011f6d0(uVar6,uVar4);\n                  goto LAB_00139961;\n                }\n                FUN_0012af90(uVar4,_bfd_std_section);\n                FUN_0012aa50(uVar4,0);\n                FUN_0012c440(uVar4);\n              }\n            }\n          }\n        }\n        uVar11 = 0x10000;\n      }\n    }" if (parenthesized_expression "(!bVar13)" ( (unary_expression "!bVar13" ! identifier) )) (compound_statement "{\n      lVar7 = 9;\n      pbVar9 = local_30;\n      pbVar10 = (byte *)"STT_FUNC";\n      do {\n        if (lVar7 == 0) break;\n        lVar7 = lVar7 + -1;\n        bVar14 = *pbVar9 < *pbVar10;\n        bVar13 = *pbVar9 == *pbVar10;\n        pbVar9 = pbVar9 + (ulong)bVar17 * -2 + 1;\n        pbVar10 = pbVar10 + (ulong)bVar17 * -2 + 1;\n      } while (bVar13);\n      bVar16 = false;\n      bVar13 = (!bVar14 && !bVar13) == bVar14;\n      if (!bVar13) {\n        lVar7 = 7;\n        pbVar9 = local_30;\n        pbVar10 = (byte *)0x1464c9;\n        do {\n          if (lVar7 == 0) break;\n          lVar7 = lVar7 + -1;\n          bVar16 = *pbVar9 < *pbVar10;\n          bVar13 = *pbVar9 == *pbVar10;\n          pbVar9 = pbVar9 + (ulong)bVar17 * -2 + 1;\n          pbVar10 = pbVar10 + (ulong)bVar17 * -2 + 1;\n        } while (bVar13);\n        bVar14 = false;\n        bVar13 = (!bVar16 && !bVar13) == bVar16;\n        if (!bVar13) {\n          lVar7 = 2;\n          pbVar9 = local_30;\n          pbVar10 = (byte *)0x13f34c;\n          do {\n            if (lVar7 == 0) break;\n            lVar7 = lVar7 + -1;\n            bVar14 = *pbVar9 < *pbVar10;\n            bVar13 = *pbVar9 == *pbVar10;\n            pbVar9 = pbVar9 + (ulong)bVar17 * -2 + 1;\n            pbVar10 = pbVar10 + (ulong)bVar17 * -2 + 1;\n          } while (bVar13);\n          bVar16 = false;\n          bVar13 = (!bVar14 && !bVar13) == bVar14;\n          if (!bVar13) {\n            lVar7 = 0xb;\n            pbVar9 = local_30;\n            pbVar10 = (byte *)"STT_OBJECT";\n            do {\n              if (lVar7 == 0) break;\n              lVar7 = lVar7 + -1;\n              bVar16 = *pbVar9 < *pbVar10;\n              bVar13 = *pbVar9 == *pbVar10;\n              pbVar9 = pbVar9 + (ulong)bVar17 * -2 + 1;\n              pbVar10 = pbVar10 + (ulong)bVar17 * -2 + 1;\n            } while (bVar13);\n            bVar14 = false;\n            bVar13 = (!bVar16 && !bVar13) == bVar16;\n            if (!bVar13) {\n              lVar7 = 0xb;\n              uVar11 = 0x50000;\n              pbVar9 = local_30;\n              pbVar10 = (byte *)"tls_object";\n              do {\n                if (lVar7 == 0) break;\n                lVar7 = lVar7 + -1;\n                bVar14 = *pbVar9 < *pbVar10;\n                bVar13 = *pbVar9 == *pbVar10;\n                pbVar9 = pbVar9 + (ulong)bVar17 * -2 + 1;\n                pbVar10 = pbVar10 + (ulong)bVar17 * -2 + 1;\n              } while (bVar13);\n              bVar16 = false;\n              bVar13 = (!bVar14 && !bVar13) == bVar14;\n              if (bVar13) goto LAB_00139961;\n              lVar7 = 2;\n              pbVar9 = local_30;\n              pbVar10 = &DAT_001448ab;\n              do {\n                if (lVar7 == 0) break;\n                lVar7 = lVar7 + -1;\n                bVar16 = *pbVar9 < *pbVar10;\n                bVar13 = *pbVar9 == *pbVar10;\n                pbVar9 = pbVar9 + (ulong)bVar17 * -2 + 1;\n                pbVar10 = pbVar10 + (ulong)bVar17 * -2 + 1;\n              } while (bVar13);\n              bVar14 = false;\n              bVar13 = (!bVar16 && !bVar13) == bVar16;\n              if (bVar13) goto LAB_00139961;\n              lVar7 = 8;\n              pbVar9 = local_30;\n              pbVar10 = (byte *)"STT_TLS";\n              do {\n                if (lVar7 == 0) break;\n                lVar7 = lVar7 + -1;\n                bVar14 = *pbVar9 < *pbVar10;\n                bVar13 = *pbVar9 == *pbVar10;\n                pbVar9 = pbVar9 + (ulong)bVar17 * -2 + 1;\n                pbVar10 = pbVar10 + (ulong)bVar17 * -2 + 1;\n              } while (bVar13);\n              bVar16 = false;\n              bVar13 = (!bVar14 && !bVar13) == bVar14;\n              if (bVar13) goto LAB_00139961;\n              lVar7 = 7;\n              pbVar9 = local_30;\n              pbVar10 = (byte *)"notype";\n              do {\n                if (lVar7 == 0) break;\n                lVar7 = lVar7 + -1;\n                bVar16 = *pbVar9 < *pbVar10;\n                bVar13 = *pbVar9 == *pbVar10;\n                pbVar9 = pbVar9 + (ulong)bVar17 * -2 + 1;\n                pbVar10 = pbVar10 + (ulong)bVar17 * -2 + 1;\n              } while (bVar13);\n              uVar11 = 0;\n              if ((((!bVar16 && !bVar13) == bVar16) ||\n                  (iVar3 = strcmp((char *)local_30,"0"), iVar3 == 0)) ||\n                 (iVar3 = strcmp((char *)__s1,"STT_NOTYPE"), iVar3 == 0)) goto LAB_00139961;\n              iVar3 = strcmp((char *)__s1,"common");\n              if (((iVar3 != 0) && (iVar3 = strcmp((char *)__s1,"5"), iVar3 != 0)) &&\n                 (iVar3 = strcmp((char *)__s1,"STT_COMMON"), iVar3 != 0)) {\n                iVar3 = strcmp((char *)__s1,"gnu_indirect_function");\n                if (((iVar3 == 0) || (iVar3 = strcmp((char *)__s1,"10"), iVar3 == 0)) ||\n                   (iVar3 = strcmp((char *)__s1,"STT_GNU_IFUNC"), iVar3 == 0)) {\n                  uVar1 = *(uint *)(*(long *)(*(long *)(DAT_0019d970 + 8) + 0x368) + 0xc);\n                  if ((9 < uVar1) ||\n                     (uVar11 = 0x400008, (0x209UL >> ((ulong)uVar1 & 0x3f) & 1) == 0)) {\n                    uVar11 = 0x400008;\n                    uVar4 = dcgettext(0,\n                                      "symbol type \"%s\" is supported only by GNU and FreeBSD targets"\n                                      ,5);\n                    FUN_0011f6d0(uVar4,__s1);\n                  }\n                }\n                else {\n                  iVar3 = strcmp((char *)__s1,"gnu_unique_object");\n                  if (iVar3 == 0) {\n                    lVar7 = *(long *)(*(long *)(DAT_0019d970 + 8) + 0x368);\n                    iVar3 = *(int *)(lVar7 + 0xc);\n                    if ((iVar3 != 3) && (iVar3 != 0)) {\n                      uVar4 = dcgettext(0,"symbol type \"%s\" is supported only by GNU targets",5);\n                      FUN_0011f6d0(uVar4,__s1);\n                    }\n                    *(undefined4 *)(lVar7 + 0xc) = 3;\n                    uVar11 = 0x810000;\n                  }\n                  else {\n                    uVar4 = dcgettext(0,"unrecognized symbol type \"%s\"",5);\n                    FUN_0011f6d0(uVar4,__s1);\n                  }\n                }\n                goto LAB_00139961;\n              }\n              iVar3 = FUN_0012ac00(uVar4);\n              if (iVar3 == 0) {\n                iVar3 = FUN_0012aed0(uVar4);\n                if (iVar3 != 0) {\n                  uVar11 = 0x10000;\n                  uVar4 = FUN_0012c530(uVar4,1);\n                  FUN_0012af90(uVar4,_bfd_std_section);\n                  FUN_0012aa50(uVar4,0);\n                  FUN_0012c440(uVar4);\n                  FUN_0012d650(uVar4,&DAT_0019d720);\n                  FUN_0012d370(uVar4);\n                  goto LAB_00139961;\n                }\n                iVar3 = FUN_0012ac30(uVar4);\n                if ((iVar3 != 0) || (iVar3 = FUN_0012da60(uVar4), iVar3 != 0)) {\n                  uVar11 = 0x10000;\n                  uVar4 = FUN_0012af30(uVar4);\n                  uVar6 = dcgettext(0,"symbol \'%s\' is already defined",5);\n                  FUN_0011f6d0(uVar6,uVar4);\n                  goto LAB_00139961;\n                }\n                FUN_0012af90(uVar4,_bfd_std_section);\n                FUN_0012aa50(uVar4,0);\n                FUN_0012c440(uVar4);\n              }\n            }\n          }\n        }\n        uVar11 = 0x10000;\n      }\n    }" { (expression_statement "lVar7 = 9;" (assignment_expression "lVar7 = 9" identifier = number_literal) ;) (expression_statement "pbVar9 = local_30;" (assignment_expression "pbVar9 = local_30" identifier = identifier) ;) (expression_statement "pbVar10 = (byte *)"STT_FUNC";" (assignment_expression "pbVar10 = (byte *)"STT_FUNC"" identifier = (cast_expression "(byte *)"STT_FUNC"" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (string_literal ""STT_FUNC"" " string_content "))) ;) (do_statement "do {\n        if (lVar7 == 0) break;\n        lVar7 = lVar7 + -1;\n        bVar14 = *pbVar9 < *pbVar10;\n        bVar13 = *pbVar9 == *pbVar10;\n        pbVar9 = pbVar9 + (ulong)bVar17 * -2 + 1;\n        pbVar10 = pbVar10 + (ulong)bVar17 * -2 + 1;\n      } while (bVar13);" do (compound_statement "{\n        if (lVar7 == 0) break;\n        lVar7 = lVar7 + -1;\n        bVar14 = *pbVar9 < *pbVar10;\n        bVar13 = *pbVar9 == *pbVar10;\n        pbVar9 = pbVar9 + (ulong)bVar17 * -2 + 1;\n        pbVar10 = pbVar10 + (ulong)bVar17 * -2 + 1;\n      }" { (if_statement "if (lVar7 == 0) break;" if (parenthesized_expression "(lVar7 == 0)" ( (binary_expression "lVar7 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "lVar7 = lVar7 + -1;" (assignment_expression "lVar7 = lVar7 + -1" identifier = (binary_expression "lVar7 + -1" identifier + number_literal)) ;) (expression_statement "bVar14 = *pbVar9 < *pbVar10;" (assignment_expression "bVar14 = *pbVar9 < *pbVar10" identifier = (binary_expression "*pbVar9 < *pbVar10" (pointer_expression "*pbVar9" * identifier) < (pointer_expression "*pbVar10" * identifier))) ;) (expression_statement "bVar13 = *pbVar9 == *pbVar10;" (assignment_expression "bVar13 = *pbVar9 == *pbVar10" identifier = (binary_expression "*pbVar9 == *pbVar10" (pointer_expression "*pbVar9" * identifier) == (pointer_expression "*pbVar10" * identifier))) ;) (expression_statement "pbVar9 = pbVar9 + (ulong)bVar17 * -2 + 1;" (assignment_expression "pbVar9 = pbVar9 + (ulong)bVar17 * -2 + 1" identifier = (binary_expression "pbVar9 + (ulong)bVar17 * -2 + 1" (binary_expression "pbVar9 + (ulong)bVar17 * -2" identifier + (binary_expression "(ulong)bVar17 * -2" (cast_expression "(ulong)bVar17" ( (type_descriptor "ulong" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) (expression_statement "pbVar10 = pbVar10 + (ulong)bVar17 * -2 + 1;" (assignment_expression "pbVar10 = pbVar10 + (ulong)bVar17 * -2 + 1" identifier = (binary_expression "pbVar10 + (ulong)bVar17 * -2 + 1" (binary_expression "pbVar10 + (ulong)bVar17 * -2" identifier + (binary_expression "(ulong)bVar17 * -2" (cast_expression "(ulong)bVar17" ( (type_descriptor "ulong" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) }) while (parenthesized_expression "(bVar13)" ( identifier )) ;) (expression_statement "bVar16 = false;" (assignment_expression "bVar16 = false" identifier = false) ;) (expression_statement "bVar13 = (!bVar14 && !bVar13) == bVar14;" (assignment_expression "bVar13 = (!bVar14 && !bVar13) == bVar14" identifier = (binary_expression "(!bVar14 && !bVar13) == bVar14" (parenthesized_expression "(!bVar14 && !bVar13)" ( (binary_expression "!bVar14 && !bVar13" (unary_expression "!bVar14" ! identifier) && (unary_expression "!bVar13" ! identifier)) )) == identifier)) ;) (if_statement "if (!bVar13) {\n        lVar7 = 7;\n        pbVar9 = local_30;\n        pbVar10 = (byte *)0x1464c9;\n        do {\n          if (lVar7 == 0) break;\n          lVar7 = lVar7 + -1;\n          bVar16 = *pbVar9 < *pbVar10;\n          bVar13 = *pbVar9 == *pbVar10;\n          pbVar9 = pbVar9 + (ulong)bVar17 * -2 + 1;\n          pbVar10 = pbVar10 + (ulong)bVar17 * -2 + 1;\n        } while (bVar13);\n        bVar14 = false;\n        bVar13 = (!bVar16 && !bVar13) == bVar16;\n        if (!bVar13) {\n          lVar7 = 2;\n          pbVar9 = local_30;\n          pbVar10 = (byte *)0x13f34c;\n          do {\n            if (lVar7 == 0) break;\n            lVar7 = lVar7 + -1;\n            bVar14 = *pbVar9 < *pbVar10;\n            bVar13 = *pbVar9 == *pbVar10;\n            pbVar9 = pbVar9 + (ulong)bVar17 * -2 + 1;\n            pbVar10 = pbVar10 + (ulong)bVar17 * -2 + 1;\n          } while (bVar13);\n          bVar16 = false;\n          bVar13 = (!bVar14 && !bVar13) == bVar14;\n          if (!bVar13) {\n            lVar7 = 0xb;\n            pbVar9 = local_30;\n            pbVar10 = (byte *)"STT_OBJECT";\n            do {\n              if (lVar7 == 0) break;\n              lVar7 = lVar7 + -1;\n              bVar16 = *pbVar9 < *pbVar10;\n              bVar13 = *pbVar9 == *pbVar10;\n              pbVar9 = pbVar9 + (ulong)bVar17 * -2 + 1;\n              pbVar10 = pbVar10 + (ulong)bVar17 * -2 + 1;\n            } while (bVar13);\n            bVar14 = false;\n            bVar13 = (!bVar16 && !bVar13) == bVar16;\n            if (!bVar13) {\n              lVar7 = 0xb;\n              uVar11 = 0x50000;\n              pbVar9 = local_30;\n              pbVar10 = (byte *)"tls_object";\n              do {\n                if (lVar7 == 0) break;\n                lVar7 = lVar7 + -1;\n                bVar14 = *pbVar9 < *pbVar10;\n                bVar13 = *pbVar9 == *pbVar10;\n                pbVar9 = pbVar9 + (ulong)bVar17 * -2 + 1;\n                pbVar10 = pbVar10 + (ulong)bVar17 * -2 + 1;\n              } while (bVar13);\n              bVar16 = false;\n              bVar13 = (!bVar14 && !bVar13) == bVar14;\n              if (bVar13) goto LAB_00139961;\n              lVar7 = 2;\n              pbVar9 = local_30;\n              pbVar10 = &DAT_001448ab;\n              do {\n                if (lVar7 == 0) break;\n                lVar7 = lVar7 + -1;\n                bVar16 = *pbVar9 < *pbVar10;\n                bVar13 = *pbVar9 == *pbVar10;\n                pbVar9 = pbVar9 + (ulong)bVar17 * -2 + 1;\n                pbVar10 = pbVar10 + (ulong)bVar17 * -2 + 1;\n              } while (bVar13);\n              bVar14 = false;\n              bVar13 = (!bVar16 && !bVar13) == bVar16;\n              if (bVar13) goto LAB_00139961;\n              lVar7 = 8;\n              pbVar9 = local_30;\n              pbVar10 = (byte *)"STT_TLS";\n              do {\n                if (lVar7 == 0) break;\n                lVar7 = lVar7 + -1;\n                bVar14 = *pbVar9 < *pbVar10;\n                bVar13 = *pbVar9 == *pbVar10;\n                pbVar9 = pbVar9 + (ulong)bVar17 * -2 + 1;\n                pbVar10 = pbVar10 + (ulong)bVar17 * -2 + 1;\n              } while (bVar13);\n              bVar16 = false;\n              bVar13 = (!bVar14 && !bVar13) == bVar14;\n              if (bVar13) goto LAB_00139961;\n              lVar7 = 7;\n              pbVar9 = local_30;\n              pbVar10 = (byte *)"notype";\n              do {\n                if (lVar7 == 0) break;\n                lVar7 = lVar7 + -1;\n                bVar16 = *pbVar9 < *pbVar10;\n                bVar13 = *pbVar9 == *pbVar10;\n                pbVar9 = pbVar9 + (ulong)bVar17 * -2 + 1;\n                pbVar10 = pbVar10 + (ulong)bVar17 * -2 + 1;\n              } while (bVar13);\n              uVar11 = 0;\n              if ((((!bVar16 && !bVar13) == bVar16) ||\n                  (iVar3 = strcmp((char *)local_30,"0"), iVar3 == 0)) ||\n                 (iVar3 = strcmp((char *)__s1,"STT_NOTYPE"), iVar3 == 0)) goto LAB_00139961;\n              iVar3 = strcmp((char *)__s1,"common");\n              if (((iVar3 != 0) && (iVar3 = strcmp((char *)__s1,"5"), iVar3 != 0)) &&\n                 (iVar3 = strcmp((char *)__s1,"STT_COMMON"), iVar3 != 0)) {\n                iVar3 = strcmp((char *)__s1,"gnu_indirect_function");\n                if (((iVar3 == 0) || (iVar3 = strcmp((char *)__s1,"10"), iVar3 == 0)) ||\n                   (iVar3 = strcmp((char *)__s1,"STT_GNU_IFUNC"), iVar3 == 0)) {\n                  uVar1 = *(uint *)(*(long *)(*(long *)(DAT_0019d970 + 8) + 0x368) + 0xc);\n                  if ((9 < uVar1) ||\n                     (uVar11 = 0x400008, (0x209UL >> ((ulong)uVar1 & 0x3f) & 1) == 0)) {\n                    uVar11 = 0x400008;\n                    uVar4 = dcgettext(0,\n                                      "symbol type \"%s\" is supported only by GNU and FreeBSD targets"\n                                      ,5);\n                    FUN_0011f6d0(uVar4,__s1);\n                  }\n                }\n                else {\n                  iVar3 = strcmp((char *)__s1,"gnu_unique_object");\n                  if (iVar3 == 0) {\n                    lVar7 = *(long *)(*(long *)(DAT_0019d970 + 8) + 0x368);\n                    iVar3 = *(int *)(lVar7 + 0xc);\n                    if ((iVar3 != 3) && (iVar3 != 0)) {\n                      uVar4 = dcgettext(0,"symbol type \"%s\" is supported only by GNU targets",5);\n                      FUN_0011f6d0(uVar4,__s1);\n                    }\n                    *(undefined4 *)(lVar7 + 0xc) = 3;\n                    uVar11 = 0x810000;\n                  }\n                  else {\n                    uVar4 = dcgettext(0,"unrecognized symbol type \"%s\"",5);\n                    FUN_0011f6d0(uVar4,__s1);\n                  }\n                }\n                goto LAB_00139961;\n              }\n              iVar3 = FUN_0012ac00(uVar4);\n              if (iVar3 == 0) {\n                iVar3 = FUN_0012aed0(uVar4);\n                if (iVar3 != 0) {\n                  uVar11 = 0x10000;\n                  uVar4 = FUN_0012c530(uVar4,1);\n                  FUN_0012af90(uVar4,_bfd_std_section);\n                  FUN_0012aa50(uVar4,0);\n                  FUN_0012c440(uVar4);\n                  FUN_0012d650(uVar4,&DAT_0019d720);\n                  FUN_0012d370(uVar4);\n                  goto LAB_00139961;\n                }\n                iVar3 = FUN_0012ac30(uVar4);\n                if ((iVar3 != 0) || (iVar3 = FUN_0012da60(uVar4), iVar3 != 0)) {\n                  uVar11 = 0x10000;\n                  uVar4 = FUN_0012af30(uVar4);\n                  uVar6 = dcgettext(0,"symbol \'%s\' is already defined",5);\n                  FUN_0011f6d0(uVar6,uVar4);\n                  goto LAB_00139961;\n                }\n                FUN_0012af90(uVar4,_bfd_std_section);\n                FUN_0012aa50(uVar4,0);\n                FUN_0012c440(uVar4);\n              }\n            }\n          }\n        }\n        uVar11 = 0x10000;\n      }" if (parenthesized_expression "(!bVar13)" ( (unary_expression "!bVar13" ! identifier) )) (compound_statement "{\n        lVar7 = 7;\n        pbVar9 = local_30;\n        pbVar10 = (byte *)0x1464c9;\n        do {\n          if (lVar7 == 0) break;\n          lVar7 = lVar7 + -1;\n          bVar16 = *pbVar9 < *pbVar10;\n          bVar13 = *pbVar9 == *pbVar10;\n          pbVar9 = pbVar9 + (ulong)bVar17 * -2 + 1;\n          pbVar10 = pbVar10 + (ulong)bVar17 * -2 + 1;\n        } while (bVar13);\n        bVar14 = false;\n        bVar13 = (!bVar16 && !bVar13) == bVar16;\n        if (!bVar13) {\n          lVar7 = 2;\n          pbVar9 = local_30;\n          pbVar10 = (byte *)0x13f34c;\n          do {\n            if (lVar7 == 0) break;\n            lVar7 = lVar7 + -1;\n            bVar14 = *pbVar9 < *pbVar10;\n            bVar13 = *pbVar9 == *pbVar10;\n            pbVar9 = pbVar9 + (ulong)bVar17 * -2 + 1;\n            pbVar10 = pbVar10 + (ulong)bVar17 * -2 + 1;\n          } while (bVar13);\n          bVar16 = false;\n          bVar13 = (!bVar14 && !bVar13) == bVar14;\n          if (!bVar13) {\n            lVar7 = 0xb;\n            pbVar9 = local_30;\n            pbVar10 = (byte *)"STT_OBJECT";\n            do {\n              if (lVar7 == 0) break;\n              lVar7 = lVar7 + -1;\n              bVar16 = *pbVar9 < *pbVar10;\n              bVar13 = *pbVar9 == *pbVar10;\n              pbVar9 = pbVar9 + (ulong)bVar17 * -2 + 1;\n              pbVar10 = pbVar10 + (ulong)bVar17 * -2 + 1;\n            } while (bVar13);\n            bVar14 = false;\n            bVar13 = (!bVar16 && !bVar13) == bVar16;\n            if (!bVar13) {\n              lVar7 = 0xb;\n              uVar11 = 0x50000;\n              pbVar9 = local_30;\n              pbVar10 = (byte *)"tls_object";\n              do {\n                if (lVar7 == 0) break;\n                lVar7 = lVar7 + -1;\n                bVar14 = *pbVar9 < *pbVar10;\n                bVar13 = *pbVar9 == *pbVar10;\n                pbVar9 = pbVar9 + (ulong)bVar17 * -2 + 1;\n                pbVar10 = pbVar10 + (ulong)bVar17 * -2 + 1;\n              } while (bVar13);\n              bVar16 = false;\n              bVar13 = (!bVar14 && !bVar13) == bVar14;\n              if (bVar13) goto LAB_00139961;\n              lVar7 = 2;\n              pbVar9 = local_30;\n              pbVar10 = &DAT_001448ab;\n              do {\n                if (lVar7 == 0) break;\n                lVar7 = lVar7 + -1;\n                bVar16 = *pbVar9 < *pbVar10;\n                bVar13 = *pbVar9 == *pbVar10;\n                pbVar9 = pbVar9 + (ulong)bVar17 * -2 + 1;\n                pbVar10 = pbVar10 + (ulong)bVar17 * -2 + 1;\n              } while (bVar13);\n              bVar14 = false;\n              bVar13 = (!bVar16 && !bVar13) == bVar16;\n              if (bVar13) goto LAB_00139961;\n              lVar7 = 8;\n              pbVar9 = local_30;\n              pbVar10 = (byte *)"STT_TLS";\n              do {\n                if (lVar7 == 0) break;\n                lVar7 = lVar7 + -1;\n                bVar14 = *pbVar9 < *pbVar10;\n                bVar13 = *pbVar9 == *pbVar10;\n                pbVar9 = pbVar9 + (ulong)bVar17 * -2 + 1;\n                pbVar10 = pbVar10 + (ulong)bVar17 * -2 + 1;\n              } while (bVar13);\n              bVar16 = false;\n              bVar13 = (!bVar14 && !bVar13) == bVar14;\n              if (bVar13) goto LAB_00139961;\n              lVar7 = 7;\n              pbVar9 = local_30;\n              pbVar10 = (byte *)"notype";\n              do {\n                if (lVar7 == 0) break;\n                lVar7 = lVar7 + -1;\n                bVar16 = *pbVar9 < *pbVar10;\n                bVar13 = *pbVar9 == *pbVar10;\n                pbVar9 = pbVar9 + (ulong)bVar17 * -2 + 1;\n                pbVar10 = pbVar10 + (ulong)bVar17 * -2 + 1;\n              } while (bVar13);\n              uVar11 = 0;\n              if ((((!bVar16 && !bVar13) == bVar16) ||\n                  (iVar3 = strcmp((char *)local_30,"0"), iVar3 == 0)) ||\n                 (iVar3 = strcmp((char *)__s1,"STT_NOTYPE"), iVar3 == 0)) goto LAB_00139961;\n              iVar3 = strcmp((char *)__s1,"common");\n              if (((iVar3 != 0) && (iVar3 = strcmp((char *)__s1,"5"), iVar3 != 0)) &&\n                 (iVar3 = strcmp((char *)__s1,"STT_COMMON"), iVar3 != 0)) {\n                iVar3 = strcmp((char *)__s1,"gnu_indirect_function");\n                if (((iVar3 == 0) || (iVar3 = strcmp((char *)__s1,"10"), iVar3 == 0)) ||\n                   (iVar3 = strcmp((char *)__s1,"STT_GNU_IFUNC"), iVar3 == 0)) {\n                  uVar1 = *(uint *)(*(long *)(*(long *)(DAT_0019d970 + 8) + 0x368) + 0xc);\n                  if ((9 < uVar1) ||\n                     (uVar11 = 0x400008, (0x209UL >> ((ulong)uVar1 & 0x3f) & 1) == 0)) {\n                    uVar11 = 0x400008;\n                    uVar4 = dcgettext(0,\n                                      "symbol type \"%s\" is supported only by GNU and FreeBSD targets"\n                                      ,5);\n                    FUN_0011f6d0(uVar4,__s1);\n                  }\n                }\n                else {\n                  iVar3 = strcmp((char *)__s1,"gnu_unique_object");\n                  if (iVar3 == 0) {\n                    lVar7 = *(long *)(*(long *)(DAT_0019d970 + 8) + 0x368);\n                    iVar3 = *(int *)(lVar7 + 0xc);\n                    if ((iVar3 != 3) && (iVar3 != 0)) {\n                      uVar4 = dcgettext(0,"symbol type \"%s\" is supported only by GNU targets",5);\n                      FUN_0011f6d0(uVar4,__s1);\n                    }\n                    *(undefined4 *)(lVar7 + 0xc) = 3;\n                    uVar11 = 0x810000;\n                  }\n                  else {\n                    uVar4 = dcgettext(0,"unrecognized symbol type \"%s\"",5);\n                    FUN_0011f6d0(uVar4,__s1);\n                  }\n                }\n                goto LAB_00139961;\n              }\n              iVar3 = FUN_0012ac00(uVar4);\n              if (iVar3 == 0) {\n                iVar3 = FUN_0012aed0(uVar4);\n                if (iVar3 != 0) {\n                  uVar11 = 0x10000;\n                  uVar4 = FUN_0012c530(uVar4,1);\n                  FUN_0012af90(uVar4,_bfd_std_section);\n                  FUN_0012aa50(uVar4,0);\n                  FUN_0012c440(uVar4);\n                  FUN_0012d650(uVar4,&DAT_0019d720);\n                  FUN_0012d370(uVar4);\n                  goto LAB_00139961;\n                }\n                iVar3 = FUN_0012ac30(uVar4);\n                if ((iVar3 != 0) || (iVar3 = FUN_0012da60(uVar4), iVar3 != 0)) {\n                  uVar11 = 0x10000;\n                  uVar4 = FUN_0012af30(uVar4);\n                  uVar6 = dcgettext(0,"symbol \'%s\' is already defined",5);\n                  FUN_0011f6d0(uVar6,uVar4);\n                  goto LAB_00139961;\n                }\n                FUN_0012af90(uVar4,_bfd_std_section);\n                FUN_0012aa50(uVar4,0);\n                FUN_0012c440(uVar4);\n              }\n            }\n          }\n        }\n        uVar11 = 0x10000;\n      }" { (expression_statement "lVar7 = 7;" (assignment_expression "lVar7 = 7" identifier = number_literal) ;) (expression_statement "pbVar9 = local_30;" (assignment_expression "pbVar9 = local_30" identifier = identifier) ;) (expression_statement "pbVar10 = (byte *)0x1464c9;" (assignment_expression "pbVar10 = (byte *)0x1464c9" identifier = (cast_expression "(byte *)0x1464c9" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (do_statement "do {\n          if (lVar7 == 0) break;\n          lVar7 = lVar7 + -1;\n          bVar16 = *pbVar9 < *pbVar10;\n          bVar13 = *pbVar9 == *pbVar10;\n          pbVar9 = pbVar9 + (ulong)bVar17 * -2 + 1;\n          pbVar10 = pbVar10 + (ulong)bVar17 * -2 + 1;\n        } while (bVar13);" do (compound_statement "{\n          if (lVar7 == 0) break;\n          lVar7 = lVar7 + -1;\n          bVar16 = *pbVar9 < *pbVar10;\n          bVar13 = *pbVar9 == *pbVar10;\n          pbVar9 = pbVar9 + (ulong)bVar17 * -2 + 1;\n          pbVar10 = pbVar10 + (ulong)bVar17 * -2 + 1;\n        }" { (if_statement "if (lVar7 == 0) break;" if (parenthesized_expression "(lVar7 == 0)" ( (binary_expression "lVar7 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "lVar7 = lVar7 + -1;" (assignment_expression "lVar7 = lVar7 + -1" identifier = (binary_expression "lVar7 + -1" identifier + number_literal)) ;) (expression_statement "bVar16 = *pbVar9 < *pbVar10;" (assignment_expression "bVar16 = *pbVar9 < *pbVar10" identifier = (binary_expression "*pbVar9 < *pbVar10" (pointer_expression "*pbVar9" * identifier) < (pointer_expression "*pbVar10" * identifier))) ;) (expression_statement "bVar13 = *pbVar9 == *pbVar10;" (assignment_expression "bVar13 = *pbVar9 == *pbVar10" identifier = (binary_expression "*pbVar9 == *pbVar10" (pointer_expression "*pbVar9" * identifier) == (pointer_expression "*pbVar10" * identifier))) ;) (expression_statement "pbVar9 = pbVar9 + (ulong)bVar17 * -2 + 1;" (assignment_expression "pbVar9 = pbVar9 + (ulong)bVar17 * -2 + 1" identifier = (binary_expression "pbVar9 + (ulong)bVar17 * -2 + 1" (binary_expression "pbVar9 + (ulong)bVar17 * -2" identifier + (binary_expression "(ulong)bVar17 * -2" (cast_expression "(ulong)bVar17" ( (type_descriptor "ulong" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) (expression_statement "pbVar10 = pbVar10 + (ulong)bVar17 * -2 + 1;" (assignment_expression "pbVar10 = pbVar10 + (ulong)bVar17 * -2 + 1" identifier = (binary_expression "pbVar10 + (ulong)bVar17 * -2 + 1" (binary_expression "pbVar10 + (ulong)bVar17 * -2" identifier + (binary_expression "(ulong)bVar17 * -2" (cast_expression "(ulong)bVar17" ( (type_descriptor "ulong" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) }) while (parenthesized_expression "(bVar13)" ( identifier )) ;) (expression_statement "bVar14 = false;" (assignment_expression "bVar14 = false" identifier = false) ;) (expression_statement "bVar13 = (!bVar16 && !bVar13) == bVar16;" (assignment_expression "bVar13 = (!bVar16 && !bVar13) == bVar16" identifier = (binary_expression "(!bVar16 && !bVar13) == bVar16" (parenthesized_expression "(!bVar16 && !bVar13)" ( (binary_expression "!bVar16 && !bVar13" (unary_expression "!bVar16" ! identifier) && (unary_expression "!bVar13" ! identifier)) )) == identifier)) ;) (if_statement "if (!bVar13) {\n          lVar7 = 2;\n          pbVar9 = local_30;\n          pbVar10 = (byte *)0x13f34c;\n          do {\n            if (lVar7 == 0) break;\n            lVar7 = lVar7 + -1;\n            bVar14 = *pbVar9 < *pbVar10;\n            bVar13 = *pbVar9 == *pbVar10;\n            pbVar9 = pbVar9 + (ulong)bVar17 * -2 + 1;\n            pbVar10 = pbVar10 + (ulong)bVar17 * -2 + 1;\n          } while (bVar13);\n          bVar16 = false;\n          bVar13 = (!bVar14 && !bVar13) == bVar14;\n          if (!bVar13) {\n            lVar7 = 0xb;\n            pbVar9 = local_30;\n            pbVar10 = (byte *)"STT_OBJECT";\n            do {\n              if (lVar7 == 0) break;\n              lVar7 = lVar7 + -1;\n              bVar16 = *pbVar9 < *pbVar10;\n              bVar13 = *pbVar9 == *pbVar10;\n              pbVar9 = pbVar9 + (ulong)bVar17 * -2 + 1;\n              pbVar10 = pbVar10 + (ulong)bVar17 * -2 + 1;\n            } while (bVar13);\n            bVar14 = false;\n            bVar13 = (!bVar16 && !bVar13) == bVar16;\n            if (!bVar13) {\n              lVar7 = 0xb;\n              uVar11 = 0x50000;\n              pbVar9 = local_30;\n              pbVar10 = (byte *)"tls_object";\n              do {\n                if (lVar7 == 0) break;\n                lVar7 = lVar7 + -1;\n                bVar14 = *pbVar9 < *pbVar10;\n                bVar13 = *pbVar9 == *pbVar10;\n                pbVar9 = pbVar9 + (ulong)bVar17 * -2 + 1;\n                pbVar10 = pbVar10 + (ulong)bVar17 * -2 + 1;\n              } while (bVar13);\n              bVar16 = false;\n              bVar13 = (!bVar14 && !bVar13) == bVar14;\n              if (bVar13) goto LAB_00139961;\n              lVar7 = 2;\n              pbVar9 = local_30;\n              pbVar10 = &DAT_001448ab;\n              do {\n                if (lVar7 == 0) break;\n                lVar7 = lVar7 + -1;\n                bVar16 = *pbVar9 < *pbVar10;\n                bVar13 = *pbVar9 == *pbVar10;\n                pbVar9 = pbVar9 + (ulong)bVar17 * -2 + 1;\n                pbVar10 = pbVar10 + (ulong)bVar17 * -2 + 1;\n              } while (bVar13);\n              bVar14 = false;\n              bVar13 = (!bVar16 && !bVar13) == bVar16;\n              if (bVar13) goto LAB_00139961;\n              lVar7 = 8;\n              pbVar9 = local_30;\n              pbVar10 = (byte *)"STT_TLS";\n              do {\n                if (lVar7 == 0) break;\n                lVar7 = lVar7 + -1;\n                bVar14 = *pbVar9 < *pbVar10;\n                bVar13 = *pbVar9 == *pbVar10;\n                pbVar9 = pbVar9 + (ulong)bVar17 * -2 + 1;\n                pbVar10 = pbVar10 + (ulong)bVar17 * -2 + 1;\n              } while (bVar13);\n              bVar16 = false;\n              bVar13 = (!bVar14 && !bVar13) == bVar14;\n              if (bVar13) goto LAB_00139961;\n              lVar7 = 7;\n              pbVar9 = local_30;\n              pbVar10 = (byte *)"notype";\n              do {\n                if (lVar7 == 0) break;\n                lVar7 = lVar7 + -1;\n                bVar16 = *pbVar9 < *pbVar10;\n                bVar13 = *pbVar9 == *pbVar10;\n                pbVar9 = pbVar9 + (ulong)bVar17 * -2 + 1;\n                pbVar10 = pbVar10 + (ulong)bVar17 * -2 + 1;\n              } while (bVar13);\n              uVar11 = 0;\n              if ((((!bVar16 && !bVar13) == bVar16) ||\n                  (iVar3 = strcmp((char *)local_30,"0"), iVar3 == 0)) ||\n                 (iVar3 = strcmp((char *)__s1,"STT_NOTYPE"), iVar3 == 0)) goto LAB_00139961;\n              iVar3 = strcmp((char *)__s1,"common");\n              if (((iVar3 != 0) && (iVar3 = strcmp((char *)__s1,"5"), iVar3 != 0)) &&\n                 (iVar3 = strcmp((char *)__s1,"STT_COMMON"), iVar3 != 0)) {\n                iVar3 = strcmp((char *)__s1,"gnu_indirect_function");\n                if (((iVar3 == 0) || (iVar3 = strcmp((char *)__s1,"10"), iVar3 == 0)) ||\n                   (iVar3 = strcmp((char *)__s1,"STT_GNU_IFUNC"), iVar3 == 0)) {\n                  uVar1 = *(uint *)(*(long *)(*(long *)(DAT_0019d970 + 8) + 0x368) + 0xc);\n                  if ((9 < uVar1) ||\n                     (uVar11 = 0x400008, (0x209UL >> ((ulong)uVar1 & 0x3f) & 1) == 0)) {\n                    uVar11 = 0x400008;\n                    uVar4 = dcgettext(0,\n                                      "symbol type \"%s\" is supported only by GNU and FreeBSD targets"\n                                      ,5);\n                    FUN_0011f6d0(uVar4,__s1);\n                  }\n                }\n                else {\n                  iVar3 = strcmp((char *)__s1,"gnu_unique_object");\n                  if (iVar3 == 0) {\n                    lVar7 = *(long *)(*(long *)(DAT_0019d970 + 8) + 0x368);\n                    iVar3 = *(int *)(lVar7 + 0xc);\n                    if ((iVar3 != 3) && (iVar3 != 0)) {\n                      uVar4 = dcgettext(0,"symbol type \"%s\" is supported only by GNU targets",5);\n                      FUN_0011f6d0(uVar4,__s1);\n                    }\n                    *(undefined4 *)(lVar7 + 0xc) = 3;\n                    uVar11 = 0x810000;\n                  }\n                  else {\n                    uVar4 = dcgettext(0,"unrecognized symbol type \"%s\"",5);\n                    FUN_0011f6d0(uVar4,__s1);\n                  }\n                }\n                goto LAB_00139961;\n              }\n              iVar3 = FUN_0012ac00(uVar4);\n              if (iVar3 == 0) {\n                iVar3 = FUN_0012aed0(uVar4);\n                if (iVar3 != 0) {\n                  uVar11 = 0x10000;\n                  uVar4 = FUN_0012c530(uVar4,1);\n                  FUN_0012af90(uVar4,_bfd_std_section);\n                  FUN_0012aa50(uVar4,0);\n                  FUN_0012c440(uVar4);\n                  FUN_0012d650(uVar4,&DAT_0019d720);\n                  FUN_0012d370(uVar4);\n                  goto LAB_00139961;\n                }\n                iVar3 = FUN_0012ac30(uVar4);\n                if ((iVar3 != 0) || (iVar3 = FUN_0012da60(uVar4), iVar3 != 0)) {\n                  uVar11 = 0x10000;\n                  uVar4 = FUN_0012af30(uVar4);\n                  uVar6 = dcgettext(0,"symbol \'%s\' is already defined",5);\n                  FUN_0011f6d0(uVar6,uVar4);\n                  goto LAB_00139961;\n                }\n                FUN_0012af90(uVar4,_bfd_std_section);\n                FUN_0012aa50(uVar4,0);\n                FUN_0012c440(uVar4);\n              }\n            }\n          }\n        }" if (parenthesized_expression "(!bVar13)" ( (unary_expression "!bVar13" ! identifier) )) (compound_statement "{\n          lVar7 = 2;\n          pbVar9 = local_30;\n          pbVar10 = (byte *)0x13f34c;\n          do {\n            if (lVar7 == 0) break;\n            lVar7 = lVar7 + -1;\n            bVar14 = *pbVar9 < *pbVar10;\n            bVar13 = *pbVar9 == *pbVar10;\n            pbVar9 = pbVar9 + (ulong)bVar17 * -2 + 1;\n            pbVar10 = pbVar10 + (ulong)bVar17 * -2 + 1;\n          } while (bVar13);\n          bVar16 = false;\n          bVar13 = (!bVar14 && !bVar13) == bVar14;\n          if (!bVar13) {\n            lVar7 = 0xb;\n            pbVar9 = local_30;\n            pbVar10 = (byte *)"STT_OBJECT";\n            do {\n              if (lVar7 == 0) break;\n              lVar7 = lVar7 + -1;\n              bVar16 = *pbVar9 < *pbVar10;\n              bVar13 = *pbVar9 == *pbVar10;\n              pbVar9 = pbVar9 + (ulong)bVar17 * -2 + 1;\n              pbVar10 = pbVar10 + (ulong)bVar17 * -2 + 1;\n            } while (bVar13);\n            bVar14 = false;\n            bVar13 = (!bVar16 && !bVar13) == bVar16;\n            if (!bVar13) {\n              lVar7 = 0xb;\n              uVar11 = 0x50000;\n              pbVar9 = local_30;\n              pbVar10 = (byte *)"tls_object";\n              do {\n                if (lVar7 == 0) break;\n                lVar7 = lVar7 + -1;\n                bVar14 = *pbVar9 < *pbVar10;\n                bVar13 = *pbVar9 == *pbVar10;\n                pbVar9 = pbVar9 + (ulong)bVar17 * -2 + 1;\n                pbVar10 = pbVar10 + (ulong)bVar17 * -2 + 1;\n              } while (bVar13);\n              bVar16 = false;\n              bVar13 = (!bVar14 && !bVar13) == bVar14;\n              if (bVar13) goto LAB_00139961;\n              lVar7 = 2;\n              pbVar9 = local_30;\n              pbVar10 = &DAT_001448ab;\n              do {\n                if (lVar7 == 0) break;\n                lVar7 = lVar7 + -1;\n                bVar16 = *pbVar9 < *pbVar10;\n                bVar13 = *pbVar9 == *pbVar10;\n                pbVar9 = pbVar9 + (ulong)bVar17 * -2 + 1;\n                pbVar10 = pbVar10 + (ulong)bVar17 * -2 + 1;\n              } while (bVar13);\n              bVar14 = false;\n              bVar13 = (!bVar16 && !bVar13) == bVar16;\n              if (bVar13) goto LAB_00139961;\n              lVar7 = 8;\n              pbVar9 = local_30;\n              pbVar10 = (byte *)"STT_TLS";\n              do {\n                if (lVar7 == 0) break;\n                lVar7 = lVar7 + -1;\n                bVar14 = *pbVar9 < *pbVar10;\n                bVar13 = *pbVar9 == *pbVar10;\n                pbVar9 = pbVar9 + (ulong)bVar17 * -2 + 1;\n                pbVar10 = pbVar10 + (ulong)bVar17 * -2 + 1;\n              } while (bVar13);\n              bVar16 = false;\n              bVar13 = (!bVar14 && !bVar13) == bVar14;\n              if (bVar13) goto LAB_00139961;\n              lVar7 = 7;\n              pbVar9 = local_30;\n              pbVar10 = (byte *)"notype";\n              do {\n                if (lVar7 == 0) break;\n                lVar7 = lVar7 + -1;\n                bVar16 = *pbVar9 < *pbVar10;\n                bVar13 = *pbVar9 == *pbVar10;\n                pbVar9 = pbVar9 + (ulong)bVar17 * -2 + 1;\n                pbVar10 = pbVar10 + (ulong)bVar17 * -2 + 1;\n              } while (bVar13);\n              uVar11 = 0;\n              if ((((!bVar16 && !bVar13) == bVar16) ||\n                  (iVar3 = strcmp((char *)local_30,"0"), iVar3 == 0)) ||\n                 (iVar3 = strcmp((char *)__s1,"STT_NOTYPE"), iVar3 == 0)) goto LAB_00139961;\n              iVar3 = strcmp((char *)__s1,"common");\n              if (((iVar3 != 0) && (iVar3 = strcmp((char *)__s1,"5"), iVar3 != 0)) &&\n                 (iVar3 = strcmp((char *)__s1,"STT_COMMON"), iVar3 != 0)) {\n                iVar3 = strcmp((char *)__s1,"gnu_indirect_function");\n                if (((iVar3 == 0) || (iVar3 = strcmp((char *)__s1,"10"), iVar3 == 0)) ||\n                   (iVar3 = strcmp((char *)__s1,"STT_GNU_IFUNC"), iVar3 == 0)) {\n                  uVar1 = *(uint *)(*(long *)(*(long *)(DAT_0019d970 + 8) + 0x368) + 0xc);\n                  if ((9 < uVar1) ||\n                     (uVar11 = 0x400008, (0x209UL >> ((ulong)uVar1 & 0x3f) & 1) == 0)) {\n                    uVar11 = 0x400008;\n                    uVar4 = dcgettext(0,\n                                      "symbol type \"%s\" is supported only by GNU and FreeBSD targets"\n                                      ,5);\n                    FUN_0011f6d0(uVar4,__s1);\n                  }\n                }\n                else {\n                  iVar3 = strcmp((char *)__s1,"gnu_unique_object");\n                  if (iVar3 == 0) {\n                    lVar7 = *(long *)(*(long *)(DAT_0019d970 + 8) + 0x368);\n                    iVar3 = *(int *)(lVar7 + 0xc);\n                    if ((iVar3 != 3) && (iVar3 != 0)) {\n                      uVar4 = dcgettext(0,"symbol type \"%s\" is supported only by GNU targets",5);\n                      FUN_0011f6d0(uVar4,__s1);\n                    }\n                    *(undefined4 *)(lVar7 + 0xc) = 3;\n                    uVar11 = 0x810000;\n                  }\n                  else {\n                    uVar4 = dcgettext(0,"unrecognized symbol type \"%s\"",5);\n                    FUN_0011f6d0(uVar4,__s1);\n                  }\n                }\n                goto LAB_00139961;\n              }\n              iVar3 = FUN_0012ac00(uVar4);\n              if (iVar3 == 0) {\n                iVar3 = FUN_0012aed0(uVar4);\n                if (iVar3 != 0) {\n                  uVar11 = 0x10000;\n                  uVar4 = FUN_0012c530(uVar4,1);\n                  FUN_0012af90(uVar4,_bfd_std_section);\n                  FUN_0012aa50(uVar4,0);\n                  FUN_0012c440(uVar4);\n                  FUN_0012d650(uVar4,&DAT_0019d720);\n                  FUN_0012d370(uVar4);\n                  goto LAB_00139961;\n                }\n                iVar3 = FUN_0012ac30(uVar4);\n                if ((iVar3 != 0) || (iVar3 = FUN_0012da60(uVar4), iVar3 != 0)) {\n                  uVar11 = 0x10000;\n                  uVar4 = FUN_0012af30(uVar4);\n                  uVar6 = dcgettext(0,"symbol \'%s\' is already defined",5);\n                  FUN_0011f6d0(uVar6,uVar4);\n                  goto LAB_00139961;\n                }\n                FUN_0012af90(uVar4,_bfd_std_section);\n                FUN_0012aa50(uVar4,0);\n                FUN_0012c440(uVar4);\n              }\n            }\n          }\n        }" { (expression_statement "lVar7 = 2;" (assignment_expression "lVar7 = 2" identifier = number_literal) ;) (expression_statement "pbVar9 = local_30;" (assignment_expression "pbVar9 = local_30" identifier = identifier) ;) (expression_statement "pbVar10 = (byte *)0x13f34c;" (assignment_expression "pbVar10 = (byte *)0x13f34c" identifier = (cast_expression "(byte *)0x13f34c" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (do_statement "do {\n            if (lVar7 == 0) break;\n            lVar7 = lVar7 + -1;\n            bVar14 = *pbVar9 < *pbVar10;\n            bVar13 = *pbVar9 == *pbVar10;\n            pbVar9 = pbVar9 + (ulong)bVar17 * -2 + 1;\n            pbVar10 = pbVar10 + (ulong)bVar17 * -2 + 1;\n          } while (bVar13);" do (compound_statement "{\n            if (lVar7 == 0) break;\n            lVar7 = lVar7 + -1;\n            bVar14 = *pbVar9 < *pbVar10;\n            bVar13 = *pbVar9 == *pbVar10;\n            pbVar9 = pbVar9 + (ulong)bVar17 * -2 + 1;\n            pbVar10 = pbVar10 + (ulong)bVar17 * -2 + 1;\n          }" { (if_statement "if (lVar7 == 0) break;" if (parenthesized_expression "(lVar7 == 0)" ( (binary_expression "lVar7 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "lVar7 = lVar7 + -1;" (assignment_expression "lVar7 = lVar7 + -1" identifier = (binary_expression "lVar7 + -1" identifier + number_literal)) ;) (expression_statement "bVar14 = *pbVar9 < *pbVar10;" (assignment_expression "bVar14 = *pbVar9 < *pbVar10" identifier = (binary_expression "*pbVar9 < *pbVar10" (pointer_expression "*pbVar9" * identifier) < (pointer_expression "*pbVar10" * identifier))) ;) (expression_statement "bVar13 = *pbVar9 == *pbVar10;" (assignment_expression "bVar13 = *pbVar9 == *pbVar10" identifier = (binary_expression "*pbVar9 == *pbVar10" (pointer_expression "*pbVar9" * identifier) == (pointer_expression "*pbVar10" * identifier))) ;) (expression_statement "pbVar9 = pbVar9 + (ulong)bVar17 * -2 + 1;" (assignment_expression "pbVar9 = pbVar9 + (ulong)bVar17 * -2 + 1" identifier = (binary_expression "pbVar9 + (ulong)bVar17 * -2 + 1" (binary_expression "pbVar9 + (ulong)bVar17 * -2" identifier + (binary_expression "(ulong)bVar17 * -2" (cast_expression "(ulong)bVar17" ( (type_descriptor "ulong" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) (expression_statement "pbVar10 = pbVar10 + (ulong)bVar17 * -2 + 1;" (assignment_expression "pbVar10 = pbVar10 + (ulong)bVar17 * -2 + 1" identifier = (binary_expression "pbVar10 + (ulong)bVar17 * -2 + 1" (binary_expression "pbVar10 + (ulong)bVar17 * -2" identifier + (binary_expression "(ulong)bVar17 * -2" (cast_expression "(ulong)bVar17" ( (type_descriptor "ulong" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) }) while (parenthesized_expression "(bVar13)" ( identifier )) ;) (expression_statement "bVar16 = false;" (assignment_expression "bVar16 = false" identifier = false) ;) (expression_statement "bVar13 = (!bVar14 && !bVar13) == bVar14;" (assignment_expression "bVar13 = (!bVar14 && !bVar13) == bVar14" identifier = (binary_expression "(!bVar14 && !bVar13) == bVar14" (parenthesized_expression "(!bVar14 && !bVar13)" ( (binary_expression "!bVar14 && !bVar13" (unary_expression "!bVar14" ! identifier) && (unary_expression "!bVar13" ! identifier)) )) == identifier)) ;) (if_statement "if (!bVar13) {\n            lVar7 = 0xb;\n            pbVar9 = local_30;\n            pbVar10 = (byte *)"STT_OBJECT";\n            do {\n              if (lVar7 == 0) break;\n              lVar7 = lVar7 + -1;\n              bVar16 = *pbVar9 < *pbVar10;\n              bVar13 = *pbVar9 == *pbVar10;\n              pbVar9 = pbVar9 + (ulong)bVar17 * -2 + 1;\n              pbVar10 = pbVar10 + (ulong)bVar17 * -2 + 1;\n            } while (bVar13);\n            bVar14 = false;\n            bVar13 = (!bVar16 && !bVar13) == bVar16;\n            if (!bVar13) {\n              lVar7 = 0xb;\n              uVar11 = 0x50000;\n              pbVar9 = local_30;\n              pbVar10 = (byte *)"tls_object";\n              do {\n                if (lVar7 == 0) break;\n                lVar7 = lVar7 + -1;\n                bVar14 = *pbVar9 < *pbVar10;\n                bVar13 = *pbVar9 == *pbVar10;\n                pbVar9 = pbVar9 + (ulong)bVar17 * -2 + 1;\n                pbVar10 = pbVar10 + (ulong)bVar17 * -2 + 1;\n              } while (bVar13);\n              bVar16 = false;\n              bVar13 = (!bVar14 && !bVar13) == bVar14;\n              if (bVar13) goto LAB_00139961;\n              lVar7 = 2;\n              pbVar9 = local_30;\n              pbVar10 = &DAT_001448ab;\n              do {\n                if (lVar7 == 0) break;\n                lVar7 = lVar7 + -1;\n                bVar16 = *pbVar9 < *pbVar10;\n                bVar13 = *pbVar9 == *pbVar10;\n                pbVar9 = pbVar9 + (ulong)bVar17 * -2 + 1;\n                pbVar10 = pbVar10 + (ulong)bVar17 * -2 + 1;\n              } while (bVar13);\n              bVar14 = false;\n              bVar13 = (!bVar16 && !bVar13) == bVar16;\n              if (bVar13) goto LAB_00139961;\n              lVar7 = 8;\n              pbVar9 = local_30;\n              pbVar10 = (byte *)"STT_TLS";\n              do {\n                if (lVar7 == 0) break;\n                lVar7 = lVar7 + -1;\n                bVar14 = *pbVar9 < *pbVar10;\n                bVar13 = *pbVar9 == *pbVar10;\n                pbVar9 = pbVar9 + (ulong)bVar17 * -2 + 1;\n                pbVar10 = pbVar10 + (ulong)bVar17 * -2 + 1;\n              } while (bVar13);\n              bVar16 = false;\n              bVar13 = (!bVar14 && !bVar13) == bVar14;\n              if (bVar13) goto LAB_00139961;\n              lVar7 = 7;\n              pbVar9 = local_30;\n              pbVar10 = (byte *)"notype";\n              do {\n                if (lVar7 == 0) break;\n                lVar7 = lVar7 + -1;\n                bVar16 = *pbVar9 < *pbVar10;\n                bVar13 = *pbVar9 == *pbVar10;\n                pbVar9 = pbVar9 + (ulong)bVar17 * -2 + 1;\n                pbVar10 = pbVar10 + (ulong)bVar17 * -2 + 1;\n              } while (bVar13);\n              uVar11 = 0;\n              if ((((!bVar16 && !bVar13) == bVar16) ||\n                  (iVar3 = strcmp((char *)local_30,"0"), iVar3 == 0)) ||\n                 (iVar3 = strcmp((char *)__s1,"STT_NOTYPE"), iVar3 == 0)) goto LAB_00139961;\n              iVar3 = strcmp((char *)__s1,"common");\n              if (((iVar3 != 0) && (iVar3 = strcmp((char *)__s1,"5"), iVar3 != 0)) &&\n                 (iVar3 = strcmp((char *)__s1,"STT_COMMON"), iVar3 != 0)) {\n                iVar3 = strcmp((char *)__s1,"gnu_indirect_function");\n                if (((iVar3 == 0) || (iVar3 = strcmp((char *)__s1,"10"), iVar3 == 0)) ||\n                   (iVar3 = strcmp((char *)__s1,"STT_GNU_IFUNC"), iVar3 == 0)) {\n                  uVar1 = *(uint *)(*(long *)(*(long *)(DAT_0019d970 + 8) + 0x368) + 0xc);\n                  if ((9 < uVar1) ||\n                     (uVar11 = 0x400008, (0x209UL >> ((ulong)uVar1 & 0x3f) & 1) == 0)) {\n                    uVar11 = 0x400008;\n                    uVar4 = dcgettext(0,\n                                      "symbol type \"%s\" is supported only by GNU and FreeBSD targets"\n                                      ,5);\n                    FUN_0011f6d0(uVar4,__s1);\n                  }\n                }\n                else {\n                  iVar3 = strcmp((char *)__s1,"gnu_unique_object");\n                  if (iVar3 == 0) {\n                    lVar7 = *(long *)(*(long *)(DAT_0019d970 + 8) + 0x368);\n                    iVar3 = *(int *)(lVar7 + 0xc);\n                    if ((iVar3 != 3) && (iVar3 != 0)) {\n                      uVar4 = dcgettext(0,"symbol type \"%s\" is supported only by GNU targets",5);\n                      FUN_0011f6d0(uVar4,__s1);\n                    }\n                    *(undefined4 *)(lVar7 + 0xc) = 3;\n                    uVar11 = 0x810000;\n                  }\n                  else {\n                    uVar4 = dcgettext(0,"unrecognized symbol type \"%s\"",5);\n                    FUN_0011f6d0(uVar4,__s1);\n                  }\n                }\n                goto LAB_00139961;\n              }\n              iVar3 = FUN_0012ac00(uVar4);\n              if (iVar3 == 0) {\n                iVar3 = FUN_0012aed0(uVar4);\n                if (iVar3 != 0) {\n                  uVar11 = 0x10000;\n                  uVar4 = FUN_0012c530(uVar4,1);\n                  FUN_0012af90(uVar4,_bfd_std_section);\n                  FUN_0012aa50(uVar4,0);\n                  FUN_0012c440(uVar4);\n                  FUN_0012d650(uVar4,&DAT_0019d720);\n                  FUN_0012d370(uVar4);\n                  goto LAB_00139961;\n                }\n                iVar3 = FUN_0012ac30(uVar4);\n                if ((iVar3 != 0) || (iVar3 = FUN_0012da60(uVar4), iVar3 != 0)) {\n                  uVar11 = 0x10000;\n                  uVar4 = FUN_0012af30(uVar4);\n                  uVar6 = dcgettext(0,"symbol \'%s\' is already defined",5);\n                  FUN_0011f6d0(uVar6,uVar4);\n                  goto LAB_00139961;\n                }\n                FUN_0012af90(uVar4,_bfd_std_section);\n                FUN_0012aa50(uVar4,0);\n                FUN_0012c440(uVar4);\n              }\n            }\n          }" if (parenthesized_expression "(!bVar13)" ( (unary_expression "!bVar13" ! identifier) )) (compound_statement "{\n            lVar7 = 0xb;\n            pbVar9 = local_30;\n            pbVar10 = (byte *)"STT_OBJECT";\n            do {\n              if (lVar7 == 0) break;\n              lVar7 = lVar7 + -1;\n              bVar16 = *pbVar9 < *pbVar10;\n              bVar13 = *pbVar9 == *pbVar10;\n              pbVar9 = pbVar9 + (ulong)bVar17 * -2 + 1;\n              pbVar10 = pbVar10 + (ulong)bVar17 * -2 + 1;\n            } while (bVar13);\n            bVar14 = false;\n            bVar13 = (!bVar16 && !bVar13) == bVar16;\n            if (!bVar13) {\n              lVar7 = 0xb;\n              uVar11 = 0x50000;\n              pbVar9 = local_30;\n              pbVar10 = (byte *)"tls_object";\n              do {\n                if (lVar7 == 0) break;\n                lVar7 = lVar7 + -1;\n                bVar14 = *pbVar9 < *pbVar10;\n                bVar13 = *pbVar9 == *pbVar10;\n                pbVar9 = pbVar9 + (ulong)bVar17 * -2 + 1;\n                pbVar10 = pbVar10 + (ulong)bVar17 * -2 + 1;\n              } while (bVar13);\n              bVar16 = false;\n              bVar13 = (!bVar14 && !bVar13) == bVar14;\n              if (bVar13) goto LAB_00139961;\n              lVar7 = 2;\n              pbVar9 = local_30;\n              pbVar10 = &DAT_001448ab;\n              do {\n                if (lVar7 == 0) break;\n                lVar7 = lVar7 + -1;\n                bVar16 = *pbVar9 < *pbVar10;\n                bVar13 = *pbVar9 == *pbVar10;\n                pbVar9 = pbVar9 + (ulong)bVar17 * -2 + 1;\n                pbVar10 = pbVar10 + (ulong)bVar17 * -2 + 1;\n              } while (bVar13);\n              bVar14 = false;\n              bVar13 = (!bVar16 && !bVar13) == bVar16;\n              if (bVar13) goto LAB_00139961;\n              lVar7 = 8;\n              pbVar9 = local_30;\n              pbVar10 = (byte *)"STT_TLS";\n              do {\n                if (lVar7 == 0) break;\n                lVar7 = lVar7 + -1;\n                bVar14 = *pbVar9 < *pbVar10;\n                bVar13 = *pbVar9 == *pbVar10;\n                pbVar9 = pbVar9 + (ulong)bVar17 * -2 + 1;\n                pbVar10 = pbVar10 + (ulong)bVar17 * -2 + 1;\n              } while (bVar13);\n              bVar16 = false;\n              bVar13 = (!bVar14 && !bVar13) == bVar14;\n              if (bVar13) goto LAB_00139961;\n              lVar7 = 7;\n              pbVar9 = local_30;\n              pbVar10 = (byte *)"notype";\n              do {\n                if (lVar7 == 0) break;\n                lVar7 = lVar7 + -1;\n                bVar16 = *pbVar9 < *pbVar10;\n                bVar13 = *pbVar9 == *pbVar10;\n                pbVar9 = pbVar9 + (ulong)bVar17 * -2 + 1;\n                pbVar10 = pbVar10 + (ulong)bVar17 * -2 + 1;\n              } while (bVar13);\n              uVar11 = 0;\n              if ((((!bVar16 && !bVar13) == bVar16) ||\n                  (iVar3 = strcmp((char *)local_30,"0"), iVar3 == 0)) ||\n                 (iVar3 = strcmp((char *)__s1,"STT_NOTYPE"), iVar3 == 0)) goto LAB_00139961;\n              iVar3 = strcmp((char *)__s1,"common");\n              if (((iVar3 != 0) && (iVar3 = strcmp((char *)__s1,"5"), iVar3 != 0)) &&\n                 (iVar3 = strcmp((char *)__s1,"STT_COMMON"), iVar3 != 0)) {\n                iVar3 = strcmp((char *)__s1,"gnu_indirect_function");\n                if (((iVar3 == 0) || (iVar3 = strcmp((char *)__s1,"10"), iVar3 == 0)) ||\n                   (iVar3 = strcmp((char *)__s1,"STT_GNU_IFUNC"), iVar3 == 0)) {\n                  uVar1 = *(uint *)(*(long *)(*(long *)(DAT_0019d970 + 8) + 0x368) + 0xc);\n                  if ((9 < uVar1) ||\n                     (uVar11 = 0x400008, (0x209UL >> ((ulong)uVar1 & 0x3f) & 1) == 0)) {\n                    uVar11 = 0x400008;\n                    uVar4 = dcgettext(0,\n                                      "symbol type \"%s\" is supported only by GNU and FreeBSD targets"\n                                      ,5);\n                    FUN_0011f6d0(uVar4,__s1);\n                  }\n                }\n                else {\n                  iVar3 = strcmp((char *)__s1,"gnu_unique_object");\n                  if (iVar3 == 0) {\n                    lVar7 = *(long *)(*(long *)(DAT_0019d970 + 8) + 0x368);\n                    iVar3 = *(int *)(lVar7 + 0xc);\n                    if ((iVar3 != 3) && (iVar3 != 0)) {\n                      uVar4 = dcgettext(0,"symbol type \"%s\" is supported only by GNU targets",5);\n                      FUN_0011f6d0(uVar4,__s1);\n                    }\n                    *(undefined4 *)(lVar7 + 0xc) = 3;\n                    uVar11 = 0x810000;\n                  }\n                  else {\n                    uVar4 = dcgettext(0,"unrecognized symbol type \"%s\"",5);\n                    FUN_0011f6d0(uVar4,__s1);\n                  }\n                }\n                goto LAB_00139961;\n              }\n              iVar3 = FUN_0012ac00(uVar4);\n              if (iVar3 == 0) {\n                iVar3 = FUN_0012aed0(uVar4);\n                if (iVar3 != 0) {\n                  uVar11 = 0x10000;\n                  uVar4 = FUN_0012c530(uVar4,1);\n                  FUN_0012af90(uVar4,_bfd_std_section);\n                  FUN_0012aa50(uVar4,0);\n                  FUN_0012c440(uVar4);\n                  FUN_0012d650(uVar4,&DAT_0019d720);\n                  FUN_0012d370(uVar4);\n                  goto LAB_00139961;\n                }\n                iVar3 = FUN_0012ac30(uVar4);\n                if ((iVar3 != 0) || (iVar3 = FUN_0012da60(uVar4), iVar3 != 0)) {\n                  uVar11 = 0x10000;\n                  uVar4 = FUN_0012af30(uVar4);\n                  uVar6 = dcgettext(0,"symbol \'%s\' is already defined",5);\n                  FUN_0011f6d0(uVar6,uVar4);\n                  goto LAB_00139961;\n                }\n                FUN_0012af90(uVar4,_bfd_std_section);\n                FUN_0012aa50(uVar4,0);\n                FUN_0012c440(uVar4);\n              }\n            }\n          }" { (expression_statement "lVar7 = 0xb;" (assignment_expression "lVar7 = 0xb" identifier = number_literal) ;) (expression_statement "pbVar9 = local_30;" (assignment_expression "pbVar9 = local_30" identifier = identifier) ;) (expression_statement "pbVar10 = (byte *)"STT_OBJECT";" (assignment_expression "pbVar10 = (byte *)"STT_OBJECT"" identifier = (cast_expression "(byte *)"STT_OBJECT"" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (string_literal ""STT_OBJECT"" " string_content "))) ;) (do_statement "do {\n              if (lVar7 == 0) break;\n              lVar7 = lVar7 + -1;\n              bVar16 = *pbVar9 < *pbVar10;\n              bVar13 = *pbVar9 == *pbVar10;\n              pbVar9 = pbVar9 + (ulong)bVar17 * -2 + 1;\n              pbVar10 = pbVar10 + (ulong)bVar17 * -2 + 1;\n            } while (bVar13);" do (compound_statement "{\n              if (lVar7 == 0) break;\n              lVar7 = lVar7 + -1;\n              bVar16 = *pbVar9 < *pbVar10;\n              bVar13 = *pbVar9 == *pbVar10;\n              pbVar9 = pbVar9 + (ulong)bVar17 * -2 + 1;\n              pbVar10 = pbVar10 + (ulong)bVar17 * -2 + 1;\n            }" { (if_statement "if (lVar7 == 0) break;" if (parenthesized_expression "(lVar7 == 0)" ( (binary_expression "lVar7 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "lVar7 = lVar7 + -1;" (assignment_expression "lVar7 = lVar7 + -1" identifier = (binary_expression "lVar7 + -1" identifier + number_literal)) ;) (expression_statement "bVar16 = *pbVar9 < *pbVar10;" (assignment_expression "bVar16 = *pbVar9 < *pbVar10" identifier = (binary_expression "*pbVar9 < *pbVar10" (pointer_expression "*pbVar9" * identifier) < (pointer_expression "*pbVar10" * identifier))) ;) (expression_statement "bVar13 = *pbVar9 == *pbVar10;" (assignment_expression "bVar13 = *pbVar9 == *pbVar10" identifier = (binary_expression "*pbVar9 == *pbVar10" (pointer_expression "*pbVar9" * identifier) == (pointer_expression "*pbVar10" * identifier))) ;) (expression_statement "pbVar9 = pbVar9 + (ulong)bVar17 * -2 + 1;" (assignment_expression "pbVar9 = pbVar9 + (ulong)bVar17 * -2 + 1" identifier = (binary_expression "pbVar9 + (ulong)bVar17 * -2 + 1" (binary_expression "pbVar9 + (ulong)bVar17 * -2" identifier + (binary_expression "(ulong)bVar17 * -2" (cast_expression "(ulong)bVar17" ( (type_descriptor "ulong" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) (expression_statement "pbVar10 = pbVar10 + (ulong)bVar17 * -2 + 1;" (assignment_expression "pbVar10 = pbVar10 + (ulong)bVar17 * -2 + 1" identifier = (binary_expression "pbVar10 + (ulong)bVar17 * -2 + 1" (binary_expression "pbVar10 + (ulong)bVar17 * -2" identifier + (binary_expression "(ulong)bVar17 * -2" (cast_expression "(ulong)bVar17" ( (type_descriptor "ulong" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) }) while (parenthesized_expression "(bVar13)" ( identifier )) ;) (expression_statement "bVar14 = false;" (assignment_expression "bVar14 = false" identifier = false) ;) (expression_statement "bVar13 = (!bVar16 && !bVar13) == bVar16;" (assignment_expression "bVar13 = (!bVar16 && !bVar13) == bVar16" identifier = (binary_expression "(!bVar16 && !bVar13) == bVar16" (parenthesized_expression "(!bVar16 && !bVar13)" ( (binary_expression "!bVar16 && !bVar13" (unary_expression "!bVar16" ! identifier) && (unary_expression "!bVar13" ! identifier)) )) == identifier)) ;) (if_statement "if (!bVar13) {\n              lVar7 = 0xb;\n              uVar11 = 0x50000;\n              pbVar9 = local_30;\n              pbVar10 = (byte *)"tls_object";\n              do {\n                if (lVar7 == 0) break;\n                lVar7 = lVar7 + -1;\n                bVar14 = *pbVar9 < *pbVar10;\n                bVar13 = *pbVar9 == *pbVar10;\n                pbVar9 = pbVar9 + (ulong)bVar17 * -2 + 1;\n                pbVar10 = pbVar10 + (ulong)bVar17 * -2 + 1;\n              } while (bVar13);\n              bVar16 = false;\n              bVar13 = (!bVar14 && !bVar13) == bVar14;\n              if (bVar13) goto LAB_00139961;\n              lVar7 = 2;\n              pbVar9 = local_30;\n              pbVar10 = &DAT_001448ab;\n              do {\n                if (lVar7 == 0) break;\n                lVar7 = lVar7 + -1;\n                bVar16 = *pbVar9 < *pbVar10;\n                bVar13 = *pbVar9 == *pbVar10;\n                pbVar9 = pbVar9 + (ulong)bVar17 * -2 + 1;\n                pbVar10 = pbVar10 + (ulong)bVar17 * -2 + 1;\n              } while (bVar13);\n              bVar14 = false;\n              bVar13 = (!bVar16 && !bVar13) == bVar16;\n              if (bVar13) goto LAB_00139961;\n              lVar7 = 8;\n              pbVar9 = local_30;\n              pbVar10 = (byte *)"STT_TLS";\n              do {\n                if (lVar7 == 0) break;\n                lVar7 = lVar7 + -1;\n                bVar14 = *pbVar9 < *pbVar10;\n                bVar13 = *pbVar9 == *pbVar10;\n                pbVar9 = pbVar9 + (ulong)bVar17 * -2 + 1;\n                pbVar10 = pbVar10 + (ulong)bVar17 * -2 + 1;\n              } while (bVar13);\n              bVar16 = false;\n              bVar13 = (!bVar14 && !bVar13) == bVar14;\n              if (bVar13) goto LAB_00139961;\n              lVar7 = 7;\n              pbVar9 = local_30;\n              pbVar10 = (byte *)"notype";\n              do {\n                if (lVar7 == 0) break;\n                lVar7 = lVar7 + -1;\n                bVar16 = *pbVar9 < *pbVar10;\n                bVar13 = *pbVar9 == *pbVar10;\n                pbVar9 = pbVar9 + (ulong)bVar17 * -2 + 1;\n                pbVar10 = pbVar10 + (ulong)bVar17 * -2 + 1;\n              } while (bVar13);\n              uVar11 = 0;\n              if ((((!bVar16 && !bVar13) == bVar16) ||\n                  (iVar3 = strcmp((char *)local_30,"0"), iVar3 == 0)) ||\n                 (iVar3 = strcmp((char *)__s1,"STT_NOTYPE"), iVar3 == 0)) goto LAB_00139961;\n              iVar3 = strcmp((char *)__s1,"common");\n              if (((iVar3 != 0) && (iVar3 = strcmp((char *)__s1,"5"), iVar3 != 0)) &&\n                 (iVar3 = strcmp((char *)__s1,"STT_COMMON"), iVar3 != 0)) {\n                iVar3 = strcmp((char *)__s1,"gnu_indirect_function");\n                if (((iVar3 == 0) || (iVar3 = strcmp((char *)__s1,"10"), iVar3 == 0)) ||\n                   (iVar3 = strcmp((char *)__s1,"STT_GNU_IFUNC"), iVar3 == 0)) {\n                  uVar1 = *(uint *)(*(long *)(*(long *)(DAT_0019d970 + 8) + 0x368) + 0xc);\n                  if ((9 < uVar1) ||\n                     (uVar11 = 0x400008, (0x209UL >> ((ulong)uVar1 & 0x3f) & 1) == 0)) {\n                    uVar11 = 0x400008;\n                    uVar4 = dcgettext(0,\n                                      "symbol type \"%s\" is supported only by GNU and FreeBSD targets"\n                                      ,5);\n                    FUN_0011f6d0(uVar4,__s1);\n                  }\n                }\n                else {\n                  iVar3 = strcmp((char *)__s1,"gnu_unique_object");\n                  if (iVar3 == 0) {\n                    lVar7 = *(long *)(*(long *)(DAT_0019d970 + 8) + 0x368);\n                    iVar3 = *(int *)(lVar7 + 0xc);\n                    if ((iVar3 != 3) && (iVar3 != 0)) {\n                      uVar4 = dcgettext(0,"symbol type \"%s\" is supported only by GNU targets",5);\n                      FUN_0011f6d0(uVar4,__s1);\n                    }\n                    *(undefined4 *)(lVar7 + 0xc) = 3;\n                    uVar11 = 0x810000;\n                  }\n                  else {\n                    uVar4 = dcgettext(0,"unrecognized symbol type \"%s\"",5);\n                    FUN_0011f6d0(uVar4,__s1);\n                  }\n                }\n                goto LAB_00139961;\n              }\n              iVar3 = FUN_0012ac00(uVar4);\n              if (iVar3 == 0) {\n                iVar3 = FUN_0012aed0(uVar4);\n                if (iVar3 != 0) {\n                  uVar11 = 0x10000;\n                  uVar4 = FUN_0012c530(uVar4,1);\n                  FUN_0012af90(uVar4,_bfd_std_section);\n                  FUN_0012aa50(uVar4,0);\n                  FUN_0012c440(uVar4);\n                  FUN_0012d650(uVar4,&DAT_0019d720);\n                  FUN_0012d370(uVar4);\n                  goto LAB_00139961;\n                }\n                iVar3 = FUN_0012ac30(uVar4);\n                if ((iVar3 != 0) || (iVar3 = FUN_0012da60(uVar4), iVar3 != 0)) {\n                  uVar11 = 0x10000;\n                  uVar4 = FUN_0012af30(uVar4);\n                  uVar6 = dcgettext(0,"symbol \'%s\' is already defined",5);\n                  FUN_0011f6d0(uVar6,uVar4);\n                  goto LAB_00139961;\n                }\n                FUN_0012af90(uVar4,_bfd_std_section);\n                FUN_0012aa50(uVar4,0);\n                FUN_0012c440(uVar4);\n              }\n            }" if (parenthesized_expression "(!bVar13)" ( (unary_expression "!bVar13" ! identifier) )) (compound_statement "{\n              lVar7 = 0xb;\n              uVar11 = 0x50000;\n              pbVar9 = local_30;\n              pbVar10 = (byte *)"tls_object";\n              do {\n                if (lVar7 == 0) break;\n                lVar7 = lVar7 + -1;\n                bVar14 = *pbVar9 < *pbVar10;\n                bVar13 = *pbVar9 == *pbVar10;\n                pbVar9 = pbVar9 + (ulong)bVar17 * -2 + 1;\n                pbVar10 = pbVar10 + (ulong)bVar17 * -2 + 1;\n              } while (bVar13);\n              bVar16 = false;\n              bVar13 = (!bVar14 && !bVar13) == bVar14;\n              if (bVar13) goto LAB_00139961;\n              lVar7 = 2;\n              pbVar9 = local_30;\n              pbVar10 = &DAT_001448ab;\n              do {\n                if (lVar7 == 0) break;\n                lVar7 = lVar7 + -1;\n                bVar16 = *pbVar9 < *pbVar10;\n                bVar13 = *pbVar9 == *pbVar10;\n                pbVar9 = pbVar9 + (ulong)bVar17 * -2 + 1;\n                pbVar10 = pbVar10 + (ulong)bVar17 * -2 + 1;\n              } while (bVar13);\n              bVar14 = false;\n              bVar13 = (!bVar16 && !bVar13) == bVar16;\n              if (bVar13) goto LAB_00139961;\n              lVar7 = 8;\n              pbVar9 = local_30;\n              pbVar10 = (byte *)"STT_TLS";\n              do {\n                if (lVar7 == 0) break;\n                lVar7 = lVar7 + -1;\n                bVar14 = *pbVar9 < *pbVar10;\n                bVar13 = *pbVar9 == *pbVar10;\n                pbVar9 = pbVar9 + (ulong)bVar17 * -2 + 1;\n                pbVar10 = pbVar10 + (ulong)bVar17 * -2 + 1;\n              } while (bVar13);\n              bVar16 = false;\n              bVar13 = (!bVar14 && !bVar13) == bVar14;\n              if (bVar13) goto LAB_00139961;\n              lVar7 = 7;\n              pbVar9 = local_30;\n              pbVar10 = (byte *)"notype";\n              do {\n                if (lVar7 == 0) break;\n                lVar7 = lVar7 + -1;\n                bVar16 = *pbVar9 < *pbVar10;\n                bVar13 = *pbVar9 == *pbVar10;\n                pbVar9 = pbVar9 + (ulong)bVar17 * -2 + 1;\n                pbVar10 = pbVar10 + (ulong)bVar17 * -2 + 1;\n              } while (bVar13);\n              uVar11 = 0;\n              if ((((!bVar16 && !bVar13) == bVar16) ||\n                  (iVar3 = strcmp((char *)local_30,"0"), iVar3 == 0)) ||\n                 (iVar3 = strcmp((char *)__s1,"STT_NOTYPE"), iVar3 == 0)) goto LAB_00139961;\n              iVar3 = strcmp((char *)__s1,"common");\n              if (((iVar3 != 0) && (iVar3 = strcmp((char *)__s1,"5"), iVar3 != 0)) &&\n                 (iVar3 = strcmp((char *)__s1,"STT_COMMON"), iVar3 != 0)) {\n                iVar3 = strcmp((char *)__s1,"gnu_indirect_function");\n                if (((iVar3 == 0) || (iVar3 = strcmp((char *)__s1,"10"), iVar3 == 0)) ||\n                   (iVar3 = strcmp((char *)__s1,"STT_GNU_IFUNC"), iVar3 == 0)) {\n                  uVar1 = *(uint *)(*(long *)(*(long *)(DAT_0019d970 + 8) + 0x368) + 0xc);\n                  if ((9 < uVar1) ||\n                     (uVar11 = 0x400008, (0x209UL >> ((ulong)uVar1 & 0x3f) & 1) == 0)) {\n                    uVar11 = 0x400008;\n                    uVar4 = dcgettext(0,\n                                      "symbol type \"%s\" is supported only by GNU and FreeBSD targets"\n                                      ,5);\n                    FUN_0011f6d0(uVar4,__s1);\n                  }\n                }\n                else {\n                  iVar3 = strcmp((char *)__s1,"gnu_unique_object");\n                  if (iVar3 == 0) {\n                    lVar7 = *(long *)(*(long *)(DAT_0019d970 + 8) + 0x368);\n                    iVar3 = *(int *)(lVar7 + 0xc);\n                    if ((iVar3 != 3) && (iVar3 != 0)) {\n                      uVar4 = dcgettext(0,"symbol type \"%s\" is supported only by GNU targets",5);\n                      FUN_0011f6d0(uVar4,__s1);\n                    }\n                    *(undefined4 *)(lVar7 + 0xc) = 3;\n                    uVar11 = 0x810000;\n                  }\n                  else {\n                    uVar4 = dcgettext(0,"unrecognized symbol type \"%s\"",5);\n                    FUN_0011f6d0(uVar4,__s1);\n                  }\n                }\n                goto LAB_00139961;\n              }\n              iVar3 = FUN_0012ac00(uVar4);\n              if (iVar3 == 0) {\n                iVar3 = FUN_0012aed0(uVar4);\n                if (iVar3 != 0) {\n                  uVar11 = 0x10000;\n                  uVar4 = FUN_0012c530(uVar4,1);\n                  FUN_0012af90(uVar4,_bfd_std_section);\n                  FUN_0012aa50(uVar4,0);\n                  FUN_0012c440(uVar4);\n                  FUN_0012d650(uVar4,&DAT_0019d720);\n                  FUN_0012d370(uVar4);\n                  goto LAB_00139961;\n                }\n                iVar3 = FUN_0012ac30(uVar4);\n                if ((iVar3 != 0) || (iVar3 = FUN_0012da60(uVar4), iVar3 != 0)) {\n                  uVar11 = 0x10000;\n                  uVar4 = FUN_0012af30(uVar4);\n                  uVar6 = dcgettext(0,"symbol \'%s\' is already defined",5);\n                  FUN_0011f6d0(uVar6,uVar4);\n                  goto LAB_00139961;\n                }\n                FUN_0012af90(uVar4,_bfd_std_section);\n                FUN_0012aa50(uVar4,0);\n                FUN_0012c440(uVar4);\n              }\n            }" { (expression_statement "lVar7 = 0xb;" (assignment_expression "lVar7 = 0xb" identifier = number_literal) ;) (expression_statement "uVar11 = 0x50000;" (assignment_expression "uVar11 = 0x50000" identifier = number_literal) ;) (expression_statement "pbVar9 = local_30;" (assignment_expression "pbVar9 = local_30" identifier = identifier) ;) (expression_statement "pbVar10 = (byte *)"tls_object";" (assignment_expression "pbVar10 = (byte *)"tls_object"" identifier = (cast_expression "(byte *)"tls_object"" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (string_literal ""tls_object"" " string_content "))) ;) (do_statement "do {\n                if (lVar7 == 0) break;\n                lVar7 = lVar7 + -1;\n                bVar14 = *pbVar9 < *pbVar10;\n                bVar13 = *pbVar9 == *pbVar10;\n                pbVar9 = pbVar9 + (ulong)bVar17 * -2 + 1;\n                pbVar10 = pbVar10 + (ulong)bVar17 * -2 + 1;\n              } while (bVar13);" do (compound_statement "{\n                if (lVar7 == 0) break;\n                lVar7 = lVar7 + -1;\n                bVar14 = *pbVar9 < *pbVar10;\n                bVar13 = *pbVar9 == *pbVar10;\n                pbVar9 = pbVar9 + (ulong)bVar17 * -2 + 1;\n                pbVar10 = pbVar10 + (ulong)bVar17 * -2 + 1;\n              }" { (if_statement "if (lVar7 == 0) break;" if (parenthesized_expression "(lVar7 == 0)" ( (binary_expression "lVar7 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "lVar7 = lVar7 + -1;" (assignment_expression "lVar7 = lVar7 + -1" identifier = (binary_expression "lVar7 + -1" identifier + number_literal)) ;) (expression_statement "bVar14 = *pbVar9 < *pbVar10;" (assignment_expression "bVar14 = *pbVar9 < *pbVar10" identifier = (binary_expression "*pbVar9 < *pbVar10" (pointer_expression "*pbVar9" * identifier) < (pointer_expression "*pbVar10" * identifier))) ;) (expression_statement "bVar13 = *pbVar9 == *pbVar10;" (assignment_expression "bVar13 = *pbVar9 == *pbVar10" identifier = (binary_expression "*pbVar9 == *pbVar10" (pointer_expression "*pbVar9" * identifier) == (pointer_expression "*pbVar10" * identifier))) ;) (expression_statement "pbVar9 = pbVar9 + (ulong)bVar17 * -2 + 1;" (assignment_expression "pbVar9 = pbVar9 + (ulong)bVar17 * -2 + 1" identifier = (binary_expression "pbVar9 + (ulong)bVar17 * -2 + 1" (binary_expression "pbVar9 + (ulong)bVar17 * -2" identifier + (binary_expression "(ulong)bVar17 * -2" (cast_expression "(ulong)bVar17" ( (type_descriptor "ulong" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) (expression_statement "pbVar10 = pbVar10 + (ulong)bVar17 * -2 + 1;" (assignment_expression "pbVar10 = pbVar10 + (ulong)bVar17 * -2 + 1" identifier = (binary_expression "pbVar10 + (ulong)bVar17 * -2 + 1" (binary_expression "pbVar10 + (ulong)bVar17 * -2" identifier + (binary_expression "(ulong)bVar17 * -2" (cast_expression "(ulong)bVar17" ( (type_descriptor "ulong" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) }) while (parenthesized_expression "(bVar13)" ( identifier )) ;) (expression_statement "bVar16 = false;" (assignment_expression "bVar16 = false" identifier = false) ;) (expression_statement "bVar13 = (!bVar14 && !bVar13) == bVar14;" (assignment_expression "bVar13 = (!bVar14 && !bVar13) == bVar14" identifier = (binary_expression "(!bVar14 && !bVar13) == bVar14" (parenthesized_expression "(!bVar14 && !bVar13)" ( (binary_expression "!bVar14 && !bVar13" (unary_expression "!bVar14" ! identifier) && (unary_expression "!bVar13" ! identifier)) )) == identifier)) ;) (if_statement "if (bVar13) goto LAB_00139961;" if (parenthesized_expression "(bVar13)" ( identifier )) (goto_statement "goto LAB_00139961;" goto statement_identifier ;)) (expression_statement "lVar7 = 2;" (assignment_expression "lVar7 = 2" identifier = number_literal) ;) (expression_statement "pbVar9 = local_30;" (assignment_expression "pbVar9 = local_30" identifier = identifier) ;) (expression_statement "pbVar10 = &DAT_001448ab;" (assignment_expression "pbVar10 = &DAT_001448ab" identifier = (pointer_expression "&DAT_001448ab" & identifier)) ;) (do_statement "do {\n                if (lVar7 == 0) break;\n                lVar7 = lVar7 + -1;\n                bVar16 = *pbVar9 < *pbVar10;\n                bVar13 = *pbVar9 == *pbVar10;\n                pbVar9 = pbVar9 + (ulong)bVar17 * -2 + 1;\n                pbVar10 = pbVar10 + (ulong)bVar17 * -2 + 1;\n              } while (bVar13);" do (compound_statement "{\n                if (lVar7 == 0) break;\n                lVar7 = lVar7 + -1;\n                bVar16 = *pbVar9 < *pbVar10;\n                bVar13 = *pbVar9 == *pbVar10;\n                pbVar9 = pbVar9 + (ulong)bVar17 * -2 + 1;\n                pbVar10 = pbVar10 + (ulong)bVar17 * -2 + 1;\n              }" { (if_statement "if (lVar7 == 0) break;" if (parenthesized_expression "(lVar7 == 0)" ( (binary_expression "lVar7 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "lVar7 = lVar7 + -1;" (assignment_expression "lVar7 = lVar7 + -1" identifier = (binary_expression "lVar7 + -1" identifier + number_literal)) ;) (expression_statement "bVar16 = *pbVar9 < *pbVar10;" (assignment_expression "bVar16 = *pbVar9 < *pbVar10" identifier = (binary_expression "*pbVar9 < *pbVar10" (pointer_expression "*pbVar9" * identifier) < (pointer_expression "*pbVar10" * identifier))) ;) (expression_statement "bVar13 = *pbVar9 == *pbVar10;" (assignment_expression "bVar13 = *pbVar9 == *pbVar10" identifier = (binary_expression "*pbVar9 == *pbVar10" (pointer_expression "*pbVar9" * identifier) == (pointer_expression "*pbVar10" * identifier))) ;) (expression_statement "pbVar9 = pbVar9 + (ulong)bVar17 * -2 + 1;" (assignment_expression "pbVar9 = pbVar9 + (ulong)bVar17 * -2 + 1" identifier = (binary_expression "pbVar9 + (ulong)bVar17 * -2 + 1" (binary_expression "pbVar9 + (ulong)bVar17 * -2" identifier + (binary_expression "(ulong)bVar17 * -2" (cast_expression "(ulong)bVar17" ( (type_descriptor "ulong" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) (expression_statement "pbVar10 = pbVar10 + (ulong)bVar17 * -2 + 1;" (assignment_expression "pbVar10 = pbVar10 + (ulong)bVar17 * -2 + 1" identifier = (binary_expression "pbVar10 + (ulong)bVar17 * -2 + 1" (binary_expression "pbVar10 + (ulong)bVar17 * -2" identifier + (binary_expression "(ulong)bVar17 * -2" (cast_expression "(ulong)bVar17" ( (type_descriptor "ulong" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) }) while (parenthesized_expression "(bVar13)" ( identifier )) ;) (expression_statement "bVar14 = false;" (assignment_expression "bVar14 = false" identifier = false) ;) (expression_statement "bVar13 = (!bVar16 && !bVar13) == bVar16;" (assignment_expression "bVar13 = (!bVar16 && !bVar13) == bVar16" identifier = (binary_expression "(!bVar16 && !bVar13) == bVar16" (parenthesized_expression "(!bVar16 && !bVar13)" ( (binary_expression "!bVar16 && !bVar13" (unary_expression "!bVar16" ! identifier) && (unary_expression "!bVar13" ! identifier)) )) == identifier)) ;) (if_statement "if (bVar13) goto LAB_00139961;" if (parenthesized_expression "(bVar13)" ( identifier )) (goto_statement "goto LAB_00139961;" goto statement_identifier ;)) (expression_statement "lVar7 = 8;" (assignment_expression "lVar7 = 8" identifier = number_literal) ;) (expression_statement "pbVar9 = local_30;" (assignment_expression "pbVar9 = local_30" identifier = identifier) ;) (expression_statement "pbVar10 = (byte *)"STT_TLS";" (assignment_expression "pbVar10 = (byte *)"STT_TLS"" identifier = (cast_expression "(byte *)"STT_TLS"" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (string_literal ""STT_TLS"" " string_content "))) ;) (do_statement "do {\n                if (lVar7 == 0) break;\n                lVar7 = lVar7 + -1;\n                bVar14 = *pbVar9 < *pbVar10;\n                bVar13 = *pbVar9 == *pbVar10;\n                pbVar9 = pbVar9 + (ulong)bVar17 * -2 + 1;\n                pbVar10 = pbVar10 + (ulong)bVar17 * -2 + 1;\n              } while (bVar13);" do (compound_statement "{\n                if (lVar7 == 0) break;\n                lVar7 = lVar7 + -1;\n                bVar14 = *pbVar9 < *pbVar10;\n                bVar13 = *pbVar9 == *pbVar10;\n                pbVar9 = pbVar9 + (ulong)bVar17 * -2 + 1;\n                pbVar10 = pbVar10 + (ulong)bVar17 * -2 + 1;\n              }" { (if_statement "if (lVar7 == 0) break;" if (parenthesized_expression "(lVar7 == 0)" ( (binary_expression "lVar7 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "lVar7 = lVar7 + -1;" (assignment_expression "lVar7 = lVar7 + -1" identifier = (binary_expression "lVar7 + -1" identifier + number_literal)) ;) (expression_statement "bVar14 = *pbVar9 < *pbVar10;" (assignment_expression "bVar14 = *pbVar9 < *pbVar10" identifier = (binary_expression "*pbVar9 < *pbVar10" (pointer_expression "*pbVar9" * identifier) < (pointer_expression "*pbVar10" * identifier))) ;) (expression_statement "bVar13 = *pbVar9 == *pbVar10;" (assignment_expression "bVar13 = *pbVar9 == *pbVar10" identifier = (binary_expression "*pbVar9 == *pbVar10" (pointer_expression "*pbVar9" * identifier) == (pointer_expression "*pbVar10" * identifier))) ;) (expression_statement "pbVar9 = pbVar9 + (ulong)bVar17 * -2 + 1;" (assignment_expression "pbVar9 = pbVar9 + (ulong)bVar17 * -2 + 1" identifier = (binary_expression "pbVar9 + (ulong)bVar17 * -2 + 1" (binary_expression "pbVar9 + (ulong)bVar17 * -2" identifier + (binary_expression "(ulong)bVar17 * -2" (cast_expression "(ulong)bVar17" ( (type_descriptor "ulong" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) (expression_statement "pbVar10 = pbVar10 + (ulong)bVar17 * -2 + 1;" (assignment_expression "pbVar10 = pbVar10 + (ulong)bVar17 * -2 + 1" identifier = (binary_expression "pbVar10 + (ulong)bVar17 * -2 + 1" (binary_expression "pbVar10 + (ulong)bVar17 * -2" identifier + (binary_expression "(ulong)bVar17 * -2" (cast_expression "(ulong)bVar17" ( (type_descriptor "ulong" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) }) while (parenthesized_expression "(bVar13)" ( identifier )) ;) (expression_statement "bVar16 = false;" (assignment_expression "bVar16 = false" identifier = false) ;) (expression_statement "bVar13 = (!bVar14 && !bVar13) == bVar14;" (assignment_expression "bVar13 = (!bVar14 && !bVar13) == bVar14" identifier = (binary_expression "(!bVar14 && !bVar13) == bVar14" (parenthesized_expression "(!bVar14 && !bVar13)" ( (binary_expression "!bVar14 && !bVar13" (unary_expression "!bVar14" ! identifier) && (unary_expression "!bVar13" ! identifier)) )) == identifier)) ;) (if_statement "if (bVar13) goto LAB_00139961;" if (parenthesized_expression "(bVar13)" ( identifier )) (goto_statement "goto LAB_00139961;" goto statement_identifier ;)) (expression_statement "lVar7 = 7;" (assignment_expression "lVar7 = 7" identifier = number_literal) ;) (expression_statement "pbVar9 = local_30;" (assignment_expression "pbVar9 = local_30" identifier = identifier) ;) (expression_statement "pbVar10 = (byte *)"notype";" (assignment_expression "pbVar10 = (byte *)"notype"" identifier = (cast_expression "(byte *)"notype"" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (string_literal ""notype"" " string_content "))) ;) (do_statement "do {\n                if (lVar7 == 0) break;\n                lVar7 = lVar7 + -1;\n                bVar16 = *pbVar9 < *pbVar10;\n                bVar13 = *pbVar9 == *pbVar10;\n                pbVar9 = pbVar9 + (ulong)bVar17 * -2 + 1;\n                pbVar10 = pbVar10 + (ulong)bVar17 * -2 + 1;\n              } while (bVar13);" do (compound_statement "{\n                if (lVar7 == 0) break;\n                lVar7 = lVar7 + -1;\n                bVar16 = *pbVar9 < *pbVar10;\n                bVar13 = *pbVar9 == *pbVar10;\n                pbVar9 = pbVar9 + (ulong)bVar17 * -2 + 1;\n                pbVar10 = pbVar10 + (ulong)bVar17 * -2 + 1;\n              }" { (if_statement "if (lVar7 == 0) break;" if (parenthesized_expression "(lVar7 == 0)" ( (binary_expression "lVar7 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "lVar7 = lVar7 + -1;" (assignment_expression "lVar7 = lVar7 + -1" identifier = (binary_expression "lVar7 + -1" identifier + number_literal)) ;) (expression_statement "bVar16 = *pbVar9 < *pbVar10;" (assignment_expression "bVar16 = *pbVar9 < *pbVar10" identifier = (binary_expression "*pbVar9 < *pbVar10" (pointer_expression "*pbVar9" * identifier) < (pointer_expression "*pbVar10" * identifier))) ;) (expression_statement "bVar13 = *pbVar9 == *pbVar10;" (assignment_expression "bVar13 = *pbVar9 == *pbVar10" identifier = (binary_expression "*pbVar9 == *pbVar10" (pointer_expression "*pbVar9" * identifier) == (pointer_expression "*pbVar10" * identifier))) ;) (expression_statement "pbVar9 = pbVar9 + (ulong)bVar17 * -2 + 1;" (assignment_expression "pbVar9 = pbVar9 + (ulong)bVar17 * -2 + 1" identifier = (binary_expression "pbVar9 + (ulong)bVar17 * -2 + 1" (binary_expression "pbVar9 + (ulong)bVar17 * -2" identifier + (binary_expression "(ulong)bVar17 * -2" (cast_expression "(ulong)bVar17" ( (type_descriptor "ulong" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) (expression_statement "pbVar10 = pbVar10 + (ulong)bVar17 * -2 + 1;" (assignment_expression "pbVar10 = pbVar10 + (ulong)bVar17 * -2 + 1" identifier = (binary_expression "pbVar10 + (ulong)bVar17 * -2 + 1" (binary_expression "pbVar10 + (ulong)bVar17 * -2" identifier + (binary_expression "(ulong)bVar17 * -2" (cast_expression "(ulong)bVar17" ( (type_descriptor "ulong" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) }) while (parenthesized_expression "(bVar13)" ( identifier )) ;) (expression_statement "uVar11 = 0;" (assignment_expression "uVar11 = 0" identifier = number_literal) ;) (if_statement "if ((((!bVar16 && !bVar13) == bVar16) ||\n                  (iVar3 = strcmp((char *)local_30,"0"), iVar3 == 0)) ||\n                 (iVar3 = strcmp((char *)__s1,"STT_NOTYPE"), iVar3 == 0)) goto LAB_00139961;" if (parenthesized_expression "((((!bVar16 && !bVar13) == bVar16) ||\n                  (iVar3 = strcmp((char *)local_30,"0"), iVar3 == 0)) ||\n                 (iVar3 = strcmp((char *)__s1,"STT_NOTYPE"), iVar3 == 0))" ( (binary_expression "(((!bVar16 && !bVar13) == bVar16) ||\n                  (iVar3 = strcmp((char *)local_30,"0"), iVar3 == 0)) ||\n                 (iVar3 = strcmp((char *)__s1,"STT_NOTYPE"), iVar3 == 0)" (parenthesized_expression "(((!bVar16 && !bVar13) == bVar16) ||\n                  (iVar3 = strcmp((char *)local_30,"0"), iVar3 == 0))" ( (binary_expression "((!bVar16 && !bVar13) == bVar16) ||\n                  (iVar3 = strcmp((char *)local_30,"0"), iVar3 == 0)" (parenthesized_expression "((!bVar16 && !bVar13) == bVar16)" ( (binary_expression "(!bVar16 && !bVar13) == bVar16" (parenthesized_expression "(!bVar16 && !bVar13)" ( (binary_expression "!bVar16 && !bVar13" (unary_expression "!bVar16" ! identifier) && (unary_expression "!bVar13" ! identifier)) )) == identifier) )) || (parenthesized_expression "(iVar3 = strcmp((char *)local_30,"0"), iVar3 == 0)" ( (comma_expression "iVar3 = strcmp((char *)local_30,"0"), iVar3 == 0" (assignment_expression "iVar3 = strcmp((char *)local_30,"0")" identifier = (call_expression "strcmp((char *)local_30,"0")" identifier (argument_list "((char *)local_30,"0")" ( (cast_expression "(char *)local_30" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) , (string_literal ""0"" " string_content ") )))) , (binary_expression "iVar3 == 0" identifier == number_literal)) ))) )) || (parenthesized_expression "(iVar3 = strcmp((char *)__s1,"STT_NOTYPE"), iVar3 == 0)" ( (comma_expression "iVar3 = strcmp((char *)__s1,"STT_NOTYPE"), iVar3 == 0" (assignment_expression "iVar3 = strcmp((char *)__s1,"STT_NOTYPE")" identifier = (call_expression "strcmp((char *)__s1,"STT_NOTYPE")" identifier (argument_list "((char *)__s1,"STT_NOTYPE")" ( (cast_expression "(char *)__s1" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) , (string_literal ""STT_NOTYPE"" " string_content ") )))) , (binary_expression "iVar3 == 0" identifier == number_literal)) ))) )) (goto_statement "goto LAB_00139961;" goto statement_identifier ;)) (expression_statement "iVar3 = strcmp((char *)__s1,"common");" (assignment_expression "iVar3 = strcmp((char *)__s1,"common")" identifier = (call_expression "strcmp((char *)__s1,"common")" identifier (argument_list "((char *)__s1,"common")" ( (cast_expression "(char *)__s1" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) , (string_literal ""common"" " string_content ") )))) ;) (if_statement "if (((iVar3 != 0) && (iVar3 = strcmp((char *)__s1,"5"), iVar3 != 0)) &&\n                 (iVar3 = strcmp((char *)__s1,"STT_COMMON"), iVar3 != 0)) {\n                iVar3 = strcmp((char *)__s1,"gnu_indirect_function");\n                if (((iVar3 == 0) || (iVar3 = strcmp((char *)__s1,"10"), iVar3 == 0)) ||\n                   (iVar3 = strcmp((char *)__s1,"STT_GNU_IFUNC"), iVar3 == 0)) {\n                  uVar1 = *(uint *)(*(long *)(*(long *)(DAT_0019d970 + 8) + 0x368) + 0xc);\n                  if ((9 < uVar1) ||\n                     (uVar11 = 0x400008, (0x209UL >> ((ulong)uVar1 & 0x3f) & 1) == 0)) {\n                    uVar11 = 0x400008;\n                    uVar4 = dcgettext(0,\n                                      "symbol type \"%s\" is supported only by GNU and FreeBSD targets"\n                                      ,5);\n                    FUN_0011f6d0(uVar4,__s1);\n                  }\n                }\n                else {\n                  iVar3 = strcmp((char *)__s1,"gnu_unique_object");\n                  if (iVar3 == 0) {\n                    lVar7 = *(long *)(*(long *)(DAT_0019d970 + 8) + 0x368);\n                    iVar3 = *(int *)(lVar7 + 0xc);\n                    if ((iVar3 != 3) && (iVar3 != 0)) {\n                      uVar4 = dcgettext(0,"symbol type \"%s\" is supported only by GNU targets",5);\n                      FUN_0011f6d0(uVar4,__s1);\n                    }\n                    *(undefined4 *)(lVar7 + 0xc) = 3;\n                    uVar11 = 0x810000;\n                  }\n                  else {\n                    uVar4 = dcgettext(0,"unrecognized symbol type \"%s\"",5);\n                    FUN_0011f6d0(uVar4,__s1);\n                  }\n                }\n                goto LAB_00139961;\n              }" if (parenthesized_expression "(((iVar3 != 0) && (iVar3 = strcmp((char *)__s1,"5"), iVar3 != 0)) &&\n                 (iVar3 = strcmp((char *)__s1,"STT_COMMON"), iVar3 != 0))" ( (binary_expression "((iVar3 != 0) && (iVar3 = strcmp((char *)__s1,"5"), iVar3 != 0)) &&\n                 (iVar3 = strcmp((char *)__s1,"STT_COMMON"), iVar3 != 0)" (parenthesized_expression "((iVar3 != 0) && (iVar3 = strcmp((char *)__s1,"5"), iVar3 != 0))" ( (binary_expression "(iVar3 != 0) && (iVar3 = strcmp((char *)__s1,"5"), iVar3 != 0)" (parenthesized_expression "(iVar3 != 0)" ( (binary_expression "iVar3 != 0" identifier != number_literal) )) && (parenthesized_expression "(iVar3 = strcmp((char *)__s1,"5"), iVar3 != 0)" ( (comma_expression "iVar3 = strcmp((char *)__s1,"5"), iVar3 != 0" (assignment_expression "iVar3 = strcmp((char *)__s1,"5")" identifier = (call_expression "strcmp((char *)__s1,"5")" identifier (argument_list "((char *)__s1,"5")" ( (cast_expression "(char *)__s1" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) , (string_literal ""5"" " string_content ") )))) , (binary_expression "iVar3 != 0" identifier != number_literal)) ))) )) && (parenthesized_expression "(iVar3 = strcmp((char *)__s1,"STT_COMMON"), iVar3 != 0)" ( (comma_expression "iVar3 = strcmp((char *)__s1,"STT_COMMON"), iVar3 != 0" (assignment_expression "iVar3 = strcmp((char *)__s1,"STT_COMMON")" identifier = (call_expression "strcmp((char *)__s1,"STT_COMMON")" identifier (argument_list "((char *)__s1,"STT_COMMON")" ( (cast_expression "(char *)__s1" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) , (string_literal ""STT_COMMON"" " string_content ") )))) , (binary_expression "iVar3 != 0" identifier != number_literal)) ))) )) (compound_statement "{\n                iVar3 = strcmp((char *)__s1,"gnu_indirect_function");\n                if (((iVar3 == 0) || (iVar3 = strcmp((char *)__s1,"10"), iVar3 == 0)) ||\n                   (iVar3 = strcmp((char *)__s1,"STT_GNU_IFUNC"), iVar3 == 0)) {\n                  uVar1 = *(uint *)(*(long *)(*(long *)(DAT_0019d970 + 8) + 0x368) + 0xc);\n                  if ((9 < uVar1) ||\n                     (uVar11 = 0x400008, (0x209UL >> ((ulong)uVar1 & 0x3f) & 1) == 0)) {\n                    uVar11 = 0x400008;\n                    uVar4 = dcgettext(0,\n                                      "symbol type \"%s\" is supported only by GNU and FreeBSD targets"\n                                      ,5);\n                    FUN_0011f6d0(uVar4,__s1);\n                  }\n                }\n                else {\n                  iVar3 = strcmp((char *)__s1,"gnu_unique_object");\n                  if (iVar3 == 0) {\n                    lVar7 = *(long *)(*(long *)(DAT_0019d970 + 8) + 0x368);\n                    iVar3 = *(int *)(lVar7 + 0xc);\n                    if ((iVar3 != 3) && (iVar3 != 0)) {\n                      uVar4 = dcgettext(0,"symbol type \"%s\" is supported only by GNU targets",5);\n                      FUN_0011f6d0(uVar4,__s1);\n                    }\n                    *(undefined4 *)(lVar7 + 0xc) = 3;\n                    uVar11 = 0x810000;\n                  }\n                  else {\n                    uVar4 = dcgettext(0,"unrecognized symbol type \"%s\"",5);\n                    FUN_0011f6d0(uVar4,__s1);\n                  }\n                }\n                goto LAB_00139961;\n              }" { (expression_statement "iVar3 = strcmp((char *)__s1,"gnu_indirect_function");" (assignment_expression "iVar3 = strcmp((char *)__s1,"gnu_indirect_function")" identifier = (call_expression "strcmp((char *)__s1,"gnu_indirect_function")" identifier (argument_list "((char *)__s1,"gnu_indirect_function")" ( (cast_expression "(char *)__s1" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) , (string_literal ""gnu_indirect_function"" " string_content ") )))) ;) (if_statement "if (((iVar3 == 0) || (iVar3 = strcmp((char *)__s1,"10"), iVar3 == 0)) ||\n                   (iVar3 = strcmp((char *)__s1,"STT_GNU_IFUNC"), iVar3 == 0)) {\n                  uVar1 = *(uint *)(*(long *)(*(long *)(DAT_0019d970 + 8) + 0x368) + 0xc);\n                  if ((9 < uVar1) ||\n                     (uVar11 = 0x400008, (0x209UL >> ((ulong)uVar1 & 0x3f) & 1) == 0)) {\n                    uVar11 = 0x400008;\n                    uVar4 = dcgettext(0,\n                                      "symbol type \"%s\" is supported only by GNU and FreeBSD targets"\n                                      ,5);\n                    FUN_0011f6d0(uVar4,__s1);\n                  }\n                }\n                else {\n                  iVar3 = strcmp((char *)__s1,"gnu_unique_object");\n                  if (iVar3 == 0) {\n                    lVar7 = *(long *)(*(long *)(DAT_0019d970 + 8) + 0x368);\n                    iVar3 = *(int *)(lVar7 + 0xc);\n                    if ((iVar3 != 3) && (iVar3 != 0)) {\n                      uVar4 = dcgettext(0,"symbol type \"%s\" is supported only by GNU targets",5);\n                      FUN_0011f6d0(uVar4,__s1);\n                    }\n                    *(undefined4 *)(lVar7 + 0xc) = 3;\n                    uVar11 = 0x810000;\n                  }\n                  else {\n                    uVar4 = dcgettext(0,"unrecognized symbol type \"%s\"",5);\n                    FUN_0011f6d0(uVar4,__s1);\n                  }\n                }" if (parenthesized_expression "(((iVar3 == 0) || (iVar3 = strcmp((char *)__s1,"10"), iVar3 == 0)) ||\n                   (iVar3 = strcmp((char *)__s1,"STT_GNU_IFUNC"), iVar3 == 0))" ( (binary_expression "((iVar3 == 0) || (iVar3 = strcmp((char *)__s1,"10"), iVar3 == 0)) ||\n                   (iVar3 = strcmp((char *)__s1,"STT_GNU_IFUNC"), iVar3 == 0)" (parenthesized_expression "((iVar3 == 0) || (iVar3 = strcmp((char *)__s1,"10"), iVar3 == 0))" ( (binary_expression "(iVar3 == 0) || (iVar3 = strcmp((char *)__s1,"10"), iVar3 == 0)" (parenthesized_expression "(iVar3 == 0)" ( (binary_expression "iVar3 == 0" identifier == number_literal) )) || (parenthesized_expression "(iVar3 = strcmp((char *)__s1,"10"), iVar3 == 0)" ( (comma_expression "iVar3 = strcmp((char *)__s1,"10"), iVar3 == 0" (assignment_expression "iVar3 = strcmp((char *)__s1,"10")" identifier = (call_expression "strcmp((char *)__s1,"10")" identifier (argument_list "((char *)__s1,"10")" ( (cast_expression "(char *)__s1" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) , (string_literal ""10"" " string_content ") )))) , (binary_expression "iVar3 == 0" identifier == number_literal)) ))) )) || (parenthesized_expression "(iVar3 = strcmp((char *)__s1,"STT_GNU_IFUNC"), iVar3 == 0)" ( (comma_expression "iVar3 = strcmp((char *)__s1,"STT_GNU_IFUNC"), iVar3 == 0" (assignment_expression "iVar3 = strcmp((char *)__s1,"STT_GNU_IFUNC")" identifier = (call_expression "strcmp((char *)__s1,"STT_GNU_IFUNC")" identifier (argument_list "((char *)__s1,"STT_GNU_IFUNC")" ( (cast_expression "(char *)__s1" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) , (string_literal ""STT_GNU_IFUNC"" " string_content ") )))) , (binary_expression "iVar3 == 0" identifier == number_literal)) ))) )) (compound_statement "{\n                  uVar1 = *(uint *)(*(long *)(*(long *)(DAT_0019d970 + 8) + 0x368) + 0xc);\n                  if ((9 < uVar1) ||\n                     (uVar11 = 0x400008, (0x209UL >> ((ulong)uVar1 & 0x3f) & 1) == 0)) {\n                    uVar11 = 0x400008;\n                    uVar4 = dcgettext(0,\n                                      "symbol type \"%s\" is supported only by GNU and FreeBSD targets"\n                                      ,5);\n                    FUN_0011f6d0(uVar4,__s1);\n                  }\n                }" { (expression_statement "uVar1 = *(uint *)(*(long *)(*(long *)(DAT_0019d970 + 8) + 0x368) + 0xc);" (assignment_expression "uVar1 = *(uint *)(*(long *)(*(long *)(DAT_0019d970 + 8) + 0x368) + 0xc)" identifier = (pointer_expression "*(uint *)(*(long *)(*(long *)(DAT_0019d970 + 8) + 0x368) + 0xc)" * (cast_expression "(uint *)(*(long *)(*(long *)(DAT_0019d970 + 8) + 0x368) + 0xc)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(long *)(*(long *)(DAT_0019d970 + 8) + 0x368) + 0xc)" ( (binary_expression "*(long *)(*(long *)(DAT_0019d970 + 8) + 0x368) + 0xc" (pointer_expression "*(long *)(*(long *)(DAT_0019d970 + 8) + 0x368)" * (cast_expression "(long *)(*(long *)(DAT_0019d970 + 8) + 0x368)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(long *)(DAT_0019d970 + 8) + 0x368)" ( (binary_expression "*(long *)(DAT_0019d970 + 8) + 0x368" (pointer_expression "*(long *)(DAT_0019d970 + 8)" * (cast_expression "(long *)(DAT_0019d970 + 8)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(DAT_0019d970 + 8)" ( (binary_expression "DAT_0019d970 + 8" identifier + number_literal) )))) + number_literal) )))) + number_literal) ))))) ;) (if_statement "if ((9 < uVar1) ||\n                     (uVar11 = 0x400008, (0x209UL >> ((ulong)uVar1 & 0x3f) & 1) == 0)) {\n                    uVar11 = 0x400008;\n                    uVar4 = dcgettext(0,\n                                      "symbol type \"%s\" is supported only by GNU and FreeBSD targets"\n                                      ,5);\n                    FUN_0011f6d0(uVar4,__s1);\n                  }" if (parenthesized_expression "((9 < uVar1) ||\n                     (uVar11 = 0x400008, (0x209UL >> ((ulong)uVar1 & 0x3f) & 1) == 0))" ( (binary_expression "(9 < uVar1) ||\n                     (uVar11 = 0x400008, (0x209UL >> ((ulong)uVar1 & 0x3f) & 1) == 0)" (parenthesized_expression "(9 < uVar1)" ( (binary_expression "9 < uVar1" number_literal < identifier) )) || (parenthesized_expression "(uVar11 = 0x400008, (0x209UL >> ((ulong)uVar1 & 0x3f) & 1) == 0)" ( (comma_expression "uVar11 = 0x400008, (0x209UL >> ((ulong)uVar1 & 0x3f) & 1) == 0" (assignment_expression "uVar11 = 0x400008" identifier = number_literal) , (binary_expression "(0x209UL >> ((ulong)uVar1 & 0x3f) & 1) == 0" (parenthesized_expression "(0x209UL >> ((ulong)uVar1 & 0x3f) & 1)" ( (binary_expression "0x209UL >> ((ulong)uVar1 & 0x3f) & 1" (binary_expression "0x209UL >> ((ulong)uVar1 & 0x3f)" number_literal >> (parenthesized_expression "((ulong)uVar1 & 0x3f)" ( (binary_expression "(ulong)uVar1 & 0x3f" (cast_expression "(ulong)uVar1" ( (type_descriptor "ulong" type_identifier) ) identifier) & number_literal) ))) & number_literal) )) == number_literal)) ))) )) (compound_statement "{\n                    uVar11 = 0x400008;\n                    uVar4 = dcgettext(0,\n                                      "symbol type \"%s\" is supported only by GNU and FreeBSD targets"\n                                      ,5);\n                    FUN_0011f6d0(uVar4,__s1);\n                  }" { (expression_statement "uVar11 = 0x400008;" (assignment_expression "uVar11 = 0x400008" identifier = number_literal) ;) (expression_statement "uVar4 = dcgettext(0,\n                                      "symbol type \"%s\" is supported only by GNU and FreeBSD targets"\n                                      ,5);" (assignment_expression "uVar4 = dcgettext(0,\n                                      "symbol type \"%s\" is supported only by GNU and FreeBSD targets"\n                                      ,5)" identifier = (call_expression "dcgettext(0,\n                                      "symbol type \"%s\" is supported only by GNU and FreeBSD targets"\n                                      ,5)" identifier (argument_list "(0,\n                                      "symbol type \"%s\" is supported only by GNU and FreeBSD targets"\n                                      ,5)" ( number_literal , (string_literal ""symbol type \"%s\" is supported only by GNU and FreeBSD targets"" " string_content escape_sequence string_content escape_sequence string_content ") , number_literal )))) ;) (expression_statement "FUN_0011f6d0(uVar4,__s1);" (call_expression "FUN_0011f6d0(uVar4,__s1)" identifier (argument_list "(uVar4,__s1)" ( identifier , identifier ))) ;) })) }) (else_clause "else {\n                  iVar3 = strcmp((char *)__s1,"gnu_unique_object");\n                  if (iVar3 == 0) {\n                    lVar7 = *(long *)(*(long *)(DAT_0019d970 + 8) + 0x368);\n                    iVar3 = *(int *)(lVar7 + 0xc);\n                    if ((iVar3 != 3) && (iVar3 != 0)) {\n                      uVar4 = dcgettext(0,"symbol type \"%s\" is supported only by GNU targets",5);\n                      FUN_0011f6d0(uVar4,__s1);\n                    }\n                    *(undefined4 *)(lVar7 + 0xc) = 3;\n                    uVar11 = 0x810000;\n                  }\n                  else {\n                    uVar4 = dcgettext(0,"unrecognized symbol type \"%s\"",5);\n                    FUN_0011f6d0(uVar4,__s1);\n                  }\n                }" else (compound_statement "{\n                  iVar3 = strcmp((char *)__s1,"gnu_unique_object");\n                  if (iVar3 == 0) {\n                    lVar7 = *(long *)(*(long *)(DAT_0019d970 + 8) + 0x368);\n                    iVar3 = *(int *)(lVar7 + 0xc);\n                    if ((iVar3 != 3) && (iVar3 != 0)) {\n                      uVar4 = dcgettext(0,"symbol type \"%s\" is supported only by GNU targets",5);\n                      FUN_0011f6d0(uVar4,__s1);\n                    }\n                    *(undefined4 *)(lVar7 + 0xc) = 3;\n                    uVar11 = 0x810000;\n                  }\n                  else {\n                    uVar4 = dcgettext(0,"unrecognized symbol type \"%s\"",5);\n                    FUN_0011f6d0(uVar4,__s1);\n                  }\n                }" { (expression_statement "iVar3 = strcmp((char *)__s1,"gnu_unique_object");" (assignment_expression "iVar3 = strcmp((char *)__s1,"gnu_unique_object")" identifier = (call_expression "strcmp((char *)__s1,"gnu_unique_object")" identifier (argument_list "((char *)__s1,"gnu_unique_object")" ( (cast_expression "(char *)__s1" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) , (string_literal ""gnu_unique_object"" " string_content ") )))) ;) (if_statement "if (iVar3 == 0) {\n                    lVar7 = *(long *)(*(long *)(DAT_0019d970 + 8) + 0x368);\n                    iVar3 = *(int *)(lVar7 + 0xc);\n                    if ((iVar3 != 3) && (iVar3 != 0)) {\n                      uVar4 = dcgettext(0,"symbol type \"%s\" is supported only by GNU targets",5);\n                      FUN_0011f6d0(uVar4,__s1);\n                    }\n                    *(undefined4 *)(lVar7 + 0xc) = 3;\n                    uVar11 = 0x810000;\n                  }\n                  else {\n                    uVar4 = dcgettext(0,"unrecognized symbol type \"%s\"",5);\n                    FUN_0011f6d0(uVar4,__s1);\n                  }" if (parenthesized_expression "(iVar3 == 0)" ( (binary_expression "iVar3 == 0" identifier == number_literal) )) (compound_statement "{\n                    lVar7 = *(long *)(*(long *)(DAT_0019d970 + 8) + 0x368);\n                    iVar3 = *(int *)(lVar7 + 0xc);\n                    if ((iVar3 != 3) && (iVar3 != 0)) {\n                      uVar4 = dcgettext(0,"symbol type \"%s\" is supported only by GNU targets",5);\n                      FUN_0011f6d0(uVar4,__s1);\n                    }\n                    *(undefined4 *)(lVar7 + 0xc) = 3;\n                    uVar11 = 0x810000;\n                  }" { (expression_statement "lVar7 = *(long *)(*(long *)(DAT_0019d970 + 8) + 0x368);" (assignment_expression "lVar7 = *(long *)(*(long *)(DAT_0019d970 + 8) + 0x368)" identifier = (pointer_expression "*(long *)(*(long *)(DAT_0019d970 + 8) + 0x368)" * (cast_expression "(long *)(*(long *)(DAT_0019d970 + 8) + 0x368)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(long *)(DAT_0019d970 + 8) + 0x368)" ( (binary_expression "*(long *)(DAT_0019d970 + 8) + 0x368" (pointer_expression "*(long *)(DAT_0019d970 + 8)" * (cast_expression "(long *)(DAT_0019d970 + 8)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(DAT_0019d970 + 8)" ( (binary_expression "DAT_0019d970 + 8" identifier + number_literal) )))) + number_literal) ))))) ;) (expression_statement "iVar3 = *(int *)(lVar7 + 0xc);" (assignment_expression "iVar3 = *(int *)(lVar7 + 0xc)" identifier = (pointer_expression "*(int *)(lVar7 + 0xc)" * (cast_expression "(int *)(lVar7 + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar7 + 0xc)" ( (binary_expression "lVar7 + 0xc" identifier + number_literal) ))))) ;) (if_statement "if ((iVar3 != 3) && (iVar3 != 0)) {\n                      uVar4 = dcgettext(0,"symbol type \"%s\" is supported only by GNU targets",5);\n                      FUN_0011f6d0(uVar4,__s1);\n                    }" if (parenthesized_expression "((iVar3 != 3) && (iVar3 != 0))" ( (binary_expression "(iVar3 != 3) && (iVar3 != 0)" (parenthesized_expression "(iVar3 != 3)" ( (binary_expression "iVar3 != 3" identifier != number_literal) )) && (parenthesized_expression "(iVar3 != 0)" ( (binary_expression "iVar3 != 0" identifier != number_literal) ))) )) (compound_statement "{\n                      uVar4 = dcgettext(0,"symbol type \"%s\" is supported only by GNU targets",5);\n                      FUN_0011f6d0(uVar4,__s1);\n                    }" { (expression_statement "uVar4 = dcgettext(0,"symbol type \"%s\" is supported only by GNU targets",5);" (assignment_expression "uVar4 = dcgettext(0,"symbol type \"%s\" is supported only by GNU targets",5)" identifier = (call_expression "dcgettext(0,"symbol type \"%s\" is supported only by GNU targets",5)" identifier (argument_list "(0,"symbol type \"%s\" is supported only by GNU targets",5)" ( number_literal , (string_literal ""symbol type \"%s\" is supported only by GNU targets"" " string_content escape_sequence string_content escape_sequence string_content ") , number_literal )))) ;) (expression_statement "FUN_0011f6d0(uVar4,__s1);" (call_expression "FUN_0011f6d0(uVar4,__s1)" identifier (argument_list "(uVar4,__s1)" ( identifier , identifier ))) ;) })) (expression_statement "*(undefined4 *)(lVar7 + 0xc) = 3;" (assignment_expression "*(undefined4 *)(lVar7 + 0xc) = 3" (pointer_expression "*(undefined4 *)(lVar7 + 0xc)" * (cast_expression "(undefined4 *)(lVar7 + 0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar7 + 0xc)" ( (binary_expression "lVar7 + 0xc" identifier + number_literal) )))) = number_literal) ;) (expression_statement "uVar11 = 0x810000;" (assignment_expression "uVar11 = 0x810000" identifier = number_literal) ;) }) (else_clause "else {\n                    uVar4 = dcgettext(0,"unrecognized symbol type \"%s\"",5);\n                    FUN_0011f6d0(uVar4,__s1);\n                  }" else (compound_statement "{\n                    uVar4 = dcgettext(0,"unrecognized symbol type \"%s\"",5);\n                    FUN_0011f6d0(uVar4,__s1);\n                  }" { (expression_statement "uVar4 = dcgettext(0,"unrecognized symbol type \"%s\"",5);" (assignment_expression "uVar4 = dcgettext(0,"unrecognized symbol type \"%s\"",5)" identifier = (call_expression "dcgettext(0,"unrecognized symbol type \"%s\"",5)" identifier (argument_list "(0,"unrecognized symbol type \"%s\"",5)" ( number_literal , (string_literal ""unrecognized symbol type \"%s\""" " string_content escape_sequence string_content escape_sequence ") , number_literal )))) ;) (expression_statement "FUN_0011f6d0(uVar4,__s1);" (call_expression "FUN_0011f6d0(uVar4,__s1)" identifier (argument_list "(uVar4,__s1)" ( identifier , identifier ))) ;) }))) }))) (goto_statement "goto LAB_00139961;" goto statement_identifier ;) })) (expression_statement "iVar3 = FUN_0012ac00(uVar4);" (assignment_expression "iVar3 = FUN_0012ac00(uVar4)" identifier = (call_expression "FUN_0012ac00(uVar4)" identifier (argument_list "(uVar4)" ( identifier )))) ;) (if_statement "if (iVar3 == 0) {\n                iVar3 = FUN_0012aed0(uVar4);\n                if (iVar3 != 0) {\n                  uVar11 = 0x10000;\n                  uVar4 = FUN_0012c530(uVar4,1);\n                  FUN_0012af90(uVar4,_bfd_std_section);\n                  FUN_0012aa50(uVar4,0);\n                  FUN_0012c440(uVar4);\n                  FUN_0012d650(uVar4,&DAT_0019d720);\n                  FUN_0012d370(uVar4);\n                  goto LAB_00139961;\n                }\n                iVar3 = FUN_0012ac30(uVar4);\n                if ((iVar3 != 0) || (iVar3 = FUN_0012da60(uVar4), iVar3 != 0)) {\n                  uVar11 = 0x10000;\n                  uVar4 = FUN_0012af30(uVar4);\n                  uVar6 = dcgettext(0,"symbol \'%s\' is already defined",5);\n                  FUN_0011f6d0(uVar6,uVar4);\n                  goto LAB_00139961;\n                }\n                FUN_0012af90(uVar4,_bfd_std_section);\n                FUN_0012aa50(uVar4,0);\n                FUN_0012c440(uVar4);\n              }" if (parenthesized_expression "(iVar3 == 0)" ( (binary_expression "iVar3 == 0" identifier == number_literal) )) (compound_statement "{\n                iVar3 = FUN_0012aed0(uVar4);\n                if (iVar3 != 0) {\n                  uVar11 = 0x10000;\n                  uVar4 = FUN_0012c530(uVar4,1);\n                  FUN_0012af90(uVar4,_bfd_std_section);\n                  FUN_0012aa50(uVar4,0);\n                  FUN_0012c440(uVar4);\n                  FUN_0012d650(uVar4,&DAT_0019d720);\n                  FUN_0012d370(uVar4);\n                  goto LAB_00139961;\n                }\n                iVar3 = FUN_0012ac30(uVar4);\n                if ((iVar3 != 0) || (iVar3 = FUN_0012da60(uVar4), iVar3 != 0)) {\n                  uVar11 = 0x10000;\n                  uVar4 = FUN_0012af30(uVar4);\n                  uVar6 = dcgettext(0,"symbol \'%s\' is already defined",5);\n                  FUN_0011f6d0(uVar6,uVar4);\n                  goto LAB_00139961;\n                }\n                FUN_0012af90(uVar4,_bfd_std_section);\n                FUN_0012aa50(uVar4,0);\n                FUN_0012c440(uVar4);\n              }" { (expression_statement "iVar3 = FUN_0012aed0(uVar4);" (assignment_expression "iVar3 = FUN_0012aed0(uVar4)" identifier = (call_expression "FUN_0012aed0(uVar4)" identifier (argument_list "(uVar4)" ( identifier )))) ;) (if_statement "if (iVar3 != 0) {\n                  uVar11 = 0x10000;\n                  uVar4 = FUN_0012c530(uVar4,1);\n                  FUN_0012af90(uVar4,_bfd_std_section);\n                  FUN_0012aa50(uVar4,0);\n                  FUN_0012c440(uVar4);\n                  FUN_0012d650(uVar4,&DAT_0019d720);\n                  FUN_0012d370(uVar4);\n                  goto LAB_00139961;\n                }" if (parenthesized_expression "(iVar3 != 0)" ( (binary_expression "iVar3 != 0" identifier != number_literal) )) (compound_statement "{\n                  uVar11 = 0x10000;\n                  uVar4 = FUN_0012c530(uVar4,1);\n                  FUN_0012af90(uVar4,_bfd_std_section);\n                  FUN_0012aa50(uVar4,0);\n                  FUN_0012c440(uVar4);\n                  FUN_0012d650(uVar4,&DAT_0019d720);\n                  FUN_0012d370(uVar4);\n                  goto LAB_00139961;\n                }" { (expression_statement "uVar11 = 0x10000;" (assignment_expression "uVar11 = 0x10000" identifier = number_literal) ;) (expression_statement "uVar4 = FUN_0012c530(uVar4,1);" (assignment_expression "uVar4 = FUN_0012c530(uVar4,1)" identifier = (call_expression "FUN_0012c530(uVar4,1)" identifier (argument_list "(uVar4,1)" ( identifier , number_literal )))) ;) (expression_statement "FUN_0012af90(uVar4,_bfd_std_section);" (call_expression "FUN_0012af90(uVar4,_bfd_std_section)" identifier (argument_list "(uVar4,_bfd_std_section)" ( identifier , identifier ))) ;) (expression_statement "FUN_0012aa50(uVar4,0);" (call_expression "FUN_0012aa50(uVar4,0)" identifier (argument_list "(uVar4,0)" ( identifier , number_literal ))) ;) (expression_statement "FUN_0012c440(uVar4);" (call_expression "FUN_0012c440(uVar4)" identifier (argument_list "(uVar4)" ( identifier ))) ;) (expression_statement "FUN_0012d650(uVar4,&DAT_0019d720);" (call_expression "FUN_0012d650(uVar4,&DAT_0019d720)" identifier (argument_list "(uVar4,&DAT_0019d720)" ( identifier , (pointer_expression "&DAT_0019d720" & identifier) ))) ;) (expression_statement "FUN_0012d370(uVar4);" (call_expression "FUN_0012d370(uVar4)" identifier (argument_list "(uVar4)" ( identifier ))) ;) (goto_statement "goto LAB_00139961;" goto statement_identifier ;) })) (expression_statement "iVar3 = FUN_0012ac30(uVar4);" (assignment_expression "iVar3 = FUN_0012ac30(uVar4)" identifier = (call_expression "FUN_0012ac30(uVar4)" identifier (argument_list "(uVar4)" ( identifier )))) ;) (if_statement "if ((iVar3 != 0) || (iVar3 = FUN_0012da60(uVar4), iVar3 != 0)) {\n                  uVar11 = 0x10000;\n                  uVar4 = FUN_0012af30(uVar4);\n                  uVar6 = dcgettext(0,"symbol \'%s\' is already defined",5);\n                  FUN_0011f6d0(uVar6,uVar4);\n                  goto LAB_00139961;\n                }" if (parenthesized_expression "((iVar3 != 0) || (iVar3 = FUN_0012da60(uVar4), iVar3 != 0))" ( (binary_expression "(iVar3 != 0) || (iVar3 = FUN_0012da60(uVar4), iVar3 != 0)" (parenthesized_expression "(iVar3 != 0)" ( (binary_expression "iVar3 != 0" identifier != number_literal) )) || (parenthesized_expression "(iVar3 = FUN_0012da60(uVar4), iVar3 != 0)" ( (comma_expression "iVar3 = FUN_0012da60(uVar4), iVar3 != 0" (assignment_expression "iVar3 = FUN_0012da60(uVar4)" identifier = (call_expression "FUN_0012da60(uVar4)" identifier (argument_list "(uVar4)" ( identifier )))) , (binary_expression "iVar3 != 0" identifier != number_literal)) ))) )) (compound_statement "{\n                  uVar11 = 0x10000;\n                  uVar4 = FUN_0012af30(uVar4);\n                  uVar6 = dcgettext(0,"symbol \'%s\' is already defined",5);\n                  FUN_0011f6d0(uVar6,uVar4);\n                  goto LAB_00139961;\n                }" { (expression_statement "uVar11 = 0x10000;" (assignment_expression "uVar11 = 0x10000" identifier = number_literal) ;) (expression_statement "uVar4 = FUN_0012af30(uVar4);" (assignment_expression "uVar4 = FUN_0012af30(uVar4)" identifier = (call_expression "FUN_0012af30(uVar4)" identifier (argument_list "(uVar4)" ( identifier )))) ;) (expression_statement "uVar6 = dcgettext(0,"symbol \'%s\' is already defined",5);" (assignment_expression "uVar6 = dcgettext(0,"symbol \'%s\' is already defined",5)" identifier = (call_expression "dcgettext(0,"symbol \'%s\' is already defined",5)" identifier (argument_list "(0,"symbol \'%s\' is already defined",5)" ( number_literal , (string_literal ""symbol \'%s\' is already defined"" " string_content escape_sequence string_content escape_sequence string_content ") , number_literal )))) ;) (expression_statement "FUN_0011f6d0(uVar6,uVar4);" (call_expression "FUN_0011f6d0(uVar6,uVar4)" identifier (argument_list "(uVar6,uVar4)" ( identifier , identifier ))) ;) (goto_statement "goto LAB_00139961;" goto statement_identifier ;) })) (expression_statement "FUN_0012af90(uVar4,_bfd_std_section);" (call_expression "FUN_0012af90(uVar4,_bfd_std_section)" identifier (argument_list "(uVar4,_bfd_std_section)" ( identifier , identifier ))) ;) (expression_statement "FUN_0012aa50(uVar4,0);" (call_expression "FUN_0012aa50(uVar4,0)" identifier (argument_list "(uVar4,0)" ( identifier , number_literal ))) ;) (expression_statement "FUN_0012c440(uVar4);" (call_expression "FUN_0012c440(uVar4)" identifier (argument_list "(uVar4)" ( identifier ))) ;) })) })) })) })) (expression_statement "uVar11 = 0x10000;" (assignment_expression "uVar11 = 0x10000" identifier = number_literal) ;) })) })) })) (labeled_statement "LAB_00139961:\n  *DAT_0019d9a0 = bVar2;" statement_identifier : (expression_statement "*DAT_0019d9a0 = bVar2;" (assignment_expression "*DAT_0019d9a0 = bVar2" (pointer_expression "*DAT_0019d9a0" * identifier) = identifier) ;)) (if_statement "if (*DAT_0019d9a0 == 0x22) {\n    DAT_0019d9a0 = DAT_0019d9a0 + 1;\n  }" if (parenthesized_expression "(*DAT_0019d9a0 == 0x22)" ( (binary_expression "*DAT_0019d9a0 == 0x22" (pointer_expression "*DAT_0019d9a0" * identifier) == number_literal) )) (compound_statement "{\n    DAT_0019d9a0 = DAT_0019d9a0 + 1;\n  }" { (expression_statement "DAT_0019d9a0 = DAT_0019d9a0 + 1;" (assignment_expression "DAT_0019d9a0 = DAT_0019d9a0 + 1" identifier = (binary_expression "DAT_0019d9a0 + 1" identifier + number_literal)) ;) })) (expression_statement "*(uint *)(lVar5 + 0x18) = *(uint *)(lVar5 + 0x18) | uVar11;" (assignment_expression "*(uint *)(lVar5 + 0x18) = *(uint *)(lVar5 + 0x18) | uVar11" (pointer_expression "*(uint *)(lVar5 + 0x18)" * (cast_expression "(uint *)(lVar5 + 0x18)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar5 + 0x18)" ( (binary_expression "lVar5 + 0x18" identifier + number_literal) )))) = (binary_expression "*(uint *)(lVar5 + 0x18) | uVar11" (pointer_expression "*(uint *)(lVar5 + 0x18)" * (cast_expression "(uint *)(lVar5 + 0x18)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar5 + 0x18)" ( (binary_expression "lVar5 + 0x18" identifier + number_literal) )))) | identifier)) ;) (expression_statement "FUN_00121a20();" (call_expression "FUN_00121a20()" identifier (argument_list "()" ( ))) ;) (return_statement "return;" return ;) })))
(translation_unit "void obj_elf_type(int ignore)\n\n{\n  byte bVar1;\n  uint uVar2;\n  void *pvVar3;\n  char cVar4;\n  int iVar5;\n  symbolS *psVar6;\n  asymbol *paVar7;\n  char *pcVar8;\n  char *pcVar9;\n  long lVar10;\n  byte *pbVar11;\n  byte *pbVar12;\n  uint uVar13;\n  undefined1 uVar14;\n  bool bVar15;\n  bool bVar16;\n  undefined1 uVar17;\n  bool bVar18;\n  byte bVar19;\n  char *p;\n  \n  bVar19 = 0;\n  psVar6 = get_sym_from_input_line_and_check();\n  paVar7 = symbol_get_bfdsym(psVar6);\n  bVar1 = *input_line_pointer;\n  if (bVar1 == 0x2c) {\n    bVar1 = input_line_pointer[1];\n    input_line_pointer = input_line_pointer + 1;\n  }\n  if (bVar1 == 0x20) {\n    bVar1 = input_line_pointer[1];\n    input_line_pointer = input_line_pointer + 1;\n  }\n  if (((byte)(bVar1 - 0x22) < 0x1f) && ((0x4000000bUL >> ((ulong)(bVar1 - 0x22) & 0x3f) & 1) != 0))\n  {\n    input_line_pointer = input_line_pointer + 1;\n  }\n  p = input_line_pointer;\n  bVar1 = *input_line_pointer - 0x30;\n  uVar14 = bVar1 < 9;\n  uVar17 = bVar1 == 9;\n  if (bVar1 < 10) {\n    do {\n      input_line_pointer = input_line_pointer + 1;\n      cVar4 = *input_line_pointer;\n      bVar1 = cVar4 - 0x30;\n      uVar14 = bVar1 < 9;\n      uVar17 = bVar1 == 9;\n    } while (bVar1 < 10);\n    *input_line_pointer = '\0';\n  }\n  else {\n    cVar4 = get_symbol_name(&p);\n  }\n  pcVar9 = p;\n  lVar10 = 9;\n  uVar13 = 8;\n  pbVar11 = (byte *)p;\n  pbVar12 = (byte *)0x1464a7;\n  do {\n    if (lVar10 == 0) break;\n    lVar10 = lVar10 + -1;\n    uVar14 = *pbVar11 < *pbVar12;\n    uVar17 = *pbVar11 == *pbVar12;\n    pbVar11 = pbVar11 + (ulong)bVar19 * -2 + 1;\n    pbVar12 = pbVar12 + (ulong)bVar19 * -2 + 1;\n  } while ((bool)uVar17);\n  bVar15 = false;\n  bVar18 = (!(bool)uVar14 && !(bool)uVar17) == (bool)uVar14;\n  if (!bVar18) {\n    lVar10 = 2;\n    pbVar11 = (byte *)p;\n    pbVar12 = (byte *)0x14246c;\n    do {\n      if (lVar10 == 0) break;\n      lVar10 = lVar10 + -1;\n      bVar15 = *pbVar11 < *pbVar12;\n      bVar18 = *pbVar11 == *pbVar12;\n      pbVar11 = pbVar11 + (ulong)bVar19 * -2 + 1;\n      pbVar12 = pbVar12 + (ulong)bVar19 * -2 + 1;\n    } while (bVar18);\n    bVar16 = false;\n    bVar15 = (!bVar15 && !bVar18) == bVar15;\n    if (!bVar15) {\n      lVar10 = 9;\n      pbVar11 = (byte *)p;\n      pbVar12 = (byte *)"STT_FUNC";\n      do {\n        if (lVar10 == 0) break;\n        lVar10 = lVar10 + -1;\n        bVar16 = *pbVar11 < *pbVar12;\n        bVar15 = *pbVar11 == *pbVar12;\n        pbVar11 = pbVar11 + (ulong)bVar19 * -2 + 1;\n        pbVar12 = pbVar12 + (ulong)bVar19 * -2 + 1;\n      } while (bVar15);\n      bVar18 = false;\n      bVar15 = (!bVar16 && !bVar15) == bVar16;\n      if (!bVar15) {\n        lVar10 = 7;\n        pbVar11 = (byte *)p;\n        pbVar12 = (byte *)0x1464c9;\n        do {\n          if (lVar10 == 0) break;\n          lVar10 = lVar10 + -1;\n          bVar18 = *pbVar11 < *pbVar12;\n          bVar15 = *pbVar11 == *pbVar12;\n          pbVar11 = pbVar11 + (ulong)bVar19 * -2 + 1;\n          pbVar12 = pbVar12 + (ulong)bVar19 * -2 + 1;\n        } while (bVar15);\n        bVar16 = false;\n        bVar15 = (!bVar18 && !bVar15) == bVar18;\n        if (!bVar15) {\n          lVar10 = 2;\n          pbVar11 = (byte *)p;\n          pbVar12 = (byte *)0x13f34c;\n          do {\n            if (lVar10 == 0) break;\n            lVar10 = lVar10 + -1;\n            bVar16 = *pbVar11 < *pbVar12;\n            bVar15 = *pbVar11 == *pbVar12;\n            pbVar11 = pbVar11 + (ulong)bVar19 * -2 + 1;\n            pbVar12 = pbVar12 + (ulong)bVar19 * -2 + 1;\n          } while (bVar15);\n          bVar18 = false;\n          bVar15 = (!bVar16 && !bVar15) == bVar16;\n          if (!bVar15) {\n            lVar10 = 0xb;\n            pbVar11 = (byte *)p;\n            pbVar12 = (byte *)"STT_OBJECT";\n            do {\n              if (lVar10 == 0) break;\n              lVar10 = lVar10 + -1;\n              bVar18 = *pbVar11 < *pbVar12;\n              bVar15 = *pbVar11 == *pbVar12;\n              pbVar11 = pbVar11 + (ulong)bVar19 * -2 + 1;\n              pbVar12 = pbVar12 + (ulong)bVar19 * -2 + 1;\n            } while (bVar15);\n            bVar16 = false;\n            bVar15 = (!bVar18 && !bVar15) == bVar18;\n            if (!bVar15) {\n              lVar10 = 0xb;\n              uVar13 = 0x50000;\n              pbVar11 = (byte *)p;\n              pbVar12 = (byte *)"tls_object";\n              do {\n                if (lVar10 == 0) break;\n                lVar10 = lVar10 + -1;\n                bVar16 = *pbVar11 < *pbVar12;\n                bVar15 = *pbVar11 == *pbVar12;\n                pbVar11 = pbVar11 + (ulong)bVar19 * -2 + 1;\n                pbVar12 = pbVar12 + (ulong)bVar19 * -2 + 1;\n              } while (bVar15);\n              bVar18 = false;\n              bVar15 = (!bVar16 && !bVar15) == bVar16;\n              if (bVar15) goto LAB_00139961;\n              lVar10 = 2;\n              pbVar11 = (byte *)p;\n              pbVar12 = &DAT_001448ab;\n              do {\n                if (lVar10 == 0) break;\n                lVar10 = lVar10 + -1;\n                bVar18 = *pbVar11 < *pbVar12;\n                bVar15 = *pbVar11 == *pbVar12;\n                pbVar11 = pbVar11 + (ulong)bVar19 * -2 + 1;\n                pbVar12 = pbVar12 + (ulong)bVar19 * -2 + 1;\n              } while (bVar15);\n              bVar16 = false;\n              bVar15 = (!bVar18 && !bVar15) == bVar18;\n              if (bVar15) goto LAB_00139961;\n              lVar10 = 8;\n              pbVar11 = (byte *)p;\n              pbVar12 = (byte *)"STT_TLS";\n              do {\n                if (lVar10 == 0) break;\n                lVar10 = lVar10 + -1;\n                bVar16 = *pbVar11 < *pbVar12;\n                bVar15 = *pbVar11 == *pbVar12;\n                pbVar11 = pbVar11 + (ulong)bVar19 * -2 + 1;\n                pbVar12 = pbVar12 + (ulong)bVar19 * -2 + 1;\n              } while (bVar15);\n              bVar18 = false;\n              bVar15 = (!bVar16 && !bVar15) == bVar16;\n              if (bVar15) goto LAB_00139961;\n              lVar10 = 7;\n              pbVar11 = (byte *)p;\n              pbVar12 = (byte *)"notype";\n              do {\n                if (lVar10 == 0) break;\n                lVar10 = lVar10 + -1;\n                bVar18 = *pbVar11 < *pbVar12;\n                bVar15 = *pbVar11 == *pbVar12;\n                pbVar11 = pbVar11 + (ulong)bVar19 * -2 + 1;\n                pbVar12 = pbVar12 + (ulong)bVar19 * -2 + 1;\n              } while (bVar15);\n              uVar13 = 0;\n              if ((((!bVar18 && !bVar15) == bVar18) || (iVar5 = strcmp(p,"0"), iVar5 == 0)) ||\n                 (iVar5 = strcmp(pcVar9,"STT_NOTYPE"), iVar5 == 0)) goto LAB_00139961;\n              iVar5 = strcmp(pcVar9,"common");\n              if (((iVar5 != 0) && (iVar5 = strcmp(pcVar9,"5"), iVar5 != 0)) &&\n                 (iVar5 = strcmp(pcVar9,"STT_COMMON"), iVar5 != 0)) {\n                iVar5 = strcmp(pcVar9,"gnu_indirect_function");\n                if (((iVar5 == 0) || (iVar5 = strcmp(pcVar9,"10"), iVar5 == 0)) ||\n                   (iVar5 = strcmp(pcVar9,"STT_GNU_IFUNC"), iVar5 == 0)) {\n                  uVar2 = *(uint *)((long)stdoutput->xvec->backend_data + 0xc);\n                  if ((9 < uVar2) ||\n                     (uVar13 = 0x400008, (0x209UL >> ((ulong)uVar2 & 0x3f) & 1) == 0)) {\n                    uVar13 = 0x400008;\n                    pcVar8 = (char *)dcgettext(0,\n                                               "symbol type \"%s\" is supported only by GNU and FreeBSD targets"\n                                               ,5);\n                    as_bad(pcVar8,pcVar9);\n                  }\n                }\n                else {\n                  iVar5 = strcmp(pcVar9,"gnu_unique_object");\n                  if (iVar5 == 0) {\n                    pvVar3 = stdoutput->xvec->backend_data;\n                    iVar5 = *(int *)((long)pvVar3 + 0xc);\n                    if ((iVar5 != 3) && (iVar5 != 0)) {\n                      pcVar8 = (char *)dcgettext(0,\n                                                 "symbol type \"%s\" is supported only by GNU targets"\n                                                 ,5);\n                      as_bad(pcVar8,pcVar9);\n                    }\n                    *(undefined4 *)((long)pvVar3 + 0xc) = 3;\n                    uVar13 = 0x810000;\n                  }\n                  else {\n                    pcVar8 = (char *)dcgettext(0,"unrecognized symbol type \"%s\"",5);\n                    as_bad(pcVar8,pcVar9);\n                  }\n                }\n                goto LAB_00139961;\n              }\n              iVar5 = S_IS_COMMON(psVar6);\n              if (iVar5 == 0) {\n                iVar5 = S_IS_VOLATILE(psVar6);\n                if (iVar5 != 0) {\n                  uVar13 = 0x10000;\n                  psVar6 = symbol_clone(psVar6,1);\n                  S_SET_SEGMENT(psVar6,(segT)_bfd_std_section);\n                  S_SET_VALUE(psVar6,0);\n                  S_SET_EXTERNAL(psVar6);\n                  symbol_set_frag(psVar6,&zero_address_frag);\n                  S_CLEAR_VOLATILE(psVar6);\n                  goto LAB_00139961;\n                }\n                iVar5 = S_IS_DEFINED(psVar6);\n                if ((iVar5 != 0) || (iVar5 = symbol_equated_p(psVar6), iVar5 != 0)) {\n                  uVar13 = 0x10000;\n                  pcVar9 = S_GET_NAME(psVar6);\n                  pcVar8 = (char *)dcgettext(0,"symbol \'%s\' is already defined",5);\n                  as_bad(pcVar8,pcVar9);\n                  goto LAB_00139961;\n                }\n                S_SET_SEGMENT(psVar6,(segT)_bfd_std_section);\n                S_SET_VALUE(psVar6,0);\n                S_SET_EXTERNAL(psVar6);\n              }\n            }\n          }\n        }\n        uVar13 = 0x10000;\n      }\n    }\n  }\nLAB_00139961:\n  *input_line_pointer = cVar4;\n  if (*input_line_pointer == '\"') {\n    input_line_pointer = input_line_pointer + 1;\n  }\n  paVar7->flags = paVar7->flags | uVar13;\n  demand_empty_rest_of_line();\n  return;\n}\n\n" (function_definition "void obj_elf_type(int ignore)\n\n{\n  byte bVar1;\n  uint uVar2;\n  void *pvVar3;\n  char cVar4;\n  int iVar5;\n  symbolS *psVar6;\n  asymbol *paVar7;\n  char *pcVar8;\n  char *pcVar9;\n  long lVar10;\n  byte *pbVar11;\n  byte *pbVar12;\n  uint uVar13;\n  undefined1 uVar14;\n  bool bVar15;\n  bool bVar16;\n  undefined1 uVar17;\n  bool bVar18;\n  byte bVar19;\n  char *p;\n  \n  bVar19 = 0;\n  psVar6 = get_sym_from_input_line_and_check();\n  paVar7 = symbol_get_bfdsym(psVar6);\n  bVar1 = *input_line_pointer;\n  if (bVar1 == 0x2c) {\n    bVar1 = input_line_pointer[1];\n    input_line_pointer = input_line_pointer + 1;\n  }\n  if (bVar1 == 0x20) {\n    bVar1 = input_line_pointer[1];\n    input_line_pointer = input_line_pointer + 1;\n  }\n  if (((byte)(bVar1 - 0x22) < 0x1f) && ((0x4000000bUL >> ((ulong)(bVar1 - 0x22) & 0x3f) & 1) != 0))\n  {\n    input_line_pointer = input_line_pointer + 1;\n  }\n  p = input_line_pointer;\n  bVar1 = *input_line_pointer - 0x30;\n  uVar14 = bVar1 < 9;\n  uVar17 = bVar1 == 9;\n  if (bVar1 < 10) {\n    do {\n      input_line_pointer = input_line_pointer + 1;\n      cVar4 = *input_line_pointer;\n      bVar1 = cVar4 - 0x30;\n      uVar14 = bVar1 < 9;\n      uVar17 = bVar1 == 9;\n    } while (bVar1 < 10);\n    *input_line_pointer = '\0';\n  }\n  else {\n    cVar4 = get_symbol_name(&p);\n  }\n  pcVar9 = p;\n  lVar10 = 9;\n  uVar13 = 8;\n  pbVar11 = (byte *)p;\n  pbVar12 = (byte *)0x1464a7;\n  do {\n    if (lVar10 == 0) break;\n    lVar10 = lVar10 + -1;\n    uVar14 = *pbVar11 < *pbVar12;\n    uVar17 = *pbVar11 == *pbVar12;\n    pbVar11 = pbVar11 + (ulong)bVar19 * -2 + 1;\n    pbVar12 = pbVar12 + (ulong)bVar19 * -2 + 1;\n  } while ((bool)uVar17);\n  bVar15 = false;\n  bVar18 = (!(bool)uVar14 && !(bool)uVar17) == (bool)uVar14;\n  if (!bVar18) {\n    lVar10 = 2;\n    pbVar11 = (byte *)p;\n    pbVar12 = (byte *)0x14246c;\n    do {\n      if (lVar10 == 0) break;\n      lVar10 = lVar10 + -1;\n      bVar15 = *pbVar11 < *pbVar12;\n      bVar18 = *pbVar11 == *pbVar12;\n      pbVar11 = pbVar11 + (ulong)bVar19 * -2 + 1;\n      pbVar12 = pbVar12 + (ulong)bVar19 * -2 + 1;\n    } while (bVar18);\n    bVar16 = false;\n    bVar15 = (!bVar15 && !bVar18) == bVar15;\n    if (!bVar15) {\n      lVar10 = 9;\n      pbVar11 = (byte *)p;\n      pbVar12 = (byte *)"STT_FUNC";\n      do {\n        if (lVar10 == 0) break;\n        lVar10 = lVar10 + -1;\n        bVar16 = *pbVar11 < *pbVar12;\n        bVar15 = *pbVar11 == *pbVar12;\n        pbVar11 = pbVar11 + (ulong)bVar19 * -2 + 1;\n        pbVar12 = pbVar12 + (ulong)bVar19 * -2 + 1;\n      } while (bVar15);\n      bVar18 = false;\n      bVar15 = (!bVar16 && !bVar15) == bVar16;\n      if (!bVar15) {\n        lVar10 = 7;\n        pbVar11 = (byte *)p;\n        pbVar12 = (byte *)0x1464c9;\n        do {\n          if (lVar10 == 0) break;\n          lVar10 = lVar10 + -1;\n          bVar18 = *pbVar11 < *pbVar12;\n          bVar15 = *pbVar11 == *pbVar12;\n          pbVar11 = pbVar11 + (ulong)bVar19 * -2 + 1;\n          pbVar12 = pbVar12 + (ulong)bVar19 * -2 + 1;\n        } while (bVar15);\n        bVar16 = false;\n        bVar15 = (!bVar18 && !bVar15) == bVar18;\n        if (!bVar15) {\n          lVar10 = 2;\n          pbVar11 = (byte *)p;\n          pbVar12 = (byte *)0x13f34c;\n          do {\n            if (lVar10 == 0) break;\n            lVar10 = lVar10 + -1;\n            bVar16 = *pbVar11 < *pbVar12;\n            bVar15 = *pbVar11 == *pbVar12;\n            pbVar11 = pbVar11 + (ulong)bVar19 * -2 + 1;\n            pbVar12 = pbVar12 + (ulong)bVar19 * -2 + 1;\n          } while (bVar15);\n          bVar18 = false;\n          bVar15 = (!bVar16 && !bVar15) == bVar16;\n          if (!bVar15) {\n            lVar10 = 0xb;\n            pbVar11 = (byte *)p;\n            pbVar12 = (byte *)"STT_OBJECT";\n            do {\n              if (lVar10 == 0) break;\n              lVar10 = lVar10 + -1;\n              bVar18 = *pbVar11 < *pbVar12;\n              bVar15 = *pbVar11 == *pbVar12;\n              pbVar11 = pbVar11 + (ulong)bVar19 * -2 + 1;\n              pbVar12 = pbVar12 + (ulong)bVar19 * -2 + 1;\n            } while (bVar15);\n            bVar16 = false;\n            bVar15 = (!bVar18 && !bVar15) == bVar18;\n            if (!bVar15) {\n              lVar10 = 0xb;\n              uVar13 = 0x50000;\n              pbVar11 = (byte *)p;\n              pbVar12 = (byte *)"tls_object";\n              do {\n                if (lVar10 == 0) break;\n                lVar10 = lVar10 + -1;\n                bVar16 = *pbVar11 < *pbVar12;\n                bVar15 = *pbVar11 == *pbVar12;\n                pbVar11 = pbVar11 + (ulong)bVar19 * -2 + 1;\n                pbVar12 = pbVar12 + (ulong)bVar19 * -2 + 1;\n              } while (bVar15);\n              bVar18 = false;\n              bVar15 = (!bVar16 && !bVar15) == bVar16;\n              if (bVar15) goto LAB_00139961;\n              lVar10 = 2;\n              pbVar11 = (byte *)p;\n              pbVar12 = &DAT_001448ab;\n              do {\n                if (lVar10 == 0) break;\n                lVar10 = lVar10 + -1;\n                bVar18 = *pbVar11 < *pbVar12;\n                bVar15 = *pbVar11 == *pbVar12;\n                pbVar11 = pbVar11 + (ulong)bVar19 * -2 + 1;\n                pbVar12 = pbVar12 + (ulong)bVar19 * -2 + 1;\n              } while (bVar15);\n              bVar16 = false;\n              bVar15 = (!bVar18 && !bVar15) == bVar18;\n              if (bVar15) goto LAB_00139961;\n              lVar10 = 8;\n              pbVar11 = (byte *)p;\n              pbVar12 = (byte *)"STT_TLS";\n              do {\n                if (lVar10 == 0) break;\n                lVar10 = lVar10 + -1;\n                bVar16 = *pbVar11 < *pbVar12;\n                bVar15 = *pbVar11 == *pbVar12;\n                pbVar11 = pbVar11 + (ulong)bVar19 * -2 + 1;\n                pbVar12 = pbVar12 + (ulong)bVar19 * -2 + 1;\n              } while (bVar15);\n              bVar18 = false;\n              bVar15 = (!bVar16 && !bVar15) == bVar16;\n              if (bVar15) goto LAB_00139961;\n              lVar10 = 7;\n              pbVar11 = (byte *)p;\n              pbVar12 = (byte *)"notype";\n              do {\n                if (lVar10 == 0) break;\n                lVar10 = lVar10 + -1;\n                bVar18 = *pbVar11 < *pbVar12;\n                bVar15 = *pbVar11 == *pbVar12;\n                pbVar11 = pbVar11 + (ulong)bVar19 * -2 + 1;\n                pbVar12 = pbVar12 + (ulong)bVar19 * -2 + 1;\n              } while (bVar15);\n              uVar13 = 0;\n              if ((((!bVar18 && !bVar15) == bVar18) || (iVar5 = strcmp(p,"0"), iVar5 == 0)) ||\n                 (iVar5 = strcmp(pcVar9,"STT_NOTYPE"), iVar5 == 0)) goto LAB_00139961;\n              iVar5 = strcmp(pcVar9,"common");\n              if (((iVar5 != 0) && (iVar5 = strcmp(pcVar9,"5"), iVar5 != 0)) &&\n                 (iVar5 = strcmp(pcVar9,"STT_COMMON"), iVar5 != 0)) {\n                iVar5 = strcmp(pcVar9,"gnu_indirect_function");\n                if (((iVar5 == 0) || (iVar5 = strcmp(pcVar9,"10"), iVar5 == 0)) ||\n                   (iVar5 = strcmp(pcVar9,"STT_GNU_IFUNC"), iVar5 == 0)) {\n                  uVar2 = *(uint *)((long)stdoutput->xvec->backend_data + 0xc);\n                  if ((9 < uVar2) ||\n                     (uVar13 = 0x400008, (0x209UL >> ((ulong)uVar2 & 0x3f) & 1) == 0)) {\n                    uVar13 = 0x400008;\n                    pcVar8 = (char *)dcgettext(0,\n                                               "symbol type \"%s\" is supported only by GNU and FreeBSD targets"\n                                               ,5);\n                    as_bad(pcVar8,pcVar9);\n                  }\n                }\n                else {\n                  iVar5 = strcmp(pcVar9,"gnu_unique_object");\n                  if (iVar5 == 0) {\n                    pvVar3 = stdoutput->xvec->backend_data;\n                    iVar5 = *(int *)((long)pvVar3 + 0xc);\n                    if ((iVar5 != 3) && (iVar5 != 0)) {\n                      pcVar8 = (char *)dcgettext(0,\n                                                 "symbol type \"%s\" is supported only by GNU targets"\n                                                 ,5);\n                      as_bad(pcVar8,pcVar9);\n                    }\n                    *(undefined4 *)((long)pvVar3 + 0xc) = 3;\n                    uVar13 = 0x810000;\n                  }\n                  else {\n                    pcVar8 = (char *)dcgettext(0,"unrecognized symbol type \"%s\"",5);\n                    as_bad(pcVar8,pcVar9);\n                  }\n                }\n                goto LAB_00139961;\n              }\n              iVar5 = S_IS_COMMON(psVar6);\n              if (iVar5 == 0) {\n                iVar5 = S_IS_VOLATILE(psVar6);\n                if (iVar5 != 0) {\n                  uVar13 = 0x10000;\n                  psVar6 = symbol_clone(psVar6,1);\n                  S_SET_SEGMENT(psVar6,(segT)_bfd_std_section);\n                  S_SET_VALUE(psVar6,0);\n                  S_SET_EXTERNAL(psVar6);\n                  symbol_set_frag(psVar6,&zero_address_frag);\n                  S_CLEAR_VOLATILE(psVar6);\n                  goto LAB_00139961;\n                }\n                iVar5 = S_IS_DEFINED(psVar6);\n                if ((iVar5 != 0) || (iVar5 = symbol_equated_p(psVar6), iVar5 != 0)) {\n                  uVar13 = 0x10000;\n                  pcVar9 = S_GET_NAME(psVar6);\n                  pcVar8 = (char *)dcgettext(0,"symbol \'%s\' is already defined",5);\n                  as_bad(pcVar8,pcVar9);\n                  goto LAB_00139961;\n                }\n                S_SET_SEGMENT(psVar6,(segT)_bfd_std_section);\n                S_SET_VALUE(psVar6,0);\n                S_SET_EXTERNAL(psVar6);\n              }\n            }\n          }\n        }\n        uVar13 = 0x10000;\n      }\n    }\n  }\nLAB_00139961:\n  *input_line_pointer = cVar4;\n  if (*input_line_pointer == '\"') {\n    input_line_pointer = input_line_pointer + 1;\n  }\n  paVar7->flags = paVar7->flags | uVar13;\n  demand_empty_rest_of_line();\n  return;\n}" primitive_type (function_declarator "obj_elf_type(int ignore)" identifier (parameter_list "(int ignore)" ( (parameter_declaration "int ignore" primitive_type identifier) ))) (compound_statement "{\n  byte bVar1;\n  uint uVar2;\n  void *pvVar3;\n  char cVar4;\n  int iVar5;\n  symbolS *psVar6;\n  asymbol *paVar7;\n  char *pcVar8;\n  char *pcVar9;\n  long lVar10;\n  byte *pbVar11;\n  byte *pbVar12;\n  uint uVar13;\n  undefined1 uVar14;\n  bool bVar15;\n  bool bVar16;\n  undefined1 uVar17;\n  bool bVar18;\n  byte bVar19;\n  char *p;\n  \n  bVar19 = 0;\n  psVar6 = get_sym_from_input_line_and_check();\n  paVar7 = symbol_get_bfdsym(psVar6);\n  bVar1 = *input_line_pointer;\n  if (bVar1 == 0x2c) {\n    bVar1 = input_line_pointer[1];\n    input_line_pointer = input_line_pointer + 1;\n  }\n  if (bVar1 == 0x20) {\n    bVar1 = input_line_pointer[1];\n    input_line_pointer = input_line_pointer + 1;\n  }\n  if (((byte)(bVar1 - 0x22) < 0x1f) && ((0x4000000bUL >> ((ulong)(bVar1 - 0x22) & 0x3f) & 1) != 0))\n  {\n    input_line_pointer = input_line_pointer + 1;\n  }\n  p = input_line_pointer;\n  bVar1 = *input_line_pointer - 0x30;\n  uVar14 = bVar1 < 9;\n  uVar17 = bVar1 == 9;\n  if (bVar1 < 10) {\n    do {\n      input_line_pointer = input_line_pointer + 1;\n      cVar4 = *input_line_pointer;\n      bVar1 = cVar4 - 0x30;\n      uVar14 = bVar1 < 9;\n      uVar17 = bVar1 == 9;\n    } while (bVar1 < 10);\n    *input_line_pointer = '\0';\n  }\n  else {\n    cVar4 = get_symbol_name(&p);\n  }\n  pcVar9 = p;\n  lVar10 = 9;\n  uVar13 = 8;\n  pbVar11 = (byte *)p;\n  pbVar12 = (byte *)0x1464a7;\n  do {\n    if (lVar10 == 0) break;\n    lVar10 = lVar10 + -1;\n    uVar14 = *pbVar11 < *pbVar12;\n    uVar17 = *pbVar11 == *pbVar12;\n    pbVar11 = pbVar11 + (ulong)bVar19 * -2 + 1;\n    pbVar12 = pbVar12 + (ulong)bVar19 * -2 + 1;\n  } while ((bool)uVar17);\n  bVar15 = false;\n  bVar18 = (!(bool)uVar14 && !(bool)uVar17) == (bool)uVar14;\n  if (!bVar18) {\n    lVar10 = 2;\n    pbVar11 = (byte *)p;\n    pbVar12 = (byte *)0x14246c;\n    do {\n      if (lVar10 == 0) break;\n      lVar10 = lVar10 + -1;\n      bVar15 = *pbVar11 < *pbVar12;\n      bVar18 = *pbVar11 == *pbVar12;\n      pbVar11 = pbVar11 + (ulong)bVar19 * -2 + 1;\n      pbVar12 = pbVar12 + (ulong)bVar19 * -2 + 1;\n    } while (bVar18);\n    bVar16 = false;\n    bVar15 = (!bVar15 && !bVar18) == bVar15;\n    if (!bVar15) {\n      lVar10 = 9;\n      pbVar11 = (byte *)p;\n      pbVar12 = (byte *)"STT_FUNC";\n      do {\n        if (lVar10 == 0) break;\n        lVar10 = lVar10 + -1;\n        bVar16 = *pbVar11 < *pbVar12;\n        bVar15 = *pbVar11 == *pbVar12;\n        pbVar11 = pbVar11 + (ulong)bVar19 * -2 + 1;\n        pbVar12 = pbVar12 + (ulong)bVar19 * -2 + 1;\n      } while (bVar15);\n      bVar18 = false;\n      bVar15 = (!bVar16 && !bVar15) == bVar16;\n      if (!bVar15) {\n        lVar10 = 7;\n        pbVar11 = (byte *)p;\n        pbVar12 = (byte *)0x1464c9;\n        do {\n          if (lVar10 == 0) break;\n          lVar10 = lVar10 + -1;\n          bVar18 = *pbVar11 < *pbVar12;\n          bVar15 = *pbVar11 == *pbVar12;\n          pbVar11 = pbVar11 + (ulong)bVar19 * -2 + 1;\n          pbVar12 = pbVar12 + (ulong)bVar19 * -2 + 1;\n        } while (bVar15);\n        bVar16 = false;\n        bVar15 = (!bVar18 && !bVar15) == bVar18;\n        if (!bVar15) {\n          lVar10 = 2;\n          pbVar11 = (byte *)p;\n          pbVar12 = (byte *)0x13f34c;\n          do {\n            if (lVar10 == 0) break;\n            lVar10 = lVar10 + -1;\n            bVar16 = *pbVar11 < *pbVar12;\n            bVar15 = *pbVar11 == *pbVar12;\n            pbVar11 = pbVar11 + (ulong)bVar19 * -2 + 1;\n            pbVar12 = pbVar12 + (ulong)bVar19 * -2 + 1;\n          } while (bVar15);\n          bVar18 = false;\n          bVar15 = (!bVar16 && !bVar15) == bVar16;\n          if (!bVar15) {\n            lVar10 = 0xb;\n            pbVar11 = (byte *)p;\n            pbVar12 = (byte *)"STT_OBJECT";\n            do {\n              if (lVar10 == 0) break;\n              lVar10 = lVar10 + -1;\n              bVar18 = *pbVar11 < *pbVar12;\n              bVar15 = *pbVar11 == *pbVar12;\n              pbVar11 = pbVar11 + (ulong)bVar19 * -2 + 1;\n              pbVar12 = pbVar12 + (ulong)bVar19 * -2 + 1;\n            } while (bVar15);\n            bVar16 = false;\n            bVar15 = (!bVar18 && !bVar15) == bVar18;\n            if (!bVar15) {\n              lVar10 = 0xb;\n              uVar13 = 0x50000;\n              pbVar11 = (byte *)p;\n              pbVar12 = (byte *)"tls_object";\n              do {\n                if (lVar10 == 0) break;\n                lVar10 = lVar10 + -1;\n                bVar16 = *pbVar11 < *pbVar12;\n                bVar15 = *pbVar11 == *pbVar12;\n                pbVar11 = pbVar11 + (ulong)bVar19 * -2 + 1;\n                pbVar12 = pbVar12 + (ulong)bVar19 * -2 + 1;\n              } while (bVar15);\n              bVar18 = false;\n              bVar15 = (!bVar16 && !bVar15) == bVar16;\n              if (bVar15) goto LAB_00139961;\n              lVar10 = 2;\n              pbVar11 = (byte *)p;\n              pbVar12 = &DAT_001448ab;\n              do {\n                if (lVar10 == 0) break;\n                lVar10 = lVar10 + -1;\n                bVar18 = *pbVar11 < *pbVar12;\n                bVar15 = *pbVar11 == *pbVar12;\n                pbVar11 = pbVar11 + (ulong)bVar19 * -2 + 1;\n                pbVar12 = pbVar12 + (ulong)bVar19 * -2 + 1;\n              } while (bVar15);\n              bVar16 = false;\n              bVar15 = (!bVar18 && !bVar15) == bVar18;\n              if (bVar15) goto LAB_00139961;\n              lVar10 = 8;\n              pbVar11 = (byte *)p;\n              pbVar12 = (byte *)"STT_TLS";\n              do {\n                if (lVar10 == 0) break;\n                lVar10 = lVar10 + -1;\n                bVar16 = *pbVar11 < *pbVar12;\n                bVar15 = *pbVar11 == *pbVar12;\n                pbVar11 = pbVar11 + (ulong)bVar19 * -2 + 1;\n                pbVar12 = pbVar12 + (ulong)bVar19 * -2 + 1;\n              } while (bVar15);\n              bVar18 = false;\n              bVar15 = (!bVar16 && !bVar15) == bVar16;\n              if (bVar15) goto LAB_00139961;\n              lVar10 = 7;\n              pbVar11 = (byte *)p;\n              pbVar12 = (byte *)"notype";\n              do {\n                if (lVar10 == 0) break;\n                lVar10 = lVar10 + -1;\n                bVar18 = *pbVar11 < *pbVar12;\n                bVar15 = *pbVar11 == *pbVar12;\n                pbVar11 = pbVar11 + (ulong)bVar19 * -2 + 1;\n                pbVar12 = pbVar12 + (ulong)bVar19 * -2 + 1;\n              } while (bVar15);\n              uVar13 = 0;\n              if ((((!bVar18 && !bVar15) == bVar18) || (iVar5 = strcmp(p,"0"), iVar5 == 0)) ||\n                 (iVar5 = strcmp(pcVar9,"STT_NOTYPE"), iVar5 == 0)) goto LAB_00139961;\n              iVar5 = strcmp(pcVar9,"common");\n              if (((iVar5 != 0) && (iVar5 = strcmp(pcVar9,"5"), iVar5 != 0)) &&\n                 (iVar5 = strcmp(pcVar9,"STT_COMMON"), iVar5 != 0)) {\n                iVar5 = strcmp(pcVar9,"gnu_indirect_function");\n                if (((iVar5 == 0) || (iVar5 = strcmp(pcVar9,"10"), iVar5 == 0)) ||\n                   (iVar5 = strcmp(pcVar9,"STT_GNU_IFUNC"), iVar5 == 0)) {\n                  uVar2 = *(uint *)((long)stdoutput->xvec->backend_data + 0xc);\n                  if ((9 < uVar2) ||\n                     (uVar13 = 0x400008, (0x209UL >> ((ulong)uVar2 & 0x3f) & 1) == 0)) {\n                    uVar13 = 0x400008;\n                    pcVar8 = (char *)dcgettext(0,\n                                               "symbol type \"%s\" is supported only by GNU and FreeBSD targets"\n                                               ,5);\n                    as_bad(pcVar8,pcVar9);\n                  }\n                }\n                else {\n                  iVar5 = strcmp(pcVar9,"gnu_unique_object");\n                  if (iVar5 == 0) {\n                    pvVar3 = stdoutput->xvec->backend_data;\n                    iVar5 = *(int *)((long)pvVar3 + 0xc);\n                    if ((iVar5 != 3) && (iVar5 != 0)) {\n                      pcVar8 = (char *)dcgettext(0,\n                                                 "symbol type \"%s\" is supported only by GNU targets"\n                                                 ,5);\n                      as_bad(pcVar8,pcVar9);\n                    }\n                    *(undefined4 *)((long)pvVar3 + 0xc) = 3;\n                    uVar13 = 0x810000;\n                  }\n                  else {\n                    pcVar8 = (char *)dcgettext(0,"unrecognized symbol type \"%s\"",5);\n                    as_bad(pcVar8,pcVar9);\n                  }\n                }\n                goto LAB_00139961;\n              }\n              iVar5 = S_IS_COMMON(psVar6);\n              if (iVar5 == 0) {\n                iVar5 = S_IS_VOLATILE(psVar6);\n                if (iVar5 != 0) {\n                  uVar13 = 0x10000;\n                  psVar6 = symbol_clone(psVar6,1);\n                  S_SET_SEGMENT(psVar6,(segT)_bfd_std_section);\n                  S_SET_VALUE(psVar6,0);\n                  S_SET_EXTERNAL(psVar6);\n                  symbol_set_frag(psVar6,&zero_address_frag);\n                  S_CLEAR_VOLATILE(psVar6);\n                  goto LAB_00139961;\n                }\n                iVar5 = S_IS_DEFINED(psVar6);\n                if ((iVar5 != 0) || (iVar5 = symbol_equated_p(psVar6), iVar5 != 0)) {\n                  uVar13 = 0x10000;\n                  pcVar9 = S_GET_NAME(psVar6);\n                  pcVar8 = (char *)dcgettext(0,"symbol \'%s\' is already defined",5);\n                  as_bad(pcVar8,pcVar9);\n                  goto LAB_00139961;\n                }\n                S_SET_SEGMENT(psVar6,(segT)_bfd_std_section);\n                S_SET_VALUE(psVar6,0);\n                S_SET_EXTERNAL(psVar6);\n              }\n            }\n          }\n        }\n        uVar13 = 0x10000;\n      }\n    }\n  }\nLAB_00139961:\n  *input_line_pointer = cVar4;\n  if (*input_line_pointer == '\"') {\n    input_line_pointer = input_line_pointer + 1;\n  }\n  paVar7->flags = paVar7->flags | uVar13;\n  demand_empty_rest_of_line();\n  return;\n}" { (declaration "byte bVar1;" type_identifier identifier ;) (declaration "uint uVar2;" type_identifier identifier ;) (declaration "void *pvVar3;" primitive_type (pointer_declarator "*pvVar3" * identifier) ;) (declaration "char cVar4;" primitive_type identifier ;) (declaration "int iVar5;" primitive_type identifier ;) (declaration "symbolS *psVar6;" type_identifier (pointer_declarator "*psVar6" * identifier) ;) (declaration "asymbol *paVar7;" type_identifier (pointer_declarator "*paVar7" * identifier) ;) (declaration "char *pcVar8;" primitive_type (pointer_declarator "*pcVar8" * identifier) ;) (declaration "char *pcVar9;" primitive_type (pointer_declarator "*pcVar9" * identifier) ;) (declaration "long lVar10;" (sized_type_specifier "long" long) identifier ;) (declaration "byte *pbVar11;" type_identifier (pointer_declarator "*pbVar11" * identifier) ;) (declaration "byte *pbVar12;" type_identifier (pointer_declarator "*pbVar12" * identifier) ;) (declaration "uint uVar13;" type_identifier identifier ;) (declaration "undefined1 uVar14;" type_identifier identifier ;) (declaration "bool bVar15;" primitive_type identifier ;) (declaration "bool bVar16;" primitive_type identifier ;) (declaration "undefined1 uVar17;" type_identifier identifier ;) (declaration "bool bVar18;" primitive_type identifier ;) (declaration "byte bVar19;" type_identifier identifier ;) (declaration "char *p;" primitive_type (pointer_declarator "*p" * identifier) ;) (expression_statement "bVar19 = 0;" (assignment_expression "bVar19 = 0" identifier = number_literal) ;) (expression_statement "psVar6 = get_sym_from_input_line_and_check();" (assignment_expression "psVar6 = get_sym_from_input_line_and_check()" identifier = (call_expression "get_sym_from_input_line_and_check()" identifier (argument_list "()" ( )))) ;) (expression_statement "paVar7 = symbol_get_bfdsym(psVar6);" (assignment_expression "paVar7 = symbol_get_bfdsym(psVar6)" identifier = (call_expression "symbol_get_bfdsym(psVar6)" identifier (argument_list "(psVar6)" ( identifier )))) ;) (expression_statement "bVar1 = *input_line_pointer;" (assignment_expression "bVar1 = *input_line_pointer" identifier = (pointer_expression "*input_line_pointer" * identifier)) ;) (if_statement "if (bVar1 == 0x2c) {\n    bVar1 = input_line_pointer[1];\n    input_line_pointer = input_line_pointer + 1;\n  }" if (parenthesized_expression "(bVar1 == 0x2c)" ( (binary_expression "bVar1 == 0x2c" identifier == number_literal) )) (compound_statement "{\n    bVar1 = input_line_pointer[1];\n    input_line_pointer = input_line_pointer + 1;\n  }" { (expression_statement "bVar1 = input_line_pointer[1];" (assignment_expression "bVar1 = input_line_pointer[1]" identifier = (subscript_expression "input_line_pointer[1]" identifier [ number_literal ])) ;) (expression_statement "input_line_pointer = input_line_pointer + 1;" (assignment_expression "input_line_pointer = input_line_pointer + 1" identifier = (binary_expression "input_line_pointer + 1" identifier + number_literal)) ;) })) (if_statement "if (bVar1 == 0x20) {\n    bVar1 = input_line_pointer[1];\n    input_line_pointer = input_line_pointer + 1;\n  }" if (parenthesized_expression "(bVar1 == 0x20)" ( (binary_expression "bVar1 == 0x20" identifier == number_literal) )) (compound_statement "{\n    bVar1 = input_line_pointer[1];\n    input_line_pointer = input_line_pointer + 1;\n  }" { (expression_statement "bVar1 = input_line_pointer[1];" (assignment_expression "bVar1 = input_line_pointer[1]" identifier = (subscript_expression "input_line_pointer[1]" identifier [ number_literal ])) ;) (expression_statement "input_line_pointer = input_line_pointer + 1;" (assignment_expression "input_line_pointer = input_line_pointer + 1" identifier = (binary_expression "input_line_pointer + 1" identifier + number_literal)) ;) })) (if_statement "if (((byte)(bVar1 - 0x22) < 0x1f) && ((0x4000000bUL >> ((ulong)(bVar1 - 0x22) & 0x3f) & 1) != 0))\n  {\n    input_line_pointer = input_line_pointer + 1;\n  }" if (parenthesized_expression "(((byte)(bVar1 - 0x22) < 0x1f) && ((0x4000000bUL >> ((ulong)(bVar1 - 0x22) & 0x3f) & 1) != 0))" ( (binary_expression "((byte)(bVar1 - 0x22) < 0x1f) && ((0x4000000bUL >> ((ulong)(bVar1 - 0x22) & 0x3f) & 1) != 0)" (parenthesized_expression "((byte)(bVar1 - 0x22) < 0x1f)" ( (binary_expression "(byte)(bVar1 - 0x22) < 0x1f" (call_expression "(byte)(bVar1 - 0x22)" (parenthesized_expression "(byte)" ( identifier )) (argument_list "(bVar1 - 0x22)" ( (binary_expression "bVar1 - 0x22" identifier - number_literal) ))) < number_literal) )) && (parenthesized_expression "((0x4000000bUL >> ((ulong)(bVar1 - 0x22) & 0x3f) & 1) != 0)" ( (binary_expression "(0x4000000bUL >> ((ulong)(bVar1 - 0x22) & 0x3f) & 1) != 0" (parenthesized_expression "(0x4000000bUL >> ((ulong)(bVar1 - 0x22) & 0x3f) & 1)" ( (binary_expression "0x4000000bUL >> ((ulong)(bVar1 - 0x22) & 0x3f) & 1" (binary_expression "0x4000000bUL >> ((ulong)(bVar1 - 0x22) & 0x3f)" number_literal >> (parenthesized_expression "((ulong)(bVar1 - 0x22) & 0x3f)" ( (binary_expression "(ulong)(bVar1 - 0x22) & 0x3f" (call_expression "(ulong)(bVar1 - 0x22)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(bVar1 - 0x22)" ( (binary_expression "bVar1 - 0x22" identifier - number_literal) ))) & number_literal) ))) & number_literal) )) != number_literal) ))) )) (compound_statement "{\n    input_line_pointer = input_line_pointer + 1;\n  }" { (expression_statement "input_line_pointer = input_line_pointer + 1;" (assignment_expression "input_line_pointer = input_line_pointer + 1" identifier = (binary_expression "input_line_pointer + 1" identifier + number_literal)) ;) })) (expression_statement "p = input_line_pointer;" (assignment_expression "p = input_line_pointer" identifier = identifier) ;) (expression_statement "bVar1 = *input_line_pointer - 0x30;" (assignment_expression "bVar1 = *input_line_pointer - 0x30" identifier = (binary_expression "*input_line_pointer - 0x30" (pointer_expression "*input_line_pointer" * identifier) - number_literal)) ;) (expression_statement "uVar14 = bVar1 < 9;" (assignment_expression "uVar14 = bVar1 < 9" identifier = (binary_expression "bVar1 < 9" identifier < number_literal)) ;) (expression_statement "uVar17 = bVar1 == 9;" (assignment_expression "uVar17 = bVar1 == 9" identifier = (binary_expression "bVar1 == 9" identifier == number_literal)) ;) (if_statement "if (bVar1 < 10) {\n    do {\n      input_line_pointer = input_line_pointer + 1;\n      cVar4 = *input_line_pointer;\n      bVar1 = cVar4 - 0x30;\n      uVar14 = bVar1 < 9;\n      uVar17 = bVar1 == 9;\n    } while (bVar1 < 10);\n    *input_line_pointer = '\0';\n  }\n  else {\n    cVar4 = get_symbol_name(&p);\n  }" if (parenthesized_expression "(bVar1 < 10)" ( (binary_expression "bVar1 < 10" identifier < number_literal) )) (compound_statement "{\n    do {\n      input_line_pointer = input_line_pointer + 1;\n      cVar4 = *input_line_pointer;\n      bVar1 = cVar4 - 0x30;\n      uVar14 = bVar1 < 9;\n      uVar17 = bVar1 == 9;\n    } while (bVar1 < 10);\n    *input_line_pointer = '\0';\n  }" { (do_statement "do {\n      input_line_pointer = input_line_pointer + 1;\n      cVar4 = *input_line_pointer;\n      bVar1 = cVar4 - 0x30;\n      uVar14 = bVar1 < 9;\n      uVar17 = bVar1 == 9;\n    } while (bVar1 < 10);" do (compound_statement "{\n      input_line_pointer = input_line_pointer + 1;\n      cVar4 = *input_line_pointer;\n      bVar1 = cVar4 - 0x30;\n      uVar14 = bVar1 < 9;\n      uVar17 = bVar1 == 9;\n    }" { (expression_statement "input_line_pointer = input_line_pointer + 1;" (assignment_expression "input_line_pointer = input_line_pointer + 1" identifier = (binary_expression "input_line_pointer + 1" identifier + number_literal)) ;) (expression_statement "cVar4 = *input_line_pointer;" (assignment_expression "cVar4 = *input_line_pointer" identifier = (pointer_expression "*input_line_pointer" * identifier)) ;) (expression_statement "bVar1 = cVar4 - 0x30;" (assignment_expression "bVar1 = cVar4 - 0x30" identifier = (binary_expression "cVar4 - 0x30" identifier - number_literal)) ;) (expression_statement "uVar14 = bVar1 < 9;" (assignment_expression "uVar14 = bVar1 < 9" identifier = (binary_expression "bVar1 < 9" identifier < number_literal)) ;) (expression_statement "uVar17 = bVar1 == 9;" (assignment_expression "uVar17 = bVar1 == 9" identifier = (binary_expression "bVar1 == 9" identifier == number_literal)) ;) }) while (parenthesized_expression "(bVar1 < 10)" ( (binary_expression "bVar1 < 10" identifier < number_literal) )) ;) (expression_statement "*input_line_pointer = '\0';" (assignment_expression "*input_line_pointer = '\0'" (pointer_expression "*input_line_pointer" * identifier) = (char_literal "'\0'" ' escape_sequence ')) ;) }) (else_clause "else {\n    cVar4 = get_symbol_name(&p);\n  }" else (compound_statement "{\n    cVar4 = get_symbol_name(&p);\n  }" { (expression_statement "cVar4 = get_symbol_name(&p);" (assignment_expression "cVar4 = get_symbol_name(&p)" identifier = (call_expression "get_symbol_name(&p)" identifier (argument_list "(&p)" ( (pointer_expression "&p" & identifier) )))) ;) }))) (expression_statement "pcVar9 = p;" (assignment_expression "pcVar9 = p" identifier = identifier) ;) (expression_statement "lVar10 = 9;" (assignment_expression "lVar10 = 9" identifier = number_literal) ;) (expression_statement "uVar13 = 8;" (assignment_expression "uVar13 = 8" identifier = number_literal) ;) (expression_statement "pbVar11 = (byte *)p;" (assignment_expression "pbVar11 = (byte *)p" identifier = (cast_expression "(byte *)p" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "pbVar12 = (byte *)0x1464a7;" (assignment_expression "pbVar12 = (byte *)0x1464a7" identifier = (cast_expression "(byte *)0x1464a7" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (do_statement "do {\n    if (lVar10 == 0) break;\n    lVar10 = lVar10 + -1;\n    uVar14 = *pbVar11 < *pbVar12;\n    uVar17 = *pbVar11 == *pbVar12;\n    pbVar11 = pbVar11 + (ulong)bVar19 * -2 + 1;\n    pbVar12 = pbVar12 + (ulong)bVar19 * -2 + 1;\n  } while ((bool)uVar17);" do (compound_statement "{\n    if (lVar10 == 0) break;\n    lVar10 = lVar10 + -1;\n    uVar14 = *pbVar11 < *pbVar12;\n    uVar17 = *pbVar11 == *pbVar12;\n    pbVar11 = pbVar11 + (ulong)bVar19 * -2 + 1;\n    pbVar12 = pbVar12 + (ulong)bVar19 * -2 + 1;\n  }" { (if_statement "if (lVar10 == 0) break;" if (parenthesized_expression "(lVar10 == 0)" ( (binary_expression "lVar10 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "lVar10 = lVar10 + -1;" (assignment_expression "lVar10 = lVar10 + -1" identifier = (binary_expression "lVar10 + -1" identifier + number_literal)) ;) (expression_statement "uVar14 = *pbVar11 < *pbVar12;" (assignment_expression "uVar14 = *pbVar11 < *pbVar12" identifier = (binary_expression "*pbVar11 < *pbVar12" (pointer_expression "*pbVar11" * identifier) < (pointer_expression "*pbVar12" * identifier))) ;) (expression_statement "uVar17 = *pbVar11 == *pbVar12;" (assignment_expression "uVar17 = *pbVar11 == *pbVar12" identifier = (binary_expression "*pbVar11 == *pbVar12" (pointer_expression "*pbVar11" * identifier) == (pointer_expression "*pbVar12" * identifier))) ;) (expression_statement "pbVar11 = pbVar11 + (ulong)bVar19 * -2 + 1;" (assignment_expression "pbVar11 = pbVar11 + (ulong)bVar19 * -2 + 1" identifier = (binary_expression "pbVar11 + (ulong)bVar19 * -2 + 1" (binary_expression "pbVar11 + (ulong)bVar19 * -2" identifier + (binary_expression "(ulong)bVar19 * -2" (cast_expression "(ulong)bVar19" ( (type_descriptor "ulong" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) (expression_statement "pbVar12 = pbVar12 + (ulong)bVar19 * -2 + 1;" (assignment_expression "pbVar12 = pbVar12 + (ulong)bVar19 * -2 + 1" identifier = (binary_expression "pbVar12 + (ulong)bVar19 * -2 + 1" (binary_expression "pbVar12 + (ulong)bVar19 * -2" identifier + (binary_expression "(ulong)bVar19 * -2" (cast_expression "(ulong)bVar19" ( (type_descriptor "ulong" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) }) while (parenthesized_expression "((bool)uVar17)" ( (cast_expression "(bool)uVar17" ( (type_descriptor "bool" primitive_type) ) identifier) )) ;) (expression_statement "bVar15 = false;" (assignment_expression "bVar15 = false" identifier = false) ;) (expression_statement "bVar18 = (!(bool)uVar14 && !(bool)uVar17) == (bool)uVar14;" (assignment_expression "bVar18 = (!(bool)uVar14 && !(bool)uVar17) == (bool)uVar14" identifier = (binary_expression "(!(bool)uVar14 && !(bool)uVar17) == (bool)uVar14" (parenthesized_expression "(!(bool)uVar14 && !(bool)uVar17)" ( (binary_expression "!(bool)uVar14 && !(bool)uVar17" (unary_expression "!(bool)uVar14" ! (cast_expression "(bool)uVar14" ( (type_descriptor "bool" primitive_type) ) identifier)) && (unary_expression "!(bool)uVar17" ! (cast_expression "(bool)uVar17" ( (type_descriptor "bool" primitive_type) ) identifier))) )) == (cast_expression "(bool)uVar14" ( (type_descriptor "bool" primitive_type) ) identifier))) ;) (if_statement "if (!bVar18) {\n    lVar10 = 2;\n    pbVar11 = (byte *)p;\n    pbVar12 = (byte *)0x14246c;\n    do {\n      if (lVar10 == 0) break;\n      lVar10 = lVar10 + -1;\n      bVar15 = *pbVar11 < *pbVar12;\n      bVar18 = *pbVar11 == *pbVar12;\n      pbVar11 = pbVar11 + (ulong)bVar19 * -2 + 1;\n      pbVar12 = pbVar12 + (ulong)bVar19 * -2 + 1;\n    } while (bVar18);\n    bVar16 = false;\n    bVar15 = (!bVar15 && !bVar18) == bVar15;\n    if (!bVar15) {\n      lVar10 = 9;\n      pbVar11 = (byte *)p;\n      pbVar12 = (byte *)"STT_FUNC";\n      do {\n        if (lVar10 == 0) break;\n        lVar10 = lVar10 + -1;\n        bVar16 = *pbVar11 < *pbVar12;\n        bVar15 = *pbVar11 == *pbVar12;\n        pbVar11 = pbVar11 + (ulong)bVar19 * -2 + 1;\n        pbVar12 = pbVar12 + (ulong)bVar19 * -2 + 1;\n      } while (bVar15);\n      bVar18 = false;\n      bVar15 = (!bVar16 && !bVar15) == bVar16;\n      if (!bVar15) {\n        lVar10 = 7;\n        pbVar11 = (byte *)p;\n        pbVar12 = (byte *)0x1464c9;\n        do {\n          if (lVar10 == 0) break;\n          lVar10 = lVar10 + -1;\n          bVar18 = *pbVar11 < *pbVar12;\n          bVar15 = *pbVar11 == *pbVar12;\n          pbVar11 = pbVar11 + (ulong)bVar19 * -2 + 1;\n          pbVar12 = pbVar12 + (ulong)bVar19 * -2 + 1;\n        } while (bVar15);\n        bVar16 = false;\n        bVar15 = (!bVar18 && !bVar15) == bVar18;\n        if (!bVar15) {\n          lVar10 = 2;\n          pbVar11 = (byte *)p;\n          pbVar12 = (byte *)0x13f34c;\n          do {\n            if (lVar10 == 0) break;\n            lVar10 = lVar10 + -1;\n            bVar16 = *pbVar11 < *pbVar12;\n            bVar15 = *pbVar11 == *pbVar12;\n            pbVar11 = pbVar11 + (ulong)bVar19 * -2 + 1;\n            pbVar12 = pbVar12 + (ulong)bVar19 * -2 + 1;\n          } while (bVar15);\n          bVar18 = false;\n          bVar15 = (!bVar16 && !bVar15) == bVar16;\n          if (!bVar15) {\n            lVar10 = 0xb;\n            pbVar11 = (byte *)p;\n            pbVar12 = (byte *)"STT_OBJECT";\n            do {\n              if (lVar10 == 0) break;\n              lVar10 = lVar10 + -1;\n              bVar18 = *pbVar11 < *pbVar12;\n              bVar15 = *pbVar11 == *pbVar12;\n              pbVar11 = pbVar11 + (ulong)bVar19 * -2 + 1;\n              pbVar12 = pbVar12 + (ulong)bVar19 * -2 + 1;\n            } while (bVar15);\n            bVar16 = false;\n            bVar15 = (!bVar18 && !bVar15) == bVar18;\n            if (!bVar15) {\n              lVar10 = 0xb;\n              uVar13 = 0x50000;\n              pbVar11 = (byte *)p;\n              pbVar12 = (byte *)"tls_object";\n              do {\n                if (lVar10 == 0) break;\n                lVar10 = lVar10 + -1;\n                bVar16 = *pbVar11 < *pbVar12;\n                bVar15 = *pbVar11 == *pbVar12;\n                pbVar11 = pbVar11 + (ulong)bVar19 * -2 + 1;\n                pbVar12 = pbVar12 + (ulong)bVar19 * -2 + 1;\n              } while (bVar15);\n              bVar18 = false;\n              bVar15 = (!bVar16 && !bVar15) == bVar16;\n              if (bVar15) goto LAB_00139961;\n              lVar10 = 2;\n              pbVar11 = (byte *)p;\n              pbVar12 = &DAT_001448ab;\n              do {\n                if (lVar10 == 0) break;\n                lVar10 = lVar10 + -1;\n                bVar18 = *pbVar11 < *pbVar12;\n                bVar15 = *pbVar11 == *pbVar12;\n                pbVar11 = pbVar11 + (ulong)bVar19 * -2 + 1;\n                pbVar12 = pbVar12 + (ulong)bVar19 * -2 + 1;\n              } while (bVar15);\n              bVar16 = false;\n              bVar15 = (!bVar18 && !bVar15) == bVar18;\n              if (bVar15) goto LAB_00139961;\n              lVar10 = 8;\n              pbVar11 = (byte *)p;\n              pbVar12 = (byte *)"STT_TLS";\n              do {\n                if (lVar10 == 0) break;\n                lVar10 = lVar10 + -1;\n                bVar16 = *pbVar11 < *pbVar12;\n                bVar15 = *pbVar11 == *pbVar12;\n                pbVar11 = pbVar11 + (ulong)bVar19 * -2 + 1;\n                pbVar12 = pbVar12 + (ulong)bVar19 * -2 + 1;\n              } while (bVar15);\n              bVar18 = false;\n              bVar15 = (!bVar16 && !bVar15) == bVar16;\n              if (bVar15) goto LAB_00139961;\n              lVar10 = 7;\n              pbVar11 = (byte *)p;\n              pbVar12 = (byte *)"notype";\n              do {\n                if (lVar10 == 0) break;\n                lVar10 = lVar10 + -1;\n                bVar18 = *pbVar11 < *pbVar12;\n                bVar15 = *pbVar11 == *pbVar12;\n                pbVar11 = pbVar11 + (ulong)bVar19 * -2 + 1;\n                pbVar12 = pbVar12 + (ulong)bVar19 * -2 + 1;\n              } while (bVar15);\n              uVar13 = 0;\n              if ((((!bVar18 && !bVar15) == bVar18) || (iVar5 = strcmp(p,"0"), iVar5 == 0)) ||\n                 (iVar5 = strcmp(pcVar9,"STT_NOTYPE"), iVar5 == 0)) goto LAB_00139961;\n              iVar5 = strcmp(pcVar9,"common");\n              if (((iVar5 != 0) && (iVar5 = strcmp(pcVar9,"5"), iVar5 != 0)) &&\n                 (iVar5 = strcmp(pcVar9,"STT_COMMON"), iVar5 != 0)) {\n                iVar5 = strcmp(pcVar9,"gnu_indirect_function");\n                if (((iVar5 == 0) || (iVar5 = strcmp(pcVar9,"10"), iVar5 == 0)) ||\n                   (iVar5 = strcmp(pcVar9,"STT_GNU_IFUNC"), iVar5 == 0)) {\n                  uVar2 = *(uint *)((long)stdoutput->xvec->backend_data + 0xc);\n                  if ((9 < uVar2) ||\n                     (uVar13 = 0x400008, (0x209UL >> ((ulong)uVar2 & 0x3f) & 1) == 0)) {\n                    uVar13 = 0x400008;\n                    pcVar8 = (char *)dcgettext(0,\n                                               "symbol type \"%s\" is supported only by GNU and FreeBSD targets"\n                                               ,5);\n                    as_bad(pcVar8,pcVar9);\n                  }\n                }\n                else {\n                  iVar5 = strcmp(pcVar9,"gnu_unique_object");\n                  if (iVar5 == 0) {\n                    pvVar3 = stdoutput->xvec->backend_data;\n                    iVar5 = *(int *)((long)pvVar3 + 0xc);\n                    if ((iVar5 != 3) && (iVar5 != 0)) {\n                      pcVar8 = (char *)dcgettext(0,\n                                                 "symbol type \"%s\" is supported only by GNU targets"\n                                                 ,5);\n                      as_bad(pcVar8,pcVar9);\n                    }\n                    *(undefined4 *)((long)pvVar3 + 0xc) = 3;\n                    uVar13 = 0x810000;\n                  }\n                  else {\n                    pcVar8 = (char *)dcgettext(0,"unrecognized symbol type \"%s\"",5);\n                    as_bad(pcVar8,pcVar9);\n                  }\n                }\n                goto LAB_00139961;\n              }\n              iVar5 = S_IS_COMMON(psVar6);\n              if (iVar5 == 0) {\n                iVar5 = S_IS_VOLATILE(psVar6);\n                if (iVar5 != 0) {\n                  uVar13 = 0x10000;\n                  psVar6 = symbol_clone(psVar6,1);\n                  S_SET_SEGMENT(psVar6,(segT)_bfd_std_section);\n                  S_SET_VALUE(psVar6,0);\n                  S_SET_EXTERNAL(psVar6);\n                  symbol_set_frag(psVar6,&zero_address_frag);\n                  S_CLEAR_VOLATILE(psVar6);\n                  goto LAB_00139961;\n                }\n                iVar5 = S_IS_DEFINED(psVar6);\n                if ((iVar5 != 0) || (iVar5 = symbol_equated_p(psVar6), iVar5 != 0)) {\n                  uVar13 = 0x10000;\n                  pcVar9 = S_GET_NAME(psVar6);\n                  pcVar8 = (char *)dcgettext(0,"symbol \'%s\' is already defined",5);\n                  as_bad(pcVar8,pcVar9);\n                  goto LAB_00139961;\n                }\n                S_SET_SEGMENT(psVar6,(segT)_bfd_std_section);\n                S_SET_VALUE(psVar6,0);\n                S_SET_EXTERNAL(psVar6);\n              }\n            }\n          }\n        }\n        uVar13 = 0x10000;\n      }\n    }\n  }" if (parenthesized_expression "(!bVar18)" ( (unary_expression "!bVar18" ! identifier) )) (compound_statement "{\n    lVar10 = 2;\n    pbVar11 = (byte *)p;\n    pbVar12 = (byte *)0x14246c;\n    do {\n      if (lVar10 == 0) break;\n      lVar10 = lVar10 + -1;\n      bVar15 = *pbVar11 < *pbVar12;\n      bVar18 = *pbVar11 == *pbVar12;\n      pbVar11 = pbVar11 + (ulong)bVar19 * -2 + 1;\n      pbVar12 = pbVar12 + (ulong)bVar19 * -2 + 1;\n    } while (bVar18);\n    bVar16 = false;\n    bVar15 = (!bVar15 && !bVar18) == bVar15;\n    if (!bVar15) {\n      lVar10 = 9;\n      pbVar11 = (byte *)p;\n      pbVar12 = (byte *)"STT_FUNC";\n      do {\n        if (lVar10 == 0) break;\n        lVar10 = lVar10 + -1;\n        bVar16 = *pbVar11 < *pbVar12;\n        bVar15 = *pbVar11 == *pbVar12;\n        pbVar11 = pbVar11 + (ulong)bVar19 * -2 + 1;\n        pbVar12 = pbVar12 + (ulong)bVar19 * -2 + 1;\n      } while (bVar15);\n      bVar18 = false;\n      bVar15 = (!bVar16 && !bVar15) == bVar16;\n      if (!bVar15) {\n        lVar10 = 7;\n        pbVar11 = (byte *)p;\n        pbVar12 = (byte *)0x1464c9;\n        do {\n          if (lVar10 == 0) break;\n          lVar10 = lVar10 + -1;\n          bVar18 = *pbVar11 < *pbVar12;\n          bVar15 = *pbVar11 == *pbVar12;\n          pbVar11 = pbVar11 + (ulong)bVar19 * -2 + 1;\n          pbVar12 = pbVar12 + (ulong)bVar19 * -2 + 1;\n        } while (bVar15);\n        bVar16 = false;\n        bVar15 = (!bVar18 && !bVar15) == bVar18;\n        if (!bVar15) {\n          lVar10 = 2;\n          pbVar11 = (byte *)p;\n          pbVar12 = (byte *)0x13f34c;\n          do {\n            if (lVar10 == 0) break;\n            lVar10 = lVar10 + -1;\n            bVar16 = *pbVar11 < *pbVar12;\n            bVar15 = *pbVar11 == *pbVar12;\n            pbVar11 = pbVar11 + (ulong)bVar19 * -2 + 1;\n            pbVar12 = pbVar12 + (ulong)bVar19 * -2 + 1;\n          } while (bVar15);\n          bVar18 = false;\n          bVar15 = (!bVar16 && !bVar15) == bVar16;\n          if (!bVar15) {\n            lVar10 = 0xb;\n            pbVar11 = (byte *)p;\n            pbVar12 = (byte *)"STT_OBJECT";\n            do {\n              if (lVar10 == 0) break;\n              lVar10 = lVar10 + -1;\n              bVar18 = *pbVar11 < *pbVar12;\n              bVar15 = *pbVar11 == *pbVar12;\n              pbVar11 = pbVar11 + (ulong)bVar19 * -2 + 1;\n              pbVar12 = pbVar12 + (ulong)bVar19 * -2 + 1;\n            } while (bVar15);\n            bVar16 = false;\n            bVar15 = (!bVar18 && !bVar15) == bVar18;\n            if (!bVar15) {\n              lVar10 = 0xb;\n              uVar13 = 0x50000;\n              pbVar11 = (byte *)p;\n              pbVar12 = (byte *)"tls_object";\n              do {\n                if (lVar10 == 0) break;\n                lVar10 = lVar10 + -1;\n                bVar16 = *pbVar11 < *pbVar12;\n                bVar15 = *pbVar11 == *pbVar12;\n                pbVar11 = pbVar11 + (ulong)bVar19 * -2 + 1;\n                pbVar12 = pbVar12 + (ulong)bVar19 * -2 + 1;\n              } while (bVar15);\n              bVar18 = false;\n              bVar15 = (!bVar16 && !bVar15) == bVar16;\n              if (bVar15) goto LAB_00139961;\n              lVar10 = 2;\n              pbVar11 = (byte *)p;\n              pbVar12 = &DAT_001448ab;\n              do {\n                if (lVar10 == 0) break;\n                lVar10 = lVar10 + -1;\n                bVar18 = *pbVar11 < *pbVar12;\n                bVar15 = *pbVar11 == *pbVar12;\n                pbVar11 = pbVar11 + (ulong)bVar19 * -2 + 1;\n                pbVar12 = pbVar12 + (ulong)bVar19 * -2 + 1;\n              } while (bVar15);\n              bVar16 = false;\n              bVar15 = (!bVar18 && !bVar15) == bVar18;\n              if (bVar15) goto LAB_00139961;\n              lVar10 = 8;\n              pbVar11 = (byte *)p;\n              pbVar12 = (byte *)"STT_TLS";\n              do {\n                if (lVar10 == 0) break;\n                lVar10 = lVar10 + -1;\n                bVar16 = *pbVar11 < *pbVar12;\n                bVar15 = *pbVar11 == *pbVar12;\n                pbVar11 = pbVar11 + (ulong)bVar19 * -2 + 1;\n                pbVar12 = pbVar12 + (ulong)bVar19 * -2 + 1;\n              } while (bVar15);\n              bVar18 = false;\n              bVar15 = (!bVar16 && !bVar15) == bVar16;\n              if (bVar15) goto LAB_00139961;\n              lVar10 = 7;\n              pbVar11 = (byte *)p;\n              pbVar12 = (byte *)"notype";\n              do {\n                if (lVar10 == 0) break;\n                lVar10 = lVar10 + -1;\n                bVar18 = *pbVar11 < *pbVar12;\n                bVar15 = *pbVar11 == *pbVar12;\n                pbVar11 = pbVar11 + (ulong)bVar19 * -2 + 1;\n                pbVar12 = pbVar12 + (ulong)bVar19 * -2 + 1;\n              } while (bVar15);\n              uVar13 = 0;\n              if ((((!bVar18 && !bVar15) == bVar18) || (iVar5 = strcmp(p,"0"), iVar5 == 0)) ||\n                 (iVar5 = strcmp(pcVar9,"STT_NOTYPE"), iVar5 == 0)) goto LAB_00139961;\n              iVar5 = strcmp(pcVar9,"common");\n              if (((iVar5 != 0) && (iVar5 = strcmp(pcVar9,"5"), iVar5 != 0)) &&\n                 (iVar5 = strcmp(pcVar9,"STT_COMMON"), iVar5 != 0)) {\n                iVar5 = strcmp(pcVar9,"gnu_indirect_function");\n                if (((iVar5 == 0) || (iVar5 = strcmp(pcVar9,"10"), iVar5 == 0)) ||\n                   (iVar5 = strcmp(pcVar9,"STT_GNU_IFUNC"), iVar5 == 0)) {\n                  uVar2 = *(uint *)((long)stdoutput->xvec->backend_data + 0xc);\n                  if ((9 < uVar2) ||\n                     (uVar13 = 0x400008, (0x209UL >> ((ulong)uVar2 & 0x3f) & 1) == 0)) {\n                    uVar13 = 0x400008;\n                    pcVar8 = (char *)dcgettext(0,\n                                               "symbol type \"%s\" is supported only by GNU and FreeBSD targets"\n                                               ,5);\n                    as_bad(pcVar8,pcVar9);\n                  }\n                }\n                else {\n                  iVar5 = strcmp(pcVar9,"gnu_unique_object");\n                  if (iVar5 == 0) {\n                    pvVar3 = stdoutput->xvec->backend_data;\n                    iVar5 = *(int *)((long)pvVar3 + 0xc);\n                    if ((iVar5 != 3) && (iVar5 != 0)) {\n                      pcVar8 = (char *)dcgettext(0,\n                                                 "symbol type \"%s\" is supported only by GNU targets"\n                                                 ,5);\n                      as_bad(pcVar8,pcVar9);\n                    }\n                    *(undefined4 *)((long)pvVar3 + 0xc) = 3;\n                    uVar13 = 0x810000;\n                  }\n                  else {\n                    pcVar8 = (char *)dcgettext(0,"unrecognized symbol type \"%s\"",5);\n                    as_bad(pcVar8,pcVar9);\n                  }\n                }\n                goto LAB_00139961;\n              }\n              iVar5 = S_IS_COMMON(psVar6);\n              if (iVar5 == 0) {\n                iVar5 = S_IS_VOLATILE(psVar6);\n                if (iVar5 != 0) {\n                  uVar13 = 0x10000;\n                  psVar6 = symbol_clone(psVar6,1);\n                  S_SET_SEGMENT(psVar6,(segT)_bfd_std_section);\n                  S_SET_VALUE(psVar6,0);\n                  S_SET_EXTERNAL(psVar6);\n                  symbol_set_frag(psVar6,&zero_address_frag);\n                  S_CLEAR_VOLATILE(psVar6);\n                  goto LAB_00139961;\n                }\n                iVar5 = S_IS_DEFINED(psVar6);\n                if ((iVar5 != 0) || (iVar5 = symbol_equated_p(psVar6), iVar5 != 0)) {\n                  uVar13 = 0x10000;\n                  pcVar9 = S_GET_NAME(psVar6);\n                  pcVar8 = (char *)dcgettext(0,"symbol \'%s\' is already defined",5);\n                  as_bad(pcVar8,pcVar9);\n                  goto LAB_00139961;\n                }\n                S_SET_SEGMENT(psVar6,(segT)_bfd_std_section);\n                S_SET_VALUE(psVar6,0);\n                S_SET_EXTERNAL(psVar6);\n              }\n            }\n          }\n        }\n        uVar13 = 0x10000;\n      }\n    }\n  }" { (expression_statement "lVar10 = 2;" (assignment_expression "lVar10 = 2" identifier = number_literal) ;) (expression_statement "pbVar11 = (byte *)p;" (assignment_expression "pbVar11 = (byte *)p" identifier = (cast_expression "(byte *)p" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "pbVar12 = (byte *)0x14246c;" (assignment_expression "pbVar12 = (byte *)0x14246c" identifier = (cast_expression "(byte *)0x14246c" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (do_statement "do {\n      if (lVar10 == 0) break;\n      lVar10 = lVar10 + -1;\n      bVar15 = *pbVar11 < *pbVar12;\n      bVar18 = *pbVar11 == *pbVar12;\n      pbVar11 = pbVar11 + (ulong)bVar19 * -2 + 1;\n      pbVar12 = pbVar12 + (ulong)bVar19 * -2 + 1;\n    } while (bVar18);" do (compound_statement "{\n      if (lVar10 == 0) break;\n      lVar10 = lVar10 + -1;\n      bVar15 = *pbVar11 < *pbVar12;\n      bVar18 = *pbVar11 == *pbVar12;\n      pbVar11 = pbVar11 + (ulong)bVar19 * -2 + 1;\n      pbVar12 = pbVar12 + (ulong)bVar19 * -2 + 1;\n    }" { (if_statement "if (lVar10 == 0) break;" if (parenthesized_expression "(lVar10 == 0)" ( (binary_expression "lVar10 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "lVar10 = lVar10 + -1;" (assignment_expression "lVar10 = lVar10 + -1" identifier = (binary_expression "lVar10 + -1" identifier + number_literal)) ;) (expression_statement "bVar15 = *pbVar11 < *pbVar12;" (assignment_expression "bVar15 = *pbVar11 < *pbVar12" identifier = (binary_expression "*pbVar11 < *pbVar12" (pointer_expression "*pbVar11" * identifier) < (pointer_expression "*pbVar12" * identifier))) ;) (expression_statement "bVar18 = *pbVar11 == *pbVar12;" (assignment_expression "bVar18 = *pbVar11 == *pbVar12" identifier = (binary_expression "*pbVar11 == *pbVar12" (pointer_expression "*pbVar11" * identifier) == (pointer_expression "*pbVar12" * identifier))) ;) (expression_statement "pbVar11 = pbVar11 + (ulong)bVar19 * -2 + 1;" (assignment_expression "pbVar11 = pbVar11 + (ulong)bVar19 * -2 + 1" identifier = (binary_expression "pbVar11 + (ulong)bVar19 * -2 + 1" (binary_expression "pbVar11 + (ulong)bVar19 * -2" identifier + (binary_expression "(ulong)bVar19 * -2" (cast_expression "(ulong)bVar19" ( (type_descriptor "ulong" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) (expression_statement "pbVar12 = pbVar12 + (ulong)bVar19 * -2 + 1;" (assignment_expression "pbVar12 = pbVar12 + (ulong)bVar19 * -2 + 1" identifier = (binary_expression "pbVar12 + (ulong)bVar19 * -2 + 1" (binary_expression "pbVar12 + (ulong)bVar19 * -2" identifier + (binary_expression "(ulong)bVar19 * -2" (cast_expression "(ulong)bVar19" ( (type_descriptor "ulong" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) }) while (parenthesized_expression "(bVar18)" ( identifier )) ;) (expression_statement "bVar16 = false;" (assignment_expression "bVar16 = false" identifier = false) ;) (expression_statement "bVar15 = (!bVar15 && !bVar18) == bVar15;" (assignment_expression "bVar15 = (!bVar15 && !bVar18) == bVar15" identifier = (binary_expression "(!bVar15 && !bVar18) == bVar15" (parenthesized_expression "(!bVar15 && !bVar18)" ( (binary_expression "!bVar15 && !bVar18" (unary_expression "!bVar15" ! identifier) && (unary_expression "!bVar18" ! identifier)) )) == identifier)) ;) (if_statement "if (!bVar15) {\n      lVar10 = 9;\n      pbVar11 = (byte *)p;\n      pbVar12 = (byte *)"STT_FUNC";\n      do {\n        if (lVar10 == 0) break;\n        lVar10 = lVar10 + -1;\n        bVar16 = *pbVar11 < *pbVar12;\n        bVar15 = *pbVar11 == *pbVar12;\n        pbVar11 = pbVar11 + (ulong)bVar19 * -2 + 1;\n        pbVar12 = pbVar12 + (ulong)bVar19 * -2 + 1;\n      } while (bVar15);\n      bVar18 = false;\n      bVar15 = (!bVar16 && !bVar15) == bVar16;\n      if (!bVar15) {\n        lVar10 = 7;\n        pbVar11 = (byte *)p;\n        pbVar12 = (byte *)0x1464c9;\n        do {\n          if (lVar10 == 0) break;\n          lVar10 = lVar10 + -1;\n          bVar18 = *pbVar11 < *pbVar12;\n          bVar15 = *pbVar11 == *pbVar12;\n          pbVar11 = pbVar11 + (ulong)bVar19 * -2 + 1;\n          pbVar12 = pbVar12 + (ulong)bVar19 * -2 + 1;\n        } while (bVar15);\n        bVar16 = false;\n        bVar15 = (!bVar18 && !bVar15) == bVar18;\n        if (!bVar15) {\n          lVar10 = 2;\n          pbVar11 = (byte *)p;\n          pbVar12 = (byte *)0x13f34c;\n          do {\n            if (lVar10 == 0) break;\n            lVar10 = lVar10 + -1;\n            bVar16 = *pbVar11 < *pbVar12;\n            bVar15 = *pbVar11 == *pbVar12;\n            pbVar11 = pbVar11 + (ulong)bVar19 * -2 + 1;\n            pbVar12 = pbVar12 + (ulong)bVar19 * -2 + 1;\n          } while (bVar15);\n          bVar18 = false;\n          bVar15 = (!bVar16 && !bVar15) == bVar16;\n          if (!bVar15) {\n            lVar10 = 0xb;\n            pbVar11 = (byte *)p;\n            pbVar12 = (byte *)"STT_OBJECT";\n            do {\n              if (lVar10 == 0) break;\n              lVar10 = lVar10 + -1;\n              bVar18 = *pbVar11 < *pbVar12;\n              bVar15 = *pbVar11 == *pbVar12;\n              pbVar11 = pbVar11 + (ulong)bVar19 * -2 + 1;\n              pbVar12 = pbVar12 + (ulong)bVar19 * -2 + 1;\n            } while (bVar15);\n            bVar16 = false;\n            bVar15 = (!bVar18 && !bVar15) == bVar18;\n            if (!bVar15) {\n              lVar10 = 0xb;\n              uVar13 = 0x50000;\n              pbVar11 = (byte *)p;\n              pbVar12 = (byte *)"tls_object";\n              do {\n                if (lVar10 == 0) break;\n                lVar10 = lVar10 + -1;\n                bVar16 = *pbVar11 < *pbVar12;\n                bVar15 = *pbVar11 == *pbVar12;\n                pbVar11 = pbVar11 + (ulong)bVar19 * -2 + 1;\n                pbVar12 = pbVar12 + (ulong)bVar19 * -2 + 1;\n              } while (bVar15);\n              bVar18 = false;\n              bVar15 = (!bVar16 && !bVar15) == bVar16;\n              if (bVar15) goto LAB_00139961;\n              lVar10 = 2;\n              pbVar11 = (byte *)p;\n              pbVar12 = &DAT_001448ab;\n              do {\n                if (lVar10 == 0) break;\n                lVar10 = lVar10 + -1;\n                bVar18 = *pbVar11 < *pbVar12;\n                bVar15 = *pbVar11 == *pbVar12;\n                pbVar11 = pbVar11 + (ulong)bVar19 * -2 + 1;\n                pbVar12 = pbVar12 + (ulong)bVar19 * -2 + 1;\n              } while (bVar15);\n              bVar16 = false;\n              bVar15 = (!bVar18 && !bVar15) == bVar18;\n              if (bVar15) goto LAB_00139961;\n              lVar10 = 8;\n              pbVar11 = (byte *)p;\n              pbVar12 = (byte *)"STT_TLS";\n              do {\n                if (lVar10 == 0) break;\n                lVar10 = lVar10 + -1;\n                bVar16 = *pbVar11 < *pbVar12;\n                bVar15 = *pbVar11 == *pbVar12;\n                pbVar11 = pbVar11 + (ulong)bVar19 * -2 + 1;\n                pbVar12 = pbVar12 + (ulong)bVar19 * -2 + 1;\n              } while (bVar15);\n              bVar18 = false;\n              bVar15 = (!bVar16 && !bVar15) == bVar16;\n              if (bVar15) goto LAB_00139961;\n              lVar10 = 7;\n              pbVar11 = (byte *)p;\n              pbVar12 = (byte *)"notype";\n              do {\n                if (lVar10 == 0) break;\n                lVar10 = lVar10 + -1;\n                bVar18 = *pbVar11 < *pbVar12;\n                bVar15 = *pbVar11 == *pbVar12;\n                pbVar11 = pbVar11 + (ulong)bVar19 * -2 + 1;\n                pbVar12 = pbVar12 + (ulong)bVar19 * -2 + 1;\n              } while (bVar15);\n              uVar13 = 0;\n              if ((((!bVar18 && !bVar15) == bVar18) || (iVar5 = strcmp(p,"0"), iVar5 == 0)) ||\n                 (iVar5 = strcmp(pcVar9,"STT_NOTYPE"), iVar5 == 0)) goto LAB_00139961;\n              iVar5 = strcmp(pcVar9,"common");\n              if (((iVar5 != 0) && (iVar5 = strcmp(pcVar9,"5"), iVar5 != 0)) &&\n                 (iVar5 = strcmp(pcVar9,"STT_COMMON"), iVar5 != 0)) {\n                iVar5 = strcmp(pcVar9,"gnu_indirect_function");\n                if (((iVar5 == 0) || (iVar5 = strcmp(pcVar9,"10"), iVar5 == 0)) ||\n                   (iVar5 = strcmp(pcVar9,"STT_GNU_IFUNC"), iVar5 == 0)) {\n                  uVar2 = *(uint *)((long)stdoutput->xvec->backend_data + 0xc);\n                  if ((9 < uVar2) ||\n                     (uVar13 = 0x400008, (0x209UL >> ((ulong)uVar2 & 0x3f) & 1) == 0)) {\n                    uVar13 = 0x400008;\n                    pcVar8 = (char *)dcgettext(0,\n                                               "symbol type \"%s\" is supported only by GNU and FreeBSD targets"\n                                               ,5);\n                    as_bad(pcVar8,pcVar9);\n                  }\n                }\n                else {\n                  iVar5 = strcmp(pcVar9,"gnu_unique_object");\n                  if (iVar5 == 0) {\n                    pvVar3 = stdoutput->xvec->backend_data;\n                    iVar5 = *(int *)((long)pvVar3 + 0xc);\n                    if ((iVar5 != 3) && (iVar5 != 0)) {\n                      pcVar8 = (char *)dcgettext(0,\n                                                 "symbol type \"%s\" is supported only by GNU targets"\n                                                 ,5);\n                      as_bad(pcVar8,pcVar9);\n                    }\n                    *(undefined4 *)((long)pvVar3 + 0xc) = 3;\n                    uVar13 = 0x810000;\n                  }\n                  else {\n                    pcVar8 = (char *)dcgettext(0,"unrecognized symbol type \"%s\"",5);\n                    as_bad(pcVar8,pcVar9);\n                  }\n                }\n                goto LAB_00139961;\n              }\n              iVar5 = S_IS_COMMON(psVar6);\n              if (iVar5 == 0) {\n                iVar5 = S_IS_VOLATILE(psVar6);\n                if (iVar5 != 0) {\n                  uVar13 = 0x10000;\n                  psVar6 = symbol_clone(psVar6,1);\n                  S_SET_SEGMENT(psVar6,(segT)_bfd_std_section);\n                  S_SET_VALUE(psVar6,0);\n                  S_SET_EXTERNAL(psVar6);\n                  symbol_set_frag(psVar6,&zero_address_frag);\n                  S_CLEAR_VOLATILE(psVar6);\n                  goto LAB_00139961;\n                }\n                iVar5 = S_IS_DEFINED(psVar6);\n                if ((iVar5 != 0) || (iVar5 = symbol_equated_p(psVar6), iVar5 != 0)) {\n                  uVar13 = 0x10000;\n                  pcVar9 = S_GET_NAME(psVar6);\n                  pcVar8 = (char *)dcgettext(0,"symbol \'%s\' is already defined",5);\n                  as_bad(pcVar8,pcVar9);\n                  goto LAB_00139961;\n                }\n                S_SET_SEGMENT(psVar6,(segT)_bfd_std_section);\n                S_SET_VALUE(psVar6,0);\n                S_SET_EXTERNAL(psVar6);\n              }\n            }\n          }\n        }\n        uVar13 = 0x10000;\n      }\n    }" if (parenthesized_expression "(!bVar15)" ( (unary_expression "!bVar15" ! identifier) )) (compound_statement "{\n      lVar10 = 9;\n      pbVar11 = (byte *)p;\n      pbVar12 = (byte *)"STT_FUNC";\n      do {\n        if (lVar10 == 0) break;\n        lVar10 = lVar10 + -1;\n        bVar16 = *pbVar11 < *pbVar12;\n        bVar15 = *pbVar11 == *pbVar12;\n        pbVar11 = pbVar11 + (ulong)bVar19 * -2 + 1;\n        pbVar12 = pbVar12 + (ulong)bVar19 * -2 + 1;\n      } while (bVar15);\n      bVar18 = false;\n      bVar15 = (!bVar16 && !bVar15) == bVar16;\n      if (!bVar15) {\n        lVar10 = 7;\n        pbVar11 = (byte *)p;\n        pbVar12 = (byte *)0x1464c9;\n        do {\n          if (lVar10 == 0) break;\n          lVar10 = lVar10 + -1;\n          bVar18 = *pbVar11 < *pbVar12;\n          bVar15 = *pbVar11 == *pbVar12;\n          pbVar11 = pbVar11 + (ulong)bVar19 * -2 + 1;\n          pbVar12 = pbVar12 + (ulong)bVar19 * -2 + 1;\n        } while (bVar15);\n        bVar16 = false;\n        bVar15 = (!bVar18 && !bVar15) == bVar18;\n        if (!bVar15) {\n          lVar10 = 2;\n          pbVar11 = (byte *)p;\n          pbVar12 = (byte *)0x13f34c;\n          do {\n            if (lVar10 == 0) break;\n            lVar10 = lVar10 + -1;\n            bVar16 = *pbVar11 < *pbVar12;\n            bVar15 = *pbVar11 == *pbVar12;\n            pbVar11 = pbVar11 + (ulong)bVar19 * -2 + 1;\n            pbVar12 = pbVar12 + (ulong)bVar19 * -2 + 1;\n          } while (bVar15);\n          bVar18 = false;\n          bVar15 = (!bVar16 && !bVar15) == bVar16;\n          if (!bVar15) {\n            lVar10 = 0xb;\n            pbVar11 = (byte *)p;\n            pbVar12 = (byte *)"STT_OBJECT";\n            do {\n              if (lVar10 == 0) break;\n              lVar10 = lVar10 + -1;\n              bVar18 = *pbVar11 < *pbVar12;\n              bVar15 = *pbVar11 == *pbVar12;\n              pbVar11 = pbVar11 + (ulong)bVar19 * -2 + 1;\n              pbVar12 = pbVar12 + (ulong)bVar19 * -2 + 1;\n            } while (bVar15);\n            bVar16 = false;\n            bVar15 = (!bVar18 && !bVar15) == bVar18;\n            if (!bVar15) {\n              lVar10 = 0xb;\n              uVar13 = 0x50000;\n              pbVar11 = (byte *)p;\n              pbVar12 = (byte *)"tls_object";\n              do {\n                if (lVar10 == 0) break;\n                lVar10 = lVar10 + -1;\n                bVar16 = *pbVar11 < *pbVar12;\n                bVar15 = *pbVar11 == *pbVar12;\n                pbVar11 = pbVar11 + (ulong)bVar19 * -2 + 1;\n                pbVar12 = pbVar12 + (ulong)bVar19 * -2 + 1;\n              } while (bVar15);\n              bVar18 = false;\n              bVar15 = (!bVar16 && !bVar15) == bVar16;\n              if (bVar15) goto LAB_00139961;\n              lVar10 = 2;\n              pbVar11 = (byte *)p;\n              pbVar12 = &DAT_001448ab;\n              do {\n                if (lVar10 == 0) break;\n                lVar10 = lVar10 + -1;\n                bVar18 = *pbVar11 < *pbVar12;\n                bVar15 = *pbVar11 == *pbVar12;\n                pbVar11 = pbVar11 + (ulong)bVar19 * -2 + 1;\n                pbVar12 = pbVar12 + (ulong)bVar19 * -2 + 1;\n              } while (bVar15);\n              bVar16 = false;\n              bVar15 = (!bVar18 && !bVar15) == bVar18;\n              if (bVar15) goto LAB_00139961;\n              lVar10 = 8;\n              pbVar11 = (byte *)p;\n              pbVar12 = (byte *)"STT_TLS";\n              do {\n                if (lVar10 == 0) break;\n                lVar10 = lVar10 + -1;\n                bVar16 = *pbVar11 < *pbVar12;\n                bVar15 = *pbVar11 == *pbVar12;\n                pbVar11 = pbVar11 + (ulong)bVar19 * -2 + 1;\n                pbVar12 = pbVar12 + (ulong)bVar19 * -2 + 1;\n              } while (bVar15);\n              bVar18 = false;\n              bVar15 = (!bVar16 && !bVar15) == bVar16;\n              if (bVar15) goto LAB_00139961;\n              lVar10 = 7;\n              pbVar11 = (byte *)p;\n              pbVar12 = (byte *)"notype";\n              do {\n                if (lVar10 == 0) break;\n                lVar10 = lVar10 + -1;\n                bVar18 = *pbVar11 < *pbVar12;\n                bVar15 = *pbVar11 == *pbVar12;\n                pbVar11 = pbVar11 + (ulong)bVar19 * -2 + 1;\n                pbVar12 = pbVar12 + (ulong)bVar19 * -2 + 1;\n              } while (bVar15);\n              uVar13 = 0;\n              if ((((!bVar18 && !bVar15) == bVar18) || (iVar5 = strcmp(p,"0"), iVar5 == 0)) ||\n                 (iVar5 = strcmp(pcVar9,"STT_NOTYPE"), iVar5 == 0)) goto LAB_00139961;\n              iVar5 = strcmp(pcVar9,"common");\n              if (((iVar5 != 0) && (iVar5 = strcmp(pcVar9,"5"), iVar5 != 0)) &&\n                 (iVar5 = strcmp(pcVar9,"STT_COMMON"), iVar5 != 0)) {\n                iVar5 = strcmp(pcVar9,"gnu_indirect_function");\n                if (((iVar5 == 0) || (iVar5 = strcmp(pcVar9,"10"), iVar5 == 0)) ||\n                   (iVar5 = strcmp(pcVar9,"STT_GNU_IFUNC"), iVar5 == 0)) {\n                  uVar2 = *(uint *)((long)stdoutput->xvec->backend_data + 0xc);\n                  if ((9 < uVar2) ||\n                     (uVar13 = 0x400008, (0x209UL >> ((ulong)uVar2 & 0x3f) & 1) == 0)) {\n                    uVar13 = 0x400008;\n                    pcVar8 = (char *)dcgettext(0,\n                                               "symbol type \"%s\" is supported only by GNU and FreeBSD targets"\n                                               ,5);\n                    as_bad(pcVar8,pcVar9);\n                  }\n                }\n                else {\n                  iVar5 = strcmp(pcVar9,"gnu_unique_object");\n                  if (iVar5 == 0) {\n                    pvVar3 = stdoutput->xvec->backend_data;\n                    iVar5 = *(int *)((long)pvVar3 + 0xc);\n                    if ((iVar5 != 3) && (iVar5 != 0)) {\n                      pcVar8 = (char *)dcgettext(0,\n                                                 "symbol type \"%s\" is supported only by GNU targets"\n                                                 ,5);\n                      as_bad(pcVar8,pcVar9);\n                    }\n                    *(undefined4 *)((long)pvVar3 + 0xc) = 3;\n                    uVar13 = 0x810000;\n                  }\n                  else {\n                    pcVar8 = (char *)dcgettext(0,"unrecognized symbol type \"%s\"",5);\n                    as_bad(pcVar8,pcVar9);\n                  }\n                }\n                goto LAB_00139961;\n              }\n              iVar5 = S_IS_COMMON(psVar6);\n              if (iVar5 == 0) {\n                iVar5 = S_IS_VOLATILE(psVar6);\n                if (iVar5 != 0) {\n                  uVar13 = 0x10000;\n                  psVar6 = symbol_clone(psVar6,1);\n                  S_SET_SEGMENT(psVar6,(segT)_bfd_std_section);\n                  S_SET_VALUE(psVar6,0);\n                  S_SET_EXTERNAL(psVar6);\n                  symbol_set_frag(psVar6,&zero_address_frag);\n                  S_CLEAR_VOLATILE(psVar6);\n                  goto LAB_00139961;\n                }\n                iVar5 = S_IS_DEFINED(psVar6);\n                if ((iVar5 != 0) || (iVar5 = symbol_equated_p(psVar6), iVar5 != 0)) {\n                  uVar13 = 0x10000;\n                  pcVar9 = S_GET_NAME(psVar6);\n                  pcVar8 = (char *)dcgettext(0,"symbol \'%s\' is already defined",5);\n                  as_bad(pcVar8,pcVar9);\n                  goto LAB_00139961;\n                }\n                S_SET_SEGMENT(psVar6,(segT)_bfd_std_section);\n                S_SET_VALUE(psVar6,0);\n                S_SET_EXTERNAL(psVar6);\n              }\n            }\n          }\n        }\n        uVar13 = 0x10000;\n      }\n    }" { (expression_statement "lVar10 = 9;" (assignment_expression "lVar10 = 9" identifier = number_literal) ;) (expression_statement "pbVar11 = (byte *)p;" (assignment_expression "pbVar11 = (byte *)p" identifier = (cast_expression "(byte *)p" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "pbVar12 = (byte *)"STT_FUNC";" (assignment_expression "pbVar12 = (byte *)"STT_FUNC"" identifier = (cast_expression "(byte *)"STT_FUNC"" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (string_literal ""STT_FUNC"" " string_content "))) ;) (do_statement "do {\n        if (lVar10 == 0) break;\n        lVar10 = lVar10 + -1;\n        bVar16 = *pbVar11 < *pbVar12;\n        bVar15 = *pbVar11 == *pbVar12;\n        pbVar11 = pbVar11 + (ulong)bVar19 * -2 + 1;\n        pbVar12 = pbVar12 + (ulong)bVar19 * -2 + 1;\n      } while (bVar15);" do (compound_statement "{\n        if (lVar10 == 0) break;\n        lVar10 = lVar10 + -1;\n        bVar16 = *pbVar11 < *pbVar12;\n        bVar15 = *pbVar11 == *pbVar12;\n        pbVar11 = pbVar11 + (ulong)bVar19 * -2 + 1;\n        pbVar12 = pbVar12 + (ulong)bVar19 * -2 + 1;\n      }" { (if_statement "if (lVar10 == 0) break;" if (parenthesized_expression "(lVar10 == 0)" ( (binary_expression "lVar10 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "lVar10 = lVar10 + -1;" (assignment_expression "lVar10 = lVar10 + -1" identifier = (binary_expression "lVar10 + -1" identifier + number_literal)) ;) (expression_statement "bVar16 = *pbVar11 < *pbVar12;" (assignment_expression "bVar16 = *pbVar11 < *pbVar12" identifier = (binary_expression "*pbVar11 < *pbVar12" (pointer_expression "*pbVar11" * identifier) < (pointer_expression "*pbVar12" * identifier))) ;) (expression_statement "bVar15 = *pbVar11 == *pbVar12;" (assignment_expression "bVar15 = *pbVar11 == *pbVar12" identifier = (binary_expression "*pbVar11 == *pbVar12" (pointer_expression "*pbVar11" * identifier) == (pointer_expression "*pbVar12" * identifier))) ;) (expression_statement "pbVar11 = pbVar11 + (ulong)bVar19 * -2 + 1;" (assignment_expression "pbVar11 = pbVar11 + (ulong)bVar19 * -2 + 1" identifier = (binary_expression "pbVar11 + (ulong)bVar19 * -2 + 1" (binary_expression "pbVar11 + (ulong)bVar19 * -2" identifier + (binary_expression "(ulong)bVar19 * -2" (cast_expression "(ulong)bVar19" ( (type_descriptor "ulong" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) (expression_statement "pbVar12 = pbVar12 + (ulong)bVar19 * -2 + 1;" (assignment_expression "pbVar12 = pbVar12 + (ulong)bVar19 * -2 + 1" identifier = (binary_expression "pbVar12 + (ulong)bVar19 * -2 + 1" (binary_expression "pbVar12 + (ulong)bVar19 * -2" identifier + (binary_expression "(ulong)bVar19 * -2" (cast_expression "(ulong)bVar19" ( (type_descriptor "ulong" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) }) while (parenthesized_expression "(bVar15)" ( identifier )) ;) (expression_statement "bVar18 = false;" (assignment_expression "bVar18 = false" identifier = false) ;) (expression_statement "bVar15 = (!bVar16 && !bVar15) == bVar16;" (assignment_expression "bVar15 = (!bVar16 && !bVar15) == bVar16" identifier = (binary_expression "(!bVar16 && !bVar15) == bVar16" (parenthesized_expression "(!bVar16 && !bVar15)" ( (binary_expression "!bVar16 && !bVar15" (unary_expression "!bVar16" ! identifier) && (unary_expression "!bVar15" ! identifier)) )) == identifier)) ;) (if_statement "if (!bVar15) {\n        lVar10 = 7;\n        pbVar11 = (byte *)p;\n        pbVar12 = (byte *)0x1464c9;\n        do {\n          if (lVar10 == 0) break;\n          lVar10 = lVar10 + -1;\n          bVar18 = *pbVar11 < *pbVar12;\n          bVar15 = *pbVar11 == *pbVar12;\n          pbVar11 = pbVar11 + (ulong)bVar19 * -2 + 1;\n          pbVar12 = pbVar12 + (ulong)bVar19 * -2 + 1;\n        } while (bVar15);\n        bVar16 = false;\n        bVar15 = (!bVar18 && !bVar15) == bVar18;\n        if (!bVar15) {\n          lVar10 = 2;\n          pbVar11 = (byte *)p;\n          pbVar12 = (byte *)0x13f34c;\n          do {\n            if (lVar10 == 0) break;\n            lVar10 = lVar10 + -1;\n            bVar16 = *pbVar11 < *pbVar12;\n            bVar15 = *pbVar11 == *pbVar12;\n            pbVar11 = pbVar11 + (ulong)bVar19 * -2 + 1;\n            pbVar12 = pbVar12 + (ulong)bVar19 * -2 + 1;\n          } while (bVar15);\n          bVar18 = false;\n          bVar15 = (!bVar16 && !bVar15) == bVar16;\n          if (!bVar15) {\n            lVar10 = 0xb;\n            pbVar11 = (byte *)p;\n            pbVar12 = (byte *)"STT_OBJECT";\n            do {\n              if (lVar10 == 0) break;\n              lVar10 = lVar10 + -1;\n              bVar18 = *pbVar11 < *pbVar12;\n              bVar15 = *pbVar11 == *pbVar12;\n              pbVar11 = pbVar11 + (ulong)bVar19 * -2 + 1;\n              pbVar12 = pbVar12 + (ulong)bVar19 * -2 + 1;\n            } while (bVar15);\n            bVar16 = false;\n            bVar15 = (!bVar18 && !bVar15) == bVar18;\n            if (!bVar15) {\n              lVar10 = 0xb;\n              uVar13 = 0x50000;\n              pbVar11 = (byte *)p;\n              pbVar12 = (byte *)"tls_object";\n              do {\n                if (lVar10 == 0) break;\n                lVar10 = lVar10 + -1;\n                bVar16 = *pbVar11 < *pbVar12;\n                bVar15 = *pbVar11 == *pbVar12;\n                pbVar11 = pbVar11 + (ulong)bVar19 * -2 + 1;\n                pbVar12 = pbVar12 + (ulong)bVar19 * -2 + 1;\n              } while (bVar15);\n              bVar18 = false;\n              bVar15 = (!bVar16 && !bVar15) == bVar16;\n              if (bVar15) goto LAB_00139961;\n              lVar10 = 2;\n              pbVar11 = (byte *)p;\n              pbVar12 = &DAT_001448ab;\n              do {\n                if (lVar10 == 0) break;\n                lVar10 = lVar10 + -1;\n                bVar18 = *pbVar11 < *pbVar12;\n                bVar15 = *pbVar11 == *pbVar12;\n                pbVar11 = pbVar11 + (ulong)bVar19 * -2 + 1;\n                pbVar12 = pbVar12 + (ulong)bVar19 * -2 + 1;\n              } while (bVar15);\n              bVar16 = false;\n              bVar15 = (!bVar18 && !bVar15) == bVar18;\n              if (bVar15) goto LAB_00139961;\n              lVar10 = 8;\n              pbVar11 = (byte *)p;\n              pbVar12 = (byte *)"STT_TLS";\n              do {\n                if (lVar10 == 0) break;\n                lVar10 = lVar10 + -1;\n                bVar16 = *pbVar11 < *pbVar12;\n                bVar15 = *pbVar11 == *pbVar12;\n                pbVar11 = pbVar11 + (ulong)bVar19 * -2 + 1;\n                pbVar12 = pbVar12 + (ulong)bVar19 * -2 + 1;\n              } while (bVar15);\n              bVar18 = false;\n              bVar15 = (!bVar16 && !bVar15) == bVar16;\n              if (bVar15) goto LAB_00139961;\n              lVar10 = 7;\n              pbVar11 = (byte *)p;\n              pbVar12 = (byte *)"notype";\n              do {\n                if (lVar10 == 0) break;\n                lVar10 = lVar10 + -1;\n                bVar18 = *pbVar11 < *pbVar12;\n                bVar15 = *pbVar11 == *pbVar12;\n                pbVar11 = pbVar11 + (ulong)bVar19 * -2 + 1;\n                pbVar12 = pbVar12 + (ulong)bVar19 * -2 + 1;\n              } while (bVar15);\n              uVar13 = 0;\n              if ((((!bVar18 && !bVar15) == bVar18) || (iVar5 = strcmp(p,"0"), iVar5 == 0)) ||\n                 (iVar5 = strcmp(pcVar9,"STT_NOTYPE"), iVar5 == 0)) goto LAB_00139961;\n              iVar5 = strcmp(pcVar9,"common");\n              if (((iVar5 != 0) && (iVar5 = strcmp(pcVar9,"5"), iVar5 != 0)) &&\n                 (iVar5 = strcmp(pcVar9,"STT_COMMON"), iVar5 != 0)) {\n                iVar5 = strcmp(pcVar9,"gnu_indirect_function");\n                if (((iVar5 == 0) || (iVar5 = strcmp(pcVar9,"10"), iVar5 == 0)) ||\n                   (iVar5 = strcmp(pcVar9,"STT_GNU_IFUNC"), iVar5 == 0)) {\n                  uVar2 = *(uint *)((long)stdoutput->xvec->backend_data + 0xc);\n                  if ((9 < uVar2) ||\n                     (uVar13 = 0x400008, (0x209UL >> ((ulong)uVar2 & 0x3f) & 1) == 0)) {\n                    uVar13 = 0x400008;\n                    pcVar8 = (char *)dcgettext(0,\n                                               "symbol type \"%s\" is supported only by GNU and FreeBSD targets"\n                                               ,5);\n                    as_bad(pcVar8,pcVar9);\n                  }\n                }\n                else {\n                  iVar5 = strcmp(pcVar9,"gnu_unique_object");\n                  if (iVar5 == 0) {\n                    pvVar3 = stdoutput->xvec->backend_data;\n                    iVar5 = *(int *)((long)pvVar3 + 0xc);\n                    if ((iVar5 != 3) && (iVar5 != 0)) {\n                      pcVar8 = (char *)dcgettext(0,\n                                                 "symbol type \"%s\" is supported only by GNU targets"\n                                                 ,5);\n                      as_bad(pcVar8,pcVar9);\n                    }\n                    *(undefined4 *)((long)pvVar3 + 0xc) = 3;\n                    uVar13 = 0x810000;\n                  }\n                  else {\n                    pcVar8 = (char *)dcgettext(0,"unrecognized symbol type \"%s\"",5);\n                    as_bad(pcVar8,pcVar9);\n                  }\n                }\n                goto LAB_00139961;\n              }\n              iVar5 = S_IS_COMMON(psVar6);\n              if (iVar5 == 0) {\n                iVar5 = S_IS_VOLATILE(psVar6);\n                if (iVar5 != 0) {\n                  uVar13 = 0x10000;\n                  psVar6 = symbol_clone(psVar6,1);\n                  S_SET_SEGMENT(psVar6,(segT)_bfd_std_section);\n                  S_SET_VALUE(psVar6,0);\n                  S_SET_EXTERNAL(psVar6);\n                  symbol_set_frag(psVar6,&zero_address_frag);\n                  S_CLEAR_VOLATILE(psVar6);\n                  goto LAB_00139961;\n                }\n                iVar5 = S_IS_DEFINED(psVar6);\n                if ((iVar5 != 0) || (iVar5 = symbol_equated_p(psVar6), iVar5 != 0)) {\n                  uVar13 = 0x10000;\n                  pcVar9 = S_GET_NAME(psVar6);\n                  pcVar8 = (char *)dcgettext(0,"symbol \'%s\' is already defined",5);\n                  as_bad(pcVar8,pcVar9);\n                  goto LAB_00139961;\n                }\n                S_SET_SEGMENT(psVar6,(segT)_bfd_std_section);\n                S_SET_VALUE(psVar6,0);\n                S_SET_EXTERNAL(psVar6);\n              }\n            }\n          }\n        }\n        uVar13 = 0x10000;\n      }" if (parenthesized_expression "(!bVar15)" ( (unary_expression "!bVar15" ! identifier) )) (compound_statement "{\n        lVar10 = 7;\n        pbVar11 = (byte *)p;\n        pbVar12 = (byte *)0x1464c9;\n        do {\n          if (lVar10 == 0) break;\n          lVar10 = lVar10 + -1;\n          bVar18 = *pbVar11 < *pbVar12;\n          bVar15 = *pbVar11 == *pbVar12;\n          pbVar11 = pbVar11 + (ulong)bVar19 * -2 + 1;\n          pbVar12 = pbVar12 + (ulong)bVar19 * -2 + 1;\n        } while (bVar15);\n        bVar16 = false;\n        bVar15 = (!bVar18 && !bVar15) == bVar18;\n        if (!bVar15) {\n          lVar10 = 2;\n          pbVar11 = (byte *)p;\n          pbVar12 = (byte *)0x13f34c;\n          do {\n            if (lVar10 == 0) break;\n            lVar10 = lVar10 + -1;\n            bVar16 = *pbVar11 < *pbVar12;\n            bVar15 = *pbVar11 == *pbVar12;\n            pbVar11 = pbVar11 + (ulong)bVar19 * -2 + 1;\n            pbVar12 = pbVar12 + (ulong)bVar19 * -2 + 1;\n          } while (bVar15);\n          bVar18 = false;\n          bVar15 = (!bVar16 && !bVar15) == bVar16;\n          if (!bVar15) {\n            lVar10 = 0xb;\n            pbVar11 = (byte *)p;\n            pbVar12 = (byte *)"STT_OBJECT";\n            do {\n              if (lVar10 == 0) break;\n              lVar10 = lVar10 + -1;\n              bVar18 = *pbVar11 < *pbVar12;\n              bVar15 = *pbVar11 == *pbVar12;\n              pbVar11 = pbVar11 + (ulong)bVar19 * -2 + 1;\n              pbVar12 = pbVar12 + (ulong)bVar19 * -2 + 1;\n            } while (bVar15);\n            bVar16 = false;\n            bVar15 = (!bVar18 && !bVar15) == bVar18;\n            if (!bVar15) {\n              lVar10 = 0xb;\n              uVar13 = 0x50000;\n              pbVar11 = (byte *)p;\n              pbVar12 = (byte *)"tls_object";\n              do {\n                if (lVar10 == 0) break;\n                lVar10 = lVar10 + -1;\n                bVar16 = *pbVar11 < *pbVar12;\n                bVar15 = *pbVar11 == *pbVar12;\n                pbVar11 = pbVar11 + (ulong)bVar19 * -2 + 1;\n                pbVar12 = pbVar12 + (ulong)bVar19 * -2 + 1;\n              } while (bVar15);\n              bVar18 = false;\n              bVar15 = (!bVar16 && !bVar15) == bVar16;\n              if (bVar15) goto LAB_00139961;\n              lVar10 = 2;\n              pbVar11 = (byte *)p;\n              pbVar12 = &DAT_001448ab;\n              do {\n                if (lVar10 == 0) break;\n                lVar10 = lVar10 + -1;\n                bVar18 = *pbVar11 < *pbVar12;\n                bVar15 = *pbVar11 == *pbVar12;\n                pbVar11 = pbVar11 + (ulong)bVar19 * -2 + 1;\n                pbVar12 = pbVar12 + (ulong)bVar19 * -2 + 1;\n              } while (bVar15);\n              bVar16 = false;\n              bVar15 = (!bVar18 && !bVar15) == bVar18;\n              if (bVar15) goto LAB_00139961;\n              lVar10 = 8;\n              pbVar11 = (byte *)p;\n              pbVar12 = (byte *)"STT_TLS";\n              do {\n                if (lVar10 == 0) break;\n                lVar10 = lVar10 + -1;\n                bVar16 = *pbVar11 < *pbVar12;\n                bVar15 = *pbVar11 == *pbVar12;\n                pbVar11 = pbVar11 + (ulong)bVar19 * -2 + 1;\n                pbVar12 = pbVar12 + (ulong)bVar19 * -2 + 1;\n              } while (bVar15);\n              bVar18 = false;\n              bVar15 = (!bVar16 && !bVar15) == bVar16;\n              if (bVar15) goto LAB_00139961;\n              lVar10 = 7;\n              pbVar11 = (byte *)p;\n              pbVar12 = (byte *)"notype";\n              do {\n                if (lVar10 == 0) break;\n                lVar10 = lVar10 + -1;\n                bVar18 = *pbVar11 < *pbVar12;\n                bVar15 = *pbVar11 == *pbVar12;\n                pbVar11 = pbVar11 + (ulong)bVar19 * -2 + 1;\n                pbVar12 = pbVar12 + (ulong)bVar19 * -2 + 1;\n              } while (bVar15);\n              uVar13 = 0;\n              if ((((!bVar18 && !bVar15) == bVar18) || (iVar5 = strcmp(p,"0"), iVar5 == 0)) ||\n                 (iVar5 = strcmp(pcVar9,"STT_NOTYPE"), iVar5 == 0)) goto LAB_00139961;\n              iVar5 = strcmp(pcVar9,"common");\n              if (((iVar5 != 0) && (iVar5 = strcmp(pcVar9,"5"), iVar5 != 0)) &&\n                 (iVar5 = strcmp(pcVar9,"STT_COMMON"), iVar5 != 0)) {\n                iVar5 = strcmp(pcVar9,"gnu_indirect_function");\n                if (((iVar5 == 0) || (iVar5 = strcmp(pcVar9,"10"), iVar5 == 0)) ||\n                   (iVar5 = strcmp(pcVar9,"STT_GNU_IFUNC"), iVar5 == 0)) {\n                  uVar2 = *(uint *)((long)stdoutput->xvec->backend_data + 0xc);\n                  if ((9 < uVar2) ||\n                     (uVar13 = 0x400008, (0x209UL >> ((ulong)uVar2 & 0x3f) & 1) == 0)) {\n                    uVar13 = 0x400008;\n                    pcVar8 = (char *)dcgettext(0,\n                                               "symbol type \"%s\" is supported only by GNU and FreeBSD targets"\n                                               ,5);\n                    as_bad(pcVar8,pcVar9);\n                  }\n                }\n                else {\n                  iVar5 = strcmp(pcVar9,"gnu_unique_object");\n                  if (iVar5 == 0) {\n                    pvVar3 = stdoutput->xvec->backend_data;\n                    iVar5 = *(int *)((long)pvVar3 + 0xc);\n                    if ((iVar5 != 3) && (iVar5 != 0)) {\n                      pcVar8 = (char *)dcgettext(0,\n                                                 "symbol type \"%s\" is supported only by GNU targets"\n                                                 ,5);\n                      as_bad(pcVar8,pcVar9);\n                    }\n                    *(undefined4 *)((long)pvVar3 + 0xc) = 3;\n                    uVar13 = 0x810000;\n                  }\n                  else {\n                    pcVar8 = (char *)dcgettext(0,"unrecognized symbol type \"%s\"",5);\n                    as_bad(pcVar8,pcVar9);\n                  }\n                }\n                goto LAB_00139961;\n              }\n              iVar5 = S_IS_COMMON(psVar6);\n              if (iVar5 == 0) {\n                iVar5 = S_IS_VOLATILE(psVar6);\n                if (iVar5 != 0) {\n                  uVar13 = 0x10000;\n                  psVar6 = symbol_clone(psVar6,1);\n                  S_SET_SEGMENT(psVar6,(segT)_bfd_std_section);\n                  S_SET_VALUE(psVar6,0);\n                  S_SET_EXTERNAL(psVar6);\n                  symbol_set_frag(psVar6,&zero_address_frag);\n                  S_CLEAR_VOLATILE(psVar6);\n                  goto LAB_00139961;\n                }\n                iVar5 = S_IS_DEFINED(psVar6);\n                if ((iVar5 != 0) || (iVar5 = symbol_equated_p(psVar6), iVar5 != 0)) {\n                  uVar13 = 0x10000;\n                  pcVar9 = S_GET_NAME(psVar6);\n                  pcVar8 = (char *)dcgettext(0,"symbol \'%s\' is already defined",5);\n                  as_bad(pcVar8,pcVar9);\n                  goto LAB_00139961;\n                }\n                S_SET_SEGMENT(psVar6,(segT)_bfd_std_section);\n                S_SET_VALUE(psVar6,0);\n                S_SET_EXTERNAL(psVar6);\n              }\n            }\n          }\n        }\n        uVar13 = 0x10000;\n      }" { (expression_statement "lVar10 = 7;" (assignment_expression "lVar10 = 7" identifier = number_literal) ;) (expression_statement "pbVar11 = (byte *)p;" (assignment_expression "pbVar11 = (byte *)p" identifier = (cast_expression "(byte *)p" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "pbVar12 = (byte *)0x1464c9;" (assignment_expression "pbVar12 = (byte *)0x1464c9" identifier = (cast_expression "(byte *)0x1464c9" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (do_statement "do {\n          if (lVar10 == 0) break;\n          lVar10 = lVar10 + -1;\n          bVar18 = *pbVar11 < *pbVar12;\n          bVar15 = *pbVar11 == *pbVar12;\n          pbVar11 = pbVar11 + (ulong)bVar19 * -2 + 1;\n          pbVar12 = pbVar12 + (ulong)bVar19 * -2 + 1;\n        } while (bVar15);" do (compound_statement "{\n          if (lVar10 == 0) break;\n          lVar10 = lVar10 + -1;\n          bVar18 = *pbVar11 < *pbVar12;\n          bVar15 = *pbVar11 == *pbVar12;\n          pbVar11 = pbVar11 + (ulong)bVar19 * -2 + 1;\n          pbVar12 = pbVar12 + (ulong)bVar19 * -2 + 1;\n        }" { (if_statement "if (lVar10 == 0) break;" if (parenthesized_expression "(lVar10 == 0)" ( (binary_expression "lVar10 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "lVar10 = lVar10 + -1;" (assignment_expression "lVar10 = lVar10 + -1" identifier = (binary_expression "lVar10 + -1" identifier + number_literal)) ;) (expression_statement "bVar18 = *pbVar11 < *pbVar12;" (assignment_expression "bVar18 = *pbVar11 < *pbVar12" identifier = (binary_expression "*pbVar11 < *pbVar12" (pointer_expression "*pbVar11" * identifier) < (pointer_expression "*pbVar12" * identifier))) ;) (expression_statement "bVar15 = *pbVar11 == *pbVar12;" (assignment_expression "bVar15 = *pbVar11 == *pbVar12" identifier = (binary_expression "*pbVar11 == *pbVar12" (pointer_expression "*pbVar11" * identifier) == (pointer_expression "*pbVar12" * identifier))) ;) (expression_statement "pbVar11 = pbVar11 + (ulong)bVar19 * -2 + 1;" (assignment_expression "pbVar11 = pbVar11 + (ulong)bVar19 * -2 + 1" identifier = (binary_expression "pbVar11 + (ulong)bVar19 * -2 + 1" (binary_expression "pbVar11 + (ulong)bVar19 * -2" identifier + (binary_expression "(ulong)bVar19 * -2" (cast_expression "(ulong)bVar19" ( (type_descriptor "ulong" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) (expression_statement "pbVar12 = pbVar12 + (ulong)bVar19 * -2 + 1;" (assignment_expression "pbVar12 = pbVar12 + (ulong)bVar19 * -2 + 1" identifier = (binary_expression "pbVar12 + (ulong)bVar19 * -2 + 1" (binary_expression "pbVar12 + (ulong)bVar19 * -2" identifier + (binary_expression "(ulong)bVar19 * -2" (cast_expression "(ulong)bVar19" ( (type_descriptor "ulong" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) }) while (parenthesized_expression "(bVar15)" ( identifier )) ;) (expression_statement "bVar16 = false;" (assignment_expression "bVar16 = false" identifier = false) ;) (expression_statement "bVar15 = (!bVar18 && !bVar15) == bVar18;" (assignment_expression "bVar15 = (!bVar18 && !bVar15) == bVar18" identifier = (binary_expression "(!bVar18 && !bVar15) == bVar18" (parenthesized_expression "(!bVar18 && !bVar15)" ( (binary_expression "!bVar18 && !bVar15" (unary_expression "!bVar18" ! identifier) && (unary_expression "!bVar15" ! identifier)) )) == identifier)) ;) (if_statement "if (!bVar15) {\n          lVar10 = 2;\n          pbVar11 = (byte *)p;\n          pbVar12 = (byte *)0x13f34c;\n          do {\n            if (lVar10 == 0) break;\n            lVar10 = lVar10 + -1;\n            bVar16 = *pbVar11 < *pbVar12;\n            bVar15 = *pbVar11 == *pbVar12;\n            pbVar11 = pbVar11 + (ulong)bVar19 * -2 + 1;\n            pbVar12 = pbVar12 + (ulong)bVar19 * -2 + 1;\n          } while (bVar15);\n          bVar18 = false;\n          bVar15 = (!bVar16 && !bVar15) == bVar16;\n          if (!bVar15) {\n            lVar10 = 0xb;\n            pbVar11 = (byte *)p;\n            pbVar12 = (byte *)"STT_OBJECT";\n            do {\n              if (lVar10 == 0) break;\n              lVar10 = lVar10 + -1;\n              bVar18 = *pbVar11 < *pbVar12;\n              bVar15 = *pbVar11 == *pbVar12;\n              pbVar11 = pbVar11 + (ulong)bVar19 * -2 + 1;\n              pbVar12 = pbVar12 + (ulong)bVar19 * -2 + 1;\n            } while (bVar15);\n            bVar16 = false;\n            bVar15 = (!bVar18 && !bVar15) == bVar18;\n            if (!bVar15) {\n              lVar10 = 0xb;\n              uVar13 = 0x50000;\n              pbVar11 = (byte *)p;\n              pbVar12 = (byte *)"tls_object";\n              do {\n                if (lVar10 == 0) break;\n                lVar10 = lVar10 + -1;\n                bVar16 = *pbVar11 < *pbVar12;\n                bVar15 = *pbVar11 == *pbVar12;\n                pbVar11 = pbVar11 + (ulong)bVar19 * -2 + 1;\n                pbVar12 = pbVar12 + (ulong)bVar19 * -2 + 1;\n              } while (bVar15);\n              bVar18 = false;\n              bVar15 = (!bVar16 && !bVar15) == bVar16;\n              if (bVar15) goto LAB_00139961;\n              lVar10 = 2;\n              pbVar11 = (byte *)p;\n              pbVar12 = &DAT_001448ab;\n              do {\n                if (lVar10 == 0) break;\n                lVar10 = lVar10 + -1;\n                bVar18 = *pbVar11 < *pbVar12;\n                bVar15 = *pbVar11 == *pbVar12;\n                pbVar11 = pbVar11 + (ulong)bVar19 * -2 + 1;\n                pbVar12 = pbVar12 + (ulong)bVar19 * -2 + 1;\n              } while (bVar15);\n              bVar16 = false;\n              bVar15 = (!bVar18 && !bVar15) == bVar18;\n              if (bVar15) goto LAB_00139961;\n              lVar10 = 8;\n              pbVar11 = (byte *)p;\n              pbVar12 = (byte *)"STT_TLS";\n              do {\n                if (lVar10 == 0) break;\n                lVar10 = lVar10 + -1;\n                bVar16 = *pbVar11 < *pbVar12;\n                bVar15 = *pbVar11 == *pbVar12;\n                pbVar11 = pbVar11 + (ulong)bVar19 * -2 + 1;\n                pbVar12 = pbVar12 + (ulong)bVar19 * -2 + 1;\n              } while (bVar15);\n              bVar18 = false;\n              bVar15 = (!bVar16 && !bVar15) == bVar16;\n              if (bVar15) goto LAB_00139961;\n              lVar10 = 7;\n              pbVar11 = (byte *)p;\n              pbVar12 = (byte *)"notype";\n              do {\n                if (lVar10 == 0) break;\n                lVar10 = lVar10 + -1;\n                bVar18 = *pbVar11 < *pbVar12;\n                bVar15 = *pbVar11 == *pbVar12;\n                pbVar11 = pbVar11 + (ulong)bVar19 * -2 + 1;\n                pbVar12 = pbVar12 + (ulong)bVar19 * -2 + 1;\n              } while (bVar15);\n              uVar13 = 0;\n              if ((((!bVar18 && !bVar15) == bVar18) || (iVar5 = strcmp(p,"0"), iVar5 == 0)) ||\n                 (iVar5 = strcmp(pcVar9,"STT_NOTYPE"), iVar5 == 0)) goto LAB_00139961;\n              iVar5 = strcmp(pcVar9,"common");\n              if (((iVar5 != 0) && (iVar5 = strcmp(pcVar9,"5"), iVar5 != 0)) &&\n                 (iVar5 = strcmp(pcVar9,"STT_COMMON"), iVar5 != 0)) {\n                iVar5 = strcmp(pcVar9,"gnu_indirect_function");\n                if (((iVar5 == 0) || (iVar5 = strcmp(pcVar9,"10"), iVar5 == 0)) ||\n                   (iVar5 = strcmp(pcVar9,"STT_GNU_IFUNC"), iVar5 == 0)) {\n                  uVar2 = *(uint *)((long)stdoutput->xvec->backend_data + 0xc);\n                  if ((9 < uVar2) ||\n                     (uVar13 = 0x400008, (0x209UL >> ((ulong)uVar2 & 0x3f) & 1) == 0)) {\n                    uVar13 = 0x400008;\n                    pcVar8 = (char *)dcgettext(0,\n                                               "symbol type \"%s\" is supported only by GNU and FreeBSD targets"\n                                               ,5);\n                    as_bad(pcVar8,pcVar9);\n                  }\n                }\n                else {\n                  iVar5 = strcmp(pcVar9,"gnu_unique_object");\n                  if (iVar5 == 0) {\n                    pvVar3 = stdoutput->xvec->backend_data;\n                    iVar5 = *(int *)((long)pvVar3 + 0xc);\n                    if ((iVar5 != 3) && (iVar5 != 0)) {\n                      pcVar8 = (char *)dcgettext(0,\n                                                 "symbol type \"%s\" is supported only by GNU targets"\n                                                 ,5);\n                      as_bad(pcVar8,pcVar9);\n                    }\n                    *(undefined4 *)((long)pvVar3 + 0xc) = 3;\n                    uVar13 = 0x810000;\n                  }\n                  else {\n                    pcVar8 = (char *)dcgettext(0,"unrecognized symbol type \"%s\"",5);\n                    as_bad(pcVar8,pcVar9);\n                  }\n                }\n                goto LAB_00139961;\n              }\n              iVar5 = S_IS_COMMON(psVar6);\n              if (iVar5 == 0) {\n                iVar5 = S_IS_VOLATILE(psVar6);\n                if (iVar5 != 0) {\n                  uVar13 = 0x10000;\n                  psVar6 = symbol_clone(psVar6,1);\n                  S_SET_SEGMENT(psVar6,(segT)_bfd_std_section);\n                  S_SET_VALUE(psVar6,0);\n                  S_SET_EXTERNAL(psVar6);\n                  symbol_set_frag(psVar6,&zero_address_frag);\n                  S_CLEAR_VOLATILE(psVar6);\n                  goto LAB_00139961;\n                }\n                iVar5 = S_IS_DEFINED(psVar6);\n                if ((iVar5 != 0) || (iVar5 = symbol_equated_p(psVar6), iVar5 != 0)) {\n                  uVar13 = 0x10000;\n                  pcVar9 = S_GET_NAME(psVar6);\n                  pcVar8 = (char *)dcgettext(0,"symbol \'%s\' is already defined",5);\n                  as_bad(pcVar8,pcVar9);\n                  goto LAB_00139961;\n                }\n                S_SET_SEGMENT(psVar6,(segT)_bfd_std_section);\n                S_SET_VALUE(psVar6,0);\n                S_SET_EXTERNAL(psVar6);\n              }\n            }\n          }\n        }" if (parenthesized_expression "(!bVar15)" ( (unary_expression "!bVar15" ! identifier) )) (compound_statement "{\n          lVar10 = 2;\n          pbVar11 = (byte *)p;\n          pbVar12 = (byte *)0x13f34c;\n          do {\n            if (lVar10 == 0) break;\n            lVar10 = lVar10 + -1;\n            bVar16 = *pbVar11 < *pbVar12;\n            bVar15 = *pbVar11 == *pbVar12;\n            pbVar11 = pbVar11 + (ulong)bVar19 * -2 + 1;\n            pbVar12 = pbVar12 + (ulong)bVar19 * -2 + 1;\n          } while (bVar15);\n          bVar18 = false;\n          bVar15 = (!bVar16 && !bVar15) == bVar16;\n          if (!bVar15) {\n            lVar10 = 0xb;\n            pbVar11 = (byte *)p;\n            pbVar12 = (byte *)"STT_OBJECT";\n            do {\n              if (lVar10 == 0) break;\n              lVar10 = lVar10 + -1;\n              bVar18 = *pbVar11 < *pbVar12;\n              bVar15 = *pbVar11 == *pbVar12;\n              pbVar11 = pbVar11 + (ulong)bVar19 * -2 + 1;\n              pbVar12 = pbVar12 + (ulong)bVar19 * -2 + 1;\n            } while (bVar15);\n            bVar16 = false;\n            bVar15 = (!bVar18 && !bVar15) == bVar18;\n            if (!bVar15) {\n              lVar10 = 0xb;\n              uVar13 = 0x50000;\n              pbVar11 = (byte *)p;\n              pbVar12 = (byte *)"tls_object";\n              do {\n                if (lVar10 == 0) break;\n                lVar10 = lVar10 + -1;\n                bVar16 = *pbVar11 < *pbVar12;\n                bVar15 = *pbVar11 == *pbVar12;\n                pbVar11 = pbVar11 + (ulong)bVar19 * -2 + 1;\n                pbVar12 = pbVar12 + (ulong)bVar19 * -2 + 1;\n              } while (bVar15);\n              bVar18 = false;\n              bVar15 = (!bVar16 && !bVar15) == bVar16;\n              if (bVar15) goto LAB_00139961;\n              lVar10 = 2;\n              pbVar11 = (byte *)p;\n              pbVar12 = &DAT_001448ab;\n              do {\n                if (lVar10 == 0) break;\n                lVar10 = lVar10 + -1;\n                bVar18 = *pbVar11 < *pbVar12;\n                bVar15 = *pbVar11 == *pbVar12;\n                pbVar11 = pbVar11 + (ulong)bVar19 * -2 + 1;\n                pbVar12 = pbVar12 + (ulong)bVar19 * -2 + 1;\n              } while (bVar15);\n              bVar16 = false;\n              bVar15 = (!bVar18 && !bVar15) == bVar18;\n              if (bVar15) goto LAB_00139961;\n              lVar10 = 8;\n              pbVar11 = (byte *)p;\n              pbVar12 = (byte *)"STT_TLS";\n              do {\n                if (lVar10 == 0) break;\n                lVar10 = lVar10 + -1;\n                bVar16 = *pbVar11 < *pbVar12;\n                bVar15 = *pbVar11 == *pbVar12;\n                pbVar11 = pbVar11 + (ulong)bVar19 * -2 + 1;\n                pbVar12 = pbVar12 + (ulong)bVar19 * -2 + 1;\n              } while (bVar15);\n              bVar18 = false;\n              bVar15 = (!bVar16 && !bVar15) == bVar16;\n              if (bVar15) goto LAB_00139961;\n              lVar10 = 7;\n              pbVar11 = (byte *)p;\n              pbVar12 = (byte *)"notype";\n              do {\n                if (lVar10 == 0) break;\n                lVar10 = lVar10 + -1;\n                bVar18 = *pbVar11 < *pbVar12;\n                bVar15 = *pbVar11 == *pbVar12;\n                pbVar11 = pbVar11 + (ulong)bVar19 * -2 + 1;\n                pbVar12 = pbVar12 + (ulong)bVar19 * -2 + 1;\n              } while (bVar15);\n              uVar13 = 0;\n              if ((((!bVar18 && !bVar15) == bVar18) || (iVar5 = strcmp(p,"0"), iVar5 == 0)) ||\n                 (iVar5 = strcmp(pcVar9,"STT_NOTYPE"), iVar5 == 0)) goto LAB_00139961;\n              iVar5 = strcmp(pcVar9,"common");\n              if (((iVar5 != 0) && (iVar5 = strcmp(pcVar9,"5"), iVar5 != 0)) &&\n                 (iVar5 = strcmp(pcVar9,"STT_COMMON"), iVar5 != 0)) {\n                iVar5 = strcmp(pcVar9,"gnu_indirect_function");\n                if (((iVar5 == 0) || (iVar5 = strcmp(pcVar9,"10"), iVar5 == 0)) ||\n                   (iVar5 = strcmp(pcVar9,"STT_GNU_IFUNC"), iVar5 == 0)) {\n                  uVar2 = *(uint *)((long)stdoutput->xvec->backend_data + 0xc);\n                  if ((9 < uVar2) ||\n                     (uVar13 = 0x400008, (0x209UL >> ((ulong)uVar2 & 0x3f) & 1) == 0)) {\n                    uVar13 = 0x400008;\n                    pcVar8 = (char *)dcgettext(0,\n                                               "symbol type \"%s\" is supported only by GNU and FreeBSD targets"\n                                               ,5);\n                    as_bad(pcVar8,pcVar9);\n                  }\n                }\n                else {\n                  iVar5 = strcmp(pcVar9,"gnu_unique_object");\n                  if (iVar5 == 0) {\n                    pvVar3 = stdoutput->xvec->backend_data;\n                    iVar5 = *(int *)((long)pvVar3 + 0xc);\n                    if ((iVar5 != 3) && (iVar5 != 0)) {\n                      pcVar8 = (char *)dcgettext(0,\n                                                 "symbol type \"%s\" is supported only by GNU targets"\n                                                 ,5);\n                      as_bad(pcVar8,pcVar9);\n                    }\n                    *(undefined4 *)((long)pvVar3 + 0xc) = 3;\n                    uVar13 = 0x810000;\n                  }\n                  else {\n                    pcVar8 = (char *)dcgettext(0,"unrecognized symbol type \"%s\"",5);\n                    as_bad(pcVar8,pcVar9);\n                  }\n                }\n                goto LAB_00139961;\n              }\n              iVar5 = S_IS_COMMON(psVar6);\n              if (iVar5 == 0) {\n                iVar5 = S_IS_VOLATILE(psVar6);\n                if (iVar5 != 0) {\n                  uVar13 = 0x10000;\n                  psVar6 = symbol_clone(psVar6,1);\n                  S_SET_SEGMENT(psVar6,(segT)_bfd_std_section);\n                  S_SET_VALUE(psVar6,0);\n                  S_SET_EXTERNAL(psVar6);\n                  symbol_set_frag(psVar6,&zero_address_frag);\n                  S_CLEAR_VOLATILE(psVar6);\n                  goto LAB_00139961;\n                }\n                iVar5 = S_IS_DEFINED(psVar6);\n                if ((iVar5 != 0) || (iVar5 = symbol_equated_p(psVar6), iVar5 != 0)) {\n                  uVar13 = 0x10000;\n                  pcVar9 = S_GET_NAME(psVar6);\n                  pcVar8 = (char *)dcgettext(0,"symbol \'%s\' is already defined",5);\n                  as_bad(pcVar8,pcVar9);\n                  goto LAB_00139961;\n                }\n                S_SET_SEGMENT(psVar6,(segT)_bfd_std_section);\n                S_SET_VALUE(psVar6,0);\n                S_SET_EXTERNAL(psVar6);\n              }\n            }\n          }\n        }" { (expression_statement "lVar10 = 2;" (assignment_expression "lVar10 = 2" identifier = number_literal) ;) (expression_statement "pbVar11 = (byte *)p;" (assignment_expression "pbVar11 = (byte *)p" identifier = (cast_expression "(byte *)p" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "pbVar12 = (byte *)0x13f34c;" (assignment_expression "pbVar12 = (byte *)0x13f34c" identifier = (cast_expression "(byte *)0x13f34c" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (do_statement "do {\n            if (lVar10 == 0) break;\n            lVar10 = lVar10 + -1;\n            bVar16 = *pbVar11 < *pbVar12;\n            bVar15 = *pbVar11 == *pbVar12;\n            pbVar11 = pbVar11 + (ulong)bVar19 * -2 + 1;\n            pbVar12 = pbVar12 + (ulong)bVar19 * -2 + 1;\n          } while (bVar15);" do (compound_statement "{\n            if (lVar10 == 0) break;\n            lVar10 = lVar10 + -1;\n            bVar16 = *pbVar11 < *pbVar12;\n            bVar15 = *pbVar11 == *pbVar12;\n            pbVar11 = pbVar11 + (ulong)bVar19 * -2 + 1;\n            pbVar12 = pbVar12 + (ulong)bVar19 * -2 + 1;\n          }" { (if_statement "if (lVar10 == 0) break;" if (parenthesized_expression "(lVar10 == 0)" ( (binary_expression "lVar10 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "lVar10 = lVar10 + -1;" (assignment_expression "lVar10 = lVar10 + -1" identifier = (binary_expression "lVar10 + -1" identifier + number_literal)) ;) (expression_statement "bVar16 = *pbVar11 < *pbVar12;" (assignment_expression "bVar16 = *pbVar11 < *pbVar12" identifier = (binary_expression "*pbVar11 < *pbVar12" (pointer_expression "*pbVar11" * identifier) < (pointer_expression "*pbVar12" * identifier))) ;) (expression_statement "bVar15 = *pbVar11 == *pbVar12;" (assignment_expression "bVar15 = *pbVar11 == *pbVar12" identifier = (binary_expression "*pbVar11 == *pbVar12" (pointer_expression "*pbVar11" * identifier) == (pointer_expression "*pbVar12" * identifier))) ;) (expression_statement "pbVar11 = pbVar11 + (ulong)bVar19 * -2 + 1;" (assignment_expression "pbVar11 = pbVar11 + (ulong)bVar19 * -2 + 1" identifier = (binary_expression "pbVar11 + (ulong)bVar19 * -2 + 1" (binary_expression "pbVar11 + (ulong)bVar19 * -2" identifier + (binary_expression "(ulong)bVar19 * -2" (cast_expression "(ulong)bVar19" ( (type_descriptor "ulong" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) (expression_statement "pbVar12 = pbVar12 + (ulong)bVar19 * -2 + 1;" (assignment_expression "pbVar12 = pbVar12 + (ulong)bVar19 * -2 + 1" identifier = (binary_expression "pbVar12 + (ulong)bVar19 * -2 + 1" (binary_expression "pbVar12 + (ulong)bVar19 * -2" identifier + (binary_expression "(ulong)bVar19 * -2" (cast_expression "(ulong)bVar19" ( (type_descriptor "ulong" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) }) while (parenthesized_expression "(bVar15)" ( identifier )) ;) (expression_statement "bVar18 = false;" (assignment_expression "bVar18 = false" identifier = false) ;) (expression_statement "bVar15 = (!bVar16 && !bVar15) == bVar16;" (assignment_expression "bVar15 = (!bVar16 && !bVar15) == bVar16" identifier = (binary_expression "(!bVar16 && !bVar15) == bVar16" (parenthesized_expression "(!bVar16 && !bVar15)" ( (binary_expression "!bVar16 && !bVar15" (unary_expression "!bVar16" ! identifier) && (unary_expression "!bVar15" ! identifier)) )) == identifier)) ;) (if_statement "if (!bVar15) {\n            lVar10 = 0xb;\n            pbVar11 = (byte *)p;\n            pbVar12 = (byte *)"STT_OBJECT";\n            do {\n              if (lVar10 == 0) break;\n              lVar10 = lVar10 + -1;\n              bVar18 = *pbVar11 < *pbVar12;\n              bVar15 = *pbVar11 == *pbVar12;\n              pbVar11 = pbVar11 + (ulong)bVar19 * -2 + 1;\n              pbVar12 = pbVar12 + (ulong)bVar19 * -2 + 1;\n            } while (bVar15);\n            bVar16 = false;\n            bVar15 = (!bVar18 && !bVar15) == bVar18;\n            if (!bVar15) {\n              lVar10 = 0xb;\n              uVar13 = 0x50000;\n              pbVar11 = (byte *)p;\n              pbVar12 = (byte *)"tls_object";\n              do {\n                if (lVar10 == 0) break;\n                lVar10 = lVar10 + -1;\n                bVar16 = *pbVar11 < *pbVar12;\n                bVar15 = *pbVar11 == *pbVar12;\n                pbVar11 = pbVar11 + (ulong)bVar19 * -2 + 1;\n                pbVar12 = pbVar12 + (ulong)bVar19 * -2 + 1;\n              } while (bVar15);\n              bVar18 = false;\n              bVar15 = (!bVar16 && !bVar15) == bVar16;\n              if (bVar15) goto LAB_00139961;\n              lVar10 = 2;\n              pbVar11 = (byte *)p;\n              pbVar12 = &DAT_001448ab;\n              do {\n                if (lVar10 == 0) break;\n                lVar10 = lVar10 + -1;\n                bVar18 = *pbVar11 < *pbVar12;\n                bVar15 = *pbVar11 == *pbVar12;\n                pbVar11 = pbVar11 + (ulong)bVar19 * -2 + 1;\n                pbVar12 = pbVar12 + (ulong)bVar19 * -2 + 1;\n              } while (bVar15);\n              bVar16 = false;\n              bVar15 = (!bVar18 && !bVar15) == bVar18;\n              if (bVar15) goto LAB_00139961;\n              lVar10 = 8;\n              pbVar11 = (byte *)p;\n              pbVar12 = (byte *)"STT_TLS";\n              do {\n                if (lVar10 == 0) break;\n                lVar10 = lVar10 + -1;\n                bVar16 = *pbVar11 < *pbVar12;\n                bVar15 = *pbVar11 == *pbVar12;\n                pbVar11 = pbVar11 + (ulong)bVar19 * -2 + 1;\n                pbVar12 = pbVar12 + (ulong)bVar19 * -2 + 1;\n              } while (bVar15);\n              bVar18 = false;\n              bVar15 = (!bVar16 && !bVar15) == bVar16;\n              if (bVar15) goto LAB_00139961;\n              lVar10 = 7;\n              pbVar11 = (byte *)p;\n              pbVar12 = (byte *)"notype";\n              do {\n                if (lVar10 == 0) break;\n                lVar10 = lVar10 + -1;\n                bVar18 = *pbVar11 < *pbVar12;\n                bVar15 = *pbVar11 == *pbVar12;\n                pbVar11 = pbVar11 + (ulong)bVar19 * -2 + 1;\n                pbVar12 = pbVar12 + (ulong)bVar19 * -2 + 1;\n              } while (bVar15);\n              uVar13 = 0;\n              if ((((!bVar18 && !bVar15) == bVar18) || (iVar5 = strcmp(p,"0"), iVar5 == 0)) ||\n                 (iVar5 = strcmp(pcVar9,"STT_NOTYPE"), iVar5 == 0)) goto LAB_00139961;\n              iVar5 = strcmp(pcVar9,"common");\n              if (((iVar5 != 0) && (iVar5 = strcmp(pcVar9,"5"), iVar5 != 0)) &&\n                 (iVar5 = strcmp(pcVar9,"STT_COMMON"), iVar5 != 0)) {\n                iVar5 = strcmp(pcVar9,"gnu_indirect_function");\n                if (((iVar5 == 0) || (iVar5 = strcmp(pcVar9,"10"), iVar5 == 0)) ||\n                   (iVar5 = strcmp(pcVar9,"STT_GNU_IFUNC"), iVar5 == 0)) {\n                  uVar2 = *(uint *)((long)stdoutput->xvec->backend_data + 0xc);\n                  if ((9 < uVar2) ||\n                     (uVar13 = 0x400008, (0x209UL >> ((ulong)uVar2 & 0x3f) & 1) == 0)) {\n                    uVar13 = 0x400008;\n                    pcVar8 = (char *)dcgettext(0,\n                                               "symbol type \"%s\" is supported only by GNU and FreeBSD targets"\n                                               ,5);\n                    as_bad(pcVar8,pcVar9);\n                  }\n                }\n                else {\n                  iVar5 = strcmp(pcVar9,"gnu_unique_object");\n                  if (iVar5 == 0) {\n                    pvVar3 = stdoutput->xvec->backend_data;\n                    iVar5 = *(int *)((long)pvVar3 + 0xc);\n                    if ((iVar5 != 3) && (iVar5 != 0)) {\n                      pcVar8 = (char *)dcgettext(0,\n                                                 "symbol type \"%s\" is supported only by GNU targets"\n                                                 ,5);\n                      as_bad(pcVar8,pcVar9);\n                    }\n                    *(undefined4 *)((long)pvVar3 + 0xc) = 3;\n                    uVar13 = 0x810000;\n                  }\n                  else {\n                    pcVar8 = (char *)dcgettext(0,"unrecognized symbol type \"%s\"",5);\n                    as_bad(pcVar8,pcVar9);\n                  }\n                }\n                goto LAB_00139961;\n              }\n              iVar5 = S_IS_COMMON(psVar6);\n              if (iVar5 == 0) {\n                iVar5 = S_IS_VOLATILE(psVar6);\n                if (iVar5 != 0) {\n                  uVar13 = 0x10000;\n                  psVar6 = symbol_clone(psVar6,1);\n                  S_SET_SEGMENT(psVar6,(segT)_bfd_std_section);\n                  S_SET_VALUE(psVar6,0);\n                  S_SET_EXTERNAL(psVar6);\n                  symbol_set_frag(psVar6,&zero_address_frag);\n                  S_CLEAR_VOLATILE(psVar6);\n                  goto LAB_00139961;\n                }\n                iVar5 = S_IS_DEFINED(psVar6);\n                if ((iVar5 != 0) || (iVar5 = symbol_equated_p(psVar6), iVar5 != 0)) {\n                  uVar13 = 0x10000;\n                  pcVar9 = S_GET_NAME(psVar6);\n                  pcVar8 = (char *)dcgettext(0,"symbol \'%s\' is already defined",5);\n                  as_bad(pcVar8,pcVar9);\n                  goto LAB_00139961;\n                }\n                S_SET_SEGMENT(psVar6,(segT)_bfd_std_section);\n                S_SET_VALUE(psVar6,0);\n                S_SET_EXTERNAL(psVar6);\n              }\n            }\n          }" if (parenthesized_expression "(!bVar15)" ( (unary_expression "!bVar15" ! identifier) )) (compound_statement "{\n            lVar10 = 0xb;\n            pbVar11 = (byte *)p;\n            pbVar12 = (byte *)"STT_OBJECT";\n            do {\n              if (lVar10 == 0) break;\n              lVar10 = lVar10 + -1;\n              bVar18 = *pbVar11 < *pbVar12;\n              bVar15 = *pbVar11 == *pbVar12;\n              pbVar11 = pbVar11 + (ulong)bVar19 * -2 + 1;\n              pbVar12 = pbVar12 + (ulong)bVar19 * -2 + 1;\n            } while (bVar15);\n            bVar16 = false;\n            bVar15 = (!bVar18 && !bVar15) == bVar18;\n            if (!bVar15) {\n              lVar10 = 0xb;\n              uVar13 = 0x50000;\n              pbVar11 = (byte *)p;\n              pbVar12 = (byte *)"tls_object";\n              do {\n                if (lVar10 == 0) break;\n                lVar10 = lVar10 + -1;\n                bVar16 = *pbVar11 < *pbVar12;\n                bVar15 = *pbVar11 == *pbVar12;\n                pbVar11 = pbVar11 + (ulong)bVar19 * -2 + 1;\n                pbVar12 = pbVar12 + (ulong)bVar19 * -2 + 1;\n              } while (bVar15);\n              bVar18 = false;\n              bVar15 = (!bVar16 && !bVar15) == bVar16;\n              if (bVar15) goto LAB_00139961;\n              lVar10 = 2;\n              pbVar11 = (byte *)p;\n              pbVar12 = &DAT_001448ab;\n              do {\n                if (lVar10 == 0) break;\n                lVar10 = lVar10 + -1;\n                bVar18 = *pbVar11 < *pbVar12;\n                bVar15 = *pbVar11 == *pbVar12;\n                pbVar11 = pbVar11 + (ulong)bVar19 * -2 + 1;\n                pbVar12 = pbVar12 + (ulong)bVar19 * -2 + 1;\n              } while (bVar15);\n              bVar16 = false;\n              bVar15 = (!bVar18 && !bVar15) == bVar18;\n              if (bVar15) goto LAB_00139961;\n              lVar10 = 8;\n              pbVar11 = (byte *)p;\n              pbVar12 = (byte *)"STT_TLS";\n              do {\n                if (lVar10 == 0) break;\n                lVar10 = lVar10 + -1;\n                bVar16 = *pbVar11 < *pbVar12;\n                bVar15 = *pbVar11 == *pbVar12;\n                pbVar11 = pbVar11 + (ulong)bVar19 * -2 + 1;\n                pbVar12 = pbVar12 + (ulong)bVar19 * -2 + 1;\n              } while (bVar15);\n              bVar18 = false;\n              bVar15 = (!bVar16 && !bVar15) == bVar16;\n              if (bVar15) goto LAB_00139961;\n              lVar10 = 7;\n              pbVar11 = (byte *)p;\n              pbVar12 = (byte *)"notype";\n              do {\n                if (lVar10 == 0) break;\n                lVar10 = lVar10 + -1;\n                bVar18 = *pbVar11 < *pbVar12;\n                bVar15 = *pbVar11 == *pbVar12;\n                pbVar11 = pbVar11 + (ulong)bVar19 * -2 + 1;\n                pbVar12 = pbVar12 + (ulong)bVar19 * -2 + 1;\n              } while (bVar15);\n              uVar13 = 0;\n              if ((((!bVar18 && !bVar15) == bVar18) || (iVar5 = strcmp(p,"0"), iVar5 == 0)) ||\n                 (iVar5 = strcmp(pcVar9,"STT_NOTYPE"), iVar5 == 0)) goto LAB_00139961;\n              iVar5 = strcmp(pcVar9,"common");\n              if (((iVar5 != 0) && (iVar5 = strcmp(pcVar9,"5"), iVar5 != 0)) &&\n                 (iVar5 = strcmp(pcVar9,"STT_COMMON"), iVar5 != 0)) {\n                iVar5 = strcmp(pcVar9,"gnu_indirect_function");\n                if (((iVar5 == 0) || (iVar5 = strcmp(pcVar9,"10"), iVar5 == 0)) ||\n                   (iVar5 = strcmp(pcVar9,"STT_GNU_IFUNC"), iVar5 == 0)) {\n                  uVar2 = *(uint *)((long)stdoutput->xvec->backend_data + 0xc);\n                  if ((9 < uVar2) ||\n                     (uVar13 = 0x400008, (0x209UL >> ((ulong)uVar2 & 0x3f) & 1) == 0)) {\n                    uVar13 = 0x400008;\n                    pcVar8 = (char *)dcgettext(0,\n                                               "symbol type \"%s\" is supported only by GNU and FreeBSD targets"\n                                               ,5);\n                    as_bad(pcVar8,pcVar9);\n                  }\n                }\n                else {\n                  iVar5 = strcmp(pcVar9,"gnu_unique_object");\n                  if (iVar5 == 0) {\n                    pvVar3 = stdoutput->xvec->backend_data;\n                    iVar5 = *(int *)((long)pvVar3 + 0xc);\n                    if ((iVar5 != 3) && (iVar5 != 0)) {\n                      pcVar8 = (char *)dcgettext(0,\n                                                 "symbol type \"%s\" is supported only by GNU targets"\n                                                 ,5);\n                      as_bad(pcVar8,pcVar9);\n                    }\n                    *(undefined4 *)((long)pvVar3 + 0xc) = 3;\n                    uVar13 = 0x810000;\n                  }\n                  else {\n                    pcVar8 = (char *)dcgettext(0,"unrecognized symbol type \"%s\"",5);\n                    as_bad(pcVar8,pcVar9);\n                  }\n                }\n                goto LAB_00139961;\n              }\n              iVar5 = S_IS_COMMON(psVar6);\n              if (iVar5 == 0) {\n                iVar5 = S_IS_VOLATILE(psVar6);\n                if (iVar5 != 0) {\n                  uVar13 = 0x10000;\n                  psVar6 = symbol_clone(psVar6,1);\n                  S_SET_SEGMENT(psVar6,(segT)_bfd_std_section);\n                  S_SET_VALUE(psVar6,0);\n                  S_SET_EXTERNAL(psVar6);\n                  symbol_set_frag(psVar6,&zero_address_frag);\n                  S_CLEAR_VOLATILE(psVar6);\n                  goto LAB_00139961;\n                }\n                iVar5 = S_IS_DEFINED(psVar6);\n                if ((iVar5 != 0) || (iVar5 = symbol_equated_p(psVar6), iVar5 != 0)) {\n                  uVar13 = 0x10000;\n                  pcVar9 = S_GET_NAME(psVar6);\n                  pcVar8 = (char *)dcgettext(0,"symbol \'%s\' is already defined",5);\n                  as_bad(pcVar8,pcVar9);\n                  goto LAB_00139961;\n                }\n                S_SET_SEGMENT(psVar6,(segT)_bfd_std_section);\n                S_SET_VALUE(psVar6,0);\n                S_SET_EXTERNAL(psVar6);\n              }\n            }\n          }" { (expression_statement "lVar10 = 0xb;" (assignment_expression "lVar10 = 0xb" identifier = number_literal) ;) (expression_statement "pbVar11 = (byte *)p;" (assignment_expression "pbVar11 = (byte *)p" identifier = (cast_expression "(byte *)p" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "pbVar12 = (byte *)"STT_OBJECT";" (assignment_expression "pbVar12 = (byte *)"STT_OBJECT"" identifier = (cast_expression "(byte *)"STT_OBJECT"" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (string_literal ""STT_OBJECT"" " string_content "))) ;) (do_statement "do {\n              if (lVar10 == 0) break;\n              lVar10 = lVar10 + -1;\n              bVar18 = *pbVar11 < *pbVar12;\n              bVar15 = *pbVar11 == *pbVar12;\n              pbVar11 = pbVar11 + (ulong)bVar19 * -2 + 1;\n              pbVar12 = pbVar12 + (ulong)bVar19 * -2 + 1;\n            } while (bVar15);" do (compound_statement "{\n              if (lVar10 == 0) break;\n              lVar10 = lVar10 + -1;\n              bVar18 = *pbVar11 < *pbVar12;\n              bVar15 = *pbVar11 == *pbVar12;\n              pbVar11 = pbVar11 + (ulong)bVar19 * -2 + 1;\n              pbVar12 = pbVar12 + (ulong)bVar19 * -2 + 1;\n            }" { (if_statement "if (lVar10 == 0) break;" if (parenthesized_expression "(lVar10 == 0)" ( (binary_expression "lVar10 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "lVar10 = lVar10 + -1;" (assignment_expression "lVar10 = lVar10 + -1" identifier = (binary_expression "lVar10 + -1" identifier + number_literal)) ;) (expression_statement "bVar18 = *pbVar11 < *pbVar12;" (assignment_expression "bVar18 = *pbVar11 < *pbVar12" identifier = (binary_expression "*pbVar11 < *pbVar12" (pointer_expression "*pbVar11" * identifier) < (pointer_expression "*pbVar12" * identifier))) ;) (expression_statement "bVar15 = *pbVar11 == *pbVar12;" (assignment_expression "bVar15 = *pbVar11 == *pbVar12" identifier = (binary_expression "*pbVar11 == *pbVar12" (pointer_expression "*pbVar11" * identifier) == (pointer_expression "*pbVar12" * identifier))) ;) (expression_statement "pbVar11 = pbVar11 + (ulong)bVar19 * -2 + 1;" (assignment_expression "pbVar11 = pbVar11 + (ulong)bVar19 * -2 + 1" identifier = (binary_expression "pbVar11 + (ulong)bVar19 * -2 + 1" (binary_expression "pbVar11 + (ulong)bVar19 * -2" identifier + (binary_expression "(ulong)bVar19 * -2" (cast_expression "(ulong)bVar19" ( (type_descriptor "ulong" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) (expression_statement "pbVar12 = pbVar12 + (ulong)bVar19 * -2 + 1;" (assignment_expression "pbVar12 = pbVar12 + (ulong)bVar19 * -2 + 1" identifier = (binary_expression "pbVar12 + (ulong)bVar19 * -2 + 1" (binary_expression "pbVar12 + (ulong)bVar19 * -2" identifier + (binary_expression "(ulong)bVar19 * -2" (cast_expression "(ulong)bVar19" ( (type_descriptor "ulong" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) }) while (parenthesized_expression "(bVar15)" ( identifier )) ;) (expression_statement "bVar16 = false;" (assignment_expression "bVar16 = false" identifier = false) ;) (expression_statement "bVar15 = (!bVar18 && !bVar15) == bVar18;" (assignment_expression "bVar15 = (!bVar18 && !bVar15) == bVar18" identifier = (binary_expression "(!bVar18 && !bVar15) == bVar18" (parenthesized_expression "(!bVar18 && !bVar15)" ( (binary_expression "!bVar18 && !bVar15" (unary_expression "!bVar18" ! identifier) && (unary_expression "!bVar15" ! identifier)) )) == identifier)) ;) (if_statement "if (!bVar15) {\n              lVar10 = 0xb;\n              uVar13 = 0x50000;\n              pbVar11 = (byte *)p;\n              pbVar12 = (byte *)"tls_object";\n              do {\n                if (lVar10 == 0) break;\n                lVar10 = lVar10 + -1;\n                bVar16 = *pbVar11 < *pbVar12;\n                bVar15 = *pbVar11 == *pbVar12;\n                pbVar11 = pbVar11 + (ulong)bVar19 * -2 + 1;\n                pbVar12 = pbVar12 + (ulong)bVar19 * -2 + 1;\n              } while (bVar15);\n              bVar18 = false;\n              bVar15 = (!bVar16 && !bVar15) == bVar16;\n              if (bVar15) goto LAB_00139961;\n              lVar10 = 2;\n              pbVar11 = (byte *)p;\n              pbVar12 = &DAT_001448ab;\n              do {\n                if (lVar10 == 0) break;\n                lVar10 = lVar10 + -1;\n                bVar18 = *pbVar11 < *pbVar12;\n                bVar15 = *pbVar11 == *pbVar12;\n                pbVar11 = pbVar11 + (ulong)bVar19 * -2 + 1;\n                pbVar12 = pbVar12 + (ulong)bVar19 * -2 + 1;\n              } while (bVar15);\n              bVar16 = false;\n              bVar15 = (!bVar18 && !bVar15) == bVar18;\n              if (bVar15) goto LAB_00139961;\n              lVar10 = 8;\n              pbVar11 = (byte *)p;\n              pbVar12 = (byte *)"STT_TLS";\n              do {\n                if (lVar10 == 0) break;\n                lVar10 = lVar10 + -1;\n                bVar16 = *pbVar11 < *pbVar12;\n                bVar15 = *pbVar11 == *pbVar12;\n                pbVar11 = pbVar11 + (ulong)bVar19 * -2 + 1;\n                pbVar12 = pbVar12 + (ulong)bVar19 * -2 + 1;\n              } while (bVar15);\n              bVar18 = false;\n              bVar15 = (!bVar16 && !bVar15) == bVar16;\n              if (bVar15) goto LAB_00139961;\n              lVar10 = 7;\n              pbVar11 = (byte *)p;\n              pbVar12 = (byte *)"notype";\n              do {\n                if (lVar10 == 0) break;\n                lVar10 = lVar10 + -1;\n                bVar18 = *pbVar11 < *pbVar12;\n                bVar15 = *pbVar11 == *pbVar12;\n                pbVar11 = pbVar11 + (ulong)bVar19 * -2 + 1;\n                pbVar12 = pbVar12 + (ulong)bVar19 * -2 + 1;\n              } while (bVar15);\n              uVar13 = 0;\n              if ((((!bVar18 && !bVar15) == bVar18) || (iVar5 = strcmp(p,"0"), iVar5 == 0)) ||\n                 (iVar5 = strcmp(pcVar9,"STT_NOTYPE"), iVar5 == 0)) goto LAB_00139961;\n              iVar5 = strcmp(pcVar9,"common");\n              if (((iVar5 != 0) && (iVar5 = strcmp(pcVar9,"5"), iVar5 != 0)) &&\n                 (iVar5 = strcmp(pcVar9,"STT_COMMON"), iVar5 != 0)) {\n                iVar5 = strcmp(pcVar9,"gnu_indirect_function");\n                if (((iVar5 == 0) || (iVar5 = strcmp(pcVar9,"10"), iVar5 == 0)) ||\n                   (iVar5 = strcmp(pcVar9,"STT_GNU_IFUNC"), iVar5 == 0)) {\n                  uVar2 = *(uint *)((long)stdoutput->xvec->backend_data + 0xc);\n                  if ((9 < uVar2) ||\n                     (uVar13 = 0x400008, (0x209UL >> ((ulong)uVar2 & 0x3f) & 1) == 0)) {\n                    uVar13 = 0x400008;\n                    pcVar8 = (char *)dcgettext(0,\n                                               "symbol type \"%s\" is supported only by GNU and FreeBSD targets"\n                                               ,5);\n                    as_bad(pcVar8,pcVar9);\n                  }\n                }\n                else {\n                  iVar5 = strcmp(pcVar9,"gnu_unique_object");\n                  if (iVar5 == 0) {\n                    pvVar3 = stdoutput->xvec->backend_data;\n                    iVar5 = *(int *)((long)pvVar3 + 0xc);\n                    if ((iVar5 != 3) && (iVar5 != 0)) {\n                      pcVar8 = (char *)dcgettext(0,\n                                                 "symbol type \"%s\" is supported only by GNU targets"\n                                                 ,5);\n                      as_bad(pcVar8,pcVar9);\n                    }\n                    *(undefined4 *)((long)pvVar3 + 0xc) = 3;\n                    uVar13 = 0x810000;\n                  }\n                  else {\n                    pcVar8 = (char *)dcgettext(0,"unrecognized symbol type \"%s\"",5);\n                    as_bad(pcVar8,pcVar9);\n                  }\n                }\n                goto LAB_00139961;\n              }\n              iVar5 = S_IS_COMMON(psVar6);\n              if (iVar5 == 0) {\n                iVar5 = S_IS_VOLATILE(psVar6);\n                if (iVar5 != 0) {\n                  uVar13 = 0x10000;\n                  psVar6 = symbol_clone(psVar6,1);\n                  S_SET_SEGMENT(psVar6,(segT)_bfd_std_section);\n                  S_SET_VALUE(psVar6,0);\n                  S_SET_EXTERNAL(psVar6);\n                  symbol_set_frag(psVar6,&zero_address_frag);\n                  S_CLEAR_VOLATILE(psVar6);\n                  goto LAB_00139961;\n                }\n                iVar5 = S_IS_DEFINED(psVar6);\n                if ((iVar5 != 0) || (iVar5 = symbol_equated_p(psVar6), iVar5 != 0)) {\n                  uVar13 = 0x10000;\n                  pcVar9 = S_GET_NAME(psVar6);\n                  pcVar8 = (char *)dcgettext(0,"symbol \'%s\' is already defined",5);\n                  as_bad(pcVar8,pcVar9);\n                  goto LAB_00139961;\n                }\n                S_SET_SEGMENT(psVar6,(segT)_bfd_std_section);\n                S_SET_VALUE(psVar6,0);\n                S_SET_EXTERNAL(psVar6);\n              }\n            }" if (parenthesized_expression "(!bVar15)" ( (unary_expression "!bVar15" ! identifier) )) (compound_statement "{\n              lVar10 = 0xb;\n              uVar13 = 0x50000;\n              pbVar11 = (byte *)p;\n              pbVar12 = (byte *)"tls_object";\n              do {\n                if (lVar10 == 0) break;\n                lVar10 = lVar10 + -1;\n                bVar16 = *pbVar11 < *pbVar12;\n                bVar15 = *pbVar11 == *pbVar12;\n                pbVar11 = pbVar11 + (ulong)bVar19 * -2 + 1;\n                pbVar12 = pbVar12 + (ulong)bVar19 * -2 + 1;\n              } while (bVar15);\n              bVar18 = false;\n              bVar15 = (!bVar16 && !bVar15) == bVar16;\n              if (bVar15) goto LAB_00139961;\n              lVar10 = 2;\n              pbVar11 = (byte *)p;\n              pbVar12 = &DAT_001448ab;\n              do {\n                if (lVar10 == 0) break;\n                lVar10 = lVar10 + -1;\n                bVar18 = *pbVar11 < *pbVar12;\n                bVar15 = *pbVar11 == *pbVar12;\n                pbVar11 = pbVar11 + (ulong)bVar19 * -2 + 1;\n                pbVar12 = pbVar12 + (ulong)bVar19 * -2 + 1;\n              } while (bVar15);\n              bVar16 = false;\n              bVar15 = (!bVar18 && !bVar15) == bVar18;\n              if (bVar15) goto LAB_00139961;\n              lVar10 = 8;\n              pbVar11 = (byte *)p;\n              pbVar12 = (byte *)"STT_TLS";\n              do {\n                if (lVar10 == 0) break;\n                lVar10 = lVar10 + -1;\n                bVar16 = *pbVar11 < *pbVar12;\n                bVar15 = *pbVar11 == *pbVar12;\n                pbVar11 = pbVar11 + (ulong)bVar19 * -2 + 1;\n                pbVar12 = pbVar12 + (ulong)bVar19 * -2 + 1;\n              } while (bVar15);\n              bVar18 = false;\n              bVar15 = (!bVar16 && !bVar15) == bVar16;\n              if (bVar15) goto LAB_00139961;\n              lVar10 = 7;\n              pbVar11 = (byte *)p;\n              pbVar12 = (byte *)"notype";\n              do {\n                if (lVar10 == 0) break;\n                lVar10 = lVar10 + -1;\n                bVar18 = *pbVar11 < *pbVar12;\n                bVar15 = *pbVar11 == *pbVar12;\n                pbVar11 = pbVar11 + (ulong)bVar19 * -2 + 1;\n                pbVar12 = pbVar12 + (ulong)bVar19 * -2 + 1;\n              } while (bVar15);\n              uVar13 = 0;\n              if ((((!bVar18 && !bVar15) == bVar18) || (iVar5 = strcmp(p,"0"), iVar5 == 0)) ||\n                 (iVar5 = strcmp(pcVar9,"STT_NOTYPE"), iVar5 == 0)) goto LAB_00139961;\n              iVar5 = strcmp(pcVar9,"common");\n              if (((iVar5 != 0) && (iVar5 = strcmp(pcVar9,"5"), iVar5 != 0)) &&\n                 (iVar5 = strcmp(pcVar9,"STT_COMMON"), iVar5 != 0)) {\n                iVar5 = strcmp(pcVar9,"gnu_indirect_function");\n                if (((iVar5 == 0) || (iVar5 = strcmp(pcVar9,"10"), iVar5 == 0)) ||\n                   (iVar5 = strcmp(pcVar9,"STT_GNU_IFUNC"), iVar5 == 0)) {\n                  uVar2 = *(uint *)((long)stdoutput->xvec->backend_data + 0xc);\n                  if ((9 < uVar2) ||\n                     (uVar13 = 0x400008, (0x209UL >> ((ulong)uVar2 & 0x3f) & 1) == 0)) {\n                    uVar13 = 0x400008;\n                    pcVar8 = (char *)dcgettext(0,\n                                               "symbol type \"%s\" is supported only by GNU and FreeBSD targets"\n                                               ,5);\n                    as_bad(pcVar8,pcVar9);\n                  }\n                }\n                else {\n                  iVar5 = strcmp(pcVar9,"gnu_unique_object");\n                  if (iVar5 == 0) {\n                    pvVar3 = stdoutput->xvec->backend_data;\n                    iVar5 = *(int *)((long)pvVar3 + 0xc);\n                    if ((iVar5 != 3) && (iVar5 != 0)) {\n                      pcVar8 = (char *)dcgettext(0,\n                                                 "symbol type \"%s\" is supported only by GNU targets"\n                                                 ,5);\n                      as_bad(pcVar8,pcVar9);\n                    }\n                    *(undefined4 *)((long)pvVar3 + 0xc) = 3;\n                    uVar13 = 0x810000;\n                  }\n                  else {\n                    pcVar8 = (char *)dcgettext(0,"unrecognized symbol type \"%s\"",5);\n                    as_bad(pcVar8,pcVar9);\n                  }\n                }\n                goto LAB_00139961;\n              }\n              iVar5 = S_IS_COMMON(psVar6);\n              if (iVar5 == 0) {\n                iVar5 = S_IS_VOLATILE(psVar6);\n                if (iVar5 != 0) {\n                  uVar13 = 0x10000;\n                  psVar6 = symbol_clone(psVar6,1);\n                  S_SET_SEGMENT(psVar6,(segT)_bfd_std_section);\n                  S_SET_VALUE(psVar6,0);\n                  S_SET_EXTERNAL(psVar6);\n                  symbol_set_frag(psVar6,&zero_address_frag);\n                  S_CLEAR_VOLATILE(psVar6);\n                  goto LAB_00139961;\n                }\n                iVar5 = S_IS_DEFINED(psVar6);\n                if ((iVar5 != 0) || (iVar5 = symbol_equated_p(psVar6), iVar5 != 0)) {\n                  uVar13 = 0x10000;\n                  pcVar9 = S_GET_NAME(psVar6);\n                  pcVar8 = (char *)dcgettext(0,"symbol \'%s\' is already defined",5);\n                  as_bad(pcVar8,pcVar9);\n                  goto LAB_00139961;\n                }\n                S_SET_SEGMENT(psVar6,(segT)_bfd_std_section);\n                S_SET_VALUE(psVar6,0);\n                S_SET_EXTERNAL(psVar6);\n              }\n            }" { (expression_statement "lVar10 = 0xb;" (assignment_expression "lVar10 = 0xb" identifier = number_literal) ;) (expression_statement "uVar13 = 0x50000;" (assignment_expression "uVar13 = 0x50000" identifier = number_literal) ;) (expression_statement "pbVar11 = (byte *)p;" (assignment_expression "pbVar11 = (byte *)p" identifier = (cast_expression "(byte *)p" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "pbVar12 = (byte *)"tls_object";" (assignment_expression "pbVar12 = (byte *)"tls_object"" identifier = (cast_expression "(byte *)"tls_object"" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (string_literal ""tls_object"" " string_content "))) ;) (do_statement "do {\n                if (lVar10 == 0) break;\n                lVar10 = lVar10 + -1;\n                bVar16 = *pbVar11 < *pbVar12;\n                bVar15 = *pbVar11 == *pbVar12;\n                pbVar11 = pbVar11 + (ulong)bVar19 * -2 + 1;\n                pbVar12 = pbVar12 + (ulong)bVar19 * -2 + 1;\n              } while (bVar15);" do (compound_statement "{\n                if (lVar10 == 0) break;\n                lVar10 = lVar10 + -1;\n                bVar16 = *pbVar11 < *pbVar12;\n                bVar15 = *pbVar11 == *pbVar12;\n                pbVar11 = pbVar11 + (ulong)bVar19 * -2 + 1;\n                pbVar12 = pbVar12 + (ulong)bVar19 * -2 + 1;\n              }" { (if_statement "if (lVar10 == 0) break;" if (parenthesized_expression "(lVar10 == 0)" ( (binary_expression "lVar10 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "lVar10 = lVar10 + -1;" (assignment_expression "lVar10 = lVar10 + -1" identifier = (binary_expression "lVar10 + -1" identifier + number_literal)) ;) (expression_statement "bVar16 = *pbVar11 < *pbVar12;" (assignment_expression "bVar16 = *pbVar11 < *pbVar12" identifier = (binary_expression "*pbVar11 < *pbVar12" (pointer_expression "*pbVar11" * identifier) < (pointer_expression "*pbVar12" * identifier))) ;) (expression_statement "bVar15 = *pbVar11 == *pbVar12;" (assignment_expression "bVar15 = *pbVar11 == *pbVar12" identifier = (binary_expression "*pbVar11 == *pbVar12" (pointer_expression "*pbVar11" * identifier) == (pointer_expression "*pbVar12" * identifier))) ;) (expression_statement "pbVar11 = pbVar11 + (ulong)bVar19 * -2 + 1;" (assignment_expression "pbVar11 = pbVar11 + (ulong)bVar19 * -2 + 1" identifier = (binary_expression "pbVar11 + (ulong)bVar19 * -2 + 1" (binary_expression "pbVar11 + (ulong)bVar19 * -2" identifier + (binary_expression "(ulong)bVar19 * -2" (cast_expression "(ulong)bVar19" ( (type_descriptor "ulong" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) (expression_statement "pbVar12 = pbVar12 + (ulong)bVar19 * -2 + 1;" (assignment_expression "pbVar12 = pbVar12 + (ulong)bVar19 * -2 + 1" identifier = (binary_expression "pbVar12 + (ulong)bVar19 * -2 + 1" (binary_expression "pbVar12 + (ulong)bVar19 * -2" identifier + (binary_expression "(ulong)bVar19 * -2" (cast_expression "(ulong)bVar19" ( (type_descriptor "ulong" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) }) while (parenthesized_expression "(bVar15)" ( identifier )) ;) (expression_statement "bVar18 = false;" (assignment_expression "bVar18 = false" identifier = false) ;) (expression_statement "bVar15 = (!bVar16 && !bVar15) == bVar16;" (assignment_expression "bVar15 = (!bVar16 && !bVar15) == bVar16" identifier = (binary_expression "(!bVar16 && !bVar15) == bVar16" (parenthesized_expression "(!bVar16 && !bVar15)" ( (binary_expression "!bVar16 && !bVar15" (unary_expression "!bVar16" ! identifier) && (unary_expression "!bVar15" ! identifier)) )) == identifier)) ;) (if_statement "if (bVar15) goto LAB_00139961;" if (parenthesized_expression "(bVar15)" ( identifier )) (goto_statement "goto LAB_00139961;" goto statement_identifier ;)) (expression_statement "lVar10 = 2;" (assignment_expression "lVar10 = 2" identifier = number_literal) ;) (expression_statement "pbVar11 = (byte *)p;" (assignment_expression "pbVar11 = (byte *)p" identifier = (cast_expression "(byte *)p" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "pbVar12 = &DAT_001448ab;" (assignment_expression "pbVar12 = &DAT_001448ab" identifier = (pointer_expression "&DAT_001448ab" & identifier)) ;) (do_statement "do {\n                if (lVar10 == 0) break;\n                lVar10 = lVar10 + -1;\n                bVar18 = *pbVar11 < *pbVar12;\n                bVar15 = *pbVar11 == *pbVar12;\n                pbVar11 = pbVar11 + (ulong)bVar19 * -2 + 1;\n                pbVar12 = pbVar12 + (ulong)bVar19 * -2 + 1;\n              } while (bVar15);" do (compound_statement "{\n                if (lVar10 == 0) break;\n                lVar10 = lVar10 + -1;\n                bVar18 = *pbVar11 < *pbVar12;\n                bVar15 = *pbVar11 == *pbVar12;\n                pbVar11 = pbVar11 + (ulong)bVar19 * -2 + 1;\n                pbVar12 = pbVar12 + (ulong)bVar19 * -2 + 1;\n              }" { (if_statement "if (lVar10 == 0) break;" if (parenthesized_expression "(lVar10 == 0)" ( (binary_expression "lVar10 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "lVar10 = lVar10 + -1;" (assignment_expression "lVar10 = lVar10 + -1" identifier = (binary_expression "lVar10 + -1" identifier + number_literal)) ;) (expression_statement "bVar18 = *pbVar11 < *pbVar12;" (assignment_expression "bVar18 = *pbVar11 < *pbVar12" identifier = (binary_expression "*pbVar11 < *pbVar12" (pointer_expression "*pbVar11" * identifier) < (pointer_expression "*pbVar12" * identifier))) ;) (expression_statement "bVar15 = *pbVar11 == *pbVar12;" (assignment_expression "bVar15 = *pbVar11 == *pbVar12" identifier = (binary_expression "*pbVar11 == *pbVar12" (pointer_expression "*pbVar11" * identifier) == (pointer_expression "*pbVar12" * identifier))) ;) (expression_statement "pbVar11 = pbVar11 + (ulong)bVar19 * -2 + 1;" (assignment_expression "pbVar11 = pbVar11 + (ulong)bVar19 * -2 + 1" identifier = (binary_expression "pbVar11 + (ulong)bVar19 * -2 + 1" (binary_expression "pbVar11 + (ulong)bVar19 * -2" identifier + (binary_expression "(ulong)bVar19 * -2" (cast_expression "(ulong)bVar19" ( (type_descriptor "ulong" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) (expression_statement "pbVar12 = pbVar12 + (ulong)bVar19 * -2 + 1;" (assignment_expression "pbVar12 = pbVar12 + (ulong)bVar19 * -2 + 1" identifier = (binary_expression "pbVar12 + (ulong)bVar19 * -2 + 1" (binary_expression "pbVar12 + (ulong)bVar19 * -2" identifier + (binary_expression "(ulong)bVar19 * -2" (cast_expression "(ulong)bVar19" ( (type_descriptor "ulong" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) }) while (parenthesized_expression "(bVar15)" ( identifier )) ;) (expression_statement "bVar16 = false;" (assignment_expression "bVar16 = false" identifier = false) ;) (expression_statement "bVar15 = (!bVar18 && !bVar15) == bVar18;" (assignment_expression "bVar15 = (!bVar18 && !bVar15) == bVar18" identifier = (binary_expression "(!bVar18 && !bVar15) == bVar18" (parenthesized_expression "(!bVar18 && !bVar15)" ( (binary_expression "!bVar18 && !bVar15" (unary_expression "!bVar18" ! identifier) && (unary_expression "!bVar15" ! identifier)) )) == identifier)) ;) (if_statement "if (bVar15) goto LAB_00139961;" if (parenthesized_expression "(bVar15)" ( identifier )) (goto_statement "goto LAB_00139961;" goto statement_identifier ;)) (expression_statement "lVar10 = 8;" (assignment_expression "lVar10 = 8" identifier = number_literal) ;) (expression_statement "pbVar11 = (byte *)p;" (assignment_expression "pbVar11 = (byte *)p" identifier = (cast_expression "(byte *)p" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "pbVar12 = (byte *)"STT_TLS";" (assignment_expression "pbVar12 = (byte *)"STT_TLS"" identifier = (cast_expression "(byte *)"STT_TLS"" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (string_literal ""STT_TLS"" " string_content "))) ;) (do_statement "do {\n                if (lVar10 == 0) break;\n                lVar10 = lVar10 + -1;\n                bVar16 = *pbVar11 < *pbVar12;\n                bVar15 = *pbVar11 == *pbVar12;\n                pbVar11 = pbVar11 + (ulong)bVar19 * -2 + 1;\n                pbVar12 = pbVar12 + (ulong)bVar19 * -2 + 1;\n              } while (bVar15);" do (compound_statement "{\n                if (lVar10 == 0) break;\n                lVar10 = lVar10 + -1;\n                bVar16 = *pbVar11 < *pbVar12;\n                bVar15 = *pbVar11 == *pbVar12;\n                pbVar11 = pbVar11 + (ulong)bVar19 * -2 + 1;\n                pbVar12 = pbVar12 + (ulong)bVar19 * -2 + 1;\n              }" { (if_statement "if (lVar10 == 0) break;" if (parenthesized_expression "(lVar10 == 0)" ( (binary_expression "lVar10 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "lVar10 = lVar10 + -1;" (assignment_expression "lVar10 = lVar10 + -1" identifier = (binary_expression "lVar10 + -1" identifier + number_literal)) ;) (expression_statement "bVar16 = *pbVar11 < *pbVar12;" (assignment_expression "bVar16 = *pbVar11 < *pbVar12" identifier = (binary_expression "*pbVar11 < *pbVar12" (pointer_expression "*pbVar11" * identifier) < (pointer_expression "*pbVar12" * identifier))) ;) (expression_statement "bVar15 = *pbVar11 == *pbVar12;" (assignment_expression "bVar15 = *pbVar11 == *pbVar12" identifier = (binary_expression "*pbVar11 == *pbVar12" (pointer_expression "*pbVar11" * identifier) == (pointer_expression "*pbVar12" * identifier))) ;) (expression_statement "pbVar11 = pbVar11 + (ulong)bVar19 * -2 + 1;" (assignment_expression "pbVar11 = pbVar11 + (ulong)bVar19 * -2 + 1" identifier = (binary_expression "pbVar11 + (ulong)bVar19 * -2 + 1" (binary_expression "pbVar11 + (ulong)bVar19 * -2" identifier + (binary_expression "(ulong)bVar19 * -2" (cast_expression "(ulong)bVar19" ( (type_descriptor "ulong" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) (expression_statement "pbVar12 = pbVar12 + (ulong)bVar19 * -2 + 1;" (assignment_expression "pbVar12 = pbVar12 + (ulong)bVar19 * -2 + 1" identifier = (binary_expression "pbVar12 + (ulong)bVar19 * -2 + 1" (binary_expression "pbVar12 + (ulong)bVar19 * -2" identifier + (binary_expression "(ulong)bVar19 * -2" (cast_expression "(ulong)bVar19" ( (type_descriptor "ulong" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) }) while (parenthesized_expression "(bVar15)" ( identifier )) ;) (expression_statement "bVar18 = false;" (assignment_expression "bVar18 = false" identifier = false) ;) (expression_statement "bVar15 = (!bVar16 && !bVar15) == bVar16;" (assignment_expression "bVar15 = (!bVar16 && !bVar15) == bVar16" identifier = (binary_expression "(!bVar16 && !bVar15) == bVar16" (parenthesized_expression "(!bVar16 && !bVar15)" ( (binary_expression "!bVar16 && !bVar15" (unary_expression "!bVar16" ! identifier) && (unary_expression "!bVar15" ! identifier)) )) == identifier)) ;) (if_statement "if (bVar15) goto LAB_00139961;" if (parenthesized_expression "(bVar15)" ( identifier )) (goto_statement "goto LAB_00139961;" goto statement_identifier ;)) (expression_statement "lVar10 = 7;" (assignment_expression "lVar10 = 7" identifier = number_literal) ;) (expression_statement "pbVar11 = (byte *)p;" (assignment_expression "pbVar11 = (byte *)p" identifier = (cast_expression "(byte *)p" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "pbVar12 = (byte *)"notype";" (assignment_expression "pbVar12 = (byte *)"notype"" identifier = (cast_expression "(byte *)"notype"" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (string_literal ""notype"" " string_content "))) ;) (do_statement "do {\n                if (lVar10 == 0) break;\n                lVar10 = lVar10 + -1;\n                bVar18 = *pbVar11 < *pbVar12;\n                bVar15 = *pbVar11 == *pbVar12;\n                pbVar11 = pbVar11 + (ulong)bVar19 * -2 + 1;\n                pbVar12 = pbVar12 + (ulong)bVar19 * -2 + 1;\n              } while (bVar15);" do (compound_statement "{\n                if (lVar10 == 0) break;\n                lVar10 = lVar10 + -1;\n                bVar18 = *pbVar11 < *pbVar12;\n                bVar15 = *pbVar11 == *pbVar12;\n                pbVar11 = pbVar11 + (ulong)bVar19 * -2 + 1;\n                pbVar12 = pbVar12 + (ulong)bVar19 * -2 + 1;\n              }" { (if_statement "if (lVar10 == 0) break;" if (parenthesized_expression "(lVar10 == 0)" ( (binary_expression "lVar10 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "lVar10 = lVar10 + -1;" (assignment_expression "lVar10 = lVar10 + -1" identifier = (binary_expression "lVar10 + -1" identifier + number_literal)) ;) (expression_statement "bVar18 = *pbVar11 < *pbVar12;" (assignment_expression "bVar18 = *pbVar11 < *pbVar12" identifier = (binary_expression "*pbVar11 < *pbVar12" (pointer_expression "*pbVar11" * identifier) < (pointer_expression "*pbVar12" * identifier))) ;) (expression_statement "bVar15 = *pbVar11 == *pbVar12;" (assignment_expression "bVar15 = *pbVar11 == *pbVar12" identifier = (binary_expression "*pbVar11 == *pbVar12" (pointer_expression "*pbVar11" * identifier) == (pointer_expression "*pbVar12" * identifier))) ;) (expression_statement "pbVar11 = pbVar11 + (ulong)bVar19 * -2 + 1;" (assignment_expression "pbVar11 = pbVar11 + (ulong)bVar19 * -2 + 1" identifier = (binary_expression "pbVar11 + (ulong)bVar19 * -2 + 1" (binary_expression "pbVar11 + (ulong)bVar19 * -2" identifier + (binary_expression "(ulong)bVar19 * -2" (cast_expression "(ulong)bVar19" ( (type_descriptor "ulong" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) (expression_statement "pbVar12 = pbVar12 + (ulong)bVar19 * -2 + 1;" (assignment_expression "pbVar12 = pbVar12 + (ulong)bVar19 * -2 + 1" identifier = (binary_expression "pbVar12 + (ulong)bVar19 * -2 + 1" (binary_expression "pbVar12 + (ulong)bVar19 * -2" identifier + (binary_expression "(ulong)bVar19 * -2" (cast_expression "(ulong)bVar19" ( (type_descriptor "ulong" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) }) while (parenthesized_expression "(bVar15)" ( identifier )) ;) (expression_statement "uVar13 = 0;" (assignment_expression "uVar13 = 0" identifier = number_literal) ;) (if_statement "if ((((!bVar18 && !bVar15) == bVar18) || (iVar5 = strcmp(p,"0"), iVar5 == 0)) ||\n                 (iVar5 = strcmp(pcVar9,"STT_NOTYPE"), iVar5 == 0)) goto LAB_00139961;" if (parenthesized_expression "((((!bVar18 && !bVar15) == bVar18) || (iVar5 = strcmp(p,"0"), iVar5 == 0)) ||\n                 (iVar5 = strcmp(pcVar9,"STT_NOTYPE"), iVar5 == 0))" ( (binary_expression "(((!bVar18 && !bVar15) == bVar18) || (iVar5 = strcmp(p,"0"), iVar5 == 0)) ||\n                 (iVar5 = strcmp(pcVar9,"STT_NOTYPE"), iVar5 == 0)" (parenthesized_expression "(((!bVar18 && !bVar15) == bVar18) || (iVar5 = strcmp(p,"0"), iVar5 == 0))" ( (binary_expression "((!bVar18 && !bVar15) == bVar18) || (iVar5 = strcmp(p,"0"), iVar5 == 0)" (parenthesized_expression "((!bVar18 && !bVar15) == bVar18)" ( (binary_expression "(!bVar18 && !bVar15) == bVar18" (parenthesized_expression "(!bVar18 && !bVar15)" ( (binary_expression "!bVar18 && !bVar15" (unary_expression "!bVar18" ! identifier) && (unary_expression "!bVar15" ! identifier)) )) == identifier) )) || (parenthesized_expression "(iVar5 = strcmp(p,"0"), iVar5 == 0)" ( (comma_expression "iVar5 = strcmp(p,"0"), iVar5 == 0" (assignment_expression "iVar5 = strcmp(p,"0")" identifier = (call_expression "strcmp(p,"0")" identifier (argument_list "(p,"0")" ( identifier , (string_literal ""0"" " string_content ") )))) , (binary_expression "iVar5 == 0" identifier == number_literal)) ))) )) || (parenthesized_expression "(iVar5 = strcmp(pcVar9,"STT_NOTYPE"), iVar5 == 0)" ( (comma_expression "iVar5 = strcmp(pcVar9,"STT_NOTYPE"), iVar5 == 0" (assignment_expression "iVar5 = strcmp(pcVar9,"STT_NOTYPE")" identifier = (call_expression "strcmp(pcVar9,"STT_NOTYPE")" identifier (argument_list "(pcVar9,"STT_NOTYPE")" ( identifier , (string_literal ""STT_NOTYPE"" " string_content ") )))) , (binary_expression "iVar5 == 0" identifier == number_literal)) ))) )) (goto_statement "goto LAB_00139961;" goto statement_identifier ;)) (expression_statement "iVar5 = strcmp(pcVar9,"common");" (assignment_expression "iVar5 = strcmp(pcVar9,"common")" identifier = (call_expression "strcmp(pcVar9,"common")" identifier (argument_list "(pcVar9,"common")" ( identifier , (string_literal ""common"" " string_content ") )))) ;) (if_statement "if (((iVar5 != 0) && (iVar5 = strcmp(pcVar9,"5"), iVar5 != 0)) &&\n                 (iVar5 = strcmp(pcVar9,"STT_COMMON"), iVar5 != 0)) {\n                iVar5 = strcmp(pcVar9,"gnu_indirect_function");\n                if (((iVar5 == 0) || (iVar5 = strcmp(pcVar9,"10"), iVar5 == 0)) ||\n                   (iVar5 = strcmp(pcVar9,"STT_GNU_IFUNC"), iVar5 == 0)) {\n                  uVar2 = *(uint *)((long)stdoutput->xvec->backend_data + 0xc);\n                  if ((9 < uVar2) ||\n                     (uVar13 = 0x400008, (0x209UL >> ((ulong)uVar2 & 0x3f) & 1) == 0)) {\n                    uVar13 = 0x400008;\n                    pcVar8 = (char *)dcgettext(0,\n                                               "symbol type \"%s\" is supported only by GNU and FreeBSD targets"\n                                               ,5);\n                    as_bad(pcVar8,pcVar9);\n                  }\n                }\n                else {\n                  iVar5 = strcmp(pcVar9,"gnu_unique_object");\n                  if (iVar5 == 0) {\n                    pvVar3 = stdoutput->xvec->backend_data;\n                    iVar5 = *(int *)((long)pvVar3 + 0xc);\n                    if ((iVar5 != 3) && (iVar5 != 0)) {\n                      pcVar8 = (char *)dcgettext(0,\n                                                 "symbol type \"%s\" is supported only by GNU targets"\n                                                 ,5);\n                      as_bad(pcVar8,pcVar9);\n                    }\n                    *(undefined4 *)((long)pvVar3 + 0xc) = 3;\n                    uVar13 = 0x810000;\n                  }\n                  else {\n                    pcVar8 = (char *)dcgettext(0,"unrecognized symbol type \"%s\"",5);\n                    as_bad(pcVar8,pcVar9);\n                  }\n                }\n                goto LAB_00139961;\n              }" if (parenthesized_expression "(((iVar5 != 0) && (iVar5 = strcmp(pcVar9,"5"), iVar5 != 0)) &&\n                 (iVar5 = strcmp(pcVar9,"STT_COMMON"), iVar5 != 0))" ( (binary_expression "((iVar5 != 0) && (iVar5 = strcmp(pcVar9,"5"), iVar5 != 0)) &&\n                 (iVar5 = strcmp(pcVar9,"STT_COMMON"), iVar5 != 0)" (parenthesized_expression "((iVar5 != 0) && (iVar5 = strcmp(pcVar9,"5"), iVar5 != 0))" ( (binary_expression "(iVar5 != 0) && (iVar5 = strcmp(pcVar9,"5"), iVar5 != 0)" (parenthesized_expression "(iVar5 != 0)" ( (binary_expression "iVar5 != 0" identifier != number_literal) )) && (parenthesized_expression "(iVar5 = strcmp(pcVar9,"5"), iVar5 != 0)" ( (comma_expression "iVar5 = strcmp(pcVar9,"5"), iVar5 != 0" (assignment_expression "iVar5 = strcmp(pcVar9,"5")" identifier = (call_expression "strcmp(pcVar9,"5")" identifier (argument_list "(pcVar9,"5")" ( identifier , (string_literal ""5"" " string_content ") )))) , (binary_expression "iVar5 != 0" identifier != number_literal)) ))) )) && (parenthesized_expression "(iVar5 = strcmp(pcVar9,"STT_COMMON"), iVar5 != 0)" ( (comma_expression "iVar5 = strcmp(pcVar9,"STT_COMMON"), iVar5 != 0" (assignment_expression "iVar5 = strcmp(pcVar9,"STT_COMMON")" identifier = (call_expression "strcmp(pcVar9,"STT_COMMON")" identifier (argument_list "(pcVar9,"STT_COMMON")" ( identifier , (string_literal ""STT_COMMON"" " string_content ") )))) , (binary_expression "iVar5 != 0" identifier != number_literal)) ))) )) (compound_statement "{\n                iVar5 = strcmp(pcVar9,"gnu_indirect_function");\n                if (((iVar5 == 0) || (iVar5 = strcmp(pcVar9,"10"), iVar5 == 0)) ||\n                   (iVar5 = strcmp(pcVar9,"STT_GNU_IFUNC"), iVar5 == 0)) {\n                  uVar2 = *(uint *)((long)stdoutput->xvec->backend_data + 0xc);\n                  if ((9 < uVar2) ||\n                     (uVar13 = 0x400008, (0x209UL >> ((ulong)uVar2 & 0x3f) & 1) == 0)) {\n                    uVar13 = 0x400008;\n                    pcVar8 = (char *)dcgettext(0,\n                                               "symbol type \"%s\" is supported only by GNU and FreeBSD targets"\n                                               ,5);\n                    as_bad(pcVar8,pcVar9);\n                  }\n                }\n                else {\n                  iVar5 = strcmp(pcVar9,"gnu_unique_object");\n                  if (iVar5 == 0) {\n                    pvVar3 = stdoutput->xvec->backend_data;\n                    iVar5 = *(int *)((long)pvVar3 + 0xc);\n                    if ((iVar5 != 3) && (iVar5 != 0)) {\n                      pcVar8 = (char *)dcgettext(0,\n                                                 "symbol type \"%s\" is supported only by GNU targets"\n                                                 ,5);\n                      as_bad(pcVar8,pcVar9);\n                    }\n                    *(undefined4 *)((long)pvVar3 + 0xc) = 3;\n                    uVar13 = 0x810000;\n                  }\n                  else {\n                    pcVar8 = (char *)dcgettext(0,"unrecognized symbol type \"%s\"",5);\n                    as_bad(pcVar8,pcVar9);\n                  }\n                }\n                goto LAB_00139961;\n              }" { (expression_statement "iVar5 = strcmp(pcVar9,"gnu_indirect_function");" (assignment_expression "iVar5 = strcmp(pcVar9,"gnu_indirect_function")" identifier = (call_expression "strcmp(pcVar9,"gnu_indirect_function")" identifier (argument_list "(pcVar9,"gnu_indirect_function")" ( identifier , (string_literal ""gnu_indirect_function"" " string_content ") )))) ;) (if_statement "if (((iVar5 == 0) || (iVar5 = strcmp(pcVar9,"10"), iVar5 == 0)) ||\n                   (iVar5 = strcmp(pcVar9,"STT_GNU_IFUNC"), iVar5 == 0)) {\n                  uVar2 = *(uint *)((long)stdoutput->xvec->backend_data + 0xc);\n                  if ((9 < uVar2) ||\n                     (uVar13 = 0x400008, (0x209UL >> ((ulong)uVar2 & 0x3f) & 1) == 0)) {\n                    uVar13 = 0x400008;\n                    pcVar8 = (char *)dcgettext(0,\n                                               "symbol type \"%s\" is supported only by GNU and FreeBSD targets"\n                                               ,5);\n                    as_bad(pcVar8,pcVar9);\n                  }\n                }\n                else {\n                  iVar5 = strcmp(pcVar9,"gnu_unique_object");\n                  if (iVar5 == 0) {\n                    pvVar3 = stdoutput->xvec->backend_data;\n                    iVar5 = *(int *)((long)pvVar3 + 0xc);\n                    if ((iVar5 != 3) && (iVar5 != 0)) {\n                      pcVar8 = (char *)dcgettext(0,\n                                                 "symbol type \"%s\" is supported only by GNU targets"\n                                                 ,5);\n                      as_bad(pcVar8,pcVar9);\n                    }\n                    *(undefined4 *)((long)pvVar3 + 0xc) = 3;\n                    uVar13 = 0x810000;\n                  }\n                  else {\n                    pcVar8 = (char *)dcgettext(0,"unrecognized symbol type \"%s\"",5);\n                    as_bad(pcVar8,pcVar9);\n                  }\n                }" if (parenthesized_expression "(((iVar5 == 0) || (iVar5 = strcmp(pcVar9,"10"), iVar5 == 0)) ||\n                   (iVar5 = strcmp(pcVar9,"STT_GNU_IFUNC"), iVar5 == 0))" ( (binary_expression "((iVar5 == 0) || (iVar5 = strcmp(pcVar9,"10"), iVar5 == 0)) ||\n                   (iVar5 = strcmp(pcVar9,"STT_GNU_IFUNC"), iVar5 == 0)" (parenthesized_expression "((iVar5 == 0) || (iVar5 = strcmp(pcVar9,"10"), iVar5 == 0))" ( (binary_expression "(iVar5 == 0) || (iVar5 = strcmp(pcVar9,"10"), iVar5 == 0)" (parenthesized_expression "(iVar5 == 0)" ( (binary_expression "iVar5 == 0" identifier == number_literal) )) || (parenthesized_expression "(iVar5 = strcmp(pcVar9,"10"), iVar5 == 0)" ( (comma_expression "iVar5 = strcmp(pcVar9,"10"), iVar5 == 0" (assignment_expression "iVar5 = strcmp(pcVar9,"10")" identifier = (call_expression "strcmp(pcVar9,"10")" identifier (argument_list "(pcVar9,"10")" ( identifier , (string_literal ""10"" " string_content ") )))) , (binary_expression "iVar5 == 0" identifier == number_literal)) ))) )) || (parenthesized_expression "(iVar5 = strcmp(pcVar9,"STT_GNU_IFUNC"), iVar5 == 0)" ( (comma_expression "iVar5 = strcmp(pcVar9,"STT_GNU_IFUNC"), iVar5 == 0" (assignment_expression "iVar5 = strcmp(pcVar9,"STT_GNU_IFUNC")" identifier = (call_expression "strcmp(pcVar9,"STT_GNU_IFUNC")" identifier (argument_list "(pcVar9,"STT_GNU_IFUNC")" ( identifier , (string_literal ""STT_GNU_IFUNC"" " string_content ") )))) , (binary_expression "iVar5 == 0" identifier == number_literal)) ))) )) (compound_statement "{\n                  uVar2 = *(uint *)((long)stdoutput->xvec->backend_data + 0xc);\n                  if ((9 < uVar2) ||\n                     (uVar13 = 0x400008, (0x209UL >> ((ulong)uVar2 & 0x3f) & 1) == 0)) {\n                    uVar13 = 0x400008;\n                    pcVar8 = (char *)dcgettext(0,\n                                               "symbol type \"%s\" is supported only by GNU and FreeBSD targets"\n                                               ,5);\n                    as_bad(pcVar8,pcVar9);\n                  }\n                }" { (expression_statement "uVar2 = *(uint *)((long)stdoutput->xvec->backend_data + 0xc);" (assignment_expression "uVar2 = *(uint *)((long)stdoutput->xvec->backend_data + 0xc)" identifier = (pointer_expression "*(uint *)((long)stdoutput->xvec->backend_data + 0xc)" * (cast_expression "(uint *)((long)stdoutput->xvec->backend_data + 0xc)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)stdoutput->xvec->backend_data + 0xc)" ( (binary_expression "(long)stdoutput->xvec->backend_data + 0xc" (cast_expression "(long)stdoutput->xvec->backend_data" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) (field_expression "stdoutput->xvec->backend_data" (field_expression "stdoutput->xvec" identifier -> field_identifier) -> field_identifier)) + number_literal) ))))) ;) (if_statement "if ((9 < uVar2) ||\n                     (uVar13 = 0x400008, (0x209UL >> ((ulong)uVar2 & 0x3f) & 1) == 0)) {\n                    uVar13 = 0x400008;\n                    pcVar8 = (char *)dcgettext(0,\n                                               "symbol type \"%s\" is supported only by GNU and FreeBSD targets"\n                                               ,5);\n                    as_bad(pcVar8,pcVar9);\n                  }" if (parenthesized_expression "((9 < uVar2) ||\n                     (uVar13 = 0x400008, (0x209UL >> ((ulong)uVar2 & 0x3f) & 1) == 0))" ( (binary_expression "(9 < uVar2) ||\n                     (uVar13 = 0x400008, (0x209UL >> ((ulong)uVar2 & 0x3f) & 1) == 0)" (parenthesized_expression "(9 < uVar2)" ( (binary_expression "9 < uVar2" number_literal < identifier) )) || (parenthesized_expression "(uVar13 = 0x400008, (0x209UL >> ((ulong)uVar2 & 0x3f) & 1) == 0)" ( (comma_expression "uVar13 = 0x400008, (0x209UL >> ((ulong)uVar2 & 0x3f) & 1) == 0" (assignment_expression "uVar13 = 0x400008" identifier = number_literal) , (binary_expression "(0x209UL >> ((ulong)uVar2 & 0x3f) & 1) == 0" (parenthesized_expression "(0x209UL >> ((ulong)uVar2 & 0x3f) & 1)" ( (binary_expression "0x209UL >> ((ulong)uVar2 & 0x3f) & 1" (binary_expression "0x209UL >> ((ulong)uVar2 & 0x3f)" number_literal >> (parenthesized_expression "((ulong)uVar2 & 0x3f)" ( (binary_expression "(ulong)uVar2 & 0x3f" (cast_expression "(ulong)uVar2" ( (type_descriptor "ulong" type_identifier) ) identifier) & number_literal) ))) & number_literal) )) == number_literal)) ))) )) (compound_statement "{\n                    uVar13 = 0x400008;\n                    pcVar8 = (char *)dcgettext(0,\n                                               "symbol type \"%s\" is supported only by GNU and FreeBSD targets"\n                                               ,5);\n                    as_bad(pcVar8,pcVar9);\n                  }" { (expression_statement "uVar13 = 0x400008;" (assignment_expression "uVar13 = 0x400008" identifier = number_literal) ;) (expression_statement "pcVar8 = (char *)dcgettext(0,\n                                               "symbol type \"%s\" is supported only by GNU and FreeBSD targets"\n                                               ,5);" (assignment_expression "pcVar8 = (char *)dcgettext(0,\n                                               "symbol type \"%s\" is supported only by GNU and FreeBSD targets"\n                                               ,5)" identifier = (cast_expression "(char *)dcgettext(0,\n                                               "symbol type \"%s\" is supported only by GNU and FreeBSD targets"\n                                               ,5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,\n                                               "symbol type \"%s\" is supported only by GNU and FreeBSD targets"\n                                               ,5)" identifier (argument_list "(0,\n                                               "symbol type \"%s\" is supported only by GNU and FreeBSD targets"\n                                               ,5)" ( number_literal , (string_literal ""symbol type \"%s\" is supported only by GNU and FreeBSD targets"" " string_content escape_sequence string_content escape_sequence string_content ") , number_literal ))))) ;) (expression_statement "as_bad(pcVar8,pcVar9);" (call_expression "as_bad(pcVar8,pcVar9)" identifier (argument_list "(pcVar8,pcVar9)" ( identifier , identifier ))) ;) })) }) (else_clause "else {\n                  iVar5 = strcmp(pcVar9,"gnu_unique_object");\n                  if (iVar5 == 0) {\n                    pvVar3 = stdoutput->xvec->backend_data;\n                    iVar5 = *(int *)((long)pvVar3 + 0xc);\n                    if ((iVar5 != 3) && (iVar5 != 0)) {\n                      pcVar8 = (char *)dcgettext(0,\n                                                 "symbol type \"%s\" is supported only by GNU targets"\n                                                 ,5);\n                      as_bad(pcVar8,pcVar9);\n                    }\n                    *(undefined4 *)((long)pvVar3 + 0xc) = 3;\n                    uVar13 = 0x810000;\n                  }\n                  else {\n                    pcVar8 = (char *)dcgettext(0,"unrecognized symbol type \"%s\"",5);\n                    as_bad(pcVar8,pcVar9);\n                  }\n                }" else (compound_statement "{\n                  iVar5 = strcmp(pcVar9,"gnu_unique_object");\n                  if (iVar5 == 0) {\n                    pvVar3 = stdoutput->xvec->backend_data;\n                    iVar5 = *(int *)((long)pvVar3 + 0xc);\n                    if ((iVar5 != 3) && (iVar5 != 0)) {\n                      pcVar8 = (char *)dcgettext(0,\n                                                 "symbol type \"%s\" is supported only by GNU targets"\n                                                 ,5);\n                      as_bad(pcVar8,pcVar9);\n                    }\n                    *(undefined4 *)((long)pvVar3 + 0xc) = 3;\n                    uVar13 = 0x810000;\n                  }\n                  else {\n                    pcVar8 = (char *)dcgettext(0,"unrecognized symbol type \"%s\"",5);\n                    as_bad(pcVar8,pcVar9);\n                  }\n                }" { (expression_statement "iVar5 = strcmp(pcVar9,"gnu_unique_object");" (assignment_expression "iVar5 = strcmp(pcVar9,"gnu_unique_object")" identifier = (call_expression "strcmp(pcVar9,"gnu_unique_object")" identifier (argument_list "(pcVar9,"gnu_unique_object")" ( identifier , (string_literal ""gnu_unique_object"" " string_content ") )))) ;) (if_statement "if (iVar5 == 0) {\n                    pvVar3 = stdoutput->xvec->backend_data;\n                    iVar5 = *(int *)((long)pvVar3 + 0xc);\n                    if ((iVar5 != 3) && (iVar5 != 0)) {\n                      pcVar8 = (char *)dcgettext(0,\n                                                 "symbol type \"%s\" is supported only by GNU targets"\n                                                 ,5);\n                      as_bad(pcVar8,pcVar9);\n                    }\n                    *(undefined4 *)((long)pvVar3 + 0xc) = 3;\n                    uVar13 = 0x810000;\n                  }\n                  else {\n                    pcVar8 = (char *)dcgettext(0,"unrecognized symbol type \"%s\"",5);\n                    as_bad(pcVar8,pcVar9);\n                  }" if (parenthesized_expression "(iVar5 == 0)" ( (binary_expression "iVar5 == 0" identifier == number_literal) )) (compound_statement "{\n                    pvVar3 = stdoutput->xvec->backend_data;\n                    iVar5 = *(int *)((long)pvVar3 + 0xc);\n                    if ((iVar5 != 3) && (iVar5 != 0)) {\n                      pcVar8 = (char *)dcgettext(0,\n                                                 "symbol type \"%s\" is supported only by GNU targets"\n                                                 ,5);\n                      as_bad(pcVar8,pcVar9);\n                    }\n                    *(undefined4 *)((long)pvVar3 + 0xc) = 3;\n                    uVar13 = 0x810000;\n                  }" { (expression_statement "pvVar3 = stdoutput->xvec->backend_data;" (assignment_expression "pvVar3 = stdoutput->xvec->backend_data" identifier = (field_expression "stdoutput->xvec->backend_data" (field_expression "stdoutput->xvec" identifier -> field_identifier) -> field_identifier)) ;) (expression_statement "iVar5 = *(int *)((long)pvVar3 + 0xc);" (assignment_expression "iVar5 = *(int *)((long)pvVar3 + 0xc)" identifier = (pointer_expression "*(int *)((long)pvVar3 + 0xc)" * (cast_expression "(int *)((long)pvVar3 + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)pvVar3 + 0xc)" ( (binary_expression "(long)pvVar3 + 0xc" (cast_expression "(long)pvVar3" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) ))))) ;) (if_statement "if ((iVar5 != 3) && (iVar5 != 0)) {\n                      pcVar8 = (char *)dcgettext(0,\n                                                 "symbol type \"%s\" is supported only by GNU targets"\n                                                 ,5);\n                      as_bad(pcVar8,pcVar9);\n                    }" if (parenthesized_expression "((iVar5 != 3) && (iVar5 != 0))" ( (binary_expression "(iVar5 != 3) && (iVar5 != 0)" (parenthesized_expression "(iVar5 != 3)" ( (binary_expression "iVar5 != 3" identifier != number_literal) )) && (parenthesized_expression "(iVar5 != 0)" ( (binary_expression "iVar5 != 0" identifier != number_literal) ))) )) (compound_statement "{\n                      pcVar8 = (char *)dcgettext(0,\n                                                 "symbol type \"%s\" is supported only by GNU targets"\n                                                 ,5);\n                      as_bad(pcVar8,pcVar9);\n                    }" { (expression_statement "pcVar8 = (char *)dcgettext(0,\n                                                 "symbol type \"%s\" is supported only by GNU targets"\n                                                 ,5);" (assignment_expression "pcVar8 = (char *)dcgettext(0,\n                                                 "symbol type \"%s\" is supported only by GNU targets"\n                                                 ,5)" identifier = (cast_expression "(char *)dcgettext(0,\n                                                 "symbol type \"%s\" is supported only by GNU targets"\n                                                 ,5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,\n                                                 "symbol type \"%s\" is supported only by GNU targets"\n                                                 ,5)" identifier (argument_list "(0,\n                                                 "symbol type \"%s\" is supported only by GNU targets"\n                                                 ,5)" ( number_literal , (string_literal ""symbol type \"%s\" is supported only by GNU targets"" " string_content escape_sequence string_content escape_sequence string_content ") , number_literal ))))) ;) (expression_statement "as_bad(pcVar8,pcVar9);" (call_expression "as_bad(pcVar8,pcVar9)" identifier (argument_list "(pcVar8,pcVar9)" ( identifier , identifier ))) ;) })) (expression_statement "*(undefined4 *)((long)pvVar3 + 0xc) = 3;" (assignment_expression "*(undefined4 *)((long)pvVar3 + 0xc) = 3" (pointer_expression "*(undefined4 *)((long)pvVar3 + 0xc)" * (cast_expression "(undefined4 *)((long)pvVar3 + 0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)pvVar3 + 0xc)" ( (binary_expression "(long)pvVar3 + 0xc" (cast_expression "(long)pvVar3" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "uVar13 = 0x810000;" (assignment_expression "uVar13 = 0x810000" identifier = number_literal) ;) }) (else_clause "else {\n                    pcVar8 = (char *)dcgettext(0,"unrecognized symbol type \"%s\"",5);\n                    as_bad(pcVar8,pcVar9);\n                  }" else (compound_statement "{\n                    pcVar8 = (char *)dcgettext(0,"unrecognized symbol type \"%s\"",5);\n                    as_bad(pcVar8,pcVar9);\n                  }" { (expression_statement "pcVar8 = (char *)dcgettext(0,"unrecognized symbol type \"%s\"",5);" (assignment_expression "pcVar8 = (char *)dcgettext(0,"unrecognized symbol type \"%s\"",5)" identifier = (cast_expression "(char *)dcgettext(0,"unrecognized symbol type \"%s\"",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,"unrecognized symbol type \"%s\"",5)" identifier (argument_list "(0,"unrecognized symbol type \"%s\"",5)" ( number_literal , (string_literal ""unrecognized symbol type \"%s\""" " string_content escape_sequence string_content escape_sequence ") , number_literal ))))) ;) (expression_statement "as_bad(pcVar8,pcVar9);" (call_expression "as_bad(pcVar8,pcVar9)" identifier (argument_list "(pcVar8,pcVar9)" ( identifier , identifier ))) ;) }))) }))) (goto_statement "goto LAB_00139961;" goto statement_identifier ;) })) (expression_statement "iVar5 = S_IS_COMMON(psVar6);" (assignment_expression "iVar5 = S_IS_COMMON(psVar6)" identifier = (call_expression "S_IS_COMMON(psVar6)" identifier (argument_list "(psVar6)" ( identifier )))) ;) (if_statement "if (iVar5 == 0) {\n                iVar5 = S_IS_VOLATILE(psVar6);\n                if (iVar5 != 0) {\n                  uVar13 = 0x10000;\n                  psVar6 = symbol_clone(psVar6,1);\n                  S_SET_SEGMENT(psVar6,(segT)_bfd_std_section);\n                  S_SET_VALUE(psVar6,0);\n                  S_SET_EXTERNAL(psVar6);\n                  symbol_set_frag(psVar6,&zero_address_frag);\n                  S_CLEAR_VOLATILE(psVar6);\n                  goto LAB_00139961;\n                }\n                iVar5 = S_IS_DEFINED(psVar6);\n                if ((iVar5 != 0) || (iVar5 = symbol_equated_p(psVar6), iVar5 != 0)) {\n                  uVar13 = 0x10000;\n                  pcVar9 = S_GET_NAME(psVar6);\n                  pcVar8 = (char *)dcgettext(0,"symbol \'%s\' is already defined",5);\n                  as_bad(pcVar8,pcVar9);\n                  goto LAB_00139961;\n                }\n                S_SET_SEGMENT(psVar6,(segT)_bfd_std_section);\n                S_SET_VALUE(psVar6,0);\n                S_SET_EXTERNAL(psVar6);\n              }" if (parenthesized_expression "(iVar5 == 0)" ( (binary_expression "iVar5 == 0" identifier == number_literal) )) (compound_statement "{\n                iVar5 = S_IS_VOLATILE(psVar6);\n                if (iVar5 != 0) {\n                  uVar13 = 0x10000;\n                  psVar6 = symbol_clone(psVar6,1);\n                  S_SET_SEGMENT(psVar6,(segT)_bfd_std_section);\n                  S_SET_VALUE(psVar6,0);\n                  S_SET_EXTERNAL(psVar6);\n                  symbol_set_frag(psVar6,&zero_address_frag);\n                  S_CLEAR_VOLATILE(psVar6);\n                  goto LAB_00139961;\n                }\n                iVar5 = S_IS_DEFINED(psVar6);\n                if ((iVar5 != 0) || (iVar5 = symbol_equated_p(psVar6), iVar5 != 0)) {\n                  uVar13 = 0x10000;\n                  pcVar9 = S_GET_NAME(psVar6);\n                  pcVar8 = (char *)dcgettext(0,"symbol \'%s\' is already defined",5);\n                  as_bad(pcVar8,pcVar9);\n                  goto LAB_00139961;\n                }\n                S_SET_SEGMENT(psVar6,(segT)_bfd_std_section);\n                S_SET_VALUE(psVar6,0);\n                S_SET_EXTERNAL(psVar6);\n              }" { (expression_statement "iVar5 = S_IS_VOLATILE(psVar6);" (assignment_expression "iVar5 = S_IS_VOLATILE(psVar6)" identifier = (call_expression "S_IS_VOLATILE(psVar6)" identifier (argument_list "(psVar6)" ( identifier )))) ;) (if_statement "if (iVar5 != 0) {\n                  uVar13 = 0x10000;\n                  psVar6 = symbol_clone(psVar6,1);\n                  S_SET_SEGMENT(psVar6,(segT)_bfd_std_section);\n                  S_SET_VALUE(psVar6,0);\n                  S_SET_EXTERNAL(psVar6);\n                  symbol_set_frag(psVar6,&zero_address_frag);\n                  S_CLEAR_VOLATILE(psVar6);\n                  goto LAB_00139961;\n                }" if (parenthesized_expression "(iVar5 != 0)" ( (binary_expression "iVar5 != 0" identifier != number_literal) )) (compound_statement "{\n                  uVar13 = 0x10000;\n                  psVar6 = symbol_clone(psVar6,1);\n                  S_SET_SEGMENT(psVar6,(segT)_bfd_std_section);\n                  S_SET_VALUE(psVar6,0);\n                  S_SET_EXTERNAL(psVar6);\n                  symbol_set_frag(psVar6,&zero_address_frag);\n                  S_CLEAR_VOLATILE(psVar6);\n                  goto LAB_00139961;\n                }" { (expression_statement "uVar13 = 0x10000;" (assignment_expression "uVar13 = 0x10000" identifier = number_literal) ;) (expression_statement "psVar6 = symbol_clone(psVar6,1);" (assignment_expression "psVar6 = symbol_clone(psVar6,1)" identifier = (call_expression "symbol_clone(psVar6,1)" identifier (argument_list "(psVar6,1)" ( identifier , number_literal )))) ;) (expression_statement "S_SET_SEGMENT(psVar6,(segT)_bfd_std_section);" (call_expression "S_SET_SEGMENT(psVar6,(segT)_bfd_std_section)" identifier (argument_list "(psVar6,(segT)_bfd_std_section)" ( identifier , (cast_expression "(segT)_bfd_std_section" ( (type_descriptor "segT" type_identifier) ) identifier) ))) ;) (expression_statement "S_SET_VALUE(psVar6,0);" (call_expression "S_SET_VALUE(psVar6,0)" identifier (argument_list "(psVar6,0)" ( identifier , number_literal ))) ;) (expression_statement "S_SET_EXTERNAL(psVar6);" (call_expression "S_SET_EXTERNAL(psVar6)" identifier (argument_list "(psVar6)" ( identifier ))) ;) (expression_statement "symbol_set_frag(psVar6,&zero_address_frag);" (call_expression "symbol_set_frag(psVar6,&zero_address_frag)" identifier (argument_list "(psVar6,&zero_address_frag)" ( identifier , (pointer_expression "&zero_address_frag" & identifier) ))) ;) (expression_statement "S_CLEAR_VOLATILE(psVar6);" (call_expression "S_CLEAR_VOLATILE(psVar6)" identifier (argument_list "(psVar6)" ( identifier ))) ;) (goto_statement "goto LAB_00139961;" goto statement_identifier ;) })) (expression_statement "iVar5 = S_IS_DEFINED(psVar6);" (assignment_expression "iVar5 = S_IS_DEFINED(psVar6)" identifier = (call_expression "S_IS_DEFINED(psVar6)" identifier (argument_list "(psVar6)" ( identifier )))) ;) (if_statement "if ((iVar5 != 0) || (iVar5 = symbol_equated_p(psVar6), iVar5 != 0)) {\n                  uVar13 = 0x10000;\n                  pcVar9 = S_GET_NAME(psVar6);\n                  pcVar8 = (char *)dcgettext(0,"symbol \'%s\' is already defined",5);\n                  as_bad(pcVar8,pcVar9);\n                  goto LAB_00139961;\n                }" if (parenthesized_expression "((iVar5 != 0) || (iVar5 = symbol_equated_p(psVar6), iVar5 != 0))" ( (binary_expression "(iVar5 != 0) || (iVar5 = symbol_equated_p(psVar6), iVar5 != 0)" (parenthesized_expression "(iVar5 != 0)" ( (binary_expression "iVar5 != 0" identifier != number_literal) )) || (parenthesized_expression "(iVar5 = symbol_equated_p(psVar6), iVar5 != 0)" ( (comma_expression "iVar5 = symbol_equated_p(psVar6), iVar5 != 0" (assignment_expression "iVar5 = symbol_equated_p(psVar6)" identifier = (call_expression "symbol_equated_p(psVar6)" identifier (argument_list "(psVar6)" ( identifier )))) , (binary_expression "iVar5 != 0" identifier != number_literal)) ))) )) (compound_statement "{\n                  uVar13 = 0x10000;\n                  pcVar9 = S_GET_NAME(psVar6);\n                  pcVar8 = (char *)dcgettext(0,"symbol \'%s\' is already defined",5);\n                  as_bad(pcVar8,pcVar9);\n                  goto LAB_00139961;\n                }" { (expression_statement "uVar13 = 0x10000;" (assignment_expression "uVar13 = 0x10000" identifier = number_literal) ;) (expression_statement "pcVar9 = S_GET_NAME(psVar6);" (assignment_expression "pcVar9 = S_GET_NAME(psVar6)" identifier = (call_expression "S_GET_NAME(psVar6)" identifier (argument_list "(psVar6)" ( identifier )))) ;) (expression_statement "pcVar8 = (char *)dcgettext(0,"symbol \'%s\' is already defined",5);" (assignment_expression "pcVar8 = (char *)dcgettext(0,"symbol \'%s\' is already defined",5)" identifier = (cast_expression "(char *)dcgettext(0,"symbol \'%s\' is already defined",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,"symbol \'%s\' is already defined",5)" identifier (argument_list "(0,"symbol \'%s\' is already defined",5)" ( number_literal , (string_literal ""symbol \'%s\' is already defined"" " string_content escape_sequence string_content escape_sequence string_content ") , number_literal ))))) ;) (expression_statement "as_bad(pcVar8,pcVar9);" (call_expression "as_bad(pcVar8,pcVar9)" identifier (argument_list "(pcVar8,pcVar9)" ( identifier , identifier ))) ;) (goto_statement "goto LAB_00139961;" goto statement_identifier ;) })) (expression_statement "S_SET_SEGMENT(psVar6,(segT)_bfd_std_section);" (call_expression "S_SET_SEGMENT(psVar6,(segT)_bfd_std_section)" identifier (argument_list "(psVar6,(segT)_bfd_std_section)" ( identifier , (cast_expression "(segT)_bfd_std_section" ( (type_descriptor "segT" type_identifier) ) identifier) ))) ;) (expression_statement "S_SET_VALUE(psVar6,0);" (call_expression "S_SET_VALUE(psVar6,0)" identifier (argument_list "(psVar6,0)" ( identifier , number_literal ))) ;) (expression_statement "S_SET_EXTERNAL(psVar6);" (call_expression "S_SET_EXTERNAL(psVar6)" identifier (argument_list "(psVar6)" ( identifier ))) ;) })) })) })) })) (expression_statement "uVar13 = 0x10000;" (assignment_expression "uVar13 = 0x10000" identifier = number_literal) ;) })) })) })) (labeled_statement "LAB_00139961:\n  *input_line_pointer = cVar4;" statement_identifier : (expression_statement "*input_line_pointer = cVar4;" (assignment_expression "*input_line_pointer = cVar4" (pointer_expression "*input_line_pointer" * identifier) = identifier) ;)) (if_statement "if (*input_line_pointer == '\"') {\n    input_line_pointer = input_line_pointer + 1;\n  }" if (parenthesized_expression "(*input_line_pointer == '\"')" ( (binary_expression "*input_line_pointer == '\"'" (pointer_expression "*input_line_pointer" * identifier) == (char_literal "'\"'" ' escape_sequence ')) )) (compound_statement "{\n    input_line_pointer = input_line_pointer + 1;\n  }" { (expression_statement "input_line_pointer = input_line_pointer + 1;" (assignment_expression "input_line_pointer = input_line_pointer + 1" identifier = (binary_expression "input_line_pointer + 1" identifier + number_literal)) ;) })) (expression_statement "paVar7->flags = paVar7->flags | uVar13;" (assignment_expression "paVar7->flags = paVar7->flags | uVar13" (field_expression "paVar7->flags" identifier -> field_identifier) = (binary_expression "paVar7->flags | uVar13" (field_expression "paVar7->flags" identifier -> field_identifier) | identifier)) ;) (expression_statement "demand_empty_rest_of_line();" (call_expression "demand_empty_rest_of_line()" identifier (argument_list "()" ( ))) ;) (return_statement "return;" return ;) })))
(translation_unit "void FUN_00139890(void)\n\n{\n  uint uVar1;\n  byte *__s1;\n  byte bVar2;\n  int iVar3;\n  undefined8 uVar4;\n  long lVar5;\n  undefined8 uVar6;\n  long lVar7;\n  byte bVar8;\n  byte *pbVar9;\n  byte *pbVar10;\n  uint uVar11;\n  undefined1 uVar12;\n  bool bVar13;\n  bool bVar14;\n  undefined1 uVar15;\n  bool bVar16;\n  byte bVar17;\n  byte *local_30;\n  \n  bVar17 = 0;\n  uVar4 = FUN_001394d0();\n  lVar5 = FUN_0012db90(uVar4);\n  bVar2 = *DAT_0019d9a0;\n  if (bVar2 == 0x2c) {\n    bVar2 = DAT_0019d9a0[1];\n    DAT_0019d9a0 = DAT_0019d9a0 + 1;\n  }\n  if (bVar2 == 0x20) {\n    bVar2 = DAT_0019d9a0[1];\n    DAT_0019d9a0 = DAT_0019d9a0 + 1;\n  }\n  if (((byte)(bVar2 - 0x22) < 0x1f) && ((0x4000000bUL >> ((ulong)(bVar2 - 0x22) & 0x3f) & 1) != 0))\n  {\n    DAT_0019d9a0 = DAT_0019d9a0 + 1;\n  }\n  local_30 = DAT_0019d9a0;\n  bVar2 = *DAT_0019d9a0 - 0x30;\n  uVar12 = bVar2 < 9;\n  uVar15 = bVar2 == 9;\n  if (bVar2 < 10) {\n    do {\n      DAT_0019d9a0 = DAT_0019d9a0 + 1;\n      bVar2 = *DAT_0019d9a0;\n      bVar8 = bVar2 - 0x30;\n      uVar12 = bVar8 < 9;\n      uVar15 = bVar8 == 9;\n    } while (bVar8 < 10);\n    *DAT_0019d9a0 = 0;\n  }\n  else {\n    bVar2 = FUN_00116b30(&local_30);\n  }\n  __s1 = local_30;\n  lVar7 = 9;\n  uVar11 = 8;\n  pbVar9 = local_30;\n  pbVar10 = (byte *)0x1464a7;\n  do {\n    if (lVar7 == 0) break;\n    lVar7 = lVar7 + -1;\n    uVar12 = *pbVar9 < *pbVar10;\n    uVar15 = *pbVar9 == *pbVar10;\n    pbVar9 = pbVar9 + (ulong)bVar17 * -2 + 1;\n    pbVar10 = pbVar10 + (ulong)bVar17 * -2 + 1;\n  } while ((bool)uVar15);\n  bVar13 = false;\n  bVar16 = (!(bool)uVar12 && !(bool)uVar15) == (bool)uVar12;\n  if (!bVar16) {\n    lVar7 = 2;\n    pbVar9 = local_30;\n    pbVar10 = (byte *)0x14246c;\n    do {\n      if (lVar7 == 0) break;\n      lVar7 = lVar7 + -1;\n      bVar13 = *pbVar9 < *pbVar10;\n      bVar16 = *pbVar9 == *pbVar10;\n      pbVar9 = pbVar9 + (ulong)bVar17 * -2 + 1;\n      pbVar10 = pbVar10 + (ulong)bVar17 * -2 + 1;\n    } while (bVar16);\n    bVar14 = false;\n    bVar13 = (!bVar13 && !bVar16) == bVar13;\n    if (!bVar13) {\n      lVar7 = 9;\n      pbVar9 = local_30;\n      pbVar10 = (byte *)"STT_FUNC";\n      do {\n        if (lVar7 == 0) break;\n        lVar7 = lVar7 + -1;\n        bVar14 = *pbVar9 < *pbVar10;\n        bVar13 = *pbVar9 == *pbVar10;\n        pbVar9 = pbVar9 + (ulong)bVar17 * -2 + 1;\n        pbVar10 = pbVar10 + (ulong)bVar17 * -2 + 1;\n      } while (bVar13);\n      bVar16 = false;\n      bVar13 = (!bVar14 && !bVar13) == bVar14;\n      if (!bVar13) {\n        lVar7 = 7;\n        pbVar9 = local_30;\n        pbVar10 = (byte *)0x1464c9;\n        do {\n          if (lVar7 == 0) break;\n          lVar7 = lVar7 + -1;\n          bVar16 = *pbVar9 < *pbVar10;\n          bVar13 = *pbVar9 == *pbVar10;\n          pbVar9 = pbVar9 + (ulong)bVar17 * -2 + 1;\n          pbVar10 = pbVar10 + (ulong)bVar17 * -2 + 1;\n        } while (bVar13);\n        bVar14 = false;\n        bVar13 = (!bVar16 && !bVar13) == bVar16;\n        if (!bVar13) {\n          lVar7 = 2;\n          pbVar9 = local_30;\n          pbVar10 = (byte *)0x13f34c;\n          do {\n            if (lVar7 == 0) break;\n            lVar7 = lVar7 + -1;\n            bVar14 = *pbVar9 < *pbVar10;\n            bVar13 = *pbVar9 == *pbVar10;\n            pbVar9 = pbVar9 + (ulong)bVar17 * -2 + 1;\n            pbVar10 = pbVar10 + (ulong)bVar17 * -2 + 1;\n          } while (bVar13);\n          bVar16 = false;\n          bVar13 = (!bVar14 && !bVar13) == bVar14;\n          if (!bVar13) {\n            lVar7 = 0xb;\n            pbVar9 = local_30;\n            pbVar10 = (byte *)"STT_OBJECT";\n            do {\n              if (lVar7 == 0) break;\n              lVar7 = lVar7 + -1;\n              bVar16 = *pbVar9 < *pbVar10;\n              bVar13 = *pbVar9 == *pbVar10;\n              pbVar9 = pbVar9 + (ulong)bVar17 * -2 + 1;\n              pbVar10 = pbVar10 + (ulong)bVar17 * -2 + 1;\n            } while (bVar13);\n            bVar14 = false;\n            bVar13 = (!bVar16 && !bVar13) == bVar16;\n            if (!bVar13) {\n              lVar7 = 0xb;\n              uVar11 = 0x50000;\n              pbVar9 = local_30;\n              pbVar10 = (byte *)"tls_object";\n              do {\n                if (lVar7 == 0) break;\n                lVar7 = lVar7 + -1;\n                bVar14 = *pbVar9 < *pbVar10;\n                bVar13 = *pbVar9 == *pbVar10;\n                pbVar9 = pbVar9 + (ulong)bVar17 * -2 + 1;\n                pbVar10 = pbVar10 + (ulong)bVar17 * -2 + 1;\n              } while (bVar13);\n              bVar16 = false;\n              bVar13 = (!bVar14 && !bVar13) == bVar14;\n              if (bVar13) goto LAB_00139961;\n              lVar7 = 2;\n              pbVar9 = local_30;\n              pbVar10 = &DAT_001448ab;\n              do {\n                if (lVar7 == 0) break;\n                lVar7 = lVar7 + -1;\n                bVar16 = *pbVar9 < *pbVar10;\n                bVar13 = *pbVar9 == *pbVar10;\n                pbVar9 = pbVar9 + (ulong)bVar17 * -2 + 1;\n                pbVar10 = pbVar10 + (ulong)bVar17 * -2 + 1;\n              } while (bVar13);\n              bVar14 = false;\n              bVar13 = (!bVar16 && !bVar13) == bVar16;\n              if (bVar13) goto LAB_00139961;\n              lVar7 = 8;\n              pbVar9 = local_30;\n              pbVar10 = (byte *)"STT_TLS";\n              do {\n                if (lVar7 == 0) break;\n                lVar7 = lVar7 + -1;\n                bVar14 = *pbVar9 < *pbVar10;\n                bVar13 = *pbVar9 == *pbVar10;\n                pbVar9 = pbVar9 + (ulong)bVar17 * -2 + 1;\n                pbVar10 = pbVar10 + (ulong)bVar17 * -2 + 1;\n              } while (bVar13);\n              bVar16 = false;\n              bVar13 = (!bVar14 && !bVar13) == bVar14;\n              if (bVar13) goto LAB_00139961;\n              lVar7 = 7;\n              pbVar9 = local_30;\n              pbVar10 = (byte *)"notype";\n              do {\n                if (lVar7 == 0) break;\n                lVar7 = lVar7 + -1;\n                bVar16 = *pbVar9 < *pbVar10;\n                bVar13 = *pbVar9 == *pbVar10;\n                pbVar9 = pbVar9 + (ulong)bVar17 * -2 + 1;\n                pbVar10 = pbVar10 + (ulong)bVar17 * -2 + 1;\n              } while (bVar13);\n              uVar11 = 0;\n              if ((((!bVar16 && !bVar13) == bVar16) ||\n                  (iVar3 = strcmp((char *)local_30,"0"), iVar3 == 0)) ||\n                 (iVar3 = strcmp((char *)__s1,"STT_NOTYPE"), iVar3 == 0)) goto LAB_00139961;\n              iVar3 = strcmp((char *)__s1,"common");\n              if (((iVar3 != 0) && (iVar3 = strcmp((char *)__s1,"5"), iVar3 != 0)) &&\n                 (iVar3 = strcmp((char *)__s1,"STT_COMMON"), iVar3 != 0)) {\n                iVar3 = strcmp((char *)__s1,"gnu_indirect_function");\n                if (((iVar3 == 0) || (iVar3 = strcmp((char *)__s1,"10"), iVar3 == 0)) ||\n                   (iVar3 = strcmp((char *)__s1,"STT_GNU_IFUNC"), iVar3 == 0)) {\n                  uVar1 = *(uint *)(*(long *)(*(long *)(DAT_0019d970 + 8) + 0x368) + 0xc);\n                  if ((9 < uVar1) ||\n                     (uVar11 = 0x400008, (0x209UL >> ((ulong)uVar1 & 0x3f) & 1) == 0)) {\n                    uVar11 = 0x400008;\n                    uVar4 = dcgettext(0,\n                                      "symbol type \"%s\" is supported only by GNU and FreeBSD targets"\n                                      ,5);\n                    FUN_0011f6d0(uVar4,__s1);\n                  }\n                }\n                else {\n                  iVar3 = strcmp((char *)__s1,"gnu_unique_object");\n                  if (iVar3 == 0) {\n                    lVar7 = *(long *)(*(long *)(DAT_0019d970 + 8) + 0x368);\n                    iVar3 = *(int *)(lVar7 + 0xc);\n                    if ((iVar3 != 3) && (iVar3 != 0)) {\n                      uVar4 = dcgettext(0,"symbol type \"%s\" is supported only by GNU targets",5);\n                      FUN_0011f6d0(uVar4,__s1);\n                    }\n                    *(undefined4 *)(lVar7 + 0xc) = 3;\n                    uVar11 = 0x810000;\n                  }\n                  else {\n                    uVar4 = dcgettext(0,"unrecognized symbol type \"%s\"",5);\n                    FUN_0011f6d0(uVar4,__s1);\n                  }\n                }\n                goto LAB_00139961;\n              }\n              iVar3 = FUN_0012ac00(uVar4);\n              if (iVar3 == 0) {\n                iVar3 = FUN_0012aed0(uVar4);\n                if (iVar3 != 0) {\n                  uVar11 = 0x10000;\n                  uVar4 = FUN_0012c530(uVar4,1);\n                  FUN_0012af90(uVar4,_bfd_std_section);\n                  FUN_0012aa50(uVar4,0);\n                  FUN_0012c440(uVar4);\n                  FUN_0012d650(uVar4,&DAT_0019d720);\n                  FUN_0012d370(uVar4);\n                  goto LAB_00139961;\n                }\n                iVar3 = FUN_0012ac30(uVar4);\n                if ((iVar3 != 0) || (iVar3 = FUN_0012da60(uVar4), iVar3 != 0)) {\n                  uVar11 = 0x10000;\n                  uVar4 = FUN_0012af30(uVar4);\n                  uVar6 = dcgettext(0,"symbol \'%s\' is already defined",5);\n                  FUN_0011f6d0(uVar6,uVar4);\n                  goto LAB_00139961;\n                }\n                FUN_0012af90(uVar4,_bfd_std_section);\n                FUN_0012aa50(uVar4,0);\n                FUN_0012c440(uVar4);\n              }\n            }\n          }\n        }\n        uVar11 = 0x10000;\n      }\n    }\n  }\nLAB_00139961:\n  *DAT_0019d9a0 = bVar2;\n  if (*DAT_0019d9a0 == 0x22) {\n    DAT_0019d9a0 = DAT_0019d9a0 + 1;\n  }\n  *(uint *)(lVar5 + 0x18) = *(uint *)(lVar5 + 0x18) | uVar11;\n  FUN_00121a20();\n  return;\n}\n\n" (function_definition "void FUN_00139890(void)\n\n{\n  uint uVar1;\n  byte *__s1;\n  byte bVar2;\n  int iVar3;\n  undefined8 uVar4;\n  long lVar5;\n  undefined8 uVar6;\n  long lVar7;\n  byte bVar8;\n  byte *pbVar9;\n  byte *pbVar10;\n  uint uVar11;\n  undefined1 uVar12;\n  bool bVar13;\n  bool bVar14;\n  undefined1 uVar15;\n  bool bVar16;\n  byte bVar17;\n  byte *local_30;\n  \n  bVar17 = 0;\n  uVar4 = FUN_001394d0();\n  lVar5 = FUN_0012db90(uVar4);\n  bVar2 = *DAT_0019d9a0;\n  if (bVar2 == 0x2c) {\n    bVar2 = DAT_0019d9a0[1];\n    DAT_0019d9a0 = DAT_0019d9a0 + 1;\n  }\n  if (bVar2 == 0x20) {\n    bVar2 = DAT_0019d9a0[1];\n    DAT_0019d9a0 = DAT_0019d9a0 + 1;\n  }\n  if (((byte)(bVar2 - 0x22) < 0x1f) && ((0x4000000bUL >> ((ulong)(bVar2 - 0x22) & 0x3f) & 1) != 0))\n  {\n    DAT_0019d9a0 = DAT_0019d9a0 + 1;\n  }\n  local_30 = DAT_0019d9a0;\n  bVar2 = *DAT_0019d9a0 - 0x30;\n  uVar12 = bVar2 < 9;\n  uVar15 = bVar2 == 9;\n  if (bVar2 < 10) {\n    do {\n      DAT_0019d9a0 = DAT_0019d9a0 + 1;\n      bVar2 = *DAT_0019d9a0;\n      bVar8 = bVar2 - 0x30;\n      uVar12 = bVar8 < 9;\n      uVar15 = bVar8 == 9;\n    } while (bVar8 < 10);\n    *DAT_0019d9a0 = 0;\n  }\n  else {\n    bVar2 = FUN_00116b30(&local_30);\n  }\n  __s1 = local_30;\n  lVar7 = 9;\n  uVar11 = 8;\n  pbVar9 = local_30;\n  pbVar10 = (byte *)0x1464a7;\n  do {\n    if (lVar7 == 0) break;\n    lVar7 = lVar7 + -1;\n    uVar12 = *pbVar9 < *pbVar10;\n    uVar15 = *pbVar9 == *pbVar10;\n    pbVar9 = pbVar9 + (ulong)bVar17 * -2 + 1;\n    pbVar10 = pbVar10 + (ulong)bVar17 * -2 + 1;\n  } while ((bool)uVar15);\n  bVar13 = false;\n  bVar16 = (!(bool)uVar12 && !(bool)uVar15) == (bool)uVar12;\n  if (!bVar16) {\n    lVar7 = 2;\n    pbVar9 = local_30;\n    pbVar10 = (byte *)0x14246c;\n    do {\n      if (lVar7 == 0) break;\n      lVar7 = lVar7 + -1;\n      bVar13 = *pbVar9 < *pbVar10;\n      bVar16 = *pbVar9 == *pbVar10;\n      pbVar9 = pbVar9 + (ulong)bVar17 * -2 + 1;\n      pbVar10 = pbVar10 + (ulong)bVar17 * -2 + 1;\n    } while (bVar16);\n    bVar14 = false;\n    bVar13 = (!bVar13 && !bVar16) == bVar13;\n    if (!bVar13) {\n      lVar7 = 9;\n      pbVar9 = local_30;\n      pbVar10 = (byte *)"STT_FUNC";\n      do {\n        if (lVar7 == 0) break;\n        lVar7 = lVar7 + -1;\n        bVar14 = *pbVar9 < *pbVar10;\n        bVar13 = *pbVar9 == *pbVar10;\n        pbVar9 = pbVar9 + (ulong)bVar17 * -2 + 1;\n        pbVar10 = pbVar10 + (ulong)bVar17 * -2 + 1;\n      } while (bVar13);\n      bVar16 = false;\n      bVar13 = (!bVar14 && !bVar13) == bVar14;\n      if (!bVar13) {\n        lVar7 = 7;\n        pbVar9 = local_30;\n        pbVar10 = (byte *)0x1464c9;\n        do {\n          if (lVar7 == 0) break;\n          lVar7 = lVar7 + -1;\n          bVar16 = *pbVar9 < *pbVar10;\n          bVar13 = *pbVar9 == *pbVar10;\n          pbVar9 = pbVar9 + (ulong)bVar17 * -2 + 1;\n          pbVar10 = pbVar10 + (ulong)bVar17 * -2 + 1;\n        } while (bVar13);\n        bVar14 = false;\n        bVar13 = (!bVar16 && !bVar13) == bVar16;\n        if (!bVar13) {\n          lVar7 = 2;\n          pbVar9 = local_30;\n          pbVar10 = (byte *)0x13f34c;\n          do {\n            if (lVar7 == 0) break;\n            lVar7 = lVar7 + -1;\n            bVar14 = *pbVar9 < *pbVar10;\n            bVar13 = *pbVar9 == *pbVar10;\n            pbVar9 = pbVar9 + (ulong)bVar17 * -2 + 1;\n            pbVar10 = pbVar10 + (ulong)bVar17 * -2 + 1;\n          } while (bVar13);\n          bVar16 = false;\n          bVar13 = (!bVar14 && !bVar13) == bVar14;\n          if (!bVar13) {\n            lVar7 = 0xb;\n            pbVar9 = local_30;\n            pbVar10 = (byte *)"STT_OBJECT";\n            do {\n              if (lVar7 == 0) break;\n              lVar7 = lVar7 + -1;\n              bVar16 = *pbVar9 < *pbVar10;\n              bVar13 = *pbVar9 == *pbVar10;\n              pbVar9 = pbVar9 + (ulong)bVar17 * -2 + 1;\n              pbVar10 = pbVar10 + (ulong)bVar17 * -2 + 1;\n            } while (bVar13);\n            bVar14 = false;\n            bVar13 = (!bVar16 && !bVar13) == bVar16;\n            if (!bVar13) {\n              lVar7 = 0xb;\n              uVar11 = 0x50000;\n              pbVar9 = local_30;\n              pbVar10 = (byte *)"tls_object";\n              do {\n                if (lVar7 == 0) break;\n                lVar7 = lVar7 + -1;\n                bVar14 = *pbVar9 < *pbVar10;\n                bVar13 = *pbVar9 == *pbVar10;\n                pbVar9 = pbVar9 + (ulong)bVar17 * -2 + 1;\n                pbVar10 = pbVar10 + (ulong)bVar17 * -2 + 1;\n              } while (bVar13);\n              bVar16 = false;\n              bVar13 = (!bVar14 && !bVar13) == bVar14;\n              if (bVar13) goto LAB_00139961;\n              lVar7 = 2;\n              pbVar9 = local_30;\n              pbVar10 = &DAT_001448ab;\n              do {\n                if (lVar7 == 0) break;\n                lVar7 = lVar7 + -1;\n                bVar16 = *pbVar9 < *pbVar10;\n                bVar13 = *pbVar9 == *pbVar10;\n                pbVar9 = pbVar9 + (ulong)bVar17 * -2 + 1;\n                pbVar10 = pbVar10 + (ulong)bVar17 * -2 + 1;\n              } while (bVar13);\n              bVar14 = false;\n              bVar13 = (!bVar16 && !bVar13) == bVar16;\n              if (bVar13) goto LAB_00139961;\n              lVar7 = 8;\n              pbVar9 = local_30;\n              pbVar10 = (byte *)"STT_TLS";\n              do {\n                if (lVar7 == 0) break;\n                lVar7 = lVar7 + -1;\n                bVar14 = *pbVar9 < *pbVar10;\n                bVar13 = *pbVar9 == *pbVar10;\n                pbVar9 = pbVar9 + (ulong)bVar17 * -2 + 1;\n                pbVar10 = pbVar10 + (ulong)bVar17 * -2 + 1;\n              } while (bVar13);\n              bVar16 = false;\n              bVar13 = (!bVar14 && !bVar13) == bVar14;\n              if (bVar13) goto LAB_00139961;\n              lVar7 = 7;\n              pbVar9 = local_30;\n              pbVar10 = (byte *)"notype";\n              do {\n                if (lVar7 == 0) break;\n                lVar7 = lVar7 + -1;\n                bVar16 = *pbVar9 < *pbVar10;\n                bVar13 = *pbVar9 == *pbVar10;\n                pbVar9 = pbVar9 + (ulong)bVar17 * -2 + 1;\n                pbVar10 = pbVar10 + (ulong)bVar17 * -2 + 1;\n              } while (bVar13);\n              uVar11 = 0;\n              if ((((!bVar16 && !bVar13) == bVar16) ||\n                  (iVar3 = strcmp((char *)local_30,"0"), iVar3 == 0)) ||\n                 (iVar3 = strcmp((char *)__s1,"STT_NOTYPE"), iVar3 == 0)) goto LAB_00139961;\n              iVar3 = strcmp((char *)__s1,"common");\n              if (((iVar3 != 0) && (iVar3 = strcmp((char *)__s1,"5"), iVar3 != 0)) &&\n                 (iVar3 = strcmp((char *)__s1,"STT_COMMON"), iVar3 != 0)) {\n                iVar3 = strcmp((char *)__s1,"gnu_indirect_function");\n                if (((iVar3 == 0) || (iVar3 = strcmp((char *)__s1,"10"), iVar3 == 0)) ||\n                   (iVar3 = strcmp((char *)__s1,"STT_GNU_IFUNC"), iVar3 == 0)) {\n                  uVar1 = *(uint *)(*(long *)(*(long *)(DAT_0019d970 + 8) + 0x368) + 0xc);\n                  if ((9 < uVar1) ||\n                     (uVar11 = 0x400008, (0x209UL >> ((ulong)uVar1 & 0x3f) & 1) == 0)) {\n                    uVar11 = 0x400008;\n                    uVar4 = dcgettext(0,\n                                      "symbol type \"%s\" is supported only by GNU and FreeBSD targets"\n                                      ,5);\n                    FUN_0011f6d0(uVar4,__s1);\n                  }\n                }\n                else {\n                  iVar3 = strcmp((char *)__s1,"gnu_unique_object");\n                  if (iVar3 == 0) {\n                    lVar7 = *(long *)(*(long *)(DAT_0019d970 + 8) + 0x368);\n                    iVar3 = *(int *)(lVar7 + 0xc);\n                    if ((iVar3 != 3) && (iVar3 != 0)) {\n                      uVar4 = dcgettext(0,"symbol type \"%s\" is supported only by GNU targets",5);\n                      FUN_0011f6d0(uVar4,__s1);\n                    }\n                    *(undefined4 *)(lVar7 + 0xc) = 3;\n                    uVar11 = 0x810000;\n                  }\n                  else {\n                    uVar4 = dcgettext(0,"unrecognized symbol type \"%s\"",5);\n                    FUN_0011f6d0(uVar4,__s1);\n                  }\n                }\n                goto LAB_00139961;\n              }\n              iVar3 = FUN_0012ac00(uVar4);\n              if (iVar3 == 0) {\n                iVar3 = FUN_0012aed0(uVar4);\n                if (iVar3 != 0) {\n                  uVar11 = 0x10000;\n                  uVar4 = FUN_0012c530(uVar4,1);\n                  FUN_0012af90(uVar4,_bfd_std_section);\n                  FUN_0012aa50(uVar4,0);\n                  FUN_0012c440(uVar4);\n                  FUN_0012d650(uVar4,&DAT_0019d720);\n                  FUN_0012d370(uVar4);\n                  goto LAB_00139961;\n                }\n                iVar3 = FUN_0012ac30(uVar4);\n                if ((iVar3 != 0) || (iVar3 = FUN_0012da60(uVar4), iVar3 != 0)) {\n                  uVar11 = 0x10000;\n                  uVar4 = FUN_0012af30(uVar4);\n                  uVar6 = dcgettext(0,"symbol \'%s\' is already defined",5);\n                  FUN_0011f6d0(uVar6,uVar4);\n                  goto LAB_00139961;\n                }\n                FUN_0012af90(uVar4,_bfd_std_section);\n                FUN_0012aa50(uVar4,0);\n                FUN_0012c440(uVar4);\n              }\n            }\n          }\n        }\n        uVar11 = 0x10000;\n      }\n    }\n  }\nLAB_00139961:\n  *DAT_0019d9a0 = bVar2;\n  if (*DAT_0019d9a0 == 0x22) {\n    DAT_0019d9a0 = DAT_0019d9a0 + 1;\n  }\n  *(uint *)(lVar5 + 0x18) = *(uint *)(lVar5 + 0x18) | uVar11;\n  FUN_00121a20();\n  return;\n}" primitive_type (function_declarator "FUN_00139890(void)" identifier (parameter_list "(void)" ( (parameter_declaration "void" primitive_type) ))) (compound_statement "{\n  uint uVar1;\n  byte *__s1;\n  byte bVar2;\n  int iVar3;\n  undefined8 uVar4;\n  long lVar5;\n  undefined8 uVar6;\n  long lVar7;\n  byte bVar8;\n  byte *pbVar9;\n  byte *pbVar10;\n  uint uVar11;\n  undefined1 uVar12;\n  bool bVar13;\n  bool bVar14;\n  undefined1 uVar15;\n  bool bVar16;\n  byte bVar17;\n  byte *local_30;\n  \n  bVar17 = 0;\n  uVar4 = FUN_001394d0();\n  lVar5 = FUN_0012db90(uVar4);\n  bVar2 = *DAT_0019d9a0;\n  if (bVar2 == 0x2c) {\n    bVar2 = DAT_0019d9a0[1];\n    DAT_0019d9a0 = DAT_0019d9a0 + 1;\n  }\n  if (bVar2 == 0x20) {\n    bVar2 = DAT_0019d9a0[1];\n    DAT_0019d9a0 = DAT_0019d9a0 + 1;\n  }\n  if (((byte)(bVar2 - 0x22) < 0x1f) && ((0x4000000bUL >> ((ulong)(bVar2 - 0x22) & 0x3f) & 1) != 0))\n  {\n    DAT_0019d9a0 = DAT_0019d9a0 + 1;\n  }\n  local_30 = DAT_0019d9a0;\n  bVar2 = *DAT_0019d9a0 - 0x30;\n  uVar12 = bVar2 < 9;\n  uVar15 = bVar2 == 9;\n  if (bVar2 < 10) {\n    do {\n      DAT_0019d9a0 = DAT_0019d9a0 + 1;\n      bVar2 = *DAT_0019d9a0;\n      bVar8 = bVar2 - 0x30;\n      uVar12 = bVar8 < 9;\n      uVar15 = bVar8 == 9;\n    } while (bVar8 < 10);\n    *DAT_0019d9a0 = 0;\n  }\n  else {\n    bVar2 = FUN_00116b30(&local_30);\n  }\n  __s1 = local_30;\n  lVar7 = 9;\n  uVar11 = 8;\n  pbVar9 = local_30;\n  pbVar10 = (byte *)0x1464a7;\n  do {\n    if (lVar7 == 0) break;\n    lVar7 = lVar7 + -1;\n    uVar12 = *pbVar9 < *pbVar10;\n    uVar15 = *pbVar9 == *pbVar10;\n    pbVar9 = pbVar9 + (ulong)bVar17 * -2 + 1;\n    pbVar10 = pbVar10 + (ulong)bVar17 * -2 + 1;\n  } while ((bool)uVar15);\n  bVar13 = false;\n  bVar16 = (!(bool)uVar12 && !(bool)uVar15) == (bool)uVar12;\n  if (!bVar16) {\n    lVar7 = 2;\n    pbVar9 = local_30;\n    pbVar10 = (byte *)0x14246c;\n    do {\n      if (lVar7 == 0) break;\n      lVar7 = lVar7 + -1;\n      bVar13 = *pbVar9 < *pbVar10;\n      bVar16 = *pbVar9 == *pbVar10;\n      pbVar9 = pbVar9 + (ulong)bVar17 * -2 + 1;\n      pbVar10 = pbVar10 + (ulong)bVar17 * -2 + 1;\n    } while (bVar16);\n    bVar14 = false;\n    bVar13 = (!bVar13 && !bVar16) == bVar13;\n    if (!bVar13) {\n      lVar7 = 9;\n      pbVar9 = local_30;\n      pbVar10 = (byte *)"STT_FUNC";\n      do {\n        if (lVar7 == 0) break;\n        lVar7 = lVar7 + -1;\n        bVar14 = *pbVar9 < *pbVar10;\n        bVar13 = *pbVar9 == *pbVar10;\n        pbVar9 = pbVar9 + (ulong)bVar17 * -2 + 1;\n        pbVar10 = pbVar10 + (ulong)bVar17 * -2 + 1;\n      } while (bVar13);\n      bVar16 = false;\n      bVar13 = (!bVar14 && !bVar13) == bVar14;\n      if (!bVar13) {\n        lVar7 = 7;\n        pbVar9 = local_30;\n        pbVar10 = (byte *)0x1464c9;\n        do {\n          if (lVar7 == 0) break;\n          lVar7 = lVar7 + -1;\n          bVar16 = *pbVar9 < *pbVar10;\n          bVar13 = *pbVar9 == *pbVar10;\n          pbVar9 = pbVar9 + (ulong)bVar17 * -2 + 1;\n          pbVar10 = pbVar10 + (ulong)bVar17 * -2 + 1;\n        } while (bVar13);\n        bVar14 = false;\n        bVar13 = (!bVar16 && !bVar13) == bVar16;\n        if (!bVar13) {\n          lVar7 = 2;\n          pbVar9 = local_30;\n          pbVar10 = (byte *)0x13f34c;\n          do {\n            if (lVar7 == 0) break;\n            lVar7 = lVar7 + -1;\n            bVar14 = *pbVar9 < *pbVar10;\n            bVar13 = *pbVar9 == *pbVar10;\n            pbVar9 = pbVar9 + (ulong)bVar17 * -2 + 1;\n            pbVar10 = pbVar10 + (ulong)bVar17 * -2 + 1;\n          } while (bVar13);\n          bVar16 = false;\n          bVar13 = (!bVar14 && !bVar13) == bVar14;\n          if (!bVar13) {\n            lVar7 = 0xb;\n            pbVar9 = local_30;\n            pbVar10 = (byte *)"STT_OBJECT";\n            do {\n              if (lVar7 == 0) break;\n              lVar7 = lVar7 + -1;\n              bVar16 = *pbVar9 < *pbVar10;\n              bVar13 = *pbVar9 == *pbVar10;\n              pbVar9 = pbVar9 + (ulong)bVar17 * -2 + 1;\n              pbVar10 = pbVar10 + (ulong)bVar17 * -2 + 1;\n            } while (bVar13);\n            bVar14 = false;\n            bVar13 = (!bVar16 && !bVar13) == bVar16;\n            if (!bVar13) {\n              lVar7 = 0xb;\n              uVar11 = 0x50000;\n              pbVar9 = local_30;\n              pbVar10 = (byte *)"tls_object";\n              do {\n                if (lVar7 == 0) break;\n                lVar7 = lVar7 + -1;\n                bVar14 = *pbVar9 < *pbVar10;\n                bVar13 = *pbVar9 == *pbVar10;\n                pbVar9 = pbVar9 + (ulong)bVar17 * -2 + 1;\n                pbVar10 = pbVar10 + (ulong)bVar17 * -2 + 1;\n              } while (bVar13);\n              bVar16 = false;\n              bVar13 = (!bVar14 && !bVar13) == bVar14;\n              if (bVar13) goto LAB_00139961;\n              lVar7 = 2;\n              pbVar9 = local_30;\n              pbVar10 = &DAT_001448ab;\n              do {\n                if (lVar7 == 0) break;\n                lVar7 = lVar7 + -1;\n                bVar16 = *pbVar9 < *pbVar10;\n                bVar13 = *pbVar9 == *pbVar10;\n                pbVar9 = pbVar9 + (ulong)bVar17 * -2 + 1;\n                pbVar10 = pbVar10 + (ulong)bVar17 * -2 + 1;\n              } while (bVar13);\n              bVar14 = false;\n              bVar13 = (!bVar16 && !bVar13) == bVar16;\n              if (bVar13) goto LAB_00139961;\n              lVar7 = 8;\n              pbVar9 = local_30;\n              pbVar10 = (byte *)"STT_TLS";\n              do {\n                if (lVar7 == 0) break;\n                lVar7 = lVar7 + -1;\n                bVar14 = *pbVar9 < *pbVar10;\n                bVar13 = *pbVar9 == *pbVar10;\n                pbVar9 = pbVar9 + (ulong)bVar17 * -2 + 1;\n                pbVar10 = pbVar10 + (ulong)bVar17 * -2 + 1;\n              } while (bVar13);\n              bVar16 = false;\n              bVar13 = (!bVar14 && !bVar13) == bVar14;\n              if (bVar13) goto LAB_00139961;\n              lVar7 = 7;\n              pbVar9 = local_30;\n              pbVar10 = (byte *)"notype";\n              do {\n                if (lVar7 == 0) break;\n                lVar7 = lVar7 + -1;\n                bVar16 = *pbVar9 < *pbVar10;\n                bVar13 = *pbVar9 == *pbVar10;\n                pbVar9 = pbVar9 + (ulong)bVar17 * -2 + 1;\n                pbVar10 = pbVar10 + (ulong)bVar17 * -2 + 1;\n              } while (bVar13);\n              uVar11 = 0;\n              if ((((!bVar16 && !bVar13) == bVar16) ||\n                  (iVar3 = strcmp((char *)local_30,"0"), iVar3 == 0)) ||\n                 (iVar3 = strcmp((char *)__s1,"STT_NOTYPE"), iVar3 == 0)) goto LAB_00139961;\n              iVar3 = strcmp((char *)__s1,"common");\n              if (((iVar3 != 0) && (iVar3 = strcmp((char *)__s1,"5"), iVar3 != 0)) &&\n                 (iVar3 = strcmp((char *)__s1,"STT_COMMON"), iVar3 != 0)) {\n                iVar3 = strcmp((char *)__s1,"gnu_indirect_function");\n                if (((iVar3 == 0) || (iVar3 = strcmp((char *)__s1,"10"), iVar3 == 0)) ||\n                   (iVar3 = strcmp((char *)__s1,"STT_GNU_IFUNC"), iVar3 == 0)) {\n                  uVar1 = *(uint *)(*(long *)(*(long *)(DAT_0019d970 + 8) + 0x368) + 0xc);\n                  if ((9 < uVar1) ||\n                     (uVar11 = 0x400008, (0x209UL >> ((ulong)uVar1 & 0x3f) & 1) == 0)) {\n                    uVar11 = 0x400008;\n                    uVar4 = dcgettext(0,\n                                      "symbol type \"%s\" is supported only by GNU and FreeBSD targets"\n                                      ,5);\n                    FUN_0011f6d0(uVar4,__s1);\n                  }\n                }\n                else {\n                  iVar3 = strcmp((char *)__s1,"gnu_unique_object");\n                  if (iVar3 == 0) {\n                    lVar7 = *(long *)(*(long *)(DAT_0019d970 + 8) + 0x368);\n                    iVar3 = *(int *)(lVar7 + 0xc);\n                    if ((iVar3 != 3) && (iVar3 != 0)) {\n                      uVar4 = dcgettext(0,"symbol type \"%s\" is supported only by GNU targets",5);\n                      FUN_0011f6d0(uVar4,__s1);\n                    }\n                    *(undefined4 *)(lVar7 + 0xc) = 3;\n                    uVar11 = 0x810000;\n                  }\n                  else {\n                    uVar4 = dcgettext(0,"unrecognized symbol type \"%s\"",5);\n                    FUN_0011f6d0(uVar4,__s1);\n                  }\n                }\n                goto LAB_00139961;\n              }\n              iVar3 = FUN_0012ac00(uVar4);\n              if (iVar3 == 0) {\n                iVar3 = FUN_0012aed0(uVar4);\n                if (iVar3 != 0) {\n                  uVar11 = 0x10000;\n                  uVar4 = FUN_0012c530(uVar4,1);\n                  FUN_0012af90(uVar4,_bfd_std_section);\n                  FUN_0012aa50(uVar4,0);\n                  FUN_0012c440(uVar4);\n                  FUN_0012d650(uVar4,&DAT_0019d720);\n                  FUN_0012d370(uVar4);\n                  goto LAB_00139961;\n                }\n                iVar3 = FUN_0012ac30(uVar4);\n                if ((iVar3 != 0) || (iVar3 = FUN_0012da60(uVar4), iVar3 != 0)) {\n                  uVar11 = 0x10000;\n                  uVar4 = FUN_0012af30(uVar4);\n                  uVar6 = dcgettext(0,"symbol \'%s\' is already defined",5);\n                  FUN_0011f6d0(uVar6,uVar4);\n                  goto LAB_00139961;\n                }\n                FUN_0012af90(uVar4,_bfd_std_section);\n                FUN_0012aa50(uVar4,0);\n                FUN_0012c440(uVar4);\n              }\n            }\n          }\n        }\n        uVar11 = 0x10000;\n      }\n    }\n  }\nLAB_00139961:\n  *DAT_0019d9a0 = bVar2;\n  if (*DAT_0019d9a0 == 0x22) {\n    DAT_0019d9a0 = DAT_0019d9a0 + 1;\n  }\n  *(uint *)(lVar5 + 0x18) = *(uint *)(lVar5 + 0x18) | uVar11;\n  FUN_00121a20();\n  return;\n}" { (declaration "uint uVar1;" type_identifier identifier ;) (declaration "byte *__s1;" type_identifier (pointer_declarator "*__s1" * identifier) ;) (declaration "byte bVar2;" type_identifier identifier ;) (declaration "int iVar3;" primitive_type identifier ;) (declaration "undefined8 uVar4;" type_identifier identifier ;) (declaration "long lVar5;" (sized_type_specifier "long" long) identifier ;) (declaration "undefined8 uVar6;" type_identifier identifier ;) (declaration "long lVar7;" (sized_type_specifier "long" long) identifier ;) (declaration "byte bVar8;" type_identifier identifier ;) (declaration "byte *pbVar9;" type_identifier (pointer_declarator "*pbVar9" * identifier) ;) (declaration "byte *pbVar10;" type_identifier (pointer_declarator "*pbVar10" * identifier) ;) (declaration "uint uVar11;" type_identifier identifier ;) (declaration "undefined1 uVar12;" type_identifier identifier ;) (declaration "bool bVar13;" primitive_type identifier ;) (declaration "bool bVar14;" primitive_type identifier ;) (declaration "undefined1 uVar15;" type_identifier identifier ;) (declaration "bool bVar16;" primitive_type identifier ;) (declaration "byte bVar17;" type_identifier identifier ;) (declaration "byte *local_30;" type_identifier (pointer_declarator "*local_30" * identifier) ;) (expression_statement "bVar17 = 0;" (assignment_expression "bVar17 = 0" identifier = number_literal) ;) (expression_statement "uVar4 = FUN_001394d0();" (assignment_expression "uVar4 = FUN_001394d0()" identifier = (call_expression "FUN_001394d0()" identifier (argument_list "()" ( )))) ;) (expression_statement "lVar5 = FUN_0012db90(uVar4);" (assignment_expression "lVar5 = FUN_0012db90(uVar4)" identifier = (call_expression "FUN_0012db90(uVar4)" identifier (argument_list "(uVar4)" ( identifier )))) ;) (expression_statement "bVar2 = *DAT_0019d9a0;" (assignment_expression "bVar2 = *DAT_0019d9a0" identifier = (pointer_expression "*DAT_0019d9a0" * identifier)) ;) (if_statement "if (bVar2 == 0x2c) {\n    bVar2 = DAT_0019d9a0[1];\n    DAT_0019d9a0 = DAT_0019d9a0 + 1;\n  }" if (parenthesized_expression "(bVar2 == 0x2c)" ( (binary_expression "bVar2 == 0x2c" identifier == number_literal) )) (compound_statement "{\n    bVar2 = DAT_0019d9a0[1];\n    DAT_0019d9a0 = DAT_0019d9a0 + 1;\n  }" { (expression_statement "bVar2 = DAT_0019d9a0[1];" (assignment_expression "bVar2 = DAT_0019d9a0[1]" identifier = (subscript_expression "DAT_0019d9a0[1]" identifier [ number_literal ])) ;) (expression_statement "DAT_0019d9a0 = DAT_0019d9a0 + 1;" (assignment_expression "DAT_0019d9a0 = DAT_0019d9a0 + 1" identifier = (binary_expression "DAT_0019d9a0 + 1" identifier + number_literal)) ;) })) (if_statement "if (bVar2 == 0x20) {\n    bVar2 = DAT_0019d9a0[1];\n    DAT_0019d9a0 = DAT_0019d9a0 + 1;\n  }" if (parenthesized_expression "(bVar2 == 0x20)" ( (binary_expression "bVar2 == 0x20" identifier == number_literal) )) (compound_statement "{\n    bVar2 = DAT_0019d9a0[1];\n    DAT_0019d9a0 = DAT_0019d9a0 + 1;\n  }" { (expression_statement "bVar2 = DAT_0019d9a0[1];" (assignment_expression "bVar2 = DAT_0019d9a0[1]" identifier = (subscript_expression "DAT_0019d9a0[1]" identifier [ number_literal ])) ;) (expression_statement "DAT_0019d9a0 = DAT_0019d9a0 + 1;" (assignment_expression "DAT_0019d9a0 = DAT_0019d9a0 + 1" identifier = (binary_expression "DAT_0019d9a0 + 1" identifier + number_literal)) ;) })) (if_statement "if (((byte)(bVar2 - 0x22) < 0x1f) && ((0x4000000bUL >> ((ulong)(bVar2 - 0x22) & 0x3f) & 1) != 0))\n  {\n    DAT_0019d9a0 = DAT_0019d9a0 + 1;\n  }" if (parenthesized_expression "(((byte)(bVar2 - 0x22) < 0x1f) && ((0x4000000bUL >> ((ulong)(bVar2 - 0x22) & 0x3f) & 1) != 0))" ( (binary_expression "((byte)(bVar2 - 0x22) < 0x1f) && ((0x4000000bUL >> ((ulong)(bVar2 - 0x22) & 0x3f) & 1) != 0)" (parenthesized_expression "((byte)(bVar2 - 0x22) < 0x1f)" ( (binary_expression "(byte)(bVar2 - 0x22) < 0x1f" (call_expression "(byte)(bVar2 - 0x22)" (parenthesized_expression "(byte)" ( identifier )) (argument_list "(bVar2 - 0x22)" ( (binary_expression "bVar2 - 0x22" identifier - number_literal) ))) < number_literal) )) && (parenthesized_expression "((0x4000000bUL >> ((ulong)(bVar2 - 0x22) & 0x3f) & 1) != 0)" ( (binary_expression "(0x4000000bUL >> ((ulong)(bVar2 - 0x22) & 0x3f) & 1) != 0" (parenthesized_expression "(0x4000000bUL >> ((ulong)(bVar2 - 0x22) & 0x3f) & 1)" ( (binary_expression "0x4000000bUL >> ((ulong)(bVar2 - 0x22) & 0x3f) & 1" (binary_expression "0x4000000bUL >> ((ulong)(bVar2 - 0x22) & 0x3f)" number_literal >> (parenthesized_expression "((ulong)(bVar2 - 0x22) & 0x3f)" ( (binary_expression "(ulong)(bVar2 - 0x22) & 0x3f" (call_expression "(ulong)(bVar2 - 0x22)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(bVar2 - 0x22)" ( (binary_expression "bVar2 - 0x22" identifier - number_literal) ))) & number_literal) ))) & number_literal) )) != number_literal) ))) )) (compound_statement "{\n    DAT_0019d9a0 = DAT_0019d9a0 + 1;\n  }" { (expression_statement "DAT_0019d9a0 = DAT_0019d9a0 + 1;" (assignment_expression "DAT_0019d9a0 = DAT_0019d9a0 + 1" identifier = (binary_expression "DAT_0019d9a0 + 1" identifier + number_literal)) ;) })) (expression_statement "local_30 = DAT_0019d9a0;" (assignment_expression "local_30 = DAT_0019d9a0" identifier = identifier) ;) (expression_statement "bVar2 = *DAT_0019d9a0 - 0x30;" (assignment_expression "bVar2 = *DAT_0019d9a0 - 0x30" identifier = (binary_expression "*DAT_0019d9a0 - 0x30" (pointer_expression "*DAT_0019d9a0" * identifier) - number_literal)) ;) (expression_statement "uVar12 = bVar2 < 9;" (assignment_expression "uVar12 = bVar2 < 9" identifier = (binary_expression "bVar2 < 9" identifier < number_literal)) ;) (expression_statement "uVar15 = bVar2 == 9;" (assignment_expression "uVar15 = bVar2 == 9" identifier = (binary_expression "bVar2 == 9" identifier == number_literal)) ;) (if_statement "if (bVar2 < 10) {\n    do {\n      DAT_0019d9a0 = DAT_0019d9a0 + 1;\n      bVar2 = *DAT_0019d9a0;\n      bVar8 = bVar2 - 0x30;\n      uVar12 = bVar8 < 9;\n      uVar15 = bVar8 == 9;\n    } while (bVar8 < 10);\n    *DAT_0019d9a0 = 0;\n  }\n  else {\n    bVar2 = FUN_00116b30(&local_30);\n  }" if (parenthesized_expression "(bVar2 < 10)" ( (binary_expression "bVar2 < 10" identifier < number_literal) )) (compound_statement "{\n    do {\n      DAT_0019d9a0 = DAT_0019d9a0 + 1;\n      bVar2 = *DAT_0019d9a0;\n      bVar8 = bVar2 - 0x30;\n      uVar12 = bVar8 < 9;\n      uVar15 = bVar8 == 9;\n    } while (bVar8 < 10);\n    *DAT_0019d9a0 = 0;\n  }" { (do_statement "do {\n      DAT_0019d9a0 = DAT_0019d9a0 + 1;\n      bVar2 = *DAT_0019d9a0;\n      bVar8 = bVar2 - 0x30;\n      uVar12 = bVar8 < 9;\n      uVar15 = bVar8 == 9;\n    } while (bVar8 < 10);" do (compound_statement "{\n      DAT_0019d9a0 = DAT_0019d9a0 + 1;\n      bVar2 = *DAT_0019d9a0;\n      bVar8 = bVar2 - 0x30;\n      uVar12 = bVar8 < 9;\n      uVar15 = bVar8 == 9;\n    }" { (expression_statement "DAT_0019d9a0 = DAT_0019d9a0 + 1;" (assignment_expression "DAT_0019d9a0 = DAT_0019d9a0 + 1" identifier = (binary_expression "DAT_0019d9a0 + 1" identifier + number_literal)) ;) (expression_statement "bVar2 = *DAT_0019d9a0;" (assignment_expression "bVar2 = *DAT_0019d9a0" identifier = (pointer_expression "*DAT_0019d9a0" * identifier)) ;) (expression_statement "bVar8 = bVar2 - 0x30;" (assignment_expression "bVar8 = bVar2 - 0x30" identifier = (binary_expression "bVar2 - 0x30" identifier - number_literal)) ;) (expression_statement "uVar12 = bVar8 < 9;" (assignment_expression "uVar12 = bVar8 < 9" identifier = (binary_expression "bVar8 < 9" identifier < number_literal)) ;) (expression_statement "uVar15 = bVar8 == 9;" (assignment_expression "uVar15 = bVar8 == 9" identifier = (binary_expression "bVar8 == 9" identifier == number_literal)) ;) }) while (parenthesized_expression "(bVar8 < 10)" ( (binary_expression "bVar8 < 10" identifier < number_literal) )) ;) (expression_statement "*DAT_0019d9a0 = 0;" (assignment_expression "*DAT_0019d9a0 = 0" (pointer_expression "*DAT_0019d9a0" * identifier) = number_literal) ;) }) (else_clause "else {\n    bVar2 = FUN_00116b30(&local_30);\n  }" else (compound_statement "{\n    bVar2 = FUN_00116b30(&local_30);\n  }" { (expression_statement "bVar2 = FUN_00116b30(&local_30);" (assignment_expression "bVar2 = FUN_00116b30(&local_30)" identifier = (call_expression "FUN_00116b30(&local_30)" identifier (argument_list "(&local_30)" ( (pointer_expression "&local_30" & identifier) )))) ;) }))) (expression_statement "__s1 = local_30;" (assignment_expression "__s1 = local_30" identifier = identifier) ;) (expression_statement "lVar7 = 9;" (assignment_expression "lVar7 = 9" identifier = number_literal) ;) (expression_statement "uVar11 = 8;" (assignment_expression "uVar11 = 8" identifier = number_literal) ;) (expression_statement "pbVar9 = local_30;" (assignment_expression "pbVar9 = local_30" identifier = identifier) ;) (expression_statement "pbVar10 = (byte *)0x1464a7;" (assignment_expression "pbVar10 = (byte *)0x1464a7" identifier = (cast_expression "(byte *)0x1464a7" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (do_statement "do {\n    if (lVar7 == 0) break;\n    lVar7 = lVar7 + -1;\n    uVar12 = *pbVar9 < *pbVar10;\n    uVar15 = *pbVar9 == *pbVar10;\n    pbVar9 = pbVar9 + (ulong)bVar17 * -2 + 1;\n    pbVar10 = pbVar10 + (ulong)bVar17 * -2 + 1;\n  } while ((bool)uVar15);" do (compound_statement "{\n    if (lVar7 == 0) break;\n    lVar7 = lVar7 + -1;\n    uVar12 = *pbVar9 < *pbVar10;\n    uVar15 = *pbVar9 == *pbVar10;\n    pbVar9 = pbVar9 + (ulong)bVar17 * -2 + 1;\n    pbVar10 = pbVar10 + (ulong)bVar17 * -2 + 1;\n  }" { (if_statement "if (lVar7 == 0) break;" if (parenthesized_expression "(lVar7 == 0)" ( (binary_expression "lVar7 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "lVar7 = lVar7 + -1;" (assignment_expression "lVar7 = lVar7 + -1" identifier = (binary_expression "lVar7 + -1" identifier + number_literal)) ;) (expression_statement "uVar12 = *pbVar9 < *pbVar10;" (assignment_expression "uVar12 = *pbVar9 < *pbVar10" identifier = (binary_expression "*pbVar9 < *pbVar10" (pointer_expression "*pbVar9" * identifier) < (pointer_expression "*pbVar10" * identifier))) ;) (expression_statement "uVar15 = *pbVar9 == *pbVar10;" (assignment_expression "uVar15 = *pbVar9 == *pbVar10" identifier = (binary_expression "*pbVar9 == *pbVar10" (pointer_expression "*pbVar9" * identifier) == (pointer_expression "*pbVar10" * identifier))) ;) (expression_statement "pbVar9 = pbVar9 + (ulong)bVar17 * -2 + 1;" (assignment_expression "pbVar9 = pbVar9 + (ulong)bVar17 * -2 + 1" identifier = (binary_expression "pbVar9 + (ulong)bVar17 * -2 + 1" (binary_expression "pbVar9 + (ulong)bVar17 * -2" identifier + (binary_expression "(ulong)bVar17 * -2" (cast_expression "(ulong)bVar17" ( (type_descriptor "ulong" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) (expression_statement "pbVar10 = pbVar10 + (ulong)bVar17 * -2 + 1;" (assignment_expression "pbVar10 = pbVar10 + (ulong)bVar17 * -2 + 1" identifier = (binary_expression "pbVar10 + (ulong)bVar17 * -2 + 1" (binary_expression "pbVar10 + (ulong)bVar17 * -2" identifier + (binary_expression "(ulong)bVar17 * -2" (cast_expression "(ulong)bVar17" ( (type_descriptor "ulong" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) }) while (parenthesized_expression "((bool)uVar15)" ( (cast_expression "(bool)uVar15" ( (type_descriptor "bool" primitive_type) ) identifier) )) ;) (expression_statement "bVar13 = false;" (assignment_expression "bVar13 = false" identifier = false) ;) (expression_statement "bVar16 = (!(bool)uVar12 && !(bool)uVar15) == (bool)uVar12;" (assignment_expression "bVar16 = (!(bool)uVar12 && !(bool)uVar15) == (bool)uVar12" identifier = (binary_expression "(!(bool)uVar12 && !(bool)uVar15) == (bool)uVar12" (parenthesized_expression "(!(bool)uVar12 && !(bool)uVar15)" ( (binary_expression "!(bool)uVar12 && !(bool)uVar15" (unary_expression "!(bool)uVar12" ! (cast_expression "(bool)uVar12" ( (type_descriptor "bool" primitive_type) ) identifier)) && (unary_expression "!(bool)uVar15" ! (cast_expression "(bool)uVar15" ( (type_descriptor "bool" primitive_type) ) identifier))) )) == (cast_expression "(bool)uVar12" ( (type_descriptor "bool" primitive_type) ) identifier))) ;) (if_statement "if (!bVar16) {\n    lVar7 = 2;\n    pbVar9 = local_30;\n    pbVar10 = (byte *)0x14246c;\n    do {\n      if (lVar7 == 0) break;\n      lVar7 = lVar7 + -1;\n      bVar13 = *pbVar9 < *pbVar10;\n      bVar16 = *pbVar9 == *pbVar10;\n      pbVar9 = pbVar9 + (ulong)bVar17 * -2 + 1;\n      pbVar10 = pbVar10 + (ulong)bVar17 * -2 + 1;\n    } while (bVar16);\n    bVar14 = false;\n    bVar13 = (!bVar13 && !bVar16) == bVar13;\n    if (!bVar13) {\n      lVar7 = 9;\n      pbVar9 = local_30;\n      pbVar10 = (byte *)"STT_FUNC";\n      do {\n        if (lVar7 == 0) break;\n        lVar7 = lVar7 + -1;\n        bVar14 = *pbVar9 < *pbVar10;\n        bVar13 = *pbVar9 == *pbVar10;\n        pbVar9 = pbVar9 + (ulong)bVar17 * -2 + 1;\n        pbVar10 = pbVar10 + (ulong)bVar17 * -2 + 1;\n      } while (bVar13);\n      bVar16 = false;\n      bVar13 = (!bVar14 && !bVar13) == bVar14;\n      if (!bVar13) {\n        lVar7 = 7;\n        pbVar9 = local_30;\n        pbVar10 = (byte *)0x1464c9;\n        do {\n          if (lVar7 == 0) break;\n          lVar7 = lVar7 + -1;\n          bVar16 = *pbVar9 < *pbVar10;\n          bVar13 = *pbVar9 == *pbVar10;\n          pbVar9 = pbVar9 + (ulong)bVar17 * -2 + 1;\n          pbVar10 = pbVar10 + (ulong)bVar17 * -2 + 1;\n        } while (bVar13);\n        bVar14 = false;\n        bVar13 = (!bVar16 && !bVar13) == bVar16;\n        if (!bVar13) {\n          lVar7 = 2;\n          pbVar9 = local_30;\n          pbVar10 = (byte *)0x13f34c;\n          do {\n            if (lVar7 == 0) break;\n            lVar7 = lVar7 + -1;\n            bVar14 = *pbVar9 < *pbVar10;\n            bVar13 = *pbVar9 == *pbVar10;\n            pbVar9 = pbVar9 + (ulong)bVar17 * -2 + 1;\n            pbVar10 = pbVar10 + (ulong)bVar17 * -2 + 1;\n          } while (bVar13);\n          bVar16 = false;\n          bVar13 = (!bVar14 && !bVar13) == bVar14;\n          if (!bVar13) {\n            lVar7 = 0xb;\n            pbVar9 = local_30;\n            pbVar10 = (byte *)"STT_OBJECT";\n            do {\n              if (lVar7 == 0) break;\n              lVar7 = lVar7 + -1;\n              bVar16 = *pbVar9 < *pbVar10;\n              bVar13 = *pbVar9 == *pbVar10;\n              pbVar9 = pbVar9 + (ulong)bVar17 * -2 + 1;\n              pbVar10 = pbVar10 + (ulong)bVar17 * -2 + 1;\n            } while (bVar13);\n            bVar14 = false;\n            bVar13 = (!bVar16 && !bVar13) == bVar16;\n            if (!bVar13) {\n              lVar7 = 0xb;\n              uVar11 = 0x50000;\n              pbVar9 = local_30;\n              pbVar10 = (byte *)"tls_object";\n              do {\n                if (lVar7 == 0) break;\n                lVar7 = lVar7 + -1;\n                bVar14 = *pbVar9 < *pbVar10;\n                bVar13 = *pbVar9 == *pbVar10;\n                pbVar9 = pbVar9 + (ulong)bVar17 * -2 + 1;\n                pbVar10 = pbVar10 + (ulong)bVar17 * -2 + 1;\n              } while (bVar13);\n              bVar16 = false;\n              bVar13 = (!bVar14 && !bVar13) == bVar14;\n              if (bVar13) goto LAB_00139961;\n              lVar7 = 2;\n              pbVar9 = local_30;\n              pbVar10 = &DAT_001448ab;\n              do {\n                if (lVar7 == 0) break;\n                lVar7 = lVar7 + -1;\n                bVar16 = *pbVar9 < *pbVar10;\n                bVar13 = *pbVar9 == *pbVar10;\n                pbVar9 = pbVar9 + (ulong)bVar17 * -2 + 1;\n                pbVar10 = pbVar10 + (ulong)bVar17 * -2 + 1;\n              } while (bVar13);\n              bVar14 = false;\n              bVar13 = (!bVar16 && !bVar13) == bVar16;\n              if (bVar13) goto LAB_00139961;\n              lVar7 = 8;\n              pbVar9 = local_30;\n              pbVar10 = (byte *)"STT_TLS";\n              do {\n                if (lVar7 == 0) break;\n                lVar7 = lVar7 + -1;\n                bVar14 = *pbVar9 < *pbVar10;\n                bVar13 = *pbVar9 == *pbVar10;\n                pbVar9 = pbVar9 + (ulong)bVar17 * -2 + 1;\n                pbVar10 = pbVar10 + (ulong)bVar17 * -2 + 1;\n              } while (bVar13);\n              bVar16 = false;\n              bVar13 = (!bVar14 && !bVar13) == bVar14;\n              if (bVar13) goto LAB_00139961;\n              lVar7 = 7;\n              pbVar9 = local_30;\n              pbVar10 = (byte *)"notype";\n              do {\n                if (lVar7 == 0) break;\n                lVar7 = lVar7 + -1;\n                bVar16 = *pbVar9 < *pbVar10;\n                bVar13 = *pbVar9 == *pbVar10;\n                pbVar9 = pbVar9 + (ulong)bVar17 * -2 + 1;\n                pbVar10 = pbVar10 + (ulong)bVar17 * -2 + 1;\n              } while (bVar13);\n              uVar11 = 0;\n              if ((((!bVar16 && !bVar13) == bVar16) ||\n                  (iVar3 = strcmp((char *)local_30,"0"), iVar3 == 0)) ||\n                 (iVar3 = strcmp((char *)__s1,"STT_NOTYPE"), iVar3 == 0)) goto LAB_00139961;\n              iVar3 = strcmp((char *)__s1,"common");\n              if (((iVar3 != 0) && (iVar3 = strcmp((char *)__s1,"5"), iVar3 != 0)) &&\n                 (iVar3 = strcmp((char *)__s1,"STT_COMMON"), iVar3 != 0)) {\n                iVar3 = strcmp((char *)__s1,"gnu_indirect_function");\n                if (((iVar3 == 0) || (iVar3 = strcmp((char *)__s1,"10"), iVar3 == 0)) ||\n                   (iVar3 = strcmp((char *)__s1,"STT_GNU_IFUNC"), iVar3 == 0)) {\n                  uVar1 = *(uint *)(*(long *)(*(long *)(DAT_0019d970 + 8) + 0x368) + 0xc);\n                  if ((9 < uVar1) ||\n                     (uVar11 = 0x400008, (0x209UL >> ((ulong)uVar1 & 0x3f) & 1) == 0)) {\n                    uVar11 = 0x400008;\n                    uVar4 = dcgettext(0,\n                                      "symbol type \"%s\" is supported only by GNU and FreeBSD targets"\n                                      ,5);\n                    FUN_0011f6d0(uVar4,__s1);\n                  }\n                }\n                else {\n                  iVar3 = strcmp((char *)__s1,"gnu_unique_object");\n                  if (iVar3 == 0) {\n                    lVar7 = *(long *)(*(long *)(DAT_0019d970 + 8) + 0x368);\n                    iVar3 = *(int *)(lVar7 + 0xc);\n                    if ((iVar3 != 3) && (iVar3 != 0)) {\n                      uVar4 = dcgettext(0,"symbol type \"%s\" is supported only by GNU targets",5);\n                      FUN_0011f6d0(uVar4,__s1);\n                    }\n                    *(undefined4 *)(lVar7 + 0xc) = 3;\n                    uVar11 = 0x810000;\n                  }\n                  else {\n                    uVar4 = dcgettext(0,"unrecognized symbol type \"%s\"",5);\n                    FUN_0011f6d0(uVar4,__s1);\n                  }\n                }\n                goto LAB_00139961;\n              }\n              iVar3 = FUN_0012ac00(uVar4);\n              if (iVar3 == 0) {\n                iVar3 = FUN_0012aed0(uVar4);\n                if (iVar3 != 0) {\n                  uVar11 = 0x10000;\n                  uVar4 = FUN_0012c530(uVar4,1);\n                  FUN_0012af90(uVar4,_bfd_std_section);\n                  FUN_0012aa50(uVar4,0);\n                  FUN_0012c440(uVar4);\n                  FUN_0012d650(uVar4,&DAT_0019d720);\n                  FUN_0012d370(uVar4);\n                  goto LAB_00139961;\n                }\n                iVar3 = FUN_0012ac30(uVar4);\n                if ((iVar3 != 0) || (iVar3 = FUN_0012da60(uVar4), iVar3 != 0)) {\n                  uVar11 = 0x10000;\n                  uVar4 = FUN_0012af30(uVar4);\n                  uVar6 = dcgettext(0,"symbol \'%s\' is already defined",5);\n                  FUN_0011f6d0(uVar6,uVar4);\n                  goto LAB_00139961;\n                }\n                FUN_0012af90(uVar4,_bfd_std_section);\n                FUN_0012aa50(uVar4,0);\n                FUN_0012c440(uVar4);\n              }\n            }\n          }\n        }\n        uVar11 = 0x10000;\n      }\n    }\n  }" if (parenthesized_expression "(!bVar16)" ( (unary_expression "!bVar16" ! identifier) )) (compound_statement "{\n    lVar7 = 2;\n    pbVar9 = local_30;\n    pbVar10 = (byte *)0x14246c;\n    do {\n      if (lVar7 == 0) break;\n      lVar7 = lVar7 + -1;\n      bVar13 = *pbVar9 < *pbVar10;\n      bVar16 = *pbVar9 == *pbVar10;\n      pbVar9 = pbVar9 + (ulong)bVar17 * -2 + 1;\n      pbVar10 = pbVar10 + (ulong)bVar17 * -2 + 1;\n    } while (bVar16);\n    bVar14 = false;\n    bVar13 = (!bVar13 && !bVar16) == bVar13;\n    if (!bVar13) {\n      lVar7 = 9;\n      pbVar9 = local_30;\n      pbVar10 = (byte *)"STT_FUNC";\n      do {\n        if (lVar7 == 0) break;\n        lVar7 = lVar7 + -1;\n        bVar14 = *pbVar9 < *pbVar10;\n        bVar13 = *pbVar9 == *pbVar10;\n        pbVar9 = pbVar9 + (ulong)bVar17 * -2 + 1;\n        pbVar10 = pbVar10 + (ulong)bVar17 * -2 + 1;\n      } while (bVar13);\n      bVar16 = false;\n      bVar13 = (!bVar14 && !bVar13) == bVar14;\n      if (!bVar13) {\n        lVar7 = 7;\n        pbVar9 = local_30;\n        pbVar10 = (byte *)0x1464c9;\n        do {\n          if (lVar7 == 0) break;\n          lVar7 = lVar7 + -1;\n          bVar16 = *pbVar9 < *pbVar10;\n          bVar13 = *pbVar9 == *pbVar10;\n          pbVar9 = pbVar9 + (ulong)bVar17 * -2 + 1;\n          pbVar10 = pbVar10 + (ulong)bVar17 * -2 + 1;\n        } while (bVar13);\n        bVar14 = false;\n        bVar13 = (!bVar16 && !bVar13) == bVar16;\n        if (!bVar13) {\n          lVar7 = 2;\n          pbVar9 = local_30;\n          pbVar10 = (byte *)0x13f34c;\n          do {\n            if (lVar7 == 0) break;\n            lVar7 = lVar7 + -1;\n            bVar14 = *pbVar9 < *pbVar10;\n            bVar13 = *pbVar9 == *pbVar10;\n            pbVar9 = pbVar9 + (ulong)bVar17 * -2 + 1;\n            pbVar10 = pbVar10 + (ulong)bVar17 * -2 + 1;\n          } while (bVar13);\n          bVar16 = false;\n          bVar13 = (!bVar14 && !bVar13) == bVar14;\n          if (!bVar13) {\n            lVar7 = 0xb;\n            pbVar9 = local_30;\n            pbVar10 = (byte *)"STT_OBJECT";\n            do {\n              if (lVar7 == 0) break;\n              lVar7 = lVar7 + -1;\n              bVar16 = *pbVar9 < *pbVar10;\n              bVar13 = *pbVar9 == *pbVar10;\n              pbVar9 = pbVar9 + (ulong)bVar17 * -2 + 1;\n              pbVar10 = pbVar10 + (ulong)bVar17 * -2 + 1;\n            } while (bVar13);\n            bVar14 = false;\n            bVar13 = (!bVar16 && !bVar13) == bVar16;\n            if (!bVar13) {\n              lVar7 = 0xb;\n              uVar11 = 0x50000;\n              pbVar9 = local_30;\n              pbVar10 = (byte *)"tls_object";\n              do {\n                if (lVar7 == 0) break;\n                lVar7 = lVar7 + -1;\n                bVar14 = *pbVar9 < *pbVar10;\n                bVar13 = *pbVar9 == *pbVar10;\n                pbVar9 = pbVar9 + (ulong)bVar17 * -2 + 1;\n                pbVar10 = pbVar10 + (ulong)bVar17 * -2 + 1;\n              } while (bVar13);\n              bVar16 = false;\n              bVar13 = (!bVar14 && !bVar13) == bVar14;\n              if (bVar13) goto LAB_00139961;\n              lVar7 = 2;\n              pbVar9 = local_30;\n              pbVar10 = &DAT_001448ab;\n              do {\n                if (lVar7 == 0) break;\n                lVar7 = lVar7 + -1;\n                bVar16 = *pbVar9 < *pbVar10;\n                bVar13 = *pbVar9 == *pbVar10;\n                pbVar9 = pbVar9 + (ulong)bVar17 * -2 + 1;\n                pbVar10 = pbVar10 + (ulong)bVar17 * -2 + 1;\n              } while (bVar13);\n              bVar14 = false;\n              bVar13 = (!bVar16 && !bVar13) == bVar16;\n              if (bVar13) goto LAB_00139961;\n              lVar7 = 8;\n              pbVar9 = local_30;\n              pbVar10 = (byte *)"STT_TLS";\n              do {\n                if (lVar7 == 0) break;\n                lVar7 = lVar7 + -1;\n                bVar14 = *pbVar9 < *pbVar10;\n                bVar13 = *pbVar9 == *pbVar10;\n                pbVar9 = pbVar9 + (ulong)bVar17 * -2 + 1;\n                pbVar10 = pbVar10 + (ulong)bVar17 * -2 + 1;\n              } while (bVar13);\n              bVar16 = false;\n              bVar13 = (!bVar14 && !bVar13) == bVar14;\n              if (bVar13) goto LAB_00139961;\n              lVar7 = 7;\n              pbVar9 = local_30;\n              pbVar10 = (byte *)"notype";\n              do {\n                if (lVar7 == 0) break;\n                lVar7 = lVar7 + -1;\n                bVar16 = *pbVar9 < *pbVar10;\n                bVar13 = *pbVar9 == *pbVar10;\n                pbVar9 = pbVar9 + (ulong)bVar17 * -2 + 1;\n                pbVar10 = pbVar10 + (ulong)bVar17 * -2 + 1;\n              } while (bVar13);\n              uVar11 = 0;\n              if ((((!bVar16 && !bVar13) == bVar16) ||\n                  (iVar3 = strcmp((char *)local_30,"0"), iVar3 == 0)) ||\n                 (iVar3 = strcmp((char *)__s1,"STT_NOTYPE"), iVar3 == 0)) goto LAB_00139961;\n              iVar3 = strcmp((char *)__s1,"common");\n              if (((iVar3 != 0) && (iVar3 = strcmp((char *)__s1,"5"), iVar3 != 0)) &&\n                 (iVar3 = strcmp((char *)__s1,"STT_COMMON"), iVar3 != 0)) {\n                iVar3 = strcmp((char *)__s1,"gnu_indirect_function");\n                if (((iVar3 == 0) || (iVar3 = strcmp((char *)__s1,"10"), iVar3 == 0)) ||\n                   (iVar3 = strcmp((char *)__s1,"STT_GNU_IFUNC"), iVar3 == 0)) {\n                  uVar1 = *(uint *)(*(long *)(*(long *)(DAT_0019d970 + 8) + 0x368) + 0xc);\n                  if ((9 < uVar1) ||\n                     (uVar11 = 0x400008, (0x209UL >> ((ulong)uVar1 & 0x3f) & 1) == 0)) {\n                    uVar11 = 0x400008;\n                    uVar4 = dcgettext(0,\n                                      "symbol type \"%s\" is supported only by GNU and FreeBSD targets"\n                                      ,5);\n                    FUN_0011f6d0(uVar4,__s1);\n                  }\n                }\n                else {\n                  iVar3 = strcmp((char *)__s1,"gnu_unique_object");\n                  if (iVar3 == 0) {\n                    lVar7 = *(long *)(*(long *)(DAT_0019d970 + 8) + 0x368);\n                    iVar3 = *(int *)(lVar7 + 0xc);\n                    if ((iVar3 != 3) && (iVar3 != 0)) {\n                      uVar4 = dcgettext(0,"symbol type \"%s\" is supported only by GNU targets",5);\n                      FUN_0011f6d0(uVar4,__s1);\n                    }\n                    *(undefined4 *)(lVar7 + 0xc) = 3;\n                    uVar11 = 0x810000;\n                  }\n                  else {\n                    uVar4 = dcgettext(0,"unrecognized symbol type \"%s\"",5);\n                    FUN_0011f6d0(uVar4,__s1);\n                  }\n                }\n                goto LAB_00139961;\n              }\n              iVar3 = FUN_0012ac00(uVar4);\n              if (iVar3 == 0) {\n                iVar3 = FUN_0012aed0(uVar4);\n                if (iVar3 != 0) {\n                  uVar11 = 0x10000;\n                  uVar4 = FUN_0012c530(uVar4,1);\n                  FUN_0012af90(uVar4,_bfd_std_section);\n                  FUN_0012aa50(uVar4,0);\n                  FUN_0012c440(uVar4);\n                  FUN_0012d650(uVar4,&DAT_0019d720);\n                  FUN_0012d370(uVar4);\n                  goto LAB_00139961;\n                }\n                iVar3 = FUN_0012ac30(uVar4);\n                if ((iVar3 != 0) || (iVar3 = FUN_0012da60(uVar4), iVar3 != 0)) {\n                  uVar11 = 0x10000;\n                  uVar4 = FUN_0012af30(uVar4);\n                  uVar6 = dcgettext(0,"symbol \'%s\' is already defined",5);\n                  FUN_0011f6d0(uVar6,uVar4);\n                  goto LAB_00139961;\n                }\n                FUN_0012af90(uVar4,_bfd_std_section);\n                FUN_0012aa50(uVar4,0);\n                FUN_0012c440(uVar4);\n              }\n            }\n          }\n        }\n        uVar11 = 0x10000;\n      }\n    }\n  }" { (expression_statement "lVar7 = 2;" (assignment_expression "lVar7 = 2" identifier = number_literal) ;) (expression_statement "pbVar9 = local_30;" (assignment_expression "pbVar9 = local_30" identifier = identifier) ;) (expression_statement "pbVar10 = (byte *)0x14246c;" (assignment_expression "pbVar10 = (byte *)0x14246c" identifier = (cast_expression "(byte *)0x14246c" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (do_statement "do {\n      if (lVar7 == 0) break;\n      lVar7 = lVar7 + -1;\n      bVar13 = *pbVar9 < *pbVar10;\n      bVar16 = *pbVar9 == *pbVar10;\n      pbVar9 = pbVar9 + (ulong)bVar17 * -2 + 1;\n      pbVar10 = pbVar10 + (ulong)bVar17 * -2 + 1;\n    } while (bVar16);" do (compound_statement "{\n      if (lVar7 == 0) break;\n      lVar7 = lVar7 + -1;\n      bVar13 = *pbVar9 < *pbVar10;\n      bVar16 = *pbVar9 == *pbVar10;\n      pbVar9 = pbVar9 + (ulong)bVar17 * -2 + 1;\n      pbVar10 = pbVar10 + (ulong)bVar17 * -2 + 1;\n    }" { (if_statement "if (lVar7 == 0) break;" if (parenthesized_expression "(lVar7 == 0)" ( (binary_expression "lVar7 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "lVar7 = lVar7 + -1;" (assignment_expression "lVar7 = lVar7 + -1" identifier = (binary_expression "lVar7 + -1" identifier + number_literal)) ;) (expression_statement "bVar13 = *pbVar9 < *pbVar10;" (assignment_expression "bVar13 = *pbVar9 < *pbVar10" identifier = (binary_expression "*pbVar9 < *pbVar10" (pointer_expression "*pbVar9" * identifier) < (pointer_expression "*pbVar10" * identifier))) ;) (expression_statement "bVar16 = *pbVar9 == *pbVar10;" (assignment_expression "bVar16 = *pbVar9 == *pbVar10" identifier = (binary_expression "*pbVar9 == *pbVar10" (pointer_expression "*pbVar9" * identifier) == (pointer_expression "*pbVar10" * identifier))) ;) (expression_statement "pbVar9 = pbVar9 + (ulong)bVar17 * -2 + 1;" (assignment_expression "pbVar9 = pbVar9 + (ulong)bVar17 * -2 + 1" identifier = (binary_expression "pbVar9 + (ulong)bVar17 * -2 + 1" (binary_expression "pbVar9 + (ulong)bVar17 * -2" identifier + (binary_expression "(ulong)bVar17 * -2" (cast_expression "(ulong)bVar17" ( (type_descriptor "ulong" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) (expression_statement "pbVar10 = pbVar10 + (ulong)bVar17 * -2 + 1;" (assignment_expression "pbVar10 = pbVar10 + (ulong)bVar17 * -2 + 1" identifier = (binary_expression "pbVar10 + (ulong)bVar17 * -2 + 1" (binary_expression "pbVar10 + (ulong)bVar17 * -2" identifier + (binary_expression "(ulong)bVar17 * -2" (cast_expression "(ulong)bVar17" ( (type_descriptor "ulong" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) }) while (parenthesized_expression "(bVar16)" ( identifier )) ;) (expression_statement "bVar14 = false;" (assignment_expression "bVar14 = false" identifier = false) ;) (expression_statement "bVar13 = (!bVar13 && !bVar16) == bVar13;" (assignment_expression "bVar13 = (!bVar13 && !bVar16) == bVar13" identifier = (binary_expression "(!bVar13 && !bVar16) == bVar13" (parenthesized_expression "(!bVar13 && !bVar16)" ( (binary_expression "!bVar13 && !bVar16" (unary_expression "!bVar13" ! identifier) && (unary_expression "!bVar16" ! identifier)) )) == identifier)) ;) (if_statement "if (!bVar13) {\n      lVar7 = 9;\n      pbVar9 = local_30;\n      pbVar10 = (byte *)"STT_FUNC";\n      do {\n        if (lVar7 == 0) break;\n        lVar7 = lVar7 + -1;\n        bVar14 = *pbVar9 < *pbVar10;\n        bVar13 = *pbVar9 == *pbVar10;\n        pbVar9 = pbVar9 + (ulong)bVar17 * -2 + 1;\n        pbVar10 = pbVar10 + (ulong)bVar17 * -2 + 1;\n      } while (bVar13);\n      bVar16 = false;\n      bVar13 = (!bVar14 && !bVar13) == bVar14;\n      if (!bVar13) {\n        lVar7 = 7;\n        pbVar9 = local_30;\n        pbVar10 = (byte *)0x1464c9;\n        do {\n          if (lVar7 == 0) break;\n          lVar7 = lVar7 + -1;\n          bVar16 = *pbVar9 < *pbVar10;\n          bVar13 = *pbVar9 == *pbVar10;\n          pbVar9 = pbVar9 + (ulong)bVar17 * -2 + 1;\n          pbVar10 = pbVar10 + (ulong)bVar17 * -2 + 1;\n        } while (bVar13);\n        bVar14 = false;\n        bVar13 = (!bVar16 && !bVar13) == bVar16;\n        if (!bVar13) {\n          lVar7 = 2;\n          pbVar9 = local_30;\n          pbVar10 = (byte *)0x13f34c;\n          do {\n            if (lVar7 == 0) break;\n            lVar7 = lVar7 + -1;\n            bVar14 = *pbVar9 < *pbVar10;\n            bVar13 = *pbVar9 == *pbVar10;\n            pbVar9 = pbVar9 + (ulong)bVar17 * -2 + 1;\n            pbVar10 = pbVar10 + (ulong)bVar17 * -2 + 1;\n          } while (bVar13);\n          bVar16 = false;\n          bVar13 = (!bVar14 && !bVar13) == bVar14;\n          if (!bVar13) {\n            lVar7 = 0xb;\n            pbVar9 = local_30;\n            pbVar10 = (byte *)"STT_OBJECT";\n            do {\n              if (lVar7 == 0) break;\n              lVar7 = lVar7 + -1;\n              bVar16 = *pbVar9 < *pbVar10;\n              bVar13 = *pbVar9 == *pbVar10;\n              pbVar9 = pbVar9 + (ulong)bVar17 * -2 + 1;\n              pbVar10 = pbVar10 + (ulong)bVar17 * -2 + 1;\n            } while (bVar13);\n            bVar14 = false;\n            bVar13 = (!bVar16 && !bVar13) == bVar16;\n            if (!bVar13) {\n              lVar7 = 0xb;\n              uVar11 = 0x50000;\n              pbVar9 = local_30;\n              pbVar10 = (byte *)"tls_object";\n              do {\n                if (lVar7 == 0) break;\n                lVar7 = lVar7 + -1;\n                bVar14 = *pbVar9 < *pbVar10;\n                bVar13 = *pbVar9 == *pbVar10;\n                pbVar9 = pbVar9 + (ulong)bVar17 * -2 + 1;\n                pbVar10 = pbVar10 + (ulong)bVar17 * -2 + 1;\n              } while (bVar13);\n              bVar16 = false;\n              bVar13 = (!bVar14 && !bVar13) == bVar14;\n              if (bVar13) goto LAB_00139961;\n              lVar7 = 2;\n              pbVar9 = local_30;\n              pbVar10 = &DAT_001448ab;\n              do {\n                if (lVar7 == 0) break;\n                lVar7 = lVar7 + -1;\n                bVar16 = *pbVar9 < *pbVar10;\n                bVar13 = *pbVar9 == *pbVar10;\n                pbVar9 = pbVar9 + (ulong)bVar17 * -2 + 1;\n                pbVar10 = pbVar10 + (ulong)bVar17 * -2 + 1;\n              } while (bVar13);\n              bVar14 = false;\n              bVar13 = (!bVar16 && !bVar13) == bVar16;\n              if (bVar13) goto LAB_00139961;\n              lVar7 = 8;\n              pbVar9 = local_30;\n              pbVar10 = (byte *)"STT_TLS";\n              do {\n                if (lVar7 == 0) break;\n                lVar7 = lVar7 + -1;\n                bVar14 = *pbVar9 < *pbVar10;\n                bVar13 = *pbVar9 == *pbVar10;\n                pbVar9 = pbVar9 + (ulong)bVar17 * -2 + 1;\n                pbVar10 = pbVar10 + (ulong)bVar17 * -2 + 1;\n              } while (bVar13);\n              bVar16 = false;\n              bVar13 = (!bVar14 && !bVar13) == bVar14;\n              if (bVar13) goto LAB_00139961;\n              lVar7 = 7;\n              pbVar9 = local_30;\n              pbVar10 = (byte *)"notype";\n              do {\n                if (lVar7 == 0) break;\n                lVar7 = lVar7 + -1;\n                bVar16 = *pbVar9 < *pbVar10;\n                bVar13 = *pbVar9 == *pbVar10;\n                pbVar9 = pbVar9 + (ulong)bVar17 * -2 + 1;\n                pbVar10 = pbVar10 + (ulong)bVar17 * -2 + 1;\n              } while (bVar13);\n              uVar11 = 0;\n              if ((((!bVar16 && !bVar13) == bVar16) ||\n                  (iVar3 = strcmp((char *)local_30,"0"), iVar3 == 0)) ||\n                 (iVar3 = strcmp((char *)__s1,"STT_NOTYPE"), iVar3 == 0)) goto LAB_00139961;\n              iVar3 = strcmp((char *)__s1,"common");\n              if (((iVar3 != 0) && (iVar3 = strcmp((char *)__s1,"5"), iVar3 != 0)) &&\n                 (iVar3 = strcmp((char *)__s1,"STT_COMMON"), iVar3 != 0)) {\n                iVar3 = strcmp((char *)__s1,"gnu_indirect_function");\n                if (((iVar3 == 0) || (iVar3 = strcmp((char *)__s1,"10"), iVar3 == 0)) ||\n                   (iVar3 = strcmp((char *)__s1,"STT_GNU_IFUNC"), iVar3 == 0)) {\n                  uVar1 = *(uint *)(*(long *)(*(long *)(DAT_0019d970 + 8) + 0x368) + 0xc);\n                  if ((9 < uVar1) ||\n                     (uVar11 = 0x400008, (0x209UL >> ((ulong)uVar1 & 0x3f) & 1) == 0)) {\n                    uVar11 = 0x400008;\n                    uVar4 = dcgettext(0,\n                                      "symbol type \"%s\" is supported only by GNU and FreeBSD targets"\n                                      ,5);\n                    FUN_0011f6d0(uVar4,__s1);\n                  }\n                }\n                else {\n                  iVar3 = strcmp((char *)__s1,"gnu_unique_object");\n                  if (iVar3 == 0) {\n                    lVar7 = *(long *)(*(long *)(DAT_0019d970 + 8) + 0x368);\n                    iVar3 = *(int *)(lVar7 + 0xc);\n                    if ((iVar3 != 3) && (iVar3 != 0)) {\n                      uVar4 = dcgettext(0,"symbol type \"%s\" is supported only by GNU targets",5);\n                      FUN_0011f6d0(uVar4,__s1);\n                    }\n                    *(undefined4 *)(lVar7 + 0xc) = 3;\n                    uVar11 = 0x810000;\n                  }\n                  else {\n                    uVar4 = dcgettext(0,"unrecognized symbol type \"%s\"",5);\n                    FUN_0011f6d0(uVar4,__s1);\n                  }\n                }\n                goto LAB_00139961;\n              }\n              iVar3 = FUN_0012ac00(uVar4);\n              if (iVar3 == 0) {\n                iVar3 = FUN_0012aed0(uVar4);\n                if (iVar3 != 0) {\n                  uVar11 = 0x10000;\n                  uVar4 = FUN_0012c530(uVar4,1);\n                  FUN_0012af90(uVar4,_bfd_std_section);\n                  FUN_0012aa50(uVar4,0);\n                  FUN_0012c440(uVar4);\n                  FUN_0012d650(uVar4,&DAT_0019d720);\n                  FUN_0012d370(uVar4);\n                  goto LAB_00139961;\n                }\n                iVar3 = FUN_0012ac30(uVar4);\n                if ((iVar3 != 0) || (iVar3 = FUN_0012da60(uVar4), iVar3 != 0)) {\n                  uVar11 = 0x10000;\n                  uVar4 = FUN_0012af30(uVar4);\n                  uVar6 = dcgettext(0,"symbol \'%s\' is already defined",5);\n                  FUN_0011f6d0(uVar6,uVar4);\n                  goto LAB_00139961;\n                }\n                FUN_0012af90(uVar4,_bfd_std_section);\n                FUN_0012aa50(uVar4,0);\n                FUN_0012c440(uVar4);\n              }\n            }\n          }\n        }\n        uVar11 = 0x10000;\n      }\n    }" if (parenthesized_expression "(!bVar13)" ( (unary_expression "!bVar13" ! identifier) )) (compound_statement "{\n      lVar7 = 9;\n      pbVar9 = local_30;\n      pbVar10 = (byte *)"STT_FUNC";\n      do {\n        if (lVar7 == 0) break;\n        lVar7 = lVar7 + -1;\n        bVar14 = *pbVar9 < *pbVar10;\n        bVar13 = *pbVar9 == *pbVar10;\n        pbVar9 = pbVar9 + (ulong)bVar17 * -2 + 1;\n        pbVar10 = pbVar10 + (ulong)bVar17 * -2 + 1;\n      } while (bVar13);\n      bVar16 = false;\n      bVar13 = (!bVar14 && !bVar13) == bVar14;\n      if (!bVar13) {\n        lVar7 = 7;\n        pbVar9 = local_30;\n        pbVar10 = (byte *)0x1464c9;\n        do {\n          if (lVar7 == 0) break;\n          lVar7 = lVar7 + -1;\n          bVar16 = *pbVar9 < *pbVar10;\n          bVar13 = *pbVar9 == *pbVar10;\n          pbVar9 = pbVar9 + (ulong)bVar17 * -2 + 1;\n          pbVar10 = pbVar10 + (ulong)bVar17 * -2 + 1;\n        } while (bVar13);\n        bVar14 = false;\n        bVar13 = (!bVar16 && !bVar13) == bVar16;\n        if (!bVar13) {\n          lVar7 = 2;\n          pbVar9 = local_30;\n          pbVar10 = (byte *)0x13f34c;\n          do {\n            if (lVar7 == 0) break;\n            lVar7 = lVar7 + -1;\n            bVar14 = *pbVar9 < *pbVar10;\n            bVar13 = *pbVar9 == *pbVar10;\n            pbVar9 = pbVar9 + (ulong)bVar17 * -2 + 1;\n            pbVar10 = pbVar10 + (ulong)bVar17 * -2 + 1;\n          } while (bVar13);\n          bVar16 = false;\n          bVar13 = (!bVar14 && !bVar13) == bVar14;\n          if (!bVar13) {\n            lVar7 = 0xb;\n            pbVar9 = local_30;\n            pbVar10 = (byte *)"STT_OBJECT";\n            do {\n              if (lVar7 == 0) break;\n              lVar7 = lVar7 + -1;\n              bVar16 = *pbVar9 < *pbVar10;\n              bVar13 = *pbVar9 == *pbVar10;\n              pbVar9 = pbVar9 + (ulong)bVar17 * -2 + 1;\n              pbVar10 = pbVar10 + (ulong)bVar17 * -2 + 1;\n            } while (bVar13);\n            bVar14 = false;\n            bVar13 = (!bVar16 && !bVar13) == bVar16;\n            if (!bVar13) {\n              lVar7 = 0xb;\n              uVar11 = 0x50000;\n              pbVar9 = local_30;\n              pbVar10 = (byte *)"tls_object";\n              do {\n                if (lVar7 == 0) break;\n                lVar7 = lVar7 + -1;\n                bVar14 = *pbVar9 < *pbVar10;\n                bVar13 = *pbVar9 == *pbVar10;\n                pbVar9 = pbVar9 + (ulong)bVar17 * -2 + 1;\n                pbVar10 = pbVar10 + (ulong)bVar17 * -2 + 1;\n              } while (bVar13);\n              bVar16 = false;\n              bVar13 = (!bVar14 && !bVar13) == bVar14;\n              if (bVar13) goto LAB_00139961;\n              lVar7 = 2;\n              pbVar9 = local_30;\n              pbVar10 = &DAT_001448ab;\n              do {\n                if (lVar7 == 0) break;\n                lVar7 = lVar7 + -1;\n                bVar16 = *pbVar9 < *pbVar10;\n                bVar13 = *pbVar9 == *pbVar10;\n                pbVar9 = pbVar9 + (ulong)bVar17 * -2 + 1;\n                pbVar10 = pbVar10 + (ulong)bVar17 * -2 + 1;\n              } while (bVar13);\n              bVar14 = false;\n              bVar13 = (!bVar16 && !bVar13) == bVar16;\n              if (bVar13) goto LAB_00139961;\n              lVar7 = 8;\n              pbVar9 = local_30;\n              pbVar10 = (byte *)"STT_TLS";\n              do {\n                if (lVar7 == 0) break;\n                lVar7 = lVar7 + -1;\n                bVar14 = *pbVar9 < *pbVar10;\n                bVar13 = *pbVar9 == *pbVar10;\n                pbVar9 = pbVar9 + (ulong)bVar17 * -2 + 1;\n                pbVar10 = pbVar10 + (ulong)bVar17 * -2 + 1;\n              } while (bVar13);\n              bVar16 = false;\n              bVar13 = (!bVar14 && !bVar13) == bVar14;\n              if (bVar13) goto LAB_00139961;\n              lVar7 = 7;\n              pbVar9 = local_30;\n              pbVar10 = (byte *)"notype";\n              do {\n                if (lVar7 == 0) break;\n                lVar7 = lVar7 + -1;\n                bVar16 = *pbVar9 < *pbVar10;\n                bVar13 = *pbVar9 == *pbVar10;\n                pbVar9 = pbVar9 + (ulong)bVar17 * -2 + 1;\n                pbVar10 = pbVar10 + (ulong)bVar17 * -2 + 1;\n              } while (bVar13);\n              uVar11 = 0;\n              if ((((!bVar16 && !bVar13) == bVar16) ||\n                  (iVar3 = strcmp((char *)local_30,"0"), iVar3 == 0)) ||\n                 (iVar3 = strcmp((char *)__s1,"STT_NOTYPE"), iVar3 == 0)) goto LAB_00139961;\n              iVar3 = strcmp((char *)__s1,"common");\n              if (((iVar3 != 0) && (iVar3 = strcmp((char *)__s1,"5"), iVar3 != 0)) &&\n                 (iVar3 = strcmp((char *)__s1,"STT_COMMON"), iVar3 != 0)) {\n                iVar3 = strcmp((char *)__s1,"gnu_indirect_function");\n                if (((iVar3 == 0) || (iVar3 = strcmp((char *)__s1,"10"), iVar3 == 0)) ||\n                   (iVar3 = strcmp((char *)__s1,"STT_GNU_IFUNC"), iVar3 == 0)) {\n                  uVar1 = *(uint *)(*(long *)(*(long *)(DAT_0019d970 + 8) + 0x368) + 0xc);\n                  if ((9 < uVar1) ||\n                     (uVar11 = 0x400008, (0x209UL >> ((ulong)uVar1 & 0x3f) & 1) == 0)) {\n                    uVar11 = 0x400008;\n                    uVar4 = dcgettext(0,\n                                      "symbol type \"%s\" is supported only by GNU and FreeBSD targets"\n                                      ,5);\n                    FUN_0011f6d0(uVar4,__s1);\n                  }\n                }\n                else {\n                  iVar3 = strcmp((char *)__s1,"gnu_unique_object");\n                  if (iVar3 == 0) {\n                    lVar7 = *(long *)(*(long *)(DAT_0019d970 + 8) + 0x368);\n                    iVar3 = *(int *)(lVar7 + 0xc);\n                    if ((iVar3 != 3) && (iVar3 != 0)) {\n                      uVar4 = dcgettext(0,"symbol type \"%s\" is supported only by GNU targets",5);\n                      FUN_0011f6d0(uVar4,__s1);\n                    }\n                    *(undefined4 *)(lVar7 + 0xc) = 3;\n                    uVar11 = 0x810000;\n                  }\n                  else {\n                    uVar4 = dcgettext(0,"unrecognized symbol type \"%s\"",5);\n                    FUN_0011f6d0(uVar4,__s1);\n                  }\n                }\n                goto LAB_00139961;\n              }\n              iVar3 = FUN_0012ac00(uVar4);\n              if (iVar3 == 0) {\n                iVar3 = FUN_0012aed0(uVar4);\n                if (iVar3 != 0) {\n                  uVar11 = 0x10000;\n                  uVar4 = FUN_0012c530(uVar4,1);\n                  FUN_0012af90(uVar4,_bfd_std_section);\n                  FUN_0012aa50(uVar4,0);\n                  FUN_0012c440(uVar4);\n                  FUN_0012d650(uVar4,&DAT_0019d720);\n                  FUN_0012d370(uVar4);\n                  goto LAB_00139961;\n                }\n                iVar3 = FUN_0012ac30(uVar4);\n                if ((iVar3 != 0) || (iVar3 = FUN_0012da60(uVar4), iVar3 != 0)) {\n                  uVar11 = 0x10000;\n                  uVar4 = FUN_0012af30(uVar4);\n                  uVar6 = dcgettext(0,"symbol \'%s\' is already defined",5);\n                  FUN_0011f6d0(uVar6,uVar4);\n                  goto LAB_00139961;\n                }\n                FUN_0012af90(uVar4,_bfd_std_section);\n                FUN_0012aa50(uVar4,0);\n                FUN_0012c440(uVar4);\n              }\n            }\n          }\n        }\n        uVar11 = 0x10000;\n      }\n    }" { (expression_statement "lVar7 = 9;" (assignment_expression "lVar7 = 9" identifier = number_literal) ;) (expression_statement "pbVar9 = local_30;" (assignment_expression "pbVar9 = local_30" identifier = identifier) ;) (expression_statement "pbVar10 = (byte *)"STT_FUNC";" (assignment_expression "pbVar10 = (byte *)"STT_FUNC"" identifier = (cast_expression "(byte *)"STT_FUNC"" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (string_literal ""STT_FUNC"" " string_content "))) ;) (do_statement "do {\n        if (lVar7 == 0) break;\n        lVar7 = lVar7 + -1;\n        bVar14 = *pbVar9 < *pbVar10;\n        bVar13 = *pbVar9 == *pbVar10;\n        pbVar9 = pbVar9 + (ulong)bVar17 * -2 + 1;\n        pbVar10 = pbVar10 + (ulong)bVar17 * -2 + 1;\n      } while (bVar13);" do (compound_statement "{\n        if (lVar7 == 0) break;\n        lVar7 = lVar7 + -1;\n        bVar14 = *pbVar9 < *pbVar10;\n        bVar13 = *pbVar9 == *pbVar10;\n        pbVar9 = pbVar9 + (ulong)bVar17 * -2 + 1;\n        pbVar10 = pbVar10 + (ulong)bVar17 * -2 + 1;\n      }" { (if_statement "if (lVar7 == 0) break;" if (parenthesized_expression "(lVar7 == 0)" ( (binary_expression "lVar7 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "lVar7 = lVar7 + -1;" (assignment_expression "lVar7 = lVar7 + -1" identifier = (binary_expression "lVar7 + -1" identifier + number_literal)) ;) (expression_statement "bVar14 = *pbVar9 < *pbVar10;" (assignment_expression "bVar14 = *pbVar9 < *pbVar10" identifier = (binary_expression "*pbVar9 < *pbVar10" (pointer_expression "*pbVar9" * identifier) < (pointer_expression "*pbVar10" * identifier))) ;) (expression_statement "bVar13 = *pbVar9 == *pbVar10;" (assignment_expression "bVar13 = *pbVar9 == *pbVar10" identifier = (binary_expression "*pbVar9 == *pbVar10" (pointer_expression "*pbVar9" * identifier) == (pointer_expression "*pbVar10" * identifier))) ;) (expression_statement "pbVar9 = pbVar9 + (ulong)bVar17 * -2 + 1;" (assignment_expression "pbVar9 = pbVar9 + (ulong)bVar17 * -2 + 1" identifier = (binary_expression "pbVar9 + (ulong)bVar17 * -2 + 1" (binary_expression "pbVar9 + (ulong)bVar17 * -2" identifier + (binary_expression "(ulong)bVar17 * -2" (cast_expression "(ulong)bVar17" ( (type_descriptor "ulong" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) (expression_statement "pbVar10 = pbVar10 + (ulong)bVar17 * -2 + 1;" (assignment_expression "pbVar10 = pbVar10 + (ulong)bVar17 * -2 + 1" identifier = (binary_expression "pbVar10 + (ulong)bVar17 * -2 + 1" (binary_expression "pbVar10 + (ulong)bVar17 * -2" identifier + (binary_expression "(ulong)bVar17 * -2" (cast_expression "(ulong)bVar17" ( (type_descriptor "ulong" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) }) while (parenthesized_expression "(bVar13)" ( identifier )) ;) (expression_statement "bVar16 = false;" (assignment_expression "bVar16 = false" identifier = false) ;) (expression_statement "bVar13 = (!bVar14 && !bVar13) == bVar14;" (assignment_expression "bVar13 = (!bVar14 && !bVar13) == bVar14" identifier = (binary_expression "(!bVar14 && !bVar13) == bVar14" (parenthesized_expression "(!bVar14 && !bVar13)" ( (binary_expression "!bVar14 && !bVar13" (unary_expression "!bVar14" ! identifier) && (unary_expression "!bVar13" ! identifier)) )) == identifier)) ;) (if_statement "if (!bVar13) {\n        lVar7 = 7;\n        pbVar9 = local_30;\n        pbVar10 = (byte *)0x1464c9;\n        do {\n          if (lVar7 == 0) break;\n          lVar7 = lVar7 + -1;\n          bVar16 = *pbVar9 < *pbVar10;\n          bVar13 = *pbVar9 == *pbVar10;\n          pbVar9 = pbVar9 + (ulong)bVar17 * -2 + 1;\n          pbVar10 = pbVar10 + (ulong)bVar17 * -2 + 1;\n        } while (bVar13);\n        bVar14 = false;\n        bVar13 = (!bVar16 && !bVar13) == bVar16;\n        if (!bVar13) {\n          lVar7 = 2;\n          pbVar9 = local_30;\n          pbVar10 = (byte *)0x13f34c;\n          do {\n            if (lVar7 == 0) break;\n            lVar7 = lVar7 + -1;\n            bVar14 = *pbVar9 < *pbVar10;\n            bVar13 = *pbVar9 == *pbVar10;\n            pbVar9 = pbVar9 + (ulong)bVar17 * -2 + 1;\n            pbVar10 = pbVar10 + (ulong)bVar17 * -2 + 1;\n          } while (bVar13);\n          bVar16 = false;\n          bVar13 = (!bVar14 && !bVar13) == bVar14;\n          if (!bVar13) {\n            lVar7 = 0xb;\n            pbVar9 = local_30;\n            pbVar10 = (byte *)"STT_OBJECT";\n            do {\n              if (lVar7 == 0) break;\n              lVar7 = lVar7 + -1;\n              bVar16 = *pbVar9 < *pbVar10;\n              bVar13 = *pbVar9 == *pbVar10;\n              pbVar9 = pbVar9 + (ulong)bVar17 * -2 + 1;\n              pbVar10 = pbVar10 + (ulong)bVar17 * -2 + 1;\n            } while (bVar13);\n            bVar14 = false;\n            bVar13 = (!bVar16 && !bVar13) == bVar16;\n            if (!bVar13) {\n              lVar7 = 0xb;\n              uVar11 = 0x50000;\n              pbVar9 = local_30;\n              pbVar10 = (byte *)"tls_object";\n              do {\n                if (lVar7 == 0) break;\n                lVar7 = lVar7 + -1;\n                bVar14 = *pbVar9 < *pbVar10;\n                bVar13 = *pbVar9 == *pbVar10;\n                pbVar9 = pbVar9 + (ulong)bVar17 * -2 + 1;\n                pbVar10 = pbVar10 + (ulong)bVar17 * -2 + 1;\n              } while (bVar13);\n              bVar16 = false;\n              bVar13 = (!bVar14 && !bVar13) == bVar14;\n              if (bVar13) goto LAB_00139961;\n              lVar7 = 2;\n              pbVar9 = local_30;\n              pbVar10 = &DAT_001448ab;\n              do {\n                if (lVar7 == 0) break;\n                lVar7 = lVar7 + -1;\n                bVar16 = *pbVar9 < *pbVar10;\n                bVar13 = *pbVar9 == *pbVar10;\n                pbVar9 = pbVar9 + (ulong)bVar17 * -2 + 1;\n                pbVar10 = pbVar10 + (ulong)bVar17 * -2 + 1;\n              } while (bVar13);\n              bVar14 = false;\n              bVar13 = (!bVar16 && !bVar13) == bVar16;\n              if (bVar13) goto LAB_00139961;\n              lVar7 = 8;\n              pbVar9 = local_30;\n              pbVar10 = (byte *)"STT_TLS";\n              do {\n                if (lVar7 == 0) break;\n                lVar7 = lVar7 + -1;\n                bVar14 = *pbVar9 < *pbVar10;\n                bVar13 = *pbVar9 == *pbVar10;\n                pbVar9 = pbVar9 + (ulong)bVar17 * -2 + 1;\n                pbVar10 = pbVar10 + (ulong)bVar17 * -2 + 1;\n              } while (bVar13);\n              bVar16 = false;\n              bVar13 = (!bVar14 && !bVar13) == bVar14;\n              if (bVar13) goto LAB_00139961;\n              lVar7 = 7;\n              pbVar9 = local_30;\n              pbVar10 = (byte *)"notype";\n              do {\n                if (lVar7 == 0) break;\n                lVar7 = lVar7 + -1;\n                bVar16 = *pbVar9 < *pbVar10;\n                bVar13 = *pbVar9 == *pbVar10;\n                pbVar9 = pbVar9 + (ulong)bVar17 * -2 + 1;\n                pbVar10 = pbVar10 + (ulong)bVar17 * -2 + 1;\n              } while (bVar13);\n              uVar11 = 0;\n              if ((((!bVar16 && !bVar13) == bVar16) ||\n                  (iVar3 = strcmp((char *)local_30,"0"), iVar3 == 0)) ||\n                 (iVar3 = strcmp((char *)__s1,"STT_NOTYPE"), iVar3 == 0)) goto LAB_00139961;\n              iVar3 = strcmp((char *)__s1,"common");\n              if (((iVar3 != 0) && (iVar3 = strcmp((char *)__s1,"5"), iVar3 != 0)) &&\n                 (iVar3 = strcmp((char *)__s1,"STT_COMMON"), iVar3 != 0)) {\n                iVar3 = strcmp((char *)__s1,"gnu_indirect_function");\n                if (((iVar3 == 0) || (iVar3 = strcmp((char *)__s1,"10"), iVar3 == 0)) ||\n                   (iVar3 = strcmp((char *)__s1,"STT_GNU_IFUNC"), iVar3 == 0)) {\n                  uVar1 = *(uint *)(*(long *)(*(long *)(DAT_0019d970 + 8) + 0x368) + 0xc);\n                  if ((9 < uVar1) ||\n                     (uVar11 = 0x400008, (0x209UL >> ((ulong)uVar1 & 0x3f) & 1) == 0)) {\n                    uVar11 = 0x400008;\n                    uVar4 = dcgettext(0,\n                                      "symbol type \"%s\" is supported only by GNU and FreeBSD targets"\n                                      ,5);\n                    FUN_0011f6d0(uVar4,__s1);\n                  }\n                }\n                else {\n                  iVar3 = strcmp((char *)__s1,"gnu_unique_object");\n                  if (iVar3 == 0) {\n                    lVar7 = *(long *)(*(long *)(DAT_0019d970 + 8) + 0x368);\n                    iVar3 = *(int *)(lVar7 + 0xc);\n                    if ((iVar3 != 3) && (iVar3 != 0)) {\n                      uVar4 = dcgettext(0,"symbol type \"%s\" is supported only by GNU targets",5);\n                      FUN_0011f6d0(uVar4,__s1);\n                    }\n                    *(undefined4 *)(lVar7 + 0xc) = 3;\n                    uVar11 = 0x810000;\n                  }\n                  else {\n                    uVar4 = dcgettext(0,"unrecognized symbol type \"%s\"",5);\n                    FUN_0011f6d0(uVar4,__s1);\n                  }\n                }\n                goto LAB_00139961;\n              }\n              iVar3 = FUN_0012ac00(uVar4);\n              if (iVar3 == 0) {\n                iVar3 = FUN_0012aed0(uVar4);\n                if (iVar3 != 0) {\n                  uVar11 = 0x10000;\n                  uVar4 = FUN_0012c530(uVar4,1);\n                  FUN_0012af90(uVar4,_bfd_std_section);\n                  FUN_0012aa50(uVar4,0);\n                  FUN_0012c440(uVar4);\n                  FUN_0012d650(uVar4,&DAT_0019d720);\n                  FUN_0012d370(uVar4);\n                  goto LAB_00139961;\n                }\n                iVar3 = FUN_0012ac30(uVar4);\n                if ((iVar3 != 0) || (iVar3 = FUN_0012da60(uVar4), iVar3 != 0)) {\n                  uVar11 = 0x10000;\n                  uVar4 = FUN_0012af30(uVar4);\n                  uVar6 = dcgettext(0,"symbol \'%s\' is already defined",5);\n                  FUN_0011f6d0(uVar6,uVar4);\n                  goto LAB_00139961;\n                }\n                FUN_0012af90(uVar4,_bfd_std_section);\n                FUN_0012aa50(uVar4,0);\n                FUN_0012c440(uVar4);\n              }\n            }\n          }\n        }\n        uVar11 = 0x10000;\n      }" if (parenthesized_expression "(!bVar13)" ( (unary_expression "!bVar13" ! identifier) )) (compound_statement "{\n        lVar7 = 7;\n        pbVar9 = local_30;\n        pbVar10 = (byte *)0x1464c9;\n        do {\n          if (lVar7 == 0) break;\n          lVar7 = lVar7 + -1;\n          bVar16 = *pbVar9 < *pbVar10;\n          bVar13 = *pbVar9 == *pbVar10;\n          pbVar9 = pbVar9 + (ulong)bVar17 * -2 + 1;\n          pbVar10 = pbVar10 + (ulong)bVar17 * -2 + 1;\n        } while (bVar13);\n        bVar14 = false;\n        bVar13 = (!bVar16 && !bVar13) == bVar16;\n        if (!bVar13) {\n          lVar7 = 2;\n          pbVar9 = local_30;\n          pbVar10 = (byte *)0x13f34c;\n          do {\n            if (lVar7 == 0) break;\n            lVar7 = lVar7 + -1;\n            bVar14 = *pbVar9 < *pbVar10;\n            bVar13 = *pbVar9 == *pbVar10;\n            pbVar9 = pbVar9 + (ulong)bVar17 * -2 + 1;\n            pbVar10 = pbVar10 + (ulong)bVar17 * -2 + 1;\n          } while (bVar13);\n          bVar16 = false;\n          bVar13 = (!bVar14 && !bVar13) == bVar14;\n          if (!bVar13) {\n            lVar7 = 0xb;\n            pbVar9 = local_30;\n            pbVar10 = (byte *)"STT_OBJECT";\n            do {\n              if (lVar7 == 0) break;\n              lVar7 = lVar7 + -1;\n              bVar16 = *pbVar9 < *pbVar10;\n              bVar13 = *pbVar9 == *pbVar10;\n              pbVar9 = pbVar9 + (ulong)bVar17 * -2 + 1;\n              pbVar10 = pbVar10 + (ulong)bVar17 * -2 + 1;\n            } while (bVar13);\n            bVar14 = false;\n            bVar13 = (!bVar16 && !bVar13) == bVar16;\n            if (!bVar13) {\n              lVar7 = 0xb;\n              uVar11 = 0x50000;\n              pbVar9 = local_30;\n              pbVar10 = (byte *)"tls_object";\n              do {\n                if (lVar7 == 0) break;\n                lVar7 = lVar7 + -1;\n                bVar14 = *pbVar9 < *pbVar10;\n                bVar13 = *pbVar9 == *pbVar10;\n                pbVar9 = pbVar9 + (ulong)bVar17 * -2 + 1;\n                pbVar10 = pbVar10 + (ulong)bVar17 * -2 + 1;\n              } while (bVar13);\n              bVar16 = false;\n              bVar13 = (!bVar14 && !bVar13) == bVar14;\n              if (bVar13) goto LAB_00139961;\n              lVar7 = 2;\n              pbVar9 = local_30;\n              pbVar10 = &DAT_001448ab;\n              do {\n                if (lVar7 == 0) break;\n                lVar7 = lVar7 + -1;\n                bVar16 = *pbVar9 < *pbVar10;\n                bVar13 = *pbVar9 == *pbVar10;\n                pbVar9 = pbVar9 + (ulong)bVar17 * -2 + 1;\n                pbVar10 = pbVar10 + (ulong)bVar17 * -2 + 1;\n              } while (bVar13);\n              bVar14 = false;\n              bVar13 = (!bVar16 && !bVar13) == bVar16;\n              if (bVar13) goto LAB_00139961;\n              lVar7 = 8;\n              pbVar9 = local_30;\n              pbVar10 = (byte *)"STT_TLS";\n              do {\n                if (lVar7 == 0) break;\n                lVar7 = lVar7 + -1;\n                bVar14 = *pbVar9 < *pbVar10;\n                bVar13 = *pbVar9 == *pbVar10;\n                pbVar9 = pbVar9 + (ulong)bVar17 * -2 + 1;\n                pbVar10 = pbVar10 + (ulong)bVar17 * -2 + 1;\n              } while (bVar13);\n              bVar16 = false;\n              bVar13 = (!bVar14 && !bVar13) == bVar14;\n              if (bVar13) goto LAB_00139961;\n              lVar7 = 7;\n              pbVar9 = local_30;\n              pbVar10 = (byte *)"notype";\n              do {\n                if (lVar7 == 0) break;\n                lVar7 = lVar7 + -1;\n                bVar16 = *pbVar9 < *pbVar10;\n                bVar13 = *pbVar9 == *pbVar10;\n                pbVar9 = pbVar9 + (ulong)bVar17 * -2 + 1;\n                pbVar10 = pbVar10 + (ulong)bVar17 * -2 + 1;\n              } while (bVar13);\n              uVar11 = 0;\n              if ((((!bVar16 && !bVar13) == bVar16) ||\n                  (iVar3 = strcmp((char *)local_30,"0"), iVar3 == 0)) ||\n                 (iVar3 = strcmp((char *)__s1,"STT_NOTYPE"), iVar3 == 0)) goto LAB_00139961;\n              iVar3 = strcmp((char *)__s1,"common");\n              if (((iVar3 != 0) && (iVar3 = strcmp((char *)__s1,"5"), iVar3 != 0)) &&\n                 (iVar3 = strcmp((char *)__s1,"STT_COMMON"), iVar3 != 0)) {\n                iVar3 = strcmp((char *)__s1,"gnu_indirect_function");\n                if (((iVar3 == 0) || (iVar3 = strcmp((char *)__s1,"10"), iVar3 == 0)) ||\n                   (iVar3 = strcmp((char *)__s1,"STT_GNU_IFUNC"), iVar3 == 0)) {\n                  uVar1 = *(uint *)(*(long *)(*(long *)(DAT_0019d970 + 8) + 0x368) + 0xc);\n                  if ((9 < uVar1) ||\n                     (uVar11 = 0x400008, (0x209UL >> ((ulong)uVar1 & 0x3f) & 1) == 0)) {\n                    uVar11 = 0x400008;\n                    uVar4 = dcgettext(0,\n                                      "symbol type \"%s\" is supported only by GNU and FreeBSD targets"\n                                      ,5);\n                    FUN_0011f6d0(uVar4,__s1);\n                  }\n                }\n                else {\n                  iVar3 = strcmp((char *)__s1,"gnu_unique_object");\n                  if (iVar3 == 0) {\n                    lVar7 = *(long *)(*(long *)(DAT_0019d970 + 8) + 0x368);\n                    iVar3 = *(int *)(lVar7 + 0xc);\n                    if ((iVar3 != 3) && (iVar3 != 0)) {\n                      uVar4 = dcgettext(0,"symbol type \"%s\" is supported only by GNU targets",5);\n                      FUN_0011f6d0(uVar4,__s1);\n                    }\n                    *(undefined4 *)(lVar7 + 0xc) = 3;\n                    uVar11 = 0x810000;\n                  }\n                  else {\n                    uVar4 = dcgettext(0,"unrecognized symbol type \"%s\"",5);\n                    FUN_0011f6d0(uVar4,__s1);\n                  }\n                }\n                goto LAB_00139961;\n              }\n              iVar3 = FUN_0012ac00(uVar4);\n              if (iVar3 == 0) {\n                iVar3 = FUN_0012aed0(uVar4);\n                if (iVar3 != 0) {\n                  uVar11 = 0x10000;\n                  uVar4 = FUN_0012c530(uVar4,1);\n                  FUN_0012af90(uVar4,_bfd_std_section);\n                  FUN_0012aa50(uVar4,0);\n                  FUN_0012c440(uVar4);\n                  FUN_0012d650(uVar4,&DAT_0019d720);\n                  FUN_0012d370(uVar4);\n                  goto LAB_00139961;\n                }\n                iVar3 = FUN_0012ac30(uVar4);\n                if ((iVar3 != 0) || (iVar3 = FUN_0012da60(uVar4), iVar3 != 0)) {\n                  uVar11 = 0x10000;\n                  uVar4 = FUN_0012af30(uVar4);\n                  uVar6 = dcgettext(0,"symbol \'%s\' is already defined",5);\n                  FUN_0011f6d0(uVar6,uVar4);\n                  goto LAB_00139961;\n                }\n                FUN_0012af90(uVar4,_bfd_std_section);\n                FUN_0012aa50(uVar4,0);\n                FUN_0012c440(uVar4);\n              }\n            }\n          }\n        }\n        uVar11 = 0x10000;\n      }" { (expression_statement "lVar7 = 7;" (assignment_expression "lVar7 = 7" identifier = number_literal) ;) (expression_statement "pbVar9 = local_30;" (assignment_expression "pbVar9 = local_30" identifier = identifier) ;) (expression_statement "pbVar10 = (byte *)0x1464c9;" (assignment_expression "pbVar10 = (byte *)0x1464c9" identifier = (cast_expression "(byte *)0x1464c9" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (do_statement "do {\n          if (lVar7 == 0) break;\n          lVar7 = lVar7 + -1;\n          bVar16 = *pbVar9 < *pbVar10;\n          bVar13 = *pbVar9 == *pbVar10;\n          pbVar9 = pbVar9 + (ulong)bVar17 * -2 + 1;\n          pbVar10 = pbVar10 + (ulong)bVar17 * -2 + 1;\n        } while (bVar13);" do (compound_statement "{\n          if (lVar7 == 0) break;\n          lVar7 = lVar7 + -1;\n          bVar16 = *pbVar9 < *pbVar10;\n          bVar13 = *pbVar9 == *pbVar10;\n          pbVar9 = pbVar9 + (ulong)bVar17 * -2 + 1;\n          pbVar10 = pbVar10 + (ulong)bVar17 * -2 + 1;\n        }" { (if_statement "if (lVar7 == 0) break;" if (parenthesized_expression "(lVar7 == 0)" ( (binary_expression "lVar7 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "lVar7 = lVar7 + -1;" (assignment_expression "lVar7 = lVar7 + -1" identifier = (binary_expression "lVar7 + -1" identifier + number_literal)) ;) (expression_statement "bVar16 = *pbVar9 < *pbVar10;" (assignment_expression "bVar16 = *pbVar9 < *pbVar10" identifier = (binary_expression "*pbVar9 < *pbVar10" (pointer_expression "*pbVar9" * identifier) < (pointer_expression "*pbVar10" * identifier))) ;) (expression_statement "bVar13 = *pbVar9 == *pbVar10;" (assignment_expression "bVar13 = *pbVar9 == *pbVar10" identifier = (binary_expression "*pbVar9 == *pbVar10" (pointer_expression "*pbVar9" * identifier) == (pointer_expression "*pbVar10" * identifier))) ;) (expression_statement "pbVar9 = pbVar9 + (ulong)bVar17 * -2 + 1;" (assignment_expression "pbVar9 = pbVar9 + (ulong)bVar17 * -2 + 1" identifier = (binary_expression "pbVar9 + (ulong)bVar17 * -2 + 1" (binary_expression "pbVar9 + (ulong)bVar17 * -2" identifier + (binary_expression "(ulong)bVar17 * -2" (cast_expression "(ulong)bVar17" ( (type_descriptor "ulong" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) (expression_statement "pbVar10 = pbVar10 + (ulong)bVar17 * -2 + 1;" (assignment_expression "pbVar10 = pbVar10 + (ulong)bVar17 * -2 + 1" identifier = (binary_expression "pbVar10 + (ulong)bVar17 * -2 + 1" (binary_expression "pbVar10 + (ulong)bVar17 * -2" identifier + (binary_expression "(ulong)bVar17 * -2" (cast_expression "(ulong)bVar17" ( (type_descriptor "ulong" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) }) while (parenthesized_expression "(bVar13)" ( identifier )) ;) (expression_statement "bVar14 = false;" (assignment_expression "bVar14 = false" identifier = false) ;) (expression_statement "bVar13 = (!bVar16 && !bVar13) == bVar16;" (assignment_expression "bVar13 = (!bVar16 && !bVar13) == bVar16" identifier = (binary_expression "(!bVar16 && !bVar13) == bVar16" (parenthesized_expression "(!bVar16 && !bVar13)" ( (binary_expression "!bVar16 && !bVar13" (unary_expression "!bVar16" ! identifier) && (unary_expression "!bVar13" ! identifier)) )) == identifier)) ;) (if_statement "if (!bVar13) {\n          lVar7 = 2;\n          pbVar9 = local_30;\n          pbVar10 = (byte *)0x13f34c;\n          do {\n            if (lVar7 == 0) break;\n            lVar7 = lVar7 + -1;\n            bVar14 = *pbVar9 < *pbVar10;\n            bVar13 = *pbVar9 == *pbVar10;\n            pbVar9 = pbVar9 + (ulong)bVar17 * -2 + 1;\n            pbVar10 = pbVar10 + (ulong)bVar17 * -2 + 1;\n          } while (bVar13);\n          bVar16 = false;\n          bVar13 = (!bVar14 && !bVar13) == bVar14;\n          if (!bVar13) {\n            lVar7 = 0xb;\n            pbVar9 = local_30;\n            pbVar10 = (byte *)"STT_OBJECT";\n            do {\n              if (lVar7 == 0) break;\n              lVar7 = lVar7 + -1;\n              bVar16 = *pbVar9 < *pbVar10;\n              bVar13 = *pbVar9 == *pbVar10;\n              pbVar9 = pbVar9 + (ulong)bVar17 * -2 + 1;\n              pbVar10 = pbVar10 + (ulong)bVar17 * -2 + 1;\n            } while (bVar13);\n            bVar14 = false;\n            bVar13 = (!bVar16 && !bVar13) == bVar16;\n            if (!bVar13) {\n              lVar7 = 0xb;\n              uVar11 = 0x50000;\n              pbVar9 = local_30;\n              pbVar10 = (byte *)"tls_object";\n              do {\n                if (lVar7 == 0) break;\n                lVar7 = lVar7 + -1;\n                bVar14 = *pbVar9 < *pbVar10;\n                bVar13 = *pbVar9 == *pbVar10;\n                pbVar9 = pbVar9 + (ulong)bVar17 * -2 + 1;\n                pbVar10 = pbVar10 + (ulong)bVar17 * -2 + 1;\n              } while (bVar13);\n              bVar16 = false;\n              bVar13 = (!bVar14 && !bVar13) == bVar14;\n              if (bVar13) goto LAB_00139961;\n              lVar7 = 2;\n              pbVar9 = local_30;\n              pbVar10 = &DAT_001448ab;\n              do {\n                if (lVar7 == 0) break;\n                lVar7 = lVar7 + -1;\n                bVar16 = *pbVar9 < *pbVar10;\n                bVar13 = *pbVar9 == *pbVar10;\n                pbVar9 = pbVar9 + (ulong)bVar17 * -2 + 1;\n                pbVar10 = pbVar10 + (ulong)bVar17 * -2 + 1;\n              } while (bVar13);\n              bVar14 = false;\n              bVar13 = (!bVar16 && !bVar13) == bVar16;\n              if (bVar13) goto LAB_00139961;\n              lVar7 = 8;\n              pbVar9 = local_30;\n              pbVar10 = (byte *)"STT_TLS";\n              do {\n                if (lVar7 == 0) break;\n                lVar7 = lVar7 + -1;\n                bVar14 = *pbVar9 < *pbVar10;\n                bVar13 = *pbVar9 == *pbVar10;\n                pbVar9 = pbVar9 + (ulong)bVar17 * -2 + 1;\n                pbVar10 = pbVar10 + (ulong)bVar17 * -2 + 1;\n              } while (bVar13);\n              bVar16 = false;\n              bVar13 = (!bVar14 && !bVar13) == bVar14;\n              if (bVar13) goto LAB_00139961;\n              lVar7 = 7;\n              pbVar9 = local_30;\n              pbVar10 = (byte *)"notype";\n              do {\n                if (lVar7 == 0) break;\n                lVar7 = lVar7 + -1;\n                bVar16 = *pbVar9 < *pbVar10;\n                bVar13 = *pbVar9 == *pbVar10;\n                pbVar9 = pbVar9 + (ulong)bVar17 * -2 + 1;\n                pbVar10 = pbVar10 + (ulong)bVar17 * -2 + 1;\n              } while (bVar13);\n              uVar11 = 0;\n              if ((((!bVar16 && !bVar13) == bVar16) ||\n                  (iVar3 = strcmp((char *)local_30,"0"), iVar3 == 0)) ||\n                 (iVar3 = strcmp((char *)__s1,"STT_NOTYPE"), iVar3 == 0)) goto LAB_00139961;\n              iVar3 = strcmp((char *)__s1,"common");\n              if (((iVar3 != 0) && (iVar3 = strcmp((char *)__s1,"5"), iVar3 != 0)) &&\n                 (iVar3 = strcmp((char *)__s1,"STT_COMMON"), iVar3 != 0)) {\n                iVar3 = strcmp((char *)__s1,"gnu_indirect_function");\n                if (((iVar3 == 0) || (iVar3 = strcmp((char *)__s1,"10"), iVar3 == 0)) ||\n                   (iVar3 = strcmp((char *)__s1,"STT_GNU_IFUNC"), iVar3 == 0)) {\n                  uVar1 = *(uint *)(*(long *)(*(long *)(DAT_0019d970 + 8) + 0x368) + 0xc);\n                  if ((9 < uVar1) ||\n                     (uVar11 = 0x400008, (0x209UL >> ((ulong)uVar1 & 0x3f) & 1) == 0)) {\n                    uVar11 = 0x400008;\n                    uVar4 = dcgettext(0,\n                                      "symbol type \"%s\" is supported only by GNU and FreeBSD targets"\n                                      ,5);\n                    FUN_0011f6d0(uVar4,__s1);\n                  }\n                }\n                else {\n                  iVar3 = strcmp((char *)__s1,"gnu_unique_object");\n                  if (iVar3 == 0) {\n                    lVar7 = *(long *)(*(long *)(DAT_0019d970 + 8) + 0x368);\n                    iVar3 = *(int *)(lVar7 + 0xc);\n                    if ((iVar3 != 3) && (iVar3 != 0)) {\n                      uVar4 = dcgettext(0,"symbol type \"%s\" is supported only by GNU targets",5);\n                      FUN_0011f6d0(uVar4,__s1);\n                    }\n                    *(undefined4 *)(lVar7 + 0xc) = 3;\n                    uVar11 = 0x810000;\n                  }\n                  else {\n                    uVar4 = dcgettext(0,"unrecognized symbol type \"%s\"",5);\n                    FUN_0011f6d0(uVar4,__s1);\n                  }\n                }\n                goto LAB_00139961;\n              }\n              iVar3 = FUN_0012ac00(uVar4);\n              if (iVar3 == 0) {\n                iVar3 = FUN_0012aed0(uVar4);\n                if (iVar3 != 0) {\n                  uVar11 = 0x10000;\n                  uVar4 = FUN_0012c530(uVar4,1);\n                  FUN_0012af90(uVar4,_bfd_std_section);\n                  FUN_0012aa50(uVar4,0);\n                  FUN_0012c440(uVar4);\n                  FUN_0012d650(uVar4,&DAT_0019d720);\n                  FUN_0012d370(uVar4);\n                  goto LAB_00139961;\n                }\n                iVar3 = FUN_0012ac30(uVar4);\n                if ((iVar3 != 0) || (iVar3 = FUN_0012da60(uVar4), iVar3 != 0)) {\n                  uVar11 = 0x10000;\n                  uVar4 = FUN_0012af30(uVar4);\n                  uVar6 = dcgettext(0,"symbol \'%s\' is already defined",5);\n                  FUN_0011f6d0(uVar6,uVar4);\n                  goto LAB_00139961;\n                }\n                FUN_0012af90(uVar4,_bfd_std_section);\n                FUN_0012aa50(uVar4,0);\n                FUN_0012c440(uVar4);\n              }\n            }\n          }\n        }" if (parenthesized_expression "(!bVar13)" ( (unary_expression "!bVar13" ! identifier) )) (compound_statement "{\n          lVar7 = 2;\n          pbVar9 = local_30;\n          pbVar10 = (byte *)0x13f34c;\n          do {\n            if (lVar7 == 0) break;\n            lVar7 = lVar7 + -1;\n            bVar14 = *pbVar9 < *pbVar10;\n            bVar13 = *pbVar9 == *pbVar10;\n            pbVar9 = pbVar9 + (ulong)bVar17 * -2 + 1;\n            pbVar10 = pbVar10 + (ulong)bVar17 * -2 + 1;\n          } while (bVar13);\n          bVar16 = false;\n          bVar13 = (!bVar14 && !bVar13) == bVar14;\n          if (!bVar13) {\n            lVar7 = 0xb;\n            pbVar9 = local_30;\n            pbVar10 = (byte *)"STT_OBJECT";\n            do {\n              if (lVar7 == 0) break;\n              lVar7 = lVar7 + -1;\n              bVar16 = *pbVar9 < *pbVar10;\n              bVar13 = *pbVar9 == *pbVar10;\n              pbVar9 = pbVar9 + (ulong)bVar17 * -2 + 1;\n              pbVar10 = pbVar10 + (ulong)bVar17 * -2 + 1;\n            } while (bVar13);\n            bVar14 = false;\n            bVar13 = (!bVar16 && !bVar13) == bVar16;\n            if (!bVar13) {\n              lVar7 = 0xb;\n              uVar11 = 0x50000;\n              pbVar9 = local_30;\n              pbVar10 = (byte *)"tls_object";\n              do {\n                if (lVar7 == 0) break;\n                lVar7 = lVar7 + -1;\n                bVar14 = *pbVar9 < *pbVar10;\n                bVar13 = *pbVar9 == *pbVar10;\n                pbVar9 = pbVar9 + (ulong)bVar17 * -2 + 1;\n                pbVar10 = pbVar10 + (ulong)bVar17 * -2 + 1;\n              } while (bVar13);\n              bVar16 = false;\n              bVar13 = (!bVar14 && !bVar13) == bVar14;\n              if (bVar13) goto LAB_00139961;\n              lVar7 = 2;\n              pbVar9 = local_30;\n              pbVar10 = &DAT_001448ab;\n              do {\n                if (lVar7 == 0) break;\n                lVar7 = lVar7 + -1;\n                bVar16 = *pbVar9 < *pbVar10;\n                bVar13 = *pbVar9 == *pbVar10;\n                pbVar9 = pbVar9 + (ulong)bVar17 * -2 + 1;\n                pbVar10 = pbVar10 + (ulong)bVar17 * -2 + 1;\n              } while (bVar13);\n              bVar14 = false;\n              bVar13 = (!bVar16 && !bVar13) == bVar16;\n              if (bVar13) goto LAB_00139961;\n              lVar7 = 8;\n              pbVar9 = local_30;\n              pbVar10 = (byte *)"STT_TLS";\n              do {\n                if (lVar7 == 0) break;\n                lVar7 = lVar7 + -1;\n                bVar14 = *pbVar9 < *pbVar10;\n                bVar13 = *pbVar9 == *pbVar10;\n                pbVar9 = pbVar9 + (ulong)bVar17 * -2 + 1;\n                pbVar10 = pbVar10 + (ulong)bVar17 * -2 + 1;\n              } while (bVar13);\n              bVar16 = false;\n              bVar13 = (!bVar14 && !bVar13) == bVar14;\n              if (bVar13) goto LAB_00139961;\n              lVar7 = 7;\n              pbVar9 = local_30;\n              pbVar10 = (byte *)"notype";\n              do {\n                if (lVar7 == 0) break;\n                lVar7 = lVar7 + -1;\n                bVar16 = *pbVar9 < *pbVar10;\n                bVar13 = *pbVar9 == *pbVar10;\n                pbVar9 = pbVar9 + (ulong)bVar17 * -2 + 1;\n                pbVar10 = pbVar10 + (ulong)bVar17 * -2 + 1;\n              } while (bVar13);\n              uVar11 = 0;\n              if ((((!bVar16 && !bVar13) == bVar16) ||\n                  (iVar3 = strcmp((char *)local_30,"0"), iVar3 == 0)) ||\n                 (iVar3 = strcmp((char *)__s1,"STT_NOTYPE"), iVar3 == 0)) goto LAB_00139961;\n              iVar3 = strcmp((char *)__s1,"common");\n              if (((iVar3 != 0) && (iVar3 = strcmp((char *)__s1,"5"), iVar3 != 0)) &&\n                 (iVar3 = strcmp((char *)__s1,"STT_COMMON"), iVar3 != 0)) {\n                iVar3 = strcmp((char *)__s1,"gnu_indirect_function");\n                if (((iVar3 == 0) || (iVar3 = strcmp((char *)__s1,"10"), iVar3 == 0)) ||\n                   (iVar3 = strcmp((char *)__s1,"STT_GNU_IFUNC"), iVar3 == 0)) {\n                  uVar1 = *(uint *)(*(long *)(*(long *)(DAT_0019d970 + 8) + 0x368) + 0xc);\n                  if ((9 < uVar1) ||\n                     (uVar11 = 0x400008, (0x209UL >> ((ulong)uVar1 & 0x3f) & 1) == 0)) {\n                    uVar11 = 0x400008;\n                    uVar4 = dcgettext(0,\n                                      "symbol type \"%s\" is supported only by GNU and FreeBSD targets"\n                                      ,5);\n                    FUN_0011f6d0(uVar4,__s1);\n                  }\n                }\n                else {\n                  iVar3 = strcmp((char *)__s1,"gnu_unique_object");\n                  if (iVar3 == 0) {\n                    lVar7 = *(long *)(*(long *)(DAT_0019d970 + 8) + 0x368);\n                    iVar3 = *(int *)(lVar7 + 0xc);\n                    if ((iVar3 != 3) && (iVar3 != 0)) {\n                      uVar4 = dcgettext(0,"symbol type \"%s\" is supported only by GNU targets",5);\n                      FUN_0011f6d0(uVar4,__s1);\n                    }\n                    *(undefined4 *)(lVar7 + 0xc) = 3;\n                    uVar11 = 0x810000;\n                  }\n                  else {\n                    uVar4 = dcgettext(0,"unrecognized symbol type \"%s\"",5);\n                    FUN_0011f6d0(uVar4,__s1);\n                  }\n                }\n                goto LAB_00139961;\n              }\n              iVar3 = FUN_0012ac00(uVar4);\n              if (iVar3 == 0) {\n                iVar3 = FUN_0012aed0(uVar4);\n                if (iVar3 != 0) {\n                  uVar11 = 0x10000;\n                  uVar4 = FUN_0012c530(uVar4,1);\n                  FUN_0012af90(uVar4,_bfd_std_section);\n                  FUN_0012aa50(uVar4,0);\n                  FUN_0012c440(uVar4);\n                  FUN_0012d650(uVar4,&DAT_0019d720);\n                  FUN_0012d370(uVar4);\n                  goto LAB_00139961;\n                }\n                iVar3 = FUN_0012ac30(uVar4);\n                if ((iVar3 != 0) || (iVar3 = FUN_0012da60(uVar4), iVar3 != 0)) {\n                  uVar11 = 0x10000;\n                  uVar4 = FUN_0012af30(uVar4);\n                  uVar6 = dcgettext(0,"symbol \'%s\' is already defined",5);\n                  FUN_0011f6d0(uVar6,uVar4);\n                  goto LAB_00139961;\n                }\n                FUN_0012af90(uVar4,_bfd_std_section);\n                FUN_0012aa50(uVar4,0);\n                FUN_0012c440(uVar4);\n              }\n            }\n          }\n        }" { (expression_statement "lVar7 = 2;" (assignment_expression "lVar7 = 2" identifier = number_literal) ;) (expression_statement "pbVar9 = local_30;" (assignment_expression "pbVar9 = local_30" identifier = identifier) ;) (expression_statement "pbVar10 = (byte *)0x13f34c;" (assignment_expression "pbVar10 = (byte *)0x13f34c" identifier = (cast_expression "(byte *)0x13f34c" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (do_statement "do {\n            if (lVar7 == 0) break;\n            lVar7 = lVar7 + -1;\n            bVar14 = *pbVar9 < *pbVar10;\n            bVar13 = *pbVar9 == *pbVar10;\n            pbVar9 = pbVar9 + (ulong)bVar17 * -2 + 1;\n            pbVar10 = pbVar10 + (ulong)bVar17 * -2 + 1;\n          } while (bVar13);" do (compound_statement "{\n            if (lVar7 == 0) break;\n            lVar7 = lVar7 + -1;\n            bVar14 = *pbVar9 < *pbVar10;\n            bVar13 = *pbVar9 == *pbVar10;\n            pbVar9 = pbVar9 + (ulong)bVar17 * -2 + 1;\n            pbVar10 = pbVar10 + (ulong)bVar17 * -2 + 1;\n          }" { (if_statement "if (lVar7 == 0) break;" if (parenthesized_expression "(lVar7 == 0)" ( (binary_expression "lVar7 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "lVar7 = lVar7 + -1;" (assignment_expression "lVar7 = lVar7 + -1" identifier = (binary_expression "lVar7 + -1" identifier + number_literal)) ;) (expression_statement "bVar14 = *pbVar9 < *pbVar10;" (assignment_expression "bVar14 = *pbVar9 < *pbVar10" identifier = (binary_expression "*pbVar9 < *pbVar10" (pointer_expression "*pbVar9" * identifier) < (pointer_expression "*pbVar10" * identifier))) ;) (expression_statement "bVar13 = *pbVar9 == *pbVar10;" (assignment_expression "bVar13 = *pbVar9 == *pbVar10" identifier = (binary_expression "*pbVar9 == *pbVar10" (pointer_expression "*pbVar9" * identifier) == (pointer_expression "*pbVar10" * identifier))) ;) (expression_statement "pbVar9 = pbVar9 + (ulong)bVar17 * -2 + 1;" (assignment_expression "pbVar9 = pbVar9 + (ulong)bVar17 * -2 + 1" identifier = (binary_expression "pbVar9 + (ulong)bVar17 * -2 + 1" (binary_expression "pbVar9 + (ulong)bVar17 * -2" identifier + (binary_expression "(ulong)bVar17 * -2" (cast_expression "(ulong)bVar17" ( (type_descriptor "ulong" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) (expression_statement "pbVar10 = pbVar10 + (ulong)bVar17 * -2 + 1;" (assignment_expression "pbVar10 = pbVar10 + (ulong)bVar17 * -2 + 1" identifier = (binary_expression "pbVar10 + (ulong)bVar17 * -2 + 1" (binary_expression "pbVar10 + (ulong)bVar17 * -2" identifier + (binary_expression "(ulong)bVar17 * -2" (cast_expression "(ulong)bVar17" ( (type_descriptor "ulong" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) }) while (parenthesized_expression "(bVar13)" ( identifier )) ;) (expression_statement "bVar16 = false;" (assignment_expression "bVar16 = false" identifier = false) ;) (expression_statement "bVar13 = (!bVar14 && !bVar13) == bVar14;" (assignment_expression "bVar13 = (!bVar14 && !bVar13) == bVar14" identifier = (binary_expression "(!bVar14 && !bVar13) == bVar14" (parenthesized_expression "(!bVar14 && !bVar13)" ( (binary_expression "!bVar14 && !bVar13" (unary_expression "!bVar14" ! identifier) && (unary_expression "!bVar13" ! identifier)) )) == identifier)) ;) (if_statement "if (!bVar13) {\n            lVar7 = 0xb;\n            pbVar9 = local_30;\n            pbVar10 = (byte *)"STT_OBJECT";\n            do {\n              if (lVar7 == 0) break;\n              lVar7 = lVar7 + -1;\n              bVar16 = *pbVar9 < *pbVar10;\n              bVar13 = *pbVar9 == *pbVar10;\n              pbVar9 = pbVar9 + (ulong)bVar17 * -2 + 1;\n              pbVar10 = pbVar10 + (ulong)bVar17 * -2 + 1;\n            } while (bVar13);\n            bVar14 = false;\n            bVar13 = (!bVar16 && !bVar13) == bVar16;\n            if (!bVar13) {\n              lVar7 = 0xb;\n              uVar11 = 0x50000;\n              pbVar9 = local_30;\n              pbVar10 = (byte *)"tls_object";\n              do {\n                if (lVar7 == 0) break;\n                lVar7 = lVar7 + -1;\n                bVar14 = *pbVar9 < *pbVar10;\n                bVar13 = *pbVar9 == *pbVar10;\n                pbVar9 = pbVar9 + (ulong)bVar17 * -2 + 1;\n                pbVar10 = pbVar10 + (ulong)bVar17 * -2 + 1;\n              } while (bVar13);\n              bVar16 = false;\n              bVar13 = (!bVar14 && !bVar13) == bVar14;\n              if (bVar13) goto LAB_00139961;\n              lVar7 = 2;\n              pbVar9 = local_30;\n              pbVar10 = &DAT_001448ab;\n              do {\n                if (lVar7 == 0) break;\n                lVar7 = lVar7 + -1;\n                bVar16 = *pbVar9 < *pbVar10;\n                bVar13 = *pbVar9 == *pbVar10;\n                pbVar9 = pbVar9 + (ulong)bVar17 * -2 + 1;\n                pbVar10 = pbVar10 + (ulong)bVar17 * -2 + 1;\n              } while (bVar13);\n              bVar14 = false;\n              bVar13 = (!bVar16 && !bVar13) == bVar16;\n              if (bVar13) goto LAB_00139961;\n              lVar7 = 8;\n              pbVar9 = local_30;\n              pbVar10 = (byte *)"STT_TLS";\n              do {\n                if (lVar7 == 0) break;\n                lVar7 = lVar7 + -1;\n                bVar14 = *pbVar9 < *pbVar10;\n                bVar13 = *pbVar9 == *pbVar10;\n                pbVar9 = pbVar9 + (ulong)bVar17 * -2 + 1;\n                pbVar10 = pbVar10 + (ulong)bVar17 * -2 + 1;\n              } while (bVar13);\n              bVar16 = false;\n              bVar13 = (!bVar14 && !bVar13) == bVar14;\n              if (bVar13) goto LAB_00139961;\n              lVar7 = 7;\n              pbVar9 = local_30;\n              pbVar10 = (byte *)"notype";\n              do {\n                if (lVar7 == 0) break;\n                lVar7 = lVar7 + -1;\n                bVar16 = *pbVar9 < *pbVar10;\n                bVar13 = *pbVar9 == *pbVar10;\n                pbVar9 = pbVar9 + (ulong)bVar17 * -2 + 1;\n                pbVar10 = pbVar10 + (ulong)bVar17 * -2 + 1;\n              } while (bVar13);\n              uVar11 = 0;\n              if ((((!bVar16 && !bVar13) == bVar16) ||\n                  (iVar3 = strcmp((char *)local_30,"0"), iVar3 == 0)) ||\n                 (iVar3 = strcmp((char *)__s1,"STT_NOTYPE"), iVar3 == 0)) goto LAB_00139961;\n              iVar3 = strcmp((char *)__s1,"common");\n              if (((iVar3 != 0) && (iVar3 = strcmp((char *)__s1,"5"), iVar3 != 0)) &&\n                 (iVar3 = strcmp((char *)__s1,"STT_COMMON"), iVar3 != 0)) {\n                iVar3 = strcmp((char *)__s1,"gnu_indirect_function");\n                if (((iVar3 == 0) || (iVar3 = strcmp((char *)__s1,"10"), iVar3 == 0)) ||\n                   (iVar3 = strcmp((char *)__s1,"STT_GNU_IFUNC"), iVar3 == 0)) {\n                  uVar1 = *(uint *)(*(long *)(*(long *)(DAT_0019d970 + 8) + 0x368) + 0xc);\n                  if ((9 < uVar1) ||\n                     (uVar11 = 0x400008, (0x209UL >> ((ulong)uVar1 & 0x3f) & 1) == 0)) {\n                    uVar11 = 0x400008;\n                    uVar4 = dcgettext(0,\n                                      "symbol type \"%s\" is supported only by GNU and FreeBSD targets"\n                                      ,5);\n                    FUN_0011f6d0(uVar4,__s1);\n                  }\n                }\n                else {\n                  iVar3 = strcmp((char *)__s1,"gnu_unique_object");\n                  if (iVar3 == 0) {\n                    lVar7 = *(long *)(*(long *)(DAT_0019d970 + 8) + 0x368);\n                    iVar3 = *(int *)(lVar7 + 0xc);\n                    if ((iVar3 != 3) && (iVar3 != 0)) {\n                      uVar4 = dcgettext(0,"symbol type \"%s\" is supported only by GNU targets",5);\n                      FUN_0011f6d0(uVar4,__s1);\n                    }\n                    *(undefined4 *)(lVar7 + 0xc) = 3;\n                    uVar11 = 0x810000;\n                  }\n                  else {\n                    uVar4 = dcgettext(0,"unrecognized symbol type \"%s\"",5);\n                    FUN_0011f6d0(uVar4,__s1);\n                  }\n                }\n                goto LAB_00139961;\n              }\n              iVar3 = FUN_0012ac00(uVar4);\n              if (iVar3 == 0) {\n                iVar3 = FUN_0012aed0(uVar4);\n                if (iVar3 != 0) {\n                  uVar11 = 0x10000;\n                  uVar4 = FUN_0012c530(uVar4,1);\n                  FUN_0012af90(uVar4,_bfd_std_section);\n                  FUN_0012aa50(uVar4,0);\n                  FUN_0012c440(uVar4);\n                  FUN_0012d650(uVar4,&DAT_0019d720);\n                  FUN_0012d370(uVar4);\n                  goto LAB_00139961;\n                }\n                iVar3 = FUN_0012ac30(uVar4);\n                if ((iVar3 != 0) || (iVar3 = FUN_0012da60(uVar4), iVar3 != 0)) {\n                  uVar11 = 0x10000;\n                  uVar4 = FUN_0012af30(uVar4);\n                  uVar6 = dcgettext(0,"symbol \'%s\' is already defined",5);\n                  FUN_0011f6d0(uVar6,uVar4);\n                  goto LAB_00139961;\n                }\n                FUN_0012af90(uVar4,_bfd_std_section);\n                FUN_0012aa50(uVar4,0);\n                FUN_0012c440(uVar4);\n              }\n            }\n          }" if (parenthesized_expression "(!bVar13)" ( (unary_expression "!bVar13" ! identifier) )) (compound_statement "{\n            lVar7 = 0xb;\n            pbVar9 = local_30;\n            pbVar10 = (byte *)"STT_OBJECT";\n            do {\n              if (lVar7 == 0) break;\n              lVar7 = lVar7 + -1;\n              bVar16 = *pbVar9 < *pbVar10;\n              bVar13 = *pbVar9 == *pbVar10;\n              pbVar9 = pbVar9 + (ulong)bVar17 * -2 + 1;\n              pbVar10 = pbVar10 + (ulong)bVar17 * -2 + 1;\n            } while (bVar13);\n            bVar14 = false;\n            bVar13 = (!bVar16 && !bVar13) == bVar16;\n            if (!bVar13) {\n              lVar7 = 0xb;\n              uVar11 = 0x50000;\n              pbVar9 = local_30;\n              pbVar10 = (byte *)"tls_object";\n              do {\n                if (lVar7 == 0) break;\n                lVar7 = lVar7 + -1;\n                bVar14 = *pbVar9 < *pbVar10;\n                bVar13 = *pbVar9 == *pbVar10;\n                pbVar9 = pbVar9 + (ulong)bVar17 * -2 + 1;\n                pbVar10 = pbVar10 + (ulong)bVar17 * -2 + 1;\n              } while (bVar13);\n              bVar16 = false;\n              bVar13 = (!bVar14 && !bVar13) == bVar14;\n              if (bVar13) goto LAB_00139961;\n              lVar7 = 2;\n              pbVar9 = local_30;\n              pbVar10 = &DAT_001448ab;\n              do {\n                if (lVar7 == 0) break;\n                lVar7 = lVar7 + -1;\n                bVar16 = *pbVar9 < *pbVar10;\n                bVar13 = *pbVar9 == *pbVar10;\n                pbVar9 = pbVar9 + (ulong)bVar17 * -2 + 1;\n                pbVar10 = pbVar10 + (ulong)bVar17 * -2 + 1;\n              } while (bVar13);\n              bVar14 = false;\n              bVar13 = (!bVar16 && !bVar13) == bVar16;\n              if (bVar13) goto LAB_00139961;\n              lVar7 = 8;\n              pbVar9 = local_30;\n              pbVar10 = (byte *)"STT_TLS";\n              do {\n                if (lVar7 == 0) break;\n                lVar7 = lVar7 + -1;\n                bVar14 = *pbVar9 < *pbVar10;\n                bVar13 = *pbVar9 == *pbVar10;\n                pbVar9 = pbVar9 + (ulong)bVar17 * -2 + 1;\n                pbVar10 = pbVar10 + (ulong)bVar17 * -2 + 1;\n              } while (bVar13);\n              bVar16 = false;\n              bVar13 = (!bVar14 && !bVar13) == bVar14;\n              if (bVar13) goto LAB_00139961;\n              lVar7 = 7;\n              pbVar9 = local_30;\n              pbVar10 = (byte *)"notype";\n              do {\n                if (lVar7 == 0) break;\n                lVar7 = lVar7 + -1;\n                bVar16 = *pbVar9 < *pbVar10;\n                bVar13 = *pbVar9 == *pbVar10;\n                pbVar9 = pbVar9 + (ulong)bVar17 * -2 + 1;\n                pbVar10 = pbVar10 + (ulong)bVar17 * -2 + 1;\n              } while (bVar13);\n              uVar11 = 0;\n              if ((((!bVar16 && !bVar13) == bVar16) ||\n                  (iVar3 = strcmp((char *)local_30,"0"), iVar3 == 0)) ||\n                 (iVar3 = strcmp((char *)__s1,"STT_NOTYPE"), iVar3 == 0)) goto LAB_00139961;\n              iVar3 = strcmp((char *)__s1,"common");\n              if (((iVar3 != 0) && (iVar3 = strcmp((char *)__s1,"5"), iVar3 != 0)) &&\n                 (iVar3 = strcmp((char *)__s1,"STT_COMMON"), iVar3 != 0)) {\n                iVar3 = strcmp((char *)__s1,"gnu_indirect_function");\n                if (((iVar3 == 0) || (iVar3 = strcmp((char *)__s1,"10"), iVar3 == 0)) ||\n                   (iVar3 = strcmp((char *)__s1,"STT_GNU_IFUNC"), iVar3 == 0)) {\n                  uVar1 = *(uint *)(*(long *)(*(long *)(DAT_0019d970 + 8) + 0x368) + 0xc);\n                  if ((9 < uVar1) ||\n                     (uVar11 = 0x400008, (0x209UL >> ((ulong)uVar1 & 0x3f) & 1) == 0)) {\n                    uVar11 = 0x400008;\n                    uVar4 = dcgettext(0,\n                                      "symbol type \"%s\" is supported only by GNU and FreeBSD targets"\n                                      ,5);\n                    FUN_0011f6d0(uVar4,__s1);\n                  }\n                }\n                else {\n                  iVar3 = strcmp((char *)__s1,"gnu_unique_object");\n                  if (iVar3 == 0) {\n                    lVar7 = *(long *)(*(long *)(DAT_0019d970 + 8) + 0x368);\n                    iVar3 = *(int *)(lVar7 + 0xc);\n                    if ((iVar3 != 3) && (iVar3 != 0)) {\n                      uVar4 = dcgettext(0,"symbol type \"%s\" is supported only by GNU targets",5);\n                      FUN_0011f6d0(uVar4,__s1);\n                    }\n                    *(undefined4 *)(lVar7 + 0xc) = 3;\n                    uVar11 = 0x810000;\n                  }\n                  else {\n                    uVar4 = dcgettext(0,"unrecognized symbol type \"%s\"",5);\n                    FUN_0011f6d0(uVar4,__s1);\n                  }\n                }\n                goto LAB_00139961;\n              }\n              iVar3 = FUN_0012ac00(uVar4);\n              if (iVar3 == 0) {\n                iVar3 = FUN_0012aed0(uVar4);\n                if (iVar3 != 0) {\n                  uVar11 = 0x10000;\n                  uVar4 = FUN_0012c530(uVar4,1);\n                  FUN_0012af90(uVar4,_bfd_std_section);\n                  FUN_0012aa50(uVar4,0);\n                  FUN_0012c440(uVar4);\n                  FUN_0012d650(uVar4,&DAT_0019d720);\n                  FUN_0012d370(uVar4);\n                  goto LAB_00139961;\n                }\n                iVar3 = FUN_0012ac30(uVar4);\n                if ((iVar3 != 0) || (iVar3 = FUN_0012da60(uVar4), iVar3 != 0)) {\n                  uVar11 = 0x10000;\n                  uVar4 = FUN_0012af30(uVar4);\n                  uVar6 = dcgettext(0,"symbol \'%s\' is already defined",5);\n                  FUN_0011f6d0(uVar6,uVar4);\n                  goto LAB_00139961;\n                }\n                FUN_0012af90(uVar4,_bfd_std_section);\n                FUN_0012aa50(uVar4,0);\n                FUN_0012c440(uVar4);\n              }\n            }\n          }" { (expression_statement "lVar7 = 0xb;" (assignment_expression "lVar7 = 0xb" identifier = number_literal) ;) (expression_statement "pbVar9 = local_30;" (assignment_expression "pbVar9 = local_30" identifier = identifier) ;) (expression_statement "pbVar10 = (byte *)"STT_OBJECT";" (assignment_expression "pbVar10 = (byte *)"STT_OBJECT"" identifier = (cast_expression "(byte *)"STT_OBJECT"" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (string_literal ""STT_OBJECT"" " string_content "))) ;) (do_statement "do {\n              if (lVar7 == 0) break;\n              lVar7 = lVar7 + -1;\n              bVar16 = *pbVar9 < *pbVar10;\n              bVar13 = *pbVar9 == *pbVar10;\n              pbVar9 = pbVar9 + (ulong)bVar17 * -2 + 1;\n              pbVar10 = pbVar10 + (ulong)bVar17 * -2 + 1;\n            } while (bVar13);" do (compound_statement "{\n              if (lVar7 == 0) break;\n              lVar7 = lVar7 + -1;\n              bVar16 = *pbVar9 < *pbVar10;\n              bVar13 = *pbVar9 == *pbVar10;\n              pbVar9 = pbVar9 + (ulong)bVar17 * -2 + 1;\n              pbVar10 = pbVar10 + (ulong)bVar17 * -2 + 1;\n            }" { (if_statement "if (lVar7 == 0) break;" if (parenthesized_expression "(lVar7 == 0)" ( (binary_expression "lVar7 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "lVar7 = lVar7 + -1;" (assignment_expression "lVar7 = lVar7 + -1" identifier = (binary_expression "lVar7 + -1" identifier + number_literal)) ;) (expression_statement "bVar16 = *pbVar9 < *pbVar10;" (assignment_expression "bVar16 = *pbVar9 < *pbVar10" identifier = (binary_expression "*pbVar9 < *pbVar10" (pointer_expression "*pbVar9" * identifier) < (pointer_expression "*pbVar10" * identifier))) ;) (expression_statement "bVar13 = *pbVar9 == *pbVar10;" (assignment_expression "bVar13 = *pbVar9 == *pbVar10" identifier = (binary_expression "*pbVar9 == *pbVar10" (pointer_expression "*pbVar9" * identifier) == (pointer_expression "*pbVar10" * identifier))) ;) (expression_statement "pbVar9 = pbVar9 + (ulong)bVar17 * -2 + 1;" (assignment_expression "pbVar9 = pbVar9 + (ulong)bVar17 * -2 + 1" identifier = (binary_expression "pbVar9 + (ulong)bVar17 * -2 + 1" (binary_expression "pbVar9 + (ulong)bVar17 * -2" identifier + (binary_expression "(ulong)bVar17 * -2" (cast_expression "(ulong)bVar17" ( (type_descriptor "ulong" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) (expression_statement "pbVar10 = pbVar10 + (ulong)bVar17 * -2 + 1;" (assignment_expression "pbVar10 = pbVar10 + (ulong)bVar17 * -2 + 1" identifier = (binary_expression "pbVar10 + (ulong)bVar17 * -2 + 1" (binary_expression "pbVar10 + (ulong)bVar17 * -2" identifier + (binary_expression "(ulong)bVar17 * -2" (cast_expression "(ulong)bVar17" ( (type_descriptor "ulong" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) }) while (parenthesized_expression "(bVar13)" ( identifier )) ;) (expression_statement "bVar14 = false;" (assignment_expression "bVar14 = false" identifier = false) ;) (expression_statement "bVar13 = (!bVar16 && !bVar13) == bVar16;" (assignment_expression "bVar13 = (!bVar16 && !bVar13) == bVar16" identifier = (binary_expression "(!bVar16 && !bVar13) == bVar16" (parenthesized_expression "(!bVar16 && !bVar13)" ( (binary_expression "!bVar16 && !bVar13" (unary_expression "!bVar16" ! identifier) && (unary_expression "!bVar13" ! identifier)) )) == identifier)) ;) (if_statement "if (!bVar13) {\n              lVar7 = 0xb;\n              uVar11 = 0x50000;\n              pbVar9 = local_30;\n              pbVar10 = (byte *)"tls_object";\n              do {\n                if (lVar7 == 0) break;\n                lVar7 = lVar7 + -1;\n                bVar14 = *pbVar9 < *pbVar10;\n                bVar13 = *pbVar9 == *pbVar10;\n                pbVar9 = pbVar9 + (ulong)bVar17 * -2 + 1;\n                pbVar10 = pbVar10 + (ulong)bVar17 * -2 + 1;\n              } while (bVar13);\n              bVar16 = false;\n              bVar13 = (!bVar14 && !bVar13) == bVar14;\n              if (bVar13) goto LAB_00139961;\n              lVar7 = 2;\n              pbVar9 = local_30;\n              pbVar10 = &DAT_001448ab;\n              do {\n                if (lVar7 == 0) break;\n                lVar7 = lVar7 + -1;\n                bVar16 = *pbVar9 < *pbVar10;\n                bVar13 = *pbVar9 == *pbVar10;\n                pbVar9 = pbVar9 + (ulong)bVar17 * -2 + 1;\n                pbVar10 = pbVar10 + (ulong)bVar17 * -2 + 1;\n              } while (bVar13);\n              bVar14 = false;\n              bVar13 = (!bVar16 && !bVar13) == bVar16;\n              if (bVar13) goto LAB_00139961;\n              lVar7 = 8;\n              pbVar9 = local_30;\n              pbVar10 = (byte *)"STT_TLS";\n              do {\n                if (lVar7 == 0) break;\n                lVar7 = lVar7 + -1;\n                bVar14 = *pbVar9 < *pbVar10;\n                bVar13 = *pbVar9 == *pbVar10;\n                pbVar9 = pbVar9 + (ulong)bVar17 * -2 + 1;\n                pbVar10 = pbVar10 + (ulong)bVar17 * -2 + 1;\n              } while (bVar13);\n              bVar16 = false;\n              bVar13 = (!bVar14 && !bVar13) == bVar14;\n              if (bVar13) goto LAB_00139961;\n              lVar7 = 7;\n              pbVar9 = local_30;\n              pbVar10 = (byte *)"notype";\n              do {\n                if (lVar7 == 0) break;\n                lVar7 = lVar7 + -1;\n                bVar16 = *pbVar9 < *pbVar10;\n                bVar13 = *pbVar9 == *pbVar10;\n                pbVar9 = pbVar9 + (ulong)bVar17 * -2 + 1;\n                pbVar10 = pbVar10 + (ulong)bVar17 * -2 + 1;\n              } while (bVar13);\n              uVar11 = 0;\n              if ((((!bVar16 && !bVar13) == bVar16) ||\n                  (iVar3 = strcmp((char *)local_30,"0"), iVar3 == 0)) ||\n                 (iVar3 = strcmp((char *)__s1,"STT_NOTYPE"), iVar3 == 0)) goto LAB_00139961;\n              iVar3 = strcmp((char *)__s1,"common");\n              if (((iVar3 != 0) && (iVar3 = strcmp((char *)__s1,"5"), iVar3 != 0)) &&\n                 (iVar3 = strcmp((char *)__s1,"STT_COMMON"), iVar3 != 0)) {\n                iVar3 = strcmp((char *)__s1,"gnu_indirect_function");\n                if (((iVar3 == 0) || (iVar3 = strcmp((char *)__s1,"10"), iVar3 == 0)) ||\n                   (iVar3 = strcmp((char *)__s1,"STT_GNU_IFUNC"), iVar3 == 0)) {\n                  uVar1 = *(uint *)(*(long *)(*(long *)(DAT_0019d970 + 8) + 0x368) + 0xc);\n                  if ((9 < uVar1) ||\n                     (uVar11 = 0x400008, (0x209UL >> ((ulong)uVar1 & 0x3f) & 1) == 0)) {\n                    uVar11 = 0x400008;\n                    uVar4 = dcgettext(0,\n                                      "symbol type \"%s\" is supported only by GNU and FreeBSD targets"\n                                      ,5);\n                    FUN_0011f6d0(uVar4,__s1);\n                  }\n                }\n                else {\n                  iVar3 = strcmp((char *)__s1,"gnu_unique_object");\n                  if (iVar3 == 0) {\n                    lVar7 = *(long *)(*(long *)(DAT_0019d970 + 8) + 0x368);\n                    iVar3 = *(int *)(lVar7 + 0xc);\n                    if ((iVar3 != 3) && (iVar3 != 0)) {\n                      uVar4 = dcgettext(0,"symbol type \"%s\" is supported only by GNU targets",5);\n                      FUN_0011f6d0(uVar4,__s1);\n                    }\n                    *(undefined4 *)(lVar7 + 0xc) = 3;\n                    uVar11 = 0x810000;\n                  }\n                  else {\n                    uVar4 = dcgettext(0,"unrecognized symbol type \"%s\"",5);\n                    FUN_0011f6d0(uVar4,__s1);\n                  }\n                }\n                goto LAB_00139961;\n              }\n              iVar3 = FUN_0012ac00(uVar4);\n              if (iVar3 == 0) {\n                iVar3 = FUN_0012aed0(uVar4);\n                if (iVar3 != 0) {\n                  uVar11 = 0x10000;\n                  uVar4 = FUN_0012c530(uVar4,1);\n                  FUN_0012af90(uVar4,_bfd_std_section);\n                  FUN_0012aa50(uVar4,0);\n                  FUN_0012c440(uVar4);\n                  FUN_0012d650(uVar4,&DAT_0019d720);\n                  FUN_0012d370(uVar4);\n                  goto LAB_00139961;\n                }\n                iVar3 = FUN_0012ac30(uVar4);\n                if ((iVar3 != 0) || (iVar3 = FUN_0012da60(uVar4), iVar3 != 0)) {\n                  uVar11 = 0x10000;\n                  uVar4 = FUN_0012af30(uVar4);\n                  uVar6 = dcgettext(0,"symbol \'%s\' is already defined",5);\n                  FUN_0011f6d0(uVar6,uVar4);\n                  goto LAB_00139961;\n                }\n                FUN_0012af90(uVar4,_bfd_std_section);\n                FUN_0012aa50(uVar4,0);\n                FUN_0012c440(uVar4);\n              }\n            }" if (parenthesized_expression "(!bVar13)" ( (unary_expression "!bVar13" ! identifier) )) (compound_statement "{\n              lVar7 = 0xb;\n              uVar11 = 0x50000;\n              pbVar9 = local_30;\n              pbVar10 = (byte *)"tls_object";\n              do {\n                if (lVar7 == 0) break;\n                lVar7 = lVar7 + -1;\n                bVar14 = *pbVar9 < *pbVar10;\n                bVar13 = *pbVar9 == *pbVar10;\n                pbVar9 = pbVar9 + (ulong)bVar17 * -2 + 1;\n                pbVar10 = pbVar10 + (ulong)bVar17 * -2 + 1;\n              } while (bVar13);\n              bVar16 = false;\n              bVar13 = (!bVar14 && !bVar13) == bVar14;\n              if (bVar13) goto LAB_00139961;\n              lVar7 = 2;\n              pbVar9 = local_30;\n              pbVar10 = &DAT_001448ab;\n              do {\n                if (lVar7 == 0) break;\n                lVar7 = lVar7 + -1;\n                bVar16 = *pbVar9 < *pbVar10;\n                bVar13 = *pbVar9 == *pbVar10;\n                pbVar9 = pbVar9 + (ulong)bVar17 * -2 + 1;\n                pbVar10 = pbVar10 + (ulong)bVar17 * -2 + 1;\n              } while (bVar13);\n              bVar14 = false;\n              bVar13 = (!bVar16 && !bVar13) == bVar16;\n              if (bVar13) goto LAB_00139961;\n              lVar7 = 8;\n              pbVar9 = local_30;\n              pbVar10 = (byte *)"STT_TLS";\n              do {\n                if (lVar7 == 0) break;\n                lVar7 = lVar7 + -1;\n                bVar14 = *pbVar9 < *pbVar10;\n                bVar13 = *pbVar9 == *pbVar10;\n                pbVar9 = pbVar9 + (ulong)bVar17 * -2 + 1;\n                pbVar10 = pbVar10 + (ulong)bVar17 * -2 + 1;\n              } while (bVar13);\n              bVar16 = false;\n              bVar13 = (!bVar14 && !bVar13) == bVar14;\n              if (bVar13) goto LAB_00139961;\n              lVar7 = 7;\n              pbVar9 = local_30;\n              pbVar10 = (byte *)"notype";\n              do {\n                if (lVar7 == 0) break;\n                lVar7 = lVar7 + -1;\n                bVar16 = *pbVar9 < *pbVar10;\n                bVar13 = *pbVar9 == *pbVar10;\n                pbVar9 = pbVar9 + (ulong)bVar17 * -2 + 1;\n                pbVar10 = pbVar10 + (ulong)bVar17 * -2 + 1;\n              } while (bVar13);\n              uVar11 = 0;\n              if ((((!bVar16 && !bVar13) == bVar16) ||\n                  (iVar3 = strcmp((char *)local_30,"0"), iVar3 == 0)) ||\n                 (iVar3 = strcmp((char *)__s1,"STT_NOTYPE"), iVar3 == 0)) goto LAB_00139961;\n              iVar3 = strcmp((char *)__s1,"common");\n              if (((iVar3 != 0) && (iVar3 = strcmp((char *)__s1,"5"), iVar3 != 0)) &&\n                 (iVar3 = strcmp((char *)__s1,"STT_COMMON"), iVar3 != 0)) {\n                iVar3 = strcmp((char *)__s1,"gnu_indirect_function");\n                if (((iVar3 == 0) || (iVar3 = strcmp((char *)__s1,"10"), iVar3 == 0)) ||\n                   (iVar3 = strcmp((char *)__s1,"STT_GNU_IFUNC"), iVar3 == 0)) {\n                  uVar1 = *(uint *)(*(long *)(*(long *)(DAT_0019d970 + 8) + 0x368) + 0xc);\n                  if ((9 < uVar1) ||\n                     (uVar11 = 0x400008, (0x209UL >> ((ulong)uVar1 & 0x3f) & 1) == 0)) {\n                    uVar11 = 0x400008;\n                    uVar4 = dcgettext(0,\n                                      "symbol type \"%s\" is supported only by GNU and FreeBSD targets"\n                                      ,5);\n                    FUN_0011f6d0(uVar4,__s1);\n                  }\n                }\n                else {\n                  iVar3 = strcmp((char *)__s1,"gnu_unique_object");\n                  if (iVar3 == 0) {\n                    lVar7 = *(long *)(*(long *)(DAT_0019d970 + 8) + 0x368);\n                    iVar3 = *(int *)(lVar7 + 0xc);\n                    if ((iVar3 != 3) && (iVar3 != 0)) {\n                      uVar4 = dcgettext(0,"symbol type \"%s\" is supported only by GNU targets",5);\n                      FUN_0011f6d0(uVar4,__s1);\n                    }\n                    *(undefined4 *)(lVar7 + 0xc) = 3;\n                    uVar11 = 0x810000;\n                  }\n                  else {\n                    uVar4 = dcgettext(0,"unrecognized symbol type \"%s\"",5);\n                    FUN_0011f6d0(uVar4,__s1);\n                  }\n                }\n                goto LAB_00139961;\n              }\n              iVar3 = FUN_0012ac00(uVar4);\n              if (iVar3 == 0) {\n                iVar3 = FUN_0012aed0(uVar4);\n                if (iVar3 != 0) {\n                  uVar11 = 0x10000;\n                  uVar4 = FUN_0012c530(uVar4,1);\n                  FUN_0012af90(uVar4,_bfd_std_section);\n                  FUN_0012aa50(uVar4,0);\n                  FUN_0012c440(uVar4);\n                  FUN_0012d650(uVar4,&DAT_0019d720);\n                  FUN_0012d370(uVar4);\n                  goto LAB_00139961;\n                }\n                iVar3 = FUN_0012ac30(uVar4);\n                if ((iVar3 != 0) || (iVar3 = FUN_0012da60(uVar4), iVar3 != 0)) {\n                  uVar11 = 0x10000;\n                  uVar4 = FUN_0012af30(uVar4);\n                  uVar6 = dcgettext(0,"symbol \'%s\' is already defined",5);\n                  FUN_0011f6d0(uVar6,uVar4);\n                  goto LAB_00139961;\n                }\n                FUN_0012af90(uVar4,_bfd_std_section);\n                FUN_0012aa50(uVar4,0);\n                FUN_0012c440(uVar4);\n              }\n            }" { (expression_statement "lVar7 = 0xb;" (assignment_expression "lVar7 = 0xb" identifier = number_literal) ;) (expression_statement "uVar11 = 0x50000;" (assignment_expression "uVar11 = 0x50000" identifier = number_literal) ;) (expression_statement "pbVar9 = local_30;" (assignment_expression "pbVar9 = local_30" identifier = identifier) ;) (expression_statement "pbVar10 = (byte *)"tls_object";" (assignment_expression "pbVar10 = (byte *)"tls_object"" identifier = (cast_expression "(byte *)"tls_object"" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (string_literal ""tls_object"" " string_content "))) ;) (do_statement "do {\n                if (lVar7 == 0) break;\n                lVar7 = lVar7 + -1;\n                bVar14 = *pbVar9 < *pbVar10;\n                bVar13 = *pbVar9 == *pbVar10;\n                pbVar9 = pbVar9 + (ulong)bVar17 * -2 + 1;\n                pbVar10 = pbVar10 + (ulong)bVar17 * -2 + 1;\n              } while (bVar13);" do (compound_statement "{\n                if (lVar7 == 0) break;\n                lVar7 = lVar7 + -1;\n                bVar14 = *pbVar9 < *pbVar10;\n                bVar13 = *pbVar9 == *pbVar10;\n                pbVar9 = pbVar9 + (ulong)bVar17 * -2 + 1;\n                pbVar10 = pbVar10 + (ulong)bVar17 * -2 + 1;\n              }" { (if_statement "if (lVar7 == 0) break;" if (parenthesized_expression "(lVar7 == 0)" ( (binary_expression "lVar7 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "lVar7 = lVar7 + -1;" (assignment_expression "lVar7 = lVar7 + -1" identifier = (binary_expression "lVar7 + -1" identifier + number_literal)) ;) (expression_statement "bVar14 = *pbVar9 < *pbVar10;" (assignment_expression "bVar14 = *pbVar9 < *pbVar10" identifier = (binary_expression "*pbVar9 < *pbVar10" (pointer_expression "*pbVar9" * identifier) < (pointer_expression "*pbVar10" * identifier))) ;) (expression_statement "bVar13 = *pbVar9 == *pbVar10;" (assignment_expression "bVar13 = *pbVar9 == *pbVar10" identifier = (binary_expression "*pbVar9 == *pbVar10" (pointer_expression "*pbVar9" * identifier) == (pointer_expression "*pbVar10" * identifier))) ;) (expression_statement "pbVar9 = pbVar9 + (ulong)bVar17 * -2 + 1;" (assignment_expression "pbVar9 = pbVar9 + (ulong)bVar17 * -2 + 1" identifier = (binary_expression "pbVar9 + (ulong)bVar17 * -2 + 1" (binary_expression "pbVar9 + (ulong)bVar17 * -2" identifier + (binary_expression "(ulong)bVar17 * -2" (cast_expression "(ulong)bVar17" ( (type_descriptor "ulong" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) (expression_statement "pbVar10 = pbVar10 + (ulong)bVar17 * -2 + 1;" (assignment_expression "pbVar10 = pbVar10 + (ulong)bVar17 * -2 + 1" identifier = (binary_expression "pbVar10 + (ulong)bVar17 * -2 + 1" (binary_expression "pbVar10 + (ulong)bVar17 * -2" identifier + (binary_expression "(ulong)bVar17 * -2" (cast_expression "(ulong)bVar17" ( (type_descriptor "ulong" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) }) while (parenthesized_expression "(bVar13)" ( identifier )) ;) (expression_statement "bVar16 = false;" (assignment_expression "bVar16 = false" identifier = false) ;) (expression_statement "bVar13 = (!bVar14 && !bVar13) == bVar14;" (assignment_expression "bVar13 = (!bVar14 && !bVar13) == bVar14" identifier = (binary_expression "(!bVar14 && !bVar13) == bVar14" (parenthesized_expression "(!bVar14 && !bVar13)" ( (binary_expression "!bVar14 && !bVar13" (unary_expression "!bVar14" ! identifier) && (unary_expression "!bVar13" ! identifier)) )) == identifier)) ;) (if_statement "if (bVar13) goto LAB_00139961;" if (parenthesized_expression "(bVar13)" ( identifier )) (goto_statement "goto LAB_00139961;" goto statement_identifier ;)) (expression_statement "lVar7 = 2;" (assignment_expression "lVar7 = 2" identifier = number_literal) ;) (expression_statement "pbVar9 = local_30;" (assignment_expression "pbVar9 = local_30" identifier = identifier) ;) (expression_statement "pbVar10 = &DAT_001448ab;" (assignment_expression "pbVar10 = &DAT_001448ab" identifier = (pointer_expression "&DAT_001448ab" & identifier)) ;) (do_statement "do {\n                if (lVar7 == 0) break;\n                lVar7 = lVar7 + -1;\n                bVar16 = *pbVar9 < *pbVar10;\n                bVar13 = *pbVar9 == *pbVar10;\n                pbVar9 = pbVar9 + (ulong)bVar17 * -2 + 1;\n                pbVar10 = pbVar10 + (ulong)bVar17 * -2 + 1;\n              } while (bVar13);" do (compound_statement "{\n                if (lVar7 == 0) break;\n                lVar7 = lVar7 + -1;\n                bVar16 = *pbVar9 < *pbVar10;\n                bVar13 = *pbVar9 == *pbVar10;\n                pbVar9 = pbVar9 + (ulong)bVar17 * -2 + 1;\n                pbVar10 = pbVar10 + (ulong)bVar17 * -2 + 1;\n              }" { (if_statement "if (lVar7 == 0) break;" if (parenthesized_expression "(lVar7 == 0)" ( (binary_expression "lVar7 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "lVar7 = lVar7 + -1;" (assignment_expression "lVar7 = lVar7 + -1" identifier = (binary_expression "lVar7 + -1" identifier + number_literal)) ;) (expression_statement "bVar16 = *pbVar9 < *pbVar10;" (assignment_expression "bVar16 = *pbVar9 < *pbVar10" identifier = (binary_expression "*pbVar9 < *pbVar10" (pointer_expression "*pbVar9" * identifier) < (pointer_expression "*pbVar10" * identifier))) ;) (expression_statement "bVar13 = *pbVar9 == *pbVar10;" (assignment_expression "bVar13 = *pbVar9 == *pbVar10" identifier = (binary_expression "*pbVar9 == *pbVar10" (pointer_expression "*pbVar9" * identifier) == (pointer_expression "*pbVar10" * identifier))) ;) (expression_statement "pbVar9 = pbVar9 + (ulong)bVar17 * -2 + 1;" (assignment_expression "pbVar9 = pbVar9 + (ulong)bVar17 * -2 + 1" identifier = (binary_expression "pbVar9 + (ulong)bVar17 * -2 + 1" (binary_expression "pbVar9 + (ulong)bVar17 * -2" identifier + (binary_expression "(ulong)bVar17 * -2" (cast_expression "(ulong)bVar17" ( (type_descriptor "ulong" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) (expression_statement "pbVar10 = pbVar10 + (ulong)bVar17 * -2 + 1;" (assignment_expression "pbVar10 = pbVar10 + (ulong)bVar17 * -2 + 1" identifier = (binary_expression "pbVar10 + (ulong)bVar17 * -2 + 1" (binary_expression "pbVar10 + (ulong)bVar17 * -2" identifier + (binary_expression "(ulong)bVar17 * -2" (cast_expression "(ulong)bVar17" ( (type_descriptor "ulong" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) }) while (parenthesized_expression "(bVar13)" ( identifier )) ;) (expression_statement "bVar14 = false;" (assignment_expression "bVar14 = false" identifier = false) ;) (expression_statement "bVar13 = (!bVar16 && !bVar13) == bVar16;" (assignment_expression "bVar13 = (!bVar16 && !bVar13) == bVar16" identifier = (binary_expression "(!bVar16 && !bVar13) == bVar16" (parenthesized_expression "(!bVar16 && !bVar13)" ( (binary_expression "!bVar16 && !bVar13" (unary_expression "!bVar16" ! identifier) && (unary_expression "!bVar13" ! identifier)) )) == identifier)) ;) (if_statement "if (bVar13) goto LAB_00139961;" if (parenthesized_expression "(bVar13)" ( identifier )) (goto_statement "goto LAB_00139961;" goto statement_identifier ;)) (expression_statement "lVar7 = 8;" (assignment_expression "lVar7 = 8" identifier = number_literal) ;) (expression_statement "pbVar9 = local_30;" (assignment_expression "pbVar9 = local_30" identifier = identifier) ;) (expression_statement "pbVar10 = (byte *)"STT_TLS";" (assignment_expression "pbVar10 = (byte *)"STT_TLS"" identifier = (cast_expression "(byte *)"STT_TLS"" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (string_literal ""STT_TLS"" " string_content "))) ;) (do_statement "do {\n                if (lVar7 == 0) break;\n                lVar7 = lVar7 + -1;\n                bVar14 = *pbVar9 < *pbVar10;\n                bVar13 = *pbVar9 == *pbVar10;\n                pbVar9 = pbVar9 + (ulong)bVar17 * -2 + 1;\n                pbVar10 = pbVar10 + (ulong)bVar17 * -2 + 1;\n              } while (bVar13);" do (compound_statement "{\n                if (lVar7 == 0) break;\n                lVar7 = lVar7 + -1;\n                bVar14 = *pbVar9 < *pbVar10;\n                bVar13 = *pbVar9 == *pbVar10;\n                pbVar9 = pbVar9 + (ulong)bVar17 * -2 + 1;\n                pbVar10 = pbVar10 + (ulong)bVar17 * -2 + 1;\n              }" { (if_statement "if (lVar7 == 0) break;" if (parenthesized_expression "(lVar7 == 0)" ( (binary_expression "lVar7 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "lVar7 = lVar7 + -1;" (assignment_expression "lVar7 = lVar7 + -1" identifier = (binary_expression "lVar7 + -1" identifier + number_literal)) ;) (expression_statement "bVar14 = *pbVar9 < *pbVar10;" (assignment_expression "bVar14 = *pbVar9 < *pbVar10" identifier = (binary_expression "*pbVar9 < *pbVar10" (pointer_expression "*pbVar9" * identifier) < (pointer_expression "*pbVar10" * identifier))) ;) (expression_statement "bVar13 = *pbVar9 == *pbVar10;" (assignment_expression "bVar13 = *pbVar9 == *pbVar10" identifier = (binary_expression "*pbVar9 == *pbVar10" (pointer_expression "*pbVar9" * identifier) == (pointer_expression "*pbVar10" * identifier))) ;) (expression_statement "pbVar9 = pbVar9 + (ulong)bVar17 * -2 + 1;" (assignment_expression "pbVar9 = pbVar9 + (ulong)bVar17 * -2 + 1" identifier = (binary_expression "pbVar9 + (ulong)bVar17 * -2 + 1" (binary_expression "pbVar9 + (ulong)bVar17 * -2" identifier + (binary_expression "(ulong)bVar17 * -2" (cast_expression "(ulong)bVar17" ( (type_descriptor "ulong" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) (expression_statement "pbVar10 = pbVar10 + (ulong)bVar17 * -2 + 1;" (assignment_expression "pbVar10 = pbVar10 + (ulong)bVar17 * -2 + 1" identifier = (binary_expression "pbVar10 + (ulong)bVar17 * -2 + 1" (binary_expression "pbVar10 + (ulong)bVar17 * -2" identifier + (binary_expression "(ulong)bVar17 * -2" (cast_expression "(ulong)bVar17" ( (type_descriptor "ulong" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) }) while (parenthesized_expression "(bVar13)" ( identifier )) ;) (expression_statement "bVar16 = false;" (assignment_expression "bVar16 = false" identifier = false) ;) (expression_statement "bVar13 = (!bVar14 && !bVar13) == bVar14;" (assignment_expression "bVar13 = (!bVar14 && !bVar13) == bVar14" identifier = (binary_expression "(!bVar14 && !bVar13) == bVar14" (parenthesized_expression "(!bVar14 && !bVar13)" ( (binary_expression "!bVar14 && !bVar13" (unary_expression "!bVar14" ! identifier) && (unary_expression "!bVar13" ! identifier)) )) == identifier)) ;) (if_statement "if (bVar13) goto LAB_00139961;" if (parenthesized_expression "(bVar13)" ( identifier )) (goto_statement "goto LAB_00139961;" goto statement_identifier ;)) (expression_statement "lVar7 = 7;" (assignment_expression "lVar7 = 7" identifier = number_literal) ;) (expression_statement "pbVar9 = local_30;" (assignment_expression "pbVar9 = local_30" identifier = identifier) ;) (expression_statement "pbVar10 = (byte *)"notype";" (assignment_expression "pbVar10 = (byte *)"notype"" identifier = (cast_expression "(byte *)"notype"" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (string_literal ""notype"" " string_content "))) ;) (do_statement "do {\n                if (lVar7 == 0) break;\n                lVar7 = lVar7 + -1;\n                bVar16 = *pbVar9 < *pbVar10;\n                bVar13 = *pbVar9 == *pbVar10;\n                pbVar9 = pbVar9 + (ulong)bVar17 * -2 + 1;\n                pbVar10 = pbVar10 + (ulong)bVar17 * -2 + 1;\n              } while (bVar13);" do (compound_statement "{\n                if (lVar7 == 0) break;\n                lVar7 = lVar7 + -1;\n                bVar16 = *pbVar9 < *pbVar10;\n                bVar13 = *pbVar9 == *pbVar10;\n                pbVar9 = pbVar9 + (ulong)bVar17 * -2 + 1;\n                pbVar10 = pbVar10 + (ulong)bVar17 * -2 + 1;\n              }" { (if_statement "if (lVar7 == 0) break;" if (parenthesized_expression "(lVar7 == 0)" ( (binary_expression "lVar7 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "lVar7 = lVar7 + -1;" (assignment_expression "lVar7 = lVar7 + -1" identifier = (binary_expression "lVar7 + -1" identifier + number_literal)) ;) (expression_statement "bVar16 = *pbVar9 < *pbVar10;" (assignment_expression "bVar16 = *pbVar9 < *pbVar10" identifier = (binary_expression "*pbVar9 < *pbVar10" (pointer_expression "*pbVar9" * identifier) < (pointer_expression "*pbVar10" * identifier))) ;) (expression_statement "bVar13 = *pbVar9 == *pbVar10;" (assignment_expression "bVar13 = *pbVar9 == *pbVar10" identifier = (binary_expression "*pbVar9 == *pbVar10" (pointer_expression "*pbVar9" * identifier) == (pointer_expression "*pbVar10" * identifier))) ;) (expression_statement "pbVar9 = pbVar9 + (ulong)bVar17 * -2 + 1;" (assignment_expression "pbVar9 = pbVar9 + (ulong)bVar17 * -2 + 1" identifier = (binary_expression "pbVar9 + (ulong)bVar17 * -2 + 1" (binary_expression "pbVar9 + (ulong)bVar17 * -2" identifier + (binary_expression "(ulong)bVar17 * -2" (cast_expression "(ulong)bVar17" ( (type_descriptor "ulong" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) (expression_statement "pbVar10 = pbVar10 + (ulong)bVar17 * -2 + 1;" (assignment_expression "pbVar10 = pbVar10 + (ulong)bVar17 * -2 + 1" identifier = (binary_expression "pbVar10 + (ulong)bVar17 * -2 + 1" (binary_expression "pbVar10 + (ulong)bVar17 * -2" identifier + (binary_expression "(ulong)bVar17 * -2" (cast_expression "(ulong)bVar17" ( (type_descriptor "ulong" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) }) while (parenthesized_expression "(bVar13)" ( identifier )) ;) (expression_statement "uVar11 = 0;" (assignment_expression "uVar11 = 0" identifier = number_literal) ;) (if_statement "if ((((!bVar16 && !bVar13) == bVar16) ||\n                  (iVar3 = strcmp((char *)local_30,"0"), iVar3 == 0)) ||\n                 (iVar3 = strcmp((char *)__s1,"STT_NOTYPE"), iVar3 == 0)) goto LAB_00139961;" if (parenthesized_expression "((((!bVar16 && !bVar13) == bVar16) ||\n                  (iVar3 = strcmp((char *)local_30,"0"), iVar3 == 0)) ||\n                 (iVar3 = strcmp((char *)__s1,"STT_NOTYPE"), iVar3 == 0))" ( (binary_expression "(((!bVar16 && !bVar13) == bVar16) ||\n                  (iVar3 = strcmp((char *)local_30,"0"), iVar3 == 0)) ||\n                 (iVar3 = strcmp((char *)__s1,"STT_NOTYPE"), iVar3 == 0)" (parenthesized_expression "(((!bVar16 && !bVar13) == bVar16) ||\n                  (iVar3 = strcmp((char *)local_30,"0"), iVar3 == 0))" ( (binary_expression "((!bVar16 && !bVar13) == bVar16) ||\n                  (iVar3 = strcmp((char *)local_30,"0"), iVar3 == 0)" (parenthesized_expression "((!bVar16 && !bVar13) == bVar16)" ( (binary_expression "(!bVar16 && !bVar13) == bVar16" (parenthesized_expression "(!bVar16 && !bVar13)" ( (binary_expression "!bVar16 && !bVar13" (unary_expression "!bVar16" ! identifier) && (unary_expression "!bVar13" ! identifier)) )) == identifier) )) || (parenthesized_expression "(iVar3 = strcmp((char *)local_30,"0"), iVar3 == 0)" ( (comma_expression "iVar3 = strcmp((char *)local_30,"0"), iVar3 == 0" (assignment_expression "iVar3 = strcmp((char *)local_30,"0")" identifier = (call_expression "strcmp((char *)local_30,"0")" identifier (argument_list "((char *)local_30,"0")" ( (cast_expression "(char *)local_30" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) , (string_literal ""0"" " string_content ") )))) , (binary_expression "iVar3 == 0" identifier == number_literal)) ))) )) || (parenthesized_expression "(iVar3 = strcmp((char *)__s1,"STT_NOTYPE"), iVar3 == 0)" ( (comma_expression "iVar3 = strcmp((char *)__s1,"STT_NOTYPE"), iVar3 == 0" (assignment_expression "iVar3 = strcmp((char *)__s1,"STT_NOTYPE")" identifier = (call_expression "strcmp((char *)__s1,"STT_NOTYPE")" identifier (argument_list "((char *)__s1,"STT_NOTYPE")" ( (cast_expression "(char *)__s1" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) , (string_literal ""STT_NOTYPE"" " string_content ") )))) , (binary_expression "iVar3 == 0" identifier == number_literal)) ))) )) (goto_statement "goto LAB_00139961;" goto statement_identifier ;)) (expression_statement "iVar3 = strcmp((char *)__s1,"common");" (assignment_expression "iVar3 = strcmp((char *)__s1,"common")" identifier = (call_expression "strcmp((char *)__s1,"common")" identifier (argument_list "((char *)__s1,"common")" ( (cast_expression "(char *)__s1" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) , (string_literal ""common"" " string_content ") )))) ;) (if_statement "if (((iVar3 != 0) && (iVar3 = strcmp((char *)__s1,"5"), iVar3 != 0)) &&\n                 (iVar3 = strcmp((char *)__s1,"STT_COMMON"), iVar3 != 0)) {\n                iVar3 = strcmp((char *)__s1,"gnu_indirect_function");\n                if (((iVar3 == 0) || (iVar3 = strcmp((char *)__s1,"10"), iVar3 == 0)) ||\n                   (iVar3 = strcmp((char *)__s1,"STT_GNU_IFUNC"), iVar3 == 0)) {\n                  uVar1 = *(uint *)(*(long *)(*(long *)(DAT_0019d970 + 8) + 0x368) + 0xc);\n                  if ((9 < uVar1) ||\n                     (uVar11 = 0x400008, (0x209UL >> ((ulong)uVar1 & 0x3f) & 1) == 0)) {\n                    uVar11 = 0x400008;\n                    uVar4 = dcgettext(0,\n                                      "symbol type \"%s\" is supported only by GNU and FreeBSD targets"\n                                      ,5);\n                    FUN_0011f6d0(uVar4,__s1);\n                  }\n                }\n                else {\n                  iVar3 = strcmp((char *)__s1,"gnu_unique_object");\n                  if (iVar3 == 0) {\n                    lVar7 = *(long *)(*(long *)(DAT_0019d970 + 8) + 0x368);\n                    iVar3 = *(int *)(lVar7 + 0xc);\n                    if ((iVar3 != 3) && (iVar3 != 0)) {\n                      uVar4 = dcgettext(0,"symbol type \"%s\" is supported only by GNU targets",5);\n                      FUN_0011f6d0(uVar4,__s1);\n                    }\n                    *(undefined4 *)(lVar7 + 0xc) = 3;\n                    uVar11 = 0x810000;\n                  }\n                  else {\n                    uVar4 = dcgettext(0,"unrecognized symbol type \"%s\"",5);\n                    FUN_0011f6d0(uVar4,__s1);\n                  }\n                }\n                goto LAB_00139961;\n              }" if (parenthesized_expression "(((iVar3 != 0) && (iVar3 = strcmp((char *)__s1,"5"), iVar3 != 0)) &&\n                 (iVar3 = strcmp((char *)__s1,"STT_COMMON"), iVar3 != 0))" ( (binary_expression "((iVar3 != 0) && (iVar3 = strcmp((char *)__s1,"5"), iVar3 != 0)) &&\n                 (iVar3 = strcmp((char *)__s1,"STT_COMMON"), iVar3 != 0)" (parenthesized_expression "((iVar3 != 0) && (iVar3 = strcmp((char *)__s1,"5"), iVar3 != 0))" ( (binary_expression "(iVar3 != 0) && (iVar3 = strcmp((char *)__s1,"5"), iVar3 != 0)" (parenthesized_expression "(iVar3 != 0)" ( (binary_expression "iVar3 != 0" identifier != number_literal) )) && (parenthesized_expression "(iVar3 = strcmp((char *)__s1,"5"), iVar3 != 0)" ( (comma_expression "iVar3 = strcmp((char *)__s1,"5"), iVar3 != 0" (assignment_expression "iVar3 = strcmp((char *)__s1,"5")" identifier = (call_expression "strcmp((char *)__s1,"5")" identifier (argument_list "((char *)__s1,"5")" ( (cast_expression "(char *)__s1" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) , (string_literal ""5"" " string_content ") )))) , (binary_expression "iVar3 != 0" identifier != number_literal)) ))) )) && (parenthesized_expression "(iVar3 = strcmp((char *)__s1,"STT_COMMON"), iVar3 != 0)" ( (comma_expression "iVar3 = strcmp((char *)__s1,"STT_COMMON"), iVar3 != 0" (assignment_expression "iVar3 = strcmp((char *)__s1,"STT_COMMON")" identifier = (call_expression "strcmp((char *)__s1,"STT_COMMON")" identifier (argument_list "((char *)__s1,"STT_COMMON")" ( (cast_expression "(char *)__s1" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) , (string_literal ""STT_COMMON"" " string_content ") )))) , (binary_expression "iVar3 != 0" identifier != number_literal)) ))) )) (compound_statement "{\n                iVar3 = strcmp((char *)__s1,"gnu_indirect_function");\n                if (((iVar3 == 0) || (iVar3 = strcmp((char *)__s1,"10"), iVar3 == 0)) ||\n                   (iVar3 = strcmp((char *)__s1,"STT_GNU_IFUNC"), iVar3 == 0)) {\n                  uVar1 = *(uint *)(*(long *)(*(long *)(DAT_0019d970 + 8) + 0x368) + 0xc);\n                  if ((9 < uVar1) ||\n                     (uVar11 = 0x400008, (0x209UL >> ((ulong)uVar1 & 0x3f) & 1) == 0)) {\n                    uVar11 = 0x400008;\n                    uVar4 = dcgettext(0,\n                                      "symbol type \"%s\" is supported only by GNU and FreeBSD targets"\n                                      ,5);\n                    FUN_0011f6d0(uVar4,__s1);\n                  }\n                }\n                else {\n                  iVar3 = strcmp((char *)__s1,"gnu_unique_object");\n                  if (iVar3 == 0) {\n                    lVar7 = *(long *)(*(long *)(DAT_0019d970 + 8) + 0x368);\n                    iVar3 = *(int *)(lVar7 + 0xc);\n                    if ((iVar3 != 3) && (iVar3 != 0)) {\n                      uVar4 = dcgettext(0,"symbol type \"%s\" is supported only by GNU targets",5);\n                      FUN_0011f6d0(uVar4,__s1);\n                    }\n                    *(undefined4 *)(lVar7 + 0xc) = 3;\n                    uVar11 = 0x810000;\n                  }\n                  else {\n                    uVar4 = dcgettext(0,"unrecognized symbol type \"%s\"",5);\n                    FUN_0011f6d0(uVar4,__s1);\n                  }\n                }\n                goto LAB_00139961;\n              }" { (expression_statement "iVar3 = strcmp((char *)__s1,"gnu_indirect_function");" (assignment_expression "iVar3 = strcmp((char *)__s1,"gnu_indirect_function")" identifier = (call_expression "strcmp((char *)__s1,"gnu_indirect_function")" identifier (argument_list "((char *)__s1,"gnu_indirect_function")" ( (cast_expression "(char *)__s1" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) , (string_literal ""gnu_indirect_function"" " string_content ") )))) ;) (if_statement "if (((iVar3 == 0) || (iVar3 = strcmp((char *)__s1,"10"), iVar3 == 0)) ||\n                   (iVar3 = strcmp((char *)__s1,"STT_GNU_IFUNC"), iVar3 == 0)) {\n                  uVar1 = *(uint *)(*(long *)(*(long *)(DAT_0019d970 + 8) + 0x368) + 0xc);\n                  if ((9 < uVar1) ||\n                     (uVar11 = 0x400008, (0x209UL >> ((ulong)uVar1 & 0x3f) & 1) == 0)) {\n                    uVar11 = 0x400008;\n                    uVar4 = dcgettext(0,\n                                      "symbol type \"%s\" is supported only by GNU and FreeBSD targets"\n                                      ,5);\n                    FUN_0011f6d0(uVar4,__s1);\n                  }\n                }\n                else {\n                  iVar3 = strcmp((char *)__s1,"gnu_unique_object");\n                  if (iVar3 == 0) {\n                    lVar7 = *(long *)(*(long *)(DAT_0019d970 + 8) + 0x368);\n                    iVar3 = *(int *)(lVar7 + 0xc);\n                    if ((iVar3 != 3) && (iVar3 != 0)) {\n                      uVar4 = dcgettext(0,"symbol type \"%s\" is supported only by GNU targets",5);\n                      FUN_0011f6d0(uVar4,__s1);\n                    }\n                    *(undefined4 *)(lVar7 + 0xc) = 3;\n                    uVar11 = 0x810000;\n                  }\n                  else {\n                    uVar4 = dcgettext(0,"unrecognized symbol type \"%s\"",5);\n                    FUN_0011f6d0(uVar4,__s1);\n                  }\n                }" if (parenthesized_expression "(((iVar3 == 0) || (iVar3 = strcmp((char *)__s1,"10"), iVar3 == 0)) ||\n                   (iVar3 = strcmp((char *)__s1,"STT_GNU_IFUNC"), iVar3 == 0))" ( (binary_expression "((iVar3 == 0) || (iVar3 = strcmp((char *)__s1,"10"), iVar3 == 0)) ||\n                   (iVar3 = strcmp((char *)__s1,"STT_GNU_IFUNC"), iVar3 == 0)" (parenthesized_expression "((iVar3 == 0) || (iVar3 = strcmp((char *)__s1,"10"), iVar3 == 0))" ( (binary_expression "(iVar3 == 0) || (iVar3 = strcmp((char *)__s1,"10"), iVar3 == 0)" (parenthesized_expression "(iVar3 == 0)" ( (binary_expression "iVar3 == 0" identifier == number_literal) )) || (parenthesized_expression "(iVar3 = strcmp((char *)__s1,"10"), iVar3 == 0)" ( (comma_expression "iVar3 = strcmp((char *)__s1,"10"), iVar3 == 0" (assignment_expression "iVar3 = strcmp((char *)__s1,"10")" identifier = (call_expression "strcmp((char *)__s1,"10")" identifier (argument_list "((char *)__s1,"10")" ( (cast_expression "(char *)__s1" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) , (string_literal ""10"" " string_content ") )))) , (binary_expression "iVar3 == 0" identifier == number_literal)) ))) )) || (parenthesized_expression "(iVar3 = strcmp((char *)__s1,"STT_GNU_IFUNC"), iVar3 == 0)" ( (comma_expression "iVar3 = strcmp((char *)__s1,"STT_GNU_IFUNC"), iVar3 == 0" (assignment_expression "iVar3 = strcmp((char *)__s1,"STT_GNU_IFUNC")" identifier = (call_expression "strcmp((char *)__s1,"STT_GNU_IFUNC")" identifier (argument_list "((char *)__s1,"STT_GNU_IFUNC")" ( (cast_expression "(char *)__s1" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) , (string_literal ""STT_GNU_IFUNC"" " string_content ") )))) , (binary_expression "iVar3 == 0" identifier == number_literal)) ))) )) (compound_statement "{\n                  uVar1 = *(uint *)(*(long *)(*(long *)(DAT_0019d970 + 8) + 0x368) + 0xc);\n                  if ((9 < uVar1) ||\n                     (uVar11 = 0x400008, (0x209UL >> ((ulong)uVar1 & 0x3f) & 1) == 0)) {\n                    uVar11 = 0x400008;\n                    uVar4 = dcgettext(0,\n                                      "symbol type \"%s\" is supported only by GNU and FreeBSD targets"\n                                      ,5);\n                    FUN_0011f6d0(uVar4,__s1);\n                  }\n                }" { (expression_statement "uVar1 = *(uint *)(*(long *)(*(long *)(DAT_0019d970 + 8) + 0x368) + 0xc);" (assignment_expression "uVar1 = *(uint *)(*(long *)(*(long *)(DAT_0019d970 + 8) + 0x368) + 0xc)" identifier = (pointer_expression "*(uint *)(*(long *)(*(long *)(DAT_0019d970 + 8) + 0x368) + 0xc)" * (cast_expression "(uint *)(*(long *)(*(long *)(DAT_0019d970 + 8) + 0x368) + 0xc)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(long *)(*(long *)(DAT_0019d970 + 8) + 0x368) + 0xc)" ( (binary_expression "*(long *)(*(long *)(DAT_0019d970 + 8) + 0x368) + 0xc" (pointer_expression "*(long *)(*(long *)(DAT_0019d970 + 8) + 0x368)" * (cast_expression "(long *)(*(long *)(DAT_0019d970 + 8) + 0x368)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(long *)(DAT_0019d970 + 8) + 0x368)" ( (binary_expression "*(long *)(DAT_0019d970 + 8) + 0x368" (pointer_expression "*(long *)(DAT_0019d970 + 8)" * (cast_expression "(long *)(DAT_0019d970 + 8)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(DAT_0019d970 + 8)" ( (binary_expression "DAT_0019d970 + 8" identifier + number_literal) )))) + number_literal) )))) + number_literal) ))))) ;) (if_statement "if ((9 < uVar1) ||\n                     (uVar11 = 0x400008, (0x209UL >> ((ulong)uVar1 & 0x3f) & 1) == 0)) {\n                    uVar11 = 0x400008;\n                    uVar4 = dcgettext(0,\n                                      "symbol type \"%s\" is supported only by GNU and FreeBSD targets"\n                                      ,5);\n                    FUN_0011f6d0(uVar4,__s1);\n                  }" if (parenthesized_expression "((9 < uVar1) ||\n                     (uVar11 = 0x400008, (0x209UL >> ((ulong)uVar1 & 0x3f) & 1) == 0))" ( (binary_expression "(9 < uVar1) ||\n                     (uVar11 = 0x400008, (0x209UL >> ((ulong)uVar1 & 0x3f) & 1) == 0)" (parenthesized_expression "(9 < uVar1)" ( (binary_expression "9 < uVar1" number_literal < identifier) )) || (parenthesized_expression "(uVar11 = 0x400008, (0x209UL >> ((ulong)uVar1 & 0x3f) & 1) == 0)" ( (comma_expression "uVar11 = 0x400008, (0x209UL >> ((ulong)uVar1 & 0x3f) & 1) == 0" (assignment_expression "uVar11 = 0x400008" identifier = number_literal) , (binary_expression "(0x209UL >> ((ulong)uVar1 & 0x3f) & 1) == 0" (parenthesized_expression "(0x209UL >> ((ulong)uVar1 & 0x3f) & 1)" ( (binary_expression "0x209UL >> ((ulong)uVar1 & 0x3f) & 1" (binary_expression "0x209UL >> ((ulong)uVar1 & 0x3f)" number_literal >> (parenthesized_expression "((ulong)uVar1 & 0x3f)" ( (binary_expression "(ulong)uVar1 & 0x3f" (cast_expression "(ulong)uVar1" ( (type_descriptor "ulong" type_identifier) ) identifier) & number_literal) ))) & number_literal) )) == number_literal)) ))) )) (compound_statement "{\n                    uVar11 = 0x400008;\n                    uVar4 = dcgettext(0,\n                                      "symbol type \"%s\" is supported only by GNU and FreeBSD targets"\n                                      ,5);\n                    FUN_0011f6d0(uVar4,__s1);\n                  }" { (expression_statement "uVar11 = 0x400008;" (assignment_expression "uVar11 = 0x400008" identifier = number_literal) ;) (expression_statement "uVar4 = dcgettext(0,\n                                      "symbol type \"%s\" is supported only by GNU and FreeBSD targets"\n                                      ,5);" (assignment_expression "uVar4 = dcgettext(0,\n                                      "symbol type \"%s\" is supported only by GNU and FreeBSD targets"\n                                      ,5)" identifier = (call_expression "dcgettext(0,\n                                      "symbol type \"%s\" is supported only by GNU and FreeBSD targets"\n                                      ,5)" identifier (argument_list "(0,\n                                      "symbol type \"%s\" is supported only by GNU and FreeBSD targets"\n                                      ,5)" ( number_literal , (string_literal ""symbol type \"%s\" is supported only by GNU and FreeBSD targets"" " string_content escape_sequence string_content escape_sequence string_content ") , number_literal )))) ;) (expression_statement "FUN_0011f6d0(uVar4,__s1);" (call_expression "FUN_0011f6d0(uVar4,__s1)" identifier (argument_list "(uVar4,__s1)" ( identifier , identifier ))) ;) })) }) (else_clause "else {\n                  iVar3 = strcmp((char *)__s1,"gnu_unique_object");\n                  if (iVar3 == 0) {\n                    lVar7 = *(long *)(*(long *)(DAT_0019d970 + 8) + 0x368);\n                    iVar3 = *(int *)(lVar7 + 0xc);\n                    if ((iVar3 != 3) && (iVar3 != 0)) {\n                      uVar4 = dcgettext(0,"symbol type \"%s\" is supported only by GNU targets",5);\n                      FUN_0011f6d0(uVar4,__s1);\n                    }\n                    *(undefined4 *)(lVar7 + 0xc) = 3;\n                    uVar11 = 0x810000;\n                  }\n                  else {\n                    uVar4 = dcgettext(0,"unrecognized symbol type \"%s\"",5);\n                    FUN_0011f6d0(uVar4,__s1);\n                  }\n                }" else (compound_statement "{\n                  iVar3 = strcmp((char *)__s1,"gnu_unique_object");\n                  if (iVar3 == 0) {\n                    lVar7 = *(long *)(*(long *)(DAT_0019d970 + 8) + 0x368);\n                    iVar3 = *(int *)(lVar7 + 0xc);\n                    if ((iVar3 != 3) && (iVar3 != 0)) {\n                      uVar4 = dcgettext(0,"symbol type \"%s\" is supported only by GNU targets",5);\n                      FUN_0011f6d0(uVar4,__s1);\n                    }\n                    *(undefined4 *)(lVar7 + 0xc) = 3;\n                    uVar11 = 0x810000;\n                  }\n                  else {\n                    uVar4 = dcgettext(0,"unrecognized symbol type \"%s\"",5);\n                    FUN_0011f6d0(uVar4,__s1);\n                  }\n                }" { (expression_statement "iVar3 = strcmp((char *)__s1,"gnu_unique_object");" (assignment_expression "iVar3 = strcmp((char *)__s1,"gnu_unique_object")" identifier = (call_expression "strcmp((char *)__s1,"gnu_unique_object")" identifier (argument_list "((char *)__s1,"gnu_unique_object")" ( (cast_expression "(char *)__s1" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) , (string_literal ""gnu_unique_object"" " string_content ") )))) ;) (if_statement "if (iVar3 == 0) {\n                    lVar7 = *(long *)(*(long *)(DAT_0019d970 + 8) + 0x368);\n                    iVar3 = *(int *)(lVar7 + 0xc);\n                    if ((iVar3 != 3) && (iVar3 != 0)) {\n                      uVar4 = dcgettext(0,"symbol type \"%s\" is supported only by GNU targets",5);\n                      FUN_0011f6d0(uVar4,__s1);\n                    }\n                    *(undefined4 *)(lVar7 + 0xc) = 3;\n                    uVar11 = 0x810000;\n                  }\n                  else {\n                    uVar4 = dcgettext(0,"unrecognized symbol type \"%s\"",5);\n                    FUN_0011f6d0(uVar4,__s1);\n                  }" if (parenthesized_expression "(iVar3 == 0)" ( (binary_expression "iVar3 == 0" identifier == number_literal) )) (compound_statement "{\n                    lVar7 = *(long *)(*(long *)(DAT_0019d970 + 8) + 0x368);\n                    iVar3 = *(int *)(lVar7 + 0xc);\n                    if ((iVar3 != 3) && (iVar3 != 0)) {\n                      uVar4 = dcgettext(0,"symbol type \"%s\" is supported only by GNU targets",5);\n                      FUN_0011f6d0(uVar4,__s1);\n                    }\n                    *(undefined4 *)(lVar7 + 0xc) = 3;\n                    uVar11 = 0x810000;\n                  }" { (expression_statement "lVar7 = *(long *)(*(long *)(DAT_0019d970 + 8) + 0x368);" (assignment_expression "lVar7 = *(long *)(*(long *)(DAT_0019d970 + 8) + 0x368)" identifier = (pointer_expression "*(long *)(*(long *)(DAT_0019d970 + 8) + 0x368)" * (cast_expression "(long *)(*(long *)(DAT_0019d970 + 8) + 0x368)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(long *)(DAT_0019d970 + 8) + 0x368)" ( (binary_expression "*(long *)(DAT_0019d970 + 8) + 0x368" (pointer_expression "*(long *)(DAT_0019d970 + 8)" * (cast_expression "(long *)(DAT_0019d970 + 8)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(DAT_0019d970 + 8)" ( (binary_expression "DAT_0019d970 + 8" identifier + number_literal) )))) + number_literal) ))))) ;) (expression_statement "iVar3 = *(int *)(lVar7 + 0xc);" (assignment_expression "iVar3 = *(int *)(lVar7 + 0xc)" identifier = (pointer_expression "*(int *)(lVar7 + 0xc)" * (cast_expression "(int *)(lVar7 + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar7 + 0xc)" ( (binary_expression "lVar7 + 0xc" identifier + number_literal) ))))) ;) (if_statement "if ((iVar3 != 3) && (iVar3 != 0)) {\n                      uVar4 = dcgettext(0,"symbol type \"%s\" is supported only by GNU targets",5);\n                      FUN_0011f6d0(uVar4,__s1);\n                    }" if (parenthesized_expression "((iVar3 != 3) && (iVar3 != 0))" ( (binary_expression "(iVar3 != 3) && (iVar3 != 0)" (parenthesized_expression "(iVar3 != 3)" ( (binary_expression "iVar3 != 3" identifier != number_literal) )) && (parenthesized_expression "(iVar3 != 0)" ( (binary_expression "iVar3 != 0" identifier != number_literal) ))) )) (compound_statement "{\n                      uVar4 = dcgettext(0,"symbol type \"%s\" is supported only by GNU targets",5);\n                      FUN_0011f6d0(uVar4,__s1);\n                    }" { (expression_statement "uVar4 = dcgettext(0,"symbol type \"%s\" is supported only by GNU targets",5);" (assignment_expression "uVar4 = dcgettext(0,"symbol type \"%s\" is supported only by GNU targets",5)" identifier = (call_expression "dcgettext(0,"symbol type \"%s\" is supported only by GNU targets",5)" identifier (argument_list "(0,"symbol type \"%s\" is supported only by GNU targets",5)" ( number_literal , (string_literal ""symbol type \"%s\" is supported only by GNU targets"" " string_content escape_sequence string_content escape_sequence string_content ") , number_literal )))) ;) (expression_statement "FUN_0011f6d0(uVar4,__s1);" (call_expression "FUN_0011f6d0(uVar4,__s1)" identifier (argument_list "(uVar4,__s1)" ( identifier , identifier ))) ;) })) (expression_statement "*(undefined4 *)(lVar7 + 0xc) = 3;" (assignment_expression "*(undefined4 *)(lVar7 + 0xc) = 3" (pointer_expression "*(undefined4 *)(lVar7 + 0xc)" * (cast_expression "(undefined4 *)(lVar7 + 0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar7 + 0xc)" ( (binary_expression "lVar7 + 0xc" identifier + number_literal) )))) = number_literal) ;) (expression_statement "uVar11 = 0x810000;" (assignment_expression "uVar11 = 0x810000" identifier = number_literal) ;) }) (else_clause "else {\n                    uVar4 = dcgettext(0,"unrecognized symbol type \"%s\"",5);\n                    FUN_0011f6d0(uVar4,__s1);\n                  }" else (compound_statement "{\n                    uVar4 = dcgettext(0,"unrecognized symbol type \"%s\"",5);\n                    FUN_0011f6d0(uVar4,__s1);\n                  }" { (expression_statement "uVar4 = dcgettext(0,"unrecognized symbol type \"%s\"",5);" (assignment_expression "uVar4 = dcgettext(0,"unrecognized symbol type \"%s\"",5)" identifier = (call_expression "dcgettext(0,"unrecognized symbol type \"%s\"",5)" identifier (argument_list "(0,"unrecognized symbol type \"%s\"",5)" ( number_literal , (string_literal ""unrecognized symbol type \"%s\""" " string_content escape_sequence string_content escape_sequence ") , number_literal )))) ;) (expression_statement "FUN_0011f6d0(uVar4,__s1);" (call_expression "FUN_0011f6d0(uVar4,__s1)" identifier (argument_list "(uVar4,__s1)" ( identifier , identifier ))) ;) }))) }))) (goto_statement "goto LAB_00139961;" goto statement_identifier ;) })) (expression_statement "iVar3 = FUN_0012ac00(uVar4);" (assignment_expression "iVar3 = FUN_0012ac00(uVar4)" identifier = (call_expression "FUN_0012ac00(uVar4)" identifier (argument_list "(uVar4)" ( identifier )))) ;) (if_statement "if (iVar3 == 0) {\n                iVar3 = FUN_0012aed0(uVar4);\n                if (iVar3 != 0) {\n                  uVar11 = 0x10000;\n                  uVar4 = FUN_0012c530(uVar4,1);\n                  FUN_0012af90(uVar4,_bfd_std_section);\n                  FUN_0012aa50(uVar4,0);\n                  FUN_0012c440(uVar4);\n                  FUN_0012d650(uVar4,&DAT_0019d720);\n                  FUN_0012d370(uVar4);\n                  goto LAB_00139961;\n                }\n                iVar3 = FUN_0012ac30(uVar4);\n                if ((iVar3 != 0) || (iVar3 = FUN_0012da60(uVar4), iVar3 != 0)) {\n                  uVar11 = 0x10000;\n                  uVar4 = FUN_0012af30(uVar4);\n                  uVar6 = dcgettext(0,"symbol \'%s\' is already defined",5);\n                  FUN_0011f6d0(uVar6,uVar4);\n                  goto LAB_00139961;\n                }\n                FUN_0012af90(uVar4,_bfd_std_section);\n                FUN_0012aa50(uVar4,0);\n                FUN_0012c440(uVar4);\n              }" if (parenthesized_expression "(iVar3 == 0)" ( (binary_expression "iVar3 == 0" identifier == number_literal) )) (compound_statement "{\n                iVar3 = FUN_0012aed0(uVar4);\n                if (iVar3 != 0) {\n                  uVar11 = 0x10000;\n                  uVar4 = FUN_0012c530(uVar4,1);\n                  FUN_0012af90(uVar4,_bfd_std_section);\n                  FUN_0012aa50(uVar4,0);\n                  FUN_0012c440(uVar4);\n                  FUN_0012d650(uVar4,&DAT_0019d720);\n                  FUN_0012d370(uVar4);\n                  goto LAB_00139961;\n                }\n                iVar3 = FUN_0012ac30(uVar4);\n                if ((iVar3 != 0) || (iVar3 = FUN_0012da60(uVar4), iVar3 != 0)) {\n                  uVar11 = 0x10000;\n                  uVar4 = FUN_0012af30(uVar4);\n                  uVar6 = dcgettext(0,"symbol \'%s\' is already defined",5);\n                  FUN_0011f6d0(uVar6,uVar4);\n                  goto LAB_00139961;\n                }\n                FUN_0012af90(uVar4,_bfd_std_section);\n                FUN_0012aa50(uVar4,0);\n                FUN_0012c440(uVar4);\n              }" { (expression_statement "iVar3 = FUN_0012aed0(uVar4);" (assignment_expression "iVar3 = FUN_0012aed0(uVar4)" identifier = (call_expression "FUN_0012aed0(uVar4)" identifier (argument_list "(uVar4)" ( identifier )))) ;) (if_statement "if (iVar3 != 0) {\n                  uVar11 = 0x10000;\n                  uVar4 = FUN_0012c530(uVar4,1);\n                  FUN_0012af90(uVar4,_bfd_std_section);\n                  FUN_0012aa50(uVar4,0);\n                  FUN_0012c440(uVar4);\n                  FUN_0012d650(uVar4,&DAT_0019d720);\n                  FUN_0012d370(uVar4);\n                  goto LAB_00139961;\n                }" if (parenthesized_expression "(iVar3 != 0)" ( (binary_expression "iVar3 != 0" identifier != number_literal) )) (compound_statement "{\n                  uVar11 = 0x10000;\n                  uVar4 = FUN_0012c530(uVar4,1);\n                  FUN_0012af90(uVar4,_bfd_std_section);\n                  FUN_0012aa50(uVar4,0);\n                  FUN_0012c440(uVar4);\n                  FUN_0012d650(uVar4,&DAT_0019d720);\n                  FUN_0012d370(uVar4);\n                  goto LAB_00139961;\n                }" { (expression_statement "uVar11 = 0x10000;" (assignment_expression "uVar11 = 0x10000" identifier = number_literal) ;) (expression_statement "uVar4 = FUN_0012c530(uVar4,1);" (assignment_expression "uVar4 = FUN_0012c530(uVar4,1)" identifier = (call_expression "FUN_0012c530(uVar4,1)" identifier (argument_list "(uVar4,1)" ( identifier , number_literal )))) ;) (expression_statement "FUN_0012af90(uVar4,_bfd_std_section);" (call_expression "FUN_0012af90(uVar4,_bfd_std_section)" identifier (argument_list "(uVar4,_bfd_std_section)" ( identifier , identifier ))) ;) (expression_statement "FUN_0012aa50(uVar4,0);" (call_expression "FUN_0012aa50(uVar4,0)" identifier (argument_list "(uVar4,0)" ( identifier , number_literal ))) ;) (expression_statement "FUN_0012c440(uVar4);" (call_expression "FUN_0012c440(uVar4)" identifier (argument_list "(uVar4)" ( identifier ))) ;) (expression_statement "FUN_0012d650(uVar4,&DAT_0019d720);" (call_expression "FUN_0012d650(uVar4,&DAT_0019d720)" identifier (argument_list "(uVar4,&DAT_0019d720)" ( identifier , (pointer_expression "&DAT_0019d720" & identifier) ))) ;) (expression_statement "FUN_0012d370(uVar4);" (call_expression "FUN_0012d370(uVar4)" identifier (argument_list "(uVar4)" ( identifier ))) ;) (goto_statement "goto LAB_00139961;" goto statement_identifier ;) })) (expression_statement "iVar3 = FUN_0012ac30(uVar4);" (assignment_expression "iVar3 = FUN_0012ac30(uVar4)" identifier = (call_expression "FUN_0012ac30(uVar4)" identifier (argument_list "(uVar4)" ( identifier )))) ;) (if_statement "if ((iVar3 != 0) || (iVar3 = FUN_0012da60(uVar4), iVar3 != 0)) {\n                  uVar11 = 0x10000;\n                  uVar4 = FUN_0012af30(uVar4);\n                  uVar6 = dcgettext(0,"symbol \'%s\' is already defined",5);\n                  FUN_0011f6d0(uVar6,uVar4);\n                  goto LAB_00139961;\n                }" if (parenthesized_expression "((iVar3 != 0) || (iVar3 = FUN_0012da60(uVar4), iVar3 != 0))" ( (binary_expression "(iVar3 != 0) || (iVar3 = FUN_0012da60(uVar4), iVar3 != 0)" (parenthesized_expression "(iVar3 != 0)" ( (binary_expression "iVar3 != 0" identifier != number_literal) )) || (parenthesized_expression "(iVar3 = FUN_0012da60(uVar4), iVar3 != 0)" ( (comma_expression "iVar3 = FUN_0012da60(uVar4), iVar3 != 0" (assignment_expression "iVar3 = FUN_0012da60(uVar4)" identifier = (call_expression "FUN_0012da60(uVar4)" identifier (argument_list "(uVar4)" ( identifier )))) , (binary_expression "iVar3 != 0" identifier != number_literal)) ))) )) (compound_statement "{\n                  uVar11 = 0x10000;\n                  uVar4 = FUN_0012af30(uVar4);\n                  uVar6 = dcgettext(0,"symbol \'%s\' is already defined",5);\n                  FUN_0011f6d0(uVar6,uVar4);\n                  goto LAB_00139961;\n                }" { (expression_statement "uVar11 = 0x10000;" (assignment_expression "uVar11 = 0x10000" identifier = number_literal) ;) (expression_statement "uVar4 = FUN_0012af30(uVar4);" (assignment_expression "uVar4 = FUN_0012af30(uVar4)" identifier = (call_expression "FUN_0012af30(uVar4)" identifier (argument_list "(uVar4)" ( identifier )))) ;) (expression_statement "uVar6 = dcgettext(0,"symbol \'%s\' is already defined",5);" (assignment_expression "uVar6 = dcgettext(0,"symbol \'%s\' is already defined",5)" identifier = (call_expression "dcgettext(0,"symbol \'%s\' is already defined",5)" identifier (argument_list "(0,"symbol \'%s\' is already defined",5)" ( number_literal , (string_literal ""symbol \'%s\' is already defined"" " string_content escape_sequence string_content escape_sequence string_content ") , number_literal )))) ;) (expression_statement "FUN_0011f6d0(uVar6,uVar4);" (call_expression "FUN_0011f6d0(uVar6,uVar4)" identifier (argument_list "(uVar6,uVar4)" ( identifier , identifier ))) ;) (goto_statement "goto LAB_00139961;" goto statement_identifier ;) })) (expression_statement "FUN_0012af90(uVar4,_bfd_std_section);" (call_expression "FUN_0012af90(uVar4,_bfd_std_section)" identifier (argument_list "(uVar4,_bfd_std_section)" ( identifier , identifier ))) ;) (expression_statement "FUN_0012aa50(uVar4,0);" (call_expression "FUN_0012aa50(uVar4,0)" identifier (argument_list "(uVar4,0)" ( identifier , number_literal ))) ;) (expression_statement "FUN_0012c440(uVar4);" (call_expression "FUN_0012c440(uVar4)" identifier (argument_list "(uVar4)" ( identifier ))) ;) })) })) })) })) (expression_statement "uVar11 = 0x10000;" (assignment_expression "uVar11 = 0x10000" identifier = number_literal) ;) })) })) })) (labeled_statement "LAB_00139961:\n  *DAT_0019d9a0 = bVar2;" statement_identifier : (expression_statement "*DAT_0019d9a0 = bVar2;" (assignment_expression "*DAT_0019d9a0 = bVar2" (pointer_expression "*DAT_0019d9a0" * identifier) = identifier) ;)) (if_statement "if (*DAT_0019d9a0 == 0x22) {\n    DAT_0019d9a0 = DAT_0019d9a0 + 1;\n  }" if (parenthesized_expression "(*DAT_0019d9a0 == 0x22)" ( (binary_expression "*DAT_0019d9a0 == 0x22" (pointer_expression "*DAT_0019d9a0" * identifier) == number_literal) )) (compound_statement "{\n    DAT_0019d9a0 = DAT_0019d9a0 + 1;\n  }" { (expression_statement "DAT_0019d9a0 = DAT_0019d9a0 + 1;" (assignment_expression "DAT_0019d9a0 = DAT_0019d9a0 + 1" identifier = (binary_expression "DAT_0019d9a0 + 1" identifier + number_literal)) ;) })) (expression_statement "*(uint *)(lVar5 + 0x18) = *(uint *)(lVar5 + 0x18) | uVar11;" (assignment_expression "*(uint *)(lVar5 + 0x18) = *(uint *)(lVar5 + 0x18) | uVar11" (pointer_expression "*(uint *)(lVar5 + 0x18)" * (cast_expression "(uint *)(lVar5 + 0x18)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar5 + 0x18)" ( (binary_expression "lVar5 + 0x18" identifier + number_literal) )))) = (binary_expression "*(uint *)(lVar5 + 0x18) | uVar11" (pointer_expression "*(uint *)(lVar5 + 0x18)" * (cast_expression "(uint *)(lVar5 + 0x18)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar5 + 0x18)" ( (binary_expression "lVar5 + 0x18" identifier + number_literal) )))) | identifier)) ;) (expression_statement "FUN_00121a20();" (call_expression "FUN_00121a20()" identifier (argument_list "()" ( ))) ;) (return_statement "return;" return ;) })))
(translation_unit (function_definition TYPE (function_declarator IDENT (parameter_list ( (parameter_declaration TYPE) ))) (compound_statement { (declaration TYPE 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 (sized_type_specifier long) IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT )))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) })) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT - LIT) ))) < LIT) )) && (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (binary_expression LIT >> (parenthesized_expression ( (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT - LIT) ))) & LIT) ))) & LIT) )) != LIT) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) })) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * IDENT) - LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT < LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT == LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < LIT) )) (compound_statement { (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (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 IDENT = (binary_expression IDENT == LIT)) ;) }) while (parenthesized_expression ( (binary_expression IDENT < LIT) )) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = LIT) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (pointer_expression & IDENT) )))) ;) }))) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (do_statement do (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (break_statement break ;)) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * IDENT) < (pointer_expression * IDENT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * IDENT) == (pointer_expression * IDENT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT)) ;) }) while (parenthesized_expression ( (cast_expression ( (type_descriptor TYPE) ) IDENT) )) ;) (expression_statement (assignment_expression IDENT = BOOL) ;) (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( (binary_expression (unary_expression ! (cast_expression ( (type_descriptor TYPE) ) IDENT)) && (unary_expression ! (cast_expression ( (type_descriptor TYPE) ) IDENT))) )) == (cast_expression ( (type_descriptor TYPE) ) IDENT))) ;) (if_statement if (parenthesized_expression ( (unary_expression ! IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (do_statement do (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (break_statement break ;)) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * IDENT) < (pointer_expression * IDENT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * IDENT) == (pointer_expression * IDENT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT)) ;) }) while (parenthesized_expression ( IDENT )) ;) (expression_statement (assignment_expression IDENT = BOOL) ;) (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( (binary_expression (unary_expression ! IDENT) && (unary_expression ! IDENT)) )) == IDENT)) ;) (if_statement if (parenthesized_expression ( (unary_expression ! IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (string_literal " string_content "))) ;) (do_statement do (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (break_statement break ;)) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * IDENT) < (pointer_expression * IDENT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * IDENT) == (pointer_expression * IDENT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT)) ;) }) while (parenthesized_expression ( IDENT )) ;) (expression_statement (assignment_expression IDENT = BOOL) ;) (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( (binary_expression (unary_expression ! IDENT) && (unary_expression ! IDENT)) )) == IDENT)) ;) (if_statement if (parenthesized_expression ( (unary_expression ! IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (do_statement do (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (break_statement break ;)) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * IDENT) < (pointer_expression * IDENT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * IDENT) == (pointer_expression * IDENT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT)) ;) }) while (parenthesized_expression ( IDENT )) ;) (expression_statement (assignment_expression IDENT = BOOL) ;) (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( (binary_expression (unary_expression ! IDENT) && (unary_expression ! IDENT)) )) == IDENT)) ;) (if_statement if (parenthesized_expression ( (unary_expression ! IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (do_statement do (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (break_statement break ;)) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * IDENT) < (pointer_expression * IDENT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * IDENT) == (pointer_expression * IDENT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT)) ;) }) while (parenthesized_expression ( IDENT )) ;) (expression_statement (assignment_expression IDENT = BOOL) ;) (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( (binary_expression (unary_expression ! IDENT) && (unary_expression ! IDENT)) )) == IDENT)) ;) (if_statement if (parenthesized_expression ( (unary_expression ! IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (string_literal " string_content "))) ;) (do_statement do (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (break_statement break ;)) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * IDENT) < (pointer_expression * IDENT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * IDENT) == (pointer_expression * IDENT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT)) ;) }) while (parenthesized_expression ( IDENT )) ;) (expression_statement (assignment_expression IDENT = BOOL) ;) (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( (binary_expression (unary_expression ! IDENT) && (unary_expression ! IDENT)) )) == IDENT)) ;) (if_statement if (parenthesized_expression ( (unary_expression ! IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (string_literal " string_content "))) ;) (do_statement do (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (break_statement break ;)) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * IDENT) < (pointer_expression * IDENT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * IDENT) == (pointer_expression * IDENT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT)) ;) }) while (parenthesized_expression ( IDENT )) ;) (expression_statement (assignment_expression IDENT = BOOL) ;) (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( (binary_expression (unary_expression ! IDENT) && (unary_expression ! IDENT)) )) == IDENT)) ;) (if_statement if (parenthesized_expression ( IDENT )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) (do_statement do (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (break_statement break ;)) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * IDENT) < (pointer_expression * IDENT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * IDENT) == (pointer_expression * IDENT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT)) ;) }) while (parenthesized_expression ( IDENT )) ;) (expression_statement (assignment_expression IDENT = BOOL) ;) (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( (binary_expression (unary_expression ! IDENT) && (unary_expression ! IDENT)) )) == IDENT)) ;) (if_statement if (parenthesized_expression ( IDENT )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (string_literal " string_content "))) ;) (do_statement do (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (break_statement break ;)) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * IDENT) < (pointer_expression * IDENT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * IDENT) == (pointer_expression * IDENT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT)) ;) }) while (parenthesized_expression ( IDENT )) ;) (expression_statement (assignment_expression IDENT = BOOL) ;) (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( (binary_expression (unary_expression ! IDENT) && (unary_expression ! IDENT)) )) == IDENT)) ;) (if_statement if (parenthesized_expression ( IDENT )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (string_literal " string_content "))) ;) (do_statement do (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (break_statement break ;)) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * IDENT) < (pointer_expression * IDENT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * IDENT) == (pointer_expression * IDENT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT)) ;) }) while (parenthesized_expression ( IDENT )) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (unary_expression ! IDENT) && (unary_expression ! IDENT)) )) == IDENT) )) || (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (call_expression IDENT (argument_list ( (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT) , (string_literal " string_content ") )))) , (binary_expression IDENT == LIT)) ))) )) || (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (call_expression IDENT (argument_list ( (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT) , (string_literal " string_content ") )))) , (binary_expression IDENT == LIT)) ))) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT) , (string_literal " string_content ") )))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT != LIT) )) && (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (call_expression IDENT (argument_list ( (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT) , (string_literal " string_content ") )))) , (binary_expression IDENT != LIT)) ))) )) && (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (call_expression IDENT (argument_list ( (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT) , (string_literal " string_content ") )))) , (binary_expression IDENT != LIT)) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT) , (string_literal " string_content ") )))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT == LIT) )) || (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (call_expression IDENT (argument_list ( (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT) , (string_literal " string_content ") )))) , (binary_expression IDENT == LIT)) ))) )) || (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (call_expression IDENT (argument_list ( (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT) , (string_literal " string_content ") )))) , (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 (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 IDENT + LIT) )))) + LIT) )))) + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression LIT < IDENT) )) || (parenthesized_expression ( (comma_expression (assignment_expression IDENT = LIT) , (binary_expression (parenthesized_expression ( (binary_expression (binary_expression LIT >> (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) & LIT) ))) & LIT) )) == LIT)) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( LIT , (string_literal " string_content escape_sequence string_content escape_sequence string_content ") , LIT )))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT ))) ;) })) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT) , (string_literal " string_content ") )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (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 IDENT + LIT) )))) + 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 (parenthesized_expression ( (binary_expression IDENT != LIT) )) && (parenthesized_expression ( (binary_expression IDENT != LIT) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( LIT , (string_literal " string_content escape_sequence string_content escape_sequence string_content ") , LIT )))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT ))) ;) })) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( LIT , (string_literal " string_content escape_sequence string_content escape_sequence ") , LIT )))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT ))) ;) }))) }))) (goto_statement goto 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 = (call_expression IDENT (argument_list ( IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , LIT )))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , LIT ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , (pointer_expression & IDENT) ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT != LIT) )) || (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT )))) , (binary_expression IDENT != LIT)) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = 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 string_content escape_sequence string_content ") , LIT )))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT ))) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , LIT ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) })) })) })) })) (expression_statement (assignment_expression IDENT = LIT) ;) })) })) })) (labeled_statement statement_identifier : (expression_statement (assignment_expression (pointer_expression * IDENT) = IDENT) ;)) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) })) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) | IDENT)) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (return_statement return ;) })))
(function_definition "void FUN_00139890(void)\n\n{\n  uint uVar1;\n  byte *__s1;\n  byte bVar2;\n  int iVar3;\n  undefined8 uVar4;\n  long lVar5;\n  undefined8 uVar6;\n  long lVar7;\n  byte bVar8;\n  byte *pbVar9;\n  byte *pbVar10;\n  uint uVar11;\n  undefined1 uVar12;\n  bool bVar13;\n  bool bVar14;\n  undefined1 uVar15;\n  bool bVar16;\n  byte bVar17;\n  byte *local_30;\n  \n  bVar17 = 0;\n  uVar4 = FUN_001394d0();\n  lVar5 = FUN_0012db90(uVar4);\n  bVar2 = *DAT_0019d9a0;\n  if (bVar2 == 0x2c) {\n    bVar2 = DAT_0019d9a0[1];\n    DAT_0019d9a0 = DAT_0019d9a0 + 1;\n  }\n  if (bVar2 == 0x20) {\n    bVar2 = DAT_0019d9a0[1];\n    DAT_0019d9a0 = DAT_0019d9a0 + 1;\n  }\n  if (((byte)(bVar2 - 0x22) < 0x1f) && ((0x4000000bUL >> ((ulong)(bVar2 - 0x22) & 0x3f) & 1) != 0))\n  {\n    DAT_0019d9a0 = DAT_0019d9a0 + 1;\n  }\n  local_30 = DAT_0019d9a0;\n  bVar2 = *DAT_0019d9a0 - 0x30;\n  uVar12 = bVar2 < 9;\n  uVar15 = bVar2 == 9;\n  if (bVar2 < 10) {\n    do {\n      DAT_0019d9a0 = DAT_0019d9a0 + 1;\n      bVar2 = *DAT_0019d9a0;\n      bVar8 = bVar2 - 0x30;\n      uVar12 = bVar8 < 9;\n      uVar15 = bVar8 == 9;\n    } while (bVar8 < 10);\n    *DAT_0019d9a0 = 0;\n  }\n  else {\n    bVar2 = FUN_00116b30(&local_30);\n  }\n  __s1 = local_30;\n  lVar7 = 9;\n  uVar11 = 8;\n  pbVar9 = local_30;\n  pbVar10 = (byte *)0x1464a7;\n  do {\n    if (lVar7 == 0) break;\n    lVar7 = lVar7 + -1;\n    uVar12 = *pbVar9 < *pbVar10;\n    uVar15 = *pbVar9 == *pbVar10;\n    pbVar9 = pbVar9 + (ulong)bVar17 * -2 + 1;\n    pbVar10 = pbVar10 + (ulong)bVar17 * -2 + 1;\n  } while ((bool)uVar15);\n  bVar13 = false;\n  bVar16 = (!(bool)uVar12 && !(bool)uVar15) == (bool)uVar12;\n  if (!bVar16) {\n    lVar7 = 2;\n    pbVar9 = local_30;\n    pbVar10 = (byte *)0x14246c;\n    do {\n      if (lVar7 == 0) break;\n      lVar7 = lVar7 + -1;\n      bVar13 = *pbVar9 < *pbVar10;\n      bVar16 = *pbVar9 == *pbVar10;\n      pbVar9 = pbVar9 + (ulong)bVar17 * -2 + 1;\n      pbVar10 = pbVar10 + (ulong)bVar17 * -2 + 1;\n    } while (bVar16);\n    bVar14 = false;\n    bVar13 = (!bVar13 && !bVar16) == bVar13;\n    if (!bVar13) {\n      lVar7 = 9;\n      pbVar9 = local_30;\n      pbVar10 = (byte *)"STT_FUNC";\n      do {\n        if (lVar7 == 0) break;\n        lVar7 = lVar7 + -1;\n        bVar14 = *pbVar9 < *pbVar10;\n        bVar13 = *pbVar9 == *pbVar10;\n        pbVar9 = pbVar9 + (ulong)bVar17 * -2 + 1;\n        pbVar10 = pbVar10 + (ulong)bVar17 * -2 + 1;\n      } while (bVar13);\n      bVar16 = false;\n      bVar13 = (!bVar14 && !bVar13) == bVar14;\n      if (!bVar13) {\n        lVar7 = 7;\n        pbVar9 = local_30;\n        pbVar10 = (byte *)0x1464c9;\n        do {\n          if (lVar7 == 0) break;\n          lVar7 = lVar7 + -1;\n          bVar16 = *pbVar9 < *pbVar10;\n          bVar13 = *pbVar9 == *pbVar10;\n          pbVar9 = pbVar9 + (ulong)bVar17 * -2 + 1;\n          pbVar10 = pbVar10 + (ulong)bVar17 * -2 + 1;\n        } while (bVar13);\n        bVar14 = false;\n        bVar13 = (!bVar16 && !bVar13) == bVar16;\n        if (!bVar13) {\n          lVar7 = 2;\n          pbVar9 = local_30;\n          pbVar10 = (byte *)0x13f34c;\n          do {\n            if (lVar7 == 0) break;\n            lVar7 = lVar7 + -1;\n            bVar14 = *pbVar9 < *pbVar10;\n            bVar13 = *pbVar9 == *pbVar10;\n            pbVar9 = pbVar9 + (ulong)bVar17 * -2 + 1;\n            pbVar10 = pbVar10 + (ulong)bVar17 * -2 + 1;\n          } while (bVar13);\n          bVar16 = false;\n          bVar13 = (!bVar14 && !bVar13) == bVar14;\n          if (!bVar13) {\n            lVar7 = 0xb;\n            pbVar9 = local_30;\n            pbVar10 = (byte *)"STT_OBJECT";\n            do {\n              if (lVar7 == 0) break;\n              lVar7 = lVar7 + -1;\n              bVar16 = *pbVar9 < *pbVar10;\n              bVar13 = *pbVar9 == *pbVar10;\n              pbVar9 = pbVar9 + (ulong)bVar17 * -2 + 1;\n              pbVar10 = pbVar10 + (ulong)bVar17 * -2 + 1;\n            } while (bVar13);\n            bVar14 = false;\n            bVar13 = (!bVar16 && !bVar13) == bVar16;\n            if (!bVar13) {\n              lVar7 = 0xb;\n              uVar11 = 0x50000;\n              pbVar9 = local_30;\n              pbVar10 = (byte *)"tls_object";\n              do {\n                if (lVar7 == 0) break;\n                lVar7 = lVar7 + -1;\n                bVar14 = *pbVar9 < *pbVar10;\n                bVar13 = *pbVar9 == *pbVar10;\n                pbVar9 = pbVar9 + (ulong)bVar17 * -2 + 1;\n                pbVar10 = pbVar10 + (ulong)bVar17 * -2 + 1;\n              } while (bVar13);\n              bVar16 = false;\n              bVar13 = (!bVar14 && !bVar13) == bVar14;\n              if (bVar13) goto LAB_00139961;\n              lVar7 = 2;\n              pbVar9 = local_30;\n              pbVar10 = &DAT_001448ab;\n              do {\n                if (lVar7 == 0) break;\n                lVar7 = lVar7 + -1;\n                bVar16 = *pbVar9 < *pbVar10;\n                bVar13 = *pbVar9 == *pbVar10;\n                pbVar9 = pbVar9 + (ulong)bVar17 * -2 + 1;\n                pbVar10 = pbVar10 + (ulong)bVar17 * -2 + 1;\n              } while (bVar13);\n              bVar14 = false;\n              bVar13 = (!bVar16 && !bVar13) == bVar16;\n              if (bVar13) goto LAB_00139961;\n              lVar7 = 8;\n              pbVar9 = local_30;\n              pbVar10 = (byte *)"STT_TLS";\n              do {\n                if (lVar7 == 0) break;\n                lVar7 = lVar7 + -1;\n                bVar14 = *pbVar9 < *pbVar10;\n                bVar13 = *pbVar9 == *pbVar10;\n                pbVar9 = pbVar9 + (ulong)bVar17 * -2 + 1;\n                pbVar10 = pbVar10 + (ulong)bVar17 * -2 + 1;\n              } while (bVar13);\n              bVar16 = false;\n              bVar13 = (!bVar14 && !bVar13) == bVar14;\n              if (bVar13) goto LAB_00139961;\n              lVar7 = 7;\n              pbVar9 = local_30;\n              pbVar10 = (byte *)"notype";\n              do {\n                if (lVar7 == 0) break;\n                lVar7 = lVar7 + -1;\n                bVar16 = *pbVar9 < *pbVar10;\n                bVar13 = *pbVar9 == *pbVar10;\n                pbVar9 = pbVar9 + (ulong)bVar17 * -2 + 1;\n                pbVar10 = pbVar10 + (ulong)bVar17 * -2 + 1;\n              } while (bVar13);\n              uVar11 = 0;\n              if ((((!bVar16 && !bVar13) == bVar16) ||\n                  (iVar3 = strcmp((char *)local_30,"0"), iVar3 == 0)) ||\n                 (iVar3 = strcmp((char *)__s1,"STT_NOTYPE"), iVar3 == 0)) goto LAB_00139961;\n              iVar3 = strcmp((char *)__s1,"common");\n              if (((iVar3 != 0) && (iVar3 = strcmp((char *)__s1,"5"), iVar3 != 0)) &&\n                 (iVar3 = strcmp((char *)__s1,"STT_COMMON"), iVar3 != 0)) {\n                iVar3 = strcmp((char *)__s1,"gnu_indirect_function");\n                if (((iVar3 == 0) || (iVar3 = strcmp((char *)__s1,"10"), iVar3 == 0)) ||\n                   (iVar3 = strcmp((char *)__s1,"STT_GNU_IFUNC"), iVar3 == 0)) {\n                  uVar1 = *(uint *)(*(long *)(*(long *)(DAT_0019d970 + 8) + 0x368) + 0xc);\n                  if ((9 < uVar1) ||\n                     (uVar11 = 0x400008, (0x209UL >> ((ulong)uVar1 & 0x3f) & 1) == 0)) {\n                    uVar11 = 0x400008;\n                    uVar4 = dcgettext(0,\n                                      "symbol type \"%s\" is supported only by GNU and FreeBSD targets"\n                                      ,5);\n                    FUN_0011f6d0(uVar4,__s1);\n                  }\n                }\n                else {\n                  iVar3 = strcmp((char *)__s1,"gnu_unique_object");\n                  if (iVar3 == 0) {\n                    lVar7 = *(long *)(*(long *)(DAT_0019d970 + 8) + 0x368);\n                    iVar3 = *(int *)(lVar7 + 0xc);\n                    if ((iVar3 != 3) && (iVar3 != 0)) {\n                      uVar4 = dcgettext(0,"symbol type \"%s\" is supported only by GNU targets",5);\n                      FUN_0011f6d0(uVar4,__s1);\n                    }\n                    *(undefined4 *)(lVar7 + 0xc) = 3;\n                    uVar11 = 0x810000;\n                  }\n                  else {\n                    uVar4 = dcgettext(0,"unrecognized symbol type \"%s\"",5);\n                    FUN_0011f6d0(uVar4,__s1);\n                  }\n                }\n                goto LAB_00139961;\n              }\n              iVar3 = FUN_0012ac00(uVar4);\n              if (iVar3 == 0) {\n                iVar3 = FUN_0012aed0(uVar4);\n                if (iVar3 != 0) {\n                  uVar11 = 0x10000;\n                  uVar4 = FUN_0012c530(uVar4,1);\n                  FUN_0012af90(uVar4,_bfd_std_section);\n                  FUN_0012aa50(uVar4,0);\n                  FUN_0012c440(uVar4);\n                  FUN_0012d650(uVar4,&DAT_0019d720);\n                  FUN_0012d370(uVar4);\n                  goto LAB_00139961;\n                }\n                iVar3 = FUN_0012ac30(uVar4);\n                if ((iVar3 != 0) || (iVar3 = FUN_0012da60(uVar4), iVar3 != 0)) {\n                  uVar11 = 0x10000;\n                  uVar4 = FUN_0012af30(uVar4);\n                  uVar6 = dcgettext(0,"symbol \'%s\' is already defined",5);\n                  FUN_0011f6d0(uVar6,uVar4);\n                  goto LAB_00139961;\n                }\n                FUN_0012af90(uVar4,_bfd_std_section);\n                FUN_0012aa50(uVar4,0);\n                FUN_0012c440(uVar4);\n              }\n            }\n          }\n        }\n        uVar11 = 0x10000;\n      }\n    }\n  }\nLAB_00139961:\n  *DAT_0019d9a0 = bVar2;\n  if (*DAT_0019d9a0 == 0x22) {\n    DAT_0019d9a0 = DAT_0019d9a0 + 1;\n  }\n  *(uint *)(lVar5 + 0x18) = *(uint *)(lVar5 + 0x18) | uVar11;\n  FUN_00121a20();\n  return;\n}" (primitive_type "void") (function_declarator "FUN_00139890(void)" (identifier "FUN_00139890") (parameter_list "(void)" (( "(") (parameter_declaration "void" (primitive_type "void")) () ")"))) (compound_statement "{\n  uint uVar1;\n  byte *__s1;\n  byte bVar2;\n  int iVar3;\n  undefined8 uVar4;\n  long lVar5;\n  undefined8 uVar6;\n  long lVar7;\n  byte bVar8;\n  byte *pbVar9;\n  byte *pbVar10;\n  uint uVar11;\n  undefined1 uVar12;\n  bool bVar13;\n  bool bVar14;\n  undefined1 uVar15;\n  bool bVar16;\n  byte bVar17;\n  byte *local_30;\n  \n  bVar17 = 0;\n  uVar4 = FUN_001394d0();\n  lVar5 = FUN_0012db90(uVar4);\n  bVar2 = *DAT_0019d9a0;\n  if (bVar2 == 0x2c) {\n    bVar2 = DAT_0019d9a0[1];\n    DAT_0019d9a0 = DAT_0019d9a0 + 1;\n  }\n  if (bVar2 == 0x20) {\n    bVar2 = DAT_0019d9a0[1];\n    DAT_0019d9a0 = DAT_0019d9a0 + 1;\n  }\n  if (((byte)(bVar2 - 0x22) < 0x1f) && ((0x4000000bUL >> ((ulong)(bVar2 - 0x22) & 0x3f) & 1) != 0))\n  {\n    DAT_0019d9a0 = DAT_0019d9a0 + 1;\n  }\n  local_30 = DAT_0019d9a0;\n  bVar2 = *DAT_0019d9a0 - 0x30;\n  uVar12 = bVar2 < 9;\n  uVar15 = bVar2 == 9;\n  if (bVar2 < 10) {\n    do {\n      DAT_0019d9a0 = DAT_0019d9a0 + 1;\n      bVar2 = *DAT_0019d9a0;\n      bVar8 = bVar2 - 0x30;\n      uVar12 = bVar8 < 9;\n      uVar15 = bVar8 == 9;\n    } while (bVar8 < 10);\n    *DAT_0019d9a0 = 0;\n  }\n  else {\n    bVar2 = FUN_00116b30(&local_30);\n  }\n  __s1 = local_30;\n  lVar7 = 9;\n  uVar11 = 8;\n  pbVar9 = local_30;\n  pbVar10 = (byte *)0x1464a7;\n  do {\n    if (lVar7 == 0) break;\n    lVar7 = lVar7 + -1;\n    uVar12 = *pbVar9 < *pbVar10;\n    uVar15 = *pbVar9 == *pbVar10;\n    pbVar9 = pbVar9 + (ulong)bVar17 * -2 + 1;\n    pbVar10 = pbVar10 + (ulong)bVar17 * -2 + 1;\n  } while ((bool)uVar15);\n  bVar13 = false;\n  bVar16 = (!(bool)uVar12 && !(bool)uVar15) == (bool)uVar12;\n  if (!bVar16) {\n    lVar7 = 2;\n    pbVar9 = local_30;\n    pbVar10 = (byte *)0x14246c;\n    do {\n      if (lVar7 == 0) break;\n      lVar7 = lVar7 + -1;\n      bVar13 = *pbVar9 < *pbVar10;\n      bVar16 = *pbVar9 == *pbVar10;\n      pbVar9 = pbVar9 + (ulong)bVar17 * -2 + 1;\n      pbVar10 = pbVar10 + (ulong)bVar17 * -2 + 1;\n    } while (bVar16);\n    bVar14 = false;\n    bVar13 = (!bVar13 && !bVar16) == bVar13;\n    if (!bVar13) {\n      lVar7 = 9;\n      pbVar9 = local_30;\n      pbVar10 = (byte *)"STT_FUNC";\n      do {\n        if (lVar7 == 0) break;\n        lVar7 = lVar7 + -1;\n        bVar14 = *pbVar9 < *pbVar10;\n        bVar13 = *pbVar9 == *pbVar10;\n        pbVar9 = pbVar9 + (ulong)bVar17 * -2 + 1;\n        pbVar10 = pbVar10 + (ulong)bVar17 * -2 + 1;\n      } while (bVar13);\n      bVar16 = false;\n      bVar13 = (!bVar14 && !bVar13) == bVar14;\n      if (!bVar13) {\n        lVar7 = 7;\n        pbVar9 = local_30;\n        pbVar10 = (byte *)0x1464c9;\n        do {\n          if (lVar7 == 0) break;\n          lVar7 = lVar7 + -1;\n          bVar16 = *pbVar9 < *pbVar10;\n          bVar13 = *pbVar9 == *pbVar10;\n          pbVar9 = pbVar9 + (ulong)bVar17 * -2 + 1;\n          pbVar10 = pbVar10 + (ulong)bVar17 * -2 + 1;\n        } while (bVar13);\n        bVar14 = false;\n        bVar13 = (!bVar16 && !bVar13) == bVar16;\n        if (!bVar13) {\n          lVar7 = 2;\n          pbVar9 = local_30;\n          pbVar10 = (byte *)0x13f34c;\n          do {\n            if (lVar7 == 0) break;\n            lVar7 = lVar7 + -1;\n            bVar14 = *pbVar9 < *pbVar10;\n            bVar13 = *pbVar9 == *pbVar10;\n            pbVar9 = pbVar9 + (ulong)bVar17 * -2 + 1;\n            pbVar10 = pbVar10 + (ulong)bVar17 * -2 + 1;\n          } while (bVar13);\n          bVar16 = false;\n          bVar13 = (!bVar14 && !bVar13) == bVar14;\n          if (!bVar13) {\n            lVar7 = 0xb;\n            pbVar9 = local_30;\n            pbVar10 = (byte *)"STT_OBJECT";\n            do {\n              if (lVar7 == 0) break;\n              lVar7 = lVar7 + -1;\n              bVar16 = *pbVar9 < *pbVar10;\n              bVar13 = *pbVar9 == *pbVar10;\n              pbVar9 = pbVar9 + (ulong)bVar17 * -2 + 1;\n              pbVar10 = pbVar10 + (ulong)bVar17 * -2 + 1;\n            } while (bVar13);\n            bVar14 = false;\n            bVar13 = (!bVar16 && !bVar13) == bVar16;\n            if (!bVar13) {\n              lVar7 = 0xb;\n              uVar11 = 0x50000;\n              pbVar9 = local_30;\n              pbVar10 = (byte *)"tls_object";\n              do {\n                if (lVar7 == 0) break;\n                lVar7 = lVar7 + -1;\n                bVar14 = *pbVar9 < *pbVar10;\n                bVar13 = *pbVar9 == *pbVar10;\n                pbVar9 = pbVar9 + (ulong)bVar17 * -2 + 1;\n                pbVar10 = pbVar10 + (ulong)bVar17 * -2 + 1;\n              } while (bVar13);\n              bVar16 = false;\n              bVar13 = (!bVar14 && !bVar13) == bVar14;\n              if (bVar13) goto LAB_00139961;\n              lVar7 = 2;\n              pbVar9 = local_30;\n              pbVar10 = &DAT_001448ab;\n              do {\n                if (lVar7 == 0) break;\n                lVar7 = lVar7 + -1;\n                bVar16 = *pbVar9 < *pbVar10;\n                bVar13 = *pbVar9 == *pbVar10;\n                pbVar9 = pbVar9 + (ulong)bVar17 * -2 + 1;\n                pbVar10 = pbVar10 + (ulong)bVar17 * -2 + 1;\n              } while (bVar13);\n              bVar14 = false;\n              bVar13 = (!bVar16 && !bVar13) == bVar16;\n              if (bVar13) goto LAB_00139961;\n              lVar7 = 8;\n              pbVar9 = local_30;\n              pbVar10 = (byte *)"STT_TLS";\n              do {\n                if (lVar7 == 0) break;\n                lVar7 = lVar7 + -1;\n                bVar14 = *pbVar9 < *pbVar10;\n                bVar13 = *pbVar9 == *pbVar10;\n                pbVar9 = pbVar9 + (ulong)bVar17 * -2 + 1;\n                pbVar10 = pbVar10 + (ulong)bVar17 * -2 + 1;\n              } while (bVar13);\n              bVar16 = false;\n              bVar13 = (!bVar14 && !bVar13) == bVar14;\n              if (bVar13) goto LAB_00139961;\n              lVar7 = 7;\n              pbVar9 = local_30;\n              pbVar10 = (byte *)"notype";\n              do {\n                if (lVar7 == 0) break;\n                lVar7 = lVar7 + -1;\n                bVar16 = *pbVar9 < *pbVar10;\n                bVar13 = *pbVar9 == *pbVar10;\n                pbVar9 = pbVar9 + (ulong)bVar17 * -2 + 1;\n                pbVar10 = pbVar10 + (ulong)bVar17 * -2 + 1;\n              } while (bVar13);\n              uVar11 = 0;\n              if ((((!bVar16 && !bVar13) == bVar16) ||\n                  (iVar3 = strcmp((char *)local_30,"0"), iVar3 == 0)) ||\n                 (iVar3 = strcmp((char *)__s1,"STT_NOTYPE"), iVar3 == 0)) goto LAB_00139961;\n              iVar3 = strcmp((char *)__s1,"common");\n              if (((iVar3 != 0) && (iVar3 = strcmp((char *)__s1,"5"), iVar3 != 0)) &&\n                 (iVar3 = strcmp((char *)__s1,"STT_COMMON"), iVar3 != 0)) {\n                iVar3 = strcmp((char *)__s1,"gnu_indirect_function");\n                if (((iVar3 == 0) || (iVar3 = strcmp((char *)__s1,"10"), iVar3 == 0)) ||\n                   (iVar3 = strcmp((char *)__s1,"STT_GNU_IFUNC"), iVar3 == 0)) {\n                  uVar1 = *(uint *)(*(long *)(*(long *)(DAT_0019d970 + 8) + 0x368) + 0xc);\n                  if ((9 < uVar1) ||\n                     (uVar11 = 0x400008, (0x209UL >> ((ulong)uVar1 & 0x3f) & 1) == 0)) {\n                    uVar11 = 0x400008;\n                    uVar4 = dcgettext(0,\n                                      "symbol type \"%s\" is supported only by GNU and FreeBSD targets"\n                                      ,5);\n                    FUN_0011f6d0(uVar4,__s1);\n                  }\n                }\n                else {\n                  iVar3 = strcmp((char *)__s1,"gnu_unique_object");\n                  if (iVar3 == 0) {\n                    lVar7 = *(long *)(*(long *)(DAT_0019d970 + 8) + 0x368);\n                    iVar3 = *(int *)(lVar7 + 0xc);\n                    if ((iVar3 != 3) && (iVar3 != 0)) {\n                      uVar4 = dcgettext(0,"symbol type \"%s\" is supported only by GNU targets",5);\n                      FUN_0011f6d0(uVar4,__s1);\n                    }\n                    *(undefined4 *)(lVar7 + 0xc) = 3;\n                    uVar11 = 0x810000;\n                  }\n                  else {\n                    uVar4 = dcgettext(0,"unrecognized symbol type \"%s\"",5);\n                    FUN_0011f6d0(uVar4,__s1);\n                  }\n                }\n                goto LAB_00139961;\n              }\n              iVar3 = FUN_0012ac00(uVar4);\n              if (iVar3 == 0) {\n                iVar3 = FUN_0012aed0(uVar4);\n                if (iVar3 != 0) {\n                  uVar11 = 0x10000;\n                  uVar4 = FUN_0012c530(uVar4,1);\n                  FUN_0012af90(uVar4,_bfd_std_section);\n                  FUN_0012aa50(uVar4,0);\n                  FUN_0012c440(uVar4);\n                  FUN_0012d650(uVar4,&DAT_0019d720);\n                  FUN_0012d370(uVar4);\n                  goto LAB_00139961;\n                }\n                iVar3 = FUN_0012ac30(uVar4);\n                if ((iVar3 != 0) || (iVar3 = FUN_0012da60(uVar4), iVar3 != 0)) {\n                  uVar11 = 0x10000;\n                  uVar4 = FUN_0012af30(uVar4);\n                  uVar6 = dcgettext(0,"symbol \'%s\' is already defined",5);\n                  FUN_0011f6d0(uVar6,uVar4);\n                  goto LAB_00139961;\n                }\n                FUN_0012af90(uVar4,_bfd_std_section);\n                FUN_0012aa50(uVar4,0);\n                FUN_0012c440(uVar4);\n              }\n            }\n          }\n        }\n        uVar11 = 0x10000;\n      }\n    }\n  }\nLAB_00139961:\n  *DAT_0019d9a0 = bVar2;\n  if (*DAT_0019d9a0 == 0x22) {\n    DAT_0019d9a0 = DAT_0019d9a0 + 1;\n  }\n  *(uint *)(lVar5 + 0x18) = *(uint *)(lVar5 + 0x18) | uVar11;\n  FUN_00121a20();\n  return;\n}" ({ "{") (declaration "uint uVar1;" (type_identifier "uint") (identifier "uVar1") (; ";")) (declaration "byte *__s1;" (type_identifier "byte") (pointer_declarator "*__s1" (* "*") (identifier "__s1")) (; ";")) (declaration "byte bVar2;" (type_identifier "byte") (identifier "bVar2") (; ";")) (declaration "int iVar3;" (primitive_type "int") (identifier "iVar3") (; ";")) (declaration "undefined8 uVar4;" (type_identifier "undefined8") (identifier "uVar4") (; ";")) (declaration "long lVar5;" (sized_type_specifier "long" (long "long")) (identifier "lVar5") (; ";")) (declaration "undefined8 uVar6;" (type_identifier "undefined8") (identifier "uVar6") (; ";")) (declaration "long lVar7;" (sized_type_specifier "long" (long "long")) (identifier "lVar7") (; ";")) (declaration "byte bVar8;" (type_identifier "byte") (identifier "bVar8") (; ";")) (declaration "byte *pbVar9;" (type_identifier "byte") (pointer_declarator "*pbVar9" (* "*") (identifier "pbVar9")) (; ";")) (declaration "byte *pbVar10;" (type_identifier "byte") (pointer_declarator "*pbVar10" (* "*") (identifier "pbVar10")) (; ";")) (declaration "uint uVar11;" (type_identifier "uint") (identifier "uVar11") (; ";")) (declaration "undefined1 uVar12;" (type_identifier "undefined1") (identifier "uVar12") (; ";")) (declaration "bool bVar13;" (primitive_type "bool") (identifier "bVar13") (; ";")) (declaration "bool bVar14;" (primitive_type "bool") (identifier "bVar14") (; ";")) (declaration "undefined1 uVar15;" (type_identifier "undefined1") (identifier "uVar15") (; ";")) (declaration "bool bVar16;" (primitive_type "bool") (identifier "bVar16") (; ";")) (declaration "byte bVar17;" (type_identifier "byte") (identifier "bVar17") (; ";")) (declaration "byte *local_30;" (type_identifier "byte") (pointer_declarator "*local_30" (* "*") (identifier "local_30")) (; ";")) (expression_statement "bVar17 = 0;" (assignment_expression "bVar17 = 0" (identifier "bVar17") (= "=") (number_literal "0")) (; ";")) (expression_statement "uVar4 = FUN_001394d0();" (assignment_expression "uVar4 = FUN_001394d0()" (identifier "uVar4") (= "=") (call_expression "FUN_001394d0()" (identifier "FUN_001394d0") (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "lVar5 = FUN_0012db90(uVar4);" (assignment_expression "lVar5 = FUN_0012db90(uVar4)" (identifier "lVar5") (= "=") (call_expression "FUN_0012db90(uVar4)" (identifier "FUN_0012db90") (argument_list "(uVar4)" (( "(") (identifier "uVar4") () ")")))) (; ";")) (expression_statement "bVar2 = *DAT_0019d9a0;" (assignment_expression "bVar2 = *DAT_0019d9a0" (identifier "bVar2") (= "=") (pointer_expression "*DAT_0019d9a0" (* "*") (identifier "DAT_0019d9a0"))) (; ";")) (if_statement "if (bVar2 == 0x2c) {\n    bVar2 = DAT_0019d9a0[1];\n    DAT_0019d9a0 = DAT_0019d9a0 + 1;\n  }" (if "if") (parenthesized_expression "(bVar2 == 0x2c)" (( "(") (binary_expression "bVar2 == 0x2c" (identifier "bVar2") (== "==") (number_literal "0x2c")) () ")")) (compound_statement "{\n    bVar2 = DAT_0019d9a0[1];\n    DAT_0019d9a0 = DAT_0019d9a0 + 1;\n  }" ({ "{") (expression_statement "bVar2 = DAT_0019d9a0[1];" (assignment_expression "bVar2 = DAT_0019d9a0[1]" (identifier "bVar2") (= "=") (subscript_expression "DAT_0019d9a0[1]" (identifier "DAT_0019d9a0") ([ "[") (number_literal "1") (] "]"))) (; ";")) (expression_statement "DAT_0019d9a0 = DAT_0019d9a0 + 1;" (assignment_expression "DAT_0019d9a0 = DAT_0019d9a0 + 1" (identifier "DAT_0019d9a0") (= "=") (binary_expression "DAT_0019d9a0 + 1" (identifier "DAT_0019d9a0") (+ "+") (number_literal "1"))) (; ";")) (} "}"))) (if_statement "if (bVar2 == 0x20) {\n    bVar2 = DAT_0019d9a0[1];\n    DAT_0019d9a0 = DAT_0019d9a0 + 1;\n  }" (if "if") (parenthesized_expression "(bVar2 == 0x20)" (( "(") (binary_expression "bVar2 == 0x20" (identifier "bVar2") (== "==") (number_literal "0x20")) () ")")) (compound_statement "{\n    bVar2 = DAT_0019d9a0[1];\n    DAT_0019d9a0 = DAT_0019d9a0 + 1;\n  }" ({ "{") (expression_statement "bVar2 = DAT_0019d9a0[1];" (assignment_expression "bVar2 = DAT_0019d9a0[1]" (identifier "bVar2") (= "=") (subscript_expression "DAT_0019d9a0[1]" (identifier "DAT_0019d9a0") ([ "[") (number_literal "1") (] "]"))) (; ";")) (expression_statement "DAT_0019d9a0 = DAT_0019d9a0 + 1;" (assignment_expression "DAT_0019d9a0 = DAT_0019d9a0 + 1" (identifier "DAT_0019d9a0") (= "=") (binary_expression "DAT_0019d9a0 + 1" (identifier "DAT_0019d9a0") (+ "+") (number_literal "1"))) (; ";")) (} "}"))) (if_statement "if (((byte)(bVar2 - 0x22) < 0x1f) && ((0x4000000bUL >> ((ulong)(bVar2 - 0x22) & 0x3f) & 1) != 0))\n  {\n    DAT_0019d9a0 = DAT_0019d9a0 + 1;\n  }" (if "if") (parenthesized_expression "(((byte)(bVar2 - 0x22) < 0x1f) && ((0x4000000bUL >> ((ulong)(bVar2 - 0x22) & 0x3f) & 1) != 0))" (( "(") (binary_expression "((byte)(bVar2 - 0x22) < 0x1f) && ((0x4000000bUL >> ((ulong)(bVar2 - 0x22) & 0x3f) & 1) != 0)" (parenthesized_expression "((byte)(bVar2 - 0x22) < 0x1f)" (( "(") (binary_expression "(byte)(bVar2 - 0x22) < 0x1f" (call_expression "(byte)(bVar2 - 0x22)" (parenthesized_expression "(byte)" (( "(") (identifier "byte") () ")")) (argument_list "(bVar2 - 0x22)" (( "(") (binary_expression "bVar2 - 0x22" (identifier "bVar2") (- "-") (number_literal "0x22")) () ")"))) (< "<") (number_literal "0x1f")) () ")")) (&& "&&") (parenthesized_expression "((0x4000000bUL >> ((ulong)(bVar2 - 0x22) & 0x3f) & 1) != 0)" (( "(") (binary_expression "(0x4000000bUL >> ((ulong)(bVar2 - 0x22) & 0x3f) & 1) != 0" (parenthesized_expression "(0x4000000bUL >> ((ulong)(bVar2 - 0x22) & 0x3f) & 1)" (( "(") (binary_expression "0x4000000bUL >> ((ulong)(bVar2 - 0x22) & 0x3f) & 1" (binary_expression "0x4000000bUL >> ((ulong)(bVar2 - 0x22) & 0x3f)" (number_literal "0x4000000bUL") (>> ">>") (parenthesized_expression "((ulong)(bVar2 - 0x22) & 0x3f)" (( "(") (binary_expression "(ulong)(bVar2 - 0x22) & 0x3f" (call_expression "(ulong)(bVar2 - 0x22)" (parenthesized_expression "(ulong)" (( "(") (identifier "ulong") () ")")) (argument_list "(bVar2 - 0x22)" (( "(") (binary_expression "bVar2 - 0x22" (identifier "bVar2") (- "-") (number_literal "0x22")) () ")"))) (& "&") (number_literal "0x3f")) () ")"))) (& "&") (number_literal "1")) () ")")) (!= "!=") (number_literal "0")) () ")"))) () ")")) (compound_statement "{\n    DAT_0019d9a0 = DAT_0019d9a0 + 1;\n  }" ({ "{") (expression_statement "DAT_0019d9a0 = DAT_0019d9a0 + 1;" (assignment_expression "DAT_0019d9a0 = DAT_0019d9a0 + 1" (identifier "DAT_0019d9a0") (= "=") (binary_expression "DAT_0019d9a0 + 1" (identifier "DAT_0019d9a0") (+ "+") (number_literal "1"))) (; ";")) (} "}"))) (expression_statement "local_30 = DAT_0019d9a0;" (assignment_expression "local_30 = DAT_0019d9a0" (identifier "local_30") (= "=") (identifier "DAT_0019d9a0")) (; ";")) (expression_statement "bVar2 = *DAT_0019d9a0 - 0x30;" (assignment_expression "bVar2 = *DAT_0019d9a0 - 0x30" (identifier "bVar2") (= "=") (binary_expression "*DAT_0019d9a0 - 0x30" (pointer_expression "*DAT_0019d9a0" (* "*") (identifier "DAT_0019d9a0")) (- "-") (number_literal "0x30"))) (; ";")) (expression_statement "uVar12 = bVar2 < 9;" (assignment_expression "uVar12 = bVar2 < 9" (identifier "uVar12") (= "=") (binary_expression "bVar2 < 9" (identifier "bVar2") (< "<") (number_literal "9"))) (; ";")) (expression_statement "uVar15 = bVar2 == 9;" (assignment_expression "uVar15 = bVar2 == 9" (identifier "uVar15") (= "=") (binary_expression "bVar2 == 9" (identifier "bVar2") (== "==") (number_literal "9"))) (; ";")) (if_statement "if (bVar2 < 10) {\n    do {\n      DAT_0019d9a0 = DAT_0019d9a0 + 1;\n      bVar2 = *DAT_0019d9a0;\n      bVar8 = bVar2 - 0x30;\n      uVar12 = bVar8 < 9;\n      uVar15 = bVar8 == 9;\n    } while (bVar8 < 10);\n    *DAT_0019d9a0 = 0;\n  }\n  else {\n    bVar2 = FUN_00116b30(&local_30);\n  }" (if "if") (parenthesized_expression "(bVar2 < 10)" (( "(") (binary_expression "bVar2 < 10" (identifier "bVar2") (< "<") (number_literal "10")) () ")")) (compound_statement "{\n    do {\n      DAT_0019d9a0 = DAT_0019d9a0 + 1;\n      bVar2 = *DAT_0019d9a0;\n      bVar8 = bVar2 - 0x30;\n      uVar12 = bVar8 < 9;\n      uVar15 = bVar8 == 9;\n    } while (bVar8 < 10);\n    *DAT_0019d9a0 = 0;\n  }" ({ "{") (do_statement "do {\n      DAT_0019d9a0 = DAT_0019d9a0 + 1;\n      bVar2 = *DAT_0019d9a0;\n      bVar8 = bVar2 - 0x30;\n      uVar12 = bVar8 < 9;\n      uVar15 = bVar8 == 9;\n    } while (bVar8 < 10);" (do "do") (compound_statement "{\n      DAT_0019d9a0 = DAT_0019d9a0 + 1;\n      bVar2 = *DAT_0019d9a0;\n      bVar8 = bVar2 - 0x30;\n      uVar12 = bVar8 < 9;\n      uVar15 = bVar8 == 9;\n    }" ({ "{") (expression_statement "DAT_0019d9a0 = DAT_0019d9a0 + 1;" (assignment_expression "DAT_0019d9a0 = DAT_0019d9a0 + 1" (identifier "DAT_0019d9a0") (= "=") (binary_expression "DAT_0019d9a0 + 1" (identifier "DAT_0019d9a0") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "bVar2 = *DAT_0019d9a0;" (assignment_expression "bVar2 = *DAT_0019d9a0" (identifier "bVar2") (= "=") (pointer_expression "*DAT_0019d9a0" (* "*") (identifier "DAT_0019d9a0"))) (; ";")) (expression_statement "bVar8 = bVar2 - 0x30;" (assignment_expression "bVar8 = bVar2 - 0x30" (identifier "bVar8") (= "=") (binary_expression "bVar2 - 0x30" (identifier "bVar2") (- "-") (number_literal "0x30"))) (; ";")) (expression_statement "uVar12 = bVar8 < 9;" (assignment_expression "uVar12 = bVar8 < 9" (identifier "uVar12") (= "=") (binary_expression "bVar8 < 9" (identifier "bVar8") (< "<") (number_literal "9"))) (; ";")) (expression_statement "uVar15 = bVar8 == 9;" (assignment_expression "uVar15 = bVar8 == 9" (identifier "uVar15") (= "=") (binary_expression "bVar8 == 9" (identifier "bVar8") (== "==") (number_literal "9"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(bVar8 < 10)" (( "(") (binary_expression "bVar8 < 10" (identifier "bVar8") (< "<") (number_literal "10")) () ")")) (; ";")) (expression_statement "*DAT_0019d9a0 = 0;" (assignment_expression "*DAT_0019d9a0 = 0" (pointer_expression "*DAT_0019d9a0" (* "*") (identifier "DAT_0019d9a0")) (= "=") (number_literal "0")) (; ";")) (} "}")) (else_clause "else {\n    bVar2 = FUN_00116b30(&local_30);\n  }" (else "else") (compound_statement "{\n    bVar2 = FUN_00116b30(&local_30);\n  }" ({ "{") (expression_statement "bVar2 = FUN_00116b30(&local_30);" (assignment_expression "bVar2 = FUN_00116b30(&local_30)" (identifier "bVar2") (= "=") (call_expression "FUN_00116b30(&local_30)" (identifier "FUN_00116b30") (argument_list "(&local_30)" (( "(") (pointer_expression "&local_30" (& "&") (identifier "local_30")) () ")")))) (; ";")) (} "}")))) (expression_statement "__s1 = local_30;" (assignment_expression "__s1 = local_30" (identifier "__s1") (= "=") (identifier "local_30")) (; ";")) (expression_statement "lVar7 = 9;" (assignment_expression "lVar7 = 9" (identifier "lVar7") (= "=") (number_literal "9")) (; ";")) (expression_statement "uVar11 = 8;" (assignment_expression "uVar11 = 8" (identifier "uVar11") (= "=") (number_literal "8")) (; ";")) (expression_statement "pbVar9 = local_30;" (assignment_expression "pbVar9 = local_30" (identifier "pbVar9") (= "=") (identifier "local_30")) (; ";")) (expression_statement "pbVar10 = (byte *)0x1464a7;" (assignment_expression "pbVar10 = (byte *)0x1464a7" (identifier "pbVar10") (= "=") (cast_expression "(byte *)0x1464a7" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x1464a7"))) (; ";")) (do_statement "do {\n    if (lVar7 == 0) break;\n    lVar7 = lVar7 + -1;\n    uVar12 = *pbVar9 < *pbVar10;\n    uVar15 = *pbVar9 == *pbVar10;\n    pbVar9 = pbVar9 + (ulong)bVar17 * -2 + 1;\n    pbVar10 = pbVar10 + (ulong)bVar17 * -2 + 1;\n  } while ((bool)uVar15);" (do "do") (compound_statement "{\n    if (lVar7 == 0) break;\n    lVar7 = lVar7 + -1;\n    uVar12 = *pbVar9 < *pbVar10;\n    uVar15 = *pbVar9 == *pbVar10;\n    pbVar9 = pbVar9 + (ulong)bVar17 * -2 + 1;\n    pbVar10 = pbVar10 + (ulong)bVar17 * -2 + 1;\n  }" ({ "{") (if_statement "if (lVar7 == 0) break;" (if "if") (parenthesized_expression "(lVar7 == 0)" (( "(") (binary_expression "lVar7 == 0" (identifier "lVar7") (== "==") (number_literal "0")) () ")")) (break_statement "break;" (break "break") (; ";"))) (expression_statement "lVar7 = lVar7 + -1;" (assignment_expression "lVar7 = lVar7 + -1" (identifier "lVar7") (= "=") (binary_expression "lVar7 + -1" (identifier "lVar7") (+ "+") (number_literal "-1"))) (; ";")) (expression_statement "uVar12 = *pbVar9 < *pbVar10;" (assignment_expression "uVar12 = *pbVar9 < *pbVar10" (identifier "uVar12") (= "=") (binary_expression "*pbVar9 < *pbVar10" (pointer_expression "*pbVar9" (* "*") (identifier "pbVar9")) (< "<") (pointer_expression "*pbVar10" (* "*") (identifier "pbVar10")))) (; ";")) (expression_statement "uVar15 = *pbVar9 == *pbVar10;" (assignment_expression "uVar15 = *pbVar9 == *pbVar10" (identifier "uVar15") (= "=") (binary_expression "*pbVar9 == *pbVar10" (pointer_expression "*pbVar9" (* "*") (identifier "pbVar9")) (== "==") (pointer_expression "*pbVar10" (* "*") (identifier "pbVar10")))) (; ";")) (expression_statement "pbVar9 = pbVar9 + (ulong)bVar17 * -2 + 1;" (assignment_expression "pbVar9 = pbVar9 + (ulong)bVar17 * -2 + 1" (identifier "pbVar9") (= "=") (binary_expression "pbVar9 + (ulong)bVar17 * -2 + 1" (binary_expression "pbVar9 + (ulong)bVar17 * -2" (identifier "pbVar9") (+ "+") (binary_expression "(ulong)bVar17 * -2" (cast_expression "(ulong)bVar17" (( "(") (type_descriptor "ulong" (type_identifier "ulong")) () ")") (identifier "bVar17")) (* "*") (number_literal "-2"))) (+ "+") (number_literal "1"))) (; ";")) (expression_statement "pbVar10 = pbVar10 + (ulong)bVar17 * -2 + 1;" (assignment_expression "pbVar10 = pbVar10 + (ulong)bVar17 * -2 + 1" (identifier "pbVar10") (= "=") (binary_expression "pbVar10 + (ulong)bVar17 * -2 + 1" (binary_expression "pbVar10 + (ulong)bVar17 * -2" (identifier "pbVar10") (+ "+") (binary_expression "(ulong)bVar17 * -2" (cast_expression "(ulong)bVar17" (( "(") (type_descriptor "ulong" (type_identifier "ulong")) () ")") (identifier "bVar17")) (* "*") (number_literal "-2"))) (+ "+") (number_literal "1"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "((bool)uVar15)" (( "(") (cast_expression "(bool)uVar15" (( "(") (type_descriptor "bool" (primitive_type "bool")) () ")") (identifier "uVar15")) () ")")) (; ";")) (expression_statement "bVar13 = false;" (assignment_expression "bVar13 = false" (identifier "bVar13") (= "=") (false "false")) (; ";")) (expression_statement "bVar16 = (!(bool)uVar12 && !(bool)uVar15) == (bool)uVar12;" (assignment_expression "bVar16 = (!(bool)uVar12 && !(bool)uVar15) == (bool)uVar12" (identifier "bVar16") (= "=") (binary_expression "(!(bool)uVar12 && !(bool)uVar15) == (bool)uVar12" (parenthesized_expression "(!(bool)uVar12 && !(bool)uVar15)" (( "(") (binary_expression "!(bool)uVar12 && !(bool)uVar15" (unary_expression "!(bool)uVar12" (! "!") (cast_expression "(bool)uVar12" (( "(") (type_descriptor "bool" (primitive_type "bool")) () ")") (identifier "uVar12"))) (&& "&&") (unary_expression "!(bool)uVar15" (! "!") (cast_expression "(bool)uVar15" (( "(") (type_descriptor "bool" (primitive_type "bool")) () ")") (identifier "uVar15")))) () ")")) (== "==") (cast_expression "(bool)uVar12" (( "(") (type_descriptor "bool" (primitive_type "bool")) () ")") (identifier "uVar12")))) (; ";")) (if_statement "if (!bVar16) {\n    lVar7 = 2;\n    pbVar9 = local_30;\n    pbVar10 = (byte *)0x14246c;\n    do {\n      if (lVar7 == 0) break;\n      lVar7 = lVar7 + -1;\n      bVar13 = *pbVar9 < *pbVar10;\n      bVar16 = *pbVar9 == *pbVar10;\n      pbVar9 = pbVar9 + (ulong)bVar17 * -2 + 1;\n      pbVar10 = pbVar10 + (ulong)bVar17 * -2 + 1;\n    } while (bVar16);\n    bVar14 = false;\n    bVar13 = (!bVar13 && !bVar16) == bVar13;\n    if (!bVar13) {\n      lVar7 = 9;\n      pbVar9 = local_30;\n      pbVar10 = (byte *)"STT_FUNC";\n      do {\n        if (lVar7 == 0) break;\n        lVar7 = lVar7 + -1;\n        bVar14 = *pbVar9 < *pbVar10;\n        bVar13 = *pbVar9 == *pbVar10;\n        pbVar9 = pbVar9 + (ulong)bVar17 * -2 + 1;\n        pbVar10 = pbVar10 + (ulong)bVar17 * -2 + 1;\n      } while (bVar13);\n      bVar16 = false;\n      bVar13 = (!bVar14 && !bVar13) == bVar14;\n      if (!bVar13) {\n        lVar7 = 7;\n        pbVar9 = local_30;\n        pbVar10 = (byte *)0x1464c9;\n        do {\n          if (lVar7 == 0) break;\n          lVar7 = lVar7 + -1;\n          bVar16 = *pbVar9 < *pbVar10;\n          bVar13 = *pbVar9 == *pbVar10;\n          pbVar9 = pbVar9 + (ulong)bVar17 * -2 + 1;\n          pbVar10 = pbVar10 + (ulong)bVar17 * -2 + 1;\n        } while (bVar13);\n        bVar14 = false;\n        bVar13 = (!bVar16 && !bVar13) == bVar16;\n        if (!bVar13) {\n          lVar7 = 2;\n          pbVar9 = local_30;\n          pbVar10 = (byte *)0x13f34c;\n          do {\n            if (lVar7 == 0) break;\n            lVar7 = lVar7 + -1;\n            bVar14 = *pbVar9 < *pbVar10;\n            bVar13 = *pbVar9 == *pbVar10;\n            pbVar9 = pbVar9 + (ulong)bVar17 * -2 + 1;\n            pbVar10 = pbVar10 + (ulong)bVar17 * -2 + 1;\n          } while (bVar13);\n          bVar16 = false;\n          bVar13 = (!bVar14 && !bVar13) == bVar14;\n          if (!bVar13) {\n            lVar7 = 0xb;\n            pbVar9 = local_30;\n            pbVar10 = (byte *)"STT_OBJECT";\n            do {\n              if (lVar7 == 0) break;\n              lVar7 = lVar7 + -1;\n              bVar16 = *pbVar9 < *pbVar10;\n              bVar13 = *pbVar9 == *pbVar10;\n              pbVar9 = pbVar9 + (ulong)bVar17 * -2 + 1;\n              pbVar10 = pbVar10 + (ulong)bVar17 * -2 + 1;\n            } while (bVar13);\n            bVar14 = false;\n            bVar13 = (!bVar16 && !bVar13) == bVar16;\n            if (!bVar13) {\n              lVar7 = 0xb;\n              uVar11 = 0x50000;\n              pbVar9 = local_30;\n              pbVar10 = (byte *)"tls_object";\n              do {\n                if (lVar7 == 0) break;\n                lVar7 = lVar7 + -1;\n                bVar14 = *pbVar9 < *pbVar10;\n                bVar13 = *pbVar9 == *pbVar10;\n                pbVar9 = pbVar9 + (ulong)bVar17 * -2 + 1;\n                pbVar10 = pbVar10 + (ulong)bVar17 * -2 + 1;\n              } while (bVar13);\n              bVar16 = false;\n              bVar13 = (!bVar14 && !bVar13) == bVar14;\n              if (bVar13) goto LAB_00139961;\n              lVar7 = 2;\n              pbVar9 = local_30;\n              pbVar10 = &DAT_001448ab;\n              do {\n                if (lVar7 == 0) break;\n                lVar7 = lVar7 + -1;\n                bVar16 = *pbVar9 < *pbVar10;\n                bVar13 = *pbVar9 == *pbVar10;\n                pbVar9 = pbVar9 + (ulong)bVar17 * -2 + 1;\n                pbVar10 = pbVar10 + (ulong)bVar17 * -2 + 1;\n              } while (bVar13);\n              bVar14 = false;\n              bVar13 = (!bVar16 && !bVar13) == bVar16;\n              if (bVar13) goto LAB_00139961;\n              lVar7 = 8;\n              pbVar9 = local_30;\n              pbVar10 = (byte *)"STT_TLS";\n              do {\n                if (lVar7 == 0) break;\n                lVar7 = lVar7 + -1;\n                bVar14 = *pbVar9 < *pbVar10;\n                bVar13 = *pbVar9 == *pbVar10;\n                pbVar9 = pbVar9 + (ulong)bVar17 * -2 + 1;\n                pbVar10 = pbVar10 + (ulong)bVar17 * -2 + 1;\n              } while (bVar13);\n              bVar16 = false;\n              bVar13 = (!bVar14 && !bVar13) == bVar14;\n              if (bVar13) goto LAB_00139961;\n              lVar7 = 7;\n              pbVar9 = local_30;\n              pbVar10 = (byte *)"notype";\n              do {\n                if (lVar7 == 0) break;\n                lVar7 = lVar7 + -1;\n                bVar16 = *pbVar9 < *pbVar10;\n                bVar13 = *pbVar9 == *pbVar10;\n                pbVar9 = pbVar9 + (ulong)bVar17 * -2 + 1;\n                pbVar10 = pbVar10 + (ulong)bVar17 * -2 + 1;\n              } while (bVar13);\n              uVar11 = 0;\n              if ((((!bVar16 && !bVar13) == bVar16) ||\n                  (iVar3 = strcmp((char *)local_30,"0"), iVar3 == 0)) ||\n                 (iVar3 = strcmp((char *)__s1,"STT_NOTYPE"), iVar3 == 0)) goto LAB_00139961;\n              iVar3 = strcmp((char *)__s1,"common");\n              if (((iVar3 != 0) && (iVar3 = strcmp((char *)__s1,"5"), iVar3 != 0)) &&\n                 (iVar3 = strcmp((char *)__s1,"STT_COMMON"), iVar3 != 0)) {\n                iVar3 = strcmp((char *)__s1,"gnu_indirect_function");\n                if (((iVar3 == 0) || (iVar3 = strcmp((char *)__s1,"10"), iVar3 == 0)) ||\n                   (iVar3 = strcmp((char *)__s1,"STT_GNU_IFUNC"), iVar3 == 0)) {\n                  uVar1 = *(uint *)(*(long *)(*(long *)(DAT_0019d970 + 8) + 0x368) + 0xc);\n                  if ((9 < uVar1) ||\n                     (uVar11 = 0x400008, (0x209UL >> ((ulong)uVar1 & 0x3f) & 1) == 0)) {\n                    uVar11 = 0x400008;\n                    uVar4 = dcgettext(0,\n                                      "symbol type \"%s\" is supported only by GNU and FreeBSD targets"\n                                      ,5);\n                    FUN_0011f6d0(uVar4,__s1);\n                  }\n                }\n                else {\n                  iVar3 = strcmp((char *)__s1,"gnu_unique_object");\n                  if (iVar3 == 0) {\n                    lVar7 = *(long *)(*(long *)(DAT_0019d970 + 8) + 0x368);\n                    iVar3 = *(int *)(lVar7 + 0xc);\n                    if ((iVar3 != 3) && (iVar3 != 0)) {\n                      uVar4 = dcgettext(0,"symbol type \"%s\" is supported only by GNU targets",5);\n                      FUN_0011f6d0(uVar4,__s1);\n                    }\n                    *(undefined4 *)(lVar7 + 0xc) = 3;\n                    uVar11 = 0x810000;\n                  }\n                  else {\n                    uVar4 = dcgettext(0,"unrecognized symbol type \"%s\"",5);\n                    FUN_0011f6d0(uVar4,__s1);\n                  }\n                }\n                goto LAB_00139961;\n              }\n              iVar3 = FUN_0012ac00(uVar4);\n              if (iVar3 == 0) {\n                iVar3 = FUN_0012aed0(uVar4);\n                if (iVar3 != 0) {\n                  uVar11 = 0x10000;\n                  uVar4 = FUN_0012c530(uVar4,1);\n                  FUN_0012af90(uVar4,_bfd_std_section);\n                  FUN_0012aa50(uVar4,0);\n                  FUN_0012c440(uVar4);\n                  FUN_0012d650(uVar4,&DAT_0019d720);\n                  FUN_0012d370(uVar4);\n                  goto LAB_00139961;\n                }\n                iVar3 = FUN_0012ac30(uVar4);\n                if ((iVar3 != 0) || (iVar3 = FUN_0012da60(uVar4), iVar3 != 0)) {\n                  uVar11 = 0x10000;\n                  uVar4 = FUN_0012af30(uVar4);\n                  uVar6 = dcgettext(0,"symbol \'%s\' is already defined",5);\n                  FUN_0011f6d0(uVar6,uVar4);\n                  goto LAB_00139961;\n                }\n                FUN_0012af90(uVar4,_bfd_std_section);\n                FUN_0012aa50(uVar4,0);\n                FUN_0012c440(uVar4);\n              }\n            }\n          }\n        }\n        uVar11 = 0x10000;\n      }\n    }\n  }" (if "if") (parenthesized_expression "(!bVar16)" (( "(") (unary_expression "!bVar16" (! "!") (identifier "bVar16")) () ")")) (compound_statement "{\n    lVar7 = 2;\n    pbVar9 = local_30;\n    pbVar10 = (byte *)0x14246c;\n    do {\n      if (lVar7 == 0) break;\n      lVar7 = lVar7 + -1;\n      bVar13 = *pbVar9 < *pbVar10;\n      bVar16 = *pbVar9 == *pbVar10;\n      pbVar9 = pbVar9 + (ulong)bVar17 * -2 + 1;\n      pbVar10 = pbVar10 + (ulong)bVar17 * -2 + 1;\n    } while (bVar16);\n    bVar14 = false;\n    bVar13 = (!bVar13 && !bVar16) == bVar13;\n    if (!bVar13) {\n      lVar7 = 9;\n      pbVar9 = local_30;\n      pbVar10 = (byte *)"STT_FUNC";\n      do {\n        if (lVar7 == 0) break;\n        lVar7 = lVar7 + -1;\n        bVar14 = *pbVar9 < *pbVar10;\n        bVar13 = *pbVar9 == *pbVar10;\n        pbVar9 = pbVar9 + (ulong)bVar17 * -2 + 1;\n        pbVar10 = pbVar10 + (ulong)bVar17 * -2 + 1;\n      } while (bVar13);\n      bVar16 = false;\n      bVar13 = (!bVar14 && !bVar13) == bVar14;\n      if (!bVar13) {\n        lVar7 = 7;\n        pbVar9 = local_30;\n        pbVar10 = (byte *)0x1464c9;\n        do {\n          if (lVar7 == 0) break;\n          lVar7 = lVar7 + -1;\n          bVar16 = *pbVar9 < *pbVar10;\n          bVar13 = *pbVar9 == *pbVar10;\n          pbVar9 = pbVar9 + (ulong)bVar17 * -2 + 1;\n          pbVar10 = pbVar10 + (ulong)bVar17 * -2 + 1;\n        } while (bVar13);\n        bVar14 = false;\n        bVar13 = (!bVar16 && !bVar13) == bVar16;\n        if (!bVar13) {\n          lVar7 = 2;\n          pbVar9 = local_30;\n          pbVar10 = (byte *)0x13f34c;\n          do {\n            if (lVar7 == 0) break;\n            lVar7 = lVar7 + -1;\n            bVar14 = *pbVar9 < *pbVar10;\n            bVar13 = *pbVar9 == *pbVar10;\n            pbVar9 = pbVar9 + (ulong)bVar17 * -2 + 1;\n            pbVar10 = pbVar10 + (ulong)bVar17 * -2 + 1;\n          } while (bVar13);\n          bVar16 = false;\n          bVar13 = (!bVar14 && !bVar13) == bVar14;\n          if (!bVar13) {\n            lVar7 = 0xb;\n            pbVar9 = local_30;\n            pbVar10 = (byte *)"STT_OBJECT";\n            do {\n              if (lVar7 == 0) break;\n              lVar7 = lVar7 + -1;\n              bVar16 = *pbVar9 < *pbVar10;\n              bVar13 = *pbVar9 == *pbVar10;\n              pbVar9 = pbVar9 + (ulong)bVar17 * -2 + 1;\n              pbVar10 = pbVar10 + (ulong)bVar17 * -2 + 1;\n            } while (bVar13);\n            bVar14 = false;\n            bVar13 = (!bVar16 && !bVar13) == bVar16;\n            if (!bVar13) {\n              lVar7 = 0xb;\n              uVar11 = 0x50000;\n              pbVar9 = local_30;\n              pbVar10 = (byte *)"tls_object";\n              do {\n                if (lVar7 == 0) break;\n                lVar7 = lVar7 + -1;\n                bVar14 = *pbVar9 < *pbVar10;\n                bVar13 = *pbVar9 == *pbVar10;\n                pbVar9 = pbVar9 + (ulong)bVar17 * -2 + 1;\n                pbVar10 = pbVar10 + (ulong)bVar17 * -2 + 1;\n              } while (bVar13);\n              bVar16 = false;\n              bVar13 = (!bVar14 && !bVar13) == bVar14;\n              if (bVar13) goto LAB_00139961;\n              lVar7 = 2;\n              pbVar9 = local_30;\n              pbVar10 = &DAT_001448ab;\n              do {\n                if (lVar7 == 0) break;\n                lVar7 = lVar7 + -1;\n                bVar16 = *pbVar9 < *pbVar10;\n                bVar13 = *pbVar9 == *pbVar10;\n                pbVar9 = pbVar9 + (ulong)bVar17 * -2 + 1;\n                pbVar10 = pbVar10 + (ulong)bVar17 * -2 + 1;\n              } while (bVar13);\n              bVar14 = false;\n              bVar13 = (!bVar16 && !bVar13) == bVar16;\n              if (bVar13) goto LAB_00139961;\n              lVar7 = 8;\n              pbVar9 = local_30;\n              pbVar10 = (byte *)"STT_TLS";\n              do {\n                if (lVar7 == 0) break;\n                lVar7 = lVar7 + -1;\n                bVar14 = *pbVar9 < *pbVar10;\n                bVar13 = *pbVar9 == *pbVar10;\n                pbVar9 = pbVar9 + (ulong)bVar17 * -2 + 1;\n                pbVar10 = pbVar10 + (ulong)bVar17 * -2 + 1;\n              } while (bVar13);\n              bVar16 = false;\n              bVar13 = (!bVar14 && !bVar13) == bVar14;\n              if (bVar13) goto LAB_00139961;\n              lVar7 = 7;\n              pbVar9 = local_30;\n              pbVar10 = (byte *)"notype";\n              do {\n                if (lVar7 == 0) break;\n                lVar7 = lVar7 + -1;\n                bVar16 = *pbVar9 < *pbVar10;\n                bVar13 = *pbVar9 == *pbVar10;\n                pbVar9 = pbVar9 + (ulong)bVar17 * -2 + 1;\n                pbVar10 = pbVar10 + (ulong)bVar17 * -2 + 1;\n              } while (bVar13);\n              uVar11 = 0;\n              if ((((!bVar16 && !bVar13) == bVar16) ||\n                  (iVar3 = strcmp((char *)local_30,"0"), iVar3 == 0)) ||\n                 (iVar3 = strcmp((char *)__s1,"STT_NOTYPE"), iVar3 == 0)) goto LAB_00139961;\n              iVar3 = strcmp((char *)__s1,"common");\n              if (((iVar3 != 0) && (iVar3 = strcmp((char *)__s1,"5"), iVar3 != 0)) &&\n                 (iVar3 = strcmp((char *)__s1,"STT_COMMON"), iVar3 != 0)) {\n                iVar3 = strcmp((char *)__s1,"gnu_indirect_function");\n                if (((iVar3 == 0) || (iVar3 = strcmp((char *)__s1,"10"), iVar3 == 0)) ||\n                   (iVar3 = strcmp((char *)__s1,"STT_GNU_IFUNC"), iVar3 == 0)) {\n                  uVar1 = *(uint *)(*(long *)(*(long *)(DAT_0019d970 + 8) + 0x368) + 0xc);\n                  if ((9 < uVar1) ||\n                     (uVar11 = 0x400008, (0x209UL >> ((ulong)uVar1 & 0x3f) & 1) == 0)) {\n                    uVar11 = 0x400008;\n                    uVar4 = dcgettext(0,\n                                      "symbol type \"%s\" is supported only by GNU and FreeBSD targets"\n                                      ,5);\n                    FUN_0011f6d0(uVar4,__s1);\n                  }\n                }\n                else {\n                  iVar3 = strcmp((char *)__s1,"gnu_unique_object");\n                  if (iVar3 == 0) {\n                    lVar7 = *(long *)(*(long *)(DAT_0019d970 + 8) + 0x368);\n                    iVar3 = *(int *)(lVar7 + 0xc);\n                    if ((iVar3 != 3) && (iVar3 != 0)) {\n                      uVar4 = dcgettext(0,"symbol type \"%s\" is supported only by GNU targets",5);\n                      FUN_0011f6d0(uVar4,__s1);\n                    }\n                    *(undefined4 *)(lVar7 + 0xc) = 3;\n                    uVar11 = 0x810000;\n                  }\n                  else {\n                    uVar4 = dcgettext(0,"unrecognized symbol type \"%s\"",5);\n                    FUN_0011f6d0(uVar4,__s1);\n                  }\n                }\n                goto LAB_00139961;\n              }\n              iVar3 = FUN_0012ac00(uVar4);\n              if (iVar3 == 0) {\n                iVar3 = FUN_0012aed0(uVar4);\n                if (iVar3 != 0) {\n                  uVar11 = 0x10000;\n                  uVar4 = FUN_0012c530(uVar4,1);\n                  FUN_0012af90(uVar4,_bfd_std_section);\n                  FUN_0012aa50(uVar4,0);\n                  FUN_0012c440(uVar4);\n                  FUN_0012d650(uVar4,&DAT_0019d720);\n                  FUN_0012d370(uVar4);\n                  goto LAB_00139961;\n                }\n                iVar3 = FUN_0012ac30(uVar4);\n                if ((iVar3 != 0) || (iVar3 = FUN_0012da60(uVar4), iVar3 != 0)) {\n                  uVar11 = 0x10000;\n                  uVar4 = FUN_0012af30(uVar4);\n                  uVar6 = dcgettext(0,"symbol \'%s\' is already defined",5);\n                  FUN_0011f6d0(uVar6,uVar4);\n                  goto LAB_00139961;\n                }\n                FUN_0012af90(uVar4,_bfd_std_section);\n                FUN_0012aa50(uVar4,0);\n                FUN_0012c440(uVar4);\n              }\n            }\n          }\n        }\n        uVar11 = 0x10000;\n      }\n    }\n  }" ({ "{") (expression_statement "lVar7 = 2;" (assignment_expression "lVar7 = 2" (identifier "lVar7") (= "=") (number_literal "2")) (; ";")) (expression_statement "pbVar9 = local_30;" (assignment_expression "pbVar9 = local_30" (identifier "pbVar9") (= "=") (identifier "local_30")) (; ";")) (expression_statement "pbVar10 = (byte *)0x14246c;" (assignment_expression "pbVar10 = (byte *)0x14246c" (identifier "pbVar10") (= "=") (cast_expression "(byte *)0x14246c" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x14246c"))) (; ";")) (do_statement "do {\n      if (lVar7 == 0) break;\n      lVar7 = lVar7 + -1;\n      bVar13 = *pbVar9 < *pbVar10;\n      bVar16 = *pbVar9 == *pbVar10;\n      pbVar9 = pbVar9 + (ulong)bVar17 * -2 + 1;\n      pbVar10 = pbVar10 + (ulong)bVar17 * -2 + 1;\n    } while (bVar16);" (do "do") (compound_statement "{\n      if (lVar7 == 0) break;\n      lVar7 = lVar7 + -1;\n      bVar13 = *pbVar9 < *pbVar10;\n      bVar16 = *pbVar9 == *pbVar10;\n      pbVar9 = pbVar9 + (ulong)bVar17 * -2 + 1;\n      pbVar10 = pbVar10 + (ulong)bVar17 * -2 + 1;\n    }" ({ "{") (if_statement "if (lVar7 == 0) break;" (if "if") (parenthesized_expression "(lVar7 == 0)" (( "(") (binary_expression "lVar7 == 0" (identifier "lVar7") (== "==") (number_literal "0")) () ")")) (break_statement "break;" (break "break") (; ";"))) (expression_statement "lVar7 = lVar7 + -1;" (assignment_expression "lVar7 = lVar7 + -1" (identifier "lVar7") (= "=") (binary_expression "lVar7 + -1" (identifier "lVar7") (+ "+") (number_literal "-1"))) (; ";")) (expression_statement "bVar13 = *pbVar9 < *pbVar10;" (assignment_expression "bVar13 = *pbVar9 < *pbVar10" (identifier "bVar13") (= "=") (binary_expression "*pbVar9 < *pbVar10" (pointer_expression "*pbVar9" (* "*") (identifier "pbVar9")) (< "<") (pointer_expression "*pbVar10" (* "*") (identifier "pbVar10")))) (; ";")) (expression_statement "bVar16 = *pbVar9 == *pbVar10;" (assignment_expression "bVar16 = *pbVar9 == *pbVar10" (identifier "bVar16") (= "=") (binary_expression "*pbVar9 == *pbVar10" (pointer_expression "*pbVar9" (* "*") (identifier "pbVar9")) (== "==") (pointer_expression "*pbVar10" (* "*") (identifier "pbVar10")))) (; ";")) (expression_statement "pbVar9 = pbVar9 + (ulong)bVar17 * -2 + 1;" (assignment_expression "pbVar9 = pbVar9 + (ulong)bVar17 * -2 + 1" (identifier "pbVar9") (= "=") (binary_expression "pbVar9 + (ulong)bVar17 * -2 + 1" (binary_expression "pbVar9 + (ulong)bVar17 * -2" (identifier "pbVar9") (+ "+") (binary_expression "(ulong)bVar17 * -2" (cast_expression "(ulong)bVar17" (( "(") (type_descriptor "ulong" (type_identifier "ulong")) () ")") (identifier "bVar17")) (* "*") (number_literal "-2"))) (+ "+") (number_literal "1"))) (; ";")) (expression_statement "pbVar10 = pbVar10 + (ulong)bVar17 * -2 + 1;" (assignment_expression "pbVar10 = pbVar10 + (ulong)bVar17 * -2 + 1" (identifier "pbVar10") (= "=") (binary_expression "pbVar10 + (ulong)bVar17 * -2 + 1" (binary_expression "pbVar10 + (ulong)bVar17 * -2" (identifier "pbVar10") (+ "+") (binary_expression "(ulong)bVar17 * -2" (cast_expression "(ulong)bVar17" (( "(") (type_descriptor "ulong" (type_identifier "ulong")) () ")") (identifier "bVar17")) (* "*") (number_literal "-2"))) (+ "+") (number_literal "1"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(bVar16)" (( "(") (identifier "bVar16") () ")")) (; ";")) (expression_statement "bVar14 = false;" (assignment_expression "bVar14 = false" (identifier "bVar14") (= "=") (false "false")) (; ";")) (expression_statement "bVar13 = (!bVar13 && !bVar16) == bVar13;" (assignment_expression "bVar13 = (!bVar13 && !bVar16) == bVar13" (identifier "bVar13") (= "=") (binary_expression "(!bVar13 && !bVar16) == bVar13" (parenthesized_expression "(!bVar13 && !bVar16)" (( "(") (binary_expression "!bVar13 && !bVar16" (unary_expression "!bVar13" (! "!") (identifier "bVar13")) (&& "&&") (unary_expression "!bVar16" (! "!") (identifier "bVar16"))) () ")")) (== "==") (identifier "bVar13"))) (; ";")) (if_statement "if (!bVar13) {\n      lVar7 = 9;\n      pbVar9 = local_30;\n      pbVar10 = (byte *)"STT_FUNC";\n      do {\n        if (lVar7 == 0) break;\n        lVar7 = lVar7 + -1;\n        bVar14 = *pbVar9 < *pbVar10;\n        bVar13 = *pbVar9 == *pbVar10;\n        pbVar9 = pbVar9 + (ulong)bVar17 * -2 + 1;\n        pbVar10 = pbVar10 + (ulong)bVar17 * -2 + 1;\n      } while (bVar13);\n      bVar16 = false;\n      bVar13 = (!bVar14 && !bVar13) == bVar14;\n      if (!bVar13) {\n        lVar7 = 7;\n        pbVar9 = local_30;\n        pbVar10 = (byte *)0x1464c9;\n        do {\n          if (lVar7 == 0) break;\n          lVar7 = lVar7 + -1;\n          bVar16 = *pbVar9 < *pbVar10;\n          bVar13 = *pbVar9 == *pbVar10;\n          pbVar9 = pbVar9 + (ulong)bVar17 * -2 + 1;\n          pbVar10 = pbVar10 + (ulong)bVar17 * -2 + 1;\n        } while (bVar13);\n        bVar14 = false;\n        bVar13 = (!bVar16 && !bVar13) == bVar16;\n        if (!bVar13) {\n          lVar7 = 2;\n          pbVar9 = local_30;\n          pbVar10 = (byte *)0x13f34c;\n          do {\n            if (lVar7 == 0) break;\n            lVar7 = lVar7 + -1;\n            bVar14 = *pbVar9 < *pbVar10;\n            bVar13 = *pbVar9 == *pbVar10;\n            pbVar9 = pbVar9 + (ulong)bVar17 * -2 + 1;\n            pbVar10 = pbVar10 + (ulong)bVar17 * -2 + 1;\n          } while (bVar13);\n          bVar16 = false;\n          bVar13 = (!bVar14 && !bVar13) == bVar14;\n          if (!bVar13) {\n            lVar7 = 0xb;\n            pbVar9 = local_30;\n            pbVar10 = (byte *)"STT_OBJECT";\n            do {\n              if (lVar7 == 0) break;\n              lVar7 = lVar7 + -1;\n              bVar16 = *pbVar9 < *pbVar10;\n              bVar13 = *pbVar9 == *pbVar10;\n              pbVar9 = pbVar9 + (ulong)bVar17 * -2 + 1;\n              pbVar10 = pbVar10 + (ulong)bVar17 * -2 + 1;\n            } while (bVar13);\n            bVar14 = false;\n            bVar13 = (!bVar16 && !bVar13) == bVar16;\n            if (!bVar13) {\n              lVar7 = 0xb;\n              uVar11 = 0x50000;\n              pbVar9 = local_30;\n              pbVar10 = (byte *)"tls_object";\n              do {\n                if (lVar7 == 0) break;\n                lVar7 = lVar7 + -1;\n                bVar14 = *pbVar9 < *pbVar10;\n                bVar13 = *pbVar9 == *pbVar10;\n                pbVar9 = pbVar9 + (ulong)bVar17 * -2 + 1;\n                pbVar10 = pbVar10 + (ulong)bVar17 * -2 + 1;\n              } while (bVar13);\n              bVar16 = false;\n              bVar13 = (!bVar14 && !bVar13) == bVar14;\n              if (bVar13) goto LAB_00139961;\n              lVar7 = 2;\n              pbVar9 = local_30;\n              pbVar10 = &DAT_001448ab;\n              do {\n                if (lVar7 == 0) break;\n                lVar7 = lVar7 + -1;\n                bVar16 = *pbVar9 < *pbVar10;\n                bVar13 = *pbVar9 == *pbVar10;\n                pbVar9 = pbVar9 + (ulong)bVar17 * -2 + 1;\n                pbVar10 = pbVar10 + (ulong)bVar17 * -2 + 1;\n              } while (bVar13);\n              bVar14 = false;\n              bVar13 = (!bVar16 && !bVar13) == bVar16;\n              if (bVar13) goto LAB_00139961;\n              lVar7 = 8;\n              pbVar9 = local_30;\n              pbVar10 = (byte *)"STT_TLS";\n              do {\n                if (lVar7 == 0) break;\n                lVar7 = lVar7 + -1;\n                bVar14 = *pbVar9 < *pbVar10;\n                bVar13 = *pbVar9 == *pbVar10;\n                pbVar9 = pbVar9 + (ulong)bVar17 * -2 + 1;\n                pbVar10 = pbVar10 + (ulong)bVar17 * -2 + 1;\n              } while (bVar13);\n              bVar16 = false;\n              bVar13 = (!bVar14 && !bVar13) == bVar14;\n              if (bVar13) goto LAB_00139961;\n              lVar7 = 7;\n              pbVar9 = local_30;\n              pbVar10 = (byte *)"notype";\n              do {\n                if (lVar7 == 0) break;\n                lVar7 = lVar7 + -1;\n                bVar16 = *pbVar9 < *pbVar10;\n                bVar13 = *pbVar9 == *pbVar10;\n                pbVar9 = pbVar9 + (ulong)bVar17 * -2 + 1;\n                pbVar10 = pbVar10 + (ulong)bVar17 * -2 + 1;\n              } while (bVar13);\n              uVar11 = 0;\n              if ((((!bVar16 && !bVar13) == bVar16) ||\n                  (iVar3 = strcmp((char *)local_30,"0"), iVar3 == 0)) ||\n                 (iVar3 = strcmp((char *)__s1,"STT_NOTYPE"), iVar3 == 0)) goto LAB_00139961;\n              iVar3 = strcmp((char *)__s1,"common");\n              if (((iVar3 != 0) && (iVar3 = strcmp((char *)__s1,"5"), iVar3 != 0)) &&\n                 (iVar3 = strcmp((char *)__s1,"STT_COMMON"), iVar3 != 0)) {\n                iVar3 = strcmp((char *)__s1,"gnu_indirect_function");\n                if (((iVar3 == 0) || (iVar3 = strcmp((char *)__s1,"10"), iVar3 == 0)) ||\n                   (iVar3 = strcmp((char *)__s1,"STT_GNU_IFUNC"), iVar3 == 0)) {\n                  uVar1 = *(uint *)(*(long *)(*(long *)(DAT_0019d970 + 8) + 0x368) + 0xc);\n                  if ((9 < uVar1) ||\n                     (uVar11 = 0x400008, (0x209UL >> ((ulong)uVar1 & 0x3f) & 1) == 0)) {\n                    uVar11 = 0x400008;\n                    uVar4 = dcgettext(0,\n                                      "symbol type \"%s\" is supported only by GNU and FreeBSD targets"\n                                      ,5);\n                    FUN_0011f6d0(uVar4,__s1);\n                  }\n                }\n                else {\n                  iVar3 = strcmp((char *)__s1,"gnu_unique_object");\n                  if (iVar3 == 0) {\n                    lVar7 = *(long *)(*(long *)(DAT_0019d970 + 8) + 0x368);\n                    iVar3 = *(int *)(lVar7 + 0xc);\n                    if ((iVar3 != 3) && (iVar3 != 0)) {\n                      uVar4 = dcgettext(0,"symbol type \"%s\" is supported only by GNU targets",5);\n                      FUN_0011f6d0(uVar4,__s1);\n                    }\n                    *(undefined4 *)(lVar7 + 0xc) = 3;\n                    uVar11 = 0x810000;\n                  }\n                  else {\n                    uVar4 = dcgettext(0,"unrecognized symbol type \"%s\"",5);\n                    FUN_0011f6d0(uVar4,__s1);\n                  }\n                }\n                goto LAB_00139961;\n              }\n              iVar3 = FUN_0012ac00(uVar4);\n              if (iVar3 == 0) {\n                iVar3 = FUN_0012aed0(uVar4);\n                if (iVar3 != 0) {\n                  uVar11 = 0x10000;\n                  uVar4 = FUN_0012c530(uVar4,1);\n                  FUN_0012af90(uVar4,_bfd_std_section);\n                  FUN_0012aa50(uVar4,0);\n                  FUN_0012c440(uVar4);\n                  FUN_0012d650(uVar4,&DAT_0019d720);\n                  FUN_0012d370(uVar4);\n                  goto LAB_00139961;\n                }\n                iVar3 = FUN_0012ac30(uVar4);\n                if ((iVar3 != 0) || (iVar3 = FUN_0012da60(uVar4), iVar3 != 0)) {\n                  uVar11 = 0x10000;\n                  uVar4 = FUN_0012af30(uVar4);\n                  uVar6 = dcgettext(0,"symbol \'%s\' is already defined",5);\n                  FUN_0011f6d0(uVar6,uVar4);\n                  goto LAB_00139961;\n                }\n                FUN_0012af90(uVar4,_bfd_std_section);\n                FUN_0012aa50(uVar4,0);\n                FUN_0012c440(uVar4);\n              }\n            }\n          }\n        }\n        uVar11 = 0x10000;\n      }\n    }" (if "if") (parenthesized_expression "(!bVar13)" (( "(") (unary_expression "!bVar13" (! "!") (identifier "bVar13")) () ")")) (compound_statement "{\n      lVar7 = 9;\n      pbVar9 = local_30;\n      pbVar10 = (byte *)"STT_FUNC";\n      do {\n        if (lVar7 == 0) break;\n        lVar7 = lVar7 + -1;\n        bVar14 = *pbVar9 < *pbVar10;\n        bVar13 = *pbVar9 == *pbVar10;\n        pbVar9 = pbVar9 + (ulong)bVar17 * -2 + 1;\n        pbVar10 = pbVar10 + (ulong)bVar17 * -2 + 1;\n      } while (bVar13);\n      bVar16 = false;\n      bVar13 = (!bVar14 && !bVar13) == bVar14;\n      if (!bVar13) {\n        lVar7 = 7;\n        pbVar9 = local_30;\n        pbVar10 = (byte *)0x1464c9;\n        do {\n          if (lVar7 == 0) break;\n          lVar7 = lVar7 + -1;\n          bVar16 = *pbVar9 < *pbVar10;\n          bVar13 = *pbVar9 == *pbVar10;\n          pbVar9 = pbVar9 + (ulong)bVar17 * -2 + 1;\n          pbVar10 = pbVar10 + (ulong)bVar17 * -2 + 1;\n        } while (bVar13);\n        bVar14 = false;\n        bVar13 = (!bVar16 && !bVar13) == bVar16;\n        if (!bVar13) {\n          lVar7 = 2;\n          pbVar9 = local_30;\n          pbVar10 = (byte *)0x13f34c;\n          do {\n            if (lVar7 == 0) break;\n            lVar7 = lVar7 + -1;\n            bVar14 = *pbVar9 < *pbVar10;\n            bVar13 = *pbVar9 == *pbVar10;\n            pbVar9 = pbVar9 + (ulong)bVar17 * -2 + 1;\n            pbVar10 = pbVar10 + (ulong)bVar17 * -2 + 1;\n          } while (bVar13);\n          bVar16 = false;\n          bVar13 = (!bVar14 && !bVar13) == bVar14;\n          if (!bVar13) {\n            lVar7 = 0xb;\n            pbVar9 = local_30;\n            pbVar10 = (byte *)"STT_OBJECT";\n            do {\n              if (lVar7 == 0) break;\n              lVar7 = lVar7 + -1;\n              bVar16 = *pbVar9 < *pbVar10;\n              bVar13 = *pbVar9 == *pbVar10;\n              pbVar9 = pbVar9 + (ulong)bVar17 * -2 + 1;\n              pbVar10 = pbVar10 + (ulong)bVar17 * -2 + 1;\n            } while (bVar13);\n            bVar14 = false;\n            bVar13 = (!bVar16 && !bVar13) == bVar16;\n            if (!bVar13) {\n              lVar7 = 0xb;\n              uVar11 = 0x50000;\n              pbVar9 = local_30;\n              pbVar10 = (byte *)"tls_object";\n              do {\n                if (lVar7 == 0) break;\n                lVar7 = lVar7 + -1;\n                bVar14 = *pbVar9 < *pbVar10;\n                bVar13 = *pbVar9 == *pbVar10;\n                pbVar9 = pbVar9 + (ulong)bVar17 * -2 + 1;\n                pbVar10 = pbVar10 + (ulong)bVar17 * -2 + 1;\n              } while (bVar13);\n              bVar16 = false;\n              bVar13 = (!bVar14 && !bVar13) == bVar14;\n              if (bVar13) goto LAB_00139961;\n              lVar7 = 2;\n              pbVar9 = local_30;\n              pbVar10 = &DAT_001448ab;\n              do {\n                if (lVar7 == 0) break;\n                lVar7 = lVar7 + -1;\n                bVar16 = *pbVar9 < *pbVar10;\n                bVar13 = *pbVar9 == *pbVar10;\n                pbVar9 = pbVar9 + (ulong)bVar17 * -2 + 1;\n                pbVar10 = pbVar10 + (ulong)bVar17 * -2 + 1;\n              } while (bVar13);\n              bVar14 = false;\n              bVar13 = (!bVar16 && !bVar13) == bVar16;\n              if (bVar13) goto LAB_00139961;\n              lVar7 = 8;\n              pbVar9 = local_30;\n              pbVar10 = (byte *)"STT_TLS";\n              do {\n                if (lVar7 == 0) break;\n                lVar7 = lVar7 + -1;\n                bVar14 = *pbVar9 < *pbVar10;\n                bVar13 = *pbVar9 == *pbVar10;\n                pbVar9 = pbVar9 + (ulong)bVar17 * -2 + 1;\n                pbVar10 = pbVar10 + (ulong)bVar17 * -2 + 1;\n              } while (bVar13);\n              bVar16 = false;\n              bVar13 = (!bVar14 && !bVar13) == bVar14;\n              if (bVar13) goto LAB_00139961;\n              lVar7 = 7;\n              pbVar9 = local_30;\n              pbVar10 = (byte *)"notype";\n              do {\n                if (lVar7 == 0) break;\n                lVar7 = lVar7 + -1;\n                bVar16 = *pbVar9 < *pbVar10;\n                bVar13 = *pbVar9 == *pbVar10;\n                pbVar9 = pbVar9 + (ulong)bVar17 * -2 + 1;\n                pbVar10 = pbVar10 + (ulong)bVar17 * -2 + 1;\n              } while (bVar13);\n              uVar11 = 0;\n              if ((((!bVar16 && !bVar13) == bVar16) ||\n                  (iVar3 = strcmp((char *)local_30,"0"), iVar3 == 0)) ||\n                 (iVar3 = strcmp((char *)__s1,"STT_NOTYPE"), iVar3 == 0)) goto LAB_00139961;\n              iVar3 = strcmp((char *)__s1,"common");\n              if (((iVar3 != 0) && (iVar3 = strcmp((char *)__s1,"5"), iVar3 != 0)) &&\n                 (iVar3 = strcmp((char *)__s1,"STT_COMMON"), iVar3 != 0)) {\n                iVar3 = strcmp((char *)__s1,"gnu_indirect_function");\n                if (((iVar3 == 0) || (iVar3 = strcmp((char *)__s1,"10"), iVar3 == 0)) ||\n                   (iVar3 = strcmp((char *)__s1,"STT_GNU_IFUNC"), iVar3 == 0)) {\n                  uVar1 = *(uint *)(*(long *)(*(long *)(DAT_0019d970 + 8) + 0x368) + 0xc);\n                  if ((9 < uVar1) ||\n                     (uVar11 = 0x400008, (0x209UL >> ((ulong)uVar1 & 0x3f) & 1) == 0)) {\n                    uVar11 = 0x400008;\n                    uVar4 = dcgettext(0,\n                                      "symbol type \"%s\" is supported only by GNU and FreeBSD targets"\n                                      ,5);\n                    FUN_0011f6d0(uVar4,__s1);\n                  }\n                }\n                else {\n                  iVar3 = strcmp((char *)__s1,"gnu_unique_object");\n                  if (iVar3 == 0) {\n                    lVar7 = *(long *)(*(long *)(DAT_0019d970 + 8) + 0x368);\n                    iVar3 = *(int *)(lVar7 + 0xc);\n                    if ((iVar3 != 3) && (iVar3 != 0)) {\n                      uVar4 = dcgettext(0,"symbol type \"%s\" is supported only by GNU targets",5);\n                      FUN_0011f6d0(uVar4,__s1);\n                    }\n                    *(undefined4 *)(lVar7 + 0xc) = 3;\n                    uVar11 = 0x810000;\n                  }\n                  else {\n                    uVar4 = dcgettext(0,"unrecognized symbol type \"%s\"",5);\n                    FUN_0011f6d0(uVar4,__s1);\n                  }\n                }\n                goto LAB_00139961;\n              }\n              iVar3 = FUN_0012ac00(uVar4);\n              if (iVar3 == 0) {\n                iVar3 = FUN_0012aed0(uVar4);\n                if (iVar3 != 0) {\n                  uVar11 = 0x10000;\n                  uVar4 = FUN_0012c530(uVar4,1);\n                  FUN_0012af90(uVar4,_bfd_std_section);\n                  FUN_0012aa50(uVar4,0);\n                  FUN_0012c440(uVar4);\n                  FUN_0012d650(uVar4,&DAT_0019d720);\n                  FUN_0012d370(uVar4);\n                  goto LAB_00139961;\n                }\n                iVar3 = FUN_0012ac30(uVar4);\n                if ((iVar3 != 0) || (iVar3 = FUN_0012da60(uVar4), iVar3 != 0)) {\n                  uVar11 = 0x10000;\n                  uVar4 = FUN_0012af30(uVar4);\n                  uVar6 = dcgettext(0,"symbol \'%s\' is already defined",5);\n                  FUN_0011f6d0(uVar6,uVar4);\n                  goto LAB_00139961;\n                }\n                FUN_0012af90(uVar4,_bfd_std_section);\n                FUN_0012aa50(uVar4,0);\n                FUN_0012c440(uVar4);\n              }\n            }\n          }\n        }\n        uVar11 = 0x10000;\n      }\n    }" ({ "{") (expression_statement "lVar7 = 9;" (assignment_expression "lVar7 = 9" (identifier "lVar7") (= "=") (number_literal "9")) (; ";")) (expression_statement "pbVar9 = local_30;" (assignment_expression "pbVar9 = local_30" (identifier "pbVar9") (= "=") (identifier "local_30")) (; ";")) (expression_statement "pbVar10 = (byte *)"STT_FUNC";" (assignment_expression "pbVar10 = (byte *)"STT_FUNC"" (identifier "pbVar10") (= "=") (cast_expression "(byte *)"STT_FUNC"" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (string_literal ""STT_FUNC"" (" """) (string_content "STT_FUNC") (" """)))) (; ";")) (do_statement "do {\n        if (lVar7 == 0) break;\n        lVar7 = lVar7 + -1;\n        bVar14 = *pbVar9 < *pbVar10;\n        bVar13 = *pbVar9 == *pbVar10;\n        pbVar9 = pbVar9 + (ulong)bVar17 * -2 + 1;\n        pbVar10 = pbVar10 + (ulong)bVar17 * -2 + 1;\n      } while (bVar13);" (do "do") (compound_statement "{\n        if (lVar7 == 0) break;\n        lVar7 = lVar7 + -1;\n        bVar14 = *pbVar9 < *pbVar10;\n        bVar13 = *pbVar9 == *pbVar10;\n        pbVar9 = pbVar9 + (ulong)bVar17 * -2 + 1;\n        pbVar10 = pbVar10 + (ulong)bVar17 * -2 + 1;\n      }" ({ "{") (if_statement "if (lVar7 == 0) break;" (if "if") (parenthesized_expression "(lVar7 == 0)" (( "(") (binary_expression "lVar7 == 0" (identifier "lVar7") (== "==") (number_literal "0")) () ")")) (break_statement "break;" (break "break") (; ";"))) (expression_statement "lVar7 = lVar7 + -1;" (assignment_expression "lVar7 = lVar7 + -1" (identifier "lVar7") (= "=") (binary_expression "lVar7 + -1" (identifier "lVar7") (+ "+") (number_literal "-1"))) (; ";")) (expression_statement "bVar14 = *pbVar9 < *pbVar10;" (assignment_expression "bVar14 = *pbVar9 < *pbVar10" (identifier "bVar14") (= "=") (binary_expression "*pbVar9 < *pbVar10" (pointer_expression "*pbVar9" (* "*") (identifier "pbVar9")) (< "<") (pointer_expression "*pbVar10" (* "*") (identifier "pbVar10")))) (; ";")) (expression_statement "bVar13 = *pbVar9 == *pbVar10;" (assignment_expression "bVar13 = *pbVar9 == *pbVar10" (identifier "bVar13") (= "=") (binary_expression "*pbVar9 == *pbVar10" (pointer_expression "*pbVar9" (* "*") (identifier "pbVar9")) (== "==") (pointer_expression "*pbVar10" (* "*") (identifier "pbVar10")))) (; ";")) (expression_statement "pbVar9 = pbVar9 + (ulong)bVar17 * -2 + 1;" (assignment_expression "pbVar9 = pbVar9 + (ulong)bVar17 * -2 + 1" (identifier "pbVar9") (= "=") (binary_expression "pbVar9 + (ulong)bVar17 * -2 + 1" (binary_expression "pbVar9 + (ulong)bVar17 * -2" (identifier "pbVar9") (+ "+") (binary_expression "(ulong)bVar17 * -2" (cast_expression "(ulong)bVar17" (( "(") (type_descriptor "ulong" (type_identifier "ulong")) () ")") (identifier "bVar17")) (* "*") (number_literal "-2"))) (+ "+") (number_literal "1"))) (; ";")) (expression_statement "pbVar10 = pbVar10 + (ulong)bVar17 * -2 + 1;" (assignment_expression "pbVar10 = pbVar10 + (ulong)bVar17 * -2 + 1" (identifier "pbVar10") (= "=") (binary_expression "pbVar10 + (ulong)bVar17 * -2 + 1" (binary_expression "pbVar10 + (ulong)bVar17 * -2" (identifier "pbVar10") (+ "+") (binary_expression "(ulong)bVar17 * -2" (cast_expression "(ulong)bVar17" (( "(") (type_descriptor "ulong" (type_identifier "ulong")) () ")") (identifier "bVar17")) (* "*") (number_literal "-2"))) (+ "+") (number_literal "1"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(bVar13)" (( "(") (identifier "bVar13") () ")")) (; ";")) (expression_statement "bVar16 = false;" (assignment_expression "bVar16 = false" (identifier "bVar16") (= "=") (false "false")) (; ";")) (expression_statement "bVar13 = (!bVar14 && !bVar13) == bVar14;" (assignment_expression "bVar13 = (!bVar14 && !bVar13) == bVar14" (identifier "bVar13") (= "=") (binary_expression "(!bVar14 && !bVar13) == bVar14" (parenthesized_expression "(!bVar14 && !bVar13)" (( "(") (binary_expression "!bVar14 && !bVar13" (unary_expression "!bVar14" (! "!") (identifier "bVar14")) (&& "&&") (unary_expression "!bVar13" (! "!") (identifier "bVar13"))) () ")")) (== "==") (identifier "bVar14"))) (; ";")) (if_statement "if (!bVar13) {\n        lVar7 = 7;\n        pbVar9 = local_30;\n        pbVar10 = (byte *)0x1464c9;\n        do {\n          if (lVar7 == 0) break;\n          lVar7 = lVar7 + -1;\n          bVar16 = *pbVar9 < *pbVar10;\n          bVar13 = *pbVar9 == *pbVar10;\n          pbVar9 = pbVar9 + (ulong)bVar17 * -2 + 1;\n          pbVar10 = pbVar10 + (ulong)bVar17 * -2 + 1;\n        } while (bVar13);\n        bVar14 = false;\n        bVar13 = (!bVar16 && !bVar13) == bVar16;\n        if (!bVar13) {\n          lVar7 = 2;\n          pbVar9 = local_30;\n          pbVar10 = (byte *)0x13f34c;\n          do {\n            if (lVar7 == 0) break;\n            lVar7 = lVar7 + -1;\n            bVar14 = *pbVar9 < *pbVar10;\n            bVar13 = *pbVar9 == *pbVar10;\n            pbVar9 = pbVar9 + (ulong)bVar17 * -2 + 1;\n            pbVar10 = pbVar10 + (ulong)bVar17 * -2 + 1;\n          } while (bVar13);\n          bVar16 = false;\n          bVar13 = (!bVar14 && !bVar13) == bVar14;\n          if (!bVar13) {\n            lVar7 = 0xb;\n            pbVar9 = local_30;\n            pbVar10 = (byte *)"STT_OBJECT";\n            do {\n              if (lVar7 == 0) break;\n              lVar7 = lVar7 + -1;\n              bVar16 = *pbVar9 < *pbVar10;\n              bVar13 = *pbVar9 == *pbVar10;\n              pbVar9 = pbVar9 + (ulong)bVar17 * -2 + 1;\n              pbVar10 = pbVar10 + (ulong)bVar17 * -2 + 1;\n            } while (bVar13);\n            bVar14 = false;\n            bVar13 = (!bVar16 && !bVar13) == bVar16;\n            if (!bVar13) {\n              lVar7 = 0xb;\n              uVar11 = 0x50000;\n              pbVar9 = local_30;\n              pbVar10 = (byte *)"tls_object";\n              do {\n                if (lVar7 == 0) break;\n                lVar7 = lVar7 + -1;\n                bVar14 = *pbVar9 < *pbVar10;\n                bVar13 = *pbVar9 == *pbVar10;\n                pbVar9 = pbVar9 + (ulong)bVar17 * -2 + 1;\n                pbVar10 = pbVar10 + (ulong)bVar17 * -2 + 1;\n              } while (bVar13);\n              bVar16 = false;\n              bVar13 = (!bVar14 && !bVar13) == bVar14;\n              if (bVar13) goto LAB_00139961;\n              lVar7 = 2;\n              pbVar9 = local_30;\n              pbVar10 = &DAT_001448ab;\n              do {\n                if (lVar7 == 0) break;\n                lVar7 = lVar7 + -1;\n                bVar16 = *pbVar9 < *pbVar10;\n                bVar13 = *pbVar9 == *pbVar10;\n                pbVar9 = pbVar9 + (ulong)bVar17 * -2 + 1;\n                pbVar10 = pbVar10 + (ulong)bVar17 * -2 + 1;\n              } while (bVar13);\n              bVar14 = false;\n              bVar13 = (!bVar16 && !bVar13) == bVar16;\n              if (bVar13) goto LAB_00139961;\n              lVar7 = 8;\n              pbVar9 = local_30;\n              pbVar10 = (byte *)"STT_TLS";\n              do {\n                if (lVar7 == 0) break;\n                lVar7 = lVar7 + -1;\n                bVar14 = *pbVar9 < *pbVar10;\n                bVar13 = *pbVar9 == *pbVar10;\n                pbVar9 = pbVar9 + (ulong)bVar17 * -2 + 1;\n                pbVar10 = pbVar10 + (ulong)bVar17 * -2 + 1;\n              } while (bVar13);\n              bVar16 = false;\n              bVar13 = (!bVar14 && !bVar13) == bVar14;\n              if (bVar13) goto LAB_00139961;\n              lVar7 = 7;\n              pbVar9 = local_30;\n              pbVar10 = (byte *)"notype";\n              do {\n                if (lVar7 == 0) break;\n                lVar7 = lVar7 + -1;\n                bVar16 = *pbVar9 < *pbVar10;\n                bVar13 = *pbVar9 == *pbVar10;\n                pbVar9 = pbVar9 + (ulong)bVar17 * -2 + 1;\n                pbVar10 = pbVar10 + (ulong)bVar17 * -2 + 1;\n              } while (bVar13);\n              uVar11 = 0;\n              if ((((!bVar16 && !bVar13) == bVar16) ||\n                  (iVar3 = strcmp((char *)local_30,"0"), iVar3 == 0)) ||\n                 (iVar3 = strcmp((char *)__s1,"STT_NOTYPE"), iVar3 == 0)) goto LAB_00139961;\n              iVar3 = strcmp((char *)__s1,"common");\n              if (((iVar3 != 0) && (iVar3 = strcmp((char *)__s1,"5"), iVar3 != 0)) &&\n                 (iVar3 = strcmp((char *)__s1,"STT_COMMON"), iVar3 != 0)) {\n                iVar3 = strcmp((char *)__s1,"gnu_indirect_function");\n                if (((iVar3 == 0) || (iVar3 = strcmp((char *)__s1,"10"), iVar3 == 0)) ||\n                   (iVar3 = strcmp((char *)__s1,"STT_GNU_IFUNC"), iVar3 == 0)) {\n                  uVar1 = *(uint *)(*(long *)(*(long *)(DAT_0019d970 + 8) + 0x368) + 0xc);\n                  if ((9 < uVar1) ||\n                     (uVar11 = 0x400008, (0x209UL >> ((ulong)uVar1 & 0x3f) & 1) == 0)) {\n                    uVar11 = 0x400008;\n                    uVar4 = dcgettext(0,\n                                      "symbol type \"%s\" is supported only by GNU and FreeBSD targets"\n                                      ,5);\n                    FUN_0011f6d0(uVar4,__s1);\n                  }\n                }\n                else {\n                  iVar3 = strcmp((char *)__s1,"gnu_unique_object");\n                  if (iVar3 == 0) {\n                    lVar7 = *(long *)(*(long *)(DAT_0019d970 + 8) + 0x368);\n                    iVar3 = *(int *)(lVar7 + 0xc);\n                    if ((iVar3 != 3) && (iVar3 != 0)) {\n                      uVar4 = dcgettext(0,"symbol type \"%s\" is supported only by GNU targets",5);\n                      FUN_0011f6d0(uVar4,__s1);\n                    }\n                    *(undefined4 *)(lVar7 + 0xc) = 3;\n                    uVar11 = 0x810000;\n                  }\n                  else {\n                    uVar4 = dcgettext(0,"unrecognized symbol type \"%s\"",5);\n                    FUN_0011f6d0(uVar4,__s1);\n                  }\n                }\n                goto LAB_00139961;\n              }\n              iVar3 = FUN_0012ac00(uVar4);\n              if (iVar3 == 0) {\n                iVar3 = FUN_0012aed0(uVar4);\n                if (iVar3 != 0) {\n                  uVar11 = 0x10000;\n                  uVar4 = FUN_0012c530(uVar4,1);\n                  FUN_0012af90(uVar4,_bfd_std_section);\n                  FUN_0012aa50(uVar4,0);\n                  FUN_0012c440(uVar4);\n                  FUN_0012d650(uVar4,&DAT_0019d720);\n                  FUN_0012d370(uVar4);\n                  goto LAB_00139961;\n                }\n                iVar3 = FUN_0012ac30(uVar4);\n                if ((iVar3 != 0) || (iVar3 = FUN_0012da60(uVar4), iVar3 != 0)) {\n                  uVar11 = 0x10000;\n                  uVar4 = FUN_0012af30(uVar4);\n                  uVar6 = dcgettext(0,"symbol \'%s\' is already defined",5);\n                  FUN_0011f6d0(uVar6,uVar4);\n                  goto LAB_00139961;\n                }\n                FUN_0012af90(uVar4,_bfd_std_section);\n                FUN_0012aa50(uVar4,0);\n                FUN_0012c440(uVar4);\n              }\n            }\n          }\n        }\n        uVar11 = 0x10000;\n      }" (if "if") (parenthesized_expression "(!bVar13)" (( "(") (unary_expression "!bVar13" (! "!") (identifier "bVar13")) () ")")) (compound_statement "{\n        lVar7 = 7;\n        pbVar9 = local_30;\n        pbVar10 = (byte *)0x1464c9;\n        do {\n          if (lVar7 == 0) break;\n          lVar7 = lVar7 + -1;\n          bVar16 = *pbVar9 < *pbVar10;\n          bVar13 = *pbVar9 == *pbVar10;\n          pbVar9 = pbVar9 + (ulong)bVar17 * -2 + 1;\n          pbVar10 = pbVar10 + (ulong)bVar17 * -2 + 1;\n        } while (bVar13);\n        bVar14 = false;\n        bVar13 = (!bVar16 && !bVar13) == bVar16;\n        if (!bVar13) {\n          lVar7 = 2;\n          pbVar9 = local_30;\n          pbVar10 = (byte *)0x13f34c;\n          do {\n            if (lVar7 == 0) break;\n            lVar7 = lVar7 + -1;\n            bVar14 = *pbVar9 < *pbVar10;\n            bVar13 = *pbVar9 == *pbVar10;\n            pbVar9 = pbVar9 + (ulong)bVar17 * -2 + 1;\n            pbVar10 = pbVar10 + (ulong)bVar17 * -2 + 1;\n          } while (bVar13);\n          bVar16 = false;\n          bVar13 = (!bVar14 && !bVar13) == bVar14;\n          if (!bVar13) {\n            lVar7 = 0xb;\n            pbVar9 = local_30;\n            pbVar10 = (byte *)"STT_OBJECT";\n            do {\n              if (lVar7 == 0) break;\n              lVar7 = lVar7 + -1;\n              bVar16 = *pbVar9 < *pbVar10;\n              bVar13 = *pbVar9 == *pbVar10;\n              pbVar9 = pbVar9 + (ulong)bVar17 * -2 + 1;\n              pbVar10 = pbVar10 + (ulong)bVar17 * -2 + 1;\n            } while (bVar13);\n            bVar14 = false;\n            bVar13 = (!bVar16 && !bVar13) == bVar16;\n            if (!bVar13) {\n              lVar7 = 0xb;\n              uVar11 = 0x50000;\n              pbVar9 = local_30;\n              pbVar10 = (byte *)"tls_object";\n              do {\n                if (lVar7 == 0) break;\n                lVar7 = lVar7 + -1;\n                bVar14 = *pbVar9 < *pbVar10;\n                bVar13 = *pbVar9 == *pbVar10;\n                pbVar9 = pbVar9 + (ulong)bVar17 * -2 + 1;\n                pbVar10 = pbVar10 + (ulong)bVar17 * -2 + 1;\n              } while (bVar13);\n              bVar16 = false;\n              bVar13 = (!bVar14 && !bVar13) == bVar14;\n              if (bVar13) goto LAB_00139961;\n              lVar7 = 2;\n              pbVar9 = local_30;\n              pbVar10 = &DAT_001448ab;\n              do {\n                if (lVar7 == 0) break;\n                lVar7 = lVar7 + -1;\n                bVar16 = *pbVar9 < *pbVar10;\n                bVar13 = *pbVar9 == *pbVar10;\n                pbVar9 = pbVar9 + (ulong)bVar17 * -2 + 1;\n                pbVar10 = pbVar10 + (ulong)bVar17 * -2 + 1;\n              } while (bVar13);\n              bVar14 = false;\n              bVar13 = (!bVar16 && !bVar13) == bVar16;\n              if (bVar13) goto LAB_00139961;\n              lVar7 = 8;\n              pbVar9 = local_30;\n              pbVar10 = (byte *)"STT_TLS";\n              do {\n                if (lVar7 == 0) break;\n                lVar7 = lVar7 + -1;\n                bVar14 = *pbVar9 < *pbVar10;\n                bVar13 = *pbVar9 == *pbVar10;\n                pbVar9 = pbVar9 + (ulong)bVar17 * -2 + 1;\n                pbVar10 = pbVar10 + (ulong)bVar17 * -2 + 1;\n              } while (bVar13);\n              bVar16 = false;\n              bVar13 = (!bVar14 && !bVar13) == bVar14;\n              if (bVar13) goto LAB_00139961;\n              lVar7 = 7;\n              pbVar9 = local_30;\n              pbVar10 = (byte *)"notype";\n              do {\n                if (lVar7 == 0) break;\n                lVar7 = lVar7 + -1;\n                bVar16 = *pbVar9 < *pbVar10;\n                bVar13 = *pbVar9 == *pbVar10;\n                pbVar9 = pbVar9 + (ulong)bVar17 * -2 + 1;\n                pbVar10 = pbVar10 + (ulong)bVar17 * -2 + 1;\n              } while (bVar13);\n              uVar11 = 0;\n              if ((((!bVar16 && !bVar13) == bVar16) ||\n                  (iVar3 = strcmp((char *)local_30,"0"), iVar3 == 0)) ||\n                 (iVar3 = strcmp((char *)__s1,"STT_NOTYPE"), iVar3 == 0)) goto LAB_00139961;\n              iVar3 = strcmp((char *)__s1,"common");\n              if (((iVar3 != 0) && (iVar3 = strcmp((char *)__s1,"5"), iVar3 != 0)) &&\n                 (iVar3 = strcmp((char *)__s1,"STT_COMMON"), iVar3 != 0)) {\n                iVar3 = strcmp((char *)__s1,"gnu_indirect_function");\n                if (((iVar3 == 0) || (iVar3 = strcmp((char *)__s1,"10"), iVar3 == 0)) ||\n                   (iVar3 = strcmp((char *)__s1,"STT_GNU_IFUNC"), iVar3 == 0)) {\n                  uVar1 = *(uint *)(*(long *)(*(long *)(DAT_0019d970 + 8) + 0x368) + 0xc);\n                  if ((9 < uVar1) ||\n                     (uVar11 = 0x400008, (0x209UL >> ((ulong)uVar1 & 0x3f) & 1) == 0)) {\n                    uVar11 = 0x400008;\n                    uVar4 = dcgettext(0,\n                                      "symbol type \"%s\" is supported only by GNU and FreeBSD targets"\n                                      ,5);\n                    FUN_0011f6d0(uVar4,__s1);\n                  }\n                }\n                else {\n                  iVar3 = strcmp((char *)__s1,"gnu_unique_object");\n                  if (iVar3 == 0) {\n                    lVar7 = *(long *)(*(long *)(DAT_0019d970 + 8) + 0x368);\n                    iVar3 = *(int *)(lVar7 + 0xc);\n                    if ((iVar3 != 3) && (iVar3 != 0)) {\n                      uVar4 = dcgettext(0,"symbol type \"%s\" is supported only by GNU targets",5);\n                      FUN_0011f6d0(uVar4,__s1);\n                    }\n                    *(undefined4 *)(lVar7 + 0xc) = 3;\n                    uVar11 = 0x810000;\n                  }\n                  else {\n                    uVar4 = dcgettext(0,"unrecognized symbol type \"%s\"",5);\n                    FUN_0011f6d0(uVar4,__s1);\n                  }\n                }\n                goto LAB_00139961;\n              }\n              iVar3 = FUN_0012ac00(uVar4);\n              if (iVar3 == 0) {\n                iVar3 = FUN_0012aed0(uVar4);\n                if (iVar3 != 0) {\n                  uVar11 = 0x10000;\n                  uVar4 = FUN_0012c530(uVar4,1);\n                  FUN_0012af90(uVar4,_bfd_std_section);\n                  FUN_0012aa50(uVar4,0);\n                  FUN_0012c440(uVar4);\n                  FUN_0012d650(uVar4,&DAT_0019d720);\n                  FUN_0012d370(uVar4);\n                  goto LAB_00139961;\n                }\n                iVar3 = FUN_0012ac30(uVar4);\n                if ((iVar3 != 0) || (iVar3 = FUN_0012da60(uVar4), iVar3 != 0)) {\n                  uVar11 = 0x10000;\n                  uVar4 = FUN_0012af30(uVar4);\n                  uVar6 = dcgettext(0,"symbol \'%s\' is already defined",5);\n                  FUN_0011f6d0(uVar6,uVar4);\n                  goto LAB_00139961;\n                }\n                FUN_0012af90(uVar4,_bfd_std_section);\n                FUN_0012aa50(uVar4,0);\n                FUN_0012c440(uVar4);\n              }\n            }\n          }\n        }\n        uVar11 = 0x10000;\n      }" ({ "{") (expression_statement "lVar7 = 7;" (assignment_expression "lVar7 = 7" (identifier "lVar7") (= "=") (number_literal "7")) (; ";")) (expression_statement "pbVar9 = local_30;" (assignment_expression "pbVar9 = local_30" (identifier "pbVar9") (= "=") (identifier "local_30")) (; ";")) (expression_statement "pbVar10 = (byte *)0x1464c9;" (assignment_expression "pbVar10 = (byte *)0x1464c9" (identifier "pbVar10") (= "=") (cast_expression "(byte *)0x1464c9" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x1464c9"))) (; ";")) (do_statement "do {\n          if (lVar7 == 0) break;\n          lVar7 = lVar7 + -1;\n          bVar16 = *pbVar9 < *pbVar10;\n          bVar13 = *pbVar9 == *pbVar10;\n          pbVar9 = pbVar9 + (ulong)bVar17 * -2 + 1;\n          pbVar10 = pbVar10 + (ulong)bVar17 * -2 + 1;\n        } while (bVar13);" (do "do") (compound_statement "{\n          if (lVar7 == 0) break;\n          lVar7 = lVar7 + -1;\n          bVar16 = *pbVar9 < *pbVar10;\n          bVar13 = *pbVar9 == *pbVar10;\n          pbVar9 = pbVar9 + (ulong)bVar17 * -2 + 1;\n          pbVar10 = pbVar10 + (ulong)bVar17 * -2 + 1;\n        }" ({ "{") (if_statement "if (lVar7 == 0) break;" (if "if") (parenthesized_expression "(lVar7 == 0)" (( "(") (binary_expression "lVar7 == 0" (identifier "lVar7") (== "==") (number_literal "0")) () ")")) (break_statement "break;" (break "break") (; ";"))) (expression_statement "lVar7 = lVar7 + -1;" (assignment_expression "lVar7 = lVar7 + -1" (identifier "lVar7") (= "=") (binary_expression "lVar7 + -1" (identifier "lVar7") (+ "+") (number_literal "-1"))) (; ";")) (expression_statement "bVar16 = *pbVar9 < *pbVar10;" (assignment_expression "bVar16 = *pbVar9 < *pbVar10" (identifier "bVar16") (= "=") (binary_expression "*pbVar9 < *pbVar10" (pointer_expression "*pbVar9" (* "*") (identifier "pbVar9")) (< "<") (pointer_expression "*pbVar10" (* "*") (identifier "pbVar10")))) (; ";")) (expression_statement "bVar13 = *pbVar9 == *pbVar10;" (assignment_expression "bVar13 = *pbVar9 == *pbVar10" (identifier "bVar13") (= "=") (binary_expression "*pbVar9 == *pbVar10" (pointer_expression "*pbVar9" (* "*") (identifier "pbVar9")) (== "==") (pointer_expression "*pbVar10" (* "*") (identifier "pbVar10")))) (; ";")) (expression_statement "pbVar9 = pbVar9 + (ulong)bVar17 * -2 + 1;" (assignment_expression "pbVar9 = pbVar9 + (ulong)bVar17 * -2 + 1" (identifier "pbVar9") (= "=") (binary_expression "pbVar9 + (ulong)bVar17 * -2 + 1" (binary_expression "pbVar9 + (ulong)bVar17 * -2" (identifier "pbVar9") (+ "+") (binary_expression "(ulong)bVar17 * -2" (cast_expression "(ulong)bVar17" (( "(") (type_descriptor "ulong" (type_identifier "ulong")) () ")") (identifier "bVar17")) (* "*") (number_literal "-2"))) (+ "+") (number_literal "1"))) (; ";")) (expression_statement "pbVar10 = pbVar10 + (ulong)bVar17 * -2 + 1;" (assignment_expression "pbVar10 = pbVar10 + (ulong)bVar17 * -2 + 1" (identifier "pbVar10") (= "=") (binary_expression "pbVar10 + (ulong)bVar17 * -2 + 1" (binary_expression "pbVar10 + (ulong)bVar17 * -2" (identifier "pbVar10") (+ "+") (binary_expression "(ulong)bVar17 * -2" (cast_expression "(ulong)bVar17" (( "(") (type_descriptor "ulong" (type_identifier "ulong")) () ")") (identifier "bVar17")) (* "*") (number_literal "-2"))) (+ "+") (number_literal "1"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(bVar13)" (( "(") (identifier "bVar13") () ")")) (; ";")) (expression_statement "bVar14 = false;" (assignment_expression "bVar14 = false" (identifier "bVar14") (= "=") (false "false")) (; ";")) (expression_statement "bVar13 = (!bVar16 && !bVar13) == bVar16;" (assignment_expression "bVar13 = (!bVar16 && !bVar13) == bVar16" (identifier "bVar13") (= "=") (binary_expression "(!bVar16 && !bVar13) == bVar16" (parenthesized_expression "(!bVar16 && !bVar13)" (( "(") (binary_expression "!bVar16 && !bVar13" (unary_expression "!bVar16" (! "!") (identifier "bVar16")) (&& "&&") (unary_expression "!bVar13" (! "!") (identifier "bVar13"))) () ")")) (== "==") (identifier "bVar16"))) (; ";")) (if_statement "if (!bVar13) {\n          lVar7 = 2;\n          pbVar9 = local_30;\n          pbVar10 = (byte *)0x13f34c;\n          do {\n            if (lVar7 == 0) break;\n            lVar7 = lVar7 + -1;\n            bVar14 = *pbVar9 < *pbVar10;\n            bVar13 = *pbVar9 == *pbVar10;\n            pbVar9 = pbVar9 + (ulong)bVar17 * -2 + 1;\n            pbVar10 = pbVar10 + (ulong)bVar17 * -2 + 1;\n          } while (bVar13);\n          bVar16 = false;\n          bVar13 = (!bVar14 && !bVar13) == bVar14;\n          if (!bVar13) {\n            lVar7 = 0xb;\n            pbVar9 = local_30;\n            pbVar10 = (byte *)"STT_OBJECT";\n            do {\n              if (lVar7 == 0) break;\n              lVar7 = lVar7 + -1;\n              bVar16 = *pbVar9 < *pbVar10;\n              bVar13 = *pbVar9 == *pbVar10;\n              pbVar9 = pbVar9 + (ulong)bVar17 * -2 + 1;\n              pbVar10 = pbVar10 + (ulong)bVar17 * -2 + 1;\n            } while (bVar13);\n            bVar14 = false;\n            bVar13 = (!bVar16 && !bVar13) == bVar16;\n            if (!bVar13) {\n              lVar7 = 0xb;\n              uVar11 = 0x50000;\n              pbVar9 = local_30;\n              pbVar10 = (byte *)"tls_object";\n              do {\n                if (lVar7 == 0) break;\n                lVar7 = lVar7 + -1;\n                bVar14 = *pbVar9 < *pbVar10;\n                bVar13 = *pbVar9 == *pbVar10;\n                pbVar9 = pbVar9 + (ulong)bVar17 * -2 + 1;\n                pbVar10 = pbVar10 + (ulong)bVar17 * -2 + 1;\n              } while (bVar13);\n              bVar16 = false;\n              bVar13 = (!bVar14 && !bVar13) == bVar14;\n              if (bVar13) goto LAB_00139961;\n              lVar7 = 2;\n              pbVar9 = local_30;\n              pbVar10 = &DAT_001448ab;\n              do {\n                if (lVar7 == 0) break;\n                lVar7 = lVar7 + -1;\n                bVar16 = *pbVar9 < *pbVar10;\n                bVar13 = *pbVar9 == *pbVar10;\n                pbVar9 = pbVar9 + (ulong)bVar17 * -2 + 1;\n                pbVar10 = pbVar10 + (ulong)bVar17 * -2 + 1;\n              } while (bVar13);\n              bVar14 = false;\n              bVar13 = (!bVar16 && !bVar13) == bVar16;\n              if (bVar13) goto LAB_00139961;\n              lVar7 = 8;\n              pbVar9 = local_30;\n              pbVar10 = (byte *)"STT_TLS";\n              do {\n                if (lVar7 == 0) break;\n                lVar7 = lVar7 + -1;\n                bVar14 = *pbVar9 < *pbVar10;\n                bVar13 = *pbVar9 == *pbVar10;\n                pbVar9 = pbVar9 + (ulong)bVar17 * -2 + 1;\n                pbVar10 = pbVar10 + (ulong)bVar17 * -2 + 1;\n              } while (bVar13);\n              bVar16 = false;\n              bVar13 = (!bVar14 && !bVar13) == bVar14;\n              if (bVar13) goto LAB_00139961;\n              lVar7 = 7;\n              pbVar9 = local_30;\n              pbVar10 = (byte *)"notype";\n              do {\n                if (lVar7 == 0) break;\n                lVar7 = lVar7 + -1;\n                bVar16 = *pbVar9 < *pbVar10;\n                bVar13 = *pbVar9 == *pbVar10;\n                pbVar9 = pbVar9 + (ulong)bVar17 * -2 + 1;\n                pbVar10 = pbVar10 + (ulong)bVar17 * -2 + 1;\n              } while (bVar13);\n              uVar11 = 0;\n              if ((((!bVar16 && !bVar13) == bVar16) ||\n                  (iVar3 = strcmp((char *)local_30,"0"), iVar3 == 0)) ||\n                 (iVar3 = strcmp((char *)__s1,"STT_NOTYPE"), iVar3 == 0)) goto LAB_00139961;\n              iVar3 = strcmp((char *)__s1,"common");\n              if (((iVar3 != 0) && (iVar3 = strcmp((char *)__s1,"5"), iVar3 != 0)) &&\n                 (iVar3 = strcmp((char *)__s1,"STT_COMMON"), iVar3 != 0)) {\n                iVar3 = strcmp((char *)__s1,"gnu_indirect_function");\n                if (((iVar3 == 0) || (iVar3 = strcmp((char *)__s1,"10"), iVar3 == 0)) ||\n                   (iVar3 = strcmp((char *)__s1,"STT_GNU_IFUNC"), iVar3 == 0)) {\n                  uVar1 = *(uint *)(*(long *)(*(long *)(DAT_0019d970 + 8) + 0x368) + 0xc);\n                  if ((9 < uVar1) ||\n                     (uVar11 = 0x400008, (0x209UL >> ((ulong)uVar1 & 0x3f) & 1) == 0)) {\n                    uVar11 = 0x400008;\n                    uVar4 = dcgettext(0,\n                                      "symbol type \"%s\" is supported only by GNU and FreeBSD targets"\n                                      ,5);\n                    FUN_0011f6d0(uVar4,__s1);\n                  }\n                }\n                else {\n                  iVar3 = strcmp((char *)__s1,"gnu_unique_object");\n                  if (iVar3 == 0) {\n                    lVar7 = *(long *)(*(long *)(DAT_0019d970 + 8) + 0x368);\n                    iVar3 = *(int *)(lVar7 + 0xc);\n                    if ((iVar3 != 3) && (iVar3 != 0)) {\n                      uVar4 = dcgettext(0,"symbol type \"%s\" is supported only by GNU targets",5);\n                      FUN_0011f6d0(uVar4,__s1);\n                    }\n                    *(undefined4 *)(lVar7 + 0xc) = 3;\n                    uVar11 = 0x810000;\n                  }\n                  else {\n                    uVar4 = dcgettext(0,"unrecognized symbol type \"%s\"",5);\n                    FUN_0011f6d0(uVar4,__s1);\n                  }\n                }\n                goto LAB_00139961;\n              }\n              iVar3 = FUN_0012ac00(uVar4);\n              if (iVar3 == 0) {\n                iVar3 = FUN_0012aed0(uVar4);\n                if (iVar3 != 0) {\n                  uVar11 = 0x10000;\n                  uVar4 = FUN_0012c530(uVar4,1);\n                  FUN_0012af90(uVar4,_bfd_std_section);\n                  FUN_0012aa50(uVar4,0);\n                  FUN_0012c440(uVar4);\n                  FUN_0012d650(uVar4,&DAT_0019d720);\n                  FUN_0012d370(uVar4);\n                  goto LAB_00139961;\n                }\n                iVar3 = FUN_0012ac30(uVar4);\n                if ((iVar3 != 0) || (iVar3 = FUN_0012da60(uVar4), iVar3 != 0)) {\n                  uVar11 = 0x10000;\n                  uVar4 = FUN_0012af30(uVar4);\n                  uVar6 = dcgettext(0,"symbol \'%s\' is already defined",5);\n                  FUN_0011f6d0(uVar6,uVar4);\n                  goto LAB_00139961;\n                }\n                FUN_0012af90(uVar4,_bfd_std_section);\n                FUN_0012aa50(uVar4,0);\n                FUN_0012c440(uVar4);\n              }\n            }\n          }\n        }" (if "if") (parenthesized_expression "(!bVar13)" (( "(") (unary_expression "!bVar13" (! "!") (identifier "bVar13")) () ")")) (compound_statement "{\n          lVar7 = 2;\n          pbVar9 = local_30;\n          pbVar10 = (byte *)0x13f34c;\n          do {\n            if (lVar7 == 0) break;\n            lVar7 = lVar7 + -1;\n            bVar14 = *pbVar9 < *pbVar10;\n            bVar13 = *pbVar9 == *pbVar10;\n            pbVar9 = pbVar9 + (ulong)bVar17 * -2 + 1;\n            pbVar10 = pbVar10 + (ulong)bVar17 * -2 + 1;\n          } while (bVar13);\n          bVar16 = false;\n          bVar13 = (!bVar14 && !bVar13) == bVar14;\n          if (!bVar13) {\n            lVar7 = 0xb;\n            pbVar9 = local_30;\n            pbVar10 = (byte *)"STT_OBJECT";\n            do {\n              if (lVar7 == 0) break;\n              lVar7 = lVar7 + -1;\n              bVar16 = *pbVar9 < *pbVar10;\n              bVar13 = *pbVar9 == *pbVar10;\n              pbVar9 = pbVar9 + (ulong)bVar17 * -2 + 1;\n              pbVar10 = pbVar10 + (ulong)bVar17 * -2 + 1;\n            } while (bVar13);\n            bVar14 = false;\n            bVar13 = (!bVar16 && !bVar13) == bVar16;\n            if (!bVar13) {\n              lVar7 = 0xb;\n              uVar11 = 0x50000;\n              pbVar9 = local_30;\n              pbVar10 = (byte *)"tls_object";\n              do {\n                if (lVar7 == 0) break;\n                lVar7 = lVar7 + -1;\n                bVar14 = *pbVar9 < *pbVar10;\n                bVar13 = *pbVar9 == *pbVar10;\n                pbVar9 = pbVar9 + (ulong)bVar17 * -2 + 1;\n                pbVar10 = pbVar10 + (ulong)bVar17 * -2 + 1;\n              } while (bVar13);\n              bVar16 = false;\n              bVar13 = (!bVar14 && !bVar13) == bVar14;\n              if (bVar13) goto LAB_00139961;\n              lVar7 = 2;\n              pbVar9 = local_30;\n              pbVar10 = &DAT_001448ab;\n              do {\n                if (lVar7 == 0) break;\n                lVar7 = lVar7 + -1;\n                bVar16 = *pbVar9 < *pbVar10;\n                bVar13 = *pbVar9 == *pbVar10;\n                pbVar9 = pbVar9 + (ulong)bVar17 * -2 + 1;\n                pbVar10 = pbVar10 + (ulong)bVar17 * -2 + 1;\n              } while (bVar13);\n              bVar14 = false;\n              bVar13 = (!bVar16 && !bVar13) == bVar16;\n              if (bVar13) goto LAB_00139961;\n              lVar7 = 8;\n              pbVar9 = local_30;\n              pbVar10 = (byte *)"STT_TLS";\n              do {\n                if (lVar7 == 0) break;\n                lVar7 = lVar7 + -1;\n                bVar14 = *pbVar9 < *pbVar10;\n                bVar13 = *pbVar9 == *pbVar10;\n                pbVar9 = pbVar9 + (ulong)bVar17 * -2 + 1;\n                pbVar10 = pbVar10 + (ulong)bVar17 * -2 + 1;\n              } while (bVar13);\n              bVar16 = false;\n              bVar13 = (!bVar14 && !bVar13) == bVar14;\n              if (bVar13) goto LAB_00139961;\n              lVar7 = 7;\n              pbVar9 = local_30;\n              pbVar10 = (byte *)"notype";\n              do {\n                if (lVar7 == 0) break;\n                lVar7 = lVar7 + -1;\n                bVar16 = *pbVar9 < *pbVar10;\n                bVar13 = *pbVar9 == *pbVar10;\n                pbVar9 = pbVar9 + (ulong)bVar17 * -2 + 1;\n                pbVar10 = pbVar10 + (ulong)bVar17 * -2 + 1;\n              } while (bVar13);\n              uVar11 = 0;\n              if ((((!bVar16 && !bVar13) == bVar16) ||\n                  (iVar3 = strcmp((char *)local_30,"0"), iVar3 == 0)) ||\n                 (iVar3 = strcmp((char *)__s1,"STT_NOTYPE"), iVar3 == 0)) goto LAB_00139961;\n              iVar3 = strcmp((char *)__s1,"common");\n              if (((iVar3 != 0) && (iVar3 = strcmp((char *)__s1,"5"), iVar3 != 0)) &&\n                 (iVar3 = strcmp((char *)__s1,"STT_COMMON"), iVar3 != 0)) {\n                iVar3 = strcmp((char *)__s1,"gnu_indirect_function");\n                if (((iVar3 == 0) || (iVar3 = strcmp((char *)__s1,"10"), iVar3 == 0)) ||\n                   (iVar3 = strcmp((char *)__s1,"STT_GNU_IFUNC"), iVar3 == 0)) {\n                  uVar1 = *(uint *)(*(long *)(*(long *)(DAT_0019d970 + 8) + 0x368) + 0xc);\n                  if ((9 < uVar1) ||\n                     (uVar11 = 0x400008, (0x209UL >> ((ulong)uVar1 & 0x3f) & 1) == 0)) {\n                    uVar11 = 0x400008;\n                    uVar4 = dcgettext(0,\n                                      "symbol type \"%s\" is supported only by GNU and FreeBSD targets"\n                                      ,5);\n                    FUN_0011f6d0(uVar4,__s1);\n                  }\n                }\n                else {\n                  iVar3 = strcmp((char *)__s1,"gnu_unique_object");\n                  if (iVar3 == 0) {\n                    lVar7 = *(long *)(*(long *)(DAT_0019d970 + 8) + 0x368);\n                    iVar3 = *(int *)(lVar7 + 0xc);\n                    if ((iVar3 != 3) && (iVar3 != 0)) {\n                      uVar4 = dcgettext(0,"symbol type \"%s\" is supported only by GNU targets",5);\n                      FUN_0011f6d0(uVar4,__s1);\n                    }\n                    *(undefined4 *)(lVar7 + 0xc) = 3;\n                    uVar11 = 0x810000;\n                  }\n                  else {\n                    uVar4 = dcgettext(0,"unrecognized symbol type \"%s\"",5);\n                    FUN_0011f6d0(uVar4,__s1);\n                  }\n                }\n                goto LAB_00139961;\n              }\n              iVar3 = FUN_0012ac00(uVar4);\n              if (iVar3 == 0) {\n                iVar3 = FUN_0012aed0(uVar4);\n                if (iVar3 != 0) {\n                  uVar11 = 0x10000;\n                  uVar4 = FUN_0012c530(uVar4,1);\n                  FUN_0012af90(uVar4,_bfd_std_section);\n                  FUN_0012aa50(uVar4,0);\n                  FUN_0012c440(uVar4);\n                  FUN_0012d650(uVar4,&DAT_0019d720);\n                  FUN_0012d370(uVar4);\n                  goto LAB_00139961;\n                }\n                iVar3 = FUN_0012ac30(uVar4);\n                if ((iVar3 != 0) || (iVar3 = FUN_0012da60(uVar4), iVar3 != 0)) {\n                  uVar11 = 0x10000;\n                  uVar4 = FUN_0012af30(uVar4);\n                  uVar6 = dcgettext(0,"symbol \'%s\' is already defined",5);\n                  FUN_0011f6d0(uVar6,uVar4);\n                  goto LAB_00139961;\n                }\n                FUN_0012af90(uVar4,_bfd_std_section);\n                FUN_0012aa50(uVar4,0);\n                FUN_0012c440(uVar4);\n              }\n            }\n          }\n        }" ({ "{") (expression_statement "lVar7 = 2;" (assignment_expression "lVar7 = 2" (identifier "lVar7") (= "=") (number_literal "2")) (; ";")) (expression_statement "pbVar9 = local_30;" (assignment_expression "pbVar9 = local_30" (identifier "pbVar9") (= "=") (identifier "local_30")) (; ";")) (expression_statement "pbVar10 = (byte *)0x13f34c;" (assignment_expression "pbVar10 = (byte *)0x13f34c" (identifier "pbVar10") (= "=") (cast_expression "(byte *)0x13f34c" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x13f34c"))) (; ";")) (do_statement "do {\n            if (lVar7 == 0) break;\n            lVar7 = lVar7 + -1;\n            bVar14 = *pbVar9 < *pbVar10;\n            bVar13 = *pbVar9 == *pbVar10;\n            pbVar9 = pbVar9 + (ulong)bVar17 * -2 + 1;\n            pbVar10 = pbVar10 + (ulong)bVar17 * -2 + 1;\n          } while (bVar13);" (do "do") (compound_statement "{\n            if (lVar7 == 0) break;\n            lVar7 = lVar7 + -1;\n            bVar14 = *pbVar9 < *pbVar10;\n            bVar13 = *pbVar9 == *pbVar10;\n            pbVar9 = pbVar9 + (ulong)bVar17 * -2 + 1;\n            pbVar10 = pbVar10 + (ulong)bVar17 * -2 + 1;\n          }" ({ "{") (if_statement "if (lVar7 == 0) break;" (if "if") (parenthesized_expression "(lVar7 == 0)" (( "(") (binary_expression "lVar7 == 0" (identifier "lVar7") (== "==") (number_literal "0")) () ")")) (break_statement "break;" (break "break") (; ";"))) (expression_statement "lVar7 = lVar7 + -1;" (assignment_expression "lVar7 = lVar7 + -1" (identifier "lVar7") (= "=") (binary_expression "lVar7 + -1" (identifier "lVar7") (+ "+") (number_literal "-1"))) (; ";")) (expression_statement "bVar14 = *pbVar9 < *pbVar10;" (assignment_expression "bVar14 = *pbVar9 < *pbVar10" (identifier "bVar14") (= "=") (binary_expression "*pbVar9 < *pbVar10" (pointer_expression "*pbVar9" (* "*") (identifier "pbVar9")) (< "<") (pointer_expression "*pbVar10" (* "*") (identifier "pbVar10")))) (; ";")) (expression_statement "bVar13 = *pbVar9 == *pbVar10;" (assignment_expression "bVar13 = *pbVar9 == *pbVar10" (identifier "bVar13") (= "=") (binary_expression "*pbVar9 == *pbVar10" (pointer_expression "*pbVar9" (* "*") (identifier "pbVar9")) (== "==") (pointer_expression "*pbVar10" (* "*") (identifier "pbVar10")))) (; ";")) (expression_statement "pbVar9 = pbVar9 + (ulong)bVar17 * -2 + 1;" (assignment_expression "pbVar9 = pbVar9 + (ulong)bVar17 * -2 + 1" (identifier "pbVar9") (= "=") (binary_expression "pbVar9 + (ulong)bVar17 * -2 + 1" (binary_expression "pbVar9 + (ulong)bVar17 * -2" (identifier "pbVar9") (+ "+") (binary_expression "(ulong)bVar17 * -2" (cast_expression "(ulong)bVar17" (( "(") (type_descriptor "ulong" (type_identifier "ulong")) () ")") (identifier "bVar17")) (* "*") (number_literal "-2"))) (+ "+") (number_literal "1"))) (; ";")) (expression_statement "pbVar10 = pbVar10 + (ulong)bVar17 * -2 + 1;" (assignment_expression "pbVar10 = pbVar10 + (ulong)bVar17 * -2 + 1" (identifier "pbVar10") (= "=") (binary_expression "pbVar10 + (ulong)bVar17 * -2 + 1" (binary_expression "pbVar10 + (ulong)bVar17 * -2" (identifier "pbVar10") (+ "+") (binary_expression "(ulong)bVar17 * -2" (cast_expression "(ulong)bVar17" (( "(") (type_descriptor "ulong" (type_identifier "ulong")) () ")") (identifier "bVar17")) (* "*") (number_literal "-2"))) (+ "+") (number_literal "1"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(bVar13)" (( "(") (identifier "bVar13") () ")")) (; ";")) (expression_statement "bVar16 = false;" (assignment_expression "bVar16 = false" (identifier "bVar16") (= "=") (false "false")) (; ";")) (expression_statement "bVar13 = (!bVar14 && !bVar13) == bVar14;" (assignment_expression "bVar13 = (!bVar14 && !bVar13) == bVar14" (identifier "bVar13") (= "=") (binary_expression "(!bVar14 && !bVar13) == bVar14" (parenthesized_expression "(!bVar14 && !bVar13)" (( "(") (binary_expression "!bVar14 && !bVar13" (unary_expression "!bVar14" (! "!") (identifier "bVar14")) (&& "&&") (unary_expression "!bVar13" (! "!") (identifier "bVar13"))) () ")")) (== "==") (identifier "bVar14"))) (; ";")) (if_statement "if (!bVar13) {\n            lVar7 = 0xb;\n            pbVar9 = local_30;\n            pbVar10 = (byte *)"STT_OBJECT";\n            do {\n              if (lVar7 == 0) break;\n              lVar7 = lVar7 + -1;\n              bVar16 = *pbVar9 < *pbVar10;\n              bVar13 = *pbVar9 == *pbVar10;\n              pbVar9 = pbVar9 + (ulong)bVar17 * -2 + 1;\n              pbVar10 = pbVar10 + (ulong)bVar17 * -2 + 1;\n            } while (bVar13);\n            bVar14 = false;\n            bVar13 = (!bVar16 && !bVar13) == bVar16;\n            if (!bVar13) {\n              lVar7 = 0xb;\n              uVar11 = 0x50000;\n              pbVar9 = local_30;\n              pbVar10 = (byte *)"tls_object";\n              do {\n                if (lVar7 == 0) break;\n                lVar7 = lVar7 + -1;\n                bVar14 = *pbVar9 < *pbVar10;\n                bVar13 = *pbVar9 == *pbVar10;\n                pbVar9 = pbVar9 + (ulong)bVar17 * -2 + 1;\n                pbVar10 = pbVar10 + (ulong)bVar17 * -2 + 1;\n              } while (bVar13);\n              bVar16 = false;\n              bVar13 = (!bVar14 && !bVar13) == bVar14;\n              if (bVar13) goto LAB_00139961;\n              lVar7 = 2;\n              pbVar9 = local_30;\n              pbVar10 = &DAT_001448ab;\n              do {\n                if (lVar7 == 0) break;\n                lVar7 = lVar7 + -1;\n                bVar16 = *pbVar9 < *pbVar10;\n                bVar13 = *pbVar9 == *pbVar10;\n                pbVar9 = pbVar9 + (ulong)bVar17 * -2 + 1;\n                pbVar10 = pbVar10 + (ulong)bVar17 * -2 + 1;\n              } while (bVar13);\n              bVar14 = false;\n              bVar13 = (!bVar16 && !bVar13) == bVar16;\n              if (bVar13) goto LAB_00139961;\n              lVar7 = 8;\n              pbVar9 = local_30;\n              pbVar10 = (byte *)"STT_TLS";\n              do {\n                if (lVar7 == 0) break;\n                lVar7 = lVar7 + -1;\n                bVar14 = *pbVar9 < *pbVar10;\n                bVar13 = *pbVar9 == *pbVar10;\n                pbVar9 = pbVar9 + (ulong)bVar17 * -2 + 1;\n                pbVar10 = pbVar10 + (ulong)bVar17 * -2 + 1;\n              } while (bVar13);\n              bVar16 = false;\n              bVar13 = (!bVar14 && !bVar13) == bVar14;\n              if (bVar13) goto LAB_00139961;\n              lVar7 = 7;\n              pbVar9 = local_30;\n              pbVar10 = (byte *)"notype";\n              do {\n                if (lVar7 == 0) break;\n                lVar7 = lVar7 + -1;\n                bVar16 = *pbVar9 < *pbVar10;\n                bVar13 = *pbVar9 == *pbVar10;\n                pbVar9 = pbVar9 + (ulong)bVar17 * -2 + 1;\n                pbVar10 = pbVar10 + (ulong)bVar17 * -2 + 1;\n              } while (bVar13);\n              uVar11 = 0;\n              if ((((!bVar16 && !bVar13) == bVar16) ||\n                  (iVar3 = strcmp((char *)local_30,"0"), iVar3 == 0)) ||\n                 (iVar3 = strcmp((char *)__s1,"STT_NOTYPE"), iVar3 == 0)) goto LAB_00139961;\n              iVar3 = strcmp((char *)__s1,"common");\n              if (((iVar3 != 0) && (iVar3 = strcmp((char *)__s1,"5"), iVar3 != 0)) &&\n                 (iVar3 = strcmp((char *)__s1,"STT_COMMON"), iVar3 != 0)) {\n                iVar3 = strcmp((char *)__s1,"gnu_indirect_function");\n                if (((iVar3 == 0) || (iVar3 = strcmp((char *)__s1,"10"), iVar3 == 0)) ||\n                   (iVar3 = strcmp((char *)__s1,"STT_GNU_IFUNC"), iVar3 == 0)) {\n                  uVar1 = *(uint *)(*(long *)(*(long *)(DAT_0019d970 + 8) + 0x368) + 0xc);\n                  if ((9 < uVar1) ||\n                     (uVar11 = 0x400008, (0x209UL >> ((ulong)uVar1 & 0x3f) & 1) == 0)) {\n                    uVar11 = 0x400008;\n                    uVar4 = dcgettext(0,\n                                      "symbol type \"%s\" is supported only by GNU and FreeBSD targets"\n                                      ,5);\n                    FUN_0011f6d0(uVar4,__s1);\n                  }\n                }\n                else {\n                  iVar3 = strcmp((char *)__s1,"gnu_unique_object");\n                  if (iVar3 == 0) {\n                    lVar7 = *(long *)(*(long *)(DAT_0019d970 + 8) + 0x368);\n                    iVar3 = *(int *)(lVar7 + 0xc);\n                    if ((iVar3 != 3) && (iVar3 != 0)) {\n                      uVar4 = dcgettext(0,"symbol type \"%s\" is supported only by GNU targets",5);\n                      FUN_0011f6d0(uVar4,__s1);\n                    }\n                    *(undefined4 *)(lVar7 + 0xc) = 3;\n                    uVar11 = 0x810000;\n                  }\n                  else {\n                    uVar4 = dcgettext(0,"unrecognized symbol type \"%s\"",5);\n                    FUN_0011f6d0(uVar4,__s1);\n                  }\n                }\n                goto LAB_00139961;\n              }\n              iVar3 = FUN_0012ac00(uVar4);\n              if (iVar3 == 0) {\n                iVar3 = FUN_0012aed0(uVar4);\n                if (iVar3 != 0) {\n                  uVar11 = 0x10000;\n                  uVar4 = FUN_0012c530(uVar4,1);\n                  FUN_0012af90(uVar4,_bfd_std_section);\n                  FUN_0012aa50(uVar4,0);\n                  FUN_0012c440(uVar4);\n                  FUN_0012d650(uVar4,&DAT_0019d720);\n                  FUN_0012d370(uVar4);\n                  goto LAB_00139961;\n                }\n                iVar3 = FUN_0012ac30(uVar4);\n                if ((iVar3 != 0) || (iVar3 = FUN_0012da60(uVar4), iVar3 != 0)) {\n                  uVar11 = 0x10000;\n                  uVar4 = FUN_0012af30(uVar4);\n                  uVar6 = dcgettext(0,"symbol \'%s\' is already defined",5);\n                  FUN_0011f6d0(uVar6,uVar4);\n                  goto LAB_00139961;\n                }\n                FUN_0012af90(uVar4,_bfd_std_section);\n                FUN_0012aa50(uVar4,0);\n                FUN_0012c440(uVar4);\n              }\n            }\n          }" (if "if") (parenthesized_expression "(!bVar13)" (( "(") (unary_expression "!bVar13" (! "!") (identifier "bVar13")) () ")")) (compound_statement "{\n            lVar7 = 0xb;\n            pbVar9 = local_30;\n            pbVar10 = (byte *)"STT_OBJECT";\n            do {\n              if (lVar7 == 0) break;\n              lVar7 = lVar7 + -1;\n              bVar16 = *pbVar9 < *pbVar10;\n              bVar13 = *pbVar9 == *pbVar10;\n              pbVar9 = pbVar9 + (ulong)bVar17 * -2 + 1;\n              pbVar10 = pbVar10 + (ulong)bVar17 * -2 + 1;\n            } while (bVar13);\n            bVar14 = false;\n            bVar13 = (!bVar16 && !bVar13) == bVar16;\n            if (!bVar13) {\n              lVar7 = 0xb;\n              uVar11 = 0x50000;\n              pbVar9 = local_30;\n              pbVar10 = (byte *)"tls_object";\n              do {\n                if (lVar7 == 0) break;\n                lVar7 = lVar7 + -1;\n                bVar14 = *pbVar9 < *pbVar10;\n                bVar13 = *pbVar9 == *pbVar10;\n                pbVar9 = pbVar9 + (ulong)bVar17 * -2 + 1;\n                pbVar10 = pbVar10 + (ulong)bVar17 * -2 + 1;\n              } while (bVar13);\n              bVar16 = false;\n              bVar13 = (!bVar14 && !bVar13) == bVar14;\n              if (bVar13) goto LAB_00139961;\n              lVar7 = 2;\n              pbVar9 = local_30;\n              pbVar10 = &DAT_001448ab;\n              do {\n                if (lVar7 == 0) break;\n                lVar7 = lVar7 + -1;\n                bVar16 = *pbVar9 < *pbVar10;\n                bVar13 = *pbVar9 == *pbVar10;\n                pbVar9 = pbVar9 + (ulong)bVar17 * -2 + 1;\n                pbVar10 = pbVar10 + (ulong)bVar17 * -2 + 1;\n              } while (bVar13);\n              bVar14 = false;\n              bVar13 = (!bVar16 && !bVar13) == bVar16;\n              if (bVar13) goto LAB_00139961;\n              lVar7 = 8;\n              pbVar9 = local_30;\n              pbVar10 = (byte *)"STT_TLS";\n              do {\n                if (lVar7 == 0) break;\n                lVar7 = lVar7 + -1;\n                bVar14 = *pbVar9 < *pbVar10;\n                bVar13 = *pbVar9 == *pbVar10;\n                pbVar9 = pbVar9 + (ulong)bVar17 * -2 + 1;\n                pbVar10 = pbVar10 + (ulong)bVar17 * -2 + 1;\n              } while (bVar13);\n              bVar16 = false;\n              bVar13 = (!bVar14 && !bVar13) == bVar14;\n              if (bVar13) goto LAB_00139961;\n              lVar7 = 7;\n              pbVar9 = local_30;\n              pbVar10 = (byte *)"notype";\n              do {\n                if (lVar7 == 0) break;\n                lVar7 = lVar7 + -1;\n                bVar16 = *pbVar9 < *pbVar10;\n                bVar13 = *pbVar9 == *pbVar10;\n                pbVar9 = pbVar9 + (ulong)bVar17 * -2 + 1;\n                pbVar10 = pbVar10 + (ulong)bVar17 * -2 + 1;\n              } while (bVar13);\n              uVar11 = 0;\n              if ((((!bVar16 && !bVar13) == bVar16) ||\n                  (iVar3 = strcmp((char *)local_30,"0"), iVar3 == 0)) ||\n                 (iVar3 = strcmp((char *)__s1,"STT_NOTYPE"), iVar3 == 0)) goto LAB_00139961;\n              iVar3 = strcmp((char *)__s1,"common");\n              if (((iVar3 != 0) && (iVar3 = strcmp((char *)__s1,"5"), iVar3 != 0)) &&\n                 (iVar3 = strcmp((char *)__s1,"STT_COMMON"), iVar3 != 0)) {\n                iVar3 = strcmp((char *)__s1,"gnu_indirect_function");\n                if (((iVar3 == 0) || (iVar3 = strcmp((char *)__s1,"10"), iVar3 == 0)) ||\n                   (iVar3 = strcmp((char *)__s1,"STT_GNU_IFUNC"), iVar3 == 0)) {\n                  uVar1 = *(uint *)(*(long *)(*(long *)(DAT_0019d970 + 8) + 0x368) + 0xc);\n                  if ((9 < uVar1) ||\n                     (uVar11 = 0x400008, (0x209UL >> ((ulong)uVar1 & 0x3f) & 1) == 0)) {\n                    uVar11 = 0x400008;\n                    uVar4 = dcgettext(0,\n                                      "symbol type \"%s\" is supported only by GNU and FreeBSD targets"\n                                      ,5);\n                    FUN_0011f6d0(uVar4,__s1);\n                  }\n                }\n                else {\n                  iVar3 = strcmp((char *)__s1,"gnu_unique_object");\n                  if (iVar3 == 0) {\n                    lVar7 = *(long *)(*(long *)(DAT_0019d970 + 8) + 0x368);\n                    iVar3 = *(int *)(lVar7 + 0xc);\n                    if ((iVar3 != 3) && (iVar3 != 0)) {\n                      uVar4 = dcgettext(0,"symbol type \"%s\" is supported only by GNU targets",5);\n                      FUN_0011f6d0(uVar4,__s1);\n                    }\n                    *(undefined4 *)(lVar7 + 0xc) = 3;\n                    uVar11 = 0x810000;\n                  }\n                  else {\n                    uVar4 = dcgettext(0,"unrecognized symbol type \"%s\"",5);\n                    FUN_0011f6d0(uVar4,__s1);\n                  }\n                }\n                goto LAB_00139961;\n              }\n              iVar3 = FUN_0012ac00(uVar4);\n              if (iVar3 == 0) {\n                iVar3 = FUN_0012aed0(uVar4);\n                if (iVar3 != 0) {\n                  uVar11 = 0x10000;\n                  uVar4 = FUN_0012c530(uVar4,1);\n                  FUN_0012af90(uVar4,_bfd_std_section);\n                  FUN_0012aa50(uVar4,0);\n                  FUN_0012c440(uVar4);\n                  FUN_0012d650(uVar4,&DAT_0019d720);\n                  FUN_0012d370(uVar4);\n                  goto LAB_00139961;\n                }\n                iVar3 = FUN_0012ac30(uVar4);\n                if ((iVar3 != 0) || (iVar3 = FUN_0012da60(uVar4), iVar3 != 0)) {\n                  uVar11 = 0x10000;\n                  uVar4 = FUN_0012af30(uVar4);\n                  uVar6 = dcgettext(0,"symbol \'%s\' is already defined",5);\n                  FUN_0011f6d0(uVar6,uVar4);\n                  goto LAB_00139961;\n                }\n                FUN_0012af90(uVar4,_bfd_std_section);\n                FUN_0012aa50(uVar4,0);\n                FUN_0012c440(uVar4);\n              }\n            }\n          }" ({ "{") (expression_statement "lVar7 = 0xb;" (assignment_expression "lVar7 = 0xb" (identifier "lVar7") (= "=") (number_literal "0xb")) (; ";")) (expression_statement "pbVar9 = local_30;" (assignment_expression "pbVar9 = local_30" (identifier "pbVar9") (= "=") (identifier "local_30")) (; ";")) (expression_statement "pbVar10 = (byte *)"STT_OBJECT";" (assignment_expression "pbVar10 = (byte *)"STT_OBJECT"" (identifier "pbVar10") (= "=") (cast_expression "(byte *)"STT_OBJECT"" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (string_literal ""STT_OBJECT"" (" """) (string_content "STT_OBJECT") (" """)))) (; ";")) (do_statement "do {\n              if (lVar7 == 0) break;\n              lVar7 = lVar7 + -1;\n              bVar16 = *pbVar9 < *pbVar10;\n              bVar13 = *pbVar9 == *pbVar10;\n              pbVar9 = pbVar9 + (ulong)bVar17 * -2 + 1;\n              pbVar10 = pbVar10 + (ulong)bVar17 * -2 + 1;\n            } while (bVar13);" (do "do") (compound_statement "{\n              if (lVar7 == 0) break;\n              lVar7 = lVar7 + -1;\n              bVar16 = *pbVar9 < *pbVar10;\n              bVar13 = *pbVar9 == *pbVar10;\n              pbVar9 = pbVar9 + (ulong)bVar17 * -2 + 1;\n              pbVar10 = pbVar10 + (ulong)bVar17 * -2 + 1;\n            }" ({ "{") (if_statement "if (lVar7 == 0) break;" (if "if") (parenthesized_expression "(lVar7 == 0)" (( "(") (binary_expression "lVar7 == 0" (identifier "lVar7") (== "==") (number_literal "0")) () ")")) (break_statement "break;" (break "break") (; ";"))) (expression_statement "lVar7 = lVar7 + -1;" (assignment_expression "lVar7 = lVar7 + -1" (identifier "lVar7") (= "=") (binary_expression "lVar7 + -1" (identifier "lVar7") (+ "+") (number_literal "-1"))) (; ";")) (expression_statement "bVar16 = *pbVar9 < *pbVar10;" (assignment_expression "bVar16 = *pbVar9 < *pbVar10" (identifier "bVar16") (= "=") (binary_expression "*pbVar9 < *pbVar10" (pointer_expression "*pbVar9" (* "*") (identifier "pbVar9")) (< "<") (pointer_expression "*pbVar10" (* "*") (identifier "pbVar10")))) (; ";")) (expression_statement "bVar13 = *pbVar9 == *pbVar10;" (assignment_expression "bVar13 = *pbVar9 == *pbVar10" (identifier "bVar13") (= "=") (binary_expression "*pbVar9 == *pbVar10" (pointer_expression "*pbVar9" (* "*") (identifier "pbVar9")) (== "==") (pointer_expression "*pbVar10" (* "*") (identifier "pbVar10")))) (; ";")) (expression_statement "pbVar9 = pbVar9 + (ulong)bVar17 * -2 + 1;" (assignment_expression "pbVar9 = pbVar9 + (ulong)bVar17 * -2 + 1" (identifier "pbVar9") (= "=") (binary_expression "pbVar9 + (ulong)bVar17 * -2 + 1" (binary_expression "pbVar9 + (ulong)bVar17 * -2" (identifier "pbVar9") (+ "+") (binary_expression "(ulong)bVar17 * -2" (cast_expression "(ulong)bVar17" (( "(") (type_descriptor "ulong" (type_identifier "ulong")) () ")") (identifier "bVar17")) (* "*") (number_literal "-2"))) (+ "+") (number_literal "1"))) (; ";")) (expression_statement "pbVar10 = pbVar10 + (ulong)bVar17 * -2 + 1;" (assignment_expression "pbVar10 = pbVar10 + (ulong)bVar17 * -2 + 1" (identifier "pbVar10") (= "=") (binary_expression "pbVar10 + (ulong)bVar17 * -2 + 1" (binary_expression "pbVar10 + (ulong)bVar17 * -2" (identifier "pbVar10") (+ "+") (binary_expression "(ulong)bVar17 * -2" (cast_expression "(ulong)bVar17" (( "(") (type_descriptor "ulong" (type_identifier "ulong")) () ")") (identifier "bVar17")) (* "*") (number_literal "-2"))) (+ "+") (number_literal "1"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(bVar13)" (( "(") (identifier "bVar13") () ")")) (; ";")) (expression_statement "bVar14 = false;" (assignment_expression "bVar14 = false" (identifier "bVar14") (= "=") (false "false")) (; ";")) (expression_statement "bVar13 = (!bVar16 && !bVar13) == bVar16;" (assignment_expression "bVar13 = (!bVar16 && !bVar13) == bVar16" (identifier "bVar13") (= "=") (binary_expression "(!bVar16 && !bVar13) == bVar16" (parenthesized_expression "(!bVar16 && !bVar13)" (( "(") (binary_expression "!bVar16 && !bVar13" (unary_expression "!bVar16" (! "!") (identifier "bVar16")) (&& "&&") (unary_expression "!bVar13" (! "!") (identifier "bVar13"))) () ")")) (== "==") (identifier "bVar16"))) (; ";")) (if_statement "if (!bVar13) {\n              lVar7 = 0xb;\n              uVar11 = 0x50000;\n              pbVar9 = local_30;\n              pbVar10 = (byte *)"tls_object";\n              do {\n                if (lVar7 == 0) break;\n                lVar7 = lVar7 + -1;\n                bVar14 = *pbVar9 < *pbVar10;\n                bVar13 = *pbVar9 == *pbVar10;\n                pbVar9 = pbVar9 + (ulong)bVar17 * -2 + 1;\n                pbVar10 = pbVar10 + (ulong)bVar17 * -2 + 1;\n              } while (bVar13);\n              bVar16 = false;\n              bVar13 = (!bVar14 && !bVar13) == bVar14;\n              if (bVar13) goto LAB_00139961;\n              lVar7 = 2;\n              pbVar9 = local_30;\n              pbVar10 = &DAT_001448ab;\n              do {\n                if (lVar7 == 0) break;\n                lVar7 = lVar7 + -1;\n                bVar16 = *pbVar9 < *pbVar10;\n                bVar13 = *pbVar9 == *pbVar10;\n                pbVar9 = pbVar9 + (ulong)bVar17 * -2 + 1;\n                pbVar10 = pbVar10 + (ulong)bVar17 * -2 + 1;\n              } while (bVar13);\n              bVar14 = false;\n              bVar13 = (!bVar16 && !bVar13) == bVar16;\n              if (bVar13) goto LAB_00139961;\n              lVar7 = 8;\n              pbVar9 = local_30;\n              pbVar10 = (byte *)"STT_TLS";\n              do {\n                if (lVar7 == 0) break;\n                lVar7 = lVar7 + -1;\n                bVar14 = *pbVar9 < *pbVar10;\n                bVar13 = *pbVar9 == *pbVar10;\n                pbVar9 = pbVar9 + (ulong)bVar17 * -2 + 1;\n                pbVar10 = pbVar10 + (ulong)bVar17 * -2 + 1;\n              } while (bVar13);\n              bVar16 = false;\n              bVar13 = (!bVar14 && !bVar13) == bVar14;\n              if (bVar13) goto LAB_00139961;\n              lVar7 = 7;\n              pbVar9 = local_30;\n              pbVar10 = (byte *)"notype";\n              do {\n                if (lVar7 == 0) break;\n                lVar7 = lVar7 + -1;\n                bVar16 = *pbVar9 < *pbVar10;\n                bVar13 = *pbVar9 == *pbVar10;\n                pbVar9 = pbVar9 + (ulong)bVar17 * -2 + 1;\n                pbVar10 = pbVar10 + (ulong)bVar17 * -2 + 1;\n              } while (bVar13);\n              uVar11 = 0;\n              if ((((!bVar16 && !bVar13) == bVar16) ||\n                  (iVar3 = strcmp((char *)local_30,"0"), iVar3 == 0)) ||\n                 (iVar3 = strcmp((char *)__s1,"STT_NOTYPE"), iVar3 == 0)) goto LAB_00139961;\n              iVar3 = strcmp((char *)__s1,"common");\n              if (((iVar3 != 0) && (iVar3 = strcmp((char *)__s1,"5"), iVar3 != 0)) &&\n                 (iVar3 = strcmp((char *)__s1,"STT_COMMON"), iVar3 != 0)) {\n                iVar3 = strcmp((char *)__s1,"gnu_indirect_function");\n                if (((iVar3 == 0) || (iVar3 = strcmp((char *)__s1,"10"), iVar3 == 0)) ||\n                   (iVar3 = strcmp((char *)__s1,"STT_GNU_IFUNC"), iVar3 == 0)) {\n                  uVar1 = *(uint *)(*(long *)(*(long *)(DAT_0019d970 + 8) + 0x368) + 0xc);\n                  if ((9 < uVar1) ||\n                     (uVar11 = 0x400008, (0x209UL >> ((ulong)uVar1 & 0x3f) & 1) == 0)) {\n                    uVar11 = 0x400008;\n                    uVar4 = dcgettext(0,\n                                      "symbol type \"%s\" is supported only by GNU and FreeBSD targets"\n                                      ,5);\n                    FUN_0011f6d0(uVar4,__s1);\n                  }\n                }\n                else {\n                  iVar3 = strcmp((char *)__s1,"gnu_unique_object");\n                  if (iVar3 == 0) {\n                    lVar7 = *(long *)(*(long *)(DAT_0019d970 + 8) + 0x368);\n                    iVar3 = *(int *)(lVar7 + 0xc);\n                    if ((iVar3 != 3) && (iVar3 != 0)) {\n                      uVar4 = dcgettext(0,"symbol type \"%s\" is supported only by GNU targets",5);\n                      FUN_0011f6d0(uVar4,__s1);\n                    }\n                    *(undefined4 *)(lVar7 + 0xc) = 3;\n                    uVar11 = 0x810000;\n                  }\n                  else {\n                    uVar4 = dcgettext(0,"unrecognized symbol type \"%s\"",5);\n                    FUN_0011f6d0(uVar4,__s1);\n                  }\n                }\n                goto LAB_00139961;\n              }\n              iVar3 = FUN_0012ac00(uVar4);\n              if (iVar3 == 0) {\n                iVar3 = FUN_0012aed0(uVar4);\n                if (iVar3 != 0) {\n                  uVar11 = 0x10000;\n                  uVar4 = FUN_0012c530(uVar4,1);\n                  FUN_0012af90(uVar4,_bfd_std_section);\n                  FUN_0012aa50(uVar4,0);\n                  FUN_0012c440(uVar4);\n                  FUN_0012d650(uVar4,&DAT_0019d720);\n                  FUN_0012d370(uVar4);\n                  goto LAB_00139961;\n                }\n                iVar3 = FUN_0012ac30(uVar4);\n                if ((iVar3 != 0) || (iVar3 = FUN_0012da60(uVar4), iVar3 != 0)) {\n                  uVar11 = 0x10000;\n                  uVar4 = FUN_0012af30(uVar4);\n                  uVar6 = dcgettext(0,"symbol \'%s\' is already defined",5);\n                  FUN_0011f6d0(uVar6,uVar4);\n                  goto LAB_00139961;\n                }\n                FUN_0012af90(uVar4,_bfd_std_section);\n                FUN_0012aa50(uVar4,0);\n                FUN_0012c440(uVar4);\n              }\n            }" (if "if") (parenthesized_expression "(!bVar13)" (( "(") (unary_expression "!bVar13" (! "!") (identifier "bVar13")) () ")")) (compound_statement "{\n              lVar7 = 0xb;\n              uVar11 = 0x50000;\n              pbVar9 = local_30;\n              pbVar10 = (byte *)"tls_object";\n              do {\n                if (lVar7 == 0) break;\n                lVar7 = lVar7 + -1;\n                bVar14 = *pbVar9 < *pbVar10;\n                bVar13 = *pbVar9 == *pbVar10;\n                pbVar9 = pbVar9 + (ulong)bVar17 * -2 + 1;\n                pbVar10 = pbVar10 + (ulong)bVar17 * -2 + 1;\n              } while (bVar13);\n              bVar16 = false;\n              bVar13 = (!bVar14 && !bVar13) == bVar14;\n              if (bVar13) goto LAB_00139961;\n              lVar7 = 2;\n              pbVar9 = local_30;\n              pbVar10 = &DAT_001448ab;\n              do {\n                if (lVar7 == 0) break;\n                lVar7 = lVar7 + -1;\n                bVar16 = *pbVar9 < *pbVar10;\n                bVar13 = *pbVar9 == *pbVar10;\n                pbVar9 = pbVar9 + (ulong)bVar17 * -2 + 1;\n                pbVar10 = pbVar10 + (ulong)bVar17 * -2 + 1;\n              } while (bVar13);\n              bVar14 = false;\n              bVar13 = (!bVar16 && !bVar13) == bVar16;\n              if (bVar13) goto LAB_00139961;\n              lVar7 = 8;\n              pbVar9 = local_30;\n              pbVar10 = (byte *)"STT_TLS";\n              do {\n                if (lVar7 == 0) break;\n                lVar7 = lVar7 + -1;\n                bVar14 = *pbVar9 < *pbVar10;\n                bVar13 = *pbVar9 == *pbVar10;\n                pbVar9 = pbVar9 + (ulong)bVar17 * -2 + 1;\n                pbVar10 = pbVar10 + (ulong)bVar17 * -2 + 1;\n              } while (bVar13);\n              bVar16 = false;\n              bVar13 = (!bVar14 && !bVar13) == bVar14;\n              if (bVar13) goto LAB_00139961;\n              lVar7 = 7;\n              pbVar9 = local_30;\n              pbVar10 = (byte *)"notype";\n              do {\n                if (lVar7 == 0) break;\n                lVar7 = lVar7 + -1;\n                bVar16 = *pbVar9 < *pbVar10;\n                bVar13 = *pbVar9 == *pbVar10;\n                pbVar9 = pbVar9 + (ulong)bVar17 * -2 + 1;\n                pbVar10 = pbVar10 + (ulong)bVar17 * -2 + 1;\n              } while (bVar13);\n              uVar11 = 0;\n              if ((((!bVar16 && !bVar13) == bVar16) ||\n                  (iVar3 = strcmp((char *)local_30,"0"), iVar3 == 0)) ||\n                 (iVar3 = strcmp((char *)__s1,"STT_NOTYPE"), iVar3 == 0)) goto LAB_00139961;\n              iVar3 = strcmp((char *)__s1,"common");\n              if (((iVar3 != 0) && (iVar3 = strcmp((char *)__s1,"5"), iVar3 != 0)) &&\n                 (iVar3 = strcmp((char *)__s1,"STT_COMMON"), iVar3 != 0)) {\n                iVar3 = strcmp((char *)__s1,"gnu_indirect_function");\n                if (((iVar3 == 0) || (iVar3 = strcmp((char *)__s1,"10"), iVar3 == 0)) ||\n                   (iVar3 = strcmp((char *)__s1,"STT_GNU_IFUNC"), iVar3 == 0)) {\n                  uVar1 = *(uint *)(*(long *)(*(long *)(DAT_0019d970 + 8) + 0x368) + 0xc);\n                  if ((9 < uVar1) ||\n                     (uVar11 = 0x400008, (0x209UL >> ((ulong)uVar1 & 0x3f) & 1) == 0)) {\n                    uVar11 = 0x400008;\n                    uVar4 = dcgettext(0,\n                                      "symbol type \"%s\" is supported only by GNU and FreeBSD targets"\n                                      ,5);\n                    FUN_0011f6d0(uVar4,__s1);\n                  }\n                }\n                else {\n                  iVar3 = strcmp((char *)__s1,"gnu_unique_object");\n                  if (iVar3 == 0) {\n                    lVar7 = *(long *)(*(long *)(DAT_0019d970 + 8) + 0x368);\n                    iVar3 = *(int *)(lVar7 + 0xc);\n                    if ((iVar3 != 3) && (iVar3 != 0)) {\n                      uVar4 = dcgettext(0,"symbol type \"%s\" is supported only by GNU targets",5);\n                      FUN_0011f6d0(uVar4,__s1);\n                    }\n                    *(undefined4 *)(lVar7 + 0xc) = 3;\n                    uVar11 = 0x810000;\n                  }\n                  else {\n                    uVar4 = dcgettext(0,"unrecognized symbol type \"%s\"",5);\n                    FUN_0011f6d0(uVar4,__s1);\n                  }\n                }\n                goto LAB_00139961;\n              }\n              iVar3 = FUN_0012ac00(uVar4);\n              if (iVar3 == 0) {\n                iVar3 = FUN_0012aed0(uVar4);\n                if (iVar3 != 0) {\n                  uVar11 = 0x10000;\n                  uVar4 = FUN_0012c530(uVar4,1);\n                  FUN_0012af90(uVar4,_bfd_std_section);\n                  FUN_0012aa50(uVar4,0);\n                  FUN_0012c440(uVar4);\n                  FUN_0012d650(uVar4,&DAT_0019d720);\n                  FUN_0012d370(uVar4);\n                  goto LAB_00139961;\n                }\n                iVar3 = FUN_0012ac30(uVar4);\n                if ((iVar3 != 0) || (iVar3 = FUN_0012da60(uVar4), iVar3 != 0)) {\n                  uVar11 = 0x10000;\n                  uVar4 = FUN_0012af30(uVar4);\n                  uVar6 = dcgettext(0,"symbol \'%s\' is already defined",5);\n                  FUN_0011f6d0(uVar6,uVar4);\n                  goto LAB_00139961;\n                }\n                FUN_0012af90(uVar4,_bfd_std_section);\n                FUN_0012aa50(uVar4,0);\n                FUN_0012c440(uVar4);\n              }\n            }" ({ "{") (expression_statement "lVar7 = 0xb;" (assignment_expression "lVar7 = 0xb" (identifier "lVar7") (= "=") (number_literal "0xb")) (; ";")) (expression_statement "uVar11 = 0x50000;" (assignment_expression "uVar11 = 0x50000" (identifier "uVar11") (= "=") (number_literal "0x50000")) (; ";")) (expression_statement "pbVar9 = local_30;" (assignment_expression "pbVar9 = local_30" (identifier "pbVar9") (= "=") (identifier "local_30")) (; ";")) (expression_statement "pbVar10 = (byte *)"tls_object";" (assignment_expression "pbVar10 = (byte *)"tls_object"" (identifier "pbVar10") (= "=") (cast_expression "(byte *)"tls_object"" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (string_literal ""tls_object"" (" """) (string_content "tls_object") (" """)))) (; ";")) (do_statement "do {\n                if (lVar7 == 0) break;\n                lVar7 = lVar7 + -1;\n                bVar14 = *pbVar9 < *pbVar10;\n                bVar13 = *pbVar9 == *pbVar10;\n                pbVar9 = pbVar9 + (ulong)bVar17 * -2 + 1;\n                pbVar10 = pbVar10 + (ulong)bVar17 * -2 + 1;\n              } while (bVar13);" (do "do") (compound_statement "{\n                if (lVar7 == 0) break;\n                lVar7 = lVar7 + -1;\n                bVar14 = *pbVar9 < *pbVar10;\n                bVar13 = *pbVar9 == *pbVar10;\n                pbVar9 = pbVar9 + (ulong)bVar17 * -2 + 1;\n                pbVar10 = pbVar10 + (ulong)bVar17 * -2 + 1;\n              }" ({ "{") (if_statement "if (lVar7 == 0) break;" (if "if") (parenthesized_expression "(lVar7 == 0)" (( "(") (binary_expression "lVar7 == 0" (identifier "lVar7") (== "==") (number_literal "0")) () ")")) (break_statement "break;" (break "break") (; ";"))) (expression_statement "lVar7 = lVar7 + -1;" (assignment_expression "lVar7 = lVar7 + -1" (identifier "lVar7") (= "=") (binary_expression "lVar7 + -1" (identifier "lVar7") (+ "+") (number_literal "-1"))) (; ";")) (expression_statement "bVar14 = *pbVar9 < *pbVar10;" (assignment_expression "bVar14 = *pbVar9 < *pbVar10" (identifier "bVar14") (= "=") (binary_expression "*pbVar9 < *pbVar10" (pointer_expression "*pbVar9" (* "*") (identifier "pbVar9")) (< "<") (pointer_expression "*pbVar10" (* "*") (identifier "pbVar10")))) (; ";")) (expression_statement "bVar13 = *pbVar9 == *pbVar10;" (assignment_expression "bVar13 = *pbVar9 == *pbVar10" (identifier "bVar13") (= "=") (binary_expression "*pbVar9 == *pbVar10" (pointer_expression "*pbVar9" (* "*") (identifier "pbVar9")) (== "==") (pointer_expression "*pbVar10" (* "*") (identifier "pbVar10")))) (; ";")) (expression_statement "pbVar9 = pbVar9 + (ulong)bVar17 * -2 + 1;" (assignment_expression "pbVar9 = pbVar9 + (ulong)bVar17 * -2 + 1" (identifier "pbVar9") (= "=") (binary_expression "pbVar9 + (ulong)bVar17 * -2 + 1" (binary_expression "pbVar9 + (ulong)bVar17 * -2" (identifier "pbVar9") (+ "+") (binary_expression "(ulong)bVar17 * -2" (cast_expression "(ulong)bVar17" (( "(") (type_descriptor "ulong" (type_identifier "ulong")) () ")") (identifier "bVar17")) (* "*") (number_literal "-2"))) (+ "+") (number_literal "1"))) (; ";")) (expression_statement "pbVar10 = pbVar10 + (ulong)bVar17 * -2 + 1;" (assignment_expression "pbVar10 = pbVar10 + (ulong)bVar17 * -2 + 1" (identifier "pbVar10") (= "=") (binary_expression "pbVar10 + (ulong)bVar17 * -2 + 1" (binary_expression "pbVar10 + (ulong)bVar17 * -2" (identifier "pbVar10") (+ "+") (binary_expression "(ulong)bVar17 * -2" (cast_expression "(ulong)bVar17" (( "(") (type_descriptor "ulong" (type_identifier "ulong")) () ")") (identifier "bVar17")) (* "*") (number_literal "-2"))) (+ "+") (number_literal "1"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(bVar13)" (( "(") (identifier "bVar13") () ")")) (; ";")) (expression_statement "bVar16 = false;" (assignment_expression "bVar16 = false" (identifier "bVar16") (= "=") (false "false")) (; ";")) (expression_statement "bVar13 = (!bVar14 && !bVar13) == bVar14;" (assignment_expression "bVar13 = (!bVar14 && !bVar13) == bVar14" (identifier "bVar13") (= "=") (binary_expression "(!bVar14 && !bVar13) == bVar14" (parenthesized_expression "(!bVar14 && !bVar13)" (( "(") (binary_expression "!bVar14 && !bVar13" (unary_expression "!bVar14" (! "!") (identifier "bVar14")) (&& "&&") (unary_expression "!bVar13" (! "!") (identifier "bVar13"))) () ")")) (== "==") (identifier "bVar14"))) (; ";")) (if_statement "if (bVar13) goto LAB_00139961;" (if "if") (parenthesized_expression "(bVar13)" (( "(") (identifier "bVar13") () ")")) (goto_statement "goto LAB_00139961;" (goto "goto") (statement_identifier "LAB_00139961") (; ";"))) (expression_statement "lVar7 = 2;" (assignment_expression "lVar7 = 2" (identifier "lVar7") (= "=") (number_literal "2")) (; ";")) (expression_statement "pbVar9 = local_30;" (assignment_expression "pbVar9 = local_30" (identifier "pbVar9") (= "=") (identifier "local_30")) (; ";")) (expression_statement "pbVar10 = &DAT_001448ab;" (assignment_expression "pbVar10 = &DAT_001448ab" (identifier "pbVar10") (= "=") (pointer_expression "&DAT_001448ab" (& "&") (identifier "DAT_001448ab"))) (; ";")) (do_statement "do {\n                if (lVar7 == 0) break;\n                lVar7 = lVar7 + -1;\n                bVar16 = *pbVar9 < *pbVar10;\n                bVar13 = *pbVar9 == *pbVar10;\n                pbVar9 = pbVar9 + (ulong)bVar17 * -2 + 1;\n                pbVar10 = pbVar10 + (ulong)bVar17 * -2 + 1;\n              } while (bVar13);" (do "do") (compound_statement "{\n                if (lVar7 == 0) break;\n                lVar7 = lVar7 + -1;\n                bVar16 = *pbVar9 < *pbVar10;\n                bVar13 = *pbVar9 == *pbVar10;\n                pbVar9 = pbVar9 + (ulong)bVar17 * -2 + 1;\n                pbVar10 = pbVar10 + (ulong)bVar17 * -2 + 1;\n              }" ({ "{") (if_statement "if (lVar7 == 0) break;" (if "if") (parenthesized_expression "(lVar7 == 0)" (( "(") (binary_expression "lVar7 == 0" (identifier "lVar7") (== "==") (number_literal "0")) () ")")) (break_statement "break;" (break "break") (; ";"))) (expression_statement "lVar7 = lVar7 + -1;" (assignment_expression "lVar7 = lVar7 + -1" (identifier "lVar7") (= "=") (binary_expression "lVar7 + -1" (identifier "lVar7") (+ "+") (number_literal "-1"))) (; ";")) (expression_statement "bVar16 = *pbVar9 < *pbVar10;" (assignment_expression "bVar16 = *pbVar9 < *pbVar10" (identifier "bVar16") (= "=") (binary_expression "*pbVar9 < *pbVar10" (pointer_expression "*pbVar9" (* "*") (identifier "pbVar9")) (< "<") (pointer_expression "*pbVar10" (* "*") (identifier "pbVar10")))) (; ";")) (expression_statement "bVar13 = *pbVar9 == *pbVar10;" (assignment_expression "bVar13 = *pbVar9 == *pbVar10" (identifier "bVar13") (= "=") (binary_expression "*pbVar9 == *pbVar10" (pointer_expression "*pbVar9" (* "*") (identifier "pbVar9")) (== "==") (pointer_expression "*pbVar10" (* "*") (identifier "pbVar10")))) (; ";")) (expression_statement "pbVar9 = pbVar9 + (ulong)bVar17 * -2 + 1;" (assignment_expression "pbVar9 = pbVar9 + (ulong)bVar17 * -2 + 1" (identifier "pbVar9") (= "=") (binary_expression "pbVar9 + (ulong)bVar17 * -2 + 1" (binary_expression "pbVar9 + (ulong)bVar17 * -2" (identifier "pbVar9") (+ "+") (binary_expression "(ulong)bVar17 * -2" (cast_expression "(ulong)bVar17" (( "(") (type_descriptor "ulong" (type_identifier "ulong")) () ")") (identifier "bVar17")) (* "*") (number_literal "-2"))) (+ "+") (number_literal "1"))) (; ";")) (expression_statement "pbVar10 = pbVar10 + (ulong)bVar17 * -2 + 1;" (assignment_expression "pbVar10 = pbVar10 + (ulong)bVar17 * -2 + 1" (identifier "pbVar10") (= "=") (binary_expression "pbVar10 + (ulong)bVar17 * -2 + 1" (binary_expression "pbVar10 + (ulong)bVar17 * -2" (identifier "pbVar10") (+ "+") (binary_expression "(ulong)bVar17 * -2" (cast_expression "(ulong)bVar17" (( "(") (type_descriptor "ulong" (type_identifier "ulong")) () ")") (identifier "bVar17")) (* "*") (number_literal "-2"))) (+ "+") (number_literal "1"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(bVar13)" (( "(") (identifier "bVar13") () ")")) (; ";")) (expression_statement "bVar14 = false;" (assignment_expression "bVar14 = false" (identifier "bVar14") (= "=") (false "false")) (; ";")) (expression_statement "bVar13 = (!bVar16 && !bVar13) == bVar16;" (assignment_expression "bVar13 = (!bVar16 && !bVar13) == bVar16" (identifier "bVar13") (= "=") (binary_expression "(!bVar16 && !bVar13) == bVar16" (parenthesized_expression "(!bVar16 && !bVar13)" (( "(") (binary_expression "!bVar16 && !bVar13" (unary_expression "!bVar16" (! "!") (identifier "bVar16")) (&& "&&") (unary_expression "!bVar13" (! "!") (identifier "bVar13"))) () ")")) (== "==") (identifier "bVar16"))) (; ";")) (if_statement "if (bVar13) goto LAB_00139961;" (if "if") (parenthesized_expression "(bVar13)" (( "(") (identifier "bVar13") () ")")) (goto_statement "goto LAB_00139961;" (goto "goto") (statement_identifier "LAB_00139961") (; ";"))) (expression_statement "lVar7 = 8;" (assignment_expression "lVar7 = 8" (identifier "lVar7") (= "=") (number_literal "8")) (; ";")) (expression_statement "pbVar9 = local_30;" (assignment_expression "pbVar9 = local_30" (identifier "pbVar9") (= "=") (identifier "local_30")) (; ";")) (expression_statement "pbVar10 = (byte *)"STT_TLS";" (assignment_expression "pbVar10 = (byte *)"STT_TLS"" (identifier "pbVar10") (= "=") (cast_expression "(byte *)"STT_TLS"" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (string_literal ""STT_TLS"" (" """) (string_content "STT_TLS") (" """)))) (; ";")) (do_statement "do {\n                if (lVar7 == 0) break;\n                lVar7 = lVar7 + -1;\n                bVar14 = *pbVar9 < *pbVar10;\n                bVar13 = *pbVar9 == *pbVar10;\n                pbVar9 = pbVar9 + (ulong)bVar17 * -2 + 1;\n                pbVar10 = pbVar10 + (ulong)bVar17 * -2 + 1;\n              } while (bVar13);" (do "do") (compound_statement "{\n                if (lVar7 == 0) break;\n                lVar7 = lVar7 + -1;\n                bVar14 = *pbVar9 < *pbVar10;\n                bVar13 = *pbVar9 == *pbVar10;\n                pbVar9 = pbVar9 + (ulong)bVar17 * -2 + 1;\n                pbVar10 = pbVar10 + (ulong)bVar17 * -2 + 1;\n              }" ({ "{") (if_statement "if (lVar7 == 0) break;" (if "if") (parenthesized_expression "(lVar7 == 0)" (( "(") (binary_expression "lVar7 == 0" (identifier "lVar7") (== "==") (number_literal "0")) () ")")) (break_statement "break;" (break "break") (; ";"))) (expression_statement "lVar7 = lVar7 + -1;" (assignment_expression "lVar7 = lVar7 + -1" (identifier "lVar7") (= "=") (binary_expression "lVar7 + -1" (identifier "lVar7") (+ "+") (number_literal "-1"))) (; ";")) (expression_statement "bVar14 = *pbVar9 < *pbVar10;" (assignment_expression "bVar14 = *pbVar9 < *pbVar10" (identifier "bVar14") (= "=") (binary_expression "*pbVar9 < *pbVar10" (pointer_expression "*pbVar9" (* "*") (identifier "pbVar9")) (< "<") (pointer_expression "*pbVar10" (* "*") (identifier "pbVar10")))) (; ";")) (expression_statement "bVar13 = *pbVar9 == *pbVar10;" (assignment_expression "bVar13 = *pbVar9 == *pbVar10" (identifier "bVar13") (= "=") (binary_expression "*pbVar9 == *pbVar10" (pointer_expression "*pbVar9" (* "*") (identifier "pbVar9")) (== "==") (pointer_expression "*pbVar10" (* "*") (identifier "pbVar10")))) (; ";")) (expression_statement "pbVar9 = pbVar9 + (ulong)bVar17 * -2 + 1;" (assignment_expression "pbVar9 = pbVar9 + (ulong)bVar17 * -2 + 1" (identifier "pbVar9") (= "=") (binary_expression "pbVar9 + (ulong)bVar17 * -2 + 1" (binary_expression "pbVar9 + (ulong)bVar17 * -2" (identifier "pbVar9") (+ "+") (binary_expression "(ulong)bVar17 * -2" (cast_expression "(ulong)bVar17" (( "(") (type_descriptor "ulong" (type_identifier "ulong")) () ")") (identifier "bVar17")) (* "*") (number_literal "-2"))) (+ "+") (number_literal "1"))) (; ";")) (expression_statement "pbVar10 = pbVar10 + (ulong)bVar17 * -2 + 1;" (assignment_expression "pbVar10 = pbVar10 + (ulong)bVar17 * -2 + 1" (identifier "pbVar10") (= "=") (binary_expression "pbVar10 + (ulong)bVar17 * -2 + 1" (binary_expression "pbVar10 + (ulong)bVar17 * -2" (identifier "pbVar10") (+ "+") (binary_expression "(ulong)bVar17 * -2" (cast_expression "(ulong)bVar17" (( "(") (type_descriptor "ulong" (type_identifier "ulong")) () ")") (identifier "bVar17")) (* "*") (number_literal "-2"))) (+ "+") (number_literal "1"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(bVar13)" (( "(") (identifier "bVar13") () ")")) (; ";")) (expression_statement "bVar16 = false;" (assignment_expression "bVar16 = false" (identifier "bVar16") (= "=") (false "false")) (; ";")) (expression_statement "bVar13 = (!bVar14 && !bVar13) == bVar14;" (assignment_expression "bVar13 = (!bVar14 && !bVar13) == bVar14" (identifier "bVar13") (= "=") (binary_expression "(!bVar14 && !bVar13) == bVar14" (parenthesized_expression "(!bVar14 && !bVar13)" (( "(") (binary_expression "!bVar14 && !bVar13" (unary_expression "!bVar14" (! "!") (identifier "bVar14")) (&& "&&") (unary_expression "!bVar13" (! "!") (identifier "bVar13"))) () ")")) (== "==") (identifier "bVar14"))) (; ";")) (if_statement "if (bVar13) goto LAB_00139961;" (if "if") (parenthesized_expression "(bVar13)" (( "(") (identifier "bVar13") () ")")) (goto_statement "goto LAB_00139961;" (goto "goto") (statement_identifier "LAB_00139961") (; ";"))) (expression_statement "lVar7 = 7;" (assignment_expression "lVar7 = 7" (identifier "lVar7") (= "=") (number_literal "7")) (; ";")) (expression_statement "pbVar9 = local_30;" (assignment_expression "pbVar9 = local_30" (identifier "pbVar9") (= "=") (identifier "local_30")) (; ";")) (expression_statement "pbVar10 = (byte *)"notype";" (assignment_expression "pbVar10 = (byte *)"notype"" (identifier "pbVar10") (= "=") (cast_expression "(byte *)"notype"" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (string_literal ""notype"" (" """) (string_content "notype") (" """)))) (; ";")) (do_statement "do {\n                if (lVar7 == 0) break;\n                lVar7 = lVar7 + -1;\n                bVar16 = *pbVar9 < *pbVar10;\n                bVar13 = *pbVar9 == *pbVar10;\n                pbVar9 = pbVar9 + (ulong)bVar17 * -2 + 1;\n                pbVar10 = pbVar10 + (ulong)bVar17 * -2 + 1;\n              } while (bVar13);" (do "do") (compound_statement "{\n                if (lVar7 == 0) break;\n                lVar7 = lVar7 + -1;\n                bVar16 = *pbVar9 < *pbVar10;\n                bVar13 = *pbVar9 == *pbVar10;\n                pbVar9 = pbVar9 + (ulong)bVar17 * -2 + 1;\n                pbVar10 = pbVar10 + (ulong)bVar17 * -2 + 1;\n              }" ({ "{") (if_statement "if (lVar7 == 0) break;" (if "if") (parenthesized_expression "(lVar7 == 0)" (( "(") (binary_expression "lVar7 == 0" (identifier "lVar7") (== "==") (number_literal "0")) () ")")) (break_statement "break;" (break "break") (; ";"))) (expression_statement "lVar7 = lVar7 + -1;" (assignment_expression "lVar7 = lVar7 + -1" (identifier "lVar7") (= "=") (binary_expression "lVar7 + -1" (identifier "lVar7") (+ "+") (number_literal "-1"))) (; ";")) (expression_statement "bVar16 = *pbVar9 < *pbVar10;" (assignment_expression "bVar16 = *pbVar9 < *pbVar10" (identifier "bVar16") (= "=") (binary_expression "*pbVar9 < *pbVar10" (pointer_expression "*pbVar9" (* "*") (identifier "pbVar9")) (< "<") (pointer_expression "*pbVar10" (* "*") (identifier "pbVar10")))) (; ";")) (expression_statement "bVar13 = *pbVar9 == *pbVar10;" (assignment_expression "bVar13 = *pbVar9 == *pbVar10" (identifier "bVar13") (= "=") (binary_expression "*pbVar9 == *pbVar10" (pointer_expression "*pbVar9" (* "*") (identifier "pbVar9")) (== "==") (pointer_expression "*pbVar10" (* "*") (identifier "pbVar10")))) (; ";")) (expression_statement "pbVar9 = pbVar9 + (ulong)bVar17 * -2 + 1;" (assignment_expression "pbVar9 = pbVar9 + (ulong)bVar17 * -2 + 1" (identifier "pbVar9") (= "=") (binary_expression "pbVar9 + (ulong)bVar17 * -2 + 1" (binary_expression "pbVar9 + (ulong)bVar17 * -2" (identifier "pbVar9") (+ "+") (binary_expression "(ulong)bVar17 * -2" (cast_expression "(ulong)bVar17" (( "(") (type_descriptor "ulong" (type_identifier "ulong")) () ")") (identifier "bVar17")) (* "*") (number_literal "-2"))) (+ "+") (number_literal "1"))) (; ";")) (expression_statement "pbVar10 = pbVar10 + (ulong)bVar17 * -2 + 1;" (assignment_expression "pbVar10 = pbVar10 + (ulong)bVar17 * -2 + 1" (identifier "pbVar10") (= "=") (binary_expression "pbVar10 + (ulong)bVar17 * -2 + 1" (binary_expression "pbVar10 + (ulong)bVar17 * -2" (identifier "pbVar10") (+ "+") (binary_expression "(ulong)bVar17 * -2" (cast_expression "(ulong)bVar17" (( "(") (type_descriptor "ulong" (type_identifier "ulong")) () ")") (identifier "bVar17")) (* "*") (number_literal "-2"))) (+ "+") (number_literal "1"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(bVar13)" (( "(") (identifier "bVar13") () ")")) (; ";")) (expression_statement "uVar11 = 0;" (assignment_expression "uVar11 = 0" (identifier "uVar11") (= "=") (number_literal "0")) (; ";")) (if_statement "if ((((!bVar16 && !bVar13) == bVar16) ||\n                  (iVar3 = strcmp((char *)local_30,"0"), iVar3 == 0)) ||\n                 (iVar3 = strcmp((char *)__s1,"STT_NOTYPE"), iVar3 == 0)) goto LAB_00139961;" (if "if") (parenthesized_expression "((((!bVar16 && !bVar13) == bVar16) ||\n                  (iVar3 = strcmp((char *)local_30,"0"), iVar3 == 0)) ||\n                 (iVar3 = strcmp((char *)__s1,"STT_NOTYPE"), iVar3 == 0))" (( "(") (binary_expression "(((!bVar16 && !bVar13) == bVar16) ||\n                  (iVar3 = strcmp((char *)local_30,"0"), iVar3 == 0)) ||\n                 (iVar3 = strcmp((char *)__s1,"STT_NOTYPE"), iVar3 == 0)" (parenthesized_expression "(((!bVar16 && !bVar13) == bVar16) ||\n                  (iVar3 = strcmp((char *)local_30,"0"), iVar3 == 0))" (( "(") (binary_expression "((!bVar16 && !bVar13) == bVar16) ||\n                  (iVar3 = strcmp((char *)local_30,"0"), iVar3 == 0)" (parenthesized_expression "((!bVar16 && !bVar13) == bVar16)" (( "(") (binary_expression "(!bVar16 && !bVar13) == bVar16" (parenthesized_expression "(!bVar16 && !bVar13)" (( "(") (binary_expression "!bVar16 && !bVar13" (unary_expression "!bVar16" (! "!") (identifier "bVar16")) (&& "&&") (unary_expression "!bVar13" (! "!") (identifier "bVar13"))) () ")")) (== "==") (identifier "bVar16")) () ")")) (|| "||") (parenthesized_expression "(iVar3 = strcmp((char *)local_30,"0"), iVar3 == 0)" (( "(") (comma_expression "iVar3 = strcmp((char *)local_30,"0"), iVar3 == 0" (assignment_expression "iVar3 = strcmp((char *)local_30,"0")" (identifier "iVar3") (= "=") (call_expression "strcmp((char *)local_30,"0")" (identifier "strcmp") (argument_list "((char *)local_30,"0")" (( "(") (cast_expression "(char *)local_30" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "local_30")) (, ",") (string_literal ""0"" (" """) (string_content "0") (" """)) () ")")))) (, ",") (binary_expression "iVar3 == 0" (identifier "iVar3") (== "==") (number_literal "0"))) () ")"))) () ")")) (|| "||") (parenthesized_expression "(iVar3 = strcmp((char *)__s1,"STT_NOTYPE"), iVar3 == 0)" (( "(") (comma_expression "iVar3 = strcmp((char *)__s1,"STT_NOTYPE"), iVar3 == 0" (assignment_expression "iVar3 = strcmp((char *)__s1,"STT_NOTYPE")" (identifier "iVar3") (= "=") (call_expression "strcmp((char *)__s1,"STT_NOTYPE")" (identifier "strcmp") (argument_list "((char *)__s1,"STT_NOTYPE")" (( "(") (cast_expression "(char *)__s1" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "__s1")) (, ",") (string_literal ""STT_NOTYPE"" (" """) (string_content "STT_NOTYPE") (" """)) () ")")))) (, ",") (binary_expression "iVar3 == 0" (identifier "iVar3") (== "==") (number_literal "0"))) () ")"))) () ")")) (goto_statement "goto LAB_00139961;" (goto "goto") (statement_identifier "LAB_00139961") (; ";"))) (expression_statement "iVar3 = strcmp((char *)__s1,"common");" (assignment_expression "iVar3 = strcmp((char *)__s1,"common")" (identifier "iVar3") (= "=") (call_expression "strcmp((char *)__s1,"common")" (identifier "strcmp") (argument_list "((char *)__s1,"common")" (( "(") (cast_expression "(char *)__s1" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "__s1")) (, ",") (string_literal ""common"" (" """) (string_content "common") (" """)) () ")")))) (; ";")) (if_statement "if (((iVar3 != 0) && (iVar3 = strcmp((char *)__s1,"5"), iVar3 != 0)) &&\n                 (iVar3 = strcmp((char *)__s1,"STT_COMMON"), iVar3 != 0)) {\n                iVar3 = strcmp((char *)__s1,"gnu_indirect_function");\n                if (((iVar3 == 0) || (iVar3 = strcmp((char *)__s1,"10"), iVar3 == 0)) ||\n                   (iVar3 = strcmp((char *)__s1,"STT_GNU_IFUNC"), iVar3 == 0)) {\n                  uVar1 = *(uint *)(*(long *)(*(long *)(DAT_0019d970 + 8) + 0x368) + 0xc);\n                  if ((9 < uVar1) ||\n                     (uVar11 = 0x400008, (0x209UL >> ((ulong)uVar1 & 0x3f) & 1) == 0)) {\n                    uVar11 = 0x400008;\n                    uVar4 = dcgettext(0,\n                                      "symbol type \"%s\" is supported only by GNU and FreeBSD targets"\n                                      ,5);\n                    FUN_0011f6d0(uVar4,__s1);\n                  }\n                }\n                else {\n                  iVar3 = strcmp((char *)__s1,"gnu_unique_object");\n                  if (iVar3 == 0) {\n                    lVar7 = *(long *)(*(long *)(DAT_0019d970 + 8) + 0x368);\n                    iVar3 = *(int *)(lVar7 + 0xc);\n                    if ((iVar3 != 3) && (iVar3 != 0)) {\n                      uVar4 = dcgettext(0,"symbol type \"%s\" is supported only by GNU targets",5);\n                      FUN_0011f6d0(uVar4,__s1);\n                    }\n                    *(undefined4 *)(lVar7 + 0xc) = 3;\n                    uVar11 = 0x810000;\n                  }\n                  else {\n                    uVar4 = dcgettext(0,"unrecognized symbol type \"%s\"",5);\n                    FUN_0011f6d0(uVar4,__s1);\n                  }\n                }\n                goto LAB_00139961;\n              }" (if "if") (parenthesized_expression "(((iVar3 != 0) && (iVar3 = strcmp((char *)__s1,"5"), iVar3 != 0)) &&\n                 (iVar3 = strcmp((char *)__s1,"STT_COMMON"), iVar3 != 0))" (( "(") (binary_expression "((iVar3 != 0) && (iVar3 = strcmp((char *)__s1,"5"), iVar3 != 0)) &&\n                 (iVar3 = strcmp((char *)__s1,"STT_COMMON"), iVar3 != 0)" (parenthesized_expression "((iVar3 != 0) && (iVar3 = strcmp((char *)__s1,"5"), iVar3 != 0))" (( "(") (binary_expression "(iVar3 != 0) && (iVar3 = strcmp((char *)__s1,"5"), iVar3 != 0)" (parenthesized_expression "(iVar3 != 0)" (( "(") (binary_expression "iVar3 != 0" (identifier "iVar3") (!= "!=") (number_literal "0")) () ")")) (&& "&&") (parenthesized_expression "(iVar3 = strcmp((char *)__s1,"5"), iVar3 != 0)" (( "(") (comma_expression "iVar3 = strcmp((char *)__s1,"5"), iVar3 != 0" (assignment_expression "iVar3 = strcmp((char *)__s1,"5")" (identifier "iVar3") (= "=") (call_expression "strcmp((char *)__s1,"5")" (identifier "strcmp") (argument_list "((char *)__s1,"5")" (( "(") (cast_expression "(char *)__s1" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "__s1")) (, ",") (string_literal ""5"" (" """) (string_content "5") (" """)) () ")")))) (, ",") (binary_expression "iVar3 != 0" (identifier "iVar3") (!= "!=") (number_literal "0"))) () ")"))) () ")")) (&& "&&") (parenthesized_expression "(iVar3 = strcmp((char *)__s1,"STT_COMMON"), iVar3 != 0)" (( "(") (comma_expression "iVar3 = strcmp((char *)__s1,"STT_COMMON"), iVar3 != 0" (assignment_expression "iVar3 = strcmp((char *)__s1,"STT_COMMON")" (identifier "iVar3") (= "=") (call_expression "strcmp((char *)__s1,"STT_COMMON")" (identifier "strcmp") (argument_list "((char *)__s1,"STT_COMMON")" (( "(") (cast_expression "(char *)__s1" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "__s1")) (, ",") (string_literal ""STT_COMMON"" (" """) (string_content "STT_COMMON") (" """)) () ")")))) (, ",") (binary_expression "iVar3 != 0" (identifier "iVar3") (!= "!=") (number_literal "0"))) () ")"))) () ")")) (compound_statement "{\n                iVar3 = strcmp((char *)__s1,"gnu_indirect_function");\n                if (((iVar3 == 0) || (iVar3 = strcmp((char *)__s1,"10"), iVar3 == 0)) ||\n                   (iVar3 = strcmp((char *)__s1,"STT_GNU_IFUNC"), iVar3 == 0)) {\n                  uVar1 = *(uint *)(*(long *)(*(long *)(DAT_0019d970 + 8) + 0x368) + 0xc);\n                  if ((9 < uVar1) ||\n                     (uVar11 = 0x400008, (0x209UL >> ((ulong)uVar1 & 0x3f) & 1) == 0)) {\n                    uVar11 = 0x400008;\n                    uVar4 = dcgettext(0,\n                                      "symbol type \"%s\" is supported only by GNU and FreeBSD targets"\n                                      ,5);\n                    FUN_0011f6d0(uVar4,__s1);\n                  }\n                }\n                else {\n                  iVar3 = strcmp((char *)__s1,"gnu_unique_object");\n                  if (iVar3 == 0) {\n                    lVar7 = *(long *)(*(long *)(DAT_0019d970 + 8) + 0x368);\n                    iVar3 = *(int *)(lVar7 + 0xc);\n                    if ((iVar3 != 3) && (iVar3 != 0)) {\n                      uVar4 = dcgettext(0,"symbol type \"%s\" is supported only by GNU targets",5);\n                      FUN_0011f6d0(uVar4,__s1);\n                    }\n                    *(undefined4 *)(lVar7 + 0xc) = 3;\n                    uVar11 = 0x810000;\n                  }\n                  else {\n                    uVar4 = dcgettext(0,"unrecognized symbol type \"%s\"",5);\n                    FUN_0011f6d0(uVar4,__s1);\n                  }\n                }\n                goto LAB_00139961;\n              }" ({ "{") (expression_statement "iVar3 = strcmp((char *)__s1,"gnu_indirect_function");" (assignment_expression "iVar3 = strcmp((char *)__s1,"gnu_indirect_function")" (identifier "iVar3") (= "=") (call_expression "strcmp((char *)__s1,"gnu_indirect_function")" (identifier "strcmp") (argument_list "((char *)__s1,"gnu_indirect_function")" (( "(") (cast_expression "(char *)__s1" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "__s1")) (, ",") (string_literal ""gnu_indirect_function"" (" """) (string_content "gnu_indirect_function") (" """)) () ")")))) (; ";")) (if_statement "if (((iVar3 == 0) || (iVar3 = strcmp((char *)__s1,"10"), iVar3 == 0)) ||\n                   (iVar3 = strcmp((char *)__s1,"STT_GNU_IFUNC"), iVar3 == 0)) {\n                  uVar1 = *(uint *)(*(long *)(*(long *)(DAT_0019d970 + 8) + 0x368) + 0xc);\n                  if ((9 < uVar1) ||\n                     (uVar11 = 0x400008, (0x209UL >> ((ulong)uVar1 & 0x3f) & 1) == 0)) {\n                    uVar11 = 0x400008;\n                    uVar4 = dcgettext(0,\n                                      "symbol type \"%s\" is supported only by GNU and FreeBSD targets"\n                                      ,5);\n                    FUN_0011f6d0(uVar4,__s1);\n                  }\n                }\n                else {\n                  iVar3 = strcmp((char *)__s1,"gnu_unique_object");\n                  if (iVar3 == 0) {\n                    lVar7 = *(long *)(*(long *)(DAT_0019d970 + 8) + 0x368);\n                    iVar3 = *(int *)(lVar7 + 0xc);\n                    if ((iVar3 != 3) && (iVar3 != 0)) {\n                      uVar4 = dcgettext(0,"symbol type \"%s\" is supported only by GNU targets",5);\n                      FUN_0011f6d0(uVar4,__s1);\n                    }\n                    *(undefined4 *)(lVar7 + 0xc) = 3;\n                    uVar11 = 0x810000;\n                  }\n                  else {\n                    uVar4 = dcgettext(0,"unrecognized symbol type \"%s\"",5);\n                    FUN_0011f6d0(uVar4,__s1);\n                  }\n                }" (if "if") (parenthesized_expression "(((iVar3 == 0) || (iVar3 = strcmp((char *)__s1,"10"), iVar3 == 0)) ||\n                   (iVar3 = strcmp((char *)__s1,"STT_GNU_IFUNC"), iVar3 == 0))" (( "(") (binary_expression "((iVar3 == 0) || (iVar3 = strcmp((char *)__s1,"10"), iVar3 == 0)) ||\n                   (iVar3 = strcmp((char *)__s1,"STT_GNU_IFUNC"), iVar3 == 0)" (parenthesized_expression "((iVar3 == 0) || (iVar3 = strcmp((char *)__s1,"10"), iVar3 == 0))" (( "(") (binary_expression "(iVar3 == 0) || (iVar3 = strcmp((char *)__s1,"10"), iVar3 == 0)" (parenthesized_expression "(iVar3 == 0)" (( "(") (binary_expression "iVar3 == 0" (identifier "iVar3") (== "==") (number_literal "0")) () ")")) (|| "||") (parenthesized_expression "(iVar3 = strcmp((char *)__s1,"10"), iVar3 == 0)" (( "(") (comma_expression "iVar3 = strcmp((char *)__s1,"10"), iVar3 == 0" (assignment_expression "iVar3 = strcmp((char *)__s1,"10")" (identifier "iVar3") (= "=") (call_expression "strcmp((char *)__s1,"10")" (identifier "strcmp") (argument_list "((char *)__s1,"10")" (( "(") (cast_expression "(char *)__s1" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "__s1")) (, ",") (string_literal ""10"" (" """) (string_content "10") (" """)) () ")")))) (, ",") (binary_expression "iVar3 == 0" (identifier "iVar3") (== "==") (number_literal "0"))) () ")"))) () ")")) (|| "||") (parenthesized_expression "(iVar3 = strcmp((char *)__s1,"STT_GNU_IFUNC"), iVar3 == 0)" (( "(") (comma_expression "iVar3 = strcmp((char *)__s1,"STT_GNU_IFUNC"), iVar3 == 0" (assignment_expression "iVar3 = strcmp((char *)__s1,"STT_GNU_IFUNC")" (identifier "iVar3") (= "=") (call_expression "strcmp((char *)__s1,"STT_GNU_IFUNC")" (identifier "strcmp") (argument_list "((char *)__s1,"STT_GNU_IFUNC")" (( "(") (cast_expression "(char *)__s1" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "__s1")) (, ",") (string_literal ""STT_GNU_IFUNC"" (" """) (string_content "STT_GNU_IFUNC") (" """)) () ")")))) (, ",") (binary_expression "iVar3 == 0" (identifier "iVar3") (== "==") (number_literal "0"))) () ")"))) () ")")) (compound_statement "{\n                  uVar1 = *(uint *)(*(long *)(*(long *)(DAT_0019d970 + 8) + 0x368) + 0xc);\n                  if ((9 < uVar1) ||\n                     (uVar11 = 0x400008, (0x209UL >> ((ulong)uVar1 & 0x3f) & 1) == 0)) {\n                    uVar11 = 0x400008;\n                    uVar4 = dcgettext(0,\n                                      "symbol type \"%s\" is supported only by GNU and FreeBSD targets"\n                                      ,5);\n                    FUN_0011f6d0(uVar4,__s1);\n                  }\n                }" ({ "{") (expression_statement "uVar1 = *(uint *)(*(long *)(*(long *)(DAT_0019d970 + 8) + 0x368) + 0xc);" (assignment_expression "uVar1 = *(uint *)(*(long *)(*(long *)(DAT_0019d970 + 8) + 0x368) + 0xc)" (identifier "uVar1") (= "=") (pointer_expression "*(uint *)(*(long *)(*(long *)(DAT_0019d970 + 8) + 0x368) + 0xc)" (* "*") (cast_expression "(uint *)(*(long *)(*(long *)(DAT_0019d970 + 8) + 0x368) + 0xc)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(long *)(*(long *)(DAT_0019d970 + 8) + 0x368) + 0xc)" (( "(") (binary_expression "*(long *)(*(long *)(DAT_0019d970 + 8) + 0x368) + 0xc" (pointer_expression "*(long *)(*(long *)(DAT_0019d970 + 8) + 0x368)" (* "*") (cast_expression "(long *)(*(long *)(DAT_0019d970 + 8) + 0x368)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(long *)(DAT_0019d970 + 8) + 0x368)" (( "(") (binary_expression "*(long *)(DAT_0019d970 + 8) + 0x368" (pointer_expression "*(long *)(DAT_0019d970 + 8)" (* "*") (cast_expression "(long *)(DAT_0019d970 + 8)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(DAT_0019d970 + 8)" (( "(") (binary_expression "DAT_0019d970 + 8" (identifier "DAT_0019d970") (+ "+") (number_literal "8")) () ")")))) (+ "+") (number_literal "0x368")) () ")")))) (+ "+") (number_literal "0xc")) () ")"))))) (; ";")) (if_statement "if ((9 < uVar1) ||\n                     (uVar11 = 0x400008, (0x209UL >> ((ulong)uVar1 & 0x3f) & 1) == 0)) {\n                    uVar11 = 0x400008;\n                    uVar4 = dcgettext(0,\n                                      "symbol type \"%s\" is supported only by GNU and FreeBSD targets"\n                                      ,5);\n                    FUN_0011f6d0(uVar4,__s1);\n                  }" (if "if") (parenthesized_expression "((9 < uVar1) ||\n                     (uVar11 = 0x400008, (0x209UL >> ((ulong)uVar1 & 0x3f) & 1) == 0))" (( "(") (binary_expression "(9 < uVar1) ||\n                     (uVar11 = 0x400008, (0x209UL >> ((ulong)uVar1 & 0x3f) & 1) == 0)" (parenthesized_expression "(9 < uVar1)" (( "(") (binary_expression "9 < uVar1" (number_literal "9") (< "<") (identifier "uVar1")) () ")")) (|| "||") (parenthesized_expression "(uVar11 = 0x400008, (0x209UL >> ((ulong)uVar1 & 0x3f) & 1) == 0)" (( "(") (comma_expression "uVar11 = 0x400008, (0x209UL >> ((ulong)uVar1 & 0x3f) & 1) == 0" (assignment_expression "uVar11 = 0x400008" (identifier "uVar11") (= "=") (number_literal "0x400008")) (, ",") (binary_expression "(0x209UL >> ((ulong)uVar1 & 0x3f) & 1) == 0" (parenthesized_expression "(0x209UL >> ((ulong)uVar1 & 0x3f) & 1)" (( "(") (binary_expression "0x209UL >> ((ulong)uVar1 & 0x3f) & 1" (binary_expression "0x209UL >> ((ulong)uVar1 & 0x3f)" (number_literal "0x209UL") (>> ">>") (parenthesized_expression "((ulong)uVar1 & 0x3f)" (( "(") (binary_expression "(ulong)uVar1 & 0x3f" (cast_expression "(ulong)uVar1" (( "(") (type_descriptor "ulong" (type_identifier "ulong")) () ")") (identifier "uVar1")) (& "&") (number_literal "0x3f")) () ")"))) (& "&") (number_literal "1")) () ")")) (== "==") (number_literal "0"))) () ")"))) () ")")) (compound_statement "{\n                    uVar11 = 0x400008;\n                    uVar4 = dcgettext(0,\n                                      "symbol type \"%s\" is supported only by GNU and FreeBSD targets"\n                                      ,5);\n                    FUN_0011f6d0(uVar4,__s1);\n                  }" ({ "{") (expression_statement "uVar11 = 0x400008;" (assignment_expression "uVar11 = 0x400008" (identifier "uVar11") (= "=") (number_literal "0x400008")) (; ";")) (expression_statement "uVar4 = dcgettext(0,\n                                      "symbol type \"%s\" is supported only by GNU and FreeBSD targets"\n                                      ,5);" (assignment_expression "uVar4 = dcgettext(0,\n                                      "symbol type \"%s\" is supported only by GNU and FreeBSD targets"\n                                      ,5)" (identifier "uVar4") (= "=") (call_expression "dcgettext(0,\n                                      "symbol type \"%s\" is supported only by GNU and FreeBSD targets"\n                                      ,5)" (identifier "dcgettext") (argument_list "(0,\n                                      "symbol type \"%s\" is supported only by GNU and FreeBSD targets"\n                                      ,5)" (( "(") (number_literal "0") (, ",") (string_literal ""symbol type \"%s\" is supported only by GNU and FreeBSD targets"" (" """) (string_content "symbol type ") (escape_sequence "\"") (string_content "%s") (escape_sequence "\"") (string_content " is supported only by GNU and FreeBSD targets") (" """)) (, ",") (number_literal "5") () ")")))) (; ";")) (expression_statement "FUN_0011f6d0(uVar4,__s1);" (call_expression "FUN_0011f6d0(uVar4,__s1)" (identifier "FUN_0011f6d0") (argument_list "(uVar4,__s1)" (( "(") (identifier "uVar4") (, ",") (identifier "__s1") () ")"))) (; ";")) (} "}"))) (} "}")) (else_clause "else {\n                  iVar3 = strcmp((char *)__s1,"gnu_unique_object");\n                  if (iVar3 == 0) {\n                    lVar7 = *(long *)(*(long *)(DAT_0019d970 + 8) + 0x368);\n                    iVar3 = *(int *)(lVar7 + 0xc);\n                    if ((iVar3 != 3) && (iVar3 != 0)) {\n                      uVar4 = dcgettext(0,"symbol type \"%s\" is supported only by GNU targets",5);\n                      FUN_0011f6d0(uVar4,__s1);\n                    }\n                    *(undefined4 *)(lVar7 + 0xc) = 3;\n                    uVar11 = 0x810000;\n                  }\n                  else {\n                    uVar4 = dcgettext(0,"unrecognized symbol type \"%s\"",5);\n                    FUN_0011f6d0(uVar4,__s1);\n                  }\n                }" (else "else") (compound_statement "{\n                  iVar3 = strcmp((char *)__s1,"gnu_unique_object");\n                  if (iVar3 == 0) {\n                    lVar7 = *(long *)(*(long *)(DAT_0019d970 + 8) + 0x368);\n                    iVar3 = *(int *)(lVar7 + 0xc);\n                    if ((iVar3 != 3) && (iVar3 != 0)) {\n                      uVar4 = dcgettext(0,"symbol type \"%s\" is supported only by GNU targets",5);\n                      FUN_0011f6d0(uVar4,__s1);\n                    }\n                    *(undefined4 *)(lVar7 + 0xc) = 3;\n                    uVar11 = 0x810000;\n                  }\n                  else {\n                    uVar4 = dcgettext(0,"unrecognized symbol type \"%s\"",5);\n                    FUN_0011f6d0(uVar4,__s1);\n                  }\n                }" ({ "{") (expression_statement "iVar3 = strcmp((char *)__s1,"gnu_unique_object");" (assignment_expression "iVar3 = strcmp((char *)__s1,"gnu_unique_object")" (identifier "iVar3") (= "=") (call_expression "strcmp((char *)__s1,"gnu_unique_object")" (identifier "strcmp") (argument_list "((char *)__s1,"gnu_unique_object")" (( "(") (cast_expression "(char *)__s1" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "__s1")) (, ",") (string_literal ""gnu_unique_object"" (" """) (string_content "gnu_unique_object") (" """)) () ")")))) (; ";")) (if_statement "if (iVar3 == 0) {\n                    lVar7 = *(long *)(*(long *)(DAT_0019d970 + 8) + 0x368);\n                    iVar3 = *(int *)(lVar7 + 0xc);\n                    if ((iVar3 != 3) && (iVar3 != 0)) {\n                      uVar4 = dcgettext(0,"symbol type \"%s\" is supported only by GNU targets",5);\n                      FUN_0011f6d0(uVar4,__s1);\n                    }\n                    *(undefined4 *)(lVar7 + 0xc) = 3;\n                    uVar11 = 0x810000;\n                  }\n                  else {\n                    uVar4 = dcgettext(0,"unrecognized symbol type \"%s\"",5);\n                    FUN_0011f6d0(uVar4,__s1);\n                  }" (if "if") (parenthesized_expression "(iVar3 == 0)" (( "(") (binary_expression "iVar3 == 0" (identifier "iVar3") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n                    lVar7 = *(long *)(*(long *)(DAT_0019d970 + 8) + 0x368);\n                    iVar3 = *(int *)(lVar7 + 0xc);\n                    if ((iVar3 != 3) && (iVar3 != 0)) {\n                      uVar4 = dcgettext(0,"symbol type \"%s\" is supported only by GNU targets",5);\n                      FUN_0011f6d0(uVar4,__s1);\n                    }\n                    *(undefined4 *)(lVar7 + 0xc) = 3;\n                    uVar11 = 0x810000;\n                  }" ({ "{") (expression_statement "lVar7 = *(long *)(*(long *)(DAT_0019d970 + 8) + 0x368);" (assignment_expression "lVar7 = *(long *)(*(long *)(DAT_0019d970 + 8) + 0x368)" (identifier "lVar7") (= "=") (pointer_expression "*(long *)(*(long *)(DAT_0019d970 + 8) + 0x368)" (* "*") (cast_expression "(long *)(*(long *)(DAT_0019d970 + 8) + 0x368)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(long *)(DAT_0019d970 + 8) + 0x368)" (( "(") (binary_expression "*(long *)(DAT_0019d970 + 8) + 0x368" (pointer_expression "*(long *)(DAT_0019d970 + 8)" (* "*") (cast_expression "(long *)(DAT_0019d970 + 8)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(DAT_0019d970 + 8)" (( "(") (binary_expression "DAT_0019d970 + 8" (identifier "DAT_0019d970") (+ "+") (number_literal "8")) () ")")))) (+ "+") (number_literal "0x368")) () ")"))))) (; ";")) (expression_statement "iVar3 = *(int *)(lVar7 + 0xc);" (assignment_expression "iVar3 = *(int *)(lVar7 + 0xc)" (identifier "iVar3") (= "=") (pointer_expression "*(int *)(lVar7 + 0xc)" (* "*") (cast_expression "(int *)(lVar7 + 0xc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(lVar7 + 0xc)" (( "(") (binary_expression "lVar7 + 0xc" (identifier "lVar7") (+ "+") (number_literal "0xc")) () ")"))))) (; ";")) (if_statement "if ((iVar3 != 3) && (iVar3 != 0)) {\n                      uVar4 = dcgettext(0,"symbol type \"%s\" is supported only by GNU targets",5);\n                      FUN_0011f6d0(uVar4,__s1);\n                    }" (if "if") (parenthesized_expression "((iVar3 != 3) && (iVar3 != 0))" (( "(") (binary_expression "(iVar3 != 3) && (iVar3 != 0)" (parenthesized_expression "(iVar3 != 3)" (( "(") (binary_expression "iVar3 != 3" (identifier "iVar3") (!= "!=") (number_literal "3")) () ")")) (&& "&&") (parenthesized_expression "(iVar3 != 0)" (( "(") (binary_expression "iVar3 != 0" (identifier "iVar3") (!= "!=") (number_literal "0")) () ")"))) () ")")) (compound_statement "{\n                      uVar4 = dcgettext(0,"symbol type \"%s\" is supported only by GNU targets",5);\n                      FUN_0011f6d0(uVar4,__s1);\n                    }" ({ "{") (expression_statement "uVar4 = dcgettext(0,"symbol type \"%s\" is supported only by GNU targets",5);" (assignment_expression "uVar4 = dcgettext(0,"symbol type \"%s\" is supported only by GNU targets",5)" (identifier "uVar4") (= "=") (call_expression "dcgettext(0,"symbol type \"%s\" is supported only by GNU targets",5)" (identifier "dcgettext") (argument_list "(0,"symbol type \"%s\" is supported only by GNU targets",5)" (( "(") (number_literal "0") (, ",") (string_literal ""symbol type \"%s\" is supported only by GNU targets"" (" """) (string_content "symbol type ") (escape_sequence "\"") (string_content "%s") (escape_sequence "\"") (string_content " is supported only by GNU targets") (" """)) (, ",") (number_literal "5") () ")")))) (; ";")) (expression_statement "FUN_0011f6d0(uVar4,__s1);" (call_expression "FUN_0011f6d0(uVar4,__s1)" (identifier "FUN_0011f6d0") (argument_list "(uVar4,__s1)" (( "(") (identifier "uVar4") (, ",") (identifier "__s1") () ")"))) (; ";")) (} "}"))) (expression_statement "*(undefined4 *)(lVar7 + 0xc) = 3;" (assignment_expression "*(undefined4 *)(lVar7 + 0xc) = 3" (pointer_expression "*(undefined4 *)(lVar7 + 0xc)" (* "*") (cast_expression "(undefined4 *)(lVar7 + 0xc)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(lVar7 + 0xc)" (( "(") (binary_expression "lVar7 + 0xc" (identifier "lVar7") (+ "+") (number_literal "0xc")) () ")")))) (= "=") (number_literal "3")) (; ";")) (expression_statement "uVar11 = 0x810000;" (assignment_expression "uVar11 = 0x810000" (identifier "uVar11") (= "=") (number_literal "0x810000")) (; ";")) (} "}")) (else_clause "else {\n                    uVar4 = dcgettext(0,"unrecognized symbol type \"%s\"",5);\n                    FUN_0011f6d0(uVar4,__s1);\n                  }" (else "else") (compound_statement "{\n                    uVar4 = dcgettext(0,"unrecognized symbol type \"%s\"",5);\n                    FUN_0011f6d0(uVar4,__s1);\n                  }" ({ "{") (expression_statement "uVar4 = dcgettext(0,"unrecognized symbol type \"%s\"",5);" (assignment_expression "uVar4 = dcgettext(0,"unrecognized symbol type \"%s\"",5)" (identifier "uVar4") (= "=") (call_expression "dcgettext(0,"unrecognized symbol type \"%s\"",5)" (identifier "dcgettext") (argument_list "(0,"unrecognized symbol type \"%s\"",5)" (( "(") (number_literal "0") (, ",") (string_literal ""unrecognized symbol type \"%s\""" (" """) (string_content "unrecognized symbol type ") (escape_sequence "\"") (string_content "%s") (escape_sequence "\"") (" """)) (, ",") (number_literal "5") () ")")))) (; ";")) (expression_statement "FUN_0011f6d0(uVar4,__s1);" (call_expression "FUN_0011f6d0(uVar4,__s1)" (identifier "FUN_0011f6d0") (argument_list "(uVar4,__s1)" (( "(") (identifier "uVar4") (, ",") (identifier "__s1") () ")"))) (; ";")) (} "}")))) (} "}")))) (goto_statement "goto LAB_00139961;" (goto "goto") (statement_identifier "LAB_00139961") (; ";")) (} "}"))) (expression_statement "iVar3 = FUN_0012ac00(uVar4);" (assignment_expression "iVar3 = FUN_0012ac00(uVar4)" (identifier "iVar3") (= "=") (call_expression "FUN_0012ac00(uVar4)" (identifier "FUN_0012ac00") (argument_list "(uVar4)" (( "(") (identifier "uVar4") () ")")))) (; ";")) (if_statement "if (iVar3 == 0) {\n                iVar3 = FUN_0012aed0(uVar4);\n                if (iVar3 != 0) {\n                  uVar11 = 0x10000;\n                  uVar4 = FUN_0012c530(uVar4,1);\n                  FUN_0012af90(uVar4,_bfd_std_section);\n                  FUN_0012aa50(uVar4,0);\n                  FUN_0012c440(uVar4);\n                  FUN_0012d650(uVar4,&DAT_0019d720);\n                  FUN_0012d370(uVar4);\n                  goto LAB_00139961;\n                }\n                iVar3 = FUN_0012ac30(uVar4);\n                if ((iVar3 != 0) || (iVar3 = FUN_0012da60(uVar4), iVar3 != 0)) {\n                  uVar11 = 0x10000;\n                  uVar4 = FUN_0012af30(uVar4);\n                  uVar6 = dcgettext(0,"symbol \'%s\' is already defined",5);\n                  FUN_0011f6d0(uVar6,uVar4);\n                  goto LAB_00139961;\n                }\n                FUN_0012af90(uVar4,_bfd_std_section);\n                FUN_0012aa50(uVar4,0);\n                FUN_0012c440(uVar4);\n              }" (if "if") (parenthesized_expression "(iVar3 == 0)" (( "(") (binary_expression "iVar3 == 0" (identifier "iVar3") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n                iVar3 = FUN_0012aed0(uVar4);\n                if (iVar3 != 0) {\n                  uVar11 = 0x10000;\n                  uVar4 = FUN_0012c530(uVar4,1);\n                  FUN_0012af90(uVar4,_bfd_std_section);\n                  FUN_0012aa50(uVar4,0);\n                  FUN_0012c440(uVar4);\n                  FUN_0012d650(uVar4,&DAT_0019d720);\n                  FUN_0012d370(uVar4);\n                  goto LAB_00139961;\n                }\n                iVar3 = FUN_0012ac30(uVar4);\n                if ((iVar3 != 0) || (iVar3 = FUN_0012da60(uVar4), iVar3 != 0)) {\n                  uVar11 = 0x10000;\n                  uVar4 = FUN_0012af30(uVar4);\n                  uVar6 = dcgettext(0,"symbol \'%s\' is already defined",5);\n                  FUN_0011f6d0(uVar6,uVar4);\n                  goto LAB_00139961;\n                }\n                FUN_0012af90(uVar4,_bfd_std_section);\n                FUN_0012aa50(uVar4,0);\n                FUN_0012c440(uVar4);\n              }" ({ "{") (expression_statement "iVar3 = FUN_0012aed0(uVar4);" (assignment_expression "iVar3 = FUN_0012aed0(uVar4)" (identifier "iVar3") (= "=") (call_expression "FUN_0012aed0(uVar4)" (identifier "FUN_0012aed0") (argument_list "(uVar4)" (( "(") (identifier "uVar4") () ")")))) (; ";")) (if_statement "if (iVar3 != 0) {\n                  uVar11 = 0x10000;\n                  uVar4 = FUN_0012c530(uVar4,1);\n                  FUN_0012af90(uVar4,_bfd_std_section);\n                  FUN_0012aa50(uVar4,0);\n                  FUN_0012c440(uVar4);\n                  FUN_0012d650(uVar4,&DAT_0019d720);\n                  FUN_0012d370(uVar4);\n                  goto LAB_00139961;\n                }" (if "if") (parenthesized_expression "(iVar3 != 0)" (( "(") (binary_expression "iVar3 != 0" (identifier "iVar3") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n                  uVar11 = 0x10000;\n                  uVar4 = FUN_0012c530(uVar4,1);\n                  FUN_0012af90(uVar4,_bfd_std_section);\n                  FUN_0012aa50(uVar4,0);\n                  FUN_0012c440(uVar4);\n                  FUN_0012d650(uVar4,&DAT_0019d720);\n                  FUN_0012d370(uVar4);\n                  goto LAB_00139961;\n                }" ({ "{") (expression_statement "uVar11 = 0x10000;" (assignment_expression "uVar11 = 0x10000" (identifier "uVar11") (= "=") (number_literal "0x10000")) (; ";")) (expression_statement "uVar4 = FUN_0012c530(uVar4,1);" (assignment_expression "uVar4 = FUN_0012c530(uVar4,1)" (identifier "uVar4") (= "=") (call_expression "FUN_0012c530(uVar4,1)" (identifier "FUN_0012c530") (argument_list "(uVar4,1)" (( "(") (identifier "uVar4") (, ",") (number_literal "1") () ")")))) (; ";")) (expression_statement "FUN_0012af90(uVar4,_bfd_std_section);" (call_expression "FUN_0012af90(uVar4,_bfd_std_section)" (identifier "FUN_0012af90") (argument_list "(uVar4,_bfd_std_section)" (( "(") (identifier "uVar4") (, ",") (identifier "_bfd_std_section") () ")"))) (; ";")) (expression_statement "FUN_0012aa50(uVar4,0);" (call_expression "FUN_0012aa50(uVar4,0)" (identifier "FUN_0012aa50") (argument_list "(uVar4,0)" (( "(") (identifier "uVar4") (, ",") (number_literal "0") () ")"))) (; ";")) (expression_statement "FUN_0012c440(uVar4);" (call_expression "FUN_0012c440(uVar4)" (identifier "FUN_0012c440") (argument_list "(uVar4)" (( "(") (identifier "uVar4") () ")"))) (; ";")) (expression_statement "FUN_0012d650(uVar4,&DAT_0019d720);" (call_expression "FUN_0012d650(uVar4,&DAT_0019d720)" (identifier "FUN_0012d650") (argument_list "(uVar4,&DAT_0019d720)" (( "(") (identifier "uVar4") (, ",") (pointer_expression "&DAT_0019d720" (& "&") (identifier "DAT_0019d720")) () ")"))) (; ";")) (expression_statement "FUN_0012d370(uVar4);" (call_expression "FUN_0012d370(uVar4)" (identifier "FUN_0012d370") (argument_list "(uVar4)" (( "(") (identifier "uVar4") () ")"))) (; ";")) (goto_statement "goto LAB_00139961;" (goto "goto") (statement_identifier "LAB_00139961") (; ";")) (} "}"))) (expression_statement "iVar3 = FUN_0012ac30(uVar4);" (assignment_expression "iVar3 = FUN_0012ac30(uVar4)" (identifier "iVar3") (= "=") (call_expression "FUN_0012ac30(uVar4)" (identifier "FUN_0012ac30") (argument_list "(uVar4)" (( "(") (identifier "uVar4") () ")")))) (; ";")) (if_statement "if ((iVar3 != 0) || (iVar3 = FUN_0012da60(uVar4), iVar3 != 0)) {\n                  uVar11 = 0x10000;\n                  uVar4 = FUN_0012af30(uVar4);\n                  uVar6 = dcgettext(0,"symbol \'%s\' is already defined",5);\n                  FUN_0011f6d0(uVar6,uVar4);\n                  goto LAB_00139961;\n                }" (if "if") (parenthesized_expression "((iVar3 != 0) || (iVar3 = FUN_0012da60(uVar4), iVar3 != 0))" (( "(") (binary_expression "(iVar3 != 0) || (iVar3 = FUN_0012da60(uVar4), iVar3 != 0)" (parenthesized_expression "(iVar3 != 0)" (( "(") (binary_expression "iVar3 != 0" (identifier "iVar3") (!= "!=") (number_literal "0")) () ")")) (|| "||") (parenthesized_expression "(iVar3 = FUN_0012da60(uVar4), iVar3 != 0)" (( "(") (comma_expression "iVar3 = FUN_0012da60(uVar4), iVar3 != 0" (assignment_expression "iVar3 = FUN_0012da60(uVar4)" (identifier "iVar3") (= "=") (call_expression "FUN_0012da60(uVar4)" (identifier "FUN_0012da60") (argument_list "(uVar4)" (( "(") (identifier "uVar4") () ")")))) (, ",") (binary_expression "iVar3 != 0" (identifier "iVar3") (!= "!=") (number_literal "0"))) () ")"))) () ")")) (compound_statement "{\n                  uVar11 = 0x10000;\n                  uVar4 = FUN_0012af30(uVar4);\n                  uVar6 = dcgettext(0,"symbol \'%s\' is already defined",5);\n                  FUN_0011f6d0(uVar6,uVar4);\n                  goto LAB_00139961;\n                }" ({ "{") (expression_statement "uVar11 = 0x10000;" (assignment_expression "uVar11 = 0x10000" (identifier "uVar11") (= "=") (number_literal "0x10000")) (; ";")) (expression_statement "uVar4 = FUN_0012af30(uVar4);" (assignment_expression "uVar4 = FUN_0012af30(uVar4)" (identifier "uVar4") (= "=") (call_expression "FUN_0012af30(uVar4)" (identifier "FUN_0012af30") (argument_list "(uVar4)" (( "(") (identifier "uVar4") () ")")))) (; ";")) (expression_statement "uVar6 = dcgettext(0,"symbol \'%s\' is already defined",5);" (assignment_expression "uVar6 = dcgettext(0,"symbol \'%s\' is already defined",5)" (identifier "uVar6") (= "=") (call_expression "dcgettext(0,"symbol \'%s\' is already defined",5)" (identifier "dcgettext") (argument_list "(0,"symbol \'%s\' is already defined",5)" (( "(") (number_literal "0") (, ",") (string_literal ""symbol \'%s\' is already defined"" (" """) (string_content "symbol ") (escape_sequence "\'") (string_content "%s") (escape_sequence "\'") (string_content " is already defined") (" """)) (, ",") (number_literal "5") () ")")))) (; ";")) (expression_statement "FUN_0011f6d0(uVar6,uVar4);" (call_expression "FUN_0011f6d0(uVar6,uVar4)" (identifier "FUN_0011f6d0") (argument_list "(uVar6,uVar4)" (( "(") (identifier "uVar6") (, ",") (identifier "uVar4") () ")"))) (; ";")) (goto_statement "goto LAB_00139961;" (goto "goto") (statement_identifier "LAB_00139961") (; ";")) (} "}"))) (expression_statement "FUN_0012af90(uVar4,_bfd_std_section);" (call_expression "FUN_0012af90(uVar4,_bfd_std_section)" (identifier "FUN_0012af90") (argument_list "(uVar4,_bfd_std_section)" (( "(") (identifier "uVar4") (, ",") (identifier "_bfd_std_section") () ")"))) (; ";")) (expression_statement "FUN_0012aa50(uVar4,0);" (call_expression "FUN_0012aa50(uVar4,0)" (identifier "FUN_0012aa50") (argument_list "(uVar4,0)" (( "(") (identifier "uVar4") (, ",") (number_literal "0") () ")"))) (; ";")) (expression_statement "FUN_0012c440(uVar4);" (call_expression "FUN_0012c440(uVar4)" (identifier "FUN_0012c440") (argument_list "(uVar4)" (( "(") (identifier "uVar4") () ")"))) (; ";")) (} "}"))) (} "}"))) (} "}"))) (} "}"))) (expression_statement "uVar11 = 0x10000;" (assignment_expression "uVar11 = 0x10000" (identifier "uVar11") (= "=") (number_literal "0x10000")) (; ";")) (} "}"))) (} "}"))) (} "}"))) (labeled_statement "LAB_00139961:\n  *DAT_0019d9a0 = bVar2;" (statement_identifier "LAB_00139961") (: ":") (expression_statement "*DAT_0019d9a0 = bVar2;" (assignment_expression "*DAT_0019d9a0 = bVar2" (pointer_expression "*DAT_0019d9a0" (* "*") (identifier "DAT_0019d9a0")) (= "=") (identifier "bVar2")) (; ";"))) (if_statement "if (*DAT_0019d9a0 == 0x22) {\n    DAT_0019d9a0 = DAT_0019d9a0 + 1;\n  }" (if "if") (parenthesized_expression "(*DAT_0019d9a0 == 0x22)" (( "(") (binary_expression "*DAT_0019d9a0 == 0x22" (pointer_expression "*DAT_0019d9a0" (* "*") (identifier "DAT_0019d9a0")) (== "==") (number_literal "0x22")) () ")")) (compound_statement "{\n    DAT_0019d9a0 = DAT_0019d9a0 + 1;\n  }" ({ "{") (expression_statement "DAT_0019d9a0 = DAT_0019d9a0 + 1;" (assignment_expression "DAT_0019d9a0 = DAT_0019d9a0 + 1" (identifier "DAT_0019d9a0") (= "=") (binary_expression "DAT_0019d9a0 + 1" (identifier "DAT_0019d9a0") (+ "+") (number_literal "1"))) (; ";")) (} "}"))) (expression_statement "*(uint *)(lVar5 + 0x18) = *(uint *)(lVar5 + 0x18) | uVar11;" (assignment_expression "*(uint *)(lVar5 + 0x18) = *(uint *)(lVar5 + 0x18) | uVar11" (pointer_expression "*(uint *)(lVar5 + 0x18)" (* "*") (cast_expression "(uint *)(lVar5 + 0x18)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(lVar5 + 0x18)" (( "(") (binary_expression "lVar5 + 0x18" (identifier "lVar5") (+ "+") (number_literal "0x18")) () ")")))) (= "=") (binary_expression "*(uint *)(lVar5 + 0x18) | uVar11" (pointer_expression "*(uint *)(lVar5 + 0x18)" (* "*") (cast_expression "(uint *)(lVar5 + 0x18)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(lVar5 + 0x18)" (( "(") (binary_expression "lVar5 + 0x18" (identifier "lVar5") (+ "+") (number_literal "0x18")) () ")")))) (| "|") (identifier "uVar11"))) (; ";")) (expression_statement "FUN_00121a20();" (call_expression "FUN_00121a20()" (identifier "FUN_00121a20") (argument_list "()" (( "(") () ")"))) (; ";")) (return_statement "return;" (return "return") (; ";")) (} "}")))

void function_1(int ignore)

{
  type_1 var_3;
  type_2 var_15;
  void *pvVar3;
  char var_5;
  int var_14;
  type_3 *psVar6;
  type_4 *paVar7;
  char *pcVar8;
  char *pcVar9;
  long var_7;
  type_1 *var_8;
  type_1 *var_9;
  type_2 var_29;
  type_5 uVar14;
  bool var_10;
  bool var_11;
  type_5 uVar17;
  bool var_12;
  type_1 bVar19;
  char *p;
  
  bVar19 = 0;
  psVar6 = var_1();
  paVar7 = var_2(psVar6);
  var_3 = *var_4;
  if (var_3 == 0x2c) {
    var_3 = var_4[1];
    var_4 = var_4 + 1;
  }
  if (var_3 == 0x20) {
    var_3 = var_4[1];
    var_4 = var_4 + 1;
  }
  if (((type_1)(var_3 - 0x22) < 0x1f) && ((0x4000000bUL >> ((type_6)(var_3 - 0x22) & 0x3f) & 1) != 0))
  {
    var_4 = var_4 + 1;
  }
  p = var_4;
  var_3 = *var_4 - 0x30;
  uVar14 = var_3 < 9;
  uVar17 = var_3 == 9;
  if (var_3 < 10) {
    do {
      var_4 = var_4 + 1;
      var_5 = *var_4;
      var_3 = var_5 - 0x30;
      uVar14 = var_3 < 9;
      uVar17 = var_3 == 9;
    } while (var_3 < 10);
    *var_4 = '\0';
  }
  else {
    var_5 = var_6(&p);
  }
  pcVar9 = p;
  var_7 = 9;
  var_29 = 8;
  var_8 = (type_1 *)p;
  var_9 = (type_1 *)0x1464a7;
  do {
    if (var_7 == 0) break;
    var_7 = var_7 + -1;
    uVar14 = *var_8 < *var_9;
    uVar17 = *var_8 == *var_9;
    var_8 = var_8 + (type_6)bVar19 * -2 + 1;
    var_9 = var_9 + (type_6)bVar19 * -2 + 1;
  } while ((bool)uVar17);
  var_10 = false;
  var_12 = (!(bool)uVar14 && !(bool)uVar17) == (bool)uVar14;
  if (!var_12) {
    var_7 = 2;
    var_8 = (type_1 *)p;
    var_9 = (type_1 *)0x14246c;
    do {
      if (var_7 == 0) break;
      var_7 = var_7 + -1;
      var_10 = *var_8 < *var_9;
      var_12 = *var_8 == *var_9;
      var_8 = var_8 + (type_6)bVar19 * -2 + 1;
      var_9 = var_9 + (type_6)bVar19 * -2 + 1;
    } while (var_12);
    var_11 = false;
    var_10 = (!var_10 && !var_12) == var_10;
    if (!var_10) {
      var_7 = 9;
      var_8 = (type_1 *)p;
      var_9 = (type_1 *)"STT_FUNC";
      do {
        if (var_7 == 0) break;
        var_7 = var_7 + -1;
        var_11 = *var_8 < *var_9;
        var_10 = *var_8 == *var_9;
        var_8 = var_8 + (type_6)bVar19 * -2 + 1;
        var_9 = var_9 + (type_6)bVar19 * -2 + 1;
      } while (var_10);
      var_12 = false;
      var_10 = (!var_11 && !var_10) == var_11;
      if (!var_10) {
        var_7 = 7;
        var_8 = (type_1 *)p;
        var_9 = (type_1 *)0x1464c9;
        do {
          if (var_7 == 0) break;
          var_7 = var_7 + -1;
          var_12 = *var_8 < *var_9;
          var_10 = *var_8 == *var_9;
          var_8 = var_8 + (type_6)bVar19 * -2 + 1;
          var_9 = var_9 + (type_6)bVar19 * -2 + 1;
        } while (var_10);
        var_11 = false;
        var_10 = (!var_12 && !var_10) == var_12;
        if (!var_10) {
          var_7 = 2;
          var_8 = (type_1 *)p;
          var_9 = (type_1 *)0x13f34c;
          do {
            if (var_7 == 0) break;
            var_7 = var_7 + -1;
            var_11 = *var_8 < *var_9;
            var_10 = *var_8 == *var_9;
            var_8 = var_8 + (type_6)bVar19 * -2 + 1;
            var_9 = var_9 + (type_6)bVar19 * -2 + 1;
          } while (var_10);
          var_12 = false;
          var_10 = (!var_11 && !var_10) == var_11;
          if (!var_10) {
            var_7 = 0xb;
            var_8 = (type_1 *)p;
            var_9 = (type_1 *)"STT_OBJECT";
            do {
              if (var_7 == 0) break;
              var_7 = var_7 + -1;
              var_12 = *var_8 < *var_9;
              var_10 = *var_8 == *var_9;
              var_8 = var_8 + (type_6)bVar19 * -2 + 1;
              var_9 = var_9 + (type_6)bVar19 * -2 + 1;
            } while (var_10);
            var_11 = false;
            var_10 = (!var_12 && !var_10) == var_12;
            if (!var_10) {
              var_7 = 0xb;
              var_29 = 0x50000;
              var_8 = (type_1 *)p;
              var_9 = (type_1 *)"tls_object";
              do {
                if (var_7 == 0) break;
                var_7 = var_7 + -1;
                var_11 = *var_8 < *var_9;
                var_10 = *var_8 == *var_9;
                var_8 = var_8 + (type_6)bVar19 * -2 + 1;
                var_9 = var_9 + (type_6)bVar19 * -2 + 1;
              } while (var_10);
              var_12 = false;
              var_10 = (!var_11 && !var_10) == var_11;
              if (var_10) goto LAB_00139961;
              var_7 = 2;
              var_8 = (type_1 *)p;
              var_9 = &DAT_001448ab;
              do {
                if (var_7 == 0) break;
                var_7 = var_7 + -1;
                var_12 = *var_8 < *var_9;
                var_10 = *var_8 == *var_9;
                var_8 = var_8 + (type_6)bVar19 * -2 + 1;
                var_9 = var_9 + (type_6)bVar19 * -2 + 1;
              } while (var_10);
              var_11 = false;
              var_10 = (!var_12 && !var_10) == var_12;
              if (var_10) goto LAB_00139961;
              var_7 = 8;
              var_8 = (type_1 *)p;
              var_9 = (type_1 *)"STT_TLS";
              do {
                if (var_7 == 0) break;
                var_7 = var_7 + -1;
                var_11 = *var_8 < *var_9;
                var_10 = *var_8 == *var_9;
                var_8 = var_8 + (type_6)bVar19 * -2 + 1;
                var_9 = var_9 + (type_6)bVar19 * -2 + 1;
              } while (var_10);
              var_12 = false;
              var_10 = (!var_11 && !var_10) == var_11;
              if (var_10) goto LAB_00139961;
              var_7 = 7;
              var_8 = (type_1 *)p;
              var_9 = (type_1 *)"notype";
              do {
                if (var_7 == 0) break;
                var_7 = var_7 + -1;
                var_12 = *var_8 < *var_9;
                var_10 = *var_8 == *var_9;
                var_8 = var_8 + (type_6)bVar19 * -2 + 1;
                var_9 = var_9 + (type_6)bVar19 * -2 + 1;
              } while (var_10);
              var_29 = 0;
              if ((((!var_12 && !var_10) == var_12) || (var_14 = var_13(p,"0"), var_14 == 0)) ||
                 (var_14 = var_13(pcVar9,"STT_NOTYPE"), var_14 == 0)) goto LAB_00139961;
              var_14 = var_13(pcVar9,"common");
              if (((var_14 != 0) && (var_14 = var_13(pcVar9,"5"), var_14 != 0)) &&
                 (var_14 = var_13(pcVar9,"STT_COMMON"), var_14 != 0)) {
                var_14 = var_13(pcVar9,"gnu_indirect_function");
                if (((var_14 == 0) || (var_14 = var_13(pcVar9,"10"), var_14 == 0)) ||
                   (var_14 = var_13(pcVar9,"STT_GNU_IFUNC"), var_14 == 0)) {
                  var_15 = *(type_2 *)((long)stdoutput->xvec->backend_data + 0xc);
                  if ((9 < var_15) ||
                     (var_29 = 0x400008, (0x209UL >> ((type_6)var_15 & 0x3f) & 1) == 0)) {
                    var_29 = 0x400008;
                    pcVar8 = (char *)var_16(0,
                                               "symbol type \"%s\" is supported only by GNU and FreeBSD targets"
                                               ,5);
                    var_17(pcVar8,pcVar9);
                  }
                }
                else {
                  var_14 = var_13(pcVar9,"gnu_unique_object");
                  if (var_14 == 0) {
                    pvVar3 = stdoutput->xvec->backend_data;
                    var_14 = *(int *)((long)pvVar3 + 0xc);
                    if ((var_14 != 3) && (var_14 != 0)) {
                      pcVar8 = (char *)var_16(0,
                                                 "symbol type \"%s\" is supported only by GNU targets"
                                                 ,5);
                      var_17(pcVar8,pcVar9);
                    }
                    *(type_7 *)((long)pvVar3 + 0xc) = 3;
                    var_29 = 0x810000;
                  }
                  else {
                    pcVar8 = (char *)var_16(0,"unrecognized symbol type \"%s\"",5);
                    var_17(pcVar8,pcVar9);
                  }
                }
                goto LAB_00139961;
              }
              var_14 = var_18(psVar6);
              if (var_14 == 0) {
                var_14 = var_19(psVar6);
                if (var_14 != 0) {
                  var_29 = 0x10000;
                  psVar6 = var_20(psVar6,1);
                  var_21(psVar6,(type_8)_bfd_std_section);
                  var_22(psVar6,0);
                  var_23(psVar6);
                  var_24(psVar6,&zero_address_frag);
                  var_25(psVar6);
                  goto LAB_00139961;
                }
                var_14 = var_26(psVar6);
                if ((var_14 != 0) || (var_14 = var_27(psVar6), var_14 != 0)) {
                  var_29 = 0x10000;
                  pcVar9 = var_28(psVar6);
                  pcVar8 = (char *)var_16(0,"symbol \'%s\' is already defined",5);
                  var_17(pcVar8,pcVar9);
                  goto LAB_00139961;
                }
                var_21(psVar6,(type_8)_bfd_std_section);
                var_22(psVar6,0);
                var_23(psVar6);
              }
            }
          }
        }
        var_29 = 0x10000;
      }
    }
  }
LAB_00139961:
  *var_4 = var_5;
  if (*var_4 == '\"') {
    var_4 = var_4 + 1;
  }
  paVar7->flags = paVar7->flags | var_29;
  var_30();
  return;
}


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

void MASKED(void)

{
  uint uVar1;
  byte *__s1;
  byte bVar2;
  int iVar3;
  undefined8 uVar4;
  long lVar5;
  undefined8 uVar6;
  long lVar7;
  byte bVar8;
  byte *pbVar9;
  byte *pbVar10;
  uint uVar11;
  undefined1 uVar12;
  bool bVar13;
  bool bVar14;
  undefined1 uVar15;
  bool bVar16;
  byte bVar17;
  byte *local_30;
  
  bVar17 = 0;
  uVar4 = FUN_001394d0();
  lVar5 = FUN_0012db90(uVar4);
  bVar2 = *DAT_0019d9a0;
  if (bVar2 == 0x2c) {
    bVar2 = DAT_0019d9a0[1];
    DAT_0019d9a0 = DAT_0019d9a0 + 1;
  }
  if (bVar2 == 0x20) {
    bVar2 = DAT_0019d9a0[1];
    DAT_0019d9a0 = DAT_0019d9a0 + 1;
  }
  if (((byte)(bVar2 - 0x22) < 0x1f) && ((0x4000000bUL >> ((ulong)(bVar2 - 0x22) & 0x3f) & 1) != 0))
  {
    DAT_0019d9a0 = DAT_0019d9a0 + 1;
  }
  local_30 = DAT_0019d9a0;
  bVar2 = *DAT_0019d9a0 - 0x30;
  uVar12 = bVar2 < 9;
  uVar15 = bVar2 == 9;
  if (bVar2 < 10) {
    do {
      DAT_0019d9a0 = DAT_0019d9a0 + 1;
      bVar2 = *DAT_0019d9a0;
      bVar8 = bVar2 - 0x30;
      uVar12 = bVar8 < 9;
      uVar15 = bVar8 == 9;
    } while (bVar8 < 10);
    *DAT_0019d9a0 = 0;
  }
  else {
    bVar2 = FUN_00116b30(&local_30);
  }
  __s1 = local_30;
  lVar7 = 9;
  uVar11 = 8;
  pbVar9 = local_30;
  pbVar10 = (byte *)0x1464a7;
  do {
    if (lVar7 == 0) break;
    lVar7 = lVar7 + -1;
    uVar12 = *pbVar9 < *pbVar10;
    uVar15 = *pbVar9 == *pbVar10;
    pbVar9 = pbVar9 + (ulong)bVar17 * -2 + 1;
    pbVar10 = pbVar10 + (ulong)bVar17 * -2 + 1;
  } while ((bool)uVar15);
  bVar13 = false;
  bVar16 = (!(bool)uVar12 && !(bool)uVar15) == (bool)uVar12;
  if (!bVar16) {
    lVar7 = 2;
    pbVar9 = local_30;
    pbVar10 = (byte *)0x14246c;
    do {
      if (lVar7 == 0) break;
      lVar7 = lVar7 + -1;
      bVar13 = *pbVar9 < *pbVar10;
      bVar16 = *pbVar9 == *pbVar10;
      pbVar9 = pbVar9 + (ulong)bVar17 * -2 + 1;
      pbVar10 = pbVar10 + (ulong)bVar17 * -2 + 1;
    } while (bVar16);
    bVar14 = false;
    bVar13 = (!bVar13 && !bVar16) == bVar13;
    if (!bVar13) {
      lVar7 = 9;
      pbVar9 = local_30;
      pbVar10 = (byte *)"STT_FUNC";
      do {
        if (lVar7 == 0) break;
        lVar7 = lVar7 + -1;
        bVar14 = *pbVar9 < *pbVar10;
        bVar13 = *pbVar9 == *pbVar10;
        pbVar9 = pbVar9 + (ulong)bVar17 * -2 + 1;
        pbVar10 = pbVar10 + (ulong)bVar17 * -2 + 1;
      } while (bVar13);
      bVar16 = false;
      bVar13 = (!bVar14 && !bVar13) == bVar14;
      if (!bVar13) {
        lVar7 = 7;
        pbVar9 = local_30;
        pbVar10 = (byte *)0x1464c9;
        do {
          if (lVar7 == 0) break;
          lVar7 = lVar7 + -1;
          bVar16 = *pbVar9 < *pbVar10;
          bVar13 = *pbVar9 == *pbVar10;
          pbVar9 = pbVar9 + (ulong)bVar17 * -2 + 1;
          pbVar10 = pbVar10 + (ulong)bVar17 * -2 + 1;
        } while (bVar13);
        bVar14 = false;
        bVar13 = (!bVar16 && !bVar13) == bVar16;
        if (!bVar13) {
          lVar7 = 2;
          pbVar9 = local_30;
          pbVar10 = (byte *)0x13f34c;
          do {
            if (lVar7 == 0) break;
            lVar7 = lVar7 + -1;
            bVar14 = *pbVar9 < *pbVar10;
            bVar13 = *pbVar9 == *pbVar10;
            pbVar9 = pbVar9 + (ulong)bVar17 * -2 + 1;
            pbVar10 = pbVar10 + (ulong)bVar17 * -2 + 1;
          } while (bVar13);
          bVar16 = false;
          bVar13 = (!bVar14 && !bVar13) == bVar14;
          if (!bVar13) {
            lVar7 = 0xb;
            pbVar9 = local_30;
            pbVar10 = (byte *)"STT_OBJECT";
            do {
              if (lVar7 == 0) break;
              lVar7 = lVar7 + -1;
              bVar16 = *pbVar9 < *pbVar10;
              bVar13 = *pbVar9 == *pbVar10;
              pbVar9 = pbVar9 + (ulong)bVar17 * -2 + 1;
              pbVar10 = pbVar10 + (ulong)bVar17 * -2 + 1;
            } while (bVar13);
            bVar14 = false;
            bVar13 = (!bVar16 && !bVar13) == bVar16;
            if (!bVar13) {
              lVar7 = 0xb;
              uVar11 = 0x50000;
              pbVar9 = local_30;
              pbVar10 = (byte *)"tls_object";
              do {
                if (lVar7 == 0) break;
                lVar7 = lVar7 + -1;
                bVar14 = *pbVar9 < *pbVar10;
                bVar13 = *pbVar9 == *pbVar10;
                pbVar9 = pbVar9 + (ulong)bVar17 * -2 + 1;
                pbVar10 = pbVar10 + (ulong)bVar17 * -2 + 1;
              } while (bVar13);
              bVar16 = false;
              bVar13 = (!bVar14 && !bVar13) == bVar14;
              if (bVar13) goto LAB_00139961;
              lVar7 = 2;
              pbVar9 = local_30;
              pbVar10 = &DAT_001448ab;
              do {
                if (lVar7 == 0) break;
                lVar7 = lVar7 + -1;
                bVar16 = *pbVar9 < *pbVar10;
                bVar13 = *pbVar9 == *pbVar10;
                pbVar9 = pbVar9 + (ulong)bVar17 * -2 + 1;
                pbVar10 = pbVar10 + (ulong)bVar17 * -2 + 1;
              } while (bVar13);
              bVar14 = false;
              bVar13 = (!bVar16 && !bVar13) == bVar16;
              if (bVar13) goto LAB_00139961;
              lVar7 = 8;
              pbVar9 = local_30;
              pbVar10 = (byte *)"STT_TLS";
              do {
                if (lVar7 == 0) break;
                lVar7 = lVar7 + -1;
                bVar14 = *pbVar9 < *pbVar10;
                bVar13 = *pbVar9 == *pbVar10;
                pbVar9 = pbVar9 + (ulong)bVar17 * -2 + 1;
                pbVar10 = pbVar10 + (ulong)bVar17 * -2 + 1;
              } while (bVar13);
              bVar16 = false;
              bVar13 = (!bVar14 && !bVar13) == bVar14;
              if (bVar13) goto LAB_00139961;
              lVar7 = 7;
              pbVar9 = local_30;
              pbVar10 = (byte *)"notype";
              do {
                if (lVar7 == 0) break;
                lVar7 = lVar7 + -1;
                bVar16 = *pbVar9 < *pbVar10;
                bVar13 = *pbVar9 == *pbVar10;
                pbVar9 = pbVar9 + (ulong)bVar17 * -2 + 1;
                pbVar10 = pbVar10 + (ulong)bVar17 * -2 + 1;
              } while (bVar13);
              uVar11 = 0;
              if ((((!bVar16 && !bVar13) == bVar16) ||
                  (iVar3 = strcmp((char *)local_30,"0"), iVar3 == 0)) ||
                 (iVar3 = strcmp((char *)__s1,"STT_NOTYPE"), iVar3 == 0)) goto LAB_00139961;
              iVar3 = strcmp((char *)__s1,"common");
              if (((iVar3 != 0) && (iVar3 = strcmp((char *)__s1,"5"), iVar3 != 0)) &&
                 (iVar3 = strcmp((char *)__s1,"STT_COMMON"), iVar3 != 0)) {
                iVar3 = strcmp((char *)__s1,"gnu_indirect_function");
                if (((iVar3 == 0) || (iVar3 = strcmp((char *)__s1,"10"), iVar3 == 0)) ||
                   (iVar3 = strcmp((char *)__s1,"STT_GNU_IFUNC"), iVar3 == 0)) {
                  uVar1 = *(uint *)(*(long *)(*(long *)(DAT_0019d970 + 8) + 0x368) + 0xc);
                  if ((9 < uVar1) ||
                     (uVar11 = 0x400008, (0x209UL >> ((ulong)uVar1 & 0x3f) & 1) == 0)) {
                    uVar11 = 0x400008;
                    uVar4 = dcgettext(0,
                                      "symbol type \"%s\" is supported only by GNU and FreeBSD targets"
                                      ,5);
                    FUN_0011f6d0(uVar4,__s1);
                  }
                }
                else {
                  iVar3 = strcmp((char *)__s1,"gnu_unique_object");
                  if (iVar3 == 0) {
                    lVar7 = *(long *)(*(long *)(DAT_0019d970 + 8) + 0x368);
                    iVar3 = *(int *)(lVar7 + 0xc);
                    if ((iVar3 != 3) && (iVar3 != 0)) {
                      uVar4 = dcgettext(0,"symbol type \"%s\" is supported only by GNU targets",5);
                      FUN_0011f6d0(uVar4,__s1);
                    }
                    *(undefined4 *)(lVar7 + 0xc) = 3;
                    uVar11 = 0x810000;
                  }
                  else {
                    uVar4 = dcgettext(0,"unrecognized symbol type \"%s\"",5);
                    FUN_0011f6d0(uVar4,__s1);
                  }
                }
                goto LAB_00139961;
              }
              iVar3 = FUN_0012ac00(uVar4);
              if (iVar3 == 0) {
                iVar3 = FUN_0012aed0(uVar4);
                if (iVar3 != 0) {
                  uVar11 = 0x10000;
                  uVar4 = FUN_0012c530(uVar4,1);
                  FUN_0012af90(uVar4,_bfd_std_section);
                  FUN_0012aa50(uVar4,0);
                  FUN_0012c440(uVar4);
                  FUN_0012d650(uVar4,&DAT_0019d720);
                  FUN_0012d370(uVar4);
                  goto LAB_00139961;
                }
                iVar3 = FUN_0012ac30(uVar4);
                if ((iVar3 != 0) || (iVar3 = FUN_0012da60(uVar4), iVar3 != 0)) {
                  uVar11 = 0x10000;
                  uVar4 = FUN_0012af30(uVar4);
                  uVar6 = dcgettext(0,"symbol \'%s\' is already defined",5);
                  FUN_0011f6d0(uVar6,uVar4);
                  goto LAB_00139961;
                }
                FUN_0012af90(uVar4,_bfd_std_section);
                FUN_0012aa50(uVar4,0);
                FUN_0012c440(uVar4);
              }
            }
          }
        }
        uVar11 = 0x10000;
      }
    }
  }
LAB_00139961:
  *DAT_0019d9a0 = bVar2;
  if (*DAT_0019d9a0 == 0x22) {
    DAT_0019d9a0 = DAT_0019d9a0 + 1;
  }
  *(uint *)(lVar5 + 0x18) = *(uint *)(lVar5 + 0x18) | uVar11;
  FUN_00121a20();
  return;
}

