
lang_output_section_statement_type *
gldelf32ltsmipn32_place_orphan(asection *s,char *secname,int constraint)

{
  bool bVar1;
  char cVar2;
  int iVar3;
  asection *paVar4;
  lang_output_section_statement_type *plVar5;
  lang_output_section_statement_type *plVar6;
  undefined *puVar7;
  undefined *puVar8;
  int iVar9;
  uint uVar10;
  bfd *pbVar11;
  void *pvVar12;
  bfd_flavour bVar13;
  flagword fVar14;
  lang_output_section_statement_type *plVar15;
  int iVar16;
  int *piVar17;
  int iVar18;
  int *piVar19;
  int iVar20;
  int local_44;
  int local_40;
  int local_34;
  
  puVar7 = PTR_link_info_001db928;
  bVar13 = s->owner->xvec->flavour;
  iVar16 = *(int *)(*(int *)(*(int *)(PTR_link_info_001db928 + 0x34) + 4) + 4);
  if (bVar13 == bfd_target_elf_flavour) {
    local_44 = *(int *)((int)s->used_by_bfd + 4);
  }
  else {
    local_44 = 0;
  }
  if ((*(uint *)PTR_link_info_001db928 & 0xc0000000) == 0x80000000) {
LAB_00058478:
    bVar1 = false;
  }
  else {
    if ((-1 < *(int *)(PTR_link_info_001db928 + 4) << 6) || (uVar10 = s->flags, (uVar10 & 1) == 0))
    {
      if (bVar13 == bfd_target_elf_flavour) {
        bVar1 = false;
LAB_0005886c:
        if ((iVar16 != 5) || (uVar10 = s->flags, (uVar10 & 1) == 0)) goto LAB_0005847c;
        pvVar12 = s->used_by_bfd;
        goto LAB_0005888c;
      }
      goto LAB_00058478;
    }
    if (bVar13 == bfd_target_elf_flavour) {
      if (local_44 == 4) {
        bVar1 = true;
        secname = PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb14;
        goto LAB_0005886c;
      }
      bVar1 = local_44 == 9;
      if (bVar1) {
        secname = PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb44;
      }
      if (iVar16 != 5) goto LAB_0005847c;
      pvVar12 = s->used_by_bfd;
LAB_0005888c:
      if (*(int *)((int)pvVar12 + 0xc) << 7 < 0) {
        plVar6 = *(lang_output_section_statement_type **)PTR_lang_output_section_statement_001dbbf4;
        if (plVar6 != (lang_output_section_statement_type *)0x0) {
          do {
            paVar4 = plVar6->bfd_section;
            if ((((paVar4 != (asection *)0x0) &&
                 (paVar4 != (asection *)(PTR__bfd_std_section_001dbf30 + 400))) &&
                ((*(uint *)((int)paVar4->used_by_bfd + 0xc) & 0x1000000) != 0)) &&
               ((((uVar10 ^ paVar4->flags) & 0x11b) == 0 &&
                (*(int *)((int)paVar4->used_by_bfd + 0x2c) == *(int *)((int)pvVar12 + 0x2c)))))
            goto LAB_000586a0;
            plVar6 = plVar6->next;
          } while (plVar6 != (lang_output_section_statement_struct *)0x0);
        }
        if ((uVar10 & 0x102) == 0) {
          secname = PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb38;
        }
        else if ((uVar10 & 8) == 0) {
          secname = PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb20;
        }
        else if ((uVar10 & 0x10) == 0) {
          secname = PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb50;
        }
        else {
          secname = PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb2c;
        }
      }
    }
    else {
      iVar3 = (*(code *)PTR_strncmp_001dbe60)
                        (secname,PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb60,4);
      if (iVar3 != 0) goto LAB_00058478;
      if (secname[4] == 'a') {
        bVar1 = true;
        secname = PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb14;
      }
      else {
        bVar1 = true;
        secname = PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb44;
      }
    }
  }
LAB_0005847c:
  if ((constraint == 0) &&
     (plVar6 = (lang_output_section_statement_type *)
               (*(code *)PTR_lang_output_section_statement_lookup_001dbc2c)(secname,0,0),
     plVar6 != (lang_output_section_statement_type *)0x0)) {
    plVar15 = (lang_output_section_statement_type *)0x0;
    do {
      while (paVar4 = plVar6->bfd_section, paVar4 == (asection *)0x0) {
        plVar5 = (lang_output_section_statement_type *)
                 (*(code *)PTR_next_matching_output_section_statement_001dbd68)(plVar6,0);
        plVar15 = plVar6;
        plVar6 = plVar5;
        if (plVar5 == (lang_output_section_statement_type *)0x0) goto LAB_000587ec;
      }
      if (paVar4->flags == 0) goto LAB_000586a0;
      if (((paVar4->flags ^ s->flags) & 3) == 0) {
        if ((bVar13 != bfd_target_elf_flavour) || (iVar16 != 5)) goto LAB_000586a0;
        if ((*(int *)((int)paVar4->used_by_bfd + 0x2c) == *(int *)((int)s->used_by_bfd + 0x2c)) &&
           (((*(uint *)puVar7 & 0xc0000000) != 0x80000000 ||
            (((*(uint *)((int)paVar4->used_by_bfd + 0xc) ^ *(uint *)((int)s->used_by_bfd + 0xc)) &
             0x80000000) == 0)))) {
          iVar3 = (*(code *)PTR__bfd_elf_match_sections_by_type_001dbe14)
                            (*(undefined4 *)(puVar7 + 0x34),paVar4,s->owner,s);
          if (iVar3 != 0) goto LAB_000586a0;
          if (plVar6->bfd_section == (asection *)0x0) {
            plVar15 = plVar6;
          }
        }
      }
      plVar6 = (lang_output_section_statement_type *)
               (*(code *)PTR_next_matching_output_section_statement_001dbd68)(plVar6,0);
    } while (plVar6 != (lang_output_section_statement_type *)0x0);
LAB_000587ec:
    if (plVar15 != (lang_output_section_statement_type *)0x0) {
      (*(code *)PTR_lang_add_section_001dbc3c)(&plVar15->children,s,0,plVar15);
      return plVar15;
    }
    constraint = 0x17e;
  }
  puVar8 = PTR_DAT_001db8f8;
  if (*(int *)(PTR_DAT_001db8f8 + -0x3618) == 0) {
    piVar17 = (int *)(PTR_DAT_001db8f8 + -0x49e0);
    piVar19 = (int *)(PTR_DAT_001db8f8 + -0x4908);
    do {
      if (*piVar17 != 0) {
        iVar16 = (*(code *)PTR_lang_output_section_statement_lookup_001dbc2c)(*piVar17,0,0);
        piVar17[2] = iVar16;
        if ((iVar16 != 0) && (*(int *)(iVar16 + 0x4c) == 0)) {
          *(int *)(iVar16 + 0x4c) = piVar17[1];
        }
      }
      piVar17 = piVar17 + 6;
    } while (piVar17 != piVar19);
    *(undefined4 *)(puVar8 + -0x3618) = 1;
  }
  if ((int)*(uint *)puVar7 < 0) {
    fVar14 = s->flags;
    if ((*(uint *)puVar7 & 0xc0000000) != 0x80000000) goto LAB_000585fc;
  }
  else {
    iVar16 = (*(code *)PTR_strncmp_001dbe60)
                       (s->name,PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb78,0xd);
    if ((iVar16 == 0) &&
       (plVar6 = *(lang_output_section_statement_type **)(PTR_DAT_001db8f8 + -0x49d8),
       plVar6 != (lang_output_section_statement_type *)0x0)) {
LAB_000586a0:
      (*(code *)PTR_lang_add_section_001dbc3c)(&plVar6->children,s,0,plVar6);
      return plVar6;
    }
    fVar14 = s->flags;
LAB_000585fc:
    pbVar11 = s->owner;
    paVar4 = s;
    while (paVar4 = (asection *)(*(code *)PTR_bfd_get_next_section_by_name_001dbf68)(pbVar11,paVar4)
          , paVar4 != (asection *)0x0) {
      pbVar11 = paVar4->owner;
      if ((((paVar4->output_section == (bfd_section *)0x0) &&
           (((paVar4->flags ^ fVar14) & 3) == 0 && (paVar4->flags & 0x8000) == 0)) &&
          (-1 < *(int *)&pbVar11->field_0x28 << 0x12)) &&
         ((pbVar11->usrdata != (void *)0x0 &&
          ((*(ushort *)((int)pbVar11->usrdata + 0x24) & 0x800) == 0)))) {
        iVar16 = (*(code *)PTR__bfd_elf_match_sections_by_type_001dbe14)(pbVar11,paVar4,s->owner,s);
        if (iVar16 == 0) {
          pbVar11 = paVar4->owner;
        }
        else {
          pbVar11 = paVar4->owner;
          fVar14 = (paVar4->flags ^ 8 | fVar14 ^ 8) ^ 8;
        }
      }
    }
  }
  if ((fVar14 & 0x2001) == 0) {
    piVar17 = (int *)(PTR_DAT_001db8f8 + -0x4920);
  }
  else {
    piVar17 = (int *)0x0;
    if ((fVar14 & 1) == 0) {
      local_40 = 0;
      goto LAB_00058810;
    }
    if ((fVar14 & 2) != 0) {
      if (bVar13 == bfd_target_elf_flavour) {
        if (local_44 == 7) goto LAB_000589f8;
      }
      else {
        iVar16 = (*(code *)PTR_strncmp_001dbe60)
                           (secname,PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb68,5);
        if (iVar16 == 0) {
LAB_000589f8:
          piVar17 = (int *)(PTR_DAT_001db8f8 + -0x4950);
          goto LAB_00058800;
        }
      }
    }
    if ((fVar14 & 0x502) == 0) {
      piVar17 = (int *)(PTR_DAT_001db8f8 + -0x4980);
    }
    else if ((int)(fVar14 << 9) < 0) {
      piVar17 = (int *)(PTR_DAT_001db8f8 + -0x4938);
    }
    else if ((fVar14 & 0x400) == 0) {
      if ((fVar14 & 8) == 0) {
        piVar17 = (int *)(PTR_DAT_001db8f8 + -0x4998);
      }
      else {
        if (bVar13 == bfd_target_elf_flavour) {
          if ((local_44 == 4) || (local_44 == 9)) goto LAB_000585b8;
        }
        else {
          iVar16 = (*(code *)PTR_strncmp_001dbe60)
                             (secname,PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb60,4);
          if (iVar16 == 0) {
LAB_000585b8:
            if ((fVar14 & 2) != 0) {
              piVar17 = (int *)(PTR_DAT_001db8f8 + -0x4968);
              goto LAB_00058800;
            }
          }
        }
        if ((fVar14 & 0x10) == 0) {
          piVar17 = (int *)(PTR_DAT_001db8f8 + -0x49c8);
        }
        else {
          piVar17 = (int *)(PTR_DAT_001db8f8 + -0x49e0);
        }
      }
    }
    else {
      piVar17 = (int *)(PTR_DAT_001db8f8 + -0x49b0);
    }
  }
LAB_00058800:
  local_40 = piVar17[2];
  if (local_40 != 0) goto LAB_00058810;
  if (*piVar17 == 0) {
    cVar2 = s->name[4];
    if (*(int *)PTR_lang_output_section_statement_001dbbf4 != 0) {
      local_44 = 0;
      local_40 = 0;
      puVar7 = PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb60;
      local_34 = 0;
      puVar8 = PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb70;
      iVar16 = 0;
      iVar3 = 0;
      iVar9 = *(int *)PTR_lang_output_section_statement_001dbbf4;
      do {
        iVar20 = iVar9;
        if (*(int *)(iVar20 + 0x48) < 0) {
LAB_00058a98:
          if (*(int *)(iVar20 + 0x1c) != 0) {
            uVar10 = *(uint *)(*(int *)(iVar20 + 0x1c) + 0x14);
            iVar9 = iVar3;
joined_r0x00058aac:
            if (((uVar10 & 1) != 0) && (iVar3 = iVar9, local_34 = iVar20, (uVar10 & 8) != 0)) {
              local_40 = iVar20;
            }
          }
        }
        else {
          iVar18 = *(int *)(iVar20 + 0x18);
          iVar9 = (*(code *)PTR_strncmp_001dbe60)(iVar18,puVar7,4);
          if (iVar9 != 0) goto LAB_00058a98;
          uVar10 = (uint)(*(char *)(iVar18 + 4) == 'a');
          if ((bVar1) ||
             (iVar9 = (*(code *)PTR_strcmp_001dc144)(puVar8,iVar18 + uVar10 + 4), iVar9 == 0))
          break;
          iVar9 = iVar20;
          if ((cVar2 == 'a') != uVar10) {
            if (iVar16 == 0) {
              iVar16 = iVar20;
            }
            iVar9 = iVar16;
            if (iVar3 != 0) goto LAB_00058a98;
          }
          iVar16 = iVar9;
          if (*(int *)(iVar20 + 0x1c) != 0) {
            uVar10 = *(uint *)(*(int *)(iVar20 + 0x1c) + 0x14);
            iVar9 = iVar20;
            goto joined_r0x00058aac;
          }
        }
        local_44 = iVar20;
        iVar9 = *(int *)(iVar20 + 0x10);
      } while (*(int *)(iVar20 + 0x10) != 0);
      if (iVar3 == 0) {
        if (iVar16 == 0) {
          if (local_40 == 0) {
            local_40 = local_34;
            if (local_34 == 0) {
              local_40 = local_44;
            }
            piVar17[2] = local_40;
          }
          else {
            piVar17[2] = local_40;
          }
        }
        else {
          piVar17[2] = iVar16;
          local_40 = iVar16;
        }
      }
      else {
        piVar17[2] = iVar3;
        local_40 = iVar3;
      }
      goto LAB_00058960;
    }
  }
  else {
    local_40 = (*(code *)PTR_lang_output_section_statement_lookup_001dbc2c)(*piVar17,0,0);
    piVar17[2] = local_40;
LAB_00058960:
    if (local_40 != 0) goto LAB_00058810;
  }
  local_40 = (*(code *)PTR_lang_output_section_find_by_flags_001dbd70)
                       (s,fVar14,piVar17 + 2,PTR__bfd_elf_match_sections_by_type_001dbe14);
  if (local_40 == 0) {
    local_40 = *(int *)PTR_lang_output_section_statement_001dbbf4;
  }
LAB_00058810:
  plVar6 = (lang_output_section_statement_type *)
           (*(code *)PTR_lang_insert_orphan_001dbd6c)(s,secname,constraint,local_40,piVar17,0,0);
  return plVar6;
}



int FUN_00058384(int *param_1,undefined *param_2,int param_3)

{
  bool bVar1;
  char cVar2;
  int iVar3;
  undefined *puVar4;
  undefined *puVar5;
  uint uVar6;
  uint uVar7;
  int iVar8;
  int iVar9;
  int *piVar10;
  int iVar11;
  int *piVar12;
  int iVar13;
  int local_44;
  int local_40;
  int local_34;
  
  puVar4 = PTR_link_info_001db928;
  iVar8 = *(int *)(*(int *)(param_1[0x2d] + 4) + 4);
  iVar9 = *(int *)(*(int *)(*(int *)(PTR_link_info_001db928 + 0x34) + 4) + 4);
  if (iVar8 == 5) {
    local_44 = *(int *)(param_1[0x2b] + 4);
  }
  else {
    local_44 = 0;
  }
  if ((*(uint *)PTR_link_info_001db928 & 0xc0000000) == 0x80000000) {
LAB_00058478:
    bVar1 = false;
  }
  else {
    if ((-1 < *(int *)(PTR_link_info_001db928 + 4) << 6) || (uVar6 = param_1[5], (uVar6 & 1) == 0))
    {
      if (iVar8 == 5) {
        bVar1 = false;
LAB_0005886c:
        if ((iVar9 != 5) || (uVar6 = param_1[5], (uVar6 & 1) == 0)) goto LAB_0005847c;
        iVar3 = param_1[0x2b];
        goto LAB_0005888c;
      }
      goto LAB_00058478;
    }
    if (iVar8 == 5) {
      if (local_44 == 4) {
        bVar1 = true;
        param_2 = PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb14;
        goto LAB_0005886c;
      }
      bVar1 = local_44 == 9;
      if (bVar1) {
        param_2 = PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb44;
      }
      if (iVar9 != 5) goto LAB_0005847c;
      iVar3 = param_1[0x2b];
LAB_0005888c:
      if (*(int *)(iVar3 + 0xc) << 7 < 0) {
        iVar13 = *(int *)PTR_lang_output_section_statement_001dbbf4;
        if (iVar13 != 0) {
          do {
            puVar5 = *(undefined **)(iVar13 + 0x1c);
            if ((((puVar5 != (undefined *)0x0) && (puVar5 != PTR__bfd_std_section_001dbf30 + 400))
                && ((*(uint *)(*(int *)(puVar5 + 0xac) + 0xc) & 0x1000000) != 0)) &&
               ((((uVar6 ^ *(uint *)(puVar5 + 0x14)) & 0x11b) == 0 &&
                (*(int *)(*(int *)(puVar5 + 0xac) + 0x2c) == *(int *)(iVar3 + 0x2c)))))
            goto LAB_000586a0;
            iVar13 = *(int *)(iVar13 + 0x10);
          } while (iVar13 != 0);
        }
        if ((uVar6 & 0x102) == 0) {
          param_2 = PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb38;
        }
        else if ((uVar6 & 8) == 0) {
          param_2 = PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb20;
        }
        else if ((uVar6 & 0x10) == 0) {
          param_2 = PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb50;
        }
        else {
          param_2 = PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb2c;
        }
      }
    }
    else {
      iVar3 = (*(code *)PTR_strncmp_001dbe60)
                        (param_2,PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb60,4);
      if (iVar3 != 0) goto LAB_00058478;
      if (param_2[4] == 'a') {
        bVar1 = true;
        param_2 = PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb14;
      }
      else {
        bVar1 = true;
        param_2 = PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb44;
      }
    }
  }
LAB_0005847c:
  if ((param_3 == 0) &&
     (iVar13 = (*(code *)PTR_lang_output_section_statement_lookup_001dbc2c)(param_2,0,0),
     iVar13 != 0)) {
    iVar3 = 0;
    do {
      while (iVar11 = *(int *)(iVar13 + 0x1c), iVar11 == 0) {
        iVar11 = (*(code *)PTR_next_matching_output_section_statement_001dbd68)(iVar13,0);
        iVar3 = iVar13;
        iVar13 = iVar11;
        if (iVar11 == 0) goto LAB_000587ec;
      }
      if (*(uint *)(iVar11 + 0x14) == 0) goto LAB_000586a0;
      if (((*(uint *)(iVar11 + 0x14) ^ param_1[5]) & 3) == 0) {
        if ((iVar8 != 5) || (iVar9 != 5)) goto LAB_000586a0;
        if ((*(int *)(*(int *)(iVar11 + 0xac) + 0x2c) == *(int *)(param_1[0x2b] + 0x2c)) &&
           (((*(uint *)puVar4 & 0xc0000000) != 0x80000000 ||
            (((*(uint *)(*(int *)(iVar11 + 0xac) + 0xc) ^ *(uint *)(param_1[0x2b] + 0xc)) &
             0x80000000) == 0)))) {
          iVar11 = (*(code *)PTR__bfd_elf_match_sections_by_type_001dbe14)
                             (*(undefined4 *)(puVar4 + 0x34),iVar11,param_1[0x2d],param_1);
          if (iVar11 != 0) goto LAB_000586a0;
          if (*(int *)(iVar13 + 0x1c) == 0) {
            iVar3 = iVar13;
          }
        }
      }
      iVar13 = (*(code *)PTR_next_matching_output_section_statement_001dbd68)(iVar13,0);
    } while (iVar13 != 0);
LAB_000587ec:
    if (iVar3 != 0) {
      (*(code *)PTR_lang_add_section_001dbc3c)(iVar3 + 8,param_1,0,iVar3);
      return iVar3;
    }
    param_3 = 0x17e;
  }
  puVar5 = PTR_DAT_001db8f8;
  if (*(int *)(PTR_DAT_001db8f8 + -0x3618) == 0) {
    piVar10 = (int *)(PTR_DAT_001db8f8 + -0x49e0);
    piVar12 = (int *)(PTR_DAT_001db8f8 + -0x4908);
    do {
      if (*piVar10 != 0) {
        iVar9 = (*(code *)PTR_lang_output_section_statement_lookup_001dbc2c)(*piVar10,0,0);
        piVar10[2] = iVar9;
        if ((iVar9 != 0) && (*(int *)(iVar9 + 0x4c) == 0)) {
          *(int *)(iVar9 + 0x4c) = piVar10[1];
        }
      }
      piVar10 = piVar10 + 6;
    } while (piVar10 != piVar12);
    *(undefined4 *)(puVar5 + -0x3618) = 1;
  }
  if ((int)*(uint *)puVar4 < 0) {
    uVar6 = param_1[5];
    if ((*(uint *)puVar4 & 0xc0000000) != 0x80000000) goto LAB_000585fc;
  }
  else {
    iVar9 = (*(code *)PTR_strncmp_001dbe60)
                      (*param_1,PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb78,0xd);
    if ((iVar9 == 0) && (iVar13 = *(int *)(PTR_DAT_001db8f8 + -0x49d8), iVar13 != 0)) {
LAB_000586a0:
      (*(code *)PTR_lang_add_section_001dbc3c)(iVar13 + 8,param_1,0,iVar13);
      return iVar13;
    }
    uVar6 = param_1[5];
LAB_000585fc:
    iVar9 = param_1[0x2d];
    piVar10 = param_1;
    while (piVar10 = (int *)(*(code *)PTR_bfd_get_next_section_by_name_001dbf68)(iVar9,piVar10),
          piVar10 != (int *)0x0) {
      iVar9 = piVar10[0x2d];
      if ((((piVar10[0x16] == 0) && (((piVar10[5] ^ uVar6) & 3) == 0 && (piVar10[5] & 0x8000U) == 0)
           ) && (-1 < *(int *)(iVar9 + 0x28) << 0x12)) &&
         ((*(int *)(iVar9 + 0xac) != 0 &&
          ((*(ushort *)(*(int *)(iVar9 + 0xac) + 0x24) & 0x800) == 0)))) {
        iVar9 = (*(code *)PTR__bfd_elf_match_sections_by_type_001dbe14)
                          (iVar9,piVar10,param_1[0x2d],param_1);
        if (iVar9 == 0) {
          iVar9 = piVar10[0x2d];
        }
        else {
          iVar9 = piVar10[0x2d];
          uVar6 = (piVar10[5] ^ 8U | uVar6 ^ 8) ^ 8;
        }
      }
    }
  }
  if ((uVar6 & 0x2001) == 0) {
    piVar10 = (int *)(PTR_DAT_001db8f8 + -0x4920);
  }
  else {
    piVar10 = (int *)0x0;
    if ((uVar6 & 1) == 0) {
      local_40 = 0;
      goto LAB_00058810;
    }
    if ((uVar6 & 2) != 0) {
      if (iVar8 == 5) {
        if (local_44 == 7) goto LAB_000589f8;
      }
      else {
        iVar9 = (*(code *)PTR_strncmp_001dbe60)
                          (param_2,PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb68,5);
        if (iVar9 == 0) {
LAB_000589f8:
          piVar10 = (int *)(PTR_DAT_001db8f8 + -0x4950);
          goto LAB_00058800;
        }
      }
    }
    if ((uVar6 & 0x502) == 0) {
      piVar10 = (int *)(PTR_DAT_001db8f8 + -0x4980);
    }
    else if ((int)(uVar6 << 9) < 0) {
      piVar10 = (int *)(PTR_DAT_001db8f8 + -0x4938);
    }
    else if ((uVar6 & 0x400) == 0) {
      if ((uVar6 & 8) == 0) {
        piVar10 = (int *)(PTR_DAT_001db8f8 + -0x4998);
      }
      else {
        if (iVar8 == 5) {
          if ((local_44 == 4) || (local_44 == 9)) goto LAB_000585b8;
        }
        else {
          iVar8 = (*(code *)PTR_strncmp_001dbe60)
                            (param_2,PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb60,4);
          if (iVar8 == 0) {
LAB_000585b8:
            if ((uVar6 & 2) != 0) {
              piVar10 = (int *)(PTR_DAT_001db8f8 + -0x4968);
              goto LAB_00058800;
            }
          }
        }
        if ((uVar6 & 0x10) == 0) {
          piVar10 = (int *)(PTR_DAT_001db8f8 + -0x49c8);
        }
        else {
          piVar10 = (int *)(PTR_DAT_001db8f8 + -0x49e0);
        }
      }
    }
    else {
      piVar10 = (int *)(PTR_DAT_001db8f8 + -0x49b0);
    }
  }
LAB_00058800:
  local_40 = piVar10[2];
  if (local_40 != 0) goto LAB_00058810;
  if (*piVar10 == 0) {
    cVar2 = *(char *)(*param_1 + 4);
    if (*(int *)PTR_lang_output_section_statement_001dbbf4 != 0) {
      local_44 = 0;
      local_40 = 0;
      puVar4 = PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb60;
      local_34 = 0;
      puVar5 = PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb70;
      iVar8 = 0;
      iVar9 = 0;
      iVar3 = *(int *)PTR_lang_output_section_statement_001dbbf4;
      do {
        iVar13 = iVar3;
        if (*(int *)(iVar13 + 0x48) < 0) {
LAB_00058a98:
          if (*(int *)(iVar13 + 0x1c) != 0) {
            uVar7 = *(uint *)(*(int *)(iVar13 + 0x1c) + 0x14);
            iVar3 = iVar9;
joined_r0x00058aac:
            if (((uVar7 & 1) != 0) && (iVar9 = iVar3, local_34 = iVar13, (uVar7 & 8) != 0)) {
              local_40 = iVar13;
            }
          }
        }
        else {
          iVar11 = *(int *)(iVar13 + 0x18);
          iVar3 = (*(code *)PTR_strncmp_001dbe60)(iVar11,puVar4,4);
          if (iVar3 != 0) goto LAB_00058a98;
          uVar7 = (uint)(*(char *)(iVar11 + 4) == 'a');
          if ((bVar1) ||
             (iVar3 = (*(code *)PTR_strcmp_001dc144)(puVar5,iVar11 + uVar7 + 4), iVar3 == 0)) break;
          iVar3 = iVar13;
          if ((cVar2 == 'a') != uVar7) {
            if (iVar8 == 0) {
              iVar8 = iVar13;
            }
            iVar3 = iVar8;
            if (iVar9 != 0) goto LAB_00058a98;
          }
          iVar8 = iVar3;
          if (*(int *)(iVar13 + 0x1c) != 0) {
            uVar7 = *(uint *)(*(int *)(iVar13 + 0x1c) + 0x14);
            iVar3 = iVar13;
            goto joined_r0x00058aac;
          }
        }
        local_44 = iVar13;
        iVar3 = *(int *)(iVar13 + 0x10);
      } while (*(int *)(iVar13 + 0x10) != 0);
      if (iVar9 == 0) {
        if (iVar8 == 0) {
          if (local_40 == 0) {
            local_40 = local_34;
            if (local_34 == 0) {
              local_40 = local_44;
            }
            piVar10[2] = local_40;
          }
          else {
            piVar10[2] = local_40;
          }
        }
        else {
          piVar10[2] = iVar8;
          local_40 = iVar8;
        }
      }
      else {
        piVar10[2] = iVar9;
        local_40 = iVar9;
      }
      goto LAB_00058960;
    }
  }
  else {
    local_40 = (*(code *)PTR_lang_output_section_statement_lookup_001dbc2c)(*piVar10,0,0);
    piVar10[2] = local_40;
LAB_00058960:
    if (local_40 != 0) goto LAB_00058810;
  }
  local_40 = (*(code *)PTR_lang_output_section_find_by_flags_001dbd70)
                       (param_1,uVar6,piVar10 + 2,PTR__bfd_elf_match_sections_by_type_001dbe14);
  if (local_40 == 0) {
    local_40 = *(int *)PTR_lang_output_section_statement_001dbbf4;
  }
LAB_00058810:
  iVar8 = (*(code *)PTR_lang_insert_orphan_001dbd6c)(param_1,param_2,param_3,local_40,piVar10,0,0);
  return iVar8;
}


lui gp,0x19
addiu gp,gp,-0x4ab4
addu gp,gp,t9
addiu sp,sp,-0x70
li v0,0x5
sw s2,0x50(sp)
sw s0,0x48(sp)
or s0,a0,zero
lw s2,-0x7fa8(gp)
lw a0,0xb4(a0)
sw s1,0x4c(sp)
sw gp,0x20(sp)
lw v1,0x34(s2)
lw a0,0x4(a0)
sw s5,0x5c(sp)
or s5,a1,zero
sw s4,0x58(sp)
sw s3,0x54(sp)
or s3,a2,zero
sw ra,0x6c(sp)
sw s8,0x68(sp)
sw s7,0x64(sp)
sw s6,0x60(sp)
lw v1,0x4(v1)
lw s1,0x4(a0)
beq s1,v0,0x000586e0
_lw s4,0x4(v1)
sw zero,0x2c(sp)
lw v0,0x0(s2)
lui a0,0xc000
lui v1,0x8000
and v0,v0,a0
beq v0,v1,0x00058478
_nop
lw v0,0x4(s2)
ext v0,v0,0x19,0x1
beq v0,zero,0x00058470
_li v0,0x5
lw a0,0x14(s0)
andi v0,a0,0x1
beq v0,zero,0x00058470
_li v0,0x5
beq s1,v0,0x000589a0
_lw a1,-0x7f5c(gp)
li a2,0x4
lw t9,-0x7a70(gp)
or a0,s5,zero
jalr t9
_addiu a1,a1,0xb60
bne v0,zero,0x00058478
_lw gp,0x20(sp)
lb v1,0x4(s5)
li v0,0x61
beq v1,v0,0x00058a04
_li v0,0x1
lw s5,-0x7f5c(gp)
sw v0,0x28(sp)
b 0x0005847c
_addiu s5,s5,0xb44
beq s1,v0,0x00058868
_nop
sw zero,0x28(sp)
beq s3,zero,0x000586f0
_lw t9,-0x7ca4(gp)
lw s6,-0x7fd8(gp)
lw v0,-0x3618(s6)
bne v0,zero,0x000584f4
_nop
lw s4,-0x7fd8(gp)
lw s7,-0x7fd8(gp)
addiu s4,s4,-0x49e0
addiu s7,s7,-0x4908
lw v0,0x0(s4)
or a2,zero,zero
lw t9,-0x7ca4(gp)
or a1,zero,zero
beq v0,zero,0x000584e4
_or a0,v0,zero
jalr t9
_nop
lw gp,0x20(sp)
beq v0,zero,0x000584e4
_sw v0,0x8(s4)
lw v1,0x4c(v0)
bne v1,zero,0x000584e4
_nop
lw v1,0x4(s4)
sw v1,0x4c(v0)
addiu s4,s4,0x18
bne s4,s7,0x000584a4
_li v0,0x1
sw v0,-0x3618(s6)
lw v0,0x0(s2)
bgez v0,0x000585cc
_lw a1,-0x7f5c(gp)
lui a0,0xc000
lui v1,0x8000
and v0,v0,a0
bne v0,v1,0x000585fc
_lw s2,0x14(s0)
andi v0,s2,0x2001
beq v0,zero,0x000587fc
_lw t0,-0x7fd8(gp)
andi v0,s2,0x1
beq v0,zero,0x00058930
_or s8,zero,zero
andi s4,s2,0x2
beq s4,zero,0x00058564
_andi v0,s2,0x502
li v0,0x5
beq s1,v0,0x000589e8
_lw a1,-0x7f5c(gp)
li a2,0x5
lw t9,-0x7a70(gp)
or a0,s5,zero
jalr t9
_addiu a1,a1,0xb68
beq v0,zero,0x000589f8
_lw gp,0x20(sp)
andi v0,s2,0x502
beq v0,zero,0x00058998
_lw t0,-0x7fd8(gp)
ext v0,s2,0x16,0x1
bne v0,zero,0x000589d0
_lw t0,-0x7fd8(gp)
andi v0,s2,0x400
bne v0,zero,0x00058b90
_lw t0,-0x7fd8(gp)
andi v0,s2,0x8
beq v0,zero,0x00058bbc
_lw t0,-0x7fd8(gp)
li v0,0x5
beq s1,v0,0x00058bdc
_lw a1,-0x7f5c(gp)
li a2,0x4
lw t9,-0x7a70(gp)
or a0,s5,zero
jalr t9
_addiu a1,a1,0xb60
bne v0,zero,0x00058bf4
_lw gp,0x20(sp)
beq s4,zero,0x00058bf8
_andi v0,s2,0x10
lw t0,-0x7fd8(gp)
b 0x00058800
_addiu s8,t0,-0x4968
li a2,0xd
lw t9,-0x7a70(gp)
lw a0,0x0(s0)
jalr t9
_addiu a1,a1,0xb78
bne v0,zero,0x000585f8
_lw gp,0x20(sp)
lw v0,-0x7fd8(gp)
lw s8,-0x49d8(v0)
bne s8,zero,0x00058698
_lw t9,-0x7c94(gp)
lw s2,0x14(s0)
lw a0,0xb4(s0)
or s4,s0,zero
lw t9,-0x7968(gp)
jalr t9
_or a1,s4,zero
lw gp,0x20(sp)
beq v0,zero,0x00058514
_or s4,v0,zero
lw v0,0x58(s4)
bne v0,zero,0x00058604
_lw a0,0xb4(s4)
lw v1,0x14(s4)
xor v0,v1,s2
andi v0,v0,0x3
andi v1,v1,0x8000
or v0,v0,v1
bne v0,zero,0x00058608
_lw t9,-0x7968(gp)
lw v0,0x28(a0)
ext v0,v0,0xd,0x1
bne v0,zero,0x00058608
_nop
lw v0,0xac(a0)
beq v0,zero,0x00058608
_nop
lhu v0,0x24(v0)
andi v0,v0,0x800
bne v0,zero,0x00058608
_or a3,s0,zero
lw t9,-0x7abc(gp)
lw a2,0xb4(s0)
jalr t9
_or a1,s4,zero
xori v1,s2,0x8
bne v0,zero,0x00058b98
_lw gp,0x20(sp)
b 0x00058604
_lw a0,0xb4(s4)
lw t9,-0x7c94(gp)
or a2,zero,zero
addiu a0,s8,0x8
or a3,s8,zero
jalr t9
_or a1,s0,zero
lw ra,0x6c(sp)
or v0,s8,zero
lw s8,0x68(sp)
lw s7,0x64(sp)
lw s6,0x60(sp)
lw s5,0x5c(sp)
lw s4,0x58(sp)
lw s3,0x54(sp)
lw s2,0x50(sp)
lw s1,0x4c(sp)
lw s0,0x48(sp)
jr ra
_addiu sp,sp,0x70
lw v0,0xac(s0)
lw v0,0x4(v0)
b 0x000583f4
_sw v0,0x2c(sp)
or a2,zero,zero
or a1,zero,zero
jalr t9
_or a0,s5,zero
lw gp,0x20(sp)
beq v0,zero,0x00058484
_or s8,v0,zero
li s6,0x5
b 0x000587c4
_lui s7,0x8000
lw v0,0x14(a1)
beq v0,zero,0x00058698
_lw t9,-0x7c94(gp)
lw a0,0x14(s0)
xor v0,v0,a0
andi v0,v0,0x3
bne v0,zero,0x000587a8
_nop
bne s1,s6,0x0005869c
_or a2,zero,zero
bne s4,s1,0x000586a0
_addiu a0,s8,0x8
lw a0,0xac(a1)
lw v0,0xac(s0)
lw a3,0x2c(a0)
lw a2,0x2c(v0)
bne a3,a2,0x000587a8
_lui v1,0xc000
lw a2,0x0(s2)
and a2,a2,v1
bne a2,s7,0x00058788
_lw t9,-0x7abc(gp)
lw a0,0xc(a0)
lw v0,0xc(v0)
xor v0,a0,v0
and v0,v0,s7
bne v0,zero,0x000587a8
_nop
or a3,s0,zero
lw a2,0xb4(s0)
jalr t9
_lw a0,0x34(s2)
bne v0,zero,0x00058694
_lw gp,0x20(sp)
lw v0,0x1c(s8)
movz s3,s8,v0
or a1,zero,zero
lw t9,-0x7b68(gp)
jalr t9
_or a0,s8,zero
lw gp,0x20(sp)
beq v0,zero,0x000587ec
_or s8,v0,zero
lw a1,0x1c(s8)
bne a1,zero,0x00058718
_lw t9,-0x7b68(gp)
or a1,zero,zero
or a0,s8,zero
jalr t9
_or s3,s8,zero
lw gp,0x20(sp)
bne v0,zero,0x000587c4
_or s8,v0,zero
bne s3,zero,0x00058a28
_lw t9,-0x7c94(gp)
b 0x00058484
_li s3,0x17e
addiu s8,t0,-0x4920
lw s6,0x8(s8)
beq s6,zero,0x00058938
_nop
lw t9,-0x7b64(gp)
or a3,s6,zero
or a2,s3,zero
sw s8,0x10(sp)
or a1,s5,zero
sw zero,0x18(sp)
or a0,s0,zero
jalr t9
_sw zero,0x14(sp)
lw ra,0x6c(sp)
or s8,v0,zero
or v0,s8,zero
lw s7,0x64(sp)
lw s8,0x68(sp)
lw s6,0x60(sp)
lw s5,0x5c(sp)
lw s4,0x58(sp)
lw s3,0x54(sp)
lw s2,0x50(sp)
lw s1,0x4c(sp)
lw s0,0x48(sp)
jr ra
_addiu sp,sp,0x70
sw zero,0x28(sp)
li v0,0x5
bne s4,v0,0x0005847c
_nop
lw a0,0x14(s0)
andi v0,a0,0x1
beq v0,zero,0x0005847c
_nop
lw t1,0xac(s0)
lw v0,0xc(t1)
ext v0,v0,0x18,0x1
beq v0,zero,0x0005847c
_lw v0,-0x7cdc(gp)
lw s8,0x0(v0)
beq s8,zero,0x0005890c
_andi v0,a0,0x102
lw a3,-0x79a0(gp)
lui t0,0x100
addiu a3,a3,0x190
lw v0,0x1c(s8)
beq v0,zero,0x00058900
_nop
beq v0,a3,0x00058900
_nop
lw a2,0xac(v0)
lw a1,0xc(a2)
and a1,a1,t0
beq a1,zero,0x00058900
_nop
lw v0,0x14(v0)
xor v0,a0,v0
andi v0,v0,0x11b
bne v0,zero,0x00058900
_nop
lw a1,0x2c(a2)
lw v0,0x2c(t1)
beq a1,v0,0x00058698
_lw t9,-0x7c94(gp)
lw s8,0x10(s8)
bne s8,zero,0x000588b4
_andi v0,a0,0x102
beq v0,zero,0x00058bb0
_andi v0,a0,0x8
beq v0,zero,0x00058c0c
_andi a0,a0,0x10
beq a0,zero,0x00058c20
_nop
lw s5,-0x7f5c(gp)
b 0x0005847c
_addiu s5,s5,0xb2c
b 0x0005880c
_or s6,zero,zero
lw s1,0x0(s8)
beq s1,zero,0x00058a44
_lw t9,-0x7ca4(gp)
or a2,zero,zero
or a1,zero,zero
jalr t9
_or a0,s1,zero
lw gp,0x20(sp)
or s6,v0,zero
sw v0,0x8(s8)
bne s6,zero,0x00058810
_lw t9,-0x7b64(gp)
lw t9,-0x7b60(gp)
addiu a2,s8,0x8
lw a3,-0x7abc(gp)
or a1,s2,zero
jalr t9
_or a0,s0,zero
lw gp,0x20(sp)
bne v0,zero,0x0005880c
_or s6,v0,zero
lw v0,-0x7cdc(gp)
b 0x0005880c
_lw s6,0x0(v0)
b 0x00058800
_addiu s8,t0,-0x4980
lw v1,0x2c(sp)
li v0,0x4
beq v1,v0,0x00058a14
_li v0,0x9
beq v1,v0,0x000589d8
_li v0,0x1
sw zero,0x28(sp)
li v0,0x5
bne s4,v0,0x0005847c
_nop
b 0x0005888c
_lw t1,0xac(s0)
b 0x00058800
_addiu s8,t0,-0x4938
lw s5,-0x7f5c(gp)
sw v0,0x28(sp)
b 0x000589bc
_addiu s5,s5,0xb44
lw v1,0x2c(sp)
li v0,0x7
bne v1,v0,0x00058564
_andi v0,s2,0x502
lw t0,-0x7fd8(gp)
b 0x00058800
_addiu s8,t0,-0x4950
lw s5,-0x7f5c(gp)
sw v0,0x28(sp)
b 0x0005847c
_addiu s5,s5,0xb14
lw s5,-0x7f5c(gp)
li v0,0x1
sw v0,0x28(sp)
b 0x0005886c
_addiu s5,s5,0xb14
or a2,zero,zero
addiu a0,s3,0x8
or a3,s3,zero
jalr t9
_or a1,s0,zero
b 0x000586ac
_or s8,s3,zero
lw v0,0x0(s0)
lw v1,-0x7cdc(gp)
lb v0,0x4(v0)
lw s7,0x0(v1)
xori v0,v0,0x61
sltiu v0,v0,0x1
beq s7,zero,0x00058968
_sw v0,0x44(sp)
lw v0,-0x7f5c(gp)
or s6,s1,zero
sw zero,0x2c(sp)
sw zero,0x30(sp)
addiu v0,v0,0xb60
sw zero,0x3c(sp)
sw v0,0x34(sp)
lw v0,-0x7f5c(gp)
addiu v0,v0,0xb70
b 0x00058ad8
_sw v0,0x40(sp)
beq s6,zero,0x00058b48
_movz s1,s7,s1
lw v0,0x1c(s7)
beq v0,zero,0x00058ac8
_nop
lw v0,0x14(v0)
andi a0,v0,0x1
beq a0,zero,0x00058ac8
_nop
lw v1,0x30(sp)
andi v0,v0,0x8
sw s7,0x3c(sp)
movn v1,s7,v0
sw v1,0x30(sp)
lw v0,0x10(s7)
beq v0,zero,0x00058b70
_sw s7,0x2c(sp)
or s7,v0,zero
lw v0,0x48(s7)
bltz v0,0x00058a98
_li a2,0x4
lw s4,0x18(s7)
lw t9,-0x7a70(gp)
lw a1,0x34(sp)
jalr t9
_or a0,s4,zero
bne v0,zero,0x00058a98
_lw gp,0x20(sp)
lb a2,0x4(s4)
lw v0,0x28(sp)
xori a2,a2,0x61
bne v0,zero,0x00058b6c
_sltiu a2,a2,0x1
addiu a1,a2,0x4
lw t9,-0x778c(gp)
lw a0,0x40(sp)
addu a1,s4,a1
jalr t9
_sw a2,0x38(sp)
beq v0,zero,0x00058b6c
_lw gp,0x20(sp)
lw v0,0x44(sp)
lw a2,0x38(sp)
bne v0,a2,0x00058a90
_nop
or s1,s7,zero
lw v0,0x1c(s7)
beq v0,zero,0x00058ac8
_nop
lw v0,0x14(v0)
andi a0,v0,0x1
beq a0,zero,0x00058ac8
_nop
b 0x00058ab4
_or s6,s7,zero
lw s7,0x2c(sp)
beq s6,zero,0x00058b80
_nop
b 0x00058960
_sw s6,0x8(s8)
beq s1,zero,0x00058bc4
_or s6,s1,zero
b 0x00058960
_sw s6,0x8(s8)
b 0x00058800
_addiu s8,t0,-0x49b0
lw s2,0x14(s4)
lw a0,0xb4(s4)
xori s2,s2,0x8
or s2,s2,v1
b 0x00058604
_xori s2,s2,0x8
lw s5,-0x7f5c(gp)
b 0x0005847c
_addiu s5,s5,0xb38
b 0x00058800
_addiu s8,t0,-0x4998
lw v0,0x30(sp)
beq v0,zero,0x00058c2c
_nop
lw s6,0x30(sp)
b 0x00058960
_sw s6,0x8(s8)
lw v1,0x2c(sp)
li v0,0x4
beq v1,v0,0x000585b8
_li v0,0x9
beq v1,v0,0x000585b8
_nop
andi v0,s2,0x10
beq v0,zero,0x00058c18
_lw t0,-0x7fd8(gp)
lw t0,-0x7fd8(gp)
b 0x00058800
_addiu s8,t0,-0x49e0
lw s5,-0x7f5c(gp)
b 0x0005847c
_addiu s5,s5,0xb20
b 0x00058800
_addiu s8,t0,-0x49c8
lw s5,-0x7f5c(gp)
b 0x0005847c
_addiu s5,s5,0xb50
lw s6,0x3c(sp)
movz s6,s7,s6
b 0x00058960
_sw s6,0x8(s8)
(translation_unit "int FUN_00058384(int *param_1,undefined *param_2,int param_3)\n\n{\n  bool bVar1;\n  char cVar2;\n  int iVar3;\n  undefined *puVar4;\n  undefined *puVar5;\n  uint uVar6;\n  uint uVar7;\n  int iVar8;\n  int iVar9;\n  int *piVar10;\n  int iVar11;\n  int *piVar12;\n  int iVar13;\n  int local_44;\n  int local_40;\n  int local_34;\n  \n  puVar4 = PTR_link_info_001db928;\n  iVar8 = *(int *)(*(int *)(param_1[0x2d] + 4) + 4);\n  iVar9 = *(int *)(*(int *)(*(int *)(PTR_link_info_001db928 + 0x34) + 4) + 4);\n  if (iVar8 == 5) {\n    local_44 = *(int *)(param_1[0x2b] + 4);\n  }\n  else {\n    local_44 = 0;\n  }\n  if ((*(uint *)PTR_link_info_001db928 & 0xc0000000) == 0x80000000) {\nLAB_00058478:\n    bVar1 = false;\n  }\n  else {\n    if ((-1 < *(int *)(PTR_link_info_001db928 + 4) << 6) || (uVar6 = param_1[5], (uVar6 & 1) == 0))\n    {\n      if (iVar8 == 5) {\n        bVar1 = false;\nLAB_0005886c:\n        if ((iVar9 != 5) || (uVar6 = param_1[5], (uVar6 & 1) == 0)) goto LAB_0005847c;\n        iVar3 = param_1[0x2b];\n        goto LAB_0005888c;\n      }\n      goto LAB_00058478;\n    }\n    if (iVar8 == 5) {\n      if (local_44 == 4) {\n        bVar1 = true;\n        param_2 = PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb14;\n        goto LAB_0005886c;\n      }\n      bVar1 = local_44 == 9;\n      if (bVar1) {\n        param_2 = PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb44;\n      }\n      if (iVar9 != 5) goto LAB_0005847c;\n      iVar3 = param_1[0x2b];\nLAB_0005888c:\n      if (*(int *)(iVar3 + 0xc) << 7 < 0) {\n        iVar13 = *(int *)PTR_lang_output_section_statement_001dbbf4;\n        if (iVar13 != 0) {\n          do {\n            puVar5 = *(undefined **)(iVar13 + 0x1c);\n            if ((((puVar5 != (undefined *)0x0) && (puVar5 != PTR__bfd_std_section_001dbf30 + 400))\n                && ((*(uint *)(*(int *)(puVar5 + 0xac) + 0xc) & 0x1000000) != 0)) &&\n               ((((uVar6 ^ *(uint *)(puVar5 + 0x14)) & 0x11b) == 0 &&\n                (*(int *)(*(int *)(puVar5 + 0xac) + 0x2c) == *(int *)(iVar3 + 0x2c)))))\n            goto LAB_000586a0;\n            iVar13 = *(int *)(iVar13 + 0x10);\n          } while (iVar13 != 0);\n        }\n        if ((uVar6 & 0x102) == 0) {\n          param_2 = PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb38;\n        }\n        else if ((uVar6 & 8) == 0) {\n          param_2 = PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb20;\n        }\n        else if ((uVar6 & 0x10) == 0) {\n          param_2 = PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb50;\n        }\n        else {\n          param_2 = PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb2c;\n        }\n      }\n    }\n    else {\n      iVar3 = (*(code *)PTR_strncmp_001dbe60)\n                        (param_2,PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb60,4);\n      if (iVar3 != 0) goto LAB_00058478;\n      if (param_2[4] == 'a') {\n        bVar1 = true;\n        param_2 = PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb14;\n      }\n      else {\n        bVar1 = true;\n        param_2 = PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb44;\n      }\n    }\n  }\nLAB_0005847c:\n  if ((param_3 == 0) &&\n     (iVar13 = (*(code *)PTR_lang_output_section_statement_lookup_001dbc2c)(param_2,0,0),\n     iVar13 != 0)) {\n    iVar3 = 0;\n    do {\n      while (iVar11 = *(int *)(iVar13 + 0x1c), iVar11 == 0) {\n        iVar11 = (*(code *)PTR_next_matching_output_section_statement_001dbd68)(iVar13,0);\n        iVar3 = iVar13;\n        iVar13 = iVar11;\n        if (iVar11 == 0) goto LAB_000587ec;\n      }\n      if (*(uint *)(iVar11 + 0x14) == 0) goto LAB_000586a0;\n      if (((*(uint *)(iVar11 + 0x14) ^ param_1[5]) & 3) == 0) {\n        if ((iVar8 != 5) || (iVar9 != 5)) goto LAB_000586a0;\n        if ((*(int *)(*(int *)(iVar11 + 0xac) + 0x2c) == *(int *)(param_1[0x2b] + 0x2c)) &&\n           (((*(uint *)puVar4 & 0xc0000000) != 0x80000000 ||\n            (((*(uint *)(*(int *)(iVar11 + 0xac) + 0xc) ^ *(uint *)(param_1[0x2b] + 0xc)) &\n             0x80000000) == 0)))) {\n          iVar11 = (*(code *)PTR__bfd_elf_match_sections_by_type_001dbe14)\n                             (*(undefined4 *)(puVar4 + 0x34),iVar11,param_1[0x2d],param_1);\n          if (iVar11 != 0) goto LAB_000586a0;\n          if (*(int *)(iVar13 + 0x1c) == 0) {\n            iVar3 = iVar13;\n          }\n        }\n      }\n      iVar13 = (*(code *)PTR_next_matching_output_section_statement_001dbd68)(iVar13,0);\n    } while (iVar13 != 0);\nLAB_000587ec:\n    if (iVar3 != 0) {\n      (*(code *)PTR_lang_add_section_001dbc3c)(iVar3 + 8,param_1,0,iVar3);\n      return iVar3;\n    }\n    param_3 = 0x17e;\n  }\n  puVar5 = PTR_DAT_001db8f8;\n  if (*(int *)(PTR_DAT_001db8f8 + -0x3618) == 0) {\n    piVar10 = (int *)(PTR_DAT_001db8f8 + -0x49e0);\n    piVar12 = (int *)(PTR_DAT_001db8f8 + -0x4908);\n    do {\n      if (*piVar10 != 0) {\n        iVar9 = (*(code *)PTR_lang_output_section_statement_lookup_001dbc2c)(*piVar10,0,0);\n        piVar10[2] = iVar9;\n        if ((iVar9 != 0) && (*(int *)(iVar9 + 0x4c) == 0)) {\n          *(int *)(iVar9 + 0x4c) = piVar10[1];\n        }\n      }\n      piVar10 = piVar10 + 6;\n    } while (piVar10 != piVar12);\n    *(undefined4 *)(puVar5 + -0x3618) = 1;\n  }\n  if ((int)*(uint *)puVar4 < 0) {\n    uVar6 = param_1[5];\n    if ((*(uint *)puVar4 & 0xc0000000) != 0x80000000) goto LAB_000585fc;\n  }\n  else {\n    iVar9 = (*(code *)PTR_strncmp_001dbe60)\n                      (*param_1,PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb78,0xd);\n    if ((iVar9 == 0) && (iVar13 = *(int *)(PTR_DAT_001db8f8 + -0x49d8), iVar13 != 0)) {\nLAB_000586a0:\n      (*(code *)PTR_lang_add_section_001dbc3c)(iVar13 + 8,param_1,0,iVar13);\n      return iVar13;\n    }\n    uVar6 = param_1[5];\nLAB_000585fc:\n    iVar9 = param_1[0x2d];\n    piVar10 = param_1;\n    while (piVar10 = (int *)(*(code *)PTR_bfd_get_next_section_by_name_001dbf68)(iVar9,piVar10),\n          piVar10 != (int *)0x0) {\n      iVar9 = piVar10[0x2d];\n      if ((((piVar10[0x16] == 0) && (((piVar10[5] ^ uVar6) & 3) == 0 && (piVar10[5] & 0x8000U) == 0)\n           ) && (-1 < *(int *)(iVar9 + 0x28) << 0x12)) &&\n         ((*(int *)(iVar9 + 0xac) != 0 &&\n          ((*(ushort *)(*(int *)(iVar9 + 0xac) + 0x24) & 0x800) == 0)))) {\n        iVar9 = (*(code *)PTR__bfd_elf_match_sections_by_type_001dbe14)\n                          (iVar9,piVar10,param_1[0x2d],param_1);\n        if (iVar9 == 0) {\n          iVar9 = piVar10[0x2d];\n        }\n        else {\n          iVar9 = piVar10[0x2d];\n          uVar6 = (piVar10[5] ^ 8U | uVar6 ^ 8) ^ 8;\n        }\n      }\n    }\n  }\n  if ((uVar6 & 0x2001) == 0) {\n    piVar10 = (int *)(PTR_DAT_001db8f8 + -0x4920);\n  }\n  else {\n    piVar10 = (int *)0x0;\n    if ((uVar6 & 1) == 0) {\n      local_40 = 0;\n      goto LAB_00058810;\n    }\n    if ((uVar6 & 2) != 0) {\n      if (iVar8 == 5) {\n        if (local_44 == 7) goto LAB_000589f8;\n      }\n      else {\n        iVar9 = (*(code *)PTR_strncmp_001dbe60)\n                          (param_2,PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb68,5);\n        if (iVar9 == 0) {\nLAB_000589f8:\n          piVar10 = (int *)(PTR_DAT_001db8f8 + -0x4950);\n          goto LAB_00058800;\n        }\n      }\n    }\n    if ((uVar6 & 0x502) == 0) {\n      piVar10 = (int *)(PTR_DAT_001db8f8 + -0x4980);\n    }\n    else if ((int)(uVar6 << 9) < 0) {\n      piVar10 = (int *)(PTR_DAT_001db8f8 + -0x4938);\n    }\n    else if ((uVar6 & 0x400) == 0) {\n      if ((uVar6 & 8) == 0) {\n        piVar10 = (int *)(PTR_DAT_001db8f8 + -0x4998);\n      }\n      else {\n        if (iVar8 == 5) {\n          if ((local_44 == 4) || (local_44 == 9)) goto LAB_000585b8;\n        }\n        else {\n          iVar8 = (*(code *)PTR_strncmp_001dbe60)\n                            (param_2,PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb60,4);\n          if (iVar8 == 0) {\nLAB_000585b8:\n            if ((uVar6 & 2) != 0) {\n              piVar10 = (int *)(PTR_DAT_001db8f8 + -0x4968);\n              goto LAB_00058800;\n            }\n          }\n        }\n        if ((uVar6 & 0x10) == 0) {\n          piVar10 = (int *)(PTR_DAT_001db8f8 + -0x49c8);\n        }\n        else {\n          piVar10 = (int *)(PTR_DAT_001db8f8 + -0x49e0);\n        }\n      }\n    }\n    else {\n      piVar10 = (int *)(PTR_DAT_001db8f8 + -0x49b0);\n    }\n  }\nLAB_00058800:\n  local_40 = piVar10[2];\n  if (local_40 != 0) goto LAB_00058810;\n  if (*piVar10 == 0) {\n    cVar2 = *(char *)(*param_1 + 4);\n    if (*(int *)PTR_lang_output_section_statement_001dbbf4 != 0) {\n      local_44 = 0;\n      local_40 = 0;\n      puVar4 = PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb60;\n      local_34 = 0;\n      puVar5 = PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb70;\n      iVar8 = 0;\n      iVar9 = 0;\n      iVar3 = *(int *)PTR_lang_output_section_statement_001dbbf4;\n      do {\n        iVar13 = iVar3;\n        if (*(int *)(iVar13 + 0x48) < 0) {\nLAB_00058a98:\n          if (*(int *)(iVar13 + 0x1c) != 0) {\n            uVar7 = *(uint *)(*(int *)(iVar13 + 0x1c) + 0x14);\n            iVar3 = iVar9;\njoined_r0x00058aac:\n            if (((uVar7 & 1) != 0) && (iVar9 = iVar3, local_34 = iVar13, (uVar7 & 8) != 0)) {\n              local_40 = iVar13;\n            }\n          }\n        }\n        else {\n          iVar11 = *(int *)(iVar13 + 0x18);\n          iVar3 = (*(code *)PTR_strncmp_001dbe60)(iVar11,puVar4,4);\n          if (iVar3 != 0) goto LAB_00058a98;\n          uVar7 = (uint)(*(char *)(iVar11 + 4) == 'a');\n          if ((bVar1) ||\n             (iVar3 = (*(code *)PTR_strcmp_001dc144)(puVar5,iVar11 + uVar7 + 4), iVar3 == 0)) break;\n          iVar3 = iVar13;\n          if ((cVar2 == 'a') != uVar7) {\n            if (iVar8 == 0) {\n              iVar8 = iVar13;\n            }\n            iVar3 = iVar8;\n            if (iVar9 != 0) goto LAB_00058a98;\n          }\n          iVar8 = iVar3;\n          if (*(int *)(iVar13 + 0x1c) != 0) {\n            uVar7 = *(uint *)(*(int *)(iVar13 + 0x1c) + 0x14);\n            iVar3 = iVar13;\n            goto joined_r0x00058aac;\n          }\n        }\n        local_44 = iVar13;\n        iVar3 = *(int *)(iVar13 + 0x10);\n      } while (*(int *)(iVar13 + 0x10) != 0);\n      if (iVar9 == 0) {\n        if (iVar8 == 0) {\n          if (local_40 == 0) {\n            local_40 = local_34;\n            if (local_34 == 0) {\n              local_40 = local_44;\n            }\n            piVar10[2] = local_40;\n          }\n          else {\n            piVar10[2] = local_40;\n          }\n        }\n        else {\n          piVar10[2] = iVar8;\n          local_40 = iVar8;\n        }\n      }\n      else {\n        piVar10[2] = iVar9;\n        local_40 = iVar9;\n      }\n      goto LAB_00058960;\n    }\n  }\n  else {\n    local_40 = (*(code *)PTR_lang_output_section_statement_lookup_001dbc2c)(*piVar10,0,0);\n    piVar10[2] = local_40;\nLAB_00058960:\n    if (local_40 != 0) goto LAB_00058810;\n  }\n  local_40 = (*(code *)PTR_lang_output_section_find_by_flags_001dbd70)\n                       (param_1,uVar6,piVar10 + 2,PTR__bfd_elf_match_sections_by_type_001dbe14);\n  if (local_40 == 0) {\n    local_40 = *(int *)PTR_lang_output_section_statement_001dbbf4;\n  }\nLAB_00058810:\n  iVar8 = (*(code *)PTR_lang_insert_orphan_001dbd6c)(param_1,param_2,param_3,local_40,piVar10,0,0);\n  return iVar8;\n}\n\n" (function_definition "int FUN_00058384(int *param_1,undefined *param_2,int param_3)\n\n{\n  bool bVar1;\n  char cVar2;\n  int iVar3;\n  undefined *puVar4;\n  undefined *puVar5;\n  uint uVar6;\n  uint uVar7;\n  int iVar8;\n  int iVar9;\n  int *piVar10;\n  int iVar11;\n  int *piVar12;\n  int iVar13;\n  int local_44;\n  int local_40;\n  int local_34;\n  \n  puVar4 = PTR_link_info_001db928;\n  iVar8 = *(int *)(*(int *)(param_1[0x2d] + 4) + 4);\n  iVar9 = *(int *)(*(int *)(*(int *)(PTR_link_info_001db928 + 0x34) + 4) + 4);\n  if (iVar8 == 5) {\n    local_44 = *(int *)(param_1[0x2b] + 4);\n  }\n  else {\n    local_44 = 0;\n  }\n  if ((*(uint *)PTR_link_info_001db928 & 0xc0000000) == 0x80000000) {\nLAB_00058478:\n    bVar1 = false;\n  }\n  else {\n    if ((-1 < *(int *)(PTR_link_info_001db928 + 4) << 6) || (uVar6 = param_1[5], (uVar6 & 1) == 0))\n    {\n      if (iVar8 == 5) {\n        bVar1 = false;\nLAB_0005886c:\n        if ((iVar9 != 5) || (uVar6 = param_1[5], (uVar6 & 1) == 0)) goto LAB_0005847c;\n        iVar3 = param_1[0x2b];\n        goto LAB_0005888c;\n      }\n      goto LAB_00058478;\n    }\n    if (iVar8 == 5) {\n      if (local_44 == 4) {\n        bVar1 = true;\n        param_2 = PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb14;\n        goto LAB_0005886c;\n      }\n      bVar1 = local_44 == 9;\n      if (bVar1) {\n        param_2 = PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb44;\n      }\n      if (iVar9 != 5) goto LAB_0005847c;\n      iVar3 = param_1[0x2b];\nLAB_0005888c:\n      if (*(int *)(iVar3 + 0xc) << 7 < 0) {\n        iVar13 = *(int *)PTR_lang_output_section_statement_001dbbf4;\n        if (iVar13 != 0) {\n          do {\n            puVar5 = *(undefined **)(iVar13 + 0x1c);\n            if ((((puVar5 != (undefined *)0x0) && (puVar5 != PTR__bfd_std_section_001dbf30 + 400))\n                && ((*(uint *)(*(int *)(puVar5 + 0xac) + 0xc) & 0x1000000) != 0)) &&\n               ((((uVar6 ^ *(uint *)(puVar5 + 0x14)) & 0x11b) == 0 &&\n                (*(int *)(*(int *)(puVar5 + 0xac) + 0x2c) == *(int *)(iVar3 + 0x2c)))))\n            goto LAB_000586a0;\n            iVar13 = *(int *)(iVar13 + 0x10);\n          } while (iVar13 != 0);\n        }\n        if ((uVar6 & 0x102) == 0) {\n          param_2 = PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb38;\n        }\n        else if ((uVar6 & 8) == 0) {\n          param_2 = PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb20;\n        }\n        else if ((uVar6 & 0x10) == 0) {\n          param_2 = PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb50;\n        }\n        else {\n          param_2 = PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb2c;\n        }\n      }\n    }\n    else {\n      iVar3 = (*(code *)PTR_strncmp_001dbe60)\n                        (param_2,PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb60,4);\n      if (iVar3 != 0) goto LAB_00058478;\n      if (param_2[4] == 'a') {\n        bVar1 = true;\n        param_2 = PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb14;\n      }\n      else {\n        bVar1 = true;\n        param_2 = PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb44;\n      }\n    }\n  }\nLAB_0005847c:\n  if ((param_3 == 0) &&\n     (iVar13 = (*(code *)PTR_lang_output_section_statement_lookup_001dbc2c)(param_2,0,0),\n     iVar13 != 0)) {\n    iVar3 = 0;\n    do {\n      while (iVar11 = *(int *)(iVar13 + 0x1c), iVar11 == 0) {\n        iVar11 = (*(code *)PTR_next_matching_output_section_statement_001dbd68)(iVar13,0);\n        iVar3 = iVar13;\n        iVar13 = iVar11;\n        if (iVar11 == 0) goto LAB_000587ec;\n      }\n      if (*(uint *)(iVar11 + 0x14) == 0) goto LAB_000586a0;\n      if (((*(uint *)(iVar11 + 0x14) ^ param_1[5]) & 3) == 0) {\n        if ((iVar8 != 5) || (iVar9 != 5)) goto LAB_000586a0;\n        if ((*(int *)(*(int *)(iVar11 + 0xac) + 0x2c) == *(int *)(param_1[0x2b] + 0x2c)) &&\n           (((*(uint *)puVar4 & 0xc0000000) != 0x80000000 ||\n            (((*(uint *)(*(int *)(iVar11 + 0xac) + 0xc) ^ *(uint *)(param_1[0x2b] + 0xc)) &\n             0x80000000) == 0)))) {\n          iVar11 = (*(code *)PTR__bfd_elf_match_sections_by_type_001dbe14)\n                             (*(undefined4 *)(puVar4 + 0x34),iVar11,param_1[0x2d],param_1);\n          if (iVar11 != 0) goto LAB_000586a0;\n          if (*(int *)(iVar13 + 0x1c) == 0) {\n            iVar3 = iVar13;\n          }\n        }\n      }\n      iVar13 = (*(code *)PTR_next_matching_output_section_statement_001dbd68)(iVar13,0);\n    } while (iVar13 != 0);\nLAB_000587ec:\n    if (iVar3 != 0) {\n      (*(code *)PTR_lang_add_section_001dbc3c)(iVar3 + 8,param_1,0,iVar3);\n      return iVar3;\n    }\n    param_3 = 0x17e;\n  }\n  puVar5 = PTR_DAT_001db8f8;\n  if (*(int *)(PTR_DAT_001db8f8 + -0x3618) == 0) {\n    piVar10 = (int *)(PTR_DAT_001db8f8 + -0x49e0);\n    piVar12 = (int *)(PTR_DAT_001db8f8 + -0x4908);\n    do {\n      if (*piVar10 != 0) {\n        iVar9 = (*(code *)PTR_lang_output_section_statement_lookup_001dbc2c)(*piVar10,0,0);\n        piVar10[2] = iVar9;\n        if ((iVar9 != 0) && (*(int *)(iVar9 + 0x4c) == 0)) {\n          *(int *)(iVar9 + 0x4c) = piVar10[1];\n        }\n      }\n      piVar10 = piVar10 + 6;\n    } while (piVar10 != piVar12);\n    *(undefined4 *)(puVar5 + -0x3618) = 1;\n  }\n  if ((int)*(uint *)puVar4 < 0) {\n    uVar6 = param_1[5];\n    if ((*(uint *)puVar4 & 0xc0000000) != 0x80000000) goto LAB_000585fc;\n  }\n  else {\n    iVar9 = (*(code *)PTR_strncmp_001dbe60)\n                      (*param_1,PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb78,0xd);\n    if ((iVar9 == 0) && (iVar13 = *(int *)(PTR_DAT_001db8f8 + -0x49d8), iVar13 != 0)) {\nLAB_000586a0:\n      (*(code *)PTR_lang_add_section_001dbc3c)(iVar13 + 8,param_1,0,iVar13);\n      return iVar13;\n    }\n    uVar6 = param_1[5];\nLAB_000585fc:\n    iVar9 = param_1[0x2d];\n    piVar10 = param_1;\n    while (piVar10 = (int *)(*(code *)PTR_bfd_get_next_section_by_name_001dbf68)(iVar9,piVar10),\n          piVar10 != (int *)0x0) {\n      iVar9 = piVar10[0x2d];\n      if ((((piVar10[0x16] == 0) && (((piVar10[5] ^ uVar6) & 3) == 0 && (piVar10[5] & 0x8000U) == 0)\n           ) && (-1 < *(int *)(iVar9 + 0x28) << 0x12)) &&\n         ((*(int *)(iVar9 + 0xac) != 0 &&\n          ((*(ushort *)(*(int *)(iVar9 + 0xac) + 0x24) & 0x800) == 0)))) {\n        iVar9 = (*(code *)PTR__bfd_elf_match_sections_by_type_001dbe14)\n                          (iVar9,piVar10,param_1[0x2d],param_1);\n        if (iVar9 == 0) {\n          iVar9 = piVar10[0x2d];\n        }\n        else {\n          iVar9 = piVar10[0x2d];\n          uVar6 = (piVar10[5] ^ 8U | uVar6 ^ 8) ^ 8;\n        }\n      }\n    }\n  }\n  if ((uVar6 & 0x2001) == 0) {\n    piVar10 = (int *)(PTR_DAT_001db8f8 + -0x4920);\n  }\n  else {\n    piVar10 = (int *)0x0;\n    if ((uVar6 & 1) == 0) {\n      local_40 = 0;\n      goto LAB_00058810;\n    }\n    if ((uVar6 & 2) != 0) {\n      if (iVar8 == 5) {\n        if (local_44 == 7) goto LAB_000589f8;\n      }\n      else {\n        iVar9 = (*(code *)PTR_strncmp_001dbe60)\n                          (param_2,PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb68,5);\n        if (iVar9 == 0) {\nLAB_000589f8:\n          piVar10 = (int *)(PTR_DAT_001db8f8 + -0x4950);\n          goto LAB_00058800;\n        }\n      }\n    }\n    if ((uVar6 & 0x502) == 0) {\n      piVar10 = (int *)(PTR_DAT_001db8f8 + -0x4980);\n    }\n    else if ((int)(uVar6 << 9) < 0) {\n      piVar10 = (int *)(PTR_DAT_001db8f8 + -0x4938);\n    }\n    else if ((uVar6 & 0x400) == 0) {\n      if ((uVar6 & 8) == 0) {\n        piVar10 = (int *)(PTR_DAT_001db8f8 + -0x4998);\n      }\n      else {\n        if (iVar8 == 5) {\n          if ((local_44 == 4) || (local_44 == 9)) goto LAB_000585b8;\n        }\n        else {\n          iVar8 = (*(code *)PTR_strncmp_001dbe60)\n                            (param_2,PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb60,4);\n          if (iVar8 == 0) {\nLAB_000585b8:\n            if ((uVar6 & 2) != 0) {\n              piVar10 = (int *)(PTR_DAT_001db8f8 + -0x4968);\n              goto LAB_00058800;\n            }\n          }\n        }\n        if ((uVar6 & 0x10) == 0) {\n          piVar10 = (int *)(PTR_DAT_001db8f8 + -0x49c8);\n        }\n        else {\n          piVar10 = (int *)(PTR_DAT_001db8f8 + -0x49e0);\n        }\n      }\n    }\n    else {\n      piVar10 = (int *)(PTR_DAT_001db8f8 + -0x49b0);\n    }\n  }\nLAB_00058800:\n  local_40 = piVar10[2];\n  if (local_40 != 0) goto LAB_00058810;\n  if (*piVar10 == 0) {\n    cVar2 = *(char *)(*param_1 + 4);\n    if (*(int *)PTR_lang_output_section_statement_001dbbf4 != 0) {\n      local_44 = 0;\n      local_40 = 0;\n      puVar4 = PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb60;\n      local_34 = 0;\n      puVar5 = PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb70;\n      iVar8 = 0;\n      iVar9 = 0;\n      iVar3 = *(int *)PTR_lang_output_section_statement_001dbbf4;\n      do {\n        iVar13 = iVar3;\n        if (*(int *)(iVar13 + 0x48) < 0) {\nLAB_00058a98:\n          if (*(int *)(iVar13 + 0x1c) != 0) {\n            uVar7 = *(uint *)(*(int *)(iVar13 + 0x1c) + 0x14);\n            iVar3 = iVar9;\njoined_r0x00058aac:\n            if (((uVar7 & 1) != 0) && (iVar9 = iVar3, local_34 = iVar13, (uVar7 & 8) != 0)) {\n              local_40 = iVar13;\n            }\n          }\n        }\n        else {\n          iVar11 = *(int *)(iVar13 + 0x18);\n          iVar3 = (*(code *)PTR_strncmp_001dbe60)(iVar11,puVar4,4);\n          if (iVar3 != 0) goto LAB_00058a98;\n          uVar7 = (uint)(*(char *)(iVar11 + 4) == 'a');\n          if ((bVar1) ||\n             (iVar3 = (*(code *)PTR_strcmp_001dc144)(puVar5,iVar11 + uVar7 + 4), iVar3 == 0)) break;\n          iVar3 = iVar13;\n          if ((cVar2 == 'a') != uVar7) {\n            if (iVar8 == 0) {\n              iVar8 = iVar13;\n            }\n            iVar3 = iVar8;\n            if (iVar9 != 0) goto LAB_00058a98;\n          }\n          iVar8 = iVar3;\n          if (*(int *)(iVar13 + 0x1c) != 0) {\n            uVar7 = *(uint *)(*(int *)(iVar13 + 0x1c) + 0x14);\n            iVar3 = iVar13;\n            goto joined_r0x00058aac;\n          }\n        }\n        local_44 = iVar13;\n        iVar3 = *(int *)(iVar13 + 0x10);\n      } while (*(int *)(iVar13 + 0x10) != 0);\n      if (iVar9 == 0) {\n        if (iVar8 == 0) {\n          if (local_40 == 0) {\n            local_40 = local_34;\n            if (local_34 == 0) {\n              local_40 = local_44;\n            }\n            piVar10[2] = local_40;\n          }\n          else {\n            piVar10[2] = local_40;\n          }\n        }\n        else {\n          piVar10[2] = iVar8;\n          local_40 = iVar8;\n        }\n      }\n      else {\n        piVar10[2] = iVar9;\n        local_40 = iVar9;\n      }\n      goto LAB_00058960;\n    }\n  }\n  else {\n    local_40 = (*(code *)PTR_lang_output_section_statement_lookup_001dbc2c)(*piVar10,0,0);\n    piVar10[2] = local_40;\nLAB_00058960:\n    if (local_40 != 0) goto LAB_00058810;\n  }\n  local_40 = (*(code *)PTR_lang_output_section_find_by_flags_001dbd70)\n                       (param_1,uVar6,piVar10 + 2,PTR__bfd_elf_match_sections_by_type_001dbe14);\n  if (local_40 == 0) {\n    local_40 = *(int *)PTR_lang_output_section_statement_001dbbf4;\n  }\nLAB_00058810:\n  iVar8 = (*(code *)PTR_lang_insert_orphan_001dbd6c)(param_1,param_2,param_3,local_40,piVar10,0,0);\n  return iVar8;\n}" primitive_type (function_declarator "FUN_00058384(int *param_1,undefined *param_2,int param_3)" identifier (parameter_list "(int *param_1,undefined *param_2,int param_3)" ( (parameter_declaration "int *param_1" primitive_type (pointer_declarator "*param_1" * identifier)) , (parameter_declaration "undefined *param_2" type_identifier (pointer_declarator "*param_2" * identifier)) , (parameter_declaration "int param_3" primitive_type identifier) ))) (compound_statement "{\n  bool bVar1;\n  char cVar2;\n  int iVar3;\n  undefined *puVar4;\n  undefined *puVar5;\n  uint uVar6;\n  uint uVar7;\n  int iVar8;\n  int iVar9;\n  int *piVar10;\n  int iVar11;\n  int *piVar12;\n  int iVar13;\n  int local_44;\n  int local_40;\n  int local_34;\n  \n  puVar4 = PTR_link_info_001db928;\n  iVar8 = *(int *)(*(int *)(param_1[0x2d] + 4) + 4);\n  iVar9 = *(int *)(*(int *)(*(int *)(PTR_link_info_001db928 + 0x34) + 4) + 4);\n  if (iVar8 == 5) {\n    local_44 = *(int *)(param_1[0x2b] + 4);\n  }\n  else {\n    local_44 = 0;\n  }\n  if ((*(uint *)PTR_link_info_001db928 & 0xc0000000) == 0x80000000) {\nLAB_00058478:\n    bVar1 = false;\n  }\n  else {\n    if ((-1 < *(int *)(PTR_link_info_001db928 + 4) << 6) || (uVar6 = param_1[5], (uVar6 & 1) == 0))\n    {\n      if (iVar8 == 5) {\n        bVar1 = false;\nLAB_0005886c:\n        if ((iVar9 != 5) || (uVar6 = param_1[5], (uVar6 & 1) == 0)) goto LAB_0005847c;\n        iVar3 = param_1[0x2b];\n        goto LAB_0005888c;\n      }\n      goto LAB_00058478;\n    }\n    if (iVar8 == 5) {\n      if (local_44 == 4) {\n        bVar1 = true;\n        param_2 = PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb14;\n        goto LAB_0005886c;\n      }\n      bVar1 = local_44 == 9;\n      if (bVar1) {\n        param_2 = PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb44;\n      }\n      if (iVar9 != 5) goto LAB_0005847c;\n      iVar3 = param_1[0x2b];\nLAB_0005888c:\n      if (*(int *)(iVar3 + 0xc) << 7 < 0) {\n        iVar13 = *(int *)PTR_lang_output_section_statement_001dbbf4;\n        if (iVar13 != 0) {\n          do {\n            puVar5 = *(undefined **)(iVar13 + 0x1c);\n            if ((((puVar5 != (undefined *)0x0) && (puVar5 != PTR__bfd_std_section_001dbf30 + 400))\n                && ((*(uint *)(*(int *)(puVar5 + 0xac) + 0xc) & 0x1000000) != 0)) &&\n               ((((uVar6 ^ *(uint *)(puVar5 + 0x14)) & 0x11b) == 0 &&\n                (*(int *)(*(int *)(puVar5 + 0xac) + 0x2c) == *(int *)(iVar3 + 0x2c)))))\n            goto LAB_000586a0;\n            iVar13 = *(int *)(iVar13 + 0x10);\n          } while (iVar13 != 0);\n        }\n        if ((uVar6 & 0x102) == 0) {\n          param_2 = PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb38;\n        }\n        else if ((uVar6 & 8) == 0) {\n          param_2 = PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb20;\n        }\n        else if ((uVar6 & 0x10) == 0) {\n          param_2 = PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb50;\n        }\n        else {\n          param_2 = PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb2c;\n        }\n      }\n    }\n    else {\n      iVar3 = (*(code *)PTR_strncmp_001dbe60)\n                        (param_2,PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb60,4);\n      if (iVar3 != 0) goto LAB_00058478;\n      if (param_2[4] == 'a') {\n        bVar1 = true;\n        param_2 = PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb14;\n      }\n      else {\n        bVar1 = true;\n        param_2 = PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb44;\n      }\n    }\n  }\nLAB_0005847c:\n  if ((param_3 == 0) &&\n     (iVar13 = (*(code *)PTR_lang_output_section_statement_lookup_001dbc2c)(param_2,0,0),\n     iVar13 != 0)) {\n    iVar3 = 0;\n    do {\n      while (iVar11 = *(int *)(iVar13 + 0x1c), iVar11 == 0) {\n        iVar11 = (*(code *)PTR_next_matching_output_section_statement_001dbd68)(iVar13,0);\n        iVar3 = iVar13;\n        iVar13 = iVar11;\n        if (iVar11 == 0) goto LAB_000587ec;\n      }\n      if (*(uint *)(iVar11 + 0x14) == 0) goto LAB_000586a0;\n      if (((*(uint *)(iVar11 + 0x14) ^ param_1[5]) & 3) == 0) {\n        if ((iVar8 != 5) || (iVar9 != 5)) goto LAB_000586a0;\n        if ((*(int *)(*(int *)(iVar11 + 0xac) + 0x2c) == *(int *)(param_1[0x2b] + 0x2c)) &&\n           (((*(uint *)puVar4 & 0xc0000000) != 0x80000000 ||\n            (((*(uint *)(*(int *)(iVar11 + 0xac) + 0xc) ^ *(uint *)(param_1[0x2b] + 0xc)) &\n             0x80000000) == 0)))) {\n          iVar11 = (*(code *)PTR__bfd_elf_match_sections_by_type_001dbe14)\n                             (*(undefined4 *)(puVar4 + 0x34),iVar11,param_1[0x2d],param_1);\n          if (iVar11 != 0) goto LAB_000586a0;\n          if (*(int *)(iVar13 + 0x1c) == 0) {\n            iVar3 = iVar13;\n          }\n        }\n      }\n      iVar13 = (*(code *)PTR_next_matching_output_section_statement_001dbd68)(iVar13,0);\n    } while (iVar13 != 0);\nLAB_000587ec:\n    if (iVar3 != 0) {\n      (*(code *)PTR_lang_add_section_001dbc3c)(iVar3 + 8,param_1,0,iVar3);\n      return iVar3;\n    }\n    param_3 = 0x17e;\n  }\n  puVar5 = PTR_DAT_001db8f8;\n  if (*(int *)(PTR_DAT_001db8f8 + -0x3618) == 0) {\n    piVar10 = (int *)(PTR_DAT_001db8f8 + -0x49e0);\n    piVar12 = (int *)(PTR_DAT_001db8f8 + -0x4908);\n    do {\n      if (*piVar10 != 0) {\n        iVar9 = (*(code *)PTR_lang_output_section_statement_lookup_001dbc2c)(*piVar10,0,0);\n        piVar10[2] = iVar9;\n        if ((iVar9 != 0) && (*(int *)(iVar9 + 0x4c) == 0)) {\n          *(int *)(iVar9 + 0x4c) = piVar10[1];\n        }\n      }\n      piVar10 = piVar10 + 6;\n    } while (piVar10 != piVar12);\n    *(undefined4 *)(puVar5 + -0x3618) = 1;\n  }\n  if ((int)*(uint *)puVar4 < 0) {\n    uVar6 = param_1[5];\n    if ((*(uint *)puVar4 & 0xc0000000) != 0x80000000) goto LAB_000585fc;\n  }\n  else {\n    iVar9 = (*(code *)PTR_strncmp_001dbe60)\n                      (*param_1,PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb78,0xd);\n    if ((iVar9 == 0) && (iVar13 = *(int *)(PTR_DAT_001db8f8 + -0x49d8), iVar13 != 0)) {\nLAB_000586a0:\n      (*(code *)PTR_lang_add_section_001dbc3c)(iVar13 + 8,param_1,0,iVar13);\n      return iVar13;\n    }\n    uVar6 = param_1[5];\nLAB_000585fc:\n    iVar9 = param_1[0x2d];\n    piVar10 = param_1;\n    while (piVar10 = (int *)(*(code *)PTR_bfd_get_next_section_by_name_001dbf68)(iVar9,piVar10),\n          piVar10 != (int *)0x0) {\n      iVar9 = piVar10[0x2d];\n      if ((((piVar10[0x16] == 0) && (((piVar10[5] ^ uVar6) & 3) == 0 && (piVar10[5] & 0x8000U) == 0)\n           ) && (-1 < *(int *)(iVar9 + 0x28) << 0x12)) &&\n         ((*(int *)(iVar9 + 0xac) != 0 &&\n          ((*(ushort *)(*(int *)(iVar9 + 0xac) + 0x24) & 0x800) == 0)))) {\n        iVar9 = (*(code *)PTR__bfd_elf_match_sections_by_type_001dbe14)\n                          (iVar9,piVar10,param_1[0x2d],param_1);\n        if (iVar9 == 0) {\n          iVar9 = piVar10[0x2d];\n        }\n        else {\n          iVar9 = piVar10[0x2d];\n          uVar6 = (piVar10[5] ^ 8U | uVar6 ^ 8) ^ 8;\n        }\n      }\n    }\n  }\n  if ((uVar6 & 0x2001) == 0) {\n    piVar10 = (int *)(PTR_DAT_001db8f8 + -0x4920);\n  }\n  else {\n    piVar10 = (int *)0x0;\n    if ((uVar6 & 1) == 0) {\n      local_40 = 0;\n      goto LAB_00058810;\n    }\n    if ((uVar6 & 2) != 0) {\n      if (iVar8 == 5) {\n        if (local_44 == 7) goto LAB_000589f8;\n      }\n      else {\n        iVar9 = (*(code *)PTR_strncmp_001dbe60)\n                          (param_2,PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb68,5);\n        if (iVar9 == 0) {\nLAB_000589f8:\n          piVar10 = (int *)(PTR_DAT_001db8f8 + -0x4950);\n          goto LAB_00058800;\n        }\n      }\n    }\n    if ((uVar6 & 0x502) == 0) {\n      piVar10 = (int *)(PTR_DAT_001db8f8 + -0x4980);\n    }\n    else if ((int)(uVar6 << 9) < 0) {\n      piVar10 = (int *)(PTR_DAT_001db8f8 + -0x4938);\n    }\n    else if ((uVar6 & 0x400) == 0) {\n      if ((uVar6 & 8) == 0) {\n        piVar10 = (int *)(PTR_DAT_001db8f8 + -0x4998);\n      }\n      else {\n        if (iVar8 == 5) {\n          if ((local_44 == 4) || (local_44 == 9)) goto LAB_000585b8;\n        }\n        else {\n          iVar8 = (*(code *)PTR_strncmp_001dbe60)\n                            (param_2,PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb60,4);\n          if (iVar8 == 0) {\nLAB_000585b8:\n            if ((uVar6 & 2) != 0) {\n              piVar10 = (int *)(PTR_DAT_001db8f8 + -0x4968);\n              goto LAB_00058800;\n            }\n          }\n        }\n        if ((uVar6 & 0x10) == 0) {\n          piVar10 = (int *)(PTR_DAT_001db8f8 + -0x49c8);\n        }\n        else {\n          piVar10 = (int *)(PTR_DAT_001db8f8 + -0x49e0);\n        }\n      }\n    }\n    else {\n      piVar10 = (int *)(PTR_DAT_001db8f8 + -0x49b0);\n    }\n  }\nLAB_00058800:\n  local_40 = piVar10[2];\n  if (local_40 != 0) goto LAB_00058810;\n  if (*piVar10 == 0) {\n    cVar2 = *(char *)(*param_1 + 4);\n    if (*(int *)PTR_lang_output_section_statement_001dbbf4 != 0) {\n      local_44 = 0;\n      local_40 = 0;\n      puVar4 = PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb60;\n      local_34 = 0;\n      puVar5 = PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb70;\n      iVar8 = 0;\n      iVar9 = 0;\n      iVar3 = *(int *)PTR_lang_output_section_statement_001dbbf4;\n      do {\n        iVar13 = iVar3;\n        if (*(int *)(iVar13 + 0x48) < 0) {\nLAB_00058a98:\n          if (*(int *)(iVar13 + 0x1c) != 0) {\n            uVar7 = *(uint *)(*(int *)(iVar13 + 0x1c) + 0x14);\n            iVar3 = iVar9;\njoined_r0x00058aac:\n            if (((uVar7 & 1) != 0) && (iVar9 = iVar3, local_34 = iVar13, (uVar7 & 8) != 0)) {\n              local_40 = iVar13;\n            }\n          }\n        }\n        else {\n          iVar11 = *(int *)(iVar13 + 0x18);\n          iVar3 = (*(code *)PTR_strncmp_001dbe60)(iVar11,puVar4,4);\n          if (iVar3 != 0) goto LAB_00058a98;\n          uVar7 = (uint)(*(char *)(iVar11 + 4) == 'a');\n          if ((bVar1) ||\n             (iVar3 = (*(code *)PTR_strcmp_001dc144)(puVar5,iVar11 + uVar7 + 4), iVar3 == 0)) break;\n          iVar3 = iVar13;\n          if ((cVar2 == 'a') != uVar7) {\n            if (iVar8 == 0) {\n              iVar8 = iVar13;\n            }\n            iVar3 = iVar8;\n            if (iVar9 != 0) goto LAB_00058a98;\n          }\n          iVar8 = iVar3;\n          if (*(int *)(iVar13 + 0x1c) != 0) {\n            uVar7 = *(uint *)(*(int *)(iVar13 + 0x1c) + 0x14);\n            iVar3 = iVar13;\n            goto joined_r0x00058aac;\n          }\n        }\n        local_44 = iVar13;\n        iVar3 = *(int *)(iVar13 + 0x10);\n      } while (*(int *)(iVar13 + 0x10) != 0);\n      if (iVar9 == 0) {\n        if (iVar8 == 0) {\n          if (local_40 == 0) {\n            local_40 = local_34;\n            if (local_34 == 0) {\n              local_40 = local_44;\n            }\n            piVar10[2] = local_40;\n          }\n          else {\n            piVar10[2] = local_40;\n          }\n        }\n        else {\n          piVar10[2] = iVar8;\n          local_40 = iVar8;\n        }\n      }\n      else {\n        piVar10[2] = iVar9;\n        local_40 = iVar9;\n      }\n      goto LAB_00058960;\n    }\n  }\n  else {\n    local_40 = (*(code *)PTR_lang_output_section_statement_lookup_001dbc2c)(*piVar10,0,0);\n    piVar10[2] = local_40;\nLAB_00058960:\n    if (local_40 != 0) goto LAB_00058810;\n  }\n  local_40 = (*(code *)PTR_lang_output_section_find_by_flags_001dbd70)\n                       (param_1,uVar6,piVar10 + 2,PTR__bfd_elf_match_sections_by_type_001dbe14);\n  if (local_40 == 0) {\n    local_40 = *(int *)PTR_lang_output_section_statement_001dbbf4;\n  }\nLAB_00058810:\n  iVar8 = (*(code *)PTR_lang_insert_orphan_001dbd6c)(param_1,param_2,param_3,local_40,piVar10,0,0);\n  return iVar8;\n}" { (declaration "bool bVar1;" primitive_type identifier ;) (declaration "char cVar2;" primitive_type identifier ;) (declaration "int iVar3;" primitive_type identifier ;) (declaration "undefined *puVar4;" type_identifier (pointer_declarator "*puVar4" * identifier) ;) (declaration "undefined *puVar5;" type_identifier (pointer_declarator "*puVar5" * identifier) ;) (declaration "uint uVar6;" type_identifier identifier ;) (declaration "uint uVar7;" type_identifier identifier ;) (declaration "int iVar8;" primitive_type identifier ;) (declaration "int iVar9;" primitive_type identifier ;) (declaration "int *piVar10;" primitive_type (pointer_declarator "*piVar10" * identifier) ;) (declaration "int iVar11;" primitive_type identifier ;) (declaration "int *piVar12;" primitive_type (pointer_declarator "*piVar12" * identifier) ;) (declaration "int iVar13;" primitive_type identifier ;) (declaration "int local_44;" primitive_type identifier ;) (declaration "int local_40;" primitive_type identifier ;) (declaration "int local_34;" primitive_type identifier ;) (expression_statement "puVar4 = PTR_link_info_001db928;" (assignment_expression "puVar4 = PTR_link_info_001db928" identifier = identifier) ;) (expression_statement "iVar8 = *(int *)(*(int *)(param_1[0x2d] + 4) + 4);" (assignment_expression "iVar8 = *(int *)(*(int *)(param_1[0x2d] + 4) + 4)" identifier = (pointer_expression "*(int *)(*(int *)(param_1[0x2d] + 4) + 4)" * (cast_expression "(int *)(*(int *)(param_1[0x2d] + 4) + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(param_1[0x2d] + 4) + 4)" ( (binary_expression "*(int *)(param_1[0x2d] + 4) + 4" (pointer_expression "*(int *)(param_1[0x2d] + 4)" * (cast_expression "(int *)(param_1[0x2d] + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1[0x2d] + 4)" ( (binary_expression "param_1[0x2d] + 4" (subscript_expression "param_1[0x2d]" identifier [ number_literal ]) + number_literal) )))) + number_literal) ))))) ;) (expression_statement "iVar9 = *(int *)(*(int *)(*(int *)(PTR_link_info_001db928 + 0x34) + 4) + 4);" (assignment_expression "iVar9 = *(int *)(*(int *)(*(int *)(PTR_link_info_001db928 + 0x34) + 4) + 4)" identifier = (pointer_expression "*(int *)(*(int *)(*(int *)(PTR_link_info_001db928 + 0x34) + 4) + 4)" * (cast_expression "(int *)(*(int *)(*(int *)(PTR_link_info_001db928 + 0x34) + 4) + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(*(int *)(PTR_link_info_001db928 + 0x34) + 4) + 4)" ( (binary_expression "*(int *)(*(int *)(PTR_link_info_001db928 + 0x34) + 4) + 4" (pointer_expression "*(int *)(*(int *)(PTR_link_info_001db928 + 0x34) + 4)" * (cast_expression "(int *)(*(int *)(PTR_link_info_001db928 + 0x34) + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(PTR_link_info_001db928 + 0x34) + 4)" ( (binary_expression "*(int *)(PTR_link_info_001db928 + 0x34) + 4" (pointer_expression "*(int *)(PTR_link_info_001db928 + 0x34)" * (cast_expression "(int *)(PTR_link_info_001db928 + 0x34)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_link_info_001db928 + 0x34)" ( (binary_expression "PTR_link_info_001db928 + 0x34" identifier + number_literal) )))) + number_literal) )))) + number_literal) ))))) ;) (if_statement "if (iVar8 == 5) {\n    local_44 = *(int *)(param_1[0x2b] + 4);\n  }\n  else {\n    local_44 = 0;\n  }" if (parenthesized_expression "(iVar8 == 5)" ( (binary_expression "iVar8 == 5" identifier == number_literal) )) (compound_statement "{\n    local_44 = *(int *)(param_1[0x2b] + 4);\n  }" { (expression_statement "local_44 = *(int *)(param_1[0x2b] + 4);" (assignment_expression "local_44 = *(int *)(param_1[0x2b] + 4)" identifier = (pointer_expression "*(int *)(param_1[0x2b] + 4)" * (cast_expression "(int *)(param_1[0x2b] + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1[0x2b] + 4)" ( (binary_expression "param_1[0x2b] + 4" (subscript_expression "param_1[0x2b]" identifier [ number_literal ]) + number_literal) ))))) ;) }) (else_clause "else {\n    local_44 = 0;\n  }" else (compound_statement "{\n    local_44 = 0;\n  }" { (expression_statement "local_44 = 0;" (assignment_expression "local_44 = 0" identifier = number_literal) ;) }))) (if_statement "if ((*(uint *)PTR_link_info_001db928 & 0xc0000000) == 0x80000000) {\nLAB_00058478:\n    bVar1 = false;\n  }\n  else {\n    if ((-1 < *(int *)(PTR_link_info_001db928 + 4) << 6) || (uVar6 = param_1[5], (uVar6 & 1) == 0))\n    {\n      if (iVar8 == 5) {\n        bVar1 = false;\nLAB_0005886c:\n        if ((iVar9 != 5) || (uVar6 = param_1[5], (uVar6 & 1) == 0)) goto LAB_0005847c;\n        iVar3 = param_1[0x2b];\n        goto LAB_0005888c;\n      }\n      goto LAB_00058478;\n    }\n    if (iVar8 == 5) {\n      if (local_44 == 4) {\n        bVar1 = true;\n        param_2 = PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb14;\n        goto LAB_0005886c;\n      }\n      bVar1 = local_44 == 9;\n      if (bVar1) {\n        param_2 = PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb44;\n      }\n      if (iVar9 != 5) goto LAB_0005847c;\n      iVar3 = param_1[0x2b];\nLAB_0005888c:\n      if (*(int *)(iVar3 + 0xc) << 7 < 0) {\n        iVar13 = *(int *)PTR_lang_output_section_statement_001dbbf4;\n        if (iVar13 != 0) {\n          do {\n            puVar5 = *(undefined **)(iVar13 + 0x1c);\n            if ((((puVar5 != (undefined *)0x0) && (puVar5 != PTR__bfd_std_section_001dbf30 + 400))\n                && ((*(uint *)(*(int *)(puVar5 + 0xac) + 0xc) & 0x1000000) != 0)) &&\n               ((((uVar6 ^ *(uint *)(puVar5 + 0x14)) & 0x11b) == 0 &&\n                (*(int *)(*(int *)(puVar5 + 0xac) + 0x2c) == *(int *)(iVar3 + 0x2c)))))\n            goto LAB_000586a0;\n            iVar13 = *(int *)(iVar13 + 0x10);\n          } while (iVar13 != 0);\n        }\n        if ((uVar6 & 0x102) == 0) {\n          param_2 = PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb38;\n        }\n        else if ((uVar6 & 8) == 0) {\n          param_2 = PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb20;\n        }\n        else if ((uVar6 & 0x10) == 0) {\n          param_2 = PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb50;\n        }\n        else {\n          param_2 = PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb2c;\n        }\n      }\n    }\n    else {\n      iVar3 = (*(code *)PTR_strncmp_001dbe60)\n                        (param_2,PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb60,4);\n      if (iVar3 != 0) goto LAB_00058478;\n      if (param_2[4] == 'a') {\n        bVar1 = true;\n        param_2 = PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb14;\n      }\n      else {\n        bVar1 = true;\n        param_2 = PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb44;\n      }\n    }\n  }" if (parenthesized_expression "((*(uint *)PTR_link_info_001db928 & 0xc0000000) == 0x80000000)" ( (binary_expression "(*(uint *)PTR_link_info_001db928 & 0xc0000000) == 0x80000000" (parenthesized_expression "(*(uint *)PTR_link_info_001db928 & 0xc0000000)" ( (binary_expression "*(uint *)PTR_link_info_001db928 & 0xc0000000" (pointer_expression "*(uint *)PTR_link_info_001db928" * (cast_expression "(uint *)PTR_link_info_001db928" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) & number_literal) )) == number_literal) )) (compound_statement "{\nLAB_00058478:\n    bVar1 = false;\n  }" { (labeled_statement "LAB_00058478:\n    bVar1 = false;" statement_identifier : (expression_statement "bVar1 = false;" (assignment_expression "bVar1 = false" identifier = false) ;)) }) (else_clause "else {\n    if ((-1 < *(int *)(PTR_link_info_001db928 + 4) << 6) || (uVar6 = param_1[5], (uVar6 & 1) == 0))\n    {\n      if (iVar8 == 5) {\n        bVar1 = false;\nLAB_0005886c:\n        if ((iVar9 != 5) || (uVar6 = param_1[5], (uVar6 & 1) == 0)) goto LAB_0005847c;\n        iVar3 = param_1[0x2b];\n        goto LAB_0005888c;\n      }\n      goto LAB_00058478;\n    }\n    if (iVar8 == 5) {\n      if (local_44 == 4) {\n        bVar1 = true;\n        param_2 = PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb14;\n        goto LAB_0005886c;\n      }\n      bVar1 = local_44 == 9;\n      if (bVar1) {\n        param_2 = PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb44;\n      }\n      if (iVar9 != 5) goto LAB_0005847c;\n      iVar3 = param_1[0x2b];\nLAB_0005888c:\n      if (*(int *)(iVar3 + 0xc) << 7 < 0) {\n        iVar13 = *(int *)PTR_lang_output_section_statement_001dbbf4;\n        if (iVar13 != 0) {\n          do {\n            puVar5 = *(undefined **)(iVar13 + 0x1c);\n            if ((((puVar5 != (undefined *)0x0) && (puVar5 != PTR__bfd_std_section_001dbf30 + 400))\n                && ((*(uint *)(*(int *)(puVar5 + 0xac) + 0xc) & 0x1000000) != 0)) &&\n               ((((uVar6 ^ *(uint *)(puVar5 + 0x14)) & 0x11b) == 0 &&\n                (*(int *)(*(int *)(puVar5 + 0xac) + 0x2c) == *(int *)(iVar3 + 0x2c)))))\n            goto LAB_000586a0;\n            iVar13 = *(int *)(iVar13 + 0x10);\n          } while (iVar13 != 0);\n        }\n        if ((uVar6 & 0x102) == 0) {\n          param_2 = PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb38;\n        }\n        else if ((uVar6 & 8) == 0) {\n          param_2 = PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb20;\n        }\n        else if ((uVar6 & 0x10) == 0) {\n          param_2 = PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb50;\n        }\n        else {\n          param_2 = PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb2c;\n        }\n      }\n    }\n    else {\n      iVar3 = (*(code *)PTR_strncmp_001dbe60)\n                        (param_2,PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb60,4);\n      if (iVar3 != 0) goto LAB_00058478;\n      if (param_2[4] == 'a') {\n        bVar1 = true;\n        param_2 = PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb14;\n      }\n      else {\n        bVar1 = true;\n        param_2 = PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb44;\n      }\n    }\n  }" else (compound_statement "{\n    if ((-1 < *(int *)(PTR_link_info_001db928 + 4) << 6) || (uVar6 = param_1[5], (uVar6 & 1) == 0))\n    {\n      if (iVar8 == 5) {\n        bVar1 = false;\nLAB_0005886c:\n        if ((iVar9 != 5) || (uVar6 = param_1[5], (uVar6 & 1) == 0)) goto LAB_0005847c;\n        iVar3 = param_1[0x2b];\n        goto LAB_0005888c;\n      }\n      goto LAB_00058478;\n    }\n    if (iVar8 == 5) {\n      if (local_44 == 4) {\n        bVar1 = true;\n        param_2 = PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb14;\n        goto LAB_0005886c;\n      }\n      bVar1 = local_44 == 9;\n      if (bVar1) {\n        param_2 = PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb44;\n      }\n      if (iVar9 != 5) goto LAB_0005847c;\n      iVar3 = param_1[0x2b];\nLAB_0005888c:\n      if (*(int *)(iVar3 + 0xc) << 7 < 0) {\n        iVar13 = *(int *)PTR_lang_output_section_statement_001dbbf4;\n        if (iVar13 != 0) {\n          do {\n            puVar5 = *(undefined **)(iVar13 + 0x1c);\n            if ((((puVar5 != (undefined *)0x0) && (puVar5 != PTR__bfd_std_section_001dbf30 + 400))\n                && ((*(uint *)(*(int *)(puVar5 + 0xac) + 0xc) & 0x1000000) != 0)) &&\n               ((((uVar6 ^ *(uint *)(puVar5 + 0x14)) & 0x11b) == 0 &&\n                (*(int *)(*(int *)(puVar5 + 0xac) + 0x2c) == *(int *)(iVar3 + 0x2c)))))\n            goto LAB_000586a0;\n            iVar13 = *(int *)(iVar13 + 0x10);\n          } while (iVar13 != 0);\n        }\n        if ((uVar6 & 0x102) == 0) {\n          param_2 = PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb38;\n        }\n        else if ((uVar6 & 8) == 0) {\n          param_2 = PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb20;\n        }\n        else if ((uVar6 & 0x10) == 0) {\n          param_2 = PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb50;\n        }\n        else {\n          param_2 = PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb2c;\n        }\n      }\n    }\n    else {\n      iVar3 = (*(code *)PTR_strncmp_001dbe60)\n                        (param_2,PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb60,4);\n      if (iVar3 != 0) goto LAB_00058478;\n      if (param_2[4] == 'a') {\n        bVar1 = true;\n        param_2 = PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb14;\n      }\n      else {\n        bVar1 = true;\n        param_2 = PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb44;\n      }\n    }\n  }" { (if_statement "if ((-1 < *(int *)(PTR_link_info_001db928 + 4) << 6) || (uVar6 = param_1[5], (uVar6 & 1) == 0))\n    {\n      if (iVar8 == 5) {\n        bVar1 = false;\nLAB_0005886c:\n        if ((iVar9 != 5) || (uVar6 = param_1[5], (uVar6 & 1) == 0)) goto LAB_0005847c;\n        iVar3 = param_1[0x2b];\n        goto LAB_0005888c;\n      }\n      goto LAB_00058478;\n    }" if (parenthesized_expression "((-1 < *(int *)(PTR_link_info_001db928 + 4) << 6) || (uVar6 = param_1[5], (uVar6 & 1) == 0))" ( (binary_expression "(-1 < *(int *)(PTR_link_info_001db928 + 4) << 6) || (uVar6 = param_1[5], (uVar6 & 1) == 0)" (parenthesized_expression "(-1 < *(int *)(PTR_link_info_001db928 + 4) << 6)" ( (binary_expression "-1 < *(int *)(PTR_link_info_001db928 + 4) << 6" number_literal < (binary_expression "*(int *)(PTR_link_info_001db928 + 4) << 6" (pointer_expression "*(int *)(PTR_link_info_001db928 + 4)" * (cast_expression "(int *)(PTR_link_info_001db928 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_link_info_001db928 + 4)" ( (binary_expression "PTR_link_info_001db928 + 4" identifier + number_literal) )))) << number_literal)) )) || (parenthesized_expression "(uVar6 = param_1[5], (uVar6 & 1) == 0)" ( (comma_expression "uVar6 = param_1[5], (uVar6 & 1) == 0" (assignment_expression "uVar6 = param_1[5]" identifier = (subscript_expression "param_1[5]" identifier [ number_literal ])) , (binary_expression "(uVar6 & 1) == 0" (parenthesized_expression "(uVar6 & 1)" ( (binary_expression "uVar6 & 1" identifier & number_literal) )) == number_literal)) ))) )) (compound_statement "{\n      if (iVar8 == 5) {\n        bVar1 = false;\nLAB_0005886c:\n        if ((iVar9 != 5) || (uVar6 = param_1[5], (uVar6 & 1) == 0)) goto LAB_0005847c;\n        iVar3 = param_1[0x2b];\n        goto LAB_0005888c;\n      }\n      goto LAB_00058478;\n    }" { (if_statement "if (iVar8 == 5) {\n        bVar1 = false;\nLAB_0005886c:\n        if ((iVar9 != 5) || (uVar6 = param_1[5], (uVar6 & 1) == 0)) goto LAB_0005847c;\n        iVar3 = param_1[0x2b];\n        goto LAB_0005888c;\n      }" if (parenthesized_expression "(iVar8 == 5)" ( (binary_expression "iVar8 == 5" identifier == number_literal) )) (compound_statement "{\n        bVar1 = false;\nLAB_0005886c:\n        if ((iVar9 != 5) || (uVar6 = param_1[5], (uVar6 & 1) == 0)) goto LAB_0005847c;\n        iVar3 = param_1[0x2b];\n        goto LAB_0005888c;\n      }" { (expression_statement "bVar1 = false;" (assignment_expression "bVar1 = false" identifier = false) ;) (labeled_statement "LAB_0005886c:\n        if ((iVar9 != 5) || (uVar6 = param_1[5], (uVar6 & 1) == 0)) goto LAB_0005847c;" statement_identifier : (if_statement "if ((iVar9 != 5) || (uVar6 = param_1[5], (uVar6 & 1) == 0)) goto LAB_0005847c;" if (parenthesized_expression "((iVar9 != 5) || (uVar6 = param_1[5], (uVar6 & 1) == 0))" ( (binary_expression "(iVar9 != 5) || (uVar6 = param_1[5], (uVar6 & 1) == 0)" (parenthesized_expression "(iVar9 != 5)" ( (binary_expression "iVar9 != 5" identifier != number_literal) )) || (parenthesized_expression "(uVar6 = param_1[5], (uVar6 & 1) == 0)" ( (comma_expression "uVar6 = param_1[5], (uVar6 & 1) == 0" (assignment_expression "uVar6 = param_1[5]" identifier = (subscript_expression "param_1[5]" identifier [ number_literal ])) , (binary_expression "(uVar6 & 1) == 0" (parenthesized_expression "(uVar6 & 1)" ( (binary_expression "uVar6 & 1" identifier & number_literal) )) == number_literal)) ))) )) (goto_statement "goto LAB_0005847c;" goto statement_identifier ;))) (expression_statement "iVar3 = param_1[0x2b];" (assignment_expression "iVar3 = param_1[0x2b]" identifier = (subscript_expression "param_1[0x2b]" identifier [ number_literal ])) ;) (goto_statement "goto LAB_0005888c;" goto statement_identifier ;) })) (goto_statement "goto LAB_00058478;" goto statement_identifier ;) })) (if_statement "if (iVar8 == 5) {\n      if (local_44 == 4) {\n        bVar1 = true;\n        param_2 = PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb14;\n        goto LAB_0005886c;\n      }\n      bVar1 = local_44 == 9;\n      if (bVar1) {\n        param_2 = PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb44;\n      }\n      if (iVar9 != 5) goto LAB_0005847c;\n      iVar3 = param_1[0x2b];\nLAB_0005888c:\n      if (*(int *)(iVar3 + 0xc) << 7 < 0) {\n        iVar13 = *(int *)PTR_lang_output_section_statement_001dbbf4;\n        if (iVar13 != 0) {\n          do {\n            puVar5 = *(undefined **)(iVar13 + 0x1c);\n            if ((((puVar5 != (undefined *)0x0) && (puVar5 != PTR__bfd_std_section_001dbf30 + 400))\n                && ((*(uint *)(*(int *)(puVar5 + 0xac) + 0xc) & 0x1000000) != 0)) &&\n               ((((uVar6 ^ *(uint *)(puVar5 + 0x14)) & 0x11b) == 0 &&\n                (*(int *)(*(int *)(puVar5 + 0xac) + 0x2c) == *(int *)(iVar3 + 0x2c)))))\n            goto LAB_000586a0;\n            iVar13 = *(int *)(iVar13 + 0x10);\n          } while (iVar13 != 0);\n        }\n        if ((uVar6 & 0x102) == 0) {\n          param_2 = PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb38;\n        }\n        else if ((uVar6 & 8) == 0) {\n          param_2 = PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb20;\n        }\n        else if ((uVar6 & 0x10) == 0) {\n          param_2 = PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb50;\n        }\n        else {\n          param_2 = PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb2c;\n        }\n      }\n    }\n    else {\n      iVar3 = (*(code *)PTR_strncmp_001dbe60)\n                        (param_2,PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb60,4);\n      if (iVar3 != 0) goto LAB_00058478;\n      if (param_2[4] == 'a') {\n        bVar1 = true;\n        param_2 = PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb14;\n      }\n      else {\n        bVar1 = true;\n        param_2 = PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb44;\n      }\n    }" if (parenthesized_expression "(iVar8 == 5)" ( (binary_expression "iVar8 == 5" identifier == number_literal) )) (compound_statement "{\n      if (local_44 == 4) {\n        bVar1 = true;\n        param_2 = PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb14;\n        goto LAB_0005886c;\n      }\n      bVar1 = local_44 == 9;\n      if (bVar1) {\n        param_2 = PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb44;\n      }\n      if (iVar9 != 5) goto LAB_0005847c;\n      iVar3 = param_1[0x2b];\nLAB_0005888c:\n      if (*(int *)(iVar3 + 0xc) << 7 < 0) {\n        iVar13 = *(int *)PTR_lang_output_section_statement_001dbbf4;\n        if (iVar13 != 0) {\n          do {\n            puVar5 = *(undefined **)(iVar13 + 0x1c);\n            if ((((puVar5 != (undefined *)0x0) && (puVar5 != PTR__bfd_std_section_001dbf30 + 400))\n                && ((*(uint *)(*(int *)(puVar5 + 0xac) + 0xc) & 0x1000000) != 0)) &&\n               ((((uVar6 ^ *(uint *)(puVar5 + 0x14)) & 0x11b) == 0 &&\n                (*(int *)(*(int *)(puVar5 + 0xac) + 0x2c) == *(int *)(iVar3 + 0x2c)))))\n            goto LAB_000586a0;\n            iVar13 = *(int *)(iVar13 + 0x10);\n          } while (iVar13 != 0);\n        }\n        if ((uVar6 & 0x102) == 0) {\n          param_2 = PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb38;\n        }\n        else if ((uVar6 & 8) == 0) {\n          param_2 = PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb20;\n        }\n        else if ((uVar6 & 0x10) == 0) {\n          param_2 = PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb50;\n        }\n        else {\n          param_2 = PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb2c;\n        }\n      }\n    }" { (if_statement "if (local_44 == 4) {\n        bVar1 = true;\n        param_2 = PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb14;\n        goto LAB_0005886c;\n      }" if (parenthesized_expression "(local_44 == 4)" ( (binary_expression "local_44 == 4" identifier == number_literal) )) (compound_statement "{\n        bVar1 = true;\n        param_2 = PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb14;\n        goto LAB_0005886c;\n      }" { (expression_statement "bVar1 = true;" (assignment_expression "bVar1 = true" identifier = true) ;) (expression_statement "param_2 = PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb14;" (assignment_expression "param_2 = PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb14" identifier = (binary_expression "PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb14" identifier + number_literal)) ;) (goto_statement "goto LAB_0005886c;" goto statement_identifier ;) })) (expression_statement "bVar1 = local_44 == 9;" (assignment_expression "bVar1 = local_44 == 9" identifier = (binary_expression "local_44 == 9" identifier == number_literal)) ;) (if_statement "if (bVar1) {\n        param_2 = PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb44;\n      }" if (parenthesized_expression "(bVar1)" ( identifier )) (compound_statement "{\n        param_2 = PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb44;\n      }" { (expression_statement "param_2 = PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb44;" (assignment_expression "param_2 = PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb44" identifier = (binary_expression "PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb44" identifier + number_literal)) ;) })) (if_statement "if (iVar9 != 5) goto LAB_0005847c;" if (parenthesized_expression "(iVar9 != 5)" ( (binary_expression "iVar9 != 5" identifier != number_literal) )) (goto_statement "goto LAB_0005847c;" goto statement_identifier ;)) (expression_statement "iVar3 = param_1[0x2b];" (assignment_expression "iVar3 = param_1[0x2b]" identifier = (subscript_expression "param_1[0x2b]" identifier [ number_literal ])) ;) (labeled_statement "LAB_0005888c:\n      if (*(int *)(iVar3 + 0xc) << 7 < 0) {\n        iVar13 = *(int *)PTR_lang_output_section_statement_001dbbf4;\n        if (iVar13 != 0) {\n          do {\n            puVar5 = *(undefined **)(iVar13 + 0x1c);\n            if ((((puVar5 != (undefined *)0x0) && (puVar5 != PTR__bfd_std_section_001dbf30 + 400))\n                && ((*(uint *)(*(int *)(puVar5 + 0xac) + 0xc) & 0x1000000) != 0)) &&\n               ((((uVar6 ^ *(uint *)(puVar5 + 0x14)) & 0x11b) == 0 &&\n                (*(int *)(*(int *)(puVar5 + 0xac) + 0x2c) == *(int *)(iVar3 + 0x2c)))))\n            goto LAB_000586a0;\n            iVar13 = *(int *)(iVar13 + 0x10);\n          } while (iVar13 != 0);\n        }\n        if ((uVar6 & 0x102) == 0) {\n          param_2 = PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb38;\n        }\n        else if ((uVar6 & 8) == 0) {\n          param_2 = PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb20;\n        }\n        else if ((uVar6 & 0x10) == 0) {\n          param_2 = PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb50;\n        }\n        else {\n          param_2 = PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb2c;\n        }\n      }" statement_identifier : (if_statement "if (*(int *)(iVar3 + 0xc) << 7 < 0) {\n        iVar13 = *(int *)PTR_lang_output_section_statement_001dbbf4;\n        if (iVar13 != 0) {\n          do {\n            puVar5 = *(undefined **)(iVar13 + 0x1c);\n            if ((((puVar5 != (undefined *)0x0) && (puVar5 != PTR__bfd_std_section_001dbf30 + 400))\n                && ((*(uint *)(*(int *)(puVar5 + 0xac) + 0xc) & 0x1000000) != 0)) &&\n               ((((uVar6 ^ *(uint *)(puVar5 + 0x14)) & 0x11b) == 0 &&\n                (*(int *)(*(int *)(puVar5 + 0xac) + 0x2c) == *(int *)(iVar3 + 0x2c)))))\n            goto LAB_000586a0;\n            iVar13 = *(int *)(iVar13 + 0x10);\n          } while (iVar13 != 0);\n        }\n        if ((uVar6 & 0x102) == 0) {\n          param_2 = PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb38;\n        }\n        else if ((uVar6 & 8) == 0) {\n          param_2 = PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb20;\n        }\n        else if ((uVar6 & 0x10) == 0) {\n          param_2 = PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb50;\n        }\n        else {\n          param_2 = PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb2c;\n        }\n      }" if (parenthesized_expression "(*(int *)(iVar3 + 0xc) << 7 < 0)" ( (binary_expression "*(int *)(iVar3 + 0xc) << 7 < 0" (binary_expression "*(int *)(iVar3 + 0xc) << 7" (pointer_expression "*(int *)(iVar3 + 0xc)" * (cast_expression "(int *)(iVar3 + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar3 + 0xc)" ( (binary_expression "iVar3 + 0xc" identifier + number_literal) )))) << number_literal) < number_literal) )) (compound_statement "{\n        iVar13 = *(int *)PTR_lang_output_section_statement_001dbbf4;\n        if (iVar13 != 0) {\n          do {\n            puVar5 = *(undefined **)(iVar13 + 0x1c);\n            if ((((puVar5 != (undefined *)0x0) && (puVar5 != PTR__bfd_std_section_001dbf30 + 400))\n                && ((*(uint *)(*(int *)(puVar5 + 0xac) + 0xc) & 0x1000000) != 0)) &&\n               ((((uVar6 ^ *(uint *)(puVar5 + 0x14)) & 0x11b) == 0 &&\n                (*(int *)(*(int *)(puVar5 + 0xac) + 0x2c) == *(int *)(iVar3 + 0x2c)))))\n            goto LAB_000586a0;\n            iVar13 = *(int *)(iVar13 + 0x10);\n          } while (iVar13 != 0);\n        }\n        if ((uVar6 & 0x102) == 0) {\n          param_2 = PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb38;\n        }\n        else if ((uVar6 & 8) == 0) {\n          param_2 = PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb20;\n        }\n        else if ((uVar6 & 0x10) == 0) {\n          param_2 = PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb50;\n        }\n        else {\n          param_2 = PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb2c;\n        }\n      }" { (expression_statement "iVar13 = *(int *)PTR_lang_output_section_statement_001dbbf4;" (assignment_expression "iVar13 = *(int *)PTR_lang_output_section_statement_001dbbf4" identifier = (pointer_expression "*(int *)PTR_lang_output_section_statement_001dbbf4" * (cast_expression "(int *)PTR_lang_output_section_statement_001dbbf4" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) ;) (if_statement "if (iVar13 != 0) {\n          do {\n            puVar5 = *(undefined **)(iVar13 + 0x1c);\n            if ((((puVar5 != (undefined *)0x0) && (puVar5 != PTR__bfd_std_section_001dbf30 + 400))\n                && ((*(uint *)(*(int *)(puVar5 + 0xac) + 0xc) & 0x1000000) != 0)) &&\n               ((((uVar6 ^ *(uint *)(puVar5 + 0x14)) & 0x11b) == 0 &&\n                (*(int *)(*(int *)(puVar5 + 0xac) + 0x2c) == *(int *)(iVar3 + 0x2c)))))\n            goto LAB_000586a0;\n            iVar13 = *(int *)(iVar13 + 0x10);\n          } while (iVar13 != 0);\n        }" if (parenthesized_expression "(iVar13 != 0)" ( (binary_expression "iVar13 != 0" identifier != number_literal) )) (compound_statement "{\n          do {\n            puVar5 = *(undefined **)(iVar13 + 0x1c);\n            if ((((puVar5 != (undefined *)0x0) && (puVar5 != PTR__bfd_std_section_001dbf30 + 400))\n                && ((*(uint *)(*(int *)(puVar5 + 0xac) + 0xc) & 0x1000000) != 0)) &&\n               ((((uVar6 ^ *(uint *)(puVar5 + 0x14)) & 0x11b) == 0 &&\n                (*(int *)(*(int *)(puVar5 + 0xac) + 0x2c) == *(int *)(iVar3 + 0x2c)))))\n            goto LAB_000586a0;\n            iVar13 = *(int *)(iVar13 + 0x10);\n          } while (iVar13 != 0);\n        }" { (do_statement "do {\n            puVar5 = *(undefined **)(iVar13 + 0x1c);\n            if ((((puVar5 != (undefined *)0x0) && (puVar5 != PTR__bfd_std_section_001dbf30 + 400))\n                && ((*(uint *)(*(int *)(puVar5 + 0xac) + 0xc) & 0x1000000) != 0)) &&\n               ((((uVar6 ^ *(uint *)(puVar5 + 0x14)) & 0x11b) == 0 &&\n                (*(int *)(*(int *)(puVar5 + 0xac) + 0x2c) == *(int *)(iVar3 + 0x2c)))))\n            goto LAB_000586a0;\n            iVar13 = *(int *)(iVar13 + 0x10);\n          } while (iVar13 != 0);" do (compound_statement "{\n            puVar5 = *(undefined **)(iVar13 + 0x1c);\n            if ((((puVar5 != (undefined *)0x0) && (puVar5 != PTR__bfd_std_section_001dbf30 + 400))\n                && ((*(uint *)(*(int *)(puVar5 + 0xac) + 0xc) & 0x1000000) != 0)) &&\n               ((((uVar6 ^ *(uint *)(puVar5 + 0x14)) & 0x11b) == 0 &&\n                (*(int *)(*(int *)(puVar5 + 0xac) + 0x2c) == *(int *)(iVar3 + 0x2c)))))\n            goto LAB_000586a0;\n            iVar13 = *(int *)(iVar13 + 0x10);\n          }" { (expression_statement "puVar5 = *(undefined **)(iVar13 + 0x1c);" (assignment_expression "puVar5 = *(undefined **)(iVar13 + 0x1c)" identifier = (pointer_expression "*(undefined **)(iVar13 + 0x1c)" * (cast_expression "(undefined **)(iVar13 + 0x1c)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar13 + 0x1c)" ( (binary_expression "iVar13 + 0x1c" identifier + number_literal) ))))) ;) (if_statement "if ((((puVar5 != (undefined *)0x0) && (puVar5 != PTR__bfd_std_section_001dbf30 + 400))\n                && ((*(uint *)(*(int *)(puVar5 + 0xac) + 0xc) & 0x1000000) != 0)) &&\n               ((((uVar6 ^ *(uint *)(puVar5 + 0x14)) & 0x11b) == 0 &&\n                (*(int *)(*(int *)(puVar5 + 0xac) + 0x2c) == *(int *)(iVar3 + 0x2c)))))\n            goto LAB_000586a0;" if (parenthesized_expression "((((puVar5 != (undefined *)0x0) && (puVar5 != PTR__bfd_std_section_001dbf30 + 400))\n                && ((*(uint *)(*(int *)(puVar5 + 0xac) + 0xc) & 0x1000000) != 0)) &&\n               ((((uVar6 ^ *(uint *)(puVar5 + 0x14)) & 0x11b) == 0 &&\n                (*(int *)(*(int *)(puVar5 + 0xac) + 0x2c) == *(int *)(iVar3 + 0x2c)))))" ( (binary_expression "(((puVar5 != (undefined *)0x0) && (puVar5 != PTR__bfd_std_section_001dbf30 + 400))\n                && ((*(uint *)(*(int *)(puVar5 + 0xac) + 0xc) & 0x1000000) != 0)) &&\n               ((((uVar6 ^ *(uint *)(puVar5 + 0x14)) & 0x11b) == 0 &&\n                (*(int *)(*(int *)(puVar5 + 0xac) + 0x2c) == *(int *)(iVar3 + 0x2c))))" (parenthesized_expression "(((puVar5 != (undefined *)0x0) && (puVar5 != PTR__bfd_std_section_001dbf30 + 400))\n                && ((*(uint *)(*(int *)(puVar5 + 0xac) + 0xc) & 0x1000000) != 0))" ( (binary_expression "((puVar5 != (undefined *)0x0) && (puVar5 != PTR__bfd_std_section_001dbf30 + 400))\n                && ((*(uint *)(*(int *)(puVar5 + 0xac) + 0xc) & 0x1000000) != 0)" (parenthesized_expression "((puVar5 != (undefined *)0x0) && (puVar5 != PTR__bfd_std_section_001dbf30 + 400))" ( (binary_expression "(puVar5 != (undefined *)0x0) && (puVar5 != PTR__bfd_std_section_001dbf30 + 400)" (parenthesized_expression "(puVar5 != (undefined *)0x0)" ( (binary_expression "puVar5 != (undefined *)0x0" identifier != (cast_expression "(undefined *)0x0" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) && (parenthesized_expression "(puVar5 != PTR__bfd_std_section_001dbf30 + 400)" ( (binary_expression "puVar5 != PTR__bfd_std_section_001dbf30 + 400" identifier != (binary_expression "PTR__bfd_std_section_001dbf30 + 400" identifier + number_literal)) ))) )) && (parenthesized_expression "((*(uint *)(*(int *)(puVar5 + 0xac) + 0xc) & 0x1000000) != 0)" ( (binary_expression "(*(uint *)(*(int *)(puVar5 + 0xac) + 0xc) & 0x1000000) != 0" (parenthesized_expression "(*(uint *)(*(int *)(puVar5 + 0xac) + 0xc) & 0x1000000)" ( (binary_expression "*(uint *)(*(int *)(puVar5 + 0xac) + 0xc) & 0x1000000" (pointer_expression "*(uint *)(*(int *)(puVar5 + 0xac) + 0xc)" * (cast_expression "(uint *)(*(int *)(puVar5 + 0xac) + 0xc)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar5 + 0xac) + 0xc)" ( (binary_expression "*(int *)(puVar5 + 0xac) + 0xc" (pointer_expression "*(int *)(puVar5 + 0xac)" * (cast_expression "(int *)(puVar5 + 0xac)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar5 + 0xac)" ( (binary_expression "puVar5 + 0xac" identifier + number_literal) )))) + number_literal) )))) & number_literal) )) != number_literal) ))) )) && (parenthesized_expression "((((uVar6 ^ *(uint *)(puVar5 + 0x14)) & 0x11b) == 0 &&\n                (*(int *)(*(int *)(puVar5 + 0xac) + 0x2c) == *(int *)(iVar3 + 0x2c))))" ( (parenthesized_expression "(((uVar6 ^ *(uint *)(puVar5 + 0x14)) & 0x11b) == 0 &&\n                (*(int *)(*(int *)(puVar5 + 0xac) + 0x2c) == *(int *)(iVar3 + 0x2c)))" ( (binary_expression "((uVar6 ^ *(uint *)(puVar5 + 0x14)) & 0x11b) == 0 &&\n                (*(int *)(*(int *)(puVar5 + 0xac) + 0x2c) == *(int *)(iVar3 + 0x2c))" (binary_expression "((uVar6 ^ *(uint *)(puVar5 + 0x14)) & 0x11b) == 0" (parenthesized_expression "((uVar6 ^ *(uint *)(puVar5 + 0x14)) & 0x11b)" ( (binary_expression "(uVar6 ^ *(uint *)(puVar5 + 0x14)) & 0x11b" (parenthesized_expression "(uVar6 ^ *(uint *)(puVar5 + 0x14))" ( (binary_expression "uVar6 ^ *(uint *)(puVar5 + 0x14)" identifier ^ (pointer_expression "*(uint *)(puVar5 + 0x14)" * (cast_expression "(uint *)(puVar5 + 0x14)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar5 + 0x14)" ( (binary_expression "puVar5 + 0x14" identifier + number_literal) ))))) )) & number_literal) )) == number_literal) && (parenthesized_expression "(*(int *)(*(int *)(puVar5 + 0xac) + 0x2c) == *(int *)(iVar3 + 0x2c))" ( (binary_expression "*(int *)(*(int *)(puVar5 + 0xac) + 0x2c) == *(int *)(iVar3 + 0x2c)" (pointer_expression "*(int *)(*(int *)(puVar5 + 0xac) + 0x2c)" * (cast_expression "(int *)(*(int *)(puVar5 + 0xac) + 0x2c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar5 + 0xac) + 0x2c)" ( (binary_expression "*(int *)(puVar5 + 0xac) + 0x2c" (pointer_expression "*(int *)(puVar5 + 0xac)" * (cast_expression "(int *)(puVar5 + 0xac)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar5 + 0xac)" ( (binary_expression "puVar5 + 0xac" identifier + number_literal) )))) + number_literal) )))) == (pointer_expression "*(int *)(iVar3 + 0x2c)" * (cast_expression "(int *)(iVar3 + 0x2c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar3 + 0x2c)" ( (binary_expression "iVar3 + 0x2c" identifier + number_literal) ))))) ))) )) ))) )) (goto_statement "goto LAB_000586a0;" goto statement_identifier ;)) (expression_statement "iVar13 = *(int *)(iVar13 + 0x10);" (assignment_expression "iVar13 = *(int *)(iVar13 + 0x10)" identifier = (pointer_expression "*(int *)(iVar13 + 0x10)" * (cast_expression "(int *)(iVar13 + 0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar13 + 0x10)" ( (binary_expression "iVar13 + 0x10" identifier + number_literal) ))))) ;) }) while (parenthesized_expression "(iVar13 != 0)" ( (binary_expression "iVar13 != 0" identifier != number_literal) )) ;) })) (if_statement "if ((uVar6 & 0x102) == 0) {\n          param_2 = PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb38;\n        }\n        else if ((uVar6 & 8) == 0) {\n          param_2 = PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb20;\n        }\n        else if ((uVar6 & 0x10) == 0) {\n          param_2 = PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb50;\n        }\n        else {\n          param_2 = PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb2c;\n        }" if (parenthesized_expression "((uVar6 & 0x102) == 0)" ( (binary_expression "(uVar6 & 0x102) == 0" (parenthesized_expression "(uVar6 & 0x102)" ( (binary_expression "uVar6 & 0x102" identifier & number_literal) )) == number_literal) )) (compound_statement "{\n          param_2 = PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb38;\n        }" { (expression_statement "param_2 = PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb38;" (assignment_expression "param_2 = PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb38" identifier = (binary_expression "PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb38" identifier + number_literal)) ;) }) (else_clause "else if ((uVar6 & 8) == 0) {\n          param_2 = PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb20;\n        }\n        else if ((uVar6 & 0x10) == 0) {\n          param_2 = PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb50;\n        }\n        else {\n          param_2 = PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb2c;\n        }" else (if_statement "if ((uVar6 & 8) == 0) {\n          param_2 = PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb20;\n        }\n        else if ((uVar6 & 0x10) == 0) {\n          param_2 = PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb50;\n        }\n        else {\n          param_2 = PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb2c;\n        }" if (parenthesized_expression "((uVar6 & 8) == 0)" ( (binary_expression "(uVar6 & 8) == 0" (parenthesized_expression "(uVar6 & 8)" ( (binary_expression "uVar6 & 8" identifier & number_literal) )) == number_literal) )) (compound_statement "{\n          param_2 = PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb20;\n        }" { (expression_statement "param_2 = PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb20;" (assignment_expression "param_2 = PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb20" identifier = (binary_expression "PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb20" identifier + number_literal)) ;) }) (else_clause "else if ((uVar6 & 0x10) == 0) {\n          param_2 = PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb50;\n        }\n        else {\n          param_2 = PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb2c;\n        }" else (if_statement "if ((uVar6 & 0x10) == 0) {\n          param_2 = PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb50;\n        }\n        else {\n          param_2 = PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb2c;\n        }" if (parenthesized_expression "((uVar6 & 0x10) == 0)" ( (binary_expression "(uVar6 & 0x10) == 0" (parenthesized_expression "(uVar6 & 0x10)" ( (binary_expression "uVar6 & 0x10" identifier & number_literal) )) == number_literal) )) (compound_statement "{\n          param_2 = PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb50;\n        }" { (expression_statement "param_2 = PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb50;" (assignment_expression "param_2 = PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb50" identifier = (binary_expression "PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb50" identifier + number_literal)) ;) }) (else_clause "else {\n          param_2 = PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb2c;\n        }" else (compound_statement "{\n          param_2 = PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb2c;\n        }" { (expression_statement "param_2 = PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb2c;" (assignment_expression "param_2 = PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb2c" identifier = (binary_expression "PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb2c" identifier + number_literal)) ;) }))))))) }))) }) (else_clause "else {\n      iVar3 = (*(code *)PTR_strncmp_001dbe60)\n                        (param_2,PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb60,4);\n      if (iVar3 != 0) goto LAB_00058478;\n      if (param_2[4] == 'a') {\n        bVar1 = true;\n        param_2 = PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb14;\n      }\n      else {\n        bVar1 = true;\n        param_2 = PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb44;\n      }\n    }" else (compound_statement "{\n      iVar3 = (*(code *)PTR_strncmp_001dbe60)\n                        (param_2,PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb60,4);\n      if (iVar3 != 0) goto LAB_00058478;\n      if (param_2[4] == 'a') {\n        bVar1 = true;\n        param_2 = PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb14;\n      }\n      else {\n        bVar1 = true;\n        param_2 = PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb44;\n      }\n    }" { (expression_statement "iVar3 = (*(code *)PTR_strncmp_001dbe60)\n                        (param_2,PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb60,4);" (assignment_expression "iVar3 = (*(code *)PTR_strncmp_001dbe60)\n                        (param_2,PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb60,4)" identifier = (call_expression "(*(code *)PTR_strncmp_001dbe60)\n                        (param_2,PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb60,4)" (parenthesized_expression "(*(code *)PTR_strncmp_001dbe60)" ( (pointer_expression "*(code *)PTR_strncmp_001dbe60" * (cast_expression "(code *)PTR_strncmp_001dbe60" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(param_2,PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb60,4)" ( identifier , (binary_expression "PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb60" identifier + number_literal) , number_literal )))) ;) (if_statement "if (iVar3 != 0) goto LAB_00058478;" if (parenthesized_expression "(iVar3 != 0)" ( (binary_expression "iVar3 != 0" identifier != number_literal) )) (goto_statement "goto LAB_00058478;" goto statement_identifier ;)) (if_statement "if (param_2[4] == 'a') {\n        bVar1 = true;\n        param_2 = PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb14;\n      }\n      else {\n        bVar1 = true;\n        param_2 = PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb44;\n      }" if (parenthesized_expression "(param_2[4] == 'a')" ( (binary_expression "param_2[4] == 'a'" (subscript_expression "param_2[4]" identifier [ number_literal ]) == (char_literal "'a'" ' character ')) )) (compound_statement "{\n        bVar1 = true;\n        param_2 = PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb14;\n      }" { (expression_statement "bVar1 = true;" (assignment_expression "bVar1 = true" identifier = true) ;) (expression_statement "param_2 = PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb14;" (assignment_expression "param_2 = PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb14" identifier = (binary_expression "PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb14" identifier + number_literal)) ;) }) (else_clause "else {\n        bVar1 = true;\n        param_2 = PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb44;\n      }" else (compound_statement "{\n        bVar1 = true;\n        param_2 = PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb44;\n      }" { (expression_statement "bVar1 = true;" (assignment_expression "bVar1 = true" identifier = true) ;) (expression_statement "param_2 = PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb44;" (assignment_expression "param_2 = PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb44" identifier = (binary_expression "PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb44" identifier + number_literal)) ;) }))) }))) }))) (labeled_statement "LAB_0005847c:\n  if ((param_3 == 0) &&\n     (iVar13 = (*(code *)PTR_lang_output_section_statement_lookup_001dbc2c)(param_2,0,0),\n     iVar13 != 0)) {\n    iVar3 = 0;\n    do {\n      while (iVar11 = *(int *)(iVar13 + 0x1c), iVar11 == 0) {\n        iVar11 = (*(code *)PTR_next_matching_output_section_statement_001dbd68)(iVar13,0);\n        iVar3 = iVar13;\n        iVar13 = iVar11;\n        if (iVar11 == 0) goto LAB_000587ec;\n      }\n      if (*(uint *)(iVar11 + 0x14) == 0) goto LAB_000586a0;\n      if (((*(uint *)(iVar11 + 0x14) ^ param_1[5]) & 3) == 0) {\n        if ((iVar8 != 5) || (iVar9 != 5)) goto LAB_000586a0;\n        if ((*(int *)(*(int *)(iVar11 + 0xac) + 0x2c) == *(int *)(param_1[0x2b] + 0x2c)) &&\n           (((*(uint *)puVar4 & 0xc0000000) != 0x80000000 ||\n            (((*(uint *)(*(int *)(iVar11 + 0xac) + 0xc) ^ *(uint *)(param_1[0x2b] + 0xc)) &\n             0x80000000) == 0)))) {\n          iVar11 = (*(code *)PTR__bfd_elf_match_sections_by_type_001dbe14)\n                             (*(undefined4 *)(puVar4 + 0x34),iVar11,param_1[0x2d],param_1);\n          if (iVar11 != 0) goto LAB_000586a0;\n          if (*(int *)(iVar13 + 0x1c) == 0) {\n            iVar3 = iVar13;\n          }\n        }\n      }\n      iVar13 = (*(code *)PTR_next_matching_output_section_statement_001dbd68)(iVar13,0);\n    } while (iVar13 != 0);\nLAB_000587ec:\n    if (iVar3 != 0) {\n      (*(code *)PTR_lang_add_section_001dbc3c)(iVar3 + 8,param_1,0,iVar3);\n      return iVar3;\n    }\n    param_3 = 0x17e;\n  }" statement_identifier : (if_statement "if ((param_3 == 0) &&\n     (iVar13 = (*(code *)PTR_lang_output_section_statement_lookup_001dbc2c)(param_2,0,0),\n     iVar13 != 0)) {\n    iVar3 = 0;\n    do {\n      while (iVar11 = *(int *)(iVar13 + 0x1c), iVar11 == 0) {\n        iVar11 = (*(code *)PTR_next_matching_output_section_statement_001dbd68)(iVar13,0);\n        iVar3 = iVar13;\n        iVar13 = iVar11;\n        if (iVar11 == 0) goto LAB_000587ec;\n      }\n      if (*(uint *)(iVar11 + 0x14) == 0) goto LAB_000586a0;\n      if (((*(uint *)(iVar11 + 0x14) ^ param_1[5]) & 3) == 0) {\n        if ((iVar8 != 5) || (iVar9 != 5)) goto LAB_000586a0;\n        if ((*(int *)(*(int *)(iVar11 + 0xac) + 0x2c) == *(int *)(param_1[0x2b] + 0x2c)) &&\n           (((*(uint *)puVar4 & 0xc0000000) != 0x80000000 ||\n            (((*(uint *)(*(int *)(iVar11 + 0xac) + 0xc) ^ *(uint *)(param_1[0x2b] + 0xc)) &\n             0x80000000) == 0)))) {\n          iVar11 = (*(code *)PTR__bfd_elf_match_sections_by_type_001dbe14)\n                             (*(undefined4 *)(puVar4 + 0x34),iVar11,param_1[0x2d],param_1);\n          if (iVar11 != 0) goto LAB_000586a0;\n          if (*(int *)(iVar13 + 0x1c) == 0) {\n            iVar3 = iVar13;\n          }\n        }\n      }\n      iVar13 = (*(code *)PTR_next_matching_output_section_statement_001dbd68)(iVar13,0);\n    } while (iVar13 != 0);\nLAB_000587ec:\n    if (iVar3 != 0) {\n      (*(code *)PTR_lang_add_section_001dbc3c)(iVar3 + 8,param_1,0,iVar3);\n      return iVar3;\n    }\n    param_3 = 0x17e;\n  }" if (parenthesized_expression "((param_3 == 0) &&\n     (iVar13 = (*(code *)PTR_lang_output_section_statement_lookup_001dbc2c)(param_2,0,0),\n     iVar13 != 0))" ( (binary_expression "(param_3 == 0) &&\n     (iVar13 = (*(code *)PTR_lang_output_section_statement_lookup_001dbc2c)(param_2,0,0),\n     iVar13 != 0)" (parenthesized_expression "(param_3 == 0)" ( (binary_expression "param_3 == 0" identifier == number_literal) )) && (parenthesized_expression "(iVar13 = (*(code *)PTR_lang_output_section_statement_lookup_001dbc2c)(param_2,0,0),\n     iVar13 != 0)" ( (comma_expression "iVar13 = (*(code *)PTR_lang_output_section_statement_lookup_001dbc2c)(param_2,0,0),\n     iVar13 != 0" (assignment_expression "iVar13 = (*(code *)PTR_lang_output_section_statement_lookup_001dbc2c)(param_2,0,0)" identifier = (call_expression "(*(code *)PTR_lang_output_section_statement_lookup_001dbc2c)(param_2,0,0)" (parenthesized_expression "(*(code *)PTR_lang_output_section_statement_lookup_001dbc2c)" ( (pointer_expression "*(code *)PTR_lang_output_section_statement_lookup_001dbc2c" * (cast_expression "(code *)PTR_lang_output_section_statement_lookup_001dbc2c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(param_2,0,0)" ( identifier , number_literal , number_literal )))) , (binary_expression "iVar13 != 0" identifier != number_literal)) ))) )) (compound_statement "{\n    iVar3 = 0;\n    do {\n      while (iVar11 = *(int *)(iVar13 + 0x1c), iVar11 == 0) {\n        iVar11 = (*(code *)PTR_next_matching_output_section_statement_001dbd68)(iVar13,0);\n        iVar3 = iVar13;\n        iVar13 = iVar11;\n        if (iVar11 == 0) goto LAB_000587ec;\n      }\n      if (*(uint *)(iVar11 + 0x14) == 0) goto LAB_000586a0;\n      if (((*(uint *)(iVar11 + 0x14) ^ param_1[5]) & 3) == 0) {\n        if ((iVar8 != 5) || (iVar9 != 5)) goto LAB_000586a0;\n        if ((*(int *)(*(int *)(iVar11 + 0xac) + 0x2c) == *(int *)(param_1[0x2b] + 0x2c)) &&\n           (((*(uint *)puVar4 & 0xc0000000) != 0x80000000 ||\n            (((*(uint *)(*(int *)(iVar11 + 0xac) + 0xc) ^ *(uint *)(param_1[0x2b] + 0xc)) &\n             0x80000000) == 0)))) {\n          iVar11 = (*(code *)PTR__bfd_elf_match_sections_by_type_001dbe14)\n                             (*(undefined4 *)(puVar4 + 0x34),iVar11,param_1[0x2d],param_1);\n          if (iVar11 != 0) goto LAB_000586a0;\n          if (*(int *)(iVar13 + 0x1c) == 0) {\n            iVar3 = iVar13;\n          }\n        }\n      }\n      iVar13 = (*(code *)PTR_next_matching_output_section_statement_001dbd68)(iVar13,0);\n    } while (iVar13 != 0);\nLAB_000587ec:\n    if (iVar3 != 0) {\n      (*(code *)PTR_lang_add_section_001dbc3c)(iVar3 + 8,param_1,0,iVar3);\n      return iVar3;\n    }\n    param_3 = 0x17e;\n  }" { (expression_statement "iVar3 = 0;" (assignment_expression "iVar3 = 0" identifier = number_literal) ;) (do_statement "do {\n      while (iVar11 = *(int *)(iVar13 + 0x1c), iVar11 == 0) {\n        iVar11 = (*(code *)PTR_next_matching_output_section_statement_001dbd68)(iVar13,0);\n        iVar3 = iVar13;\n        iVar13 = iVar11;\n        if (iVar11 == 0) goto LAB_000587ec;\n      }\n      if (*(uint *)(iVar11 + 0x14) == 0) goto LAB_000586a0;\n      if (((*(uint *)(iVar11 + 0x14) ^ param_1[5]) & 3) == 0) {\n        if ((iVar8 != 5) || (iVar9 != 5)) goto LAB_000586a0;\n        if ((*(int *)(*(int *)(iVar11 + 0xac) + 0x2c) == *(int *)(param_1[0x2b] + 0x2c)) &&\n           (((*(uint *)puVar4 & 0xc0000000) != 0x80000000 ||\n            (((*(uint *)(*(int *)(iVar11 + 0xac) + 0xc) ^ *(uint *)(param_1[0x2b] + 0xc)) &\n             0x80000000) == 0)))) {\n          iVar11 = (*(code *)PTR__bfd_elf_match_sections_by_type_001dbe14)\n                             (*(undefined4 *)(puVar4 + 0x34),iVar11,param_1[0x2d],param_1);\n          if (iVar11 != 0) goto LAB_000586a0;\n          if (*(int *)(iVar13 + 0x1c) == 0) {\n            iVar3 = iVar13;\n          }\n        }\n      }\n      iVar13 = (*(code *)PTR_next_matching_output_section_statement_001dbd68)(iVar13,0);\n    } while (iVar13 != 0);" do (compound_statement "{\n      while (iVar11 = *(int *)(iVar13 + 0x1c), iVar11 == 0) {\n        iVar11 = (*(code *)PTR_next_matching_output_section_statement_001dbd68)(iVar13,0);\n        iVar3 = iVar13;\n        iVar13 = iVar11;\n        if (iVar11 == 0) goto LAB_000587ec;\n      }\n      if (*(uint *)(iVar11 + 0x14) == 0) goto LAB_000586a0;\n      if (((*(uint *)(iVar11 + 0x14) ^ param_1[5]) & 3) == 0) {\n        if ((iVar8 != 5) || (iVar9 != 5)) goto LAB_000586a0;\n        if ((*(int *)(*(int *)(iVar11 + 0xac) + 0x2c) == *(int *)(param_1[0x2b] + 0x2c)) &&\n           (((*(uint *)puVar4 & 0xc0000000) != 0x80000000 ||\n            (((*(uint *)(*(int *)(iVar11 + 0xac) + 0xc) ^ *(uint *)(param_1[0x2b] + 0xc)) &\n             0x80000000) == 0)))) {\n          iVar11 = (*(code *)PTR__bfd_elf_match_sections_by_type_001dbe14)\n                             (*(undefined4 *)(puVar4 + 0x34),iVar11,param_1[0x2d],param_1);\n          if (iVar11 != 0) goto LAB_000586a0;\n          if (*(int *)(iVar13 + 0x1c) == 0) {\n            iVar3 = iVar13;\n          }\n        }\n      }\n      iVar13 = (*(code *)PTR_next_matching_output_section_statement_001dbd68)(iVar13,0);\n    }" { (while_statement "while (iVar11 = *(int *)(iVar13 + 0x1c), iVar11 == 0) {\n        iVar11 = (*(code *)PTR_next_matching_output_section_statement_001dbd68)(iVar13,0);\n        iVar3 = iVar13;\n        iVar13 = iVar11;\n        if (iVar11 == 0) goto LAB_000587ec;\n      }" while (parenthesized_expression "(iVar11 = *(int *)(iVar13 + 0x1c), iVar11 == 0)" ( (comma_expression "iVar11 = *(int *)(iVar13 + 0x1c), iVar11 == 0" (assignment_expression "iVar11 = *(int *)(iVar13 + 0x1c)" identifier = (pointer_expression "*(int *)(iVar13 + 0x1c)" * (cast_expression "(int *)(iVar13 + 0x1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar13 + 0x1c)" ( (binary_expression "iVar13 + 0x1c" identifier + number_literal) ))))) , (binary_expression "iVar11 == 0" identifier == number_literal)) )) (compound_statement "{\n        iVar11 = (*(code *)PTR_next_matching_output_section_statement_001dbd68)(iVar13,0);\n        iVar3 = iVar13;\n        iVar13 = iVar11;\n        if (iVar11 == 0) goto LAB_000587ec;\n      }" { (expression_statement "iVar11 = (*(code *)PTR_next_matching_output_section_statement_001dbd68)(iVar13,0);" (assignment_expression "iVar11 = (*(code *)PTR_next_matching_output_section_statement_001dbd68)(iVar13,0)" identifier = (call_expression "(*(code *)PTR_next_matching_output_section_statement_001dbd68)(iVar13,0)" (parenthesized_expression "(*(code *)PTR_next_matching_output_section_statement_001dbd68)" ( (pointer_expression "*(code *)PTR_next_matching_output_section_statement_001dbd68" * (cast_expression "(code *)PTR_next_matching_output_section_statement_001dbd68" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(iVar13,0)" ( identifier , number_literal )))) ;) (expression_statement "iVar3 = iVar13;" (assignment_expression "iVar3 = iVar13" identifier = identifier) ;) (expression_statement "iVar13 = iVar11;" (assignment_expression "iVar13 = iVar11" identifier = identifier) ;) (if_statement "if (iVar11 == 0) goto LAB_000587ec;" if (parenthesized_expression "(iVar11 == 0)" ( (binary_expression "iVar11 == 0" identifier == number_literal) )) (goto_statement "goto LAB_000587ec;" goto statement_identifier ;)) })) (if_statement "if (*(uint *)(iVar11 + 0x14) == 0) goto LAB_000586a0;" if (parenthesized_expression "(*(uint *)(iVar11 + 0x14) == 0)" ( (binary_expression "*(uint *)(iVar11 + 0x14) == 0" (pointer_expression "*(uint *)(iVar11 + 0x14)" * (cast_expression "(uint *)(iVar11 + 0x14)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0x14)" ( (binary_expression "iVar11 + 0x14" identifier + number_literal) )))) == number_literal) )) (goto_statement "goto LAB_000586a0;" goto statement_identifier ;)) (if_statement "if (((*(uint *)(iVar11 + 0x14) ^ param_1[5]) & 3) == 0) {\n        if ((iVar8 != 5) || (iVar9 != 5)) goto LAB_000586a0;\n        if ((*(int *)(*(int *)(iVar11 + 0xac) + 0x2c) == *(int *)(param_1[0x2b] + 0x2c)) &&\n           (((*(uint *)puVar4 & 0xc0000000) != 0x80000000 ||\n            (((*(uint *)(*(int *)(iVar11 + 0xac) + 0xc) ^ *(uint *)(param_1[0x2b] + 0xc)) &\n             0x80000000) == 0)))) {\n          iVar11 = (*(code *)PTR__bfd_elf_match_sections_by_type_001dbe14)\n                             (*(undefined4 *)(puVar4 + 0x34),iVar11,param_1[0x2d],param_1);\n          if (iVar11 != 0) goto LAB_000586a0;\n          if (*(int *)(iVar13 + 0x1c) == 0) {\n            iVar3 = iVar13;\n          }\n        }\n      }" if (parenthesized_expression "(((*(uint *)(iVar11 + 0x14) ^ param_1[5]) & 3) == 0)" ( (binary_expression "((*(uint *)(iVar11 + 0x14) ^ param_1[5]) & 3) == 0" (parenthesized_expression "((*(uint *)(iVar11 + 0x14) ^ param_1[5]) & 3)" ( (binary_expression "(*(uint *)(iVar11 + 0x14) ^ param_1[5]) & 3" (parenthesized_expression "(*(uint *)(iVar11 + 0x14) ^ param_1[5])" ( (binary_expression "*(uint *)(iVar11 + 0x14) ^ param_1[5]" (pointer_expression "*(uint *)(iVar11 + 0x14)" * (cast_expression "(uint *)(iVar11 + 0x14)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0x14)" ( (binary_expression "iVar11 + 0x14" identifier + number_literal) )))) ^ (subscript_expression "param_1[5]" identifier [ number_literal ])) )) & number_literal) )) == number_literal) )) (compound_statement "{\n        if ((iVar8 != 5) || (iVar9 != 5)) goto LAB_000586a0;\n        if ((*(int *)(*(int *)(iVar11 + 0xac) + 0x2c) == *(int *)(param_1[0x2b] + 0x2c)) &&\n           (((*(uint *)puVar4 & 0xc0000000) != 0x80000000 ||\n            (((*(uint *)(*(int *)(iVar11 + 0xac) + 0xc) ^ *(uint *)(param_1[0x2b] + 0xc)) &\n             0x80000000) == 0)))) {\n          iVar11 = (*(code *)PTR__bfd_elf_match_sections_by_type_001dbe14)\n                             (*(undefined4 *)(puVar4 + 0x34),iVar11,param_1[0x2d],param_1);\n          if (iVar11 != 0) goto LAB_000586a0;\n          if (*(int *)(iVar13 + 0x1c) == 0) {\n            iVar3 = iVar13;\n          }\n        }\n      }" { (if_statement "if ((iVar8 != 5) || (iVar9 != 5)) goto LAB_000586a0;" if (parenthesized_expression "((iVar8 != 5) || (iVar9 != 5))" ( (binary_expression "(iVar8 != 5) || (iVar9 != 5)" (parenthesized_expression "(iVar8 != 5)" ( (binary_expression "iVar8 != 5" identifier != number_literal) )) || (parenthesized_expression "(iVar9 != 5)" ( (binary_expression "iVar9 != 5" identifier != number_literal) ))) )) (goto_statement "goto LAB_000586a0;" goto statement_identifier ;)) (if_statement "if ((*(int *)(*(int *)(iVar11 + 0xac) + 0x2c) == *(int *)(param_1[0x2b] + 0x2c)) &&\n           (((*(uint *)puVar4 & 0xc0000000) != 0x80000000 ||\n            (((*(uint *)(*(int *)(iVar11 + 0xac) + 0xc) ^ *(uint *)(param_1[0x2b] + 0xc)) &\n             0x80000000) == 0)))) {\n          iVar11 = (*(code *)PTR__bfd_elf_match_sections_by_type_001dbe14)\n                             (*(undefined4 *)(puVar4 + 0x34),iVar11,param_1[0x2d],param_1);\n          if (iVar11 != 0) goto LAB_000586a0;\n          if (*(int *)(iVar13 + 0x1c) == 0) {\n            iVar3 = iVar13;\n          }\n        }" if (parenthesized_expression "((*(int *)(*(int *)(iVar11 + 0xac) + 0x2c) == *(int *)(param_1[0x2b] + 0x2c)) &&\n           (((*(uint *)puVar4 & 0xc0000000) != 0x80000000 ||\n            (((*(uint *)(*(int *)(iVar11 + 0xac) + 0xc) ^ *(uint *)(param_1[0x2b] + 0xc)) &\n             0x80000000) == 0))))" ( (binary_expression "(*(int *)(*(int *)(iVar11 + 0xac) + 0x2c) == *(int *)(param_1[0x2b] + 0x2c)) &&\n           (((*(uint *)puVar4 & 0xc0000000) != 0x80000000 ||\n            (((*(uint *)(*(int *)(iVar11 + 0xac) + 0xc) ^ *(uint *)(param_1[0x2b] + 0xc)) &\n             0x80000000) == 0)))" (parenthesized_expression "(*(int *)(*(int *)(iVar11 + 0xac) + 0x2c) == *(int *)(param_1[0x2b] + 0x2c))" ( (binary_expression "*(int *)(*(int *)(iVar11 + 0xac) + 0x2c) == *(int *)(param_1[0x2b] + 0x2c)" (pointer_expression "*(int *)(*(int *)(iVar11 + 0xac) + 0x2c)" * (cast_expression "(int *)(*(int *)(iVar11 + 0xac) + 0x2c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(iVar11 + 0xac) + 0x2c)" ( (binary_expression "*(int *)(iVar11 + 0xac) + 0x2c" (pointer_expression "*(int *)(iVar11 + 0xac)" * (cast_expression "(int *)(iVar11 + 0xac)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0xac)" ( (binary_expression "iVar11 + 0xac" identifier + number_literal) )))) + number_literal) )))) == (pointer_expression "*(int *)(param_1[0x2b] + 0x2c)" * (cast_expression "(int *)(param_1[0x2b] + 0x2c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1[0x2b] + 0x2c)" ( (binary_expression "param_1[0x2b] + 0x2c" (subscript_expression "param_1[0x2b]" identifier [ number_literal ]) + number_literal) ))))) )) && (parenthesized_expression "(((*(uint *)puVar4 & 0xc0000000) != 0x80000000 ||\n            (((*(uint *)(*(int *)(iVar11 + 0xac) + 0xc) ^ *(uint *)(param_1[0x2b] + 0xc)) &\n             0x80000000) == 0)))" ( (parenthesized_expression "((*(uint *)puVar4 & 0xc0000000) != 0x80000000 ||\n            (((*(uint *)(*(int *)(iVar11 + 0xac) + 0xc) ^ *(uint *)(param_1[0x2b] + 0xc)) &\n             0x80000000) == 0))" ( (binary_expression "(*(uint *)puVar4 & 0xc0000000) != 0x80000000 ||\n            (((*(uint *)(*(int *)(iVar11 + 0xac) + 0xc) ^ *(uint *)(param_1[0x2b] + 0xc)) &\n             0x80000000) == 0)" (binary_expression "(*(uint *)puVar4 & 0xc0000000) != 0x80000000" (parenthesized_expression "(*(uint *)puVar4 & 0xc0000000)" ( (binary_expression "*(uint *)puVar4 & 0xc0000000" (pointer_expression "*(uint *)puVar4" * (cast_expression "(uint *)puVar4" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) & number_literal) )) != number_literal) || (parenthesized_expression "(((*(uint *)(*(int *)(iVar11 + 0xac) + 0xc) ^ *(uint *)(param_1[0x2b] + 0xc)) &\n             0x80000000) == 0)" ( (binary_expression "((*(uint *)(*(int *)(iVar11 + 0xac) + 0xc) ^ *(uint *)(param_1[0x2b] + 0xc)) &\n             0x80000000) == 0" (parenthesized_expression "((*(uint *)(*(int *)(iVar11 + 0xac) + 0xc) ^ *(uint *)(param_1[0x2b] + 0xc)) &\n             0x80000000)" ( (binary_expression "(*(uint *)(*(int *)(iVar11 + 0xac) + 0xc) ^ *(uint *)(param_1[0x2b] + 0xc)) &\n             0x80000000" (parenthesized_expression "(*(uint *)(*(int *)(iVar11 + 0xac) + 0xc) ^ *(uint *)(param_1[0x2b] + 0xc))" ( (binary_expression "*(uint *)(*(int *)(iVar11 + 0xac) + 0xc) ^ *(uint *)(param_1[0x2b] + 0xc)" (pointer_expression "*(uint *)(*(int *)(iVar11 + 0xac) + 0xc)" * (cast_expression "(uint *)(*(int *)(iVar11 + 0xac) + 0xc)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(iVar11 + 0xac) + 0xc)" ( (binary_expression "*(int *)(iVar11 + 0xac) + 0xc" (pointer_expression "*(int *)(iVar11 + 0xac)" * (cast_expression "(int *)(iVar11 + 0xac)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0xac)" ( (binary_expression "iVar11 + 0xac" identifier + number_literal) )))) + number_literal) )))) ^ (pointer_expression "*(uint *)(param_1[0x2b] + 0xc)" * (cast_expression "(uint *)(param_1[0x2b] + 0xc)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1[0x2b] + 0xc)" ( (binary_expression "param_1[0x2b] + 0xc" (subscript_expression "param_1[0x2b]" identifier [ number_literal ]) + number_literal) ))))) )) & number_literal) )) == number_literal) ))) )) ))) )) (compound_statement "{\n          iVar11 = (*(code *)PTR__bfd_elf_match_sections_by_type_001dbe14)\n                             (*(undefined4 *)(puVar4 + 0x34),iVar11,param_1[0x2d],param_1);\n          if (iVar11 != 0) goto LAB_000586a0;\n          if (*(int *)(iVar13 + 0x1c) == 0) {\n            iVar3 = iVar13;\n          }\n        }" { (expression_statement "iVar11 = (*(code *)PTR__bfd_elf_match_sections_by_type_001dbe14)\n                             (*(undefined4 *)(puVar4 + 0x34),iVar11,param_1[0x2d],param_1);" (assignment_expression "iVar11 = (*(code *)PTR__bfd_elf_match_sections_by_type_001dbe14)\n                             (*(undefined4 *)(puVar4 + 0x34),iVar11,param_1[0x2d],param_1)" identifier = (call_expression "(*(code *)PTR__bfd_elf_match_sections_by_type_001dbe14)\n                             (*(undefined4 *)(puVar4 + 0x34),iVar11,param_1[0x2d],param_1)" (parenthesized_expression "(*(code *)PTR__bfd_elf_match_sections_by_type_001dbe14)" ( (pointer_expression "*(code *)PTR__bfd_elf_match_sections_by_type_001dbe14" * (cast_expression "(code *)PTR__bfd_elf_match_sections_by_type_001dbe14" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(*(undefined4 *)(puVar4 + 0x34),iVar11,param_1[0x2d],param_1)" ( (pointer_expression "*(undefined4 *)(puVar4 + 0x34)" * (cast_expression "(undefined4 *)(puVar4 + 0x34)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar4 + 0x34)" ( (binary_expression "puVar4 + 0x34" identifier + number_literal) )))) , identifier , (subscript_expression "param_1[0x2d]" identifier [ number_literal ]) , identifier )))) ;) (if_statement "if (iVar11 != 0) goto LAB_000586a0;" if (parenthesized_expression "(iVar11 != 0)" ( (binary_expression "iVar11 != 0" identifier != number_literal) )) (goto_statement "goto LAB_000586a0;" goto statement_identifier ;)) (if_statement "if (*(int *)(iVar13 + 0x1c) == 0) {\n            iVar3 = iVar13;\n          }" if (parenthesized_expression "(*(int *)(iVar13 + 0x1c) == 0)" ( (binary_expression "*(int *)(iVar13 + 0x1c) == 0" (pointer_expression "*(int *)(iVar13 + 0x1c)" * (cast_expression "(int *)(iVar13 + 0x1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar13 + 0x1c)" ( (binary_expression "iVar13 + 0x1c" identifier + number_literal) )))) == number_literal) )) (compound_statement "{\n            iVar3 = iVar13;\n          }" { (expression_statement "iVar3 = iVar13;" (assignment_expression "iVar3 = iVar13" identifier = identifier) ;) })) })) })) (expression_statement "iVar13 = (*(code *)PTR_next_matching_output_section_statement_001dbd68)(iVar13,0);" (assignment_expression "iVar13 = (*(code *)PTR_next_matching_output_section_statement_001dbd68)(iVar13,0)" identifier = (call_expression "(*(code *)PTR_next_matching_output_section_statement_001dbd68)(iVar13,0)" (parenthesized_expression "(*(code *)PTR_next_matching_output_section_statement_001dbd68)" ( (pointer_expression "*(code *)PTR_next_matching_output_section_statement_001dbd68" * (cast_expression "(code *)PTR_next_matching_output_section_statement_001dbd68" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(iVar13,0)" ( identifier , number_literal )))) ;) }) while (parenthesized_expression "(iVar13 != 0)" ( (binary_expression "iVar13 != 0" identifier != number_literal) )) ;) (labeled_statement "LAB_000587ec:\n    if (iVar3 != 0) {\n      (*(code *)PTR_lang_add_section_001dbc3c)(iVar3 + 8,param_1,0,iVar3);\n      return iVar3;\n    }" statement_identifier : (if_statement "if (iVar3 != 0) {\n      (*(code *)PTR_lang_add_section_001dbc3c)(iVar3 + 8,param_1,0,iVar3);\n      return iVar3;\n    }" if (parenthesized_expression "(iVar3 != 0)" ( (binary_expression "iVar3 != 0" identifier != number_literal) )) (compound_statement "{\n      (*(code *)PTR_lang_add_section_001dbc3c)(iVar3 + 8,param_1,0,iVar3);\n      return iVar3;\n    }" { (expression_statement "(*(code *)PTR_lang_add_section_001dbc3c)(iVar3 + 8,param_1,0,iVar3);" (call_expression "(*(code *)PTR_lang_add_section_001dbc3c)(iVar3 + 8,param_1,0,iVar3)" (parenthesized_expression "(*(code *)PTR_lang_add_section_001dbc3c)" ( (pointer_expression "*(code *)PTR_lang_add_section_001dbc3c" * (cast_expression "(code *)PTR_lang_add_section_001dbc3c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(iVar3 + 8,param_1,0,iVar3)" ( (binary_expression "iVar3 + 8" identifier + number_literal) , identifier , number_literal , identifier ))) ;) (return_statement "return iVar3;" return identifier ;) }))) (expression_statement "param_3 = 0x17e;" (assignment_expression "param_3 = 0x17e" identifier = number_literal) ;) }))) (expression_statement "puVar5 = PTR_DAT_001db8f8;" (assignment_expression "puVar5 = PTR_DAT_001db8f8" identifier = identifier) ;) (if_statement "if (*(int *)(PTR_DAT_001db8f8 + -0x3618) == 0) {\n    piVar10 = (int *)(PTR_DAT_001db8f8 + -0x49e0);\n    piVar12 = (int *)(PTR_DAT_001db8f8 + -0x4908);\n    do {\n      if (*piVar10 != 0) {\n        iVar9 = (*(code *)PTR_lang_output_section_statement_lookup_001dbc2c)(*piVar10,0,0);\n        piVar10[2] = iVar9;\n        if ((iVar9 != 0) && (*(int *)(iVar9 + 0x4c) == 0)) {\n          *(int *)(iVar9 + 0x4c) = piVar10[1];\n        }\n      }\n      piVar10 = piVar10 + 6;\n    } while (piVar10 != piVar12);\n    *(undefined4 *)(puVar5 + -0x3618) = 1;\n  }" if (parenthesized_expression "(*(int *)(PTR_DAT_001db8f8 + -0x3618) == 0)" ( (binary_expression "*(int *)(PTR_DAT_001db8f8 + -0x3618) == 0" (pointer_expression "*(int *)(PTR_DAT_001db8f8 + -0x3618)" * (cast_expression "(int *)(PTR_DAT_001db8f8 + -0x3618)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_DAT_001db8f8 + -0x3618)" ( (binary_expression "PTR_DAT_001db8f8 + -0x3618" identifier + number_literal) )))) == number_literal) )) (compound_statement "{\n    piVar10 = (int *)(PTR_DAT_001db8f8 + -0x49e0);\n    piVar12 = (int *)(PTR_DAT_001db8f8 + -0x4908);\n    do {\n      if (*piVar10 != 0) {\n        iVar9 = (*(code *)PTR_lang_output_section_statement_lookup_001dbc2c)(*piVar10,0,0);\n        piVar10[2] = iVar9;\n        if ((iVar9 != 0) && (*(int *)(iVar9 + 0x4c) == 0)) {\n          *(int *)(iVar9 + 0x4c) = piVar10[1];\n        }\n      }\n      piVar10 = piVar10 + 6;\n    } while (piVar10 != piVar12);\n    *(undefined4 *)(puVar5 + -0x3618) = 1;\n  }" { (expression_statement "piVar10 = (int *)(PTR_DAT_001db8f8 + -0x49e0);" (assignment_expression "piVar10 = (int *)(PTR_DAT_001db8f8 + -0x49e0)" identifier = (cast_expression "(int *)(PTR_DAT_001db8f8 + -0x49e0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_DAT_001db8f8 + -0x49e0)" ( (binary_expression "PTR_DAT_001db8f8 + -0x49e0" identifier + number_literal) )))) ;) (expression_statement "piVar12 = (int *)(PTR_DAT_001db8f8 + -0x4908);" (assignment_expression "piVar12 = (int *)(PTR_DAT_001db8f8 + -0x4908)" identifier = (cast_expression "(int *)(PTR_DAT_001db8f8 + -0x4908)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_DAT_001db8f8 + -0x4908)" ( (binary_expression "PTR_DAT_001db8f8 + -0x4908" identifier + number_literal) )))) ;) (do_statement "do {\n      if (*piVar10 != 0) {\n        iVar9 = (*(code *)PTR_lang_output_section_statement_lookup_001dbc2c)(*piVar10,0,0);\n        piVar10[2] = iVar9;\n        if ((iVar9 != 0) && (*(int *)(iVar9 + 0x4c) == 0)) {\n          *(int *)(iVar9 + 0x4c) = piVar10[1];\n        }\n      }\n      piVar10 = piVar10 + 6;\n    } while (piVar10 != piVar12);" do (compound_statement "{\n      if (*piVar10 != 0) {\n        iVar9 = (*(code *)PTR_lang_output_section_statement_lookup_001dbc2c)(*piVar10,0,0);\n        piVar10[2] = iVar9;\n        if ((iVar9 != 0) && (*(int *)(iVar9 + 0x4c) == 0)) {\n          *(int *)(iVar9 + 0x4c) = piVar10[1];\n        }\n      }\n      piVar10 = piVar10 + 6;\n    }" { (if_statement "if (*piVar10 != 0) {\n        iVar9 = (*(code *)PTR_lang_output_section_statement_lookup_001dbc2c)(*piVar10,0,0);\n        piVar10[2] = iVar9;\n        if ((iVar9 != 0) && (*(int *)(iVar9 + 0x4c) == 0)) {\n          *(int *)(iVar9 + 0x4c) = piVar10[1];\n        }\n      }" if (parenthesized_expression "(*piVar10 != 0)" ( (binary_expression "*piVar10 != 0" (pointer_expression "*piVar10" * identifier) != number_literal) )) (compound_statement "{\n        iVar9 = (*(code *)PTR_lang_output_section_statement_lookup_001dbc2c)(*piVar10,0,0);\n        piVar10[2] = iVar9;\n        if ((iVar9 != 0) && (*(int *)(iVar9 + 0x4c) == 0)) {\n          *(int *)(iVar9 + 0x4c) = piVar10[1];\n        }\n      }" { (expression_statement "iVar9 = (*(code *)PTR_lang_output_section_statement_lookup_001dbc2c)(*piVar10,0,0);" (assignment_expression "iVar9 = (*(code *)PTR_lang_output_section_statement_lookup_001dbc2c)(*piVar10,0,0)" identifier = (call_expression "(*(code *)PTR_lang_output_section_statement_lookup_001dbc2c)(*piVar10,0,0)" (parenthesized_expression "(*(code *)PTR_lang_output_section_statement_lookup_001dbc2c)" ( (pointer_expression "*(code *)PTR_lang_output_section_statement_lookup_001dbc2c" * (cast_expression "(code *)PTR_lang_output_section_statement_lookup_001dbc2c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(*piVar10,0,0)" ( (pointer_expression "*piVar10" * identifier) , number_literal , number_literal )))) ;) (expression_statement "piVar10[2] = iVar9;" (assignment_expression "piVar10[2] = iVar9" (subscript_expression "piVar10[2]" identifier [ number_literal ]) = identifier) ;) (if_statement "if ((iVar9 != 0) && (*(int *)(iVar9 + 0x4c) == 0)) {\n          *(int *)(iVar9 + 0x4c) = piVar10[1];\n        }" if (parenthesized_expression "((iVar9 != 0) && (*(int *)(iVar9 + 0x4c) == 0))" ( (binary_expression "(iVar9 != 0) && (*(int *)(iVar9 + 0x4c) == 0)" (parenthesized_expression "(iVar9 != 0)" ( (binary_expression "iVar9 != 0" identifier != number_literal) )) && (parenthesized_expression "(*(int *)(iVar9 + 0x4c) == 0)" ( (binary_expression "*(int *)(iVar9 + 0x4c) == 0" (pointer_expression "*(int *)(iVar9 + 0x4c)" * (cast_expression "(int *)(iVar9 + 0x4c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar9 + 0x4c)" ( (binary_expression "iVar9 + 0x4c" identifier + number_literal) )))) == number_literal) ))) )) (compound_statement "{\n          *(int *)(iVar9 + 0x4c) = piVar10[1];\n        }" { (expression_statement "*(int *)(iVar9 + 0x4c) = piVar10[1];" (assignment_expression "*(int *)(iVar9 + 0x4c) = piVar10[1]" (pointer_expression "*(int *)(iVar9 + 0x4c)" * (cast_expression "(int *)(iVar9 + 0x4c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar9 + 0x4c)" ( (binary_expression "iVar9 + 0x4c" identifier + number_literal) )))) = (subscript_expression "piVar10[1]" identifier [ number_literal ])) ;) })) })) (expression_statement "piVar10 = piVar10 + 6;" (assignment_expression "piVar10 = piVar10 + 6" identifier = (binary_expression "piVar10 + 6" identifier + number_literal)) ;) }) while (parenthesized_expression "(piVar10 != piVar12)" ( (binary_expression "piVar10 != piVar12" identifier != identifier) )) ;) (expression_statement "*(undefined4 *)(puVar5 + -0x3618) = 1;" (assignment_expression "*(undefined4 *)(puVar5 + -0x3618) = 1" (pointer_expression "*(undefined4 *)(puVar5 + -0x3618)" * (cast_expression "(undefined4 *)(puVar5 + -0x3618)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar5 + -0x3618)" ( (binary_expression "puVar5 + -0x3618" identifier + number_literal) )))) = number_literal) ;) })) (if_statement "if ((int)*(uint *)puVar4 < 0) {\n    uVar6 = param_1[5];\n    if ((*(uint *)puVar4 & 0xc0000000) != 0x80000000) goto LAB_000585fc;\n  }\n  else {\n    iVar9 = (*(code *)PTR_strncmp_001dbe60)\n                      (*param_1,PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb78,0xd);\n    if ((iVar9 == 0) && (iVar13 = *(int *)(PTR_DAT_001db8f8 + -0x49d8), iVar13 != 0)) {\nLAB_000586a0:\n      (*(code *)PTR_lang_add_section_001dbc3c)(iVar13 + 8,param_1,0,iVar13);\n      return iVar13;\n    }\n    uVar6 = param_1[5];\nLAB_000585fc:\n    iVar9 = param_1[0x2d];\n    piVar10 = param_1;\n    while (piVar10 = (int *)(*(code *)PTR_bfd_get_next_section_by_name_001dbf68)(iVar9,piVar10),\n          piVar10 != (int *)0x0) {\n      iVar9 = piVar10[0x2d];\n      if ((((piVar10[0x16] == 0) && (((piVar10[5] ^ uVar6) & 3) == 0 && (piVar10[5] & 0x8000U) == 0)\n           ) && (-1 < *(int *)(iVar9 + 0x28) << 0x12)) &&\n         ((*(int *)(iVar9 + 0xac) != 0 &&\n          ((*(ushort *)(*(int *)(iVar9 + 0xac) + 0x24) & 0x800) == 0)))) {\n        iVar9 = (*(code *)PTR__bfd_elf_match_sections_by_type_001dbe14)\n                          (iVar9,piVar10,param_1[0x2d],param_1);\n        if (iVar9 == 0) {\n          iVar9 = piVar10[0x2d];\n        }\n        else {\n          iVar9 = piVar10[0x2d];\n          uVar6 = (piVar10[5] ^ 8U | uVar6 ^ 8) ^ 8;\n        }\n      }\n    }\n  }" if (parenthesized_expression "((int)*(uint *)puVar4 < 0)" ( (binary_expression "(int)*(uint *)puVar4 < 0" (cast_expression "(int)*(uint *)puVar4" ( (type_descriptor "int" primitive_type) ) (pointer_expression "*(uint *)puVar4" * (cast_expression "(uint *)puVar4" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier))) < number_literal) )) (compound_statement "{\n    uVar6 = param_1[5];\n    if ((*(uint *)puVar4 & 0xc0000000) != 0x80000000) goto LAB_000585fc;\n  }" { (expression_statement "uVar6 = param_1[5];" (assignment_expression "uVar6 = param_1[5]" identifier = (subscript_expression "param_1[5]" identifier [ number_literal ])) ;) (if_statement "if ((*(uint *)puVar4 & 0xc0000000) != 0x80000000) goto LAB_000585fc;" if (parenthesized_expression "((*(uint *)puVar4 & 0xc0000000) != 0x80000000)" ( (binary_expression "(*(uint *)puVar4 & 0xc0000000) != 0x80000000" (parenthesized_expression "(*(uint *)puVar4 & 0xc0000000)" ( (binary_expression "*(uint *)puVar4 & 0xc0000000" (pointer_expression "*(uint *)puVar4" * (cast_expression "(uint *)puVar4" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) & number_literal) )) != number_literal) )) (goto_statement "goto LAB_000585fc;" goto statement_identifier ;)) }) (else_clause "else {\n    iVar9 = (*(code *)PTR_strncmp_001dbe60)\n                      (*param_1,PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb78,0xd);\n    if ((iVar9 == 0) && (iVar13 = *(int *)(PTR_DAT_001db8f8 + -0x49d8), iVar13 != 0)) {\nLAB_000586a0:\n      (*(code *)PTR_lang_add_section_001dbc3c)(iVar13 + 8,param_1,0,iVar13);\n      return iVar13;\n    }\n    uVar6 = param_1[5];\nLAB_000585fc:\n    iVar9 = param_1[0x2d];\n    piVar10 = param_1;\n    while (piVar10 = (int *)(*(code *)PTR_bfd_get_next_section_by_name_001dbf68)(iVar9,piVar10),\n          piVar10 != (int *)0x0) {\n      iVar9 = piVar10[0x2d];\n      if ((((piVar10[0x16] == 0) && (((piVar10[5] ^ uVar6) & 3) == 0 && (piVar10[5] & 0x8000U) == 0)\n           ) && (-1 < *(int *)(iVar9 + 0x28) << 0x12)) &&\n         ((*(int *)(iVar9 + 0xac) != 0 &&\n          ((*(ushort *)(*(int *)(iVar9 + 0xac) + 0x24) & 0x800) == 0)))) {\n        iVar9 = (*(code *)PTR__bfd_elf_match_sections_by_type_001dbe14)\n                          (iVar9,piVar10,param_1[0x2d],param_1);\n        if (iVar9 == 0) {\n          iVar9 = piVar10[0x2d];\n        }\n        else {\n          iVar9 = piVar10[0x2d];\n          uVar6 = (piVar10[5] ^ 8U | uVar6 ^ 8) ^ 8;\n        }\n      }\n    }\n  }" else (compound_statement "{\n    iVar9 = (*(code *)PTR_strncmp_001dbe60)\n                      (*param_1,PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb78,0xd);\n    if ((iVar9 == 0) && (iVar13 = *(int *)(PTR_DAT_001db8f8 + -0x49d8), iVar13 != 0)) {\nLAB_000586a0:\n      (*(code *)PTR_lang_add_section_001dbc3c)(iVar13 + 8,param_1,0,iVar13);\n      return iVar13;\n    }\n    uVar6 = param_1[5];\nLAB_000585fc:\n    iVar9 = param_1[0x2d];\n    piVar10 = param_1;\n    while (piVar10 = (int *)(*(code *)PTR_bfd_get_next_section_by_name_001dbf68)(iVar9,piVar10),\n          piVar10 != (int *)0x0) {\n      iVar9 = piVar10[0x2d];\n      if ((((piVar10[0x16] == 0) && (((piVar10[5] ^ uVar6) & 3) == 0 && (piVar10[5] & 0x8000U) == 0)\n           ) && (-1 < *(int *)(iVar9 + 0x28) << 0x12)) &&\n         ((*(int *)(iVar9 + 0xac) != 0 &&\n          ((*(ushort *)(*(int *)(iVar9 + 0xac) + 0x24) & 0x800) == 0)))) {\n        iVar9 = (*(code *)PTR__bfd_elf_match_sections_by_type_001dbe14)\n                          (iVar9,piVar10,param_1[0x2d],param_1);\n        if (iVar9 == 0) {\n          iVar9 = piVar10[0x2d];\n        }\n        else {\n          iVar9 = piVar10[0x2d];\n          uVar6 = (piVar10[5] ^ 8U | uVar6 ^ 8) ^ 8;\n        }\n      }\n    }\n  }" { (expression_statement "iVar9 = (*(code *)PTR_strncmp_001dbe60)\n                      (*param_1,PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb78,0xd);" (assignment_expression "iVar9 = (*(code *)PTR_strncmp_001dbe60)\n                      (*param_1,PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb78,0xd)" identifier = (call_expression "(*(code *)PTR_strncmp_001dbe60)\n                      (*param_1,PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb78,0xd)" (parenthesized_expression "(*(code *)PTR_strncmp_001dbe60)" ( (pointer_expression "*(code *)PTR_strncmp_001dbe60" * (cast_expression "(code *)PTR_strncmp_001dbe60" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(*param_1,PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb78,0xd)" ( (pointer_expression "*param_1" * identifier) , (binary_expression "PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb78" identifier + number_literal) , number_literal )))) ;) (if_statement "if ((iVar9 == 0) && (iVar13 = *(int *)(PTR_DAT_001db8f8 + -0x49d8), iVar13 != 0)) {\nLAB_000586a0:\n      (*(code *)PTR_lang_add_section_001dbc3c)(iVar13 + 8,param_1,0,iVar13);\n      return iVar13;\n    }" if (parenthesized_expression "((iVar9 == 0) && (iVar13 = *(int *)(PTR_DAT_001db8f8 + -0x49d8), iVar13 != 0))" ( (binary_expression "(iVar9 == 0) && (iVar13 = *(int *)(PTR_DAT_001db8f8 + -0x49d8), iVar13 != 0)" (parenthesized_expression "(iVar9 == 0)" ( (binary_expression "iVar9 == 0" identifier == number_literal) )) && (parenthesized_expression "(iVar13 = *(int *)(PTR_DAT_001db8f8 + -0x49d8), iVar13 != 0)" ( (comma_expression "iVar13 = *(int *)(PTR_DAT_001db8f8 + -0x49d8), iVar13 != 0" (assignment_expression "iVar13 = *(int *)(PTR_DAT_001db8f8 + -0x49d8)" identifier = (pointer_expression "*(int *)(PTR_DAT_001db8f8 + -0x49d8)" * (cast_expression "(int *)(PTR_DAT_001db8f8 + -0x49d8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_DAT_001db8f8 + -0x49d8)" ( (binary_expression "PTR_DAT_001db8f8 + -0x49d8" identifier + number_literal) ))))) , (binary_expression "iVar13 != 0" identifier != number_literal)) ))) )) (compound_statement "{\nLAB_000586a0:\n      (*(code *)PTR_lang_add_section_001dbc3c)(iVar13 + 8,param_1,0,iVar13);\n      return iVar13;\n    }" { (labeled_statement "LAB_000586a0:\n      (*(code *)PTR_lang_add_section_001dbc3c)(iVar13 + 8,param_1,0,iVar13);" statement_identifier : (expression_statement "(*(code *)PTR_lang_add_section_001dbc3c)(iVar13 + 8,param_1,0,iVar13);" (call_expression "(*(code *)PTR_lang_add_section_001dbc3c)(iVar13 + 8,param_1,0,iVar13)" (parenthesized_expression "(*(code *)PTR_lang_add_section_001dbc3c)" ( (pointer_expression "*(code *)PTR_lang_add_section_001dbc3c" * (cast_expression "(code *)PTR_lang_add_section_001dbc3c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(iVar13 + 8,param_1,0,iVar13)" ( (binary_expression "iVar13 + 8" identifier + number_literal) , identifier , number_literal , identifier ))) ;)) (return_statement "return iVar13;" return identifier ;) })) (expression_statement "uVar6 = param_1[5];" (assignment_expression "uVar6 = param_1[5]" identifier = (subscript_expression "param_1[5]" identifier [ number_literal ])) ;) (labeled_statement "LAB_000585fc:\n    iVar9 = param_1[0x2d];" statement_identifier : (expression_statement "iVar9 = param_1[0x2d];" (assignment_expression "iVar9 = param_1[0x2d]" identifier = (subscript_expression "param_1[0x2d]" identifier [ number_literal ])) ;)) (expression_statement "piVar10 = param_1;" (assignment_expression "piVar10 = param_1" identifier = identifier) ;) (while_statement "while (piVar10 = (int *)(*(code *)PTR_bfd_get_next_section_by_name_001dbf68)(iVar9,piVar10),\n          piVar10 != (int *)0x0) {\n      iVar9 = piVar10[0x2d];\n      if ((((piVar10[0x16] == 0) && (((piVar10[5] ^ uVar6) & 3) == 0 && (piVar10[5] & 0x8000U) == 0)\n           ) && (-1 < *(int *)(iVar9 + 0x28) << 0x12)) &&\n         ((*(int *)(iVar9 + 0xac) != 0 &&\n          ((*(ushort *)(*(int *)(iVar9 + 0xac) + 0x24) & 0x800) == 0)))) {\n        iVar9 = (*(code *)PTR__bfd_elf_match_sections_by_type_001dbe14)\n                          (iVar9,piVar10,param_1[0x2d],param_1);\n        if (iVar9 == 0) {\n          iVar9 = piVar10[0x2d];\n        }\n        else {\n          iVar9 = piVar10[0x2d];\n          uVar6 = (piVar10[5] ^ 8U | uVar6 ^ 8) ^ 8;\n        }\n      }\n    }" while (parenthesized_expression "(piVar10 = (int *)(*(code *)PTR_bfd_get_next_section_by_name_001dbf68)(iVar9,piVar10),\n          piVar10 != (int *)0x0)" ( (comma_expression "piVar10 = (int *)(*(code *)PTR_bfd_get_next_section_by_name_001dbf68)(iVar9,piVar10),\n          piVar10 != (int *)0x0" (assignment_expression "piVar10 = (int *)(*(code *)PTR_bfd_get_next_section_by_name_001dbf68)(iVar9,piVar10)" identifier = (cast_expression "(int *)(*(code *)PTR_bfd_get_next_section_by_name_001dbf68)(iVar9,piVar10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR_bfd_get_next_section_by_name_001dbf68)(iVar9,piVar10)" (parenthesized_expression "(*(code *)PTR_bfd_get_next_section_by_name_001dbf68)" ( (pointer_expression "*(code *)PTR_bfd_get_next_section_by_name_001dbf68" * (cast_expression "(code *)PTR_bfd_get_next_section_by_name_001dbf68" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(iVar9,piVar10)" ( identifier , identifier ))))) , (binary_expression "piVar10 != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal))) )) (compound_statement "{\n      iVar9 = piVar10[0x2d];\n      if ((((piVar10[0x16] == 0) && (((piVar10[5] ^ uVar6) & 3) == 0 && (piVar10[5] & 0x8000U) == 0)\n           ) && (-1 < *(int *)(iVar9 + 0x28) << 0x12)) &&\n         ((*(int *)(iVar9 + 0xac) != 0 &&\n          ((*(ushort *)(*(int *)(iVar9 + 0xac) + 0x24) & 0x800) == 0)))) {\n        iVar9 = (*(code *)PTR__bfd_elf_match_sections_by_type_001dbe14)\n                          (iVar9,piVar10,param_1[0x2d],param_1);\n        if (iVar9 == 0) {\n          iVar9 = piVar10[0x2d];\n        }\n        else {\n          iVar9 = piVar10[0x2d];\n          uVar6 = (piVar10[5] ^ 8U | uVar6 ^ 8) ^ 8;\n        }\n      }\n    }" { (expression_statement "iVar9 = piVar10[0x2d];" (assignment_expression "iVar9 = piVar10[0x2d]" identifier = (subscript_expression "piVar10[0x2d]" identifier [ number_literal ])) ;) (if_statement "if ((((piVar10[0x16] == 0) && (((piVar10[5] ^ uVar6) & 3) == 0 && (piVar10[5] & 0x8000U) == 0)\n           ) && (-1 < *(int *)(iVar9 + 0x28) << 0x12)) &&\n         ((*(int *)(iVar9 + 0xac) != 0 &&\n          ((*(ushort *)(*(int *)(iVar9 + 0xac) + 0x24) & 0x800) == 0)))) {\n        iVar9 = (*(code *)PTR__bfd_elf_match_sections_by_type_001dbe14)\n                          (iVar9,piVar10,param_1[0x2d],param_1);\n        if (iVar9 == 0) {\n          iVar9 = piVar10[0x2d];\n        }\n        else {\n          iVar9 = piVar10[0x2d];\n          uVar6 = (piVar10[5] ^ 8U | uVar6 ^ 8) ^ 8;\n        }\n      }" if (parenthesized_expression "((((piVar10[0x16] == 0) && (((piVar10[5] ^ uVar6) & 3) == 0 && (piVar10[5] & 0x8000U) == 0)\n           ) && (-1 < *(int *)(iVar9 + 0x28) << 0x12)) &&\n         ((*(int *)(iVar9 + 0xac) != 0 &&\n          ((*(ushort *)(*(int *)(iVar9 + 0xac) + 0x24) & 0x800) == 0))))" ( (binary_expression "(((piVar10[0x16] == 0) && (((piVar10[5] ^ uVar6) & 3) == 0 && (piVar10[5] & 0x8000U) == 0)\n           ) && (-1 < *(int *)(iVar9 + 0x28) << 0x12)) &&\n         ((*(int *)(iVar9 + 0xac) != 0 &&\n          ((*(ushort *)(*(int *)(iVar9 + 0xac) + 0x24) & 0x800) == 0)))" (parenthesized_expression "(((piVar10[0x16] == 0) && (((piVar10[5] ^ uVar6) & 3) == 0 && (piVar10[5] & 0x8000U) == 0)\n           ) && (-1 < *(int *)(iVar9 + 0x28) << 0x12))" ( (binary_expression "((piVar10[0x16] == 0) && (((piVar10[5] ^ uVar6) & 3) == 0 && (piVar10[5] & 0x8000U) == 0)\n           ) && (-1 < *(int *)(iVar9 + 0x28) << 0x12)" (parenthesized_expression "((piVar10[0x16] == 0) && (((piVar10[5] ^ uVar6) & 3) == 0 && (piVar10[5] & 0x8000U) == 0)\n           )" ( (binary_expression "(piVar10[0x16] == 0) && (((piVar10[5] ^ uVar6) & 3) == 0 && (piVar10[5] & 0x8000U) == 0)" (parenthesized_expression "(piVar10[0x16] == 0)" ( (binary_expression "piVar10[0x16] == 0" (subscript_expression "piVar10[0x16]" identifier [ number_literal ]) == number_literal) )) && (parenthesized_expression "(((piVar10[5] ^ uVar6) & 3) == 0 && (piVar10[5] & 0x8000U) == 0)" ( (binary_expression "((piVar10[5] ^ uVar6) & 3) == 0 && (piVar10[5] & 0x8000U) == 0" (binary_expression "((piVar10[5] ^ uVar6) & 3) == 0" (parenthesized_expression "((piVar10[5] ^ uVar6) & 3)" ( (binary_expression "(piVar10[5] ^ uVar6) & 3" (parenthesized_expression "(piVar10[5] ^ uVar6)" ( (binary_expression "piVar10[5] ^ uVar6" (subscript_expression "piVar10[5]" identifier [ number_literal ]) ^ identifier) )) & number_literal) )) == number_literal) && (binary_expression "(piVar10[5] & 0x8000U) == 0" (parenthesized_expression "(piVar10[5] & 0x8000U)" ( (binary_expression "piVar10[5] & 0x8000U" (subscript_expression "piVar10[5]" identifier [ number_literal ]) & number_literal) )) == number_literal)) ))) )) && (parenthesized_expression "(-1 < *(int *)(iVar9 + 0x28) << 0x12)" ( (binary_expression "-1 < *(int *)(iVar9 + 0x28) << 0x12" number_literal < (binary_expression "*(int *)(iVar9 + 0x28) << 0x12" (pointer_expression "*(int *)(iVar9 + 0x28)" * (cast_expression "(int *)(iVar9 + 0x28)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar9 + 0x28)" ( (binary_expression "iVar9 + 0x28" identifier + number_literal) )))) << number_literal)) ))) )) && (parenthesized_expression "((*(int *)(iVar9 + 0xac) != 0 &&\n          ((*(ushort *)(*(int *)(iVar9 + 0xac) + 0x24) & 0x800) == 0)))" ( (parenthesized_expression "(*(int *)(iVar9 + 0xac) != 0 &&\n          ((*(ushort *)(*(int *)(iVar9 + 0xac) + 0x24) & 0x800) == 0))" ( (binary_expression "*(int *)(iVar9 + 0xac) != 0 &&\n          ((*(ushort *)(*(int *)(iVar9 + 0xac) + 0x24) & 0x800) == 0)" (binary_expression "*(int *)(iVar9 + 0xac) != 0" (pointer_expression "*(int *)(iVar9 + 0xac)" * (cast_expression "(int *)(iVar9 + 0xac)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar9 + 0xac)" ( (binary_expression "iVar9 + 0xac" identifier + number_literal) )))) != number_literal) && (parenthesized_expression "((*(ushort *)(*(int *)(iVar9 + 0xac) + 0x24) & 0x800) == 0)" ( (binary_expression "(*(ushort *)(*(int *)(iVar9 + 0xac) + 0x24) & 0x800) == 0" (parenthesized_expression "(*(ushort *)(*(int *)(iVar9 + 0xac) + 0x24) & 0x800)" ( (binary_expression "*(ushort *)(*(int *)(iVar9 + 0xac) + 0x24) & 0x800" (pointer_expression "*(ushort *)(*(int *)(iVar9 + 0xac) + 0x24)" * (cast_expression "(ushort *)(*(int *)(iVar9 + 0xac) + 0x24)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(iVar9 + 0xac) + 0x24)" ( (binary_expression "*(int *)(iVar9 + 0xac) + 0x24" (pointer_expression "*(int *)(iVar9 + 0xac)" * (cast_expression "(int *)(iVar9 + 0xac)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar9 + 0xac)" ( (binary_expression "iVar9 + 0xac" identifier + number_literal) )))) + number_literal) )))) & number_literal) )) == number_literal) ))) )) ))) )) (compound_statement "{\n        iVar9 = (*(code *)PTR__bfd_elf_match_sections_by_type_001dbe14)\n                          (iVar9,piVar10,param_1[0x2d],param_1);\n        if (iVar9 == 0) {\n          iVar9 = piVar10[0x2d];\n        }\n        else {\n          iVar9 = piVar10[0x2d];\n          uVar6 = (piVar10[5] ^ 8U | uVar6 ^ 8) ^ 8;\n        }\n      }" { (expression_statement "iVar9 = (*(code *)PTR__bfd_elf_match_sections_by_type_001dbe14)\n                          (iVar9,piVar10,param_1[0x2d],param_1);" (assignment_expression "iVar9 = (*(code *)PTR__bfd_elf_match_sections_by_type_001dbe14)\n                          (iVar9,piVar10,param_1[0x2d],param_1)" identifier = (call_expression "(*(code *)PTR__bfd_elf_match_sections_by_type_001dbe14)\n                          (iVar9,piVar10,param_1[0x2d],param_1)" (parenthesized_expression "(*(code *)PTR__bfd_elf_match_sections_by_type_001dbe14)" ( (pointer_expression "*(code *)PTR__bfd_elf_match_sections_by_type_001dbe14" * (cast_expression "(code *)PTR__bfd_elf_match_sections_by_type_001dbe14" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(iVar9,piVar10,param_1[0x2d],param_1)" ( identifier , identifier , (subscript_expression "param_1[0x2d]" identifier [ number_literal ]) , identifier )))) ;) (if_statement "if (iVar9 == 0) {\n          iVar9 = piVar10[0x2d];\n        }\n        else {\n          iVar9 = piVar10[0x2d];\n          uVar6 = (piVar10[5] ^ 8U | uVar6 ^ 8) ^ 8;\n        }" if (parenthesized_expression "(iVar9 == 0)" ( (binary_expression "iVar9 == 0" identifier == number_literal) )) (compound_statement "{\n          iVar9 = piVar10[0x2d];\n        }" { (expression_statement "iVar9 = piVar10[0x2d];" (assignment_expression "iVar9 = piVar10[0x2d]" identifier = (subscript_expression "piVar10[0x2d]" identifier [ number_literal ])) ;) }) (else_clause "else {\n          iVar9 = piVar10[0x2d];\n          uVar6 = (piVar10[5] ^ 8U | uVar6 ^ 8) ^ 8;\n        }" else (compound_statement "{\n          iVar9 = piVar10[0x2d];\n          uVar6 = (piVar10[5] ^ 8U | uVar6 ^ 8) ^ 8;\n        }" { (expression_statement "iVar9 = piVar10[0x2d];" (assignment_expression "iVar9 = piVar10[0x2d]" identifier = (subscript_expression "piVar10[0x2d]" identifier [ number_literal ])) ;) (expression_statement "uVar6 = (piVar10[5] ^ 8U | uVar6 ^ 8) ^ 8;" (assignment_expression "uVar6 = (piVar10[5] ^ 8U | uVar6 ^ 8) ^ 8" identifier = (binary_expression "(piVar10[5] ^ 8U | uVar6 ^ 8) ^ 8" (parenthesized_expression "(piVar10[5] ^ 8U | uVar6 ^ 8)" ( (binary_expression "piVar10[5] ^ 8U | uVar6 ^ 8" (binary_expression "piVar10[5] ^ 8U" (subscript_expression "piVar10[5]" identifier [ number_literal ]) ^ number_literal) | (binary_expression "uVar6 ^ 8" identifier ^ number_literal)) )) ^ number_literal)) ;) }))) })) })) }))) (if_statement "if ((uVar6 & 0x2001) == 0) {\n    piVar10 = (int *)(PTR_DAT_001db8f8 + -0x4920);\n  }\n  else {\n    piVar10 = (int *)0x0;\n    if ((uVar6 & 1) == 0) {\n      local_40 = 0;\n      goto LAB_00058810;\n    }\n    if ((uVar6 & 2) != 0) {\n      if (iVar8 == 5) {\n        if (local_44 == 7) goto LAB_000589f8;\n      }\n      else {\n        iVar9 = (*(code *)PTR_strncmp_001dbe60)\n                          (param_2,PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb68,5);\n        if (iVar9 == 0) {\nLAB_000589f8:\n          piVar10 = (int *)(PTR_DAT_001db8f8 + -0x4950);\n          goto LAB_00058800;\n        }\n      }\n    }\n    if ((uVar6 & 0x502) == 0) {\n      piVar10 = (int *)(PTR_DAT_001db8f8 + -0x4980);\n    }\n    else if ((int)(uVar6 << 9) < 0) {\n      piVar10 = (int *)(PTR_DAT_001db8f8 + -0x4938);\n    }\n    else if ((uVar6 & 0x400) == 0) {\n      if ((uVar6 & 8) == 0) {\n        piVar10 = (int *)(PTR_DAT_001db8f8 + -0x4998);\n      }\n      else {\n        if (iVar8 == 5) {\n          if ((local_44 == 4) || (local_44 == 9)) goto LAB_000585b8;\n        }\n        else {\n          iVar8 = (*(code *)PTR_strncmp_001dbe60)\n                            (param_2,PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb60,4);\n          if (iVar8 == 0) {\nLAB_000585b8:\n            if ((uVar6 & 2) != 0) {\n              piVar10 = (int *)(PTR_DAT_001db8f8 + -0x4968);\n              goto LAB_00058800;\n            }\n          }\n        }\n        if ((uVar6 & 0x10) == 0) {\n          piVar10 = (int *)(PTR_DAT_001db8f8 + -0x49c8);\n        }\n        else {\n          piVar10 = (int *)(PTR_DAT_001db8f8 + -0x49e0);\n        }\n      }\n    }\n    else {\n      piVar10 = (int *)(PTR_DAT_001db8f8 + -0x49b0);\n    }\n  }" if (parenthesized_expression "((uVar6 & 0x2001) == 0)" ( (binary_expression "(uVar6 & 0x2001) == 0" (parenthesized_expression "(uVar6 & 0x2001)" ( (binary_expression "uVar6 & 0x2001" identifier & number_literal) )) == number_literal) )) (compound_statement "{\n    piVar10 = (int *)(PTR_DAT_001db8f8 + -0x4920);\n  }" { (expression_statement "piVar10 = (int *)(PTR_DAT_001db8f8 + -0x4920);" (assignment_expression "piVar10 = (int *)(PTR_DAT_001db8f8 + -0x4920)" identifier = (cast_expression "(int *)(PTR_DAT_001db8f8 + -0x4920)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_DAT_001db8f8 + -0x4920)" ( (binary_expression "PTR_DAT_001db8f8 + -0x4920" identifier + number_literal) )))) ;) }) (else_clause "else {\n    piVar10 = (int *)0x0;\n    if ((uVar6 & 1) == 0) {\n      local_40 = 0;\n      goto LAB_00058810;\n    }\n    if ((uVar6 & 2) != 0) {\n      if (iVar8 == 5) {\n        if (local_44 == 7) goto LAB_000589f8;\n      }\n      else {\n        iVar9 = (*(code *)PTR_strncmp_001dbe60)\n                          (param_2,PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb68,5);\n        if (iVar9 == 0) {\nLAB_000589f8:\n          piVar10 = (int *)(PTR_DAT_001db8f8 + -0x4950);\n          goto LAB_00058800;\n        }\n      }\n    }\n    if ((uVar6 & 0x502) == 0) {\n      piVar10 = (int *)(PTR_DAT_001db8f8 + -0x4980);\n    }\n    else if ((int)(uVar6 << 9) < 0) {\n      piVar10 = (int *)(PTR_DAT_001db8f8 + -0x4938);\n    }\n    else if ((uVar6 & 0x400) == 0) {\n      if ((uVar6 & 8) == 0) {\n        piVar10 = (int *)(PTR_DAT_001db8f8 + -0x4998);\n      }\n      else {\n        if (iVar8 == 5) {\n          if ((local_44 == 4) || (local_44 == 9)) goto LAB_000585b8;\n        }\n        else {\n          iVar8 = (*(code *)PTR_strncmp_001dbe60)\n                            (param_2,PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb60,4);\n          if (iVar8 == 0) {\nLAB_000585b8:\n            if ((uVar6 & 2) != 0) {\n              piVar10 = (int *)(PTR_DAT_001db8f8 + -0x4968);\n              goto LAB_00058800;\n            }\n          }\n        }\n        if ((uVar6 & 0x10) == 0) {\n          piVar10 = (int *)(PTR_DAT_001db8f8 + -0x49c8);\n        }\n        else {\n          piVar10 = (int *)(PTR_DAT_001db8f8 + -0x49e0);\n        }\n      }\n    }\n    else {\n      piVar10 = (int *)(PTR_DAT_001db8f8 + -0x49b0);\n    }\n  }" else (compound_statement "{\n    piVar10 = (int *)0x0;\n    if ((uVar6 & 1) == 0) {\n      local_40 = 0;\n      goto LAB_00058810;\n    }\n    if ((uVar6 & 2) != 0) {\n      if (iVar8 == 5) {\n        if (local_44 == 7) goto LAB_000589f8;\n      }\n      else {\n        iVar9 = (*(code *)PTR_strncmp_001dbe60)\n                          (param_2,PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb68,5);\n        if (iVar9 == 0) {\nLAB_000589f8:\n          piVar10 = (int *)(PTR_DAT_001db8f8 + -0x4950);\n          goto LAB_00058800;\n        }\n      }\n    }\n    if ((uVar6 & 0x502) == 0) {\n      piVar10 = (int *)(PTR_DAT_001db8f8 + -0x4980);\n    }\n    else if ((int)(uVar6 << 9) < 0) {\n      piVar10 = (int *)(PTR_DAT_001db8f8 + -0x4938);\n    }\n    else if ((uVar6 & 0x400) == 0) {\n      if ((uVar6 & 8) == 0) {\n        piVar10 = (int *)(PTR_DAT_001db8f8 + -0x4998);\n      }\n      else {\n        if (iVar8 == 5) {\n          if ((local_44 == 4) || (local_44 == 9)) goto LAB_000585b8;\n        }\n        else {\n          iVar8 = (*(code *)PTR_strncmp_001dbe60)\n                            (param_2,PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb60,4);\n          if (iVar8 == 0) {\nLAB_000585b8:\n            if ((uVar6 & 2) != 0) {\n              piVar10 = (int *)(PTR_DAT_001db8f8 + -0x4968);\n              goto LAB_00058800;\n            }\n          }\n        }\n        if ((uVar6 & 0x10) == 0) {\n          piVar10 = (int *)(PTR_DAT_001db8f8 + -0x49c8);\n        }\n        else {\n          piVar10 = (int *)(PTR_DAT_001db8f8 + -0x49e0);\n        }\n      }\n    }\n    else {\n      piVar10 = (int *)(PTR_DAT_001db8f8 + -0x49b0);\n    }\n  }" { (expression_statement "piVar10 = (int *)0x0;" (assignment_expression "piVar10 = (int *)0x0" identifier = (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (if_statement "if ((uVar6 & 1) == 0) {\n      local_40 = 0;\n      goto LAB_00058810;\n    }" if (parenthesized_expression "((uVar6 & 1) == 0)" ( (binary_expression "(uVar6 & 1) == 0" (parenthesized_expression "(uVar6 & 1)" ( (binary_expression "uVar6 & 1" identifier & number_literal) )) == number_literal) )) (compound_statement "{\n      local_40 = 0;\n      goto LAB_00058810;\n    }" { (expression_statement "local_40 = 0;" (assignment_expression "local_40 = 0" identifier = number_literal) ;) (goto_statement "goto LAB_00058810;" goto statement_identifier ;) })) (if_statement "if ((uVar6 & 2) != 0) {\n      if (iVar8 == 5) {\n        if (local_44 == 7) goto LAB_000589f8;\n      }\n      else {\n        iVar9 = (*(code *)PTR_strncmp_001dbe60)\n                          (param_2,PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb68,5);\n        if (iVar9 == 0) {\nLAB_000589f8:\n          piVar10 = (int *)(PTR_DAT_001db8f8 + -0x4950);\n          goto LAB_00058800;\n        }\n      }\n    }" if (parenthesized_expression "((uVar6 & 2) != 0)" ( (binary_expression "(uVar6 & 2) != 0" (parenthesized_expression "(uVar6 & 2)" ( (binary_expression "uVar6 & 2" identifier & number_literal) )) != number_literal) )) (compound_statement "{\n      if (iVar8 == 5) {\n        if (local_44 == 7) goto LAB_000589f8;\n      }\n      else {\n        iVar9 = (*(code *)PTR_strncmp_001dbe60)\n                          (param_2,PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb68,5);\n        if (iVar9 == 0) {\nLAB_000589f8:\n          piVar10 = (int *)(PTR_DAT_001db8f8 + -0x4950);\n          goto LAB_00058800;\n        }\n      }\n    }" { (if_statement "if (iVar8 == 5) {\n        if (local_44 == 7) goto LAB_000589f8;\n      }\n      else {\n        iVar9 = (*(code *)PTR_strncmp_001dbe60)\n                          (param_2,PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb68,5);\n        if (iVar9 == 0) {\nLAB_000589f8:\n          piVar10 = (int *)(PTR_DAT_001db8f8 + -0x4950);\n          goto LAB_00058800;\n        }\n      }" if (parenthesized_expression "(iVar8 == 5)" ( (binary_expression "iVar8 == 5" identifier == number_literal) )) (compound_statement "{\n        if (local_44 == 7) goto LAB_000589f8;\n      }" { (if_statement "if (local_44 == 7) goto LAB_000589f8;" if (parenthesized_expression "(local_44 == 7)" ( (binary_expression "local_44 == 7" identifier == number_literal) )) (goto_statement "goto LAB_000589f8;" goto statement_identifier ;)) }) (else_clause "else {\n        iVar9 = (*(code *)PTR_strncmp_001dbe60)\n                          (param_2,PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb68,5);\n        if (iVar9 == 0) {\nLAB_000589f8:\n          piVar10 = (int *)(PTR_DAT_001db8f8 + -0x4950);\n          goto LAB_00058800;\n        }\n      }" else (compound_statement "{\n        iVar9 = (*(code *)PTR_strncmp_001dbe60)\n                          (param_2,PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb68,5);\n        if (iVar9 == 0) {\nLAB_000589f8:\n          piVar10 = (int *)(PTR_DAT_001db8f8 + -0x4950);\n          goto LAB_00058800;\n        }\n      }" { (expression_statement "iVar9 = (*(code *)PTR_strncmp_001dbe60)\n                          (param_2,PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb68,5);" (assignment_expression "iVar9 = (*(code *)PTR_strncmp_001dbe60)\n                          (param_2,PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb68,5)" identifier = (call_expression "(*(code *)PTR_strncmp_001dbe60)\n                          (param_2,PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb68,5)" (parenthesized_expression "(*(code *)PTR_strncmp_001dbe60)" ( (pointer_expression "*(code *)PTR_strncmp_001dbe60" * (cast_expression "(code *)PTR_strncmp_001dbe60" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(param_2,PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb68,5)" ( identifier , (binary_expression "PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb68" identifier + number_literal) , number_literal )))) ;) (if_statement "if (iVar9 == 0) {\nLAB_000589f8:\n          piVar10 = (int *)(PTR_DAT_001db8f8 + -0x4950);\n          goto LAB_00058800;\n        }" if (parenthesized_expression "(iVar9 == 0)" ( (binary_expression "iVar9 == 0" identifier == number_literal) )) (compound_statement "{\nLAB_000589f8:\n          piVar10 = (int *)(PTR_DAT_001db8f8 + -0x4950);\n          goto LAB_00058800;\n        }" { (labeled_statement "LAB_000589f8:\n          piVar10 = (int *)(PTR_DAT_001db8f8 + -0x4950);" statement_identifier : (expression_statement "piVar10 = (int *)(PTR_DAT_001db8f8 + -0x4950);" (assignment_expression "piVar10 = (int *)(PTR_DAT_001db8f8 + -0x4950)" identifier = (cast_expression "(int *)(PTR_DAT_001db8f8 + -0x4950)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_DAT_001db8f8 + -0x4950)" ( (binary_expression "PTR_DAT_001db8f8 + -0x4950" identifier + number_literal) )))) ;)) (goto_statement "goto LAB_00058800;" goto statement_identifier ;) })) }))) })) (if_statement "if ((uVar6 & 0x502) == 0) {\n      piVar10 = (int *)(PTR_DAT_001db8f8 + -0x4980);\n    }\n    else if ((int)(uVar6 << 9) < 0) {\n      piVar10 = (int *)(PTR_DAT_001db8f8 + -0x4938);\n    }\n    else if ((uVar6 & 0x400) == 0) {\n      if ((uVar6 & 8) == 0) {\n        piVar10 = (int *)(PTR_DAT_001db8f8 + -0x4998);\n      }\n      else {\n        if (iVar8 == 5) {\n          if ((local_44 == 4) || (local_44 == 9)) goto LAB_000585b8;\n        }\n        else {\n          iVar8 = (*(code *)PTR_strncmp_001dbe60)\n                            (param_2,PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb60,4);\n          if (iVar8 == 0) {\nLAB_000585b8:\n            if ((uVar6 & 2) != 0) {\n              piVar10 = (int *)(PTR_DAT_001db8f8 + -0x4968);\n              goto LAB_00058800;\n            }\n          }\n        }\n        if ((uVar6 & 0x10) == 0) {\n          piVar10 = (int *)(PTR_DAT_001db8f8 + -0x49c8);\n        }\n        else {\n          piVar10 = (int *)(PTR_DAT_001db8f8 + -0x49e0);\n        }\n      }\n    }\n    else {\n      piVar10 = (int *)(PTR_DAT_001db8f8 + -0x49b0);\n    }" if (parenthesized_expression "((uVar6 & 0x502) == 0)" ( (binary_expression "(uVar6 & 0x502) == 0" (parenthesized_expression "(uVar6 & 0x502)" ( (binary_expression "uVar6 & 0x502" identifier & number_literal) )) == number_literal) )) (compound_statement "{\n      piVar10 = (int *)(PTR_DAT_001db8f8 + -0x4980);\n    }" { (expression_statement "piVar10 = (int *)(PTR_DAT_001db8f8 + -0x4980);" (assignment_expression "piVar10 = (int *)(PTR_DAT_001db8f8 + -0x4980)" identifier = (cast_expression "(int *)(PTR_DAT_001db8f8 + -0x4980)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_DAT_001db8f8 + -0x4980)" ( (binary_expression "PTR_DAT_001db8f8 + -0x4980" identifier + number_literal) )))) ;) }) (else_clause "else if ((int)(uVar6 << 9) < 0) {\n      piVar10 = (int *)(PTR_DAT_001db8f8 + -0x4938);\n    }\n    else if ((uVar6 & 0x400) == 0) {\n      if ((uVar6 & 8) == 0) {\n        piVar10 = (int *)(PTR_DAT_001db8f8 + -0x4998);\n      }\n      else {\n        if (iVar8 == 5) {\n          if ((local_44 == 4) || (local_44 == 9)) goto LAB_000585b8;\n        }\n        else {\n          iVar8 = (*(code *)PTR_strncmp_001dbe60)\n                            (param_2,PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb60,4);\n          if (iVar8 == 0) {\nLAB_000585b8:\n            if ((uVar6 & 2) != 0) {\n              piVar10 = (int *)(PTR_DAT_001db8f8 + -0x4968);\n              goto LAB_00058800;\n            }\n          }\n        }\n        if ((uVar6 & 0x10) == 0) {\n          piVar10 = (int *)(PTR_DAT_001db8f8 + -0x49c8);\n        }\n        else {\n          piVar10 = (int *)(PTR_DAT_001db8f8 + -0x49e0);\n        }\n      }\n    }\n    else {\n      piVar10 = (int *)(PTR_DAT_001db8f8 + -0x49b0);\n    }" else (if_statement "if ((int)(uVar6 << 9) < 0) {\n      piVar10 = (int *)(PTR_DAT_001db8f8 + -0x4938);\n    }\n    else if ((uVar6 & 0x400) == 0) {\n      if ((uVar6 & 8) == 0) {\n        piVar10 = (int *)(PTR_DAT_001db8f8 + -0x4998);\n      }\n      else {\n        if (iVar8 == 5) {\n          if ((local_44 == 4) || (local_44 == 9)) goto LAB_000585b8;\n        }\n        else {\n          iVar8 = (*(code *)PTR_strncmp_001dbe60)\n                            (param_2,PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb60,4);\n          if (iVar8 == 0) {\nLAB_000585b8:\n            if ((uVar6 & 2) != 0) {\n              piVar10 = (int *)(PTR_DAT_001db8f8 + -0x4968);\n              goto LAB_00058800;\n            }\n          }\n        }\n        if ((uVar6 & 0x10) == 0) {\n          piVar10 = (int *)(PTR_DAT_001db8f8 + -0x49c8);\n        }\n        else {\n          piVar10 = (int *)(PTR_DAT_001db8f8 + -0x49e0);\n        }\n      }\n    }\n    else {\n      piVar10 = (int *)(PTR_DAT_001db8f8 + -0x49b0);\n    }" if (parenthesized_expression "((int)(uVar6 << 9) < 0)" ( (binary_expression "(int)(uVar6 << 9) < 0" (cast_expression "(int)(uVar6 << 9)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(uVar6 << 9)" ( (binary_expression "uVar6 << 9" identifier << number_literal) ))) < number_literal) )) (compound_statement "{\n      piVar10 = (int *)(PTR_DAT_001db8f8 + -0x4938);\n    }" { (expression_statement "piVar10 = (int *)(PTR_DAT_001db8f8 + -0x4938);" (assignment_expression "piVar10 = (int *)(PTR_DAT_001db8f8 + -0x4938)" identifier = (cast_expression "(int *)(PTR_DAT_001db8f8 + -0x4938)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_DAT_001db8f8 + -0x4938)" ( (binary_expression "PTR_DAT_001db8f8 + -0x4938" identifier + number_literal) )))) ;) }) (else_clause "else if ((uVar6 & 0x400) == 0) {\n      if ((uVar6 & 8) == 0) {\n        piVar10 = (int *)(PTR_DAT_001db8f8 + -0x4998);\n      }\n      else {\n        if (iVar8 == 5) {\n          if ((local_44 == 4) || (local_44 == 9)) goto LAB_000585b8;\n        }\n        else {\n          iVar8 = (*(code *)PTR_strncmp_001dbe60)\n                            (param_2,PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb60,4);\n          if (iVar8 == 0) {\nLAB_000585b8:\n            if ((uVar6 & 2) != 0) {\n              piVar10 = (int *)(PTR_DAT_001db8f8 + -0x4968);\n              goto LAB_00058800;\n            }\n          }\n        }\n        if ((uVar6 & 0x10) == 0) {\n          piVar10 = (int *)(PTR_DAT_001db8f8 + -0x49c8);\n        }\n        else {\n          piVar10 = (int *)(PTR_DAT_001db8f8 + -0x49e0);\n        }\n      }\n    }\n    else {\n      piVar10 = (int *)(PTR_DAT_001db8f8 + -0x49b0);\n    }" else (if_statement "if ((uVar6 & 0x400) == 0) {\n      if ((uVar6 & 8) == 0) {\n        piVar10 = (int *)(PTR_DAT_001db8f8 + -0x4998);\n      }\n      else {\n        if (iVar8 == 5) {\n          if ((local_44 == 4) || (local_44 == 9)) goto LAB_000585b8;\n        }\n        else {\n          iVar8 = (*(code *)PTR_strncmp_001dbe60)\n                            (param_2,PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb60,4);\n          if (iVar8 == 0) {\nLAB_000585b8:\n            if ((uVar6 & 2) != 0) {\n              piVar10 = (int *)(PTR_DAT_001db8f8 + -0x4968);\n              goto LAB_00058800;\n            }\n          }\n        }\n        if ((uVar6 & 0x10) == 0) {\n          piVar10 = (int *)(PTR_DAT_001db8f8 + -0x49c8);\n        }\n        else {\n          piVar10 = (int *)(PTR_DAT_001db8f8 + -0x49e0);\n        }\n      }\n    }\n    else {\n      piVar10 = (int *)(PTR_DAT_001db8f8 + -0x49b0);\n    }" if (parenthesized_expression "((uVar6 & 0x400) == 0)" ( (binary_expression "(uVar6 & 0x400) == 0" (parenthesized_expression "(uVar6 & 0x400)" ( (binary_expression "uVar6 & 0x400" identifier & number_literal) )) == number_literal) )) (compound_statement "{\n      if ((uVar6 & 8) == 0) {\n        piVar10 = (int *)(PTR_DAT_001db8f8 + -0x4998);\n      }\n      else {\n        if (iVar8 == 5) {\n          if ((local_44 == 4) || (local_44 == 9)) goto LAB_000585b8;\n        }\n        else {\n          iVar8 = (*(code *)PTR_strncmp_001dbe60)\n                            (param_2,PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb60,4);\n          if (iVar8 == 0) {\nLAB_000585b8:\n            if ((uVar6 & 2) != 0) {\n              piVar10 = (int *)(PTR_DAT_001db8f8 + -0x4968);\n              goto LAB_00058800;\n            }\n          }\n        }\n        if ((uVar6 & 0x10) == 0) {\n          piVar10 = (int *)(PTR_DAT_001db8f8 + -0x49c8);\n        }\n        else {\n          piVar10 = (int *)(PTR_DAT_001db8f8 + -0x49e0);\n        }\n      }\n    }" { (if_statement "if ((uVar6 & 8) == 0) {\n        piVar10 = (int *)(PTR_DAT_001db8f8 + -0x4998);\n      }\n      else {\n        if (iVar8 == 5) {\n          if ((local_44 == 4) || (local_44 == 9)) goto LAB_000585b8;\n        }\n        else {\n          iVar8 = (*(code *)PTR_strncmp_001dbe60)\n                            (param_2,PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb60,4);\n          if (iVar8 == 0) {\nLAB_000585b8:\n            if ((uVar6 & 2) != 0) {\n              piVar10 = (int *)(PTR_DAT_001db8f8 + -0x4968);\n              goto LAB_00058800;\n            }\n          }\n        }\n        if ((uVar6 & 0x10) == 0) {\n          piVar10 = (int *)(PTR_DAT_001db8f8 + -0x49c8);\n        }\n        else {\n          piVar10 = (int *)(PTR_DAT_001db8f8 + -0x49e0);\n        }\n      }" if (parenthesized_expression "((uVar6 & 8) == 0)" ( (binary_expression "(uVar6 & 8) == 0" (parenthesized_expression "(uVar6 & 8)" ( (binary_expression "uVar6 & 8" identifier & number_literal) )) == number_literal) )) (compound_statement "{\n        piVar10 = (int *)(PTR_DAT_001db8f8 + -0x4998);\n      }" { (expression_statement "piVar10 = (int *)(PTR_DAT_001db8f8 + -0x4998);" (assignment_expression "piVar10 = (int *)(PTR_DAT_001db8f8 + -0x4998)" identifier = (cast_expression "(int *)(PTR_DAT_001db8f8 + -0x4998)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_DAT_001db8f8 + -0x4998)" ( (binary_expression "PTR_DAT_001db8f8 + -0x4998" identifier + number_literal) )))) ;) }) (else_clause "else {\n        if (iVar8 == 5) {\n          if ((local_44 == 4) || (local_44 == 9)) goto LAB_000585b8;\n        }\n        else {\n          iVar8 = (*(code *)PTR_strncmp_001dbe60)\n                            (param_2,PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb60,4);\n          if (iVar8 == 0) {\nLAB_000585b8:\n            if ((uVar6 & 2) != 0) {\n              piVar10 = (int *)(PTR_DAT_001db8f8 + -0x4968);\n              goto LAB_00058800;\n            }\n          }\n        }\n        if ((uVar6 & 0x10) == 0) {\n          piVar10 = (int *)(PTR_DAT_001db8f8 + -0x49c8);\n        }\n        else {\n          piVar10 = (int *)(PTR_DAT_001db8f8 + -0x49e0);\n        }\n      }" else (compound_statement "{\n        if (iVar8 == 5) {\n          if ((local_44 == 4) || (local_44 == 9)) goto LAB_000585b8;\n        }\n        else {\n          iVar8 = (*(code *)PTR_strncmp_001dbe60)\n                            (param_2,PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb60,4);\n          if (iVar8 == 0) {\nLAB_000585b8:\n            if ((uVar6 & 2) != 0) {\n              piVar10 = (int *)(PTR_DAT_001db8f8 + -0x4968);\n              goto LAB_00058800;\n            }\n          }\n        }\n        if ((uVar6 & 0x10) == 0) {\n          piVar10 = (int *)(PTR_DAT_001db8f8 + -0x49c8);\n        }\n        else {\n          piVar10 = (int *)(PTR_DAT_001db8f8 + -0x49e0);\n        }\n      }" { (if_statement "if (iVar8 == 5) {\n          if ((local_44 == 4) || (local_44 == 9)) goto LAB_000585b8;\n        }\n        else {\n          iVar8 = (*(code *)PTR_strncmp_001dbe60)\n                            (param_2,PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb60,4);\n          if (iVar8 == 0) {\nLAB_000585b8:\n            if ((uVar6 & 2) != 0) {\n              piVar10 = (int *)(PTR_DAT_001db8f8 + -0x4968);\n              goto LAB_00058800;\n            }\n          }\n        }" if (parenthesized_expression "(iVar8 == 5)" ( (binary_expression "iVar8 == 5" identifier == number_literal) )) (compound_statement "{\n          if ((local_44 == 4) || (local_44 == 9)) goto LAB_000585b8;\n        }" { (if_statement "if ((local_44 == 4) || (local_44 == 9)) goto LAB_000585b8;" if (parenthesized_expression "((local_44 == 4) || (local_44 == 9))" ( (binary_expression "(local_44 == 4) || (local_44 == 9)" (parenthesized_expression "(local_44 == 4)" ( (binary_expression "local_44 == 4" identifier == number_literal) )) || (parenthesized_expression "(local_44 == 9)" ( (binary_expression "local_44 == 9" identifier == number_literal) ))) )) (goto_statement "goto LAB_000585b8;" goto statement_identifier ;)) }) (else_clause "else {\n          iVar8 = (*(code *)PTR_strncmp_001dbe60)\n                            (param_2,PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb60,4);\n          if (iVar8 == 0) {\nLAB_000585b8:\n            if ((uVar6 & 2) != 0) {\n              piVar10 = (int *)(PTR_DAT_001db8f8 + -0x4968);\n              goto LAB_00058800;\n            }\n          }\n        }" else (compound_statement "{\n          iVar8 = (*(code *)PTR_strncmp_001dbe60)\n                            (param_2,PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb60,4);\n          if (iVar8 == 0) {\nLAB_000585b8:\n            if ((uVar6 & 2) != 0) {\n              piVar10 = (int *)(PTR_DAT_001db8f8 + -0x4968);\n              goto LAB_00058800;\n            }\n          }\n        }" { (expression_statement "iVar8 = (*(code *)PTR_strncmp_001dbe60)\n                            (param_2,PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb60,4);" (assignment_expression "iVar8 = (*(code *)PTR_strncmp_001dbe60)\n                            (param_2,PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb60,4)" identifier = (call_expression "(*(code *)PTR_strncmp_001dbe60)\n                            (param_2,PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb60,4)" (parenthesized_expression "(*(code *)PTR_strncmp_001dbe60)" ( (pointer_expression "*(code *)PTR_strncmp_001dbe60" * (cast_expression "(code *)PTR_strncmp_001dbe60" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(param_2,PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb60,4)" ( identifier , (binary_expression "PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb60" identifier + number_literal) , number_literal )))) ;) (if_statement "if (iVar8 == 0) {\nLAB_000585b8:\n            if ((uVar6 & 2) != 0) {\n              piVar10 = (int *)(PTR_DAT_001db8f8 + -0x4968);\n              goto LAB_00058800;\n            }\n          }" if (parenthesized_expression "(iVar8 == 0)" ( (binary_expression "iVar8 == 0" identifier == number_literal) )) (compound_statement "{\nLAB_000585b8:\n            if ((uVar6 & 2) != 0) {\n              piVar10 = (int *)(PTR_DAT_001db8f8 + -0x4968);\n              goto LAB_00058800;\n            }\n          }" { (labeled_statement "LAB_000585b8:\n            if ((uVar6 & 2) != 0) {\n              piVar10 = (int *)(PTR_DAT_001db8f8 + -0x4968);\n              goto LAB_00058800;\n            }" statement_identifier : (if_statement "if ((uVar6 & 2) != 0) {\n              piVar10 = (int *)(PTR_DAT_001db8f8 + -0x4968);\n              goto LAB_00058800;\n            }" if (parenthesized_expression "((uVar6 & 2) != 0)" ( (binary_expression "(uVar6 & 2) != 0" (parenthesized_expression "(uVar6 & 2)" ( (binary_expression "uVar6 & 2" identifier & number_literal) )) != number_literal) )) (compound_statement "{\n              piVar10 = (int *)(PTR_DAT_001db8f8 + -0x4968);\n              goto LAB_00058800;\n            }" { (expression_statement "piVar10 = (int *)(PTR_DAT_001db8f8 + -0x4968);" (assignment_expression "piVar10 = (int *)(PTR_DAT_001db8f8 + -0x4968)" identifier = (cast_expression "(int *)(PTR_DAT_001db8f8 + -0x4968)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_DAT_001db8f8 + -0x4968)" ( (binary_expression "PTR_DAT_001db8f8 + -0x4968" identifier + number_literal) )))) ;) (goto_statement "goto LAB_00058800;" goto statement_identifier ;) }))) })) }))) (if_statement "if ((uVar6 & 0x10) == 0) {\n          piVar10 = (int *)(PTR_DAT_001db8f8 + -0x49c8);\n        }\n        else {\n          piVar10 = (int *)(PTR_DAT_001db8f8 + -0x49e0);\n        }" if (parenthesized_expression "((uVar6 & 0x10) == 0)" ( (binary_expression "(uVar6 & 0x10) == 0" (parenthesized_expression "(uVar6 & 0x10)" ( (binary_expression "uVar6 & 0x10" identifier & number_literal) )) == number_literal) )) (compound_statement "{\n          piVar10 = (int *)(PTR_DAT_001db8f8 + -0x49c8);\n        }" { (expression_statement "piVar10 = (int *)(PTR_DAT_001db8f8 + -0x49c8);" (assignment_expression "piVar10 = (int *)(PTR_DAT_001db8f8 + -0x49c8)" identifier = (cast_expression "(int *)(PTR_DAT_001db8f8 + -0x49c8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_DAT_001db8f8 + -0x49c8)" ( (binary_expression "PTR_DAT_001db8f8 + -0x49c8" identifier + number_literal) )))) ;) }) (else_clause "else {\n          piVar10 = (int *)(PTR_DAT_001db8f8 + -0x49e0);\n        }" else (compound_statement "{\n          piVar10 = (int *)(PTR_DAT_001db8f8 + -0x49e0);\n        }" { (expression_statement "piVar10 = (int *)(PTR_DAT_001db8f8 + -0x49e0);" (assignment_expression "piVar10 = (int *)(PTR_DAT_001db8f8 + -0x49e0)" identifier = (cast_expression "(int *)(PTR_DAT_001db8f8 + -0x49e0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_DAT_001db8f8 + -0x49e0)" ( (binary_expression "PTR_DAT_001db8f8 + -0x49e0" identifier + number_literal) )))) ;) }))) }))) }) (else_clause "else {\n      piVar10 = (int *)(PTR_DAT_001db8f8 + -0x49b0);\n    }" else (compound_statement "{\n      piVar10 = (int *)(PTR_DAT_001db8f8 + -0x49b0);\n    }" { (expression_statement "piVar10 = (int *)(PTR_DAT_001db8f8 + -0x49b0);" (assignment_expression "piVar10 = (int *)(PTR_DAT_001db8f8 + -0x49b0)" identifier = (cast_expression "(int *)(PTR_DAT_001db8f8 + -0x49b0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_DAT_001db8f8 + -0x49b0)" ( (binary_expression "PTR_DAT_001db8f8 + -0x49b0" identifier + number_literal) )))) ;) }))))))) }))) (labeled_statement "LAB_00058800:\n  local_40 = piVar10[2];" statement_identifier : (expression_statement "local_40 = piVar10[2];" (assignment_expression "local_40 = piVar10[2]" identifier = (subscript_expression "piVar10[2]" identifier [ number_literal ])) ;)) (if_statement "if (local_40 != 0) goto LAB_00058810;" if (parenthesized_expression "(local_40 != 0)" ( (binary_expression "local_40 != 0" identifier != number_literal) )) (goto_statement "goto LAB_00058810;" goto statement_identifier ;)) (if_statement "if (*piVar10 == 0) {\n    cVar2 = *(char *)(*param_1 + 4);\n    if (*(int *)PTR_lang_output_section_statement_001dbbf4 != 0) {\n      local_44 = 0;\n      local_40 = 0;\n      puVar4 = PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb60;\n      local_34 = 0;\n      puVar5 = PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb70;\n      iVar8 = 0;\n      iVar9 = 0;\n      iVar3 = *(int *)PTR_lang_output_section_statement_001dbbf4;\n      do {\n        iVar13 = iVar3;\n        if (*(int *)(iVar13 + 0x48) < 0) {\nLAB_00058a98:\n          if (*(int *)(iVar13 + 0x1c) != 0) {\n            uVar7 = *(uint *)(*(int *)(iVar13 + 0x1c) + 0x14);\n            iVar3 = iVar9;\njoined_r0x00058aac:\n            if (((uVar7 & 1) != 0) && (iVar9 = iVar3, local_34 = iVar13, (uVar7 & 8) != 0)) {\n              local_40 = iVar13;\n            }\n          }\n        }\n        else {\n          iVar11 = *(int *)(iVar13 + 0x18);\n          iVar3 = (*(code *)PTR_strncmp_001dbe60)(iVar11,puVar4,4);\n          if (iVar3 != 0) goto LAB_00058a98;\n          uVar7 = (uint)(*(char *)(iVar11 + 4) == 'a');\n          if ((bVar1) ||\n             (iVar3 = (*(code *)PTR_strcmp_001dc144)(puVar5,iVar11 + uVar7 + 4), iVar3 == 0)) break;\n          iVar3 = iVar13;\n          if ((cVar2 == 'a') != uVar7) {\n            if (iVar8 == 0) {\n              iVar8 = iVar13;\n            }\n            iVar3 = iVar8;\n            if (iVar9 != 0) goto LAB_00058a98;\n          }\n          iVar8 = iVar3;\n          if (*(int *)(iVar13 + 0x1c) != 0) {\n            uVar7 = *(uint *)(*(int *)(iVar13 + 0x1c) + 0x14);\n            iVar3 = iVar13;\n            goto joined_r0x00058aac;\n          }\n        }\n        local_44 = iVar13;\n        iVar3 = *(int *)(iVar13 + 0x10);\n      } while (*(int *)(iVar13 + 0x10) != 0);\n      if (iVar9 == 0) {\n        if (iVar8 == 0) {\n          if (local_40 == 0) {\n            local_40 = local_34;\n            if (local_34 == 0) {\n              local_40 = local_44;\n            }\n            piVar10[2] = local_40;\n          }\n          else {\n            piVar10[2] = local_40;\n          }\n        }\n        else {\n          piVar10[2] = iVar8;\n          local_40 = iVar8;\n        }\n      }\n      else {\n        piVar10[2] = iVar9;\n        local_40 = iVar9;\n      }\n      goto LAB_00058960;\n    }\n  }\n  else {\n    local_40 = (*(code *)PTR_lang_output_section_statement_lookup_001dbc2c)(*piVar10,0,0);\n    piVar10[2] = local_40;\nLAB_00058960:\n    if (local_40 != 0) goto LAB_00058810;\n  }" if (parenthesized_expression "(*piVar10 == 0)" ( (binary_expression "*piVar10 == 0" (pointer_expression "*piVar10" * identifier) == number_literal) )) (compound_statement "{\n    cVar2 = *(char *)(*param_1 + 4);\n    if (*(int *)PTR_lang_output_section_statement_001dbbf4 != 0) {\n      local_44 = 0;\n      local_40 = 0;\n      puVar4 = PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb60;\n      local_34 = 0;\n      puVar5 = PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb70;\n      iVar8 = 0;\n      iVar9 = 0;\n      iVar3 = *(int *)PTR_lang_output_section_statement_001dbbf4;\n      do {\n        iVar13 = iVar3;\n        if (*(int *)(iVar13 + 0x48) < 0) {\nLAB_00058a98:\n          if (*(int *)(iVar13 + 0x1c) != 0) {\n            uVar7 = *(uint *)(*(int *)(iVar13 + 0x1c) + 0x14);\n            iVar3 = iVar9;\njoined_r0x00058aac:\n            if (((uVar7 & 1) != 0) && (iVar9 = iVar3, local_34 = iVar13, (uVar7 & 8) != 0)) {\n              local_40 = iVar13;\n            }\n          }\n        }\n        else {\n          iVar11 = *(int *)(iVar13 + 0x18);\n          iVar3 = (*(code *)PTR_strncmp_001dbe60)(iVar11,puVar4,4);\n          if (iVar3 != 0) goto LAB_00058a98;\n          uVar7 = (uint)(*(char *)(iVar11 + 4) == 'a');\n          if ((bVar1) ||\n             (iVar3 = (*(code *)PTR_strcmp_001dc144)(puVar5,iVar11 + uVar7 + 4), iVar3 == 0)) break;\n          iVar3 = iVar13;\n          if ((cVar2 == 'a') != uVar7) {\n            if (iVar8 == 0) {\n              iVar8 = iVar13;\n            }\n            iVar3 = iVar8;\n            if (iVar9 != 0) goto LAB_00058a98;\n          }\n          iVar8 = iVar3;\n          if (*(int *)(iVar13 + 0x1c) != 0) {\n            uVar7 = *(uint *)(*(int *)(iVar13 + 0x1c) + 0x14);\n            iVar3 = iVar13;\n            goto joined_r0x00058aac;\n          }\n        }\n        local_44 = iVar13;\n        iVar3 = *(int *)(iVar13 + 0x10);\n      } while (*(int *)(iVar13 + 0x10) != 0);\n      if (iVar9 == 0) {\n        if (iVar8 == 0) {\n          if (local_40 == 0) {\n            local_40 = local_34;\n            if (local_34 == 0) {\n              local_40 = local_44;\n            }\n            piVar10[2] = local_40;\n          }\n          else {\n            piVar10[2] = local_40;\n          }\n        }\n        else {\n          piVar10[2] = iVar8;\n          local_40 = iVar8;\n        }\n      }\n      else {\n        piVar10[2] = iVar9;\n        local_40 = iVar9;\n      }\n      goto LAB_00058960;\n    }\n  }" { (expression_statement "cVar2 = *(char *)(*param_1 + 4);" (assignment_expression "cVar2 = *(char *)(*param_1 + 4)" identifier = (pointer_expression "*(char *)(*param_1 + 4)" * (cast_expression "(char *)(*param_1 + 4)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*param_1 + 4)" ( (binary_expression "*param_1 + 4" (pointer_expression "*param_1" * identifier) + number_literal) ))))) ;) (if_statement "if (*(int *)PTR_lang_output_section_statement_001dbbf4 != 0) {\n      local_44 = 0;\n      local_40 = 0;\n      puVar4 = PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb60;\n      local_34 = 0;\n      puVar5 = PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb70;\n      iVar8 = 0;\n      iVar9 = 0;\n      iVar3 = *(int *)PTR_lang_output_section_statement_001dbbf4;\n      do {\n        iVar13 = iVar3;\n        if (*(int *)(iVar13 + 0x48) < 0) {\nLAB_00058a98:\n          if (*(int *)(iVar13 + 0x1c) != 0) {\n            uVar7 = *(uint *)(*(int *)(iVar13 + 0x1c) + 0x14);\n            iVar3 = iVar9;\njoined_r0x00058aac:\n            if (((uVar7 & 1) != 0) && (iVar9 = iVar3, local_34 = iVar13, (uVar7 & 8) != 0)) {\n              local_40 = iVar13;\n            }\n          }\n        }\n        else {\n          iVar11 = *(int *)(iVar13 + 0x18);\n          iVar3 = (*(code *)PTR_strncmp_001dbe60)(iVar11,puVar4,4);\n          if (iVar3 != 0) goto LAB_00058a98;\n          uVar7 = (uint)(*(char *)(iVar11 + 4) == 'a');\n          if ((bVar1) ||\n             (iVar3 = (*(code *)PTR_strcmp_001dc144)(puVar5,iVar11 + uVar7 + 4), iVar3 == 0)) break;\n          iVar3 = iVar13;\n          if ((cVar2 == 'a') != uVar7) {\n            if (iVar8 == 0) {\n              iVar8 = iVar13;\n            }\n            iVar3 = iVar8;\n            if (iVar9 != 0) goto LAB_00058a98;\n          }\n          iVar8 = iVar3;\n          if (*(int *)(iVar13 + 0x1c) != 0) {\n            uVar7 = *(uint *)(*(int *)(iVar13 + 0x1c) + 0x14);\n            iVar3 = iVar13;\n            goto joined_r0x00058aac;\n          }\n        }\n        local_44 = iVar13;\n        iVar3 = *(int *)(iVar13 + 0x10);\n      } while (*(int *)(iVar13 + 0x10) != 0);\n      if (iVar9 == 0) {\n        if (iVar8 == 0) {\n          if (local_40 == 0) {\n            local_40 = local_34;\n            if (local_34 == 0) {\n              local_40 = local_44;\n            }\n            piVar10[2] = local_40;\n          }\n          else {\n            piVar10[2] = local_40;\n          }\n        }\n        else {\n          piVar10[2] = iVar8;\n          local_40 = iVar8;\n        }\n      }\n      else {\n        piVar10[2] = iVar9;\n        local_40 = iVar9;\n      }\n      goto LAB_00058960;\n    }" if (parenthesized_expression "(*(int *)PTR_lang_output_section_statement_001dbbf4 != 0)" ( (binary_expression "*(int *)PTR_lang_output_section_statement_001dbbf4 != 0" (pointer_expression "*(int *)PTR_lang_output_section_statement_001dbbf4" * (cast_expression "(int *)PTR_lang_output_section_statement_001dbbf4" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) != number_literal) )) (compound_statement "{\n      local_44 = 0;\n      local_40 = 0;\n      puVar4 = PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb60;\n      local_34 = 0;\n      puVar5 = PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb70;\n      iVar8 = 0;\n      iVar9 = 0;\n      iVar3 = *(int *)PTR_lang_output_section_statement_001dbbf4;\n      do {\n        iVar13 = iVar3;\n        if (*(int *)(iVar13 + 0x48) < 0) {\nLAB_00058a98:\n          if (*(int *)(iVar13 + 0x1c) != 0) {\n            uVar7 = *(uint *)(*(int *)(iVar13 + 0x1c) + 0x14);\n            iVar3 = iVar9;\njoined_r0x00058aac:\n            if (((uVar7 & 1) != 0) && (iVar9 = iVar3, local_34 = iVar13, (uVar7 & 8) != 0)) {\n              local_40 = iVar13;\n            }\n          }\n        }\n        else {\n          iVar11 = *(int *)(iVar13 + 0x18);\n          iVar3 = (*(code *)PTR_strncmp_001dbe60)(iVar11,puVar4,4);\n          if (iVar3 != 0) goto LAB_00058a98;\n          uVar7 = (uint)(*(char *)(iVar11 + 4) == 'a');\n          if ((bVar1) ||\n             (iVar3 = (*(code *)PTR_strcmp_001dc144)(puVar5,iVar11 + uVar7 + 4), iVar3 == 0)) break;\n          iVar3 = iVar13;\n          if ((cVar2 == 'a') != uVar7) {\n            if (iVar8 == 0) {\n              iVar8 = iVar13;\n            }\n            iVar3 = iVar8;\n            if (iVar9 != 0) goto LAB_00058a98;\n          }\n          iVar8 = iVar3;\n          if (*(int *)(iVar13 + 0x1c) != 0) {\n            uVar7 = *(uint *)(*(int *)(iVar13 + 0x1c) + 0x14);\n            iVar3 = iVar13;\n            goto joined_r0x00058aac;\n          }\n        }\n        local_44 = iVar13;\n        iVar3 = *(int *)(iVar13 + 0x10);\n      } while (*(int *)(iVar13 + 0x10) != 0);\n      if (iVar9 == 0) {\n        if (iVar8 == 0) {\n          if (local_40 == 0) {\n            local_40 = local_34;\n            if (local_34 == 0) {\n              local_40 = local_44;\n            }\n            piVar10[2] = local_40;\n          }\n          else {\n            piVar10[2] = local_40;\n          }\n        }\n        else {\n          piVar10[2] = iVar8;\n          local_40 = iVar8;\n        }\n      }\n      else {\n        piVar10[2] = iVar9;\n        local_40 = iVar9;\n      }\n      goto LAB_00058960;\n    }" { (expression_statement "local_44 = 0;" (assignment_expression "local_44 = 0" identifier = number_literal) ;) (expression_statement "local_40 = 0;" (assignment_expression "local_40 = 0" identifier = number_literal) ;) (expression_statement "puVar4 = PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb60;" (assignment_expression "puVar4 = PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb60" identifier = (binary_expression "PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb60" identifier + number_literal)) ;) (expression_statement "local_34 = 0;" (assignment_expression "local_34 = 0" identifier = number_literal) ;) (expression_statement "puVar5 = PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb70;" (assignment_expression "puVar5 = PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb70" identifier = (binary_expression "PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb70" identifier + number_literal)) ;) (expression_statement "iVar8 = 0;" (assignment_expression "iVar8 = 0" identifier = number_literal) ;) (expression_statement "iVar9 = 0;" (assignment_expression "iVar9 = 0" identifier = number_literal) ;) (expression_statement "iVar3 = *(int *)PTR_lang_output_section_statement_001dbbf4;" (assignment_expression "iVar3 = *(int *)PTR_lang_output_section_statement_001dbbf4" identifier = (pointer_expression "*(int *)PTR_lang_output_section_statement_001dbbf4" * (cast_expression "(int *)PTR_lang_output_section_statement_001dbbf4" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) ;) (do_statement "do {\n        iVar13 = iVar3;\n        if (*(int *)(iVar13 + 0x48) < 0) {\nLAB_00058a98:\n          if (*(int *)(iVar13 + 0x1c) != 0) {\n            uVar7 = *(uint *)(*(int *)(iVar13 + 0x1c) + 0x14);\n            iVar3 = iVar9;\njoined_r0x00058aac:\n            if (((uVar7 & 1) != 0) && (iVar9 = iVar3, local_34 = iVar13, (uVar7 & 8) != 0)) {\n              local_40 = iVar13;\n            }\n          }\n        }\n        else {\n          iVar11 = *(int *)(iVar13 + 0x18);\n          iVar3 = (*(code *)PTR_strncmp_001dbe60)(iVar11,puVar4,4);\n          if (iVar3 != 0) goto LAB_00058a98;\n          uVar7 = (uint)(*(char *)(iVar11 + 4) == 'a');\n          if ((bVar1) ||\n             (iVar3 = (*(code *)PTR_strcmp_001dc144)(puVar5,iVar11 + uVar7 + 4), iVar3 == 0)) break;\n          iVar3 = iVar13;\n          if ((cVar2 == 'a') != uVar7) {\n            if (iVar8 == 0) {\n              iVar8 = iVar13;\n            }\n            iVar3 = iVar8;\n            if (iVar9 != 0) goto LAB_00058a98;\n          }\n          iVar8 = iVar3;\n          if (*(int *)(iVar13 + 0x1c) != 0) {\n            uVar7 = *(uint *)(*(int *)(iVar13 + 0x1c) + 0x14);\n            iVar3 = iVar13;\n            goto joined_r0x00058aac;\n          }\n        }\n        local_44 = iVar13;\n        iVar3 = *(int *)(iVar13 + 0x10);\n      } while (*(int *)(iVar13 + 0x10) != 0);" do (compound_statement "{\n        iVar13 = iVar3;\n        if (*(int *)(iVar13 + 0x48) < 0) {\nLAB_00058a98:\n          if (*(int *)(iVar13 + 0x1c) != 0) {\n            uVar7 = *(uint *)(*(int *)(iVar13 + 0x1c) + 0x14);\n            iVar3 = iVar9;\njoined_r0x00058aac:\n            if (((uVar7 & 1) != 0) && (iVar9 = iVar3, local_34 = iVar13, (uVar7 & 8) != 0)) {\n              local_40 = iVar13;\n            }\n          }\n        }\n        else {\n          iVar11 = *(int *)(iVar13 + 0x18);\n          iVar3 = (*(code *)PTR_strncmp_001dbe60)(iVar11,puVar4,4);\n          if (iVar3 != 0) goto LAB_00058a98;\n          uVar7 = (uint)(*(char *)(iVar11 + 4) == 'a');\n          if ((bVar1) ||\n             (iVar3 = (*(code *)PTR_strcmp_001dc144)(puVar5,iVar11 + uVar7 + 4), iVar3 == 0)) break;\n          iVar3 = iVar13;\n          if ((cVar2 == 'a') != uVar7) {\n            if (iVar8 == 0) {\n              iVar8 = iVar13;\n            }\n            iVar3 = iVar8;\n            if (iVar9 != 0) goto LAB_00058a98;\n          }\n          iVar8 = iVar3;\n          if (*(int *)(iVar13 + 0x1c) != 0) {\n            uVar7 = *(uint *)(*(int *)(iVar13 + 0x1c) + 0x14);\n            iVar3 = iVar13;\n            goto joined_r0x00058aac;\n          }\n        }\n        local_44 = iVar13;\n        iVar3 = *(int *)(iVar13 + 0x10);\n      }" { (expression_statement "iVar13 = iVar3;" (assignment_expression "iVar13 = iVar3" identifier = identifier) ;) (if_statement "if (*(int *)(iVar13 + 0x48) < 0) {\nLAB_00058a98:\n          if (*(int *)(iVar13 + 0x1c) != 0) {\n            uVar7 = *(uint *)(*(int *)(iVar13 + 0x1c) + 0x14);\n            iVar3 = iVar9;\njoined_r0x00058aac:\n            if (((uVar7 & 1) != 0) && (iVar9 = iVar3, local_34 = iVar13, (uVar7 & 8) != 0)) {\n              local_40 = iVar13;\n            }\n          }\n        }\n        else {\n          iVar11 = *(int *)(iVar13 + 0x18);\n          iVar3 = (*(code *)PTR_strncmp_001dbe60)(iVar11,puVar4,4);\n          if (iVar3 != 0) goto LAB_00058a98;\n          uVar7 = (uint)(*(char *)(iVar11 + 4) == 'a');\n          if ((bVar1) ||\n             (iVar3 = (*(code *)PTR_strcmp_001dc144)(puVar5,iVar11 + uVar7 + 4), iVar3 == 0)) break;\n          iVar3 = iVar13;\n          if ((cVar2 == 'a') != uVar7) {\n            if (iVar8 == 0) {\n              iVar8 = iVar13;\n            }\n            iVar3 = iVar8;\n            if (iVar9 != 0) goto LAB_00058a98;\n          }\n          iVar8 = iVar3;\n          if (*(int *)(iVar13 + 0x1c) != 0) {\n            uVar7 = *(uint *)(*(int *)(iVar13 + 0x1c) + 0x14);\n            iVar3 = iVar13;\n            goto joined_r0x00058aac;\n          }\n        }" if (parenthesized_expression "(*(int *)(iVar13 + 0x48) < 0)" ( (binary_expression "*(int *)(iVar13 + 0x48) < 0" (pointer_expression "*(int *)(iVar13 + 0x48)" * (cast_expression "(int *)(iVar13 + 0x48)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar13 + 0x48)" ( (binary_expression "iVar13 + 0x48" identifier + number_literal) )))) < number_literal) )) (compound_statement "{\nLAB_00058a98:\n          if (*(int *)(iVar13 + 0x1c) != 0) {\n            uVar7 = *(uint *)(*(int *)(iVar13 + 0x1c) + 0x14);\n            iVar3 = iVar9;\njoined_r0x00058aac:\n            if (((uVar7 & 1) != 0) && (iVar9 = iVar3, local_34 = iVar13, (uVar7 & 8) != 0)) {\n              local_40 = iVar13;\n            }\n          }\n        }" { (labeled_statement "LAB_00058a98:\n          if (*(int *)(iVar13 + 0x1c) != 0) {\n            uVar7 = *(uint *)(*(int *)(iVar13 + 0x1c) + 0x14);\n            iVar3 = iVar9;\njoined_r0x00058aac:\n            if (((uVar7 & 1) != 0) && (iVar9 = iVar3, local_34 = iVar13, (uVar7 & 8) != 0)) {\n              local_40 = iVar13;\n            }\n          }" statement_identifier : (if_statement "if (*(int *)(iVar13 + 0x1c) != 0) {\n            uVar7 = *(uint *)(*(int *)(iVar13 + 0x1c) + 0x14);\n            iVar3 = iVar9;\njoined_r0x00058aac:\n            if (((uVar7 & 1) != 0) && (iVar9 = iVar3, local_34 = iVar13, (uVar7 & 8) != 0)) {\n              local_40 = iVar13;\n            }\n          }" if (parenthesized_expression "(*(int *)(iVar13 + 0x1c) != 0)" ( (binary_expression "*(int *)(iVar13 + 0x1c) != 0" (pointer_expression "*(int *)(iVar13 + 0x1c)" * (cast_expression "(int *)(iVar13 + 0x1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar13 + 0x1c)" ( (binary_expression "iVar13 + 0x1c" identifier + number_literal) )))) != number_literal) )) (compound_statement "{\n            uVar7 = *(uint *)(*(int *)(iVar13 + 0x1c) + 0x14);\n            iVar3 = iVar9;\njoined_r0x00058aac:\n            if (((uVar7 & 1) != 0) && (iVar9 = iVar3, local_34 = iVar13, (uVar7 & 8) != 0)) {\n              local_40 = iVar13;\n            }\n          }" { (expression_statement "uVar7 = *(uint *)(*(int *)(iVar13 + 0x1c) + 0x14);" (assignment_expression "uVar7 = *(uint *)(*(int *)(iVar13 + 0x1c) + 0x14)" identifier = (pointer_expression "*(uint *)(*(int *)(iVar13 + 0x1c) + 0x14)" * (cast_expression "(uint *)(*(int *)(iVar13 + 0x1c) + 0x14)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(iVar13 + 0x1c) + 0x14)" ( (binary_expression "*(int *)(iVar13 + 0x1c) + 0x14" (pointer_expression "*(int *)(iVar13 + 0x1c)" * (cast_expression "(int *)(iVar13 + 0x1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar13 + 0x1c)" ( (binary_expression "iVar13 + 0x1c" identifier + number_literal) )))) + number_literal) ))))) ;) (expression_statement "iVar3 = iVar9;" (assignment_expression "iVar3 = iVar9" identifier = identifier) ;) (labeled_statement "joined_r0x00058aac:\n            if (((uVar7 & 1) != 0) && (iVar9 = iVar3, local_34 = iVar13, (uVar7 & 8) != 0)) {\n              local_40 = iVar13;\n            }" statement_identifier : (if_statement "if (((uVar7 & 1) != 0) && (iVar9 = iVar3, local_34 = iVar13, (uVar7 & 8) != 0)) {\n              local_40 = iVar13;\n            }" if (parenthesized_expression "(((uVar7 & 1) != 0) && (iVar9 = iVar3, local_34 = iVar13, (uVar7 & 8) != 0))" ( (binary_expression "((uVar7 & 1) != 0) && (iVar9 = iVar3, local_34 = iVar13, (uVar7 & 8) != 0)" (parenthesized_expression "((uVar7 & 1) != 0)" ( (binary_expression "(uVar7 & 1) != 0" (parenthesized_expression "(uVar7 & 1)" ( (binary_expression "uVar7 & 1" identifier & number_literal) )) != number_literal) )) && (parenthesized_expression "(iVar9 = iVar3, local_34 = iVar13, (uVar7 & 8) != 0)" ( (comma_expression "iVar9 = iVar3, local_34 = iVar13, (uVar7 & 8) != 0" (assignment_expression "iVar9 = iVar3" identifier = identifier) , (comma_expression "local_34 = iVar13, (uVar7 & 8) != 0" (assignment_expression "local_34 = iVar13" identifier = identifier) , (binary_expression "(uVar7 & 8) != 0" (parenthesized_expression "(uVar7 & 8)" ( (binary_expression "uVar7 & 8" identifier & number_literal) )) != number_literal))) ))) )) (compound_statement "{\n              local_40 = iVar13;\n            }" { (expression_statement "local_40 = iVar13;" (assignment_expression "local_40 = iVar13" identifier = identifier) ;) }))) }))) }) (else_clause "else {\n          iVar11 = *(int *)(iVar13 + 0x18);\n          iVar3 = (*(code *)PTR_strncmp_001dbe60)(iVar11,puVar4,4);\n          if (iVar3 != 0) goto LAB_00058a98;\n          uVar7 = (uint)(*(char *)(iVar11 + 4) == 'a');\n          if ((bVar1) ||\n             (iVar3 = (*(code *)PTR_strcmp_001dc144)(puVar5,iVar11 + uVar7 + 4), iVar3 == 0)) break;\n          iVar3 = iVar13;\n          if ((cVar2 == 'a') != uVar7) {\n            if (iVar8 == 0) {\n              iVar8 = iVar13;\n            }\n            iVar3 = iVar8;\n            if (iVar9 != 0) goto LAB_00058a98;\n          }\n          iVar8 = iVar3;\n          if (*(int *)(iVar13 + 0x1c) != 0) {\n            uVar7 = *(uint *)(*(int *)(iVar13 + 0x1c) + 0x14);\n            iVar3 = iVar13;\n            goto joined_r0x00058aac;\n          }\n        }" else (compound_statement "{\n          iVar11 = *(int *)(iVar13 + 0x18);\n          iVar3 = (*(code *)PTR_strncmp_001dbe60)(iVar11,puVar4,4);\n          if (iVar3 != 0) goto LAB_00058a98;\n          uVar7 = (uint)(*(char *)(iVar11 + 4) == 'a');\n          if ((bVar1) ||\n             (iVar3 = (*(code *)PTR_strcmp_001dc144)(puVar5,iVar11 + uVar7 + 4), iVar3 == 0)) break;\n          iVar3 = iVar13;\n          if ((cVar2 == 'a') != uVar7) {\n            if (iVar8 == 0) {\n              iVar8 = iVar13;\n            }\n            iVar3 = iVar8;\n            if (iVar9 != 0) goto LAB_00058a98;\n          }\n          iVar8 = iVar3;\n          if (*(int *)(iVar13 + 0x1c) != 0) {\n            uVar7 = *(uint *)(*(int *)(iVar13 + 0x1c) + 0x14);\n            iVar3 = iVar13;\n            goto joined_r0x00058aac;\n          }\n        }" { (expression_statement "iVar11 = *(int *)(iVar13 + 0x18);" (assignment_expression "iVar11 = *(int *)(iVar13 + 0x18)" identifier = (pointer_expression "*(int *)(iVar13 + 0x18)" * (cast_expression "(int *)(iVar13 + 0x18)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar13 + 0x18)" ( (binary_expression "iVar13 + 0x18" identifier + number_literal) ))))) ;) (expression_statement "iVar3 = (*(code *)PTR_strncmp_001dbe60)(iVar11,puVar4,4);" (assignment_expression "iVar3 = (*(code *)PTR_strncmp_001dbe60)(iVar11,puVar4,4)" identifier = (call_expression "(*(code *)PTR_strncmp_001dbe60)(iVar11,puVar4,4)" (parenthesized_expression "(*(code *)PTR_strncmp_001dbe60)" ( (pointer_expression "*(code *)PTR_strncmp_001dbe60" * (cast_expression "(code *)PTR_strncmp_001dbe60" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(iVar11,puVar4,4)" ( identifier , identifier , number_literal )))) ;) (if_statement "if (iVar3 != 0) goto LAB_00058a98;" if (parenthesized_expression "(iVar3 != 0)" ( (binary_expression "iVar3 != 0" identifier != number_literal) )) (goto_statement "goto LAB_00058a98;" goto statement_identifier ;)) (expression_statement "uVar7 = (uint)(*(char *)(iVar11 + 4) == 'a');" (assignment_expression "uVar7 = (uint)(*(char *)(iVar11 + 4) == 'a')" identifier = (call_expression "(uint)(*(char *)(iVar11 + 4) == 'a')" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(*(char *)(iVar11 + 4) == 'a')" ( (binary_expression "*(char *)(iVar11 + 4) == 'a'" (pointer_expression "*(char *)(iVar11 + 4)" * (cast_expression "(char *)(iVar11 + 4)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 4)" ( (binary_expression "iVar11 + 4" identifier + number_literal) )))) == (char_literal "'a'" ' character ')) )))) ;) (if_statement "if ((bVar1) ||\n             (iVar3 = (*(code *)PTR_strcmp_001dc144)(puVar5,iVar11 + uVar7 + 4), iVar3 == 0)) break;" if (parenthesized_expression "((bVar1) ||\n             (iVar3 = (*(code *)PTR_strcmp_001dc144)(puVar5,iVar11 + uVar7 + 4), iVar3 == 0))" ( (binary_expression "(bVar1) ||\n             (iVar3 = (*(code *)PTR_strcmp_001dc144)(puVar5,iVar11 + uVar7 + 4), iVar3 == 0)" (parenthesized_expression "(bVar1)" ( identifier )) || (parenthesized_expression "(iVar3 = (*(code *)PTR_strcmp_001dc144)(puVar5,iVar11 + uVar7 + 4), iVar3 == 0)" ( (comma_expression "iVar3 = (*(code *)PTR_strcmp_001dc144)(puVar5,iVar11 + uVar7 + 4), iVar3 == 0" (assignment_expression "iVar3 = (*(code *)PTR_strcmp_001dc144)(puVar5,iVar11 + uVar7 + 4)" identifier = (call_expression "(*(code *)PTR_strcmp_001dc144)(puVar5,iVar11 + uVar7 + 4)" (parenthesized_expression "(*(code *)PTR_strcmp_001dc144)" ( (pointer_expression "*(code *)PTR_strcmp_001dc144" * (cast_expression "(code *)PTR_strcmp_001dc144" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(puVar5,iVar11 + uVar7 + 4)" ( identifier , (binary_expression "iVar11 + uVar7 + 4" (binary_expression "iVar11 + uVar7" identifier + identifier) + number_literal) )))) , (binary_expression "iVar3 == 0" identifier == number_literal)) ))) )) (break_statement "break;" break ;)) (expression_statement "iVar3 = iVar13;" (assignment_expression "iVar3 = iVar13" identifier = identifier) ;) (if_statement "if ((cVar2 == 'a') != uVar7) {\n            if (iVar8 == 0) {\n              iVar8 = iVar13;\n            }\n            iVar3 = iVar8;\n            if (iVar9 != 0) goto LAB_00058a98;\n          }" if (parenthesized_expression "((cVar2 == 'a') != uVar7)" ( (binary_expression "(cVar2 == 'a') != uVar7" (parenthesized_expression "(cVar2 == 'a')" ( (binary_expression "cVar2 == 'a'" identifier == (char_literal "'a'" ' character ')) )) != identifier) )) (compound_statement "{\n            if (iVar8 == 0) {\n              iVar8 = iVar13;\n            }\n            iVar3 = iVar8;\n            if (iVar9 != 0) goto LAB_00058a98;\n          }" { (if_statement "if (iVar8 == 0) {\n              iVar8 = iVar13;\n            }" if (parenthesized_expression "(iVar8 == 0)" ( (binary_expression "iVar8 == 0" identifier == number_literal) )) (compound_statement "{\n              iVar8 = iVar13;\n            }" { (expression_statement "iVar8 = iVar13;" (assignment_expression "iVar8 = iVar13" identifier = identifier) ;) })) (expression_statement "iVar3 = iVar8;" (assignment_expression "iVar3 = iVar8" identifier = identifier) ;) (if_statement "if (iVar9 != 0) goto LAB_00058a98;" if (parenthesized_expression "(iVar9 != 0)" ( (binary_expression "iVar9 != 0" identifier != number_literal) )) (goto_statement "goto LAB_00058a98;" goto statement_identifier ;)) })) (expression_statement "iVar8 = iVar3;" (assignment_expression "iVar8 = iVar3" identifier = identifier) ;) (if_statement "if (*(int *)(iVar13 + 0x1c) != 0) {\n            uVar7 = *(uint *)(*(int *)(iVar13 + 0x1c) + 0x14);\n            iVar3 = iVar13;\n            goto joined_r0x00058aac;\n          }" if (parenthesized_expression "(*(int *)(iVar13 + 0x1c) != 0)" ( (binary_expression "*(int *)(iVar13 + 0x1c) != 0" (pointer_expression "*(int *)(iVar13 + 0x1c)" * (cast_expression "(int *)(iVar13 + 0x1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar13 + 0x1c)" ( (binary_expression "iVar13 + 0x1c" identifier + number_literal) )))) != number_literal) )) (compound_statement "{\n            uVar7 = *(uint *)(*(int *)(iVar13 + 0x1c) + 0x14);\n            iVar3 = iVar13;\n            goto joined_r0x00058aac;\n          }" { (expression_statement "uVar7 = *(uint *)(*(int *)(iVar13 + 0x1c) + 0x14);" (assignment_expression "uVar7 = *(uint *)(*(int *)(iVar13 + 0x1c) + 0x14)" identifier = (pointer_expression "*(uint *)(*(int *)(iVar13 + 0x1c) + 0x14)" * (cast_expression "(uint *)(*(int *)(iVar13 + 0x1c) + 0x14)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(iVar13 + 0x1c) + 0x14)" ( (binary_expression "*(int *)(iVar13 + 0x1c) + 0x14" (pointer_expression "*(int *)(iVar13 + 0x1c)" * (cast_expression "(int *)(iVar13 + 0x1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar13 + 0x1c)" ( (binary_expression "iVar13 + 0x1c" identifier + number_literal) )))) + number_literal) ))))) ;) (expression_statement "iVar3 = iVar13;" (assignment_expression "iVar3 = iVar13" identifier = identifier) ;) (goto_statement "goto joined_r0x00058aac;" goto statement_identifier ;) })) }))) (expression_statement "local_44 = iVar13;" (assignment_expression "local_44 = iVar13" identifier = identifier) ;) (expression_statement "iVar3 = *(int *)(iVar13 + 0x10);" (assignment_expression "iVar3 = *(int *)(iVar13 + 0x10)" identifier = (pointer_expression "*(int *)(iVar13 + 0x10)" * (cast_expression "(int *)(iVar13 + 0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar13 + 0x10)" ( (binary_expression "iVar13 + 0x10" identifier + number_literal) ))))) ;) }) while (parenthesized_expression "(*(int *)(iVar13 + 0x10) != 0)" ( (binary_expression "*(int *)(iVar13 + 0x10) != 0" (pointer_expression "*(int *)(iVar13 + 0x10)" * (cast_expression "(int *)(iVar13 + 0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar13 + 0x10)" ( (binary_expression "iVar13 + 0x10" identifier + number_literal) )))) != number_literal) )) ;) (if_statement "if (iVar9 == 0) {\n        if (iVar8 == 0) {\n          if (local_40 == 0) {\n            local_40 = local_34;\n            if (local_34 == 0) {\n              local_40 = local_44;\n            }\n            piVar10[2] = local_40;\n          }\n          else {\n            piVar10[2] = local_40;\n          }\n        }\n        else {\n          piVar10[2] = iVar8;\n          local_40 = iVar8;\n        }\n      }\n      else {\n        piVar10[2] = iVar9;\n        local_40 = iVar9;\n      }" if (parenthesized_expression "(iVar9 == 0)" ( (binary_expression "iVar9 == 0" identifier == number_literal) )) (compound_statement "{\n        if (iVar8 == 0) {\n          if (local_40 == 0) {\n            local_40 = local_34;\n            if (local_34 == 0) {\n              local_40 = local_44;\n            }\n            piVar10[2] = local_40;\n          }\n          else {\n            piVar10[2] = local_40;\n          }\n        }\n        else {\n          piVar10[2] = iVar8;\n          local_40 = iVar8;\n        }\n      }" { (if_statement "if (iVar8 == 0) {\n          if (local_40 == 0) {\n            local_40 = local_34;\n            if (local_34 == 0) {\n              local_40 = local_44;\n            }\n            piVar10[2] = local_40;\n          }\n          else {\n            piVar10[2] = local_40;\n          }\n        }\n        else {\n          piVar10[2] = iVar8;\n          local_40 = iVar8;\n        }" if (parenthesized_expression "(iVar8 == 0)" ( (binary_expression "iVar8 == 0" identifier == number_literal) )) (compound_statement "{\n          if (local_40 == 0) {\n            local_40 = local_34;\n            if (local_34 == 0) {\n              local_40 = local_44;\n            }\n            piVar10[2] = local_40;\n          }\n          else {\n            piVar10[2] = local_40;\n          }\n        }" { (if_statement "if (local_40 == 0) {\n            local_40 = local_34;\n            if (local_34 == 0) {\n              local_40 = local_44;\n            }\n            piVar10[2] = local_40;\n          }\n          else {\n            piVar10[2] = local_40;\n          }" if (parenthesized_expression "(local_40 == 0)" ( (binary_expression "local_40 == 0" identifier == number_literal) )) (compound_statement "{\n            local_40 = local_34;\n            if (local_34 == 0) {\n              local_40 = local_44;\n            }\n            piVar10[2] = local_40;\n          }" { (expression_statement "local_40 = local_34;" (assignment_expression "local_40 = local_34" identifier = identifier) ;) (if_statement "if (local_34 == 0) {\n              local_40 = local_44;\n            }" if (parenthesized_expression "(local_34 == 0)" ( (binary_expression "local_34 == 0" identifier == number_literal) )) (compound_statement "{\n              local_40 = local_44;\n            }" { (expression_statement "local_40 = local_44;" (assignment_expression "local_40 = local_44" identifier = identifier) ;) })) (expression_statement "piVar10[2] = local_40;" (assignment_expression "piVar10[2] = local_40" (subscript_expression "piVar10[2]" identifier [ number_literal ]) = identifier) ;) }) (else_clause "else {\n            piVar10[2] = local_40;\n          }" else (compound_statement "{\n            piVar10[2] = local_40;\n          }" { (expression_statement "piVar10[2] = local_40;" (assignment_expression "piVar10[2] = local_40" (subscript_expression "piVar10[2]" identifier [ number_literal ]) = identifier) ;) }))) }) (else_clause "else {\n          piVar10[2] = iVar8;\n          local_40 = iVar8;\n        }" else (compound_statement "{\n          piVar10[2] = iVar8;\n          local_40 = iVar8;\n        }" { (expression_statement "piVar10[2] = iVar8;" (assignment_expression "piVar10[2] = iVar8" (subscript_expression "piVar10[2]" identifier [ number_literal ]) = identifier) ;) (expression_statement "local_40 = iVar8;" (assignment_expression "local_40 = iVar8" identifier = identifier) ;) }))) }) (else_clause "else {\n        piVar10[2] = iVar9;\n        local_40 = iVar9;\n      }" else (compound_statement "{\n        piVar10[2] = iVar9;\n        local_40 = iVar9;\n      }" { (expression_statement "piVar10[2] = iVar9;" (assignment_expression "piVar10[2] = iVar9" (subscript_expression "piVar10[2]" identifier [ number_literal ]) = identifier) ;) (expression_statement "local_40 = iVar9;" (assignment_expression "local_40 = iVar9" identifier = identifier) ;) }))) (goto_statement "goto LAB_00058960;" goto statement_identifier ;) })) }) (else_clause "else {\n    local_40 = (*(code *)PTR_lang_output_section_statement_lookup_001dbc2c)(*piVar10,0,0);\n    piVar10[2] = local_40;\nLAB_00058960:\n    if (local_40 != 0) goto LAB_00058810;\n  }" else (compound_statement "{\n    local_40 = (*(code *)PTR_lang_output_section_statement_lookup_001dbc2c)(*piVar10,0,0);\n    piVar10[2] = local_40;\nLAB_00058960:\n    if (local_40 != 0) goto LAB_00058810;\n  }" { (expression_statement "local_40 = (*(code *)PTR_lang_output_section_statement_lookup_001dbc2c)(*piVar10,0,0);" (assignment_expression "local_40 = (*(code *)PTR_lang_output_section_statement_lookup_001dbc2c)(*piVar10,0,0)" identifier = (call_expression "(*(code *)PTR_lang_output_section_statement_lookup_001dbc2c)(*piVar10,0,0)" (parenthesized_expression "(*(code *)PTR_lang_output_section_statement_lookup_001dbc2c)" ( (pointer_expression "*(code *)PTR_lang_output_section_statement_lookup_001dbc2c" * (cast_expression "(code *)PTR_lang_output_section_statement_lookup_001dbc2c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(*piVar10,0,0)" ( (pointer_expression "*piVar10" * identifier) , number_literal , number_literal )))) ;) (expression_statement "piVar10[2] = local_40;" (assignment_expression "piVar10[2] = local_40" (subscript_expression "piVar10[2]" identifier [ number_literal ]) = identifier) ;) (labeled_statement "LAB_00058960:\n    if (local_40 != 0) goto LAB_00058810;" statement_identifier : (if_statement "if (local_40 != 0) goto LAB_00058810;" if (parenthesized_expression "(local_40 != 0)" ( (binary_expression "local_40 != 0" identifier != number_literal) )) (goto_statement "goto LAB_00058810;" goto statement_identifier ;))) }))) (expression_statement "local_40 = (*(code *)PTR_lang_output_section_find_by_flags_001dbd70)\n                       (param_1,uVar6,piVar10 + 2,PTR__bfd_elf_match_sections_by_type_001dbe14);" (assignment_expression "local_40 = (*(code *)PTR_lang_output_section_find_by_flags_001dbd70)\n                       (param_1,uVar6,piVar10 + 2,PTR__bfd_elf_match_sections_by_type_001dbe14)" identifier = (call_expression "(*(code *)PTR_lang_output_section_find_by_flags_001dbd70)\n                       (param_1,uVar6,piVar10 + 2,PTR__bfd_elf_match_sections_by_type_001dbe14)" (parenthesized_expression "(*(code *)PTR_lang_output_section_find_by_flags_001dbd70)" ( (pointer_expression "*(code *)PTR_lang_output_section_find_by_flags_001dbd70" * (cast_expression "(code *)PTR_lang_output_section_find_by_flags_001dbd70" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(param_1,uVar6,piVar10 + 2,PTR__bfd_elf_match_sections_by_type_001dbe14)" ( identifier , identifier , (binary_expression "piVar10 + 2" identifier + number_literal) , identifier )))) ;) (if_statement "if (local_40 == 0) {\n    local_40 = *(int *)PTR_lang_output_section_statement_001dbbf4;\n  }" if (parenthesized_expression "(local_40 == 0)" ( (binary_expression "local_40 == 0" identifier == number_literal) )) (compound_statement "{\n    local_40 = *(int *)PTR_lang_output_section_statement_001dbbf4;\n  }" { (expression_statement "local_40 = *(int *)PTR_lang_output_section_statement_001dbbf4;" (assignment_expression "local_40 = *(int *)PTR_lang_output_section_statement_001dbbf4" identifier = (pointer_expression "*(int *)PTR_lang_output_section_statement_001dbbf4" * (cast_expression "(int *)PTR_lang_output_section_statement_001dbbf4" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) ;) })) (labeled_statement "LAB_00058810:\n  iVar8 = (*(code *)PTR_lang_insert_orphan_001dbd6c)(param_1,param_2,param_3,local_40,piVar10,0,0);" statement_identifier : (expression_statement "iVar8 = (*(code *)PTR_lang_insert_orphan_001dbd6c)(param_1,param_2,param_3,local_40,piVar10,0,0);" (assignment_expression "iVar8 = (*(code *)PTR_lang_insert_orphan_001dbd6c)(param_1,param_2,param_3,local_40,piVar10,0,0)" identifier = (call_expression "(*(code *)PTR_lang_insert_orphan_001dbd6c)(param_1,param_2,param_3,local_40,piVar10,0,0)" (parenthesized_expression "(*(code *)PTR_lang_insert_orphan_001dbd6c)" ( (pointer_expression "*(code *)PTR_lang_insert_orphan_001dbd6c" * (cast_expression "(code *)PTR_lang_insert_orphan_001dbd6c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(param_1,param_2,param_3,local_40,piVar10,0,0)" ( identifier , identifier , identifier , identifier , identifier , number_literal , number_literal )))) ;)) (return_statement "return iVar8;" return identifier ;) })))
(translation_unit "lang_output_section_statement_type *\ngldelf32ltsmipn32_place_orphan(asection *s,char *secname,int constraint)\n\n{\n  bool bVar1;\n  char cVar2;\n  int iVar3;\n  asection *paVar4;\n  lang_output_section_statement_type *plVar5;\n  lang_output_section_statement_type *plVar6;\n  undefined *puVar7;\n  undefined *puVar8;\n  int iVar9;\n  uint uVar10;\n  bfd *pbVar11;\n  void *pvVar12;\n  bfd_flavour bVar13;\n  flagword fVar14;\n  lang_output_section_statement_type *plVar15;\n  int iVar16;\n  int *piVar17;\n  int iVar18;\n  int *piVar19;\n  int iVar20;\n  int local_44;\n  int local_40;\n  int local_34;\n  \n  puVar7 = PTR_link_info_001db928;\n  bVar13 = s->owner->xvec->flavour;\n  iVar16 = *(int *)(*(int *)(*(int *)(PTR_link_info_001db928 + 0x34) + 4) + 4);\n  if (bVar13 == bfd_target_elf_flavour) {\n    local_44 = *(int *)((int)s->used_by_bfd + 4);\n  }\n  else {\n    local_44 = 0;\n  }\n  if ((*(uint *)PTR_link_info_001db928 & 0xc0000000) == 0x80000000) {\nLAB_00058478:\n    bVar1 = false;\n  }\n  else {\n    if ((-1 < *(int *)(PTR_link_info_001db928 + 4) << 6) || (uVar10 = s->flags, (uVar10 & 1) == 0))\n    {\n      if (bVar13 == bfd_target_elf_flavour) {\n        bVar1 = false;\nLAB_0005886c:\n        if ((iVar16 != 5) || (uVar10 = s->flags, (uVar10 & 1) == 0)) goto LAB_0005847c;\n        pvVar12 = s->used_by_bfd;\n        goto LAB_0005888c;\n      }\n      goto LAB_00058478;\n    }\n    if (bVar13 == bfd_target_elf_flavour) {\n      if (local_44 == 4) {\n        bVar1 = true;\n        secname = PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb14;\n        goto LAB_0005886c;\n      }\n      bVar1 = local_44 == 9;\n      if (bVar1) {\n        secname = PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb44;\n      }\n      if (iVar16 != 5) goto LAB_0005847c;\n      pvVar12 = s->used_by_bfd;\nLAB_0005888c:\n      if (*(int *)((int)pvVar12 + 0xc) << 7 < 0) {\n        plVar6 = *(lang_output_section_statement_type **)PTR_lang_output_section_statement_001dbbf4;\n        if (plVar6 != (lang_output_section_statement_type *)0x0) {\n          do {\n            paVar4 = plVar6->bfd_section;\n            if ((((paVar4 != (asection *)0x0) &&\n                 (paVar4 != (asection *)(PTR__bfd_std_section_001dbf30 + 400))) &&\n                ((*(uint *)((int)paVar4->used_by_bfd + 0xc) & 0x1000000) != 0)) &&\n               ((((uVar10 ^ paVar4->flags) & 0x11b) == 0 &&\n                (*(int *)((int)paVar4->used_by_bfd + 0x2c) == *(int *)((int)pvVar12 + 0x2c)))))\n            goto LAB_000586a0;\n            plVar6 = plVar6->next;\n          } while (plVar6 != (lang_output_section_statement_struct *)0x0);\n        }\n        if ((uVar10 & 0x102) == 0) {\n          secname = PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb38;\n        }\n        else if ((uVar10 & 8) == 0) {\n          secname = PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb20;\n        }\n        else if ((uVar10 & 0x10) == 0) {\n          secname = PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb50;\n        }\n        else {\n          secname = PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb2c;\n        }\n      }\n    }\n    else {\n      iVar3 = (*(code *)PTR_strncmp_001dbe60)\n                        (secname,PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb60,4);\n      if (iVar3 != 0) goto LAB_00058478;\n      if (secname[4] == 'a') {\n        bVar1 = true;\n        secname = PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb14;\n      }\n      else {\n        bVar1 = true;\n        secname = PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb44;\n      }\n    }\n  }\nLAB_0005847c:\n  if ((constraint == 0) &&\n     (plVar6 = (lang_output_section_statement_type *)\n               (*(code *)PTR_lang_output_section_statement_lookup_001dbc2c)(secname,0,0),\n     plVar6 != (lang_output_section_statement_type *)0x0)) {\n    plVar15 = (lang_output_section_statement_type *)0x0;\n    do {\n      while (paVar4 = plVar6->bfd_section, paVar4 == (asection *)0x0) {\n        plVar5 = (lang_output_section_statement_type *)\n                 (*(code *)PTR_next_matching_output_section_statement_001dbd68)(plVar6,0);\n        plVar15 = plVar6;\n        plVar6 = plVar5;\n        if (plVar5 == (lang_output_section_statement_type *)0x0) goto LAB_000587ec;\n      }\n      if (paVar4->flags == 0) goto LAB_000586a0;\n      if (((paVar4->flags ^ s->flags) & 3) == 0) {\n        if ((bVar13 != bfd_target_elf_flavour) || (iVar16 != 5)) goto LAB_000586a0;\n        if ((*(int *)((int)paVar4->used_by_bfd + 0x2c) == *(int *)((int)s->used_by_bfd + 0x2c)) &&\n           (((*(uint *)puVar7 & 0xc0000000) != 0x80000000 ||\n            (((*(uint *)((int)paVar4->used_by_bfd + 0xc) ^ *(uint *)((int)s->used_by_bfd + 0xc)) &\n             0x80000000) == 0)))) {\n          iVar3 = (*(code *)PTR__bfd_elf_match_sections_by_type_001dbe14)\n                            (*(undefined4 *)(puVar7 + 0x34),paVar4,s->owner,s);\n          if (iVar3 != 0) goto LAB_000586a0;\n          if (plVar6->bfd_section == (asection *)0x0) {\n            plVar15 = plVar6;\n          }\n        }\n      }\n      plVar6 = (lang_output_section_statement_type *)\n               (*(code *)PTR_next_matching_output_section_statement_001dbd68)(plVar6,0);\n    } while (plVar6 != (lang_output_section_statement_type *)0x0);\nLAB_000587ec:\n    if (plVar15 != (lang_output_section_statement_type *)0x0) {\n      (*(code *)PTR_lang_add_section_001dbc3c)(&plVar15->children,s,0,plVar15);\n      return plVar15;\n    }\n    constraint = 0x17e;\n  }\n  puVar8 = PTR_DAT_001db8f8;\n  if (*(int *)(PTR_DAT_001db8f8 + -0x3618) == 0) {\n    piVar17 = (int *)(PTR_DAT_001db8f8 + -0x49e0);\n    piVar19 = (int *)(PTR_DAT_001db8f8 + -0x4908);\n    do {\n      if (*piVar17 != 0) {\n        iVar16 = (*(code *)PTR_lang_output_section_statement_lookup_001dbc2c)(*piVar17,0,0);\n        piVar17[2] = iVar16;\n        if ((iVar16 != 0) && (*(int *)(iVar16 + 0x4c) == 0)) {\n          *(int *)(iVar16 + 0x4c) = piVar17[1];\n        }\n      }\n      piVar17 = piVar17 + 6;\n    } while (piVar17 != piVar19);\n    *(undefined4 *)(puVar8 + -0x3618) = 1;\n  }\n  if ((int)*(uint *)puVar7 < 0) {\n    fVar14 = s->flags;\n    if ((*(uint *)puVar7 & 0xc0000000) != 0x80000000) goto LAB_000585fc;\n  }\n  else {\n    iVar16 = (*(code *)PTR_strncmp_001dbe60)\n                       (s->name,PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb78,0xd);\n    if ((iVar16 == 0) &&\n       (plVar6 = *(lang_output_section_statement_type **)(PTR_DAT_001db8f8 + -0x49d8),\n       plVar6 != (lang_output_section_statement_type *)0x0)) {\nLAB_000586a0:\n      (*(code *)PTR_lang_add_section_001dbc3c)(&plVar6->children,s,0,plVar6);\n      return plVar6;\n    }\n    fVar14 = s->flags;\nLAB_000585fc:\n    pbVar11 = s->owner;\n    paVar4 = s;\n    while (paVar4 = (asection *)(*(code *)PTR_bfd_get_next_section_by_name_001dbf68)(pbVar11,paVar4)\n          , paVar4 != (asection *)0x0) {\n      pbVar11 = paVar4->owner;\n      if ((((paVar4->output_section == (bfd_section *)0x0) &&\n           (((paVar4->flags ^ fVar14) & 3) == 0 && (paVar4->flags & 0x8000) == 0)) &&\n          (-1 < *(int *)&pbVar11->field_0x28 << 0x12)) &&\n         ((pbVar11->usrdata != (void *)0x0 &&\n          ((*(ushort *)((int)pbVar11->usrdata + 0x24) & 0x800) == 0)))) {\n        iVar16 = (*(code *)PTR__bfd_elf_match_sections_by_type_001dbe14)(pbVar11,paVar4,s->owner,s);\n        if (iVar16 == 0) {\n          pbVar11 = paVar4->owner;\n        }\n        else {\n          pbVar11 = paVar4->owner;\n          fVar14 = (paVar4->flags ^ 8 | fVar14 ^ 8) ^ 8;\n        }\n      }\n    }\n  }\n  if ((fVar14 & 0x2001) == 0) {\n    piVar17 = (int *)(PTR_DAT_001db8f8 + -0x4920);\n  }\n  else {\n    piVar17 = (int *)0x0;\n    if ((fVar14 & 1) == 0) {\n      local_40 = 0;\n      goto LAB_00058810;\n    }\n    if ((fVar14 & 2) != 0) {\n      if (bVar13 == bfd_target_elf_flavour) {\n        if (local_44 == 7) goto LAB_000589f8;\n      }\n      else {\n        iVar16 = (*(code *)PTR_strncmp_001dbe60)\n                           (secname,PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb68,5);\n        if (iVar16 == 0) {\nLAB_000589f8:\n          piVar17 = (int *)(PTR_DAT_001db8f8 + -0x4950);\n          goto LAB_00058800;\n        }\n      }\n    }\n    if ((fVar14 & 0x502) == 0) {\n      piVar17 = (int *)(PTR_DAT_001db8f8 + -0x4980);\n    }\n    else if ((int)(fVar14 << 9) < 0) {\n      piVar17 = (int *)(PTR_DAT_001db8f8 + -0x4938);\n    }\n    else if ((fVar14 & 0x400) == 0) {\n      if ((fVar14 & 8) == 0) {\n        piVar17 = (int *)(PTR_DAT_001db8f8 + -0x4998);\n      }\n      else {\n        if (bVar13 == bfd_target_elf_flavour) {\n          if ((local_44 == 4) || (local_44 == 9)) goto LAB_000585b8;\n        }\n        else {\n          iVar16 = (*(code *)PTR_strncmp_001dbe60)\n                             (secname,PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb60,4);\n          if (iVar16 == 0) {\nLAB_000585b8:\n            if ((fVar14 & 2) != 0) {\n              piVar17 = (int *)(PTR_DAT_001db8f8 + -0x4968);\n              goto LAB_00058800;\n            }\n          }\n        }\n        if ((fVar14 & 0x10) == 0) {\n          piVar17 = (int *)(PTR_DAT_001db8f8 + -0x49c8);\n        }\n        else {\n          piVar17 = (int *)(PTR_DAT_001db8f8 + -0x49e0);\n        }\n      }\n    }\n    else {\n      piVar17 = (int *)(PTR_DAT_001db8f8 + -0x49b0);\n    }\n  }\nLAB_00058800:\n  local_40 = piVar17[2];\n  if (local_40 != 0) goto LAB_00058810;\n  if (*piVar17 == 0) {\n    cVar2 = s->name[4];\n    if (*(int *)PTR_lang_output_section_statement_001dbbf4 != 0) {\n      local_44 = 0;\n      local_40 = 0;\n      puVar7 = PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb60;\n      local_34 = 0;\n      puVar8 = PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb70;\n      iVar16 = 0;\n      iVar3 = 0;\n      iVar9 = *(int *)PTR_lang_output_section_statement_001dbbf4;\n      do {\n        iVar20 = iVar9;\n        if (*(int *)(iVar20 + 0x48) < 0) {\nLAB_00058a98:\n          if (*(int *)(iVar20 + 0x1c) != 0) {\n            uVar10 = *(uint *)(*(int *)(iVar20 + 0x1c) + 0x14);\n            iVar9 = iVar3;\njoined_r0x00058aac:\n            if (((uVar10 & 1) != 0) && (iVar3 = iVar9, local_34 = iVar20, (uVar10 & 8) != 0)) {\n              local_40 = iVar20;\n            }\n          }\n        }\n        else {\n          iVar18 = *(int *)(iVar20 + 0x18);\n          iVar9 = (*(code *)PTR_strncmp_001dbe60)(iVar18,puVar7,4);\n          if (iVar9 != 0) goto LAB_00058a98;\n          uVar10 = (uint)(*(char *)(iVar18 + 4) == 'a');\n          if ((bVar1) ||\n             (iVar9 = (*(code *)PTR_strcmp_001dc144)(puVar8,iVar18 + uVar10 + 4), iVar9 == 0))\n          break;\n          iVar9 = iVar20;\n          if ((cVar2 == 'a') != uVar10) {\n            if (iVar16 == 0) {\n              iVar16 = iVar20;\n            }\n            iVar9 = iVar16;\n            if (iVar3 != 0) goto LAB_00058a98;\n          }\n          iVar16 = iVar9;\n          if (*(int *)(iVar20 + 0x1c) != 0) {\n            uVar10 = *(uint *)(*(int *)(iVar20 + 0x1c) + 0x14);\n            iVar9 = iVar20;\n            goto joined_r0x00058aac;\n          }\n        }\n        local_44 = iVar20;\n        iVar9 = *(int *)(iVar20 + 0x10);\n      } while (*(int *)(iVar20 + 0x10) != 0);\n      if (iVar3 == 0) {\n        if (iVar16 == 0) {\n          if (local_40 == 0) {\n            local_40 = local_34;\n            if (local_34 == 0) {\n              local_40 = local_44;\n            }\n            piVar17[2] = local_40;\n          }\n          else {\n            piVar17[2] = local_40;\n          }\n        }\n        else {\n          piVar17[2] = iVar16;\n          local_40 = iVar16;\n        }\n      }\n      else {\n        piVar17[2] = iVar3;\n        local_40 = iVar3;\n      }\n      goto LAB_00058960;\n    }\n  }\n  else {\n    local_40 = (*(code *)PTR_lang_output_section_statement_lookup_001dbc2c)(*piVar17,0,0);\n    piVar17[2] = local_40;\nLAB_00058960:\n    if (local_40 != 0) goto LAB_00058810;\n  }\n  local_40 = (*(code *)PTR_lang_output_section_find_by_flags_001dbd70)\n                       (s,fVar14,piVar17 + 2,PTR__bfd_elf_match_sections_by_type_001dbe14);\n  if (local_40 == 0) {\n    local_40 = *(int *)PTR_lang_output_section_statement_001dbbf4;\n  }\nLAB_00058810:\n  plVar6 = (lang_output_section_statement_type *)\n           (*(code *)PTR_lang_insert_orphan_001dbd6c)(s,secname,constraint,local_40,piVar17,0,0);\n  return plVar6;\n}\n\n" (function_definition "lang_output_section_statement_type *\ngldelf32ltsmipn32_place_orphan(asection *s,char *secname,int constraint)\n\n{\n  bool bVar1;\n  char cVar2;\n  int iVar3;\n  asection *paVar4;\n  lang_output_section_statement_type *plVar5;\n  lang_output_section_statement_type *plVar6;\n  undefined *puVar7;\n  undefined *puVar8;\n  int iVar9;\n  uint uVar10;\n  bfd *pbVar11;\n  void *pvVar12;\n  bfd_flavour bVar13;\n  flagword fVar14;\n  lang_output_section_statement_type *plVar15;\n  int iVar16;\n  int *piVar17;\n  int iVar18;\n  int *piVar19;\n  int iVar20;\n  int local_44;\n  int local_40;\n  int local_34;\n  \n  puVar7 = PTR_link_info_001db928;\n  bVar13 = s->owner->xvec->flavour;\n  iVar16 = *(int *)(*(int *)(*(int *)(PTR_link_info_001db928 + 0x34) + 4) + 4);\n  if (bVar13 == bfd_target_elf_flavour) {\n    local_44 = *(int *)((int)s->used_by_bfd + 4);\n  }\n  else {\n    local_44 = 0;\n  }\n  if ((*(uint *)PTR_link_info_001db928 & 0xc0000000) == 0x80000000) {\nLAB_00058478:\n    bVar1 = false;\n  }\n  else {\n    if ((-1 < *(int *)(PTR_link_info_001db928 + 4) << 6) || (uVar10 = s->flags, (uVar10 & 1) == 0))\n    {\n      if (bVar13 == bfd_target_elf_flavour) {\n        bVar1 = false;\nLAB_0005886c:\n        if ((iVar16 != 5) || (uVar10 = s->flags, (uVar10 & 1) == 0)) goto LAB_0005847c;\n        pvVar12 = s->used_by_bfd;\n        goto LAB_0005888c;\n      }\n      goto LAB_00058478;\n    }\n    if (bVar13 == bfd_target_elf_flavour) {\n      if (local_44 == 4) {\n        bVar1 = true;\n        secname = PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb14;\n        goto LAB_0005886c;\n      }\n      bVar1 = local_44 == 9;\n      if (bVar1) {\n        secname = PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb44;\n      }\n      if (iVar16 != 5) goto LAB_0005847c;\n      pvVar12 = s->used_by_bfd;\nLAB_0005888c:\n      if (*(int *)((int)pvVar12 + 0xc) << 7 < 0) {\n        plVar6 = *(lang_output_section_statement_type **)PTR_lang_output_section_statement_001dbbf4;\n        if (plVar6 != (lang_output_section_statement_type *)0x0) {\n          do {\n            paVar4 = plVar6->bfd_section;\n            if ((((paVar4 != (asection *)0x0) &&\n                 (paVar4 != (asection *)(PTR__bfd_std_section_001dbf30 + 400))) &&\n                ((*(uint *)((int)paVar4->used_by_bfd + 0xc) & 0x1000000) != 0)) &&\n               ((((uVar10 ^ paVar4->flags) & 0x11b) == 0 &&\n                (*(int *)((int)paVar4->used_by_bfd + 0x2c) == *(int *)((int)pvVar12 + 0x2c)))))\n            goto LAB_000586a0;\n            plVar6 = plVar6->next;\n          } while (plVar6 != (lang_output_section_statement_struct *)0x0);\n        }\n        if ((uVar10 & 0x102) == 0) {\n          secname = PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb38;\n        }\n        else if ((uVar10 & 8) == 0) {\n          secname = PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb20;\n        }\n        else if ((uVar10 & 0x10) == 0) {\n          secname = PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb50;\n        }\n        else {\n          secname = PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb2c;\n        }\n      }\n    }\n    else {\n      iVar3 = (*(code *)PTR_strncmp_001dbe60)\n                        (secname,PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb60,4);\n      if (iVar3 != 0) goto LAB_00058478;\n      if (secname[4] == 'a') {\n        bVar1 = true;\n        secname = PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb14;\n      }\n      else {\n        bVar1 = true;\n        secname = PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb44;\n      }\n    }\n  }\nLAB_0005847c:\n  if ((constraint == 0) &&\n     (plVar6 = (lang_output_section_statement_type *)\n               (*(code *)PTR_lang_output_section_statement_lookup_001dbc2c)(secname,0,0),\n     plVar6 != (lang_output_section_statement_type *)0x0)) {\n    plVar15 = (lang_output_section_statement_type *)0x0;\n    do {\n      while (paVar4 = plVar6->bfd_section, paVar4 == (asection *)0x0) {\n        plVar5 = (lang_output_section_statement_type *)\n                 (*(code *)PTR_next_matching_output_section_statement_001dbd68)(plVar6,0);\n        plVar15 = plVar6;\n        plVar6 = plVar5;\n        if (plVar5 == (lang_output_section_statement_type *)0x0) goto LAB_000587ec;\n      }\n      if (paVar4->flags == 0) goto LAB_000586a0;\n      if (((paVar4->flags ^ s->flags) & 3) == 0) {\n        if ((bVar13 != bfd_target_elf_flavour) || (iVar16 != 5)) goto LAB_000586a0;\n        if ((*(int *)((int)paVar4->used_by_bfd + 0x2c) == *(int *)((int)s->used_by_bfd + 0x2c)) &&\n           (((*(uint *)puVar7 & 0xc0000000) != 0x80000000 ||\n            (((*(uint *)((int)paVar4->used_by_bfd + 0xc) ^ *(uint *)((int)s->used_by_bfd + 0xc)) &\n             0x80000000) == 0)))) {\n          iVar3 = (*(code *)PTR__bfd_elf_match_sections_by_type_001dbe14)\n                            (*(undefined4 *)(puVar7 + 0x34),paVar4,s->owner,s);\n          if (iVar3 != 0) goto LAB_000586a0;\n          if (plVar6->bfd_section == (asection *)0x0) {\n            plVar15 = plVar6;\n          }\n        }\n      }\n      plVar6 = (lang_output_section_statement_type *)\n               (*(code *)PTR_next_matching_output_section_statement_001dbd68)(plVar6,0);\n    } while (plVar6 != (lang_output_section_statement_type *)0x0);\nLAB_000587ec:\n    if (plVar15 != (lang_output_section_statement_type *)0x0) {\n      (*(code *)PTR_lang_add_section_001dbc3c)(&plVar15->children,s,0,plVar15);\n      return plVar15;\n    }\n    constraint = 0x17e;\n  }\n  puVar8 = PTR_DAT_001db8f8;\n  if (*(int *)(PTR_DAT_001db8f8 + -0x3618) == 0) {\n    piVar17 = (int *)(PTR_DAT_001db8f8 + -0x49e0);\n    piVar19 = (int *)(PTR_DAT_001db8f8 + -0x4908);\n    do {\n      if (*piVar17 != 0) {\n        iVar16 = (*(code *)PTR_lang_output_section_statement_lookup_001dbc2c)(*piVar17,0,0);\n        piVar17[2] = iVar16;\n        if ((iVar16 != 0) && (*(int *)(iVar16 + 0x4c) == 0)) {\n          *(int *)(iVar16 + 0x4c) = piVar17[1];\n        }\n      }\n      piVar17 = piVar17 + 6;\n    } while (piVar17 != piVar19);\n    *(undefined4 *)(puVar8 + -0x3618) = 1;\n  }\n  if ((int)*(uint *)puVar7 < 0) {\n    fVar14 = s->flags;\n    if ((*(uint *)puVar7 & 0xc0000000) != 0x80000000) goto LAB_000585fc;\n  }\n  else {\n    iVar16 = (*(code *)PTR_strncmp_001dbe60)\n                       (s->name,PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb78,0xd);\n    if ((iVar16 == 0) &&\n       (plVar6 = *(lang_output_section_statement_type **)(PTR_DAT_001db8f8 + -0x49d8),\n       plVar6 != (lang_output_section_statement_type *)0x0)) {\nLAB_000586a0:\n      (*(code *)PTR_lang_add_section_001dbc3c)(&plVar6->children,s,0,plVar6);\n      return plVar6;\n    }\n    fVar14 = s->flags;\nLAB_000585fc:\n    pbVar11 = s->owner;\n    paVar4 = s;\n    while (paVar4 = (asection *)(*(code *)PTR_bfd_get_next_section_by_name_001dbf68)(pbVar11,paVar4)\n          , paVar4 != (asection *)0x0) {\n      pbVar11 = paVar4->owner;\n      if ((((paVar4->output_section == (bfd_section *)0x0) &&\n           (((paVar4->flags ^ fVar14) & 3) == 0 && (paVar4->flags & 0x8000) == 0)) &&\n          (-1 < *(int *)&pbVar11->field_0x28 << 0x12)) &&\n         ((pbVar11->usrdata != (void *)0x0 &&\n          ((*(ushort *)((int)pbVar11->usrdata + 0x24) & 0x800) == 0)))) {\n        iVar16 = (*(code *)PTR__bfd_elf_match_sections_by_type_001dbe14)(pbVar11,paVar4,s->owner,s);\n        if (iVar16 == 0) {\n          pbVar11 = paVar4->owner;\n        }\n        else {\n          pbVar11 = paVar4->owner;\n          fVar14 = (paVar4->flags ^ 8 | fVar14 ^ 8) ^ 8;\n        }\n      }\n    }\n  }\n  if ((fVar14 & 0x2001) == 0) {\n    piVar17 = (int *)(PTR_DAT_001db8f8 + -0x4920);\n  }\n  else {\n    piVar17 = (int *)0x0;\n    if ((fVar14 & 1) == 0) {\n      local_40 = 0;\n      goto LAB_00058810;\n    }\n    if ((fVar14 & 2) != 0) {\n      if (bVar13 == bfd_target_elf_flavour) {\n        if (local_44 == 7) goto LAB_000589f8;\n      }\n      else {\n        iVar16 = (*(code *)PTR_strncmp_001dbe60)\n                           (secname,PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb68,5);\n        if (iVar16 == 0) {\nLAB_000589f8:\n          piVar17 = (int *)(PTR_DAT_001db8f8 + -0x4950);\n          goto LAB_00058800;\n        }\n      }\n    }\n    if ((fVar14 & 0x502) == 0) {\n      piVar17 = (int *)(PTR_DAT_001db8f8 + -0x4980);\n    }\n    else if ((int)(fVar14 << 9) < 0) {\n      piVar17 = (int *)(PTR_DAT_001db8f8 + -0x4938);\n    }\n    else if ((fVar14 & 0x400) == 0) {\n      if ((fVar14 & 8) == 0) {\n        piVar17 = (int *)(PTR_DAT_001db8f8 + -0x4998);\n      }\n      else {\n        if (bVar13 == bfd_target_elf_flavour) {\n          if ((local_44 == 4) || (local_44 == 9)) goto LAB_000585b8;\n        }\n        else {\n          iVar16 = (*(code *)PTR_strncmp_001dbe60)\n                             (secname,PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb60,4);\n          if (iVar16 == 0) {\nLAB_000585b8:\n            if ((fVar14 & 2) != 0) {\n              piVar17 = (int *)(PTR_DAT_001db8f8 + -0x4968);\n              goto LAB_00058800;\n            }\n          }\n        }\n        if ((fVar14 & 0x10) == 0) {\n          piVar17 = (int *)(PTR_DAT_001db8f8 + -0x49c8);\n        }\n        else {\n          piVar17 = (int *)(PTR_DAT_001db8f8 + -0x49e0);\n        }\n      }\n    }\n    else {\n      piVar17 = (int *)(PTR_DAT_001db8f8 + -0x49b0);\n    }\n  }\nLAB_00058800:\n  local_40 = piVar17[2];\n  if (local_40 != 0) goto LAB_00058810;\n  if (*piVar17 == 0) {\n    cVar2 = s->name[4];\n    if (*(int *)PTR_lang_output_section_statement_001dbbf4 != 0) {\n      local_44 = 0;\n      local_40 = 0;\n      puVar7 = PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb60;\n      local_34 = 0;\n      puVar8 = PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb70;\n      iVar16 = 0;\n      iVar3 = 0;\n      iVar9 = *(int *)PTR_lang_output_section_statement_001dbbf4;\n      do {\n        iVar20 = iVar9;\n        if (*(int *)(iVar20 + 0x48) < 0) {\nLAB_00058a98:\n          if (*(int *)(iVar20 + 0x1c) != 0) {\n            uVar10 = *(uint *)(*(int *)(iVar20 + 0x1c) + 0x14);\n            iVar9 = iVar3;\njoined_r0x00058aac:\n            if (((uVar10 & 1) != 0) && (iVar3 = iVar9, local_34 = iVar20, (uVar10 & 8) != 0)) {\n              local_40 = iVar20;\n            }\n          }\n        }\n        else {\n          iVar18 = *(int *)(iVar20 + 0x18);\n          iVar9 = (*(code *)PTR_strncmp_001dbe60)(iVar18,puVar7,4);\n          if (iVar9 != 0) goto LAB_00058a98;\n          uVar10 = (uint)(*(char *)(iVar18 + 4) == 'a');\n          if ((bVar1) ||\n             (iVar9 = (*(code *)PTR_strcmp_001dc144)(puVar8,iVar18 + uVar10 + 4), iVar9 == 0))\n          break;\n          iVar9 = iVar20;\n          if ((cVar2 == 'a') != uVar10) {\n            if (iVar16 == 0) {\n              iVar16 = iVar20;\n            }\n            iVar9 = iVar16;\n            if (iVar3 != 0) goto LAB_00058a98;\n          }\n          iVar16 = iVar9;\n          if (*(int *)(iVar20 + 0x1c) != 0) {\n            uVar10 = *(uint *)(*(int *)(iVar20 + 0x1c) + 0x14);\n            iVar9 = iVar20;\n            goto joined_r0x00058aac;\n          }\n        }\n        local_44 = iVar20;\n        iVar9 = *(int *)(iVar20 + 0x10);\n      } while (*(int *)(iVar20 + 0x10) != 0);\n      if (iVar3 == 0) {\n        if (iVar16 == 0) {\n          if (local_40 == 0) {\n            local_40 = local_34;\n            if (local_34 == 0) {\n              local_40 = local_44;\n            }\n            piVar17[2] = local_40;\n          }\n          else {\n            piVar17[2] = local_40;\n          }\n        }\n        else {\n          piVar17[2] = iVar16;\n          local_40 = iVar16;\n        }\n      }\n      else {\n        piVar17[2] = iVar3;\n        local_40 = iVar3;\n      }\n      goto LAB_00058960;\n    }\n  }\n  else {\n    local_40 = (*(code *)PTR_lang_output_section_statement_lookup_001dbc2c)(*piVar17,0,0);\n    piVar17[2] = local_40;\nLAB_00058960:\n    if (local_40 != 0) goto LAB_00058810;\n  }\n  local_40 = (*(code *)PTR_lang_output_section_find_by_flags_001dbd70)\n                       (s,fVar14,piVar17 + 2,PTR__bfd_elf_match_sections_by_type_001dbe14);\n  if (local_40 == 0) {\n    local_40 = *(int *)PTR_lang_output_section_statement_001dbbf4;\n  }\nLAB_00058810:\n  plVar6 = (lang_output_section_statement_type *)\n           (*(code *)PTR_lang_insert_orphan_001dbd6c)(s,secname,constraint,local_40,piVar17,0,0);\n  return plVar6;\n}" type_identifier (pointer_declarator "*\ngldelf32ltsmipn32_place_orphan(asection *s,char *secname,int constraint)" * (function_declarator "gldelf32ltsmipn32_place_orphan(asection *s,char *secname,int constraint)" identifier (parameter_list "(asection *s,char *secname,int constraint)" ( (parameter_declaration "asection *s" type_identifier (pointer_declarator "*s" * identifier)) , (parameter_declaration "char *secname" primitive_type (pointer_declarator "*secname" * identifier)) , (parameter_declaration "int constraint" primitive_type identifier) )))) (compound_statement "{\n  bool bVar1;\n  char cVar2;\n  int iVar3;\n  asection *paVar4;\n  lang_output_section_statement_type *plVar5;\n  lang_output_section_statement_type *plVar6;\n  undefined *puVar7;\n  undefined *puVar8;\n  int iVar9;\n  uint uVar10;\n  bfd *pbVar11;\n  void *pvVar12;\n  bfd_flavour bVar13;\n  flagword fVar14;\n  lang_output_section_statement_type *plVar15;\n  int iVar16;\n  int *piVar17;\n  int iVar18;\n  int *piVar19;\n  int iVar20;\n  int local_44;\n  int local_40;\n  int local_34;\n  \n  puVar7 = PTR_link_info_001db928;\n  bVar13 = s->owner->xvec->flavour;\n  iVar16 = *(int *)(*(int *)(*(int *)(PTR_link_info_001db928 + 0x34) + 4) + 4);\n  if (bVar13 == bfd_target_elf_flavour) {\n    local_44 = *(int *)((int)s->used_by_bfd + 4);\n  }\n  else {\n    local_44 = 0;\n  }\n  if ((*(uint *)PTR_link_info_001db928 & 0xc0000000) == 0x80000000) {\nLAB_00058478:\n    bVar1 = false;\n  }\n  else {\n    if ((-1 < *(int *)(PTR_link_info_001db928 + 4) << 6) || (uVar10 = s->flags, (uVar10 & 1) == 0))\n    {\n      if (bVar13 == bfd_target_elf_flavour) {\n        bVar1 = false;\nLAB_0005886c:\n        if ((iVar16 != 5) || (uVar10 = s->flags, (uVar10 & 1) == 0)) goto LAB_0005847c;\n        pvVar12 = s->used_by_bfd;\n        goto LAB_0005888c;\n      }\n      goto LAB_00058478;\n    }\n    if (bVar13 == bfd_target_elf_flavour) {\n      if (local_44 == 4) {\n        bVar1 = true;\n        secname = PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb14;\n        goto LAB_0005886c;\n      }\n      bVar1 = local_44 == 9;\n      if (bVar1) {\n        secname = PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb44;\n      }\n      if (iVar16 != 5) goto LAB_0005847c;\n      pvVar12 = s->used_by_bfd;\nLAB_0005888c:\n      if (*(int *)((int)pvVar12 + 0xc) << 7 < 0) {\n        plVar6 = *(lang_output_section_statement_type **)PTR_lang_output_section_statement_001dbbf4;\n        if (plVar6 != (lang_output_section_statement_type *)0x0) {\n          do {\n            paVar4 = plVar6->bfd_section;\n            if ((((paVar4 != (asection *)0x0) &&\n                 (paVar4 != (asection *)(PTR__bfd_std_section_001dbf30 + 400))) &&\n                ((*(uint *)((int)paVar4->used_by_bfd + 0xc) & 0x1000000) != 0)) &&\n               ((((uVar10 ^ paVar4->flags) & 0x11b) == 0 &&\n                (*(int *)((int)paVar4->used_by_bfd + 0x2c) == *(int *)((int)pvVar12 + 0x2c)))))\n            goto LAB_000586a0;\n            plVar6 = plVar6->next;\n          } while (plVar6 != (lang_output_section_statement_struct *)0x0);\n        }\n        if ((uVar10 & 0x102) == 0) {\n          secname = PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb38;\n        }\n        else if ((uVar10 & 8) == 0) {\n          secname = PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb20;\n        }\n        else if ((uVar10 & 0x10) == 0) {\n          secname = PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb50;\n        }\n        else {\n          secname = PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb2c;\n        }\n      }\n    }\n    else {\n      iVar3 = (*(code *)PTR_strncmp_001dbe60)\n                        (secname,PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb60,4);\n      if (iVar3 != 0) goto LAB_00058478;\n      if (secname[4] == 'a') {\n        bVar1 = true;\n        secname = PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb14;\n      }\n      else {\n        bVar1 = true;\n        secname = PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb44;\n      }\n    }\n  }\nLAB_0005847c:\n  if ((constraint == 0) &&\n     (plVar6 = (lang_output_section_statement_type *)\n               (*(code *)PTR_lang_output_section_statement_lookup_001dbc2c)(secname,0,0),\n     plVar6 != (lang_output_section_statement_type *)0x0)) {\n    plVar15 = (lang_output_section_statement_type *)0x0;\n    do {\n      while (paVar4 = plVar6->bfd_section, paVar4 == (asection *)0x0) {\n        plVar5 = (lang_output_section_statement_type *)\n                 (*(code *)PTR_next_matching_output_section_statement_001dbd68)(plVar6,0);\n        plVar15 = plVar6;\n        plVar6 = plVar5;\n        if (plVar5 == (lang_output_section_statement_type *)0x0) goto LAB_000587ec;\n      }\n      if (paVar4->flags == 0) goto LAB_000586a0;\n      if (((paVar4->flags ^ s->flags) & 3) == 0) {\n        if ((bVar13 != bfd_target_elf_flavour) || (iVar16 != 5)) goto LAB_000586a0;\n        if ((*(int *)((int)paVar4->used_by_bfd + 0x2c) == *(int *)((int)s->used_by_bfd + 0x2c)) &&\n           (((*(uint *)puVar7 & 0xc0000000) != 0x80000000 ||\n            (((*(uint *)((int)paVar4->used_by_bfd + 0xc) ^ *(uint *)((int)s->used_by_bfd + 0xc)) &\n             0x80000000) == 0)))) {\n          iVar3 = (*(code *)PTR__bfd_elf_match_sections_by_type_001dbe14)\n                            (*(undefined4 *)(puVar7 + 0x34),paVar4,s->owner,s);\n          if (iVar3 != 0) goto LAB_000586a0;\n          if (plVar6->bfd_section == (asection *)0x0) {\n            plVar15 = plVar6;\n          }\n        }\n      }\n      plVar6 = (lang_output_section_statement_type *)\n               (*(code *)PTR_next_matching_output_section_statement_001dbd68)(plVar6,0);\n    } while (plVar6 != (lang_output_section_statement_type *)0x0);\nLAB_000587ec:\n    if (plVar15 != (lang_output_section_statement_type *)0x0) {\n      (*(code *)PTR_lang_add_section_001dbc3c)(&plVar15->children,s,0,plVar15);\n      return plVar15;\n    }\n    constraint = 0x17e;\n  }\n  puVar8 = PTR_DAT_001db8f8;\n  if (*(int *)(PTR_DAT_001db8f8 + -0x3618) == 0) {\n    piVar17 = (int *)(PTR_DAT_001db8f8 + -0x49e0);\n    piVar19 = (int *)(PTR_DAT_001db8f8 + -0x4908);\n    do {\n      if (*piVar17 != 0) {\n        iVar16 = (*(code *)PTR_lang_output_section_statement_lookup_001dbc2c)(*piVar17,0,0);\n        piVar17[2] = iVar16;\n        if ((iVar16 != 0) && (*(int *)(iVar16 + 0x4c) == 0)) {\n          *(int *)(iVar16 + 0x4c) = piVar17[1];\n        }\n      }\n      piVar17 = piVar17 + 6;\n    } while (piVar17 != piVar19);\n    *(undefined4 *)(puVar8 + -0x3618) = 1;\n  }\n  if ((int)*(uint *)puVar7 < 0) {\n    fVar14 = s->flags;\n    if ((*(uint *)puVar7 & 0xc0000000) != 0x80000000) goto LAB_000585fc;\n  }\n  else {\n    iVar16 = (*(code *)PTR_strncmp_001dbe60)\n                       (s->name,PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb78,0xd);\n    if ((iVar16 == 0) &&\n       (plVar6 = *(lang_output_section_statement_type **)(PTR_DAT_001db8f8 + -0x49d8),\n       plVar6 != (lang_output_section_statement_type *)0x0)) {\nLAB_000586a0:\n      (*(code *)PTR_lang_add_section_001dbc3c)(&plVar6->children,s,0,plVar6);\n      return plVar6;\n    }\n    fVar14 = s->flags;\nLAB_000585fc:\n    pbVar11 = s->owner;\n    paVar4 = s;\n    while (paVar4 = (asection *)(*(code *)PTR_bfd_get_next_section_by_name_001dbf68)(pbVar11,paVar4)\n          , paVar4 != (asection *)0x0) {\n      pbVar11 = paVar4->owner;\n      if ((((paVar4->output_section == (bfd_section *)0x0) &&\n           (((paVar4->flags ^ fVar14) & 3) == 0 && (paVar4->flags & 0x8000) == 0)) &&\n          (-1 < *(int *)&pbVar11->field_0x28 << 0x12)) &&\n         ((pbVar11->usrdata != (void *)0x0 &&\n          ((*(ushort *)((int)pbVar11->usrdata + 0x24) & 0x800) == 0)))) {\n        iVar16 = (*(code *)PTR__bfd_elf_match_sections_by_type_001dbe14)(pbVar11,paVar4,s->owner,s);\n        if (iVar16 == 0) {\n          pbVar11 = paVar4->owner;\n        }\n        else {\n          pbVar11 = paVar4->owner;\n          fVar14 = (paVar4->flags ^ 8 | fVar14 ^ 8) ^ 8;\n        }\n      }\n    }\n  }\n  if ((fVar14 & 0x2001) == 0) {\n    piVar17 = (int *)(PTR_DAT_001db8f8 + -0x4920);\n  }\n  else {\n    piVar17 = (int *)0x0;\n    if ((fVar14 & 1) == 0) {\n      local_40 = 0;\n      goto LAB_00058810;\n    }\n    if ((fVar14 & 2) != 0) {\n      if (bVar13 == bfd_target_elf_flavour) {\n        if (local_44 == 7) goto LAB_000589f8;\n      }\n      else {\n        iVar16 = (*(code *)PTR_strncmp_001dbe60)\n                           (secname,PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb68,5);\n        if (iVar16 == 0) {\nLAB_000589f8:\n          piVar17 = (int *)(PTR_DAT_001db8f8 + -0x4950);\n          goto LAB_00058800;\n        }\n      }\n    }\n    if ((fVar14 & 0x502) == 0) {\n      piVar17 = (int *)(PTR_DAT_001db8f8 + -0x4980);\n    }\n    else if ((int)(fVar14 << 9) < 0) {\n      piVar17 = (int *)(PTR_DAT_001db8f8 + -0x4938);\n    }\n    else if ((fVar14 & 0x400) == 0) {\n      if ((fVar14 & 8) == 0) {\n        piVar17 = (int *)(PTR_DAT_001db8f8 + -0x4998);\n      }\n      else {\n        if (bVar13 == bfd_target_elf_flavour) {\n          if ((local_44 == 4) || (local_44 == 9)) goto LAB_000585b8;\n        }\n        else {\n          iVar16 = (*(code *)PTR_strncmp_001dbe60)\n                             (secname,PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb60,4);\n          if (iVar16 == 0) {\nLAB_000585b8:\n            if ((fVar14 & 2) != 0) {\n              piVar17 = (int *)(PTR_DAT_001db8f8 + -0x4968);\n              goto LAB_00058800;\n            }\n          }\n        }\n        if ((fVar14 & 0x10) == 0) {\n          piVar17 = (int *)(PTR_DAT_001db8f8 + -0x49c8);\n        }\n        else {\n          piVar17 = (int *)(PTR_DAT_001db8f8 + -0x49e0);\n        }\n      }\n    }\n    else {\n      piVar17 = (int *)(PTR_DAT_001db8f8 + -0x49b0);\n    }\n  }\nLAB_00058800:\n  local_40 = piVar17[2];\n  if (local_40 != 0) goto LAB_00058810;\n  if (*piVar17 == 0) {\n    cVar2 = s->name[4];\n    if (*(int *)PTR_lang_output_section_statement_001dbbf4 != 0) {\n      local_44 = 0;\n      local_40 = 0;\n      puVar7 = PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb60;\n      local_34 = 0;\n      puVar8 = PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb70;\n      iVar16 = 0;\n      iVar3 = 0;\n      iVar9 = *(int *)PTR_lang_output_section_statement_001dbbf4;\n      do {\n        iVar20 = iVar9;\n        if (*(int *)(iVar20 + 0x48) < 0) {\nLAB_00058a98:\n          if (*(int *)(iVar20 + 0x1c) != 0) {\n            uVar10 = *(uint *)(*(int *)(iVar20 + 0x1c) + 0x14);\n            iVar9 = iVar3;\njoined_r0x00058aac:\n            if (((uVar10 & 1) != 0) && (iVar3 = iVar9, local_34 = iVar20, (uVar10 & 8) != 0)) {\n              local_40 = iVar20;\n            }\n          }\n        }\n        else {\n          iVar18 = *(int *)(iVar20 + 0x18);\n          iVar9 = (*(code *)PTR_strncmp_001dbe60)(iVar18,puVar7,4);\n          if (iVar9 != 0) goto LAB_00058a98;\n          uVar10 = (uint)(*(char *)(iVar18 + 4) == 'a');\n          if ((bVar1) ||\n             (iVar9 = (*(code *)PTR_strcmp_001dc144)(puVar8,iVar18 + uVar10 + 4), iVar9 == 0))\n          break;\n          iVar9 = iVar20;\n          if ((cVar2 == 'a') != uVar10) {\n            if (iVar16 == 0) {\n              iVar16 = iVar20;\n            }\n            iVar9 = iVar16;\n            if (iVar3 != 0) goto LAB_00058a98;\n          }\n          iVar16 = iVar9;\n          if (*(int *)(iVar20 + 0x1c) != 0) {\n            uVar10 = *(uint *)(*(int *)(iVar20 + 0x1c) + 0x14);\n            iVar9 = iVar20;\n            goto joined_r0x00058aac;\n          }\n        }\n        local_44 = iVar20;\n        iVar9 = *(int *)(iVar20 + 0x10);\n      } while (*(int *)(iVar20 + 0x10) != 0);\n      if (iVar3 == 0) {\n        if (iVar16 == 0) {\n          if (local_40 == 0) {\n            local_40 = local_34;\n            if (local_34 == 0) {\n              local_40 = local_44;\n            }\n            piVar17[2] = local_40;\n          }\n          else {\n            piVar17[2] = local_40;\n          }\n        }\n        else {\n          piVar17[2] = iVar16;\n          local_40 = iVar16;\n        }\n      }\n      else {\n        piVar17[2] = iVar3;\n        local_40 = iVar3;\n      }\n      goto LAB_00058960;\n    }\n  }\n  else {\n    local_40 = (*(code *)PTR_lang_output_section_statement_lookup_001dbc2c)(*piVar17,0,0);\n    piVar17[2] = local_40;\nLAB_00058960:\n    if (local_40 != 0) goto LAB_00058810;\n  }\n  local_40 = (*(code *)PTR_lang_output_section_find_by_flags_001dbd70)\n                       (s,fVar14,piVar17 + 2,PTR__bfd_elf_match_sections_by_type_001dbe14);\n  if (local_40 == 0) {\n    local_40 = *(int *)PTR_lang_output_section_statement_001dbbf4;\n  }\nLAB_00058810:\n  plVar6 = (lang_output_section_statement_type *)\n           (*(code *)PTR_lang_insert_orphan_001dbd6c)(s,secname,constraint,local_40,piVar17,0,0);\n  return plVar6;\n}" { (declaration "bool bVar1;" primitive_type identifier ;) (declaration "char cVar2;" primitive_type identifier ;) (declaration "int iVar3;" primitive_type identifier ;) (declaration "asection *paVar4;" type_identifier (pointer_declarator "*paVar4" * identifier) ;) (declaration "lang_output_section_statement_type *plVar5;" type_identifier (pointer_declarator "*plVar5" * identifier) ;) (declaration "lang_output_section_statement_type *plVar6;" type_identifier (pointer_declarator "*plVar6" * identifier) ;) (declaration "undefined *puVar7;" type_identifier (pointer_declarator "*puVar7" * identifier) ;) (declaration "undefined *puVar8;" type_identifier (pointer_declarator "*puVar8" * identifier) ;) (declaration "int iVar9;" primitive_type identifier ;) (declaration "uint uVar10;" type_identifier identifier ;) (declaration "bfd *pbVar11;" type_identifier (pointer_declarator "*pbVar11" * identifier) ;) (declaration "void *pvVar12;" primitive_type (pointer_declarator "*pvVar12" * identifier) ;) (declaration "bfd_flavour bVar13;" type_identifier identifier ;) (declaration "flagword fVar14;" type_identifier identifier ;) (declaration "lang_output_section_statement_type *plVar15;" type_identifier (pointer_declarator "*plVar15" * identifier) ;) (declaration "int iVar16;" primitive_type identifier ;) (declaration "int *piVar17;" primitive_type (pointer_declarator "*piVar17" * identifier) ;) (declaration "int iVar18;" primitive_type identifier ;) (declaration "int *piVar19;" primitive_type (pointer_declarator "*piVar19" * identifier) ;) (declaration "int iVar20;" primitive_type identifier ;) (declaration "int local_44;" primitive_type identifier ;) (declaration "int local_40;" primitive_type identifier ;) (declaration "int local_34;" primitive_type identifier ;) (expression_statement "puVar7 = PTR_link_info_001db928;" (assignment_expression "puVar7 = PTR_link_info_001db928" identifier = identifier) ;) (expression_statement "bVar13 = s->owner->xvec->flavour;" (assignment_expression "bVar13 = s->owner->xvec->flavour" identifier = (field_expression "s->owner->xvec->flavour" (field_expression "s->owner->xvec" (field_expression "s->owner" identifier -> field_identifier) -> field_identifier) -> field_identifier)) ;) (expression_statement "iVar16 = *(int *)(*(int *)(*(int *)(PTR_link_info_001db928 + 0x34) + 4) + 4);" (assignment_expression "iVar16 = *(int *)(*(int *)(*(int *)(PTR_link_info_001db928 + 0x34) + 4) + 4)" identifier = (pointer_expression "*(int *)(*(int *)(*(int *)(PTR_link_info_001db928 + 0x34) + 4) + 4)" * (cast_expression "(int *)(*(int *)(*(int *)(PTR_link_info_001db928 + 0x34) + 4) + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(*(int *)(PTR_link_info_001db928 + 0x34) + 4) + 4)" ( (binary_expression "*(int *)(*(int *)(PTR_link_info_001db928 + 0x34) + 4) + 4" (pointer_expression "*(int *)(*(int *)(PTR_link_info_001db928 + 0x34) + 4)" * (cast_expression "(int *)(*(int *)(PTR_link_info_001db928 + 0x34) + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(PTR_link_info_001db928 + 0x34) + 4)" ( (binary_expression "*(int *)(PTR_link_info_001db928 + 0x34) + 4" (pointer_expression "*(int *)(PTR_link_info_001db928 + 0x34)" * (cast_expression "(int *)(PTR_link_info_001db928 + 0x34)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_link_info_001db928 + 0x34)" ( (binary_expression "PTR_link_info_001db928 + 0x34" identifier + number_literal) )))) + number_literal) )))) + number_literal) ))))) ;) (if_statement "if (bVar13 == bfd_target_elf_flavour) {\n    local_44 = *(int *)((int)s->used_by_bfd + 4);\n  }\n  else {\n    local_44 = 0;\n  }" if (parenthesized_expression "(bVar13 == bfd_target_elf_flavour)" ( (binary_expression "bVar13 == bfd_target_elf_flavour" identifier == identifier) )) (compound_statement "{\n    local_44 = *(int *)((int)s->used_by_bfd + 4);\n  }" { (expression_statement "local_44 = *(int *)((int)s->used_by_bfd + 4);" (assignment_expression "local_44 = *(int *)((int)s->used_by_bfd + 4)" identifier = (pointer_expression "*(int *)((int)s->used_by_bfd + 4)" * (cast_expression "(int *)((int)s->used_by_bfd + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)s->used_by_bfd + 4)" ( (binary_expression "(int)s->used_by_bfd + 4" (cast_expression "(int)s->used_by_bfd" ( (type_descriptor "int" primitive_type) ) (field_expression "s->used_by_bfd" identifier -> field_identifier)) + number_literal) ))))) ;) }) (else_clause "else {\n    local_44 = 0;\n  }" else (compound_statement "{\n    local_44 = 0;\n  }" { (expression_statement "local_44 = 0;" (assignment_expression "local_44 = 0" identifier = number_literal) ;) }))) (if_statement "if ((*(uint *)PTR_link_info_001db928 & 0xc0000000) == 0x80000000) {\nLAB_00058478:\n    bVar1 = false;\n  }\n  else {\n    if ((-1 < *(int *)(PTR_link_info_001db928 + 4) << 6) || (uVar10 = s->flags, (uVar10 & 1) == 0))\n    {\n      if (bVar13 == bfd_target_elf_flavour) {\n        bVar1 = false;\nLAB_0005886c:\n        if ((iVar16 != 5) || (uVar10 = s->flags, (uVar10 & 1) == 0)) goto LAB_0005847c;\n        pvVar12 = s->used_by_bfd;\n        goto LAB_0005888c;\n      }\n      goto LAB_00058478;\n    }\n    if (bVar13 == bfd_target_elf_flavour) {\n      if (local_44 == 4) {\n        bVar1 = true;\n        secname = PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb14;\n        goto LAB_0005886c;\n      }\n      bVar1 = local_44 == 9;\n      if (bVar1) {\n        secname = PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb44;\n      }\n      if (iVar16 != 5) goto LAB_0005847c;\n      pvVar12 = s->used_by_bfd;\nLAB_0005888c:\n      if (*(int *)((int)pvVar12 + 0xc) << 7 < 0) {\n        plVar6 = *(lang_output_section_statement_type **)PTR_lang_output_section_statement_001dbbf4;\n        if (plVar6 != (lang_output_section_statement_type *)0x0) {\n          do {\n            paVar4 = plVar6->bfd_section;\n            if ((((paVar4 != (asection *)0x0) &&\n                 (paVar4 != (asection *)(PTR__bfd_std_section_001dbf30 + 400))) &&\n                ((*(uint *)((int)paVar4->used_by_bfd + 0xc) & 0x1000000) != 0)) &&\n               ((((uVar10 ^ paVar4->flags) & 0x11b) == 0 &&\n                (*(int *)((int)paVar4->used_by_bfd + 0x2c) == *(int *)((int)pvVar12 + 0x2c)))))\n            goto LAB_000586a0;\n            plVar6 = plVar6->next;\n          } while (plVar6 != (lang_output_section_statement_struct *)0x0);\n        }\n        if ((uVar10 & 0x102) == 0) {\n          secname = PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb38;\n        }\n        else if ((uVar10 & 8) == 0) {\n          secname = PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb20;\n        }\n        else if ((uVar10 & 0x10) == 0) {\n          secname = PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb50;\n        }\n        else {\n          secname = PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb2c;\n        }\n      }\n    }\n    else {\n      iVar3 = (*(code *)PTR_strncmp_001dbe60)\n                        (secname,PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb60,4);\n      if (iVar3 != 0) goto LAB_00058478;\n      if (secname[4] == 'a') {\n        bVar1 = true;\n        secname = PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb14;\n      }\n      else {\n        bVar1 = true;\n        secname = PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb44;\n      }\n    }\n  }" if (parenthesized_expression "((*(uint *)PTR_link_info_001db928 & 0xc0000000) == 0x80000000)" ( (binary_expression "(*(uint *)PTR_link_info_001db928 & 0xc0000000) == 0x80000000" (parenthesized_expression "(*(uint *)PTR_link_info_001db928 & 0xc0000000)" ( (binary_expression "*(uint *)PTR_link_info_001db928 & 0xc0000000" (pointer_expression "*(uint *)PTR_link_info_001db928" * (cast_expression "(uint *)PTR_link_info_001db928" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) & number_literal) )) == number_literal) )) (compound_statement "{\nLAB_00058478:\n    bVar1 = false;\n  }" { (labeled_statement "LAB_00058478:\n    bVar1 = false;" statement_identifier : (expression_statement "bVar1 = false;" (assignment_expression "bVar1 = false" identifier = false) ;)) }) (else_clause "else {\n    if ((-1 < *(int *)(PTR_link_info_001db928 + 4) << 6) || (uVar10 = s->flags, (uVar10 & 1) == 0))\n    {\n      if (bVar13 == bfd_target_elf_flavour) {\n        bVar1 = false;\nLAB_0005886c:\n        if ((iVar16 != 5) || (uVar10 = s->flags, (uVar10 & 1) == 0)) goto LAB_0005847c;\n        pvVar12 = s->used_by_bfd;\n        goto LAB_0005888c;\n      }\n      goto LAB_00058478;\n    }\n    if (bVar13 == bfd_target_elf_flavour) {\n      if (local_44 == 4) {\n        bVar1 = true;\n        secname = PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb14;\n        goto LAB_0005886c;\n      }\n      bVar1 = local_44 == 9;\n      if (bVar1) {\n        secname = PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb44;\n      }\n      if (iVar16 != 5) goto LAB_0005847c;\n      pvVar12 = s->used_by_bfd;\nLAB_0005888c:\n      if (*(int *)((int)pvVar12 + 0xc) << 7 < 0) {\n        plVar6 = *(lang_output_section_statement_type **)PTR_lang_output_section_statement_001dbbf4;\n        if (plVar6 != (lang_output_section_statement_type *)0x0) {\n          do {\n            paVar4 = plVar6->bfd_section;\n            if ((((paVar4 != (asection *)0x0) &&\n                 (paVar4 != (asection *)(PTR__bfd_std_section_001dbf30 + 400))) &&\n                ((*(uint *)((int)paVar4->used_by_bfd + 0xc) & 0x1000000) != 0)) &&\n               ((((uVar10 ^ paVar4->flags) & 0x11b) == 0 &&\n                (*(int *)((int)paVar4->used_by_bfd + 0x2c) == *(int *)((int)pvVar12 + 0x2c)))))\n            goto LAB_000586a0;\n            plVar6 = plVar6->next;\n          } while (plVar6 != (lang_output_section_statement_struct *)0x0);\n        }\n        if ((uVar10 & 0x102) == 0) {\n          secname = PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb38;\n        }\n        else if ((uVar10 & 8) == 0) {\n          secname = PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb20;\n        }\n        else if ((uVar10 & 0x10) == 0) {\n          secname = PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb50;\n        }\n        else {\n          secname = PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb2c;\n        }\n      }\n    }\n    else {\n      iVar3 = (*(code *)PTR_strncmp_001dbe60)\n                        (secname,PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb60,4);\n      if (iVar3 != 0) goto LAB_00058478;\n      if (secname[4] == 'a') {\n        bVar1 = true;\n        secname = PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb14;\n      }\n      else {\n        bVar1 = true;\n        secname = PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb44;\n      }\n    }\n  }" else (compound_statement "{\n    if ((-1 < *(int *)(PTR_link_info_001db928 + 4) << 6) || (uVar10 = s->flags, (uVar10 & 1) == 0))\n    {\n      if (bVar13 == bfd_target_elf_flavour) {\n        bVar1 = false;\nLAB_0005886c:\n        if ((iVar16 != 5) || (uVar10 = s->flags, (uVar10 & 1) == 0)) goto LAB_0005847c;\n        pvVar12 = s->used_by_bfd;\n        goto LAB_0005888c;\n      }\n      goto LAB_00058478;\n    }\n    if (bVar13 == bfd_target_elf_flavour) {\n      if (local_44 == 4) {\n        bVar1 = true;\n        secname = PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb14;\n        goto LAB_0005886c;\n      }\n      bVar1 = local_44 == 9;\n      if (bVar1) {\n        secname = PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb44;\n      }\n      if (iVar16 != 5) goto LAB_0005847c;\n      pvVar12 = s->used_by_bfd;\nLAB_0005888c:\n      if (*(int *)((int)pvVar12 + 0xc) << 7 < 0) {\n        plVar6 = *(lang_output_section_statement_type **)PTR_lang_output_section_statement_001dbbf4;\n        if (plVar6 != (lang_output_section_statement_type *)0x0) {\n          do {\n            paVar4 = plVar6->bfd_section;\n            if ((((paVar4 != (asection *)0x0) &&\n                 (paVar4 != (asection *)(PTR__bfd_std_section_001dbf30 + 400))) &&\n                ((*(uint *)((int)paVar4->used_by_bfd + 0xc) & 0x1000000) != 0)) &&\n               ((((uVar10 ^ paVar4->flags) & 0x11b) == 0 &&\n                (*(int *)((int)paVar4->used_by_bfd + 0x2c) == *(int *)((int)pvVar12 + 0x2c)))))\n            goto LAB_000586a0;\n            plVar6 = plVar6->next;\n          } while (plVar6 != (lang_output_section_statement_struct *)0x0);\n        }\n        if ((uVar10 & 0x102) == 0) {\n          secname = PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb38;\n        }\n        else if ((uVar10 & 8) == 0) {\n          secname = PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb20;\n        }\n        else if ((uVar10 & 0x10) == 0) {\n          secname = PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb50;\n        }\n        else {\n          secname = PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb2c;\n        }\n      }\n    }\n    else {\n      iVar3 = (*(code *)PTR_strncmp_001dbe60)\n                        (secname,PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb60,4);\n      if (iVar3 != 0) goto LAB_00058478;\n      if (secname[4] == 'a') {\n        bVar1 = true;\n        secname = PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb14;\n      }\n      else {\n        bVar1 = true;\n        secname = PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb44;\n      }\n    }\n  }" { (if_statement "if ((-1 < *(int *)(PTR_link_info_001db928 + 4) << 6) || (uVar10 = s->flags, (uVar10 & 1) == 0))\n    {\n      if (bVar13 == bfd_target_elf_flavour) {\n        bVar1 = false;\nLAB_0005886c:\n        if ((iVar16 != 5) || (uVar10 = s->flags, (uVar10 & 1) == 0)) goto LAB_0005847c;\n        pvVar12 = s->used_by_bfd;\n        goto LAB_0005888c;\n      }\n      goto LAB_00058478;\n    }" if (parenthesized_expression "((-1 < *(int *)(PTR_link_info_001db928 + 4) << 6) || (uVar10 = s->flags, (uVar10 & 1) == 0))" ( (binary_expression "(-1 < *(int *)(PTR_link_info_001db928 + 4) << 6) || (uVar10 = s->flags, (uVar10 & 1) == 0)" (parenthesized_expression "(-1 < *(int *)(PTR_link_info_001db928 + 4) << 6)" ( (binary_expression "-1 < *(int *)(PTR_link_info_001db928 + 4) << 6" number_literal < (binary_expression "*(int *)(PTR_link_info_001db928 + 4) << 6" (pointer_expression "*(int *)(PTR_link_info_001db928 + 4)" * (cast_expression "(int *)(PTR_link_info_001db928 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_link_info_001db928 + 4)" ( (binary_expression "PTR_link_info_001db928 + 4" identifier + number_literal) )))) << number_literal)) )) || (parenthesized_expression "(uVar10 = s->flags, (uVar10 & 1) == 0)" ( (comma_expression "uVar10 = s->flags, (uVar10 & 1) == 0" (assignment_expression "uVar10 = s->flags" identifier = (field_expression "s->flags" identifier -> field_identifier)) , (binary_expression "(uVar10 & 1) == 0" (parenthesized_expression "(uVar10 & 1)" ( (binary_expression "uVar10 & 1" identifier & number_literal) )) == number_literal)) ))) )) (compound_statement "{\n      if (bVar13 == bfd_target_elf_flavour) {\n        bVar1 = false;\nLAB_0005886c:\n        if ((iVar16 != 5) || (uVar10 = s->flags, (uVar10 & 1) == 0)) goto LAB_0005847c;\n        pvVar12 = s->used_by_bfd;\n        goto LAB_0005888c;\n      }\n      goto LAB_00058478;\n    }" { (if_statement "if (bVar13 == bfd_target_elf_flavour) {\n        bVar1 = false;\nLAB_0005886c:\n        if ((iVar16 != 5) || (uVar10 = s->flags, (uVar10 & 1) == 0)) goto LAB_0005847c;\n        pvVar12 = s->used_by_bfd;\n        goto LAB_0005888c;\n      }" if (parenthesized_expression "(bVar13 == bfd_target_elf_flavour)" ( (binary_expression "bVar13 == bfd_target_elf_flavour" identifier == identifier) )) (compound_statement "{\n        bVar1 = false;\nLAB_0005886c:\n        if ((iVar16 != 5) || (uVar10 = s->flags, (uVar10 & 1) == 0)) goto LAB_0005847c;\n        pvVar12 = s->used_by_bfd;\n        goto LAB_0005888c;\n      }" { (expression_statement "bVar1 = false;" (assignment_expression "bVar1 = false" identifier = false) ;) (labeled_statement "LAB_0005886c:\n        if ((iVar16 != 5) || (uVar10 = s->flags, (uVar10 & 1) == 0)) goto LAB_0005847c;" statement_identifier : (if_statement "if ((iVar16 != 5) || (uVar10 = s->flags, (uVar10 & 1) == 0)) goto LAB_0005847c;" if (parenthesized_expression "((iVar16 != 5) || (uVar10 = s->flags, (uVar10 & 1) == 0))" ( (binary_expression "(iVar16 != 5) || (uVar10 = s->flags, (uVar10 & 1) == 0)" (parenthesized_expression "(iVar16 != 5)" ( (binary_expression "iVar16 != 5" identifier != number_literal) )) || (parenthesized_expression "(uVar10 = s->flags, (uVar10 & 1) == 0)" ( (comma_expression "uVar10 = s->flags, (uVar10 & 1) == 0" (assignment_expression "uVar10 = s->flags" identifier = (field_expression "s->flags" identifier -> field_identifier)) , (binary_expression "(uVar10 & 1) == 0" (parenthesized_expression "(uVar10 & 1)" ( (binary_expression "uVar10 & 1" identifier & number_literal) )) == number_literal)) ))) )) (goto_statement "goto LAB_0005847c;" goto statement_identifier ;))) (expression_statement "pvVar12 = s->used_by_bfd;" (assignment_expression "pvVar12 = s->used_by_bfd" identifier = (field_expression "s->used_by_bfd" identifier -> field_identifier)) ;) (goto_statement "goto LAB_0005888c;" goto statement_identifier ;) })) (goto_statement "goto LAB_00058478;" goto statement_identifier ;) })) (if_statement "if (bVar13 == bfd_target_elf_flavour) {\n      if (local_44 == 4) {\n        bVar1 = true;\n        secname = PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb14;\n        goto LAB_0005886c;\n      }\n      bVar1 = local_44 == 9;\n      if (bVar1) {\n        secname = PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb44;\n      }\n      if (iVar16 != 5) goto LAB_0005847c;\n      pvVar12 = s->used_by_bfd;\nLAB_0005888c:\n      if (*(int *)((int)pvVar12 + 0xc) << 7 < 0) {\n        plVar6 = *(lang_output_section_statement_type **)PTR_lang_output_section_statement_001dbbf4;\n        if (plVar6 != (lang_output_section_statement_type *)0x0) {\n          do {\n            paVar4 = plVar6->bfd_section;\n            if ((((paVar4 != (asection *)0x0) &&\n                 (paVar4 != (asection *)(PTR__bfd_std_section_001dbf30 + 400))) &&\n                ((*(uint *)((int)paVar4->used_by_bfd + 0xc) & 0x1000000) != 0)) &&\n               ((((uVar10 ^ paVar4->flags) & 0x11b) == 0 &&\n                (*(int *)((int)paVar4->used_by_bfd + 0x2c) == *(int *)((int)pvVar12 + 0x2c)))))\n            goto LAB_000586a0;\n            plVar6 = plVar6->next;\n          } while (plVar6 != (lang_output_section_statement_struct *)0x0);\n        }\n        if ((uVar10 & 0x102) == 0) {\n          secname = PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb38;\n        }\n        else if ((uVar10 & 8) == 0) {\n          secname = PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb20;\n        }\n        else if ((uVar10 & 0x10) == 0) {\n          secname = PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb50;\n        }\n        else {\n          secname = PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb2c;\n        }\n      }\n    }\n    else {\n      iVar3 = (*(code *)PTR_strncmp_001dbe60)\n                        (secname,PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb60,4);\n      if (iVar3 != 0) goto LAB_00058478;\n      if (secname[4] == 'a') {\n        bVar1 = true;\n        secname = PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb14;\n      }\n      else {\n        bVar1 = true;\n        secname = PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb44;\n      }\n    }" if (parenthesized_expression "(bVar13 == bfd_target_elf_flavour)" ( (binary_expression "bVar13 == bfd_target_elf_flavour" identifier == identifier) )) (compound_statement "{\n      if (local_44 == 4) {\n        bVar1 = true;\n        secname = PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb14;\n        goto LAB_0005886c;\n      }\n      bVar1 = local_44 == 9;\n      if (bVar1) {\n        secname = PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb44;\n      }\n      if (iVar16 != 5) goto LAB_0005847c;\n      pvVar12 = s->used_by_bfd;\nLAB_0005888c:\n      if (*(int *)((int)pvVar12 + 0xc) << 7 < 0) {\n        plVar6 = *(lang_output_section_statement_type **)PTR_lang_output_section_statement_001dbbf4;\n        if (plVar6 != (lang_output_section_statement_type *)0x0) {\n          do {\n            paVar4 = plVar6->bfd_section;\n            if ((((paVar4 != (asection *)0x0) &&\n                 (paVar4 != (asection *)(PTR__bfd_std_section_001dbf30 + 400))) &&\n                ((*(uint *)((int)paVar4->used_by_bfd + 0xc) & 0x1000000) != 0)) &&\n               ((((uVar10 ^ paVar4->flags) & 0x11b) == 0 &&\n                (*(int *)((int)paVar4->used_by_bfd + 0x2c) == *(int *)((int)pvVar12 + 0x2c)))))\n            goto LAB_000586a0;\n            plVar6 = plVar6->next;\n          } while (plVar6 != (lang_output_section_statement_struct *)0x0);\n        }\n        if ((uVar10 & 0x102) == 0) {\n          secname = PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb38;\n        }\n        else if ((uVar10 & 8) == 0) {\n          secname = PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb20;\n        }\n        else if ((uVar10 & 0x10) == 0) {\n          secname = PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb50;\n        }\n        else {\n          secname = PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb2c;\n        }\n      }\n    }" { (if_statement "if (local_44 == 4) {\n        bVar1 = true;\n        secname = PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb14;\n        goto LAB_0005886c;\n      }" if (parenthesized_expression "(local_44 == 4)" ( (binary_expression "local_44 == 4" identifier == number_literal) )) (compound_statement "{\n        bVar1 = true;\n        secname = PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb14;\n        goto LAB_0005886c;\n      }" { (expression_statement "bVar1 = true;" (assignment_expression "bVar1 = true" identifier = true) ;) (expression_statement "secname = PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb14;" (assignment_expression "secname = PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb14" identifier = (binary_expression "PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb14" identifier + number_literal)) ;) (goto_statement "goto LAB_0005886c;" goto statement_identifier ;) })) (expression_statement "bVar1 = local_44 == 9;" (assignment_expression "bVar1 = local_44 == 9" identifier = (binary_expression "local_44 == 9" identifier == number_literal)) ;) (if_statement "if (bVar1) {\n        secname = PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb44;\n      }" if (parenthesized_expression "(bVar1)" ( identifier )) (compound_statement "{\n        secname = PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb44;\n      }" { (expression_statement "secname = PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb44;" (assignment_expression "secname = PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb44" identifier = (binary_expression "PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb44" identifier + number_literal)) ;) })) (if_statement "if (iVar16 != 5) goto LAB_0005847c;" if (parenthesized_expression "(iVar16 != 5)" ( (binary_expression "iVar16 != 5" identifier != number_literal) )) (goto_statement "goto LAB_0005847c;" goto statement_identifier ;)) (expression_statement "pvVar12 = s->used_by_bfd;" (assignment_expression "pvVar12 = s->used_by_bfd" identifier = (field_expression "s->used_by_bfd" identifier -> field_identifier)) ;) (labeled_statement "LAB_0005888c:\n      if (*(int *)((int)pvVar12 + 0xc) << 7 < 0) {\n        plVar6 = *(lang_output_section_statement_type **)PTR_lang_output_section_statement_001dbbf4;\n        if (plVar6 != (lang_output_section_statement_type *)0x0) {\n          do {\n            paVar4 = plVar6->bfd_section;\n            if ((((paVar4 != (asection *)0x0) &&\n                 (paVar4 != (asection *)(PTR__bfd_std_section_001dbf30 + 400))) &&\n                ((*(uint *)((int)paVar4->used_by_bfd + 0xc) & 0x1000000) != 0)) &&\n               ((((uVar10 ^ paVar4->flags) & 0x11b) == 0 &&\n                (*(int *)((int)paVar4->used_by_bfd + 0x2c) == *(int *)((int)pvVar12 + 0x2c)))))\n            goto LAB_000586a0;\n            plVar6 = plVar6->next;\n          } while (plVar6 != (lang_output_section_statement_struct *)0x0);\n        }\n        if ((uVar10 & 0x102) == 0) {\n          secname = PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb38;\n        }\n        else if ((uVar10 & 8) == 0) {\n          secname = PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb20;\n        }\n        else if ((uVar10 & 0x10) == 0) {\n          secname = PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb50;\n        }\n        else {\n          secname = PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb2c;\n        }\n      }" statement_identifier : (if_statement "if (*(int *)((int)pvVar12 + 0xc) << 7 < 0) {\n        plVar6 = *(lang_output_section_statement_type **)PTR_lang_output_section_statement_001dbbf4;\n        if (plVar6 != (lang_output_section_statement_type *)0x0) {\n          do {\n            paVar4 = plVar6->bfd_section;\n            if ((((paVar4 != (asection *)0x0) &&\n                 (paVar4 != (asection *)(PTR__bfd_std_section_001dbf30 + 400))) &&\n                ((*(uint *)((int)paVar4->used_by_bfd + 0xc) & 0x1000000) != 0)) &&\n               ((((uVar10 ^ paVar4->flags) & 0x11b) == 0 &&\n                (*(int *)((int)paVar4->used_by_bfd + 0x2c) == *(int *)((int)pvVar12 + 0x2c)))))\n            goto LAB_000586a0;\n            plVar6 = plVar6->next;\n          } while (plVar6 != (lang_output_section_statement_struct *)0x0);\n        }\n        if ((uVar10 & 0x102) == 0) {\n          secname = PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb38;\n        }\n        else if ((uVar10 & 8) == 0) {\n          secname = PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb20;\n        }\n        else if ((uVar10 & 0x10) == 0) {\n          secname = PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb50;\n        }\n        else {\n          secname = PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb2c;\n        }\n      }" if (parenthesized_expression "(*(int *)((int)pvVar12 + 0xc) << 7 < 0)" ( (binary_expression "*(int *)((int)pvVar12 + 0xc) << 7 < 0" (binary_expression "*(int *)((int)pvVar12 + 0xc) << 7" (pointer_expression "*(int *)((int)pvVar12 + 0xc)" * (cast_expression "(int *)((int)pvVar12 + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pvVar12 + 0xc)" ( (binary_expression "(int)pvVar12 + 0xc" (cast_expression "(int)pvVar12" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) << number_literal) < number_literal) )) (compound_statement "{\n        plVar6 = *(lang_output_section_statement_type **)PTR_lang_output_section_statement_001dbbf4;\n        if (plVar6 != (lang_output_section_statement_type *)0x0) {\n          do {\n            paVar4 = plVar6->bfd_section;\n            if ((((paVar4 != (asection *)0x0) &&\n                 (paVar4 != (asection *)(PTR__bfd_std_section_001dbf30 + 400))) &&\n                ((*(uint *)((int)paVar4->used_by_bfd + 0xc) & 0x1000000) != 0)) &&\n               ((((uVar10 ^ paVar4->flags) & 0x11b) == 0 &&\n                (*(int *)((int)paVar4->used_by_bfd + 0x2c) == *(int *)((int)pvVar12 + 0x2c)))))\n            goto LAB_000586a0;\n            plVar6 = plVar6->next;\n          } while (plVar6 != (lang_output_section_statement_struct *)0x0);\n        }\n        if ((uVar10 & 0x102) == 0) {\n          secname = PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb38;\n        }\n        else if ((uVar10 & 8) == 0) {\n          secname = PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb20;\n        }\n        else if ((uVar10 & 0x10) == 0) {\n          secname = PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb50;\n        }\n        else {\n          secname = PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb2c;\n        }\n      }" { (expression_statement "plVar6 = *(lang_output_section_statement_type **)PTR_lang_output_section_statement_001dbbf4;" (assignment_expression "plVar6 = *(lang_output_section_statement_type **)PTR_lang_output_section_statement_001dbbf4" identifier = (pointer_expression "*(lang_output_section_statement_type **)PTR_lang_output_section_statement_001dbbf4" * (cast_expression "(lang_output_section_statement_type **)PTR_lang_output_section_statement_001dbbf4" ( (type_descriptor "lang_output_section_statement_type **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier))) ;) (if_statement "if (plVar6 != (lang_output_section_statement_type *)0x0) {\n          do {\n            paVar4 = plVar6->bfd_section;\n            if ((((paVar4 != (asection *)0x0) &&\n                 (paVar4 != (asection *)(PTR__bfd_std_section_001dbf30 + 400))) &&\n                ((*(uint *)((int)paVar4->used_by_bfd + 0xc) & 0x1000000) != 0)) &&\n               ((((uVar10 ^ paVar4->flags) & 0x11b) == 0 &&\n                (*(int *)((int)paVar4->used_by_bfd + 0x2c) == *(int *)((int)pvVar12 + 0x2c)))))\n            goto LAB_000586a0;\n            plVar6 = plVar6->next;\n          } while (plVar6 != (lang_output_section_statement_struct *)0x0);\n        }" if (parenthesized_expression "(plVar6 != (lang_output_section_statement_type *)0x0)" ( (binary_expression "plVar6 != (lang_output_section_statement_type *)0x0" identifier != (cast_expression "(lang_output_section_statement_type *)0x0" ( (type_descriptor "lang_output_section_statement_type *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n          do {\n            paVar4 = plVar6->bfd_section;\n            if ((((paVar4 != (asection *)0x0) &&\n                 (paVar4 != (asection *)(PTR__bfd_std_section_001dbf30 + 400))) &&\n                ((*(uint *)((int)paVar4->used_by_bfd + 0xc) & 0x1000000) != 0)) &&\n               ((((uVar10 ^ paVar4->flags) & 0x11b) == 0 &&\n                (*(int *)((int)paVar4->used_by_bfd + 0x2c) == *(int *)((int)pvVar12 + 0x2c)))))\n            goto LAB_000586a0;\n            plVar6 = plVar6->next;\n          } while (plVar6 != (lang_output_section_statement_struct *)0x0);\n        }" { (do_statement "do {\n            paVar4 = plVar6->bfd_section;\n            if ((((paVar4 != (asection *)0x0) &&\n                 (paVar4 != (asection *)(PTR__bfd_std_section_001dbf30 + 400))) &&\n                ((*(uint *)((int)paVar4->used_by_bfd + 0xc) & 0x1000000) != 0)) &&\n               ((((uVar10 ^ paVar4->flags) & 0x11b) == 0 &&\n                (*(int *)((int)paVar4->used_by_bfd + 0x2c) == *(int *)((int)pvVar12 + 0x2c)))))\n            goto LAB_000586a0;\n            plVar6 = plVar6->next;\n          } while (plVar6 != (lang_output_section_statement_struct *)0x0);" do (compound_statement "{\n            paVar4 = plVar6->bfd_section;\n            if ((((paVar4 != (asection *)0x0) &&\n                 (paVar4 != (asection *)(PTR__bfd_std_section_001dbf30 + 400))) &&\n                ((*(uint *)((int)paVar4->used_by_bfd + 0xc) & 0x1000000) != 0)) &&\n               ((((uVar10 ^ paVar4->flags) & 0x11b) == 0 &&\n                (*(int *)((int)paVar4->used_by_bfd + 0x2c) == *(int *)((int)pvVar12 + 0x2c)))))\n            goto LAB_000586a0;\n            plVar6 = plVar6->next;\n          }" { (expression_statement "paVar4 = plVar6->bfd_section;" (assignment_expression "paVar4 = plVar6->bfd_section" identifier = (field_expression "plVar6->bfd_section" identifier -> field_identifier)) ;) (if_statement "if ((((paVar4 != (asection *)0x0) &&\n                 (paVar4 != (asection *)(PTR__bfd_std_section_001dbf30 + 400))) &&\n                ((*(uint *)((int)paVar4->used_by_bfd + 0xc) & 0x1000000) != 0)) &&\n               ((((uVar10 ^ paVar4->flags) & 0x11b) == 0 &&\n                (*(int *)((int)paVar4->used_by_bfd + 0x2c) == *(int *)((int)pvVar12 + 0x2c)))))\n            goto LAB_000586a0;" if (parenthesized_expression "((((paVar4 != (asection *)0x0) &&\n                 (paVar4 != (asection *)(PTR__bfd_std_section_001dbf30 + 400))) &&\n                ((*(uint *)((int)paVar4->used_by_bfd + 0xc) & 0x1000000) != 0)) &&\n               ((((uVar10 ^ paVar4->flags) & 0x11b) == 0 &&\n                (*(int *)((int)paVar4->used_by_bfd + 0x2c) == *(int *)((int)pvVar12 + 0x2c)))))" ( (binary_expression "(((paVar4 != (asection *)0x0) &&\n                 (paVar4 != (asection *)(PTR__bfd_std_section_001dbf30 + 400))) &&\n                ((*(uint *)((int)paVar4->used_by_bfd + 0xc) & 0x1000000) != 0)) &&\n               ((((uVar10 ^ paVar4->flags) & 0x11b) == 0 &&\n                (*(int *)((int)paVar4->used_by_bfd + 0x2c) == *(int *)((int)pvVar12 + 0x2c))))" (parenthesized_expression "(((paVar4 != (asection *)0x0) &&\n                 (paVar4 != (asection *)(PTR__bfd_std_section_001dbf30 + 400))) &&\n                ((*(uint *)((int)paVar4->used_by_bfd + 0xc) & 0x1000000) != 0))" ( (binary_expression "((paVar4 != (asection *)0x0) &&\n                 (paVar4 != (asection *)(PTR__bfd_std_section_001dbf30 + 400))) &&\n                ((*(uint *)((int)paVar4->used_by_bfd + 0xc) & 0x1000000) != 0)" (parenthesized_expression "((paVar4 != (asection *)0x0) &&\n                 (paVar4 != (asection *)(PTR__bfd_std_section_001dbf30 + 400)))" ( (binary_expression "(paVar4 != (asection *)0x0) &&\n                 (paVar4 != (asection *)(PTR__bfd_std_section_001dbf30 + 400))" (parenthesized_expression "(paVar4 != (asection *)0x0)" ( (binary_expression "paVar4 != (asection *)0x0" identifier != (cast_expression "(asection *)0x0" ( (type_descriptor "asection *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) && (parenthesized_expression "(paVar4 != (asection *)(PTR__bfd_std_section_001dbf30 + 400))" ( (binary_expression "paVar4 != (asection *)(PTR__bfd_std_section_001dbf30 + 400)" identifier != (cast_expression "(asection *)(PTR__bfd_std_section_001dbf30 + 400)" ( (type_descriptor "asection *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR__bfd_std_section_001dbf30 + 400)" ( (binary_expression "PTR__bfd_std_section_001dbf30 + 400" identifier + number_literal) )))) ))) )) && (parenthesized_expression "((*(uint *)((int)paVar4->used_by_bfd + 0xc) & 0x1000000) != 0)" ( (binary_expression "(*(uint *)((int)paVar4->used_by_bfd + 0xc) & 0x1000000) != 0" (parenthesized_expression "(*(uint *)((int)paVar4->used_by_bfd + 0xc) & 0x1000000)" ( (binary_expression "*(uint *)((int)paVar4->used_by_bfd + 0xc) & 0x1000000" (pointer_expression "*(uint *)((int)paVar4->used_by_bfd + 0xc)" * (cast_expression "(uint *)((int)paVar4->used_by_bfd + 0xc)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)paVar4->used_by_bfd + 0xc)" ( (binary_expression "(int)paVar4->used_by_bfd + 0xc" (cast_expression "(int)paVar4->used_by_bfd" ( (type_descriptor "int" primitive_type) ) (field_expression "paVar4->used_by_bfd" identifier -> field_identifier)) + number_literal) )))) & number_literal) )) != number_literal) ))) )) && (parenthesized_expression "((((uVar10 ^ paVar4->flags) & 0x11b) == 0 &&\n                (*(int *)((int)paVar4->used_by_bfd + 0x2c) == *(int *)((int)pvVar12 + 0x2c))))" ( (parenthesized_expression "(((uVar10 ^ paVar4->flags) & 0x11b) == 0 &&\n                (*(int *)((int)paVar4->used_by_bfd + 0x2c) == *(int *)((int)pvVar12 + 0x2c)))" ( (binary_expression "((uVar10 ^ paVar4->flags) & 0x11b) == 0 &&\n                (*(int *)((int)paVar4->used_by_bfd + 0x2c) == *(int *)((int)pvVar12 + 0x2c))" (binary_expression "((uVar10 ^ paVar4->flags) & 0x11b) == 0" (parenthesized_expression "((uVar10 ^ paVar4->flags) & 0x11b)" ( (binary_expression "(uVar10 ^ paVar4->flags) & 0x11b" (parenthesized_expression "(uVar10 ^ paVar4->flags)" ( (binary_expression "uVar10 ^ paVar4->flags" identifier ^ (field_expression "paVar4->flags" identifier -> field_identifier)) )) & number_literal) )) == number_literal) && (parenthesized_expression "(*(int *)((int)paVar4->used_by_bfd + 0x2c) == *(int *)((int)pvVar12 + 0x2c))" ( (binary_expression "*(int *)((int)paVar4->used_by_bfd + 0x2c) == *(int *)((int)pvVar12 + 0x2c)" (pointer_expression "*(int *)((int)paVar4->used_by_bfd + 0x2c)" * (cast_expression "(int *)((int)paVar4->used_by_bfd + 0x2c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)paVar4->used_by_bfd + 0x2c)" ( (binary_expression "(int)paVar4->used_by_bfd + 0x2c" (cast_expression "(int)paVar4->used_by_bfd" ( (type_descriptor "int" primitive_type) ) (field_expression "paVar4->used_by_bfd" identifier -> field_identifier)) + number_literal) )))) == (pointer_expression "*(int *)((int)pvVar12 + 0x2c)" * (cast_expression "(int *)((int)pvVar12 + 0x2c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pvVar12 + 0x2c)" ( (binary_expression "(int)pvVar12 + 0x2c" (cast_expression "(int)pvVar12" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ))) )) ))) )) (goto_statement "goto LAB_000586a0;" goto statement_identifier ;)) (expression_statement "plVar6 = plVar6->next;" (assignment_expression "plVar6 = plVar6->next" identifier = (field_expression "plVar6->next" identifier -> field_identifier)) ;) }) while (parenthesized_expression "(plVar6 != (lang_output_section_statement_struct *)0x0)" ( (binary_expression "plVar6 != (lang_output_section_statement_struct *)0x0" identifier != (cast_expression "(lang_output_section_statement_struct *)0x0" ( (type_descriptor "lang_output_section_statement_struct *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) ;) })) (if_statement "if ((uVar10 & 0x102) == 0) {\n          secname = PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb38;\n        }\n        else if ((uVar10 & 8) == 0) {\n          secname = PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb20;\n        }\n        else if ((uVar10 & 0x10) == 0) {\n          secname = PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb50;\n        }\n        else {\n          secname = PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb2c;\n        }" if (parenthesized_expression "((uVar10 & 0x102) == 0)" ( (binary_expression "(uVar10 & 0x102) == 0" (parenthesized_expression "(uVar10 & 0x102)" ( (binary_expression "uVar10 & 0x102" identifier & number_literal) )) == number_literal) )) (compound_statement "{\n          secname = PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb38;\n        }" { (expression_statement "secname = PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb38;" (assignment_expression "secname = PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb38" identifier = (binary_expression "PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb38" identifier + number_literal)) ;) }) (else_clause "else if ((uVar10 & 8) == 0) {\n          secname = PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb20;\n        }\n        else if ((uVar10 & 0x10) == 0) {\n          secname = PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb50;\n        }\n        else {\n          secname = PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb2c;\n        }" else (if_statement "if ((uVar10 & 8) == 0) {\n          secname = PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb20;\n        }\n        else if ((uVar10 & 0x10) == 0) {\n          secname = PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb50;\n        }\n        else {\n          secname = PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb2c;\n        }" if (parenthesized_expression "((uVar10 & 8) == 0)" ( (binary_expression "(uVar10 & 8) == 0" (parenthesized_expression "(uVar10 & 8)" ( (binary_expression "uVar10 & 8" identifier & number_literal) )) == number_literal) )) (compound_statement "{\n          secname = PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb20;\n        }" { (expression_statement "secname = PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb20;" (assignment_expression "secname = PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb20" identifier = (binary_expression "PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb20" identifier + number_literal)) ;) }) (else_clause "else if ((uVar10 & 0x10) == 0) {\n          secname = PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb50;\n        }\n        else {\n          secname = PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb2c;\n        }" else (if_statement "if ((uVar10 & 0x10) == 0) {\n          secname = PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb50;\n        }\n        else {\n          secname = PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb2c;\n        }" if (parenthesized_expression "((uVar10 & 0x10) == 0)" ( (binary_expression "(uVar10 & 0x10) == 0" (parenthesized_expression "(uVar10 & 0x10)" ( (binary_expression "uVar10 & 0x10" identifier & number_literal) )) == number_literal) )) (compound_statement "{\n          secname = PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb50;\n        }" { (expression_statement "secname = PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb50;" (assignment_expression "secname = PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb50" identifier = (binary_expression "PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb50" identifier + number_literal)) ;) }) (else_clause "else {\n          secname = PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb2c;\n        }" else (compound_statement "{\n          secname = PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb2c;\n        }" { (expression_statement "secname = PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb2c;" (assignment_expression "secname = PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb2c" identifier = (binary_expression "PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb2c" identifier + number_literal)) ;) }))))))) }))) }) (else_clause "else {\n      iVar3 = (*(code *)PTR_strncmp_001dbe60)\n                        (secname,PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb60,4);\n      if (iVar3 != 0) goto LAB_00058478;\n      if (secname[4] == 'a') {\n        bVar1 = true;\n        secname = PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb14;\n      }\n      else {\n        bVar1 = true;\n        secname = PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb44;\n      }\n    }" else (compound_statement "{\n      iVar3 = (*(code *)PTR_strncmp_001dbe60)\n                        (secname,PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb60,4);\n      if (iVar3 != 0) goto LAB_00058478;\n      if (secname[4] == 'a') {\n        bVar1 = true;\n        secname = PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb14;\n      }\n      else {\n        bVar1 = true;\n        secname = PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb44;\n      }\n    }" { (expression_statement "iVar3 = (*(code *)PTR_strncmp_001dbe60)\n                        (secname,PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb60,4);" (assignment_expression "iVar3 = (*(code *)PTR_strncmp_001dbe60)\n                        (secname,PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb60,4)" identifier = (call_expression "(*(code *)PTR_strncmp_001dbe60)\n                        (secname,PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb60,4)" (parenthesized_expression "(*(code *)PTR_strncmp_001dbe60)" ( (pointer_expression "*(code *)PTR_strncmp_001dbe60" * (cast_expression "(code *)PTR_strncmp_001dbe60" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(secname,PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb60,4)" ( identifier , (binary_expression "PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb60" identifier + number_literal) , number_literal )))) ;) (if_statement "if (iVar3 != 0) goto LAB_00058478;" if (parenthesized_expression "(iVar3 != 0)" ( (binary_expression "iVar3 != 0" identifier != number_literal) )) (goto_statement "goto LAB_00058478;" goto statement_identifier ;)) (if_statement "if (secname[4] == 'a') {\n        bVar1 = true;\n        secname = PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb14;\n      }\n      else {\n        bVar1 = true;\n        secname = PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb44;\n      }" if (parenthesized_expression "(secname[4] == 'a')" ( (binary_expression "secname[4] == 'a'" (subscript_expression "secname[4]" identifier [ number_literal ]) == (char_literal "'a'" ' character ')) )) (compound_statement "{\n        bVar1 = true;\n        secname = PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb14;\n      }" { (expression_statement "bVar1 = true;" (assignment_expression "bVar1 = true" identifier = true) ;) (expression_statement "secname = PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb14;" (assignment_expression "secname = PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb14" identifier = (binary_expression "PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb14" identifier + number_literal)) ;) }) (else_clause "else {\n        bVar1 = true;\n        secname = PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb44;\n      }" else (compound_statement "{\n        bVar1 = true;\n        secname = PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb44;\n      }" { (expression_statement "bVar1 = true;" (assignment_expression "bVar1 = true" identifier = true) ;) (expression_statement "secname = PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb44;" (assignment_expression "secname = PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb44" identifier = (binary_expression "PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb44" identifier + number_literal)) ;) }))) }))) }))) (labeled_statement "LAB_0005847c:\n  if ((constraint == 0) &&\n     (plVar6 = (lang_output_section_statement_type *)\n               (*(code *)PTR_lang_output_section_statement_lookup_001dbc2c)(secname,0,0),\n     plVar6 != (lang_output_section_statement_type *)0x0)) {\n    plVar15 = (lang_output_section_statement_type *)0x0;\n    do {\n      while (paVar4 = plVar6->bfd_section, paVar4 == (asection *)0x0) {\n        plVar5 = (lang_output_section_statement_type *)\n                 (*(code *)PTR_next_matching_output_section_statement_001dbd68)(plVar6,0);\n        plVar15 = plVar6;\n        plVar6 = plVar5;\n        if (plVar5 == (lang_output_section_statement_type *)0x0) goto LAB_000587ec;\n      }\n      if (paVar4->flags == 0) goto LAB_000586a0;\n      if (((paVar4->flags ^ s->flags) & 3) == 0) {\n        if ((bVar13 != bfd_target_elf_flavour) || (iVar16 != 5)) goto LAB_000586a0;\n        if ((*(int *)((int)paVar4->used_by_bfd + 0x2c) == *(int *)((int)s->used_by_bfd + 0x2c)) &&\n           (((*(uint *)puVar7 & 0xc0000000) != 0x80000000 ||\n            (((*(uint *)((int)paVar4->used_by_bfd + 0xc) ^ *(uint *)((int)s->used_by_bfd + 0xc)) &\n             0x80000000) == 0)))) {\n          iVar3 = (*(code *)PTR__bfd_elf_match_sections_by_type_001dbe14)\n                            (*(undefined4 *)(puVar7 + 0x34),paVar4,s->owner,s);\n          if (iVar3 != 0) goto LAB_000586a0;\n          if (plVar6->bfd_section == (asection *)0x0) {\n            plVar15 = plVar6;\n          }\n        }\n      }\n      plVar6 = (lang_output_section_statement_type *)\n               (*(code *)PTR_next_matching_output_section_statement_001dbd68)(plVar6,0);\n    } while (plVar6 != (lang_output_section_statement_type *)0x0);\nLAB_000587ec:\n    if (plVar15 != (lang_output_section_statement_type *)0x0) {\n      (*(code *)PTR_lang_add_section_001dbc3c)(&plVar15->children,s,0,plVar15);\n      return plVar15;\n    }\n    constraint = 0x17e;\n  }" statement_identifier : (if_statement "if ((constraint == 0) &&\n     (plVar6 = (lang_output_section_statement_type *)\n               (*(code *)PTR_lang_output_section_statement_lookup_001dbc2c)(secname,0,0),\n     plVar6 != (lang_output_section_statement_type *)0x0)) {\n    plVar15 = (lang_output_section_statement_type *)0x0;\n    do {\n      while (paVar4 = plVar6->bfd_section, paVar4 == (asection *)0x0) {\n        plVar5 = (lang_output_section_statement_type *)\n                 (*(code *)PTR_next_matching_output_section_statement_001dbd68)(plVar6,0);\n        plVar15 = plVar6;\n        plVar6 = plVar5;\n        if (plVar5 == (lang_output_section_statement_type *)0x0) goto LAB_000587ec;\n      }\n      if (paVar4->flags == 0) goto LAB_000586a0;\n      if (((paVar4->flags ^ s->flags) & 3) == 0) {\n        if ((bVar13 != bfd_target_elf_flavour) || (iVar16 != 5)) goto LAB_000586a0;\n        if ((*(int *)((int)paVar4->used_by_bfd + 0x2c) == *(int *)((int)s->used_by_bfd + 0x2c)) &&\n           (((*(uint *)puVar7 & 0xc0000000) != 0x80000000 ||\n            (((*(uint *)((int)paVar4->used_by_bfd + 0xc) ^ *(uint *)((int)s->used_by_bfd + 0xc)) &\n             0x80000000) == 0)))) {\n          iVar3 = (*(code *)PTR__bfd_elf_match_sections_by_type_001dbe14)\n                            (*(undefined4 *)(puVar7 + 0x34),paVar4,s->owner,s);\n          if (iVar3 != 0) goto LAB_000586a0;\n          if (plVar6->bfd_section == (asection *)0x0) {\n            plVar15 = plVar6;\n          }\n        }\n      }\n      plVar6 = (lang_output_section_statement_type *)\n               (*(code *)PTR_next_matching_output_section_statement_001dbd68)(plVar6,0);\n    } while (plVar6 != (lang_output_section_statement_type *)0x0);\nLAB_000587ec:\n    if (plVar15 != (lang_output_section_statement_type *)0x0) {\n      (*(code *)PTR_lang_add_section_001dbc3c)(&plVar15->children,s,0,plVar15);\n      return plVar15;\n    }\n    constraint = 0x17e;\n  }" if (parenthesized_expression "((constraint == 0) &&\n     (plVar6 = (lang_output_section_statement_type *)\n               (*(code *)PTR_lang_output_section_statement_lookup_001dbc2c)(secname,0,0),\n     plVar6 != (lang_output_section_statement_type *)0x0))" ( (binary_expression "(constraint == 0) &&\n     (plVar6 = (lang_output_section_statement_type *)\n               (*(code *)PTR_lang_output_section_statement_lookup_001dbc2c)(secname,0,0),\n     plVar6 != (lang_output_section_statement_type *)0x0)" (parenthesized_expression "(constraint == 0)" ( (binary_expression "constraint == 0" identifier == number_literal) )) && (parenthesized_expression "(plVar6 = (lang_output_section_statement_type *)\n               (*(code *)PTR_lang_output_section_statement_lookup_001dbc2c)(secname,0,0),\n     plVar6 != (lang_output_section_statement_type *)0x0)" ( (comma_expression "plVar6 = (lang_output_section_statement_type *)\n               (*(code *)PTR_lang_output_section_statement_lookup_001dbc2c)(secname,0,0),\n     plVar6 != (lang_output_section_statement_type *)0x0" (assignment_expression "plVar6 = (lang_output_section_statement_type *)\n               (*(code *)PTR_lang_output_section_statement_lookup_001dbc2c)(secname,0,0)" identifier = (cast_expression "(lang_output_section_statement_type *)\n               (*(code *)PTR_lang_output_section_statement_lookup_001dbc2c)(secname,0,0)" ( (type_descriptor "lang_output_section_statement_type *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR_lang_output_section_statement_lookup_001dbc2c)(secname,0,0)" (parenthesized_expression "(*(code *)PTR_lang_output_section_statement_lookup_001dbc2c)" ( (pointer_expression "*(code *)PTR_lang_output_section_statement_lookup_001dbc2c" * (cast_expression "(code *)PTR_lang_output_section_statement_lookup_001dbc2c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(secname,0,0)" ( identifier , number_literal , number_literal ))))) , (binary_expression "plVar6 != (lang_output_section_statement_type *)0x0" identifier != (cast_expression "(lang_output_section_statement_type *)0x0" ( (type_descriptor "lang_output_section_statement_type *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal))) ))) )) (compound_statement "{\n    plVar15 = (lang_output_section_statement_type *)0x0;\n    do {\n      while (paVar4 = plVar6->bfd_section, paVar4 == (asection *)0x0) {\n        plVar5 = (lang_output_section_statement_type *)\n                 (*(code *)PTR_next_matching_output_section_statement_001dbd68)(plVar6,0);\n        plVar15 = plVar6;\n        plVar6 = plVar5;\n        if (plVar5 == (lang_output_section_statement_type *)0x0) goto LAB_000587ec;\n      }\n      if (paVar4->flags == 0) goto LAB_000586a0;\n      if (((paVar4->flags ^ s->flags) & 3) == 0) {\n        if ((bVar13 != bfd_target_elf_flavour) || (iVar16 != 5)) goto LAB_000586a0;\n        if ((*(int *)((int)paVar4->used_by_bfd + 0x2c) == *(int *)((int)s->used_by_bfd + 0x2c)) &&\n           (((*(uint *)puVar7 & 0xc0000000) != 0x80000000 ||\n            (((*(uint *)((int)paVar4->used_by_bfd + 0xc) ^ *(uint *)((int)s->used_by_bfd + 0xc)) &\n             0x80000000) == 0)))) {\n          iVar3 = (*(code *)PTR__bfd_elf_match_sections_by_type_001dbe14)\n                            (*(undefined4 *)(puVar7 + 0x34),paVar4,s->owner,s);\n          if (iVar3 != 0) goto LAB_000586a0;\n          if (plVar6->bfd_section == (asection *)0x0) {\n            plVar15 = plVar6;\n          }\n        }\n      }\n      plVar6 = (lang_output_section_statement_type *)\n               (*(code *)PTR_next_matching_output_section_statement_001dbd68)(plVar6,0);\n    } while (plVar6 != (lang_output_section_statement_type *)0x0);\nLAB_000587ec:\n    if (plVar15 != (lang_output_section_statement_type *)0x0) {\n      (*(code *)PTR_lang_add_section_001dbc3c)(&plVar15->children,s,0,plVar15);\n      return plVar15;\n    }\n    constraint = 0x17e;\n  }" { (expression_statement "plVar15 = (lang_output_section_statement_type *)0x0;" (assignment_expression "plVar15 = (lang_output_section_statement_type *)0x0" identifier = (cast_expression "(lang_output_section_statement_type *)0x0" ( (type_descriptor "lang_output_section_statement_type *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (do_statement "do {\n      while (paVar4 = plVar6->bfd_section, paVar4 == (asection *)0x0) {\n        plVar5 = (lang_output_section_statement_type *)\n                 (*(code *)PTR_next_matching_output_section_statement_001dbd68)(plVar6,0);\n        plVar15 = plVar6;\n        plVar6 = plVar5;\n        if (plVar5 == (lang_output_section_statement_type *)0x0) goto LAB_000587ec;\n      }\n      if (paVar4->flags == 0) goto LAB_000586a0;\n      if (((paVar4->flags ^ s->flags) & 3) == 0) {\n        if ((bVar13 != bfd_target_elf_flavour) || (iVar16 != 5)) goto LAB_000586a0;\n        if ((*(int *)((int)paVar4->used_by_bfd + 0x2c) == *(int *)((int)s->used_by_bfd + 0x2c)) &&\n           (((*(uint *)puVar7 & 0xc0000000) != 0x80000000 ||\n            (((*(uint *)((int)paVar4->used_by_bfd + 0xc) ^ *(uint *)((int)s->used_by_bfd + 0xc)) &\n             0x80000000) == 0)))) {\n          iVar3 = (*(code *)PTR__bfd_elf_match_sections_by_type_001dbe14)\n                            (*(undefined4 *)(puVar7 + 0x34),paVar4,s->owner,s);\n          if (iVar3 != 0) goto LAB_000586a0;\n          if (plVar6->bfd_section == (asection *)0x0) {\n            plVar15 = plVar6;\n          }\n        }\n      }\n      plVar6 = (lang_output_section_statement_type *)\n               (*(code *)PTR_next_matching_output_section_statement_001dbd68)(plVar6,0);\n    } while (plVar6 != (lang_output_section_statement_type *)0x0);" do (compound_statement "{\n      while (paVar4 = plVar6->bfd_section, paVar4 == (asection *)0x0) {\n        plVar5 = (lang_output_section_statement_type *)\n                 (*(code *)PTR_next_matching_output_section_statement_001dbd68)(plVar6,0);\n        plVar15 = plVar6;\n        plVar6 = plVar5;\n        if (plVar5 == (lang_output_section_statement_type *)0x0) goto LAB_000587ec;\n      }\n      if (paVar4->flags == 0) goto LAB_000586a0;\n      if (((paVar4->flags ^ s->flags) & 3) == 0) {\n        if ((bVar13 != bfd_target_elf_flavour) || (iVar16 != 5)) goto LAB_000586a0;\n        if ((*(int *)((int)paVar4->used_by_bfd + 0x2c) == *(int *)((int)s->used_by_bfd + 0x2c)) &&\n           (((*(uint *)puVar7 & 0xc0000000) != 0x80000000 ||\n            (((*(uint *)((int)paVar4->used_by_bfd + 0xc) ^ *(uint *)((int)s->used_by_bfd + 0xc)) &\n             0x80000000) == 0)))) {\n          iVar3 = (*(code *)PTR__bfd_elf_match_sections_by_type_001dbe14)\n                            (*(undefined4 *)(puVar7 + 0x34),paVar4,s->owner,s);\n          if (iVar3 != 0) goto LAB_000586a0;\n          if (plVar6->bfd_section == (asection *)0x0) {\n            plVar15 = plVar6;\n          }\n        }\n      }\n      plVar6 = (lang_output_section_statement_type *)\n               (*(code *)PTR_next_matching_output_section_statement_001dbd68)(plVar6,0);\n    }" { (while_statement "while (paVar4 = plVar6->bfd_section, paVar4 == (asection *)0x0) {\n        plVar5 = (lang_output_section_statement_type *)\n                 (*(code *)PTR_next_matching_output_section_statement_001dbd68)(plVar6,0);\n        plVar15 = plVar6;\n        plVar6 = plVar5;\n        if (plVar5 == (lang_output_section_statement_type *)0x0) goto LAB_000587ec;\n      }" while (parenthesized_expression "(paVar4 = plVar6->bfd_section, paVar4 == (asection *)0x0)" ( (comma_expression "paVar4 = plVar6->bfd_section, paVar4 == (asection *)0x0" (assignment_expression "paVar4 = plVar6->bfd_section" identifier = (field_expression "plVar6->bfd_section" identifier -> field_identifier)) , (binary_expression "paVar4 == (asection *)0x0" identifier == (cast_expression "(asection *)0x0" ( (type_descriptor "asection *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal))) )) (compound_statement "{\n        plVar5 = (lang_output_section_statement_type *)\n                 (*(code *)PTR_next_matching_output_section_statement_001dbd68)(plVar6,0);\n        plVar15 = plVar6;\n        plVar6 = plVar5;\n        if (plVar5 == (lang_output_section_statement_type *)0x0) goto LAB_000587ec;\n      }" { (expression_statement "plVar5 = (lang_output_section_statement_type *)\n                 (*(code *)PTR_next_matching_output_section_statement_001dbd68)(plVar6,0);" (assignment_expression "plVar5 = (lang_output_section_statement_type *)\n                 (*(code *)PTR_next_matching_output_section_statement_001dbd68)(plVar6,0)" identifier = (cast_expression "(lang_output_section_statement_type *)\n                 (*(code *)PTR_next_matching_output_section_statement_001dbd68)(plVar6,0)" ( (type_descriptor "lang_output_section_statement_type *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR_next_matching_output_section_statement_001dbd68)(plVar6,0)" (parenthesized_expression "(*(code *)PTR_next_matching_output_section_statement_001dbd68)" ( (pointer_expression "*(code *)PTR_next_matching_output_section_statement_001dbd68" * (cast_expression "(code *)PTR_next_matching_output_section_statement_001dbd68" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(plVar6,0)" ( identifier , number_literal ))))) ;) (expression_statement "plVar15 = plVar6;" (assignment_expression "plVar15 = plVar6" identifier = identifier) ;) (expression_statement "plVar6 = plVar5;" (assignment_expression "plVar6 = plVar5" identifier = identifier) ;) (if_statement "if (plVar5 == (lang_output_section_statement_type *)0x0) goto LAB_000587ec;" if (parenthesized_expression "(plVar5 == (lang_output_section_statement_type *)0x0)" ( (binary_expression "plVar5 == (lang_output_section_statement_type *)0x0" identifier == (cast_expression "(lang_output_section_statement_type *)0x0" ( (type_descriptor "lang_output_section_statement_type *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_000587ec;" goto statement_identifier ;)) })) (if_statement "if (paVar4->flags == 0) goto LAB_000586a0;" if (parenthesized_expression "(paVar4->flags == 0)" ( (binary_expression "paVar4->flags == 0" (field_expression "paVar4->flags" identifier -> field_identifier) == number_literal) )) (goto_statement "goto LAB_000586a0;" goto statement_identifier ;)) (if_statement "if (((paVar4->flags ^ s->flags) & 3) == 0) {\n        if ((bVar13 != bfd_target_elf_flavour) || (iVar16 != 5)) goto LAB_000586a0;\n        if ((*(int *)((int)paVar4->used_by_bfd + 0x2c) == *(int *)((int)s->used_by_bfd + 0x2c)) &&\n           (((*(uint *)puVar7 & 0xc0000000) != 0x80000000 ||\n            (((*(uint *)((int)paVar4->used_by_bfd + 0xc) ^ *(uint *)((int)s->used_by_bfd + 0xc)) &\n             0x80000000) == 0)))) {\n          iVar3 = (*(code *)PTR__bfd_elf_match_sections_by_type_001dbe14)\n                            (*(undefined4 *)(puVar7 + 0x34),paVar4,s->owner,s);\n          if (iVar3 != 0) goto LAB_000586a0;\n          if (plVar6->bfd_section == (asection *)0x0) {\n            plVar15 = plVar6;\n          }\n        }\n      }" if (parenthesized_expression "(((paVar4->flags ^ s->flags) & 3) == 0)" ( (binary_expression "((paVar4->flags ^ s->flags) & 3) == 0" (parenthesized_expression "((paVar4->flags ^ s->flags) & 3)" ( (binary_expression "(paVar4->flags ^ s->flags) & 3" (parenthesized_expression "(paVar4->flags ^ s->flags)" ( (binary_expression "paVar4->flags ^ s->flags" (field_expression "paVar4->flags" identifier -> field_identifier) ^ (field_expression "s->flags" identifier -> field_identifier)) )) & number_literal) )) == number_literal) )) (compound_statement "{\n        if ((bVar13 != bfd_target_elf_flavour) || (iVar16 != 5)) goto LAB_000586a0;\n        if ((*(int *)((int)paVar4->used_by_bfd + 0x2c) == *(int *)((int)s->used_by_bfd + 0x2c)) &&\n           (((*(uint *)puVar7 & 0xc0000000) != 0x80000000 ||\n            (((*(uint *)((int)paVar4->used_by_bfd + 0xc) ^ *(uint *)((int)s->used_by_bfd + 0xc)) &\n             0x80000000) == 0)))) {\n          iVar3 = (*(code *)PTR__bfd_elf_match_sections_by_type_001dbe14)\n                            (*(undefined4 *)(puVar7 + 0x34),paVar4,s->owner,s);\n          if (iVar3 != 0) goto LAB_000586a0;\n          if (plVar6->bfd_section == (asection *)0x0) {\n            plVar15 = plVar6;\n          }\n        }\n      }" { (if_statement "if ((bVar13 != bfd_target_elf_flavour) || (iVar16 != 5)) goto LAB_000586a0;" if (parenthesized_expression "((bVar13 != bfd_target_elf_flavour) || (iVar16 != 5))" ( (binary_expression "(bVar13 != bfd_target_elf_flavour) || (iVar16 != 5)" (parenthesized_expression "(bVar13 != bfd_target_elf_flavour)" ( (binary_expression "bVar13 != bfd_target_elf_flavour" identifier != identifier) )) || (parenthesized_expression "(iVar16 != 5)" ( (binary_expression "iVar16 != 5" identifier != number_literal) ))) )) (goto_statement "goto LAB_000586a0;" goto statement_identifier ;)) (if_statement "if ((*(int *)((int)paVar4->used_by_bfd + 0x2c) == *(int *)((int)s->used_by_bfd + 0x2c)) &&\n           (((*(uint *)puVar7 & 0xc0000000) != 0x80000000 ||\n            (((*(uint *)((int)paVar4->used_by_bfd + 0xc) ^ *(uint *)((int)s->used_by_bfd + 0xc)) &\n             0x80000000) == 0)))) {\n          iVar3 = (*(code *)PTR__bfd_elf_match_sections_by_type_001dbe14)\n                            (*(undefined4 *)(puVar7 + 0x34),paVar4,s->owner,s);\n          if (iVar3 != 0) goto LAB_000586a0;\n          if (plVar6->bfd_section == (asection *)0x0) {\n            plVar15 = plVar6;\n          }\n        }" if (parenthesized_expression "((*(int *)((int)paVar4->used_by_bfd + 0x2c) == *(int *)((int)s->used_by_bfd + 0x2c)) &&\n           (((*(uint *)puVar7 & 0xc0000000) != 0x80000000 ||\n            (((*(uint *)((int)paVar4->used_by_bfd + 0xc) ^ *(uint *)((int)s->used_by_bfd + 0xc)) &\n             0x80000000) == 0))))" ( (binary_expression "(*(int *)((int)paVar4->used_by_bfd + 0x2c) == *(int *)((int)s->used_by_bfd + 0x2c)) &&\n           (((*(uint *)puVar7 & 0xc0000000) != 0x80000000 ||\n            (((*(uint *)((int)paVar4->used_by_bfd + 0xc) ^ *(uint *)((int)s->used_by_bfd + 0xc)) &\n             0x80000000) == 0)))" (parenthesized_expression "(*(int *)((int)paVar4->used_by_bfd + 0x2c) == *(int *)((int)s->used_by_bfd + 0x2c))" ( (binary_expression "*(int *)((int)paVar4->used_by_bfd + 0x2c) == *(int *)((int)s->used_by_bfd + 0x2c)" (pointer_expression "*(int *)((int)paVar4->used_by_bfd + 0x2c)" * (cast_expression "(int *)((int)paVar4->used_by_bfd + 0x2c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)paVar4->used_by_bfd + 0x2c)" ( (binary_expression "(int)paVar4->used_by_bfd + 0x2c" (cast_expression "(int)paVar4->used_by_bfd" ( (type_descriptor "int" primitive_type) ) (field_expression "paVar4->used_by_bfd" identifier -> field_identifier)) + number_literal) )))) == (pointer_expression "*(int *)((int)s->used_by_bfd + 0x2c)" * (cast_expression "(int *)((int)s->used_by_bfd + 0x2c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)s->used_by_bfd + 0x2c)" ( (binary_expression "(int)s->used_by_bfd + 0x2c" (cast_expression "(int)s->used_by_bfd" ( (type_descriptor "int" primitive_type) ) (field_expression "s->used_by_bfd" identifier -> field_identifier)) + number_literal) ))))) )) && (parenthesized_expression "(((*(uint *)puVar7 & 0xc0000000) != 0x80000000 ||\n            (((*(uint *)((int)paVar4->used_by_bfd + 0xc) ^ *(uint *)((int)s->used_by_bfd + 0xc)) &\n             0x80000000) == 0)))" ( (parenthesized_expression "((*(uint *)puVar7 & 0xc0000000) != 0x80000000 ||\n            (((*(uint *)((int)paVar4->used_by_bfd + 0xc) ^ *(uint *)((int)s->used_by_bfd + 0xc)) &\n             0x80000000) == 0))" ( (binary_expression "(*(uint *)puVar7 & 0xc0000000) != 0x80000000 ||\n            (((*(uint *)((int)paVar4->used_by_bfd + 0xc) ^ *(uint *)((int)s->used_by_bfd + 0xc)) &\n             0x80000000) == 0)" (binary_expression "(*(uint *)puVar7 & 0xc0000000) != 0x80000000" (parenthesized_expression "(*(uint *)puVar7 & 0xc0000000)" ( (binary_expression "*(uint *)puVar7 & 0xc0000000" (pointer_expression "*(uint *)puVar7" * (cast_expression "(uint *)puVar7" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) & number_literal) )) != number_literal) || (parenthesized_expression "(((*(uint *)((int)paVar4->used_by_bfd + 0xc) ^ *(uint *)((int)s->used_by_bfd + 0xc)) &\n             0x80000000) == 0)" ( (binary_expression "((*(uint *)((int)paVar4->used_by_bfd + 0xc) ^ *(uint *)((int)s->used_by_bfd + 0xc)) &\n             0x80000000) == 0" (parenthesized_expression "((*(uint *)((int)paVar4->used_by_bfd + 0xc) ^ *(uint *)((int)s->used_by_bfd + 0xc)) &\n             0x80000000)" ( (binary_expression "(*(uint *)((int)paVar4->used_by_bfd + 0xc) ^ *(uint *)((int)s->used_by_bfd + 0xc)) &\n             0x80000000" (parenthesized_expression "(*(uint *)((int)paVar4->used_by_bfd + 0xc) ^ *(uint *)((int)s->used_by_bfd + 0xc))" ( (binary_expression "*(uint *)((int)paVar4->used_by_bfd + 0xc) ^ *(uint *)((int)s->used_by_bfd + 0xc)" (pointer_expression "*(uint *)((int)paVar4->used_by_bfd + 0xc)" * (cast_expression "(uint *)((int)paVar4->used_by_bfd + 0xc)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)paVar4->used_by_bfd + 0xc)" ( (binary_expression "(int)paVar4->used_by_bfd + 0xc" (cast_expression "(int)paVar4->used_by_bfd" ( (type_descriptor "int" primitive_type) ) (field_expression "paVar4->used_by_bfd" identifier -> field_identifier)) + number_literal) )))) ^ (pointer_expression "*(uint *)((int)s->used_by_bfd + 0xc)" * (cast_expression "(uint *)((int)s->used_by_bfd + 0xc)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)s->used_by_bfd + 0xc)" ( (binary_expression "(int)s->used_by_bfd + 0xc" (cast_expression "(int)s->used_by_bfd" ( (type_descriptor "int" primitive_type) ) (field_expression "s->used_by_bfd" identifier -> field_identifier)) + number_literal) ))))) )) & number_literal) )) == number_literal) ))) )) ))) )) (compound_statement "{\n          iVar3 = (*(code *)PTR__bfd_elf_match_sections_by_type_001dbe14)\n                            (*(undefined4 *)(puVar7 + 0x34),paVar4,s->owner,s);\n          if (iVar3 != 0) goto LAB_000586a0;\n          if (plVar6->bfd_section == (asection *)0x0) {\n            plVar15 = plVar6;\n          }\n        }" { (expression_statement "iVar3 = (*(code *)PTR__bfd_elf_match_sections_by_type_001dbe14)\n                            (*(undefined4 *)(puVar7 + 0x34),paVar4,s->owner,s);" (assignment_expression "iVar3 = (*(code *)PTR__bfd_elf_match_sections_by_type_001dbe14)\n                            (*(undefined4 *)(puVar7 + 0x34),paVar4,s->owner,s)" identifier = (call_expression "(*(code *)PTR__bfd_elf_match_sections_by_type_001dbe14)\n                            (*(undefined4 *)(puVar7 + 0x34),paVar4,s->owner,s)" (parenthesized_expression "(*(code *)PTR__bfd_elf_match_sections_by_type_001dbe14)" ( (pointer_expression "*(code *)PTR__bfd_elf_match_sections_by_type_001dbe14" * (cast_expression "(code *)PTR__bfd_elf_match_sections_by_type_001dbe14" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(*(undefined4 *)(puVar7 + 0x34),paVar4,s->owner,s)" ( (pointer_expression "*(undefined4 *)(puVar7 + 0x34)" * (cast_expression "(undefined4 *)(puVar7 + 0x34)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar7 + 0x34)" ( (binary_expression "puVar7 + 0x34" identifier + number_literal) )))) , identifier , (field_expression "s->owner" identifier -> field_identifier) , identifier )))) ;) (if_statement "if (iVar3 != 0) goto LAB_000586a0;" if (parenthesized_expression "(iVar3 != 0)" ( (binary_expression "iVar3 != 0" identifier != number_literal) )) (goto_statement "goto LAB_000586a0;" goto statement_identifier ;)) (if_statement "if (plVar6->bfd_section == (asection *)0x0) {\n            plVar15 = plVar6;\n          }" if (parenthesized_expression "(plVar6->bfd_section == (asection *)0x0)" ( (binary_expression "plVar6->bfd_section == (asection *)0x0" (field_expression "plVar6->bfd_section" identifier -> field_identifier) == (cast_expression "(asection *)0x0" ( (type_descriptor "asection *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n            plVar15 = plVar6;\n          }" { (expression_statement "plVar15 = plVar6;" (assignment_expression "plVar15 = plVar6" identifier = identifier) ;) })) })) })) (expression_statement "plVar6 = (lang_output_section_statement_type *)\n               (*(code *)PTR_next_matching_output_section_statement_001dbd68)(plVar6,0);" (assignment_expression "plVar6 = (lang_output_section_statement_type *)\n               (*(code *)PTR_next_matching_output_section_statement_001dbd68)(plVar6,0)" identifier = (cast_expression "(lang_output_section_statement_type *)\n               (*(code *)PTR_next_matching_output_section_statement_001dbd68)(plVar6,0)" ( (type_descriptor "lang_output_section_statement_type *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR_next_matching_output_section_statement_001dbd68)(plVar6,0)" (parenthesized_expression "(*(code *)PTR_next_matching_output_section_statement_001dbd68)" ( (pointer_expression "*(code *)PTR_next_matching_output_section_statement_001dbd68" * (cast_expression "(code *)PTR_next_matching_output_section_statement_001dbd68" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(plVar6,0)" ( identifier , number_literal ))))) ;) }) while (parenthesized_expression "(plVar6 != (lang_output_section_statement_type *)0x0)" ( (binary_expression "plVar6 != (lang_output_section_statement_type *)0x0" identifier != (cast_expression "(lang_output_section_statement_type *)0x0" ( (type_descriptor "lang_output_section_statement_type *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) ;) (labeled_statement "LAB_000587ec:\n    if (plVar15 != (lang_output_section_statement_type *)0x0) {\n      (*(code *)PTR_lang_add_section_001dbc3c)(&plVar15->children,s,0,plVar15);\n      return plVar15;\n    }" statement_identifier : (if_statement "if (plVar15 != (lang_output_section_statement_type *)0x0) {\n      (*(code *)PTR_lang_add_section_001dbc3c)(&plVar15->children,s,0,plVar15);\n      return plVar15;\n    }" if (parenthesized_expression "(plVar15 != (lang_output_section_statement_type *)0x0)" ( (binary_expression "plVar15 != (lang_output_section_statement_type *)0x0" identifier != (cast_expression "(lang_output_section_statement_type *)0x0" ( (type_descriptor "lang_output_section_statement_type *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      (*(code *)PTR_lang_add_section_001dbc3c)(&plVar15->children,s,0,plVar15);\n      return plVar15;\n    }" { (expression_statement "(*(code *)PTR_lang_add_section_001dbc3c)(&plVar15->children,s,0,plVar15);" (call_expression "(*(code *)PTR_lang_add_section_001dbc3c)(&plVar15->children,s,0,plVar15)" (parenthesized_expression "(*(code *)PTR_lang_add_section_001dbc3c)" ( (pointer_expression "*(code *)PTR_lang_add_section_001dbc3c" * (cast_expression "(code *)PTR_lang_add_section_001dbc3c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(&plVar15->children,s,0,plVar15)" ( (pointer_expression "&plVar15->children" & (field_expression "plVar15->children" identifier -> field_identifier)) , identifier , number_literal , identifier ))) ;) (return_statement "return plVar15;" return identifier ;) }))) (expression_statement "constraint = 0x17e;" (assignment_expression "constraint = 0x17e" identifier = number_literal) ;) }))) (expression_statement "puVar8 = PTR_DAT_001db8f8;" (assignment_expression "puVar8 = PTR_DAT_001db8f8" identifier = identifier) ;) (if_statement "if (*(int *)(PTR_DAT_001db8f8 + -0x3618) == 0) {\n    piVar17 = (int *)(PTR_DAT_001db8f8 + -0x49e0);\n    piVar19 = (int *)(PTR_DAT_001db8f8 + -0x4908);\n    do {\n      if (*piVar17 != 0) {\n        iVar16 = (*(code *)PTR_lang_output_section_statement_lookup_001dbc2c)(*piVar17,0,0);\n        piVar17[2] = iVar16;\n        if ((iVar16 != 0) && (*(int *)(iVar16 + 0x4c) == 0)) {\n          *(int *)(iVar16 + 0x4c) = piVar17[1];\n        }\n      }\n      piVar17 = piVar17 + 6;\n    } while (piVar17 != piVar19);\n    *(undefined4 *)(puVar8 + -0x3618) = 1;\n  }" if (parenthesized_expression "(*(int *)(PTR_DAT_001db8f8 + -0x3618) == 0)" ( (binary_expression "*(int *)(PTR_DAT_001db8f8 + -0x3618) == 0" (pointer_expression "*(int *)(PTR_DAT_001db8f8 + -0x3618)" * (cast_expression "(int *)(PTR_DAT_001db8f8 + -0x3618)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_DAT_001db8f8 + -0x3618)" ( (binary_expression "PTR_DAT_001db8f8 + -0x3618" identifier + number_literal) )))) == number_literal) )) (compound_statement "{\n    piVar17 = (int *)(PTR_DAT_001db8f8 + -0x49e0);\n    piVar19 = (int *)(PTR_DAT_001db8f8 + -0x4908);\n    do {\n      if (*piVar17 != 0) {\n        iVar16 = (*(code *)PTR_lang_output_section_statement_lookup_001dbc2c)(*piVar17,0,0);\n        piVar17[2] = iVar16;\n        if ((iVar16 != 0) && (*(int *)(iVar16 + 0x4c) == 0)) {\n          *(int *)(iVar16 + 0x4c) = piVar17[1];\n        }\n      }\n      piVar17 = piVar17 + 6;\n    } while (piVar17 != piVar19);\n    *(undefined4 *)(puVar8 + -0x3618) = 1;\n  }" { (expression_statement "piVar17 = (int *)(PTR_DAT_001db8f8 + -0x49e0);" (assignment_expression "piVar17 = (int *)(PTR_DAT_001db8f8 + -0x49e0)" identifier = (cast_expression "(int *)(PTR_DAT_001db8f8 + -0x49e0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_DAT_001db8f8 + -0x49e0)" ( (binary_expression "PTR_DAT_001db8f8 + -0x49e0" identifier + number_literal) )))) ;) (expression_statement "piVar19 = (int *)(PTR_DAT_001db8f8 + -0x4908);" (assignment_expression "piVar19 = (int *)(PTR_DAT_001db8f8 + -0x4908)" identifier = (cast_expression "(int *)(PTR_DAT_001db8f8 + -0x4908)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_DAT_001db8f8 + -0x4908)" ( (binary_expression "PTR_DAT_001db8f8 + -0x4908" identifier + number_literal) )))) ;) (do_statement "do {\n      if (*piVar17 != 0) {\n        iVar16 = (*(code *)PTR_lang_output_section_statement_lookup_001dbc2c)(*piVar17,0,0);\n        piVar17[2] = iVar16;\n        if ((iVar16 != 0) && (*(int *)(iVar16 + 0x4c) == 0)) {\n          *(int *)(iVar16 + 0x4c) = piVar17[1];\n        }\n      }\n      piVar17 = piVar17 + 6;\n    } while (piVar17 != piVar19);" do (compound_statement "{\n      if (*piVar17 != 0) {\n        iVar16 = (*(code *)PTR_lang_output_section_statement_lookup_001dbc2c)(*piVar17,0,0);\n        piVar17[2] = iVar16;\n        if ((iVar16 != 0) && (*(int *)(iVar16 + 0x4c) == 0)) {\n          *(int *)(iVar16 + 0x4c) = piVar17[1];\n        }\n      }\n      piVar17 = piVar17 + 6;\n    }" { (if_statement "if (*piVar17 != 0) {\n        iVar16 = (*(code *)PTR_lang_output_section_statement_lookup_001dbc2c)(*piVar17,0,0);\n        piVar17[2] = iVar16;\n        if ((iVar16 != 0) && (*(int *)(iVar16 + 0x4c) == 0)) {\n          *(int *)(iVar16 + 0x4c) = piVar17[1];\n        }\n      }" if (parenthesized_expression "(*piVar17 != 0)" ( (binary_expression "*piVar17 != 0" (pointer_expression "*piVar17" * identifier) != number_literal) )) (compound_statement "{\n        iVar16 = (*(code *)PTR_lang_output_section_statement_lookup_001dbc2c)(*piVar17,0,0);\n        piVar17[2] = iVar16;\n        if ((iVar16 != 0) && (*(int *)(iVar16 + 0x4c) == 0)) {\n          *(int *)(iVar16 + 0x4c) = piVar17[1];\n        }\n      }" { (expression_statement "iVar16 = (*(code *)PTR_lang_output_section_statement_lookup_001dbc2c)(*piVar17,0,0);" (assignment_expression "iVar16 = (*(code *)PTR_lang_output_section_statement_lookup_001dbc2c)(*piVar17,0,0)" identifier = (call_expression "(*(code *)PTR_lang_output_section_statement_lookup_001dbc2c)(*piVar17,0,0)" (parenthesized_expression "(*(code *)PTR_lang_output_section_statement_lookup_001dbc2c)" ( (pointer_expression "*(code *)PTR_lang_output_section_statement_lookup_001dbc2c" * (cast_expression "(code *)PTR_lang_output_section_statement_lookup_001dbc2c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(*piVar17,0,0)" ( (pointer_expression "*piVar17" * identifier) , number_literal , number_literal )))) ;) (expression_statement "piVar17[2] = iVar16;" (assignment_expression "piVar17[2] = iVar16" (subscript_expression "piVar17[2]" identifier [ number_literal ]) = identifier) ;) (if_statement "if ((iVar16 != 0) && (*(int *)(iVar16 + 0x4c) == 0)) {\n          *(int *)(iVar16 + 0x4c) = piVar17[1];\n        }" if (parenthesized_expression "((iVar16 != 0) && (*(int *)(iVar16 + 0x4c) == 0))" ( (binary_expression "(iVar16 != 0) && (*(int *)(iVar16 + 0x4c) == 0)" (parenthesized_expression "(iVar16 != 0)" ( (binary_expression "iVar16 != 0" identifier != number_literal) )) && (parenthesized_expression "(*(int *)(iVar16 + 0x4c) == 0)" ( (binary_expression "*(int *)(iVar16 + 0x4c) == 0" (pointer_expression "*(int *)(iVar16 + 0x4c)" * (cast_expression "(int *)(iVar16 + 0x4c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar16 + 0x4c)" ( (binary_expression "iVar16 + 0x4c" identifier + number_literal) )))) == number_literal) ))) )) (compound_statement "{\n          *(int *)(iVar16 + 0x4c) = piVar17[1];\n        }" { (expression_statement "*(int *)(iVar16 + 0x4c) = piVar17[1];" (assignment_expression "*(int *)(iVar16 + 0x4c) = piVar17[1]" (pointer_expression "*(int *)(iVar16 + 0x4c)" * (cast_expression "(int *)(iVar16 + 0x4c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar16 + 0x4c)" ( (binary_expression "iVar16 + 0x4c" identifier + number_literal) )))) = (subscript_expression "piVar17[1]" identifier [ number_literal ])) ;) })) })) (expression_statement "piVar17 = piVar17 + 6;" (assignment_expression "piVar17 = piVar17 + 6" identifier = (binary_expression "piVar17 + 6" identifier + number_literal)) ;) }) while (parenthesized_expression "(piVar17 != piVar19)" ( (binary_expression "piVar17 != piVar19" identifier != identifier) )) ;) (expression_statement "*(undefined4 *)(puVar8 + -0x3618) = 1;" (assignment_expression "*(undefined4 *)(puVar8 + -0x3618) = 1" (pointer_expression "*(undefined4 *)(puVar8 + -0x3618)" * (cast_expression "(undefined4 *)(puVar8 + -0x3618)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar8 + -0x3618)" ( (binary_expression "puVar8 + -0x3618" identifier + number_literal) )))) = number_literal) ;) })) (if_statement "if ((int)*(uint *)puVar7 < 0) {\n    fVar14 = s->flags;\n    if ((*(uint *)puVar7 & 0xc0000000) != 0x80000000) goto LAB_000585fc;\n  }\n  else {\n    iVar16 = (*(code *)PTR_strncmp_001dbe60)\n                       (s->name,PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb78,0xd);\n    if ((iVar16 == 0) &&\n       (plVar6 = *(lang_output_section_statement_type **)(PTR_DAT_001db8f8 + -0x49d8),\n       plVar6 != (lang_output_section_statement_type *)0x0)) {\nLAB_000586a0:\n      (*(code *)PTR_lang_add_section_001dbc3c)(&plVar6->children,s,0,plVar6);\n      return plVar6;\n    }\n    fVar14 = s->flags;\nLAB_000585fc:\n    pbVar11 = s->owner;\n    paVar4 = s;\n    while (paVar4 = (asection *)(*(code *)PTR_bfd_get_next_section_by_name_001dbf68)(pbVar11,paVar4)\n          , paVar4 != (asection *)0x0) {\n      pbVar11 = paVar4->owner;\n      if ((((paVar4->output_section == (bfd_section *)0x0) &&\n           (((paVar4->flags ^ fVar14) & 3) == 0 && (paVar4->flags & 0x8000) == 0)) &&\n          (-1 < *(int *)&pbVar11->field_0x28 << 0x12)) &&\n         ((pbVar11->usrdata != (void *)0x0 &&\n          ((*(ushort *)((int)pbVar11->usrdata + 0x24) & 0x800) == 0)))) {\n        iVar16 = (*(code *)PTR__bfd_elf_match_sections_by_type_001dbe14)(pbVar11,paVar4,s->owner,s);\n        if (iVar16 == 0) {\n          pbVar11 = paVar4->owner;\n        }\n        else {\n          pbVar11 = paVar4->owner;\n          fVar14 = (paVar4->flags ^ 8 | fVar14 ^ 8) ^ 8;\n        }\n      }\n    }\n  }" if (parenthesized_expression "((int)*(uint *)puVar7 < 0)" ( (binary_expression "(int)*(uint *)puVar7 < 0" (cast_expression "(int)*(uint *)puVar7" ( (type_descriptor "int" primitive_type) ) (pointer_expression "*(uint *)puVar7" * (cast_expression "(uint *)puVar7" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier))) < number_literal) )) (compound_statement "{\n    fVar14 = s->flags;\n    if ((*(uint *)puVar7 & 0xc0000000) != 0x80000000) goto LAB_000585fc;\n  }" { (expression_statement "fVar14 = s->flags;" (assignment_expression "fVar14 = s->flags" identifier = (field_expression "s->flags" identifier -> field_identifier)) ;) (if_statement "if ((*(uint *)puVar7 & 0xc0000000) != 0x80000000) goto LAB_000585fc;" if (parenthesized_expression "((*(uint *)puVar7 & 0xc0000000) != 0x80000000)" ( (binary_expression "(*(uint *)puVar7 & 0xc0000000) != 0x80000000" (parenthesized_expression "(*(uint *)puVar7 & 0xc0000000)" ( (binary_expression "*(uint *)puVar7 & 0xc0000000" (pointer_expression "*(uint *)puVar7" * (cast_expression "(uint *)puVar7" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) & number_literal) )) != number_literal) )) (goto_statement "goto LAB_000585fc;" goto statement_identifier ;)) }) (else_clause "else {\n    iVar16 = (*(code *)PTR_strncmp_001dbe60)\n                       (s->name,PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb78,0xd);\n    if ((iVar16 == 0) &&\n       (plVar6 = *(lang_output_section_statement_type **)(PTR_DAT_001db8f8 + -0x49d8),\n       plVar6 != (lang_output_section_statement_type *)0x0)) {\nLAB_000586a0:\n      (*(code *)PTR_lang_add_section_001dbc3c)(&plVar6->children,s,0,plVar6);\n      return plVar6;\n    }\n    fVar14 = s->flags;\nLAB_000585fc:\n    pbVar11 = s->owner;\n    paVar4 = s;\n    while (paVar4 = (asection *)(*(code *)PTR_bfd_get_next_section_by_name_001dbf68)(pbVar11,paVar4)\n          , paVar4 != (asection *)0x0) {\n      pbVar11 = paVar4->owner;\n      if ((((paVar4->output_section == (bfd_section *)0x0) &&\n           (((paVar4->flags ^ fVar14) & 3) == 0 && (paVar4->flags & 0x8000) == 0)) &&\n          (-1 < *(int *)&pbVar11->field_0x28 << 0x12)) &&\n         ((pbVar11->usrdata != (void *)0x0 &&\n          ((*(ushort *)((int)pbVar11->usrdata + 0x24) & 0x800) == 0)))) {\n        iVar16 = (*(code *)PTR__bfd_elf_match_sections_by_type_001dbe14)(pbVar11,paVar4,s->owner,s);\n        if (iVar16 == 0) {\n          pbVar11 = paVar4->owner;\n        }\n        else {\n          pbVar11 = paVar4->owner;\n          fVar14 = (paVar4->flags ^ 8 | fVar14 ^ 8) ^ 8;\n        }\n      }\n    }\n  }" else (compound_statement "{\n    iVar16 = (*(code *)PTR_strncmp_001dbe60)\n                       (s->name,PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb78,0xd);\n    if ((iVar16 == 0) &&\n       (plVar6 = *(lang_output_section_statement_type **)(PTR_DAT_001db8f8 + -0x49d8),\n       plVar6 != (lang_output_section_statement_type *)0x0)) {\nLAB_000586a0:\n      (*(code *)PTR_lang_add_section_001dbc3c)(&plVar6->children,s,0,plVar6);\n      return plVar6;\n    }\n    fVar14 = s->flags;\nLAB_000585fc:\n    pbVar11 = s->owner;\n    paVar4 = s;\n    while (paVar4 = (asection *)(*(code *)PTR_bfd_get_next_section_by_name_001dbf68)(pbVar11,paVar4)\n          , paVar4 != (asection *)0x0) {\n      pbVar11 = paVar4->owner;\n      if ((((paVar4->output_section == (bfd_section *)0x0) &&\n           (((paVar4->flags ^ fVar14) & 3) == 0 && (paVar4->flags & 0x8000) == 0)) &&\n          (-1 < *(int *)&pbVar11->field_0x28 << 0x12)) &&\n         ((pbVar11->usrdata != (void *)0x0 &&\n          ((*(ushort *)((int)pbVar11->usrdata + 0x24) & 0x800) == 0)))) {\n        iVar16 = (*(code *)PTR__bfd_elf_match_sections_by_type_001dbe14)(pbVar11,paVar4,s->owner,s);\n        if (iVar16 == 0) {\n          pbVar11 = paVar4->owner;\n        }\n        else {\n          pbVar11 = paVar4->owner;\n          fVar14 = (paVar4->flags ^ 8 | fVar14 ^ 8) ^ 8;\n        }\n      }\n    }\n  }" { (expression_statement "iVar16 = (*(code *)PTR_strncmp_001dbe60)\n                       (s->name,PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb78,0xd);" (assignment_expression "iVar16 = (*(code *)PTR_strncmp_001dbe60)\n                       (s->name,PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb78,0xd)" identifier = (call_expression "(*(code *)PTR_strncmp_001dbe60)\n                       (s->name,PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb78,0xd)" (parenthesized_expression "(*(code *)PTR_strncmp_001dbe60)" ( (pointer_expression "*(code *)PTR_strncmp_001dbe60" * (cast_expression "(code *)PTR_strncmp_001dbe60" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(s->name,PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb78,0xd)" ( (field_expression "s->name" identifier -> field_identifier) , (binary_expression "PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb78" identifier + number_literal) , number_literal )))) ;) (if_statement "if ((iVar16 == 0) &&\n       (plVar6 = *(lang_output_section_statement_type **)(PTR_DAT_001db8f8 + -0x49d8),\n       plVar6 != (lang_output_section_statement_type *)0x0)) {\nLAB_000586a0:\n      (*(code *)PTR_lang_add_section_001dbc3c)(&plVar6->children,s,0,plVar6);\n      return plVar6;\n    }" if (parenthesized_expression "((iVar16 == 0) &&\n       (plVar6 = *(lang_output_section_statement_type **)(PTR_DAT_001db8f8 + -0x49d8),\n       plVar6 != (lang_output_section_statement_type *)0x0))" ( (binary_expression "(iVar16 == 0) &&\n       (plVar6 = *(lang_output_section_statement_type **)(PTR_DAT_001db8f8 + -0x49d8),\n       plVar6 != (lang_output_section_statement_type *)0x0)" (parenthesized_expression "(iVar16 == 0)" ( (binary_expression "iVar16 == 0" identifier == number_literal) )) && (parenthesized_expression "(plVar6 = *(lang_output_section_statement_type **)(PTR_DAT_001db8f8 + -0x49d8),\n       plVar6 != (lang_output_section_statement_type *)0x0)" ( (comma_expression "plVar6 = *(lang_output_section_statement_type **)(PTR_DAT_001db8f8 + -0x49d8),\n       plVar6 != (lang_output_section_statement_type *)0x0" (assignment_expression "plVar6 = *(lang_output_section_statement_type **)(PTR_DAT_001db8f8 + -0x49d8)" identifier = (pointer_expression "*(lang_output_section_statement_type **)(PTR_DAT_001db8f8 + -0x49d8)" * (cast_expression "(lang_output_section_statement_type **)(PTR_DAT_001db8f8 + -0x49d8)" ( (type_descriptor "lang_output_section_statement_type **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(PTR_DAT_001db8f8 + -0x49d8)" ( (binary_expression "PTR_DAT_001db8f8 + -0x49d8" identifier + number_literal) ))))) , (binary_expression "plVar6 != (lang_output_section_statement_type *)0x0" identifier != (cast_expression "(lang_output_section_statement_type *)0x0" ( (type_descriptor "lang_output_section_statement_type *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal))) ))) )) (compound_statement "{\nLAB_000586a0:\n      (*(code *)PTR_lang_add_section_001dbc3c)(&plVar6->children,s,0,plVar6);\n      return plVar6;\n    }" { (labeled_statement "LAB_000586a0:\n      (*(code *)PTR_lang_add_section_001dbc3c)(&plVar6->children,s,0,plVar6);" statement_identifier : (expression_statement "(*(code *)PTR_lang_add_section_001dbc3c)(&plVar6->children,s,0,plVar6);" (call_expression "(*(code *)PTR_lang_add_section_001dbc3c)(&plVar6->children,s,0,plVar6)" (parenthesized_expression "(*(code *)PTR_lang_add_section_001dbc3c)" ( (pointer_expression "*(code *)PTR_lang_add_section_001dbc3c" * (cast_expression "(code *)PTR_lang_add_section_001dbc3c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(&plVar6->children,s,0,plVar6)" ( (pointer_expression "&plVar6->children" & (field_expression "plVar6->children" identifier -> field_identifier)) , identifier , number_literal , identifier ))) ;)) (return_statement "return plVar6;" return identifier ;) })) (expression_statement "fVar14 = s->flags;" (assignment_expression "fVar14 = s->flags" identifier = (field_expression "s->flags" identifier -> field_identifier)) ;) (labeled_statement "LAB_000585fc:\n    pbVar11 = s->owner;" statement_identifier : (expression_statement "pbVar11 = s->owner;" (assignment_expression "pbVar11 = s->owner" identifier = (field_expression "s->owner" identifier -> field_identifier)) ;)) (expression_statement "paVar4 = s;" (assignment_expression "paVar4 = s" identifier = identifier) ;) (while_statement "while (paVar4 = (asection *)(*(code *)PTR_bfd_get_next_section_by_name_001dbf68)(pbVar11,paVar4)\n          , paVar4 != (asection *)0x0) {\n      pbVar11 = paVar4->owner;\n      if ((((paVar4->output_section == (bfd_section *)0x0) &&\n           (((paVar4->flags ^ fVar14) & 3) == 0 && (paVar4->flags & 0x8000) == 0)) &&\n          (-1 < *(int *)&pbVar11->field_0x28 << 0x12)) &&\n         ((pbVar11->usrdata != (void *)0x0 &&\n          ((*(ushort *)((int)pbVar11->usrdata + 0x24) & 0x800) == 0)))) {\n        iVar16 = (*(code *)PTR__bfd_elf_match_sections_by_type_001dbe14)(pbVar11,paVar4,s->owner,s);\n        if (iVar16 == 0) {\n          pbVar11 = paVar4->owner;\n        }\n        else {\n          pbVar11 = paVar4->owner;\n          fVar14 = (paVar4->flags ^ 8 | fVar14 ^ 8) ^ 8;\n        }\n      }\n    }" while (parenthesized_expression "(paVar4 = (asection *)(*(code *)PTR_bfd_get_next_section_by_name_001dbf68)(pbVar11,paVar4)\n          , paVar4 != (asection *)0x0)" ( (comma_expression "paVar4 = (asection *)(*(code *)PTR_bfd_get_next_section_by_name_001dbf68)(pbVar11,paVar4)\n          , paVar4 != (asection *)0x0" (assignment_expression "paVar4 = (asection *)(*(code *)PTR_bfd_get_next_section_by_name_001dbf68)(pbVar11,paVar4)" identifier = (cast_expression "(asection *)(*(code *)PTR_bfd_get_next_section_by_name_001dbf68)(pbVar11,paVar4)" ( (type_descriptor "asection *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR_bfd_get_next_section_by_name_001dbf68)(pbVar11,paVar4)" (parenthesized_expression "(*(code *)PTR_bfd_get_next_section_by_name_001dbf68)" ( (pointer_expression "*(code *)PTR_bfd_get_next_section_by_name_001dbf68" * (cast_expression "(code *)PTR_bfd_get_next_section_by_name_001dbf68" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(pbVar11,paVar4)" ( identifier , identifier ))))) , (binary_expression "paVar4 != (asection *)0x0" identifier != (cast_expression "(asection *)0x0" ( (type_descriptor "asection *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal))) )) (compound_statement "{\n      pbVar11 = paVar4->owner;\n      if ((((paVar4->output_section == (bfd_section *)0x0) &&\n           (((paVar4->flags ^ fVar14) & 3) == 0 && (paVar4->flags & 0x8000) == 0)) &&\n          (-1 < *(int *)&pbVar11->field_0x28 << 0x12)) &&\n         ((pbVar11->usrdata != (void *)0x0 &&\n          ((*(ushort *)((int)pbVar11->usrdata + 0x24) & 0x800) == 0)))) {\n        iVar16 = (*(code *)PTR__bfd_elf_match_sections_by_type_001dbe14)(pbVar11,paVar4,s->owner,s);\n        if (iVar16 == 0) {\n          pbVar11 = paVar4->owner;\n        }\n        else {\n          pbVar11 = paVar4->owner;\n          fVar14 = (paVar4->flags ^ 8 | fVar14 ^ 8) ^ 8;\n        }\n      }\n    }" { (expression_statement "pbVar11 = paVar4->owner;" (assignment_expression "pbVar11 = paVar4->owner" identifier = (field_expression "paVar4->owner" identifier -> field_identifier)) ;) (if_statement "if ((((paVar4->output_section == (bfd_section *)0x0) &&\n           (((paVar4->flags ^ fVar14) & 3) == 0 && (paVar4->flags & 0x8000) == 0)) &&\n          (-1 < *(int *)&pbVar11->field_0x28 << 0x12)) &&\n         ((pbVar11->usrdata != (void *)0x0 &&\n          ((*(ushort *)((int)pbVar11->usrdata + 0x24) & 0x800) == 0)))) {\n        iVar16 = (*(code *)PTR__bfd_elf_match_sections_by_type_001dbe14)(pbVar11,paVar4,s->owner,s);\n        if (iVar16 == 0) {\n          pbVar11 = paVar4->owner;\n        }\n        else {\n          pbVar11 = paVar4->owner;\n          fVar14 = (paVar4->flags ^ 8 | fVar14 ^ 8) ^ 8;\n        }\n      }" if (parenthesized_expression "((((paVar4->output_section == (bfd_section *)0x0) &&\n           (((paVar4->flags ^ fVar14) & 3) == 0 && (paVar4->flags & 0x8000) == 0)) &&\n          (-1 < *(int *)&pbVar11->field_0x28 << 0x12)) &&\n         ((pbVar11->usrdata != (void *)0x0 &&\n          ((*(ushort *)((int)pbVar11->usrdata + 0x24) & 0x800) == 0))))" ( (binary_expression "(((paVar4->output_section == (bfd_section *)0x0) &&\n           (((paVar4->flags ^ fVar14) & 3) == 0 && (paVar4->flags & 0x8000) == 0)) &&\n          (-1 < *(int *)&pbVar11->field_0x28 << 0x12)) &&\n         ((pbVar11->usrdata != (void *)0x0 &&\n          ((*(ushort *)((int)pbVar11->usrdata + 0x24) & 0x800) == 0)))" (parenthesized_expression "(((paVar4->output_section == (bfd_section *)0x0) &&\n           (((paVar4->flags ^ fVar14) & 3) == 0 && (paVar4->flags & 0x8000) == 0)) &&\n          (-1 < *(int *)&pbVar11->field_0x28 << 0x12))" ( (binary_expression "((paVar4->output_section == (bfd_section *)0x0) &&\n           (((paVar4->flags ^ fVar14) & 3) == 0 && (paVar4->flags & 0x8000) == 0)) &&\n          (-1 < *(int *)&pbVar11->field_0x28 << 0x12)" (parenthesized_expression "((paVar4->output_section == (bfd_section *)0x0) &&\n           (((paVar4->flags ^ fVar14) & 3) == 0 && (paVar4->flags & 0x8000) == 0))" ( (binary_expression "(paVar4->output_section == (bfd_section *)0x0) &&\n           (((paVar4->flags ^ fVar14) & 3) == 0 && (paVar4->flags & 0x8000) == 0)" (parenthesized_expression "(paVar4->output_section == (bfd_section *)0x0)" ( (binary_expression "paVar4->output_section == (bfd_section *)0x0" (field_expression "paVar4->output_section" identifier -> field_identifier) == (cast_expression "(bfd_section *)0x0" ( (type_descriptor "bfd_section *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) && (parenthesized_expression "(((paVar4->flags ^ fVar14) & 3) == 0 && (paVar4->flags & 0x8000) == 0)" ( (binary_expression "((paVar4->flags ^ fVar14) & 3) == 0 && (paVar4->flags & 0x8000) == 0" (binary_expression "((paVar4->flags ^ fVar14) & 3) == 0" (parenthesized_expression "((paVar4->flags ^ fVar14) & 3)" ( (binary_expression "(paVar4->flags ^ fVar14) & 3" (parenthesized_expression "(paVar4->flags ^ fVar14)" ( (binary_expression "paVar4->flags ^ fVar14" (field_expression "paVar4->flags" identifier -> field_identifier) ^ identifier) )) & number_literal) )) == number_literal) && (binary_expression "(paVar4->flags & 0x8000) == 0" (parenthesized_expression "(paVar4->flags & 0x8000)" ( (binary_expression "paVar4->flags & 0x8000" (field_expression "paVar4->flags" identifier -> field_identifier) & number_literal) )) == number_literal)) ))) )) && (parenthesized_expression "(-1 < *(int *)&pbVar11->field_0x28 << 0x12)" ( (binary_expression "-1 < *(int *)&pbVar11->field_0x28 << 0x12" number_literal < (binary_expression "*(int *)&pbVar11->field_0x28 << 0x12" (pointer_expression "*(int *)&pbVar11->field_0x28" * (cast_expression "(int *)&pbVar11->field_0x28" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pbVar11->field_0x28" & (field_expression "pbVar11->field_0x28" identifier -> field_identifier)))) << number_literal)) ))) )) && (parenthesized_expression "((pbVar11->usrdata != (void *)0x0 &&\n          ((*(ushort *)((int)pbVar11->usrdata + 0x24) & 0x800) == 0)))" ( (parenthesized_expression "(pbVar11->usrdata != (void *)0x0 &&\n          ((*(ushort *)((int)pbVar11->usrdata + 0x24) & 0x800) == 0))" ( (binary_expression "pbVar11->usrdata != (void *)0x0 &&\n          ((*(ushort *)((int)pbVar11->usrdata + 0x24) & 0x800) == 0)" (binary_expression "pbVar11->usrdata != (void *)0x0" (field_expression "pbVar11->usrdata" identifier -> field_identifier) != (cast_expression "(void *)0x0" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) && (parenthesized_expression "((*(ushort *)((int)pbVar11->usrdata + 0x24) & 0x800) == 0)" ( (binary_expression "(*(ushort *)((int)pbVar11->usrdata + 0x24) & 0x800) == 0" (parenthesized_expression "(*(ushort *)((int)pbVar11->usrdata + 0x24) & 0x800)" ( (binary_expression "*(ushort *)((int)pbVar11->usrdata + 0x24) & 0x800" (pointer_expression "*(ushort *)((int)pbVar11->usrdata + 0x24)" * (cast_expression "(ushort *)((int)pbVar11->usrdata + 0x24)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pbVar11->usrdata + 0x24)" ( (binary_expression "(int)pbVar11->usrdata + 0x24" (cast_expression "(int)pbVar11->usrdata" ( (type_descriptor "int" primitive_type) ) (field_expression "pbVar11->usrdata" identifier -> field_identifier)) + number_literal) )))) & number_literal) )) == number_literal) ))) )) ))) )) (compound_statement "{\n        iVar16 = (*(code *)PTR__bfd_elf_match_sections_by_type_001dbe14)(pbVar11,paVar4,s->owner,s);\n        if (iVar16 == 0) {\n          pbVar11 = paVar4->owner;\n        }\n        else {\n          pbVar11 = paVar4->owner;\n          fVar14 = (paVar4->flags ^ 8 | fVar14 ^ 8) ^ 8;\n        }\n      }" { (expression_statement "iVar16 = (*(code *)PTR__bfd_elf_match_sections_by_type_001dbe14)(pbVar11,paVar4,s->owner,s);" (assignment_expression "iVar16 = (*(code *)PTR__bfd_elf_match_sections_by_type_001dbe14)(pbVar11,paVar4,s->owner,s)" identifier = (call_expression "(*(code *)PTR__bfd_elf_match_sections_by_type_001dbe14)(pbVar11,paVar4,s->owner,s)" (parenthesized_expression "(*(code *)PTR__bfd_elf_match_sections_by_type_001dbe14)" ( (pointer_expression "*(code *)PTR__bfd_elf_match_sections_by_type_001dbe14" * (cast_expression "(code *)PTR__bfd_elf_match_sections_by_type_001dbe14" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(pbVar11,paVar4,s->owner,s)" ( identifier , identifier , (field_expression "s->owner" identifier -> field_identifier) , identifier )))) ;) (if_statement "if (iVar16 == 0) {\n          pbVar11 = paVar4->owner;\n        }\n        else {\n          pbVar11 = paVar4->owner;\n          fVar14 = (paVar4->flags ^ 8 | fVar14 ^ 8) ^ 8;\n        }" if (parenthesized_expression "(iVar16 == 0)" ( (binary_expression "iVar16 == 0" identifier == number_literal) )) (compound_statement "{\n          pbVar11 = paVar4->owner;\n        }" { (expression_statement "pbVar11 = paVar4->owner;" (assignment_expression "pbVar11 = paVar4->owner" identifier = (field_expression "paVar4->owner" identifier -> field_identifier)) ;) }) (else_clause "else {\n          pbVar11 = paVar4->owner;\n          fVar14 = (paVar4->flags ^ 8 | fVar14 ^ 8) ^ 8;\n        }" else (compound_statement "{\n          pbVar11 = paVar4->owner;\n          fVar14 = (paVar4->flags ^ 8 | fVar14 ^ 8) ^ 8;\n        }" { (expression_statement "pbVar11 = paVar4->owner;" (assignment_expression "pbVar11 = paVar4->owner" identifier = (field_expression "paVar4->owner" identifier -> field_identifier)) ;) (expression_statement "fVar14 = (paVar4->flags ^ 8 | fVar14 ^ 8) ^ 8;" (assignment_expression "fVar14 = (paVar4->flags ^ 8 | fVar14 ^ 8) ^ 8" identifier = (binary_expression "(paVar4->flags ^ 8 | fVar14 ^ 8) ^ 8" (parenthesized_expression "(paVar4->flags ^ 8 | fVar14 ^ 8)" ( (binary_expression "paVar4->flags ^ 8 | fVar14 ^ 8" (binary_expression "paVar4->flags ^ 8" (field_expression "paVar4->flags" identifier -> field_identifier) ^ number_literal) | (binary_expression "fVar14 ^ 8" identifier ^ number_literal)) )) ^ number_literal)) ;) }))) })) })) }))) (if_statement "if ((fVar14 & 0x2001) == 0) {\n    piVar17 = (int *)(PTR_DAT_001db8f8 + -0x4920);\n  }\n  else {\n    piVar17 = (int *)0x0;\n    if ((fVar14 & 1) == 0) {\n      local_40 = 0;\n      goto LAB_00058810;\n    }\n    if ((fVar14 & 2) != 0) {\n      if (bVar13 == bfd_target_elf_flavour) {\n        if (local_44 == 7) goto LAB_000589f8;\n      }\n      else {\n        iVar16 = (*(code *)PTR_strncmp_001dbe60)\n                           (secname,PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb68,5);\n        if (iVar16 == 0) {\nLAB_000589f8:\n          piVar17 = (int *)(PTR_DAT_001db8f8 + -0x4950);\n          goto LAB_00058800;\n        }\n      }\n    }\n    if ((fVar14 & 0x502) == 0) {\n      piVar17 = (int *)(PTR_DAT_001db8f8 + -0x4980);\n    }\n    else if ((int)(fVar14 << 9) < 0) {\n      piVar17 = (int *)(PTR_DAT_001db8f8 + -0x4938);\n    }\n    else if ((fVar14 & 0x400) == 0) {\n      if ((fVar14 & 8) == 0) {\n        piVar17 = (int *)(PTR_DAT_001db8f8 + -0x4998);\n      }\n      else {\n        if (bVar13 == bfd_target_elf_flavour) {\n          if ((local_44 == 4) || (local_44 == 9)) goto LAB_000585b8;\n        }\n        else {\n          iVar16 = (*(code *)PTR_strncmp_001dbe60)\n                             (secname,PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb60,4);\n          if (iVar16 == 0) {\nLAB_000585b8:\n            if ((fVar14 & 2) != 0) {\n              piVar17 = (int *)(PTR_DAT_001db8f8 + -0x4968);\n              goto LAB_00058800;\n            }\n          }\n        }\n        if ((fVar14 & 0x10) == 0) {\n          piVar17 = (int *)(PTR_DAT_001db8f8 + -0x49c8);\n        }\n        else {\n          piVar17 = (int *)(PTR_DAT_001db8f8 + -0x49e0);\n        }\n      }\n    }\n    else {\n      piVar17 = (int *)(PTR_DAT_001db8f8 + -0x49b0);\n    }\n  }" if (parenthesized_expression "((fVar14 & 0x2001) == 0)" ( (binary_expression "(fVar14 & 0x2001) == 0" (parenthesized_expression "(fVar14 & 0x2001)" ( (binary_expression "fVar14 & 0x2001" identifier & number_literal) )) == number_literal) )) (compound_statement "{\n    piVar17 = (int *)(PTR_DAT_001db8f8 + -0x4920);\n  }" { (expression_statement "piVar17 = (int *)(PTR_DAT_001db8f8 + -0x4920);" (assignment_expression "piVar17 = (int *)(PTR_DAT_001db8f8 + -0x4920)" identifier = (cast_expression "(int *)(PTR_DAT_001db8f8 + -0x4920)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_DAT_001db8f8 + -0x4920)" ( (binary_expression "PTR_DAT_001db8f8 + -0x4920" identifier + number_literal) )))) ;) }) (else_clause "else {\n    piVar17 = (int *)0x0;\n    if ((fVar14 & 1) == 0) {\n      local_40 = 0;\n      goto LAB_00058810;\n    }\n    if ((fVar14 & 2) != 0) {\n      if (bVar13 == bfd_target_elf_flavour) {\n        if (local_44 == 7) goto LAB_000589f8;\n      }\n      else {\n        iVar16 = (*(code *)PTR_strncmp_001dbe60)\n                           (secname,PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb68,5);\n        if (iVar16 == 0) {\nLAB_000589f8:\n          piVar17 = (int *)(PTR_DAT_001db8f8 + -0x4950);\n          goto LAB_00058800;\n        }\n      }\n    }\n    if ((fVar14 & 0x502) == 0) {\n      piVar17 = (int *)(PTR_DAT_001db8f8 + -0x4980);\n    }\n    else if ((int)(fVar14 << 9) < 0) {\n      piVar17 = (int *)(PTR_DAT_001db8f8 + -0x4938);\n    }\n    else if ((fVar14 & 0x400) == 0) {\n      if ((fVar14 & 8) == 0) {\n        piVar17 = (int *)(PTR_DAT_001db8f8 + -0x4998);\n      }\n      else {\n        if (bVar13 == bfd_target_elf_flavour) {\n          if ((local_44 == 4) || (local_44 == 9)) goto LAB_000585b8;\n        }\n        else {\n          iVar16 = (*(code *)PTR_strncmp_001dbe60)\n                             (secname,PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb60,4);\n          if (iVar16 == 0) {\nLAB_000585b8:\n            if ((fVar14 & 2) != 0) {\n              piVar17 = (int *)(PTR_DAT_001db8f8 + -0x4968);\n              goto LAB_00058800;\n            }\n          }\n        }\n        if ((fVar14 & 0x10) == 0) {\n          piVar17 = (int *)(PTR_DAT_001db8f8 + -0x49c8);\n        }\n        else {\n          piVar17 = (int *)(PTR_DAT_001db8f8 + -0x49e0);\n        }\n      }\n    }\n    else {\n      piVar17 = (int *)(PTR_DAT_001db8f8 + -0x49b0);\n    }\n  }" else (compound_statement "{\n    piVar17 = (int *)0x0;\n    if ((fVar14 & 1) == 0) {\n      local_40 = 0;\n      goto LAB_00058810;\n    }\n    if ((fVar14 & 2) != 0) {\n      if (bVar13 == bfd_target_elf_flavour) {\n        if (local_44 == 7) goto LAB_000589f8;\n      }\n      else {\n        iVar16 = (*(code *)PTR_strncmp_001dbe60)\n                           (secname,PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb68,5);\n        if (iVar16 == 0) {\nLAB_000589f8:\n          piVar17 = (int *)(PTR_DAT_001db8f8 + -0x4950);\n          goto LAB_00058800;\n        }\n      }\n    }\n    if ((fVar14 & 0x502) == 0) {\n      piVar17 = (int *)(PTR_DAT_001db8f8 + -0x4980);\n    }\n    else if ((int)(fVar14 << 9) < 0) {\n      piVar17 = (int *)(PTR_DAT_001db8f8 + -0x4938);\n    }\n    else if ((fVar14 & 0x400) == 0) {\n      if ((fVar14 & 8) == 0) {\n        piVar17 = (int *)(PTR_DAT_001db8f8 + -0x4998);\n      }\n      else {\n        if (bVar13 == bfd_target_elf_flavour) {\n          if ((local_44 == 4) || (local_44 == 9)) goto LAB_000585b8;\n        }\n        else {\n          iVar16 = (*(code *)PTR_strncmp_001dbe60)\n                             (secname,PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb60,4);\n          if (iVar16 == 0) {\nLAB_000585b8:\n            if ((fVar14 & 2) != 0) {\n              piVar17 = (int *)(PTR_DAT_001db8f8 + -0x4968);\n              goto LAB_00058800;\n            }\n          }\n        }\n        if ((fVar14 & 0x10) == 0) {\n          piVar17 = (int *)(PTR_DAT_001db8f8 + -0x49c8);\n        }\n        else {\n          piVar17 = (int *)(PTR_DAT_001db8f8 + -0x49e0);\n        }\n      }\n    }\n    else {\n      piVar17 = (int *)(PTR_DAT_001db8f8 + -0x49b0);\n    }\n  }" { (expression_statement "piVar17 = (int *)0x0;" (assignment_expression "piVar17 = (int *)0x0" identifier = (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (if_statement "if ((fVar14 & 1) == 0) {\n      local_40 = 0;\n      goto LAB_00058810;\n    }" if (parenthesized_expression "((fVar14 & 1) == 0)" ( (binary_expression "(fVar14 & 1) == 0" (parenthesized_expression "(fVar14 & 1)" ( (binary_expression "fVar14 & 1" identifier & number_literal) )) == number_literal) )) (compound_statement "{\n      local_40 = 0;\n      goto LAB_00058810;\n    }" { (expression_statement "local_40 = 0;" (assignment_expression "local_40 = 0" identifier = number_literal) ;) (goto_statement "goto LAB_00058810;" goto statement_identifier ;) })) (if_statement "if ((fVar14 & 2) != 0) {\n      if (bVar13 == bfd_target_elf_flavour) {\n        if (local_44 == 7) goto LAB_000589f8;\n      }\n      else {\n        iVar16 = (*(code *)PTR_strncmp_001dbe60)\n                           (secname,PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb68,5);\n        if (iVar16 == 0) {\nLAB_000589f8:\n          piVar17 = (int *)(PTR_DAT_001db8f8 + -0x4950);\n          goto LAB_00058800;\n        }\n      }\n    }" if (parenthesized_expression "((fVar14 & 2) != 0)" ( (binary_expression "(fVar14 & 2) != 0" (parenthesized_expression "(fVar14 & 2)" ( (binary_expression "fVar14 & 2" identifier & number_literal) )) != number_literal) )) (compound_statement "{\n      if (bVar13 == bfd_target_elf_flavour) {\n        if (local_44 == 7) goto LAB_000589f8;\n      }\n      else {\n        iVar16 = (*(code *)PTR_strncmp_001dbe60)\n                           (secname,PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb68,5);\n        if (iVar16 == 0) {\nLAB_000589f8:\n          piVar17 = (int *)(PTR_DAT_001db8f8 + -0x4950);\n          goto LAB_00058800;\n        }\n      }\n    }" { (if_statement "if (bVar13 == bfd_target_elf_flavour) {\n        if (local_44 == 7) goto LAB_000589f8;\n      }\n      else {\n        iVar16 = (*(code *)PTR_strncmp_001dbe60)\n                           (secname,PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb68,5);\n        if (iVar16 == 0) {\nLAB_000589f8:\n          piVar17 = (int *)(PTR_DAT_001db8f8 + -0x4950);\n          goto LAB_00058800;\n        }\n      }" if (parenthesized_expression "(bVar13 == bfd_target_elf_flavour)" ( (binary_expression "bVar13 == bfd_target_elf_flavour" identifier == identifier) )) (compound_statement "{\n        if (local_44 == 7) goto LAB_000589f8;\n      }" { (if_statement "if (local_44 == 7) goto LAB_000589f8;" if (parenthesized_expression "(local_44 == 7)" ( (binary_expression "local_44 == 7" identifier == number_literal) )) (goto_statement "goto LAB_000589f8;" goto statement_identifier ;)) }) (else_clause "else {\n        iVar16 = (*(code *)PTR_strncmp_001dbe60)\n                           (secname,PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb68,5);\n        if (iVar16 == 0) {\nLAB_000589f8:\n          piVar17 = (int *)(PTR_DAT_001db8f8 + -0x4950);\n          goto LAB_00058800;\n        }\n      }" else (compound_statement "{\n        iVar16 = (*(code *)PTR_strncmp_001dbe60)\n                           (secname,PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb68,5);\n        if (iVar16 == 0) {\nLAB_000589f8:\n          piVar17 = (int *)(PTR_DAT_001db8f8 + -0x4950);\n          goto LAB_00058800;\n        }\n      }" { (expression_statement "iVar16 = (*(code *)PTR_strncmp_001dbe60)\n                           (secname,PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb68,5);" (assignment_expression "iVar16 = (*(code *)PTR_strncmp_001dbe60)\n                           (secname,PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb68,5)" identifier = (call_expression "(*(code *)PTR_strncmp_001dbe60)\n                           (secname,PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb68,5)" (parenthesized_expression "(*(code *)PTR_strncmp_001dbe60)" ( (pointer_expression "*(code *)PTR_strncmp_001dbe60" * (cast_expression "(code *)PTR_strncmp_001dbe60" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(secname,PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb68,5)" ( identifier , (binary_expression "PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb68" identifier + number_literal) , number_literal )))) ;) (if_statement "if (iVar16 == 0) {\nLAB_000589f8:\n          piVar17 = (int *)(PTR_DAT_001db8f8 + -0x4950);\n          goto LAB_00058800;\n        }" if (parenthesized_expression "(iVar16 == 0)" ( (binary_expression "iVar16 == 0" identifier == number_literal) )) (compound_statement "{\nLAB_000589f8:\n          piVar17 = (int *)(PTR_DAT_001db8f8 + -0x4950);\n          goto LAB_00058800;\n        }" { (labeled_statement "LAB_000589f8:\n          piVar17 = (int *)(PTR_DAT_001db8f8 + -0x4950);" statement_identifier : (expression_statement "piVar17 = (int *)(PTR_DAT_001db8f8 + -0x4950);" (assignment_expression "piVar17 = (int *)(PTR_DAT_001db8f8 + -0x4950)" identifier = (cast_expression "(int *)(PTR_DAT_001db8f8 + -0x4950)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_DAT_001db8f8 + -0x4950)" ( (binary_expression "PTR_DAT_001db8f8 + -0x4950" identifier + number_literal) )))) ;)) (goto_statement "goto LAB_00058800;" goto statement_identifier ;) })) }))) })) (if_statement "if ((fVar14 & 0x502) == 0) {\n      piVar17 = (int *)(PTR_DAT_001db8f8 + -0x4980);\n    }\n    else if ((int)(fVar14 << 9) < 0) {\n      piVar17 = (int *)(PTR_DAT_001db8f8 + -0x4938);\n    }\n    else if ((fVar14 & 0x400) == 0) {\n      if ((fVar14 & 8) == 0) {\n        piVar17 = (int *)(PTR_DAT_001db8f8 + -0x4998);\n      }\n      else {\n        if (bVar13 == bfd_target_elf_flavour) {\n          if ((local_44 == 4) || (local_44 == 9)) goto LAB_000585b8;\n        }\n        else {\n          iVar16 = (*(code *)PTR_strncmp_001dbe60)\n                             (secname,PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb60,4);\n          if (iVar16 == 0) {\nLAB_000585b8:\n            if ((fVar14 & 2) != 0) {\n              piVar17 = (int *)(PTR_DAT_001db8f8 + -0x4968);\n              goto LAB_00058800;\n            }\n          }\n        }\n        if ((fVar14 & 0x10) == 0) {\n          piVar17 = (int *)(PTR_DAT_001db8f8 + -0x49c8);\n        }\n        else {\n          piVar17 = (int *)(PTR_DAT_001db8f8 + -0x49e0);\n        }\n      }\n    }\n    else {\n      piVar17 = (int *)(PTR_DAT_001db8f8 + -0x49b0);\n    }" if (parenthesized_expression "((fVar14 & 0x502) == 0)" ( (binary_expression "(fVar14 & 0x502) == 0" (parenthesized_expression "(fVar14 & 0x502)" ( (binary_expression "fVar14 & 0x502" identifier & number_literal) )) == number_literal) )) (compound_statement "{\n      piVar17 = (int *)(PTR_DAT_001db8f8 + -0x4980);\n    }" { (expression_statement "piVar17 = (int *)(PTR_DAT_001db8f8 + -0x4980);" (assignment_expression "piVar17 = (int *)(PTR_DAT_001db8f8 + -0x4980)" identifier = (cast_expression "(int *)(PTR_DAT_001db8f8 + -0x4980)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_DAT_001db8f8 + -0x4980)" ( (binary_expression "PTR_DAT_001db8f8 + -0x4980" identifier + number_literal) )))) ;) }) (else_clause "else if ((int)(fVar14 << 9) < 0) {\n      piVar17 = (int *)(PTR_DAT_001db8f8 + -0x4938);\n    }\n    else if ((fVar14 & 0x400) == 0) {\n      if ((fVar14 & 8) == 0) {\n        piVar17 = (int *)(PTR_DAT_001db8f8 + -0x4998);\n      }\n      else {\n        if (bVar13 == bfd_target_elf_flavour) {\n          if ((local_44 == 4) || (local_44 == 9)) goto LAB_000585b8;\n        }\n        else {\n          iVar16 = (*(code *)PTR_strncmp_001dbe60)\n                             (secname,PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb60,4);\n          if (iVar16 == 0) {\nLAB_000585b8:\n            if ((fVar14 & 2) != 0) {\n              piVar17 = (int *)(PTR_DAT_001db8f8 + -0x4968);\n              goto LAB_00058800;\n            }\n          }\n        }\n        if ((fVar14 & 0x10) == 0) {\n          piVar17 = (int *)(PTR_DAT_001db8f8 + -0x49c8);\n        }\n        else {\n          piVar17 = (int *)(PTR_DAT_001db8f8 + -0x49e0);\n        }\n      }\n    }\n    else {\n      piVar17 = (int *)(PTR_DAT_001db8f8 + -0x49b0);\n    }" else (if_statement "if ((int)(fVar14 << 9) < 0) {\n      piVar17 = (int *)(PTR_DAT_001db8f8 + -0x4938);\n    }\n    else if ((fVar14 & 0x400) == 0) {\n      if ((fVar14 & 8) == 0) {\n        piVar17 = (int *)(PTR_DAT_001db8f8 + -0x4998);\n      }\n      else {\n        if (bVar13 == bfd_target_elf_flavour) {\n          if ((local_44 == 4) || (local_44 == 9)) goto LAB_000585b8;\n        }\n        else {\n          iVar16 = (*(code *)PTR_strncmp_001dbe60)\n                             (secname,PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb60,4);\n          if (iVar16 == 0) {\nLAB_000585b8:\n            if ((fVar14 & 2) != 0) {\n              piVar17 = (int *)(PTR_DAT_001db8f8 + -0x4968);\n              goto LAB_00058800;\n            }\n          }\n        }\n        if ((fVar14 & 0x10) == 0) {\n          piVar17 = (int *)(PTR_DAT_001db8f8 + -0x49c8);\n        }\n        else {\n          piVar17 = (int *)(PTR_DAT_001db8f8 + -0x49e0);\n        }\n      }\n    }\n    else {\n      piVar17 = (int *)(PTR_DAT_001db8f8 + -0x49b0);\n    }" if (parenthesized_expression "((int)(fVar14 << 9) < 0)" ( (binary_expression "(int)(fVar14 << 9) < 0" (cast_expression "(int)(fVar14 << 9)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(fVar14 << 9)" ( (binary_expression "fVar14 << 9" identifier << number_literal) ))) < number_literal) )) (compound_statement "{\n      piVar17 = (int *)(PTR_DAT_001db8f8 + -0x4938);\n    }" { (expression_statement "piVar17 = (int *)(PTR_DAT_001db8f8 + -0x4938);" (assignment_expression "piVar17 = (int *)(PTR_DAT_001db8f8 + -0x4938)" identifier = (cast_expression "(int *)(PTR_DAT_001db8f8 + -0x4938)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_DAT_001db8f8 + -0x4938)" ( (binary_expression "PTR_DAT_001db8f8 + -0x4938" identifier + number_literal) )))) ;) }) (else_clause "else if ((fVar14 & 0x400) == 0) {\n      if ((fVar14 & 8) == 0) {\n        piVar17 = (int *)(PTR_DAT_001db8f8 + -0x4998);\n      }\n      else {\n        if (bVar13 == bfd_target_elf_flavour) {\n          if ((local_44 == 4) || (local_44 == 9)) goto LAB_000585b8;\n        }\n        else {\n          iVar16 = (*(code *)PTR_strncmp_001dbe60)\n                             (secname,PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb60,4);\n          if (iVar16 == 0) {\nLAB_000585b8:\n            if ((fVar14 & 2) != 0) {\n              piVar17 = (int *)(PTR_DAT_001db8f8 + -0x4968);\n              goto LAB_00058800;\n            }\n          }\n        }\n        if ((fVar14 & 0x10) == 0) {\n          piVar17 = (int *)(PTR_DAT_001db8f8 + -0x49c8);\n        }\n        else {\n          piVar17 = (int *)(PTR_DAT_001db8f8 + -0x49e0);\n        }\n      }\n    }\n    else {\n      piVar17 = (int *)(PTR_DAT_001db8f8 + -0x49b0);\n    }" else (if_statement "if ((fVar14 & 0x400) == 0) {\n      if ((fVar14 & 8) == 0) {\n        piVar17 = (int *)(PTR_DAT_001db8f8 + -0x4998);\n      }\n      else {\n        if (bVar13 == bfd_target_elf_flavour) {\n          if ((local_44 == 4) || (local_44 == 9)) goto LAB_000585b8;\n        }\n        else {\n          iVar16 = (*(code *)PTR_strncmp_001dbe60)\n                             (secname,PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb60,4);\n          if (iVar16 == 0) {\nLAB_000585b8:\n            if ((fVar14 & 2) != 0) {\n              piVar17 = (int *)(PTR_DAT_001db8f8 + -0x4968);\n              goto LAB_00058800;\n            }\n          }\n        }\n        if ((fVar14 & 0x10) == 0) {\n          piVar17 = (int *)(PTR_DAT_001db8f8 + -0x49c8);\n        }\n        else {\n          piVar17 = (int *)(PTR_DAT_001db8f8 + -0x49e0);\n        }\n      }\n    }\n    else {\n      piVar17 = (int *)(PTR_DAT_001db8f8 + -0x49b0);\n    }" if (parenthesized_expression "((fVar14 & 0x400) == 0)" ( (binary_expression "(fVar14 & 0x400) == 0" (parenthesized_expression "(fVar14 & 0x400)" ( (binary_expression "fVar14 & 0x400" identifier & number_literal) )) == number_literal) )) (compound_statement "{\n      if ((fVar14 & 8) == 0) {\n        piVar17 = (int *)(PTR_DAT_001db8f8 + -0x4998);\n      }\n      else {\n        if (bVar13 == bfd_target_elf_flavour) {\n          if ((local_44 == 4) || (local_44 == 9)) goto LAB_000585b8;\n        }\n        else {\n          iVar16 = (*(code *)PTR_strncmp_001dbe60)\n                             (secname,PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb60,4);\n          if (iVar16 == 0) {\nLAB_000585b8:\n            if ((fVar14 & 2) != 0) {\n              piVar17 = (int *)(PTR_DAT_001db8f8 + -0x4968);\n              goto LAB_00058800;\n            }\n          }\n        }\n        if ((fVar14 & 0x10) == 0) {\n          piVar17 = (int *)(PTR_DAT_001db8f8 + -0x49c8);\n        }\n        else {\n          piVar17 = (int *)(PTR_DAT_001db8f8 + -0x49e0);\n        }\n      }\n    }" { (if_statement "if ((fVar14 & 8) == 0) {\n        piVar17 = (int *)(PTR_DAT_001db8f8 + -0x4998);\n      }\n      else {\n        if (bVar13 == bfd_target_elf_flavour) {\n          if ((local_44 == 4) || (local_44 == 9)) goto LAB_000585b8;\n        }\n        else {\n          iVar16 = (*(code *)PTR_strncmp_001dbe60)\n                             (secname,PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb60,4);\n          if (iVar16 == 0) {\nLAB_000585b8:\n            if ((fVar14 & 2) != 0) {\n              piVar17 = (int *)(PTR_DAT_001db8f8 + -0x4968);\n              goto LAB_00058800;\n            }\n          }\n        }\n        if ((fVar14 & 0x10) == 0) {\n          piVar17 = (int *)(PTR_DAT_001db8f8 + -0x49c8);\n        }\n        else {\n          piVar17 = (int *)(PTR_DAT_001db8f8 + -0x49e0);\n        }\n      }" if (parenthesized_expression "((fVar14 & 8) == 0)" ( (binary_expression "(fVar14 & 8) == 0" (parenthesized_expression "(fVar14 & 8)" ( (binary_expression "fVar14 & 8" identifier & number_literal) )) == number_literal) )) (compound_statement "{\n        piVar17 = (int *)(PTR_DAT_001db8f8 + -0x4998);\n      }" { (expression_statement "piVar17 = (int *)(PTR_DAT_001db8f8 + -0x4998);" (assignment_expression "piVar17 = (int *)(PTR_DAT_001db8f8 + -0x4998)" identifier = (cast_expression "(int *)(PTR_DAT_001db8f8 + -0x4998)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_DAT_001db8f8 + -0x4998)" ( (binary_expression "PTR_DAT_001db8f8 + -0x4998" identifier + number_literal) )))) ;) }) (else_clause "else {\n        if (bVar13 == bfd_target_elf_flavour) {\n          if ((local_44 == 4) || (local_44 == 9)) goto LAB_000585b8;\n        }\n        else {\n          iVar16 = (*(code *)PTR_strncmp_001dbe60)\n                             (secname,PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb60,4);\n          if (iVar16 == 0) {\nLAB_000585b8:\n            if ((fVar14 & 2) != 0) {\n              piVar17 = (int *)(PTR_DAT_001db8f8 + -0x4968);\n              goto LAB_00058800;\n            }\n          }\n        }\n        if ((fVar14 & 0x10) == 0) {\n          piVar17 = (int *)(PTR_DAT_001db8f8 + -0x49c8);\n        }\n        else {\n          piVar17 = (int *)(PTR_DAT_001db8f8 + -0x49e0);\n        }\n      }" else (compound_statement "{\n        if (bVar13 == bfd_target_elf_flavour) {\n          if ((local_44 == 4) || (local_44 == 9)) goto LAB_000585b8;\n        }\n        else {\n          iVar16 = (*(code *)PTR_strncmp_001dbe60)\n                             (secname,PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb60,4);\n          if (iVar16 == 0) {\nLAB_000585b8:\n            if ((fVar14 & 2) != 0) {\n              piVar17 = (int *)(PTR_DAT_001db8f8 + -0x4968);\n              goto LAB_00058800;\n            }\n          }\n        }\n        if ((fVar14 & 0x10) == 0) {\n          piVar17 = (int *)(PTR_DAT_001db8f8 + -0x49c8);\n        }\n        else {\n          piVar17 = (int *)(PTR_DAT_001db8f8 + -0x49e0);\n        }\n      }" { (if_statement "if (bVar13 == bfd_target_elf_flavour) {\n          if ((local_44 == 4) || (local_44 == 9)) goto LAB_000585b8;\n        }\n        else {\n          iVar16 = (*(code *)PTR_strncmp_001dbe60)\n                             (secname,PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb60,4);\n          if (iVar16 == 0) {\nLAB_000585b8:\n            if ((fVar14 & 2) != 0) {\n              piVar17 = (int *)(PTR_DAT_001db8f8 + -0x4968);\n              goto LAB_00058800;\n            }\n          }\n        }" if (parenthesized_expression "(bVar13 == bfd_target_elf_flavour)" ( (binary_expression "bVar13 == bfd_target_elf_flavour" identifier == identifier) )) (compound_statement "{\n          if ((local_44 == 4) || (local_44 == 9)) goto LAB_000585b8;\n        }" { (if_statement "if ((local_44 == 4) || (local_44 == 9)) goto LAB_000585b8;" if (parenthesized_expression "((local_44 == 4) || (local_44 == 9))" ( (binary_expression "(local_44 == 4) || (local_44 == 9)" (parenthesized_expression "(local_44 == 4)" ( (binary_expression "local_44 == 4" identifier == number_literal) )) || (parenthesized_expression "(local_44 == 9)" ( (binary_expression "local_44 == 9" identifier == number_literal) ))) )) (goto_statement "goto LAB_000585b8;" goto statement_identifier ;)) }) (else_clause "else {\n          iVar16 = (*(code *)PTR_strncmp_001dbe60)\n                             (secname,PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb60,4);\n          if (iVar16 == 0) {\nLAB_000585b8:\n            if ((fVar14 & 2) != 0) {\n              piVar17 = (int *)(PTR_DAT_001db8f8 + -0x4968);\n              goto LAB_00058800;\n            }\n          }\n        }" else (compound_statement "{\n          iVar16 = (*(code *)PTR_strncmp_001dbe60)\n                             (secname,PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb60,4);\n          if (iVar16 == 0) {\nLAB_000585b8:\n            if ((fVar14 & 2) != 0) {\n              piVar17 = (int *)(PTR_DAT_001db8f8 + -0x4968);\n              goto LAB_00058800;\n            }\n          }\n        }" { (expression_statement "iVar16 = (*(code *)PTR_strncmp_001dbe60)\n                             (secname,PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb60,4);" (assignment_expression "iVar16 = (*(code *)PTR_strncmp_001dbe60)\n                             (secname,PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb60,4)" identifier = (call_expression "(*(code *)PTR_strncmp_001dbe60)\n                             (secname,PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb60,4)" (parenthesized_expression "(*(code *)PTR_strncmp_001dbe60)" ( (pointer_expression "*(code *)PTR_strncmp_001dbe60" * (cast_expression "(code *)PTR_strncmp_001dbe60" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(secname,PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb60,4)" ( identifier , (binary_expression "PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb60" identifier + number_literal) , number_literal )))) ;) (if_statement "if (iVar16 == 0) {\nLAB_000585b8:\n            if ((fVar14 & 2) != 0) {\n              piVar17 = (int *)(PTR_DAT_001db8f8 + -0x4968);\n              goto LAB_00058800;\n            }\n          }" if (parenthesized_expression "(iVar16 == 0)" ( (binary_expression "iVar16 == 0" identifier == number_literal) )) (compound_statement "{\nLAB_000585b8:\n            if ((fVar14 & 2) != 0) {\n              piVar17 = (int *)(PTR_DAT_001db8f8 + -0x4968);\n              goto LAB_00058800;\n            }\n          }" { (labeled_statement "LAB_000585b8:\n            if ((fVar14 & 2) != 0) {\n              piVar17 = (int *)(PTR_DAT_001db8f8 + -0x4968);\n              goto LAB_00058800;\n            }" statement_identifier : (if_statement "if ((fVar14 & 2) != 0) {\n              piVar17 = (int *)(PTR_DAT_001db8f8 + -0x4968);\n              goto LAB_00058800;\n            }" if (parenthesized_expression "((fVar14 & 2) != 0)" ( (binary_expression "(fVar14 & 2) != 0" (parenthesized_expression "(fVar14 & 2)" ( (binary_expression "fVar14 & 2" identifier & number_literal) )) != number_literal) )) (compound_statement "{\n              piVar17 = (int *)(PTR_DAT_001db8f8 + -0x4968);\n              goto LAB_00058800;\n            }" { (expression_statement "piVar17 = (int *)(PTR_DAT_001db8f8 + -0x4968);" (assignment_expression "piVar17 = (int *)(PTR_DAT_001db8f8 + -0x4968)" identifier = (cast_expression "(int *)(PTR_DAT_001db8f8 + -0x4968)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_DAT_001db8f8 + -0x4968)" ( (binary_expression "PTR_DAT_001db8f8 + -0x4968" identifier + number_literal) )))) ;) (goto_statement "goto LAB_00058800;" goto statement_identifier ;) }))) })) }))) (if_statement "if ((fVar14 & 0x10) == 0) {\n          piVar17 = (int *)(PTR_DAT_001db8f8 + -0x49c8);\n        }\n        else {\n          piVar17 = (int *)(PTR_DAT_001db8f8 + -0x49e0);\n        }" if (parenthesized_expression "((fVar14 & 0x10) == 0)" ( (binary_expression "(fVar14 & 0x10) == 0" (parenthesized_expression "(fVar14 & 0x10)" ( (binary_expression "fVar14 & 0x10" identifier & number_literal) )) == number_literal) )) (compound_statement "{\n          piVar17 = (int *)(PTR_DAT_001db8f8 + -0x49c8);\n        }" { (expression_statement "piVar17 = (int *)(PTR_DAT_001db8f8 + -0x49c8);" (assignment_expression "piVar17 = (int *)(PTR_DAT_001db8f8 + -0x49c8)" identifier = (cast_expression "(int *)(PTR_DAT_001db8f8 + -0x49c8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_DAT_001db8f8 + -0x49c8)" ( (binary_expression "PTR_DAT_001db8f8 + -0x49c8" identifier + number_literal) )))) ;) }) (else_clause "else {\n          piVar17 = (int *)(PTR_DAT_001db8f8 + -0x49e0);\n        }" else (compound_statement "{\n          piVar17 = (int *)(PTR_DAT_001db8f8 + -0x49e0);\n        }" { (expression_statement "piVar17 = (int *)(PTR_DAT_001db8f8 + -0x49e0);" (assignment_expression "piVar17 = (int *)(PTR_DAT_001db8f8 + -0x49e0)" identifier = (cast_expression "(int *)(PTR_DAT_001db8f8 + -0x49e0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_DAT_001db8f8 + -0x49e0)" ( (binary_expression "PTR_DAT_001db8f8 + -0x49e0" identifier + number_literal) )))) ;) }))) }))) }) (else_clause "else {\n      piVar17 = (int *)(PTR_DAT_001db8f8 + -0x49b0);\n    }" else (compound_statement "{\n      piVar17 = (int *)(PTR_DAT_001db8f8 + -0x49b0);\n    }" { (expression_statement "piVar17 = (int *)(PTR_DAT_001db8f8 + -0x49b0);" (assignment_expression "piVar17 = (int *)(PTR_DAT_001db8f8 + -0x49b0)" identifier = (cast_expression "(int *)(PTR_DAT_001db8f8 + -0x49b0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_DAT_001db8f8 + -0x49b0)" ( (binary_expression "PTR_DAT_001db8f8 + -0x49b0" identifier + number_literal) )))) ;) }))))))) }))) (labeled_statement "LAB_00058800:\n  local_40 = piVar17[2];" statement_identifier : (expression_statement "local_40 = piVar17[2];" (assignment_expression "local_40 = piVar17[2]" identifier = (subscript_expression "piVar17[2]" identifier [ number_literal ])) ;)) (if_statement "if (local_40 != 0) goto LAB_00058810;" if (parenthesized_expression "(local_40 != 0)" ( (binary_expression "local_40 != 0" identifier != number_literal) )) (goto_statement "goto LAB_00058810;" goto statement_identifier ;)) (if_statement "if (*piVar17 == 0) {\n    cVar2 = s->name[4];\n    if (*(int *)PTR_lang_output_section_statement_001dbbf4 != 0) {\n      local_44 = 0;\n      local_40 = 0;\n      puVar7 = PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb60;\n      local_34 = 0;\n      puVar8 = PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb70;\n      iVar16 = 0;\n      iVar3 = 0;\n      iVar9 = *(int *)PTR_lang_output_section_statement_001dbbf4;\n      do {\n        iVar20 = iVar9;\n        if (*(int *)(iVar20 + 0x48) < 0) {\nLAB_00058a98:\n          if (*(int *)(iVar20 + 0x1c) != 0) {\n            uVar10 = *(uint *)(*(int *)(iVar20 + 0x1c) + 0x14);\n            iVar9 = iVar3;\njoined_r0x00058aac:\n            if (((uVar10 & 1) != 0) && (iVar3 = iVar9, local_34 = iVar20, (uVar10 & 8) != 0)) {\n              local_40 = iVar20;\n            }\n          }\n        }\n        else {\n          iVar18 = *(int *)(iVar20 + 0x18);\n          iVar9 = (*(code *)PTR_strncmp_001dbe60)(iVar18,puVar7,4);\n          if (iVar9 != 0) goto LAB_00058a98;\n          uVar10 = (uint)(*(char *)(iVar18 + 4) == 'a');\n          if ((bVar1) ||\n             (iVar9 = (*(code *)PTR_strcmp_001dc144)(puVar8,iVar18 + uVar10 + 4), iVar9 == 0))\n          break;\n          iVar9 = iVar20;\n          if ((cVar2 == 'a') != uVar10) {\n            if (iVar16 == 0) {\n              iVar16 = iVar20;\n            }\n            iVar9 = iVar16;\n            if (iVar3 != 0) goto LAB_00058a98;\n          }\n          iVar16 = iVar9;\n          if (*(int *)(iVar20 + 0x1c) != 0) {\n            uVar10 = *(uint *)(*(int *)(iVar20 + 0x1c) + 0x14);\n            iVar9 = iVar20;\n            goto joined_r0x00058aac;\n          }\n        }\n        local_44 = iVar20;\n        iVar9 = *(int *)(iVar20 + 0x10);\n      } while (*(int *)(iVar20 + 0x10) != 0);\n      if (iVar3 == 0) {\n        if (iVar16 == 0) {\n          if (local_40 == 0) {\n            local_40 = local_34;\n            if (local_34 == 0) {\n              local_40 = local_44;\n            }\n            piVar17[2] = local_40;\n          }\n          else {\n            piVar17[2] = local_40;\n          }\n        }\n        else {\n          piVar17[2] = iVar16;\n          local_40 = iVar16;\n        }\n      }\n      else {\n        piVar17[2] = iVar3;\n        local_40 = iVar3;\n      }\n      goto LAB_00058960;\n    }\n  }\n  else {\n    local_40 = (*(code *)PTR_lang_output_section_statement_lookup_001dbc2c)(*piVar17,0,0);\n    piVar17[2] = local_40;\nLAB_00058960:\n    if (local_40 != 0) goto LAB_00058810;\n  }" if (parenthesized_expression "(*piVar17 == 0)" ( (binary_expression "*piVar17 == 0" (pointer_expression "*piVar17" * identifier) == number_literal) )) (compound_statement "{\n    cVar2 = s->name[4];\n    if (*(int *)PTR_lang_output_section_statement_001dbbf4 != 0) {\n      local_44 = 0;\n      local_40 = 0;\n      puVar7 = PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb60;\n      local_34 = 0;\n      puVar8 = PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb70;\n      iVar16 = 0;\n      iVar3 = 0;\n      iVar9 = *(int *)PTR_lang_output_section_statement_001dbbf4;\n      do {\n        iVar20 = iVar9;\n        if (*(int *)(iVar20 + 0x48) < 0) {\nLAB_00058a98:\n          if (*(int *)(iVar20 + 0x1c) != 0) {\n            uVar10 = *(uint *)(*(int *)(iVar20 + 0x1c) + 0x14);\n            iVar9 = iVar3;\njoined_r0x00058aac:\n            if (((uVar10 & 1) != 0) && (iVar3 = iVar9, local_34 = iVar20, (uVar10 & 8) != 0)) {\n              local_40 = iVar20;\n            }\n          }\n        }\n        else {\n          iVar18 = *(int *)(iVar20 + 0x18);\n          iVar9 = (*(code *)PTR_strncmp_001dbe60)(iVar18,puVar7,4);\n          if (iVar9 != 0) goto LAB_00058a98;\n          uVar10 = (uint)(*(char *)(iVar18 + 4) == 'a');\n          if ((bVar1) ||\n             (iVar9 = (*(code *)PTR_strcmp_001dc144)(puVar8,iVar18 + uVar10 + 4), iVar9 == 0))\n          break;\n          iVar9 = iVar20;\n          if ((cVar2 == 'a') != uVar10) {\n            if (iVar16 == 0) {\n              iVar16 = iVar20;\n            }\n            iVar9 = iVar16;\n            if (iVar3 != 0) goto LAB_00058a98;\n          }\n          iVar16 = iVar9;\n          if (*(int *)(iVar20 + 0x1c) != 0) {\n            uVar10 = *(uint *)(*(int *)(iVar20 + 0x1c) + 0x14);\n            iVar9 = iVar20;\n            goto joined_r0x00058aac;\n          }\n        }\n        local_44 = iVar20;\n        iVar9 = *(int *)(iVar20 + 0x10);\n      } while (*(int *)(iVar20 + 0x10) != 0);\n      if (iVar3 == 0) {\n        if (iVar16 == 0) {\n          if (local_40 == 0) {\n            local_40 = local_34;\n            if (local_34 == 0) {\n              local_40 = local_44;\n            }\n            piVar17[2] = local_40;\n          }\n          else {\n            piVar17[2] = local_40;\n          }\n        }\n        else {\n          piVar17[2] = iVar16;\n          local_40 = iVar16;\n        }\n      }\n      else {\n        piVar17[2] = iVar3;\n        local_40 = iVar3;\n      }\n      goto LAB_00058960;\n    }\n  }" { (expression_statement "cVar2 = s->name[4];" (assignment_expression "cVar2 = s->name[4]" identifier = (subscript_expression "s->name[4]" (field_expression "s->name" identifier -> field_identifier) [ number_literal ])) ;) (if_statement "if (*(int *)PTR_lang_output_section_statement_001dbbf4 != 0) {\n      local_44 = 0;\n      local_40 = 0;\n      puVar7 = PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb60;\n      local_34 = 0;\n      puVar8 = PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb70;\n      iVar16 = 0;\n      iVar3 = 0;\n      iVar9 = *(int *)PTR_lang_output_section_statement_001dbbf4;\n      do {\n        iVar20 = iVar9;\n        if (*(int *)(iVar20 + 0x48) < 0) {\nLAB_00058a98:\n          if (*(int *)(iVar20 + 0x1c) != 0) {\n            uVar10 = *(uint *)(*(int *)(iVar20 + 0x1c) + 0x14);\n            iVar9 = iVar3;\njoined_r0x00058aac:\n            if (((uVar10 & 1) != 0) && (iVar3 = iVar9, local_34 = iVar20, (uVar10 & 8) != 0)) {\n              local_40 = iVar20;\n            }\n          }\n        }\n        else {\n          iVar18 = *(int *)(iVar20 + 0x18);\n          iVar9 = (*(code *)PTR_strncmp_001dbe60)(iVar18,puVar7,4);\n          if (iVar9 != 0) goto LAB_00058a98;\n          uVar10 = (uint)(*(char *)(iVar18 + 4) == 'a');\n          if ((bVar1) ||\n             (iVar9 = (*(code *)PTR_strcmp_001dc144)(puVar8,iVar18 + uVar10 + 4), iVar9 == 0))\n          break;\n          iVar9 = iVar20;\n          if ((cVar2 == 'a') != uVar10) {\n            if (iVar16 == 0) {\n              iVar16 = iVar20;\n            }\n            iVar9 = iVar16;\n            if (iVar3 != 0) goto LAB_00058a98;\n          }\n          iVar16 = iVar9;\n          if (*(int *)(iVar20 + 0x1c) != 0) {\n            uVar10 = *(uint *)(*(int *)(iVar20 + 0x1c) + 0x14);\n            iVar9 = iVar20;\n            goto joined_r0x00058aac;\n          }\n        }\n        local_44 = iVar20;\n        iVar9 = *(int *)(iVar20 + 0x10);\n      } while (*(int *)(iVar20 + 0x10) != 0);\n      if (iVar3 == 0) {\n        if (iVar16 == 0) {\n          if (local_40 == 0) {\n            local_40 = local_34;\n            if (local_34 == 0) {\n              local_40 = local_44;\n            }\n            piVar17[2] = local_40;\n          }\n          else {\n            piVar17[2] = local_40;\n          }\n        }\n        else {\n          piVar17[2] = iVar16;\n          local_40 = iVar16;\n        }\n      }\n      else {\n        piVar17[2] = iVar3;\n        local_40 = iVar3;\n      }\n      goto LAB_00058960;\n    }" if (parenthesized_expression "(*(int *)PTR_lang_output_section_statement_001dbbf4 != 0)" ( (binary_expression "*(int *)PTR_lang_output_section_statement_001dbbf4 != 0" (pointer_expression "*(int *)PTR_lang_output_section_statement_001dbbf4" * (cast_expression "(int *)PTR_lang_output_section_statement_001dbbf4" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) != number_literal) )) (compound_statement "{\n      local_44 = 0;\n      local_40 = 0;\n      puVar7 = PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb60;\n      local_34 = 0;\n      puVar8 = PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb70;\n      iVar16 = 0;\n      iVar3 = 0;\n      iVar9 = *(int *)PTR_lang_output_section_statement_001dbbf4;\n      do {\n        iVar20 = iVar9;\n        if (*(int *)(iVar20 + 0x48) < 0) {\nLAB_00058a98:\n          if (*(int *)(iVar20 + 0x1c) != 0) {\n            uVar10 = *(uint *)(*(int *)(iVar20 + 0x1c) + 0x14);\n            iVar9 = iVar3;\njoined_r0x00058aac:\n            if (((uVar10 & 1) != 0) && (iVar3 = iVar9, local_34 = iVar20, (uVar10 & 8) != 0)) {\n              local_40 = iVar20;\n            }\n          }\n        }\n        else {\n          iVar18 = *(int *)(iVar20 + 0x18);\n          iVar9 = (*(code *)PTR_strncmp_001dbe60)(iVar18,puVar7,4);\n          if (iVar9 != 0) goto LAB_00058a98;\n          uVar10 = (uint)(*(char *)(iVar18 + 4) == 'a');\n          if ((bVar1) ||\n             (iVar9 = (*(code *)PTR_strcmp_001dc144)(puVar8,iVar18 + uVar10 + 4), iVar9 == 0))\n          break;\n          iVar9 = iVar20;\n          if ((cVar2 == 'a') != uVar10) {\n            if (iVar16 == 0) {\n              iVar16 = iVar20;\n            }\n            iVar9 = iVar16;\n            if (iVar3 != 0) goto LAB_00058a98;\n          }\n          iVar16 = iVar9;\n          if (*(int *)(iVar20 + 0x1c) != 0) {\n            uVar10 = *(uint *)(*(int *)(iVar20 + 0x1c) + 0x14);\n            iVar9 = iVar20;\n            goto joined_r0x00058aac;\n          }\n        }\n        local_44 = iVar20;\n        iVar9 = *(int *)(iVar20 + 0x10);\n      } while (*(int *)(iVar20 + 0x10) != 0);\n      if (iVar3 == 0) {\n        if (iVar16 == 0) {\n          if (local_40 == 0) {\n            local_40 = local_34;\n            if (local_34 == 0) {\n              local_40 = local_44;\n            }\n            piVar17[2] = local_40;\n          }\n          else {\n            piVar17[2] = local_40;\n          }\n        }\n        else {\n          piVar17[2] = iVar16;\n          local_40 = iVar16;\n        }\n      }\n      else {\n        piVar17[2] = iVar3;\n        local_40 = iVar3;\n      }\n      goto LAB_00058960;\n    }" { (expression_statement "local_44 = 0;" (assignment_expression "local_44 = 0" identifier = number_literal) ;) (expression_statement "local_40 = 0;" (assignment_expression "local_40 = 0" identifier = number_literal) ;) (expression_statement "puVar7 = PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb60;" (assignment_expression "puVar7 = PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb60" identifier = (binary_expression "PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb60" identifier + number_literal)) ;) (expression_statement "local_34 = 0;" (assignment_expression "local_34 = 0" identifier = number_literal) ;) (expression_statement "puVar8 = PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb70;" (assignment_expression "puVar8 = PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb70" identifier = (binary_expression "PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb70" identifier + number_literal)) ;) (expression_statement "iVar16 = 0;" (assignment_expression "iVar16 = 0" identifier = number_literal) ;) (expression_statement "iVar3 = 0;" (assignment_expression "iVar3 = 0" identifier = number_literal) ;) (expression_statement "iVar9 = *(int *)PTR_lang_output_section_statement_001dbbf4;" (assignment_expression "iVar9 = *(int *)PTR_lang_output_section_statement_001dbbf4" identifier = (pointer_expression "*(int *)PTR_lang_output_section_statement_001dbbf4" * (cast_expression "(int *)PTR_lang_output_section_statement_001dbbf4" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) ;) (do_statement "do {\n        iVar20 = iVar9;\n        if (*(int *)(iVar20 + 0x48) < 0) {\nLAB_00058a98:\n          if (*(int *)(iVar20 + 0x1c) != 0) {\n            uVar10 = *(uint *)(*(int *)(iVar20 + 0x1c) + 0x14);\n            iVar9 = iVar3;\njoined_r0x00058aac:\n            if (((uVar10 & 1) != 0) && (iVar3 = iVar9, local_34 = iVar20, (uVar10 & 8) != 0)) {\n              local_40 = iVar20;\n            }\n          }\n        }\n        else {\n          iVar18 = *(int *)(iVar20 + 0x18);\n          iVar9 = (*(code *)PTR_strncmp_001dbe60)(iVar18,puVar7,4);\n          if (iVar9 != 0) goto LAB_00058a98;\n          uVar10 = (uint)(*(char *)(iVar18 + 4) == 'a');\n          if ((bVar1) ||\n             (iVar9 = (*(code *)PTR_strcmp_001dc144)(puVar8,iVar18 + uVar10 + 4), iVar9 == 0))\n          break;\n          iVar9 = iVar20;\n          if ((cVar2 == 'a') != uVar10) {\n            if (iVar16 == 0) {\n              iVar16 = iVar20;\n            }\n            iVar9 = iVar16;\n            if (iVar3 != 0) goto LAB_00058a98;\n          }\n          iVar16 = iVar9;\n          if (*(int *)(iVar20 + 0x1c) != 0) {\n            uVar10 = *(uint *)(*(int *)(iVar20 + 0x1c) + 0x14);\n            iVar9 = iVar20;\n            goto joined_r0x00058aac;\n          }\n        }\n        local_44 = iVar20;\n        iVar9 = *(int *)(iVar20 + 0x10);\n      } while (*(int *)(iVar20 + 0x10) != 0);" do (compound_statement "{\n        iVar20 = iVar9;\n        if (*(int *)(iVar20 + 0x48) < 0) {\nLAB_00058a98:\n          if (*(int *)(iVar20 + 0x1c) != 0) {\n            uVar10 = *(uint *)(*(int *)(iVar20 + 0x1c) + 0x14);\n            iVar9 = iVar3;\njoined_r0x00058aac:\n            if (((uVar10 & 1) != 0) && (iVar3 = iVar9, local_34 = iVar20, (uVar10 & 8) != 0)) {\n              local_40 = iVar20;\n            }\n          }\n        }\n        else {\n          iVar18 = *(int *)(iVar20 + 0x18);\n          iVar9 = (*(code *)PTR_strncmp_001dbe60)(iVar18,puVar7,4);\n          if (iVar9 != 0) goto LAB_00058a98;\n          uVar10 = (uint)(*(char *)(iVar18 + 4) == 'a');\n          if ((bVar1) ||\n             (iVar9 = (*(code *)PTR_strcmp_001dc144)(puVar8,iVar18 + uVar10 + 4), iVar9 == 0))\n          break;\n          iVar9 = iVar20;\n          if ((cVar2 == 'a') != uVar10) {\n            if (iVar16 == 0) {\n              iVar16 = iVar20;\n            }\n            iVar9 = iVar16;\n            if (iVar3 != 0) goto LAB_00058a98;\n          }\n          iVar16 = iVar9;\n          if (*(int *)(iVar20 + 0x1c) != 0) {\n            uVar10 = *(uint *)(*(int *)(iVar20 + 0x1c) + 0x14);\n            iVar9 = iVar20;\n            goto joined_r0x00058aac;\n          }\n        }\n        local_44 = iVar20;\n        iVar9 = *(int *)(iVar20 + 0x10);\n      }" { (expression_statement "iVar20 = iVar9;" (assignment_expression "iVar20 = iVar9" identifier = identifier) ;) (if_statement "if (*(int *)(iVar20 + 0x48) < 0) {\nLAB_00058a98:\n          if (*(int *)(iVar20 + 0x1c) != 0) {\n            uVar10 = *(uint *)(*(int *)(iVar20 + 0x1c) + 0x14);\n            iVar9 = iVar3;\njoined_r0x00058aac:\n            if (((uVar10 & 1) != 0) && (iVar3 = iVar9, local_34 = iVar20, (uVar10 & 8) != 0)) {\n              local_40 = iVar20;\n            }\n          }\n        }\n        else {\n          iVar18 = *(int *)(iVar20 + 0x18);\n          iVar9 = (*(code *)PTR_strncmp_001dbe60)(iVar18,puVar7,4);\n          if (iVar9 != 0) goto LAB_00058a98;\n          uVar10 = (uint)(*(char *)(iVar18 + 4) == 'a');\n          if ((bVar1) ||\n             (iVar9 = (*(code *)PTR_strcmp_001dc144)(puVar8,iVar18 + uVar10 + 4), iVar9 == 0))\n          break;\n          iVar9 = iVar20;\n          if ((cVar2 == 'a') != uVar10) {\n            if (iVar16 == 0) {\n              iVar16 = iVar20;\n            }\n            iVar9 = iVar16;\n            if (iVar3 != 0) goto LAB_00058a98;\n          }\n          iVar16 = iVar9;\n          if (*(int *)(iVar20 + 0x1c) != 0) {\n            uVar10 = *(uint *)(*(int *)(iVar20 + 0x1c) + 0x14);\n            iVar9 = iVar20;\n            goto joined_r0x00058aac;\n          }\n        }" if (parenthesized_expression "(*(int *)(iVar20 + 0x48) < 0)" ( (binary_expression "*(int *)(iVar20 + 0x48) < 0" (pointer_expression "*(int *)(iVar20 + 0x48)" * (cast_expression "(int *)(iVar20 + 0x48)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar20 + 0x48)" ( (binary_expression "iVar20 + 0x48" identifier + number_literal) )))) < number_literal) )) (compound_statement "{\nLAB_00058a98:\n          if (*(int *)(iVar20 + 0x1c) != 0) {\n            uVar10 = *(uint *)(*(int *)(iVar20 + 0x1c) + 0x14);\n            iVar9 = iVar3;\njoined_r0x00058aac:\n            if (((uVar10 & 1) != 0) && (iVar3 = iVar9, local_34 = iVar20, (uVar10 & 8) != 0)) {\n              local_40 = iVar20;\n            }\n          }\n        }" { (labeled_statement "LAB_00058a98:\n          if (*(int *)(iVar20 + 0x1c) != 0) {\n            uVar10 = *(uint *)(*(int *)(iVar20 + 0x1c) + 0x14);\n            iVar9 = iVar3;\njoined_r0x00058aac:\n            if (((uVar10 & 1) != 0) && (iVar3 = iVar9, local_34 = iVar20, (uVar10 & 8) != 0)) {\n              local_40 = iVar20;\n            }\n          }" statement_identifier : (if_statement "if (*(int *)(iVar20 + 0x1c) != 0) {\n            uVar10 = *(uint *)(*(int *)(iVar20 + 0x1c) + 0x14);\n            iVar9 = iVar3;\njoined_r0x00058aac:\n            if (((uVar10 & 1) != 0) && (iVar3 = iVar9, local_34 = iVar20, (uVar10 & 8) != 0)) {\n              local_40 = iVar20;\n            }\n          }" if (parenthesized_expression "(*(int *)(iVar20 + 0x1c) != 0)" ( (binary_expression "*(int *)(iVar20 + 0x1c) != 0" (pointer_expression "*(int *)(iVar20 + 0x1c)" * (cast_expression "(int *)(iVar20 + 0x1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar20 + 0x1c)" ( (binary_expression "iVar20 + 0x1c" identifier + number_literal) )))) != number_literal) )) (compound_statement "{\n            uVar10 = *(uint *)(*(int *)(iVar20 + 0x1c) + 0x14);\n            iVar9 = iVar3;\njoined_r0x00058aac:\n            if (((uVar10 & 1) != 0) && (iVar3 = iVar9, local_34 = iVar20, (uVar10 & 8) != 0)) {\n              local_40 = iVar20;\n            }\n          }" { (expression_statement "uVar10 = *(uint *)(*(int *)(iVar20 + 0x1c) + 0x14);" (assignment_expression "uVar10 = *(uint *)(*(int *)(iVar20 + 0x1c) + 0x14)" identifier = (pointer_expression "*(uint *)(*(int *)(iVar20 + 0x1c) + 0x14)" * (cast_expression "(uint *)(*(int *)(iVar20 + 0x1c) + 0x14)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(iVar20 + 0x1c) + 0x14)" ( (binary_expression "*(int *)(iVar20 + 0x1c) + 0x14" (pointer_expression "*(int *)(iVar20 + 0x1c)" * (cast_expression "(int *)(iVar20 + 0x1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar20 + 0x1c)" ( (binary_expression "iVar20 + 0x1c" identifier + number_literal) )))) + number_literal) ))))) ;) (expression_statement "iVar9 = iVar3;" (assignment_expression "iVar9 = iVar3" identifier = identifier) ;) (labeled_statement "joined_r0x00058aac:\n            if (((uVar10 & 1) != 0) && (iVar3 = iVar9, local_34 = iVar20, (uVar10 & 8) != 0)) {\n              local_40 = iVar20;\n            }" statement_identifier : (if_statement "if (((uVar10 & 1) != 0) && (iVar3 = iVar9, local_34 = iVar20, (uVar10 & 8) != 0)) {\n              local_40 = iVar20;\n            }" if (parenthesized_expression "(((uVar10 & 1) != 0) && (iVar3 = iVar9, local_34 = iVar20, (uVar10 & 8) != 0))" ( (binary_expression "((uVar10 & 1) != 0) && (iVar3 = iVar9, local_34 = iVar20, (uVar10 & 8) != 0)" (parenthesized_expression "((uVar10 & 1) != 0)" ( (binary_expression "(uVar10 & 1) != 0" (parenthesized_expression "(uVar10 & 1)" ( (binary_expression "uVar10 & 1" identifier & number_literal) )) != number_literal) )) && (parenthesized_expression "(iVar3 = iVar9, local_34 = iVar20, (uVar10 & 8) != 0)" ( (comma_expression "iVar3 = iVar9, local_34 = iVar20, (uVar10 & 8) != 0" (assignment_expression "iVar3 = iVar9" identifier = identifier) , (comma_expression "local_34 = iVar20, (uVar10 & 8) != 0" (assignment_expression "local_34 = iVar20" identifier = identifier) , (binary_expression "(uVar10 & 8) != 0" (parenthesized_expression "(uVar10 & 8)" ( (binary_expression "uVar10 & 8" identifier & number_literal) )) != number_literal))) ))) )) (compound_statement "{\n              local_40 = iVar20;\n            }" { (expression_statement "local_40 = iVar20;" (assignment_expression "local_40 = iVar20" identifier = identifier) ;) }))) }))) }) (else_clause "else {\n          iVar18 = *(int *)(iVar20 + 0x18);\n          iVar9 = (*(code *)PTR_strncmp_001dbe60)(iVar18,puVar7,4);\n          if (iVar9 != 0) goto LAB_00058a98;\n          uVar10 = (uint)(*(char *)(iVar18 + 4) == 'a');\n          if ((bVar1) ||\n             (iVar9 = (*(code *)PTR_strcmp_001dc144)(puVar8,iVar18 + uVar10 + 4), iVar9 == 0))\n          break;\n          iVar9 = iVar20;\n          if ((cVar2 == 'a') != uVar10) {\n            if (iVar16 == 0) {\n              iVar16 = iVar20;\n            }\n            iVar9 = iVar16;\n            if (iVar3 != 0) goto LAB_00058a98;\n          }\n          iVar16 = iVar9;\n          if (*(int *)(iVar20 + 0x1c) != 0) {\n            uVar10 = *(uint *)(*(int *)(iVar20 + 0x1c) + 0x14);\n            iVar9 = iVar20;\n            goto joined_r0x00058aac;\n          }\n        }" else (compound_statement "{\n          iVar18 = *(int *)(iVar20 + 0x18);\n          iVar9 = (*(code *)PTR_strncmp_001dbe60)(iVar18,puVar7,4);\n          if (iVar9 != 0) goto LAB_00058a98;\n          uVar10 = (uint)(*(char *)(iVar18 + 4) == 'a');\n          if ((bVar1) ||\n             (iVar9 = (*(code *)PTR_strcmp_001dc144)(puVar8,iVar18 + uVar10 + 4), iVar9 == 0))\n          break;\n          iVar9 = iVar20;\n          if ((cVar2 == 'a') != uVar10) {\n            if (iVar16 == 0) {\n              iVar16 = iVar20;\n            }\n            iVar9 = iVar16;\n            if (iVar3 != 0) goto LAB_00058a98;\n          }\n          iVar16 = iVar9;\n          if (*(int *)(iVar20 + 0x1c) != 0) {\n            uVar10 = *(uint *)(*(int *)(iVar20 + 0x1c) + 0x14);\n            iVar9 = iVar20;\n            goto joined_r0x00058aac;\n          }\n        }" { (expression_statement "iVar18 = *(int *)(iVar20 + 0x18);" (assignment_expression "iVar18 = *(int *)(iVar20 + 0x18)" identifier = (pointer_expression "*(int *)(iVar20 + 0x18)" * (cast_expression "(int *)(iVar20 + 0x18)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar20 + 0x18)" ( (binary_expression "iVar20 + 0x18" identifier + number_literal) ))))) ;) (expression_statement "iVar9 = (*(code *)PTR_strncmp_001dbe60)(iVar18,puVar7,4);" (assignment_expression "iVar9 = (*(code *)PTR_strncmp_001dbe60)(iVar18,puVar7,4)" identifier = (call_expression "(*(code *)PTR_strncmp_001dbe60)(iVar18,puVar7,4)" (parenthesized_expression "(*(code *)PTR_strncmp_001dbe60)" ( (pointer_expression "*(code *)PTR_strncmp_001dbe60" * (cast_expression "(code *)PTR_strncmp_001dbe60" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(iVar18,puVar7,4)" ( identifier , identifier , number_literal )))) ;) (if_statement "if (iVar9 != 0) goto LAB_00058a98;" if (parenthesized_expression "(iVar9 != 0)" ( (binary_expression "iVar9 != 0" identifier != number_literal) )) (goto_statement "goto LAB_00058a98;" goto statement_identifier ;)) (expression_statement "uVar10 = (uint)(*(char *)(iVar18 + 4) == 'a');" (assignment_expression "uVar10 = (uint)(*(char *)(iVar18 + 4) == 'a')" identifier = (call_expression "(uint)(*(char *)(iVar18 + 4) == 'a')" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(*(char *)(iVar18 + 4) == 'a')" ( (binary_expression "*(char *)(iVar18 + 4) == 'a'" (pointer_expression "*(char *)(iVar18 + 4)" * (cast_expression "(char *)(iVar18 + 4)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar18 + 4)" ( (binary_expression "iVar18 + 4" identifier + number_literal) )))) == (char_literal "'a'" ' character ')) )))) ;) (if_statement "if ((bVar1) ||\n             (iVar9 = (*(code *)PTR_strcmp_001dc144)(puVar8,iVar18 + uVar10 + 4), iVar9 == 0))\n          break;" if (parenthesized_expression "((bVar1) ||\n             (iVar9 = (*(code *)PTR_strcmp_001dc144)(puVar8,iVar18 + uVar10 + 4), iVar9 == 0))" ( (binary_expression "(bVar1) ||\n             (iVar9 = (*(code *)PTR_strcmp_001dc144)(puVar8,iVar18 + uVar10 + 4), iVar9 == 0)" (parenthesized_expression "(bVar1)" ( identifier )) || (parenthesized_expression "(iVar9 = (*(code *)PTR_strcmp_001dc144)(puVar8,iVar18 + uVar10 + 4), iVar9 == 0)" ( (comma_expression "iVar9 = (*(code *)PTR_strcmp_001dc144)(puVar8,iVar18 + uVar10 + 4), iVar9 == 0" (assignment_expression "iVar9 = (*(code *)PTR_strcmp_001dc144)(puVar8,iVar18 + uVar10 + 4)" identifier = (call_expression "(*(code *)PTR_strcmp_001dc144)(puVar8,iVar18 + uVar10 + 4)" (parenthesized_expression "(*(code *)PTR_strcmp_001dc144)" ( (pointer_expression "*(code *)PTR_strcmp_001dc144" * (cast_expression "(code *)PTR_strcmp_001dc144" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(puVar8,iVar18 + uVar10 + 4)" ( identifier , (binary_expression "iVar18 + uVar10 + 4" (binary_expression "iVar18 + uVar10" identifier + identifier) + number_literal) )))) , (binary_expression "iVar9 == 0" identifier == number_literal)) ))) )) (break_statement "break;" break ;)) (expression_statement "iVar9 = iVar20;" (assignment_expression "iVar9 = iVar20" identifier = identifier) ;) (if_statement "if ((cVar2 == 'a') != uVar10) {\n            if (iVar16 == 0) {\n              iVar16 = iVar20;\n            }\n            iVar9 = iVar16;\n            if (iVar3 != 0) goto LAB_00058a98;\n          }" if (parenthesized_expression "((cVar2 == 'a') != uVar10)" ( (binary_expression "(cVar2 == 'a') != uVar10" (parenthesized_expression "(cVar2 == 'a')" ( (binary_expression "cVar2 == 'a'" identifier == (char_literal "'a'" ' character ')) )) != identifier) )) (compound_statement "{\n            if (iVar16 == 0) {\n              iVar16 = iVar20;\n            }\n            iVar9 = iVar16;\n            if (iVar3 != 0) goto LAB_00058a98;\n          }" { (if_statement "if (iVar16 == 0) {\n              iVar16 = iVar20;\n            }" if (parenthesized_expression "(iVar16 == 0)" ( (binary_expression "iVar16 == 0" identifier == number_literal) )) (compound_statement "{\n              iVar16 = iVar20;\n            }" { (expression_statement "iVar16 = iVar20;" (assignment_expression "iVar16 = iVar20" identifier = identifier) ;) })) (expression_statement "iVar9 = iVar16;" (assignment_expression "iVar9 = iVar16" identifier = identifier) ;) (if_statement "if (iVar3 != 0) goto LAB_00058a98;" if (parenthesized_expression "(iVar3 != 0)" ( (binary_expression "iVar3 != 0" identifier != number_literal) )) (goto_statement "goto LAB_00058a98;" goto statement_identifier ;)) })) (expression_statement "iVar16 = iVar9;" (assignment_expression "iVar16 = iVar9" identifier = identifier) ;) (if_statement "if (*(int *)(iVar20 + 0x1c) != 0) {\n            uVar10 = *(uint *)(*(int *)(iVar20 + 0x1c) + 0x14);\n            iVar9 = iVar20;\n            goto joined_r0x00058aac;\n          }" if (parenthesized_expression "(*(int *)(iVar20 + 0x1c) != 0)" ( (binary_expression "*(int *)(iVar20 + 0x1c) != 0" (pointer_expression "*(int *)(iVar20 + 0x1c)" * (cast_expression "(int *)(iVar20 + 0x1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar20 + 0x1c)" ( (binary_expression "iVar20 + 0x1c" identifier + number_literal) )))) != number_literal) )) (compound_statement "{\n            uVar10 = *(uint *)(*(int *)(iVar20 + 0x1c) + 0x14);\n            iVar9 = iVar20;\n            goto joined_r0x00058aac;\n          }" { (expression_statement "uVar10 = *(uint *)(*(int *)(iVar20 + 0x1c) + 0x14);" (assignment_expression "uVar10 = *(uint *)(*(int *)(iVar20 + 0x1c) + 0x14)" identifier = (pointer_expression "*(uint *)(*(int *)(iVar20 + 0x1c) + 0x14)" * (cast_expression "(uint *)(*(int *)(iVar20 + 0x1c) + 0x14)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(iVar20 + 0x1c) + 0x14)" ( (binary_expression "*(int *)(iVar20 + 0x1c) + 0x14" (pointer_expression "*(int *)(iVar20 + 0x1c)" * (cast_expression "(int *)(iVar20 + 0x1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar20 + 0x1c)" ( (binary_expression "iVar20 + 0x1c" identifier + number_literal) )))) + number_literal) ))))) ;) (expression_statement "iVar9 = iVar20;" (assignment_expression "iVar9 = iVar20" identifier = identifier) ;) (goto_statement "goto joined_r0x00058aac;" goto statement_identifier ;) })) }))) (expression_statement "local_44 = iVar20;" (assignment_expression "local_44 = iVar20" identifier = identifier) ;) (expression_statement "iVar9 = *(int *)(iVar20 + 0x10);" (assignment_expression "iVar9 = *(int *)(iVar20 + 0x10)" identifier = (pointer_expression "*(int *)(iVar20 + 0x10)" * (cast_expression "(int *)(iVar20 + 0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar20 + 0x10)" ( (binary_expression "iVar20 + 0x10" identifier + number_literal) ))))) ;) }) while (parenthesized_expression "(*(int *)(iVar20 + 0x10) != 0)" ( (binary_expression "*(int *)(iVar20 + 0x10) != 0" (pointer_expression "*(int *)(iVar20 + 0x10)" * (cast_expression "(int *)(iVar20 + 0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar20 + 0x10)" ( (binary_expression "iVar20 + 0x10" identifier + number_literal) )))) != number_literal) )) ;) (if_statement "if (iVar3 == 0) {\n        if (iVar16 == 0) {\n          if (local_40 == 0) {\n            local_40 = local_34;\n            if (local_34 == 0) {\n              local_40 = local_44;\n            }\n            piVar17[2] = local_40;\n          }\n          else {\n            piVar17[2] = local_40;\n          }\n        }\n        else {\n          piVar17[2] = iVar16;\n          local_40 = iVar16;\n        }\n      }\n      else {\n        piVar17[2] = iVar3;\n        local_40 = iVar3;\n      }" if (parenthesized_expression "(iVar3 == 0)" ( (binary_expression "iVar3 == 0" identifier == number_literal) )) (compound_statement "{\n        if (iVar16 == 0) {\n          if (local_40 == 0) {\n            local_40 = local_34;\n            if (local_34 == 0) {\n              local_40 = local_44;\n            }\n            piVar17[2] = local_40;\n          }\n          else {\n            piVar17[2] = local_40;\n          }\n        }\n        else {\n          piVar17[2] = iVar16;\n          local_40 = iVar16;\n        }\n      }" { (if_statement "if (iVar16 == 0) {\n          if (local_40 == 0) {\n            local_40 = local_34;\n            if (local_34 == 0) {\n              local_40 = local_44;\n            }\n            piVar17[2] = local_40;\n          }\n          else {\n            piVar17[2] = local_40;\n          }\n        }\n        else {\n          piVar17[2] = iVar16;\n          local_40 = iVar16;\n        }" if (parenthesized_expression "(iVar16 == 0)" ( (binary_expression "iVar16 == 0" identifier == number_literal) )) (compound_statement "{\n          if (local_40 == 0) {\n            local_40 = local_34;\n            if (local_34 == 0) {\n              local_40 = local_44;\n            }\n            piVar17[2] = local_40;\n          }\n          else {\n            piVar17[2] = local_40;\n          }\n        }" { (if_statement "if (local_40 == 0) {\n            local_40 = local_34;\n            if (local_34 == 0) {\n              local_40 = local_44;\n            }\n            piVar17[2] = local_40;\n          }\n          else {\n            piVar17[2] = local_40;\n          }" if (parenthesized_expression "(local_40 == 0)" ( (binary_expression "local_40 == 0" identifier == number_literal) )) (compound_statement "{\n            local_40 = local_34;\n            if (local_34 == 0) {\n              local_40 = local_44;\n            }\n            piVar17[2] = local_40;\n          }" { (expression_statement "local_40 = local_34;" (assignment_expression "local_40 = local_34" identifier = identifier) ;) (if_statement "if (local_34 == 0) {\n              local_40 = local_44;\n            }" if (parenthesized_expression "(local_34 == 0)" ( (binary_expression "local_34 == 0" identifier == number_literal) )) (compound_statement "{\n              local_40 = local_44;\n            }" { (expression_statement "local_40 = local_44;" (assignment_expression "local_40 = local_44" identifier = identifier) ;) })) (expression_statement "piVar17[2] = local_40;" (assignment_expression "piVar17[2] = local_40" (subscript_expression "piVar17[2]" identifier [ number_literal ]) = identifier) ;) }) (else_clause "else {\n            piVar17[2] = local_40;\n          }" else (compound_statement "{\n            piVar17[2] = local_40;\n          }" { (expression_statement "piVar17[2] = local_40;" (assignment_expression "piVar17[2] = local_40" (subscript_expression "piVar17[2]" identifier [ number_literal ]) = identifier) ;) }))) }) (else_clause "else {\n          piVar17[2] = iVar16;\n          local_40 = iVar16;\n        }" else (compound_statement "{\n          piVar17[2] = iVar16;\n          local_40 = iVar16;\n        }" { (expression_statement "piVar17[2] = iVar16;" (assignment_expression "piVar17[2] = iVar16" (subscript_expression "piVar17[2]" identifier [ number_literal ]) = identifier) ;) (expression_statement "local_40 = iVar16;" (assignment_expression "local_40 = iVar16" identifier = identifier) ;) }))) }) (else_clause "else {\n        piVar17[2] = iVar3;\n        local_40 = iVar3;\n      }" else (compound_statement "{\n        piVar17[2] = iVar3;\n        local_40 = iVar3;\n      }" { (expression_statement "piVar17[2] = iVar3;" (assignment_expression "piVar17[2] = iVar3" (subscript_expression "piVar17[2]" identifier [ number_literal ]) = identifier) ;) (expression_statement "local_40 = iVar3;" (assignment_expression "local_40 = iVar3" identifier = identifier) ;) }))) (goto_statement "goto LAB_00058960;" goto statement_identifier ;) })) }) (else_clause "else {\n    local_40 = (*(code *)PTR_lang_output_section_statement_lookup_001dbc2c)(*piVar17,0,0);\n    piVar17[2] = local_40;\nLAB_00058960:\n    if (local_40 != 0) goto LAB_00058810;\n  }" else (compound_statement "{\n    local_40 = (*(code *)PTR_lang_output_section_statement_lookup_001dbc2c)(*piVar17,0,0);\n    piVar17[2] = local_40;\nLAB_00058960:\n    if (local_40 != 0) goto LAB_00058810;\n  }" { (expression_statement "local_40 = (*(code *)PTR_lang_output_section_statement_lookup_001dbc2c)(*piVar17,0,0);" (assignment_expression "local_40 = (*(code *)PTR_lang_output_section_statement_lookup_001dbc2c)(*piVar17,0,0)" identifier = (call_expression "(*(code *)PTR_lang_output_section_statement_lookup_001dbc2c)(*piVar17,0,0)" (parenthesized_expression "(*(code *)PTR_lang_output_section_statement_lookup_001dbc2c)" ( (pointer_expression "*(code *)PTR_lang_output_section_statement_lookup_001dbc2c" * (cast_expression "(code *)PTR_lang_output_section_statement_lookup_001dbc2c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(*piVar17,0,0)" ( (pointer_expression "*piVar17" * identifier) , number_literal , number_literal )))) ;) (expression_statement "piVar17[2] = local_40;" (assignment_expression "piVar17[2] = local_40" (subscript_expression "piVar17[2]" identifier [ number_literal ]) = identifier) ;) (labeled_statement "LAB_00058960:\n    if (local_40 != 0) goto LAB_00058810;" statement_identifier : (if_statement "if (local_40 != 0) goto LAB_00058810;" if (parenthesized_expression "(local_40 != 0)" ( (binary_expression "local_40 != 0" identifier != number_literal) )) (goto_statement "goto LAB_00058810;" goto statement_identifier ;))) }))) (expression_statement "local_40 = (*(code *)PTR_lang_output_section_find_by_flags_001dbd70)\n                       (s,fVar14,piVar17 + 2,PTR__bfd_elf_match_sections_by_type_001dbe14);" (assignment_expression "local_40 = (*(code *)PTR_lang_output_section_find_by_flags_001dbd70)\n                       (s,fVar14,piVar17 + 2,PTR__bfd_elf_match_sections_by_type_001dbe14)" identifier = (call_expression "(*(code *)PTR_lang_output_section_find_by_flags_001dbd70)\n                       (s,fVar14,piVar17 + 2,PTR__bfd_elf_match_sections_by_type_001dbe14)" (parenthesized_expression "(*(code *)PTR_lang_output_section_find_by_flags_001dbd70)" ( (pointer_expression "*(code *)PTR_lang_output_section_find_by_flags_001dbd70" * (cast_expression "(code *)PTR_lang_output_section_find_by_flags_001dbd70" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(s,fVar14,piVar17 + 2,PTR__bfd_elf_match_sections_by_type_001dbe14)" ( identifier , identifier , (binary_expression "piVar17 + 2" identifier + number_literal) , identifier )))) ;) (if_statement "if (local_40 == 0) {\n    local_40 = *(int *)PTR_lang_output_section_statement_001dbbf4;\n  }" if (parenthesized_expression "(local_40 == 0)" ( (binary_expression "local_40 == 0" identifier == number_literal) )) (compound_statement "{\n    local_40 = *(int *)PTR_lang_output_section_statement_001dbbf4;\n  }" { (expression_statement "local_40 = *(int *)PTR_lang_output_section_statement_001dbbf4;" (assignment_expression "local_40 = *(int *)PTR_lang_output_section_statement_001dbbf4" identifier = (pointer_expression "*(int *)PTR_lang_output_section_statement_001dbbf4" * (cast_expression "(int *)PTR_lang_output_section_statement_001dbbf4" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) ;) })) (labeled_statement "LAB_00058810:\n  plVar6 = (lang_output_section_statement_type *)\n           (*(code *)PTR_lang_insert_orphan_001dbd6c)(s,secname,constraint,local_40,piVar17,0,0);" statement_identifier : (expression_statement "plVar6 = (lang_output_section_statement_type *)\n           (*(code *)PTR_lang_insert_orphan_001dbd6c)(s,secname,constraint,local_40,piVar17,0,0);" (assignment_expression "plVar6 = (lang_output_section_statement_type *)\n           (*(code *)PTR_lang_insert_orphan_001dbd6c)(s,secname,constraint,local_40,piVar17,0,0)" identifier = (cast_expression "(lang_output_section_statement_type *)\n           (*(code *)PTR_lang_insert_orphan_001dbd6c)(s,secname,constraint,local_40,piVar17,0,0)" ( (type_descriptor "lang_output_section_statement_type *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR_lang_insert_orphan_001dbd6c)(s,secname,constraint,local_40,piVar17,0,0)" (parenthesized_expression "(*(code *)PTR_lang_insert_orphan_001dbd6c)" ( (pointer_expression "*(code *)PTR_lang_insert_orphan_001dbd6c" * (cast_expression "(code *)PTR_lang_insert_orphan_001dbd6c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(s,secname,constraint,local_40,piVar17,0,0)" ( identifier , identifier , identifier , identifier , identifier , number_literal , number_literal ))))) ;)) (return_statement "return plVar6;" return identifier ;) })))
(translation_unit "int FUN_00058384(int *param_1,undefined *param_2,int param_3)\n\n{\n  bool bVar1;\n  char cVar2;\n  int iVar3;\n  undefined *puVar4;\n  undefined *puVar5;\n  uint uVar6;\n  uint uVar7;\n  int iVar8;\n  int iVar9;\n  int *piVar10;\n  int iVar11;\n  int *piVar12;\n  int iVar13;\n  int local_44;\n  int local_40;\n  int local_34;\n  \n  puVar4 = PTR_link_info_001db928;\n  iVar8 = *(int *)(*(int *)(param_1[0x2d] + 4) + 4);\n  iVar9 = *(int *)(*(int *)(*(int *)(PTR_link_info_001db928 + 0x34) + 4) + 4);\n  if (iVar8 == 5) {\n    local_44 = *(int *)(param_1[0x2b] + 4);\n  }\n  else {\n    local_44 = 0;\n  }\n  if ((*(uint *)PTR_link_info_001db928 & 0xc0000000) == 0x80000000) {\nLAB_00058478:\n    bVar1 = false;\n  }\n  else {\n    if ((-1 < *(int *)(PTR_link_info_001db928 + 4) << 6) || (uVar6 = param_1[5], (uVar6 & 1) == 0))\n    {\n      if (iVar8 == 5) {\n        bVar1 = false;\nLAB_0005886c:\n        if ((iVar9 != 5) || (uVar6 = param_1[5], (uVar6 & 1) == 0)) goto LAB_0005847c;\n        iVar3 = param_1[0x2b];\n        goto LAB_0005888c;\n      }\n      goto LAB_00058478;\n    }\n    if (iVar8 == 5) {\n      if (local_44 == 4) {\n        bVar1 = true;\n        param_2 = PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb14;\n        goto LAB_0005886c;\n      }\n      bVar1 = local_44 == 9;\n      if (bVar1) {\n        param_2 = PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb44;\n      }\n      if (iVar9 != 5) goto LAB_0005847c;\n      iVar3 = param_1[0x2b];\nLAB_0005888c:\n      if (*(int *)(iVar3 + 0xc) << 7 < 0) {\n        iVar13 = *(int *)PTR_lang_output_section_statement_001dbbf4;\n        if (iVar13 != 0) {\n          do {\n            puVar5 = *(undefined **)(iVar13 + 0x1c);\n            if ((((puVar5 != (undefined *)0x0) && (puVar5 != PTR__bfd_std_section_001dbf30 + 400))\n                && ((*(uint *)(*(int *)(puVar5 + 0xac) + 0xc) & 0x1000000) != 0)) &&\n               ((((uVar6 ^ *(uint *)(puVar5 + 0x14)) & 0x11b) == 0 &&\n                (*(int *)(*(int *)(puVar5 + 0xac) + 0x2c) == *(int *)(iVar3 + 0x2c)))))\n            goto LAB_000586a0;\n            iVar13 = *(int *)(iVar13 + 0x10);\n          } while (iVar13 != 0);\n        }\n        if ((uVar6 & 0x102) == 0) {\n          param_2 = PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb38;\n        }\n        else if ((uVar6 & 8) == 0) {\n          param_2 = PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb20;\n        }\n        else if ((uVar6 & 0x10) == 0) {\n          param_2 = PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb50;\n        }\n        else {\n          param_2 = PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb2c;\n        }\n      }\n    }\n    else {\n      iVar3 = (*(code *)PTR_strncmp_001dbe60)\n                        (param_2,PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb60,4);\n      if (iVar3 != 0) goto LAB_00058478;\n      if (param_2[4] == 'a') {\n        bVar1 = true;\n        param_2 = PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb14;\n      }\n      else {\n        bVar1 = true;\n        param_2 = PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb44;\n      }\n    }\n  }\nLAB_0005847c:\n  if ((param_3 == 0) &&\n     (iVar13 = (*(code *)PTR_lang_output_section_statement_lookup_001dbc2c)(param_2,0,0),\n     iVar13 != 0)) {\n    iVar3 = 0;\n    do {\n      while (iVar11 = *(int *)(iVar13 + 0x1c), iVar11 == 0) {\n        iVar11 = (*(code *)PTR_next_matching_output_section_statement_001dbd68)(iVar13,0);\n        iVar3 = iVar13;\n        iVar13 = iVar11;\n        if (iVar11 == 0) goto LAB_000587ec;\n      }\n      if (*(uint *)(iVar11 + 0x14) == 0) goto LAB_000586a0;\n      if (((*(uint *)(iVar11 + 0x14) ^ param_1[5]) & 3) == 0) {\n        if ((iVar8 != 5) || (iVar9 != 5)) goto LAB_000586a0;\n        if ((*(int *)(*(int *)(iVar11 + 0xac) + 0x2c) == *(int *)(param_1[0x2b] + 0x2c)) &&\n           (((*(uint *)puVar4 & 0xc0000000) != 0x80000000 ||\n            (((*(uint *)(*(int *)(iVar11 + 0xac) + 0xc) ^ *(uint *)(param_1[0x2b] + 0xc)) &\n             0x80000000) == 0)))) {\n          iVar11 = (*(code *)PTR__bfd_elf_match_sections_by_type_001dbe14)\n                             (*(undefined4 *)(puVar4 + 0x34),iVar11,param_1[0x2d],param_1);\n          if (iVar11 != 0) goto LAB_000586a0;\n          if (*(int *)(iVar13 + 0x1c) == 0) {\n            iVar3 = iVar13;\n          }\n        }\n      }\n      iVar13 = (*(code *)PTR_next_matching_output_section_statement_001dbd68)(iVar13,0);\n    } while (iVar13 != 0);\nLAB_000587ec:\n    if (iVar3 != 0) {\n      (*(code *)PTR_lang_add_section_001dbc3c)(iVar3 + 8,param_1,0,iVar3);\n      return iVar3;\n    }\n    param_3 = 0x17e;\n  }\n  puVar5 = PTR_DAT_001db8f8;\n  if (*(int *)(PTR_DAT_001db8f8 + -0x3618) == 0) {\n    piVar10 = (int *)(PTR_DAT_001db8f8 + -0x49e0);\n    piVar12 = (int *)(PTR_DAT_001db8f8 + -0x4908);\n    do {\n      if (*piVar10 != 0) {\n        iVar9 = (*(code *)PTR_lang_output_section_statement_lookup_001dbc2c)(*piVar10,0,0);\n        piVar10[2] = iVar9;\n        if ((iVar9 != 0) && (*(int *)(iVar9 + 0x4c) == 0)) {\n          *(int *)(iVar9 + 0x4c) = piVar10[1];\n        }\n      }\n      piVar10 = piVar10 + 6;\n    } while (piVar10 != piVar12);\n    *(undefined4 *)(puVar5 + -0x3618) = 1;\n  }\n  if ((int)*(uint *)puVar4 < 0) {\n    uVar6 = param_1[5];\n    if ((*(uint *)puVar4 & 0xc0000000) != 0x80000000) goto LAB_000585fc;\n  }\n  else {\n    iVar9 = (*(code *)PTR_strncmp_001dbe60)\n                      (*param_1,PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb78,0xd);\n    if ((iVar9 == 0) && (iVar13 = *(int *)(PTR_DAT_001db8f8 + -0x49d8), iVar13 != 0)) {\nLAB_000586a0:\n      (*(code *)PTR_lang_add_section_001dbc3c)(iVar13 + 8,param_1,0,iVar13);\n      return iVar13;\n    }\n    uVar6 = param_1[5];\nLAB_000585fc:\n    iVar9 = param_1[0x2d];\n    piVar10 = param_1;\n    while (piVar10 = (int *)(*(code *)PTR_bfd_get_next_section_by_name_001dbf68)(iVar9,piVar10),\n          piVar10 != (int *)0x0) {\n      iVar9 = piVar10[0x2d];\n      if ((((piVar10[0x16] == 0) && (((piVar10[5] ^ uVar6) & 3) == 0 && (piVar10[5] & 0x8000U) == 0)\n           ) && (-1 < *(int *)(iVar9 + 0x28) << 0x12)) &&\n         ((*(int *)(iVar9 + 0xac) != 0 &&\n          ((*(ushort *)(*(int *)(iVar9 + 0xac) + 0x24) & 0x800) == 0)))) {\n        iVar9 = (*(code *)PTR__bfd_elf_match_sections_by_type_001dbe14)\n                          (iVar9,piVar10,param_1[0x2d],param_1);\n        if (iVar9 == 0) {\n          iVar9 = piVar10[0x2d];\n        }\n        else {\n          iVar9 = piVar10[0x2d];\n          uVar6 = (piVar10[5] ^ 8U | uVar6 ^ 8) ^ 8;\n        }\n      }\n    }\n  }\n  if ((uVar6 & 0x2001) == 0) {\n    piVar10 = (int *)(PTR_DAT_001db8f8 + -0x4920);\n  }\n  else {\n    piVar10 = (int *)0x0;\n    if ((uVar6 & 1) == 0) {\n      local_40 = 0;\n      goto LAB_00058810;\n    }\n    if ((uVar6 & 2) != 0) {\n      if (iVar8 == 5) {\n        if (local_44 == 7) goto LAB_000589f8;\n      }\n      else {\n        iVar9 = (*(code *)PTR_strncmp_001dbe60)\n                          (param_2,PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb68,5);\n        if (iVar9 == 0) {\nLAB_000589f8:\n          piVar10 = (int *)(PTR_DAT_001db8f8 + -0x4950);\n          goto LAB_00058800;\n        }\n      }\n    }\n    if ((uVar6 & 0x502) == 0) {\n      piVar10 = (int *)(PTR_DAT_001db8f8 + -0x4980);\n    }\n    else if ((int)(uVar6 << 9) < 0) {\n      piVar10 = (int *)(PTR_DAT_001db8f8 + -0x4938);\n    }\n    else if ((uVar6 & 0x400) == 0) {\n      if ((uVar6 & 8) == 0) {\n        piVar10 = (int *)(PTR_DAT_001db8f8 + -0x4998);\n      }\n      else {\n        if (iVar8 == 5) {\n          if ((local_44 == 4) || (local_44 == 9)) goto LAB_000585b8;\n        }\n        else {\n          iVar8 = (*(code *)PTR_strncmp_001dbe60)\n                            (param_2,PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb60,4);\n          if (iVar8 == 0) {\nLAB_000585b8:\n            if ((uVar6 & 2) != 0) {\n              piVar10 = (int *)(PTR_DAT_001db8f8 + -0x4968);\n              goto LAB_00058800;\n            }\n          }\n        }\n        if ((uVar6 & 0x10) == 0) {\n          piVar10 = (int *)(PTR_DAT_001db8f8 + -0x49c8);\n        }\n        else {\n          piVar10 = (int *)(PTR_DAT_001db8f8 + -0x49e0);\n        }\n      }\n    }\n    else {\n      piVar10 = (int *)(PTR_DAT_001db8f8 + -0x49b0);\n    }\n  }\nLAB_00058800:\n  local_40 = piVar10[2];\n  if (local_40 != 0) goto LAB_00058810;\n  if (*piVar10 == 0) {\n    cVar2 = *(char *)(*param_1 + 4);\n    if (*(int *)PTR_lang_output_section_statement_001dbbf4 != 0) {\n      local_44 = 0;\n      local_40 = 0;\n      puVar4 = PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb60;\n      local_34 = 0;\n      puVar5 = PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb70;\n      iVar8 = 0;\n      iVar9 = 0;\n      iVar3 = *(int *)PTR_lang_output_section_statement_001dbbf4;\n      do {\n        iVar13 = iVar3;\n        if (*(int *)(iVar13 + 0x48) < 0) {\nLAB_00058a98:\n          if (*(int *)(iVar13 + 0x1c) != 0) {\n            uVar7 = *(uint *)(*(int *)(iVar13 + 0x1c) + 0x14);\n            iVar3 = iVar9;\njoined_r0x00058aac:\n            if (((uVar7 & 1) != 0) && (iVar9 = iVar3, local_34 = iVar13, (uVar7 & 8) != 0)) {\n              local_40 = iVar13;\n            }\n          }\n        }\n        else {\n          iVar11 = *(int *)(iVar13 + 0x18);\n          iVar3 = (*(code *)PTR_strncmp_001dbe60)(iVar11,puVar4,4);\n          if (iVar3 != 0) goto LAB_00058a98;\n          uVar7 = (uint)(*(char *)(iVar11 + 4) == 'a');\n          if ((bVar1) ||\n             (iVar3 = (*(code *)PTR_strcmp_001dc144)(puVar5,iVar11 + uVar7 + 4), iVar3 == 0)) break;\n          iVar3 = iVar13;\n          if ((cVar2 == 'a') != uVar7) {\n            if (iVar8 == 0) {\n              iVar8 = iVar13;\n            }\n            iVar3 = iVar8;\n            if (iVar9 != 0) goto LAB_00058a98;\n          }\n          iVar8 = iVar3;\n          if (*(int *)(iVar13 + 0x1c) != 0) {\n            uVar7 = *(uint *)(*(int *)(iVar13 + 0x1c) + 0x14);\n            iVar3 = iVar13;\n            goto joined_r0x00058aac;\n          }\n        }\n        local_44 = iVar13;\n        iVar3 = *(int *)(iVar13 + 0x10);\n      } while (*(int *)(iVar13 + 0x10) != 0);\n      if (iVar9 == 0) {\n        if (iVar8 == 0) {\n          if (local_40 == 0) {\n            local_40 = local_34;\n            if (local_34 == 0) {\n              local_40 = local_44;\n            }\n            piVar10[2] = local_40;\n          }\n          else {\n            piVar10[2] = local_40;\n          }\n        }\n        else {\n          piVar10[2] = iVar8;\n          local_40 = iVar8;\n        }\n      }\n      else {\n        piVar10[2] = iVar9;\n        local_40 = iVar9;\n      }\n      goto LAB_00058960;\n    }\n  }\n  else {\n    local_40 = (*(code *)PTR_lang_output_section_statement_lookup_001dbc2c)(*piVar10,0,0);\n    piVar10[2] = local_40;\nLAB_00058960:\n    if (local_40 != 0) goto LAB_00058810;\n  }\n  local_40 = (*(code *)PTR_lang_output_section_find_by_flags_001dbd70)\n                       (param_1,uVar6,piVar10 + 2,PTR__bfd_elf_match_sections_by_type_001dbe14);\n  if (local_40 == 0) {\n    local_40 = *(int *)PTR_lang_output_section_statement_001dbbf4;\n  }\nLAB_00058810:\n  iVar8 = (*(code *)PTR_lang_insert_orphan_001dbd6c)(param_1,param_2,param_3,local_40,piVar10,0,0);\n  return iVar8;\n}\n\n" (function_definition "int FUN_00058384(int *param_1,undefined *param_2,int param_3)\n\n{\n  bool bVar1;\n  char cVar2;\n  int iVar3;\n  undefined *puVar4;\n  undefined *puVar5;\n  uint uVar6;\n  uint uVar7;\n  int iVar8;\n  int iVar9;\n  int *piVar10;\n  int iVar11;\n  int *piVar12;\n  int iVar13;\n  int local_44;\n  int local_40;\n  int local_34;\n  \n  puVar4 = PTR_link_info_001db928;\n  iVar8 = *(int *)(*(int *)(param_1[0x2d] + 4) + 4);\n  iVar9 = *(int *)(*(int *)(*(int *)(PTR_link_info_001db928 + 0x34) + 4) + 4);\n  if (iVar8 == 5) {\n    local_44 = *(int *)(param_1[0x2b] + 4);\n  }\n  else {\n    local_44 = 0;\n  }\n  if ((*(uint *)PTR_link_info_001db928 & 0xc0000000) == 0x80000000) {\nLAB_00058478:\n    bVar1 = false;\n  }\n  else {\n    if ((-1 < *(int *)(PTR_link_info_001db928 + 4) << 6) || (uVar6 = param_1[5], (uVar6 & 1) == 0))\n    {\n      if (iVar8 == 5) {\n        bVar1 = false;\nLAB_0005886c:\n        if ((iVar9 != 5) || (uVar6 = param_1[5], (uVar6 & 1) == 0)) goto LAB_0005847c;\n        iVar3 = param_1[0x2b];\n        goto LAB_0005888c;\n      }\n      goto LAB_00058478;\n    }\n    if (iVar8 == 5) {\n      if (local_44 == 4) {\n        bVar1 = true;\n        param_2 = PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb14;\n        goto LAB_0005886c;\n      }\n      bVar1 = local_44 == 9;\n      if (bVar1) {\n        param_2 = PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb44;\n      }\n      if (iVar9 != 5) goto LAB_0005847c;\n      iVar3 = param_1[0x2b];\nLAB_0005888c:\n      if (*(int *)(iVar3 + 0xc) << 7 < 0) {\n        iVar13 = *(int *)PTR_lang_output_section_statement_001dbbf4;\n        if (iVar13 != 0) {\n          do {\n            puVar5 = *(undefined **)(iVar13 + 0x1c);\n            if ((((puVar5 != (undefined *)0x0) && (puVar5 != PTR__bfd_std_section_001dbf30 + 400))\n                && ((*(uint *)(*(int *)(puVar5 + 0xac) + 0xc) & 0x1000000) != 0)) &&\n               ((((uVar6 ^ *(uint *)(puVar5 + 0x14)) & 0x11b) == 0 &&\n                (*(int *)(*(int *)(puVar5 + 0xac) + 0x2c) == *(int *)(iVar3 + 0x2c)))))\n            goto LAB_000586a0;\n            iVar13 = *(int *)(iVar13 + 0x10);\n          } while (iVar13 != 0);\n        }\n        if ((uVar6 & 0x102) == 0) {\n          param_2 = PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb38;\n        }\n        else if ((uVar6 & 8) == 0) {\n          param_2 = PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb20;\n        }\n        else if ((uVar6 & 0x10) == 0) {\n          param_2 = PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb50;\n        }\n        else {\n          param_2 = PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb2c;\n        }\n      }\n    }\n    else {\n      iVar3 = (*(code *)PTR_strncmp_001dbe60)\n                        (param_2,PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb60,4);\n      if (iVar3 != 0) goto LAB_00058478;\n      if (param_2[4] == 'a') {\n        bVar1 = true;\n        param_2 = PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb14;\n      }\n      else {\n        bVar1 = true;\n        param_2 = PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb44;\n      }\n    }\n  }\nLAB_0005847c:\n  if ((param_3 == 0) &&\n     (iVar13 = (*(code *)PTR_lang_output_section_statement_lookup_001dbc2c)(param_2,0,0),\n     iVar13 != 0)) {\n    iVar3 = 0;\n    do {\n      while (iVar11 = *(int *)(iVar13 + 0x1c), iVar11 == 0) {\n        iVar11 = (*(code *)PTR_next_matching_output_section_statement_001dbd68)(iVar13,0);\n        iVar3 = iVar13;\n        iVar13 = iVar11;\n        if (iVar11 == 0) goto LAB_000587ec;\n      }\n      if (*(uint *)(iVar11 + 0x14) == 0) goto LAB_000586a0;\n      if (((*(uint *)(iVar11 + 0x14) ^ param_1[5]) & 3) == 0) {\n        if ((iVar8 != 5) || (iVar9 != 5)) goto LAB_000586a0;\n        if ((*(int *)(*(int *)(iVar11 + 0xac) + 0x2c) == *(int *)(param_1[0x2b] + 0x2c)) &&\n           (((*(uint *)puVar4 & 0xc0000000) != 0x80000000 ||\n            (((*(uint *)(*(int *)(iVar11 + 0xac) + 0xc) ^ *(uint *)(param_1[0x2b] + 0xc)) &\n             0x80000000) == 0)))) {\n          iVar11 = (*(code *)PTR__bfd_elf_match_sections_by_type_001dbe14)\n                             (*(undefined4 *)(puVar4 + 0x34),iVar11,param_1[0x2d],param_1);\n          if (iVar11 != 0) goto LAB_000586a0;\n          if (*(int *)(iVar13 + 0x1c) == 0) {\n            iVar3 = iVar13;\n          }\n        }\n      }\n      iVar13 = (*(code *)PTR_next_matching_output_section_statement_001dbd68)(iVar13,0);\n    } while (iVar13 != 0);\nLAB_000587ec:\n    if (iVar3 != 0) {\n      (*(code *)PTR_lang_add_section_001dbc3c)(iVar3 + 8,param_1,0,iVar3);\n      return iVar3;\n    }\n    param_3 = 0x17e;\n  }\n  puVar5 = PTR_DAT_001db8f8;\n  if (*(int *)(PTR_DAT_001db8f8 + -0x3618) == 0) {\n    piVar10 = (int *)(PTR_DAT_001db8f8 + -0x49e0);\n    piVar12 = (int *)(PTR_DAT_001db8f8 + -0x4908);\n    do {\n      if (*piVar10 != 0) {\n        iVar9 = (*(code *)PTR_lang_output_section_statement_lookup_001dbc2c)(*piVar10,0,0);\n        piVar10[2] = iVar9;\n        if ((iVar9 != 0) && (*(int *)(iVar9 + 0x4c) == 0)) {\n          *(int *)(iVar9 + 0x4c) = piVar10[1];\n        }\n      }\n      piVar10 = piVar10 + 6;\n    } while (piVar10 != piVar12);\n    *(undefined4 *)(puVar5 + -0x3618) = 1;\n  }\n  if ((int)*(uint *)puVar4 < 0) {\n    uVar6 = param_1[5];\n    if ((*(uint *)puVar4 & 0xc0000000) != 0x80000000) goto LAB_000585fc;\n  }\n  else {\n    iVar9 = (*(code *)PTR_strncmp_001dbe60)\n                      (*param_1,PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb78,0xd);\n    if ((iVar9 == 0) && (iVar13 = *(int *)(PTR_DAT_001db8f8 + -0x49d8), iVar13 != 0)) {\nLAB_000586a0:\n      (*(code *)PTR_lang_add_section_001dbc3c)(iVar13 + 8,param_1,0,iVar13);\n      return iVar13;\n    }\n    uVar6 = param_1[5];\nLAB_000585fc:\n    iVar9 = param_1[0x2d];\n    piVar10 = param_1;\n    while (piVar10 = (int *)(*(code *)PTR_bfd_get_next_section_by_name_001dbf68)(iVar9,piVar10),\n          piVar10 != (int *)0x0) {\n      iVar9 = piVar10[0x2d];\n      if ((((piVar10[0x16] == 0) && (((piVar10[5] ^ uVar6) & 3) == 0 && (piVar10[5] & 0x8000U) == 0)\n           ) && (-1 < *(int *)(iVar9 + 0x28) << 0x12)) &&\n         ((*(int *)(iVar9 + 0xac) != 0 &&\n          ((*(ushort *)(*(int *)(iVar9 + 0xac) + 0x24) & 0x800) == 0)))) {\n        iVar9 = (*(code *)PTR__bfd_elf_match_sections_by_type_001dbe14)\n                          (iVar9,piVar10,param_1[0x2d],param_1);\n        if (iVar9 == 0) {\n          iVar9 = piVar10[0x2d];\n        }\n        else {\n          iVar9 = piVar10[0x2d];\n          uVar6 = (piVar10[5] ^ 8U | uVar6 ^ 8) ^ 8;\n        }\n      }\n    }\n  }\n  if ((uVar6 & 0x2001) == 0) {\n    piVar10 = (int *)(PTR_DAT_001db8f8 + -0x4920);\n  }\n  else {\n    piVar10 = (int *)0x0;\n    if ((uVar6 & 1) == 0) {\n      local_40 = 0;\n      goto LAB_00058810;\n    }\n    if ((uVar6 & 2) != 0) {\n      if (iVar8 == 5) {\n        if (local_44 == 7) goto LAB_000589f8;\n      }\n      else {\n        iVar9 = (*(code *)PTR_strncmp_001dbe60)\n                          (param_2,PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb68,5);\n        if (iVar9 == 0) {\nLAB_000589f8:\n          piVar10 = (int *)(PTR_DAT_001db8f8 + -0x4950);\n          goto LAB_00058800;\n        }\n      }\n    }\n    if ((uVar6 & 0x502) == 0) {\n      piVar10 = (int *)(PTR_DAT_001db8f8 + -0x4980);\n    }\n    else if ((int)(uVar6 << 9) < 0) {\n      piVar10 = (int *)(PTR_DAT_001db8f8 + -0x4938);\n    }\n    else if ((uVar6 & 0x400) == 0) {\n      if ((uVar6 & 8) == 0) {\n        piVar10 = (int *)(PTR_DAT_001db8f8 + -0x4998);\n      }\n      else {\n        if (iVar8 == 5) {\n          if ((local_44 == 4) || (local_44 == 9)) goto LAB_000585b8;\n        }\n        else {\n          iVar8 = (*(code *)PTR_strncmp_001dbe60)\n                            (param_2,PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb60,4);\n          if (iVar8 == 0) {\nLAB_000585b8:\n            if ((uVar6 & 2) != 0) {\n              piVar10 = (int *)(PTR_DAT_001db8f8 + -0x4968);\n              goto LAB_00058800;\n            }\n          }\n        }\n        if ((uVar6 & 0x10) == 0) {\n          piVar10 = (int *)(PTR_DAT_001db8f8 + -0x49c8);\n        }\n        else {\n          piVar10 = (int *)(PTR_DAT_001db8f8 + -0x49e0);\n        }\n      }\n    }\n    else {\n      piVar10 = (int *)(PTR_DAT_001db8f8 + -0x49b0);\n    }\n  }\nLAB_00058800:\n  local_40 = piVar10[2];\n  if (local_40 != 0) goto LAB_00058810;\n  if (*piVar10 == 0) {\n    cVar2 = *(char *)(*param_1 + 4);\n    if (*(int *)PTR_lang_output_section_statement_001dbbf4 != 0) {\n      local_44 = 0;\n      local_40 = 0;\n      puVar4 = PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb60;\n      local_34 = 0;\n      puVar5 = PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb70;\n      iVar8 = 0;\n      iVar9 = 0;\n      iVar3 = *(int *)PTR_lang_output_section_statement_001dbbf4;\n      do {\n        iVar13 = iVar3;\n        if (*(int *)(iVar13 + 0x48) < 0) {\nLAB_00058a98:\n          if (*(int *)(iVar13 + 0x1c) != 0) {\n            uVar7 = *(uint *)(*(int *)(iVar13 + 0x1c) + 0x14);\n            iVar3 = iVar9;\njoined_r0x00058aac:\n            if (((uVar7 & 1) != 0) && (iVar9 = iVar3, local_34 = iVar13, (uVar7 & 8) != 0)) {\n              local_40 = iVar13;\n            }\n          }\n        }\n        else {\n          iVar11 = *(int *)(iVar13 + 0x18);\n          iVar3 = (*(code *)PTR_strncmp_001dbe60)(iVar11,puVar4,4);\n          if (iVar3 != 0) goto LAB_00058a98;\n          uVar7 = (uint)(*(char *)(iVar11 + 4) == 'a');\n          if ((bVar1) ||\n             (iVar3 = (*(code *)PTR_strcmp_001dc144)(puVar5,iVar11 + uVar7 + 4), iVar3 == 0)) break;\n          iVar3 = iVar13;\n          if ((cVar2 == 'a') != uVar7) {\n            if (iVar8 == 0) {\n              iVar8 = iVar13;\n            }\n            iVar3 = iVar8;\n            if (iVar9 != 0) goto LAB_00058a98;\n          }\n          iVar8 = iVar3;\n          if (*(int *)(iVar13 + 0x1c) != 0) {\n            uVar7 = *(uint *)(*(int *)(iVar13 + 0x1c) + 0x14);\n            iVar3 = iVar13;\n            goto joined_r0x00058aac;\n          }\n        }\n        local_44 = iVar13;\n        iVar3 = *(int *)(iVar13 + 0x10);\n      } while (*(int *)(iVar13 + 0x10) != 0);\n      if (iVar9 == 0) {\n        if (iVar8 == 0) {\n          if (local_40 == 0) {\n            local_40 = local_34;\n            if (local_34 == 0) {\n              local_40 = local_44;\n            }\n            piVar10[2] = local_40;\n          }\n          else {\n            piVar10[2] = local_40;\n          }\n        }\n        else {\n          piVar10[2] = iVar8;\n          local_40 = iVar8;\n        }\n      }\n      else {\n        piVar10[2] = iVar9;\n        local_40 = iVar9;\n      }\n      goto LAB_00058960;\n    }\n  }\n  else {\n    local_40 = (*(code *)PTR_lang_output_section_statement_lookup_001dbc2c)(*piVar10,0,0);\n    piVar10[2] = local_40;\nLAB_00058960:\n    if (local_40 != 0) goto LAB_00058810;\n  }\n  local_40 = (*(code *)PTR_lang_output_section_find_by_flags_001dbd70)\n                       (param_1,uVar6,piVar10 + 2,PTR__bfd_elf_match_sections_by_type_001dbe14);\n  if (local_40 == 0) {\n    local_40 = *(int *)PTR_lang_output_section_statement_001dbbf4;\n  }\nLAB_00058810:\n  iVar8 = (*(code *)PTR_lang_insert_orphan_001dbd6c)(param_1,param_2,param_3,local_40,piVar10,0,0);\n  return iVar8;\n}" primitive_type (function_declarator "FUN_00058384(int *param_1,undefined *param_2,int param_3)" identifier (parameter_list "(int *param_1,undefined *param_2,int param_3)" ( (parameter_declaration "int *param_1" primitive_type (pointer_declarator "*param_1" * identifier)) , (parameter_declaration "undefined *param_2" type_identifier (pointer_declarator "*param_2" * identifier)) , (parameter_declaration "int param_3" primitive_type identifier) ))) (compound_statement "{\n  bool bVar1;\n  char cVar2;\n  int iVar3;\n  undefined *puVar4;\n  undefined *puVar5;\n  uint uVar6;\n  uint uVar7;\n  int iVar8;\n  int iVar9;\n  int *piVar10;\n  int iVar11;\n  int *piVar12;\n  int iVar13;\n  int local_44;\n  int local_40;\n  int local_34;\n  \n  puVar4 = PTR_link_info_001db928;\n  iVar8 = *(int *)(*(int *)(param_1[0x2d] + 4) + 4);\n  iVar9 = *(int *)(*(int *)(*(int *)(PTR_link_info_001db928 + 0x34) + 4) + 4);\n  if (iVar8 == 5) {\n    local_44 = *(int *)(param_1[0x2b] + 4);\n  }\n  else {\n    local_44 = 0;\n  }\n  if ((*(uint *)PTR_link_info_001db928 & 0xc0000000) == 0x80000000) {\nLAB_00058478:\n    bVar1 = false;\n  }\n  else {\n    if ((-1 < *(int *)(PTR_link_info_001db928 + 4) << 6) || (uVar6 = param_1[5], (uVar6 & 1) == 0))\n    {\n      if (iVar8 == 5) {\n        bVar1 = false;\nLAB_0005886c:\n        if ((iVar9 != 5) || (uVar6 = param_1[5], (uVar6 & 1) == 0)) goto LAB_0005847c;\n        iVar3 = param_1[0x2b];\n        goto LAB_0005888c;\n      }\n      goto LAB_00058478;\n    }\n    if (iVar8 == 5) {\n      if (local_44 == 4) {\n        bVar1 = true;\n        param_2 = PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb14;\n        goto LAB_0005886c;\n      }\n      bVar1 = local_44 == 9;\n      if (bVar1) {\n        param_2 = PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb44;\n      }\n      if (iVar9 != 5) goto LAB_0005847c;\n      iVar3 = param_1[0x2b];\nLAB_0005888c:\n      if (*(int *)(iVar3 + 0xc) << 7 < 0) {\n        iVar13 = *(int *)PTR_lang_output_section_statement_001dbbf4;\n        if (iVar13 != 0) {\n          do {\n            puVar5 = *(undefined **)(iVar13 + 0x1c);\n            if ((((puVar5 != (undefined *)0x0) && (puVar5 != PTR__bfd_std_section_001dbf30 + 400))\n                && ((*(uint *)(*(int *)(puVar5 + 0xac) + 0xc) & 0x1000000) != 0)) &&\n               ((((uVar6 ^ *(uint *)(puVar5 + 0x14)) & 0x11b) == 0 &&\n                (*(int *)(*(int *)(puVar5 + 0xac) + 0x2c) == *(int *)(iVar3 + 0x2c)))))\n            goto LAB_000586a0;\n            iVar13 = *(int *)(iVar13 + 0x10);\n          } while (iVar13 != 0);\n        }\n        if ((uVar6 & 0x102) == 0) {\n          param_2 = PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb38;\n        }\n        else if ((uVar6 & 8) == 0) {\n          param_2 = PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb20;\n        }\n        else if ((uVar6 & 0x10) == 0) {\n          param_2 = PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb50;\n        }\n        else {\n          param_2 = PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb2c;\n        }\n      }\n    }\n    else {\n      iVar3 = (*(code *)PTR_strncmp_001dbe60)\n                        (param_2,PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb60,4);\n      if (iVar3 != 0) goto LAB_00058478;\n      if (param_2[4] == 'a') {\n        bVar1 = true;\n        param_2 = PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb14;\n      }\n      else {\n        bVar1 = true;\n        param_2 = PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb44;\n      }\n    }\n  }\nLAB_0005847c:\n  if ((param_3 == 0) &&\n     (iVar13 = (*(code *)PTR_lang_output_section_statement_lookup_001dbc2c)(param_2,0,0),\n     iVar13 != 0)) {\n    iVar3 = 0;\n    do {\n      while (iVar11 = *(int *)(iVar13 + 0x1c), iVar11 == 0) {\n        iVar11 = (*(code *)PTR_next_matching_output_section_statement_001dbd68)(iVar13,0);\n        iVar3 = iVar13;\n        iVar13 = iVar11;\n        if (iVar11 == 0) goto LAB_000587ec;\n      }\n      if (*(uint *)(iVar11 + 0x14) == 0) goto LAB_000586a0;\n      if (((*(uint *)(iVar11 + 0x14) ^ param_1[5]) & 3) == 0) {\n        if ((iVar8 != 5) || (iVar9 != 5)) goto LAB_000586a0;\n        if ((*(int *)(*(int *)(iVar11 + 0xac) + 0x2c) == *(int *)(param_1[0x2b] + 0x2c)) &&\n           (((*(uint *)puVar4 & 0xc0000000) != 0x80000000 ||\n            (((*(uint *)(*(int *)(iVar11 + 0xac) + 0xc) ^ *(uint *)(param_1[0x2b] + 0xc)) &\n             0x80000000) == 0)))) {\n          iVar11 = (*(code *)PTR__bfd_elf_match_sections_by_type_001dbe14)\n                             (*(undefined4 *)(puVar4 + 0x34),iVar11,param_1[0x2d],param_1);\n          if (iVar11 != 0) goto LAB_000586a0;\n          if (*(int *)(iVar13 + 0x1c) == 0) {\n            iVar3 = iVar13;\n          }\n        }\n      }\n      iVar13 = (*(code *)PTR_next_matching_output_section_statement_001dbd68)(iVar13,0);\n    } while (iVar13 != 0);\nLAB_000587ec:\n    if (iVar3 != 0) {\n      (*(code *)PTR_lang_add_section_001dbc3c)(iVar3 + 8,param_1,0,iVar3);\n      return iVar3;\n    }\n    param_3 = 0x17e;\n  }\n  puVar5 = PTR_DAT_001db8f8;\n  if (*(int *)(PTR_DAT_001db8f8 + -0x3618) == 0) {\n    piVar10 = (int *)(PTR_DAT_001db8f8 + -0x49e0);\n    piVar12 = (int *)(PTR_DAT_001db8f8 + -0x4908);\n    do {\n      if (*piVar10 != 0) {\n        iVar9 = (*(code *)PTR_lang_output_section_statement_lookup_001dbc2c)(*piVar10,0,0);\n        piVar10[2] = iVar9;\n        if ((iVar9 != 0) && (*(int *)(iVar9 + 0x4c) == 0)) {\n          *(int *)(iVar9 + 0x4c) = piVar10[1];\n        }\n      }\n      piVar10 = piVar10 + 6;\n    } while (piVar10 != piVar12);\n    *(undefined4 *)(puVar5 + -0x3618) = 1;\n  }\n  if ((int)*(uint *)puVar4 < 0) {\n    uVar6 = param_1[5];\n    if ((*(uint *)puVar4 & 0xc0000000) != 0x80000000) goto LAB_000585fc;\n  }\n  else {\n    iVar9 = (*(code *)PTR_strncmp_001dbe60)\n                      (*param_1,PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb78,0xd);\n    if ((iVar9 == 0) && (iVar13 = *(int *)(PTR_DAT_001db8f8 + -0x49d8), iVar13 != 0)) {\nLAB_000586a0:\n      (*(code *)PTR_lang_add_section_001dbc3c)(iVar13 + 8,param_1,0,iVar13);\n      return iVar13;\n    }\n    uVar6 = param_1[5];\nLAB_000585fc:\n    iVar9 = param_1[0x2d];\n    piVar10 = param_1;\n    while (piVar10 = (int *)(*(code *)PTR_bfd_get_next_section_by_name_001dbf68)(iVar9,piVar10),\n          piVar10 != (int *)0x0) {\n      iVar9 = piVar10[0x2d];\n      if ((((piVar10[0x16] == 0) && (((piVar10[5] ^ uVar6) & 3) == 0 && (piVar10[5] & 0x8000U) == 0)\n           ) && (-1 < *(int *)(iVar9 + 0x28) << 0x12)) &&\n         ((*(int *)(iVar9 + 0xac) != 0 &&\n          ((*(ushort *)(*(int *)(iVar9 + 0xac) + 0x24) & 0x800) == 0)))) {\n        iVar9 = (*(code *)PTR__bfd_elf_match_sections_by_type_001dbe14)\n                          (iVar9,piVar10,param_1[0x2d],param_1);\n        if (iVar9 == 0) {\n          iVar9 = piVar10[0x2d];\n        }\n        else {\n          iVar9 = piVar10[0x2d];\n          uVar6 = (piVar10[5] ^ 8U | uVar6 ^ 8) ^ 8;\n        }\n      }\n    }\n  }\n  if ((uVar6 & 0x2001) == 0) {\n    piVar10 = (int *)(PTR_DAT_001db8f8 + -0x4920);\n  }\n  else {\n    piVar10 = (int *)0x0;\n    if ((uVar6 & 1) == 0) {\n      local_40 = 0;\n      goto LAB_00058810;\n    }\n    if ((uVar6 & 2) != 0) {\n      if (iVar8 == 5) {\n        if (local_44 == 7) goto LAB_000589f8;\n      }\n      else {\n        iVar9 = (*(code *)PTR_strncmp_001dbe60)\n                          (param_2,PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb68,5);\n        if (iVar9 == 0) {\nLAB_000589f8:\n          piVar10 = (int *)(PTR_DAT_001db8f8 + -0x4950);\n          goto LAB_00058800;\n        }\n      }\n    }\n    if ((uVar6 & 0x502) == 0) {\n      piVar10 = (int *)(PTR_DAT_001db8f8 + -0x4980);\n    }\n    else if ((int)(uVar6 << 9) < 0) {\n      piVar10 = (int *)(PTR_DAT_001db8f8 + -0x4938);\n    }\n    else if ((uVar6 & 0x400) == 0) {\n      if ((uVar6 & 8) == 0) {\n        piVar10 = (int *)(PTR_DAT_001db8f8 + -0x4998);\n      }\n      else {\n        if (iVar8 == 5) {\n          if ((local_44 == 4) || (local_44 == 9)) goto LAB_000585b8;\n        }\n        else {\n          iVar8 = (*(code *)PTR_strncmp_001dbe60)\n                            (param_2,PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb60,4);\n          if (iVar8 == 0) {\nLAB_000585b8:\n            if ((uVar6 & 2) != 0) {\n              piVar10 = (int *)(PTR_DAT_001db8f8 + -0x4968);\n              goto LAB_00058800;\n            }\n          }\n        }\n        if ((uVar6 & 0x10) == 0) {\n          piVar10 = (int *)(PTR_DAT_001db8f8 + -0x49c8);\n        }\n        else {\n          piVar10 = (int *)(PTR_DAT_001db8f8 + -0x49e0);\n        }\n      }\n    }\n    else {\n      piVar10 = (int *)(PTR_DAT_001db8f8 + -0x49b0);\n    }\n  }\nLAB_00058800:\n  local_40 = piVar10[2];\n  if (local_40 != 0) goto LAB_00058810;\n  if (*piVar10 == 0) {\n    cVar2 = *(char *)(*param_1 + 4);\n    if (*(int *)PTR_lang_output_section_statement_001dbbf4 != 0) {\n      local_44 = 0;\n      local_40 = 0;\n      puVar4 = PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb60;\n      local_34 = 0;\n      puVar5 = PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb70;\n      iVar8 = 0;\n      iVar9 = 0;\n      iVar3 = *(int *)PTR_lang_output_section_statement_001dbbf4;\n      do {\n        iVar13 = iVar3;\n        if (*(int *)(iVar13 + 0x48) < 0) {\nLAB_00058a98:\n          if (*(int *)(iVar13 + 0x1c) != 0) {\n            uVar7 = *(uint *)(*(int *)(iVar13 + 0x1c) + 0x14);\n            iVar3 = iVar9;\njoined_r0x00058aac:\n            if (((uVar7 & 1) != 0) && (iVar9 = iVar3, local_34 = iVar13, (uVar7 & 8) != 0)) {\n              local_40 = iVar13;\n            }\n          }\n        }\n        else {\n          iVar11 = *(int *)(iVar13 + 0x18);\n          iVar3 = (*(code *)PTR_strncmp_001dbe60)(iVar11,puVar4,4);\n          if (iVar3 != 0) goto LAB_00058a98;\n          uVar7 = (uint)(*(char *)(iVar11 + 4) == 'a');\n          if ((bVar1) ||\n             (iVar3 = (*(code *)PTR_strcmp_001dc144)(puVar5,iVar11 + uVar7 + 4), iVar3 == 0)) break;\n          iVar3 = iVar13;\n          if ((cVar2 == 'a') != uVar7) {\n            if (iVar8 == 0) {\n              iVar8 = iVar13;\n            }\n            iVar3 = iVar8;\n            if (iVar9 != 0) goto LAB_00058a98;\n          }\n          iVar8 = iVar3;\n          if (*(int *)(iVar13 + 0x1c) != 0) {\n            uVar7 = *(uint *)(*(int *)(iVar13 + 0x1c) + 0x14);\n            iVar3 = iVar13;\n            goto joined_r0x00058aac;\n          }\n        }\n        local_44 = iVar13;\n        iVar3 = *(int *)(iVar13 + 0x10);\n      } while (*(int *)(iVar13 + 0x10) != 0);\n      if (iVar9 == 0) {\n        if (iVar8 == 0) {\n          if (local_40 == 0) {\n            local_40 = local_34;\n            if (local_34 == 0) {\n              local_40 = local_44;\n            }\n            piVar10[2] = local_40;\n          }\n          else {\n            piVar10[2] = local_40;\n          }\n        }\n        else {\n          piVar10[2] = iVar8;\n          local_40 = iVar8;\n        }\n      }\n      else {\n        piVar10[2] = iVar9;\n        local_40 = iVar9;\n      }\n      goto LAB_00058960;\n    }\n  }\n  else {\n    local_40 = (*(code *)PTR_lang_output_section_statement_lookup_001dbc2c)(*piVar10,0,0);\n    piVar10[2] = local_40;\nLAB_00058960:\n    if (local_40 != 0) goto LAB_00058810;\n  }\n  local_40 = (*(code *)PTR_lang_output_section_find_by_flags_001dbd70)\n                       (param_1,uVar6,piVar10 + 2,PTR__bfd_elf_match_sections_by_type_001dbe14);\n  if (local_40 == 0) {\n    local_40 = *(int *)PTR_lang_output_section_statement_001dbbf4;\n  }\nLAB_00058810:\n  iVar8 = (*(code *)PTR_lang_insert_orphan_001dbd6c)(param_1,param_2,param_3,local_40,piVar10,0,0);\n  return iVar8;\n}" { (declaration "bool bVar1;" primitive_type identifier ;) (declaration "char cVar2;" primitive_type identifier ;) (declaration "int iVar3;" primitive_type identifier ;) (declaration "undefined *puVar4;" type_identifier (pointer_declarator "*puVar4" * identifier) ;) (declaration "undefined *puVar5;" type_identifier (pointer_declarator "*puVar5" * identifier) ;) (declaration "uint uVar6;" type_identifier identifier ;) (declaration "uint uVar7;" type_identifier identifier ;) (declaration "int iVar8;" primitive_type identifier ;) (declaration "int iVar9;" primitive_type identifier ;) (declaration "int *piVar10;" primitive_type (pointer_declarator "*piVar10" * identifier) ;) (declaration "int iVar11;" primitive_type identifier ;) (declaration "int *piVar12;" primitive_type (pointer_declarator "*piVar12" * identifier) ;) (declaration "int iVar13;" primitive_type identifier ;) (declaration "int local_44;" primitive_type identifier ;) (declaration "int local_40;" primitive_type identifier ;) (declaration "int local_34;" primitive_type identifier ;) (expression_statement "puVar4 = PTR_link_info_001db928;" (assignment_expression "puVar4 = PTR_link_info_001db928" identifier = identifier) ;) (expression_statement "iVar8 = *(int *)(*(int *)(param_1[0x2d] + 4) + 4);" (assignment_expression "iVar8 = *(int *)(*(int *)(param_1[0x2d] + 4) + 4)" identifier = (pointer_expression "*(int *)(*(int *)(param_1[0x2d] + 4) + 4)" * (cast_expression "(int *)(*(int *)(param_1[0x2d] + 4) + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(param_1[0x2d] + 4) + 4)" ( (binary_expression "*(int *)(param_1[0x2d] + 4) + 4" (pointer_expression "*(int *)(param_1[0x2d] + 4)" * (cast_expression "(int *)(param_1[0x2d] + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1[0x2d] + 4)" ( (binary_expression "param_1[0x2d] + 4" (subscript_expression "param_1[0x2d]" identifier [ number_literal ]) + number_literal) )))) + number_literal) ))))) ;) (expression_statement "iVar9 = *(int *)(*(int *)(*(int *)(PTR_link_info_001db928 + 0x34) + 4) + 4);" (assignment_expression "iVar9 = *(int *)(*(int *)(*(int *)(PTR_link_info_001db928 + 0x34) + 4) + 4)" identifier = (pointer_expression "*(int *)(*(int *)(*(int *)(PTR_link_info_001db928 + 0x34) + 4) + 4)" * (cast_expression "(int *)(*(int *)(*(int *)(PTR_link_info_001db928 + 0x34) + 4) + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(*(int *)(PTR_link_info_001db928 + 0x34) + 4) + 4)" ( (binary_expression "*(int *)(*(int *)(PTR_link_info_001db928 + 0x34) + 4) + 4" (pointer_expression "*(int *)(*(int *)(PTR_link_info_001db928 + 0x34) + 4)" * (cast_expression "(int *)(*(int *)(PTR_link_info_001db928 + 0x34) + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(PTR_link_info_001db928 + 0x34) + 4)" ( (binary_expression "*(int *)(PTR_link_info_001db928 + 0x34) + 4" (pointer_expression "*(int *)(PTR_link_info_001db928 + 0x34)" * (cast_expression "(int *)(PTR_link_info_001db928 + 0x34)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_link_info_001db928 + 0x34)" ( (binary_expression "PTR_link_info_001db928 + 0x34" identifier + number_literal) )))) + number_literal) )))) + number_literal) ))))) ;) (if_statement "if (iVar8 == 5) {\n    local_44 = *(int *)(param_1[0x2b] + 4);\n  }\n  else {\n    local_44 = 0;\n  }" if (parenthesized_expression "(iVar8 == 5)" ( (binary_expression "iVar8 == 5" identifier == number_literal) )) (compound_statement "{\n    local_44 = *(int *)(param_1[0x2b] + 4);\n  }" { (expression_statement "local_44 = *(int *)(param_1[0x2b] + 4);" (assignment_expression "local_44 = *(int *)(param_1[0x2b] + 4)" identifier = (pointer_expression "*(int *)(param_1[0x2b] + 4)" * (cast_expression "(int *)(param_1[0x2b] + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1[0x2b] + 4)" ( (binary_expression "param_1[0x2b] + 4" (subscript_expression "param_1[0x2b]" identifier [ number_literal ]) + number_literal) ))))) ;) }) (else_clause "else {\n    local_44 = 0;\n  }" else (compound_statement "{\n    local_44 = 0;\n  }" { (expression_statement "local_44 = 0;" (assignment_expression "local_44 = 0" identifier = number_literal) ;) }))) (if_statement "if ((*(uint *)PTR_link_info_001db928 & 0xc0000000) == 0x80000000) {\nLAB_00058478:\n    bVar1 = false;\n  }\n  else {\n    if ((-1 < *(int *)(PTR_link_info_001db928 + 4) << 6) || (uVar6 = param_1[5], (uVar6 & 1) == 0))\n    {\n      if (iVar8 == 5) {\n        bVar1 = false;\nLAB_0005886c:\n        if ((iVar9 != 5) || (uVar6 = param_1[5], (uVar6 & 1) == 0)) goto LAB_0005847c;\n        iVar3 = param_1[0x2b];\n        goto LAB_0005888c;\n      }\n      goto LAB_00058478;\n    }\n    if (iVar8 == 5) {\n      if (local_44 == 4) {\n        bVar1 = true;\n        param_2 = PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb14;\n        goto LAB_0005886c;\n      }\n      bVar1 = local_44 == 9;\n      if (bVar1) {\n        param_2 = PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb44;\n      }\n      if (iVar9 != 5) goto LAB_0005847c;\n      iVar3 = param_1[0x2b];\nLAB_0005888c:\n      if (*(int *)(iVar3 + 0xc) << 7 < 0) {\n        iVar13 = *(int *)PTR_lang_output_section_statement_001dbbf4;\n        if (iVar13 != 0) {\n          do {\n            puVar5 = *(undefined **)(iVar13 + 0x1c);\n            if ((((puVar5 != (undefined *)0x0) && (puVar5 != PTR__bfd_std_section_001dbf30 + 400))\n                && ((*(uint *)(*(int *)(puVar5 + 0xac) + 0xc) & 0x1000000) != 0)) &&\n               ((((uVar6 ^ *(uint *)(puVar5 + 0x14)) & 0x11b) == 0 &&\n                (*(int *)(*(int *)(puVar5 + 0xac) + 0x2c) == *(int *)(iVar3 + 0x2c)))))\n            goto LAB_000586a0;\n            iVar13 = *(int *)(iVar13 + 0x10);\n          } while (iVar13 != 0);\n        }\n        if ((uVar6 & 0x102) == 0) {\n          param_2 = PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb38;\n        }\n        else if ((uVar6 & 8) == 0) {\n          param_2 = PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb20;\n        }\n        else if ((uVar6 & 0x10) == 0) {\n          param_2 = PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb50;\n        }\n        else {\n          param_2 = PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb2c;\n        }\n      }\n    }\n    else {\n      iVar3 = (*(code *)PTR_strncmp_001dbe60)\n                        (param_2,PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb60,4);\n      if (iVar3 != 0) goto LAB_00058478;\n      if (param_2[4] == 'a') {\n        bVar1 = true;\n        param_2 = PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb14;\n      }\n      else {\n        bVar1 = true;\n        param_2 = PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb44;\n      }\n    }\n  }" if (parenthesized_expression "((*(uint *)PTR_link_info_001db928 & 0xc0000000) == 0x80000000)" ( (binary_expression "(*(uint *)PTR_link_info_001db928 & 0xc0000000) == 0x80000000" (parenthesized_expression "(*(uint *)PTR_link_info_001db928 & 0xc0000000)" ( (binary_expression "*(uint *)PTR_link_info_001db928 & 0xc0000000" (pointer_expression "*(uint *)PTR_link_info_001db928" * (cast_expression "(uint *)PTR_link_info_001db928" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) & number_literal) )) == number_literal) )) (compound_statement "{\nLAB_00058478:\n    bVar1 = false;\n  }" { (labeled_statement "LAB_00058478:\n    bVar1 = false;" statement_identifier : (expression_statement "bVar1 = false;" (assignment_expression "bVar1 = false" identifier = false) ;)) }) (else_clause "else {\n    if ((-1 < *(int *)(PTR_link_info_001db928 + 4) << 6) || (uVar6 = param_1[5], (uVar6 & 1) == 0))\n    {\n      if (iVar8 == 5) {\n        bVar1 = false;\nLAB_0005886c:\n        if ((iVar9 != 5) || (uVar6 = param_1[5], (uVar6 & 1) == 0)) goto LAB_0005847c;\n        iVar3 = param_1[0x2b];\n        goto LAB_0005888c;\n      }\n      goto LAB_00058478;\n    }\n    if (iVar8 == 5) {\n      if (local_44 == 4) {\n        bVar1 = true;\n        param_2 = PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb14;\n        goto LAB_0005886c;\n      }\n      bVar1 = local_44 == 9;\n      if (bVar1) {\n        param_2 = PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb44;\n      }\n      if (iVar9 != 5) goto LAB_0005847c;\n      iVar3 = param_1[0x2b];\nLAB_0005888c:\n      if (*(int *)(iVar3 + 0xc) << 7 < 0) {\n        iVar13 = *(int *)PTR_lang_output_section_statement_001dbbf4;\n        if (iVar13 != 0) {\n          do {\n            puVar5 = *(undefined **)(iVar13 + 0x1c);\n            if ((((puVar5 != (undefined *)0x0) && (puVar5 != PTR__bfd_std_section_001dbf30 + 400))\n                && ((*(uint *)(*(int *)(puVar5 + 0xac) + 0xc) & 0x1000000) != 0)) &&\n               ((((uVar6 ^ *(uint *)(puVar5 + 0x14)) & 0x11b) == 0 &&\n                (*(int *)(*(int *)(puVar5 + 0xac) + 0x2c) == *(int *)(iVar3 + 0x2c)))))\n            goto LAB_000586a0;\n            iVar13 = *(int *)(iVar13 + 0x10);\n          } while (iVar13 != 0);\n        }\n        if ((uVar6 & 0x102) == 0) {\n          param_2 = PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb38;\n        }\n        else if ((uVar6 & 8) == 0) {\n          param_2 = PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb20;\n        }\n        else if ((uVar6 & 0x10) == 0) {\n          param_2 = PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb50;\n        }\n        else {\n          param_2 = PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb2c;\n        }\n      }\n    }\n    else {\n      iVar3 = (*(code *)PTR_strncmp_001dbe60)\n                        (param_2,PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb60,4);\n      if (iVar3 != 0) goto LAB_00058478;\n      if (param_2[4] == 'a') {\n        bVar1 = true;\n        param_2 = PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb14;\n      }\n      else {\n        bVar1 = true;\n        param_2 = PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb44;\n      }\n    }\n  }" else (compound_statement "{\n    if ((-1 < *(int *)(PTR_link_info_001db928 + 4) << 6) || (uVar6 = param_1[5], (uVar6 & 1) == 0))\n    {\n      if (iVar8 == 5) {\n        bVar1 = false;\nLAB_0005886c:\n        if ((iVar9 != 5) || (uVar6 = param_1[5], (uVar6 & 1) == 0)) goto LAB_0005847c;\n        iVar3 = param_1[0x2b];\n        goto LAB_0005888c;\n      }\n      goto LAB_00058478;\n    }\n    if (iVar8 == 5) {\n      if (local_44 == 4) {\n        bVar1 = true;\n        param_2 = PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb14;\n        goto LAB_0005886c;\n      }\n      bVar1 = local_44 == 9;\n      if (bVar1) {\n        param_2 = PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb44;\n      }\n      if (iVar9 != 5) goto LAB_0005847c;\n      iVar3 = param_1[0x2b];\nLAB_0005888c:\n      if (*(int *)(iVar3 + 0xc) << 7 < 0) {\n        iVar13 = *(int *)PTR_lang_output_section_statement_001dbbf4;\n        if (iVar13 != 0) {\n          do {\n            puVar5 = *(undefined **)(iVar13 + 0x1c);\n            if ((((puVar5 != (undefined *)0x0) && (puVar5 != PTR__bfd_std_section_001dbf30 + 400))\n                && ((*(uint *)(*(int *)(puVar5 + 0xac) + 0xc) & 0x1000000) != 0)) &&\n               ((((uVar6 ^ *(uint *)(puVar5 + 0x14)) & 0x11b) == 0 &&\n                (*(int *)(*(int *)(puVar5 + 0xac) + 0x2c) == *(int *)(iVar3 + 0x2c)))))\n            goto LAB_000586a0;\n            iVar13 = *(int *)(iVar13 + 0x10);\n          } while (iVar13 != 0);\n        }\n        if ((uVar6 & 0x102) == 0) {\n          param_2 = PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb38;\n        }\n        else if ((uVar6 & 8) == 0) {\n          param_2 = PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb20;\n        }\n        else if ((uVar6 & 0x10) == 0) {\n          param_2 = PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb50;\n        }\n        else {\n          param_2 = PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb2c;\n        }\n      }\n    }\n    else {\n      iVar3 = (*(code *)PTR_strncmp_001dbe60)\n                        (param_2,PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb60,4);\n      if (iVar3 != 0) goto LAB_00058478;\n      if (param_2[4] == 'a') {\n        bVar1 = true;\n        param_2 = PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb14;\n      }\n      else {\n        bVar1 = true;\n        param_2 = PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb44;\n      }\n    }\n  }" { (if_statement "if ((-1 < *(int *)(PTR_link_info_001db928 + 4) << 6) || (uVar6 = param_1[5], (uVar6 & 1) == 0))\n    {\n      if (iVar8 == 5) {\n        bVar1 = false;\nLAB_0005886c:\n        if ((iVar9 != 5) || (uVar6 = param_1[5], (uVar6 & 1) == 0)) goto LAB_0005847c;\n        iVar3 = param_1[0x2b];\n        goto LAB_0005888c;\n      }\n      goto LAB_00058478;\n    }" if (parenthesized_expression "((-1 < *(int *)(PTR_link_info_001db928 + 4) << 6) || (uVar6 = param_1[5], (uVar6 & 1) == 0))" ( (binary_expression "(-1 < *(int *)(PTR_link_info_001db928 + 4) << 6) || (uVar6 = param_1[5], (uVar6 & 1) == 0)" (parenthesized_expression "(-1 < *(int *)(PTR_link_info_001db928 + 4) << 6)" ( (binary_expression "-1 < *(int *)(PTR_link_info_001db928 + 4) << 6" number_literal < (binary_expression "*(int *)(PTR_link_info_001db928 + 4) << 6" (pointer_expression "*(int *)(PTR_link_info_001db928 + 4)" * (cast_expression "(int *)(PTR_link_info_001db928 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_link_info_001db928 + 4)" ( (binary_expression "PTR_link_info_001db928 + 4" identifier + number_literal) )))) << number_literal)) )) || (parenthesized_expression "(uVar6 = param_1[5], (uVar6 & 1) == 0)" ( (comma_expression "uVar6 = param_1[5], (uVar6 & 1) == 0" (assignment_expression "uVar6 = param_1[5]" identifier = (subscript_expression "param_1[5]" identifier [ number_literal ])) , (binary_expression "(uVar6 & 1) == 0" (parenthesized_expression "(uVar6 & 1)" ( (binary_expression "uVar6 & 1" identifier & number_literal) )) == number_literal)) ))) )) (compound_statement "{\n      if (iVar8 == 5) {\n        bVar1 = false;\nLAB_0005886c:\n        if ((iVar9 != 5) || (uVar6 = param_1[5], (uVar6 & 1) == 0)) goto LAB_0005847c;\n        iVar3 = param_1[0x2b];\n        goto LAB_0005888c;\n      }\n      goto LAB_00058478;\n    }" { (if_statement "if (iVar8 == 5) {\n        bVar1 = false;\nLAB_0005886c:\n        if ((iVar9 != 5) || (uVar6 = param_1[5], (uVar6 & 1) == 0)) goto LAB_0005847c;\n        iVar3 = param_1[0x2b];\n        goto LAB_0005888c;\n      }" if (parenthesized_expression "(iVar8 == 5)" ( (binary_expression "iVar8 == 5" identifier == number_literal) )) (compound_statement "{\n        bVar1 = false;\nLAB_0005886c:\n        if ((iVar9 != 5) || (uVar6 = param_1[5], (uVar6 & 1) == 0)) goto LAB_0005847c;\n        iVar3 = param_1[0x2b];\n        goto LAB_0005888c;\n      }" { (expression_statement "bVar1 = false;" (assignment_expression "bVar1 = false" identifier = false) ;) (labeled_statement "LAB_0005886c:\n        if ((iVar9 != 5) || (uVar6 = param_1[5], (uVar6 & 1) == 0)) goto LAB_0005847c;" statement_identifier : (if_statement "if ((iVar9 != 5) || (uVar6 = param_1[5], (uVar6 & 1) == 0)) goto LAB_0005847c;" if (parenthesized_expression "((iVar9 != 5) || (uVar6 = param_1[5], (uVar6 & 1) == 0))" ( (binary_expression "(iVar9 != 5) || (uVar6 = param_1[5], (uVar6 & 1) == 0)" (parenthesized_expression "(iVar9 != 5)" ( (binary_expression "iVar9 != 5" identifier != number_literal) )) || (parenthesized_expression "(uVar6 = param_1[5], (uVar6 & 1) == 0)" ( (comma_expression "uVar6 = param_1[5], (uVar6 & 1) == 0" (assignment_expression "uVar6 = param_1[5]" identifier = (subscript_expression "param_1[5]" identifier [ number_literal ])) , (binary_expression "(uVar6 & 1) == 0" (parenthesized_expression "(uVar6 & 1)" ( (binary_expression "uVar6 & 1" identifier & number_literal) )) == number_literal)) ))) )) (goto_statement "goto LAB_0005847c;" goto statement_identifier ;))) (expression_statement "iVar3 = param_1[0x2b];" (assignment_expression "iVar3 = param_1[0x2b]" identifier = (subscript_expression "param_1[0x2b]" identifier [ number_literal ])) ;) (goto_statement "goto LAB_0005888c;" goto statement_identifier ;) })) (goto_statement "goto LAB_00058478;" goto statement_identifier ;) })) (if_statement "if (iVar8 == 5) {\n      if (local_44 == 4) {\n        bVar1 = true;\n        param_2 = PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb14;\n        goto LAB_0005886c;\n      }\n      bVar1 = local_44 == 9;\n      if (bVar1) {\n        param_2 = PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb44;\n      }\n      if (iVar9 != 5) goto LAB_0005847c;\n      iVar3 = param_1[0x2b];\nLAB_0005888c:\n      if (*(int *)(iVar3 + 0xc) << 7 < 0) {\n        iVar13 = *(int *)PTR_lang_output_section_statement_001dbbf4;\n        if (iVar13 != 0) {\n          do {\n            puVar5 = *(undefined **)(iVar13 + 0x1c);\n            if ((((puVar5 != (undefined *)0x0) && (puVar5 != PTR__bfd_std_section_001dbf30 + 400))\n                && ((*(uint *)(*(int *)(puVar5 + 0xac) + 0xc) & 0x1000000) != 0)) &&\n               ((((uVar6 ^ *(uint *)(puVar5 + 0x14)) & 0x11b) == 0 &&\n                (*(int *)(*(int *)(puVar5 + 0xac) + 0x2c) == *(int *)(iVar3 + 0x2c)))))\n            goto LAB_000586a0;\n            iVar13 = *(int *)(iVar13 + 0x10);\n          } while (iVar13 != 0);\n        }\n        if ((uVar6 & 0x102) == 0) {\n          param_2 = PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb38;\n        }\n        else if ((uVar6 & 8) == 0) {\n          param_2 = PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb20;\n        }\n        else if ((uVar6 & 0x10) == 0) {\n          param_2 = PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb50;\n        }\n        else {\n          param_2 = PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb2c;\n        }\n      }\n    }\n    else {\n      iVar3 = (*(code *)PTR_strncmp_001dbe60)\n                        (param_2,PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb60,4);\n      if (iVar3 != 0) goto LAB_00058478;\n      if (param_2[4] == 'a') {\n        bVar1 = true;\n        param_2 = PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb14;\n      }\n      else {\n        bVar1 = true;\n        param_2 = PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb44;\n      }\n    }" if (parenthesized_expression "(iVar8 == 5)" ( (binary_expression "iVar8 == 5" identifier == number_literal) )) (compound_statement "{\n      if (local_44 == 4) {\n        bVar1 = true;\n        param_2 = PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb14;\n        goto LAB_0005886c;\n      }\n      bVar1 = local_44 == 9;\n      if (bVar1) {\n        param_2 = PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb44;\n      }\n      if (iVar9 != 5) goto LAB_0005847c;\n      iVar3 = param_1[0x2b];\nLAB_0005888c:\n      if (*(int *)(iVar3 + 0xc) << 7 < 0) {\n        iVar13 = *(int *)PTR_lang_output_section_statement_001dbbf4;\n        if (iVar13 != 0) {\n          do {\n            puVar5 = *(undefined **)(iVar13 + 0x1c);\n            if ((((puVar5 != (undefined *)0x0) && (puVar5 != PTR__bfd_std_section_001dbf30 + 400))\n                && ((*(uint *)(*(int *)(puVar5 + 0xac) + 0xc) & 0x1000000) != 0)) &&\n               ((((uVar6 ^ *(uint *)(puVar5 + 0x14)) & 0x11b) == 0 &&\n                (*(int *)(*(int *)(puVar5 + 0xac) + 0x2c) == *(int *)(iVar3 + 0x2c)))))\n            goto LAB_000586a0;\n            iVar13 = *(int *)(iVar13 + 0x10);\n          } while (iVar13 != 0);\n        }\n        if ((uVar6 & 0x102) == 0) {\n          param_2 = PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb38;\n        }\n        else if ((uVar6 & 8) == 0) {\n          param_2 = PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb20;\n        }\n        else if ((uVar6 & 0x10) == 0) {\n          param_2 = PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb50;\n        }\n        else {\n          param_2 = PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb2c;\n        }\n      }\n    }" { (if_statement "if (local_44 == 4) {\n        bVar1 = true;\n        param_2 = PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb14;\n        goto LAB_0005886c;\n      }" if (parenthesized_expression "(local_44 == 4)" ( (binary_expression "local_44 == 4" identifier == number_literal) )) (compound_statement "{\n        bVar1 = true;\n        param_2 = PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb14;\n        goto LAB_0005886c;\n      }" { (expression_statement "bVar1 = true;" (assignment_expression "bVar1 = true" identifier = true) ;) (expression_statement "param_2 = PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb14;" (assignment_expression "param_2 = PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb14" identifier = (binary_expression "PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb14" identifier + number_literal)) ;) (goto_statement "goto LAB_0005886c;" goto statement_identifier ;) })) (expression_statement "bVar1 = local_44 == 9;" (assignment_expression "bVar1 = local_44 == 9" identifier = (binary_expression "local_44 == 9" identifier == number_literal)) ;) (if_statement "if (bVar1) {\n        param_2 = PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb44;\n      }" if (parenthesized_expression "(bVar1)" ( identifier )) (compound_statement "{\n        param_2 = PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb44;\n      }" { (expression_statement "param_2 = PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb44;" (assignment_expression "param_2 = PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb44" identifier = (binary_expression "PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb44" identifier + number_literal)) ;) })) (if_statement "if (iVar9 != 5) goto LAB_0005847c;" if (parenthesized_expression "(iVar9 != 5)" ( (binary_expression "iVar9 != 5" identifier != number_literal) )) (goto_statement "goto LAB_0005847c;" goto statement_identifier ;)) (expression_statement "iVar3 = param_1[0x2b];" (assignment_expression "iVar3 = param_1[0x2b]" identifier = (subscript_expression "param_1[0x2b]" identifier [ number_literal ])) ;) (labeled_statement "LAB_0005888c:\n      if (*(int *)(iVar3 + 0xc) << 7 < 0) {\n        iVar13 = *(int *)PTR_lang_output_section_statement_001dbbf4;\n        if (iVar13 != 0) {\n          do {\n            puVar5 = *(undefined **)(iVar13 + 0x1c);\n            if ((((puVar5 != (undefined *)0x0) && (puVar5 != PTR__bfd_std_section_001dbf30 + 400))\n                && ((*(uint *)(*(int *)(puVar5 + 0xac) + 0xc) & 0x1000000) != 0)) &&\n               ((((uVar6 ^ *(uint *)(puVar5 + 0x14)) & 0x11b) == 0 &&\n                (*(int *)(*(int *)(puVar5 + 0xac) + 0x2c) == *(int *)(iVar3 + 0x2c)))))\n            goto LAB_000586a0;\n            iVar13 = *(int *)(iVar13 + 0x10);\n          } while (iVar13 != 0);\n        }\n        if ((uVar6 & 0x102) == 0) {\n          param_2 = PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb38;\n        }\n        else if ((uVar6 & 8) == 0) {\n          param_2 = PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb20;\n        }\n        else if ((uVar6 & 0x10) == 0) {\n          param_2 = PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb50;\n        }\n        else {\n          param_2 = PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb2c;\n        }\n      }" statement_identifier : (if_statement "if (*(int *)(iVar3 + 0xc) << 7 < 0) {\n        iVar13 = *(int *)PTR_lang_output_section_statement_001dbbf4;\n        if (iVar13 != 0) {\n          do {\n            puVar5 = *(undefined **)(iVar13 + 0x1c);\n            if ((((puVar5 != (undefined *)0x0) && (puVar5 != PTR__bfd_std_section_001dbf30 + 400))\n                && ((*(uint *)(*(int *)(puVar5 + 0xac) + 0xc) & 0x1000000) != 0)) &&\n               ((((uVar6 ^ *(uint *)(puVar5 + 0x14)) & 0x11b) == 0 &&\n                (*(int *)(*(int *)(puVar5 + 0xac) + 0x2c) == *(int *)(iVar3 + 0x2c)))))\n            goto LAB_000586a0;\n            iVar13 = *(int *)(iVar13 + 0x10);\n          } while (iVar13 != 0);\n        }\n        if ((uVar6 & 0x102) == 0) {\n          param_2 = PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb38;\n        }\n        else if ((uVar6 & 8) == 0) {\n          param_2 = PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb20;\n        }\n        else if ((uVar6 & 0x10) == 0) {\n          param_2 = PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb50;\n        }\n        else {\n          param_2 = PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb2c;\n        }\n      }" if (parenthesized_expression "(*(int *)(iVar3 + 0xc) << 7 < 0)" ( (binary_expression "*(int *)(iVar3 + 0xc) << 7 < 0" (binary_expression "*(int *)(iVar3 + 0xc) << 7" (pointer_expression "*(int *)(iVar3 + 0xc)" * (cast_expression "(int *)(iVar3 + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar3 + 0xc)" ( (binary_expression "iVar3 + 0xc" identifier + number_literal) )))) << number_literal) < number_literal) )) (compound_statement "{\n        iVar13 = *(int *)PTR_lang_output_section_statement_001dbbf4;\n        if (iVar13 != 0) {\n          do {\n            puVar5 = *(undefined **)(iVar13 + 0x1c);\n            if ((((puVar5 != (undefined *)0x0) && (puVar5 != PTR__bfd_std_section_001dbf30 + 400))\n                && ((*(uint *)(*(int *)(puVar5 + 0xac) + 0xc) & 0x1000000) != 0)) &&\n               ((((uVar6 ^ *(uint *)(puVar5 + 0x14)) & 0x11b) == 0 &&\n                (*(int *)(*(int *)(puVar5 + 0xac) + 0x2c) == *(int *)(iVar3 + 0x2c)))))\n            goto LAB_000586a0;\n            iVar13 = *(int *)(iVar13 + 0x10);\n          } while (iVar13 != 0);\n        }\n        if ((uVar6 & 0x102) == 0) {\n          param_2 = PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb38;\n        }\n        else if ((uVar6 & 8) == 0) {\n          param_2 = PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb20;\n        }\n        else if ((uVar6 & 0x10) == 0) {\n          param_2 = PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb50;\n        }\n        else {\n          param_2 = PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb2c;\n        }\n      }" { (expression_statement "iVar13 = *(int *)PTR_lang_output_section_statement_001dbbf4;" (assignment_expression "iVar13 = *(int *)PTR_lang_output_section_statement_001dbbf4" identifier = (pointer_expression "*(int *)PTR_lang_output_section_statement_001dbbf4" * (cast_expression "(int *)PTR_lang_output_section_statement_001dbbf4" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) ;) (if_statement "if (iVar13 != 0) {\n          do {\n            puVar5 = *(undefined **)(iVar13 + 0x1c);\n            if ((((puVar5 != (undefined *)0x0) && (puVar5 != PTR__bfd_std_section_001dbf30 + 400))\n                && ((*(uint *)(*(int *)(puVar5 + 0xac) + 0xc) & 0x1000000) != 0)) &&\n               ((((uVar6 ^ *(uint *)(puVar5 + 0x14)) & 0x11b) == 0 &&\n                (*(int *)(*(int *)(puVar5 + 0xac) + 0x2c) == *(int *)(iVar3 + 0x2c)))))\n            goto LAB_000586a0;\n            iVar13 = *(int *)(iVar13 + 0x10);\n          } while (iVar13 != 0);\n        }" if (parenthesized_expression "(iVar13 != 0)" ( (binary_expression "iVar13 != 0" identifier != number_literal) )) (compound_statement "{\n          do {\n            puVar5 = *(undefined **)(iVar13 + 0x1c);\n            if ((((puVar5 != (undefined *)0x0) && (puVar5 != PTR__bfd_std_section_001dbf30 + 400))\n                && ((*(uint *)(*(int *)(puVar5 + 0xac) + 0xc) & 0x1000000) != 0)) &&\n               ((((uVar6 ^ *(uint *)(puVar5 + 0x14)) & 0x11b) == 0 &&\n                (*(int *)(*(int *)(puVar5 + 0xac) + 0x2c) == *(int *)(iVar3 + 0x2c)))))\n            goto LAB_000586a0;\n            iVar13 = *(int *)(iVar13 + 0x10);\n          } while (iVar13 != 0);\n        }" { (do_statement "do {\n            puVar5 = *(undefined **)(iVar13 + 0x1c);\n            if ((((puVar5 != (undefined *)0x0) && (puVar5 != PTR__bfd_std_section_001dbf30 + 400))\n                && ((*(uint *)(*(int *)(puVar5 + 0xac) + 0xc) & 0x1000000) != 0)) &&\n               ((((uVar6 ^ *(uint *)(puVar5 + 0x14)) & 0x11b) == 0 &&\n                (*(int *)(*(int *)(puVar5 + 0xac) + 0x2c) == *(int *)(iVar3 + 0x2c)))))\n            goto LAB_000586a0;\n            iVar13 = *(int *)(iVar13 + 0x10);\n          } while (iVar13 != 0);" do (compound_statement "{\n            puVar5 = *(undefined **)(iVar13 + 0x1c);\n            if ((((puVar5 != (undefined *)0x0) && (puVar5 != PTR__bfd_std_section_001dbf30 + 400))\n                && ((*(uint *)(*(int *)(puVar5 + 0xac) + 0xc) & 0x1000000) != 0)) &&\n               ((((uVar6 ^ *(uint *)(puVar5 + 0x14)) & 0x11b) == 0 &&\n                (*(int *)(*(int *)(puVar5 + 0xac) + 0x2c) == *(int *)(iVar3 + 0x2c)))))\n            goto LAB_000586a0;\n            iVar13 = *(int *)(iVar13 + 0x10);\n          }" { (expression_statement "puVar5 = *(undefined **)(iVar13 + 0x1c);" (assignment_expression "puVar5 = *(undefined **)(iVar13 + 0x1c)" identifier = (pointer_expression "*(undefined **)(iVar13 + 0x1c)" * (cast_expression "(undefined **)(iVar13 + 0x1c)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar13 + 0x1c)" ( (binary_expression "iVar13 + 0x1c" identifier + number_literal) ))))) ;) (if_statement "if ((((puVar5 != (undefined *)0x0) && (puVar5 != PTR__bfd_std_section_001dbf30 + 400))\n                && ((*(uint *)(*(int *)(puVar5 + 0xac) + 0xc) & 0x1000000) != 0)) &&\n               ((((uVar6 ^ *(uint *)(puVar5 + 0x14)) & 0x11b) == 0 &&\n                (*(int *)(*(int *)(puVar5 + 0xac) + 0x2c) == *(int *)(iVar3 + 0x2c)))))\n            goto LAB_000586a0;" if (parenthesized_expression "((((puVar5 != (undefined *)0x0) && (puVar5 != PTR__bfd_std_section_001dbf30 + 400))\n                && ((*(uint *)(*(int *)(puVar5 + 0xac) + 0xc) & 0x1000000) != 0)) &&\n               ((((uVar6 ^ *(uint *)(puVar5 + 0x14)) & 0x11b) == 0 &&\n                (*(int *)(*(int *)(puVar5 + 0xac) + 0x2c) == *(int *)(iVar3 + 0x2c)))))" ( (binary_expression "(((puVar5 != (undefined *)0x0) && (puVar5 != PTR__bfd_std_section_001dbf30 + 400))\n                && ((*(uint *)(*(int *)(puVar5 + 0xac) + 0xc) & 0x1000000) != 0)) &&\n               ((((uVar6 ^ *(uint *)(puVar5 + 0x14)) & 0x11b) == 0 &&\n                (*(int *)(*(int *)(puVar5 + 0xac) + 0x2c) == *(int *)(iVar3 + 0x2c))))" (parenthesized_expression "(((puVar5 != (undefined *)0x0) && (puVar5 != PTR__bfd_std_section_001dbf30 + 400))\n                && ((*(uint *)(*(int *)(puVar5 + 0xac) + 0xc) & 0x1000000) != 0))" ( (binary_expression "((puVar5 != (undefined *)0x0) && (puVar5 != PTR__bfd_std_section_001dbf30 + 400))\n                && ((*(uint *)(*(int *)(puVar5 + 0xac) + 0xc) & 0x1000000) != 0)" (parenthesized_expression "((puVar5 != (undefined *)0x0) && (puVar5 != PTR__bfd_std_section_001dbf30 + 400))" ( (binary_expression "(puVar5 != (undefined *)0x0) && (puVar5 != PTR__bfd_std_section_001dbf30 + 400)" (parenthesized_expression "(puVar5 != (undefined *)0x0)" ( (binary_expression "puVar5 != (undefined *)0x0" identifier != (cast_expression "(undefined *)0x0" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) && (parenthesized_expression "(puVar5 != PTR__bfd_std_section_001dbf30 + 400)" ( (binary_expression "puVar5 != PTR__bfd_std_section_001dbf30 + 400" identifier != (binary_expression "PTR__bfd_std_section_001dbf30 + 400" identifier + number_literal)) ))) )) && (parenthesized_expression "((*(uint *)(*(int *)(puVar5 + 0xac) + 0xc) & 0x1000000) != 0)" ( (binary_expression "(*(uint *)(*(int *)(puVar5 + 0xac) + 0xc) & 0x1000000) != 0" (parenthesized_expression "(*(uint *)(*(int *)(puVar5 + 0xac) + 0xc) & 0x1000000)" ( (binary_expression "*(uint *)(*(int *)(puVar5 + 0xac) + 0xc) & 0x1000000" (pointer_expression "*(uint *)(*(int *)(puVar5 + 0xac) + 0xc)" * (cast_expression "(uint *)(*(int *)(puVar5 + 0xac) + 0xc)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar5 + 0xac) + 0xc)" ( (binary_expression "*(int *)(puVar5 + 0xac) + 0xc" (pointer_expression "*(int *)(puVar5 + 0xac)" * (cast_expression "(int *)(puVar5 + 0xac)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar5 + 0xac)" ( (binary_expression "puVar5 + 0xac" identifier + number_literal) )))) + number_literal) )))) & number_literal) )) != number_literal) ))) )) && (parenthesized_expression "((((uVar6 ^ *(uint *)(puVar5 + 0x14)) & 0x11b) == 0 &&\n                (*(int *)(*(int *)(puVar5 + 0xac) + 0x2c) == *(int *)(iVar3 + 0x2c))))" ( (parenthesized_expression "(((uVar6 ^ *(uint *)(puVar5 + 0x14)) & 0x11b) == 0 &&\n                (*(int *)(*(int *)(puVar5 + 0xac) + 0x2c) == *(int *)(iVar3 + 0x2c)))" ( (binary_expression "((uVar6 ^ *(uint *)(puVar5 + 0x14)) & 0x11b) == 0 &&\n                (*(int *)(*(int *)(puVar5 + 0xac) + 0x2c) == *(int *)(iVar3 + 0x2c))" (binary_expression "((uVar6 ^ *(uint *)(puVar5 + 0x14)) & 0x11b) == 0" (parenthesized_expression "((uVar6 ^ *(uint *)(puVar5 + 0x14)) & 0x11b)" ( (binary_expression "(uVar6 ^ *(uint *)(puVar5 + 0x14)) & 0x11b" (parenthesized_expression "(uVar6 ^ *(uint *)(puVar5 + 0x14))" ( (binary_expression "uVar6 ^ *(uint *)(puVar5 + 0x14)" identifier ^ (pointer_expression "*(uint *)(puVar5 + 0x14)" * (cast_expression "(uint *)(puVar5 + 0x14)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar5 + 0x14)" ( (binary_expression "puVar5 + 0x14" identifier + number_literal) ))))) )) & number_literal) )) == number_literal) && (parenthesized_expression "(*(int *)(*(int *)(puVar5 + 0xac) + 0x2c) == *(int *)(iVar3 + 0x2c))" ( (binary_expression "*(int *)(*(int *)(puVar5 + 0xac) + 0x2c) == *(int *)(iVar3 + 0x2c)" (pointer_expression "*(int *)(*(int *)(puVar5 + 0xac) + 0x2c)" * (cast_expression "(int *)(*(int *)(puVar5 + 0xac) + 0x2c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar5 + 0xac) + 0x2c)" ( (binary_expression "*(int *)(puVar5 + 0xac) + 0x2c" (pointer_expression "*(int *)(puVar5 + 0xac)" * (cast_expression "(int *)(puVar5 + 0xac)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar5 + 0xac)" ( (binary_expression "puVar5 + 0xac" identifier + number_literal) )))) + number_literal) )))) == (pointer_expression "*(int *)(iVar3 + 0x2c)" * (cast_expression "(int *)(iVar3 + 0x2c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar3 + 0x2c)" ( (binary_expression "iVar3 + 0x2c" identifier + number_literal) ))))) ))) )) ))) )) (goto_statement "goto LAB_000586a0;" goto statement_identifier ;)) (expression_statement "iVar13 = *(int *)(iVar13 + 0x10);" (assignment_expression "iVar13 = *(int *)(iVar13 + 0x10)" identifier = (pointer_expression "*(int *)(iVar13 + 0x10)" * (cast_expression "(int *)(iVar13 + 0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar13 + 0x10)" ( (binary_expression "iVar13 + 0x10" identifier + number_literal) ))))) ;) }) while (parenthesized_expression "(iVar13 != 0)" ( (binary_expression "iVar13 != 0" identifier != number_literal) )) ;) })) (if_statement "if ((uVar6 & 0x102) == 0) {\n          param_2 = PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb38;\n        }\n        else if ((uVar6 & 8) == 0) {\n          param_2 = PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb20;\n        }\n        else if ((uVar6 & 0x10) == 0) {\n          param_2 = PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb50;\n        }\n        else {\n          param_2 = PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb2c;\n        }" if (parenthesized_expression "((uVar6 & 0x102) == 0)" ( (binary_expression "(uVar6 & 0x102) == 0" (parenthesized_expression "(uVar6 & 0x102)" ( (binary_expression "uVar6 & 0x102" identifier & number_literal) )) == number_literal) )) (compound_statement "{\n          param_2 = PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb38;\n        }" { (expression_statement "param_2 = PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb38;" (assignment_expression "param_2 = PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb38" identifier = (binary_expression "PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb38" identifier + number_literal)) ;) }) (else_clause "else if ((uVar6 & 8) == 0) {\n          param_2 = PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb20;\n        }\n        else if ((uVar6 & 0x10) == 0) {\n          param_2 = PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb50;\n        }\n        else {\n          param_2 = PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb2c;\n        }" else (if_statement "if ((uVar6 & 8) == 0) {\n          param_2 = PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb20;\n        }\n        else if ((uVar6 & 0x10) == 0) {\n          param_2 = PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb50;\n        }\n        else {\n          param_2 = PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb2c;\n        }" if (parenthesized_expression "((uVar6 & 8) == 0)" ( (binary_expression "(uVar6 & 8) == 0" (parenthesized_expression "(uVar6 & 8)" ( (binary_expression "uVar6 & 8" identifier & number_literal) )) == number_literal) )) (compound_statement "{\n          param_2 = PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb20;\n        }" { (expression_statement "param_2 = PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb20;" (assignment_expression "param_2 = PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb20" identifier = (binary_expression "PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb20" identifier + number_literal)) ;) }) (else_clause "else if ((uVar6 & 0x10) == 0) {\n          param_2 = PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb50;\n        }\n        else {\n          param_2 = PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb2c;\n        }" else (if_statement "if ((uVar6 & 0x10) == 0) {\n          param_2 = PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb50;\n        }\n        else {\n          param_2 = PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb2c;\n        }" if (parenthesized_expression "((uVar6 & 0x10) == 0)" ( (binary_expression "(uVar6 & 0x10) == 0" (parenthesized_expression "(uVar6 & 0x10)" ( (binary_expression "uVar6 & 0x10" identifier & number_literal) )) == number_literal) )) (compound_statement "{\n          param_2 = PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb50;\n        }" { (expression_statement "param_2 = PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb50;" (assignment_expression "param_2 = PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb50" identifier = (binary_expression "PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb50" identifier + number_literal)) ;) }) (else_clause "else {\n          param_2 = PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb2c;\n        }" else (compound_statement "{\n          param_2 = PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb2c;\n        }" { (expression_statement "param_2 = PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb2c;" (assignment_expression "param_2 = PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb2c" identifier = (binary_expression "PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb2c" identifier + number_literal)) ;) }))))))) }))) }) (else_clause "else {\n      iVar3 = (*(code *)PTR_strncmp_001dbe60)\n                        (param_2,PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb60,4);\n      if (iVar3 != 0) goto LAB_00058478;\n      if (param_2[4] == 'a') {\n        bVar1 = true;\n        param_2 = PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb14;\n      }\n      else {\n        bVar1 = true;\n        param_2 = PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb44;\n      }\n    }" else (compound_statement "{\n      iVar3 = (*(code *)PTR_strncmp_001dbe60)\n                        (param_2,PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb60,4);\n      if (iVar3 != 0) goto LAB_00058478;\n      if (param_2[4] == 'a') {\n        bVar1 = true;\n        param_2 = PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb14;\n      }\n      else {\n        bVar1 = true;\n        param_2 = PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb44;\n      }\n    }" { (expression_statement "iVar3 = (*(code *)PTR_strncmp_001dbe60)\n                        (param_2,PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb60,4);" (assignment_expression "iVar3 = (*(code *)PTR_strncmp_001dbe60)\n                        (param_2,PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb60,4)" identifier = (call_expression "(*(code *)PTR_strncmp_001dbe60)\n                        (param_2,PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb60,4)" (parenthesized_expression "(*(code *)PTR_strncmp_001dbe60)" ( (pointer_expression "*(code *)PTR_strncmp_001dbe60" * (cast_expression "(code *)PTR_strncmp_001dbe60" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(param_2,PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb60,4)" ( identifier , (binary_expression "PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb60" identifier + number_literal) , number_literal )))) ;) (if_statement "if (iVar3 != 0) goto LAB_00058478;" if (parenthesized_expression "(iVar3 != 0)" ( (binary_expression "iVar3 != 0" identifier != number_literal) )) (goto_statement "goto LAB_00058478;" goto statement_identifier ;)) (if_statement "if (param_2[4] == 'a') {\n        bVar1 = true;\n        param_2 = PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb14;\n      }\n      else {\n        bVar1 = true;\n        param_2 = PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb44;\n      }" if (parenthesized_expression "(param_2[4] == 'a')" ( (binary_expression "param_2[4] == 'a'" (subscript_expression "param_2[4]" identifier [ number_literal ]) == (char_literal "'a'" ' character ')) )) (compound_statement "{\n        bVar1 = true;\n        param_2 = PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb14;\n      }" { (expression_statement "bVar1 = true;" (assignment_expression "bVar1 = true" identifier = true) ;) (expression_statement "param_2 = PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb14;" (assignment_expression "param_2 = PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb14" identifier = (binary_expression "PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb14" identifier + number_literal)) ;) }) (else_clause "else {\n        bVar1 = true;\n        param_2 = PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb44;\n      }" else (compound_statement "{\n        bVar1 = true;\n        param_2 = PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb44;\n      }" { (expression_statement "bVar1 = true;" (assignment_expression "bVar1 = true" identifier = true) ;) (expression_statement "param_2 = PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb44;" (assignment_expression "param_2 = PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb44" identifier = (binary_expression "PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb44" identifier + number_literal)) ;) }))) }))) }))) (labeled_statement "LAB_0005847c:\n  if ((param_3 == 0) &&\n     (iVar13 = (*(code *)PTR_lang_output_section_statement_lookup_001dbc2c)(param_2,0,0),\n     iVar13 != 0)) {\n    iVar3 = 0;\n    do {\n      while (iVar11 = *(int *)(iVar13 + 0x1c), iVar11 == 0) {\n        iVar11 = (*(code *)PTR_next_matching_output_section_statement_001dbd68)(iVar13,0);\n        iVar3 = iVar13;\n        iVar13 = iVar11;\n        if (iVar11 == 0) goto LAB_000587ec;\n      }\n      if (*(uint *)(iVar11 + 0x14) == 0) goto LAB_000586a0;\n      if (((*(uint *)(iVar11 + 0x14) ^ param_1[5]) & 3) == 0) {\n        if ((iVar8 != 5) || (iVar9 != 5)) goto LAB_000586a0;\n        if ((*(int *)(*(int *)(iVar11 + 0xac) + 0x2c) == *(int *)(param_1[0x2b] + 0x2c)) &&\n           (((*(uint *)puVar4 & 0xc0000000) != 0x80000000 ||\n            (((*(uint *)(*(int *)(iVar11 + 0xac) + 0xc) ^ *(uint *)(param_1[0x2b] + 0xc)) &\n             0x80000000) == 0)))) {\n          iVar11 = (*(code *)PTR__bfd_elf_match_sections_by_type_001dbe14)\n                             (*(undefined4 *)(puVar4 + 0x34),iVar11,param_1[0x2d],param_1);\n          if (iVar11 != 0) goto LAB_000586a0;\n          if (*(int *)(iVar13 + 0x1c) == 0) {\n            iVar3 = iVar13;\n          }\n        }\n      }\n      iVar13 = (*(code *)PTR_next_matching_output_section_statement_001dbd68)(iVar13,0);\n    } while (iVar13 != 0);\nLAB_000587ec:\n    if (iVar3 != 0) {\n      (*(code *)PTR_lang_add_section_001dbc3c)(iVar3 + 8,param_1,0,iVar3);\n      return iVar3;\n    }\n    param_3 = 0x17e;\n  }" statement_identifier : (if_statement "if ((param_3 == 0) &&\n     (iVar13 = (*(code *)PTR_lang_output_section_statement_lookup_001dbc2c)(param_2,0,0),\n     iVar13 != 0)) {\n    iVar3 = 0;\n    do {\n      while (iVar11 = *(int *)(iVar13 + 0x1c), iVar11 == 0) {\n        iVar11 = (*(code *)PTR_next_matching_output_section_statement_001dbd68)(iVar13,0);\n        iVar3 = iVar13;\n        iVar13 = iVar11;\n        if (iVar11 == 0) goto LAB_000587ec;\n      }\n      if (*(uint *)(iVar11 + 0x14) == 0) goto LAB_000586a0;\n      if (((*(uint *)(iVar11 + 0x14) ^ param_1[5]) & 3) == 0) {\n        if ((iVar8 != 5) || (iVar9 != 5)) goto LAB_000586a0;\n        if ((*(int *)(*(int *)(iVar11 + 0xac) + 0x2c) == *(int *)(param_1[0x2b] + 0x2c)) &&\n           (((*(uint *)puVar4 & 0xc0000000) != 0x80000000 ||\n            (((*(uint *)(*(int *)(iVar11 + 0xac) + 0xc) ^ *(uint *)(param_1[0x2b] + 0xc)) &\n             0x80000000) == 0)))) {\n          iVar11 = (*(code *)PTR__bfd_elf_match_sections_by_type_001dbe14)\n                             (*(undefined4 *)(puVar4 + 0x34),iVar11,param_1[0x2d],param_1);\n          if (iVar11 != 0) goto LAB_000586a0;\n          if (*(int *)(iVar13 + 0x1c) == 0) {\n            iVar3 = iVar13;\n          }\n        }\n      }\n      iVar13 = (*(code *)PTR_next_matching_output_section_statement_001dbd68)(iVar13,0);\n    } while (iVar13 != 0);\nLAB_000587ec:\n    if (iVar3 != 0) {\n      (*(code *)PTR_lang_add_section_001dbc3c)(iVar3 + 8,param_1,0,iVar3);\n      return iVar3;\n    }\n    param_3 = 0x17e;\n  }" if (parenthesized_expression "((param_3 == 0) &&\n     (iVar13 = (*(code *)PTR_lang_output_section_statement_lookup_001dbc2c)(param_2,0,0),\n     iVar13 != 0))" ( (binary_expression "(param_3 == 0) &&\n     (iVar13 = (*(code *)PTR_lang_output_section_statement_lookup_001dbc2c)(param_2,0,0),\n     iVar13 != 0)" (parenthesized_expression "(param_3 == 0)" ( (binary_expression "param_3 == 0" identifier == number_literal) )) && (parenthesized_expression "(iVar13 = (*(code *)PTR_lang_output_section_statement_lookup_001dbc2c)(param_2,0,0),\n     iVar13 != 0)" ( (comma_expression "iVar13 = (*(code *)PTR_lang_output_section_statement_lookup_001dbc2c)(param_2,0,0),\n     iVar13 != 0" (assignment_expression "iVar13 = (*(code *)PTR_lang_output_section_statement_lookup_001dbc2c)(param_2,0,0)" identifier = (call_expression "(*(code *)PTR_lang_output_section_statement_lookup_001dbc2c)(param_2,0,0)" (parenthesized_expression "(*(code *)PTR_lang_output_section_statement_lookup_001dbc2c)" ( (pointer_expression "*(code *)PTR_lang_output_section_statement_lookup_001dbc2c" * (cast_expression "(code *)PTR_lang_output_section_statement_lookup_001dbc2c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(param_2,0,0)" ( identifier , number_literal , number_literal )))) , (binary_expression "iVar13 != 0" identifier != number_literal)) ))) )) (compound_statement "{\n    iVar3 = 0;\n    do {\n      while (iVar11 = *(int *)(iVar13 + 0x1c), iVar11 == 0) {\n        iVar11 = (*(code *)PTR_next_matching_output_section_statement_001dbd68)(iVar13,0);\n        iVar3 = iVar13;\n        iVar13 = iVar11;\n        if (iVar11 == 0) goto LAB_000587ec;\n      }\n      if (*(uint *)(iVar11 + 0x14) == 0) goto LAB_000586a0;\n      if (((*(uint *)(iVar11 + 0x14) ^ param_1[5]) & 3) == 0) {\n        if ((iVar8 != 5) || (iVar9 != 5)) goto LAB_000586a0;\n        if ((*(int *)(*(int *)(iVar11 + 0xac) + 0x2c) == *(int *)(param_1[0x2b] + 0x2c)) &&\n           (((*(uint *)puVar4 & 0xc0000000) != 0x80000000 ||\n            (((*(uint *)(*(int *)(iVar11 + 0xac) + 0xc) ^ *(uint *)(param_1[0x2b] + 0xc)) &\n             0x80000000) == 0)))) {\n          iVar11 = (*(code *)PTR__bfd_elf_match_sections_by_type_001dbe14)\n                             (*(undefined4 *)(puVar4 + 0x34),iVar11,param_1[0x2d],param_1);\n          if (iVar11 != 0) goto LAB_000586a0;\n          if (*(int *)(iVar13 + 0x1c) == 0) {\n            iVar3 = iVar13;\n          }\n        }\n      }\n      iVar13 = (*(code *)PTR_next_matching_output_section_statement_001dbd68)(iVar13,0);\n    } while (iVar13 != 0);\nLAB_000587ec:\n    if (iVar3 != 0) {\n      (*(code *)PTR_lang_add_section_001dbc3c)(iVar3 + 8,param_1,0,iVar3);\n      return iVar3;\n    }\n    param_3 = 0x17e;\n  }" { (expression_statement "iVar3 = 0;" (assignment_expression "iVar3 = 0" identifier = number_literal) ;) (do_statement "do {\n      while (iVar11 = *(int *)(iVar13 + 0x1c), iVar11 == 0) {\n        iVar11 = (*(code *)PTR_next_matching_output_section_statement_001dbd68)(iVar13,0);\n        iVar3 = iVar13;\n        iVar13 = iVar11;\n        if (iVar11 == 0) goto LAB_000587ec;\n      }\n      if (*(uint *)(iVar11 + 0x14) == 0) goto LAB_000586a0;\n      if (((*(uint *)(iVar11 + 0x14) ^ param_1[5]) & 3) == 0) {\n        if ((iVar8 != 5) || (iVar9 != 5)) goto LAB_000586a0;\n        if ((*(int *)(*(int *)(iVar11 + 0xac) + 0x2c) == *(int *)(param_1[0x2b] + 0x2c)) &&\n           (((*(uint *)puVar4 & 0xc0000000) != 0x80000000 ||\n            (((*(uint *)(*(int *)(iVar11 + 0xac) + 0xc) ^ *(uint *)(param_1[0x2b] + 0xc)) &\n             0x80000000) == 0)))) {\n          iVar11 = (*(code *)PTR__bfd_elf_match_sections_by_type_001dbe14)\n                             (*(undefined4 *)(puVar4 + 0x34),iVar11,param_1[0x2d],param_1);\n          if (iVar11 != 0) goto LAB_000586a0;\n          if (*(int *)(iVar13 + 0x1c) == 0) {\n            iVar3 = iVar13;\n          }\n        }\n      }\n      iVar13 = (*(code *)PTR_next_matching_output_section_statement_001dbd68)(iVar13,0);\n    } while (iVar13 != 0);" do (compound_statement "{\n      while (iVar11 = *(int *)(iVar13 + 0x1c), iVar11 == 0) {\n        iVar11 = (*(code *)PTR_next_matching_output_section_statement_001dbd68)(iVar13,0);\n        iVar3 = iVar13;\n        iVar13 = iVar11;\n        if (iVar11 == 0) goto LAB_000587ec;\n      }\n      if (*(uint *)(iVar11 + 0x14) == 0) goto LAB_000586a0;\n      if (((*(uint *)(iVar11 + 0x14) ^ param_1[5]) & 3) == 0) {\n        if ((iVar8 != 5) || (iVar9 != 5)) goto LAB_000586a0;\n        if ((*(int *)(*(int *)(iVar11 + 0xac) + 0x2c) == *(int *)(param_1[0x2b] + 0x2c)) &&\n           (((*(uint *)puVar4 & 0xc0000000) != 0x80000000 ||\n            (((*(uint *)(*(int *)(iVar11 + 0xac) + 0xc) ^ *(uint *)(param_1[0x2b] + 0xc)) &\n             0x80000000) == 0)))) {\n          iVar11 = (*(code *)PTR__bfd_elf_match_sections_by_type_001dbe14)\n                             (*(undefined4 *)(puVar4 + 0x34),iVar11,param_1[0x2d],param_1);\n          if (iVar11 != 0) goto LAB_000586a0;\n          if (*(int *)(iVar13 + 0x1c) == 0) {\n            iVar3 = iVar13;\n          }\n        }\n      }\n      iVar13 = (*(code *)PTR_next_matching_output_section_statement_001dbd68)(iVar13,0);\n    }" { (while_statement "while (iVar11 = *(int *)(iVar13 + 0x1c), iVar11 == 0) {\n        iVar11 = (*(code *)PTR_next_matching_output_section_statement_001dbd68)(iVar13,0);\n        iVar3 = iVar13;\n        iVar13 = iVar11;\n        if (iVar11 == 0) goto LAB_000587ec;\n      }" while (parenthesized_expression "(iVar11 = *(int *)(iVar13 + 0x1c), iVar11 == 0)" ( (comma_expression "iVar11 = *(int *)(iVar13 + 0x1c), iVar11 == 0" (assignment_expression "iVar11 = *(int *)(iVar13 + 0x1c)" identifier = (pointer_expression "*(int *)(iVar13 + 0x1c)" * (cast_expression "(int *)(iVar13 + 0x1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar13 + 0x1c)" ( (binary_expression "iVar13 + 0x1c" identifier + number_literal) ))))) , (binary_expression "iVar11 == 0" identifier == number_literal)) )) (compound_statement "{\n        iVar11 = (*(code *)PTR_next_matching_output_section_statement_001dbd68)(iVar13,0);\n        iVar3 = iVar13;\n        iVar13 = iVar11;\n        if (iVar11 == 0) goto LAB_000587ec;\n      }" { (expression_statement "iVar11 = (*(code *)PTR_next_matching_output_section_statement_001dbd68)(iVar13,0);" (assignment_expression "iVar11 = (*(code *)PTR_next_matching_output_section_statement_001dbd68)(iVar13,0)" identifier = (call_expression "(*(code *)PTR_next_matching_output_section_statement_001dbd68)(iVar13,0)" (parenthesized_expression "(*(code *)PTR_next_matching_output_section_statement_001dbd68)" ( (pointer_expression "*(code *)PTR_next_matching_output_section_statement_001dbd68" * (cast_expression "(code *)PTR_next_matching_output_section_statement_001dbd68" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(iVar13,0)" ( identifier , number_literal )))) ;) (expression_statement "iVar3 = iVar13;" (assignment_expression "iVar3 = iVar13" identifier = identifier) ;) (expression_statement "iVar13 = iVar11;" (assignment_expression "iVar13 = iVar11" identifier = identifier) ;) (if_statement "if (iVar11 == 0) goto LAB_000587ec;" if (parenthesized_expression "(iVar11 == 0)" ( (binary_expression "iVar11 == 0" identifier == number_literal) )) (goto_statement "goto LAB_000587ec;" goto statement_identifier ;)) })) (if_statement "if (*(uint *)(iVar11 + 0x14) == 0) goto LAB_000586a0;" if (parenthesized_expression "(*(uint *)(iVar11 + 0x14) == 0)" ( (binary_expression "*(uint *)(iVar11 + 0x14) == 0" (pointer_expression "*(uint *)(iVar11 + 0x14)" * (cast_expression "(uint *)(iVar11 + 0x14)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0x14)" ( (binary_expression "iVar11 + 0x14" identifier + number_literal) )))) == number_literal) )) (goto_statement "goto LAB_000586a0;" goto statement_identifier ;)) (if_statement "if (((*(uint *)(iVar11 + 0x14) ^ param_1[5]) & 3) == 0) {\n        if ((iVar8 != 5) || (iVar9 != 5)) goto LAB_000586a0;\n        if ((*(int *)(*(int *)(iVar11 + 0xac) + 0x2c) == *(int *)(param_1[0x2b] + 0x2c)) &&\n           (((*(uint *)puVar4 & 0xc0000000) != 0x80000000 ||\n            (((*(uint *)(*(int *)(iVar11 + 0xac) + 0xc) ^ *(uint *)(param_1[0x2b] + 0xc)) &\n             0x80000000) == 0)))) {\n          iVar11 = (*(code *)PTR__bfd_elf_match_sections_by_type_001dbe14)\n                             (*(undefined4 *)(puVar4 + 0x34),iVar11,param_1[0x2d],param_1);\n          if (iVar11 != 0) goto LAB_000586a0;\n          if (*(int *)(iVar13 + 0x1c) == 0) {\n            iVar3 = iVar13;\n          }\n        }\n      }" if (parenthesized_expression "(((*(uint *)(iVar11 + 0x14) ^ param_1[5]) & 3) == 0)" ( (binary_expression "((*(uint *)(iVar11 + 0x14) ^ param_1[5]) & 3) == 0" (parenthesized_expression "((*(uint *)(iVar11 + 0x14) ^ param_1[5]) & 3)" ( (binary_expression "(*(uint *)(iVar11 + 0x14) ^ param_1[5]) & 3" (parenthesized_expression "(*(uint *)(iVar11 + 0x14) ^ param_1[5])" ( (binary_expression "*(uint *)(iVar11 + 0x14) ^ param_1[5]" (pointer_expression "*(uint *)(iVar11 + 0x14)" * (cast_expression "(uint *)(iVar11 + 0x14)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0x14)" ( (binary_expression "iVar11 + 0x14" identifier + number_literal) )))) ^ (subscript_expression "param_1[5]" identifier [ number_literal ])) )) & number_literal) )) == number_literal) )) (compound_statement "{\n        if ((iVar8 != 5) || (iVar9 != 5)) goto LAB_000586a0;\n        if ((*(int *)(*(int *)(iVar11 + 0xac) + 0x2c) == *(int *)(param_1[0x2b] + 0x2c)) &&\n           (((*(uint *)puVar4 & 0xc0000000) != 0x80000000 ||\n            (((*(uint *)(*(int *)(iVar11 + 0xac) + 0xc) ^ *(uint *)(param_1[0x2b] + 0xc)) &\n             0x80000000) == 0)))) {\n          iVar11 = (*(code *)PTR__bfd_elf_match_sections_by_type_001dbe14)\n                             (*(undefined4 *)(puVar4 + 0x34),iVar11,param_1[0x2d],param_1);\n          if (iVar11 != 0) goto LAB_000586a0;\n          if (*(int *)(iVar13 + 0x1c) == 0) {\n            iVar3 = iVar13;\n          }\n        }\n      }" { (if_statement "if ((iVar8 != 5) || (iVar9 != 5)) goto LAB_000586a0;" if (parenthesized_expression "((iVar8 != 5) || (iVar9 != 5))" ( (binary_expression "(iVar8 != 5) || (iVar9 != 5)" (parenthesized_expression "(iVar8 != 5)" ( (binary_expression "iVar8 != 5" identifier != number_literal) )) || (parenthesized_expression "(iVar9 != 5)" ( (binary_expression "iVar9 != 5" identifier != number_literal) ))) )) (goto_statement "goto LAB_000586a0;" goto statement_identifier ;)) (if_statement "if ((*(int *)(*(int *)(iVar11 + 0xac) + 0x2c) == *(int *)(param_1[0x2b] + 0x2c)) &&\n           (((*(uint *)puVar4 & 0xc0000000) != 0x80000000 ||\n            (((*(uint *)(*(int *)(iVar11 + 0xac) + 0xc) ^ *(uint *)(param_1[0x2b] + 0xc)) &\n             0x80000000) == 0)))) {\n          iVar11 = (*(code *)PTR__bfd_elf_match_sections_by_type_001dbe14)\n                             (*(undefined4 *)(puVar4 + 0x34),iVar11,param_1[0x2d],param_1);\n          if (iVar11 != 0) goto LAB_000586a0;\n          if (*(int *)(iVar13 + 0x1c) == 0) {\n            iVar3 = iVar13;\n          }\n        }" if (parenthesized_expression "((*(int *)(*(int *)(iVar11 + 0xac) + 0x2c) == *(int *)(param_1[0x2b] + 0x2c)) &&\n           (((*(uint *)puVar4 & 0xc0000000) != 0x80000000 ||\n            (((*(uint *)(*(int *)(iVar11 + 0xac) + 0xc) ^ *(uint *)(param_1[0x2b] + 0xc)) &\n             0x80000000) == 0))))" ( (binary_expression "(*(int *)(*(int *)(iVar11 + 0xac) + 0x2c) == *(int *)(param_1[0x2b] + 0x2c)) &&\n           (((*(uint *)puVar4 & 0xc0000000) != 0x80000000 ||\n            (((*(uint *)(*(int *)(iVar11 + 0xac) + 0xc) ^ *(uint *)(param_1[0x2b] + 0xc)) &\n             0x80000000) == 0)))" (parenthesized_expression "(*(int *)(*(int *)(iVar11 + 0xac) + 0x2c) == *(int *)(param_1[0x2b] + 0x2c))" ( (binary_expression "*(int *)(*(int *)(iVar11 + 0xac) + 0x2c) == *(int *)(param_1[0x2b] + 0x2c)" (pointer_expression "*(int *)(*(int *)(iVar11 + 0xac) + 0x2c)" * (cast_expression "(int *)(*(int *)(iVar11 + 0xac) + 0x2c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(iVar11 + 0xac) + 0x2c)" ( (binary_expression "*(int *)(iVar11 + 0xac) + 0x2c" (pointer_expression "*(int *)(iVar11 + 0xac)" * (cast_expression "(int *)(iVar11 + 0xac)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0xac)" ( (binary_expression "iVar11 + 0xac" identifier + number_literal) )))) + number_literal) )))) == (pointer_expression "*(int *)(param_1[0x2b] + 0x2c)" * (cast_expression "(int *)(param_1[0x2b] + 0x2c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1[0x2b] + 0x2c)" ( (binary_expression "param_1[0x2b] + 0x2c" (subscript_expression "param_1[0x2b]" identifier [ number_literal ]) + number_literal) ))))) )) && (parenthesized_expression "(((*(uint *)puVar4 & 0xc0000000) != 0x80000000 ||\n            (((*(uint *)(*(int *)(iVar11 + 0xac) + 0xc) ^ *(uint *)(param_1[0x2b] + 0xc)) &\n             0x80000000) == 0)))" ( (parenthesized_expression "((*(uint *)puVar4 & 0xc0000000) != 0x80000000 ||\n            (((*(uint *)(*(int *)(iVar11 + 0xac) + 0xc) ^ *(uint *)(param_1[0x2b] + 0xc)) &\n             0x80000000) == 0))" ( (binary_expression "(*(uint *)puVar4 & 0xc0000000) != 0x80000000 ||\n            (((*(uint *)(*(int *)(iVar11 + 0xac) + 0xc) ^ *(uint *)(param_1[0x2b] + 0xc)) &\n             0x80000000) == 0)" (binary_expression "(*(uint *)puVar4 & 0xc0000000) != 0x80000000" (parenthesized_expression "(*(uint *)puVar4 & 0xc0000000)" ( (binary_expression "*(uint *)puVar4 & 0xc0000000" (pointer_expression "*(uint *)puVar4" * (cast_expression "(uint *)puVar4" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) & number_literal) )) != number_literal) || (parenthesized_expression "(((*(uint *)(*(int *)(iVar11 + 0xac) + 0xc) ^ *(uint *)(param_1[0x2b] + 0xc)) &\n             0x80000000) == 0)" ( (binary_expression "((*(uint *)(*(int *)(iVar11 + 0xac) + 0xc) ^ *(uint *)(param_1[0x2b] + 0xc)) &\n             0x80000000) == 0" (parenthesized_expression "((*(uint *)(*(int *)(iVar11 + 0xac) + 0xc) ^ *(uint *)(param_1[0x2b] + 0xc)) &\n             0x80000000)" ( (binary_expression "(*(uint *)(*(int *)(iVar11 + 0xac) + 0xc) ^ *(uint *)(param_1[0x2b] + 0xc)) &\n             0x80000000" (parenthesized_expression "(*(uint *)(*(int *)(iVar11 + 0xac) + 0xc) ^ *(uint *)(param_1[0x2b] + 0xc))" ( (binary_expression "*(uint *)(*(int *)(iVar11 + 0xac) + 0xc) ^ *(uint *)(param_1[0x2b] + 0xc)" (pointer_expression "*(uint *)(*(int *)(iVar11 + 0xac) + 0xc)" * (cast_expression "(uint *)(*(int *)(iVar11 + 0xac) + 0xc)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(iVar11 + 0xac) + 0xc)" ( (binary_expression "*(int *)(iVar11 + 0xac) + 0xc" (pointer_expression "*(int *)(iVar11 + 0xac)" * (cast_expression "(int *)(iVar11 + 0xac)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0xac)" ( (binary_expression "iVar11 + 0xac" identifier + number_literal) )))) + number_literal) )))) ^ (pointer_expression "*(uint *)(param_1[0x2b] + 0xc)" * (cast_expression "(uint *)(param_1[0x2b] + 0xc)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1[0x2b] + 0xc)" ( (binary_expression "param_1[0x2b] + 0xc" (subscript_expression "param_1[0x2b]" identifier [ number_literal ]) + number_literal) ))))) )) & number_literal) )) == number_literal) ))) )) ))) )) (compound_statement "{\n          iVar11 = (*(code *)PTR__bfd_elf_match_sections_by_type_001dbe14)\n                             (*(undefined4 *)(puVar4 + 0x34),iVar11,param_1[0x2d],param_1);\n          if (iVar11 != 0) goto LAB_000586a0;\n          if (*(int *)(iVar13 + 0x1c) == 0) {\n            iVar3 = iVar13;\n          }\n        }" { (expression_statement "iVar11 = (*(code *)PTR__bfd_elf_match_sections_by_type_001dbe14)\n                             (*(undefined4 *)(puVar4 + 0x34),iVar11,param_1[0x2d],param_1);" (assignment_expression "iVar11 = (*(code *)PTR__bfd_elf_match_sections_by_type_001dbe14)\n                             (*(undefined4 *)(puVar4 + 0x34),iVar11,param_1[0x2d],param_1)" identifier = (call_expression "(*(code *)PTR__bfd_elf_match_sections_by_type_001dbe14)\n                             (*(undefined4 *)(puVar4 + 0x34),iVar11,param_1[0x2d],param_1)" (parenthesized_expression "(*(code *)PTR__bfd_elf_match_sections_by_type_001dbe14)" ( (pointer_expression "*(code *)PTR__bfd_elf_match_sections_by_type_001dbe14" * (cast_expression "(code *)PTR__bfd_elf_match_sections_by_type_001dbe14" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(*(undefined4 *)(puVar4 + 0x34),iVar11,param_1[0x2d],param_1)" ( (pointer_expression "*(undefined4 *)(puVar4 + 0x34)" * (cast_expression "(undefined4 *)(puVar4 + 0x34)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar4 + 0x34)" ( (binary_expression "puVar4 + 0x34" identifier + number_literal) )))) , identifier , (subscript_expression "param_1[0x2d]" identifier [ number_literal ]) , identifier )))) ;) (if_statement "if (iVar11 != 0) goto LAB_000586a0;" if (parenthesized_expression "(iVar11 != 0)" ( (binary_expression "iVar11 != 0" identifier != number_literal) )) (goto_statement "goto LAB_000586a0;" goto statement_identifier ;)) (if_statement "if (*(int *)(iVar13 + 0x1c) == 0) {\n            iVar3 = iVar13;\n          }" if (parenthesized_expression "(*(int *)(iVar13 + 0x1c) == 0)" ( (binary_expression "*(int *)(iVar13 + 0x1c) == 0" (pointer_expression "*(int *)(iVar13 + 0x1c)" * (cast_expression "(int *)(iVar13 + 0x1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar13 + 0x1c)" ( (binary_expression "iVar13 + 0x1c" identifier + number_literal) )))) == number_literal) )) (compound_statement "{\n            iVar3 = iVar13;\n          }" { (expression_statement "iVar3 = iVar13;" (assignment_expression "iVar3 = iVar13" identifier = identifier) ;) })) })) })) (expression_statement "iVar13 = (*(code *)PTR_next_matching_output_section_statement_001dbd68)(iVar13,0);" (assignment_expression "iVar13 = (*(code *)PTR_next_matching_output_section_statement_001dbd68)(iVar13,0)" identifier = (call_expression "(*(code *)PTR_next_matching_output_section_statement_001dbd68)(iVar13,0)" (parenthesized_expression "(*(code *)PTR_next_matching_output_section_statement_001dbd68)" ( (pointer_expression "*(code *)PTR_next_matching_output_section_statement_001dbd68" * (cast_expression "(code *)PTR_next_matching_output_section_statement_001dbd68" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(iVar13,0)" ( identifier , number_literal )))) ;) }) while (parenthesized_expression "(iVar13 != 0)" ( (binary_expression "iVar13 != 0" identifier != number_literal) )) ;) (labeled_statement "LAB_000587ec:\n    if (iVar3 != 0) {\n      (*(code *)PTR_lang_add_section_001dbc3c)(iVar3 + 8,param_1,0,iVar3);\n      return iVar3;\n    }" statement_identifier : (if_statement "if (iVar3 != 0) {\n      (*(code *)PTR_lang_add_section_001dbc3c)(iVar3 + 8,param_1,0,iVar3);\n      return iVar3;\n    }" if (parenthesized_expression "(iVar3 != 0)" ( (binary_expression "iVar3 != 0" identifier != number_literal) )) (compound_statement "{\n      (*(code *)PTR_lang_add_section_001dbc3c)(iVar3 + 8,param_1,0,iVar3);\n      return iVar3;\n    }" { (expression_statement "(*(code *)PTR_lang_add_section_001dbc3c)(iVar3 + 8,param_1,0,iVar3);" (call_expression "(*(code *)PTR_lang_add_section_001dbc3c)(iVar3 + 8,param_1,0,iVar3)" (parenthesized_expression "(*(code *)PTR_lang_add_section_001dbc3c)" ( (pointer_expression "*(code *)PTR_lang_add_section_001dbc3c" * (cast_expression "(code *)PTR_lang_add_section_001dbc3c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(iVar3 + 8,param_1,0,iVar3)" ( (binary_expression "iVar3 + 8" identifier + number_literal) , identifier , number_literal , identifier ))) ;) (return_statement "return iVar3;" return identifier ;) }))) (expression_statement "param_3 = 0x17e;" (assignment_expression "param_3 = 0x17e" identifier = number_literal) ;) }))) (expression_statement "puVar5 = PTR_DAT_001db8f8;" (assignment_expression "puVar5 = PTR_DAT_001db8f8" identifier = identifier) ;) (if_statement "if (*(int *)(PTR_DAT_001db8f8 + -0x3618) == 0) {\n    piVar10 = (int *)(PTR_DAT_001db8f8 + -0x49e0);\n    piVar12 = (int *)(PTR_DAT_001db8f8 + -0x4908);\n    do {\n      if (*piVar10 != 0) {\n        iVar9 = (*(code *)PTR_lang_output_section_statement_lookup_001dbc2c)(*piVar10,0,0);\n        piVar10[2] = iVar9;\n        if ((iVar9 != 0) && (*(int *)(iVar9 + 0x4c) == 0)) {\n          *(int *)(iVar9 + 0x4c) = piVar10[1];\n        }\n      }\n      piVar10 = piVar10 + 6;\n    } while (piVar10 != piVar12);\n    *(undefined4 *)(puVar5 + -0x3618) = 1;\n  }" if (parenthesized_expression "(*(int *)(PTR_DAT_001db8f8 + -0x3618) == 0)" ( (binary_expression "*(int *)(PTR_DAT_001db8f8 + -0x3618) == 0" (pointer_expression "*(int *)(PTR_DAT_001db8f8 + -0x3618)" * (cast_expression "(int *)(PTR_DAT_001db8f8 + -0x3618)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_DAT_001db8f8 + -0x3618)" ( (binary_expression "PTR_DAT_001db8f8 + -0x3618" identifier + number_literal) )))) == number_literal) )) (compound_statement "{\n    piVar10 = (int *)(PTR_DAT_001db8f8 + -0x49e0);\n    piVar12 = (int *)(PTR_DAT_001db8f8 + -0x4908);\n    do {\n      if (*piVar10 != 0) {\n        iVar9 = (*(code *)PTR_lang_output_section_statement_lookup_001dbc2c)(*piVar10,0,0);\n        piVar10[2] = iVar9;\n        if ((iVar9 != 0) && (*(int *)(iVar9 + 0x4c) == 0)) {\n          *(int *)(iVar9 + 0x4c) = piVar10[1];\n        }\n      }\n      piVar10 = piVar10 + 6;\n    } while (piVar10 != piVar12);\n    *(undefined4 *)(puVar5 + -0x3618) = 1;\n  }" { (expression_statement "piVar10 = (int *)(PTR_DAT_001db8f8 + -0x49e0);" (assignment_expression "piVar10 = (int *)(PTR_DAT_001db8f8 + -0x49e0)" identifier = (cast_expression "(int *)(PTR_DAT_001db8f8 + -0x49e0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_DAT_001db8f8 + -0x49e0)" ( (binary_expression "PTR_DAT_001db8f8 + -0x49e0" identifier + number_literal) )))) ;) (expression_statement "piVar12 = (int *)(PTR_DAT_001db8f8 + -0x4908);" (assignment_expression "piVar12 = (int *)(PTR_DAT_001db8f8 + -0x4908)" identifier = (cast_expression "(int *)(PTR_DAT_001db8f8 + -0x4908)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_DAT_001db8f8 + -0x4908)" ( (binary_expression "PTR_DAT_001db8f8 + -0x4908" identifier + number_literal) )))) ;) (do_statement "do {\n      if (*piVar10 != 0) {\n        iVar9 = (*(code *)PTR_lang_output_section_statement_lookup_001dbc2c)(*piVar10,0,0);\n        piVar10[2] = iVar9;\n        if ((iVar9 != 0) && (*(int *)(iVar9 + 0x4c) == 0)) {\n          *(int *)(iVar9 + 0x4c) = piVar10[1];\n        }\n      }\n      piVar10 = piVar10 + 6;\n    } while (piVar10 != piVar12);" do (compound_statement "{\n      if (*piVar10 != 0) {\n        iVar9 = (*(code *)PTR_lang_output_section_statement_lookup_001dbc2c)(*piVar10,0,0);\n        piVar10[2] = iVar9;\n        if ((iVar9 != 0) && (*(int *)(iVar9 + 0x4c) == 0)) {\n          *(int *)(iVar9 + 0x4c) = piVar10[1];\n        }\n      }\n      piVar10 = piVar10 + 6;\n    }" { (if_statement "if (*piVar10 != 0) {\n        iVar9 = (*(code *)PTR_lang_output_section_statement_lookup_001dbc2c)(*piVar10,0,0);\n        piVar10[2] = iVar9;\n        if ((iVar9 != 0) && (*(int *)(iVar9 + 0x4c) == 0)) {\n          *(int *)(iVar9 + 0x4c) = piVar10[1];\n        }\n      }" if (parenthesized_expression "(*piVar10 != 0)" ( (binary_expression "*piVar10 != 0" (pointer_expression "*piVar10" * identifier) != number_literal) )) (compound_statement "{\n        iVar9 = (*(code *)PTR_lang_output_section_statement_lookup_001dbc2c)(*piVar10,0,0);\n        piVar10[2] = iVar9;\n        if ((iVar9 != 0) && (*(int *)(iVar9 + 0x4c) == 0)) {\n          *(int *)(iVar9 + 0x4c) = piVar10[1];\n        }\n      }" { (expression_statement "iVar9 = (*(code *)PTR_lang_output_section_statement_lookup_001dbc2c)(*piVar10,0,0);" (assignment_expression "iVar9 = (*(code *)PTR_lang_output_section_statement_lookup_001dbc2c)(*piVar10,0,0)" identifier = (call_expression "(*(code *)PTR_lang_output_section_statement_lookup_001dbc2c)(*piVar10,0,0)" (parenthesized_expression "(*(code *)PTR_lang_output_section_statement_lookup_001dbc2c)" ( (pointer_expression "*(code *)PTR_lang_output_section_statement_lookup_001dbc2c" * (cast_expression "(code *)PTR_lang_output_section_statement_lookup_001dbc2c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(*piVar10,0,0)" ( (pointer_expression "*piVar10" * identifier) , number_literal , number_literal )))) ;) (expression_statement "piVar10[2] = iVar9;" (assignment_expression "piVar10[2] = iVar9" (subscript_expression "piVar10[2]" identifier [ number_literal ]) = identifier) ;) (if_statement "if ((iVar9 != 0) && (*(int *)(iVar9 + 0x4c) == 0)) {\n          *(int *)(iVar9 + 0x4c) = piVar10[1];\n        }" if (parenthesized_expression "((iVar9 != 0) && (*(int *)(iVar9 + 0x4c) == 0))" ( (binary_expression "(iVar9 != 0) && (*(int *)(iVar9 + 0x4c) == 0)" (parenthesized_expression "(iVar9 != 0)" ( (binary_expression "iVar9 != 0" identifier != number_literal) )) && (parenthesized_expression "(*(int *)(iVar9 + 0x4c) == 0)" ( (binary_expression "*(int *)(iVar9 + 0x4c) == 0" (pointer_expression "*(int *)(iVar9 + 0x4c)" * (cast_expression "(int *)(iVar9 + 0x4c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar9 + 0x4c)" ( (binary_expression "iVar9 + 0x4c" identifier + number_literal) )))) == number_literal) ))) )) (compound_statement "{\n          *(int *)(iVar9 + 0x4c) = piVar10[1];\n        }" { (expression_statement "*(int *)(iVar9 + 0x4c) = piVar10[1];" (assignment_expression "*(int *)(iVar9 + 0x4c) = piVar10[1]" (pointer_expression "*(int *)(iVar9 + 0x4c)" * (cast_expression "(int *)(iVar9 + 0x4c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar9 + 0x4c)" ( (binary_expression "iVar9 + 0x4c" identifier + number_literal) )))) = (subscript_expression "piVar10[1]" identifier [ number_literal ])) ;) })) })) (expression_statement "piVar10 = piVar10 + 6;" (assignment_expression "piVar10 = piVar10 + 6" identifier = (binary_expression "piVar10 + 6" identifier + number_literal)) ;) }) while (parenthesized_expression "(piVar10 != piVar12)" ( (binary_expression "piVar10 != piVar12" identifier != identifier) )) ;) (expression_statement "*(undefined4 *)(puVar5 + -0x3618) = 1;" (assignment_expression "*(undefined4 *)(puVar5 + -0x3618) = 1" (pointer_expression "*(undefined4 *)(puVar5 + -0x3618)" * (cast_expression "(undefined4 *)(puVar5 + -0x3618)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar5 + -0x3618)" ( (binary_expression "puVar5 + -0x3618" identifier + number_literal) )))) = number_literal) ;) })) (if_statement "if ((int)*(uint *)puVar4 < 0) {\n    uVar6 = param_1[5];\n    if ((*(uint *)puVar4 & 0xc0000000) != 0x80000000) goto LAB_000585fc;\n  }\n  else {\n    iVar9 = (*(code *)PTR_strncmp_001dbe60)\n                      (*param_1,PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb78,0xd);\n    if ((iVar9 == 0) && (iVar13 = *(int *)(PTR_DAT_001db8f8 + -0x49d8), iVar13 != 0)) {\nLAB_000586a0:\n      (*(code *)PTR_lang_add_section_001dbc3c)(iVar13 + 8,param_1,0,iVar13);\n      return iVar13;\n    }\n    uVar6 = param_1[5];\nLAB_000585fc:\n    iVar9 = param_1[0x2d];\n    piVar10 = param_1;\n    while (piVar10 = (int *)(*(code *)PTR_bfd_get_next_section_by_name_001dbf68)(iVar9,piVar10),\n          piVar10 != (int *)0x0) {\n      iVar9 = piVar10[0x2d];\n      if ((((piVar10[0x16] == 0) && (((piVar10[5] ^ uVar6) & 3) == 0 && (piVar10[5] & 0x8000U) == 0)\n           ) && (-1 < *(int *)(iVar9 + 0x28) << 0x12)) &&\n         ((*(int *)(iVar9 + 0xac) != 0 &&\n          ((*(ushort *)(*(int *)(iVar9 + 0xac) + 0x24) & 0x800) == 0)))) {\n        iVar9 = (*(code *)PTR__bfd_elf_match_sections_by_type_001dbe14)\n                          (iVar9,piVar10,param_1[0x2d],param_1);\n        if (iVar9 == 0) {\n          iVar9 = piVar10[0x2d];\n        }\n        else {\n          iVar9 = piVar10[0x2d];\n          uVar6 = (piVar10[5] ^ 8U | uVar6 ^ 8) ^ 8;\n        }\n      }\n    }\n  }" if (parenthesized_expression "((int)*(uint *)puVar4 < 0)" ( (binary_expression "(int)*(uint *)puVar4 < 0" (cast_expression "(int)*(uint *)puVar4" ( (type_descriptor "int" primitive_type) ) (pointer_expression "*(uint *)puVar4" * (cast_expression "(uint *)puVar4" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier))) < number_literal) )) (compound_statement "{\n    uVar6 = param_1[5];\n    if ((*(uint *)puVar4 & 0xc0000000) != 0x80000000) goto LAB_000585fc;\n  }" { (expression_statement "uVar6 = param_1[5];" (assignment_expression "uVar6 = param_1[5]" identifier = (subscript_expression "param_1[5]" identifier [ number_literal ])) ;) (if_statement "if ((*(uint *)puVar4 & 0xc0000000) != 0x80000000) goto LAB_000585fc;" if (parenthesized_expression "((*(uint *)puVar4 & 0xc0000000) != 0x80000000)" ( (binary_expression "(*(uint *)puVar4 & 0xc0000000) != 0x80000000" (parenthesized_expression "(*(uint *)puVar4 & 0xc0000000)" ( (binary_expression "*(uint *)puVar4 & 0xc0000000" (pointer_expression "*(uint *)puVar4" * (cast_expression "(uint *)puVar4" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) & number_literal) )) != number_literal) )) (goto_statement "goto LAB_000585fc;" goto statement_identifier ;)) }) (else_clause "else {\n    iVar9 = (*(code *)PTR_strncmp_001dbe60)\n                      (*param_1,PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb78,0xd);\n    if ((iVar9 == 0) && (iVar13 = *(int *)(PTR_DAT_001db8f8 + -0x49d8), iVar13 != 0)) {\nLAB_000586a0:\n      (*(code *)PTR_lang_add_section_001dbc3c)(iVar13 + 8,param_1,0,iVar13);\n      return iVar13;\n    }\n    uVar6 = param_1[5];\nLAB_000585fc:\n    iVar9 = param_1[0x2d];\n    piVar10 = param_1;\n    while (piVar10 = (int *)(*(code *)PTR_bfd_get_next_section_by_name_001dbf68)(iVar9,piVar10),\n          piVar10 != (int *)0x0) {\n      iVar9 = piVar10[0x2d];\n      if ((((piVar10[0x16] == 0) && (((piVar10[5] ^ uVar6) & 3) == 0 && (piVar10[5] & 0x8000U) == 0)\n           ) && (-1 < *(int *)(iVar9 + 0x28) << 0x12)) &&\n         ((*(int *)(iVar9 + 0xac) != 0 &&\n          ((*(ushort *)(*(int *)(iVar9 + 0xac) + 0x24) & 0x800) == 0)))) {\n        iVar9 = (*(code *)PTR__bfd_elf_match_sections_by_type_001dbe14)\n                          (iVar9,piVar10,param_1[0x2d],param_1);\n        if (iVar9 == 0) {\n          iVar9 = piVar10[0x2d];\n        }\n        else {\n          iVar9 = piVar10[0x2d];\n          uVar6 = (piVar10[5] ^ 8U | uVar6 ^ 8) ^ 8;\n        }\n      }\n    }\n  }" else (compound_statement "{\n    iVar9 = (*(code *)PTR_strncmp_001dbe60)\n                      (*param_1,PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb78,0xd);\n    if ((iVar9 == 0) && (iVar13 = *(int *)(PTR_DAT_001db8f8 + -0x49d8), iVar13 != 0)) {\nLAB_000586a0:\n      (*(code *)PTR_lang_add_section_001dbc3c)(iVar13 + 8,param_1,0,iVar13);\n      return iVar13;\n    }\n    uVar6 = param_1[5];\nLAB_000585fc:\n    iVar9 = param_1[0x2d];\n    piVar10 = param_1;\n    while (piVar10 = (int *)(*(code *)PTR_bfd_get_next_section_by_name_001dbf68)(iVar9,piVar10),\n          piVar10 != (int *)0x0) {\n      iVar9 = piVar10[0x2d];\n      if ((((piVar10[0x16] == 0) && (((piVar10[5] ^ uVar6) & 3) == 0 && (piVar10[5] & 0x8000U) == 0)\n           ) && (-1 < *(int *)(iVar9 + 0x28) << 0x12)) &&\n         ((*(int *)(iVar9 + 0xac) != 0 &&\n          ((*(ushort *)(*(int *)(iVar9 + 0xac) + 0x24) & 0x800) == 0)))) {\n        iVar9 = (*(code *)PTR__bfd_elf_match_sections_by_type_001dbe14)\n                          (iVar9,piVar10,param_1[0x2d],param_1);\n        if (iVar9 == 0) {\n          iVar9 = piVar10[0x2d];\n        }\n        else {\n          iVar9 = piVar10[0x2d];\n          uVar6 = (piVar10[5] ^ 8U | uVar6 ^ 8) ^ 8;\n        }\n      }\n    }\n  }" { (expression_statement "iVar9 = (*(code *)PTR_strncmp_001dbe60)\n                      (*param_1,PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb78,0xd);" (assignment_expression "iVar9 = (*(code *)PTR_strncmp_001dbe60)\n                      (*param_1,PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb78,0xd)" identifier = (call_expression "(*(code *)PTR_strncmp_001dbe60)\n                      (*param_1,PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb78,0xd)" (parenthesized_expression "(*(code *)PTR_strncmp_001dbe60)" ( (pointer_expression "*(code *)PTR_strncmp_001dbe60" * (cast_expression "(code *)PTR_strncmp_001dbe60" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(*param_1,PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb78,0xd)" ( (pointer_expression "*param_1" * identifier) , (binary_expression "PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb78" identifier + number_literal) , number_literal )))) ;) (if_statement "if ((iVar9 == 0) && (iVar13 = *(int *)(PTR_DAT_001db8f8 + -0x49d8), iVar13 != 0)) {\nLAB_000586a0:\n      (*(code *)PTR_lang_add_section_001dbc3c)(iVar13 + 8,param_1,0,iVar13);\n      return iVar13;\n    }" if (parenthesized_expression "((iVar9 == 0) && (iVar13 = *(int *)(PTR_DAT_001db8f8 + -0x49d8), iVar13 != 0))" ( (binary_expression "(iVar9 == 0) && (iVar13 = *(int *)(PTR_DAT_001db8f8 + -0x49d8), iVar13 != 0)" (parenthesized_expression "(iVar9 == 0)" ( (binary_expression "iVar9 == 0" identifier == number_literal) )) && (parenthesized_expression "(iVar13 = *(int *)(PTR_DAT_001db8f8 + -0x49d8), iVar13 != 0)" ( (comma_expression "iVar13 = *(int *)(PTR_DAT_001db8f8 + -0x49d8), iVar13 != 0" (assignment_expression "iVar13 = *(int *)(PTR_DAT_001db8f8 + -0x49d8)" identifier = (pointer_expression "*(int *)(PTR_DAT_001db8f8 + -0x49d8)" * (cast_expression "(int *)(PTR_DAT_001db8f8 + -0x49d8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_DAT_001db8f8 + -0x49d8)" ( (binary_expression "PTR_DAT_001db8f8 + -0x49d8" identifier + number_literal) ))))) , (binary_expression "iVar13 != 0" identifier != number_literal)) ))) )) (compound_statement "{\nLAB_000586a0:\n      (*(code *)PTR_lang_add_section_001dbc3c)(iVar13 + 8,param_1,0,iVar13);\n      return iVar13;\n    }" { (labeled_statement "LAB_000586a0:\n      (*(code *)PTR_lang_add_section_001dbc3c)(iVar13 + 8,param_1,0,iVar13);" statement_identifier : (expression_statement "(*(code *)PTR_lang_add_section_001dbc3c)(iVar13 + 8,param_1,0,iVar13);" (call_expression "(*(code *)PTR_lang_add_section_001dbc3c)(iVar13 + 8,param_1,0,iVar13)" (parenthesized_expression "(*(code *)PTR_lang_add_section_001dbc3c)" ( (pointer_expression "*(code *)PTR_lang_add_section_001dbc3c" * (cast_expression "(code *)PTR_lang_add_section_001dbc3c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(iVar13 + 8,param_1,0,iVar13)" ( (binary_expression "iVar13 + 8" identifier + number_literal) , identifier , number_literal , identifier ))) ;)) (return_statement "return iVar13;" return identifier ;) })) (expression_statement "uVar6 = param_1[5];" (assignment_expression "uVar6 = param_1[5]" identifier = (subscript_expression "param_1[5]" identifier [ number_literal ])) ;) (labeled_statement "LAB_000585fc:\n    iVar9 = param_1[0x2d];" statement_identifier : (expression_statement "iVar9 = param_1[0x2d];" (assignment_expression "iVar9 = param_1[0x2d]" identifier = (subscript_expression "param_1[0x2d]" identifier [ number_literal ])) ;)) (expression_statement "piVar10 = param_1;" (assignment_expression "piVar10 = param_1" identifier = identifier) ;) (while_statement "while (piVar10 = (int *)(*(code *)PTR_bfd_get_next_section_by_name_001dbf68)(iVar9,piVar10),\n          piVar10 != (int *)0x0) {\n      iVar9 = piVar10[0x2d];\n      if ((((piVar10[0x16] == 0) && (((piVar10[5] ^ uVar6) & 3) == 0 && (piVar10[5] & 0x8000U) == 0)\n           ) && (-1 < *(int *)(iVar9 + 0x28) << 0x12)) &&\n         ((*(int *)(iVar9 + 0xac) != 0 &&\n          ((*(ushort *)(*(int *)(iVar9 + 0xac) + 0x24) & 0x800) == 0)))) {\n        iVar9 = (*(code *)PTR__bfd_elf_match_sections_by_type_001dbe14)\n                          (iVar9,piVar10,param_1[0x2d],param_1);\n        if (iVar9 == 0) {\n          iVar9 = piVar10[0x2d];\n        }\n        else {\n          iVar9 = piVar10[0x2d];\n          uVar6 = (piVar10[5] ^ 8U | uVar6 ^ 8) ^ 8;\n        }\n      }\n    }" while (parenthesized_expression "(piVar10 = (int *)(*(code *)PTR_bfd_get_next_section_by_name_001dbf68)(iVar9,piVar10),\n          piVar10 != (int *)0x0)" ( (comma_expression "piVar10 = (int *)(*(code *)PTR_bfd_get_next_section_by_name_001dbf68)(iVar9,piVar10),\n          piVar10 != (int *)0x0" (assignment_expression "piVar10 = (int *)(*(code *)PTR_bfd_get_next_section_by_name_001dbf68)(iVar9,piVar10)" identifier = (cast_expression "(int *)(*(code *)PTR_bfd_get_next_section_by_name_001dbf68)(iVar9,piVar10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR_bfd_get_next_section_by_name_001dbf68)(iVar9,piVar10)" (parenthesized_expression "(*(code *)PTR_bfd_get_next_section_by_name_001dbf68)" ( (pointer_expression "*(code *)PTR_bfd_get_next_section_by_name_001dbf68" * (cast_expression "(code *)PTR_bfd_get_next_section_by_name_001dbf68" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(iVar9,piVar10)" ( identifier , identifier ))))) , (binary_expression "piVar10 != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal))) )) (compound_statement "{\n      iVar9 = piVar10[0x2d];\n      if ((((piVar10[0x16] == 0) && (((piVar10[5] ^ uVar6) & 3) == 0 && (piVar10[5] & 0x8000U) == 0)\n           ) && (-1 < *(int *)(iVar9 + 0x28) << 0x12)) &&\n         ((*(int *)(iVar9 + 0xac) != 0 &&\n          ((*(ushort *)(*(int *)(iVar9 + 0xac) + 0x24) & 0x800) == 0)))) {\n        iVar9 = (*(code *)PTR__bfd_elf_match_sections_by_type_001dbe14)\n                          (iVar9,piVar10,param_1[0x2d],param_1);\n        if (iVar9 == 0) {\n          iVar9 = piVar10[0x2d];\n        }\n        else {\n          iVar9 = piVar10[0x2d];\n          uVar6 = (piVar10[5] ^ 8U | uVar6 ^ 8) ^ 8;\n        }\n      }\n    }" { (expression_statement "iVar9 = piVar10[0x2d];" (assignment_expression "iVar9 = piVar10[0x2d]" identifier = (subscript_expression "piVar10[0x2d]" identifier [ number_literal ])) ;) (if_statement "if ((((piVar10[0x16] == 0) && (((piVar10[5] ^ uVar6) & 3) == 0 && (piVar10[5] & 0x8000U) == 0)\n           ) && (-1 < *(int *)(iVar9 + 0x28) << 0x12)) &&\n         ((*(int *)(iVar9 + 0xac) != 0 &&\n          ((*(ushort *)(*(int *)(iVar9 + 0xac) + 0x24) & 0x800) == 0)))) {\n        iVar9 = (*(code *)PTR__bfd_elf_match_sections_by_type_001dbe14)\n                          (iVar9,piVar10,param_1[0x2d],param_1);\n        if (iVar9 == 0) {\n          iVar9 = piVar10[0x2d];\n        }\n        else {\n          iVar9 = piVar10[0x2d];\n          uVar6 = (piVar10[5] ^ 8U | uVar6 ^ 8) ^ 8;\n        }\n      }" if (parenthesized_expression "((((piVar10[0x16] == 0) && (((piVar10[5] ^ uVar6) & 3) == 0 && (piVar10[5] & 0x8000U) == 0)\n           ) && (-1 < *(int *)(iVar9 + 0x28) << 0x12)) &&\n         ((*(int *)(iVar9 + 0xac) != 0 &&\n          ((*(ushort *)(*(int *)(iVar9 + 0xac) + 0x24) & 0x800) == 0))))" ( (binary_expression "(((piVar10[0x16] == 0) && (((piVar10[5] ^ uVar6) & 3) == 0 && (piVar10[5] & 0x8000U) == 0)\n           ) && (-1 < *(int *)(iVar9 + 0x28) << 0x12)) &&\n         ((*(int *)(iVar9 + 0xac) != 0 &&\n          ((*(ushort *)(*(int *)(iVar9 + 0xac) + 0x24) & 0x800) == 0)))" (parenthesized_expression "(((piVar10[0x16] == 0) && (((piVar10[5] ^ uVar6) & 3) == 0 && (piVar10[5] & 0x8000U) == 0)\n           ) && (-1 < *(int *)(iVar9 + 0x28) << 0x12))" ( (binary_expression "((piVar10[0x16] == 0) && (((piVar10[5] ^ uVar6) & 3) == 0 && (piVar10[5] & 0x8000U) == 0)\n           ) && (-1 < *(int *)(iVar9 + 0x28) << 0x12)" (parenthesized_expression "((piVar10[0x16] == 0) && (((piVar10[5] ^ uVar6) & 3) == 0 && (piVar10[5] & 0x8000U) == 0)\n           )" ( (binary_expression "(piVar10[0x16] == 0) && (((piVar10[5] ^ uVar6) & 3) == 0 && (piVar10[5] & 0x8000U) == 0)" (parenthesized_expression "(piVar10[0x16] == 0)" ( (binary_expression "piVar10[0x16] == 0" (subscript_expression "piVar10[0x16]" identifier [ number_literal ]) == number_literal) )) && (parenthesized_expression "(((piVar10[5] ^ uVar6) & 3) == 0 && (piVar10[5] & 0x8000U) == 0)" ( (binary_expression "((piVar10[5] ^ uVar6) & 3) == 0 && (piVar10[5] & 0x8000U) == 0" (binary_expression "((piVar10[5] ^ uVar6) & 3) == 0" (parenthesized_expression "((piVar10[5] ^ uVar6) & 3)" ( (binary_expression "(piVar10[5] ^ uVar6) & 3" (parenthesized_expression "(piVar10[5] ^ uVar6)" ( (binary_expression "piVar10[5] ^ uVar6" (subscript_expression "piVar10[5]" identifier [ number_literal ]) ^ identifier) )) & number_literal) )) == number_literal) && (binary_expression "(piVar10[5] & 0x8000U) == 0" (parenthesized_expression "(piVar10[5] & 0x8000U)" ( (binary_expression "piVar10[5] & 0x8000U" (subscript_expression "piVar10[5]" identifier [ number_literal ]) & number_literal) )) == number_literal)) ))) )) && (parenthesized_expression "(-1 < *(int *)(iVar9 + 0x28) << 0x12)" ( (binary_expression "-1 < *(int *)(iVar9 + 0x28) << 0x12" number_literal < (binary_expression "*(int *)(iVar9 + 0x28) << 0x12" (pointer_expression "*(int *)(iVar9 + 0x28)" * (cast_expression "(int *)(iVar9 + 0x28)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar9 + 0x28)" ( (binary_expression "iVar9 + 0x28" identifier + number_literal) )))) << number_literal)) ))) )) && (parenthesized_expression "((*(int *)(iVar9 + 0xac) != 0 &&\n          ((*(ushort *)(*(int *)(iVar9 + 0xac) + 0x24) & 0x800) == 0)))" ( (parenthesized_expression "(*(int *)(iVar9 + 0xac) != 0 &&\n          ((*(ushort *)(*(int *)(iVar9 + 0xac) + 0x24) & 0x800) == 0))" ( (binary_expression "*(int *)(iVar9 + 0xac) != 0 &&\n          ((*(ushort *)(*(int *)(iVar9 + 0xac) + 0x24) & 0x800) == 0)" (binary_expression "*(int *)(iVar9 + 0xac) != 0" (pointer_expression "*(int *)(iVar9 + 0xac)" * (cast_expression "(int *)(iVar9 + 0xac)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar9 + 0xac)" ( (binary_expression "iVar9 + 0xac" identifier + number_literal) )))) != number_literal) && (parenthesized_expression "((*(ushort *)(*(int *)(iVar9 + 0xac) + 0x24) & 0x800) == 0)" ( (binary_expression "(*(ushort *)(*(int *)(iVar9 + 0xac) + 0x24) & 0x800) == 0" (parenthesized_expression "(*(ushort *)(*(int *)(iVar9 + 0xac) + 0x24) & 0x800)" ( (binary_expression "*(ushort *)(*(int *)(iVar9 + 0xac) + 0x24) & 0x800" (pointer_expression "*(ushort *)(*(int *)(iVar9 + 0xac) + 0x24)" * (cast_expression "(ushort *)(*(int *)(iVar9 + 0xac) + 0x24)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(iVar9 + 0xac) + 0x24)" ( (binary_expression "*(int *)(iVar9 + 0xac) + 0x24" (pointer_expression "*(int *)(iVar9 + 0xac)" * (cast_expression "(int *)(iVar9 + 0xac)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar9 + 0xac)" ( (binary_expression "iVar9 + 0xac" identifier + number_literal) )))) + number_literal) )))) & number_literal) )) == number_literal) ))) )) ))) )) (compound_statement "{\n        iVar9 = (*(code *)PTR__bfd_elf_match_sections_by_type_001dbe14)\n                          (iVar9,piVar10,param_1[0x2d],param_1);\n        if (iVar9 == 0) {\n          iVar9 = piVar10[0x2d];\n        }\n        else {\n          iVar9 = piVar10[0x2d];\n          uVar6 = (piVar10[5] ^ 8U | uVar6 ^ 8) ^ 8;\n        }\n      }" { (expression_statement "iVar9 = (*(code *)PTR__bfd_elf_match_sections_by_type_001dbe14)\n                          (iVar9,piVar10,param_1[0x2d],param_1);" (assignment_expression "iVar9 = (*(code *)PTR__bfd_elf_match_sections_by_type_001dbe14)\n                          (iVar9,piVar10,param_1[0x2d],param_1)" identifier = (call_expression "(*(code *)PTR__bfd_elf_match_sections_by_type_001dbe14)\n                          (iVar9,piVar10,param_1[0x2d],param_1)" (parenthesized_expression "(*(code *)PTR__bfd_elf_match_sections_by_type_001dbe14)" ( (pointer_expression "*(code *)PTR__bfd_elf_match_sections_by_type_001dbe14" * (cast_expression "(code *)PTR__bfd_elf_match_sections_by_type_001dbe14" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(iVar9,piVar10,param_1[0x2d],param_1)" ( identifier , identifier , (subscript_expression "param_1[0x2d]" identifier [ number_literal ]) , identifier )))) ;) (if_statement "if (iVar9 == 0) {\n          iVar9 = piVar10[0x2d];\n        }\n        else {\n          iVar9 = piVar10[0x2d];\n          uVar6 = (piVar10[5] ^ 8U | uVar6 ^ 8) ^ 8;\n        }" if (parenthesized_expression "(iVar9 == 0)" ( (binary_expression "iVar9 == 0" identifier == number_literal) )) (compound_statement "{\n          iVar9 = piVar10[0x2d];\n        }" { (expression_statement "iVar9 = piVar10[0x2d];" (assignment_expression "iVar9 = piVar10[0x2d]" identifier = (subscript_expression "piVar10[0x2d]" identifier [ number_literal ])) ;) }) (else_clause "else {\n          iVar9 = piVar10[0x2d];\n          uVar6 = (piVar10[5] ^ 8U | uVar6 ^ 8) ^ 8;\n        }" else (compound_statement "{\n          iVar9 = piVar10[0x2d];\n          uVar6 = (piVar10[5] ^ 8U | uVar6 ^ 8) ^ 8;\n        }" { (expression_statement "iVar9 = piVar10[0x2d];" (assignment_expression "iVar9 = piVar10[0x2d]" identifier = (subscript_expression "piVar10[0x2d]" identifier [ number_literal ])) ;) (expression_statement "uVar6 = (piVar10[5] ^ 8U | uVar6 ^ 8) ^ 8;" (assignment_expression "uVar6 = (piVar10[5] ^ 8U | uVar6 ^ 8) ^ 8" identifier = (binary_expression "(piVar10[5] ^ 8U | uVar6 ^ 8) ^ 8" (parenthesized_expression "(piVar10[5] ^ 8U | uVar6 ^ 8)" ( (binary_expression "piVar10[5] ^ 8U | uVar6 ^ 8" (binary_expression "piVar10[5] ^ 8U" (subscript_expression "piVar10[5]" identifier [ number_literal ]) ^ number_literal) | (binary_expression "uVar6 ^ 8" identifier ^ number_literal)) )) ^ number_literal)) ;) }))) })) })) }))) (if_statement "if ((uVar6 & 0x2001) == 0) {\n    piVar10 = (int *)(PTR_DAT_001db8f8 + -0x4920);\n  }\n  else {\n    piVar10 = (int *)0x0;\n    if ((uVar6 & 1) == 0) {\n      local_40 = 0;\n      goto LAB_00058810;\n    }\n    if ((uVar6 & 2) != 0) {\n      if (iVar8 == 5) {\n        if (local_44 == 7) goto LAB_000589f8;\n      }\n      else {\n        iVar9 = (*(code *)PTR_strncmp_001dbe60)\n                          (param_2,PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb68,5);\n        if (iVar9 == 0) {\nLAB_000589f8:\n          piVar10 = (int *)(PTR_DAT_001db8f8 + -0x4950);\n          goto LAB_00058800;\n        }\n      }\n    }\n    if ((uVar6 & 0x502) == 0) {\n      piVar10 = (int *)(PTR_DAT_001db8f8 + -0x4980);\n    }\n    else if ((int)(uVar6 << 9) < 0) {\n      piVar10 = (int *)(PTR_DAT_001db8f8 + -0x4938);\n    }\n    else if ((uVar6 & 0x400) == 0) {\n      if ((uVar6 & 8) == 0) {\n        piVar10 = (int *)(PTR_DAT_001db8f8 + -0x4998);\n      }\n      else {\n        if (iVar8 == 5) {\n          if ((local_44 == 4) || (local_44 == 9)) goto LAB_000585b8;\n        }\n        else {\n          iVar8 = (*(code *)PTR_strncmp_001dbe60)\n                            (param_2,PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb60,4);\n          if (iVar8 == 0) {\nLAB_000585b8:\n            if ((uVar6 & 2) != 0) {\n              piVar10 = (int *)(PTR_DAT_001db8f8 + -0x4968);\n              goto LAB_00058800;\n            }\n          }\n        }\n        if ((uVar6 & 0x10) == 0) {\n          piVar10 = (int *)(PTR_DAT_001db8f8 + -0x49c8);\n        }\n        else {\n          piVar10 = (int *)(PTR_DAT_001db8f8 + -0x49e0);\n        }\n      }\n    }\n    else {\n      piVar10 = (int *)(PTR_DAT_001db8f8 + -0x49b0);\n    }\n  }" if (parenthesized_expression "((uVar6 & 0x2001) == 0)" ( (binary_expression "(uVar6 & 0x2001) == 0" (parenthesized_expression "(uVar6 & 0x2001)" ( (binary_expression "uVar6 & 0x2001" identifier & number_literal) )) == number_literal) )) (compound_statement "{\n    piVar10 = (int *)(PTR_DAT_001db8f8 + -0x4920);\n  }" { (expression_statement "piVar10 = (int *)(PTR_DAT_001db8f8 + -0x4920);" (assignment_expression "piVar10 = (int *)(PTR_DAT_001db8f8 + -0x4920)" identifier = (cast_expression "(int *)(PTR_DAT_001db8f8 + -0x4920)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_DAT_001db8f8 + -0x4920)" ( (binary_expression "PTR_DAT_001db8f8 + -0x4920" identifier + number_literal) )))) ;) }) (else_clause "else {\n    piVar10 = (int *)0x0;\n    if ((uVar6 & 1) == 0) {\n      local_40 = 0;\n      goto LAB_00058810;\n    }\n    if ((uVar6 & 2) != 0) {\n      if (iVar8 == 5) {\n        if (local_44 == 7) goto LAB_000589f8;\n      }\n      else {\n        iVar9 = (*(code *)PTR_strncmp_001dbe60)\n                          (param_2,PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb68,5);\n        if (iVar9 == 0) {\nLAB_000589f8:\n          piVar10 = (int *)(PTR_DAT_001db8f8 + -0x4950);\n          goto LAB_00058800;\n        }\n      }\n    }\n    if ((uVar6 & 0x502) == 0) {\n      piVar10 = (int *)(PTR_DAT_001db8f8 + -0x4980);\n    }\n    else if ((int)(uVar6 << 9) < 0) {\n      piVar10 = (int *)(PTR_DAT_001db8f8 + -0x4938);\n    }\n    else if ((uVar6 & 0x400) == 0) {\n      if ((uVar6 & 8) == 0) {\n        piVar10 = (int *)(PTR_DAT_001db8f8 + -0x4998);\n      }\n      else {\n        if (iVar8 == 5) {\n          if ((local_44 == 4) || (local_44 == 9)) goto LAB_000585b8;\n        }\n        else {\n          iVar8 = (*(code *)PTR_strncmp_001dbe60)\n                            (param_2,PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb60,4);\n          if (iVar8 == 0) {\nLAB_000585b8:\n            if ((uVar6 & 2) != 0) {\n              piVar10 = (int *)(PTR_DAT_001db8f8 + -0x4968);\n              goto LAB_00058800;\n            }\n          }\n        }\n        if ((uVar6 & 0x10) == 0) {\n          piVar10 = (int *)(PTR_DAT_001db8f8 + -0x49c8);\n        }\n        else {\n          piVar10 = (int *)(PTR_DAT_001db8f8 + -0x49e0);\n        }\n      }\n    }\n    else {\n      piVar10 = (int *)(PTR_DAT_001db8f8 + -0x49b0);\n    }\n  }" else (compound_statement "{\n    piVar10 = (int *)0x0;\n    if ((uVar6 & 1) == 0) {\n      local_40 = 0;\n      goto LAB_00058810;\n    }\n    if ((uVar6 & 2) != 0) {\n      if (iVar8 == 5) {\n        if (local_44 == 7) goto LAB_000589f8;\n      }\n      else {\n        iVar9 = (*(code *)PTR_strncmp_001dbe60)\n                          (param_2,PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb68,5);\n        if (iVar9 == 0) {\nLAB_000589f8:\n          piVar10 = (int *)(PTR_DAT_001db8f8 + -0x4950);\n          goto LAB_00058800;\n        }\n      }\n    }\n    if ((uVar6 & 0x502) == 0) {\n      piVar10 = (int *)(PTR_DAT_001db8f8 + -0x4980);\n    }\n    else if ((int)(uVar6 << 9) < 0) {\n      piVar10 = (int *)(PTR_DAT_001db8f8 + -0x4938);\n    }\n    else if ((uVar6 & 0x400) == 0) {\n      if ((uVar6 & 8) == 0) {\n        piVar10 = (int *)(PTR_DAT_001db8f8 + -0x4998);\n      }\n      else {\n        if (iVar8 == 5) {\n          if ((local_44 == 4) || (local_44 == 9)) goto LAB_000585b8;\n        }\n        else {\n          iVar8 = (*(code *)PTR_strncmp_001dbe60)\n                            (param_2,PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb60,4);\n          if (iVar8 == 0) {\nLAB_000585b8:\n            if ((uVar6 & 2) != 0) {\n              piVar10 = (int *)(PTR_DAT_001db8f8 + -0x4968);\n              goto LAB_00058800;\n            }\n          }\n        }\n        if ((uVar6 & 0x10) == 0) {\n          piVar10 = (int *)(PTR_DAT_001db8f8 + -0x49c8);\n        }\n        else {\n          piVar10 = (int *)(PTR_DAT_001db8f8 + -0x49e0);\n        }\n      }\n    }\n    else {\n      piVar10 = (int *)(PTR_DAT_001db8f8 + -0x49b0);\n    }\n  }" { (expression_statement "piVar10 = (int *)0x0;" (assignment_expression "piVar10 = (int *)0x0" identifier = (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (if_statement "if ((uVar6 & 1) == 0) {\n      local_40 = 0;\n      goto LAB_00058810;\n    }" if (parenthesized_expression "((uVar6 & 1) == 0)" ( (binary_expression "(uVar6 & 1) == 0" (parenthesized_expression "(uVar6 & 1)" ( (binary_expression "uVar6 & 1" identifier & number_literal) )) == number_literal) )) (compound_statement "{\n      local_40 = 0;\n      goto LAB_00058810;\n    }" { (expression_statement "local_40 = 0;" (assignment_expression "local_40 = 0" identifier = number_literal) ;) (goto_statement "goto LAB_00058810;" goto statement_identifier ;) })) (if_statement "if ((uVar6 & 2) != 0) {\n      if (iVar8 == 5) {\n        if (local_44 == 7) goto LAB_000589f8;\n      }\n      else {\n        iVar9 = (*(code *)PTR_strncmp_001dbe60)\n                          (param_2,PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb68,5);\n        if (iVar9 == 0) {\nLAB_000589f8:\n          piVar10 = (int *)(PTR_DAT_001db8f8 + -0x4950);\n          goto LAB_00058800;\n        }\n      }\n    }" if (parenthesized_expression "((uVar6 & 2) != 0)" ( (binary_expression "(uVar6 & 2) != 0" (parenthesized_expression "(uVar6 & 2)" ( (binary_expression "uVar6 & 2" identifier & number_literal) )) != number_literal) )) (compound_statement "{\n      if (iVar8 == 5) {\n        if (local_44 == 7) goto LAB_000589f8;\n      }\n      else {\n        iVar9 = (*(code *)PTR_strncmp_001dbe60)\n                          (param_2,PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb68,5);\n        if (iVar9 == 0) {\nLAB_000589f8:\n          piVar10 = (int *)(PTR_DAT_001db8f8 + -0x4950);\n          goto LAB_00058800;\n        }\n      }\n    }" { (if_statement "if (iVar8 == 5) {\n        if (local_44 == 7) goto LAB_000589f8;\n      }\n      else {\n        iVar9 = (*(code *)PTR_strncmp_001dbe60)\n                          (param_2,PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb68,5);\n        if (iVar9 == 0) {\nLAB_000589f8:\n          piVar10 = (int *)(PTR_DAT_001db8f8 + -0x4950);\n          goto LAB_00058800;\n        }\n      }" if (parenthesized_expression "(iVar8 == 5)" ( (binary_expression "iVar8 == 5" identifier == number_literal) )) (compound_statement "{\n        if (local_44 == 7) goto LAB_000589f8;\n      }" { (if_statement "if (local_44 == 7) goto LAB_000589f8;" if (parenthesized_expression "(local_44 == 7)" ( (binary_expression "local_44 == 7" identifier == number_literal) )) (goto_statement "goto LAB_000589f8;" goto statement_identifier ;)) }) (else_clause "else {\n        iVar9 = (*(code *)PTR_strncmp_001dbe60)\n                          (param_2,PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb68,5);\n        if (iVar9 == 0) {\nLAB_000589f8:\n          piVar10 = (int *)(PTR_DAT_001db8f8 + -0x4950);\n          goto LAB_00058800;\n        }\n      }" else (compound_statement "{\n        iVar9 = (*(code *)PTR_strncmp_001dbe60)\n                          (param_2,PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb68,5);\n        if (iVar9 == 0) {\nLAB_000589f8:\n          piVar10 = (int *)(PTR_DAT_001db8f8 + -0x4950);\n          goto LAB_00058800;\n        }\n      }" { (expression_statement "iVar9 = (*(code *)PTR_strncmp_001dbe60)\n                          (param_2,PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb68,5);" (assignment_expression "iVar9 = (*(code *)PTR_strncmp_001dbe60)\n                          (param_2,PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb68,5)" identifier = (call_expression "(*(code *)PTR_strncmp_001dbe60)\n                          (param_2,PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb68,5)" (parenthesized_expression "(*(code *)PTR_strncmp_001dbe60)" ( (pointer_expression "*(code *)PTR_strncmp_001dbe60" * (cast_expression "(code *)PTR_strncmp_001dbe60" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(param_2,PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb68,5)" ( identifier , (binary_expression "PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb68" identifier + number_literal) , number_literal )))) ;) (if_statement "if (iVar9 == 0) {\nLAB_000589f8:\n          piVar10 = (int *)(PTR_DAT_001db8f8 + -0x4950);\n          goto LAB_00058800;\n        }" if (parenthesized_expression "(iVar9 == 0)" ( (binary_expression "iVar9 == 0" identifier == number_literal) )) (compound_statement "{\nLAB_000589f8:\n          piVar10 = (int *)(PTR_DAT_001db8f8 + -0x4950);\n          goto LAB_00058800;\n        }" { (labeled_statement "LAB_000589f8:\n          piVar10 = (int *)(PTR_DAT_001db8f8 + -0x4950);" statement_identifier : (expression_statement "piVar10 = (int *)(PTR_DAT_001db8f8 + -0x4950);" (assignment_expression "piVar10 = (int *)(PTR_DAT_001db8f8 + -0x4950)" identifier = (cast_expression "(int *)(PTR_DAT_001db8f8 + -0x4950)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_DAT_001db8f8 + -0x4950)" ( (binary_expression "PTR_DAT_001db8f8 + -0x4950" identifier + number_literal) )))) ;)) (goto_statement "goto LAB_00058800;" goto statement_identifier ;) })) }))) })) (if_statement "if ((uVar6 & 0x502) == 0) {\n      piVar10 = (int *)(PTR_DAT_001db8f8 + -0x4980);\n    }\n    else if ((int)(uVar6 << 9) < 0) {\n      piVar10 = (int *)(PTR_DAT_001db8f8 + -0x4938);\n    }\n    else if ((uVar6 & 0x400) == 0) {\n      if ((uVar6 & 8) == 0) {\n        piVar10 = (int *)(PTR_DAT_001db8f8 + -0x4998);\n      }\n      else {\n        if (iVar8 == 5) {\n          if ((local_44 == 4) || (local_44 == 9)) goto LAB_000585b8;\n        }\n        else {\n          iVar8 = (*(code *)PTR_strncmp_001dbe60)\n                            (param_2,PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb60,4);\n          if (iVar8 == 0) {\nLAB_000585b8:\n            if ((uVar6 & 2) != 0) {\n              piVar10 = (int *)(PTR_DAT_001db8f8 + -0x4968);\n              goto LAB_00058800;\n            }\n          }\n        }\n        if ((uVar6 & 0x10) == 0) {\n          piVar10 = (int *)(PTR_DAT_001db8f8 + -0x49c8);\n        }\n        else {\n          piVar10 = (int *)(PTR_DAT_001db8f8 + -0x49e0);\n        }\n      }\n    }\n    else {\n      piVar10 = (int *)(PTR_DAT_001db8f8 + -0x49b0);\n    }" if (parenthesized_expression "((uVar6 & 0x502) == 0)" ( (binary_expression "(uVar6 & 0x502) == 0" (parenthesized_expression "(uVar6 & 0x502)" ( (binary_expression "uVar6 & 0x502" identifier & number_literal) )) == number_literal) )) (compound_statement "{\n      piVar10 = (int *)(PTR_DAT_001db8f8 + -0x4980);\n    }" { (expression_statement "piVar10 = (int *)(PTR_DAT_001db8f8 + -0x4980);" (assignment_expression "piVar10 = (int *)(PTR_DAT_001db8f8 + -0x4980)" identifier = (cast_expression "(int *)(PTR_DAT_001db8f8 + -0x4980)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_DAT_001db8f8 + -0x4980)" ( (binary_expression "PTR_DAT_001db8f8 + -0x4980" identifier + number_literal) )))) ;) }) (else_clause "else if ((int)(uVar6 << 9) < 0) {\n      piVar10 = (int *)(PTR_DAT_001db8f8 + -0x4938);\n    }\n    else if ((uVar6 & 0x400) == 0) {\n      if ((uVar6 & 8) == 0) {\n        piVar10 = (int *)(PTR_DAT_001db8f8 + -0x4998);\n      }\n      else {\n        if (iVar8 == 5) {\n          if ((local_44 == 4) || (local_44 == 9)) goto LAB_000585b8;\n        }\n        else {\n          iVar8 = (*(code *)PTR_strncmp_001dbe60)\n                            (param_2,PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb60,4);\n          if (iVar8 == 0) {\nLAB_000585b8:\n            if ((uVar6 & 2) != 0) {\n              piVar10 = (int *)(PTR_DAT_001db8f8 + -0x4968);\n              goto LAB_00058800;\n            }\n          }\n        }\n        if ((uVar6 & 0x10) == 0) {\n          piVar10 = (int *)(PTR_DAT_001db8f8 + -0x49c8);\n        }\n        else {\n          piVar10 = (int *)(PTR_DAT_001db8f8 + -0x49e0);\n        }\n      }\n    }\n    else {\n      piVar10 = (int *)(PTR_DAT_001db8f8 + -0x49b0);\n    }" else (if_statement "if ((int)(uVar6 << 9) < 0) {\n      piVar10 = (int *)(PTR_DAT_001db8f8 + -0x4938);\n    }\n    else if ((uVar6 & 0x400) == 0) {\n      if ((uVar6 & 8) == 0) {\n        piVar10 = (int *)(PTR_DAT_001db8f8 + -0x4998);\n      }\n      else {\n        if (iVar8 == 5) {\n          if ((local_44 == 4) || (local_44 == 9)) goto LAB_000585b8;\n        }\n        else {\n          iVar8 = (*(code *)PTR_strncmp_001dbe60)\n                            (param_2,PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb60,4);\n          if (iVar8 == 0) {\nLAB_000585b8:\n            if ((uVar6 & 2) != 0) {\n              piVar10 = (int *)(PTR_DAT_001db8f8 + -0x4968);\n              goto LAB_00058800;\n            }\n          }\n        }\n        if ((uVar6 & 0x10) == 0) {\n          piVar10 = (int *)(PTR_DAT_001db8f8 + -0x49c8);\n        }\n        else {\n          piVar10 = (int *)(PTR_DAT_001db8f8 + -0x49e0);\n        }\n      }\n    }\n    else {\n      piVar10 = (int *)(PTR_DAT_001db8f8 + -0x49b0);\n    }" if (parenthesized_expression "((int)(uVar6 << 9) < 0)" ( (binary_expression "(int)(uVar6 << 9) < 0" (cast_expression "(int)(uVar6 << 9)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(uVar6 << 9)" ( (binary_expression "uVar6 << 9" identifier << number_literal) ))) < number_literal) )) (compound_statement "{\n      piVar10 = (int *)(PTR_DAT_001db8f8 + -0x4938);\n    }" { (expression_statement "piVar10 = (int *)(PTR_DAT_001db8f8 + -0x4938);" (assignment_expression "piVar10 = (int *)(PTR_DAT_001db8f8 + -0x4938)" identifier = (cast_expression "(int *)(PTR_DAT_001db8f8 + -0x4938)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_DAT_001db8f8 + -0x4938)" ( (binary_expression "PTR_DAT_001db8f8 + -0x4938" identifier + number_literal) )))) ;) }) (else_clause "else if ((uVar6 & 0x400) == 0) {\n      if ((uVar6 & 8) == 0) {\n        piVar10 = (int *)(PTR_DAT_001db8f8 + -0x4998);\n      }\n      else {\n        if (iVar8 == 5) {\n          if ((local_44 == 4) || (local_44 == 9)) goto LAB_000585b8;\n        }\n        else {\n          iVar8 = (*(code *)PTR_strncmp_001dbe60)\n                            (param_2,PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb60,4);\n          if (iVar8 == 0) {\nLAB_000585b8:\n            if ((uVar6 & 2) != 0) {\n              piVar10 = (int *)(PTR_DAT_001db8f8 + -0x4968);\n              goto LAB_00058800;\n            }\n          }\n        }\n        if ((uVar6 & 0x10) == 0) {\n          piVar10 = (int *)(PTR_DAT_001db8f8 + -0x49c8);\n        }\n        else {\n          piVar10 = (int *)(PTR_DAT_001db8f8 + -0x49e0);\n        }\n      }\n    }\n    else {\n      piVar10 = (int *)(PTR_DAT_001db8f8 + -0x49b0);\n    }" else (if_statement "if ((uVar6 & 0x400) == 0) {\n      if ((uVar6 & 8) == 0) {\n        piVar10 = (int *)(PTR_DAT_001db8f8 + -0x4998);\n      }\n      else {\n        if (iVar8 == 5) {\n          if ((local_44 == 4) || (local_44 == 9)) goto LAB_000585b8;\n        }\n        else {\n          iVar8 = (*(code *)PTR_strncmp_001dbe60)\n                            (param_2,PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb60,4);\n          if (iVar8 == 0) {\nLAB_000585b8:\n            if ((uVar6 & 2) != 0) {\n              piVar10 = (int *)(PTR_DAT_001db8f8 + -0x4968);\n              goto LAB_00058800;\n            }\n          }\n        }\n        if ((uVar6 & 0x10) == 0) {\n          piVar10 = (int *)(PTR_DAT_001db8f8 + -0x49c8);\n        }\n        else {\n          piVar10 = (int *)(PTR_DAT_001db8f8 + -0x49e0);\n        }\n      }\n    }\n    else {\n      piVar10 = (int *)(PTR_DAT_001db8f8 + -0x49b0);\n    }" if (parenthesized_expression "((uVar6 & 0x400) == 0)" ( (binary_expression "(uVar6 & 0x400) == 0" (parenthesized_expression "(uVar6 & 0x400)" ( (binary_expression "uVar6 & 0x400" identifier & number_literal) )) == number_literal) )) (compound_statement "{\n      if ((uVar6 & 8) == 0) {\n        piVar10 = (int *)(PTR_DAT_001db8f8 + -0x4998);\n      }\n      else {\n        if (iVar8 == 5) {\n          if ((local_44 == 4) || (local_44 == 9)) goto LAB_000585b8;\n        }\n        else {\n          iVar8 = (*(code *)PTR_strncmp_001dbe60)\n                            (param_2,PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb60,4);\n          if (iVar8 == 0) {\nLAB_000585b8:\n            if ((uVar6 & 2) != 0) {\n              piVar10 = (int *)(PTR_DAT_001db8f8 + -0x4968);\n              goto LAB_00058800;\n            }\n          }\n        }\n        if ((uVar6 & 0x10) == 0) {\n          piVar10 = (int *)(PTR_DAT_001db8f8 + -0x49c8);\n        }\n        else {\n          piVar10 = (int *)(PTR_DAT_001db8f8 + -0x49e0);\n        }\n      }\n    }" { (if_statement "if ((uVar6 & 8) == 0) {\n        piVar10 = (int *)(PTR_DAT_001db8f8 + -0x4998);\n      }\n      else {\n        if (iVar8 == 5) {\n          if ((local_44 == 4) || (local_44 == 9)) goto LAB_000585b8;\n        }\n        else {\n          iVar8 = (*(code *)PTR_strncmp_001dbe60)\n                            (param_2,PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb60,4);\n          if (iVar8 == 0) {\nLAB_000585b8:\n            if ((uVar6 & 2) != 0) {\n              piVar10 = (int *)(PTR_DAT_001db8f8 + -0x4968);\n              goto LAB_00058800;\n            }\n          }\n        }\n        if ((uVar6 & 0x10) == 0) {\n          piVar10 = (int *)(PTR_DAT_001db8f8 + -0x49c8);\n        }\n        else {\n          piVar10 = (int *)(PTR_DAT_001db8f8 + -0x49e0);\n        }\n      }" if (parenthesized_expression "((uVar6 & 8) == 0)" ( (binary_expression "(uVar6 & 8) == 0" (parenthesized_expression "(uVar6 & 8)" ( (binary_expression "uVar6 & 8" identifier & number_literal) )) == number_literal) )) (compound_statement "{\n        piVar10 = (int *)(PTR_DAT_001db8f8 + -0x4998);\n      }" { (expression_statement "piVar10 = (int *)(PTR_DAT_001db8f8 + -0x4998);" (assignment_expression "piVar10 = (int *)(PTR_DAT_001db8f8 + -0x4998)" identifier = (cast_expression "(int *)(PTR_DAT_001db8f8 + -0x4998)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_DAT_001db8f8 + -0x4998)" ( (binary_expression "PTR_DAT_001db8f8 + -0x4998" identifier + number_literal) )))) ;) }) (else_clause "else {\n        if (iVar8 == 5) {\n          if ((local_44 == 4) || (local_44 == 9)) goto LAB_000585b8;\n        }\n        else {\n          iVar8 = (*(code *)PTR_strncmp_001dbe60)\n                            (param_2,PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb60,4);\n          if (iVar8 == 0) {\nLAB_000585b8:\n            if ((uVar6 & 2) != 0) {\n              piVar10 = (int *)(PTR_DAT_001db8f8 + -0x4968);\n              goto LAB_00058800;\n            }\n          }\n        }\n        if ((uVar6 & 0x10) == 0) {\n          piVar10 = (int *)(PTR_DAT_001db8f8 + -0x49c8);\n        }\n        else {\n          piVar10 = (int *)(PTR_DAT_001db8f8 + -0x49e0);\n        }\n      }" else (compound_statement "{\n        if (iVar8 == 5) {\n          if ((local_44 == 4) || (local_44 == 9)) goto LAB_000585b8;\n        }\n        else {\n          iVar8 = (*(code *)PTR_strncmp_001dbe60)\n                            (param_2,PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb60,4);\n          if (iVar8 == 0) {\nLAB_000585b8:\n            if ((uVar6 & 2) != 0) {\n              piVar10 = (int *)(PTR_DAT_001db8f8 + -0x4968);\n              goto LAB_00058800;\n            }\n          }\n        }\n        if ((uVar6 & 0x10) == 0) {\n          piVar10 = (int *)(PTR_DAT_001db8f8 + -0x49c8);\n        }\n        else {\n          piVar10 = (int *)(PTR_DAT_001db8f8 + -0x49e0);\n        }\n      }" { (if_statement "if (iVar8 == 5) {\n          if ((local_44 == 4) || (local_44 == 9)) goto LAB_000585b8;\n        }\n        else {\n          iVar8 = (*(code *)PTR_strncmp_001dbe60)\n                            (param_2,PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb60,4);\n          if (iVar8 == 0) {\nLAB_000585b8:\n            if ((uVar6 & 2) != 0) {\n              piVar10 = (int *)(PTR_DAT_001db8f8 + -0x4968);\n              goto LAB_00058800;\n            }\n          }\n        }" if (parenthesized_expression "(iVar8 == 5)" ( (binary_expression "iVar8 == 5" identifier == number_literal) )) (compound_statement "{\n          if ((local_44 == 4) || (local_44 == 9)) goto LAB_000585b8;\n        }" { (if_statement "if ((local_44 == 4) || (local_44 == 9)) goto LAB_000585b8;" if (parenthesized_expression "((local_44 == 4) || (local_44 == 9))" ( (binary_expression "(local_44 == 4) || (local_44 == 9)" (parenthesized_expression "(local_44 == 4)" ( (binary_expression "local_44 == 4" identifier == number_literal) )) || (parenthesized_expression "(local_44 == 9)" ( (binary_expression "local_44 == 9" identifier == number_literal) ))) )) (goto_statement "goto LAB_000585b8;" goto statement_identifier ;)) }) (else_clause "else {\n          iVar8 = (*(code *)PTR_strncmp_001dbe60)\n                            (param_2,PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb60,4);\n          if (iVar8 == 0) {\nLAB_000585b8:\n            if ((uVar6 & 2) != 0) {\n              piVar10 = (int *)(PTR_DAT_001db8f8 + -0x4968);\n              goto LAB_00058800;\n            }\n          }\n        }" else (compound_statement "{\n          iVar8 = (*(code *)PTR_strncmp_001dbe60)\n                            (param_2,PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb60,4);\n          if (iVar8 == 0) {\nLAB_000585b8:\n            if ((uVar6 & 2) != 0) {\n              piVar10 = (int *)(PTR_DAT_001db8f8 + -0x4968);\n              goto LAB_00058800;\n            }\n          }\n        }" { (expression_statement "iVar8 = (*(code *)PTR_strncmp_001dbe60)\n                            (param_2,PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb60,4);" (assignment_expression "iVar8 = (*(code *)PTR_strncmp_001dbe60)\n                            (param_2,PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb60,4)" identifier = (call_expression "(*(code *)PTR_strncmp_001dbe60)\n                            (param_2,PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb60,4)" (parenthesized_expression "(*(code *)PTR_strncmp_001dbe60)" ( (pointer_expression "*(code *)PTR_strncmp_001dbe60" * (cast_expression "(code *)PTR_strncmp_001dbe60" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(param_2,PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb60,4)" ( identifier , (binary_expression "PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb60" identifier + number_literal) , number_literal )))) ;) (if_statement "if (iVar8 == 0) {\nLAB_000585b8:\n            if ((uVar6 & 2) != 0) {\n              piVar10 = (int *)(PTR_DAT_001db8f8 + -0x4968);\n              goto LAB_00058800;\n            }\n          }" if (parenthesized_expression "(iVar8 == 0)" ( (binary_expression "iVar8 == 0" identifier == number_literal) )) (compound_statement "{\nLAB_000585b8:\n            if ((uVar6 & 2) != 0) {\n              piVar10 = (int *)(PTR_DAT_001db8f8 + -0x4968);\n              goto LAB_00058800;\n            }\n          }" { (labeled_statement "LAB_000585b8:\n            if ((uVar6 & 2) != 0) {\n              piVar10 = (int *)(PTR_DAT_001db8f8 + -0x4968);\n              goto LAB_00058800;\n            }" statement_identifier : (if_statement "if ((uVar6 & 2) != 0) {\n              piVar10 = (int *)(PTR_DAT_001db8f8 + -0x4968);\n              goto LAB_00058800;\n            }" if (parenthesized_expression "((uVar6 & 2) != 0)" ( (binary_expression "(uVar6 & 2) != 0" (parenthesized_expression "(uVar6 & 2)" ( (binary_expression "uVar6 & 2" identifier & number_literal) )) != number_literal) )) (compound_statement "{\n              piVar10 = (int *)(PTR_DAT_001db8f8 + -0x4968);\n              goto LAB_00058800;\n            }" { (expression_statement "piVar10 = (int *)(PTR_DAT_001db8f8 + -0x4968);" (assignment_expression "piVar10 = (int *)(PTR_DAT_001db8f8 + -0x4968)" identifier = (cast_expression "(int *)(PTR_DAT_001db8f8 + -0x4968)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_DAT_001db8f8 + -0x4968)" ( (binary_expression "PTR_DAT_001db8f8 + -0x4968" identifier + number_literal) )))) ;) (goto_statement "goto LAB_00058800;" goto statement_identifier ;) }))) })) }))) (if_statement "if ((uVar6 & 0x10) == 0) {\n          piVar10 = (int *)(PTR_DAT_001db8f8 + -0x49c8);\n        }\n        else {\n          piVar10 = (int *)(PTR_DAT_001db8f8 + -0x49e0);\n        }" if (parenthesized_expression "((uVar6 & 0x10) == 0)" ( (binary_expression "(uVar6 & 0x10) == 0" (parenthesized_expression "(uVar6 & 0x10)" ( (binary_expression "uVar6 & 0x10" identifier & number_literal) )) == number_literal) )) (compound_statement "{\n          piVar10 = (int *)(PTR_DAT_001db8f8 + -0x49c8);\n        }" { (expression_statement "piVar10 = (int *)(PTR_DAT_001db8f8 + -0x49c8);" (assignment_expression "piVar10 = (int *)(PTR_DAT_001db8f8 + -0x49c8)" identifier = (cast_expression "(int *)(PTR_DAT_001db8f8 + -0x49c8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_DAT_001db8f8 + -0x49c8)" ( (binary_expression "PTR_DAT_001db8f8 + -0x49c8" identifier + number_literal) )))) ;) }) (else_clause "else {\n          piVar10 = (int *)(PTR_DAT_001db8f8 + -0x49e0);\n        }" else (compound_statement "{\n          piVar10 = (int *)(PTR_DAT_001db8f8 + -0x49e0);\n        }" { (expression_statement "piVar10 = (int *)(PTR_DAT_001db8f8 + -0x49e0);" (assignment_expression "piVar10 = (int *)(PTR_DAT_001db8f8 + -0x49e0)" identifier = (cast_expression "(int *)(PTR_DAT_001db8f8 + -0x49e0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_DAT_001db8f8 + -0x49e0)" ( (binary_expression "PTR_DAT_001db8f8 + -0x49e0" identifier + number_literal) )))) ;) }))) }))) }) (else_clause "else {\n      piVar10 = (int *)(PTR_DAT_001db8f8 + -0x49b0);\n    }" else (compound_statement "{\n      piVar10 = (int *)(PTR_DAT_001db8f8 + -0x49b0);\n    }" { (expression_statement "piVar10 = (int *)(PTR_DAT_001db8f8 + -0x49b0);" (assignment_expression "piVar10 = (int *)(PTR_DAT_001db8f8 + -0x49b0)" identifier = (cast_expression "(int *)(PTR_DAT_001db8f8 + -0x49b0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_DAT_001db8f8 + -0x49b0)" ( (binary_expression "PTR_DAT_001db8f8 + -0x49b0" identifier + number_literal) )))) ;) }))))))) }))) (labeled_statement "LAB_00058800:\n  local_40 = piVar10[2];" statement_identifier : (expression_statement "local_40 = piVar10[2];" (assignment_expression "local_40 = piVar10[2]" identifier = (subscript_expression "piVar10[2]" identifier [ number_literal ])) ;)) (if_statement "if (local_40 != 0) goto LAB_00058810;" if (parenthesized_expression "(local_40 != 0)" ( (binary_expression "local_40 != 0" identifier != number_literal) )) (goto_statement "goto LAB_00058810;" goto statement_identifier ;)) (if_statement "if (*piVar10 == 0) {\n    cVar2 = *(char *)(*param_1 + 4);\n    if (*(int *)PTR_lang_output_section_statement_001dbbf4 != 0) {\n      local_44 = 0;\n      local_40 = 0;\n      puVar4 = PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb60;\n      local_34 = 0;\n      puVar5 = PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb70;\n      iVar8 = 0;\n      iVar9 = 0;\n      iVar3 = *(int *)PTR_lang_output_section_statement_001dbbf4;\n      do {\n        iVar13 = iVar3;\n        if (*(int *)(iVar13 + 0x48) < 0) {\nLAB_00058a98:\n          if (*(int *)(iVar13 + 0x1c) != 0) {\n            uVar7 = *(uint *)(*(int *)(iVar13 + 0x1c) + 0x14);\n            iVar3 = iVar9;\njoined_r0x00058aac:\n            if (((uVar7 & 1) != 0) && (iVar9 = iVar3, local_34 = iVar13, (uVar7 & 8) != 0)) {\n              local_40 = iVar13;\n            }\n          }\n        }\n        else {\n          iVar11 = *(int *)(iVar13 + 0x18);\n          iVar3 = (*(code *)PTR_strncmp_001dbe60)(iVar11,puVar4,4);\n          if (iVar3 != 0) goto LAB_00058a98;\n          uVar7 = (uint)(*(char *)(iVar11 + 4) == 'a');\n          if ((bVar1) ||\n             (iVar3 = (*(code *)PTR_strcmp_001dc144)(puVar5,iVar11 + uVar7 + 4), iVar3 == 0)) break;\n          iVar3 = iVar13;\n          if ((cVar2 == 'a') != uVar7) {\n            if (iVar8 == 0) {\n              iVar8 = iVar13;\n            }\n            iVar3 = iVar8;\n            if (iVar9 != 0) goto LAB_00058a98;\n          }\n          iVar8 = iVar3;\n          if (*(int *)(iVar13 + 0x1c) != 0) {\n            uVar7 = *(uint *)(*(int *)(iVar13 + 0x1c) + 0x14);\n            iVar3 = iVar13;\n            goto joined_r0x00058aac;\n          }\n        }\n        local_44 = iVar13;\n        iVar3 = *(int *)(iVar13 + 0x10);\n      } while (*(int *)(iVar13 + 0x10) != 0);\n      if (iVar9 == 0) {\n        if (iVar8 == 0) {\n          if (local_40 == 0) {\n            local_40 = local_34;\n            if (local_34 == 0) {\n              local_40 = local_44;\n            }\n            piVar10[2] = local_40;\n          }\n          else {\n            piVar10[2] = local_40;\n          }\n        }\n        else {\n          piVar10[2] = iVar8;\n          local_40 = iVar8;\n        }\n      }\n      else {\n        piVar10[2] = iVar9;\n        local_40 = iVar9;\n      }\n      goto LAB_00058960;\n    }\n  }\n  else {\n    local_40 = (*(code *)PTR_lang_output_section_statement_lookup_001dbc2c)(*piVar10,0,0);\n    piVar10[2] = local_40;\nLAB_00058960:\n    if (local_40 != 0) goto LAB_00058810;\n  }" if (parenthesized_expression "(*piVar10 == 0)" ( (binary_expression "*piVar10 == 0" (pointer_expression "*piVar10" * identifier) == number_literal) )) (compound_statement "{\n    cVar2 = *(char *)(*param_1 + 4);\n    if (*(int *)PTR_lang_output_section_statement_001dbbf4 != 0) {\n      local_44 = 0;\n      local_40 = 0;\n      puVar4 = PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb60;\n      local_34 = 0;\n      puVar5 = PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb70;\n      iVar8 = 0;\n      iVar9 = 0;\n      iVar3 = *(int *)PTR_lang_output_section_statement_001dbbf4;\n      do {\n        iVar13 = iVar3;\n        if (*(int *)(iVar13 + 0x48) < 0) {\nLAB_00058a98:\n          if (*(int *)(iVar13 + 0x1c) != 0) {\n            uVar7 = *(uint *)(*(int *)(iVar13 + 0x1c) + 0x14);\n            iVar3 = iVar9;\njoined_r0x00058aac:\n            if (((uVar7 & 1) != 0) && (iVar9 = iVar3, local_34 = iVar13, (uVar7 & 8) != 0)) {\n              local_40 = iVar13;\n            }\n          }\n        }\n        else {\n          iVar11 = *(int *)(iVar13 + 0x18);\n          iVar3 = (*(code *)PTR_strncmp_001dbe60)(iVar11,puVar4,4);\n          if (iVar3 != 0) goto LAB_00058a98;\n          uVar7 = (uint)(*(char *)(iVar11 + 4) == 'a');\n          if ((bVar1) ||\n             (iVar3 = (*(code *)PTR_strcmp_001dc144)(puVar5,iVar11 + uVar7 + 4), iVar3 == 0)) break;\n          iVar3 = iVar13;\n          if ((cVar2 == 'a') != uVar7) {\n            if (iVar8 == 0) {\n              iVar8 = iVar13;\n            }\n            iVar3 = iVar8;\n            if (iVar9 != 0) goto LAB_00058a98;\n          }\n          iVar8 = iVar3;\n          if (*(int *)(iVar13 + 0x1c) != 0) {\n            uVar7 = *(uint *)(*(int *)(iVar13 + 0x1c) + 0x14);\n            iVar3 = iVar13;\n            goto joined_r0x00058aac;\n          }\n        }\n        local_44 = iVar13;\n        iVar3 = *(int *)(iVar13 + 0x10);\n      } while (*(int *)(iVar13 + 0x10) != 0);\n      if (iVar9 == 0) {\n        if (iVar8 == 0) {\n          if (local_40 == 0) {\n            local_40 = local_34;\n            if (local_34 == 0) {\n              local_40 = local_44;\n            }\n            piVar10[2] = local_40;\n          }\n          else {\n            piVar10[2] = local_40;\n          }\n        }\n        else {\n          piVar10[2] = iVar8;\n          local_40 = iVar8;\n        }\n      }\n      else {\n        piVar10[2] = iVar9;\n        local_40 = iVar9;\n      }\n      goto LAB_00058960;\n    }\n  }" { (expression_statement "cVar2 = *(char *)(*param_1 + 4);" (assignment_expression "cVar2 = *(char *)(*param_1 + 4)" identifier = (pointer_expression "*(char *)(*param_1 + 4)" * (cast_expression "(char *)(*param_1 + 4)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*param_1 + 4)" ( (binary_expression "*param_1 + 4" (pointer_expression "*param_1" * identifier) + number_literal) ))))) ;) (if_statement "if (*(int *)PTR_lang_output_section_statement_001dbbf4 != 0) {\n      local_44 = 0;\n      local_40 = 0;\n      puVar4 = PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb60;\n      local_34 = 0;\n      puVar5 = PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb70;\n      iVar8 = 0;\n      iVar9 = 0;\n      iVar3 = *(int *)PTR_lang_output_section_statement_001dbbf4;\n      do {\n        iVar13 = iVar3;\n        if (*(int *)(iVar13 + 0x48) < 0) {\nLAB_00058a98:\n          if (*(int *)(iVar13 + 0x1c) != 0) {\n            uVar7 = *(uint *)(*(int *)(iVar13 + 0x1c) + 0x14);\n            iVar3 = iVar9;\njoined_r0x00058aac:\n            if (((uVar7 & 1) != 0) && (iVar9 = iVar3, local_34 = iVar13, (uVar7 & 8) != 0)) {\n              local_40 = iVar13;\n            }\n          }\n        }\n        else {\n          iVar11 = *(int *)(iVar13 + 0x18);\n          iVar3 = (*(code *)PTR_strncmp_001dbe60)(iVar11,puVar4,4);\n          if (iVar3 != 0) goto LAB_00058a98;\n          uVar7 = (uint)(*(char *)(iVar11 + 4) == 'a');\n          if ((bVar1) ||\n             (iVar3 = (*(code *)PTR_strcmp_001dc144)(puVar5,iVar11 + uVar7 + 4), iVar3 == 0)) break;\n          iVar3 = iVar13;\n          if ((cVar2 == 'a') != uVar7) {\n            if (iVar8 == 0) {\n              iVar8 = iVar13;\n            }\n            iVar3 = iVar8;\n            if (iVar9 != 0) goto LAB_00058a98;\n          }\n          iVar8 = iVar3;\n          if (*(int *)(iVar13 + 0x1c) != 0) {\n            uVar7 = *(uint *)(*(int *)(iVar13 + 0x1c) + 0x14);\n            iVar3 = iVar13;\n            goto joined_r0x00058aac;\n          }\n        }\n        local_44 = iVar13;\n        iVar3 = *(int *)(iVar13 + 0x10);\n      } while (*(int *)(iVar13 + 0x10) != 0);\n      if (iVar9 == 0) {\n        if (iVar8 == 0) {\n          if (local_40 == 0) {\n            local_40 = local_34;\n            if (local_34 == 0) {\n              local_40 = local_44;\n            }\n            piVar10[2] = local_40;\n          }\n          else {\n            piVar10[2] = local_40;\n          }\n        }\n        else {\n          piVar10[2] = iVar8;\n          local_40 = iVar8;\n        }\n      }\n      else {\n        piVar10[2] = iVar9;\n        local_40 = iVar9;\n      }\n      goto LAB_00058960;\n    }" if (parenthesized_expression "(*(int *)PTR_lang_output_section_statement_001dbbf4 != 0)" ( (binary_expression "*(int *)PTR_lang_output_section_statement_001dbbf4 != 0" (pointer_expression "*(int *)PTR_lang_output_section_statement_001dbbf4" * (cast_expression "(int *)PTR_lang_output_section_statement_001dbbf4" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) != number_literal) )) (compound_statement "{\n      local_44 = 0;\n      local_40 = 0;\n      puVar4 = PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb60;\n      local_34 = 0;\n      puVar5 = PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb70;\n      iVar8 = 0;\n      iVar9 = 0;\n      iVar3 = *(int *)PTR_lang_output_section_statement_001dbbf4;\n      do {\n        iVar13 = iVar3;\n        if (*(int *)(iVar13 + 0x48) < 0) {\nLAB_00058a98:\n          if (*(int *)(iVar13 + 0x1c) != 0) {\n            uVar7 = *(uint *)(*(int *)(iVar13 + 0x1c) + 0x14);\n            iVar3 = iVar9;\njoined_r0x00058aac:\n            if (((uVar7 & 1) != 0) && (iVar9 = iVar3, local_34 = iVar13, (uVar7 & 8) != 0)) {\n              local_40 = iVar13;\n            }\n          }\n        }\n        else {\n          iVar11 = *(int *)(iVar13 + 0x18);\n          iVar3 = (*(code *)PTR_strncmp_001dbe60)(iVar11,puVar4,4);\n          if (iVar3 != 0) goto LAB_00058a98;\n          uVar7 = (uint)(*(char *)(iVar11 + 4) == 'a');\n          if ((bVar1) ||\n             (iVar3 = (*(code *)PTR_strcmp_001dc144)(puVar5,iVar11 + uVar7 + 4), iVar3 == 0)) break;\n          iVar3 = iVar13;\n          if ((cVar2 == 'a') != uVar7) {\n            if (iVar8 == 0) {\n              iVar8 = iVar13;\n            }\n            iVar3 = iVar8;\n            if (iVar9 != 0) goto LAB_00058a98;\n          }\n          iVar8 = iVar3;\n          if (*(int *)(iVar13 + 0x1c) != 0) {\n            uVar7 = *(uint *)(*(int *)(iVar13 + 0x1c) + 0x14);\n            iVar3 = iVar13;\n            goto joined_r0x00058aac;\n          }\n        }\n        local_44 = iVar13;\n        iVar3 = *(int *)(iVar13 + 0x10);\n      } while (*(int *)(iVar13 + 0x10) != 0);\n      if (iVar9 == 0) {\n        if (iVar8 == 0) {\n          if (local_40 == 0) {\n            local_40 = local_34;\n            if (local_34 == 0) {\n              local_40 = local_44;\n            }\n            piVar10[2] = local_40;\n          }\n          else {\n            piVar10[2] = local_40;\n          }\n        }\n        else {\n          piVar10[2] = iVar8;\n          local_40 = iVar8;\n        }\n      }\n      else {\n        piVar10[2] = iVar9;\n        local_40 = iVar9;\n      }\n      goto LAB_00058960;\n    }" { (expression_statement "local_44 = 0;" (assignment_expression "local_44 = 0" identifier = number_literal) ;) (expression_statement "local_40 = 0;" (assignment_expression "local_40 = 0" identifier = number_literal) ;) (expression_statement "puVar4 = PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb60;" (assignment_expression "puVar4 = PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb60" identifier = (binary_expression "PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb60" identifier + number_literal)) ;) (expression_statement "local_34 = 0;" (assignment_expression "local_34 = 0" identifier = number_literal) ;) (expression_statement "puVar5 = PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb70;" (assignment_expression "puVar5 = PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb70" identifier = (binary_expression "PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb70" identifier + number_literal)) ;) (expression_statement "iVar8 = 0;" (assignment_expression "iVar8 = 0" identifier = number_literal) ;) (expression_statement "iVar9 = 0;" (assignment_expression "iVar9 = 0" identifier = number_literal) ;) (expression_statement "iVar3 = *(int *)PTR_lang_output_section_statement_001dbbf4;" (assignment_expression "iVar3 = *(int *)PTR_lang_output_section_statement_001dbbf4" identifier = (pointer_expression "*(int *)PTR_lang_output_section_statement_001dbbf4" * (cast_expression "(int *)PTR_lang_output_section_statement_001dbbf4" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) ;) (do_statement "do {\n        iVar13 = iVar3;\n        if (*(int *)(iVar13 + 0x48) < 0) {\nLAB_00058a98:\n          if (*(int *)(iVar13 + 0x1c) != 0) {\n            uVar7 = *(uint *)(*(int *)(iVar13 + 0x1c) + 0x14);\n            iVar3 = iVar9;\njoined_r0x00058aac:\n            if (((uVar7 & 1) != 0) && (iVar9 = iVar3, local_34 = iVar13, (uVar7 & 8) != 0)) {\n              local_40 = iVar13;\n            }\n          }\n        }\n        else {\n          iVar11 = *(int *)(iVar13 + 0x18);\n          iVar3 = (*(code *)PTR_strncmp_001dbe60)(iVar11,puVar4,4);\n          if (iVar3 != 0) goto LAB_00058a98;\n          uVar7 = (uint)(*(char *)(iVar11 + 4) == 'a');\n          if ((bVar1) ||\n             (iVar3 = (*(code *)PTR_strcmp_001dc144)(puVar5,iVar11 + uVar7 + 4), iVar3 == 0)) break;\n          iVar3 = iVar13;\n          if ((cVar2 == 'a') != uVar7) {\n            if (iVar8 == 0) {\n              iVar8 = iVar13;\n            }\n            iVar3 = iVar8;\n            if (iVar9 != 0) goto LAB_00058a98;\n          }\n          iVar8 = iVar3;\n          if (*(int *)(iVar13 + 0x1c) != 0) {\n            uVar7 = *(uint *)(*(int *)(iVar13 + 0x1c) + 0x14);\n            iVar3 = iVar13;\n            goto joined_r0x00058aac;\n          }\n        }\n        local_44 = iVar13;\n        iVar3 = *(int *)(iVar13 + 0x10);\n      } while (*(int *)(iVar13 + 0x10) != 0);" do (compound_statement "{\n        iVar13 = iVar3;\n        if (*(int *)(iVar13 + 0x48) < 0) {\nLAB_00058a98:\n          if (*(int *)(iVar13 + 0x1c) != 0) {\n            uVar7 = *(uint *)(*(int *)(iVar13 + 0x1c) + 0x14);\n            iVar3 = iVar9;\njoined_r0x00058aac:\n            if (((uVar7 & 1) != 0) && (iVar9 = iVar3, local_34 = iVar13, (uVar7 & 8) != 0)) {\n              local_40 = iVar13;\n            }\n          }\n        }\n        else {\n          iVar11 = *(int *)(iVar13 + 0x18);\n          iVar3 = (*(code *)PTR_strncmp_001dbe60)(iVar11,puVar4,4);\n          if (iVar3 != 0) goto LAB_00058a98;\n          uVar7 = (uint)(*(char *)(iVar11 + 4) == 'a');\n          if ((bVar1) ||\n             (iVar3 = (*(code *)PTR_strcmp_001dc144)(puVar5,iVar11 + uVar7 + 4), iVar3 == 0)) break;\n          iVar3 = iVar13;\n          if ((cVar2 == 'a') != uVar7) {\n            if (iVar8 == 0) {\n              iVar8 = iVar13;\n            }\n            iVar3 = iVar8;\n            if (iVar9 != 0) goto LAB_00058a98;\n          }\n          iVar8 = iVar3;\n          if (*(int *)(iVar13 + 0x1c) != 0) {\n            uVar7 = *(uint *)(*(int *)(iVar13 + 0x1c) + 0x14);\n            iVar3 = iVar13;\n            goto joined_r0x00058aac;\n          }\n        }\n        local_44 = iVar13;\n        iVar3 = *(int *)(iVar13 + 0x10);\n      }" { (expression_statement "iVar13 = iVar3;" (assignment_expression "iVar13 = iVar3" identifier = identifier) ;) (if_statement "if (*(int *)(iVar13 + 0x48) < 0) {\nLAB_00058a98:\n          if (*(int *)(iVar13 + 0x1c) != 0) {\n            uVar7 = *(uint *)(*(int *)(iVar13 + 0x1c) + 0x14);\n            iVar3 = iVar9;\njoined_r0x00058aac:\n            if (((uVar7 & 1) != 0) && (iVar9 = iVar3, local_34 = iVar13, (uVar7 & 8) != 0)) {\n              local_40 = iVar13;\n            }\n          }\n        }\n        else {\n          iVar11 = *(int *)(iVar13 + 0x18);\n          iVar3 = (*(code *)PTR_strncmp_001dbe60)(iVar11,puVar4,4);\n          if (iVar3 != 0) goto LAB_00058a98;\n          uVar7 = (uint)(*(char *)(iVar11 + 4) == 'a');\n          if ((bVar1) ||\n             (iVar3 = (*(code *)PTR_strcmp_001dc144)(puVar5,iVar11 + uVar7 + 4), iVar3 == 0)) break;\n          iVar3 = iVar13;\n          if ((cVar2 == 'a') != uVar7) {\n            if (iVar8 == 0) {\n              iVar8 = iVar13;\n            }\n            iVar3 = iVar8;\n            if (iVar9 != 0) goto LAB_00058a98;\n          }\n          iVar8 = iVar3;\n          if (*(int *)(iVar13 + 0x1c) != 0) {\n            uVar7 = *(uint *)(*(int *)(iVar13 + 0x1c) + 0x14);\n            iVar3 = iVar13;\n            goto joined_r0x00058aac;\n          }\n        }" if (parenthesized_expression "(*(int *)(iVar13 + 0x48) < 0)" ( (binary_expression "*(int *)(iVar13 + 0x48) < 0" (pointer_expression "*(int *)(iVar13 + 0x48)" * (cast_expression "(int *)(iVar13 + 0x48)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar13 + 0x48)" ( (binary_expression "iVar13 + 0x48" identifier + number_literal) )))) < number_literal) )) (compound_statement "{\nLAB_00058a98:\n          if (*(int *)(iVar13 + 0x1c) != 0) {\n            uVar7 = *(uint *)(*(int *)(iVar13 + 0x1c) + 0x14);\n            iVar3 = iVar9;\njoined_r0x00058aac:\n            if (((uVar7 & 1) != 0) && (iVar9 = iVar3, local_34 = iVar13, (uVar7 & 8) != 0)) {\n              local_40 = iVar13;\n            }\n          }\n        }" { (labeled_statement "LAB_00058a98:\n          if (*(int *)(iVar13 + 0x1c) != 0) {\n            uVar7 = *(uint *)(*(int *)(iVar13 + 0x1c) + 0x14);\n            iVar3 = iVar9;\njoined_r0x00058aac:\n            if (((uVar7 & 1) != 0) && (iVar9 = iVar3, local_34 = iVar13, (uVar7 & 8) != 0)) {\n              local_40 = iVar13;\n            }\n          }" statement_identifier : (if_statement "if (*(int *)(iVar13 + 0x1c) != 0) {\n            uVar7 = *(uint *)(*(int *)(iVar13 + 0x1c) + 0x14);\n            iVar3 = iVar9;\njoined_r0x00058aac:\n            if (((uVar7 & 1) != 0) && (iVar9 = iVar3, local_34 = iVar13, (uVar7 & 8) != 0)) {\n              local_40 = iVar13;\n            }\n          }" if (parenthesized_expression "(*(int *)(iVar13 + 0x1c) != 0)" ( (binary_expression "*(int *)(iVar13 + 0x1c) != 0" (pointer_expression "*(int *)(iVar13 + 0x1c)" * (cast_expression "(int *)(iVar13 + 0x1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar13 + 0x1c)" ( (binary_expression "iVar13 + 0x1c" identifier + number_literal) )))) != number_literal) )) (compound_statement "{\n            uVar7 = *(uint *)(*(int *)(iVar13 + 0x1c) + 0x14);\n            iVar3 = iVar9;\njoined_r0x00058aac:\n            if (((uVar7 & 1) != 0) && (iVar9 = iVar3, local_34 = iVar13, (uVar7 & 8) != 0)) {\n              local_40 = iVar13;\n            }\n          }" { (expression_statement "uVar7 = *(uint *)(*(int *)(iVar13 + 0x1c) + 0x14);" (assignment_expression "uVar7 = *(uint *)(*(int *)(iVar13 + 0x1c) + 0x14)" identifier = (pointer_expression "*(uint *)(*(int *)(iVar13 + 0x1c) + 0x14)" * (cast_expression "(uint *)(*(int *)(iVar13 + 0x1c) + 0x14)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(iVar13 + 0x1c) + 0x14)" ( (binary_expression "*(int *)(iVar13 + 0x1c) + 0x14" (pointer_expression "*(int *)(iVar13 + 0x1c)" * (cast_expression "(int *)(iVar13 + 0x1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar13 + 0x1c)" ( (binary_expression "iVar13 + 0x1c" identifier + number_literal) )))) + number_literal) ))))) ;) (expression_statement "iVar3 = iVar9;" (assignment_expression "iVar3 = iVar9" identifier = identifier) ;) (labeled_statement "joined_r0x00058aac:\n            if (((uVar7 & 1) != 0) && (iVar9 = iVar3, local_34 = iVar13, (uVar7 & 8) != 0)) {\n              local_40 = iVar13;\n            }" statement_identifier : (if_statement "if (((uVar7 & 1) != 0) && (iVar9 = iVar3, local_34 = iVar13, (uVar7 & 8) != 0)) {\n              local_40 = iVar13;\n            }" if (parenthesized_expression "(((uVar7 & 1) != 0) && (iVar9 = iVar3, local_34 = iVar13, (uVar7 & 8) != 0))" ( (binary_expression "((uVar7 & 1) != 0) && (iVar9 = iVar3, local_34 = iVar13, (uVar7 & 8) != 0)" (parenthesized_expression "((uVar7 & 1) != 0)" ( (binary_expression "(uVar7 & 1) != 0" (parenthesized_expression "(uVar7 & 1)" ( (binary_expression "uVar7 & 1" identifier & number_literal) )) != number_literal) )) && (parenthesized_expression "(iVar9 = iVar3, local_34 = iVar13, (uVar7 & 8) != 0)" ( (comma_expression "iVar9 = iVar3, local_34 = iVar13, (uVar7 & 8) != 0" (assignment_expression "iVar9 = iVar3" identifier = identifier) , (comma_expression "local_34 = iVar13, (uVar7 & 8) != 0" (assignment_expression "local_34 = iVar13" identifier = identifier) , (binary_expression "(uVar7 & 8) != 0" (parenthesized_expression "(uVar7 & 8)" ( (binary_expression "uVar7 & 8" identifier & number_literal) )) != number_literal))) ))) )) (compound_statement "{\n              local_40 = iVar13;\n            }" { (expression_statement "local_40 = iVar13;" (assignment_expression "local_40 = iVar13" identifier = identifier) ;) }))) }))) }) (else_clause "else {\n          iVar11 = *(int *)(iVar13 + 0x18);\n          iVar3 = (*(code *)PTR_strncmp_001dbe60)(iVar11,puVar4,4);\n          if (iVar3 != 0) goto LAB_00058a98;\n          uVar7 = (uint)(*(char *)(iVar11 + 4) == 'a');\n          if ((bVar1) ||\n             (iVar3 = (*(code *)PTR_strcmp_001dc144)(puVar5,iVar11 + uVar7 + 4), iVar3 == 0)) break;\n          iVar3 = iVar13;\n          if ((cVar2 == 'a') != uVar7) {\n            if (iVar8 == 0) {\n              iVar8 = iVar13;\n            }\n            iVar3 = iVar8;\n            if (iVar9 != 0) goto LAB_00058a98;\n          }\n          iVar8 = iVar3;\n          if (*(int *)(iVar13 + 0x1c) != 0) {\n            uVar7 = *(uint *)(*(int *)(iVar13 + 0x1c) + 0x14);\n            iVar3 = iVar13;\n            goto joined_r0x00058aac;\n          }\n        }" else (compound_statement "{\n          iVar11 = *(int *)(iVar13 + 0x18);\n          iVar3 = (*(code *)PTR_strncmp_001dbe60)(iVar11,puVar4,4);\n          if (iVar3 != 0) goto LAB_00058a98;\n          uVar7 = (uint)(*(char *)(iVar11 + 4) == 'a');\n          if ((bVar1) ||\n             (iVar3 = (*(code *)PTR_strcmp_001dc144)(puVar5,iVar11 + uVar7 + 4), iVar3 == 0)) break;\n          iVar3 = iVar13;\n          if ((cVar2 == 'a') != uVar7) {\n            if (iVar8 == 0) {\n              iVar8 = iVar13;\n            }\n            iVar3 = iVar8;\n            if (iVar9 != 0) goto LAB_00058a98;\n          }\n          iVar8 = iVar3;\n          if (*(int *)(iVar13 + 0x1c) != 0) {\n            uVar7 = *(uint *)(*(int *)(iVar13 + 0x1c) + 0x14);\n            iVar3 = iVar13;\n            goto joined_r0x00058aac;\n          }\n        }" { (expression_statement "iVar11 = *(int *)(iVar13 + 0x18);" (assignment_expression "iVar11 = *(int *)(iVar13 + 0x18)" identifier = (pointer_expression "*(int *)(iVar13 + 0x18)" * (cast_expression "(int *)(iVar13 + 0x18)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar13 + 0x18)" ( (binary_expression "iVar13 + 0x18" identifier + number_literal) ))))) ;) (expression_statement "iVar3 = (*(code *)PTR_strncmp_001dbe60)(iVar11,puVar4,4);" (assignment_expression "iVar3 = (*(code *)PTR_strncmp_001dbe60)(iVar11,puVar4,4)" identifier = (call_expression "(*(code *)PTR_strncmp_001dbe60)(iVar11,puVar4,4)" (parenthesized_expression "(*(code *)PTR_strncmp_001dbe60)" ( (pointer_expression "*(code *)PTR_strncmp_001dbe60" * (cast_expression "(code *)PTR_strncmp_001dbe60" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(iVar11,puVar4,4)" ( identifier , identifier , number_literal )))) ;) (if_statement "if (iVar3 != 0) goto LAB_00058a98;" if (parenthesized_expression "(iVar3 != 0)" ( (binary_expression "iVar3 != 0" identifier != number_literal) )) (goto_statement "goto LAB_00058a98;" goto statement_identifier ;)) (expression_statement "uVar7 = (uint)(*(char *)(iVar11 + 4) == 'a');" (assignment_expression "uVar7 = (uint)(*(char *)(iVar11 + 4) == 'a')" identifier = (call_expression "(uint)(*(char *)(iVar11 + 4) == 'a')" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(*(char *)(iVar11 + 4) == 'a')" ( (binary_expression "*(char *)(iVar11 + 4) == 'a'" (pointer_expression "*(char *)(iVar11 + 4)" * (cast_expression "(char *)(iVar11 + 4)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 4)" ( (binary_expression "iVar11 + 4" identifier + number_literal) )))) == (char_literal "'a'" ' character ')) )))) ;) (if_statement "if ((bVar1) ||\n             (iVar3 = (*(code *)PTR_strcmp_001dc144)(puVar5,iVar11 + uVar7 + 4), iVar3 == 0)) break;" if (parenthesized_expression "((bVar1) ||\n             (iVar3 = (*(code *)PTR_strcmp_001dc144)(puVar5,iVar11 + uVar7 + 4), iVar3 == 0))" ( (binary_expression "(bVar1) ||\n             (iVar3 = (*(code *)PTR_strcmp_001dc144)(puVar5,iVar11 + uVar7 + 4), iVar3 == 0)" (parenthesized_expression "(bVar1)" ( identifier )) || (parenthesized_expression "(iVar3 = (*(code *)PTR_strcmp_001dc144)(puVar5,iVar11 + uVar7 + 4), iVar3 == 0)" ( (comma_expression "iVar3 = (*(code *)PTR_strcmp_001dc144)(puVar5,iVar11 + uVar7 + 4), iVar3 == 0" (assignment_expression "iVar3 = (*(code *)PTR_strcmp_001dc144)(puVar5,iVar11 + uVar7 + 4)" identifier = (call_expression "(*(code *)PTR_strcmp_001dc144)(puVar5,iVar11 + uVar7 + 4)" (parenthesized_expression "(*(code *)PTR_strcmp_001dc144)" ( (pointer_expression "*(code *)PTR_strcmp_001dc144" * (cast_expression "(code *)PTR_strcmp_001dc144" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(puVar5,iVar11 + uVar7 + 4)" ( identifier , (binary_expression "iVar11 + uVar7 + 4" (binary_expression "iVar11 + uVar7" identifier + identifier) + number_literal) )))) , (binary_expression "iVar3 == 0" identifier == number_literal)) ))) )) (break_statement "break;" break ;)) (expression_statement "iVar3 = iVar13;" (assignment_expression "iVar3 = iVar13" identifier = identifier) ;) (if_statement "if ((cVar2 == 'a') != uVar7) {\n            if (iVar8 == 0) {\n              iVar8 = iVar13;\n            }\n            iVar3 = iVar8;\n            if (iVar9 != 0) goto LAB_00058a98;\n          }" if (parenthesized_expression "((cVar2 == 'a') != uVar7)" ( (binary_expression "(cVar2 == 'a') != uVar7" (parenthesized_expression "(cVar2 == 'a')" ( (binary_expression "cVar2 == 'a'" identifier == (char_literal "'a'" ' character ')) )) != identifier) )) (compound_statement "{\n            if (iVar8 == 0) {\n              iVar8 = iVar13;\n            }\n            iVar3 = iVar8;\n            if (iVar9 != 0) goto LAB_00058a98;\n          }" { (if_statement "if (iVar8 == 0) {\n              iVar8 = iVar13;\n            }" if (parenthesized_expression "(iVar8 == 0)" ( (binary_expression "iVar8 == 0" identifier == number_literal) )) (compound_statement "{\n              iVar8 = iVar13;\n            }" { (expression_statement "iVar8 = iVar13;" (assignment_expression "iVar8 = iVar13" identifier = identifier) ;) })) (expression_statement "iVar3 = iVar8;" (assignment_expression "iVar3 = iVar8" identifier = identifier) ;) (if_statement "if (iVar9 != 0) goto LAB_00058a98;" if (parenthesized_expression "(iVar9 != 0)" ( (binary_expression "iVar9 != 0" identifier != number_literal) )) (goto_statement "goto LAB_00058a98;" goto statement_identifier ;)) })) (expression_statement "iVar8 = iVar3;" (assignment_expression "iVar8 = iVar3" identifier = identifier) ;) (if_statement "if (*(int *)(iVar13 + 0x1c) != 0) {\n            uVar7 = *(uint *)(*(int *)(iVar13 + 0x1c) + 0x14);\n            iVar3 = iVar13;\n            goto joined_r0x00058aac;\n          }" if (parenthesized_expression "(*(int *)(iVar13 + 0x1c) != 0)" ( (binary_expression "*(int *)(iVar13 + 0x1c) != 0" (pointer_expression "*(int *)(iVar13 + 0x1c)" * (cast_expression "(int *)(iVar13 + 0x1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar13 + 0x1c)" ( (binary_expression "iVar13 + 0x1c" identifier + number_literal) )))) != number_literal) )) (compound_statement "{\n            uVar7 = *(uint *)(*(int *)(iVar13 + 0x1c) + 0x14);\n            iVar3 = iVar13;\n            goto joined_r0x00058aac;\n          }" { (expression_statement "uVar7 = *(uint *)(*(int *)(iVar13 + 0x1c) + 0x14);" (assignment_expression "uVar7 = *(uint *)(*(int *)(iVar13 + 0x1c) + 0x14)" identifier = (pointer_expression "*(uint *)(*(int *)(iVar13 + 0x1c) + 0x14)" * (cast_expression "(uint *)(*(int *)(iVar13 + 0x1c) + 0x14)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(iVar13 + 0x1c) + 0x14)" ( (binary_expression "*(int *)(iVar13 + 0x1c) + 0x14" (pointer_expression "*(int *)(iVar13 + 0x1c)" * (cast_expression "(int *)(iVar13 + 0x1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar13 + 0x1c)" ( (binary_expression "iVar13 + 0x1c" identifier + number_literal) )))) + number_literal) ))))) ;) (expression_statement "iVar3 = iVar13;" (assignment_expression "iVar3 = iVar13" identifier = identifier) ;) (goto_statement "goto joined_r0x00058aac;" goto statement_identifier ;) })) }))) (expression_statement "local_44 = iVar13;" (assignment_expression "local_44 = iVar13" identifier = identifier) ;) (expression_statement "iVar3 = *(int *)(iVar13 + 0x10);" (assignment_expression "iVar3 = *(int *)(iVar13 + 0x10)" identifier = (pointer_expression "*(int *)(iVar13 + 0x10)" * (cast_expression "(int *)(iVar13 + 0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar13 + 0x10)" ( (binary_expression "iVar13 + 0x10" identifier + number_literal) ))))) ;) }) while (parenthesized_expression "(*(int *)(iVar13 + 0x10) != 0)" ( (binary_expression "*(int *)(iVar13 + 0x10) != 0" (pointer_expression "*(int *)(iVar13 + 0x10)" * (cast_expression "(int *)(iVar13 + 0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar13 + 0x10)" ( (binary_expression "iVar13 + 0x10" identifier + number_literal) )))) != number_literal) )) ;) (if_statement "if (iVar9 == 0) {\n        if (iVar8 == 0) {\n          if (local_40 == 0) {\n            local_40 = local_34;\n            if (local_34 == 0) {\n              local_40 = local_44;\n            }\n            piVar10[2] = local_40;\n          }\n          else {\n            piVar10[2] = local_40;\n          }\n        }\n        else {\n          piVar10[2] = iVar8;\n          local_40 = iVar8;\n        }\n      }\n      else {\n        piVar10[2] = iVar9;\n        local_40 = iVar9;\n      }" if (parenthesized_expression "(iVar9 == 0)" ( (binary_expression "iVar9 == 0" identifier == number_literal) )) (compound_statement "{\n        if (iVar8 == 0) {\n          if (local_40 == 0) {\n            local_40 = local_34;\n            if (local_34 == 0) {\n              local_40 = local_44;\n            }\n            piVar10[2] = local_40;\n          }\n          else {\n            piVar10[2] = local_40;\n          }\n        }\n        else {\n          piVar10[2] = iVar8;\n          local_40 = iVar8;\n        }\n      }" { (if_statement "if (iVar8 == 0) {\n          if (local_40 == 0) {\n            local_40 = local_34;\n            if (local_34 == 0) {\n              local_40 = local_44;\n            }\n            piVar10[2] = local_40;\n          }\n          else {\n            piVar10[2] = local_40;\n          }\n        }\n        else {\n          piVar10[2] = iVar8;\n          local_40 = iVar8;\n        }" if (parenthesized_expression "(iVar8 == 0)" ( (binary_expression "iVar8 == 0" identifier == number_literal) )) (compound_statement "{\n          if (local_40 == 0) {\n            local_40 = local_34;\n            if (local_34 == 0) {\n              local_40 = local_44;\n            }\n            piVar10[2] = local_40;\n          }\n          else {\n            piVar10[2] = local_40;\n          }\n        }" { (if_statement "if (local_40 == 0) {\n            local_40 = local_34;\n            if (local_34 == 0) {\n              local_40 = local_44;\n            }\n            piVar10[2] = local_40;\n          }\n          else {\n            piVar10[2] = local_40;\n          }" if (parenthesized_expression "(local_40 == 0)" ( (binary_expression "local_40 == 0" identifier == number_literal) )) (compound_statement "{\n            local_40 = local_34;\n            if (local_34 == 0) {\n              local_40 = local_44;\n            }\n            piVar10[2] = local_40;\n          }" { (expression_statement "local_40 = local_34;" (assignment_expression "local_40 = local_34" identifier = identifier) ;) (if_statement "if (local_34 == 0) {\n              local_40 = local_44;\n            }" if (parenthesized_expression "(local_34 == 0)" ( (binary_expression "local_34 == 0" identifier == number_literal) )) (compound_statement "{\n              local_40 = local_44;\n            }" { (expression_statement "local_40 = local_44;" (assignment_expression "local_40 = local_44" identifier = identifier) ;) })) (expression_statement "piVar10[2] = local_40;" (assignment_expression "piVar10[2] = local_40" (subscript_expression "piVar10[2]" identifier [ number_literal ]) = identifier) ;) }) (else_clause "else {\n            piVar10[2] = local_40;\n          }" else (compound_statement "{\n            piVar10[2] = local_40;\n          }" { (expression_statement "piVar10[2] = local_40;" (assignment_expression "piVar10[2] = local_40" (subscript_expression "piVar10[2]" identifier [ number_literal ]) = identifier) ;) }))) }) (else_clause "else {\n          piVar10[2] = iVar8;\n          local_40 = iVar8;\n        }" else (compound_statement "{\n          piVar10[2] = iVar8;\n          local_40 = iVar8;\n        }" { (expression_statement "piVar10[2] = iVar8;" (assignment_expression "piVar10[2] = iVar8" (subscript_expression "piVar10[2]" identifier [ number_literal ]) = identifier) ;) (expression_statement "local_40 = iVar8;" (assignment_expression "local_40 = iVar8" identifier = identifier) ;) }))) }) (else_clause "else {\n        piVar10[2] = iVar9;\n        local_40 = iVar9;\n      }" else (compound_statement "{\n        piVar10[2] = iVar9;\n        local_40 = iVar9;\n      }" { (expression_statement "piVar10[2] = iVar9;" (assignment_expression "piVar10[2] = iVar9" (subscript_expression "piVar10[2]" identifier [ number_literal ]) = identifier) ;) (expression_statement "local_40 = iVar9;" (assignment_expression "local_40 = iVar9" identifier = identifier) ;) }))) (goto_statement "goto LAB_00058960;" goto statement_identifier ;) })) }) (else_clause "else {\n    local_40 = (*(code *)PTR_lang_output_section_statement_lookup_001dbc2c)(*piVar10,0,0);\n    piVar10[2] = local_40;\nLAB_00058960:\n    if (local_40 != 0) goto LAB_00058810;\n  }" else (compound_statement "{\n    local_40 = (*(code *)PTR_lang_output_section_statement_lookup_001dbc2c)(*piVar10,0,0);\n    piVar10[2] = local_40;\nLAB_00058960:\n    if (local_40 != 0) goto LAB_00058810;\n  }" { (expression_statement "local_40 = (*(code *)PTR_lang_output_section_statement_lookup_001dbc2c)(*piVar10,0,0);" (assignment_expression "local_40 = (*(code *)PTR_lang_output_section_statement_lookup_001dbc2c)(*piVar10,0,0)" identifier = (call_expression "(*(code *)PTR_lang_output_section_statement_lookup_001dbc2c)(*piVar10,0,0)" (parenthesized_expression "(*(code *)PTR_lang_output_section_statement_lookup_001dbc2c)" ( (pointer_expression "*(code *)PTR_lang_output_section_statement_lookup_001dbc2c" * (cast_expression "(code *)PTR_lang_output_section_statement_lookup_001dbc2c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(*piVar10,0,0)" ( (pointer_expression "*piVar10" * identifier) , number_literal , number_literal )))) ;) (expression_statement "piVar10[2] = local_40;" (assignment_expression "piVar10[2] = local_40" (subscript_expression "piVar10[2]" identifier [ number_literal ]) = identifier) ;) (labeled_statement "LAB_00058960:\n    if (local_40 != 0) goto LAB_00058810;" statement_identifier : (if_statement "if (local_40 != 0) goto LAB_00058810;" if (parenthesized_expression "(local_40 != 0)" ( (binary_expression "local_40 != 0" identifier != number_literal) )) (goto_statement "goto LAB_00058810;" goto statement_identifier ;))) }))) (expression_statement "local_40 = (*(code *)PTR_lang_output_section_find_by_flags_001dbd70)\n                       (param_1,uVar6,piVar10 + 2,PTR__bfd_elf_match_sections_by_type_001dbe14);" (assignment_expression "local_40 = (*(code *)PTR_lang_output_section_find_by_flags_001dbd70)\n                       (param_1,uVar6,piVar10 + 2,PTR__bfd_elf_match_sections_by_type_001dbe14)" identifier = (call_expression "(*(code *)PTR_lang_output_section_find_by_flags_001dbd70)\n                       (param_1,uVar6,piVar10 + 2,PTR__bfd_elf_match_sections_by_type_001dbe14)" (parenthesized_expression "(*(code *)PTR_lang_output_section_find_by_flags_001dbd70)" ( (pointer_expression "*(code *)PTR_lang_output_section_find_by_flags_001dbd70" * (cast_expression "(code *)PTR_lang_output_section_find_by_flags_001dbd70" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(param_1,uVar6,piVar10 + 2,PTR__bfd_elf_match_sections_by_type_001dbe14)" ( identifier , identifier , (binary_expression "piVar10 + 2" identifier + number_literal) , identifier )))) ;) (if_statement "if (local_40 == 0) {\n    local_40 = *(int *)PTR_lang_output_section_statement_001dbbf4;\n  }" if (parenthesized_expression "(local_40 == 0)" ( (binary_expression "local_40 == 0" identifier == number_literal) )) (compound_statement "{\n    local_40 = *(int *)PTR_lang_output_section_statement_001dbbf4;\n  }" { (expression_statement "local_40 = *(int *)PTR_lang_output_section_statement_001dbbf4;" (assignment_expression "local_40 = *(int *)PTR_lang_output_section_statement_001dbbf4" identifier = (pointer_expression "*(int *)PTR_lang_output_section_statement_001dbbf4" * (cast_expression "(int *)PTR_lang_output_section_statement_001dbbf4" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) ;) })) (labeled_statement "LAB_00058810:\n  iVar8 = (*(code *)PTR_lang_insert_orphan_001dbd6c)(param_1,param_2,param_3,local_40,piVar10,0,0);" statement_identifier : (expression_statement "iVar8 = (*(code *)PTR_lang_insert_orphan_001dbd6c)(param_1,param_2,param_3,local_40,piVar10,0,0);" (assignment_expression "iVar8 = (*(code *)PTR_lang_insert_orphan_001dbd6c)(param_1,param_2,param_3,local_40,piVar10,0,0)" identifier = (call_expression "(*(code *)PTR_lang_insert_orphan_001dbd6c)(param_1,param_2,param_3,local_40,piVar10,0,0)" (parenthesized_expression "(*(code *)PTR_lang_insert_orphan_001dbd6c)" ( (pointer_expression "*(code *)PTR_lang_insert_orphan_001dbd6c" * (cast_expression "(code *)PTR_lang_insert_orphan_001dbd6c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(param_1,param_2,param_3,local_40,piVar10,0,0)" ( identifier , identifier , identifier , identifier , identifier , number_literal , number_literal )))) ;)) (return_statement "return iVar8;" return identifier ;) })))
(translation_unit (function_definition TYPE (function_declarator IDENT (parameter_list ( (parameter_declaration TYPE (pointer_declarator * IDENT)) , (parameter_declaration TYPE (pointer_declarator * IDENT)) , (parameter_declaration TYPE IDENT) ))) (compound_statement { (declaration TYPE IDENT ;) (declaration TYPE 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 (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (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 TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) + LIT) )))) + LIT) ))))) ;) (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 TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) + LIT) ))))) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) }))) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) & LIT) )) == LIT) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = BOOL) ;)) }) (else_clause else (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression LIT < (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) << LIT)) )) || (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) , (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) == LIT)) ))) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = BOOL) ;) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT != LIT) )) || (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) , (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) == LIT)) ))) )) (goto_statement goto statement_identifier ;))) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (goto_statement goto statement_identifier ;) })) (goto_statement goto statement_identifier ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = BOOL) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = (binary_expression IDENT == LIT)) ;) (if_statement if (parenthesized_expression ( IDENT )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) << LIT) < LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) && (parenthesized_expression ( (binary_expression IDENT != (binary_expression IDENT + LIT)) ))) )) && (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) & LIT) )) != LIT) ))) )) && (parenthesized_expression ( (parenthesized_expression ( (binary_expression (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT ^ (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) & LIT) )) == LIT) && (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) == (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ))) )) ))) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) }) while (parenthesized_expression ( (binary_expression IDENT != LIT) )) ;) })) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }) (else_clause else (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }) (else_clause else (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }))))))) }))) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT , (binary_expression IDENT + LIT) , LIT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (goto_statement goto statement_identifier ;)) (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) == (char_literal ' character ')) )) (compound_statement { (expression_statement (assignment_expression IDENT = BOOL) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = BOOL) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }))) }))) }))) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT == LIT) )) && (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT , LIT , LIT )))) , (binary_expression IDENT != LIT)) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (do_statement do (compound_statement { (while_statement while (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) , (binary_expression IDENT == LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT , LIT )))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (goto_statement goto statement_identifier ;)) })) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) == LIT) )) (goto_statement goto statement_identifier ;)) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ^ (subscript_expression IDENT [ LIT ])) )) & LIT) )) == LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT != LIT) )) || (parenthesized_expression ( (binary_expression IDENT != LIT) ))) )) (goto_statement goto statement_identifier ;)) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) == (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) + LIT) ))))) )) && (parenthesized_expression ( (parenthesized_expression ( (binary_expression (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) & LIT) )) != LIT) || (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) ^ (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) + LIT) ))))) )) & LIT) )) == LIT) ))) )) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) , IDENT , (subscript_expression IDENT [ LIT ]) , IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (goto_statement goto statement_identifier ;)) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) })) })) })) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT , LIT )))) ;) }) while (parenthesized_expression ( (binary_expression IDENT != LIT) )) ;) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( (binary_expression IDENT + LIT) , IDENT , LIT , IDENT ))) ;) (return_statement return IDENT ;) }))) (expression_statement (assignment_expression IDENT = LIT) ;) }))) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ;) (do_statement do (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( (pointer_expression * IDENT) , LIT , LIT )))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT != LIT) )) && (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) == LIT) ))) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (subscript_expression IDENT [ LIT ])) ;) })) })) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }) while (parenthesized_expression ( (binary_expression IDENT != IDENT) )) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) })) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT))) < LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) & LIT) )) != LIT) )) (goto_statement goto statement_identifier ;)) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( (pointer_expression * IDENT) , (binary_expression IDENT + LIT) , LIT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT == LIT) )) && (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) , (binary_expression IDENT != LIT)) ))) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( (binary_expression IDENT + LIT) , IDENT , LIT , IDENT ))) ;)) (return_statement return IDENT ;) })) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;)) (expression_statement (assignment_expression IDENT = IDENT) ;) (while_statement while (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT , IDENT ))))) , (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) == LIT) )) && (parenthesized_expression ( (binary_expression (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) ^ IDENT) )) & LIT) )) == LIT) && (binary_expression (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) & LIT) )) == LIT)) ))) )) && (parenthesized_expression ( (binary_expression LIT < (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) << LIT)) ))) )) && (parenthesized_expression ( (parenthesized_expression ( (binary_expression (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) != LIT) && (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) & LIT) )) == LIT) ))) )) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT , IDENT , (subscript_expression IDENT [ LIT ]) , IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( (binary_expression (binary_expression (subscript_expression IDENT [ LIT ]) ^ LIT) | (binary_expression IDENT ^ LIT)) )) ^ LIT)) ;) }))) })) })) }))) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (goto_statement goto statement_identifier ;) })) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) != LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (goto_statement goto statement_identifier ;)) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT , (binary_expression IDENT + LIT) , LIT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ;)) (goto_statement goto statement_identifier ;) })) }))) })) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ;) }) (else_clause else (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression IDENT << LIT) ))) < LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ;) }) (else_clause else (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) == LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ;) }) (else_clause else (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT == LIT) )) || (parenthesized_expression ( (binary_expression IDENT == LIT) ))) )) (goto_statement goto statement_identifier ;)) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT , (binary_expression IDENT + LIT) , LIT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ;) (goto_statement goto statement_identifier ;) }))) })) }))) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ;) }))) }))) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ;) }))))))) }))) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;)) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (goto_statement goto statement_identifier ;)) (if_statement if (parenthesized_expression ( (binary_expression (pointer_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 * IDENT) + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT))) ;) (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) < LIT) )) (compound_statement { (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) != 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 TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) != LIT) )) && (parenthesized_expression ( (comma_expression (assignment_expression IDENT = IDENT) , (comma_expression (assignment_expression IDENT = IDENT) , (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) != LIT))) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) }))) }))) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT , IDENT , LIT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) == (char_literal ' character ')) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( IDENT )) || (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT , (binary_expression (binary_expression IDENT + IDENT) + LIT) )))) , (binary_expression IDENT == LIT)) ))) )) (break_statement break ;)) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT == (char_literal ' character ')) )) != IDENT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) })) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (goto_statement goto statement_identifier ;)) })) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) != LIT) )) (compound_statement { (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 TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (goto_statement goto statement_identifier ;) })) }))) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) }) while (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) != LIT) )) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) })) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) }))) }) (else_clause else (compound_statement { (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) }))) }) (else_clause else (compound_statement { (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) }))) (goto_statement goto statement_identifier ;) })) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( (pointer_expression * IDENT) , LIT , LIT )))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (goto_statement goto statement_identifier ;))) }))) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT , IDENT , (binary_expression IDENT + LIT) , IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT))) ;) })) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT , IDENT , IDENT , IDENT , IDENT , LIT , LIT )))) ;)) (return_statement return IDENT ;) })))
(function_definition "int FUN_00058384(int *param_1,undefined *param_2,int param_3)\n\n{\n  bool bVar1;\n  char cVar2;\n  int iVar3;\n  undefined *puVar4;\n  undefined *puVar5;\n  uint uVar6;\n  uint uVar7;\n  int iVar8;\n  int iVar9;\n  int *piVar10;\n  int iVar11;\n  int *piVar12;\n  int iVar13;\n  int local_44;\n  int local_40;\n  int local_34;\n  \n  puVar4 = PTR_link_info_001db928;\n  iVar8 = *(int *)(*(int *)(param_1[0x2d] + 4) + 4);\n  iVar9 = *(int *)(*(int *)(*(int *)(PTR_link_info_001db928 + 0x34) + 4) + 4);\n  if (iVar8 == 5) {\n    local_44 = *(int *)(param_1[0x2b] + 4);\n  }\n  else {\n    local_44 = 0;\n  }\n  if ((*(uint *)PTR_link_info_001db928 & 0xc0000000) == 0x80000000) {\nLAB_00058478:\n    bVar1 = false;\n  }\n  else {\n    if ((-1 < *(int *)(PTR_link_info_001db928 + 4) << 6) || (uVar6 = param_1[5], (uVar6 & 1) == 0))\n    {\n      if (iVar8 == 5) {\n        bVar1 = false;\nLAB_0005886c:\n        if ((iVar9 != 5) || (uVar6 = param_1[5], (uVar6 & 1) == 0)) goto LAB_0005847c;\n        iVar3 = param_1[0x2b];\n        goto LAB_0005888c;\n      }\n      goto LAB_00058478;\n    }\n    if (iVar8 == 5) {\n      if (local_44 == 4) {\n        bVar1 = true;\n        param_2 = PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb14;\n        goto LAB_0005886c;\n      }\n      bVar1 = local_44 == 9;\n      if (bVar1) {\n        param_2 = PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb44;\n      }\n      if (iVar9 != 5) goto LAB_0005847c;\n      iVar3 = param_1[0x2b];\nLAB_0005888c:\n      if (*(int *)(iVar3 + 0xc) << 7 < 0) {\n        iVar13 = *(int *)PTR_lang_output_section_statement_001dbbf4;\n        if (iVar13 != 0) {\n          do {\n            puVar5 = *(undefined **)(iVar13 + 0x1c);\n            if ((((puVar5 != (undefined *)0x0) && (puVar5 != PTR__bfd_std_section_001dbf30 + 400))\n                && ((*(uint *)(*(int *)(puVar5 + 0xac) + 0xc) & 0x1000000) != 0)) &&\n               ((((uVar6 ^ *(uint *)(puVar5 + 0x14)) & 0x11b) == 0 &&\n                (*(int *)(*(int *)(puVar5 + 0xac) + 0x2c) == *(int *)(iVar3 + 0x2c)))))\n            goto LAB_000586a0;\n            iVar13 = *(int *)(iVar13 + 0x10);\n          } while (iVar13 != 0);\n        }\n        if ((uVar6 & 0x102) == 0) {\n          param_2 = PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb38;\n        }\n        else if ((uVar6 & 8) == 0) {\n          param_2 = PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb20;\n        }\n        else if ((uVar6 & 0x10) == 0) {\n          param_2 = PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb50;\n        }\n        else {\n          param_2 = PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb2c;\n        }\n      }\n    }\n    else {\n      iVar3 = (*(code *)PTR_strncmp_001dbe60)\n                        (param_2,PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb60,4);\n      if (iVar3 != 0) goto LAB_00058478;\n      if (param_2[4] == 'a') {\n        bVar1 = true;\n        param_2 = PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb14;\n      }\n      else {\n        bVar1 = true;\n        param_2 = PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb44;\n      }\n    }\n  }\nLAB_0005847c:\n  if ((param_3 == 0) &&\n     (iVar13 = (*(code *)PTR_lang_output_section_statement_lookup_001dbc2c)(param_2,0,0),\n     iVar13 != 0)) {\n    iVar3 = 0;\n    do {\n      while (iVar11 = *(int *)(iVar13 + 0x1c), iVar11 == 0) {\n        iVar11 = (*(code *)PTR_next_matching_output_section_statement_001dbd68)(iVar13,0);\n        iVar3 = iVar13;\n        iVar13 = iVar11;\n        if (iVar11 == 0) goto LAB_000587ec;\n      }\n      if (*(uint *)(iVar11 + 0x14) == 0) goto LAB_000586a0;\n      if (((*(uint *)(iVar11 + 0x14) ^ param_1[5]) & 3) == 0) {\n        if ((iVar8 != 5) || (iVar9 != 5)) goto LAB_000586a0;\n        if ((*(int *)(*(int *)(iVar11 + 0xac) + 0x2c) == *(int *)(param_1[0x2b] + 0x2c)) &&\n           (((*(uint *)puVar4 & 0xc0000000) != 0x80000000 ||\n            (((*(uint *)(*(int *)(iVar11 + 0xac) + 0xc) ^ *(uint *)(param_1[0x2b] + 0xc)) &\n             0x80000000) == 0)))) {\n          iVar11 = (*(code *)PTR__bfd_elf_match_sections_by_type_001dbe14)\n                             (*(undefined4 *)(puVar4 + 0x34),iVar11,param_1[0x2d],param_1);\n          if (iVar11 != 0) goto LAB_000586a0;\n          if (*(int *)(iVar13 + 0x1c) == 0) {\n            iVar3 = iVar13;\n          }\n        }\n      }\n      iVar13 = (*(code *)PTR_next_matching_output_section_statement_001dbd68)(iVar13,0);\n    } while (iVar13 != 0);\nLAB_000587ec:\n    if (iVar3 != 0) {\n      (*(code *)PTR_lang_add_section_001dbc3c)(iVar3 + 8,param_1,0,iVar3);\n      return iVar3;\n    }\n    param_3 = 0x17e;\n  }\n  puVar5 = PTR_DAT_001db8f8;\n  if (*(int *)(PTR_DAT_001db8f8 + -0x3618) == 0) {\n    piVar10 = (int *)(PTR_DAT_001db8f8 + -0x49e0);\n    piVar12 = (int *)(PTR_DAT_001db8f8 + -0x4908);\n    do {\n      if (*piVar10 != 0) {\n        iVar9 = (*(code *)PTR_lang_output_section_statement_lookup_001dbc2c)(*piVar10,0,0);\n        piVar10[2] = iVar9;\n        if ((iVar9 != 0) && (*(int *)(iVar9 + 0x4c) == 0)) {\n          *(int *)(iVar9 + 0x4c) = piVar10[1];\n        }\n      }\n      piVar10 = piVar10 + 6;\n    } while (piVar10 != piVar12);\n    *(undefined4 *)(puVar5 + -0x3618) = 1;\n  }\n  if ((int)*(uint *)puVar4 < 0) {\n    uVar6 = param_1[5];\n    if ((*(uint *)puVar4 & 0xc0000000) != 0x80000000) goto LAB_000585fc;\n  }\n  else {\n    iVar9 = (*(code *)PTR_strncmp_001dbe60)\n                      (*param_1,PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb78,0xd);\n    if ((iVar9 == 0) && (iVar13 = *(int *)(PTR_DAT_001db8f8 + -0x49d8), iVar13 != 0)) {\nLAB_000586a0:\n      (*(code *)PTR_lang_add_section_001dbc3c)(iVar13 + 8,param_1,0,iVar13);\n      return iVar13;\n    }\n    uVar6 = param_1[5];\nLAB_000585fc:\n    iVar9 = param_1[0x2d];\n    piVar10 = param_1;\n    while (piVar10 = (int *)(*(code *)PTR_bfd_get_next_section_by_name_001dbf68)(iVar9,piVar10),\n          piVar10 != (int *)0x0) {\n      iVar9 = piVar10[0x2d];\n      if ((((piVar10[0x16] == 0) && (((piVar10[5] ^ uVar6) & 3) == 0 && (piVar10[5] & 0x8000U) == 0)\n           ) && (-1 < *(int *)(iVar9 + 0x28) << 0x12)) &&\n         ((*(int *)(iVar9 + 0xac) != 0 &&\n          ((*(ushort *)(*(int *)(iVar9 + 0xac) + 0x24) & 0x800) == 0)))) {\n        iVar9 = (*(code *)PTR__bfd_elf_match_sections_by_type_001dbe14)\n                          (iVar9,piVar10,param_1[0x2d],param_1);\n        if (iVar9 == 0) {\n          iVar9 = piVar10[0x2d];\n        }\n        else {\n          iVar9 = piVar10[0x2d];\n          uVar6 = (piVar10[5] ^ 8U | uVar6 ^ 8) ^ 8;\n        }\n      }\n    }\n  }\n  if ((uVar6 & 0x2001) == 0) {\n    piVar10 = (int *)(PTR_DAT_001db8f8 + -0x4920);\n  }\n  else {\n    piVar10 = (int *)0x0;\n    if ((uVar6 & 1) == 0) {\n      local_40 = 0;\n      goto LAB_00058810;\n    }\n    if ((uVar6 & 2) != 0) {\n      if (iVar8 == 5) {\n        if (local_44 == 7) goto LAB_000589f8;\n      }\n      else {\n        iVar9 = (*(code *)PTR_strncmp_001dbe60)\n                          (param_2,PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb68,5);\n        if (iVar9 == 0) {\nLAB_000589f8:\n          piVar10 = (int *)(PTR_DAT_001db8f8 + -0x4950);\n          goto LAB_00058800;\n        }\n      }\n    }\n    if ((uVar6 & 0x502) == 0) {\n      piVar10 = (int *)(PTR_DAT_001db8f8 + -0x4980);\n    }\n    else if ((int)(uVar6 << 9) < 0) {\n      piVar10 = (int *)(PTR_DAT_001db8f8 + -0x4938);\n    }\n    else if ((uVar6 & 0x400) == 0) {\n      if ((uVar6 & 8) == 0) {\n        piVar10 = (int *)(PTR_DAT_001db8f8 + -0x4998);\n      }\n      else {\n        if (iVar8 == 5) {\n          if ((local_44 == 4) || (local_44 == 9)) goto LAB_000585b8;\n        }\n        else {\n          iVar8 = (*(code *)PTR_strncmp_001dbe60)\n                            (param_2,PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb60,4);\n          if (iVar8 == 0) {\nLAB_000585b8:\n            if ((uVar6 & 2) != 0) {\n              piVar10 = (int *)(PTR_DAT_001db8f8 + -0x4968);\n              goto LAB_00058800;\n            }\n          }\n        }\n        if ((uVar6 & 0x10) == 0) {\n          piVar10 = (int *)(PTR_DAT_001db8f8 + -0x49c8);\n        }\n        else {\n          piVar10 = (int *)(PTR_DAT_001db8f8 + -0x49e0);\n        }\n      }\n    }\n    else {\n      piVar10 = (int *)(PTR_DAT_001db8f8 + -0x49b0);\n    }\n  }\nLAB_00058800:\n  local_40 = piVar10[2];\n  if (local_40 != 0) goto LAB_00058810;\n  if (*piVar10 == 0) {\n    cVar2 = *(char *)(*param_1 + 4);\n    if (*(int *)PTR_lang_output_section_statement_001dbbf4 != 0) {\n      local_44 = 0;\n      local_40 = 0;\n      puVar4 = PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb60;\n      local_34 = 0;\n      puVar5 = PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb70;\n      iVar8 = 0;\n      iVar9 = 0;\n      iVar3 = *(int *)PTR_lang_output_section_statement_001dbbf4;\n      do {\n        iVar13 = iVar3;\n        if (*(int *)(iVar13 + 0x48) < 0) {\nLAB_00058a98:\n          if (*(int *)(iVar13 + 0x1c) != 0) {\n            uVar7 = *(uint *)(*(int *)(iVar13 + 0x1c) + 0x14);\n            iVar3 = iVar9;\njoined_r0x00058aac:\n            if (((uVar7 & 1) != 0) && (iVar9 = iVar3, local_34 = iVar13, (uVar7 & 8) != 0)) {\n              local_40 = iVar13;\n            }\n          }\n        }\n        else {\n          iVar11 = *(int *)(iVar13 + 0x18);\n          iVar3 = (*(code *)PTR_strncmp_001dbe60)(iVar11,puVar4,4);\n          if (iVar3 != 0) goto LAB_00058a98;\n          uVar7 = (uint)(*(char *)(iVar11 + 4) == 'a');\n          if ((bVar1) ||\n             (iVar3 = (*(code *)PTR_strcmp_001dc144)(puVar5,iVar11 + uVar7 + 4), iVar3 == 0)) break;\n          iVar3 = iVar13;\n          if ((cVar2 == 'a') != uVar7) {\n            if (iVar8 == 0) {\n              iVar8 = iVar13;\n            }\n            iVar3 = iVar8;\n            if (iVar9 != 0) goto LAB_00058a98;\n          }\n          iVar8 = iVar3;\n          if (*(int *)(iVar13 + 0x1c) != 0) {\n            uVar7 = *(uint *)(*(int *)(iVar13 + 0x1c) + 0x14);\n            iVar3 = iVar13;\n            goto joined_r0x00058aac;\n          }\n        }\n        local_44 = iVar13;\n        iVar3 = *(int *)(iVar13 + 0x10);\n      } while (*(int *)(iVar13 + 0x10) != 0);\n      if (iVar9 == 0) {\n        if (iVar8 == 0) {\n          if (local_40 == 0) {\n            local_40 = local_34;\n            if (local_34 == 0) {\n              local_40 = local_44;\n            }\n            piVar10[2] = local_40;\n          }\n          else {\n            piVar10[2] = local_40;\n          }\n        }\n        else {\n          piVar10[2] = iVar8;\n          local_40 = iVar8;\n        }\n      }\n      else {\n        piVar10[2] = iVar9;\n        local_40 = iVar9;\n      }\n      goto LAB_00058960;\n    }\n  }\n  else {\n    local_40 = (*(code *)PTR_lang_output_section_statement_lookup_001dbc2c)(*piVar10,0,0);\n    piVar10[2] = local_40;\nLAB_00058960:\n    if (local_40 != 0) goto LAB_00058810;\n  }\n  local_40 = (*(code *)PTR_lang_output_section_find_by_flags_001dbd70)\n                       (param_1,uVar6,piVar10 + 2,PTR__bfd_elf_match_sections_by_type_001dbe14);\n  if (local_40 == 0) {\n    local_40 = *(int *)PTR_lang_output_section_statement_001dbbf4;\n  }\nLAB_00058810:\n  iVar8 = (*(code *)PTR_lang_insert_orphan_001dbd6c)(param_1,param_2,param_3,local_40,piVar10,0,0);\n  return iVar8;\n}" (primitive_type "int") (function_declarator "FUN_00058384(int *param_1,undefined *param_2,int param_3)" (identifier "FUN_00058384") (parameter_list "(int *param_1,undefined *param_2,int param_3)" (( "(") (parameter_declaration "int *param_1" (primitive_type "int") (pointer_declarator "*param_1" (* "*") (identifier "param_1"))) (, ",") (parameter_declaration "undefined *param_2" (type_identifier "undefined") (pointer_declarator "*param_2" (* "*") (identifier "param_2"))) (, ",") (parameter_declaration "int param_3" (primitive_type "int") (identifier "param_3")) () ")"))) (compound_statement "{\n  bool bVar1;\n  char cVar2;\n  int iVar3;\n  undefined *puVar4;\n  undefined *puVar5;\n  uint uVar6;\n  uint uVar7;\n  int iVar8;\n  int iVar9;\n  int *piVar10;\n  int iVar11;\n  int *piVar12;\n  int iVar13;\n  int local_44;\n  int local_40;\n  int local_34;\n  \n  puVar4 = PTR_link_info_001db928;\n  iVar8 = *(int *)(*(int *)(param_1[0x2d] + 4) + 4);\n  iVar9 = *(int *)(*(int *)(*(int *)(PTR_link_info_001db928 + 0x34) + 4) + 4);\n  if (iVar8 == 5) {\n    local_44 = *(int *)(param_1[0x2b] + 4);\n  }\n  else {\n    local_44 = 0;\n  }\n  if ((*(uint *)PTR_link_info_001db928 & 0xc0000000) == 0x80000000) {\nLAB_00058478:\n    bVar1 = false;\n  }\n  else {\n    if ((-1 < *(int *)(PTR_link_info_001db928 + 4) << 6) || (uVar6 = param_1[5], (uVar6 & 1) == 0))\n    {\n      if (iVar8 == 5) {\n        bVar1 = false;\nLAB_0005886c:\n        if ((iVar9 != 5) || (uVar6 = param_1[5], (uVar6 & 1) == 0)) goto LAB_0005847c;\n        iVar3 = param_1[0x2b];\n        goto LAB_0005888c;\n      }\n      goto LAB_00058478;\n    }\n    if (iVar8 == 5) {\n      if (local_44 == 4) {\n        bVar1 = true;\n        param_2 = PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb14;\n        goto LAB_0005886c;\n      }\n      bVar1 = local_44 == 9;\n      if (bVar1) {\n        param_2 = PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb44;\n      }\n      if (iVar9 != 5) goto LAB_0005847c;\n      iVar3 = param_1[0x2b];\nLAB_0005888c:\n      if (*(int *)(iVar3 + 0xc) << 7 < 0) {\n        iVar13 = *(int *)PTR_lang_output_section_statement_001dbbf4;\n        if (iVar13 != 0) {\n          do {\n            puVar5 = *(undefined **)(iVar13 + 0x1c);\n            if ((((puVar5 != (undefined *)0x0) && (puVar5 != PTR__bfd_std_section_001dbf30 + 400))\n                && ((*(uint *)(*(int *)(puVar5 + 0xac) + 0xc) & 0x1000000) != 0)) &&\n               ((((uVar6 ^ *(uint *)(puVar5 + 0x14)) & 0x11b) == 0 &&\n                (*(int *)(*(int *)(puVar5 + 0xac) + 0x2c) == *(int *)(iVar3 + 0x2c)))))\n            goto LAB_000586a0;\n            iVar13 = *(int *)(iVar13 + 0x10);\n          } while (iVar13 != 0);\n        }\n        if ((uVar6 & 0x102) == 0) {\n          param_2 = PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb38;\n        }\n        else if ((uVar6 & 8) == 0) {\n          param_2 = PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb20;\n        }\n        else if ((uVar6 & 0x10) == 0) {\n          param_2 = PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb50;\n        }\n        else {\n          param_2 = PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb2c;\n        }\n      }\n    }\n    else {\n      iVar3 = (*(code *)PTR_strncmp_001dbe60)\n                        (param_2,PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb60,4);\n      if (iVar3 != 0) goto LAB_00058478;\n      if (param_2[4] == 'a') {\n        bVar1 = true;\n        param_2 = PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb14;\n      }\n      else {\n        bVar1 = true;\n        param_2 = PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb44;\n      }\n    }\n  }\nLAB_0005847c:\n  if ((param_3 == 0) &&\n     (iVar13 = (*(code *)PTR_lang_output_section_statement_lookup_001dbc2c)(param_2,0,0),\n     iVar13 != 0)) {\n    iVar3 = 0;\n    do {\n      while (iVar11 = *(int *)(iVar13 + 0x1c), iVar11 == 0) {\n        iVar11 = (*(code *)PTR_next_matching_output_section_statement_001dbd68)(iVar13,0);\n        iVar3 = iVar13;\n        iVar13 = iVar11;\n        if (iVar11 == 0) goto LAB_000587ec;\n      }\n      if (*(uint *)(iVar11 + 0x14) == 0) goto LAB_000586a0;\n      if (((*(uint *)(iVar11 + 0x14) ^ param_1[5]) & 3) == 0) {\n        if ((iVar8 != 5) || (iVar9 != 5)) goto LAB_000586a0;\n        if ((*(int *)(*(int *)(iVar11 + 0xac) + 0x2c) == *(int *)(param_1[0x2b] + 0x2c)) &&\n           (((*(uint *)puVar4 & 0xc0000000) != 0x80000000 ||\n            (((*(uint *)(*(int *)(iVar11 + 0xac) + 0xc) ^ *(uint *)(param_1[0x2b] + 0xc)) &\n             0x80000000) == 0)))) {\n          iVar11 = (*(code *)PTR__bfd_elf_match_sections_by_type_001dbe14)\n                             (*(undefined4 *)(puVar4 + 0x34),iVar11,param_1[0x2d],param_1);\n          if (iVar11 != 0) goto LAB_000586a0;\n          if (*(int *)(iVar13 + 0x1c) == 0) {\n            iVar3 = iVar13;\n          }\n        }\n      }\n      iVar13 = (*(code *)PTR_next_matching_output_section_statement_001dbd68)(iVar13,0);\n    } while (iVar13 != 0);\nLAB_000587ec:\n    if (iVar3 != 0) {\n      (*(code *)PTR_lang_add_section_001dbc3c)(iVar3 + 8,param_1,0,iVar3);\n      return iVar3;\n    }\n    param_3 = 0x17e;\n  }\n  puVar5 = PTR_DAT_001db8f8;\n  if (*(int *)(PTR_DAT_001db8f8 + -0x3618) == 0) {\n    piVar10 = (int *)(PTR_DAT_001db8f8 + -0x49e0);\n    piVar12 = (int *)(PTR_DAT_001db8f8 + -0x4908);\n    do {\n      if (*piVar10 != 0) {\n        iVar9 = (*(code *)PTR_lang_output_section_statement_lookup_001dbc2c)(*piVar10,0,0);\n        piVar10[2] = iVar9;\n        if ((iVar9 != 0) && (*(int *)(iVar9 + 0x4c) == 0)) {\n          *(int *)(iVar9 + 0x4c) = piVar10[1];\n        }\n      }\n      piVar10 = piVar10 + 6;\n    } while (piVar10 != piVar12);\n    *(undefined4 *)(puVar5 + -0x3618) = 1;\n  }\n  if ((int)*(uint *)puVar4 < 0) {\n    uVar6 = param_1[5];\n    if ((*(uint *)puVar4 & 0xc0000000) != 0x80000000) goto LAB_000585fc;\n  }\n  else {\n    iVar9 = (*(code *)PTR_strncmp_001dbe60)\n                      (*param_1,PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb78,0xd);\n    if ((iVar9 == 0) && (iVar13 = *(int *)(PTR_DAT_001db8f8 + -0x49d8), iVar13 != 0)) {\nLAB_000586a0:\n      (*(code *)PTR_lang_add_section_001dbc3c)(iVar13 + 8,param_1,0,iVar13);\n      return iVar13;\n    }\n    uVar6 = param_1[5];\nLAB_000585fc:\n    iVar9 = param_1[0x2d];\n    piVar10 = param_1;\n    while (piVar10 = (int *)(*(code *)PTR_bfd_get_next_section_by_name_001dbf68)(iVar9,piVar10),\n          piVar10 != (int *)0x0) {\n      iVar9 = piVar10[0x2d];\n      if ((((piVar10[0x16] == 0) && (((piVar10[5] ^ uVar6) & 3) == 0 && (piVar10[5] & 0x8000U) == 0)\n           ) && (-1 < *(int *)(iVar9 + 0x28) << 0x12)) &&\n         ((*(int *)(iVar9 + 0xac) != 0 &&\n          ((*(ushort *)(*(int *)(iVar9 + 0xac) + 0x24) & 0x800) == 0)))) {\n        iVar9 = (*(code *)PTR__bfd_elf_match_sections_by_type_001dbe14)\n                          (iVar9,piVar10,param_1[0x2d],param_1);\n        if (iVar9 == 0) {\n          iVar9 = piVar10[0x2d];\n        }\n        else {\n          iVar9 = piVar10[0x2d];\n          uVar6 = (piVar10[5] ^ 8U | uVar6 ^ 8) ^ 8;\n        }\n      }\n    }\n  }\n  if ((uVar6 & 0x2001) == 0) {\n    piVar10 = (int *)(PTR_DAT_001db8f8 + -0x4920);\n  }\n  else {\n    piVar10 = (int *)0x0;\n    if ((uVar6 & 1) == 0) {\n      local_40 = 0;\n      goto LAB_00058810;\n    }\n    if ((uVar6 & 2) != 0) {\n      if (iVar8 == 5) {\n        if (local_44 == 7) goto LAB_000589f8;\n      }\n      else {\n        iVar9 = (*(code *)PTR_strncmp_001dbe60)\n                          (param_2,PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb68,5);\n        if (iVar9 == 0) {\nLAB_000589f8:\n          piVar10 = (int *)(PTR_DAT_001db8f8 + -0x4950);\n          goto LAB_00058800;\n        }\n      }\n    }\n    if ((uVar6 & 0x502) == 0) {\n      piVar10 = (int *)(PTR_DAT_001db8f8 + -0x4980);\n    }\n    else if ((int)(uVar6 << 9) < 0) {\n      piVar10 = (int *)(PTR_DAT_001db8f8 + -0x4938);\n    }\n    else if ((uVar6 & 0x400) == 0) {\n      if ((uVar6 & 8) == 0) {\n        piVar10 = (int *)(PTR_DAT_001db8f8 + -0x4998);\n      }\n      else {\n        if (iVar8 == 5) {\n          if ((local_44 == 4) || (local_44 == 9)) goto LAB_000585b8;\n        }\n        else {\n          iVar8 = (*(code *)PTR_strncmp_001dbe60)\n                            (param_2,PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb60,4);\n          if (iVar8 == 0) {\nLAB_000585b8:\n            if ((uVar6 & 2) != 0) {\n              piVar10 = (int *)(PTR_DAT_001db8f8 + -0x4968);\n              goto LAB_00058800;\n            }\n          }\n        }\n        if ((uVar6 & 0x10) == 0) {\n          piVar10 = (int *)(PTR_DAT_001db8f8 + -0x49c8);\n        }\n        else {\n          piVar10 = (int *)(PTR_DAT_001db8f8 + -0x49e0);\n        }\n      }\n    }\n    else {\n      piVar10 = (int *)(PTR_DAT_001db8f8 + -0x49b0);\n    }\n  }\nLAB_00058800:\n  local_40 = piVar10[2];\n  if (local_40 != 0) goto LAB_00058810;\n  if (*piVar10 == 0) {\n    cVar2 = *(char *)(*param_1 + 4);\n    if (*(int *)PTR_lang_output_section_statement_001dbbf4 != 0) {\n      local_44 = 0;\n      local_40 = 0;\n      puVar4 = PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb60;\n      local_34 = 0;\n      puVar5 = PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb70;\n      iVar8 = 0;\n      iVar9 = 0;\n      iVar3 = *(int *)PTR_lang_output_section_statement_001dbbf4;\n      do {\n        iVar13 = iVar3;\n        if (*(int *)(iVar13 + 0x48) < 0) {\nLAB_00058a98:\n          if (*(int *)(iVar13 + 0x1c) != 0) {\n            uVar7 = *(uint *)(*(int *)(iVar13 + 0x1c) + 0x14);\n            iVar3 = iVar9;\njoined_r0x00058aac:\n            if (((uVar7 & 1) != 0) && (iVar9 = iVar3, local_34 = iVar13, (uVar7 & 8) != 0)) {\n              local_40 = iVar13;\n            }\n          }\n        }\n        else {\n          iVar11 = *(int *)(iVar13 + 0x18);\n          iVar3 = (*(code *)PTR_strncmp_001dbe60)(iVar11,puVar4,4);\n          if (iVar3 != 0) goto LAB_00058a98;\n          uVar7 = (uint)(*(char *)(iVar11 + 4) == 'a');\n          if ((bVar1) ||\n             (iVar3 = (*(code *)PTR_strcmp_001dc144)(puVar5,iVar11 + uVar7 + 4), iVar3 == 0)) break;\n          iVar3 = iVar13;\n          if ((cVar2 == 'a') != uVar7) {\n            if (iVar8 == 0) {\n              iVar8 = iVar13;\n            }\n            iVar3 = iVar8;\n            if (iVar9 != 0) goto LAB_00058a98;\n          }\n          iVar8 = iVar3;\n          if (*(int *)(iVar13 + 0x1c) != 0) {\n            uVar7 = *(uint *)(*(int *)(iVar13 + 0x1c) + 0x14);\n            iVar3 = iVar13;\n            goto joined_r0x00058aac;\n          }\n        }\n        local_44 = iVar13;\n        iVar3 = *(int *)(iVar13 + 0x10);\n      } while (*(int *)(iVar13 + 0x10) != 0);\n      if (iVar9 == 0) {\n        if (iVar8 == 0) {\n          if (local_40 == 0) {\n            local_40 = local_34;\n            if (local_34 == 0) {\n              local_40 = local_44;\n            }\n            piVar10[2] = local_40;\n          }\n          else {\n            piVar10[2] = local_40;\n          }\n        }\n        else {\n          piVar10[2] = iVar8;\n          local_40 = iVar8;\n        }\n      }\n      else {\n        piVar10[2] = iVar9;\n        local_40 = iVar9;\n      }\n      goto LAB_00058960;\n    }\n  }\n  else {\n    local_40 = (*(code *)PTR_lang_output_section_statement_lookup_001dbc2c)(*piVar10,0,0);\n    piVar10[2] = local_40;\nLAB_00058960:\n    if (local_40 != 0) goto LAB_00058810;\n  }\n  local_40 = (*(code *)PTR_lang_output_section_find_by_flags_001dbd70)\n                       (param_1,uVar6,piVar10 + 2,PTR__bfd_elf_match_sections_by_type_001dbe14);\n  if (local_40 == 0) {\n    local_40 = *(int *)PTR_lang_output_section_statement_001dbbf4;\n  }\nLAB_00058810:\n  iVar8 = (*(code *)PTR_lang_insert_orphan_001dbd6c)(param_1,param_2,param_3,local_40,piVar10,0,0);\n  return iVar8;\n}" ({ "{") (declaration "bool bVar1;" (primitive_type "bool") (identifier "bVar1") (; ";")) (declaration "char cVar2;" (primitive_type "char") (identifier "cVar2") (; ";")) (declaration "int iVar3;" (primitive_type "int") (identifier "iVar3") (; ";")) (declaration "undefined *puVar4;" (type_identifier "undefined") (pointer_declarator "*puVar4" (* "*") (identifier "puVar4")) (; ";")) (declaration "undefined *puVar5;" (type_identifier "undefined") (pointer_declarator "*puVar5" (* "*") (identifier "puVar5")) (; ";")) (declaration "uint uVar6;" (type_identifier "uint") (identifier "uVar6") (; ";")) (declaration "uint uVar7;" (type_identifier "uint") (identifier "uVar7") (; ";")) (declaration "int iVar8;" (primitive_type "int") (identifier "iVar8") (; ";")) (declaration "int iVar9;" (primitive_type "int") (identifier "iVar9") (; ";")) (declaration "int *piVar10;" (primitive_type "int") (pointer_declarator "*piVar10" (* "*") (identifier "piVar10")) (; ";")) (declaration "int iVar11;" (primitive_type "int") (identifier "iVar11") (; ";")) (declaration "int *piVar12;" (primitive_type "int") (pointer_declarator "*piVar12" (* "*") (identifier "piVar12")) (; ";")) (declaration "int iVar13;" (primitive_type "int") (identifier "iVar13") (; ";")) (declaration "int local_44;" (primitive_type "int") (identifier "local_44") (; ";")) (declaration "int local_40;" (primitive_type "int") (identifier "local_40") (; ";")) (declaration "int local_34;" (primitive_type "int") (identifier "local_34") (; ";")) (expression_statement "puVar4 = PTR_link_info_001db928;" (assignment_expression "puVar4 = PTR_link_info_001db928" (identifier "puVar4") (= "=") (identifier "PTR_link_info_001db928")) (; ";")) (expression_statement "iVar8 = *(int *)(*(int *)(param_1[0x2d] + 4) + 4);" (assignment_expression "iVar8 = *(int *)(*(int *)(param_1[0x2d] + 4) + 4)" (identifier "iVar8") (= "=") (pointer_expression "*(int *)(*(int *)(param_1[0x2d] + 4) + 4)" (* "*") (cast_expression "(int *)(*(int *)(param_1[0x2d] + 4) + 4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(param_1[0x2d] + 4) + 4)" (( "(") (binary_expression "*(int *)(param_1[0x2d] + 4) + 4" (pointer_expression "*(int *)(param_1[0x2d] + 4)" (* "*") (cast_expression "(int *)(param_1[0x2d] + 4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1[0x2d] + 4)" (( "(") (binary_expression "param_1[0x2d] + 4" (subscript_expression "param_1[0x2d]" (identifier "param_1") ([ "[") (number_literal "0x2d") (] "]")) (+ "+") (number_literal "4")) () ")")))) (+ "+") (number_literal "4")) () ")"))))) (; ";")) (expression_statement "iVar9 = *(int *)(*(int *)(*(int *)(PTR_link_info_001db928 + 0x34) + 4) + 4);" (assignment_expression "iVar9 = *(int *)(*(int *)(*(int *)(PTR_link_info_001db928 + 0x34) + 4) + 4)" (identifier "iVar9") (= "=") (pointer_expression "*(int *)(*(int *)(*(int *)(PTR_link_info_001db928 + 0x34) + 4) + 4)" (* "*") (cast_expression "(int *)(*(int *)(*(int *)(PTR_link_info_001db928 + 0x34) + 4) + 4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(*(int *)(PTR_link_info_001db928 + 0x34) + 4) + 4)" (( "(") (binary_expression "*(int *)(*(int *)(PTR_link_info_001db928 + 0x34) + 4) + 4" (pointer_expression "*(int *)(*(int *)(PTR_link_info_001db928 + 0x34) + 4)" (* "*") (cast_expression "(int *)(*(int *)(PTR_link_info_001db928 + 0x34) + 4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(PTR_link_info_001db928 + 0x34) + 4)" (( "(") (binary_expression "*(int *)(PTR_link_info_001db928 + 0x34) + 4" (pointer_expression "*(int *)(PTR_link_info_001db928 + 0x34)" (* "*") (cast_expression "(int *)(PTR_link_info_001db928 + 0x34)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(PTR_link_info_001db928 + 0x34)" (( "(") (binary_expression "PTR_link_info_001db928 + 0x34" (identifier "PTR_link_info_001db928") (+ "+") (number_literal "0x34")) () ")")))) (+ "+") (number_literal "4")) () ")")))) (+ "+") (number_literal "4")) () ")"))))) (; ";")) (if_statement "if (iVar8 == 5) {\n    local_44 = *(int *)(param_1[0x2b] + 4);\n  }\n  else {\n    local_44 = 0;\n  }" (if "if") (parenthesized_expression "(iVar8 == 5)" (( "(") (binary_expression "iVar8 == 5" (identifier "iVar8") (== "==") (number_literal "5")) () ")")) (compound_statement "{\n    local_44 = *(int *)(param_1[0x2b] + 4);\n  }" ({ "{") (expression_statement "local_44 = *(int *)(param_1[0x2b] + 4);" (assignment_expression "local_44 = *(int *)(param_1[0x2b] + 4)" (identifier "local_44") (= "=") (pointer_expression "*(int *)(param_1[0x2b] + 4)" (* "*") (cast_expression "(int *)(param_1[0x2b] + 4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1[0x2b] + 4)" (( "(") (binary_expression "param_1[0x2b] + 4" (subscript_expression "param_1[0x2b]" (identifier "param_1") ([ "[") (number_literal "0x2b") (] "]")) (+ "+") (number_literal "4")) () ")"))))) (; ";")) (} "}")) (else_clause "else {\n    local_44 = 0;\n  }" (else "else") (compound_statement "{\n    local_44 = 0;\n  }" ({ "{") (expression_statement "local_44 = 0;" (assignment_expression "local_44 = 0" (identifier "local_44") (= "=") (number_literal "0")) (; ";")) (} "}")))) (if_statement "if ((*(uint *)PTR_link_info_001db928 & 0xc0000000) == 0x80000000) {\nLAB_00058478:\n    bVar1 = false;\n  }\n  else {\n    if ((-1 < *(int *)(PTR_link_info_001db928 + 4) << 6) || (uVar6 = param_1[5], (uVar6 & 1) == 0))\n    {\n      if (iVar8 == 5) {\n        bVar1 = false;\nLAB_0005886c:\n        if ((iVar9 != 5) || (uVar6 = param_1[5], (uVar6 & 1) == 0)) goto LAB_0005847c;\n        iVar3 = param_1[0x2b];\n        goto LAB_0005888c;\n      }\n      goto LAB_00058478;\n    }\n    if (iVar8 == 5) {\n      if (local_44 == 4) {\n        bVar1 = true;\n        param_2 = PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb14;\n        goto LAB_0005886c;\n      }\n      bVar1 = local_44 == 9;\n      if (bVar1) {\n        param_2 = PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb44;\n      }\n      if (iVar9 != 5) goto LAB_0005847c;\n      iVar3 = param_1[0x2b];\nLAB_0005888c:\n      if (*(int *)(iVar3 + 0xc) << 7 < 0) {\n        iVar13 = *(int *)PTR_lang_output_section_statement_001dbbf4;\n        if (iVar13 != 0) {\n          do {\n            puVar5 = *(undefined **)(iVar13 + 0x1c);\n            if ((((puVar5 != (undefined *)0x0) && (puVar5 != PTR__bfd_std_section_001dbf30 + 400))\n                && ((*(uint *)(*(int *)(puVar5 + 0xac) + 0xc) & 0x1000000) != 0)) &&\n               ((((uVar6 ^ *(uint *)(puVar5 + 0x14)) & 0x11b) == 0 &&\n                (*(int *)(*(int *)(puVar5 + 0xac) + 0x2c) == *(int *)(iVar3 + 0x2c)))))\n            goto LAB_000586a0;\n            iVar13 = *(int *)(iVar13 + 0x10);\n          } while (iVar13 != 0);\n        }\n        if ((uVar6 & 0x102) == 0) {\n          param_2 = PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb38;\n        }\n        else if ((uVar6 & 8) == 0) {\n          param_2 = PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb20;\n        }\n        else if ((uVar6 & 0x10) == 0) {\n          param_2 = PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb50;\n        }\n        else {\n          param_2 = PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb2c;\n        }\n      }\n    }\n    else {\n      iVar3 = (*(code *)PTR_strncmp_001dbe60)\n                        (param_2,PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb60,4);\n      if (iVar3 != 0) goto LAB_00058478;\n      if (param_2[4] == 'a') {\n        bVar1 = true;\n        param_2 = PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb14;\n      }\n      else {\n        bVar1 = true;\n        param_2 = PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb44;\n      }\n    }\n  }" (if "if") (parenthesized_expression "((*(uint *)PTR_link_info_001db928 & 0xc0000000) == 0x80000000)" (( "(") (binary_expression "(*(uint *)PTR_link_info_001db928 & 0xc0000000) == 0x80000000" (parenthesized_expression "(*(uint *)PTR_link_info_001db928 & 0xc0000000)" (( "(") (binary_expression "*(uint *)PTR_link_info_001db928 & 0xc0000000" (pointer_expression "*(uint *)PTR_link_info_001db928" (* "*") (cast_expression "(uint *)PTR_link_info_001db928" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_link_info_001db928"))) (& "&") (number_literal "0xc0000000")) () ")")) (== "==") (number_literal "0x80000000")) () ")")) (compound_statement "{\nLAB_00058478:\n    bVar1 = false;\n  }" ({ "{") (labeled_statement "LAB_00058478:\n    bVar1 = false;" (statement_identifier "LAB_00058478") (: ":") (expression_statement "bVar1 = false;" (assignment_expression "bVar1 = false" (identifier "bVar1") (= "=") (false "false")) (; ";"))) (} "}")) (else_clause "else {\n    if ((-1 < *(int *)(PTR_link_info_001db928 + 4) << 6) || (uVar6 = param_1[5], (uVar6 & 1) == 0))\n    {\n      if (iVar8 == 5) {\n        bVar1 = false;\nLAB_0005886c:\n        if ((iVar9 != 5) || (uVar6 = param_1[5], (uVar6 & 1) == 0)) goto LAB_0005847c;\n        iVar3 = param_1[0x2b];\n        goto LAB_0005888c;\n      }\n      goto LAB_00058478;\n    }\n    if (iVar8 == 5) {\n      if (local_44 == 4) {\n        bVar1 = true;\n        param_2 = PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb14;\n        goto LAB_0005886c;\n      }\n      bVar1 = local_44 == 9;\n      if (bVar1) {\n        param_2 = PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb44;\n      }\n      if (iVar9 != 5) goto LAB_0005847c;\n      iVar3 = param_1[0x2b];\nLAB_0005888c:\n      if (*(int *)(iVar3 + 0xc) << 7 < 0) {\n        iVar13 = *(int *)PTR_lang_output_section_statement_001dbbf4;\n        if (iVar13 != 0) {\n          do {\n            puVar5 = *(undefined **)(iVar13 + 0x1c);\n            if ((((puVar5 != (undefined *)0x0) && (puVar5 != PTR__bfd_std_section_001dbf30 + 400))\n                && ((*(uint *)(*(int *)(puVar5 + 0xac) + 0xc) & 0x1000000) != 0)) &&\n               ((((uVar6 ^ *(uint *)(puVar5 + 0x14)) & 0x11b) == 0 &&\n                (*(int *)(*(int *)(puVar5 + 0xac) + 0x2c) == *(int *)(iVar3 + 0x2c)))))\n            goto LAB_000586a0;\n            iVar13 = *(int *)(iVar13 + 0x10);\n          } while (iVar13 != 0);\n        }\n        if ((uVar6 & 0x102) == 0) {\n          param_2 = PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb38;\n        }\n        else if ((uVar6 & 8) == 0) {\n          param_2 = PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb20;\n        }\n        else if ((uVar6 & 0x10) == 0) {\n          param_2 = PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb50;\n        }\n        else {\n          param_2 = PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb2c;\n        }\n      }\n    }\n    else {\n      iVar3 = (*(code *)PTR_strncmp_001dbe60)\n                        (param_2,PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb60,4);\n      if (iVar3 != 0) goto LAB_00058478;\n      if (param_2[4] == 'a') {\n        bVar1 = true;\n        param_2 = PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb14;\n      }\n      else {\n        bVar1 = true;\n        param_2 = PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb44;\n      }\n    }\n  }" (else "else") (compound_statement "{\n    if ((-1 < *(int *)(PTR_link_info_001db928 + 4) << 6) || (uVar6 = param_1[5], (uVar6 & 1) == 0))\n    {\n      if (iVar8 == 5) {\n        bVar1 = false;\nLAB_0005886c:\n        if ((iVar9 != 5) || (uVar6 = param_1[5], (uVar6 & 1) == 0)) goto LAB_0005847c;\n        iVar3 = param_1[0x2b];\n        goto LAB_0005888c;\n      }\n      goto LAB_00058478;\n    }\n    if (iVar8 == 5) {\n      if (local_44 == 4) {\n        bVar1 = true;\n        param_2 = PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb14;\n        goto LAB_0005886c;\n      }\n      bVar1 = local_44 == 9;\n      if (bVar1) {\n        param_2 = PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb44;\n      }\n      if (iVar9 != 5) goto LAB_0005847c;\n      iVar3 = param_1[0x2b];\nLAB_0005888c:\n      if (*(int *)(iVar3 + 0xc) << 7 < 0) {\n        iVar13 = *(int *)PTR_lang_output_section_statement_001dbbf4;\n        if (iVar13 != 0) {\n          do {\n            puVar5 = *(undefined **)(iVar13 + 0x1c);\n            if ((((puVar5 != (undefined *)0x0) && (puVar5 != PTR__bfd_std_section_001dbf30 + 400))\n                && ((*(uint *)(*(int *)(puVar5 + 0xac) + 0xc) & 0x1000000) != 0)) &&\n               ((((uVar6 ^ *(uint *)(puVar5 + 0x14)) & 0x11b) == 0 &&\n                (*(int *)(*(int *)(puVar5 + 0xac) + 0x2c) == *(int *)(iVar3 + 0x2c)))))\n            goto LAB_000586a0;\n            iVar13 = *(int *)(iVar13 + 0x10);\n          } while (iVar13 != 0);\n        }\n        if ((uVar6 & 0x102) == 0) {\n          param_2 = PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb38;\n        }\n        else if ((uVar6 & 8) == 0) {\n          param_2 = PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb20;\n        }\n        else if ((uVar6 & 0x10) == 0) {\n          param_2 = PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb50;\n        }\n        else {\n          param_2 = PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb2c;\n        }\n      }\n    }\n    else {\n      iVar3 = (*(code *)PTR_strncmp_001dbe60)\n                        (param_2,PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb60,4);\n      if (iVar3 != 0) goto LAB_00058478;\n      if (param_2[4] == 'a') {\n        bVar1 = true;\n        param_2 = PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb14;\n      }\n      else {\n        bVar1 = true;\n        param_2 = PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb44;\n      }\n    }\n  }" ({ "{") (if_statement "if ((-1 < *(int *)(PTR_link_info_001db928 + 4) << 6) || (uVar6 = param_1[5], (uVar6 & 1) == 0))\n    {\n      if (iVar8 == 5) {\n        bVar1 = false;\nLAB_0005886c:\n        if ((iVar9 != 5) || (uVar6 = param_1[5], (uVar6 & 1) == 0)) goto LAB_0005847c;\n        iVar3 = param_1[0x2b];\n        goto LAB_0005888c;\n      }\n      goto LAB_00058478;\n    }" (if "if") (parenthesized_expression "((-1 < *(int *)(PTR_link_info_001db928 + 4) << 6) || (uVar6 = param_1[5], (uVar6 & 1) == 0))" (( "(") (binary_expression "(-1 < *(int *)(PTR_link_info_001db928 + 4) << 6) || (uVar6 = param_1[5], (uVar6 & 1) == 0)" (parenthesized_expression "(-1 < *(int *)(PTR_link_info_001db928 + 4) << 6)" (( "(") (binary_expression "-1 < *(int *)(PTR_link_info_001db928 + 4) << 6" (number_literal "-1") (< "<") (binary_expression "*(int *)(PTR_link_info_001db928 + 4) << 6" (pointer_expression "*(int *)(PTR_link_info_001db928 + 4)" (* "*") (cast_expression "(int *)(PTR_link_info_001db928 + 4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(PTR_link_info_001db928 + 4)" (( "(") (binary_expression "PTR_link_info_001db928 + 4" (identifier "PTR_link_info_001db928") (+ "+") (number_literal "4")) () ")")))) (<< "<<") (number_literal "6"))) () ")")) (|| "||") (parenthesized_expression "(uVar6 = param_1[5], (uVar6 & 1) == 0)" (( "(") (comma_expression "uVar6 = param_1[5], (uVar6 & 1) == 0" (assignment_expression "uVar6 = param_1[5]" (identifier "uVar6") (= "=") (subscript_expression "param_1[5]" (identifier "param_1") ([ "[") (number_literal "5") (] "]"))) (, ",") (binary_expression "(uVar6 & 1) == 0" (parenthesized_expression "(uVar6 & 1)" (( "(") (binary_expression "uVar6 & 1" (identifier "uVar6") (& "&") (number_literal "1")) () ")")) (== "==") (number_literal "0"))) () ")"))) () ")")) (compound_statement "{\n      if (iVar8 == 5) {\n        bVar1 = false;\nLAB_0005886c:\n        if ((iVar9 != 5) || (uVar6 = param_1[5], (uVar6 & 1) == 0)) goto LAB_0005847c;\n        iVar3 = param_1[0x2b];\n        goto LAB_0005888c;\n      }\n      goto LAB_00058478;\n    }" ({ "{") (if_statement "if (iVar8 == 5) {\n        bVar1 = false;\nLAB_0005886c:\n        if ((iVar9 != 5) || (uVar6 = param_1[5], (uVar6 & 1) == 0)) goto LAB_0005847c;\n        iVar3 = param_1[0x2b];\n        goto LAB_0005888c;\n      }" (if "if") (parenthesized_expression "(iVar8 == 5)" (( "(") (binary_expression "iVar8 == 5" (identifier "iVar8") (== "==") (number_literal "5")) () ")")) (compound_statement "{\n        bVar1 = false;\nLAB_0005886c:\n        if ((iVar9 != 5) || (uVar6 = param_1[5], (uVar6 & 1) == 0)) goto LAB_0005847c;\n        iVar3 = param_1[0x2b];\n        goto LAB_0005888c;\n      }" ({ "{") (expression_statement "bVar1 = false;" (assignment_expression "bVar1 = false" (identifier "bVar1") (= "=") (false "false")) (; ";")) (labeled_statement "LAB_0005886c:\n        if ((iVar9 != 5) || (uVar6 = param_1[5], (uVar6 & 1) == 0)) goto LAB_0005847c;" (statement_identifier "LAB_0005886c") (: ":") (if_statement "if ((iVar9 != 5) || (uVar6 = param_1[5], (uVar6 & 1) == 0)) goto LAB_0005847c;" (if "if") (parenthesized_expression "((iVar9 != 5) || (uVar6 = param_1[5], (uVar6 & 1) == 0))" (( "(") (binary_expression "(iVar9 != 5) || (uVar6 = param_1[5], (uVar6 & 1) == 0)" (parenthesized_expression "(iVar9 != 5)" (( "(") (binary_expression "iVar9 != 5" (identifier "iVar9") (!= "!=") (number_literal "5")) () ")")) (|| "||") (parenthesized_expression "(uVar6 = param_1[5], (uVar6 & 1) == 0)" (( "(") (comma_expression "uVar6 = param_1[5], (uVar6 & 1) == 0" (assignment_expression "uVar6 = param_1[5]" (identifier "uVar6") (= "=") (subscript_expression "param_1[5]" (identifier "param_1") ([ "[") (number_literal "5") (] "]"))) (, ",") (binary_expression "(uVar6 & 1) == 0" (parenthesized_expression "(uVar6 & 1)" (( "(") (binary_expression "uVar6 & 1" (identifier "uVar6") (& "&") (number_literal "1")) () ")")) (== "==") (number_literal "0"))) () ")"))) () ")")) (goto_statement "goto LAB_0005847c;" (goto "goto") (statement_identifier "LAB_0005847c") (; ";")))) (expression_statement "iVar3 = param_1[0x2b];" (assignment_expression "iVar3 = param_1[0x2b]" (identifier "iVar3") (= "=") (subscript_expression "param_1[0x2b]" (identifier "param_1") ([ "[") (number_literal "0x2b") (] "]"))) (; ";")) (goto_statement "goto LAB_0005888c;" (goto "goto") (statement_identifier "LAB_0005888c") (; ";")) (} "}"))) (goto_statement "goto LAB_00058478;" (goto "goto") (statement_identifier "LAB_00058478") (; ";")) (} "}"))) (if_statement "if (iVar8 == 5) {\n      if (local_44 == 4) {\n        bVar1 = true;\n        param_2 = PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb14;\n        goto LAB_0005886c;\n      }\n      bVar1 = local_44 == 9;\n      if (bVar1) {\n        param_2 = PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb44;\n      }\n      if (iVar9 != 5) goto LAB_0005847c;\n      iVar3 = param_1[0x2b];\nLAB_0005888c:\n      if (*(int *)(iVar3 + 0xc) << 7 < 0) {\n        iVar13 = *(int *)PTR_lang_output_section_statement_001dbbf4;\n        if (iVar13 != 0) {\n          do {\n            puVar5 = *(undefined **)(iVar13 + 0x1c);\n            if ((((puVar5 != (undefined *)0x0) && (puVar5 != PTR__bfd_std_section_001dbf30 + 400))\n                && ((*(uint *)(*(int *)(puVar5 + 0xac) + 0xc) & 0x1000000) != 0)) &&\n               ((((uVar6 ^ *(uint *)(puVar5 + 0x14)) & 0x11b) == 0 &&\n                (*(int *)(*(int *)(puVar5 + 0xac) + 0x2c) == *(int *)(iVar3 + 0x2c)))))\n            goto LAB_000586a0;\n            iVar13 = *(int *)(iVar13 + 0x10);\n          } while (iVar13 != 0);\n        }\n        if ((uVar6 & 0x102) == 0) {\n          param_2 = PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb38;\n        }\n        else if ((uVar6 & 8) == 0) {\n          param_2 = PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb20;\n        }\n        else if ((uVar6 & 0x10) == 0) {\n          param_2 = PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb50;\n        }\n        else {\n          param_2 = PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb2c;\n        }\n      }\n    }\n    else {\n      iVar3 = (*(code *)PTR_strncmp_001dbe60)\n                        (param_2,PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb60,4);\n      if (iVar3 != 0) goto LAB_00058478;\n      if (param_2[4] == 'a') {\n        bVar1 = true;\n        param_2 = PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb14;\n      }\n      else {\n        bVar1 = true;\n        param_2 = PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb44;\n      }\n    }" (if "if") (parenthesized_expression "(iVar8 == 5)" (( "(") (binary_expression "iVar8 == 5" (identifier "iVar8") (== "==") (number_literal "5")) () ")")) (compound_statement "{\n      if (local_44 == 4) {\n        bVar1 = true;\n        param_2 = PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb14;\n        goto LAB_0005886c;\n      }\n      bVar1 = local_44 == 9;\n      if (bVar1) {\n        param_2 = PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb44;\n      }\n      if (iVar9 != 5) goto LAB_0005847c;\n      iVar3 = param_1[0x2b];\nLAB_0005888c:\n      if (*(int *)(iVar3 + 0xc) << 7 < 0) {\n        iVar13 = *(int *)PTR_lang_output_section_statement_001dbbf4;\n        if (iVar13 != 0) {\n          do {\n            puVar5 = *(undefined **)(iVar13 + 0x1c);\n            if ((((puVar5 != (undefined *)0x0) && (puVar5 != PTR__bfd_std_section_001dbf30 + 400))\n                && ((*(uint *)(*(int *)(puVar5 + 0xac) + 0xc) & 0x1000000) != 0)) &&\n               ((((uVar6 ^ *(uint *)(puVar5 + 0x14)) & 0x11b) == 0 &&\n                (*(int *)(*(int *)(puVar5 + 0xac) + 0x2c) == *(int *)(iVar3 + 0x2c)))))\n            goto LAB_000586a0;\n            iVar13 = *(int *)(iVar13 + 0x10);\n          } while (iVar13 != 0);\n        }\n        if ((uVar6 & 0x102) == 0) {\n          param_2 = PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb38;\n        }\n        else if ((uVar6 & 8) == 0) {\n          param_2 = PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb20;\n        }\n        else if ((uVar6 & 0x10) == 0) {\n          param_2 = PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb50;\n        }\n        else {\n          param_2 = PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb2c;\n        }\n      }\n    }" ({ "{") (if_statement "if (local_44 == 4) {\n        bVar1 = true;\n        param_2 = PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb14;\n        goto LAB_0005886c;\n      }" (if "if") (parenthesized_expression "(local_44 == 4)" (( "(") (binary_expression "local_44 == 4" (identifier "local_44") (== "==") (number_literal "4")) () ")")) (compound_statement "{\n        bVar1 = true;\n        param_2 = PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb14;\n        goto LAB_0005886c;\n      }" ({ "{") (expression_statement "bVar1 = true;" (assignment_expression "bVar1 = true" (identifier "bVar1") (= "=") (true "true")) (; ";")) (expression_statement "param_2 = PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb14;" (assignment_expression "param_2 = PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb14" (identifier "param_2") (= "=") (binary_expression "PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb14" (identifier "PTR_s____debug_str_____debug_loc_0_____001db974") (+ "+") (number_literal "0xb14"))) (; ";")) (goto_statement "goto LAB_0005886c;" (goto "goto") (statement_identifier "LAB_0005886c") (; ";")) (} "}"))) (expression_statement "bVar1 = local_44 == 9;" (assignment_expression "bVar1 = local_44 == 9" (identifier "bVar1") (= "=") (binary_expression "local_44 == 9" (identifier "local_44") (== "==") (number_literal "9"))) (; ";")) (if_statement "if (bVar1) {\n        param_2 = PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb44;\n      }" (if "if") (parenthesized_expression "(bVar1)" (( "(") (identifier "bVar1") () ")")) (compound_statement "{\n        param_2 = PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb44;\n      }" ({ "{") (expression_statement "param_2 = PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb44;" (assignment_expression "param_2 = PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb44" (identifier "param_2") (= "=") (binary_expression "PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb44" (identifier "PTR_s____debug_str_____debug_loc_0_____001db974") (+ "+") (number_literal "0xb44"))) (; ";")) (} "}"))) (if_statement "if (iVar9 != 5) goto LAB_0005847c;" (if "if") (parenthesized_expression "(iVar9 != 5)" (( "(") (binary_expression "iVar9 != 5" (identifier "iVar9") (!= "!=") (number_literal "5")) () ")")) (goto_statement "goto LAB_0005847c;" (goto "goto") (statement_identifier "LAB_0005847c") (; ";"))) (expression_statement "iVar3 = param_1[0x2b];" (assignment_expression "iVar3 = param_1[0x2b]" (identifier "iVar3") (= "=") (subscript_expression "param_1[0x2b]" (identifier "param_1") ([ "[") (number_literal "0x2b") (] "]"))) (; ";")) (labeled_statement "LAB_0005888c:\n      if (*(int *)(iVar3 + 0xc) << 7 < 0) {\n        iVar13 = *(int *)PTR_lang_output_section_statement_001dbbf4;\n        if (iVar13 != 0) {\n          do {\n            puVar5 = *(undefined **)(iVar13 + 0x1c);\n            if ((((puVar5 != (undefined *)0x0) && (puVar5 != PTR__bfd_std_section_001dbf30 + 400))\n                && ((*(uint *)(*(int *)(puVar5 + 0xac) + 0xc) & 0x1000000) != 0)) &&\n               ((((uVar6 ^ *(uint *)(puVar5 + 0x14)) & 0x11b) == 0 &&\n                (*(int *)(*(int *)(puVar5 + 0xac) + 0x2c) == *(int *)(iVar3 + 0x2c)))))\n            goto LAB_000586a0;\n            iVar13 = *(int *)(iVar13 + 0x10);\n          } while (iVar13 != 0);\n        }\n        if ((uVar6 & 0x102) == 0) {\n          param_2 = PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb38;\n        }\n        else if ((uVar6 & 8) == 0) {\n          param_2 = PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb20;\n        }\n        else if ((uVar6 & 0x10) == 0) {\n          param_2 = PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb50;\n        }\n        else {\n          param_2 = PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb2c;\n        }\n      }" (statement_identifier "LAB_0005888c") (: ":") (if_statement "if (*(int *)(iVar3 + 0xc) << 7 < 0) {\n        iVar13 = *(int *)PTR_lang_output_section_statement_001dbbf4;\n        if (iVar13 != 0) {\n          do {\n            puVar5 = *(undefined **)(iVar13 + 0x1c);\n            if ((((puVar5 != (undefined *)0x0) && (puVar5 != PTR__bfd_std_section_001dbf30 + 400))\n                && ((*(uint *)(*(int *)(puVar5 + 0xac) + 0xc) & 0x1000000) != 0)) &&\n               ((((uVar6 ^ *(uint *)(puVar5 + 0x14)) & 0x11b) == 0 &&\n                (*(int *)(*(int *)(puVar5 + 0xac) + 0x2c) == *(int *)(iVar3 + 0x2c)))))\n            goto LAB_000586a0;\n            iVar13 = *(int *)(iVar13 + 0x10);\n          } while (iVar13 != 0);\n        }\n        if ((uVar6 & 0x102) == 0) {\n          param_2 = PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb38;\n        }\n        else if ((uVar6 & 8) == 0) {\n          param_2 = PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb20;\n        }\n        else if ((uVar6 & 0x10) == 0) {\n          param_2 = PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb50;\n        }\n        else {\n          param_2 = PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb2c;\n        }\n      }" (if "if") (parenthesized_expression "(*(int *)(iVar3 + 0xc) << 7 < 0)" (( "(") (binary_expression "*(int *)(iVar3 + 0xc) << 7 < 0" (binary_expression "*(int *)(iVar3 + 0xc) << 7" (pointer_expression "*(int *)(iVar3 + 0xc)" (* "*") (cast_expression "(int *)(iVar3 + 0xc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar3 + 0xc)" (( "(") (binary_expression "iVar3 + 0xc" (identifier "iVar3") (+ "+") (number_literal "0xc")) () ")")))) (<< "<<") (number_literal "7")) (< "<") (number_literal "0")) () ")")) (compound_statement "{\n        iVar13 = *(int *)PTR_lang_output_section_statement_001dbbf4;\n        if (iVar13 != 0) {\n          do {\n            puVar5 = *(undefined **)(iVar13 + 0x1c);\n            if ((((puVar5 != (undefined *)0x0) && (puVar5 != PTR__bfd_std_section_001dbf30 + 400))\n                && ((*(uint *)(*(int *)(puVar5 + 0xac) + 0xc) & 0x1000000) != 0)) &&\n               ((((uVar6 ^ *(uint *)(puVar5 + 0x14)) & 0x11b) == 0 &&\n                (*(int *)(*(int *)(puVar5 + 0xac) + 0x2c) == *(int *)(iVar3 + 0x2c)))))\n            goto LAB_000586a0;\n            iVar13 = *(int *)(iVar13 + 0x10);\n          } while (iVar13 != 0);\n        }\n        if ((uVar6 & 0x102) == 0) {\n          param_2 = PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb38;\n        }\n        else if ((uVar6 & 8) == 0) {\n          param_2 = PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb20;\n        }\n        else if ((uVar6 & 0x10) == 0) {\n          param_2 = PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb50;\n        }\n        else {\n          param_2 = PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb2c;\n        }\n      }" ({ "{") (expression_statement "iVar13 = *(int *)PTR_lang_output_section_statement_001dbbf4;" (assignment_expression "iVar13 = *(int *)PTR_lang_output_section_statement_001dbbf4" (identifier "iVar13") (= "=") (pointer_expression "*(int *)PTR_lang_output_section_statement_001dbbf4" (* "*") (cast_expression "(int *)PTR_lang_output_section_statement_001dbbf4" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_lang_output_section_statement_001dbbf4")))) (; ";")) (if_statement "if (iVar13 != 0) {\n          do {\n            puVar5 = *(undefined **)(iVar13 + 0x1c);\n            if ((((puVar5 != (undefined *)0x0) && (puVar5 != PTR__bfd_std_section_001dbf30 + 400))\n                && ((*(uint *)(*(int *)(puVar5 + 0xac) + 0xc) & 0x1000000) != 0)) &&\n               ((((uVar6 ^ *(uint *)(puVar5 + 0x14)) & 0x11b) == 0 &&\n                (*(int *)(*(int *)(puVar5 + 0xac) + 0x2c) == *(int *)(iVar3 + 0x2c)))))\n            goto LAB_000586a0;\n            iVar13 = *(int *)(iVar13 + 0x10);\n          } while (iVar13 != 0);\n        }" (if "if") (parenthesized_expression "(iVar13 != 0)" (( "(") (binary_expression "iVar13 != 0" (identifier "iVar13") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n          do {\n            puVar5 = *(undefined **)(iVar13 + 0x1c);\n            if ((((puVar5 != (undefined *)0x0) && (puVar5 != PTR__bfd_std_section_001dbf30 + 400))\n                && ((*(uint *)(*(int *)(puVar5 + 0xac) + 0xc) & 0x1000000) != 0)) &&\n               ((((uVar6 ^ *(uint *)(puVar5 + 0x14)) & 0x11b) == 0 &&\n                (*(int *)(*(int *)(puVar5 + 0xac) + 0x2c) == *(int *)(iVar3 + 0x2c)))))\n            goto LAB_000586a0;\n            iVar13 = *(int *)(iVar13 + 0x10);\n          } while (iVar13 != 0);\n        }" ({ "{") (do_statement "do {\n            puVar5 = *(undefined **)(iVar13 + 0x1c);\n            if ((((puVar5 != (undefined *)0x0) && (puVar5 != PTR__bfd_std_section_001dbf30 + 400))\n                && ((*(uint *)(*(int *)(puVar5 + 0xac) + 0xc) & 0x1000000) != 0)) &&\n               ((((uVar6 ^ *(uint *)(puVar5 + 0x14)) & 0x11b) == 0 &&\n                (*(int *)(*(int *)(puVar5 + 0xac) + 0x2c) == *(int *)(iVar3 + 0x2c)))))\n            goto LAB_000586a0;\n            iVar13 = *(int *)(iVar13 + 0x10);\n          } while (iVar13 != 0);" (do "do") (compound_statement "{\n            puVar5 = *(undefined **)(iVar13 + 0x1c);\n            if ((((puVar5 != (undefined *)0x0) && (puVar5 != PTR__bfd_std_section_001dbf30 + 400))\n                && ((*(uint *)(*(int *)(puVar5 + 0xac) + 0xc) & 0x1000000) != 0)) &&\n               ((((uVar6 ^ *(uint *)(puVar5 + 0x14)) & 0x11b) == 0 &&\n                (*(int *)(*(int *)(puVar5 + 0xac) + 0x2c) == *(int *)(iVar3 + 0x2c)))))\n            goto LAB_000586a0;\n            iVar13 = *(int *)(iVar13 + 0x10);\n          }" ({ "{") (expression_statement "puVar5 = *(undefined **)(iVar13 + 0x1c);" (assignment_expression "puVar5 = *(undefined **)(iVar13 + 0x1c)" (identifier "puVar5") (= "=") (pointer_expression "*(undefined **)(iVar13 + 0x1c)" (* "*") (cast_expression "(undefined **)(iVar13 + 0x1c)" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(iVar13 + 0x1c)" (( "(") (binary_expression "iVar13 + 0x1c" (identifier "iVar13") (+ "+") (number_literal "0x1c")) () ")"))))) (; ";")) (if_statement "if ((((puVar5 != (undefined *)0x0) && (puVar5 != PTR__bfd_std_section_001dbf30 + 400))\n                && ((*(uint *)(*(int *)(puVar5 + 0xac) + 0xc) & 0x1000000) != 0)) &&\n               ((((uVar6 ^ *(uint *)(puVar5 + 0x14)) & 0x11b) == 0 &&\n                (*(int *)(*(int *)(puVar5 + 0xac) + 0x2c) == *(int *)(iVar3 + 0x2c)))))\n            goto LAB_000586a0;" (if "if") (parenthesized_expression "((((puVar5 != (undefined *)0x0) && (puVar5 != PTR__bfd_std_section_001dbf30 + 400))\n                && ((*(uint *)(*(int *)(puVar5 + 0xac) + 0xc) & 0x1000000) != 0)) &&\n               ((((uVar6 ^ *(uint *)(puVar5 + 0x14)) & 0x11b) == 0 &&\n                (*(int *)(*(int *)(puVar5 + 0xac) + 0x2c) == *(int *)(iVar3 + 0x2c)))))" (( "(") (binary_expression "(((puVar5 != (undefined *)0x0) && (puVar5 != PTR__bfd_std_section_001dbf30 + 400))\n                && ((*(uint *)(*(int *)(puVar5 + 0xac) + 0xc) & 0x1000000) != 0)) &&\n               ((((uVar6 ^ *(uint *)(puVar5 + 0x14)) & 0x11b) == 0 &&\n                (*(int *)(*(int *)(puVar5 + 0xac) + 0x2c) == *(int *)(iVar3 + 0x2c))))" (parenthesized_expression "(((puVar5 != (undefined *)0x0) && (puVar5 != PTR__bfd_std_section_001dbf30 + 400))\n                && ((*(uint *)(*(int *)(puVar5 + 0xac) + 0xc) & 0x1000000) != 0))" (( "(") (binary_expression "((puVar5 != (undefined *)0x0) && (puVar5 != PTR__bfd_std_section_001dbf30 + 400))\n                && ((*(uint *)(*(int *)(puVar5 + 0xac) + 0xc) & 0x1000000) != 0)" (parenthesized_expression "((puVar5 != (undefined *)0x0) && (puVar5 != PTR__bfd_std_section_001dbf30 + 400))" (( "(") (binary_expression "(puVar5 != (undefined *)0x0) && (puVar5 != PTR__bfd_std_section_001dbf30 + 400)" (parenthesized_expression "(puVar5 != (undefined *)0x0)" (( "(") (binary_expression "puVar5 != (undefined *)0x0" (identifier "puVar5") (!= "!=") (cast_expression "(undefined *)0x0" (( "(") (type_descriptor "undefined *" (type_identifier "undefined") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (&& "&&") (parenthesized_expression "(puVar5 != PTR__bfd_std_section_001dbf30 + 400)" (( "(") (binary_expression "puVar5 != PTR__bfd_std_section_001dbf30 + 400" (identifier "puVar5") (!= "!=") (binary_expression "PTR__bfd_std_section_001dbf30 + 400" (identifier "PTR__bfd_std_section_001dbf30") (+ "+") (number_literal "400"))) () ")"))) () ")")) (&& "&&") (parenthesized_expression "((*(uint *)(*(int *)(puVar5 + 0xac) + 0xc) & 0x1000000) != 0)" (( "(") (binary_expression "(*(uint *)(*(int *)(puVar5 + 0xac) + 0xc) & 0x1000000) != 0" (parenthesized_expression "(*(uint *)(*(int *)(puVar5 + 0xac) + 0xc) & 0x1000000)" (( "(") (binary_expression "*(uint *)(*(int *)(puVar5 + 0xac) + 0xc) & 0x1000000" (pointer_expression "*(uint *)(*(int *)(puVar5 + 0xac) + 0xc)" (* "*") (cast_expression "(uint *)(*(int *)(puVar5 + 0xac) + 0xc)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(puVar5 + 0xac) + 0xc)" (( "(") (binary_expression "*(int *)(puVar5 + 0xac) + 0xc" (pointer_expression "*(int *)(puVar5 + 0xac)" (* "*") (cast_expression "(int *)(puVar5 + 0xac)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar5 + 0xac)" (( "(") (binary_expression "puVar5 + 0xac" (identifier "puVar5") (+ "+") (number_literal "0xac")) () ")")))) (+ "+") (number_literal "0xc")) () ")")))) (& "&") (number_literal "0x1000000")) () ")")) (!= "!=") (number_literal "0")) () ")"))) () ")")) (&& "&&") (parenthesized_expression "((((uVar6 ^ *(uint *)(puVar5 + 0x14)) & 0x11b) == 0 &&\n                (*(int *)(*(int *)(puVar5 + 0xac) + 0x2c) == *(int *)(iVar3 + 0x2c))))" (( "(") (parenthesized_expression "(((uVar6 ^ *(uint *)(puVar5 + 0x14)) & 0x11b) == 0 &&\n                (*(int *)(*(int *)(puVar5 + 0xac) + 0x2c) == *(int *)(iVar3 + 0x2c)))" (( "(") (binary_expression "((uVar6 ^ *(uint *)(puVar5 + 0x14)) & 0x11b) == 0 &&\n                (*(int *)(*(int *)(puVar5 + 0xac) + 0x2c) == *(int *)(iVar3 + 0x2c))" (binary_expression "((uVar6 ^ *(uint *)(puVar5 + 0x14)) & 0x11b) == 0" (parenthesized_expression "((uVar6 ^ *(uint *)(puVar5 + 0x14)) & 0x11b)" (( "(") (binary_expression "(uVar6 ^ *(uint *)(puVar5 + 0x14)) & 0x11b" (parenthesized_expression "(uVar6 ^ *(uint *)(puVar5 + 0x14))" (( "(") (binary_expression "uVar6 ^ *(uint *)(puVar5 + 0x14)" (identifier "uVar6") (^ "^") (pointer_expression "*(uint *)(puVar5 + 0x14)" (* "*") (cast_expression "(uint *)(puVar5 + 0x14)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar5 + 0x14)" (( "(") (binary_expression "puVar5 + 0x14" (identifier "puVar5") (+ "+") (number_literal "0x14")) () ")"))))) () ")")) (& "&") (number_literal "0x11b")) () ")")) (== "==") (number_literal "0")) (&& "&&") (parenthesized_expression "(*(int *)(*(int *)(puVar5 + 0xac) + 0x2c) == *(int *)(iVar3 + 0x2c))" (( "(") (binary_expression "*(int *)(*(int *)(puVar5 + 0xac) + 0x2c) == *(int *)(iVar3 + 0x2c)" (pointer_expression "*(int *)(*(int *)(puVar5 + 0xac) + 0x2c)" (* "*") (cast_expression "(int *)(*(int *)(puVar5 + 0xac) + 0x2c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(puVar5 + 0xac) + 0x2c)" (( "(") (binary_expression "*(int *)(puVar5 + 0xac) + 0x2c" (pointer_expression "*(int *)(puVar5 + 0xac)" (* "*") (cast_expression "(int *)(puVar5 + 0xac)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar5 + 0xac)" (( "(") (binary_expression "puVar5 + 0xac" (identifier "puVar5") (+ "+") (number_literal "0xac")) () ")")))) (+ "+") (number_literal "0x2c")) () ")")))) (== "==") (pointer_expression "*(int *)(iVar3 + 0x2c)" (* "*") (cast_expression "(int *)(iVar3 + 0x2c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar3 + 0x2c)" (( "(") (binary_expression "iVar3 + 0x2c" (identifier "iVar3") (+ "+") (number_literal "0x2c")) () ")"))))) () ")"))) () ")")) () ")"))) () ")")) (goto_statement "goto LAB_000586a0;" (goto "goto") (statement_identifier "LAB_000586a0") (; ";"))) (expression_statement "iVar13 = *(int *)(iVar13 + 0x10);" (assignment_expression "iVar13 = *(int *)(iVar13 + 0x10)" (identifier "iVar13") (= "=") (pointer_expression "*(int *)(iVar13 + 0x10)" (* "*") (cast_expression "(int *)(iVar13 + 0x10)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar13 + 0x10)" (( "(") (binary_expression "iVar13 + 0x10" (identifier "iVar13") (+ "+") (number_literal "0x10")) () ")"))))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(iVar13 != 0)" (( "(") (binary_expression "iVar13 != 0" (identifier "iVar13") (!= "!=") (number_literal "0")) () ")")) (; ";")) (} "}"))) (if_statement "if ((uVar6 & 0x102) == 0) {\n          param_2 = PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb38;\n        }\n        else if ((uVar6 & 8) == 0) {\n          param_2 = PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb20;\n        }\n        else if ((uVar6 & 0x10) == 0) {\n          param_2 = PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb50;\n        }\n        else {\n          param_2 = PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb2c;\n        }" (if "if") (parenthesized_expression "((uVar6 & 0x102) == 0)" (( "(") (binary_expression "(uVar6 & 0x102) == 0" (parenthesized_expression "(uVar6 & 0x102)" (( "(") (binary_expression "uVar6 & 0x102" (identifier "uVar6") (& "&") (number_literal "0x102")) () ")")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n          param_2 = PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb38;\n        }" ({ "{") (expression_statement "param_2 = PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb38;" (assignment_expression "param_2 = PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb38" (identifier "param_2") (= "=") (binary_expression "PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb38" (identifier "PTR_s____debug_str_____debug_loc_0_____001db974") (+ "+") (number_literal "0xb38"))) (; ";")) (} "}")) (else_clause "else if ((uVar6 & 8) == 0) {\n          param_2 = PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb20;\n        }\n        else if ((uVar6 & 0x10) == 0) {\n          param_2 = PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb50;\n        }\n        else {\n          param_2 = PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb2c;\n        }" (else "else") (if_statement "if ((uVar6 & 8) == 0) {\n          param_2 = PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb20;\n        }\n        else if ((uVar6 & 0x10) == 0) {\n          param_2 = PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb50;\n        }\n        else {\n          param_2 = PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb2c;\n        }" (if "if") (parenthesized_expression "((uVar6 & 8) == 0)" (( "(") (binary_expression "(uVar6 & 8) == 0" (parenthesized_expression "(uVar6 & 8)" (( "(") (binary_expression "uVar6 & 8" (identifier "uVar6") (& "&") (number_literal "8")) () ")")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n          param_2 = PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb20;\n        }" ({ "{") (expression_statement "param_2 = PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb20;" (assignment_expression "param_2 = PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb20" (identifier "param_2") (= "=") (binary_expression "PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb20" (identifier "PTR_s____debug_str_____debug_loc_0_____001db974") (+ "+") (number_literal "0xb20"))) (; ";")) (} "}")) (else_clause "else if ((uVar6 & 0x10) == 0) {\n          param_2 = PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb50;\n        }\n        else {\n          param_2 = PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb2c;\n        }" (else "else") (if_statement "if ((uVar6 & 0x10) == 0) {\n          param_2 = PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb50;\n        }\n        else {\n          param_2 = PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb2c;\n        }" (if "if") (parenthesized_expression "((uVar6 & 0x10) == 0)" (( "(") (binary_expression "(uVar6 & 0x10) == 0" (parenthesized_expression "(uVar6 & 0x10)" (( "(") (binary_expression "uVar6 & 0x10" (identifier "uVar6") (& "&") (number_literal "0x10")) () ")")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n          param_2 = PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb50;\n        }" ({ "{") (expression_statement "param_2 = PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb50;" (assignment_expression "param_2 = PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb50" (identifier "param_2") (= "=") (binary_expression "PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb50" (identifier "PTR_s____debug_str_____debug_loc_0_____001db974") (+ "+") (number_literal "0xb50"))) (; ";")) (} "}")) (else_clause "else {\n          param_2 = PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb2c;\n        }" (else "else") (compound_statement "{\n          param_2 = PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb2c;\n        }" ({ "{") (expression_statement "param_2 = PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb2c;" (assignment_expression "param_2 = PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb2c" (identifier "param_2") (= "=") (binary_expression "PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb2c" (identifier "PTR_s____debug_str_____debug_loc_0_____001db974") (+ "+") (number_literal "0xb2c"))) (; ";")) (} "}")))))))) (} "}")))) (} "}")) (else_clause "else {\n      iVar3 = (*(code *)PTR_strncmp_001dbe60)\n                        (param_2,PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb60,4);\n      if (iVar3 != 0) goto LAB_00058478;\n      if (param_2[4] == 'a') {\n        bVar1 = true;\n        param_2 = PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb14;\n      }\n      else {\n        bVar1 = true;\n        param_2 = PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb44;\n      }\n    }" (else "else") (compound_statement "{\n      iVar3 = (*(code *)PTR_strncmp_001dbe60)\n                        (param_2,PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb60,4);\n      if (iVar3 != 0) goto LAB_00058478;\n      if (param_2[4] == 'a') {\n        bVar1 = true;\n        param_2 = PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb14;\n      }\n      else {\n        bVar1 = true;\n        param_2 = PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb44;\n      }\n    }" ({ "{") (expression_statement "iVar3 = (*(code *)PTR_strncmp_001dbe60)\n                        (param_2,PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb60,4);" (assignment_expression "iVar3 = (*(code *)PTR_strncmp_001dbe60)\n                        (param_2,PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb60,4)" (identifier "iVar3") (= "=") (call_expression "(*(code *)PTR_strncmp_001dbe60)\n                        (param_2,PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb60,4)" (parenthesized_expression "(*(code *)PTR_strncmp_001dbe60)" (( "(") (pointer_expression "*(code *)PTR_strncmp_001dbe60" (* "*") (cast_expression "(code *)PTR_strncmp_001dbe60" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_strncmp_001dbe60"))) () ")")) (argument_list "(param_2,PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb60,4)" (( "(") (identifier "param_2") (, ",") (binary_expression "PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb60" (identifier "PTR_s____debug_str_____debug_loc_0_____001db974") (+ "+") (number_literal "0xb60")) (, ",") (number_literal "4") () ")")))) (; ";")) (if_statement "if (iVar3 != 0) goto LAB_00058478;" (if "if") (parenthesized_expression "(iVar3 != 0)" (( "(") (binary_expression "iVar3 != 0" (identifier "iVar3") (!= "!=") (number_literal "0")) () ")")) (goto_statement "goto LAB_00058478;" (goto "goto") (statement_identifier "LAB_00058478") (; ";"))) (if_statement "if (param_2[4] == 'a') {\n        bVar1 = true;\n        param_2 = PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb14;\n      }\n      else {\n        bVar1 = true;\n        param_2 = PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb44;\n      }" (if "if") (parenthesized_expression "(param_2[4] == 'a')" (( "(") (binary_expression "param_2[4] == 'a'" (subscript_expression "param_2[4]" (identifier "param_2") ([ "[") (number_literal "4") (] "]")) (== "==") (char_literal "'a'" (' "'") (character "a") (' "'"))) () ")")) (compound_statement "{\n        bVar1 = true;\n        param_2 = PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb14;\n      }" ({ "{") (expression_statement "bVar1 = true;" (assignment_expression "bVar1 = true" (identifier "bVar1") (= "=") (true "true")) (; ";")) (expression_statement "param_2 = PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb14;" (assignment_expression "param_2 = PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb14" (identifier "param_2") (= "=") (binary_expression "PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb14" (identifier "PTR_s____debug_str_____debug_loc_0_____001db974") (+ "+") (number_literal "0xb14"))) (; ";")) (} "}")) (else_clause "else {\n        bVar1 = true;\n        param_2 = PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb44;\n      }" (else "else") (compound_statement "{\n        bVar1 = true;\n        param_2 = PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb44;\n      }" ({ "{") (expression_statement "bVar1 = true;" (assignment_expression "bVar1 = true" (identifier "bVar1") (= "=") (true "true")) (; ";")) (expression_statement "param_2 = PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb44;" (assignment_expression "param_2 = PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb44" (identifier "param_2") (= "=") (binary_expression "PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb44" (identifier "PTR_s____debug_str_____debug_loc_0_____001db974") (+ "+") (number_literal "0xb44"))) (; ";")) (} "}")))) (} "}")))) (} "}")))) (labeled_statement "LAB_0005847c:\n  if ((param_3 == 0) &&\n     (iVar13 = (*(code *)PTR_lang_output_section_statement_lookup_001dbc2c)(param_2,0,0),\n     iVar13 != 0)) {\n    iVar3 = 0;\n    do {\n      while (iVar11 = *(int *)(iVar13 + 0x1c), iVar11 == 0) {\n        iVar11 = (*(code *)PTR_next_matching_output_section_statement_001dbd68)(iVar13,0);\n        iVar3 = iVar13;\n        iVar13 = iVar11;\n        if (iVar11 == 0) goto LAB_000587ec;\n      }\n      if (*(uint *)(iVar11 + 0x14) == 0) goto LAB_000586a0;\n      if (((*(uint *)(iVar11 + 0x14) ^ param_1[5]) & 3) == 0) {\n        if ((iVar8 != 5) || (iVar9 != 5)) goto LAB_000586a0;\n        if ((*(int *)(*(int *)(iVar11 + 0xac) + 0x2c) == *(int *)(param_1[0x2b] + 0x2c)) &&\n           (((*(uint *)puVar4 & 0xc0000000) != 0x80000000 ||\n            (((*(uint *)(*(int *)(iVar11 + 0xac) + 0xc) ^ *(uint *)(param_1[0x2b] + 0xc)) &\n             0x80000000) == 0)))) {\n          iVar11 = (*(code *)PTR__bfd_elf_match_sections_by_type_001dbe14)\n                             (*(undefined4 *)(puVar4 + 0x34),iVar11,param_1[0x2d],param_1);\n          if (iVar11 != 0) goto LAB_000586a0;\n          if (*(int *)(iVar13 + 0x1c) == 0) {\n            iVar3 = iVar13;\n          }\n        }\n      }\n      iVar13 = (*(code *)PTR_next_matching_output_section_statement_001dbd68)(iVar13,0);\n    } while (iVar13 != 0);\nLAB_000587ec:\n    if (iVar3 != 0) {\n      (*(code *)PTR_lang_add_section_001dbc3c)(iVar3 + 8,param_1,0,iVar3);\n      return iVar3;\n    }\n    param_3 = 0x17e;\n  }" (statement_identifier "LAB_0005847c") (: ":") (if_statement "if ((param_3 == 0) &&\n     (iVar13 = (*(code *)PTR_lang_output_section_statement_lookup_001dbc2c)(param_2,0,0),\n     iVar13 != 0)) {\n    iVar3 = 0;\n    do {\n      while (iVar11 = *(int *)(iVar13 + 0x1c), iVar11 == 0) {\n        iVar11 = (*(code *)PTR_next_matching_output_section_statement_001dbd68)(iVar13,0);\n        iVar3 = iVar13;\n        iVar13 = iVar11;\n        if (iVar11 == 0) goto LAB_000587ec;\n      }\n      if (*(uint *)(iVar11 + 0x14) == 0) goto LAB_000586a0;\n      if (((*(uint *)(iVar11 + 0x14) ^ param_1[5]) & 3) == 0) {\n        if ((iVar8 != 5) || (iVar9 != 5)) goto LAB_000586a0;\n        if ((*(int *)(*(int *)(iVar11 + 0xac) + 0x2c) == *(int *)(param_1[0x2b] + 0x2c)) &&\n           (((*(uint *)puVar4 & 0xc0000000) != 0x80000000 ||\n            (((*(uint *)(*(int *)(iVar11 + 0xac) + 0xc) ^ *(uint *)(param_1[0x2b] + 0xc)) &\n             0x80000000) == 0)))) {\n          iVar11 = (*(code *)PTR__bfd_elf_match_sections_by_type_001dbe14)\n                             (*(undefined4 *)(puVar4 + 0x34),iVar11,param_1[0x2d],param_1);\n          if (iVar11 != 0) goto LAB_000586a0;\n          if (*(int *)(iVar13 + 0x1c) == 0) {\n            iVar3 = iVar13;\n          }\n        }\n      }\n      iVar13 = (*(code *)PTR_next_matching_output_section_statement_001dbd68)(iVar13,0);\n    } while (iVar13 != 0);\nLAB_000587ec:\n    if (iVar3 != 0) {\n      (*(code *)PTR_lang_add_section_001dbc3c)(iVar3 + 8,param_1,0,iVar3);\n      return iVar3;\n    }\n    param_3 = 0x17e;\n  }" (if "if") (parenthesized_expression "((param_3 == 0) &&\n     (iVar13 = (*(code *)PTR_lang_output_section_statement_lookup_001dbc2c)(param_2,0,0),\n     iVar13 != 0))" (( "(") (binary_expression "(param_3 == 0) &&\n     (iVar13 = (*(code *)PTR_lang_output_section_statement_lookup_001dbc2c)(param_2,0,0),\n     iVar13 != 0)" (parenthesized_expression "(param_3 == 0)" (( "(") (binary_expression "param_3 == 0" (identifier "param_3") (== "==") (number_literal "0")) () ")")) (&& "&&") (parenthesized_expression "(iVar13 = (*(code *)PTR_lang_output_section_statement_lookup_001dbc2c)(param_2,0,0),\n     iVar13 != 0)" (( "(") (comma_expression "iVar13 = (*(code *)PTR_lang_output_section_statement_lookup_001dbc2c)(param_2,0,0),\n     iVar13 != 0" (assignment_expression "iVar13 = (*(code *)PTR_lang_output_section_statement_lookup_001dbc2c)(param_2,0,0)" (identifier "iVar13") (= "=") (call_expression "(*(code *)PTR_lang_output_section_statement_lookup_001dbc2c)(param_2,0,0)" (parenthesized_expression "(*(code *)PTR_lang_output_section_statement_lookup_001dbc2c)" (( "(") (pointer_expression "*(code *)PTR_lang_output_section_statement_lookup_001dbc2c" (* "*") (cast_expression "(code *)PTR_lang_output_section_statement_lookup_001dbc2c" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_lang_output_section_statement_lookup_001dbc2c"))) () ")")) (argument_list "(param_2,0,0)" (( "(") (identifier "param_2") (, ",") (number_literal "0") (, ",") (number_literal "0") () ")")))) (, ",") (binary_expression "iVar13 != 0" (identifier "iVar13") (!= "!=") (number_literal "0"))) () ")"))) () ")")) (compound_statement "{\n    iVar3 = 0;\n    do {\n      while (iVar11 = *(int *)(iVar13 + 0x1c), iVar11 == 0) {\n        iVar11 = (*(code *)PTR_next_matching_output_section_statement_001dbd68)(iVar13,0);\n        iVar3 = iVar13;\n        iVar13 = iVar11;\n        if (iVar11 == 0) goto LAB_000587ec;\n      }\n      if (*(uint *)(iVar11 + 0x14) == 0) goto LAB_000586a0;\n      if (((*(uint *)(iVar11 + 0x14) ^ param_1[5]) & 3) == 0) {\n        if ((iVar8 != 5) || (iVar9 != 5)) goto LAB_000586a0;\n        if ((*(int *)(*(int *)(iVar11 + 0xac) + 0x2c) == *(int *)(param_1[0x2b] + 0x2c)) &&\n           (((*(uint *)puVar4 & 0xc0000000) != 0x80000000 ||\n            (((*(uint *)(*(int *)(iVar11 + 0xac) + 0xc) ^ *(uint *)(param_1[0x2b] + 0xc)) &\n             0x80000000) == 0)))) {\n          iVar11 = (*(code *)PTR__bfd_elf_match_sections_by_type_001dbe14)\n                             (*(undefined4 *)(puVar4 + 0x34),iVar11,param_1[0x2d],param_1);\n          if (iVar11 != 0) goto LAB_000586a0;\n          if (*(int *)(iVar13 + 0x1c) == 0) {\n            iVar3 = iVar13;\n          }\n        }\n      }\n      iVar13 = (*(code *)PTR_next_matching_output_section_statement_001dbd68)(iVar13,0);\n    } while (iVar13 != 0);\nLAB_000587ec:\n    if (iVar3 != 0) {\n      (*(code *)PTR_lang_add_section_001dbc3c)(iVar3 + 8,param_1,0,iVar3);\n      return iVar3;\n    }\n    param_3 = 0x17e;\n  }" ({ "{") (expression_statement "iVar3 = 0;" (assignment_expression "iVar3 = 0" (identifier "iVar3") (= "=") (number_literal "0")) (; ";")) (do_statement "do {\n      while (iVar11 = *(int *)(iVar13 + 0x1c), iVar11 == 0) {\n        iVar11 = (*(code *)PTR_next_matching_output_section_statement_001dbd68)(iVar13,0);\n        iVar3 = iVar13;\n        iVar13 = iVar11;\n        if (iVar11 == 0) goto LAB_000587ec;\n      }\n      if (*(uint *)(iVar11 + 0x14) == 0) goto LAB_000586a0;\n      if (((*(uint *)(iVar11 + 0x14) ^ param_1[5]) & 3) == 0) {\n        if ((iVar8 != 5) || (iVar9 != 5)) goto LAB_000586a0;\n        if ((*(int *)(*(int *)(iVar11 + 0xac) + 0x2c) == *(int *)(param_1[0x2b] + 0x2c)) &&\n           (((*(uint *)puVar4 & 0xc0000000) != 0x80000000 ||\n            (((*(uint *)(*(int *)(iVar11 + 0xac) + 0xc) ^ *(uint *)(param_1[0x2b] + 0xc)) &\n             0x80000000) == 0)))) {\n          iVar11 = (*(code *)PTR__bfd_elf_match_sections_by_type_001dbe14)\n                             (*(undefined4 *)(puVar4 + 0x34),iVar11,param_1[0x2d],param_1);\n          if (iVar11 != 0) goto LAB_000586a0;\n          if (*(int *)(iVar13 + 0x1c) == 0) {\n            iVar3 = iVar13;\n          }\n        }\n      }\n      iVar13 = (*(code *)PTR_next_matching_output_section_statement_001dbd68)(iVar13,0);\n    } while (iVar13 != 0);" (do "do") (compound_statement "{\n      while (iVar11 = *(int *)(iVar13 + 0x1c), iVar11 == 0) {\n        iVar11 = (*(code *)PTR_next_matching_output_section_statement_001dbd68)(iVar13,0);\n        iVar3 = iVar13;\n        iVar13 = iVar11;\n        if (iVar11 == 0) goto LAB_000587ec;\n      }\n      if (*(uint *)(iVar11 + 0x14) == 0) goto LAB_000586a0;\n      if (((*(uint *)(iVar11 + 0x14) ^ param_1[5]) & 3) == 0) {\n        if ((iVar8 != 5) || (iVar9 != 5)) goto LAB_000586a0;\n        if ((*(int *)(*(int *)(iVar11 + 0xac) + 0x2c) == *(int *)(param_1[0x2b] + 0x2c)) &&\n           (((*(uint *)puVar4 & 0xc0000000) != 0x80000000 ||\n            (((*(uint *)(*(int *)(iVar11 + 0xac) + 0xc) ^ *(uint *)(param_1[0x2b] + 0xc)) &\n             0x80000000) == 0)))) {\n          iVar11 = (*(code *)PTR__bfd_elf_match_sections_by_type_001dbe14)\n                             (*(undefined4 *)(puVar4 + 0x34),iVar11,param_1[0x2d],param_1);\n          if (iVar11 != 0) goto LAB_000586a0;\n          if (*(int *)(iVar13 + 0x1c) == 0) {\n            iVar3 = iVar13;\n          }\n        }\n      }\n      iVar13 = (*(code *)PTR_next_matching_output_section_statement_001dbd68)(iVar13,0);\n    }" ({ "{") (while_statement "while (iVar11 = *(int *)(iVar13 + 0x1c), iVar11 == 0) {\n        iVar11 = (*(code *)PTR_next_matching_output_section_statement_001dbd68)(iVar13,0);\n        iVar3 = iVar13;\n        iVar13 = iVar11;\n        if (iVar11 == 0) goto LAB_000587ec;\n      }" (while "while") (parenthesized_expression "(iVar11 = *(int *)(iVar13 + 0x1c), iVar11 == 0)" (( "(") (comma_expression "iVar11 = *(int *)(iVar13 + 0x1c), iVar11 == 0" (assignment_expression "iVar11 = *(int *)(iVar13 + 0x1c)" (identifier "iVar11") (= "=") (pointer_expression "*(int *)(iVar13 + 0x1c)" (* "*") (cast_expression "(int *)(iVar13 + 0x1c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar13 + 0x1c)" (( "(") (binary_expression "iVar13 + 0x1c" (identifier "iVar13") (+ "+") (number_literal "0x1c")) () ")"))))) (, ",") (binary_expression "iVar11 == 0" (identifier "iVar11") (== "==") (number_literal "0"))) () ")")) (compound_statement "{\n        iVar11 = (*(code *)PTR_next_matching_output_section_statement_001dbd68)(iVar13,0);\n        iVar3 = iVar13;\n        iVar13 = iVar11;\n        if (iVar11 == 0) goto LAB_000587ec;\n      }" ({ "{") (expression_statement "iVar11 = (*(code *)PTR_next_matching_output_section_statement_001dbd68)(iVar13,0);" (assignment_expression "iVar11 = (*(code *)PTR_next_matching_output_section_statement_001dbd68)(iVar13,0)" (identifier "iVar11") (= "=") (call_expression "(*(code *)PTR_next_matching_output_section_statement_001dbd68)(iVar13,0)" (parenthesized_expression "(*(code *)PTR_next_matching_output_section_statement_001dbd68)" (( "(") (pointer_expression "*(code *)PTR_next_matching_output_section_statement_001dbd68" (* "*") (cast_expression "(code *)PTR_next_matching_output_section_statement_001dbd68" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_next_matching_output_section_statement_001dbd68"))) () ")")) (argument_list "(iVar13,0)" (( "(") (identifier "iVar13") (, ",") (number_literal "0") () ")")))) (; ";")) (expression_statement "iVar3 = iVar13;" (assignment_expression "iVar3 = iVar13" (identifier "iVar3") (= "=") (identifier "iVar13")) (; ";")) (expression_statement "iVar13 = iVar11;" (assignment_expression "iVar13 = iVar11" (identifier "iVar13") (= "=") (identifier "iVar11")) (; ";")) (if_statement "if (iVar11 == 0) goto LAB_000587ec;" (if "if") (parenthesized_expression "(iVar11 == 0)" (( "(") (binary_expression "iVar11 == 0" (identifier "iVar11") (== "==") (number_literal "0")) () ")")) (goto_statement "goto LAB_000587ec;" (goto "goto") (statement_identifier "LAB_000587ec") (; ";"))) (} "}"))) (if_statement "if (*(uint *)(iVar11 + 0x14) == 0) goto LAB_000586a0;" (if "if") (parenthesized_expression "(*(uint *)(iVar11 + 0x14) == 0)" (( "(") (binary_expression "*(uint *)(iVar11 + 0x14) == 0" (pointer_expression "*(uint *)(iVar11 + 0x14)" (* "*") (cast_expression "(uint *)(iVar11 + 0x14)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar11 + 0x14)" (( "(") (binary_expression "iVar11 + 0x14" (identifier "iVar11") (+ "+") (number_literal "0x14")) () ")")))) (== "==") (number_literal "0")) () ")")) (goto_statement "goto LAB_000586a0;" (goto "goto") (statement_identifier "LAB_000586a0") (; ";"))) (if_statement "if (((*(uint *)(iVar11 + 0x14) ^ param_1[5]) & 3) == 0) {\n        if ((iVar8 != 5) || (iVar9 != 5)) goto LAB_000586a0;\n        if ((*(int *)(*(int *)(iVar11 + 0xac) + 0x2c) == *(int *)(param_1[0x2b] + 0x2c)) &&\n           (((*(uint *)puVar4 & 0xc0000000) != 0x80000000 ||\n            (((*(uint *)(*(int *)(iVar11 + 0xac) + 0xc) ^ *(uint *)(param_1[0x2b] + 0xc)) &\n             0x80000000) == 0)))) {\n          iVar11 = (*(code *)PTR__bfd_elf_match_sections_by_type_001dbe14)\n                             (*(undefined4 *)(puVar4 + 0x34),iVar11,param_1[0x2d],param_1);\n          if (iVar11 != 0) goto LAB_000586a0;\n          if (*(int *)(iVar13 + 0x1c) == 0) {\n            iVar3 = iVar13;\n          }\n        }\n      }" (if "if") (parenthesized_expression "(((*(uint *)(iVar11 + 0x14) ^ param_1[5]) & 3) == 0)" (( "(") (binary_expression "((*(uint *)(iVar11 + 0x14) ^ param_1[5]) & 3) == 0" (parenthesized_expression "((*(uint *)(iVar11 + 0x14) ^ param_1[5]) & 3)" (( "(") (binary_expression "(*(uint *)(iVar11 + 0x14) ^ param_1[5]) & 3" (parenthesized_expression "(*(uint *)(iVar11 + 0x14) ^ param_1[5])" (( "(") (binary_expression "*(uint *)(iVar11 + 0x14) ^ param_1[5]" (pointer_expression "*(uint *)(iVar11 + 0x14)" (* "*") (cast_expression "(uint *)(iVar11 + 0x14)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar11 + 0x14)" (( "(") (binary_expression "iVar11 + 0x14" (identifier "iVar11") (+ "+") (number_literal "0x14")) () ")")))) (^ "^") (subscript_expression "param_1[5]" (identifier "param_1") ([ "[") (number_literal "5") (] "]"))) () ")")) (& "&") (number_literal "3")) () ")")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n        if ((iVar8 != 5) || (iVar9 != 5)) goto LAB_000586a0;\n        if ((*(int *)(*(int *)(iVar11 + 0xac) + 0x2c) == *(int *)(param_1[0x2b] + 0x2c)) &&\n           (((*(uint *)puVar4 & 0xc0000000) != 0x80000000 ||\n            (((*(uint *)(*(int *)(iVar11 + 0xac) + 0xc) ^ *(uint *)(param_1[0x2b] + 0xc)) &\n             0x80000000) == 0)))) {\n          iVar11 = (*(code *)PTR__bfd_elf_match_sections_by_type_001dbe14)\n                             (*(undefined4 *)(puVar4 + 0x34),iVar11,param_1[0x2d],param_1);\n          if (iVar11 != 0) goto LAB_000586a0;\n          if (*(int *)(iVar13 + 0x1c) == 0) {\n            iVar3 = iVar13;\n          }\n        }\n      }" ({ "{") (if_statement "if ((iVar8 != 5) || (iVar9 != 5)) goto LAB_000586a0;" (if "if") (parenthesized_expression "((iVar8 != 5) || (iVar9 != 5))" (( "(") (binary_expression "(iVar8 != 5) || (iVar9 != 5)" (parenthesized_expression "(iVar8 != 5)" (( "(") (binary_expression "iVar8 != 5" (identifier "iVar8") (!= "!=") (number_literal "5")) () ")")) (|| "||") (parenthesized_expression "(iVar9 != 5)" (( "(") (binary_expression "iVar9 != 5" (identifier "iVar9") (!= "!=") (number_literal "5")) () ")"))) () ")")) (goto_statement "goto LAB_000586a0;" (goto "goto") (statement_identifier "LAB_000586a0") (; ";"))) (if_statement "if ((*(int *)(*(int *)(iVar11 + 0xac) + 0x2c) == *(int *)(param_1[0x2b] + 0x2c)) &&\n           (((*(uint *)puVar4 & 0xc0000000) != 0x80000000 ||\n            (((*(uint *)(*(int *)(iVar11 + 0xac) + 0xc) ^ *(uint *)(param_1[0x2b] + 0xc)) &\n             0x80000000) == 0)))) {\n          iVar11 = (*(code *)PTR__bfd_elf_match_sections_by_type_001dbe14)\n                             (*(undefined4 *)(puVar4 + 0x34),iVar11,param_1[0x2d],param_1);\n          if (iVar11 != 0) goto LAB_000586a0;\n          if (*(int *)(iVar13 + 0x1c) == 0) {\n            iVar3 = iVar13;\n          }\n        }" (if "if") (parenthesized_expression "((*(int *)(*(int *)(iVar11 + 0xac) + 0x2c) == *(int *)(param_1[0x2b] + 0x2c)) &&\n           (((*(uint *)puVar4 & 0xc0000000) != 0x80000000 ||\n            (((*(uint *)(*(int *)(iVar11 + 0xac) + 0xc) ^ *(uint *)(param_1[0x2b] + 0xc)) &\n             0x80000000) == 0))))" (( "(") (binary_expression "(*(int *)(*(int *)(iVar11 + 0xac) + 0x2c) == *(int *)(param_1[0x2b] + 0x2c)) &&\n           (((*(uint *)puVar4 & 0xc0000000) != 0x80000000 ||\n            (((*(uint *)(*(int *)(iVar11 + 0xac) + 0xc) ^ *(uint *)(param_1[0x2b] + 0xc)) &\n             0x80000000) == 0)))" (parenthesized_expression "(*(int *)(*(int *)(iVar11 + 0xac) + 0x2c) == *(int *)(param_1[0x2b] + 0x2c))" (( "(") (binary_expression "*(int *)(*(int *)(iVar11 + 0xac) + 0x2c) == *(int *)(param_1[0x2b] + 0x2c)" (pointer_expression "*(int *)(*(int *)(iVar11 + 0xac) + 0x2c)" (* "*") (cast_expression "(int *)(*(int *)(iVar11 + 0xac) + 0x2c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(iVar11 + 0xac) + 0x2c)" (( "(") (binary_expression "*(int *)(iVar11 + 0xac) + 0x2c" (pointer_expression "*(int *)(iVar11 + 0xac)" (* "*") (cast_expression "(int *)(iVar11 + 0xac)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar11 + 0xac)" (( "(") (binary_expression "iVar11 + 0xac" (identifier "iVar11") (+ "+") (number_literal "0xac")) () ")")))) (+ "+") (number_literal "0x2c")) () ")")))) (== "==") (pointer_expression "*(int *)(param_1[0x2b] + 0x2c)" (* "*") (cast_expression "(int *)(param_1[0x2b] + 0x2c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1[0x2b] + 0x2c)" (( "(") (binary_expression "param_1[0x2b] + 0x2c" (subscript_expression "param_1[0x2b]" (identifier "param_1") ([ "[") (number_literal "0x2b") (] "]")) (+ "+") (number_literal "0x2c")) () ")"))))) () ")")) (&& "&&") (parenthesized_expression "(((*(uint *)puVar4 & 0xc0000000) != 0x80000000 ||\n            (((*(uint *)(*(int *)(iVar11 + 0xac) + 0xc) ^ *(uint *)(param_1[0x2b] + 0xc)) &\n             0x80000000) == 0)))" (( "(") (parenthesized_expression "((*(uint *)puVar4 & 0xc0000000) != 0x80000000 ||\n            (((*(uint *)(*(int *)(iVar11 + 0xac) + 0xc) ^ *(uint *)(param_1[0x2b] + 0xc)) &\n             0x80000000) == 0))" (( "(") (binary_expression "(*(uint *)puVar4 & 0xc0000000) != 0x80000000 ||\n            (((*(uint *)(*(int *)(iVar11 + 0xac) + 0xc) ^ *(uint *)(param_1[0x2b] + 0xc)) &\n             0x80000000) == 0)" (binary_expression "(*(uint *)puVar4 & 0xc0000000) != 0x80000000" (parenthesized_expression "(*(uint *)puVar4 & 0xc0000000)" (( "(") (binary_expression "*(uint *)puVar4 & 0xc0000000" (pointer_expression "*(uint *)puVar4" (* "*") (cast_expression "(uint *)puVar4" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "puVar4"))) (& "&") (number_literal "0xc0000000")) () ")")) (!= "!=") (number_literal "0x80000000")) (|| "||") (parenthesized_expression "(((*(uint *)(*(int *)(iVar11 + 0xac) + 0xc) ^ *(uint *)(param_1[0x2b] + 0xc)) &\n             0x80000000) == 0)" (( "(") (binary_expression "((*(uint *)(*(int *)(iVar11 + 0xac) + 0xc) ^ *(uint *)(param_1[0x2b] + 0xc)) &\n             0x80000000) == 0" (parenthesized_expression "((*(uint *)(*(int *)(iVar11 + 0xac) + 0xc) ^ *(uint *)(param_1[0x2b] + 0xc)) &\n             0x80000000)" (( "(") (binary_expression "(*(uint *)(*(int *)(iVar11 + 0xac) + 0xc) ^ *(uint *)(param_1[0x2b] + 0xc)) &\n             0x80000000" (parenthesized_expression "(*(uint *)(*(int *)(iVar11 + 0xac) + 0xc) ^ *(uint *)(param_1[0x2b] + 0xc))" (( "(") (binary_expression "*(uint *)(*(int *)(iVar11 + 0xac) + 0xc) ^ *(uint *)(param_1[0x2b] + 0xc)" (pointer_expression "*(uint *)(*(int *)(iVar11 + 0xac) + 0xc)" (* "*") (cast_expression "(uint *)(*(int *)(iVar11 + 0xac) + 0xc)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(iVar11 + 0xac) + 0xc)" (( "(") (binary_expression "*(int *)(iVar11 + 0xac) + 0xc" (pointer_expression "*(int *)(iVar11 + 0xac)" (* "*") (cast_expression "(int *)(iVar11 + 0xac)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar11 + 0xac)" (( "(") (binary_expression "iVar11 + 0xac" (identifier "iVar11") (+ "+") (number_literal "0xac")) () ")")))) (+ "+") (number_literal "0xc")) () ")")))) (^ "^") (pointer_expression "*(uint *)(param_1[0x2b] + 0xc)" (* "*") (cast_expression "(uint *)(param_1[0x2b] + 0xc)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1[0x2b] + 0xc)" (( "(") (binary_expression "param_1[0x2b] + 0xc" (subscript_expression "param_1[0x2b]" (identifier "param_1") ([ "[") (number_literal "0x2b") (] "]")) (+ "+") (number_literal "0xc")) () ")"))))) () ")")) (& "&") (number_literal "0x80000000")) () ")")) (== "==") (number_literal "0")) () ")"))) () ")")) () ")"))) () ")")) (compound_statement "{\n          iVar11 = (*(code *)PTR__bfd_elf_match_sections_by_type_001dbe14)\n                             (*(undefined4 *)(puVar4 + 0x34),iVar11,param_1[0x2d],param_1);\n          if (iVar11 != 0) goto LAB_000586a0;\n          if (*(int *)(iVar13 + 0x1c) == 0) {\n            iVar3 = iVar13;\n          }\n        }" ({ "{") (expression_statement "iVar11 = (*(code *)PTR__bfd_elf_match_sections_by_type_001dbe14)\n                             (*(undefined4 *)(puVar4 + 0x34),iVar11,param_1[0x2d],param_1);" (assignment_expression "iVar11 = (*(code *)PTR__bfd_elf_match_sections_by_type_001dbe14)\n                             (*(undefined4 *)(puVar4 + 0x34),iVar11,param_1[0x2d],param_1)" (identifier "iVar11") (= "=") (call_expression "(*(code *)PTR__bfd_elf_match_sections_by_type_001dbe14)\n                             (*(undefined4 *)(puVar4 + 0x34),iVar11,param_1[0x2d],param_1)" (parenthesized_expression "(*(code *)PTR__bfd_elf_match_sections_by_type_001dbe14)" (( "(") (pointer_expression "*(code *)PTR__bfd_elf_match_sections_by_type_001dbe14" (* "*") (cast_expression "(code *)PTR__bfd_elf_match_sections_by_type_001dbe14" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR__bfd_elf_match_sections_by_type_001dbe14"))) () ")")) (argument_list "(*(undefined4 *)(puVar4 + 0x34),iVar11,param_1[0x2d],param_1)" (( "(") (pointer_expression "*(undefined4 *)(puVar4 + 0x34)" (* "*") (cast_expression "(undefined4 *)(puVar4 + 0x34)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar4 + 0x34)" (( "(") (binary_expression "puVar4 + 0x34" (identifier "puVar4") (+ "+") (number_literal "0x34")) () ")")))) (, ",") (identifier "iVar11") (, ",") (subscript_expression "param_1[0x2d]" (identifier "param_1") ([ "[") (number_literal "0x2d") (] "]")) (, ",") (identifier "param_1") () ")")))) (; ";")) (if_statement "if (iVar11 != 0) goto LAB_000586a0;" (if "if") (parenthesized_expression "(iVar11 != 0)" (( "(") (binary_expression "iVar11 != 0" (identifier "iVar11") (!= "!=") (number_literal "0")) () ")")) (goto_statement "goto LAB_000586a0;" (goto "goto") (statement_identifier "LAB_000586a0") (; ";"))) (if_statement "if (*(int *)(iVar13 + 0x1c) == 0) {\n            iVar3 = iVar13;\n          }" (if "if") (parenthesized_expression "(*(int *)(iVar13 + 0x1c) == 0)" (( "(") (binary_expression "*(int *)(iVar13 + 0x1c) == 0" (pointer_expression "*(int *)(iVar13 + 0x1c)" (* "*") (cast_expression "(int *)(iVar13 + 0x1c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar13 + 0x1c)" (( "(") (binary_expression "iVar13 + 0x1c" (identifier "iVar13") (+ "+") (number_literal "0x1c")) () ")")))) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n            iVar3 = iVar13;\n          }" ({ "{") (expression_statement "iVar3 = iVar13;" (assignment_expression "iVar3 = iVar13" (identifier "iVar3") (= "=") (identifier "iVar13")) (; ";")) (} "}"))) (} "}"))) (} "}"))) (expression_statement "iVar13 = (*(code *)PTR_next_matching_output_section_statement_001dbd68)(iVar13,0);" (assignment_expression "iVar13 = (*(code *)PTR_next_matching_output_section_statement_001dbd68)(iVar13,0)" (identifier "iVar13") (= "=") (call_expression "(*(code *)PTR_next_matching_output_section_statement_001dbd68)(iVar13,0)" (parenthesized_expression "(*(code *)PTR_next_matching_output_section_statement_001dbd68)" (( "(") (pointer_expression "*(code *)PTR_next_matching_output_section_statement_001dbd68" (* "*") (cast_expression "(code *)PTR_next_matching_output_section_statement_001dbd68" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_next_matching_output_section_statement_001dbd68"))) () ")")) (argument_list "(iVar13,0)" (( "(") (identifier "iVar13") (, ",") (number_literal "0") () ")")))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(iVar13 != 0)" (( "(") (binary_expression "iVar13 != 0" (identifier "iVar13") (!= "!=") (number_literal "0")) () ")")) (; ";")) (labeled_statement "LAB_000587ec:\n    if (iVar3 != 0) {\n      (*(code *)PTR_lang_add_section_001dbc3c)(iVar3 + 8,param_1,0,iVar3);\n      return iVar3;\n    }" (statement_identifier "LAB_000587ec") (: ":") (if_statement "if (iVar3 != 0) {\n      (*(code *)PTR_lang_add_section_001dbc3c)(iVar3 + 8,param_1,0,iVar3);\n      return iVar3;\n    }" (if "if") (parenthesized_expression "(iVar3 != 0)" (( "(") (binary_expression "iVar3 != 0" (identifier "iVar3") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n      (*(code *)PTR_lang_add_section_001dbc3c)(iVar3 + 8,param_1,0,iVar3);\n      return iVar3;\n    }" ({ "{") (expression_statement "(*(code *)PTR_lang_add_section_001dbc3c)(iVar3 + 8,param_1,0,iVar3);" (call_expression "(*(code *)PTR_lang_add_section_001dbc3c)(iVar3 + 8,param_1,0,iVar3)" (parenthesized_expression "(*(code *)PTR_lang_add_section_001dbc3c)" (( "(") (pointer_expression "*(code *)PTR_lang_add_section_001dbc3c" (* "*") (cast_expression "(code *)PTR_lang_add_section_001dbc3c" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_lang_add_section_001dbc3c"))) () ")")) (argument_list "(iVar3 + 8,param_1,0,iVar3)" (( "(") (binary_expression "iVar3 + 8" (identifier "iVar3") (+ "+") (number_literal "8")) (, ",") (identifier "param_1") (, ",") (number_literal "0") (, ",") (identifier "iVar3") () ")"))) (; ";")) (return_statement "return iVar3;" (return "return") (identifier "iVar3") (; ";")) (} "}")))) (expression_statement "param_3 = 0x17e;" (assignment_expression "param_3 = 0x17e" (identifier "param_3") (= "=") (number_literal "0x17e")) (; ";")) (} "}")))) (expression_statement "puVar5 = PTR_DAT_001db8f8;" (assignment_expression "puVar5 = PTR_DAT_001db8f8" (identifier "puVar5") (= "=") (identifier "PTR_DAT_001db8f8")) (; ";")) (if_statement "if (*(int *)(PTR_DAT_001db8f8 + -0x3618) == 0) {\n    piVar10 = (int *)(PTR_DAT_001db8f8 + -0x49e0);\n    piVar12 = (int *)(PTR_DAT_001db8f8 + -0x4908);\n    do {\n      if (*piVar10 != 0) {\n        iVar9 = (*(code *)PTR_lang_output_section_statement_lookup_001dbc2c)(*piVar10,0,0);\n        piVar10[2] = iVar9;\n        if ((iVar9 != 0) && (*(int *)(iVar9 + 0x4c) == 0)) {\n          *(int *)(iVar9 + 0x4c) = piVar10[1];\n        }\n      }\n      piVar10 = piVar10 + 6;\n    } while (piVar10 != piVar12);\n    *(undefined4 *)(puVar5 + -0x3618) = 1;\n  }" (if "if") (parenthesized_expression "(*(int *)(PTR_DAT_001db8f8 + -0x3618) == 0)" (( "(") (binary_expression "*(int *)(PTR_DAT_001db8f8 + -0x3618) == 0" (pointer_expression "*(int *)(PTR_DAT_001db8f8 + -0x3618)" (* "*") (cast_expression "(int *)(PTR_DAT_001db8f8 + -0x3618)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(PTR_DAT_001db8f8 + -0x3618)" (( "(") (binary_expression "PTR_DAT_001db8f8 + -0x3618" (identifier "PTR_DAT_001db8f8") (+ "+") (number_literal "-0x3618")) () ")")))) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n    piVar10 = (int *)(PTR_DAT_001db8f8 + -0x49e0);\n    piVar12 = (int *)(PTR_DAT_001db8f8 + -0x4908);\n    do {\n      if (*piVar10 != 0) {\n        iVar9 = (*(code *)PTR_lang_output_section_statement_lookup_001dbc2c)(*piVar10,0,0);\n        piVar10[2] = iVar9;\n        if ((iVar9 != 0) && (*(int *)(iVar9 + 0x4c) == 0)) {\n          *(int *)(iVar9 + 0x4c) = piVar10[1];\n        }\n      }\n      piVar10 = piVar10 + 6;\n    } while (piVar10 != piVar12);\n    *(undefined4 *)(puVar5 + -0x3618) = 1;\n  }" ({ "{") (expression_statement "piVar10 = (int *)(PTR_DAT_001db8f8 + -0x49e0);" (assignment_expression "piVar10 = (int *)(PTR_DAT_001db8f8 + -0x49e0)" (identifier "piVar10") (= "=") (cast_expression "(int *)(PTR_DAT_001db8f8 + -0x49e0)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(PTR_DAT_001db8f8 + -0x49e0)" (( "(") (binary_expression "PTR_DAT_001db8f8 + -0x49e0" (identifier "PTR_DAT_001db8f8") (+ "+") (number_literal "-0x49e0")) () ")")))) (; ";")) (expression_statement "piVar12 = (int *)(PTR_DAT_001db8f8 + -0x4908);" (assignment_expression "piVar12 = (int *)(PTR_DAT_001db8f8 + -0x4908)" (identifier "piVar12") (= "=") (cast_expression "(int *)(PTR_DAT_001db8f8 + -0x4908)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(PTR_DAT_001db8f8 + -0x4908)" (( "(") (binary_expression "PTR_DAT_001db8f8 + -0x4908" (identifier "PTR_DAT_001db8f8") (+ "+") (number_literal "-0x4908")) () ")")))) (; ";")) (do_statement "do {\n      if (*piVar10 != 0) {\n        iVar9 = (*(code *)PTR_lang_output_section_statement_lookup_001dbc2c)(*piVar10,0,0);\n        piVar10[2] = iVar9;\n        if ((iVar9 != 0) && (*(int *)(iVar9 + 0x4c) == 0)) {\n          *(int *)(iVar9 + 0x4c) = piVar10[1];\n        }\n      }\n      piVar10 = piVar10 + 6;\n    } while (piVar10 != piVar12);" (do "do") (compound_statement "{\n      if (*piVar10 != 0) {\n        iVar9 = (*(code *)PTR_lang_output_section_statement_lookup_001dbc2c)(*piVar10,0,0);\n        piVar10[2] = iVar9;\n        if ((iVar9 != 0) && (*(int *)(iVar9 + 0x4c) == 0)) {\n          *(int *)(iVar9 + 0x4c) = piVar10[1];\n        }\n      }\n      piVar10 = piVar10 + 6;\n    }" ({ "{") (if_statement "if (*piVar10 != 0) {\n        iVar9 = (*(code *)PTR_lang_output_section_statement_lookup_001dbc2c)(*piVar10,0,0);\n        piVar10[2] = iVar9;\n        if ((iVar9 != 0) && (*(int *)(iVar9 + 0x4c) == 0)) {\n          *(int *)(iVar9 + 0x4c) = piVar10[1];\n        }\n      }" (if "if") (parenthesized_expression "(*piVar10 != 0)" (( "(") (binary_expression "*piVar10 != 0" (pointer_expression "*piVar10" (* "*") (identifier "piVar10")) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n        iVar9 = (*(code *)PTR_lang_output_section_statement_lookup_001dbc2c)(*piVar10,0,0);\n        piVar10[2] = iVar9;\n        if ((iVar9 != 0) && (*(int *)(iVar9 + 0x4c) == 0)) {\n          *(int *)(iVar9 + 0x4c) = piVar10[1];\n        }\n      }" ({ "{") (expression_statement "iVar9 = (*(code *)PTR_lang_output_section_statement_lookup_001dbc2c)(*piVar10,0,0);" (assignment_expression "iVar9 = (*(code *)PTR_lang_output_section_statement_lookup_001dbc2c)(*piVar10,0,0)" (identifier "iVar9") (= "=") (call_expression "(*(code *)PTR_lang_output_section_statement_lookup_001dbc2c)(*piVar10,0,0)" (parenthesized_expression "(*(code *)PTR_lang_output_section_statement_lookup_001dbc2c)" (( "(") (pointer_expression "*(code *)PTR_lang_output_section_statement_lookup_001dbc2c" (* "*") (cast_expression "(code *)PTR_lang_output_section_statement_lookup_001dbc2c" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_lang_output_section_statement_lookup_001dbc2c"))) () ")")) (argument_list "(*piVar10,0,0)" (( "(") (pointer_expression "*piVar10" (* "*") (identifier "piVar10")) (, ",") (number_literal "0") (, ",") (number_literal "0") () ")")))) (; ";")) (expression_statement "piVar10[2] = iVar9;" (assignment_expression "piVar10[2] = iVar9" (subscript_expression "piVar10[2]" (identifier "piVar10") ([ "[") (number_literal "2") (] "]")) (= "=") (identifier "iVar9")) (; ";")) (if_statement "if ((iVar9 != 0) && (*(int *)(iVar9 + 0x4c) == 0)) {\n          *(int *)(iVar9 + 0x4c) = piVar10[1];\n        }" (if "if") (parenthesized_expression "((iVar9 != 0) && (*(int *)(iVar9 + 0x4c) == 0))" (( "(") (binary_expression "(iVar9 != 0) && (*(int *)(iVar9 + 0x4c) == 0)" (parenthesized_expression "(iVar9 != 0)" (( "(") (binary_expression "iVar9 != 0" (identifier "iVar9") (!= "!=") (number_literal "0")) () ")")) (&& "&&") (parenthesized_expression "(*(int *)(iVar9 + 0x4c) == 0)" (( "(") (binary_expression "*(int *)(iVar9 + 0x4c) == 0" (pointer_expression "*(int *)(iVar9 + 0x4c)" (* "*") (cast_expression "(int *)(iVar9 + 0x4c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar9 + 0x4c)" (( "(") (binary_expression "iVar9 + 0x4c" (identifier "iVar9") (+ "+") (number_literal "0x4c")) () ")")))) (== "==") (number_literal "0")) () ")"))) () ")")) (compound_statement "{\n          *(int *)(iVar9 + 0x4c) = piVar10[1];\n        }" ({ "{") (expression_statement "*(int *)(iVar9 + 0x4c) = piVar10[1];" (assignment_expression "*(int *)(iVar9 + 0x4c) = piVar10[1]" (pointer_expression "*(int *)(iVar9 + 0x4c)" (* "*") (cast_expression "(int *)(iVar9 + 0x4c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar9 + 0x4c)" (( "(") (binary_expression "iVar9 + 0x4c" (identifier "iVar9") (+ "+") (number_literal "0x4c")) () ")")))) (= "=") (subscript_expression "piVar10[1]" (identifier "piVar10") ([ "[") (number_literal "1") (] "]"))) (; ";")) (} "}"))) (} "}"))) (expression_statement "piVar10 = piVar10 + 6;" (assignment_expression "piVar10 = piVar10 + 6" (identifier "piVar10") (= "=") (binary_expression "piVar10 + 6" (identifier "piVar10") (+ "+") (number_literal "6"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(piVar10 != piVar12)" (( "(") (binary_expression "piVar10 != piVar12" (identifier "piVar10") (!= "!=") (identifier "piVar12")) () ")")) (; ";")) (expression_statement "*(undefined4 *)(puVar5 + -0x3618) = 1;" (assignment_expression "*(undefined4 *)(puVar5 + -0x3618) = 1" (pointer_expression "*(undefined4 *)(puVar5 + -0x3618)" (* "*") (cast_expression "(undefined4 *)(puVar5 + -0x3618)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar5 + -0x3618)" (( "(") (binary_expression "puVar5 + -0x3618" (identifier "puVar5") (+ "+") (number_literal "-0x3618")) () ")")))) (= "=") (number_literal "1")) (; ";")) (} "}"))) (if_statement "if ((int)*(uint *)puVar4 < 0) {\n    uVar6 = param_1[5];\n    if ((*(uint *)puVar4 & 0xc0000000) != 0x80000000) goto LAB_000585fc;\n  }\n  else {\n    iVar9 = (*(code *)PTR_strncmp_001dbe60)\n                      (*param_1,PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb78,0xd);\n    if ((iVar9 == 0) && (iVar13 = *(int *)(PTR_DAT_001db8f8 + -0x49d8), iVar13 != 0)) {\nLAB_000586a0:\n      (*(code *)PTR_lang_add_section_001dbc3c)(iVar13 + 8,param_1,0,iVar13);\n      return iVar13;\n    }\n    uVar6 = param_1[5];\nLAB_000585fc:\n    iVar9 = param_1[0x2d];\n    piVar10 = param_1;\n    while (piVar10 = (int *)(*(code *)PTR_bfd_get_next_section_by_name_001dbf68)(iVar9,piVar10),\n          piVar10 != (int *)0x0) {\n      iVar9 = piVar10[0x2d];\n      if ((((piVar10[0x16] == 0) && (((piVar10[5] ^ uVar6) & 3) == 0 && (piVar10[5] & 0x8000U) == 0)\n           ) && (-1 < *(int *)(iVar9 + 0x28) << 0x12)) &&\n         ((*(int *)(iVar9 + 0xac) != 0 &&\n          ((*(ushort *)(*(int *)(iVar9 + 0xac) + 0x24) & 0x800) == 0)))) {\n        iVar9 = (*(code *)PTR__bfd_elf_match_sections_by_type_001dbe14)\n                          (iVar9,piVar10,param_1[0x2d],param_1);\n        if (iVar9 == 0) {\n          iVar9 = piVar10[0x2d];\n        }\n        else {\n          iVar9 = piVar10[0x2d];\n          uVar6 = (piVar10[5] ^ 8U | uVar6 ^ 8) ^ 8;\n        }\n      }\n    }\n  }" (if "if") (parenthesized_expression "((int)*(uint *)puVar4 < 0)" (( "(") (binary_expression "(int)*(uint *)puVar4 < 0" (cast_expression "(int)*(uint *)puVar4" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (pointer_expression "*(uint *)puVar4" (* "*") (cast_expression "(uint *)puVar4" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "puVar4")))) (< "<") (number_literal "0")) () ")")) (compound_statement "{\n    uVar6 = param_1[5];\n    if ((*(uint *)puVar4 & 0xc0000000) != 0x80000000) goto LAB_000585fc;\n  }" ({ "{") (expression_statement "uVar6 = param_1[5];" (assignment_expression "uVar6 = param_1[5]" (identifier "uVar6") (= "=") (subscript_expression "param_1[5]" (identifier "param_1") ([ "[") (number_literal "5") (] "]"))) (; ";")) (if_statement "if ((*(uint *)puVar4 & 0xc0000000) != 0x80000000) goto LAB_000585fc;" (if "if") (parenthesized_expression "((*(uint *)puVar4 & 0xc0000000) != 0x80000000)" (( "(") (binary_expression "(*(uint *)puVar4 & 0xc0000000) != 0x80000000" (parenthesized_expression "(*(uint *)puVar4 & 0xc0000000)" (( "(") (binary_expression "*(uint *)puVar4 & 0xc0000000" (pointer_expression "*(uint *)puVar4" (* "*") (cast_expression "(uint *)puVar4" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "puVar4"))) (& "&") (number_literal "0xc0000000")) () ")")) (!= "!=") (number_literal "0x80000000")) () ")")) (goto_statement "goto LAB_000585fc;" (goto "goto") (statement_identifier "LAB_000585fc") (; ";"))) (} "}")) (else_clause "else {\n    iVar9 = (*(code *)PTR_strncmp_001dbe60)\n                      (*param_1,PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb78,0xd);\n    if ((iVar9 == 0) && (iVar13 = *(int *)(PTR_DAT_001db8f8 + -0x49d8), iVar13 != 0)) {\nLAB_000586a0:\n      (*(code *)PTR_lang_add_section_001dbc3c)(iVar13 + 8,param_1,0,iVar13);\n      return iVar13;\n    }\n    uVar6 = param_1[5];\nLAB_000585fc:\n    iVar9 = param_1[0x2d];\n    piVar10 = param_1;\n    while (piVar10 = (int *)(*(code *)PTR_bfd_get_next_section_by_name_001dbf68)(iVar9,piVar10),\n          piVar10 != (int *)0x0) {\n      iVar9 = piVar10[0x2d];\n      if ((((piVar10[0x16] == 0) && (((piVar10[5] ^ uVar6) & 3) == 0 && (piVar10[5] & 0x8000U) == 0)\n           ) && (-1 < *(int *)(iVar9 + 0x28) << 0x12)) &&\n         ((*(int *)(iVar9 + 0xac) != 0 &&\n          ((*(ushort *)(*(int *)(iVar9 + 0xac) + 0x24) & 0x800) == 0)))) {\n        iVar9 = (*(code *)PTR__bfd_elf_match_sections_by_type_001dbe14)\n                          (iVar9,piVar10,param_1[0x2d],param_1);\n        if (iVar9 == 0) {\n          iVar9 = piVar10[0x2d];\n        }\n        else {\n          iVar9 = piVar10[0x2d];\n          uVar6 = (piVar10[5] ^ 8U | uVar6 ^ 8) ^ 8;\n        }\n      }\n    }\n  }" (else "else") (compound_statement "{\n    iVar9 = (*(code *)PTR_strncmp_001dbe60)\n                      (*param_1,PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb78,0xd);\n    if ((iVar9 == 0) && (iVar13 = *(int *)(PTR_DAT_001db8f8 + -0x49d8), iVar13 != 0)) {\nLAB_000586a0:\n      (*(code *)PTR_lang_add_section_001dbc3c)(iVar13 + 8,param_1,0,iVar13);\n      return iVar13;\n    }\n    uVar6 = param_1[5];\nLAB_000585fc:\n    iVar9 = param_1[0x2d];\n    piVar10 = param_1;\n    while (piVar10 = (int *)(*(code *)PTR_bfd_get_next_section_by_name_001dbf68)(iVar9,piVar10),\n          piVar10 != (int *)0x0) {\n      iVar9 = piVar10[0x2d];\n      if ((((piVar10[0x16] == 0) && (((piVar10[5] ^ uVar6) & 3) == 0 && (piVar10[5] & 0x8000U) == 0)\n           ) && (-1 < *(int *)(iVar9 + 0x28) << 0x12)) &&\n         ((*(int *)(iVar9 + 0xac) != 0 &&\n          ((*(ushort *)(*(int *)(iVar9 + 0xac) + 0x24) & 0x800) == 0)))) {\n        iVar9 = (*(code *)PTR__bfd_elf_match_sections_by_type_001dbe14)\n                          (iVar9,piVar10,param_1[0x2d],param_1);\n        if (iVar9 == 0) {\n          iVar9 = piVar10[0x2d];\n        }\n        else {\n          iVar9 = piVar10[0x2d];\n          uVar6 = (piVar10[5] ^ 8U | uVar6 ^ 8) ^ 8;\n        }\n      }\n    }\n  }" ({ "{") (expression_statement "iVar9 = (*(code *)PTR_strncmp_001dbe60)\n                      (*param_1,PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb78,0xd);" (assignment_expression "iVar9 = (*(code *)PTR_strncmp_001dbe60)\n                      (*param_1,PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb78,0xd)" (identifier "iVar9") (= "=") (call_expression "(*(code *)PTR_strncmp_001dbe60)\n                      (*param_1,PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb78,0xd)" (parenthesized_expression "(*(code *)PTR_strncmp_001dbe60)" (( "(") (pointer_expression "*(code *)PTR_strncmp_001dbe60" (* "*") (cast_expression "(code *)PTR_strncmp_001dbe60" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_strncmp_001dbe60"))) () ")")) (argument_list "(*param_1,PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb78,0xd)" (( "(") (pointer_expression "*param_1" (* "*") (identifier "param_1")) (, ",") (binary_expression "PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb78" (identifier "PTR_s____debug_str_____debug_loc_0_____001db974") (+ "+") (number_literal "0xb78")) (, ",") (number_literal "0xd") () ")")))) (; ";")) (if_statement "if ((iVar9 == 0) && (iVar13 = *(int *)(PTR_DAT_001db8f8 + -0x49d8), iVar13 != 0)) {\nLAB_000586a0:\n      (*(code *)PTR_lang_add_section_001dbc3c)(iVar13 + 8,param_1,0,iVar13);\n      return iVar13;\n    }" (if "if") (parenthesized_expression "((iVar9 == 0) && (iVar13 = *(int *)(PTR_DAT_001db8f8 + -0x49d8), iVar13 != 0))" (( "(") (binary_expression "(iVar9 == 0) && (iVar13 = *(int *)(PTR_DAT_001db8f8 + -0x49d8), iVar13 != 0)" (parenthesized_expression "(iVar9 == 0)" (( "(") (binary_expression "iVar9 == 0" (identifier "iVar9") (== "==") (number_literal "0")) () ")")) (&& "&&") (parenthesized_expression "(iVar13 = *(int *)(PTR_DAT_001db8f8 + -0x49d8), iVar13 != 0)" (( "(") (comma_expression "iVar13 = *(int *)(PTR_DAT_001db8f8 + -0x49d8), iVar13 != 0" (assignment_expression "iVar13 = *(int *)(PTR_DAT_001db8f8 + -0x49d8)" (identifier "iVar13") (= "=") (pointer_expression "*(int *)(PTR_DAT_001db8f8 + -0x49d8)" (* "*") (cast_expression "(int *)(PTR_DAT_001db8f8 + -0x49d8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(PTR_DAT_001db8f8 + -0x49d8)" (( "(") (binary_expression "PTR_DAT_001db8f8 + -0x49d8" (identifier "PTR_DAT_001db8f8") (+ "+") (number_literal "-0x49d8")) () ")"))))) (, ",") (binary_expression "iVar13 != 0" (identifier "iVar13") (!= "!=") (number_literal "0"))) () ")"))) () ")")) (compound_statement "{\nLAB_000586a0:\n      (*(code *)PTR_lang_add_section_001dbc3c)(iVar13 + 8,param_1,0,iVar13);\n      return iVar13;\n    }" ({ "{") (labeled_statement "LAB_000586a0:\n      (*(code *)PTR_lang_add_section_001dbc3c)(iVar13 + 8,param_1,0,iVar13);" (statement_identifier "LAB_000586a0") (: ":") (expression_statement "(*(code *)PTR_lang_add_section_001dbc3c)(iVar13 + 8,param_1,0,iVar13);" (call_expression "(*(code *)PTR_lang_add_section_001dbc3c)(iVar13 + 8,param_1,0,iVar13)" (parenthesized_expression "(*(code *)PTR_lang_add_section_001dbc3c)" (( "(") (pointer_expression "*(code *)PTR_lang_add_section_001dbc3c" (* "*") (cast_expression "(code *)PTR_lang_add_section_001dbc3c" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_lang_add_section_001dbc3c"))) () ")")) (argument_list "(iVar13 + 8,param_1,0,iVar13)" (( "(") (binary_expression "iVar13 + 8" (identifier "iVar13") (+ "+") (number_literal "8")) (, ",") (identifier "param_1") (, ",") (number_literal "0") (, ",") (identifier "iVar13") () ")"))) (; ";"))) (return_statement "return iVar13;" (return "return") (identifier "iVar13") (; ";")) (} "}"))) (expression_statement "uVar6 = param_1[5];" (assignment_expression "uVar6 = param_1[5]" (identifier "uVar6") (= "=") (subscript_expression "param_1[5]" (identifier "param_1") ([ "[") (number_literal "5") (] "]"))) (; ";")) (labeled_statement "LAB_000585fc:\n    iVar9 = param_1[0x2d];" (statement_identifier "LAB_000585fc") (: ":") (expression_statement "iVar9 = param_1[0x2d];" (assignment_expression "iVar9 = param_1[0x2d]" (identifier "iVar9") (= "=") (subscript_expression "param_1[0x2d]" (identifier "param_1") ([ "[") (number_literal "0x2d") (] "]"))) (; ";"))) (expression_statement "piVar10 = param_1;" (assignment_expression "piVar10 = param_1" (identifier "piVar10") (= "=") (identifier "param_1")) (; ";")) (while_statement "while (piVar10 = (int *)(*(code *)PTR_bfd_get_next_section_by_name_001dbf68)(iVar9,piVar10),\n          piVar10 != (int *)0x0) {\n      iVar9 = piVar10[0x2d];\n      if ((((piVar10[0x16] == 0) && (((piVar10[5] ^ uVar6) & 3) == 0 && (piVar10[5] & 0x8000U) == 0)\n           ) && (-1 < *(int *)(iVar9 + 0x28) << 0x12)) &&\n         ((*(int *)(iVar9 + 0xac) != 0 &&\n          ((*(ushort *)(*(int *)(iVar9 + 0xac) + 0x24) & 0x800) == 0)))) {\n        iVar9 = (*(code *)PTR__bfd_elf_match_sections_by_type_001dbe14)\n                          (iVar9,piVar10,param_1[0x2d],param_1);\n        if (iVar9 == 0) {\n          iVar9 = piVar10[0x2d];\n        }\n        else {\n          iVar9 = piVar10[0x2d];\n          uVar6 = (piVar10[5] ^ 8U | uVar6 ^ 8) ^ 8;\n        }\n      }\n    }" (while "while") (parenthesized_expression "(piVar10 = (int *)(*(code *)PTR_bfd_get_next_section_by_name_001dbf68)(iVar9,piVar10),\n          piVar10 != (int *)0x0)" (( "(") (comma_expression "piVar10 = (int *)(*(code *)PTR_bfd_get_next_section_by_name_001dbf68)(iVar9,piVar10),\n          piVar10 != (int *)0x0" (assignment_expression "piVar10 = (int *)(*(code *)PTR_bfd_get_next_section_by_name_001dbf68)(iVar9,piVar10)" (identifier "piVar10") (= "=") (cast_expression "(int *)(*(code *)PTR_bfd_get_next_section_by_name_001dbf68)(iVar9,piVar10)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(*(code *)PTR_bfd_get_next_section_by_name_001dbf68)(iVar9,piVar10)" (parenthesized_expression "(*(code *)PTR_bfd_get_next_section_by_name_001dbf68)" (( "(") (pointer_expression "*(code *)PTR_bfd_get_next_section_by_name_001dbf68" (* "*") (cast_expression "(code *)PTR_bfd_get_next_section_by_name_001dbf68" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_bfd_get_next_section_by_name_001dbf68"))) () ")")) (argument_list "(iVar9,piVar10)" (( "(") (identifier "iVar9") (, ",") (identifier "piVar10") () ")"))))) (, ",") (binary_expression "piVar10 != (int *)0x0" (identifier "piVar10") (!= "!=") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0")))) () ")")) (compound_statement "{\n      iVar9 = piVar10[0x2d];\n      if ((((piVar10[0x16] == 0) && (((piVar10[5] ^ uVar6) & 3) == 0 && (piVar10[5] & 0x8000U) == 0)\n           ) && (-1 < *(int *)(iVar9 + 0x28) << 0x12)) &&\n         ((*(int *)(iVar9 + 0xac) != 0 &&\n          ((*(ushort *)(*(int *)(iVar9 + 0xac) + 0x24) & 0x800) == 0)))) {\n        iVar9 = (*(code *)PTR__bfd_elf_match_sections_by_type_001dbe14)\n                          (iVar9,piVar10,param_1[0x2d],param_1);\n        if (iVar9 == 0) {\n          iVar9 = piVar10[0x2d];\n        }\n        else {\n          iVar9 = piVar10[0x2d];\n          uVar6 = (piVar10[5] ^ 8U | uVar6 ^ 8) ^ 8;\n        }\n      }\n    }" ({ "{") (expression_statement "iVar9 = piVar10[0x2d];" (assignment_expression "iVar9 = piVar10[0x2d]" (identifier "iVar9") (= "=") (subscript_expression "piVar10[0x2d]" (identifier "piVar10") ([ "[") (number_literal "0x2d") (] "]"))) (; ";")) (if_statement "if ((((piVar10[0x16] == 0) && (((piVar10[5] ^ uVar6) & 3) == 0 && (piVar10[5] & 0x8000U) == 0)\n           ) && (-1 < *(int *)(iVar9 + 0x28) << 0x12)) &&\n         ((*(int *)(iVar9 + 0xac) != 0 &&\n          ((*(ushort *)(*(int *)(iVar9 + 0xac) + 0x24) & 0x800) == 0)))) {\n        iVar9 = (*(code *)PTR__bfd_elf_match_sections_by_type_001dbe14)\n                          (iVar9,piVar10,param_1[0x2d],param_1);\n        if (iVar9 == 0) {\n          iVar9 = piVar10[0x2d];\n        }\n        else {\n          iVar9 = piVar10[0x2d];\n          uVar6 = (piVar10[5] ^ 8U | uVar6 ^ 8) ^ 8;\n        }\n      }" (if "if") (parenthesized_expression "((((piVar10[0x16] == 0) && (((piVar10[5] ^ uVar6) & 3) == 0 && (piVar10[5] & 0x8000U) == 0)\n           ) && (-1 < *(int *)(iVar9 + 0x28) << 0x12)) &&\n         ((*(int *)(iVar9 + 0xac) != 0 &&\n          ((*(ushort *)(*(int *)(iVar9 + 0xac) + 0x24) & 0x800) == 0))))" (( "(") (binary_expression "(((piVar10[0x16] == 0) && (((piVar10[5] ^ uVar6) & 3) == 0 && (piVar10[5] & 0x8000U) == 0)\n           ) && (-1 < *(int *)(iVar9 + 0x28) << 0x12)) &&\n         ((*(int *)(iVar9 + 0xac) != 0 &&\n          ((*(ushort *)(*(int *)(iVar9 + 0xac) + 0x24) & 0x800) == 0)))" (parenthesized_expression "(((piVar10[0x16] == 0) && (((piVar10[5] ^ uVar6) & 3) == 0 && (piVar10[5] & 0x8000U) == 0)\n           ) && (-1 < *(int *)(iVar9 + 0x28) << 0x12))" (( "(") (binary_expression "((piVar10[0x16] == 0) && (((piVar10[5] ^ uVar6) & 3) == 0 && (piVar10[5] & 0x8000U) == 0)\n           ) && (-1 < *(int *)(iVar9 + 0x28) << 0x12)" (parenthesized_expression "((piVar10[0x16] == 0) && (((piVar10[5] ^ uVar6) & 3) == 0 && (piVar10[5] & 0x8000U) == 0)\n           )" (( "(") (binary_expression "(piVar10[0x16] == 0) && (((piVar10[5] ^ uVar6) & 3) == 0 && (piVar10[5] & 0x8000U) == 0)" (parenthesized_expression "(piVar10[0x16] == 0)" (( "(") (binary_expression "piVar10[0x16] == 0" (subscript_expression "piVar10[0x16]" (identifier "piVar10") ([ "[") (number_literal "0x16") (] "]")) (== "==") (number_literal "0")) () ")")) (&& "&&") (parenthesized_expression "(((piVar10[5] ^ uVar6) & 3) == 0 && (piVar10[5] & 0x8000U) == 0)" (( "(") (binary_expression "((piVar10[5] ^ uVar6) & 3) == 0 && (piVar10[5] & 0x8000U) == 0" (binary_expression "((piVar10[5] ^ uVar6) & 3) == 0" (parenthesized_expression "((piVar10[5] ^ uVar6) & 3)" (( "(") (binary_expression "(piVar10[5] ^ uVar6) & 3" (parenthesized_expression "(piVar10[5] ^ uVar6)" (( "(") (binary_expression "piVar10[5] ^ uVar6" (subscript_expression "piVar10[5]" (identifier "piVar10") ([ "[") (number_literal "5") (] "]")) (^ "^") (identifier "uVar6")) () ")")) (& "&") (number_literal "3")) () ")")) (== "==") (number_literal "0")) (&& "&&") (binary_expression "(piVar10[5] & 0x8000U) == 0" (parenthesized_expression "(piVar10[5] & 0x8000U)" (( "(") (binary_expression "piVar10[5] & 0x8000U" (subscript_expression "piVar10[5]" (identifier "piVar10") ([ "[") (number_literal "5") (] "]")) (& "&") (number_literal "0x8000U")) () ")")) (== "==") (number_literal "0"))) () ")"))) () ")")) (&& "&&") (parenthesized_expression "(-1 < *(int *)(iVar9 + 0x28) << 0x12)" (( "(") (binary_expression "-1 < *(int *)(iVar9 + 0x28) << 0x12" (number_literal "-1") (< "<") (binary_expression "*(int *)(iVar9 + 0x28) << 0x12" (pointer_expression "*(int *)(iVar9 + 0x28)" (* "*") (cast_expression "(int *)(iVar9 + 0x28)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar9 + 0x28)" (( "(") (binary_expression "iVar9 + 0x28" (identifier "iVar9") (+ "+") (number_literal "0x28")) () ")")))) (<< "<<") (number_literal "0x12"))) () ")"))) () ")")) (&& "&&") (parenthesized_expression "((*(int *)(iVar9 + 0xac) != 0 &&\n          ((*(ushort *)(*(int *)(iVar9 + 0xac) + 0x24) & 0x800) == 0)))" (( "(") (parenthesized_expression "(*(int *)(iVar9 + 0xac) != 0 &&\n          ((*(ushort *)(*(int *)(iVar9 + 0xac) + 0x24) & 0x800) == 0))" (( "(") (binary_expression "*(int *)(iVar9 + 0xac) != 0 &&\n          ((*(ushort *)(*(int *)(iVar9 + 0xac) + 0x24) & 0x800) == 0)" (binary_expression "*(int *)(iVar9 + 0xac) != 0" (pointer_expression "*(int *)(iVar9 + 0xac)" (* "*") (cast_expression "(int *)(iVar9 + 0xac)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar9 + 0xac)" (( "(") (binary_expression "iVar9 + 0xac" (identifier "iVar9") (+ "+") (number_literal "0xac")) () ")")))) (!= "!=") (number_literal "0")) (&& "&&") (parenthesized_expression "((*(ushort *)(*(int *)(iVar9 + 0xac) + 0x24) & 0x800) == 0)" (( "(") (binary_expression "(*(ushort *)(*(int *)(iVar9 + 0xac) + 0x24) & 0x800) == 0" (parenthesized_expression "(*(ushort *)(*(int *)(iVar9 + 0xac) + 0x24) & 0x800)" (( "(") (binary_expression "*(ushort *)(*(int *)(iVar9 + 0xac) + 0x24) & 0x800" (pointer_expression "*(ushort *)(*(int *)(iVar9 + 0xac) + 0x24)" (* "*") (cast_expression "(ushort *)(*(int *)(iVar9 + 0xac) + 0x24)" (( "(") (type_descriptor "ushort *" (type_identifier "ushort") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(iVar9 + 0xac) + 0x24)" (( "(") (binary_expression "*(int *)(iVar9 + 0xac) + 0x24" (pointer_expression "*(int *)(iVar9 + 0xac)" (* "*") (cast_expression "(int *)(iVar9 + 0xac)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar9 + 0xac)" (( "(") (binary_expression "iVar9 + 0xac" (identifier "iVar9") (+ "+") (number_literal "0xac")) () ")")))) (+ "+") (number_literal "0x24")) () ")")))) (& "&") (number_literal "0x800")) () ")")) (== "==") (number_literal "0")) () ")"))) () ")")) () ")"))) () ")")) (compound_statement "{\n        iVar9 = (*(code *)PTR__bfd_elf_match_sections_by_type_001dbe14)\n                          (iVar9,piVar10,param_1[0x2d],param_1);\n        if (iVar9 == 0) {\n          iVar9 = piVar10[0x2d];\n        }\n        else {\n          iVar9 = piVar10[0x2d];\n          uVar6 = (piVar10[5] ^ 8U | uVar6 ^ 8) ^ 8;\n        }\n      }" ({ "{") (expression_statement "iVar9 = (*(code *)PTR__bfd_elf_match_sections_by_type_001dbe14)\n                          (iVar9,piVar10,param_1[0x2d],param_1);" (assignment_expression "iVar9 = (*(code *)PTR__bfd_elf_match_sections_by_type_001dbe14)\n                          (iVar9,piVar10,param_1[0x2d],param_1)" (identifier "iVar9") (= "=") (call_expression "(*(code *)PTR__bfd_elf_match_sections_by_type_001dbe14)\n                          (iVar9,piVar10,param_1[0x2d],param_1)" (parenthesized_expression "(*(code *)PTR__bfd_elf_match_sections_by_type_001dbe14)" (( "(") (pointer_expression "*(code *)PTR__bfd_elf_match_sections_by_type_001dbe14" (* "*") (cast_expression "(code *)PTR__bfd_elf_match_sections_by_type_001dbe14" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR__bfd_elf_match_sections_by_type_001dbe14"))) () ")")) (argument_list "(iVar9,piVar10,param_1[0x2d],param_1)" (( "(") (identifier "iVar9") (, ",") (identifier "piVar10") (, ",") (subscript_expression "param_1[0x2d]" (identifier "param_1") ([ "[") (number_literal "0x2d") (] "]")) (, ",") (identifier "param_1") () ")")))) (; ";")) (if_statement "if (iVar9 == 0) {\n          iVar9 = piVar10[0x2d];\n        }\n        else {\n          iVar9 = piVar10[0x2d];\n          uVar6 = (piVar10[5] ^ 8U | uVar6 ^ 8) ^ 8;\n        }" (if "if") (parenthesized_expression "(iVar9 == 0)" (( "(") (binary_expression "iVar9 == 0" (identifier "iVar9") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n          iVar9 = piVar10[0x2d];\n        }" ({ "{") (expression_statement "iVar9 = piVar10[0x2d];" (assignment_expression "iVar9 = piVar10[0x2d]" (identifier "iVar9") (= "=") (subscript_expression "piVar10[0x2d]" (identifier "piVar10") ([ "[") (number_literal "0x2d") (] "]"))) (; ";")) (} "}")) (else_clause "else {\n          iVar9 = piVar10[0x2d];\n          uVar6 = (piVar10[5] ^ 8U | uVar6 ^ 8) ^ 8;\n        }" (else "else") (compound_statement "{\n          iVar9 = piVar10[0x2d];\n          uVar6 = (piVar10[5] ^ 8U | uVar6 ^ 8) ^ 8;\n        }" ({ "{") (expression_statement "iVar9 = piVar10[0x2d];" (assignment_expression "iVar9 = piVar10[0x2d]" (identifier "iVar9") (= "=") (subscript_expression "piVar10[0x2d]" (identifier "piVar10") ([ "[") (number_literal "0x2d") (] "]"))) (; ";")) (expression_statement "uVar6 = (piVar10[5] ^ 8U | uVar6 ^ 8) ^ 8;" (assignment_expression "uVar6 = (piVar10[5] ^ 8U | uVar6 ^ 8) ^ 8" (identifier "uVar6") (= "=") (binary_expression "(piVar10[5] ^ 8U | uVar6 ^ 8) ^ 8" (parenthesized_expression "(piVar10[5] ^ 8U | uVar6 ^ 8)" (( "(") (binary_expression "piVar10[5] ^ 8U | uVar6 ^ 8" (binary_expression "piVar10[5] ^ 8U" (subscript_expression "piVar10[5]" (identifier "piVar10") ([ "[") (number_literal "5") (] "]")) (^ "^") (number_literal "8U")) (| "|") (binary_expression "uVar6 ^ 8" (identifier "uVar6") (^ "^") (number_literal "8"))) () ")")) (^ "^") (number_literal "8"))) (; ";")) (} "}")))) (} "}"))) (} "}"))) (} "}")))) (if_statement "if ((uVar6 & 0x2001) == 0) {\n    piVar10 = (int *)(PTR_DAT_001db8f8 + -0x4920);\n  }\n  else {\n    piVar10 = (int *)0x0;\n    if ((uVar6 & 1) == 0) {\n      local_40 = 0;\n      goto LAB_00058810;\n    }\n    if ((uVar6 & 2) != 0) {\n      if (iVar8 == 5) {\n        if (local_44 == 7) goto LAB_000589f8;\n      }\n      else {\n        iVar9 = (*(code *)PTR_strncmp_001dbe60)\n                          (param_2,PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb68,5);\n        if (iVar9 == 0) {\nLAB_000589f8:\n          piVar10 = (int *)(PTR_DAT_001db8f8 + -0x4950);\n          goto LAB_00058800;\n        }\n      }\n    }\n    if ((uVar6 & 0x502) == 0) {\n      piVar10 = (int *)(PTR_DAT_001db8f8 + -0x4980);\n    }\n    else if ((int)(uVar6 << 9) < 0) {\n      piVar10 = (int *)(PTR_DAT_001db8f8 + -0x4938);\n    }\n    else if ((uVar6 & 0x400) == 0) {\n      if ((uVar6 & 8) == 0) {\n        piVar10 = (int *)(PTR_DAT_001db8f8 + -0x4998);\n      }\n      else {\n        if (iVar8 == 5) {\n          if ((local_44 == 4) || (local_44 == 9)) goto LAB_000585b8;\n        }\n        else {\n          iVar8 = (*(code *)PTR_strncmp_001dbe60)\n                            (param_2,PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb60,4);\n          if (iVar8 == 0) {\nLAB_000585b8:\n            if ((uVar6 & 2) != 0) {\n              piVar10 = (int *)(PTR_DAT_001db8f8 + -0x4968);\n              goto LAB_00058800;\n            }\n          }\n        }\n        if ((uVar6 & 0x10) == 0) {\n          piVar10 = (int *)(PTR_DAT_001db8f8 + -0x49c8);\n        }\n        else {\n          piVar10 = (int *)(PTR_DAT_001db8f8 + -0x49e0);\n        }\n      }\n    }\n    else {\n      piVar10 = (int *)(PTR_DAT_001db8f8 + -0x49b0);\n    }\n  }" (if "if") (parenthesized_expression "((uVar6 & 0x2001) == 0)" (( "(") (binary_expression "(uVar6 & 0x2001) == 0" (parenthesized_expression "(uVar6 & 0x2001)" (( "(") (binary_expression "uVar6 & 0x2001" (identifier "uVar6") (& "&") (number_literal "0x2001")) () ")")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n    piVar10 = (int *)(PTR_DAT_001db8f8 + -0x4920);\n  }" ({ "{") (expression_statement "piVar10 = (int *)(PTR_DAT_001db8f8 + -0x4920);" (assignment_expression "piVar10 = (int *)(PTR_DAT_001db8f8 + -0x4920)" (identifier "piVar10") (= "=") (cast_expression "(int *)(PTR_DAT_001db8f8 + -0x4920)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(PTR_DAT_001db8f8 + -0x4920)" (( "(") (binary_expression "PTR_DAT_001db8f8 + -0x4920" (identifier "PTR_DAT_001db8f8") (+ "+") (number_literal "-0x4920")) () ")")))) (; ";")) (} "}")) (else_clause "else {\n    piVar10 = (int *)0x0;\n    if ((uVar6 & 1) == 0) {\n      local_40 = 0;\n      goto LAB_00058810;\n    }\n    if ((uVar6 & 2) != 0) {\n      if (iVar8 == 5) {\n        if (local_44 == 7) goto LAB_000589f8;\n      }\n      else {\n        iVar9 = (*(code *)PTR_strncmp_001dbe60)\n                          (param_2,PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb68,5);\n        if (iVar9 == 0) {\nLAB_000589f8:\n          piVar10 = (int *)(PTR_DAT_001db8f8 + -0x4950);\n          goto LAB_00058800;\n        }\n      }\n    }\n    if ((uVar6 & 0x502) == 0) {\n      piVar10 = (int *)(PTR_DAT_001db8f8 + -0x4980);\n    }\n    else if ((int)(uVar6 << 9) < 0) {\n      piVar10 = (int *)(PTR_DAT_001db8f8 + -0x4938);\n    }\n    else if ((uVar6 & 0x400) == 0) {\n      if ((uVar6 & 8) == 0) {\n        piVar10 = (int *)(PTR_DAT_001db8f8 + -0x4998);\n      }\n      else {\n        if (iVar8 == 5) {\n          if ((local_44 == 4) || (local_44 == 9)) goto LAB_000585b8;\n        }\n        else {\n          iVar8 = (*(code *)PTR_strncmp_001dbe60)\n                            (param_2,PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb60,4);\n          if (iVar8 == 0) {\nLAB_000585b8:\n            if ((uVar6 & 2) != 0) {\n              piVar10 = (int *)(PTR_DAT_001db8f8 + -0x4968);\n              goto LAB_00058800;\n            }\n          }\n        }\n        if ((uVar6 & 0x10) == 0) {\n          piVar10 = (int *)(PTR_DAT_001db8f8 + -0x49c8);\n        }\n        else {\n          piVar10 = (int *)(PTR_DAT_001db8f8 + -0x49e0);\n        }\n      }\n    }\n    else {\n      piVar10 = (int *)(PTR_DAT_001db8f8 + -0x49b0);\n    }\n  }" (else "else") (compound_statement "{\n    piVar10 = (int *)0x0;\n    if ((uVar6 & 1) == 0) {\n      local_40 = 0;\n      goto LAB_00058810;\n    }\n    if ((uVar6 & 2) != 0) {\n      if (iVar8 == 5) {\n        if (local_44 == 7) goto LAB_000589f8;\n      }\n      else {\n        iVar9 = (*(code *)PTR_strncmp_001dbe60)\n                          (param_2,PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb68,5);\n        if (iVar9 == 0) {\nLAB_000589f8:\n          piVar10 = (int *)(PTR_DAT_001db8f8 + -0x4950);\n          goto LAB_00058800;\n        }\n      }\n    }\n    if ((uVar6 & 0x502) == 0) {\n      piVar10 = (int *)(PTR_DAT_001db8f8 + -0x4980);\n    }\n    else if ((int)(uVar6 << 9) < 0) {\n      piVar10 = (int *)(PTR_DAT_001db8f8 + -0x4938);\n    }\n    else if ((uVar6 & 0x400) == 0) {\n      if ((uVar6 & 8) == 0) {\n        piVar10 = (int *)(PTR_DAT_001db8f8 + -0x4998);\n      }\n      else {\n        if (iVar8 == 5) {\n          if ((local_44 == 4) || (local_44 == 9)) goto LAB_000585b8;\n        }\n        else {\n          iVar8 = (*(code *)PTR_strncmp_001dbe60)\n                            (param_2,PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb60,4);\n          if (iVar8 == 0) {\nLAB_000585b8:\n            if ((uVar6 & 2) != 0) {\n              piVar10 = (int *)(PTR_DAT_001db8f8 + -0x4968);\n              goto LAB_00058800;\n            }\n          }\n        }\n        if ((uVar6 & 0x10) == 0) {\n          piVar10 = (int *)(PTR_DAT_001db8f8 + -0x49c8);\n        }\n        else {\n          piVar10 = (int *)(PTR_DAT_001db8f8 + -0x49e0);\n        }\n      }\n    }\n    else {\n      piVar10 = (int *)(PTR_DAT_001db8f8 + -0x49b0);\n    }\n  }" ({ "{") (expression_statement "piVar10 = (int *)0x0;" (assignment_expression "piVar10 = (int *)0x0" (identifier "piVar10") (= "=") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (if_statement "if ((uVar6 & 1) == 0) {\n      local_40 = 0;\n      goto LAB_00058810;\n    }" (if "if") (parenthesized_expression "((uVar6 & 1) == 0)" (( "(") (binary_expression "(uVar6 & 1) == 0" (parenthesized_expression "(uVar6 & 1)" (( "(") (binary_expression "uVar6 & 1" (identifier "uVar6") (& "&") (number_literal "1")) () ")")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n      local_40 = 0;\n      goto LAB_00058810;\n    }" ({ "{") (expression_statement "local_40 = 0;" (assignment_expression "local_40 = 0" (identifier "local_40") (= "=") (number_literal "0")) (; ";")) (goto_statement "goto LAB_00058810;" (goto "goto") (statement_identifier "LAB_00058810") (; ";")) (} "}"))) (if_statement "if ((uVar6 & 2) != 0) {\n      if (iVar8 == 5) {\n        if (local_44 == 7) goto LAB_000589f8;\n      }\n      else {\n        iVar9 = (*(code *)PTR_strncmp_001dbe60)\n                          (param_2,PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb68,5);\n        if (iVar9 == 0) {\nLAB_000589f8:\n          piVar10 = (int *)(PTR_DAT_001db8f8 + -0x4950);\n          goto LAB_00058800;\n        }\n      }\n    }" (if "if") (parenthesized_expression "((uVar6 & 2) != 0)" (( "(") (binary_expression "(uVar6 & 2) != 0" (parenthesized_expression "(uVar6 & 2)" (( "(") (binary_expression "uVar6 & 2" (identifier "uVar6") (& "&") (number_literal "2")) () ")")) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n      if (iVar8 == 5) {\n        if (local_44 == 7) goto LAB_000589f8;\n      }\n      else {\n        iVar9 = (*(code *)PTR_strncmp_001dbe60)\n                          (param_2,PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb68,5);\n        if (iVar9 == 0) {\nLAB_000589f8:\n          piVar10 = (int *)(PTR_DAT_001db8f8 + -0x4950);\n          goto LAB_00058800;\n        }\n      }\n    }" ({ "{") (if_statement "if (iVar8 == 5) {\n        if (local_44 == 7) goto LAB_000589f8;\n      }\n      else {\n        iVar9 = (*(code *)PTR_strncmp_001dbe60)\n                          (param_2,PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb68,5);\n        if (iVar9 == 0) {\nLAB_000589f8:\n          piVar10 = (int *)(PTR_DAT_001db8f8 + -0x4950);\n          goto LAB_00058800;\n        }\n      }" (if "if") (parenthesized_expression "(iVar8 == 5)" (( "(") (binary_expression "iVar8 == 5" (identifier "iVar8") (== "==") (number_literal "5")) () ")")) (compound_statement "{\n        if (local_44 == 7) goto LAB_000589f8;\n      }" ({ "{") (if_statement "if (local_44 == 7) goto LAB_000589f8;" (if "if") (parenthesized_expression "(local_44 == 7)" (( "(") (binary_expression "local_44 == 7" (identifier "local_44") (== "==") (number_literal "7")) () ")")) (goto_statement "goto LAB_000589f8;" (goto "goto") (statement_identifier "LAB_000589f8") (; ";"))) (} "}")) (else_clause "else {\n        iVar9 = (*(code *)PTR_strncmp_001dbe60)\n                          (param_2,PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb68,5);\n        if (iVar9 == 0) {\nLAB_000589f8:\n          piVar10 = (int *)(PTR_DAT_001db8f8 + -0x4950);\n          goto LAB_00058800;\n        }\n      }" (else "else") (compound_statement "{\n        iVar9 = (*(code *)PTR_strncmp_001dbe60)\n                          (param_2,PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb68,5);\n        if (iVar9 == 0) {\nLAB_000589f8:\n          piVar10 = (int *)(PTR_DAT_001db8f8 + -0x4950);\n          goto LAB_00058800;\n        }\n      }" ({ "{") (expression_statement "iVar9 = (*(code *)PTR_strncmp_001dbe60)\n                          (param_2,PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb68,5);" (assignment_expression "iVar9 = (*(code *)PTR_strncmp_001dbe60)\n                          (param_2,PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb68,5)" (identifier "iVar9") (= "=") (call_expression "(*(code *)PTR_strncmp_001dbe60)\n                          (param_2,PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb68,5)" (parenthesized_expression "(*(code *)PTR_strncmp_001dbe60)" (( "(") (pointer_expression "*(code *)PTR_strncmp_001dbe60" (* "*") (cast_expression "(code *)PTR_strncmp_001dbe60" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_strncmp_001dbe60"))) () ")")) (argument_list "(param_2,PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb68,5)" (( "(") (identifier "param_2") (, ",") (binary_expression "PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb68" (identifier "PTR_s____debug_str_____debug_loc_0_____001db974") (+ "+") (number_literal "0xb68")) (, ",") (number_literal "5") () ")")))) (; ";")) (if_statement "if (iVar9 == 0) {\nLAB_000589f8:\n          piVar10 = (int *)(PTR_DAT_001db8f8 + -0x4950);\n          goto LAB_00058800;\n        }" (if "if") (parenthesized_expression "(iVar9 == 0)" (( "(") (binary_expression "iVar9 == 0" (identifier "iVar9") (== "==") (number_literal "0")) () ")")) (compound_statement "{\nLAB_000589f8:\n          piVar10 = (int *)(PTR_DAT_001db8f8 + -0x4950);\n          goto LAB_00058800;\n        }" ({ "{") (labeled_statement "LAB_000589f8:\n          piVar10 = (int *)(PTR_DAT_001db8f8 + -0x4950);" (statement_identifier "LAB_000589f8") (: ":") (expression_statement "piVar10 = (int *)(PTR_DAT_001db8f8 + -0x4950);" (assignment_expression "piVar10 = (int *)(PTR_DAT_001db8f8 + -0x4950)" (identifier "piVar10") (= "=") (cast_expression "(int *)(PTR_DAT_001db8f8 + -0x4950)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(PTR_DAT_001db8f8 + -0x4950)" (( "(") (binary_expression "PTR_DAT_001db8f8 + -0x4950" (identifier "PTR_DAT_001db8f8") (+ "+") (number_literal "-0x4950")) () ")")))) (; ";"))) (goto_statement "goto LAB_00058800;" (goto "goto") (statement_identifier "LAB_00058800") (; ";")) (} "}"))) (} "}")))) (} "}"))) (if_statement "if ((uVar6 & 0x502) == 0) {\n      piVar10 = (int *)(PTR_DAT_001db8f8 + -0x4980);\n    }\n    else if ((int)(uVar6 << 9) < 0) {\n      piVar10 = (int *)(PTR_DAT_001db8f8 + -0x4938);\n    }\n    else if ((uVar6 & 0x400) == 0) {\n      if ((uVar6 & 8) == 0) {\n        piVar10 = (int *)(PTR_DAT_001db8f8 + -0x4998);\n      }\n      else {\n        if (iVar8 == 5) {\n          if ((local_44 == 4) || (local_44 == 9)) goto LAB_000585b8;\n        }\n        else {\n          iVar8 = (*(code *)PTR_strncmp_001dbe60)\n                            (param_2,PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb60,4);\n          if (iVar8 == 0) {\nLAB_000585b8:\n            if ((uVar6 & 2) != 0) {\n              piVar10 = (int *)(PTR_DAT_001db8f8 + -0x4968);\n              goto LAB_00058800;\n            }\n          }\n        }\n        if ((uVar6 & 0x10) == 0) {\n          piVar10 = (int *)(PTR_DAT_001db8f8 + -0x49c8);\n        }\n        else {\n          piVar10 = (int *)(PTR_DAT_001db8f8 + -0x49e0);\n        }\n      }\n    }\n    else {\n      piVar10 = (int *)(PTR_DAT_001db8f8 + -0x49b0);\n    }" (if "if") (parenthesized_expression "((uVar6 & 0x502) == 0)" (( "(") (binary_expression "(uVar6 & 0x502) == 0" (parenthesized_expression "(uVar6 & 0x502)" (( "(") (binary_expression "uVar6 & 0x502" (identifier "uVar6") (& "&") (number_literal "0x502")) () ")")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n      piVar10 = (int *)(PTR_DAT_001db8f8 + -0x4980);\n    }" ({ "{") (expression_statement "piVar10 = (int *)(PTR_DAT_001db8f8 + -0x4980);" (assignment_expression "piVar10 = (int *)(PTR_DAT_001db8f8 + -0x4980)" (identifier "piVar10") (= "=") (cast_expression "(int *)(PTR_DAT_001db8f8 + -0x4980)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(PTR_DAT_001db8f8 + -0x4980)" (( "(") (binary_expression "PTR_DAT_001db8f8 + -0x4980" (identifier "PTR_DAT_001db8f8") (+ "+") (number_literal "-0x4980")) () ")")))) (; ";")) (} "}")) (else_clause "else if ((int)(uVar6 << 9) < 0) {\n      piVar10 = (int *)(PTR_DAT_001db8f8 + -0x4938);\n    }\n    else if ((uVar6 & 0x400) == 0) {\n      if ((uVar6 & 8) == 0) {\n        piVar10 = (int *)(PTR_DAT_001db8f8 + -0x4998);\n      }\n      else {\n        if (iVar8 == 5) {\n          if ((local_44 == 4) || (local_44 == 9)) goto LAB_000585b8;\n        }\n        else {\n          iVar8 = (*(code *)PTR_strncmp_001dbe60)\n                            (param_2,PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb60,4);\n          if (iVar8 == 0) {\nLAB_000585b8:\n            if ((uVar6 & 2) != 0) {\n              piVar10 = (int *)(PTR_DAT_001db8f8 + -0x4968);\n              goto LAB_00058800;\n            }\n          }\n        }\n        if ((uVar6 & 0x10) == 0) {\n          piVar10 = (int *)(PTR_DAT_001db8f8 + -0x49c8);\n        }\n        else {\n          piVar10 = (int *)(PTR_DAT_001db8f8 + -0x49e0);\n        }\n      }\n    }\n    else {\n      piVar10 = (int *)(PTR_DAT_001db8f8 + -0x49b0);\n    }" (else "else") (if_statement "if ((int)(uVar6 << 9) < 0) {\n      piVar10 = (int *)(PTR_DAT_001db8f8 + -0x4938);\n    }\n    else if ((uVar6 & 0x400) == 0) {\n      if ((uVar6 & 8) == 0) {\n        piVar10 = (int *)(PTR_DAT_001db8f8 + -0x4998);\n      }\n      else {\n        if (iVar8 == 5) {\n          if ((local_44 == 4) || (local_44 == 9)) goto LAB_000585b8;\n        }\n        else {\n          iVar8 = (*(code *)PTR_strncmp_001dbe60)\n                            (param_2,PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb60,4);\n          if (iVar8 == 0) {\nLAB_000585b8:\n            if ((uVar6 & 2) != 0) {\n              piVar10 = (int *)(PTR_DAT_001db8f8 + -0x4968);\n              goto LAB_00058800;\n            }\n          }\n        }\n        if ((uVar6 & 0x10) == 0) {\n          piVar10 = (int *)(PTR_DAT_001db8f8 + -0x49c8);\n        }\n        else {\n          piVar10 = (int *)(PTR_DAT_001db8f8 + -0x49e0);\n        }\n      }\n    }\n    else {\n      piVar10 = (int *)(PTR_DAT_001db8f8 + -0x49b0);\n    }" (if "if") (parenthesized_expression "((int)(uVar6 << 9) < 0)" (( "(") (binary_expression "(int)(uVar6 << 9) < 0" (cast_expression "(int)(uVar6 << 9)" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (parenthesized_expression "(uVar6 << 9)" (( "(") (binary_expression "uVar6 << 9" (identifier "uVar6") (<< "<<") (number_literal "9")) () ")"))) (< "<") (number_literal "0")) () ")")) (compound_statement "{\n      piVar10 = (int *)(PTR_DAT_001db8f8 + -0x4938);\n    }" ({ "{") (expression_statement "piVar10 = (int *)(PTR_DAT_001db8f8 + -0x4938);" (assignment_expression "piVar10 = (int *)(PTR_DAT_001db8f8 + -0x4938)" (identifier "piVar10") (= "=") (cast_expression "(int *)(PTR_DAT_001db8f8 + -0x4938)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(PTR_DAT_001db8f8 + -0x4938)" (( "(") (binary_expression "PTR_DAT_001db8f8 + -0x4938" (identifier "PTR_DAT_001db8f8") (+ "+") (number_literal "-0x4938")) () ")")))) (; ";")) (} "}")) (else_clause "else if ((uVar6 & 0x400) == 0) {\n      if ((uVar6 & 8) == 0) {\n        piVar10 = (int *)(PTR_DAT_001db8f8 + -0x4998);\n      }\n      else {\n        if (iVar8 == 5) {\n          if ((local_44 == 4) || (local_44 == 9)) goto LAB_000585b8;\n        }\n        else {\n          iVar8 = (*(code *)PTR_strncmp_001dbe60)\n                            (param_2,PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb60,4);\n          if (iVar8 == 0) {\nLAB_000585b8:\n            if ((uVar6 & 2) != 0) {\n              piVar10 = (int *)(PTR_DAT_001db8f8 + -0x4968);\n              goto LAB_00058800;\n            }\n          }\n        }\n        if ((uVar6 & 0x10) == 0) {\n          piVar10 = (int *)(PTR_DAT_001db8f8 + -0x49c8);\n        }\n        else {\n          piVar10 = (int *)(PTR_DAT_001db8f8 + -0x49e0);\n        }\n      }\n    }\n    else {\n      piVar10 = (int *)(PTR_DAT_001db8f8 + -0x49b0);\n    }" (else "else") (if_statement "if ((uVar6 & 0x400) == 0) {\n      if ((uVar6 & 8) == 0) {\n        piVar10 = (int *)(PTR_DAT_001db8f8 + -0x4998);\n      }\n      else {\n        if (iVar8 == 5) {\n          if ((local_44 == 4) || (local_44 == 9)) goto LAB_000585b8;\n        }\n        else {\n          iVar8 = (*(code *)PTR_strncmp_001dbe60)\n                            (param_2,PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb60,4);\n          if (iVar8 == 0) {\nLAB_000585b8:\n            if ((uVar6 & 2) != 0) {\n              piVar10 = (int *)(PTR_DAT_001db8f8 + -0x4968);\n              goto LAB_00058800;\n            }\n          }\n        }\n        if ((uVar6 & 0x10) == 0) {\n          piVar10 = (int *)(PTR_DAT_001db8f8 + -0x49c8);\n        }\n        else {\n          piVar10 = (int *)(PTR_DAT_001db8f8 + -0x49e0);\n        }\n      }\n    }\n    else {\n      piVar10 = (int *)(PTR_DAT_001db8f8 + -0x49b0);\n    }" (if "if") (parenthesized_expression "((uVar6 & 0x400) == 0)" (( "(") (binary_expression "(uVar6 & 0x400) == 0" (parenthesized_expression "(uVar6 & 0x400)" (( "(") (binary_expression "uVar6 & 0x400" (identifier "uVar6") (& "&") (number_literal "0x400")) () ")")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n      if ((uVar6 & 8) == 0) {\n        piVar10 = (int *)(PTR_DAT_001db8f8 + -0x4998);\n      }\n      else {\n        if (iVar8 == 5) {\n          if ((local_44 == 4) || (local_44 == 9)) goto LAB_000585b8;\n        }\n        else {\n          iVar8 = (*(code *)PTR_strncmp_001dbe60)\n                            (param_2,PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb60,4);\n          if (iVar8 == 0) {\nLAB_000585b8:\n            if ((uVar6 & 2) != 0) {\n              piVar10 = (int *)(PTR_DAT_001db8f8 + -0x4968);\n              goto LAB_00058800;\n            }\n          }\n        }\n        if ((uVar6 & 0x10) == 0) {\n          piVar10 = (int *)(PTR_DAT_001db8f8 + -0x49c8);\n        }\n        else {\n          piVar10 = (int *)(PTR_DAT_001db8f8 + -0x49e0);\n        }\n      }\n    }" ({ "{") (if_statement "if ((uVar6 & 8) == 0) {\n        piVar10 = (int *)(PTR_DAT_001db8f8 + -0x4998);\n      }\n      else {\n        if (iVar8 == 5) {\n          if ((local_44 == 4) || (local_44 == 9)) goto LAB_000585b8;\n        }\n        else {\n          iVar8 = (*(code *)PTR_strncmp_001dbe60)\n                            (param_2,PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb60,4);\n          if (iVar8 == 0) {\nLAB_000585b8:\n            if ((uVar6 & 2) != 0) {\n              piVar10 = (int *)(PTR_DAT_001db8f8 + -0x4968);\n              goto LAB_00058800;\n            }\n          }\n        }\n        if ((uVar6 & 0x10) == 0) {\n          piVar10 = (int *)(PTR_DAT_001db8f8 + -0x49c8);\n        }\n        else {\n          piVar10 = (int *)(PTR_DAT_001db8f8 + -0x49e0);\n        }\n      }" (if "if") (parenthesized_expression "((uVar6 & 8) == 0)" (( "(") (binary_expression "(uVar6 & 8) == 0" (parenthesized_expression "(uVar6 & 8)" (( "(") (binary_expression "uVar6 & 8" (identifier "uVar6") (& "&") (number_literal "8")) () ")")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n        piVar10 = (int *)(PTR_DAT_001db8f8 + -0x4998);\n      }" ({ "{") (expression_statement "piVar10 = (int *)(PTR_DAT_001db8f8 + -0x4998);" (assignment_expression "piVar10 = (int *)(PTR_DAT_001db8f8 + -0x4998)" (identifier "piVar10") (= "=") (cast_expression "(int *)(PTR_DAT_001db8f8 + -0x4998)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(PTR_DAT_001db8f8 + -0x4998)" (( "(") (binary_expression "PTR_DAT_001db8f8 + -0x4998" (identifier "PTR_DAT_001db8f8") (+ "+") (number_literal "-0x4998")) () ")")))) (; ";")) (} "}")) (else_clause "else {\n        if (iVar8 == 5) {\n          if ((local_44 == 4) || (local_44 == 9)) goto LAB_000585b8;\n        }\n        else {\n          iVar8 = (*(code *)PTR_strncmp_001dbe60)\n                            (param_2,PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb60,4);\n          if (iVar8 == 0) {\nLAB_000585b8:\n            if ((uVar6 & 2) != 0) {\n              piVar10 = (int *)(PTR_DAT_001db8f8 + -0x4968);\n              goto LAB_00058800;\n            }\n          }\n        }\n        if ((uVar6 & 0x10) == 0) {\n          piVar10 = (int *)(PTR_DAT_001db8f8 + -0x49c8);\n        }\n        else {\n          piVar10 = (int *)(PTR_DAT_001db8f8 + -0x49e0);\n        }\n      }" (else "else") (compound_statement "{\n        if (iVar8 == 5) {\n          if ((local_44 == 4) || (local_44 == 9)) goto LAB_000585b8;\n        }\n        else {\n          iVar8 = (*(code *)PTR_strncmp_001dbe60)\n                            (param_2,PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb60,4);\n          if (iVar8 == 0) {\nLAB_000585b8:\n            if ((uVar6 & 2) != 0) {\n              piVar10 = (int *)(PTR_DAT_001db8f8 + -0x4968);\n              goto LAB_00058800;\n            }\n          }\n        }\n        if ((uVar6 & 0x10) == 0) {\n          piVar10 = (int *)(PTR_DAT_001db8f8 + -0x49c8);\n        }\n        else {\n          piVar10 = (int *)(PTR_DAT_001db8f8 + -0x49e0);\n        }\n      }" ({ "{") (if_statement "if (iVar8 == 5) {\n          if ((local_44 == 4) || (local_44 == 9)) goto LAB_000585b8;\n        }\n        else {\n          iVar8 = (*(code *)PTR_strncmp_001dbe60)\n                            (param_2,PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb60,4);\n          if (iVar8 == 0) {\nLAB_000585b8:\n            if ((uVar6 & 2) != 0) {\n              piVar10 = (int *)(PTR_DAT_001db8f8 + -0x4968);\n              goto LAB_00058800;\n            }\n          }\n        }" (if "if") (parenthesized_expression "(iVar8 == 5)" (( "(") (binary_expression "iVar8 == 5" (identifier "iVar8") (== "==") (number_literal "5")) () ")")) (compound_statement "{\n          if ((local_44 == 4) || (local_44 == 9)) goto LAB_000585b8;\n        }" ({ "{") (if_statement "if ((local_44 == 4) || (local_44 == 9)) goto LAB_000585b8;" (if "if") (parenthesized_expression "((local_44 == 4) || (local_44 == 9))" (( "(") (binary_expression "(local_44 == 4) || (local_44 == 9)" (parenthesized_expression "(local_44 == 4)" (( "(") (binary_expression "local_44 == 4" (identifier "local_44") (== "==") (number_literal "4")) () ")")) (|| "||") (parenthesized_expression "(local_44 == 9)" (( "(") (binary_expression "local_44 == 9" (identifier "local_44") (== "==") (number_literal "9")) () ")"))) () ")")) (goto_statement "goto LAB_000585b8;" (goto "goto") (statement_identifier "LAB_000585b8") (; ";"))) (} "}")) (else_clause "else {\n          iVar8 = (*(code *)PTR_strncmp_001dbe60)\n                            (param_2,PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb60,4);\n          if (iVar8 == 0) {\nLAB_000585b8:\n            if ((uVar6 & 2) != 0) {\n              piVar10 = (int *)(PTR_DAT_001db8f8 + -0x4968);\n              goto LAB_00058800;\n            }\n          }\n        }" (else "else") (compound_statement "{\n          iVar8 = (*(code *)PTR_strncmp_001dbe60)\n                            (param_2,PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb60,4);\n          if (iVar8 == 0) {\nLAB_000585b8:\n            if ((uVar6 & 2) != 0) {\n              piVar10 = (int *)(PTR_DAT_001db8f8 + -0x4968);\n              goto LAB_00058800;\n            }\n          }\n        }" ({ "{") (expression_statement "iVar8 = (*(code *)PTR_strncmp_001dbe60)\n                            (param_2,PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb60,4);" (assignment_expression "iVar8 = (*(code *)PTR_strncmp_001dbe60)\n                            (param_2,PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb60,4)" (identifier "iVar8") (= "=") (call_expression "(*(code *)PTR_strncmp_001dbe60)\n                            (param_2,PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb60,4)" (parenthesized_expression "(*(code *)PTR_strncmp_001dbe60)" (( "(") (pointer_expression "*(code *)PTR_strncmp_001dbe60" (* "*") (cast_expression "(code *)PTR_strncmp_001dbe60" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_strncmp_001dbe60"))) () ")")) (argument_list "(param_2,PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb60,4)" (( "(") (identifier "param_2") (, ",") (binary_expression "PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb60" (identifier "PTR_s____debug_str_____debug_loc_0_____001db974") (+ "+") (number_literal "0xb60")) (, ",") (number_literal "4") () ")")))) (; ";")) (if_statement "if (iVar8 == 0) {\nLAB_000585b8:\n            if ((uVar6 & 2) != 0) {\n              piVar10 = (int *)(PTR_DAT_001db8f8 + -0x4968);\n              goto LAB_00058800;\n            }\n          }" (if "if") (parenthesized_expression "(iVar8 == 0)" (( "(") (binary_expression "iVar8 == 0" (identifier "iVar8") (== "==") (number_literal "0")) () ")")) (compound_statement "{\nLAB_000585b8:\n            if ((uVar6 & 2) != 0) {\n              piVar10 = (int *)(PTR_DAT_001db8f8 + -0x4968);\n              goto LAB_00058800;\n            }\n          }" ({ "{") (labeled_statement "LAB_000585b8:\n            if ((uVar6 & 2) != 0) {\n              piVar10 = (int *)(PTR_DAT_001db8f8 + -0x4968);\n              goto LAB_00058800;\n            }" (statement_identifier "LAB_000585b8") (: ":") (if_statement "if ((uVar6 & 2) != 0) {\n              piVar10 = (int *)(PTR_DAT_001db8f8 + -0x4968);\n              goto LAB_00058800;\n            }" (if "if") (parenthesized_expression "((uVar6 & 2) != 0)" (( "(") (binary_expression "(uVar6 & 2) != 0" (parenthesized_expression "(uVar6 & 2)" (( "(") (binary_expression "uVar6 & 2" (identifier "uVar6") (& "&") (number_literal "2")) () ")")) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n              piVar10 = (int *)(PTR_DAT_001db8f8 + -0x4968);\n              goto LAB_00058800;\n            }" ({ "{") (expression_statement "piVar10 = (int *)(PTR_DAT_001db8f8 + -0x4968);" (assignment_expression "piVar10 = (int *)(PTR_DAT_001db8f8 + -0x4968)" (identifier "piVar10") (= "=") (cast_expression "(int *)(PTR_DAT_001db8f8 + -0x4968)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(PTR_DAT_001db8f8 + -0x4968)" (( "(") (binary_expression "PTR_DAT_001db8f8 + -0x4968" (identifier "PTR_DAT_001db8f8") (+ "+") (number_literal "-0x4968")) () ")")))) (; ";")) (goto_statement "goto LAB_00058800;" (goto "goto") (statement_identifier "LAB_00058800") (; ";")) (} "}")))) (} "}"))) (} "}")))) (if_statement "if ((uVar6 & 0x10) == 0) {\n          piVar10 = (int *)(PTR_DAT_001db8f8 + -0x49c8);\n        }\n        else {\n          piVar10 = (int *)(PTR_DAT_001db8f8 + -0x49e0);\n        }" (if "if") (parenthesized_expression "((uVar6 & 0x10) == 0)" (( "(") (binary_expression "(uVar6 & 0x10) == 0" (parenthesized_expression "(uVar6 & 0x10)" (( "(") (binary_expression "uVar6 & 0x10" (identifier "uVar6") (& "&") (number_literal "0x10")) () ")")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n          piVar10 = (int *)(PTR_DAT_001db8f8 + -0x49c8);\n        }" ({ "{") (expression_statement "piVar10 = (int *)(PTR_DAT_001db8f8 + -0x49c8);" (assignment_expression "piVar10 = (int *)(PTR_DAT_001db8f8 + -0x49c8)" (identifier "piVar10") (= "=") (cast_expression "(int *)(PTR_DAT_001db8f8 + -0x49c8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(PTR_DAT_001db8f8 + -0x49c8)" (( "(") (binary_expression "PTR_DAT_001db8f8 + -0x49c8" (identifier "PTR_DAT_001db8f8") (+ "+") (number_literal "-0x49c8")) () ")")))) (; ";")) (} "}")) (else_clause "else {\n          piVar10 = (int *)(PTR_DAT_001db8f8 + -0x49e0);\n        }" (else "else") (compound_statement "{\n          piVar10 = (int *)(PTR_DAT_001db8f8 + -0x49e0);\n        }" ({ "{") (expression_statement "piVar10 = (int *)(PTR_DAT_001db8f8 + -0x49e0);" (assignment_expression "piVar10 = (int *)(PTR_DAT_001db8f8 + -0x49e0)" (identifier "piVar10") (= "=") (cast_expression "(int *)(PTR_DAT_001db8f8 + -0x49e0)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(PTR_DAT_001db8f8 + -0x49e0)" (( "(") (binary_expression "PTR_DAT_001db8f8 + -0x49e0" (identifier "PTR_DAT_001db8f8") (+ "+") (number_literal "-0x49e0")) () ")")))) (; ";")) (} "}")))) (} "}")))) (} "}")) (else_clause "else {\n      piVar10 = (int *)(PTR_DAT_001db8f8 + -0x49b0);\n    }" (else "else") (compound_statement "{\n      piVar10 = (int *)(PTR_DAT_001db8f8 + -0x49b0);\n    }" ({ "{") (expression_statement "piVar10 = (int *)(PTR_DAT_001db8f8 + -0x49b0);" (assignment_expression "piVar10 = (int *)(PTR_DAT_001db8f8 + -0x49b0)" (identifier "piVar10") (= "=") (cast_expression "(int *)(PTR_DAT_001db8f8 + -0x49b0)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(PTR_DAT_001db8f8 + -0x49b0)" (( "(") (binary_expression "PTR_DAT_001db8f8 + -0x49b0" (identifier "PTR_DAT_001db8f8") (+ "+") (number_literal "-0x49b0")) () ")")))) (; ";")) (} "}")))))))) (} "}")))) (labeled_statement "LAB_00058800:\n  local_40 = piVar10[2];" (statement_identifier "LAB_00058800") (: ":") (expression_statement "local_40 = piVar10[2];" (assignment_expression "local_40 = piVar10[2]" (identifier "local_40") (= "=") (subscript_expression "piVar10[2]" (identifier "piVar10") ([ "[") (number_literal "2") (] "]"))) (; ";"))) (if_statement "if (local_40 != 0) goto LAB_00058810;" (if "if") (parenthesized_expression "(local_40 != 0)" (( "(") (binary_expression "local_40 != 0" (identifier "local_40") (!= "!=") (number_literal "0")) () ")")) (goto_statement "goto LAB_00058810;" (goto "goto") (statement_identifier "LAB_00058810") (; ";"))) (if_statement "if (*piVar10 == 0) {\n    cVar2 = *(char *)(*param_1 + 4);\n    if (*(int *)PTR_lang_output_section_statement_001dbbf4 != 0) {\n      local_44 = 0;\n      local_40 = 0;\n      puVar4 = PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb60;\n      local_34 = 0;\n      puVar5 = PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb70;\n      iVar8 = 0;\n      iVar9 = 0;\n      iVar3 = *(int *)PTR_lang_output_section_statement_001dbbf4;\n      do {\n        iVar13 = iVar3;\n        if (*(int *)(iVar13 + 0x48) < 0) {\nLAB_00058a98:\n          if (*(int *)(iVar13 + 0x1c) != 0) {\n            uVar7 = *(uint *)(*(int *)(iVar13 + 0x1c) + 0x14);\n            iVar3 = iVar9;\njoined_r0x00058aac:\n            if (((uVar7 & 1) != 0) && (iVar9 = iVar3, local_34 = iVar13, (uVar7 & 8) != 0)) {\n              local_40 = iVar13;\n            }\n          }\n        }\n        else {\n          iVar11 = *(int *)(iVar13 + 0x18);\n          iVar3 = (*(code *)PTR_strncmp_001dbe60)(iVar11,puVar4,4);\n          if (iVar3 != 0) goto LAB_00058a98;\n          uVar7 = (uint)(*(char *)(iVar11 + 4) == 'a');\n          if ((bVar1) ||\n             (iVar3 = (*(code *)PTR_strcmp_001dc144)(puVar5,iVar11 + uVar7 + 4), iVar3 == 0)) break;\n          iVar3 = iVar13;\n          if ((cVar2 == 'a') != uVar7) {\n            if (iVar8 == 0) {\n              iVar8 = iVar13;\n            }\n            iVar3 = iVar8;\n            if (iVar9 != 0) goto LAB_00058a98;\n          }\n          iVar8 = iVar3;\n          if (*(int *)(iVar13 + 0x1c) != 0) {\n            uVar7 = *(uint *)(*(int *)(iVar13 + 0x1c) + 0x14);\n            iVar3 = iVar13;\n            goto joined_r0x00058aac;\n          }\n        }\n        local_44 = iVar13;\n        iVar3 = *(int *)(iVar13 + 0x10);\n      } while (*(int *)(iVar13 + 0x10) != 0);\n      if (iVar9 == 0) {\n        if (iVar8 == 0) {\n          if (local_40 == 0) {\n            local_40 = local_34;\n            if (local_34 == 0) {\n              local_40 = local_44;\n            }\n            piVar10[2] = local_40;\n          }\n          else {\n            piVar10[2] = local_40;\n          }\n        }\n        else {\n          piVar10[2] = iVar8;\n          local_40 = iVar8;\n        }\n      }\n      else {\n        piVar10[2] = iVar9;\n        local_40 = iVar9;\n      }\n      goto LAB_00058960;\n    }\n  }\n  else {\n    local_40 = (*(code *)PTR_lang_output_section_statement_lookup_001dbc2c)(*piVar10,0,0);\n    piVar10[2] = local_40;\nLAB_00058960:\n    if (local_40 != 0) goto LAB_00058810;\n  }" (if "if") (parenthesized_expression "(*piVar10 == 0)" (( "(") (binary_expression "*piVar10 == 0" (pointer_expression "*piVar10" (* "*") (identifier "piVar10")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n    cVar2 = *(char *)(*param_1 + 4);\n    if (*(int *)PTR_lang_output_section_statement_001dbbf4 != 0) {\n      local_44 = 0;\n      local_40 = 0;\n      puVar4 = PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb60;\n      local_34 = 0;\n      puVar5 = PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb70;\n      iVar8 = 0;\n      iVar9 = 0;\n      iVar3 = *(int *)PTR_lang_output_section_statement_001dbbf4;\n      do {\n        iVar13 = iVar3;\n        if (*(int *)(iVar13 + 0x48) < 0) {\nLAB_00058a98:\n          if (*(int *)(iVar13 + 0x1c) != 0) {\n            uVar7 = *(uint *)(*(int *)(iVar13 + 0x1c) + 0x14);\n            iVar3 = iVar9;\njoined_r0x00058aac:\n            if (((uVar7 & 1) != 0) && (iVar9 = iVar3, local_34 = iVar13, (uVar7 & 8) != 0)) {\n              local_40 = iVar13;\n            }\n          }\n        }\n        else {\n          iVar11 = *(int *)(iVar13 + 0x18);\n          iVar3 = (*(code *)PTR_strncmp_001dbe60)(iVar11,puVar4,4);\n          if (iVar3 != 0) goto LAB_00058a98;\n          uVar7 = (uint)(*(char *)(iVar11 + 4) == 'a');\n          if ((bVar1) ||\n             (iVar3 = (*(code *)PTR_strcmp_001dc144)(puVar5,iVar11 + uVar7 + 4), iVar3 == 0)) break;\n          iVar3 = iVar13;\n          if ((cVar2 == 'a') != uVar7) {\n            if (iVar8 == 0) {\n              iVar8 = iVar13;\n            }\n            iVar3 = iVar8;\n            if (iVar9 != 0) goto LAB_00058a98;\n          }\n          iVar8 = iVar3;\n          if (*(int *)(iVar13 + 0x1c) != 0) {\n            uVar7 = *(uint *)(*(int *)(iVar13 + 0x1c) + 0x14);\n            iVar3 = iVar13;\n            goto joined_r0x00058aac;\n          }\n        }\n        local_44 = iVar13;\n        iVar3 = *(int *)(iVar13 + 0x10);\n      } while (*(int *)(iVar13 + 0x10) != 0);\n      if (iVar9 == 0) {\n        if (iVar8 == 0) {\n          if (local_40 == 0) {\n            local_40 = local_34;\n            if (local_34 == 0) {\n              local_40 = local_44;\n            }\n            piVar10[2] = local_40;\n          }\n          else {\n            piVar10[2] = local_40;\n          }\n        }\n        else {\n          piVar10[2] = iVar8;\n          local_40 = iVar8;\n        }\n      }\n      else {\n        piVar10[2] = iVar9;\n        local_40 = iVar9;\n      }\n      goto LAB_00058960;\n    }\n  }" ({ "{") (expression_statement "cVar2 = *(char *)(*param_1 + 4);" (assignment_expression "cVar2 = *(char *)(*param_1 + 4)" (identifier "cVar2") (= "=") (pointer_expression "*(char *)(*param_1 + 4)" (* "*") (cast_expression "(char *)(*param_1 + 4)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*param_1 + 4)" (( "(") (binary_expression "*param_1 + 4" (pointer_expression "*param_1" (* "*") (identifier "param_1")) (+ "+") (number_literal "4")) () ")"))))) (; ";")) (if_statement "if (*(int *)PTR_lang_output_section_statement_001dbbf4 != 0) {\n      local_44 = 0;\n      local_40 = 0;\n      puVar4 = PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb60;\n      local_34 = 0;\n      puVar5 = PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb70;\n      iVar8 = 0;\n      iVar9 = 0;\n      iVar3 = *(int *)PTR_lang_output_section_statement_001dbbf4;\n      do {\n        iVar13 = iVar3;\n        if (*(int *)(iVar13 + 0x48) < 0) {\nLAB_00058a98:\n          if (*(int *)(iVar13 + 0x1c) != 0) {\n            uVar7 = *(uint *)(*(int *)(iVar13 + 0x1c) + 0x14);\n            iVar3 = iVar9;\njoined_r0x00058aac:\n            if (((uVar7 & 1) != 0) && (iVar9 = iVar3, local_34 = iVar13, (uVar7 & 8) != 0)) {\n              local_40 = iVar13;\n            }\n          }\n        }\n        else {\n          iVar11 = *(int *)(iVar13 + 0x18);\n          iVar3 = (*(code *)PTR_strncmp_001dbe60)(iVar11,puVar4,4);\n          if (iVar3 != 0) goto LAB_00058a98;\n          uVar7 = (uint)(*(char *)(iVar11 + 4) == 'a');\n          if ((bVar1) ||\n             (iVar3 = (*(code *)PTR_strcmp_001dc144)(puVar5,iVar11 + uVar7 + 4), iVar3 == 0)) break;\n          iVar3 = iVar13;\n          if ((cVar2 == 'a') != uVar7) {\n            if (iVar8 == 0) {\n              iVar8 = iVar13;\n            }\n            iVar3 = iVar8;\n            if (iVar9 != 0) goto LAB_00058a98;\n          }\n          iVar8 = iVar3;\n          if (*(int *)(iVar13 + 0x1c) != 0) {\n            uVar7 = *(uint *)(*(int *)(iVar13 + 0x1c) + 0x14);\n            iVar3 = iVar13;\n            goto joined_r0x00058aac;\n          }\n        }\n        local_44 = iVar13;\n        iVar3 = *(int *)(iVar13 + 0x10);\n      } while (*(int *)(iVar13 + 0x10) != 0);\n      if (iVar9 == 0) {\n        if (iVar8 == 0) {\n          if (local_40 == 0) {\n            local_40 = local_34;\n            if (local_34 == 0) {\n              local_40 = local_44;\n            }\n            piVar10[2] = local_40;\n          }\n          else {\n            piVar10[2] = local_40;\n          }\n        }\n        else {\n          piVar10[2] = iVar8;\n          local_40 = iVar8;\n        }\n      }\n      else {\n        piVar10[2] = iVar9;\n        local_40 = iVar9;\n      }\n      goto LAB_00058960;\n    }" (if "if") (parenthesized_expression "(*(int *)PTR_lang_output_section_statement_001dbbf4 != 0)" (( "(") (binary_expression "*(int *)PTR_lang_output_section_statement_001dbbf4 != 0" (pointer_expression "*(int *)PTR_lang_output_section_statement_001dbbf4" (* "*") (cast_expression "(int *)PTR_lang_output_section_statement_001dbbf4" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_lang_output_section_statement_001dbbf4"))) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n      local_44 = 0;\n      local_40 = 0;\n      puVar4 = PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb60;\n      local_34 = 0;\n      puVar5 = PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb70;\n      iVar8 = 0;\n      iVar9 = 0;\n      iVar3 = *(int *)PTR_lang_output_section_statement_001dbbf4;\n      do {\n        iVar13 = iVar3;\n        if (*(int *)(iVar13 + 0x48) < 0) {\nLAB_00058a98:\n          if (*(int *)(iVar13 + 0x1c) != 0) {\n            uVar7 = *(uint *)(*(int *)(iVar13 + 0x1c) + 0x14);\n            iVar3 = iVar9;\njoined_r0x00058aac:\n            if (((uVar7 & 1) != 0) && (iVar9 = iVar3, local_34 = iVar13, (uVar7 & 8) != 0)) {\n              local_40 = iVar13;\n            }\n          }\n        }\n        else {\n          iVar11 = *(int *)(iVar13 + 0x18);\n          iVar3 = (*(code *)PTR_strncmp_001dbe60)(iVar11,puVar4,4);\n          if (iVar3 != 0) goto LAB_00058a98;\n          uVar7 = (uint)(*(char *)(iVar11 + 4) == 'a');\n          if ((bVar1) ||\n             (iVar3 = (*(code *)PTR_strcmp_001dc144)(puVar5,iVar11 + uVar7 + 4), iVar3 == 0)) break;\n          iVar3 = iVar13;\n          if ((cVar2 == 'a') != uVar7) {\n            if (iVar8 == 0) {\n              iVar8 = iVar13;\n            }\n            iVar3 = iVar8;\n            if (iVar9 != 0) goto LAB_00058a98;\n          }\n          iVar8 = iVar3;\n          if (*(int *)(iVar13 + 0x1c) != 0) {\n            uVar7 = *(uint *)(*(int *)(iVar13 + 0x1c) + 0x14);\n            iVar3 = iVar13;\n            goto joined_r0x00058aac;\n          }\n        }\n        local_44 = iVar13;\n        iVar3 = *(int *)(iVar13 + 0x10);\n      } while (*(int *)(iVar13 + 0x10) != 0);\n      if (iVar9 == 0) {\n        if (iVar8 == 0) {\n          if (local_40 == 0) {\n            local_40 = local_34;\n            if (local_34 == 0) {\n              local_40 = local_44;\n            }\n            piVar10[2] = local_40;\n          }\n          else {\n            piVar10[2] = local_40;\n          }\n        }\n        else {\n          piVar10[2] = iVar8;\n          local_40 = iVar8;\n        }\n      }\n      else {\n        piVar10[2] = iVar9;\n        local_40 = iVar9;\n      }\n      goto LAB_00058960;\n    }" ({ "{") (expression_statement "local_44 = 0;" (assignment_expression "local_44 = 0" (identifier "local_44") (= "=") (number_literal "0")) (; ";")) (expression_statement "local_40 = 0;" (assignment_expression "local_40 = 0" (identifier "local_40") (= "=") (number_literal "0")) (; ";")) (expression_statement "puVar4 = PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb60;" (assignment_expression "puVar4 = PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb60" (identifier "puVar4") (= "=") (binary_expression "PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb60" (identifier "PTR_s____debug_str_____debug_loc_0_____001db974") (+ "+") (number_literal "0xb60"))) (; ";")) (expression_statement "local_34 = 0;" (assignment_expression "local_34 = 0" (identifier "local_34") (= "=") (number_literal "0")) (; ";")) (expression_statement "puVar5 = PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb70;" (assignment_expression "puVar5 = PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb70" (identifier "puVar5") (= "=") (binary_expression "PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb70" (identifier "PTR_s____debug_str_____debug_loc_0_____001db974") (+ "+") (number_literal "0xb70"))) (; ";")) (expression_statement "iVar8 = 0;" (assignment_expression "iVar8 = 0" (identifier "iVar8") (= "=") (number_literal "0")) (; ";")) (expression_statement "iVar9 = 0;" (assignment_expression "iVar9 = 0" (identifier "iVar9") (= "=") (number_literal "0")) (; ";")) (expression_statement "iVar3 = *(int *)PTR_lang_output_section_statement_001dbbf4;" (assignment_expression "iVar3 = *(int *)PTR_lang_output_section_statement_001dbbf4" (identifier "iVar3") (= "=") (pointer_expression "*(int *)PTR_lang_output_section_statement_001dbbf4" (* "*") (cast_expression "(int *)PTR_lang_output_section_statement_001dbbf4" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_lang_output_section_statement_001dbbf4")))) (; ";")) (do_statement "do {\n        iVar13 = iVar3;\n        if (*(int *)(iVar13 + 0x48) < 0) {\nLAB_00058a98:\n          if (*(int *)(iVar13 + 0x1c) != 0) {\n            uVar7 = *(uint *)(*(int *)(iVar13 + 0x1c) + 0x14);\n            iVar3 = iVar9;\njoined_r0x00058aac:\n            if (((uVar7 & 1) != 0) && (iVar9 = iVar3, local_34 = iVar13, (uVar7 & 8) != 0)) {\n              local_40 = iVar13;\n            }\n          }\n        }\n        else {\n          iVar11 = *(int *)(iVar13 + 0x18);\n          iVar3 = (*(code *)PTR_strncmp_001dbe60)(iVar11,puVar4,4);\n          if (iVar3 != 0) goto LAB_00058a98;\n          uVar7 = (uint)(*(char *)(iVar11 + 4) == 'a');\n          if ((bVar1) ||\n             (iVar3 = (*(code *)PTR_strcmp_001dc144)(puVar5,iVar11 + uVar7 + 4), iVar3 == 0)) break;\n          iVar3 = iVar13;\n          if ((cVar2 == 'a') != uVar7) {\n            if (iVar8 == 0) {\n              iVar8 = iVar13;\n            }\n            iVar3 = iVar8;\n            if (iVar9 != 0) goto LAB_00058a98;\n          }\n          iVar8 = iVar3;\n          if (*(int *)(iVar13 + 0x1c) != 0) {\n            uVar7 = *(uint *)(*(int *)(iVar13 + 0x1c) + 0x14);\n            iVar3 = iVar13;\n            goto joined_r0x00058aac;\n          }\n        }\n        local_44 = iVar13;\n        iVar3 = *(int *)(iVar13 + 0x10);\n      } while (*(int *)(iVar13 + 0x10) != 0);" (do "do") (compound_statement "{\n        iVar13 = iVar3;\n        if (*(int *)(iVar13 + 0x48) < 0) {\nLAB_00058a98:\n          if (*(int *)(iVar13 + 0x1c) != 0) {\n            uVar7 = *(uint *)(*(int *)(iVar13 + 0x1c) + 0x14);\n            iVar3 = iVar9;\njoined_r0x00058aac:\n            if (((uVar7 & 1) != 0) && (iVar9 = iVar3, local_34 = iVar13, (uVar7 & 8) != 0)) {\n              local_40 = iVar13;\n            }\n          }\n        }\n        else {\n          iVar11 = *(int *)(iVar13 + 0x18);\n          iVar3 = (*(code *)PTR_strncmp_001dbe60)(iVar11,puVar4,4);\n          if (iVar3 != 0) goto LAB_00058a98;\n          uVar7 = (uint)(*(char *)(iVar11 + 4) == 'a');\n          if ((bVar1) ||\n             (iVar3 = (*(code *)PTR_strcmp_001dc144)(puVar5,iVar11 + uVar7 + 4), iVar3 == 0)) break;\n          iVar3 = iVar13;\n          if ((cVar2 == 'a') != uVar7) {\n            if (iVar8 == 0) {\n              iVar8 = iVar13;\n            }\n            iVar3 = iVar8;\n            if (iVar9 != 0) goto LAB_00058a98;\n          }\n          iVar8 = iVar3;\n          if (*(int *)(iVar13 + 0x1c) != 0) {\n            uVar7 = *(uint *)(*(int *)(iVar13 + 0x1c) + 0x14);\n            iVar3 = iVar13;\n            goto joined_r0x00058aac;\n          }\n        }\n        local_44 = iVar13;\n        iVar3 = *(int *)(iVar13 + 0x10);\n      }" ({ "{") (expression_statement "iVar13 = iVar3;" (assignment_expression "iVar13 = iVar3" (identifier "iVar13") (= "=") (identifier "iVar3")) (; ";")) (if_statement "if (*(int *)(iVar13 + 0x48) < 0) {\nLAB_00058a98:\n          if (*(int *)(iVar13 + 0x1c) != 0) {\n            uVar7 = *(uint *)(*(int *)(iVar13 + 0x1c) + 0x14);\n            iVar3 = iVar9;\njoined_r0x00058aac:\n            if (((uVar7 & 1) != 0) && (iVar9 = iVar3, local_34 = iVar13, (uVar7 & 8) != 0)) {\n              local_40 = iVar13;\n            }\n          }\n        }\n        else {\n          iVar11 = *(int *)(iVar13 + 0x18);\n          iVar3 = (*(code *)PTR_strncmp_001dbe60)(iVar11,puVar4,4);\n          if (iVar3 != 0) goto LAB_00058a98;\n          uVar7 = (uint)(*(char *)(iVar11 + 4) == 'a');\n          if ((bVar1) ||\n             (iVar3 = (*(code *)PTR_strcmp_001dc144)(puVar5,iVar11 + uVar7 + 4), iVar3 == 0)) break;\n          iVar3 = iVar13;\n          if ((cVar2 == 'a') != uVar7) {\n            if (iVar8 == 0) {\n              iVar8 = iVar13;\n            }\n            iVar3 = iVar8;\n            if (iVar9 != 0) goto LAB_00058a98;\n          }\n          iVar8 = iVar3;\n          if (*(int *)(iVar13 + 0x1c) != 0) {\n            uVar7 = *(uint *)(*(int *)(iVar13 + 0x1c) + 0x14);\n            iVar3 = iVar13;\n            goto joined_r0x00058aac;\n          }\n        }" (if "if") (parenthesized_expression "(*(int *)(iVar13 + 0x48) < 0)" (( "(") (binary_expression "*(int *)(iVar13 + 0x48) < 0" (pointer_expression "*(int *)(iVar13 + 0x48)" (* "*") (cast_expression "(int *)(iVar13 + 0x48)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar13 + 0x48)" (( "(") (binary_expression "iVar13 + 0x48" (identifier "iVar13") (+ "+") (number_literal "0x48")) () ")")))) (< "<") (number_literal "0")) () ")")) (compound_statement "{\nLAB_00058a98:\n          if (*(int *)(iVar13 + 0x1c) != 0) {\n            uVar7 = *(uint *)(*(int *)(iVar13 + 0x1c) + 0x14);\n            iVar3 = iVar9;\njoined_r0x00058aac:\n            if (((uVar7 & 1) != 0) && (iVar9 = iVar3, local_34 = iVar13, (uVar7 & 8) != 0)) {\n              local_40 = iVar13;\n            }\n          }\n        }" ({ "{") (labeled_statement "LAB_00058a98:\n          if (*(int *)(iVar13 + 0x1c) != 0) {\n            uVar7 = *(uint *)(*(int *)(iVar13 + 0x1c) + 0x14);\n            iVar3 = iVar9;\njoined_r0x00058aac:\n            if (((uVar7 & 1) != 0) && (iVar9 = iVar3, local_34 = iVar13, (uVar7 & 8) != 0)) {\n              local_40 = iVar13;\n            }\n          }" (statement_identifier "LAB_00058a98") (: ":") (if_statement "if (*(int *)(iVar13 + 0x1c) != 0) {\n            uVar7 = *(uint *)(*(int *)(iVar13 + 0x1c) + 0x14);\n            iVar3 = iVar9;\njoined_r0x00058aac:\n            if (((uVar7 & 1) != 0) && (iVar9 = iVar3, local_34 = iVar13, (uVar7 & 8) != 0)) {\n              local_40 = iVar13;\n            }\n          }" (if "if") (parenthesized_expression "(*(int *)(iVar13 + 0x1c) != 0)" (( "(") (binary_expression "*(int *)(iVar13 + 0x1c) != 0" (pointer_expression "*(int *)(iVar13 + 0x1c)" (* "*") (cast_expression "(int *)(iVar13 + 0x1c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar13 + 0x1c)" (( "(") (binary_expression "iVar13 + 0x1c" (identifier "iVar13") (+ "+") (number_literal "0x1c")) () ")")))) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n            uVar7 = *(uint *)(*(int *)(iVar13 + 0x1c) + 0x14);\n            iVar3 = iVar9;\njoined_r0x00058aac:\n            if (((uVar7 & 1) != 0) && (iVar9 = iVar3, local_34 = iVar13, (uVar7 & 8) != 0)) {\n              local_40 = iVar13;\n            }\n          }" ({ "{") (expression_statement "uVar7 = *(uint *)(*(int *)(iVar13 + 0x1c) + 0x14);" (assignment_expression "uVar7 = *(uint *)(*(int *)(iVar13 + 0x1c) + 0x14)" (identifier "uVar7") (= "=") (pointer_expression "*(uint *)(*(int *)(iVar13 + 0x1c) + 0x14)" (* "*") (cast_expression "(uint *)(*(int *)(iVar13 + 0x1c) + 0x14)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(iVar13 + 0x1c) + 0x14)" (( "(") (binary_expression "*(int *)(iVar13 + 0x1c) + 0x14" (pointer_expression "*(int *)(iVar13 + 0x1c)" (* "*") (cast_expression "(int *)(iVar13 + 0x1c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar13 + 0x1c)" (( "(") (binary_expression "iVar13 + 0x1c" (identifier "iVar13") (+ "+") (number_literal "0x1c")) () ")")))) (+ "+") (number_literal "0x14")) () ")"))))) (; ";")) (expression_statement "iVar3 = iVar9;" (assignment_expression "iVar3 = iVar9" (identifier "iVar3") (= "=") (identifier "iVar9")) (; ";")) (labeled_statement "joined_r0x00058aac:\n            if (((uVar7 & 1) != 0) && (iVar9 = iVar3, local_34 = iVar13, (uVar7 & 8) != 0)) {\n              local_40 = iVar13;\n            }" (statement_identifier "joined_r0x00058aac") (: ":") (if_statement "if (((uVar7 & 1) != 0) && (iVar9 = iVar3, local_34 = iVar13, (uVar7 & 8) != 0)) {\n              local_40 = iVar13;\n            }" (if "if") (parenthesized_expression "(((uVar7 & 1) != 0) && (iVar9 = iVar3, local_34 = iVar13, (uVar7 & 8) != 0))" (( "(") (binary_expression "((uVar7 & 1) != 0) && (iVar9 = iVar3, local_34 = iVar13, (uVar7 & 8) != 0)" (parenthesized_expression "((uVar7 & 1) != 0)" (( "(") (binary_expression "(uVar7 & 1) != 0" (parenthesized_expression "(uVar7 & 1)" (( "(") (binary_expression "uVar7 & 1" (identifier "uVar7") (& "&") (number_literal "1")) () ")")) (!= "!=") (number_literal "0")) () ")")) (&& "&&") (parenthesized_expression "(iVar9 = iVar3, local_34 = iVar13, (uVar7 & 8) != 0)" (( "(") (comma_expression "iVar9 = iVar3, local_34 = iVar13, (uVar7 & 8) != 0" (assignment_expression "iVar9 = iVar3" (identifier "iVar9") (= "=") (identifier "iVar3")) (, ",") (comma_expression "local_34 = iVar13, (uVar7 & 8) != 0" (assignment_expression "local_34 = iVar13" (identifier "local_34") (= "=") (identifier "iVar13")) (, ",") (binary_expression "(uVar7 & 8) != 0" (parenthesized_expression "(uVar7 & 8)" (( "(") (binary_expression "uVar7 & 8" (identifier "uVar7") (& "&") (number_literal "8")) () ")")) (!= "!=") (number_literal "0")))) () ")"))) () ")")) (compound_statement "{\n              local_40 = iVar13;\n            }" ({ "{") (expression_statement "local_40 = iVar13;" (assignment_expression "local_40 = iVar13" (identifier "local_40") (= "=") (identifier "iVar13")) (; ";")) (} "}")))) (} "}")))) (} "}")) (else_clause "else {\n          iVar11 = *(int *)(iVar13 + 0x18);\n          iVar3 = (*(code *)PTR_strncmp_001dbe60)(iVar11,puVar4,4);\n          if (iVar3 != 0) goto LAB_00058a98;\n          uVar7 = (uint)(*(char *)(iVar11 + 4) == 'a');\n          if ((bVar1) ||\n             (iVar3 = (*(code *)PTR_strcmp_001dc144)(puVar5,iVar11 + uVar7 + 4), iVar3 == 0)) break;\n          iVar3 = iVar13;\n          if ((cVar2 == 'a') != uVar7) {\n            if (iVar8 == 0) {\n              iVar8 = iVar13;\n            }\n            iVar3 = iVar8;\n            if (iVar9 != 0) goto LAB_00058a98;\n          }\n          iVar8 = iVar3;\n          if (*(int *)(iVar13 + 0x1c) != 0) {\n            uVar7 = *(uint *)(*(int *)(iVar13 + 0x1c) + 0x14);\n            iVar3 = iVar13;\n            goto joined_r0x00058aac;\n          }\n        }" (else "else") (compound_statement "{\n          iVar11 = *(int *)(iVar13 + 0x18);\n          iVar3 = (*(code *)PTR_strncmp_001dbe60)(iVar11,puVar4,4);\n          if (iVar3 != 0) goto LAB_00058a98;\n          uVar7 = (uint)(*(char *)(iVar11 + 4) == 'a');\n          if ((bVar1) ||\n             (iVar3 = (*(code *)PTR_strcmp_001dc144)(puVar5,iVar11 + uVar7 + 4), iVar3 == 0)) break;\n          iVar3 = iVar13;\n          if ((cVar2 == 'a') != uVar7) {\n            if (iVar8 == 0) {\n              iVar8 = iVar13;\n            }\n            iVar3 = iVar8;\n            if (iVar9 != 0) goto LAB_00058a98;\n          }\n          iVar8 = iVar3;\n          if (*(int *)(iVar13 + 0x1c) != 0) {\n            uVar7 = *(uint *)(*(int *)(iVar13 + 0x1c) + 0x14);\n            iVar3 = iVar13;\n            goto joined_r0x00058aac;\n          }\n        }" ({ "{") (expression_statement "iVar11 = *(int *)(iVar13 + 0x18);" (assignment_expression "iVar11 = *(int *)(iVar13 + 0x18)" (identifier "iVar11") (= "=") (pointer_expression "*(int *)(iVar13 + 0x18)" (* "*") (cast_expression "(int *)(iVar13 + 0x18)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar13 + 0x18)" (( "(") (binary_expression "iVar13 + 0x18" (identifier "iVar13") (+ "+") (number_literal "0x18")) () ")"))))) (; ";")) (expression_statement "iVar3 = (*(code *)PTR_strncmp_001dbe60)(iVar11,puVar4,4);" (assignment_expression "iVar3 = (*(code *)PTR_strncmp_001dbe60)(iVar11,puVar4,4)" (identifier "iVar3") (= "=") (call_expression "(*(code *)PTR_strncmp_001dbe60)(iVar11,puVar4,4)" (parenthesized_expression "(*(code *)PTR_strncmp_001dbe60)" (( "(") (pointer_expression "*(code *)PTR_strncmp_001dbe60" (* "*") (cast_expression "(code *)PTR_strncmp_001dbe60" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_strncmp_001dbe60"))) () ")")) (argument_list "(iVar11,puVar4,4)" (( "(") (identifier "iVar11") (, ",") (identifier "puVar4") (, ",") (number_literal "4") () ")")))) (; ";")) (if_statement "if (iVar3 != 0) goto LAB_00058a98;" (if "if") (parenthesized_expression "(iVar3 != 0)" (( "(") (binary_expression "iVar3 != 0" (identifier "iVar3") (!= "!=") (number_literal "0")) () ")")) (goto_statement "goto LAB_00058a98;" (goto "goto") (statement_identifier "LAB_00058a98") (; ";"))) (expression_statement "uVar7 = (uint)(*(char *)(iVar11 + 4) == 'a');" (assignment_expression "uVar7 = (uint)(*(char *)(iVar11 + 4) == 'a')" (identifier "uVar7") (= "=") (call_expression "(uint)(*(char *)(iVar11 + 4) == 'a')" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(*(char *)(iVar11 + 4) == 'a')" (( "(") (binary_expression "*(char *)(iVar11 + 4) == 'a'" (pointer_expression "*(char *)(iVar11 + 4)" (* "*") (cast_expression "(char *)(iVar11 + 4)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar11 + 4)" (( "(") (binary_expression "iVar11 + 4" (identifier "iVar11") (+ "+") (number_literal "4")) () ")")))) (== "==") (char_literal "'a'" (' "'") (character "a") (' "'"))) () ")")))) (; ";")) (if_statement "if ((bVar1) ||\n             (iVar3 = (*(code *)PTR_strcmp_001dc144)(puVar5,iVar11 + uVar7 + 4), iVar3 == 0)) break;" (if "if") (parenthesized_expression "((bVar1) ||\n             (iVar3 = (*(code *)PTR_strcmp_001dc144)(puVar5,iVar11 + uVar7 + 4), iVar3 == 0))" (( "(") (binary_expression "(bVar1) ||\n             (iVar3 = (*(code *)PTR_strcmp_001dc144)(puVar5,iVar11 + uVar7 + 4), iVar3 == 0)" (parenthesized_expression "(bVar1)" (( "(") (identifier "bVar1") () ")")) (|| "||") (parenthesized_expression "(iVar3 = (*(code *)PTR_strcmp_001dc144)(puVar5,iVar11 + uVar7 + 4), iVar3 == 0)" (( "(") (comma_expression "iVar3 = (*(code *)PTR_strcmp_001dc144)(puVar5,iVar11 + uVar7 + 4), iVar3 == 0" (assignment_expression "iVar3 = (*(code *)PTR_strcmp_001dc144)(puVar5,iVar11 + uVar7 + 4)" (identifier "iVar3") (= "=") (call_expression "(*(code *)PTR_strcmp_001dc144)(puVar5,iVar11 + uVar7 + 4)" (parenthesized_expression "(*(code *)PTR_strcmp_001dc144)" (( "(") (pointer_expression "*(code *)PTR_strcmp_001dc144" (* "*") (cast_expression "(code *)PTR_strcmp_001dc144" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_strcmp_001dc144"))) () ")")) (argument_list "(puVar5,iVar11 + uVar7 + 4)" (( "(") (identifier "puVar5") (, ",") (binary_expression "iVar11 + uVar7 + 4" (binary_expression "iVar11 + uVar7" (identifier "iVar11") (+ "+") (identifier "uVar7")) (+ "+") (number_literal "4")) () ")")))) (, ",") (binary_expression "iVar3 == 0" (identifier "iVar3") (== "==") (number_literal "0"))) () ")"))) () ")")) (break_statement "break;" (break "break") (; ";"))) (expression_statement "iVar3 = iVar13;" (assignment_expression "iVar3 = iVar13" (identifier "iVar3") (= "=") (identifier "iVar13")) (; ";")) (if_statement "if ((cVar2 == 'a') != uVar7) {\n            if (iVar8 == 0) {\n              iVar8 = iVar13;\n            }\n            iVar3 = iVar8;\n            if (iVar9 != 0) goto LAB_00058a98;\n          }" (if "if") (parenthesized_expression "((cVar2 == 'a') != uVar7)" (( "(") (binary_expression "(cVar2 == 'a') != uVar7" (parenthesized_expression "(cVar2 == 'a')" (( "(") (binary_expression "cVar2 == 'a'" (identifier "cVar2") (== "==") (char_literal "'a'" (' "'") (character "a") (' "'"))) () ")")) (!= "!=") (identifier "uVar7")) () ")")) (compound_statement "{\n            if (iVar8 == 0) {\n              iVar8 = iVar13;\n            }\n            iVar3 = iVar8;\n            if (iVar9 != 0) goto LAB_00058a98;\n          }" ({ "{") (if_statement "if (iVar8 == 0) {\n              iVar8 = iVar13;\n            }" (if "if") (parenthesized_expression "(iVar8 == 0)" (( "(") (binary_expression "iVar8 == 0" (identifier "iVar8") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n              iVar8 = iVar13;\n            }" ({ "{") (expression_statement "iVar8 = iVar13;" (assignment_expression "iVar8 = iVar13" (identifier "iVar8") (= "=") (identifier "iVar13")) (; ";")) (} "}"))) (expression_statement "iVar3 = iVar8;" (assignment_expression "iVar3 = iVar8" (identifier "iVar3") (= "=") (identifier "iVar8")) (; ";")) (if_statement "if (iVar9 != 0) goto LAB_00058a98;" (if "if") (parenthesized_expression "(iVar9 != 0)" (( "(") (binary_expression "iVar9 != 0" (identifier "iVar9") (!= "!=") (number_literal "0")) () ")")) (goto_statement "goto LAB_00058a98;" (goto "goto") (statement_identifier "LAB_00058a98") (; ";"))) (} "}"))) (expression_statement "iVar8 = iVar3;" (assignment_expression "iVar8 = iVar3" (identifier "iVar8") (= "=") (identifier "iVar3")) (; ";")) (if_statement "if (*(int *)(iVar13 + 0x1c) != 0) {\n            uVar7 = *(uint *)(*(int *)(iVar13 + 0x1c) + 0x14);\n            iVar3 = iVar13;\n            goto joined_r0x00058aac;\n          }" (if "if") (parenthesized_expression "(*(int *)(iVar13 + 0x1c) != 0)" (( "(") (binary_expression "*(int *)(iVar13 + 0x1c) != 0" (pointer_expression "*(int *)(iVar13 + 0x1c)" (* "*") (cast_expression "(int *)(iVar13 + 0x1c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar13 + 0x1c)" (( "(") (binary_expression "iVar13 + 0x1c" (identifier "iVar13") (+ "+") (number_literal "0x1c")) () ")")))) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n            uVar7 = *(uint *)(*(int *)(iVar13 + 0x1c) + 0x14);\n            iVar3 = iVar13;\n            goto joined_r0x00058aac;\n          }" ({ "{") (expression_statement "uVar7 = *(uint *)(*(int *)(iVar13 + 0x1c) + 0x14);" (assignment_expression "uVar7 = *(uint *)(*(int *)(iVar13 + 0x1c) + 0x14)" (identifier "uVar7") (= "=") (pointer_expression "*(uint *)(*(int *)(iVar13 + 0x1c) + 0x14)" (* "*") (cast_expression "(uint *)(*(int *)(iVar13 + 0x1c) + 0x14)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(iVar13 + 0x1c) + 0x14)" (( "(") (binary_expression "*(int *)(iVar13 + 0x1c) + 0x14" (pointer_expression "*(int *)(iVar13 + 0x1c)" (* "*") (cast_expression "(int *)(iVar13 + 0x1c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar13 + 0x1c)" (( "(") (binary_expression "iVar13 + 0x1c" (identifier "iVar13") (+ "+") (number_literal "0x1c")) () ")")))) (+ "+") (number_literal "0x14")) () ")"))))) (; ";")) (expression_statement "iVar3 = iVar13;" (assignment_expression "iVar3 = iVar13" (identifier "iVar3") (= "=") (identifier "iVar13")) (; ";")) (goto_statement "goto joined_r0x00058aac;" (goto "goto") (statement_identifier "joined_r0x00058aac") (; ";")) (} "}"))) (} "}")))) (expression_statement "local_44 = iVar13;" (assignment_expression "local_44 = iVar13" (identifier "local_44") (= "=") (identifier "iVar13")) (; ";")) (expression_statement "iVar3 = *(int *)(iVar13 + 0x10);" (assignment_expression "iVar3 = *(int *)(iVar13 + 0x10)" (identifier "iVar3") (= "=") (pointer_expression "*(int *)(iVar13 + 0x10)" (* "*") (cast_expression "(int *)(iVar13 + 0x10)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar13 + 0x10)" (( "(") (binary_expression "iVar13 + 0x10" (identifier "iVar13") (+ "+") (number_literal "0x10")) () ")"))))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(*(int *)(iVar13 + 0x10) != 0)" (( "(") (binary_expression "*(int *)(iVar13 + 0x10) != 0" (pointer_expression "*(int *)(iVar13 + 0x10)" (* "*") (cast_expression "(int *)(iVar13 + 0x10)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar13 + 0x10)" (( "(") (binary_expression "iVar13 + 0x10" (identifier "iVar13") (+ "+") (number_literal "0x10")) () ")")))) (!= "!=") (number_literal "0")) () ")")) (; ";")) (if_statement "if (iVar9 == 0) {\n        if (iVar8 == 0) {\n          if (local_40 == 0) {\n            local_40 = local_34;\n            if (local_34 == 0) {\n              local_40 = local_44;\n            }\n            piVar10[2] = local_40;\n          }\n          else {\n            piVar10[2] = local_40;\n          }\n        }\n        else {\n          piVar10[2] = iVar8;\n          local_40 = iVar8;\n        }\n      }\n      else {\n        piVar10[2] = iVar9;\n        local_40 = iVar9;\n      }" (if "if") (parenthesized_expression "(iVar9 == 0)" (( "(") (binary_expression "iVar9 == 0" (identifier "iVar9") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n        if (iVar8 == 0) {\n          if (local_40 == 0) {\n            local_40 = local_34;\n            if (local_34 == 0) {\n              local_40 = local_44;\n            }\n            piVar10[2] = local_40;\n          }\n          else {\n            piVar10[2] = local_40;\n          }\n        }\n        else {\n          piVar10[2] = iVar8;\n          local_40 = iVar8;\n        }\n      }" ({ "{") (if_statement "if (iVar8 == 0) {\n          if (local_40 == 0) {\n            local_40 = local_34;\n            if (local_34 == 0) {\n              local_40 = local_44;\n            }\n            piVar10[2] = local_40;\n          }\n          else {\n            piVar10[2] = local_40;\n          }\n        }\n        else {\n          piVar10[2] = iVar8;\n          local_40 = iVar8;\n        }" (if "if") (parenthesized_expression "(iVar8 == 0)" (( "(") (binary_expression "iVar8 == 0" (identifier "iVar8") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n          if (local_40 == 0) {\n            local_40 = local_34;\n            if (local_34 == 0) {\n              local_40 = local_44;\n            }\n            piVar10[2] = local_40;\n          }\n          else {\n            piVar10[2] = local_40;\n          }\n        }" ({ "{") (if_statement "if (local_40 == 0) {\n            local_40 = local_34;\n            if (local_34 == 0) {\n              local_40 = local_44;\n            }\n            piVar10[2] = local_40;\n          }\n          else {\n            piVar10[2] = local_40;\n          }" (if "if") (parenthesized_expression "(local_40 == 0)" (( "(") (binary_expression "local_40 == 0" (identifier "local_40") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n            local_40 = local_34;\n            if (local_34 == 0) {\n              local_40 = local_44;\n            }\n            piVar10[2] = local_40;\n          }" ({ "{") (expression_statement "local_40 = local_34;" (assignment_expression "local_40 = local_34" (identifier "local_40") (= "=") (identifier "local_34")) (; ";")) (if_statement "if (local_34 == 0) {\n              local_40 = local_44;\n            }" (if "if") (parenthesized_expression "(local_34 == 0)" (( "(") (binary_expression "local_34 == 0" (identifier "local_34") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n              local_40 = local_44;\n            }" ({ "{") (expression_statement "local_40 = local_44;" (assignment_expression "local_40 = local_44" (identifier "local_40") (= "=") (identifier "local_44")) (; ";")) (} "}"))) (expression_statement "piVar10[2] = local_40;" (assignment_expression "piVar10[2] = local_40" (subscript_expression "piVar10[2]" (identifier "piVar10") ([ "[") (number_literal "2") (] "]")) (= "=") (identifier "local_40")) (; ";")) (} "}")) (else_clause "else {\n            piVar10[2] = local_40;\n          }" (else "else") (compound_statement "{\n            piVar10[2] = local_40;\n          }" ({ "{") (expression_statement "piVar10[2] = local_40;" (assignment_expression "piVar10[2] = local_40" (subscript_expression "piVar10[2]" (identifier "piVar10") ([ "[") (number_literal "2") (] "]")) (= "=") (identifier "local_40")) (; ";")) (} "}")))) (} "}")) (else_clause "else {\n          piVar10[2] = iVar8;\n          local_40 = iVar8;\n        }" (else "else") (compound_statement "{\n          piVar10[2] = iVar8;\n          local_40 = iVar8;\n        }" ({ "{") (expression_statement "piVar10[2] = iVar8;" (assignment_expression "piVar10[2] = iVar8" (subscript_expression "piVar10[2]" (identifier "piVar10") ([ "[") (number_literal "2") (] "]")) (= "=") (identifier "iVar8")) (; ";")) (expression_statement "local_40 = iVar8;" (assignment_expression "local_40 = iVar8" (identifier "local_40") (= "=") (identifier "iVar8")) (; ";")) (} "}")))) (} "}")) (else_clause "else {\n        piVar10[2] = iVar9;\n        local_40 = iVar9;\n      }" (else "else") (compound_statement "{\n        piVar10[2] = iVar9;\n        local_40 = iVar9;\n      }" ({ "{") (expression_statement "piVar10[2] = iVar9;" (assignment_expression "piVar10[2] = iVar9" (subscript_expression "piVar10[2]" (identifier "piVar10") ([ "[") (number_literal "2") (] "]")) (= "=") (identifier "iVar9")) (; ";")) (expression_statement "local_40 = iVar9;" (assignment_expression "local_40 = iVar9" (identifier "local_40") (= "=") (identifier "iVar9")) (; ";")) (} "}")))) (goto_statement "goto LAB_00058960;" (goto "goto") (statement_identifier "LAB_00058960") (; ";")) (} "}"))) (} "}")) (else_clause "else {\n    local_40 = (*(code *)PTR_lang_output_section_statement_lookup_001dbc2c)(*piVar10,0,0);\n    piVar10[2] = local_40;\nLAB_00058960:\n    if (local_40 != 0) goto LAB_00058810;\n  }" (else "else") (compound_statement "{\n    local_40 = (*(code *)PTR_lang_output_section_statement_lookup_001dbc2c)(*piVar10,0,0);\n    piVar10[2] = local_40;\nLAB_00058960:\n    if (local_40 != 0) goto LAB_00058810;\n  }" ({ "{") (expression_statement "local_40 = (*(code *)PTR_lang_output_section_statement_lookup_001dbc2c)(*piVar10,0,0);" (assignment_expression "local_40 = (*(code *)PTR_lang_output_section_statement_lookup_001dbc2c)(*piVar10,0,0)" (identifier "local_40") (= "=") (call_expression "(*(code *)PTR_lang_output_section_statement_lookup_001dbc2c)(*piVar10,0,0)" (parenthesized_expression "(*(code *)PTR_lang_output_section_statement_lookup_001dbc2c)" (( "(") (pointer_expression "*(code *)PTR_lang_output_section_statement_lookup_001dbc2c" (* "*") (cast_expression "(code *)PTR_lang_output_section_statement_lookup_001dbc2c" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_lang_output_section_statement_lookup_001dbc2c"))) () ")")) (argument_list "(*piVar10,0,0)" (( "(") (pointer_expression "*piVar10" (* "*") (identifier "piVar10")) (, ",") (number_literal "0") (, ",") (number_literal "0") () ")")))) (; ";")) (expression_statement "piVar10[2] = local_40;" (assignment_expression "piVar10[2] = local_40" (subscript_expression "piVar10[2]" (identifier "piVar10") ([ "[") (number_literal "2") (] "]")) (= "=") (identifier "local_40")) (; ";")) (labeled_statement "LAB_00058960:\n    if (local_40 != 0) goto LAB_00058810;" (statement_identifier "LAB_00058960") (: ":") (if_statement "if (local_40 != 0) goto LAB_00058810;" (if "if") (parenthesized_expression "(local_40 != 0)" (( "(") (binary_expression "local_40 != 0" (identifier "local_40") (!= "!=") (number_literal "0")) () ")")) (goto_statement "goto LAB_00058810;" (goto "goto") (statement_identifier "LAB_00058810") (; ";")))) (} "}")))) (expression_statement "local_40 = (*(code *)PTR_lang_output_section_find_by_flags_001dbd70)\n                       (param_1,uVar6,piVar10 + 2,PTR__bfd_elf_match_sections_by_type_001dbe14);" (assignment_expression "local_40 = (*(code *)PTR_lang_output_section_find_by_flags_001dbd70)\n                       (param_1,uVar6,piVar10 + 2,PTR__bfd_elf_match_sections_by_type_001dbe14)" (identifier "local_40") (= "=") (call_expression "(*(code *)PTR_lang_output_section_find_by_flags_001dbd70)\n                       (param_1,uVar6,piVar10 + 2,PTR__bfd_elf_match_sections_by_type_001dbe14)" (parenthesized_expression "(*(code *)PTR_lang_output_section_find_by_flags_001dbd70)" (( "(") (pointer_expression "*(code *)PTR_lang_output_section_find_by_flags_001dbd70" (* "*") (cast_expression "(code *)PTR_lang_output_section_find_by_flags_001dbd70" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_lang_output_section_find_by_flags_001dbd70"))) () ")")) (argument_list "(param_1,uVar6,piVar10 + 2,PTR__bfd_elf_match_sections_by_type_001dbe14)" (( "(") (identifier "param_1") (, ",") (identifier "uVar6") (, ",") (binary_expression "piVar10 + 2" (identifier "piVar10") (+ "+") (number_literal "2")) (, ",") (identifier "PTR__bfd_elf_match_sections_by_type_001dbe14") () ")")))) (; ";")) (if_statement "if (local_40 == 0) {\n    local_40 = *(int *)PTR_lang_output_section_statement_001dbbf4;\n  }" (if "if") (parenthesized_expression "(local_40 == 0)" (( "(") (binary_expression "local_40 == 0" (identifier "local_40") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n    local_40 = *(int *)PTR_lang_output_section_statement_001dbbf4;\n  }" ({ "{") (expression_statement "local_40 = *(int *)PTR_lang_output_section_statement_001dbbf4;" (assignment_expression "local_40 = *(int *)PTR_lang_output_section_statement_001dbbf4" (identifier "local_40") (= "=") (pointer_expression "*(int *)PTR_lang_output_section_statement_001dbbf4" (* "*") (cast_expression "(int *)PTR_lang_output_section_statement_001dbbf4" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_lang_output_section_statement_001dbbf4")))) (; ";")) (} "}"))) (labeled_statement "LAB_00058810:\n  iVar8 = (*(code *)PTR_lang_insert_orphan_001dbd6c)(param_1,param_2,param_3,local_40,piVar10,0,0);" (statement_identifier "LAB_00058810") (: ":") (expression_statement "iVar8 = (*(code *)PTR_lang_insert_orphan_001dbd6c)(param_1,param_2,param_3,local_40,piVar10,0,0);" (assignment_expression "iVar8 = (*(code *)PTR_lang_insert_orphan_001dbd6c)(param_1,param_2,param_3,local_40,piVar10,0,0)" (identifier "iVar8") (= "=") (call_expression "(*(code *)PTR_lang_insert_orphan_001dbd6c)(param_1,param_2,param_3,local_40,piVar10,0,0)" (parenthesized_expression "(*(code *)PTR_lang_insert_orphan_001dbd6c)" (( "(") (pointer_expression "*(code *)PTR_lang_insert_orphan_001dbd6c" (* "*") (cast_expression "(code *)PTR_lang_insert_orphan_001dbd6c" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_lang_insert_orphan_001dbd6c"))) () ")")) (argument_list "(param_1,param_2,param_3,local_40,piVar10,0,0)" (( "(") (identifier "param_1") (, ",") (identifier "param_2") (, ",") (identifier "param_3") (, ",") (identifier "local_40") (, ",") (identifier "piVar10") (, ",") (number_literal "0") (, ",") (number_literal "0") () ")")))) (; ";"))) (return_statement "return iVar8;" (return "return") (identifier "iVar8") (; ";")) (} "}")))

type_1 *
function_1(type_2 *s,char *secname,int var_12)

{
  bool bVar1;
  char var_25;
  int var_11;
  type_2 *var_9;
  type_1 *var_13;
  type_1 *var_8;
  type_3 *var_14;
  type_3 *var_19;
  int var_23;
  type_4 var_4;
  type_5 *pbVar11;
  void *pvVar12;
  type_6 var_2;
  type_7 var_20;
  type_1 *var_15;
  int var_5;
  int *var_17;
  int var_24;
  int *var_18;
  int var_22;
  int var_6;
  int var_21;
  int var_26;
  
  var_14 = var_1;
  var_2 = s->owner->xvec->flavour;
  var_5 = *(int *)(*(int *)(*(int *)(var_1 + 0x34) + 4) + 4);
  if (var_2 == var_3) {
    var_6 = *(int *)((int)s->used_by_bfd + 4);
  }
  else {
    var_6 = 0;
  }
  if ((*(type_4 *)var_1 & 0xc0000000) == 0x80000000) {
LAB_00058478:
    bVar1 = false;
  }
  else {
    if ((-1 < *(int *)(var_1 + 4) << 6) || (var_4 = s->flags, (var_4 & 1) == 0))
    {
      if (var_2 == var_3) {
        bVar1 = false;
LAB_0005886c:
        if ((var_5 != 5) || (var_4 = s->flags, (var_4 & 1) == 0)) goto LAB_0005847c;
        pvVar12 = s->used_by_bfd;
        goto LAB_0005888c;
      }
      goto LAB_00058478;
    }
    if (var_2 == var_3) {
      if (var_6 == 4) {
        bVar1 = true;
        secname = var_7 + 0xb14;
        goto LAB_0005886c;
      }
      bVar1 = var_6 == 9;
      if (bVar1) {
        secname = var_7 + 0xb44;
      }
      if (var_5 != 5) goto LAB_0005847c;
      pvVar12 = s->used_by_bfd;
LAB_0005888c:
      if (*(int *)((int)pvVar12 + 0xc) << 7 < 0) {
        var_8 = *(type_1 **)PTR_lang_output_section_statement_001dbbf4;
        if (var_8 != (type_1 *)0x0) {
          do {
            var_9 = var_8->type_11;
            if ((((var_9 != (type_2 *)0x0) &&
                 (var_9 != (type_2 *)(var_10 + 400))) &&
                ((*(type_4 *)((int)var_9->used_by_bfd + 0xc) & 0x1000000) != 0)) &&
               ((((var_4 ^ var_9->flags) & 0x11b) == 0 &&
                (*(int *)((int)var_9->used_by_bfd + 0x2c) == *(int *)((int)pvVar12 + 0x2c)))))
            goto LAB_000586a0;
            var_8 = var_8->next;
          } while (var_8 != (type_8 *)0x0);
        }
        if ((var_4 & 0x102) == 0) {
          secname = var_7 + 0xb38;
        }
        else if ((var_4 & 8) == 0) {
          secname = var_7 + 0xb20;
        }
        else if ((var_4 & 0x10) == 0) {
          secname = var_7 + 0xb50;
        }
        else {
          secname = var_7 + 0xb2c;
        }
      }
    }
    else {
      var_11 = (*(type_9 *)PTR_strncmp_001dbe60)
                        (secname,var_7 + 0xb60,4);
      if (var_11 != 0) goto LAB_00058478;
      if (secname[4] == 'a') {
        bVar1 = true;
        secname = var_7 + 0xb14;
      }
      else {
        bVar1 = true;
        secname = var_7 + 0xb44;
      }
    }
  }
LAB_0005847c:
  if ((var_12 == 0) &&
     (var_8 = (type_1 *)
               (*(type_9 *)PTR_lang_output_section_statement_lookup_001dbc2c)(secname,0,0),
     var_8 != (type_1 *)0x0)) {
    var_15 = (type_1 *)0x0;
    do {
      while (var_9 = var_8->type_11, var_9 == (type_2 *)0x0) {
        var_13 = (type_1 *)
                 (*(type_9 *)PTR_next_matching_output_section_statement_001dbd68)(var_8,0);
        var_15 = var_8;
        var_8 = var_13;
        if (var_13 == (type_1 *)0x0) goto LAB_000587ec;
      }
      if (var_9->flags == 0) goto LAB_000586a0;
      if (((var_9->flags ^ s->flags) & 3) == 0) {
        if ((var_2 != var_3) || (var_5 != 5)) goto LAB_000586a0;
        if ((*(int *)((int)var_9->used_by_bfd + 0x2c) == *(int *)((int)s->used_by_bfd + 0x2c)) &&
           (((*(type_4 *)var_14 & 0xc0000000) != 0x80000000 ||
            (((*(type_4 *)((int)var_9->used_by_bfd + 0xc) ^ *(type_4 *)((int)s->used_by_bfd + 0xc)) &
             0x80000000) == 0)))) {
          var_11 = (*(type_9 *)PTR__bfd_elf_match_sections_by_type_001dbe14)
                            (*(type_10 *)(var_14 + 0x34),var_9,s->owner,s);
          if (var_11 != 0) goto LAB_000586a0;
          if (var_8->type_11 == (type_2 *)0x0) {
            var_15 = var_8;
          }
        }
      }
      var_8 = (type_1 *)
               (*(type_9 *)PTR_next_matching_output_section_statement_001dbd68)(var_8,0);
    } while (var_8 != (type_1 *)0x0);
LAB_000587ec:
    if (var_15 != (type_1 *)0x0) {
      (*(type_9 *)PTR_lang_add_section_001dbc3c)(&var_15->children,s,0,var_15);
      return var_15;
    }
    var_12 = 0x17e;
  }
  var_19 = var_16;
  if (*(int *)(var_16 + -0x3618) == 0) {
    var_17 = (int *)(var_16 + -0x49e0);
    var_18 = (int *)(var_16 + -0x4908);
    do {
      if (*var_17 != 0) {
        var_5 = (*(type_9 *)PTR_lang_output_section_statement_lookup_001dbc2c)(*var_17,0,0);
        var_17[2] = var_5;
        if ((var_5 != 0) && (*(int *)(var_5 + 0x4c) == 0)) {
          *(int *)(var_5 + 0x4c) = var_17[1];
        }
      }
      var_17 = var_17 + 6;
    } while (var_17 != var_18);
    *(type_10 *)(var_19 + -0x3618) = 1;
  }
  if ((int)*(type_4 *)var_14 < 0) {
    var_20 = s->flags;
    if ((*(type_4 *)var_14 & 0xc0000000) != 0x80000000) goto LAB_000585fc;
  }
  else {
    var_5 = (*(type_9 *)PTR_strncmp_001dbe60)
                       (s->name,var_7 + 0xb78,0xd);
    if ((var_5 == 0) &&
       (var_8 = *(type_1 **)(var_16 + -0x49d8),
       var_8 != (type_1 *)0x0)) {
LAB_000586a0:
      (*(type_9 *)PTR_lang_add_section_001dbc3c)(&var_8->children,s,0,var_8);
      return var_8;
    }
    var_20 = s->flags;
LAB_000585fc:
    pbVar11 = s->owner;
    var_9 = s;
    while (var_9 = (type_2 *)(*(type_9 *)PTR_bfd_get_next_section_by_name_001dbf68)(pbVar11,var_9)
          , var_9 != (type_2 *)0x0) {
      pbVar11 = var_9->owner;
      if ((((var_9->output_section == (type_11 *)0x0) &&
           (((var_9->flags ^ var_20) & 3) == 0 && (var_9->flags & 0x8000) == 0)) &&
          (-1 < *(int *)&pbVar11->field_0x28 << 0x12)) &&
         ((pbVar11->usrdata != (void *)0x0 &&
          ((*(type_12 *)((int)pbVar11->usrdata + 0x24) & 0x800) == 0)))) {
        var_5 = (*(type_9 *)PTR__bfd_elf_match_sections_by_type_001dbe14)(pbVar11,var_9,s->owner,s);
        if (var_5 == 0) {
          pbVar11 = var_9->owner;
        }
        else {
          pbVar11 = var_9->owner;
          var_20 = (var_9->flags ^ 8 | var_20 ^ 8) ^ 8;
        }
      }
    }
  }
  if ((var_20 & 0x2001) == 0) {
    var_17 = (int *)(var_16 + -0x4920);
  }
  else {
    var_17 = (int *)0x0;
    if ((var_20 & 1) == 0) {
      var_21 = 0;
      goto LAB_00058810;
    }
    if ((var_20 & 2) != 0) {
      if (var_2 == var_3) {
        if (var_6 == 7) goto LAB_000589f8;
      }
      else {
        var_5 = (*(type_9 *)PTR_strncmp_001dbe60)
                           (secname,var_7 + 0xb68,5);
        if (var_5 == 0) {
LAB_000589f8:
          var_17 = (int *)(var_16 + -0x4950);
          goto LAB_00058800;
        }
      }
    }
    if ((var_20 & 0x502) == 0) {
      var_17 = (int *)(var_16 + -0x4980);
    }
    else if ((int)(var_20 << 9) < 0) {
      var_17 = (int *)(var_16 + -0x4938);
    }
    else if ((var_20 & 0x400) == 0) {
      if ((var_20 & 8) == 0) {
        var_17 = (int *)(var_16 + -0x4998);
      }
      else {
        if (var_2 == var_3) {
          if ((var_6 == 4) || (var_6 == 9)) goto LAB_000585b8;
        }
        else {
          var_5 = (*(type_9 *)PTR_strncmp_001dbe60)
                             (secname,var_7 + 0xb60,4);
          if (var_5 == 0) {
LAB_000585b8:
            if ((var_20 & 2) != 0) {
              var_17 = (int *)(var_16 + -0x4968);
              goto LAB_00058800;
            }
          }
        }
        if ((var_20 & 0x10) == 0) {
          var_17 = (int *)(var_16 + -0x49c8);
        }
        else {
          var_17 = (int *)(var_16 + -0x49e0);
        }
      }
    }
    else {
      var_17 = (int *)(var_16 + -0x49b0);
    }
  }
LAB_00058800:
  var_21 = var_17[2];
  if (var_21 != 0) goto LAB_00058810;
  if (*var_17 == 0) {
    var_25 = s->name[4];
    if (*(int *)PTR_lang_output_section_statement_001dbbf4 != 0) {
      var_6 = 0;
      var_21 = 0;
      var_14 = var_7 + 0xb60;
      var_26 = 0;
      var_19 = var_7 + 0xb70;
      var_5 = 0;
      var_11 = 0;
      var_23 = *(int *)PTR_lang_output_section_statement_001dbbf4;
      do {
        var_22 = var_23;
        if (*(int *)(var_22 + 0x48) < 0) {
LAB_00058a98:
          if (*(int *)(var_22 + 0x1c) != 0) {
            var_4 = *(type_4 *)(*(int *)(var_22 + 0x1c) + 0x14);
            var_23 = var_11;
joined_r0x00058aac:
            if (((var_4 & 1) != 0) && (var_11 = var_23, var_26 = var_22, (var_4 & 8) != 0)) {
              var_21 = var_22;
            }
          }
        }
        else {
          var_24 = *(int *)(var_22 + 0x18);
          var_23 = (*(type_9 *)PTR_strncmp_001dbe60)(var_24,var_14,4);
          if (var_23 != 0) goto LAB_00058a98;
          var_4 = (type_4)(*(char *)(var_24 + 4) == 'a');
          if ((bVar1) ||
             (var_23 = (*(type_9 *)PTR_strcmp_001dc144)(var_19,var_24 + var_4 + 4), var_23 == 0))
          break;
          var_23 = var_22;
          if ((var_25 == 'a') != var_4) {
            if (var_5 == 0) {
              var_5 = var_22;
            }
            var_23 = var_5;
            if (var_11 != 0) goto LAB_00058a98;
          }
          var_5 = var_23;
          if (*(int *)(var_22 + 0x1c) != 0) {
            var_4 = *(type_4 *)(*(int *)(var_22 + 0x1c) + 0x14);
            var_23 = var_22;
            goto joined_r0x00058aac;
          }
        }
        var_6 = var_22;
        var_23 = *(int *)(var_22 + 0x10);
      } while (*(int *)(var_22 + 0x10) != 0);
      if (var_11 == 0) {
        if (var_5 == 0) {
          if (var_21 == 0) {
            var_21 = var_26;
            if (var_26 == 0) {
              var_21 = var_6;
            }
            var_17[2] = var_21;
          }
          else {
            var_17[2] = var_21;
          }
        }
        else {
          var_17[2] = var_5;
          var_21 = var_5;
        }
      }
      else {
        var_17[2] = var_11;
        var_21 = var_11;
      }
      goto LAB_00058960;
    }
  }
  else {
    var_21 = (*(type_9 *)PTR_lang_output_section_statement_lookup_001dbc2c)(*var_17,0,0);
    var_17[2] = var_21;
LAB_00058960:
    if (var_21 != 0) goto LAB_00058810;
  }
  var_21 = (*(type_9 *)PTR_lang_output_section_find_by_flags_001dbd70)
                       (s,var_20,var_17 + 2,PTR__bfd_elf_match_sections_by_type_001dbe14);
  if (var_21 == 0) {
    var_21 = *(int *)PTR_lang_output_section_statement_001dbbf4;
  }
LAB_00058810:
  var_8 = (type_1 *)
           (*(type_9 *)PTR_lang_insert_orphan_001dbd6c)(s,secname,var_12,var_21,var_17,0,0);
  return var_8;
}


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

int MASKED(int *param_1,undefined *param_2,int param_3)

{
  bool bVar1;
  char cVar2;
  int iVar3;
  undefined *puVar4;
  undefined *puVar5;
  uint uVar6;
  uint uVar7;
  int iVar8;
  int iVar9;
  int *piVar10;
  int iVar11;
  int *piVar12;
  int iVar13;
  int local_44;
  int local_40;
  int local_34;
  
  puVar4 = PTR_link_info_001db928;
  iVar8 = *(int *)(*(int *)(param_1[0x2d] + 4) + 4);
  iVar9 = *(int *)(*(int *)(*(int *)(PTR_link_info_001db928 + 0x34) + 4) + 4);
  if (iVar8 == 5) {
    local_44 = *(int *)(param_1[0x2b] + 4);
  }
  else {
    local_44 = 0;
  }
  if ((*(uint *)PTR_link_info_001db928 & 0xc0000000) == 0x80000000) {
LAB_00058478:
    bVar1 = false;
  }
  else {
    if ((-1 < *(int *)(PTR_link_info_001db928 + 4) << 6) || (uVar6 = param_1[5], (uVar6 & 1) == 0))
    {
      if (iVar8 == 5) {
        bVar1 = false;
LAB_0005886c:
        if ((iVar9 != 5) || (uVar6 = param_1[5], (uVar6 & 1) == 0)) goto LAB_0005847c;
        iVar3 = param_1[0x2b];
        goto LAB_0005888c;
      }
      goto LAB_00058478;
    }
    if (iVar8 == 5) {
      if (local_44 == 4) {
        bVar1 = true;
        param_2 = PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb14;
        goto LAB_0005886c;
      }
      bVar1 = local_44 == 9;
      if (bVar1) {
        param_2 = PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb44;
      }
      if (iVar9 != 5) goto LAB_0005847c;
      iVar3 = param_1[0x2b];
LAB_0005888c:
      if (*(int *)(iVar3 + 0xc) << 7 < 0) {
        iVar13 = *(int *)PTR_lang_output_section_statement_001dbbf4;
        if (iVar13 != 0) {
          do {
            puVar5 = *(undefined **)(iVar13 + 0x1c);
            if ((((puVar5 != (undefined *)0x0) && (puVar5 != PTR__bfd_std_section_001dbf30 + 400))
                && ((*(uint *)(*(int *)(puVar5 + 0xac) + 0xc) & 0x1000000) != 0)) &&
               ((((uVar6 ^ *(uint *)(puVar5 + 0x14)) & 0x11b) == 0 &&
                (*(int *)(*(int *)(puVar5 + 0xac) + 0x2c) == *(int *)(iVar3 + 0x2c)))))
            goto LAB_000586a0;
            iVar13 = *(int *)(iVar13 + 0x10);
          } while (iVar13 != 0);
        }
        if ((uVar6 & 0x102) == 0) {
          param_2 = PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb38;
        }
        else if ((uVar6 & 8) == 0) {
          param_2 = PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb20;
        }
        else if ((uVar6 & 0x10) == 0) {
          param_2 = PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb50;
        }
        else {
          param_2 = PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb2c;
        }
      }
    }
    else {
      iVar3 = (*(code *)PTR_strncmp_001dbe60)
                        (param_2,PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb60,4);
      if (iVar3 != 0) goto LAB_00058478;
      if (param_2[4] == 'a') {
        bVar1 = true;
        param_2 = PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb14;
      }
      else {
        bVar1 = true;
        param_2 = PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb44;
      }
    }
  }
LAB_0005847c:
  if ((param_3 == 0) &&
     (iVar13 = (*(code *)PTR_lang_output_section_statement_lookup_001dbc2c)(param_2,0,0),
     iVar13 != 0)) {
    iVar3 = 0;
    do {
      while (iVar11 = *(int *)(iVar13 + 0x1c), iVar11 == 0) {
        iVar11 = (*(code *)PTR_next_matching_output_section_statement_001dbd68)(iVar13,0);
        iVar3 = iVar13;
        iVar13 = iVar11;
        if (iVar11 == 0) goto LAB_000587ec;
      }
      if (*(uint *)(iVar11 + 0x14) == 0) goto LAB_000586a0;
      if (((*(uint *)(iVar11 + 0x14) ^ param_1[5]) & 3) == 0) {
        if ((iVar8 != 5) || (iVar9 != 5)) goto LAB_000586a0;
        if ((*(int *)(*(int *)(iVar11 + 0xac) + 0x2c) == *(int *)(param_1[0x2b] + 0x2c)) &&
           (((*(uint *)puVar4 & 0xc0000000) != 0x80000000 ||
            (((*(uint *)(*(int *)(iVar11 + 0xac) + 0xc) ^ *(uint *)(param_1[0x2b] + 0xc)) &
             0x80000000) == 0)))) {
          iVar11 = (*(code *)PTR__bfd_elf_match_sections_by_type_001dbe14)
                             (*(undefined4 *)(puVar4 + 0x34),iVar11,param_1[0x2d],param_1);
          if (iVar11 != 0) goto LAB_000586a0;
          if (*(int *)(iVar13 + 0x1c) == 0) {
            iVar3 = iVar13;
          }
        }
      }
      iVar13 = (*(code *)PTR_next_matching_output_section_statement_001dbd68)(iVar13,0);
    } while (iVar13 != 0);
LAB_000587ec:
    if (iVar3 != 0) {
      (*(code *)PTR_lang_add_section_001dbc3c)(iVar3 + 8,param_1,0,iVar3);
      return iVar3;
    }
    param_3 = 0x17e;
  }
  puVar5 = PTR_DAT_001db8f8;
  if (*(int *)(PTR_DAT_001db8f8 + -0x3618) == 0) {
    piVar10 = (int *)(PTR_DAT_001db8f8 + -0x49e0);
    piVar12 = (int *)(PTR_DAT_001db8f8 + -0x4908);
    do {
      if (*piVar10 != 0) {
        iVar9 = (*(code *)PTR_lang_output_section_statement_lookup_001dbc2c)(*piVar10,0,0);
        piVar10[2] = iVar9;
        if ((iVar9 != 0) && (*(int *)(iVar9 + 0x4c) == 0)) {
          *(int *)(iVar9 + 0x4c) = piVar10[1];
        }
      }
      piVar10 = piVar10 + 6;
    } while (piVar10 != piVar12);
    *(undefined4 *)(puVar5 + -0x3618) = 1;
  }
  if ((int)*(uint *)puVar4 < 0) {
    uVar6 = param_1[5];
    if ((*(uint *)puVar4 & 0xc0000000) != 0x80000000) goto LAB_000585fc;
  }
  else {
    iVar9 = (*(code *)PTR_strncmp_001dbe60)
                      (*param_1,PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb78,0xd);
    if ((iVar9 == 0) && (iVar13 = *(int *)(PTR_DAT_001db8f8 + -0x49d8), iVar13 != 0)) {
LAB_000586a0:
      (*(code *)PTR_lang_add_section_001dbc3c)(iVar13 + 8,param_1,0,iVar13);
      return iVar13;
    }
    uVar6 = param_1[5];
LAB_000585fc:
    iVar9 = param_1[0x2d];
    piVar10 = param_1;
    while (piVar10 = (int *)(*(code *)PTR_bfd_get_next_section_by_name_001dbf68)(iVar9,piVar10),
          piVar10 != (int *)0x0) {
      iVar9 = piVar10[0x2d];
      if ((((piVar10[0x16] == 0) && (((piVar10[5] ^ uVar6) & 3) == 0 && (piVar10[5] & 0x8000U) == 0)
           ) && (-1 < *(int *)(iVar9 + 0x28) << 0x12)) &&
         ((*(int *)(iVar9 + 0xac) != 0 &&
          ((*(ushort *)(*(int *)(iVar9 + 0xac) + 0x24) & 0x800) == 0)))) {
        iVar9 = (*(code *)PTR__bfd_elf_match_sections_by_type_001dbe14)
                          (iVar9,piVar10,param_1[0x2d],param_1);
        if (iVar9 == 0) {
          iVar9 = piVar10[0x2d];
        }
        else {
          iVar9 = piVar10[0x2d];
          uVar6 = (piVar10[5] ^ 8U | uVar6 ^ 8) ^ 8;
        }
      }
    }
  }
  if ((uVar6 & 0x2001) == 0) {
    piVar10 = (int *)(PTR_DAT_001db8f8 + -0x4920);
  }
  else {
    piVar10 = (int *)0x0;
    if ((uVar6 & 1) == 0) {
      local_40 = 0;
      goto LAB_00058810;
    }
    if ((uVar6 & 2) != 0) {
      if (iVar8 == 5) {
        if (local_44 == 7) goto LAB_000589f8;
      }
      else {
        iVar9 = (*(code *)PTR_strncmp_001dbe60)
                          (param_2,PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb68,5);
        if (iVar9 == 0) {
LAB_000589f8:
          piVar10 = (int *)(PTR_DAT_001db8f8 + -0x4950);
          goto LAB_00058800;
        }
      }
    }
    if ((uVar6 & 0x502) == 0) {
      piVar10 = (int *)(PTR_DAT_001db8f8 + -0x4980);
    }
    else if ((int)(uVar6 << 9) < 0) {
      piVar10 = (int *)(PTR_DAT_001db8f8 + -0x4938);
    }
    else if ((uVar6 & 0x400) == 0) {
      if ((uVar6 & 8) == 0) {
        piVar10 = (int *)(PTR_DAT_001db8f8 + -0x4998);
      }
      else {
        if (iVar8 == 5) {
          if ((local_44 == 4) || (local_44 == 9)) goto LAB_000585b8;
        }
        else {
          iVar8 = (*(code *)PTR_strncmp_001dbe60)
                            (param_2,PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb60,4);
          if (iVar8 == 0) {
LAB_000585b8:
            if ((uVar6 & 2) != 0) {
              piVar10 = (int *)(PTR_DAT_001db8f8 + -0x4968);
              goto LAB_00058800;
            }
          }
        }
        if ((uVar6 & 0x10) == 0) {
          piVar10 = (int *)(PTR_DAT_001db8f8 + -0x49c8);
        }
        else {
          piVar10 = (int *)(PTR_DAT_001db8f8 + -0x49e0);
        }
      }
    }
    else {
      piVar10 = (int *)(PTR_DAT_001db8f8 + -0x49b0);
    }
  }
LAB_00058800:
  local_40 = piVar10[2];
  if (local_40 != 0) goto LAB_00058810;
  if (*piVar10 == 0) {
    cVar2 = *(char *)(*param_1 + 4);
    if (*(int *)PTR_lang_output_section_statement_001dbbf4 != 0) {
      local_44 = 0;
      local_40 = 0;
      puVar4 = PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb60;
      local_34 = 0;
      puVar5 = PTR_s____debug_str_____debug_loc_0_____001db974 + 0xb70;
      iVar8 = 0;
      iVar9 = 0;
      iVar3 = *(int *)PTR_lang_output_section_statement_001dbbf4;
      do {
        iVar13 = iVar3;
        if (*(int *)(iVar13 + 0x48) < 0) {
LAB_00058a98:
          if (*(int *)(iVar13 + 0x1c) != 0) {
            uVar7 = *(uint *)(*(int *)(iVar13 + 0x1c) + 0x14);
            iVar3 = iVar9;
joined_r0x00058aac:
            if (((uVar7 & 1) != 0) && (iVar9 = iVar3, local_34 = iVar13, (uVar7 & 8) != 0)) {
              local_40 = iVar13;
            }
          }
        }
        else {
          iVar11 = *(int *)(iVar13 + 0x18);
          iVar3 = (*(code *)PTR_strncmp_001dbe60)(iVar11,puVar4,4);
          if (iVar3 != 0) goto LAB_00058a98;
          uVar7 = (uint)(*(char *)(iVar11 + 4) == 'a');
          if ((bVar1) ||
             (iVar3 = (*(code *)PTR_strcmp_001dc144)(puVar5,iVar11 + uVar7 + 4), iVar3 == 0)) break;
          iVar3 = iVar13;
          if ((cVar2 == 'a') != uVar7) {
            if (iVar8 == 0) {
              iVar8 = iVar13;
            }
            iVar3 = iVar8;
            if (iVar9 != 0) goto LAB_00058a98;
          }
          iVar8 = iVar3;
          if (*(int *)(iVar13 + 0x1c) != 0) {
            uVar7 = *(uint *)(*(int *)(iVar13 + 0x1c) + 0x14);
            iVar3 = iVar13;
            goto joined_r0x00058aac;
          }
        }
        local_44 = iVar13;
        iVar3 = *(int *)(iVar13 + 0x10);
      } while (*(int *)(iVar13 + 0x10) != 0);
      if (iVar9 == 0) {
        if (iVar8 == 0) {
          if (local_40 == 0) {
            local_40 = local_34;
            if (local_34 == 0) {
              local_40 = local_44;
            }
            piVar10[2] = local_40;
          }
          else {
            piVar10[2] = local_40;
          }
        }
        else {
          piVar10[2] = iVar8;
          local_40 = iVar8;
        }
      }
      else {
        piVar10[2] = iVar9;
        local_40 = iVar9;
      }
      goto LAB_00058960;
    }
  }
  else {
    local_40 = (*(code *)PTR_lang_output_section_statement_lookup_001dbc2c)(*piVar10,0,0);
    piVar10[2] = local_40;
LAB_00058960:
    if (local_40 != 0) goto LAB_00058810;
  }
  local_40 = (*(code *)PTR_lang_output_section_find_by_flags_001dbd70)
                       (param_1,uVar6,piVar10 + 2,PTR__bfd_elf_match_sections_by_type_001dbe14);
  if (local_40 == 0) {
    local_40 = *(int *)PTR_lang_output_section_statement_001dbbf4;
  }
LAB_00058810:
  iVar8 = (*(code *)PTR_lang_insert_orphan_001dbd6c)(param_1,param_2,param_3,local_40,piVar10,0,0);
  return iVar8;
}

