
/* WARNING: Function: __x86.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */
/* WARNING: Unknown calling convention */

bfd_boolean gldm68kelf_handle_option(int optc)

{
  undefined *puVar1;
  undefined1 uVar2;
  int iVar3;
  char *pcVar4;
  byte *pbVar5;
  char *__s1;
  byte *pbVar6;
  byte *pbVar7;
  bool bVar8;
  bool bVar9;
  bool bVar10;
  byte bVar11;
  char *end;
  undefined4 uStack_14;
  
  puVar1 = PTR_optarg_0008bff4;
  bVar11 = 0;
  uStack_14 = 0x35ac9;
  if (optc == 0x193) {
    link_info._2_2_ = link_info._2_2_ & 0x3fff | 0x4000;
    return 1;
  }
  uVar2 = link_info._4_1_;
  if (0x193 < optc) {
    if (optc != 0x196) {
      if (optc < 0x197) {
        if (optc == 0x194) {
          link_info._2_2_ = link_info._2_2_ & 0x3fff;
          return 1;
        }
        if (optc != 0x195) {
          return 0;
        }
        add_excluded_libs(*(char **)PTR_optarg_0008bff4);
        return 1;
      }
      if (optc == 0x198) {
        gldm68kelf_append_to_separated_string(&audit,*(char **)PTR_optarg_0008bff4);
        return 1;
      }
      if (optc < 0x198) {
        if (emit_note_gnu_build_id != (char *)0x0) {
          free(emit_note_gnu_build_id);
          emit_note_gnu_build_id = (char *)0x0;
        }
        pbVar5 = *(byte **)PTR_optarg_0008bff4;
        bVar8 = false;
        bVar10 = pbVar5 == (byte *)0x0;
        if (bVar10) {
          pbVar5 = &DAT_0004f1e8;
          *(undefined1 **)PTR_optarg_0008bff4 = &DAT_0004f1e8;
        }
        else {
          iVar3 = 5;
          pbVar6 = pbVar5;
          pbVar7 = (byte *)0x4ab38;
          do {
            if (iVar3 == 0) break;
            iVar3 = iVar3 + -1;
            bVar8 = *pbVar6 < *pbVar7;
            bVar10 = *pbVar6 == *pbVar7;
            pbVar6 = pbVar6 + (uint)bVar11 * -2 + 1;
            pbVar7 = pbVar7 + (uint)bVar11 * -2 + 1;
          } while (bVar10);
          if ((!bVar8 && !bVar10) == bVar8) {
            return 1;
          }
        }
        emit_note_gnu_build_id = (char *)xstrdup(pbVar5);
        return 1;
      }
      if (optc != 0x199) {
        return 0;
      }
      __s1 = *(char **)PTR_optarg_0008bff4;
      iVar3 = strcasecmp(__s1,"none");
      if (iVar3 == 0) {
        link_info.compress_debug = COMPRESS_DEBUG_NONE;
        return 1;
      }
      iVar3 = strcasecmp(__s1,"zlib");
      if (iVar3 != 0) {
        iVar3 = strcasecmp(__s1,"zlib-gnu");
        if (iVar3 == 0) {
          link_info.compress_debug = COMPRESS_DEBUG_GNU_ZLIB;
          return 1;
        }
        iVar3 = strcasecmp(__s1,"zlib-gabi");
        if (iVar3 != 0) {
          pcVar4 = "%F%P: invalid --compress-debug-sections option: `%s\'\n";
          goto LAB_00035f83;
        }
      }
      link_info.compress_debug = COMPRESS_DEBUG_GABI_ZLIB;
      return 1;
    }
    pbVar5 = *(byte **)PTR_optarg_0008bff4;
    iVar3 = 5;
    bVar8 = false;
    bVar10 = (link_info._4_4_ & 0xf3) == 0;
    link_info._4_4_ = link_info._4_4_ & 0xfffffff3;
    pbVar6 = pbVar5;
    pbVar7 = &DAT_0007ac19;
    do {
      if (iVar3 == 0) break;
      iVar3 = iVar3 + -1;
      bVar8 = *pbVar6 < *pbVar7;
      bVar10 = *pbVar6 == *pbVar7;
      pbVar6 = pbVar6 + 1;
      pbVar7 = pbVar7 + 1;
    } while (bVar10);
    bVar9 = false;
    bVar8 = (!bVar8 && !bVar10) == bVar8;
    if (bVar8) {
      link_info._4_4_ = CONCAT31(link_info._5_3_,uVar2) & 0xfffffff3 | 4;
      return 1;
    }
    iVar3 = 4;
    pbVar6 = pbVar5;
    pbVar7 = &DAT_0007ac0b;
    do {
      if (iVar3 == 0) break;
      iVar3 = iVar3 + -1;
      bVar9 = *pbVar6 < *pbVar7;
      bVar8 = *pbVar6 == *pbVar7;
      pbVar6 = pbVar6 + 1;
      pbVar7 = pbVar7 + 1;
    } while (bVar8);
    bVar10 = false;
    bVar8 = (!bVar9 && !bVar8) == bVar9;
    if (bVar8) {
      link_info._4_4_ = CONCAT31(link_info._5_3_,uVar2) & 0xfffffff3 | 8;
      return 1;
    }
    iVar3 = 5;
    pbVar6 = pbVar5;
    pbVar7 = &DAT_0007ac1e;
    do {
      if (iVar3 == 0) break;
      iVar3 = iVar3 + -1;
      bVar10 = *pbVar6 < *pbVar7;
      bVar8 = *pbVar6 == *pbVar7;
      pbVar6 = pbVar6 + 1;
      pbVar7 = pbVar7 + 1;
    } while (bVar8);
    if ((!bVar10 && !bVar8) == bVar10) {
      link_info._4_4_ = CONCAT31(link_info._5_3_,uVar2) & 0xfffffff3 | 0xc;
      return 1;
    }
    pcVar4 = "%F%P: invalid hash style `%s\'\n";
LAB_0003606a:
    pcVar4 = (char *)dcgettext(0,pcVar4,5);
    einfo(pcVar4,pbVar5);
    return 1;
  }
  bVar8 = (uint)optc < 0x12d;
  bVar10 = optc == 0x12d;
  if (bVar10) {
    iVar3 = 7;
    pbVar5 = *(byte **)PTR_optarg_0008bff4;
    pbVar6 = pbVar5;
    pbVar7 = (byte *)"target";
    do {
      if (iVar3 == 0) break;
      iVar3 = iVar3 + -1;
      bVar8 = *pbVar6 < *pbVar7;
      bVar10 = *pbVar6 == *pbVar7;
      pbVar6 = pbVar6 + 1;
      pbVar7 = pbVar7 + 1;
    } while (bVar10);
    bVar9 = false;
    bVar8 = (!bVar8 && !bVar10) == bVar8;
    if (!bVar8) {
      iVar3 = 7;
      pbVar6 = pbVar5;
      pbVar7 = (byte *)"single";
      do {
        if (iVar3 == 0) break;
        iVar3 = iVar3 + -1;
        bVar9 = *pbVar6 < *pbVar7;
        bVar8 = *pbVar6 == *pbVar7;
        pbVar6 = pbVar6 + 1;
        pbVar7 = pbVar7 + 1;
      } while (bVar8);
      bVar10 = false;
      bVar8 = (!bVar9 && !bVar8) == bVar9;
      if (!bVar8) {
        iVar3 = 9;
        pbVar6 = pbVar5;
        pbVar7 = (byte *)"negative";
        do {
          if (iVar3 == 0) break;
          iVar3 = iVar3 + -1;
          bVar10 = *pbVar6 < *pbVar7;
          bVar8 = *pbVar6 == *pbVar7;
          pbVar6 = pbVar6 + 1;
          pbVar7 = pbVar7 + 1;
        } while (bVar8);
        bVar9 = false;
        bVar8 = (!bVar10 && !bVar8) == bVar10;
        if (bVar8) {
          got_handling = 1;
          return 1;
        }
        iVar3 = 9;
        pbVar6 = pbVar5;
        pbVar7 = (byte *)"multigot";
        do {
          if (iVar3 == 0) break;
          iVar3 = iVar3 + -1;
          bVar9 = *pbVar6 < *pbVar7;
          bVar8 = *pbVar6 == *pbVar7;
          pbVar6 = pbVar6 + 1;
          pbVar7 = pbVar7 + 1;
        } while (bVar8);
        if ((!bVar9 && !bVar8) == bVar9) {
          got_handling = 2;
          return 1;
        }
        pcVar4 = "%P: unrecognized --got argument \'%s\'\n";
        goto LAB_0003606a;
      }
    }
    got_handling = 0;
    return 1;
  }
  if (0x12d < optc) {
    if (optc == 0x191) {
      link_info._4_4_ = link_info._4_4_ | 0x100;
      return 1;
    }
    if (0x191 < optc) {
      link_info._2_2_ = link_info._2_2_ | 0x1e0;
      link_info.flags_1 = link_info.flags_1 | 4;
      return 1;
    }
    if (optc != 400) {
      return 0;
    }
    link_info._4_4_ = link_info._4_4_ & 0xfffffeff;
    return 1;
  }
  if (optc == 0x50) {
    gldm68kelf_append_to_separated_string(&depaudit,*(char **)PTR_optarg_0008bff4);
    return 1;
  }
  bVar8 = (uint)optc < 0x7a;
  bVar10 = optc == 0x7a;
  if (!bVar10) {
    return 0;
  }
  iVar3 = 5;
  pbVar5 = *(byte **)PTR_optarg_0008bff4;
  pbVar6 = pbVar5;
  pbVar7 = (byte *)0x4acc7;
  do {
    if (iVar3 == 0) break;
    iVar3 = iVar3 + -1;
    bVar8 = *pbVar6 < *pbVar7;
    bVar10 = *pbVar6 == *pbVar7;
    pbVar6 = pbVar6 + 1;
    pbVar7 = pbVar7 + 1;
  } while (bVar10);
  bVar9 = false;
  bVar8 = (!bVar8 && !bVar10) == bVar8;
  if (bVar8) {
    link_info._2_2_ = link_info._2_2_ | 0x60;
    return 1;
  }
  iVar3 = 7;
  pbVar6 = pbVar5;
  pbVar7 = (byte *)"undefs";
  do {
    if (iVar3 == 0) break;
    iVar3 = iVar3 + -1;
    bVar9 = *pbVar6 < *pbVar7;
    bVar8 = *pbVar6 == *pbVar7;
    pbVar6 = pbVar6 + 1;
    pbVar7 = pbVar7 + 1;
  } while (bVar8);
  bVar10 = false;
  bVar8 = (!bVar9 && !bVar8) == bVar9;
  if (bVar8) {
    link_info._2_2_ = link_info._2_2_ & 0xff9f | 0x20;
    return 1;
  }
  iVar3 = 8;
  pbVar6 = pbVar5;
  pbVar7 = (byte *)"muldefs";
  do {
    if (iVar3 == 0) break;
    iVar3 = iVar3 + -1;
    bVar10 = *pbVar6 < *pbVar7;
    bVar8 = *pbVar6 == *pbVar7;
    pbVar6 = pbVar6 + 1;
    pbVar7 = pbVar7 + 1;
  } while (bVar8);
  bVar9 = false;
  bVar8 = (!bVar10 && !bVar8) == bVar10;
  if (bVar8) {
    link_info._4_4_ = link_info._4_4_ | 0x800;
    return 1;
  }
  iVar3 = 0xe;
  pbVar6 = pbVar5;
  pbVar7 = (byte *)"max-page-size=";
  do {
    if (iVar3 == 0) break;
    iVar3 = iVar3 + -1;
    bVar9 = *pbVar6 < *pbVar7;
    bVar8 = *pbVar6 == *pbVar7;
    pbVar6 = pbVar6 + 1;
    pbVar7 = pbVar7 + 1;
  } while (bVar8);
  bVar10 = false;
  bVar8 = (!bVar9 && !bVar8) == bVar9;
  if (bVar8) {
    config.maxpagesize = strtoul((char *)(pbVar5 + 0xe),&end,0);
    if ((*end == '\0') && ((config.maxpagesize - 1 & config.maxpagesize) == 0)) {
      return 1;
    }
    pcVar4 = "%F%P: invalid maximum page size `%s\'\n";
    __s1 = (char *)(*(int *)puVar1 + 0xe);
  }
  else {
    iVar3 = 0x11;
    pbVar6 = pbVar5;
    pbVar7 = (byte *)"common-page-size=";
    do {
      if (iVar3 == 0) break;
      iVar3 = iVar3 + -1;
      bVar10 = *pbVar6 < *pbVar7;
      bVar8 = *pbVar6 == *pbVar7;
      pbVar6 = pbVar6 + 1;
      pbVar7 = pbVar7 + 1;
    } while (bVar8);
    bVar9 = false;
    bVar8 = (!bVar10 && !bVar8) == bVar10;
    if (!bVar8) {
      iVar3 = 0xb;
      pbVar6 = pbVar5;
      pbVar7 = (byte *)"stack-size=";
      do {
        if (iVar3 == 0) break;
        iVar3 = iVar3 + -1;
        bVar9 = *pbVar6 < *pbVar7;
        bVar8 = *pbVar6 == *pbVar7;
        pbVar6 = pbVar6 + 1;
        pbVar7 = pbVar7 + 1;
      } while (bVar8);
      bVar10 = false;
      bVar8 = (!bVar9 && !bVar8) == bVar9;
      if (bVar8) {
        link_info.stacksize = strtoul((char *)(pbVar5 + 0xb),&end,0);
        if ((*end != '\0') || (link_info.stacksize < 0)) {
          iVar3 = *(int *)puVar1;
          pcVar4 = (char *)dcgettext(0,"%F%P: invalid stack size `%s\'\n",5,link_info.stacksize);
          einfo(pcVar4,iVar3 + 0xb);
        }
        if (link_info.stacksize == 0) {
          link_info.stacksize = -1;
          return 1;
        }
        return 1;
      }
      iVar3 = 10;
      pbVar6 = pbVar5;
      pbVar7 = (byte *)0x7ac61;
      do {
        if (iVar3 == 0) break;
        iVar3 = iVar3 + -1;
        bVar10 = *pbVar6 < *pbVar7;
        bVar8 = *pbVar6 == *pbVar7;
        pbVar6 = pbVar6 + 1;
        pbVar7 = pbVar7 + 1;
      } while (bVar8);
      bVar9 = false;
      bVar8 = (!bVar10 && !bVar8) == bVar10;
      if (bVar8) {
        link_info._4_4_ = link_info._4_4_ & 0xfffe7fff | 0x8000;
        return 1;
      }
      iVar3 = 0xc;
      pbVar6 = pbVar5;
      pbVar7 = (byte *)"noexecstack";
      do {
        if (iVar3 == 0) break;
        iVar3 = iVar3 + -1;
        bVar9 = *pbVar6 < *pbVar7;
        bVar8 = *pbVar6 == *pbVar7;
        pbVar6 = pbVar6 + 1;
        pbVar7 = pbVar7 + 1;
      } while (bVar8);
      if ((!bVar9 && !bVar8) == bVar9) {
        link_info._4_4_ = link_info._4_4_ & 0xfffe7fff | 0x10000;
        return 1;
      }
      iVar3 = strcmp((char *)pbVar5,"globalaudit");
      if (iVar3 == 0) {
        link_info.flags_1 = link_info.flags_1 | 0x1000000;
        return 1;
      }
      iVar3 = strcmp((char *)pbVar5,"global");
      if (iVar3 == 0) {
        link_info.flags_1 = link_info.flags_1 | 2;
        return 1;
      }
      iVar3 = strcmp((char *)pbVar5,"initfirst");
      if (iVar3 == 0) {
        link_info.flags_1 = link_info.flags_1 | 0x20;
        return 1;
      }
      iVar3 = strcmp((char *)pbVar5,"interpose");
      if (iVar3 == 0) {
        link_info.flags_1 = link_info.flags_1 | 0x400;
        return 1;
      }
      iVar3 = strcmp((char *)pbVar5,"loadfltr");
      if (iVar3 == 0) {
        link_info.flags_1 = link_info.flags_1 | 0x10;
        return 1;
      }
      iVar3 = strcmp((char *)pbVar5,"nodefaultlib");
      if (iVar3 == 0) {
        link_info.flags_1 = link_info.flags_1 | 0x800;
        return 1;
      }
      iVar3 = strcmp((char *)pbVar5,"nodelete");
      if (iVar3 == 0) {
        link_info.flags_1 = link_info.flags_1 | 8;
        return 1;
      }
      iVar3 = strcmp((char *)pbVar5,"nodlopen");
      if (iVar3 == 0) {
        link_info.flags_1 = link_info.flags_1 | 0x40;
        return 1;
      }
      iVar3 = strcmp((char *)pbVar5,"nodump");
      if (iVar3 == 0) {
        link_info.flags_1 = link_info.flags_1 | 0x1000;
        return 1;
      }
      iVar3 = strcmp((char *)pbVar5,"now");
      if (iVar3 == 0) {
        link_info.flags = link_info.flags | 8;
        link_info.flags_1 = link_info.flags_1 | 1;
        return 1;
      }
      iVar3 = strcmp((char *)pbVar5,"lazy");
      if (iVar3 == 0) {
        link_info.flags = link_info.flags & 0xfffffff7;
        link_info.flags_1 = link_info.flags_1 & 0xfffffffe;
        return 1;
      }
      iVar3 = strcmp((char *)pbVar5,"origin");
      if (iVar3 == 0) {
        link_info.flags = link_info.flags | 1;
        link_info.flags_1 = link_info.flags_1 | 0x80;
        return 1;
      }
      iVar3 = strcmp((char *)pbVar5,"combreloc");
      if (iVar3 == 0) {
        link_info._4_4_ = link_info._4_4_ | 0x40;
        return 1;
      }
      iVar3 = strcmp((char *)pbVar5,"nocombreloc");
      if (iVar3 == 0) {
        link_info._4_4_ = link_info._4_4_ & 0xffffffbf;
        return 1;
      }
      iVar3 = strcmp((char *)pbVar5,"nocopyreloc");
      if (iVar3 == 0) {
        link_info._0_1_ = link_info._0_1_ | 8;
        return 1;
      }
      iVar3 = strcmp((char *)pbVar5,"relro");
      if (iVar3 == 0) {
        link_info._2_2_ = link_info._2_2_ | 0x1000;
        return 1;
      }
      iVar3 = strcmp((char *)pbVar5,"norelro");
      if (iVar3 == 0) {
        link_info._2_2_ = link_info._2_2_ & 0xefff;
        return 1;
      }
      iVar3 = strcmp((char *)pbVar5,"separate-code");
      if (iVar3 == 0) {
        link_info._2_2_ = link_info._2_2_ | 0x2000;
        return 1;
      }
      iVar3 = strcmp((char *)pbVar5,"noseparate-code");
      if (iVar3 == 0) {
        link_info._2_2_ = link_info._2_2_ & 0xdfff;
        return 1;
      }
      iVar3 = strcmp((char *)pbVar5,"common");
      if (iVar3 == 0) {
        link_info._2_2_ = link_info._2_2_ & 0xfff9 | 2;
        return 1;
      }
      iVar3 = strcmp((char *)pbVar5,"nocommon");
      if (iVar3 == 0) {
        link_info._2_2_ = link_info._2_2_ & 0xfff9 | 4;
        return 1;
      }
      iVar3 = strcmp((char *)pbVar5,"text");
      if (iVar3 == 0) {
        link_info._4_4_ = link_info._4_4_ | 2;
        return 1;
      }
      iVar3 = strcmp((char *)pbVar5,"notext");
      if ((iVar3 == 0) || (iVar3 = strcmp((char *)pbVar5,"textoff"), iVar3 == 0)) {
        link_info._4_4_ = link_info._4_4_ & 0xfffffffd;
        return 1;
      }
      pcVar4 = "%P: warning: -z %s ignored\n";
      goto LAB_0003606a;
    }
    config.commonpagesize = strtoul((char *)(pbVar5 + 0x11),&end,0);
    if ((*end == '\0') && ((config.commonpagesize - 1 & config.commonpagesize) == 0)) {
      return 1;
    }
    pcVar4 = "%F%P: invalid common page size `%s\'\n";
    __s1 = (char *)(*(int *)puVar1 + 0x11);
  }
LAB_00035f83:
  pcVar4 = (char *)dcgettext(0,pcVar4,5);
  einfo(pcVar4,__s1);
  return 1;
}



/* WARNING: Function: __i686.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */
/* WARNING: Globals starting with '_' overlap smaller symbols at the same address */

undefined4 FUN_00035ac0(uint param_1)

{
  undefined *puVar1;
  undefined1 uVar2;
  int iVar3;
  undefined4 uVar4;
  char *pcVar5;
  byte *pbVar6;
  char *__s1;
  byte *pbVar7;
  byte *pbVar8;
  bool bVar9;
  bool bVar10;
  bool bVar11;
  byte bVar12;
  char *local_20 [3];
  undefined4 uStack_14;
  
  puVar1 = PTR_optarg_0008bff4;
  bVar12 = 0;
  uStack_14 = 0x35ac9;
  if (param_1 == 0x193) {
    DAT_0008cc00._2_2_ = DAT_0008cc00._2_2_ & 0x3fff | 0x4000;
    return 1;
  }
  uVar2 = DAT_0008cc04;
  if (0x193 < (int)param_1) {
    if (param_1 != 0x196) {
      if ((int)param_1 < 0x197) {
        if (param_1 == 0x194) {
          DAT_0008cc00._2_2_ = DAT_0008cc00._2_2_ & 0x3fff;
          return 1;
        }
        if (param_1 != 0x195) {
          return 0;
        }
        FUN_00024120(*(undefined4 *)PTR_optarg_0008bff4);
        return 1;
      }
      if (param_1 == 0x198) {
        FUN_000359c0();
        return 1;
      }
      if ((int)param_1 < 0x198) {
        if (DAT_0008ca2c != (void *)0x0) {
          free(DAT_0008ca2c);
          DAT_0008ca2c = (void *)0x0;
        }
        pbVar6 = *(byte **)PTR_optarg_0008bff4;
        bVar9 = false;
        bVar11 = pbVar6 == (byte *)0x0;
        if (bVar11) {
          pbVar6 = &DAT_0004f1e8;
          *(undefined1 **)PTR_optarg_0008bff4 = &DAT_0004f1e8;
        }
        else {
          iVar3 = 5;
          pbVar7 = pbVar6;
          pbVar8 = (byte *)0x4ab38;
          do {
            if (iVar3 == 0) break;
            iVar3 = iVar3 + -1;
            bVar9 = *pbVar7 < *pbVar8;
            bVar11 = *pbVar7 == *pbVar8;
            pbVar7 = pbVar7 + (uint)bVar12 * -2 + 1;
            pbVar8 = pbVar8 + (uint)bVar12 * -2 + 1;
          } while (bVar11);
          if ((!bVar9 && !bVar11) == bVar9) {
            return 1;
          }
        }
        DAT_0008ca2c = (void *)xstrdup(pbVar6);
        return 1;
      }
      if (param_1 != 0x199) {
        return 0;
      }
      __s1 = *(char **)PTR_optarg_0008bff4;
      iVar3 = strcasecmp(__s1,"none");
      if (iVar3 == 0) {
        DAT_0008cc0c = 0;
        return 1;
      }
      iVar3 = strcasecmp(__s1,"zlib");
      if (iVar3 != 0) {
        iVar3 = strcasecmp(__s1,"zlib-gnu");
        if (iVar3 == 0) {
          DAT_0008cc0c = 3;
          return 1;
        }
        iVar3 = strcasecmp(__s1,"zlib-gabi");
        if (iVar3 != 0) {
          pcVar5 = "%F%P: invalid --compress-debug-sections option: `%s\'\n";
          goto LAB_00035f83;
        }
      }
      DAT_0008cc0c = 5;
      return 1;
    }
    pbVar6 = *(byte **)PTR_optarg_0008bff4;
    iVar3 = 5;
    bVar9 = false;
    bVar11 = (_DAT_0008cc04 & 0xf3) == 0;
    _DAT_0008cc04 = _DAT_0008cc04 & 0xfffffff3;
    pbVar7 = pbVar6;
    pbVar8 = &DAT_0007ac19;
    do {
      if (iVar3 == 0) break;
      iVar3 = iVar3 + -1;
      bVar9 = *pbVar7 < *pbVar8;
      bVar11 = *pbVar7 == *pbVar8;
      pbVar7 = pbVar7 + 1;
      pbVar8 = pbVar8 + 1;
    } while (bVar11);
    bVar10 = false;
    bVar9 = (!bVar9 && !bVar11) == bVar9;
    if (bVar9) {
      _DAT_0008cc04 = CONCAT31(_DAT_0008cc05,uVar2) & 0xfffffff3 | 4;
      return 1;
    }
    iVar3 = 4;
    pbVar7 = pbVar6;
    pbVar8 = &DAT_0007ac0b;
    do {
      if (iVar3 == 0) break;
      iVar3 = iVar3 + -1;
      bVar10 = *pbVar7 < *pbVar8;
      bVar9 = *pbVar7 == *pbVar8;
      pbVar7 = pbVar7 + 1;
      pbVar8 = pbVar8 + 1;
    } while (bVar9);
    bVar11 = false;
    bVar9 = (!bVar10 && !bVar9) == bVar10;
    if (bVar9) {
      _DAT_0008cc04 = CONCAT31(_DAT_0008cc05,uVar2) & 0xfffffff3 | 8;
      return 1;
    }
    iVar3 = 5;
    pbVar7 = pbVar6;
    pbVar8 = &DAT_0007ac1e;
    do {
      if (iVar3 == 0) break;
      iVar3 = iVar3 + -1;
      bVar11 = *pbVar7 < *pbVar8;
      bVar9 = *pbVar7 == *pbVar8;
      pbVar7 = pbVar7 + 1;
      pbVar8 = pbVar8 + 1;
    } while (bVar9);
    if ((!bVar11 && !bVar9) == bVar11) {
      _DAT_0008cc04 = CONCAT31(_DAT_0008cc05,uVar2) & 0xfffffff3 | 0xc;
      return 1;
    }
    pcVar5 = "%F%P: invalid hash style `%s\'\n";
LAB_0003606a:
    uVar4 = dcgettext(0,pcVar5,5);
    FUN_00031700(uVar4,pbVar6);
    return 1;
  }
  bVar9 = param_1 < 0x12d;
  bVar11 = param_1 == 0x12d;
  if (bVar11) {
    iVar3 = 7;
    pbVar6 = *(byte **)PTR_optarg_0008bff4;
    pbVar7 = pbVar6;
    pbVar8 = (byte *)"target";
    do {
      if (iVar3 == 0) break;
      iVar3 = iVar3 + -1;
      bVar9 = *pbVar7 < *pbVar8;
      bVar11 = *pbVar7 == *pbVar8;
      pbVar7 = pbVar7 + 1;
      pbVar8 = pbVar8 + 1;
    } while (bVar11);
    bVar10 = false;
    bVar9 = (!bVar9 && !bVar11) == bVar9;
    if (!bVar9) {
      iVar3 = 7;
      pbVar7 = pbVar6;
      pbVar8 = (byte *)"single";
      do {
        if (iVar3 == 0) break;
        iVar3 = iVar3 + -1;
        bVar10 = *pbVar7 < *pbVar8;
        bVar9 = *pbVar7 == *pbVar8;
        pbVar7 = pbVar7 + 1;
        pbVar8 = pbVar8 + 1;
      } while (bVar9);
      bVar11 = false;
      bVar9 = (!bVar10 && !bVar9) == bVar10;
      if (!bVar9) {
        iVar3 = 9;
        pbVar7 = pbVar6;
        pbVar8 = (byte *)"negative";
        do {
          if (iVar3 == 0) break;
          iVar3 = iVar3 + -1;
          bVar11 = *pbVar7 < *pbVar8;
          bVar9 = *pbVar7 == *pbVar8;
          pbVar7 = pbVar7 + 1;
          pbVar8 = pbVar8 + 1;
        } while (bVar9);
        bVar10 = false;
        bVar9 = (!bVar11 && !bVar9) == bVar11;
        if (bVar9) {
          DAT_0008cac4 = 1;
          return 1;
        }
        iVar3 = 9;
        pbVar7 = pbVar6;
        pbVar8 = (byte *)"multigot";
        do {
          if (iVar3 == 0) break;
          iVar3 = iVar3 + -1;
          bVar10 = *pbVar7 < *pbVar8;
          bVar9 = *pbVar7 == *pbVar8;
          pbVar7 = pbVar7 + 1;
          pbVar8 = pbVar8 + 1;
        } while (bVar9);
        if ((!bVar10 && !bVar9) == bVar10) {
          DAT_0008cac4 = 2;
          return 1;
        }
        pcVar5 = "%P: unrecognized --got argument \'%s\'\n";
        goto LAB_0003606a;
      }
    }
    DAT_0008cac4 = 0;
    return 1;
  }
  if (0x12d < (int)param_1) {
    if (param_1 == 0x191) {
      _DAT_0008cc04 = _DAT_0008cc04 | 0x100;
      return 1;
    }
    if (0x191 < (int)param_1) {
      DAT_0008cc00._2_2_ = DAT_0008cc00._2_2_ | 0x1e0;
      DAT_0008cc74 = DAT_0008cc74 | 4;
      return 1;
    }
    if (param_1 != 400) {
      return 0;
    }
    _DAT_0008cc04 = _DAT_0008cc04 & 0xfffffeff;
    return 1;
  }
  if (param_1 == 0x50) {
    FUN_000359c0();
    return 1;
  }
  bVar9 = param_1 < 0x7a;
  bVar11 = param_1 == 0x7a;
  if (!bVar11) {
    return 0;
  }
  iVar3 = 5;
  pbVar6 = *(byte **)PTR_optarg_0008bff4;
  pbVar7 = pbVar6;
  pbVar8 = (byte *)0x4acc7;
  do {
    if (iVar3 == 0) break;
    iVar3 = iVar3 + -1;
    bVar9 = *pbVar7 < *pbVar8;
    bVar11 = *pbVar7 == *pbVar8;
    pbVar7 = pbVar7 + 1;
    pbVar8 = pbVar8 + 1;
  } while (bVar11);
  bVar10 = false;
  bVar9 = (!bVar9 && !bVar11) == bVar9;
  if (bVar9) {
    DAT_0008cc00._2_2_ = DAT_0008cc00._2_2_ | 0x60;
    return 1;
  }
  iVar3 = 7;
  pbVar7 = pbVar6;
  pbVar8 = (byte *)"undefs";
  do {
    if (iVar3 == 0) break;
    iVar3 = iVar3 + -1;
    bVar10 = *pbVar7 < *pbVar8;
    bVar9 = *pbVar7 == *pbVar8;
    pbVar7 = pbVar7 + 1;
    pbVar8 = pbVar8 + 1;
  } while (bVar9);
  bVar11 = false;
  bVar9 = (!bVar10 && !bVar9) == bVar10;
  if (bVar9) {
    DAT_0008cc00._2_2_ = DAT_0008cc00._2_2_ & 0xff9f | 0x20;
    return 1;
  }
  iVar3 = 8;
  pbVar7 = pbVar6;
  pbVar8 = (byte *)"muldefs";
  do {
    if (iVar3 == 0) break;
    iVar3 = iVar3 + -1;
    bVar11 = *pbVar7 < *pbVar8;
    bVar9 = *pbVar7 == *pbVar8;
    pbVar7 = pbVar7 + 1;
    pbVar8 = pbVar8 + 1;
  } while (bVar9);
  bVar10 = false;
  bVar9 = (!bVar11 && !bVar9) == bVar11;
  if (bVar9) {
    _DAT_0008cc04 = _DAT_0008cc04 | 0x800;
    return 1;
  }
  iVar3 = 0xe;
  pbVar7 = pbVar6;
  pbVar8 = (byte *)"max-page-size=";
  do {
    if (iVar3 == 0) break;
    iVar3 = iVar3 + -1;
    bVar10 = *pbVar7 < *pbVar8;
    bVar9 = *pbVar7 == *pbVar8;
    pbVar7 = pbVar7 + 1;
    pbVar8 = pbVar8 + 1;
  } while (bVar9);
  bVar11 = false;
  bVar9 = (!bVar10 && !bVar9) == bVar10;
  if (bVar9) {
    DAT_0008cd60 = strtoul((char *)(pbVar6 + 0xe),local_20,0);
    if ((*local_20[0] == '\0') && ((DAT_0008cd60 - 1 & DAT_0008cd60) == 0)) {
      return 1;
    }
    pcVar5 = "%F%P: invalid maximum page size `%s\'\n";
    __s1 = (char *)(*(int *)puVar1 + 0xe);
  }
  else {
    iVar3 = 0x11;
    pbVar7 = pbVar6;
    pbVar8 = (byte *)"common-page-size=";
    do {
      if (iVar3 == 0) break;
      iVar3 = iVar3 + -1;
      bVar11 = *pbVar7 < *pbVar8;
      bVar9 = *pbVar7 == *pbVar8;
      pbVar7 = pbVar7 + 1;
      pbVar8 = pbVar8 + 1;
    } while (bVar9);
    bVar10 = false;
    bVar9 = (!bVar11 && !bVar9) == bVar11;
    if (!bVar9) {
      iVar3 = 0xb;
      pbVar7 = pbVar6;
      pbVar8 = (byte *)"stack-size=";
      do {
        if (iVar3 == 0) break;
        iVar3 = iVar3 + -1;
        bVar10 = *pbVar7 < *pbVar8;
        bVar9 = *pbVar7 == *pbVar8;
        pbVar7 = pbVar7 + 1;
        pbVar8 = pbVar8 + 1;
      } while (bVar9);
      bVar11 = false;
      bVar9 = (!bVar10 && !bVar9) == bVar10;
      if (bVar9) {
        DAT_0008cc10 = strtoul((char *)(pbVar6 + 0xb),local_20,0);
        if ((*local_20[0] != '\0') || ((int)DAT_0008cc10 < 0)) {
          iVar3 = *(int *)puVar1;
          uVar4 = dcgettext(0,"%F%P: invalid stack size `%s\'\n",5,DAT_0008cc10);
          FUN_00031700(uVar4,iVar3 + 0xb);
        }
        if (DAT_0008cc10 == 0) {
          DAT_0008cc10 = 0xffffffff;
          return 1;
        }
        return 1;
      }
      iVar3 = 10;
      pbVar7 = pbVar6;
      pbVar8 = (byte *)0x7ac61;
      do {
        if (iVar3 == 0) break;
        iVar3 = iVar3 + -1;
        bVar11 = *pbVar7 < *pbVar8;
        bVar9 = *pbVar7 == *pbVar8;
        pbVar7 = pbVar7 + 1;
        pbVar8 = pbVar8 + 1;
      } while (bVar9);
      bVar10 = false;
      bVar9 = (!bVar11 && !bVar9) == bVar11;
      if (bVar9) {
        _DAT_0008cc04 = _DAT_0008cc04 & 0xfffe7fff | 0x8000;
        return 1;
      }
      iVar3 = 0xc;
      pbVar7 = pbVar6;
      pbVar8 = (byte *)"noexecstack";
      do {
        if (iVar3 == 0) break;
        iVar3 = iVar3 + -1;
        bVar10 = *pbVar7 < *pbVar8;
        bVar9 = *pbVar7 == *pbVar8;
        pbVar7 = pbVar7 + 1;
        pbVar8 = pbVar8 + 1;
      } while (bVar9);
      if ((!bVar10 && !bVar9) == bVar10) {
        _DAT_0008cc04 = _DAT_0008cc04 & 0xfffe7fff | 0x10000;
        return 1;
      }
      iVar3 = strcmp((char *)pbVar6,"globalaudit");
      if (iVar3 == 0) {
        DAT_0008cc74 = DAT_0008cc74 | 0x1000000;
        return 1;
      }
      iVar3 = strcmp((char *)pbVar6,"global");
      if (iVar3 == 0) {
        DAT_0008cc74 = DAT_0008cc74 | 2;
        return 1;
      }
      iVar3 = strcmp((char *)pbVar6,"initfirst");
      if (iVar3 == 0) {
        DAT_0008cc74 = DAT_0008cc74 | 0x20;
        return 1;
      }
      iVar3 = strcmp((char *)pbVar6,"interpose");
      if (iVar3 == 0) {
        DAT_0008cc74 = DAT_0008cc74 | 0x400;
        return 1;
      }
      iVar3 = strcmp((char *)pbVar6,"loadfltr");
      if (iVar3 == 0) {
        DAT_0008cc74 = DAT_0008cc74 | 0x10;
        return 1;
      }
      iVar3 = strcmp((char *)pbVar6,"nodefaultlib");
      if (iVar3 == 0) {
        DAT_0008cc74 = DAT_0008cc74 | 0x800;
        return 1;
      }
      iVar3 = strcmp((char *)pbVar6,"nodelete");
      if (iVar3 == 0) {
        DAT_0008cc74 = DAT_0008cc74 | 8;
        return 1;
      }
      iVar3 = strcmp((char *)pbVar6,"nodlopen");
      if (iVar3 == 0) {
        DAT_0008cc74 = DAT_0008cc74 | 0x40;
        return 1;
      }
      iVar3 = strcmp((char *)pbVar6,"nodump");
      if (iVar3 == 0) {
        DAT_0008cc74 = DAT_0008cc74 | 0x1000;
        return 1;
      }
      iVar3 = strcmp((char *)pbVar6,"now");
      if (iVar3 == 0) {
        _DAT_0008cc70 = _DAT_0008cc70 | 8;
        DAT_0008cc74 = DAT_0008cc74 | 1;
        return 1;
      }
      iVar3 = strcmp((char *)pbVar6,"lazy");
      if (iVar3 == 0) {
        _DAT_0008cc70 = _DAT_0008cc70 & 0xfffffff7;
        DAT_0008cc74 = DAT_0008cc74 & 0xfffffffe;
        return 1;
      }
      iVar3 = strcmp((char *)pbVar6,"origin");
      if (iVar3 == 0) {
        _DAT_0008cc70 = _DAT_0008cc70 | 1;
        DAT_0008cc74 = DAT_0008cc74 | 0x80;
        return 1;
      }
      iVar3 = strcmp((char *)pbVar6,"combreloc");
      if (iVar3 == 0) {
        _DAT_0008cc04 = _DAT_0008cc04 | 0x40;
        return 1;
      }
      iVar3 = strcmp((char *)pbVar6,"nocombreloc");
      if (iVar3 == 0) {
        _DAT_0008cc04 = _DAT_0008cc04 & 0xffffffbf;
        return 1;
      }
      iVar3 = strcmp((char *)pbVar6,"nocopyreloc");
      if (iVar3 == 0) {
        DAT_0008cc00._0_1_ = (byte)DAT_0008cc00 | 8;
        return 1;
      }
      iVar3 = strcmp((char *)pbVar6,"relro");
      if (iVar3 == 0) {
        DAT_0008cc00._2_2_ = DAT_0008cc00._2_2_ | 0x1000;
        return 1;
      }
      iVar3 = strcmp((char *)pbVar6,"norelro");
      if (iVar3 == 0) {
        DAT_0008cc00._2_2_ = DAT_0008cc00._2_2_ & 0xefff;
        return 1;
      }
      iVar3 = strcmp((char *)pbVar6,"separate-code");
      if (iVar3 == 0) {
        DAT_0008cc00._2_2_ = DAT_0008cc00._2_2_ | 0x2000;
        return 1;
      }
      iVar3 = strcmp((char *)pbVar6,"noseparate-code");
      if (iVar3 == 0) {
        DAT_0008cc00._2_2_ = DAT_0008cc00._2_2_ & 0xdfff;
        return 1;
      }
      iVar3 = strcmp((char *)pbVar6,"common");
      if (iVar3 == 0) {
        DAT_0008cc00._2_2_ = DAT_0008cc00._2_2_ & 0xfff9 | 2;
        return 1;
      }
      iVar3 = strcmp((char *)pbVar6,"nocommon");
      if (iVar3 == 0) {
        DAT_0008cc00._2_2_ = DAT_0008cc00._2_2_ & 0xfff9 | 4;
        return 1;
      }
      iVar3 = strcmp((char *)pbVar6,"text");
      if (iVar3 == 0) {
        _DAT_0008cc04 = _DAT_0008cc04 | 2;
        return 1;
      }
      iVar3 = strcmp((char *)pbVar6,"notext");
      if ((iVar3 == 0) || (iVar3 = strcmp((char *)pbVar6,"textoff"), iVar3 == 0)) {
        _DAT_0008cc04 = _DAT_0008cc04 & 0xfffffffd;
        return 1;
      }
      pcVar5 = "%P: warning: -z %s ignored\n";
      goto LAB_0003606a;
    }
    DAT_0008cd64 = strtoul((char *)(pbVar6 + 0x11),local_20,0);
    if ((*local_20[0] == '\0') && ((DAT_0008cd64 - 1 & DAT_0008cd64) == 0)) {
      return 1;
    }
    pcVar5 = "%F%P: invalid common page size `%s\'\n";
    __s1 = (char *)(*(int *)puVar1 + 0x11);
  }
LAB_00035f83:
  uVar4 = dcgettext(0,pcVar5,5);
  FUN_00031700(uVar4,__s1);
  return 1;
}


PUSH EBP
PUSH EDI
PUSH ESI
PUSH EBX
CALL 0x00015a20
ADD EBX,0x56537
SUB ESP,0x2c
MOV EAX,dword ptr [ESP + 0x40]
CMP EAX,0x193
JZ 0x00035d10
JLE 0x00035b90
CMP EAX,0x196
JZ 0x00035d30
JLE 0x00035c40
CMP EAX,0x198
JZ 0x00035d98
JL 0x00035c80
CMP EAX,0x199
JNZ 0x00035c70
MOV EAX,dword ptr [EBX + 0xfffffff4]
SUB ESP,0x8
MOV ESI,dword ptr [EAX]
LEA EAX,[EBX + 0xfffbeb38]
PUSH EAX
PUSH ESI
CALL 0x00014750
ADD ESP,0x10
TEST EAX,EAX
JZ 0x00035ea8
SUB ESP,0x8
LEA EAX,[EBX + 0xfffeec01]
PUSH EAX
PUSH ESI
CALL 0x00014750
ADD ESP,0x10
TEST EAX,EAX
JZ 0x00035ee0
SUB ESP,0x8
LEA EAX,[EBX + 0xfffeec06]
PUSH EAX
PUSH ESI
CALL 0x00014750
ADD ESP,0x10
TEST EAX,EAX
JNZ 0x00035f5d
LEA EAX,[EBX + 0xc00]
MOV dword ptr [EAX + 0xc],0x3
MOV EAX,0x1
ADD ESP,0x2c
POP EBX
POP ESI
POP EDI
POP EBP
RET
CMP EAX,0x12d
JZ 0x00035db8
JLE 0x00035bd0
CMP EAX,0x191
JZ 0x00035e58
JG 0x00035e70
CMP EAX,0x190
JNZ 0x00035c70
LEA EAX,[EBX + 0xc00]
AND byte ptr [EAX + 0x5],0xfe
MOV EAX,0x1
JMP 0x00035b7f
CMP EAX,0x50
JZ 0x00035e38
CMP EAX,0x7a
JNZ 0x00035c70
MOV EDX,dword ptr [EBX + 0xfffffff4]
MOV ECX,0x5
LEA EDI,[EBX + 0xfffbecc7]
MOV EBP,dword ptr [EDX]
MOV ESI,EBP
CMPSB.REPE ES:EDI,ESI
SETA AL
SBB AL,0x0
TEST AL,AL
JZ 0x00035e90
MOV ECX,0x7
LEA EDI,[EBX + 0xfffeec23]
MOV ESI,EBP
CMPSB.REPE ES:EDI,ESI
SETA AL
SBB AL,0x0
TEST AL,AL
JNZ 0x00035f00
LEA EDX,[EBX + 0xc00]
MOVZX EAX,byte ptr [EDX + 0x2]
AND EAX,0xffffff9f
OR EAX,0x20
MOV byte ptr [EDX + 0x2],AL
MOV EAX,0x1
JMP 0x00035b7f
CMP EAX,0x194
JZ 0x00035cf8
CMP EAX,0x195
JNZ 0x00035c70
MOV EAX,dword ptr [EBX + 0xfffffff4]
SUB ESP,0xc
PUSH dword ptr [EAX]
CALL 0x00024120
ADD ESP,0x10
MOV EAX,0x1
JMP 0x00035b7f
ADD ESP,0x2c
XOR EAX,EAX
POP EBX
POP ESI
POP EDI
POP EBP
RET
MOV EAX,dword ptr [EBX + 0xa2c]
TEST EAX,EAX
JZ 0x00035ca0
SUB ESP,0xc
PUSH EAX
CALL 0x00014c50
ADD ESP,0x10
MOV dword ptr [EBX + 0xa2c],0x0
MOV EAX,dword ptr [EBX + 0xfffffff4]
MOV EDX,dword ptr [EAX]
TEST EDX,EDX
JZ 0x00035ed0
MOV ECX,0x5
LEA EDI,[EBX + 0xfffbeb38]
MOV ESI,EDX
MOV EAX,0x1
CMPSB.REPE ES:EDI,ESI
SETA CL
SBB CL,0x0
TEST CL,CL
JZ 0x00035b7f
LEA ESI,[ESI]
SUB ESP,0xc
PUSH EDX
CALL 0x00014490
ADD ESP,0x10
MOV dword ptr [EBX + 0xa2c],EAX
MOV EAX,0x1
JMP 0x00035b7f
LEA EAX,[EBX + 0xc00]
AND byte ptr [EAX + 0x3],0x3f
MOV EAX,0x1
JMP 0x00035b7f
LEA EDX,[EBX + 0xc00]
MOVZX EAX,byte ptr [EDX + 0x3]
AND EAX,0x3f
OR EAX,0x40
MOV byte ptr [EDX + 0x3],AL
MOV EAX,0x1
JMP 0x00035b7f
LEA EAX,[EBX + 0xc00]
MOV ECX,dword ptr [EBX + 0xfffffff4]
LEA EDI,[EBX + 0xfffeec19]
MOVZX EDX,byte ptr [EAX + 0x4]
MOV EBP,dword ptr [ECX]
MOV ECX,0x5
AND EDX,0xfffffff3
MOV ESI,EBP
MOV byte ptr [EAX + 0x4],DL
CMPSB.REPE ES:EDI,ESI
SETA CL
SBB CL,0x0
TEST CL,CL
JZ 0x00035ec0
MOV ECX,0x4
LEA EDI,[EBX + 0xfffeec0b]
MOV ESI,EBP
CMPSB.REPE ES:EDI,ESI
SETA CL
SBB CL,0x0
TEST CL,CL
JNZ 0x00035f30
OR EDX,0x8
MOV byte ptr [EAX + 0x4],DL
MOV EAX,0x1
JMP 0x00035b7f
MOV EAX,dword ptr [EBX + 0xfffffff4]
MOV EDX,dword ptr [EAX]
LEA EAX,[EBX + 0xa34]
CALL 0x000359c0
MOV EAX,0x1
JMP 0x00035b7f
MOV EAX,dword ptr [EBX + 0xfffffff4]
MOV ECX,0x7
LEA EDI,[EBX + 0xfffeed2a]
MOV EBP,dword ptr [EAX]
MOV ESI,EBP
CMPSB.REPE ES:EDI,ESI
SETA AL
SBB AL,0x0
TEST AL,AL
JZ 0x00035e20
MOV ECX,0x7
LEA EDI,[EBX + 0xfffeed31]
MOV ESI,EBP
CMPSB.REPE ES:EDI,ESI
SETA AL
SBB AL,0x0
TEST AL,AL
JZ 0x00035e20
MOV ECX,0x9
LEA EDI,[EBX + 0xfffeed38]
MOV ESI,EBP
CMPSB.REPE ES:EDI,ESI
SETA AL
SBB AL,0x0
TEST AL,AL
JNZ 0x00035fa1
MOV dword ptr [EBX + 0xac4],0x1
MOV EAX,0x1
JMP 0x00035b7f
MOV dword ptr [EBX + 0xac4],0x0
MOV EAX,0x1
JMP 0x00035b7f
MOV EAX,dword ptr [EBX + 0xfffffff4]
MOV EDX,dword ptr [EAX]
LEA EAX,[EBX + 0xa30]
CALL 0x000359c0
MOV EAX,0x1
JMP 0x00035b7f
LEA EAX,[EBX + 0xc00]
OR byte ptr [EAX + 0x5],0x1
MOV EAX,0x1
JMP 0x00035b7f
LEA EAX,[EBX + 0xc00]
OR dword ptr [EAX + 0x74],0x4
OR word ptr [EAX + 0x2],0x1e0
MOV EAX,0x1
JMP 0x00035b7f
LEA EAX,[EBX + 0xc00]
OR byte ptr [EAX + 0x2],0x60
MOV EAX,0x1
JMP 0x00035b7f
LEA EAX,[EBX + 0xc00]
MOV dword ptr [EAX + 0xc],0x0
MOV EAX,0x1
JMP 0x00035b7f
OR EDX,0x4
MOV byte ptr [EAX + 0x4],DL
MOV EAX,0x1
JMP 0x00035b7f
LEA EDX,[EBX + 0xfffc31e8]
MOV dword ptr [EAX],EDX
JMP 0x00035cd8
LEA EAX,[EBX + 0xc00]
MOV dword ptr [EAX + 0xc],0x5
MOV EAX,0x1
JMP 0x00035b7f
MOV ECX,0x8
LEA EDI,[EBX + 0xfffeec2a]
MOV ESI,EBP
CMPSB.REPE ES:EDI,ESI
SETA AL
SBB AL,0x0
TEST AL,AL
JNZ 0x00035fd1
LEA EAX,[EBX + 0xc00]
OR byte ptr [EAX + 0x5],0x8
MOV EAX,0x1
JMP 0x00035b7f
MOV ECX,0x5
LEA EDI,[EBX + 0xfffeec1e]
MOV ESI,EBP
CMPSB.REPE ES:EDI,ESI
SETA CL
SBB CL,0x0
TEST CL,CL
JNZ 0x0003605f
OR EDX,0xc
MOV byte ptr [EAX + 0x4],DL
MOV EAX,0x1
JMP 0x00035b7f
SUB ESP,0x8
LEA EAX,[EBX + 0xfffeec0f]
PUSH EAX
PUSH ESI
CALL 0x00014750
ADD ESP,0x10
TEST EAX,EAX
JZ 0x00035ee0
SUB ESP,0x4
LEA EAX,[EBX + 0xfffee734]
PUSH 0x5
PUSH EAX
PUSH 0x0
CALL 0x000142e0
POP EDI
POP EBP
PUSH ESI
PUSH EAX
CALL 0x00031700
ADD ESP,0x10
MOV EAX,0x1
JMP 0x00035b7f
MOV ECX,0x9
LEA EDI,[EBX + 0xfffeed41]
MOV ESI,EBP
CMPSB.REPE ES:EDI,ESI
SETA AL
SBB AL,0x0
TEST AL,AL
JNZ 0x00036083
MOV dword ptr [EBX + 0xac4],0x2
MOV EAX,0x1
JMP 0x00035b7f
MOV ECX,0xe
LEA EDI,[EBX + 0xfffeec32]
MOV ESI,EBP
CMPSB.REPE ES:EDI,ESI
SETA AL
SBB AL,0x0
TEST AL,AL
JZ 0x00036090
MOV ECX,0x11
LEA EDI,[EBX + 0xfffeec41]
MOV ESI,EBP
CMPSB.REPE ES:EDI,ESI
SETA AL
SBB AL,0x0
TEST AL,AL
JZ 0x000360e0
MOV ECX,0xb
LEA EDI,[EBX + 0xfffeec53]
MOV ESI,EBP
CMPSB.REPE ES:EDI,ESI
SETA AL
SBB AL,0x0
TEST AL,AL
JZ 0x0003616c
MOV ECX,0xa
LEA EDI,[EBX + 0xfffeec61]
MOV ESI,EBP
CMPSB.REPE ES:EDI,ESI
SETA AL
SBB AL,0x0
TEST AL,AL
JNZ 0x00036130
LEA EDX,[EBX + 0xc00]
MOV EAX,dword ptr [EDX + 0x4]
AND EAX,0xfffe7fff
OR AH,0x80
MOV dword ptr [EDX + 0x4],EAX
MOV EAX,0x1
JMP 0x00035b7f
SUB ESP,0x4
LEA EAX,[EBX + 0xfffee76c]
PUSH 0x5
PUSH EAX
PUSH 0x0
CALL 0x000142e0
POP EDX
POP ECX
PUSH EBP
PUSH EAX
CALL 0x00031700
ADD ESP,0x10
JMP 0x00035f97
SUB ESP,0x4
LEA EAX,[EBX + 0xfffee7fc]
PUSH 0x5
JMP 0x0003606a
MOV dword ptr [ESP + 0xc],EDX
SUB ESP,0x4
ADD EBP,0xe
PUSH 0x0
LEA EAX,[ESP + 0x24]
PUSH EAX
PUSH EBP
CALL 0x000146b0
LEA ECX,[EBX + 0xd00]
ADD ESP,0x10
MOV EDX,dword ptr [ESP + 0xc]
MOV dword ptr [ECX + 0x60],EAX
MOV ECX,dword ptr [ESP + 0x1c]
CMP byte ptr [ECX],0x0
JNZ 0x000360cb
LEA ECX,[EAX + -0x1]
TEST ECX,EAX
JZ 0x00035f97
MOV ESI,dword ptr [EDX]
SUB ESP,0x4
LEA EAX,[EBX + 0xfffee78c]
PUSH 0x5
ADD ESI,0xe
JMP 0x00035f83
MOV dword ptr [ESP + 0xc],EDX
SUB ESP,0x4
ADD EBP,0x11
PUSH 0x0
LEA EAX,[ESP + 0x24]
PUSH EAX
PUSH EBP
CALL 0x000146b0
LEA ECX,[EBX + 0xd00]
ADD ESP,0x10
MOV EDX,dword ptr [ESP + 0xc]
MOV dword ptr [ECX + 0x64],EAX
MOV ECX,dword ptr [ESP + 0x1c]
CMP byte ptr [ECX],0x0
JNZ 0x0003611b
LEA ECX,[EAX + -0x1]
TEST ECX,EAX
JZ 0x00035f97
MOV ESI,dword ptr [EDX]
SUB ESP,0x4
LEA EAX,[EBX + 0xfffee7b4]
PUSH 0x5
ADD ESI,0x11
JMP 0x00035f83
MOV ECX,0xc
LEA EDI,[EBX + 0xfffeec5f]
MOV ESI,EBP
CMPSB.REPE ES:EDI,ESI
SETA AL
SBB AL,0x0
TEST AL,AL
JNZ 0x000361db
LEA EDX,[EBX + 0xc00]
MOV EAX,dword ptr [EDX + 0x4]
AND EAX,0xfffe7fff
OR EAX,0x10000
MOV dword ptr [EDX + 0x4],EAX
MOV EAX,0x1
JMP 0x00035b7f
MOV dword ptr [ESP + 0xc],EDX
SUB ESP,0x4
ADD EBP,0xb
PUSH 0x0
LEA EAX,[ESP + 0x24]
PUSH EAX
PUSH EBP
CALL 0x000146b0
ADD ESP,0x10
MOV ECX,dword ptr [ESP + 0x1c]
MOV EDX,dword ptr [ESP + 0xc]
LEA ESI,[EBX + 0xc00]
MOV dword ptr [ESI + 0x10],EAX
CMP byte ptr [ECX],0x0
JNZ 0x000361b7
TEST EAX,EAX
JS 0x000361b7
MOV EAX,dword ptr [ESI + 0x10]
TEST EAX,EAX
JNZ 0x00035f97
MOV dword ptr [ESI + 0x10],0xffffffff
JMP 0x00035f97
MOV EDI,dword ptr [EDX]
PUSH EAX
LEA EAX,[EBX + 0xfffee7dc]
PUSH 0x5
PUSH EAX
ADD EDI,0xb
PUSH 0x0
CALL 0x000142e0
POP EDX
POP ECX
PUSH EDI
PUSH EAX
CALL 0x00031700
ADD ESP,0x10
JMP 0x000361a0
PUSH EAX
PUSH EAX
LEA EAX,[EBX + 0xfffeec6b]
PUSH EAX
PUSH EBP
CALL 0x000140c0
ADD ESP,0x10
TEST EAX,EAX
JNZ 0x00036208
LEA EAX,[EBX + 0xc00]
OR dword ptr [EAX + 0x74],0x1000000
MOV EAX,0x1
JMP 0x00035b7f
PUSH EAX
PUSH EAX
LEA EAX,[EBX + 0xfffb1129]
PUSH EAX
PUSH EBP
CALL 0x000140c0
ADD ESP,0x10
TEST EAX,EAX
JNZ 0x00036232
LEA EAX,[EBX + 0xc00]
OR dword ptr [EAX + 0x74],0x2
MOV EAX,0x1
JMP 0x00035b7f
PUSH EAX
PUSH EAX
LEA EAX,[EBX + 0xfffeec77]
PUSH EAX
PUSH EBP
CALL 0x000140c0
ADD ESP,0x10
TEST EAX,EAX
JNZ 0x0003625c
LEA EAX,[EBX + 0xc00]
OR dword ptr [EAX + 0x74],0x20
MOV EAX,0x1
JMP 0x00035b7f
LEA EAX,[EBX + 0xfffeec81]
PUSH EDI
PUSH EDI
PUSH EAX
PUSH EBP
CALL 0x000140c0
ADD ESP,0x10
TEST EAX,EAX
JNZ 0x00036289
LEA EAX,[EBX + 0xc00]
OR dword ptr [EAX + 0x74],0x400
MOV EAX,0x1
JMP 0x00035b7f
LEA EAX,[EBX + 0xfffeec8b]
PUSH ESI
PUSH ESI
PUSH EAX
PUSH EBP
CALL 0x000140c0
ADD ESP,0x10
TEST EAX,EAX
JNZ 0x000362b3
LEA EAX,[EBX + 0xc00]
OR dword ptr [EAX + 0x74],0x10
MOV EAX,0x1
JMP 0x00035b7f
LEA EAX,[EBX + 0xfffeec94]
PUSH ECX
PUSH ECX
PUSH EAX
PUSH EBP
CALL 0x000140c0
ADD ESP,0x10
TEST EAX,EAX
JNZ 0x000362e0
LEA EAX,[EBX + 0xc00]
OR dword ptr [EAX + 0x74],0x800
MOV EAX,0x1
JMP 0x00035b7f
LEA EAX,[EBX + 0xfffeeca1]
PUSH EDX
PUSH EDX
PUSH EAX
PUSH EBP
CALL 0x000140c0
ADD ESP,0x10
TEST EAX,EAX
JNZ 0x0003630a
LEA EAX,[EBX + 0xc00]
OR dword ptr [EAX + 0x74],0x8
MOV EAX,0x1
JMP 0x00035b7f
PUSH EAX
PUSH EAX
LEA EAX,[EBX + 0xfffeecaa]
PUSH EAX
PUSH EBP
CALL 0x000140c0
ADD ESP,0x10
TEST EAX,EAX
JNZ 0x00036334
LEA EAX,[EBX + 0xc00]
OR dword ptr [EAX + 0x74],0x40
MOV EAX,0x1
JMP 0x00035b7f
PUSH EAX
PUSH EAX
LEA EAX,[EBX + 0xfffeecb3]
PUSH EAX
PUSH EBP
CALL 0x000140c0
ADD ESP,0x10
TEST EAX,EAX
JNZ 0x00036361
LEA EAX,[EBX + 0xc00]
OR dword ptr [EAX + 0x74],0x1000
MOV EAX,0x1
JMP 0x00035b7f
PUSH EAX
PUSH EAX
LEA EAX,[EBX + 0xfffb100e]
PUSH EAX
PUSH EBP
CALL 0x000140c0
ADD ESP,0x10
TEST EAX,EAX
JNZ 0x0003638f
LEA EAX,[EBX + 0xc00]
OR dword ptr [EAX + 0x70],0x8
OR dword ptr [EAX + 0x74],0x1
MOV EAX,0x1
JMP 0x00035b7f
PUSH EAX
PUSH EAX
LEA EAX,[EBX + 0xfffeecba]
PUSH EAX
PUSH EBP
CALL 0x000140c0
ADD ESP,0x10
TEST EAX,EAX
JNZ 0x000363bd
LEA EAX,[EBX + 0xc00]
AND dword ptr [EAX + 0x70],0xfffffff7
AND dword ptr [EAX + 0x74],0xfffffffe
MOV EAX,0x1
JMP 0x00035b7f
PUSH EAX
PUSH EAX
LEA EAX,[EBX + 0xfffeecbf]
PUSH EAX
PUSH EBP
CALL 0x000140c0
ADD ESP,0x10
TEST EAX,EAX
JNZ 0x000363ee
LEA EAX,[EBX + 0xc00]
OR dword ptr [EAX + 0x70],0x1
OR dword ptr [EAX + 0x74],0x80
MOV EAX,0x1
JMP 0x00035b7f
PUSH EAX
PUSH EAX
LEA EAX,[EBX + 0xfffeecc8]
PUSH EAX
PUSH EBP
CALL 0x000140c0
ADD ESP,0x10
TEST EAX,EAX
JNZ 0x00036418
LEA EAX,[EBX + 0xc00]
OR byte ptr [EAX + 0x4],0x40
MOV EAX,0x1
JMP 0x00035b7f
LEA EAX,[EBX + 0xfffeecc6]
PUSH EDI
PUSH EDI
PUSH EAX
PUSH EBP
CALL 0x000140c0
ADD ESP,0x10
TEST EAX,EAX
JNZ 0x00036442
LEA EAX,[EBX + 0xc00]
AND byte ptr [EAX + 0x4],0xbf
MOV EAX,0x1
JMP 0x00035b7f
LEA EAX,[EBX + 0xfffeecd2]
PUSH ESI
PUSH ESI
PUSH EAX
PUSH EBP
CALL 0x000140c0
ADD ESP,0x10
TEST EAX,EAX
JNZ 0x0003646b
LEA EAX,[EBX + 0xc00]
OR byte ptr [EAX],0x8
MOV EAX,0x1
JMP 0x00035b7f
LEA EAX,[EBX + 0xfffeece0]
PUSH ECX
PUSH ECX
PUSH EAX
PUSH EBP
CALL 0x000140c0
ADD ESP,0x10
TEST EAX,EAX
JNZ 0x00036495
LEA EAX,[EBX + 0xc00]
OR byte ptr [EAX + 0x3],0x10
MOV EAX,0x1
JMP 0x00035b7f
LEA EAX,[EBX + 0xfffeecde]
PUSH EDX
PUSH EDX
PUSH EAX
PUSH EBP
CALL 0x000140c0
ADD ESP,0x10
TEST EAX,EAX
JNZ 0x000364bf
LEA EAX,[EBX + 0xc00]
AND byte ptr [EAX + 0x3],0xef
MOV EAX,0x1
JMP 0x00035b7f
PUSH EAX
PUSH EAX
LEA EAX,[EBX + 0xfffeece8]
PUSH EAX
PUSH EBP
CALL 0x000140c0
ADD ESP,0x10
TEST EAX,EAX
JNZ 0x000364e9
LEA EAX,[EBX + 0xc00]
OR byte ptr [EAX + 0x3],0x20
MOV EAX,0x1
JMP 0x00035b7f
PUSH EAX
PUSH EAX
LEA EAX,[EBX + 0xfffeece6]
PUSH EAX
PUSH EBP
CALL 0x000140c0
ADD ESP,0x10
TEST EAX,EAX
JNZ 0x00036513
LEA EAX,[EBX + 0xc00]
AND byte ptr [EAX + 0x3],0xdf
MOV EAX,0x1
JMP 0x00035b7f
PUSH EAX
PUSH EAX
LEA EAX,[EBX + 0xfffbedde]
PUSH EAX
PUSH EBP
CALL 0x000140c0
ADD ESP,0x10
TEST EAX,EAX
JNZ 0x00036546
LEA EDX,[EBX + 0xc00]
MOVZX EAX,byte ptr [EDX + 0x2]
AND EAX,0xfffffff9
OR EAX,0x2
MOV byte ptr [EDX + 0x2],AL
MOV EAX,0x1
JMP 0x00035b7f
PUSH EAX
PUSH EAX
LEA EAX,[EBX + 0xfffeecf6]
PUSH EAX
PUSH EBP
CALL 0x000140c0
ADD ESP,0x10
TEST EAX,EAX
JNZ 0x00036579
LEA EDX,[EBX + 0xc00]
MOVZX EAX,byte ptr [EDX + 0x2]
AND EAX,0xfffffff9
OR EAX,0x4
MOV byte ptr [EDX + 0x2],AL
MOV EAX,0x1
JMP 0x00035b7f
PUSH EAX
PUSH EAX
LEA EAX,[EBX + 0xfffbe597]
PUSH EAX
PUSH EBP
CALL 0x000140c0
ADD ESP,0x10
TEST EAX,EAX
JNZ 0x000365a3
LEA EAX,[EBX + 0xc00]
OR byte ptr [EAX + 0x4],0x2
MOV EAX,0x1
JMP 0x00035b7f
PUSH EAX
PUSH EAX
LEA EAX,[EBX + 0xfffeecff]
PUSH EAX
PUSH EBP
CALL 0x000140c0
ADD ESP,0x10
TEST EAX,EAX
JNZ 0x000365cd
LEA EAX,[EBX + 0xc00]
AND byte ptr [EAX + 0x4],0xfd
MOV EAX,0x1
JMP 0x00035b7f
LEA EAX,[EBX + 0xfffeed06]
PUSH EDI
PUSH EDI
PUSH EAX
PUSH EBP
CALL 0x000140c0
ADD ESP,0x10
TEST EAX,EAX
JZ 0x000365b9
LEA EAX,[EBX + 0xfffeed0e]
PUSH ESI
PUSH 0x5
JMP 0x0003606a
(translation_unit "/* WARNING: Function: __i686.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */\n/* WARNING: Globals starting with '_' overlap smaller symbols at the same address */\n\nundefined4 FUN_00035ac0(uint param_1)\n\n{\n  undefined *puVar1;\n  undefined1 uVar2;\n  int iVar3;\n  undefined4 uVar4;\n  char *pcVar5;\n  byte *pbVar6;\n  char *__s1;\n  byte *pbVar7;\n  byte *pbVar8;\n  bool bVar9;\n  bool bVar10;\n  bool bVar11;\n  byte bVar12;\n  char *local_20 [3];\n  undefined4 uStack_14;\n  \n  puVar1 = PTR_optarg_0008bff4;\n  bVar12 = 0;\n  uStack_14 = 0x35ac9;\n  if (param_1 == 0x193) {\n    DAT_0008cc00._2_2_ = DAT_0008cc00._2_2_ & 0x3fff | 0x4000;\n    return 1;\n  }\n  uVar2 = DAT_0008cc04;\n  if (0x193 < (int)param_1) {\n    if (param_1 != 0x196) {\n      if ((int)param_1 < 0x197) {\n        if (param_1 == 0x194) {\n          DAT_0008cc00._2_2_ = DAT_0008cc00._2_2_ & 0x3fff;\n          return 1;\n        }\n        if (param_1 != 0x195) {\n          return 0;\n        }\n        FUN_00024120(*(undefined4 *)PTR_optarg_0008bff4);\n        return 1;\n      }\n      if (param_1 == 0x198) {\n        FUN_000359c0();\n        return 1;\n      }\n      if ((int)param_1 < 0x198) {\n        if (DAT_0008ca2c != (void *)0x0) {\n          free(DAT_0008ca2c);\n          DAT_0008ca2c = (void *)0x0;\n        }\n        pbVar6 = *(byte **)PTR_optarg_0008bff4;\n        bVar9 = false;\n        bVar11 = pbVar6 == (byte *)0x0;\n        if (bVar11) {\n          pbVar6 = &DAT_0004f1e8;\n          *(undefined1 **)PTR_optarg_0008bff4 = &DAT_0004f1e8;\n        }\n        else {\n          iVar3 = 5;\n          pbVar7 = pbVar6;\n          pbVar8 = (byte *)0x4ab38;\n          do {\n            if (iVar3 == 0) break;\n            iVar3 = iVar3 + -1;\n            bVar9 = *pbVar7 < *pbVar8;\n            bVar11 = *pbVar7 == *pbVar8;\n            pbVar7 = pbVar7 + (uint)bVar12 * -2 + 1;\n            pbVar8 = pbVar8 + (uint)bVar12 * -2 + 1;\n          } while (bVar11);\n          if ((!bVar9 && !bVar11) == bVar9) {\n            return 1;\n          }\n        }\n        DAT_0008ca2c = (void *)xstrdup(pbVar6);\n        return 1;\n      }\n      if (param_1 != 0x199) {\n        return 0;\n      }\n      __s1 = *(char **)PTR_optarg_0008bff4;\n      iVar3 = strcasecmp(__s1,"none");\n      if (iVar3 == 0) {\n        DAT_0008cc0c = 0;\n        return 1;\n      }\n      iVar3 = strcasecmp(__s1,"zlib");\n      if (iVar3 != 0) {\n        iVar3 = strcasecmp(__s1,"zlib-gnu");\n        if (iVar3 == 0) {\n          DAT_0008cc0c = 3;\n          return 1;\n        }\n        iVar3 = strcasecmp(__s1,"zlib-gabi");\n        if (iVar3 != 0) {\n          pcVar5 = "%F%P: invalid --compress-debug-sections option: `%s\'\n";\n          goto LAB_00035f83;\n        }\n      }\n      DAT_0008cc0c = 5;\n      return 1;\n    }\n    pbVar6 = *(byte **)PTR_optarg_0008bff4;\n    iVar3 = 5;\n    bVar9 = false;\n    bVar11 = (_DAT_0008cc04 & 0xf3) == 0;\n    _DAT_0008cc04 = _DAT_0008cc04 & 0xfffffff3;\n    pbVar7 = pbVar6;\n    pbVar8 = &DAT_0007ac19;\n    do {\n      if (iVar3 == 0) break;\n      iVar3 = iVar3 + -1;\n      bVar9 = *pbVar7 < *pbVar8;\n      bVar11 = *pbVar7 == *pbVar8;\n      pbVar7 = pbVar7 + 1;\n      pbVar8 = pbVar8 + 1;\n    } while (bVar11);\n    bVar10 = false;\n    bVar9 = (!bVar9 && !bVar11) == bVar9;\n    if (bVar9) {\n      _DAT_0008cc04 = CONCAT31(_DAT_0008cc05,uVar2) & 0xfffffff3 | 4;\n      return 1;\n    }\n    iVar3 = 4;\n    pbVar7 = pbVar6;\n    pbVar8 = &DAT_0007ac0b;\n    do {\n      if (iVar3 == 0) break;\n      iVar3 = iVar3 + -1;\n      bVar10 = *pbVar7 < *pbVar8;\n      bVar9 = *pbVar7 == *pbVar8;\n      pbVar7 = pbVar7 + 1;\n      pbVar8 = pbVar8 + 1;\n    } while (bVar9);\n    bVar11 = false;\n    bVar9 = (!bVar10 && !bVar9) == bVar10;\n    if (bVar9) {\n      _DAT_0008cc04 = CONCAT31(_DAT_0008cc05,uVar2) & 0xfffffff3 | 8;\n      return 1;\n    }\n    iVar3 = 5;\n    pbVar7 = pbVar6;\n    pbVar8 = &DAT_0007ac1e;\n    do {\n      if (iVar3 == 0) break;\n      iVar3 = iVar3 + -1;\n      bVar11 = *pbVar7 < *pbVar8;\n      bVar9 = *pbVar7 == *pbVar8;\n      pbVar7 = pbVar7 + 1;\n      pbVar8 = pbVar8 + 1;\n    } while (bVar9);\n    if ((!bVar11 && !bVar9) == bVar11) {\n      _DAT_0008cc04 = CONCAT31(_DAT_0008cc05,uVar2) & 0xfffffff3 | 0xc;\n      return 1;\n    }\n    pcVar5 = "%F%P: invalid hash style `%s\'\n";\nLAB_0003606a:\n    uVar4 = dcgettext(0,pcVar5,5);\n    FUN_00031700(uVar4,pbVar6);\n    return 1;\n  }\n  bVar9 = param_1 < 0x12d;\n  bVar11 = param_1 == 0x12d;\n  if (bVar11) {\n    iVar3 = 7;\n    pbVar6 = *(byte **)PTR_optarg_0008bff4;\n    pbVar7 = pbVar6;\n    pbVar8 = (byte *)"target";\n    do {\n      if (iVar3 == 0) break;\n      iVar3 = iVar3 + -1;\n      bVar9 = *pbVar7 < *pbVar8;\n      bVar11 = *pbVar7 == *pbVar8;\n      pbVar7 = pbVar7 + 1;\n      pbVar8 = pbVar8 + 1;\n    } while (bVar11);\n    bVar10 = false;\n    bVar9 = (!bVar9 && !bVar11) == bVar9;\n    if (!bVar9) {\n      iVar3 = 7;\n      pbVar7 = pbVar6;\n      pbVar8 = (byte *)"single";\n      do {\n        if (iVar3 == 0) break;\n        iVar3 = iVar3 + -1;\n        bVar10 = *pbVar7 < *pbVar8;\n        bVar9 = *pbVar7 == *pbVar8;\n        pbVar7 = pbVar7 + 1;\n        pbVar8 = pbVar8 + 1;\n      } while (bVar9);\n      bVar11 = false;\n      bVar9 = (!bVar10 && !bVar9) == bVar10;\n      if (!bVar9) {\n        iVar3 = 9;\n        pbVar7 = pbVar6;\n        pbVar8 = (byte *)"negative";\n        do {\n          if (iVar3 == 0) break;\n          iVar3 = iVar3 + -1;\n          bVar11 = *pbVar7 < *pbVar8;\n          bVar9 = *pbVar7 == *pbVar8;\n          pbVar7 = pbVar7 + 1;\n          pbVar8 = pbVar8 + 1;\n        } while (bVar9);\n        bVar10 = false;\n        bVar9 = (!bVar11 && !bVar9) == bVar11;\n        if (bVar9) {\n          DAT_0008cac4 = 1;\n          return 1;\n        }\n        iVar3 = 9;\n        pbVar7 = pbVar6;\n        pbVar8 = (byte *)"multigot";\n        do {\n          if (iVar3 == 0) break;\n          iVar3 = iVar3 + -1;\n          bVar10 = *pbVar7 < *pbVar8;\n          bVar9 = *pbVar7 == *pbVar8;\n          pbVar7 = pbVar7 + 1;\n          pbVar8 = pbVar8 + 1;\n        } while (bVar9);\n        if ((!bVar10 && !bVar9) == bVar10) {\n          DAT_0008cac4 = 2;\n          return 1;\n        }\n        pcVar5 = "%P: unrecognized --got argument \'%s\'\n";\n        goto LAB_0003606a;\n      }\n    }\n    DAT_0008cac4 = 0;\n    return 1;\n  }\n  if (0x12d < (int)param_1) {\n    if (param_1 == 0x191) {\n      _DAT_0008cc04 = _DAT_0008cc04 | 0x100;\n      return 1;\n    }\n    if (0x191 < (int)param_1) {\n      DAT_0008cc00._2_2_ = DAT_0008cc00._2_2_ | 0x1e0;\n      DAT_0008cc74 = DAT_0008cc74 | 4;\n      return 1;\n    }\n    if (param_1 != 400) {\n      return 0;\n    }\n    _DAT_0008cc04 = _DAT_0008cc04 & 0xfffffeff;\n    return 1;\n  }\n  if (param_1 == 0x50) {\n    FUN_000359c0();\n    return 1;\n  }\n  bVar9 = param_1 < 0x7a;\n  bVar11 = param_1 == 0x7a;\n  if (!bVar11) {\n    return 0;\n  }\n  iVar3 = 5;\n  pbVar6 = *(byte **)PTR_optarg_0008bff4;\n  pbVar7 = pbVar6;\n  pbVar8 = (byte *)0x4acc7;\n  do {\n    if (iVar3 == 0) break;\n    iVar3 = iVar3 + -1;\n    bVar9 = *pbVar7 < *pbVar8;\n    bVar11 = *pbVar7 == *pbVar8;\n    pbVar7 = pbVar7 + 1;\n    pbVar8 = pbVar8 + 1;\n  } while (bVar11);\n  bVar10 = false;\n  bVar9 = (!bVar9 && !bVar11) == bVar9;\n  if (bVar9) {\n    DAT_0008cc00._2_2_ = DAT_0008cc00._2_2_ | 0x60;\n    return 1;\n  }\n  iVar3 = 7;\n  pbVar7 = pbVar6;\n  pbVar8 = (byte *)"undefs";\n  do {\n    if (iVar3 == 0) break;\n    iVar3 = iVar3 + -1;\n    bVar10 = *pbVar7 < *pbVar8;\n    bVar9 = *pbVar7 == *pbVar8;\n    pbVar7 = pbVar7 + 1;\n    pbVar8 = pbVar8 + 1;\n  } while (bVar9);\n  bVar11 = false;\n  bVar9 = (!bVar10 && !bVar9) == bVar10;\n  if (bVar9) {\n    DAT_0008cc00._2_2_ = DAT_0008cc00._2_2_ & 0xff9f | 0x20;\n    return 1;\n  }\n  iVar3 = 8;\n  pbVar7 = pbVar6;\n  pbVar8 = (byte *)"muldefs";\n  do {\n    if (iVar3 == 0) break;\n    iVar3 = iVar3 + -1;\n    bVar11 = *pbVar7 < *pbVar8;\n    bVar9 = *pbVar7 == *pbVar8;\n    pbVar7 = pbVar7 + 1;\n    pbVar8 = pbVar8 + 1;\n  } while (bVar9);\n  bVar10 = false;\n  bVar9 = (!bVar11 && !bVar9) == bVar11;\n  if (bVar9) {\n    _DAT_0008cc04 = _DAT_0008cc04 | 0x800;\n    return 1;\n  }\n  iVar3 = 0xe;\n  pbVar7 = pbVar6;\n  pbVar8 = (byte *)"max-page-size=";\n  do {\n    if (iVar3 == 0) break;\n    iVar3 = iVar3 + -1;\n    bVar10 = *pbVar7 < *pbVar8;\n    bVar9 = *pbVar7 == *pbVar8;\n    pbVar7 = pbVar7 + 1;\n    pbVar8 = pbVar8 + 1;\n  } while (bVar9);\n  bVar11 = false;\n  bVar9 = (!bVar10 && !bVar9) == bVar10;\n  if (bVar9) {\n    DAT_0008cd60 = strtoul((char *)(pbVar6 + 0xe),local_20,0);\n    if ((*local_20[0] == '\0') && ((DAT_0008cd60 - 1 & DAT_0008cd60) == 0)) {\n      return 1;\n    }\n    pcVar5 = "%F%P: invalid maximum page size `%s\'\n";\n    __s1 = (char *)(*(int *)puVar1 + 0xe);\n  }\n  else {\n    iVar3 = 0x11;\n    pbVar7 = pbVar6;\n    pbVar8 = (byte *)"common-page-size=";\n    do {\n      if (iVar3 == 0) break;\n      iVar3 = iVar3 + -1;\n      bVar11 = *pbVar7 < *pbVar8;\n      bVar9 = *pbVar7 == *pbVar8;\n      pbVar7 = pbVar7 + 1;\n      pbVar8 = pbVar8 + 1;\n    } while (bVar9);\n    bVar10 = false;\n    bVar9 = (!bVar11 && !bVar9) == bVar11;\n    if (!bVar9) {\n      iVar3 = 0xb;\n      pbVar7 = pbVar6;\n      pbVar8 = (byte *)"stack-size=";\n      do {\n        if (iVar3 == 0) break;\n        iVar3 = iVar3 + -1;\n        bVar10 = *pbVar7 < *pbVar8;\n        bVar9 = *pbVar7 == *pbVar8;\n        pbVar7 = pbVar7 + 1;\n        pbVar8 = pbVar8 + 1;\n      } while (bVar9);\n      bVar11 = false;\n      bVar9 = (!bVar10 && !bVar9) == bVar10;\n      if (bVar9) {\n        DAT_0008cc10 = strtoul((char *)(pbVar6 + 0xb),local_20,0);\n        if ((*local_20[0] != '\0') || ((int)DAT_0008cc10 < 0)) {\n          iVar3 = *(int *)puVar1;\n          uVar4 = dcgettext(0,"%F%P: invalid stack size `%s\'\n",5,DAT_0008cc10);\n          FUN_00031700(uVar4,iVar3 + 0xb);\n        }\n        if (DAT_0008cc10 == 0) {\n          DAT_0008cc10 = 0xffffffff;\n          return 1;\n        }\n        return 1;\n      }\n      iVar3 = 10;\n      pbVar7 = pbVar6;\n      pbVar8 = (byte *)0x7ac61;\n      do {\n        if (iVar3 == 0) break;\n        iVar3 = iVar3 + -1;\n        bVar11 = *pbVar7 < *pbVar8;\n        bVar9 = *pbVar7 == *pbVar8;\n        pbVar7 = pbVar7 + 1;\n        pbVar8 = pbVar8 + 1;\n      } while (bVar9);\n      bVar10 = false;\n      bVar9 = (!bVar11 && !bVar9) == bVar11;\n      if (bVar9) {\n        _DAT_0008cc04 = _DAT_0008cc04 & 0xfffe7fff | 0x8000;\n        return 1;\n      }\n      iVar3 = 0xc;\n      pbVar7 = pbVar6;\n      pbVar8 = (byte *)"noexecstack";\n      do {\n        if (iVar3 == 0) break;\n        iVar3 = iVar3 + -1;\n        bVar10 = *pbVar7 < *pbVar8;\n        bVar9 = *pbVar7 == *pbVar8;\n        pbVar7 = pbVar7 + 1;\n        pbVar8 = pbVar8 + 1;\n      } while (bVar9);\n      if ((!bVar10 && !bVar9) == bVar10) {\n        _DAT_0008cc04 = _DAT_0008cc04 & 0xfffe7fff | 0x10000;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar6,"globalaudit");\n      if (iVar3 == 0) {\n        DAT_0008cc74 = DAT_0008cc74 | 0x1000000;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar6,"global");\n      if (iVar3 == 0) {\n        DAT_0008cc74 = DAT_0008cc74 | 2;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar6,"initfirst");\n      if (iVar3 == 0) {\n        DAT_0008cc74 = DAT_0008cc74 | 0x20;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar6,"interpose");\n      if (iVar3 == 0) {\n        DAT_0008cc74 = DAT_0008cc74 | 0x400;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar6,"loadfltr");\n      if (iVar3 == 0) {\n        DAT_0008cc74 = DAT_0008cc74 | 0x10;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar6,"nodefaultlib");\n      if (iVar3 == 0) {\n        DAT_0008cc74 = DAT_0008cc74 | 0x800;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar6,"nodelete");\n      if (iVar3 == 0) {\n        DAT_0008cc74 = DAT_0008cc74 | 8;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar6,"nodlopen");\n      if (iVar3 == 0) {\n        DAT_0008cc74 = DAT_0008cc74 | 0x40;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar6,"nodump");\n      if (iVar3 == 0) {\n        DAT_0008cc74 = DAT_0008cc74 | 0x1000;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar6,"now");\n      if (iVar3 == 0) {\n        _DAT_0008cc70 = _DAT_0008cc70 | 8;\n        DAT_0008cc74 = DAT_0008cc74 | 1;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar6,"lazy");\n      if (iVar3 == 0) {\n        _DAT_0008cc70 = _DAT_0008cc70 & 0xfffffff7;\n        DAT_0008cc74 = DAT_0008cc74 & 0xfffffffe;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar6,"origin");\n      if (iVar3 == 0) {\n        _DAT_0008cc70 = _DAT_0008cc70 | 1;\n        DAT_0008cc74 = DAT_0008cc74 | 0x80;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar6,"combreloc");\n      if (iVar3 == 0) {\n        _DAT_0008cc04 = _DAT_0008cc04 | 0x40;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar6,"nocombreloc");\n      if (iVar3 == 0) {\n        _DAT_0008cc04 = _DAT_0008cc04 & 0xffffffbf;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar6,"nocopyreloc");\n      if (iVar3 == 0) {\n        DAT_0008cc00._0_1_ = (byte)DAT_0008cc00 | 8;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar6,"relro");\n      if (iVar3 == 0) {\n        DAT_0008cc00._2_2_ = DAT_0008cc00._2_2_ | 0x1000;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar6,"norelro");\n      if (iVar3 == 0) {\n        DAT_0008cc00._2_2_ = DAT_0008cc00._2_2_ & 0xefff;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar6,"separate-code");\n      if (iVar3 == 0) {\n        DAT_0008cc00._2_2_ = DAT_0008cc00._2_2_ | 0x2000;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar6,"noseparate-code");\n      if (iVar3 == 0) {\n        DAT_0008cc00._2_2_ = DAT_0008cc00._2_2_ & 0xdfff;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar6,"common");\n      if (iVar3 == 0) {\n        DAT_0008cc00._2_2_ = DAT_0008cc00._2_2_ & 0xfff9 | 2;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar6,"nocommon");\n      if (iVar3 == 0) {\n        DAT_0008cc00._2_2_ = DAT_0008cc00._2_2_ & 0xfff9 | 4;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar6,"text");\n      if (iVar3 == 0) {\n        _DAT_0008cc04 = _DAT_0008cc04 | 2;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar6,"notext");\n      if ((iVar3 == 0) || (iVar3 = strcmp((char *)pbVar6,"textoff"), iVar3 == 0)) {\n        _DAT_0008cc04 = _DAT_0008cc04 & 0xfffffffd;\n        return 1;\n      }\n      pcVar5 = "%P: warning: -z %s ignored\n";\n      goto LAB_0003606a;\n    }\n    DAT_0008cd64 = strtoul((char *)(pbVar6 + 0x11),local_20,0);\n    if ((*local_20[0] == '\0') && ((DAT_0008cd64 - 1 & DAT_0008cd64) == 0)) {\n      return 1;\n    }\n    pcVar5 = "%F%P: invalid common page size `%s\'\n";\n    __s1 = (char *)(*(int *)puVar1 + 0x11);\n  }\nLAB_00035f83:\n  uVar4 = dcgettext(0,pcVar5,5);\n  FUN_00031700(uVar4,__s1);\n  return 1;\n}\n\n" comment comment (function_definition "undefined4 FUN_00035ac0(uint param_1)\n\n{\n  undefined *puVar1;\n  undefined1 uVar2;\n  int iVar3;\n  undefined4 uVar4;\n  char *pcVar5;\n  byte *pbVar6;\n  char *__s1;\n  byte *pbVar7;\n  byte *pbVar8;\n  bool bVar9;\n  bool bVar10;\n  bool bVar11;\n  byte bVar12;\n  char *local_20 [3];\n  undefined4 uStack_14;\n  \n  puVar1 = PTR_optarg_0008bff4;\n  bVar12 = 0;\n  uStack_14 = 0x35ac9;\n  if (param_1 == 0x193) {\n    DAT_0008cc00._2_2_ = DAT_0008cc00._2_2_ & 0x3fff | 0x4000;\n    return 1;\n  }\n  uVar2 = DAT_0008cc04;\n  if (0x193 < (int)param_1) {\n    if (param_1 != 0x196) {\n      if ((int)param_1 < 0x197) {\n        if (param_1 == 0x194) {\n          DAT_0008cc00._2_2_ = DAT_0008cc00._2_2_ & 0x3fff;\n          return 1;\n        }\n        if (param_1 != 0x195) {\n          return 0;\n        }\n        FUN_00024120(*(undefined4 *)PTR_optarg_0008bff4);\n        return 1;\n      }\n      if (param_1 == 0x198) {\n        FUN_000359c0();\n        return 1;\n      }\n      if ((int)param_1 < 0x198) {\n        if (DAT_0008ca2c != (void *)0x0) {\n          free(DAT_0008ca2c);\n          DAT_0008ca2c = (void *)0x0;\n        }\n        pbVar6 = *(byte **)PTR_optarg_0008bff4;\n        bVar9 = false;\n        bVar11 = pbVar6 == (byte *)0x0;\n        if (bVar11) {\n          pbVar6 = &DAT_0004f1e8;\n          *(undefined1 **)PTR_optarg_0008bff4 = &DAT_0004f1e8;\n        }\n        else {\n          iVar3 = 5;\n          pbVar7 = pbVar6;\n          pbVar8 = (byte *)0x4ab38;\n          do {\n            if (iVar3 == 0) break;\n            iVar3 = iVar3 + -1;\n            bVar9 = *pbVar7 < *pbVar8;\n            bVar11 = *pbVar7 == *pbVar8;\n            pbVar7 = pbVar7 + (uint)bVar12 * -2 + 1;\n            pbVar8 = pbVar8 + (uint)bVar12 * -2 + 1;\n          } while (bVar11);\n          if ((!bVar9 && !bVar11) == bVar9) {\n            return 1;\n          }\n        }\n        DAT_0008ca2c = (void *)xstrdup(pbVar6);\n        return 1;\n      }\n      if (param_1 != 0x199) {\n        return 0;\n      }\n      __s1 = *(char **)PTR_optarg_0008bff4;\n      iVar3 = strcasecmp(__s1,"none");\n      if (iVar3 == 0) {\n        DAT_0008cc0c = 0;\n        return 1;\n      }\n      iVar3 = strcasecmp(__s1,"zlib");\n      if (iVar3 != 0) {\n        iVar3 = strcasecmp(__s1,"zlib-gnu");\n        if (iVar3 == 0) {\n          DAT_0008cc0c = 3;\n          return 1;\n        }\n        iVar3 = strcasecmp(__s1,"zlib-gabi");\n        if (iVar3 != 0) {\n          pcVar5 = "%F%P: invalid --compress-debug-sections option: `%s\'\n";\n          goto LAB_00035f83;\n        }\n      }\n      DAT_0008cc0c = 5;\n      return 1;\n    }\n    pbVar6 = *(byte **)PTR_optarg_0008bff4;\n    iVar3 = 5;\n    bVar9 = false;\n    bVar11 = (_DAT_0008cc04 & 0xf3) == 0;\n    _DAT_0008cc04 = _DAT_0008cc04 & 0xfffffff3;\n    pbVar7 = pbVar6;\n    pbVar8 = &DAT_0007ac19;\n    do {\n      if (iVar3 == 0) break;\n      iVar3 = iVar3 + -1;\n      bVar9 = *pbVar7 < *pbVar8;\n      bVar11 = *pbVar7 == *pbVar8;\n      pbVar7 = pbVar7 + 1;\n      pbVar8 = pbVar8 + 1;\n    } while (bVar11);\n    bVar10 = false;\n    bVar9 = (!bVar9 && !bVar11) == bVar9;\n    if (bVar9) {\n      _DAT_0008cc04 = CONCAT31(_DAT_0008cc05,uVar2) & 0xfffffff3 | 4;\n      return 1;\n    }\n    iVar3 = 4;\n    pbVar7 = pbVar6;\n    pbVar8 = &DAT_0007ac0b;\n    do {\n      if (iVar3 == 0) break;\n      iVar3 = iVar3 + -1;\n      bVar10 = *pbVar7 < *pbVar8;\n      bVar9 = *pbVar7 == *pbVar8;\n      pbVar7 = pbVar7 + 1;\n      pbVar8 = pbVar8 + 1;\n    } while (bVar9);\n    bVar11 = false;\n    bVar9 = (!bVar10 && !bVar9) == bVar10;\n    if (bVar9) {\n      _DAT_0008cc04 = CONCAT31(_DAT_0008cc05,uVar2) & 0xfffffff3 | 8;\n      return 1;\n    }\n    iVar3 = 5;\n    pbVar7 = pbVar6;\n    pbVar8 = &DAT_0007ac1e;\n    do {\n      if (iVar3 == 0) break;\n      iVar3 = iVar3 + -1;\n      bVar11 = *pbVar7 < *pbVar8;\n      bVar9 = *pbVar7 == *pbVar8;\n      pbVar7 = pbVar7 + 1;\n      pbVar8 = pbVar8 + 1;\n    } while (bVar9);\n    if ((!bVar11 && !bVar9) == bVar11) {\n      _DAT_0008cc04 = CONCAT31(_DAT_0008cc05,uVar2) & 0xfffffff3 | 0xc;\n      return 1;\n    }\n    pcVar5 = "%F%P: invalid hash style `%s\'\n";\nLAB_0003606a:\n    uVar4 = dcgettext(0,pcVar5,5);\n    FUN_00031700(uVar4,pbVar6);\n    return 1;\n  }\n  bVar9 = param_1 < 0x12d;\n  bVar11 = param_1 == 0x12d;\n  if (bVar11) {\n    iVar3 = 7;\n    pbVar6 = *(byte **)PTR_optarg_0008bff4;\n    pbVar7 = pbVar6;\n    pbVar8 = (byte *)"target";\n    do {\n      if (iVar3 == 0) break;\n      iVar3 = iVar3 + -1;\n      bVar9 = *pbVar7 < *pbVar8;\n      bVar11 = *pbVar7 == *pbVar8;\n      pbVar7 = pbVar7 + 1;\n      pbVar8 = pbVar8 + 1;\n    } while (bVar11);\n    bVar10 = false;\n    bVar9 = (!bVar9 && !bVar11) == bVar9;\n    if (!bVar9) {\n      iVar3 = 7;\n      pbVar7 = pbVar6;\n      pbVar8 = (byte *)"single";\n      do {\n        if (iVar3 == 0) break;\n        iVar3 = iVar3 + -1;\n        bVar10 = *pbVar7 < *pbVar8;\n        bVar9 = *pbVar7 == *pbVar8;\n        pbVar7 = pbVar7 + 1;\n        pbVar8 = pbVar8 + 1;\n      } while (bVar9);\n      bVar11 = false;\n      bVar9 = (!bVar10 && !bVar9) == bVar10;\n      if (!bVar9) {\n        iVar3 = 9;\n        pbVar7 = pbVar6;\n        pbVar8 = (byte *)"negative";\n        do {\n          if (iVar3 == 0) break;\n          iVar3 = iVar3 + -1;\n          bVar11 = *pbVar7 < *pbVar8;\n          bVar9 = *pbVar7 == *pbVar8;\n          pbVar7 = pbVar7 + 1;\n          pbVar8 = pbVar8 + 1;\n        } while (bVar9);\n        bVar10 = false;\n        bVar9 = (!bVar11 && !bVar9) == bVar11;\n        if (bVar9) {\n          DAT_0008cac4 = 1;\n          return 1;\n        }\n        iVar3 = 9;\n        pbVar7 = pbVar6;\n        pbVar8 = (byte *)"multigot";\n        do {\n          if (iVar3 == 0) break;\n          iVar3 = iVar3 + -1;\n          bVar10 = *pbVar7 < *pbVar8;\n          bVar9 = *pbVar7 == *pbVar8;\n          pbVar7 = pbVar7 + 1;\n          pbVar8 = pbVar8 + 1;\n        } while (bVar9);\n        if ((!bVar10 && !bVar9) == bVar10) {\n          DAT_0008cac4 = 2;\n          return 1;\n        }\n        pcVar5 = "%P: unrecognized --got argument \'%s\'\n";\n        goto LAB_0003606a;\n      }\n    }\n    DAT_0008cac4 = 0;\n    return 1;\n  }\n  if (0x12d < (int)param_1) {\n    if (param_1 == 0x191) {\n      _DAT_0008cc04 = _DAT_0008cc04 | 0x100;\n      return 1;\n    }\n    if (0x191 < (int)param_1) {\n      DAT_0008cc00._2_2_ = DAT_0008cc00._2_2_ | 0x1e0;\n      DAT_0008cc74 = DAT_0008cc74 | 4;\n      return 1;\n    }\n    if (param_1 != 400) {\n      return 0;\n    }\n    _DAT_0008cc04 = _DAT_0008cc04 & 0xfffffeff;\n    return 1;\n  }\n  if (param_1 == 0x50) {\n    FUN_000359c0();\n    return 1;\n  }\n  bVar9 = param_1 < 0x7a;\n  bVar11 = param_1 == 0x7a;\n  if (!bVar11) {\n    return 0;\n  }\n  iVar3 = 5;\n  pbVar6 = *(byte **)PTR_optarg_0008bff4;\n  pbVar7 = pbVar6;\n  pbVar8 = (byte *)0x4acc7;\n  do {\n    if (iVar3 == 0) break;\n    iVar3 = iVar3 + -1;\n    bVar9 = *pbVar7 < *pbVar8;\n    bVar11 = *pbVar7 == *pbVar8;\n    pbVar7 = pbVar7 + 1;\n    pbVar8 = pbVar8 + 1;\n  } while (bVar11);\n  bVar10 = false;\n  bVar9 = (!bVar9 && !bVar11) == bVar9;\n  if (bVar9) {\n    DAT_0008cc00._2_2_ = DAT_0008cc00._2_2_ | 0x60;\n    return 1;\n  }\n  iVar3 = 7;\n  pbVar7 = pbVar6;\n  pbVar8 = (byte *)"undefs";\n  do {\n    if (iVar3 == 0) break;\n    iVar3 = iVar3 + -1;\n    bVar10 = *pbVar7 < *pbVar8;\n    bVar9 = *pbVar7 == *pbVar8;\n    pbVar7 = pbVar7 + 1;\n    pbVar8 = pbVar8 + 1;\n  } while (bVar9);\n  bVar11 = false;\n  bVar9 = (!bVar10 && !bVar9) == bVar10;\n  if (bVar9) {\n    DAT_0008cc00._2_2_ = DAT_0008cc00._2_2_ & 0xff9f | 0x20;\n    return 1;\n  }\n  iVar3 = 8;\n  pbVar7 = pbVar6;\n  pbVar8 = (byte *)"muldefs";\n  do {\n    if (iVar3 == 0) break;\n    iVar3 = iVar3 + -1;\n    bVar11 = *pbVar7 < *pbVar8;\n    bVar9 = *pbVar7 == *pbVar8;\n    pbVar7 = pbVar7 + 1;\n    pbVar8 = pbVar8 + 1;\n  } while (bVar9);\n  bVar10 = false;\n  bVar9 = (!bVar11 && !bVar9) == bVar11;\n  if (bVar9) {\n    _DAT_0008cc04 = _DAT_0008cc04 | 0x800;\n    return 1;\n  }\n  iVar3 = 0xe;\n  pbVar7 = pbVar6;\n  pbVar8 = (byte *)"max-page-size=";\n  do {\n    if (iVar3 == 0) break;\n    iVar3 = iVar3 + -1;\n    bVar10 = *pbVar7 < *pbVar8;\n    bVar9 = *pbVar7 == *pbVar8;\n    pbVar7 = pbVar7 + 1;\n    pbVar8 = pbVar8 + 1;\n  } while (bVar9);\n  bVar11 = false;\n  bVar9 = (!bVar10 && !bVar9) == bVar10;\n  if (bVar9) {\n    DAT_0008cd60 = strtoul((char *)(pbVar6 + 0xe),local_20,0);\n    if ((*local_20[0] == '\0') && ((DAT_0008cd60 - 1 & DAT_0008cd60) == 0)) {\n      return 1;\n    }\n    pcVar5 = "%F%P: invalid maximum page size `%s\'\n";\n    __s1 = (char *)(*(int *)puVar1 + 0xe);\n  }\n  else {\n    iVar3 = 0x11;\n    pbVar7 = pbVar6;\n    pbVar8 = (byte *)"common-page-size=";\n    do {\n      if (iVar3 == 0) break;\n      iVar3 = iVar3 + -1;\n      bVar11 = *pbVar7 < *pbVar8;\n      bVar9 = *pbVar7 == *pbVar8;\n      pbVar7 = pbVar7 + 1;\n      pbVar8 = pbVar8 + 1;\n    } while (bVar9);\n    bVar10 = false;\n    bVar9 = (!bVar11 && !bVar9) == bVar11;\n    if (!bVar9) {\n      iVar3 = 0xb;\n      pbVar7 = pbVar6;\n      pbVar8 = (byte *)"stack-size=";\n      do {\n        if (iVar3 == 0) break;\n        iVar3 = iVar3 + -1;\n        bVar10 = *pbVar7 < *pbVar8;\n        bVar9 = *pbVar7 == *pbVar8;\n        pbVar7 = pbVar7 + 1;\n        pbVar8 = pbVar8 + 1;\n      } while (bVar9);\n      bVar11 = false;\n      bVar9 = (!bVar10 && !bVar9) == bVar10;\n      if (bVar9) {\n        DAT_0008cc10 = strtoul((char *)(pbVar6 + 0xb),local_20,0);\n        if ((*local_20[0] != '\0') || ((int)DAT_0008cc10 < 0)) {\n          iVar3 = *(int *)puVar1;\n          uVar4 = dcgettext(0,"%F%P: invalid stack size `%s\'\n",5,DAT_0008cc10);\n          FUN_00031700(uVar4,iVar3 + 0xb);\n        }\n        if (DAT_0008cc10 == 0) {\n          DAT_0008cc10 = 0xffffffff;\n          return 1;\n        }\n        return 1;\n      }\n      iVar3 = 10;\n      pbVar7 = pbVar6;\n      pbVar8 = (byte *)0x7ac61;\n      do {\n        if (iVar3 == 0) break;\n        iVar3 = iVar3 + -1;\n        bVar11 = *pbVar7 < *pbVar8;\n        bVar9 = *pbVar7 == *pbVar8;\n        pbVar7 = pbVar7 + 1;\n        pbVar8 = pbVar8 + 1;\n      } while (bVar9);\n      bVar10 = false;\n      bVar9 = (!bVar11 && !bVar9) == bVar11;\n      if (bVar9) {\n        _DAT_0008cc04 = _DAT_0008cc04 & 0xfffe7fff | 0x8000;\n        return 1;\n      }\n      iVar3 = 0xc;\n      pbVar7 = pbVar6;\n      pbVar8 = (byte *)"noexecstack";\n      do {\n        if (iVar3 == 0) break;\n        iVar3 = iVar3 + -1;\n        bVar10 = *pbVar7 < *pbVar8;\n        bVar9 = *pbVar7 == *pbVar8;\n        pbVar7 = pbVar7 + 1;\n        pbVar8 = pbVar8 + 1;\n      } while (bVar9);\n      if ((!bVar10 && !bVar9) == bVar10) {\n        _DAT_0008cc04 = _DAT_0008cc04 & 0xfffe7fff | 0x10000;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar6,"globalaudit");\n      if (iVar3 == 0) {\n        DAT_0008cc74 = DAT_0008cc74 | 0x1000000;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar6,"global");\n      if (iVar3 == 0) {\n        DAT_0008cc74 = DAT_0008cc74 | 2;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar6,"initfirst");\n      if (iVar3 == 0) {\n        DAT_0008cc74 = DAT_0008cc74 | 0x20;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar6,"interpose");\n      if (iVar3 == 0) {\n        DAT_0008cc74 = DAT_0008cc74 | 0x400;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar6,"loadfltr");\n      if (iVar3 == 0) {\n        DAT_0008cc74 = DAT_0008cc74 | 0x10;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar6,"nodefaultlib");\n      if (iVar3 == 0) {\n        DAT_0008cc74 = DAT_0008cc74 | 0x800;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar6,"nodelete");\n      if (iVar3 == 0) {\n        DAT_0008cc74 = DAT_0008cc74 | 8;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar6,"nodlopen");\n      if (iVar3 == 0) {\n        DAT_0008cc74 = DAT_0008cc74 | 0x40;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar6,"nodump");\n      if (iVar3 == 0) {\n        DAT_0008cc74 = DAT_0008cc74 | 0x1000;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar6,"now");\n      if (iVar3 == 0) {\n        _DAT_0008cc70 = _DAT_0008cc70 | 8;\n        DAT_0008cc74 = DAT_0008cc74 | 1;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar6,"lazy");\n      if (iVar3 == 0) {\n        _DAT_0008cc70 = _DAT_0008cc70 & 0xfffffff7;\n        DAT_0008cc74 = DAT_0008cc74 & 0xfffffffe;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar6,"origin");\n      if (iVar3 == 0) {\n        _DAT_0008cc70 = _DAT_0008cc70 | 1;\n        DAT_0008cc74 = DAT_0008cc74 | 0x80;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar6,"combreloc");\n      if (iVar3 == 0) {\n        _DAT_0008cc04 = _DAT_0008cc04 | 0x40;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar6,"nocombreloc");\n      if (iVar3 == 0) {\n        _DAT_0008cc04 = _DAT_0008cc04 & 0xffffffbf;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar6,"nocopyreloc");\n      if (iVar3 == 0) {\n        DAT_0008cc00._0_1_ = (byte)DAT_0008cc00 | 8;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar6,"relro");\n      if (iVar3 == 0) {\n        DAT_0008cc00._2_2_ = DAT_0008cc00._2_2_ | 0x1000;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar6,"norelro");\n      if (iVar3 == 0) {\n        DAT_0008cc00._2_2_ = DAT_0008cc00._2_2_ & 0xefff;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar6,"separate-code");\n      if (iVar3 == 0) {\n        DAT_0008cc00._2_2_ = DAT_0008cc00._2_2_ | 0x2000;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar6,"noseparate-code");\n      if (iVar3 == 0) {\n        DAT_0008cc00._2_2_ = DAT_0008cc00._2_2_ & 0xdfff;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar6,"common");\n      if (iVar3 == 0) {\n        DAT_0008cc00._2_2_ = DAT_0008cc00._2_2_ & 0xfff9 | 2;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar6,"nocommon");\n      if (iVar3 == 0) {\n        DAT_0008cc00._2_2_ = DAT_0008cc00._2_2_ & 0xfff9 | 4;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar6,"text");\n      if (iVar3 == 0) {\n        _DAT_0008cc04 = _DAT_0008cc04 | 2;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar6,"notext");\n      if ((iVar3 == 0) || (iVar3 = strcmp((char *)pbVar6,"textoff"), iVar3 == 0)) {\n        _DAT_0008cc04 = _DAT_0008cc04 & 0xfffffffd;\n        return 1;\n      }\n      pcVar5 = "%P: warning: -z %s ignored\n";\n      goto LAB_0003606a;\n    }\n    DAT_0008cd64 = strtoul((char *)(pbVar6 + 0x11),local_20,0);\n    if ((*local_20[0] == '\0') && ((DAT_0008cd64 - 1 & DAT_0008cd64) == 0)) {\n      return 1;\n    }\n    pcVar5 = "%F%P: invalid common page size `%s\'\n";\n    __s1 = (char *)(*(int *)puVar1 + 0x11);\n  }\nLAB_00035f83:\n  uVar4 = dcgettext(0,pcVar5,5);\n  FUN_00031700(uVar4,__s1);\n  return 1;\n}" type_identifier (function_declarator "FUN_00035ac0(uint param_1)" identifier (parameter_list "(uint param_1)" ( (parameter_declaration "uint param_1" type_identifier identifier) ))) (compound_statement "{\n  undefined *puVar1;\n  undefined1 uVar2;\n  int iVar3;\n  undefined4 uVar4;\n  char *pcVar5;\n  byte *pbVar6;\n  char *__s1;\n  byte *pbVar7;\n  byte *pbVar8;\n  bool bVar9;\n  bool bVar10;\n  bool bVar11;\n  byte bVar12;\n  char *local_20 [3];\n  undefined4 uStack_14;\n  \n  puVar1 = PTR_optarg_0008bff4;\n  bVar12 = 0;\n  uStack_14 = 0x35ac9;\n  if (param_1 == 0x193) {\n    DAT_0008cc00._2_2_ = DAT_0008cc00._2_2_ & 0x3fff | 0x4000;\n    return 1;\n  }\n  uVar2 = DAT_0008cc04;\n  if (0x193 < (int)param_1) {\n    if (param_1 != 0x196) {\n      if ((int)param_1 < 0x197) {\n        if (param_1 == 0x194) {\n          DAT_0008cc00._2_2_ = DAT_0008cc00._2_2_ & 0x3fff;\n          return 1;\n        }\n        if (param_1 != 0x195) {\n          return 0;\n        }\n        FUN_00024120(*(undefined4 *)PTR_optarg_0008bff4);\n        return 1;\n      }\n      if (param_1 == 0x198) {\n        FUN_000359c0();\n        return 1;\n      }\n      if ((int)param_1 < 0x198) {\n        if (DAT_0008ca2c != (void *)0x0) {\n          free(DAT_0008ca2c);\n          DAT_0008ca2c = (void *)0x0;\n        }\n        pbVar6 = *(byte **)PTR_optarg_0008bff4;\n        bVar9 = false;\n        bVar11 = pbVar6 == (byte *)0x0;\n        if (bVar11) {\n          pbVar6 = &DAT_0004f1e8;\n          *(undefined1 **)PTR_optarg_0008bff4 = &DAT_0004f1e8;\n        }\n        else {\n          iVar3 = 5;\n          pbVar7 = pbVar6;\n          pbVar8 = (byte *)0x4ab38;\n          do {\n            if (iVar3 == 0) break;\n            iVar3 = iVar3 + -1;\n            bVar9 = *pbVar7 < *pbVar8;\n            bVar11 = *pbVar7 == *pbVar8;\n            pbVar7 = pbVar7 + (uint)bVar12 * -2 + 1;\n            pbVar8 = pbVar8 + (uint)bVar12 * -2 + 1;\n          } while (bVar11);\n          if ((!bVar9 && !bVar11) == bVar9) {\n            return 1;\n          }\n        }\n        DAT_0008ca2c = (void *)xstrdup(pbVar6);\n        return 1;\n      }\n      if (param_1 != 0x199) {\n        return 0;\n      }\n      __s1 = *(char **)PTR_optarg_0008bff4;\n      iVar3 = strcasecmp(__s1,"none");\n      if (iVar3 == 0) {\n        DAT_0008cc0c = 0;\n        return 1;\n      }\n      iVar3 = strcasecmp(__s1,"zlib");\n      if (iVar3 != 0) {\n        iVar3 = strcasecmp(__s1,"zlib-gnu");\n        if (iVar3 == 0) {\n          DAT_0008cc0c = 3;\n          return 1;\n        }\n        iVar3 = strcasecmp(__s1,"zlib-gabi");\n        if (iVar3 != 0) {\n          pcVar5 = "%F%P: invalid --compress-debug-sections option: `%s\'\n";\n          goto LAB_00035f83;\n        }\n      }\n      DAT_0008cc0c = 5;\n      return 1;\n    }\n    pbVar6 = *(byte **)PTR_optarg_0008bff4;\n    iVar3 = 5;\n    bVar9 = false;\n    bVar11 = (_DAT_0008cc04 & 0xf3) == 0;\n    _DAT_0008cc04 = _DAT_0008cc04 & 0xfffffff3;\n    pbVar7 = pbVar6;\n    pbVar8 = &DAT_0007ac19;\n    do {\n      if (iVar3 == 0) break;\n      iVar3 = iVar3 + -1;\n      bVar9 = *pbVar7 < *pbVar8;\n      bVar11 = *pbVar7 == *pbVar8;\n      pbVar7 = pbVar7 + 1;\n      pbVar8 = pbVar8 + 1;\n    } while (bVar11);\n    bVar10 = false;\n    bVar9 = (!bVar9 && !bVar11) == bVar9;\n    if (bVar9) {\n      _DAT_0008cc04 = CONCAT31(_DAT_0008cc05,uVar2) & 0xfffffff3 | 4;\n      return 1;\n    }\n    iVar3 = 4;\n    pbVar7 = pbVar6;\n    pbVar8 = &DAT_0007ac0b;\n    do {\n      if (iVar3 == 0) break;\n      iVar3 = iVar3 + -1;\n      bVar10 = *pbVar7 < *pbVar8;\n      bVar9 = *pbVar7 == *pbVar8;\n      pbVar7 = pbVar7 + 1;\n      pbVar8 = pbVar8 + 1;\n    } while (bVar9);\n    bVar11 = false;\n    bVar9 = (!bVar10 && !bVar9) == bVar10;\n    if (bVar9) {\n      _DAT_0008cc04 = CONCAT31(_DAT_0008cc05,uVar2) & 0xfffffff3 | 8;\n      return 1;\n    }\n    iVar3 = 5;\n    pbVar7 = pbVar6;\n    pbVar8 = &DAT_0007ac1e;\n    do {\n      if (iVar3 == 0) break;\n      iVar3 = iVar3 + -1;\n      bVar11 = *pbVar7 < *pbVar8;\n      bVar9 = *pbVar7 == *pbVar8;\n      pbVar7 = pbVar7 + 1;\n      pbVar8 = pbVar8 + 1;\n    } while (bVar9);\n    if ((!bVar11 && !bVar9) == bVar11) {\n      _DAT_0008cc04 = CONCAT31(_DAT_0008cc05,uVar2) & 0xfffffff3 | 0xc;\n      return 1;\n    }\n    pcVar5 = "%F%P: invalid hash style `%s\'\n";\nLAB_0003606a:\n    uVar4 = dcgettext(0,pcVar5,5);\n    FUN_00031700(uVar4,pbVar6);\n    return 1;\n  }\n  bVar9 = param_1 < 0x12d;\n  bVar11 = param_1 == 0x12d;\n  if (bVar11) {\n    iVar3 = 7;\n    pbVar6 = *(byte **)PTR_optarg_0008bff4;\n    pbVar7 = pbVar6;\n    pbVar8 = (byte *)"target";\n    do {\n      if (iVar3 == 0) break;\n      iVar3 = iVar3 + -1;\n      bVar9 = *pbVar7 < *pbVar8;\n      bVar11 = *pbVar7 == *pbVar8;\n      pbVar7 = pbVar7 + 1;\n      pbVar8 = pbVar8 + 1;\n    } while (bVar11);\n    bVar10 = false;\n    bVar9 = (!bVar9 && !bVar11) == bVar9;\n    if (!bVar9) {\n      iVar3 = 7;\n      pbVar7 = pbVar6;\n      pbVar8 = (byte *)"single";\n      do {\n        if (iVar3 == 0) break;\n        iVar3 = iVar3 + -1;\n        bVar10 = *pbVar7 < *pbVar8;\n        bVar9 = *pbVar7 == *pbVar8;\n        pbVar7 = pbVar7 + 1;\n        pbVar8 = pbVar8 + 1;\n      } while (bVar9);\n      bVar11 = false;\n      bVar9 = (!bVar10 && !bVar9) == bVar10;\n      if (!bVar9) {\n        iVar3 = 9;\n        pbVar7 = pbVar6;\n        pbVar8 = (byte *)"negative";\n        do {\n          if (iVar3 == 0) break;\n          iVar3 = iVar3 + -1;\n          bVar11 = *pbVar7 < *pbVar8;\n          bVar9 = *pbVar7 == *pbVar8;\n          pbVar7 = pbVar7 + 1;\n          pbVar8 = pbVar8 + 1;\n        } while (bVar9);\n        bVar10 = false;\n        bVar9 = (!bVar11 && !bVar9) == bVar11;\n        if (bVar9) {\n          DAT_0008cac4 = 1;\n          return 1;\n        }\n        iVar3 = 9;\n        pbVar7 = pbVar6;\n        pbVar8 = (byte *)"multigot";\n        do {\n          if (iVar3 == 0) break;\n          iVar3 = iVar3 + -1;\n          bVar10 = *pbVar7 < *pbVar8;\n          bVar9 = *pbVar7 == *pbVar8;\n          pbVar7 = pbVar7 + 1;\n          pbVar8 = pbVar8 + 1;\n        } while (bVar9);\n        if ((!bVar10 && !bVar9) == bVar10) {\n          DAT_0008cac4 = 2;\n          return 1;\n        }\n        pcVar5 = "%P: unrecognized --got argument \'%s\'\n";\n        goto LAB_0003606a;\n      }\n    }\n    DAT_0008cac4 = 0;\n    return 1;\n  }\n  if (0x12d < (int)param_1) {\n    if (param_1 == 0x191) {\n      _DAT_0008cc04 = _DAT_0008cc04 | 0x100;\n      return 1;\n    }\n    if (0x191 < (int)param_1) {\n      DAT_0008cc00._2_2_ = DAT_0008cc00._2_2_ | 0x1e0;\n      DAT_0008cc74 = DAT_0008cc74 | 4;\n      return 1;\n    }\n    if (param_1 != 400) {\n      return 0;\n    }\n    _DAT_0008cc04 = _DAT_0008cc04 & 0xfffffeff;\n    return 1;\n  }\n  if (param_1 == 0x50) {\n    FUN_000359c0();\n    return 1;\n  }\n  bVar9 = param_1 < 0x7a;\n  bVar11 = param_1 == 0x7a;\n  if (!bVar11) {\n    return 0;\n  }\n  iVar3 = 5;\n  pbVar6 = *(byte **)PTR_optarg_0008bff4;\n  pbVar7 = pbVar6;\n  pbVar8 = (byte *)0x4acc7;\n  do {\n    if (iVar3 == 0) break;\n    iVar3 = iVar3 + -1;\n    bVar9 = *pbVar7 < *pbVar8;\n    bVar11 = *pbVar7 == *pbVar8;\n    pbVar7 = pbVar7 + 1;\n    pbVar8 = pbVar8 + 1;\n  } while (bVar11);\n  bVar10 = false;\n  bVar9 = (!bVar9 && !bVar11) == bVar9;\n  if (bVar9) {\n    DAT_0008cc00._2_2_ = DAT_0008cc00._2_2_ | 0x60;\n    return 1;\n  }\n  iVar3 = 7;\n  pbVar7 = pbVar6;\n  pbVar8 = (byte *)"undefs";\n  do {\n    if (iVar3 == 0) break;\n    iVar3 = iVar3 + -1;\n    bVar10 = *pbVar7 < *pbVar8;\n    bVar9 = *pbVar7 == *pbVar8;\n    pbVar7 = pbVar7 + 1;\n    pbVar8 = pbVar8 + 1;\n  } while (bVar9);\n  bVar11 = false;\n  bVar9 = (!bVar10 && !bVar9) == bVar10;\n  if (bVar9) {\n    DAT_0008cc00._2_2_ = DAT_0008cc00._2_2_ & 0xff9f | 0x20;\n    return 1;\n  }\n  iVar3 = 8;\n  pbVar7 = pbVar6;\n  pbVar8 = (byte *)"muldefs";\n  do {\n    if (iVar3 == 0) break;\n    iVar3 = iVar3 + -1;\n    bVar11 = *pbVar7 < *pbVar8;\n    bVar9 = *pbVar7 == *pbVar8;\n    pbVar7 = pbVar7 + 1;\n    pbVar8 = pbVar8 + 1;\n  } while (bVar9);\n  bVar10 = false;\n  bVar9 = (!bVar11 && !bVar9) == bVar11;\n  if (bVar9) {\n    _DAT_0008cc04 = _DAT_0008cc04 | 0x800;\n    return 1;\n  }\n  iVar3 = 0xe;\n  pbVar7 = pbVar6;\n  pbVar8 = (byte *)"max-page-size=";\n  do {\n    if (iVar3 == 0) break;\n    iVar3 = iVar3 + -1;\n    bVar10 = *pbVar7 < *pbVar8;\n    bVar9 = *pbVar7 == *pbVar8;\n    pbVar7 = pbVar7 + 1;\n    pbVar8 = pbVar8 + 1;\n  } while (bVar9);\n  bVar11 = false;\n  bVar9 = (!bVar10 && !bVar9) == bVar10;\n  if (bVar9) {\n    DAT_0008cd60 = strtoul((char *)(pbVar6 + 0xe),local_20,0);\n    if ((*local_20[0] == '\0') && ((DAT_0008cd60 - 1 & DAT_0008cd60) == 0)) {\n      return 1;\n    }\n    pcVar5 = "%F%P: invalid maximum page size `%s\'\n";\n    __s1 = (char *)(*(int *)puVar1 + 0xe);\n  }\n  else {\n    iVar3 = 0x11;\n    pbVar7 = pbVar6;\n    pbVar8 = (byte *)"common-page-size=";\n    do {\n      if (iVar3 == 0) break;\n      iVar3 = iVar3 + -1;\n      bVar11 = *pbVar7 < *pbVar8;\n      bVar9 = *pbVar7 == *pbVar8;\n      pbVar7 = pbVar7 + 1;\n      pbVar8 = pbVar8 + 1;\n    } while (bVar9);\n    bVar10 = false;\n    bVar9 = (!bVar11 && !bVar9) == bVar11;\n    if (!bVar9) {\n      iVar3 = 0xb;\n      pbVar7 = pbVar6;\n      pbVar8 = (byte *)"stack-size=";\n      do {\n        if (iVar3 == 0) break;\n        iVar3 = iVar3 + -1;\n        bVar10 = *pbVar7 < *pbVar8;\n        bVar9 = *pbVar7 == *pbVar8;\n        pbVar7 = pbVar7 + 1;\n        pbVar8 = pbVar8 + 1;\n      } while (bVar9);\n      bVar11 = false;\n      bVar9 = (!bVar10 && !bVar9) == bVar10;\n      if (bVar9) {\n        DAT_0008cc10 = strtoul((char *)(pbVar6 + 0xb),local_20,0);\n        if ((*local_20[0] != '\0') || ((int)DAT_0008cc10 < 0)) {\n          iVar3 = *(int *)puVar1;\n          uVar4 = dcgettext(0,"%F%P: invalid stack size `%s\'\n",5,DAT_0008cc10);\n          FUN_00031700(uVar4,iVar3 + 0xb);\n        }\n        if (DAT_0008cc10 == 0) {\n          DAT_0008cc10 = 0xffffffff;\n          return 1;\n        }\n        return 1;\n      }\n      iVar3 = 10;\n      pbVar7 = pbVar6;\n      pbVar8 = (byte *)0x7ac61;\n      do {\n        if (iVar3 == 0) break;\n        iVar3 = iVar3 + -1;\n        bVar11 = *pbVar7 < *pbVar8;\n        bVar9 = *pbVar7 == *pbVar8;\n        pbVar7 = pbVar7 + 1;\n        pbVar8 = pbVar8 + 1;\n      } while (bVar9);\n      bVar10 = false;\n      bVar9 = (!bVar11 && !bVar9) == bVar11;\n      if (bVar9) {\n        _DAT_0008cc04 = _DAT_0008cc04 & 0xfffe7fff | 0x8000;\n        return 1;\n      }\n      iVar3 = 0xc;\n      pbVar7 = pbVar6;\n      pbVar8 = (byte *)"noexecstack";\n      do {\n        if (iVar3 == 0) break;\n        iVar3 = iVar3 + -1;\n        bVar10 = *pbVar7 < *pbVar8;\n        bVar9 = *pbVar7 == *pbVar8;\n        pbVar7 = pbVar7 + 1;\n        pbVar8 = pbVar8 + 1;\n      } while (bVar9);\n      if ((!bVar10 && !bVar9) == bVar10) {\n        _DAT_0008cc04 = _DAT_0008cc04 & 0xfffe7fff | 0x10000;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar6,"globalaudit");\n      if (iVar3 == 0) {\n        DAT_0008cc74 = DAT_0008cc74 | 0x1000000;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar6,"global");\n      if (iVar3 == 0) {\n        DAT_0008cc74 = DAT_0008cc74 | 2;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar6,"initfirst");\n      if (iVar3 == 0) {\n        DAT_0008cc74 = DAT_0008cc74 | 0x20;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar6,"interpose");\n      if (iVar3 == 0) {\n        DAT_0008cc74 = DAT_0008cc74 | 0x400;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar6,"loadfltr");\n      if (iVar3 == 0) {\n        DAT_0008cc74 = DAT_0008cc74 | 0x10;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar6,"nodefaultlib");\n      if (iVar3 == 0) {\n        DAT_0008cc74 = DAT_0008cc74 | 0x800;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar6,"nodelete");\n      if (iVar3 == 0) {\n        DAT_0008cc74 = DAT_0008cc74 | 8;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar6,"nodlopen");\n      if (iVar3 == 0) {\n        DAT_0008cc74 = DAT_0008cc74 | 0x40;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar6,"nodump");\n      if (iVar3 == 0) {\n        DAT_0008cc74 = DAT_0008cc74 | 0x1000;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar6,"now");\n      if (iVar3 == 0) {\n        _DAT_0008cc70 = _DAT_0008cc70 | 8;\n        DAT_0008cc74 = DAT_0008cc74 | 1;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar6,"lazy");\n      if (iVar3 == 0) {\n        _DAT_0008cc70 = _DAT_0008cc70 & 0xfffffff7;\n        DAT_0008cc74 = DAT_0008cc74 & 0xfffffffe;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar6,"origin");\n      if (iVar3 == 0) {\n        _DAT_0008cc70 = _DAT_0008cc70 | 1;\n        DAT_0008cc74 = DAT_0008cc74 | 0x80;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar6,"combreloc");\n      if (iVar3 == 0) {\n        _DAT_0008cc04 = _DAT_0008cc04 | 0x40;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar6,"nocombreloc");\n      if (iVar3 == 0) {\n        _DAT_0008cc04 = _DAT_0008cc04 & 0xffffffbf;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar6,"nocopyreloc");\n      if (iVar3 == 0) {\n        DAT_0008cc00._0_1_ = (byte)DAT_0008cc00 | 8;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar6,"relro");\n      if (iVar3 == 0) {\n        DAT_0008cc00._2_2_ = DAT_0008cc00._2_2_ | 0x1000;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar6,"norelro");\n      if (iVar3 == 0) {\n        DAT_0008cc00._2_2_ = DAT_0008cc00._2_2_ & 0xefff;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar6,"separate-code");\n      if (iVar3 == 0) {\n        DAT_0008cc00._2_2_ = DAT_0008cc00._2_2_ | 0x2000;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar6,"noseparate-code");\n      if (iVar3 == 0) {\n        DAT_0008cc00._2_2_ = DAT_0008cc00._2_2_ & 0xdfff;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar6,"common");\n      if (iVar3 == 0) {\n        DAT_0008cc00._2_2_ = DAT_0008cc00._2_2_ & 0xfff9 | 2;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar6,"nocommon");\n      if (iVar3 == 0) {\n        DAT_0008cc00._2_2_ = DAT_0008cc00._2_2_ & 0xfff9 | 4;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar6,"text");\n      if (iVar3 == 0) {\n        _DAT_0008cc04 = _DAT_0008cc04 | 2;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar6,"notext");\n      if ((iVar3 == 0) || (iVar3 = strcmp((char *)pbVar6,"textoff"), iVar3 == 0)) {\n        _DAT_0008cc04 = _DAT_0008cc04 & 0xfffffffd;\n        return 1;\n      }\n      pcVar5 = "%P: warning: -z %s ignored\n";\n      goto LAB_0003606a;\n    }\n    DAT_0008cd64 = strtoul((char *)(pbVar6 + 0x11),local_20,0);\n    if ((*local_20[0] == '\0') && ((DAT_0008cd64 - 1 & DAT_0008cd64) == 0)) {\n      return 1;\n    }\n    pcVar5 = "%F%P: invalid common page size `%s\'\n";\n    __s1 = (char *)(*(int *)puVar1 + 0x11);\n  }\nLAB_00035f83:\n  uVar4 = dcgettext(0,pcVar5,5);\n  FUN_00031700(uVar4,__s1);\n  return 1;\n}" { (declaration "undefined *puVar1;" type_identifier (pointer_declarator "*puVar1" * identifier) ;) (declaration "undefined1 uVar2;" type_identifier identifier ;) (declaration "int iVar3;" primitive_type identifier ;) (declaration "undefined4 uVar4;" type_identifier identifier ;) (declaration "char *pcVar5;" primitive_type (pointer_declarator "*pcVar5" * identifier) ;) (declaration "byte *pbVar6;" type_identifier (pointer_declarator "*pbVar6" * identifier) ;) (declaration "char *__s1;" primitive_type (pointer_declarator "*__s1" * identifier) ;) (declaration "byte *pbVar7;" type_identifier (pointer_declarator "*pbVar7" * identifier) ;) (declaration "byte *pbVar8;" type_identifier (pointer_declarator "*pbVar8" * identifier) ;) (declaration "bool bVar9;" primitive_type identifier ;) (declaration "bool bVar10;" primitive_type identifier ;) (declaration "bool bVar11;" primitive_type identifier ;) (declaration "byte bVar12;" type_identifier identifier ;) (declaration "char *local_20 [3];" primitive_type (pointer_declarator "*local_20 [3]" * (array_declarator "local_20 [3]" identifier [ number_literal ])) ;) (declaration "undefined4 uStack_14;" type_identifier identifier ;) (expression_statement "puVar1 = PTR_optarg_0008bff4;" (assignment_expression "puVar1 = PTR_optarg_0008bff4" identifier = identifier) ;) (expression_statement "bVar12 = 0;" (assignment_expression "bVar12 = 0" identifier = number_literal) ;) (expression_statement "uStack_14 = 0x35ac9;" (assignment_expression "uStack_14 = 0x35ac9" identifier = number_literal) ;) (if_statement "if (param_1 == 0x193) {\n    DAT_0008cc00._2_2_ = DAT_0008cc00._2_2_ & 0x3fff | 0x4000;\n    return 1;\n  }" if (parenthesized_expression "(param_1 == 0x193)" ( (binary_expression "param_1 == 0x193" identifier == number_literal) )) (compound_statement "{\n    DAT_0008cc00._2_2_ = DAT_0008cc00._2_2_ & 0x3fff | 0x4000;\n    return 1;\n  }" { (expression_statement "DAT_0008cc00._2_2_ = DAT_0008cc00._2_2_ & 0x3fff | 0x4000;" (assignment_expression "DAT_0008cc00._2_2_ = DAT_0008cc00._2_2_ & 0x3fff | 0x4000" (field_expression "DAT_0008cc00._2_2_" identifier . field_identifier) = (binary_expression "DAT_0008cc00._2_2_ & 0x3fff | 0x4000" (binary_expression "DAT_0008cc00._2_2_ & 0x3fff" (field_expression "DAT_0008cc00._2_2_" identifier . field_identifier) & number_literal) | number_literal)) ;) (return_statement "return 1;" return number_literal ;) })) (expression_statement "uVar2 = DAT_0008cc04;" (assignment_expression "uVar2 = DAT_0008cc04" identifier = identifier) ;) (if_statement "if (0x193 < (int)param_1) {\n    if (param_1 != 0x196) {\n      if ((int)param_1 < 0x197) {\n        if (param_1 == 0x194) {\n          DAT_0008cc00._2_2_ = DAT_0008cc00._2_2_ & 0x3fff;\n          return 1;\n        }\n        if (param_1 != 0x195) {\n          return 0;\n        }\n        FUN_00024120(*(undefined4 *)PTR_optarg_0008bff4);\n        return 1;\n      }\n      if (param_1 == 0x198) {\n        FUN_000359c0();\n        return 1;\n      }\n      if ((int)param_1 < 0x198) {\n        if (DAT_0008ca2c != (void *)0x0) {\n          free(DAT_0008ca2c);\n          DAT_0008ca2c = (void *)0x0;\n        }\n        pbVar6 = *(byte **)PTR_optarg_0008bff4;\n        bVar9 = false;\n        bVar11 = pbVar6 == (byte *)0x0;\n        if (bVar11) {\n          pbVar6 = &DAT_0004f1e8;\n          *(undefined1 **)PTR_optarg_0008bff4 = &DAT_0004f1e8;\n        }\n        else {\n          iVar3 = 5;\n          pbVar7 = pbVar6;\n          pbVar8 = (byte *)0x4ab38;\n          do {\n            if (iVar3 == 0) break;\n            iVar3 = iVar3 + -1;\n            bVar9 = *pbVar7 < *pbVar8;\n            bVar11 = *pbVar7 == *pbVar8;\n            pbVar7 = pbVar7 + (uint)bVar12 * -2 + 1;\n            pbVar8 = pbVar8 + (uint)bVar12 * -2 + 1;\n          } while (bVar11);\n          if ((!bVar9 && !bVar11) == bVar9) {\n            return 1;\n          }\n        }\n        DAT_0008ca2c = (void *)xstrdup(pbVar6);\n        return 1;\n      }\n      if (param_1 != 0x199) {\n        return 0;\n      }\n      __s1 = *(char **)PTR_optarg_0008bff4;\n      iVar3 = strcasecmp(__s1,"none");\n      if (iVar3 == 0) {\n        DAT_0008cc0c = 0;\n        return 1;\n      }\n      iVar3 = strcasecmp(__s1,"zlib");\n      if (iVar3 != 0) {\n        iVar3 = strcasecmp(__s1,"zlib-gnu");\n        if (iVar3 == 0) {\n          DAT_0008cc0c = 3;\n          return 1;\n        }\n        iVar3 = strcasecmp(__s1,"zlib-gabi");\n        if (iVar3 != 0) {\n          pcVar5 = "%F%P: invalid --compress-debug-sections option: `%s\'\n";\n          goto LAB_00035f83;\n        }\n      }\n      DAT_0008cc0c = 5;\n      return 1;\n    }\n    pbVar6 = *(byte **)PTR_optarg_0008bff4;\n    iVar3 = 5;\n    bVar9 = false;\n    bVar11 = (_DAT_0008cc04 & 0xf3) == 0;\n    _DAT_0008cc04 = _DAT_0008cc04 & 0xfffffff3;\n    pbVar7 = pbVar6;\n    pbVar8 = &DAT_0007ac19;\n    do {\n      if (iVar3 == 0) break;\n      iVar3 = iVar3 + -1;\n      bVar9 = *pbVar7 < *pbVar8;\n      bVar11 = *pbVar7 == *pbVar8;\n      pbVar7 = pbVar7 + 1;\n      pbVar8 = pbVar8 + 1;\n    } while (bVar11);\n    bVar10 = false;\n    bVar9 = (!bVar9 && !bVar11) == bVar9;\n    if (bVar9) {\n      _DAT_0008cc04 = CONCAT31(_DAT_0008cc05,uVar2) & 0xfffffff3 | 4;\n      return 1;\n    }\n    iVar3 = 4;\n    pbVar7 = pbVar6;\n    pbVar8 = &DAT_0007ac0b;\n    do {\n      if (iVar3 == 0) break;\n      iVar3 = iVar3 + -1;\n      bVar10 = *pbVar7 < *pbVar8;\n      bVar9 = *pbVar7 == *pbVar8;\n      pbVar7 = pbVar7 + 1;\n      pbVar8 = pbVar8 + 1;\n    } while (bVar9);\n    bVar11 = false;\n    bVar9 = (!bVar10 && !bVar9) == bVar10;\n    if (bVar9) {\n      _DAT_0008cc04 = CONCAT31(_DAT_0008cc05,uVar2) & 0xfffffff3 | 8;\n      return 1;\n    }\n    iVar3 = 5;\n    pbVar7 = pbVar6;\n    pbVar8 = &DAT_0007ac1e;\n    do {\n      if (iVar3 == 0) break;\n      iVar3 = iVar3 + -1;\n      bVar11 = *pbVar7 < *pbVar8;\n      bVar9 = *pbVar7 == *pbVar8;\n      pbVar7 = pbVar7 + 1;\n      pbVar8 = pbVar8 + 1;\n    } while (bVar9);\n    if ((!bVar11 && !bVar9) == bVar11) {\n      _DAT_0008cc04 = CONCAT31(_DAT_0008cc05,uVar2) & 0xfffffff3 | 0xc;\n      return 1;\n    }\n    pcVar5 = "%F%P: invalid hash style `%s\'\n";\nLAB_0003606a:\n    uVar4 = dcgettext(0,pcVar5,5);\n    FUN_00031700(uVar4,pbVar6);\n    return 1;\n  }" if (parenthesized_expression "(0x193 < (int)param_1)" ( (binary_expression "0x193 < (int)param_1" number_literal < (cast_expression "(int)param_1" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n    if (param_1 != 0x196) {\n      if ((int)param_1 < 0x197) {\n        if (param_1 == 0x194) {\n          DAT_0008cc00._2_2_ = DAT_0008cc00._2_2_ & 0x3fff;\n          return 1;\n        }\n        if (param_1 != 0x195) {\n          return 0;\n        }\n        FUN_00024120(*(undefined4 *)PTR_optarg_0008bff4);\n        return 1;\n      }\n      if (param_1 == 0x198) {\n        FUN_000359c0();\n        return 1;\n      }\n      if ((int)param_1 < 0x198) {\n        if (DAT_0008ca2c != (void *)0x0) {\n          free(DAT_0008ca2c);\n          DAT_0008ca2c = (void *)0x0;\n        }\n        pbVar6 = *(byte **)PTR_optarg_0008bff4;\n        bVar9 = false;\n        bVar11 = pbVar6 == (byte *)0x0;\n        if (bVar11) {\n          pbVar6 = &DAT_0004f1e8;\n          *(undefined1 **)PTR_optarg_0008bff4 = &DAT_0004f1e8;\n        }\n        else {\n          iVar3 = 5;\n          pbVar7 = pbVar6;\n          pbVar8 = (byte *)0x4ab38;\n          do {\n            if (iVar3 == 0) break;\n            iVar3 = iVar3 + -1;\n            bVar9 = *pbVar7 < *pbVar8;\n            bVar11 = *pbVar7 == *pbVar8;\n            pbVar7 = pbVar7 + (uint)bVar12 * -2 + 1;\n            pbVar8 = pbVar8 + (uint)bVar12 * -2 + 1;\n          } while (bVar11);\n          if ((!bVar9 && !bVar11) == bVar9) {\n            return 1;\n          }\n        }\n        DAT_0008ca2c = (void *)xstrdup(pbVar6);\n        return 1;\n      }\n      if (param_1 != 0x199) {\n        return 0;\n      }\n      __s1 = *(char **)PTR_optarg_0008bff4;\n      iVar3 = strcasecmp(__s1,"none");\n      if (iVar3 == 0) {\n        DAT_0008cc0c = 0;\n        return 1;\n      }\n      iVar3 = strcasecmp(__s1,"zlib");\n      if (iVar3 != 0) {\n        iVar3 = strcasecmp(__s1,"zlib-gnu");\n        if (iVar3 == 0) {\n          DAT_0008cc0c = 3;\n          return 1;\n        }\n        iVar3 = strcasecmp(__s1,"zlib-gabi");\n        if (iVar3 != 0) {\n          pcVar5 = "%F%P: invalid --compress-debug-sections option: `%s\'\n";\n          goto LAB_00035f83;\n        }\n      }\n      DAT_0008cc0c = 5;\n      return 1;\n    }\n    pbVar6 = *(byte **)PTR_optarg_0008bff4;\n    iVar3 = 5;\n    bVar9 = false;\n    bVar11 = (_DAT_0008cc04 & 0xf3) == 0;\n    _DAT_0008cc04 = _DAT_0008cc04 & 0xfffffff3;\n    pbVar7 = pbVar6;\n    pbVar8 = &DAT_0007ac19;\n    do {\n      if (iVar3 == 0) break;\n      iVar3 = iVar3 + -1;\n      bVar9 = *pbVar7 < *pbVar8;\n      bVar11 = *pbVar7 == *pbVar8;\n      pbVar7 = pbVar7 + 1;\n      pbVar8 = pbVar8 + 1;\n    } while (bVar11);\n    bVar10 = false;\n    bVar9 = (!bVar9 && !bVar11) == bVar9;\n    if (bVar9) {\n      _DAT_0008cc04 = CONCAT31(_DAT_0008cc05,uVar2) & 0xfffffff3 | 4;\n      return 1;\n    }\n    iVar3 = 4;\n    pbVar7 = pbVar6;\n    pbVar8 = &DAT_0007ac0b;\n    do {\n      if (iVar3 == 0) break;\n      iVar3 = iVar3 + -1;\n      bVar10 = *pbVar7 < *pbVar8;\n      bVar9 = *pbVar7 == *pbVar8;\n      pbVar7 = pbVar7 + 1;\n      pbVar8 = pbVar8 + 1;\n    } while (bVar9);\n    bVar11 = false;\n    bVar9 = (!bVar10 && !bVar9) == bVar10;\n    if (bVar9) {\n      _DAT_0008cc04 = CONCAT31(_DAT_0008cc05,uVar2) & 0xfffffff3 | 8;\n      return 1;\n    }\n    iVar3 = 5;\n    pbVar7 = pbVar6;\n    pbVar8 = &DAT_0007ac1e;\n    do {\n      if (iVar3 == 0) break;\n      iVar3 = iVar3 + -1;\n      bVar11 = *pbVar7 < *pbVar8;\n      bVar9 = *pbVar7 == *pbVar8;\n      pbVar7 = pbVar7 + 1;\n      pbVar8 = pbVar8 + 1;\n    } while (bVar9);\n    if ((!bVar11 && !bVar9) == bVar11) {\n      _DAT_0008cc04 = CONCAT31(_DAT_0008cc05,uVar2) & 0xfffffff3 | 0xc;\n      return 1;\n    }\n    pcVar5 = "%F%P: invalid hash style `%s\'\n";\nLAB_0003606a:\n    uVar4 = dcgettext(0,pcVar5,5);\n    FUN_00031700(uVar4,pbVar6);\n    return 1;\n  }" { (if_statement "if (param_1 != 0x196) {\n      if ((int)param_1 < 0x197) {\n        if (param_1 == 0x194) {\n          DAT_0008cc00._2_2_ = DAT_0008cc00._2_2_ & 0x3fff;\n          return 1;\n        }\n        if (param_1 != 0x195) {\n          return 0;\n        }\n        FUN_00024120(*(undefined4 *)PTR_optarg_0008bff4);\n        return 1;\n      }\n      if (param_1 == 0x198) {\n        FUN_000359c0();\n        return 1;\n      }\n      if ((int)param_1 < 0x198) {\n        if (DAT_0008ca2c != (void *)0x0) {\n          free(DAT_0008ca2c);\n          DAT_0008ca2c = (void *)0x0;\n        }\n        pbVar6 = *(byte **)PTR_optarg_0008bff4;\n        bVar9 = false;\n        bVar11 = pbVar6 == (byte *)0x0;\n        if (bVar11) {\n          pbVar6 = &DAT_0004f1e8;\n          *(undefined1 **)PTR_optarg_0008bff4 = &DAT_0004f1e8;\n        }\n        else {\n          iVar3 = 5;\n          pbVar7 = pbVar6;\n          pbVar8 = (byte *)0x4ab38;\n          do {\n            if (iVar3 == 0) break;\n            iVar3 = iVar3 + -1;\n            bVar9 = *pbVar7 < *pbVar8;\n            bVar11 = *pbVar7 == *pbVar8;\n            pbVar7 = pbVar7 + (uint)bVar12 * -2 + 1;\n            pbVar8 = pbVar8 + (uint)bVar12 * -2 + 1;\n          } while (bVar11);\n          if ((!bVar9 && !bVar11) == bVar9) {\n            return 1;\n          }\n        }\n        DAT_0008ca2c = (void *)xstrdup(pbVar6);\n        return 1;\n      }\n      if (param_1 != 0x199) {\n        return 0;\n      }\n      __s1 = *(char **)PTR_optarg_0008bff4;\n      iVar3 = strcasecmp(__s1,"none");\n      if (iVar3 == 0) {\n        DAT_0008cc0c = 0;\n        return 1;\n      }\n      iVar3 = strcasecmp(__s1,"zlib");\n      if (iVar3 != 0) {\n        iVar3 = strcasecmp(__s1,"zlib-gnu");\n        if (iVar3 == 0) {\n          DAT_0008cc0c = 3;\n          return 1;\n        }\n        iVar3 = strcasecmp(__s1,"zlib-gabi");\n        if (iVar3 != 0) {\n          pcVar5 = "%F%P: invalid --compress-debug-sections option: `%s\'\n";\n          goto LAB_00035f83;\n        }\n      }\n      DAT_0008cc0c = 5;\n      return 1;\n    }" if (parenthesized_expression "(param_1 != 0x196)" ( (binary_expression "param_1 != 0x196" identifier != number_literal) )) (compound_statement "{\n      if ((int)param_1 < 0x197) {\n        if (param_1 == 0x194) {\n          DAT_0008cc00._2_2_ = DAT_0008cc00._2_2_ & 0x3fff;\n          return 1;\n        }\n        if (param_1 != 0x195) {\n          return 0;\n        }\n        FUN_00024120(*(undefined4 *)PTR_optarg_0008bff4);\n        return 1;\n      }\n      if (param_1 == 0x198) {\n        FUN_000359c0();\n        return 1;\n      }\n      if ((int)param_1 < 0x198) {\n        if (DAT_0008ca2c != (void *)0x0) {\n          free(DAT_0008ca2c);\n          DAT_0008ca2c = (void *)0x0;\n        }\n        pbVar6 = *(byte **)PTR_optarg_0008bff4;\n        bVar9 = false;\n        bVar11 = pbVar6 == (byte *)0x0;\n        if (bVar11) {\n          pbVar6 = &DAT_0004f1e8;\n          *(undefined1 **)PTR_optarg_0008bff4 = &DAT_0004f1e8;\n        }\n        else {\n          iVar3 = 5;\n          pbVar7 = pbVar6;\n          pbVar8 = (byte *)0x4ab38;\n          do {\n            if (iVar3 == 0) break;\n            iVar3 = iVar3 + -1;\n            bVar9 = *pbVar7 < *pbVar8;\n            bVar11 = *pbVar7 == *pbVar8;\n            pbVar7 = pbVar7 + (uint)bVar12 * -2 + 1;\n            pbVar8 = pbVar8 + (uint)bVar12 * -2 + 1;\n          } while (bVar11);\n          if ((!bVar9 && !bVar11) == bVar9) {\n            return 1;\n          }\n        }\n        DAT_0008ca2c = (void *)xstrdup(pbVar6);\n        return 1;\n      }\n      if (param_1 != 0x199) {\n        return 0;\n      }\n      __s1 = *(char **)PTR_optarg_0008bff4;\n      iVar3 = strcasecmp(__s1,"none");\n      if (iVar3 == 0) {\n        DAT_0008cc0c = 0;\n        return 1;\n      }\n      iVar3 = strcasecmp(__s1,"zlib");\n      if (iVar3 != 0) {\n        iVar3 = strcasecmp(__s1,"zlib-gnu");\n        if (iVar3 == 0) {\n          DAT_0008cc0c = 3;\n          return 1;\n        }\n        iVar3 = strcasecmp(__s1,"zlib-gabi");\n        if (iVar3 != 0) {\n          pcVar5 = "%F%P: invalid --compress-debug-sections option: `%s\'\n";\n          goto LAB_00035f83;\n        }\n      }\n      DAT_0008cc0c = 5;\n      return 1;\n    }" { (if_statement "if ((int)param_1 < 0x197) {\n        if (param_1 == 0x194) {\n          DAT_0008cc00._2_2_ = DAT_0008cc00._2_2_ & 0x3fff;\n          return 1;\n        }\n        if (param_1 != 0x195) {\n          return 0;\n        }\n        FUN_00024120(*(undefined4 *)PTR_optarg_0008bff4);\n        return 1;\n      }" if (parenthesized_expression "((int)param_1 < 0x197)" ( (binary_expression "(int)param_1 < 0x197" (cast_expression "(int)param_1" ( (type_descriptor "int" primitive_type) ) identifier) < number_literal) )) (compound_statement "{\n        if (param_1 == 0x194) {\n          DAT_0008cc00._2_2_ = DAT_0008cc00._2_2_ & 0x3fff;\n          return 1;\n        }\n        if (param_1 != 0x195) {\n          return 0;\n        }\n        FUN_00024120(*(undefined4 *)PTR_optarg_0008bff4);\n        return 1;\n      }" { (if_statement "if (param_1 == 0x194) {\n          DAT_0008cc00._2_2_ = DAT_0008cc00._2_2_ & 0x3fff;\n          return 1;\n        }" if (parenthesized_expression "(param_1 == 0x194)" ( (binary_expression "param_1 == 0x194" identifier == number_literal) )) (compound_statement "{\n          DAT_0008cc00._2_2_ = DAT_0008cc00._2_2_ & 0x3fff;\n          return 1;\n        }" { (expression_statement "DAT_0008cc00._2_2_ = DAT_0008cc00._2_2_ & 0x3fff;" (assignment_expression "DAT_0008cc00._2_2_ = DAT_0008cc00._2_2_ & 0x3fff" (field_expression "DAT_0008cc00._2_2_" identifier . field_identifier) = (binary_expression "DAT_0008cc00._2_2_ & 0x3fff" (field_expression "DAT_0008cc00._2_2_" identifier . field_identifier) & number_literal)) ;) (return_statement "return 1;" return number_literal ;) })) (if_statement "if (param_1 != 0x195) {\n          return 0;\n        }" if (parenthesized_expression "(param_1 != 0x195)" ( (binary_expression "param_1 != 0x195" identifier != number_literal) )) (compound_statement "{\n          return 0;\n        }" { (return_statement "return 0;" return number_literal ;) })) (expression_statement "FUN_00024120(*(undefined4 *)PTR_optarg_0008bff4);" (call_expression "FUN_00024120(*(undefined4 *)PTR_optarg_0008bff4)" identifier (argument_list "(*(undefined4 *)PTR_optarg_0008bff4)" ( (pointer_expression "*(undefined4 *)PTR_optarg_0008bff4" * (cast_expression "(undefined4 *)PTR_optarg_0008bff4" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ))) ;) (return_statement "return 1;" return number_literal ;) })) (if_statement "if (param_1 == 0x198) {\n        FUN_000359c0();\n        return 1;\n      }" if (parenthesized_expression "(param_1 == 0x198)" ( (binary_expression "param_1 == 0x198" identifier == number_literal) )) (compound_statement "{\n        FUN_000359c0();\n        return 1;\n      }" { (expression_statement "FUN_000359c0();" (call_expression "FUN_000359c0()" identifier (argument_list "()" ( ))) ;) (return_statement "return 1;" return number_literal ;) })) (if_statement "if ((int)param_1 < 0x198) {\n        if (DAT_0008ca2c != (void *)0x0) {\n          free(DAT_0008ca2c);\n          DAT_0008ca2c = (void *)0x0;\n        }\n        pbVar6 = *(byte **)PTR_optarg_0008bff4;\n        bVar9 = false;\n        bVar11 = pbVar6 == (byte *)0x0;\n        if (bVar11) {\n          pbVar6 = &DAT_0004f1e8;\n          *(undefined1 **)PTR_optarg_0008bff4 = &DAT_0004f1e8;\n        }\n        else {\n          iVar3 = 5;\n          pbVar7 = pbVar6;\n          pbVar8 = (byte *)0x4ab38;\n          do {\n            if (iVar3 == 0) break;\n            iVar3 = iVar3 + -1;\n            bVar9 = *pbVar7 < *pbVar8;\n            bVar11 = *pbVar7 == *pbVar8;\n            pbVar7 = pbVar7 + (uint)bVar12 * -2 + 1;\n            pbVar8 = pbVar8 + (uint)bVar12 * -2 + 1;\n          } while (bVar11);\n          if ((!bVar9 && !bVar11) == bVar9) {\n            return 1;\n          }\n        }\n        DAT_0008ca2c = (void *)xstrdup(pbVar6);\n        return 1;\n      }" if (parenthesized_expression "((int)param_1 < 0x198)" ( (binary_expression "(int)param_1 < 0x198" (cast_expression "(int)param_1" ( (type_descriptor "int" primitive_type) ) identifier) < number_literal) )) (compound_statement "{\n        if (DAT_0008ca2c != (void *)0x0) {\n          free(DAT_0008ca2c);\n          DAT_0008ca2c = (void *)0x0;\n        }\n        pbVar6 = *(byte **)PTR_optarg_0008bff4;\n        bVar9 = false;\n        bVar11 = pbVar6 == (byte *)0x0;\n        if (bVar11) {\n          pbVar6 = &DAT_0004f1e8;\n          *(undefined1 **)PTR_optarg_0008bff4 = &DAT_0004f1e8;\n        }\n        else {\n          iVar3 = 5;\n          pbVar7 = pbVar6;\n          pbVar8 = (byte *)0x4ab38;\n          do {\n            if (iVar3 == 0) break;\n            iVar3 = iVar3 + -1;\n            bVar9 = *pbVar7 < *pbVar8;\n            bVar11 = *pbVar7 == *pbVar8;\n            pbVar7 = pbVar7 + (uint)bVar12 * -2 + 1;\n            pbVar8 = pbVar8 + (uint)bVar12 * -2 + 1;\n          } while (bVar11);\n          if ((!bVar9 && !bVar11) == bVar9) {\n            return 1;\n          }\n        }\n        DAT_0008ca2c = (void *)xstrdup(pbVar6);\n        return 1;\n      }" { (if_statement "if (DAT_0008ca2c != (void *)0x0) {\n          free(DAT_0008ca2c);\n          DAT_0008ca2c = (void *)0x0;\n        }" if (parenthesized_expression "(DAT_0008ca2c != (void *)0x0)" ( (binary_expression "DAT_0008ca2c != (void *)0x0" identifier != (cast_expression "(void *)0x0" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n          free(DAT_0008ca2c);\n          DAT_0008ca2c = (void *)0x0;\n        }" { (expression_statement "free(DAT_0008ca2c);" (call_expression "free(DAT_0008ca2c)" identifier (argument_list "(DAT_0008ca2c)" ( identifier ))) ;) (expression_statement "DAT_0008ca2c = (void *)0x0;" (assignment_expression "DAT_0008ca2c = (void *)0x0" identifier = (cast_expression "(void *)0x0" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) })) (expression_statement "pbVar6 = *(byte **)PTR_optarg_0008bff4;" (assignment_expression "pbVar6 = *(byte **)PTR_optarg_0008bff4" identifier = (pointer_expression "*(byte **)PTR_optarg_0008bff4" * (cast_expression "(byte **)PTR_optarg_0008bff4" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier))) ;) (expression_statement "bVar9 = false;" (assignment_expression "bVar9 = false" identifier = false) ;) (expression_statement "bVar11 = pbVar6 == (byte *)0x0;" (assignment_expression "bVar11 = pbVar6 == (byte *)0x0" identifier = (binary_expression "pbVar6 == (byte *)0x0" identifier == (cast_expression "(byte *)0x0" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal))) ;) (if_statement "if (bVar11) {\n          pbVar6 = &DAT_0004f1e8;\n          *(undefined1 **)PTR_optarg_0008bff4 = &DAT_0004f1e8;\n        }\n        else {\n          iVar3 = 5;\n          pbVar7 = pbVar6;\n          pbVar8 = (byte *)0x4ab38;\n          do {\n            if (iVar3 == 0) break;\n            iVar3 = iVar3 + -1;\n            bVar9 = *pbVar7 < *pbVar8;\n            bVar11 = *pbVar7 == *pbVar8;\n            pbVar7 = pbVar7 + (uint)bVar12 * -2 + 1;\n            pbVar8 = pbVar8 + (uint)bVar12 * -2 + 1;\n          } while (bVar11);\n          if ((!bVar9 && !bVar11) == bVar9) {\n            return 1;\n          }\n        }" if (parenthesized_expression "(bVar11)" ( identifier )) (compound_statement "{\n          pbVar6 = &DAT_0004f1e8;\n          *(undefined1 **)PTR_optarg_0008bff4 = &DAT_0004f1e8;\n        }" { (expression_statement "pbVar6 = &DAT_0004f1e8;" (assignment_expression "pbVar6 = &DAT_0004f1e8" identifier = (pointer_expression "&DAT_0004f1e8" & identifier)) ;) (expression_statement "*(undefined1 **)PTR_optarg_0008bff4 = &DAT_0004f1e8;" (assignment_expression "*(undefined1 **)PTR_optarg_0008bff4 = &DAT_0004f1e8" (pointer_expression "*(undefined1 **)PTR_optarg_0008bff4" * (cast_expression "(undefined1 **)PTR_optarg_0008bff4" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier)) = (pointer_expression "&DAT_0004f1e8" & identifier)) ;) }) (else_clause "else {\n          iVar3 = 5;\n          pbVar7 = pbVar6;\n          pbVar8 = (byte *)0x4ab38;\n          do {\n            if (iVar3 == 0) break;\n            iVar3 = iVar3 + -1;\n            bVar9 = *pbVar7 < *pbVar8;\n            bVar11 = *pbVar7 == *pbVar8;\n            pbVar7 = pbVar7 + (uint)bVar12 * -2 + 1;\n            pbVar8 = pbVar8 + (uint)bVar12 * -2 + 1;\n          } while (bVar11);\n          if ((!bVar9 && !bVar11) == bVar9) {\n            return 1;\n          }\n        }" else (compound_statement "{\n          iVar3 = 5;\n          pbVar7 = pbVar6;\n          pbVar8 = (byte *)0x4ab38;\n          do {\n            if (iVar3 == 0) break;\n            iVar3 = iVar3 + -1;\n            bVar9 = *pbVar7 < *pbVar8;\n            bVar11 = *pbVar7 == *pbVar8;\n            pbVar7 = pbVar7 + (uint)bVar12 * -2 + 1;\n            pbVar8 = pbVar8 + (uint)bVar12 * -2 + 1;\n          } while (bVar11);\n          if ((!bVar9 && !bVar11) == bVar9) {\n            return 1;\n          }\n        }" { (expression_statement "iVar3 = 5;" (assignment_expression "iVar3 = 5" identifier = number_literal) ;) (expression_statement "pbVar7 = pbVar6;" (assignment_expression "pbVar7 = pbVar6" identifier = identifier) ;) (expression_statement "pbVar8 = (byte *)0x4ab38;" (assignment_expression "pbVar8 = (byte *)0x4ab38" identifier = (cast_expression "(byte *)0x4ab38" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (do_statement "do {\n            if (iVar3 == 0) break;\n            iVar3 = iVar3 + -1;\n            bVar9 = *pbVar7 < *pbVar8;\n            bVar11 = *pbVar7 == *pbVar8;\n            pbVar7 = pbVar7 + (uint)bVar12 * -2 + 1;\n            pbVar8 = pbVar8 + (uint)bVar12 * -2 + 1;\n          } while (bVar11);" do (compound_statement "{\n            if (iVar3 == 0) break;\n            iVar3 = iVar3 + -1;\n            bVar9 = *pbVar7 < *pbVar8;\n            bVar11 = *pbVar7 == *pbVar8;\n            pbVar7 = pbVar7 + (uint)bVar12 * -2 + 1;\n            pbVar8 = pbVar8 + (uint)bVar12 * -2 + 1;\n          }" { (if_statement "if (iVar3 == 0) break;" if (parenthesized_expression "(iVar3 == 0)" ( (binary_expression "iVar3 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "iVar3 = iVar3 + -1;" (assignment_expression "iVar3 = iVar3 + -1" identifier = (binary_expression "iVar3 + -1" identifier + number_literal)) ;) (expression_statement "bVar9 = *pbVar7 < *pbVar8;" (assignment_expression "bVar9 = *pbVar7 < *pbVar8" identifier = (binary_expression "*pbVar7 < *pbVar8" (pointer_expression "*pbVar7" * identifier) < (pointer_expression "*pbVar8" * identifier))) ;) (expression_statement "bVar11 = *pbVar7 == *pbVar8;" (assignment_expression "bVar11 = *pbVar7 == *pbVar8" identifier = (binary_expression "*pbVar7 == *pbVar8" (pointer_expression "*pbVar7" * identifier) == (pointer_expression "*pbVar8" * identifier))) ;) (expression_statement "pbVar7 = pbVar7 + (uint)bVar12 * -2 + 1;" (assignment_expression "pbVar7 = pbVar7 + (uint)bVar12 * -2 + 1" identifier = (binary_expression "pbVar7 + (uint)bVar12 * -2 + 1" (binary_expression "pbVar7 + (uint)bVar12 * -2" identifier + (binary_expression "(uint)bVar12 * -2" (cast_expression "(uint)bVar12" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) (expression_statement "pbVar8 = pbVar8 + (uint)bVar12 * -2 + 1;" (assignment_expression "pbVar8 = pbVar8 + (uint)bVar12 * -2 + 1" identifier = (binary_expression "pbVar8 + (uint)bVar12 * -2 + 1" (binary_expression "pbVar8 + (uint)bVar12 * -2" identifier + (binary_expression "(uint)bVar12 * -2" (cast_expression "(uint)bVar12" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) }) while (parenthesized_expression "(bVar11)" ( identifier )) ;) (if_statement "if ((!bVar9 && !bVar11) == bVar9) {\n            return 1;\n          }" if (parenthesized_expression "((!bVar9 && !bVar11) == bVar9)" ( (binary_expression "(!bVar9 && !bVar11) == bVar9" (parenthesized_expression "(!bVar9 && !bVar11)" ( (binary_expression "!bVar9 && !bVar11" (unary_expression "!bVar9" ! identifier) && (unary_expression "!bVar11" ! identifier)) )) == identifier) )) (compound_statement "{\n            return 1;\n          }" { (return_statement "return 1;" return number_literal ;) })) }))) (expression_statement "DAT_0008ca2c = (void *)xstrdup(pbVar6);" (assignment_expression "DAT_0008ca2c = (void *)xstrdup(pbVar6)" identifier = (cast_expression "(void *)xstrdup(pbVar6)" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "xstrdup(pbVar6)" identifier (argument_list "(pbVar6)" ( identifier ))))) ;) (return_statement "return 1;" return number_literal ;) })) (if_statement "if (param_1 != 0x199) {\n        return 0;\n      }" if (parenthesized_expression "(param_1 != 0x199)" ( (binary_expression "param_1 != 0x199" identifier != number_literal) )) (compound_statement "{\n        return 0;\n      }" { (return_statement "return 0;" return number_literal ;) })) (expression_statement "__s1 = *(char **)PTR_optarg_0008bff4;" (assignment_expression "__s1 = *(char **)PTR_optarg_0008bff4" identifier = (pointer_expression "*(char **)PTR_optarg_0008bff4" * (cast_expression "(char **)PTR_optarg_0008bff4" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier))) ;) (expression_statement "iVar3 = strcasecmp(__s1,"none");" (assignment_expression "iVar3 = strcasecmp(__s1,"none")" identifier = (call_expression "strcasecmp(__s1,"none")" identifier (argument_list "(__s1,"none")" ( identifier , (string_literal ""none"" " string_content ") )))) ;) (if_statement "if (iVar3 == 0) {\n        DAT_0008cc0c = 0;\n        return 1;\n      }" if (parenthesized_expression "(iVar3 == 0)" ( (binary_expression "iVar3 == 0" identifier == number_literal) )) (compound_statement "{\n        DAT_0008cc0c = 0;\n        return 1;\n      }" { (expression_statement "DAT_0008cc0c = 0;" (assignment_expression "DAT_0008cc0c = 0" identifier = number_literal) ;) (return_statement "return 1;" return number_literal ;) })) (expression_statement "iVar3 = strcasecmp(__s1,"zlib");" (assignment_expression "iVar3 = strcasecmp(__s1,"zlib")" identifier = (call_expression "strcasecmp(__s1,"zlib")" identifier (argument_list "(__s1,"zlib")" ( identifier , (string_literal ""zlib"" " string_content ") )))) ;) (if_statement "if (iVar3 != 0) {\n        iVar3 = strcasecmp(__s1,"zlib-gnu");\n        if (iVar3 == 0) {\n          DAT_0008cc0c = 3;\n          return 1;\n        }\n        iVar3 = strcasecmp(__s1,"zlib-gabi");\n        if (iVar3 != 0) {\n          pcVar5 = "%F%P: invalid --compress-debug-sections option: `%s\'\n";\n          goto LAB_00035f83;\n        }\n      }" if (parenthesized_expression "(iVar3 != 0)" ( (binary_expression "iVar3 != 0" identifier != number_literal) )) (compound_statement "{\n        iVar3 = strcasecmp(__s1,"zlib-gnu");\n        if (iVar3 == 0) {\n          DAT_0008cc0c = 3;\n          return 1;\n        }\n        iVar3 = strcasecmp(__s1,"zlib-gabi");\n        if (iVar3 != 0) {\n          pcVar5 = "%F%P: invalid --compress-debug-sections option: `%s\'\n";\n          goto LAB_00035f83;\n        }\n      }" { (expression_statement "iVar3 = strcasecmp(__s1,"zlib-gnu");" (assignment_expression "iVar3 = strcasecmp(__s1,"zlib-gnu")" identifier = (call_expression "strcasecmp(__s1,"zlib-gnu")" identifier (argument_list "(__s1,"zlib-gnu")" ( identifier , (string_literal ""zlib-gnu"" " string_content ") )))) ;) (if_statement "if (iVar3 == 0) {\n          DAT_0008cc0c = 3;\n          return 1;\n        }" if (parenthesized_expression "(iVar3 == 0)" ( (binary_expression "iVar3 == 0" identifier == number_literal) )) (compound_statement "{\n          DAT_0008cc0c = 3;\n          return 1;\n        }" { (expression_statement "DAT_0008cc0c = 3;" (assignment_expression "DAT_0008cc0c = 3" identifier = number_literal) ;) (return_statement "return 1;" return number_literal ;) })) (expression_statement "iVar3 = strcasecmp(__s1,"zlib-gabi");" (assignment_expression "iVar3 = strcasecmp(__s1,"zlib-gabi")" identifier = (call_expression "strcasecmp(__s1,"zlib-gabi")" identifier (argument_list "(__s1,"zlib-gabi")" ( identifier , (string_literal ""zlib-gabi"" " string_content ") )))) ;) (if_statement "if (iVar3 != 0) {\n          pcVar5 = "%F%P: invalid --compress-debug-sections option: `%s\'\n";\n          goto LAB_00035f83;\n        }" if (parenthesized_expression "(iVar3 != 0)" ( (binary_expression "iVar3 != 0" identifier != number_literal) )) (compound_statement "{\n          pcVar5 = "%F%P: invalid --compress-debug-sections option: `%s\'\n";\n          goto LAB_00035f83;\n        }" { (expression_statement "pcVar5 = "%F%P: invalid --compress-debug-sections option: `%s\'\n";" (assignment_expression "pcVar5 = "%F%P: invalid --compress-debug-sections option: `%s\'\n"" identifier = (string_literal ""%F%P: invalid --compress-debug-sections option: `%s\'\n"" " string_content escape_sequence escape_sequence ")) ;) (goto_statement "goto LAB_00035f83;" goto statement_identifier ;) })) })) (expression_statement "DAT_0008cc0c = 5;" (assignment_expression "DAT_0008cc0c = 5" identifier = number_literal) ;) (return_statement "return 1;" return number_literal ;) })) (expression_statement "pbVar6 = *(byte **)PTR_optarg_0008bff4;" (assignment_expression "pbVar6 = *(byte **)PTR_optarg_0008bff4" identifier = (pointer_expression "*(byte **)PTR_optarg_0008bff4" * (cast_expression "(byte **)PTR_optarg_0008bff4" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier))) ;) (expression_statement "iVar3 = 5;" (assignment_expression "iVar3 = 5" identifier = number_literal) ;) (expression_statement "bVar9 = false;" (assignment_expression "bVar9 = false" identifier = false) ;) (expression_statement "bVar11 = (_DAT_0008cc04 & 0xf3) == 0;" (assignment_expression "bVar11 = (_DAT_0008cc04 & 0xf3) == 0" identifier = (binary_expression "(_DAT_0008cc04 & 0xf3) == 0" (parenthesized_expression "(_DAT_0008cc04 & 0xf3)" ( (binary_expression "_DAT_0008cc04 & 0xf3" identifier & number_literal) )) == number_literal)) ;) (expression_statement "_DAT_0008cc04 = _DAT_0008cc04 & 0xfffffff3;" (assignment_expression "_DAT_0008cc04 = _DAT_0008cc04 & 0xfffffff3" identifier = (binary_expression "_DAT_0008cc04 & 0xfffffff3" identifier & number_literal)) ;) (expression_statement "pbVar7 = pbVar6;" (assignment_expression "pbVar7 = pbVar6" identifier = identifier) ;) (expression_statement "pbVar8 = &DAT_0007ac19;" (assignment_expression "pbVar8 = &DAT_0007ac19" identifier = (pointer_expression "&DAT_0007ac19" & identifier)) ;) (do_statement "do {\n      if (iVar3 == 0) break;\n      iVar3 = iVar3 + -1;\n      bVar9 = *pbVar7 < *pbVar8;\n      bVar11 = *pbVar7 == *pbVar8;\n      pbVar7 = pbVar7 + 1;\n      pbVar8 = pbVar8 + 1;\n    } while (bVar11);" do (compound_statement "{\n      if (iVar3 == 0) break;\n      iVar3 = iVar3 + -1;\n      bVar9 = *pbVar7 < *pbVar8;\n      bVar11 = *pbVar7 == *pbVar8;\n      pbVar7 = pbVar7 + 1;\n      pbVar8 = pbVar8 + 1;\n    }" { (if_statement "if (iVar3 == 0) break;" if (parenthesized_expression "(iVar3 == 0)" ( (binary_expression "iVar3 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "iVar3 = iVar3 + -1;" (assignment_expression "iVar3 = iVar3 + -1" identifier = (binary_expression "iVar3 + -1" identifier + number_literal)) ;) (expression_statement "bVar9 = *pbVar7 < *pbVar8;" (assignment_expression "bVar9 = *pbVar7 < *pbVar8" identifier = (binary_expression "*pbVar7 < *pbVar8" (pointer_expression "*pbVar7" * identifier) < (pointer_expression "*pbVar8" * identifier))) ;) (expression_statement "bVar11 = *pbVar7 == *pbVar8;" (assignment_expression "bVar11 = *pbVar7 == *pbVar8" identifier = (binary_expression "*pbVar7 == *pbVar8" (pointer_expression "*pbVar7" * identifier) == (pointer_expression "*pbVar8" * identifier))) ;) (expression_statement "pbVar7 = pbVar7 + 1;" (assignment_expression "pbVar7 = pbVar7 + 1" identifier = (binary_expression "pbVar7 + 1" identifier + number_literal)) ;) (expression_statement "pbVar8 = pbVar8 + 1;" (assignment_expression "pbVar8 = pbVar8 + 1" identifier = (binary_expression "pbVar8 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(bVar11)" ( identifier )) ;) (expression_statement "bVar10 = false;" (assignment_expression "bVar10 = false" identifier = false) ;) (expression_statement "bVar9 = (!bVar9 && !bVar11) == bVar9;" (assignment_expression "bVar9 = (!bVar9 && !bVar11) == bVar9" identifier = (binary_expression "(!bVar9 && !bVar11) == bVar9" (parenthesized_expression "(!bVar9 && !bVar11)" ( (binary_expression "!bVar9 && !bVar11" (unary_expression "!bVar9" ! identifier) && (unary_expression "!bVar11" ! identifier)) )) == identifier)) ;) (if_statement "if (bVar9) {\n      _DAT_0008cc04 = CONCAT31(_DAT_0008cc05,uVar2) & 0xfffffff3 | 4;\n      return 1;\n    }" if (parenthesized_expression "(bVar9)" ( identifier )) (compound_statement "{\n      _DAT_0008cc04 = CONCAT31(_DAT_0008cc05,uVar2) & 0xfffffff3 | 4;\n      return 1;\n    }" { (expression_statement "_DAT_0008cc04 = CONCAT31(_DAT_0008cc05,uVar2) & 0xfffffff3 | 4;" (assignment_expression "_DAT_0008cc04 = CONCAT31(_DAT_0008cc05,uVar2) & 0xfffffff3 | 4" identifier = (binary_expression "CONCAT31(_DAT_0008cc05,uVar2) & 0xfffffff3 | 4" (binary_expression "CONCAT31(_DAT_0008cc05,uVar2) & 0xfffffff3" (call_expression "CONCAT31(_DAT_0008cc05,uVar2)" identifier (argument_list "(_DAT_0008cc05,uVar2)" ( identifier , identifier ))) & number_literal) | number_literal)) ;) (return_statement "return 1;" return number_literal ;) })) (expression_statement "iVar3 = 4;" (assignment_expression "iVar3 = 4" identifier = number_literal) ;) (expression_statement "pbVar7 = pbVar6;" (assignment_expression "pbVar7 = pbVar6" identifier = identifier) ;) (expression_statement "pbVar8 = &DAT_0007ac0b;" (assignment_expression "pbVar8 = &DAT_0007ac0b" identifier = (pointer_expression "&DAT_0007ac0b" & identifier)) ;) (do_statement "do {\n      if (iVar3 == 0) break;\n      iVar3 = iVar3 + -1;\n      bVar10 = *pbVar7 < *pbVar8;\n      bVar9 = *pbVar7 == *pbVar8;\n      pbVar7 = pbVar7 + 1;\n      pbVar8 = pbVar8 + 1;\n    } while (bVar9);" do (compound_statement "{\n      if (iVar3 == 0) break;\n      iVar3 = iVar3 + -1;\n      bVar10 = *pbVar7 < *pbVar8;\n      bVar9 = *pbVar7 == *pbVar8;\n      pbVar7 = pbVar7 + 1;\n      pbVar8 = pbVar8 + 1;\n    }" { (if_statement "if (iVar3 == 0) break;" if (parenthesized_expression "(iVar3 == 0)" ( (binary_expression "iVar3 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "iVar3 = iVar3 + -1;" (assignment_expression "iVar3 = iVar3 + -1" identifier = (binary_expression "iVar3 + -1" identifier + number_literal)) ;) (expression_statement "bVar10 = *pbVar7 < *pbVar8;" (assignment_expression "bVar10 = *pbVar7 < *pbVar8" identifier = (binary_expression "*pbVar7 < *pbVar8" (pointer_expression "*pbVar7" * identifier) < (pointer_expression "*pbVar8" * identifier))) ;) (expression_statement "bVar9 = *pbVar7 == *pbVar8;" (assignment_expression "bVar9 = *pbVar7 == *pbVar8" identifier = (binary_expression "*pbVar7 == *pbVar8" (pointer_expression "*pbVar7" * identifier) == (pointer_expression "*pbVar8" * identifier))) ;) (expression_statement "pbVar7 = pbVar7 + 1;" (assignment_expression "pbVar7 = pbVar7 + 1" identifier = (binary_expression "pbVar7 + 1" identifier + number_literal)) ;) (expression_statement "pbVar8 = pbVar8 + 1;" (assignment_expression "pbVar8 = pbVar8 + 1" identifier = (binary_expression "pbVar8 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(bVar9)" ( identifier )) ;) (expression_statement "bVar11 = false;" (assignment_expression "bVar11 = false" identifier = false) ;) (expression_statement "bVar9 = (!bVar10 && !bVar9) == bVar10;" (assignment_expression "bVar9 = (!bVar10 && !bVar9) == bVar10" identifier = (binary_expression "(!bVar10 && !bVar9) == bVar10" (parenthesized_expression "(!bVar10 && !bVar9)" ( (binary_expression "!bVar10 && !bVar9" (unary_expression "!bVar10" ! identifier) && (unary_expression "!bVar9" ! identifier)) )) == identifier)) ;) (if_statement "if (bVar9) {\n      _DAT_0008cc04 = CONCAT31(_DAT_0008cc05,uVar2) & 0xfffffff3 | 8;\n      return 1;\n    }" if (parenthesized_expression "(bVar9)" ( identifier )) (compound_statement "{\n      _DAT_0008cc04 = CONCAT31(_DAT_0008cc05,uVar2) & 0xfffffff3 | 8;\n      return 1;\n    }" { (expression_statement "_DAT_0008cc04 = CONCAT31(_DAT_0008cc05,uVar2) & 0xfffffff3 | 8;" (assignment_expression "_DAT_0008cc04 = CONCAT31(_DAT_0008cc05,uVar2) & 0xfffffff3 | 8" identifier = (binary_expression "CONCAT31(_DAT_0008cc05,uVar2) & 0xfffffff3 | 8" (binary_expression "CONCAT31(_DAT_0008cc05,uVar2) & 0xfffffff3" (call_expression "CONCAT31(_DAT_0008cc05,uVar2)" identifier (argument_list "(_DAT_0008cc05,uVar2)" ( identifier , identifier ))) & number_literal) | number_literal)) ;) (return_statement "return 1;" return number_literal ;) })) (expression_statement "iVar3 = 5;" (assignment_expression "iVar3 = 5" identifier = number_literal) ;) (expression_statement "pbVar7 = pbVar6;" (assignment_expression "pbVar7 = pbVar6" identifier = identifier) ;) (expression_statement "pbVar8 = &DAT_0007ac1e;" (assignment_expression "pbVar8 = &DAT_0007ac1e" identifier = (pointer_expression "&DAT_0007ac1e" & identifier)) ;) (do_statement "do {\n      if (iVar3 == 0) break;\n      iVar3 = iVar3 + -1;\n      bVar11 = *pbVar7 < *pbVar8;\n      bVar9 = *pbVar7 == *pbVar8;\n      pbVar7 = pbVar7 + 1;\n      pbVar8 = pbVar8 + 1;\n    } while (bVar9);" do (compound_statement "{\n      if (iVar3 == 0) break;\n      iVar3 = iVar3 + -1;\n      bVar11 = *pbVar7 < *pbVar8;\n      bVar9 = *pbVar7 == *pbVar8;\n      pbVar7 = pbVar7 + 1;\n      pbVar8 = pbVar8 + 1;\n    }" { (if_statement "if (iVar3 == 0) break;" if (parenthesized_expression "(iVar3 == 0)" ( (binary_expression "iVar3 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "iVar3 = iVar3 + -1;" (assignment_expression "iVar3 = iVar3 + -1" identifier = (binary_expression "iVar3 + -1" identifier + number_literal)) ;) (expression_statement "bVar11 = *pbVar7 < *pbVar8;" (assignment_expression "bVar11 = *pbVar7 < *pbVar8" identifier = (binary_expression "*pbVar7 < *pbVar8" (pointer_expression "*pbVar7" * identifier) < (pointer_expression "*pbVar8" * identifier))) ;) (expression_statement "bVar9 = *pbVar7 == *pbVar8;" (assignment_expression "bVar9 = *pbVar7 == *pbVar8" identifier = (binary_expression "*pbVar7 == *pbVar8" (pointer_expression "*pbVar7" * identifier) == (pointer_expression "*pbVar8" * identifier))) ;) (expression_statement "pbVar7 = pbVar7 + 1;" (assignment_expression "pbVar7 = pbVar7 + 1" identifier = (binary_expression "pbVar7 + 1" identifier + number_literal)) ;) (expression_statement "pbVar8 = pbVar8 + 1;" (assignment_expression "pbVar8 = pbVar8 + 1" identifier = (binary_expression "pbVar8 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(bVar9)" ( identifier )) ;) (if_statement "if ((!bVar11 && !bVar9) == bVar11) {\n      _DAT_0008cc04 = CONCAT31(_DAT_0008cc05,uVar2) & 0xfffffff3 | 0xc;\n      return 1;\n    }" if (parenthesized_expression "((!bVar11 && !bVar9) == bVar11)" ( (binary_expression "(!bVar11 && !bVar9) == bVar11" (parenthesized_expression "(!bVar11 && !bVar9)" ( (binary_expression "!bVar11 && !bVar9" (unary_expression "!bVar11" ! identifier) && (unary_expression "!bVar9" ! identifier)) )) == identifier) )) (compound_statement "{\n      _DAT_0008cc04 = CONCAT31(_DAT_0008cc05,uVar2) & 0xfffffff3 | 0xc;\n      return 1;\n    }" { (expression_statement "_DAT_0008cc04 = CONCAT31(_DAT_0008cc05,uVar2) & 0xfffffff3 | 0xc;" (assignment_expression "_DAT_0008cc04 = CONCAT31(_DAT_0008cc05,uVar2) & 0xfffffff3 | 0xc" identifier = (binary_expression "CONCAT31(_DAT_0008cc05,uVar2) & 0xfffffff3 | 0xc" (binary_expression "CONCAT31(_DAT_0008cc05,uVar2) & 0xfffffff3" (call_expression "CONCAT31(_DAT_0008cc05,uVar2)" identifier (argument_list "(_DAT_0008cc05,uVar2)" ( identifier , identifier ))) & number_literal) | number_literal)) ;) (return_statement "return 1;" return number_literal ;) })) (expression_statement "pcVar5 = "%F%P: invalid hash style `%s\'\n";" (assignment_expression "pcVar5 = "%F%P: invalid hash style `%s\'\n"" identifier = (string_literal ""%F%P: invalid hash style `%s\'\n"" " string_content escape_sequence escape_sequence ")) ;) (labeled_statement "LAB_0003606a:\n    uVar4 = dcgettext(0,pcVar5,5);" statement_identifier : (expression_statement "uVar4 = dcgettext(0,pcVar5,5);" (assignment_expression "uVar4 = dcgettext(0,pcVar5,5)" identifier = (call_expression "dcgettext(0,pcVar5,5)" identifier (argument_list "(0,pcVar5,5)" ( number_literal , identifier , number_literal )))) ;)) (expression_statement "FUN_00031700(uVar4,pbVar6);" (call_expression "FUN_00031700(uVar4,pbVar6)" identifier (argument_list "(uVar4,pbVar6)" ( identifier , identifier ))) ;) (return_statement "return 1;" return number_literal ;) })) (expression_statement "bVar9 = param_1 < 0x12d;" (assignment_expression "bVar9 = param_1 < 0x12d" identifier = (binary_expression "param_1 < 0x12d" identifier < number_literal)) ;) (expression_statement "bVar11 = param_1 == 0x12d;" (assignment_expression "bVar11 = param_1 == 0x12d" identifier = (binary_expression "param_1 == 0x12d" identifier == number_literal)) ;) (if_statement "if (bVar11) {\n    iVar3 = 7;\n    pbVar6 = *(byte **)PTR_optarg_0008bff4;\n    pbVar7 = pbVar6;\n    pbVar8 = (byte *)"target";\n    do {\n      if (iVar3 == 0) break;\n      iVar3 = iVar3 + -1;\n      bVar9 = *pbVar7 < *pbVar8;\n      bVar11 = *pbVar7 == *pbVar8;\n      pbVar7 = pbVar7 + 1;\n      pbVar8 = pbVar8 + 1;\n    } while (bVar11);\n    bVar10 = false;\n    bVar9 = (!bVar9 && !bVar11) == bVar9;\n    if (!bVar9) {\n      iVar3 = 7;\n      pbVar7 = pbVar6;\n      pbVar8 = (byte *)"single";\n      do {\n        if (iVar3 == 0) break;\n        iVar3 = iVar3 + -1;\n        bVar10 = *pbVar7 < *pbVar8;\n        bVar9 = *pbVar7 == *pbVar8;\n        pbVar7 = pbVar7 + 1;\n        pbVar8 = pbVar8 + 1;\n      } while (bVar9);\n      bVar11 = false;\n      bVar9 = (!bVar10 && !bVar9) == bVar10;\n      if (!bVar9) {\n        iVar3 = 9;\n        pbVar7 = pbVar6;\n        pbVar8 = (byte *)"negative";\n        do {\n          if (iVar3 == 0) break;\n          iVar3 = iVar3 + -1;\n          bVar11 = *pbVar7 < *pbVar8;\n          bVar9 = *pbVar7 == *pbVar8;\n          pbVar7 = pbVar7 + 1;\n          pbVar8 = pbVar8 + 1;\n        } while (bVar9);\n        bVar10 = false;\n        bVar9 = (!bVar11 && !bVar9) == bVar11;\n        if (bVar9) {\n          DAT_0008cac4 = 1;\n          return 1;\n        }\n        iVar3 = 9;\n        pbVar7 = pbVar6;\n        pbVar8 = (byte *)"multigot";\n        do {\n          if (iVar3 == 0) break;\n          iVar3 = iVar3 + -1;\n          bVar10 = *pbVar7 < *pbVar8;\n          bVar9 = *pbVar7 == *pbVar8;\n          pbVar7 = pbVar7 + 1;\n          pbVar8 = pbVar8 + 1;\n        } while (bVar9);\n        if ((!bVar10 && !bVar9) == bVar10) {\n          DAT_0008cac4 = 2;\n          return 1;\n        }\n        pcVar5 = "%P: unrecognized --got argument \'%s\'\n";\n        goto LAB_0003606a;\n      }\n    }\n    DAT_0008cac4 = 0;\n    return 1;\n  }" if (parenthesized_expression "(bVar11)" ( identifier )) (compound_statement "{\n    iVar3 = 7;\n    pbVar6 = *(byte **)PTR_optarg_0008bff4;\n    pbVar7 = pbVar6;\n    pbVar8 = (byte *)"target";\n    do {\n      if (iVar3 == 0) break;\n      iVar3 = iVar3 + -1;\n      bVar9 = *pbVar7 < *pbVar8;\n      bVar11 = *pbVar7 == *pbVar8;\n      pbVar7 = pbVar7 + 1;\n      pbVar8 = pbVar8 + 1;\n    } while (bVar11);\n    bVar10 = false;\n    bVar9 = (!bVar9 && !bVar11) == bVar9;\n    if (!bVar9) {\n      iVar3 = 7;\n      pbVar7 = pbVar6;\n      pbVar8 = (byte *)"single";\n      do {\n        if (iVar3 == 0) break;\n        iVar3 = iVar3 + -1;\n        bVar10 = *pbVar7 < *pbVar8;\n        bVar9 = *pbVar7 == *pbVar8;\n        pbVar7 = pbVar7 + 1;\n        pbVar8 = pbVar8 + 1;\n      } while (bVar9);\n      bVar11 = false;\n      bVar9 = (!bVar10 && !bVar9) == bVar10;\n      if (!bVar9) {\n        iVar3 = 9;\n        pbVar7 = pbVar6;\n        pbVar8 = (byte *)"negative";\n        do {\n          if (iVar3 == 0) break;\n          iVar3 = iVar3 + -1;\n          bVar11 = *pbVar7 < *pbVar8;\n          bVar9 = *pbVar7 == *pbVar8;\n          pbVar7 = pbVar7 + 1;\n          pbVar8 = pbVar8 + 1;\n        } while (bVar9);\n        bVar10 = false;\n        bVar9 = (!bVar11 && !bVar9) == bVar11;\n        if (bVar9) {\n          DAT_0008cac4 = 1;\n          return 1;\n        }\n        iVar3 = 9;\n        pbVar7 = pbVar6;\n        pbVar8 = (byte *)"multigot";\n        do {\n          if (iVar3 == 0) break;\n          iVar3 = iVar3 + -1;\n          bVar10 = *pbVar7 < *pbVar8;\n          bVar9 = *pbVar7 == *pbVar8;\n          pbVar7 = pbVar7 + 1;\n          pbVar8 = pbVar8 + 1;\n        } while (bVar9);\n        if ((!bVar10 && !bVar9) == bVar10) {\n          DAT_0008cac4 = 2;\n          return 1;\n        }\n        pcVar5 = "%P: unrecognized --got argument \'%s\'\n";\n        goto LAB_0003606a;\n      }\n    }\n    DAT_0008cac4 = 0;\n    return 1;\n  }" { (expression_statement "iVar3 = 7;" (assignment_expression "iVar3 = 7" identifier = number_literal) ;) (expression_statement "pbVar6 = *(byte **)PTR_optarg_0008bff4;" (assignment_expression "pbVar6 = *(byte **)PTR_optarg_0008bff4" identifier = (pointer_expression "*(byte **)PTR_optarg_0008bff4" * (cast_expression "(byte **)PTR_optarg_0008bff4" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier))) ;) (expression_statement "pbVar7 = pbVar6;" (assignment_expression "pbVar7 = pbVar6" identifier = identifier) ;) (expression_statement "pbVar8 = (byte *)"target";" (assignment_expression "pbVar8 = (byte *)"target"" identifier = (cast_expression "(byte *)"target"" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (string_literal ""target"" " string_content "))) ;) (do_statement "do {\n      if (iVar3 == 0) break;\n      iVar3 = iVar3 + -1;\n      bVar9 = *pbVar7 < *pbVar8;\n      bVar11 = *pbVar7 == *pbVar8;\n      pbVar7 = pbVar7 + 1;\n      pbVar8 = pbVar8 + 1;\n    } while (bVar11);" do (compound_statement "{\n      if (iVar3 == 0) break;\n      iVar3 = iVar3 + -1;\n      bVar9 = *pbVar7 < *pbVar8;\n      bVar11 = *pbVar7 == *pbVar8;\n      pbVar7 = pbVar7 + 1;\n      pbVar8 = pbVar8 + 1;\n    }" { (if_statement "if (iVar3 == 0) break;" if (parenthesized_expression "(iVar3 == 0)" ( (binary_expression "iVar3 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "iVar3 = iVar3 + -1;" (assignment_expression "iVar3 = iVar3 + -1" identifier = (binary_expression "iVar3 + -1" identifier + number_literal)) ;) (expression_statement "bVar9 = *pbVar7 < *pbVar8;" (assignment_expression "bVar9 = *pbVar7 < *pbVar8" identifier = (binary_expression "*pbVar7 < *pbVar8" (pointer_expression "*pbVar7" * identifier) < (pointer_expression "*pbVar8" * identifier))) ;) (expression_statement "bVar11 = *pbVar7 == *pbVar8;" (assignment_expression "bVar11 = *pbVar7 == *pbVar8" identifier = (binary_expression "*pbVar7 == *pbVar8" (pointer_expression "*pbVar7" * identifier) == (pointer_expression "*pbVar8" * identifier))) ;) (expression_statement "pbVar7 = pbVar7 + 1;" (assignment_expression "pbVar7 = pbVar7 + 1" identifier = (binary_expression "pbVar7 + 1" identifier + number_literal)) ;) (expression_statement "pbVar8 = pbVar8 + 1;" (assignment_expression "pbVar8 = pbVar8 + 1" identifier = (binary_expression "pbVar8 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(bVar11)" ( identifier )) ;) (expression_statement "bVar10 = false;" (assignment_expression "bVar10 = false" identifier = false) ;) (expression_statement "bVar9 = (!bVar9 && !bVar11) == bVar9;" (assignment_expression "bVar9 = (!bVar9 && !bVar11) == bVar9" identifier = (binary_expression "(!bVar9 && !bVar11) == bVar9" (parenthesized_expression "(!bVar9 && !bVar11)" ( (binary_expression "!bVar9 && !bVar11" (unary_expression "!bVar9" ! identifier) && (unary_expression "!bVar11" ! identifier)) )) == identifier)) ;) (if_statement "if (!bVar9) {\n      iVar3 = 7;\n      pbVar7 = pbVar6;\n      pbVar8 = (byte *)"single";\n      do {\n        if (iVar3 == 0) break;\n        iVar3 = iVar3 + -1;\n        bVar10 = *pbVar7 < *pbVar8;\n        bVar9 = *pbVar7 == *pbVar8;\n        pbVar7 = pbVar7 + 1;\n        pbVar8 = pbVar8 + 1;\n      } while (bVar9);\n      bVar11 = false;\n      bVar9 = (!bVar10 && !bVar9) == bVar10;\n      if (!bVar9) {\n        iVar3 = 9;\n        pbVar7 = pbVar6;\n        pbVar8 = (byte *)"negative";\n        do {\n          if (iVar3 == 0) break;\n          iVar3 = iVar3 + -1;\n          bVar11 = *pbVar7 < *pbVar8;\n          bVar9 = *pbVar7 == *pbVar8;\n          pbVar7 = pbVar7 + 1;\n          pbVar8 = pbVar8 + 1;\n        } while (bVar9);\n        bVar10 = false;\n        bVar9 = (!bVar11 && !bVar9) == bVar11;\n        if (bVar9) {\n          DAT_0008cac4 = 1;\n          return 1;\n        }\n        iVar3 = 9;\n        pbVar7 = pbVar6;\n        pbVar8 = (byte *)"multigot";\n        do {\n          if (iVar3 == 0) break;\n          iVar3 = iVar3 + -1;\n          bVar10 = *pbVar7 < *pbVar8;\n          bVar9 = *pbVar7 == *pbVar8;\n          pbVar7 = pbVar7 + 1;\n          pbVar8 = pbVar8 + 1;\n        } while (bVar9);\n        if ((!bVar10 && !bVar9) == bVar10) {\n          DAT_0008cac4 = 2;\n          return 1;\n        }\n        pcVar5 = "%P: unrecognized --got argument \'%s\'\n";\n        goto LAB_0003606a;\n      }\n    }" if (parenthesized_expression "(!bVar9)" ( (unary_expression "!bVar9" ! identifier) )) (compound_statement "{\n      iVar3 = 7;\n      pbVar7 = pbVar6;\n      pbVar8 = (byte *)"single";\n      do {\n        if (iVar3 == 0) break;\n        iVar3 = iVar3 + -1;\n        bVar10 = *pbVar7 < *pbVar8;\n        bVar9 = *pbVar7 == *pbVar8;\n        pbVar7 = pbVar7 + 1;\n        pbVar8 = pbVar8 + 1;\n      } while (bVar9);\n      bVar11 = false;\n      bVar9 = (!bVar10 && !bVar9) == bVar10;\n      if (!bVar9) {\n        iVar3 = 9;\n        pbVar7 = pbVar6;\n        pbVar8 = (byte *)"negative";\n        do {\n          if (iVar3 == 0) break;\n          iVar3 = iVar3 + -1;\n          bVar11 = *pbVar7 < *pbVar8;\n          bVar9 = *pbVar7 == *pbVar8;\n          pbVar7 = pbVar7 + 1;\n          pbVar8 = pbVar8 + 1;\n        } while (bVar9);\n        bVar10 = false;\n        bVar9 = (!bVar11 && !bVar9) == bVar11;\n        if (bVar9) {\n          DAT_0008cac4 = 1;\n          return 1;\n        }\n        iVar3 = 9;\n        pbVar7 = pbVar6;\n        pbVar8 = (byte *)"multigot";\n        do {\n          if (iVar3 == 0) break;\n          iVar3 = iVar3 + -1;\n          bVar10 = *pbVar7 < *pbVar8;\n          bVar9 = *pbVar7 == *pbVar8;\n          pbVar7 = pbVar7 + 1;\n          pbVar8 = pbVar8 + 1;\n        } while (bVar9);\n        if ((!bVar10 && !bVar9) == bVar10) {\n          DAT_0008cac4 = 2;\n          return 1;\n        }\n        pcVar5 = "%P: unrecognized --got argument \'%s\'\n";\n        goto LAB_0003606a;\n      }\n    }" { (expression_statement "iVar3 = 7;" (assignment_expression "iVar3 = 7" identifier = number_literal) ;) (expression_statement "pbVar7 = pbVar6;" (assignment_expression "pbVar7 = pbVar6" identifier = identifier) ;) (expression_statement "pbVar8 = (byte *)"single";" (assignment_expression "pbVar8 = (byte *)"single"" identifier = (cast_expression "(byte *)"single"" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (string_literal ""single"" " string_content "))) ;) (do_statement "do {\n        if (iVar3 == 0) break;\n        iVar3 = iVar3 + -1;\n        bVar10 = *pbVar7 < *pbVar8;\n        bVar9 = *pbVar7 == *pbVar8;\n        pbVar7 = pbVar7 + 1;\n        pbVar8 = pbVar8 + 1;\n      } while (bVar9);" do (compound_statement "{\n        if (iVar3 == 0) break;\n        iVar3 = iVar3 + -1;\n        bVar10 = *pbVar7 < *pbVar8;\n        bVar9 = *pbVar7 == *pbVar8;\n        pbVar7 = pbVar7 + 1;\n        pbVar8 = pbVar8 + 1;\n      }" { (if_statement "if (iVar3 == 0) break;" if (parenthesized_expression "(iVar3 == 0)" ( (binary_expression "iVar3 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "iVar3 = iVar3 + -1;" (assignment_expression "iVar3 = iVar3 + -1" identifier = (binary_expression "iVar3 + -1" identifier + number_literal)) ;) (expression_statement "bVar10 = *pbVar7 < *pbVar8;" (assignment_expression "bVar10 = *pbVar7 < *pbVar8" identifier = (binary_expression "*pbVar7 < *pbVar8" (pointer_expression "*pbVar7" * identifier) < (pointer_expression "*pbVar8" * identifier))) ;) (expression_statement "bVar9 = *pbVar7 == *pbVar8;" (assignment_expression "bVar9 = *pbVar7 == *pbVar8" identifier = (binary_expression "*pbVar7 == *pbVar8" (pointer_expression "*pbVar7" * identifier) == (pointer_expression "*pbVar8" * identifier))) ;) (expression_statement "pbVar7 = pbVar7 + 1;" (assignment_expression "pbVar7 = pbVar7 + 1" identifier = (binary_expression "pbVar7 + 1" identifier + number_literal)) ;) (expression_statement "pbVar8 = pbVar8 + 1;" (assignment_expression "pbVar8 = pbVar8 + 1" identifier = (binary_expression "pbVar8 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(bVar9)" ( identifier )) ;) (expression_statement "bVar11 = false;" (assignment_expression "bVar11 = false" identifier = false) ;) (expression_statement "bVar9 = (!bVar10 && !bVar9) == bVar10;" (assignment_expression "bVar9 = (!bVar10 && !bVar9) == bVar10" identifier = (binary_expression "(!bVar10 && !bVar9) == bVar10" (parenthesized_expression "(!bVar10 && !bVar9)" ( (binary_expression "!bVar10 && !bVar9" (unary_expression "!bVar10" ! identifier) && (unary_expression "!bVar9" ! identifier)) )) == identifier)) ;) (if_statement "if (!bVar9) {\n        iVar3 = 9;\n        pbVar7 = pbVar6;\n        pbVar8 = (byte *)"negative";\n        do {\n          if (iVar3 == 0) break;\n          iVar3 = iVar3 + -1;\n          bVar11 = *pbVar7 < *pbVar8;\n          bVar9 = *pbVar7 == *pbVar8;\n          pbVar7 = pbVar7 + 1;\n          pbVar8 = pbVar8 + 1;\n        } while (bVar9);\n        bVar10 = false;\n        bVar9 = (!bVar11 && !bVar9) == bVar11;\n        if (bVar9) {\n          DAT_0008cac4 = 1;\n          return 1;\n        }\n        iVar3 = 9;\n        pbVar7 = pbVar6;\n        pbVar8 = (byte *)"multigot";\n        do {\n          if (iVar3 == 0) break;\n          iVar3 = iVar3 + -1;\n          bVar10 = *pbVar7 < *pbVar8;\n          bVar9 = *pbVar7 == *pbVar8;\n          pbVar7 = pbVar7 + 1;\n          pbVar8 = pbVar8 + 1;\n        } while (bVar9);\n        if ((!bVar10 && !bVar9) == bVar10) {\n          DAT_0008cac4 = 2;\n          return 1;\n        }\n        pcVar5 = "%P: unrecognized --got argument \'%s\'\n";\n        goto LAB_0003606a;\n      }" if (parenthesized_expression "(!bVar9)" ( (unary_expression "!bVar9" ! identifier) )) (compound_statement "{\n        iVar3 = 9;\n        pbVar7 = pbVar6;\n        pbVar8 = (byte *)"negative";\n        do {\n          if (iVar3 == 0) break;\n          iVar3 = iVar3 + -1;\n          bVar11 = *pbVar7 < *pbVar8;\n          bVar9 = *pbVar7 == *pbVar8;\n          pbVar7 = pbVar7 + 1;\n          pbVar8 = pbVar8 + 1;\n        } while (bVar9);\n        bVar10 = false;\n        bVar9 = (!bVar11 && !bVar9) == bVar11;\n        if (bVar9) {\n          DAT_0008cac4 = 1;\n          return 1;\n        }\n        iVar3 = 9;\n        pbVar7 = pbVar6;\n        pbVar8 = (byte *)"multigot";\n        do {\n          if (iVar3 == 0) break;\n          iVar3 = iVar3 + -1;\n          bVar10 = *pbVar7 < *pbVar8;\n          bVar9 = *pbVar7 == *pbVar8;\n          pbVar7 = pbVar7 + 1;\n          pbVar8 = pbVar8 + 1;\n        } while (bVar9);\n        if ((!bVar10 && !bVar9) == bVar10) {\n          DAT_0008cac4 = 2;\n          return 1;\n        }\n        pcVar5 = "%P: unrecognized --got argument \'%s\'\n";\n        goto LAB_0003606a;\n      }" { (expression_statement "iVar3 = 9;" (assignment_expression "iVar3 = 9" identifier = number_literal) ;) (expression_statement "pbVar7 = pbVar6;" (assignment_expression "pbVar7 = pbVar6" identifier = identifier) ;) (expression_statement "pbVar8 = (byte *)"negative";" (assignment_expression "pbVar8 = (byte *)"negative"" identifier = (cast_expression "(byte *)"negative"" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (string_literal ""negative"" " string_content "))) ;) (do_statement "do {\n          if (iVar3 == 0) break;\n          iVar3 = iVar3 + -1;\n          bVar11 = *pbVar7 < *pbVar8;\n          bVar9 = *pbVar7 == *pbVar8;\n          pbVar7 = pbVar7 + 1;\n          pbVar8 = pbVar8 + 1;\n        } while (bVar9);" do (compound_statement "{\n          if (iVar3 == 0) break;\n          iVar3 = iVar3 + -1;\n          bVar11 = *pbVar7 < *pbVar8;\n          bVar9 = *pbVar7 == *pbVar8;\n          pbVar7 = pbVar7 + 1;\n          pbVar8 = pbVar8 + 1;\n        }" { (if_statement "if (iVar3 == 0) break;" if (parenthesized_expression "(iVar3 == 0)" ( (binary_expression "iVar3 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "iVar3 = iVar3 + -1;" (assignment_expression "iVar3 = iVar3 + -1" identifier = (binary_expression "iVar3 + -1" identifier + number_literal)) ;) (expression_statement "bVar11 = *pbVar7 < *pbVar8;" (assignment_expression "bVar11 = *pbVar7 < *pbVar8" identifier = (binary_expression "*pbVar7 < *pbVar8" (pointer_expression "*pbVar7" * identifier) < (pointer_expression "*pbVar8" * identifier))) ;) (expression_statement "bVar9 = *pbVar7 == *pbVar8;" (assignment_expression "bVar9 = *pbVar7 == *pbVar8" identifier = (binary_expression "*pbVar7 == *pbVar8" (pointer_expression "*pbVar7" * identifier) == (pointer_expression "*pbVar8" * identifier))) ;) (expression_statement "pbVar7 = pbVar7 + 1;" (assignment_expression "pbVar7 = pbVar7 + 1" identifier = (binary_expression "pbVar7 + 1" identifier + number_literal)) ;) (expression_statement "pbVar8 = pbVar8 + 1;" (assignment_expression "pbVar8 = pbVar8 + 1" identifier = (binary_expression "pbVar8 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(bVar9)" ( identifier )) ;) (expression_statement "bVar10 = false;" (assignment_expression "bVar10 = false" identifier = false) ;) (expression_statement "bVar9 = (!bVar11 && !bVar9) == bVar11;" (assignment_expression "bVar9 = (!bVar11 && !bVar9) == bVar11" identifier = (binary_expression "(!bVar11 && !bVar9) == bVar11" (parenthesized_expression "(!bVar11 && !bVar9)" ( (binary_expression "!bVar11 && !bVar9" (unary_expression "!bVar11" ! identifier) && (unary_expression "!bVar9" ! identifier)) )) == identifier)) ;) (if_statement "if (bVar9) {\n          DAT_0008cac4 = 1;\n          return 1;\n        }" if (parenthesized_expression "(bVar9)" ( identifier )) (compound_statement "{\n          DAT_0008cac4 = 1;\n          return 1;\n        }" { (expression_statement "DAT_0008cac4 = 1;" (assignment_expression "DAT_0008cac4 = 1" identifier = number_literal) ;) (return_statement "return 1;" return number_literal ;) })) (expression_statement "iVar3 = 9;" (assignment_expression "iVar3 = 9" identifier = number_literal) ;) (expression_statement "pbVar7 = pbVar6;" (assignment_expression "pbVar7 = pbVar6" identifier = identifier) ;) (expression_statement "pbVar8 = (byte *)"multigot";" (assignment_expression "pbVar8 = (byte *)"multigot"" identifier = (cast_expression "(byte *)"multigot"" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (string_literal ""multigot"" " string_content "))) ;) (do_statement "do {\n          if (iVar3 == 0) break;\n          iVar3 = iVar3 + -1;\n          bVar10 = *pbVar7 < *pbVar8;\n          bVar9 = *pbVar7 == *pbVar8;\n          pbVar7 = pbVar7 + 1;\n          pbVar8 = pbVar8 + 1;\n        } while (bVar9);" do (compound_statement "{\n          if (iVar3 == 0) break;\n          iVar3 = iVar3 + -1;\n          bVar10 = *pbVar7 < *pbVar8;\n          bVar9 = *pbVar7 == *pbVar8;\n          pbVar7 = pbVar7 + 1;\n          pbVar8 = pbVar8 + 1;\n        }" { (if_statement "if (iVar3 == 0) break;" if (parenthesized_expression "(iVar3 == 0)" ( (binary_expression "iVar3 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "iVar3 = iVar3 + -1;" (assignment_expression "iVar3 = iVar3 + -1" identifier = (binary_expression "iVar3 + -1" identifier + number_literal)) ;) (expression_statement "bVar10 = *pbVar7 < *pbVar8;" (assignment_expression "bVar10 = *pbVar7 < *pbVar8" identifier = (binary_expression "*pbVar7 < *pbVar8" (pointer_expression "*pbVar7" * identifier) < (pointer_expression "*pbVar8" * identifier))) ;) (expression_statement "bVar9 = *pbVar7 == *pbVar8;" (assignment_expression "bVar9 = *pbVar7 == *pbVar8" identifier = (binary_expression "*pbVar7 == *pbVar8" (pointer_expression "*pbVar7" * identifier) == (pointer_expression "*pbVar8" * identifier))) ;) (expression_statement "pbVar7 = pbVar7 + 1;" (assignment_expression "pbVar7 = pbVar7 + 1" identifier = (binary_expression "pbVar7 + 1" identifier + number_literal)) ;) (expression_statement "pbVar8 = pbVar8 + 1;" (assignment_expression "pbVar8 = pbVar8 + 1" identifier = (binary_expression "pbVar8 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(bVar9)" ( identifier )) ;) (if_statement "if ((!bVar10 && !bVar9) == bVar10) {\n          DAT_0008cac4 = 2;\n          return 1;\n        }" if (parenthesized_expression "((!bVar10 && !bVar9) == bVar10)" ( (binary_expression "(!bVar10 && !bVar9) == bVar10" (parenthesized_expression "(!bVar10 && !bVar9)" ( (binary_expression "!bVar10 && !bVar9" (unary_expression "!bVar10" ! identifier) && (unary_expression "!bVar9" ! identifier)) )) == identifier) )) (compound_statement "{\n          DAT_0008cac4 = 2;\n          return 1;\n        }" { (expression_statement "DAT_0008cac4 = 2;" (assignment_expression "DAT_0008cac4 = 2" identifier = number_literal) ;) (return_statement "return 1;" return number_literal ;) })) (expression_statement "pcVar5 = "%P: unrecognized --got argument \'%s\'\n";" (assignment_expression "pcVar5 = "%P: unrecognized --got argument \'%s\'\n"" identifier = (string_literal ""%P: unrecognized --got argument \'%s\'\n"" " string_content escape_sequence string_content escape_sequence escape_sequence ")) ;) (goto_statement "goto LAB_0003606a;" goto statement_identifier ;) })) })) (expression_statement "DAT_0008cac4 = 0;" (assignment_expression "DAT_0008cac4 = 0" identifier = number_literal) ;) (return_statement "return 1;" return number_literal ;) })) (if_statement "if (0x12d < (int)param_1) {\n    if (param_1 == 0x191) {\n      _DAT_0008cc04 = _DAT_0008cc04 | 0x100;\n      return 1;\n    }\n    if (0x191 < (int)param_1) {\n      DAT_0008cc00._2_2_ = DAT_0008cc00._2_2_ | 0x1e0;\n      DAT_0008cc74 = DAT_0008cc74 | 4;\n      return 1;\n    }\n    if (param_1 != 400) {\n      return 0;\n    }\n    _DAT_0008cc04 = _DAT_0008cc04 & 0xfffffeff;\n    return 1;\n  }" if (parenthesized_expression "(0x12d < (int)param_1)" ( (binary_expression "0x12d < (int)param_1" number_literal < (cast_expression "(int)param_1" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n    if (param_1 == 0x191) {\n      _DAT_0008cc04 = _DAT_0008cc04 | 0x100;\n      return 1;\n    }\n    if (0x191 < (int)param_1) {\n      DAT_0008cc00._2_2_ = DAT_0008cc00._2_2_ | 0x1e0;\n      DAT_0008cc74 = DAT_0008cc74 | 4;\n      return 1;\n    }\n    if (param_1 != 400) {\n      return 0;\n    }\n    _DAT_0008cc04 = _DAT_0008cc04 & 0xfffffeff;\n    return 1;\n  }" { (if_statement "if (param_1 == 0x191) {\n      _DAT_0008cc04 = _DAT_0008cc04 | 0x100;\n      return 1;\n    }" if (parenthesized_expression "(param_1 == 0x191)" ( (binary_expression "param_1 == 0x191" identifier == number_literal) )) (compound_statement "{\n      _DAT_0008cc04 = _DAT_0008cc04 | 0x100;\n      return 1;\n    }" { (expression_statement "_DAT_0008cc04 = _DAT_0008cc04 | 0x100;" (assignment_expression "_DAT_0008cc04 = _DAT_0008cc04 | 0x100" identifier = (binary_expression "_DAT_0008cc04 | 0x100" identifier | number_literal)) ;) (return_statement "return 1;" return number_literal ;) })) (if_statement "if (0x191 < (int)param_1) {\n      DAT_0008cc00._2_2_ = DAT_0008cc00._2_2_ | 0x1e0;\n      DAT_0008cc74 = DAT_0008cc74 | 4;\n      return 1;\n    }" if (parenthesized_expression "(0x191 < (int)param_1)" ( (binary_expression "0x191 < (int)param_1" number_literal < (cast_expression "(int)param_1" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n      DAT_0008cc00._2_2_ = DAT_0008cc00._2_2_ | 0x1e0;\n      DAT_0008cc74 = DAT_0008cc74 | 4;\n      return 1;\n    }" { (expression_statement "DAT_0008cc00._2_2_ = DAT_0008cc00._2_2_ | 0x1e0;" (assignment_expression "DAT_0008cc00._2_2_ = DAT_0008cc00._2_2_ | 0x1e0" (field_expression "DAT_0008cc00._2_2_" identifier . field_identifier) = (binary_expression "DAT_0008cc00._2_2_ | 0x1e0" (field_expression "DAT_0008cc00._2_2_" identifier . field_identifier) | number_literal)) ;) (expression_statement "DAT_0008cc74 = DAT_0008cc74 | 4;" (assignment_expression "DAT_0008cc74 = DAT_0008cc74 | 4" identifier = (binary_expression "DAT_0008cc74 | 4" identifier | number_literal)) ;) (return_statement "return 1;" return number_literal ;) })) (if_statement "if (param_1 != 400) {\n      return 0;\n    }" if (parenthesized_expression "(param_1 != 400)" ( (binary_expression "param_1 != 400" identifier != number_literal) )) (compound_statement "{\n      return 0;\n    }" { (return_statement "return 0;" return number_literal ;) })) (expression_statement "_DAT_0008cc04 = _DAT_0008cc04 & 0xfffffeff;" (assignment_expression "_DAT_0008cc04 = _DAT_0008cc04 & 0xfffffeff" identifier = (binary_expression "_DAT_0008cc04 & 0xfffffeff" identifier & number_literal)) ;) (return_statement "return 1;" return number_literal ;) })) (if_statement "if (param_1 == 0x50) {\n    FUN_000359c0();\n    return 1;\n  }" if (parenthesized_expression "(param_1 == 0x50)" ( (binary_expression "param_1 == 0x50" identifier == number_literal) )) (compound_statement "{\n    FUN_000359c0();\n    return 1;\n  }" { (expression_statement "FUN_000359c0();" (call_expression "FUN_000359c0()" identifier (argument_list "()" ( ))) ;) (return_statement "return 1;" return number_literal ;) })) (expression_statement "bVar9 = param_1 < 0x7a;" (assignment_expression "bVar9 = param_1 < 0x7a" identifier = (binary_expression "param_1 < 0x7a" identifier < number_literal)) ;) (expression_statement "bVar11 = param_1 == 0x7a;" (assignment_expression "bVar11 = param_1 == 0x7a" identifier = (binary_expression "param_1 == 0x7a" identifier == number_literal)) ;) (if_statement "if (!bVar11) {\n    return 0;\n  }" if (parenthesized_expression "(!bVar11)" ( (unary_expression "!bVar11" ! identifier) )) (compound_statement "{\n    return 0;\n  }" { (return_statement "return 0;" return number_literal ;) })) (expression_statement "iVar3 = 5;" (assignment_expression "iVar3 = 5" identifier = number_literal) ;) (expression_statement "pbVar6 = *(byte **)PTR_optarg_0008bff4;" (assignment_expression "pbVar6 = *(byte **)PTR_optarg_0008bff4" identifier = (pointer_expression "*(byte **)PTR_optarg_0008bff4" * (cast_expression "(byte **)PTR_optarg_0008bff4" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier))) ;) (expression_statement "pbVar7 = pbVar6;" (assignment_expression "pbVar7 = pbVar6" identifier = identifier) ;) (expression_statement "pbVar8 = (byte *)0x4acc7;" (assignment_expression "pbVar8 = (byte *)0x4acc7" identifier = (cast_expression "(byte *)0x4acc7" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (do_statement "do {\n    if (iVar3 == 0) break;\n    iVar3 = iVar3 + -1;\n    bVar9 = *pbVar7 < *pbVar8;\n    bVar11 = *pbVar7 == *pbVar8;\n    pbVar7 = pbVar7 + 1;\n    pbVar8 = pbVar8 + 1;\n  } while (bVar11);" do (compound_statement "{\n    if (iVar3 == 0) break;\n    iVar3 = iVar3 + -1;\n    bVar9 = *pbVar7 < *pbVar8;\n    bVar11 = *pbVar7 == *pbVar8;\n    pbVar7 = pbVar7 + 1;\n    pbVar8 = pbVar8 + 1;\n  }" { (if_statement "if (iVar3 == 0) break;" if (parenthesized_expression "(iVar3 == 0)" ( (binary_expression "iVar3 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "iVar3 = iVar3 + -1;" (assignment_expression "iVar3 = iVar3 + -1" identifier = (binary_expression "iVar3 + -1" identifier + number_literal)) ;) (expression_statement "bVar9 = *pbVar7 < *pbVar8;" (assignment_expression "bVar9 = *pbVar7 < *pbVar8" identifier = (binary_expression "*pbVar7 < *pbVar8" (pointer_expression "*pbVar7" * identifier) < (pointer_expression "*pbVar8" * identifier))) ;) (expression_statement "bVar11 = *pbVar7 == *pbVar8;" (assignment_expression "bVar11 = *pbVar7 == *pbVar8" identifier = (binary_expression "*pbVar7 == *pbVar8" (pointer_expression "*pbVar7" * identifier) == (pointer_expression "*pbVar8" * identifier))) ;) (expression_statement "pbVar7 = pbVar7 + 1;" (assignment_expression "pbVar7 = pbVar7 + 1" identifier = (binary_expression "pbVar7 + 1" identifier + number_literal)) ;) (expression_statement "pbVar8 = pbVar8 + 1;" (assignment_expression "pbVar8 = pbVar8 + 1" identifier = (binary_expression "pbVar8 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(bVar11)" ( identifier )) ;) (expression_statement "bVar10 = false;" (assignment_expression "bVar10 = false" identifier = false) ;) (expression_statement "bVar9 = (!bVar9 && !bVar11) == bVar9;" (assignment_expression "bVar9 = (!bVar9 && !bVar11) == bVar9" identifier = (binary_expression "(!bVar9 && !bVar11) == bVar9" (parenthesized_expression "(!bVar9 && !bVar11)" ( (binary_expression "!bVar9 && !bVar11" (unary_expression "!bVar9" ! identifier) && (unary_expression "!bVar11" ! identifier)) )) == identifier)) ;) (if_statement "if (bVar9) {\n    DAT_0008cc00._2_2_ = DAT_0008cc00._2_2_ | 0x60;\n    return 1;\n  }" if (parenthesized_expression "(bVar9)" ( identifier )) (compound_statement "{\n    DAT_0008cc00._2_2_ = DAT_0008cc00._2_2_ | 0x60;\n    return 1;\n  }" { (expression_statement "DAT_0008cc00._2_2_ = DAT_0008cc00._2_2_ | 0x60;" (assignment_expression "DAT_0008cc00._2_2_ = DAT_0008cc00._2_2_ | 0x60" (field_expression "DAT_0008cc00._2_2_" identifier . field_identifier) = (binary_expression "DAT_0008cc00._2_2_ | 0x60" (field_expression "DAT_0008cc00._2_2_" identifier . field_identifier) | number_literal)) ;) (return_statement "return 1;" return number_literal ;) })) (expression_statement "iVar3 = 7;" (assignment_expression "iVar3 = 7" identifier = number_literal) ;) (expression_statement "pbVar7 = pbVar6;" (assignment_expression "pbVar7 = pbVar6" identifier = identifier) ;) (expression_statement "pbVar8 = (byte *)"undefs";" (assignment_expression "pbVar8 = (byte *)"undefs"" identifier = (cast_expression "(byte *)"undefs"" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (string_literal ""undefs"" " string_content "))) ;) (do_statement "do {\n    if (iVar3 == 0) break;\n    iVar3 = iVar3 + -1;\n    bVar10 = *pbVar7 < *pbVar8;\n    bVar9 = *pbVar7 == *pbVar8;\n    pbVar7 = pbVar7 + 1;\n    pbVar8 = pbVar8 + 1;\n  } while (bVar9);" do (compound_statement "{\n    if (iVar3 == 0) break;\n    iVar3 = iVar3 + -1;\n    bVar10 = *pbVar7 < *pbVar8;\n    bVar9 = *pbVar7 == *pbVar8;\n    pbVar7 = pbVar7 + 1;\n    pbVar8 = pbVar8 + 1;\n  }" { (if_statement "if (iVar3 == 0) break;" if (parenthesized_expression "(iVar3 == 0)" ( (binary_expression "iVar3 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "iVar3 = iVar3 + -1;" (assignment_expression "iVar3 = iVar3 + -1" identifier = (binary_expression "iVar3 + -1" identifier + number_literal)) ;) (expression_statement "bVar10 = *pbVar7 < *pbVar8;" (assignment_expression "bVar10 = *pbVar7 < *pbVar8" identifier = (binary_expression "*pbVar7 < *pbVar8" (pointer_expression "*pbVar7" * identifier) < (pointer_expression "*pbVar8" * identifier))) ;) (expression_statement "bVar9 = *pbVar7 == *pbVar8;" (assignment_expression "bVar9 = *pbVar7 == *pbVar8" identifier = (binary_expression "*pbVar7 == *pbVar8" (pointer_expression "*pbVar7" * identifier) == (pointer_expression "*pbVar8" * identifier))) ;) (expression_statement "pbVar7 = pbVar7 + 1;" (assignment_expression "pbVar7 = pbVar7 + 1" identifier = (binary_expression "pbVar7 + 1" identifier + number_literal)) ;) (expression_statement "pbVar8 = pbVar8 + 1;" (assignment_expression "pbVar8 = pbVar8 + 1" identifier = (binary_expression "pbVar8 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(bVar9)" ( identifier )) ;) (expression_statement "bVar11 = false;" (assignment_expression "bVar11 = false" identifier = false) ;) (expression_statement "bVar9 = (!bVar10 && !bVar9) == bVar10;" (assignment_expression "bVar9 = (!bVar10 && !bVar9) == bVar10" identifier = (binary_expression "(!bVar10 && !bVar9) == bVar10" (parenthesized_expression "(!bVar10 && !bVar9)" ( (binary_expression "!bVar10 && !bVar9" (unary_expression "!bVar10" ! identifier) && (unary_expression "!bVar9" ! identifier)) )) == identifier)) ;) (if_statement "if (bVar9) {\n    DAT_0008cc00._2_2_ = DAT_0008cc00._2_2_ & 0xff9f | 0x20;\n    return 1;\n  }" if (parenthesized_expression "(bVar9)" ( identifier )) (compound_statement "{\n    DAT_0008cc00._2_2_ = DAT_0008cc00._2_2_ & 0xff9f | 0x20;\n    return 1;\n  }" { (expression_statement "DAT_0008cc00._2_2_ = DAT_0008cc00._2_2_ & 0xff9f | 0x20;" (assignment_expression "DAT_0008cc00._2_2_ = DAT_0008cc00._2_2_ & 0xff9f | 0x20" (field_expression "DAT_0008cc00._2_2_" identifier . field_identifier) = (binary_expression "DAT_0008cc00._2_2_ & 0xff9f | 0x20" (binary_expression "DAT_0008cc00._2_2_ & 0xff9f" (field_expression "DAT_0008cc00._2_2_" identifier . field_identifier) & number_literal) | number_literal)) ;) (return_statement "return 1;" return number_literal ;) })) (expression_statement "iVar3 = 8;" (assignment_expression "iVar3 = 8" identifier = number_literal) ;) (expression_statement "pbVar7 = pbVar6;" (assignment_expression "pbVar7 = pbVar6" identifier = identifier) ;) (expression_statement "pbVar8 = (byte *)"muldefs";" (assignment_expression "pbVar8 = (byte *)"muldefs"" identifier = (cast_expression "(byte *)"muldefs"" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (string_literal ""muldefs"" " string_content "))) ;) (do_statement "do {\n    if (iVar3 == 0) break;\n    iVar3 = iVar3 + -1;\n    bVar11 = *pbVar7 < *pbVar8;\n    bVar9 = *pbVar7 == *pbVar8;\n    pbVar7 = pbVar7 + 1;\n    pbVar8 = pbVar8 + 1;\n  } while (bVar9);" do (compound_statement "{\n    if (iVar3 == 0) break;\n    iVar3 = iVar3 + -1;\n    bVar11 = *pbVar7 < *pbVar8;\n    bVar9 = *pbVar7 == *pbVar8;\n    pbVar7 = pbVar7 + 1;\n    pbVar8 = pbVar8 + 1;\n  }" { (if_statement "if (iVar3 == 0) break;" if (parenthesized_expression "(iVar3 == 0)" ( (binary_expression "iVar3 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "iVar3 = iVar3 + -1;" (assignment_expression "iVar3 = iVar3 + -1" identifier = (binary_expression "iVar3 + -1" identifier + number_literal)) ;) (expression_statement "bVar11 = *pbVar7 < *pbVar8;" (assignment_expression "bVar11 = *pbVar7 < *pbVar8" identifier = (binary_expression "*pbVar7 < *pbVar8" (pointer_expression "*pbVar7" * identifier) < (pointer_expression "*pbVar8" * identifier))) ;) (expression_statement "bVar9 = *pbVar7 == *pbVar8;" (assignment_expression "bVar9 = *pbVar7 == *pbVar8" identifier = (binary_expression "*pbVar7 == *pbVar8" (pointer_expression "*pbVar7" * identifier) == (pointer_expression "*pbVar8" * identifier))) ;) (expression_statement "pbVar7 = pbVar7 + 1;" (assignment_expression "pbVar7 = pbVar7 + 1" identifier = (binary_expression "pbVar7 + 1" identifier + number_literal)) ;) (expression_statement "pbVar8 = pbVar8 + 1;" (assignment_expression "pbVar8 = pbVar8 + 1" identifier = (binary_expression "pbVar8 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(bVar9)" ( identifier )) ;) (expression_statement "bVar10 = false;" (assignment_expression "bVar10 = false" identifier = false) ;) (expression_statement "bVar9 = (!bVar11 && !bVar9) == bVar11;" (assignment_expression "bVar9 = (!bVar11 && !bVar9) == bVar11" identifier = (binary_expression "(!bVar11 && !bVar9) == bVar11" (parenthesized_expression "(!bVar11 && !bVar9)" ( (binary_expression "!bVar11 && !bVar9" (unary_expression "!bVar11" ! identifier) && (unary_expression "!bVar9" ! identifier)) )) == identifier)) ;) (if_statement "if (bVar9) {\n    _DAT_0008cc04 = _DAT_0008cc04 | 0x800;\n    return 1;\n  }" if (parenthesized_expression "(bVar9)" ( identifier )) (compound_statement "{\n    _DAT_0008cc04 = _DAT_0008cc04 | 0x800;\n    return 1;\n  }" { (expression_statement "_DAT_0008cc04 = _DAT_0008cc04 | 0x800;" (assignment_expression "_DAT_0008cc04 = _DAT_0008cc04 | 0x800" identifier = (binary_expression "_DAT_0008cc04 | 0x800" identifier | number_literal)) ;) (return_statement "return 1;" return number_literal ;) })) (expression_statement "iVar3 = 0xe;" (assignment_expression "iVar3 = 0xe" identifier = number_literal) ;) (expression_statement "pbVar7 = pbVar6;" (assignment_expression "pbVar7 = pbVar6" identifier = identifier) ;) (expression_statement "pbVar8 = (byte *)"max-page-size=";" (assignment_expression "pbVar8 = (byte *)"max-page-size="" identifier = (cast_expression "(byte *)"max-page-size="" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (string_literal ""max-page-size="" " string_content "))) ;) (do_statement "do {\n    if (iVar3 == 0) break;\n    iVar3 = iVar3 + -1;\n    bVar10 = *pbVar7 < *pbVar8;\n    bVar9 = *pbVar7 == *pbVar8;\n    pbVar7 = pbVar7 + 1;\n    pbVar8 = pbVar8 + 1;\n  } while (bVar9);" do (compound_statement "{\n    if (iVar3 == 0) break;\n    iVar3 = iVar3 + -1;\n    bVar10 = *pbVar7 < *pbVar8;\n    bVar9 = *pbVar7 == *pbVar8;\n    pbVar7 = pbVar7 + 1;\n    pbVar8 = pbVar8 + 1;\n  }" { (if_statement "if (iVar3 == 0) break;" if (parenthesized_expression "(iVar3 == 0)" ( (binary_expression "iVar3 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "iVar3 = iVar3 + -1;" (assignment_expression "iVar3 = iVar3 + -1" identifier = (binary_expression "iVar3 + -1" identifier + number_literal)) ;) (expression_statement "bVar10 = *pbVar7 < *pbVar8;" (assignment_expression "bVar10 = *pbVar7 < *pbVar8" identifier = (binary_expression "*pbVar7 < *pbVar8" (pointer_expression "*pbVar7" * identifier) < (pointer_expression "*pbVar8" * identifier))) ;) (expression_statement "bVar9 = *pbVar7 == *pbVar8;" (assignment_expression "bVar9 = *pbVar7 == *pbVar8" identifier = (binary_expression "*pbVar7 == *pbVar8" (pointer_expression "*pbVar7" * identifier) == (pointer_expression "*pbVar8" * identifier))) ;) (expression_statement "pbVar7 = pbVar7 + 1;" (assignment_expression "pbVar7 = pbVar7 + 1" identifier = (binary_expression "pbVar7 + 1" identifier + number_literal)) ;) (expression_statement "pbVar8 = pbVar8 + 1;" (assignment_expression "pbVar8 = pbVar8 + 1" identifier = (binary_expression "pbVar8 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(bVar9)" ( identifier )) ;) (expression_statement "bVar11 = false;" (assignment_expression "bVar11 = false" identifier = false) ;) (expression_statement "bVar9 = (!bVar10 && !bVar9) == bVar10;" (assignment_expression "bVar9 = (!bVar10 && !bVar9) == bVar10" identifier = (binary_expression "(!bVar10 && !bVar9) == bVar10" (parenthesized_expression "(!bVar10 && !bVar9)" ( (binary_expression "!bVar10 && !bVar9" (unary_expression "!bVar10" ! identifier) && (unary_expression "!bVar9" ! identifier)) )) == identifier)) ;) (if_statement "if (bVar9) {\n    DAT_0008cd60 = strtoul((char *)(pbVar6 + 0xe),local_20,0);\n    if ((*local_20[0] == '\0') && ((DAT_0008cd60 - 1 & DAT_0008cd60) == 0)) {\n      return 1;\n    }\n    pcVar5 = "%F%P: invalid maximum page size `%s\'\n";\n    __s1 = (char *)(*(int *)puVar1 + 0xe);\n  }\n  else {\n    iVar3 = 0x11;\n    pbVar7 = pbVar6;\n    pbVar8 = (byte *)"common-page-size=";\n    do {\n      if (iVar3 == 0) break;\n      iVar3 = iVar3 + -1;\n      bVar11 = *pbVar7 < *pbVar8;\n      bVar9 = *pbVar7 == *pbVar8;\n      pbVar7 = pbVar7 + 1;\n      pbVar8 = pbVar8 + 1;\n    } while (bVar9);\n    bVar10 = false;\n    bVar9 = (!bVar11 && !bVar9) == bVar11;\n    if (!bVar9) {\n      iVar3 = 0xb;\n      pbVar7 = pbVar6;\n      pbVar8 = (byte *)"stack-size=";\n      do {\n        if (iVar3 == 0) break;\n        iVar3 = iVar3 + -1;\n        bVar10 = *pbVar7 < *pbVar8;\n        bVar9 = *pbVar7 == *pbVar8;\n        pbVar7 = pbVar7 + 1;\n        pbVar8 = pbVar8 + 1;\n      } while (bVar9);\n      bVar11 = false;\n      bVar9 = (!bVar10 && !bVar9) == bVar10;\n      if (bVar9) {\n        DAT_0008cc10 = strtoul((char *)(pbVar6 + 0xb),local_20,0);\n        if ((*local_20[0] != '\0') || ((int)DAT_0008cc10 < 0)) {\n          iVar3 = *(int *)puVar1;\n          uVar4 = dcgettext(0,"%F%P: invalid stack size `%s\'\n",5,DAT_0008cc10);\n          FUN_00031700(uVar4,iVar3 + 0xb);\n        }\n        if (DAT_0008cc10 == 0) {\n          DAT_0008cc10 = 0xffffffff;\n          return 1;\n        }\n        return 1;\n      }\n      iVar3 = 10;\n      pbVar7 = pbVar6;\n      pbVar8 = (byte *)0x7ac61;\n      do {\n        if (iVar3 == 0) break;\n        iVar3 = iVar3 + -1;\n        bVar11 = *pbVar7 < *pbVar8;\n        bVar9 = *pbVar7 == *pbVar8;\n        pbVar7 = pbVar7 + 1;\n        pbVar8 = pbVar8 + 1;\n      } while (bVar9);\n      bVar10 = false;\n      bVar9 = (!bVar11 && !bVar9) == bVar11;\n      if (bVar9) {\n        _DAT_0008cc04 = _DAT_0008cc04 & 0xfffe7fff | 0x8000;\n        return 1;\n      }\n      iVar3 = 0xc;\n      pbVar7 = pbVar6;\n      pbVar8 = (byte *)"noexecstack";\n      do {\n        if (iVar3 == 0) break;\n        iVar3 = iVar3 + -1;\n        bVar10 = *pbVar7 < *pbVar8;\n        bVar9 = *pbVar7 == *pbVar8;\n        pbVar7 = pbVar7 + 1;\n        pbVar8 = pbVar8 + 1;\n      } while (bVar9);\n      if ((!bVar10 && !bVar9) == bVar10) {\n        _DAT_0008cc04 = _DAT_0008cc04 & 0xfffe7fff | 0x10000;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar6,"globalaudit");\n      if (iVar3 == 0) {\n        DAT_0008cc74 = DAT_0008cc74 | 0x1000000;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar6,"global");\n      if (iVar3 == 0) {\n        DAT_0008cc74 = DAT_0008cc74 | 2;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar6,"initfirst");\n      if (iVar3 == 0) {\n        DAT_0008cc74 = DAT_0008cc74 | 0x20;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar6,"interpose");\n      if (iVar3 == 0) {\n        DAT_0008cc74 = DAT_0008cc74 | 0x400;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar6,"loadfltr");\n      if (iVar3 == 0) {\n        DAT_0008cc74 = DAT_0008cc74 | 0x10;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar6,"nodefaultlib");\n      if (iVar3 == 0) {\n        DAT_0008cc74 = DAT_0008cc74 | 0x800;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar6,"nodelete");\n      if (iVar3 == 0) {\n        DAT_0008cc74 = DAT_0008cc74 | 8;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar6,"nodlopen");\n      if (iVar3 == 0) {\n        DAT_0008cc74 = DAT_0008cc74 | 0x40;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar6,"nodump");\n      if (iVar3 == 0) {\n        DAT_0008cc74 = DAT_0008cc74 | 0x1000;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar6,"now");\n      if (iVar3 == 0) {\n        _DAT_0008cc70 = _DAT_0008cc70 | 8;\n        DAT_0008cc74 = DAT_0008cc74 | 1;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar6,"lazy");\n      if (iVar3 == 0) {\n        _DAT_0008cc70 = _DAT_0008cc70 & 0xfffffff7;\n        DAT_0008cc74 = DAT_0008cc74 & 0xfffffffe;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar6,"origin");\n      if (iVar3 == 0) {\n        _DAT_0008cc70 = _DAT_0008cc70 | 1;\n        DAT_0008cc74 = DAT_0008cc74 | 0x80;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar6,"combreloc");\n      if (iVar3 == 0) {\n        _DAT_0008cc04 = _DAT_0008cc04 | 0x40;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar6,"nocombreloc");\n      if (iVar3 == 0) {\n        _DAT_0008cc04 = _DAT_0008cc04 & 0xffffffbf;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar6,"nocopyreloc");\n      if (iVar3 == 0) {\n        DAT_0008cc00._0_1_ = (byte)DAT_0008cc00 | 8;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar6,"relro");\n      if (iVar3 == 0) {\n        DAT_0008cc00._2_2_ = DAT_0008cc00._2_2_ | 0x1000;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar6,"norelro");\n      if (iVar3 == 0) {\n        DAT_0008cc00._2_2_ = DAT_0008cc00._2_2_ & 0xefff;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar6,"separate-code");\n      if (iVar3 == 0) {\n        DAT_0008cc00._2_2_ = DAT_0008cc00._2_2_ | 0x2000;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar6,"noseparate-code");\n      if (iVar3 == 0) {\n        DAT_0008cc00._2_2_ = DAT_0008cc00._2_2_ & 0xdfff;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar6,"common");\n      if (iVar3 == 0) {\n        DAT_0008cc00._2_2_ = DAT_0008cc00._2_2_ & 0xfff9 | 2;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar6,"nocommon");\n      if (iVar3 == 0) {\n        DAT_0008cc00._2_2_ = DAT_0008cc00._2_2_ & 0xfff9 | 4;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar6,"text");\n      if (iVar3 == 0) {\n        _DAT_0008cc04 = _DAT_0008cc04 | 2;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar6,"notext");\n      if ((iVar3 == 0) || (iVar3 = strcmp((char *)pbVar6,"textoff"), iVar3 == 0)) {\n        _DAT_0008cc04 = _DAT_0008cc04 & 0xfffffffd;\n        return 1;\n      }\n      pcVar5 = "%P: warning: -z %s ignored\n";\n      goto LAB_0003606a;\n    }\n    DAT_0008cd64 = strtoul((char *)(pbVar6 + 0x11),local_20,0);\n    if ((*local_20[0] == '\0') && ((DAT_0008cd64 - 1 & DAT_0008cd64) == 0)) {\n      return 1;\n    }\n    pcVar5 = "%F%P: invalid common page size `%s\'\n";\n    __s1 = (char *)(*(int *)puVar1 + 0x11);\n  }" if (parenthesized_expression "(bVar9)" ( identifier )) (compound_statement "{\n    DAT_0008cd60 = strtoul((char *)(pbVar6 + 0xe),local_20,0);\n    if ((*local_20[0] == '\0') && ((DAT_0008cd60 - 1 & DAT_0008cd60) == 0)) {\n      return 1;\n    }\n    pcVar5 = "%F%P: invalid maximum page size `%s\'\n";\n    __s1 = (char *)(*(int *)puVar1 + 0xe);\n  }" { (expression_statement "DAT_0008cd60 = strtoul((char *)(pbVar6 + 0xe),local_20,0);" (assignment_expression "DAT_0008cd60 = strtoul((char *)(pbVar6 + 0xe),local_20,0)" identifier = (call_expression "strtoul((char *)(pbVar6 + 0xe),local_20,0)" identifier (argument_list "((char *)(pbVar6 + 0xe),local_20,0)" ( (cast_expression "(char *)(pbVar6 + 0xe)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pbVar6 + 0xe)" ( (binary_expression "pbVar6 + 0xe" identifier + number_literal) ))) , identifier , number_literal )))) ;) (if_statement "if ((*local_20[0] == '\0') && ((DAT_0008cd60 - 1 & DAT_0008cd60) == 0)) {\n      return 1;\n    }" if (parenthesized_expression "((*local_20[0] == '\0') && ((DAT_0008cd60 - 1 & DAT_0008cd60) == 0))" ( (binary_expression "(*local_20[0] == '\0') && ((DAT_0008cd60 - 1 & DAT_0008cd60) == 0)" (parenthesized_expression "(*local_20[0] == '\0')" ( (binary_expression "*local_20[0] == '\0'" (pointer_expression "*local_20[0]" * (subscript_expression "local_20[0]" identifier [ number_literal ])) == (char_literal "'\0'" ' escape_sequence ')) )) && (parenthesized_expression "((DAT_0008cd60 - 1 & DAT_0008cd60) == 0)" ( (binary_expression "(DAT_0008cd60 - 1 & DAT_0008cd60) == 0" (parenthesized_expression "(DAT_0008cd60 - 1 & DAT_0008cd60)" ( (binary_expression "DAT_0008cd60 - 1 & DAT_0008cd60" (binary_expression "DAT_0008cd60 - 1" identifier - number_literal) & identifier) )) == number_literal) ))) )) (compound_statement "{\n      return 1;\n    }" { (return_statement "return 1;" return number_literal ;) })) (expression_statement "pcVar5 = "%F%P: invalid maximum page size `%s\'\n";" (assignment_expression "pcVar5 = "%F%P: invalid maximum page size `%s\'\n"" identifier = (string_literal ""%F%P: invalid maximum page size `%s\'\n"" " string_content escape_sequence escape_sequence ")) ;) (expression_statement "__s1 = (char *)(*(int *)puVar1 + 0xe);" (assignment_expression "__s1 = (char *)(*(int *)puVar1 + 0xe)" identifier = (cast_expression "(char *)(*(int *)puVar1 + 0xe)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)puVar1 + 0xe)" ( (binary_expression "*(int *)puVar1 + 0xe" (pointer_expression "*(int *)puVar1" * (cast_expression "(int *)puVar1" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) + number_literal) )))) ;) }) (else_clause "else {\n    iVar3 = 0x11;\n    pbVar7 = pbVar6;\n    pbVar8 = (byte *)"common-page-size=";\n    do {\n      if (iVar3 == 0) break;\n      iVar3 = iVar3 + -1;\n      bVar11 = *pbVar7 < *pbVar8;\n      bVar9 = *pbVar7 == *pbVar8;\n      pbVar7 = pbVar7 + 1;\n      pbVar8 = pbVar8 + 1;\n    } while (bVar9);\n    bVar10 = false;\n    bVar9 = (!bVar11 && !bVar9) == bVar11;\n    if (!bVar9) {\n      iVar3 = 0xb;\n      pbVar7 = pbVar6;\n      pbVar8 = (byte *)"stack-size=";\n      do {\n        if (iVar3 == 0) break;\n        iVar3 = iVar3 + -1;\n        bVar10 = *pbVar7 < *pbVar8;\n        bVar9 = *pbVar7 == *pbVar8;\n        pbVar7 = pbVar7 + 1;\n        pbVar8 = pbVar8 + 1;\n      } while (bVar9);\n      bVar11 = false;\n      bVar9 = (!bVar10 && !bVar9) == bVar10;\n      if (bVar9) {\n        DAT_0008cc10 = strtoul((char *)(pbVar6 + 0xb),local_20,0);\n        if ((*local_20[0] != '\0') || ((int)DAT_0008cc10 < 0)) {\n          iVar3 = *(int *)puVar1;\n          uVar4 = dcgettext(0,"%F%P: invalid stack size `%s\'\n",5,DAT_0008cc10);\n          FUN_00031700(uVar4,iVar3 + 0xb);\n        }\n        if (DAT_0008cc10 == 0) {\n          DAT_0008cc10 = 0xffffffff;\n          return 1;\n        }\n        return 1;\n      }\n      iVar3 = 10;\n      pbVar7 = pbVar6;\n      pbVar8 = (byte *)0x7ac61;\n      do {\n        if (iVar3 == 0) break;\n        iVar3 = iVar3 + -1;\n        bVar11 = *pbVar7 < *pbVar8;\n        bVar9 = *pbVar7 == *pbVar8;\n        pbVar7 = pbVar7 + 1;\n        pbVar8 = pbVar8 + 1;\n      } while (bVar9);\n      bVar10 = false;\n      bVar9 = (!bVar11 && !bVar9) == bVar11;\n      if (bVar9) {\n        _DAT_0008cc04 = _DAT_0008cc04 & 0xfffe7fff | 0x8000;\n        return 1;\n      }\n      iVar3 = 0xc;\n      pbVar7 = pbVar6;\n      pbVar8 = (byte *)"noexecstack";\n      do {\n        if (iVar3 == 0) break;\n        iVar3 = iVar3 + -1;\n        bVar10 = *pbVar7 < *pbVar8;\n        bVar9 = *pbVar7 == *pbVar8;\n        pbVar7 = pbVar7 + 1;\n        pbVar8 = pbVar8 + 1;\n      } while (bVar9);\n      if ((!bVar10 && !bVar9) == bVar10) {\n        _DAT_0008cc04 = _DAT_0008cc04 & 0xfffe7fff | 0x10000;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar6,"globalaudit");\n      if (iVar3 == 0) {\n        DAT_0008cc74 = DAT_0008cc74 | 0x1000000;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar6,"global");\n      if (iVar3 == 0) {\n        DAT_0008cc74 = DAT_0008cc74 | 2;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar6,"initfirst");\n      if (iVar3 == 0) {\n        DAT_0008cc74 = DAT_0008cc74 | 0x20;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar6,"interpose");\n      if (iVar3 == 0) {\n        DAT_0008cc74 = DAT_0008cc74 | 0x400;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar6,"loadfltr");\n      if (iVar3 == 0) {\n        DAT_0008cc74 = DAT_0008cc74 | 0x10;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar6,"nodefaultlib");\n      if (iVar3 == 0) {\n        DAT_0008cc74 = DAT_0008cc74 | 0x800;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar6,"nodelete");\n      if (iVar3 == 0) {\n        DAT_0008cc74 = DAT_0008cc74 | 8;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar6,"nodlopen");\n      if (iVar3 == 0) {\n        DAT_0008cc74 = DAT_0008cc74 | 0x40;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar6,"nodump");\n      if (iVar3 == 0) {\n        DAT_0008cc74 = DAT_0008cc74 | 0x1000;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar6,"now");\n      if (iVar3 == 0) {\n        _DAT_0008cc70 = _DAT_0008cc70 | 8;\n        DAT_0008cc74 = DAT_0008cc74 | 1;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar6,"lazy");\n      if (iVar3 == 0) {\n        _DAT_0008cc70 = _DAT_0008cc70 & 0xfffffff7;\n        DAT_0008cc74 = DAT_0008cc74 & 0xfffffffe;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar6,"origin");\n      if (iVar3 == 0) {\n        _DAT_0008cc70 = _DAT_0008cc70 | 1;\n        DAT_0008cc74 = DAT_0008cc74 | 0x80;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar6,"combreloc");\n      if (iVar3 == 0) {\n        _DAT_0008cc04 = _DAT_0008cc04 | 0x40;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar6,"nocombreloc");\n      if (iVar3 == 0) {\n        _DAT_0008cc04 = _DAT_0008cc04 & 0xffffffbf;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar6,"nocopyreloc");\n      if (iVar3 == 0) {\n        DAT_0008cc00._0_1_ = (byte)DAT_0008cc00 | 8;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar6,"relro");\n      if (iVar3 == 0) {\n        DAT_0008cc00._2_2_ = DAT_0008cc00._2_2_ | 0x1000;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar6,"norelro");\n      if (iVar3 == 0) {\n        DAT_0008cc00._2_2_ = DAT_0008cc00._2_2_ & 0xefff;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar6,"separate-code");\n      if (iVar3 == 0) {\n        DAT_0008cc00._2_2_ = DAT_0008cc00._2_2_ | 0x2000;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar6,"noseparate-code");\n      if (iVar3 == 0) {\n        DAT_0008cc00._2_2_ = DAT_0008cc00._2_2_ & 0xdfff;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar6,"common");\n      if (iVar3 == 0) {\n        DAT_0008cc00._2_2_ = DAT_0008cc00._2_2_ & 0xfff9 | 2;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar6,"nocommon");\n      if (iVar3 == 0) {\n        DAT_0008cc00._2_2_ = DAT_0008cc00._2_2_ & 0xfff9 | 4;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar6,"text");\n      if (iVar3 == 0) {\n        _DAT_0008cc04 = _DAT_0008cc04 | 2;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar6,"notext");\n      if ((iVar3 == 0) || (iVar3 = strcmp((char *)pbVar6,"textoff"), iVar3 == 0)) {\n        _DAT_0008cc04 = _DAT_0008cc04 & 0xfffffffd;\n        return 1;\n      }\n      pcVar5 = "%P: warning: -z %s ignored\n";\n      goto LAB_0003606a;\n    }\n    DAT_0008cd64 = strtoul((char *)(pbVar6 + 0x11),local_20,0);\n    if ((*local_20[0] == '\0') && ((DAT_0008cd64 - 1 & DAT_0008cd64) == 0)) {\n      return 1;\n    }\n    pcVar5 = "%F%P: invalid common page size `%s\'\n";\n    __s1 = (char *)(*(int *)puVar1 + 0x11);\n  }" else (compound_statement "{\n    iVar3 = 0x11;\n    pbVar7 = pbVar6;\n    pbVar8 = (byte *)"common-page-size=";\n    do {\n      if (iVar3 == 0) break;\n      iVar3 = iVar3 + -1;\n      bVar11 = *pbVar7 < *pbVar8;\n      bVar9 = *pbVar7 == *pbVar8;\n      pbVar7 = pbVar7 + 1;\n      pbVar8 = pbVar8 + 1;\n    } while (bVar9);\n    bVar10 = false;\n    bVar9 = (!bVar11 && !bVar9) == bVar11;\n    if (!bVar9) {\n      iVar3 = 0xb;\n      pbVar7 = pbVar6;\n      pbVar8 = (byte *)"stack-size=";\n      do {\n        if (iVar3 == 0) break;\n        iVar3 = iVar3 + -1;\n        bVar10 = *pbVar7 < *pbVar8;\n        bVar9 = *pbVar7 == *pbVar8;\n        pbVar7 = pbVar7 + 1;\n        pbVar8 = pbVar8 + 1;\n      } while (bVar9);\n      bVar11 = false;\n      bVar9 = (!bVar10 && !bVar9) == bVar10;\n      if (bVar9) {\n        DAT_0008cc10 = strtoul((char *)(pbVar6 + 0xb),local_20,0);\n        if ((*local_20[0] != '\0') || ((int)DAT_0008cc10 < 0)) {\n          iVar3 = *(int *)puVar1;\n          uVar4 = dcgettext(0,"%F%P: invalid stack size `%s\'\n",5,DAT_0008cc10);\n          FUN_00031700(uVar4,iVar3 + 0xb);\n        }\n        if (DAT_0008cc10 == 0) {\n          DAT_0008cc10 = 0xffffffff;\n          return 1;\n        }\n        return 1;\n      }\n      iVar3 = 10;\n      pbVar7 = pbVar6;\n      pbVar8 = (byte *)0x7ac61;\n      do {\n        if (iVar3 == 0) break;\n        iVar3 = iVar3 + -1;\n        bVar11 = *pbVar7 < *pbVar8;\n        bVar9 = *pbVar7 == *pbVar8;\n        pbVar7 = pbVar7 + 1;\n        pbVar8 = pbVar8 + 1;\n      } while (bVar9);\n      bVar10 = false;\n      bVar9 = (!bVar11 && !bVar9) == bVar11;\n      if (bVar9) {\n        _DAT_0008cc04 = _DAT_0008cc04 & 0xfffe7fff | 0x8000;\n        return 1;\n      }\n      iVar3 = 0xc;\n      pbVar7 = pbVar6;\n      pbVar8 = (byte *)"noexecstack";\n      do {\n        if (iVar3 == 0) break;\n        iVar3 = iVar3 + -1;\n        bVar10 = *pbVar7 < *pbVar8;\n        bVar9 = *pbVar7 == *pbVar8;\n        pbVar7 = pbVar7 + 1;\n        pbVar8 = pbVar8 + 1;\n      } while (bVar9);\n      if ((!bVar10 && !bVar9) == bVar10) {\n        _DAT_0008cc04 = _DAT_0008cc04 & 0xfffe7fff | 0x10000;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar6,"globalaudit");\n      if (iVar3 == 0) {\n        DAT_0008cc74 = DAT_0008cc74 | 0x1000000;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar6,"global");\n      if (iVar3 == 0) {\n        DAT_0008cc74 = DAT_0008cc74 | 2;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar6,"initfirst");\n      if (iVar3 == 0) {\n        DAT_0008cc74 = DAT_0008cc74 | 0x20;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar6,"interpose");\n      if (iVar3 == 0) {\n        DAT_0008cc74 = DAT_0008cc74 | 0x400;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar6,"loadfltr");\n      if (iVar3 == 0) {\n        DAT_0008cc74 = DAT_0008cc74 | 0x10;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar6,"nodefaultlib");\n      if (iVar3 == 0) {\n        DAT_0008cc74 = DAT_0008cc74 | 0x800;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar6,"nodelete");\n      if (iVar3 == 0) {\n        DAT_0008cc74 = DAT_0008cc74 | 8;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar6,"nodlopen");\n      if (iVar3 == 0) {\n        DAT_0008cc74 = DAT_0008cc74 | 0x40;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar6,"nodump");\n      if (iVar3 == 0) {\n        DAT_0008cc74 = DAT_0008cc74 | 0x1000;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar6,"now");\n      if (iVar3 == 0) {\n        _DAT_0008cc70 = _DAT_0008cc70 | 8;\n        DAT_0008cc74 = DAT_0008cc74 | 1;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar6,"lazy");\n      if (iVar3 == 0) {\n        _DAT_0008cc70 = _DAT_0008cc70 & 0xfffffff7;\n        DAT_0008cc74 = DAT_0008cc74 & 0xfffffffe;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar6,"origin");\n      if (iVar3 == 0) {\n        _DAT_0008cc70 = _DAT_0008cc70 | 1;\n        DAT_0008cc74 = DAT_0008cc74 | 0x80;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar6,"combreloc");\n      if (iVar3 == 0) {\n        _DAT_0008cc04 = _DAT_0008cc04 | 0x40;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar6,"nocombreloc");\n      if (iVar3 == 0) {\n        _DAT_0008cc04 = _DAT_0008cc04 & 0xffffffbf;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar6,"nocopyreloc");\n      if (iVar3 == 0) {\n        DAT_0008cc00._0_1_ = (byte)DAT_0008cc00 | 8;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar6,"relro");\n      if (iVar3 == 0) {\n        DAT_0008cc00._2_2_ = DAT_0008cc00._2_2_ | 0x1000;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar6,"norelro");\n      if (iVar3 == 0) {\n        DAT_0008cc00._2_2_ = DAT_0008cc00._2_2_ & 0xefff;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar6,"separate-code");\n      if (iVar3 == 0) {\n        DAT_0008cc00._2_2_ = DAT_0008cc00._2_2_ | 0x2000;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar6,"noseparate-code");\n      if (iVar3 == 0) {\n        DAT_0008cc00._2_2_ = DAT_0008cc00._2_2_ & 0xdfff;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar6,"common");\n      if (iVar3 == 0) {\n        DAT_0008cc00._2_2_ = DAT_0008cc00._2_2_ & 0xfff9 | 2;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar6,"nocommon");\n      if (iVar3 == 0) {\n        DAT_0008cc00._2_2_ = DAT_0008cc00._2_2_ & 0xfff9 | 4;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar6,"text");\n      if (iVar3 == 0) {\n        _DAT_0008cc04 = _DAT_0008cc04 | 2;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar6,"notext");\n      if ((iVar3 == 0) || (iVar3 = strcmp((char *)pbVar6,"textoff"), iVar3 == 0)) {\n        _DAT_0008cc04 = _DAT_0008cc04 & 0xfffffffd;\n        return 1;\n      }\n      pcVar5 = "%P: warning: -z %s ignored\n";\n      goto LAB_0003606a;\n    }\n    DAT_0008cd64 = strtoul((char *)(pbVar6 + 0x11),local_20,0);\n    if ((*local_20[0] == '\0') && ((DAT_0008cd64 - 1 & DAT_0008cd64) == 0)) {\n      return 1;\n    }\n    pcVar5 = "%F%P: invalid common page size `%s\'\n";\n    __s1 = (char *)(*(int *)puVar1 + 0x11);\n  }" { (expression_statement "iVar3 = 0x11;" (assignment_expression "iVar3 = 0x11" identifier = number_literal) ;) (expression_statement "pbVar7 = pbVar6;" (assignment_expression "pbVar7 = pbVar6" identifier = identifier) ;) (expression_statement "pbVar8 = (byte *)"common-page-size=";" (assignment_expression "pbVar8 = (byte *)"common-page-size="" identifier = (cast_expression "(byte *)"common-page-size="" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (string_literal ""common-page-size="" " string_content "))) ;) (do_statement "do {\n      if (iVar3 == 0) break;\n      iVar3 = iVar3 + -1;\n      bVar11 = *pbVar7 < *pbVar8;\n      bVar9 = *pbVar7 == *pbVar8;\n      pbVar7 = pbVar7 + 1;\n      pbVar8 = pbVar8 + 1;\n    } while (bVar9);" do (compound_statement "{\n      if (iVar3 == 0) break;\n      iVar3 = iVar3 + -1;\n      bVar11 = *pbVar7 < *pbVar8;\n      bVar9 = *pbVar7 == *pbVar8;\n      pbVar7 = pbVar7 + 1;\n      pbVar8 = pbVar8 + 1;\n    }" { (if_statement "if (iVar3 == 0) break;" if (parenthesized_expression "(iVar3 == 0)" ( (binary_expression "iVar3 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "iVar3 = iVar3 + -1;" (assignment_expression "iVar3 = iVar3 + -1" identifier = (binary_expression "iVar3 + -1" identifier + number_literal)) ;) (expression_statement "bVar11 = *pbVar7 < *pbVar8;" (assignment_expression "bVar11 = *pbVar7 < *pbVar8" identifier = (binary_expression "*pbVar7 < *pbVar8" (pointer_expression "*pbVar7" * identifier) < (pointer_expression "*pbVar8" * identifier))) ;) (expression_statement "bVar9 = *pbVar7 == *pbVar8;" (assignment_expression "bVar9 = *pbVar7 == *pbVar8" identifier = (binary_expression "*pbVar7 == *pbVar8" (pointer_expression "*pbVar7" * identifier) == (pointer_expression "*pbVar8" * identifier))) ;) (expression_statement "pbVar7 = pbVar7 + 1;" (assignment_expression "pbVar7 = pbVar7 + 1" identifier = (binary_expression "pbVar7 + 1" identifier + number_literal)) ;) (expression_statement "pbVar8 = pbVar8 + 1;" (assignment_expression "pbVar8 = pbVar8 + 1" identifier = (binary_expression "pbVar8 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(bVar9)" ( identifier )) ;) (expression_statement "bVar10 = false;" (assignment_expression "bVar10 = false" identifier = false) ;) (expression_statement "bVar9 = (!bVar11 && !bVar9) == bVar11;" (assignment_expression "bVar9 = (!bVar11 && !bVar9) == bVar11" identifier = (binary_expression "(!bVar11 && !bVar9) == bVar11" (parenthesized_expression "(!bVar11 && !bVar9)" ( (binary_expression "!bVar11 && !bVar9" (unary_expression "!bVar11" ! identifier) && (unary_expression "!bVar9" ! identifier)) )) == identifier)) ;) (if_statement "if (!bVar9) {\n      iVar3 = 0xb;\n      pbVar7 = pbVar6;\n      pbVar8 = (byte *)"stack-size=";\n      do {\n        if (iVar3 == 0) break;\n        iVar3 = iVar3 + -1;\n        bVar10 = *pbVar7 < *pbVar8;\n        bVar9 = *pbVar7 == *pbVar8;\n        pbVar7 = pbVar7 + 1;\n        pbVar8 = pbVar8 + 1;\n      } while (bVar9);\n      bVar11 = false;\n      bVar9 = (!bVar10 && !bVar9) == bVar10;\n      if (bVar9) {\n        DAT_0008cc10 = strtoul((char *)(pbVar6 + 0xb),local_20,0);\n        if ((*local_20[0] != '\0') || ((int)DAT_0008cc10 < 0)) {\n          iVar3 = *(int *)puVar1;\n          uVar4 = dcgettext(0,"%F%P: invalid stack size `%s\'\n",5,DAT_0008cc10);\n          FUN_00031700(uVar4,iVar3 + 0xb);\n        }\n        if (DAT_0008cc10 == 0) {\n          DAT_0008cc10 = 0xffffffff;\n          return 1;\n        }\n        return 1;\n      }\n      iVar3 = 10;\n      pbVar7 = pbVar6;\n      pbVar8 = (byte *)0x7ac61;\n      do {\n        if (iVar3 == 0) break;\n        iVar3 = iVar3 + -1;\n        bVar11 = *pbVar7 < *pbVar8;\n        bVar9 = *pbVar7 == *pbVar8;\n        pbVar7 = pbVar7 + 1;\n        pbVar8 = pbVar8 + 1;\n      } while (bVar9);\n      bVar10 = false;\n      bVar9 = (!bVar11 && !bVar9) == bVar11;\n      if (bVar9) {\n        _DAT_0008cc04 = _DAT_0008cc04 & 0xfffe7fff | 0x8000;\n        return 1;\n      }\n      iVar3 = 0xc;\n      pbVar7 = pbVar6;\n      pbVar8 = (byte *)"noexecstack";\n      do {\n        if (iVar3 == 0) break;\n        iVar3 = iVar3 + -1;\n        bVar10 = *pbVar7 < *pbVar8;\n        bVar9 = *pbVar7 == *pbVar8;\n        pbVar7 = pbVar7 + 1;\n        pbVar8 = pbVar8 + 1;\n      } while (bVar9);\n      if ((!bVar10 && !bVar9) == bVar10) {\n        _DAT_0008cc04 = _DAT_0008cc04 & 0xfffe7fff | 0x10000;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar6,"globalaudit");\n      if (iVar3 == 0) {\n        DAT_0008cc74 = DAT_0008cc74 | 0x1000000;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar6,"global");\n      if (iVar3 == 0) {\n        DAT_0008cc74 = DAT_0008cc74 | 2;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar6,"initfirst");\n      if (iVar3 == 0) {\n        DAT_0008cc74 = DAT_0008cc74 | 0x20;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar6,"interpose");\n      if (iVar3 == 0) {\n        DAT_0008cc74 = DAT_0008cc74 | 0x400;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar6,"loadfltr");\n      if (iVar3 == 0) {\n        DAT_0008cc74 = DAT_0008cc74 | 0x10;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar6,"nodefaultlib");\n      if (iVar3 == 0) {\n        DAT_0008cc74 = DAT_0008cc74 | 0x800;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar6,"nodelete");\n      if (iVar3 == 0) {\n        DAT_0008cc74 = DAT_0008cc74 | 8;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar6,"nodlopen");\n      if (iVar3 == 0) {\n        DAT_0008cc74 = DAT_0008cc74 | 0x40;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar6,"nodump");\n      if (iVar3 == 0) {\n        DAT_0008cc74 = DAT_0008cc74 | 0x1000;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar6,"now");\n      if (iVar3 == 0) {\n        _DAT_0008cc70 = _DAT_0008cc70 | 8;\n        DAT_0008cc74 = DAT_0008cc74 | 1;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar6,"lazy");\n      if (iVar3 == 0) {\n        _DAT_0008cc70 = _DAT_0008cc70 & 0xfffffff7;\n        DAT_0008cc74 = DAT_0008cc74 & 0xfffffffe;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar6,"origin");\n      if (iVar3 == 0) {\n        _DAT_0008cc70 = _DAT_0008cc70 | 1;\n        DAT_0008cc74 = DAT_0008cc74 | 0x80;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar6,"combreloc");\n      if (iVar3 == 0) {\n        _DAT_0008cc04 = _DAT_0008cc04 | 0x40;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar6,"nocombreloc");\n      if (iVar3 == 0) {\n        _DAT_0008cc04 = _DAT_0008cc04 & 0xffffffbf;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar6,"nocopyreloc");\n      if (iVar3 == 0) {\n        DAT_0008cc00._0_1_ = (byte)DAT_0008cc00 | 8;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar6,"relro");\n      if (iVar3 == 0) {\n        DAT_0008cc00._2_2_ = DAT_0008cc00._2_2_ | 0x1000;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar6,"norelro");\n      if (iVar3 == 0) {\n        DAT_0008cc00._2_2_ = DAT_0008cc00._2_2_ & 0xefff;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar6,"separate-code");\n      if (iVar3 == 0) {\n        DAT_0008cc00._2_2_ = DAT_0008cc00._2_2_ | 0x2000;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar6,"noseparate-code");\n      if (iVar3 == 0) {\n        DAT_0008cc00._2_2_ = DAT_0008cc00._2_2_ & 0xdfff;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar6,"common");\n      if (iVar3 == 0) {\n        DAT_0008cc00._2_2_ = DAT_0008cc00._2_2_ & 0xfff9 | 2;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar6,"nocommon");\n      if (iVar3 == 0) {\n        DAT_0008cc00._2_2_ = DAT_0008cc00._2_2_ & 0xfff9 | 4;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar6,"text");\n      if (iVar3 == 0) {\n        _DAT_0008cc04 = _DAT_0008cc04 | 2;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar6,"notext");\n      if ((iVar3 == 0) || (iVar3 = strcmp((char *)pbVar6,"textoff"), iVar3 == 0)) {\n        _DAT_0008cc04 = _DAT_0008cc04 & 0xfffffffd;\n        return 1;\n      }\n      pcVar5 = "%P: warning: -z %s ignored\n";\n      goto LAB_0003606a;\n    }" if (parenthesized_expression "(!bVar9)" ( (unary_expression "!bVar9" ! identifier) )) (compound_statement "{\n      iVar3 = 0xb;\n      pbVar7 = pbVar6;\n      pbVar8 = (byte *)"stack-size=";\n      do {\n        if (iVar3 == 0) break;\n        iVar3 = iVar3 + -1;\n        bVar10 = *pbVar7 < *pbVar8;\n        bVar9 = *pbVar7 == *pbVar8;\n        pbVar7 = pbVar7 + 1;\n        pbVar8 = pbVar8 + 1;\n      } while (bVar9);\n      bVar11 = false;\n      bVar9 = (!bVar10 && !bVar9) == bVar10;\n      if (bVar9) {\n        DAT_0008cc10 = strtoul((char *)(pbVar6 + 0xb),local_20,0);\n        if ((*local_20[0] != '\0') || ((int)DAT_0008cc10 < 0)) {\n          iVar3 = *(int *)puVar1;\n          uVar4 = dcgettext(0,"%F%P: invalid stack size `%s\'\n",5,DAT_0008cc10);\n          FUN_00031700(uVar4,iVar3 + 0xb);\n        }\n        if (DAT_0008cc10 == 0) {\n          DAT_0008cc10 = 0xffffffff;\n          return 1;\n        }\n        return 1;\n      }\n      iVar3 = 10;\n      pbVar7 = pbVar6;\n      pbVar8 = (byte *)0x7ac61;\n      do {\n        if (iVar3 == 0) break;\n        iVar3 = iVar3 + -1;\n        bVar11 = *pbVar7 < *pbVar8;\n        bVar9 = *pbVar7 == *pbVar8;\n        pbVar7 = pbVar7 + 1;\n        pbVar8 = pbVar8 + 1;\n      } while (bVar9);\n      bVar10 = false;\n      bVar9 = (!bVar11 && !bVar9) == bVar11;\n      if (bVar9) {\n        _DAT_0008cc04 = _DAT_0008cc04 & 0xfffe7fff | 0x8000;\n        return 1;\n      }\n      iVar3 = 0xc;\n      pbVar7 = pbVar6;\n      pbVar8 = (byte *)"noexecstack";\n      do {\n        if (iVar3 == 0) break;\n        iVar3 = iVar3 + -1;\n        bVar10 = *pbVar7 < *pbVar8;\n        bVar9 = *pbVar7 == *pbVar8;\n        pbVar7 = pbVar7 + 1;\n        pbVar8 = pbVar8 + 1;\n      } while (bVar9);\n      if ((!bVar10 && !bVar9) == bVar10) {\n        _DAT_0008cc04 = _DAT_0008cc04 & 0xfffe7fff | 0x10000;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar6,"globalaudit");\n      if (iVar3 == 0) {\n        DAT_0008cc74 = DAT_0008cc74 | 0x1000000;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar6,"global");\n      if (iVar3 == 0) {\n        DAT_0008cc74 = DAT_0008cc74 | 2;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar6,"initfirst");\n      if (iVar3 == 0) {\n        DAT_0008cc74 = DAT_0008cc74 | 0x20;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar6,"interpose");\n      if (iVar3 == 0) {\n        DAT_0008cc74 = DAT_0008cc74 | 0x400;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar6,"loadfltr");\n      if (iVar3 == 0) {\n        DAT_0008cc74 = DAT_0008cc74 | 0x10;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar6,"nodefaultlib");\n      if (iVar3 == 0) {\n        DAT_0008cc74 = DAT_0008cc74 | 0x800;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar6,"nodelete");\n      if (iVar3 == 0) {\n        DAT_0008cc74 = DAT_0008cc74 | 8;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar6,"nodlopen");\n      if (iVar3 == 0) {\n        DAT_0008cc74 = DAT_0008cc74 | 0x40;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar6,"nodump");\n      if (iVar3 == 0) {\n        DAT_0008cc74 = DAT_0008cc74 | 0x1000;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar6,"now");\n      if (iVar3 == 0) {\n        _DAT_0008cc70 = _DAT_0008cc70 | 8;\n        DAT_0008cc74 = DAT_0008cc74 | 1;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar6,"lazy");\n      if (iVar3 == 0) {\n        _DAT_0008cc70 = _DAT_0008cc70 & 0xfffffff7;\n        DAT_0008cc74 = DAT_0008cc74 & 0xfffffffe;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar6,"origin");\n      if (iVar3 == 0) {\n        _DAT_0008cc70 = _DAT_0008cc70 | 1;\n        DAT_0008cc74 = DAT_0008cc74 | 0x80;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar6,"combreloc");\n      if (iVar3 == 0) {\n        _DAT_0008cc04 = _DAT_0008cc04 | 0x40;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar6,"nocombreloc");\n      if (iVar3 == 0) {\n        _DAT_0008cc04 = _DAT_0008cc04 & 0xffffffbf;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar6,"nocopyreloc");\n      if (iVar3 == 0) {\n        DAT_0008cc00._0_1_ = (byte)DAT_0008cc00 | 8;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar6,"relro");\n      if (iVar3 == 0) {\n        DAT_0008cc00._2_2_ = DAT_0008cc00._2_2_ | 0x1000;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar6,"norelro");\n      if (iVar3 == 0) {\n        DAT_0008cc00._2_2_ = DAT_0008cc00._2_2_ & 0xefff;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar6,"separate-code");\n      if (iVar3 == 0) {\n        DAT_0008cc00._2_2_ = DAT_0008cc00._2_2_ | 0x2000;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar6,"noseparate-code");\n      if (iVar3 == 0) {\n        DAT_0008cc00._2_2_ = DAT_0008cc00._2_2_ & 0xdfff;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar6,"common");\n      if (iVar3 == 0) {\n        DAT_0008cc00._2_2_ = DAT_0008cc00._2_2_ & 0xfff9 | 2;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar6,"nocommon");\n      if (iVar3 == 0) {\n        DAT_0008cc00._2_2_ = DAT_0008cc00._2_2_ & 0xfff9 | 4;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar6,"text");\n      if (iVar3 == 0) {\n        _DAT_0008cc04 = _DAT_0008cc04 | 2;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar6,"notext");\n      if ((iVar3 == 0) || (iVar3 = strcmp((char *)pbVar6,"textoff"), iVar3 == 0)) {\n        _DAT_0008cc04 = _DAT_0008cc04 & 0xfffffffd;\n        return 1;\n      }\n      pcVar5 = "%P: warning: -z %s ignored\n";\n      goto LAB_0003606a;\n    }" { (expression_statement "iVar3 = 0xb;" (assignment_expression "iVar3 = 0xb" identifier = number_literal) ;) (expression_statement "pbVar7 = pbVar6;" (assignment_expression "pbVar7 = pbVar6" identifier = identifier) ;) (expression_statement "pbVar8 = (byte *)"stack-size=";" (assignment_expression "pbVar8 = (byte *)"stack-size="" identifier = (cast_expression "(byte *)"stack-size="" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (string_literal ""stack-size="" " string_content "))) ;) (do_statement "do {\n        if (iVar3 == 0) break;\n        iVar3 = iVar3 + -1;\n        bVar10 = *pbVar7 < *pbVar8;\n        bVar9 = *pbVar7 == *pbVar8;\n        pbVar7 = pbVar7 + 1;\n        pbVar8 = pbVar8 + 1;\n      } while (bVar9);" do (compound_statement "{\n        if (iVar3 == 0) break;\n        iVar3 = iVar3 + -1;\n        bVar10 = *pbVar7 < *pbVar8;\n        bVar9 = *pbVar7 == *pbVar8;\n        pbVar7 = pbVar7 + 1;\n        pbVar8 = pbVar8 + 1;\n      }" { (if_statement "if (iVar3 == 0) break;" if (parenthesized_expression "(iVar3 == 0)" ( (binary_expression "iVar3 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "iVar3 = iVar3 + -1;" (assignment_expression "iVar3 = iVar3 + -1" identifier = (binary_expression "iVar3 + -1" identifier + number_literal)) ;) (expression_statement "bVar10 = *pbVar7 < *pbVar8;" (assignment_expression "bVar10 = *pbVar7 < *pbVar8" identifier = (binary_expression "*pbVar7 < *pbVar8" (pointer_expression "*pbVar7" * identifier) < (pointer_expression "*pbVar8" * identifier))) ;) (expression_statement "bVar9 = *pbVar7 == *pbVar8;" (assignment_expression "bVar9 = *pbVar7 == *pbVar8" identifier = (binary_expression "*pbVar7 == *pbVar8" (pointer_expression "*pbVar7" * identifier) == (pointer_expression "*pbVar8" * identifier))) ;) (expression_statement "pbVar7 = pbVar7 + 1;" (assignment_expression "pbVar7 = pbVar7 + 1" identifier = (binary_expression "pbVar7 + 1" identifier + number_literal)) ;) (expression_statement "pbVar8 = pbVar8 + 1;" (assignment_expression "pbVar8 = pbVar8 + 1" identifier = (binary_expression "pbVar8 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(bVar9)" ( identifier )) ;) (expression_statement "bVar11 = false;" (assignment_expression "bVar11 = false" identifier = false) ;) (expression_statement "bVar9 = (!bVar10 && !bVar9) == bVar10;" (assignment_expression "bVar9 = (!bVar10 && !bVar9) == bVar10" identifier = (binary_expression "(!bVar10 && !bVar9) == bVar10" (parenthesized_expression "(!bVar10 && !bVar9)" ( (binary_expression "!bVar10 && !bVar9" (unary_expression "!bVar10" ! identifier) && (unary_expression "!bVar9" ! identifier)) )) == identifier)) ;) (if_statement "if (bVar9) {\n        DAT_0008cc10 = strtoul((char *)(pbVar6 + 0xb),local_20,0);\n        if ((*local_20[0] != '\0') || ((int)DAT_0008cc10 < 0)) {\n          iVar3 = *(int *)puVar1;\n          uVar4 = dcgettext(0,"%F%P: invalid stack size `%s\'\n",5,DAT_0008cc10);\n          FUN_00031700(uVar4,iVar3 + 0xb);\n        }\n        if (DAT_0008cc10 == 0) {\n          DAT_0008cc10 = 0xffffffff;\n          return 1;\n        }\n        return 1;\n      }" if (parenthesized_expression "(bVar9)" ( identifier )) (compound_statement "{\n        DAT_0008cc10 = strtoul((char *)(pbVar6 + 0xb),local_20,0);\n        if ((*local_20[0] != '\0') || ((int)DAT_0008cc10 < 0)) {\n          iVar3 = *(int *)puVar1;\n          uVar4 = dcgettext(0,"%F%P: invalid stack size `%s\'\n",5,DAT_0008cc10);\n          FUN_00031700(uVar4,iVar3 + 0xb);\n        }\n        if (DAT_0008cc10 == 0) {\n          DAT_0008cc10 = 0xffffffff;\n          return 1;\n        }\n        return 1;\n      }" { (expression_statement "DAT_0008cc10 = strtoul((char *)(pbVar6 + 0xb),local_20,0);" (assignment_expression "DAT_0008cc10 = strtoul((char *)(pbVar6 + 0xb),local_20,0)" identifier = (call_expression "strtoul((char *)(pbVar6 + 0xb),local_20,0)" identifier (argument_list "((char *)(pbVar6 + 0xb),local_20,0)" ( (cast_expression "(char *)(pbVar6 + 0xb)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pbVar6 + 0xb)" ( (binary_expression "pbVar6 + 0xb" identifier + number_literal) ))) , identifier , number_literal )))) ;) (if_statement "if ((*local_20[0] != '\0') || ((int)DAT_0008cc10 < 0)) {\n          iVar3 = *(int *)puVar1;\n          uVar4 = dcgettext(0,"%F%P: invalid stack size `%s\'\n",5,DAT_0008cc10);\n          FUN_00031700(uVar4,iVar3 + 0xb);\n        }" if (parenthesized_expression "((*local_20[0] != '\0') || ((int)DAT_0008cc10 < 0))" ( (binary_expression "(*local_20[0] != '\0') || ((int)DAT_0008cc10 < 0)" (parenthesized_expression "(*local_20[0] != '\0')" ( (binary_expression "*local_20[0] != '\0'" (pointer_expression "*local_20[0]" * (subscript_expression "local_20[0]" identifier [ number_literal ])) != (char_literal "'\0'" ' escape_sequence ')) )) || (parenthesized_expression "((int)DAT_0008cc10 < 0)" ( (binary_expression "(int)DAT_0008cc10 < 0" (cast_expression "(int)DAT_0008cc10" ( (type_descriptor "int" primitive_type) ) identifier) < number_literal) ))) )) (compound_statement "{\n          iVar3 = *(int *)puVar1;\n          uVar4 = dcgettext(0,"%F%P: invalid stack size `%s\'\n",5,DAT_0008cc10);\n          FUN_00031700(uVar4,iVar3 + 0xb);\n        }" { (expression_statement "iVar3 = *(int *)puVar1;" (assignment_expression "iVar3 = *(int *)puVar1" identifier = (pointer_expression "*(int *)puVar1" * (cast_expression "(int *)puVar1" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) ;) (expression_statement "uVar4 = dcgettext(0,"%F%P: invalid stack size `%s\'\n",5,DAT_0008cc10);" (assignment_expression "uVar4 = dcgettext(0,"%F%P: invalid stack size `%s\'\n",5,DAT_0008cc10)" identifier = (call_expression "dcgettext(0,"%F%P: invalid stack size `%s\'\n",5,DAT_0008cc10)" identifier (argument_list "(0,"%F%P: invalid stack size `%s\'\n",5,DAT_0008cc10)" ( number_literal , (string_literal ""%F%P: invalid stack size `%s\'\n"" " string_content escape_sequence escape_sequence ") , number_literal , identifier )))) ;) (expression_statement "FUN_00031700(uVar4,iVar3 + 0xb);" (call_expression "FUN_00031700(uVar4,iVar3 + 0xb)" identifier (argument_list "(uVar4,iVar3 + 0xb)" ( identifier , (binary_expression "iVar3 + 0xb" identifier + number_literal) ))) ;) })) (if_statement "if (DAT_0008cc10 == 0) {\n          DAT_0008cc10 = 0xffffffff;\n          return 1;\n        }" if (parenthesized_expression "(DAT_0008cc10 == 0)" ( (binary_expression "DAT_0008cc10 == 0" identifier == number_literal) )) (compound_statement "{\n          DAT_0008cc10 = 0xffffffff;\n          return 1;\n        }" { (expression_statement "DAT_0008cc10 = 0xffffffff;" (assignment_expression "DAT_0008cc10 = 0xffffffff" identifier = number_literal) ;) (return_statement "return 1;" return number_literal ;) })) (return_statement "return 1;" return number_literal ;) })) (expression_statement "iVar3 = 10;" (assignment_expression "iVar3 = 10" identifier = number_literal) ;) (expression_statement "pbVar7 = pbVar6;" (assignment_expression "pbVar7 = pbVar6" identifier = identifier) ;) (expression_statement "pbVar8 = (byte *)0x7ac61;" (assignment_expression "pbVar8 = (byte *)0x7ac61" identifier = (cast_expression "(byte *)0x7ac61" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (do_statement "do {\n        if (iVar3 == 0) break;\n        iVar3 = iVar3 + -1;\n        bVar11 = *pbVar7 < *pbVar8;\n        bVar9 = *pbVar7 == *pbVar8;\n        pbVar7 = pbVar7 + 1;\n        pbVar8 = pbVar8 + 1;\n      } while (bVar9);" do (compound_statement "{\n        if (iVar3 == 0) break;\n        iVar3 = iVar3 + -1;\n        bVar11 = *pbVar7 < *pbVar8;\n        bVar9 = *pbVar7 == *pbVar8;\n        pbVar7 = pbVar7 + 1;\n        pbVar8 = pbVar8 + 1;\n      }" { (if_statement "if (iVar3 == 0) break;" if (parenthesized_expression "(iVar3 == 0)" ( (binary_expression "iVar3 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "iVar3 = iVar3 + -1;" (assignment_expression "iVar3 = iVar3 + -1" identifier = (binary_expression "iVar3 + -1" identifier + number_literal)) ;) (expression_statement "bVar11 = *pbVar7 < *pbVar8;" (assignment_expression "bVar11 = *pbVar7 < *pbVar8" identifier = (binary_expression "*pbVar7 < *pbVar8" (pointer_expression "*pbVar7" * identifier) < (pointer_expression "*pbVar8" * identifier))) ;) (expression_statement "bVar9 = *pbVar7 == *pbVar8;" (assignment_expression "bVar9 = *pbVar7 == *pbVar8" identifier = (binary_expression "*pbVar7 == *pbVar8" (pointer_expression "*pbVar7" * identifier) == (pointer_expression "*pbVar8" * identifier))) ;) (expression_statement "pbVar7 = pbVar7 + 1;" (assignment_expression "pbVar7 = pbVar7 + 1" identifier = (binary_expression "pbVar7 + 1" identifier + number_literal)) ;) (expression_statement "pbVar8 = pbVar8 + 1;" (assignment_expression "pbVar8 = pbVar8 + 1" identifier = (binary_expression "pbVar8 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(bVar9)" ( identifier )) ;) (expression_statement "bVar10 = false;" (assignment_expression "bVar10 = false" identifier = false) ;) (expression_statement "bVar9 = (!bVar11 && !bVar9) == bVar11;" (assignment_expression "bVar9 = (!bVar11 && !bVar9) == bVar11" identifier = (binary_expression "(!bVar11 && !bVar9) == bVar11" (parenthesized_expression "(!bVar11 && !bVar9)" ( (binary_expression "!bVar11 && !bVar9" (unary_expression "!bVar11" ! identifier) && (unary_expression "!bVar9" ! identifier)) )) == identifier)) ;) (if_statement "if (bVar9) {\n        _DAT_0008cc04 = _DAT_0008cc04 & 0xfffe7fff | 0x8000;\n        return 1;\n      }" if (parenthesized_expression "(bVar9)" ( identifier )) (compound_statement "{\n        _DAT_0008cc04 = _DAT_0008cc04 & 0xfffe7fff | 0x8000;\n        return 1;\n      }" { (expression_statement "_DAT_0008cc04 = _DAT_0008cc04 & 0xfffe7fff | 0x8000;" (assignment_expression "_DAT_0008cc04 = _DAT_0008cc04 & 0xfffe7fff | 0x8000" identifier = (binary_expression "_DAT_0008cc04 & 0xfffe7fff | 0x8000" (binary_expression "_DAT_0008cc04 & 0xfffe7fff" identifier & number_literal) | number_literal)) ;) (return_statement "return 1;" return number_literal ;) })) (expression_statement "iVar3 = 0xc;" (assignment_expression "iVar3 = 0xc" identifier = number_literal) ;) (expression_statement "pbVar7 = pbVar6;" (assignment_expression "pbVar7 = pbVar6" identifier = identifier) ;) (expression_statement "pbVar8 = (byte *)"noexecstack";" (assignment_expression "pbVar8 = (byte *)"noexecstack"" identifier = (cast_expression "(byte *)"noexecstack"" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (string_literal ""noexecstack"" " string_content "))) ;) (do_statement "do {\n        if (iVar3 == 0) break;\n        iVar3 = iVar3 + -1;\n        bVar10 = *pbVar7 < *pbVar8;\n        bVar9 = *pbVar7 == *pbVar8;\n        pbVar7 = pbVar7 + 1;\n        pbVar8 = pbVar8 + 1;\n      } while (bVar9);" do (compound_statement "{\n        if (iVar3 == 0) break;\n        iVar3 = iVar3 + -1;\n        bVar10 = *pbVar7 < *pbVar8;\n        bVar9 = *pbVar7 == *pbVar8;\n        pbVar7 = pbVar7 + 1;\n        pbVar8 = pbVar8 + 1;\n      }" { (if_statement "if (iVar3 == 0) break;" if (parenthesized_expression "(iVar3 == 0)" ( (binary_expression "iVar3 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "iVar3 = iVar3 + -1;" (assignment_expression "iVar3 = iVar3 + -1" identifier = (binary_expression "iVar3 + -1" identifier + number_literal)) ;) (expression_statement "bVar10 = *pbVar7 < *pbVar8;" (assignment_expression "bVar10 = *pbVar7 < *pbVar8" identifier = (binary_expression "*pbVar7 < *pbVar8" (pointer_expression "*pbVar7" * identifier) < (pointer_expression "*pbVar8" * identifier))) ;) (expression_statement "bVar9 = *pbVar7 == *pbVar8;" (assignment_expression "bVar9 = *pbVar7 == *pbVar8" identifier = (binary_expression "*pbVar7 == *pbVar8" (pointer_expression "*pbVar7" * identifier) == (pointer_expression "*pbVar8" * identifier))) ;) (expression_statement "pbVar7 = pbVar7 + 1;" (assignment_expression "pbVar7 = pbVar7 + 1" identifier = (binary_expression "pbVar7 + 1" identifier + number_literal)) ;) (expression_statement "pbVar8 = pbVar8 + 1;" (assignment_expression "pbVar8 = pbVar8 + 1" identifier = (binary_expression "pbVar8 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(bVar9)" ( identifier )) ;) (if_statement "if ((!bVar10 && !bVar9) == bVar10) {\n        _DAT_0008cc04 = _DAT_0008cc04 & 0xfffe7fff | 0x10000;\n        return 1;\n      }" if (parenthesized_expression "((!bVar10 && !bVar9) == bVar10)" ( (binary_expression "(!bVar10 && !bVar9) == bVar10" (parenthesized_expression "(!bVar10 && !bVar9)" ( (binary_expression "!bVar10 && !bVar9" (unary_expression "!bVar10" ! identifier) && (unary_expression "!bVar9" ! identifier)) )) == identifier) )) (compound_statement "{\n        _DAT_0008cc04 = _DAT_0008cc04 & 0xfffe7fff | 0x10000;\n        return 1;\n      }" { (expression_statement "_DAT_0008cc04 = _DAT_0008cc04 & 0xfffe7fff | 0x10000;" (assignment_expression "_DAT_0008cc04 = _DAT_0008cc04 & 0xfffe7fff | 0x10000" identifier = (binary_expression "_DAT_0008cc04 & 0xfffe7fff | 0x10000" (binary_expression "_DAT_0008cc04 & 0xfffe7fff" identifier & number_literal) | number_literal)) ;) (return_statement "return 1;" return number_literal ;) })) (expression_statement "iVar3 = strcmp((char *)pbVar6,"globalaudit");" (assignment_expression "iVar3 = strcmp((char *)pbVar6,"globalaudit")" identifier = (call_expression "strcmp((char *)pbVar6,"globalaudit")" identifier (argument_list "((char *)pbVar6,"globalaudit")" ( (cast_expression "(char *)pbVar6" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) , (string_literal ""globalaudit"" " string_content ") )))) ;) (if_statement "if (iVar3 == 0) {\n        DAT_0008cc74 = DAT_0008cc74 | 0x1000000;\n        return 1;\n      }" if (parenthesized_expression "(iVar3 == 0)" ( (binary_expression "iVar3 == 0" identifier == number_literal) )) (compound_statement "{\n        DAT_0008cc74 = DAT_0008cc74 | 0x1000000;\n        return 1;\n      }" { (expression_statement "DAT_0008cc74 = DAT_0008cc74 | 0x1000000;" (assignment_expression "DAT_0008cc74 = DAT_0008cc74 | 0x1000000" identifier = (binary_expression "DAT_0008cc74 | 0x1000000" identifier | number_literal)) ;) (return_statement "return 1;" return number_literal ;) })) (expression_statement "iVar3 = strcmp((char *)pbVar6,"global");" (assignment_expression "iVar3 = strcmp((char *)pbVar6,"global")" identifier = (call_expression "strcmp((char *)pbVar6,"global")" identifier (argument_list "((char *)pbVar6,"global")" ( (cast_expression "(char *)pbVar6" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) , (string_literal ""global"" " string_content ") )))) ;) (if_statement "if (iVar3 == 0) {\n        DAT_0008cc74 = DAT_0008cc74 | 2;\n        return 1;\n      }" if (parenthesized_expression "(iVar3 == 0)" ( (binary_expression "iVar3 == 0" identifier == number_literal) )) (compound_statement "{\n        DAT_0008cc74 = DAT_0008cc74 | 2;\n        return 1;\n      }" { (expression_statement "DAT_0008cc74 = DAT_0008cc74 | 2;" (assignment_expression "DAT_0008cc74 = DAT_0008cc74 | 2" identifier = (binary_expression "DAT_0008cc74 | 2" identifier | number_literal)) ;) (return_statement "return 1;" return number_literal ;) })) (expression_statement "iVar3 = strcmp((char *)pbVar6,"initfirst");" (assignment_expression "iVar3 = strcmp((char *)pbVar6,"initfirst")" identifier = (call_expression "strcmp((char *)pbVar6,"initfirst")" identifier (argument_list "((char *)pbVar6,"initfirst")" ( (cast_expression "(char *)pbVar6" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) , (string_literal ""initfirst"" " string_content ") )))) ;) (if_statement "if (iVar3 == 0) {\n        DAT_0008cc74 = DAT_0008cc74 | 0x20;\n        return 1;\n      }" if (parenthesized_expression "(iVar3 == 0)" ( (binary_expression "iVar3 == 0" identifier == number_literal) )) (compound_statement "{\n        DAT_0008cc74 = DAT_0008cc74 | 0x20;\n        return 1;\n      }" { (expression_statement "DAT_0008cc74 = DAT_0008cc74 | 0x20;" (assignment_expression "DAT_0008cc74 = DAT_0008cc74 | 0x20" identifier = (binary_expression "DAT_0008cc74 | 0x20" identifier | number_literal)) ;) (return_statement "return 1;" return number_literal ;) })) (expression_statement "iVar3 = strcmp((char *)pbVar6,"interpose");" (assignment_expression "iVar3 = strcmp((char *)pbVar6,"interpose")" identifier = (call_expression "strcmp((char *)pbVar6,"interpose")" identifier (argument_list "((char *)pbVar6,"interpose")" ( (cast_expression "(char *)pbVar6" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) , (string_literal ""interpose"" " string_content ") )))) ;) (if_statement "if (iVar3 == 0) {\n        DAT_0008cc74 = DAT_0008cc74 | 0x400;\n        return 1;\n      }" if (parenthesized_expression "(iVar3 == 0)" ( (binary_expression "iVar3 == 0" identifier == number_literal) )) (compound_statement "{\n        DAT_0008cc74 = DAT_0008cc74 | 0x400;\n        return 1;\n      }" { (expression_statement "DAT_0008cc74 = DAT_0008cc74 | 0x400;" (assignment_expression "DAT_0008cc74 = DAT_0008cc74 | 0x400" identifier = (binary_expression "DAT_0008cc74 | 0x400" identifier | number_literal)) ;) (return_statement "return 1;" return number_literal ;) })) (expression_statement "iVar3 = strcmp((char *)pbVar6,"loadfltr");" (assignment_expression "iVar3 = strcmp((char *)pbVar6,"loadfltr")" identifier = (call_expression "strcmp((char *)pbVar6,"loadfltr")" identifier (argument_list "((char *)pbVar6,"loadfltr")" ( (cast_expression "(char *)pbVar6" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) , (string_literal ""loadfltr"" " string_content ") )))) ;) (if_statement "if (iVar3 == 0) {\n        DAT_0008cc74 = DAT_0008cc74 | 0x10;\n        return 1;\n      }" if (parenthesized_expression "(iVar3 == 0)" ( (binary_expression "iVar3 == 0" identifier == number_literal) )) (compound_statement "{\n        DAT_0008cc74 = DAT_0008cc74 | 0x10;\n        return 1;\n      }" { (expression_statement "DAT_0008cc74 = DAT_0008cc74 | 0x10;" (assignment_expression "DAT_0008cc74 = DAT_0008cc74 | 0x10" identifier = (binary_expression "DAT_0008cc74 | 0x10" identifier | number_literal)) ;) (return_statement "return 1;" return number_literal ;) })) (expression_statement "iVar3 = strcmp((char *)pbVar6,"nodefaultlib");" (assignment_expression "iVar3 = strcmp((char *)pbVar6,"nodefaultlib")" identifier = (call_expression "strcmp((char *)pbVar6,"nodefaultlib")" identifier (argument_list "((char *)pbVar6,"nodefaultlib")" ( (cast_expression "(char *)pbVar6" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) , (string_literal ""nodefaultlib"" " string_content ") )))) ;) (if_statement "if (iVar3 == 0) {\n        DAT_0008cc74 = DAT_0008cc74 | 0x800;\n        return 1;\n      }" if (parenthesized_expression "(iVar3 == 0)" ( (binary_expression "iVar3 == 0" identifier == number_literal) )) (compound_statement "{\n        DAT_0008cc74 = DAT_0008cc74 | 0x800;\n        return 1;\n      }" { (expression_statement "DAT_0008cc74 = DAT_0008cc74 | 0x800;" (assignment_expression "DAT_0008cc74 = DAT_0008cc74 | 0x800" identifier = (binary_expression "DAT_0008cc74 | 0x800" identifier | number_literal)) ;) (return_statement "return 1;" return number_literal ;) })) (expression_statement "iVar3 = strcmp((char *)pbVar6,"nodelete");" (assignment_expression "iVar3 = strcmp((char *)pbVar6,"nodelete")" identifier = (call_expression "strcmp((char *)pbVar6,"nodelete")" identifier (argument_list "((char *)pbVar6,"nodelete")" ( (cast_expression "(char *)pbVar6" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) , (string_literal ""nodelete"" " string_content ") )))) ;) (if_statement "if (iVar3 == 0) {\n        DAT_0008cc74 = DAT_0008cc74 | 8;\n        return 1;\n      }" if (parenthesized_expression "(iVar3 == 0)" ( (binary_expression "iVar3 == 0" identifier == number_literal) )) (compound_statement "{\n        DAT_0008cc74 = DAT_0008cc74 | 8;\n        return 1;\n      }" { (expression_statement "DAT_0008cc74 = DAT_0008cc74 | 8;" (assignment_expression "DAT_0008cc74 = DAT_0008cc74 | 8" identifier = (binary_expression "DAT_0008cc74 | 8" identifier | number_literal)) ;) (return_statement "return 1;" return number_literal ;) })) (expression_statement "iVar3 = strcmp((char *)pbVar6,"nodlopen");" (assignment_expression "iVar3 = strcmp((char *)pbVar6,"nodlopen")" identifier = (call_expression "strcmp((char *)pbVar6,"nodlopen")" identifier (argument_list "((char *)pbVar6,"nodlopen")" ( (cast_expression "(char *)pbVar6" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) , (string_literal ""nodlopen"" " string_content ") )))) ;) (if_statement "if (iVar3 == 0) {\n        DAT_0008cc74 = DAT_0008cc74 | 0x40;\n        return 1;\n      }" if (parenthesized_expression "(iVar3 == 0)" ( (binary_expression "iVar3 == 0" identifier == number_literal) )) (compound_statement "{\n        DAT_0008cc74 = DAT_0008cc74 | 0x40;\n        return 1;\n      }" { (expression_statement "DAT_0008cc74 = DAT_0008cc74 | 0x40;" (assignment_expression "DAT_0008cc74 = DAT_0008cc74 | 0x40" identifier = (binary_expression "DAT_0008cc74 | 0x40" identifier | number_literal)) ;) (return_statement "return 1;" return number_literal ;) })) (expression_statement "iVar3 = strcmp((char *)pbVar6,"nodump");" (assignment_expression "iVar3 = strcmp((char *)pbVar6,"nodump")" identifier = (call_expression "strcmp((char *)pbVar6,"nodump")" identifier (argument_list "((char *)pbVar6,"nodump")" ( (cast_expression "(char *)pbVar6" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) , (string_literal ""nodump"" " string_content ") )))) ;) (if_statement "if (iVar3 == 0) {\n        DAT_0008cc74 = DAT_0008cc74 | 0x1000;\n        return 1;\n      }" if (parenthesized_expression "(iVar3 == 0)" ( (binary_expression "iVar3 == 0" identifier == number_literal) )) (compound_statement "{\n        DAT_0008cc74 = DAT_0008cc74 | 0x1000;\n        return 1;\n      }" { (expression_statement "DAT_0008cc74 = DAT_0008cc74 | 0x1000;" (assignment_expression "DAT_0008cc74 = DAT_0008cc74 | 0x1000" identifier = (binary_expression "DAT_0008cc74 | 0x1000" identifier | number_literal)) ;) (return_statement "return 1;" return number_literal ;) })) (expression_statement "iVar3 = strcmp((char *)pbVar6,"now");" (assignment_expression "iVar3 = strcmp((char *)pbVar6,"now")" identifier = (call_expression "strcmp((char *)pbVar6,"now")" identifier (argument_list "((char *)pbVar6,"now")" ( (cast_expression "(char *)pbVar6" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) , (string_literal ""now"" " string_content ") )))) ;) (if_statement "if (iVar3 == 0) {\n        _DAT_0008cc70 = _DAT_0008cc70 | 8;\n        DAT_0008cc74 = DAT_0008cc74 | 1;\n        return 1;\n      }" if (parenthesized_expression "(iVar3 == 0)" ( (binary_expression "iVar3 == 0" identifier == number_literal) )) (compound_statement "{\n        _DAT_0008cc70 = _DAT_0008cc70 | 8;\n        DAT_0008cc74 = DAT_0008cc74 | 1;\n        return 1;\n      }" { (expression_statement "_DAT_0008cc70 = _DAT_0008cc70 | 8;" (assignment_expression "_DAT_0008cc70 = _DAT_0008cc70 | 8" identifier = (binary_expression "_DAT_0008cc70 | 8" identifier | number_literal)) ;) (expression_statement "DAT_0008cc74 = DAT_0008cc74 | 1;" (assignment_expression "DAT_0008cc74 = DAT_0008cc74 | 1" identifier = (binary_expression "DAT_0008cc74 | 1" identifier | number_literal)) ;) (return_statement "return 1;" return number_literal ;) })) (expression_statement "iVar3 = strcmp((char *)pbVar6,"lazy");" (assignment_expression "iVar3 = strcmp((char *)pbVar6,"lazy")" identifier = (call_expression "strcmp((char *)pbVar6,"lazy")" identifier (argument_list "((char *)pbVar6,"lazy")" ( (cast_expression "(char *)pbVar6" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) , (string_literal ""lazy"" " string_content ") )))) ;) (if_statement "if (iVar3 == 0) {\n        _DAT_0008cc70 = _DAT_0008cc70 & 0xfffffff7;\n        DAT_0008cc74 = DAT_0008cc74 & 0xfffffffe;\n        return 1;\n      }" if (parenthesized_expression "(iVar3 == 0)" ( (binary_expression "iVar3 == 0" identifier == number_literal) )) (compound_statement "{\n        _DAT_0008cc70 = _DAT_0008cc70 & 0xfffffff7;\n        DAT_0008cc74 = DAT_0008cc74 & 0xfffffffe;\n        return 1;\n      }" { (expression_statement "_DAT_0008cc70 = _DAT_0008cc70 & 0xfffffff7;" (assignment_expression "_DAT_0008cc70 = _DAT_0008cc70 & 0xfffffff7" identifier = (binary_expression "_DAT_0008cc70 & 0xfffffff7" identifier & number_literal)) ;) (expression_statement "DAT_0008cc74 = DAT_0008cc74 & 0xfffffffe;" (assignment_expression "DAT_0008cc74 = DAT_0008cc74 & 0xfffffffe" identifier = (binary_expression "DAT_0008cc74 & 0xfffffffe" identifier & number_literal)) ;) (return_statement "return 1;" return number_literal ;) })) (expression_statement "iVar3 = strcmp((char *)pbVar6,"origin");" (assignment_expression "iVar3 = strcmp((char *)pbVar6,"origin")" identifier = (call_expression "strcmp((char *)pbVar6,"origin")" identifier (argument_list "((char *)pbVar6,"origin")" ( (cast_expression "(char *)pbVar6" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) , (string_literal ""origin"" " string_content ") )))) ;) (if_statement "if (iVar3 == 0) {\n        _DAT_0008cc70 = _DAT_0008cc70 | 1;\n        DAT_0008cc74 = DAT_0008cc74 | 0x80;\n        return 1;\n      }" if (parenthesized_expression "(iVar3 == 0)" ( (binary_expression "iVar3 == 0" identifier == number_literal) )) (compound_statement "{\n        _DAT_0008cc70 = _DAT_0008cc70 | 1;\n        DAT_0008cc74 = DAT_0008cc74 | 0x80;\n        return 1;\n      }" { (expression_statement "_DAT_0008cc70 = _DAT_0008cc70 | 1;" (assignment_expression "_DAT_0008cc70 = _DAT_0008cc70 | 1" identifier = (binary_expression "_DAT_0008cc70 | 1" identifier | number_literal)) ;) (expression_statement "DAT_0008cc74 = DAT_0008cc74 | 0x80;" (assignment_expression "DAT_0008cc74 = DAT_0008cc74 | 0x80" identifier = (binary_expression "DAT_0008cc74 | 0x80" identifier | number_literal)) ;) (return_statement "return 1;" return number_literal ;) })) (expression_statement "iVar3 = strcmp((char *)pbVar6,"combreloc");" (assignment_expression "iVar3 = strcmp((char *)pbVar6,"combreloc")" identifier = (call_expression "strcmp((char *)pbVar6,"combreloc")" identifier (argument_list "((char *)pbVar6,"combreloc")" ( (cast_expression "(char *)pbVar6" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) , (string_literal ""combreloc"" " string_content ") )))) ;) (if_statement "if (iVar3 == 0) {\n        _DAT_0008cc04 = _DAT_0008cc04 | 0x40;\n        return 1;\n      }" if (parenthesized_expression "(iVar3 == 0)" ( (binary_expression "iVar3 == 0" identifier == number_literal) )) (compound_statement "{\n        _DAT_0008cc04 = _DAT_0008cc04 | 0x40;\n        return 1;\n      }" { (expression_statement "_DAT_0008cc04 = _DAT_0008cc04 | 0x40;" (assignment_expression "_DAT_0008cc04 = _DAT_0008cc04 | 0x40" identifier = (binary_expression "_DAT_0008cc04 | 0x40" identifier | number_literal)) ;) (return_statement "return 1;" return number_literal ;) })) (expression_statement "iVar3 = strcmp((char *)pbVar6,"nocombreloc");" (assignment_expression "iVar3 = strcmp((char *)pbVar6,"nocombreloc")" identifier = (call_expression "strcmp((char *)pbVar6,"nocombreloc")" identifier (argument_list "((char *)pbVar6,"nocombreloc")" ( (cast_expression "(char *)pbVar6" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) , (string_literal ""nocombreloc"" " string_content ") )))) ;) (if_statement "if (iVar3 == 0) {\n        _DAT_0008cc04 = _DAT_0008cc04 & 0xffffffbf;\n        return 1;\n      }" if (parenthesized_expression "(iVar3 == 0)" ( (binary_expression "iVar3 == 0" identifier == number_literal) )) (compound_statement "{\n        _DAT_0008cc04 = _DAT_0008cc04 & 0xffffffbf;\n        return 1;\n      }" { (expression_statement "_DAT_0008cc04 = _DAT_0008cc04 & 0xffffffbf;" (assignment_expression "_DAT_0008cc04 = _DAT_0008cc04 & 0xffffffbf" identifier = (binary_expression "_DAT_0008cc04 & 0xffffffbf" identifier & number_literal)) ;) (return_statement "return 1;" return number_literal ;) })) (expression_statement "iVar3 = strcmp((char *)pbVar6,"nocopyreloc");" (assignment_expression "iVar3 = strcmp((char *)pbVar6,"nocopyreloc")" identifier = (call_expression "strcmp((char *)pbVar6,"nocopyreloc")" identifier (argument_list "((char *)pbVar6,"nocopyreloc")" ( (cast_expression "(char *)pbVar6" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) , (string_literal ""nocopyreloc"" " string_content ") )))) ;) (if_statement "if (iVar3 == 0) {\n        DAT_0008cc00._0_1_ = (byte)DAT_0008cc00 | 8;\n        return 1;\n      }" if (parenthesized_expression "(iVar3 == 0)" ( (binary_expression "iVar3 == 0" identifier == number_literal) )) (compound_statement "{\n        DAT_0008cc00._0_1_ = (byte)DAT_0008cc00 | 8;\n        return 1;\n      }" { (expression_statement "DAT_0008cc00._0_1_ = (byte)DAT_0008cc00 | 8;" (assignment_expression "DAT_0008cc00._0_1_ = (byte)DAT_0008cc00 | 8" (field_expression "DAT_0008cc00._0_1_" identifier . field_identifier) = (binary_expression "(byte)DAT_0008cc00 | 8" (cast_expression "(byte)DAT_0008cc00" ( (type_descriptor "byte" type_identifier) ) identifier) | number_literal)) ;) (return_statement "return 1;" return number_literal ;) })) (expression_statement "iVar3 = strcmp((char *)pbVar6,"relro");" (assignment_expression "iVar3 = strcmp((char *)pbVar6,"relro")" identifier = (call_expression "strcmp((char *)pbVar6,"relro")" identifier (argument_list "((char *)pbVar6,"relro")" ( (cast_expression "(char *)pbVar6" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) , (string_literal ""relro"" " string_content ") )))) ;) (if_statement "if (iVar3 == 0) {\n        DAT_0008cc00._2_2_ = DAT_0008cc00._2_2_ | 0x1000;\n        return 1;\n      }" if (parenthesized_expression "(iVar3 == 0)" ( (binary_expression "iVar3 == 0" identifier == number_literal) )) (compound_statement "{\n        DAT_0008cc00._2_2_ = DAT_0008cc00._2_2_ | 0x1000;\n        return 1;\n      }" { (expression_statement "DAT_0008cc00._2_2_ = DAT_0008cc00._2_2_ | 0x1000;" (assignment_expression "DAT_0008cc00._2_2_ = DAT_0008cc00._2_2_ | 0x1000" (field_expression "DAT_0008cc00._2_2_" identifier . field_identifier) = (binary_expression "DAT_0008cc00._2_2_ | 0x1000" (field_expression "DAT_0008cc00._2_2_" identifier . field_identifier) | number_literal)) ;) (return_statement "return 1;" return number_literal ;) })) (expression_statement "iVar3 = strcmp((char *)pbVar6,"norelro");" (assignment_expression "iVar3 = strcmp((char *)pbVar6,"norelro")" identifier = (call_expression "strcmp((char *)pbVar6,"norelro")" identifier (argument_list "((char *)pbVar6,"norelro")" ( (cast_expression "(char *)pbVar6" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) , (string_literal ""norelro"" " string_content ") )))) ;) (if_statement "if (iVar3 == 0) {\n        DAT_0008cc00._2_2_ = DAT_0008cc00._2_2_ & 0xefff;\n        return 1;\n      }" if (parenthesized_expression "(iVar3 == 0)" ( (binary_expression "iVar3 == 0" identifier == number_literal) )) (compound_statement "{\n        DAT_0008cc00._2_2_ = DAT_0008cc00._2_2_ & 0xefff;\n        return 1;\n      }" { (expression_statement "DAT_0008cc00._2_2_ = DAT_0008cc00._2_2_ & 0xefff;" (assignment_expression "DAT_0008cc00._2_2_ = DAT_0008cc00._2_2_ & 0xefff" (field_expression "DAT_0008cc00._2_2_" identifier . field_identifier) = (binary_expression "DAT_0008cc00._2_2_ & 0xefff" (field_expression "DAT_0008cc00._2_2_" identifier . field_identifier) & number_literal)) ;) (return_statement "return 1;" return number_literal ;) })) (expression_statement "iVar3 = strcmp((char *)pbVar6,"separate-code");" (assignment_expression "iVar3 = strcmp((char *)pbVar6,"separate-code")" identifier = (call_expression "strcmp((char *)pbVar6,"separate-code")" identifier (argument_list "((char *)pbVar6,"separate-code")" ( (cast_expression "(char *)pbVar6" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) , (string_literal ""separate-code"" " string_content ") )))) ;) (if_statement "if (iVar3 == 0) {\n        DAT_0008cc00._2_2_ = DAT_0008cc00._2_2_ | 0x2000;\n        return 1;\n      }" if (parenthesized_expression "(iVar3 == 0)" ( (binary_expression "iVar3 == 0" identifier == number_literal) )) (compound_statement "{\n        DAT_0008cc00._2_2_ = DAT_0008cc00._2_2_ | 0x2000;\n        return 1;\n      }" { (expression_statement "DAT_0008cc00._2_2_ = DAT_0008cc00._2_2_ | 0x2000;" (assignment_expression "DAT_0008cc00._2_2_ = DAT_0008cc00._2_2_ | 0x2000" (field_expression "DAT_0008cc00._2_2_" identifier . field_identifier) = (binary_expression "DAT_0008cc00._2_2_ | 0x2000" (field_expression "DAT_0008cc00._2_2_" identifier . field_identifier) | number_literal)) ;) (return_statement "return 1;" return number_literal ;) })) (expression_statement "iVar3 = strcmp((char *)pbVar6,"noseparate-code");" (assignment_expression "iVar3 = strcmp((char *)pbVar6,"noseparate-code")" identifier = (call_expression "strcmp((char *)pbVar6,"noseparate-code")" identifier (argument_list "((char *)pbVar6,"noseparate-code")" ( (cast_expression "(char *)pbVar6" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) , (string_literal ""noseparate-code"" " string_content ") )))) ;) (if_statement "if (iVar3 == 0) {\n        DAT_0008cc00._2_2_ = DAT_0008cc00._2_2_ & 0xdfff;\n        return 1;\n      }" if (parenthesized_expression "(iVar3 == 0)" ( (binary_expression "iVar3 == 0" identifier == number_literal) )) (compound_statement "{\n        DAT_0008cc00._2_2_ = DAT_0008cc00._2_2_ & 0xdfff;\n        return 1;\n      }" { (expression_statement "DAT_0008cc00._2_2_ = DAT_0008cc00._2_2_ & 0xdfff;" (assignment_expression "DAT_0008cc00._2_2_ = DAT_0008cc00._2_2_ & 0xdfff" (field_expression "DAT_0008cc00._2_2_" identifier . field_identifier) = (binary_expression "DAT_0008cc00._2_2_ & 0xdfff" (field_expression "DAT_0008cc00._2_2_" identifier . field_identifier) & number_literal)) ;) (return_statement "return 1;" return number_literal ;) })) (expression_statement "iVar3 = strcmp((char *)pbVar6,"common");" (assignment_expression "iVar3 = strcmp((char *)pbVar6,"common")" identifier = (call_expression "strcmp((char *)pbVar6,"common")" identifier (argument_list "((char *)pbVar6,"common")" ( (cast_expression "(char *)pbVar6" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) , (string_literal ""common"" " string_content ") )))) ;) (if_statement "if (iVar3 == 0) {\n        DAT_0008cc00._2_2_ = DAT_0008cc00._2_2_ & 0xfff9 | 2;\n        return 1;\n      }" if (parenthesized_expression "(iVar3 == 0)" ( (binary_expression "iVar3 == 0" identifier == number_literal) )) (compound_statement "{\n        DAT_0008cc00._2_2_ = DAT_0008cc00._2_2_ & 0xfff9 | 2;\n        return 1;\n      }" { (expression_statement "DAT_0008cc00._2_2_ = DAT_0008cc00._2_2_ & 0xfff9 | 2;" (assignment_expression "DAT_0008cc00._2_2_ = DAT_0008cc00._2_2_ & 0xfff9 | 2" (field_expression "DAT_0008cc00._2_2_" identifier . field_identifier) = (binary_expression "DAT_0008cc00._2_2_ & 0xfff9 | 2" (binary_expression "DAT_0008cc00._2_2_ & 0xfff9" (field_expression "DAT_0008cc00._2_2_" identifier . field_identifier) & number_literal) | number_literal)) ;) (return_statement "return 1;" return number_literal ;) })) (expression_statement "iVar3 = strcmp((char *)pbVar6,"nocommon");" (assignment_expression "iVar3 = strcmp((char *)pbVar6,"nocommon")" identifier = (call_expression "strcmp((char *)pbVar6,"nocommon")" identifier (argument_list "((char *)pbVar6,"nocommon")" ( (cast_expression "(char *)pbVar6" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) , (string_literal ""nocommon"" " string_content ") )))) ;) (if_statement "if (iVar3 == 0) {\n        DAT_0008cc00._2_2_ = DAT_0008cc00._2_2_ & 0xfff9 | 4;\n        return 1;\n      }" if (parenthesized_expression "(iVar3 == 0)" ( (binary_expression "iVar3 == 0" identifier == number_literal) )) (compound_statement "{\n        DAT_0008cc00._2_2_ = DAT_0008cc00._2_2_ & 0xfff9 | 4;\n        return 1;\n      }" { (expression_statement "DAT_0008cc00._2_2_ = DAT_0008cc00._2_2_ & 0xfff9 | 4;" (assignment_expression "DAT_0008cc00._2_2_ = DAT_0008cc00._2_2_ & 0xfff9 | 4" (field_expression "DAT_0008cc00._2_2_" identifier . field_identifier) = (binary_expression "DAT_0008cc00._2_2_ & 0xfff9 | 4" (binary_expression "DAT_0008cc00._2_2_ & 0xfff9" (field_expression "DAT_0008cc00._2_2_" identifier . field_identifier) & number_literal) | number_literal)) ;) (return_statement "return 1;" return number_literal ;) })) (expression_statement "iVar3 = strcmp((char *)pbVar6,"text");" (assignment_expression "iVar3 = strcmp((char *)pbVar6,"text")" identifier = (call_expression "strcmp((char *)pbVar6,"text")" identifier (argument_list "((char *)pbVar6,"text")" ( (cast_expression "(char *)pbVar6" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) , (string_literal ""text"" " string_content ") )))) ;) (if_statement "if (iVar3 == 0) {\n        _DAT_0008cc04 = _DAT_0008cc04 | 2;\n        return 1;\n      }" if (parenthesized_expression "(iVar3 == 0)" ( (binary_expression "iVar3 == 0" identifier == number_literal) )) (compound_statement "{\n        _DAT_0008cc04 = _DAT_0008cc04 | 2;\n        return 1;\n      }" { (expression_statement "_DAT_0008cc04 = _DAT_0008cc04 | 2;" (assignment_expression "_DAT_0008cc04 = _DAT_0008cc04 | 2" identifier = (binary_expression "_DAT_0008cc04 | 2" identifier | number_literal)) ;) (return_statement "return 1;" return number_literal ;) })) (expression_statement "iVar3 = strcmp((char *)pbVar6,"notext");" (assignment_expression "iVar3 = strcmp((char *)pbVar6,"notext")" identifier = (call_expression "strcmp((char *)pbVar6,"notext")" identifier (argument_list "((char *)pbVar6,"notext")" ( (cast_expression "(char *)pbVar6" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) , (string_literal ""notext"" " string_content ") )))) ;) (if_statement "if ((iVar3 == 0) || (iVar3 = strcmp((char *)pbVar6,"textoff"), iVar3 == 0)) {\n        _DAT_0008cc04 = _DAT_0008cc04 & 0xfffffffd;\n        return 1;\n      }" if (parenthesized_expression "((iVar3 == 0) || (iVar3 = strcmp((char *)pbVar6,"textoff"), iVar3 == 0))" ( (binary_expression "(iVar3 == 0) || (iVar3 = strcmp((char *)pbVar6,"textoff"), iVar3 == 0)" (parenthesized_expression "(iVar3 == 0)" ( (binary_expression "iVar3 == 0" identifier == number_literal) )) || (parenthesized_expression "(iVar3 = strcmp((char *)pbVar6,"textoff"), iVar3 == 0)" ( (comma_expression "iVar3 = strcmp((char *)pbVar6,"textoff"), iVar3 == 0" (assignment_expression "iVar3 = strcmp((char *)pbVar6,"textoff")" identifier = (call_expression "strcmp((char *)pbVar6,"textoff")" identifier (argument_list "((char *)pbVar6,"textoff")" ( (cast_expression "(char *)pbVar6" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) , (string_literal ""textoff"" " string_content ") )))) , (binary_expression "iVar3 == 0" identifier == number_literal)) ))) )) (compound_statement "{\n        _DAT_0008cc04 = _DAT_0008cc04 & 0xfffffffd;\n        return 1;\n      }" { (expression_statement "_DAT_0008cc04 = _DAT_0008cc04 & 0xfffffffd;" (assignment_expression "_DAT_0008cc04 = _DAT_0008cc04 & 0xfffffffd" identifier = (binary_expression "_DAT_0008cc04 & 0xfffffffd" identifier & number_literal)) ;) (return_statement "return 1;" return number_literal ;) })) (expression_statement "pcVar5 = "%P: warning: -z %s ignored\n";" (assignment_expression "pcVar5 = "%P: warning: -z %s ignored\n"" identifier = (string_literal ""%P: warning: -z %s ignored\n"" " string_content escape_sequence ")) ;) (goto_statement "goto LAB_0003606a;" goto statement_identifier ;) })) (expression_statement "DAT_0008cd64 = strtoul((char *)(pbVar6 + 0x11),local_20,0);" (assignment_expression "DAT_0008cd64 = strtoul((char *)(pbVar6 + 0x11),local_20,0)" identifier = (call_expression "strtoul((char *)(pbVar6 + 0x11),local_20,0)" identifier (argument_list "((char *)(pbVar6 + 0x11),local_20,0)" ( (cast_expression "(char *)(pbVar6 + 0x11)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pbVar6 + 0x11)" ( (binary_expression "pbVar6 + 0x11" identifier + number_literal) ))) , identifier , number_literal )))) ;) (if_statement "if ((*local_20[0] == '\0') && ((DAT_0008cd64 - 1 & DAT_0008cd64) == 0)) {\n      return 1;\n    }" if (parenthesized_expression "((*local_20[0] == '\0') && ((DAT_0008cd64 - 1 & DAT_0008cd64) == 0))" ( (binary_expression "(*local_20[0] == '\0') && ((DAT_0008cd64 - 1 & DAT_0008cd64) == 0)" (parenthesized_expression "(*local_20[0] == '\0')" ( (binary_expression "*local_20[0] == '\0'" (pointer_expression "*local_20[0]" * (subscript_expression "local_20[0]" identifier [ number_literal ])) == (char_literal "'\0'" ' escape_sequence ')) )) && (parenthesized_expression "((DAT_0008cd64 - 1 & DAT_0008cd64) == 0)" ( (binary_expression "(DAT_0008cd64 - 1 & DAT_0008cd64) == 0" (parenthesized_expression "(DAT_0008cd64 - 1 & DAT_0008cd64)" ( (binary_expression "DAT_0008cd64 - 1 & DAT_0008cd64" (binary_expression "DAT_0008cd64 - 1" identifier - number_literal) & identifier) )) == number_literal) ))) )) (compound_statement "{\n      return 1;\n    }" { (return_statement "return 1;" return number_literal ;) })) (expression_statement "pcVar5 = "%F%P: invalid common page size `%s\'\n";" (assignment_expression "pcVar5 = "%F%P: invalid common page size `%s\'\n"" identifier = (string_literal ""%F%P: invalid common page size `%s\'\n"" " string_content escape_sequence escape_sequence ")) ;) (expression_statement "__s1 = (char *)(*(int *)puVar1 + 0x11);" (assignment_expression "__s1 = (char *)(*(int *)puVar1 + 0x11)" identifier = (cast_expression "(char *)(*(int *)puVar1 + 0x11)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)puVar1 + 0x11)" ( (binary_expression "*(int *)puVar1 + 0x11" (pointer_expression "*(int *)puVar1" * (cast_expression "(int *)puVar1" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) + number_literal) )))) ;) }))) (labeled_statement "LAB_00035f83:\n  uVar4 = dcgettext(0,pcVar5,5);" statement_identifier : (expression_statement "uVar4 = dcgettext(0,pcVar5,5);" (assignment_expression "uVar4 = dcgettext(0,pcVar5,5)" identifier = (call_expression "dcgettext(0,pcVar5,5)" identifier (argument_list "(0,pcVar5,5)" ( number_literal , identifier , number_literal )))) ;)) (expression_statement "FUN_00031700(uVar4,__s1);" (call_expression "FUN_00031700(uVar4,__s1)" identifier (argument_list "(uVar4,__s1)" ( identifier , identifier ))) ;) (return_statement "return 1;" return number_literal ;) })))
(translation_unit "/* WARNING: Function: __x86.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */\n/* WARNING: Unknown calling convention */\n\nbfd_boolean gldm68kelf_handle_option(int optc)\n\n{\n  undefined *puVar1;\n  undefined1 uVar2;\n  int iVar3;\n  char *pcVar4;\n  byte *pbVar5;\n  char *__s1;\n  byte *pbVar6;\n  byte *pbVar7;\n  bool bVar8;\n  bool bVar9;\n  bool bVar10;\n  byte bVar11;\n  char *end;\n  undefined4 uStack_14;\n  \n  puVar1 = PTR_optarg_0008bff4;\n  bVar11 = 0;\n  uStack_14 = 0x35ac9;\n  if (optc == 0x193) {\n    link_info._2_2_ = link_info._2_2_ & 0x3fff | 0x4000;\n    return 1;\n  }\n  uVar2 = link_info._4_1_;\n  if (0x193 < optc) {\n    if (optc != 0x196) {\n      if (optc < 0x197) {\n        if (optc == 0x194) {\n          link_info._2_2_ = link_info._2_2_ & 0x3fff;\n          return 1;\n        }\n        if (optc != 0x195) {\n          return 0;\n        }\n        add_excluded_libs(*(char **)PTR_optarg_0008bff4);\n        return 1;\n      }\n      if (optc == 0x198) {\n        gldm68kelf_append_to_separated_string(&audit,*(char **)PTR_optarg_0008bff4);\n        return 1;\n      }\n      if (optc < 0x198) {\n        if (emit_note_gnu_build_id != (char *)0x0) {\n          free(emit_note_gnu_build_id);\n          emit_note_gnu_build_id = (char *)0x0;\n        }\n        pbVar5 = *(byte **)PTR_optarg_0008bff4;\n        bVar8 = false;\n        bVar10 = pbVar5 == (byte *)0x0;\n        if (bVar10) {\n          pbVar5 = &DAT_0004f1e8;\n          *(undefined1 **)PTR_optarg_0008bff4 = &DAT_0004f1e8;\n        }\n        else {\n          iVar3 = 5;\n          pbVar6 = pbVar5;\n          pbVar7 = (byte *)0x4ab38;\n          do {\n            if (iVar3 == 0) break;\n            iVar3 = iVar3 + -1;\n            bVar8 = *pbVar6 < *pbVar7;\n            bVar10 = *pbVar6 == *pbVar7;\n            pbVar6 = pbVar6 + (uint)bVar11 * -2 + 1;\n            pbVar7 = pbVar7 + (uint)bVar11 * -2 + 1;\n          } while (bVar10);\n          if ((!bVar8 && !bVar10) == bVar8) {\n            return 1;\n          }\n        }\n        emit_note_gnu_build_id = (char *)xstrdup(pbVar5);\n        return 1;\n      }\n      if (optc != 0x199) {\n        return 0;\n      }\n      __s1 = *(char **)PTR_optarg_0008bff4;\n      iVar3 = strcasecmp(__s1,"none");\n      if (iVar3 == 0) {\n        link_info.compress_debug = COMPRESS_DEBUG_NONE;\n        return 1;\n      }\n      iVar3 = strcasecmp(__s1,"zlib");\n      if (iVar3 != 0) {\n        iVar3 = strcasecmp(__s1,"zlib-gnu");\n        if (iVar3 == 0) {\n          link_info.compress_debug = COMPRESS_DEBUG_GNU_ZLIB;\n          return 1;\n        }\n        iVar3 = strcasecmp(__s1,"zlib-gabi");\n        if (iVar3 != 0) {\n          pcVar4 = "%F%P: invalid --compress-debug-sections option: `%s\'\n";\n          goto LAB_00035f83;\n        }\n      }\n      link_info.compress_debug = COMPRESS_DEBUG_GABI_ZLIB;\n      return 1;\n    }\n    pbVar5 = *(byte **)PTR_optarg_0008bff4;\n    iVar3 = 5;\n    bVar8 = false;\n    bVar10 = (link_info._4_4_ & 0xf3) == 0;\n    link_info._4_4_ = link_info._4_4_ & 0xfffffff3;\n    pbVar6 = pbVar5;\n    pbVar7 = &DAT_0007ac19;\n    do {\n      if (iVar3 == 0) break;\n      iVar3 = iVar3 + -1;\n      bVar8 = *pbVar6 < *pbVar7;\n      bVar10 = *pbVar6 == *pbVar7;\n      pbVar6 = pbVar6 + 1;\n      pbVar7 = pbVar7 + 1;\n    } while (bVar10);\n    bVar9 = false;\n    bVar8 = (!bVar8 && !bVar10) == bVar8;\n    if (bVar8) {\n      link_info._4_4_ = CONCAT31(link_info._5_3_,uVar2) & 0xfffffff3 | 4;\n      return 1;\n    }\n    iVar3 = 4;\n    pbVar6 = pbVar5;\n    pbVar7 = &DAT_0007ac0b;\n    do {\n      if (iVar3 == 0) break;\n      iVar3 = iVar3 + -1;\n      bVar9 = *pbVar6 < *pbVar7;\n      bVar8 = *pbVar6 == *pbVar7;\n      pbVar6 = pbVar6 + 1;\n      pbVar7 = pbVar7 + 1;\n    } while (bVar8);\n    bVar10 = false;\n    bVar8 = (!bVar9 && !bVar8) == bVar9;\n    if (bVar8) {\n      link_info._4_4_ = CONCAT31(link_info._5_3_,uVar2) & 0xfffffff3 | 8;\n      return 1;\n    }\n    iVar3 = 5;\n    pbVar6 = pbVar5;\n    pbVar7 = &DAT_0007ac1e;\n    do {\n      if (iVar3 == 0) break;\n      iVar3 = iVar3 + -1;\n      bVar10 = *pbVar6 < *pbVar7;\n      bVar8 = *pbVar6 == *pbVar7;\n      pbVar6 = pbVar6 + 1;\n      pbVar7 = pbVar7 + 1;\n    } while (bVar8);\n    if ((!bVar10 && !bVar8) == bVar10) {\n      link_info._4_4_ = CONCAT31(link_info._5_3_,uVar2) & 0xfffffff3 | 0xc;\n      return 1;\n    }\n    pcVar4 = "%F%P: invalid hash style `%s\'\n";\nLAB_0003606a:\n    pcVar4 = (char *)dcgettext(0,pcVar4,5);\n    einfo(pcVar4,pbVar5);\n    return 1;\n  }\n  bVar8 = (uint)optc < 0x12d;\n  bVar10 = optc == 0x12d;\n  if (bVar10) {\n    iVar3 = 7;\n    pbVar5 = *(byte **)PTR_optarg_0008bff4;\n    pbVar6 = pbVar5;\n    pbVar7 = (byte *)"target";\n    do {\n      if (iVar3 == 0) break;\n      iVar3 = iVar3 + -1;\n      bVar8 = *pbVar6 < *pbVar7;\n      bVar10 = *pbVar6 == *pbVar7;\n      pbVar6 = pbVar6 + 1;\n      pbVar7 = pbVar7 + 1;\n    } while (bVar10);\n    bVar9 = false;\n    bVar8 = (!bVar8 && !bVar10) == bVar8;\n    if (!bVar8) {\n      iVar3 = 7;\n      pbVar6 = pbVar5;\n      pbVar7 = (byte *)"single";\n      do {\n        if (iVar3 == 0) break;\n        iVar3 = iVar3 + -1;\n        bVar9 = *pbVar6 < *pbVar7;\n        bVar8 = *pbVar6 == *pbVar7;\n        pbVar6 = pbVar6 + 1;\n        pbVar7 = pbVar7 + 1;\n      } while (bVar8);\n      bVar10 = false;\n      bVar8 = (!bVar9 && !bVar8) == bVar9;\n      if (!bVar8) {\n        iVar3 = 9;\n        pbVar6 = pbVar5;\n        pbVar7 = (byte *)"negative";\n        do {\n          if (iVar3 == 0) break;\n          iVar3 = iVar3 + -1;\n          bVar10 = *pbVar6 < *pbVar7;\n          bVar8 = *pbVar6 == *pbVar7;\n          pbVar6 = pbVar6 + 1;\n          pbVar7 = pbVar7 + 1;\n        } while (bVar8);\n        bVar9 = false;\n        bVar8 = (!bVar10 && !bVar8) == bVar10;\n        if (bVar8) {\n          got_handling = 1;\n          return 1;\n        }\n        iVar3 = 9;\n        pbVar6 = pbVar5;\n        pbVar7 = (byte *)"multigot";\n        do {\n          if (iVar3 == 0) break;\n          iVar3 = iVar3 + -1;\n          bVar9 = *pbVar6 < *pbVar7;\n          bVar8 = *pbVar6 == *pbVar7;\n          pbVar6 = pbVar6 + 1;\n          pbVar7 = pbVar7 + 1;\n        } while (bVar8);\n        if ((!bVar9 && !bVar8) == bVar9) {\n          got_handling = 2;\n          return 1;\n        }\n        pcVar4 = "%P: unrecognized --got argument \'%s\'\n";\n        goto LAB_0003606a;\n      }\n    }\n    got_handling = 0;\n    return 1;\n  }\n  if (0x12d < optc) {\n    if (optc == 0x191) {\n      link_info._4_4_ = link_info._4_4_ | 0x100;\n      return 1;\n    }\n    if (0x191 < optc) {\n      link_info._2_2_ = link_info._2_2_ | 0x1e0;\n      link_info.flags_1 = link_info.flags_1 | 4;\n      return 1;\n    }\n    if (optc != 400) {\n      return 0;\n    }\n    link_info._4_4_ = link_info._4_4_ & 0xfffffeff;\n    return 1;\n  }\n  if (optc == 0x50) {\n    gldm68kelf_append_to_separated_string(&depaudit,*(char **)PTR_optarg_0008bff4);\n    return 1;\n  }\n  bVar8 = (uint)optc < 0x7a;\n  bVar10 = optc == 0x7a;\n  if (!bVar10) {\n    return 0;\n  }\n  iVar3 = 5;\n  pbVar5 = *(byte **)PTR_optarg_0008bff4;\n  pbVar6 = pbVar5;\n  pbVar7 = (byte *)0x4acc7;\n  do {\n    if (iVar3 == 0) break;\n    iVar3 = iVar3 + -1;\n    bVar8 = *pbVar6 < *pbVar7;\n    bVar10 = *pbVar6 == *pbVar7;\n    pbVar6 = pbVar6 + 1;\n    pbVar7 = pbVar7 + 1;\n  } while (bVar10);\n  bVar9 = false;\n  bVar8 = (!bVar8 && !bVar10) == bVar8;\n  if (bVar8) {\n    link_info._2_2_ = link_info._2_2_ | 0x60;\n    return 1;\n  }\n  iVar3 = 7;\n  pbVar6 = pbVar5;\n  pbVar7 = (byte *)"undefs";\n  do {\n    if (iVar3 == 0) break;\n    iVar3 = iVar3 + -1;\n    bVar9 = *pbVar6 < *pbVar7;\n    bVar8 = *pbVar6 == *pbVar7;\n    pbVar6 = pbVar6 + 1;\n    pbVar7 = pbVar7 + 1;\n  } while (bVar8);\n  bVar10 = false;\n  bVar8 = (!bVar9 && !bVar8) == bVar9;\n  if (bVar8) {\n    link_info._2_2_ = link_info._2_2_ & 0xff9f | 0x20;\n    return 1;\n  }\n  iVar3 = 8;\n  pbVar6 = pbVar5;\n  pbVar7 = (byte *)"muldefs";\n  do {\n    if (iVar3 == 0) break;\n    iVar3 = iVar3 + -1;\n    bVar10 = *pbVar6 < *pbVar7;\n    bVar8 = *pbVar6 == *pbVar7;\n    pbVar6 = pbVar6 + 1;\n    pbVar7 = pbVar7 + 1;\n  } while (bVar8);\n  bVar9 = false;\n  bVar8 = (!bVar10 && !bVar8) == bVar10;\n  if (bVar8) {\n    link_info._4_4_ = link_info._4_4_ | 0x800;\n    return 1;\n  }\n  iVar3 = 0xe;\n  pbVar6 = pbVar5;\n  pbVar7 = (byte *)"max-page-size=";\n  do {\n    if (iVar3 == 0) break;\n    iVar3 = iVar3 + -1;\n    bVar9 = *pbVar6 < *pbVar7;\n    bVar8 = *pbVar6 == *pbVar7;\n    pbVar6 = pbVar6 + 1;\n    pbVar7 = pbVar7 + 1;\n  } while (bVar8);\n  bVar10 = false;\n  bVar8 = (!bVar9 && !bVar8) == bVar9;\n  if (bVar8) {\n    config.maxpagesize = strtoul((char *)(pbVar5 + 0xe),&end,0);\n    if ((*end == '\0') && ((config.maxpagesize - 1 & config.maxpagesize) == 0)) {\n      return 1;\n    }\n    pcVar4 = "%F%P: invalid maximum page size `%s\'\n";\n    __s1 = (char *)(*(int *)puVar1 + 0xe);\n  }\n  else {\n    iVar3 = 0x11;\n    pbVar6 = pbVar5;\n    pbVar7 = (byte *)"common-page-size=";\n    do {\n      if (iVar3 == 0) break;\n      iVar3 = iVar3 + -1;\n      bVar10 = *pbVar6 < *pbVar7;\n      bVar8 = *pbVar6 == *pbVar7;\n      pbVar6 = pbVar6 + 1;\n      pbVar7 = pbVar7 + 1;\n    } while (bVar8);\n    bVar9 = false;\n    bVar8 = (!bVar10 && !bVar8) == bVar10;\n    if (!bVar8) {\n      iVar3 = 0xb;\n      pbVar6 = pbVar5;\n      pbVar7 = (byte *)"stack-size=";\n      do {\n        if (iVar3 == 0) break;\n        iVar3 = iVar3 + -1;\n        bVar9 = *pbVar6 < *pbVar7;\n        bVar8 = *pbVar6 == *pbVar7;\n        pbVar6 = pbVar6 + 1;\n        pbVar7 = pbVar7 + 1;\n      } while (bVar8);\n      bVar10 = false;\n      bVar8 = (!bVar9 && !bVar8) == bVar9;\n      if (bVar8) {\n        link_info.stacksize = strtoul((char *)(pbVar5 + 0xb),&end,0);\n        if ((*end != '\0') || (link_info.stacksize < 0)) {\n          iVar3 = *(int *)puVar1;\n          pcVar4 = (char *)dcgettext(0,"%F%P: invalid stack size `%s\'\n",5,link_info.stacksize);\n          einfo(pcVar4,iVar3 + 0xb);\n        }\n        if (link_info.stacksize == 0) {\n          link_info.stacksize = -1;\n          return 1;\n        }\n        return 1;\n      }\n      iVar3 = 10;\n      pbVar6 = pbVar5;\n      pbVar7 = (byte *)0x7ac61;\n      do {\n        if (iVar3 == 0) break;\n        iVar3 = iVar3 + -1;\n        bVar10 = *pbVar6 < *pbVar7;\n        bVar8 = *pbVar6 == *pbVar7;\n        pbVar6 = pbVar6 + 1;\n        pbVar7 = pbVar7 + 1;\n      } while (bVar8);\n      bVar9 = false;\n      bVar8 = (!bVar10 && !bVar8) == bVar10;\n      if (bVar8) {\n        link_info._4_4_ = link_info._4_4_ & 0xfffe7fff | 0x8000;\n        return 1;\n      }\n      iVar3 = 0xc;\n      pbVar6 = pbVar5;\n      pbVar7 = (byte *)"noexecstack";\n      do {\n        if (iVar3 == 0) break;\n        iVar3 = iVar3 + -1;\n        bVar9 = *pbVar6 < *pbVar7;\n        bVar8 = *pbVar6 == *pbVar7;\n        pbVar6 = pbVar6 + 1;\n        pbVar7 = pbVar7 + 1;\n      } while (bVar8);\n      if ((!bVar9 && !bVar8) == bVar9) {\n        link_info._4_4_ = link_info._4_4_ & 0xfffe7fff | 0x10000;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar5,"globalaudit");\n      if (iVar3 == 0) {\n        link_info.flags_1 = link_info.flags_1 | 0x1000000;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar5,"global");\n      if (iVar3 == 0) {\n        link_info.flags_1 = link_info.flags_1 | 2;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar5,"initfirst");\n      if (iVar3 == 0) {\n        link_info.flags_1 = link_info.flags_1 | 0x20;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar5,"interpose");\n      if (iVar3 == 0) {\n        link_info.flags_1 = link_info.flags_1 | 0x400;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar5,"loadfltr");\n      if (iVar3 == 0) {\n        link_info.flags_1 = link_info.flags_1 | 0x10;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar5,"nodefaultlib");\n      if (iVar3 == 0) {\n        link_info.flags_1 = link_info.flags_1 | 0x800;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar5,"nodelete");\n      if (iVar3 == 0) {\n        link_info.flags_1 = link_info.flags_1 | 8;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar5,"nodlopen");\n      if (iVar3 == 0) {\n        link_info.flags_1 = link_info.flags_1 | 0x40;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar5,"nodump");\n      if (iVar3 == 0) {\n        link_info.flags_1 = link_info.flags_1 | 0x1000;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar5,"now");\n      if (iVar3 == 0) {\n        link_info.flags = link_info.flags | 8;\n        link_info.flags_1 = link_info.flags_1 | 1;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar5,"lazy");\n      if (iVar3 == 0) {\n        link_info.flags = link_info.flags & 0xfffffff7;\n        link_info.flags_1 = link_info.flags_1 & 0xfffffffe;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar5,"origin");\n      if (iVar3 == 0) {\n        link_info.flags = link_info.flags | 1;\n        link_info.flags_1 = link_info.flags_1 | 0x80;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar5,"combreloc");\n      if (iVar3 == 0) {\n        link_info._4_4_ = link_info._4_4_ | 0x40;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar5,"nocombreloc");\n      if (iVar3 == 0) {\n        link_info._4_4_ = link_info._4_4_ & 0xffffffbf;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar5,"nocopyreloc");\n      if (iVar3 == 0) {\n        link_info._0_1_ = link_info._0_1_ | 8;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar5,"relro");\n      if (iVar3 == 0) {\n        link_info._2_2_ = link_info._2_2_ | 0x1000;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar5,"norelro");\n      if (iVar3 == 0) {\n        link_info._2_2_ = link_info._2_2_ & 0xefff;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar5,"separate-code");\n      if (iVar3 == 0) {\n        link_info._2_2_ = link_info._2_2_ | 0x2000;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar5,"noseparate-code");\n      if (iVar3 == 0) {\n        link_info._2_2_ = link_info._2_2_ & 0xdfff;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar5,"common");\n      if (iVar3 == 0) {\n        link_info._2_2_ = link_info._2_2_ & 0xfff9 | 2;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar5,"nocommon");\n      if (iVar3 == 0) {\n        link_info._2_2_ = link_info._2_2_ & 0xfff9 | 4;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar5,"text");\n      if (iVar3 == 0) {\n        link_info._4_4_ = link_info._4_4_ | 2;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar5,"notext");\n      if ((iVar3 == 0) || (iVar3 = strcmp((char *)pbVar5,"textoff"), iVar3 == 0)) {\n        link_info._4_4_ = link_info._4_4_ & 0xfffffffd;\n        return 1;\n      }\n      pcVar4 = "%P: warning: -z %s ignored\n";\n      goto LAB_0003606a;\n    }\n    config.commonpagesize = strtoul((char *)(pbVar5 + 0x11),&end,0);\n    if ((*end == '\0') && ((config.commonpagesize - 1 & config.commonpagesize) == 0)) {\n      return 1;\n    }\n    pcVar4 = "%F%P: invalid common page size `%s\'\n";\n    __s1 = (char *)(*(int *)puVar1 + 0x11);\n  }\nLAB_00035f83:\n  pcVar4 = (char *)dcgettext(0,pcVar4,5);\n  einfo(pcVar4,__s1);\n  return 1;\n}\n\n" comment comment (function_definition "bfd_boolean gldm68kelf_handle_option(int optc)\n\n{\n  undefined *puVar1;\n  undefined1 uVar2;\n  int iVar3;\n  char *pcVar4;\n  byte *pbVar5;\n  char *__s1;\n  byte *pbVar6;\n  byte *pbVar7;\n  bool bVar8;\n  bool bVar9;\n  bool bVar10;\n  byte bVar11;\n  char *end;\n  undefined4 uStack_14;\n  \n  puVar1 = PTR_optarg_0008bff4;\n  bVar11 = 0;\n  uStack_14 = 0x35ac9;\n  if (optc == 0x193) {\n    link_info._2_2_ = link_info._2_2_ & 0x3fff | 0x4000;\n    return 1;\n  }\n  uVar2 = link_info._4_1_;\n  if (0x193 < optc) {\n    if (optc != 0x196) {\n      if (optc < 0x197) {\n        if (optc == 0x194) {\n          link_info._2_2_ = link_info._2_2_ & 0x3fff;\n          return 1;\n        }\n        if (optc != 0x195) {\n          return 0;\n        }\n        add_excluded_libs(*(char **)PTR_optarg_0008bff4);\n        return 1;\n      }\n      if (optc == 0x198) {\n        gldm68kelf_append_to_separated_string(&audit,*(char **)PTR_optarg_0008bff4);\n        return 1;\n      }\n      if (optc < 0x198) {\n        if (emit_note_gnu_build_id != (char *)0x0) {\n          free(emit_note_gnu_build_id);\n          emit_note_gnu_build_id = (char *)0x0;\n        }\n        pbVar5 = *(byte **)PTR_optarg_0008bff4;\n        bVar8 = false;\n        bVar10 = pbVar5 == (byte *)0x0;\n        if (bVar10) {\n          pbVar5 = &DAT_0004f1e8;\n          *(undefined1 **)PTR_optarg_0008bff4 = &DAT_0004f1e8;\n        }\n        else {\n          iVar3 = 5;\n          pbVar6 = pbVar5;\n          pbVar7 = (byte *)0x4ab38;\n          do {\n            if (iVar3 == 0) break;\n            iVar3 = iVar3 + -1;\n            bVar8 = *pbVar6 < *pbVar7;\n            bVar10 = *pbVar6 == *pbVar7;\n            pbVar6 = pbVar6 + (uint)bVar11 * -2 + 1;\n            pbVar7 = pbVar7 + (uint)bVar11 * -2 + 1;\n          } while (bVar10);\n          if ((!bVar8 && !bVar10) == bVar8) {\n            return 1;\n          }\n        }\n        emit_note_gnu_build_id = (char *)xstrdup(pbVar5);\n        return 1;\n      }\n      if (optc != 0x199) {\n        return 0;\n      }\n      __s1 = *(char **)PTR_optarg_0008bff4;\n      iVar3 = strcasecmp(__s1,"none");\n      if (iVar3 == 0) {\n        link_info.compress_debug = COMPRESS_DEBUG_NONE;\n        return 1;\n      }\n      iVar3 = strcasecmp(__s1,"zlib");\n      if (iVar3 != 0) {\n        iVar3 = strcasecmp(__s1,"zlib-gnu");\n        if (iVar3 == 0) {\n          link_info.compress_debug = COMPRESS_DEBUG_GNU_ZLIB;\n          return 1;\n        }\n        iVar3 = strcasecmp(__s1,"zlib-gabi");\n        if (iVar3 != 0) {\n          pcVar4 = "%F%P: invalid --compress-debug-sections option: `%s\'\n";\n          goto LAB_00035f83;\n        }\n      }\n      link_info.compress_debug = COMPRESS_DEBUG_GABI_ZLIB;\n      return 1;\n    }\n    pbVar5 = *(byte **)PTR_optarg_0008bff4;\n    iVar3 = 5;\n    bVar8 = false;\n    bVar10 = (link_info._4_4_ & 0xf3) == 0;\n    link_info._4_4_ = link_info._4_4_ & 0xfffffff3;\n    pbVar6 = pbVar5;\n    pbVar7 = &DAT_0007ac19;\n    do {\n      if (iVar3 == 0) break;\n      iVar3 = iVar3 + -1;\n      bVar8 = *pbVar6 < *pbVar7;\n      bVar10 = *pbVar6 == *pbVar7;\n      pbVar6 = pbVar6 + 1;\n      pbVar7 = pbVar7 + 1;\n    } while (bVar10);\n    bVar9 = false;\n    bVar8 = (!bVar8 && !bVar10) == bVar8;\n    if (bVar8) {\n      link_info._4_4_ = CONCAT31(link_info._5_3_,uVar2) & 0xfffffff3 | 4;\n      return 1;\n    }\n    iVar3 = 4;\n    pbVar6 = pbVar5;\n    pbVar7 = &DAT_0007ac0b;\n    do {\n      if (iVar3 == 0) break;\n      iVar3 = iVar3 + -1;\n      bVar9 = *pbVar6 < *pbVar7;\n      bVar8 = *pbVar6 == *pbVar7;\n      pbVar6 = pbVar6 + 1;\n      pbVar7 = pbVar7 + 1;\n    } while (bVar8);\n    bVar10 = false;\n    bVar8 = (!bVar9 && !bVar8) == bVar9;\n    if (bVar8) {\n      link_info._4_4_ = CONCAT31(link_info._5_3_,uVar2) & 0xfffffff3 | 8;\n      return 1;\n    }\n    iVar3 = 5;\n    pbVar6 = pbVar5;\n    pbVar7 = &DAT_0007ac1e;\n    do {\n      if (iVar3 == 0) break;\n      iVar3 = iVar3 + -1;\n      bVar10 = *pbVar6 < *pbVar7;\n      bVar8 = *pbVar6 == *pbVar7;\n      pbVar6 = pbVar6 + 1;\n      pbVar7 = pbVar7 + 1;\n    } while (bVar8);\n    if ((!bVar10 && !bVar8) == bVar10) {\n      link_info._4_4_ = CONCAT31(link_info._5_3_,uVar2) & 0xfffffff3 | 0xc;\n      return 1;\n    }\n    pcVar4 = "%F%P: invalid hash style `%s\'\n";\nLAB_0003606a:\n    pcVar4 = (char *)dcgettext(0,pcVar4,5);\n    einfo(pcVar4,pbVar5);\n    return 1;\n  }\n  bVar8 = (uint)optc < 0x12d;\n  bVar10 = optc == 0x12d;\n  if (bVar10) {\n    iVar3 = 7;\n    pbVar5 = *(byte **)PTR_optarg_0008bff4;\n    pbVar6 = pbVar5;\n    pbVar7 = (byte *)"target";\n    do {\n      if (iVar3 == 0) break;\n      iVar3 = iVar3 + -1;\n      bVar8 = *pbVar6 < *pbVar7;\n      bVar10 = *pbVar6 == *pbVar7;\n      pbVar6 = pbVar6 + 1;\n      pbVar7 = pbVar7 + 1;\n    } while (bVar10);\n    bVar9 = false;\n    bVar8 = (!bVar8 && !bVar10) == bVar8;\n    if (!bVar8) {\n      iVar3 = 7;\n      pbVar6 = pbVar5;\n      pbVar7 = (byte *)"single";\n      do {\n        if (iVar3 == 0) break;\n        iVar3 = iVar3 + -1;\n        bVar9 = *pbVar6 < *pbVar7;\n        bVar8 = *pbVar6 == *pbVar7;\n        pbVar6 = pbVar6 + 1;\n        pbVar7 = pbVar7 + 1;\n      } while (bVar8);\n      bVar10 = false;\n      bVar8 = (!bVar9 && !bVar8) == bVar9;\n      if (!bVar8) {\n        iVar3 = 9;\n        pbVar6 = pbVar5;\n        pbVar7 = (byte *)"negative";\n        do {\n          if (iVar3 == 0) break;\n          iVar3 = iVar3 + -1;\n          bVar10 = *pbVar6 < *pbVar7;\n          bVar8 = *pbVar6 == *pbVar7;\n          pbVar6 = pbVar6 + 1;\n          pbVar7 = pbVar7 + 1;\n        } while (bVar8);\n        bVar9 = false;\n        bVar8 = (!bVar10 && !bVar8) == bVar10;\n        if (bVar8) {\n          got_handling = 1;\n          return 1;\n        }\n        iVar3 = 9;\n        pbVar6 = pbVar5;\n        pbVar7 = (byte *)"multigot";\n        do {\n          if (iVar3 == 0) break;\n          iVar3 = iVar3 + -1;\n          bVar9 = *pbVar6 < *pbVar7;\n          bVar8 = *pbVar6 == *pbVar7;\n          pbVar6 = pbVar6 + 1;\n          pbVar7 = pbVar7 + 1;\n        } while (bVar8);\n        if ((!bVar9 && !bVar8) == bVar9) {\n          got_handling = 2;\n          return 1;\n        }\n        pcVar4 = "%P: unrecognized --got argument \'%s\'\n";\n        goto LAB_0003606a;\n      }\n    }\n    got_handling = 0;\n    return 1;\n  }\n  if (0x12d < optc) {\n    if (optc == 0x191) {\n      link_info._4_4_ = link_info._4_4_ | 0x100;\n      return 1;\n    }\n    if (0x191 < optc) {\n      link_info._2_2_ = link_info._2_2_ | 0x1e0;\n      link_info.flags_1 = link_info.flags_1 | 4;\n      return 1;\n    }\n    if (optc != 400) {\n      return 0;\n    }\n    link_info._4_4_ = link_info._4_4_ & 0xfffffeff;\n    return 1;\n  }\n  if (optc == 0x50) {\n    gldm68kelf_append_to_separated_string(&depaudit,*(char **)PTR_optarg_0008bff4);\n    return 1;\n  }\n  bVar8 = (uint)optc < 0x7a;\n  bVar10 = optc == 0x7a;\n  if (!bVar10) {\n    return 0;\n  }\n  iVar3 = 5;\n  pbVar5 = *(byte **)PTR_optarg_0008bff4;\n  pbVar6 = pbVar5;\n  pbVar7 = (byte *)0x4acc7;\n  do {\n    if (iVar3 == 0) break;\n    iVar3 = iVar3 + -1;\n    bVar8 = *pbVar6 < *pbVar7;\n    bVar10 = *pbVar6 == *pbVar7;\n    pbVar6 = pbVar6 + 1;\n    pbVar7 = pbVar7 + 1;\n  } while (bVar10);\n  bVar9 = false;\n  bVar8 = (!bVar8 && !bVar10) == bVar8;\n  if (bVar8) {\n    link_info._2_2_ = link_info._2_2_ | 0x60;\n    return 1;\n  }\n  iVar3 = 7;\n  pbVar6 = pbVar5;\n  pbVar7 = (byte *)"undefs";\n  do {\n    if (iVar3 == 0) break;\n    iVar3 = iVar3 + -1;\n    bVar9 = *pbVar6 < *pbVar7;\n    bVar8 = *pbVar6 == *pbVar7;\n    pbVar6 = pbVar6 + 1;\n    pbVar7 = pbVar7 + 1;\n  } while (bVar8);\n  bVar10 = false;\n  bVar8 = (!bVar9 && !bVar8) == bVar9;\n  if (bVar8) {\n    link_info._2_2_ = link_info._2_2_ & 0xff9f | 0x20;\n    return 1;\n  }\n  iVar3 = 8;\n  pbVar6 = pbVar5;\n  pbVar7 = (byte *)"muldefs";\n  do {\n    if (iVar3 == 0) break;\n    iVar3 = iVar3 + -1;\n    bVar10 = *pbVar6 < *pbVar7;\n    bVar8 = *pbVar6 == *pbVar7;\n    pbVar6 = pbVar6 + 1;\n    pbVar7 = pbVar7 + 1;\n  } while (bVar8);\n  bVar9 = false;\n  bVar8 = (!bVar10 && !bVar8) == bVar10;\n  if (bVar8) {\n    link_info._4_4_ = link_info._4_4_ | 0x800;\n    return 1;\n  }\n  iVar3 = 0xe;\n  pbVar6 = pbVar5;\n  pbVar7 = (byte *)"max-page-size=";\n  do {\n    if (iVar3 == 0) break;\n    iVar3 = iVar3 + -1;\n    bVar9 = *pbVar6 < *pbVar7;\n    bVar8 = *pbVar6 == *pbVar7;\n    pbVar6 = pbVar6 + 1;\n    pbVar7 = pbVar7 + 1;\n  } while (bVar8);\n  bVar10 = false;\n  bVar8 = (!bVar9 && !bVar8) == bVar9;\n  if (bVar8) {\n    config.maxpagesize = strtoul((char *)(pbVar5 + 0xe),&end,0);\n    if ((*end == '\0') && ((config.maxpagesize - 1 & config.maxpagesize) == 0)) {\n      return 1;\n    }\n    pcVar4 = "%F%P: invalid maximum page size `%s\'\n";\n    __s1 = (char *)(*(int *)puVar1 + 0xe);\n  }\n  else {\n    iVar3 = 0x11;\n    pbVar6 = pbVar5;\n    pbVar7 = (byte *)"common-page-size=";\n    do {\n      if (iVar3 == 0) break;\n      iVar3 = iVar3 + -1;\n      bVar10 = *pbVar6 < *pbVar7;\n      bVar8 = *pbVar6 == *pbVar7;\n      pbVar6 = pbVar6 + 1;\n      pbVar7 = pbVar7 + 1;\n    } while (bVar8);\n    bVar9 = false;\n    bVar8 = (!bVar10 && !bVar8) == bVar10;\n    if (!bVar8) {\n      iVar3 = 0xb;\n      pbVar6 = pbVar5;\n      pbVar7 = (byte *)"stack-size=";\n      do {\n        if (iVar3 == 0) break;\n        iVar3 = iVar3 + -1;\n        bVar9 = *pbVar6 < *pbVar7;\n        bVar8 = *pbVar6 == *pbVar7;\n        pbVar6 = pbVar6 + 1;\n        pbVar7 = pbVar7 + 1;\n      } while (bVar8);\n      bVar10 = false;\n      bVar8 = (!bVar9 && !bVar8) == bVar9;\n      if (bVar8) {\n        link_info.stacksize = strtoul((char *)(pbVar5 + 0xb),&end,0);\n        if ((*end != '\0') || (link_info.stacksize < 0)) {\n          iVar3 = *(int *)puVar1;\n          pcVar4 = (char *)dcgettext(0,"%F%P: invalid stack size `%s\'\n",5,link_info.stacksize);\n          einfo(pcVar4,iVar3 + 0xb);\n        }\n        if (link_info.stacksize == 0) {\n          link_info.stacksize = -1;\n          return 1;\n        }\n        return 1;\n      }\n      iVar3 = 10;\n      pbVar6 = pbVar5;\n      pbVar7 = (byte *)0x7ac61;\n      do {\n        if (iVar3 == 0) break;\n        iVar3 = iVar3 + -1;\n        bVar10 = *pbVar6 < *pbVar7;\n        bVar8 = *pbVar6 == *pbVar7;\n        pbVar6 = pbVar6 + 1;\n        pbVar7 = pbVar7 + 1;\n      } while (bVar8);\n      bVar9 = false;\n      bVar8 = (!bVar10 && !bVar8) == bVar10;\n      if (bVar8) {\n        link_info._4_4_ = link_info._4_4_ & 0xfffe7fff | 0x8000;\n        return 1;\n      }\n      iVar3 = 0xc;\n      pbVar6 = pbVar5;\n      pbVar7 = (byte *)"noexecstack";\n      do {\n        if (iVar3 == 0) break;\n        iVar3 = iVar3 + -1;\n        bVar9 = *pbVar6 < *pbVar7;\n        bVar8 = *pbVar6 == *pbVar7;\n        pbVar6 = pbVar6 + 1;\n        pbVar7 = pbVar7 + 1;\n      } while (bVar8);\n      if ((!bVar9 && !bVar8) == bVar9) {\n        link_info._4_4_ = link_info._4_4_ & 0xfffe7fff | 0x10000;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar5,"globalaudit");\n      if (iVar3 == 0) {\n        link_info.flags_1 = link_info.flags_1 | 0x1000000;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar5,"global");\n      if (iVar3 == 0) {\n        link_info.flags_1 = link_info.flags_1 | 2;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar5,"initfirst");\n      if (iVar3 == 0) {\n        link_info.flags_1 = link_info.flags_1 | 0x20;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar5,"interpose");\n      if (iVar3 == 0) {\n        link_info.flags_1 = link_info.flags_1 | 0x400;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar5,"loadfltr");\n      if (iVar3 == 0) {\n        link_info.flags_1 = link_info.flags_1 | 0x10;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar5,"nodefaultlib");\n      if (iVar3 == 0) {\n        link_info.flags_1 = link_info.flags_1 | 0x800;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar5,"nodelete");\n      if (iVar3 == 0) {\n        link_info.flags_1 = link_info.flags_1 | 8;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar5,"nodlopen");\n      if (iVar3 == 0) {\n        link_info.flags_1 = link_info.flags_1 | 0x40;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar5,"nodump");\n      if (iVar3 == 0) {\n        link_info.flags_1 = link_info.flags_1 | 0x1000;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar5,"now");\n      if (iVar3 == 0) {\n        link_info.flags = link_info.flags | 8;\n        link_info.flags_1 = link_info.flags_1 | 1;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar5,"lazy");\n      if (iVar3 == 0) {\n        link_info.flags = link_info.flags & 0xfffffff7;\n        link_info.flags_1 = link_info.flags_1 & 0xfffffffe;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar5,"origin");\n      if (iVar3 == 0) {\n        link_info.flags = link_info.flags | 1;\n        link_info.flags_1 = link_info.flags_1 | 0x80;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar5,"combreloc");\n      if (iVar3 == 0) {\n        link_info._4_4_ = link_info._4_4_ | 0x40;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar5,"nocombreloc");\n      if (iVar3 == 0) {\n        link_info._4_4_ = link_info._4_4_ & 0xffffffbf;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar5,"nocopyreloc");\n      if (iVar3 == 0) {\n        link_info._0_1_ = link_info._0_1_ | 8;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar5,"relro");\n      if (iVar3 == 0) {\n        link_info._2_2_ = link_info._2_2_ | 0x1000;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar5,"norelro");\n      if (iVar3 == 0) {\n        link_info._2_2_ = link_info._2_2_ & 0xefff;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar5,"separate-code");\n      if (iVar3 == 0) {\n        link_info._2_2_ = link_info._2_2_ | 0x2000;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar5,"noseparate-code");\n      if (iVar3 == 0) {\n        link_info._2_2_ = link_info._2_2_ & 0xdfff;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar5,"common");\n      if (iVar3 == 0) {\n        link_info._2_2_ = link_info._2_2_ & 0xfff9 | 2;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar5,"nocommon");\n      if (iVar3 == 0) {\n        link_info._2_2_ = link_info._2_2_ & 0xfff9 | 4;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar5,"text");\n      if (iVar3 == 0) {\n        link_info._4_4_ = link_info._4_4_ | 2;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar5,"notext");\n      if ((iVar3 == 0) || (iVar3 = strcmp((char *)pbVar5,"textoff"), iVar3 == 0)) {\n        link_info._4_4_ = link_info._4_4_ & 0xfffffffd;\n        return 1;\n      }\n      pcVar4 = "%P: warning: -z %s ignored\n";\n      goto LAB_0003606a;\n    }\n    config.commonpagesize = strtoul((char *)(pbVar5 + 0x11),&end,0);\n    if ((*end == '\0') && ((config.commonpagesize - 1 & config.commonpagesize) == 0)) {\n      return 1;\n    }\n    pcVar4 = "%F%P: invalid common page size `%s\'\n";\n    __s1 = (char *)(*(int *)puVar1 + 0x11);\n  }\nLAB_00035f83:\n  pcVar4 = (char *)dcgettext(0,pcVar4,5);\n  einfo(pcVar4,__s1);\n  return 1;\n}" type_identifier (function_declarator "gldm68kelf_handle_option(int optc)" identifier (parameter_list "(int optc)" ( (parameter_declaration "int optc" primitive_type identifier) ))) (compound_statement "{\n  undefined *puVar1;\n  undefined1 uVar2;\n  int iVar3;\n  char *pcVar4;\n  byte *pbVar5;\n  char *__s1;\n  byte *pbVar6;\n  byte *pbVar7;\n  bool bVar8;\n  bool bVar9;\n  bool bVar10;\n  byte bVar11;\n  char *end;\n  undefined4 uStack_14;\n  \n  puVar1 = PTR_optarg_0008bff4;\n  bVar11 = 0;\n  uStack_14 = 0x35ac9;\n  if (optc == 0x193) {\n    link_info._2_2_ = link_info._2_2_ & 0x3fff | 0x4000;\n    return 1;\n  }\n  uVar2 = link_info._4_1_;\n  if (0x193 < optc) {\n    if (optc != 0x196) {\n      if (optc < 0x197) {\n        if (optc == 0x194) {\n          link_info._2_2_ = link_info._2_2_ & 0x3fff;\n          return 1;\n        }\n        if (optc != 0x195) {\n          return 0;\n        }\n        add_excluded_libs(*(char **)PTR_optarg_0008bff4);\n        return 1;\n      }\n      if (optc == 0x198) {\n        gldm68kelf_append_to_separated_string(&audit,*(char **)PTR_optarg_0008bff4);\n        return 1;\n      }\n      if (optc < 0x198) {\n        if (emit_note_gnu_build_id != (char *)0x0) {\n          free(emit_note_gnu_build_id);\n          emit_note_gnu_build_id = (char *)0x0;\n        }\n        pbVar5 = *(byte **)PTR_optarg_0008bff4;\n        bVar8 = false;\n        bVar10 = pbVar5 == (byte *)0x0;\n        if (bVar10) {\n          pbVar5 = &DAT_0004f1e8;\n          *(undefined1 **)PTR_optarg_0008bff4 = &DAT_0004f1e8;\n        }\n        else {\n          iVar3 = 5;\n          pbVar6 = pbVar5;\n          pbVar7 = (byte *)0x4ab38;\n          do {\n            if (iVar3 == 0) break;\n            iVar3 = iVar3 + -1;\n            bVar8 = *pbVar6 < *pbVar7;\n            bVar10 = *pbVar6 == *pbVar7;\n            pbVar6 = pbVar6 + (uint)bVar11 * -2 + 1;\n            pbVar7 = pbVar7 + (uint)bVar11 * -2 + 1;\n          } while (bVar10);\n          if ((!bVar8 && !bVar10) == bVar8) {\n            return 1;\n          }\n        }\n        emit_note_gnu_build_id = (char *)xstrdup(pbVar5);\n        return 1;\n      }\n      if (optc != 0x199) {\n        return 0;\n      }\n      __s1 = *(char **)PTR_optarg_0008bff4;\n      iVar3 = strcasecmp(__s1,"none");\n      if (iVar3 == 0) {\n        link_info.compress_debug = COMPRESS_DEBUG_NONE;\n        return 1;\n      }\n      iVar3 = strcasecmp(__s1,"zlib");\n      if (iVar3 != 0) {\n        iVar3 = strcasecmp(__s1,"zlib-gnu");\n        if (iVar3 == 0) {\n          link_info.compress_debug = COMPRESS_DEBUG_GNU_ZLIB;\n          return 1;\n        }\n        iVar3 = strcasecmp(__s1,"zlib-gabi");\n        if (iVar3 != 0) {\n          pcVar4 = "%F%P: invalid --compress-debug-sections option: `%s\'\n";\n          goto LAB_00035f83;\n        }\n      }\n      link_info.compress_debug = COMPRESS_DEBUG_GABI_ZLIB;\n      return 1;\n    }\n    pbVar5 = *(byte **)PTR_optarg_0008bff4;\n    iVar3 = 5;\n    bVar8 = false;\n    bVar10 = (link_info._4_4_ & 0xf3) == 0;\n    link_info._4_4_ = link_info._4_4_ & 0xfffffff3;\n    pbVar6 = pbVar5;\n    pbVar7 = &DAT_0007ac19;\n    do {\n      if (iVar3 == 0) break;\n      iVar3 = iVar3 + -1;\n      bVar8 = *pbVar6 < *pbVar7;\n      bVar10 = *pbVar6 == *pbVar7;\n      pbVar6 = pbVar6 + 1;\n      pbVar7 = pbVar7 + 1;\n    } while (bVar10);\n    bVar9 = false;\n    bVar8 = (!bVar8 && !bVar10) == bVar8;\n    if (bVar8) {\n      link_info._4_4_ = CONCAT31(link_info._5_3_,uVar2) & 0xfffffff3 | 4;\n      return 1;\n    }\n    iVar3 = 4;\n    pbVar6 = pbVar5;\n    pbVar7 = &DAT_0007ac0b;\n    do {\n      if (iVar3 == 0) break;\n      iVar3 = iVar3 + -1;\n      bVar9 = *pbVar6 < *pbVar7;\n      bVar8 = *pbVar6 == *pbVar7;\n      pbVar6 = pbVar6 + 1;\n      pbVar7 = pbVar7 + 1;\n    } while (bVar8);\n    bVar10 = false;\n    bVar8 = (!bVar9 && !bVar8) == bVar9;\n    if (bVar8) {\n      link_info._4_4_ = CONCAT31(link_info._5_3_,uVar2) & 0xfffffff3 | 8;\n      return 1;\n    }\n    iVar3 = 5;\n    pbVar6 = pbVar5;\n    pbVar7 = &DAT_0007ac1e;\n    do {\n      if (iVar3 == 0) break;\n      iVar3 = iVar3 + -1;\n      bVar10 = *pbVar6 < *pbVar7;\n      bVar8 = *pbVar6 == *pbVar7;\n      pbVar6 = pbVar6 + 1;\n      pbVar7 = pbVar7 + 1;\n    } while (bVar8);\n    if ((!bVar10 && !bVar8) == bVar10) {\n      link_info._4_4_ = CONCAT31(link_info._5_3_,uVar2) & 0xfffffff3 | 0xc;\n      return 1;\n    }\n    pcVar4 = "%F%P: invalid hash style `%s\'\n";\nLAB_0003606a:\n    pcVar4 = (char *)dcgettext(0,pcVar4,5);\n    einfo(pcVar4,pbVar5);\n    return 1;\n  }\n  bVar8 = (uint)optc < 0x12d;\n  bVar10 = optc == 0x12d;\n  if (bVar10) {\n    iVar3 = 7;\n    pbVar5 = *(byte **)PTR_optarg_0008bff4;\n    pbVar6 = pbVar5;\n    pbVar7 = (byte *)"target";\n    do {\n      if (iVar3 == 0) break;\n      iVar3 = iVar3 + -1;\n      bVar8 = *pbVar6 < *pbVar7;\n      bVar10 = *pbVar6 == *pbVar7;\n      pbVar6 = pbVar6 + 1;\n      pbVar7 = pbVar7 + 1;\n    } while (bVar10);\n    bVar9 = false;\n    bVar8 = (!bVar8 && !bVar10) == bVar8;\n    if (!bVar8) {\n      iVar3 = 7;\n      pbVar6 = pbVar5;\n      pbVar7 = (byte *)"single";\n      do {\n        if (iVar3 == 0) break;\n        iVar3 = iVar3 + -1;\n        bVar9 = *pbVar6 < *pbVar7;\n        bVar8 = *pbVar6 == *pbVar7;\n        pbVar6 = pbVar6 + 1;\n        pbVar7 = pbVar7 + 1;\n      } while (bVar8);\n      bVar10 = false;\n      bVar8 = (!bVar9 && !bVar8) == bVar9;\n      if (!bVar8) {\n        iVar3 = 9;\n        pbVar6 = pbVar5;\n        pbVar7 = (byte *)"negative";\n        do {\n          if (iVar3 == 0) break;\n          iVar3 = iVar3 + -1;\n          bVar10 = *pbVar6 < *pbVar7;\n          bVar8 = *pbVar6 == *pbVar7;\n          pbVar6 = pbVar6 + 1;\n          pbVar7 = pbVar7 + 1;\n        } while (bVar8);\n        bVar9 = false;\n        bVar8 = (!bVar10 && !bVar8) == bVar10;\n        if (bVar8) {\n          got_handling = 1;\n          return 1;\n        }\n        iVar3 = 9;\n        pbVar6 = pbVar5;\n        pbVar7 = (byte *)"multigot";\n        do {\n          if (iVar3 == 0) break;\n          iVar3 = iVar3 + -1;\n          bVar9 = *pbVar6 < *pbVar7;\n          bVar8 = *pbVar6 == *pbVar7;\n          pbVar6 = pbVar6 + 1;\n          pbVar7 = pbVar7 + 1;\n        } while (bVar8);\n        if ((!bVar9 && !bVar8) == bVar9) {\n          got_handling = 2;\n          return 1;\n        }\n        pcVar4 = "%P: unrecognized --got argument \'%s\'\n";\n        goto LAB_0003606a;\n      }\n    }\n    got_handling = 0;\n    return 1;\n  }\n  if (0x12d < optc) {\n    if (optc == 0x191) {\n      link_info._4_4_ = link_info._4_4_ | 0x100;\n      return 1;\n    }\n    if (0x191 < optc) {\n      link_info._2_2_ = link_info._2_2_ | 0x1e0;\n      link_info.flags_1 = link_info.flags_1 | 4;\n      return 1;\n    }\n    if (optc != 400) {\n      return 0;\n    }\n    link_info._4_4_ = link_info._4_4_ & 0xfffffeff;\n    return 1;\n  }\n  if (optc == 0x50) {\n    gldm68kelf_append_to_separated_string(&depaudit,*(char **)PTR_optarg_0008bff4);\n    return 1;\n  }\n  bVar8 = (uint)optc < 0x7a;\n  bVar10 = optc == 0x7a;\n  if (!bVar10) {\n    return 0;\n  }\n  iVar3 = 5;\n  pbVar5 = *(byte **)PTR_optarg_0008bff4;\n  pbVar6 = pbVar5;\n  pbVar7 = (byte *)0x4acc7;\n  do {\n    if (iVar3 == 0) break;\n    iVar3 = iVar3 + -1;\n    bVar8 = *pbVar6 < *pbVar7;\n    bVar10 = *pbVar6 == *pbVar7;\n    pbVar6 = pbVar6 + 1;\n    pbVar7 = pbVar7 + 1;\n  } while (bVar10);\n  bVar9 = false;\n  bVar8 = (!bVar8 && !bVar10) == bVar8;\n  if (bVar8) {\n    link_info._2_2_ = link_info._2_2_ | 0x60;\n    return 1;\n  }\n  iVar3 = 7;\n  pbVar6 = pbVar5;\n  pbVar7 = (byte *)"undefs";\n  do {\n    if (iVar3 == 0) break;\n    iVar3 = iVar3 + -1;\n    bVar9 = *pbVar6 < *pbVar7;\n    bVar8 = *pbVar6 == *pbVar7;\n    pbVar6 = pbVar6 + 1;\n    pbVar7 = pbVar7 + 1;\n  } while (bVar8);\n  bVar10 = false;\n  bVar8 = (!bVar9 && !bVar8) == bVar9;\n  if (bVar8) {\n    link_info._2_2_ = link_info._2_2_ & 0xff9f | 0x20;\n    return 1;\n  }\n  iVar3 = 8;\n  pbVar6 = pbVar5;\n  pbVar7 = (byte *)"muldefs";\n  do {\n    if (iVar3 == 0) break;\n    iVar3 = iVar3 + -1;\n    bVar10 = *pbVar6 < *pbVar7;\n    bVar8 = *pbVar6 == *pbVar7;\n    pbVar6 = pbVar6 + 1;\n    pbVar7 = pbVar7 + 1;\n  } while (bVar8);\n  bVar9 = false;\n  bVar8 = (!bVar10 && !bVar8) == bVar10;\n  if (bVar8) {\n    link_info._4_4_ = link_info._4_4_ | 0x800;\n    return 1;\n  }\n  iVar3 = 0xe;\n  pbVar6 = pbVar5;\n  pbVar7 = (byte *)"max-page-size=";\n  do {\n    if (iVar3 == 0) break;\n    iVar3 = iVar3 + -1;\n    bVar9 = *pbVar6 < *pbVar7;\n    bVar8 = *pbVar6 == *pbVar7;\n    pbVar6 = pbVar6 + 1;\n    pbVar7 = pbVar7 + 1;\n  } while (bVar8);\n  bVar10 = false;\n  bVar8 = (!bVar9 && !bVar8) == bVar9;\n  if (bVar8) {\n    config.maxpagesize = strtoul((char *)(pbVar5 + 0xe),&end,0);\n    if ((*end == '\0') && ((config.maxpagesize - 1 & config.maxpagesize) == 0)) {\n      return 1;\n    }\n    pcVar4 = "%F%P: invalid maximum page size `%s\'\n";\n    __s1 = (char *)(*(int *)puVar1 + 0xe);\n  }\n  else {\n    iVar3 = 0x11;\n    pbVar6 = pbVar5;\n    pbVar7 = (byte *)"common-page-size=";\n    do {\n      if (iVar3 == 0) break;\n      iVar3 = iVar3 + -1;\n      bVar10 = *pbVar6 < *pbVar7;\n      bVar8 = *pbVar6 == *pbVar7;\n      pbVar6 = pbVar6 + 1;\n      pbVar7 = pbVar7 + 1;\n    } while (bVar8);\n    bVar9 = false;\n    bVar8 = (!bVar10 && !bVar8) == bVar10;\n    if (!bVar8) {\n      iVar3 = 0xb;\n      pbVar6 = pbVar5;\n      pbVar7 = (byte *)"stack-size=";\n      do {\n        if (iVar3 == 0) break;\n        iVar3 = iVar3 + -1;\n        bVar9 = *pbVar6 < *pbVar7;\n        bVar8 = *pbVar6 == *pbVar7;\n        pbVar6 = pbVar6 + 1;\n        pbVar7 = pbVar7 + 1;\n      } while (bVar8);\n      bVar10 = false;\n      bVar8 = (!bVar9 && !bVar8) == bVar9;\n      if (bVar8) {\n        link_info.stacksize = strtoul((char *)(pbVar5 + 0xb),&end,0);\n        if ((*end != '\0') || (link_info.stacksize < 0)) {\n          iVar3 = *(int *)puVar1;\n          pcVar4 = (char *)dcgettext(0,"%F%P: invalid stack size `%s\'\n",5,link_info.stacksize);\n          einfo(pcVar4,iVar3 + 0xb);\n        }\n        if (link_info.stacksize == 0) {\n          link_info.stacksize = -1;\n          return 1;\n        }\n        return 1;\n      }\n      iVar3 = 10;\n      pbVar6 = pbVar5;\n      pbVar7 = (byte *)0x7ac61;\n      do {\n        if (iVar3 == 0) break;\n        iVar3 = iVar3 + -1;\n        bVar10 = *pbVar6 < *pbVar7;\n        bVar8 = *pbVar6 == *pbVar7;\n        pbVar6 = pbVar6 + 1;\n        pbVar7 = pbVar7 + 1;\n      } while (bVar8);\n      bVar9 = false;\n      bVar8 = (!bVar10 && !bVar8) == bVar10;\n      if (bVar8) {\n        link_info._4_4_ = link_info._4_4_ & 0xfffe7fff | 0x8000;\n        return 1;\n      }\n      iVar3 = 0xc;\n      pbVar6 = pbVar5;\n      pbVar7 = (byte *)"noexecstack";\n      do {\n        if (iVar3 == 0) break;\n        iVar3 = iVar3 + -1;\n        bVar9 = *pbVar6 < *pbVar7;\n        bVar8 = *pbVar6 == *pbVar7;\n        pbVar6 = pbVar6 + 1;\n        pbVar7 = pbVar7 + 1;\n      } while (bVar8);\n      if ((!bVar9 && !bVar8) == bVar9) {\n        link_info._4_4_ = link_info._4_4_ & 0xfffe7fff | 0x10000;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar5,"globalaudit");\n      if (iVar3 == 0) {\n        link_info.flags_1 = link_info.flags_1 | 0x1000000;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar5,"global");\n      if (iVar3 == 0) {\n        link_info.flags_1 = link_info.flags_1 | 2;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar5,"initfirst");\n      if (iVar3 == 0) {\n        link_info.flags_1 = link_info.flags_1 | 0x20;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar5,"interpose");\n      if (iVar3 == 0) {\n        link_info.flags_1 = link_info.flags_1 | 0x400;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar5,"loadfltr");\n      if (iVar3 == 0) {\n        link_info.flags_1 = link_info.flags_1 | 0x10;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar5,"nodefaultlib");\n      if (iVar3 == 0) {\n        link_info.flags_1 = link_info.flags_1 | 0x800;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar5,"nodelete");\n      if (iVar3 == 0) {\n        link_info.flags_1 = link_info.flags_1 | 8;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar5,"nodlopen");\n      if (iVar3 == 0) {\n        link_info.flags_1 = link_info.flags_1 | 0x40;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar5,"nodump");\n      if (iVar3 == 0) {\n        link_info.flags_1 = link_info.flags_1 | 0x1000;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar5,"now");\n      if (iVar3 == 0) {\n        link_info.flags = link_info.flags | 8;\n        link_info.flags_1 = link_info.flags_1 | 1;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar5,"lazy");\n      if (iVar3 == 0) {\n        link_info.flags = link_info.flags & 0xfffffff7;\n        link_info.flags_1 = link_info.flags_1 & 0xfffffffe;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar5,"origin");\n      if (iVar3 == 0) {\n        link_info.flags = link_info.flags | 1;\n        link_info.flags_1 = link_info.flags_1 | 0x80;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar5,"combreloc");\n      if (iVar3 == 0) {\n        link_info._4_4_ = link_info._4_4_ | 0x40;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar5,"nocombreloc");\n      if (iVar3 == 0) {\n        link_info._4_4_ = link_info._4_4_ & 0xffffffbf;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar5,"nocopyreloc");\n      if (iVar3 == 0) {\n        link_info._0_1_ = link_info._0_1_ | 8;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar5,"relro");\n      if (iVar3 == 0) {\n        link_info._2_2_ = link_info._2_2_ | 0x1000;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar5,"norelro");\n      if (iVar3 == 0) {\n        link_info._2_2_ = link_info._2_2_ & 0xefff;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar5,"separate-code");\n      if (iVar3 == 0) {\n        link_info._2_2_ = link_info._2_2_ | 0x2000;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar5,"noseparate-code");\n      if (iVar3 == 0) {\n        link_info._2_2_ = link_info._2_2_ & 0xdfff;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar5,"common");\n      if (iVar3 == 0) {\n        link_info._2_2_ = link_info._2_2_ & 0xfff9 | 2;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar5,"nocommon");\n      if (iVar3 == 0) {\n        link_info._2_2_ = link_info._2_2_ & 0xfff9 | 4;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar5,"text");\n      if (iVar3 == 0) {\n        link_info._4_4_ = link_info._4_4_ | 2;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar5,"notext");\n      if ((iVar3 == 0) || (iVar3 = strcmp((char *)pbVar5,"textoff"), iVar3 == 0)) {\n        link_info._4_4_ = link_info._4_4_ & 0xfffffffd;\n        return 1;\n      }\n      pcVar4 = "%P: warning: -z %s ignored\n";\n      goto LAB_0003606a;\n    }\n    config.commonpagesize = strtoul((char *)(pbVar5 + 0x11),&end,0);\n    if ((*end == '\0') && ((config.commonpagesize - 1 & config.commonpagesize) == 0)) {\n      return 1;\n    }\n    pcVar4 = "%F%P: invalid common page size `%s\'\n";\n    __s1 = (char *)(*(int *)puVar1 + 0x11);\n  }\nLAB_00035f83:\n  pcVar4 = (char *)dcgettext(0,pcVar4,5);\n  einfo(pcVar4,__s1);\n  return 1;\n}" { (declaration "undefined *puVar1;" type_identifier (pointer_declarator "*puVar1" * identifier) ;) (declaration "undefined1 uVar2;" type_identifier identifier ;) (declaration "int iVar3;" primitive_type identifier ;) (declaration "char *pcVar4;" primitive_type (pointer_declarator "*pcVar4" * identifier) ;) (declaration "byte *pbVar5;" type_identifier (pointer_declarator "*pbVar5" * identifier) ;) (declaration "char *__s1;" primitive_type (pointer_declarator "*__s1" * identifier) ;) (declaration "byte *pbVar6;" type_identifier (pointer_declarator "*pbVar6" * identifier) ;) (declaration "byte *pbVar7;" type_identifier (pointer_declarator "*pbVar7" * identifier) ;) (declaration "bool bVar8;" primitive_type identifier ;) (declaration "bool bVar9;" primitive_type identifier ;) (declaration "bool bVar10;" primitive_type identifier ;) (declaration "byte bVar11;" type_identifier identifier ;) (declaration "char *end;" primitive_type (pointer_declarator "*end" * identifier) ;) (declaration "undefined4 uStack_14;" type_identifier identifier ;) (expression_statement "puVar1 = PTR_optarg_0008bff4;" (assignment_expression "puVar1 = PTR_optarg_0008bff4" identifier = identifier) ;) (expression_statement "bVar11 = 0;" (assignment_expression "bVar11 = 0" identifier = number_literal) ;) (expression_statement "uStack_14 = 0x35ac9;" (assignment_expression "uStack_14 = 0x35ac9" identifier = number_literal) ;) (if_statement "if (optc == 0x193) {\n    link_info._2_2_ = link_info._2_2_ & 0x3fff | 0x4000;\n    return 1;\n  }" if (parenthesized_expression "(optc == 0x193)" ( (binary_expression "optc == 0x193" identifier == number_literal) )) (compound_statement "{\n    link_info._2_2_ = link_info._2_2_ & 0x3fff | 0x4000;\n    return 1;\n  }" { (expression_statement "link_info._2_2_ = link_info._2_2_ & 0x3fff | 0x4000;" (assignment_expression "link_info._2_2_ = link_info._2_2_ & 0x3fff | 0x4000" (field_expression "link_info._2_2_" identifier . field_identifier) = (binary_expression "link_info._2_2_ & 0x3fff | 0x4000" (binary_expression "link_info._2_2_ & 0x3fff" (field_expression "link_info._2_2_" identifier . field_identifier) & number_literal) | number_literal)) ;) (return_statement "return 1;" return number_literal ;) })) (expression_statement "uVar2 = link_info._4_1_;" (assignment_expression "uVar2 = link_info._4_1_" identifier = (field_expression "link_info._4_1_" identifier . field_identifier)) ;) (if_statement "if (0x193 < optc) {\n    if (optc != 0x196) {\n      if (optc < 0x197) {\n        if (optc == 0x194) {\n          link_info._2_2_ = link_info._2_2_ & 0x3fff;\n          return 1;\n        }\n        if (optc != 0x195) {\n          return 0;\n        }\n        add_excluded_libs(*(char **)PTR_optarg_0008bff4);\n        return 1;\n      }\n      if (optc == 0x198) {\n        gldm68kelf_append_to_separated_string(&audit,*(char **)PTR_optarg_0008bff4);\n        return 1;\n      }\n      if (optc < 0x198) {\n        if (emit_note_gnu_build_id != (char *)0x0) {\n          free(emit_note_gnu_build_id);\n          emit_note_gnu_build_id = (char *)0x0;\n        }\n        pbVar5 = *(byte **)PTR_optarg_0008bff4;\n        bVar8 = false;\n        bVar10 = pbVar5 == (byte *)0x0;\n        if (bVar10) {\n          pbVar5 = &DAT_0004f1e8;\n          *(undefined1 **)PTR_optarg_0008bff4 = &DAT_0004f1e8;\n        }\n        else {\n          iVar3 = 5;\n          pbVar6 = pbVar5;\n          pbVar7 = (byte *)0x4ab38;\n          do {\n            if (iVar3 == 0) break;\n            iVar3 = iVar3 + -1;\n            bVar8 = *pbVar6 < *pbVar7;\n            bVar10 = *pbVar6 == *pbVar7;\n            pbVar6 = pbVar6 + (uint)bVar11 * -2 + 1;\n            pbVar7 = pbVar7 + (uint)bVar11 * -2 + 1;\n          } while (bVar10);\n          if ((!bVar8 && !bVar10) == bVar8) {\n            return 1;\n          }\n        }\n        emit_note_gnu_build_id = (char *)xstrdup(pbVar5);\n        return 1;\n      }\n      if (optc != 0x199) {\n        return 0;\n      }\n      __s1 = *(char **)PTR_optarg_0008bff4;\n      iVar3 = strcasecmp(__s1,"none");\n      if (iVar3 == 0) {\n        link_info.compress_debug = COMPRESS_DEBUG_NONE;\n        return 1;\n      }\n      iVar3 = strcasecmp(__s1,"zlib");\n      if (iVar3 != 0) {\n        iVar3 = strcasecmp(__s1,"zlib-gnu");\n        if (iVar3 == 0) {\n          link_info.compress_debug = COMPRESS_DEBUG_GNU_ZLIB;\n          return 1;\n        }\n        iVar3 = strcasecmp(__s1,"zlib-gabi");\n        if (iVar3 != 0) {\n          pcVar4 = "%F%P: invalid --compress-debug-sections option: `%s\'\n";\n          goto LAB_00035f83;\n        }\n      }\n      link_info.compress_debug = COMPRESS_DEBUG_GABI_ZLIB;\n      return 1;\n    }\n    pbVar5 = *(byte **)PTR_optarg_0008bff4;\n    iVar3 = 5;\n    bVar8 = false;\n    bVar10 = (link_info._4_4_ & 0xf3) == 0;\n    link_info._4_4_ = link_info._4_4_ & 0xfffffff3;\n    pbVar6 = pbVar5;\n    pbVar7 = &DAT_0007ac19;\n    do {\n      if (iVar3 == 0) break;\n      iVar3 = iVar3 + -1;\n      bVar8 = *pbVar6 < *pbVar7;\n      bVar10 = *pbVar6 == *pbVar7;\n      pbVar6 = pbVar6 + 1;\n      pbVar7 = pbVar7 + 1;\n    } while (bVar10);\n    bVar9 = false;\n    bVar8 = (!bVar8 && !bVar10) == bVar8;\n    if (bVar8) {\n      link_info._4_4_ = CONCAT31(link_info._5_3_,uVar2) & 0xfffffff3 | 4;\n      return 1;\n    }\n    iVar3 = 4;\n    pbVar6 = pbVar5;\n    pbVar7 = &DAT_0007ac0b;\n    do {\n      if (iVar3 == 0) break;\n      iVar3 = iVar3 + -1;\n      bVar9 = *pbVar6 < *pbVar7;\n      bVar8 = *pbVar6 == *pbVar7;\n      pbVar6 = pbVar6 + 1;\n      pbVar7 = pbVar7 + 1;\n    } while (bVar8);\n    bVar10 = false;\n    bVar8 = (!bVar9 && !bVar8) == bVar9;\n    if (bVar8) {\n      link_info._4_4_ = CONCAT31(link_info._5_3_,uVar2) & 0xfffffff3 | 8;\n      return 1;\n    }\n    iVar3 = 5;\n    pbVar6 = pbVar5;\n    pbVar7 = &DAT_0007ac1e;\n    do {\n      if (iVar3 == 0) break;\n      iVar3 = iVar3 + -1;\n      bVar10 = *pbVar6 < *pbVar7;\n      bVar8 = *pbVar6 == *pbVar7;\n      pbVar6 = pbVar6 + 1;\n      pbVar7 = pbVar7 + 1;\n    } while (bVar8);\n    if ((!bVar10 && !bVar8) == bVar10) {\n      link_info._4_4_ = CONCAT31(link_info._5_3_,uVar2) & 0xfffffff3 | 0xc;\n      return 1;\n    }\n    pcVar4 = "%F%P: invalid hash style `%s\'\n";\nLAB_0003606a:\n    pcVar4 = (char *)dcgettext(0,pcVar4,5);\n    einfo(pcVar4,pbVar5);\n    return 1;\n  }" if (parenthesized_expression "(0x193 < optc)" ( (binary_expression "0x193 < optc" number_literal < identifier) )) (compound_statement "{\n    if (optc != 0x196) {\n      if (optc < 0x197) {\n        if (optc == 0x194) {\n          link_info._2_2_ = link_info._2_2_ & 0x3fff;\n          return 1;\n        }\n        if (optc != 0x195) {\n          return 0;\n        }\n        add_excluded_libs(*(char **)PTR_optarg_0008bff4);\n        return 1;\n      }\n      if (optc == 0x198) {\n        gldm68kelf_append_to_separated_string(&audit,*(char **)PTR_optarg_0008bff4);\n        return 1;\n      }\n      if (optc < 0x198) {\n        if (emit_note_gnu_build_id != (char *)0x0) {\n          free(emit_note_gnu_build_id);\n          emit_note_gnu_build_id = (char *)0x0;\n        }\n        pbVar5 = *(byte **)PTR_optarg_0008bff4;\n        bVar8 = false;\n        bVar10 = pbVar5 == (byte *)0x0;\n        if (bVar10) {\n          pbVar5 = &DAT_0004f1e8;\n          *(undefined1 **)PTR_optarg_0008bff4 = &DAT_0004f1e8;\n        }\n        else {\n          iVar3 = 5;\n          pbVar6 = pbVar5;\n          pbVar7 = (byte *)0x4ab38;\n          do {\n            if (iVar3 == 0) break;\n            iVar3 = iVar3 + -1;\n            bVar8 = *pbVar6 < *pbVar7;\n            bVar10 = *pbVar6 == *pbVar7;\n            pbVar6 = pbVar6 + (uint)bVar11 * -2 + 1;\n            pbVar7 = pbVar7 + (uint)bVar11 * -2 + 1;\n          } while (bVar10);\n          if ((!bVar8 && !bVar10) == bVar8) {\n            return 1;\n          }\n        }\n        emit_note_gnu_build_id = (char *)xstrdup(pbVar5);\n        return 1;\n      }\n      if (optc != 0x199) {\n        return 0;\n      }\n      __s1 = *(char **)PTR_optarg_0008bff4;\n      iVar3 = strcasecmp(__s1,"none");\n      if (iVar3 == 0) {\n        link_info.compress_debug = COMPRESS_DEBUG_NONE;\n        return 1;\n      }\n      iVar3 = strcasecmp(__s1,"zlib");\n      if (iVar3 != 0) {\n        iVar3 = strcasecmp(__s1,"zlib-gnu");\n        if (iVar3 == 0) {\n          link_info.compress_debug = COMPRESS_DEBUG_GNU_ZLIB;\n          return 1;\n        }\n        iVar3 = strcasecmp(__s1,"zlib-gabi");\n        if (iVar3 != 0) {\n          pcVar4 = "%F%P: invalid --compress-debug-sections option: `%s\'\n";\n          goto LAB_00035f83;\n        }\n      }\n      link_info.compress_debug = COMPRESS_DEBUG_GABI_ZLIB;\n      return 1;\n    }\n    pbVar5 = *(byte **)PTR_optarg_0008bff4;\n    iVar3 = 5;\n    bVar8 = false;\n    bVar10 = (link_info._4_4_ & 0xf3) == 0;\n    link_info._4_4_ = link_info._4_4_ & 0xfffffff3;\n    pbVar6 = pbVar5;\n    pbVar7 = &DAT_0007ac19;\n    do {\n      if (iVar3 == 0) break;\n      iVar3 = iVar3 + -1;\n      bVar8 = *pbVar6 < *pbVar7;\n      bVar10 = *pbVar6 == *pbVar7;\n      pbVar6 = pbVar6 + 1;\n      pbVar7 = pbVar7 + 1;\n    } while (bVar10);\n    bVar9 = false;\n    bVar8 = (!bVar8 && !bVar10) == bVar8;\n    if (bVar8) {\n      link_info._4_4_ = CONCAT31(link_info._5_3_,uVar2) & 0xfffffff3 | 4;\n      return 1;\n    }\n    iVar3 = 4;\n    pbVar6 = pbVar5;\n    pbVar7 = &DAT_0007ac0b;\n    do {\n      if (iVar3 == 0) break;\n      iVar3 = iVar3 + -1;\n      bVar9 = *pbVar6 < *pbVar7;\n      bVar8 = *pbVar6 == *pbVar7;\n      pbVar6 = pbVar6 + 1;\n      pbVar7 = pbVar7 + 1;\n    } while (bVar8);\n    bVar10 = false;\n    bVar8 = (!bVar9 && !bVar8) == bVar9;\n    if (bVar8) {\n      link_info._4_4_ = CONCAT31(link_info._5_3_,uVar2) & 0xfffffff3 | 8;\n      return 1;\n    }\n    iVar3 = 5;\n    pbVar6 = pbVar5;\n    pbVar7 = &DAT_0007ac1e;\n    do {\n      if (iVar3 == 0) break;\n      iVar3 = iVar3 + -1;\n      bVar10 = *pbVar6 < *pbVar7;\n      bVar8 = *pbVar6 == *pbVar7;\n      pbVar6 = pbVar6 + 1;\n      pbVar7 = pbVar7 + 1;\n    } while (bVar8);\n    if ((!bVar10 && !bVar8) == bVar10) {\n      link_info._4_4_ = CONCAT31(link_info._5_3_,uVar2) & 0xfffffff3 | 0xc;\n      return 1;\n    }\n    pcVar4 = "%F%P: invalid hash style `%s\'\n";\nLAB_0003606a:\n    pcVar4 = (char *)dcgettext(0,pcVar4,5);\n    einfo(pcVar4,pbVar5);\n    return 1;\n  }" { (if_statement "if (optc != 0x196) {\n      if (optc < 0x197) {\n        if (optc == 0x194) {\n          link_info._2_2_ = link_info._2_2_ & 0x3fff;\n          return 1;\n        }\n        if (optc != 0x195) {\n          return 0;\n        }\n        add_excluded_libs(*(char **)PTR_optarg_0008bff4);\n        return 1;\n      }\n      if (optc == 0x198) {\n        gldm68kelf_append_to_separated_string(&audit,*(char **)PTR_optarg_0008bff4);\n        return 1;\n      }\n      if (optc < 0x198) {\n        if (emit_note_gnu_build_id != (char *)0x0) {\n          free(emit_note_gnu_build_id);\n          emit_note_gnu_build_id = (char *)0x0;\n        }\n        pbVar5 = *(byte **)PTR_optarg_0008bff4;\n        bVar8 = false;\n        bVar10 = pbVar5 == (byte *)0x0;\n        if (bVar10) {\n          pbVar5 = &DAT_0004f1e8;\n          *(undefined1 **)PTR_optarg_0008bff4 = &DAT_0004f1e8;\n        }\n        else {\n          iVar3 = 5;\n          pbVar6 = pbVar5;\n          pbVar7 = (byte *)0x4ab38;\n          do {\n            if (iVar3 == 0) break;\n            iVar3 = iVar3 + -1;\n            bVar8 = *pbVar6 < *pbVar7;\n            bVar10 = *pbVar6 == *pbVar7;\n            pbVar6 = pbVar6 + (uint)bVar11 * -2 + 1;\n            pbVar7 = pbVar7 + (uint)bVar11 * -2 + 1;\n          } while (bVar10);\n          if ((!bVar8 && !bVar10) == bVar8) {\n            return 1;\n          }\n        }\n        emit_note_gnu_build_id = (char *)xstrdup(pbVar5);\n        return 1;\n      }\n      if (optc != 0x199) {\n        return 0;\n      }\n      __s1 = *(char **)PTR_optarg_0008bff4;\n      iVar3 = strcasecmp(__s1,"none");\n      if (iVar3 == 0) {\n        link_info.compress_debug = COMPRESS_DEBUG_NONE;\n        return 1;\n      }\n      iVar3 = strcasecmp(__s1,"zlib");\n      if (iVar3 != 0) {\n        iVar3 = strcasecmp(__s1,"zlib-gnu");\n        if (iVar3 == 0) {\n          link_info.compress_debug = COMPRESS_DEBUG_GNU_ZLIB;\n          return 1;\n        }\n        iVar3 = strcasecmp(__s1,"zlib-gabi");\n        if (iVar3 != 0) {\n          pcVar4 = "%F%P: invalid --compress-debug-sections option: `%s\'\n";\n          goto LAB_00035f83;\n        }\n      }\n      link_info.compress_debug = COMPRESS_DEBUG_GABI_ZLIB;\n      return 1;\n    }" if (parenthesized_expression "(optc != 0x196)" ( (binary_expression "optc != 0x196" identifier != number_literal) )) (compound_statement "{\n      if (optc < 0x197) {\n        if (optc == 0x194) {\n          link_info._2_2_ = link_info._2_2_ & 0x3fff;\n          return 1;\n        }\n        if (optc != 0x195) {\n          return 0;\n        }\n        add_excluded_libs(*(char **)PTR_optarg_0008bff4);\n        return 1;\n      }\n      if (optc == 0x198) {\n        gldm68kelf_append_to_separated_string(&audit,*(char **)PTR_optarg_0008bff4);\n        return 1;\n      }\n      if (optc < 0x198) {\n        if (emit_note_gnu_build_id != (char *)0x0) {\n          free(emit_note_gnu_build_id);\n          emit_note_gnu_build_id = (char *)0x0;\n        }\n        pbVar5 = *(byte **)PTR_optarg_0008bff4;\n        bVar8 = false;\n        bVar10 = pbVar5 == (byte *)0x0;\n        if (bVar10) {\n          pbVar5 = &DAT_0004f1e8;\n          *(undefined1 **)PTR_optarg_0008bff4 = &DAT_0004f1e8;\n        }\n        else {\n          iVar3 = 5;\n          pbVar6 = pbVar5;\n          pbVar7 = (byte *)0x4ab38;\n          do {\n            if (iVar3 == 0) break;\n            iVar3 = iVar3 + -1;\n            bVar8 = *pbVar6 < *pbVar7;\n            bVar10 = *pbVar6 == *pbVar7;\n            pbVar6 = pbVar6 + (uint)bVar11 * -2 + 1;\n            pbVar7 = pbVar7 + (uint)bVar11 * -2 + 1;\n          } while (bVar10);\n          if ((!bVar8 && !bVar10) == bVar8) {\n            return 1;\n          }\n        }\n        emit_note_gnu_build_id = (char *)xstrdup(pbVar5);\n        return 1;\n      }\n      if (optc != 0x199) {\n        return 0;\n      }\n      __s1 = *(char **)PTR_optarg_0008bff4;\n      iVar3 = strcasecmp(__s1,"none");\n      if (iVar3 == 0) {\n        link_info.compress_debug = COMPRESS_DEBUG_NONE;\n        return 1;\n      }\n      iVar3 = strcasecmp(__s1,"zlib");\n      if (iVar3 != 0) {\n        iVar3 = strcasecmp(__s1,"zlib-gnu");\n        if (iVar3 == 0) {\n          link_info.compress_debug = COMPRESS_DEBUG_GNU_ZLIB;\n          return 1;\n        }\n        iVar3 = strcasecmp(__s1,"zlib-gabi");\n        if (iVar3 != 0) {\n          pcVar4 = "%F%P: invalid --compress-debug-sections option: `%s\'\n";\n          goto LAB_00035f83;\n        }\n      }\n      link_info.compress_debug = COMPRESS_DEBUG_GABI_ZLIB;\n      return 1;\n    }" { (if_statement "if (optc < 0x197) {\n        if (optc == 0x194) {\n          link_info._2_2_ = link_info._2_2_ & 0x3fff;\n          return 1;\n        }\n        if (optc != 0x195) {\n          return 0;\n        }\n        add_excluded_libs(*(char **)PTR_optarg_0008bff4);\n        return 1;\n      }" if (parenthesized_expression "(optc < 0x197)" ( (binary_expression "optc < 0x197" identifier < number_literal) )) (compound_statement "{\n        if (optc == 0x194) {\n          link_info._2_2_ = link_info._2_2_ & 0x3fff;\n          return 1;\n        }\n        if (optc != 0x195) {\n          return 0;\n        }\n        add_excluded_libs(*(char **)PTR_optarg_0008bff4);\n        return 1;\n      }" { (if_statement "if (optc == 0x194) {\n          link_info._2_2_ = link_info._2_2_ & 0x3fff;\n          return 1;\n        }" if (parenthesized_expression "(optc == 0x194)" ( (binary_expression "optc == 0x194" identifier == number_literal) )) (compound_statement "{\n          link_info._2_2_ = link_info._2_2_ & 0x3fff;\n          return 1;\n        }" { (expression_statement "link_info._2_2_ = link_info._2_2_ & 0x3fff;" (assignment_expression "link_info._2_2_ = link_info._2_2_ & 0x3fff" (field_expression "link_info._2_2_" identifier . field_identifier) = (binary_expression "link_info._2_2_ & 0x3fff" (field_expression "link_info._2_2_" identifier . field_identifier) & number_literal)) ;) (return_statement "return 1;" return number_literal ;) })) (if_statement "if (optc != 0x195) {\n          return 0;\n        }" if (parenthesized_expression "(optc != 0x195)" ( (binary_expression "optc != 0x195" identifier != number_literal) )) (compound_statement "{\n          return 0;\n        }" { (return_statement "return 0;" return number_literal ;) })) (expression_statement "add_excluded_libs(*(char **)PTR_optarg_0008bff4);" (call_expression "add_excluded_libs(*(char **)PTR_optarg_0008bff4)" identifier (argument_list "(*(char **)PTR_optarg_0008bff4)" ( (pointer_expression "*(char **)PTR_optarg_0008bff4" * (cast_expression "(char **)PTR_optarg_0008bff4" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier)) ))) ;) (return_statement "return 1;" return number_literal ;) })) (if_statement "if (optc == 0x198) {\n        gldm68kelf_append_to_separated_string(&audit,*(char **)PTR_optarg_0008bff4);\n        return 1;\n      }" if (parenthesized_expression "(optc == 0x198)" ( (binary_expression "optc == 0x198" identifier == number_literal) )) (compound_statement "{\n        gldm68kelf_append_to_separated_string(&audit,*(char **)PTR_optarg_0008bff4);\n        return 1;\n      }" { (expression_statement "gldm68kelf_append_to_separated_string(&audit,*(char **)PTR_optarg_0008bff4);" (call_expression "gldm68kelf_append_to_separated_string(&audit,*(char **)PTR_optarg_0008bff4)" identifier (argument_list "(&audit,*(char **)PTR_optarg_0008bff4)" ( (pointer_expression "&audit" & identifier) , (pointer_expression "*(char **)PTR_optarg_0008bff4" * (cast_expression "(char **)PTR_optarg_0008bff4" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier)) ))) ;) (return_statement "return 1;" return number_literal ;) })) (if_statement "if (optc < 0x198) {\n        if (emit_note_gnu_build_id != (char *)0x0) {\n          free(emit_note_gnu_build_id);\n          emit_note_gnu_build_id = (char *)0x0;\n        }\n        pbVar5 = *(byte **)PTR_optarg_0008bff4;\n        bVar8 = false;\n        bVar10 = pbVar5 == (byte *)0x0;\n        if (bVar10) {\n          pbVar5 = &DAT_0004f1e8;\n          *(undefined1 **)PTR_optarg_0008bff4 = &DAT_0004f1e8;\n        }\n        else {\n          iVar3 = 5;\n          pbVar6 = pbVar5;\n          pbVar7 = (byte *)0x4ab38;\n          do {\n            if (iVar3 == 0) break;\n            iVar3 = iVar3 + -1;\n            bVar8 = *pbVar6 < *pbVar7;\n            bVar10 = *pbVar6 == *pbVar7;\n            pbVar6 = pbVar6 + (uint)bVar11 * -2 + 1;\n            pbVar7 = pbVar7 + (uint)bVar11 * -2 + 1;\n          } while (bVar10);\n          if ((!bVar8 && !bVar10) == bVar8) {\n            return 1;\n          }\n        }\n        emit_note_gnu_build_id = (char *)xstrdup(pbVar5);\n        return 1;\n      }" if (parenthesized_expression "(optc < 0x198)" ( (binary_expression "optc < 0x198" identifier < number_literal) )) (compound_statement "{\n        if (emit_note_gnu_build_id != (char *)0x0) {\n          free(emit_note_gnu_build_id);\n          emit_note_gnu_build_id = (char *)0x0;\n        }\n        pbVar5 = *(byte **)PTR_optarg_0008bff4;\n        bVar8 = false;\n        bVar10 = pbVar5 == (byte *)0x0;\n        if (bVar10) {\n          pbVar5 = &DAT_0004f1e8;\n          *(undefined1 **)PTR_optarg_0008bff4 = &DAT_0004f1e8;\n        }\n        else {\n          iVar3 = 5;\n          pbVar6 = pbVar5;\n          pbVar7 = (byte *)0x4ab38;\n          do {\n            if (iVar3 == 0) break;\n            iVar3 = iVar3 + -1;\n            bVar8 = *pbVar6 < *pbVar7;\n            bVar10 = *pbVar6 == *pbVar7;\n            pbVar6 = pbVar6 + (uint)bVar11 * -2 + 1;\n            pbVar7 = pbVar7 + (uint)bVar11 * -2 + 1;\n          } while (bVar10);\n          if ((!bVar8 && !bVar10) == bVar8) {\n            return 1;\n          }\n        }\n        emit_note_gnu_build_id = (char *)xstrdup(pbVar5);\n        return 1;\n      }" { (if_statement "if (emit_note_gnu_build_id != (char *)0x0) {\n          free(emit_note_gnu_build_id);\n          emit_note_gnu_build_id = (char *)0x0;\n        }" if (parenthesized_expression "(emit_note_gnu_build_id != (char *)0x0)" ( (binary_expression "emit_note_gnu_build_id != (char *)0x0" identifier != (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n          free(emit_note_gnu_build_id);\n          emit_note_gnu_build_id = (char *)0x0;\n        }" { (expression_statement "free(emit_note_gnu_build_id);" (call_expression "free(emit_note_gnu_build_id)" identifier (argument_list "(emit_note_gnu_build_id)" ( identifier ))) ;) (expression_statement "emit_note_gnu_build_id = (char *)0x0;" (assignment_expression "emit_note_gnu_build_id = (char *)0x0" identifier = (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) })) (expression_statement "pbVar5 = *(byte **)PTR_optarg_0008bff4;" (assignment_expression "pbVar5 = *(byte **)PTR_optarg_0008bff4" identifier = (pointer_expression "*(byte **)PTR_optarg_0008bff4" * (cast_expression "(byte **)PTR_optarg_0008bff4" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier))) ;) (expression_statement "bVar8 = false;" (assignment_expression "bVar8 = false" identifier = false) ;) (expression_statement "bVar10 = pbVar5 == (byte *)0x0;" (assignment_expression "bVar10 = pbVar5 == (byte *)0x0" identifier = (binary_expression "pbVar5 == (byte *)0x0" identifier == (cast_expression "(byte *)0x0" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal))) ;) (if_statement "if (bVar10) {\n          pbVar5 = &DAT_0004f1e8;\n          *(undefined1 **)PTR_optarg_0008bff4 = &DAT_0004f1e8;\n        }\n        else {\n          iVar3 = 5;\n          pbVar6 = pbVar5;\n          pbVar7 = (byte *)0x4ab38;\n          do {\n            if (iVar3 == 0) break;\n            iVar3 = iVar3 + -1;\n            bVar8 = *pbVar6 < *pbVar7;\n            bVar10 = *pbVar6 == *pbVar7;\n            pbVar6 = pbVar6 + (uint)bVar11 * -2 + 1;\n            pbVar7 = pbVar7 + (uint)bVar11 * -2 + 1;\n          } while (bVar10);\n          if ((!bVar8 && !bVar10) == bVar8) {\n            return 1;\n          }\n        }" if (parenthesized_expression "(bVar10)" ( identifier )) (compound_statement "{\n          pbVar5 = &DAT_0004f1e8;\n          *(undefined1 **)PTR_optarg_0008bff4 = &DAT_0004f1e8;\n        }" { (expression_statement "pbVar5 = &DAT_0004f1e8;" (assignment_expression "pbVar5 = &DAT_0004f1e8" identifier = (pointer_expression "&DAT_0004f1e8" & identifier)) ;) (expression_statement "*(undefined1 **)PTR_optarg_0008bff4 = &DAT_0004f1e8;" (assignment_expression "*(undefined1 **)PTR_optarg_0008bff4 = &DAT_0004f1e8" (pointer_expression "*(undefined1 **)PTR_optarg_0008bff4" * (cast_expression "(undefined1 **)PTR_optarg_0008bff4" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier)) = (pointer_expression "&DAT_0004f1e8" & identifier)) ;) }) (else_clause "else {\n          iVar3 = 5;\n          pbVar6 = pbVar5;\n          pbVar7 = (byte *)0x4ab38;\n          do {\n            if (iVar3 == 0) break;\n            iVar3 = iVar3 + -1;\n            bVar8 = *pbVar6 < *pbVar7;\n            bVar10 = *pbVar6 == *pbVar7;\n            pbVar6 = pbVar6 + (uint)bVar11 * -2 + 1;\n            pbVar7 = pbVar7 + (uint)bVar11 * -2 + 1;\n          } while (bVar10);\n          if ((!bVar8 && !bVar10) == bVar8) {\n            return 1;\n          }\n        }" else (compound_statement "{\n          iVar3 = 5;\n          pbVar6 = pbVar5;\n          pbVar7 = (byte *)0x4ab38;\n          do {\n            if (iVar3 == 0) break;\n            iVar3 = iVar3 + -1;\n            bVar8 = *pbVar6 < *pbVar7;\n            bVar10 = *pbVar6 == *pbVar7;\n            pbVar6 = pbVar6 + (uint)bVar11 * -2 + 1;\n            pbVar7 = pbVar7 + (uint)bVar11 * -2 + 1;\n          } while (bVar10);\n          if ((!bVar8 && !bVar10) == bVar8) {\n            return 1;\n          }\n        }" { (expression_statement "iVar3 = 5;" (assignment_expression "iVar3 = 5" identifier = number_literal) ;) (expression_statement "pbVar6 = pbVar5;" (assignment_expression "pbVar6 = pbVar5" identifier = identifier) ;) (expression_statement "pbVar7 = (byte *)0x4ab38;" (assignment_expression "pbVar7 = (byte *)0x4ab38" identifier = (cast_expression "(byte *)0x4ab38" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (do_statement "do {\n            if (iVar3 == 0) break;\n            iVar3 = iVar3 + -1;\n            bVar8 = *pbVar6 < *pbVar7;\n            bVar10 = *pbVar6 == *pbVar7;\n            pbVar6 = pbVar6 + (uint)bVar11 * -2 + 1;\n            pbVar7 = pbVar7 + (uint)bVar11 * -2 + 1;\n          } while (bVar10);" do (compound_statement "{\n            if (iVar3 == 0) break;\n            iVar3 = iVar3 + -1;\n            bVar8 = *pbVar6 < *pbVar7;\n            bVar10 = *pbVar6 == *pbVar7;\n            pbVar6 = pbVar6 + (uint)bVar11 * -2 + 1;\n            pbVar7 = pbVar7 + (uint)bVar11 * -2 + 1;\n          }" { (if_statement "if (iVar3 == 0) break;" if (parenthesized_expression "(iVar3 == 0)" ( (binary_expression "iVar3 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "iVar3 = iVar3 + -1;" (assignment_expression "iVar3 = iVar3 + -1" identifier = (binary_expression "iVar3 + -1" identifier + number_literal)) ;) (expression_statement "bVar8 = *pbVar6 < *pbVar7;" (assignment_expression "bVar8 = *pbVar6 < *pbVar7" identifier = (binary_expression "*pbVar6 < *pbVar7" (pointer_expression "*pbVar6" * identifier) < (pointer_expression "*pbVar7" * identifier))) ;) (expression_statement "bVar10 = *pbVar6 == *pbVar7;" (assignment_expression "bVar10 = *pbVar6 == *pbVar7" identifier = (binary_expression "*pbVar6 == *pbVar7" (pointer_expression "*pbVar6" * identifier) == (pointer_expression "*pbVar7" * identifier))) ;) (expression_statement "pbVar6 = pbVar6 + (uint)bVar11 * -2 + 1;" (assignment_expression "pbVar6 = pbVar6 + (uint)bVar11 * -2 + 1" identifier = (binary_expression "pbVar6 + (uint)bVar11 * -2 + 1" (binary_expression "pbVar6 + (uint)bVar11 * -2" identifier + (binary_expression "(uint)bVar11 * -2" (cast_expression "(uint)bVar11" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) (expression_statement "pbVar7 = pbVar7 + (uint)bVar11 * -2 + 1;" (assignment_expression "pbVar7 = pbVar7 + (uint)bVar11 * -2 + 1" identifier = (binary_expression "pbVar7 + (uint)bVar11 * -2 + 1" (binary_expression "pbVar7 + (uint)bVar11 * -2" identifier + (binary_expression "(uint)bVar11 * -2" (cast_expression "(uint)bVar11" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) }) while (parenthesized_expression "(bVar10)" ( identifier )) ;) (if_statement "if ((!bVar8 && !bVar10) == bVar8) {\n            return 1;\n          }" if (parenthesized_expression "((!bVar8 && !bVar10) == bVar8)" ( (binary_expression "(!bVar8 && !bVar10) == bVar8" (parenthesized_expression "(!bVar8 && !bVar10)" ( (binary_expression "!bVar8 && !bVar10" (unary_expression "!bVar8" ! identifier) && (unary_expression "!bVar10" ! identifier)) )) == identifier) )) (compound_statement "{\n            return 1;\n          }" { (return_statement "return 1;" return number_literal ;) })) }))) (expression_statement "emit_note_gnu_build_id = (char *)xstrdup(pbVar5);" (assignment_expression "emit_note_gnu_build_id = (char *)xstrdup(pbVar5)" identifier = (cast_expression "(char *)xstrdup(pbVar5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "xstrdup(pbVar5)" identifier (argument_list "(pbVar5)" ( identifier ))))) ;) (return_statement "return 1;" return number_literal ;) })) (if_statement "if (optc != 0x199) {\n        return 0;\n      }" if (parenthesized_expression "(optc != 0x199)" ( (binary_expression "optc != 0x199" identifier != number_literal) )) (compound_statement "{\n        return 0;\n      }" { (return_statement "return 0;" return number_literal ;) })) (expression_statement "__s1 = *(char **)PTR_optarg_0008bff4;" (assignment_expression "__s1 = *(char **)PTR_optarg_0008bff4" identifier = (pointer_expression "*(char **)PTR_optarg_0008bff4" * (cast_expression "(char **)PTR_optarg_0008bff4" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier))) ;) (expression_statement "iVar3 = strcasecmp(__s1,"none");" (assignment_expression "iVar3 = strcasecmp(__s1,"none")" identifier = (call_expression "strcasecmp(__s1,"none")" identifier (argument_list "(__s1,"none")" ( identifier , (string_literal ""none"" " string_content ") )))) ;) (if_statement "if (iVar3 == 0) {\n        link_info.compress_debug = COMPRESS_DEBUG_NONE;\n        return 1;\n      }" if (parenthesized_expression "(iVar3 == 0)" ( (binary_expression "iVar3 == 0" identifier == number_literal) )) (compound_statement "{\n        link_info.compress_debug = COMPRESS_DEBUG_NONE;\n        return 1;\n      }" { (expression_statement "link_info.compress_debug = COMPRESS_DEBUG_NONE;" (assignment_expression "link_info.compress_debug = COMPRESS_DEBUG_NONE" (field_expression "link_info.compress_debug" identifier . field_identifier) = identifier) ;) (return_statement "return 1;" return number_literal ;) })) (expression_statement "iVar3 = strcasecmp(__s1,"zlib");" (assignment_expression "iVar3 = strcasecmp(__s1,"zlib")" identifier = (call_expression "strcasecmp(__s1,"zlib")" identifier (argument_list "(__s1,"zlib")" ( identifier , (string_literal ""zlib"" " string_content ") )))) ;) (if_statement "if (iVar3 != 0) {\n        iVar3 = strcasecmp(__s1,"zlib-gnu");\n        if (iVar3 == 0) {\n          link_info.compress_debug = COMPRESS_DEBUG_GNU_ZLIB;\n          return 1;\n        }\n        iVar3 = strcasecmp(__s1,"zlib-gabi");\n        if (iVar3 != 0) {\n          pcVar4 = "%F%P: invalid --compress-debug-sections option: `%s\'\n";\n          goto LAB_00035f83;\n        }\n      }" if (parenthesized_expression "(iVar3 != 0)" ( (binary_expression "iVar3 != 0" identifier != number_literal) )) (compound_statement "{\n        iVar3 = strcasecmp(__s1,"zlib-gnu");\n        if (iVar3 == 0) {\n          link_info.compress_debug = COMPRESS_DEBUG_GNU_ZLIB;\n          return 1;\n        }\n        iVar3 = strcasecmp(__s1,"zlib-gabi");\n        if (iVar3 != 0) {\n          pcVar4 = "%F%P: invalid --compress-debug-sections option: `%s\'\n";\n          goto LAB_00035f83;\n        }\n      }" { (expression_statement "iVar3 = strcasecmp(__s1,"zlib-gnu");" (assignment_expression "iVar3 = strcasecmp(__s1,"zlib-gnu")" identifier = (call_expression "strcasecmp(__s1,"zlib-gnu")" identifier (argument_list "(__s1,"zlib-gnu")" ( identifier , (string_literal ""zlib-gnu"" " string_content ") )))) ;) (if_statement "if (iVar3 == 0) {\n          link_info.compress_debug = COMPRESS_DEBUG_GNU_ZLIB;\n          return 1;\n        }" if (parenthesized_expression "(iVar3 == 0)" ( (binary_expression "iVar3 == 0" identifier == number_literal) )) (compound_statement "{\n          link_info.compress_debug = COMPRESS_DEBUG_GNU_ZLIB;\n          return 1;\n        }" { (expression_statement "link_info.compress_debug = COMPRESS_DEBUG_GNU_ZLIB;" (assignment_expression "link_info.compress_debug = COMPRESS_DEBUG_GNU_ZLIB" (field_expression "link_info.compress_debug" identifier . field_identifier) = identifier) ;) (return_statement "return 1;" return number_literal ;) })) (expression_statement "iVar3 = strcasecmp(__s1,"zlib-gabi");" (assignment_expression "iVar3 = strcasecmp(__s1,"zlib-gabi")" identifier = (call_expression "strcasecmp(__s1,"zlib-gabi")" identifier (argument_list "(__s1,"zlib-gabi")" ( identifier , (string_literal ""zlib-gabi"" " string_content ") )))) ;) (if_statement "if (iVar3 != 0) {\n          pcVar4 = "%F%P: invalid --compress-debug-sections option: `%s\'\n";\n          goto LAB_00035f83;\n        }" if (parenthesized_expression "(iVar3 != 0)" ( (binary_expression "iVar3 != 0" identifier != number_literal) )) (compound_statement "{\n          pcVar4 = "%F%P: invalid --compress-debug-sections option: `%s\'\n";\n          goto LAB_00035f83;\n        }" { (expression_statement "pcVar4 = "%F%P: invalid --compress-debug-sections option: `%s\'\n";" (assignment_expression "pcVar4 = "%F%P: invalid --compress-debug-sections option: `%s\'\n"" identifier = (string_literal ""%F%P: invalid --compress-debug-sections option: `%s\'\n"" " string_content escape_sequence escape_sequence ")) ;) (goto_statement "goto LAB_00035f83;" goto statement_identifier ;) })) })) (expression_statement "link_info.compress_debug = COMPRESS_DEBUG_GABI_ZLIB;" (assignment_expression "link_info.compress_debug = COMPRESS_DEBUG_GABI_ZLIB" (field_expression "link_info.compress_debug" identifier . field_identifier) = identifier) ;) (return_statement "return 1;" return number_literal ;) })) (expression_statement "pbVar5 = *(byte **)PTR_optarg_0008bff4;" (assignment_expression "pbVar5 = *(byte **)PTR_optarg_0008bff4" identifier = (pointer_expression "*(byte **)PTR_optarg_0008bff4" * (cast_expression "(byte **)PTR_optarg_0008bff4" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier))) ;) (expression_statement "iVar3 = 5;" (assignment_expression "iVar3 = 5" identifier = number_literal) ;) (expression_statement "bVar8 = false;" (assignment_expression "bVar8 = false" identifier = false) ;) (expression_statement "bVar10 = (link_info._4_4_ & 0xf3) == 0;" (assignment_expression "bVar10 = (link_info._4_4_ & 0xf3) == 0" identifier = (binary_expression "(link_info._4_4_ & 0xf3) == 0" (parenthesized_expression "(link_info._4_4_ & 0xf3)" ( (binary_expression "link_info._4_4_ & 0xf3" (field_expression "link_info._4_4_" identifier . field_identifier) & number_literal) )) == number_literal)) ;) (expression_statement "link_info._4_4_ = link_info._4_4_ & 0xfffffff3;" (assignment_expression "link_info._4_4_ = link_info._4_4_ & 0xfffffff3" (field_expression "link_info._4_4_" identifier . field_identifier) = (binary_expression "link_info._4_4_ & 0xfffffff3" (field_expression "link_info._4_4_" identifier . field_identifier) & number_literal)) ;) (expression_statement "pbVar6 = pbVar5;" (assignment_expression "pbVar6 = pbVar5" identifier = identifier) ;) (expression_statement "pbVar7 = &DAT_0007ac19;" (assignment_expression "pbVar7 = &DAT_0007ac19" identifier = (pointer_expression "&DAT_0007ac19" & identifier)) ;) (do_statement "do {\n      if (iVar3 == 0) break;\n      iVar3 = iVar3 + -1;\n      bVar8 = *pbVar6 < *pbVar7;\n      bVar10 = *pbVar6 == *pbVar7;\n      pbVar6 = pbVar6 + 1;\n      pbVar7 = pbVar7 + 1;\n    } while (bVar10);" do (compound_statement "{\n      if (iVar3 == 0) break;\n      iVar3 = iVar3 + -1;\n      bVar8 = *pbVar6 < *pbVar7;\n      bVar10 = *pbVar6 == *pbVar7;\n      pbVar6 = pbVar6 + 1;\n      pbVar7 = pbVar7 + 1;\n    }" { (if_statement "if (iVar3 == 0) break;" if (parenthesized_expression "(iVar3 == 0)" ( (binary_expression "iVar3 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "iVar3 = iVar3 + -1;" (assignment_expression "iVar3 = iVar3 + -1" identifier = (binary_expression "iVar3 + -1" identifier + number_literal)) ;) (expression_statement "bVar8 = *pbVar6 < *pbVar7;" (assignment_expression "bVar8 = *pbVar6 < *pbVar7" identifier = (binary_expression "*pbVar6 < *pbVar7" (pointer_expression "*pbVar6" * identifier) < (pointer_expression "*pbVar7" * identifier))) ;) (expression_statement "bVar10 = *pbVar6 == *pbVar7;" (assignment_expression "bVar10 = *pbVar6 == *pbVar7" identifier = (binary_expression "*pbVar6 == *pbVar7" (pointer_expression "*pbVar6" * identifier) == (pointer_expression "*pbVar7" * identifier))) ;) (expression_statement "pbVar6 = pbVar6 + 1;" (assignment_expression "pbVar6 = pbVar6 + 1" identifier = (binary_expression "pbVar6 + 1" identifier + number_literal)) ;) (expression_statement "pbVar7 = pbVar7 + 1;" (assignment_expression "pbVar7 = pbVar7 + 1" identifier = (binary_expression "pbVar7 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(bVar10)" ( identifier )) ;) (expression_statement "bVar9 = false;" (assignment_expression "bVar9 = false" identifier = false) ;) (expression_statement "bVar8 = (!bVar8 && !bVar10) == bVar8;" (assignment_expression "bVar8 = (!bVar8 && !bVar10) == bVar8" identifier = (binary_expression "(!bVar8 && !bVar10) == bVar8" (parenthesized_expression "(!bVar8 && !bVar10)" ( (binary_expression "!bVar8 && !bVar10" (unary_expression "!bVar8" ! identifier) && (unary_expression "!bVar10" ! identifier)) )) == identifier)) ;) (if_statement "if (bVar8) {\n      link_info._4_4_ = CONCAT31(link_info._5_3_,uVar2) & 0xfffffff3 | 4;\n      return 1;\n    }" if (parenthesized_expression "(bVar8)" ( identifier )) (compound_statement "{\n      link_info._4_4_ = CONCAT31(link_info._5_3_,uVar2) & 0xfffffff3 | 4;\n      return 1;\n    }" { (expression_statement "link_info._4_4_ = CONCAT31(link_info._5_3_,uVar2) & 0xfffffff3 | 4;" (assignment_expression "link_info._4_4_ = CONCAT31(link_info._5_3_,uVar2) & 0xfffffff3 | 4" (field_expression "link_info._4_4_" identifier . field_identifier) = (binary_expression "CONCAT31(link_info._5_3_,uVar2) & 0xfffffff3 | 4" (binary_expression "CONCAT31(link_info._5_3_,uVar2) & 0xfffffff3" (call_expression "CONCAT31(link_info._5_3_,uVar2)" identifier (argument_list "(link_info._5_3_,uVar2)" ( (field_expression "link_info._5_3_" identifier . field_identifier) , identifier ))) & number_literal) | number_literal)) ;) (return_statement "return 1;" return number_literal ;) })) (expression_statement "iVar3 = 4;" (assignment_expression "iVar3 = 4" identifier = number_literal) ;) (expression_statement "pbVar6 = pbVar5;" (assignment_expression "pbVar6 = pbVar5" identifier = identifier) ;) (expression_statement "pbVar7 = &DAT_0007ac0b;" (assignment_expression "pbVar7 = &DAT_0007ac0b" identifier = (pointer_expression "&DAT_0007ac0b" & identifier)) ;) (do_statement "do {\n      if (iVar3 == 0) break;\n      iVar3 = iVar3 + -1;\n      bVar9 = *pbVar6 < *pbVar7;\n      bVar8 = *pbVar6 == *pbVar7;\n      pbVar6 = pbVar6 + 1;\n      pbVar7 = pbVar7 + 1;\n    } while (bVar8);" do (compound_statement "{\n      if (iVar3 == 0) break;\n      iVar3 = iVar3 + -1;\n      bVar9 = *pbVar6 < *pbVar7;\n      bVar8 = *pbVar6 == *pbVar7;\n      pbVar6 = pbVar6 + 1;\n      pbVar7 = pbVar7 + 1;\n    }" { (if_statement "if (iVar3 == 0) break;" if (parenthesized_expression "(iVar3 == 0)" ( (binary_expression "iVar3 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "iVar3 = iVar3 + -1;" (assignment_expression "iVar3 = iVar3 + -1" identifier = (binary_expression "iVar3 + -1" identifier + number_literal)) ;) (expression_statement "bVar9 = *pbVar6 < *pbVar7;" (assignment_expression "bVar9 = *pbVar6 < *pbVar7" identifier = (binary_expression "*pbVar6 < *pbVar7" (pointer_expression "*pbVar6" * identifier) < (pointer_expression "*pbVar7" * identifier))) ;) (expression_statement "bVar8 = *pbVar6 == *pbVar7;" (assignment_expression "bVar8 = *pbVar6 == *pbVar7" identifier = (binary_expression "*pbVar6 == *pbVar7" (pointer_expression "*pbVar6" * identifier) == (pointer_expression "*pbVar7" * identifier))) ;) (expression_statement "pbVar6 = pbVar6 + 1;" (assignment_expression "pbVar6 = pbVar6 + 1" identifier = (binary_expression "pbVar6 + 1" identifier + number_literal)) ;) (expression_statement "pbVar7 = pbVar7 + 1;" (assignment_expression "pbVar7 = pbVar7 + 1" identifier = (binary_expression "pbVar7 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(bVar8)" ( identifier )) ;) (expression_statement "bVar10 = false;" (assignment_expression "bVar10 = false" identifier = false) ;) (expression_statement "bVar8 = (!bVar9 && !bVar8) == bVar9;" (assignment_expression "bVar8 = (!bVar9 && !bVar8) == bVar9" identifier = (binary_expression "(!bVar9 && !bVar8) == bVar9" (parenthesized_expression "(!bVar9 && !bVar8)" ( (binary_expression "!bVar9 && !bVar8" (unary_expression "!bVar9" ! identifier) && (unary_expression "!bVar8" ! identifier)) )) == identifier)) ;) (if_statement "if (bVar8) {\n      link_info._4_4_ = CONCAT31(link_info._5_3_,uVar2) & 0xfffffff3 | 8;\n      return 1;\n    }" if (parenthesized_expression "(bVar8)" ( identifier )) (compound_statement "{\n      link_info._4_4_ = CONCAT31(link_info._5_3_,uVar2) & 0xfffffff3 | 8;\n      return 1;\n    }" { (expression_statement "link_info._4_4_ = CONCAT31(link_info._5_3_,uVar2) & 0xfffffff3 | 8;" (assignment_expression "link_info._4_4_ = CONCAT31(link_info._5_3_,uVar2) & 0xfffffff3 | 8" (field_expression "link_info._4_4_" identifier . field_identifier) = (binary_expression "CONCAT31(link_info._5_3_,uVar2) & 0xfffffff3 | 8" (binary_expression "CONCAT31(link_info._5_3_,uVar2) & 0xfffffff3" (call_expression "CONCAT31(link_info._5_3_,uVar2)" identifier (argument_list "(link_info._5_3_,uVar2)" ( (field_expression "link_info._5_3_" identifier . field_identifier) , identifier ))) & number_literal) | number_literal)) ;) (return_statement "return 1;" return number_literal ;) })) (expression_statement "iVar3 = 5;" (assignment_expression "iVar3 = 5" identifier = number_literal) ;) (expression_statement "pbVar6 = pbVar5;" (assignment_expression "pbVar6 = pbVar5" identifier = identifier) ;) (expression_statement "pbVar7 = &DAT_0007ac1e;" (assignment_expression "pbVar7 = &DAT_0007ac1e" identifier = (pointer_expression "&DAT_0007ac1e" & identifier)) ;) (do_statement "do {\n      if (iVar3 == 0) break;\n      iVar3 = iVar3 + -1;\n      bVar10 = *pbVar6 < *pbVar7;\n      bVar8 = *pbVar6 == *pbVar7;\n      pbVar6 = pbVar6 + 1;\n      pbVar7 = pbVar7 + 1;\n    } while (bVar8);" do (compound_statement "{\n      if (iVar3 == 0) break;\n      iVar3 = iVar3 + -1;\n      bVar10 = *pbVar6 < *pbVar7;\n      bVar8 = *pbVar6 == *pbVar7;\n      pbVar6 = pbVar6 + 1;\n      pbVar7 = pbVar7 + 1;\n    }" { (if_statement "if (iVar3 == 0) break;" if (parenthesized_expression "(iVar3 == 0)" ( (binary_expression "iVar3 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "iVar3 = iVar3 + -1;" (assignment_expression "iVar3 = iVar3 + -1" identifier = (binary_expression "iVar3 + -1" identifier + number_literal)) ;) (expression_statement "bVar10 = *pbVar6 < *pbVar7;" (assignment_expression "bVar10 = *pbVar6 < *pbVar7" identifier = (binary_expression "*pbVar6 < *pbVar7" (pointer_expression "*pbVar6" * identifier) < (pointer_expression "*pbVar7" * identifier))) ;) (expression_statement "bVar8 = *pbVar6 == *pbVar7;" (assignment_expression "bVar8 = *pbVar6 == *pbVar7" identifier = (binary_expression "*pbVar6 == *pbVar7" (pointer_expression "*pbVar6" * identifier) == (pointer_expression "*pbVar7" * identifier))) ;) (expression_statement "pbVar6 = pbVar6 + 1;" (assignment_expression "pbVar6 = pbVar6 + 1" identifier = (binary_expression "pbVar6 + 1" identifier + number_literal)) ;) (expression_statement "pbVar7 = pbVar7 + 1;" (assignment_expression "pbVar7 = pbVar7 + 1" identifier = (binary_expression "pbVar7 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(bVar8)" ( identifier )) ;) (if_statement "if ((!bVar10 && !bVar8) == bVar10) {\n      link_info._4_4_ = CONCAT31(link_info._5_3_,uVar2) & 0xfffffff3 | 0xc;\n      return 1;\n    }" if (parenthesized_expression "((!bVar10 && !bVar8) == bVar10)" ( (binary_expression "(!bVar10 && !bVar8) == bVar10" (parenthesized_expression "(!bVar10 && !bVar8)" ( (binary_expression "!bVar10 && !bVar8" (unary_expression "!bVar10" ! identifier) && (unary_expression "!bVar8" ! identifier)) )) == identifier) )) (compound_statement "{\n      link_info._4_4_ = CONCAT31(link_info._5_3_,uVar2) & 0xfffffff3 | 0xc;\n      return 1;\n    }" { (expression_statement "link_info._4_4_ = CONCAT31(link_info._5_3_,uVar2) & 0xfffffff3 | 0xc;" (assignment_expression "link_info._4_4_ = CONCAT31(link_info._5_3_,uVar2) & 0xfffffff3 | 0xc" (field_expression "link_info._4_4_" identifier . field_identifier) = (binary_expression "CONCAT31(link_info._5_3_,uVar2) & 0xfffffff3 | 0xc" (binary_expression "CONCAT31(link_info._5_3_,uVar2) & 0xfffffff3" (call_expression "CONCAT31(link_info._5_3_,uVar2)" identifier (argument_list "(link_info._5_3_,uVar2)" ( (field_expression "link_info._5_3_" identifier . field_identifier) , identifier ))) & number_literal) | number_literal)) ;) (return_statement "return 1;" return number_literal ;) })) (expression_statement "pcVar4 = "%F%P: invalid hash style `%s\'\n";" (assignment_expression "pcVar4 = "%F%P: invalid hash style `%s\'\n"" identifier = (string_literal ""%F%P: invalid hash style `%s\'\n"" " string_content escape_sequence escape_sequence ")) ;) (labeled_statement "LAB_0003606a:\n    pcVar4 = (char *)dcgettext(0,pcVar4,5);" statement_identifier : (expression_statement "pcVar4 = (char *)dcgettext(0,pcVar4,5);" (assignment_expression "pcVar4 = (char *)dcgettext(0,pcVar4,5)" identifier = (cast_expression "(char *)dcgettext(0,pcVar4,5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,pcVar4,5)" identifier (argument_list "(0,pcVar4,5)" ( number_literal , identifier , number_literal ))))) ;)) (expression_statement "einfo(pcVar4,pbVar5);" (call_expression "einfo(pcVar4,pbVar5)" identifier (argument_list "(pcVar4,pbVar5)" ( identifier , identifier ))) ;) (return_statement "return 1;" return number_literal ;) })) (expression_statement "bVar8 = (uint)optc < 0x12d;" (assignment_expression "bVar8 = (uint)optc < 0x12d" identifier = (binary_expression "(uint)optc < 0x12d" (cast_expression "(uint)optc" ( (type_descriptor "uint" type_identifier) ) identifier) < number_literal)) ;) (expression_statement "bVar10 = optc == 0x12d;" (assignment_expression "bVar10 = optc == 0x12d" identifier = (binary_expression "optc == 0x12d" identifier == number_literal)) ;) (if_statement "if (bVar10) {\n    iVar3 = 7;\n    pbVar5 = *(byte **)PTR_optarg_0008bff4;\n    pbVar6 = pbVar5;\n    pbVar7 = (byte *)"target";\n    do {\n      if (iVar3 == 0) break;\n      iVar3 = iVar3 + -1;\n      bVar8 = *pbVar6 < *pbVar7;\n      bVar10 = *pbVar6 == *pbVar7;\n      pbVar6 = pbVar6 + 1;\n      pbVar7 = pbVar7 + 1;\n    } while (bVar10);\n    bVar9 = false;\n    bVar8 = (!bVar8 && !bVar10) == bVar8;\n    if (!bVar8) {\n      iVar3 = 7;\n      pbVar6 = pbVar5;\n      pbVar7 = (byte *)"single";\n      do {\n        if (iVar3 == 0) break;\n        iVar3 = iVar3 + -1;\n        bVar9 = *pbVar6 < *pbVar7;\n        bVar8 = *pbVar6 == *pbVar7;\n        pbVar6 = pbVar6 + 1;\n        pbVar7 = pbVar7 + 1;\n      } while (bVar8);\n      bVar10 = false;\n      bVar8 = (!bVar9 && !bVar8) == bVar9;\n      if (!bVar8) {\n        iVar3 = 9;\n        pbVar6 = pbVar5;\n        pbVar7 = (byte *)"negative";\n        do {\n          if (iVar3 == 0) break;\n          iVar3 = iVar3 + -1;\n          bVar10 = *pbVar6 < *pbVar7;\n          bVar8 = *pbVar6 == *pbVar7;\n          pbVar6 = pbVar6 + 1;\n          pbVar7 = pbVar7 + 1;\n        } while (bVar8);\n        bVar9 = false;\n        bVar8 = (!bVar10 && !bVar8) == bVar10;\n        if (bVar8) {\n          got_handling = 1;\n          return 1;\n        }\n        iVar3 = 9;\n        pbVar6 = pbVar5;\n        pbVar7 = (byte *)"multigot";\n        do {\n          if (iVar3 == 0) break;\n          iVar3 = iVar3 + -1;\n          bVar9 = *pbVar6 < *pbVar7;\n          bVar8 = *pbVar6 == *pbVar7;\n          pbVar6 = pbVar6 + 1;\n          pbVar7 = pbVar7 + 1;\n        } while (bVar8);\n        if ((!bVar9 && !bVar8) == bVar9) {\n          got_handling = 2;\n          return 1;\n        }\n        pcVar4 = "%P: unrecognized --got argument \'%s\'\n";\n        goto LAB_0003606a;\n      }\n    }\n    got_handling = 0;\n    return 1;\n  }" if (parenthesized_expression "(bVar10)" ( identifier )) (compound_statement "{\n    iVar3 = 7;\n    pbVar5 = *(byte **)PTR_optarg_0008bff4;\n    pbVar6 = pbVar5;\n    pbVar7 = (byte *)"target";\n    do {\n      if (iVar3 == 0) break;\n      iVar3 = iVar3 + -1;\n      bVar8 = *pbVar6 < *pbVar7;\n      bVar10 = *pbVar6 == *pbVar7;\n      pbVar6 = pbVar6 + 1;\n      pbVar7 = pbVar7 + 1;\n    } while (bVar10);\n    bVar9 = false;\n    bVar8 = (!bVar8 && !bVar10) == bVar8;\n    if (!bVar8) {\n      iVar3 = 7;\n      pbVar6 = pbVar5;\n      pbVar7 = (byte *)"single";\n      do {\n        if (iVar3 == 0) break;\n        iVar3 = iVar3 + -1;\n        bVar9 = *pbVar6 < *pbVar7;\n        bVar8 = *pbVar6 == *pbVar7;\n        pbVar6 = pbVar6 + 1;\n        pbVar7 = pbVar7 + 1;\n      } while (bVar8);\n      bVar10 = false;\n      bVar8 = (!bVar9 && !bVar8) == bVar9;\n      if (!bVar8) {\n        iVar3 = 9;\n        pbVar6 = pbVar5;\n        pbVar7 = (byte *)"negative";\n        do {\n          if (iVar3 == 0) break;\n          iVar3 = iVar3 + -1;\n          bVar10 = *pbVar6 < *pbVar7;\n          bVar8 = *pbVar6 == *pbVar7;\n          pbVar6 = pbVar6 + 1;\n          pbVar7 = pbVar7 + 1;\n        } while (bVar8);\n        bVar9 = false;\n        bVar8 = (!bVar10 && !bVar8) == bVar10;\n        if (bVar8) {\n          got_handling = 1;\n          return 1;\n        }\n        iVar3 = 9;\n        pbVar6 = pbVar5;\n        pbVar7 = (byte *)"multigot";\n        do {\n          if (iVar3 == 0) break;\n          iVar3 = iVar3 + -1;\n          bVar9 = *pbVar6 < *pbVar7;\n          bVar8 = *pbVar6 == *pbVar7;\n          pbVar6 = pbVar6 + 1;\n          pbVar7 = pbVar7 + 1;\n        } while (bVar8);\n        if ((!bVar9 && !bVar8) == bVar9) {\n          got_handling = 2;\n          return 1;\n        }\n        pcVar4 = "%P: unrecognized --got argument \'%s\'\n";\n        goto LAB_0003606a;\n      }\n    }\n    got_handling = 0;\n    return 1;\n  }" { (expression_statement "iVar3 = 7;" (assignment_expression "iVar3 = 7" identifier = number_literal) ;) (expression_statement "pbVar5 = *(byte **)PTR_optarg_0008bff4;" (assignment_expression "pbVar5 = *(byte **)PTR_optarg_0008bff4" identifier = (pointer_expression "*(byte **)PTR_optarg_0008bff4" * (cast_expression "(byte **)PTR_optarg_0008bff4" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier))) ;) (expression_statement "pbVar6 = pbVar5;" (assignment_expression "pbVar6 = pbVar5" identifier = identifier) ;) (expression_statement "pbVar7 = (byte *)"target";" (assignment_expression "pbVar7 = (byte *)"target"" identifier = (cast_expression "(byte *)"target"" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (string_literal ""target"" " string_content "))) ;) (do_statement "do {\n      if (iVar3 == 0) break;\n      iVar3 = iVar3 + -1;\n      bVar8 = *pbVar6 < *pbVar7;\n      bVar10 = *pbVar6 == *pbVar7;\n      pbVar6 = pbVar6 + 1;\n      pbVar7 = pbVar7 + 1;\n    } while (bVar10);" do (compound_statement "{\n      if (iVar3 == 0) break;\n      iVar3 = iVar3 + -1;\n      bVar8 = *pbVar6 < *pbVar7;\n      bVar10 = *pbVar6 == *pbVar7;\n      pbVar6 = pbVar6 + 1;\n      pbVar7 = pbVar7 + 1;\n    }" { (if_statement "if (iVar3 == 0) break;" if (parenthesized_expression "(iVar3 == 0)" ( (binary_expression "iVar3 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "iVar3 = iVar3 + -1;" (assignment_expression "iVar3 = iVar3 + -1" identifier = (binary_expression "iVar3 + -1" identifier + number_literal)) ;) (expression_statement "bVar8 = *pbVar6 < *pbVar7;" (assignment_expression "bVar8 = *pbVar6 < *pbVar7" identifier = (binary_expression "*pbVar6 < *pbVar7" (pointer_expression "*pbVar6" * identifier) < (pointer_expression "*pbVar7" * identifier))) ;) (expression_statement "bVar10 = *pbVar6 == *pbVar7;" (assignment_expression "bVar10 = *pbVar6 == *pbVar7" identifier = (binary_expression "*pbVar6 == *pbVar7" (pointer_expression "*pbVar6" * identifier) == (pointer_expression "*pbVar7" * identifier))) ;) (expression_statement "pbVar6 = pbVar6 + 1;" (assignment_expression "pbVar6 = pbVar6 + 1" identifier = (binary_expression "pbVar6 + 1" identifier + number_literal)) ;) (expression_statement "pbVar7 = pbVar7 + 1;" (assignment_expression "pbVar7 = pbVar7 + 1" identifier = (binary_expression "pbVar7 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(bVar10)" ( identifier )) ;) (expression_statement "bVar9 = false;" (assignment_expression "bVar9 = false" identifier = false) ;) (expression_statement "bVar8 = (!bVar8 && !bVar10) == bVar8;" (assignment_expression "bVar8 = (!bVar8 && !bVar10) == bVar8" identifier = (binary_expression "(!bVar8 && !bVar10) == bVar8" (parenthesized_expression "(!bVar8 && !bVar10)" ( (binary_expression "!bVar8 && !bVar10" (unary_expression "!bVar8" ! identifier) && (unary_expression "!bVar10" ! identifier)) )) == identifier)) ;) (if_statement "if (!bVar8) {\n      iVar3 = 7;\n      pbVar6 = pbVar5;\n      pbVar7 = (byte *)"single";\n      do {\n        if (iVar3 == 0) break;\n        iVar3 = iVar3 + -1;\n        bVar9 = *pbVar6 < *pbVar7;\n        bVar8 = *pbVar6 == *pbVar7;\n        pbVar6 = pbVar6 + 1;\n        pbVar7 = pbVar7 + 1;\n      } while (bVar8);\n      bVar10 = false;\n      bVar8 = (!bVar9 && !bVar8) == bVar9;\n      if (!bVar8) {\n        iVar3 = 9;\n        pbVar6 = pbVar5;\n        pbVar7 = (byte *)"negative";\n        do {\n          if (iVar3 == 0) break;\n          iVar3 = iVar3 + -1;\n          bVar10 = *pbVar6 < *pbVar7;\n          bVar8 = *pbVar6 == *pbVar7;\n          pbVar6 = pbVar6 + 1;\n          pbVar7 = pbVar7 + 1;\n        } while (bVar8);\n        bVar9 = false;\n        bVar8 = (!bVar10 && !bVar8) == bVar10;\n        if (bVar8) {\n          got_handling = 1;\n          return 1;\n        }\n        iVar3 = 9;\n        pbVar6 = pbVar5;\n        pbVar7 = (byte *)"multigot";\n        do {\n          if (iVar3 == 0) break;\n          iVar3 = iVar3 + -1;\n          bVar9 = *pbVar6 < *pbVar7;\n          bVar8 = *pbVar6 == *pbVar7;\n          pbVar6 = pbVar6 + 1;\n          pbVar7 = pbVar7 + 1;\n        } while (bVar8);\n        if ((!bVar9 && !bVar8) == bVar9) {\n          got_handling = 2;\n          return 1;\n        }\n        pcVar4 = "%P: unrecognized --got argument \'%s\'\n";\n        goto LAB_0003606a;\n      }\n    }" if (parenthesized_expression "(!bVar8)" ( (unary_expression "!bVar8" ! identifier) )) (compound_statement "{\n      iVar3 = 7;\n      pbVar6 = pbVar5;\n      pbVar7 = (byte *)"single";\n      do {\n        if (iVar3 == 0) break;\n        iVar3 = iVar3 + -1;\n        bVar9 = *pbVar6 < *pbVar7;\n        bVar8 = *pbVar6 == *pbVar7;\n        pbVar6 = pbVar6 + 1;\n        pbVar7 = pbVar7 + 1;\n      } while (bVar8);\n      bVar10 = false;\n      bVar8 = (!bVar9 && !bVar8) == bVar9;\n      if (!bVar8) {\n        iVar3 = 9;\n        pbVar6 = pbVar5;\n        pbVar7 = (byte *)"negative";\n        do {\n          if (iVar3 == 0) break;\n          iVar3 = iVar3 + -1;\n          bVar10 = *pbVar6 < *pbVar7;\n          bVar8 = *pbVar6 == *pbVar7;\n          pbVar6 = pbVar6 + 1;\n          pbVar7 = pbVar7 + 1;\n        } while (bVar8);\n        bVar9 = false;\n        bVar8 = (!bVar10 && !bVar8) == bVar10;\n        if (bVar8) {\n          got_handling = 1;\n          return 1;\n        }\n        iVar3 = 9;\n        pbVar6 = pbVar5;\n        pbVar7 = (byte *)"multigot";\n        do {\n          if (iVar3 == 0) break;\n          iVar3 = iVar3 + -1;\n          bVar9 = *pbVar6 < *pbVar7;\n          bVar8 = *pbVar6 == *pbVar7;\n          pbVar6 = pbVar6 + 1;\n          pbVar7 = pbVar7 + 1;\n        } while (bVar8);\n        if ((!bVar9 && !bVar8) == bVar9) {\n          got_handling = 2;\n          return 1;\n        }\n        pcVar4 = "%P: unrecognized --got argument \'%s\'\n";\n        goto LAB_0003606a;\n      }\n    }" { (expression_statement "iVar3 = 7;" (assignment_expression "iVar3 = 7" identifier = number_literal) ;) (expression_statement "pbVar6 = pbVar5;" (assignment_expression "pbVar6 = pbVar5" identifier = identifier) ;) (expression_statement "pbVar7 = (byte *)"single";" (assignment_expression "pbVar7 = (byte *)"single"" identifier = (cast_expression "(byte *)"single"" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (string_literal ""single"" " string_content "))) ;) (do_statement "do {\n        if (iVar3 == 0) break;\n        iVar3 = iVar3 + -1;\n        bVar9 = *pbVar6 < *pbVar7;\n        bVar8 = *pbVar6 == *pbVar7;\n        pbVar6 = pbVar6 + 1;\n        pbVar7 = pbVar7 + 1;\n      } while (bVar8);" do (compound_statement "{\n        if (iVar3 == 0) break;\n        iVar3 = iVar3 + -1;\n        bVar9 = *pbVar6 < *pbVar7;\n        bVar8 = *pbVar6 == *pbVar7;\n        pbVar6 = pbVar6 + 1;\n        pbVar7 = pbVar7 + 1;\n      }" { (if_statement "if (iVar3 == 0) break;" if (parenthesized_expression "(iVar3 == 0)" ( (binary_expression "iVar3 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "iVar3 = iVar3 + -1;" (assignment_expression "iVar3 = iVar3 + -1" identifier = (binary_expression "iVar3 + -1" identifier + number_literal)) ;) (expression_statement "bVar9 = *pbVar6 < *pbVar7;" (assignment_expression "bVar9 = *pbVar6 < *pbVar7" identifier = (binary_expression "*pbVar6 < *pbVar7" (pointer_expression "*pbVar6" * identifier) < (pointer_expression "*pbVar7" * identifier))) ;) (expression_statement "bVar8 = *pbVar6 == *pbVar7;" (assignment_expression "bVar8 = *pbVar6 == *pbVar7" identifier = (binary_expression "*pbVar6 == *pbVar7" (pointer_expression "*pbVar6" * identifier) == (pointer_expression "*pbVar7" * identifier))) ;) (expression_statement "pbVar6 = pbVar6 + 1;" (assignment_expression "pbVar6 = pbVar6 + 1" identifier = (binary_expression "pbVar6 + 1" identifier + number_literal)) ;) (expression_statement "pbVar7 = pbVar7 + 1;" (assignment_expression "pbVar7 = pbVar7 + 1" identifier = (binary_expression "pbVar7 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(bVar8)" ( identifier )) ;) (expression_statement "bVar10 = false;" (assignment_expression "bVar10 = false" identifier = false) ;) (expression_statement "bVar8 = (!bVar9 && !bVar8) == bVar9;" (assignment_expression "bVar8 = (!bVar9 && !bVar8) == bVar9" identifier = (binary_expression "(!bVar9 && !bVar8) == bVar9" (parenthesized_expression "(!bVar9 && !bVar8)" ( (binary_expression "!bVar9 && !bVar8" (unary_expression "!bVar9" ! identifier) && (unary_expression "!bVar8" ! identifier)) )) == identifier)) ;) (if_statement "if (!bVar8) {\n        iVar3 = 9;\n        pbVar6 = pbVar5;\n        pbVar7 = (byte *)"negative";\n        do {\n          if (iVar3 == 0) break;\n          iVar3 = iVar3 + -1;\n          bVar10 = *pbVar6 < *pbVar7;\n          bVar8 = *pbVar6 == *pbVar7;\n          pbVar6 = pbVar6 + 1;\n          pbVar7 = pbVar7 + 1;\n        } while (bVar8);\n        bVar9 = false;\n        bVar8 = (!bVar10 && !bVar8) == bVar10;\n        if (bVar8) {\n          got_handling = 1;\n          return 1;\n        }\n        iVar3 = 9;\n        pbVar6 = pbVar5;\n        pbVar7 = (byte *)"multigot";\n        do {\n          if (iVar3 == 0) break;\n          iVar3 = iVar3 + -1;\n          bVar9 = *pbVar6 < *pbVar7;\n          bVar8 = *pbVar6 == *pbVar7;\n          pbVar6 = pbVar6 + 1;\n          pbVar7 = pbVar7 + 1;\n        } while (bVar8);\n        if ((!bVar9 && !bVar8) == bVar9) {\n          got_handling = 2;\n          return 1;\n        }\n        pcVar4 = "%P: unrecognized --got argument \'%s\'\n";\n        goto LAB_0003606a;\n      }" if (parenthesized_expression "(!bVar8)" ( (unary_expression "!bVar8" ! identifier) )) (compound_statement "{\n        iVar3 = 9;\n        pbVar6 = pbVar5;\n        pbVar7 = (byte *)"negative";\n        do {\n          if (iVar3 == 0) break;\n          iVar3 = iVar3 + -1;\n          bVar10 = *pbVar6 < *pbVar7;\n          bVar8 = *pbVar6 == *pbVar7;\n          pbVar6 = pbVar6 + 1;\n          pbVar7 = pbVar7 + 1;\n        } while (bVar8);\n        bVar9 = false;\n        bVar8 = (!bVar10 && !bVar8) == bVar10;\n        if (bVar8) {\n          got_handling = 1;\n          return 1;\n        }\n        iVar3 = 9;\n        pbVar6 = pbVar5;\n        pbVar7 = (byte *)"multigot";\n        do {\n          if (iVar3 == 0) break;\n          iVar3 = iVar3 + -1;\n          bVar9 = *pbVar6 < *pbVar7;\n          bVar8 = *pbVar6 == *pbVar7;\n          pbVar6 = pbVar6 + 1;\n          pbVar7 = pbVar7 + 1;\n        } while (bVar8);\n        if ((!bVar9 && !bVar8) == bVar9) {\n          got_handling = 2;\n          return 1;\n        }\n        pcVar4 = "%P: unrecognized --got argument \'%s\'\n";\n        goto LAB_0003606a;\n      }" { (expression_statement "iVar3 = 9;" (assignment_expression "iVar3 = 9" identifier = number_literal) ;) (expression_statement "pbVar6 = pbVar5;" (assignment_expression "pbVar6 = pbVar5" identifier = identifier) ;) (expression_statement "pbVar7 = (byte *)"negative";" (assignment_expression "pbVar7 = (byte *)"negative"" identifier = (cast_expression "(byte *)"negative"" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (string_literal ""negative"" " string_content "))) ;) (do_statement "do {\n          if (iVar3 == 0) break;\n          iVar3 = iVar3 + -1;\n          bVar10 = *pbVar6 < *pbVar7;\n          bVar8 = *pbVar6 == *pbVar7;\n          pbVar6 = pbVar6 + 1;\n          pbVar7 = pbVar7 + 1;\n        } while (bVar8);" do (compound_statement "{\n          if (iVar3 == 0) break;\n          iVar3 = iVar3 + -1;\n          bVar10 = *pbVar6 < *pbVar7;\n          bVar8 = *pbVar6 == *pbVar7;\n          pbVar6 = pbVar6 + 1;\n          pbVar7 = pbVar7 + 1;\n        }" { (if_statement "if (iVar3 == 0) break;" if (parenthesized_expression "(iVar3 == 0)" ( (binary_expression "iVar3 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "iVar3 = iVar3 + -1;" (assignment_expression "iVar3 = iVar3 + -1" identifier = (binary_expression "iVar3 + -1" identifier + number_literal)) ;) (expression_statement "bVar10 = *pbVar6 < *pbVar7;" (assignment_expression "bVar10 = *pbVar6 < *pbVar7" identifier = (binary_expression "*pbVar6 < *pbVar7" (pointer_expression "*pbVar6" * identifier) < (pointer_expression "*pbVar7" * identifier))) ;) (expression_statement "bVar8 = *pbVar6 == *pbVar7;" (assignment_expression "bVar8 = *pbVar6 == *pbVar7" identifier = (binary_expression "*pbVar6 == *pbVar7" (pointer_expression "*pbVar6" * identifier) == (pointer_expression "*pbVar7" * identifier))) ;) (expression_statement "pbVar6 = pbVar6 + 1;" (assignment_expression "pbVar6 = pbVar6 + 1" identifier = (binary_expression "pbVar6 + 1" identifier + number_literal)) ;) (expression_statement "pbVar7 = pbVar7 + 1;" (assignment_expression "pbVar7 = pbVar7 + 1" identifier = (binary_expression "pbVar7 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(bVar8)" ( identifier )) ;) (expression_statement "bVar9 = false;" (assignment_expression "bVar9 = false" identifier = false) ;) (expression_statement "bVar8 = (!bVar10 && !bVar8) == bVar10;" (assignment_expression "bVar8 = (!bVar10 && !bVar8) == bVar10" identifier = (binary_expression "(!bVar10 && !bVar8) == bVar10" (parenthesized_expression "(!bVar10 && !bVar8)" ( (binary_expression "!bVar10 && !bVar8" (unary_expression "!bVar10" ! identifier) && (unary_expression "!bVar8" ! identifier)) )) == identifier)) ;) (if_statement "if (bVar8) {\n          got_handling = 1;\n          return 1;\n        }" if (parenthesized_expression "(bVar8)" ( identifier )) (compound_statement "{\n          got_handling = 1;\n          return 1;\n        }" { (expression_statement "got_handling = 1;" (assignment_expression "got_handling = 1" identifier = number_literal) ;) (return_statement "return 1;" return number_literal ;) })) (expression_statement "iVar3 = 9;" (assignment_expression "iVar3 = 9" identifier = number_literal) ;) (expression_statement "pbVar6 = pbVar5;" (assignment_expression "pbVar6 = pbVar5" identifier = identifier) ;) (expression_statement "pbVar7 = (byte *)"multigot";" (assignment_expression "pbVar7 = (byte *)"multigot"" identifier = (cast_expression "(byte *)"multigot"" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (string_literal ""multigot"" " string_content "))) ;) (do_statement "do {\n          if (iVar3 == 0) break;\n          iVar3 = iVar3 + -1;\n          bVar9 = *pbVar6 < *pbVar7;\n          bVar8 = *pbVar6 == *pbVar7;\n          pbVar6 = pbVar6 + 1;\n          pbVar7 = pbVar7 + 1;\n        } while (bVar8);" do (compound_statement "{\n          if (iVar3 == 0) break;\n          iVar3 = iVar3 + -1;\n          bVar9 = *pbVar6 < *pbVar7;\n          bVar8 = *pbVar6 == *pbVar7;\n          pbVar6 = pbVar6 + 1;\n          pbVar7 = pbVar7 + 1;\n        }" { (if_statement "if (iVar3 == 0) break;" if (parenthesized_expression "(iVar3 == 0)" ( (binary_expression "iVar3 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "iVar3 = iVar3 + -1;" (assignment_expression "iVar3 = iVar3 + -1" identifier = (binary_expression "iVar3 + -1" identifier + number_literal)) ;) (expression_statement "bVar9 = *pbVar6 < *pbVar7;" (assignment_expression "bVar9 = *pbVar6 < *pbVar7" identifier = (binary_expression "*pbVar6 < *pbVar7" (pointer_expression "*pbVar6" * identifier) < (pointer_expression "*pbVar7" * identifier))) ;) (expression_statement "bVar8 = *pbVar6 == *pbVar7;" (assignment_expression "bVar8 = *pbVar6 == *pbVar7" identifier = (binary_expression "*pbVar6 == *pbVar7" (pointer_expression "*pbVar6" * identifier) == (pointer_expression "*pbVar7" * identifier))) ;) (expression_statement "pbVar6 = pbVar6 + 1;" (assignment_expression "pbVar6 = pbVar6 + 1" identifier = (binary_expression "pbVar6 + 1" identifier + number_literal)) ;) (expression_statement "pbVar7 = pbVar7 + 1;" (assignment_expression "pbVar7 = pbVar7 + 1" identifier = (binary_expression "pbVar7 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(bVar8)" ( identifier )) ;) (if_statement "if ((!bVar9 && !bVar8) == bVar9) {\n          got_handling = 2;\n          return 1;\n        }" if (parenthesized_expression "((!bVar9 && !bVar8) == bVar9)" ( (binary_expression "(!bVar9 && !bVar8) == bVar9" (parenthesized_expression "(!bVar9 && !bVar8)" ( (binary_expression "!bVar9 && !bVar8" (unary_expression "!bVar9" ! identifier) && (unary_expression "!bVar8" ! identifier)) )) == identifier) )) (compound_statement "{\n          got_handling = 2;\n          return 1;\n        }" { (expression_statement "got_handling = 2;" (assignment_expression "got_handling = 2" identifier = number_literal) ;) (return_statement "return 1;" return number_literal ;) })) (expression_statement "pcVar4 = "%P: unrecognized --got argument \'%s\'\n";" (assignment_expression "pcVar4 = "%P: unrecognized --got argument \'%s\'\n"" identifier = (string_literal ""%P: unrecognized --got argument \'%s\'\n"" " string_content escape_sequence string_content escape_sequence escape_sequence ")) ;) (goto_statement "goto LAB_0003606a;" goto statement_identifier ;) })) })) (expression_statement "got_handling = 0;" (assignment_expression "got_handling = 0" identifier = number_literal) ;) (return_statement "return 1;" return number_literal ;) })) (if_statement "if (0x12d < optc) {\n    if (optc == 0x191) {\n      link_info._4_4_ = link_info._4_4_ | 0x100;\n      return 1;\n    }\n    if (0x191 < optc) {\n      link_info._2_2_ = link_info._2_2_ | 0x1e0;\n      link_info.flags_1 = link_info.flags_1 | 4;\n      return 1;\n    }\n    if (optc != 400) {\n      return 0;\n    }\n    link_info._4_4_ = link_info._4_4_ & 0xfffffeff;\n    return 1;\n  }" if (parenthesized_expression "(0x12d < optc)" ( (binary_expression "0x12d < optc" number_literal < identifier) )) (compound_statement "{\n    if (optc == 0x191) {\n      link_info._4_4_ = link_info._4_4_ | 0x100;\n      return 1;\n    }\n    if (0x191 < optc) {\n      link_info._2_2_ = link_info._2_2_ | 0x1e0;\n      link_info.flags_1 = link_info.flags_1 | 4;\n      return 1;\n    }\n    if (optc != 400) {\n      return 0;\n    }\n    link_info._4_4_ = link_info._4_4_ & 0xfffffeff;\n    return 1;\n  }" { (if_statement "if (optc == 0x191) {\n      link_info._4_4_ = link_info._4_4_ | 0x100;\n      return 1;\n    }" if (parenthesized_expression "(optc == 0x191)" ( (binary_expression "optc == 0x191" identifier == number_literal) )) (compound_statement "{\n      link_info._4_4_ = link_info._4_4_ | 0x100;\n      return 1;\n    }" { (expression_statement "link_info._4_4_ = link_info._4_4_ | 0x100;" (assignment_expression "link_info._4_4_ = link_info._4_4_ | 0x100" (field_expression "link_info._4_4_" identifier . field_identifier) = (binary_expression "link_info._4_4_ | 0x100" (field_expression "link_info._4_4_" identifier . field_identifier) | number_literal)) ;) (return_statement "return 1;" return number_literal ;) })) (if_statement "if (0x191 < optc) {\n      link_info._2_2_ = link_info._2_2_ | 0x1e0;\n      link_info.flags_1 = link_info.flags_1 | 4;\n      return 1;\n    }" if (parenthesized_expression "(0x191 < optc)" ( (binary_expression "0x191 < optc" number_literal < identifier) )) (compound_statement "{\n      link_info._2_2_ = link_info._2_2_ | 0x1e0;\n      link_info.flags_1 = link_info.flags_1 | 4;\n      return 1;\n    }" { (expression_statement "link_info._2_2_ = link_info._2_2_ | 0x1e0;" (assignment_expression "link_info._2_2_ = link_info._2_2_ | 0x1e0" (field_expression "link_info._2_2_" identifier . field_identifier) = (binary_expression "link_info._2_2_ | 0x1e0" (field_expression "link_info._2_2_" identifier . field_identifier) | number_literal)) ;) (expression_statement "link_info.flags_1 = link_info.flags_1 | 4;" (assignment_expression "link_info.flags_1 = link_info.flags_1 | 4" (field_expression "link_info.flags_1" identifier . field_identifier) = (binary_expression "link_info.flags_1 | 4" (field_expression "link_info.flags_1" identifier . field_identifier) | number_literal)) ;) (return_statement "return 1;" return number_literal ;) })) (if_statement "if (optc != 400) {\n      return 0;\n    }" if (parenthesized_expression "(optc != 400)" ( (binary_expression "optc != 400" identifier != number_literal) )) (compound_statement "{\n      return 0;\n    }" { (return_statement "return 0;" return number_literal ;) })) (expression_statement "link_info._4_4_ = link_info._4_4_ & 0xfffffeff;" (assignment_expression "link_info._4_4_ = link_info._4_4_ & 0xfffffeff" (field_expression "link_info._4_4_" identifier . field_identifier) = (binary_expression "link_info._4_4_ & 0xfffffeff" (field_expression "link_info._4_4_" identifier . field_identifier) & number_literal)) ;) (return_statement "return 1;" return number_literal ;) })) (if_statement "if (optc == 0x50) {\n    gldm68kelf_append_to_separated_string(&depaudit,*(char **)PTR_optarg_0008bff4);\n    return 1;\n  }" if (parenthesized_expression "(optc == 0x50)" ( (binary_expression "optc == 0x50" identifier == number_literal) )) (compound_statement "{\n    gldm68kelf_append_to_separated_string(&depaudit,*(char **)PTR_optarg_0008bff4);\n    return 1;\n  }" { (expression_statement "gldm68kelf_append_to_separated_string(&depaudit,*(char **)PTR_optarg_0008bff4);" (call_expression "gldm68kelf_append_to_separated_string(&depaudit,*(char **)PTR_optarg_0008bff4)" identifier (argument_list "(&depaudit,*(char **)PTR_optarg_0008bff4)" ( (pointer_expression "&depaudit" & identifier) , (pointer_expression "*(char **)PTR_optarg_0008bff4" * (cast_expression "(char **)PTR_optarg_0008bff4" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier)) ))) ;) (return_statement "return 1;" return number_literal ;) })) (expression_statement "bVar8 = (uint)optc < 0x7a;" (assignment_expression "bVar8 = (uint)optc < 0x7a" identifier = (binary_expression "(uint)optc < 0x7a" (cast_expression "(uint)optc" ( (type_descriptor "uint" type_identifier) ) identifier) < number_literal)) ;) (expression_statement "bVar10 = optc == 0x7a;" (assignment_expression "bVar10 = optc == 0x7a" identifier = (binary_expression "optc == 0x7a" identifier == number_literal)) ;) (if_statement "if (!bVar10) {\n    return 0;\n  }" if (parenthesized_expression "(!bVar10)" ( (unary_expression "!bVar10" ! identifier) )) (compound_statement "{\n    return 0;\n  }" { (return_statement "return 0;" return number_literal ;) })) (expression_statement "iVar3 = 5;" (assignment_expression "iVar3 = 5" identifier = number_literal) ;) (expression_statement "pbVar5 = *(byte **)PTR_optarg_0008bff4;" (assignment_expression "pbVar5 = *(byte **)PTR_optarg_0008bff4" identifier = (pointer_expression "*(byte **)PTR_optarg_0008bff4" * (cast_expression "(byte **)PTR_optarg_0008bff4" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier))) ;) (expression_statement "pbVar6 = pbVar5;" (assignment_expression "pbVar6 = pbVar5" identifier = identifier) ;) (expression_statement "pbVar7 = (byte *)0x4acc7;" (assignment_expression "pbVar7 = (byte *)0x4acc7" identifier = (cast_expression "(byte *)0x4acc7" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (do_statement "do {\n    if (iVar3 == 0) break;\n    iVar3 = iVar3 + -1;\n    bVar8 = *pbVar6 < *pbVar7;\n    bVar10 = *pbVar6 == *pbVar7;\n    pbVar6 = pbVar6 + 1;\n    pbVar7 = pbVar7 + 1;\n  } while (bVar10);" do (compound_statement "{\n    if (iVar3 == 0) break;\n    iVar3 = iVar3 + -1;\n    bVar8 = *pbVar6 < *pbVar7;\n    bVar10 = *pbVar6 == *pbVar7;\n    pbVar6 = pbVar6 + 1;\n    pbVar7 = pbVar7 + 1;\n  }" { (if_statement "if (iVar3 == 0) break;" if (parenthesized_expression "(iVar3 == 0)" ( (binary_expression "iVar3 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "iVar3 = iVar3 + -1;" (assignment_expression "iVar3 = iVar3 + -1" identifier = (binary_expression "iVar3 + -1" identifier + number_literal)) ;) (expression_statement "bVar8 = *pbVar6 < *pbVar7;" (assignment_expression "bVar8 = *pbVar6 < *pbVar7" identifier = (binary_expression "*pbVar6 < *pbVar7" (pointer_expression "*pbVar6" * identifier) < (pointer_expression "*pbVar7" * identifier))) ;) (expression_statement "bVar10 = *pbVar6 == *pbVar7;" (assignment_expression "bVar10 = *pbVar6 == *pbVar7" identifier = (binary_expression "*pbVar6 == *pbVar7" (pointer_expression "*pbVar6" * identifier) == (pointer_expression "*pbVar7" * identifier))) ;) (expression_statement "pbVar6 = pbVar6 + 1;" (assignment_expression "pbVar6 = pbVar6 + 1" identifier = (binary_expression "pbVar6 + 1" identifier + number_literal)) ;) (expression_statement "pbVar7 = pbVar7 + 1;" (assignment_expression "pbVar7 = pbVar7 + 1" identifier = (binary_expression "pbVar7 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(bVar10)" ( identifier )) ;) (expression_statement "bVar9 = false;" (assignment_expression "bVar9 = false" identifier = false) ;) (expression_statement "bVar8 = (!bVar8 && !bVar10) == bVar8;" (assignment_expression "bVar8 = (!bVar8 && !bVar10) == bVar8" identifier = (binary_expression "(!bVar8 && !bVar10) == bVar8" (parenthesized_expression "(!bVar8 && !bVar10)" ( (binary_expression "!bVar8 && !bVar10" (unary_expression "!bVar8" ! identifier) && (unary_expression "!bVar10" ! identifier)) )) == identifier)) ;) (if_statement "if (bVar8) {\n    link_info._2_2_ = link_info._2_2_ | 0x60;\n    return 1;\n  }" if (parenthesized_expression "(bVar8)" ( identifier )) (compound_statement "{\n    link_info._2_2_ = link_info._2_2_ | 0x60;\n    return 1;\n  }" { (expression_statement "link_info._2_2_ = link_info._2_2_ | 0x60;" (assignment_expression "link_info._2_2_ = link_info._2_2_ | 0x60" (field_expression "link_info._2_2_" identifier . field_identifier) = (binary_expression "link_info._2_2_ | 0x60" (field_expression "link_info._2_2_" identifier . field_identifier) | number_literal)) ;) (return_statement "return 1;" return number_literal ;) })) (expression_statement "iVar3 = 7;" (assignment_expression "iVar3 = 7" identifier = number_literal) ;) (expression_statement "pbVar6 = pbVar5;" (assignment_expression "pbVar6 = pbVar5" identifier = identifier) ;) (expression_statement "pbVar7 = (byte *)"undefs";" (assignment_expression "pbVar7 = (byte *)"undefs"" identifier = (cast_expression "(byte *)"undefs"" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (string_literal ""undefs"" " string_content "))) ;) (do_statement "do {\n    if (iVar3 == 0) break;\n    iVar3 = iVar3 + -1;\n    bVar9 = *pbVar6 < *pbVar7;\n    bVar8 = *pbVar6 == *pbVar7;\n    pbVar6 = pbVar6 + 1;\n    pbVar7 = pbVar7 + 1;\n  } while (bVar8);" do (compound_statement "{\n    if (iVar3 == 0) break;\n    iVar3 = iVar3 + -1;\n    bVar9 = *pbVar6 < *pbVar7;\n    bVar8 = *pbVar6 == *pbVar7;\n    pbVar6 = pbVar6 + 1;\n    pbVar7 = pbVar7 + 1;\n  }" { (if_statement "if (iVar3 == 0) break;" if (parenthesized_expression "(iVar3 == 0)" ( (binary_expression "iVar3 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "iVar3 = iVar3 + -1;" (assignment_expression "iVar3 = iVar3 + -1" identifier = (binary_expression "iVar3 + -1" identifier + number_literal)) ;) (expression_statement "bVar9 = *pbVar6 < *pbVar7;" (assignment_expression "bVar9 = *pbVar6 < *pbVar7" identifier = (binary_expression "*pbVar6 < *pbVar7" (pointer_expression "*pbVar6" * identifier) < (pointer_expression "*pbVar7" * identifier))) ;) (expression_statement "bVar8 = *pbVar6 == *pbVar7;" (assignment_expression "bVar8 = *pbVar6 == *pbVar7" identifier = (binary_expression "*pbVar6 == *pbVar7" (pointer_expression "*pbVar6" * identifier) == (pointer_expression "*pbVar7" * identifier))) ;) (expression_statement "pbVar6 = pbVar6 + 1;" (assignment_expression "pbVar6 = pbVar6 + 1" identifier = (binary_expression "pbVar6 + 1" identifier + number_literal)) ;) (expression_statement "pbVar7 = pbVar7 + 1;" (assignment_expression "pbVar7 = pbVar7 + 1" identifier = (binary_expression "pbVar7 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(bVar8)" ( identifier )) ;) (expression_statement "bVar10 = false;" (assignment_expression "bVar10 = false" identifier = false) ;) (expression_statement "bVar8 = (!bVar9 && !bVar8) == bVar9;" (assignment_expression "bVar8 = (!bVar9 && !bVar8) == bVar9" identifier = (binary_expression "(!bVar9 && !bVar8) == bVar9" (parenthesized_expression "(!bVar9 && !bVar8)" ( (binary_expression "!bVar9 && !bVar8" (unary_expression "!bVar9" ! identifier) && (unary_expression "!bVar8" ! identifier)) )) == identifier)) ;) (if_statement "if (bVar8) {\n    link_info._2_2_ = link_info._2_2_ & 0xff9f | 0x20;\n    return 1;\n  }" if (parenthesized_expression "(bVar8)" ( identifier )) (compound_statement "{\n    link_info._2_2_ = link_info._2_2_ & 0xff9f | 0x20;\n    return 1;\n  }" { (expression_statement "link_info._2_2_ = link_info._2_2_ & 0xff9f | 0x20;" (assignment_expression "link_info._2_2_ = link_info._2_2_ & 0xff9f | 0x20" (field_expression "link_info._2_2_" identifier . field_identifier) = (binary_expression "link_info._2_2_ & 0xff9f | 0x20" (binary_expression "link_info._2_2_ & 0xff9f" (field_expression "link_info._2_2_" identifier . field_identifier) & number_literal) | number_literal)) ;) (return_statement "return 1;" return number_literal ;) })) (expression_statement "iVar3 = 8;" (assignment_expression "iVar3 = 8" identifier = number_literal) ;) (expression_statement "pbVar6 = pbVar5;" (assignment_expression "pbVar6 = pbVar5" identifier = identifier) ;) (expression_statement "pbVar7 = (byte *)"muldefs";" (assignment_expression "pbVar7 = (byte *)"muldefs"" identifier = (cast_expression "(byte *)"muldefs"" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (string_literal ""muldefs"" " string_content "))) ;) (do_statement "do {\n    if (iVar3 == 0) break;\n    iVar3 = iVar3 + -1;\n    bVar10 = *pbVar6 < *pbVar7;\n    bVar8 = *pbVar6 == *pbVar7;\n    pbVar6 = pbVar6 + 1;\n    pbVar7 = pbVar7 + 1;\n  } while (bVar8);" do (compound_statement "{\n    if (iVar3 == 0) break;\n    iVar3 = iVar3 + -1;\n    bVar10 = *pbVar6 < *pbVar7;\n    bVar8 = *pbVar6 == *pbVar7;\n    pbVar6 = pbVar6 + 1;\n    pbVar7 = pbVar7 + 1;\n  }" { (if_statement "if (iVar3 == 0) break;" if (parenthesized_expression "(iVar3 == 0)" ( (binary_expression "iVar3 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "iVar3 = iVar3 + -1;" (assignment_expression "iVar3 = iVar3 + -1" identifier = (binary_expression "iVar3 + -1" identifier + number_literal)) ;) (expression_statement "bVar10 = *pbVar6 < *pbVar7;" (assignment_expression "bVar10 = *pbVar6 < *pbVar7" identifier = (binary_expression "*pbVar6 < *pbVar7" (pointer_expression "*pbVar6" * identifier) < (pointer_expression "*pbVar7" * identifier))) ;) (expression_statement "bVar8 = *pbVar6 == *pbVar7;" (assignment_expression "bVar8 = *pbVar6 == *pbVar7" identifier = (binary_expression "*pbVar6 == *pbVar7" (pointer_expression "*pbVar6" * identifier) == (pointer_expression "*pbVar7" * identifier))) ;) (expression_statement "pbVar6 = pbVar6 + 1;" (assignment_expression "pbVar6 = pbVar6 + 1" identifier = (binary_expression "pbVar6 + 1" identifier + number_literal)) ;) (expression_statement "pbVar7 = pbVar7 + 1;" (assignment_expression "pbVar7 = pbVar7 + 1" identifier = (binary_expression "pbVar7 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(bVar8)" ( identifier )) ;) (expression_statement "bVar9 = false;" (assignment_expression "bVar9 = false" identifier = false) ;) (expression_statement "bVar8 = (!bVar10 && !bVar8) == bVar10;" (assignment_expression "bVar8 = (!bVar10 && !bVar8) == bVar10" identifier = (binary_expression "(!bVar10 && !bVar8) == bVar10" (parenthesized_expression "(!bVar10 && !bVar8)" ( (binary_expression "!bVar10 && !bVar8" (unary_expression "!bVar10" ! identifier) && (unary_expression "!bVar8" ! identifier)) )) == identifier)) ;) (if_statement "if (bVar8) {\n    link_info._4_4_ = link_info._4_4_ | 0x800;\n    return 1;\n  }" if (parenthesized_expression "(bVar8)" ( identifier )) (compound_statement "{\n    link_info._4_4_ = link_info._4_4_ | 0x800;\n    return 1;\n  }" { (expression_statement "link_info._4_4_ = link_info._4_4_ | 0x800;" (assignment_expression "link_info._4_4_ = link_info._4_4_ | 0x800" (field_expression "link_info._4_4_" identifier . field_identifier) = (binary_expression "link_info._4_4_ | 0x800" (field_expression "link_info._4_4_" identifier . field_identifier) | number_literal)) ;) (return_statement "return 1;" return number_literal ;) })) (expression_statement "iVar3 = 0xe;" (assignment_expression "iVar3 = 0xe" identifier = number_literal) ;) (expression_statement "pbVar6 = pbVar5;" (assignment_expression "pbVar6 = pbVar5" identifier = identifier) ;) (expression_statement "pbVar7 = (byte *)"max-page-size=";" (assignment_expression "pbVar7 = (byte *)"max-page-size="" identifier = (cast_expression "(byte *)"max-page-size="" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (string_literal ""max-page-size="" " string_content "))) ;) (do_statement "do {\n    if (iVar3 == 0) break;\n    iVar3 = iVar3 + -1;\n    bVar9 = *pbVar6 < *pbVar7;\n    bVar8 = *pbVar6 == *pbVar7;\n    pbVar6 = pbVar6 + 1;\n    pbVar7 = pbVar7 + 1;\n  } while (bVar8);" do (compound_statement "{\n    if (iVar3 == 0) break;\n    iVar3 = iVar3 + -1;\n    bVar9 = *pbVar6 < *pbVar7;\n    bVar8 = *pbVar6 == *pbVar7;\n    pbVar6 = pbVar6 + 1;\n    pbVar7 = pbVar7 + 1;\n  }" { (if_statement "if (iVar3 == 0) break;" if (parenthesized_expression "(iVar3 == 0)" ( (binary_expression "iVar3 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "iVar3 = iVar3 + -1;" (assignment_expression "iVar3 = iVar3 + -1" identifier = (binary_expression "iVar3 + -1" identifier + number_literal)) ;) (expression_statement "bVar9 = *pbVar6 < *pbVar7;" (assignment_expression "bVar9 = *pbVar6 < *pbVar7" identifier = (binary_expression "*pbVar6 < *pbVar7" (pointer_expression "*pbVar6" * identifier) < (pointer_expression "*pbVar7" * identifier))) ;) (expression_statement "bVar8 = *pbVar6 == *pbVar7;" (assignment_expression "bVar8 = *pbVar6 == *pbVar7" identifier = (binary_expression "*pbVar6 == *pbVar7" (pointer_expression "*pbVar6" * identifier) == (pointer_expression "*pbVar7" * identifier))) ;) (expression_statement "pbVar6 = pbVar6 + 1;" (assignment_expression "pbVar6 = pbVar6 + 1" identifier = (binary_expression "pbVar6 + 1" identifier + number_literal)) ;) (expression_statement "pbVar7 = pbVar7 + 1;" (assignment_expression "pbVar7 = pbVar7 + 1" identifier = (binary_expression "pbVar7 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(bVar8)" ( identifier )) ;) (expression_statement "bVar10 = false;" (assignment_expression "bVar10 = false" identifier = false) ;) (expression_statement "bVar8 = (!bVar9 && !bVar8) == bVar9;" (assignment_expression "bVar8 = (!bVar9 && !bVar8) == bVar9" identifier = (binary_expression "(!bVar9 && !bVar8) == bVar9" (parenthesized_expression "(!bVar9 && !bVar8)" ( (binary_expression "!bVar9 && !bVar8" (unary_expression "!bVar9" ! identifier) && (unary_expression "!bVar8" ! identifier)) )) == identifier)) ;) (if_statement "if (bVar8) {\n    config.maxpagesize = strtoul((char *)(pbVar5 + 0xe),&end,0);\n    if ((*end == '\0') && ((config.maxpagesize - 1 & config.maxpagesize) == 0)) {\n      return 1;\n    }\n    pcVar4 = "%F%P: invalid maximum page size `%s\'\n";\n    __s1 = (char *)(*(int *)puVar1 + 0xe);\n  }\n  else {\n    iVar3 = 0x11;\n    pbVar6 = pbVar5;\n    pbVar7 = (byte *)"common-page-size=";\n    do {\n      if (iVar3 == 0) break;\n      iVar3 = iVar3 + -1;\n      bVar10 = *pbVar6 < *pbVar7;\n      bVar8 = *pbVar6 == *pbVar7;\n      pbVar6 = pbVar6 + 1;\n      pbVar7 = pbVar7 + 1;\n    } while (bVar8);\n    bVar9 = false;\n    bVar8 = (!bVar10 && !bVar8) == bVar10;\n    if (!bVar8) {\n      iVar3 = 0xb;\n      pbVar6 = pbVar5;\n      pbVar7 = (byte *)"stack-size=";\n      do {\n        if (iVar3 == 0) break;\n        iVar3 = iVar3 + -1;\n        bVar9 = *pbVar6 < *pbVar7;\n        bVar8 = *pbVar6 == *pbVar7;\n        pbVar6 = pbVar6 + 1;\n        pbVar7 = pbVar7 + 1;\n      } while (bVar8);\n      bVar10 = false;\n      bVar8 = (!bVar9 && !bVar8) == bVar9;\n      if (bVar8) {\n        link_info.stacksize = strtoul((char *)(pbVar5 + 0xb),&end,0);\n        if ((*end != '\0') || (link_info.stacksize < 0)) {\n          iVar3 = *(int *)puVar1;\n          pcVar4 = (char *)dcgettext(0,"%F%P: invalid stack size `%s\'\n",5,link_info.stacksize);\n          einfo(pcVar4,iVar3 + 0xb);\n        }\n        if (link_info.stacksize == 0) {\n          link_info.stacksize = -1;\n          return 1;\n        }\n        return 1;\n      }\n      iVar3 = 10;\n      pbVar6 = pbVar5;\n      pbVar7 = (byte *)0x7ac61;\n      do {\n        if (iVar3 == 0) break;\n        iVar3 = iVar3 + -1;\n        bVar10 = *pbVar6 < *pbVar7;\n        bVar8 = *pbVar6 == *pbVar7;\n        pbVar6 = pbVar6 + 1;\n        pbVar7 = pbVar7 + 1;\n      } while (bVar8);\n      bVar9 = false;\n      bVar8 = (!bVar10 && !bVar8) == bVar10;\n      if (bVar8) {\n        link_info._4_4_ = link_info._4_4_ & 0xfffe7fff | 0x8000;\n        return 1;\n      }\n      iVar3 = 0xc;\n      pbVar6 = pbVar5;\n      pbVar7 = (byte *)"noexecstack";\n      do {\n        if (iVar3 == 0) break;\n        iVar3 = iVar3 + -1;\n        bVar9 = *pbVar6 < *pbVar7;\n        bVar8 = *pbVar6 == *pbVar7;\n        pbVar6 = pbVar6 + 1;\n        pbVar7 = pbVar7 + 1;\n      } while (bVar8);\n      if ((!bVar9 && !bVar8) == bVar9) {\n        link_info._4_4_ = link_info._4_4_ & 0xfffe7fff | 0x10000;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar5,"globalaudit");\n      if (iVar3 == 0) {\n        link_info.flags_1 = link_info.flags_1 | 0x1000000;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar5,"global");\n      if (iVar3 == 0) {\n        link_info.flags_1 = link_info.flags_1 | 2;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar5,"initfirst");\n      if (iVar3 == 0) {\n        link_info.flags_1 = link_info.flags_1 | 0x20;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar5,"interpose");\n      if (iVar3 == 0) {\n        link_info.flags_1 = link_info.flags_1 | 0x400;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar5,"loadfltr");\n      if (iVar3 == 0) {\n        link_info.flags_1 = link_info.flags_1 | 0x10;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar5,"nodefaultlib");\n      if (iVar3 == 0) {\n        link_info.flags_1 = link_info.flags_1 | 0x800;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar5,"nodelete");\n      if (iVar3 == 0) {\n        link_info.flags_1 = link_info.flags_1 | 8;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar5,"nodlopen");\n      if (iVar3 == 0) {\n        link_info.flags_1 = link_info.flags_1 | 0x40;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar5,"nodump");\n      if (iVar3 == 0) {\n        link_info.flags_1 = link_info.flags_1 | 0x1000;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar5,"now");\n      if (iVar3 == 0) {\n        link_info.flags = link_info.flags | 8;\n        link_info.flags_1 = link_info.flags_1 | 1;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar5,"lazy");\n      if (iVar3 == 0) {\n        link_info.flags = link_info.flags & 0xfffffff7;\n        link_info.flags_1 = link_info.flags_1 & 0xfffffffe;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar5,"origin");\n      if (iVar3 == 0) {\n        link_info.flags = link_info.flags | 1;\n        link_info.flags_1 = link_info.flags_1 | 0x80;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar5,"combreloc");\n      if (iVar3 == 0) {\n        link_info._4_4_ = link_info._4_4_ | 0x40;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar5,"nocombreloc");\n      if (iVar3 == 0) {\n        link_info._4_4_ = link_info._4_4_ & 0xffffffbf;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar5,"nocopyreloc");\n      if (iVar3 == 0) {\n        link_info._0_1_ = link_info._0_1_ | 8;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar5,"relro");\n      if (iVar3 == 0) {\n        link_info._2_2_ = link_info._2_2_ | 0x1000;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar5,"norelro");\n      if (iVar3 == 0) {\n        link_info._2_2_ = link_info._2_2_ & 0xefff;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar5,"separate-code");\n      if (iVar3 == 0) {\n        link_info._2_2_ = link_info._2_2_ | 0x2000;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar5,"noseparate-code");\n      if (iVar3 == 0) {\n        link_info._2_2_ = link_info._2_2_ & 0xdfff;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar5,"common");\n      if (iVar3 == 0) {\n        link_info._2_2_ = link_info._2_2_ & 0xfff9 | 2;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar5,"nocommon");\n      if (iVar3 == 0) {\n        link_info._2_2_ = link_info._2_2_ & 0xfff9 | 4;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar5,"text");\n      if (iVar3 == 0) {\n        link_info._4_4_ = link_info._4_4_ | 2;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar5,"notext");\n      if ((iVar3 == 0) || (iVar3 = strcmp((char *)pbVar5,"textoff"), iVar3 == 0)) {\n        link_info._4_4_ = link_info._4_4_ & 0xfffffffd;\n        return 1;\n      }\n      pcVar4 = "%P: warning: -z %s ignored\n";\n      goto LAB_0003606a;\n    }\n    config.commonpagesize = strtoul((char *)(pbVar5 + 0x11),&end,0);\n    if ((*end == '\0') && ((config.commonpagesize - 1 & config.commonpagesize) == 0)) {\n      return 1;\n    }\n    pcVar4 = "%F%P: invalid common page size `%s\'\n";\n    __s1 = (char *)(*(int *)puVar1 + 0x11);\n  }" if (parenthesized_expression "(bVar8)" ( identifier )) (compound_statement "{\n    config.maxpagesize = strtoul((char *)(pbVar5 + 0xe),&end,0);\n    if ((*end == '\0') && ((config.maxpagesize - 1 & config.maxpagesize) == 0)) {\n      return 1;\n    }\n    pcVar4 = "%F%P: invalid maximum page size `%s\'\n";\n    __s1 = (char *)(*(int *)puVar1 + 0xe);\n  }" { (expression_statement "config.maxpagesize = strtoul((char *)(pbVar5 + 0xe),&end,0);" (assignment_expression "config.maxpagesize = strtoul((char *)(pbVar5 + 0xe),&end,0)" (field_expression "config.maxpagesize" identifier . field_identifier) = (call_expression "strtoul((char *)(pbVar5 + 0xe),&end,0)" identifier (argument_list "((char *)(pbVar5 + 0xe),&end,0)" ( (cast_expression "(char *)(pbVar5 + 0xe)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pbVar5 + 0xe)" ( (binary_expression "pbVar5 + 0xe" identifier + number_literal) ))) , (pointer_expression "&end" & identifier) , number_literal )))) ;) (if_statement "if ((*end == '\0') && ((config.maxpagesize - 1 & config.maxpagesize) == 0)) {\n      return 1;\n    }" if (parenthesized_expression "((*end == '\0') && ((config.maxpagesize - 1 & config.maxpagesize) == 0))" ( (binary_expression "(*end == '\0') && ((config.maxpagesize - 1 & config.maxpagesize) == 0)" (parenthesized_expression "(*end == '\0')" ( (binary_expression "*end == '\0'" (pointer_expression "*end" * identifier) == (char_literal "'\0'" ' escape_sequence ')) )) && (parenthesized_expression "((config.maxpagesize - 1 & config.maxpagesize) == 0)" ( (binary_expression "(config.maxpagesize - 1 & config.maxpagesize) == 0" (parenthesized_expression "(config.maxpagesize - 1 & config.maxpagesize)" ( (binary_expression "config.maxpagesize - 1 & config.maxpagesize" (binary_expression "config.maxpagesize - 1" (field_expression "config.maxpagesize" identifier . field_identifier) - number_literal) & (field_expression "config.maxpagesize" identifier . field_identifier)) )) == number_literal) ))) )) (compound_statement "{\n      return 1;\n    }" { (return_statement "return 1;" return number_literal ;) })) (expression_statement "pcVar4 = "%F%P: invalid maximum page size `%s\'\n";" (assignment_expression "pcVar4 = "%F%P: invalid maximum page size `%s\'\n"" identifier = (string_literal ""%F%P: invalid maximum page size `%s\'\n"" " string_content escape_sequence escape_sequence ")) ;) (expression_statement "__s1 = (char *)(*(int *)puVar1 + 0xe);" (assignment_expression "__s1 = (char *)(*(int *)puVar1 + 0xe)" identifier = (cast_expression "(char *)(*(int *)puVar1 + 0xe)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)puVar1 + 0xe)" ( (binary_expression "*(int *)puVar1 + 0xe" (pointer_expression "*(int *)puVar1" * (cast_expression "(int *)puVar1" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) + number_literal) )))) ;) }) (else_clause "else {\n    iVar3 = 0x11;\n    pbVar6 = pbVar5;\n    pbVar7 = (byte *)"common-page-size=";\n    do {\n      if (iVar3 == 0) break;\n      iVar3 = iVar3 + -1;\n      bVar10 = *pbVar6 < *pbVar7;\n      bVar8 = *pbVar6 == *pbVar7;\n      pbVar6 = pbVar6 + 1;\n      pbVar7 = pbVar7 + 1;\n    } while (bVar8);\n    bVar9 = false;\n    bVar8 = (!bVar10 && !bVar8) == bVar10;\n    if (!bVar8) {\n      iVar3 = 0xb;\n      pbVar6 = pbVar5;\n      pbVar7 = (byte *)"stack-size=";\n      do {\n        if (iVar3 == 0) break;\n        iVar3 = iVar3 + -1;\n        bVar9 = *pbVar6 < *pbVar7;\n        bVar8 = *pbVar6 == *pbVar7;\n        pbVar6 = pbVar6 + 1;\n        pbVar7 = pbVar7 + 1;\n      } while (bVar8);\n      bVar10 = false;\n      bVar8 = (!bVar9 && !bVar8) == bVar9;\n      if (bVar8) {\n        link_info.stacksize = strtoul((char *)(pbVar5 + 0xb),&end,0);\n        if ((*end != '\0') || (link_info.stacksize < 0)) {\n          iVar3 = *(int *)puVar1;\n          pcVar4 = (char *)dcgettext(0,"%F%P: invalid stack size `%s\'\n",5,link_info.stacksize);\n          einfo(pcVar4,iVar3 + 0xb);\n        }\n        if (link_info.stacksize == 0) {\n          link_info.stacksize = -1;\n          return 1;\n        }\n        return 1;\n      }\n      iVar3 = 10;\n      pbVar6 = pbVar5;\n      pbVar7 = (byte *)0x7ac61;\n      do {\n        if (iVar3 == 0) break;\n        iVar3 = iVar3 + -1;\n        bVar10 = *pbVar6 < *pbVar7;\n        bVar8 = *pbVar6 == *pbVar7;\n        pbVar6 = pbVar6 + 1;\n        pbVar7 = pbVar7 + 1;\n      } while (bVar8);\n      bVar9 = false;\n      bVar8 = (!bVar10 && !bVar8) == bVar10;\n      if (bVar8) {\n        link_info._4_4_ = link_info._4_4_ & 0xfffe7fff | 0x8000;\n        return 1;\n      }\n      iVar3 = 0xc;\n      pbVar6 = pbVar5;\n      pbVar7 = (byte *)"noexecstack";\n      do {\n        if (iVar3 == 0) break;\n        iVar3 = iVar3 + -1;\n        bVar9 = *pbVar6 < *pbVar7;\n        bVar8 = *pbVar6 == *pbVar7;\n        pbVar6 = pbVar6 + 1;\n        pbVar7 = pbVar7 + 1;\n      } while (bVar8);\n      if ((!bVar9 && !bVar8) == bVar9) {\n        link_info._4_4_ = link_info._4_4_ & 0xfffe7fff | 0x10000;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar5,"globalaudit");\n      if (iVar3 == 0) {\n        link_info.flags_1 = link_info.flags_1 | 0x1000000;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar5,"global");\n      if (iVar3 == 0) {\n        link_info.flags_1 = link_info.flags_1 | 2;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar5,"initfirst");\n      if (iVar3 == 0) {\n        link_info.flags_1 = link_info.flags_1 | 0x20;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar5,"interpose");\n      if (iVar3 == 0) {\n        link_info.flags_1 = link_info.flags_1 | 0x400;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar5,"loadfltr");\n      if (iVar3 == 0) {\n        link_info.flags_1 = link_info.flags_1 | 0x10;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar5,"nodefaultlib");\n      if (iVar3 == 0) {\n        link_info.flags_1 = link_info.flags_1 | 0x800;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar5,"nodelete");\n      if (iVar3 == 0) {\n        link_info.flags_1 = link_info.flags_1 | 8;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar5,"nodlopen");\n      if (iVar3 == 0) {\n        link_info.flags_1 = link_info.flags_1 | 0x40;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar5,"nodump");\n      if (iVar3 == 0) {\n        link_info.flags_1 = link_info.flags_1 | 0x1000;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar5,"now");\n      if (iVar3 == 0) {\n        link_info.flags = link_info.flags | 8;\n        link_info.flags_1 = link_info.flags_1 | 1;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar5,"lazy");\n      if (iVar3 == 0) {\n        link_info.flags = link_info.flags & 0xfffffff7;\n        link_info.flags_1 = link_info.flags_1 & 0xfffffffe;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar5,"origin");\n      if (iVar3 == 0) {\n        link_info.flags = link_info.flags | 1;\n        link_info.flags_1 = link_info.flags_1 | 0x80;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar5,"combreloc");\n      if (iVar3 == 0) {\n        link_info._4_4_ = link_info._4_4_ | 0x40;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar5,"nocombreloc");\n      if (iVar3 == 0) {\n        link_info._4_4_ = link_info._4_4_ & 0xffffffbf;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar5,"nocopyreloc");\n      if (iVar3 == 0) {\n        link_info._0_1_ = link_info._0_1_ | 8;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar5,"relro");\n      if (iVar3 == 0) {\n        link_info._2_2_ = link_info._2_2_ | 0x1000;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar5,"norelro");\n      if (iVar3 == 0) {\n        link_info._2_2_ = link_info._2_2_ & 0xefff;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar5,"separate-code");\n      if (iVar3 == 0) {\n        link_info._2_2_ = link_info._2_2_ | 0x2000;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar5,"noseparate-code");\n      if (iVar3 == 0) {\n        link_info._2_2_ = link_info._2_2_ & 0xdfff;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar5,"common");\n      if (iVar3 == 0) {\n        link_info._2_2_ = link_info._2_2_ & 0xfff9 | 2;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar5,"nocommon");\n      if (iVar3 == 0) {\n        link_info._2_2_ = link_info._2_2_ & 0xfff9 | 4;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar5,"text");\n      if (iVar3 == 0) {\n        link_info._4_4_ = link_info._4_4_ | 2;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar5,"notext");\n      if ((iVar3 == 0) || (iVar3 = strcmp((char *)pbVar5,"textoff"), iVar3 == 0)) {\n        link_info._4_4_ = link_info._4_4_ & 0xfffffffd;\n        return 1;\n      }\n      pcVar4 = "%P: warning: -z %s ignored\n";\n      goto LAB_0003606a;\n    }\n    config.commonpagesize = strtoul((char *)(pbVar5 + 0x11),&end,0);\n    if ((*end == '\0') && ((config.commonpagesize - 1 & config.commonpagesize) == 0)) {\n      return 1;\n    }\n    pcVar4 = "%F%P: invalid common page size `%s\'\n";\n    __s1 = (char *)(*(int *)puVar1 + 0x11);\n  }" else (compound_statement "{\n    iVar3 = 0x11;\n    pbVar6 = pbVar5;\n    pbVar7 = (byte *)"common-page-size=";\n    do {\n      if (iVar3 == 0) break;\n      iVar3 = iVar3 + -1;\n      bVar10 = *pbVar6 < *pbVar7;\n      bVar8 = *pbVar6 == *pbVar7;\n      pbVar6 = pbVar6 + 1;\n      pbVar7 = pbVar7 + 1;\n    } while (bVar8);\n    bVar9 = false;\n    bVar8 = (!bVar10 && !bVar8) == bVar10;\n    if (!bVar8) {\n      iVar3 = 0xb;\n      pbVar6 = pbVar5;\n      pbVar7 = (byte *)"stack-size=";\n      do {\n        if (iVar3 == 0) break;\n        iVar3 = iVar3 + -1;\n        bVar9 = *pbVar6 < *pbVar7;\n        bVar8 = *pbVar6 == *pbVar7;\n        pbVar6 = pbVar6 + 1;\n        pbVar7 = pbVar7 + 1;\n      } while (bVar8);\n      bVar10 = false;\n      bVar8 = (!bVar9 && !bVar8) == bVar9;\n      if (bVar8) {\n        link_info.stacksize = strtoul((char *)(pbVar5 + 0xb),&end,0);\n        if ((*end != '\0') || (link_info.stacksize < 0)) {\n          iVar3 = *(int *)puVar1;\n          pcVar4 = (char *)dcgettext(0,"%F%P: invalid stack size `%s\'\n",5,link_info.stacksize);\n          einfo(pcVar4,iVar3 + 0xb);\n        }\n        if (link_info.stacksize == 0) {\n          link_info.stacksize = -1;\n          return 1;\n        }\n        return 1;\n      }\n      iVar3 = 10;\n      pbVar6 = pbVar5;\n      pbVar7 = (byte *)0x7ac61;\n      do {\n        if (iVar3 == 0) break;\n        iVar3 = iVar3 + -1;\n        bVar10 = *pbVar6 < *pbVar7;\n        bVar8 = *pbVar6 == *pbVar7;\n        pbVar6 = pbVar6 + 1;\n        pbVar7 = pbVar7 + 1;\n      } while (bVar8);\n      bVar9 = false;\n      bVar8 = (!bVar10 && !bVar8) == bVar10;\n      if (bVar8) {\n        link_info._4_4_ = link_info._4_4_ & 0xfffe7fff | 0x8000;\n        return 1;\n      }\n      iVar3 = 0xc;\n      pbVar6 = pbVar5;\n      pbVar7 = (byte *)"noexecstack";\n      do {\n        if (iVar3 == 0) break;\n        iVar3 = iVar3 + -1;\n        bVar9 = *pbVar6 < *pbVar7;\n        bVar8 = *pbVar6 == *pbVar7;\n        pbVar6 = pbVar6 + 1;\n        pbVar7 = pbVar7 + 1;\n      } while (bVar8);\n      if ((!bVar9 && !bVar8) == bVar9) {\n        link_info._4_4_ = link_info._4_4_ & 0xfffe7fff | 0x10000;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar5,"globalaudit");\n      if (iVar3 == 0) {\n        link_info.flags_1 = link_info.flags_1 | 0x1000000;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar5,"global");\n      if (iVar3 == 0) {\n        link_info.flags_1 = link_info.flags_1 | 2;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar5,"initfirst");\n      if (iVar3 == 0) {\n        link_info.flags_1 = link_info.flags_1 | 0x20;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar5,"interpose");\n      if (iVar3 == 0) {\n        link_info.flags_1 = link_info.flags_1 | 0x400;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar5,"loadfltr");\n      if (iVar3 == 0) {\n        link_info.flags_1 = link_info.flags_1 | 0x10;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar5,"nodefaultlib");\n      if (iVar3 == 0) {\n        link_info.flags_1 = link_info.flags_1 | 0x800;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar5,"nodelete");\n      if (iVar3 == 0) {\n        link_info.flags_1 = link_info.flags_1 | 8;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar5,"nodlopen");\n      if (iVar3 == 0) {\n        link_info.flags_1 = link_info.flags_1 | 0x40;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar5,"nodump");\n      if (iVar3 == 0) {\n        link_info.flags_1 = link_info.flags_1 | 0x1000;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar5,"now");\n      if (iVar3 == 0) {\n        link_info.flags = link_info.flags | 8;\n        link_info.flags_1 = link_info.flags_1 | 1;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar5,"lazy");\n      if (iVar3 == 0) {\n        link_info.flags = link_info.flags & 0xfffffff7;\n        link_info.flags_1 = link_info.flags_1 & 0xfffffffe;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar5,"origin");\n      if (iVar3 == 0) {\n        link_info.flags = link_info.flags | 1;\n        link_info.flags_1 = link_info.flags_1 | 0x80;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar5,"combreloc");\n      if (iVar3 == 0) {\n        link_info._4_4_ = link_info._4_4_ | 0x40;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar5,"nocombreloc");\n      if (iVar3 == 0) {\n        link_info._4_4_ = link_info._4_4_ & 0xffffffbf;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar5,"nocopyreloc");\n      if (iVar3 == 0) {\n        link_info._0_1_ = link_info._0_1_ | 8;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar5,"relro");\n      if (iVar3 == 0) {\n        link_info._2_2_ = link_info._2_2_ | 0x1000;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar5,"norelro");\n      if (iVar3 == 0) {\n        link_info._2_2_ = link_info._2_2_ & 0xefff;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar5,"separate-code");\n      if (iVar3 == 0) {\n        link_info._2_2_ = link_info._2_2_ | 0x2000;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar5,"noseparate-code");\n      if (iVar3 == 0) {\n        link_info._2_2_ = link_info._2_2_ & 0xdfff;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar5,"common");\n      if (iVar3 == 0) {\n        link_info._2_2_ = link_info._2_2_ & 0xfff9 | 2;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar5,"nocommon");\n      if (iVar3 == 0) {\n        link_info._2_2_ = link_info._2_2_ & 0xfff9 | 4;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar5,"text");\n      if (iVar3 == 0) {\n        link_info._4_4_ = link_info._4_4_ | 2;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar5,"notext");\n      if ((iVar3 == 0) || (iVar3 = strcmp((char *)pbVar5,"textoff"), iVar3 == 0)) {\n        link_info._4_4_ = link_info._4_4_ & 0xfffffffd;\n        return 1;\n      }\n      pcVar4 = "%P: warning: -z %s ignored\n";\n      goto LAB_0003606a;\n    }\n    config.commonpagesize = strtoul((char *)(pbVar5 + 0x11),&end,0);\n    if ((*end == '\0') && ((config.commonpagesize - 1 & config.commonpagesize) == 0)) {\n      return 1;\n    }\n    pcVar4 = "%F%P: invalid common page size `%s\'\n";\n    __s1 = (char *)(*(int *)puVar1 + 0x11);\n  }" { (expression_statement "iVar3 = 0x11;" (assignment_expression "iVar3 = 0x11" identifier = number_literal) ;) (expression_statement "pbVar6 = pbVar5;" (assignment_expression "pbVar6 = pbVar5" identifier = identifier) ;) (expression_statement "pbVar7 = (byte *)"common-page-size=";" (assignment_expression "pbVar7 = (byte *)"common-page-size="" identifier = (cast_expression "(byte *)"common-page-size="" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (string_literal ""common-page-size="" " string_content "))) ;) (do_statement "do {\n      if (iVar3 == 0) break;\n      iVar3 = iVar3 + -1;\n      bVar10 = *pbVar6 < *pbVar7;\n      bVar8 = *pbVar6 == *pbVar7;\n      pbVar6 = pbVar6 + 1;\n      pbVar7 = pbVar7 + 1;\n    } while (bVar8);" do (compound_statement "{\n      if (iVar3 == 0) break;\n      iVar3 = iVar3 + -1;\n      bVar10 = *pbVar6 < *pbVar7;\n      bVar8 = *pbVar6 == *pbVar7;\n      pbVar6 = pbVar6 + 1;\n      pbVar7 = pbVar7 + 1;\n    }" { (if_statement "if (iVar3 == 0) break;" if (parenthesized_expression "(iVar3 == 0)" ( (binary_expression "iVar3 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "iVar3 = iVar3 + -1;" (assignment_expression "iVar3 = iVar3 + -1" identifier = (binary_expression "iVar3 + -1" identifier + number_literal)) ;) (expression_statement "bVar10 = *pbVar6 < *pbVar7;" (assignment_expression "bVar10 = *pbVar6 < *pbVar7" identifier = (binary_expression "*pbVar6 < *pbVar7" (pointer_expression "*pbVar6" * identifier) < (pointer_expression "*pbVar7" * identifier))) ;) (expression_statement "bVar8 = *pbVar6 == *pbVar7;" (assignment_expression "bVar8 = *pbVar6 == *pbVar7" identifier = (binary_expression "*pbVar6 == *pbVar7" (pointer_expression "*pbVar6" * identifier) == (pointer_expression "*pbVar7" * identifier))) ;) (expression_statement "pbVar6 = pbVar6 + 1;" (assignment_expression "pbVar6 = pbVar6 + 1" identifier = (binary_expression "pbVar6 + 1" identifier + number_literal)) ;) (expression_statement "pbVar7 = pbVar7 + 1;" (assignment_expression "pbVar7 = pbVar7 + 1" identifier = (binary_expression "pbVar7 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(bVar8)" ( identifier )) ;) (expression_statement "bVar9 = false;" (assignment_expression "bVar9 = false" identifier = false) ;) (expression_statement "bVar8 = (!bVar10 && !bVar8) == bVar10;" (assignment_expression "bVar8 = (!bVar10 && !bVar8) == bVar10" identifier = (binary_expression "(!bVar10 && !bVar8) == bVar10" (parenthesized_expression "(!bVar10 && !bVar8)" ( (binary_expression "!bVar10 && !bVar8" (unary_expression "!bVar10" ! identifier) && (unary_expression "!bVar8" ! identifier)) )) == identifier)) ;) (if_statement "if (!bVar8) {\n      iVar3 = 0xb;\n      pbVar6 = pbVar5;\n      pbVar7 = (byte *)"stack-size=";\n      do {\n        if (iVar3 == 0) break;\n        iVar3 = iVar3 + -1;\n        bVar9 = *pbVar6 < *pbVar7;\n        bVar8 = *pbVar6 == *pbVar7;\n        pbVar6 = pbVar6 + 1;\n        pbVar7 = pbVar7 + 1;\n      } while (bVar8);\n      bVar10 = false;\n      bVar8 = (!bVar9 && !bVar8) == bVar9;\n      if (bVar8) {\n        link_info.stacksize = strtoul((char *)(pbVar5 + 0xb),&end,0);\n        if ((*end != '\0') || (link_info.stacksize < 0)) {\n          iVar3 = *(int *)puVar1;\n          pcVar4 = (char *)dcgettext(0,"%F%P: invalid stack size `%s\'\n",5,link_info.stacksize);\n          einfo(pcVar4,iVar3 + 0xb);\n        }\n        if (link_info.stacksize == 0) {\n          link_info.stacksize = -1;\n          return 1;\n        }\n        return 1;\n      }\n      iVar3 = 10;\n      pbVar6 = pbVar5;\n      pbVar7 = (byte *)0x7ac61;\n      do {\n        if (iVar3 == 0) break;\n        iVar3 = iVar3 + -1;\n        bVar10 = *pbVar6 < *pbVar7;\n        bVar8 = *pbVar6 == *pbVar7;\n        pbVar6 = pbVar6 + 1;\n        pbVar7 = pbVar7 + 1;\n      } while (bVar8);\n      bVar9 = false;\n      bVar8 = (!bVar10 && !bVar8) == bVar10;\n      if (bVar8) {\n        link_info._4_4_ = link_info._4_4_ & 0xfffe7fff | 0x8000;\n        return 1;\n      }\n      iVar3 = 0xc;\n      pbVar6 = pbVar5;\n      pbVar7 = (byte *)"noexecstack";\n      do {\n        if (iVar3 == 0) break;\n        iVar3 = iVar3 + -1;\n        bVar9 = *pbVar6 < *pbVar7;\n        bVar8 = *pbVar6 == *pbVar7;\n        pbVar6 = pbVar6 + 1;\n        pbVar7 = pbVar7 + 1;\n      } while (bVar8);\n      if ((!bVar9 && !bVar8) == bVar9) {\n        link_info._4_4_ = link_info._4_4_ & 0xfffe7fff | 0x10000;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar5,"globalaudit");\n      if (iVar3 == 0) {\n        link_info.flags_1 = link_info.flags_1 | 0x1000000;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar5,"global");\n      if (iVar3 == 0) {\n        link_info.flags_1 = link_info.flags_1 | 2;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar5,"initfirst");\n      if (iVar3 == 0) {\n        link_info.flags_1 = link_info.flags_1 | 0x20;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar5,"interpose");\n      if (iVar3 == 0) {\n        link_info.flags_1 = link_info.flags_1 | 0x400;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar5,"loadfltr");\n      if (iVar3 == 0) {\n        link_info.flags_1 = link_info.flags_1 | 0x10;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar5,"nodefaultlib");\n      if (iVar3 == 0) {\n        link_info.flags_1 = link_info.flags_1 | 0x800;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar5,"nodelete");\n      if (iVar3 == 0) {\n        link_info.flags_1 = link_info.flags_1 | 8;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar5,"nodlopen");\n      if (iVar3 == 0) {\n        link_info.flags_1 = link_info.flags_1 | 0x40;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar5,"nodump");\n      if (iVar3 == 0) {\n        link_info.flags_1 = link_info.flags_1 | 0x1000;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar5,"now");\n      if (iVar3 == 0) {\n        link_info.flags = link_info.flags | 8;\n        link_info.flags_1 = link_info.flags_1 | 1;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar5,"lazy");\n      if (iVar3 == 0) {\n        link_info.flags = link_info.flags & 0xfffffff7;\n        link_info.flags_1 = link_info.flags_1 & 0xfffffffe;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar5,"origin");\n      if (iVar3 == 0) {\n        link_info.flags = link_info.flags | 1;\n        link_info.flags_1 = link_info.flags_1 | 0x80;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar5,"combreloc");\n      if (iVar3 == 0) {\n        link_info._4_4_ = link_info._4_4_ | 0x40;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar5,"nocombreloc");\n      if (iVar3 == 0) {\n        link_info._4_4_ = link_info._4_4_ & 0xffffffbf;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar5,"nocopyreloc");\n      if (iVar3 == 0) {\n        link_info._0_1_ = link_info._0_1_ | 8;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar5,"relro");\n      if (iVar3 == 0) {\n        link_info._2_2_ = link_info._2_2_ | 0x1000;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar5,"norelro");\n      if (iVar3 == 0) {\n        link_info._2_2_ = link_info._2_2_ & 0xefff;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar5,"separate-code");\n      if (iVar3 == 0) {\n        link_info._2_2_ = link_info._2_2_ | 0x2000;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar5,"noseparate-code");\n      if (iVar3 == 0) {\n        link_info._2_2_ = link_info._2_2_ & 0xdfff;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar5,"common");\n      if (iVar3 == 0) {\n        link_info._2_2_ = link_info._2_2_ & 0xfff9 | 2;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar5,"nocommon");\n      if (iVar3 == 0) {\n        link_info._2_2_ = link_info._2_2_ & 0xfff9 | 4;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar5,"text");\n      if (iVar3 == 0) {\n        link_info._4_4_ = link_info._4_4_ | 2;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar5,"notext");\n      if ((iVar3 == 0) || (iVar3 = strcmp((char *)pbVar5,"textoff"), iVar3 == 0)) {\n        link_info._4_4_ = link_info._4_4_ & 0xfffffffd;\n        return 1;\n      }\n      pcVar4 = "%P: warning: -z %s ignored\n";\n      goto LAB_0003606a;\n    }" if (parenthesized_expression "(!bVar8)" ( (unary_expression "!bVar8" ! identifier) )) (compound_statement "{\n      iVar3 = 0xb;\n      pbVar6 = pbVar5;\n      pbVar7 = (byte *)"stack-size=";\n      do {\n        if (iVar3 == 0) break;\n        iVar3 = iVar3 + -1;\n        bVar9 = *pbVar6 < *pbVar7;\n        bVar8 = *pbVar6 == *pbVar7;\n        pbVar6 = pbVar6 + 1;\n        pbVar7 = pbVar7 + 1;\n      } while (bVar8);\n      bVar10 = false;\n      bVar8 = (!bVar9 && !bVar8) == bVar9;\n      if (bVar8) {\n        link_info.stacksize = strtoul((char *)(pbVar5 + 0xb),&end,0);\n        if ((*end != '\0') || (link_info.stacksize < 0)) {\n          iVar3 = *(int *)puVar1;\n          pcVar4 = (char *)dcgettext(0,"%F%P: invalid stack size `%s\'\n",5,link_info.stacksize);\n          einfo(pcVar4,iVar3 + 0xb);\n        }\n        if (link_info.stacksize == 0) {\n          link_info.stacksize = -1;\n          return 1;\n        }\n        return 1;\n      }\n      iVar3 = 10;\n      pbVar6 = pbVar5;\n      pbVar7 = (byte *)0x7ac61;\n      do {\n        if (iVar3 == 0) break;\n        iVar3 = iVar3 + -1;\n        bVar10 = *pbVar6 < *pbVar7;\n        bVar8 = *pbVar6 == *pbVar7;\n        pbVar6 = pbVar6 + 1;\n        pbVar7 = pbVar7 + 1;\n      } while (bVar8);\n      bVar9 = false;\n      bVar8 = (!bVar10 && !bVar8) == bVar10;\n      if (bVar8) {\n        link_info._4_4_ = link_info._4_4_ & 0xfffe7fff | 0x8000;\n        return 1;\n      }\n      iVar3 = 0xc;\n      pbVar6 = pbVar5;\n      pbVar7 = (byte *)"noexecstack";\n      do {\n        if (iVar3 == 0) break;\n        iVar3 = iVar3 + -1;\n        bVar9 = *pbVar6 < *pbVar7;\n        bVar8 = *pbVar6 == *pbVar7;\n        pbVar6 = pbVar6 + 1;\n        pbVar7 = pbVar7 + 1;\n      } while (bVar8);\n      if ((!bVar9 && !bVar8) == bVar9) {\n        link_info._4_4_ = link_info._4_4_ & 0xfffe7fff | 0x10000;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar5,"globalaudit");\n      if (iVar3 == 0) {\n        link_info.flags_1 = link_info.flags_1 | 0x1000000;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar5,"global");\n      if (iVar3 == 0) {\n        link_info.flags_1 = link_info.flags_1 | 2;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar5,"initfirst");\n      if (iVar3 == 0) {\n        link_info.flags_1 = link_info.flags_1 | 0x20;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar5,"interpose");\n      if (iVar3 == 0) {\n        link_info.flags_1 = link_info.flags_1 | 0x400;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar5,"loadfltr");\n      if (iVar3 == 0) {\n        link_info.flags_1 = link_info.flags_1 | 0x10;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar5,"nodefaultlib");\n      if (iVar3 == 0) {\n        link_info.flags_1 = link_info.flags_1 | 0x800;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar5,"nodelete");\n      if (iVar3 == 0) {\n        link_info.flags_1 = link_info.flags_1 | 8;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar5,"nodlopen");\n      if (iVar3 == 0) {\n        link_info.flags_1 = link_info.flags_1 | 0x40;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar5,"nodump");\n      if (iVar3 == 0) {\n        link_info.flags_1 = link_info.flags_1 | 0x1000;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar5,"now");\n      if (iVar3 == 0) {\n        link_info.flags = link_info.flags | 8;\n        link_info.flags_1 = link_info.flags_1 | 1;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar5,"lazy");\n      if (iVar3 == 0) {\n        link_info.flags = link_info.flags & 0xfffffff7;\n        link_info.flags_1 = link_info.flags_1 & 0xfffffffe;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar5,"origin");\n      if (iVar3 == 0) {\n        link_info.flags = link_info.flags | 1;\n        link_info.flags_1 = link_info.flags_1 | 0x80;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar5,"combreloc");\n      if (iVar3 == 0) {\n        link_info._4_4_ = link_info._4_4_ | 0x40;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar5,"nocombreloc");\n      if (iVar3 == 0) {\n        link_info._4_4_ = link_info._4_4_ & 0xffffffbf;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar5,"nocopyreloc");\n      if (iVar3 == 0) {\n        link_info._0_1_ = link_info._0_1_ | 8;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar5,"relro");\n      if (iVar3 == 0) {\n        link_info._2_2_ = link_info._2_2_ | 0x1000;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar5,"norelro");\n      if (iVar3 == 0) {\n        link_info._2_2_ = link_info._2_2_ & 0xefff;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar5,"separate-code");\n      if (iVar3 == 0) {\n        link_info._2_2_ = link_info._2_2_ | 0x2000;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar5,"noseparate-code");\n      if (iVar3 == 0) {\n        link_info._2_2_ = link_info._2_2_ & 0xdfff;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar5,"common");\n      if (iVar3 == 0) {\n        link_info._2_2_ = link_info._2_2_ & 0xfff9 | 2;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar5,"nocommon");\n      if (iVar3 == 0) {\n        link_info._2_2_ = link_info._2_2_ & 0xfff9 | 4;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar5,"text");\n      if (iVar3 == 0) {\n        link_info._4_4_ = link_info._4_4_ | 2;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar5,"notext");\n      if ((iVar3 == 0) || (iVar3 = strcmp((char *)pbVar5,"textoff"), iVar3 == 0)) {\n        link_info._4_4_ = link_info._4_4_ & 0xfffffffd;\n        return 1;\n      }\n      pcVar4 = "%P: warning: -z %s ignored\n";\n      goto LAB_0003606a;\n    }" { (expression_statement "iVar3 = 0xb;" (assignment_expression "iVar3 = 0xb" identifier = number_literal) ;) (expression_statement "pbVar6 = pbVar5;" (assignment_expression "pbVar6 = pbVar5" identifier = identifier) ;) (expression_statement "pbVar7 = (byte *)"stack-size=";" (assignment_expression "pbVar7 = (byte *)"stack-size="" identifier = (cast_expression "(byte *)"stack-size="" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (string_literal ""stack-size="" " string_content "))) ;) (do_statement "do {\n        if (iVar3 == 0) break;\n        iVar3 = iVar3 + -1;\n        bVar9 = *pbVar6 < *pbVar7;\n        bVar8 = *pbVar6 == *pbVar7;\n        pbVar6 = pbVar6 + 1;\n        pbVar7 = pbVar7 + 1;\n      } while (bVar8);" do (compound_statement "{\n        if (iVar3 == 0) break;\n        iVar3 = iVar3 + -1;\n        bVar9 = *pbVar6 < *pbVar7;\n        bVar8 = *pbVar6 == *pbVar7;\n        pbVar6 = pbVar6 + 1;\n        pbVar7 = pbVar7 + 1;\n      }" { (if_statement "if (iVar3 == 0) break;" if (parenthesized_expression "(iVar3 == 0)" ( (binary_expression "iVar3 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "iVar3 = iVar3 + -1;" (assignment_expression "iVar3 = iVar3 + -1" identifier = (binary_expression "iVar3 + -1" identifier + number_literal)) ;) (expression_statement "bVar9 = *pbVar6 < *pbVar7;" (assignment_expression "bVar9 = *pbVar6 < *pbVar7" identifier = (binary_expression "*pbVar6 < *pbVar7" (pointer_expression "*pbVar6" * identifier) < (pointer_expression "*pbVar7" * identifier))) ;) (expression_statement "bVar8 = *pbVar6 == *pbVar7;" (assignment_expression "bVar8 = *pbVar6 == *pbVar7" identifier = (binary_expression "*pbVar6 == *pbVar7" (pointer_expression "*pbVar6" * identifier) == (pointer_expression "*pbVar7" * identifier))) ;) (expression_statement "pbVar6 = pbVar6 + 1;" (assignment_expression "pbVar6 = pbVar6 + 1" identifier = (binary_expression "pbVar6 + 1" identifier + number_literal)) ;) (expression_statement "pbVar7 = pbVar7 + 1;" (assignment_expression "pbVar7 = pbVar7 + 1" identifier = (binary_expression "pbVar7 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(bVar8)" ( identifier )) ;) (expression_statement "bVar10 = false;" (assignment_expression "bVar10 = false" identifier = false) ;) (expression_statement "bVar8 = (!bVar9 && !bVar8) == bVar9;" (assignment_expression "bVar8 = (!bVar9 && !bVar8) == bVar9" identifier = (binary_expression "(!bVar9 && !bVar8) == bVar9" (parenthesized_expression "(!bVar9 && !bVar8)" ( (binary_expression "!bVar9 && !bVar8" (unary_expression "!bVar9" ! identifier) && (unary_expression "!bVar8" ! identifier)) )) == identifier)) ;) (if_statement "if (bVar8) {\n        link_info.stacksize = strtoul((char *)(pbVar5 + 0xb),&end,0);\n        if ((*end != '\0') || (link_info.stacksize < 0)) {\n          iVar3 = *(int *)puVar1;\n          pcVar4 = (char *)dcgettext(0,"%F%P: invalid stack size `%s\'\n",5,link_info.stacksize);\n          einfo(pcVar4,iVar3 + 0xb);\n        }\n        if (link_info.stacksize == 0) {\n          link_info.stacksize = -1;\n          return 1;\n        }\n        return 1;\n      }" if (parenthesized_expression "(bVar8)" ( identifier )) (compound_statement "{\n        link_info.stacksize = strtoul((char *)(pbVar5 + 0xb),&end,0);\n        if ((*end != '\0') || (link_info.stacksize < 0)) {\n          iVar3 = *(int *)puVar1;\n          pcVar4 = (char *)dcgettext(0,"%F%P: invalid stack size `%s\'\n",5,link_info.stacksize);\n          einfo(pcVar4,iVar3 + 0xb);\n        }\n        if (link_info.stacksize == 0) {\n          link_info.stacksize = -1;\n          return 1;\n        }\n        return 1;\n      }" { (expression_statement "link_info.stacksize = strtoul((char *)(pbVar5 + 0xb),&end,0);" (assignment_expression "link_info.stacksize = strtoul((char *)(pbVar5 + 0xb),&end,0)" (field_expression "link_info.stacksize" identifier . field_identifier) = (call_expression "strtoul((char *)(pbVar5 + 0xb),&end,0)" identifier (argument_list "((char *)(pbVar5 + 0xb),&end,0)" ( (cast_expression "(char *)(pbVar5 + 0xb)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pbVar5 + 0xb)" ( (binary_expression "pbVar5 + 0xb" identifier + number_literal) ))) , (pointer_expression "&end" & identifier) , number_literal )))) ;) (if_statement "if ((*end != '\0') || (link_info.stacksize < 0)) {\n          iVar3 = *(int *)puVar1;\n          pcVar4 = (char *)dcgettext(0,"%F%P: invalid stack size `%s\'\n",5,link_info.stacksize);\n          einfo(pcVar4,iVar3 + 0xb);\n        }" if (parenthesized_expression "((*end != '\0') || (link_info.stacksize < 0))" ( (binary_expression "(*end != '\0') || (link_info.stacksize < 0)" (parenthesized_expression "(*end != '\0')" ( (binary_expression "*end != '\0'" (pointer_expression "*end" * identifier) != (char_literal "'\0'" ' escape_sequence ')) )) || (parenthesized_expression "(link_info.stacksize < 0)" ( (binary_expression "link_info.stacksize < 0" (field_expression "link_info.stacksize" identifier . field_identifier) < number_literal) ))) )) (compound_statement "{\n          iVar3 = *(int *)puVar1;\n          pcVar4 = (char *)dcgettext(0,"%F%P: invalid stack size `%s\'\n",5,link_info.stacksize);\n          einfo(pcVar4,iVar3 + 0xb);\n        }" { (expression_statement "iVar3 = *(int *)puVar1;" (assignment_expression "iVar3 = *(int *)puVar1" identifier = (pointer_expression "*(int *)puVar1" * (cast_expression "(int *)puVar1" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) ;) (expression_statement "pcVar4 = (char *)dcgettext(0,"%F%P: invalid stack size `%s\'\n",5,link_info.stacksize);" (assignment_expression "pcVar4 = (char *)dcgettext(0,"%F%P: invalid stack size `%s\'\n",5,link_info.stacksize)" identifier = (cast_expression "(char *)dcgettext(0,"%F%P: invalid stack size `%s\'\n",5,link_info.stacksize)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,"%F%P: invalid stack size `%s\'\n",5,link_info.stacksize)" identifier (argument_list "(0,"%F%P: invalid stack size `%s\'\n",5,link_info.stacksize)" ( number_literal , (string_literal ""%F%P: invalid stack size `%s\'\n"" " string_content escape_sequence escape_sequence ") , number_literal , (field_expression "link_info.stacksize" identifier . field_identifier) ))))) ;) (expression_statement "einfo(pcVar4,iVar3 + 0xb);" (call_expression "einfo(pcVar4,iVar3 + 0xb)" identifier (argument_list "(pcVar4,iVar3 + 0xb)" ( identifier , (binary_expression "iVar3 + 0xb" identifier + number_literal) ))) ;) })) (if_statement "if (link_info.stacksize == 0) {\n          link_info.stacksize = -1;\n          return 1;\n        }" if (parenthesized_expression "(link_info.stacksize == 0)" ( (binary_expression "link_info.stacksize == 0" (field_expression "link_info.stacksize" identifier . field_identifier) == number_literal) )) (compound_statement "{\n          link_info.stacksize = -1;\n          return 1;\n        }" { (expression_statement "link_info.stacksize = -1;" (assignment_expression "link_info.stacksize = -1" (field_expression "link_info.stacksize" identifier . field_identifier) = number_literal) ;) (return_statement "return 1;" return number_literal ;) })) (return_statement "return 1;" return number_literal ;) })) (expression_statement "iVar3 = 10;" (assignment_expression "iVar3 = 10" identifier = number_literal) ;) (expression_statement "pbVar6 = pbVar5;" (assignment_expression "pbVar6 = pbVar5" identifier = identifier) ;) (expression_statement "pbVar7 = (byte *)0x7ac61;" (assignment_expression "pbVar7 = (byte *)0x7ac61" identifier = (cast_expression "(byte *)0x7ac61" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (do_statement "do {\n        if (iVar3 == 0) break;\n        iVar3 = iVar3 + -1;\n        bVar10 = *pbVar6 < *pbVar7;\n        bVar8 = *pbVar6 == *pbVar7;\n        pbVar6 = pbVar6 + 1;\n        pbVar7 = pbVar7 + 1;\n      } while (bVar8);" do (compound_statement "{\n        if (iVar3 == 0) break;\n        iVar3 = iVar3 + -1;\n        bVar10 = *pbVar6 < *pbVar7;\n        bVar8 = *pbVar6 == *pbVar7;\n        pbVar6 = pbVar6 + 1;\n        pbVar7 = pbVar7 + 1;\n      }" { (if_statement "if (iVar3 == 0) break;" if (parenthesized_expression "(iVar3 == 0)" ( (binary_expression "iVar3 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "iVar3 = iVar3 + -1;" (assignment_expression "iVar3 = iVar3 + -1" identifier = (binary_expression "iVar3 + -1" identifier + number_literal)) ;) (expression_statement "bVar10 = *pbVar6 < *pbVar7;" (assignment_expression "bVar10 = *pbVar6 < *pbVar7" identifier = (binary_expression "*pbVar6 < *pbVar7" (pointer_expression "*pbVar6" * identifier) < (pointer_expression "*pbVar7" * identifier))) ;) (expression_statement "bVar8 = *pbVar6 == *pbVar7;" (assignment_expression "bVar8 = *pbVar6 == *pbVar7" identifier = (binary_expression "*pbVar6 == *pbVar7" (pointer_expression "*pbVar6" * identifier) == (pointer_expression "*pbVar7" * identifier))) ;) (expression_statement "pbVar6 = pbVar6 + 1;" (assignment_expression "pbVar6 = pbVar6 + 1" identifier = (binary_expression "pbVar6 + 1" identifier + number_literal)) ;) (expression_statement "pbVar7 = pbVar7 + 1;" (assignment_expression "pbVar7 = pbVar7 + 1" identifier = (binary_expression "pbVar7 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(bVar8)" ( identifier )) ;) (expression_statement "bVar9 = false;" (assignment_expression "bVar9 = false" identifier = false) ;) (expression_statement "bVar8 = (!bVar10 && !bVar8) == bVar10;" (assignment_expression "bVar8 = (!bVar10 && !bVar8) == bVar10" identifier = (binary_expression "(!bVar10 && !bVar8) == bVar10" (parenthesized_expression "(!bVar10 && !bVar8)" ( (binary_expression "!bVar10 && !bVar8" (unary_expression "!bVar10" ! identifier) && (unary_expression "!bVar8" ! identifier)) )) == identifier)) ;) (if_statement "if (bVar8) {\n        link_info._4_4_ = link_info._4_4_ & 0xfffe7fff | 0x8000;\n        return 1;\n      }" if (parenthesized_expression "(bVar8)" ( identifier )) (compound_statement "{\n        link_info._4_4_ = link_info._4_4_ & 0xfffe7fff | 0x8000;\n        return 1;\n      }" { (expression_statement "link_info._4_4_ = link_info._4_4_ & 0xfffe7fff | 0x8000;" (assignment_expression "link_info._4_4_ = link_info._4_4_ & 0xfffe7fff | 0x8000" (field_expression "link_info._4_4_" identifier . field_identifier) = (binary_expression "link_info._4_4_ & 0xfffe7fff | 0x8000" (binary_expression "link_info._4_4_ & 0xfffe7fff" (field_expression "link_info._4_4_" identifier . field_identifier) & number_literal) | number_literal)) ;) (return_statement "return 1;" return number_literal ;) })) (expression_statement "iVar3 = 0xc;" (assignment_expression "iVar3 = 0xc" identifier = number_literal) ;) (expression_statement "pbVar6 = pbVar5;" (assignment_expression "pbVar6 = pbVar5" identifier = identifier) ;) (expression_statement "pbVar7 = (byte *)"noexecstack";" (assignment_expression "pbVar7 = (byte *)"noexecstack"" identifier = (cast_expression "(byte *)"noexecstack"" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (string_literal ""noexecstack"" " string_content "))) ;) (do_statement "do {\n        if (iVar3 == 0) break;\n        iVar3 = iVar3 + -1;\n        bVar9 = *pbVar6 < *pbVar7;\n        bVar8 = *pbVar6 == *pbVar7;\n        pbVar6 = pbVar6 + 1;\n        pbVar7 = pbVar7 + 1;\n      } while (bVar8);" do (compound_statement "{\n        if (iVar3 == 0) break;\n        iVar3 = iVar3 + -1;\n        bVar9 = *pbVar6 < *pbVar7;\n        bVar8 = *pbVar6 == *pbVar7;\n        pbVar6 = pbVar6 + 1;\n        pbVar7 = pbVar7 + 1;\n      }" { (if_statement "if (iVar3 == 0) break;" if (parenthesized_expression "(iVar3 == 0)" ( (binary_expression "iVar3 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "iVar3 = iVar3 + -1;" (assignment_expression "iVar3 = iVar3 + -1" identifier = (binary_expression "iVar3 + -1" identifier + number_literal)) ;) (expression_statement "bVar9 = *pbVar6 < *pbVar7;" (assignment_expression "bVar9 = *pbVar6 < *pbVar7" identifier = (binary_expression "*pbVar6 < *pbVar7" (pointer_expression "*pbVar6" * identifier) < (pointer_expression "*pbVar7" * identifier))) ;) (expression_statement "bVar8 = *pbVar6 == *pbVar7;" (assignment_expression "bVar8 = *pbVar6 == *pbVar7" identifier = (binary_expression "*pbVar6 == *pbVar7" (pointer_expression "*pbVar6" * identifier) == (pointer_expression "*pbVar7" * identifier))) ;) (expression_statement "pbVar6 = pbVar6 + 1;" (assignment_expression "pbVar6 = pbVar6 + 1" identifier = (binary_expression "pbVar6 + 1" identifier + number_literal)) ;) (expression_statement "pbVar7 = pbVar7 + 1;" (assignment_expression "pbVar7 = pbVar7 + 1" identifier = (binary_expression "pbVar7 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(bVar8)" ( identifier )) ;) (if_statement "if ((!bVar9 && !bVar8) == bVar9) {\n        link_info._4_4_ = link_info._4_4_ & 0xfffe7fff | 0x10000;\n        return 1;\n      }" if (parenthesized_expression "((!bVar9 && !bVar8) == bVar9)" ( (binary_expression "(!bVar9 && !bVar8) == bVar9" (parenthesized_expression "(!bVar9 && !bVar8)" ( (binary_expression "!bVar9 && !bVar8" (unary_expression "!bVar9" ! identifier) && (unary_expression "!bVar8" ! identifier)) )) == identifier) )) (compound_statement "{\n        link_info._4_4_ = link_info._4_4_ & 0xfffe7fff | 0x10000;\n        return 1;\n      }" { (expression_statement "link_info._4_4_ = link_info._4_4_ & 0xfffe7fff | 0x10000;" (assignment_expression "link_info._4_4_ = link_info._4_4_ & 0xfffe7fff | 0x10000" (field_expression "link_info._4_4_" identifier . field_identifier) = (binary_expression "link_info._4_4_ & 0xfffe7fff | 0x10000" (binary_expression "link_info._4_4_ & 0xfffe7fff" (field_expression "link_info._4_4_" identifier . field_identifier) & number_literal) | number_literal)) ;) (return_statement "return 1;" return number_literal ;) })) (expression_statement "iVar3 = strcmp((char *)pbVar5,"globalaudit");" (assignment_expression "iVar3 = strcmp((char *)pbVar5,"globalaudit")" identifier = (call_expression "strcmp((char *)pbVar5,"globalaudit")" identifier (argument_list "((char *)pbVar5,"globalaudit")" ( (cast_expression "(char *)pbVar5" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) , (string_literal ""globalaudit"" " string_content ") )))) ;) (if_statement "if (iVar3 == 0) {\n        link_info.flags_1 = link_info.flags_1 | 0x1000000;\n        return 1;\n      }" if (parenthesized_expression "(iVar3 == 0)" ( (binary_expression "iVar3 == 0" identifier == number_literal) )) (compound_statement "{\n        link_info.flags_1 = link_info.flags_1 | 0x1000000;\n        return 1;\n      }" { (expression_statement "link_info.flags_1 = link_info.flags_1 | 0x1000000;" (assignment_expression "link_info.flags_1 = link_info.flags_1 | 0x1000000" (field_expression "link_info.flags_1" identifier . field_identifier) = (binary_expression "link_info.flags_1 | 0x1000000" (field_expression "link_info.flags_1" identifier . field_identifier) | number_literal)) ;) (return_statement "return 1;" return number_literal ;) })) (expression_statement "iVar3 = strcmp((char *)pbVar5,"global");" (assignment_expression "iVar3 = strcmp((char *)pbVar5,"global")" identifier = (call_expression "strcmp((char *)pbVar5,"global")" identifier (argument_list "((char *)pbVar5,"global")" ( (cast_expression "(char *)pbVar5" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) , (string_literal ""global"" " string_content ") )))) ;) (if_statement "if (iVar3 == 0) {\n        link_info.flags_1 = link_info.flags_1 | 2;\n        return 1;\n      }" if (parenthesized_expression "(iVar3 == 0)" ( (binary_expression "iVar3 == 0" identifier == number_literal) )) (compound_statement "{\n        link_info.flags_1 = link_info.flags_1 | 2;\n        return 1;\n      }" { (expression_statement "link_info.flags_1 = link_info.flags_1 | 2;" (assignment_expression "link_info.flags_1 = link_info.flags_1 | 2" (field_expression "link_info.flags_1" identifier . field_identifier) = (binary_expression "link_info.flags_1 | 2" (field_expression "link_info.flags_1" identifier . field_identifier) | number_literal)) ;) (return_statement "return 1;" return number_literal ;) })) (expression_statement "iVar3 = strcmp((char *)pbVar5,"initfirst");" (assignment_expression "iVar3 = strcmp((char *)pbVar5,"initfirst")" identifier = (call_expression "strcmp((char *)pbVar5,"initfirst")" identifier (argument_list "((char *)pbVar5,"initfirst")" ( (cast_expression "(char *)pbVar5" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) , (string_literal ""initfirst"" " string_content ") )))) ;) (if_statement "if (iVar3 == 0) {\n        link_info.flags_1 = link_info.flags_1 | 0x20;\n        return 1;\n      }" if (parenthesized_expression "(iVar3 == 0)" ( (binary_expression "iVar3 == 0" identifier == number_literal) )) (compound_statement "{\n        link_info.flags_1 = link_info.flags_1 | 0x20;\n        return 1;\n      }" { (expression_statement "link_info.flags_1 = link_info.flags_1 | 0x20;" (assignment_expression "link_info.flags_1 = link_info.flags_1 | 0x20" (field_expression "link_info.flags_1" identifier . field_identifier) = (binary_expression "link_info.flags_1 | 0x20" (field_expression "link_info.flags_1" identifier . field_identifier) | number_literal)) ;) (return_statement "return 1;" return number_literal ;) })) (expression_statement "iVar3 = strcmp((char *)pbVar5,"interpose");" (assignment_expression "iVar3 = strcmp((char *)pbVar5,"interpose")" identifier = (call_expression "strcmp((char *)pbVar5,"interpose")" identifier (argument_list "((char *)pbVar5,"interpose")" ( (cast_expression "(char *)pbVar5" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) , (string_literal ""interpose"" " string_content ") )))) ;) (if_statement "if (iVar3 == 0) {\n        link_info.flags_1 = link_info.flags_1 | 0x400;\n        return 1;\n      }" if (parenthesized_expression "(iVar3 == 0)" ( (binary_expression "iVar3 == 0" identifier == number_literal) )) (compound_statement "{\n        link_info.flags_1 = link_info.flags_1 | 0x400;\n        return 1;\n      }" { (expression_statement "link_info.flags_1 = link_info.flags_1 | 0x400;" (assignment_expression "link_info.flags_1 = link_info.flags_1 | 0x400" (field_expression "link_info.flags_1" identifier . field_identifier) = (binary_expression "link_info.flags_1 | 0x400" (field_expression "link_info.flags_1" identifier . field_identifier) | number_literal)) ;) (return_statement "return 1;" return number_literal ;) })) (expression_statement "iVar3 = strcmp((char *)pbVar5,"loadfltr");" (assignment_expression "iVar3 = strcmp((char *)pbVar5,"loadfltr")" identifier = (call_expression "strcmp((char *)pbVar5,"loadfltr")" identifier (argument_list "((char *)pbVar5,"loadfltr")" ( (cast_expression "(char *)pbVar5" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) , (string_literal ""loadfltr"" " string_content ") )))) ;) (if_statement "if (iVar3 == 0) {\n        link_info.flags_1 = link_info.flags_1 | 0x10;\n        return 1;\n      }" if (parenthesized_expression "(iVar3 == 0)" ( (binary_expression "iVar3 == 0" identifier == number_literal) )) (compound_statement "{\n        link_info.flags_1 = link_info.flags_1 | 0x10;\n        return 1;\n      }" { (expression_statement "link_info.flags_1 = link_info.flags_1 | 0x10;" (assignment_expression "link_info.flags_1 = link_info.flags_1 | 0x10" (field_expression "link_info.flags_1" identifier . field_identifier) = (binary_expression "link_info.flags_1 | 0x10" (field_expression "link_info.flags_1" identifier . field_identifier) | number_literal)) ;) (return_statement "return 1;" return number_literal ;) })) (expression_statement "iVar3 = strcmp((char *)pbVar5,"nodefaultlib");" (assignment_expression "iVar3 = strcmp((char *)pbVar5,"nodefaultlib")" identifier = (call_expression "strcmp((char *)pbVar5,"nodefaultlib")" identifier (argument_list "((char *)pbVar5,"nodefaultlib")" ( (cast_expression "(char *)pbVar5" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) , (string_literal ""nodefaultlib"" " string_content ") )))) ;) (if_statement "if (iVar3 == 0) {\n        link_info.flags_1 = link_info.flags_1 | 0x800;\n        return 1;\n      }" if (parenthesized_expression "(iVar3 == 0)" ( (binary_expression "iVar3 == 0" identifier == number_literal) )) (compound_statement "{\n        link_info.flags_1 = link_info.flags_1 | 0x800;\n        return 1;\n      }" { (expression_statement "link_info.flags_1 = link_info.flags_1 | 0x800;" (assignment_expression "link_info.flags_1 = link_info.flags_1 | 0x800" (field_expression "link_info.flags_1" identifier . field_identifier) = (binary_expression "link_info.flags_1 | 0x800" (field_expression "link_info.flags_1" identifier . field_identifier) | number_literal)) ;) (return_statement "return 1;" return number_literal ;) })) (expression_statement "iVar3 = strcmp((char *)pbVar5,"nodelete");" (assignment_expression "iVar3 = strcmp((char *)pbVar5,"nodelete")" identifier = (call_expression "strcmp((char *)pbVar5,"nodelete")" identifier (argument_list "((char *)pbVar5,"nodelete")" ( (cast_expression "(char *)pbVar5" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) , (string_literal ""nodelete"" " string_content ") )))) ;) (if_statement "if (iVar3 == 0) {\n        link_info.flags_1 = link_info.flags_1 | 8;\n        return 1;\n      }" if (parenthesized_expression "(iVar3 == 0)" ( (binary_expression "iVar3 == 0" identifier == number_literal) )) (compound_statement "{\n        link_info.flags_1 = link_info.flags_1 | 8;\n        return 1;\n      }" { (expression_statement "link_info.flags_1 = link_info.flags_1 | 8;" (assignment_expression "link_info.flags_1 = link_info.flags_1 | 8" (field_expression "link_info.flags_1" identifier . field_identifier) = (binary_expression "link_info.flags_1 | 8" (field_expression "link_info.flags_1" identifier . field_identifier) | number_literal)) ;) (return_statement "return 1;" return number_literal ;) })) (expression_statement "iVar3 = strcmp((char *)pbVar5,"nodlopen");" (assignment_expression "iVar3 = strcmp((char *)pbVar5,"nodlopen")" identifier = (call_expression "strcmp((char *)pbVar5,"nodlopen")" identifier (argument_list "((char *)pbVar5,"nodlopen")" ( (cast_expression "(char *)pbVar5" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) , (string_literal ""nodlopen"" " string_content ") )))) ;) (if_statement "if (iVar3 == 0) {\n        link_info.flags_1 = link_info.flags_1 | 0x40;\n        return 1;\n      }" if (parenthesized_expression "(iVar3 == 0)" ( (binary_expression "iVar3 == 0" identifier == number_literal) )) (compound_statement "{\n        link_info.flags_1 = link_info.flags_1 | 0x40;\n        return 1;\n      }" { (expression_statement "link_info.flags_1 = link_info.flags_1 | 0x40;" (assignment_expression "link_info.flags_1 = link_info.flags_1 | 0x40" (field_expression "link_info.flags_1" identifier . field_identifier) = (binary_expression "link_info.flags_1 | 0x40" (field_expression "link_info.flags_1" identifier . field_identifier) | number_literal)) ;) (return_statement "return 1;" return number_literal ;) })) (expression_statement "iVar3 = strcmp((char *)pbVar5,"nodump");" (assignment_expression "iVar3 = strcmp((char *)pbVar5,"nodump")" identifier = (call_expression "strcmp((char *)pbVar5,"nodump")" identifier (argument_list "((char *)pbVar5,"nodump")" ( (cast_expression "(char *)pbVar5" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) , (string_literal ""nodump"" " string_content ") )))) ;) (if_statement "if (iVar3 == 0) {\n        link_info.flags_1 = link_info.flags_1 | 0x1000;\n        return 1;\n      }" if (parenthesized_expression "(iVar3 == 0)" ( (binary_expression "iVar3 == 0" identifier == number_literal) )) (compound_statement "{\n        link_info.flags_1 = link_info.flags_1 | 0x1000;\n        return 1;\n      }" { (expression_statement "link_info.flags_1 = link_info.flags_1 | 0x1000;" (assignment_expression "link_info.flags_1 = link_info.flags_1 | 0x1000" (field_expression "link_info.flags_1" identifier . field_identifier) = (binary_expression "link_info.flags_1 | 0x1000" (field_expression "link_info.flags_1" identifier . field_identifier) | number_literal)) ;) (return_statement "return 1;" return number_literal ;) })) (expression_statement "iVar3 = strcmp((char *)pbVar5,"now");" (assignment_expression "iVar3 = strcmp((char *)pbVar5,"now")" identifier = (call_expression "strcmp((char *)pbVar5,"now")" identifier (argument_list "((char *)pbVar5,"now")" ( (cast_expression "(char *)pbVar5" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) , (string_literal ""now"" " string_content ") )))) ;) (if_statement "if (iVar3 == 0) {\n        link_info.flags = link_info.flags | 8;\n        link_info.flags_1 = link_info.flags_1 | 1;\n        return 1;\n      }" if (parenthesized_expression "(iVar3 == 0)" ( (binary_expression "iVar3 == 0" identifier == number_literal) )) (compound_statement "{\n        link_info.flags = link_info.flags | 8;\n        link_info.flags_1 = link_info.flags_1 | 1;\n        return 1;\n      }" { (expression_statement "link_info.flags = link_info.flags | 8;" (assignment_expression "link_info.flags = link_info.flags | 8" (field_expression "link_info.flags" identifier . field_identifier) = (binary_expression "link_info.flags | 8" (field_expression "link_info.flags" identifier . field_identifier) | number_literal)) ;) (expression_statement "link_info.flags_1 = link_info.flags_1 | 1;" (assignment_expression "link_info.flags_1 = link_info.flags_1 | 1" (field_expression "link_info.flags_1" identifier . field_identifier) = (binary_expression "link_info.flags_1 | 1" (field_expression "link_info.flags_1" identifier . field_identifier) | number_literal)) ;) (return_statement "return 1;" return number_literal ;) })) (expression_statement "iVar3 = strcmp((char *)pbVar5,"lazy");" (assignment_expression "iVar3 = strcmp((char *)pbVar5,"lazy")" identifier = (call_expression "strcmp((char *)pbVar5,"lazy")" identifier (argument_list "((char *)pbVar5,"lazy")" ( (cast_expression "(char *)pbVar5" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) , (string_literal ""lazy"" " string_content ") )))) ;) (if_statement "if (iVar3 == 0) {\n        link_info.flags = link_info.flags & 0xfffffff7;\n        link_info.flags_1 = link_info.flags_1 & 0xfffffffe;\n        return 1;\n      }" if (parenthesized_expression "(iVar3 == 0)" ( (binary_expression "iVar3 == 0" identifier == number_literal) )) (compound_statement "{\n        link_info.flags = link_info.flags & 0xfffffff7;\n        link_info.flags_1 = link_info.flags_1 & 0xfffffffe;\n        return 1;\n      }" { (expression_statement "link_info.flags = link_info.flags & 0xfffffff7;" (assignment_expression "link_info.flags = link_info.flags & 0xfffffff7" (field_expression "link_info.flags" identifier . field_identifier) = (binary_expression "link_info.flags & 0xfffffff7" (field_expression "link_info.flags" identifier . field_identifier) & number_literal)) ;) (expression_statement "link_info.flags_1 = link_info.flags_1 & 0xfffffffe;" (assignment_expression "link_info.flags_1 = link_info.flags_1 & 0xfffffffe" (field_expression "link_info.flags_1" identifier . field_identifier) = (binary_expression "link_info.flags_1 & 0xfffffffe" (field_expression "link_info.flags_1" identifier . field_identifier) & number_literal)) ;) (return_statement "return 1;" return number_literal ;) })) (expression_statement "iVar3 = strcmp((char *)pbVar5,"origin");" (assignment_expression "iVar3 = strcmp((char *)pbVar5,"origin")" identifier = (call_expression "strcmp((char *)pbVar5,"origin")" identifier (argument_list "((char *)pbVar5,"origin")" ( (cast_expression "(char *)pbVar5" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) , (string_literal ""origin"" " string_content ") )))) ;) (if_statement "if (iVar3 == 0) {\n        link_info.flags = link_info.flags | 1;\n        link_info.flags_1 = link_info.flags_1 | 0x80;\n        return 1;\n      }" if (parenthesized_expression "(iVar3 == 0)" ( (binary_expression "iVar3 == 0" identifier == number_literal) )) (compound_statement "{\n        link_info.flags = link_info.flags | 1;\n        link_info.flags_1 = link_info.flags_1 | 0x80;\n        return 1;\n      }" { (expression_statement "link_info.flags = link_info.flags | 1;" (assignment_expression "link_info.flags = link_info.flags | 1" (field_expression "link_info.flags" identifier . field_identifier) = (binary_expression "link_info.flags | 1" (field_expression "link_info.flags" identifier . field_identifier) | number_literal)) ;) (expression_statement "link_info.flags_1 = link_info.flags_1 | 0x80;" (assignment_expression "link_info.flags_1 = link_info.flags_1 | 0x80" (field_expression "link_info.flags_1" identifier . field_identifier) = (binary_expression "link_info.flags_1 | 0x80" (field_expression "link_info.flags_1" identifier . field_identifier) | number_literal)) ;) (return_statement "return 1;" return number_literal ;) })) (expression_statement "iVar3 = strcmp((char *)pbVar5,"combreloc");" (assignment_expression "iVar3 = strcmp((char *)pbVar5,"combreloc")" identifier = (call_expression "strcmp((char *)pbVar5,"combreloc")" identifier (argument_list "((char *)pbVar5,"combreloc")" ( (cast_expression "(char *)pbVar5" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) , (string_literal ""combreloc"" " string_content ") )))) ;) (if_statement "if (iVar3 == 0) {\n        link_info._4_4_ = link_info._4_4_ | 0x40;\n        return 1;\n      }" if (parenthesized_expression "(iVar3 == 0)" ( (binary_expression "iVar3 == 0" identifier == number_literal) )) (compound_statement "{\n        link_info._4_4_ = link_info._4_4_ | 0x40;\n        return 1;\n      }" { (expression_statement "link_info._4_4_ = link_info._4_4_ | 0x40;" (assignment_expression "link_info._4_4_ = link_info._4_4_ | 0x40" (field_expression "link_info._4_4_" identifier . field_identifier) = (binary_expression "link_info._4_4_ | 0x40" (field_expression "link_info._4_4_" identifier . field_identifier) | number_literal)) ;) (return_statement "return 1;" return number_literal ;) })) (expression_statement "iVar3 = strcmp((char *)pbVar5,"nocombreloc");" (assignment_expression "iVar3 = strcmp((char *)pbVar5,"nocombreloc")" identifier = (call_expression "strcmp((char *)pbVar5,"nocombreloc")" identifier (argument_list "((char *)pbVar5,"nocombreloc")" ( (cast_expression "(char *)pbVar5" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) , (string_literal ""nocombreloc"" " string_content ") )))) ;) (if_statement "if (iVar3 == 0) {\n        link_info._4_4_ = link_info._4_4_ & 0xffffffbf;\n        return 1;\n      }" if (parenthesized_expression "(iVar3 == 0)" ( (binary_expression "iVar3 == 0" identifier == number_literal) )) (compound_statement "{\n        link_info._4_4_ = link_info._4_4_ & 0xffffffbf;\n        return 1;\n      }" { (expression_statement "link_info._4_4_ = link_info._4_4_ & 0xffffffbf;" (assignment_expression "link_info._4_4_ = link_info._4_4_ & 0xffffffbf" (field_expression "link_info._4_4_" identifier . field_identifier) = (binary_expression "link_info._4_4_ & 0xffffffbf" (field_expression "link_info._4_4_" identifier . field_identifier) & number_literal)) ;) (return_statement "return 1;" return number_literal ;) })) (expression_statement "iVar3 = strcmp((char *)pbVar5,"nocopyreloc");" (assignment_expression "iVar3 = strcmp((char *)pbVar5,"nocopyreloc")" identifier = (call_expression "strcmp((char *)pbVar5,"nocopyreloc")" identifier (argument_list "((char *)pbVar5,"nocopyreloc")" ( (cast_expression "(char *)pbVar5" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) , (string_literal ""nocopyreloc"" " string_content ") )))) ;) (if_statement "if (iVar3 == 0) {\n        link_info._0_1_ = link_info._0_1_ | 8;\n        return 1;\n      }" if (parenthesized_expression "(iVar3 == 0)" ( (binary_expression "iVar3 == 0" identifier == number_literal) )) (compound_statement "{\n        link_info._0_1_ = link_info._0_1_ | 8;\n        return 1;\n      }" { (expression_statement "link_info._0_1_ = link_info._0_1_ | 8;" (assignment_expression "link_info._0_1_ = link_info._0_1_ | 8" (field_expression "link_info._0_1_" identifier . field_identifier) = (binary_expression "link_info._0_1_ | 8" (field_expression "link_info._0_1_" identifier . field_identifier) | number_literal)) ;) (return_statement "return 1;" return number_literal ;) })) (expression_statement "iVar3 = strcmp((char *)pbVar5,"relro");" (assignment_expression "iVar3 = strcmp((char *)pbVar5,"relro")" identifier = (call_expression "strcmp((char *)pbVar5,"relro")" identifier (argument_list "((char *)pbVar5,"relro")" ( (cast_expression "(char *)pbVar5" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) , (string_literal ""relro"" " string_content ") )))) ;) (if_statement "if (iVar3 == 0) {\n        link_info._2_2_ = link_info._2_2_ | 0x1000;\n        return 1;\n      }" if (parenthesized_expression "(iVar3 == 0)" ( (binary_expression "iVar3 == 0" identifier == number_literal) )) (compound_statement "{\n        link_info._2_2_ = link_info._2_2_ | 0x1000;\n        return 1;\n      }" { (expression_statement "link_info._2_2_ = link_info._2_2_ | 0x1000;" (assignment_expression "link_info._2_2_ = link_info._2_2_ | 0x1000" (field_expression "link_info._2_2_" identifier . field_identifier) = (binary_expression "link_info._2_2_ | 0x1000" (field_expression "link_info._2_2_" identifier . field_identifier) | number_literal)) ;) (return_statement "return 1;" return number_literal ;) })) (expression_statement "iVar3 = strcmp((char *)pbVar5,"norelro");" (assignment_expression "iVar3 = strcmp((char *)pbVar5,"norelro")" identifier = (call_expression "strcmp((char *)pbVar5,"norelro")" identifier (argument_list "((char *)pbVar5,"norelro")" ( (cast_expression "(char *)pbVar5" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) , (string_literal ""norelro"" " string_content ") )))) ;) (if_statement "if (iVar3 == 0) {\n        link_info._2_2_ = link_info._2_2_ & 0xefff;\n        return 1;\n      }" if (parenthesized_expression "(iVar3 == 0)" ( (binary_expression "iVar3 == 0" identifier == number_literal) )) (compound_statement "{\n        link_info._2_2_ = link_info._2_2_ & 0xefff;\n        return 1;\n      }" { (expression_statement "link_info._2_2_ = link_info._2_2_ & 0xefff;" (assignment_expression "link_info._2_2_ = link_info._2_2_ & 0xefff" (field_expression "link_info._2_2_" identifier . field_identifier) = (binary_expression "link_info._2_2_ & 0xefff" (field_expression "link_info._2_2_" identifier . field_identifier) & number_literal)) ;) (return_statement "return 1;" return number_literal ;) })) (expression_statement "iVar3 = strcmp((char *)pbVar5,"separate-code");" (assignment_expression "iVar3 = strcmp((char *)pbVar5,"separate-code")" identifier = (call_expression "strcmp((char *)pbVar5,"separate-code")" identifier (argument_list "((char *)pbVar5,"separate-code")" ( (cast_expression "(char *)pbVar5" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) , (string_literal ""separate-code"" " string_content ") )))) ;) (if_statement "if (iVar3 == 0) {\n        link_info._2_2_ = link_info._2_2_ | 0x2000;\n        return 1;\n      }" if (parenthesized_expression "(iVar3 == 0)" ( (binary_expression "iVar3 == 0" identifier == number_literal) )) (compound_statement "{\n        link_info._2_2_ = link_info._2_2_ | 0x2000;\n        return 1;\n      }" { (expression_statement "link_info._2_2_ = link_info._2_2_ | 0x2000;" (assignment_expression "link_info._2_2_ = link_info._2_2_ | 0x2000" (field_expression "link_info._2_2_" identifier . field_identifier) = (binary_expression "link_info._2_2_ | 0x2000" (field_expression "link_info._2_2_" identifier . field_identifier) | number_literal)) ;) (return_statement "return 1;" return number_literal ;) })) (expression_statement "iVar3 = strcmp((char *)pbVar5,"noseparate-code");" (assignment_expression "iVar3 = strcmp((char *)pbVar5,"noseparate-code")" identifier = (call_expression "strcmp((char *)pbVar5,"noseparate-code")" identifier (argument_list "((char *)pbVar5,"noseparate-code")" ( (cast_expression "(char *)pbVar5" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) , (string_literal ""noseparate-code"" " string_content ") )))) ;) (if_statement "if (iVar3 == 0) {\n        link_info._2_2_ = link_info._2_2_ & 0xdfff;\n        return 1;\n      }" if (parenthesized_expression "(iVar3 == 0)" ( (binary_expression "iVar3 == 0" identifier == number_literal) )) (compound_statement "{\n        link_info._2_2_ = link_info._2_2_ & 0xdfff;\n        return 1;\n      }" { (expression_statement "link_info._2_2_ = link_info._2_2_ & 0xdfff;" (assignment_expression "link_info._2_2_ = link_info._2_2_ & 0xdfff" (field_expression "link_info._2_2_" identifier . field_identifier) = (binary_expression "link_info._2_2_ & 0xdfff" (field_expression "link_info._2_2_" identifier . field_identifier) & number_literal)) ;) (return_statement "return 1;" return number_literal ;) })) (expression_statement "iVar3 = strcmp((char *)pbVar5,"common");" (assignment_expression "iVar3 = strcmp((char *)pbVar5,"common")" identifier = (call_expression "strcmp((char *)pbVar5,"common")" identifier (argument_list "((char *)pbVar5,"common")" ( (cast_expression "(char *)pbVar5" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) , (string_literal ""common"" " string_content ") )))) ;) (if_statement "if (iVar3 == 0) {\n        link_info._2_2_ = link_info._2_2_ & 0xfff9 | 2;\n        return 1;\n      }" if (parenthesized_expression "(iVar3 == 0)" ( (binary_expression "iVar3 == 0" identifier == number_literal) )) (compound_statement "{\n        link_info._2_2_ = link_info._2_2_ & 0xfff9 | 2;\n        return 1;\n      }" { (expression_statement "link_info._2_2_ = link_info._2_2_ & 0xfff9 | 2;" (assignment_expression "link_info._2_2_ = link_info._2_2_ & 0xfff9 | 2" (field_expression "link_info._2_2_" identifier . field_identifier) = (binary_expression "link_info._2_2_ & 0xfff9 | 2" (binary_expression "link_info._2_2_ & 0xfff9" (field_expression "link_info._2_2_" identifier . field_identifier) & number_literal) | number_literal)) ;) (return_statement "return 1;" return number_literal ;) })) (expression_statement "iVar3 = strcmp((char *)pbVar5,"nocommon");" (assignment_expression "iVar3 = strcmp((char *)pbVar5,"nocommon")" identifier = (call_expression "strcmp((char *)pbVar5,"nocommon")" identifier (argument_list "((char *)pbVar5,"nocommon")" ( (cast_expression "(char *)pbVar5" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) , (string_literal ""nocommon"" " string_content ") )))) ;) (if_statement "if (iVar3 == 0) {\n        link_info._2_2_ = link_info._2_2_ & 0xfff9 | 4;\n        return 1;\n      }" if (parenthesized_expression "(iVar3 == 0)" ( (binary_expression "iVar3 == 0" identifier == number_literal) )) (compound_statement "{\n        link_info._2_2_ = link_info._2_2_ & 0xfff9 | 4;\n        return 1;\n      }" { (expression_statement "link_info._2_2_ = link_info._2_2_ & 0xfff9 | 4;" (assignment_expression "link_info._2_2_ = link_info._2_2_ & 0xfff9 | 4" (field_expression "link_info._2_2_" identifier . field_identifier) = (binary_expression "link_info._2_2_ & 0xfff9 | 4" (binary_expression "link_info._2_2_ & 0xfff9" (field_expression "link_info._2_2_" identifier . field_identifier) & number_literal) | number_literal)) ;) (return_statement "return 1;" return number_literal ;) })) (expression_statement "iVar3 = strcmp((char *)pbVar5,"text");" (assignment_expression "iVar3 = strcmp((char *)pbVar5,"text")" identifier = (call_expression "strcmp((char *)pbVar5,"text")" identifier (argument_list "((char *)pbVar5,"text")" ( (cast_expression "(char *)pbVar5" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) , (string_literal ""text"" " string_content ") )))) ;) (if_statement "if (iVar3 == 0) {\n        link_info._4_4_ = link_info._4_4_ | 2;\n        return 1;\n      }" if (parenthesized_expression "(iVar3 == 0)" ( (binary_expression "iVar3 == 0" identifier == number_literal) )) (compound_statement "{\n        link_info._4_4_ = link_info._4_4_ | 2;\n        return 1;\n      }" { (expression_statement "link_info._4_4_ = link_info._4_4_ | 2;" (assignment_expression "link_info._4_4_ = link_info._4_4_ | 2" (field_expression "link_info._4_4_" identifier . field_identifier) = (binary_expression "link_info._4_4_ | 2" (field_expression "link_info._4_4_" identifier . field_identifier) | number_literal)) ;) (return_statement "return 1;" return number_literal ;) })) (expression_statement "iVar3 = strcmp((char *)pbVar5,"notext");" (assignment_expression "iVar3 = strcmp((char *)pbVar5,"notext")" identifier = (call_expression "strcmp((char *)pbVar5,"notext")" identifier (argument_list "((char *)pbVar5,"notext")" ( (cast_expression "(char *)pbVar5" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) , (string_literal ""notext"" " string_content ") )))) ;) (if_statement "if ((iVar3 == 0) || (iVar3 = strcmp((char *)pbVar5,"textoff"), iVar3 == 0)) {\n        link_info._4_4_ = link_info._4_4_ & 0xfffffffd;\n        return 1;\n      }" if (parenthesized_expression "((iVar3 == 0) || (iVar3 = strcmp((char *)pbVar5,"textoff"), iVar3 == 0))" ( (binary_expression "(iVar3 == 0) || (iVar3 = strcmp((char *)pbVar5,"textoff"), iVar3 == 0)" (parenthesized_expression "(iVar3 == 0)" ( (binary_expression "iVar3 == 0" identifier == number_literal) )) || (parenthesized_expression "(iVar3 = strcmp((char *)pbVar5,"textoff"), iVar3 == 0)" ( (comma_expression "iVar3 = strcmp((char *)pbVar5,"textoff"), iVar3 == 0" (assignment_expression "iVar3 = strcmp((char *)pbVar5,"textoff")" identifier = (call_expression "strcmp((char *)pbVar5,"textoff")" identifier (argument_list "((char *)pbVar5,"textoff")" ( (cast_expression "(char *)pbVar5" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) , (string_literal ""textoff"" " string_content ") )))) , (binary_expression "iVar3 == 0" identifier == number_literal)) ))) )) (compound_statement "{\n        link_info._4_4_ = link_info._4_4_ & 0xfffffffd;\n        return 1;\n      }" { (expression_statement "link_info._4_4_ = link_info._4_4_ & 0xfffffffd;" (assignment_expression "link_info._4_4_ = link_info._4_4_ & 0xfffffffd" (field_expression "link_info._4_4_" identifier . field_identifier) = (binary_expression "link_info._4_4_ & 0xfffffffd" (field_expression "link_info._4_4_" identifier . field_identifier) & number_literal)) ;) (return_statement "return 1;" return number_literal ;) })) (expression_statement "pcVar4 = "%P: warning: -z %s ignored\n";" (assignment_expression "pcVar4 = "%P: warning: -z %s ignored\n"" identifier = (string_literal ""%P: warning: -z %s ignored\n"" " string_content escape_sequence ")) ;) (goto_statement "goto LAB_0003606a;" goto statement_identifier ;) })) (expression_statement "config.commonpagesize = strtoul((char *)(pbVar5 + 0x11),&end,0);" (assignment_expression "config.commonpagesize = strtoul((char *)(pbVar5 + 0x11),&end,0)" (field_expression "config.commonpagesize" identifier . field_identifier) = (call_expression "strtoul((char *)(pbVar5 + 0x11),&end,0)" identifier (argument_list "((char *)(pbVar5 + 0x11),&end,0)" ( (cast_expression "(char *)(pbVar5 + 0x11)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pbVar5 + 0x11)" ( (binary_expression "pbVar5 + 0x11" identifier + number_literal) ))) , (pointer_expression "&end" & identifier) , number_literal )))) ;) (if_statement "if ((*end == '\0') && ((config.commonpagesize - 1 & config.commonpagesize) == 0)) {\n      return 1;\n    }" if (parenthesized_expression "((*end == '\0') && ((config.commonpagesize - 1 & config.commonpagesize) == 0))" ( (binary_expression "(*end == '\0') && ((config.commonpagesize - 1 & config.commonpagesize) == 0)" (parenthesized_expression "(*end == '\0')" ( (binary_expression "*end == '\0'" (pointer_expression "*end" * identifier) == (char_literal "'\0'" ' escape_sequence ')) )) && (parenthesized_expression "((config.commonpagesize - 1 & config.commonpagesize) == 0)" ( (binary_expression "(config.commonpagesize - 1 & config.commonpagesize) == 0" (parenthesized_expression "(config.commonpagesize - 1 & config.commonpagesize)" ( (binary_expression "config.commonpagesize - 1 & config.commonpagesize" (binary_expression "config.commonpagesize - 1" (field_expression "config.commonpagesize" identifier . field_identifier) - number_literal) & (field_expression "config.commonpagesize" identifier . field_identifier)) )) == number_literal) ))) )) (compound_statement "{\n      return 1;\n    }" { (return_statement "return 1;" return number_literal ;) })) (expression_statement "pcVar4 = "%F%P: invalid common page size `%s\'\n";" (assignment_expression "pcVar4 = "%F%P: invalid common page size `%s\'\n"" identifier = (string_literal ""%F%P: invalid common page size `%s\'\n"" " string_content escape_sequence escape_sequence ")) ;) (expression_statement "__s1 = (char *)(*(int *)puVar1 + 0x11);" (assignment_expression "__s1 = (char *)(*(int *)puVar1 + 0x11)" identifier = (cast_expression "(char *)(*(int *)puVar1 + 0x11)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)puVar1 + 0x11)" ( (binary_expression "*(int *)puVar1 + 0x11" (pointer_expression "*(int *)puVar1" * (cast_expression "(int *)puVar1" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) + number_literal) )))) ;) }))) (labeled_statement "LAB_00035f83:\n  pcVar4 = (char *)dcgettext(0,pcVar4,5);" statement_identifier : (expression_statement "pcVar4 = (char *)dcgettext(0,pcVar4,5);" (assignment_expression "pcVar4 = (char *)dcgettext(0,pcVar4,5)" identifier = (cast_expression "(char *)dcgettext(0,pcVar4,5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,pcVar4,5)" identifier (argument_list "(0,pcVar4,5)" ( number_literal , identifier , number_literal ))))) ;)) (expression_statement "einfo(pcVar4,__s1);" (call_expression "einfo(pcVar4,__s1)" identifier (argument_list "(pcVar4,__s1)" ( identifier , identifier ))) ;) (return_statement "return 1;" return number_literal ;) })))
(translation_unit "undefined4 FUN_00035ac0(uint param_1)\n\n{\n  undefined *puVar1;\n  undefined1 uVar2;\n  int iVar3;\n  undefined4 uVar4;\n  char *pcVar5;\n  byte *pbVar6;\n  char *__s1;\n  byte *pbVar7;\n  byte *pbVar8;\n  bool bVar9;\n  bool bVar10;\n  bool bVar11;\n  byte bVar12;\n  char *local_20 [3];\n  undefined4 uStack_14;\n  \n  puVar1 = PTR_optarg_0008bff4;\n  bVar12 = 0;\n  uStack_14 = 0x35ac9;\n  if (param_1 == 0x193) {\n    DAT_0008cc00._2_2_ = DAT_0008cc00._2_2_ & 0x3fff | 0x4000;\n    return 1;\n  }\n  uVar2 = DAT_0008cc04;\n  if (0x193 < (int)param_1) {\n    if (param_1 != 0x196) {\n      if ((int)param_1 < 0x197) {\n        if (param_1 == 0x194) {\n          DAT_0008cc00._2_2_ = DAT_0008cc00._2_2_ & 0x3fff;\n          return 1;\n        }\n        if (param_1 != 0x195) {\n          return 0;\n        }\n        FUN_00024120(*(undefined4 *)PTR_optarg_0008bff4);\n        return 1;\n      }\n      if (param_1 == 0x198) {\n        FUN_000359c0();\n        return 1;\n      }\n      if ((int)param_1 < 0x198) {\n        if (DAT_0008ca2c != (void *)0x0) {\n          free(DAT_0008ca2c);\n          DAT_0008ca2c = (void *)0x0;\n        }\n        pbVar6 = *(byte **)PTR_optarg_0008bff4;\n        bVar9 = false;\n        bVar11 = pbVar6 == (byte *)0x0;\n        if (bVar11) {\n          pbVar6 = &DAT_0004f1e8;\n          *(undefined1 **)PTR_optarg_0008bff4 = &DAT_0004f1e8;\n        }\n        else {\n          iVar3 = 5;\n          pbVar7 = pbVar6;\n          pbVar8 = (byte *)0x4ab38;\n          do {\n            if (iVar3 == 0) break;\n            iVar3 = iVar3 + -1;\n            bVar9 = *pbVar7 < *pbVar8;\n            bVar11 = *pbVar7 == *pbVar8;\n            pbVar7 = pbVar7 + (uint)bVar12 * -2 + 1;\n            pbVar8 = pbVar8 + (uint)bVar12 * -2 + 1;\n          } while (bVar11);\n          if ((!bVar9 && !bVar11) == bVar9) {\n            return 1;\n          }\n        }\n        DAT_0008ca2c = (void *)xstrdup(pbVar6);\n        return 1;\n      }\n      if (param_1 != 0x199) {\n        return 0;\n      }\n      __s1 = *(char **)PTR_optarg_0008bff4;\n      iVar3 = strcasecmp(__s1,"none");\n      if (iVar3 == 0) {\n        DAT_0008cc0c = 0;\n        return 1;\n      }\n      iVar3 = strcasecmp(__s1,"zlib");\n      if (iVar3 != 0) {\n        iVar3 = strcasecmp(__s1,"zlib-gnu");\n        if (iVar3 == 0) {\n          DAT_0008cc0c = 3;\n          return 1;\n        }\n        iVar3 = strcasecmp(__s1,"zlib-gabi");\n        if (iVar3 != 0) {\n          pcVar5 = "%F%P: invalid --compress-debug-sections option: `%s\'\n";\n          goto LAB_00035f83;\n        }\n      }\n      DAT_0008cc0c = 5;\n      return 1;\n    }\n    pbVar6 = *(byte **)PTR_optarg_0008bff4;\n    iVar3 = 5;\n    bVar9 = false;\n    bVar11 = (_DAT_0008cc04 & 0xf3) == 0;\n    _DAT_0008cc04 = _DAT_0008cc04 & 0xfffffff3;\n    pbVar7 = pbVar6;\n    pbVar8 = &DAT_0007ac19;\n    do {\n      if (iVar3 == 0) break;\n      iVar3 = iVar3 + -1;\n      bVar9 = *pbVar7 < *pbVar8;\n      bVar11 = *pbVar7 == *pbVar8;\n      pbVar7 = pbVar7 + 1;\n      pbVar8 = pbVar8 + 1;\n    } while (bVar11);\n    bVar10 = false;\n    bVar9 = (!bVar9 && !bVar11) == bVar9;\n    if (bVar9) {\n      _DAT_0008cc04 = CONCAT31(_DAT_0008cc05,uVar2) & 0xfffffff3 | 4;\n      return 1;\n    }\n    iVar3 = 4;\n    pbVar7 = pbVar6;\n    pbVar8 = &DAT_0007ac0b;\n    do {\n      if (iVar3 == 0) break;\n      iVar3 = iVar3 + -1;\n      bVar10 = *pbVar7 < *pbVar8;\n      bVar9 = *pbVar7 == *pbVar8;\n      pbVar7 = pbVar7 + 1;\n      pbVar8 = pbVar8 + 1;\n    } while (bVar9);\n    bVar11 = false;\n    bVar9 = (!bVar10 && !bVar9) == bVar10;\n    if (bVar9) {\n      _DAT_0008cc04 = CONCAT31(_DAT_0008cc05,uVar2) & 0xfffffff3 | 8;\n      return 1;\n    }\n    iVar3 = 5;\n    pbVar7 = pbVar6;\n    pbVar8 = &DAT_0007ac1e;\n    do {\n      if (iVar3 == 0) break;\n      iVar3 = iVar3 + -1;\n      bVar11 = *pbVar7 < *pbVar8;\n      bVar9 = *pbVar7 == *pbVar8;\n      pbVar7 = pbVar7 + 1;\n      pbVar8 = pbVar8 + 1;\n    } while (bVar9);\n    if ((!bVar11 && !bVar9) == bVar11) {\n      _DAT_0008cc04 = CONCAT31(_DAT_0008cc05,uVar2) & 0xfffffff3 | 0xc;\n      return 1;\n    }\n    pcVar5 = "%F%P: invalid hash style `%s\'\n";\nLAB_0003606a:\n    uVar4 = dcgettext(0,pcVar5,5);\n    FUN_00031700(uVar4,pbVar6);\n    return 1;\n  }\n  bVar9 = param_1 < 0x12d;\n  bVar11 = param_1 == 0x12d;\n  if (bVar11) {\n    iVar3 = 7;\n    pbVar6 = *(byte **)PTR_optarg_0008bff4;\n    pbVar7 = pbVar6;\n    pbVar8 = (byte *)"target";\n    do {\n      if (iVar3 == 0) break;\n      iVar3 = iVar3 + -1;\n      bVar9 = *pbVar7 < *pbVar8;\n      bVar11 = *pbVar7 == *pbVar8;\n      pbVar7 = pbVar7 + 1;\n      pbVar8 = pbVar8 + 1;\n    } while (bVar11);\n    bVar10 = false;\n    bVar9 = (!bVar9 && !bVar11) == bVar9;\n    if (!bVar9) {\n      iVar3 = 7;\n      pbVar7 = pbVar6;\n      pbVar8 = (byte *)"single";\n      do {\n        if (iVar3 == 0) break;\n        iVar3 = iVar3 + -1;\n        bVar10 = *pbVar7 < *pbVar8;\n        bVar9 = *pbVar7 == *pbVar8;\n        pbVar7 = pbVar7 + 1;\n        pbVar8 = pbVar8 + 1;\n      } while (bVar9);\n      bVar11 = false;\n      bVar9 = (!bVar10 && !bVar9) == bVar10;\n      if (!bVar9) {\n        iVar3 = 9;\n        pbVar7 = pbVar6;\n        pbVar8 = (byte *)"negative";\n        do {\n          if (iVar3 == 0) break;\n          iVar3 = iVar3 + -1;\n          bVar11 = *pbVar7 < *pbVar8;\n          bVar9 = *pbVar7 == *pbVar8;\n          pbVar7 = pbVar7 + 1;\n          pbVar8 = pbVar8 + 1;\n        } while (bVar9);\n        bVar10 = false;\n        bVar9 = (!bVar11 && !bVar9) == bVar11;\n        if (bVar9) {\n          DAT_0008cac4 = 1;\n          return 1;\n        }\n        iVar3 = 9;\n        pbVar7 = pbVar6;\n        pbVar8 = (byte *)"multigot";\n        do {\n          if (iVar3 == 0) break;\n          iVar3 = iVar3 + -1;\n          bVar10 = *pbVar7 < *pbVar8;\n          bVar9 = *pbVar7 == *pbVar8;\n          pbVar7 = pbVar7 + 1;\n          pbVar8 = pbVar8 + 1;\n        } while (bVar9);\n        if ((!bVar10 && !bVar9) == bVar10) {\n          DAT_0008cac4 = 2;\n          return 1;\n        }\n        pcVar5 = "%P: unrecognized --got argument \'%s\'\n";\n        goto LAB_0003606a;\n      }\n    }\n    DAT_0008cac4 = 0;\n    return 1;\n  }\n  if (0x12d < (int)param_1) {\n    if (param_1 == 0x191) {\n      _DAT_0008cc04 = _DAT_0008cc04 | 0x100;\n      return 1;\n    }\n    if (0x191 < (int)param_1) {\n      DAT_0008cc00._2_2_ = DAT_0008cc00._2_2_ | 0x1e0;\n      DAT_0008cc74 = DAT_0008cc74 | 4;\n      return 1;\n    }\n    if (param_1 != 400) {\n      return 0;\n    }\n    _DAT_0008cc04 = _DAT_0008cc04 & 0xfffffeff;\n    return 1;\n  }\n  if (param_1 == 0x50) {\n    FUN_000359c0();\n    return 1;\n  }\n  bVar9 = param_1 < 0x7a;\n  bVar11 = param_1 == 0x7a;\n  if (!bVar11) {\n    return 0;\n  }\n  iVar3 = 5;\n  pbVar6 = *(byte **)PTR_optarg_0008bff4;\n  pbVar7 = pbVar6;\n  pbVar8 = (byte *)0x4acc7;\n  do {\n    if (iVar3 == 0) break;\n    iVar3 = iVar3 + -1;\n    bVar9 = *pbVar7 < *pbVar8;\n    bVar11 = *pbVar7 == *pbVar8;\n    pbVar7 = pbVar7 + 1;\n    pbVar8 = pbVar8 + 1;\n  } while (bVar11);\n  bVar10 = false;\n  bVar9 = (!bVar9 && !bVar11) == bVar9;\n  if (bVar9) {\n    DAT_0008cc00._2_2_ = DAT_0008cc00._2_2_ | 0x60;\n    return 1;\n  }\n  iVar3 = 7;\n  pbVar7 = pbVar6;\n  pbVar8 = (byte *)"undefs";\n  do {\n    if (iVar3 == 0) break;\n    iVar3 = iVar3 + -1;\n    bVar10 = *pbVar7 < *pbVar8;\n    bVar9 = *pbVar7 == *pbVar8;\n    pbVar7 = pbVar7 + 1;\n    pbVar8 = pbVar8 + 1;\n  } while (bVar9);\n  bVar11 = false;\n  bVar9 = (!bVar10 && !bVar9) == bVar10;\n  if (bVar9) {\n    DAT_0008cc00._2_2_ = DAT_0008cc00._2_2_ & 0xff9f | 0x20;\n    return 1;\n  }\n  iVar3 = 8;\n  pbVar7 = pbVar6;\n  pbVar8 = (byte *)"muldefs";\n  do {\n    if (iVar3 == 0) break;\n    iVar3 = iVar3 + -1;\n    bVar11 = *pbVar7 < *pbVar8;\n    bVar9 = *pbVar7 == *pbVar8;\n    pbVar7 = pbVar7 + 1;\n    pbVar8 = pbVar8 + 1;\n  } while (bVar9);\n  bVar10 = false;\n  bVar9 = (!bVar11 && !bVar9) == bVar11;\n  if (bVar9) {\n    _DAT_0008cc04 = _DAT_0008cc04 | 0x800;\n    return 1;\n  }\n  iVar3 = 0xe;\n  pbVar7 = pbVar6;\n  pbVar8 = (byte *)"max-page-size=";\n  do {\n    if (iVar3 == 0) break;\n    iVar3 = iVar3 + -1;\n    bVar10 = *pbVar7 < *pbVar8;\n    bVar9 = *pbVar7 == *pbVar8;\n    pbVar7 = pbVar7 + 1;\n    pbVar8 = pbVar8 + 1;\n  } while (bVar9);\n  bVar11 = false;\n  bVar9 = (!bVar10 && !bVar9) == bVar10;\n  if (bVar9) {\n    DAT_0008cd60 = strtoul((char *)(pbVar6 + 0xe),local_20,0);\n    if ((*local_20[0] == '\0') && ((DAT_0008cd60 - 1 & DAT_0008cd60) == 0)) {\n      return 1;\n    }\n    pcVar5 = "%F%P: invalid maximum page size `%s\'\n";\n    __s1 = (char *)(*(int *)puVar1 + 0xe);\n  }\n  else {\n    iVar3 = 0x11;\n    pbVar7 = pbVar6;\n    pbVar8 = (byte *)"common-page-size=";\n    do {\n      if (iVar3 == 0) break;\n      iVar3 = iVar3 + -1;\n      bVar11 = *pbVar7 < *pbVar8;\n      bVar9 = *pbVar7 == *pbVar8;\n      pbVar7 = pbVar7 + 1;\n      pbVar8 = pbVar8 + 1;\n    } while (bVar9);\n    bVar10 = false;\n    bVar9 = (!bVar11 && !bVar9) == bVar11;\n    if (!bVar9) {\n      iVar3 = 0xb;\n      pbVar7 = pbVar6;\n      pbVar8 = (byte *)"stack-size=";\n      do {\n        if (iVar3 == 0) break;\n        iVar3 = iVar3 + -1;\n        bVar10 = *pbVar7 < *pbVar8;\n        bVar9 = *pbVar7 == *pbVar8;\n        pbVar7 = pbVar7 + 1;\n        pbVar8 = pbVar8 + 1;\n      } while (bVar9);\n      bVar11 = false;\n      bVar9 = (!bVar10 && !bVar9) == bVar10;\n      if (bVar9) {\n        DAT_0008cc10 = strtoul((char *)(pbVar6 + 0xb),local_20,0);\n        if ((*local_20[0] != '\0') || ((int)DAT_0008cc10 < 0)) {\n          iVar3 = *(int *)puVar1;\n          uVar4 = dcgettext(0,"%F%P: invalid stack size `%s\'\n",5,DAT_0008cc10);\n          FUN_00031700(uVar4,iVar3 + 0xb);\n        }\n        if (DAT_0008cc10 == 0) {\n          DAT_0008cc10 = 0xffffffff;\n          return 1;\n        }\n        return 1;\n      }\n      iVar3 = 10;\n      pbVar7 = pbVar6;\n      pbVar8 = (byte *)0x7ac61;\n      do {\n        if (iVar3 == 0) break;\n        iVar3 = iVar3 + -1;\n        bVar11 = *pbVar7 < *pbVar8;\n        bVar9 = *pbVar7 == *pbVar8;\n        pbVar7 = pbVar7 + 1;\n        pbVar8 = pbVar8 + 1;\n      } while (bVar9);\n      bVar10 = false;\n      bVar9 = (!bVar11 && !bVar9) == bVar11;\n      if (bVar9) {\n        _DAT_0008cc04 = _DAT_0008cc04 & 0xfffe7fff | 0x8000;\n        return 1;\n      }\n      iVar3 = 0xc;\n      pbVar7 = pbVar6;\n      pbVar8 = (byte *)"noexecstack";\n      do {\n        if (iVar3 == 0) break;\n        iVar3 = iVar3 + -1;\n        bVar10 = *pbVar7 < *pbVar8;\n        bVar9 = *pbVar7 == *pbVar8;\n        pbVar7 = pbVar7 + 1;\n        pbVar8 = pbVar8 + 1;\n      } while (bVar9);\n      if ((!bVar10 && !bVar9) == bVar10) {\n        _DAT_0008cc04 = _DAT_0008cc04 & 0xfffe7fff | 0x10000;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar6,"globalaudit");\n      if (iVar3 == 0) {\n        DAT_0008cc74 = DAT_0008cc74 | 0x1000000;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar6,"global");\n      if (iVar3 == 0) {\n        DAT_0008cc74 = DAT_0008cc74 | 2;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar6,"initfirst");\n      if (iVar3 == 0) {\n        DAT_0008cc74 = DAT_0008cc74 | 0x20;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar6,"interpose");\n      if (iVar3 == 0) {\n        DAT_0008cc74 = DAT_0008cc74 | 0x400;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar6,"loadfltr");\n      if (iVar3 == 0) {\n        DAT_0008cc74 = DAT_0008cc74 | 0x10;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar6,"nodefaultlib");\n      if (iVar3 == 0) {\n        DAT_0008cc74 = DAT_0008cc74 | 0x800;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar6,"nodelete");\n      if (iVar3 == 0) {\n        DAT_0008cc74 = DAT_0008cc74 | 8;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar6,"nodlopen");\n      if (iVar3 == 0) {\n        DAT_0008cc74 = DAT_0008cc74 | 0x40;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar6,"nodump");\n      if (iVar3 == 0) {\n        DAT_0008cc74 = DAT_0008cc74 | 0x1000;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar6,"now");\n      if (iVar3 == 0) {\n        _DAT_0008cc70 = _DAT_0008cc70 | 8;\n        DAT_0008cc74 = DAT_0008cc74 | 1;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar6,"lazy");\n      if (iVar3 == 0) {\n        _DAT_0008cc70 = _DAT_0008cc70 & 0xfffffff7;\n        DAT_0008cc74 = DAT_0008cc74 & 0xfffffffe;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar6,"origin");\n      if (iVar3 == 0) {\n        _DAT_0008cc70 = _DAT_0008cc70 | 1;\n        DAT_0008cc74 = DAT_0008cc74 | 0x80;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar6,"combreloc");\n      if (iVar3 == 0) {\n        _DAT_0008cc04 = _DAT_0008cc04 | 0x40;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar6,"nocombreloc");\n      if (iVar3 == 0) {\n        _DAT_0008cc04 = _DAT_0008cc04 & 0xffffffbf;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar6,"nocopyreloc");\n      if (iVar3 == 0) {\n        DAT_0008cc00._0_1_ = (byte)DAT_0008cc00 | 8;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar6,"relro");\n      if (iVar3 == 0) {\n        DAT_0008cc00._2_2_ = DAT_0008cc00._2_2_ | 0x1000;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar6,"norelro");\n      if (iVar3 == 0) {\n        DAT_0008cc00._2_2_ = DAT_0008cc00._2_2_ & 0xefff;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar6,"separate-code");\n      if (iVar3 == 0) {\n        DAT_0008cc00._2_2_ = DAT_0008cc00._2_2_ | 0x2000;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar6,"noseparate-code");\n      if (iVar3 == 0) {\n        DAT_0008cc00._2_2_ = DAT_0008cc00._2_2_ & 0xdfff;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar6,"common");\n      if (iVar3 == 0) {\n        DAT_0008cc00._2_2_ = DAT_0008cc00._2_2_ & 0xfff9 | 2;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar6,"nocommon");\n      if (iVar3 == 0) {\n        DAT_0008cc00._2_2_ = DAT_0008cc00._2_2_ & 0xfff9 | 4;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar6,"text");\n      if (iVar3 == 0) {\n        _DAT_0008cc04 = _DAT_0008cc04 | 2;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar6,"notext");\n      if ((iVar3 == 0) || (iVar3 = strcmp((char *)pbVar6,"textoff"), iVar3 == 0)) {\n        _DAT_0008cc04 = _DAT_0008cc04 & 0xfffffffd;\n        return 1;\n      }\n      pcVar5 = "%P: warning: -z %s ignored\n";\n      goto LAB_0003606a;\n    }\n    DAT_0008cd64 = strtoul((char *)(pbVar6 + 0x11),local_20,0);\n    if ((*local_20[0] == '\0') && ((DAT_0008cd64 - 1 & DAT_0008cd64) == 0)) {\n      return 1;\n    }\n    pcVar5 = "%F%P: invalid common page size `%s\'\n";\n    __s1 = (char *)(*(int *)puVar1 + 0x11);\n  }\nLAB_00035f83:\n  uVar4 = dcgettext(0,pcVar5,5);\n  FUN_00031700(uVar4,__s1);\n  return 1;\n}\n\n" (function_definition "undefined4 FUN_00035ac0(uint param_1)\n\n{\n  undefined *puVar1;\n  undefined1 uVar2;\n  int iVar3;\n  undefined4 uVar4;\n  char *pcVar5;\n  byte *pbVar6;\n  char *__s1;\n  byte *pbVar7;\n  byte *pbVar8;\n  bool bVar9;\n  bool bVar10;\n  bool bVar11;\n  byte bVar12;\n  char *local_20 [3];\n  undefined4 uStack_14;\n  \n  puVar1 = PTR_optarg_0008bff4;\n  bVar12 = 0;\n  uStack_14 = 0x35ac9;\n  if (param_1 == 0x193) {\n    DAT_0008cc00._2_2_ = DAT_0008cc00._2_2_ & 0x3fff | 0x4000;\n    return 1;\n  }\n  uVar2 = DAT_0008cc04;\n  if (0x193 < (int)param_1) {\n    if (param_1 != 0x196) {\n      if ((int)param_1 < 0x197) {\n        if (param_1 == 0x194) {\n          DAT_0008cc00._2_2_ = DAT_0008cc00._2_2_ & 0x3fff;\n          return 1;\n        }\n        if (param_1 != 0x195) {\n          return 0;\n        }\n        FUN_00024120(*(undefined4 *)PTR_optarg_0008bff4);\n        return 1;\n      }\n      if (param_1 == 0x198) {\n        FUN_000359c0();\n        return 1;\n      }\n      if ((int)param_1 < 0x198) {\n        if (DAT_0008ca2c != (void *)0x0) {\n          free(DAT_0008ca2c);\n          DAT_0008ca2c = (void *)0x0;\n        }\n        pbVar6 = *(byte **)PTR_optarg_0008bff4;\n        bVar9 = false;\n        bVar11 = pbVar6 == (byte *)0x0;\n        if (bVar11) {\n          pbVar6 = &DAT_0004f1e8;\n          *(undefined1 **)PTR_optarg_0008bff4 = &DAT_0004f1e8;\n        }\n        else {\n          iVar3 = 5;\n          pbVar7 = pbVar6;\n          pbVar8 = (byte *)0x4ab38;\n          do {\n            if (iVar3 == 0) break;\n            iVar3 = iVar3 + -1;\n            bVar9 = *pbVar7 < *pbVar8;\n            bVar11 = *pbVar7 == *pbVar8;\n            pbVar7 = pbVar7 + (uint)bVar12 * -2 + 1;\n            pbVar8 = pbVar8 + (uint)bVar12 * -2 + 1;\n          } while (bVar11);\n          if ((!bVar9 && !bVar11) == bVar9) {\n            return 1;\n          }\n        }\n        DAT_0008ca2c = (void *)xstrdup(pbVar6);\n        return 1;\n      }\n      if (param_1 != 0x199) {\n        return 0;\n      }\n      __s1 = *(char **)PTR_optarg_0008bff4;\n      iVar3 = strcasecmp(__s1,"none");\n      if (iVar3 == 0) {\n        DAT_0008cc0c = 0;\n        return 1;\n      }\n      iVar3 = strcasecmp(__s1,"zlib");\n      if (iVar3 != 0) {\n        iVar3 = strcasecmp(__s1,"zlib-gnu");\n        if (iVar3 == 0) {\n          DAT_0008cc0c = 3;\n          return 1;\n        }\n        iVar3 = strcasecmp(__s1,"zlib-gabi");\n        if (iVar3 != 0) {\n          pcVar5 = "%F%P: invalid --compress-debug-sections option: `%s\'\n";\n          goto LAB_00035f83;\n        }\n      }\n      DAT_0008cc0c = 5;\n      return 1;\n    }\n    pbVar6 = *(byte **)PTR_optarg_0008bff4;\n    iVar3 = 5;\n    bVar9 = false;\n    bVar11 = (_DAT_0008cc04 & 0xf3) == 0;\n    _DAT_0008cc04 = _DAT_0008cc04 & 0xfffffff3;\n    pbVar7 = pbVar6;\n    pbVar8 = &DAT_0007ac19;\n    do {\n      if (iVar3 == 0) break;\n      iVar3 = iVar3 + -1;\n      bVar9 = *pbVar7 < *pbVar8;\n      bVar11 = *pbVar7 == *pbVar8;\n      pbVar7 = pbVar7 + 1;\n      pbVar8 = pbVar8 + 1;\n    } while (bVar11);\n    bVar10 = false;\n    bVar9 = (!bVar9 && !bVar11) == bVar9;\n    if (bVar9) {\n      _DAT_0008cc04 = CONCAT31(_DAT_0008cc05,uVar2) & 0xfffffff3 | 4;\n      return 1;\n    }\n    iVar3 = 4;\n    pbVar7 = pbVar6;\n    pbVar8 = &DAT_0007ac0b;\n    do {\n      if (iVar3 == 0) break;\n      iVar3 = iVar3 + -1;\n      bVar10 = *pbVar7 < *pbVar8;\n      bVar9 = *pbVar7 == *pbVar8;\n      pbVar7 = pbVar7 + 1;\n      pbVar8 = pbVar8 + 1;\n    } while (bVar9);\n    bVar11 = false;\n    bVar9 = (!bVar10 && !bVar9) == bVar10;\n    if (bVar9) {\n      _DAT_0008cc04 = CONCAT31(_DAT_0008cc05,uVar2) & 0xfffffff3 | 8;\n      return 1;\n    }\n    iVar3 = 5;\n    pbVar7 = pbVar6;\n    pbVar8 = &DAT_0007ac1e;\n    do {\n      if (iVar3 == 0) break;\n      iVar3 = iVar3 + -1;\n      bVar11 = *pbVar7 < *pbVar8;\n      bVar9 = *pbVar7 == *pbVar8;\n      pbVar7 = pbVar7 + 1;\n      pbVar8 = pbVar8 + 1;\n    } while (bVar9);\n    if ((!bVar11 && !bVar9) == bVar11) {\n      _DAT_0008cc04 = CONCAT31(_DAT_0008cc05,uVar2) & 0xfffffff3 | 0xc;\n      return 1;\n    }\n    pcVar5 = "%F%P: invalid hash style `%s\'\n";\nLAB_0003606a:\n    uVar4 = dcgettext(0,pcVar5,5);\n    FUN_00031700(uVar4,pbVar6);\n    return 1;\n  }\n  bVar9 = param_1 < 0x12d;\n  bVar11 = param_1 == 0x12d;\n  if (bVar11) {\n    iVar3 = 7;\n    pbVar6 = *(byte **)PTR_optarg_0008bff4;\n    pbVar7 = pbVar6;\n    pbVar8 = (byte *)"target";\n    do {\n      if (iVar3 == 0) break;\n      iVar3 = iVar3 + -1;\n      bVar9 = *pbVar7 < *pbVar8;\n      bVar11 = *pbVar7 == *pbVar8;\n      pbVar7 = pbVar7 + 1;\n      pbVar8 = pbVar8 + 1;\n    } while (bVar11);\n    bVar10 = false;\n    bVar9 = (!bVar9 && !bVar11) == bVar9;\n    if (!bVar9) {\n      iVar3 = 7;\n      pbVar7 = pbVar6;\n      pbVar8 = (byte *)"single";\n      do {\n        if (iVar3 == 0) break;\n        iVar3 = iVar3 + -1;\n        bVar10 = *pbVar7 < *pbVar8;\n        bVar9 = *pbVar7 == *pbVar8;\n        pbVar7 = pbVar7 + 1;\n        pbVar8 = pbVar8 + 1;\n      } while (bVar9);\n      bVar11 = false;\n      bVar9 = (!bVar10 && !bVar9) == bVar10;\n      if (!bVar9) {\n        iVar3 = 9;\n        pbVar7 = pbVar6;\n        pbVar8 = (byte *)"negative";\n        do {\n          if (iVar3 == 0) break;\n          iVar3 = iVar3 + -1;\n          bVar11 = *pbVar7 < *pbVar8;\n          bVar9 = *pbVar7 == *pbVar8;\n          pbVar7 = pbVar7 + 1;\n          pbVar8 = pbVar8 + 1;\n        } while (bVar9);\n        bVar10 = false;\n        bVar9 = (!bVar11 && !bVar9) == bVar11;\n        if (bVar9) {\n          DAT_0008cac4 = 1;\n          return 1;\n        }\n        iVar3 = 9;\n        pbVar7 = pbVar6;\n        pbVar8 = (byte *)"multigot";\n        do {\n          if (iVar3 == 0) break;\n          iVar3 = iVar3 + -1;\n          bVar10 = *pbVar7 < *pbVar8;\n          bVar9 = *pbVar7 == *pbVar8;\n          pbVar7 = pbVar7 + 1;\n          pbVar8 = pbVar8 + 1;\n        } while (bVar9);\n        if ((!bVar10 && !bVar9) == bVar10) {\n          DAT_0008cac4 = 2;\n          return 1;\n        }\n        pcVar5 = "%P: unrecognized --got argument \'%s\'\n";\n        goto LAB_0003606a;\n      }\n    }\n    DAT_0008cac4 = 0;\n    return 1;\n  }\n  if (0x12d < (int)param_1) {\n    if (param_1 == 0x191) {\n      _DAT_0008cc04 = _DAT_0008cc04 | 0x100;\n      return 1;\n    }\n    if (0x191 < (int)param_1) {\n      DAT_0008cc00._2_2_ = DAT_0008cc00._2_2_ | 0x1e0;\n      DAT_0008cc74 = DAT_0008cc74 | 4;\n      return 1;\n    }\n    if (param_1 != 400) {\n      return 0;\n    }\n    _DAT_0008cc04 = _DAT_0008cc04 & 0xfffffeff;\n    return 1;\n  }\n  if (param_1 == 0x50) {\n    FUN_000359c0();\n    return 1;\n  }\n  bVar9 = param_1 < 0x7a;\n  bVar11 = param_1 == 0x7a;\n  if (!bVar11) {\n    return 0;\n  }\n  iVar3 = 5;\n  pbVar6 = *(byte **)PTR_optarg_0008bff4;\n  pbVar7 = pbVar6;\n  pbVar8 = (byte *)0x4acc7;\n  do {\n    if (iVar3 == 0) break;\n    iVar3 = iVar3 + -1;\n    bVar9 = *pbVar7 < *pbVar8;\n    bVar11 = *pbVar7 == *pbVar8;\n    pbVar7 = pbVar7 + 1;\n    pbVar8 = pbVar8 + 1;\n  } while (bVar11);\n  bVar10 = false;\n  bVar9 = (!bVar9 && !bVar11) == bVar9;\n  if (bVar9) {\n    DAT_0008cc00._2_2_ = DAT_0008cc00._2_2_ | 0x60;\n    return 1;\n  }\n  iVar3 = 7;\n  pbVar7 = pbVar6;\n  pbVar8 = (byte *)"undefs";\n  do {\n    if (iVar3 == 0) break;\n    iVar3 = iVar3 + -1;\n    bVar10 = *pbVar7 < *pbVar8;\n    bVar9 = *pbVar7 == *pbVar8;\n    pbVar7 = pbVar7 + 1;\n    pbVar8 = pbVar8 + 1;\n  } while (bVar9);\n  bVar11 = false;\n  bVar9 = (!bVar10 && !bVar9) == bVar10;\n  if (bVar9) {\n    DAT_0008cc00._2_2_ = DAT_0008cc00._2_2_ & 0xff9f | 0x20;\n    return 1;\n  }\n  iVar3 = 8;\n  pbVar7 = pbVar6;\n  pbVar8 = (byte *)"muldefs";\n  do {\n    if (iVar3 == 0) break;\n    iVar3 = iVar3 + -1;\n    bVar11 = *pbVar7 < *pbVar8;\n    bVar9 = *pbVar7 == *pbVar8;\n    pbVar7 = pbVar7 + 1;\n    pbVar8 = pbVar8 + 1;\n  } while (bVar9);\n  bVar10 = false;\n  bVar9 = (!bVar11 && !bVar9) == bVar11;\n  if (bVar9) {\n    _DAT_0008cc04 = _DAT_0008cc04 | 0x800;\n    return 1;\n  }\n  iVar3 = 0xe;\n  pbVar7 = pbVar6;\n  pbVar8 = (byte *)"max-page-size=";\n  do {\n    if (iVar3 == 0) break;\n    iVar3 = iVar3 + -1;\n    bVar10 = *pbVar7 < *pbVar8;\n    bVar9 = *pbVar7 == *pbVar8;\n    pbVar7 = pbVar7 + 1;\n    pbVar8 = pbVar8 + 1;\n  } while (bVar9);\n  bVar11 = false;\n  bVar9 = (!bVar10 && !bVar9) == bVar10;\n  if (bVar9) {\n    DAT_0008cd60 = strtoul((char *)(pbVar6 + 0xe),local_20,0);\n    if ((*local_20[0] == '\0') && ((DAT_0008cd60 - 1 & DAT_0008cd60) == 0)) {\n      return 1;\n    }\n    pcVar5 = "%F%P: invalid maximum page size `%s\'\n";\n    __s1 = (char *)(*(int *)puVar1 + 0xe);\n  }\n  else {\n    iVar3 = 0x11;\n    pbVar7 = pbVar6;\n    pbVar8 = (byte *)"common-page-size=";\n    do {\n      if (iVar3 == 0) break;\n      iVar3 = iVar3 + -1;\n      bVar11 = *pbVar7 < *pbVar8;\n      bVar9 = *pbVar7 == *pbVar8;\n      pbVar7 = pbVar7 + 1;\n      pbVar8 = pbVar8 + 1;\n    } while (bVar9);\n    bVar10 = false;\n    bVar9 = (!bVar11 && !bVar9) == bVar11;\n    if (!bVar9) {\n      iVar3 = 0xb;\n      pbVar7 = pbVar6;\n      pbVar8 = (byte *)"stack-size=";\n      do {\n        if (iVar3 == 0) break;\n        iVar3 = iVar3 + -1;\n        bVar10 = *pbVar7 < *pbVar8;\n        bVar9 = *pbVar7 == *pbVar8;\n        pbVar7 = pbVar7 + 1;\n        pbVar8 = pbVar8 + 1;\n      } while (bVar9);\n      bVar11 = false;\n      bVar9 = (!bVar10 && !bVar9) == bVar10;\n      if (bVar9) {\n        DAT_0008cc10 = strtoul((char *)(pbVar6 + 0xb),local_20,0);\n        if ((*local_20[0] != '\0') || ((int)DAT_0008cc10 < 0)) {\n          iVar3 = *(int *)puVar1;\n          uVar4 = dcgettext(0,"%F%P: invalid stack size `%s\'\n",5,DAT_0008cc10);\n          FUN_00031700(uVar4,iVar3 + 0xb);\n        }\n        if (DAT_0008cc10 == 0) {\n          DAT_0008cc10 = 0xffffffff;\n          return 1;\n        }\n        return 1;\n      }\n      iVar3 = 10;\n      pbVar7 = pbVar6;\n      pbVar8 = (byte *)0x7ac61;\n      do {\n        if (iVar3 == 0) break;\n        iVar3 = iVar3 + -1;\n        bVar11 = *pbVar7 < *pbVar8;\n        bVar9 = *pbVar7 == *pbVar8;\n        pbVar7 = pbVar7 + 1;\n        pbVar8 = pbVar8 + 1;\n      } while (bVar9);\n      bVar10 = false;\n      bVar9 = (!bVar11 && !bVar9) == bVar11;\n      if (bVar9) {\n        _DAT_0008cc04 = _DAT_0008cc04 & 0xfffe7fff | 0x8000;\n        return 1;\n      }\n      iVar3 = 0xc;\n      pbVar7 = pbVar6;\n      pbVar8 = (byte *)"noexecstack";\n      do {\n        if (iVar3 == 0) break;\n        iVar3 = iVar3 + -1;\n        bVar10 = *pbVar7 < *pbVar8;\n        bVar9 = *pbVar7 == *pbVar8;\n        pbVar7 = pbVar7 + 1;\n        pbVar8 = pbVar8 + 1;\n      } while (bVar9);\n      if ((!bVar10 && !bVar9) == bVar10) {\n        _DAT_0008cc04 = _DAT_0008cc04 & 0xfffe7fff | 0x10000;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar6,"globalaudit");\n      if (iVar3 == 0) {\n        DAT_0008cc74 = DAT_0008cc74 | 0x1000000;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar6,"global");\n      if (iVar3 == 0) {\n        DAT_0008cc74 = DAT_0008cc74 | 2;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar6,"initfirst");\n      if (iVar3 == 0) {\n        DAT_0008cc74 = DAT_0008cc74 | 0x20;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar6,"interpose");\n      if (iVar3 == 0) {\n        DAT_0008cc74 = DAT_0008cc74 | 0x400;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar6,"loadfltr");\n      if (iVar3 == 0) {\n        DAT_0008cc74 = DAT_0008cc74 | 0x10;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar6,"nodefaultlib");\n      if (iVar3 == 0) {\n        DAT_0008cc74 = DAT_0008cc74 | 0x800;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar6,"nodelete");\n      if (iVar3 == 0) {\n        DAT_0008cc74 = DAT_0008cc74 | 8;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar6,"nodlopen");\n      if (iVar3 == 0) {\n        DAT_0008cc74 = DAT_0008cc74 | 0x40;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar6,"nodump");\n      if (iVar3 == 0) {\n        DAT_0008cc74 = DAT_0008cc74 | 0x1000;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar6,"now");\n      if (iVar3 == 0) {\n        _DAT_0008cc70 = _DAT_0008cc70 | 8;\n        DAT_0008cc74 = DAT_0008cc74 | 1;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar6,"lazy");\n      if (iVar3 == 0) {\n        _DAT_0008cc70 = _DAT_0008cc70 & 0xfffffff7;\n        DAT_0008cc74 = DAT_0008cc74 & 0xfffffffe;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar6,"origin");\n      if (iVar3 == 0) {\n        _DAT_0008cc70 = _DAT_0008cc70 | 1;\n        DAT_0008cc74 = DAT_0008cc74 | 0x80;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar6,"combreloc");\n      if (iVar3 == 0) {\n        _DAT_0008cc04 = _DAT_0008cc04 | 0x40;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar6,"nocombreloc");\n      if (iVar3 == 0) {\n        _DAT_0008cc04 = _DAT_0008cc04 & 0xffffffbf;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar6,"nocopyreloc");\n      if (iVar3 == 0) {\n        DAT_0008cc00._0_1_ = (byte)DAT_0008cc00 | 8;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar6,"relro");\n      if (iVar3 == 0) {\n        DAT_0008cc00._2_2_ = DAT_0008cc00._2_2_ | 0x1000;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar6,"norelro");\n      if (iVar3 == 0) {\n        DAT_0008cc00._2_2_ = DAT_0008cc00._2_2_ & 0xefff;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar6,"separate-code");\n      if (iVar3 == 0) {\n        DAT_0008cc00._2_2_ = DAT_0008cc00._2_2_ | 0x2000;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar6,"noseparate-code");\n      if (iVar3 == 0) {\n        DAT_0008cc00._2_2_ = DAT_0008cc00._2_2_ & 0xdfff;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar6,"common");\n      if (iVar3 == 0) {\n        DAT_0008cc00._2_2_ = DAT_0008cc00._2_2_ & 0xfff9 | 2;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar6,"nocommon");\n      if (iVar3 == 0) {\n        DAT_0008cc00._2_2_ = DAT_0008cc00._2_2_ & 0xfff9 | 4;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar6,"text");\n      if (iVar3 == 0) {\n        _DAT_0008cc04 = _DAT_0008cc04 | 2;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar6,"notext");\n      if ((iVar3 == 0) || (iVar3 = strcmp((char *)pbVar6,"textoff"), iVar3 == 0)) {\n        _DAT_0008cc04 = _DAT_0008cc04 & 0xfffffffd;\n        return 1;\n      }\n      pcVar5 = "%P: warning: -z %s ignored\n";\n      goto LAB_0003606a;\n    }\n    DAT_0008cd64 = strtoul((char *)(pbVar6 + 0x11),local_20,0);\n    if ((*local_20[0] == '\0') && ((DAT_0008cd64 - 1 & DAT_0008cd64) == 0)) {\n      return 1;\n    }\n    pcVar5 = "%F%P: invalid common page size `%s\'\n";\n    __s1 = (char *)(*(int *)puVar1 + 0x11);\n  }\nLAB_00035f83:\n  uVar4 = dcgettext(0,pcVar5,5);\n  FUN_00031700(uVar4,__s1);\n  return 1;\n}" type_identifier (function_declarator "FUN_00035ac0(uint param_1)" identifier (parameter_list "(uint param_1)" ( (parameter_declaration "uint param_1" type_identifier identifier) ))) (compound_statement "{\n  undefined *puVar1;\n  undefined1 uVar2;\n  int iVar3;\n  undefined4 uVar4;\n  char *pcVar5;\n  byte *pbVar6;\n  char *__s1;\n  byte *pbVar7;\n  byte *pbVar8;\n  bool bVar9;\n  bool bVar10;\n  bool bVar11;\n  byte bVar12;\n  char *local_20 [3];\n  undefined4 uStack_14;\n  \n  puVar1 = PTR_optarg_0008bff4;\n  bVar12 = 0;\n  uStack_14 = 0x35ac9;\n  if (param_1 == 0x193) {\n    DAT_0008cc00._2_2_ = DAT_0008cc00._2_2_ & 0x3fff | 0x4000;\n    return 1;\n  }\n  uVar2 = DAT_0008cc04;\n  if (0x193 < (int)param_1) {\n    if (param_1 != 0x196) {\n      if ((int)param_1 < 0x197) {\n        if (param_1 == 0x194) {\n          DAT_0008cc00._2_2_ = DAT_0008cc00._2_2_ & 0x3fff;\n          return 1;\n        }\n        if (param_1 != 0x195) {\n          return 0;\n        }\n        FUN_00024120(*(undefined4 *)PTR_optarg_0008bff4);\n        return 1;\n      }\n      if (param_1 == 0x198) {\n        FUN_000359c0();\n        return 1;\n      }\n      if ((int)param_1 < 0x198) {\n        if (DAT_0008ca2c != (void *)0x0) {\n          free(DAT_0008ca2c);\n          DAT_0008ca2c = (void *)0x0;\n        }\n        pbVar6 = *(byte **)PTR_optarg_0008bff4;\n        bVar9 = false;\n        bVar11 = pbVar6 == (byte *)0x0;\n        if (bVar11) {\n          pbVar6 = &DAT_0004f1e8;\n          *(undefined1 **)PTR_optarg_0008bff4 = &DAT_0004f1e8;\n        }\n        else {\n          iVar3 = 5;\n          pbVar7 = pbVar6;\n          pbVar8 = (byte *)0x4ab38;\n          do {\n            if (iVar3 == 0) break;\n            iVar3 = iVar3 + -1;\n            bVar9 = *pbVar7 < *pbVar8;\n            bVar11 = *pbVar7 == *pbVar8;\n            pbVar7 = pbVar7 + (uint)bVar12 * -2 + 1;\n            pbVar8 = pbVar8 + (uint)bVar12 * -2 + 1;\n          } while (bVar11);\n          if ((!bVar9 && !bVar11) == bVar9) {\n            return 1;\n          }\n        }\n        DAT_0008ca2c = (void *)xstrdup(pbVar6);\n        return 1;\n      }\n      if (param_1 != 0x199) {\n        return 0;\n      }\n      __s1 = *(char **)PTR_optarg_0008bff4;\n      iVar3 = strcasecmp(__s1,"none");\n      if (iVar3 == 0) {\n        DAT_0008cc0c = 0;\n        return 1;\n      }\n      iVar3 = strcasecmp(__s1,"zlib");\n      if (iVar3 != 0) {\n        iVar3 = strcasecmp(__s1,"zlib-gnu");\n        if (iVar3 == 0) {\n          DAT_0008cc0c = 3;\n          return 1;\n        }\n        iVar3 = strcasecmp(__s1,"zlib-gabi");\n        if (iVar3 != 0) {\n          pcVar5 = "%F%P: invalid --compress-debug-sections option: `%s\'\n";\n          goto LAB_00035f83;\n        }\n      }\n      DAT_0008cc0c = 5;\n      return 1;\n    }\n    pbVar6 = *(byte **)PTR_optarg_0008bff4;\n    iVar3 = 5;\n    bVar9 = false;\n    bVar11 = (_DAT_0008cc04 & 0xf3) == 0;\n    _DAT_0008cc04 = _DAT_0008cc04 & 0xfffffff3;\n    pbVar7 = pbVar6;\n    pbVar8 = &DAT_0007ac19;\n    do {\n      if (iVar3 == 0) break;\n      iVar3 = iVar3 + -1;\n      bVar9 = *pbVar7 < *pbVar8;\n      bVar11 = *pbVar7 == *pbVar8;\n      pbVar7 = pbVar7 + 1;\n      pbVar8 = pbVar8 + 1;\n    } while (bVar11);\n    bVar10 = false;\n    bVar9 = (!bVar9 && !bVar11) == bVar9;\n    if (bVar9) {\n      _DAT_0008cc04 = CONCAT31(_DAT_0008cc05,uVar2) & 0xfffffff3 | 4;\n      return 1;\n    }\n    iVar3 = 4;\n    pbVar7 = pbVar6;\n    pbVar8 = &DAT_0007ac0b;\n    do {\n      if (iVar3 == 0) break;\n      iVar3 = iVar3 + -1;\n      bVar10 = *pbVar7 < *pbVar8;\n      bVar9 = *pbVar7 == *pbVar8;\n      pbVar7 = pbVar7 + 1;\n      pbVar8 = pbVar8 + 1;\n    } while (bVar9);\n    bVar11 = false;\n    bVar9 = (!bVar10 && !bVar9) == bVar10;\n    if (bVar9) {\n      _DAT_0008cc04 = CONCAT31(_DAT_0008cc05,uVar2) & 0xfffffff3 | 8;\n      return 1;\n    }\n    iVar3 = 5;\n    pbVar7 = pbVar6;\n    pbVar8 = &DAT_0007ac1e;\n    do {\n      if (iVar3 == 0) break;\n      iVar3 = iVar3 + -1;\n      bVar11 = *pbVar7 < *pbVar8;\n      bVar9 = *pbVar7 == *pbVar8;\n      pbVar7 = pbVar7 + 1;\n      pbVar8 = pbVar8 + 1;\n    } while (bVar9);\n    if ((!bVar11 && !bVar9) == bVar11) {\n      _DAT_0008cc04 = CONCAT31(_DAT_0008cc05,uVar2) & 0xfffffff3 | 0xc;\n      return 1;\n    }\n    pcVar5 = "%F%P: invalid hash style `%s\'\n";\nLAB_0003606a:\n    uVar4 = dcgettext(0,pcVar5,5);\n    FUN_00031700(uVar4,pbVar6);\n    return 1;\n  }\n  bVar9 = param_1 < 0x12d;\n  bVar11 = param_1 == 0x12d;\n  if (bVar11) {\n    iVar3 = 7;\n    pbVar6 = *(byte **)PTR_optarg_0008bff4;\n    pbVar7 = pbVar6;\n    pbVar8 = (byte *)"target";\n    do {\n      if (iVar3 == 0) break;\n      iVar3 = iVar3 + -1;\n      bVar9 = *pbVar7 < *pbVar8;\n      bVar11 = *pbVar7 == *pbVar8;\n      pbVar7 = pbVar7 + 1;\n      pbVar8 = pbVar8 + 1;\n    } while (bVar11);\n    bVar10 = false;\n    bVar9 = (!bVar9 && !bVar11) == bVar9;\n    if (!bVar9) {\n      iVar3 = 7;\n      pbVar7 = pbVar6;\n      pbVar8 = (byte *)"single";\n      do {\n        if (iVar3 == 0) break;\n        iVar3 = iVar3 + -1;\n        bVar10 = *pbVar7 < *pbVar8;\n        bVar9 = *pbVar7 == *pbVar8;\n        pbVar7 = pbVar7 + 1;\n        pbVar8 = pbVar8 + 1;\n      } while (bVar9);\n      bVar11 = false;\n      bVar9 = (!bVar10 && !bVar9) == bVar10;\n      if (!bVar9) {\n        iVar3 = 9;\n        pbVar7 = pbVar6;\n        pbVar8 = (byte *)"negative";\n        do {\n          if (iVar3 == 0) break;\n          iVar3 = iVar3 + -1;\n          bVar11 = *pbVar7 < *pbVar8;\n          bVar9 = *pbVar7 == *pbVar8;\n          pbVar7 = pbVar7 + 1;\n          pbVar8 = pbVar8 + 1;\n        } while (bVar9);\n        bVar10 = false;\n        bVar9 = (!bVar11 && !bVar9) == bVar11;\n        if (bVar9) {\n          DAT_0008cac4 = 1;\n          return 1;\n        }\n        iVar3 = 9;\n        pbVar7 = pbVar6;\n        pbVar8 = (byte *)"multigot";\n        do {\n          if (iVar3 == 0) break;\n          iVar3 = iVar3 + -1;\n          bVar10 = *pbVar7 < *pbVar8;\n          bVar9 = *pbVar7 == *pbVar8;\n          pbVar7 = pbVar7 + 1;\n          pbVar8 = pbVar8 + 1;\n        } while (bVar9);\n        if ((!bVar10 && !bVar9) == bVar10) {\n          DAT_0008cac4 = 2;\n          return 1;\n        }\n        pcVar5 = "%P: unrecognized --got argument \'%s\'\n";\n        goto LAB_0003606a;\n      }\n    }\n    DAT_0008cac4 = 0;\n    return 1;\n  }\n  if (0x12d < (int)param_1) {\n    if (param_1 == 0x191) {\n      _DAT_0008cc04 = _DAT_0008cc04 | 0x100;\n      return 1;\n    }\n    if (0x191 < (int)param_1) {\n      DAT_0008cc00._2_2_ = DAT_0008cc00._2_2_ | 0x1e0;\n      DAT_0008cc74 = DAT_0008cc74 | 4;\n      return 1;\n    }\n    if (param_1 != 400) {\n      return 0;\n    }\n    _DAT_0008cc04 = _DAT_0008cc04 & 0xfffffeff;\n    return 1;\n  }\n  if (param_1 == 0x50) {\n    FUN_000359c0();\n    return 1;\n  }\n  bVar9 = param_1 < 0x7a;\n  bVar11 = param_1 == 0x7a;\n  if (!bVar11) {\n    return 0;\n  }\n  iVar3 = 5;\n  pbVar6 = *(byte **)PTR_optarg_0008bff4;\n  pbVar7 = pbVar6;\n  pbVar8 = (byte *)0x4acc7;\n  do {\n    if (iVar3 == 0) break;\n    iVar3 = iVar3 + -1;\n    bVar9 = *pbVar7 < *pbVar8;\n    bVar11 = *pbVar7 == *pbVar8;\n    pbVar7 = pbVar7 + 1;\n    pbVar8 = pbVar8 + 1;\n  } while (bVar11);\n  bVar10 = false;\n  bVar9 = (!bVar9 && !bVar11) == bVar9;\n  if (bVar9) {\n    DAT_0008cc00._2_2_ = DAT_0008cc00._2_2_ | 0x60;\n    return 1;\n  }\n  iVar3 = 7;\n  pbVar7 = pbVar6;\n  pbVar8 = (byte *)"undefs";\n  do {\n    if (iVar3 == 0) break;\n    iVar3 = iVar3 + -1;\n    bVar10 = *pbVar7 < *pbVar8;\n    bVar9 = *pbVar7 == *pbVar8;\n    pbVar7 = pbVar7 + 1;\n    pbVar8 = pbVar8 + 1;\n  } while (bVar9);\n  bVar11 = false;\n  bVar9 = (!bVar10 && !bVar9) == bVar10;\n  if (bVar9) {\n    DAT_0008cc00._2_2_ = DAT_0008cc00._2_2_ & 0xff9f | 0x20;\n    return 1;\n  }\n  iVar3 = 8;\n  pbVar7 = pbVar6;\n  pbVar8 = (byte *)"muldefs";\n  do {\n    if (iVar3 == 0) break;\n    iVar3 = iVar3 + -1;\n    bVar11 = *pbVar7 < *pbVar8;\n    bVar9 = *pbVar7 == *pbVar8;\n    pbVar7 = pbVar7 + 1;\n    pbVar8 = pbVar8 + 1;\n  } while (bVar9);\n  bVar10 = false;\n  bVar9 = (!bVar11 && !bVar9) == bVar11;\n  if (bVar9) {\n    _DAT_0008cc04 = _DAT_0008cc04 | 0x800;\n    return 1;\n  }\n  iVar3 = 0xe;\n  pbVar7 = pbVar6;\n  pbVar8 = (byte *)"max-page-size=";\n  do {\n    if (iVar3 == 0) break;\n    iVar3 = iVar3 + -1;\n    bVar10 = *pbVar7 < *pbVar8;\n    bVar9 = *pbVar7 == *pbVar8;\n    pbVar7 = pbVar7 + 1;\n    pbVar8 = pbVar8 + 1;\n  } while (bVar9);\n  bVar11 = false;\n  bVar9 = (!bVar10 && !bVar9) == bVar10;\n  if (bVar9) {\n    DAT_0008cd60 = strtoul((char *)(pbVar6 + 0xe),local_20,0);\n    if ((*local_20[0] == '\0') && ((DAT_0008cd60 - 1 & DAT_0008cd60) == 0)) {\n      return 1;\n    }\n    pcVar5 = "%F%P: invalid maximum page size `%s\'\n";\n    __s1 = (char *)(*(int *)puVar1 + 0xe);\n  }\n  else {\n    iVar3 = 0x11;\n    pbVar7 = pbVar6;\n    pbVar8 = (byte *)"common-page-size=";\n    do {\n      if (iVar3 == 0) break;\n      iVar3 = iVar3 + -1;\n      bVar11 = *pbVar7 < *pbVar8;\n      bVar9 = *pbVar7 == *pbVar8;\n      pbVar7 = pbVar7 + 1;\n      pbVar8 = pbVar8 + 1;\n    } while (bVar9);\n    bVar10 = false;\n    bVar9 = (!bVar11 && !bVar9) == bVar11;\n    if (!bVar9) {\n      iVar3 = 0xb;\n      pbVar7 = pbVar6;\n      pbVar8 = (byte *)"stack-size=";\n      do {\n        if (iVar3 == 0) break;\n        iVar3 = iVar3 + -1;\n        bVar10 = *pbVar7 < *pbVar8;\n        bVar9 = *pbVar7 == *pbVar8;\n        pbVar7 = pbVar7 + 1;\n        pbVar8 = pbVar8 + 1;\n      } while (bVar9);\n      bVar11 = false;\n      bVar9 = (!bVar10 && !bVar9) == bVar10;\n      if (bVar9) {\n        DAT_0008cc10 = strtoul((char *)(pbVar6 + 0xb),local_20,0);\n        if ((*local_20[0] != '\0') || ((int)DAT_0008cc10 < 0)) {\n          iVar3 = *(int *)puVar1;\n          uVar4 = dcgettext(0,"%F%P: invalid stack size `%s\'\n",5,DAT_0008cc10);\n          FUN_00031700(uVar4,iVar3 + 0xb);\n        }\n        if (DAT_0008cc10 == 0) {\n          DAT_0008cc10 = 0xffffffff;\n          return 1;\n        }\n        return 1;\n      }\n      iVar3 = 10;\n      pbVar7 = pbVar6;\n      pbVar8 = (byte *)0x7ac61;\n      do {\n        if (iVar3 == 0) break;\n        iVar3 = iVar3 + -1;\n        bVar11 = *pbVar7 < *pbVar8;\n        bVar9 = *pbVar7 == *pbVar8;\n        pbVar7 = pbVar7 + 1;\n        pbVar8 = pbVar8 + 1;\n      } while (bVar9);\n      bVar10 = false;\n      bVar9 = (!bVar11 && !bVar9) == bVar11;\n      if (bVar9) {\n        _DAT_0008cc04 = _DAT_0008cc04 & 0xfffe7fff | 0x8000;\n        return 1;\n      }\n      iVar3 = 0xc;\n      pbVar7 = pbVar6;\n      pbVar8 = (byte *)"noexecstack";\n      do {\n        if (iVar3 == 0) break;\n        iVar3 = iVar3 + -1;\n        bVar10 = *pbVar7 < *pbVar8;\n        bVar9 = *pbVar7 == *pbVar8;\n        pbVar7 = pbVar7 + 1;\n        pbVar8 = pbVar8 + 1;\n      } while (bVar9);\n      if ((!bVar10 && !bVar9) == bVar10) {\n        _DAT_0008cc04 = _DAT_0008cc04 & 0xfffe7fff | 0x10000;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar6,"globalaudit");\n      if (iVar3 == 0) {\n        DAT_0008cc74 = DAT_0008cc74 | 0x1000000;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar6,"global");\n      if (iVar3 == 0) {\n        DAT_0008cc74 = DAT_0008cc74 | 2;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar6,"initfirst");\n      if (iVar3 == 0) {\n        DAT_0008cc74 = DAT_0008cc74 | 0x20;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar6,"interpose");\n      if (iVar3 == 0) {\n        DAT_0008cc74 = DAT_0008cc74 | 0x400;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar6,"loadfltr");\n      if (iVar3 == 0) {\n        DAT_0008cc74 = DAT_0008cc74 | 0x10;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar6,"nodefaultlib");\n      if (iVar3 == 0) {\n        DAT_0008cc74 = DAT_0008cc74 | 0x800;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar6,"nodelete");\n      if (iVar3 == 0) {\n        DAT_0008cc74 = DAT_0008cc74 | 8;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar6,"nodlopen");\n      if (iVar3 == 0) {\n        DAT_0008cc74 = DAT_0008cc74 | 0x40;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar6,"nodump");\n      if (iVar3 == 0) {\n        DAT_0008cc74 = DAT_0008cc74 | 0x1000;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar6,"now");\n      if (iVar3 == 0) {\n        _DAT_0008cc70 = _DAT_0008cc70 | 8;\n        DAT_0008cc74 = DAT_0008cc74 | 1;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar6,"lazy");\n      if (iVar3 == 0) {\n        _DAT_0008cc70 = _DAT_0008cc70 & 0xfffffff7;\n        DAT_0008cc74 = DAT_0008cc74 & 0xfffffffe;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar6,"origin");\n      if (iVar3 == 0) {\n        _DAT_0008cc70 = _DAT_0008cc70 | 1;\n        DAT_0008cc74 = DAT_0008cc74 | 0x80;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar6,"combreloc");\n      if (iVar3 == 0) {\n        _DAT_0008cc04 = _DAT_0008cc04 | 0x40;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar6,"nocombreloc");\n      if (iVar3 == 0) {\n        _DAT_0008cc04 = _DAT_0008cc04 & 0xffffffbf;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar6,"nocopyreloc");\n      if (iVar3 == 0) {\n        DAT_0008cc00._0_1_ = (byte)DAT_0008cc00 | 8;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar6,"relro");\n      if (iVar3 == 0) {\n        DAT_0008cc00._2_2_ = DAT_0008cc00._2_2_ | 0x1000;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar6,"norelro");\n      if (iVar3 == 0) {\n        DAT_0008cc00._2_2_ = DAT_0008cc00._2_2_ & 0xefff;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar6,"separate-code");\n      if (iVar3 == 0) {\n        DAT_0008cc00._2_2_ = DAT_0008cc00._2_2_ | 0x2000;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar6,"noseparate-code");\n      if (iVar3 == 0) {\n        DAT_0008cc00._2_2_ = DAT_0008cc00._2_2_ & 0xdfff;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar6,"common");\n      if (iVar3 == 0) {\n        DAT_0008cc00._2_2_ = DAT_0008cc00._2_2_ & 0xfff9 | 2;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar6,"nocommon");\n      if (iVar3 == 0) {\n        DAT_0008cc00._2_2_ = DAT_0008cc00._2_2_ & 0xfff9 | 4;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar6,"text");\n      if (iVar3 == 0) {\n        _DAT_0008cc04 = _DAT_0008cc04 | 2;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar6,"notext");\n      if ((iVar3 == 0) || (iVar3 = strcmp((char *)pbVar6,"textoff"), iVar3 == 0)) {\n        _DAT_0008cc04 = _DAT_0008cc04 & 0xfffffffd;\n        return 1;\n      }\n      pcVar5 = "%P: warning: -z %s ignored\n";\n      goto LAB_0003606a;\n    }\n    DAT_0008cd64 = strtoul((char *)(pbVar6 + 0x11),local_20,0);\n    if ((*local_20[0] == '\0') && ((DAT_0008cd64 - 1 & DAT_0008cd64) == 0)) {\n      return 1;\n    }\n    pcVar5 = "%F%P: invalid common page size `%s\'\n";\n    __s1 = (char *)(*(int *)puVar1 + 0x11);\n  }\nLAB_00035f83:\n  uVar4 = dcgettext(0,pcVar5,5);\n  FUN_00031700(uVar4,__s1);\n  return 1;\n}" { (declaration "undefined *puVar1;" type_identifier (pointer_declarator "*puVar1" * identifier) ;) (declaration "undefined1 uVar2;" type_identifier identifier ;) (declaration "int iVar3;" primitive_type identifier ;) (declaration "undefined4 uVar4;" type_identifier identifier ;) (declaration "char *pcVar5;" primitive_type (pointer_declarator "*pcVar5" * identifier) ;) (declaration "byte *pbVar6;" type_identifier (pointer_declarator "*pbVar6" * identifier) ;) (declaration "char *__s1;" primitive_type (pointer_declarator "*__s1" * identifier) ;) (declaration "byte *pbVar7;" type_identifier (pointer_declarator "*pbVar7" * identifier) ;) (declaration "byte *pbVar8;" type_identifier (pointer_declarator "*pbVar8" * identifier) ;) (declaration "bool bVar9;" primitive_type identifier ;) (declaration "bool bVar10;" primitive_type identifier ;) (declaration "bool bVar11;" primitive_type identifier ;) (declaration "byte bVar12;" type_identifier identifier ;) (declaration "char *local_20 [3];" primitive_type (pointer_declarator "*local_20 [3]" * (array_declarator "local_20 [3]" identifier [ number_literal ])) ;) (declaration "undefined4 uStack_14;" type_identifier identifier ;) (expression_statement "puVar1 = PTR_optarg_0008bff4;" (assignment_expression "puVar1 = PTR_optarg_0008bff4" identifier = identifier) ;) (expression_statement "bVar12 = 0;" (assignment_expression "bVar12 = 0" identifier = number_literal) ;) (expression_statement "uStack_14 = 0x35ac9;" (assignment_expression "uStack_14 = 0x35ac9" identifier = number_literal) ;) (if_statement "if (param_1 == 0x193) {\n    DAT_0008cc00._2_2_ = DAT_0008cc00._2_2_ & 0x3fff | 0x4000;\n    return 1;\n  }" if (parenthesized_expression "(param_1 == 0x193)" ( (binary_expression "param_1 == 0x193" identifier == number_literal) )) (compound_statement "{\n    DAT_0008cc00._2_2_ = DAT_0008cc00._2_2_ & 0x3fff | 0x4000;\n    return 1;\n  }" { (expression_statement "DAT_0008cc00._2_2_ = DAT_0008cc00._2_2_ & 0x3fff | 0x4000;" (assignment_expression "DAT_0008cc00._2_2_ = DAT_0008cc00._2_2_ & 0x3fff | 0x4000" (field_expression "DAT_0008cc00._2_2_" identifier . field_identifier) = (binary_expression "DAT_0008cc00._2_2_ & 0x3fff | 0x4000" (binary_expression "DAT_0008cc00._2_2_ & 0x3fff" (field_expression "DAT_0008cc00._2_2_" identifier . field_identifier) & number_literal) | number_literal)) ;) (return_statement "return 1;" return number_literal ;) })) (expression_statement "uVar2 = DAT_0008cc04;" (assignment_expression "uVar2 = DAT_0008cc04" identifier = identifier) ;) (if_statement "if (0x193 < (int)param_1) {\n    if (param_1 != 0x196) {\n      if ((int)param_1 < 0x197) {\n        if (param_1 == 0x194) {\n          DAT_0008cc00._2_2_ = DAT_0008cc00._2_2_ & 0x3fff;\n          return 1;\n        }\n        if (param_1 != 0x195) {\n          return 0;\n        }\n        FUN_00024120(*(undefined4 *)PTR_optarg_0008bff4);\n        return 1;\n      }\n      if (param_1 == 0x198) {\n        FUN_000359c0();\n        return 1;\n      }\n      if ((int)param_1 < 0x198) {\n        if (DAT_0008ca2c != (void *)0x0) {\n          free(DAT_0008ca2c);\n          DAT_0008ca2c = (void *)0x0;\n        }\n        pbVar6 = *(byte **)PTR_optarg_0008bff4;\n        bVar9 = false;\n        bVar11 = pbVar6 == (byte *)0x0;\n        if (bVar11) {\n          pbVar6 = &DAT_0004f1e8;\n          *(undefined1 **)PTR_optarg_0008bff4 = &DAT_0004f1e8;\n        }\n        else {\n          iVar3 = 5;\n          pbVar7 = pbVar6;\n          pbVar8 = (byte *)0x4ab38;\n          do {\n            if (iVar3 == 0) break;\n            iVar3 = iVar3 + -1;\n            bVar9 = *pbVar7 < *pbVar8;\n            bVar11 = *pbVar7 == *pbVar8;\n            pbVar7 = pbVar7 + (uint)bVar12 * -2 + 1;\n            pbVar8 = pbVar8 + (uint)bVar12 * -2 + 1;\n          } while (bVar11);\n          if ((!bVar9 && !bVar11) == bVar9) {\n            return 1;\n          }\n        }\n        DAT_0008ca2c = (void *)xstrdup(pbVar6);\n        return 1;\n      }\n      if (param_1 != 0x199) {\n        return 0;\n      }\n      __s1 = *(char **)PTR_optarg_0008bff4;\n      iVar3 = strcasecmp(__s1,"none");\n      if (iVar3 == 0) {\n        DAT_0008cc0c = 0;\n        return 1;\n      }\n      iVar3 = strcasecmp(__s1,"zlib");\n      if (iVar3 != 0) {\n        iVar3 = strcasecmp(__s1,"zlib-gnu");\n        if (iVar3 == 0) {\n          DAT_0008cc0c = 3;\n          return 1;\n        }\n        iVar3 = strcasecmp(__s1,"zlib-gabi");\n        if (iVar3 != 0) {\n          pcVar5 = "%F%P: invalid --compress-debug-sections option: `%s\'\n";\n          goto LAB_00035f83;\n        }\n      }\n      DAT_0008cc0c = 5;\n      return 1;\n    }\n    pbVar6 = *(byte **)PTR_optarg_0008bff4;\n    iVar3 = 5;\n    bVar9 = false;\n    bVar11 = (_DAT_0008cc04 & 0xf3) == 0;\n    _DAT_0008cc04 = _DAT_0008cc04 & 0xfffffff3;\n    pbVar7 = pbVar6;\n    pbVar8 = &DAT_0007ac19;\n    do {\n      if (iVar3 == 0) break;\n      iVar3 = iVar3 + -1;\n      bVar9 = *pbVar7 < *pbVar8;\n      bVar11 = *pbVar7 == *pbVar8;\n      pbVar7 = pbVar7 + 1;\n      pbVar8 = pbVar8 + 1;\n    } while (bVar11);\n    bVar10 = false;\n    bVar9 = (!bVar9 && !bVar11) == bVar9;\n    if (bVar9) {\n      _DAT_0008cc04 = CONCAT31(_DAT_0008cc05,uVar2) & 0xfffffff3 | 4;\n      return 1;\n    }\n    iVar3 = 4;\n    pbVar7 = pbVar6;\n    pbVar8 = &DAT_0007ac0b;\n    do {\n      if (iVar3 == 0) break;\n      iVar3 = iVar3 + -1;\n      bVar10 = *pbVar7 < *pbVar8;\n      bVar9 = *pbVar7 == *pbVar8;\n      pbVar7 = pbVar7 + 1;\n      pbVar8 = pbVar8 + 1;\n    } while (bVar9);\n    bVar11 = false;\n    bVar9 = (!bVar10 && !bVar9) == bVar10;\n    if (bVar9) {\n      _DAT_0008cc04 = CONCAT31(_DAT_0008cc05,uVar2) & 0xfffffff3 | 8;\n      return 1;\n    }\n    iVar3 = 5;\n    pbVar7 = pbVar6;\n    pbVar8 = &DAT_0007ac1e;\n    do {\n      if (iVar3 == 0) break;\n      iVar3 = iVar3 + -1;\n      bVar11 = *pbVar7 < *pbVar8;\n      bVar9 = *pbVar7 == *pbVar8;\n      pbVar7 = pbVar7 + 1;\n      pbVar8 = pbVar8 + 1;\n    } while (bVar9);\n    if ((!bVar11 && !bVar9) == bVar11) {\n      _DAT_0008cc04 = CONCAT31(_DAT_0008cc05,uVar2) & 0xfffffff3 | 0xc;\n      return 1;\n    }\n    pcVar5 = "%F%P: invalid hash style `%s\'\n";\nLAB_0003606a:\n    uVar4 = dcgettext(0,pcVar5,5);\n    FUN_00031700(uVar4,pbVar6);\n    return 1;\n  }" if (parenthesized_expression "(0x193 < (int)param_1)" ( (binary_expression "0x193 < (int)param_1" number_literal < (cast_expression "(int)param_1" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n    if (param_1 != 0x196) {\n      if ((int)param_1 < 0x197) {\n        if (param_1 == 0x194) {\n          DAT_0008cc00._2_2_ = DAT_0008cc00._2_2_ & 0x3fff;\n          return 1;\n        }\n        if (param_1 != 0x195) {\n          return 0;\n        }\n        FUN_00024120(*(undefined4 *)PTR_optarg_0008bff4);\n        return 1;\n      }\n      if (param_1 == 0x198) {\n        FUN_000359c0();\n        return 1;\n      }\n      if ((int)param_1 < 0x198) {\n        if (DAT_0008ca2c != (void *)0x0) {\n          free(DAT_0008ca2c);\n          DAT_0008ca2c = (void *)0x0;\n        }\n        pbVar6 = *(byte **)PTR_optarg_0008bff4;\n        bVar9 = false;\n        bVar11 = pbVar6 == (byte *)0x0;\n        if (bVar11) {\n          pbVar6 = &DAT_0004f1e8;\n          *(undefined1 **)PTR_optarg_0008bff4 = &DAT_0004f1e8;\n        }\n        else {\n          iVar3 = 5;\n          pbVar7 = pbVar6;\n          pbVar8 = (byte *)0x4ab38;\n          do {\n            if (iVar3 == 0) break;\n            iVar3 = iVar3 + -1;\n            bVar9 = *pbVar7 < *pbVar8;\n            bVar11 = *pbVar7 == *pbVar8;\n            pbVar7 = pbVar7 + (uint)bVar12 * -2 + 1;\n            pbVar8 = pbVar8 + (uint)bVar12 * -2 + 1;\n          } while (bVar11);\n          if ((!bVar9 && !bVar11) == bVar9) {\n            return 1;\n          }\n        }\n        DAT_0008ca2c = (void *)xstrdup(pbVar6);\n        return 1;\n      }\n      if (param_1 != 0x199) {\n        return 0;\n      }\n      __s1 = *(char **)PTR_optarg_0008bff4;\n      iVar3 = strcasecmp(__s1,"none");\n      if (iVar3 == 0) {\n        DAT_0008cc0c = 0;\n        return 1;\n      }\n      iVar3 = strcasecmp(__s1,"zlib");\n      if (iVar3 != 0) {\n        iVar3 = strcasecmp(__s1,"zlib-gnu");\n        if (iVar3 == 0) {\n          DAT_0008cc0c = 3;\n          return 1;\n        }\n        iVar3 = strcasecmp(__s1,"zlib-gabi");\n        if (iVar3 != 0) {\n          pcVar5 = "%F%P: invalid --compress-debug-sections option: `%s\'\n";\n          goto LAB_00035f83;\n        }\n      }\n      DAT_0008cc0c = 5;\n      return 1;\n    }\n    pbVar6 = *(byte **)PTR_optarg_0008bff4;\n    iVar3 = 5;\n    bVar9 = false;\n    bVar11 = (_DAT_0008cc04 & 0xf3) == 0;\n    _DAT_0008cc04 = _DAT_0008cc04 & 0xfffffff3;\n    pbVar7 = pbVar6;\n    pbVar8 = &DAT_0007ac19;\n    do {\n      if (iVar3 == 0) break;\n      iVar3 = iVar3 + -1;\n      bVar9 = *pbVar7 < *pbVar8;\n      bVar11 = *pbVar7 == *pbVar8;\n      pbVar7 = pbVar7 + 1;\n      pbVar8 = pbVar8 + 1;\n    } while (bVar11);\n    bVar10 = false;\n    bVar9 = (!bVar9 && !bVar11) == bVar9;\n    if (bVar9) {\n      _DAT_0008cc04 = CONCAT31(_DAT_0008cc05,uVar2) & 0xfffffff3 | 4;\n      return 1;\n    }\n    iVar3 = 4;\n    pbVar7 = pbVar6;\n    pbVar8 = &DAT_0007ac0b;\n    do {\n      if (iVar3 == 0) break;\n      iVar3 = iVar3 + -1;\n      bVar10 = *pbVar7 < *pbVar8;\n      bVar9 = *pbVar7 == *pbVar8;\n      pbVar7 = pbVar7 + 1;\n      pbVar8 = pbVar8 + 1;\n    } while (bVar9);\n    bVar11 = false;\n    bVar9 = (!bVar10 && !bVar9) == bVar10;\n    if (bVar9) {\n      _DAT_0008cc04 = CONCAT31(_DAT_0008cc05,uVar2) & 0xfffffff3 | 8;\n      return 1;\n    }\n    iVar3 = 5;\n    pbVar7 = pbVar6;\n    pbVar8 = &DAT_0007ac1e;\n    do {\n      if (iVar3 == 0) break;\n      iVar3 = iVar3 + -1;\n      bVar11 = *pbVar7 < *pbVar8;\n      bVar9 = *pbVar7 == *pbVar8;\n      pbVar7 = pbVar7 + 1;\n      pbVar8 = pbVar8 + 1;\n    } while (bVar9);\n    if ((!bVar11 && !bVar9) == bVar11) {\n      _DAT_0008cc04 = CONCAT31(_DAT_0008cc05,uVar2) & 0xfffffff3 | 0xc;\n      return 1;\n    }\n    pcVar5 = "%F%P: invalid hash style `%s\'\n";\nLAB_0003606a:\n    uVar4 = dcgettext(0,pcVar5,5);\n    FUN_00031700(uVar4,pbVar6);\n    return 1;\n  }" { (if_statement "if (param_1 != 0x196) {\n      if ((int)param_1 < 0x197) {\n        if (param_1 == 0x194) {\n          DAT_0008cc00._2_2_ = DAT_0008cc00._2_2_ & 0x3fff;\n          return 1;\n        }\n        if (param_1 != 0x195) {\n          return 0;\n        }\n        FUN_00024120(*(undefined4 *)PTR_optarg_0008bff4);\n        return 1;\n      }\n      if (param_1 == 0x198) {\n        FUN_000359c0();\n        return 1;\n      }\n      if ((int)param_1 < 0x198) {\n        if (DAT_0008ca2c != (void *)0x0) {\n          free(DAT_0008ca2c);\n          DAT_0008ca2c = (void *)0x0;\n        }\n        pbVar6 = *(byte **)PTR_optarg_0008bff4;\n        bVar9 = false;\n        bVar11 = pbVar6 == (byte *)0x0;\n        if (bVar11) {\n          pbVar6 = &DAT_0004f1e8;\n          *(undefined1 **)PTR_optarg_0008bff4 = &DAT_0004f1e8;\n        }\n        else {\n          iVar3 = 5;\n          pbVar7 = pbVar6;\n          pbVar8 = (byte *)0x4ab38;\n          do {\n            if (iVar3 == 0) break;\n            iVar3 = iVar3 + -1;\n            bVar9 = *pbVar7 < *pbVar8;\n            bVar11 = *pbVar7 == *pbVar8;\n            pbVar7 = pbVar7 + (uint)bVar12 * -2 + 1;\n            pbVar8 = pbVar8 + (uint)bVar12 * -2 + 1;\n          } while (bVar11);\n          if ((!bVar9 && !bVar11) == bVar9) {\n            return 1;\n          }\n        }\n        DAT_0008ca2c = (void *)xstrdup(pbVar6);\n        return 1;\n      }\n      if (param_1 != 0x199) {\n        return 0;\n      }\n      __s1 = *(char **)PTR_optarg_0008bff4;\n      iVar3 = strcasecmp(__s1,"none");\n      if (iVar3 == 0) {\n        DAT_0008cc0c = 0;\n        return 1;\n      }\n      iVar3 = strcasecmp(__s1,"zlib");\n      if (iVar3 != 0) {\n        iVar3 = strcasecmp(__s1,"zlib-gnu");\n        if (iVar3 == 0) {\n          DAT_0008cc0c = 3;\n          return 1;\n        }\n        iVar3 = strcasecmp(__s1,"zlib-gabi");\n        if (iVar3 != 0) {\n          pcVar5 = "%F%P: invalid --compress-debug-sections option: `%s\'\n";\n          goto LAB_00035f83;\n        }\n      }\n      DAT_0008cc0c = 5;\n      return 1;\n    }" if (parenthesized_expression "(param_1 != 0x196)" ( (binary_expression "param_1 != 0x196" identifier != number_literal) )) (compound_statement "{\n      if ((int)param_1 < 0x197) {\n        if (param_1 == 0x194) {\n          DAT_0008cc00._2_2_ = DAT_0008cc00._2_2_ & 0x3fff;\n          return 1;\n        }\n        if (param_1 != 0x195) {\n          return 0;\n        }\n        FUN_00024120(*(undefined4 *)PTR_optarg_0008bff4);\n        return 1;\n      }\n      if (param_1 == 0x198) {\n        FUN_000359c0();\n        return 1;\n      }\n      if ((int)param_1 < 0x198) {\n        if (DAT_0008ca2c != (void *)0x0) {\n          free(DAT_0008ca2c);\n          DAT_0008ca2c = (void *)0x0;\n        }\n        pbVar6 = *(byte **)PTR_optarg_0008bff4;\n        bVar9 = false;\n        bVar11 = pbVar6 == (byte *)0x0;\n        if (bVar11) {\n          pbVar6 = &DAT_0004f1e8;\n          *(undefined1 **)PTR_optarg_0008bff4 = &DAT_0004f1e8;\n        }\n        else {\n          iVar3 = 5;\n          pbVar7 = pbVar6;\n          pbVar8 = (byte *)0x4ab38;\n          do {\n            if (iVar3 == 0) break;\n            iVar3 = iVar3 + -1;\n            bVar9 = *pbVar7 < *pbVar8;\n            bVar11 = *pbVar7 == *pbVar8;\n            pbVar7 = pbVar7 + (uint)bVar12 * -2 + 1;\n            pbVar8 = pbVar8 + (uint)bVar12 * -2 + 1;\n          } while (bVar11);\n          if ((!bVar9 && !bVar11) == bVar9) {\n            return 1;\n          }\n        }\n        DAT_0008ca2c = (void *)xstrdup(pbVar6);\n        return 1;\n      }\n      if (param_1 != 0x199) {\n        return 0;\n      }\n      __s1 = *(char **)PTR_optarg_0008bff4;\n      iVar3 = strcasecmp(__s1,"none");\n      if (iVar3 == 0) {\n        DAT_0008cc0c = 0;\n        return 1;\n      }\n      iVar3 = strcasecmp(__s1,"zlib");\n      if (iVar3 != 0) {\n        iVar3 = strcasecmp(__s1,"zlib-gnu");\n        if (iVar3 == 0) {\n          DAT_0008cc0c = 3;\n          return 1;\n        }\n        iVar3 = strcasecmp(__s1,"zlib-gabi");\n        if (iVar3 != 0) {\n          pcVar5 = "%F%P: invalid --compress-debug-sections option: `%s\'\n";\n          goto LAB_00035f83;\n        }\n      }\n      DAT_0008cc0c = 5;\n      return 1;\n    }" { (if_statement "if ((int)param_1 < 0x197) {\n        if (param_1 == 0x194) {\n          DAT_0008cc00._2_2_ = DAT_0008cc00._2_2_ & 0x3fff;\n          return 1;\n        }\n        if (param_1 != 0x195) {\n          return 0;\n        }\n        FUN_00024120(*(undefined4 *)PTR_optarg_0008bff4);\n        return 1;\n      }" if (parenthesized_expression "((int)param_1 < 0x197)" ( (binary_expression "(int)param_1 < 0x197" (cast_expression "(int)param_1" ( (type_descriptor "int" primitive_type) ) identifier) < number_literal) )) (compound_statement "{\n        if (param_1 == 0x194) {\n          DAT_0008cc00._2_2_ = DAT_0008cc00._2_2_ & 0x3fff;\n          return 1;\n        }\n        if (param_1 != 0x195) {\n          return 0;\n        }\n        FUN_00024120(*(undefined4 *)PTR_optarg_0008bff4);\n        return 1;\n      }" { (if_statement "if (param_1 == 0x194) {\n          DAT_0008cc00._2_2_ = DAT_0008cc00._2_2_ & 0x3fff;\n          return 1;\n        }" if (parenthesized_expression "(param_1 == 0x194)" ( (binary_expression "param_1 == 0x194" identifier == number_literal) )) (compound_statement "{\n          DAT_0008cc00._2_2_ = DAT_0008cc00._2_2_ & 0x3fff;\n          return 1;\n        }" { (expression_statement "DAT_0008cc00._2_2_ = DAT_0008cc00._2_2_ & 0x3fff;" (assignment_expression "DAT_0008cc00._2_2_ = DAT_0008cc00._2_2_ & 0x3fff" (field_expression "DAT_0008cc00._2_2_" identifier . field_identifier) = (binary_expression "DAT_0008cc00._2_2_ & 0x3fff" (field_expression "DAT_0008cc00._2_2_" identifier . field_identifier) & number_literal)) ;) (return_statement "return 1;" return number_literal ;) })) (if_statement "if (param_1 != 0x195) {\n          return 0;\n        }" if (parenthesized_expression "(param_1 != 0x195)" ( (binary_expression "param_1 != 0x195" identifier != number_literal) )) (compound_statement "{\n          return 0;\n        }" { (return_statement "return 0;" return number_literal ;) })) (expression_statement "FUN_00024120(*(undefined4 *)PTR_optarg_0008bff4);" (call_expression "FUN_00024120(*(undefined4 *)PTR_optarg_0008bff4)" identifier (argument_list "(*(undefined4 *)PTR_optarg_0008bff4)" ( (pointer_expression "*(undefined4 *)PTR_optarg_0008bff4" * (cast_expression "(undefined4 *)PTR_optarg_0008bff4" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ))) ;) (return_statement "return 1;" return number_literal ;) })) (if_statement "if (param_1 == 0x198) {\n        FUN_000359c0();\n        return 1;\n      }" if (parenthesized_expression "(param_1 == 0x198)" ( (binary_expression "param_1 == 0x198" identifier == number_literal) )) (compound_statement "{\n        FUN_000359c0();\n        return 1;\n      }" { (expression_statement "FUN_000359c0();" (call_expression "FUN_000359c0()" identifier (argument_list "()" ( ))) ;) (return_statement "return 1;" return number_literal ;) })) (if_statement "if ((int)param_1 < 0x198) {\n        if (DAT_0008ca2c != (void *)0x0) {\n          free(DAT_0008ca2c);\n          DAT_0008ca2c = (void *)0x0;\n        }\n        pbVar6 = *(byte **)PTR_optarg_0008bff4;\n        bVar9 = false;\n        bVar11 = pbVar6 == (byte *)0x0;\n        if (bVar11) {\n          pbVar6 = &DAT_0004f1e8;\n          *(undefined1 **)PTR_optarg_0008bff4 = &DAT_0004f1e8;\n        }\n        else {\n          iVar3 = 5;\n          pbVar7 = pbVar6;\n          pbVar8 = (byte *)0x4ab38;\n          do {\n            if (iVar3 == 0) break;\n            iVar3 = iVar3 + -1;\n            bVar9 = *pbVar7 < *pbVar8;\n            bVar11 = *pbVar7 == *pbVar8;\n            pbVar7 = pbVar7 + (uint)bVar12 * -2 + 1;\n            pbVar8 = pbVar8 + (uint)bVar12 * -2 + 1;\n          } while (bVar11);\n          if ((!bVar9 && !bVar11) == bVar9) {\n            return 1;\n          }\n        }\n        DAT_0008ca2c = (void *)xstrdup(pbVar6);\n        return 1;\n      }" if (parenthesized_expression "((int)param_1 < 0x198)" ( (binary_expression "(int)param_1 < 0x198" (cast_expression "(int)param_1" ( (type_descriptor "int" primitive_type) ) identifier) < number_literal) )) (compound_statement "{\n        if (DAT_0008ca2c != (void *)0x0) {\n          free(DAT_0008ca2c);\n          DAT_0008ca2c = (void *)0x0;\n        }\n        pbVar6 = *(byte **)PTR_optarg_0008bff4;\n        bVar9 = false;\n        bVar11 = pbVar6 == (byte *)0x0;\n        if (bVar11) {\n          pbVar6 = &DAT_0004f1e8;\n          *(undefined1 **)PTR_optarg_0008bff4 = &DAT_0004f1e8;\n        }\n        else {\n          iVar3 = 5;\n          pbVar7 = pbVar6;\n          pbVar8 = (byte *)0x4ab38;\n          do {\n            if (iVar3 == 0) break;\n            iVar3 = iVar3 + -1;\n            bVar9 = *pbVar7 < *pbVar8;\n            bVar11 = *pbVar7 == *pbVar8;\n            pbVar7 = pbVar7 + (uint)bVar12 * -2 + 1;\n            pbVar8 = pbVar8 + (uint)bVar12 * -2 + 1;\n          } while (bVar11);\n          if ((!bVar9 && !bVar11) == bVar9) {\n            return 1;\n          }\n        }\n        DAT_0008ca2c = (void *)xstrdup(pbVar6);\n        return 1;\n      }" { (if_statement "if (DAT_0008ca2c != (void *)0x0) {\n          free(DAT_0008ca2c);\n          DAT_0008ca2c = (void *)0x0;\n        }" if (parenthesized_expression "(DAT_0008ca2c != (void *)0x0)" ( (binary_expression "DAT_0008ca2c != (void *)0x0" identifier != (cast_expression "(void *)0x0" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n          free(DAT_0008ca2c);\n          DAT_0008ca2c = (void *)0x0;\n        }" { (expression_statement "free(DAT_0008ca2c);" (call_expression "free(DAT_0008ca2c)" identifier (argument_list "(DAT_0008ca2c)" ( identifier ))) ;) (expression_statement "DAT_0008ca2c = (void *)0x0;" (assignment_expression "DAT_0008ca2c = (void *)0x0" identifier = (cast_expression "(void *)0x0" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) })) (expression_statement "pbVar6 = *(byte **)PTR_optarg_0008bff4;" (assignment_expression "pbVar6 = *(byte **)PTR_optarg_0008bff4" identifier = (pointer_expression "*(byte **)PTR_optarg_0008bff4" * (cast_expression "(byte **)PTR_optarg_0008bff4" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier))) ;) (expression_statement "bVar9 = false;" (assignment_expression "bVar9 = false" identifier = false) ;) (expression_statement "bVar11 = pbVar6 == (byte *)0x0;" (assignment_expression "bVar11 = pbVar6 == (byte *)0x0" identifier = (binary_expression "pbVar6 == (byte *)0x0" identifier == (cast_expression "(byte *)0x0" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal))) ;) (if_statement "if (bVar11) {\n          pbVar6 = &DAT_0004f1e8;\n          *(undefined1 **)PTR_optarg_0008bff4 = &DAT_0004f1e8;\n        }\n        else {\n          iVar3 = 5;\n          pbVar7 = pbVar6;\n          pbVar8 = (byte *)0x4ab38;\n          do {\n            if (iVar3 == 0) break;\n            iVar3 = iVar3 + -1;\n            bVar9 = *pbVar7 < *pbVar8;\n            bVar11 = *pbVar7 == *pbVar8;\n            pbVar7 = pbVar7 + (uint)bVar12 * -2 + 1;\n            pbVar8 = pbVar8 + (uint)bVar12 * -2 + 1;\n          } while (bVar11);\n          if ((!bVar9 && !bVar11) == bVar9) {\n            return 1;\n          }\n        }" if (parenthesized_expression "(bVar11)" ( identifier )) (compound_statement "{\n          pbVar6 = &DAT_0004f1e8;\n          *(undefined1 **)PTR_optarg_0008bff4 = &DAT_0004f1e8;\n        }" { (expression_statement "pbVar6 = &DAT_0004f1e8;" (assignment_expression "pbVar6 = &DAT_0004f1e8" identifier = (pointer_expression "&DAT_0004f1e8" & identifier)) ;) (expression_statement "*(undefined1 **)PTR_optarg_0008bff4 = &DAT_0004f1e8;" (assignment_expression "*(undefined1 **)PTR_optarg_0008bff4 = &DAT_0004f1e8" (pointer_expression "*(undefined1 **)PTR_optarg_0008bff4" * (cast_expression "(undefined1 **)PTR_optarg_0008bff4" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier)) = (pointer_expression "&DAT_0004f1e8" & identifier)) ;) }) (else_clause "else {\n          iVar3 = 5;\n          pbVar7 = pbVar6;\n          pbVar8 = (byte *)0x4ab38;\n          do {\n            if (iVar3 == 0) break;\n            iVar3 = iVar3 + -1;\n            bVar9 = *pbVar7 < *pbVar8;\n            bVar11 = *pbVar7 == *pbVar8;\n            pbVar7 = pbVar7 + (uint)bVar12 * -2 + 1;\n            pbVar8 = pbVar8 + (uint)bVar12 * -2 + 1;\n          } while (bVar11);\n          if ((!bVar9 && !bVar11) == bVar9) {\n            return 1;\n          }\n        }" else (compound_statement "{\n          iVar3 = 5;\n          pbVar7 = pbVar6;\n          pbVar8 = (byte *)0x4ab38;\n          do {\n            if (iVar3 == 0) break;\n            iVar3 = iVar3 + -1;\n            bVar9 = *pbVar7 < *pbVar8;\n            bVar11 = *pbVar7 == *pbVar8;\n            pbVar7 = pbVar7 + (uint)bVar12 * -2 + 1;\n            pbVar8 = pbVar8 + (uint)bVar12 * -2 + 1;\n          } while (bVar11);\n          if ((!bVar9 && !bVar11) == bVar9) {\n            return 1;\n          }\n        }" { (expression_statement "iVar3 = 5;" (assignment_expression "iVar3 = 5" identifier = number_literal) ;) (expression_statement "pbVar7 = pbVar6;" (assignment_expression "pbVar7 = pbVar6" identifier = identifier) ;) (expression_statement "pbVar8 = (byte *)0x4ab38;" (assignment_expression "pbVar8 = (byte *)0x4ab38" identifier = (cast_expression "(byte *)0x4ab38" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (do_statement "do {\n            if (iVar3 == 0) break;\n            iVar3 = iVar3 + -1;\n            bVar9 = *pbVar7 < *pbVar8;\n            bVar11 = *pbVar7 == *pbVar8;\n            pbVar7 = pbVar7 + (uint)bVar12 * -2 + 1;\n            pbVar8 = pbVar8 + (uint)bVar12 * -2 + 1;\n          } while (bVar11);" do (compound_statement "{\n            if (iVar3 == 0) break;\n            iVar3 = iVar3 + -1;\n            bVar9 = *pbVar7 < *pbVar8;\n            bVar11 = *pbVar7 == *pbVar8;\n            pbVar7 = pbVar7 + (uint)bVar12 * -2 + 1;\n            pbVar8 = pbVar8 + (uint)bVar12 * -2 + 1;\n          }" { (if_statement "if (iVar3 == 0) break;" if (parenthesized_expression "(iVar3 == 0)" ( (binary_expression "iVar3 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "iVar3 = iVar3 + -1;" (assignment_expression "iVar3 = iVar3 + -1" identifier = (binary_expression "iVar3 + -1" identifier + number_literal)) ;) (expression_statement "bVar9 = *pbVar7 < *pbVar8;" (assignment_expression "bVar9 = *pbVar7 < *pbVar8" identifier = (binary_expression "*pbVar7 < *pbVar8" (pointer_expression "*pbVar7" * identifier) < (pointer_expression "*pbVar8" * identifier))) ;) (expression_statement "bVar11 = *pbVar7 == *pbVar8;" (assignment_expression "bVar11 = *pbVar7 == *pbVar8" identifier = (binary_expression "*pbVar7 == *pbVar8" (pointer_expression "*pbVar7" * identifier) == (pointer_expression "*pbVar8" * identifier))) ;) (expression_statement "pbVar7 = pbVar7 + (uint)bVar12 * -2 + 1;" (assignment_expression "pbVar7 = pbVar7 + (uint)bVar12 * -2 + 1" identifier = (binary_expression "pbVar7 + (uint)bVar12 * -2 + 1" (binary_expression "pbVar7 + (uint)bVar12 * -2" identifier + (binary_expression "(uint)bVar12 * -2" (cast_expression "(uint)bVar12" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) (expression_statement "pbVar8 = pbVar8 + (uint)bVar12 * -2 + 1;" (assignment_expression "pbVar8 = pbVar8 + (uint)bVar12 * -2 + 1" identifier = (binary_expression "pbVar8 + (uint)bVar12 * -2 + 1" (binary_expression "pbVar8 + (uint)bVar12 * -2" identifier + (binary_expression "(uint)bVar12 * -2" (cast_expression "(uint)bVar12" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) }) while (parenthesized_expression "(bVar11)" ( identifier )) ;) (if_statement "if ((!bVar9 && !bVar11) == bVar9) {\n            return 1;\n          }" if (parenthesized_expression "((!bVar9 && !bVar11) == bVar9)" ( (binary_expression "(!bVar9 && !bVar11) == bVar9" (parenthesized_expression "(!bVar9 && !bVar11)" ( (binary_expression "!bVar9 && !bVar11" (unary_expression "!bVar9" ! identifier) && (unary_expression "!bVar11" ! identifier)) )) == identifier) )) (compound_statement "{\n            return 1;\n          }" { (return_statement "return 1;" return number_literal ;) })) }))) (expression_statement "DAT_0008ca2c = (void *)xstrdup(pbVar6);" (assignment_expression "DAT_0008ca2c = (void *)xstrdup(pbVar6)" identifier = (cast_expression "(void *)xstrdup(pbVar6)" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "xstrdup(pbVar6)" identifier (argument_list "(pbVar6)" ( identifier ))))) ;) (return_statement "return 1;" return number_literal ;) })) (if_statement "if (param_1 != 0x199) {\n        return 0;\n      }" if (parenthesized_expression "(param_1 != 0x199)" ( (binary_expression "param_1 != 0x199" identifier != number_literal) )) (compound_statement "{\n        return 0;\n      }" { (return_statement "return 0;" return number_literal ;) })) (expression_statement "__s1 = *(char **)PTR_optarg_0008bff4;" (assignment_expression "__s1 = *(char **)PTR_optarg_0008bff4" identifier = (pointer_expression "*(char **)PTR_optarg_0008bff4" * (cast_expression "(char **)PTR_optarg_0008bff4" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier))) ;) (expression_statement "iVar3 = strcasecmp(__s1,"none");" (assignment_expression "iVar3 = strcasecmp(__s1,"none")" identifier = (call_expression "strcasecmp(__s1,"none")" identifier (argument_list "(__s1,"none")" ( identifier , (string_literal ""none"" " string_content ") )))) ;) (if_statement "if (iVar3 == 0) {\n        DAT_0008cc0c = 0;\n        return 1;\n      }" if (parenthesized_expression "(iVar3 == 0)" ( (binary_expression "iVar3 == 0" identifier == number_literal) )) (compound_statement "{\n        DAT_0008cc0c = 0;\n        return 1;\n      }" { (expression_statement "DAT_0008cc0c = 0;" (assignment_expression "DAT_0008cc0c = 0" identifier = number_literal) ;) (return_statement "return 1;" return number_literal ;) })) (expression_statement "iVar3 = strcasecmp(__s1,"zlib");" (assignment_expression "iVar3 = strcasecmp(__s1,"zlib")" identifier = (call_expression "strcasecmp(__s1,"zlib")" identifier (argument_list "(__s1,"zlib")" ( identifier , (string_literal ""zlib"" " string_content ") )))) ;) (if_statement "if (iVar3 != 0) {\n        iVar3 = strcasecmp(__s1,"zlib-gnu");\n        if (iVar3 == 0) {\n          DAT_0008cc0c = 3;\n          return 1;\n        }\n        iVar3 = strcasecmp(__s1,"zlib-gabi");\n        if (iVar3 != 0) {\n          pcVar5 = "%F%P: invalid --compress-debug-sections option: `%s\'\n";\n          goto LAB_00035f83;\n        }\n      }" if (parenthesized_expression "(iVar3 != 0)" ( (binary_expression "iVar3 != 0" identifier != number_literal) )) (compound_statement "{\n        iVar3 = strcasecmp(__s1,"zlib-gnu");\n        if (iVar3 == 0) {\n          DAT_0008cc0c = 3;\n          return 1;\n        }\n        iVar3 = strcasecmp(__s1,"zlib-gabi");\n        if (iVar3 != 0) {\n          pcVar5 = "%F%P: invalid --compress-debug-sections option: `%s\'\n";\n          goto LAB_00035f83;\n        }\n      }" { (expression_statement "iVar3 = strcasecmp(__s1,"zlib-gnu");" (assignment_expression "iVar3 = strcasecmp(__s1,"zlib-gnu")" identifier = (call_expression "strcasecmp(__s1,"zlib-gnu")" identifier (argument_list "(__s1,"zlib-gnu")" ( identifier , (string_literal ""zlib-gnu"" " string_content ") )))) ;) (if_statement "if (iVar3 == 0) {\n          DAT_0008cc0c = 3;\n          return 1;\n        }" if (parenthesized_expression "(iVar3 == 0)" ( (binary_expression "iVar3 == 0" identifier == number_literal) )) (compound_statement "{\n          DAT_0008cc0c = 3;\n          return 1;\n        }" { (expression_statement "DAT_0008cc0c = 3;" (assignment_expression "DAT_0008cc0c = 3" identifier = number_literal) ;) (return_statement "return 1;" return number_literal ;) })) (expression_statement "iVar3 = strcasecmp(__s1,"zlib-gabi");" (assignment_expression "iVar3 = strcasecmp(__s1,"zlib-gabi")" identifier = (call_expression "strcasecmp(__s1,"zlib-gabi")" identifier (argument_list "(__s1,"zlib-gabi")" ( identifier , (string_literal ""zlib-gabi"" " string_content ") )))) ;) (if_statement "if (iVar3 != 0) {\n          pcVar5 = "%F%P: invalid --compress-debug-sections option: `%s\'\n";\n          goto LAB_00035f83;\n        }" if (parenthesized_expression "(iVar3 != 0)" ( (binary_expression "iVar3 != 0" identifier != number_literal) )) (compound_statement "{\n          pcVar5 = "%F%P: invalid --compress-debug-sections option: `%s\'\n";\n          goto LAB_00035f83;\n        }" { (expression_statement "pcVar5 = "%F%P: invalid --compress-debug-sections option: `%s\'\n";" (assignment_expression "pcVar5 = "%F%P: invalid --compress-debug-sections option: `%s\'\n"" identifier = (string_literal ""%F%P: invalid --compress-debug-sections option: `%s\'\n"" " string_content escape_sequence escape_sequence ")) ;) (goto_statement "goto LAB_00035f83;" goto statement_identifier ;) })) })) (expression_statement "DAT_0008cc0c = 5;" (assignment_expression "DAT_0008cc0c = 5" identifier = number_literal) ;) (return_statement "return 1;" return number_literal ;) })) (expression_statement "pbVar6 = *(byte **)PTR_optarg_0008bff4;" (assignment_expression "pbVar6 = *(byte **)PTR_optarg_0008bff4" identifier = (pointer_expression "*(byte **)PTR_optarg_0008bff4" * (cast_expression "(byte **)PTR_optarg_0008bff4" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier))) ;) (expression_statement "iVar3 = 5;" (assignment_expression "iVar3 = 5" identifier = number_literal) ;) (expression_statement "bVar9 = false;" (assignment_expression "bVar9 = false" identifier = false) ;) (expression_statement "bVar11 = (_DAT_0008cc04 & 0xf3) == 0;" (assignment_expression "bVar11 = (_DAT_0008cc04 & 0xf3) == 0" identifier = (binary_expression "(_DAT_0008cc04 & 0xf3) == 0" (parenthesized_expression "(_DAT_0008cc04 & 0xf3)" ( (binary_expression "_DAT_0008cc04 & 0xf3" identifier & number_literal) )) == number_literal)) ;) (expression_statement "_DAT_0008cc04 = _DAT_0008cc04 & 0xfffffff3;" (assignment_expression "_DAT_0008cc04 = _DAT_0008cc04 & 0xfffffff3" identifier = (binary_expression "_DAT_0008cc04 & 0xfffffff3" identifier & number_literal)) ;) (expression_statement "pbVar7 = pbVar6;" (assignment_expression "pbVar7 = pbVar6" identifier = identifier) ;) (expression_statement "pbVar8 = &DAT_0007ac19;" (assignment_expression "pbVar8 = &DAT_0007ac19" identifier = (pointer_expression "&DAT_0007ac19" & identifier)) ;) (do_statement "do {\n      if (iVar3 == 0) break;\n      iVar3 = iVar3 + -1;\n      bVar9 = *pbVar7 < *pbVar8;\n      bVar11 = *pbVar7 == *pbVar8;\n      pbVar7 = pbVar7 + 1;\n      pbVar8 = pbVar8 + 1;\n    } while (bVar11);" do (compound_statement "{\n      if (iVar3 == 0) break;\n      iVar3 = iVar3 + -1;\n      bVar9 = *pbVar7 < *pbVar8;\n      bVar11 = *pbVar7 == *pbVar8;\n      pbVar7 = pbVar7 + 1;\n      pbVar8 = pbVar8 + 1;\n    }" { (if_statement "if (iVar3 == 0) break;" if (parenthesized_expression "(iVar3 == 0)" ( (binary_expression "iVar3 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "iVar3 = iVar3 + -1;" (assignment_expression "iVar3 = iVar3 + -1" identifier = (binary_expression "iVar3 + -1" identifier + number_literal)) ;) (expression_statement "bVar9 = *pbVar7 < *pbVar8;" (assignment_expression "bVar9 = *pbVar7 < *pbVar8" identifier = (binary_expression "*pbVar7 < *pbVar8" (pointer_expression "*pbVar7" * identifier) < (pointer_expression "*pbVar8" * identifier))) ;) (expression_statement "bVar11 = *pbVar7 == *pbVar8;" (assignment_expression "bVar11 = *pbVar7 == *pbVar8" identifier = (binary_expression "*pbVar7 == *pbVar8" (pointer_expression "*pbVar7" * identifier) == (pointer_expression "*pbVar8" * identifier))) ;) (expression_statement "pbVar7 = pbVar7 + 1;" (assignment_expression "pbVar7 = pbVar7 + 1" identifier = (binary_expression "pbVar7 + 1" identifier + number_literal)) ;) (expression_statement "pbVar8 = pbVar8 + 1;" (assignment_expression "pbVar8 = pbVar8 + 1" identifier = (binary_expression "pbVar8 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(bVar11)" ( identifier )) ;) (expression_statement "bVar10 = false;" (assignment_expression "bVar10 = false" identifier = false) ;) (expression_statement "bVar9 = (!bVar9 && !bVar11) == bVar9;" (assignment_expression "bVar9 = (!bVar9 && !bVar11) == bVar9" identifier = (binary_expression "(!bVar9 && !bVar11) == bVar9" (parenthesized_expression "(!bVar9 && !bVar11)" ( (binary_expression "!bVar9 && !bVar11" (unary_expression "!bVar9" ! identifier) && (unary_expression "!bVar11" ! identifier)) )) == identifier)) ;) (if_statement "if (bVar9) {\n      _DAT_0008cc04 = CONCAT31(_DAT_0008cc05,uVar2) & 0xfffffff3 | 4;\n      return 1;\n    }" if (parenthesized_expression "(bVar9)" ( identifier )) (compound_statement "{\n      _DAT_0008cc04 = CONCAT31(_DAT_0008cc05,uVar2) & 0xfffffff3 | 4;\n      return 1;\n    }" { (expression_statement "_DAT_0008cc04 = CONCAT31(_DAT_0008cc05,uVar2) & 0xfffffff3 | 4;" (assignment_expression "_DAT_0008cc04 = CONCAT31(_DAT_0008cc05,uVar2) & 0xfffffff3 | 4" identifier = (binary_expression "CONCAT31(_DAT_0008cc05,uVar2) & 0xfffffff3 | 4" (binary_expression "CONCAT31(_DAT_0008cc05,uVar2) & 0xfffffff3" (call_expression "CONCAT31(_DAT_0008cc05,uVar2)" identifier (argument_list "(_DAT_0008cc05,uVar2)" ( identifier , identifier ))) & number_literal) | number_literal)) ;) (return_statement "return 1;" return number_literal ;) })) (expression_statement "iVar3 = 4;" (assignment_expression "iVar3 = 4" identifier = number_literal) ;) (expression_statement "pbVar7 = pbVar6;" (assignment_expression "pbVar7 = pbVar6" identifier = identifier) ;) (expression_statement "pbVar8 = &DAT_0007ac0b;" (assignment_expression "pbVar8 = &DAT_0007ac0b" identifier = (pointer_expression "&DAT_0007ac0b" & identifier)) ;) (do_statement "do {\n      if (iVar3 == 0) break;\n      iVar3 = iVar3 + -1;\n      bVar10 = *pbVar7 < *pbVar8;\n      bVar9 = *pbVar7 == *pbVar8;\n      pbVar7 = pbVar7 + 1;\n      pbVar8 = pbVar8 + 1;\n    } while (bVar9);" do (compound_statement "{\n      if (iVar3 == 0) break;\n      iVar3 = iVar3 + -1;\n      bVar10 = *pbVar7 < *pbVar8;\n      bVar9 = *pbVar7 == *pbVar8;\n      pbVar7 = pbVar7 + 1;\n      pbVar8 = pbVar8 + 1;\n    }" { (if_statement "if (iVar3 == 0) break;" if (parenthesized_expression "(iVar3 == 0)" ( (binary_expression "iVar3 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "iVar3 = iVar3 + -1;" (assignment_expression "iVar3 = iVar3 + -1" identifier = (binary_expression "iVar3 + -1" identifier + number_literal)) ;) (expression_statement "bVar10 = *pbVar7 < *pbVar8;" (assignment_expression "bVar10 = *pbVar7 < *pbVar8" identifier = (binary_expression "*pbVar7 < *pbVar8" (pointer_expression "*pbVar7" * identifier) < (pointer_expression "*pbVar8" * identifier))) ;) (expression_statement "bVar9 = *pbVar7 == *pbVar8;" (assignment_expression "bVar9 = *pbVar7 == *pbVar8" identifier = (binary_expression "*pbVar7 == *pbVar8" (pointer_expression "*pbVar7" * identifier) == (pointer_expression "*pbVar8" * identifier))) ;) (expression_statement "pbVar7 = pbVar7 + 1;" (assignment_expression "pbVar7 = pbVar7 + 1" identifier = (binary_expression "pbVar7 + 1" identifier + number_literal)) ;) (expression_statement "pbVar8 = pbVar8 + 1;" (assignment_expression "pbVar8 = pbVar8 + 1" identifier = (binary_expression "pbVar8 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(bVar9)" ( identifier )) ;) (expression_statement "bVar11 = false;" (assignment_expression "bVar11 = false" identifier = false) ;) (expression_statement "bVar9 = (!bVar10 && !bVar9) == bVar10;" (assignment_expression "bVar9 = (!bVar10 && !bVar9) == bVar10" identifier = (binary_expression "(!bVar10 && !bVar9) == bVar10" (parenthesized_expression "(!bVar10 && !bVar9)" ( (binary_expression "!bVar10 && !bVar9" (unary_expression "!bVar10" ! identifier) && (unary_expression "!bVar9" ! identifier)) )) == identifier)) ;) (if_statement "if (bVar9) {\n      _DAT_0008cc04 = CONCAT31(_DAT_0008cc05,uVar2) & 0xfffffff3 | 8;\n      return 1;\n    }" if (parenthesized_expression "(bVar9)" ( identifier )) (compound_statement "{\n      _DAT_0008cc04 = CONCAT31(_DAT_0008cc05,uVar2) & 0xfffffff3 | 8;\n      return 1;\n    }" { (expression_statement "_DAT_0008cc04 = CONCAT31(_DAT_0008cc05,uVar2) & 0xfffffff3 | 8;" (assignment_expression "_DAT_0008cc04 = CONCAT31(_DAT_0008cc05,uVar2) & 0xfffffff3 | 8" identifier = (binary_expression "CONCAT31(_DAT_0008cc05,uVar2) & 0xfffffff3 | 8" (binary_expression "CONCAT31(_DAT_0008cc05,uVar2) & 0xfffffff3" (call_expression "CONCAT31(_DAT_0008cc05,uVar2)" identifier (argument_list "(_DAT_0008cc05,uVar2)" ( identifier , identifier ))) & number_literal) | number_literal)) ;) (return_statement "return 1;" return number_literal ;) })) (expression_statement "iVar3 = 5;" (assignment_expression "iVar3 = 5" identifier = number_literal) ;) (expression_statement "pbVar7 = pbVar6;" (assignment_expression "pbVar7 = pbVar6" identifier = identifier) ;) (expression_statement "pbVar8 = &DAT_0007ac1e;" (assignment_expression "pbVar8 = &DAT_0007ac1e" identifier = (pointer_expression "&DAT_0007ac1e" & identifier)) ;) (do_statement "do {\n      if (iVar3 == 0) break;\n      iVar3 = iVar3 + -1;\n      bVar11 = *pbVar7 < *pbVar8;\n      bVar9 = *pbVar7 == *pbVar8;\n      pbVar7 = pbVar7 + 1;\n      pbVar8 = pbVar8 + 1;\n    } while (bVar9);" do (compound_statement "{\n      if (iVar3 == 0) break;\n      iVar3 = iVar3 + -1;\n      bVar11 = *pbVar7 < *pbVar8;\n      bVar9 = *pbVar7 == *pbVar8;\n      pbVar7 = pbVar7 + 1;\n      pbVar8 = pbVar8 + 1;\n    }" { (if_statement "if (iVar3 == 0) break;" if (parenthesized_expression "(iVar3 == 0)" ( (binary_expression "iVar3 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "iVar3 = iVar3 + -1;" (assignment_expression "iVar3 = iVar3 + -1" identifier = (binary_expression "iVar3 + -1" identifier + number_literal)) ;) (expression_statement "bVar11 = *pbVar7 < *pbVar8;" (assignment_expression "bVar11 = *pbVar7 < *pbVar8" identifier = (binary_expression "*pbVar7 < *pbVar8" (pointer_expression "*pbVar7" * identifier) < (pointer_expression "*pbVar8" * identifier))) ;) (expression_statement "bVar9 = *pbVar7 == *pbVar8;" (assignment_expression "bVar9 = *pbVar7 == *pbVar8" identifier = (binary_expression "*pbVar7 == *pbVar8" (pointer_expression "*pbVar7" * identifier) == (pointer_expression "*pbVar8" * identifier))) ;) (expression_statement "pbVar7 = pbVar7 + 1;" (assignment_expression "pbVar7 = pbVar7 + 1" identifier = (binary_expression "pbVar7 + 1" identifier + number_literal)) ;) (expression_statement "pbVar8 = pbVar8 + 1;" (assignment_expression "pbVar8 = pbVar8 + 1" identifier = (binary_expression "pbVar8 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(bVar9)" ( identifier )) ;) (if_statement "if ((!bVar11 && !bVar9) == bVar11) {\n      _DAT_0008cc04 = CONCAT31(_DAT_0008cc05,uVar2) & 0xfffffff3 | 0xc;\n      return 1;\n    }" if (parenthesized_expression "((!bVar11 && !bVar9) == bVar11)" ( (binary_expression "(!bVar11 && !bVar9) == bVar11" (parenthesized_expression "(!bVar11 && !bVar9)" ( (binary_expression "!bVar11 && !bVar9" (unary_expression "!bVar11" ! identifier) && (unary_expression "!bVar9" ! identifier)) )) == identifier) )) (compound_statement "{\n      _DAT_0008cc04 = CONCAT31(_DAT_0008cc05,uVar2) & 0xfffffff3 | 0xc;\n      return 1;\n    }" { (expression_statement "_DAT_0008cc04 = CONCAT31(_DAT_0008cc05,uVar2) & 0xfffffff3 | 0xc;" (assignment_expression "_DAT_0008cc04 = CONCAT31(_DAT_0008cc05,uVar2) & 0xfffffff3 | 0xc" identifier = (binary_expression "CONCAT31(_DAT_0008cc05,uVar2) & 0xfffffff3 | 0xc" (binary_expression "CONCAT31(_DAT_0008cc05,uVar2) & 0xfffffff3" (call_expression "CONCAT31(_DAT_0008cc05,uVar2)" identifier (argument_list "(_DAT_0008cc05,uVar2)" ( identifier , identifier ))) & number_literal) | number_literal)) ;) (return_statement "return 1;" return number_literal ;) })) (expression_statement "pcVar5 = "%F%P: invalid hash style `%s\'\n";" (assignment_expression "pcVar5 = "%F%P: invalid hash style `%s\'\n"" identifier = (string_literal ""%F%P: invalid hash style `%s\'\n"" " string_content escape_sequence escape_sequence ")) ;) (labeled_statement "LAB_0003606a:\n    uVar4 = dcgettext(0,pcVar5,5);" statement_identifier : (expression_statement "uVar4 = dcgettext(0,pcVar5,5);" (assignment_expression "uVar4 = dcgettext(0,pcVar5,5)" identifier = (call_expression "dcgettext(0,pcVar5,5)" identifier (argument_list "(0,pcVar5,5)" ( number_literal , identifier , number_literal )))) ;)) (expression_statement "FUN_00031700(uVar4,pbVar6);" (call_expression "FUN_00031700(uVar4,pbVar6)" identifier (argument_list "(uVar4,pbVar6)" ( identifier , identifier ))) ;) (return_statement "return 1;" return number_literal ;) })) (expression_statement "bVar9 = param_1 < 0x12d;" (assignment_expression "bVar9 = param_1 < 0x12d" identifier = (binary_expression "param_1 < 0x12d" identifier < number_literal)) ;) (expression_statement "bVar11 = param_1 == 0x12d;" (assignment_expression "bVar11 = param_1 == 0x12d" identifier = (binary_expression "param_1 == 0x12d" identifier == number_literal)) ;) (if_statement "if (bVar11) {\n    iVar3 = 7;\n    pbVar6 = *(byte **)PTR_optarg_0008bff4;\n    pbVar7 = pbVar6;\n    pbVar8 = (byte *)"target";\n    do {\n      if (iVar3 == 0) break;\n      iVar3 = iVar3 + -1;\n      bVar9 = *pbVar7 < *pbVar8;\n      bVar11 = *pbVar7 == *pbVar8;\n      pbVar7 = pbVar7 + 1;\n      pbVar8 = pbVar8 + 1;\n    } while (bVar11);\n    bVar10 = false;\n    bVar9 = (!bVar9 && !bVar11) == bVar9;\n    if (!bVar9) {\n      iVar3 = 7;\n      pbVar7 = pbVar6;\n      pbVar8 = (byte *)"single";\n      do {\n        if (iVar3 == 0) break;\n        iVar3 = iVar3 + -1;\n        bVar10 = *pbVar7 < *pbVar8;\n        bVar9 = *pbVar7 == *pbVar8;\n        pbVar7 = pbVar7 + 1;\n        pbVar8 = pbVar8 + 1;\n      } while (bVar9);\n      bVar11 = false;\n      bVar9 = (!bVar10 && !bVar9) == bVar10;\n      if (!bVar9) {\n        iVar3 = 9;\n        pbVar7 = pbVar6;\n        pbVar8 = (byte *)"negative";\n        do {\n          if (iVar3 == 0) break;\n          iVar3 = iVar3 + -1;\n          bVar11 = *pbVar7 < *pbVar8;\n          bVar9 = *pbVar7 == *pbVar8;\n          pbVar7 = pbVar7 + 1;\n          pbVar8 = pbVar8 + 1;\n        } while (bVar9);\n        bVar10 = false;\n        bVar9 = (!bVar11 && !bVar9) == bVar11;\n        if (bVar9) {\n          DAT_0008cac4 = 1;\n          return 1;\n        }\n        iVar3 = 9;\n        pbVar7 = pbVar6;\n        pbVar8 = (byte *)"multigot";\n        do {\n          if (iVar3 == 0) break;\n          iVar3 = iVar3 + -1;\n          bVar10 = *pbVar7 < *pbVar8;\n          bVar9 = *pbVar7 == *pbVar8;\n          pbVar7 = pbVar7 + 1;\n          pbVar8 = pbVar8 + 1;\n        } while (bVar9);\n        if ((!bVar10 && !bVar9) == bVar10) {\n          DAT_0008cac4 = 2;\n          return 1;\n        }\n        pcVar5 = "%P: unrecognized --got argument \'%s\'\n";\n        goto LAB_0003606a;\n      }\n    }\n    DAT_0008cac4 = 0;\n    return 1;\n  }" if (parenthesized_expression "(bVar11)" ( identifier )) (compound_statement "{\n    iVar3 = 7;\n    pbVar6 = *(byte **)PTR_optarg_0008bff4;\n    pbVar7 = pbVar6;\n    pbVar8 = (byte *)"target";\n    do {\n      if (iVar3 == 0) break;\n      iVar3 = iVar3 + -1;\n      bVar9 = *pbVar7 < *pbVar8;\n      bVar11 = *pbVar7 == *pbVar8;\n      pbVar7 = pbVar7 + 1;\n      pbVar8 = pbVar8 + 1;\n    } while (bVar11);\n    bVar10 = false;\n    bVar9 = (!bVar9 && !bVar11) == bVar9;\n    if (!bVar9) {\n      iVar3 = 7;\n      pbVar7 = pbVar6;\n      pbVar8 = (byte *)"single";\n      do {\n        if (iVar3 == 0) break;\n        iVar3 = iVar3 + -1;\n        bVar10 = *pbVar7 < *pbVar8;\n        bVar9 = *pbVar7 == *pbVar8;\n        pbVar7 = pbVar7 + 1;\n        pbVar8 = pbVar8 + 1;\n      } while (bVar9);\n      bVar11 = false;\n      bVar9 = (!bVar10 && !bVar9) == bVar10;\n      if (!bVar9) {\n        iVar3 = 9;\n        pbVar7 = pbVar6;\n        pbVar8 = (byte *)"negative";\n        do {\n          if (iVar3 == 0) break;\n          iVar3 = iVar3 + -1;\n          bVar11 = *pbVar7 < *pbVar8;\n          bVar9 = *pbVar7 == *pbVar8;\n          pbVar7 = pbVar7 + 1;\n          pbVar8 = pbVar8 + 1;\n        } while (bVar9);\n        bVar10 = false;\n        bVar9 = (!bVar11 && !bVar9) == bVar11;\n        if (bVar9) {\n          DAT_0008cac4 = 1;\n          return 1;\n        }\n        iVar3 = 9;\n        pbVar7 = pbVar6;\n        pbVar8 = (byte *)"multigot";\n        do {\n          if (iVar3 == 0) break;\n          iVar3 = iVar3 + -1;\n          bVar10 = *pbVar7 < *pbVar8;\n          bVar9 = *pbVar7 == *pbVar8;\n          pbVar7 = pbVar7 + 1;\n          pbVar8 = pbVar8 + 1;\n        } while (bVar9);\n        if ((!bVar10 && !bVar9) == bVar10) {\n          DAT_0008cac4 = 2;\n          return 1;\n        }\n        pcVar5 = "%P: unrecognized --got argument \'%s\'\n";\n        goto LAB_0003606a;\n      }\n    }\n    DAT_0008cac4 = 0;\n    return 1;\n  }" { (expression_statement "iVar3 = 7;" (assignment_expression "iVar3 = 7" identifier = number_literal) ;) (expression_statement "pbVar6 = *(byte **)PTR_optarg_0008bff4;" (assignment_expression "pbVar6 = *(byte **)PTR_optarg_0008bff4" identifier = (pointer_expression "*(byte **)PTR_optarg_0008bff4" * (cast_expression "(byte **)PTR_optarg_0008bff4" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier))) ;) (expression_statement "pbVar7 = pbVar6;" (assignment_expression "pbVar7 = pbVar6" identifier = identifier) ;) (expression_statement "pbVar8 = (byte *)"target";" (assignment_expression "pbVar8 = (byte *)"target"" identifier = (cast_expression "(byte *)"target"" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (string_literal ""target"" " string_content "))) ;) (do_statement "do {\n      if (iVar3 == 0) break;\n      iVar3 = iVar3 + -1;\n      bVar9 = *pbVar7 < *pbVar8;\n      bVar11 = *pbVar7 == *pbVar8;\n      pbVar7 = pbVar7 + 1;\n      pbVar8 = pbVar8 + 1;\n    } while (bVar11);" do (compound_statement "{\n      if (iVar3 == 0) break;\n      iVar3 = iVar3 + -1;\n      bVar9 = *pbVar7 < *pbVar8;\n      bVar11 = *pbVar7 == *pbVar8;\n      pbVar7 = pbVar7 + 1;\n      pbVar8 = pbVar8 + 1;\n    }" { (if_statement "if (iVar3 == 0) break;" if (parenthesized_expression "(iVar3 == 0)" ( (binary_expression "iVar3 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "iVar3 = iVar3 + -1;" (assignment_expression "iVar3 = iVar3 + -1" identifier = (binary_expression "iVar3 + -1" identifier + number_literal)) ;) (expression_statement "bVar9 = *pbVar7 < *pbVar8;" (assignment_expression "bVar9 = *pbVar7 < *pbVar8" identifier = (binary_expression "*pbVar7 < *pbVar8" (pointer_expression "*pbVar7" * identifier) < (pointer_expression "*pbVar8" * identifier))) ;) (expression_statement "bVar11 = *pbVar7 == *pbVar8;" (assignment_expression "bVar11 = *pbVar7 == *pbVar8" identifier = (binary_expression "*pbVar7 == *pbVar8" (pointer_expression "*pbVar7" * identifier) == (pointer_expression "*pbVar8" * identifier))) ;) (expression_statement "pbVar7 = pbVar7 + 1;" (assignment_expression "pbVar7 = pbVar7 + 1" identifier = (binary_expression "pbVar7 + 1" identifier + number_literal)) ;) (expression_statement "pbVar8 = pbVar8 + 1;" (assignment_expression "pbVar8 = pbVar8 + 1" identifier = (binary_expression "pbVar8 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(bVar11)" ( identifier )) ;) (expression_statement "bVar10 = false;" (assignment_expression "bVar10 = false" identifier = false) ;) (expression_statement "bVar9 = (!bVar9 && !bVar11) == bVar9;" (assignment_expression "bVar9 = (!bVar9 && !bVar11) == bVar9" identifier = (binary_expression "(!bVar9 && !bVar11) == bVar9" (parenthesized_expression "(!bVar9 && !bVar11)" ( (binary_expression "!bVar9 && !bVar11" (unary_expression "!bVar9" ! identifier) && (unary_expression "!bVar11" ! identifier)) )) == identifier)) ;) (if_statement "if (!bVar9) {\n      iVar3 = 7;\n      pbVar7 = pbVar6;\n      pbVar8 = (byte *)"single";\n      do {\n        if (iVar3 == 0) break;\n        iVar3 = iVar3 + -1;\n        bVar10 = *pbVar7 < *pbVar8;\n        bVar9 = *pbVar7 == *pbVar8;\n        pbVar7 = pbVar7 + 1;\n        pbVar8 = pbVar8 + 1;\n      } while (bVar9);\n      bVar11 = false;\n      bVar9 = (!bVar10 && !bVar9) == bVar10;\n      if (!bVar9) {\n        iVar3 = 9;\n        pbVar7 = pbVar6;\n        pbVar8 = (byte *)"negative";\n        do {\n          if (iVar3 == 0) break;\n          iVar3 = iVar3 + -1;\n          bVar11 = *pbVar7 < *pbVar8;\n          bVar9 = *pbVar7 == *pbVar8;\n          pbVar7 = pbVar7 + 1;\n          pbVar8 = pbVar8 + 1;\n        } while (bVar9);\n        bVar10 = false;\n        bVar9 = (!bVar11 && !bVar9) == bVar11;\n        if (bVar9) {\n          DAT_0008cac4 = 1;\n          return 1;\n        }\n        iVar3 = 9;\n        pbVar7 = pbVar6;\n        pbVar8 = (byte *)"multigot";\n        do {\n          if (iVar3 == 0) break;\n          iVar3 = iVar3 + -1;\n          bVar10 = *pbVar7 < *pbVar8;\n          bVar9 = *pbVar7 == *pbVar8;\n          pbVar7 = pbVar7 + 1;\n          pbVar8 = pbVar8 + 1;\n        } while (bVar9);\n        if ((!bVar10 && !bVar9) == bVar10) {\n          DAT_0008cac4 = 2;\n          return 1;\n        }\n        pcVar5 = "%P: unrecognized --got argument \'%s\'\n";\n        goto LAB_0003606a;\n      }\n    }" if (parenthesized_expression "(!bVar9)" ( (unary_expression "!bVar9" ! identifier) )) (compound_statement "{\n      iVar3 = 7;\n      pbVar7 = pbVar6;\n      pbVar8 = (byte *)"single";\n      do {\n        if (iVar3 == 0) break;\n        iVar3 = iVar3 + -1;\n        bVar10 = *pbVar7 < *pbVar8;\n        bVar9 = *pbVar7 == *pbVar8;\n        pbVar7 = pbVar7 + 1;\n        pbVar8 = pbVar8 + 1;\n      } while (bVar9);\n      bVar11 = false;\n      bVar9 = (!bVar10 && !bVar9) == bVar10;\n      if (!bVar9) {\n        iVar3 = 9;\n        pbVar7 = pbVar6;\n        pbVar8 = (byte *)"negative";\n        do {\n          if (iVar3 == 0) break;\n          iVar3 = iVar3 + -1;\n          bVar11 = *pbVar7 < *pbVar8;\n          bVar9 = *pbVar7 == *pbVar8;\n          pbVar7 = pbVar7 + 1;\n          pbVar8 = pbVar8 + 1;\n        } while (bVar9);\n        bVar10 = false;\n        bVar9 = (!bVar11 && !bVar9) == bVar11;\n        if (bVar9) {\n          DAT_0008cac4 = 1;\n          return 1;\n        }\n        iVar3 = 9;\n        pbVar7 = pbVar6;\n        pbVar8 = (byte *)"multigot";\n        do {\n          if (iVar3 == 0) break;\n          iVar3 = iVar3 + -1;\n          bVar10 = *pbVar7 < *pbVar8;\n          bVar9 = *pbVar7 == *pbVar8;\n          pbVar7 = pbVar7 + 1;\n          pbVar8 = pbVar8 + 1;\n        } while (bVar9);\n        if ((!bVar10 && !bVar9) == bVar10) {\n          DAT_0008cac4 = 2;\n          return 1;\n        }\n        pcVar5 = "%P: unrecognized --got argument \'%s\'\n";\n        goto LAB_0003606a;\n      }\n    }" { (expression_statement "iVar3 = 7;" (assignment_expression "iVar3 = 7" identifier = number_literal) ;) (expression_statement "pbVar7 = pbVar6;" (assignment_expression "pbVar7 = pbVar6" identifier = identifier) ;) (expression_statement "pbVar8 = (byte *)"single";" (assignment_expression "pbVar8 = (byte *)"single"" identifier = (cast_expression "(byte *)"single"" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (string_literal ""single"" " string_content "))) ;) (do_statement "do {\n        if (iVar3 == 0) break;\n        iVar3 = iVar3 + -1;\n        bVar10 = *pbVar7 < *pbVar8;\n        bVar9 = *pbVar7 == *pbVar8;\n        pbVar7 = pbVar7 + 1;\n        pbVar8 = pbVar8 + 1;\n      } while (bVar9);" do (compound_statement "{\n        if (iVar3 == 0) break;\n        iVar3 = iVar3 + -1;\n        bVar10 = *pbVar7 < *pbVar8;\n        bVar9 = *pbVar7 == *pbVar8;\n        pbVar7 = pbVar7 + 1;\n        pbVar8 = pbVar8 + 1;\n      }" { (if_statement "if (iVar3 == 0) break;" if (parenthesized_expression "(iVar3 == 0)" ( (binary_expression "iVar3 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "iVar3 = iVar3 + -1;" (assignment_expression "iVar3 = iVar3 + -1" identifier = (binary_expression "iVar3 + -1" identifier + number_literal)) ;) (expression_statement "bVar10 = *pbVar7 < *pbVar8;" (assignment_expression "bVar10 = *pbVar7 < *pbVar8" identifier = (binary_expression "*pbVar7 < *pbVar8" (pointer_expression "*pbVar7" * identifier) < (pointer_expression "*pbVar8" * identifier))) ;) (expression_statement "bVar9 = *pbVar7 == *pbVar8;" (assignment_expression "bVar9 = *pbVar7 == *pbVar8" identifier = (binary_expression "*pbVar7 == *pbVar8" (pointer_expression "*pbVar7" * identifier) == (pointer_expression "*pbVar8" * identifier))) ;) (expression_statement "pbVar7 = pbVar7 + 1;" (assignment_expression "pbVar7 = pbVar7 + 1" identifier = (binary_expression "pbVar7 + 1" identifier + number_literal)) ;) (expression_statement "pbVar8 = pbVar8 + 1;" (assignment_expression "pbVar8 = pbVar8 + 1" identifier = (binary_expression "pbVar8 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(bVar9)" ( identifier )) ;) (expression_statement "bVar11 = false;" (assignment_expression "bVar11 = false" identifier = false) ;) (expression_statement "bVar9 = (!bVar10 && !bVar9) == bVar10;" (assignment_expression "bVar9 = (!bVar10 && !bVar9) == bVar10" identifier = (binary_expression "(!bVar10 && !bVar9) == bVar10" (parenthesized_expression "(!bVar10 && !bVar9)" ( (binary_expression "!bVar10 && !bVar9" (unary_expression "!bVar10" ! identifier) && (unary_expression "!bVar9" ! identifier)) )) == identifier)) ;) (if_statement "if (!bVar9) {\n        iVar3 = 9;\n        pbVar7 = pbVar6;\n        pbVar8 = (byte *)"negative";\n        do {\n          if (iVar3 == 0) break;\n          iVar3 = iVar3 + -1;\n          bVar11 = *pbVar7 < *pbVar8;\n          bVar9 = *pbVar7 == *pbVar8;\n          pbVar7 = pbVar7 + 1;\n          pbVar8 = pbVar8 + 1;\n        } while (bVar9);\n        bVar10 = false;\n        bVar9 = (!bVar11 && !bVar9) == bVar11;\n        if (bVar9) {\n          DAT_0008cac4 = 1;\n          return 1;\n        }\n        iVar3 = 9;\n        pbVar7 = pbVar6;\n        pbVar8 = (byte *)"multigot";\n        do {\n          if (iVar3 == 0) break;\n          iVar3 = iVar3 + -1;\n          bVar10 = *pbVar7 < *pbVar8;\n          bVar9 = *pbVar7 == *pbVar8;\n          pbVar7 = pbVar7 + 1;\n          pbVar8 = pbVar8 + 1;\n        } while (bVar9);\n        if ((!bVar10 && !bVar9) == bVar10) {\n          DAT_0008cac4 = 2;\n          return 1;\n        }\n        pcVar5 = "%P: unrecognized --got argument \'%s\'\n";\n        goto LAB_0003606a;\n      }" if (parenthesized_expression "(!bVar9)" ( (unary_expression "!bVar9" ! identifier) )) (compound_statement "{\n        iVar3 = 9;\n        pbVar7 = pbVar6;\n        pbVar8 = (byte *)"negative";\n        do {\n          if (iVar3 == 0) break;\n          iVar3 = iVar3 + -1;\n          bVar11 = *pbVar7 < *pbVar8;\n          bVar9 = *pbVar7 == *pbVar8;\n          pbVar7 = pbVar7 + 1;\n          pbVar8 = pbVar8 + 1;\n        } while (bVar9);\n        bVar10 = false;\n        bVar9 = (!bVar11 && !bVar9) == bVar11;\n        if (bVar9) {\n          DAT_0008cac4 = 1;\n          return 1;\n        }\n        iVar3 = 9;\n        pbVar7 = pbVar6;\n        pbVar8 = (byte *)"multigot";\n        do {\n          if (iVar3 == 0) break;\n          iVar3 = iVar3 + -1;\n          bVar10 = *pbVar7 < *pbVar8;\n          bVar9 = *pbVar7 == *pbVar8;\n          pbVar7 = pbVar7 + 1;\n          pbVar8 = pbVar8 + 1;\n        } while (bVar9);\n        if ((!bVar10 && !bVar9) == bVar10) {\n          DAT_0008cac4 = 2;\n          return 1;\n        }\n        pcVar5 = "%P: unrecognized --got argument \'%s\'\n";\n        goto LAB_0003606a;\n      }" { (expression_statement "iVar3 = 9;" (assignment_expression "iVar3 = 9" identifier = number_literal) ;) (expression_statement "pbVar7 = pbVar6;" (assignment_expression "pbVar7 = pbVar6" identifier = identifier) ;) (expression_statement "pbVar8 = (byte *)"negative";" (assignment_expression "pbVar8 = (byte *)"negative"" identifier = (cast_expression "(byte *)"negative"" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (string_literal ""negative"" " string_content "))) ;) (do_statement "do {\n          if (iVar3 == 0) break;\n          iVar3 = iVar3 + -1;\n          bVar11 = *pbVar7 < *pbVar8;\n          bVar9 = *pbVar7 == *pbVar8;\n          pbVar7 = pbVar7 + 1;\n          pbVar8 = pbVar8 + 1;\n        } while (bVar9);" do (compound_statement "{\n          if (iVar3 == 0) break;\n          iVar3 = iVar3 + -1;\n          bVar11 = *pbVar7 < *pbVar8;\n          bVar9 = *pbVar7 == *pbVar8;\n          pbVar7 = pbVar7 + 1;\n          pbVar8 = pbVar8 + 1;\n        }" { (if_statement "if (iVar3 == 0) break;" if (parenthesized_expression "(iVar3 == 0)" ( (binary_expression "iVar3 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "iVar3 = iVar3 + -1;" (assignment_expression "iVar3 = iVar3 + -1" identifier = (binary_expression "iVar3 + -1" identifier + number_literal)) ;) (expression_statement "bVar11 = *pbVar7 < *pbVar8;" (assignment_expression "bVar11 = *pbVar7 < *pbVar8" identifier = (binary_expression "*pbVar7 < *pbVar8" (pointer_expression "*pbVar7" * identifier) < (pointer_expression "*pbVar8" * identifier))) ;) (expression_statement "bVar9 = *pbVar7 == *pbVar8;" (assignment_expression "bVar9 = *pbVar7 == *pbVar8" identifier = (binary_expression "*pbVar7 == *pbVar8" (pointer_expression "*pbVar7" * identifier) == (pointer_expression "*pbVar8" * identifier))) ;) (expression_statement "pbVar7 = pbVar7 + 1;" (assignment_expression "pbVar7 = pbVar7 + 1" identifier = (binary_expression "pbVar7 + 1" identifier + number_literal)) ;) (expression_statement "pbVar8 = pbVar8 + 1;" (assignment_expression "pbVar8 = pbVar8 + 1" identifier = (binary_expression "pbVar8 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(bVar9)" ( identifier )) ;) (expression_statement "bVar10 = false;" (assignment_expression "bVar10 = false" identifier = false) ;) (expression_statement "bVar9 = (!bVar11 && !bVar9) == bVar11;" (assignment_expression "bVar9 = (!bVar11 && !bVar9) == bVar11" identifier = (binary_expression "(!bVar11 && !bVar9) == bVar11" (parenthesized_expression "(!bVar11 && !bVar9)" ( (binary_expression "!bVar11 && !bVar9" (unary_expression "!bVar11" ! identifier) && (unary_expression "!bVar9" ! identifier)) )) == identifier)) ;) (if_statement "if (bVar9) {\n          DAT_0008cac4 = 1;\n          return 1;\n        }" if (parenthesized_expression "(bVar9)" ( identifier )) (compound_statement "{\n          DAT_0008cac4 = 1;\n          return 1;\n        }" { (expression_statement "DAT_0008cac4 = 1;" (assignment_expression "DAT_0008cac4 = 1" identifier = number_literal) ;) (return_statement "return 1;" return number_literal ;) })) (expression_statement "iVar3 = 9;" (assignment_expression "iVar3 = 9" identifier = number_literal) ;) (expression_statement "pbVar7 = pbVar6;" (assignment_expression "pbVar7 = pbVar6" identifier = identifier) ;) (expression_statement "pbVar8 = (byte *)"multigot";" (assignment_expression "pbVar8 = (byte *)"multigot"" identifier = (cast_expression "(byte *)"multigot"" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (string_literal ""multigot"" " string_content "))) ;) (do_statement "do {\n          if (iVar3 == 0) break;\n          iVar3 = iVar3 + -1;\n          bVar10 = *pbVar7 < *pbVar8;\n          bVar9 = *pbVar7 == *pbVar8;\n          pbVar7 = pbVar7 + 1;\n          pbVar8 = pbVar8 + 1;\n        } while (bVar9);" do (compound_statement "{\n          if (iVar3 == 0) break;\n          iVar3 = iVar3 + -1;\n          bVar10 = *pbVar7 < *pbVar8;\n          bVar9 = *pbVar7 == *pbVar8;\n          pbVar7 = pbVar7 + 1;\n          pbVar8 = pbVar8 + 1;\n        }" { (if_statement "if (iVar3 == 0) break;" if (parenthesized_expression "(iVar3 == 0)" ( (binary_expression "iVar3 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "iVar3 = iVar3 + -1;" (assignment_expression "iVar3 = iVar3 + -1" identifier = (binary_expression "iVar3 + -1" identifier + number_literal)) ;) (expression_statement "bVar10 = *pbVar7 < *pbVar8;" (assignment_expression "bVar10 = *pbVar7 < *pbVar8" identifier = (binary_expression "*pbVar7 < *pbVar8" (pointer_expression "*pbVar7" * identifier) < (pointer_expression "*pbVar8" * identifier))) ;) (expression_statement "bVar9 = *pbVar7 == *pbVar8;" (assignment_expression "bVar9 = *pbVar7 == *pbVar8" identifier = (binary_expression "*pbVar7 == *pbVar8" (pointer_expression "*pbVar7" * identifier) == (pointer_expression "*pbVar8" * identifier))) ;) (expression_statement "pbVar7 = pbVar7 + 1;" (assignment_expression "pbVar7 = pbVar7 + 1" identifier = (binary_expression "pbVar7 + 1" identifier + number_literal)) ;) (expression_statement "pbVar8 = pbVar8 + 1;" (assignment_expression "pbVar8 = pbVar8 + 1" identifier = (binary_expression "pbVar8 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(bVar9)" ( identifier )) ;) (if_statement "if ((!bVar10 && !bVar9) == bVar10) {\n          DAT_0008cac4 = 2;\n          return 1;\n        }" if (parenthesized_expression "((!bVar10 && !bVar9) == bVar10)" ( (binary_expression "(!bVar10 && !bVar9) == bVar10" (parenthesized_expression "(!bVar10 && !bVar9)" ( (binary_expression "!bVar10 && !bVar9" (unary_expression "!bVar10" ! identifier) && (unary_expression "!bVar9" ! identifier)) )) == identifier) )) (compound_statement "{\n          DAT_0008cac4 = 2;\n          return 1;\n        }" { (expression_statement "DAT_0008cac4 = 2;" (assignment_expression "DAT_0008cac4 = 2" identifier = number_literal) ;) (return_statement "return 1;" return number_literal ;) })) (expression_statement "pcVar5 = "%P: unrecognized --got argument \'%s\'\n";" (assignment_expression "pcVar5 = "%P: unrecognized --got argument \'%s\'\n"" identifier = (string_literal ""%P: unrecognized --got argument \'%s\'\n"" " string_content escape_sequence string_content escape_sequence escape_sequence ")) ;) (goto_statement "goto LAB_0003606a;" goto statement_identifier ;) })) })) (expression_statement "DAT_0008cac4 = 0;" (assignment_expression "DAT_0008cac4 = 0" identifier = number_literal) ;) (return_statement "return 1;" return number_literal ;) })) (if_statement "if (0x12d < (int)param_1) {\n    if (param_1 == 0x191) {\n      _DAT_0008cc04 = _DAT_0008cc04 | 0x100;\n      return 1;\n    }\n    if (0x191 < (int)param_1) {\n      DAT_0008cc00._2_2_ = DAT_0008cc00._2_2_ | 0x1e0;\n      DAT_0008cc74 = DAT_0008cc74 | 4;\n      return 1;\n    }\n    if (param_1 != 400) {\n      return 0;\n    }\n    _DAT_0008cc04 = _DAT_0008cc04 & 0xfffffeff;\n    return 1;\n  }" if (parenthesized_expression "(0x12d < (int)param_1)" ( (binary_expression "0x12d < (int)param_1" number_literal < (cast_expression "(int)param_1" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n    if (param_1 == 0x191) {\n      _DAT_0008cc04 = _DAT_0008cc04 | 0x100;\n      return 1;\n    }\n    if (0x191 < (int)param_1) {\n      DAT_0008cc00._2_2_ = DAT_0008cc00._2_2_ | 0x1e0;\n      DAT_0008cc74 = DAT_0008cc74 | 4;\n      return 1;\n    }\n    if (param_1 != 400) {\n      return 0;\n    }\n    _DAT_0008cc04 = _DAT_0008cc04 & 0xfffffeff;\n    return 1;\n  }" { (if_statement "if (param_1 == 0x191) {\n      _DAT_0008cc04 = _DAT_0008cc04 | 0x100;\n      return 1;\n    }" if (parenthesized_expression "(param_1 == 0x191)" ( (binary_expression "param_1 == 0x191" identifier == number_literal) )) (compound_statement "{\n      _DAT_0008cc04 = _DAT_0008cc04 | 0x100;\n      return 1;\n    }" { (expression_statement "_DAT_0008cc04 = _DAT_0008cc04 | 0x100;" (assignment_expression "_DAT_0008cc04 = _DAT_0008cc04 | 0x100" identifier = (binary_expression "_DAT_0008cc04 | 0x100" identifier | number_literal)) ;) (return_statement "return 1;" return number_literal ;) })) (if_statement "if (0x191 < (int)param_1) {\n      DAT_0008cc00._2_2_ = DAT_0008cc00._2_2_ | 0x1e0;\n      DAT_0008cc74 = DAT_0008cc74 | 4;\n      return 1;\n    }" if (parenthesized_expression "(0x191 < (int)param_1)" ( (binary_expression "0x191 < (int)param_1" number_literal < (cast_expression "(int)param_1" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n      DAT_0008cc00._2_2_ = DAT_0008cc00._2_2_ | 0x1e0;\n      DAT_0008cc74 = DAT_0008cc74 | 4;\n      return 1;\n    }" { (expression_statement "DAT_0008cc00._2_2_ = DAT_0008cc00._2_2_ | 0x1e0;" (assignment_expression "DAT_0008cc00._2_2_ = DAT_0008cc00._2_2_ | 0x1e0" (field_expression "DAT_0008cc00._2_2_" identifier . field_identifier) = (binary_expression "DAT_0008cc00._2_2_ | 0x1e0" (field_expression "DAT_0008cc00._2_2_" identifier . field_identifier) | number_literal)) ;) (expression_statement "DAT_0008cc74 = DAT_0008cc74 | 4;" (assignment_expression "DAT_0008cc74 = DAT_0008cc74 | 4" identifier = (binary_expression "DAT_0008cc74 | 4" identifier | number_literal)) ;) (return_statement "return 1;" return number_literal ;) })) (if_statement "if (param_1 != 400) {\n      return 0;\n    }" if (parenthesized_expression "(param_1 != 400)" ( (binary_expression "param_1 != 400" identifier != number_literal) )) (compound_statement "{\n      return 0;\n    }" { (return_statement "return 0;" return number_literal ;) })) (expression_statement "_DAT_0008cc04 = _DAT_0008cc04 & 0xfffffeff;" (assignment_expression "_DAT_0008cc04 = _DAT_0008cc04 & 0xfffffeff" identifier = (binary_expression "_DAT_0008cc04 & 0xfffffeff" identifier & number_literal)) ;) (return_statement "return 1;" return number_literal ;) })) (if_statement "if (param_1 == 0x50) {\n    FUN_000359c0();\n    return 1;\n  }" if (parenthesized_expression "(param_1 == 0x50)" ( (binary_expression "param_1 == 0x50" identifier == number_literal) )) (compound_statement "{\n    FUN_000359c0();\n    return 1;\n  }" { (expression_statement "FUN_000359c0();" (call_expression "FUN_000359c0()" identifier (argument_list "()" ( ))) ;) (return_statement "return 1;" return number_literal ;) })) (expression_statement "bVar9 = param_1 < 0x7a;" (assignment_expression "bVar9 = param_1 < 0x7a" identifier = (binary_expression "param_1 < 0x7a" identifier < number_literal)) ;) (expression_statement "bVar11 = param_1 == 0x7a;" (assignment_expression "bVar11 = param_1 == 0x7a" identifier = (binary_expression "param_1 == 0x7a" identifier == number_literal)) ;) (if_statement "if (!bVar11) {\n    return 0;\n  }" if (parenthesized_expression "(!bVar11)" ( (unary_expression "!bVar11" ! identifier) )) (compound_statement "{\n    return 0;\n  }" { (return_statement "return 0;" return number_literal ;) })) (expression_statement "iVar3 = 5;" (assignment_expression "iVar3 = 5" identifier = number_literal) ;) (expression_statement "pbVar6 = *(byte **)PTR_optarg_0008bff4;" (assignment_expression "pbVar6 = *(byte **)PTR_optarg_0008bff4" identifier = (pointer_expression "*(byte **)PTR_optarg_0008bff4" * (cast_expression "(byte **)PTR_optarg_0008bff4" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier))) ;) (expression_statement "pbVar7 = pbVar6;" (assignment_expression "pbVar7 = pbVar6" identifier = identifier) ;) (expression_statement "pbVar8 = (byte *)0x4acc7;" (assignment_expression "pbVar8 = (byte *)0x4acc7" identifier = (cast_expression "(byte *)0x4acc7" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (do_statement "do {\n    if (iVar3 == 0) break;\n    iVar3 = iVar3 + -1;\n    bVar9 = *pbVar7 < *pbVar8;\n    bVar11 = *pbVar7 == *pbVar8;\n    pbVar7 = pbVar7 + 1;\n    pbVar8 = pbVar8 + 1;\n  } while (bVar11);" do (compound_statement "{\n    if (iVar3 == 0) break;\n    iVar3 = iVar3 + -1;\n    bVar9 = *pbVar7 < *pbVar8;\n    bVar11 = *pbVar7 == *pbVar8;\n    pbVar7 = pbVar7 + 1;\n    pbVar8 = pbVar8 + 1;\n  }" { (if_statement "if (iVar3 == 0) break;" if (parenthesized_expression "(iVar3 == 0)" ( (binary_expression "iVar3 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "iVar3 = iVar3 + -1;" (assignment_expression "iVar3 = iVar3 + -1" identifier = (binary_expression "iVar3 + -1" identifier + number_literal)) ;) (expression_statement "bVar9 = *pbVar7 < *pbVar8;" (assignment_expression "bVar9 = *pbVar7 < *pbVar8" identifier = (binary_expression "*pbVar7 < *pbVar8" (pointer_expression "*pbVar7" * identifier) < (pointer_expression "*pbVar8" * identifier))) ;) (expression_statement "bVar11 = *pbVar7 == *pbVar8;" (assignment_expression "bVar11 = *pbVar7 == *pbVar8" identifier = (binary_expression "*pbVar7 == *pbVar8" (pointer_expression "*pbVar7" * identifier) == (pointer_expression "*pbVar8" * identifier))) ;) (expression_statement "pbVar7 = pbVar7 + 1;" (assignment_expression "pbVar7 = pbVar7 + 1" identifier = (binary_expression "pbVar7 + 1" identifier + number_literal)) ;) (expression_statement "pbVar8 = pbVar8 + 1;" (assignment_expression "pbVar8 = pbVar8 + 1" identifier = (binary_expression "pbVar8 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(bVar11)" ( identifier )) ;) (expression_statement "bVar10 = false;" (assignment_expression "bVar10 = false" identifier = false) ;) (expression_statement "bVar9 = (!bVar9 && !bVar11) == bVar9;" (assignment_expression "bVar9 = (!bVar9 && !bVar11) == bVar9" identifier = (binary_expression "(!bVar9 && !bVar11) == bVar9" (parenthesized_expression "(!bVar9 && !bVar11)" ( (binary_expression "!bVar9 && !bVar11" (unary_expression "!bVar9" ! identifier) && (unary_expression "!bVar11" ! identifier)) )) == identifier)) ;) (if_statement "if (bVar9) {\n    DAT_0008cc00._2_2_ = DAT_0008cc00._2_2_ | 0x60;\n    return 1;\n  }" if (parenthesized_expression "(bVar9)" ( identifier )) (compound_statement "{\n    DAT_0008cc00._2_2_ = DAT_0008cc00._2_2_ | 0x60;\n    return 1;\n  }" { (expression_statement "DAT_0008cc00._2_2_ = DAT_0008cc00._2_2_ | 0x60;" (assignment_expression "DAT_0008cc00._2_2_ = DAT_0008cc00._2_2_ | 0x60" (field_expression "DAT_0008cc00._2_2_" identifier . field_identifier) = (binary_expression "DAT_0008cc00._2_2_ | 0x60" (field_expression "DAT_0008cc00._2_2_" identifier . field_identifier) | number_literal)) ;) (return_statement "return 1;" return number_literal ;) })) (expression_statement "iVar3 = 7;" (assignment_expression "iVar3 = 7" identifier = number_literal) ;) (expression_statement "pbVar7 = pbVar6;" (assignment_expression "pbVar7 = pbVar6" identifier = identifier) ;) (expression_statement "pbVar8 = (byte *)"undefs";" (assignment_expression "pbVar8 = (byte *)"undefs"" identifier = (cast_expression "(byte *)"undefs"" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (string_literal ""undefs"" " string_content "))) ;) (do_statement "do {\n    if (iVar3 == 0) break;\n    iVar3 = iVar3 + -1;\n    bVar10 = *pbVar7 < *pbVar8;\n    bVar9 = *pbVar7 == *pbVar8;\n    pbVar7 = pbVar7 + 1;\n    pbVar8 = pbVar8 + 1;\n  } while (bVar9);" do (compound_statement "{\n    if (iVar3 == 0) break;\n    iVar3 = iVar3 + -1;\n    bVar10 = *pbVar7 < *pbVar8;\n    bVar9 = *pbVar7 == *pbVar8;\n    pbVar7 = pbVar7 + 1;\n    pbVar8 = pbVar8 + 1;\n  }" { (if_statement "if (iVar3 == 0) break;" if (parenthesized_expression "(iVar3 == 0)" ( (binary_expression "iVar3 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "iVar3 = iVar3 + -1;" (assignment_expression "iVar3 = iVar3 + -1" identifier = (binary_expression "iVar3 + -1" identifier + number_literal)) ;) (expression_statement "bVar10 = *pbVar7 < *pbVar8;" (assignment_expression "bVar10 = *pbVar7 < *pbVar8" identifier = (binary_expression "*pbVar7 < *pbVar8" (pointer_expression "*pbVar7" * identifier) < (pointer_expression "*pbVar8" * identifier))) ;) (expression_statement "bVar9 = *pbVar7 == *pbVar8;" (assignment_expression "bVar9 = *pbVar7 == *pbVar8" identifier = (binary_expression "*pbVar7 == *pbVar8" (pointer_expression "*pbVar7" * identifier) == (pointer_expression "*pbVar8" * identifier))) ;) (expression_statement "pbVar7 = pbVar7 + 1;" (assignment_expression "pbVar7 = pbVar7 + 1" identifier = (binary_expression "pbVar7 + 1" identifier + number_literal)) ;) (expression_statement "pbVar8 = pbVar8 + 1;" (assignment_expression "pbVar8 = pbVar8 + 1" identifier = (binary_expression "pbVar8 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(bVar9)" ( identifier )) ;) (expression_statement "bVar11 = false;" (assignment_expression "bVar11 = false" identifier = false) ;) (expression_statement "bVar9 = (!bVar10 && !bVar9) == bVar10;" (assignment_expression "bVar9 = (!bVar10 && !bVar9) == bVar10" identifier = (binary_expression "(!bVar10 && !bVar9) == bVar10" (parenthesized_expression "(!bVar10 && !bVar9)" ( (binary_expression "!bVar10 && !bVar9" (unary_expression "!bVar10" ! identifier) && (unary_expression "!bVar9" ! identifier)) )) == identifier)) ;) (if_statement "if (bVar9) {\n    DAT_0008cc00._2_2_ = DAT_0008cc00._2_2_ & 0xff9f | 0x20;\n    return 1;\n  }" if (parenthesized_expression "(bVar9)" ( identifier )) (compound_statement "{\n    DAT_0008cc00._2_2_ = DAT_0008cc00._2_2_ & 0xff9f | 0x20;\n    return 1;\n  }" { (expression_statement "DAT_0008cc00._2_2_ = DAT_0008cc00._2_2_ & 0xff9f | 0x20;" (assignment_expression "DAT_0008cc00._2_2_ = DAT_0008cc00._2_2_ & 0xff9f | 0x20" (field_expression "DAT_0008cc00._2_2_" identifier . field_identifier) = (binary_expression "DAT_0008cc00._2_2_ & 0xff9f | 0x20" (binary_expression "DAT_0008cc00._2_2_ & 0xff9f" (field_expression "DAT_0008cc00._2_2_" identifier . field_identifier) & number_literal) | number_literal)) ;) (return_statement "return 1;" return number_literal ;) })) (expression_statement "iVar3 = 8;" (assignment_expression "iVar3 = 8" identifier = number_literal) ;) (expression_statement "pbVar7 = pbVar6;" (assignment_expression "pbVar7 = pbVar6" identifier = identifier) ;) (expression_statement "pbVar8 = (byte *)"muldefs";" (assignment_expression "pbVar8 = (byte *)"muldefs"" identifier = (cast_expression "(byte *)"muldefs"" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (string_literal ""muldefs"" " string_content "))) ;) (do_statement "do {\n    if (iVar3 == 0) break;\n    iVar3 = iVar3 + -1;\n    bVar11 = *pbVar7 < *pbVar8;\n    bVar9 = *pbVar7 == *pbVar8;\n    pbVar7 = pbVar7 + 1;\n    pbVar8 = pbVar8 + 1;\n  } while (bVar9);" do (compound_statement "{\n    if (iVar3 == 0) break;\n    iVar3 = iVar3 + -1;\n    bVar11 = *pbVar7 < *pbVar8;\n    bVar9 = *pbVar7 == *pbVar8;\n    pbVar7 = pbVar7 + 1;\n    pbVar8 = pbVar8 + 1;\n  }" { (if_statement "if (iVar3 == 0) break;" if (parenthesized_expression "(iVar3 == 0)" ( (binary_expression "iVar3 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "iVar3 = iVar3 + -1;" (assignment_expression "iVar3 = iVar3 + -1" identifier = (binary_expression "iVar3 + -1" identifier + number_literal)) ;) (expression_statement "bVar11 = *pbVar7 < *pbVar8;" (assignment_expression "bVar11 = *pbVar7 < *pbVar8" identifier = (binary_expression "*pbVar7 < *pbVar8" (pointer_expression "*pbVar7" * identifier) < (pointer_expression "*pbVar8" * identifier))) ;) (expression_statement "bVar9 = *pbVar7 == *pbVar8;" (assignment_expression "bVar9 = *pbVar7 == *pbVar8" identifier = (binary_expression "*pbVar7 == *pbVar8" (pointer_expression "*pbVar7" * identifier) == (pointer_expression "*pbVar8" * identifier))) ;) (expression_statement "pbVar7 = pbVar7 + 1;" (assignment_expression "pbVar7 = pbVar7 + 1" identifier = (binary_expression "pbVar7 + 1" identifier + number_literal)) ;) (expression_statement "pbVar8 = pbVar8 + 1;" (assignment_expression "pbVar8 = pbVar8 + 1" identifier = (binary_expression "pbVar8 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(bVar9)" ( identifier )) ;) (expression_statement "bVar10 = false;" (assignment_expression "bVar10 = false" identifier = false) ;) (expression_statement "bVar9 = (!bVar11 && !bVar9) == bVar11;" (assignment_expression "bVar9 = (!bVar11 && !bVar9) == bVar11" identifier = (binary_expression "(!bVar11 && !bVar9) == bVar11" (parenthesized_expression "(!bVar11 && !bVar9)" ( (binary_expression "!bVar11 && !bVar9" (unary_expression "!bVar11" ! identifier) && (unary_expression "!bVar9" ! identifier)) )) == identifier)) ;) (if_statement "if (bVar9) {\n    _DAT_0008cc04 = _DAT_0008cc04 | 0x800;\n    return 1;\n  }" if (parenthesized_expression "(bVar9)" ( identifier )) (compound_statement "{\n    _DAT_0008cc04 = _DAT_0008cc04 | 0x800;\n    return 1;\n  }" { (expression_statement "_DAT_0008cc04 = _DAT_0008cc04 | 0x800;" (assignment_expression "_DAT_0008cc04 = _DAT_0008cc04 | 0x800" identifier = (binary_expression "_DAT_0008cc04 | 0x800" identifier | number_literal)) ;) (return_statement "return 1;" return number_literal ;) })) (expression_statement "iVar3 = 0xe;" (assignment_expression "iVar3 = 0xe" identifier = number_literal) ;) (expression_statement "pbVar7 = pbVar6;" (assignment_expression "pbVar7 = pbVar6" identifier = identifier) ;) (expression_statement "pbVar8 = (byte *)"max-page-size=";" (assignment_expression "pbVar8 = (byte *)"max-page-size="" identifier = (cast_expression "(byte *)"max-page-size="" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (string_literal ""max-page-size="" " string_content "))) ;) (do_statement "do {\n    if (iVar3 == 0) break;\n    iVar3 = iVar3 + -1;\n    bVar10 = *pbVar7 < *pbVar8;\n    bVar9 = *pbVar7 == *pbVar8;\n    pbVar7 = pbVar7 + 1;\n    pbVar8 = pbVar8 + 1;\n  } while (bVar9);" do (compound_statement "{\n    if (iVar3 == 0) break;\n    iVar3 = iVar3 + -1;\n    bVar10 = *pbVar7 < *pbVar8;\n    bVar9 = *pbVar7 == *pbVar8;\n    pbVar7 = pbVar7 + 1;\n    pbVar8 = pbVar8 + 1;\n  }" { (if_statement "if (iVar3 == 0) break;" if (parenthesized_expression "(iVar3 == 0)" ( (binary_expression "iVar3 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "iVar3 = iVar3 + -1;" (assignment_expression "iVar3 = iVar3 + -1" identifier = (binary_expression "iVar3 + -1" identifier + number_literal)) ;) (expression_statement "bVar10 = *pbVar7 < *pbVar8;" (assignment_expression "bVar10 = *pbVar7 < *pbVar8" identifier = (binary_expression "*pbVar7 < *pbVar8" (pointer_expression "*pbVar7" * identifier) < (pointer_expression "*pbVar8" * identifier))) ;) (expression_statement "bVar9 = *pbVar7 == *pbVar8;" (assignment_expression "bVar9 = *pbVar7 == *pbVar8" identifier = (binary_expression "*pbVar7 == *pbVar8" (pointer_expression "*pbVar7" * identifier) == (pointer_expression "*pbVar8" * identifier))) ;) (expression_statement "pbVar7 = pbVar7 + 1;" (assignment_expression "pbVar7 = pbVar7 + 1" identifier = (binary_expression "pbVar7 + 1" identifier + number_literal)) ;) (expression_statement "pbVar8 = pbVar8 + 1;" (assignment_expression "pbVar8 = pbVar8 + 1" identifier = (binary_expression "pbVar8 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(bVar9)" ( identifier )) ;) (expression_statement "bVar11 = false;" (assignment_expression "bVar11 = false" identifier = false) ;) (expression_statement "bVar9 = (!bVar10 && !bVar9) == bVar10;" (assignment_expression "bVar9 = (!bVar10 && !bVar9) == bVar10" identifier = (binary_expression "(!bVar10 && !bVar9) == bVar10" (parenthesized_expression "(!bVar10 && !bVar9)" ( (binary_expression "!bVar10 && !bVar9" (unary_expression "!bVar10" ! identifier) && (unary_expression "!bVar9" ! identifier)) )) == identifier)) ;) (if_statement "if (bVar9) {\n    DAT_0008cd60 = strtoul((char *)(pbVar6 + 0xe),local_20,0);\n    if ((*local_20[0] == '\0') && ((DAT_0008cd60 - 1 & DAT_0008cd60) == 0)) {\n      return 1;\n    }\n    pcVar5 = "%F%P: invalid maximum page size `%s\'\n";\n    __s1 = (char *)(*(int *)puVar1 + 0xe);\n  }\n  else {\n    iVar3 = 0x11;\n    pbVar7 = pbVar6;\n    pbVar8 = (byte *)"common-page-size=";\n    do {\n      if (iVar3 == 0) break;\n      iVar3 = iVar3 + -1;\n      bVar11 = *pbVar7 < *pbVar8;\n      bVar9 = *pbVar7 == *pbVar8;\n      pbVar7 = pbVar7 + 1;\n      pbVar8 = pbVar8 + 1;\n    } while (bVar9);\n    bVar10 = false;\n    bVar9 = (!bVar11 && !bVar9) == bVar11;\n    if (!bVar9) {\n      iVar3 = 0xb;\n      pbVar7 = pbVar6;\n      pbVar8 = (byte *)"stack-size=";\n      do {\n        if (iVar3 == 0) break;\n        iVar3 = iVar3 + -1;\n        bVar10 = *pbVar7 < *pbVar8;\n        bVar9 = *pbVar7 == *pbVar8;\n        pbVar7 = pbVar7 + 1;\n        pbVar8 = pbVar8 + 1;\n      } while (bVar9);\n      bVar11 = false;\n      bVar9 = (!bVar10 && !bVar9) == bVar10;\n      if (bVar9) {\n        DAT_0008cc10 = strtoul((char *)(pbVar6 + 0xb),local_20,0);\n        if ((*local_20[0] != '\0') || ((int)DAT_0008cc10 < 0)) {\n          iVar3 = *(int *)puVar1;\n          uVar4 = dcgettext(0,"%F%P: invalid stack size `%s\'\n",5,DAT_0008cc10);\n          FUN_00031700(uVar4,iVar3 + 0xb);\n        }\n        if (DAT_0008cc10 == 0) {\n          DAT_0008cc10 = 0xffffffff;\n          return 1;\n        }\n        return 1;\n      }\n      iVar3 = 10;\n      pbVar7 = pbVar6;\n      pbVar8 = (byte *)0x7ac61;\n      do {\n        if (iVar3 == 0) break;\n        iVar3 = iVar3 + -1;\n        bVar11 = *pbVar7 < *pbVar8;\n        bVar9 = *pbVar7 == *pbVar8;\n        pbVar7 = pbVar7 + 1;\n        pbVar8 = pbVar8 + 1;\n      } while (bVar9);\n      bVar10 = false;\n      bVar9 = (!bVar11 && !bVar9) == bVar11;\n      if (bVar9) {\n        _DAT_0008cc04 = _DAT_0008cc04 & 0xfffe7fff | 0x8000;\n        return 1;\n      }\n      iVar3 = 0xc;\n      pbVar7 = pbVar6;\n      pbVar8 = (byte *)"noexecstack";\n      do {\n        if (iVar3 == 0) break;\n        iVar3 = iVar3 + -1;\n        bVar10 = *pbVar7 < *pbVar8;\n        bVar9 = *pbVar7 == *pbVar8;\n        pbVar7 = pbVar7 + 1;\n        pbVar8 = pbVar8 + 1;\n      } while (bVar9);\n      if ((!bVar10 && !bVar9) == bVar10) {\n        _DAT_0008cc04 = _DAT_0008cc04 & 0xfffe7fff | 0x10000;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar6,"globalaudit");\n      if (iVar3 == 0) {\n        DAT_0008cc74 = DAT_0008cc74 | 0x1000000;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar6,"global");\n      if (iVar3 == 0) {\n        DAT_0008cc74 = DAT_0008cc74 | 2;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar6,"initfirst");\n      if (iVar3 == 0) {\n        DAT_0008cc74 = DAT_0008cc74 | 0x20;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar6,"interpose");\n      if (iVar3 == 0) {\n        DAT_0008cc74 = DAT_0008cc74 | 0x400;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar6,"loadfltr");\n      if (iVar3 == 0) {\n        DAT_0008cc74 = DAT_0008cc74 | 0x10;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar6,"nodefaultlib");\n      if (iVar3 == 0) {\n        DAT_0008cc74 = DAT_0008cc74 | 0x800;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar6,"nodelete");\n      if (iVar3 == 0) {\n        DAT_0008cc74 = DAT_0008cc74 | 8;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar6,"nodlopen");\n      if (iVar3 == 0) {\n        DAT_0008cc74 = DAT_0008cc74 | 0x40;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar6,"nodump");\n      if (iVar3 == 0) {\n        DAT_0008cc74 = DAT_0008cc74 | 0x1000;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar6,"now");\n      if (iVar3 == 0) {\n        _DAT_0008cc70 = _DAT_0008cc70 | 8;\n        DAT_0008cc74 = DAT_0008cc74 | 1;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar6,"lazy");\n      if (iVar3 == 0) {\n        _DAT_0008cc70 = _DAT_0008cc70 & 0xfffffff7;\n        DAT_0008cc74 = DAT_0008cc74 & 0xfffffffe;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar6,"origin");\n      if (iVar3 == 0) {\n        _DAT_0008cc70 = _DAT_0008cc70 | 1;\n        DAT_0008cc74 = DAT_0008cc74 | 0x80;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar6,"combreloc");\n      if (iVar3 == 0) {\n        _DAT_0008cc04 = _DAT_0008cc04 | 0x40;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar6,"nocombreloc");\n      if (iVar3 == 0) {\n        _DAT_0008cc04 = _DAT_0008cc04 & 0xffffffbf;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar6,"nocopyreloc");\n      if (iVar3 == 0) {\n        DAT_0008cc00._0_1_ = (byte)DAT_0008cc00 | 8;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar6,"relro");\n      if (iVar3 == 0) {\n        DAT_0008cc00._2_2_ = DAT_0008cc00._2_2_ | 0x1000;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar6,"norelro");\n      if (iVar3 == 0) {\n        DAT_0008cc00._2_2_ = DAT_0008cc00._2_2_ & 0xefff;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar6,"separate-code");\n      if (iVar3 == 0) {\n        DAT_0008cc00._2_2_ = DAT_0008cc00._2_2_ | 0x2000;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar6,"noseparate-code");\n      if (iVar3 == 0) {\n        DAT_0008cc00._2_2_ = DAT_0008cc00._2_2_ & 0xdfff;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar6,"common");\n      if (iVar3 == 0) {\n        DAT_0008cc00._2_2_ = DAT_0008cc00._2_2_ & 0xfff9 | 2;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar6,"nocommon");\n      if (iVar3 == 0) {\n        DAT_0008cc00._2_2_ = DAT_0008cc00._2_2_ & 0xfff9 | 4;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar6,"text");\n      if (iVar3 == 0) {\n        _DAT_0008cc04 = _DAT_0008cc04 | 2;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar6,"notext");\n      if ((iVar3 == 0) || (iVar3 = strcmp((char *)pbVar6,"textoff"), iVar3 == 0)) {\n        _DAT_0008cc04 = _DAT_0008cc04 & 0xfffffffd;\n        return 1;\n      }\n      pcVar5 = "%P: warning: -z %s ignored\n";\n      goto LAB_0003606a;\n    }\n    DAT_0008cd64 = strtoul((char *)(pbVar6 + 0x11),local_20,0);\n    if ((*local_20[0] == '\0') && ((DAT_0008cd64 - 1 & DAT_0008cd64) == 0)) {\n      return 1;\n    }\n    pcVar5 = "%F%P: invalid common page size `%s\'\n";\n    __s1 = (char *)(*(int *)puVar1 + 0x11);\n  }" if (parenthesized_expression "(bVar9)" ( identifier )) (compound_statement "{\n    DAT_0008cd60 = strtoul((char *)(pbVar6 + 0xe),local_20,0);\n    if ((*local_20[0] == '\0') && ((DAT_0008cd60 - 1 & DAT_0008cd60) == 0)) {\n      return 1;\n    }\n    pcVar5 = "%F%P: invalid maximum page size `%s\'\n";\n    __s1 = (char *)(*(int *)puVar1 + 0xe);\n  }" { (expression_statement "DAT_0008cd60 = strtoul((char *)(pbVar6 + 0xe),local_20,0);" (assignment_expression "DAT_0008cd60 = strtoul((char *)(pbVar6 + 0xe),local_20,0)" identifier = (call_expression "strtoul((char *)(pbVar6 + 0xe),local_20,0)" identifier (argument_list "((char *)(pbVar6 + 0xe),local_20,0)" ( (cast_expression "(char *)(pbVar6 + 0xe)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pbVar6 + 0xe)" ( (binary_expression "pbVar6 + 0xe" identifier + number_literal) ))) , identifier , number_literal )))) ;) (if_statement "if ((*local_20[0] == '\0') && ((DAT_0008cd60 - 1 & DAT_0008cd60) == 0)) {\n      return 1;\n    }" if (parenthesized_expression "((*local_20[0] == '\0') && ((DAT_0008cd60 - 1 & DAT_0008cd60) == 0))" ( (binary_expression "(*local_20[0] == '\0') && ((DAT_0008cd60 - 1 & DAT_0008cd60) == 0)" (parenthesized_expression "(*local_20[0] == '\0')" ( (binary_expression "*local_20[0] == '\0'" (pointer_expression "*local_20[0]" * (subscript_expression "local_20[0]" identifier [ number_literal ])) == (char_literal "'\0'" ' escape_sequence ')) )) && (parenthesized_expression "((DAT_0008cd60 - 1 & DAT_0008cd60) == 0)" ( (binary_expression "(DAT_0008cd60 - 1 & DAT_0008cd60) == 0" (parenthesized_expression "(DAT_0008cd60 - 1 & DAT_0008cd60)" ( (binary_expression "DAT_0008cd60 - 1 & DAT_0008cd60" (binary_expression "DAT_0008cd60 - 1" identifier - number_literal) & identifier) )) == number_literal) ))) )) (compound_statement "{\n      return 1;\n    }" { (return_statement "return 1;" return number_literal ;) })) (expression_statement "pcVar5 = "%F%P: invalid maximum page size `%s\'\n";" (assignment_expression "pcVar5 = "%F%P: invalid maximum page size `%s\'\n"" identifier = (string_literal ""%F%P: invalid maximum page size `%s\'\n"" " string_content escape_sequence escape_sequence ")) ;) (expression_statement "__s1 = (char *)(*(int *)puVar1 + 0xe);" (assignment_expression "__s1 = (char *)(*(int *)puVar1 + 0xe)" identifier = (cast_expression "(char *)(*(int *)puVar1 + 0xe)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)puVar1 + 0xe)" ( (binary_expression "*(int *)puVar1 + 0xe" (pointer_expression "*(int *)puVar1" * (cast_expression "(int *)puVar1" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) + number_literal) )))) ;) }) (else_clause "else {\n    iVar3 = 0x11;\n    pbVar7 = pbVar6;\n    pbVar8 = (byte *)"common-page-size=";\n    do {\n      if (iVar3 == 0) break;\n      iVar3 = iVar3 + -1;\n      bVar11 = *pbVar7 < *pbVar8;\n      bVar9 = *pbVar7 == *pbVar8;\n      pbVar7 = pbVar7 + 1;\n      pbVar8 = pbVar8 + 1;\n    } while (bVar9);\n    bVar10 = false;\n    bVar9 = (!bVar11 && !bVar9) == bVar11;\n    if (!bVar9) {\n      iVar3 = 0xb;\n      pbVar7 = pbVar6;\n      pbVar8 = (byte *)"stack-size=";\n      do {\n        if (iVar3 == 0) break;\n        iVar3 = iVar3 + -1;\n        bVar10 = *pbVar7 < *pbVar8;\n        bVar9 = *pbVar7 == *pbVar8;\n        pbVar7 = pbVar7 + 1;\n        pbVar8 = pbVar8 + 1;\n      } while (bVar9);\n      bVar11 = false;\n      bVar9 = (!bVar10 && !bVar9) == bVar10;\n      if (bVar9) {\n        DAT_0008cc10 = strtoul((char *)(pbVar6 + 0xb),local_20,0);\n        if ((*local_20[0] != '\0') || ((int)DAT_0008cc10 < 0)) {\n          iVar3 = *(int *)puVar1;\n          uVar4 = dcgettext(0,"%F%P: invalid stack size `%s\'\n",5,DAT_0008cc10);\n          FUN_00031700(uVar4,iVar3 + 0xb);\n        }\n        if (DAT_0008cc10 == 0) {\n          DAT_0008cc10 = 0xffffffff;\n          return 1;\n        }\n        return 1;\n      }\n      iVar3 = 10;\n      pbVar7 = pbVar6;\n      pbVar8 = (byte *)0x7ac61;\n      do {\n        if (iVar3 == 0) break;\n        iVar3 = iVar3 + -1;\n        bVar11 = *pbVar7 < *pbVar8;\n        bVar9 = *pbVar7 == *pbVar8;\n        pbVar7 = pbVar7 + 1;\n        pbVar8 = pbVar8 + 1;\n      } while (bVar9);\n      bVar10 = false;\n      bVar9 = (!bVar11 && !bVar9) == bVar11;\n      if (bVar9) {\n        _DAT_0008cc04 = _DAT_0008cc04 & 0xfffe7fff | 0x8000;\n        return 1;\n      }\n      iVar3 = 0xc;\n      pbVar7 = pbVar6;\n      pbVar8 = (byte *)"noexecstack";\n      do {\n        if (iVar3 == 0) break;\n        iVar3 = iVar3 + -1;\n        bVar10 = *pbVar7 < *pbVar8;\n        bVar9 = *pbVar7 == *pbVar8;\n        pbVar7 = pbVar7 + 1;\n        pbVar8 = pbVar8 + 1;\n      } while (bVar9);\n      if ((!bVar10 && !bVar9) == bVar10) {\n        _DAT_0008cc04 = _DAT_0008cc04 & 0xfffe7fff | 0x10000;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar6,"globalaudit");\n      if (iVar3 == 0) {\n        DAT_0008cc74 = DAT_0008cc74 | 0x1000000;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar6,"global");\n      if (iVar3 == 0) {\n        DAT_0008cc74 = DAT_0008cc74 | 2;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar6,"initfirst");\n      if (iVar3 == 0) {\n        DAT_0008cc74 = DAT_0008cc74 | 0x20;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar6,"interpose");\n      if (iVar3 == 0) {\n        DAT_0008cc74 = DAT_0008cc74 | 0x400;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar6,"loadfltr");\n      if (iVar3 == 0) {\n        DAT_0008cc74 = DAT_0008cc74 | 0x10;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar6,"nodefaultlib");\n      if (iVar3 == 0) {\n        DAT_0008cc74 = DAT_0008cc74 | 0x800;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar6,"nodelete");\n      if (iVar3 == 0) {\n        DAT_0008cc74 = DAT_0008cc74 | 8;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar6,"nodlopen");\n      if (iVar3 == 0) {\n        DAT_0008cc74 = DAT_0008cc74 | 0x40;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar6,"nodump");\n      if (iVar3 == 0) {\n        DAT_0008cc74 = DAT_0008cc74 | 0x1000;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar6,"now");\n      if (iVar3 == 0) {\n        _DAT_0008cc70 = _DAT_0008cc70 | 8;\n        DAT_0008cc74 = DAT_0008cc74 | 1;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar6,"lazy");\n      if (iVar3 == 0) {\n        _DAT_0008cc70 = _DAT_0008cc70 & 0xfffffff7;\n        DAT_0008cc74 = DAT_0008cc74 & 0xfffffffe;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar6,"origin");\n      if (iVar3 == 0) {\n        _DAT_0008cc70 = _DAT_0008cc70 | 1;\n        DAT_0008cc74 = DAT_0008cc74 | 0x80;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar6,"combreloc");\n      if (iVar3 == 0) {\n        _DAT_0008cc04 = _DAT_0008cc04 | 0x40;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar6,"nocombreloc");\n      if (iVar3 == 0) {\n        _DAT_0008cc04 = _DAT_0008cc04 & 0xffffffbf;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar6,"nocopyreloc");\n      if (iVar3 == 0) {\n        DAT_0008cc00._0_1_ = (byte)DAT_0008cc00 | 8;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar6,"relro");\n      if (iVar3 == 0) {\n        DAT_0008cc00._2_2_ = DAT_0008cc00._2_2_ | 0x1000;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar6,"norelro");\n      if (iVar3 == 0) {\n        DAT_0008cc00._2_2_ = DAT_0008cc00._2_2_ & 0xefff;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar6,"separate-code");\n      if (iVar3 == 0) {\n        DAT_0008cc00._2_2_ = DAT_0008cc00._2_2_ | 0x2000;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar6,"noseparate-code");\n      if (iVar3 == 0) {\n        DAT_0008cc00._2_2_ = DAT_0008cc00._2_2_ & 0xdfff;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar6,"common");\n      if (iVar3 == 0) {\n        DAT_0008cc00._2_2_ = DAT_0008cc00._2_2_ & 0xfff9 | 2;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar6,"nocommon");\n      if (iVar3 == 0) {\n        DAT_0008cc00._2_2_ = DAT_0008cc00._2_2_ & 0xfff9 | 4;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar6,"text");\n      if (iVar3 == 0) {\n        _DAT_0008cc04 = _DAT_0008cc04 | 2;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar6,"notext");\n      if ((iVar3 == 0) || (iVar3 = strcmp((char *)pbVar6,"textoff"), iVar3 == 0)) {\n        _DAT_0008cc04 = _DAT_0008cc04 & 0xfffffffd;\n        return 1;\n      }\n      pcVar5 = "%P: warning: -z %s ignored\n";\n      goto LAB_0003606a;\n    }\n    DAT_0008cd64 = strtoul((char *)(pbVar6 + 0x11),local_20,0);\n    if ((*local_20[0] == '\0') && ((DAT_0008cd64 - 1 & DAT_0008cd64) == 0)) {\n      return 1;\n    }\n    pcVar5 = "%F%P: invalid common page size `%s\'\n";\n    __s1 = (char *)(*(int *)puVar1 + 0x11);\n  }" else (compound_statement "{\n    iVar3 = 0x11;\n    pbVar7 = pbVar6;\n    pbVar8 = (byte *)"common-page-size=";\n    do {\n      if (iVar3 == 0) break;\n      iVar3 = iVar3 + -1;\n      bVar11 = *pbVar7 < *pbVar8;\n      bVar9 = *pbVar7 == *pbVar8;\n      pbVar7 = pbVar7 + 1;\n      pbVar8 = pbVar8 + 1;\n    } while (bVar9);\n    bVar10 = false;\n    bVar9 = (!bVar11 && !bVar9) == bVar11;\n    if (!bVar9) {\n      iVar3 = 0xb;\n      pbVar7 = pbVar6;\n      pbVar8 = (byte *)"stack-size=";\n      do {\n        if (iVar3 == 0) break;\n        iVar3 = iVar3 + -1;\n        bVar10 = *pbVar7 < *pbVar8;\n        bVar9 = *pbVar7 == *pbVar8;\n        pbVar7 = pbVar7 + 1;\n        pbVar8 = pbVar8 + 1;\n      } while (bVar9);\n      bVar11 = false;\n      bVar9 = (!bVar10 && !bVar9) == bVar10;\n      if (bVar9) {\n        DAT_0008cc10 = strtoul((char *)(pbVar6 + 0xb),local_20,0);\n        if ((*local_20[0] != '\0') || ((int)DAT_0008cc10 < 0)) {\n          iVar3 = *(int *)puVar1;\n          uVar4 = dcgettext(0,"%F%P: invalid stack size `%s\'\n",5,DAT_0008cc10);\n          FUN_00031700(uVar4,iVar3 + 0xb);\n        }\n        if (DAT_0008cc10 == 0) {\n          DAT_0008cc10 = 0xffffffff;\n          return 1;\n        }\n        return 1;\n      }\n      iVar3 = 10;\n      pbVar7 = pbVar6;\n      pbVar8 = (byte *)0x7ac61;\n      do {\n        if (iVar3 == 0) break;\n        iVar3 = iVar3 + -1;\n        bVar11 = *pbVar7 < *pbVar8;\n        bVar9 = *pbVar7 == *pbVar8;\n        pbVar7 = pbVar7 + 1;\n        pbVar8 = pbVar8 + 1;\n      } while (bVar9);\n      bVar10 = false;\n      bVar9 = (!bVar11 && !bVar9) == bVar11;\n      if (bVar9) {\n        _DAT_0008cc04 = _DAT_0008cc04 & 0xfffe7fff | 0x8000;\n        return 1;\n      }\n      iVar3 = 0xc;\n      pbVar7 = pbVar6;\n      pbVar8 = (byte *)"noexecstack";\n      do {\n        if (iVar3 == 0) break;\n        iVar3 = iVar3 + -1;\n        bVar10 = *pbVar7 < *pbVar8;\n        bVar9 = *pbVar7 == *pbVar8;\n        pbVar7 = pbVar7 + 1;\n        pbVar8 = pbVar8 + 1;\n      } while (bVar9);\n      if ((!bVar10 && !bVar9) == bVar10) {\n        _DAT_0008cc04 = _DAT_0008cc04 & 0xfffe7fff | 0x10000;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar6,"globalaudit");\n      if (iVar3 == 0) {\n        DAT_0008cc74 = DAT_0008cc74 | 0x1000000;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar6,"global");\n      if (iVar3 == 0) {\n        DAT_0008cc74 = DAT_0008cc74 | 2;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar6,"initfirst");\n      if (iVar3 == 0) {\n        DAT_0008cc74 = DAT_0008cc74 | 0x20;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar6,"interpose");\n      if (iVar3 == 0) {\n        DAT_0008cc74 = DAT_0008cc74 | 0x400;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar6,"loadfltr");\n      if (iVar3 == 0) {\n        DAT_0008cc74 = DAT_0008cc74 | 0x10;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar6,"nodefaultlib");\n      if (iVar3 == 0) {\n        DAT_0008cc74 = DAT_0008cc74 | 0x800;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar6,"nodelete");\n      if (iVar3 == 0) {\n        DAT_0008cc74 = DAT_0008cc74 | 8;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar6,"nodlopen");\n      if (iVar3 == 0) {\n        DAT_0008cc74 = DAT_0008cc74 | 0x40;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar6,"nodump");\n      if (iVar3 == 0) {\n        DAT_0008cc74 = DAT_0008cc74 | 0x1000;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar6,"now");\n      if (iVar3 == 0) {\n        _DAT_0008cc70 = _DAT_0008cc70 | 8;\n        DAT_0008cc74 = DAT_0008cc74 | 1;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar6,"lazy");\n      if (iVar3 == 0) {\n        _DAT_0008cc70 = _DAT_0008cc70 & 0xfffffff7;\n        DAT_0008cc74 = DAT_0008cc74 & 0xfffffffe;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar6,"origin");\n      if (iVar3 == 0) {\n        _DAT_0008cc70 = _DAT_0008cc70 | 1;\n        DAT_0008cc74 = DAT_0008cc74 | 0x80;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar6,"combreloc");\n      if (iVar3 == 0) {\n        _DAT_0008cc04 = _DAT_0008cc04 | 0x40;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar6,"nocombreloc");\n      if (iVar3 == 0) {\n        _DAT_0008cc04 = _DAT_0008cc04 & 0xffffffbf;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar6,"nocopyreloc");\n      if (iVar3 == 0) {\n        DAT_0008cc00._0_1_ = (byte)DAT_0008cc00 | 8;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar6,"relro");\n      if (iVar3 == 0) {\n        DAT_0008cc00._2_2_ = DAT_0008cc00._2_2_ | 0x1000;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar6,"norelro");\n      if (iVar3 == 0) {\n        DAT_0008cc00._2_2_ = DAT_0008cc00._2_2_ & 0xefff;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar6,"separate-code");\n      if (iVar3 == 0) {\n        DAT_0008cc00._2_2_ = DAT_0008cc00._2_2_ | 0x2000;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar6,"noseparate-code");\n      if (iVar3 == 0) {\n        DAT_0008cc00._2_2_ = DAT_0008cc00._2_2_ & 0xdfff;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar6,"common");\n      if (iVar3 == 0) {\n        DAT_0008cc00._2_2_ = DAT_0008cc00._2_2_ & 0xfff9 | 2;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar6,"nocommon");\n      if (iVar3 == 0) {\n        DAT_0008cc00._2_2_ = DAT_0008cc00._2_2_ & 0xfff9 | 4;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar6,"text");\n      if (iVar3 == 0) {\n        _DAT_0008cc04 = _DAT_0008cc04 | 2;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar6,"notext");\n      if ((iVar3 == 0) || (iVar3 = strcmp((char *)pbVar6,"textoff"), iVar3 == 0)) {\n        _DAT_0008cc04 = _DAT_0008cc04 & 0xfffffffd;\n        return 1;\n      }\n      pcVar5 = "%P: warning: -z %s ignored\n";\n      goto LAB_0003606a;\n    }\n    DAT_0008cd64 = strtoul((char *)(pbVar6 + 0x11),local_20,0);\n    if ((*local_20[0] == '\0') && ((DAT_0008cd64 - 1 & DAT_0008cd64) == 0)) {\n      return 1;\n    }\n    pcVar5 = "%F%P: invalid common page size `%s\'\n";\n    __s1 = (char *)(*(int *)puVar1 + 0x11);\n  }" { (expression_statement "iVar3 = 0x11;" (assignment_expression "iVar3 = 0x11" identifier = number_literal) ;) (expression_statement "pbVar7 = pbVar6;" (assignment_expression "pbVar7 = pbVar6" identifier = identifier) ;) (expression_statement "pbVar8 = (byte *)"common-page-size=";" (assignment_expression "pbVar8 = (byte *)"common-page-size="" identifier = (cast_expression "(byte *)"common-page-size="" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (string_literal ""common-page-size="" " string_content "))) ;) (do_statement "do {\n      if (iVar3 == 0) break;\n      iVar3 = iVar3 + -1;\n      bVar11 = *pbVar7 < *pbVar8;\n      bVar9 = *pbVar7 == *pbVar8;\n      pbVar7 = pbVar7 + 1;\n      pbVar8 = pbVar8 + 1;\n    } while (bVar9);" do (compound_statement "{\n      if (iVar3 == 0) break;\n      iVar3 = iVar3 + -1;\n      bVar11 = *pbVar7 < *pbVar8;\n      bVar9 = *pbVar7 == *pbVar8;\n      pbVar7 = pbVar7 + 1;\n      pbVar8 = pbVar8 + 1;\n    }" { (if_statement "if (iVar3 == 0) break;" if (parenthesized_expression "(iVar3 == 0)" ( (binary_expression "iVar3 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "iVar3 = iVar3 + -1;" (assignment_expression "iVar3 = iVar3 + -1" identifier = (binary_expression "iVar3 + -1" identifier + number_literal)) ;) (expression_statement "bVar11 = *pbVar7 < *pbVar8;" (assignment_expression "bVar11 = *pbVar7 < *pbVar8" identifier = (binary_expression "*pbVar7 < *pbVar8" (pointer_expression "*pbVar7" * identifier) < (pointer_expression "*pbVar8" * identifier))) ;) (expression_statement "bVar9 = *pbVar7 == *pbVar8;" (assignment_expression "bVar9 = *pbVar7 == *pbVar8" identifier = (binary_expression "*pbVar7 == *pbVar8" (pointer_expression "*pbVar7" * identifier) == (pointer_expression "*pbVar8" * identifier))) ;) (expression_statement "pbVar7 = pbVar7 + 1;" (assignment_expression "pbVar7 = pbVar7 + 1" identifier = (binary_expression "pbVar7 + 1" identifier + number_literal)) ;) (expression_statement "pbVar8 = pbVar8 + 1;" (assignment_expression "pbVar8 = pbVar8 + 1" identifier = (binary_expression "pbVar8 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(bVar9)" ( identifier )) ;) (expression_statement "bVar10 = false;" (assignment_expression "bVar10 = false" identifier = false) ;) (expression_statement "bVar9 = (!bVar11 && !bVar9) == bVar11;" (assignment_expression "bVar9 = (!bVar11 && !bVar9) == bVar11" identifier = (binary_expression "(!bVar11 && !bVar9) == bVar11" (parenthesized_expression "(!bVar11 && !bVar9)" ( (binary_expression "!bVar11 && !bVar9" (unary_expression "!bVar11" ! identifier) && (unary_expression "!bVar9" ! identifier)) )) == identifier)) ;) (if_statement "if (!bVar9) {\n      iVar3 = 0xb;\n      pbVar7 = pbVar6;\n      pbVar8 = (byte *)"stack-size=";\n      do {\n        if (iVar3 == 0) break;\n        iVar3 = iVar3 + -1;\n        bVar10 = *pbVar7 < *pbVar8;\n        bVar9 = *pbVar7 == *pbVar8;\n        pbVar7 = pbVar7 + 1;\n        pbVar8 = pbVar8 + 1;\n      } while (bVar9);\n      bVar11 = false;\n      bVar9 = (!bVar10 && !bVar9) == bVar10;\n      if (bVar9) {\n        DAT_0008cc10 = strtoul((char *)(pbVar6 + 0xb),local_20,0);\n        if ((*local_20[0] != '\0') || ((int)DAT_0008cc10 < 0)) {\n          iVar3 = *(int *)puVar1;\n          uVar4 = dcgettext(0,"%F%P: invalid stack size `%s\'\n",5,DAT_0008cc10);\n          FUN_00031700(uVar4,iVar3 + 0xb);\n        }\n        if (DAT_0008cc10 == 0) {\n          DAT_0008cc10 = 0xffffffff;\n          return 1;\n        }\n        return 1;\n      }\n      iVar3 = 10;\n      pbVar7 = pbVar6;\n      pbVar8 = (byte *)0x7ac61;\n      do {\n        if (iVar3 == 0) break;\n        iVar3 = iVar3 + -1;\n        bVar11 = *pbVar7 < *pbVar8;\n        bVar9 = *pbVar7 == *pbVar8;\n        pbVar7 = pbVar7 + 1;\n        pbVar8 = pbVar8 + 1;\n      } while (bVar9);\n      bVar10 = false;\n      bVar9 = (!bVar11 && !bVar9) == bVar11;\n      if (bVar9) {\n        _DAT_0008cc04 = _DAT_0008cc04 & 0xfffe7fff | 0x8000;\n        return 1;\n      }\n      iVar3 = 0xc;\n      pbVar7 = pbVar6;\n      pbVar8 = (byte *)"noexecstack";\n      do {\n        if (iVar3 == 0) break;\n        iVar3 = iVar3 + -1;\n        bVar10 = *pbVar7 < *pbVar8;\n        bVar9 = *pbVar7 == *pbVar8;\n        pbVar7 = pbVar7 + 1;\n        pbVar8 = pbVar8 + 1;\n      } while (bVar9);\n      if ((!bVar10 && !bVar9) == bVar10) {\n        _DAT_0008cc04 = _DAT_0008cc04 & 0xfffe7fff | 0x10000;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar6,"globalaudit");\n      if (iVar3 == 0) {\n        DAT_0008cc74 = DAT_0008cc74 | 0x1000000;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar6,"global");\n      if (iVar3 == 0) {\n        DAT_0008cc74 = DAT_0008cc74 | 2;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar6,"initfirst");\n      if (iVar3 == 0) {\n        DAT_0008cc74 = DAT_0008cc74 | 0x20;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar6,"interpose");\n      if (iVar3 == 0) {\n        DAT_0008cc74 = DAT_0008cc74 | 0x400;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar6,"loadfltr");\n      if (iVar3 == 0) {\n        DAT_0008cc74 = DAT_0008cc74 | 0x10;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar6,"nodefaultlib");\n      if (iVar3 == 0) {\n        DAT_0008cc74 = DAT_0008cc74 | 0x800;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar6,"nodelete");\n      if (iVar3 == 0) {\n        DAT_0008cc74 = DAT_0008cc74 | 8;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar6,"nodlopen");\n      if (iVar3 == 0) {\n        DAT_0008cc74 = DAT_0008cc74 | 0x40;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar6,"nodump");\n      if (iVar3 == 0) {\n        DAT_0008cc74 = DAT_0008cc74 | 0x1000;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar6,"now");\n      if (iVar3 == 0) {\n        _DAT_0008cc70 = _DAT_0008cc70 | 8;\n        DAT_0008cc74 = DAT_0008cc74 | 1;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar6,"lazy");\n      if (iVar3 == 0) {\n        _DAT_0008cc70 = _DAT_0008cc70 & 0xfffffff7;\n        DAT_0008cc74 = DAT_0008cc74 & 0xfffffffe;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar6,"origin");\n      if (iVar3 == 0) {\n        _DAT_0008cc70 = _DAT_0008cc70 | 1;\n        DAT_0008cc74 = DAT_0008cc74 | 0x80;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar6,"combreloc");\n      if (iVar3 == 0) {\n        _DAT_0008cc04 = _DAT_0008cc04 | 0x40;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar6,"nocombreloc");\n      if (iVar3 == 0) {\n        _DAT_0008cc04 = _DAT_0008cc04 & 0xffffffbf;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar6,"nocopyreloc");\n      if (iVar3 == 0) {\n        DAT_0008cc00._0_1_ = (byte)DAT_0008cc00 | 8;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar6,"relro");\n      if (iVar3 == 0) {\n        DAT_0008cc00._2_2_ = DAT_0008cc00._2_2_ | 0x1000;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar6,"norelro");\n      if (iVar3 == 0) {\n        DAT_0008cc00._2_2_ = DAT_0008cc00._2_2_ & 0xefff;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar6,"separate-code");\n      if (iVar3 == 0) {\n        DAT_0008cc00._2_2_ = DAT_0008cc00._2_2_ | 0x2000;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar6,"noseparate-code");\n      if (iVar3 == 0) {\n        DAT_0008cc00._2_2_ = DAT_0008cc00._2_2_ & 0xdfff;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar6,"common");\n      if (iVar3 == 0) {\n        DAT_0008cc00._2_2_ = DAT_0008cc00._2_2_ & 0xfff9 | 2;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar6,"nocommon");\n      if (iVar3 == 0) {\n        DAT_0008cc00._2_2_ = DAT_0008cc00._2_2_ & 0xfff9 | 4;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar6,"text");\n      if (iVar3 == 0) {\n        _DAT_0008cc04 = _DAT_0008cc04 | 2;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar6,"notext");\n      if ((iVar3 == 0) || (iVar3 = strcmp((char *)pbVar6,"textoff"), iVar3 == 0)) {\n        _DAT_0008cc04 = _DAT_0008cc04 & 0xfffffffd;\n        return 1;\n      }\n      pcVar5 = "%P: warning: -z %s ignored\n";\n      goto LAB_0003606a;\n    }" if (parenthesized_expression "(!bVar9)" ( (unary_expression "!bVar9" ! identifier) )) (compound_statement "{\n      iVar3 = 0xb;\n      pbVar7 = pbVar6;\n      pbVar8 = (byte *)"stack-size=";\n      do {\n        if (iVar3 == 0) break;\n        iVar3 = iVar3 + -1;\n        bVar10 = *pbVar7 < *pbVar8;\n        bVar9 = *pbVar7 == *pbVar8;\n        pbVar7 = pbVar7 + 1;\n        pbVar8 = pbVar8 + 1;\n      } while (bVar9);\n      bVar11 = false;\n      bVar9 = (!bVar10 && !bVar9) == bVar10;\n      if (bVar9) {\n        DAT_0008cc10 = strtoul((char *)(pbVar6 + 0xb),local_20,0);\n        if ((*local_20[0] != '\0') || ((int)DAT_0008cc10 < 0)) {\n          iVar3 = *(int *)puVar1;\n          uVar4 = dcgettext(0,"%F%P: invalid stack size `%s\'\n",5,DAT_0008cc10);\n          FUN_00031700(uVar4,iVar3 + 0xb);\n        }\n        if (DAT_0008cc10 == 0) {\n          DAT_0008cc10 = 0xffffffff;\n          return 1;\n        }\n        return 1;\n      }\n      iVar3 = 10;\n      pbVar7 = pbVar6;\n      pbVar8 = (byte *)0x7ac61;\n      do {\n        if (iVar3 == 0) break;\n        iVar3 = iVar3 + -1;\n        bVar11 = *pbVar7 < *pbVar8;\n        bVar9 = *pbVar7 == *pbVar8;\n        pbVar7 = pbVar7 + 1;\n        pbVar8 = pbVar8 + 1;\n      } while (bVar9);\n      bVar10 = false;\n      bVar9 = (!bVar11 && !bVar9) == bVar11;\n      if (bVar9) {\n        _DAT_0008cc04 = _DAT_0008cc04 & 0xfffe7fff | 0x8000;\n        return 1;\n      }\n      iVar3 = 0xc;\n      pbVar7 = pbVar6;\n      pbVar8 = (byte *)"noexecstack";\n      do {\n        if (iVar3 == 0) break;\n        iVar3 = iVar3 + -1;\n        bVar10 = *pbVar7 < *pbVar8;\n        bVar9 = *pbVar7 == *pbVar8;\n        pbVar7 = pbVar7 + 1;\n        pbVar8 = pbVar8 + 1;\n      } while (bVar9);\n      if ((!bVar10 && !bVar9) == bVar10) {\n        _DAT_0008cc04 = _DAT_0008cc04 & 0xfffe7fff | 0x10000;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar6,"globalaudit");\n      if (iVar3 == 0) {\n        DAT_0008cc74 = DAT_0008cc74 | 0x1000000;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar6,"global");\n      if (iVar3 == 0) {\n        DAT_0008cc74 = DAT_0008cc74 | 2;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar6,"initfirst");\n      if (iVar3 == 0) {\n        DAT_0008cc74 = DAT_0008cc74 | 0x20;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar6,"interpose");\n      if (iVar3 == 0) {\n        DAT_0008cc74 = DAT_0008cc74 | 0x400;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar6,"loadfltr");\n      if (iVar3 == 0) {\n        DAT_0008cc74 = DAT_0008cc74 | 0x10;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar6,"nodefaultlib");\n      if (iVar3 == 0) {\n        DAT_0008cc74 = DAT_0008cc74 | 0x800;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar6,"nodelete");\n      if (iVar3 == 0) {\n        DAT_0008cc74 = DAT_0008cc74 | 8;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar6,"nodlopen");\n      if (iVar3 == 0) {\n        DAT_0008cc74 = DAT_0008cc74 | 0x40;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar6,"nodump");\n      if (iVar3 == 0) {\n        DAT_0008cc74 = DAT_0008cc74 | 0x1000;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar6,"now");\n      if (iVar3 == 0) {\n        _DAT_0008cc70 = _DAT_0008cc70 | 8;\n        DAT_0008cc74 = DAT_0008cc74 | 1;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar6,"lazy");\n      if (iVar3 == 0) {\n        _DAT_0008cc70 = _DAT_0008cc70 & 0xfffffff7;\n        DAT_0008cc74 = DAT_0008cc74 & 0xfffffffe;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar6,"origin");\n      if (iVar3 == 0) {\n        _DAT_0008cc70 = _DAT_0008cc70 | 1;\n        DAT_0008cc74 = DAT_0008cc74 | 0x80;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar6,"combreloc");\n      if (iVar3 == 0) {\n        _DAT_0008cc04 = _DAT_0008cc04 | 0x40;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar6,"nocombreloc");\n      if (iVar3 == 0) {\n        _DAT_0008cc04 = _DAT_0008cc04 & 0xffffffbf;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar6,"nocopyreloc");\n      if (iVar3 == 0) {\n        DAT_0008cc00._0_1_ = (byte)DAT_0008cc00 | 8;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar6,"relro");\n      if (iVar3 == 0) {\n        DAT_0008cc00._2_2_ = DAT_0008cc00._2_2_ | 0x1000;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar6,"norelro");\n      if (iVar3 == 0) {\n        DAT_0008cc00._2_2_ = DAT_0008cc00._2_2_ & 0xefff;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar6,"separate-code");\n      if (iVar3 == 0) {\n        DAT_0008cc00._2_2_ = DAT_0008cc00._2_2_ | 0x2000;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar6,"noseparate-code");\n      if (iVar3 == 0) {\n        DAT_0008cc00._2_2_ = DAT_0008cc00._2_2_ & 0xdfff;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar6,"common");\n      if (iVar3 == 0) {\n        DAT_0008cc00._2_2_ = DAT_0008cc00._2_2_ & 0xfff9 | 2;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar6,"nocommon");\n      if (iVar3 == 0) {\n        DAT_0008cc00._2_2_ = DAT_0008cc00._2_2_ & 0xfff9 | 4;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar6,"text");\n      if (iVar3 == 0) {\n        _DAT_0008cc04 = _DAT_0008cc04 | 2;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar6,"notext");\n      if ((iVar3 == 0) || (iVar3 = strcmp((char *)pbVar6,"textoff"), iVar3 == 0)) {\n        _DAT_0008cc04 = _DAT_0008cc04 & 0xfffffffd;\n        return 1;\n      }\n      pcVar5 = "%P: warning: -z %s ignored\n";\n      goto LAB_0003606a;\n    }" { (expression_statement "iVar3 = 0xb;" (assignment_expression "iVar3 = 0xb" identifier = number_literal) ;) (expression_statement "pbVar7 = pbVar6;" (assignment_expression "pbVar7 = pbVar6" identifier = identifier) ;) (expression_statement "pbVar8 = (byte *)"stack-size=";" (assignment_expression "pbVar8 = (byte *)"stack-size="" identifier = (cast_expression "(byte *)"stack-size="" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (string_literal ""stack-size="" " string_content "))) ;) (do_statement "do {\n        if (iVar3 == 0) break;\n        iVar3 = iVar3 + -1;\n        bVar10 = *pbVar7 < *pbVar8;\n        bVar9 = *pbVar7 == *pbVar8;\n        pbVar7 = pbVar7 + 1;\n        pbVar8 = pbVar8 + 1;\n      } while (bVar9);" do (compound_statement "{\n        if (iVar3 == 0) break;\n        iVar3 = iVar3 + -1;\n        bVar10 = *pbVar7 < *pbVar8;\n        bVar9 = *pbVar7 == *pbVar8;\n        pbVar7 = pbVar7 + 1;\n        pbVar8 = pbVar8 + 1;\n      }" { (if_statement "if (iVar3 == 0) break;" if (parenthesized_expression "(iVar3 == 0)" ( (binary_expression "iVar3 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "iVar3 = iVar3 + -1;" (assignment_expression "iVar3 = iVar3 + -1" identifier = (binary_expression "iVar3 + -1" identifier + number_literal)) ;) (expression_statement "bVar10 = *pbVar7 < *pbVar8;" (assignment_expression "bVar10 = *pbVar7 < *pbVar8" identifier = (binary_expression "*pbVar7 < *pbVar8" (pointer_expression "*pbVar7" * identifier) < (pointer_expression "*pbVar8" * identifier))) ;) (expression_statement "bVar9 = *pbVar7 == *pbVar8;" (assignment_expression "bVar9 = *pbVar7 == *pbVar8" identifier = (binary_expression "*pbVar7 == *pbVar8" (pointer_expression "*pbVar7" * identifier) == (pointer_expression "*pbVar8" * identifier))) ;) (expression_statement "pbVar7 = pbVar7 + 1;" (assignment_expression "pbVar7 = pbVar7 + 1" identifier = (binary_expression "pbVar7 + 1" identifier + number_literal)) ;) (expression_statement "pbVar8 = pbVar8 + 1;" (assignment_expression "pbVar8 = pbVar8 + 1" identifier = (binary_expression "pbVar8 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(bVar9)" ( identifier )) ;) (expression_statement "bVar11 = false;" (assignment_expression "bVar11 = false" identifier = false) ;) (expression_statement "bVar9 = (!bVar10 && !bVar9) == bVar10;" (assignment_expression "bVar9 = (!bVar10 && !bVar9) == bVar10" identifier = (binary_expression "(!bVar10 && !bVar9) == bVar10" (parenthesized_expression "(!bVar10 && !bVar9)" ( (binary_expression "!bVar10 && !bVar9" (unary_expression "!bVar10" ! identifier) && (unary_expression "!bVar9" ! identifier)) )) == identifier)) ;) (if_statement "if (bVar9) {\n        DAT_0008cc10 = strtoul((char *)(pbVar6 + 0xb),local_20,0);\n        if ((*local_20[0] != '\0') || ((int)DAT_0008cc10 < 0)) {\n          iVar3 = *(int *)puVar1;\n          uVar4 = dcgettext(0,"%F%P: invalid stack size `%s\'\n",5,DAT_0008cc10);\n          FUN_00031700(uVar4,iVar3 + 0xb);\n        }\n        if (DAT_0008cc10 == 0) {\n          DAT_0008cc10 = 0xffffffff;\n          return 1;\n        }\n        return 1;\n      }" if (parenthesized_expression "(bVar9)" ( identifier )) (compound_statement "{\n        DAT_0008cc10 = strtoul((char *)(pbVar6 + 0xb),local_20,0);\n        if ((*local_20[0] != '\0') || ((int)DAT_0008cc10 < 0)) {\n          iVar3 = *(int *)puVar1;\n          uVar4 = dcgettext(0,"%F%P: invalid stack size `%s\'\n",5,DAT_0008cc10);\n          FUN_00031700(uVar4,iVar3 + 0xb);\n        }\n        if (DAT_0008cc10 == 0) {\n          DAT_0008cc10 = 0xffffffff;\n          return 1;\n        }\n        return 1;\n      }" { (expression_statement "DAT_0008cc10 = strtoul((char *)(pbVar6 + 0xb),local_20,0);" (assignment_expression "DAT_0008cc10 = strtoul((char *)(pbVar6 + 0xb),local_20,0)" identifier = (call_expression "strtoul((char *)(pbVar6 + 0xb),local_20,0)" identifier (argument_list "((char *)(pbVar6 + 0xb),local_20,0)" ( (cast_expression "(char *)(pbVar6 + 0xb)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pbVar6 + 0xb)" ( (binary_expression "pbVar6 + 0xb" identifier + number_literal) ))) , identifier , number_literal )))) ;) (if_statement "if ((*local_20[0] != '\0') || ((int)DAT_0008cc10 < 0)) {\n          iVar3 = *(int *)puVar1;\n          uVar4 = dcgettext(0,"%F%P: invalid stack size `%s\'\n",5,DAT_0008cc10);\n          FUN_00031700(uVar4,iVar3 + 0xb);\n        }" if (parenthesized_expression "((*local_20[0] != '\0') || ((int)DAT_0008cc10 < 0))" ( (binary_expression "(*local_20[0] != '\0') || ((int)DAT_0008cc10 < 0)" (parenthesized_expression "(*local_20[0] != '\0')" ( (binary_expression "*local_20[0] != '\0'" (pointer_expression "*local_20[0]" * (subscript_expression "local_20[0]" identifier [ number_literal ])) != (char_literal "'\0'" ' escape_sequence ')) )) || (parenthesized_expression "((int)DAT_0008cc10 < 0)" ( (binary_expression "(int)DAT_0008cc10 < 0" (cast_expression "(int)DAT_0008cc10" ( (type_descriptor "int" primitive_type) ) identifier) < number_literal) ))) )) (compound_statement "{\n          iVar3 = *(int *)puVar1;\n          uVar4 = dcgettext(0,"%F%P: invalid stack size `%s\'\n",5,DAT_0008cc10);\n          FUN_00031700(uVar4,iVar3 + 0xb);\n        }" { (expression_statement "iVar3 = *(int *)puVar1;" (assignment_expression "iVar3 = *(int *)puVar1" identifier = (pointer_expression "*(int *)puVar1" * (cast_expression "(int *)puVar1" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) ;) (expression_statement "uVar4 = dcgettext(0,"%F%P: invalid stack size `%s\'\n",5,DAT_0008cc10);" (assignment_expression "uVar4 = dcgettext(0,"%F%P: invalid stack size `%s\'\n",5,DAT_0008cc10)" identifier = (call_expression "dcgettext(0,"%F%P: invalid stack size `%s\'\n",5,DAT_0008cc10)" identifier (argument_list "(0,"%F%P: invalid stack size `%s\'\n",5,DAT_0008cc10)" ( number_literal , (string_literal ""%F%P: invalid stack size `%s\'\n"" " string_content escape_sequence escape_sequence ") , number_literal , identifier )))) ;) (expression_statement "FUN_00031700(uVar4,iVar3 + 0xb);" (call_expression "FUN_00031700(uVar4,iVar3 + 0xb)" identifier (argument_list "(uVar4,iVar3 + 0xb)" ( identifier , (binary_expression "iVar3 + 0xb" identifier + number_literal) ))) ;) })) (if_statement "if (DAT_0008cc10 == 0) {\n          DAT_0008cc10 = 0xffffffff;\n          return 1;\n        }" if (parenthesized_expression "(DAT_0008cc10 == 0)" ( (binary_expression "DAT_0008cc10 == 0" identifier == number_literal) )) (compound_statement "{\n          DAT_0008cc10 = 0xffffffff;\n          return 1;\n        }" { (expression_statement "DAT_0008cc10 = 0xffffffff;" (assignment_expression "DAT_0008cc10 = 0xffffffff" identifier = number_literal) ;) (return_statement "return 1;" return number_literal ;) })) (return_statement "return 1;" return number_literal ;) })) (expression_statement "iVar3 = 10;" (assignment_expression "iVar3 = 10" identifier = number_literal) ;) (expression_statement "pbVar7 = pbVar6;" (assignment_expression "pbVar7 = pbVar6" identifier = identifier) ;) (expression_statement "pbVar8 = (byte *)0x7ac61;" (assignment_expression "pbVar8 = (byte *)0x7ac61" identifier = (cast_expression "(byte *)0x7ac61" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (do_statement "do {\n        if (iVar3 == 0) break;\n        iVar3 = iVar3 + -1;\n        bVar11 = *pbVar7 < *pbVar8;\n        bVar9 = *pbVar7 == *pbVar8;\n        pbVar7 = pbVar7 + 1;\n        pbVar8 = pbVar8 + 1;\n      } while (bVar9);" do (compound_statement "{\n        if (iVar3 == 0) break;\n        iVar3 = iVar3 + -1;\n        bVar11 = *pbVar7 < *pbVar8;\n        bVar9 = *pbVar7 == *pbVar8;\n        pbVar7 = pbVar7 + 1;\n        pbVar8 = pbVar8 + 1;\n      }" { (if_statement "if (iVar3 == 0) break;" if (parenthesized_expression "(iVar3 == 0)" ( (binary_expression "iVar3 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "iVar3 = iVar3 + -1;" (assignment_expression "iVar3 = iVar3 + -1" identifier = (binary_expression "iVar3 + -1" identifier + number_literal)) ;) (expression_statement "bVar11 = *pbVar7 < *pbVar8;" (assignment_expression "bVar11 = *pbVar7 < *pbVar8" identifier = (binary_expression "*pbVar7 < *pbVar8" (pointer_expression "*pbVar7" * identifier) < (pointer_expression "*pbVar8" * identifier))) ;) (expression_statement "bVar9 = *pbVar7 == *pbVar8;" (assignment_expression "bVar9 = *pbVar7 == *pbVar8" identifier = (binary_expression "*pbVar7 == *pbVar8" (pointer_expression "*pbVar7" * identifier) == (pointer_expression "*pbVar8" * identifier))) ;) (expression_statement "pbVar7 = pbVar7 + 1;" (assignment_expression "pbVar7 = pbVar7 + 1" identifier = (binary_expression "pbVar7 + 1" identifier + number_literal)) ;) (expression_statement "pbVar8 = pbVar8 + 1;" (assignment_expression "pbVar8 = pbVar8 + 1" identifier = (binary_expression "pbVar8 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(bVar9)" ( identifier )) ;) (expression_statement "bVar10 = false;" (assignment_expression "bVar10 = false" identifier = false) ;) (expression_statement "bVar9 = (!bVar11 && !bVar9) == bVar11;" (assignment_expression "bVar9 = (!bVar11 && !bVar9) == bVar11" identifier = (binary_expression "(!bVar11 && !bVar9) == bVar11" (parenthesized_expression "(!bVar11 && !bVar9)" ( (binary_expression "!bVar11 && !bVar9" (unary_expression "!bVar11" ! identifier) && (unary_expression "!bVar9" ! identifier)) )) == identifier)) ;) (if_statement "if (bVar9) {\n        _DAT_0008cc04 = _DAT_0008cc04 & 0xfffe7fff | 0x8000;\n        return 1;\n      }" if (parenthesized_expression "(bVar9)" ( identifier )) (compound_statement "{\n        _DAT_0008cc04 = _DAT_0008cc04 & 0xfffe7fff | 0x8000;\n        return 1;\n      }" { (expression_statement "_DAT_0008cc04 = _DAT_0008cc04 & 0xfffe7fff | 0x8000;" (assignment_expression "_DAT_0008cc04 = _DAT_0008cc04 & 0xfffe7fff | 0x8000" identifier = (binary_expression "_DAT_0008cc04 & 0xfffe7fff | 0x8000" (binary_expression "_DAT_0008cc04 & 0xfffe7fff" identifier & number_literal) | number_literal)) ;) (return_statement "return 1;" return number_literal ;) })) (expression_statement "iVar3 = 0xc;" (assignment_expression "iVar3 = 0xc" identifier = number_literal) ;) (expression_statement "pbVar7 = pbVar6;" (assignment_expression "pbVar7 = pbVar6" identifier = identifier) ;) (expression_statement "pbVar8 = (byte *)"noexecstack";" (assignment_expression "pbVar8 = (byte *)"noexecstack"" identifier = (cast_expression "(byte *)"noexecstack"" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (string_literal ""noexecstack"" " string_content "))) ;) (do_statement "do {\n        if (iVar3 == 0) break;\n        iVar3 = iVar3 + -1;\n        bVar10 = *pbVar7 < *pbVar8;\n        bVar9 = *pbVar7 == *pbVar8;\n        pbVar7 = pbVar7 + 1;\n        pbVar8 = pbVar8 + 1;\n      } while (bVar9);" do (compound_statement "{\n        if (iVar3 == 0) break;\n        iVar3 = iVar3 + -1;\n        bVar10 = *pbVar7 < *pbVar8;\n        bVar9 = *pbVar7 == *pbVar8;\n        pbVar7 = pbVar7 + 1;\n        pbVar8 = pbVar8 + 1;\n      }" { (if_statement "if (iVar3 == 0) break;" if (parenthesized_expression "(iVar3 == 0)" ( (binary_expression "iVar3 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "iVar3 = iVar3 + -1;" (assignment_expression "iVar3 = iVar3 + -1" identifier = (binary_expression "iVar3 + -1" identifier + number_literal)) ;) (expression_statement "bVar10 = *pbVar7 < *pbVar8;" (assignment_expression "bVar10 = *pbVar7 < *pbVar8" identifier = (binary_expression "*pbVar7 < *pbVar8" (pointer_expression "*pbVar7" * identifier) < (pointer_expression "*pbVar8" * identifier))) ;) (expression_statement "bVar9 = *pbVar7 == *pbVar8;" (assignment_expression "bVar9 = *pbVar7 == *pbVar8" identifier = (binary_expression "*pbVar7 == *pbVar8" (pointer_expression "*pbVar7" * identifier) == (pointer_expression "*pbVar8" * identifier))) ;) (expression_statement "pbVar7 = pbVar7 + 1;" (assignment_expression "pbVar7 = pbVar7 + 1" identifier = (binary_expression "pbVar7 + 1" identifier + number_literal)) ;) (expression_statement "pbVar8 = pbVar8 + 1;" (assignment_expression "pbVar8 = pbVar8 + 1" identifier = (binary_expression "pbVar8 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(bVar9)" ( identifier )) ;) (if_statement "if ((!bVar10 && !bVar9) == bVar10) {\n        _DAT_0008cc04 = _DAT_0008cc04 & 0xfffe7fff | 0x10000;\n        return 1;\n      }" if (parenthesized_expression "((!bVar10 && !bVar9) == bVar10)" ( (binary_expression "(!bVar10 && !bVar9) == bVar10" (parenthesized_expression "(!bVar10 && !bVar9)" ( (binary_expression "!bVar10 && !bVar9" (unary_expression "!bVar10" ! identifier) && (unary_expression "!bVar9" ! identifier)) )) == identifier) )) (compound_statement "{\n        _DAT_0008cc04 = _DAT_0008cc04 & 0xfffe7fff | 0x10000;\n        return 1;\n      }" { (expression_statement "_DAT_0008cc04 = _DAT_0008cc04 & 0xfffe7fff | 0x10000;" (assignment_expression "_DAT_0008cc04 = _DAT_0008cc04 & 0xfffe7fff | 0x10000" identifier = (binary_expression "_DAT_0008cc04 & 0xfffe7fff | 0x10000" (binary_expression "_DAT_0008cc04 & 0xfffe7fff" identifier & number_literal) | number_literal)) ;) (return_statement "return 1;" return number_literal ;) })) (expression_statement "iVar3 = strcmp((char *)pbVar6,"globalaudit");" (assignment_expression "iVar3 = strcmp((char *)pbVar6,"globalaudit")" identifier = (call_expression "strcmp((char *)pbVar6,"globalaudit")" identifier (argument_list "((char *)pbVar6,"globalaudit")" ( (cast_expression "(char *)pbVar6" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) , (string_literal ""globalaudit"" " string_content ") )))) ;) (if_statement "if (iVar3 == 0) {\n        DAT_0008cc74 = DAT_0008cc74 | 0x1000000;\n        return 1;\n      }" if (parenthesized_expression "(iVar3 == 0)" ( (binary_expression "iVar3 == 0" identifier == number_literal) )) (compound_statement "{\n        DAT_0008cc74 = DAT_0008cc74 | 0x1000000;\n        return 1;\n      }" { (expression_statement "DAT_0008cc74 = DAT_0008cc74 | 0x1000000;" (assignment_expression "DAT_0008cc74 = DAT_0008cc74 | 0x1000000" identifier = (binary_expression "DAT_0008cc74 | 0x1000000" identifier | number_literal)) ;) (return_statement "return 1;" return number_literal ;) })) (expression_statement "iVar3 = strcmp((char *)pbVar6,"global");" (assignment_expression "iVar3 = strcmp((char *)pbVar6,"global")" identifier = (call_expression "strcmp((char *)pbVar6,"global")" identifier (argument_list "((char *)pbVar6,"global")" ( (cast_expression "(char *)pbVar6" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) , (string_literal ""global"" " string_content ") )))) ;) (if_statement "if (iVar3 == 0) {\n        DAT_0008cc74 = DAT_0008cc74 | 2;\n        return 1;\n      }" if (parenthesized_expression "(iVar3 == 0)" ( (binary_expression "iVar3 == 0" identifier == number_literal) )) (compound_statement "{\n        DAT_0008cc74 = DAT_0008cc74 | 2;\n        return 1;\n      }" { (expression_statement "DAT_0008cc74 = DAT_0008cc74 | 2;" (assignment_expression "DAT_0008cc74 = DAT_0008cc74 | 2" identifier = (binary_expression "DAT_0008cc74 | 2" identifier | number_literal)) ;) (return_statement "return 1;" return number_literal ;) })) (expression_statement "iVar3 = strcmp((char *)pbVar6,"initfirst");" (assignment_expression "iVar3 = strcmp((char *)pbVar6,"initfirst")" identifier = (call_expression "strcmp((char *)pbVar6,"initfirst")" identifier (argument_list "((char *)pbVar6,"initfirst")" ( (cast_expression "(char *)pbVar6" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) , (string_literal ""initfirst"" " string_content ") )))) ;) (if_statement "if (iVar3 == 0) {\n        DAT_0008cc74 = DAT_0008cc74 | 0x20;\n        return 1;\n      }" if (parenthesized_expression "(iVar3 == 0)" ( (binary_expression "iVar3 == 0" identifier == number_literal) )) (compound_statement "{\n        DAT_0008cc74 = DAT_0008cc74 | 0x20;\n        return 1;\n      }" { (expression_statement "DAT_0008cc74 = DAT_0008cc74 | 0x20;" (assignment_expression "DAT_0008cc74 = DAT_0008cc74 | 0x20" identifier = (binary_expression "DAT_0008cc74 | 0x20" identifier | number_literal)) ;) (return_statement "return 1;" return number_literal ;) })) (expression_statement "iVar3 = strcmp((char *)pbVar6,"interpose");" (assignment_expression "iVar3 = strcmp((char *)pbVar6,"interpose")" identifier = (call_expression "strcmp((char *)pbVar6,"interpose")" identifier (argument_list "((char *)pbVar6,"interpose")" ( (cast_expression "(char *)pbVar6" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) , (string_literal ""interpose"" " string_content ") )))) ;) (if_statement "if (iVar3 == 0) {\n        DAT_0008cc74 = DAT_0008cc74 | 0x400;\n        return 1;\n      }" if (parenthesized_expression "(iVar3 == 0)" ( (binary_expression "iVar3 == 0" identifier == number_literal) )) (compound_statement "{\n        DAT_0008cc74 = DAT_0008cc74 | 0x400;\n        return 1;\n      }" { (expression_statement "DAT_0008cc74 = DAT_0008cc74 | 0x400;" (assignment_expression "DAT_0008cc74 = DAT_0008cc74 | 0x400" identifier = (binary_expression "DAT_0008cc74 | 0x400" identifier | number_literal)) ;) (return_statement "return 1;" return number_literal ;) })) (expression_statement "iVar3 = strcmp((char *)pbVar6,"loadfltr");" (assignment_expression "iVar3 = strcmp((char *)pbVar6,"loadfltr")" identifier = (call_expression "strcmp((char *)pbVar6,"loadfltr")" identifier (argument_list "((char *)pbVar6,"loadfltr")" ( (cast_expression "(char *)pbVar6" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) , (string_literal ""loadfltr"" " string_content ") )))) ;) (if_statement "if (iVar3 == 0) {\n        DAT_0008cc74 = DAT_0008cc74 | 0x10;\n        return 1;\n      }" if (parenthesized_expression "(iVar3 == 0)" ( (binary_expression "iVar3 == 0" identifier == number_literal) )) (compound_statement "{\n        DAT_0008cc74 = DAT_0008cc74 | 0x10;\n        return 1;\n      }" { (expression_statement "DAT_0008cc74 = DAT_0008cc74 | 0x10;" (assignment_expression "DAT_0008cc74 = DAT_0008cc74 | 0x10" identifier = (binary_expression "DAT_0008cc74 | 0x10" identifier | number_literal)) ;) (return_statement "return 1;" return number_literal ;) })) (expression_statement "iVar3 = strcmp((char *)pbVar6,"nodefaultlib");" (assignment_expression "iVar3 = strcmp((char *)pbVar6,"nodefaultlib")" identifier = (call_expression "strcmp((char *)pbVar6,"nodefaultlib")" identifier (argument_list "((char *)pbVar6,"nodefaultlib")" ( (cast_expression "(char *)pbVar6" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) , (string_literal ""nodefaultlib"" " string_content ") )))) ;) (if_statement "if (iVar3 == 0) {\n        DAT_0008cc74 = DAT_0008cc74 | 0x800;\n        return 1;\n      }" if (parenthesized_expression "(iVar3 == 0)" ( (binary_expression "iVar3 == 0" identifier == number_literal) )) (compound_statement "{\n        DAT_0008cc74 = DAT_0008cc74 | 0x800;\n        return 1;\n      }" { (expression_statement "DAT_0008cc74 = DAT_0008cc74 | 0x800;" (assignment_expression "DAT_0008cc74 = DAT_0008cc74 | 0x800" identifier = (binary_expression "DAT_0008cc74 | 0x800" identifier | number_literal)) ;) (return_statement "return 1;" return number_literal ;) })) (expression_statement "iVar3 = strcmp((char *)pbVar6,"nodelete");" (assignment_expression "iVar3 = strcmp((char *)pbVar6,"nodelete")" identifier = (call_expression "strcmp((char *)pbVar6,"nodelete")" identifier (argument_list "((char *)pbVar6,"nodelete")" ( (cast_expression "(char *)pbVar6" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) , (string_literal ""nodelete"" " string_content ") )))) ;) (if_statement "if (iVar3 == 0) {\n        DAT_0008cc74 = DAT_0008cc74 | 8;\n        return 1;\n      }" if (parenthesized_expression "(iVar3 == 0)" ( (binary_expression "iVar3 == 0" identifier == number_literal) )) (compound_statement "{\n        DAT_0008cc74 = DAT_0008cc74 | 8;\n        return 1;\n      }" { (expression_statement "DAT_0008cc74 = DAT_0008cc74 | 8;" (assignment_expression "DAT_0008cc74 = DAT_0008cc74 | 8" identifier = (binary_expression "DAT_0008cc74 | 8" identifier | number_literal)) ;) (return_statement "return 1;" return number_literal ;) })) (expression_statement "iVar3 = strcmp((char *)pbVar6,"nodlopen");" (assignment_expression "iVar3 = strcmp((char *)pbVar6,"nodlopen")" identifier = (call_expression "strcmp((char *)pbVar6,"nodlopen")" identifier (argument_list "((char *)pbVar6,"nodlopen")" ( (cast_expression "(char *)pbVar6" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) , (string_literal ""nodlopen"" " string_content ") )))) ;) (if_statement "if (iVar3 == 0) {\n        DAT_0008cc74 = DAT_0008cc74 | 0x40;\n        return 1;\n      }" if (parenthesized_expression "(iVar3 == 0)" ( (binary_expression "iVar3 == 0" identifier == number_literal) )) (compound_statement "{\n        DAT_0008cc74 = DAT_0008cc74 | 0x40;\n        return 1;\n      }" { (expression_statement "DAT_0008cc74 = DAT_0008cc74 | 0x40;" (assignment_expression "DAT_0008cc74 = DAT_0008cc74 | 0x40" identifier = (binary_expression "DAT_0008cc74 | 0x40" identifier | number_literal)) ;) (return_statement "return 1;" return number_literal ;) })) (expression_statement "iVar3 = strcmp((char *)pbVar6,"nodump");" (assignment_expression "iVar3 = strcmp((char *)pbVar6,"nodump")" identifier = (call_expression "strcmp((char *)pbVar6,"nodump")" identifier (argument_list "((char *)pbVar6,"nodump")" ( (cast_expression "(char *)pbVar6" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) , (string_literal ""nodump"" " string_content ") )))) ;) (if_statement "if (iVar3 == 0) {\n        DAT_0008cc74 = DAT_0008cc74 | 0x1000;\n        return 1;\n      }" if (parenthesized_expression "(iVar3 == 0)" ( (binary_expression "iVar3 == 0" identifier == number_literal) )) (compound_statement "{\n        DAT_0008cc74 = DAT_0008cc74 | 0x1000;\n        return 1;\n      }" { (expression_statement "DAT_0008cc74 = DAT_0008cc74 | 0x1000;" (assignment_expression "DAT_0008cc74 = DAT_0008cc74 | 0x1000" identifier = (binary_expression "DAT_0008cc74 | 0x1000" identifier | number_literal)) ;) (return_statement "return 1;" return number_literal ;) })) (expression_statement "iVar3 = strcmp((char *)pbVar6,"now");" (assignment_expression "iVar3 = strcmp((char *)pbVar6,"now")" identifier = (call_expression "strcmp((char *)pbVar6,"now")" identifier (argument_list "((char *)pbVar6,"now")" ( (cast_expression "(char *)pbVar6" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) , (string_literal ""now"" " string_content ") )))) ;) (if_statement "if (iVar3 == 0) {\n        _DAT_0008cc70 = _DAT_0008cc70 | 8;\n        DAT_0008cc74 = DAT_0008cc74 | 1;\n        return 1;\n      }" if (parenthesized_expression "(iVar3 == 0)" ( (binary_expression "iVar3 == 0" identifier == number_literal) )) (compound_statement "{\n        _DAT_0008cc70 = _DAT_0008cc70 | 8;\n        DAT_0008cc74 = DAT_0008cc74 | 1;\n        return 1;\n      }" { (expression_statement "_DAT_0008cc70 = _DAT_0008cc70 | 8;" (assignment_expression "_DAT_0008cc70 = _DAT_0008cc70 | 8" identifier = (binary_expression "_DAT_0008cc70 | 8" identifier | number_literal)) ;) (expression_statement "DAT_0008cc74 = DAT_0008cc74 | 1;" (assignment_expression "DAT_0008cc74 = DAT_0008cc74 | 1" identifier = (binary_expression "DAT_0008cc74 | 1" identifier | number_literal)) ;) (return_statement "return 1;" return number_literal ;) })) (expression_statement "iVar3 = strcmp((char *)pbVar6,"lazy");" (assignment_expression "iVar3 = strcmp((char *)pbVar6,"lazy")" identifier = (call_expression "strcmp((char *)pbVar6,"lazy")" identifier (argument_list "((char *)pbVar6,"lazy")" ( (cast_expression "(char *)pbVar6" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) , (string_literal ""lazy"" " string_content ") )))) ;) (if_statement "if (iVar3 == 0) {\n        _DAT_0008cc70 = _DAT_0008cc70 & 0xfffffff7;\n        DAT_0008cc74 = DAT_0008cc74 & 0xfffffffe;\n        return 1;\n      }" if (parenthesized_expression "(iVar3 == 0)" ( (binary_expression "iVar3 == 0" identifier == number_literal) )) (compound_statement "{\n        _DAT_0008cc70 = _DAT_0008cc70 & 0xfffffff7;\n        DAT_0008cc74 = DAT_0008cc74 & 0xfffffffe;\n        return 1;\n      }" { (expression_statement "_DAT_0008cc70 = _DAT_0008cc70 & 0xfffffff7;" (assignment_expression "_DAT_0008cc70 = _DAT_0008cc70 & 0xfffffff7" identifier = (binary_expression "_DAT_0008cc70 & 0xfffffff7" identifier & number_literal)) ;) (expression_statement "DAT_0008cc74 = DAT_0008cc74 & 0xfffffffe;" (assignment_expression "DAT_0008cc74 = DAT_0008cc74 & 0xfffffffe" identifier = (binary_expression "DAT_0008cc74 & 0xfffffffe" identifier & number_literal)) ;) (return_statement "return 1;" return number_literal ;) })) (expression_statement "iVar3 = strcmp((char *)pbVar6,"origin");" (assignment_expression "iVar3 = strcmp((char *)pbVar6,"origin")" identifier = (call_expression "strcmp((char *)pbVar6,"origin")" identifier (argument_list "((char *)pbVar6,"origin")" ( (cast_expression "(char *)pbVar6" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) , (string_literal ""origin"" " string_content ") )))) ;) (if_statement "if (iVar3 == 0) {\n        _DAT_0008cc70 = _DAT_0008cc70 | 1;\n        DAT_0008cc74 = DAT_0008cc74 | 0x80;\n        return 1;\n      }" if (parenthesized_expression "(iVar3 == 0)" ( (binary_expression "iVar3 == 0" identifier == number_literal) )) (compound_statement "{\n        _DAT_0008cc70 = _DAT_0008cc70 | 1;\n        DAT_0008cc74 = DAT_0008cc74 | 0x80;\n        return 1;\n      }" { (expression_statement "_DAT_0008cc70 = _DAT_0008cc70 | 1;" (assignment_expression "_DAT_0008cc70 = _DAT_0008cc70 | 1" identifier = (binary_expression "_DAT_0008cc70 | 1" identifier | number_literal)) ;) (expression_statement "DAT_0008cc74 = DAT_0008cc74 | 0x80;" (assignment_expression "DAT_0008cc74 = DAT_0008cc74 | 0x80" identifier = (binary_expression "DAT_0008cc74 | 0x80" identifier | number_literal)) ;) (return_statement "return 1;" return number_literal ;) })) (expression_statement "iVar3 = strcmp((char *)pbVar6,"combreloc");" (assignment_expression "iVar3 = strcmp((char *)pbVar6,"combreloc")" identifier = (call_expression "strcmp((char *)pbVar6,"combreloc")" identifier (argument_list "((char *)pbVar6,"combreloc")" ( (cast_expression "(char *)pbVar6" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) , (string_literal ""combreloc"" " string_content ") )))) ;) (if_statement "if (iVar3 == 0) {\n        _DAT_0008cc04 = _DAT_0008cc04 | 0x40;\n        return 1;\n      }" if (parenthesized_expression "(iVar3 == 0)" ( (binary_expression "iVar3 == 0" identifier == number_literal) )) (compound_statement "{\n        _DAT_0008cc04 = _DAT_0008cc04 | 0x40;\n        return 1;\n      }" { (expression_statement "_DAT_0008cc04 = _DAT_0008cc04 | 0x40;" (assignment_expression "_DAT_0008cc04 = _DAT_0008cc04 | 0x40" identifier = (binary_expression "_DAT_0008cc04 | 0x40" identifier | number_literal)) ;) (return_statement "return 1;" return number_literal ;) })) (expression_statement "iVar3 = strcmp((char *)pbVar6,"nocombreloc");" (assignment_expression "iVar3 = strcmp((char *)pbVar6,"nocombreloc")" identifier = (call_expression "strcmp((char *)pbVar6,"nocombreloc")" identifier (argument_list "((char *)pbVar6,"nocombreloc")" ( (cast_expression "(char *)pbVar6" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) , (string_literal ""nocombreloc"" " string_content ") )))) ;) (if_statement "if (iVar3 == 0) {\n        _DAT_0008cc04 = _DAT_0008cc04 & 0xffffffbf;\n        return 1;\n      }" if (parenthesized_expression "(iVar3 == 0)" ( (binary_expression "iVar3 == 0" identifier == number_literal) )) (compound_statement "{\n        _DAT_0008cc04 = _DAT_0008cc04 & 0xffffffbf;\n        return 1;\n      }" { (expression_statement "_DAT_0008cc04 = _DAT_0008cc04 & 0xffffffbf;" (assignment_expression "_DAT_0008cc04 = _DAT_0008cc04 & 0xffffffbf" identifier = (binary_expression "_DAT_0008cc04 & 0xffffffbf" identifier & number_literal)) ;) (return_statement "return 1;" return number_literal ;) })) (expression_statement "iVar3 = strcmp((char *)pbVar6,"nocopyreloc");" (assignment_expression "iVar3 = strcmp((char *)pbVar6,"nocopyreloc")" identifier = (call_expression "strcmp((char *)pbVar6,"nocopyreloc")" identifier (argument_list "((char *)pbVar6,"nocopyreloc")" ( (cast_expression "(char *)pbVar6" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) , (string_literal ""nocopyreloc"" " string_content ") )))) ;) (if_statement "if (iVar3 == 0) {\n        DAT_0008cc00._0_1_ = (byte)DAT_0008cc00 | 8;\n        return 1;\n      }" if (parenthesized_expression "(iVar3 == 0)" ( (binary_expression "iVar3 == 0" identifier == number_literal) )) (compound_statement "{\n        DAT_0008cc00._0_1_ = (byte)DAT_0008cc00 | 8;\n        return 1;\n      }" { (expression_statement "DAT_0008cc00._0_1_ = (byte)DAT_0008cc00 | 8;" (assignment_expression "DAT_0008cc00._0_1_ = (byte)DAT_0008cc00 | 8" (field_expression "DAT_0008cc00._0_1_" identifier . field_identifier) = (binary_expression "(byte)DAT_0008cc00 | 8" (cast_expression "(byte)DAT_0008cc00" ( (type_descriptor "byte" type_identifier) ) identifier) | number_literal)) ;) (return_statement "return 1;" return number_literal ;) })) (expression_statement "iVar3 = strcmp((char *)pbVar6,"relro");" (assignment_expression "iVar3 = strcmp((char *)pbVar6,"relro")" identifier = (call_expression "strcmp((char *)pbVar6,"relro")" identifier (argument_list "((char *)pbVar6,"relro")" ( (cast_expression "(char *)pbVar6" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) , (string_literal ""relro"" " string_content ") )))) ;) (if_statement "if (iVar3 == 0) {\n        DAT_0008cc00._2_2_ = DAT_0008cc00._2_2_ | 0x1000;\n        return 1;\n      }" if (parenthesized_expression "(iVar3 == 0)" ( (binary_expression "iVar3 == 0" identifier == number_literal) )) (compound_statement "{\n        DAT_0008cc00._2_2_ = DAT_0008cc00._2_2_ | 0x1000;\n        return 1;\n      }" { (expression_statement "DAT_0008cc00._2_2_ = DAT_0008cc00._2_2_ | 0x1000;" (assignment_expression "DAT_0008cc00._2_2_ = DAT_0008cc00._2_2_ | 0x1000" (field_expression "DAT_0008cc00._2_2_" identifier . field_identifier) = (binary_expression "DAT_0008cc00._2_2_ | 0x1000" (field_expression "DAT_0008cc00._2_2_" identifier . field_identifier) | number_literal)) ;) (return_statement "return 1;" return number_literal ;) })) (expression_statement "iVar3 = strcmp((char *)pbVar6,"norelro");" (assignment_expression "iVar3 = strcmp((char *)pbVar6,"norelro")" identifier = (call_expression "strcmp((char *)pbVar6,"norelro")" identifier (argument_list "((char *)pbVar6,"norelro")" ( (cast_expression "(char *)pbVar6" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) , (string_literal ""norelro"" " string_content ") )))) ;) (if_statement "if (iVar3 == 0) {\n        DAT_0008cc00._2_2_ = DAT_0008cc00._2_2_ & 0xefff;\n        return 1;\n      }" if (parenthesized_expression "(iVar3 == 0)" ( (binary_expression "iVar3 == 0" identifier == number_literal) )) (compound_statement "{\n        DAT_0008cc00._2_2_ = DAT_0008cc00._2_2_ & 0xefff;\n        return 1;\n      }" { (expression_statement "DAT_0008cc00._2_2_ = DAT_0008cc00._2_2_ & 0xefff;" (assignment_expression "DAT_0008cc00._2_2_ = DAT_0008cc00._2_2_ & 0xefff" (field_expression "DAT_0008cc00._2_2_" identifier . field_identifier) = (binary_expression "DAT_0008cc00._2_2_ & 0xefff" (field_expression "DAT_0008cc00._2_2_" identifier . field_identifier) & number_literal)) ;) (return_statement "return 1;" return number_literal ;) })) (expression_statement "iVar3 = strcmp((char *)pbVar6,"separate-code");" (assignment_expression "iVar3 = strcmp((char *)pbVar6,"separate-code")" identifier = (call_expression "strcmp((char *)pbVar6,"separate-code")" identifier (argument_list "((char *)pbVar6,"separate-code")" ( (cast_expression "(char *)pbVar6" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) , (string_literal ""separate-code"" " string_content ") )))) ;) (if_statement "if (iVar3 == 0) {\n        DAT_0008cc00._2_2_ = DAT_0008cc00._2_2_ | 0x2000;\n        return 1;\n      }" if (parenthesized_expression "(iVar3 == 0)" ( (binary_expression "iVar3 == 0" identifier == number_literal) )) (compound_statement "{\n        DAT_0008cc00._2_2_ = DAT_0008cc00._2_2_ | 0x2000;\n        return 1;\n      }" { (expression_statement "DAT_0008cc00._2_2_ = DAT_0008cc00._2_2_ | 0x2000;" (assignment_expression "DAT_0008cc00._2_2_ = DAT_0008cc00._2_2_ | 0x2000" (field_expression "DAT_0008cc00._2_2_" identifier . field_identifier) = (binary_expression "DAT_0008cc00._2_2_ | 0x2000" (field_expression "DAT_0008cc00._2_2_" identifier . field_identifier) | number_literal)) ;) (return_statement "return 1;" return number_literal ;) })) (expression_statement "iVar3 = strcmp((char *)pbVar6,"noseparate-code");" (assignment_expression "iVar3 = strcmp((char *)pbVar6,"noseparate-code")" identifier = (call_expression "strcmp((char *)pbVar6,"noseparate-code")" identifier (argument_list "((char *)pbVar6,"noseparate-code")" ( (cast_expression "(char *)pbVar6" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) , (string_literal ""noseparate-code"" " string_content ") )))) ;) (if_statement "if (iVar3 == 0) {\n        DAT_0008cc00._2_2_ = DAT_0008cc00._2_2_ & 0xdfff;\n        return 1;\n      }" if (parenthesized_expression "(iVar3 == 0)" ( (binary_expression "iVar3 == 0" identifier == number_literal) )) (compound_statement "{\n        DAT_0008cc00._2_2_ = DAT_0008cc00._2_2_ & 0xdfff;\n        return 1;\n      }" { (expression_statement "DAT_0008cc00._2_2_ = DAT_0008cc00._2_2_ & 0xdfff;" (assignment_expression "DAT_0008cc00._2_2_ = DAT_0008cc00._2_2_ & 0xdfff" (field_expression "DAT_0008cc00._2_2_" identifier . field_identifier) = (binary_expression "DAT_0008cc00._2_2_ & 0xdfff" (field_expression "DAT_0008cc00._2_2_" identifier . field_identifier) & number_literal)) ;) (return_statement "return 1;" return number_literal ;) })) (expression_statement "iVar3 = strcmp((char *)pbVar6,"common");" (assignment_expression "iVar3 = strcmp((char *)pbVar6,"common")" identifier = (call_expression "strcmp((char *)pbVar6,"common")" identifier (argument_list "((char *)pbVar6,"common")" ( (cast_expression "(char *)pbVar6" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) , (string_literal ""common"" " string_content ") )))) ;) (if_statement "if (iVar3 == 0) {\n        DAT_0008cc00._2_2_ = DAT_0008cc00._2_2_ & 0xfff9 | 2;\n        return 1;\n      }" if (parenthesized_expression "(iVar3 == 0)" ( (binary_expression "iVar3 == 0" identifier == number_literal) )) (compound_statement "{\n        DAT_0008cc00._2_2_ = DAT_0008cc00._2_2_ & 0xfff9 | 2;\n        return 1;\n      }" { (expression_statement "DAT_0008cc00._2_2_ = DAT_0008cc00._2_2_ & 0xfff9 | 2;" (assignment_expression "DAT_0008cc00._2_2_ = DAT_0008cc00._2_2_ & 0xfff9 | 2" (field_expression "DAT_0008cc00._2_2_" identifier . field_identifier) = (binary_expression "DAT_0008cc00._2_2_ & 0xfff9 | 2" (binary_expression "DAT_0008cc00._2_2_ & 0xfff9" (field_expression "DAT_0008cc00._2_2_" identifier . field_identifier) & number_literal) | number_literal)) ;) (return_statement "return 1;" return number_literal ;) })) (expression_statement "iVar3 = strcmp((char *)pbVar6,"nocommon");" (assignment_expression "iVar3 = strcmp((char *)pbVar6,"nocommon")" identifier = (call_expression "strcmp((char *)pbVar6,"nocommon")" identifier (argument_list "((char *)pbVar6,"nocommon")" ( (cast_expression "(char *)pbVar6" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) , (string_literal ""nocommon"" " string_content ") )))) ;) (if_statement "if (iVar3 == 0) {\n        DAT_0008cc00._2_2_ = DAT_0008cc00._2_2_ & 0xfff9 | 4;\n        return 1;\n      }" if (parenthesized_expression "(iVar3 == 0)" ( (binary_expression "iVar3 == 0" identifier == number_literal) )) (compound_statement "{\n        DAT_0008cc00._2_2_ = DAT_0008cc00._2_2_ & 0xfff9 | 4;\n        return 1;\n      }" { (expression_statement "DAT_0008cc00._2_2_ = DAT_0008cc00._2_2_ & 0xfff9 | 4;" (assignment_expression "DAT_0008cc00._2_2_ = DAT_0008cc00._2_2_ & 0xfff9 | 4" (field_expression "DAT_0008cc00._2_2_" identifier . field_identifier) = (binary_expression "DAT_0008cc00._2_2_ & 0xfff9 | 4" (binary_expression "DAT_0008cc00._2_2_ & 0xfff9" (field_expression "DAT_0008cc00._2_2_" identifier . field_identifier) & number_literal) | number_literal)) ;) (return_statement "return 1;" return number_literal ;) })) (expression_statement "iVar3 = strcmp((char *)pbVar6,"text");" (assignment_expression "iVar3 = strcmp((char *)pbVar6,"text")" identifier = (call_expression "strcmp((char *)pbVar6,"text")" identifier (argument_list "((char *)pbVar6,"text")" ( (cast_expression "(char *)pbVar6" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) , (string_literal ""text"" " string_content ") )))) ;) (if_statement "if (iVar3 == 0) {\n        _DAT_0008cc04 = _DAT_0008cc04 | 2;\n        return 1;\n      }" if (parenthesized_expression "(iVar3 == 0)" ( (binary_expression "iVar3 == 0" identifier == number_literal) )) (compound_statement "{\n        _DAT_0008cc04 = _DAT_0008cc04 | 2;\n        return 1;\n      }" { (expression_statement "_DAT_0008cc04 = _DAT_0008cc04 | 2;" (assignment_expression "_DAT_0008cc04 = _DAT_0008cc04 | 2" identifier = (binary_expression "_DAT_0008cc04 | 2" identifier | number_literal)) ;) (return_statement "return 1;" return number_literal ;) })) (expression_statement "iVar3 = strcmp((char *)pbVar6,"notext");" (assignment_expression "iVar3 = strcmp((char *)pbVar6,"notext")" identifier = (call_expression "strcmp((char *)pbVar6,"notext")" identifier (argument_list "((char *)pbVar6,"notext")" ( (cast_expression "(char *)pbVar6" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) , (string_literal ""notext"" " string_content ") )))) ;) (if_statement "if ((iVar3 == 0) || (iVar3 = strcmp((char *)pbVar6,"textoff"), iVar3 == 0)) {\n        _DAT_0008cc04 = _DAT_0008cc04 & 0xfffffffd;\n        return 1;\n      }" if (parenthesized_expression "((iVar3 == 0) || (iVar3 = strcmp((char *)pbVar6,"textoff"), iVar3 == 0))" ( (binary_expression "(iVar3 == 0) || (iVar3 = strcmp((char *)pbVar6,"textoff"), iVar3 == 0)" (parenthesized_expression "(iVar3 == 0)" ( (binary_expression "iVar3 == 0" identifier == number_literal) )) || (parenthesized_expression "(iVar3 = strcmp((char *)pbVar6,"textoff"), iVar3 == 0)" ( (comma_expression "iVar3 = strcmp((char *)pbVar6,"textoff"), iVar3 == 0" (assignment_expression "iVar3 = strcmp((char *)pbVar6,"textoff")" identifier = (call_expression "strcmp((char *)pbVar6,"textoff")" identifier (argument_list "((char *)pbVar6,"textoff")" ( (cast_expression "(char *)pbVar6" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) , (string_literal ""textoff"" " string_content ") )))) , (binary_expression "iVar3 == 0" identifier == number_literal)) ))) )) (compound_statement "{\n        _DAT_0008cc04 = _DAT_0008cc04 & 0xfffffffd;\n        return 1;\n      }" { (expression_statement "_DAT_0008cc04 = _DAT_0008cc04 & 0xfffffffd;" (assignment_expression "_DAT_0008cc04 = _DAT_0008cc04 & 0xfffffffd" identifier = (binary_expression "_DAT_0008cc04 & 0xfffffffd" identifier & number_literal)) ;) (return_statement "return 1;" return number_literal ;) })) (expression_statement "pcVar5 = "%P: warning: -z %s ignored\n";" (assignment_expression "pcVar5 = "%P: warning: -z %s ignored\n"" identifier = (string_literal ""%P: warning: -z %s ignored\n"" " string_content escape_sequence ")) ;) (goto_statement "goto LAB_0003606a;" goto statement_identifier ;) })) (expression_statement "DAT_0008cd64 = strtoul((char *)(pbVar6 + 0x11),local_20,0);" (assignment_expression "DAT_0008cd64 = strtoul((char *)(pbVar6 + 0x11),local_20,0)" identifier = (call_expression "strtoul((char *)(pbVar6 + 0x11),local_20,0)" identifier (argument_list "((char *)(pbVar6 + 0x11),local_20,0)" ( (cast_expression "(char *)(pbVar6 + 0x11)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pbVar6 + 0x11)" ( (binary_expression "pbVar6 + 0x11" identifier + number_literal) ))) , identifier , number_literal )))) ;) (if_statement "if ((*local_20[0] == '\0') && ((DAT_0008cd64 - 1 & DAT_0008cd64) == 0)) {\n      return 1;\n    }" if (parenthesized_expression "((*local_20[0] == '\0') && ((DAT_0008cd64 - 1 & DAT_0008cd64) == 0))" ( (binary_expression "(*local_20[0] == '\0') && ((DAT_0008cd64 - 1 & DAT_0008cd64) == 0)" (parenthesized_expression "(*local_20[0] == '\0')" ( (binary_expression "*local_20[0] == '\0'" (pointer_expression "*local_20[0]" * (subscript_expression "local_20[0]" identifier [ number_literal ])) == (char_literal "'\0'" ' escape_sequence ')) )) && (parenthesized_expression "((DAT_0008cd64 - 1 & DAT_0008cd64) == 0)" ( (binary_expression "(DAT_0008cd64 - 1 & DAT_0008cd64) == 0" (parenthesized_expression "(DAT_0008cd64 - 1 & DAT_0008cd64)" ( (binary_expression "DAT_0008cd64 - 1 & DAT_0008cd64" (binary_expression "DAT_0008cd64 - 1" identifier - number_literal) & identifier) )) == number_literal) ))) )) (compound_statement "{\n      return 1;\n    }" { (return_statement "return 1;" return number_literal ;) })) (expression_statement "pcVar5 = "%F%P: invalid common page size `%s\'\n";" (assignment_expression "pcVar5 = "%F%P: invalid common page size `%s\'\n"" identifier = (string_literal ""%F%P: invalid common page size `%s\'\n"" " string_content escape_sequence escape_sequence ")) ;) (expression_statement "__s1 = (char *)(*(int *)puVar1 + 0x11);" (assignment_expression "__s1 = (char *)(*(int *)puVar1 + 0x11)" identifier = (cast_expression "(char *)(*(int *)puVar1 + 0x11)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)puVar1 + 0x11)" ( (binary_expression "*(int *)puVar1 + 0x11" (pointer_expression "*(int *)puVar1" * (cast_expression "(int *)puVar1" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) + number_literal) )))) ;) }))) (labeled_statement "LAB_00035f83:\n  uVar4 = dcgettext(0,pcVar5,5);" statement_identifier : (expression_statement "uVar4 = dcgettext(0,pcVar5,5);" (assignment_expression "uVar4 = dcgettext(0,pcVar5,5)" identifier = (call_expression "dcgettext(0,pcVar5,5)" identifier (argument_list "(0,pcVar5,5)" ( number_literal , identifier , number_literal )))) ;)) (expression_statement "FUN_00031700(uVar4,__s1);" (call_expression "FUN_00031700(uVar4,__s1)" identifier (argument_list "(uVar4,__s1)" ( identifier , identifier ))) ;) (return_statement "return 1;" return number_literal ;) })))
(translation_unit (function_definition TYPE (function_declarator IDENT (parameter_list ( (parameter_declaration TYPE IDENT) ))) (compound_statement { (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * 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 * (array_declarator IDENT [ LIT ])) ;) (declaration TYPE IDENT ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression (field_expression IDENT . field_identifier) = (binary_expression (binary_expression (field_expression IDENT . field_identifier) & LIT) | LIT)) ;) (return_statement return LIT ;) })) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression LIT < (cast_expression ( (type_descriptor TYPE) ) IDENT)) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) < LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression (field_expression IDENT . field_identifier) = (binary_expression (field_expression IDENT . field_identifier) & LIT)) ;) (return_statement return LIT ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (return_statement return LIT ;) })) (expression_statement (call_expression IDENT (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) ))) ;) (return_statement return LIT ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( ))) ;) (return_statement return LIT ;) })) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) < LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) })) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) IDENT))) ;) (expression_statement (assignment_expression IDENT = BOOL) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT))) ;) (if_statement if (parenthesized_expression ( IDENT )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) IDENT)) = (pointer_expression & IDENT)) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (do_statement do (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (break_statement break ;)) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * IDENT) < (pointer_expression * IDENT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * IDENT) == (pointer_expression * IDENT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT)) ;) }) while (parenthesized_expression ( IDENT )) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (unary_expression ! IDENT) && (unary_expression ! IDENT)) )) == IDENT) )) (compound_statement { (return_statement return LIT ;) })) }))) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( IDENT ))))) ;) (return_statement return LIT ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (return_statement return LIT ;) })) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) IDENT))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , (string_literal " string_content ") )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (return_statement return LIT ;) })) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , (string_literal " string_content ") )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , (string_literal " string_content ") )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (return_statement return LIT ;) })) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , (string_literal " string_content ") )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (string_literal " string_content escape_sequence escape_sequence ")) ;) (goto_statement goto statement_identifier ;) })) })) (expression_statement (assignment_expression IDENT = LIT) ;) (return_statement return LIT ;) })) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) IDENT))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = BOOL) ;) (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) == LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT & LIT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) (do_statement do (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (break_statement break ;)) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * IDENT) < (pointer_expression * IDENT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * IDENT) == (pointer_expression * IDENT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }) while (parenthesized_expression ( IDENT )) ;) (expression_statement (assignment_expression IDENT = BOOL) ;) (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( (binary_expression (unary_expression ! IDENT) && (unary_expression ! IDENT)) )) == IDENT)) ;) (if_statement if (parenthesized_expression ( IDENT )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression (call_expression IDENT (argument_list ( IDENT , IDENT ))) & LIT) | LIT)) ;) (return_statement return LIT ;) })) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) (do_statement do (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (break_statement break ;)) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * IDENT) < (pointer_expression * IDENT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * IDENT) == (pointer_expression * IDENT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }) while (parenthesized_expression ( IDENT )) ;) (expression_statement (assignment_expression IDENT = BOOL) ;) (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( (binary_expression (unary_expression ! IDENT) && (unary_expression ! IDENT)) )) == IDENT)) ;) (if_statement if (parenthesized_expression ( IDENT )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression (call_expression IDENT (argument_list ( IDENT , IDENT ))) & LIT) | LIT)) ;) (return_statement return LIT ;) })) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) (do_statement do (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (break_statement break ;)) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * IDENT) < (pointer_expression * IDENT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * IDENT) == (pointer_expression * IDENT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }) while (parenthesized_expression ( IDENT )) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (unary_expression ! IDENT) && (unary_expression ! IDENT)) )) == IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression (call_expression IDENT (argument_list ( IDENT , IDENT ))) & LIT) | LIT)) ;) (return_statement return LIT ;) })) (expression_statement (assignment_expression IDENT = (string_literal " string_content escape_sequence escape_sequence ")) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( LIT , IDENT , LIT )))) ;)) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT ))) ;) (return_statement return LIT ;) })) (expression_statement (assignment_expression IDENT = (binary_expression IDENT < LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT == LIT)) ;) (if_statement if (parenthesized_expression ( IDENT )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) IDENT))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (string_literal " string_content "))) ;) (do_statement do (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (break_statement break ;)) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * IDENT) < (pointer_expression * IDENT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * IDENT) == (pointer_expression * IDENT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }) while (parenthesized_expression ( IDENT )) ;) (expression_statement (assignment_expression IDENT = BOOL) ;) (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( (binary_expression (unary_expression ! IDENT) && (unary_expression ! IDENT)) )) == IDENT)) ;) (if_statement if (parenthesized_expression ( (unary_expression ! IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (string_literal " string_content "))) ;) (do_statement do (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (break_statement break ;)) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * IDENT) < (pointer_expression * IDENT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * IDENT) == (pointer_expression * IDENT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }) while (parenthesized_expression ( IDENT )) ;) (expression_statement (assignment_expression IDENT = BOOL) ;) (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( (binary_expression (unary_expression ! IDENT) && (unary_expression ! IDENT)) )) == IDENT)) ;) (if_statement if (parenthesized_expression ( (unary_expression ! IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (string_literal " string_content "))) ;) (do_statement do (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (break_statement break ;)) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * IDENT) < (pointer_expression * IDENT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * IDENT) == (pointer_expression * IDENT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }) while (parenthesized_expression ( IDENT )) ;) (expression_statement (assignment_expression IDENT = BOOL) ;) (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( (binary_expression (unary_expression ! IDENT) && (unary_expression ! IDENT)) )) == IDENT)) ;) (if_statement if (parenthesized_expression ( IDENT )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (return_statement return LIT ;) })) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (string_literal " string_content "))) ;) (do_statement do (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (break_statement break ;)) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * IDENT) < (pointer_expression * IDENT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * IDENT) == (pointer_expression * IDENT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }) while (parenthesized_expression ( IDENT )) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (unary_expression ! IDENT) && (unary_expression ! IDENT)) )) == IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (return_statement return LIT ;) })) (expression_statement (assignment_expression IDENT = (string_literal " string_content escape_sequence string_content escape_sequence escape_sequence ")) ;) (goto_statement goto statement_identifier ;) })) })) (expression_statement (assignment_expression IDENT = LIT) ;) (return_statement return LIT ;) })) (if_statement if (parenthesized_expression ( (binary_expression LIT < (cast_expression ( (type_descriptor TYPE) ) IDENT)) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT | LIT)) ;) (return_statement return LIT ;) })) (if_statement if (parenthesized_expression ( (binary_expression LIT < (cast_expression ( (type_descriptor TYPE) ) IDENT)) )) (compound_statement { (expression_statement (assignment_expression (field_expression IDENT . field_identifier) = (binary_expression (field_expression IDENT . field_identifier) | LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT | LIT)) ;) (return_statement return LIT ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (return_statement return LIT ;) })) (expression_statement (assignment_expression IDENT = (binary_expression IDENT & LIT)) ;) (return_statement return LIT ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( ))) ;) (return_statement return LIT ;) })) (expression_statement (assignment_expression IDENT = (binary_expression IDENT < LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT == LIT)) ;) (if_statement if (parenthesized_expression ( (unary_expression ! IDENT) )) (compound_statement { (return_statement return LIT ;) })) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) IDENT))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (do_statement do (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (break_statement break ;)) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * IDENT) < (pointer_expression * IDENT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * IDENT) == (pointer_expression * IDENT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }) while (parenthesized_expression ( IDENT )) ;) (expression_statement (assignment_expression IDENT = BOOL) ;) (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( (binary_expression (unary_expression ! IDENT) && (unary_expression ! IDENT)) )) == IDENT)) ;) (if_statement if (parenthesized_expression ( IDENT )) (compound_statement { (expression_statement (assignment_expression (field_expression IDENT . field_identifier) = (binary_expression (field_expression IDENT . field_identifier) | LIT)) ;) (return_statement return LIT ;) })) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (string_literal " string_content "))) ;) (do_statement do (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (break_statement break ;)) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * IDENT) < (pointer_expression * IDENT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * IDENT) == (pointer_expression * IDENT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }) while (parenthesized_expression ( IDENT )) ;) (expression_statement (assignment_expression IDENT = BOOL) ;) (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( (binary_expression (unary_expression ! IDENT) && (unary_expression ! IDENT)) )) == IDENT)) ;) (if_statement if (parenthesized_expression ( IDENT )) (compound_statement { (expression_statement (assignment_expression (field_expression IDENT . field_identifier) = (binary_expression (binary_expression (field_expression IDENT . field_identifier) & LIT) | LIT)) ;) (return_statement return LIT ;) })) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (string_literal " string_content "))) ;) (do_statement do (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (break_statement break ;)) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * IDENT) < (pointer_expression * IDENT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * IDENT) == (pointer_expression * IDENT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }) while (parenthesized_expression ( IDENT )) ;) (expression_statement (assignment_expression IDENT = BOOL) ;) (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( (binary_expression (unary_expression ! IDENT) && (unary_expression ! IDENT)) )) == IDENT)) ;) (if_statement if (parenthesized_expression ( IDENT )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT | LIT)) ;) (return_statement return LIT ;) })) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (string_literal " string_content "))) ;) (do_statement do (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (break_statement break ;)) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * IDENT) < (pointer_expression * IDENT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * IDENT) == (pointer_expression * IDENT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }) while (parenthesized_expression ( IDENT )) ;) (expression_statement (assignment_expression IDENT = BOOL) ;) (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( (binary_expression (unary_expression ! IDENT) && (unary_expression ! IDENT)) )) == IDENT)) ;) (if_statement if (parenthesized_expression ( IDENT )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))) , IDENT , LIT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (subscript_expression IDENT [ LIT ])) == (char_literal ' escape_sequence ')) )) && (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (binary_expression IDENT - LIT) & IDENT) )) == LIT) ))) )) (compound_statement { (return_statement return LIT ;) })) (expression_statement (assignment_expression IDENT = (string_literal " string_content escape_sequence escape_sequence ")) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) + LIT) )))) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (string_literal " string_content "))) ;) (do_statement do (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (break_statement break ;)) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * IDENT) < (pointer_expression * IDENT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * IDENT) == (pointer_expression * IDENT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }) while (parenthesized_expression ( IDENT )) ;) (expression_statement (assignment_expression IDENT = BOOL) ;) (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( (binary_expression (unary_expression ! IDENT) && (unary_expression ! IDENT)) )) == IDENT)) ;) (if_statement if (parenthesized_expression ( (unary_expression ! IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (string_literal " string_content "))) ;) (do_statement do (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (break_statement break ;)) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * IDENT) < (pointer_expression * IDENT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * IDENT) == (pointer_expression * IDENT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }) while (parenthesized_expression ( IDENT )) ;) (expression_statement (assignment_expression IDENT = BOOL) ;) (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( (binary_expression (unary_expression ! IDENT) && (unary_expression ! IDENT)) )) == IDENT)) ;) (if_statement if (parenthesized_expression ( IDENT )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))) , IDENT , LIT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (subscript_expression IDENT [ LIT ])) != (char_literal ' escape_sequence ')) )) || (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) < LIT) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( LIT , (string_literal " string_content escape_sequence escape_sequence ") , LIT , IDENT )))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , (binary_expression IDENT + LIT) ))) ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (return_statement return LIT ;) })) (return_statement return LIT ;) })) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (do_statement do (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (break_statement break ;)) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * IDENT) < (pointer_expression * IDENT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * IDENT) == (pointer_expression * IDENT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }) while (parenthesized_expression ( IDENT )) ;) (expression_statement (assignment_expression IDENT = BOOL) ;) (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( (binary_expression (unary_expression ! IDENT) && (unary_expression ! IDENT)) )) == IDENT)) ;) (if_statement if (parenthesized_expression ( IDENT )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT & LIT) | LIT)) ;) (return_statement return LIT ;) })) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (string_literal " string_content "))) ;) (do_statement do (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (break_statement break ;)) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * IDENT) < (pointer_expression * IDENT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * IDENT) == (pointer_expression * IDENT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }) while (parenthesized_expression ( IDENT )) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (unary_expression ! IDENT) && (unary_expression ! IDENT)) )) == IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT & LIT) | LIT)) ;) (return_statement return LIT ;) })) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT) , (string_literal " string_content ") )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT | LIT)) ;) (return_statement return LIT ;) })) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT) , (string_literal " string_content ") )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT | LIT)) ;) (return_statement return LIT ;) })) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT) , (string_literal " string_content ") )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT | LIT)) ;) (return_statement return LIT ;) })) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT) , (string_literal " string_content ") )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT | LIT)) ;) (return_statement return LIT ;) })) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT) , (string_literal " string_content ") )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT | LIT)) ;) (return_statement return LIT ;) })) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT) , (string_literal " string_content ") )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT | LIT)) ;) (return_statement return LIT ;) })) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT) , (string_literal " string_content ") )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT | LIT)) ;) (return_statement return LIT ;) })) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT) , (string_literal " string_content ") )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT | LIT)) ;) (return_statement return LIT ;) })) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT) , (string_literal " string_content ") )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT | LIT)) ;) (return_statement return LIT ;) })) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT) , (string_literal " string_content ") )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT | LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT | LIT)) ;) (return_statement return LIT ;) })) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT) , (string_literal " string_content ") )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT & LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT & LIT)) ;) (return_statement return LIT ;) })) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT) , (string_literal " string_content ") )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT | LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT | LIT)) ;) (return_statement return LIT ;) })) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT) , (string_literal " string_content ") )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT | LIT)) ;) (return_statement return LIT ;) })) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT) , (string_literal " string_content ") )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT & LIT)) ;) (return_statement return LIT ;) })) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT) , (string_literal " string_content ") )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression (field_expression IDENT . field_identifier) = (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) | LIT)) ;) (return_statement return LIT ;) })) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT) , (string_literal " string_content ") )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression (field_expression IDENT . field_identifier) = (binary_expression (field_expression IDENT . field_identifier) | LIT)) ;) (return_statement return LIT ;) })) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT) , (string_literal " string_content ") )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression (field_expression IDENT . field_identifier) = (binary_expression (field_expression IDENT . field_identifier) & LIT)) ;) (return_statement return LIT ;) })) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT) , (string_literal " string_content ") )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression (field_expression IDENT . field_identifier) = (binary_expression (field_expression IDENT . field_identifier) | LIT)) ;) (return_statement return LIT ;) })) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT) , (string_literal " string_content ") )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression (field_expression IDENT . field_identifier) = (binary_expression (field_expression IDENT . field_identifier) & LIT)) ;) (return_statement return LIT ;) })) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT) , (string_literal " string_content ") )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression (field_expression IDENT . field_identifier) = (binary_expression (binary_expression (field_expression IDENT . field_identifier) & LIT) | LIT)) ;) (return_statement return LIT ;) })) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT) , (string_literal " string_content ") )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression (field_expression IDENT . field_identifier) = (binary_expression (binary_expression (field_expression IDENT . field_identifier) & LIT) | LIT)) ;) (return_statement return LIT ;) })) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT) , (string_literal " string_content ") )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT | LIT)) ;) (return_statement return LIT ;) })) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT) , (string_literal " string_content ") )))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT == LIT) )) || (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (call_expression IDENT (argument_list ( (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT) , (string_literal " string_content ") )))) , (binary_expression IDENT == LIT)) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT & LIT)) ;) (return_statement return LIT ;) })) (expression_statement (assignment_expression IDENT = (string_literal " string_content escape_sequence ")) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))) , IDENT , LIT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (subscript_expression IDENT [ LIT ])) == (char_literal ' escape_sequence ')) )) && (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (binary_expression IDENT - LIT) & IDENT) )) == LIT) ))) )) (compound_statement { (return_statement return LIT ;) })) (expression_statement (assignment_expression IDENT = (string_literal " string_content escape_sequence escape_sequence ")) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) + LIT) )))) ;) }))) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( LIT , IDENT , LIT )))) ;)) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT ))) ;) (return_statement return LIT ;) })))
(function_definition "undefined4 FUN_00035ac0(uint param_1)\n\n{\n  undefined *puVar1;\n  undefined1 uVar2;\n  int iVar3;\n  undefined4 uVar4;\n  char *pcVar5;\n  byte *pbVar6;\n  char *__s1;\n  byte *pbVar7;\n  byte *pbVar8;\n  bool bVar9;\n  bool bVar10;\n  bool bVar11;\n  byte bVar12;\n  char *local_20 [3];\n  undefined4 uStack_14;\n  \n  puVar1 = PTR_optarg_0008bff4;\n  bVar12 = 0;\n  uStack_14 = 0x35ac9;\n  if (param_1 == 0x193) {\n    DAT_0008cc00._2_2_ = DAT_0008cc00._2_2_ & 0x3fff | 0x4000;\n    return 1;\n  }\n  uVar2 = DAT_0008cc04;\n  if (0x193 < (int)param_1) {\n    if (param_1 != 0x196) {\n      if ((int)param_1 < 0x197) {\n        if (param_1 == 0x194) {\n          DAT_0008cc00._2_2_ = DAT_0008cc00._2_2_ & 0x3fff;\n          return 1;\n        }\n        if (param_1 != 0x195) {\n          return 0;\n        }\n        FUN_00024120(*(undefined4 *)PTR_optarg_0008bff4);\n        return 1;\n      }\n      if (param_1 == 0x198) {\n        FUN_000359c0();\n        return 1;\n      }\n      if ((int)param_1 < 0x198) {\n        if (DAT_0008ca2c != (void *)0x0) {\n          free(DAT_0008ca2c);\n          DAT_0008ca2c = (void *)0x0;\n        }\n        pbVar6 = *(byte **)PTR_optarg_0008bff4;\n        bVar9 = false;\n        bVar11 = pbVar6 == (byte *)0x0;\n        if (bVar11) {\n          pbVar6 = &DAT_0004f1e8;\n          *(undefined1 **)PTR_optarg_0008bff4 = &DAT_0004f1e8;\n        }\n        else {\n          iVar3 = 5;\n          pbVar7 = pbVar6;\n          pbVar8 = (byte *)0x4ab38;\n          do {\n            if (iVar3 == 0) break;\n            iVar3 = iVar3 + -1;\n            bVar9 = *pbVar7 < *pbVar8;\n            bVar11 = *pbVar7 == *pbVar8;\n            pbVar7 = pbVar7 + (uint)bVar12 * -2 + 1;\n            pbVar8 = pbVar8 + (uint)bVar12 * -2 + 1;\n          } while (bVar11);\n          if ((!bVar9 && !bVar11) == bVar9) {\n            return 1;\n          }\n        }\n        DAT_0008ca2c = (void *)xstrdup(pbVar6);\n        return 1;\n      }\n      if (param_1 != 0x199) {\n        return 0;\n      }\n      __s1 = *(char **)PTR_optarg_0008bff4;\n      iVar3 = strcasecmp(__s1,"none");\n      if (iVar3 == 0) {\n        DAT_0008cc0c = 0;\n        return 1;\n      }\n      iVar3 = strcasecmp(__s1,"zlib");\n      if (iVar3 != 0) {\n        iVar3 = strcasecmp(__s1,"zlib-gnu");\n        if (iVar3 == 0) {\n          DAT_0008cc0c = 3;\n          return 1;\n        }\n        iVar3 = strcasecmp(__s1,"zlib-gabi");\n        if (iVar3 != 0) {\n          pcVar5 = "%F%P: invalid --compress-debug-sections option: `%s\'\n";\n          goto LAB_00035f83;\n        }\n      }\n      DAT_0008cc0c = 5;\n      return 1;\n    }\n    pbVar6 = *(byte **)PTR_optarg_0008bff4;\n    iVar3 = 5;\n    bVar9 = false;\n    bVar11 = (_DAT_0008cc04 & 0xf3) == 0;\n    _DAT_0008cc04 = _DAT_0008cc04 & 0xfffffff3;\n    pbVar7 = pbVar6;\n    pbVar8 = &DAT_0007ac19;\n    do {\n      if (iVar3 == 0) break;\n      iVar3 = iVar3 + -1;\n      bVar9 = *pbVar7 < *pbVar8;\n      bVar11 = *pbVar7 == *pbVar8;\n      pbVar7 = pbVar7 + 1;\n      pbVar8 = pbVar8 + 1;\n    } while (bVar11);\n    bVar10 = false;\n    bVar9 = (!bVar9 && !bVar11) == bVar9;\n    if (bVar9) {\n      _DAT_0008cc04 = CONCAT31(_DAT_0008cc05,uVar2) & 0xfffffff3 | 4;\n      return 1;\n    }\n    iVar3 = 4;\n    pbVar7 = pbVar6;\n    pbVar8 = &DAT_0007ac0b;\n    do {\n      if (iVar3 == 0) break;\n      iVar3 = iVar3 + -1;\n      bVar10 = *pbVar7 < *pbVar8;\n      bVar9 = *pbVar7 == *pbVar8;\n      pbVar7 = pbVar7 + 1;\n      pbVar8 = pbVar8 + 1;\n    } while (bVar9);\n    bVar11 = false;\n    bVar9 = (!bVar10 && !bVar9) == bVar10;\n    if (bVar9) {\n      _DAT_0008cc04 = CONCAT31(_DAT_0008cc05,uVar2) & 0xfffffff3 | 8;\n      return 1;\n    }\n    iVar3 = 5;\n    pbVar7 = pbVar6;\n    pbVar8 = &DAT_0007ac1e;\n    do {\n      if (iVar3 == 0) break;\n      iVar3 = iVar3 + -1;\n      bVar11 = *pbVar7 < *pbVar8;\n      bVar9 = *pbVar7 == *pbVar8;\n      pbVar7 = pbVar7 + 1;\n      pbVar8 = pbVar8 + 1;\n    } while (bVar9);\n    if ((!bVar11 && !bVar9) == bVar11) {\n      _DAT_0008cc04 = CONCAT31(_DAT_0008cc05,uVar2) & 0xfffffff3 | 0xc;\n      return 1;\n    }\n    pcVar5 = "%F%P: invalid hash style `%s\'\n";\nLAB_0003606a:\n    uVar4 = dcgettext(0,pcVar5,5);\n    FUN_00031700(uVar4,pbVar6);\n    return 1;\n  }\n  bVar9 = param_1 < 0x12d;\n  bVar11 = param_1 == 0x12d;\n  if (bVar11) {\n    iVar3 = 7;\n    pbVar6 = *(byte **)PTR_optarg_0008bff4;\n    pbVar7 = pbVar6;\n    pbVar8 = (byte *)"target";\n    do {\n      if (iVar3 == 0) break;\n      iVar3 = iVar3 + -1;\n      bVar9 = *pbVar7 < *pbVar8;\n      bVar11 = *pbVar7 == *pbVar8;\n      pbVar7 = pbVar7 + 1;\n      pbVar8 = pbVar8 + 1;\n    } while (bVar11);\n    bVar10 = false;\n    bVar9 = (!bVar9 && !bVar11) == bVar9;\n    if (!bVar9) {\n      iVar3 = 7;\n      pbVar7 = pbVar6;\n      pbVar8 = (byte *)"single";\n      do {\n        if (iVar3 == 0) break;\n        iVar3 = iVar3 + -1;\n        bVar10 = *pbVar7 < *pbVar8;\n        bVar9 = *pbVar7 == *pbVar8;\n        pbVar7 = pbVar7 + 1;\n        pbVar8 = pbVar8 + 1;\n      } while (bVar9);\n      bVar11 = false;\n      bVar9 = (!bVar10 && !bVar9) == bVar10;\n      if (!bVar9) {\n        iVar3 = 9;\n        pbVar7 = pbVar6;\n        pbVar8 = (byte *)"negative";\n        do {\n          if (iVar3 == 0) break;\n          iVar3 = iVar3 + -1;\n          bVar11 = *pbVar7 < *pbVar8;\n          bVar9 = *pbVar7 == *pbVar8;\n          pbVar7 = pbVar7 + 1;\n          pbVar8 = pbVar8 + 1;\n        } while (bVar9);\n        bVar10 = false;\n        bVar9 = (!bVar11 && !bVar9) == bVar11;\n        if (bVar9) {\n          DAT_0008cac4 = 1;\n          return 1;\n        }\n        iVar3 = 9;\n        pbVar7 = pbVar6;\n        pbVar8 = (byte *)"multigot";\n        do {\n          if (iVar3 == 0) break;\n          iVar3 = iVar3 + -1;\n          bVar10 = *pbVar7 < *pbVar8;\n          bVar9 = *pbVar7 == *pbVar8;\n          pbVar7 = pbVar7 + 1;\n          pbVar8 = pbVar8 + 1;\n        } while (bVar9);\n        if ((!bVar10 && !bVar9) == bVar10) {\n          DAT_0008cac4 = 2;\n          return 1;\n        }\n        pcVar5 = "%P: unrecognized --got argument \'%s\'\n";\n        goto LAB_0003606a;\n      }\n    }\n    DAT_0008cac4 = 0;\n    return 1;\n  }\n  if (0x12d < (int)param_1) {\n    if (param_1 == 0x191) {\n      _DAT_0008cc04 = _DAT_0008cc04 | 0x100;\n      return 1;\n    }\n    if (0x191 < (int)param_1) {\n      DAT_0008cc00._2_2_ = DAT_0008cc00._2_2_ | 0x1e0;\n      DAT_0008cc74 = DAT_0008cc74 | 4;\n      return 1;\n    }\n    if (param_1 != 400) {\n      return 0;\n    }\n    _DAT_0008cc04 = _DAT_0008cc04 & 0xfffffeff;\n    return 1;\n  }\n  if (param_1 == 0x50) {\n    FUN_000359c0();\n    return 1;\n  }\n  bVar9 = param_1 < 0x7a;\n  bVar11 = param_1 == 0x7a;\n  if (!bVar11) {\n    return 0;\n  }\n  iVar3 = 5;\n  pbVar6 = *(byte **)PTR_optarg_0008bff4;\n  pbVar7 = pbVar6;\n  pbVar8 = (byte *)0x4acc7;\n  do {\n    if (iVar3 == 0) break;\n    iVar3 = iVar3 + -1;\n    bVar9 = *pbVar7 < *pbVar8;\n    bVar11 = *pbVar7 == *pbVar8;\n    pbVar7 = pbVar7 + 1;\n    pbVar8 = pbVar8 + 1;\n  } while (bVar11);\n  bVar10 = false;\n  bVar9 = (!bVar9 && !bVar11) == bVar9;\n  if (bVar9) {\n    DAT_0008cc00._2_2_ = DAT_0008cc00._2_2_ | 0x60;\n    return 1;\n  }\n  iVar3 = 7;\n  pbVar7 = pbVar6;\n  pbVar8 = (byte *)"undefs";\n  do {\n    if (iVar3 == 0) break;\n    iVar3 = iVar3 + -1;\n    bVar10 = *pbVar7 < *pbVar8;\n    bVar9 = *pbVar7 == *pbVar8;\n    pbVar7 = pbVar7 + 1;\n    pbVar8 = pbVar8 + 1;\n  } while (bVar9);\n  bVar11 = false;\n  bVar9 = (!bVar10 && !bVar9) == bVar10;\n  if (bVar9) {\n    DAT_0008cc00._2_2_ = DAT_0008cc00._2_2_ & 0xff9f | 0x20;\n    return 1;\n  }\n  iVar3 = 8;\n  pbVar7 = pbVar6;\n  pbVar8 = (byte *)"muldefs";\n  do {\n    if (iVar3 == 0) break;\n    iVar3 = iVar3 + -1;\n    bVar11 = *pbVar7 < *pbVar8;\n    bVar9 = *pbVar7 == *pbVar8;\n    pbVar7 = pbVar7 + 1;\n    pbVar8 = pbVar8 + 1;\n  } while (bVar9);\n  bVar10 = false;\n  bVar9 = (!bVar11 && !bVar9) == bVar11;\n  if (bVar9) {\n    _DAT_0008cc04 = _DAT_0008cc04 | 0x800;\n    return 1;\n  }\n  iVar3 = 0xe;\n  pbVar7 = pbVar6;\n  pbVar8 = (byte *)"max-page-size=";\n  do {\n    if (iVar3 == 0) break;\n    iVar3 = iVar3 + -1;\n    bVar10 = *pbVar7 < *pbVar8;\n    bVar9 = *pbVar7 == *pbVar8;\n    pbVar7 = pbVar7 + 1;\n    pbVar8 = pbVar8 + 1;\n  } while (bVar9);\n  bVar11 = false;\n  bVar9 = (!bVar10 && !bVar9) == bVar10;\n  if (bVar9) {\n    DAT_0008cd60 = strtoul((char *)(pbVar6 + 0xe),local_20,0);\n    if ((*local_20[0] == '\0') && ((DAT_0008cd60 - 1 & DAT_0008cd60) == 0)) {\n      return 1;\n    }\n    pcVar5 = "%F%P: invalid maximum page size `%s\'\n";\n    __s1 = (char *)(*(int *)puVar1 + 0xe);\n  }\n  else {\n    iVar3 = 0x11;\n    pbVar7 = pbVar6;\n    pbVar8 = (byte *)"common-page-size=";\n    do {\n      if (iVar3 == 0) break;\n      iVar3 = iVar3 + -1;\n      bVar11 = *pbVar7 < *pbVar8;\n      bVar9 = *pbVar7 == *pbVar8;\n      pbVar7 = pbVar7 + 1;\n      pbVar8 = pbVar8 + 1;\n    } while (bVar9);\n    bVar10 = false;\n    bVar9 = (!bVar11 && !bVar9) == bVar11;\n    if (!bVar9) {\n      iVar3 = 0xb;\n      pbVar7 = pbVar6;\n      pbVar8 = (byte *)"stack-size=";\n      do {\n        if (iVar3 == 0) break;\n        iVar3 = iVar3 + -1;\n        bVar10 = *pbVar7 < *pbVar8;\n        bVar9 = *pbVar7 == *pbVar8;\n        pbVar7 = pbVar7 + 1;\n        pbVar8 = pbVar8 + 1;\n      } while (bVar9);\n      bVar11 = false;\n      bVar9 = (!bVar10 && !bVar9) == bVar10;\n      if (bVar9) {\n        DAT_0008cc10 = strtoul((char *)(pbVar6 + 0xb),local_20,0);\n        if ((*local_20[0] != '\0') || ((int)DAT_0008cc10 < 0)) {\n          iVar3 = *(int *)puVar1;\n          uVar4 = dcgettext(0,"%F%P: invalid stack size `%s\'\n",5,DAT_0008cc10);\n          FUN_00031700(uVar4,iVar3 + 0xb);\n        }\n        if (DAT_0008cc10 == 0) {\n          DAT_0008cc10 = 0xffffffff;\n          return 1;\n        }\n        return 1;\n      }\n      iVar3 = 10;\n      pbVar7 = pbVar6;\n      pbVar8 = (byte *)0x7ac61;\n      do {\n        if (iVar3 == 0) break;\n        iVar3 = iVar3 + -1;\n        bVar11 = *pbVar7 < *pbVar8;\n        bVar9 = *pbVar7 == *pbVar8;\n        pbVar7 = pbVar7 + 1;\n        pbVar8 = pbVar8 + 1;\n      } while (bVar9);\n      bVar10 = false;\n      bVar9 = (!bVar11 && !bVar9) == bVar11;\n      if (bVar9) {\n        _DAT_0008cc04 = _DAT_0008cc04 & 0xfffe7fff | 0x8000;\n        return 1;\n      }\n      iVar3 = 0xc;\n      pbVar7 = pbVar6;\n      pbVar8 = (byte *)"noexecstack";\n      do {\n        if (iVar3 == 0) break;\n        iVar3 = iVar3 + -1;\n        bVar10 = *pbVar7 < *pbVar8;\n        bVar9 = *pbVar7 == *pbVar8;\n        pbVar7 = pbVar7 + 1;\n        pbVar8 = pbVar8 + 1;\n      } while (bVar9);\n      if ((!bVar10 && !bVar9) == bVar10) {\n        _DAT_0008cc04 = _DAT_0008cc04 & 0xfffe7fff | 0x10000;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar6,"globalaudit");\n      if (iVar3 == 0) {\n        DAT_0008cc74 = DAT_0008cc74 | 0x1000000;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar6,"global");\n      if (iVar3 == 0) {\n        DAT_0008cc74 = DAT_0008cc74 | 2;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar6,"initfirst");\n      if (iVar3 == 0) {\n        DAT_0008cc74 = DAT_0008cc74 | 0x20;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar6,"interpose");\n      if (iVar3 == 0) {\n        DAT_0008cc74 = DAT_0008cc74 | 0x400;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar6,"loadfltr");\n      if (iVar3 == 0) {\n        DAT_0008cc74 = DAT_0008cc74 | 0x10;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar6,"nodefaultlib");\n      if (iVar3 == 0) {\n        DAT_0008cc74 = DAT_0008cc74 | 0x800;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar6,"nodelete");\n      if (iVar3 == 0) {\n        DAT_0008cc74 = DAT_0008cc74 | 8;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar6,"nodlopen");\n      if (iVar3 == 0) {\n        DAT_0008cc74 = DAT_0008cc74 | 0x40;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar6,"nodump");\n      if (iVar3 == 0) {\n        DAT_0008cc74 = DAT_0008cc74 | 0x1000;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar6,"now");\n      if (iVar3 == 0) {\n        _DAT_0008cc70 = _DAT_0008cc70 | 8;\n        DAT_0008cc74 = DAT_0008cc74 | 1;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar6,"lazy");\n      if (iVar3 == 0) {\n        _DAT_0008cc70 = _DAT_0008cc70 & 0xfffffff7;\n        DAT_0008cc74 = DAT_0008cc74 & 0xfffffffe;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar6,"origin");\n      if (iVar3 == 0) {\n        _DAT_0008cc70 = _DAT_0008cc70 | 1;\n        DAT_0008cc74 = DAT_0008cc74 | 0x80;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar6,"combreloc");\n      if (iVar3 == 0) {\n        _DAT_0008cc04 = _DAT_0008cc04 | 0x40;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar6,"nocombreloc");\n      if (iVar3 == 0) {\n        _DAT_0008cc04 = _DAT_0008cc04 & 0xffffffbf;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar6,"nocopyreloc");\n      if (iVar3 == 0) {\n        DAT_0008cc00._0_1_ = (byte)DAT_0008cc00 | 8;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar6,"relro");\n      if (iVar3 == 0) {\n        DAT_0008cc00._2_2_ = DAT_0008cc00._2_2_ | 0x1000;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar6,"norelro");\n      if (iVar3 == 0) {\n        DAT_0008cc00._2_2_ = DAT_0008cc00._2_2_ & 0xefff;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar6,"separate-code");\n      if (iVar3 == 0) {\n        DAT_0008cc00._2_2_ = DAT_0008cc00._2_2_ | 0x2000;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar6,"noseparate-code");\n      if (iVar3 == 0) {\n        DAT_0008cc00._2_2_ = DAT_0008cc00._2_2_ & 0xdfff;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar6,"common");\n      if (iVar3 == 0) {\n        DAT_0008cc00._2_2_ = DAT_0008cc00._2_2_ & 0xfff9 | 2;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar6,"nocommon");\n      if (iVar3 == 0) {\n        DAT_0008cc00._2_2_ = DAT_0008cc00._2_2_ & 0xfff9 | 4;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar6,"text");\n      if (iVar3 == 0) {\n        _DAT_0008cc04 = _DAT_0008cc04 | 2;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar6,"notext");\n      if ((iVar3 == 0) || (iVar3 = strcmp((char *)pbVar6,"textoff"), iVar3 == 0)) {\n        _DAT_0008cc04 = _DAT_0008cc04 & 0xfffffffd;\n        return 1;\n      }\n      pcVar5 = "%P: warning: -z %s ignored\n";\n      goto LAB_0003606a;\n    }\n    DAT_0008cd64 = strtoul((char *)(pbVar6 + 0x11),local_20,0);\n    if ((*local_20[0] == '\0') && ((DAT_0008cd64 - 1 & DAT_0008cd64) == 0)) {\n      return 1;\n    }\n    pcVar5 = "%F%P: invalid common page size `%s\'\n";\n    __s1 = (char *)(*(int *)puVar1 + 0x11);\n  }\nLAB_00035f83:\n  uVar4 = dcgettext(0,pcVar5,5);\n  FUN_00031700(uVar4,__s1);\n  return 1;\n}" (type_identifier "undefined4") (function_declarator "FUN_00035ac0(uint param_1)" (identifier "FUN_00035ac0") (parameter_list "(uint param_1)" (( "(") (parameter_declaration "uint param_1" (type_identifier "uint") (identifier "param_1")) () ")"))) (compound_statement "{\n  undefined *puVar1;\n  undefined1 uVar2;\n  int iVar3;\n  undefined4 uVar4;\n  char *pcVar5;\n  byte *pbVar6;\n  char *__s1;\n  byte *pbVar7;\n  byte *pbVar8;\n  bool bVar9;\n  bool bVar10;\n  bool bVar11;\n  byte bVar12;\n  char *local_20 [3];\n  undefined4 uStack_14;\n  \n  puVar1 = PTR_optarg_0008bff4;\n  bVar12 = 0;\n  uStack_14 = 0x35ac9;\n  if (param_1 == 0x193) {\n    DAT_0008cc00._2_2_ = DAT_0008cc00._2_2_ & 0x3fff | 0x4000;\n    return 1;\n  }\n  uVar2 = DAT_0008cc04;\n  if (0x193 < (int)param_1) {\n    if (param_1 != 0x196) {\n      if ((int)param_1 < 0x197) {\n        if (param_1 == 0x194) {\n          DAT_0008cc00._2_2_ = DAT_0008cc00._2_2_ & 0x3fff;\n          return 1;\n        }\n        if (param_1 != 0x195) {\n          return 0;\n        }\n        FUN_00024120(*(undefined4 *)PTR_optarg_0008bff4);\n        return 1;\n      }\n      if (param_1 == 0x198) {\n        FUN_000359c0();\n        return 1;\n      }\n      if ((int)param_1 < 0x198) {\n        if (DAT_0008ca2c != (void *)0x0) {\n          free(DAT_0008ca2c);\n          DAT_0008ca2c = (void *)0x0;\n        }\n        pbVar6 = *(byte **)PTR_optarg_0008bff4;\n        bVar9 = false;\n        bVar11 = pbVar6 == (byte *)0x0;\n        if (bVar11) {\n          pbVar6 = &DAT_0004f1e8;\n          *(undefined1 **)PTR_optarg_0008bff4 = &DAT_0004f1e8;\n        }\n        else {\n          iVar3 = 5;\n          pbVar7 = pbVar6;\n          pbVar8 = (byte *)0x4ab38;\n          do {\n            if (iVar3 == 0) break;\n            iVar3 = iVar3 + -1;\n            bVar9 = *pbVar7 < *pbVar8;\n            bVar11 = *pbVar7 == *pbVar8;\n            pbVar7 = pbVar7 + (uint)bVar12 * -2 + 1;\n            pbVar8 = pbVar8 + (uint)bVar12 * -2 + 1;\n          } while (bVar11);\n          if ((!bVar9 && !bVar11) == bVar9) {\n            return 1;\n          }\n        }\n        DAT_0008ca2c = (void *)xstrdup(pbVar6);\n        return 1;\n      }\n      if (param_1 != 0x199) {\n        return 0;\n      }\n      __s1 = *(char **)PTR_optarg_0008bff4;\n      iVar3 = strcasecmp(__s1,"none");\n      if (iVar3 == 0) {\n        DAT_0008cc0c = 0;\n        return 1;\n      }\n      iVar3 = strcasecmp(__s1,"zlib");\n      if (iVar3 != 0) {\n        iVar3 = strcasecmp(__s1,"zlib-gnu");\n        if (iVar3 == 0) {\n          DAT_0008cc0c = 3;\n          return 1;\n        }\n        iVar3 = strcasecmp(__s1,"zlib-gabi");\n        if (iVar3 != 0) {\n          pcVar5 = "%F%P: invalid --compress-debug-sections option: `%s\'\n";\n          goto LAB_00035f83;\n        }\n      }\n      DAT_0008cc0c = 5;\n      return 1;\n    }\n    pbVar6 = *(byte **)PTR_optarg_0008bff4;\n    iVar3 = 5;\n    bVar9 = false;\n    bVar11 = (_DAT_0008cc04 & 0xf3) == 0;\n    _DAT_0008cc04 = _DAT_0008cc04 & 0xfffffff3;\n    pbVar7 = pbVar6;\n    pbVar8 = &DAT_0007ac19;\n    do {\n      if (iVar3 == 0) break;\n      iVar3 = iVar3 + -1;\n      bVar9 = *pbVar7 < *pbVar8;\n      bVar11 = *pbVar7 == *pbVar8;\n      pbVar7 = pbVar7 + 1;\n      pbVar8 = pbVar8 + 1;\n    } while (bVar11);\n    bVar10 = false;\n    bVar9 = (!bVar9 && !bVar11) == bVar9;\n    if (bVar9) {\n      _DAT_0008cc04 = CONCAT31(_DAT_0008cc05,uVar2) & 0xfffffff3 | 4;\n      return 1;\n    }\n    iVar3 = 4;\n    pbVar7 = pbVar6;\n    pbVar8 = &DAT_0007ac0b;\n    do {\n      if (iVar3 == 0) break;\n      iVar3 = iVar3 + -1;\n      bVar10 = *pbVar7 < *pbVar8;\n      bVar9 = *pbVar7 == *pbVar8;\n      pbVar7 = pbVar7 + 1;\n      pbVar8 = pbVar8 + 1;\n    } while (bVar9);\n    bVar11 = false;\n    bVar9 = (!bVar10 && !bVar9) == bVar10;\n    if (bVar9) {\n      _DAT_0008cc04 = CONCAT31(_DAT_0008cc05,uVar2) & 0xfffffff3 | 8;\n      return 1;\n    }\n    iVar3 = 5;\n    pbVar7 = pbVar6;\n    pbVar8 = &DAT_0007ac1e;\n    do {\n      if (iVar3 == 0) break;\n      iVar3 = iVar3 + -1;\n      bVar11 = *pbVar7 < *pbVar8;\n      bVar9 = *pbVar7 == *pbVar8;\n      pbVar7 = pbVar7 + 1;\n      pbVar8 = pbVar8 + 1;\n    } while (bVar9);\n    if ((!bVar11 && !bVar9) == bVar11) {\n      _DAT_0008cc04 = CONCAT31(_DAT_0008cc05,uVar2) & 0xfffffff3 | 0xc;\n      return 1;\n    }\n    pcVar5 = "%F%P: invalid hash style `%s\'\n";\nLAB_0003606a:\n    uVar4 = dcgettext(0,pcVar5,5);\n    FUN_00031700(uVar4,pbVar6);\n    return 1;\n  }\n  bVar9 = param_1 < 0x12d;\n  bVar11 = param_1 == 0x12d;\n  if (bVar11) {\n    iVar3 = 7;\n    pbVar6 = *(byte **)PTR_optarg_0008bff4;\n    pbVar7 = pbVar6;\n    pbVar8 = (byte *)"target";\n    do {\n      if (iVar3 == 0) break;\n      iVar3 = iVar3 + -1;\n      bVar9 = *pbVar7 < *pbVar8;\n      bVar11 = *pbVar7 == *pbVar8;\n      pbVar7 = pbVar7 + 1;\n      pbVar8 = pbVar8 + 1;\n    } while (bVar11);\n    bVar10 = false;\n    bVar9 = (!bVar9 && !bVar11) == bVar9;\n    if (!bVar9) {\n      iVar3 = 7;\n      pbVar7 = pbVar6;\n      pbVar8 = (byte *)"single";\n      do {\n        if (iVar3 == 0) break;\n        iVar3 = iVar3 + -1;\n        bVar10 = *pbVar7 < *pbVar8;\n        bVar9 = *pbVar7 == *pbVar8;\n        pbVar7 = pbVar7 + 1;\n        pbVar8 = pbVar8 + 1;\n      } while (bVar9);\n      bVar11 = false;\n      bVar9 = (!bVar10 && !bVar9) == bVar10;\n      if (!bVar9) {\n        iVar3 = 9;\n        pbVar7 = pbVar6;\n        pbVar8 = (byte *)"negative";\n        do {\n          if (iVar3 == 0) break;\n          iVar3 = iVar3 + -1;\n          bVar11 = *pbVar7 < *pbVar8;\n          bVar9 = *pbVar7 == *pbVar8;\n          pbVar7 = pbVar7 + 1;\n          pbVar8 = pbVar8 + 1;\n        } while (bVar9);\n        bVar10 = false;\n        bVar9 = (!bVar11 && !bVar9) == bVar11;\n        if (bVar9) {\n          DAT_0008cac4 = 1;\n          return 1;\n        }\n        iVar3 = 9;\n        pbVar7 = pbVar6;\n        pbVar8 = (byte *)"multigot";\n        do {\n          if (iVar3 == 0) break;\n          iVar3 = iVar3 + -1;\n          bVar10 = *pbVar7 < *pbVar8;\n          bVar9 = *pbVar7 == *pbVar8;\n          pbVar7 = pbVar7 + 1;\n          pbVar8 = pbVar8 + 1;\n        } while (bVar9);\n        if ((!bVar10 && !bVar9) == bVar10) {\n          DAT_0008cac4 = 2;\n          return 1;\n        }\n        pcVar5 = "%P: unrecognized --got argument \'%s\'\n";\n        goto LAB_0003606a;\n      }\n    }\n    DAT_0008cac4 = 0;\n    return 1;\n  }\n  if (0x12d < (int)param_1) {\n    if (param_1 == 0x191) {\n      _DAT_0008cc04 = _DAT_0008cc04 | 0x100;\n      return 1;\n    }\n    if (0x191 < (int)param_1) {\n      DAT_0008cc00._2_2_ = DAT_0008cc00._2_2_ | 0x1e0;\n      DAT_0008cc74 = DAT_0008cc74 | 4;\n      return 1;\n    }\n    if (param_1 != 400) {\n      return 0;\n    }\n    _DAT_0008cc04 = _DAT_0008cc04 & 0xfffffeff;\n    return 1;\n  }\n  if (param_1 == 0x50) {\n    FUN_000359c0();\n    return 1;\n  }\n  bVar9 = param_1 < 0x7a;\n  bVar11 = param_1 == 0x7a;\n  if (!bVar11) {\n    return 0;\n  }\n  iVar3 = 5;\n  pbVar6 = *(byte **)PTR_optarg_0008bff4;\n  pbVar7 = pbVar6;\n  pbVar8 = (byte *)0x4acc7;\n  do {\n    if (iVar3 == 0) break;\n    iVar3 = iVar3 + -1;\n    bVar9 = *pbVar7 < *pbVar8;\n    bVar11 = *pbVar7 == *pbVar8;\n    pbVar7 = pbVar7 + 1;\n    pbVar8 = pbVar8 + 1;\n  } while (bVar11);\n  bVar10 = false;\n  bVar9 = (!bVar9 && !bVar11) == bVar9;\n  if (bVar9) {\n    DAT_0008cc00._2_2_ = DAT_0008cc00._2_2_ | 0x60;\n    return 1;\n  }\n  iVar3 = 7;\n  pbVar7 = pbVar6;\n  pbVar8 = (byte *)"undefs";\n  do {\n    if (iVar3 == 0) break;\n    iVar3 = iVar3 + -1;\n    bVar10 = *pbVar7 < *pbVar8;\n    bVar9 = *pbVar7 == *pbVar8;\n    pbVar7 = pbVar7 + 1;\n    pbVar8 = pbVar8 + 1;\n  } while (bVar9);\n  bVar11 = false;\n  bVar9 = (!bVar10 && !bVar9) == bVar10;\n  if (bVar9) {\n    DAT_0008cc00._2_2_ = DAT_0008cc00._2_2_ & 0xff9f | 0x20;\n    return 1;\n  }\n  iVar3 = 8;\n  pbVar7 = pbVar6;\n  pbVar8 = (byte *)"muldefs";\n  do {\n    if (iVar3 == 0) break;\n    iVar3 = iVar3 + -1;\n    bVar11 = *pbVar7 < *pbVar8;\n    bVar9 = *pbVar7 == *pbVar8;\n    pbVar7 = pbVar7 + 1;\n    pbVar8 = pbVar8 + 1;\n  } while (bVar9);\n  bVar10 = false;\n  bVar9 = (!bVar11 && !bVar9) == bVar11;\n  if (bVar9) {\n    _DAT_0008cc04 = _DAT_0008cc04 | 0x800;\n    return 1;\n  }\n  iVar3 = 0xe;\n  pbVar7 = pbVar6;\n  pbVar8 = (byte *)"max-page-size=";\n  do {\n    if (iVar3 == 0) break;\n    iVar3 = iVar3 + -1;\n    bVar10 = *pbVar7 < *pbVar8;\n    bVar9 = *pbVar7 == *pbVar8;\n    pbVar7 = pbVar7 + 1;\n    pbVar8 = pbVar8 + 1;\n  } while (bVar9);\n  bVar11 = false;\n  bVar9 = (!bVar10 && !bVar9) == bVar10;\n  if (bVar9) {\n    DAT_0008cd60 = strtoul((char *)(pbVar6 + 0xe),local_20,0);\n    if ((*local_20[0] == '\0') && ((DAT_0008cd60 - 1 & DAT_0008cd60) == 0)) {\n      return 1;\n    }\n    pcVar5 = "%F%P: invalid maximum page size `%s\'\n";\n    __s1 = (char *)(*(int *)puVar1 + 0xe);\n  }\n  else {\n    iVar3 = 0x11;\n    pbVar7 = pbVar6;\n    pbVar8 = (byte *)"common-page-size=";\n    do {\n      if (iVar3 == 0) break;\n      iVar3 = iVar3 + -1;\n      bVar11 = *pbVar7 < *pbVar8;\n      bVar9 = *pbVar7 == *pbVar8;\n      pbVar7 = pbVar7 + 1;\n      pbVar8 = pbVar8 + 1;\n    } while (bVar9);\n    bVar10 = false;\n    bVar9 = (!bVar11 && !bVar9) == bVar11;\n    if (!bVar9) {\n      iVar3 = 0xb;\n      pbVar7 = pbVar6;\n      pbVar8 = (byte *)"stack-size=";\n      do {\n        if (iVar3 == 0) break;\n        iVar3 = iVar3 + -1;\n        bVar10 = *pbVar7 < *pbVar8;\n        bVar9 = *pbVar7 == *pbVar8;\n        pbVar7 = pbVar7 + 1;\n        pbVar8 = pbVar8 + 1;\n      } while (bVar9);\n      bVar11 = false;\n      bVar9 = (!bVar10 && !bVar9) == bVar10;\n      if (bVar9) {\n        DAT_0008cc10 = strtoul((char *)(pbVar6 + 0xb),local_20,0);\n        if ((*local_20[0] != '\0') || ((int)DAT_0008cc10 < 0)) {\n          iVar3 = *(int *)puVar1;\n          uVar4 = dcgettext(0,"%F%P: invalid stack size `%s\'\n",5,DAT_0008cc10);\n          FUN_00031700(uVar4,iVar3 + 0xb);\n        }\n        if (DAT_0008cc10 == 0) {\n          DAT_0008cc10 = 0xffffffff;\n          return 1;\n        }\n        return 1;\n      }\n      iVar3 = 10;\n      pbVar7 = pbVar6;\n      pbVar8 = (byte *)0x7ac61;\n      do {\n        if (iVar3 == 0) break;\n        iVar3 = iVar3 + -1;\n        bVar11 = *pbVar7 < *pbVar8;\n        bVar9 = *pbVar7 == *pbVar8;\n        pbVar7 = pbVar7 + 1;\n        pbVar8 = pbVar8 + 1;\n      } while (bVar9);\n      bVar10 = false;\n      bVar9 = (!bVar11 && !bVar9) == bVar11;\n      if (bVar9) {\n        _DAT_0008cc04 = _DAT_0008cc04 & 0xfffe7fff | 0x8000;\n        return 1;\n      }\n      iVar3 = 0xc;\n      pbVar7 = pbVar6;\n      pbVar8 = (byte *)"noexecstack";\n      do {\n        if (iVar3 == 0) break;\n        iVar3 = iVar3 + -1;\n        bVar10 = *pbVar7 < *pbVar8;\n        bVar9 = *pbVar7 == *pbVar8;\n        pbVar7 = pbVar7 + 1;\n        pbVar8 = pbVar8 + 1;\n      } while (bVar9);\n      if ((!bVar10 && !bVar9) == bVar10) {\n        _DAT_0008cc04 = _DAT_0008cc04 & 0xfffe7fff | 0x10000;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar6,"globalaudit");\n      if (iVar3 == 0) {\n        DAT_0008cc74 = DAT_0008cc74 | 0x1000000;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar6,"global");\n      if (iVar3 == 0) {\n        DAT_0008cc74 = DAT_0008cc74 | 2;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar6,"initfirst");\n      if (iVar3 == 0) {\n        DAT_0008cc74 = DAT_0008cc74 | 0x20;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar6,"interpose");\n      if (iVar3 == 0) {\n        DAT_0008cc74 = DAT_0008cc74 | 0x400;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar6,"loadfltr");\n      if (iVar3 == 0) {\n        DAT_0008cc74 = DAT_0008cc74 | 0x10;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar6,"nodefaultlib");\n      if (iVar3 == 0) {\n        DAT_0008cc74 = DAT_0008cc74 | 0x800;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar6,"nodelete");\n      if (iVar3 == 0) {\n        DAT_0008cc74 = DAT_0008cc74 | 8;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar6,"nodlopen");\n      if (iVar3 == 0) {\n        DAT_0008cc74 = DAT_0008cc74 | 0x40;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar6,"nodump");\n      if (iVar3 == 0) {\n        DAT_0008cc74 = DAT_0008cc74 | 0x1000;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar6,"now");\n      if (iVar3 == 0) {\n        _DAT_0008cc70 = _DAT_0008cc70 | 8;\n        DAT_0008cc74 = DAT_0008cc74 | 1;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar6,"lazy");\n      if (iVar3 == 0) {\n        _DAT_0008cc70 = _DAT_0008cc70 & 0xfffffff7;\n        DAT_0008cc74 = DAT_0008cc74 & 0xfffffffe;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar6,"origin");\n      if (iVar3 == 0) {\n        _DAT_0008cc70 = _DAT_0008cc70 | 1;\n        DAT_0008cc74 = DAT_0008cc74 | 0x80;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar6,"combreloc");\n      if (iVar3 == 0) {\n        _DAT_0008cc04 = _DAT_0008cc04 | 0x40;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar6,"nocombreloc");\n      if (iVar3 == 0) {\n        _DAT_0008cc04 = _DAT_0008cc04 & 0xffffffbf;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar6,"nocopyreloc");\n      if (iVar3 == 0) {\n        DAT_0008cc00._0_1_ = (byte)DAT_0008cc00 | 8;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar6,"relro");\n      if (iVar3 == 0) {\n        DAT_0008cc00._2_2_ = DAT_0008cc00._2_2_ | 0x1000;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar6,"norelro");\n      if (iVar3 == 0) {\n        DAT_0008cc00._2_2_ = DAT_0008cc00._2_2_ & 0xefff;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar6,"separate-code");\n      if (iVar3 == 0) {\n        DAT_0008cc00._2_2_ = DAT_0008cc00._2_2_ | 0x2000;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar6,"noseparate-code");\n      if (iVar3 == 0) {\n        DAT_0008cc00._2_2_ = DAT_0008cc00._2_2_ & 0xdfff;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar6,"common");\n      if (iVar3 == 0) {\n        DAT_0008cc00._2_2_ = DAT_0008cc00._2_2_ & 0xfff9 | 2;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar6,"nocommon");\n      if (iVar3 == 0) {\n        DAT_0008cc00._2_2_ = DAT_0008cc00._2_2_ & 0xfff9 | 4;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar6,"text");\n      if (iVar3 == 0) {\n        _DAT_0008cc04 = _DAT_0008cc04 | 2;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar6,"notext");\n      if ((iVar3 == 0) || (iVar3 = strcmp((char *)pbVar6,"textoff"), iVar3 == 0)) {\n        _DAT_0008cc04 = _DAT_0008cc04 & 0xfffffffd;\n        return 1;\n      }\n      pcVar5 = "%P: warning: -z %s ignored\n";\n      goto LAB_0003606a;\n    }\n    DAT_0008cd64 = strtoul((char *)(pbVar6 + 0x11),local_20,0);\n    if ((*local_20[0] == '\0') && ((DAT_0008cd64 - 1 & DAT_0008cd64) == 0)) {\n      return 1;\n    }\n    pcVar5 = "%F%P: invalid common page size `%s\'\n";\n    __s1 = (char *)(*(int *)puVar1 + 0x11);\n  }\nLAB_00035f83:\n  uVar4 = dcgettext(0,pcVar5,5);\n  FUN_00031700(uVar4,__s1);\n  return 1;\n}" ({ "{") (declaration "undefined *puVar1;" (type_identifier "undefined") (pointer_declarator "*puVar1" (* "*") (identifier "puVar1")) (; ";")) (declaration "undefined1 uVar2;" (type_identifier "undefined1") (identifier "uVar2") (; ";")) (declaration "int iVar3;" (primitive_type "int") (identifier "iVar3") (; ";")) (declaration "undefined4 uVar4;" (type_identifier "undefined4") (identifier "uVar4") (; ";")) (declaration "char *pcVar5;" (primitive_type "char") (pointer_declarator "*pcVar5" (* "*") (identifier "pcVar5")) (; ";")) (declaration "byte *pbVar6;" (type_identifier "byte") (pointer_declarator "*pbVar6" (* "*") (identifier "pbVar6")) (; ";")) (declaration "char *__s1;" (primitive_type "char") (pointer_declarator "*__s1" (* "*") (identifier "__s1")) (; ";")) (declaration "byte *pbVar7;" (type_identifier "byte") (pointer_declarator "*pbVar7" (* "*") (identifier "pbVar7")) (; ";")) (declaration "byte *pbVar8;" (type_identifier "byte") (pointer_declarator "*pbVar8" (* "*") (identifier "pbVar8")) (; ";")) (declaration "bool bVar9;" (primitive_type "bool") (identifier "bVar9") (; ";")) (declaration "bool bVar10;" (primitive_type "bool") (identifier "bVar10") (; ";")) (declaration "bool bVar11;" (primitive_type "bool") (identifier "bVar11") (; ";")) (declaration "byte bVar12;" (type_identifier "byte") (identifier "bVar12") (; ";")) (declaration "char *local_20 [3];" (primitive_type "char") (pointer_declarator "*local_20 [3]" (* "*") (array_declarator "local_20 [3]" (identifier "local_20") ([ "[") (number_literal "3") (] "]"))) (; ";")) (declaration "undefined4 uStack_14;" (type_identifier "undefined4") (identifier "uStack_14") (; ";")) (expression_statement "puVar1 = PTR_optarg_0008bff4;" (assignment_expression "puVar1 = PTR_optarg_0008bff4" (identifier "puVar1") (= "=") (identifier "PTR_optarg_0008bff4")) (; ";")) (expression_statement "bVar12 = 0;" (assignment_expression "bVar12 = 0" (identifier "bVar12") (= "=") (number_literal "0")) (; ";")) (expression_statement "uStack_14 = 0x35ac9;" (assignment_expression "uStack_14 = 0x35ac9" (identifier "uStack_14") (= "=") (number_literal "0x35ac9")) (; ";")) (if_statement "if (param_1 == 0x193) {\n    DAT_0008cc00._2_2_ = DAT_0008cc00._2_2_ & 0x3fff | 0x4000;\n    return 1;\n  }" (if "if") (parenthesized_expression "(param_1 == 0x193)" (( "(") (binary_expression "param_1 == 0x193" (identifier "param_1") (== "==") (number_literal "0x193")) () ")")) (compound_statement "{\n    DAT_0008cc00._2_2_ = DAT_0008cc00._2_2_ & 0x3fff | 0x4000;\n    return 1;\n  }" ({ "{") (expression_statement "DAT_0008cc00._2_2_ = DAT_0008cc00._2_2_ & 0x3fff | 0x4000;" (assignment_expression "DAT_0008cc00._2_2_ = DAT_0008cc00._2_2_ & 0x3fff | 0x4000" (field_expression "DAT_0008cc00._2_2_" (identifier "DAT_0008cc00") (. ".") (field_identifier "_2_2_")) (= "=") (binary_expression "DAT_0008cc00._2_2_ & 0x3fff | 0x4000" (binary_expression "DAT_0008cc00._2_2_ & 0x3fff" (field_expression "DAT_0008cc00._2_2_" (identifier "DAT_0008cc00") (. ".") (field_identifier "_2_2_")) (& "&") (number_literal "0x3fff")) (| "|") (number_literal "0x4000"))) (; ";")) (return_statement "return 1;" (return "return") (number_literal "1") (; ";")) (} "}"))) (expression_statement "uVar2 = DAT_0008cc04;" (assignment_expression "uVar2 = DAT_0008cc04" (identifier "uVar2") (= "=") (identifier "DAT_0008cc04")) (; ";")) (if_statement "if (0x193 < (int)param_1) {\n    if (param_1 != 0x196) {\n      if ((int)param_1 < 0x197) {\n        if (param_1 == 0x194) {\n          DAT_0008cc00._2_2_ = DAT_0008cc00._2_2_ & 0x3fff;\n          return 1;\n        }\n        if (param_1 != 0x195) {\n          return 0;\n        }\n        FUN_00024120(*(undefined4 *)PTR_optarg_0008bff4);\n        return 1;\n      }\n      if (param_1 == 0x198) {\n        FUN_000359c0();\n        return 1;\n      }\n      if ((int)param_1 < 0x198) {\n        if (DAT_0008ca2c != (void *)0x0) {\n          free(DAT_0008ca2c);\n          DAT_0008ca2c = (void *)0x0;\n        }\n        pbVar6 = *(byte **)PTR_optarg_0008bff4;\n        bVar9 = false;\n        bVar11 = pbVar6 == (byte *)0x0;\n        if (bVar11) {\n          pbVar6 = &DAT_0004f1e8;\n          *(undefined1 **)PTR_optarg_0008bff4 = &DAT_0004f1e8;\n        }\n        else {\n          iVar3 = 5;\n          pbVar7 = pbVar6;\n          pbVar8 = (byte *)0x4ab38;\n          do {\n            if (iVar3 == 0) break;\n            iVar3 = iVar3 + -1;\n            bVar9 = *pbVar7 < *pbVar8;\n            bVar11 = *pbVar7 == *pbVar8;\n            pbVar7 = pbVar7 + (uint)bVar12 * -2 + 1;\n            pbVar8 = pbVar8 + (uint)bVar12 * -2 + 1;\n          } while (bVar11);\n          if ((!bVar9 && !bVar11) == bVar9) {\n            return 1;\n          }\n        }\n        DAT_0008ca2c = (void *)xstrdup(pbVar6);\n        return 1;\n      }\n      if (param_1 != 0x199) {\n        return 0;\n      }\n      __s1 = *(char **)PTR_optarg_0008bff4;\n      iVar3 = strcasecmp(__s1,"none");\n      if (iVar3 == 0) {\n        DAT_0008cc0c = 0;\n        return 1;\n      }\n      iVar3 = strcasecmp(__s1,"zlib");\n      if (iVar3 != 0) {\n        iVar3 = strcasecmp(__s1,"zlib-gnu");\n        if (iVar3 == 0) {\n          DAT_0008cc0c = 3;\n          return 1;\n        }\n        iVar3 = strcasecmp(__s1,"zlib-gabi");\n        if (iVar3 != 0) {\n          pcVar5 = "%F%P: invalid --compress-debug-sections option: `%s\'\n";\n          goto LAB_00035f83;\n        }\n      }\n      DAT_0008cc0c = 5;\n      return 1;\n    }\n    pbVar6 = *(byte **)PTR_optarg_0008bff4;\n    iVar3 = 5;\n    bVar9 = false;\n    bVar11 = (_DAT_0008cc04 & 0xf3) == 0;\n    _DAT_0008cc04 = _DAT_0008cc04 & 0xfffffff3;\n    pbVar7 = pbVar6;\n    pbVar8 = &DAT_0007ac19;\n    do {\n      if (iVar3 == 0) break;\n      iVar3 = iVar3 + -1;\n      bVar9 = *pbVar7 < *pbVar8;\n      bVar11 = *pbVar7 == *pbVar8;\n      pbVar7 = pbVar7 + 1;\n      pbVar8 = pbVar8 + 1;\n    } while (bVar11);\n    bVar10 = false;\n    bVar9 = (!bVar9 && !bVar11) == bVar9;\n    if (bVar9) {\n      _DAT_0008cc04 = CONCAT31(_DAT_0008cc05,uVar2) & 0xfffffff3 | 4;\n      return 1;\n    }\n    iVar3 = 4;\n    pbVar7 = pbVar6;\n    pbVar8 = &DAT_0007ac0b;\n    do {\n      if (iVar3 == 0) break;\n      iVar3 = iVar3 + -1;\n      bVar10 = *pbVar7 < *pbVar8;\n      bVar9 = *pbVar7 == *pbVar8;\n      pbVar7 = pbVar7 + 1;\n      pbVar8 = pbVar8 + 1;\n    } while (bVar9);\n    bVar11 = false;\n    bVar9 = (!bVar10 && !bVar9) == bVar10;\n    if (bVar9) {\n      _DAT_0008cc04 = CONCAT31(_DAT_0008cc05,uVar2) & 0xfffffff3 | 8;\n      return 1;\n    }\n    iVar3 = 5;\n    pbVar7 = pbVar6;\n    pbVar8 = &DAT_0007ac1e;\n    do {\n      if (iVar3 == 0) break;\n      iVar3 = iVar3 + -1;\n      bVar11 = *pbVar7 < *pbVar8;\n      bVar9 = *pbVar7 == *pbVar8;\n      pbVar7 = pbVar7 + 1;\n      pbVar8 = pbVar8 + 1;\n    } while (bVar9);\n    if ((!bVar11 && !bVar9) == bVar11) {\n      _DAT_0008cc04 = CONCAT31(_DAT_0008cc05,uVar2) & 0xfffffff3 | 0xc;\n      return 1;\n    }\n    pcVar5 = "%F%P: invalid hash style `%s\'\n";\nLAB_0003606a:\n    uVar4 = dcgettext(0,pcVar5,5);\n    FUN_00031700(uVar4,pbVar6);\n    return 1;\n  }" (if "if") (parenthesized_expression "(0x193 < (int)param_1)" (( "(") (binary_expression "0x193 < (int)param_1" (number_literal "0x193") (< "<") (cast_expression "(int)param_1" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "param_1"))) () ")")) (compound_statement "{\n    if (param_1 != 0x196) {\n      if ((int)param_1 < 0x197) {\n        if (param_1 == 0x194) {\n          DAT_0008cc00._2_2_ = DAT_0008cc00._2_2_ & 0x3fff;\n          return 1;\n        }\n        if (param_1 != 0x195) {\n          return 0;\n        }\n        FUN_00024120(*(undefined4 *)PTR_optarg_0008bff4);\n        return 1;\n      }\n      if (param_1 == 0x198) {\n        FUN_000359c0();\n        return 1;\n      }\n      if ((int)param_1 < 0x198) {\n        if (DAT_0008ca2c != (void *)0x0) {\n          free(DAT_0008ca2c);\n          DAT_0008ca2c = (void *)0x0;\n        }\n        pbVar6 = *(byte **)PTR_optarg_0008bff4;\n        bVar9 = false;\n        bVar11 = pbVar6 == (byte *)0x0;\n        if (bVar11) {\n          pbVar6 = &DAT_0004f1e8;\n          *(undefined1 **)PTR_optarg_0008bff4 = &DAT_0004f1e8;\n        }\n        else {\n          iVar3 = 5;\n          pbVar7 = pbVar6;\n          pbVar8 = (byte *)0x4ab38;\n          do {\n            if (iVar3 == 0) break;\n            iVar3 = iVar3 + -1;\n            bVar9 = *pbVar7 < *pbVar8;\n            bVar11 = *pbVar7 == *pbVar8;\n            pbVar7 = pbVar7 + (uint)bVar12 * -2 + 1;\n            pbVar8 = pbVar8 + (uint)bVar12 * -2 + 1;\n          } while (bVar11);\n          if ((!bVar9 && !bVar11) == bVar9) {\n            return 1;\n          }\n        }\n        DAT_0008ca2c = (void *)xstrdup(pbVar6);\n        return 1;\n      }\n      if (param_1 != 0x199) {\n        return 0;\n      }\n      __s1 = *(char **)PTR_optarg_0008bff4;\n      iVar3 = strcasecmp(__s1,"none");\n      if (iVar3 == 0) {\n        DAT_0008cc0c = 0;\n        return 1;\n      }\n      iVar3 = strcasecmp(__s1,"zlib");\n      if (iVar3 != 0) {\n        iVar3 = strcasecmp(__s1,"zlib-gnu");\n        if (iVar3 == 0) {\n          DAT_0008cc0c = 3;\n          return 1;\n        }\n        iVar3 = strcasecmp(__s1,"zlib-gabi");\n        if (iVar3 != 0) {\n          pcVar5 = "%F%P: invalid --compress-debug-sections option: `%s\'\n";\n          goto LAB_00035f83;\n        }\n      }\n      DAT_0008cc0c = 5;\n      return 1;\n    }\n    pbVar6 = *(byte **)PTR_optarg_0008bff4;\n    iVar3 = 5;\n    bVar9 = false;\n    bVar11 = (_DAT_0008cc04 & 0xf3) == 0;\n    _DAT_0008cc04 = _DAT_0008cc04 & 0xfffffff3;\n    pbVar7 = pbVar6;\n    pbVar8 = &DAT_0007ac19;\n    do {\n      if (iVar3 == 0) break;\n      iVar3 = iVar3 + -1;\n      bVar9 = *pbVar7 < *pbVar8;\n      bVar11 = *pbVar7 == *pbVar8;\n      pbVar7 = pbVar7 + 1;\n      pbVar8 = pbVar8 + 1;\n    } while (bVar11);\n    bVar10 = false;\n    bVar9 = (!bVar9 && !bVar11) == bVar9;\n    if (bVar9) {\n      _DAT_0008cc04 = CONCAT31(_DAT_0008cc05,uVar2) & 0xfffffff3 | 4;\n      return 1;\n    }\n    iVar3 = 4;\n    pbVar7 = pbVar6;\n    pbVar8 = &DAT_0007ac0b;\n    do {\n      if (iVar3 == 0) break;\n      iVar3 = iVar3 + -1;\n      bVar10 = *pbVar7 < *pbVar8;\n      bVar9 = *pbVar7 == *pbVar8;\n      pbVar7 = pbVar7 + 1;\n      pbVar8 = pbVar8 + 1;\n    } while (bVar9);\n    bVar11 = false;\n    bVar9 = (!bVar10 && !bVar9) == bVar10;\n    if (bVar9) {\n      _DAT_0008cc04 = CONCAT31(_DAT_0008cc05,uVar2) & 0xfffffff3 | 8;\n      return 1;\n    }\n    iVar3 = 5;\n    pbVar7 = pbVar6;\n    pbVar8 = &DAT_0007ac1e;\n    do {\n      if (iVar3 == 0) break;\n      iVar3 = iVar3 + -1;\n      bVar11 = *pbVar7 < *pbVar8;\n      bVar9 = *pbVar7 == *pbVar8;\n      pbVar7 = pbVar7 + 1;\n      pbVar8 = pbVar8 + 1;\n    } while (bVar9);\n    if ((!bVar11 && !bVar9) == bVar11) {\n      _DAT_0008cc04 = CONCAT31(_DAT_0008cc05,uVar2) & 0xfffffff3 | 0xc;\n      return 1;\n    }\n    pcVar5 = "%F%P: invalid hash style `%s\'\n";\nLAB_0003606a:\n    uVar4 = dcgettext(0,pcVar5,5);\n    FUN_00031700(uVar4,pbVar6);\n    return 1;\n  }" ({ "{") (if_statement "if (param_1 != 0x196) {\n      if ((int)param_1 < 0x197) {\n        if (param_1 == 0x194) {\n          DAT_0008cc00._2_2_ = DAT_0008cc00._2_2_ & 0x3fff;\n          return 1;\n        }\n        if (param_1 != 0x195) {\n          return 0;\n        }\n        FUN_00024120(*(undefined4 *)PTR_optarg_0008bff4);\n        return 1;\n      }\n      if (param_1 == 0x198) {\n        FUN_000359c0();\n        return 1;\n      }\n      if ((int)param_1 < 0x198) {\n        if (DAT_0008ca2c != (void *)0x0) {\n          free(DAT_0008ca2c);\n          DAT_0008ca2c = (void *)0x0;\n        }\n        pbVar6 = *(byte **)PTR_optarg_0008bff4;\n        bVar9 = false;\n        bVar11 = pbVar6 == (byte *)0x0;\n        if (bVar11) {\n          pbVar6 = &DAT_0004f1e8;\n          *(undefined1 **)PTR_optarg_0008bff4 = &DAT_0004f1e8;\n        }\n        else {\n          iVar3 = 5;\n          pbVar7 = pbVar6;\n          pbVar8 = (byte *)0x4ab38;\n          do {\n            if (iVar3 == 0) break;\n            iVar3 = iVar3 + -1;\n            bVar9 = *pbVar7 < *pbVar8;\n            bVar11 = *pbVar7 == *pbVar8;\n            pbVar7 = pbVar7 + (uint)bVar12 * -2 + 1;\n            pbVar8 = pbVar8 + (uint)bVar12 * -2 + 1;\n          } while (bVar11);\n          if ((!bVar9 && !bVar11) == bVar9) {\n            return 1;\n          }\n        }\n        DAT_0008ca2c = (void *)xstrdup(pbVar6);\n        return 1;\n      }\n      if (param_1 != 0x199) {\n        return 0;\n      }\n      __s1 = *(char **)PTR_optarg_0008bff4;\n      iVar3 = strcasecmp(__s1,"none");\n      if (iVar3 == 0) {\n        DAT_0008cc0c = 0;\n        return 1;\n      }\n      iVar3 = strcasecmp(__s1,"zlib");\n      if (iVar3 != 0) {\n        iVar3 = strcasecmp(__s1,"zlib-gnu");\n        if (iVar3 == 0) {\n          DAT_0008cc0c = 3;\n          return 1;\n        }\n        iVar3 = strcasecmp(__s1,"zlib-gabi");\n        if (iVar3 != 0) {\n          pcVar5 = "%F%P: invalid --compress-debug-sections option: `%s\'\n";\n          goto LAB_00035f83;\n        }\n      }\n      DAT_0008cc0c = 5;\n      return 1;\n    }" (if "if") (parenthesized_expression "(param_1 != 0x196)" (( "(") (binary_expression "param_1 != 0x196" (identifier "param_1") (!= "!=") (number_literal "0x196")) () ")")) (compound_statement "{\n      if ((int)param_1 < 0x197) {\n        if (param_1 == 0x194) {\n          DAT_0008cc00._2_2_ = DAT_0008cc00._2_2_ & 0x3fff;\n          return 1;\n        }\n        if (param_1 != 0x195) {\n          return 0;\n        }\n        FUN_00024120(*(undefined4 *)PTR_optarg_0008bff4);\n        return 1;\n      }\n      if (param_1 == 0x198) {\n        FUN_000359c0();\n        return 1;\n      }\n      if ((int)param_1 < 0x198) {\n        if (DAT_0008ca2c != (void *)0x0) {\n          free(DAT_0008ca2c);\n          DAT_0008ca2c = (void *)0x0;\n        }\n        pbVar6 = *(byte **)PTR_optarg_0008bff4;\n        bVar9 = false;\n        bVar11 = pbVar6 == (byte *)0x0;\n        if (bVar11) {\n          pbVar6 = &DAT_0004f1e8;\n          *(undefined1 **)PTR_optarg_0008bff4 = &DAT_0004f1e8;\n        }\n        else {\n          iVar3 = 5;\n          pbVar7 = pbVar6;\n          pbVar8 = (byte *)0x4ab38;\n          do {\n            if (iVar3 == 0) break;\n            iVar3 = iVar3 + -1;\n            bVar9 = *pbVar7 < *pbVar8;\n            bVar11 = *pbVar7 == *pbVar8;\n            pbVar7 = pbVar7 + (uint)bVar12 * -2 + 1;\n            pbVar8 = pbVar8 + (uint)bVar12 * -2 + 1;\n          } while (bVar11);\n          if ((!bVar9 && !bVar11) == bVar9) {\n            return 1;\n          }\n        }\n        DAT_0008ca2c = (void *)xstrdup(pbVar6);\n        return 1;\n      }\n      if (param_1 != 0x199) {\n        return 0;\n      }\n      __s1 = *(char **)PTR_optarg_0008bff4;\n      iVar3 = strcasecmp(__s1,"none");\n      if (iVar3 == 0) {\n        DAT_0008cc0c = 0;\n        return 1;\n      }\n      iVar3 = strcasecmp(__s1,"zlib");\n      if (iVar3 != 0) {\n        iVar3 = strcasecmp(__s1,"zlib-gnu");\n        if (iVar3 == 0) {\n          DAT_0008cc0c = 3;\n          return 1;\n        }\n        iVar3 = strcasecmp(__s1,"zlib-gabi");\n        if (iVar3 != 0) {\n          pcVar5 = "%F%P: invalid --compress-debug-sections option: `%s\'\n";\n          goto LAB_00035f83;\n        }\n      }\n      DAT_0008cc0c = 5;\n      return 1;\n    }" ({ "{") (if_statement "if ((int)param_1 < 0x197) {\n        if (param_1 == 0x194) {\n          DAT_0008cc00._2_2_ = DAT_0008cc00._2_2_ & 0x3fff;\n          return 1;\n        }\n        if (param_1 != 0x195) {\n          return 0;\n        }\n        FUN_00024120(*(undefined4 *)PTR_optarg_0008bff4);\n        return 1;\n      }" (if "if") (parenthesized_expression "((int)param_1 < 0x197)" (( "(") (binary_expression "(int)param_1 < 0x197" (cast_expression "(int)param_1" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "param_1")) (< "<") (number_literal "0x197")) () ")")) (compound_statement "{\n        if (param_1 == 0x194) {\n          DAT_0008cc00._2_2_ = DAT_0008cc00._2_2_ & 0x3fff;\n          return 1;\n        }\n        if (param_1 != 0x195) {\n          return 0;\n        }\n        FUN_00024120(*(undefined4 *)PTR_optarg_0008bff4);\n        return 1;\n      }" ({ "{") (if_statement "if (param_1 == 0x194) {\n          DAT_0008cc00._2_2_ = DAT_0008cc00._2_2_ & 0x3fff;\n          return 1;\n        }" (if "if") (parenthesized_expression "(param_1 == 0x194)" (( "(") (binary_expression "param_1 == 0x194" (identifier "param_1") (== "==") (number_literal "0x194")) () ")")) (compound_statement "{\n          DAT_0008cc00._2_2_ = DAT_0008cc00._2_2_ & 0x3fff;\n          return 1;\n        }" ({ "{") (expression_statement "DAT_0008cc00._2_2_ = DAT_0008cc00._2_2_ & 0x3fff;" (assignment_expression "DAT_0008cc00._2_2_ = DAT_0008cc00._2_2_ & 0x3fff" (field_expression "DAT_0008cc00._2_2_" (identifier "DAT_0008cc00") (. ".") (field_identifier "_2_2_")) (= "=") (binary_expression "DAT_0008cc00._2_2_ & 0x3fff" (field_expression "DAT_0008cc00._2_2_" (identifier "DAT_0008cc00") (. ".") (field_identifier "_2_2_")) (& "&") (number_literal "0x3fff"))) (; ";")) (return_statement "return 1;" (return "return") (number_literal "1") (; ";")) (} "}"))) (if_statement "if (param_1 != 0x195) {\n          return 0;\n        }" (if "if") (parenthesized_expression "(param_1 != 0x195)" (( "(") (binary_expression "param_1 != 0x195" (identifier "param_1") (!= "!=") (number_literal "0x195")) () ")")) (compound_statement "{\n          return 0;\n        }" ({ "{") (return_statement "return 0;" (return "return") (number_literal "0") (; ";")) (} "}"))) (expression_statement "FUN_00024120(*(undefined4 *)PTR_optarg_0008bff4);" (call_expression "FUN_00024120(*(undefined4 *)PTR_optarg_0008bff4)" (identifier "FUN_00024120") (argument_list "(*(undefined4 *)PTR_optarg_0008bff4)" (( "(") (pointer_expression "*(undefined4 *)PTR_optarg_0008bff4" (* "*") (cast_expression "(undefined4 *)PTR_optarg_0008bff4" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_optarg_0008bff4"))) () ")"))) (; ";")) (return_statement "return 1;" (return "return") (number_literal "1") (; ";")) (} "}"))) (if_statement "if (param_1 == 0x198) {\n        FUN_000359c0();\n        return 1;\n      }" (if "if") (parenthesized_expression "(param_1 == 0x198)" (( "(") (binary_expression "param_1 == 0x198" (identifier "param_1") (== "==") (number_literal "0x198")) () ")")) (compound_statement "{\n        FUN_000359c0();\n        return 1;\n      }" ({ "{") (expression_statement "FUN_000359c0();" (call_expression "FUN_000359c0()" (identifier "FUN_000359c0") (argument_list "()" (( "(") () ")"))) (; ";")) (return_statement "return 1;" (return "return") (number_literal "1") (; ";")) (} "}"))) (if_statement "if ((int)param_1 < 0x198) {\n        if (DAT_0008ca2c != (void *)0x0) {\n          free(DAT_0008ca2c);\n          DAT_0008ca2c = (void *)0x0;\n        }\n        pbVar6 = *(byte **)PTR_optarg_0008bff4;\n        bVar9 = false;\n        bVar11 = pbVar6 == (byte *)0x0;\n        if (bVar11) {\n          pbVar6 = &DAT_0004f1e8;\n          *(undefined1 **)PTR_optarg_0008bff4 = &DAT_0004f1e8;\n        }\n        else {\n          iVar3 = 5;\n          pbVar7 = pbVar6;\n          pbVar8 = (byte *)0x4ab38;\n          do {\n            if (iVar3 == 0) break;\n            iVar3 = iVar3 + -1;\n            bVar9 = *pbVar7 < *pbVar8;\n            bVar11 = *pbVar7 == *pbVar8;\n            pbVar7 = pbVar7 + (uint)bVar12 * -2 + 1;\n            pbVar8 = pbVar8 + (uint)bVar12 * -2 + 1;\n          } while (bVar11);\n          if ((!bVar9 && !bVar11) == bVar9) {\n            return 1;\n          }\n        }\n        DAT_0008ca2c = (void *)xstrdup(pbVar6);\n        return 1;\n      }" (if "if") (parenthesized_expression "((int)param_1 < 0x198)" (( "(") (binary_expression "(int)param_1 < 0x198" (cast_expression "(int)param_1" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "param_1")) (< "<") (number_literal "0x198")) () ")")) (compound_statement "{\n        if (DAT_0008ca2c != (void *)0x0) {\n          free(DAT_0008ca2c);\n          DAT_0008ca2c = (void *)0x0;\n        }\n        pbVar6 = *(byte **)PTR_optarg_0008bff4;\n        bVar9 = false;\n        bVar11 = pbVar6 == (byte *)0x0;\n        if (bVar11) {\n          pbVar6 = &DAT_0004f1e8;\n          *(undefined1 **)PTR_optarg_0008bff4 = &DAT_0004f1e8;\n        }\n        else {\n          iVar3 = 5;\n          pbVar7 = pbVar6;\n          pbVar8 = (byte *)0x4ab38;\n          do {\n            if (iVar3 == 0) break;\n            iVar3 = iVar3 + -1;\n            bVar9 = *pbVar7 < *pbVar8;\n            bVar11 = *pbVar7 == *pbVar8;\n            pbVar7 = pbVar7 + (uint)bVar12 * -2 + 1;\n            pbVar8 = pbVar8 + (uint)bVar12 * -2 + 1;\n          } while (bVar11);\n          if ((!bVar9 && !bVar11) == bVar9) {\n            return 1;\n          }\n        }\n        DAT_0008ca2c = (void *)xstrdup(pbVar6);\n        return 1;\n      }" ({ "{") (if_statement "if (DAT_0008ca2c != (void *)0x0) {\n          free(DAT_0008ca2c);\n          DAT_0008ca2c = (void *)0x0;\n        }" (if "if") (parenthesized_expression "(DAT_0008ca2c != (void *)0x0)" (( "(") (binary_expression "DAT_0008ca2c != (void *)0x0" (identifier "DAT_0008ca2c") (!= "!=") (cast_expression "(void *)0x0" (( "(") (type_descriptor "void *" (primitive_type "void") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n          free(DAT_0008ca2c);\n          DAT_0008ca2c = (void *)0x0;\n        }" ({ "{") (expression_statement "free(DAT_0008ca2c);" (call_expression "free(DAT_0008ca2c)" (identifier "free") (argument_list "(DAT_0008ca2c)" (( "(") (identifier "DAT_0008ca2c") () ")"))) (; ";")) (expression_statement "DAT_0008ca2c = (void *)0x0;" (assignment_expression "DAT_0008ca2c = (void *)0x0" (identifier "DAT_0008ca2c") (= "=") (cast_expression "(void *)0x0" (( "(") (type_descriptor "void *" (primitive_type "void") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (} "}"))) (expression_statement "pbVar6 = *(byte **)PTR_optarg_0008bff4;" (assignment_expression "pbVar6 = *(byte **)PTR_optarg_0008bff4" (identifier "pbVar6") (= "=") (pointer_expression "*(byte **)PTR_optarg_0008bff4" (* "*") (cast_expression "(byte **)PTR_optarg_0008bff4" (( "(") (type_descriptor "byte **" (type_identifier "byte") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (identifier "PTR_optarg_0008bff4")))) (; ";")) (expression_statement "bVar9 = false;" (assignment_expression "bVar9 = false" (identifier "bVar9") (= "=") (false "false")) (; ";")) (expression_statement "bVar11 = pbVar6 == (byte *)0x0;" (assignment_expression "bVar11 = pbVar6 == (byte *)0x0" (identifier "bVar11") (= "=") (binary_expression "pbVar6 == (byte *)0x0" (identifier "pbVar6") (== "==") (cast_expression "(byte *)0x0" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0")))) (; ";")) (if_statement "if (bVar11) {\n          pbVar6 = &DAT_0004f1e8;\n          *(undefined1 **)PTR_optarg_0008bff4 = &DAT_0004f1e8;\n        }\n        else {\n          iVar3 = 5;\n          pbVar7 = pbVar6;\n          pbVar8 = (byte *)0x4ab38;\n          do {\n            if (iVar3 == 0) break;\n            iVar3 = iVar3 + -1;\n            bVar9 = *pbVar7 < *pbVar8;\n            bVar11 = *pbVar7 == *pbVar8;\n            pbVar7 = pbVar7 + (uint)bVar12 * -2 + 1;\n            pbVar8 = pbVar8 + (uint)bVar12 * -2 + 1;\n          } while (bVar11);\n          if ((!bVar9 && !bVar11) == bVar9) {\n            return 1;\n          }\n        }" (if "if") (parenthesized_expression "(bVar11)" (( "(") (identifier "bVar11") () ")")) (compound_statement "{\n          pbVar6 = &DAT_0004f1e8;\n          *(undefined1 **)PTR_optarg_0008bff4 = &DAT_0004f1e8;\n        }" ({ "{") (expression_statement "pbVar6 = &DAT_0004f1e8;" (assignment_expression "pbVar6 = &DAT_0004f1e8" (identifier "pbVar6") (= "=") (pointer_expression "&DAT_0004f1e8" (& "&") (identifier "DAT_0004f1e8"))) (; ";")) (expression_statement "*(undefined1 **)PTR_optarg_0008bff4 = &DAT_0004f1e8;" (assignment_expression "*(undefined1 **)PTR_optarg_0008bff4 = &DAT_0004f1e8" (pointer_expression "*(undefined1 **)PTR_optarg_0008bff4" (* "*") (cast_expression "(undefined1 **)PTR_optarg_0008bff4" (( "(") (type_descriptor "undefined1 **" (type_identifier "undefined1") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (identifier "PTR_optarg_0008bff4"))) (= "=") (pointer_expression "&DAT_0004f1e8" (& "&") (identifier "DAT_0004f1e8"))) (; ";")) (} "}")) (else_clause "else {\n          iVar3 = 5;\n          pbVar7 = pbVar6;\n          pbVar8 = (byte *)0x4ab38;\n          do {\n            if (iVar3 == 0) break;\n            iVar3 = iVar3 + -1;\n            bVar9 = *pbVar7 < *pbVar8;\n            bVar11 = *pbVar7 == *pbVar8;\n            pbVar7 = pbVar7 + (uint)bVar12 * -2 + 1;\n            pbVar8 = pbVar8 + (uint)bVar12 * -2 + 1;\n          } while (bVar11);\n          if ((!bVar9 && !bVar11) == bVar9) {\n            return 1;\n          }\n        }" (else "else") (compound_statement "{\n          iVar3 = 5;\n          pbVar7 = pbVar6;\n          pbVar8 = (byte *)0x4ab38;\n          do {\n            if (iVar3 == 0) break;\n            iVar3 = iVar3 + -1;\n            bVar9 = *pbVar7 < *pbVar8;\n            bVar11 = *pbVar7 == *pbVar8;\n            pbVar7 = pbVar7 + (uint)bVar12 * -2 + 1;\n            pbVar8 = pbVar8 + (uint)bVar12 * -2 + 1;\n          } while (bVar11);\n          if ((!bVar9 && !bVar11) == bVar9) {\n            return 1;\n          }\n        }" ({ "{") (expression_statement "iVar3 = 5;" (assignment_expression "iVar3 = 5" (identifier "iVar3") (= "=") (number_literal "5")) (; ";")) (expression_statement "pbVar7 = pbVar6;" (assignment_expression "pbVar7 = pbVar6" (identifier "pbVar7") (= "=") (identifier "pbVar6")) (; ";")) (expression_statement "pbVar8 = (byte *)0x4ab38;" (assignment_expression "pbVar8 = (byte *)0x4ab38" (identifier "pbVar8") (= "=") (cast_expression "(byte *)0x4ab38" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x4ab38"))) (; ";")) (do_statement "do {\n            if (iVar3 == 0) break;\n            iVar3 = iVar3 + -1;\n            bVar9 = *pbVar7 < *pbVar8;\n            bVar11 = *pbVar7 == *pbVar8;\n            pbVar7 = pbVar7 + (uint)bVar12 * -2 + 1;\n            pbVar8 = pbVar8 + (uint)bVar12 * -2 + 1;\n          } while (bVar11);" (do "do") (compound_statement "{\n            if (iVar3 == 0) break;\n            iVar3 = iVar3 + -1;\n            bVar9 = *pbVar7 < *pbVar8;\n            bVar11 = *pbVar7 == *pbVar8;\n            pbVar7 = pbVar7 + (uint)bVar12 * -2 + 1;\n            pbVar8 = pbVar8 + (uint)bVar12 * -2 + 1;\n          }" ({ "{") (if_statement "if (iVar3 == 0) break;" (if "if") (parenthesized_expression "(iVar3 == 0)" (( "(") (binary_expression "iVar3 == 0" (identifier "iVar3") (== "==") (number_literal "0")) () ")")) (break_statement "break;" (break "break") (; ";"))) (expression_statement "iVar3 = iVar3 + -1;" (assignment_expression "iVar3 = iVar3 + -1" (identifier "iVar3") (= "=") (binary_expression "iVar3 + -1" (identifier "iVar3") (+ "+") (number_literal "-1"))) (; ";")) (expression_statement "bVar9 = *pbVar7 < *pbVar8;" (assignment_expression "bVar9 = *pbVar7 < *pbVar8" (identifier "bVar9") (= "=") (binary_expression "*pbVar7 < *pbVar8" (pointer_expression "*pbVar7" (* "*") (identifier "pbVar7")) (< "<") (pointer_expression "*pbVar8" (* "*") (identifier "pbVar8")))) (; ";")) (expression_statement "bVar11 = *pbVar7 == *pbVar8;" (assignment_expression "bVar11 = *pbVar7 == *pbVar8" (identifier "bVar11") (= "=") (binary_expression "*pbVar7 == *pbVar8" (pointer_expression "*pbVar7" (* "*") (identifier "pbVar7")) (== "==") (pointer_expression "*pbVar8" (* "*") (identifier "pbVar8")))) (; ";")) (expression_statement "pbVar7 = pbVar7 + (uint)bVar12 * -2 + 1;" (assignment_expression "pbVar7 = pbVar7 + (uint)bVar12 * -2 + 1" (identifier "pbVar7") (= "=") (binary_expression "pbVar7 + (uint)bVar12 * -2 + 1" (binary_expression "pbVar7 + (uint)bVar12 * -2" (identifier "pbVar7") (+ "+") (binary_expression "(uint)bVar12 * -2" (cast_expression "(uint)bVar12" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "bVar12")) (* "*") (number_literal "-2"))) (+ "+") (number_literal "1"))) (; ";")) (expression_statement "pbVar8 = pbVar8 + (uint)bVar12 * -2 + 1;" (assignment_expression "pbVar8 = pbVar8 + (uint)bVar12 * -2 + 1" (identifier "pbVar8") (= "=") (binary_expression "pbVar8 + (uint)bVar12 * -2 + 1" (binary_expression "pbVar8 + (uint)bVar12 * -2" (identifier "pbVar8") (+ "+") (binary_expression "(uint)bVar12 * -2" (cast_expression "(uint)bVar12" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "bVar12")) (* "*") (number_literal "-2"))) (+ "+") (number_literal "1"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(bVar11)" (( "(") (identifier "bVar11") () ")")) (; ";")) (if_statement "if ((!bVar9 && !bVar11) == bVar9) {\n            return 1;\n          }" (if "if") (parenthesized_expression "((!bVar9 && !bVar11) == bVar9)" (( "(") (binary_expression "(!bVar9 && !bVar11) == bVar9" (parenthesized_expression "(!bVar9 && !bVar11)" (( "(") (binary_expression "!bVar9 && !bVar11" (unary_expression "!bVar9" (! "!") (identifier "bVar9")) (&& "&&") (unary_expression "!bVar11" (! "!") (identifier "bVar11"))) () ")")) (== "==") (identifier "bVar9")) () ")")) (compound_statement "{\n            return 1;\n          }" ({ "{") (return_statement "return 1;" (return "return") (number_literal "1") (; ";")) (} "}"))) (} "}")))) (expression_statement "DAT_0008ca2c = (void *)xstrdup(pbVar6);" (assignment_expression "DAT_0008ca2c = (void *)xstrdup(pbVar6)" (identifier "DAT_0008ca2c") (= "=") (cast_expression "(void *)xstrdup(pbVar6)" (( "(") (type_descriptor "void *" (primitive_type "void") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "xstrdup(pbVar6)" (identifier "xstrdup") (argument_list "(pbVar6)" (( "(") (identifier "pbVar6") () ")"))))) (; ";")) (return_statement "return 1;" (return "return") (number_literal "1") (; ";")) (} "}"))) (if_statement "if (param_1 != 0x199) {\n        return 0;\n      }" (if "if") (parenthesized_expression "(param_1 != 0x199)" (( "(") (binary_expression "param_1 != 0x199" (identifier "param_1") (!= "!=") (number_literal "0x199")) () ")")) (compound_statement "{\n        return 0;\n      }" ({ "{") (return_statement "return 0;" (return "return") (number_literal "0") (; ";")) (} "}"))) (expression_statement "__s1 = *(char **)PTR_optarg_0008bff4;" (assignment_expression "__s1 = *(char **)PTR_optarg_0008bff4" (identifier "__s1") (= "=") (pointer_expression "*(char **)PTR_optarg_0008bff4" (* "*") (cast_expression "(char **)PTR_optarg_0008bff4" (( "(") (type_descriptor "char **" (primitive_type "char") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (identifier "PTR_optarg_0008bff4")))) (; ";")) (expression_statement "iVar3 = strcasecmp(__s1,"none");" (assignment_expression "iVar3 = strcasecmp(__s1,"none")" (identifier "iVar3") (= "=") (call_expression "strcasecmp(__s1,"none")" (identifier "strcasecmp") (argument_list "(__s1,"none")" (( "(") (identifier "__s1") (, ",") (string_literal ""none"" (" """) (string_content "none") (" """)) () ")")))) (; ";")) (if_statement "if (iVar3 == 0) {\n        DAT_0008cc0c = 0;\n        return 1;\n      }" (if "if") (parenthesized_expression "(iVar3 == 0)" (( "(") (binary_expression "iVar3 == 0" (identifier "iVar3") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n        DAT_0008cc0c = 0;\n        return 1;\n      }" ({ "{") (expression_statement "DAT_0008cc0c = 0;" (assignment_expression "DAT_0008cc0c = 0" (identifier "DAT_0008cc0c") (= "=") (number_literal "0")) (; ";")) (return_statement "return 1;" (return "return") (number_literal "1") (; ";")) (} "}"))) (expression_statement "iVar3 = strcasecmp(__s1,"zlib");" (assignment_expression "iVar3 = strcasecmp(__s1,"zlib")" (identifier "iVar3") (= "=") (call_expression "strcasecmp(__s1,"zlib")" (identifier "strcasecmp") (argument_list "(__s1,"zlib")" (( "(") (identifier "__s1") (, ",") (string_literal ""zlib"" (" """) (string_content "zlib") (" """)) () ")")))) (; ";")) (if_statement "if (iVar3 != 0) {\n        iVar3 = strcasecmp(__s1,"zlib-gnu");\n        if (iVar3 == 0) {\n          DAT_0008cc0c = 3;\n          return 1;\n        }\n        iVar3 = strcasecmp(__s1,"zlib-gabi");\n        if (iVar3 != 0) {\n          pcVar5 = "%F%P: invalid --compress-debug-sections option: `%s\'\n";\n          goto LAB_00035f83;\n        }\n      }" (if "if") (parenthesized_expression "(iVar3 != 0)" (( "(") (binary_expression "iVar3 != 0" (identifier "iVar3") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n        iVar3 = strcasecmp(__s1,"zlib-gnu");\n        if (iVar3 == 0) {\n          DAT_0008cc0c = 3;\n          return 1;\n        }\n        iVar3 = strcasecmp(__s1,"zlib-gabi");\n        if (iVar3 != 0) {\n          pcVar5 = "%F%P: invalid --compress-debug-sections option: `%s\'\n";\n          goto LAB_00035f83;\n        }\n      }" ({ "{") (expression_statement "iVar3 = strcasecmp(__s1,"zlib-gnu");" (assignment_expression "iVar3 = strcasecmp(__s1,"zlib-gnu")" (identifier "iVar3") (= "=") (call_expression "strcasecmp(__s1,"zlib-gnu")" (identifier "strcasecmp") (argument_list "(__s1,"zlib-gnu")" (( "(") (identifier "__s1") (, ",") (string_literal ""zlib-gnu"" (" """) (string_content "zlib-gnu") (" """)) () ")")))) (; ";")) (if_statement "if (iVar3 == 0) {\n          DAT_0008cc0c = 3;\n          return 1;\n        }" (if "if") (parenthesized_expression "(iVar3 == 0)" (( "(") (binary_expression "iVar3 == 0" (identifier "iVar3") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n          DAT_0008cc0c = 3;\n          return 1;\n        }" ({ "{") (expression_statement "DAT_0008cc0c = 3;" (assignment_expression "DAT_0008cc0c = 3" (identifier "DAT_0008cc0c") (= "=") (number_literal "3")) (; ";")) (return_statement "return 1;" (return "return") (number_literal "1") (; ";")) (} "}"))) (expression_statement "iVar3 = strcasecmp(__s1,"zlib-gabi");" (assignment_expression "iVar3 = strcasecmp(__s1,"zlib-gabi")" (identifier "iVar3") (= "=") (call_expression "strcasecmp(__s1,"zlib-gabi")" (identifier "strcasecmp") (argument_list "(__s1,"zlib-gabi")" (( "(") (identifier "__s1") (, ",") (string_literal ""zlib-gabi"" (" """) (string_content "zlib-gabi") (" """)) () ")")))) (; ";")) (if_statement "if (iVar3 != 0) {\n          pcVar5 = "%F%P: invalid --compress-debug-sections option: `%s\'\n";\n          goto LAB_00035f83;\n        }" (if "if") (parenthesized_expression "(iVar3 != 0)" (( "(") (binary_expression "iVar3 != 0" (identifier "iVar3") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n          pcVar5 = "%F%P: invalid --compress-debug-sections option: `%s\'\n";\n          goto LAB_00035f83;\n        }" ({ "{") (expression_statement "pcVar5 = "%F%P: invalid --compress-debug-sections option: `%s\'\n";" (assignment_expression "pcVar5 = "%F%P: invalid --compress-debug-sections option: `%s\'\n"" (identifier "pcVar5") (= "=") (string_literal ""%F%P: invalid --compress-debug-sections option: `%s\'\n"" (" """) (string_content "%F%P: invalid --compress-debug-sections option: `%s") (escape_sequence "\'") (escape_sequence "\n") (" """))) (; ";")) (goto_statement "goto LAB_00035f83;" (goto "goto") (statement_identifier "LAB_00035f83") (; ";")) (} "}"))) (} "}"))) (expression_statement "DAT_0008cc0c = 5;" (assignment_expression "DAT_0008cc0c = 5" (identifier "DAT_0008cc0c") (= "=") (number_literal "5")) (; ";")) (return_statement "return 1;" (return "return") (number_literal "1") (; ";")) (} "}"))) (expression_statement "pbVar6 = *(byte **)PTR_optarg_0008bff4;" (assignment_expression "pbVar6 = *(byte **)PTR_optarg_0008bff4" (identifier "pbVar6") (= "=") (pointer_expression "*(byte **)PTR_optarg_0008bff4" (* "*") (cast_expression "(byte **)PTR_optarg_0008bff4" (( "(") (type_descriptor "byte **" (type_identifier "byte") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (identifier "PTR_optarg_0008bff4")))) (; ";")) (expression_statement "iVar3 = 5;" (assignment_expression "iVar3 = 5" (identifier "iVar3") (= "=") (number_literal "5")) (; ";")) (expression_statement "bVar9 = false;" (assignment_expression "bVar9 = false" (identifier "bVar9") (= "=") (false "false")) (; ";")) (expression_statement "bVar11 = (_DAT_0008cc04 & 0xf3) == 0;" (assignment_expression "bVar11 = (_DAT_0008cc04 & 0xf3) == 0" (identifier "bVar11") (= "=") (binary_expression "(_DAT_0008cc04 & 0xf3) == 0" (parenthesized_expression "(_DAT_0008cc04 & 0xf3)" (( "(") (binary_expression "_DAT_0008cc04 & 0xf3" (identifier "_DAT_0008cc04") (& "&") (number_literal "0xf3")) () ")")) (== "==") (number_literal "0"))) (; ";")) (expression_statement "_DAT_0008cc04 = _DAT_0008cc04 & 0xfffffff3;" (assignment_expression "_DAT_0008cc04 = _DAT_0008cc04 & 0xfffffff3" (identifier "_DAT_0008cc04") (= "=") (binary_expression "_DAT_0008cc04 & 0xfffffff3" (identifier "_DAT_0008cc04") (& "&") (number_literal "0xfffffff3"))) (; ";")) (expression_statement "pbVar7 = pbVar6;" (assignment_expression "pbVar7 = pbVar6" (identifier "pbVar7") (= "=") (identifier "pbVar6")) (; ";")) (expression_statement "pbVar8 = &DAT_0007ac19;" (assignment_expression "pbVar8 = &DAT_0007ac19" (identifier "pbVar8") (= "=") (pointer_expression "&DAT_0007ac19" (& "&") (identifier "DAT_0007ac19"))) (; ";")) (do_statement "do {\n      if (iVar3 == 0) break;\n      iVar3 = iVar3 + -1;\n      bVar9 = *pbVar7 < *pbVar8;\n      bVar11 = *pbVar7 == *pbVar8;\n      pbVar7 = pbVar7 + 1;\n      pbVar8 = pbVar8 + 1;\n    } while (bVar11);" (do "do") (compound_statement "{\n      if (iVar3 == 0) break;\n      iVar3 = iVar3 + -1;\n      bVar9 = *pbVar7 < *pbVar8;\n      bVar11 = *pbVar7 == *pbVar8;\n      pbVar7 = pbVar7 + 1;\n      pbVar8 = pbVar8 + 1;\n    }" ({ "{") (if_statement "if (iVar3 == 0) break;" (if "if") (parenthesized_expression "(iVar3 == 0)" (( "(") (binary_expression "iVar3 == 0" (identifier "iVar3") (== "==") (number_literal "0")) () ")")) (break_statement "break;" (break "break") (; ";"))) (expression_statement "iVar3 = iVar3 + -1;" (assignment_expression "iVar3 = iVar3 + -1" (identifier "iVar3") (= "=") (binary_expression "iVar3 + -1" (identifier "iVar3") (+ "+") (number_literal "-1"))) (; ";")) (expression_statement "bVar9 = *pbVar7 < *pbVar8;" (assignment_expression "bVar9 = *pbVar7 < *pbVar8" (identifier "bVar9") (= "=") (binary_expression "*pbVar7 < *pbVar8" (pointer_expression "*pbVar7" (* "*") (identifier "pbVar7")) (< "<") (pointer_expression "*pbVar8" (* "*") (identifier "pbVar8")))) (; ";")) (expression_statement "bVar11 = *pbVar7 == *pbVar8;" (assignment_expression "bVar11 = *pbVar7 == *pbVar8" (identifier "bVar11") (= "=") (binary_expression "*pbVar7 == *pbVar8" (pointer_expression "*pbVar7" (* "*") (identifier "pbVar7")) (== "==") (pointer_expression "*pbVar8" (* "*") (identifier "pbVar8")))) (; ";")) (expression_statement "pbVar7 = pbVar7 + 1;" (assignment_expression "pbVar7 = pbVar7 + 1" (identifier "pbVar7") (= "=") (binary_expression "pbVar7 + 1" (identifier "pbVar7") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "pbVar8 = pbVar8 + 1;" (assignment_expression "pbVar8 = pbVar8 + 1" (identifier "pbVar8") (= "=") (binary_expression "pbVar8 + 1" (identifier "pbVar8") (+ "+") (number_literal "1"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(bVar11)" (( "(") (identifier "bVar11") () ")")) (; ";")) (expression_statement "bVar10 = false;" (assignment_expression "bVar10 = false" (identifier "bVar10") (= "=") (false "false")) (; ";")) (expression_statement "bVar9 = (!bVar9 && !bVar11) == bVar9;" (assignment_expression "bVar9 = (!bVar9 && !bVar11) == bVar9" (identifier "bVar9") (= "=") (binary_expression "(!bVar9 && !bVar11) == bVar9" (parenthesized_expression "(!bVar9 && !bVar11)" (( "(") (binary_expression "!bVar9 && !bVar11" (unary_expression "!bVar9" (! "!") (identifier "bVar9")) (&& "&&") (unary_expression "!bVar11" (! "!") (identifier "bVar11"))) () ")")) (== "==") (identifier "bVar9"))) (; ";")) (if_statement "if (bVar9) {\n      _DAT_0008cc04 = CONCAT31(_DAT_0008cc05,uVar2) & 0xfffffff3 | 4;\n      return 1;\n    }" (if "if") (parenthesized_expression "(bVar9)" (( "(") (identifier "bVar9") () ")")) (compound_statement "{\n      _DAT_0008cc04 = CONCAT31(_DAT_0008cc05,uVar2) & 0xfffffff3 | 4;\n      return 1;\n    }" ({ "{") (expression_statement "_DAT_0008cc04 = CONCAT31(_DAT_0008cc05,uVar2) & 0xfffffff3 | 4;" (assignment_expression "_DAT_0008cc04 = CONCAT31(_DAT_0008cc05,uVar2) & 0xfffffff3 | 4" (identifier "_DAT_0008cc04") (= "=") (binary_expression "CONCAT31(_DAT_0008cc05,uVar2) & 0xfffffff3 | 4" (binary_expression "CONCAT31(_DAT_0008cc05,uVar2) & 0xfffffff3" (call_expression "CONCAT31(_DAT_0008cc05,uVar2)" (identifier "CONCAT31") (argument_list "(_DAT_0008cc05,uVar2)" (( "(") (identifier "_DAT_0008cc05") (, ",") (identifier "uVar2") () ")"))) (& "&") (number_literal "0xfffffff3")) (| "|") (number_literal "4"))) (; ";")) (return_statement "return 1;" (return "return") (number_literal "1") (; ";")) (} "}"))) (expression_statement "iVar3 = 4;" (assignment_expression "iVar3 = 4" (identifier "iVar3") (= "=") (number_literal "4")) (; ";")) (expression_statement "pbVar7 = pbVar6;" (assignment_expression "pbVar7 = pbVar6" (identifier "pbVar7") (= "=") (identifier "pbVar6")) (; ";")) (expression_statement "pbVar8 = &DAT_0007ac0b;" (assignment_expression "pbVar8 = &DAT_0007ac0b" (identifier "pbVar8") (= "=") (pointer_expression "&DAT_0007ac0b" (& "&") (identifier "DAT_0007ac0b"))) (; ";")) (do_statement "do {\n      if (iVar3 == 0) break;\n      iVar3 = iVar3 + -1;\n      bVar10 = *pbVar7 < *pbVar8;\n      bVar9 = *pbVar7 == *pbVar8;\n      pbVar7 = pbVar7 + 1;\n      pbVar8 = pbVar8 + 1;\n    } while (bVar9);" (do "do") (compound_statement "{\n      if (iVar3 == 0) break;\n      iVar3 = iVar3 + -1;\n      bVar10 = *pbVar7 < *pbVar8;\n      bVar9 = *pbVar7 == *pbVar8;\n      pbVar7 = pbVar7 + 1;\n      pbVar8 = pbVar8 + 1;\n    }" ({ "{") (if_statement "if (iVar3 == 0) break;" (if "if") (parenthesized_expression "(iVar3 == 0)" (( "(") (binary_expression "iVar3 == 0" (identifier "iVar3") (== "==") (number_literal "0")) () ")")) (break_statement "break;" (break "break") (; ";"))) (expression_statement "iVar3 = iVar3 + -1;" (assignment_expression "iVar3 = iVar3 + -1" (identifier "iVar3") (= "=") (binary_expression "iVar3 + -1" (identifier "iVar3") (+ "+") (number_literal "-1"))) (; ";")) (expression_statement "bVar10 = *pbVar7 < *pbVar8;" (assignment_expression "bVar10 = *pbVar7 < *pbVar8" (identifier "bVar10") (= "=") (binary_expression "*pbVar7 < *pbVar8" (pointer_expression "*pbVar7" (* "*") (identifier "pbVar7")) (< "<") (pointer_expression "*pbVar8" (* "*") (identifier "pbVar8")))) (; ";")) (expression_statement "bVar9 = *pbVar7 == *pbVar8;" (assignment_expression "bVar9 = *pbVar7 == *pbVar8" (identifier "bVar9") (= "=") (binary_expression "*pbVar7 == *pbVar8" (pointer_expression "*pbVar7" (* "*") (identifier "pbVar7")) (== "==") (pointer_expression "*pbVar8" (* "*") (identifier "pbVar8")))) (; ";")) (expression_statement "pbVar7 = pbVar7 + 1;" (assignment_expression "pbVar7 = pbVar7 + 1" (identifier "pbVar7") (= "=") (binary_expression "pbVar7 + 1" (identifier "pbVar7") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "pbVar8 = pbVar8 + 1;" (assignment_expression "pbVar8 = pbVar8 + 1" (identifier "pbVar8") (= "=") (binary_expression "pbVar8 + 1" (identifier "pbVar8") (+ "+") (number_literal "1"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(bVar9)" (( "(") (identifier "bVar9") () ")")) (; ";")) (expression_statement "bVar11 = false;" (assignment_expression "bVar11 = false" (identifier "bVar11") (= "=") (false "false")) (; ";")) (expression_statement "bVar9 = (!bVar10 && !bVar9) == bVar10;" (assignment_expression "bVar9 = (!bVar10 && !bVar9) == bVar10" (identifier "bVar9") (= "=") (binary_expression "(!bVar10 && !bVar9) == bVar10" (parenthesized_expression "(!bVar10 && !bVar9)" (( "(") (binary_expression "!bVar10 && !bVar9" (unary_expression "!bVar10" (! "!") (identifier "bVar10")) (&& "&&") (unary_expression "!bVar9" (! "!") (identifier "bVar9"))) () ")")) (== "==") (identifier "bVar10"))) (; ";")) (if_statement "if (bVar9) {\n      _DAT_0008cc04 = CONCAT31(_DAT_0008cc05,uVar2) & 0xfffffff3 | 8;\n      return 1;\n    }" (if "if") (parenthesized_expression "(bVar9)" (( "(") (identifier "bVar9") () ")")) (compound_statement "{\n      _DAT_0008cc04 = CONCAT31(_DAT_0008cc05,uVar2) & 0xfffffff3 | 8;\n      return 1;\n    }" ({ "{") (expression_statement "_DAT_0008cc04 = CONCAT31(_DAT_0008cc05,uVar2) & 0xfffffff3 | 8;" (assignment_expression "_DAT_0008cc04 = CONCAT31(_DAT_0008cc05,uVar2) & 0xfffffff3 | 8" (identifier "_DAT_0008cc04") (= "=") (binary_expression "CONCAT31(_DAT_0008cc05,uVar2) & 0xfffffff3 | 8" (binary_expression "CONCAT31(_DAT_0008cc05,uVar2) & 0xfffffff3" (call_expression "CONCAT31(_DAT_0008cc05,uVar2)" (identifier "CONCAT31") (argument_list "(_DAT_0008cc05,uVar2)" (( "(") (identifier "_DAT_0008cc05") (, ",") (identifier "uVar2") () ")"))) (& "&") (number_literal "0xfffffff3")) (| "|") (number_literal "8"))) (; ";")) (return_statement "return 1;" (return "return") (number_literal "1") (; ";")) (} "}"))) (expression_statement "iVar3 = 5;" (assignment_expression "iVar3 = 5" (identifier "iVar3") (= "=") (number_literal "5")) (; ";")) (expression_statement "pbVar7 = pbVar6;" (assignment_expression "pbVar7 = pbVar6" (identifier "pbVar7") (= "=") (identifier "pbVar6")) (; ";")) (expression_statement "pbVar8 = &DAT_0007ac1e;" (assignment_expression "pbVar8 = &DAT_0007ac1e" (identifier "pbVar8") (= "=") (pointer_expression "&DAT_0007ac1e" (& "&") (identifier "DAT_0007ac1e"))) (; ";")) (do_statement "do {\n      if (iVar3 == 0) break;\n      iVar3 = iVar3 + -1;\n      bVar11 = *pbVar7 < *pbVar8;\n      bVar9 = *pbVar7 == *pbVar8;\n      pbVar7 = pbVar7 + 1;\n      pbVar8 = pbVar8 + 1;\n    } while (bVar9);" (do "do") (compound_statement "{\n      if (iVar3 == 0) break;\n      iVar3 = iVar3 + -1;\n      bVar11 = *pbVar7 < *pbVar8;\n      bVar9 = *pbVar7 == *pbVar8;\n      pbVar7 = pbVar7 + 1;\n      pbVar8 = pbVar8 + 1;\n    }" ({ "{") (if_statement "if (iVar3 == 0) break;" (if "if") (parenthesized_expression "(iVar3 == 0)" (( "(") (binary_expression "iVar3 == 0" (identifier "iVar3") (== "==") (number_literal "0")) () ")")) (break_statement "break;" (break "break") (; ";"))) (expression_statement "iVar3 = iVar3 + -1;" (assignment_expression "iVar3 = iVar3 + -1" (identifier "iVar3") (= "=") (binary_expression "iVar3 + -1" (identifier "iVar3") (+ "+") (number_literal "-1"))) (; ";")) (expression_statement "bVar11 = *pbVar7 < *pbVar8;" (assignment_expression "bVar11 = *pbVar7 < *pbVar8" (identifier "bVar11") (= "=") (binary_expression "*pbVar7 < *pbVar8" (pointer_expression "*pbVar7" (* "*") (identifier "pbVar7")) (< "<") (pointer_expression "*pbVar8" (* "*") (identifier "pbVar8")))) (; ";")) (expression_statement "bVar9 = *pbVar7 == *pbVar8;" (assignment_expression "bVar9 = *pbVar7 == *pbVar8" (identifier "bVar9") (= "=") (binary_expression "*pbVar7 == *pbVar8" (pointer_expression "*pbVar7" (* "*") (identifier "pbVar7")) (== "==") (pointer_expression "*pbVar8" (* "*") (identifier "pbVar8")))) (; ";")) (expression_statement "pbVar7 = pbVar7 + 1;" (assignment_expression "pbVar7 = pbVar7 + 1" (identifier "pbVar7") (= "=") (binary_expression "pbVar7 + 1" (identifier "pbVar7") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "pbVar8 = pbVar8 + 1;" (assignment_expression "pbVar8 = pbVar8 + 1" (identifier "pbVar8") (= "=") (binary_expression "pbVar8 + 1" (identifier "pbVar8") (+ "+") (number_literal "1"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(bVar9)" (( "(") (identifier "bVar9") () ")")) (; ";")) (if_statement "if ((!bVar11 && !bVar9) == bVar11) {\n      _DAT_0008cc04 = CONCAT31(_DAT_0008cc05,uVar2) & 0xfffffff3 | 0xc;\n      return 1;\n    }" (if "if") (parenthesized_expression "((!bVar11 && !bVar9) == bVar11)" (( "(") (binary_expression "(!bVar11 && !bVar9) == bVar11" (parenthesized_expression "(!bVar11 && !bVar9)" (( "(") (binary_expression "!bVar11 && !bVar9" (unary_expression "!bVar11" (! "!") (identifier "bVar11")) (&& "&&") (unary_expression "!bVar9" (! "!") (identifier "bVar9"))) () ")")) (== "==") (identifier "bVar11")) () ")")) (compound_statement "{\n      _DAT_0008cc04 = CONCAT31(_DAT_0008cc05,uVar2) & 0xfffffff3 | 0xc;\n      return 1;\n    }" ({ "{") (expression_statement "_DAT_0008cc04 = CONCAT31(_DAT_0008cc05,uVar2) & 0xfffffff3 | 0xc;" (assignment_expression "_DAT_0008cc04 = CONCAT31(_DAT_0008cc05,uVar2) & 0xfffffff3 | 0xc" (identifier "_DAT_0008cc04") (= "=") (binary_expression "CONCAT31(_DAT_0008cc05,uVar2) & 0xfffffff3 | 0xc" (binary_expression "CONCAT31(_DAT_0008cc05,uVar2) & 0xfffffff3" (call_expression "CONCAT31(_DAT_0008cc05,uVar2)" (identifier "CONCAT31") (argument_list "(_DAT_0008cc05,uVar2)" (( "(") (identifier "_DAT_0008cc05") (, ",") (identifier "uVar2") () ")"))) (& "&") (number_literal "0xfffffff3")) (| "|") (number_literal "0xc"))) (; ";")) (return_statement "return 1;" (return "return") (number_literal "1") (; ";")) (} "}"))) (expression_statement "pcVar5 = "%F%P: invalid hash style `%s\'\n";" (assignment_expression "pcVar5 = "%F%P: invalid hash style `%s\'\n"" (identifier "pcVar5") (= "=") (string_literal ""%F%P: invalid hash style `%s\'\n"" (" """) (string_content "%F%P: invalid hash style `%s") (escape_sequence "\'") (escape_sequence "\n") (" """))) (; ";")) (labeled_statement "LAB_0003606a:\n    uVar4 = dcgettext(0,pcVar5,5);" (statement_identifier "LAB_0003606a") (: ":") (expression_statement "uVar4 = dcgettext(0,pcVar5,5);" (assignment_expression "uVar4 = dcgettext(0,pcVar5,5)" (identifier "uVar4") (= "=") (call_expression "dcgettext(0,pcVar5,5)" (identifier "dcgettext") (argument_list "(0,pcVar5,5)" (( "(") (number_literal "0") (, ",") (identifier "pcVar5") (, ",") (number_literal "5") () ")")))) (; ";"))) (expression_statement "FUN_00031700(uVar4,pbVar6);" (call_expression "FUN_00031700(uVar4,pbVar6)" (identifier "FUN_00031700") (argument_list "(uVar4,pbVar6)" (( "(") (identifier "uVar4") (, ",") (identifier "pbVar6") () ")"))) (; ";")) (return_statement "return 1;" (return "return") (number_literal "1") (; ";")) (} "}"))) (expression_statement "bVar9 = param_1 < 0x12d;" (assignment_expression "bVar9 = param_1 < 0x12d" (identifier "bVar9") (= "=") (binary_expression "param_1 < 0x12d" (identifier "param_1") (< "<") (number_literal "0x12d"))) (; ";")) (expression_statement "bVar11 = param_1 == 0x12d;" (assignment_expression "bVar11 = param_1 == 0x12d" (identifier "bVar11") (= "=") (binary_expression "param_1 == 0x12d" (identifier "param_1") (== "==") (number_literal "0x12d"))) (; ";")) (if_statement "if (bVar11) {\n    iVar3 = 7;\n    pbVar6 = *(byte **)PTR_optarg_0008bff4;\n    pbVar7 = pbVar6;\n    pbVar8 = (byte *)"target";\n    do {\n      if (iVar3 == 0) break;\n      iVar3 = iVar3 + -1;\n      bVar9 = *pbVar7 < *pbVar8;\n      bVar11 = *pbVar7 == *pbVar8;\n      pbVar7 = pbVar7 + 1;\n      pbVar8 = pbVar8 + 1;\n    } while (bVar11);\n    bVar10 = false;\n    bVar9 = (!bVar9 && !bVar11) == bVar9;\n    if (!bVar9) {\n      iVar3 = 7;\n      pbVar7 = pbVar6;\n      pbVar8 = (byte *)"single";\n      do {\n        if (iVar3 == 0) break;\n        iVar3 = iVar3 + -1;\n        bVar10 = *pbVar7 < *pbVar8;\n        bVar9 = *pbVar7 == *pbVar8;\n        pbVar7 = pbVar7 + 1;\n        pbVar8 = pbVar8 + 1;\n      } while (bVar9);\n      bVar11 = false;\n      bVar9 = (!bVar10 && !bVar9) == bVar10;\n      if (!bVar9) {\n        iVar3 = 9;\n        pbVar7 = pbVar6;\n        pbVar8 = (byte *)"negative";\n        do {\n          if (iVar3 == 0) break;\n          iVar3 = iVar3 + -1;\n          bVar11 = *pbVar7 < *pbVar8;\n          bVar9 = *pbVar7 == *pbVar8;\n          pbVar7 = pbVar7 + 1;\n          pbVar8 = pbVar8 + 1;\n        } while (bVar9);\n        bVar10 = false;\n        bVar9 = (!bVar11 && !bVar9) == bVar11;\n        if (bVar9) {\n          DAT_0008cac4 = 1;\n          return 1;\n        }\n        iVar3 = 9;\n        pbVar7 = pbVar6;\n        pbVar8 = (byte *)"multigot";\n        do {\n          if (iVar3 == 0) break;\n          iVar3 = iVar3 + -1;\n          bVar10 = *pbVar7 < *pbVar8;\n          bVar9 = *pbVar7 == *pbVar8;\n          pbVar7 = pbVar7 + 1;\n          pbVar8 = pbVar8 + 1;\n        } while (bVar9);\n        if ((!bVar10 && !bVar9) == bVar10) {\n          DAT_0008cac4 = 2;\n          return 1;\n        }\n        pcVar5 = "%P: unrecognized --got argument \'%s\'\n";\n        goto LAB_0003606a;\n      }\n    }\n    DAT_0008cac4 = 0;\n    return 1;\n  }" (if "if") (parenthesized_expression "(bVar11)" (( "(") (identifier "bVar11") () ")")) (compound_statement "{\n    iVar3 = 7;\n    pbVar6 = *(byte **)PTR_optarg_0008bff4;\n    pbVar7 = pbVar6;\n    pbVar8 = (byte *)"target";\n    do {\n      if (iVar3 == 0) break;\n      iVar3 = iVar3 + -1;\n      bVar9 = *pbVar7 < *pbVar8;\n      bVar11 = *pbVar7 == *pbVar8;\n      pbVar7 = pbVar7 + 1;\n      pbVar8 = pbVar8 + 1;\n    } while (bVar11);\n    bVar10 = false;\n    bVar9 = (!bVar9 && !bVar11) == bVar9;\n    if (!bVar9) {\n      iVar3 = 7;\n      pbVar7 = pbVar6;\n      pbVar8 = (byte *)"single";\n      do {\n        if (iVar3 == 0) break;\n        iVar3 = iVar3 + -1;\n        bVar10 = *pbVar7 < *pbVar8;\n        bVar9 = *pbVar7 == *pbVar8;\n        pbVar7 = pbVar7 + 1;\n        pbVar8 = pbVar8 + 1;\n      } while (bVar9);\n      bVar11 = false;\n      bVar9 = (!bVar10 && !bVar9) == bVar10;\n      if (!bVar9) {\n        iVar3 = 9;\n        pbVar7 = pbVar6;\n        pbVar8 = (byte *)"negative";\n        do {\n          if (iVar3 == 0) break;\n          iVar3 = iVar3 + -1;\n          bVar11 = *pbVar7 < *pbVar8;\n          bVar9 = *pbVar7 == *pbVar8;\n          pbVar7 = pbVar7 + 1;\n          pbVar8 = pbVar8 + 1;\n        } while (bVar9);\n        bVar10 = false;\n        bVar9 = (!bVar11 && !bVar9) == bVar11;\n        if (bVar9) {\n          DAT_0008cac4 = 1;\n          return 1;\n        }\n        iVar3 = 9;\n        pbVar7 = pbVar6;\n        pbVar8 = (byte *)"multigot";\n        do {\n          if (iVar3 == 0) break;\n          iVar3 = iVar3 + -1;\n          bVar10 = *pbVar7 < *pbVar8;\n          bVar9 = *pbVar7 == *pbVar8;\n          pbVar7 = pbVar7 + 1;\n          pbVar8 = pbVar8 + 1;\n        } while (bVar9);\n        if ((!bVar10 && !bVar9) == bVar10) {\n          DAT_0008cac4 = 2;\n          return 1;\n        }\n        pcVar5 = "%P: unrecognized --got argument \'%s\'\n";\n        goto LAB_0003606a;\n      }\n    }\n    DAT_0008cac4 = 0;\n    return 1;\n  }" ({ "{") (expression_statement "iVar3 = 7;" (assignment_expression "iVar3 = 7" (identifier "iVar3") (= "=") (number_literal "7")) (; ";")) (expression_statement "pbVar6 = *(byte **)PTR_optarg_0008bff4;" (assignment_expression "pbVar6 = *(byte **)PTR_optarg_0008bff4" (identifier "pbVar6") (= "=") (pointer_expression "*(byte **)PTR_optarg_0008bff4" (* "*") (cast_expression "(byte **)PTR_optarg_0008bff4" (( "(") (type_descriptor "byte **" (type_identifier "byte") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (identifier "PTR_optarg_0008bff4")))) (; ";")) (expression_statement "pbVar7 = pbVar6;" (assignment_expression "pbVar7 = pbVar6" (identifier "pbVar7") (= "=") (identifier "pbVar6")) (; ";")) (expression_statement "pbVar8 = (byte *)"target";" (assignment_expression "pbVar8 = (byte *)"target"" (identifier "pbVar8") (= "=") (cast_expression "(byte *)"target"" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (string_literal ""target"" (" """) (string_content "target") (" """)))) (; ";")) (do_statement "do {\n      if (iVar3 == 0) break;\n      iVar3 = iVar3 + -1;\n      bVar9 = *pbVar7 < *pbVar8;\n      bVar11 = *pbVar7 == *pbVar8;\n      pbVar7 = pbVar7 + 1;\n      pbVar8 = pbVar8 + 1;\n    } while (bVar11);" (do "do") (compound_statement "{\n      if (iVar3 == 0) break;\n      iVar3 = iVar3 + -1;\n      bVar9 = *pbVar7 < *pbVar8;\n      bVar11 = *pbVar7 == *pbVar8;\n      pbVar7 = pbVar7 + 1;\n      pbVar8 = pbVar8 + 1;\n    }" ({ "{") (if_statement "if (iVar3 == 0) break;" (if "if") (parenthesized_expression "(iVar3 == 0)" (( "(") (binary_expression "iVar3 == 0" (identifier "iVar3") (== "==") (number_literal "0")) () ")")) (break_statement "break;" (break "break") (; ";"))) (expression_statement "iVar3 = iVar3 + -1;" (assignment_expression "iVar3 = iVar3 + -1" (identifier "iVar3") (= "=") (binary_expression "iVar3 + -1" (identifier "iVar3") (+ "+") (number_literal "-1"))) (; ";")) (expression_statement "bVar9 = *pbVar7 < *pbVar8;" (assignment_expression "bVar9 = *pbVar7 < *pbVar8" (identifier "bVar9") (= "=") (binary_expression "*pbVar7 < *pbVar8" (pointer_expression "*pbVar7" (* "*") (identifier "pbVar7")) (< "<") (pointer_expression "*pbVar8" (* "*") (identifier "pbVar8")))) (; ";")) (expression_statement "bVar11 = *pbVar7 == *pbVar8;" (assignment_expression "bVar11 = *pbVar7 == *pbVar8" (identifier "bVar11") (= "=") (binary_expression "*pbVar7 == *pbVar8" (pointer_expression "*pbVar7" (* "*") (identifier "pbVar7")) (== "==") (pointer_expression "*pbVar8" (* "*") (identifier "pbVar8")))) (; ";")) (expression_statement "pbVar7 = pbVar7 + 1;" (assignment_expression "pbVar7 = pbVar7 + 1" (identifier "pbVar7") (= "=") (binary_expression "pbVar7 + 1" (identifier "pbVar7") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "pbVar8 = pbVar8 + 1;" (assignment_expression "pbVar8 = pbVar8 + 1" (identifier "pbVar8") (= "=") (binary_expression "pbVar8 + 1" (identifier "pbVar8") (+ "+") (number_literal "1"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(bVar11)" (( "(") (identifier "bVar11") () ")")) (; ";")) (expression_statement "bVar10 = false;" (assignment_expression "bVar10 = false" (identifier "bVar10") (= "=") (false "false")) (; ";")) (expression_statement "bVar9 = (!bVar9 && !bVar11) == bVar9;" (assignment_expression "bVar9 = (!bVar9 && !bVar11) == bVar9" (identifier "bVar9") (= "=") (binary_expression "(!bVar9 && !bVar11) == bVar9" (parenthesized_expression "(!bVar9 && !bVar11)" (( "(") (binary_expression "!bVar9 && !bVar11" (unary_expression "!bVar9" (! "!") (identifier "bVar9")) (&& "&&") (unary_expression "!bVar11" (! "!") (identifier "bVar11"))) () ")")) (== "==") (identifier "bVar9"))) (; ";")) (if_statement "if (!bVar9) {\n      iVar3 = 7;\n      pbVar7 = pbVar6;\n      pbVar8 = (byte *)"single";\n      do {\n        if (iVar3 == 0) break;\n        iVar3 = iVar3 + -1;\n        bVar10 = *pbVar7 < *pbVar8;\n        bVar9 = *pbVar7 == *pbVar8;\n        pbVar7 = pbVar7 + 1;\n        pbVar8 = pbVar8 + 1;\n      } while (bVar9);\n      bVar11 = false;\n      bVar9 = (!bVar10 && !bVar9) == bVar10;\n      if (!bVar9) {\n        iVar3 = 9;\n        pbVar7 = pbVar6;\n        pbVar8 = (byte *)"negative";\n        do {\n          if (iVar3 == 0) break;\n          iVar3 = iVar3 + -1;\n          bVar11 = *pbVar7 < *pbVar8;\n          bVar9 = *pbVar7 == *pbVar8;\n          pbVar7 = pbVar7 + 1;\n          pbVar8 = pbVar8 + 1;\n        } while (bVar9);\n        bVar10 = false;\n        bVar9 = (!bVar11 && !bVar9) == bVar11;\n        if (bVar9) {\n          DAT_0008cac4 = 1;\n          return 1;\n        }\n        iVar3 = 9;\n        pbVar7 = pbVar6;\n        pbVar8 = (byte *)"multigot";\n        do {\n          if (iVar3 == 0) break;\n          iVar3 = iVar3 + -1;\n          bVar10 = *pbVar7 < *pbVar8;\n          bVar9 = *pbVar7 == *pbVar8;\n          pbVar7 = pbVar7 + 1;\n          pbVar8 = pbVar8 + 1;\n        } while (bVar9);\n        if ((!bVar10 && !bVar9) == bVar10) {\n          DAT_0008cac4 = 2;\n          return 1;\n        }\n        pcVar5 = "%P: unrecognized --got argument \'%s\'\n";\n        goto LAB_0003606a;\n      }\n    }" (if "if") (parenthesized_expression "(!bVar9)" (( "(") (unary_expression "!bVar9" (! "!") (identifier "bVar9")) () ")")) (compound_statement "{\n      iVar3 = 7;\n      pbVar7 = pbVar6;\n      pbVar8 = (byte *)"single";\n      do {\n        if (iVar3 == 0) break;\n        iVar3 = iVar3 + -1;\n        bVar10 = *pbVar7 < *pbVar8;\n        bVar9 = *pbVar7 == *pbVar8;\n        pbVar7 = pbVar7 + 1;\n        pbVar8 = pbVar8 + 1;\n      } while (bVar9);\n      bVar11 = false;\n      bVar9 = (!bVar10 && !bVar9) == bVar10;\n      if (!bVar9) {\n        iVar3 = 9;\n        pbVar7 = pbVar6;\n        pbVar8 = (byte *)"negative";\n        do {\n          if (iVar3 == 0) break;\n          iVar3 = iVar3 + -1;\n          bVar11 = *pbVar7 < *pbVar8;\n          bVar9 = *pbVar7 == *pbVar8;\n          pbVar7 = pbVar7 + 1;\n          pbVar8 = pbVar8 + 1;\n        } while (bVar9);\n        bVar10 = false;\n        bVar9 = (!bVar11 && !bVar9) == bVar11;\n        if (bVar9) {\n          DAT_0008cac4 = 1;\n          return 1;\n        }\n        iVar3 = 9;\n        pbVar7 = pbVar6;\n        pbVar8 = (byte *)"multigot";\n        do {\n          if (iVar3 == 0) break;\n          iVar3 = iVar3 + -1;\n          bVar10 = *pbVar7 < *pbVar8;\n          bVar9 = *pbVar7 == *pbVar8;\n          pbVar7 = pbVar7 + 1;\n          pbVar8 = pbVar8 + 1;\n        } while (bVar9);\n        if ((!bVar10 && !bVar9) == bVar10) {\n          DAT_0008cac4 = 2;\n          return 1;\n        }\n        pcVar5 = "%P: unrecognized --got argument \'%s\'\n";\n        goto LAB_0003606a;\n      }\n    }" ({ "{") (expression_statement "iVar3 = 7;" (assignment_expression "iVar3 = 7" (identifier "iVar3") (= "=") (number_literal "7")) (; ";")) (expression_statement "pbVar7 = pbVar6;" (assignment_expression "pbVar7 = pbVar6" (identifier "pbVar7") (= "=") (identifier "pbVar6")) (; ";")) (expression_statement "pbVar8 = (byte *)"single";" (assignment_expression "pbVar8 = (byte *)"single"" (identifier "pbVar8") (= "=") (cast_expression "(byte *)"single"" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (string_literal ""single"" (" """) (string_content "single") (" """)))) (; ";")) (do_statement "do {\n        if (iVar3 == 0) break;\n        iVar3 = iVar3 + -1;\n        bVar10 = *pbVar7 < *pbVar8;\n        bVar9 = *pbVar7 == *pbVar8;\n        pbVar7 = pbVar7 + 1;\n        pbVar8 = pbVar8 + 1;\n      } while (bVar9);" (do "do") (compound_statement "{\n        if (iVar3 == 0) break;\n        iVar3 = iVar3 + -1;\n        bVar10 = *pbVar7 < *pbVar8;\n        bVar9 = *pbVar7 == *pbVar8;\n        pbVar7 = pbVar7 + 1;\n        pbVar8 = pbVar8 + 1;\n      }" ({ "{") (if_statement "if (iVar3 == 0) break;" (if "if") (parenthesized_expression "(iVar3 == 0)" (( "(") (binary_expression "iVar3 == 0" (identifier "iVar3") (== "==") (number_literal "0")) () ")")) (break_statement "break;" (break "break") (; ";"))) (expression_statement "iVar3 = iVar3 + -1;" (assignment_expression "iVar3 = iVar3 + -1" (identifier "iVar3") (= "=") (binary_expression "iVar3 + -1" (identifier "iVar3") (+ "+") (number_literal "-1"))) (; ";")) (expression_statement "bVar10 = *pbVar7 < *pbVar8;" (assignment_expression "bVar10 = *pbVar7 < *pbVar8" (identifier "bVar10") (= "=") (binary_expression "*pbVar7 < *pbVar8" (pointer_expression "*pbVar7" (* "*") (identifier "pbVar7")) (< "<") (pointer_expression "*pbVar8" (* "*") (identifier "pbVar8")))) (; ";")) (expression_statement "bVar9 = *pbVar7 == *pbVar8;" (assignment_expression "bVar9 = *pbVar7 == *pbVar8" (identifier "bVar9") (= "=") (binary_expression "*pbVar7 == *pbVar8" (pointer_expression "*pbVar7" (* "*") (identifier "pbVar7")) (== "==") (pointer_expression "*pbVar8" (* "*") (identifier "pbVar8")))) (; ";")) (expression_statement "pbVar7 = pbVar7 + 1;" (assignment_expression "pbVar7 = pbVar7 + 1" (identifier "pbVar7") (= "=") (binary_expression "pbVar7 + 1" (identifier "pbVar7") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "pbVar8 = pbVar8 + 1;" (assignment_expression "pbVar8 = pbVar8 + 1" (identifier "pbVar8") (= "=") (binary_expression "pbVar8 + 1" (identifier "pbVar8") (+ "+") (number_literal "1"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(bVar9)" (( "(") (identifier "bVar9") () ")")) (; ";")) (expression_statement "bVar11 = false;" (assignment_expression "bVar11 = false" (identifier "bVar11") (= "=") (false "false")) (; ";")) (expression_statement "bVar9 = (!bVar10 && !bVar9) == bVar10;" (assignment_expression "bVar9 = (!bVar10 && !bVar9) == bVar10" (identifier "bVar9") (= "=") (binary_expression "(!bVar10 && !bVar9) == bVar10" (parenthesized_expression "(!bVar10 && !bVar9)" (( "(") (binary_expression "!bVar10 && !bVar9" (unary_expression "!bVar10" (! "!") (identifier "bVar10")) (&& "&&") (unary_expression "!bVar9" (! "!") (identifier "bVar9"))) () ")")) (== "==") (identifier "bVar10"))) (; ";")) (if_statement "if (!bVar9) {\n        iVar3 = 9;\n        pbVar7 = pbVar6;\n        pbVar8 = (byte *)"negative";\n        do {\n          if (iVar3 == 0) break;\n          iVar3 = iVar3 + -1;\n          bVar11 = *pbVar7 < *pbVar8;\n          bVar9 = *pbVar7 == *pbVar8;\n          pbVar7 = pbVar7 + 1;\n          pbVar8 = pbVar8 + 1;\n        } while (bVar9);\n        bVar10 = false;\n        bVar9 = (!bVar11 && !bVar9) == bVar11;\n        if (bVar9) {\n          DAT_0008cac4 = 1;\n          return 1;\n        }\n        iVar3 = 9;\n        pbVar7 = pbVar6;\n        pbVar8 = (byte *)"multigot";\n        do {\n          if (iVar3 == 0) break;\n          iVar3 = iVar3 + -1;\n          bVar10 = *pbVar7 < *pbVar8;\n          bVar9 = *pbVar7 == *pbVar8;\n          pbVar7 = pbVar7 + 1;\n          pbVar8 = pbVar8 + 1;\n        } while (bVar9);\n        if ((!bVar10 && !bVar9) == bVar10) {\n          DAT_0008cac4 = 2;\n          return 1;\n        }\n        pcVar5 = "%P: unrecognized --got argument \'%s\'\n";\n        goto LAB_0003606a;\n      }" (if "if") (parenthesized_expression "(!bVar9)" (( "(") (unary_expression "!bVar9" (! "!") (identifier "bVar9")) () ")")) (compound_statement "{\n        iVar3 = 9;\n        pbVar7 = pbVar6;\n        pbVar8 = (byte *)"negative";\n        do {\n          if (iVar3 == 0) break;\n          iVar3 = iVar3 + -1;\n          bVar11 = *pbVar7 < *pbVar8;\n          bVar9 = *pbVar7 == *pbVar8;\n          pbVar7 = pbVar7 + 1;\n          pbVar8 = pbVar8 + 1;\n        } while (bVar9);\n        bVar10 = false;\n        bVar9 = (!bVar11 && !bVar9) == bVar11;\n        if (bVar9) {\n          DAT_0008cac4 = 1;\n          return 1;\n        }\n        iVar3 = 9;\n        pbVar7 = pbVar6;\n        pbVar8 = (byte *)"multigot";\n        do {\n          if (iVar3 == 0) break;\n          iVar3 = iVar3 + -1;\n          bVar10 = *pbVar7 < *pbVar8;\n          bVar9 = *pbVar7 == *pbVar8;\n          pbVar7 = pbVar7 + 1;\n          pbVar8 = pbVar8 + 1;\n        } while (bVar9);\n        if ((!bVar10 && !bVar9) == bVar10) {\n          DAT_0008cac4 = 2;\n          return 1;\n        }\n        pcVar5 = "%P: unrecognized --got argument \'%s\'\n";\n        goto LAB_0003606a;\n      }" ({ "{") (expression_statement "iVar3 = 9;" (assignment_expression "iVar3 = 9" (identifier "iVar3") (= "=") (number_literal "9")) (; ";")) (expression_statement "pbVar7 = pbVar6;" (assignment_expression "pbVar7 = pbVar6" (identifier "pbVar7") (= "=") (identifier "pbVar6")) (; ";")) (expression_statement "pbVar8 = (byte *)"negative";" (assignment_expression "pbVar8 = (byte *)"negative"" (identifier "pbVar8") (= "=") (cast_expression "(byte *)"negative"" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (string_literal ""negative"" (" """) (string_content "negative") (" """)))) (; ";")) (do_statement "do {\n          if (iVar3 == 0) break;\n          iVar3 = iVar3 + -1;\n          bVar11 = *pbVar7 < *pbVar8;\n          bVar9 = *pbVar7 == *pbVar8;\n          pbVar7 = pbVar7 + 1;\n          pbVar8 = pbVar8 + 1;\n        } while (bVar9);" (do "do") (compound_statement "{\n          if (iVar3 == 0) break;\n          iVar3 = iVar3 + -1;\n          bVar11 = *pbVar7 < *pbVar8;\n          bVar9 = *pbVar7 == *pbVar8;\n          pbVar7 = pbVar7 + 1;\n          pbVar8 = pbVar8 + 1;\n        }" ({ "{") (if_statement "if (iVar3 == 0) break;" (if "if") (parenthesized_expression "(iVar3 == 0)" (( "(") (binary_expression "iVar3 == 0" (identifier "iVar3") (== "==") (number_literal "0")) () ")")) (break_statement "break;" (break "break") (; ";"))) (expression_statement "iVar3 = iVar3 + -1;" (assignment_expression "iVar3 = iVar3 + -1" (identifier "iVar3") (= "=") (binary_expression "iVar3 + -1" (identifier "iVar3") (+ "+") (number_literal "-1"))) (; ";")) (expression_statement "bVar11 = *pbVar7 < *pbVar8;" (assignment_expression "bVar11 = *pbVar7 < *pbVar8" (identifier "bVar11") (= "=") (binary_expression "*pbVar7 < *pbVar8" (pointer_expression "*pbVar7" (* "*") (identifier "pbVar7")) (< "<") (pointer_expression "*pbVar8" (* "*") (identifier "pbVar8")))) (; ";")) (expression_statement "bVar9 = *pbVar7 == *pbVar8;" (assignment_expression "bVar9 = *pbVar7 == *pbVar8" (identifier "bVar9") (= "=") (binary_expression "*pbVar7 == *pbVar8" (pointer_expression "*pbVar7" (* "*") (identifier "pbVar7")) (== "==") (pointer_expression "*pbVar8" (* "*") (identifier "pbVar8")))) (; ";")) (expression_statement "pbVar7 = pbVar7 + 1;" (assignment_expression "pbVar7 = pbVar7 + 1" (identifier "pbVar7") (= "=") (binary_expression "pbVar7 + 1" (identifier "pbVar7") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "pbVar8 = pbVar8 + 1;" (assignment_expression "pbVar8 = pbVar8 + 1" (identifier "pbVar8") (= "=") (binary_expression "pbVar8 + 1" (identifier "pbVar8") (+ "+") (number_literal "1"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(bVar9)" (( "(") (identifier "bVar9") () ")")) (; ";")) (expression_statement "bVar10 = false;" (assignment_expression "bVar10 = false" (identifier "bVar10") (= "=") (false "false")) (; ";")) (expression_statement "bVar9 = (!bVar11 && !bVar9) == bVar11;" (assignment_expression "bVar9 = (!bVar11 && !bVar9) == bVar11" (identifier "bVar9") (= "=") (binary_expression "(!bVar11 && !bVar9) == bVar11" (parenthesized_expression "(!bVar11 && !bVar9)" (( "(") (binary_expression "!bVar11 && !bVar9" (unary_expression "!bVar11" (! "!") (identifier "bVar11")) (&& "&&") (unary_expression "!bVar9" (! "!") (identifier "bVar9"))) () ")")) (== "==") (identifier "bVar11"))) (; ";")) (if_statement "if (bVar9) {\n          DAT_0008cac4 = 1;\n          return 1;\n        }" (if "if") (parenthesized_expression "(bVar9)" (( "(") (identifier "bVar9") () ")")) (compound_statement "{\n          DAT_0008cac4 = 1;\n          return 1;\n        }" ({ "{") (expression_statement "DAT_0008cac4 = 1;" (assignment_expression "DAT_0008cac4 = 1" (identifier "DAT_0008cac4") (= "=") (number_literal "1")) (; ";")) (return_statement "return 1;" (return "return") (number_literal "1") (; ";")) (} "}"))) (expression_statement "iVar3 = 9;" (assignment_expression "iVar3 = 9" (identifier "iVar3") (= "=") (number_literal "9")) (; ";")) (expression_statement "pbVar7 = pbVar6;" (assignment_expression "pbVar7 = pbVar6" (identifier "pbVar7") (= "=") (identifier "pbVar6")) (; ";")) (expression_statement "pbVar8 = (byte *)"multigot";" (assignment_expression "pbVar8 = (byte *)"multigot"" (identifier "pbVar8") (= "=") (cast_expression "(byte *)"multigot"" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (string_literal ""multigot"" (" """) (string_content "multigot") (" """)))) (; ";")) (do_statement "do {\n          if (iVar3 == 0) break;\n          iVar3 = iVar3 + -1;\n          bVar10 = *pbVar7 < *pbVar8;\n          bVar9 = *pbVar7 == *pbVar8;\n          pbVar7 = pbVar7 + 1;\n          pbVar8 = pbVar8 + 1;\n        } while (bVar9);" (do "do") (compound_statement "{\n          if (iVar3 == 0) break;\n          iVar3 = iVar3 + -1;\n          bVar10 = *pbVar7 < *pbVar8;\n          bVar9 = *pbVar7 == *pbVar8;\n          pbVar7 = pbVar7 + 1;\n          pbVar8 = pbVar8 + 1;\n        }" ({ "{") (if_statement "if (iVar3 == 0) break;" (if "if") (parenthesized_expression "(iVar3 == 0)" (( "(") (binary_expression "iVar3 == 0" (identifier "iVar3") (== "==") (number_literal "0")) () ")")) (break_statement "break;" (break "break") (; ";"))) (expression_statement "iVar3 = iVar3 + -1;" (assignment_expression "iVar3 = iVar3 + -1" (identifier "iVar3") (= "=") (binary_expression "iVar3 + -1" (identifier "iVar3") (+ "+") (number_literal "-1"))) (; ";")) (expression_statement "bVar10 = *pbVar7 < *pbVar8;" (assignment_expression "bVar10 = *pbVar7 < *pbVar8" (identifier "bVar10") (= "=") (binary_expression "*pbVar7 < *pbVar8" (pointer_expression "*pbVar7" (* "*") (identifier "pbVar7")) (< "<") (pointer_expression "*pbVar8" (* "*") (identifier "pbVar8")))) (; ";")) (expression_statement "bVar9 = *pbVar7 == *pbVar8;" (assignment_expression "bVar9 = *pbVar7 == *pbVar8" (identifier "bVar9") (= "=") (binary_expression "*pbVar7 == *pbVar8" (pointer_expression "*pbVar7" (* "*") (identifier "pbVar7")) (== "==") (pointer_expression "*pbVar8" (* "*") (identifier "pbVar8")))) (; ";")) (expression_statement "pbVar7 = pbVar7 + 1;" (assignment_expression "pbVar7 = pbVar7 + 1" (identifier "pbVar7") (= "=") (binary_expression "pbVar7 + 1" (identifier "pbVar7") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "pbVar8 = pbVar8 + 1;" (assignment_expression "pbVar8 = pbVar8 + 1" (identifier "pbVar8") (= "=") (binary_expression "pbVar8 + 1" (identifier "pbVar8") (+ "+") (number_literal "1"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(bVar9)" (( "(") (identifier "bVar9") () ")")) (; ";")) (if_statement "if ((!bVar10 && !bVar9) == bVar10) {\n          DAT_0008cac4 = 2;\n          return 1;\n        }" (if "if") (parenthesized_expression "((!bVar10 && !bVar9) == bVar10)" (( "(") (binary_expression "(!bVar10 && !bVar9) == bVar10" (parenthesized_expression "(!bVar10 && !bVar9)" (( "(") (binary_expression "!bVar10 && !bVar9" (unary_expression "!bVar10" (! "!") (identifier "bVar10")) (&& "&&") (unary_expression "!bVar9" (! "!") (identifier "bVar9"))) () ")")) (== "==") (identifier "bVar10")) () ")")) (compound_statement "{\n          DAT_0008cac4 = 2;\n          return 1;\n        }" ({ "{") (expression_statement "DAT_0008cac4 = 2;" (assignment_expression "DAT_0008cac4 = 2" (identifier "DAT_0008cac4") (= "=") (number_literal "2")) (; ";")) (return_statement "return 1;" (return "return") (number_literal "1") (; ";")) (} "}"))) (expression_statement "pcVar5 = "%P: unrecognized --got argument \'%s\'\n";" (assignment_expression "pcVar5 = "%P: unrecognized --got argument \'%s\'\n"" (identifier "pcVar5") (= "=") (string_literal ""%P: unrecognized --got argument \'%s\'\n"" (" """) (string_content "%P: unrecognized --got argument ") (escape_sequence "\'") (string_content "%s") (escape_sequence "\'") (escape_sequence "\n") (" """))) (; ";")) (goto_statement "goto LAB_0003606a;" (goto "goto") (statement_identifier "LAB_0003606a") (; ";")) (} "}"))) (} "}"))) (expression_statement "DAT_0008cac4 = 0;" (assignment_expression "DAT_0008cac4 = 0" (identifier "DAT_0008cac4") (= "=") (number_literal "0")) (; ";")) (return_statement "return 1;" (return "return") (number_literal "1") (; ";")) (} "}"))) (if_statement "if (0x12d < (int)param_1) {\n    if (param_1 == 0x191) {\n      _DAT_0008cc04 = _DAT_0008cc04 | 0x100;\n      return 1;\n    }\n    if (0x191 < (int)param_1) {\n      DAT_0008cc00._2_2_ = DAT_0008cc00._2_2_ | 0x1e0;\n      DAT_0008cc74 = DAT_0008cc74 | 4;\n      return 1;\n    }\n    if (param_1 != 400) {\n      return 0;\n    }\n    _DAT_0008cc04 = _DAT_0008cc04 & 0xfffffeff;\n    return 1;\n  }" (if "if") (parenthesized_expression "(0x12d < (int)param_1)" (( "(") (binary_expression "0x12d < (int)param_1" (number_literal "0x12d") (< "<") (cast_expression "(int)param_1" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "param_1"))) () ")")) (compound_statement "{\n    if (param_1 == 0x191) {\n      _DAT_0008cc04 = _DAT_0008cc04 | 0x100;\n      return 1;\n    }\n    if (0x191 < (int)param_1) {\n      DAT_0008cc00._2_2_ = DAT_0008cc00._2_2_ | 0x1e0;\n      DAT_0008cc74 = DAT_0008cc74 | 4;\n      return 1;\n    }\n    if (param_1 != 400) {\n      return 0;\n    }\n    _DAT_0008cc04 = _DAT_0008cc04 & 0xfffffeff;\n    return 1;\n  }" ({ "{") (if_statement "if (param_1 == 0x191) {\n      _DAT_0008cc04 = _DAT_0008cc04 | 0x100;\n      return 1;\n    }" (if "if") (parenthesized_expression "(param_1 == 0x191)" (( "(") (binary_expression "param_1 == 0x191" (identifier "param_1") (== "==") (number_literal "0x191")) () ")")) (compound_statement "{\n      _DAT_0008cc04 = _DAT_0008cc04 | 0x100;\n      return 1;\n    }" ({ "{") (expression_statement "_DAT_0008cc04 = _DAT_0008cc04 | 0x100;" (assignment_expression "_DAT_0008cc04 = _DAT_0008cc04 | 0x100" (identifier "_DAT_0008cc04") (= "=") (binary_expression "_DAT_0008cc04 | 0x100" (identifier "_DAT_0008cc04") (| "|") (number_literal "0x100"))) (; ";")) (return_statement "return 1;" (return "return") (number_literal "1") (; ";")) (} "}"))) (if_statement "if (0x191 < (int)param_1) {\n      DAT_0008cc00._2_2_ = DAT_0008cc00._2_2_ | 0x1e0;\n      DAT_0008cc74 = DAT_0008cc74 | 4;\n      return 1;\n    }" (if "if") (parenthesized_expression "(0x191 < (int)param_1)" (( "(") (binary_expression "0x191 < (int)param_1" (number_literal "0x191") (< "<") (cast_expression "(int)param_1" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "param_1"))) () ")")) (compound_statement "{\n      DAT_0008cc00._2_2_ = DAT_0008cc00._2_2_ | 0x1e0;\n      DAT_0008cc74 = DAT_0008cc74 | 4;\n      return 1;\n    }" ({ "{") (expression_statement "DAT_0008cc00._2_2_ = DAT_0008cc00._2_2_ | 0x1e0;" (assignment_expression "DAT_0008cc00._2_2_ = DAT_0008cc00._2_2_ | 0x1e0" (field_expression "DAT_0008cc00._2_2_" (identifier "DAT_0008cc00") (. ".") (field_identifier "_2_2_")) (= "=") (binary_expression "DAT_0008cc00._2_2_ | 0x1e0" (field_expression "DAT_0008cc00._2_2_" (identifier "DAT_0008cc00") (. ".") (field_identifier "_2_2_")) (| "|") (number_literal "0x1e0"))) (; ";")) (expression_statement "DAT_0008cc74 = DAT_0008cc74 | 4;" (assignment_expression "DAT_0008cc74 = DAT_0008cc74 | 4" (identifier "DAT_0008cc74") (= "=") (binary_expression "DAT_0008cc74 | 4" (identifier "DAT_0008cc74") (| "|") (number_literal "4"))) (; ";")) (return_statement "return 1;" (return "return") (number_literal "1") (; ";")) (} "}"))) (if_statement "if (param_1 != 400) {\n      return 0;\n    }" (if "if") (parenthesized_expression "(param_1 != 400)" (( "(") (binary_expression "param_1 != 400" (identifier "param_1") (!= "!=") (number_literal "400")) () ")")) (compound_statement "{\n      return 0;\n    }" ({ "{") (return_statement "return 0;" (return "return") (number_literal "0") (; ";")) (} "}"))) (expression_statement "_DAT_0008cc04 = _DAT_0008cc04 & 0xfffffeff;" (assignment_expression "_DAT_0008cc04 = _DAT_0008cc04 & 0xfffffeff" (identifier "_DAT_0008cc04") (= "=") (binary_expression "_DAT_0008cc04 & 0xfffffeff" (identifier "_DAT_0008cc04") (& "&") (number_literal "0xfffffeff"))) (; ";")) (return_statement "return 1;" (return "return") (number_literal "1") (; ";")) (} "}"))) (if_statement "if (param_1 == 0x50) {\n    FUN_000359c0();\n    return 1;\n  }" (if "if") (parenthesized_expression "(param_1 == 0x50)" (( "(") (binary_expression "param_1 == 0x50" (identifier "param_1") (== "==") (number_literal "0x50")) () ")")) (compound_statement "{\n    FUN_000359c0();\n    return 1;\n  }" ({ "{") (expression_statement "FUN_000359c0();" (call_expression "FUN_000359c0()" (identifier "FUN_000359c0") (argument_list "()" (( "(") () ")"))) (; ";")) (return_statement "return 1;" (return "return") (number_literal "1") (; ";")) (} "}"))) (expression_statement "bVar9 = param_1 < 0x7a;" (assignment_expression "bVar9 = param_1 < 0x7a" (identifier "bVar9") (= "=") (binary_expression "param_1 < 0x7a" (identifier "param_1") (< "<") (number_literal "0x7a"))) (; ";")) (expression_statement "bVar11 = param_1 == 0x7a;" (assignment_expression "bVar11 = param_1 == 0x7a" (identifier "bVar11") (= "=") (binary_expression "param_1 == 0x7a" (identifier "param_1") (== "==") (number_literal "0x7a"))) (; ";")) (if_statement "if (!bVar11) {\n    return 0;\n  }" (if "if") (parenthesized_expression "(!bVar11)" (( "(") (unary_expression "!bVar11" (! "!") (identifier "bVar11")) () ")")) (compound_statement "{\n    return 0;\n  }" ({ "{") (return_statement "return 0;" (return "return") (number_literal "0") (; ";")) (} "}"))) (expression_statement "iVar3 = 5;" (assignment_expression "iVar3 = 5" (identifier "iVar3") (= "=") (number_literal "5")) (; ";")) (expression_statement "pbVar6 = *(byte **)PTR_optarg_0008bff4;" (assignment_expression "pbVar6 = *(byte **)PTR_optarg_0008bff4" (identifier "pbVar6") (= "=") (pointer_expression "*(byte **)PTR_optarg_0008bff4" (* "*") (cast_expression "(byte **)PTR_optarg_0008bff4" (( "(") (type_descriptor "byte **" (type_identifier "byte") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (identifier "PTR_optarg_0008bff4")))) (; ";")) (expression_statement "pbVar7 = pbVar6;" (assignment_expression "pbVar7 = pbVar6" (identifier "pbVar7") (= "=") (identifier "pbVar6")) (; ";")) (expression_statement "pbVar8 = (byte *)0x4acc7;" (assignment_expression "pbVar8 = (byte *)0x4acc7" (identifier "pbVar8") (= "=") (cast_expression "(byte *)0x4acc7" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x4acc7"))) (; ";")) (do_statement "do {\n    if (iVar3 == 0) break;\n    iVar3 = iVar3 + -1;\n    bVar9 = *pbVar7 < *pbVar8;\n    bVar11 = *pbVar7 == *pbVar8;\n    pbVar7 = pbVar7 + 1;\n    pbVar8 = pbVar8 + 1;\n  } while (bVar11);" (do "do") (compound_statement "{\n    if (iVar3 == 0) break;\n    iVar3 = iVar3 + -1;\n    bVar9 = *pbVar7 < *pbVar8;\n    bVar11 = *pbVar7 == *pbVar8;\n    pbVar7 = pbVar7 + 1;\n    pbVar8 = pbVar8 + 1;\n  }" ({ "{") (if_statement "if (iVar3 == 0) break;" (if "if") (parenthesized_expression "(iVar3 == 0)" (( "(") (binary_expression "iVar3 == 0" (identifier "iVar3") (== "==") (number_literal "0")) () ")")) (break_statement "break;" (break "break") (; ";"))) (expression_statement "iVar3 = iVar3 + -1;" (assignment_expression "iVar3 = iVar3 + -1" (identifier "iVar3") (= "=") (binary_expression "iVar3 + -1" (identifier "iVar3") (+ "+") (number_literal "-1"))) (; ";")) (expression_statement "bVar9 = *pbVar7 < *pbVar8;" (assignment_expression "bVar9 = *pbVar7 < *pbVar8" (identifier "bVar9") (= "=") (binary_expression "*pbVar7 < *pbVar8" (pointer_expression "*pbVar7" (* "*") (identifier "pbVar7")) (< "<") (pointer_expression "*pbVar8" (* "*") (identifier "pbVar8")))) (; ";")) (expression_statement "bVar11 = *pbVar7 == *pbVar8;" (assignment_expression "bVar11 = *pbVar7 == *pbVar8" (identifier "bVar11") (= "=") (binary_expression "*pbVar7 == *pbVar8" (pointer_expression "*pbVar7" (* "*") (identifier "pbVar7")) (== "==") (pointer_expression "*pbVar8" (* "*") (identifier "pbVar8")))) (; ";")) (expression_statement "pbVar7 = pbVar7 + 1;" (assignment_expression "pbVar7 = pbVar7 + 1" (identifier "pbVar7") (= "=") (binary_expression "pbVar7 + 1" (identifier "pbVar7") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "pbVar8 = pbVar8 + 1;" (assignment_expression "pbVar8 = pbVar8 + 1" (identifier "pbVar8") (= "=") (binary_expression "pbVar8 + 1" (identifier "pbVar8") (+ "+") (number_literal "1"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(bVar11)" (( "(") (identifier "bVar11") () ")")) (; ";")) (expression_statement "bVar10 = false;" (assignment_expression "bVar10 = false" (identifier "bVar10") (= "=") (false "false")) (; ";")) (expression_statement "bVar9 = (!bVar9 && !bVar11) == bVar9;" (assignment_expression "bVar9 = (!bVar9 && !bVar11) == bVar9" (identifier "bVar9") (= "=") (binary_expression "(!bVar9 && !bVar11) == bVar9" (parenthesized_expression "(!bVar9 && !bVar11)" (( "(") (binary_expression "!bVar9 && !bVar11" (unary_expression "!bVar9" (! "!") (identifier "bVar9")) (&& "&&") (unary_expression "!bVar11" (! "!") (identifier "bVar11"))) () ")")) (== "==") (identifier "bVar9"))) (; ";")) (if_statement "if (bVar9) {\n    DAT_0008cc00._2_2_ = DAT_0008cc00._2_2_ | 0x60;\n    return 1;\n  }" (if "if") (parenthesized_expression "(bVar9)" (( "(") (identifier "bVar9") () ")")) (compound_statement "{\n    DAT_0008cc00._2_2_ = DAT_0008cc00._2_2_ | 0x60;\n    return 1;\n  }" ({ "{") (expression_statement "DAT_0008cc00._2_2_ = DAT_0008cc00._2_2_ | 0x60;" (assignment_expression "DAT_0008cc00._2_2_ = DAT_0008cc00._2_2_ | 0x60" (field_expression "DAT_0008cc00._2_2_" (identifier "DAT_0008cc00") (. ".") (field_identifier "_2_2_")) (= "=") (binary_expression "DAT_0008cc00._2_2_ | 0x60" (field_expression "DAT_0008cc00._2_2_" (identifier "DAT_0008cc00") (. ".") (field_identifier "_2_2_")) (| "|") (number_literal "0x60"))) (; ";")) (return_statement "return 1;" (return "return") (number_literal "1") (; ";")) (} "}"))) (expression_statement "iVar3 = 7;" (assignment_expression "iVar3 = 7" (identifier "iVar3") (= "=") (number_literal "7")) (; ";")) (expression_statement "pbVar7 = pbVar6;" (assignment_expression "pbVar7 = pbVar6" (identifier "pbVar7") (= "=") (identifier "pbVar6")) (; ";")) (expression_statement "pbVar8 = (byte *)"undefs";" (assignment_expression "pbVar8 = (byte *)"undefs"" (identifier "pbVar8") (= "=") (cast_expression "(byte *)"undefs"" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (string_literal ""undefs"" (" """) (string_content "undefs") (" """)))) (; ";")) (do_statement "do {\n    if (iVar3 == 0) break;\n    iVar3 = iVar3 + -1;\n    bVar10 = *pbVar7 < *pbVar8;\n    bVar9 = *pbVar7 == *pbVar8;\n    pbVar7 = pbVar7 + 1;\n    pbVar8 = pbVar8 + 1;\n  } while (bVar9);" (do "do") (compound_statement "{\n    if (iVar3 == 0) break;\n    iVar3 = iVar3 + -1;\n    bVar10 = *pbVar7 < *pbVar8;\n    bVar9 = *pbVar7 == *pbVar8;\n    pbVar7 = pbVar7 + 1;\n    pbVar8 = pbVar8 + 1;\n  }" ({ "{") (if_statement "if (iVar3 == 0) break;" (if "if") (parenthesized_expression "(iVar3 == 0)" (( "(") (binary_expression "iVar3 == 0" (identifier "iVar3") (== "==") (number_literal "0")) () ")")) (break_statement "break;" (break "break") (; ";"))) (expression_statement "iVar3 = iVar3 + -1;" (assignment_expression "iVar3 = iVar3 + -1" (identifier "iVar3") (= "=") (binary_expression "iVar3 + -1" (identifier "iVar3") (+ "+") (number_literal "-1"))) (; ";")) (expression_statement "bVar10 = *pbVar7 < *pbVar8;" (assignment_expression "bVar10 = *pbVar7 < *pbVar8" (identifier "bVar10") (= "=") (binary_expression "*pbVar7 < *pbVar8" (pointer_expression "*pbVar7" (* "*") (identifier "pbVar7")) (< "<") (pointer_expression "*pbVar8" (* "*") (identifier "pbVar8")))) (; ";")) (expression_statement "bVar9 = *pbVar7 == *pbVar8;" (assignment_expression "bVar9 = *pbVar7 == *pbVar8" (identifier "bVar9") (= "=") (binary_expression "*pbVar7 == *pbVar8" (pointer_expression "*pbVar7" (* "*") (identifier "pbVar7")) (== "==") (pointer_expression "*pbVar8" (* "*") (identifier "pbVar8")))) (; ";")) (expression_statement "pbVar7 = pbVar7 + 1;" (assignment_expression "pbVar7 = pbVar7 + 1" (identifier "pbVar7") (= "=") (binary_expression "pbVar7 + 1" (identifier "pbVar7") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "pbVar8 = pbVar8 + 1;" (assignment_expression "pbVar8 = pbVar8 + 1" (identifier "pbVar8") (= "=") (binary_expression "pbVar8 + 1" (identifier "pbVar8") (+ "+") (number_literal "1"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(bVar9)" (( "(") (identifier "bVar9") () ")")) (; ";")) (expression_statement "bVar11 = false;" (assignment_expression "bVar11 = false" (identifier "bVar11") (= "=") (false "false")) (; ";")) (expression_statement "bVar9 = (!bVar10 && !bVar9) == bVar10;" (assignment_expression "bVar9 = (!bVar10 && !bVar9) == bVar10" (identifier "bVar9") (= "=") (binary_expression "(!bVar10 && !bVar9) == bVar10" (parenthesized_expression "(!bVar10 && !bVar9)" (( "(") (binary_expression "!bVar10 && !bVar9" (unary_expression "!bVar10" (! "!") (identifier "bVar10")) (&& "&&") (unary_expression "!bVar9" (! "!") (identifier "bVar9"))) () ")")) (== "==") (identifier "bVar10"))) (; ";")) (if_statement "if (bVar9) {\n    DAT_0008cc00._2_2_ = DAT_0008cc00._2_2_ & 0xff9f | 0x20;\n    return 1;\n  }" (if "if") (parenthesized_expression "(bVar9)" (( "(") (identifier "bVar9") () ")")) (compound_statement "{\n    DAT_0008cc00._2_2_ = DAT_0008cc00._2_2_ & 0xff9f | 0x20;\n    return 1;\n  }" ({ "{") (expression_statement "DAT_0008cc00._2_2_ = DAT_0008cc00._2_2_ & 0xff9f | 0x20;" (assignment_expression "DAT_0008cc00._2_2_ = DAT_0008cc00._2_2_ & 0xff9f | 0x20" (field_expression "DAT_0008cc00._2_2_" (identifier "DAT_0008cc00") (. ".") (field_identifier "_2_2_")) (= "=") (binary_expression "DAT_0008cc00._2_2_ & 0xff9f | 0x20" (binary_expression "DAT_0008cc00._2_2_ & 0xff9f" (field_expression "DAT_0008cc00._2_2_" (identifier "DAT_0008cc00") (. ".") (field_identifier "_2_2_")) (& "&") (number_literal "0xff9f")) (| "|") (number_literal "0x20"))) (; ";")) (return_statement "return 1;" (return "return") (number_literal "1") (; ";")) (} "}"))) (expression_statement "iVar3 = 8;" (assignment_expression "iVar3 = 8" (identifier "iVar3") (= "=") (number_literal "8")) (; ";")) (expression_statement "pbVar7 = pbVar6;" (assignment_expression "pbVar7 = pbVar6" (identifier "pbVar7") (= "=") (identifier "pbVar6")) (; ";")) (expression_statement "pbVar8 = (byte *)"muldefs";" (assignment_expression "pbVar8 = (byte *)"muldefs"" (identifier "pbVar8") (= "=") (cast_expression "(byte *)"muldefs"" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (string_literal ""muldefs"" (" """) (string_content "muldefs") (" """)))) (; ";")) (do_statement "do {\n    if (iVar3 == 0) break;\n    iVar3 = iVar3 + -1;\n    bVar11 = *pbVar7 < *pbVar8;\n    bVar9 = *pbVar7 == *pbVar8;\n    pbVar7 = pbVar7 + 1;\n    pbVar8 = pbVar8 + 1;\n  } while (bVar9);" (do "do") (compound_statement "{\n    if (iVar3 == 0) break;\n    iVar3 = iVar3 + -1;\n    bVar11 = *pbVar7 < *pbVar8;\n    bVar9 = *pbVar7 == *pbVar8;\n    pbVar7 = pbVar7 + 1;\n    pbVar8 = pbVar8 + 1;\n  }" ({ "{") (if_statement "if (iVar3 == 0) break;" (if "if") (parenthesized_expression "(iVar3 == 0)" (( "(") (binary_expression "iVar3 == 0" (identifier "iVar3") (== "==") (number_literal "0")) () ")")) (break_statement "break;" (break "break") (; ";"))) (expression_statement "iVar3 = iVar3 + -1;" (assignment_expression "iVar3 = iVar3 + -1" (identifier "iVar3") (= "=") (binary_expression "iVar3 + -1" (identifier "iVar3") (+ "+") (number_literal "-1"))) (; ";")) (expression_statement "bVar11 = *pbVar7 < *pbVar8;" (assignment_expression "bVar11 = *pbVar7 < *pbVar8" (identifier "bVar11") (= "=") (binary_expression "*pbVar7 < *pbVar8" (pointer_expression "*pbVar7" (* "*") (identifier "pbVar7")) (< "<") (pointer_expression "*pbVar8" (* "*") (identifier "pbVar8")))) (; ";")) (expression_statement "bVar9 = *pbVar7 == *pbVar8;" (assignment_expression "bVar9 = *pbVar7 == *pbVar8" (identifier "bVar9") (= "=") (binary_expression "*pbVar7 == *pbVar8" (pointer_expression "*pbVar7" (* "*") (identifier "pbVar7")) (== "==") (pointer_expression "*pbVar8" (* "*") (identifier "pbVar8")))) (; ";")) (expression_statement "pbVar7 = pbVar7 + 1;" (assignment_expression "pbVar7 = pbVar7 + 1" (identifier "pbVar7") (= "=") (binary_expression "pbVar7 + 1" (identifier "pbVar7") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "pbVar8 = pbVar8 + 1;" (assignment_expression "pbVar8 = pbVar8 + 1" (identifier "pbVar8") (= "=") (binary_expression "pbVar8 + 1" (identifier "pbVar8") (+ "+") (number_literal "1"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(bVar9)" (( "(") (identifier "bVar9") () ")")) (; ";")) (expression_statement "bVar10 = false;" (assignment_expression "bVar10 = false" (identifier "bVar10") (= "=") (false "false")) (; ";")) (expression_statement "bVar9 = (!bVar11 && !bVar9) == bVar11;" (assignment_expression "bVar9 = (!bVar11 && !bVar9) == bVar11" (identifier "bVar9") (= "=") (binary_expression "(!bVar11 && !bVar9) == bVar11" (parenthesized_expression "(!bVar11 && !bVar9)" (( "(") (binary_expression "!bVar11 && !bVar9" (unary_expression "!bVar11" (! "!") (identifier "bVar11")) (&& "&&") (unary_expression "!bVar9" (! "!") (identifier "bVar9"))) () ")")) (== "==") (identifier "bVar11"))) (; ";")) (if_statement "if (bVar9) {\n    _DAT_0008cc04 = _DAT_0008cc04 | 0x800;\n    return 1;\n  }" (if "if") (parenthesized_expression "(bVar9)" (( "(") (identifier "bVar9") () ")")) (compound_statement "{\n    _DAT_0008cc04 = _DAT_0008cc04 | 0x800;\n    return 1;\n  }" ({ "{") (expression_statement "_DAT_0008cc04 = _DAT_0008cc04 | 0x800;" (assignment_expression "_DAT_0008cc04 = _DAT_0008cc04 | 0x800" (identifier "_DAT_0008cc04") (= "=") (binary_expression "_DAT_0008cc04 | 0x800" (identifier "_DAT_0008cc04") (| "|") (number_literal "0x800"))) (; ";")) (return_statement "return 1;" (return "return") (number_literal "1") (; ";")) (} "}"))) (expression_statement "iVar3 = 0xe;" (assignment_expression "iVar3 = 0xe" (identifier "iVar3") (= "=") (number_literal "0xe")) (; ";")) (expression_statement "pbVar7 = pbVar6;" (assignment_expression "pbVar7 = pbVar6" (identifier "pbVar7") (= "=") (identifier "pbVar6")) (; ";")) (expression_statement "pbVar8 = (byte *)"max-page-size=";" (assignment_expression "pbVar8 = (byte *)"max-page-size="" (identifier "pbVar8") (= "=") (cast_expression "(byte *)"max-page-size="" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (string_literal ""max-page-size="" (" """) (string_content "max-page-size=") (" """)))) (; ";")) (do_statement "do {\n    if (iVar3 == 0) break;\n    iVar3 = iVar3 + -1;\n    bVar10 = *pbVar7 < *pbVar8;\n    bVar9 = *pbVar7 == *pbVar8;\n    pbVar7 = pbVar7 + 1;\n    pbVar8 = pbVar8 + 1;\n  } while (bVar9);" (do "do") (compound_statement "{\n    if (iVar3 == 0) break;\n    iVar3 = iVar3 + -1;\n    bVar10 = *pbVar7 < *pbVar8;\n    bVar9 = *pbVar7 == *pbVar8;\n    pbVar7 = pbVar7 + 1;\n    pbVar8 = pbVar8 + 1;\n  }" ({ "{") (if_statement "if (iVar3 == 0) break;" (if "if") (parenthesized_expression "(iVar3 == 0)" (( "(") (binary_expression "iVar3 == 0" (identifier "iVar3") (== "==") (number_literal "0")) () ")")) (break_statement "break;" (break "break") (; ";"))) (expression_statement "iVar3 = iVar3 + -1;" (assignment_expression "iVar3 = iVar3 + -1" (identifier "iVar3") (= "=") (binary_expression "iVar3 + -1" (identifier "iVar3") (+ "+") (number_literal "-1"))) (; ";")) (expression_statement "bVar10 = *pbVar7 < *pbVar8;" (assignment_expression "bVar10 = *pbVar7 < *pbVar8" (identifier "bVar10") (= "=") (binary_expression "*pbVar7 < *pbVar8" (pointer_expression "*pbVar7" (* "*") (identifier "pbVar7")) (< "<") (pointer_expression "*pbVar8" (* "*") (identifier "pbVar8")))) (; ";")) (expression_statement "bVar9 = *pbVar7 == *pbVar8;" (assignment_expression "bVar9 = *pbVar7 == *pbVar8" (identifier "bVar9") (= "=") (binary_expression "*pbVar7 == *pbVar8" (pointer_expression "*pbVar7" (* "*") (identifier "pbVar7")) (== "==") (pointer_expression "*pbVar8" (* "*") (identifier "pbVar8")))) (; ";")) (expression_statement "pbVar7 = pbVar7 + 1;" (assignment_expression "pbVar7 = pbVar7 + 1" (identifier "pbVar7") (= "=") (binary_expression "pbVar7 + 1" (identifier "pbVar7") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "pbVar8 = pbVar8 + 1;" (assignment_expression "pbVar8 = pbVar8 + 1" (identifier "pbVar8") (= "=") (binary_expression "pbVar8 + 1" (identifier "pbVar8") (+ "+") (number_literal "1"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(bVar9)" (( "(") (identifier "bVar9") () ")")) (; ";")) (expression_statement "bVar11 = false;" (assignment_expression "bVar11 = false" (identifier "bVar11") (= "=") (false "false")) (; ";")) (expression_statement "bVar9 = (!bVar10 && !bVar9) == bVar10;" (assignment_expression "bVar9 = (!bVar10 && !bVar9) == bVar10" (identifier "bVar9") (= "=") (binary_expression "(!bVar10 && !bVar9) == bVar10" (parenthesized_expression "(!bVar10 && !bVar9)" (( "(") (binary_expression "!bVar10 && !bVar9" (unary_expression "!bVar10" (! "!") (identifier "bVar10")) (&& "&&") (unary_expression "!bVar9" (! "!") (identifier "bVar9"))) () ")")) (== "==") (identifier "bVar10"))) (; ";")) (if_statement "if (bVar9) {\n    DAT_0008cd60 = strtoul((char *)(pbVar6 + 0xe),local_20,0);\n    if ((*local_20[0] == '\0') && ((DAT_0008cd60 - 1 & DAT_0008cd60) == 0)) {\n      return 1;\n    }\n    pcVar5 = "%F%P: invalid maximum page size `%s\'\n";\n    __s1 = (char *)(*(int *)puVar1 + 0xe);\n  }\n  else {\n    iVar3 = 0x11;\n    pbVar7 = pbVar6;\n    pbVar8 = (byte *)"common-page-size=";\n    do {\n      if (iVar3 == 0) break;\n      iVar3 = iVar3 + -1;\n      bVar11 = *pbVar7 < *pbVar8;\n      bVar9 = *pbVar7 == *pbVar8;\n      pbVar7 = pbVar7 + 1;\n      pbVar8 = pbVar8 + 1;\n    } while (bVar9);\n    bVar10 = false;\n    bVar9 = (!bVar11 && !bVar9) == bVar11;\n    if (!bVar9) {\n      iVar3 = 0xb;\n      pbVar7 = pbVar6;\n      pbVar8 = (byte *)"stack-size=";\n      do {\n        if (iVar3 == 0) break;\n        iVar3 = iVar3 + -1;\n        bVar10 = *pbVar7 < *pbVar8;\n        bVar9 = *pbVar7 == *pbVar8;\n        pbVar7 = pbVar7 + 1;\n        pbVar8 = pbVar8 + 1;\n      } while (bVar9);\n      bVar11 = false;\n      bVar9 = (!bVar10 && !bVar9) == bVar10;\n      if (bVar9) {\n        DAT_0008cc10 = strtoul((char *)(pbVar6 + 0xb),local_20,0);\n        if ((*local_20[0] != '\0') || ((int)DAT_0008cc10 < 0)) {\n          iVar3 = *(int *)puVar1;\n          uVar4 = dcgettext(0,"%F%P: invalid stack size `%s\'\n",5,DAT_0008cc10);\n          FUN_00031700(uVar4,iVar3 + 0xb);\n        }\n        if (DAT_0008cc10 == 0) {\n          DAT_0008cc10 = 0xffffffff;\n          return 1;\n        }\n        return 1;\n      }\n      iVar3 = 10;\n      pbVar7 = pbVar6;\n      pbVar8 = (byte *)0x7ac61;\n      do {\n        if (iVar3 == 0) break;\n        iVar3 = iVar3 + -1;\n        bVar11 = *pbVar7 < *pbVar8;\n        bVar9 = *pbVar7 == *pbVar8;\n        pbVar7 = pbVar7 + 1;\n        pbVar8 = pbVar8 + 1;\n      } while (bVar9);\n      bVar10 = false;\n      bVar9 = (!bVar11 && !bVar9) == bVar11;\n      if (bVar9) {\n        _DAT_0008cc04 = _DAT_0008cc04 & 0xfffe7fff | 0x8000;\n        return 1;\n      }\n      iVar3 = 0xc;\n      pbVar7 = pbVar6;\n      pbVar8 = (byte *)"noexecstack";\n      do {\n        if (iVar3 == 0) break;\n        iVar3 = iVar3 + -1;\n        bVar10 = *pbVar7 < *pbVar8;\n        bVar9 = *pbVar7 == *pbVar8;\n        pbVar7 = pbVar7 + 1;\n        pbVar8 = pbVar8 + 1;\n      } while (bVar9);\n      if ((!bVar10 && !bVar9) == bVar10) {\n        _DAT_0008cc04 = _DAT_0008cc04 & 0xfffe7fff | 0x10000;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar6,"globalaudit");\n      if (iVar3 == 0) {\n        DAT_0008cc74 = DAT_0008cc74 | 0x1000000;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar6,"global");\n      if (iVar3 == 0) {\n        DAT_0008cc74 = DAT_0008cc74 | 2;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar6,"initfirst");\n      if (iVar3 == 0) {\n        DAT_0008cc74 = DAT_0008cc74 | 0x20;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar6,"interpose");\n      if (iVar3 == 0) {\n        DAT_0008cc74 = DAT_0008cc74 | 0x400;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar6,"loadfltr");\n      if (iVar3 == 0) {\n        DAT_0008cc74 = DAT_0008cc74 | 0x10;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar6,"nodefaultlib");\n      if (iVar3 == 0) {\n        DAT_0008cc74 = DAT_0008cc74 | 0x800;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar6,"nodelete");\n      if (iVar3 == 0) {\n        DAT_0008cc74 = DAT_0008cc74 | 8;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar6,"nodlopen");\n      if (iVar3 == 0) {\n        DAT_0008cc74 = DAT_0008cc74 | 0x40;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar6,"nodump");\n      if (iVar3 == 0) {\n        DAT_0008cc74 = DAT_0008cc74 | 0x1000;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar6,"now");\n      if (iVar3 == 0) {\n        _DAT_0008cc70 = _DAT_0008cc70 | 8;\n        DAT_0008cc74 = DAT_0008cc74 | 1;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar6,"lazy");\n      if (iVar3 == 0) {\n        _DAT_0008cc70 = _DAT_0008cc70 & 0xfffffff7;\n        DAT_0008cc74 = DAT_0008cc74 & 0xfffffffe;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar6,"origin");\n      if (iVar3 == 0) {\n        _DAT_0008cc70 = _DAT_0008cc70 | 1;\n        DAT_0008cc74 = DAT_0008cc74 | 0x80;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar6,"combreloc");\n      if (iVar3 == 0) {\n        _DAT_0008cc04 = _DAT_0008cc04 | 0x40;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar6,"nocombreloc");\n      if (iVar3 == 0) {\n        _DAT_0008cc04 = _DAT_0008cc04 & 0xffffffbf;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar6,"nocopyreloc");\n      if (iVar3 == 0) {\n        DAT_0008cc00._0_1_ = (byte)DAT_0008cc00 | 8;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar6,"relro");\n      if (iVar3 == 0) {\n        DAT_0008cc00._2_2_ = DAT_0008cc00._2_2_ | 0x1000;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar6,"norelro");\n      if (iVar3 == 0) {\n        DAT_0008cc00._2_2_ = DAT_0008cc00._2_2_ & 0xefff;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar6,"separate-code");\n      if (iVar3 == 0) {\n        DAT_0008cc00._2_2_ = DAT_0008cc00._2_2_ | 0x2000;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar6,"noseparate-code");\n      if (iVar3 == 0) {\n        DAT_0008cc00._2_2_ = DAT_0008cc00._2_2_ & 0xdfff;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar6,"common");\n      if (iVar3 == 0) {\n        DAT_0008cc00._2_2_ = DAT_0008cc00._2_2_ & 0xfff9 | 2;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar6,"nocommon");\n      if (iVar3 == 0) {\n        DAT_0008cc00._2_2_ = DAT_0008cc00._2_2_ & 0xfff9 | 4;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar6,"text");\n      if (iVar3 == 0) {\n        _DAT_0008cc04 = _DAT_0008cc04 | 2;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar6,"notext");\n      if ((iVar3 == 0) || (iVar3 = strcmp((char *)pbVar6,"textoff"), iVar3 == 0)) {\n        _DAT_0008cc04 = _DAT_0008cc04 & 0xfffffffd;\n        return 1;\n      }\n      pcVar5 = "%P: warning: -z %s ignored\n";\n      goto LAB_0003606a;\n    }\n    DAT_0008cd64 = strtoul((char *)(pbVar6 + 0x11),local_20,0);\n    if ((*local_20[0] == '\0') && ((DAT_0008cd64 - 1 & DAT_0008cd64) == 0)) {\n      return 1;\n    }\n    pcVar5 = "%F%P: invalid common page size `%s\'\n";\n    __s1 = (char *)(*(int *)puVar1 + 0x11);\n  }" (if "if") (parenthesized_expression "(bVar9)" (( "(") (identifier "bVar9") () ")")) (compound_statement "{\n    DAT_0008cd60 = strtoul((char *)(pbVar6 + 0xe),local_20,0);\n    if ((*local_20[0] == '\0') && ((DAT_0008cd60 - 1 & DAT_0008cd60) == 0)) {\n      return 1;\n    }\n    pcVar5 = "%F%P: invalid maximum page size `%s\'\n";\n    __s1 = (char *)(*(int *)puVar1 + 0xe);\n  }" ({ "{") (expression_statement "DAT_0008cd60 = strtoul((char *)(pbVar6 + 0xe),local_20,0);" (assignment_expression "DAT_0008cd60 = strtoul((char *)(pbVar6 + 0xe),local_20,0)" (identifier "DAT_0008cd60") (= "=") (call_expression "strtoul((char *)(pbVar6 + 0xe),local_20,0)" (identifier "strtoul") (argument_list "((char *)(pbVar6 + 0xe),local_20,0)" (( "(") (cast_expression "(char *)(pbVar6 + 0xe)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pbVar6 + 0xe)" (( "(") (binary_expression "pbVar6 + 0xe" (identifier "pbVar6") (+ "+") (number_literal "0xe")) () ")"))) (, ",") (identifier "local_20") (, ",") (number_literal "0") () ")")))) (; ";")) (if_statement "if ((*local_20[0] == '\0') && ((DAT_0008cd60 - 1 & DAT_0008cd60) == 0)) {\n      return 1;\n    }" (if "if") (parenthesized_expression "((*local_20[0] == '\0') && ((DAT_0008cd60 - 1 & DAT_0008cd60) == 0))" (( "(") (binary_expression "(*local_20[0] == '\0') && ((DAT_0008cd60 - 1 & DAT_0008cd60) == 0)" (parenthesized_expression "(*local_20[0] == '\0')" (( "(") (binary_expression "*local_20[0] == '\0'" (pointer_expression "*local_20[0]" (* "*") (subscript_expression "local_20[0]" (identifier "local_20") ([ "[") (number_literal "0") (] "]"))) (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (&& "&&") (parenthesized_expression "((DAT_0008cd60 - 1 & DAT_0008cd60) == 0)" (( "(") (binary_expression "(DAT_0008cd60 - 1 & DAT_0008cd60) == 0" (parenthesized_expression "(DAT_0008cd60 - 1 & DAT_0008cd60)" (( "(") (binary_expression "DAT_0008cd60 - 1 & DAT_0008cd60" (binary_expression "DAT_0008cd60 - 1" (identifier "DAT_0008cd60") (- "-") (number_literal "1")) (& "&") (identifier "DAT_0008cd60")) () ")")) (== "==") (number_literal "0")) () ")"))) () ")")) (compound_statement "{\n      return 1;\n    }" ({ "{") (return_statement "return 1;" (return "return") (number_literal "1") (; ";")) (} "}"))) (expression_statement "pcVar5 = "%F%P: invalid maximum page size `%s\'\n";" (assignment_expression "pcVar5 = "%F%P: invalid maximum page size `%s\'\n"" (identifier "pcVar5") (= "=") (string_literal ""%F%P: invalid maximum page size `%s\'\n"" (" """) (string_content "%F%P: invalid maximum page size `%s") (escape_sequence "\'") (escape_sequence "\n") (" """))) (; ";")) (expression_statement "__s1 = (char *)(*(int *)puVar1 + 0xe);" (assignment_expression "__s1 = (char *)(*(int *)puVar1 + 0xe)" (identifier "__s1") (= "=") (cast_expression "(char *)(*(int *)puVar1 + 0xe)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)puVar1 + 0xe)" (( "(") (binary_expression "*(int *)puVar1 + 0xe" (pointer_expression "*(int *)puVar1" (* "*") (cast_expression "(int *)puVar1" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "puVar1"))) (+ "+") (number_literal "0xe")) () ")")))) (; ";")) (} "}")) (else_clause "else {\n    iVar3 = 0x11;\n    pbVar7 = pbVar6;\n    pbVar8 = (byte *)"common-page-size=";\n    do {\n      if (iVar3 == 0) break;\n      iVar3 = iVar3 + -1;\n      bVar11 = *pbVar7 < *pbVar8;\n      bVar9 = *pbVar7 == *pbVar8;\n      pbVar7 = pbVar7 + 1;\n      pbVar8 = pbVar8 + 1;\n    } while (bVar9);\n    bVar10 = false;\n    bVar9 = (!bVar11 && !bVar9) == bVar11;\n    if (!bVar9) {\n      iVar3 = 0xb;\n      pbVar7 = pbVar6;\n      pbVar8 = (byte *)"stack-size=";\n      do {\n        if (iVar3 == 0) break;\n        iVar3 = iVar3 + -1;\n        bVar10 = *pbVar7 < *pbVar8;\n        bVar9 = *pbVar7 == *pbVar8;\n        pbVar7 = pbVar7 + 1;\n        pbVar8 = pbVar8 + 1;\n      } while (bVar9);\n      bVar11 = false;\n      bVar9 = (!bVar10 && !bVar9) == bVar10;\n      if (bVar9) {\n        DAT_0008cc10 = strtoul((char *)(pbVar6 + 0xb),local_20,0);\n        if ((*local_20[0] != '\0') || ((int)DAT_0008cc10 < 0)) {\n          iVar3 = *(int *)puVar1;\n          uVar4 = dcgettext(0,"%F%P: invalid stack size `%s\'\n",5,DAT_0008cc10);\n          FUN_00031700(uVar4,iVar3 + 0xb);\n        }\n        if (DAT_0008cc10 == 0) {\n          DAT_0008cc10 = 0xffffffff;\n          return 1;\n        }\n        return 1;\n      }\n      iVar3 = 10;\n      pbVar7 = pbVar6;\n      pbVar8 = (byte *)0x7ac61;\n      do {\n        if (iVar3 == 0) break;\n        iVar3 = iVar3 + -1;\n        bVar11 = *pbVar7 < *pbVar8;\n        bVar9 = *pbVar7 == *pbVar8;\n        pbVar7 = pbVar7 + 1;\n        pbVar8 = pbVar8 + 1;\n      } while (bVar9);\n      bVar10 = false;\n      bVar9 = (!bVar11 && !bVar9) == bVar11;\n      if (bVar9) {\n        _DAT_0008cc04 = _DAT_0008cc04 & 0xfffe7fff | 0x8000;\n        return 1;\n      }\n      iVar3 = 0xc;\n      pbVar7 = pbVar6;\n      pbVar8 = (byte *)"noexecstack";\n      do {\n        if (iVar3 == 0) break;\n        iVar3 = iVar3 + -1;\n        bVar10 = *pbVar7 < *pbVar8;\n        bVar9 = *pbVar7 == *pbVar8;\n        pbVar7 = pbVar7 + 1;\n        pbVar8 = pbVar8 + 1;\n      } while (bVar9);\n      if ((!bVar10 && !bVar9) == bVar10) {\n        _DAT_0008cc04 = _DAT_0008cc04 & 0xfffe7fff | 0x10000;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar6,"globalaudit");\n      if (iVar3 == 0) {\n        DAT_0008cc74 = DAT_0008cc74 | 0x1000000;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar6,"global");\n      if (iVar3 == 0) {\n        DAT_0008cc74 = DAT_0008cc74 | 2;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar6,"initfirst");\n      if (iVar3 == 0) {\n        DAT_0008cc74 = DAT_0008cc74 | 0x20;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar6,"interpose");\n      if (iVar3 == 0) {\n        DAT_0008cc74 = DAT_0008cc74 | 0x400;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar6,"loadfltr");\n      if (iVar3 == 0) {\n        DAT_0008cc74 = DAT_0008cc74 | 0x10;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar6,"nodefaultlib");\n      if (iVar3 == 0) {\n        DAT_0008cc74 = DAT_0008cc74 | 0x800;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar6,"nodelete");\n      if (iVar3 == 0) {\n        DAT_0008cc74 = DAT_0008cc74 | 8;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar6,"nodlopen");\n      if (iVar3 == 0) {\n        DAT_0008cc74 = DAT_0008cc74 | 0x40;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar6,"nodump");\n      if (iVar3 == 0) {\n        DAT_0008cc74 = DAT_0008cc74 | 0x1000;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar6,"now");\n      if (iVar3 == 0) {\n        _DAT_0008cc70 = _DAT_0008cc70 | 8;\n        DAT_0008cc74 = DAT_0008cc74 | 1;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar6,"lazy");\n      if (iVar3 == 0) {\n        _DAT_0008cc70 = _DAT_0008cc70 & 0xfffffff7;\n        DAT_0008cc74 = DAT_0008cc74 & 0xfffffffe;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar6,"origin");\n      if (iVar3 == 0) {\n        _DAT_0008cc70 = _DAT_0008cc70 | 1;\n        DAT_0008cc74 = DAT_0008cc74 | 0x80;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar6,"combreloc");\n      if (iVar3 == 0) {\n        _DAT_0008cc04 = _DAT_0008cc04 | 0x40;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar6,"nocombreloc");\n      if (iVar3 == 0) {\n        _DAT_0008cc04 = _DAT_0008cc04 & 0xffffffbf;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar6,"nocopyreloc");\n      if (iVar3 == 0) {\n        DAT_0008cc00._0_1_ = (byte)DAT_0008cc00 | 8;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar6,"relro");\n      if (iVar3 == 0) {\n        DAT_0008cc00._2_2_ = DAT_0008cc00._2_2_ | 0x1000;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar6,"norelro");\n      if (iVar3 == 0) {\n        DAT_0008cc00._2_2_ = DAT_0008cc00._2_2_ & 0xefff;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar6,"separate-code");\n      if (iVar3 == 0) {\n        DAT_0008cc00._2_2_ = DAT_0008cc00._2_2_ | 0x2000;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar6,"noseparate-code");\n      if (iVar3 == 0) {\n        DAT_0008cc00._2_2_ = DAT_0008cc00._2_2_ & 0xdfff;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar6,"common");\n      if (iVar3 == 0) {\n        DAT_0008cc00._2_2_ = DAT_0008cc00._2_2_ & 0xfff9 | 2;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar6,"nocommon");\n      if (iVar3 == 0) {\n        DAT_0008cc00._2_2_ = DAT_0008cc00._2_2_ & 0xfff9 | 4;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar6,"text");\n      if (iVar3 == 0) {\n        _DAT_0008cc04 = _DAT_0008cc04 | 2;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar6,"notext");\n      if ((iVar3 == 0) || (iVar3 = strcmp((char *)pbVar6,"textoff"), iVar3 == 0)) {\n        _DAT_0008cc04 = _DAT_0008cc04 & 0xfffffffd;\n        return 1;\n      }\n      pcVar5 = "%P: warning: -z %s ignored\n";\n      goto LAB_0003606a;\n    }\n    DAT_0008cd64 = strtoul((char *)(pbVar6 + 0x11),local_20,0);\n    if ((*local_20[0] == '\0') && ((DAT_0008cd64 - 1 & DAT_0008cd64) == 0)) {\n      return 1;\n    }\n    pcVar5 = "%F%P: invalid common page size `%s\'\n";\n    __s1 = (char *)(*(int *)puVar1 + 0x11);\n  }" (else "else") (compound_statement "{\n    iVar3 = 0x11;\n    pbVar7 = pbVar6;\n    pbVar8 = (byte *)"common-page-size=";\n    do {\n      if (iVar3 == 0) break;\n      iVar3 = iVar3 + -1;\n      bVar11 = *pbVar7 < *pbVar8;\n      bVar9 = *pbVar7 == *pbVar8;\n      pbVar7 = pbVar7 + 1;\n      pbVar8 = pbVar8 + 1;\n    } while (bVar9);\n    bVar10 = false;\n    bVar9 = (!bVar11 && !bVar9) == bVar11;\n    if (!bVar9) {\n      iVar3 = 0xb;\n      pbVar7 = pbVar6;\n      pbVar8 = (byte *)"stack-size=";\n      do {\n        if (iVar3 == 0) break;\n        iVar3 = iVar3 + -1;\n        bVar10 = *pbVar7 < *pbVar8;\n        bVar9 = *pbVar7 == *pbVar8;\n        pbVar7 = pbVar7 + 1;\n        pbVar8 = pbVar8 + 1;\n      } while (bVar9);\n      bVar11 = false;\n      bVar9 = (!bVar10 && !bVar9) == bVar10;\n      if (bVar9) {\n        DAT_0008cc10 = strtoul((char *)(pbVar6 + 0xb),local_20,0);\n        if ((*local_20[0] != '\0') || ((int)DAT_0008cc10 < 0)) {\n          iVar3 = *(int *)puVar1;\n          uVar4 = dcgettext(0,"%F%P: invalid stack size `%s\'\n",5,DAT_0008cc10);\n          FUN_00031700(uVar4,iVar3 + 0xb);\n        }\n        if (DAT_0008cc10 == 0) {\n          DAT_0008cc10 = 0xffffffff;\n          return 1;\n        }\n        return 1;\n      }\n      iVar3 = 10;\n      pbVar7 = pbVar6;\n      pbVar8 = (byte *)0x7ac61;\n      do {\n        if (iVar3 == 0) break;\n        iVar3 = iVar3 + -1;\n        bVar11 = *pbVar7 < *pbVar8;\n        bVar9 = *pbVar7 == *pbVar8;\n        pbVar7 = pbVar7 + 1;\n        pbVar8 = pbVar8 + 1;\n      } while (bVar9);\n      bVar10 = false;\n      bVar9 = (!bVar11 && !bVar9) == bVar11;\n      if (bVar9) {\n        _DAT_0008cc04 = _DAT_0008cc04 & 0xfffe7fff | 0x8000;\n        return 1;\n      }\n      iVar3 = 0xc;\n      pbVar7 = pbVar6;\n      pbVar8 = (byte *)"noexecstack";\n      do {\n        if (iVar3 == 0) break;\n        iVar3 = iVar3 + -1;\n        bVar10 = *pbVar7 < *pbVar8;\n        bVar9 = *pbVar7 == *pbVar8;\n        pbVar7 = pbVar7 + 1;\n        pbVar8 = pbVar8 + 1;\n      } while (bVar9);\n      if ((!bVar10 && !bVar9) == bVar10) {\n        _DAT_0008cc04 = _DAT_0008cc04 & 0xfffe7fff | 0x10000;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar6,"globalaudit");\n      if (iVar3 == 0) {\n        DAT_0008cc74 = DAT_0008cc74 | 0x1000000;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar6,"global");\n      if (iVar3 == 0) {\n        DAT_0008cc74 = DAT_0008cc74 | 2;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar6,"initfirst");\n      if (iVar3 == 0) {\n        DAT_0008cc74 = DAT_0008cc74 | 0x20;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar6,"interpose");\n      if (iVar3 == 0) {\n        DAT_0008cc74 = DAT_0008cc74 | 0x400;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar6,"loadfltr");\n      if (iVar3 == 0) {\n        DAT_0008cc74 = DAT_0008cc74 | 0x10;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar6,"nodefaultlib");\n      if (iVar3 == 0) {\n        DAT_0008cc74 = DAT_0008cc74 | 0x800;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar6,"nodelete");\n      if (iVar3 == 0) {\n        DAT_0008cc74 = DAT_0008cc74 | 8;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar6,"nodlopen");\n      if (iVar3 == 0) {\n        DAT_0008cc74 = DAT_0008cc74 | 0x40;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar6,"nodump");\n      if (iVar3 == 0) {\n        DAT_0008cc74 = DAT_0008cc74 | 0x1000;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar6,"now");\n      if (iVar3 == 0) {\n        _DAT_0008cc70 = _DAT_0008cc70 | 8;\n        DAT_0008cc74 = DAT_0008cc74 | 1;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar6,"lazy");\n      if (iVar3 == 0) {\n        _DAT_0008cc70 = _DAT_0008cc70 & 0xfffffff7;\n        DAT_0008cc74 = DAT_0008cc74 & 0xfffffffe;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar6,"origin");\n      if (iVar3 == 0) {\n        _DAT_0008cc70 = _DAT_0008cc70 | 1;\n        DAT_0008cc74 = DAT_0008cc74 | 0x80;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar6,"combreloc");\n      if (iVar3 == 0) {\n        _DAT_0008cc04 = _DAT_0008cc04 | 0x40;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar6,"nocombreloc");\n      if (iVar3 == 0) {\n        _DAT_0008cc04 = _DAT_0008cc04 & 0xffffffbf;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar6,"nocopyreloc");\n      if (iVar3 == 0) {\n        DAT_0008cc00._0_1_ = (byte)DAT_0008cc00 | 8;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar6,"relro");\n      if (iVar3 == 0) {\n        DAT_0008cc00._2_2_ = DAT_0008cc00._2_2_ | 0x1000;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar6,"norelro");\n      if (iVar3 == 0) {\n        DAT_0008cc00._2_2_ = DAT_0008cc00._2_2_ & 0xefff;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar6,"separate-code");\n      if (iVar3 == 0) {\n        DAT_0008cc00._2_2_ = DAT_0008cc00._2_2_ | 0x2000;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar6,"noseparate-code");\n      if (iVar3 == 0) {\n        DAT_0008cc00._2_2_ = DAT_0008cc00._2_2_ & 0xdfff;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar6,"common");\n      if (iVar3 == 0) {\n        DAT_0008cc00._2_2_ = DAT_0008cc00._2_2_ & 0xfff9 | 2;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar6,"nocommon");\n      if (iVar3 == 0) {\n        DAT_0008cc00._2_2_ = DAT_0008cc00._2_2_ & 0xfff9 | 4;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar6,"text");\n      if (iVar3 == 0) {\n        _DAT_0008cc04 = _DAT_0008cc04 | 2;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar6,"notext");\n      if ((iVar3 == 0) || (iVar3 = strcmp((char *)pbVar6,"textoff"), iVar3 == 0)) {\n        _DAT_0008cc04 = _DAT_0008cc04 & 0xfffffffd;\n        return 1;\n      }\n      pcVar5 = "%P: warning: -z %s ignored\n";\n      goto LAB_0003606a;\n    }\n    DAT_0008cd64 = strtoul((char *)(pbVar6 + 0x11),local_20,0);\n    if ((*local_20[0] == '\0') && ((DAT_0008cd64 - 1 & DAT_0008cd64) == 0)) {\n      return 1;\n    }\n    pcVar5 = "%F%P: invalid common page size `%s\'\n";\n    __s1 = (char *)(*(int *)puVar1 + 0x11);\n  }" ({ "{") (expression_statement "iVar3 = 0x11;" (assignment_expression "iVar3 = 0x11" (identifier "iVar3") (= "=") (number_literal "0x11")) (; ";")) (expression_statement "pbVar7 = pbVar6;" (assignment_expression "pbVar7 = pbVar6" (identifier "pbVar7") (= "=") (identifier "pbVar6")) (; ";")) (expression_statement "pbVar8 = (byte *)"common-page-size=";" (assignment_expression "pbVar8 = (byte *)"common-page-size="" (identifier "pbVar8") (= "=") (cast_expression "(byte *)"common-page-size="" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (string_literal ""common-page-size="" (" """) (string_content "common-page-size=") (" """)))) (; ";")) (do_statement "do {\n      if (iVar3 == 0) break;\n      iVar3 = iVar3 + -1;\n      bVar11 = *pbVar7 < *pbVar8;\n      bVar9 = *pbVar7 == *pbVar8;\n      pbVar7 = pbVar7 + 1;\n      pbVar8 = pbVar8 + 1;\n    } while (bVar9);" (do "do") (compound_statement "{\n      if (iVar3 == 0) break;\n      iVar3 = iVar3 + -1;\n      bVar11 = *pbVar7 < *pbVar8;\n      bVar9 = *pbVar7 == *pbVar8;\n      pbVar7 = pbVar7 + 1;\n      pbVar8 = pbVar8 + 1;\n    }" ({ "{") (if_statement "if (iVar3 == 0) break;" (if "if") (parenthesized_expression "(iVar3 == 0)" (( "(") (binary_expression "iVar3 == 0" (identifier "iVar3") (== "==") (number_literal "0")) () ")")) (break_statement "break;" (break "break") (; ";"))) (expression_statement "iVar3 = iVar3 + -1;" (assignment_expression "iVar3 = iVar3 + -1" (identifier "iVar3") (= "=") (binary_expression "iVar3 + -1" (identifier "iVar3") (+ "+") (number_literal "-1"))) (; ";")) (expression_statement "bVar11 = *pbVar7 < *pbVar8;" (assignment_expression "bVar11 = *pbVar7 < *pbVar8" (identifier "bVar11") (= "=") (binary_expression "*pbVar7 < *pbVar8" (pointer_expression "*pbVar7" (* "*") (identifier "pbVar7")) (< "<") (pointer_expression "*pbVar8" (* "*") (identifier "pbVar8")))) (; ";")) (expression_statement "bVar9 = *pbVar7 == *pbVar8;" (assignment_expression "bVar9 = *pbVar7 == *pbVar8" (identifier "bVar9") (= "=") (binary_expression "*pbVar7 == *pbVar8" (pointer_expression "*pbVar7" (* "*") (identifier "pbVar7")) (== "==") (pointer_expression "*pbVar8" (* "*") (identifier "pbVar8")))) (; ";")) (expression_statement "pbVar7 = pbVar7 + 1;" (assignment_expression "pbVar7 = pbVar7 + 1" (identifier "pbVar7") (= "=") (binary_expression "pbVar7 + 1" (identifier "pbVar7") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "pbVar8 = pbVar8 + 1;" (assignment_expression "pbVar8 = pbVar8 + 1" (identifier "pbVar8") (= "=") (binary_expression "pbVar8 + 1" (identifier "pbVar8") (+ "+") (number_literal "1"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(bVar9)" (( "(") (identifier "bVar9") () ")")) (; ";")) (expression_statement "bVar10 = false;" (assignment_expression "bVar10 = false" (identifier "bVar10") (= "=") (false "false")) (; ";")) (expression_statement "bVar9 = (!bVar11 && !bVar9) == bVar11;" (assignment_expression "bVar9 = (!bVar11 && !bVar9) == bVar11" (identifier "bVar9") (= "=") (binary_expression "(!bVar11 && !bVar9) == bVar11" (parenthesized_expression "(!bVar11 && !bVar9)" (( "(") (binary_expression "!bVar11 && !bVar9" (unary_expression "!bVar11" (! "!") (identifier "bVar11")) (&& "&&") (unary_expression "!bVar9" (! "!") (identifier "bVar9"))) () ")")) (== "==") (identifier "bVar11"))) (; ";")) (if_statement "if (!bVar9) {\n      iVar3 = 0xb;\n      pbVar7 = pbVar6;\n      pbVar8 = (byte *)"stack-size=";\n      do {\n        if (iVar3 == 0) break;\n        iVar3 = iVar3 + -1;\n        bVar10 = *pbVar7 < *pbVar8;\n        bVar9 = *pbVar7 == *pbVar8;\n        pbVar7 = pbVar7 + 1;\n        pbVar8 = pbVar8 + 1;\n      } while (bVar9);\n      bVar11 = false;\n      bVar9 = (!bVar10 && !bVar9) == bVar10;\n      if (bVar9) {\n        DAT_0008cc10 = strtoul((char *)(pbVar6 + 0xb),local_20,0);\n        if ((*local_20[0] != '\0') || ((int)DAT_0008cc10 < 0)) {\n          iVar3 = *(int *)puVar1;\n          uVar4 = dcgettext(0,"%F%P: invalid stack size `%s\'\n",5,DAT_0008cc10);\n          FUN_00031700(uVar4,iVar3 + 0xb);\n        }\n        if (DAT_0008cc10 == 0) {\n          DAT_0008cc10 = 0xffffffff;\n          return 1;\n        }\n        return 1;\n      }\n      iVar3 = 10;\n      pbVar7 = pbVar6;\n      pbVar8 = (byte *)0x7ac61;\n      do {\n        if (iVar3 == 0) break;\n        iVar3 = iVar3 + -1;\n        bVar11 = *pbVar7 < *pbVar8;\n        bVar9 = *pbVar7 == *pbVar8;\n        pbVar7 = pbVar7 + 1;\n        pbVar8 = pbVar8 + 1;\n      } while (bVar9);\n      bVar10 = false;\n      bVar9 = (!bVar11 && !bVar9) == bVar11;\n      if (bVar9) {\n        _DAT_0008cc04 = _DAT_0008cc04 & 0xfffe7fff | 0x8000;\n        return 1;\n      }\n      iVar3 = 0xc;\n      pbVar7 = pbVar6;\n      pbVar8 = (byte *)"noexecstack";\n      do {\n        if (iVar3 == 0) break;\n        iVar3 = iVar3 + -1;\n        bVar10 = *pbVar7 < *pbVar8;\n        bVar9 = *pbVar7 == *pbVar8;\n        pbVar7 = pbVar7 + 1;\n        pbVar8 = pbVar8 + 1;\n      } while (bVar9);\n      if ((!bVar10 && !bVar9) == bVar10) {\n        _DAT_0008cc04 = _DAT_0008cc04 & 0xfffe7fff | 0x10000;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar6,"globalaudit");\n      if (iVar3 == 0) {\n        DAT_0008cc74 = DAT_0008cc74 | 0x1000000;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar6,"global");\n      if (iVar3 == 0) {\n        DAT_0008cc74 = DAT_0008cc74 | 2;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar6,"initfirst");\n      if (iVar3 == 0) {\n        DAT_0008cc74 = DAT_0008cc74 | 0x20;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar6,"interpose");\n      if (iVar3 == 0) {\n        DAT_0008cc74 = DAT_0008cc74 | 0x400;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar6,"loadfltr");\n      if (iVar3 == 0) {\n        DAT_0008cc74 = DAT_0008cc74 | 0x10;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar6,"nodefaultlib");\n      if (iVar3 == 0) {\n        DAT_0008cc74 = DAT_0008cc74 | 0x800;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar6,"nodelete");\n      if (iVar3 == 0) {\n        DAT_0008cc74 = DAT_0008cc74 | 8;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar6,"nodlopen");\n      if (iVar3 == 0) {\n        DAT_0008cc74 = DAT_0008cc74 | 0x40;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar6,"nodump");\n      if (iVar3 == 0) {\n        DAT_0008cc74 = DAT_0008cc74 | 0x1000;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar6,"now");\n      if (iVar3 == 0) {\n        _DAT_0008cc70 = _DAT_0008cc70 | 8;\n        DAT_0008cc74 = DAT_0008cc74 | 1;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar6,"lazy");\n      if (iVar3 == 0) {\n        _DAT_0008cc70 = _DAT_0008cc70 & 0xfffffff7;\n        DAT_0008cc74 = DAT_0008cc74 & 0xfffffffe;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar6,"origin");\n      if (iVar3 == 0) {\n        _DAT_0008cc70 = _DAT_0008cc70 | 1;\n        DAT_0008cc74 = DAT_0008cc74 | 0x80;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar6,"combreloc");\n      if (iVar3 == 0) {\n        _DAT_0008cc04 = _DAT_0008cc04 | 0x40;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar6,"nocombreloc");\n      if (iVar3 == 0) {\n        _DAT_0008cc04 = _DAT_0008cc04 & 0xffffffbf;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar6,"nocopyreloc");\n      if (iVar3 == 0) {\n        DAT_0008cc00._0_1_ = (byte)DAT_0008cc00 | 8;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar6,"relro");\n      if (iVar3 == 0) {\n        DAT_0008cc00._2_2_ = DAT_0008cc00._2_2_ | 0x1000;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar6,"norelro");\n      if (iVar3 == 0) {\n        DAT_0008cc00._2_2_ = DAT_0008cc00._2_2_ & 0xefff;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar6,"separate-code");\n      if (iVar3 == 0) {\n        DAT_0008cc00._2_2_ = DAT_0008cc00._2_2_ | 0x2000;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar6,"noseparate-code");\n      if (iVar3 == 0) {\n        DAT_0008cc00._2_2_ = DAT_0008cc00._2_2_ & 0xdfff;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar6,"common");\n      if (iVar3 == 0) {\n        DAT_0008cc00._2_2_ = DAT_0008cc00._2_2_ & 0xfff9 | 2;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar6,"nocommon");\n      if (iVar3 == 0) {\n        DAT_0008cc00._2_2_ = DAT_0008cc00._2_2_ & 0xfff9 | 4;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar6,"text");\n      if (iVar3 == 0) {\n        _DAT_0008cc04 = _DAT_0008cc04 | 2;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar6,"notext");\n      if ((iVar3 == 0) || (iVar3 = strcmp((char *)pbVar6,"textoff"), iVar3 == 0)) {\n        _DAT_0008cc04 = _DAT_0008cc04 & 0xfffffffd;\n        return 1;\n      }\n      pcVar5 = "%P: warning: -z %s ignored\n";\n      goto LAB_0003606a;\n    }" (if "if") (parenthesized_expression "(!bVar9)" (( "(") (unary_expression "!bVar9" (! "!") (identifier "bVar9")) () ")")) (compound_statement "{\n      iVar3 = 0xb;\n      pbVar7 = pbVar6;\n      pbVar8 = (byte *)"stack-size=";\n      do {\n        if (iVar3 == 0) break;\n        iVar3 = iVar3 + -1;\n        bVar10 = *pbVar7 < *pbVar8;\n        bVar9 = *pbVar7 == *pbVar8;\n        pbVar7 = pbVar7 + 1;\n        pbVar8 = pbVar8 + 1;\n      } while (bVar9);\n      bVar11 = false;\n      bVar9 = (!bVar10 && !bVar9) == bVar10;\n      if (bVar9) {\n        DAT_0008cc10 = strtoul((char *)(pbVar6 + 0xb),local_20,0);\n        if ((*local_20[0] != '\0') || ((int)DAT_0008cc10 < 0)) {\n          iVar3 = *(int *)puVar1;\n          uVar4 = dcgettext(0,"%F%P: invalid stack size `%s\'\n",5,DAT_0008cc10);\n          FUN_00031700(uVar4,iVar3 + 0xb);\n        }\n        if (DAT_0008cc10 == 0) {\n          DAT_0008cc10 = 0xffffffff;\n          return 1;\n        }\n        return 1;\n      }\n      iVar3 = 10;\n      pbVar7 = pbVar6;\n      pbVar8 = (byte *)0x7ac61;\n      do {\n        if (iVar3 == 0) break;\n        iVar3 = iVar3 + -1;\n        bVar11 = *pbVar7 < *pbVar8;\n        bVar9 = *pbVar7 == *pbVar8;\n        pbVar7 = pbVar7 + 1;\n        pbVar8 = pbVar8 + 1;\n      } while (bVar9);\n      bVar10 = false;\n      bVar9 = (!bVar11 && !bVar9) == bVar11;\n      if (bVar9) {\n        _DAT_0008cc04 = _DAT_0008cc04 & 0xfffe7fff | 0x8000;\n        return 1;\n      }\n      iVar3 = 0xc;\n      pbVar7 = pbVar6;\n      pbVar8 = (byte *)"noexecstack";\n      do {\n        if (iVar3 == 0) break;\n        iVar3 = iVar3 + -1;\n        bVar10 = *pbVar7 < *pbVar8;\n        bVar9 = *pbVar7 == *pbVar8;\n        pbVar7 = pbVar7 + 1;\n        pbVar8 = pbVar8 + 1;\n      } while (bVar9);\n      if ((!bVar10 && !bVar9) == bVar10) {\n        _DAT_0008cc04 = _DAT_0008cc04 & 0xfffe7fff | 0x10000;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar6,"globalaudit");\n      if (iVar3 == 0) {\n        DAT_0008cc74 = DAT_0008cc74 | 0x1000000;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar6,"global");\n      if (iVar3 == 0) {\n        DAT_0008cc74 = DAT_0008cc74 | 2;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar6,"initfirst");\n      if (iVar3 == 0) {\n        DAT_0008cc74 = DAT_0008cc74 | 0x20;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar6,"interpose");\n      if (iVar3 == 0) {\n        DAT_0008cc74 = DAT_0008cc74 | 0x400;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar6,"loadfltr");\n      if (iVar3 == 0) {\n        DAT_0008cc74 = DAT_0008cc74 | 0x10;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar6,"nodefaultlib");\n      if (iVar3 == 0) {\n        DAT_0008cc74 = DAT_0008cc74 | 0x800;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar6,"nodelete");\n      if (iVar3 == 0) {\n        DAT_0008cc74 = DAT_0008cc74 | 8;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar6,"nodlopen");\n      if (iVar3 == 0) {\n        DAT_0008cc74 = DAT_0008cc74 | 0x40;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar6,"nodump");\n      if (iVar3 == 0) {\n        DAT_0008cc74 = DAT_0008cc74 | 0x1000;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar6,"now");\n      if (iVar3 == 0) {\n        _DAT_0008cc70 = _DAT_0008cc70 | 8;\n        DAT_0008cc74 = DAT_0008cc74 | 1;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar6,"lazy");\n      if (iVar3 == 0) {\n        _DAT_0008cc70 = _DAT_0008cc70 & 0xfffffff7;\n        DAT_0008cc74 = DAT_0008cc74 & 0xfffffffe;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar6,"origin");\n      if (iVar3 == 0) {\n        _DAT_0008cc70 = _DAT_0008cc70 | 1;\n        DAT_0008cc74 = DAT_0008cc74 | 0x80;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar6,"combreloc");\n      if (iVar3 == 0) {\n        _DAT_0008cc04 = _DAT_0008cc04 | 0x40;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar6,"nocombreloc");\n      if (iVar3 == 0) {\n        _DAT_0008cc04 = _DAT_0008cc04 & 0xffffffbf;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar6,"nocopyreloc");\n      if (iVar3 == 0) {\n        DAT_0008cc00._0_1_ = (byte)DAT_0008cc00 | 8;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar6,"relro");\n      if (iVar3 == 0) {\n        DAT_0008cc00._2_2_ = DAT_0008cc00._2_2_ | 0x1000;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar6,"norelro");\n      if (iVar3 == 0) {\n        DAT_0008cc00._2_2_ = DAT_0008cc00._2_2_ & 0xefff;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar6,"separate-code");\n      if (iVar3 == 0) {\n        DAT_0008cc00._2_2_ = DAT_0008cc00._2_2_ | 0x2000;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar6,"noseparate-code");\n      if (iVar3 == 0) {\n        DAT_0008cc00._2_2_ = DAT_0008cc00._2_2_ & 0xdfff;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar6,"common");\n      if (iVar3 == 0) {\n        DAT_0008cc00._2_2_ = DAT_0008cc00._2_2_ & 0xfff9 | 2;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar6,"nocommon");\n      if (iVar3 == 0) {\n        DAT_0008cc00._2_2_ = DAT_0008cc00._2_2_ & 0xfff9 | 4;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar6,"text");\n      if (iVar3 == 0) {\n        _DAT_0008cc04 = _DAT_0008cc04 | 2;\n        return 1;\n      }\n      iVar3 = strcmp((char *)pbVar6,"notext");\n      if ((iVar3 == 0) || (iVar3 = strcmp((char *)pbVar6,"textoff"), iVar3 == 0)) {\n        _DAT_0008cc04 = _DAT_0008cc04 & 0xfffffffd;\n        return 1;\n      }\n      pcVar5 = "%P: warning: -z %s ignored\n";\n      goto LAB_0003606a;\n    }" ({ "{") (expression_statement "iVar3 = 0xb;" (assignment_expression "iVar3 = 0xb" (identifier "iVar3") (= "=") (number_literal "0xb")) (; ";")) (expression_statement "pbVar7 = pbVar6;" (assignment_expression "pbVar7 = pbVar6" (identifier "pbVar7") (= "=") (identifier "pbVar6")) (; ";")) (expression_statement "pbVar8 = (byte *)"stack-size=";" (assignment_expression "pbVar8 = (byte *)"stack-size="" (identifier "pbVar8") (= "=") (cast_expression "(byte *)"stack-size="" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (string_literal ""stack-size="" (" """) (string_content "stack-size=") (" """)))) (; ";")) (do_statement "do {\n        if (iVar3 == 0) break;\n        iVar3 = iVar3 + -1;\n        bVar10 = *pbVar7 < *pbVar8;\n        bVar9 = *pbVar7 == *pbVar8;\n        pbVar7 = pbVar7 + 1;\n        pbVar8 = pbVar8 + 1;\n      } while (bVar9);" (do "do") (compound_statement "{\n        if (iVar3 == 0) break;\n        iVar3 = iVar3 + -1;\n        bVar10 = *pbVar7 < *pbVar8;\n        bVar9 = *pbVar7 == *pbVar8;\n        pbVar7 = pbVar7 + 1;\n        pbVar8 = pbVar8 + 1;\n      }" ({ "{") (if_statement "if (iVar3 == 0) break;" (if "if") (parenthesized_expression "(iVar3 == 0)" (( "(") (binary_expression "iVar3 == 0" (identifier "iVar3") (== "==") (number_literal "0")) () ")")) (break_statement "break;" (break "break") (; ";"))) (expression_statement "iVar3 = iVar3 + -1;" (assignment_expression "iVar3 = iVar3 + -1" (identifier "iVar3") (= "=") (binary_expression "iVar3 + -1" (identifier "iVar3") (+ "+") (number_literal "-1"))) (; ";")) (expression_statement "bVar10 = *pbVar7 < *pbVar8;" (assignment_expression "bVar10 = *pbVar7 < *pbVar8" (identifier "bVar10") (= "=") (binary_expression "*pbVar7 < *pbVar8" (pointer_expression "*pbVar7" (* "*") (identifier "pbVar7")) (< "<") (pointer_expression "*pbVar8" (* "*") (identifier "pbVar8")))) (; ";")) (expression_statement "bVar9 = *pbVar7 == *pbVar8;" (assignment_expression "bVar9 = *pbVar7 == *pbVar8" (identifier "bVar9") (= "=") (binary_expression "*pbVar7 == *pbVar8" (pointer_expression "*pbVar7" (* "*") (identifier "pbVar7")) (== "==") (pointer_expression "*pbVar8" (* "*") (identifier "pbVar8")))) (; ";")) (expression_statement "pbVar7 = pbVar7 + 1;" (assignment_expression "pbVar7 = pbVar7 + 1" (identifier "pbVar7") (= "=") (binary_expression "pbVar7 + 1" (identifier "pbVar7") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "pbVar8 = pbVar8 + 1;" (assignment_expression "pbVar8 = pbVar8 + 1" (identifier "pbVar8") (= "=") (binary_expression "pbVar8 + 1" (identifier "pbVar8") (+ "+") (number_literal "1"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(bVar9)" (( "(") (identifier "bVar9") () ")")) (; ";")) (expression_statement "bVar11 = false;" (assignment_expression "bVar11 = false" (identifier "bVar11") (= "=") (false "false")) (; ";")) (expression_statement "bVar9 = (!bVar10 && !bVar9) == bVar10;" (assignment_expression "bVar9 = (!bVar10 && !bVar9) == bVar10" (identifier "bVar9") (= "=") (binary_expression "(!bVar10 && !bVar9) == bVar10" (parenthesized_expression "(!bVar10 && !bVar9)" (( "(") (binary_expression "!bVar10 && !bVar9" (unary_expression "!bVar10" (! "!") (identifier "bVar10")) (&& "&&") (unary_expression "!bVar9" (! "!") (identifier "bVar9"))) () ")")) (== "==") (identifier "bVar10"))) (; ";")) (if_statement "if (bVar9) {\n        DAT_0008cc10 = strtoul((char *)(pbVar6 + 0xb),local_20,0);\n        if ((*local_20[0] != '\0') || ((int)DAT_0008cc10 < 0)) {\n          iVar3 = *(int *)puVar1;\n          uVar4 = dcgettext(0,"%F%P: invalid stack size `%s\'\n",5,DAT_0008cc10);\n          FUN_00031700(uVar4,iVar3 + 0xb);\n        }\n        if (DAT_0008cc10 == 0) {\n          DAT_0008cc10 = 0xffffffff;\n          return 1;\n        }\n        return 1;\n      }" (if "if") (parenthesized_expression "(bVar9)" (( "(") (identifier "bVar9") () ")")) (compound_statement "{\n        DAT_0008cc10 = strtoul((char *)(pbVar6 + 0xb),local_20,0);\n        if ((*local_20[0] != '\0') || ((int)DAT_0008cc10 < 0)) {\n          iVar3 = *(int *)puVar1;\n          uVar4 = dcgettext(0,"%F%P: invalid stack size `%s\'\n",5,DAT_0008cc10);\n          FUN_00031700(uVar4,iVar3 + 0xb);\n        }\n        if (DAT_0008cc10 == 0) {\n          DAT_0008cc10 = 0xffffffff;\n          return 1;\n        }\n        return 1;\n      }" ({ "{") (expression_statement "DAT_0008cc10 = strtoul((char *)(pbVar6 + 0xb),local_20,0);" (assignment_expression "DAT_0008cc10 = strtoul((char *)(pbVar6 + 0xb),local_20,0)" (identifier "DAT_0008cc10") (= "=") (call_expression "strtoul((char *)(pbVar6 + 0xb),local_20,0)" (identifier "strtoul") (argument_list "((char *)(pbVar6 + 0xb),local_20,0)" (( "(") (cast_expression "(char *)(pbVar6 + 0xb)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pbVar6 + 0xb)" (( "(") (binary_expression "pbVar6 + 0xb" (identifier "pbVar6") (+ "+") (number_literal "0xb")) () ")"))) (, ",") (identifier "local_20") (, ",") (number_literal "0") () ")")))) (; ";")) (if_statement "if ((*local_20[0] != '\0') || ((int)DAT_0008cc10 < 0)) {\n          iVar3 = *(int *)puVar1;\n          uVar4 = dcgettext(0,"%F%P: invalid stack size `%s\'\n",5,DAT_0008cc10);\n          FUN_00031700(uVar4,iVar3 + 0xb);\n        }" (if "if") (parenthesized_expression "((*local_20[0] != '\0') || ((int)DAT_0008cc10 < 0))" (( "(") (binary_expression "(*local_20[0] != '\0') || ((int)DAT_0008cc10 < 0)" (parenthesized_expression "(*local_20[0] != '\0')" (( "(") (binary_expression "*local_20[0] != '\0'" (pointer_expression "*local_20[0]" (* "*") (subscript_expression "local_20[0]" (identifier "local_20") ([ "[") (number_literal "0") (] "]"))) (!= "!=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (|| "||") (parenthesized_expression "((int)DAT_0008cc10 < 0)" (( "(") (binary_expression "(int)DAT_0008cc10 < 0" (cast_expression "(int)DAT_0008cc10" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "DAT_0008cc10")) (< "<") (number_literal "0")) () ")"))) () ")")) (compound_statement "{\n          iVar3 = *(int *)puVar1;\n          uVar4 = dcgettext(0,"%F%P: invalid stack size `%s\'\n",5,DAT_0008cc10);\n          FUN_00031700(uVar4,iVar3 + 0xb);\n        }" ({ "{") (expression_statement "iVar3 = *(int *)puVar1;" (assignment_expression "iVar3 = *(int *)puVar1" (identifier "iVar3") (= "=") (pointer_expression "*(int *)puVar1" (* "*") (cast_expression "(int *)puVar1" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "puVar1")))) (; ";")) (expression_statement "uVar4 = dcgettext(0,"%F%P: invalid stack size `%s\'\n",5,DAT_0008cc10);" (assignment_expression "uVar4 = dcgettext(0,"%F%P: invalid stack size `%s\'\n",5,DAT_0008cc10)" (identifier "uVar4") (= "=") (call_expression "dcgettext(0,"%F%P: invalid stack size `%s\'\n",5,DAT_0008cc10)" (identifier "dcgettext") (argument_list "(0,"%F%P: invalid stack size `%s\'\n",5,DAT_0008cc10)" (( "(") (number_literal "0") (, ",") (string_literal ""%F%P: invalid stack size `%s\'\n"" (" """) (string_content "%F%P: invalid stack size `%s") (escape_sequence "\'") (escape_sequence "\n") (" """)) (, ",") (number_literal "5") (, ",") (identifier "DAT_0008cc10") () ")")))) (; ";")) (expression_statement "FUN_00031700(uVar4,iVar3 + 0xb);" (call_expression "FUN_00031700(uVar4,iVar3 + 0xb)" (identifier "FUN_00031700") (argument_list "(uVar4,iVar3 + 0xb)" (( "(") (identifier "uVar4") (, ",") (binary_expression "iVar3 + 0xb" (identifier "iVar3") (+ "+") (number_literal "0xb")) () ")"))) (; ";")) (} "}"))) (if_statement "if (DAT_0008cc10 == 0) {\n          DAT_0008cc10 = 0xffffffff;\n          return 1;\n        }" (if "if") (parenthesized_expression "(DAT_0008cc10 == 0)" (( "(") (binary_expression "DAT_0008cc10 == 0" (identifier "DAT_0008cc10") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n          DAT_0008cc10 = 0xffffffff;\n          return 1;\n        }" ({ "{") (expression_statement "DAT_0008cc10 = 0xffffffff;" (assignment_expression "DAT_0008cc10 = 0xffffffff" (identifier "DAT_0008cc10") (= "=") (number_literal "0xffffffff")) (; ";")) (return_statement "return 1;" (return "return") (number_literal "1") (; ";")) (} "}"))) (return_statement "return 1;" (return "return") (number_literal "1") (; ";")) (} "}"))) (expression_statement "iVar3 = 10;" (assignment_expression "iVar3 = 10" (identifier "iVar3") (= "=") (number_literal "10")) (; ";")) (expression_statement "pbVar7 = pbVar6;" (assignment_expression "pbVar7 = pbVar6" (identifier "pbVar7") (= "=") (identifier "pbVar6")) (; ";")) (expression_statement "pbVar8 = (byte *)0x7ac61;" (assignment_expression "pbVar8 = (byte *)0x7ac61" (identifier "pbVar8") (= "=") (cast_expression "(byte *)0x7ac61" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x7ac61"))) (; ";")) (do_statement "do {\n        if (iVar3 == 0) break;\n        iVar3 = iVar3 + -1;\n        bVar11 = *pbVar7 < *pbVar8;\n        bVar9 = *pbVar7 == *pbVar8;\n        pbVar7 = pbVar7 + 1;\n        pbVar8 = pbVar8 + 1;\n      } while (bVar9);" (do "do") (compound_statement "{\n        if (iVar3 == 0) break;\n        iVar3 = iVar3 + -1;\n        bVar11 = *pbVar7 < *pbVar8;\n        bVar9 = *pbVar7 == *pbVar8;\n        pbVar7 = pbVar7 + 1;\n        pbVar8 = pbVar8 + 1;\n      }" ({ "{") (if_statement "if (iVar3 == 0) break;" (if "if") (parenthesized_expression "(iVar3 == 0)" (( "(") (binary_expression "iVar3 == 0" (identifier "iVar3") (== "==") (number_literal "0")) () ")")) (break_statement "break;" (break "break") (; ";"))) (expression_statement "iVar3 = iVar3 + -1;" (assignment_expression "iVar3 = iVar3 + -1" (identifier "iVar3") (= "=") (binary_expression "iVar3 + -1" (identifier "iVar3") (+ "+") (number_literal "-1"))) (; ";")) (expression_statement "bVar11 = *pbVar7 < *pbVar8;" (assignment_expression "bVar11 = *pbVar7 < *pbVar8" (identifier "bVar11") (= "=") (binary_expression "*pbVar7 < *pbVar8" (pointer_expression "*pbVar7" (* "*") (identifier "pbVar7")) (< "<") (pointer_expression "*pbVar8" (* "*") (identifier "pbVar8")))) (; ";")) (expression_statement "bVar9 = *pbVar7 == *pbVar8;" (assignment_expression "bVar9 = *pbVar7 == *pbVar8" (identifier "bVar9") (= "=") (binary_expression "*pbVar7 == *pbVar8" (pointer_expression "*pbVar7" (* "*") (identifier "pbVar7")) (== "==") (pointer_expression "*pbVar8" (* "*") (identifier "pbVar8")))) (; ";")) (expression_statement "pbVar7 = pbVar7 + 1;" (assignment_expression "pbVar7 = pbVar7 + 1" (identifier "pbVar7") (= "=") (binary_expression "pbVar7 + 1" (identifier "pbVar7") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "pbVar8 = pbVar8 + 1;" (assignment_expression "pbVar8 = pbVar8 + 1" (identifier "pbVar8") (= "=") (binary_expression "pbVar8 + 1" (identifier "pbVar8") (+ "+") (number_literal "1"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(bVar9)" (( "(") (identifier "bVar9") () ")")) (; ";")) (expression_statement "bVar10 = false;" (assignment_expression "bVar10 = false" (identifier "bVar10") (= "=") (false "false")) (; ";")) (expression_statement "bVar9 = (!bVar11 && !bVar9) == bVar11;" (assignment_expression "bVar9 = (!bVar11 && !bVar9) == bVar11" (identifier "bVar9") (= "=") (binary_expression "(!bVar11 && !bVar9) == bVar11" (parenthesized_expression "(!bVar11 && !bVar9)" (( "(") (binary_expression "!bVar11 && !bVar9" (unary_expression "!bVar11" (! "!") (identifier "bVar11")) (&& "&&") (unary_expression "!bVar9" (! "!") (identifier "bVar9"))) () ")")) (== "==") (identifier "bVar11"))) (; ";")) (if_statement "if (bVar9) {\n        _DAT_0008cc04 = _DAT_0008cc04 & 0xfffe7fff | 0x8000;\n        return 1;\n      }" (if "if") (parenthesized_expression "(bVar9)" (( "(") (identifier "bVar9") () ")")) (compound_statement "{\n        _DAT_0008cc04 = _DAT_0008cc04 & 0xfffe7fff | 0x8000;\n        return 1;\n      }" ({ "{") (expression_statement "_DAT_0008cc04 = _DAT_0008cc04 & 0xfffe7fff | 0x8000;" (assignment_expression "_DAT_0008cc04 = _DAT_0008cc04 & 0xfffe7fff | 0x8000" (identifier "_DAT_0008cc04") (= "=") (binary_expression "_DAT_0008cc04 & 0xfffe7fff | 0x8000" (binary_expression "_DAT_0008cc04 & 0xfffe7fff" (identifier "_DAT_0008cc04") (& "&") (number_literal "0xfffe7fff")) (| "|") (number_literal "0x8000"))) (; ";")) (return_statement "return 1;" (return "return") (number_literal "1") (; ";")) (} "}"))) (expression_statement "iVar3 = 0xc;" (assignment_expression "iVar3 = 0xc" (identifier "iVar3") (= "=") (number_literal "0xc")) (; ";")) (expression_statement "pbVar7 = pbVar6;" (assignment_expression "pbVar7 = pbVar6" (identifier "pbVar7") (= "=") (identifier "pbVar6")) (; ";")) (expression_statement "pbVar8 = (byte *)"noexecstack";" (assignment_expression "pbVar8 = (byte *)"noexecstack"" (identifier "pbVar8") (= "=") (cast_expression "(byte *)"noexecstack"" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (string_literal ""noexecstack"" (" """) (string_content "noexecstack") (" """)))) (; ";")) (do_statement "do {\n        if (iVar3 == 0) break;\n        iVar3 = iVar3 + -1;\n        bVar10 = *pbVar7 < *pbVar8;\n        bVar9 = *pbVar7 == *pbVar8;\n        pbVar7 = pbVar7 + 1;\n        pbVar8 = pbVar8 + 1;\n      } while (bVar9);" (do "do") (compound_statement "{\n        if (iVar3 == 0) break;\n        iVar3 = iVar3 + -1;\n        bVar10 = *pbVar7 < *pbVar8;\n        bVar9 = *pbVar7 == *pbVar8;\n        pbVar7 = pbVar7 + 1;\n        pbVar8 = pbVar8 + 1;\n      }" ({ "{") (if_statement "if (iVar3 == 0) break;" (if "if") (parenthesized_expression "(iVar3 == 0)" (( "(") (binary_expression "iVar3 == 0" (identifier "iVar3") (== "==") (number_literal "0")) () ")")) (break_statement "break;" (break "break") (; ";"))) (expression_statement "iVar3 = iVar3 + -1;" (assignment_expression "iVar3 = iVar3 + -1" (identifier "iVar3") (= "=") (binary_expression "iVar3 + -1" (identifier "iVar3") (+ "+") (number_literal "-1"))) (; ";")) (expression_statement "bVar10 = *pbVar7 < *pbVar8;" (assignment_expression "bVar10 = *pbVar7 < *pbVar8" (identifier "bVar10") (= "=") (binary_expression "*pbVar7 < *pbVar8" (pointer_expression "*pbVar7" (* "*") (identifier "pbVar7")) (< "<") (pointer_expression "*pbVar8" (* "*") (identifier "pbVar8")))) (; ";")) (expression_statement "bVar9 = *pbVar7 == *pbVar8;" (assignment_expression "bVar9 = *pbVar7 == *pbVar8" (identifier "bVar9") (= "=") (binary_expression "*pbVar7 == *pbVar8" (pointer_expression "*pbVar7" (* "*") (identifier "pbVar7")) (== "==") (pointer_expression "*pbVar8" (* "*") (identifier "pbVar8")))) (; ";")) (expression_statement "pbVar7 = pbVar7 + 1;" (assignment_expression "pbVar7 = pbVar7 + 1" (identifier "pbVar7") (= "=") (binary_expression "pbVar7 + 1" (identifier "pbVar7") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "pbVar8 = pbVar8 + 1;" (assignment_expression "pbVar8 = pbVar8 + 1" (identifier "pbVar8") (= "=") (binary_expression "pbVar8 + 1" (identifier "pbVar8") (+ "+") (number_literal "1"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(bVar9)" (( "(") (identifier "bVar9") () ")")) (; ";")) (if_statement "if ((!bVar10 && !bVar9) == bVar10) {\n        _DAT_0008cc04 = _DAT_0008cc04 & 0xfffe7fff | 0x10000;\n        return 1;\n      }" (if "if") (parenthesized_expression "((!bVar10 && !bVar9) == bVar10)" (( "(") (binary_expression "(!bVar10 && !bVar9) == bVar10" (parenthesized_expression "(!bVar10 && !bVar9)" (( "(") (binary_expression "!bVar10 && !bVar9" (unary_expression "!bVar10" (! "!") (identifier "bVar10")) (&& "&&") (unary_expression "!bVar9" (! "!") (identifier "bVar9"))) () ")")) (== "==") (identifier "bVar10")) () ")")) (compound_statement "{\n        _DAT_0008cc04 = _DAT_0008cc04 & 0xfffe7fff | 0x10000;\n        return 1;\n      }" ({ "{") (expression_statement "_DAT_0008cc04 = _DAT_0008cc04 & 0xfffe7fff | 0x10000;" (assignment_expression "_DAT_0008cc04 = _DAT_0008cc04 & 0xfffe7fff | 0x10000" (identifier "_DAT_0008cc04") (= "=") (binary_expression "_DAT_0008cc04 & 0xfffe7fff | 0x10000" (binary_expression "_DAT_0008cc04 & 0xfffe7fff" (identifier "_DAT_0008cc04") (& "&") (number_literal "0xfffe7fff")) (| "|") (number_literal "0x10000"))) (; ";")) (return_statement "return 1;" (return "return") (number_literal "1") (; ";")) (} "}"))) (expression_statement "iVar3 = strcmp((char *)pbVar6,"globalaudit");" (assignment_expression "iVar3 = strcmp((char *)pbVar6,"globalaudit")" (identifier "iVar3") (= "=") (call_expression "strcmp((char *)pbVar6,"globalaudit")" (identifier "strcmp") (argument_list "((char *)pbVar6,"globalaudit")" (( "(") (cast_expression "(char *)pbVar6" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "pbVar6")) (, ",") (string_literal ""globalaudit"" (" """) (string_content "globalaudit") (" """)) () ")")))) (; ";")) (if_statement "if (iVar3 == 0) {\n        DAT_0008cc74 = DAT_0008cc74 | 0x1000000;\n        return 1;\n      }" (if "if") (parenthesized_expression "(iVar3 == 0)" (( "(") (binary_expression "iVar3 == 0" (identifier "iVar3") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n        DAT_0008cc74 = DAT_0008cc74 | 0x1000000;\n        return 1;\n      }" ({ "{") (expression_statement "DAT_0008cc74 = DAT_0008cc74 | 0x1000000;" (assignment_expression "DAT_0008cc74 = DAT_0008cc74 | 0x1000000" (identifier "DAT_0008cc74") (= "=") (binary_expression "DAT_0008cc74 | 0x1000000" (identifier "DAT_0008cc74") (| "|") (number_literal "0x1000000"))) (; ";")) (return_statement "return 1;" (return "return") (number_literal "1") (; ";")) (} "}"))) (expression_statement "iVar3 = strcmp((char *)pbVar6,"global");" (assignment_expression "iVar3 = strcmp((char *)pbVar6,"global")" (identifier "iVar3") (= "=") (call_expression "strcmp((char *)pbVar6,"global")" (identifier "strcmp") (argument_list "((char *)pbVar6,"global")" (( "(") (cast_expression "(char *)pbVar6" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "pbVar6")) (, ",") (string_literal ""global"" (" """) (string_content "global") (" """)) () ")")))) (; ";")) (if_statement "if (iVar3 == 0) {\n        DAT_0008cc74 = DAT_0008cc74 | 2;\n        return 1;\n      }" (if "if") (parenthesized_expression "(iVar3 == 0)" (( "(") (binary_expression "iVar3 == 0" (identifier "iVar3") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n        DAT_0008cc74 = DAT_0008cc74 | 2;\n        return 1;\n      }" ({ "{") (expression_statement "DAT_0008cc74 = DAT_0008cc74 | 2;" (assignment_expression "DAT_0008cc74 = DAT_0008cc74 | 2" (identifier "DAT_0008cc74") (= "=") (binary_expression "DAT_0008cc74 | 2" (identifier "DAT_0008cc74") (| "|") (number_literal "2"))) (; ";")) (return_statement "return 1;" (return "return") (number_literal "1") (; ";")) (} "}"))) (expression_statement "iVar3 = strcmp((char *)pbVar6,"initfirst");" (assignment_expression "iVar3 = strcmp((char *)pbVar6,"initfirst")" (identifier "iVar3") (= "=") (call_expression "strcmp((char *)pbVar6,"initfirst")" (identifier "strcmp") (argument_list "((char *)pbVar6,"initfirst")" (( "(") (cast_expression "(char *)pbVar6" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "pbVar6")) (, ",") (string_literal ""initfirst"" (" """) (string_content "initfirst") (" """)) () ")")))) (; ";")) (if_statement "if (iVar3 == 0) {\n        DAT_0008cc74 = DAT_0008cc74 | 0x20;\n        return 1;\n      }" (if "if") (parenthesized_expression "(iVar3 == 0)" (( "(") (binary_expression "iVar3 == 0" (identifier "iVar3") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n        DAT_0008cc74 = DAT_0008cc74 | 0x20;\n        return 1;\n      }" ({ "{") (expression_statement "DAT_0008cc74 = DAT_0008cc74 | 0x20;" (assignment_expression "DAT_0008cc74 = DAT_0008cc74 | 0x20" (identifier "DAT_0008cc74") (= "=") (binary_expression "DAT_0008cc74 | 0x20" (identifier "DAT_0008cc74") (| "|") (number_literal "0x20"))) (; ";")) (return_statement "return 1;" (return "return") (number_literal "1") (; ";")) (} "}"))) (expression_statement "iVar3 = strcmp((char *)pbVar6,"interpose");" (assignment_expression "iVar3 = strcmp((char *)pbVar6,"interpose")" (identifier "iVar3") (= "=") (call_expression "strcmp((char *)pbVar6,"interpose")" (identifier "strcmp") (argument_list "((char *)pbVar6,"interpose")" (( "(") (cast_expression "(char *)pbVar6" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "pbVar6")) (, ",") (string_literal ""interpose"" (" """) (string_content "interpose") (" """)) () ")")))) (; ";")) (if_statement "if (iVar3 == 0) {\n        DAT_0008cc74 = DAT_0008cc74 | 0x400;\n        return 1;\n      }" (if "if") (parenthesized_expression "(iVar3 == 0)" (( "(") (binary_expression "iVar3 == 0" (identifier "iVar3") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n        DAT_0008cc74 = DAT_0008cc74 | 0x400;\n        return 1;\n      }" ({ "{") (expression_statement "DAT_0008cc74 = DAT_0008cc74 | 0x400;" (assignment_expression "DAT_0008cc74 = DAT_0008cc74 | 0x400" (identifier "DAT_0008cc74") (= "=") (binary_expression "DAT_0008cc74 | 0x400" (identifier "DAT_0008cc74") (| "|") (number_literal "0x400"))) (; ";")) (return_statement "return 1;" (return "return") (number_literal "1") (; ";")) (} "}"))) (expression_statement "iVar3 = strcmp((char *)pbVar6,"loadfltr");" (assignment_expression "iVar3 = strcmp((char *)pbVar6,"loadfltr")" (identifier "iVar3") (= "=") (call_expression "strcmp((char *)pbVar6,"loadfltr")" (identifier "strcmp") (argument_list "((char *)pbVar6,"loadfltr")" (( "(") (cast_expression "(char *)pbVar6" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "pbVar6")) (, ",") (string_literal ""loadfltr"" (" """) (string_content "loadfltr") (" """)) () ")")))) (; ";")) (if_statement "if (iVar3 == 0) {\n        DAT_0008cc74 = DAT_0008cc74 | 0x10;\n        return 1;\n      }" (if "if") (parenthesized_expression "(iVar3 == 0)" (( "(") (binary_expression "iVar3 == 0" (identifier "iVar3") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n        DAT_0008cc74 = DAT_0008cc74 | 0x10;\n        return 1;\n      }" ({ "{") (expression_statement "DAT_0008cc74 = DAT_0008cc74 | 0x10;" (assignment_expression "DAT_0008cc74 = DAT_0008cc74 | 0x10" (identifier "DAT_0008cc74") (= "=") (binary_expression "DAT_0008cc74 | 0x10" (identifier "DAT_0008cc74") (| "|") (number_literal "0x10"))) (; ";")) (return_statement "return 1;" (return "return") (number_literal "1") (; ";")) (} "}"))) (expression_statement "iVar3 = strcmp((char *)pbVar6,"nodefaultlib");" (assignment_expression "iVar3 = strcmp((char *)pbVar6,"nodefaultlib")" (identifier "iVar3") (= "=") (call_expression "strcmp((char *)pbVar6,"nodefaultlib")" (identifier "strcmp") (argument_list "((char *)pbVar6,"nodefaultlib")" (( "(") (cast_expression "(char *)pbVar6" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "pbVar6")) (, ",") (string_literal ""nodefaultlib"" (" """) (string_content "nodefaultlib") (" """)) () ")")))) (; ";")) (if_statement "if (iVar3 == 0) {\n        DAT_0008cc74 = DAT_0008cc74 | 0x800;\n        return 1;\n      }" (if "if") (parenthesized_expression "(iVar3 == 0)" (( "(") (binary_expression "iVar3 == 0" (identifier "iVar3") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n        DAT_0008cc74 = DAT_0008cc74 | 0x800;\n        return 1;\n      }" ({ "{") (expression_statement "DAT_0008cc74 = DAT_0008cc74 | 0x800;" (assignment_expression "DAT_0008cc74 = DAT_0008cc74 | 0x800" (identifier "DAT_0008cc74") (= "=") (binary_expression "DAT_0008cc74 | 0x800" (identifier "DAT_0008cc74") (| "|") (number_literal "0x800"))) (; ";")) (return_statement "return 1;" (return "return") (number_literal "1") (; ";")) (} "}"))) (expression_statement "iVar3 = strcmp((char *)pbVar6,"nodelete");" (assignment_expression "iVar3 = strcmp((char *)pbVar6,"nodelete")" (identifier "iVar3") (= "=") (call_expression "strcmp((char *)pbVar6,"nodelete")" (identifier "strcmp") (argument_list "((char *)pbVar6,"nodelete")" (( "(") (cast_expression "(char *)pbVar6" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "pbVar6")) (, ",") (string_literal ""nodelete"" (" """) (string_content "nodelete") (" """)) () ")")))) (; ";")) (if_statement "if (iVar3 == 0) {\n        DAT_0008cc74 = DAT_0008cc74 | 8;\n        return 1;\n      }" (if "if") (parenthesized_expression "(iVar3 == 0)" (( "(") (binary_expression "iVar3 == 0" (identifier "iVar3") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n        DAT_0008cc74 = DAT_0008cc74 | 8;\n        return 1;\n      }" ({ "{") (expression_statement "DAT_0008cc74 = DAT_0008cc74 | 8;" (assignment_expression "DAT_0008cc74 = DAT_0008cc74 | 8" (identifier "DAT_0008cc74") (= "=") (binary_expression "DAT_0008cc74 | 8" (identifier "DAT_0008cc74") (| "|") (number_literal "8"))) (; ";")) (return_statement "return 1;" (return "return") (number_literal "1") (; ";")) (} "}"))) (expression_statement "iVar3 = strcmp((char *)pbVar6,"nodlopen");" (assignment_expression "iVar3 = strcmp((char *)pbVar6,"nodlopen")" (identifier "iVar3") (= "=") (call_expression "strcmp((char *)pbVar6,"nodlopen")" (identifier "strcmp") (argument_list "((char *)pbVar6,"nodlopen")" (( "(") (cast_expression "(char *)pbVar6" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "pbVar6")) (, ",") (string_literal ""nodlopen"" (" """) (string_content "nodlopen") (" """)) () ")")))) (; ";")) (if_statement "if (iVar3 == 0) {\n        DAT_0008cc74 = DAT_0008cc74 | 0x40;\n        return 1;\n      }" (if "if") (parenthesized_expression "(iVar3 == 0)" (( "(") (binary_expression "iVar3 == 0" (identifier "iVar3") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n        DAT_0008cc74 = DAT_0008cc74 | 0x40;\n        return 1;\n      }" ({ "{") (expression_statement "DAT_0008cc74 = DAT_0008cc74 | 0x40;" (assignment_expression "DAT_0008cc74 = DAT_0008cc74 | 0x40" (identifier "DAT_0008cc74") (= "=") (binary_expression "DAT_0008cc74 | 0x40" (identifier "DAT_0008cc74") (| "|") (number_literal "0x40"))) (; ";")) (return_statement "return 1;" (return "return") (number_literal "1") (; ";")) (} "}"))) (expression_statement "iVar3 = strcmp((char *)pbVar6,"nodump");" (assignment_expression "iVar3 = strcmp((char *)pbVar6,"nodump")" (identifier "iVar3") (= "=") (call_expression "strcmp((char *)pbVar6,"nodump")" (identifier "strcmp") (argument_list "((char *)pbVar6,"nodump")" (( "(") (cast_expression "(char *)pbVar6" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "pbVar6")) (, ",") (string_literal ""nodump"" (" """) (string_content "nodump") (" """)) () ")")))) (; ";")) (if_statement "if (iVar3 == 0) {\n        DAT_0008cc74 = DAT_0008cc74 | 0x1000;\n        return 1;\n      }" (if "if") (parenthesized_expression "(iVar3 == 0)" (( "(") (binary_expression "iVar3 == 0" (identifier "iVar3") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n        DAT_0008cc74 = DAT_0008cc74 | 0x1000;\n        return 1;\n      }" ({ "{") (expression_statement "DAT_0008cc74 = DAT_0008cc74 | 0x1000;" (assignment_expression "DAT_0008cc74 = DAT_0008cc74 | 0x1000" (identifier "DAT_0008cc74") (= "=") (binary_expression "DAT_0008cc74 | 0x1000" (identifier "DAT_0008cc74") (| "|") (number_literal "0x1000"))) (; ";")) (return_statement "return 1;" (return "return") (number_literal "1") (; ";")) (} "}"))) (expression_statement "iVar3 = strcmp((char *)pbVar6,"now");" (assignment_expression "iVar3 = strcmp((char *)pbVar6,"now")" (identifier "iVar3") (= "=") (call_expression "strcmp((char *)pbVar6,"now")" (identifier "strcmp") (argument_list "((char *)pbVar6,"now")" (( "(") (cast_expression "(char *)pbVar6" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "pbVar6")) (, ",") (string_literal ""now"" (" """) (string_content "now") (" """)) () ")")))) (; ";")) (if_statement "if (iVar3 == 0) {\n        _DAT_0008cc70 = _DAT_0008cc70 | 8;\n        DAT_0008cc74 = DAT_0008cc74 | 1;\n        return 1;\n      }" (if "if") (parenthesized_expression "(iVar3 == 0)" (( "(") (binary_expression "iVar3 == 0" (identifier "iVar3") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n        _DAT_0008cc70 = _DAT_0008cc70 | 8;\n        DAT_0008cc74 = DAT_0008cc74 | 1;\n        return 1;\n      }" ({ "{") (expression_statement "_DAT_0008cc70 = _DAT_0008cc70 | 8;" (assignment_expression "_DAT_0008cc70 = _DAT_0008cc70 | 8" (identifier "_DAT_0008cc70") (= "=") (binary_expression "_DAT_0008cc70 | 8" (identifier "_DAT_0008cc70") (| "|") (number_literal "8"))) (; ";")) (expression_statement "DAT_0008cc74 = DAT_0008cc74 | 1;" (assignment_expression "DAT_0008cc74 = DAT_0008cc74 | 1" (identifier "DAT_0008cc74") (= "=") (binary_expression "DAT_0008cc74 | 1" (identifier "DAT_0008cc74") (| "|") (number_literal "1"))) (; ";")) (return_statement "return 1;" (return "return") (number_literal "1") (; ";")) (} "}"))) (expression_statement "iVar3 = strcmp((char *)pbVar6,"lazy");" (assignment_expression "iVar3 = strcmp((char *)pbVar6,"lazy")" (identifier "iVar3") (= "=") (call_expression "strcmp((char *)pbVar6,"lazy")" (identifier "strcmp") (argument_list "((char *)pbVar6,"lazy")" (( "(") (cast_expression "(char *)pbVar6" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "pbVar6")) (, ",") (string_literal ""lazy"" (" """) (string_content "lazy") (" """)) () ")")))) (; ";")) (if_statement "if (iVar3 == 0) {\n        _DAT_0008cc70 = _DAT_0008cc70 & 0xfffffff7;\n        DAT_0008cc74 = DAT_0008cc74 & 0xfffffffe;\n        return 1;\n      }" (if "if") (parenthesized_expression "(iVar3 == 0)" (( "(") (binary_expression "iVar3 == 0" (identifier "iVar3") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n        _DAT_0008cc70 = _DAT_0008cc70 & 0xfffffff7;\n        DAT_0008cc74 = DAT_0008cc74 & 0xfffffffe;\n        return 1;\n      }" ({ "{") (expression_statement "_DAT_0008cc70 = _DAT_0008cc70 & 0xfffffff7;" (assignment_expression "_DAT_0008cc70 = _DAT_0008cc70 & 0xfffffff7" (identifier "_DAT_0008cc70") (= "=") (binary_expression "_DAT_0008cc70 & 0xfffffff7" (identifier "_DAT_0008cc70") (& "&") (number_literal "0xfffffff7"))) (; ";")) (expression_statement "DAT_0008cc74 = DAT_0008cc74 & 0xfffffffe;" (assignment_expression "DAT_0008cc74 = DAT_0008cc74 & 0xfffffffe" (identifier "DAT_0008cc74") (= "=") (binary_expression "DAT_0008cc74 & 0xfffffffe" (identifier "DAT_0008cc74") (& "&") (number_literal "0xfffffffe"))) (; ";")) (return_statement "return 1;" (return "return") (number_literal "1") (; ";")) (} "}"))) (expression_statement "iVar3 = strcmp((char *)pbVar6,"origin");" (assignment_expression "iVar3 = strcmp((char *)pbVar6,"origin")" (identifier "iVar3") (= "=") (call_expression "strcmp((char *)pbVar6,"origin")" (identifier "strcmp") (argument_list "((char *)pbVar6,"origin")" (( "(") (cast_expression "(char *)pbVar6" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "pbVar6")) (, ",") (string_literal ""origin"" (" """) (string_content "origin") (" """)) () ")")))) (; ";")) (if_statement "if (iVar3 == 0) {\n        _DAT_0008cc70 = _DAT_0008cc70 | 1;\n        DAT_0008cc74 = DAT_0008cc74 | 0x80;\n        return 1;\n      }" (if "if") (parenthesized_expression "(iVar3 == 0)" (( "(") (binary_expression "iVar3 == 0" (identifier "iVar3") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n        _DAT_0008cc70 = _DAT_0008cc70 | 1;\n        DAT_0008cc74 = DAT_0008cc74 | 0x80;\n        return 1;\n      }" ({ "{") (expression_statement "_DAT_0008cc70 = _DAT_0008cc70 | 1;" (assignment_expression "_DAT_0008cc70 = _DAT_0008cc70 | 1" (identifier "_DAT_0008cc70") (= "=") (binary_expression "_DAT_0008cc70 | 1" (identifier "_DAT_0008cc70") (| "|") (number_literal "1"))) (; ";")) (expression_statement "DAT_0008cc74 = DAT_0008cc74 | 0x80;" (assignment_expression "DAT_0008cc74 = DAT_0008cc74 | 0x80" (identifier "DAT_0008cc74") (= "=") (binary_expression "DAT_0008cc74 | 0x80" (identifier "DAT_0008cc74") (| "|") (number_literal "0x80"))) (; ";")) (return_statement "return 1;" (return "return") (number_literal "1") (; ";")) (} "}"))) (expression_statement "iVar3 = strcmp((char *)pbVar6,"combreloc");" (assignment_expression "iVar3 = strcmp((char *)pbVar6,"combreloc")" (identifier "iVar3") (= "=") (call_expression "strcmp((char *)pbVar6,"combreloc")" (identifier "strcmp") (argument_list "((char *)pbVar6,"combreloc")" (( "(") (cast_expression "(char *)pbVar6" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "pbVar6")) (, ",") (string_literal ""combreloc"" (" """) (string_content "combreloc") (" """)) () ")")))) (; ";")) (if_statement "if (iVar3 == 0) {\n        _DAT_0008cc04 = _DAT_0008cc04 | 0x40;\n        return 1;\n      }" (if "if") (parenthesized_expression "(iVar3 == 0)" (( "(") (binary_expression "iVar3 == 0" (identifier "iVar3") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n        _DAT_0008cc04 = _DAT_0008cc04 | 0x40;\n        return 1;\n      }" ({ "{") (expression_statement "_DAT_0008cc04 = _DAT_0008cc04 | 0x40;" (assignment_expression "_DAT_0008cc04 = _DAT_0008cc04 | 0x40" (identifier "_DAT_0008cc04") (= "=") (binary_expression "_DAT_0008cc04 | 0x40" (identifier "_DAT_0008cc04") (| "|") (number_literal "0x40"))) (; ";")) (return_statement "return 1;" (return "return") (number_literal "1") (; ";")) (} "}"))) (expression_statement "iVar3 = strcmp((char *)pbVar6,"nocombreloc");" (assignment_expression "iVar3 = strcmp((char *)pbVar6,"nocombreloc")" (identifier "iVar3") (= "=") (call_expression "strcmp((char *)pbVar6,"nocombreloc")" (identifier "strcmp") (argument_list "((char *)pbVar6,"nocombreloc")" (( "(") (cast_expression "(char *)pbVar6" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "pbVar6")) (, ",") (string_literal ""nocombreloc"" (" """) (string_content "nocombreloc") (" """)) () ")")))) (; ";")) (if_statement "if (iVar3 == 0) {\n        _DAT_0008cc04 = _DAT_0008cc04 & 0xffffffbf;\n        return 1;\n      }" (if "if") (parenthesized_expression "(iVar3 == 0)" (( "(") (binary_expression "iVar3 == 0" (identifier "iVar3") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n        _DAT_0008cc04 = _DAT_0008cc04 & 0xffffffbf;\n        return 1;\n      }" ({ "{") (expression_statement "_DAT_0008cc04 = _DAT_0008cc04 & 0xffffffbf;" (assignment_expression "_DAT_0008cc04 = _DAT_0008cc04 & 0xffffffbf" (identifier "_DAT_0008cc04") (= "=") (binary_expression "_DAT_0008cc04 & 0xffffffbf" (identifier "_DAT_0008cc04") (& "&") (number_literal "0xffffffbf"))) (; ";")) (return_statement "return 1;" (return "return") (number_literal "1") (; ";")) (} "}"))) (expression_statement "iVar3 = strcmp((char *)pbVar6,"nocopyreloc");" (assignment_expression "iVar3 = strcmp((char *)pbVar6,"nocopyreloc")" (identifier "iVar3") (= "=") (call_expression "strcmp((char *)pbVar6,"nocopyreloc")" (identifier "strcmp") (argument_list "((char *)pbVar6,"nocopyreloc")" (( "(") (cast_expression "(char *)pbVar6" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "pbVar6")) (, ",") (string_literal ""nocopyreloc"" (" """) (string_content "nocopyreloc") (" """)) () ")")))) (; ";")) (if_statement "if (iVar3 == 0) {\n        DAT_0008cc00._0_1_ = (byte)DAT_0008cc00 | 8;\n        return 1;\n      }" (if "if") (parenthesized_expression "(iVar3 == 0)" (( "(") (binary_expression "iVar3 == 0" (identifier "iVar3") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n        DAT_0008cc00._0_1_ = (byte)DAT_0008cc00 | 8;\n        return 1;\n      }" ({ "{") (expression_statement "DAT_0008cc00._0_1_ = (byte)DAT_0008cc00 | 8;" (assignment_expression "DAT_0008cc00._0_1_ = (byte)DAT_0008cc00 | 8" (field_expression "DAT_0008cc00._0_1_" (identifier "DAT_0008cc00") (. ".") (field_identifier "_0_1_")) (= "=") (binary_expression "(byte)DAT_0008cc00 | 8" (cast_expression "(byte)DAT_0008cc00" (( "(") (type_descriptor "byte" (type_identifier "byte")) () ")") (identifier "DAT_0008cc00")) (| "|") (number_literal "8"))) (; ";")) (return_statement "return 1;" (return "return") (number_literal "1") (; ";")) (} "}"))) (expression_statement "iVar3 = strcmp((char *)pbVar6,"relro");" (assignment_expression "iVar3 = strcmp((char *)pbVar6,"relro")" (identifier "iVar3") (= "=") (call_expression "strcmp((char *)pbVar6,"relro")" (identifier "strcmp") (argument_list "((char *)pbVar6,"relro")" (( "(") (cast_expression "(char *)pbVar6" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "pbVar6")) (, ",") (string_literal ""relro"" (" """) (string_content "relro") (" """)) () ")")))) (; ";")) (if_statement "if (iVar3 == 0) {\n        DAT_0008cc00._2_2_ = DAT_0008cc00._2_2_ | 0x1000;\n        return 1;\n      }" (if "if") (parenthesized_expression "(iVar3 == 0)" (( "(") (binary_expression "iVar3 == 0" (identifier "iVar3") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n        DAT_0008cc00._2_2_ = DAT_0008cc00._2_2_ | 0x1000;\n        return 1;\n      }" ({ "{") (expression_statement "DAT_0008cc00._2_2_ = DAT_0008cc00._2_2_ | 0x1000;" (assignment_expression "DAT_0008cc00._2_2_ = DAT_0008cc00._2_2_ | 0x1000" (field_expression "DAT_0008cc00._2_2_" (identifier "DAT_0008cc00") (. ".") (field_identifier "_2_2_")) (= "=") (binary_expression "DAT_0008cc00._2_2_ | 0x1000" (field_expression "DAT_0008cc00._2_2_" (identifier "DAT_0008cc00") (. ".") (field_identifier "_2_2_")) (| "|") (number_literal "0x1000"))) (; ";")) (return_statement "return 1;" (return "return") (number_literal "1") (; ";")) (} "}"))) (expression_statement "iVar3 = strcmp((char *)pbVar6,"norelro");" (assignment_expression "iVar3 = strcmp((char *)pbVar6,"norelro")" (identifier "iVar3") (= "=") (call_expression "strcmp((char *)pbVar6,"norelro")" (identifier "strcmp") (argument_list "((char *)pbVar6,"norelro")" (( "(") (cast_expression "(char *)pbVar6" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "pbVar6")) (, ",") (string_literal ""norelro"" (" """) (string_content "norelro") (" """)) () ")")))) (; ";")) (if_statement "if (iVar3 == 0) {\n        DAT_0008cc00._2_2_ = DAT_0008cc00._2_2_ & 0xefff;\n        return 1;\n      }" (if "if") (parenthesized_expression "(iVar3 == 0)" (( "(") (binary_expression "iVar3 == 0" (identifier "iVar3") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n        DAT_0008cc00._2_2_ = DAT_0008cc00._2_2_ & 0xefff;\n        return 1;\n      }" ({ "{") (expression_statement "DAT_0008cc00._2_2_ = DAT_0008cc00._2_2_ & 0xefff;" (assignment_expression "DAT_0008cc00._2_2_ = DAT_0008cc00._2_2_ & 0xefff" (field_expression "DAT_0008cc00._2_2_" (identifier "DAT_0008cc00") (. ".") (field_identifier "_2_2_")) (= "=") (binary_expression "DAT_0008cc00._2_2_ & 0xefff" (field_expression "DAT_0008cc00._2_2_" (identifier "DAT_0008cc00") (. ".") (field_identifier "_2_2_")) (& "&") (number_literal "0xefff"))) (; ";")) (return_statement "return 1;" (return "return") (number_literal "1") (; ";")) (} "}"))) (expression_statement "iVar3 = strcmp((char *)pbVar6,"separate-code");" (assignment_expression "iVar3 = strcmp((char *)pbVar6,"separate-code")" (identifier "iVar3") (= "=") (call_expression "strcmp((char *)pbVar6,"separate-code")" (identifier "strcmp") (argument_list "((char *)pbVar6,"separate-code")" (( "(") (cast_expression "(char *)pbVar6" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "pbVar6")) (, ",") (string_literal ""separate-code"" (" """) (string_content "separate-code") (" """)) () ")")))) (; ";")) (if_statement "if (iVar3 == 0) {\n        DAT_0008cc00._2_2_ = DAT_0008cc00._2_2_ | 0x2000;\n        return 1;\n      }" (if "if") (parenthesized_expression "(iVar3 == 0)" (( "(") (binary_expression "iVar3 == 0" (identifier "iVar3") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n        DAT_0008cc00._2_2_ = DAT_0008cc00._2_2_ | 0x2000;\n        return 1;\n      }" ({ "{") (expression_statement "DAT_0008cc00._2_2_ = DAT_0008cc00._2_2_ | 0x2000;" (assignment_expression "DAT_0008cc00._2_2_ = DAT_0008cc00._2_2_ | 0x2000" (field_expression "DAT_0008cc00._2_2_" (identifier "DAT_0008cc00") (. ".") (field_identifier "_2_2_")) (= "=") (binary_expression "DAT_0008cc00._2_2_ | 0x2000" (field_expression "DAT_0008cc00._2_2_" (identifier "DAT_0008cc00") (. ".") (field_identifier "_2_2_")) (| "|") (number_literal "0x2000"))) (; ";")) (return_statement "return 1;" (return "return") (number_literal "1") (; ";")) (} "}"))) (expression_statement "iVar3 = strcmp((char *)pbVar6,"noseparate-code");" (assignment_expression "iVar3 = strcmp((char *)pbVar6,"noseparate-code")" (identifier "iVar3") (= "=") (call_expression "strcmp((char *)pbVar6,"noseparate-code")" (identifier "strcmp") (argument_list "((char *)pbVar6,"noseparate-code")" (( "(") (cast_expression "(char *)pbVar6" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "pbVar6")) (, ",") (string_literal ""noseparate-code"" (" """) (string_content "noseparate-code") (" """)) () ")")))) (; ";")) (if_statement "if (iVar3 == 0) {\n        DAT_0008cc00._2_2_ = DAT_0008cc00._2_2_ & 0xdfff;\n        return 1;\n      }" (if "if") (parenthesized_expression "(iVar3 == 0)" (( "(") (binary_expression "iVar3 == 0" (identifier "iVar3") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n        DAT_0008cc00._2_2_ = DAT_0008cc00._2_2_ & 0xdfff;\n        return 1;\n      }" ({ "{") (expression_statement "DAT_0008cc00._2_2_ = DAT_0008cc00._2_2_ & 0xdfff;" (assignment_expression "DAT_0008cc00._2_2_ = DAT_0008cc00._2_2_ & 0xdfff" (field_expression "DAT_0008cc00._2_2_" (identifier "DAT_0008cc00") (. ".") (field_identifier "_2_2_")) (= "=") (binary_expression "DAT_0008cc00._2_2_ & 0xdfff" (field_expression "DAT_0008cc00._2_2_" (identifier "DAT_0008cc00") (. ".") (field_identifier "_2_2_")) (& "&") (number_literal "0xdfff"))) (; ";")) (return_statement "return 1;" (return "return") (number_literal "1") (; ";")) (} "}"))) (expression_statement "iVar3 = strcmp((char *)pbVar6,"common");" (assignment_expression "iVar3 = strcmp((char *)pbVar6,"common")" (identifier "iVar3") (= "=") (call_expression "strcmp((char *)pbVar6,"common")" (identifier "strcmp") (argument_list "((char *)pbVar6,"common")" (( "(") (cast_expression "(char *)pbVar6" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "pbVar6")) (, ",") (string_literal ""common"" (" """) (string_content "common") (" """)) () ")")))) (; ";")) (if_statement "if (iVar3 == 0) {\n        DAT_0008cc00._2_2_ = DAT_0008cc00._2_2_ & 0xfff9 | 2;\n        return 1;\n      }" (if "if") (parenthesized_expression "(iVar3 == 0)" (( "(") (binary_expression "iVar3 == 0" (identifier "iVar3") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n        DAT_0008cc00._2_2_ = DAT_0008cc00._2_2_ & 0xfff9 | 2;\n        return 1;\n      }" ({ "{") (expression_statement "DAT_0008cc00._2_2_ = DAT_0008cc00._2_2_ & 0xfff9 | 2;" (assignment_expression "DAT_0008cc00._2_2_ = DAT_0008cc00._2_2_ & 0xfff9 | 2" (field_expression "DAT_0008cc00._2_2_" (identifier "DAT_0008cc00") (. ".") (field_identifier "_2_2_")) (= "=") (binary_expression "DAT_0008cc00._2_2_ & 0xfff9 | 2" (binary_expression "DAT_0008cc00._2_2_ & 0xfff9" (field_expression "DAT_0008cc00._2_2_" (identifier "DAT_0008cc00") (. ".") (field_identifier "_2_2_")) (& "&") (number_literal "0xfff9")) (| "|") (number_literal "2"))) (; ";")) (return_statement "return 1;" (return "return") (number_literal "1") (; ";")) (} "}"))) (expression_statement "iVar3 = strcmp((char *)pbVar6,"nocommon");" (assignment_expression "iVar3 = strcmp((char *)pbVar6,"nocommon")" (identifier "iVar3") (= "=") (call_expression "strcmp((char *)pbVar6,"nocommon")" (identifier "strcmp") (argument_list "((char *)pbVar6,"nocommon")" (( "(") (cast_expression "(char *)pbVar6" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "pbVar6")) (, ",") (string_literal ""nocommon"" (" """) (string_content "nocommon") (" """)) () ")")))) (; ";")) (if_statement "if (iVar3 == 0) {\n        DAT_0008cc00._2_2_ = DAT_0008cc00._2_2_ & 0xfff9 | 4;\n        return 1;\n      }" (if "if") (parenthesized_expression "(iVar3 == 0)" (( "(") (binary_expression "iVar3 == 0" (identifier "iVar3") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n        DAT_0008cc00._2_2_ = DAT_0008cc00._2_2_ & 0xfff9 | 4;\n        return 1;\n      }" ({ "{") (expression_statement "DAT_0008cc00._2_2_ = DAT_0008cc00._2_2_ & 0xfff9 | 4;" (assignment_expression "DAT_0008cc00._2_2_ = DAT_0008cc00._2_2_ & 0xfff9 | 4" (field_expression "DAT_0008cc00._2_2_" (identifier "DAT_0008cc00") (. ".") (field_identifier "_2_2_")) (= "=") (binary_expression "DAT_0008cc00._2_2_ & 0xfff9 | 4" (binary_expression "DAT_0008cc00._2_2_ & 0xfff9" (field_expression "DAT_0008cc00._2_2_" (identifier "DAT_0008cc00") (. ".") (field_identifier "_2_2_")) (& "&") (number_literal "0xfff9")) (| "|") (number_literal "4"))) (; ";")) (return_statement "return 1;" (return "return") (number_literal "1") (; ";")) (} "}"))) (expression_statement "iVar3 = strcmp((char *)pbVar6,"text");" (assignment_expression "iVar3 = strcmp((char *)pbVar6,"text")" (identifier "iVar3") (= "=") (call_expression "strcmp((char *)pbVar6,"text")" (identifier "strcmp") (argument_list "((char *)pbVar6,"text")" (( "(") (cast_expression "(char *)pbVar6" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "pbVar6")) (, ",") (string_literal ""text"" (" """) (string_content "text") (" """)) () ")")))) (; ";")) (if_statement "if (iVar3 == 0) {\n        _DAT_0008cc04 = _DAT_0008cc04 | 2;\n        return 1;\n      }" (if "if") (parenthesized_expression "(iVar3 == 0)" (( "(") (binary_expression "iVar3 == 0" (identifier "iVar3") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n        _DAT_0008cc04 = _DAT_0008cc04 | 2;\n        return 1;\n      }" ({ "{") (expression_statement "_DAT_0008cc04 = _DAT_0008cc04 | 2;" (assignment_expression "_DAT_0008cc04 = _DAT_0008cc04 | 2" (identifier "_DAT_0008cc04") (= "=") (binary_expression "_DAT_0008cc04 | 2" (identifier "_DAT_0008cc04") (| "|") (number_literal "2"))) (; ";")) (return_statement "return 1;" (return "return") (number_literal "1") (; ";")) (} "}"))) (expression_statement "iVar3 = strcmp((char *)pbVar6,"notext");" (assignment_expression "iVar3 = strcmp((char *)pbVar6,"notext")" (identifier "iVar3") (= "=") (call_expression "strcmp((char *)pbVar6,"notext")" (identifier "strcmp") (argument_list "((char *)pbVar6,"notext")" (( "(") (cast_expression "(char *)pbVar6" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "pbVar6")) (, ",") (string_literal ""notext"" (" """) (string_content "notext") (" """)) () ")")))) (; ";")) (if_statement "if ((iVar3 == 0) || (iVar3 = strcmp((char *)pbVar6,"textoff"), iVar3 == 0)) {\n        _DAT_0008cc04 = _DAT_0008cc04 & 0xfffffffd;\n        return 1;\n      }" (if "if") (parenthesized_expression "((iVar3 == 0) || (iVar3 = strcmp((char *)pbVar6,"textoff"), iVar3 == 0))" (( "(") (binary_expression "(iVar3 == 0) || (iVar3 = strcmp((char *)pbVar6,"textoff"), iVar3 == 0)" (parenthesized_expression "(iVar3 == 0)" (( "(") (binary_expression "iVar3 == 0" (identifier "iVar3") (== "==") (number_literal "0")) () ")")) (|| "||") (parenthesized_expression "(iVar3 = strcmp((char *)pbVar6,"textoff"), iVar3 == 0)" (( "(") (comma_expression "iVar3 = strcmp((char *)pbVar6,"textoff"), iVar3 == 0" (assignment_expression "iVar3 = strcmp((char *)pbVar6,"textoff")" (identifier "iVar3") (= "=") (call_expression "strcmp((char *)pbVar6,"textoff")" (identifier "strcmp") (argument_list "((char *)pbVar6,"textoff")" (( "(") (cast_expression "(char *)pbVar6" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "pbVar6")) (, ",") (string_literal ""textoff"" (" """) (string_content "textoff") (" """)) () ")")))) (, ",") (binary_expression "iVar3 == 0" (identifier "iVar3") (== "==") (number_literal "0"))) () ")"))) () ")")) (compound_statement "{\n        _DAT_0008cc04 = _DAT_0008cc04 & 0xfffffffd;\n        return 1;\n      }" ({ "{") (expression_statement "_DAT_0008cc04 = _DAT_0008cc04 & 0xfffffffd;" (assignment_expression "_DAT_0008cc04 = _DAT_0008cc04 & 0xfffffffd" (identifier "_DAT_0008cc04") (= "=") (binary_expression "_DAT_0008cc04 & 0xfffffffd" (identifier "_DAT_0008cc04") (& "&") (number_literal "0xfffffffd"))) (; ";")) (return_statement "return 1;" (return "return") (number_literal "1") (; ";")) (} "}"))) (expression_statement "pcVar5 = "%P: warning: -z %s ignored\n";" (assignment_expression "pcVar5 = "%P: warning: -z %s ignored\n"" (identifier "pcVar5") (= "=") (string_literal ""%P: warning: -z %s ignored\n"" (" """) (string_content "%P: warning: -z %s ignored") (escape_sequence "\n") (" """))) (; ";")) (goto_statement "goto LAB_0003606a;" (goto "goto") (statement_identifier "LAB_0003606a") (; ";")) (} "}"))) (expression_statement "DAT_0008cd64 = strtoul((char *)(pbVar6 + 0x11),local_20,0);" (assignment_expression "DAT_0008cd64 = strtoul((char *)(pbVar6 + 0x11),local_20,0)" (identifier "DAT_0008cd64") (= "=") (call_expression "strtoul((char *)(pbVar6 + 0x11),local_20,0)" (identifier "strtoul") (argument_list "((char *)(pbVar6 + 0x11),local_20,0)" (( "(") (cast_expression "(char *)(pbVar6 + 0x11)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pbVar6 + 0x11)" (( "(") (binary_expression "pbVar6 + 0x11" (identifier "pbVar6") (+ "+") (number_literal "0x11")) () ")"))) (, ",") (identifier "local_20") (, ",") (number_literal "0") () ")")))) (; ";")) (if_statement "if ((*local_20[0] == '\0') && ((DAT_0008cd64 - 1 & DAT_0008cd64) == 0)) {\n      return 1;\n    }" (if "if") (parenthesized_expression "((*local_20[0] == '\0') && ((DAT_0008cd64 - 1 & DAT_0008cd64) == 0))" (( "(") (binary_expression "(*local_20[0] == '\0') && ((DAT_0008cd64 - 1 & DAT_0008cd64) == 0)" (parenthesized_expression "(*local_20[0] == '\0')" (( "(") (binary_expression "*local_20[0] == '\0'" (pointer_expression "*local_20[0]" (* "*") (subscript_expression "local_20[0]" (identifier "local_20") ([ "[") (number_literal "0") (] "]"))) (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (&& "&&") (parenthesized_expression "((DAT_0008cd64 - 1 & DAT_0008cd64) == 0)" (( "(") (binary_expression "(DAT_0008cd64 - 1 & DAT_0008cd64) == 0" (parenthesized_expression "(DAT_0008cd64 - 1 & DAT_0008cd64)" (( "(") (binary_expression "DAT_0008cd64 - 1 & DAT_0008cd64" (binary_expression "DAT_0008cd64 - 1" (identifier "DAT_0008cd64") (- "-") (number_literal "1")) (& "&") (identifier "DAT_0008cd64")) () ")")) (== "==") (number_literal "0")) () ")"))) () ")")) (compound_statement "{\n      return 1;\n    }" ({ "{") (return_statement "return 1;" (return "return") (number_literal "1") (; ";")) (} "}"))) (expression_statement "pcVar5 = "%F%P: invalid common page size `%s\'\n";" (assignment_expression "pcVar5 = "%F%P: invalid common page size `%s\'\n"" (identifier "pcVar5") (= "=") (string_literal ""%F%P: invalid common page size `%s\'\n"" (" """) (string_content "%F%P: invalid common page size `%s") (escape_sequence "\'") (escape_sequence "\n") (" """))) (; ";")) (expression_statement "__s1 = (char *)(*(int *)puVar1 + 0x11);" (assignment_expression "__s1 = (char *)(*(int *)puVar1 + 0x11)" (identifier "__s1") (= "=") (cast_expression "(char *)(*(int *)puVar1 + 0x11)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)puVar1 + 0x11)" (( "(") (binary_expression "*(int *)puVar1 + 0x11" (pointer_expression "*(int *)puVar1" (* "*") (cast_expression "(int *)puVar1" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "puVar1"))) (+ "+") (number_literal "0x11")) () ")")))) (; ";")) (} "}")))) (labeled_statement "LAB_00035f83:\n  uVar4 = dcgettext(0,pcVar5,5);" (statement_identifier "LAB_00035f83") (: ":") (expression_statement "uVar4 = dcgettext(0,pcVar5,5);" (assignment_expression "uVar4 = dcgettext(0,pcVar5,5)" (identifier "uVar4") (= "=") (call_expression "dcgettext(0,pcVar5,5)" (identifier "dcgettext") (argument_list "(0,pcVar5,5)" (( "(") (number_literal "0") (, ",") (identifier "pcVar5") (, ",") (number_literal "5") () ")")))) (; ";"))) (expression_statement "FUN_00031700(uVar4,__s1);" (call_expression "FUN_00031700(uVar4,__s1)" (identifier "FUN_00031700") (argument_list "(uVar4,__s1)" (( "(") (identifier "uVar4") (, ",") (identifier "__s1") () ")"))) (; ";")) (return_statement "return 1;" (return "return") (number_literal "1") (; ";")) (} "}")))

/* WARNING: Function: __x86.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */
/* WARNING: Unknown calling convention */

type_1 function_1(int var_1)

{
  type_2 *puVar1;
  type_3 uVar2;
  int var_7;
  char *pcVar4;
  type_4 *var_6;
  char *__s1;
  type_4 *var_8;
  type_4 *var_9;
  bool var_10;
  bool var_14;
  bool var_15;
  type_4 bVar11;
  char *end;
  type_5 uStack_14;
  
  puVar1 = PTR_optarg_0008bff4;
  bVar11 = 0;
  uStack_14 = 0x35ac9;
  if (var_1 == 0x193) {
    link_info._2_2_ = link_info._2_2_ & 0x3fff | 0x4000;
    return 1;
  }
  uVar2 = link_info._4_1_;
  if (0x193 < var_1) {
    if (var_1 != 0x196) {
      if (var_1 < 0x197) {
        if (var_1 == 0x194) {
          link_info._2_2_ = link_info._2_2_ & 0x3fff;
          return 1;
        }
        if (var_1 != 0x195) {
          return 0;
        }
        var_2(*(char **)PTR_optarg_0008bff4);
        return 1;
      }
      if (var_1 == 0x198) {
        var_3(&audit,*(char **)PTR_optarg_0008bff4);
        return 1;
      }
      if (var_1 < 0x198) {
        if (var_4 != (char *)0x0) {
          var_5(var_4);
          var_4 = (char *)0x0;
        }
        var_6 = *(type_4 **)PTR_optarg_0008bff4;
        var_10 = false;
        var_15 = var_6 == (type_4 *)0x0;
        if (var_15) {
          var_6 = &DAT_0004f1e8;
          *(type_3 **)PTR_optarg_0008bff4 = &DAT_0004f1e8;
        }
        else {
          var_7 = 5;
          var_8 = var_6;
          var_9 = (type_4 *)0x4ab38;
          do {
            if (var_7 == 0) break;
            var_7 = var_7 + -1;
            var_10 = *var_8 < *var_9;
            var_15 = *var_8 == *var_9;
            var_8 = var_8 + (type_6)bVar11 * -2 + 1;
            var_9 = var_9 + (type_6)bVar11 * -2 + 1;
          } while (var_15);
          if ((!var_10 && !var_15) == var_10) {
            return 1;
          }
        }
        var_4 = (char *)var_11(var_6);
        return 1;
      }
      if (var_1 != 0x199) {
        return 0;
      }
      __s1 = *(char **)PTR_optarg_0008bff4;
      var_7 = var_12(__s1,"none");
      if (var_7 == 0) {
        link_info.compress_debug = COMPRESS_DEBUG_NONE;
        return 1;
      }
      var_7 = var_12(__s1,"zlib");
      if (var_7 != 0) {
        var_7 = var_12(__s1,"zlib-gnu");
        if (var_7 == 0) {
          link_info.compress_debug = COMPRESS_DEBUG_GNU_ZLIB;
          return 1;
        }
        var_7 = var_12(__s1,"zlib-gabi");
        if (var_7 != 0) {
          pcVar4 = "%F%P: invalid --compress-debug-sections option: `%s\'\n";
          goto LAB_00035f83;
        }
      }
      link_info.compress_debug = COMPRESS_DEBUG_GABI_ZLIB;
      return 1;
    }
    var_6 = *(type_4 **)PTR_optarg_0008bff4;
    var_7 = 5;
    var_10 = false;
    var_15 = (link_info._4_4_ & 0xf3) == 0;
    link_info._4_4_ = link_info._4_4_ & 0xfffffff3;
    var_8 = var_6;
    var_9 = &DAT_0007ac19;
    do {
      if (var_7 == 0) break;
      var_7 = var_7 + -1;
      var_10 = *var_8 < *var_9;
      var_15 = *var_8 == *var_9;
      var_8 = var_8 + 1;
      var_9 = var_9 + 1;
    } while (var_15);
    var_14 = false;
    var_10 = (!var_10 && !var_15) == var_10;
    if (var_10) {
      link_info._4_4_ = var_13(link_info._5_3_,uVar2) & 0xfffffff3 | 4;
      return 1;
    }
    var_7 = 4;
    var_8 = var_6;
    var_9 = &DAT_0007ac0b;
    do {
      if (var_7 == 0) break;
      var_7 = var_7 + -1;
      var_14 = *var_8 < *var_9;
      var_10 = *var_8 == *var_9;
      var_8 = var_8 + 1;
      var_9 = var_9 + 1;
    } while (var_10);
    var_15 = false;
    var_10 = (!var_14 && !var_10) == var_14;
    if (var_10) {
      link_info._4_4_ = var_13(link_info._5_3_,uVar2) & 0xfffffff3 | 8;
      return 1;
    }
    var_7 = 5;
    var_8 = var_6;
    var_9 = &DAT_0007ac1e;
    do {
      if (var_7 == 0) break;
      var_7 = var_7 + -1;
      var_15 = *var_8 < *var_9;
      var_10 = *var_8 == *var_9;
      var_8 = var_8 + 1;
      var_9 = var_9 + 1;
    } while (var_10);
    if ((!var_15 && !var_10) == var_15) {
      link_info._4_4_ = var_13(link_info._5_3_,uVar2) & 0xfffffff3 | 0xc;
      return 1;
    }
    pcVar4 = "%F%P: invalid hash style `%s\'\n";
LAB_0003606a:
    pcVar4 = (char *)var_16(0,pcVar4,5);
    var_17(pcVar4,var_6);
    return 1;
  }
  var_10 = (type_6)var_1 < 0x12d;
  var_15 = var_1 == 0x12d;
  if (var_15) {
    var_7 = 7;
    var_6 = *(type_4 **)PTR_optarg_0008bff4;
    var_8 = var_6;
    var_9 = (type_4 *)"target";
    do {
      if (var_7 == 0) break;
      var_7 = var_7 + -1;
      var_10 = *var_8 < *var_9;
      var_15 = *var_8 == *var_9;
      var_8 = var_8 + 1;
      var_9 = var_9 + 1;
    } while (var_15);
    var_14 = false;
    var_10 = (!var_10 && !var_15) == var_10;
    if (!var_10) {
      var_7 = 7;
      var_8 = var_6;
      var_9 = (type_4 *)"single";
      do {
        if (var_7 == 0) break;
        var_7 = var_7 + -1;
        var_14 = *var_8 < *var_9;
        var_10 = *var_8 == *var_9;
        var_8 = var_8 + 1;
        var_9 = var_9 + 1;
      } while (var_10);
      var_15 = false;
      var_10 = (!var_14 && !var_10) == var_14;
      if (!var_10) {
        var_7 = 9;
        var_8 = var_6;
        var_9 = (type_4 *)"negative";
        do {
          if (var_7 == 0) break;
          var_7 = var_7 + -1;
          var_15 = *var_8 < *var_9;
          var_10 = *var_8 == *var_9;
          var_8 = var_8 + 1;
          var_9 = var_9 + 1;
        } while (var_10);
        var_14 = false;
        var_10 = (!var_15 && !var_10) == var_15;
        if (var_10) {
          got_handling = 1;
          return 1;
        }
        var_7 = 9;
        var_8 = var_6;
        var_9 = (type_4 *)"multigot";
        do {
          if (var_7 == 0) break;
          var_7 = var_7 + -1;
          var_14 = *var_8 < *var_9;
          var_10 = *var_8 == *var_9;
          var_8 = var_8 + 1;
          var_9 = var_9 + 1;
        } while (var_10);
        if ((!var_14 && !var_10) == var_14) {
          got_handling = 2;
          return 1;
        }
        pcVar4 = "%P: unrecognized --got argument \'%s\'\n";
        goto LAB_0003606a;
      }
    }
    got_handling = 0;
    return 1;
  }
  if (0x12d < var_1) {
    if (var_1 == 0x191) {
      link_info._4_4_ = link_info._4_4_ | 0x100;
      return 1;
    }
    if (0x191 < var_1) {
      link_info._2_2_ = link_info._2_2_ | 0x1e0;
      link_info.flags_1 = link_info.flags_1 | 4;
      return 1;
    }
    if (var_1 != 400) {
      return 0;
    }
    link_info._4_4_ = link_info._4_4_ & 0xfffffeff;
    return 1;
  }
  if (var_1 == 0x50) {
    var_3(&depaudit,*(char **)PTR_optarg_0008bff4);
    return 1;
  }
  var_10 = (type_6)var_1 < 0x7a;
  var_15 = var_1 == 0x7a;
  if (!var_15) {
    return 0;
  }
  var_7 = 5;
  var_6 = *(type_4 **)PTR_optarg_0008bff4;
  var_8 = var_6;
  var_9 = (type_4 *)0x4acc7;
  do {
    if (var_7 == 0) break;
    var_7 = var_7 + -1;
    var_10 = *var_8 < *var_9;
    var_15 = *var_8 == *var_9;
    var_8 = var_8 + 1;
    var_9 = var_9 + 1;
  } while (var_15);
  var_14 = false;
  var_10 = (!var_10 && !var_15) == var_10;
  if (var_10) {
    link_info._2_2_ = link_info._2_2_ | 0x60;
    return 1;
  }
  var_7 = 7;
  var_8 = var_6;
  var_9 = (type_4 *)"undefs";
  do {
    if (var_7 == 0) break;
    var_7 = var_7 + -1;
    var_14 = *var_8 < *var_9;
    var_10 = *var_8 == *var_9;
    var_8 = var_8 + 1;
    var_9 = var_9 + 1;
  } while (var_10);
  var_15 = false;
  var_10 = (!var_14 && !var_10) == var_14;
  if (var_10) {
    link_info._2_2_ = link_info._2_2_ & 0xff9f | 0x20;
    return 1;
  }
  var_7 = 8;
  var_8 = var_6;
  var_9 = (type_4 *)"muldefs";
  do {
    if (var_7 == 0) break;
    var_7 = var_7 + -1;
    var_15 = *var_8 < *var_9;
    var_10 = *var_8 == *var_9;
    var_8 = var_8 + 1;
    var_9 = var_9 + 1;
  } while (var_10);
  var_14 = false;
  var_10 = (!var_15 && !var_10) == var_15;
  if (var_10) {
    link_info._4_4_ = link_info._4_4_ | 0x800;
    return 1;
  }
  var_7 = 0xe;
  var_8 = var_6;
  var_9 = (type_4 *)"max-page-size=";
  do {
    if (var_7 == 0) break;
    var_7 = var_7 + -1;
    var_14 = *var_8 < *var_9;
    var_10 = *var_8 == *var_9;
    var_8 = var_8 + 1;
    var_9 = var_9 + 1;
  } while (var_10);
  var_15 = false;
  var_10 = (!var_14 && !var_10) == var_14;
  if (var_10) {
    config.maxpagesize = var_18((char *)(var_6 + 0xe),&end,0);
    if ((*end == '\0') && ((config.maxpagesize - 1 & config.maxpagesize) == 0)) {
      return 1;
    }
    pcVar4 = "%F%P: invalid maximum page size `%s\'\n";
    __s1 = (char *)(*(int *)puVar1 + 0xe);
  }
  else {
    var_7 = 0x11;
    var_8 = var_6;
    var_9 = (type_4 *)"common-page-size=";
    do {
      if (var_7 == 0) break;
      var_7 = var_7 + -1;
      var_15 = *var_8 < *var_9;
      var_10 = *var_8 == *var_9;
      var_8 = var_8 + 1;
      var_9 = var_9 + 1;
    } while (var_10);
    var_14 = false;
    var_10 = (!var_15 && !var_10) == var_15;
    if (!var_10) {
      var_7 = 0xb;
      var_8 = var_6;
      var_9 = (type_4 *)"stack-size=";
      do {
        if (var_7 == 0) break;
        var_7 = var_7 + -1;
        var_14 = *var_8 < *var_9;
        var_10 = *var_8 == *var_9;
        var_8 = var_8 + 1;
        var_9 = var_9 + 1;
      } while (var_10);
      var_15 = false;
      var_10 = (!var_14 && !var_10) == var_14;
      if (var_10) {
        link_info.stacksize = var_18((char *)(var_6 + 0xb),&end,0);
        if ((*end != '\0') || (link_info.stacksize < 0)) {
          var_7 = *(int *)puVar1;
          pcVar4 = (char *)var_16(0,"%F%P: invalid stack size `%s\'\n",5,link_info.stacksize);
          var_17(pcVar4,var_7 + 0xb);
        }
        if (link_info.stacksize == 0) {
          link_info.stacksize = -1;
          return 1;
        }
        return 1;
      }
      var_7 = 10;
      var_8 = var_6;
      var_9 = (type_4 *)0x7ac61;
      do {
        if (var_7 == 0) break;
        var_7 = var_7 + -1;
        var_15 = *var_8 < *var_9;
        var_10 = *var_8 == *var_9;
        var_8 = var_8 + 1;
        var_9 = var_9 + 1;
      } while (var_10);
      var_14 = false;
      var_10 = (!var_15 && !var_10) == var_15;
      if (var_10) {
        link_info._4_4_ = link_info._4_4_ & 0xfffe7fff | 0x8000;
        return 1;
      }
      var_7 = 0xc;
      var_8 = var_6;
      var_9 = (type_4 *)"noexecstack";
      do {
        if (var_7 == 0) break;
        var_7 = var_7 + -1;
        var_14 = *var_8 < *var_9;
        var_10 = *var_8 == *var_9;
        var_8 = var_8 + 1;
        var_9 = var_9 + 1;
      } while (var_10);
      if ((!var_14 && !var_10) == var_14) {
        link_info._4_4_ = link_info._4_4_ & 0xfffe7fff | 0x10000;
        return 1;
      }
      var_7 = var_19((char *)var_6,"globalaudit");
      if (var_7 == 0) {
        link_info.flags_1 = link_info.flags_1 | 0x1000000;
        return 1;
      }
      var_7 = var_19((char *)var_6,"global");
      if (var_7 == 0) {
        link_info.flags_1 = link_info.flags_1 | 2;
        return 1;
      }
      var_7 = var_19((char *)var_6,"initfirst");
      if (var_7 == 0) {
        link_info.flags_1 = link_info.flags_1 | 0x20;
        return 1;
      }
      var_7 = var_19((char *)var_6,"interpose");
      if (var_7 == 0) {
        link_info.flags_1 = link_info.flags_1 | 0x400;
        return 1;
      }
      var_7 = var_19((char *)var_6,"loadfltr");
      if (var_7 == 0) {
        link_info.flags_1 = link_info.flags_1 | 0x10;
        return 1;
      }
      var_7 = var_19((char *)var_6,"nodefaultlib");
      if (var_7 == 0) {
        link_info.flags_1 = link_info.flags_1 | 0x800;
        return 1;
      }
      var_7 = var_19((char *)var_6,"nodelete");
      if (var_7 == 0) {
        link_info.flags_1 = link_info.flags_1 | 8;
        return 1;
      }
      var_7 = var_19((char *)var_6,"nodlopen");
      if (var_7 == 0) {
        link_info.flags_1 = link_info.flags_1 | 0x40;
        return 1;
      }
      var_7 = var_19((char *)var_6,"nodump");
      if (var_7 == 0) {
        link_info.flags_1 = link_info.flags_1 | 0x1000;
        return 1;
      }
      var_7 = var_19((char *)var_6,"now");
      if (var_7 == 0) {
        link_info.flags = link_info.flags | 8;
        link_info.flags_1 = link_info.flags_1 | 1;
        return 1;
      }
      var_7 = var_19((char *)var_6,"lazy");
      if (var_7 == 0) {
        link_info.flags = link_info.flags & 0xfffffff7;
        link_info.flags_1 = link_info.flags_1 & 0xfffffffe;
        return 1;
      }
      var_7 = var_19((char *)var_6,"origin");
      if (var_7 == 0) {
        link_info.flags = link_info.flags | 1;
        link_info.flags_1 = link_info.flags_1 | 0x80;
        return 1;
      }
      var_7 = var_19((char *)var_6,"combreloc");
      if (var_7 == 0) {
        link_info._4_4_ = link_info._4_4_ | 0x40;
        return 1;
      }
      var_7 = var_19((char *)var_6,"nocombreloc");
      if (var_7 == 0) {
        link_info._4_4_ = link_info._4_4_ & 0xffffffbf;
        return 1;
      }
      var_7 = var_19((char *)var_6,"nocopyreloc");
      if (var_7 == 0) {
        link_info._0_1_ = link_info._0_1_ | 8;
        return 1;
      }
      var_7 = var_19((char *)var_6,"relro");
      if (var_7 == 0) {
        link_info._2_2_ = link_info._2_2_ | 0x1000;
        return 1;
      }
      var_7 = var_19((char *)var_6,"norelro");
      if (var_7 == 0) {
        link_info._2_2_ = link_info._2_2_ & 0xefff;
        return 1;
      }
      var_7 = var_19((char *)var_6,"separate-code");
      if (var_7 == 0) {
        link_info._2_2_ = link_info._2_2_ | 0x2000;
        return 1;
      }
      var_7 = var_19((char *)var_6,"noseparate-code");
      if (var_7 == 0) {
        link_info._2_2_ = link_info._2_2_ & 0xdfff;
        return 1;
      }
      var_7 = var_19((char *)var_6,"common");
      if (var_7 == 0) {
        link_info._2_2_ = link_info._2_2_ & 0xfff9 | 2;
        return 1;
      }
      var_7 = var_19((char *)var_6,"nocommon");
      if (var_7 == 0) {
        link_info._2_2_ = link_info._2_2_ & 0xfff9 | 4;
        return 1;
      }
      var_7 = var_19((char *)var_6,"text");
      if (var_7 == 0) {
        link_info._4_4_ = link_info._4_4_ | 2;
        return 1;
      }
      var_7 = var_19((char *)var_6,"notext");
      if ((var_7 == 0) || (var_7 = var_19((char *)var_6,"textoff"), var_7 == 0)) {
        link_info._4_4_ = link_info._4_4_ & 0xfffffffd;
        return 1;
      }
      pcVar4 = "%P: warning: -z %s ignored\n";
      goto LAB_0003606a;
    }
    config.commonpagesize = var_18((char *)(var_6 + 0x11),&end,0);
    if ((*end == '\0') && ((config.commonpagesize - 1 & config.commonpagesize) == 0)) {
      return 1;
    }
    pcVar4 = "%F%P: invalid common page size `%s\'\n";
    __s1 = (char *)(*(int *)puVar1 + 0x11);
  }
LAB_00035f83:
  pcVar4 = (char *)var_16(0,pcVar4,5);
  var_17(pcVar4,__s1);
  return 1;
}


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

/* WARNING: Function: __i686.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */
/* WARNING: Globals starting with '_' overlap smaller symbols at the same address */

undefined4 MASKED(uint param_1)

{
  undefined *puVar1;
  undefined1 uVar2;
  int iVar3;
  undefined4 uVar4;
  char *pcVar5;
  byte *pbVar6;
  char *__s1;
  byte *pbVar7;
  byte *pbVar8;
  bool bVar9;
  bool bVar10;
  bool bVar11;
  byte bVar12;
  char *local_20 [3];
  undefined4 uStack_14;
  
  puVar1 = PTR_optarg_0008bff4;
  bVar12 = 0;
  uStack_14 = 0x35ac9;
  if (param_1 == 0x193) {
    DAT_0008cc00._2_2_ = DAT_0008cc00._2_2_ & 0x3fff | 0x4000;
    return 1;
  }
  uVar2 = DAT_0008cc04;
  if (0x193 < (int)param_1) {
    if (param_1 != 0x196) {
      if ((int)param_1 < 0x197) {
        if (param_1 == 0x194) {
          DAT_0008cc00._2_2_ = DAT_0008cc00._2_2_ & 0x3fff;
          return 1;
        }
        if (param_1 != 0x195) {
          return 0;
        }
        FUN_00024120(*(undefined4 *)PTR_optarg_0008bff4);
        return 1;
      }
      if (param_1 == 0x198) {
        FUN_000359c0();
        return 1;
      }
      if ((int)param_1 < 0x198) {
        if (DAT_0008ca2c != (void *)0x0) {
          free(DAT_0008ca2c);
          DAT_0008ca2c = (void *)0x0;
        }
        pbVar6 = *(byte **)PTR_optarg_0008bff4;
        bVar9 = false;
        bVar11 = pbVar6 == (byte *)0x0;
        if (bVar11) {
          pbVar6 = &DAT_0004f1e8;
          *(undefined1 **)PTR_optarg_0008bff4 = &DAT_0004f1e8;
        }
        else {
          iVar3 = 5;
          pbVar7 = pbVar6;
          pbVar8 = (byte *)0x4ab38;
          do {
            if (iVar3 == 0) break;
            iVar3 = iVar3 + -1;
            bVar9 = *pbVar7 < *pbVar8;
            bVar11 = *pbVar7 == *pbVar8;
            pbVar7 = pbVar7 + (uint)bVar12 * -2 + 1;
            pbVar8 = pbVar8 + (uint)bVar12 * -2 + 1;
          } while (bVar11);
          if ((!bVar9 && !bVar11) == bVar9) {
            return 1;
          }
        }
        DAT_0008ca2c = (void *)xstrdup(pbVar6);
        return 1;
      }
      if (param_1 != 0x199) {
        return 0;
      }
      __s1 = *(char **)PTR_optarg_0008bff4;
      iVar3 = strcasecmp(__s1,"none");
      if (iVar3 == 0) {
        DAT_0008cc0c = 0;
        return 1;
      }
      iVar3 = strcasecmp(__s1,"zlib");
      if (iVar3 != 0) {
        iVar3 = strcasecmp(__s1,"zlib-gnu");
        if (iVar3 == 0) {
          DAT_0008cc0c = 3;
          return 1;
        }
        iVar3 = strcasecmp(__s1,"zlib-gabi");
        if (iVar3 != 0) {
          pcVar5 = "%F%P: invalid --compress-debug-sections option: `%s\'\n";
          goto LAB_00035f83;
        }
      }
      DAT_0008cc0c = 5;
      return 1;
    }
    pbVar6 = *(byte **)PTR_optarg_0008bff4;
    iVar3 = 5;
    bVar9 = false;
    bVar11 = (_DAT_0008cc04 & 0xf3) == 0;
    _DAT_0008cc04 = _DAT_0008cc04 & 0xfffffff3;
    pbVar7 = pbVar6;
    pbVar8 = &DAT_0007ac19;
    do {
      if (iVar3 == 0) break;
      iVar3 = iVar3 + -1;
      bVar9 = *pbVar7 < *pbVar8;
      bVar11 = *pbVar7 == *pbVar8;
      pbVar7 = pbVar7 + 1;
      pbVar8 = pbVar8 + 1;
    } while (bVar11);
    bVar10 = false;
    bVar9 = (!bVar9 && !bVar11) == bVar9;
    if (bVar9) {
      _DAT_0008cc04 = CONCAT31(_DAT_0008cc05,uVar2) & 0xfffffff3 | 4;
      return 1;
    }
    iVar3 = 4;
    pbVar7 = pbVar6;
    pbVar8 = &DAT_0007ac0b;
    do {
      if (iVar3 == 0) break;
      iVar3 = iVar3 + -1;
      bVar10 = *pbVar7 < *pbVar8;
      bVar9 = *pbVar7 == *pbVar8;
      pbVar7 = pbVar7 + 1;
      pbVar8 = pbVar8 + 1;
    } while (bVar9);
    bVar11 = false;
    bVar9 = (!bVar10 && !bVar9) == bVar10;
    if (bVar9) {
      _DAT_0008cc04 = CONCAT31(_DAT_0008cc05,uVar2) & 0xfffffff3 | 8;
      return 1;
    }
    iVar3 = 5;
    pbVar7 = pbVar6;
    pbVar8 = &DAT_0007ac1e;
    do {
      if (iVar3 == 0) break;
      iVar3 = iVar3 + -1;
      bVar11 = *pbVar7 < *pbVar8;
      bVar9 = *pbVar7 == *pbVar8;
      pbVar7 = pbVar7 + 1;
      pbVar8 = pbVar8 + 1;
    } while (bVar9);
    if ((!bVar11 && !bVar9) == bVar11) {
      _DAT_0008cc04 = CONCAT31(_DAT_0008cc05,uVar2) & 0xfffffff3 | 0xc;
      return 1;
    }
    pcVar5 = "%F%P: invalid hash style `%s\'\n";
LAB_0003606a:
    uVar4 = dcgettext(0,pcVar5,5);
    FUN_00031700(uVar4,pbVar6);
    return 1;
  }
  bVar9 = param_1 < 0x12d;
  bVar11 = param_1 == 0x12d;
  if (bVar11) {
    iVar3 = 7;
    pbVar6 = *(byte **)PTR_optarg_0008bff4;
    pbVar7 = pbVar6;
    pbVar8 = (byte *)"target";
    do {
      if (iVar3 == 0) break;
      iVar3 = iVar3 + -1;
      bVar9 = *pbVar7 < *pbVar8;
      bVar11 = *pbVar7 == *pbVar8;
      pbVar7 = pbVar7 + 1;
      pbVar8 = pbVar8 + 1;
    } while (bVar11);
    bVar10 = false;
    bVar9 = (!bVar9 && !bVar11) == bVar9;
    if (!bVar9) {
      iVar3 = 7;
      pbVar7 = pbVar6;
      pbVar8 = (byte *)"single";
      do {
        if (iVar3 == 0) break;
        iVar3 = iVar3 + -1;
        bVar10 = *pbVar7 < *pbVar8;
        bVar9 = *pbVar7 == *pbVar8;
        pbVar7 = pbVar7 + 1;
        pbVar8 = pbVar8 + 1;
      } while (bVar9);
      bVar11 = false;
      bVar9 = (!bVar10 && !bVar9) == bVar10;
      if (!bVar9) {
        iVar3 = 9;
        pbVar7 = pbVar6;
        pbVar8 = (byte *)"negative";
        do {
          if (iVar3 == 0) break;
          iVar3 = iVar3 + -1;
          bVar11 = *pbVar7 < *pbVar8;
          bVar9 = *pbVar7 == *pbVar8;
          pbVar7 = pbVar7 + 1;
          pbVar8 = pbVar8 + 1;
        } while (bVar9);
        bVar10 = false;
        bVar9 = (!bVar11 && !bVar9) == bVar11;
        if (bVar9) {
          DAT_0008cac4 = 1;
          return 1;
        }
        iVar3 = 9;
        pbVar7 = pbVar6;
        pbVar8 = (byte *)"multigot";
        do {
          if (iVar3 == 0) break;
          iVar3 = iVar3 + -1;
          bVar10 = *pbVar7 < *pbVar8;
          bVar9 = *pbVar7 == *pbVar8;
          pbVar7 = pbVar7 + 1;
          pbVar8 = pbVar8 + 1;
        } while (bVar9);
        if ((!bVar10 && !bVar9) == bVar10) {
          DAT_0008cac4 = 2;
          return 1;
        }
        pcVar5 = "%P: unrecognized --got argument \'%s\'\n";
        goto LAB_0003606a;
      }
    }
    DAT_0008cac4 = 0;
    return 1;
  }
  if (0x12d < (int)param_1) {
    if (param_1 == 0x191) {
      _DAT_0008cc04 = _DAT_0008cc04 | 0x100;
      return 1;
    }
    if (0x191 < (int)param_1) {
      DAT_0008cc00._2_2_ = DAT_0008cc00._2_2_ | 0x1e0;
      DAT_0008cc74 = DAT_0008cc74 | 4;
      return 1;
    }
    if (param_1 != 400) {
      return 0;
    }
    _DAT_0008cc04 = _DAT_0008cc04 & 0xfffffeff;
    return 1;
  }
  if (param_1 == 0x50) {
    FUN_000359c0();
    return 1;
  }
  bVar9 = param_1 < 0x7a;
  bVar11 = param_1 == 0x7a;
  if (!bVar11) {
    return 0;
  }
  iVar3 = 5;
  pbVar6 = *(byte **)PTR_optarg_0008bff4;
  pbVar7 = pbVar6;
  pbVar8 = (byte *)0x4acc7;
  do {
    if (iVar3 == 0) break;
    iVar3 = iVar3 + -1;
    bVar9 = *pbVar7 < *pbVar8;
    bVar11 = *pbVar7 == *pbVar8;
    pbVar7 = pbVar7 + 1;
    pbVar8 = pbVar8 + 1;
  } while (bVar11);
  bVar10 = false;
  bVar9 = (!bVar9 && !bVar11) == bVar9;
  if (bVar9) {
    DAT_0008cc00._2_2_ = DAT_0008cc00._2_2_ | 0x60;
    return 1;
  }
  iVar3 = 7;
  pbVar7 = pbVar6;
  pbVar8 = (byte *)"undefs";
  do {
    if (iVar3 == 0) break;
    iVar3 = iVar3 + -1;
    bVar10 = *pbVar7 < *pbVar8;
    bVar9 = *pbVar7 == *pbVar8;
    pbVar7 = pbVar7 + 1;
    pbVar8 = pbVar8 + 1;
  } while (bVar9);
  bVar11 = false;
  bVar9 = (!bVar10 && !bVar9) == bVar10;
  if (bVar9) {
    DAT_0008cc00._2_2_ = DAT_0008cc00._2_2_ & 0xff9f | 0x20;
    return 1;
  }
  iVar3 = 8;
  pbVar7 = pbVar6;
  pbVar8 = (byte *)"muldefs";
  do {
    if (iVar3 == 0) break;
    iVar3 = iVar3 + -1;
    bVar11 = *pbVar7 < *pbVar8;
    bVar9 = *pbVar7 == *pbVar8;
    pbVar7 = pbVar7 + 1;
    pbVar8 = pbVar8 + 1;
  } while (bVar9);
  bVar10 = false;
  bVar9 = (!bVar11 && !bVar9) == bVar11;
  if (bVar9) {
    _DAT_0008cc04 = _DAT_0008cc04 | 0x800;
    return 1;
  }
  iVar3 = 0xe;
  pbVar7 = pbVar6;
  pbVar8 = (byte *)"max-page-size=";
  do {
    if (iVar3 == 0) break;
    iVar3 = iVar3 + -1;
    bVar10 = *pbVar7 < *pbVar8;
    bVar9 = *pbVar7 == *pbVar8;
    pbVar7 = pbVar7 + 1;
    pbVar8 = pbVar8 + 1;
  } while (bVar9);
  bVar11 = false;
  bVar9 = (!bVar10 && !bVar9) == bVar10;
  if (bVar9) {
    DAT_0008cd60 = strtoul((char *)(pbVar6 + 0xe),local_20,0);
    if ((*local_20[0] == '\0') && ((DAT_0008cd60 - 1 & DAT_0008cd60) == 0)) {
      return 1;
    }
    pcVar5 = "%F%P: invalid maximum page size `%s\'\n";
    __s1 = (char *)(*(int *)puVar1 + 0xe);
  }
  else {
    iVar3 = 0x11;
    pbVar7 = pbVar6;
    pbVar8 = (byte *)"common-page-size=";
    do {
      if (iVar3 == 0) break;
      iVar3 = iVar3 + -1;
      bVar11 = *pbVar7 < *pbVar8;
      bVar9 = *pbVar7 == *pbVar8;
      pbVar7 = pbVar7 + 1;
      pbVar8 = pbVar8 + 1;
    } while (bVar9);
    bVar10 = false;
    bVar9 = (!bVar11 && !bVar9) == bVar11;
    if (!bVar9) {
      iVar3 = 0xb;
      pbVar7 = pbVar6;
      pbVar8 = (byte *)"stack-size=";
      do {
        if (iVar3 == 0) break;
        iVar3 = iVar3 + -1;
        bVar10 = *pbVar7 < *pbVar8;
        bVar9 = *pbVar7 == *pbVar8;
        pbVar7 = pbVar7 + 1;
        pbVar8 = pbVar8 + 1;
      } while (bVar9);
      bVar11 = false;
      bVar9 = (!bVar10 && !bVar9) == bVar10;
      if (bVar9) {
        DAT_0008cc10 = strtoul((char *)(pbVar6 + 0xb),local_20,0);
        if ((*local_20[0] != '\0') || ((int)DAT_0008cc10 < 0)) {
          iVar3 = *(int *)puVar1;
          uVar4 = dcgettext(0,"%F%P: invalid stack size `%s\'\n",5,DAT_0008cc10);
          FUN_00031700(uVar4,iVar3 + 0xb);
        }
        if (DAT_0008cc10 == 0) {
          DAT_0008cc10 = 0xffffffff;
          return 1;
        }
        return 1;
      }
      iVar3 = 10;
      pbVar7 = pbVar6;
      pbVar8 = (byte *)0x7ac61;
      do {
        if (iVar3 == 0) break;
        iVar3 = iVar3 + -1;
        bVar11 = *pbVar7 < *pbVar8;
        bVar9 = *pbVar7 == *pbVar8;
        pbVar7 = pbVar7 + 1;
        pbVar8 = pbVar8 + 1;
      } while (bVar9);
      bVar10 = false;
      bVar9 = (!bVar11 && !bVar9) == bVar11;
      if (bVar9) {
        _DAT_0008cc04 = _DAT_0008cc04 & 0xfffe7fff | 0x8000;
        return 1;
      }
      iVar3 = 0xc;
      pbVar7 = pbVar6;
      pbVar8 = (byte *)"noexecstack";
      do {
        if (iVar3 == 0) break;
        iVar3 = iVar3 + -1;
        bVar10 = *pbVar7 < *pbVar8;
        bVar9 = *pbVar7 == *pbVar8;
        pbVar7 = pbVar7 + 1;
        pbVar8 = pbVar8 + 1;
      } while (bVar9);
      if ((!bVar10 && !bVar9) == bVar10) {
        _DAT_0008cc04 = _DAT_0008cc04 & 0xfffe7fff | 0x10000;
        return 1;
      }
      iVar3 = strcmp((char *)pbVar6,"globalaudit");
      if (iVar3 == 0) {
        DAT_0008cc74 = DAT_0008cc74 | 0x1000000;
        return 1;
      }
      iVar3 = strcmp((char *)pbVar6,"global");
      if (iVar3 == 0) {
        DAT_0008cc74 = DAT_0008cc74 | 2;
        return 1;
      }
      iVar3 = strcmp((char *)pbVar6,"initfirst");
      if (iVar3 == 0) {
        DAT_0008cc74 = DAT_0008cc74 | 0x20;
        return 1;
      }
      iVar3 = strcmp((char *)pbVar6,"interpose");
      if (iVar3 == 0) {
        DAT_0008cc74 = DAT_0008cc74 | 0x400;
        return 1;
      }
      iVar3 = strcmp((char *)pbVar6,"loadfltr");
      if (iVar3 == 0) {
        DAT_0008cc74 = DAT_0008cc74 | 0x10;
        return 1;
      }
      iVar3 = strcmp((char *)pbVar6,"nodefaultlib");
      if (iVar3 == 0) {
        DAT_0008cc74 = DAT_0008cc74 | 0x800;
        return 1;
      }
      iVar3 = strcmp((char *)pbVar6,"nodelete");
      if (iVar3 == 0) {
        DAT_0008cc74 = DAT_0008cc74 | 8;
        return 1;
      }
      iVar3 = strcmp((char *)pbVar6,"nodlopen");
      if (iVar3 == 0) {
        DAT_0008cc74 = DAT_0008cc74 | 0x40;
        return 1;
      }
      iVar3 = strcmp((char *)pbVar6,"nodump");
      if (iVar3 == 0) {
        DAT_0008cc74 = DAT_0008cc74 | 0x1000;
        return 1;
      }
      iVar3 = strcmp((char *)pbVar6,"now");
      if (iVar3 == 0) {
        _DAT_0008cc70 = _DAT_0008cc70 | 8;
        DAT_0008cc74 = DAT_0008cc74 | 1;
        return 1;
      }
      iVar3 = strcmp((char *)pbVar6,"lazy");
      if (iVar3 == 0) {
        _DAT_0008cc70 = _DAT_0008cc70 & 0xfffffff7;
        DAT_0008cc74 = DAT_0008cc74 & 0xfffffffe;
        return 1;
      }
      iVar3 = strcmp((char *)pbVar6,"origin");
      if (iVar3 == 0) {
        _DAT_0008cc70 = _DAT_0008cc70 | 1;
        DAT_0008cc74 = DAT_0008cc74 | 0x80;
        return 1;
      }
      iVar3 = strcmp((char *)pbVar6,"combreloc");
      if (iVar3 == 0) {
        _DAT_0008cc04 = _DAT_0008cc04 | 0x40;
        return 1;
      }
      iVar3 = strcmp((char *)pbVar6,"nocombreloc");
      if (iVar3 == 0) {
        _DAT_0008cc04 = _DAT_0008cc04 & 0xffffffbf;
        return 1;
      }
      iVar3 = strcmp((char *)pbVar6,"nocopyreloc");
      if (iVar3 == 0) {
        DAT_0008cc00._0_1_ = (byte)DAT_0008cc00 | 8;
        return 1;
      }
      iVar3 = strcmp((char *)pbVar6,"relro");
      if (iVar3 == 0) {
        DAT_0008cc00._2_2_ = DAT_0008cc00._2_2_ | 0x1000;
        return 1;
      }
      iVar3 = strcmp((char *)pbVar6,"norelro");
      if (iVar3 == 0) {
        DAT_0008cc00._2_2_ = DAT_0008cc00._2_2_ & 0xefff;
        return 1;
      }
      iVar3 = strcmp((char *)pbVar6,"separate-code");
      if (iVar3 == 0) {
        DAT_0008cc00._2_2_ = DAT_0008cc00._2_2_ | 0x2000;
        return 1;
      }
      iVar3 = strcmp((char *)pbVar6,"noseparate-code");
      if (iVar3 == 0) {
        DAT_0008cc00._2_2_ = DAT_0008cc00._2_2_ & 0xdfff;
        return 1;
      }
      iVar3 = strcmp((char *)pbVar6,"common");
      if (iVar3 == 0) {
        DAT_0008cc00._2_2_ = DAT_0008cc00._2_2_ & 0xfff9 | 2;
        return 1;
      }
      iVar3 = strcmp((char *)pbVar6,"nocommon");
      if (iVar3 == 0) {
        DAT_0008cc00._2_2_ = DAT_0008cc00._2_2_ & 0xfff9 | 4;
        return 1;
      }
      iVar3 = strcmp((char *)pbVar6,"text");
      if (iVar3 == 0) {
        _DAT_0008cc04 = _DAT_0008cc04 | 2;
        return 1;
      }
      iVar3 = strcmp((char *)pbVar6,"notext");
      if ((iVar3 == 0) || (iVar3 = strcmp((char *)pbVar6,"textoff"), iVar3 == 0)) {
        _DAT_0008cc04 = _DAT_0008cc04 & 0xfffffffd;
        return 1;
      }
      pcVar5 = "%P: warning: -z %s ignored\n";
      goto LAB_0003606a;
    }
    DAT_0008cd64 = strtoul((char *)(pbVar6 + 0x11),local_20,0);
    if ((*local_20[0] == '\0') && ((DAT_0008cd64 - 1 & DAT_0008cd64) == 0)) {
      return 1;
    }
    pcVar5 = "%F%P: invalid common page size `%s\'\n";
    __s1 = (char *)(*(int *)puVar1 + 0x11);
  }
LAB_00035f83:
  uVar4 = dcgettext(0,pcVar5,5);
  FUN_00031700(uVar4,__s1);
  return 1;
}

