
/* WARNING: Function: __x86.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */
/* WARNING: Type propagation algorithm not settling */
/* WARNING: Enum "anon_enum_32": Some values do not have unique names */

int md_parse_option(int c,char *arg)

{
  char cVar1;
  int iVar2;
  byte *pbVar3;
  char *pcVar4;
  byte *pbVar5;
  bool bVar6;
  bool bVar7;
  bool bVar8;
  
  bVar6 = (uint)c < 0x61;
  bVar8 = c == 0x61;
  if (bVar8) {
    iVar2 = 9;
    pcVar4 = "indirect=";
  }
  else {
    if (0x61 < c) {
      if (c == 0x78) {
        bVar6 = false;
        bVar8 = arg == (char *)0x0;
        if (!bVar8) {
          iVar2 = 9;
          pbVar3 = (byte *)arg;
          pbVar5 = (byte *)"explicit";
          do {
            if (iVar2 == 0) break;
            iVar2 = iVar2 + -1;
            bVar6 = *pbVar3 < *pbVar5;
            bVar8 = *pbVar3 == *pbVar5;
            pbVar3 = pbVar3 + 1;
            pbVar5 = pbVar5 + 1;
          } while (bVar8);
          bVar7 = false;
          bVar6 = (!bVar6 && !bVar8) == bVar6;
          if (!bVar6) {
            iVar2 = 5;
            pbVar3 = (byte *)arg;
            pbVar5 = &DAT_00063a4b;
            do {
              if (iVar2 == 0) break;
              iVar2 = iVar2 + -1;
              bVar7 = *pbVar3 < *pbVar5;
              bVar6 = *pbVar3 == *pbVar5;
              pbVar3 = pbVar3 + 1;
              pbVar5 = pbVar5 + 1;
            } while (bVar6);
            bVar8 = false;
            bVar6 = (!bVar7 && !bVar6) == bVar7;
            if (bVar6) {
              md._48_1_ = md._48_1_ & 0xef | 4;
              return 1;
            }
            iVar2 = 5;
            pbVar3 = (byte *)arg;
            pbVar5 = &DAT_0005a335;
            do {
              if (iVar2 == 0) break;
              iVar2 = iVar2 + -1;
              bVar8 = *pbVar3 < *pbVar5;
              bVar6 = *pbVar3 == *pbVar5;
              pbVar3 = pbVar3 + 1;
              pbVar5 = pbVar5 + 1;
            } while (bVar6);
            bVar7 = false;
            bVar6 = (!bVar8 && !bVar6) == bVar8;
            if (bVar6) {
              md._48_1_ = md._48_1_ & 0xfb;
              return 1;
            }
            iVar2 = 6;
            pcVar4 = " debug";
            pbVar3 = (byte *)arg;
            do {
              pcVar4 = (char *)((byte *)pcVar4 + 1);
              if (iVar2 == 0) break;
              iVar2 = iVar2 + -1;
              bVar7 = *pbVar3 < (byte)*pcVar4;
              bVar6 = *pbVar3 == *pcVar4;
              pbVar3 = pbVar3 + 1;
            } while (bVar6);
            bVar8 = false;
            bVar6 = (!bVar7 && !bVar6) == bVar7;
            if (bVar6) {
              md._48_1_ = md._48_1_ | 6;
              return 1;
            }
            iVar2 = 7;
            pbVar3 = (byte *)arg;
            pbVar5 = (byte *)"debugx";
            do {
              if (iVar2 == 0) break;
              iVar2 = iVar2 + -1;
              bVar8 = *pbVar3 < *pbVar5;
              bVar6 = *pbVar3 == *pbVar5;
              pbVar3 = pbVar3 + 1;
              pbVar5 = pbVar5 + 1;
            } while (bVar6);
            bVar7 = false;
            bVar6 = (!bVar8 && !bVar6) == bVar8;
            if (bVar6) {
              md._48_1_ = md._48_1_ | 0x16;
              return 1;
            }
            iVar2 = 7;
            pbVar3 = (byte *)arg;
            pbVar5 = (byte *)"debugn";
            do {
              if (iVar2 == 0) break;
              iVar2 = iVar2 + -1;
              bVar7 = *pbVar3 < *pbVar5;
              bVar6 = *pbVar3 == *pbVar5;
              pbVar3 = pbVar3 + 1;
              pbVar5 = pbVar5 + 1;
            } while (bVar6);
            cVar1 = (!bVar7 && !bVar6) - bVar7;
            if (cVar1 != '\0') {
              md._48_1_ = md._48_1_ | 4;
              pcVar4 = (char *)dcgettext(0,"Unrecognized option \'-x%s\'",5,cVar1);
              as_bad(pcVar4,arg);
              return 1;
            }
            md._48_1_ = md._48_1_ & 0xf9 | 2;
            return 1;
          }
        }
        md._48_1_ = md._48_1_ | 0x14;
        return 1;
      }
      if (c < 0x79) {
        bVar6 = (uint)c < 0x6d;
        bVar8 = c == 0x6d;
        if (bVar8) {
          iVar2 = 6;
          pbVar3 = (byte *)arg;
          pbVar5 = &DAT_000639e8;
          do {
            if (iVar2 == 0) break;
            iVar2 = iVar2 + -1;
            bVar6 = *pbVar3 < *pbVar5;
            bVar8 = *pbVar3 == *pbVar5;
            pbVar3 = pbVar3 + 1;
            pbVar5 = pbVar5 + 1;
          } while (bVar8);
          bVar7 = false;
          bVar6 = (!bVar6 && !bVar8) == bVar6;
          if (!bVar6) {
            iVar2 = 5;
            pbVar3 = (byte *)arg;
            pbVar5 = &DAT_000639e9;
            do {
              if (iVar2 == 0) break;
              iVar2 = iVar2 + -1;
              bVar7 = *pbVar3 < *pbVar5;
              bVar6 = *pbVar3 == *pbVar5;
              pbVar3 = pbVar3 + 1;
              pbVar5 = pbVar5 + 1;
            } while (bVar6);
            bVar8 = false;
            bVar6 = (!bVar7 && !bVar6) == bVar7;
            if (!bVar6) {
              iVar2 = 4;
              pbVar3 = (byte *)arg;
              pbVar5 = &DAT_000639ea;
              do {
                if (iVar2 == 0) break;
                iVar2 = iVar2 + -1;
                bVar8 = *pbVar3 < *pbVar5;
                bVar6 = *pbVar3 == *pbVar5;
                pbVar3 = pbVar3 + 1;
                pbVar5 = pbVar5 + 1;
              } while (bVar6);
              bVar7 = false;
              bVar6 = (!bVar8 && !bVar6) == bVar8;
              if (!bVar6) {
                iVar2 = 6;
                pbVar3 = (byte *)arg;
                pbVar5 = (byte *)"ilp32";
                do {
                  if (iVar2 == 0) break;
                  iVar2 = iVar2 + -1;
                  bVar7 = *pbVar3 < *pbVar5;
                  bVar6 = *pbVar3 == *pbVar5;
                  pbVar3 = pbVar3 + 1;
                  pbVar5 = pbVar5 + 1;
                } while (bVar6);
                bVar8 = false;
                bVar6 = (!bVar7 && !bVar6) == bVar7;
                if (bVar6) {
                  md.flags = md.flags & 0xffffffef;
                  return 1;
                }
                iVar2 = 3;
                pbVar3 = (byte *)arg;
                pbVar5 = (byte *)0x5a287;
                do {
                  if (iVar2 == 0) break;
                  iVar2 = iVar2 + -1;
                  bVar8 = *pbVar3 < *pbVar5;
                  bVar6 = *pbVar3 == *pbVar5;
                  pbVar3 = pbVar3 + 1;
                  pbVar5 = pbVar5 + 1;
                } while (bVar6);
                bVar7 = false;
                bVar6 = (!bVar8 && !bVar6) == bVar8;
                if (bVar6) {
                  md.flags = md.flags & 0xfffffff7;
                  default_big_endian = 0;
                  return 1;
                }
                iVar2 = 3;
                pbVar3 = (byte *)arg;
                pbVar5 = &DAT_00063a90;
                do {
                  if (iVar2 == 0) break;
                  iVar2 = iVar2 + -1;
                  bVar7 = *pbVar3 < *pbVar5;
                  bVar6 = *pbVar3 == *pbVar5;
                  pbVar3 = pbVar3 + 1;
                  pbVar5 = pbVar5 + 1;
                } while (bVar6);
                bVar8 = false;
                bVar6 = (!bVar7 && !bVar6) == bVar7;
                if (bVar6) {
                  md.flags = md.flags | 8;
                  default_big_endian = 1;
                  return 1;
                }
                iVar2 = 0xd;
                pbVar3 = (byte *)arg;
                pbVar5 = (byte *)"unwind-check=";
                do {
                  if (iVar2 == 0) break;
                  iVar2 = iVar2 + -1;
                  bVar8 = *pbVar3 < *pbVar5;
                  bVar6 = *pbVar3 == *pbVar5;
                  pbVar3 = pbVar3 + 1;
                  pbVar5 = pbVar5 + 1;
                } while (bVar6);
                if ((!bVar8 && !bVar6) == bVar8) {
                  iVar2 = strcmp(arg + 0xd,"warning");
                  if (iVar2 == 0) {
                    md.unwind_check = CMP_NONE;
                    return 1;
                  }
                  iVar2 = strcmp(arg + 0xd,"error");
                  if (iVar2 == 0) {
                    md.unwind_check = CMP_OR;
                    return 1;
                  }
                  return 0;
                }
                iVar2 = strncmp(arg,"hint.b=",7);
                if (iVar2 != 0) {
                  iVar2 = strncmp(arg,"tune=",5);
                  if (iVar2 != 0) {
                    return 0;
                  }
                  iVar2 = strcmp(arg + 5,"itanium1");
                  if (iVar2 != 0) {
                    iVar2 = strcmp(arg + 5,"itanium2");
                    if (iVar2 == 0) {
                      md.tune = CMP_OR;
                      return 1;
                    }
                    return 0;
                  }
                  md.tune = CMP_NONE;
                  return 1;
                }
                pcVar4 = arg + 7;
                iVar2 = strcmp(pcVar4,"ok");
                if (iVar2 == 0) {
                  md.hint_b = CMP_AND;
                  return 1;
                }
                iVar2 = strcmp(pcVar4,"warning");
                if (iVar2 != 0) {
                  iVar2 = strcmp(pcVar4,"error");
                  if (iVar2 == 0) {
                    md.hint_b = CMP_NONE;
                    return 1;
                  }
                  return 0;
                }
                md.hint_b = CMP_OR;
                return 1;
              }
            }
          }
          md.flags = md.flags | 0x10;
          return 1;
        }
      }
      else {
        if (c == 0x123) {
          md.flags = md.flags | 0x40;
          return 1;
        }
        if (c == 0x124) {
          md.flags = md.flags | 0x80;
          return 1;
        }
      }
      return 0;
    }
    bVar6 = (uint)c < 0x4e;
    bVar8 = c == 0x4e;
    if (!bVar8) {
      if (c != 0x53) {
        return (uint)(c == 0x43);
      }
      return 1;
    }
    iVar2 = 3;
    pbVar3 = (byte *)arg;
    pbVar5 = &DAT_00063a25;
    do {
      if (iVar2 == 0) break;
      iVar2 = iVar2 + -1;
      bVar6 = *pbVar3 < *pbVar5;
      bVar8 = *pbVar3 == *pbVar5;
      pbVar3 = pbVar3 + 1;
      pbVar5 = pbVar5 + 1;
    } while (bVar8);
    bVar7 = false;
    bVar6 = (!bVar6 && !bVar8) == bVar6;
    if (bVar6) {
      return 1;
    }
    iVar2 = 3;
    pbVar3 = (byte *)arg;
    pbVar5 = &DAT_00063a28;
    do {
      if (iVar2 == 0) break;
      iVar2 = iVar2 + -1;
      bVar7 = *pbVar3 < *pbVar5;
      bVar6 = *pbVar3 == *pbVar5;
      pbVar3 = pbVar3 + 1;
      pbVar5 = pbVar5 + 1;
    } while (bVar6);
    bVar8 = false;
    bVar7 = (!bVar7 && !bVar6) == bVar7;
    if (bVar7) {
      return 1;
    }
    iVar2 = 3;
    pbVar3 = (byte *)arg;
    pbVar5 = (byte *)0x5f92c;
    do {
      if (iVar2 == 0) break;
      iVar2 = iVar2 + -1;
      bVar8 = *pbVar3 < *pbVar5;
      bVar7 = *pbVar3 == *pbVar5;
      pbVar3 = pbVar3 + 1;
      pbVar5 = pbVar5 + 1;
    } while (bVar7);
    bVar6 = false;
    bVar8 = (!bVar8 && !bVar7) == bVar8;
    if (bVar8) {
      return 1;
    }
    iVar2 = 0xd;
    pcVar4 = "close_fcalls";
  }
  do {
    if (iVar2 == 0) break;
    iVar2 = iVar2 + -1;
    bVar6 = (byte)*arg < (byte)*pcVar4;
    bVar8 = *arg == *pcVar4;
    arg = (char *)((byte *)arg + 1);
    pcVar4 = (char *)((byte *)pcVar4 + 1);
  } while (bVar8);
  return (uint)((!bVar6 && !bVar8) == bVar6);
}



/* WARNING: Function: __i686.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */
/* WARNING: Type propagation algorithm not settling */

bool FUN_0004d020(uint param_1,byte *param_2)

{
  char cVar1;
  undefined4 uVar2;
  int iVar3;
  byte *pbVar4;
  char *pcVar5;
  byte *pbVar6;
  bool bVar7;
  bool bVar8;
  bool bVar9;
  
  bVar7 = param_1 < 0x61;
  bVar9 = param_1 == 0x61;
  if (bVar9) {
    iVar3 = 9;
    pcVar5 = "indirect=";
  }
  else {
    if (0x61 < (int)param_1) {
      if (param_1 == 0x78) {
        bVar7 = false;
        bVar9 = param_2 == (byte *)0x0;
        if (!bVar9) {
          iVar3 = 9;
          pbVar4 = param_2;
          pbVar6 = (byte *)"explicit";
          do {
            if (iVar3 == 0) break;
            iVar3 = iVar3 + -1;
            bVar7 = *pbVar4 < *pbVar6;
            bVar9 = *pbVar4 == *pbVar6;
            pbVar4 = pbVar4 + 1;
            pbVar6 = pbVar6 + 1;
          } while (bVar9);
          bVar8 = false;
          bVar7 = (!bVar7 && !bVar9) == bVar7;
          if (!bVar7) {
            iVar3 = 5;
            pbVar4 = param_2;
            pbVar6 = &DAT_00063a4b;
            do {
              if (iVar3 == 0) break;
              iVar3 = iVar3 + -1;
              bVar8 = *pbVar4 < *pbVar6;
              bVar7 = *pbVar4 == *pbVar6;
              pbVar4 = pbVar4 + 1;
              pbVar6 = pbVar6 + 1;
            } while (bVar7);
            bVar9 = false;
            bVar7 = (!bVar8 && !bVar7) == bVar8;
            if (bVar7) {
              DAT_00087970 = DAT_00087970 & 0xef | 4;
              return true;
            }
            iVar3 = 5;
            pbVar4 = param_2;
            pbVar6 = &DAT_0005a335;
            do {
              if (iVar3 == 0) break;
              iVar3 = iVar3 + -1;
              bVar9 = *pbVar4 < *pbVar6;
              bVar7 = *pbVar4 == *pbVar6;
              pbVar4 = pbVar4 + 1;
              pbVar6 = pbVar6 + 1;
            } while (bVar7);
            bVar8 = false;
            bVar7 = (!bVar9 && !bVar7) == bVar9;
            if (bVar7) {
              DAT_00087970 = DAT_00087970 & 0xfb;
              return true;
            }
            iVar3 = 6;
            pcVar5 = " debug";
            pbVar4 = param_2;
            do {
              pcVar5 = (char *)((byte *)pcVar5 + 1);
              if (iVar3 == 0) break;
              iVar3 = iVar3 + -1;
              bVar8 = *pbVar4 < (byte)*pcVar5;
              bVar7 = *pbVar4 == *pcVar5;
              pbVar4 = pbVar4 + 1;
            } while (bVar7);
            bVar9 = false;
            bVar7 = (!bVar8 && !bVar7) == bVar8;
            if (bVar7) {
              DAT_00087970 = DAT_00087970 | 6;
              return true;
            }
            iVar3 = 7;
            pbVar4 = param_2;
            pbVar6 = (byte *)"debugx";
            do {
              if (iVar3 == 0) break;
              iVar3 = iVar3 + -1;
              bVar9 = *pbVar4 < *pbVar6;
              bVar7 = *pbVar4 == *pbVar6;
              pbVar4 = pbVar4 + 1;
              pbVar6 = pbVar6 + 1;
            } while (bVar7);
            bVar8 = false;
            bVar7 = (!bVar9 && !bVar7) == bVar9;
            if (bVar7) {
              DAT_00087970 = DAT_00087970 | 0x16;
              return true;
            }
            iVar3 = 7;
            pbVar4 = param_2;
            pbVar6 = (byte *)"debugn";
            do {
              if (iVar3 == 0) break;
              iVar3 = iVar3 + -1;
              bVar8 = *pbVar4 < *pbVar6;
              bVar7 = *pbVar4 == *pbVar6;
              pbVar4 = pbVar4 + 1;
              pbVar6 = pbVar6 + 1;
            } while (bVar7);
            cVar1 = (!bVar8 && !bVar7) - bVar8;
            if (cVar1 != '\0') {
              DAT_00087970 = DAT_00087970 | 4;
              uVar2 = dcgettext(0,"Unrecognized option \'-x%s\'",5,cVar1);
              FUN_00029550(uVar2,param_2);
              return true;
            }
            DAT_00087970 = DAT_00087970 & 0xf9 | 2;
            return true;
          }
        }
        DAT_00087970 = DAT_00087970 | 0x14;
        return true;
      }
      if ((int)param_1 < 0x79) {
        bVar7 = param_1 < 0x6d;
        bVar9 = param_1 == 0x6d;
        if (bVar9) {
          iVar3 = 6;
          pbVar4 = param_2;
          pbVar6 = &DAT_000639e8;
          do {
            if (iVar3 == 0) break;
            iVar3 = iVar3 + -1;
            bVar7 = *pbVar4 < *pbVar6;
            bVar9 = *pbVar4 == *pbVar6;
            pbVar4 = pbVar4 + 1;
            pbVar6 = pbVar6 + 1;
          } while (bVar9);
          bVar8 = false;
          bVar7 = (!bVar7 && !bVar9) == bVar7;
          if (!bVar7) {
            iVar3 = 5;
            pbVar4 = param_2;
            pbVar6 = &DAT_000639e9;
            do {
              if (iVar3 == 0) break;
              iVar3 = iVar3 + -1;
              bVar8 = *pbVar4 < *pbVar6;
              bVar7 = *pbVar4 == *pbVar6;
              pbVar4 = pbVar4 + 1;
              pbVar6 = pbVar6 + 1;
            } while (bVar7);
            bVar9 = false;
            bVar7 = (!bVar8 && !bVar7) == bVar8;
            if (!bVar7) {
              iVar3 = 4;
              pbVar4 = param_2;
              pbVar6 = &DAT_000639ea;
              do {
                if (iVar3 == 0) break;
                iVar3 = iVar3 + -1;
                bVar9 = *pbVar4 < *pbVar6;
                bVar7 = *pbVar4 == *pbVar6;
                pbVar4 = pbVar4 + 1;
                pbVar6 = pbVar6 + 1;
              } while (bVar7);
              bVar8 = false;
              bVar7 = (!bVar9 && !bVar7) == bVar9;
              if (!bVar7) {
                iVar3 = 6;
                pbVar4 = param_2;
                pbVar6 = (byte *)"ilp32";
                do {
                  if (iVar3 == 0) break;
                  iVar3 = iVar3 + -1;
                  bVar8 = *pbVar4 < *pbVar6;
                  bVar7 = *pbVar4 == *pbVar6;
                  pbVar4 = pbVar4 + 1;
                  pbVar6 = pbVar6 + 1;
                } while (bVar7);
                bVar9 = false;
                bVar7 = (!bVar8 && !bVar7) == bVar8;
                if (bVar7) {
                  DAT_00087d90 = DAT_00087d90 & 0xffffffef;
                  return true;
                }
                iVar3 = 3;
                pbVar4 = param_2;
                pbVar6 = (byte *)0x5a287;
                do {
                  if (iVar3 == 0) break;
                  iVar3 = iVar3 + -1;
                  bVar9 = *pbVar4 < *pbVar6;
                  bVar7 = *pbVar4 == *pbVar6;
                  pbVar4 = pbVar4 + 1;
                  pbVar6 = pbVar6 + 1;
                } while (bVar7);
                bVar8 = false;
                bVar7 = (!bVar9 && !bVar7) == bVar9;
                if (bVar7) {
                  DAT_00087d90 = DAT_00087d90 & 0xfffffff7;
                  DAT_00087dfc = 0;
                  return true;
                }
                iVar3 = 3;
                pbVar4 = param_2;
                pbVar6 = &DAT_00063a90;
                do {
                  if (iVar3 == 0) break;
                  iVar3 = iVar3 + -1;
                  bVar8 = *pbVar4 < *pbVar6;
                  bVar7 = *pbVar4 == *pbVar6;
                  pbVar4 = pbVar4 + 1;
                  pbVar6 = pbVar6 + 1;
                } while (bVar7);
                bVar9 = false;
                bVar7 = (!bVar8 && !bVar7) == bVar8;
                if (bVar7) {
                  DAT_00087d90 = DAT_00087d90 | 8;
                  DAT_00087dfc = 1;
                  return true;
                }
                iVar3 = 0xd;
                pbVar4 = param_2;
                pbVar6 = (byte *)"unwind-check=";
                do {
                  if (iVar3 == 0) break;
                  iVar3 = iVar3 + -1;
                  bVar9 = *pbVar4 < *pbVar6;
                  bVar7 = *pbVar4 == *pbVar6;
                  pbVar4 = pbVar4 + 1;
                  pbVar6 = pbVar6 + 1;
                } while (bVar7);
                if ((!bVar9 && !bVar7) == bVar9) {
                  iVar3 = strcmp((char *)(param_2 + 0xd),"warning");
                  if (iVar3 == 0) {
                    DAT_00087974 = 0;
                    return true;
                  }
                  iVar3 = strcmp((char *)(param_2 + 0xd),"error");
                  if (iVar3 == 0) {
                    DAT_00087974 = 1;
                    return true;
                  }
                  return false;
                }
                iVar3 = strncmp((char *)param_2,"hint.b=",7);
                if (iVar3 != 0) {
                  iVar3 = strncmp((char *)param_2,"tune=",5);
                  if (iVar3 != 0) {
                    return false;
                  }
                  iVar3 = strcmp((char *)(param_2 + 5),"itanium1");
                  if (iVar3 != 0) {
                    iVar3 = strcmp((char *)(param_2 + 5),"itanium2");
                    if (iVar3 == 0) {
                      DAT_00087968 = 1;
                      return true;
                    }
                    return false;
                  }
                  DAT_00087968 = 0;
                  return true;
                }
                param_2 = param_2 + 7;
                iVar3 = strcmp((char *)param_2,"ok");
                if (iVar3 == 0) {
                  DAT_0008796c = 2;
                  return true;
                }
                iVar3 = strcmp((char *)param_2,"warning");
                if (iVar3 != 0) {
                  iVar3 = strcmp((char *)param_2,"error");
                  if (iVar3 == 0) {
                    DAT_0008796c = 0;
                    return true;
                  }
                  return false;
                }
                DAT_0008796c = 1;
                return true;
              }
            }
          }
          DAT_00087d90 = DAT_00087d90 | 0x10;
          return true;
        }
      }
      else {
        if (param_1 == 0x123) {
          DAT_00087d90 = DAT_00087d90 | 0x40;
          return true;
        }
        if (param_1 == 0x124) {
          DAT_00087d90 = DAT_00087d90 | 0x80;
          return true;
        }
      }
      return false;
    }
    bVar7 = param_1 < 0x4e;
    bVar9 = param_1 == 0x4e;
    if (!bVar9) {
      if (param_1 != 0x53) {
        return param_1 == 0x43;
      }
      return true;
    }
    iVar3 = 3;
    pbVar4 = param_2;
    pbVar6 = &DAT_00063a25;
    do {
      if (iVar3 == 0) break;
      iVar3 = iVar3 + -1;
      bVar7 = *pbVar4 < *pbVar6;
      bVar9 = *pbVar4 == *pbVar6;
      pbVar4 = pbVar4 + 1;
      pbVar6 = pbVar6 + 1;
    } while (bVar9);
    bVar8 = false;
    bVar7 = (!bVar7 && !bVar9) == bVar7;
    if (bVar7) {
      return true;
    }
    iVar3 = 3;
    pbVar4 = param_2;
    pbVar6 = &DAT_00063a28;
    do {
      if (iVar3 == 0) break;
      iVar3 = iVar3 + -1;
      bVar8 = *pbVar4 < *pbVar6;
      bVar7 = *pbVar4 == *pbVar6;
      pbVar4 = pbVar4 + 1;
      pbVar6 = pbVar6 + 1;
    } while (bVar7);
    bVar9 = false;
    bVar8 = (!bVar8 && !bVar7) == bVar8;
    if (bVar8) {
      return true;
    }
    iVar3 = 3;
    pbVar4 = param_2;
    pbVar6 = (byte *)0x5f92c;
    do {
      if (iVar3 == 0) break;
      iVar3 = iVar3 + -1;
      bVar9 = *pbVar4 < *pbVar6;
      bVar8 = *pbVar4 == *pbVar6;
      pbVar4 = pbVar4 + 1;
      pbVar6 = pbVar6 + 1;
    } while (bVar8);
    bVar7 = false;
    bVar9 = (!bVar9 && !bVar8) == bVar9;
    if (bVar9) {
      return true;
    }
    iVar3 = 0xd;
    pcVar5 = "close_fcalls";
  }
  do {
    if (iVar3 == 0) break;
    iVar3 = iVar3 + -1;
    bVar7 = *param_2 < (byte)*pcVar5;
    bVar9 = *param_2 == *pcVar5;
    param_2 = param_2 + 1;
    pcVar5 = (char *)((byte *)pcVar5 + 1);
  } while (bVar9);
  return (!bVar7 && !bVar9) == bVar7;
}


PUSH EDI
PUSH ESI
PUSH EBX
CALL 0x00016030
ADD EBX,0x30fd8
SUB ESP,0x10
MOV EAX,dword ptr [ESP + 0x20]
CMP EAX,0x61
JZ 0x0004d148
JLE 0x0004d0b0
CMP EAX,0x78
JZ 0x0004d1e0
JLE 0x0004d078
CMP EAX,0x123
JZ 0x0004d260
CMP EAX,0x124
JNZ 0x0004d0d8
OR dword ptr [EBX + 0x9d90],0x80
MOV EDX,0x1
ADD ESP,0x10
MOV EAX,EDX
POP EBX
POP ESI
POP EDI
RET
CMP EAX,0x6d
JNZ 0x0004d0d8
MOV ESI,dword ptr [ESP + 0x24]
MOV ECX,0x6
LEA EDI,[EBX + 0xfffe59e8]
CMPSB.REPE ES:EDI,ESI
SETA AL
SBB AL,0x0
TEST AL,AL
JNZ 0x0004d0e0
OR dword ptr [EBX + 0x9d90],0x10
MOV EDX,0x1
ADD ESP,0x10
POP EBX
MOV EAX,EDX
POP ESI
POP EDI
RET
CMP EAX,0x4e
JZ 0x0004d170
MOV EDX,0x1
CMP EAX,0x53
JZ 0x0004d06c
XOR EDX,EDX
CMP EAX,0x43
SETZ DL
ADD ESP,0x10
POP EBX
MOV EAX,EDX
POP ESI
POP EDI
RET
XOR EDX,EDX
JMP 0x0004d06c
MOV ESI,dword ptr [ESP + 0x24]
MOV ECX,0x5
LEA EDI,[EBX + 0xfffe59e9]
CMPSB.REPE ES:EDI,ESI
SETA AL
SBB AL,0x0
TEST AL,AL
JZ 0x0004d097
MOV ESI,dword ptr [ESP + 0x24]
MOV ECX,0x4
LEA EDI,[EBX + 0xfffe59ea]
CMPSB.REPE ES:EDI,ESI
SETA AL
SBB AL,0x0
TEST AL,AL
JZ 0x0004d097
MOV ESI,dword ptr [ESP + 0x24]
MOV ECX,0x6
LEA EDI,[EBX + 0xfffe59ee]
CMPSB.REPE ES:EDI,ESI
SETA AL
SBB AL,0x0
TEST AL,AL
JNZ 0x0004d2de
AND dword ptr [EBX + 0x9d90],0xffffffef
MOV EDX,0x1
JMP 0x0004d06c
MOV ECX,0x9
LEA EDI,[EBX + 0xfffe5a38]
MOV ESI,dword ptr [ESP + 0x24]
CMPSB.REPE ES:EDI,ESI
SETA AL
SBB AL,0x0
XOR EDX,EDX
TEST AL,AL
SETZ DL
JMP 0x0004d06c
MOV ESI,dword ptr [ESP + 0x24]
MOV ECX,0x3
LEA EDI,[EBX + 0xfffe5a25]
MOV EDX,0x1
CMPSB.REPE ES:EDI,ESI
SETA AL
SBB AL,0x0
TEST AL,AL
JZ 0x0004d06c
MOV ESI,dword ptr [ESP + 0x24]
MOV ECX,0x3
LEA EDI,[EBX + 0xfffe5a28]
CMPSB.REPE ES:EDI,ESI
SETA AL
SBB AL,0x0
TEST AL,AL
JZ 0x0004d06c
MOV ESI,dword ptr [ESP + 0x24]
MOV ECX,0x3
LEA EDI,[EBX + 0xfffe192c]
CMPSB.REPE ES:EDI,ESI
SETA AL
SBB AL,0x0
TEST AL,AL
JZ 0x0004d06c
MOV ECX,0xd
LEA EDI,[EBX + 0xfffe5a2b]
JMP 0x0004d153
MOVZX EDX,byte ptr [EBX + 0x9970]
MOV ESI,dword ptr [ESP + 0x24]
MOV EAX,EDX
OR EAX,0x4
MOV byte ptr [EBX + 0x9970],AL
TEST ESI,ESI
JZ 0x0004d248
MOV ESI,dword ptr [ESP + 0x24]
MOV ECX,0x9
LEA EDI,[EBX + 0xfffe5a42]
CMPSB.REPE ES:EDI,ESI
SETA CL
SBB CL,0x0
TEST CL,CL
JZ 0x0004d248
MOV ESI,dword ptr [ESP + 0x24]
MOV ECX,0x5
LEA EDI,[EBX + 0xfffe5a4b]
CMPSB.REPE ES:EDI,ESI
SETA CL
SBB CL,0x0
TEST CL,CL
JNZ 0x0004d278
AND EAX,0xffffffef
MOV EDX,0x1
MOV byte ptr [EBX + 0x9970],AL
JMP 0x0004d06c
OR byte ptr [EBX + 0x9970],0x10
MOV EDX,0x1
JMP 0x0004d06c
OR dword ptr [EBX + 0x9d90],0x40
MOV EDX,0x1
JMP 0x0004d06c
MOV ESI,dword ptr [ESP + 0x24]
MOV ECX,0x5
LEA EDI,[EBX + 0xfffdc335]
CMPSB.REPE ES:EDI,ESI
SETA CL
SBB CL,0x0
TEST CL,CL
JNZ 0x0004d2b0
AND EAX,0xfffffffb
MOV EDX,0x1
MOV byte ptr [EBX + 0x9970],AL
JMP 0x0004d06c
MOV ESI,dword ptr [ESP + 0x24]
MOV ECX,0x6
LEA EDI,[EBX + 0xfffe19f7]
CMPSB.REPE ES:EDI,ESI
SETA CL
SBB CL,0x0
TEST CL,CL
JNZ 0x0004d313
OR EDX,0x6
MOV byte ptr [EBX + 0x9970],DL
MOV EDX,0x1
JMP 0x0004d06c
MOV ESI,dword ptr [ESP + 0x24]
MOV ECX,0x3
LEA EDI,[EBX + 0xfffdc287]
CMPSB.REPE ES:EDI,ESI
SETA AL
SBB AL,0x0
TEST AL,AL
JNZ 0x0004d341
AND dword ptr [EBX + 0x9d90],0xfffffff7
MOV EDX,0x1
MOV dword ptr [EBX + 0x9dfc],0x0
JMP 0x0004d06c
MOV ESI,dword ptr [ESP + 0x24]
MOV ECX,0x7
LEA EDI,[EBX + 0xfffe5a50]
CMPSB.REPE ES:EDI,ESI
SETA DL
SBB DL,0x0
TEST DL,DL
JNZ 0x0004d376
OR EAX,0x12
MOV EDX,0x1
MOV byte ptr [EBX + 0x9970],AL
JMP 0x0004d06c
MOV ESI,dword ptr [ESP + 0x24]
MOV ECX,0x3
LEA EDI,[EBX + 0xfffe5a90]
CMPSB.REPE ES:EDI,ESI
SETA AL
SBB AL,0x0
TEST AL,AL
JNZ 0x0004d3b1
OR dword ptr [EBX + 0x9d90],0x8
MOV EDX,0x1
MOV dword ptr [EBX + 0x9dfc],0x1
JMP 0x0004d06c
MOV ESI,dword ptr [ESP + 0x24]
MOV ECX,0x7
LEA EDI,[EBX + 0xfffe5a57]
CMPSB.REPE ES:EDI,ESI
SETA AL
SBB AL,0x0
TEST AL,AL
JNZ 0x0004d467
MOVZX EAX,byte ptr [EBX + 0x9970]
MOV EDX,0x1
AND EAX,0xfffffff9
OR EAX,0x2
MOV byte ptr [EBX + 0x9970],AL
JMP 0x0004d06c
MOV ESI,dword ptr [ESP + 0x24]
MOV ECX,0xd
LEA EDI,[EBX + 0xfffe59f4]
CMPSB.REPE ES:EDI,ESI
SETA DL
SBB DL,0x0
MOVSX EDX,DL
TEST EDX,EDX
MOV dword ptr [ESP + 0xc],EDX
JNZ 0x0004d40c
MOV EAX,dword ptr [ESP + 0x24]
PUSH ECX
PUSH ECX
LEA ESI,[EAX + 0xd]
LEA EAX,[EBX + 0xfffdc3fa]
PUSH EAX
PUSH ESI
CALL 0x00014090
ADD ESP,0x10
MOV EDX,dword ptr [ESP + 0xc]
TEST EAX,EAX
JNZ 0x0004d491
MOV dword ptr [EBX + 0x9974],0x0
MOV EDX,0x1
JMP 0x0004d06c
PUSH EAX
LEA EAX,[EBX + 0xfffe5a02]
PUSH 0x7
PUSH EAX
PUSH dword ptr [ESP + 0x30]
CALL 0x000146a0
ADD ESP,0x10
TEST EAX,EAX
MOV dword ptr [ESP + 0xc],EAX
JNZ 0x0004d4c7
MOV EAX,dword ptr [ESP + 0x24]
LEA ESI,[EAX + 0x7]
PUSH EAX
PUSH EAX
LEA EAX,[EBX + 0xfffe5a0a]
PUSH EAX
PUSH ESI
CALL 0x00014090
ADD ESP,0x10
MOV EDX,dword ptr [ESP + 0xc]
TEST EAX,EAX
JNZ 0x0004d51e
MOV dword ptr [EBX + 0x996c],0x2
MOV EDX,0x1
JMP 0x0004d06c
PUSH EAX
LEA EAX,[EBX + 0xfffe5a5e]
PUSH 0x5
PUSH EAX
PUSH 0x0
CALL 0x000141b0
POP EDX
POP ECX
PUSH dword ptr [ESP + 0x2c]
PUSH EAX
CALL 0x00029550
ADD ESP,0x10
MOV EDX,0x1
JMP 0x0004d06c
LEA EAX,[EBX + 0xfffdc40f]
MOV dword ptr [ESP + 0xc],EDX
PUSH EDX
PUSH EDX
PUSH EAX
PUSH ESI
CALL 0x00014090
ADD ESP,0x10
MOV EDX,dword ptr [ESP + 0xc]
TEST EAX,EAX
JNZ 0x0004d06c
MOV dword ptr [EBX + 0x9974],0x1
MOV EDX,0x1
JMP 0x0004d06c
PUSH EAX
LEA EAX,[EBX + 0xfffe5a0d]
PUSH 0x5
PUSH EAX
PUSH dword ptr [ESP + 0x30]
CALL 0x000146a0
ADD ESP,0x10
TEST EAX,EAX
MOV dword ptr [ESP + 0xc],EAX
JNZ 0x0004d0d8
MOV EAX,dword ptr [ESP + 0x24]
LEA ESI,[EAX + 0x5]
PUSH EAX
PUSH EAX
LEA EAX,[EBX + 0xfffe5a13]
PUSH EAX
PUSH ESI
CALL 0x00014090
ADD ESP,0x10
MOV EDX,dword ptr [ESP + 0xc]
TEST EAX,EAX
JNZ 0x0004d550
MOV dword ptr [EBX + 0x9968],0x0
MOV EDX,0x1
JMP 0x0004d06c
MOV dword ptr [ESP + 0xc],EDX
PUSH EAX
PUSH EAX
LEA EAX,[EBX + 0xfffdc3fa]
PUSH EAX
PUSH ESI
CALL 0x00014090
ADD ESP,0x10
MOV EDX,dword ptr [ESP + 0xc]
TEST EAX,EAX
JNZ 0x0004d586
MOV dword ptr [EBX + 0x996c],0x1
MOV EDX,0x1
JMP 0x0004d06c
LEA EAX,[EBX + 0xfffe5a1c]
MOV dword ptr [ESP + 0xc],EDX
PUSH EDI
PUSH EDI
PUSH EAX
PUSH ESI
CALL 0x00014090
ADD ESP,0x10
MOV EDX,dword ptr [ESP + 0xc]
TEST EAX,EAX
JNZ 0x0004d06c
MOV dword ptr [EBX + 0x9968],0x1
MOV EDX,0x1
JMP 0x0004d06c
MOV dword ptr [ESP + 0xc],EDX
PUSH EAX
PUSH EAX
LEA EAX,[EBX + 0xfffdc40f]
PUSH EAX
PUSH ESI
CALL 0x00014090
ADD ESP,0x10
MOV EDX,dword ptr [ESP + 0xc]
TEST EAX,EAX
JNZ 0x0004d06c
MOV dword ptr [EBX + 0x996c],0x0
MOV EDX,0x1
JMP 0x0004d06c
(translation_unit "/* WARNING: Function: __i686.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */\n/* WARNING: Type propagation algorithm not settling */\n\nbool FUN_0004d020(uint param_1,byte *param_2)\n\n{\n  char cVar1;\n  undefined4 uVar2;\n  int iVar3;\n  byte *pbVar4;\n  char *pcVar5;\n  byte *pbVar6;\n  bool bVar7;\n  bool bVar8;\n  bool bVar9;\n  \n  bVar7 = param_1 < 0x61;\n  bVar9 = param_1 == 0x61;\n  if (bVar9) {\n    iVar3 = 9;\n    pcVar5 = "indirect=";\n  }\n  else {\n    if (0x61 < (int)param_1) {\n      if (param_1 == 0x78) {\n        bVar7 = false;\n        bVar9 = param_2 == (byte *)0x0;\n        if (!bVar9) {\n          iVar3 = 9;\n          pbVar4 = param_2;\n          pbVar6 = (byte *)"explicit";\n          do {\n            if (iVar3 == 0) break;\n            iVar3 = iVar3 + -1;\n            bVar7 = *pbVar4 < *pbVar6;\n            bVar9 = *pbVar4 == *pbVar6;\n            pbVar4 = pbVar4 + 1;\n            pbVar6 = pbVar6 + 1;\n          } while (bVar9);\n          bVar8 = false;\n          bVar7 = (!bVar7 && !bVar9) == bVar7;\n          if (!bVar7) {\n            iVar3 = 5;\n            pbVar4 = param_2;\n            pbVar6 = &DAT_00063a4b;\n            do {\n              if (iVar3 == 0) break;\n              iVar3 = iVar3 + -1;\n              bVar8 = *pbVar4 < *pbVar6;\n              bVar7 = *pbVar4 == *pbVar6;\n              pbVar4 = pbVar4 + 1;\n              pbVar6 = pbVar6 + 1;\n            } while (bVar7);\n            bVar9 = false;\n            bVar7 = (!bVar8 && !bVar7) == bVar8;\n            if (bVar7) {\n              DAT_00087970 = DAT_00087970 & 0xef | 4;\n              return true;\n            }\n            iVar3 = 5;\n            pbVar4 = param_2;\n            pbVar6 = &DAT_0005a335;\n            do {\n              if (iVar3 == 0) break;\n              iVar3 = iVar3 + -1;\n              bVar9 = *pbVar4 < *pbVar6;\n              bVar7 = *pbVar4 == *pbVar6;\n              pbVar4 = pbVar4 + 1;\n              pbVar6 = pbVar6 + 1;\n            } while (bVar7);\n            bVar8 = false;\n            bVar7 = (!bVar9 && !bVar7) == bVar9;\n            if (bVar7) {\n              DAT_00087970 = DAT_00087970 & 0xfb;\n              return true;\n            }\n            iVar3 = 6;\n            pcVar5 = " debug";\n            pbVar4 = param_2;\n            do {\n              pcVar5 = (char *)((byte *)pcVar5 + 1);\n              if (iVar3 == 0) break;\n              iVar3 = iVar3 + -1;\n              bVar8 = *pbVar4 < (byte)*pcVar5;\n              bVar7 = *pbVar4 == *pcVar5;\n              pbVar4 = pbVar4 + 1;\n            } while (bVar7);\n            bVar9 = false;\n            bVar7 = (!bVar8 && !bVar7) == bVar8;\n            if (bVar7) {\n              DAT_00087970 = DAT_00087970 | 6;\n              return true;\n            }\n            iVar3 = 7;\n            pbVar4 = param_2;\n            pbVar6 = (byte *)"debugx";\n            do {\n              if (iVar3 == 0) break;\n              iVar3 = iVar3 + -1;\n              bVar9 = *pbVar4 < *pbVar6;\n              bVar7 = *pbVar4 == *pbVar6;\n              pbVar4 = pbVar4 + 1;\n              pbVar6 = pbVar6 + 1;\n            } while (bVar7);\n            bVar8 = false;\n            bVar7 = (!bVar9 && !bVar7) == bVar9;\n            if (bVar7) {\n              DAT_00087970 = DAT_00087970 | 0x16;\n              return true;\n            }\n            iVar3 = 7;\n            pbVar4 = param_2;\n            pbVar6 = (byte *)"debugn";\n            do {\n              if (iVar3 == 0) break;\n              iVar3 = iVar3 + -1;\n              bVar8 = *pbVar4 < *pbVar6;\n              bVar7 = *pbVar4 == *pbVar6;\n              pbVar4 = pbVar4 + 1;\n              pbVar6 = pbVar6 + 1;\n            } while (bVar7);\n            cVar1 = (!bVar8 && !bVar7) - bVar8;\n            if (cVar1 != '\0') {\n              DAT_00087970 = DAT_00087970 | 4;\n              uVar2 = dcgettext(0,"Unrecognized option \'-x%s\'",5,cVar1);\n              FUN_00029550(uVar2,param_2);\n              return true;\n            }\n            DAT_00087970 = DAT_00087970 & 0xf9 | 2;\n            return true;\n          }\n        }\n        DAT_00087970 = DAT_00087970 | 0x14;\n        return true;\n      }\n      if ((int)param_1 < 0x79) {\n        bVar7 = param_1 < 0x6d;\n        bVar9 = param_1 == 0x6d;\n        if (bVar9) {\n          iVar3 = 6;\n          pbVar4 = param_2;\n          pbVar6 = &DAT_000639e8;\n          do {\n            if (iVar3 == 0) break;\n            iVar3 = iVar3 + -1;\n            bVar7 = *pbVar4 < *pbVar6;\n            bVar9 = *pbVar4 == *pbVar6;\n            pbVar4 = pbVar4 + 1;\n            pbVar6 = pbVar6 + 1;\n          } while (bVar9);\n          bVar8 = false;\n          bVar7 = (!bVar7 && !bVar9) == bVar7;\n          if (!bVar7) {\n            iVar3 = 5;\n            pbVar4 = param_2;\n            pbVar6 = &DAT_000639e9;\n            do {\n              if (iVar3 == 0) break;\n              iVar3 = iVar3 + -1;\n              bVar8 = *pbVar4 < *pbVar6;\n              bVar7 = *pbVar4 == *pbVar6;\n              pbVar4 = pbVar4 + 1;\n              pbVar6 = pbVar6 + 1;\n            } while (bVar7);\n            bVar9 = false;\n            bVar7 = (!bVar8 && !bVar7) == bVar8;\n            if (!bVar7) {\n              iVar3 = 4;\n              pbVar4 = param_2;\n              pbVar6 = &DAT_000639ea;\n              do {\n                if (iVar3 == 0) break;\n                iVar3 = iVar3 + -1;\n                bVar9 = *pbVar4 < *pbVar6;\n                bVar7 = *pbVar4 == *pbVar6;\n                pbVar4 = pbVar4 + 1;\n                pbVar6 = pbVar6 + 1;\n              } while (bVar7);\n              bVar8 = false;\n              bVar7 = (!bVar9 && !bVar7) == bVar9;\n              if (!bVar7) {\n                iVar3 = 6;\n                pbVar4 = param_2;\n                pbVar6 = (byte *)"ilp32";\n                do {\n                  if (iVar3 == 0) break;\n                  iVar3 = iVar3 + -1;\n                  bVar8 = *pbVar4 < *pbVar6;\n                  bVar7 = *pbVar4 == *pbVar6;\n                  pbVar4 = pbVar4 + 1;\n                  pbVar6 = pbVar6 + 1;\n                } while (bVar7);\n                bVar9 = false;\n                bVar7 = (!bVar8 && !bVar7) == bVar8;\n                if (bVar7) {\n                  DAT_00087d90 = DAT_00087d90 & 0xffffffef;\n                  return true;\n                }\n                iVar3 = 3;\n                pbVar4 = param_2;\n                pbVar6 = (byte *)0x5a287;\n                do {\n                  if (iVar3 == 0) break;\n                  iVar3 = iVar3 + -1;\n                  bVar9 = *pbVar4 < *pbVar6;\n                  bVar7 = *pbVar4 == *pbVar6;\n                  pbVar4 = pbVar4 + 1;\n                  pbVar6 = pbVar6 + 1;\n                } while (bVar7);\n                bVar8 = false;\n                bVar7 = (!bVar9 && !bVar7) == bVar9;\n                if (bVar7) {\n                  DAT_00087d90 = DAT_00087d90 & 0xfffffff7;\n                  DAT_00087dfc = 0;\n                  return true;\n                }\n                iVar3 = 3;\n                pbVar4 = param_2;\n                pbVar6 = &DAT_00063a90;\n                do {\n                  if (iVar3 == 0) break;\n                  iVar3 = iVar3 + -1;\n                  bVar8 = *pbVar4 < *pbVar6;\n                  bVar7 = *pbVar4 == *pbVar6;\n                  pbVar4 = pbVar4 + 1;\n                  pbVar6 = pbVar6 + 1;\n                } while (bVar7);\n                bVar9 = false;\n                bVar7 = (!bVar8 && !bVar7) == bVar8;\n                if (bVar7) {\n                  DAT_00087d90 = DAT_00087d90 | 8;\n                  DAT_00087dfc = 1;\n                  return true;\n                }\n                iVar3 = 0xd;\n                pbVar4 = param_2;\n                pbVar6 = (byte *)"unwind-check=";\n                do {\n                  if (iVar3 == 0) break;\n                  iVar3 = iVar3 + -1;\n                  bVar9 = *pbVar4 < *pbVar6;\n                  bVar7 = *pbVar4 == *pbVar6;\n                  pbVar4 = pbVar4 + 1;\n                  pbVar6 = pbVar6 + 1;\n                } while (bVar7);\n                if ((!bVar9 && !bVar7) == bVar9) {\n                  iVar3 = strcmp((char *)(param_2 + 0xd),"warning");\n                  if (iVar3 == 0) {\n                    DAT_00087974 = 0;\n                    return true;\n                  }\n                  iVar3 = strcmp((char *)(param_2 + 0xd),"error");\n                  if (iVar3 == 0) {\n                    DAT_00087974 = 1;\n                    return true;\n                  }\n                  return false;\n                }\n                iVar3 = strncmp((char *)param_2,"hint.b=",7);\n                if (iVar3 != 0) {\n                  iVar3 = strncmp((char *)param_2,"tune=",5);\n                  if (iVar3 != 0) {\n                    return false;\n                  }\n                  iVar3 = strcmp((char *)(param_2 + 5),"itanium1");\n                  if (iVar3 != 0) {\n                    iVar3 = strcmp((char *)(param_2 + 5),"itanium2");\n                    if (iVar3 == 0) {\n                      DAT_00087968 = 1;\n                      return true;\n                    }\n                    return false;\n                  }\n                  DAT_00087968 = 0;\n                  return true;\n                }\n                param_2 = param_2 + 7;\n                iVar3 = strcmp((char *)param_2,"ok");\n                if (iVar3 == 0) {\n                  DAT_0008796c = 2;\n                  return true;\n                }\n                iVar3 = strcmp((char *)param_2,"warning");\n                if (iVar3 != 0) {\n                  iVar3 = strcmp((char *)param_2,"error");\n                  if (iVar3 == 0) {\n                    DAT_0008796c = 0;\n                    return true;\n                  }\n                  return false;\n                }\n                DAT_0008796c = 1;\n                return true;\n              }\n            }\n          }\n          DAT_00087d90 = DAT_00087d90 | 0x10;\n          return true;\n        }\n      }\n      else {\n        if (param_1 == 0x123) {\n          DAT_00087d90 = DAT_00087d90 | 0x40;\n          return true;\n        }\n        if (param_1 == 0x124) {\n          DAT_00087d90 = DAT_00087d90 | 0x80;\n          return true;\n        }\n      }\n      return false;\n    }\n    bVar7 = param_1 < 0x4e;\n    bVar9 = param_1 == 0x4e;\n    if (!bVar9) {\n      if (param_1 != 0x53) {\n        return param_1 == 0x43;\n      }\n      return true;\n    }\n    iVar3 = 3;\n    pbVar4 = param_2;\n    pbVar6 = &DAT_00063a25;\n    do {\n      if (iVar3 == 0) break;\n      iVar3 = iVar3 + -1;\n      bVar7 = *pbVar4 < *pbVar6;\n      bVar9 = *pbVar4 == *pbVar6;\n      pbVar4 = pbVar4 + 1;\n      pbVar6 = pbVar6 + 1;\n    } while (bVar9);\n    bVar8 = false;\n    bVar7 = (!bVar7 && !bVar9) == bVar7;\n    if (bVar7) {\n      return true;\n    }\n    iVar3 = 3;\n    pbVar4 = param_2;\n    pbVar6 = &DAT_00063a28;\n    do {\n      if (iVar3 == 0) break;\n      iVar3 = iVar3 + -1;\n      bVar8 = *pbVar4 < *pbVar6;\n      bVar7 = *pbVar4 == *pbVar6;\n      pbVar4 = pbVar4 + 1;\n      pbVar6 = pbVar6 + 1;\n    } while (bVar7);\n    bVar9 = false;\n    bVar8 = (!bVar8 && !bVar7) == bVar8;\n    if (bVar8) {\n      return true;\n    }\n    iVar3 = 3;\n    pbVar4 = param_2;\n    pbVar6 = (byte *)0x5f92c;\n    do {\n      if (iVar3 == 0) break;\n      iVar3 = iVar3 + -1;\n      bVar9 = *pbVar4 < *pbVar6;\n      bVar8 = *pbVar4 == *pbVar6;\n      pbVar4 = pbVar4 + 1;\n      pbVar6 = pbVar6 + 1;\n    } while (bVar8);\n    bVar7 = false;\n    bVar9 = (!bVar9 && !bVar8) == bVar9;\n    if (bVar9) {\n      return true;\n    }\n    iVar3 = 0xd;\n    pcVar5 = "close_fcalls";\n  }\n  do {\n    if (iVar3 == 0) break;\n    iVar3 = iVar3 + -1;\n    bVar7 = *param_2 < (byte)*pcVar5;\n    bVar9 = *param_2 == *pcVar5;\n    param_2 = param_2 + 1;\n    pcVar5 = (char *)((byte *)pcVar5 + 1);\n  } while (bVar9);\n  return (!bVar7 && !bVar9) == bVar7;\n}\n\n" comment comment (function_definition "bool FUN_0004d020(uint param_1,byte *param_2)\n\n{\n  char cVar1;\n  undefined4 uVar2;\n  int iVar3;\n  byte *pbVar4;\n  char *pcVar5;\n  byte *pbVar6;\n  bool bVar7;\n  bool bVar8;\n  bool bVar9;\n  \n  bVar7 = param_1 < 0x61;\n  bVar9 = param_1 == 0x61;\n  if (bVar9) {\n    iVar3 = 9;\n    pcVar5 = "indirect=";\n  }\n  else {\n    if (0x61 < (int)param_1) {\n      if (param_1 == 0x78) {\n        bVar7 = false;\n        bVar9 = param_2 == (byte *)0x0;\n        if (!bVar9) {\n          iVar3 = 9;\n          pbVar4 = param_2;\n          pbVar6 = (byte *)"explicit";\n          do {\n            if (iVar3 == 0) break;\n            iVar3 = iVar3 + -1;\n            bVar7 = *pbVar4 < *pbVar6;\n            bVar9 = *pbVar4 == *pbVar6;\n            pbVar4 = pbVar4 + 1;\n            pbVar6 = pbVar6 + 1;\n          } while (bVar9);\n          bVar8 = false;\n          bVar7 = (!bVar7 && !bVar9) == bVar7;\n          if (!bVar7) {\n            iVar3 = 5;\n            pbVar4 = param_2;\n            pbVar6 = &DAT_00063a4b;\n            do {\n              if (iVar3 == 0) break;\n              iVar3 = iVar3 + -1;\n              bVar8 = *pbVar4 < *pbVar6;\n              bVar7 = *pbVar4 == *pbVar6;\n              pbVar4 = pbVar4 + 1;\n              pbVar6 = pbVar6 + 1;\n            } while (bVar7);\n            bVar9 = false;\n            bVar7 = (!bVar8 && !bVar7) == bVar8;\n            if (bVar7) {\n              DAT_00087970 = DAT_00087970 & 0xef | 4;\n              return true;\n            }\n            iVar3 = 5;\n            pbVar4 = param_2;\n            pbVar6 = &DAT_0005a335;\n            do {\n              if (iVar3 == 0) break;\n              iVar3 = iVar3 + -1;\n              bVar9 = *pbVar4 < *pbVar6;\n              bVar7 = *pbVar4 == *pbVar6;\n              pbVar4 = pbVar4 + 1;\n              pbVar6 = pbVar6 + 1;\n            } while (bVar7);\n            bVar8 = false;\n            bVar7 = (!bVar9 && !bVar7) == bVar9;\n            if (bVar7) {\n              DAT_00087970 = DAT_00087970 & 0xfb;\n              return true;\n            }\n            iVar3 = 6;\n            pcVar5 = " debug";\n            pbVar4 = param_2;\n            do {\n              pcVar5 = (char *)((byte *)pcVar5 + 1);\n              if (iVar3 == 0) break;\n              iVar3 = iVar3 + -1;\n              bVar8 = *pbVar4 < (byte)*pcVar5;\n              bVar7 = *pbVar4 == *pcVar5;\n              pbVar4 = pbVar4 + 1;\n            } while (bVar7);\n            bVar9 = false;\n            bVar7 = (!bVar8 && !bVar7) == bVar8;\n            if (bVar7) {\n              DAT_00087970 = DAT_00087970 | 6;\n              return true;\n            }\n            iVar3 = 7;\n            pbVar4 = param_2;\n            pbVar6 = (byte *)"debugx";\n            do {\n              if (iVar3 == 0) break;\n              iVar3 = iVar3 + -1;\n              bVar9 = *pbVar4 < *pbVar6;\n              bVar7 = *pbVar4 == *pbVar6;\n              pbVar4 = pbVar4 + 1;\n              pbVar6 = pbVar6 + 1;\n            } while (bVar7);\n            bVar8 = false;\n            bVar7 = (!bVar9 && !bVar7) == bVar9;\n            if (bVar7) {\n              DAT_00087970 = DAT_00087970 | 0x16;\n              return true;\n            }\n            iVar3 = 7;\n            pbVar4 = param_2;\n            pbVar6 = (byte *)"debugn";\n            do {\n              if (iVar3 == 0) break;\n              iVar3 = iVar3 + -1;\n              bVar8 = *pbVar4 < *pbVar6;\n              bVar7 = *pbVar4 == *pbVar6;\n              pbVar4 = pbVar4 + 1;\n              pbVar6 = pbVar6 + 1;\n            } while (bVar7);\n            cVar1 = (!bVar8 && !bVar7) - bVar8;\n            if (cVar1 != '\0') {\n              DAT_00087970 = DAT_00087970 | 4;\n              uVar2 = dcgettext(0,"Unrecognized option \'-x%s\'",5,cVar1);\n              FUN_00029550(uVar2,param_2);\n              return true;\n            }\n            DAT_00087970 = DAT_00087970 & 0xf9 | 2;\n            return true;\n          }\n        }\n        DAT_00087970 = DAT_00087970 | 0x14;\n        return true;\n      }\n      if ((int)param_1 < 0x79) {\n        bVar7 = param_1 < 0x6d;\n        bVar9 = param_1 == 0x6d;\n        if (bVar9) {\n          iVar3 = 6;\n          pbVar4 = param_2;\n          pbVar6 = &DAT_000639e8;\n          do {\n            if (iVar3 == 0) break;\n            iVar3 = iVar3 + -1;\n            bVar7 = *pbVar4 < *pbVar6;\n            bVar9 = *pbVar4 == *pbVar6;\n            pbVar4 = pbVar4 + 1;\n            pbVar6 = pbVar6 + 1;\n          } while (bVar9);\n          bVar8 = false;\n          bVar7 = (!bVar7 && !bVar9) == bVar7;\n          if (!bVar7) {\n            iVar3 = 5;\n            pbVar4 = param_2;\n            pbVar6 = &DAT_000639e9;\n            do {\n              if (iVar3 == 0) break;\n              iVar3 = iVar3 + -1;\n              bVar8 = *pbVar4 < *pbVar6;\n              bVar7 = *pbVar4 == *pbVar6;\n              pbVar4 = pbVar4 + 1;\n              pbVar6 = pbVar6 + 1;\n            } while (bVar7);\n            bVar9 = false;\n            bVar7 = (!bVar8 && !bVar7) == bVar8;\n            if (!bVar7) {\n              iVar3 = 4;\n              pbVar4 = param_2;\n              pbVar6 = &DAT_000639ea;\n              do {\n                if (iVar3 == 0) break;\n                iVar3 = iVar3 + -1;\n                bVar9 = *pbVar4 < *pbVar6;\n                bVar7 = *pbVar4 == *pbVar6;\n                pbVar4 = pbVar4 + 1;\n                pbVar6 = pbVar6 + 1;\n              } while (bVar7);\n              bVar8 = false;\n              bVar7 = (!bVar9 && !bVar7) == bVar9;\n              if (!bVar7) {\n                iVar3 = 6;\n                pbVar4 = param_2;\n                pbVar6 = (byte *)"ilp32";\n                do {\n                  if (iVar3 == 0) break;\n                  iVar3 = iVar3 + -1;\n                  bVar8 = *pbVar4 < *pbVar6;\n                  bVar7 = *pbVar4 == *pbVar6;\n                  pbVar4 = pbVar4 + 1;\n                  pbVar6 = pbVar6 + 1;\n                } while (bVar7);\n                bVar9 = false;\n                bVar7 = (!bVar8 && !bVar7) == bVar8;\n                if (bVar7) {\n                  DAT_00087d90 = DAT_00087d90 & 0xffffffef;\n                  return true;\n                }\n                iVar3 = 3;\n                pbVar4 = param_2;\n                pbVar6 = (byte *)0x5a287;\n                do {\n                  if (iVar3 == 0) break;\n                  iVar3 = iVar3 + -1;\n                  bVar9 = *pbVar4 < *pbVar6;\n                  bVar7 = *pbVar4 == *pbVar6;\n                  pbVar4 = pbVar4 + 1;\n                  pbVar6 = pbVar6 + 1;\n                } while (bVar7);\n                bVar8 = false;\n                bVar7 = (!bVar9 && !bVar7) == bVar9;\n                if (bVar7) {\n                  DAT_00087d90 = DAT_00087d90 & 0xfffffff7;\n                  DAT_00087dfc = 0;\n                  return true;\n                }\n                iVar3 = 3;\n                pbVar4 = param_2;\n                pbVar6 = &DAT_00063a90;\n                do {\n                  if (iVar3 == 0) break;\n                  iVar3 = iVar3 + -1;\n                  bVar8 = *pbVar4 < *pbVar6;\n                  bVar7 = *pbVar4 == *pbVar6;\n                  pbVar4 = pbVar4 + 1;\n                  pbVar6 = pbVar6 + 1;\n                } while (bVar7);\n                bVar9 = false;\n                bVar7 = (!bVar8 && !bVar7) == bVar8;\n                if (bVar7) {\n                  DAT_00087d90 = DAT_00087d90 | 8;\n                  DAT_00087dfc = 1;\n                  return true;\n                }\n                iVar3 = 0xd;\n                pbVar4 = param_2;\n                pbVar6 = (byte *)"unwind-check=";\n                do {\n                  if (iVar3 == 0) break;\n                  iVar3 = iVar3 + -1;\n                  bVar9 = *pbVar4 < *pbVar6;\n                  bVar7 = *pbVar4 == *pbVar6;\n                  pbVar4 = pbVar4 + 1;\n                  pbVar6 = pbVar6 + 1;\n                } while (bVar7);\n                if ((!bVar9 && !bVar7) == bVar9) {\n                  iVar3 = strcmp((char *)(param_2 + 0xd),"warning");\n                  if (iVar3 == 0) {\n                    DAT_00087974 = 0;\n                    return true;\n                  }\n                  iVar3 = strcmp((char *)(param_2 + 0xd),"error");\n                  if (iVar3 == 0) {\n                    DAT_00087974 = 1;\n                    return true;\n                  }\n                  return false;\n                }\n                iVar3 = strncmp((char *)param_2,"hint.b=",7);\n                if (iVar3 != 0) {\n                  iVar3 = strncmp((char *)param_2,"tune=",5);\n                  if (iVar3 != 0) {\n                    return false;\n                  }\n                  iVar3 = strcmp((char *)(param_2 + 5),"itanium1");\n                  if (iVar3 != 0) {\n                    iVar3 = strcmp((char *)(param_2 + 5),"itanium2");\n                    if (iVar3 == 0) {\n                      DAT_00087968 = 1;\n                      return true;\n                    }\n                    return false;\n                  }\n                  DAT_00087968 = 0;\n                  return true;\n                }\n                param_2 = param_2 + 7;\n                iVar3 = strcmp((char *)param_2,"ok");\n                if (iVar3 == 0) {\n                  DAT_0008796c = 2;\n                  return true;\n                }\n                iVar3 = strcmp((char *)param_2,"warning");\n                if (iVar3 != 0) {\n                  iVar3 = strcmp((char *)param_2,"error");\n                  if (iVar3 == 0) {\n                    DAT_0008796c = 0;\n                    return true;\n                  }\n                  return false;\n                }\n                DAT_0008796c = 1;\n                return true;\n              }\n            }\n          }\n          DAT_00087d90 = DAT_00087d90 | 0x10;\n          return true;\n        }\n      }\n      else {\n        if (param_1 == 0x123) {\n          DAT_00087d90 = DAT_00087d90 | 0x40;\n          return true;\n        }\n        if (param_1 == 0x124) {\n          DAT_00087d90 = DAT_00087d90 | 0x80;\n          return true;\n        }\n      }\n      return false;\n    }\n    bVar7 = param_1 < 0x4e;\n    bVar9 = param_1 == 0x4e;\n    if (!bVar9) {\n      if (param_1 != 0x53) {\n        return param_1 == 0x43;\n      }\n      return true;\n    }\n    iVar3 = 3;\n    pbVar4 = param_2;\n    pbVar6 = &DAT_00063a25;\n    do {\n      if (iVar3 == 0) break;\n      iVar3 = iVar3 + -1;\n      bVar7 = *pbVar4 < *pbVar6;\n      bVar9 = *pbVar4 == *pbVar6;\n      pbVar4 = pbVar4 + 1;\n      pbVar6 = pbVar6 + 1;\n    } while (bVar9);\n    bVar8 = false;\n    bVar7 = (!bVar7 && !bVar9) == bVar7;\n    if (bVar7) {\n      return true;\n    }\n    iVar3 = 3;\n    pbVar4 = param_2;\n    pbVar6 = &DAT_00063a28;\n    do {\n      if (iVar3 == 0) break;\n      iVar3 = iVar3 + -1;\n      bVar8 = *pbVar4 < *pbVar6;\n      bVar7 = *pbVar4 == *pbVar6;\n      pbVar4 = pbVar4 + 1;\n      pbVar6 = pbVar6 + 1;\n    } while (bVar7);\n    bVar9 = false;\n    bVar8 = (!bVar8 && !bVar7) == bVar8;\n    if (bVar8) {\n      return true;\n    }\n    iVar3 = 3;\n    pbVar4 = param_2;\n    pbVar6 = (byte *)0x5f92c;\n    do {\n      if (iVar3 == 0) break;\n      iVar3 = iVar3 + -1;\n      bVar9 = *pbVar4 < *pbVar6;\n      bVar8 = *pbVar4 == *pbVar6;\n      pbVar4 = pbVar4 + 1;\n      pbVar6 = pbVar6 + 1;\n    } while (bVar8);\n    bVar7 = false;\n    bVar9 = (!bVar9 && !bVar8) == bVar9;\n    if (bVar9) {\n      return true;\n    }\n    iVar3 = 0xd;\n    pcVar5 = "close_fcalls";\n  }\n  do {\n    if (iVar3 == 0) break;\n    iVar3 = iVar3 + -1;\n    bVar7 = *param_2 < (byte)*pcVar5;\n    bVar9 = *param_2 == *pcVar5;\n    param_2 = param_2 + 1;\n    pcVar5 = (char *)((byte *)pcVar5 + 1);\n  } while (bVar9);\n  return (!bVar7 && !bVar9) == bVar7;\n}" primitive_type (function_declarator "FUN_0004d020(uint param_1,byte *param_2)" identifier (parameter_list "(uint param_1,byte *param_2)" ( (parameter_declaration "uint param_1" type_identifier identifier) , (parameter_declaration "byte *param_2" type_identifier (pointer_declarator "*param_2" * identifier)) ))) (compound_statement "{\n  char cVar1;\n  undefined4 uVar2;\n  int iVar3;\n  byte *pbVar4;\n  char *pcVar5;\n  byte *pbVar6;\n  bool bVar7;\n  bool bVar8;\n  bool bVar9;\n  \n  bVar7 = param_1 < 0x61;\n  bVar9 = param_1 == 0x61;\n  if (bVar9) {\n    iVar3 = 9;\n    pcVar5 = "indirect=";\n  }\n  else {\n    if (0x61 < (int)param_1) {\n      if (param_1 == 0x78) {\n        bVar7 = false;\n        bVar9 = param_2 == (byte *)0x0;\n        if (!bVar9) {\n          iVar3 = 9;\n          pbVar4 = param_2;\n          pbVar6 = (byte *)"explicit";\n          do {\n            if (iVar3 == 0) break;\n            iVar3 = iVar3 + -1;\n            bVar7 = *pbVar4 < *pbVar6;\n            bVar9 = *pbVar4 == *pbVar6;\n            pbVar4 = pbVar4 + 1;\n            pbVar6 = pbVar6 + 1;\n          } while (bVar9);\n          bVar8 = false;\n          bVar7 = (!bVar7 && !bVar9) == bVar7;\n          if (!bVar7) {\n            iVar3 = 5;\n            pbVar4 = param_2;\n            pbVar6 = &DAT_00063a4b;\n            do {\n              if (iVar3 == 0) break;\n              iVar3 = iVar3 + -1;\n              bVar8 = *pbVar4 < *pbVar6;\n              bVar7 = *pbVar4 == *pbVar6;\n              pbVar4 = pbVar4 + 1;\n              pbVar6 = pbVar6 + 1;\n            } while (bVar7);\n            bVar9 = false;\n            bVar7 = (!bVar8 && !bVar7) == bVar8;\n            if (bVar7) {\n              DAT_00087970 = DAT_00087970 & 0xef | 4;\n              return true;\n            }\n            iVar3 = 5;\n            pbVar4 = param_2;\n            pbVar6 = &DAT_0005a335;\n            do {\n              if (iVar3 == 0) break;\n              iVar3 = iVar3 + -1;\n              bVar9 = *pbVar4 < *pbVar6;\n              bVar7 = *pbVar4 == *pbVar6;\n              pbVar4 = pbVar4 + 1;\n              pbVar6 = pbVar6 + 1;\n            } while (bVar7);\n            bVar8 = false;\n            bVar7 = (!bVar9 && !bVar7) == bVar9;\n            if (bVar7) {\n              DAT_00087970 = DAT_00087970 & 0xfb;\n              return true;\n            }\n            iVar3 = 6;\n            pcVar5 = " debug";\n            pbVar4 = param_2;\n            do {\n              pcVar5 = (char *)((byte *)pcVar5 + 1);\n              if (iVar3 == 0) break;\n              iVar3 = iVar3 + -1;\n              bVar8 = *pbVar4 < (byte)*pcVar5;\n              bVar7 = *pbVar4 == *pcVar5;\n              pbVar4 = pbVar4 + 1;\n            } while (bVar7);\n            bVar9 = false;\n            bVar7 = (!bVar8 && !bVar7) == bVar8;\n            if (bVar7) {\n              DAT_00087970 = DAT_00087970 | 6;\n              return true;\n            }\n            iVar3 = 7;\n            pbVar4 = param_2;\n            pbVar6 = (byte *)"debugx";\n            do {\n              if (iVar3 == 0) break;\n              iVar3 = iVar3 + -1;\n              bVar9 = *pbVar4 < *pbVar6;\n              bVar7 = *pbVar4 == *pbVar6;\n              pbVar4 = pbVar4 + 1;\n              pbVar6 = pbVar6 + 1;\n            } while (bVar7);\n            bVar8 = false;\n            bVar7 = (!bVar9 && !bVar7) == bVar9;\n            if (bVar7) {\n              DAT_00087970 = DAT_00087970 | 0x16;\n              return true;\n            }\n            iVar3 = 7;\n            pbVar4 = param_2;\n            pbVar6 = (byte *)"debugn";\n            do {\n              if (iVar3 == 0) break;\n              iVar3 = iVar3 + -1;\n              bVar8 = *pbVar4 < *pbVar6;\n              bVar7 = *pbVar4 == *pbVar6;\n              pbVar4 = pbVar4 + 1;\n              pbVar6 = pbVar6 + 1;\n            } while (bVar7);\n            cVar1 = (!bVar8 && !bVar7) - bVar8;\n            if (cVar1 != '\0') {\n              DAT_00087970 = DAT_00087970 | 4;\n              uVar2 = dcgettext(0,"Unrecognized option \'-x%s\'",5,cVar1);\n              FUN_00029550(uVar2,param_2);\n              return true;\n            }\n            DAT_00087970 = DAT_00087970 & 0xf9 | 2;\n            return true;\n          }\n        }\n        DAT_00087970 = DAT_00087970 | 0x14;\n        return true;\n      }\n      if ((int)param_1 < 0x79) {\n        bVar7 = param_1 < 0x6d;\n        bVar9 = param_1 == 0x6d;\n        if (bVar9) {\n          iVar3 = 6;\n          pbVar4 = param_2;\n          pbVar6 = &DAT_000639e8;\n          do {\n            if (iVar3 == 0) break;\n            iVar3 = iVar3 + -1;\n            bVar7 = *pbVar4 < *pbVar6;\n            bVar9 = *pbVar4 == *pbVar6;\n            pbVar4 = pbVar4 + 1;\n            pbVar6 = pbVar6 + 1;\n          } while (bVar9);\n          bVar8 = false;\n          bVar7 = (!bVar7 && !bVar9) == bVar7;\n          if (!bVar7) {\n            iVar3 = 5;\n            pbVar4 = param_2;\n            pbVar6 = &DAT_000639e9;\n            do {\n              if (iVar3 == 0) break;\n              iVar3 = iVar3 + -1;\n              bVar8 = *pbVar4 < *pbVar6;\n              bVar7 = *pbVar4 == *pbVar6;\n              pbVar4 = pbVar4 + 1;\n              pbVar6 = pbVar6 + 1;\n            } while (bVar7);\n            bVar9 = false;\n            bVar7 = (!bVar8 && !bVar7) == bVar8;\n            if (!bVar7) {\n              iVar3 = 4;\n              pbVar4 = param_2;\n              pbVar6 = &DAT_000639ea;\n              do {\n                if (iVar3 == 0) break;\n                iVar3 = iVar3 + -1;\n                bVar9 = *pbVar4 < *pbVar6;\n                bVar7 = *pbVar4 == *pbVar6;\n                pbVar4 = pbVar4 + 1;\n                pbVar6 = pbVar6 + 1;\n              } while (bVar7);\n              bVar8 = false;\n              bVar7 = (!bVar9 && !bVar7) == bVar9;\n              if (!bVar7) {\n                iVar3 = 6;\n                pbVar4 = param_2;\n                pbVar6 = (byte *)"ilp32";\n                do {\n                  if (iVar3 == 0) break;\n                  iVar3 = iVar3 + -1;\n                  bVar8 = *pbVar4 < *pbVar6;\n                  bVar7 = *pbVar4 == *pbVar6;\n                  pbVar4 = pbVar4 + 1;\n                  pbVar6 = pbVar6 + 1;\n                } while (bVar7);\n                bVar9 = false;\n                bVar7 = (!bVar8 && !bVar7) == bVar8;\n                if (bVar7) {\n                  DAT_00087d90 = DAT_00087d90 & 0xffffffef;\n                  return true;\n                }\n                iVar3 = 3;\n                pbVar4 = param_2;\n                pbVar6 = (byte *)0x5a287;\n                do {\n                  if (iVar3 == 0) break;\n                  iVar3 = iVar3 + -1;\n                  bVar9 = *pbVar4 < *pbVar6;\n                  bVar7 = *pbVar4 == *pbVar6;\n                  pbVar4 = pbVar4 + 1;\n                  pbVar6 = pbVar6 + 1;\n                } while (bVar7);\n                bVar8 = false;\n                bVar7 = (!bVar9 && !bVar7) == bVar9;\n                if (bVar7) {\n                  DAT_00087d90 = DAT_00087d90 & 0xfffffff7;\n                  DAT_00087dfc = 0;\n                  return true;\n                }\n                iVar3 = 3;\n                pbVar4 = param_2;\n                pbVar6 = &DAT_00063a90;\n                do {\n                  if (iVar3 == 0) break;\n                  iVar3 = iVar3 + -1;\n                  bVar8 = *pbVar4 < *pbVar6;\n                  bVar7 = *pbVar4 == *pbVar6;\n                  pbVar4 = pbVar4 + 1;\n                  pbVar6 = pbVar6 + 1;\n                } while (bVar7);\n                bVar9 = false;\n                bVar7 = (!bVar8 && !bVar7) == bVar8;\n                if (bVar7) {\n                  DAT_00087d90 = DAT_00087d90 | 8;\n                  DAT_00087dfc = 1;\n                  return true;\n                }\n                iVar3 = 0xd;\n                pbVar4 = param_2;\n                pbVar6 = (byte *)"unwind-check=";\n                do {\n                  if (iVar3 == 0) break;\n                  iVar3 = iVar3 + -1;\n                  bVar9 = *pbVar4 < *pbVar6;\n                  bVar7 = *pbVar4 == *pbVar6;\n                  pbVar4 = pbVar4 + 1;\n                  pbVar6 = pbVar6 + 1;\n                } while (bVar7);\n                if ((!bVar9 && !bVar7) == bVar9) {\n                  iVar3 = strcmp((char *)(param_2 + 0xd),"warning");\n                  if (iVar3 == 0) {\n                    DAT_00087974 = 0;\n                    return true;\n                  }\n                  iVar3 = strcmp((char *)(param_2 + 0xd),"error");\n                  if (iVar3 == 0) {\n                    DAT_00087974 = 1;\n                    return true;\n                  }\n                  return false;\n                }\n                iVar3 = strncmp((char *)param_2,"hint.b=",7);\n                if (iVar3 != 0) {\n                  iVar3 = strncmp((char *)param_2,"tune=",5);\n                  if (iVar3 != 0) {\n                    return false;\n                  }\n                  iVar3 = strcmp((char *)(param_2 + 5),"itanium1");\n                  if (iVar3 != 0) {\n                    iVar3 = strcmp((char *)(param_2 + 5),"itanium2");\n                    if (iVar3 == 0) {\n                      DAT_00087968 = 1;\n                      return true;\n                    }\n                    return false;\n                  }\n                  DAT_00087968 = 0;\n                  return true;\n                }\n                param_2 = param_2 + 7;\n                iVar3 = strcmp((char *)param_2,"ok");\n                if (iVar3 == 0) {\n                  DAT_0008796c = 2;\n                  return true;\n                }\n                iVar3 = strcmp((char *)param_2,"warning");\n                if (iVar3 != 0) {\n                  iVar3 = strcmp((char *)param_2,"error");\n                  if (iVar3 == 0) {\n                    DAT_0008796c = 0;\n                    return true;\n                  }\n                  return false;\n                }\n                DAT_0008796c = 1;\n                return true;\n              }\n            }\n          }\n          DAT_00087d90 = DAT_00087d90 | 0x10;\n          return true;\n        }\n      }\n      else {\n        if (param_1 == 0x123) {\n          DAT_00087d90 = DAT_00087d90 | 0x40;\n          return true;\n        }\n        if (param_1 == 0x124) {\n          DAT_00087d90 = DAT_00087d90 | 0x80;\n          return true;\n        }\n      }\n      return false;\n    }\n    bVar7 = param_1 < 0x4e;\n    bVar9 = param_1 == 0x4e;\n    if (!bVar9) {\n      if (param_1 != 0x53) {\n        return param_1 == 0x43;\n      }\n      return true;\n    }\n    iVar3 = 3;\n    pbVar4 = param_2;\n    pbVar6 = &DAT_00063a25;\n    do {\n      if (iVar3 == 0) break;\n      iVar3 = iVar3 + -1;\n      bVar7 = *pbVar4 < *pbVar6;\n      bVar9 = *pbVar4 == *pbVar6;\n      pbVar4 = pbVar4 + 1;\n      pbVar6 = pbVar6 + 1;\n    } while (bVar9);\n    bVar8 = false;\n    bVar7 = (!bVar7 && !bVar9) == bVar7;\n    if (bVar7) {\n      return true;\n    }\n    iVar3 = 3;\n    pbVar4 = param_2;\n    pbVar6 = &DAT_00063a28;\n    do {\n      if (iVar3 == 0) break;\n      iVar3 = iVar3 + -1;\n      bVar8 = *pbVar4 < *pbVar6;\n      bVar7 = *pbVar4 == *pbVar6;\n      pbVar4 = pbVar4 + 1;\n      pbVar6 = pbVar6 + 1;\n    } while (bVar7);\n    bVar9 = false;\n    bVar8 = (!bVar8 && !bVar7) == bVar8;\n    if (bVar8) {\n      return true;\n    }\n    iVar3 = 3;\n    pbVar4 = param_2;\n    pbVar6 = (byte *)0x5f92c;\n    do {\n      if (iVar3 == 0) break;\n      iVar3 = iVar3 + -1;\n      bVar9 = *pbVar4 < *pbVar6;\n      bVar8 = *pbVar4 == *pbVar6;\n      pbVar4 = pbVar4 + 1;\n      pbVar6 = pbVar6 + 1;\n    } while (bVar8);\n    bVar7 = false;\n    bVar9 = (!bVar9 && !bVar8) == bVar9;\n    if (bVar9) {\n      return true;\n    }\n    iVar3 = 0xd;\n    pcVar5 = "close_fcalls";\n  }\n  do {\n    if (iVar3 == 0) break;\n    iVar3 = iVar3 + -1;\n    bVar7 = *param_2 < (byte)*pcVar5;\n    bVar9 = *param_2 == *pcVar5;\n    param_2 = param_2 + 1;\n    pcVar5 = (char *)((byte *)pcVar5 + 1);\n  } while (bVar9);\n  return (!bVar7 && !bVar9) == bVar7;\n}" { (declaration "char cVar1;" primitive_type identifier ;) (declaration "undefined4 uVar2;" type_identifier identifier ;) (declaration "int iVar3;" primitive_type identifier ;) (declaration "byte *pbVar4;" type_identifier (pointer_declarator "*pbVar4" * identifier) ;) (declaration "char *pcVar5;" primitive_type (pointer_declarator "*pcVar5" * identifier) ;) (declaration "byte *pbVar6;" type_identifier (pointer_declarator "*pbVar6" * identifier) ;) (declaration "bool bVar7;" primitive_type identifier ;) (declaration "bool bVar8;" primitive_type identifier ;) (declaration "bool bVar9;" primitive_type identifier ;) (expression_statement "bVar7 = param_1 < 0x61;" (assignment_expression "bVar7 = param_1 < 0x61" identifier = (binary_expression "param_1 < 0x61" identifier < number_literal)) ;) (expression_statement "bVar9 = param_1 == 0x61;" (assignment_expression "bVar9 = param_1 == 0x61" identifier = (binary_expression "param_1 == 0x61" identifier == number_literal)) ;) (if_statement "if (bVar9) {\n    iVar3 = 9;\n    pcVar5 = "indirect=";\n  }\n  else {\n    if (0x61 < (int)param_1) {\n      if (param_1 == 0x78) {\n        bVar7 = false;\n        bVar9 = param_2 == (byte *)0x0;\n        if (!bVar9) {\n          iVar3 = 9;\n          pbVar4 = param_2;\n          pbVar6 = (byte *)"explicit";\n          do {\n            if (iVar3 == 0) break;\n            iVar3 = iVar3 + -1;\n            bVar7 = *pbVar4 < *pbVar6;\n            bVar9 = *pbVar4 == *pbVar6;\n            pbVar4 = pbVar4 + 1;\n            pbVar6 = pbVar6 + 1;\n          } while (bVar9);\n          bVar8 = false;\n          bVar7 = (!bVar7 && !bVar9) == bVar7;\n          if (!bVar7) {\n            iVar3 = 5;\n            pbVar4 = param_2;\n            pbVar6 = &DAT_00063a4b;\n            do {\n              if (iVar3 == 0) break;\n              iVar3 = iVar3 + -1;\n              bVar8 = *pbVar4 < *pbVar6;\n              bVar7 = *pbVar4 == *pbVar6;\n              pbVar4 = pbVar4 + 1;\n              pbVar6 = pbVar6 + 1;\n            } while (bVar7);\n            bVar9 = false;\n            bVar7 = (!bVar8 && !bVar7) == bVar8;\n            if (bVar7) {\n              DAT_00087970 = DAT_00087970 & 0xef | 4;\n              return true;\n            }\n            iVar3 = 5;\n            pbVar4 = param_2;\n            pbVar6 = &DAT_0005a335;\n            do {\n              if (iVar3 == 0) break;\n              iVar3 = iVar3 + -1;\n              bVar9 = *pbVar4 < *pbVar6;\n              bVar7 = *pbVar4 == *pbVar6;\n              pbVar4 = pbVar4 + 1;\n              pbVar6 = pbVar6 + 1;\n            } while (bVar7);\n            bVar8 = false;\n            bVar7 = (!bVar9 && !bVar7) == bVar9;\n            if (bVar7) {\n              DAT_00087970 = DAT_00087970 & 0xfb;\n              return true;\n            }\n            iVar3 = 6;\n            pcVar5 = " debug";\n            pbVar4 = param_2;\n            do {\n              pcVar5 = (char *)((byte *)pcVar5 + 1);\n              if (iVar3 == 0) break;\n              iVar3 = iVar3 + -1;\n              bVar8 = *pbVar4 < (byte)*pcVar5;\n              bVar7 = *pbVar4 == *pcVar5;\n              pbVar4 = pbVar4 + 1;\n            } while (bVar7);\n            bVar9 = false;\n            bVar7 = (!bVar8 && !bVar7) == bVar8;\n            if (bVar7) {\n              DAT_00087970 = DAT_00087970 | 6;\n              return true;\n            }\n            iVar3 = 7;\n            pbVar4 = param_2;\n            pbVar6 = (byte *)"debugx";\n            do {\n              if (iVar3 == 0) break;\n              iVar3 = iVar3 + -1;\n              bVar9 = *pbVar4 < *pbVar6;\n              bVar7 = *pbVar4 == *pbVar6;\n              pbVar4 = pbVar4 + 1;\n              pbVar6 = pbVar6 + 1;\n            } while (bVar7);\n            bVar8 = false;\n            bVar7 = (!bVar9 && !bVar7) == bVar9;\n            if (bVar7) {\n              DAT_00087970 = DAT_00087970 | 0x16;\n              return true;\n            }\n            iVar3 = 7;\n            pbVar4 = param_2;\n            pbVar6 = (byte *)"debugn";\n            do {\n              if (iVar3 == 0) break;\n              iVar3 = iVar3 + -1;\n              bVar8 = *pbVar4 < *pbVar6;\n              bVar7 = *pbVar4 == *pbVar6;\n              pbVar4 = pbVar4 + 1;\n              pbVar6 = pbVar6 + 1;\n            } while (bVar7);\n            cVar1 = (!bVar8 && !bVar7) - bVar8;\n            if (cVar1 != '\0') {\n              DAT_00087970 = DAT_00087970 | 4;\n              uVar2 = dcgettext(0,"Unrecognized option \'-x%s\'",5,cVar1);\n              FUN_00029550(uVar2,param_2);\n              return true;\n            }\n            DAT_00087970 = DAT_00087970 & 0xf9 | 2;\n            return true;\n          }\n        }\n        DAT_00087970 = DAT_00087970 | 0x14;\n        return true;\n      }\n      if ((int)param_1 < 0x79) {\n        bVar7 = param_1 < 0x6d;\n        bVar9 = param_1 == 0x6d;\n        if (bVar9) {\n          iVar3 = 6;\n          pbVar4 = param_2;\n          pbVar6 = &DAT_000639e8;\n          do {\n            if (iVar3 == 0) break;\n            iVar3 = iVar3 + -1;\n            bVar7 = *pbVar4 < *pbVar6;\n            bVar9 = *pbVar4 == *pbVar6;\n            pbVar4 = pbVar4 + 1;\n            pbVar6 = pbVar6 + 1;\n          } while (bVar9);\n          bVar8 = false;\n          bVar7 = (!bVar7 && !bVar9) == bVar7;\n          if (!bVar7) {\n            iVar3 = 5;\n            pbVar4 = param_2;\n            pbVar6 = &DAT_000639e9;\n            do {\n              if (iVar3 == 0) break;\n              iVar3 = iVar3 + -1;\n              bVar8 = *pbVar4 < *pbVar6;\n              bVar7 = *pbVar4 == *pbVar6;\n              pbVar4 = pbVar4 + 1;\n              pbVar6 = pbVar6 + 1;\n            } while (bVar7);\n            bVar9 = false;\n            bVar7 = (!bVar8 && !bVar7) == bVar8;\n            if (!bVar7) {\n              iVar3 = 4;\n              pbVar4 = param_2;\n              pbVar6 = &DAT_000639ea;\n              do {\n                if (iVar3 == 0) break;\n                iVar3 = iVar3 + -1;\n                bVar9 = *pbVar4 < *pbVar6;\n                bVar7 = *pbVar4 == *pbVar6;\n                pbVar4 = pbVar4 + 1;\n                pbVar6 = pbVar6 + 1;\n              } while (bVar7);\n              bVar8 = false;\n              bVar7 = (!bVar9 && !bVar7) == bVar9;\n              if (!bVar7) {\n                iVar3 = 6;\n                pbVar4 = param_2;\n                pbVar6 = (byte *)"ilp32";\n                do {\n                  if (iVar3 == 0) break;\n                  iVar3 = iVar3 + -1;\n                  bVar8 = *pbVar4 < *pbVar6;\n                  bVar7 = *pbVar4 == *pbVar6;\n                  pbVar4 = pbVar4 + 1;\n                  pbVar6 = pbVar6 + 1;\n                } while (bVar7);\n                bVar9 = false;\n                bVar7 = (!bVar8 && !bVar7) == bVar8;\n                if (bVar7) {\n                  DAT_00087d90 = DAT_00087d90 & 0xffffffef;\n                  return true;\n                }\n                iVar3 = 3;\n                pbVar4 = param_2;\n                pbVar6 = (byte *)0x5a287;\n                do {\n                  if (iVar3 == 0) break;\n                  iVar3 = iVar3 + -1;\n                  bVar9 = *pbVar4 < *pbVar6;\n                  bVar7 = *pbVar4 == *pbVar6;\n                  pbVar4 = pbVar4 + 1;\n                  pbVar6 = pbVar6 + 1;\n                } while (bVar7);\n                bVar8 = false;\n                bVar7 = (!bVar9 && !bVar7) == bVar9;\n                if (bVar7) {\n                  DAT_00087d90 = DAT_00087d90 & 0xfffffff7;\n                  DAT_00087dfc = 0;\n                  return true;\n                }\n                iVar3 = 3;\n                pbVar4 = param_2;\n                pbVar6 = &DAT_00063a90;\n                do {\n                  if (iVar3 == 0) break;\n                  iVar3 = iVar3 + -1;\n                  bVar8 = *pbVar4 < *pbVar6;\n                  bVar7 = *pbVar4 == *pbVar6;\n                  pbVar4 = pbVar4 + 1;\n                  pbVar6 = pbVar6 + 1;\n                } while (bVar7);\n                bVar9 = false;\n                bVar7 = (!bVar8 && !bVar7) == bVar8;\n                if (bVar7) {\n                  DAT_00087d90 = DAT_00087d90 | 8;\n                  DAT_00087dfc = 1;\n                  return true;\n                }\n                iVar3 = 0xd;\n                pbVar4 = param_2;\n                pbVar6 = (byte *)"unwind-check=";\n                do {\n                  if (iVar3 == 0) break;\n                  iVar3 = iVar3 + -1;\n                  bVar9 = *pbVar4 < *pbVar6;\n                  bVar7 = *pbVar4 == *pbVar6;\n                  pbVar4 = pbVar4 + 1;\n                  pbVar6 = pbVar6 + 1;\n                } while (bVar7);\n                if ((!bVar9 && !bVar7) == bVar9) {\n                  iVar3 = strcmp((char *)(param_2 + 0xd),"warning");\n                  if (iVar3 == 0) {\n                    DAT_00087974 = 0;\n                    return true;\n                  }\n                  iVar3 = strcmp((char *)(param_2 + 0xd),"error");\n                  if (iVar3 == 0) {\n                    DAT_00087974 = 1;\n                    return true;\n                  }\n                  return false;\n                }\n                iVar3 = strncmp((char *)param_2,"hint.b=",7);\n                if (iVar3 != 0) {\n                  iVar3 = strncmp((char *)param_2,"tune=",5);\n                  if (iVar3 != 0) {\n                    return false;\n                  }\n                  iVar3 = strcmp((char *)(param_2 + 5),"itanium1");\n                  if (iVar3 != 0) {\n                    iVar3 = strcmp((char *)(param_2 + 5),"itanium2");\n                    if (iVar3 == 0) {\n                      DAT_00087968 = 1;\n                      return true;\n                    }\n                    return false;\n                  }\n                  DAT_00087968 = 0;\n                  return true;\n                }\n                param_2 = param_2 + 7;\n                iVar3 = strcmp((char *)param_2,"ok");\n                if (iVar3 == 0) {\n                  DAT_0008796c = 2;\n                  return true;\n                }\n                iVar3 = strcmp((char *)param_2,"warning");\n                if (iVar3 != 0) {\n                  iVar3 = strcmp((char *)param_2,"error");\n                  if (iVar3 == 0) {\n                    DAT_0008796c = 0;\n                    return true;\n                  }\n                  return false;\n                }\n                DAT_0008796c = 1;\n                return true;\n              }\n            }\n          }\n          DAT_00087d90 = DAT_00087d90 | 0x10;\n          return true;\n        }\n      }\n      else {\n        if (param_1 == 0x123) {\n          DAT_00087d90 = DAT_00087d90 | 0x40;\n          return true;\n        }\n        if (param_1 == 0x124) {\n          DAT_00087d90 = DAT_00087d90 | 0x80;\n          return true;\n        }\n      }\n      return false;\n    }\n    bVar7 = param_1 < 0x4e;\n    bVar9 = param_1 == 0x4e;\n    if (!bVar9) {\n      if (param_1 != 0x53) {\n        return param_1 == 0x43;\n      }\n      return true;\n    }\n    iVar3 = 3;\n    pbVar4 = param_2;\n    pbVar6 = &DAT_00063a25;\n    do {\n      if (iVar3 == 0) break;\n      iVar3 = iVar3 + -1;\n      bVar7 = *pbVar4 < *pbVar6;\n      bVar9 = *pbVar4 == *pbVar6;\n      pbVar4 = pbVar4 + 1;\n      pbVar6 = pbVar6 + 1;\n    } while (bVar9);\n    bVar8 = false;\n    bVar7 = (!bVar7 && !bVar9) == bVar7;\n    if (bVar7) {\n      return true;\n    }\n    iVar3 = 3;\n    pbVar4 = param_2;\n    pbVar6 = &DAT_00063a28;\n    do {\n      if (iVar3 == 0) break;\n      iVar3 = iVar3 + -1;\n      bVar8 = *pbVar4 < *pbVar6;\n      bVar7 = *pbVar4 == *pbVar6;\n      pbVar4 = pbVar4 + 1;\n      pbVar6 = pbVar6 + 1;\n    } while (bVar7);\n    bVar9 = false;\n    bVar8 = (!bVar8 && !bVar7) == bVar8;\n    if (bVar8) {\n      return true;\n    }\n    iVar3 = 3;\n    pbVar4 = param_2;\n    pbVar6 = (byte *)0x5f92c;\n    do {\n      if (iVar3 == 0) break;\n      iVar3 = iVar3 + -1;\n      bVar9 = *pbVar4 < *pbVar6;\n      bVar8 = *pbVar4 == *pbVar6;\n      pbVar4 = pbVar4 + 1;\n      pbVar6 = pbVar6 + 1;\n    } while (bVar8);\n    bVar7 = false;\n    bVar9 = (!bVar9 && !bVar8) == bVar9;\n    if (bVar9) {\n      return true;\n    }\n    iVar3 = 0xd;\n    pcVar5 = "close_fcalls";\n  }" if (parenthesized_expression "(bVar9)" ( identifier )) (compound_statement "{\n    iVar3 = 9;\n    pcVar5 = "indirect=";\n  }" { (expression_statement "iVar3 = 9;" (assignment_expression "iVar3 = 9" identifier = number_literal) ;) (expression_statement "pcVar5 = "indirect=";" (assignment_expression "pcVar5 = "indirect="" identifier = (string_literal ""indirect="" " string_content ")) ;) }) (else_clause "else {\n    if (0x61 < (int)param_1) {\n      if (param_1 == 0x78) {\n        bVar7 = false;\n        bVar9 = param_2 == (byte *)0x0;\n        if (!bVar9) {\n          iVar3 = 9;\n          pbVar4 = param_2;\n          pbVar6 = (byte *)"explicit";\n          do {\n            if (iVar3 == 0) break;\n            iVar3 = iVar3 + -1;\n            bVar7 = *pbVar4 < *pbVar6;\n            bVar9 = *pbVar4 == *pbVar6;\n            pbVar4 = pbVar4 + 1;\n            pbVar6 = pbVar6 + 1;\n          } while (bVar9);\n          bVar8 = false;\n          bVar7 = (!bVar7 && !bVar9) == bVar7;\n          if (!bVar7) {\n            iVar3 = 5;\n            pbVar4 = param_2;\n            pbVar6 = &DAT_00063a4b;\n            do {\n              if (iVar3 == 0) break;\n              iVar3 = iVar3 + -1;\n              bVar8 = *pbVar4 < *pbVar6;\n              bVar7 = *pbVar4 == *pbVar6;\n              pbVar4 = pbVar4 + 1;\n              pbVar6 = pbVar6 + 1;\n            } while (bVar7);\n            bVar9 = false;\n            bVar7 = (!bVar8 && !bVar7) == bVar8;\n            if (bVar7) {\n              DAT_00087970 = DAT_00087970 & 0xef | 4;\n              return true;\n            }\n            iVar3 = 5;\n            pbVar4 = param_2;\n            pbVar6 = &DAT_0005a335;\n            do {\n              if (iVar3 == 0) break;\n              iVar3 = iVar3 + -1;\n              bVar9 = *pbVar4 < *pbVar6;\n              bVar7 = *pbVar4 == *pbVar6;\n              pbVar4 = pbVar4 + 1;\n              pbVar6 = pbVar6 + 1;\n            } while (bVar7);\n            bVar8 = false;\n            bVar7 = (!bVar9 && !bVar7) == bVar9;\n            if (bVar7) {\n              DAT_00087970 = DAT_00087970 & 0xfb;\n              return true;\n            }\n            iVar3 = 6;\n            pcVar5 = " debug";\n            pbVar4 = param_2;\n            do {\n              pcVar5 = (char *)((byte *)pcVar5 + 1);\n              if (iVar3 == 0) break;\n              iVar3 = iVar3 + -1;\n              bVar8 = *pbVar4 < (byte)*pcVar5;\n              bVar7 = *pbVar4 == *pcVar5;\n              pbVar4 = pbVar4 + 1;\n            } while (bVar7);\n            bVar9 = false;\n            bVar7 = (!bVar8 && !bVar7) == bVar8;\n            if (bVar7) {\n              DAT_00087970 = DAT_00087970 | 6;\n              return true;\n            }\n            iVar3 = 7;\n            pbVar4 = param_2;\n            pbVar6 = (byte *)"debugx";\n            do {\n              if (iVar3 == 0) break;\n              iVar3 = iVar3 + -1;\n              bVar9 = *pbVar4 < *pbVar6;\n              bVar7 = *pbVar4 == *pbVar6;\n              pbVar4 = pbVar4 + 1;\n              pbVar6 = pbVar6 + 1;\n            } while (bVar7);\n            bVar8 = false;\n            bVar7 = (!bVar9 && !bVar7) == bVar9;\n            if (bVar7) {\n              DAT_00087970 = DAT_00087970 | 0x16;\n              return true;\n            }\n            iVar3 = 7;\n            pbVar4 = param_2;\n            pbVar6 = (byte *)"debugn";\n            do {\n              if (iVar3 == 0) break;\n              iVar3 = iVar3 + -1;\n              bVar8 = *pbVar4 < *pbVar6;\n              bVar7 = *pbVar4 == *pbVar6;\n              pbVar4 = pbVar4 + 1;\n              pbVar6 = pbVar6 + 1;\n            } while (bVar7);\n            cVar1 = (!bVar8 && !bVar7) - bVar8;\n            if (cVar1 != '\0') {\n              DAT_00087970 = DAT_00087970 | 4;\n              uVar2 = dcgettext(0,"Unrecognized option \'-x%s\'",5,cVar1);\n              FUN_00029550(uVar2,param_2);\n              return true;\n            }\n            DAT_00087970 = DAT_00087970 & 0xf9 | 2;\n            return true;\n          }\n        }\n        DAT_00087970 = DAT_00087970 | 0x14;\n        return true;\n      }\n      if ((int)param_1 < 0x79) {\n        bVar7 = param_1 < 0x6d;\n        bVar9 = param_1 == 0x6d;\n        if (bVar9) {\n          iVar3 = 6;\n          pbVar4 = param_2;\n          pbVar6 = &DAT_000639e8;\n          do {\n            if (iVar3 == 0) break;\n            iVar3 = iVar3 + -1;\n            bVar7 = *pbVar4 < *pbVar6;\n            bVar9 = *pbVar4 == *pbVar6;\n            pbVar4 = pbVar4 + 1;\n            pbVar6 = pbVar6 + 1;\n          } while (bVar9);\n          bVar8 = false;\n          bVar7 = (!bVar7 && !bVar9) == bVar7;\n          if (!bVar7) {\n            iVar3 = 5;\n            pbVar4 = param_2;\n            pbVar6 = &DAT_000639e9;\n            do {\n              if (iVar3 == 0) break;\n              iVar3 = iVar3 + -1;\n              bVar8 = *pbVar4 < *pbVar6;\n              bVar7 = *pbVar4 == *pbVar6;\n              pbVar4 = pbVar4 + 1;\n              pbVar6 = pbVar6 + 1;\n            } while (bVar7);\n            bVar9 = false;\n            bVar7 = (!bVar8 && !bVar7) == bVar8;\n            if (!bVar7) {\n              iVar3 = 4;\n              pbVar4 = param_2;\n              pbVar6 = &DAT_000639ea;\n              do {\n                if (iVar3 == 0) break;\n                iVar3 = iVar3 + -1;\n                bVar9 = *pbVar4 < *pbVar6;\n                bVar7 = *pbVar4 == *pbVar6;\n                pbVar4 = pbVar4 + 1;\n                pbVar6 = pbVar6 + 1;\n              } while (bVar7);\n              bVar8 = false;\n              bVar7 = (!bVar9 && !bVar7) == bVar9;\n              if (!bVar7) {\n                iVar3 = 6;\n                pbVar4 = param_2;\n                pbVar6 = (byte *)"ilp32";\n                do {\n                  if (iVar3 == 0) break;\n                  iVar3 = iVar3 + -1;\n                  bVar8 = *pbVar4 < *pbVar6;\n                  bVar7 = *pbVar4 == *pbVar6;\n                  pbVar4 = pbVar4 + 1;\n                  pbVar6 = pbVar6 + 1;\n                } while (bVar7);\n                bVar9 = false;\n                bVar7 = (!bVar8 && !bVar7) == bVar8;\n                if (bVar7) {\n                  DAT_00087d90 = DAT_00087d90 & 0xffffffef;\n                  return true;\n                }\n                iVar3 = 3;\n                pbVar4 = param_2;\n                pbVar6 = (byte *)0x5a287;\n                do {\n                  if (iVar3 == 0) break;\n                  iVar3 = iVar3 + -1;\n                  bVar9 = *pbVar4 < *pbVar6;\n                  bVar7 = *pbVar4 == *pbVar6;\n                  pbVar4 = pbVar4 + 1;\n                  pbVar6 = pbVar6 + 1;\n                } while (bVar7);\n                bVar8 = false;\n                bVar7 = (!bVar9 && !bVar7) == bVar9;\n                if (bVar7) {\n                  DAT_00087d90 = DAT_00087d90 & 0xfffffff7;\n                  DAT_00087dfc = 0;\n                  return true;\n                }\n                iVar3 = 3;\n                pbVar4 = param_2;\n                pbVar6 = &DAT_00063a90;\n                do {\n                  if (iVar3 == 0) break;\n                  iVar3 = iVar3 + -1;\n                  bVar8 = *pbVar4 < *pbVar6;\n                  bVar7 = *pbVar4 == *pbVar6;\n                  pbVar4 = pbVar4 + 1;\n                  pbVar6 = pbVar6 + 1;\n                } while (bVar7);\n                bVar9 = false;\n                bVar7 = (!bVar8 && !bVar7) == bVar8;\n                if (bVar7) {\n                  DAT_00087d90 = DAT_00087d90 | 8;\n                  DAT_00087dfc = 1;\n                  return true;\n                }\n                iVar3 = 0xd;\n                pbVar4 = param_2;\n                pbVar6 = (byte *)"unwind-check=";\n                do {\n                  if (iVar3 == 0) break;\n                  iVar3 = iVar3 + -1;\n                  bVar9 = *pbVar4 < *pbVar6;\n                  bVar7 = *pbVar4 == *pbVar6;\n                  pbVar4 = pbVar4 + 1;\n                  pbVar6 = pbVar6 + 1;\n                } while (bVar7);\n                if ((!bVar9 && !bVar7) == bVar9) {\n                  iVar3 = strcmp((char *)(param_2 + 0xd),"warning");\n                  if (iVar3 == 0) {\n                    DAT_00087974 = 0;\n                    return true;\n                  }\n                  iVar3 = strcmp((char *)(param_2 + 0xd),"error");\n                  if (iVar3 == 0) {\n                    DAT_00087974 = 1;\n                    return true;\n                  }\n                  return false;\n                }\n                iVar3 = strncmp((char *)param_2,"hint.b=",7);\n                if (iVar3 != 0) {\n                  iVar3 = strncmp((char *)param_2,"tune=",5);\n                  if (iVar3 != 0) {\n                    return false;\n                  }\n                  iVar3 = strcmp((char *)(param_2 + 5),"itanium1");\n                  if (iVar3 != 0) {\n                    iVar3 = strcmp((char *)(param_2 + 5),"itanium2");\n                    if (iVar3 == 0) {\n                      DAT_00087968 = 1;\n                      return true;\n                    }\n                    return false;\n                  }\n                  DAT_00087968 = 0;\n                  return true;\n                }\n                param_2 = param_2 + 7;\n                iVar3 = strcmp((char *)param_2,"ok");\n                if (iVar3 == 0) {\n                  DAT_0008796c = 2;\n                  return true;\n                }\n                iVar3 = strcmp((char *)param_2,"warning");\n                if (iVar3 != 0) {\n                  iVar3 = strcmp((char *)param_2,"error");\n                  if (iVar3 == 0) {\n                    DAT_0008796c = 0;\n                    return true;\n                  }\n                  return false;\n                }\n                DAT_0008796c = 1;\n                return true;\n              }\n            }\n          }\n          DAT_00087d90 = DAT_00087d90 | 0x10;\n          return true;\n        }\n      }\n      else {\n        if (param_1 == 0x123) {\n          DAT_00087d90 = DAT_00087d90 | 0x40;\n          return true;\n        }\n        if (param_1 == 0x124) {\n          DAT_00087d90 = DAT_00087d90 | 0x80;\n          return true;\n        }\n      }\n      return false;\n    }\n    bVar7 = param_1 < 0x4e;\n    bVar9 = param_1 == 0x4e;\n    if (!bVar9) {\n      if (param_1 != 0x53) {\n        return param_1 == 0x43;\n      }\n      return true;\n    }\n    iVar3 = 3;\n    pbVar4 = param_2;\n    pbVar6 = &DAT_00063a25;\n    do {\n      if (iVar3 == 0) break;\n      iVar3 = iVar3 + -1;\n      bVar7 = *pbVar4 < *pbVar6;\n      bVar9 = *pbVar4 == *pbVar6;\n      pbVar4 = pbVar4 + 1;\n      pbVar6 = pbVar6 + 1;\n    } while (bVar9);\n    bVar8 = false;\n    bVar7 = (!bVar7 && !bVar9) == bVar7;\n    if (bVar7) {\n      return true;\n    }\n    iVar3 = 3;\n    pbVar4 = param_2;\n    pbVar6 = &DAT_00063a28;\n    do {\n      if (iVar3 == 0) break;\n      iVar3 = iVar3 + -1;\n      bVar8 = *pbVar4 < *pbVar6;\n      bVar7 = *pbVar4 == *pbVar6;\n      pbVar4 = pbVar4 + 1;\n      pbVar6 = pbVar6 + 1;\n    } while (bVar7);\n    bVar9 = false;\n    bVar8 = (!bVar8 && !bVar7) == bVar8;\n    if (bVar8) {\n      return true;\n    }\n    iVar3 = 3;\n    pbVar4 = param_2;\n    pbVar6 = (byte *)0x5f92c;\n    do {\n      if (iVar3 == 0) break;\n      iVar3 = iVar3 + -1;\n      bVar9 = *pbVar4 < *pbVar6;\n      bVar8 = *pbVar4 == *pbVar6;\n      pbVar4 = pbVar4 + 1;\n      pbVar6 = pbVar6 + 1;\n    } while (bVar8);\n    bVar7 = false;\n    bVar9 = (!bVar9 && !bVar8) == bVar9;\n    if (bVar9) {\n      return true;\n    }\n    iVar3 = 0xd;\n    pcVar5 = "close_fcalls";\n  }" else (compound_statement "{\n    if (0x61 < (int)param_1) {\n      if (param_1 == 0x78) {\n        bVar7 = false;\n        bVar9 = param_2 == (byte *)0x0;\n        if (!bVar9) {\n          iVar3 = 9;\n          pbVar4 = param_2;\n          pbVar6 = (byte *)"explicit";\n          do {\n            if (iVar3 == 0) break;\n            iVar3 = iVar3 + -1;\n            bVar7 = *pbVar4 < *pbVar6;\n            bVar9 = *pbVar4 == *pbVar6;\n            pbVar4 = pbVar4 + 1;\n            pbVar6 = pbVar6 + 1;\n          } while (bVar9);\n          bVar8 = false;\n          bVar7 = (!bVar7 && !bVar9) == bVar7;\n          if (!bVar7) {\n            iVar3 = 5;\n            pbVar4 = param_2;\n            pbVar6 = &DAT_00063a4b;\n            do {\n              if (iVar3 == 0) break;\n              iVar3 = iVar3 + -1;\n              bVar8 = *pbVar4 < *pbVar6;\n              bVar7 = *pbVar4 == *pbVar6;\n              pbVar4 = pbVar4 + 1;\n              pbVar6 = pbVar6 + 1;\n            } while (bVar7);\n            bVar9 = false;\n            bVar7 = (!bVar8 && !bVar7) == bVar8;\n            if (bVar7) {\n              DAT_00087970 = DAT_00087970 & 0xef | 4;\n              return true;\n            }\n            iVar3 = 5;\n            pbVar4 = param_2;\n            pbVar6 = &DAT_0005a335;\n            do {\n              if (iVar3 == 0) break;\n              iVar3 = iVar3 + -1;\n              bVar9 = *pbVar4 < *pbVar6;\n              bVar7 = *pbVar4 == *pbVar6;\n              pbVar4 = pbVar4 + 1;\n              pbVar6 = pbVar6 + 1;\n            } while (bVar7);\n            bVar8 = false;\n            bVar7 = (!bVar9 && !bVar7) == bVar9;\n            if (bVar7) {\n              DAT_00087970 = DAT_00087970 & 0xfb;\n              return true;\n            }\n            iVar3 = 6;\n            pcVar5 = " debug";\n            pbVar4 = param_2;\n            do {\n              pcVar5 = (char *)((byte *)pcVar5 + 1);\n              if (iVar3 == 0) break;\n              iVar3 = iVar3 + -1;\n              bVar8 = *pbVar4 < (byte)*pcVar5;\n              bVar7 = *pbVar4 == *pcVar5;\n              pbVar4 = pbVar4 + 1;\n            } while (bVar7);\n            bVar9 = false;\n            bVar7 = (!bVar8 && !bVar7) == bVar8;\n            if (bVar7) {\n              DAT_00087970 = DAT_00087970 | 6;\n              return true;\n            }\n            iVar3 = 7;\n            pbVar4 = param_2;\n            pbVar6 = (byte *)"debugx";\n            do {\n              if (iVar3 == 0) break;\n              iVar3 = iVar3 + -1;\n              bVar9 = *pbVar4 < *pbVar6;\n              bVar7 = *pbVar4 == *pbVar6;\n              pbVar4 = pbVar4 + 1;\n              pbVar6 = pbVar6 + 1;\n            } while (bVar7);\n            bVar8 = false;\n            bVar7 = (!bVar9 && !bVar7) == bVar9;\n            if (bVar7) {\n              DAT_00087970 = DAT_00087970 | 0x16;\n              return true;\n            }\n            iVar3 = 7;\n            pbVar4 = param_2;\n            pbVar6 = (byte *)"debugn";\n            do {\n              if (iVar3 == 0) break;\n              iVar3 = iVar3 + -1;\n              bVar8 = *pbVar4 < *pbVar6;\n              bVar7 = *pbVar4 == *pbVar6;\n              pbVar4 = pbVar4 + 1;\n              pbVar6 = pbVar6 + 1;\n            } while (bVar7);\n            cVar1 = (!bVar8 && !bVar7) - bVar8;\n            if (cVar1 != '\0') {\n              DAT_00087970 = DAT_00087970 | 4;\n              uVar2 = dcgettext(0,"Unrecognized option \'-x%s\'",5,cVar1);\n              FUN_00029550(uVar2,param_2);\n              return true;\n            }\n            DAT_00087970 = DAT_00087970 & 0xf9 | 2;\n            return true;\n          }\n        }\n        DAT_00087970 = DAT_00087970 | 0x14;\n        return true;\n      }\n      if ((int)param_1 < 0x79) {\n        bVar7 = param_1 < 0x6d;\n        bVar9 = param_1 == 0x6d;\n        if (bVar9) {\n          iVar3 = 6;\n          pbVar4 = param_2;\n          pbVar6 = &DAT_000639e8;\n          do {\n            if (iVar3 == 0) break;\n            iVar3 = iVar3 + -1;\n            bVar7 = *pbVar4 < *pbVar6;\n            bVar9 = *pbVar4 == *pbVar6;\n            pbVar4 = pbVar4 + 1;\n            pbVar6 = pbVar6 + 1;\n          } while (bVar9);\n          bVar8 = false;\n          bVar7 = (!bVar7 && !bVar9) == bVar7;\n          if (!bVar7) {\n            iVar3 = 5;\n            pbVar4 = param_2;\n            pbVar6 = &DAT_000639e9;\n            do {\n              if (iVar3 == 0) break;\n              iVar3 = iVar3 + -1;\n              bVar8 = *pbVar4 < *pbVar6;\n              bVar7 = *pbVar4 == *pbVar6;\n              pbVar4 = pbVar4 + 1;\n              pbVar6 = pbVar6 + 1;\n            } while (bVar7);\n            bVar9 = false;\n            bVar7 = (!bVar8 && !bVar7) == bVar8;\n            if (!bVar7) {\n              iVar3 = 4;\n              pbVar4 = param_2;\n              pbVar6 = &DAT_000639ea;\n              do {\n                if (iVar3 == 0) break;\n                iVar3 = iVar3 + -1;\n                bVar9 = *pbVar4 < *pbVar6;\n                bVar7 = *pbVar4 == *pbVar6;\n                pbVar4 = pbVar4 + 1;\n                pbVar6 = pbVar6 + 1;\n              } while (bVar7);\n              bVar8 = false;\n              bVar7 = (!bVar9 && !bVar7) == bVar9;\n              if (!bVar7) {\n                iVar3 = 6;\n                pbVar4 = param_2;\n                pbVar6 = (byte *)"ilp32";\n                do {\n                  if (iVar3 == 0) break;\n                  iVar3 = iVar3 + -1;\n                  bVar8 = *pbVar4 < *pbVar6;\n                  bVar7 = *pbVar4 == *pbVar6;\n                  pbVar4 = pbVar4 + 1;\n                  pbVar6 = pbVar6 + 1;\n                } while (bVar7);\n                bVar9 = false;\n                bVar7 = (!bVar8 && !bVar7) == bVar8;\n                if (bVar7) {\n                  DAT_00087d90 = DAT_00087d90 & 0xffffffef;\n                  return true;\n                }\n                iVar3 = 3;\n                pbVar4 = param_2;\n                pbVar6 = (byte *)0x5a287;\n                do {\n                  if (iVar3 == 0) break;\n                  iVar3 = iVar3 + -1;\n                  bVar9 = *pbVar4 < *pbVar6;\n                  bVar7 = *pbVar4 == *pbVar6;\n                  pbVar4 = pbVar4 + 1;\n                  pbVar6 = pbVar6 + 1;\n                } while (bVar7);\n                bVar8 = false;\n                bVar7 = (!bVar9 && !bVar7) == bVar9;\n                if (bVar7) {\n                  DAT_00087d90 = DAT_00087d90 & 0xfffffff7;\n                  DAT_00087dfc = 0;\n                  return true;\n                }\n                iVar3 = 3;\n                pbVar4 = param_2;\n                pbVar6 = &DAT_00063a90;\n                do {\n                  if (iVar3 == 0) break;\n                  iVar3 = iVar3 + -1;\n                  bVar8 = *pbVar4 < *pbVar6;\n                  bVar7 = *pbVar4 == *pbVar6;\n                  pbVar4 = pbVar4 + 1;\n                  pbVar6 = pbVar6 + 1;\n                } while (bVar7);\n                bVar9 = false;\n                bVar7 = (!bVar8 && !bVar7) == bVar8;\n                if (bVar7) {\n                  DAT_00087d90 = DAT_00087d90 | 8;\n                  DAT_00087dfc = 1;\n                  return true;\n                }\n                iVar3 = 0xd;\n                pbVar4 = param_2;\n                pbVar6 = (byte *)"unwind-check=";\n                do {\n                  if (iVar3 == 0) break;\n                  iVar3 = iVar3 + -1;\n                  bVar9 = *pbVar4 < *pbVar6;\n                  bVar7 = *pbVar4 == *pbVar6;\n                  pbVar4 = pbVar4 + 1;\n                  pbVar6 = pbVar6 + 1;\n                } while (bVar7);\n                if ((!bVar9 && !bVar7) == bVar9) {\n                  iVar3 = strcmp((char *)(param_2 + 0xd),"warning");\n                  if (iVar3 == 0) {\n                    DAT_00087974 = 0;\n                    return true;\n                  }\n                  iVar3 = strcmp((char *)(param_2 + 0xd),"error");\n                  if (iVar3 == 0) {\n                    DAT_00087974 = 1;\n                    return true;\n                  }\n                  return false;\n                }\n                iVar3 = strncmp((char *)param_2,"hint.b=",7);\n                if (iVar3 != 0) {\n                  iVar3 = strncmp((char *)param_2,"tune=",5);\n                  if (iVar3 != 0) {\n                    return false;\n                  }\n                  iVar3 = strcmp((char *)(param_2 + 5),"itanium1");\n                  if (iVar3 != 0) {\n                    iVar3 = strcmp((char *)(param_2 + 5),"itanium2");\n                    if (iVar3 == 0) {\n                      DAT_00087968 = 1;\n                      return true;\n                    }\n                    return false;\n                  }\n                  DAT_00087968 = 0;\n                  return true;\n                }\n                param_2 = param_2 + 7;\n                iVar3 = strcmp((char *)param_2,"ok");\n                if (iVar3 == 0) {\n                  DAT_0008796c = 2;\n                  return true;\n                }\n                iVar3 = strcmp((char *)param_2,"warning");\n                if (iVar3 != 0) {\n                  iVar3 = strcmp((char *)param_2,"error");\n                  if (iVar3 == 0) {\n                    DAT_0008796c = 0;\n                    return true;\n                  }\n                  return false;\n                }\n                DAT_0008796c = 1;\n                return true;\n              }\n            }\n          }\n          DAT_00087d90 = DAT_00087d90 | 0x10;\n          return true;\n        }\n      }\n      else {\n        if (param_1 == 0x123) {\n          DAT_00087d90 = DAT_00087d90 | 0x40;\n          return true;\n        }\n        if (param_1 == 0x124) {\n          DAT_00087d90 = DAT_00087d90 | 0x80;\n          return true;\n        }\n      }\n      return false;\n    }\n    bVar7 = param_1 < 0x4e;\n    bVar9 = param_1 == 0x4e;\n    if (!bVar9) {\n      if (param_1 != 0x53) {\n        return param_1 == 0x43;\n      }\n      return true;\n    }\n    iVar3 = 3;\n    pbVar4 = param_2;\n    pbVar6 = &DAT_00063a25;\n    do {\n      if (iVar3 == 0) break;\n      iVar3 = iVar3 + -1;\n      bVar7 = *pbVar4 < *pbVar6;\n      bVar9 = *pbVar4 == *pbVar6;\n      pbVar4 = pbVar4 + 1;\n      pbVar6 = pbVar6 + 1;\n    } while (bVar9);\n    bVar8 = false;\n    bVar7 = (!bVar7 && !bVar9) == bVar7;\n    if (bVar7) {\n      return true;\n    }\n    iVar3 = 3;\n    pbVar4 = param_2;\n    pbVar6 = &DAT_00063a28;\n    do {\n      if (iVar3 == 0) break;\n      iVar3 = iVar3 + -1;\n      bVar8 = *pbVar4 < *pbVar6;\n      bVar7 = *pbVar4 == *pbVar6;\n      pbVar4 = pbVar4 + 1;\n      pbVar6 = pbVar6 + 1;\n    } while (bVar7);\n    bVar9 = false;\n    bVar8 = (!bVar8 && !bVar7) == bVar8;\n    if (bVar8) {\n      return true;\n    }\n    iVar3 = 3;\n    pbVar4 = param_2;\n    pbVar6 = (byte *)0x5f92c;\n    do {\n      if (iVar3 == 0) break;\n      iVar3 = iVar3 + -1;\n      bVar9 = *pbVar4 < *pbVar6;\n      bVar8 = *pbVar4 == *pbVar6;\n      pbVar4 = pbVar4 + 1;\n      pbVar6 = pbVar6 + 1;\n    } while (bVar8);\n    bVar7 = false;\n    bVar9 = (!bVar9 && !bVar8) == bVar9;\n    if (bVar9) {\n      return true;\n    }\n    iVar3 = 0xd;\n    pcVar5 = "close_fcalls";\n  }" { (if_statement "if (0x61 < (int)param_1) {\n      if (param_1 == 0x78) {\n        bVar7 = false;\n        bVar9 = param_2 == (byte *)0x0;\n        if (!bVar9) {\n          iVar3 = 9;\n          pbVar4 = param_2;\n          pbVar6 = (byte *)"explicit";\n          do {\n            if (iVar3 == 0) break;\n            iVar3 = iVar3 + -1;\n            bVar7 = *pbVar4 < *pbVar6;\n            bVar9 = *pbVar4 == *pbVar6;\n            pbVar4 = pbVar4 + 1;\n            pbVar6 = pbVar6 + 1;\n          } while (bVar9);\n          bVar8 = false;\n          bVar7 = (!bVar7 && !bVar9) == bVar7;\n          if (!bVar7) {\n            iVar3 = 5;\n            pbVar4 = param_2;\n            pbVar6 = &DAT_00063a4b;\n            do {\n              if (iVar3 == 0) break;\n              iVar3 = iVar3 + -1;\n              bVar8 = *pbVar4 < *pbVar6;\n              bVar7 = *pbVar4 == *pbVar6;\n              pbVar4 = pbVar4 + 1;\n              pbVar6 = pbVar6 + 1;\n            } while (bVar7);\n            bVar9 = false;\n            bVar7 = (!bVar8 && !bVar7) == bVar8;\n            if (bVar7) {\n              DAT_00087970 = DAT_00087970 & 0xef | 4;\n              return true;\n            }\n            iVar3 = 5;\n            pbVar4 = param_2;\n            pbVar6 = &DAT_0005a335;\n            do {\n              if (iVar3 == 0) break;\n              iVar3 = iVar3 + -1;\n              bVar9 = *pbVar4 < *pbVar6;\n              bVar7 = *pbVar4 == *pbVar6;\n              pbVar4 = pbVar4 + 1;\n              pbVar6 = pbVar6 + 1;\n            } while (bVar7);\n            bVar8 = false;\n            bVar7 = (!bVar9 && !bVar7) == bVar9;\n            if (bVar7) {\n              DAT_00087970 = DAT_00087970 & 0xfb;\n              return true;\n            }\n            iVar3 = 6;\n            pcVar5 = " debug";\n            pbVar4 = param_2;\n            do {\n              pcVar5 = (char *)((byte *)pcVar5 + 1);\n              if (iVar3 == 0) break;\n              iVar3 = iVar3 + -1;\n              bVar8 = *pbVar4 < (byte)*pcVar5;\n              bVar7 = *pbVar4 == *pcVar5;\n              pbVar4 = pbVar4 + 1;\n            } while (bVar7);\n            bVar9 = false;\n            bVar7 = (!bVar8 && !bVar7) == bVar8;\n            if (bVar7) {\n              DAT_00087970 = DAT_00087970 | 6;\n              return true;\n            }\n            iVar3 = 7;\n            pbVar4 = param_2;\n            pbVar6 = (byte *)"debugx";\n            do {\n              if (iVar3 == 0) break;\n              iVar3 = iVar3 + -1;\n              bVar9 = *pbVar4 < *pbVar6;\n              bVar7 = *pbVar4 == *pbVar6;\n              pbVar4 = pbVar4 + 1;\n              pbVar6 = pbVar6 + 1;\n            } while (bVar7);\n            bVar8 = false;\n            bVar7 = (!bVar9 && !bVar7) == bVar9;\n            if (bVar7) {\n              DAT_00087970 = DAT_00087970 | 0x16;\n              return true;\n            }\n            iVar3 = 7;\n            pbVar4 = param_2;\n            pbVar6 = (byte *)"debugn";\n            do {\n              if (iVar3 == 0) break;\n              iVar3 = iVar3 + -1;\n              bVar8 = *pbVar4 < *pbVar6;\n              bVar7 = *pbVar4 == *pbVar6;\n              pbVar4 = pbVar4 + 1;\n              pbVar6 = pbVar6 + 1;\n            } while (bVar7);\n            cVar1 = (!bVar8 && !bVar7) - bVar8;\n            if (cVar1 != '\0') {\n              DAT_00087970 = DAT_00087970 | 4;\n              uVar2 = dcgettext(0,"Unrecognized option \'-x%s\'",5,cVar1);\n              FUN_00029550(uVar2,param_2);\n              return true;\n            }\n            DAT_00087970 = DAT_00087970 & 0xf9 | 2;\n            return true;\n          }\n        }\n        DAT_00087970 = DAT_00087970 | 0x14;\n        return true;\n      }\n      if ((int)param_1 < 0x79) {\n        bVar7 = param_1 < 0x6d;\n        bVar9 = param_1 == 0x6d;\n        if (bVar9) {\n          iVar3 = 6;\n          pbVar4 = param_2;\n          pbVar6 = &DAT_000639e8;\n          do {\n            if (iVar3 == 0) break;\n            iVar3 = iVar3 + -1;\n            bVar7 = *pbVar4 < *pbVar6;\n            bVar9 = *pbVar4 == *pbVar6;\n            pbVar4 = pbVar4 + 1;\n            pbVar6 = pbVar6 + 1;\n          } while (bVar9);\n          bVar8 = false;\n          bVar7 = (!bVar7 && !bVar9) == bVar7;\n          if (!bVar7) {\n            iVar3 = 5;\n            pbVar4 = param_2;\n            pbVar6 = &DAT_000639e9;\n            do {\n              if (iVar3 == 0) break;\n              iVar3 = iVar3 + -1;\n              bVar8 = *pbVar4 < *pbVar6;\n              bVar7 = *pbVar4 == *pbVar6;\n              pbVar4 = pbVar4 + 1;\n              pbVar6 = pbVar6 + 1;\n            } while (bVar7);\n            bVar9 = false;\n            bVar7 = (!bVar8 && !bVar7) == bVar8;\n            if (!bVar7) {\n              iVar3 = 4;\n              pbVar4 = param_2;\n              pbVar6 = &DAT_000639ea;\n              do {\n                if (iVar3 == 0) break;\n                iVar3 = iVar3 + -1;\n                bVar9 = *pbVar4 < *pbVar6;\n                bVar7 = *pbVar4 == *pbVar6;\n                pbVar4 = pbVar4 + 1;\n                pbVar6 = pbVar6 + 1;\n              } while (bVar7);\n              bVar8 = false;\n              bVar7 = (!bVar9 && !bVar7) == bVar9;\n              if (!bVar7) {\n                iVar3 = 6;\n                pbVar4 = param_2;\n                pbVar6 = (byte *)"ilp32";\n                do {\n                  if (iVar3 == 0) break;\n                  iVar3 = iVar3 + -1;\n                  bVar8 = *pbVar4 < *pbVar6;\n                  bVar7 = *pbVar4 == *pbVar6;\n                  pbVar4 = pbVar4 + 1;\n                  pbVar6 = pbVar6 + 1;\n                } while (bVar7);\n                bVar9 = false;\n                bVar7 = (!bVar8 && !bVar7) == bVar8;\n                if (bVar7) {\n                  DAT_00087d90 = DAT_00087d90 & 0xffffffef;\n                  return true;\n                }\n                iVar3 = 3;\n                pbVar4 = param_2;\n                pbVar6 = (byte *)0x5a287;\n                do {\n                  if (iVar3 == 0) break;\n                  iVar3 = iVar3 + -1;\n                  bVar9 = *pbVar4 < *pbVar6;\n                  bVar7 = *pbVar4 == *pbVar6;\n                  pbVar4 = pbVar4 + 1;\n                  pbVar6 = pbVar6 + 1;\n                } while (bVar7);\n                bVar8 = false;\n                bVar7 = (!bVar9 && !bVar7) == bVar9;\n                if (bVar7) {\n                  DAT_00087d90 = DAT_00087d90 & 0xfffffff7;\n                  DAT_00087dfc = 0;\n                  return true;\n                }\n                iVar3 = 3;\n                pbVar4 = param_2;\n                pbVar6 = &DAT_00063a90;\n                do {\n                  if (iVar3 == 0) break;\n                  iVar3 = iVar3 + -1;\n                  bVar8 = *pbVar4 < *pbVar6;\n                  bVar7 = *pbVar4 == *pbVar6;\n                  pbVar4 = pbVar4 + 1;\n                  pbVar6 = pbVar6 + 1;\n                } while (bVar7);\n                bVar9 = false;\n                bVar7 = (!bVar8 && !bVar7) == bVar8;\n                if (bVar7) {\n                  DAT_00087d90 = DAT_00087d90 | 8;\n                  DAT_00087dfc = 1;\n                  return true;\n                }\n                iVar3 = 0xd;\n                pbVar4 = param_2;\n                pbVar6 = (byte *)"unwind-check=";\n                do {\n                  if (iVar3 == 0) break;\n                  iVar3 = iVar3 + -1;\n                  bVar9 = *pbVar4 < *pbVar6;\n                  bVar7 = *pbVar4 == *pbVar6;\n                  pbVar4 = pbVar4 + 1;\n                  pbVar6 = pbVar6 + 1;\n                } while (bVar7);\n                if ((!bVar9 && !bVar7) == bVar9) {\n                  iVar3 = strcmp((char *)(param_2 + 0xd),"warning");\n                  if (iVar3 == 0) {\n                    DAT_00087974 = 0;\n                    return true;\n                  }\n                  iVar3 = strcmp((char *)(param_2 + 0xd),"error");\n                  if (iVar3 == 0) {\n                    DAT_00087974 = 1;\n                    return true;\n                  }\n                  return false;\n                }\n                iVar3 = strncmp((char *)param_2,"hint.b=",7);\n                if (iVar3 != 0) {\n                  iVar3 = strncmp((char *)param_2,"tune=",5);\n                  if (iVar3 != 0) {\n                    return false;\n                  }\n                  iVar3 = strcmp((char *)(param_2 + 5),"itanium1");\n                  if (iVar3 != 0) {\n                    iVar3 = strcmp((char *)(param_2 + 5),"itanium2");\n                    if (iVar3 == 0) {\n                      DAT_00087968 = 1;\n                      return true;\n                    }\n                    return false;\n                  }\n                  DAT_00087968 = 0;\n                  return true;\n                }\n                param_2 = param_2 + 7;\n                iVar3 = strcmp((char *)param_2,"ok");\n                if (iVar3 == 0) {\n                  DAT_0008796c = 2;\n                  return true;\n                }\n                iVar3 = strcmp((char *)param_2,"warning");\n                if (iVar3 != 0) {\n                  iVar3 = strcmp((char *)param_2,"error");\n                  if (iVar3 == 0) {\n                    DAT_0008796c = 0;\n                    return true;\n                  }\n                  return false;\n                }\n                DAT_0008796c = 1;\n                return true;\n              }\n            }\n          }\n          DAT_00087d90 = DAT_00087d90 | 0x10;\n          return true;\n        }\n      }\n      else {\n        if (param_1 == 0x123) {\n          DAT_00087d90 = DAT_00087d90 | 0x40;\n          return true;\n        }\n        if (param_1 == 0x124) {\n          DAT_00087d90 = DAT_00087d90 | 0x80;\n          return true;\n        }\n      }\n      return false;\n    }" if (parenthesized_expression "(0x61 < (int)param_1)" ( (binary_expression "0x61 < (int)param_1" number_literal < (cast_expression "(int)param_1" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n      if (param_1 == 0x78) {\n        bVar7 = false;\n        bVar9 = param_2 == (byte *)0x0;\n        if (!bVar9) {\n          iVar3 = 9;\n          pbVar4 = param_2;\n          pbVar6 = (byte *)"explicit";\n          do {\n            if (iVar3 == 0) break;\n            iVar3 = iVar3 + -1;\n            bVar7 = *pbVar4 < *pbVar6;\n            bVar9 = *pbVar4 == *pbVar6;\n            pbVar4 = pbVar4 + 1;\n            pbVar6 = pbVar6 + 1;\n          } while (bVar9);\n          bVar8 = false;\n          bVar7 = (!bVar7 && !bVar9) == bVar7;\n          if (!bVar7) {\n            iVar3 = 5;\n            pbVar4 = param_2;\n            pbVar6 = &DAT_00063a4b;\n            do {\n              if (iVar3 == 0) break;\n              iVar3 = iVar3 + -1;\n              bVar8 = *pbVar4 < *pbVar6;\n              bVar7 = *pbVar4 == *pbVar6;\n              pbVar4 = pbVar4 + 1;\n              pbVar6 = pbVar6 + 1;\n            } while (bVar7);\n            bVar9 = false;\n            bVar7 = (!bVar8 && !bVar7) == bVar8;\n            if (bVar7) {\n              DAT_00087970 = DAT_00087970 & 0xef | 4;\n              return true;\n            }\n            iVar3 = 5;\n            pbVar4 = param_2;\n            pbVar6 = &DAT_0005a335;\n            do {\n              if (iVar3 == 0) break;\n              iVar3 = iVar3 + -1;\n              bVar9 = *pbVar4 < *pbVar6;\n              bVar7 = *pbVar4 == *pbVar6;\n              pbVar4 = pbVar4 + 1;\n              pbVar6 = pbVar6 + 1;\n            } while (bVar7);\n            bVar8 = false;\n            bVar7 = (!bVar9 && !bVar7) == bVar9;\n            if (bVar7) {\n              DAT_00087970 = DAT_00087970 & 0xfb;\n              return true;\n            }\n            iVar3 = 6;\n            pcVar5 = " debug";\n            pbVar4 = param_2;\n            do {\n              pcVar5 = (char *)((byte *)pcVar5 + 1);\n              if (iVar3 == 0) break;\n              iVar3 = iVar3 + -1;\n              bVar8 = *pbVar4 < (byte)*pcVar5;\n              bVar7 = *pbVar4 == *pcVar5;\n              pbVar4 = pbVar4 + 1;\n            } while (bVar7);\n            bVar9 = false;\n            bVar7 = (!bVar8 && !bVar7) == bVar8;\n            if (bVar7) {\n              DAT_00087970 = DAT_00087970 | 6;\n              return true;\n            }\n            iVar3 = 7;\n            pbVar4 = param_2;\n            pbVar6 = (byte *)"debugx";\n            do {\n              if (iVar3 == 0) break;\n              iVar3 = iVar3 + -1;\n              bVar9 = *pbVar4 < *pbVar6;\n              bVar7 = *pbVar4 == *pbVar6;\n              pbVar4 = pbVar4 + 1;\n              pbVar6 = pbVar6 + 1;\n            } while (bVar7);\n            bVar8 = false;\n            bVar7 = (!bVar9 && !bVar7) == bVar9;\n            if (bVar7) {\n              DAT_00087970 = DAT_00087970 | 0x16;\n              return true;\n            }\n            iVar3 = 7;\n            pbVar4 = param_2;\n            pbVar6 = (byte *)"debugn";\n            do {\n              if (iVar3 == 0) break;\n              iVar3 = iVar3 + -1;\n              bVar8 = *pbVar4 < *pbVar6;\n              bVar7 = *pbVar4 == *pbVar6;\n              pbVar4 = pbVar4 + 1;\n              pbVar6 = pbVar6 + 1;\n            } while (bVar7);\n            cVar1 = (!bVar8 && !bVar7) - bVar8;\n            if (cVar1 != '\0') {\n              DAT_00087970 = DAT_00087970 | 4;\n              uVar2 = dcgettext(0,"Unrecognized option \'-x%s\'",5,cVar1);\n              FUN_00029550(uVar2,param_2);\n              return true;\n            }\n            DAT_00087970 = DAT_00087970 & 0xf9 | 2;\n            return true;\n          }\n        }\n        DAT_00087970 = DAT_00087970 | 0x14;\n        return true;\n      }\n      if ((int)param_1 < 0x79) {\n        bVar7 = param_1 < 0x6d;\n        bVar9 = param_1 == 0x6d;\n        if (bVar9) {\n          iVar3 = 6;\n          pbVar4 = param_2;\n          pbVar6 = &DAT_000639e8;\n          do {\n            if (iVar3 == 0) break;\n            iVar3 = iVar3 + -1;\n            bVar7 = *pbVar4 < *pbVar6;\n            bVar9 = *pbVar4 == *pbVar6;\n            pbVar4 = pbVar4 + 1;\n            pbVar6 = pbVar6 + 1;\n          } while (bVar9);\n          bVar8 = false;\n          bVar7 = (!bVar7 && !bVar9) == bVar7;\n          if (!bVar7) {\n            iVar3 = 5;\n            pbVar4 = param_2;\n            pbVar6 = &DAT_000639e9;\n            do {\n              if (iVar3 == 0) break;\n              iVar3 = iVar3 + -1;\n              bVar8 = *pbVar4 < *pbVar6;\n              bVar7 = *pbVar4 == *pbVar6;\n              pbVar4 = pbVar4 + 1;\n              pbVar6 = pbVar6 + 1;\n            } while (bVar7);\n            bVar9 = false;\n            bVar7 = (!bVar8 && !bVar7) == bVar8;\n            if (!bVar7) {\n              iVar3 = 4;\n              pbVar4 = param_2;\n              pbVar6 = &DAT_000639ea;\n              do {\n                if (iVar3 == 0) break;\n                iVar3 = iVar3 + -1;\n                bVar9 = *pbVar4 < *pbVar6;\n                bVar7 = *pbVar4 == *pbVar6;\n                pbVar4 = pbVar4 + 1;\n                pbVar6 = pbVar6 + 1;\n              } while (bVar7);\n              bVar8 = false;\n              bVar7 = (!bVar9 && !bVar7) == bVar9;\n              if (!bVar7) {\n                iVar3 = 6;\n                pbVar4 = param_2;\n                pbVar6 = (byte *)"ilp32";\n                do {\n                  if (iVar3 == 0) break;\n                  iVar3 = iVar3 + -1;\n                  bVar8 = *pbVar4 < *pbVar6;\n                  bVar7 = *pbVar4 == *pbVar6;\n                  pbVar4 = pbVar4 + 1;\n                  pbVar6 = pbVar6 + 1;\n                } while (bVar7);\n                bVar9 = false;\n                bVar7 = (!bVar8 && !bVar7) == bVar8;\n                if (bVar7) {\n                  DAT_00087d90 = DAT_00087d90 & 0xffffffef;\n                  return true;\n                }\n                iVar3 = 3;\n                pbVar4 = param_2;\n                pbVar6 = (byte *)0x5a287;\n                do {\n                  if (iVar3 == 0) break;\n                  iVar3 = iVar3 + -1;\n                  bVar9 = *pbVar4 < *pbVar6;\n                  bVar7 = *pbVar4 == *pbVar6;\n                  pbVar4 = pbVar4 + 1;\n                  pbVar6 = pbVar6 + 1;\n                } while (bVar7);\n                bVar8 = false;\n                bVar7 = (!bVar9 && !bVar7) == bVar9;\n                if (bVar7) {\n                  DAT_00087d90 = DAT_00087d90 & 0xfffffff7;\n                  DAT_00087dfc = 0;\n                  return true;\n                }\n                iVar3 = 3;\n                pbVar4 = param_2;\n                pbVar6 = &DAT_00063a90;\n                do {\n                  if (iVar3 == 0) break;\n                  iVar3 = iVar3 + -1;\n                  bVar8 = *pbVar4 < *pbVar6;\n                  bVar7 = *pbVar4 == *pbVar6;\n                  pbVar4 = pbVar4 + 1;\n                  pbVar6 = pbVar6 + 1;\n                } while (bVar7);\n                bVar9 = false;\n                bVar7 = (!bVar8 && !bVar7) == bVar8;\n                if (bVar7) {\n                  DAT_00087d90 = DAT_00087d90 | 8;\n                  DAT_00087dfc = 1;\n                  return true;\n                }\n                iVar3 = 0xd;\n                pbVar4 = param_2;\n                pbVar6 = (byte *)"unwind-check=";\n                do {\n                  if (iVar3 == 0) break;\n                  iVar3 = iVar3 + -1;\n                  bVar9 = *pbVar4 < *pbVar6;\n                  bVar7 = *pbVar4 == *pbVar6;\n                  pbVar4 = pbVar4 + 1;\n                  pbVar6 = pbVar6 + 1;\n                } while (bVar7);\n                if ((!bVar9 && !bVar7) == bVar9) {\n                  iVar3 = strcmp((char *)(param_2 + 0xd),"warning");\n                  if (iVar3 == 0) {\n                    DAT_00087974 = 0;\n                    return true;\n                  }\n                  iVar3 = strcmp((char *)(param_2 + 0xd),"error");\n                  if (iVar3 == 0) {\n                    DAT_00087974 = 1;\n                    return true;\n                  }\n                  return false;\n                }\n                iVar3 = strncmp((char *)param_2,"hint.b=",7);\n                if (iVar3 != 0) {\n                  iVar3 = strncmp((char *)param_2,"tune=",5);\n                  if (iVar3 != 0) {\n                    return false;\n                  }\n                  iVar3 = strcmp((char *)(param_2 + 5),"itanium1");\n                  if (iVar3 != 0) {\n                    iVar3 = strcmp((char *)(param_2 + 5),"itanium2");\n                    if (iVar3 == 0) {\n                      DAT_00087968 = 1;\n                      return true;\n                    }\n                    return false;\n                  }\n                  DAT_00087968 = 0;\n                  return true;\n                }\n                param_2 = param_2 + 7;\n                iVar3 = strcmp((char *)param_2,"ok");\n                if (iVar3 == 0) {\n                  DAT_0008796c = 2;\n                  return true;\n                }\n                iVar3 = strcmp((char *)param_2,"warning");\n                if (iVar3 != 0) {\n                  iVar3 = strcmp((char *)param_2,"error");\n                  if (iVar3 == 0) {\n                    DAT_0008796c = 0;\n                    return true;\n                  }\n                  return false;\n                }\n                DAT_0008796c = 1;\n                return true;\n              }\n            }\n          }\n          DAT_00087d90 = DAT_00087d90 | 0x10;\n          return true;\n        }\n      }\n      else {\n        if (param_1 == 0x123) {\n          DAT_00087d90 = DAT_00087d90 | 0x40;\n          return true;\n        }\n        if (param_1 == 0x124) {\n          DAT_00087d90 = DAT_00087d90 | 0x80;\n          return true;\n        }\n      }\n      return false;\n    }" { (if_statement "if (param_1 == 0x78) {\n        bVar7 = false;\n        bVar9 = param_2 == (byte *)0x0;\n        if (!bVar9) {\n          iVar3 = 9;\n          pbVar4 = param_2;\n          pbVar6 = (byte *)"explicit";\n          do {\n            if (iVar3 == 0) break;\n            iVar3 = iVar3 + -1;\n            bVar7 = *pbVar4 < *pbVar6;\n            bVar9 = *pbVar4 == *pbVar6;\n            pbVar4 = pbVar4 + 1;\n            pbVar6 = pbVar6 + 1;\n          } while (bVar9);\n          bVar8 = false;\n          bVar7 = (!bVar7 && !bVar9) == bVar7;\n          if (!bVar7) {\n            iVar3 = 5;\n            pbVar4 = param_2;\n            pbVar6 = &DAT_00063a4b;\n            do {\n              if (iVar3 == 0) break;\n              iVar3 = iVar3 + -1;\n              bVar8 = *pbVar4 < *pbVar6;\n              bVar7 = *pbVar4 == *pbVar6;\n              pbVar4 = pbVar4 + 1;\n              pbVar6 = pbVar6 + 1;\n            } while (bVar7);\n            bVar9 = false;\n            bVar7 = (!bVar8 && !bVar7) == bVar8;\n            if (bVar7) {\n              DAT_00087970 = DAT_00087970 & 0xef | 4;\n              return true;\n            }\n            iVar3 = 5;\n            pbVar4 = param_2;\n            pbVar6 = &DAT_0005a335;\n            do {\n              if (iVar3 == 0) break;\n              iVar3 = iVar3 + -1;\n              bVar9 = *pbVar4 < *pbVar6;\n              bVar7 = *pbVar4 == *pbVar6;\n              pbVar4 = pbVar4 + 1;\n              pbVar6 = pbVar6 + 1;\n            } while (bVar7);\n            bVar8 = false;\n            bVar7 = (!bVar9 && !bVar7) == bVar9;\n            if (bVar7) {\n              DAT_00087970 = DAT_00087970 & 0xfb;\n              return true;\n            }\n            iVar3 = 6;\n            pcVar5 = " debug";\n            pbVar4 = param_2;\n            do {\n              pcVar5 = (char *)((byte *)pcVar5 + 1);\n              if (iVar3 == 0) break;\n              iVar3 = iVar3 + -1;\n              bVar8 = *pbVar4 < (byte)*pcVar5;\n              bVar7 = *pbVar4 == *pcVar5;\n              pbVar4 = pbVar4 + 1;\n            } while (bVar7);\n            bVar9 = false;\n            bVar7 = (!bVar8 && !bVar7) == bVar8;\n            if (bVar7) {\n              DAT_00087970 = DAT_00087970 | 6;\n              return true;\n            }\n            iVar3 = 7;\n            pbVar4 = param_2;\n            pbVar6 = (byte *)"debugx";\n            do {\n              if (iVar3 == 0) break;\n              iVar3 = iVar3 + -1;\n              bVar9 = *pbVar4 < *pbVar6;\n              bVar7 = *pbVar4 == *pbVar6;\n              pbVar4 = pbVar4 + 1;\n              pbVar6 = pbVar6 + 1;\n            } while (bVar7);\n            bVar8 = false;\n            bVar7 = (!bVar9 && !bVar7) == bVar9;\n            if (bVar7) {\n              DAT_00087970 = DAT_00087970 | 0x16;\n              return true;\n            }\n            iVar3 = 7;\n            pbVar4 = param_2;\n            pbVar6 = (byte *)"debugn";\n            do {\n              if (iVar3 == 0) break;\n              iVar3 = iVar3 + -1;\n              bVar8 = *pbVar4 < *pbVar6;\n              bVar7 = *pbVar4 == *pbVar6;\n              pbVar4 = pbVar4 + 1;\n              pbVar6 = pbVar6 + 1;\n            } while (bVar7);\n            cVar1 = (!bVar8 && !bVar7) - bVar8;\n            if (cVar1 != '\0') {\n              DAT_00087970 = DAT_00087970 | 4;\n              uVar2 = dcgettext(0,"Unrecognized option \'-x%s\'",5,cVar1);\n              FUN_00029550(uVar2,param_2);\n              return true;\n            }\n            DAT_00087970 = DAT_00087970 & 0xf9 | 2;\n            return true;\n          }\n        }\n        DAT_00087970 = DAT_00087970 | 0x14;\n        return true;\n      }" if (parenthesized_expression "(param_1 == 0x78)" ( (binary_expression "param_1 == 0x78" identifier == number_literal) )) (compound_statement "{\n        bVar7 = false;\n        bVar9 = param_2 == (byte *)0x0;\n        if (!bVar9) {\n          iVar3 = 9;\n          pbVar4 = param_2;\n          pbVar6 = (byte *)"explicit";\n          do {\n            if (iVar3 == 0) break;\n            iVar3 = iVar3 + -1;\n            bVar7 = *pbVar4 < *pbVar6;\n            bVar9 = *pbVar4 == *pbVar6;\n            pbVar4 = pbVar4 + 1;\n            pbVar6 = pbVar6 + 1;\n          } while (bVar9);\n          bVar8 = false;\n          bVar7 = (!bVar7 && !bVar9) == bVar7;\n          if (!bVar7) {\n            iVar3 = 5;\n            pbVar4 = param_2;\n            pbVar6 = &DAT_00063a4b;\n            do {\n              if (iVar3 == 0) break;\n              iVar3 = iVar3 + -1;\n              bVar8 = *pbVar4 < *pbVar6;\n              bVar7 = *pbVar4 == *pbVar6;\n              pbVar4 = pbVar4 + 1;\n              pbVar6 = pbVar6 + 1;\n            } while (bVar7);\n            bVar9 = false;\n            bVar7 = (!bVar8 && !bVar7) == bVar8;\n            if (bVar7) {\n              DAT_00087970 = DAT_00087970 & 0xef | 4;\n              return true;\n            }\n            iVar3 = 5;\n            pbVar4 = param_2;\n            pbVar6 = &DAT_0005a335;\n            do {\n              if (iVar3 == 0) break;\n              iVar3 = iVar3 + -1;\n              bVar9 = *pbVar4 < *pbVar6;\n              bVar7 = *pbVar4 == *pbVar6;\n              pbVar4 = pbVar4 + 1;\n              pbVar6 = pbVar6 + 1;\n            } while (bVar7);\n            bVar8 = false;\n            bVar7 = (!bVar9 && !bVar7) == bVar9;\n            if (bVar7) {\n              DAT_00087970 = DAT_00087970 & 0xfb;\n              return true;\n            }\n            iVar3 = 6;\n            pcVar5 = " debug";\n            pbVar4 = param_2;\n            do {\n              pcVar5 = (char *)((byte *)pcVar5 + 1);\n              if (iVar3 == 0) break;\n              iVar3 = iVar3 + -1;\n              bVar8 = *pbVar4 < (byte)*pcVar5;\n              bVar7 = *pbVar4 == *pcVar5;\n              pbVar4 = pbVar4 + 1;\n            } while (bVar7);\n            bVar9 = false;\n            bVar7 = (!bVar8 && !bVar7) == bVar8;\n            if (bVar7) {\n              DAT_00087970 = DAT_00087970 | 6;\n              return true;\n            }\n            iVar3 = 7;\n            pbVar4 = param_2;\n            pbVar6 = (byte *)"debugx";\n            do {\n              if (iVar3 == 0) break;\n              iVar3 = iVar3 + -1;\n              bVar9 = *pbVar4 < *pbVar6;\n              bVar7 = *pbVar4 == *pbVar6;\n              pbVar4 = pbVar4 + 1;\n              pbVar6 = pbVar6 + 1;\n            } while (bVar7);\n            bVar8 = false;\n            bVar7 = (!bVar9 && !bVar7) == bVar9;\n            if (bVar7) {\n              DAT_00087970 = DAT_00087970 | 0x16;\n              return true;\n            }\n            iVar3 = 7;\n            pbVar4 = param_2;\n            pbVar6 = (byte *)"debugn";\n            do {\n              if (iVar3 == 0) break;\n              iVar3 = iVar3 + -1;\n              bVar8 = *pbVar4 < *pbVar6;\n              bVar7 = *pbVar4 == *pbVar6;\n              pbVar4 = pbVar4 + 1;\n              pbVar6 = pbVar6 + 1;\n            } while (bVar7);\n            cVar1 = (!bVar8 && !bVar7) - bVar8;\n            if (cVar1 != '\0') {\n              DAT_00087970 = DAT_00087970 | 4;\n              uVar2 = dcgettext(0,"Unrecognized option \'-x%s\'",5,cVar1);\n              FUN_00029550(uVar2,param_2);\n              return true;\n            }\n            DAT_00087970 = DAT_00087970 & 0xf9 | 2;\n            return true;\n          }\n        }\n        DAT_00087970 = DAT_00087970 | 0x14;\n        return true;\n      }" { (expression_statement "bVar7 = false;" (assignment_expression "bVar7 = false" identifier = false) ;) (expression_statement "bVar9 = param_2 == (byte *)0x0;" (assignment_expression "bVar9 = param_2 == (byte *)0x0" identifier = (binary_expression "param_2 == (byte *)0x0" identifier == (cast_expression "(byte *)0x0" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal))) ;) (if_statement "if (!bVar9) {\n          iVar3 = 9;\n          pbVar4 = param_2;\n          pbVar6 = (byte *)"explicit";\n          do {\n            if (iVar3 == 0) break;\n            iVar3 = iVar3 + -1;\n            bVar7 = *pbVar4 < *pbVar6;\n            bVar9 = *pbVar4 == *pbVar6;\n            pbVar4 = pbVar4 + 1;\n            pbVar6 = pbVar6 + 1;\n          } while (bVar9);\n          bVar8 = false;\n          bVar7 = (!bVar7 && !bVar9) == bVar7;\n          if (!bVar7) {\n            iVar3 = 5;\n            pbVar4 = param_2;\n            pbVar6 = &DAT_00063a4b;\n            do {\n              if (iVar3 == 0) break;\n              iVar3 = iVar3 + -1;\n              bVar8 = *pbVar4 < *pbVar6;\n              bVar7 = *pbVar4 == *pbVar6;\n              pbVar4 = pbVar4 + 1;\n              pbVar6 = pbVar6 + 1;\n            } while (bVar7);\n            bVar9 = false;\n            bVar7 = (!bVar8 && !bVar7) == bVar8;\n            if (bVar7) {\n              DAT_00087970 = DAT_00087970 & 0xef | 4;\n              return true;\n            }\n            iVar3 = 5;\n            pbVar4 = param_2;\n            pbVar6 = &DAT_0005a335;\n            do {\n              if (iVar3 == 0) break;\n              iVar3 = iVar3 + -1;\n              bVar9 = *pbVar4 < *pbVar6;\n              bVar7 = *pbVar4 == *pbVar6;\n              pbVar4 = pbVar4 + 1;\n              pbVar6 = pbVar6 + 1;\n            } while (bVar7);\n            bVar8 = false;\n            bVar7 = (!bVar9 && !bVar7) == bVar9;\n            if (bVar7) {\n              DAT_00087970 = DAT_00087970 & 0xfb;\n              return true;\n            }\n            iVar3 = 6;\n            pcVar5 = " debug";\n            pbVar4 = param_2;\n            do {\n              pcVar5 = (char *)((byte *)pcVar5 + 1);\n              if (iVar3 == 0) break;\n              iVar3 = iVar3 + -1;\n              bVar8 = *pbVar4 < (byte)*pcVar5;\n              bVar7 = *pbVar4 == *pcVar5;\n              pbVar4 = pbVar4 + 1;\n            } while (bVar7);\n            bVar9 = false;\n            bVar7 = (!bVar8 && !bVar7) == bVar8;\n            if (bVar7) {\n              DAT_00087970 = DAT_00087970 | 6;\n              return true;\n            }\n            iVar3 = 7;\n            pbVar4 = param_2;\n            pbVar6 = (byte *)"debugx";\n            do {\n              if (iVar3 == 0) break;\n              iVar3 = iVar3 + -1;\n              bVar9 = *pbVar4 < *pbVar6;\n              bVar7 = *pbVar4 == *pbVar6;\n              pbVar4 = pbVar4 + 1;\n              pbVar6 = pbVar6 + 1;\n            } while (bVar7);\n            bVar8 = false;\n            bVar7 = (!bVar9 && !bVar7) == bVar9;\n            if (bVar7) {\n              DAT_00087970 = DAT_00087970 | 0x16;\n              return true;\n            }\n            iVar3 = 7;\n            pbVar4 = param_2;\n            pbVar6 = (byte *)"debugn";\n            do {\n              if (iVar3 == 0) break;\n              iVar3 = iVar3 + -1;\n              bVar8 = *pbVar4 < *pbVar6;\n              bVar7 = *pbVar4 == *pbVar6;\n              pbVar4 = pbVar4 + 1;\n              pbVar6 = pbVar6 + 1;\n            } while (bVar7);\n            cVar1 = (!bVar8 && !bVar7) - bVar8;\n            if (cVar1 != '\0') {\n              DAT_00087970 = DAT_00087970 | 4;\n              uVar2 = dcgettext(0,"Unrecognized option \'-x%s\'",5,cVar1);\n              FUN_00029550(uVar2,param_2);\n              return true;\n            }\n            DAT_00087970 = DAT_00087970 & 0xf9 | 2;\n            return true;\n          }\n        }" if (parenthesized_expression "(!bVar9)" ( (unary_expression "!bVar9" ! identifier) )) (compound_statement "{\n          iVar3 = 9;\n          pbVar4 = param_2;\n          pbVar6 = (byte *)"explicit";\n          do {\n            if (iVar3 == 0) break;\n            iVar3 = iVar3 + -1;\n            bVar7 = *pbVar4 < *pbVar6;\n            bVar9 = *pbVar4 == *pbVar6;\n            pbVar4 = pbVar4 + 1;\n            pbVar6 = pbVar6 + 1;\n          } while (bVar9);\n          bVar8 = false;\n          bVar7 = (!bVar7 && !bVar9) == bVar7;\n          if (!bVar7) {\n            iVar3 = 5;\n            pbVar4 = param_2;\n            pbVar6 = &DAT_00063a4b;\n            do {\n              if (iVar3 == 0) break;\n              iVar3 = iVar3 + -1;\n              bVar8 = *pbVar4 < *pbVar6;\n              bVar7 = *pbVar4 == *pbVar6;\n              pbVar4 = pbVar4 + 1;\n              pbVar6 = pbVar6 + 1;\n            } while (bVar7);\n            bVar9 = false;\n            bVar7 = (!bVar8 && !bVar7) == bVar8;\n            if (bVar7) {\n              DAT_00087970 = DAT_00087970 & 0xef | 4;\n              return true;\n            }\n            iVar3 = 5;\n            pbVar4 = param_2;\n            pbVar6 = &DAT_0005a335;\n            do {\n              if (iVar3 == 0) break;\n              iVar3 = iVar3 + -1;\n              bVar9 = *pbVar4 < *pbVar6;\n              bVar7 = *pbVar4 == *pbVar6;\n              pbVar4 = pbVar4 + 1;\n              pbVar6 = pbVar6 + 1;\n            } while (bVar7);\n            bVar8 = false;\n            bVar7 = (!bVar9 && !bVar7) == bVar9;\n            if (bVar7) {\n              DAT_00087970 = DAT_00087970 & 0xfb;\n              return true;\n            }\n            iVar3 = 6;\n            pcVar5 = " debug";\n            pbVar4 = param_2;\n            do {\n              pcVar5 = (char *)((byte *)pcVar5 + 1);\n              if (iVar3 == 0) break;\n              iVar3 = iVar3 + -1;\n              bVar8 = *pbVar4 < (byte)*pcVar5;\n              bVar7 = *pbVar4 == *pcVar5;\n              pbVar4 = pbVar4 + 1;\n            } while (bVar7);\n            bVar9 = false;\n            bVar7 = (!bVar8 && !bVar7) == bVar8;\n            if (bVar7) {\n              DAT_00087970 = DAT_00087970 | 6;\n              return true;\n            }\n            iVar3 = 7;\n            pbVar4 = param_2;\n            pbVar6 = (byte *)"debugx";\n            do {\n              if (iVar3 == 0) break;\n              iVar3 = iVar3 + -1;\n              bVar9 = *pbVar4 < *pbVar6;\n              bVar7 = *pbVar4 == *pbVar6;\n              pbVar4 = pbVar4 + 1;\n              pbVar6 = pbVar6 + 1;\n            } while (bVar7);\n            bVar8 = false;\n            bVar7 = (!bVar9 && !bVar7) == bVar9;\n            if (bVar7) {\n              DAT_00087970 = DAT_00087970 | 0x16;\n              return true;\n            }\n            iVar3 = 7;\n            pbVar4 = param_2;\n            pbVar6 = (byte *)"debugn";\n            do {\n              if (iVar3 == 0) break;\n              iVar3 = iVar3 + -1;\n              bVar8 = *pbVar4 < *pbVar6;\n              bVar7 = *pbVar4 == *pbVar6;\n              pbVar4 = pbVar4 + 1;\n              pbVar6 = pbVar6 + 1;\n            } while (bVar7);\n            cVar1 = (!bVar8 && !bVar7) - bVar8;\n            if (cVar1 != '\0') {\n              DAT_00087970 = DAT_00087970 | 4;\n              uVar2 = dcgettext(0,"Unrecognized option \'-x%s\'",5,cVar1);\n              FUN_00029550(uVar2,param_2);\n              return true;\n            }\n            DAT_00087970 = DAT_00087970 & 0xf9 | 2;\n            return true;\n          }\n        }" { (expression_statement "iVar3 = 9;" (assignment_expression "iVar3 = 9" identifier = number_literal) ;) (expression_statement "pbVar4 = param_2;" (assignment_expression "pbVar4 = param_2" identifier = identifier) ;) (expression_statement "pbVar6 = (byte *)"explicit";" (assignment_expression "pbVar6 = (byte *)"explicit"" identifier = (cast_expression "(byte *)"explicit"" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (string_literal ""explicit"" " string_content "))) ;) (do_statement "do {\n            if (iVar3 == 0) break;\n            iVar3 = iVar3 + -1;\n            bVar7 = *pbVar4 < *pbVar6;\n            bVar9 = *pbVar4 == *pbVar6;\n            pbVar4 = pbVar4 + 1;\n            pbVar6 = pbVar6 + 1;\n          } while (bVar9);" do (compound_statement "{\n            if (iVar3 == 0) break;\n            iVar3 = iVar3 + -1;\n            bVar7 = *pbVar4 < *pbVar6;\n            bVar9 = *pbVar4 == *pbVar6;\n            pbVar4 = pbVar4 + 1;\n            pbVar6 = pbVar6 + 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 "bVar7 = *pbVar4 < *pbVar6;" (assignment_expression "bVar7 = *pbVar4 < *pbVar6" identifier = (binary_expression "*pbVar4 < *pbVar6" (pointer_expression "*pbVar4" * identifier) < (pointer_expression "*pbVar6" * identifier))) ;) (expression_statement "bVar9 = *pbVar4 == *pbVar6;" (assignment_expression "bVar9 = *pbVar4 == *pbVar6" identifier = (binary_expression "*pbVar4 == *pbVar6" (pointer_expression "*pbVar4" * identifier) == (pointer_expression "*pbVar6" * identifier))) ;) (expression_statement "pbVar4 = pbVar4 + 1;" (assignment_expression "pbVar4 = pbVar4 + 1" identifier = (binary_expression "pbVar4 + 1" identifier + number_literal)) ;) (expression_statement "pbVar6 = pbVar6 + 1;" (assignment_expression "pbVar6 = pbVar6 + 1" identifier = (binary_expression "pbVar6 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(bVar9)" ( identifier )) ;) (expression_statement "bVar8 = false;" (assignment_expression "bVar8 = false" identifier = false) ;) (expression_statement "bVar7 = (!bVar7 && !bVar9) == bVar7;" (assignment_expression "bVar7 = (!bVar7 && !bVar9) == bVar7" identifier = (binary_expression "(!bVar7 && !bVar9) == bVar7" (parenthesized_expression "(!bVar7 && !bVar9)" ( (binary_expression "!bVar7 && !bVar9" (unary_expression "!bVar7" ! identifier) && (unary_expression "!bVar9" ! identifier)) )) == identifier)) ;) (if_statement "if (!bVar7) {\n            iVar3 = 5;\n            pbVar4 = param_2;\n            pbVar6 = &DAT_00063a4b;\n            do {\n              if (iVar3 == 0) break;\n              iVar3 = iVar3 + -1;\n              bVar8 = *pbVar4 < *pbVar6;\n              bVar7 = *pbVar4 == *pbVar6;\n              pbVar4 = pbVar4 + 1;\n              pbVar6 = pbVar6 + 1;\n            } while (bVar7);\n            bVar9 = false;\n            bVar7 = (!bVar8 && !bVar7) == bVar8;\n            if (bVar7) {\n              DAT_00087970 = DAT_00087970 & 0xef | 4;\n              return true;\n            }\n            iVar3 = 5;\n            pbVar4 = param_2;\n            pbVar6 = &DAT_0005a335;\n            do {\n              if (iVar3 == 0) break;\n              iVar3 = iVar3 + -1;\n              bVar9 = *pbVar4 < *pbVar6;\n              bVar7 = *pbVar4 == *pbVar6;\n              pbVar4 = pbVar4 + 1;\n              pbVar6 = pbVar6 + 1;\n            } while (bVar7);\n            bVar8 = false;\n            bVar7 = (!bVar9 && !bVar7) == bVar9;\n            if (bVar7) {\n              DAT_00087970 = DAT_00087970 & 0xfb;\n              return true;\n            }\n            iVar3 = 6;\n            pcVar5 = " debug";\n            pbVar4 = param_2;\n            do {\n              pcVar5 = (char *)((byte *)pcVar5 + 1);\n              if (iVar3 == 0) break;\n              iVar3 = iVar3 + -1;\n              bVar8 = *pbVar4 < (byte)*pcVar5;\n              bVar7 = *pbVar4 == *pcVar5;\n              pbVar4 = pbVar4 + 1;\n            } while (bVar7);\n            bVar9 = false;\n            bVar7 = (!bVar8 && !bVar7) == bVar8;\n            if (bVar7) {\n              DAT_00087970 = DAT_00087970 | 6;\n              return true;\n            }\n            iVar3 = 7;\n            pbVar4 = param_2;\n            pbVar6 = (byte *)"debugx";\n            do {\n              if (iVar3 == 0) break;\n              iVar3 = iVar3 + -1;\n              bVar9 = *pbVar4 < *pbVar6;\n              bVar7 = *pbVar4 == *pbVar6;\n              pbVar4 = pbVar4 + 1;\n              pbVar6 = pbVar6 + 1;\n            } while (bVar7);\n            bVar8 = false;\n            bVar7 = (!bVar9 && !bVar7) == bVar9;\n            if (bVar7) {\n              DAT_00087970 = DAT_00087970 | 0x16;\n              return true;\n            }\n            iVar3 = 7;\n            pbVar4 = param_2;\n            pbVar6 = (byte *)"debugn";\n            do {\n              if (iVar3 == 0) break;\n              iVar3 = iVar3 + -1;\n              bVar8 = *pbVar4 < *pbVar6;\n              bVar7 = *pbVar4 == *pbVar6;\n              pbVar4 = pbVar4 + 1;\n              pbVar6 = pbVar6 + 1;\n            } while (bVar7);\n            cVar1 = (!bVar8 && !bVar7) - bVar8;\n            if (cVar1 != '\0') {\n              DAT_00087970 = DAT_00087970 | 4;\n              uVar2 = dcgettext(0,"Unrecognized option \'-x%s\'",5,cVar1);\n              FUN_00029550(uVar2,param_2);\n              return true;\n            }\n            DAT_00087970 = DAT_00087970 & 0xf9 | 2;\n            return true;\n          }" if (parenthesized_expression "(!bVar7)" ( (unary_expression "!bVar7" ! identifier) )) (compound_statement "{\n            iVar3 = 5;\n            pbVar4 = param_2;\n            pbVar6 = &DAT_00063a4b;\n            do {\n              if (iVar3 == 0) break;\n              iVar3 = iVar3 + -1;\n              bVar8 = *pbVar4 < *pbVar6;\n              bVar7 = *pbVar4 == *pbVar6;\n              pbVar4 = pbVar4 + 1;\n              pbVar6 = pbVar6 + 1;\n            } while (bVar7);\n            bVar9 = false;\n            bVar7 = (!bVar8 && !bVar7) == bVar8;\n            if (bVar7) {\n              DAT_00087970 = DAT_00087970 & 0xef | 4;\n              return true;\n            }\n            iVar3 = 5;\n            pbVar4 = param_2;\n            pbVar6 = &DAT_0005a335;\n            do {\n              if (iVar3 == 0) break;\n              iVar3 = iVar3 + -1;\n              bVar9 = *pbVar4 < *pbVar6;\n              bVar7 = *pbVar4 == *pbVar6;\n              pbVar4 = pbVar4 + 1;\n              pbVar6 = pbVar6 + 1;\n            } while (bVar7);\n            bVar8 = false;\n            bVar7 = (!bVar9 && !bVar7) == bVar9;\n            if (bVar7) {\n              DAT_00087970 = DAT_00087970 & 0xfb;\n              return true;\n            }\n            iVar3 = 6;\n            pcVar5 = " debug";\n            pbVar4 = param_2;\n            do {\n              pcVar5 = (char *)((byte *)pcVar5 + 1);\n              if (iVar3 == 0) break;\n              iVar3 = iVar3 + -1;\n              bVar8 = *pbVar4 < (byte)*pcVar5;\n              bVar7 = *pbVar4 == *pcVar5;\n              pbVar4 = pbVar4 + 1;\n            } while (bVar7);\n            bVar9 = false;\n            bVar7 = (!bVar8 && !bVar7) == bVar8;\n            if (bVar7) {\n              DAT_00087970 = DAT_00087970 | 6;\n              return true;\n            }\n            iVar3 = 7;\n            pbVar4 = param_2;\n            pbVar6 = (byte *)"debugx";\n            do {\n              if (iVar3 == 0) break;\n              iVar3 = iVar3 + -1;\n              bVar9 = *pbVar4 < *pbVar6;\n              bVar7 = *pbVar4 == *pbVar6;\n              pbVar4 = pbVar4 + 1;\n              pbVar6 = pbVar6 + 1;\n            } while (bVar7);\n            bVar8 = false;\n            bVar7 = (!bVar9 && !bVar7) == bVar9;\n            if (bVar7) {\n              DAT_00087970 = DAT_00087970 | 0x16;\n              return true;\n            }\n            iVar3 = 7;\n            pbVar4 = param_2;\n            pbVar6 = (byte *)"debugn";\n            do {\n              if (iVar3 == 0) break;\n              iVar3 = iVar3 + -1;\n              bVar8 = *pbVar4 < *pbVar6;\n              bVar7 = *pbVar4 == *pbVar6;\n              pbVar4 = pbVar4 + 1;\n              pbVar6 = pbVar6 + 1;\n            } while (bVar7);\n            cVar1 = (!bVar8 && !bVar7) - bVar8;\n            if (cVar1 != '\0') {\n              DAT_00087970 = DAT_00087970 | 4;\n              uVar2 = dcgettext(0,"Unrecognized option \'-x%s\'",5,cVar1);\n              FUN_00029550(uVar2,param_2);\n              return true;\n            }\n            DAT_00087970 = DAT_00087970 & 0xf9 | 2;\n            return true;\n          }" { (expression_statement "iVar3 = 5;" (assignment_expression "iVar3 = 5" identifier = number_literal) ;) (expression_statement "pbVar4 = param_2;" (assignment_expression "pbVar4 = param_2" identifier = identifier) ;) (expression_statement "pbVar6 = &DAT_00063a4b;" (assignment_expression "pbVar6 = &DAT_00063a4b" identifier = (pointer_expression "&DAT_00063a4b" & identifier)) ;) (do_statement "do {\n              if (iVar3 == 0) break;\n              iVar3 = iVar3 + -1;\n              bVar8 = *pbVar4 < *pbVar6;\n              bVar7 = *pbVar4 == *pbVar6;\n              pbVar4 = pbVar4 + 1;\n              pbVar6 = pbVar6 + 1;\n            } while (bVar7);" do (compound_statement "{\n              if (iVar3 == 0) break;\n              iVar3 = iVar3 + -1;\n              bVar8 = *pbVar4 < *pbVar6;\n              bVar7 = *pbVar4 == *pbVar6;\n              pbVar4 = pbVar4 + 1;\n              pbVar6 = pbVar6 + 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 = *pbVar4 < *pbVar6;" (assignment_expression "bVar8 = *pbVar4 < *pbVar6" identifier = (binary_expression "*pbVar4 < *pbVar6" (pointer_expression "*pbVar4" * identifier) < (pointer_expression "*pbVar6" * identifier))) ;) (expression_statement "bVar7 = *pbVar4 == *pbVar6;" (assignment_expression "bVar7 = *pbVar4 == *pbVar6" identifier = (binary_expression "*pbVar4 == *pbVar6" (pointer_expression "*pbVar4" * identifier) == (pointer_expression "*pbVar6" * identifier))) ;) (expression_statement "pbVar4 = pbVar4 + 1;" (assignment_expression "pbVar4 = pbVar4 + 1" identifier = (binary_expression "pbVar4 + 1" identifier + number_literal)) ;) (expression_statement "pbVar6 = pbVar6 + 1;" (assignment_expression "pbVar6 = pbVar6 + 1" identifier = (binary_expression "pbVar6 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(bVar7)" ( identifier )) ;) (expression_statement "bVar9 = false;" (assignment_expression "bVar9 = false" identifier = false) ;) (expression_statement "bVar7 = (!bVar8 && !bVar7) == bVar8;" (assignment_expression "bVar7 = (!bVar8 && !bVar7) == bVar8" identifier = (binary_expression "(!bVar8 && !bVar7) == bVar8" (parenthesized_expression "(!bVar8 && !bVar7)" ( (binary_expression "!bVar8 && !bVar7" (unary_expression "!bVar8" ! identifier) && (unary_expression "!bVar7" ! identifier)) )) == identifier)) ;) (if_statement "if (bVar7) {\n              DAT_00087970 = DAT_00087970 & 0xef | 4;\n              return true;\n            }" if (parenthesized_expression "(bVar7)" ( identifier )) (compound_statement "{\n              DAT_00087970 = DAT_00087970 & 0xef | 4;\n              return true;\n            }" { (expression_statement "DAT_00087970 = DAT_00087970 & 0xef | 4;" (assignment_expression "DAT_00087970 = DAT_00087970 & 0xef | 4" identifier = (binary_expression "DAT_00087970 & 0xef | 4" (binary_expression "DAT_00087970 & 0xef" identifier & number_literal) | number_literal)) ;) (return_statement "return true;" return true ;) })) (expression_statement "iVar3 = 5;" (assignment_expression "iVar3 = 5" identifier = number_literal) ;) (expression_statement "pbVar4 = param_2;" (assignment_expression "pbVar4 = param_2" identifier = identifier) ;) (expression_statement "pbVar6 = &DAT_0005a335;" (assignment_expression "pbVar6 = &DAT_0005a335" identifier = (pointer_expression "&DAT_0005a335" & identifier)) ;) (do_statement "do {\n              if (iVar3 == 0) break;\n              iVar3 = iVar3 + -1;\n              bVar9 = *pbVar4 < *pbVar6;\n              bVar7 = *pbVar4 == *pbVar6;\n              pbVar4 = pbVar4 + 1;\n              pbVar6 = pbVar6 + 1;\n            } while (bVar7);" do (compound_statement "{\n              if (iVar3 == 0) break;\n              iVar3 = iVar3 + -1;\n              bVar9 = *pbVar4 < *pbVar6;\n              bVar7 = *pbVar4 == *pbVar6;\n              pbVar4 = pbVar4 + 1;\n              pbVar6 = pbVar6 + 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 = *pbVar4 < *pbVar6;" (assignment_expression "bVar9 = *pbVar4 < *pbVar6" identifier = (binary_expression "*pbVar4 < *pbVar6" (pointer_expression "*pbVar4" * identifier) < (pointer_expression "*pbVar6" * identifier))) ;) (expression_statement "bVar7 = *pbVar4 == *pbVar6;" (assignment_expression "bVar7 = *pbVar4 == *pbVar6" identifier = (binary_expression "*pbVar4 == *pbVar6" (pointer_expression "*pbVar4" * identifier) == (pointer_expression "*pbVar6" * identifier))) ;) (expression_statement "pbVar4 = pbVar4 + 1;" (assignment_expression "pbVar4 = pbVar4 + 1" identifier = (binary_expression "pbVar4 + 1" identifier + number_literal)) ;) (expression_statement "pbVar6 = pbVar6 + 1;" (assignment_expression "pbVar6 = pbVar6 + 1" identifier = (binary_expression "pbVar6 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(bVar7)" ( identifier )) ;) (expression_statement "bVar8 = false;" (assignment_expression "bVar8 = false" identifier = false) ;) (expression_statement "bVar7 = (!bVar9 && !bVar7) == bVar9;" (assignment_expression "bVar7 = (!bVar9 && !bVar7) == bVar9" identifier = (binary_expression "(!bVar9 && !bVar7) == bVar9" (parenthesized_expression "(!bVar9 && !bVar7)" ( (binary_expression "!bVar9 && !bVar7" (unary_expression "!bVar9" ! identifier) && (unary_expression "!bVar7" ! identifier)) )) == identifier)) ;) (if_statement "if (bVar7) {\n              DAT_00087970 = DAT_00087970 & 0xfb;\n              return true;\n            }" if (parenthesized_expression "(bVar7)" ( identifier )) (compound_statement "{\n              DAT_00087970 = DAT_00087970 & 0xfb;\n              return true;\n            }" { (expression_statement "DAT_00087970 = DAT_00087970 & 0xfb;" (assignment_expression "DAT_00087970 = DAT_00087970 & 0xfb" identifier = (binary_expression "DAT_00087970 & 0xfb" identifier & number_literal)) ;) (return_statement "return true;" return true ;) })) (expression_statement "iVar3 = 6;" (assignment_expression "iVar3 = 6" identifier = number_literal) ;) (expression_statement "pcVar5 = " debug";" (assignment_expression "pcVar5 = " debug"" identifier = (string_literal "" debug"" " string_content ")) ;) (expression_statement "pbVar4 = param_2;" (assignment_expression "pbVar4 = param_2" identifier = identifier) ;) (do_statement "do {\n              pcVar5 = (char *)((byte *)pcVar5 + 1);\n              if (iVar3 == 0) break;\n              iVar3 = iVar3 + -1;\n              bVar8 = *pbVar4 < (byte)*pcVar5;\n              bVar7 = *pbVar4 == *pcVar5;\n              pbVar4 = pbVar4 + 1;\n            } while (bVar7);" do (compound_statement "{\n              pcVar5 = (char *)((byte *)pcVar5 + 1);\n              if (iVar3 == 0) break;\n              iVar3 = iVar3 + -1;\n              bVar8 = *pbVar4 < (byte)*pcVar5;\n              bVar7 = *pbVar4 == *pcVar5;\n              pbVar4 = pbVar4 + 1;\n            }" { (expression_statement "pcVar5 = (char *)((byte *)pcVar5 + 1);" (assignment_expression "pcVar5 = (char *)((byte *)pcVar5 + 1)" identifier = (cast_expression "(char *)((byte *)pcVar5 + 1)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((byte *)pcVar5 + 1)" ( (binary_expression "(byte *)pcVar5 + 1" (cast_expression "(byte *)pcVar5" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) + number_literal) )))) ;) (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 = *pbVar4 < (byte)*pcVar5;" (assignment_expression "bVar8 = *pbVar4 < (byte)*pcVar5" identifier = (binary_expression "*pbVar4 < (byte)*pcVar5" (pointer_expression "*pbVar4" * identifier) < (binary_expression "(byte)*pcVar5" (parenthesized_expression "(byte)" ( identifier )) * identifier))) ;) (expression_statement "bVar7 = *pbVar4 == *pcVar5;" (assignment_expression "bVar7 = *pbVar4 == *pcVar5" identifier = (binary_expression "*pbVar4 == *pcVar5" (pointer_expression "*pbVar4" * identifier) == (pointer_expression "*pcVar5" * identifier))) ;) (expression_statement "pbVar4 = pbVar4 + 1;" (assignment_expression "pbVar4 = pbVar4 + 1" identifier = (binary_expression "pbVar4 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(bVar7)" ( identifier )) ;) (expression_statement "bVar9 = false;" (assignment_expression "bVar9 = false" identifier = false) ;) (expression_statement "bVar7 = (!bVar8 && !bVar7) == bVar8;" (assignment_expression "bVar7 = (!bVar8 && !bVar7) == bVar8" identifier = (binary_expression "(!bVar8 && !bVar7) == bVar8" (parenthesized_expression "(!bVar8 && !bVar7)" ( (binary_expression "!bVar8 && !bVar7" (unary_expression "!bVar8" ! identifier) && (unary_expression "!bVar7" ! identifier)) )) == identifier)) ;) (if_statement "if (bVar7) {\n              DAT_00087970 = DAT_00087970 | 6;\n              return true;\n            }" if (parenthesized_expression "(bVar7)" ( identifier )) (compound_statement "{\n              DAT_00087970 = DAT_00087970 | 6;\n              return true;\n            }" { (expression_statement "DAT_00087970 = DAT_00087970 | 6;" (assignment_expression "DAT_00087970 = DAT_00087970 | 6" identifier = (binary_expression "DAT_00087970 | 6" identifier | number_literal)) ;) (return_statement "return true;" return true ;) })) (expression_statement "iVar3 = 7;" (assignment_expression "iVar3 = 7" identifier = number_literal) ;) (expression_statement "pbVar4 = param_2;" (assignment_expression "pbVar4 = param_2" identifier = identifier) ;) (expression_statement "pbVar6 = (byte *)"debugx";" (assignment_expression "pbVar6 = (byte *)"debugx"" identifier = (cast_expression "(byte *)"debugx"" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (string_literal ""debugx"" " string_content "))) ;) (do_statement "do {\n              if (iVar3 == 0) break;\n              iVar3 = iVar3 + -1;\n              bVar9 = *pbVar4 < *pbVar6;\n              bVar7 = *pbVar4 == *pbVar6;\n              pbVar4 = pbVar4 + 1;\n              pbVar6 = pbVar6 + 1;\n            } while (bVar7);" do (compound_statement "{\n              if (iVar3 == 0) break;\n              iVar3 = iVar3 + -1;\n              bVar9 = *pbVar4 < *pbVar6;\n              bVar7 = *pbVar4 == *pbVar6;\n              pbVar4 = pbVar4 + 1;\n              pbVar6 = pbVar6 + 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 = *pbVar4 < *pbVar6;" (assignment_expression "bVar9 = *pbVar4 < *pbVar6" identifier = (binary_expression "*pbVar4 < *pbVar6" (pointer_expression "*pbVar4" * identifier) < (pointer_expression "*pbVar6" * identifier))) ;) (expression_statement "bVar7 = *pbVar4 == *pbVar6;" (assignment_expression "bVar7 = *pbVar4 == *pbVar6" identifier = (binary_expression "*pbVar4 == *pbVar6" (pointer_expression "*pbVar4" * identifier) == (pointer_expression "*pbVar6" * identifier))) ;) (expression_statement "pbVar4 = pbVar4 + 1;" (assignment_expression "pbVar4 = pbVar4 + 1" identifier = (binary_expression "pbVar4 + 1" identifier + number_literal)) ;) (expression_statement "pbVar6 = pbVar6 + 1;" (assignment_expression "pbVar6 = pbVar6 + 1" identifier = (binary_expression "pbVar6 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(bVar7)" ( identifier )) ;) (expression_statement "bVar8 = false;" (assignment_expression "bVar8 = false" identifier = false) ;) (expression_statement "bVar7 = (!bVar9 && !bVar7) == bVar9;" (assignment_expression "bVar7 = (!bVar9 && !bVar7) == bVar9" identifier = (binary_expression "(!bVar9 && !bVar7) == bVar9" (parenthesized_expression "(!bVar9 && !bVar7)" ( (binary_expression "!bVar9 && !bVar7" (unary_expression "!bVar9" ! identifier) && (unary_expression "!bVar7" ! identifier)) )) == identifier)) ;) (if_statement "if (bVar7) {\n              DAT_00087970 = DAT_00087970 | 0x16;\n              return true;\n            }" if (parenthesized_expression "(bVar7)" ( identifier )) (compound_statement "{\n              DAT_00087970 = DAT_00087970 | 0x16;\n              return true;\n            }" { (expression_statement "DAT_00087970 = DAT_00087970 | 0x16;" (assignment_expression "DAT_00087970 = DAT_00087970 | 0x16" identifier = (binary_expression "DAT_00087970 | 0x16" identifier | number_literal)) ;) (return_statement "return true;" return true ;) })) (expression_statement "iVar3 = 7;" (assignment_expression "iVar3 = 7" identifier = number_literal) ;) (expression_statement "pbVar4 = param_2;" (assignment_expression "pbVar4 = param_2" identifier = identifier) ;) (expression_statement "pbVar6 = (byte *)"debugn";" (assignment_expression "pbVar6 = (byte *)"debugn"" identifier = (cast_expression "(byte *)"debugn"" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (string_literal ""debugn"" " string_content "))) ;) (do_statement "do {\n              if (iVar3 == 0) break;\n              iVar3 = iVar3 + -1;\n              bVar8 = *pbVar4 < *pbVar6;\n              bVar7 = *pbVar4 == *pbVar6;\n              pbVar4 = pbVar4 + 1;\n              pbVar6 = pbVar6 + 1;\n            } while (bVar7);" do (compound_statement "{\n              if (iVar3 == 0) break;\n              iVar3 = iVar3 + -1;\n              bVar8 = *pbVar4 < *pbVar6;\n              bVar7 = *pbVar4 == *pbVar6;\n              pbVar4 = pbVar4 + 1;\n              pbVar6 = pbVar6 + 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 = *pbVar4 < *pbVar6;" (assignment_expression "bVar8 = *pbVar4 < *pbVar6" identifier = (binary_expression "*pbVar4 < *pbVar6" (pointer_expression "*pbVar4" * identifier) < (pointer_expression "*pbVar6" * identifier))) ;) (expression_statement "bVar7 = *pbVar4 == *pbVar6;" (assignment_expression "bVar7 = *pbVar4 == *pbVar6" identifier = (binary_expression "*pbVar4 == *pbVar6" (pointer_expression "*pbVar4" * identifier) == (pointer_expression "*pbVar6" * identifier))) ;) (expression_statement "pbVar4 = pbVar4 + 1;" (assignment_expression "pbVar4 = pbVar4 + 1" identifier = (binary_expression "pbVar4 + 1" identifier + number_literal)) ;) (expression_statement "pbVar6 = pbVar6 + 1;" (assignment_expression "pbVar6 = pbVar6 + 1" identifier = (binary_expression "pbVar6 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(bVar7)" ( identifier )) ;) (expression_statement "cVar1 = (!bVar8 && !bVar7) - bVar8;" (assignment_expression "cVar1 = (!bVar8 && !bVar7) - bVar8" identifier = (binary_expression "(!bVar8 && !bVar7) - bVar8" (parenthesized_expression "(!bVar8 && !bVar7)" ( (binary_expression "!bVar8 && !bVar7" (unary_expression "!bVar8" ! identifier) && (unary_expression "!bVar7" ! identifier)) )) - identifier)) ;) (if_statement "if (cVar1 != '\0') {\n              DAT_00087970 = DAT_00087970 | 4;\n              uVar2 = dcgettext(0,"Unrecognized option \'-x%s\'",5,cVar1);\n              FUN_00029550(uVar2,param_2);\n              return true;\n            }" if (parenthesized_expression "(cVar1 != '\0')" ( (binary_expression "cVar1 != '\0'" identifier != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n              DAT_00087970 = DAT_00087970 | 4;\n              uVar2 = dcgettext(0,"Unrecognized option \'-x%s\'",5,cVar1);\n              FUN_00029550(uVar2,param_2);\n              return true;\n            }" { (expression_statement "DAT_00087970 = DAT_00087970 | 4;" (assignment_expression "DAT_00087970 = DAT_00087970 | 4" identifier = (binary_expression "DAT_00087970 | 4" identifier | number_literal)) ;) (expression_statement "uVar2 = dcgettext(0,"Unrecognized option \'-x%s\'",5,cVar1);" (assignment_expression "uVar2 = dcgettext(0,"Unrecognized option \'-x%s\'",5,cVar1)" identifier = (call_expression "dcgettext(0,"Unrecognized option \'-x%s\'",5,cVar1)" identifier (argument_list "(0,"Unrecognized option \'-x%s\'",5,cVar1)" ( number_literal , (string_literal ""Unrecognized option \'-x%s\'"" " string_content escape_sequence string_content escape_sequence ") , number_literal , identifier )))) ;) (expression_statement "FUN_00029550(uVar2,param_2);" (call_expression "FUN_00029550(uVar2,param_2)" identifier (argument_list "(uVar2,param_2)" ( identifier , identifier ))) ;) (return_statement "return true;" return true ;) })) (expression_statement "DAT_00087970 = DAT_00087970 & 0xf9 | 2;" (assignment_expression "DAT_00087970 = DAT_00087970 & 0xf9 | 2" identifier = (binary_expression "DAT_00087970 & 0xf9 | 2" (binary_expression "DAT_00087970 & 0xf9" identifier & number_literal) | number_literal)) ;) (return_statement "return true;" return true ;) })) })) (expression_statement "DAT_00087970 = DAT_00087970 | 0x14;" (assignment_expression "DAT_00087970 = DAT_00087970 | 0x14" identifier = (binary_expression "DAT_00087970 | 0x14" identifier | number_literal)) ;) (return_statement "return true;" return true ;) })) (if_statement "if ((int)param_1 < 0x79) {\n        bVar7 = param_1 < 0x6d;\n        bVar9 = param_1 == 0x6d;\n        if (bVar9) {\n          iVar3 = 6;\n          pbVar4 = param_2;\n          pbVar6 = &DAT_000639e8;\n          do {\n            if (iVar3 == 0) break;\n            iVar3 = iVar3 + -1;\n            bVar7 = *pbVar4 < *pbVar6;\n            bVar9 = *pbVar4 == *pbVar6;\n            pbVar4 = pbVar4 + 1;\n            pbVar6 = pbVar6 + 1;\n          } while (bVar9);\n          bVar8 = false;\n          bVar7 = (!bVar7 && !bVar9) == bVar7;\n          if (!bVar7) {\n            iVar3 = 5;\n            pbVar4 = param_2;\n            pbVar6 = &DAT_000639e9;\n            do {\n              if (iVar3 == 0) break;\n              iVar3 = iVar3 + -1;\n              bVar8 = *pbVar4 < *pbVar6;\n              bVar7 = *pbVar4 == *pbVar6;\n              pbVar4 = pbVar4 + 1;\n              pbVar6 = pbVar6 + 1;\n            } while (bVar7);\n            bVar9 = false;\n            bVar7 = (!bVar8 && !bVar7) == bVar8;\n            if (!bVar7) {\n              iVar3 = 4;\n              pbVar4 = param_2;\n              pbVar6 = &DAT_000639ea;\n              do {\n                if (iVar3 == 0) break;\n                iVar3 = iVar3 + -1;\n                bVar9 = *pbVar4 < *pbVar6;\n                bVar7 = *pbVar4 == *pbVar6;\n                pbVar4 = pbVar4 + 1;\n                pbVar6 = pbVar6 + 1;\n              } while (bVar7);\n              bVar8 = false;\n              bVar7 = (!bVar9 && !bVar7) == bVar9;\n              if (!bVar7) {\n                iVar3 = 6;\n                pbVar4 = param_2;\n                pbVar6 = (byte *)"ilp32";\n                do {\n                  if (iVar3 == 0) break;\n                  iVar3 = iVar3 + -1;\n                  bVar8 = *pbVar4 < *pbVar6;\n                  bVar7 = *pbVar4 == *pbVar6;\n                  pbVar4 = pbVar4 + 1;\n                  pbVar6 = pbVar6 + 1;\n                } while (bVar7);\n                bVar9 = false;\n                bVar7 = (!bVar8 && !bVar7) == bVar8;\n                if (bVar7) {\n                  DAT_00087d90 = DAT_00087d90 & 0xffffffef;\n                  return true;\n                }\n                iVar3 = 3;\n                pbVar4 = param_2;\n                pbVar6 = (byte *)0x5a287;\n                do {\n                  if (iVar3 == 0) break;\n                  iVar3 = iVar3 + -1;\n                  bVar9 = *pbVar4 < *pbVar6;\n                  bVar7 = *pbVar4 == *pbVar6;\n                  pbVar4 = pbVar4 + 1;\n                  pbVar6 = pbVar6 + 1;\n                } while (bVar7);\n                bVar8 = false;\n                bVar7 = (!bVar9 && !bVar7) == bVar9;\n                if (bVar7) {\n                  DAT_00087d90 = DAT_00087d90 & 0xfffffff7;\n                  DAT_00087dfc = 0;\n                  return true;\n                }\n                iVar3 = 3;\n                pbVar4 = param_2;\n                pbVar6 = &DAT_00063a90;\n                do {\n                  if (iVar3 == 0) break;\n                  iVar3 = iVar3 + -1;\n                  bVar8 = *pbVar4 < *pbVar6;\n                  bVar7 = *pbVar4 == *pbVar6;\n                  pbVar4 = pbVar4 + 1;\n                  pbVar6 = pbVar6 + 1;\n                } while (bVar7);\n                bVar9 = false;\n                bVar7 = (!bVar8 && !bVar7) == bVar8;\n                if (bVar7) {\n                  DAT_00087d90 = DAT_00087d90 | 8;\n                  DAT_00087dfc = 1;\n                  return true;\n                }\n                iVar3 = 0xd;\n                pbVar4 = param_2;\n                pbVar6 = (byte *)"unwind-check=";\n                do {\n                  if (iVar3 == 0) break;\n                  iVar3 = iVar3 + -1;\n                  bVar9 = *pbVar4 < *pbVar6;\n                  bVar7 = *pbVar4 == *pbVar6;\n                  pbVar4 = pbVar4 + 1;\n                  pbVar6 = pbVar6 + 1;\n                } while (bVar7);\n                if ((!bVar9 && !bVar7) == bVar9) {\n                  iVar3 = strcmp((char *)(param_2 + 0xd),"warning");\n                  if (iVar3 == 0) {\n                    DAT_00087974 = 0;\n                    return true;\n                  }\n                  iVar3 = strcmp((char *)(param_2 + 0xd),"error");\n                  if (iVar3 == 0) {\n                    DAT_00087974 = 1;\n                    return true;\n                  }\n                  return false;\n                }\n                iVar3 = strncmp((char *)param_2,"hint.b=",7);\n                if (iVar3 != 0) {\n                  iVar3 = strncmp((char *)param_2,"tune=",5);\n                  if (iVar3 != 0) {\n                    return false;\n                  }\n                  iVar3 = strcmp((char *)(param_2 + 5),"itanium1");\n                  if (iVar3 != 0) {\n                    iVar3 = strcmp((char *)(param_2 + 5),"itanium2");\n                    if (iVar3 == 0) {\n                      DAT_00087968 = 1;\n                      return true;\n                    }\n                    return false;\n                  }\n                  DAT_00087968 = 0;\n                  return true;\n                }\n                param_2 = param_2 + 7;\n                iVar3 = strcmp((char *)param_2,"ok");\n                if (iVar3 == 0) {\n                  DAT_0008796c = 2;\n                  return true;\n                }\n                iVar3 = strcmp((char *)param_2,"warning");\n                if (iVar3 != 0) {\n                  iVar3 = strcmp((char *)param_2,"error");\n                  if (iVar3 == 0) {\n                    DAT_0008796c = 0;\n                    return true;\n                  }\n                  return false;\n                }\n                DAT_0008796c = 1;\n                return true;\n              }\n            }\n          }\n          DAT_00087d90 = DAT_00087d90 | 0x10;\n          return true;\n        }\n      }\n      else {\n        if (param_1 == 0x123) {\n          DAT_00087d90 = DAT_00087d90 | 0x40;\n          return true;\n        }\n        if (param_1 == 0x124) {\n          DAT_00087d90 = DAT_00087d90 | 0x80;\n          return true;\n        }\n      }" if (parenthesized_expression "((int)param_1 < 0x79)" ( (binary_expression "(int)param_1 < 0x79" (cast_expression "(int)param_1" ( (type_descriptor "int" primitive_type) ) identifier) < number_literal) )) (compound_statement "{\n        bVar7 = param_1 < 0x6d;\n        bVar9 = param_1 == 0x6d;\n        if (bVar9) {\n          iVar3 = 6;\n          pbVar4 = param_2;\n          pbVar6 = &DAT_000639e8;\n          do {\n            if (iVar3 == 0) break;\n            iVar3 = iVar3 + -1;\n            bVar7 = *pbVar4 < *pbVar6;\n            bVar9 = *pbVar4 == *pbVar6;\n            pbVar4 = pbVar4 + 1;\n            pbVar6 = pbVar6 + 1;\n          } while (bVar9);\n          bVar8 = false;\n          bVar7 = (!bVar7 && !bVar9) == bVar7;\n          if (!bVar7) {\n            iVar3 = 5;\n            pbVar4 = param_2;\n            pbVar6 = &DAT_000639e9;\n            do {\n              if (iVar3 == 0) break;\n              iVar3 = iVar3 + -1;\n              bVar8 = *pbVar4 < *pbVar6;\n              bVar7 = *pbVar4 == *pbVar6;\n              pbVar4 = pbVar4 + 1;\n              pbVar6 = pbVar6 + 1;\n            } while (bVar7);\n            bVar9 = false;\n            bVar7 = (!bVar8 && !bVar7) == bVar8;\n            if (!bVar7) {\n              iVar3 = 4;\n              pbVar4 = param_2;\n              pbVar6 = &DAT_000639ea;\n              do {\n                if (iVar3 == 0) break;\n                iVar3 = iVar3 + -1;\n                bVar9 = *pbVar4 < *pbVar6;\n                bVar7 = *pbVar4 == *pbVar6;\n                pbVar4 = pbVar4 + 1;\n                pbVar6 = pbVar6 + 1;\n              } while (bVar7);\n              bVar8 = false;\n              bVar7 = (!bVar9 && !bVar7) == bVar9;\n              if (!bVar7) {\n                iVar3 = 6;\n                pbVar4 = param_2;\n                pbVar6 = (byte *)"ilp32";\n                do {\n                  if (iVar3 == 0) break;\n                  iVar3 = iVar3 + -1;\n                  bVar8 = *pbVar4 < *pbVar6;\n                  bVar7 = *pbVar4 == *pbVar6;\n                  pbVar4 = pbVar4 + 1;\n                  pbVar6 = pbVar6 + 1;\n                } while (bVar7);\n                bVar9 = false;\n                bVar7 = (!bVar8 && !bVar7) == bVar8;\n                if (bVar7) {\n                  DAT_00087d90 = DAT_00087d90 & 0xffffffef;\n                  return true;\n                }\n                iVar3 = 3;\n                pbVar4 = param_2;\n                pbVar6 = (byte *)0x5a287;\n                do {\n                  if (iVar3 == 0) break;\n                  iVar3 = iVar3 + -1;\n                  bVar9 = *pbVar4 < *pbVar6;\n                  bVar7 = *pbVar4 == *pbVar6;\n                  pbVar4 = pbVar4 + 1;\n                  pbVar6 = pbVar6 + 1;\n                } while (bVar7);\n                bVar8 = false;\n                bVar7 = (!bVar9 && !bVar7) == bVar9;\n                if (bVar7) {\n                  DAT_00087d90 = DAT_00087d90 & 0xfffffff7;\n                  DAT_00087dfc = 0;\n                  return true;\n                }\n                iVar3 = 3;\n                pbVar4 = param_2;\n                pbVar6 = &DAT_00063a90;\n                do {\n                  if (iVar3 == 0) break;\n                  iVar3 = iVar3 + -1;\n                  bVar8 = *pbVar4 < *pbVar6;\n                  bVar7 = *pbVar4 == *pbVar6;\n                  pbVar4 = pbVar4 + 1;\n                  pbVar6 = pbVar6 + 1;\n                } while (bVar7);\n                bVar9 = false;\n                bVar7 = (!bVar8 && !bVar7) == bVar8;\n                if (bVar7) {\n                  DAT_00087d90 = DAT_00087d90 | 8;\n                  DAT_00087dfc = 1;\n                  return true;\n                }\n                iVar3 = 0xd;\n                pbVar4 = param_2;\n                pbVar6 = (byte *)"unwind-check=";\n                do {\n                  if (iVar3 == 0) break;\n                  iVar3 = iVar3 + -1;\n                  bVar9 = *pbVar4 < *pbVar6;\n                  bVar7 = *pbVar4 == *pbVar6;\n                  pbVar4 = pbVar4 + 1;\n                  pbVar6 = pbVar6 + 1;\n                } while (bVar7);\n                if ((!bVar9 && !bVar7) == bVar9) {\n                  iVar3 = strcmp((char *)(param_2 + 0xd),"warning");\n                  if (iVar3 == 0) {\n                    DAT_00087974 = 0;\n                    return true;\n                  }\n                  iVar3 = strcmp((char *)(param_2 + 0xd),"error");\n                  if (iVar3 == 0) {\n                    DAT_00087974 = 1;\n                    return true;\n                  }\n                  return false;\n                }\n                iVar3 = strncmp((char *)param_2,"hint.b=",7);\n                if (iVar3 != 0) {\n                  iVar3 = strncmp((char *)param_2,"tune=",5);\n                  if (iVar3 != 0) {\n                    return false;\n                  }\n                  iVar3 = strcmp((char *)(param_2 + 5),"itanium1");\n                  if (iVar3 != 0) {\n                    iVar3 = strcmp((char *)(param_2 + 5),"itanium2");\n                    if (iVar3 == 0) {\n                      DAT_00087968 = 1;\n                      return true;\n                    }\n                    return false;\n                  }\n                  DAT_00087968 = 0;\n                  return true;\n                }\n                param_2 = param_2 + 7;\n                iVar3 = strcmp((char *)param_2,"ok");\n                if (iVar3 == 0) {\n                  DAT_0008796c = 2;\n                  return true;\n                }\n                iVar3 = strcmp((char *)param_2,"warning");\n                if (iVar3 != 0) {\n                  iVar3 = strcmp((char *)param_2,"error");\n                  if (iVar3 == 0) {\n                    DAT_0008796c = 0;\n                    return true;\n                  }\n                  return false;\n                }\n                DAT_0008796c = 1;\n                return true;\n              }\n            }\n          }\n          DAT_00087d90 = DAT_00087d90 | 0x10;\n          return true;\n        }\n      }" { (expression_statement "bVar7 = param_1 < 0x6d;" (assignment_expression "bVar7 = param_1 < 0x6d" identifier = (binary_expression "param_1 < 0x6d" identifier < number_literal)) ;) (expression_statement "bVar9 = param_1 == 0x6d;" (assignment_expression "bVar9 = param_1 == 0x6d" identifier = (binary_expression "param_1 == 0x6d" identifier == number_literal)) ;) (if_statement "if (bVar9) {\n          iVar3 = 6;\n          pbVar4 = param_2;\n          pbVar6 = &DAT_000639e8;\n          do {\n            if (iVar3 == 0) break;\n            iVar3 = iVar3 + -1;\n            bVar7 = *pbVar4 < *pbVar6;\n            bVar9 = *pbVar4 == *pbVar6;\n            pbVar4 = pbVar4 + 1;\n            pbVar6 = pbVar6 + 1;\n          } while (bVar9);\n          bVar8 = false;\n          bVar7 = (!bVar7 && !bVar9) == bVar7;\n          if (!bVar7) {\n            iVar3 = 5;\n            pbVar4 = param_2;\n            pbVar6 = &DAT_000639e9;\n            do {\n              if (iVar3 == 0) break;\n              iVar3 = iVar3 + -1;\n              bVar8 = *pbVar4 < *pbVar6;\n              bVar7 = *pbVar4 == *pbVar6;\n              pbVar4 = pbVar4 + 1;\n              pbVar6 = pbVar6 + 1;\n            } while (bVar7);\n            bVar9 = false;\n            bVar7 = (!bVar8 && !bVar7) == bVar8;\n            if (!bVar7) {\n              iVar3 = 4;\n              pbVar4 = param_2;\n              pbVar6 = &DAT_000639ea;\n              do {\n                if (iVar3 == 0) break;\n                iVar3 = iVar3 + -1;\n                bVar9 = *pbVar4 < *pbVar6;\n                bVar7 = *pbVar4 == *pbVar6;\n                pbVar4 = pbVar4 + 1;\n                pbVar6 = pbVar6 + 1;\n              } while (bVar7);\n              bVar8 = false;\n              bVar7 = (!bVar9 && !bVar7) == bVar9;\n              if (!bVar7) {\n                iVar3 = 6;\n                pbVar4 = param_2;\n                pbVar6 = (byte *)"ilp32";\n                do {\n                  if (iVar3 == 0) break;\n                  iVar3 = iVar3 + -1;\n                  bVar8 = *pbVar4 < *pbVar6;\n                  bVar7 = *pbVar4 == *pbVar6;\n                  pbVar4 = pbVar4 + 1;\n                  pbVar6 = pbVar6 + 1;\n                } while (bVar7);\n                bVar9 = false;\n                bVar7 = (!bVar8 && !bVar7) == bVar8;\n                if (bVar7) {\n                  DAT_00087d90 = DAT_00087d90 & 0xffffffef;\n                  return true;\n                }\n                iVar3 = 3;\n                pbVar4 = param_2;\n                pbVar6 = (byte *)0x5a287;\n                do {\n                  if (iVar3 == 0) break;\n                  iVar3 = iVar3 + -1;\n                  bVar9 = *pbVar4 < *pbVar6;\n                  bVar7 = *pbVar4 == *pbVar6;\n                  pbVar4 = pbVar4 + 1;\n                  pbVar6 = pbVar6 + 1;\n                } while (bVar7);\n                bVar8 = false;\n                bVar7 = (!bVar9 && !bVar7) == bVar9;\n                if (bVar7) {\n                  DAT_00087d90 = DAT_00087d90 & 0xfffffff7;\n                  DAT_00087dfc = 0;\n                  return true;\n                }\n                iVar3 = 3;\n                pbVar4 = param_2;\n                pbVar6 = &DAT_00063a90;\n                do {\n                  if (iVar3 == 0) break;\n                  iVar3 = iVar3 + -1;\n                  bVar8 = *pbVar4 < *pbVar6;\n                  bVar7 = *pbVar4 == *pbVar6;\n                  pbVar4 = pbVar4 + 1;\n                  pbVar6 = pbVar6 + 1;\n                } while (bVar7);\n                bVar9 = false;\n                bVar7 = (!bVar8 && !bVar7) == bVar8;\n                if (bVar7) {\n                  DAT_00087d90 = DAT_00087d90 | 8;\n                  DAT_00087dfc = 1;\n                  return true;\n                }\n                iVar3 = 0xd;\n                pbVar4 = param_2;\n                pbVar6 = (byte *)"unwind-check=";\n                do {\n                  if (iVar3 == 0) break;\n                  iVar3 = iVar3 + -1;\n                  bVar9 = *pbVar4 < *pbVar6;\n                  bVar7 = *pbVar4 == *pbVar6;\n                  pbVar4 = pbVar4 + 1;\n                  pbVar6 = pbVar6 + 1;\n                } while (bVar7);\n                if ((!bVar9 && !bVar7) == bVar9) {\n                  iVar3 = strcmp((char *)(param_2 + 0xd),"warning");\n                  if (iVar3 == 0) {\n                    DAT_00087974 = 0;\n                    return true;\n                  }\n                  iVar3 = strcmp((char *)(param_2 + 0xd),"error");\n                  if (iVar3 == 0) {\n                    DAT_00087974 = 1;\n                    return true;\n                  }\n                  return false;\n                }\n                iVar3 = strncmp((char *)param_2,"hint.b=",7);\n                if (iVar3 != 0) {\n                  iVar3 = strncmp((char *)param_2,"tune=",5);\n                  if (iVar3 != 0) {\n                    return false;\n                  }\n                  iVar3 = strcmp((char *)(param_2 + 5),"itanium1");\n                  if (iVar3 != 0) {\n                    iVar3 = strcmp((char *)(param_2 + 5),"itanium2");\n                    if (iVar3 == 0) {\n                      DAT_00087968 = 1;\n                      return true;\n                    }\n                    return false;\n                  }\n                  DAT_00087968 = 0;\n                  return true;\n                }\n                param_2 = param_2 + 7;\n                iVar3 = strcmp((char *)param_2,"ok");\n                if (iVar3 == 0) {\n                  DAT_0008796c = 2;\n                  return true;\n                }\n                iVar3 = strcmp((char *)param_2,"warning");\n                if (iVar3 != 0) {\n                  iVar3 = strcmp((char *)param_2,"error");\n                  if (iVar3 == 0) {\n                    DAT_0008796c = 0;\n                    return true;\n                  }\n                  return false;\n                }\n                DAT_0008796c = 1;\n                return true;\n              }\n            }\n          }\n          DAT_00087d90 = DAT_00087d90 | 0x10;\n          return true;\n        }" if (parenthesized_expression "(bVar9)" ( identifier )) (compound_statement "{\n          iVar3 = 6;\n          pbVar4 = param_2;\n          pbVar6 = &DAT_000639e8;\n          do {\n            if (iVar3 == 0) break;\n            iVar3 = iVar3 + -1;\n            bVar7 = *pbVar4 < *pbVar6;\n            bVar9 = *pbVar4 == *pbVar6;\n            pbVar4 = pbVar4 + 1;\n            pbVar6 = pbVar6 + 1;\n          } while (bVar9);\n          bVar8 = false;\n          bVar7 = (!bVar7 && !bVar9) == bVar7;\n          if (!bVar7) {\n            iVar3 = 5;\n            pbVar4 = param_2;\n            pbVar6 = &DAT_000639e9;\n            do {\n              if (iVar3 == 0) break;\n              iVar3 = iVar3 + -1;\n              bVar8 = *pbVar4 < *pbVar6;\n              bVar7 = *pbVar4 == *pbVar6;\n              pbVar4 = pbVar4 + 1;\n              pbVar6 = pbVar6 + 1;\n            } while (bVar7);\n            bVar9 = false;\n            bVar7 = (!bVar8 && !bVar7) == bVar8;\n            if (!bVar7) {\n              iVar3 = 4;\n              pbVar4 = param_2;\n              pbVar6 = &DAT_000639ea;\n              do {\n                if (iVar3 == 0) break;\n                iVar3 = iVar3 + -1;\n                bVar9 = *pbVar4 < *pbVar6;\n                bVar7 = *pbVar4 == *pbVar6;\n                pbVar4 = pbVar4 + 1;\n                pbVar6 = pbVar6 + 1;\n              } while (bVar7);\n              bVar8 = false;\n              bVar7 = (!bVar9 && !bVar7) == bVar9;\n              if (!bVar7) {\n                iVar3 = 6;\n                pbVar4 = param_2;\n                pbVar6 = (byte *)"ilp32";\n                do {\n                  if (iVar3 == 0) break;\n                  iVar3 = iVar3 + -1;\n                  bVar8 = *pbVar4 < *pbVar6;\n                  bVar7 = *pbVar4 == *pbVar6;\n                  pbVar4 = pbVar4 + 1;\n                  pbVar6 = pbVar6 + 1;\n                } while (bVar7);\n                bVar9 = false;\n                bVar7 = (!bVar8 && !bVar7) == bVar8;\n                if (bVar7) {\n                  DAT_00087d90 = DAT_00087d90 & 0xffffffef;\n                  return true;\n                }\n                iVar3 = 3;\n                pbVar4 = param_2;\n                pbVar6 = (byte *)0x5a287;\n                do {\n                  if (iVar3 == 0) break;\n                  iVar3 = iVar3 + -1;\n                  bVar9 = *pbVar4 < *pbVar6;\n                  bVar7 = *pbVar4 == *pbVar6;\n                  pbVar4 = pbVar4 + 1;\n                  pbVar6 = pbVar6 + 1;\n                } while (bVar7);\n                bVar8 = false;\n                bVar7 = (!bVar9 && !bVar7) == bVar9;\n                if (bVar7) {\n                  DAT_00087d90 = DAT_00087d90 & 0xfffffff7;\n                  DAT_00087dfc = 0;\n                  return true;\n                }\n                iVar3 = 3;\n                pbVar4 = param_2;\n                pbVar6 = &DAT_00063a90;\n                do {\n                  if (iVar3 == 0) break;\n                  iVar3 = iVar3 + -1;\n                  bVar8 = *pbVar4 < *pbVar6;\n                  bVar7 = *pbVar4 == *pbVar6;\n                  pbVar4 = pbVar4 + 1;\n                  pbVar6 = pbVar6 + 1;\n                } while (bVar7);\n                bVar9 = false;\n                bVar7 = (!bVar8 && !bVar7) == bVar8;\n                if (bVar7) {\n                  DAT_00087d90 = DAT_00087d90 | 8;\n                  DAT_00087dfc = 1;\n                  return true;\n                }\n                iVar3 = 0xd;\n                pbVar4 = param_2;\n                pbVar6 = (byte *)"unwind-check=";\n                do {\n                  if (iVar3 == 0) break;\n                  iVar3 = iVar3 + -1;\n                  bVar9 = *pbVar4 < *pbVar6;\n                  bVar7 = *pbVar4 == *pbVar6;\n                  pbVar4 = pbVar4 + 1;\n                  pbVar6 = pbVar6 + 1;\n                } while (bVar7);\n                if ((!bVar9 && !bVar7) == bVar9) {\n                  iVar3 = strcmp((char *)(param_2 + 0xd),"warning");\n                  if (iVar3 == 0) {\n                    DAT_00087974 = 0;\n                    return true;\n                  }\n                  iVar3 = strcmp((char *)(param_2 + 0xd),"error");\n                  if (iVar3 == 0) {\n                    DAT_00087974 = 1;\n                    return true;\n                  }\n                  return false;\n                }\n                iVar3 = strncmp((char *)param_2,"hint.b=",7);\n                if (iVar3 != 0) {\n                  iVar3 = strncmp((char *)param_2,"tune=",5);\n                  if (iVar3 != 0) {\n                    return false;\n                  }\n                  iVar3 = strcmp((char *)(param_2 + 5),"itanium1");\n                  if (iVar3 != 0) {\n                    iVar3 = strcmp((char *)(param_2 + 5),"itanium2");\n                    if (iVar3 == 0) {\n                      DAT_00087968 = 1;\n                      return true;\n                    }\n                    return false;\n                  }\n                  DAT_00087968 = 0;\n                  return true;\n                }\n                param_2 = param_2 + 7;\n                iVar3 = strcmp((char *)param_2,"ok");\n                if (iVar3 == 0) {\n                  DAT_0008796c = 2;\n                  return true;\n                }\n                iVar3 = strcmp((char *)param_2,"warning");\n                if (iVar3 != 0) {\n                  iVar3 = strcmp((char *)param_2,"error");\n                  if (iVar3 == 0) {\n                    DAT_0008796c = 0;\n                    return true;\n                  }\n                  return false;\n                }\n                DAT_0008796c = 1;\n                return true;\n              }\n            }\n          }\n          DAT_00087d90 = DAT_00087d90 | 0x10;\n          return true;\n        }" { (expression_statement "iVar3 = 6;" (assignment_expression "iVar3 = 6" identifier = number_literal) ;) (expression_statement "pbVar4 = param_2;" (assignment_expression "pbVar4 = param_2" identifier = identifier) ;) (expression_statement "pbVar6 = &DAT_000639e8;" (assignment_expression "pbVar6 = &DAT_000639e8" identifier = (pointer_expression "&DAT_000639e8" & identifier)) ;) (do_statement "do {\n            if (iVar3 == 0) break;\n            iVar3 = iVar3 + -1;\n            bVar7 = *pbVar4 < *pbVar6;\n            bVar9 = *pbVar4 == *pbVar6;\n            pbVar4 = pbVar4 + 1;\n            pbVar6 = pbVar6 + 1;\n          } while (bVar9);" do (compound_statement "{\n            if (iVar3 == 0) break;\n            iVar3 = iVar3 + -1;\n            bVar7 = *pbVar4 < *pbVar6;\n            bVar9 = *pbVar4 == *pbVar6;\n            pbVar4 = pbVar4 + 1;\n            pbVar6 = pbVar6 + 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 "bVar7 = *pbVar4 < *pbVar6;" (assignment_expression "bVar7 = *pbVar4 < *pbVar6" identifier = (binary_expression "*pbVar4 < *pbVar6" (pointer_expression "*pbVar4" * identifier) < (pointer_expression "*pbVar6" * identifier))) ;) (expression_statement "bVar9 = *pbVar4 == *pbVar6;" (assignment_expression "bVar9 = *pbVar4 == *pbVar6" identifier = (binary_expression "*pbVar4 == *pbVar6" (pointer_expression "*pbVar4" * identifier) == (pointer_expression "*pbVar6" * identifier))) ;) (expression_statement "pbVar4 = pbVar4 + 1;" (assignment_expression "pbVar4 = pbVar4 + 1" identifier = (binary_expression "pbVar4 + 1" identifier + number_literal)) ;) (expression_statement "pbVar6 = pbVar6 + 1;" (assignment_expression "pbVar6 = pbVar6 + 1" identifier = (binary_expression "pbVar6 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(bVar9)" ( identifier )) ;) (expression_statement "bVar8 = false;" (assignment_expression "bVar8 = false" identifier = false) ;) (expression_statement "bVar7 = (!bVar7 && !bVar9) == bVar7;" (assignment_expression "bVar7 = (!bVar7 && !bVar9) == bVar7" identifier = (binary_expression "(!bVar7 && !bVar9) == bVar7" (parenthesized_expression "(!bVar7 && !bVar9)" ( (binary_expression "!bVar7 && !bVar9" (unary_expression "!bVar7" ! identifier) && (unary_expression "!bVar9" ! identifier)) )) == identifier)) ;) (if_statement "if (!bVar7) {\n            iVar3 = 5;\n            pbVar4 = param_2;\n            pbVar6 = &DAT_000639e9;\n            do {\n              if (iVar3 == 0) break;\n              iVar3 = iVar3 + -1;\n              bVar8 = *pbVar4 < *pbVar6;\n              bVar7 = *pbVar4 == *pbVar6;\n              pbVar4 = pbVar4 + 1;\n              pbVar6 = pbVar6 + 1;\n            } while (bVar7);\n            bVar9 = false;\n            bVar7 = (!bVar8 && !bVar7) == bVar8;\n            if (!bVar7) {\n              iVar3 = 4;\n              pbVar4 = param_2;\n              pbVar6 = &DAT_000639ea;\n              do {\n                if (iVar3 == 0) break;\n                iVar3 = iVar3 + -1;\n                bVar9 = *pbVar4 < *pbVar6;\n                bVar7 = *pbVar4 == *pbVar6;\n                pbVar4 = pbVar4 + 1;\n                pbVar6 = pbVar6 + 1;\n              } while (bVar7);\n              bVar8 = false;\n              bVar7 = (!bVar9 && !bVar7) == bVar9;\n              if (!bVar7) {\n                iVar3 = 6;\n                pbVar4 = param_2;\n                pbVar6 = (byte *)"ilp32";\n                do {\n                  if (iVar3 == 0) break;\n                  iVar3 = iVar3 + -1;\n                  bVar8 = *pbVar4 < *pbVar6;\n                  bVar7 = *pbVar4 == *pbVar6;\n                  pbVar4 = pbVar4 + 1;\n                  pbVar6 = pbVar6 + 1;\n                } while (bVar7);\n                bVar9 = false;\n                bVar7 = (!bVar8 && !bVar7) == bVar8;\n                if (bVar7) {\n                  DAT_00087d90 = DAT_00087d90 & 0xffffffef;\n                  return true;\n                }\n                iVar3 = 3;\n                pbVar4 = param_2;\n                pbVar6 = (byte *)0x5a287;\n                do {\n                  if (iVar3 == 0) break;\n                  iVar3 = iVar3 + -1;\n                  bVar9 = *pbVar4 < *pbVar6;\n                  bVar7 = *pbVar4 == *pbVar6;\n                  pbVar4 = pbVar4 + 1;\n                  pbVar6 = pbVar6 + 1;\n                } while (bVar7);\n                bVar8 = false;\n                bVar7 = (!bVar9 && !bVar7) == bVar9;\n                if (bVar7) {\n                  DAT_00087d90 = DAT_00087d90 & 0xfffffff7;\n                  DAT_00087dfc = 0;\n                  return true;\n                }\n                iVar3 = 3;\n                pbVar4 = param_2;\n                pbVar6 = &DAT_00063a90;\n                do {\n                  if (iVar3 == 0) break;\n                  iVar3 = iVar3 + -1;\n                  bVar8 = *pbVar4 < *pbVar6;\n                  bVar7 = *pbVar4 == *pbVar6;\n                  pbVar4 = pbVar4 + 1;\n                  pbVar6 = pbVar6 + 1;\n                } while (bVar7);\n                bVar9 = false;\n                bVar7 = (!bVar8 && !bVar7) == bVar8;\n                if (bVar7) {\n                  DAT_00087d90 = DAT_00087d90 | 8;\n                  DAT_00087dfc = 1;\n                  return true;\n                }\n                iVar3 = 0xd;\n                pbVar4 = param_2;\n                pbVar6 = (byte *)"unwind-check=";\n                do {\n                  if (iVar3 == 0) break;\n                  iVar3 = iVar3 + -1;\n                  bVar9 = *pbVar4 < *pbVar6;\n                  bVar7 = *pbVar4 == *pbVar6;\n                  pbVar4 = pbVar4 + 1;\n                  pbVar6 = pbVar6 + 1;\n                } while (bVar7);\n                if ((!bVar9 && !bVar7) == bVar9) {\n                  iVar3 = strcmp((char *)(param_2 + 0xd),"warning");\n                  if (iVar3 == 0) {\n                    DAT_00087974 = 0;\n                    return true;\n                  }\n                  iVar3 = strcmp((char *)(param_2 + 0xd),"error");\n                  if (iVar3 == 0) {\n                    DAT_00087974 = 1;\n                    return true;\n                  }\n                  return false;\n                }\n                iVar3 = strncmp((char *)param_2,"hint.b=",7);\n                if (iVar3 != 0) {\n                  iVar3 = strncmp((char *)param_2,"tune=",5);\n                  if (iVar3 != 0) {\n                    return false;\n                  }\n                  iVar3 = strcmp((char *)(param_2 + 5),"itanium1");\n                  if (iVar3 != 0) {\n                    iVar3 = strcmp((char *)(param_2 + 5),"itanium2");\n                    if (iVar3 == 0) {\n                      DAT_00087968 = 1;\n                      return true;\n                    }\n                    return false;\n                  }\n                  DAT_00087968 = 0;\n                  return true;\n                }\n                param_2 = param_2 + 7;\n                iVar3 = strcmp((char *)param_2,"ok");\n                if (iVar3 == 0) {\n                  DAT_0008796c = 2;\n                  return true;\n                }\n                iVar3 = strcmp((char *)param_2,"warning");\n                if (iVar3 != 0) {\n                  iVar3 = strcmp((char *)param_2,"error");\n                  if (iVar3 == 0) {\n                    DAT_0008796c = 0;\n                    return true;\n                  }\n                  return false;\n                }\n                DAT_0008796c = 1;\n                return true;\n              }\n            }\n          }" if (parenthesized_expression "(!bVar7)" ( (unary_expression "!bVar7" ! identifier) )) (compound_statement "{\n            iVar3 = 5;\n            pbVar4 = param_2;\n            pbVar6 = &DAT_000639e9;\n            do {\n              if (iVar3 == 0) break;\n              iVar3 = iVar3 + -1;\n              bVar8 = *pbVar4 < *pbVar6;\n              bVar7 = *pbVar4 == *pbVar6;\n              pbVar4 = pbVar4 + 1;\n              pbVar6 = pbVar6 + 1;\n            } while (bVar7);\n            bVar9 = false;\n            bVar7 = (!bVar8 && !bVar7) == bVar8;\n            if (!bVar7) {\n              iVar3 = 4;\n              pbVar4 = param_2;\n              pbVar6 = &DAT_000639ea;\n              do {\n                if (iVar3 == 0) break;\n                iVar3 = iVar3 + -1;\n                bVar9 = *pbVar4 < *pbVar6;\n                bVar7 = *pbVar4 == *pbVar6;\n                pbVar4 = pbVar4 + 1;\n                pbVar6 = pbVar6 + 1;\n              } while (bVar7);\n              bVar8 = false;\n              bVar7 = (!bVar9 && !bVar7) == bVar9;\n              if (!bVar7) {\n                iVar3 = 6;\n                pbVar4 = param_2;\n                pbVar6 = (byte *)"ilp32";\n                do {\n                  if (iVar3 == 0) break;\n                  iVar3 = iVar3 + -1;\n                  bVar8 = *pbVar4 < *pbVar6;\n                  bVar7 = *pbVar4 == *pbVar6;\n                  pbVar4 = pbVar4 + 1;\n                  pbVar6 = pbVar6 + 1;\n                } while (bVar7);\n                bVar9 = false;\n                bVar7 = (!bVar8 && !bVar7) == bVar8;\n                if (bVar7) {\n                  DAT_00087d90 = DAT_00087d90 & 0xffffffef;\n                  return true;\n                }\n                iVar3 = 3;\n                pbVar4 = param_2;\n                pbVar6 = (byte *)0x5a287;\n                do {\n                  if (iVar3 == 0) break;\n                  iVar3 = iVar3 + -1;\n                  bVar9 = *pbVar4 < *pbVar6;\n                  bVar7 = *pbVar4 == *pbVar6;\n                  pbVar4 = pbVar4 + 1;\n                  pbVar6 = pbVar6 + 1;\n                } while (bVar7);\n                bVar8 = false;\n                bVar7 = (!bVar9 && !bVar7) == bVar9;\n                if (bVar7) {\n                  DAT_00087d90 = DAT_00087d90 & 0xfffffff7;\n                  DAT_00087dfc = 0;\n                  return true;\n                }\n                iVar3 = 3;\n                pbVar4 = param_2;\n                pbVar6 = &DAT_00063a90;\n                do {\n                  if (iVar3 == 0) break;\n                  iVar3 = iVar3 + -1;\n                  bVar8 = *pbVar4 < *pbVar6;\n                  bVar7 = *pbVar4 == *pbVar6;\n                  pbVar4 = pbVar4 + 1;\n                  pbVar6 = pbVar6 + 1;\n                } while (bVar7);\n                bVar9 = false;\n                bVar7 = (!bVar8 && !bVar7) == bVar8;\n                if (bVar7) {\n                  DAT_00087d90 = DAT_00087d90 | 8;\n                  DAT_00087dfc = 1;\n                  return true;\n                }\n                iVar3 = 0xd;\n                pbVar4 = param_2;\n                pbVar6 = (byte *)"unwind-check=";\n                do {\n                  if (iVar3 == 0) break;\n                  iVar3 = iVar3 + -1;\n                  bVar9 = *pbVar4 < *pbVar6;\n                  bVar7 = *pbVar4 == *pbVar6;\n                  pbVar4 = pbVar4 + 1;\n                  pbVar6 = pbVar6 + 1;\n                } while (bVar7);\n                if ((!bVar9 && !bVar7) == bVar9) {\n                  iVar3 = strcmp((char *)(param_2 + 0xd),"warning");\n                  if (iVar3 == 0) {\n                    DAT_00087974 = 0;\n                    return true;\n                  }\n                  iVar3 = strcmp((char *)(param_2 + 0xd),"error");\n                  if (iVar3 == 0) {\n                    DAT_00087974 = 1;\n                    return true;\n                  }\n                  return false;\n                }\n                iVar3 = strncmp((char *)param_2,"hint.b=",7);\n                if (iVar3 != 0) {\n                  iVar3 = strncmp((char *)param_2,"tune=",5);\n                  if (iVar3 != 0) {\n                    return false;\n                  }\n                  iVar3 = strcmp((char *)(param_2 + 5),"itanium1");\n                  if (iVar3 != 0) {\n                    iVar3 = strcmp((char *)(param_2 + 5),"itanium2");\n                    if (iVar3 == 0) {\n                      DAT_00087968 = 1;\n                      return true;\n                    }\n                    return false;\n                  }\n                  DAT_00087968 = 0;\n                  return true;\n                }\n                param_2 = param_2 + 7;\n                iVar3 = strcmp((char *)param_2,"ok");\n                if (iVar3 == 0) {\n                  DAT_0008796c = 2;\n                  return true;\n                }\n                iVar3 = strcmp((char *)param_2,"warning");\n                if (iVar3 != 0) {\n                  iVar3 = strcmp((char *)param_2,"error");\n                  if (iVar3 == 0) {\n                    DAT_0008796c = 0;\n                    return true;\n                  }\n                  return false;\n                }\n                DAT_0008796c = 1;\n                return true;\n              }\n            }\n          }" { (expression_statement "iVar3 = 5;" (assignment_expression "iVar3 = 5" identifier = number_literal) ;) (expression_statement "pbVar4 = param_2;" (assignment_expression "pbVar4 = param_2" identifier = identifier) ;) (expression_statement "pbVar6 = &DAT_000639e9;" (assignment_expression "pbVar6 = &DAT_000639e9" identifier = (pointer_expression "&DAT_000639e9" & identifier)) ;) (do_statement "do {\n              if (iVar3 == 0) break;\n              iVar3 = iVar3 + -1;\n              bVar8 = *pbVar4 < *pbVar6;\n              bVar7 = *pbVar4 == *pbVar6;\n              pbVar4 = pbVar4 + 1;\n              pbVar6 = pbVar6 + 1;\n            } while (bVar7);" do (compound_statement "{\n              if (iVar3 == 0) break;\n              iVar3 = iVar3 + -1;\n              bVar8 = *pbVar4 < *pbVar6;\n              bVar7 = *pbVar4 == *pbVar6;\n              pbVar4 = pbVar4 + 1;\n              pbVar6 = pbVar6 + 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 = *pbVar4 < *pbVar6;" (assignment_expression "bVar8 = *pbVar4 < *pbVar6" identifier = (binary_expression "*pbVar4 < *pbVar6" (pointer_expression "*pbVar4" * identifier) < (pointer_expression "*pbVar6" * identifier))) ;) (expression_statement "bVar7 = *pbVar4 == *pbVar6;" (assignment_expression "bVar7 = *pbVar4 == *pbVar6" identifier = (binary_expression "*pbVar4 == *pbVar6" (pointer_expression "*pbVar4" * identifier) == (pointer_expression "*pbVar6" * identifier))) ;) (expression_statement "pbVar4 = pbVar4 + 1;" (assignment_expression "pbVar4 = pbVar4 + 1" identifier = (binary_expression "pbVar4 + 1" identifier + number_literal)) ;) (expression_statement "pbVar6 = pbVar6 + 1;" (assignment_expression "pbVar6 = pbVar6 + 1" identifier = (binary_expression "pbVar6 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(bVar7)" ( identifier )) ;) (expression_statement "bVar9 = false;" (assignment_expression "bVar9 = false" identifier = false) ;) (expression_statement "bVar7 = (!bVar8 && !bVar7) == bVar8;" (assignment_expression "bVar7 = (!bVar8 && !bVar7) == bVar8" identifier = (binary_expression "(!bVar8 && !bVar7) == bVar8" (parenthesized_expression "(!bVar8 && !bVar7)" ( (binary_expression "!bVar8 && !bVar7" (unary_expression "!bVar8" ! identifier) && (unary_expression "!bVar7" ! identifier)) )) == identifier)) ;) (if_statement "if (!bVar7) {\n              iVar3 = 4;\n              pbVar4 = param_2;\n              pbVar6 = &DAT_000639ea;\n              do {\n                if (iVar3 == 0) break;\n                iVar3 = iVar3 + -1;\n                bVar9 = *pbVar4 < *pbVar6;\n                bVar7 = *pbVar4 == *pbVar6;\n                pbVar4 = pbVar4 + 1;\n                pbVar6 = pbVar6 + 1;\n              } while (bVar7);\n              bVar8 = false;\n              bVar7 = (!bVar9 && !bVar7) == bVar9;\n              if (!bVar7) {\n                iVar3 = 6;\n                pbVar4 = param_2;\n                pbVar6 = (byte *)"ilp32";\n                do {\n                  if (iVar3 == 0) break;\n                  iVar3 = iVar3 + -1;\n                  bVar8 = *pbVar4 < *pbVar6;\n                  bVar7 = *pbVar4 == *pbVar6;\n                  pbVar4 = pbVar4 + 1;\n                  pbVar6 = pbVar6 + 1;\n                } while (bVar7);\n                bVar9 = false;\n                bVar7 = (!bVar8 && !bVar7) == bVar8;\n                if (bVar7) {\n                  DAT_00087d90 = DAT_00087d90 & 0xffffffef;\n                  return true;\n                }\n                iVar3 = 3;\n                pbVar4 = param_2;\n                pbVar6 = (byte *)0x5a287;\n                do {\n                  if (iVar3 == 0) break;\n                  iVar3 = iVar3 + -1;\n                  bVar9 = *pbVar4 < *pbVar6;\n                  bVar7 = *pbVar4 == *pbVar6;\n                  pbVar4 = pbVar4 + 1;\n                  pbVar6 = pbVar6 + 1;\n                } while (bVar7);\n                bVar8 = false;\n                bVar7 = (!bVar9 && !bVar7) == bVar9;\n                if (bVar7) {\n                  DAT_00087d90 = DAT_00087d90 & 0xfffffff7;\n                  DAT_00087dfc = 0;\n                  return true;\n                }\n                iVar3 = 3;\n                pbVar4 = param_2;\n                pbVar6 = &DAT_00063a90;\n                do {\n                  if (iVar3 == 0) break;\n                  iVar3 = iVar3 + -1;\n                  bVar8 = *pbVar4 < *pbVar6;\n                  bVar7 = *pbVar4 == *pbVar6;\n                  pbVar4 = pbVar4 + 1;\n                  pbVar6 = pbVar6 + 1;\n                } while (bVar7);\n                bVar9 = false;\n                bVar7 = (!bVar8 && !bVar7) == bVar8;\n                if (bVar7) {\n                  DAT_00087d90 = DAT_00087d90 | 8;\n                  DAT_00087dfc = 1;\n                  return true;\n                }\n                iVar3 = 0xd;\n                pbVar4 = param_2;\n                pbVar6 = (byte *)"unwind-check=";\n                do {\n                  if (iVar3 == 0) break;\n                  iVar3 = iVar3 + -1;\n                  bVar9 = *pbVar4 < *pbVar6;\n                  bVar7 = *pbVar4 == *pbVar6;\n                  pbVar4 = pbVar4 + 1;\n                  pbVar6 = pbVar6 + 1;\n                } while (bVar7);\n                if ((!bVar9 && !bVar7) == bVar9) {\n                  iVar3 = strcmp((char *)(param_2 + 0xd),"warning");\n                  if (iVar3 == 0) {\n                    DAT_00087974 = 0;\n                    return true;\n                  }\n                  iVar3 = strcmp((char *)(param_2 + 0xd),"error");\n                  if (iVar3 == 0) {\n                    DAT_00087974 = 1;\n                    return true;\n                  }\n                  return false;\n                }\n                iVar3 = strncmp((char *)param_2,"hint.b=",7);\n                if (iVar3 != 0) {\n                  iVar3 = strncmp((char *)param_2,"tune=",5);\n                  if (iVar3 != 0) {\n                    return false;\n                  }\n                  iVar3 = strcmp((char *)(param_2 + 5),"itanium1");\n                  if (iVar3 != 0) {\n                    iVar3 = strcmp((char *)(param_2 + 5),"itanium2");\n                    if (iVar3 == 0) {\n                      DAT_00087968 = 1;\n                      return true;\n                    }\n                    return false;\n                  }\n                  DAT_00087968 = 0;\n                  return true;\n                }\n                param_2 = param_2 + 7;\n                iVar3 = strcmp((char *)param_2,"ok");\n                if (iVar3 == 0) {\n                  DAT_0008796c = 2;\n                  return true;\n                }\n                iVar3 = strcmp((char *)param_2,"warning");\n                if (iVar3 != 0) {\n                  iVar3 = strcmp((char *)param_2,"error");\n                  if (iVar3 == 0) {\n                    DAT_0008796c = 0;\n                    return true;\n                  }\n                  return false;\n                }\n                DAT_0008796c = 1;\n                return true;\n              }\n            }" if (parenthesized_expression "(!bVar7)" ( (unary_expression "!bVar7" ! identifier) )) (compound_statement "{\n              iVar3 = 4;\n              pbVar4 = param_2;\n              pbVar6 = &DAT_000639ea;\n              do {\n                if (iVar3 == 0) break;\n                iVar3 = iVar3 + -1;\n                bVar9 = *pbVar4 < *pbVar6;\n                bVar7 = *pbVar4 == *pbVar6;\n                pbVar4 = pbVar4 + 1;\n                pbVar6 = pbVar6 + 1;\n              } while (bVar7);\n              bVar8 = false;\n              bVar7 = (!bVar9 && !bVar7) == bVar9;\n              if (!bVar7) {\n                iVar3 = 6;\n                pbVar4 = param_2;\n                pbVar6 = (byte *)"ilp32";\n                do {\n                  if (iVar3 == 0) break;\n                  iVar3 = iVar3 + -1;\n                  bVar8 = *pbVar4 < *pbVar6;\n                  bVar7 = *pbVar4 == *pbVar6;\n                  pbVar4 = pbVar4 + 1;\n                  pbVar6 = pbVar6 + 1;\n                } while (bVar7);\n                bVar9 = false;\n                bVar7 = (!bVar8 && !bVar7) == bVar8;\n                if (bVar7) {\n                  DAT_00087d90 = DAT_00087d90 & 0xffffffef;\n                  return true;\n                }\n                iVar3 = 3;\n                pbVar4 = param_2;\n                pbVar6 = (byte *)0x5a287;\n                do {\n                  if (iVar3 == 0) break;\n                  iVar3 = iVar3 + -1;\n                  bVar9 = *pbVar4 < *pbVar6;\n                  bVar7 = *pbVar4 == *pbVar6;\n                  pbVar4 = pbVar4 + 1;\n                  pbVar6 = pbVar6 + 1;\n                } while (bVar7);\n                bVar8 = false;\n                bVar7 = (!bVar9 && !bVar7) == bVar9;\n                if (bVar7) {\n                  DAT_00087d90 = DAT_00087d90 & 0xfffffff7;\n                  DAT_00087dfc = 0;\n                  return true;\n                }\n                iVar3 = 3;\n                pbVar4 = param_2;\n                pbVar6 = &DAT_00063a90;\n                do {\n                  if (iVar3 == 0) break;\n                  iVar3 = iVar3 + -1;\n                  bVar8 = *pbVar4 < *pbVar6;\n                  bVar7 = *pbVar4 == *pbVar6;\n                  pbVar4 = pbVar4 + 1;\n                  pbVar6 = pbVar6 + 1;\n                } while (bVar7);\n                bVar9 = false;\n                bVar7 = (!bVar8 && !bVar7) == bVar8;\n                if (bVar7) {\n                  DAT_00087d90 = DAT_00087d90 | 8;\n                  DAT_00087dfc = 1;\n                  return true;\n                }\n                iVar3 = 0xd;\n                pbVar4 = param_2;\n                pbVar6 = (byte *)"unwind-check=";\n                do {\n                  if (iVar3 == 0) break;\n                  iVar3 = iVar3 + -1;\n                  bVar9 = *pbVar4 < *pbVar6;\n                  bVar7 = *pbVar4 == *pbVar6;\n                  pbVar4 = pbVar4 + 1;\n                  pbVar6 = pbVar6 + 1;\n                } while (bVar7);\n                if ((!bVar9 && !bVar7) == bVar9) {\n                  iVar3 = strcmp((char *)(param_2 + 0xd),"warning");\n                  if (iVar3 == 0) {\n                    DAT_00087974 = 0;\n                    return true;\n                  }\n                  iVar3 = strcmp((char *)(param_2 + 0xd),"error");\n                  if (iVar3 == 0) {\n                    DAT_00087974 = 1;\n                    return true;\n                  }\n                  return false;\n                }\n                iVar3 = strncmp((char *)param_2,"hint.b=",7);\n                if (iVar3 != 0) {\n                  iVar3 = strncmp((char *)param_2,"tune=",5);\n                  if (iVar3 != 0) {\n                    return false;\n                  }\n                  iVar3 = strcmp((char *)(param_2 + 5),"itanium1");\n                  if (iVar3 != 0) {\n                    iVar3 = strcmp((char *)(param_2 + 5),"itanium2");\n                    if (iVar3 == 0) {\n                      DAT_00087968 = 1;\n                      return true;\n                    }\n                    return false;\n                  }\n                  DAT_00087968 = 0;\n                  return true;\n                }\n                param_2 = param_2 + 7;\n                iVar3 = strcmp((char *)param_2,"ok");\n                if (iVar3 == 0) {\n                  DAT_0008796c = 2;\n                  return true;\n                }\n                iVar3 = strcmp((char *)param_2,"warning");\n                if (iVar3 != 0) {\n                  iVar3 = strcmp((char *)param_2,"error");\n                  if (iVar3 == 0) {\n                    DAT_0008796c = 0;\n                    return true;\n                  }\n                  return false;\n                }\n                DAT_0008796c = 1;\n                return true;\n              }\n            }" { (expression_statement "iVar3 = 4;" (assignment_expression "iVar3 = 4" identifier = number_literal) ;) (expression_statement "pbVar4 = param_2;" (assignment_expression "pbVar4 = param_2" identifier = identifier) ;) (expression_statement "pbVar6 = &DAT_000639ea;" (assignment_expression "pbVar6 = &DAT_000639ea" identifier = (pointer_expression "&DAT_000639ea" & identifier)) ;) (do_statement "do {\n                if (iVar3 == 0) break;\n                iVar3 = iVar3 + -1;\n                bVar9 = *pbVar4 < *pbVar6;\n                bVar7 = *pbVar4 == *pbVar6;\n                pbVar4 = pbVar4 + 1;\n                pbVar6 = pbVar6 + 1;\n              } while (bVar7);" do (compound_statement "{\n                if (iVar3 == 0) break;\n                iVar3 = iVar3 + -1;\n                bVar9 = *pbVar4 < *pbVar6;\n                bVar7 = *pbVar4 == *pbVar6;\n                pbVar4 = pbVar4 + 1;\n                pbVar6 = pbVar6 + 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 = *pbVar4 < *pbVar6;" (assignment_expression "bVar9 = *pbVar4 < *pbVar6" identifier = (binary_expression "*pbVar4 < *pbVar6" (pointer_expression "*pbVar4" * identifier) < (pointer_expression "*pbVar6" * identifier))) ;) (expression_statement "bVar7 = *pbVar4 == *pbVar6;" (assignment_expression "bVar7 = *pbVar4 == *pbVar6" identifier = (binary_expression "*pbVar4 == *pbVar6" (pointer_expression "*pbVar4" * identifier) == (pointer_expression "*pbVar6" * identifier))) ;) (expression_statement "pbVar4 = pbVar4 + 1;" (assignment_expression "pbVar4 = pbVar4 + 1" identifier = (binary_expression "pbVar4 + 1" identifier + number_literal)) ;) (expression_statement "pbVar6 = pbVar6 + 1;" (assignment_expression "pbVar6 = pbVar6 + 1" identifier = (binary_expression "pbVar6 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(bVar7)" ( identifier )) ;) (expression_statement "bVar8 = false;" (assignment_expression "bVar8 = false" identifier = false) ;) (expression_statement "bVar7 = (!bVar9 && !bVar7) == bVar9;" (assignment_expression "bVar7 = (!bVar9 && !bVar7) == bVar9" identifier = (binary_expression "(!bVar9 && !bVar7) == bVar9" (parenthesized_expression "(!bVar9 && !bVar7)" ( (binary_expression "!bVar9 && !bVar7" (unary_expression "!bVar9" ! identifier) && (unary_expression "!bVar7" ! identifier)) )) == identifier)) ;) (if_statement "if (!bVar7) {\n                iVar3 = 6;\n                pbVar4 = param_2;\n                pbVar6 = (byte *)"ilp32";\n                do {\n                  if (iVar3 == 0) break;\n                  iVar3 = iVar3 + -1;\n                  bVar8 = *pbVar4 < *pbVar6;\n                  bVar7 = *pbVar4 == *pbVar6;\n                  pbVar4 = pbVar4 + 1;\n                  pbVar6 = pbVar6 + 1;\n                } while (bVar7);\n                bVar9 = false;\n                bVar7 = (!bVar8 && !bVar7) == bVar8;\n                if (bVar7) {\n                  DAT_00087d90 = DAT_00087d90 & 0xffffffef;\n                  return true;\n                }\n                iVar3 = 3;\n                pbVar4 = param_2;\n                pbVar6 = (byte *)0x5a287;\n                do {\n                  if (iVar3 == 0) break;\n                  iVar3 = iVar3 + -1;\n                  bVar9 = *pbVar4 < *pbVar6;\n                  bVar7 = *pbVar4 == *pbVar6;\n                  pbVar4 = pbVar4 + 1;\n                  pbVar6 = pbVar6 + 1;\n                } while (bVar7);\n                bVar8 = false;\n                bVar7 = (!bVar9 && !bVar7) == bVar9;\n                if (bVar7) {\n                  DAT_00087d90 = DAT_00087d90 & 0xfffffff7;\n                  DAT_00087dfc = 0;\n                  return true;\n                }\n                iVar3 = 3;\n                pbVar4 = param_2;\n                pbVar6 = &DAT_00063a90;\n                do {\n                  if (iVar3 == 0) break;\n                  iVar3 = iVar3 + -1;\n                  bVar8 = *pbVar4 < *pbVar6;\n                  bVar7 = *pbVar4 == *pbVar6;\n                  pbVar4 = pbVar4 + 1;\n                  pbVar6 = pbVar6 + 1;\n                } while (bVar7);\n                bVar9 = false;\n                bVar7 = (!bVar8 && !bVar7) == bVar8;\n                if (bVar7) {\n                  DAT_00087d90 = DAT_00087d90 | 8;\n                  DAT_00087dfc = 1;\n                  return true;\n                }\n                iVar3 = 0xd;\n                pbVar4 = param_2;\n                pbVar6 = (byte *)"unwind-check=";\n                do {\n                  if (iVar3 == 0) break;\n                  iVar3 = iVar3 + -1;\n                  bVar9 = *pbVar4 < *pbVar6;\n                  bVar7 = *pbVar4 == *pbVar6;\n                  pbVar4 = pbVar4 + 1;\n                  pbVar6 = pbVar6 + 1;\n                } while (bVar7);\n                if ((!bVar9 && !bVar7) == bVar9) {\n                  iVar3 = strcmp((char *)(param_2 + 0xd),"warning");\n                  if (iVar3 == 0) {\n                    DAT_00087974 = 0;\n                    return true;\n                  }\n                  iVar3 = strcmp((char *)(param_2 + 0xd),"error");\n                  if (iVar3 == 0) {\n                    DAT_00087974 = 1;\n                    return true;\n                  }\n                  return false;\n                }\n                iVar3 = strncmp((char *)param_2,"hint.b=",7);\n                if (iVar3 != 0) {\n                  iVar3 = strncmp((char *)param_2,"tune=",5);\n                  if (iVar3 != 0) {\n                    return false;\n                  }\n                  iVar3 = strcmp((char *)(param_2 + 5),"itanium1");\n                  if (iVar3 != 0) {\n                    iVar3 = strcmp((char *)(param_2 + 5),"itanium2");\n                    if (iVar3 == 0) {\n                      DAT_00087968 = 1;\n                      return true;\n                    }\n                    return false;\n                  }\n                  DAT_00087968 = 0;\n                  return true;\n                }\n                param_2 = param_2 + 7;\n                iVar3 = strcmp((char *)param_2,"ok");\n                if (iVar3 == 0) {\n                  DAT_0008796c = 2;\n                  return true;\n                }\n                iVar3 = strcmp((char *)param_2,"warning");\n                if (iVar3 != 0) {\n                  iVar3 = strcmp((char *)param_2,"error");\n                  if (iVar3 == 0) {\n                    DAT_0008796c = 0;\n                    return true;\n                  }\n                  return false;\n                }\n                DAT_0008796c = 1;\n                return true;\n              }" if (parenthesized_expression "(!bVar7)" ( (unary_expression "!bVar7" ! identifier) )) (compound_statement "{\n                iVar3 = 6;\n                pbVar4 = param_2;\n                pbVar6 = (byte *)"ilp32";\n                do {\n                  if (iVar3 == 0) break;\n                  iVar3 = iVar3 + -1;\n                  bVar8 = *pbVar4 < *pbVar6;\n                  bVar7 = *pbVar4 == *pbVar6;\n                  pbVar4 = pbVar4 + 1;\n                  pbVar6 = pbVar6 + 1;\n                } while (bVar7);\n                bVar9 = false;\n                bVar7 = (!bVar8 && !bVar7) == bVar8;\n                if (bVar7) {\n                  DAT_00087d90 = DAT_00087d90 & 0xffffffef;\n                  return true;\n                }\n                iVar3 = 3;\n                pbVar4 = param_2;\n                pbVar6 = (byte *)0x5a287;\n                do {\n                  if (iVar3 == 0) break;\n                  iVar3 = iVar3 + -1;\n                  bVar9 = *pbVar4 < *pbVar6;\n                  bVar7 = *pbVar4 == *pbVar6;\n                  pbVar4 = pbVar4 + 1;\n                  pbVar6 = pbVar6 + 1;\n                } while (bVar7);\n                bVar8 = false;\n                bVar7 = (!bVar9 && !bVar7) == bVar9;\n                if (bVar7) {\n                  DAT_00087d90 = DAT_00087d90 & 0xfffffff7;\n                  DAT_00087dfc = 0;\n                  return true;\n                }\n                iVar3 = 3;\n                pbVar4 = param_2;\n                pbVar6 = &DAT_00063a90;\n                do {\n                  if (iVar3 == 0) break;\n                  iVar3 = iVar3 + -1;\n                  bVar8 = *pbVar4 < *pbVar6;\n                  bVar7 = *pbVar4 == *pbVar6;\n                  pbVar4 = pbVar4 + 1;\n                  pbVar6 = pbVar6 + 1;\n                } while (bVar7);\n                bVar9 = false;\n                bVar7 = (!bVar8 && !bVar7) == bVar8;\n                if (bVar7) {\n                  DAT_00087d90 = DAT_00087d90 | 8;\n                  DAT_00087dfc = 1;\n                  return true;\n                }\n                iVar3 = 0xd;\n                pbVar4 = param_2;\n                pbVar6 = (byte *)"unwind-check=";\n                do {\n                  if (iVar3 == 0) break;\n                  iVar3 = iVar3 + -1;\n                  bVar9 = *pbVar4 < *pbVar6;\n                  bVar7 = *pbVar4 == *pbVar6;\n                  pbVar4 = pbVar4 + 1;\n                  pbVar6 = pbVar6 + 1;\n                } while (bVar7);\n                if ((!bVar9 && !bVar7) == bVar9) {\n                  iVar3 = strcmp((char *)(param_2 + 0xd),"warning");\n                  if (iVar3 == 0) {\n                    DAT_00087974 = 0;\n                    return true;\n                  }\n                  iVar3 = strcmp((char *)(param_2 + 0xd),"error");\n                  if (iVar3 == 0) {\n                    DAT_00087974 = 1;\n                    return true;\n                  }\n                  return false;\n                }\n                iVar3 = strncmp((char *)param_2,"hint.b=",7);\n                if (iVar3 != 0) {\n                  iVar3 = strncmp((char *)param_2,"tune=",5);\n                  if (iVar3 != 0) {\n                    return false;\n                  }\n                  iVar3 = strcmp((char *)(param_2 + 5),"itanium1");\n                  if (iVar3 != 0) {\n                    iVar3 = strcmp((char *)(param_2 + 5),"itanium2");\n                    if (iVar3 == 0) {\n                      DAT_00087968 = 1;\n                      return true;\n                    }\n                    return false;\n                  }\n                  DAT_00087968 = 0;\n                  return true;\n                }\n                param_2 = param_2 + 7;\n                iVar3 = strcmp((char *)param_2,"ok");\n                if (iVar3 == 0) {\n                  DAT_0008796c = 2;\n                  return true;\n                }\n                iVar3 = strcmp((char *)param_2,"warning");\n                if (iVar3 != 0) {\n                  iVar3 = strcmp((char *)param_2,"error");\n                  if (iVar3 == 0) {\n                    DAT_0008796c = 0;\n                    return true;\n                  }\n                  return false;\n                }\n                DAT_0008796c = 1;\n                return true;\n              }" { (expression_statement "iVar3 = 6;" (assignment_expression "iVar3 = 6" identifier = number_literal) ;) (expression_statement "pbVar4 = param_2;" (assignment_expression "pbVar4 = param_2" identifier = identifier) ;) (expression_statement "pbVar6 = (byte *)"ilp32";" (assignment_expression "pbVar6 = (byte *)"ilp32"" identifier = (cast_expression "(byte *)"ilp32"" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (string_literal ""ilp32"" " string_content "))) ;) (do_statement "do {\n                  if (iVar3 == 0) break;\n                  iVar3 = iVar3 + -1;\n                  bVar8 = *pbVar4 < *pbVar6;\n                  bVar7 = *pbVar4 == *pbVar6;\n                  pbVar4 = pbVar4 + 1;\n                  pbVar6 = pbVar6 + 1;\n                } while (bVar7);" do (compound_statement "{\n                  if (iVar3 == 0) break;\n                  iVar3 = iVar3 + -1;\n                  bVar8 = *pbVar4 < *pbVar6;\n                  bVar7 = *pbVar4 == *pbVar6;\n                  pbVar4 = pbVar4 + 1;\n                  pbVar6 = pbVar6 + 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 = *pbVar4 < *pbVar6;" (assignment_expression "bVar8 = *pbVar4 < *pbVar6" identifier = (binary_expression "*pbVar4 < *pbVar6" (pointer_expression "*pbVar4" * identifier) < (pointer_expression "*pbVar6" * identifier))) ;) (expression_statement "bVar7 = *pbVar4 == *pbVar6;" (assignment_expression "bVar7 = *pbVar4 == *pbVar6" identifier = (binary_expression "*pbVar4 == *pbVar6" (pointer_expression "*pbVar4" * identifier) == (pointer_expression "*pbVar6" * identifier))) ;) (expression_statement "pbVar4 = pbVar4 + 1;" (assignment_expression "pbVar4 = pbVar4 + 1" identifier = (binary_expression "pbVar4 + 1" identifier + number_literal)) ;) (expression_statement "pbVar6 = pbVar6 + 1;" (assignment_expression "pbVar6 = pbVar6 + 1" identifier = (binary_expression "pbVar6 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(bVar7)" ( identifier )) ;) (expression_statement "bVar9 = false;" (assignment_expression "bVar9 = false" identifier = false) ;) (expression_statement "bVar7 = (!bVar8 && !bVar7) == bVar8;" (assignment_expression "bVar7 = (!bVar8 && !bVar7) == bVar8" identifier = (binary_expression "(!bVar8 && !bVar7) == bVar8" (parenthesized_expression "(!bVar8 && !bVar7)" ( (binary_expression "!bVar8 && !bVar7" (unary_expression "!bVar8" ! identifier) && (unary_expression "!bVar7" ! identifier)) )) == identifier)) ;) (if_statement "if (bVar7) {\n                  DAT_00087d90 = DAT_00087d90 & 0xffffffef;\n                  return true;\n                }" if (parenthesized_expression "(bVar7)" ( identifier )) (compound_statement "{\n                  DAT_00087d90 = DAT_00087d90 & 0xffffffef;\n                  return true;\n                }" { (expression_statement "DAT_00087d90 = DAT_00087d90 & 0xffffffef;" (assignment_expression "DAT_00087d90 = DAT_00087d90 & 0xffffffef" identifier = (binary_expression "DAT_00087d90 & 0xffffffef" identifier & number_literal)) ;) (return_statement "return true;" return true ;) })) (expression_statement "iVar3 = 3;" (assignment_expression "iVar3 = 3" identifier = number_literal) ;) (expression_statement "pbVar4 = param_2;" (assignment_expression "pbVar4 = param_2" identifier = identifier) ;) (expression_statement "pbVar6 = (byte *)0x5a287;" (assignment_expression "pbVar6 = (byte *)0x5a287" identifier = (cast_expression "(byte *)0x5a287" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (do_statement "do {\n                  if (iVar3 == 0) break;\n                  iVar3 = iVar3 + -1;\n                  bVar9 = *pbVar4 < *pbVar6;\n                  bVar7 = *pbVar4 == *pbVar6;\n                  pbVar4 = pbVar4 + 1;\n                  pbVar6 = pbVar6 + 1;\n                } while (bVar7);" do (compound_statement "{\n                  if (iVar3 == 0) break;\n                  iVar3 = iVar3 + -1;\n                  bVar9 = *pbVar4 < *pbVar6;\n                  bVar7 = *pbVar4 == *pbVar6;\n                  pbVar4 = pbVar4 + 1;\n                  pbVar6 = pbVar6 + 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 = *pbVar4 < *pbVar6;" (assignment_expression "bVar9 = *pbVar4 < *pbVar6" identifier = (binary_expression "*pbVar4 < *pbVar6" (pointer_expression "*pbVar4" * identifier) < (pointer_expression "*pbVar6" * identifier))) ;) (expression_statement "bVar7 = *pbVar4 == *pbVar6;" (assignment_expression "bVar7 = *pbVar4 == *pbVar6" identifier = (binary_expression "*pbVar4 == *pbVar6" (pointer_expression "*pbVar4" * identifier) == (pointer_expression "*pbVar6" * identifier))) ;) (expression_statement "pbVar4 = pbVar4 + 1;" (assignment_expression "pbVar4 = pbVar4 + 1" identifier = (binary_expression "pbVar4 + 1" identifier + number_literal)) ;) (expression_statement "pbVar6 = pbVar6 + 1;" (assignment_expression "pbVar6 = pbVar6 + 1" identifier = (binary_expression "pbVar6 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(bVar7)" ( identifier )) ;) (expression_statement "bVar8 = false;" (assignment_expression "bVar8 = false" identifier = false) ;) (expression_statement "bVar7 = (!bVar9 && !bVar7) == bVar9;" (assignment_expression "bVar7 = (!bVar9 && !bVar7) == bVar9" identifier = (binary_expression "(!bVar9 && !bVar7) == bVar9" (parenthesized_expression "(!bVar9 && !bVar7)" ( (binary_expression "!bVar9 && !bVar7" (unary_expression "!bVar9" ! identifier) && (unary_expression "!bVar7" ! identifier)) )) == identifier)) ;) (if_statement "if (bVar7) {\n                  DAT_00087d90 = DAT_00087d90 & 0xfffffff7;\n                  DAT_00087dfc = 0;\n                  return true;\n                }" if (parenthesized_expression "(bVar7)" ( identifier )) (compound_statement "{\n                  DAT_00087d90 = DAT_00087d90 & 0xfffffff7;\n                  DAT_00087dfc = 0;\n                  return true;\n                }" { (expression_statement "DAT_00087d90 = DAT_00087d90 & 0xfffffff7;" (assignment_expression "DAT_00087d90 = DAT_00087d90 & 0xfffffff7" identifier = (binary_expression "DAT_00087d90 & 0xfffffff7" identifier & number_literal)) ;) (expression_statement "DAT_00087dfc = 0;" (assignment_expression "DAT_00087dfc = 0" identifier = number_literal) ;) (return_statement "return true;" return true ;) })) (expression_statement "iVar3 = 3;" (assignment_expression "iVar3 = 3" identifier = number_literal) ;) (expression_statement "pbVar4 = param_2;" (assignment_expression "pbVar4 = param_2" identifier = identifier) ;) (expression_statement "pbVar6 = &DAT_00063a90;" (assignment_expression "pbVar6 = &DAT_00063a90" identifier = (pointer_expression "&DAT_00063a90" & identifier)) ;) (do_statement "do {\n                  if (iVar3 == 0) break;\n                  iVar3 = iVar3 + -1;\n                  bVar8 = *pbVar4 < *pbVar6;\n                  bVar7 = *pbVar4 == *pbVar6;\n                  pbVar4 = pbVar4 + 1;\n                  pbVar6 = pbVar6 + 1;\n                } while (bVar7);" do (compound_statement "{\n                  if (iVar3 == 0) break;\n                  iVar3 = iVar3 + -1;\n                  bVar8 = *pbVar4 < *pbVar6;\n                  bVar7 = *pbVar4 == *pbVar6;\n                  pbVar4 = pbVar4 + 1;\n                  pbVar6 = pbVar6 + 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 = *pbVar4 < *pbVar6;" (assignment_expression "bVar8 = *pbVar4 < *pbVar6" identifier = (binary_expression "*pbVar4 < *pbVar6" (pointer_expression "*pbVar4" * identifier) < (pointer_expression "*pbVar6" * identifier))) ;) (expression_statement "bVar7 = *pbVar4 == *pbVar6;" (assignment_expression "bVar7 = *pbVar4 == *pbVar6" identifier = (binary_expression "*pbVar4 == *pbVar6" (pointer_expression "*pbVar4" * identifier) == (pointer_expression "*pbVar6" * identifier))) ;) (expression_statement "pbVar4 = pbVar4 + 1;" (assignment_expression "pbVar4 = pbVar4 + 1" identifier = (binary_expression "pbVar4 + 1" identifier + number_literal)) ;) (expression_statement "pbVar6 = pbVar6 + 1;" (assignment_expression "pbVar6 = pbVar6 + 1" identifier = (binary_expression "pbVar6 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(bVar7)" ( identifier )) ;) (expression_statement "bVar9 = false;" (assignment_expression "bVar9 = false" identifier = false) ;) (expression_statement "bVar7 = (!bVar8 && !bVar7) == bVar8;" (assignment_expression "bVar7 = (!bVar8 && !bVar7) == bVar8" identifier = (binary_expression "(!bVar8 && !bVar7) == bVar8" (parenthesized_expression "(!bVar8 && !bVar7)" ( (binary_expression "!bVar8 && !bVar7" (unary_expression "!bVar8" ! identifier) && (unary_expression "!bVar7" ! identifier)) )) == identifier)) ;) (if_statement "if (bVar7) {\n                  DAT_00087d90 = DAT_00087d90 | 8;\n                  DAT_00087dfc = 1;\n                  return true;\n                }" if (parenthesized_expression "(bVar7)" ( identifier )) (compound_statement "{\n                  DAT_00087d90 = DAT_00087d90 | 8;\n                  DAT_00087dfc = 1;\n                  return true;\n                }" { (expression_statement "DAT_00087d90 = DAT_00087d90 | 8;" (assignment_expression "DAT_00087d90 = DAT_00087d90 | 8" identifier = (binary_expression "DAT_00087d90 | 8" identifier | number_literal)) ;) (expression_statement "DAT_00087dfc = 1;" (assignment_expression "DAT_00087dfc = 1" identifier = number_literal) ;) (return_statement "return true;" return true ;) })) (expression_statement "iVar3 = 0xd;" (assignment_expression "iVar3 = 0xd" identifier = number_literal) ;) (expression_statement "pbVar4 = param_2;" (assignment_expression "pbVar4 = param_2" identifier = identifier) ;) (expression_statement "pbVar6 = (byte *)"unwind-check=";" (assignment_expression "pbVar6 = (byte *)"unwind-check="" identifier = (cast_expression "(byte *)"unwind-check="" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (string_literal ""unwind-check="" " string_content "))) ;) (do_statement "do {\n                  if (iVar3 == 0) break;\n                  iVar3 = iVar3 + -1;\n                  bVar9 = *pbVar4 < *pbVar6;\n                  bVar7 = *pbVar4 == *pbVar6;\n                  pbVar4 = pbVar4 + 1;\n                  pbVar6 = pbVar6 + 1;\n                } while (bVar7);" do (compound_statement "{\n                  if (iVar3 == 0) break;\n                  iVar3 = iVar3 + -1;\n                  bVar9 = *pbVar4 < *pbVar6;\n                  bVar7 = *pbVar4 == *pbVar6;\n                  pbVar4 = pbVar4 + 1;\n                  pbVar6 = pbVar6 + 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 = *pbVar4 < *pbVar6;" (assignment_expression "bVar9 = *pbVar4 < *pbVar6" identifier = (binary_expression "*pbVar4 < *pbVar6" (pointer_expression "*pbVar4" * identifier) < (pointer_expression "*pbVar6" * identifier))) ;) (expression_statement "bVar7 = *pbVar4 == *pbVar6;" (assignment_expression "bVar7 = *pbVar4 == *pbVar6" identifier = (binary_expression "*pbVar4 == *pbVar6" (pointer_expression "*pbVar4" * identifier) == (pointer_expression "*pbVar6" * identifier))) ;) (expression_statement "pbVar4 = pbVar4 + 1;" (assignment_expression "pbVar4 = pbVar4 + 1" identifier = (binary_expression "pbVar4 + 1" identifier + number_literal)) ;) (expression_statement "pbVar6 = pbVar6 + 1;" (assignment_expression "pbVar6 = pbVar6 + 1" identifier = (binary_expression "pbVar6 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(bVar7)" ( identifier )) ;) (if_statement "if ((!bVar9 && !bVar7) == bVar9) {\n                  iVar3 = strcmp((char *)(param_2 + 0xd),"warning");\n                  if (iVar3 == 0) {\n                    DAT_00087974 = 0;\n                    return true;\n                  }\n                  iVar3 = strcmp((char *)(param_2 + 0xd),"error");\n                  if (iVar3 == 0) {\n                    DAT_00087974 = 1;\n                    return true;\n                  }\n                  return false;\n                }" if (parenthesized_expression "((!bVar9 && !bVar7) == bVar9)" ( (binary_expression "(!bVar9 && !bVar7) == bVar9" (parenthesized_expression "(!bVar9 && !bVar7)" ( (binary_expression "!bVar9 && !bVar7" (unary_expression "!bVar9" ! identifier) && (unary_expression "!bVar7" ! identifier)) )) == identifier) )) (compound_statement "{\n                  iVar3 = strcmp((char *)(param_2 + 0xd),"warning");\n                  if (iVar3 == 0) {\n                    DAT_00087974 = 0;\n                    return true;\n                  }\n                  iVar3 = strcmp((char *)(param_2 + 0xd),"error");\n                  if (iVar3 == 0) {\n                    DAT_00087974 = 1;\n                    return true;\n                  }\n                  return false;\n                }" { (expression_statement "iVar3 = strcmp((char *)(param_2 + 0xd),"warning");" (assignment_expression "iVar3 = strcmp((char *)(param_2 + 0xd),"warning")" identifier = (call_expression "strcmp((char *)(param_2 + 0xd),"warning")" identifier (argument_list "((char *)(param_2 + 0xd),"warning")" ( (cast_expression "(char *)(param_2 + 0xd)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 0xd)" ( (binary_expression "param_2 + 0xd" identifier + number_literal) ))) , (string_literal ""warning"" " string_content ") )))) ;) (if_statement "if (iVar3 == 0) {\n                    DAT_00087974 = 0;\n                    return true;\n                  }" if (parenthesized_expression "(iVar3 == 0)" ( (binary_expression "iVar3 == 0" identifier == number_literal) )) (compound_statement "{\n                    DAT_00087974 = 0;\n                    return true;\n                  }" { (expression_statement "DAT_00087974 = 0;" (assignment_expression "DAT_00087974 = 0" identifier = number_literal) ;) (return_statement "return true;" return true ;) })) (expression_statement "iVar3 = strcmp((char *)(param_2 + 0xd),"error");" (assignment_expression "iVar3 = strcmp((char *)(param_2 + 0xd),"error")" identifier = (call_expression "strcmp((char *)(param_2 + 0xd),"error")" identifier (argument_list "((char *)(param_2 + 0xd),"error")" ( (cast_expression "(char *)(param_2 + 0xd)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 0xd)" ( (binary_expression "param_2 + 0xd" identifier + number_literal) ))) , (string_literal ""error"" " string_content ") )))) ;) (if_statement "if (iVar3 == 0) {\n                    DAT_00087974 = 1;\n                    return true;\n                  }" if (parenthesized_expression "(iVar3 == 0)" ( (binary_expression "iVar3 == 0" identifier == number_literal) )) (compound_statement "{\n                    DAT_00087974 = 1;\n                    return true;\n                  }" { (expression_statement "DAT_00087974 = 1;" (assignment_expression "DAT_00087974 = 1" identifier = number_literal) ;) (return_statement "return true;" return true ;) })) (return_statement "return false;" return false ;) })) (expression_statement "iVar3 = strncmp((char *)param_2,"hint.b=",7);" (assignment_expression "iVar3 = strncmp((char *)param_2,"hint.b=",7)" identifier = (call_expression "strncmp((char *)param_2,"hint.b=",7)" identifier (argument_list "((char *)param_2,"hint.b=",7)" ( (cast_expression "(char *)param_2" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) , (string_literal ""hint.b="" " string_content ") , number_literal )))) ;) (if_statement "if (iVar3 != 0) {\n                  iVar3 = strncmp((char *)param_2,"tune=",5);\n                  if (iVar3 != 0) {\n                    return false;\n                  }\n                  iVar3 = strcmp((char *)(param_2 + 5),"itanium1");\n                  if (iVar3 != 0) {\n                    iVar3 = strcmp((char *)(param_2 + 5),"itanium2");\n                    if (iVar3 == 0) {\n                      DAT_00087968 = 1;\n                      return true;\n                    }\n                    return false;\n                  }\n                  DAT_00087968 = 0;\n                  return true;\n                }" if (parenthesized_expression "(iVar3 != 0)" ( (binary_expression "iVar3 != 0" identifier != number_literal) )) (compound_statement "{\n                  iVar3 = strncmp((char *)param_2,"tune=",5);\n                  if (iVar3 != 0) {\n                    return false;\n                  }\n                  iVar3 = strcmp((char *)(param_2 + 5),"itanium1");\n                  if (iVar3 != 0) {\n                    iVar3 = strcmp((char *)(param_2 + 5),"itanium2");\n                    if (iVar3 == 0) {\n                      DAT_00087968 = 1;\n                      return true;\n                    }\n                    return false;\n                  }\n                  DAT_00087968 = 0;\n                  return true;\n                }" { (expression_statement "iVar3 = strncmp((char *)param_2,"tune=",5);" (assignment_expression "iVar3 = strncmp((char *)param_2,"tune=",5)" identifier = (call_expression "strncmp((char *)param_2,"tune=",5)" identifier (argument_list "((char *)param_2,"tune=",5)" ( (cast_expression "(char *)param_2" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) , (string_literal ""tune="" " string_content ") , number_literal )))) ;) (if_statement "if (iVar3 != 0) {\n                    return false;\n                  }" if (parenthesized_expression "(iVar3 != 0)" ( (binary_expression "iVar3 != 0" identifier != number_literal) )) (compound_statement "{\n                    return false;\n                  }" { (return_statement "return false;" return false ;) })) (expression_statement "iVar3 = strcmp((char *)(param_2 + 5),"itanium1");" (assignment_expression "iVar3 = strcmp((char *)(param_2 + 5),"itanium1")" identifier = (call_expression "strcmp((char *)(param_2 + 5),"itanium1")" identifier (argument_list "((char *)(param_2 + 5),"itanium1")" ( (cast_expression "(char *)(param_2 + 5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 5)" ( (binary_expression "param_2 + 5" identifier + number_literal) ))) , (string_literal ""itanium1"" " string_content ") )))) ;) (if_statement "if (iVar3 != 0) {\n                    iVar3 = strcmp((char *)(param_2 + 5),"itanium2");\n                    if (iVar3 == 0) {\n                      DAT_00087968 = 1;\n                      return true;\n                    }\n                    return false;\n                  }" if (parenthesized_expression "(iVar3 != 0)" ( (binary_expression "iVar3 != 0" identifier != number_literal) )) (compound_statement "{\n                    iVar3 = strcmp((char *)(param_2 + 5),"itanium2");\n                    if (iVar3 == 0) {\n                      DAT_00087968 = 1;\n                      return true;\n                    }\n                    return false;\n                  }" { (expression_statement "iVar3 = strcmp((char *)(param_2 + 5),"itanium2");" (assignment_expression "iVar3 = strcmp((char *)(param_2 + 5),"itanium2")" identifier = (call_expression "strcmp((char *)(param_2 + 5),"itanium2")" identifier (argument_list "((char *)(param_2 + 5),"itanium2")" ( (cast_expression "(char *)(param_2 + 5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 5)" ( (binary_expression "param_2 + 5" identifier + number_literal) ))) , (string_literal ""itanium2"" " string_content ") )))) ;) (if_statement "if (iVar3 == 0) {\n                      DAT_00087968 = 1;\n                      return true;\n                    }" if (parenthesized_expression "(iVar3 == 0)" ( (binary_expression "iVar3 == 0" identifier == number_literal) )) (compound_statement "{\n                      DAT_00087968 = 1;\n                      return true;\n                    }" { (expression_statement "DAT_00087968 = 1;" (assignment_expression "DAT_00087968 = 1" identifier = number_literal) ;) (return_statement "return true;" return true ;) })) (return_statement "return false;" return false ;) })) (expression_statement "DAT_00087968 = 0;" (assignment_expression "DAT_00087968 = 0" identifier = number_literal) ;) (return_statement "return true;" return true ;) })) (expression_statement "param_2 = param_2 + 7;" (assignment_expression "param_2 = param_2 + 7" identifier = (binary_expression "param_2 + 7" identifier + number_literal)) ;) (expression_statement "iVar3 = strcmp((char *)param_2,"ok");" (assignment_expression "iVar3 = strcmp((char *)param_2,"ok")" identifier = (call_expression "strcmp((char *)param_2,"ok")" identifier (argument_list "((char *)param_2,"ok")" ( (cast_expression "(char *)param_2" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) , (string_literal ""ok"" " string_content ") )))) ;) (if_statement "if (iVar3 == 0) {\n                  DAT_0008796c = 2;\n                  return true;\n                }" if (parenthesized_expression "(iVar3 == 0)" ( (binary_expression "iVar3 == 0" identifier == number_literal) )) (compound_statement "{\n                  DAT_0008796c = 2;\n                  return true;\n                }" { (expression_statement "DAT_0008796c = 2;" (assignment_expression "DAT_0008796c = 2" identifier = number_literal) ;) (return_statement "return true;" return true ;) })) (expression_statement "iVar3 = strcmp((char *)param_2,"warning");" (assignment_expression "iVar3 = strcmp((char *)param_2,"warning")" identifier = (call_expression "strcmp((char *)param_2,"warning")" identifier (argument_list "((char *)param_2,"warning")" ( (cast_expression "(char *)param_2" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) , (string_literal ""warning"" " string_content ") )))) ;) (if_statement "if (iVar3 != 0) {\n                  iVar3 = strcmp((char *)param_2,"error");\n                  if (iVar3 == 0) {\n                    DAT_0008796c = 0;\n                    return true;\n                  }\n                  return false;\n                }" if (parenthesized_expression "(iVar3 != 0)" ( (binary_expression "iVar3 != 0" identifier != number_literal) )) (compound_statement "{\n                  iVar3 = strcmp((char *)param_2,"error");\n                  if (iVar3 == 0) {\n                    DAT_0008796c = 0;\n                    return true;\n                  }\n                  return false;\n                }" { (expression_statement "iVar3 = strcmp((char *)param_2,"error");" (assignment_expression "iVar3 = strcmp((char *)param_2,"error")" identifier = (call_expression "strcmp((char *)param_2,"error")" identifier (argument_list "((char *)param_2,"error")" ( (cast_expression "(char *)param_2" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) , (string_literal ""error"" " string_content ") )))) ;) (if_statement "if (iVar3 == 0) {\n                    DAT_0008796c = 0;\n                    return true;\n                  }" if (parenthesized_expression "(iVar3 == 0)" ( (binary_expression "iVar3 == 0" identifier == number_literal) )) (compound_statement "{\n                    DAT_0008796c = 0;\n                    return true;\n                  }" { (expression_statement "DAT_0008796c = 0;" (assignment_expression "DAT_0008796c = 0" identifier = number_literal) ;) (return_statement "return true;" return true ;) })) (return_statement "return false;" return false ;) })) (expression_statement "DAT_0008796c = 1;" (assignment_expression "DAT_0008796c = 1" identifier = number_literal) ;) (return_statement "return true;" return true ;) })) })) })) (expression_statement "DAT_00087d90 = DAT_00087d90 | 0x10;" (assignment_expression "DAT_00087d90 = DAT_00087d90 | 0x10" identifier = (binary_expression "DAT_00087d90 | 0x10" identifier | number_literal)) ;) (return_statement "return true;" return true ;) })) }) (else_clause "else {\n        if (param_1 == 0x123) {\n          DAT_00087d90 = DAT_00087d90 | 0x40;\n          return true;\n        }\n        if (param_1 == 0x124) {\n          DAT_00087d90 = DAT_00087d90 | 0x80;\n          return true;\n        }\n      }" else (compound_statement "{\n        if (param_1 == 0x123) {\n          DAT_00087d90 = DAT_00087d90 | 0x40;\n          return true;\n        }\n        if (param_1 == 0x124) {\n          DAT_00087d90 = DAT_00087d90 | 0x80;\n          return true;\n        }\n      }" { (if_statement "if (param_1 == 0x123) {\n          DAT_00087d90 = DAT_00087d90 | 0x40;\n          return true;\n        }" if (parenthesized_expression "(param_1 == 0x123)" ( (binary_expression "param_1 == 0x123" identifier == number_literal) )) (compound_statement "{\n          DAT_00087d90 = DAT_00087d90 | 0x40;\n          return true;\n        }" { (expression_statement "DAT_00087d90 = DAT_00087d90 | 0x40;" (assignment_expression "DAT_00087d90 = DAT_00087d90 | 0x40" identifier = (binary_expression "DAT_00087d90 | 0x40" identifier | number_literal)) ;) (return_statement "return true;" return true ;) })) (if_statement "if (param_1 == 0x124) {\n          DAT_00087d90 = DAT_00087d90 | 0x80;\n          return true;\n        }" if (parenthesized_expression "(param_1 == 0x124)" ( (binary_expression "param_1 == 0x124" identifier == number_literal) )) (compound_statement "{\n          DAT_00087d90 = DAT_00087d90 | 0x80;\n          return true;\n        }" { (expression_statement "DAT_00087d90 = DAT_00087d90 | 0x80;" (assignment_expression "DAT_00087d90 = DAT_00087d90 | 0x80" identifier = (binary_expression "DAT_00087d90 | 0x80" identifier | number_literal)) ;) (return_statement "return true;" return true ;) })) }))) (return_statement "return false;" return false ;) })) (expression_statement "bVar7 = param_1 < 0x4e;" (assignment_expression "bVar7 = param_1 < 0x4e" identifier = (binary_expression "param_1 < 0x4e" identifier < number_literal)) ;) (expression_statement "bVar9 = param_1 == 0x4e;" (assignment_expression "bVar9 = param_1 == 0x4e" identifier = (binary_expression "param_1 == 0x4e" identifier == number_literal)) ;) (if_statement "if (!bVar9) {\n      if (param_1 != 0x53) {\n        return param_1 == 0x43;\n      }\n      return true;\n    }" if (parenthesized_expression "(!bVar9)" ( (unary_expression "!bVar9" ! identifier) )) (compound_statement "{\n      if (param_1 != 0x53) {\n        return param_1 == 0x43;\n      }\n      return true;\n    }" { (if_statement "if (param_1 != 0x53) {\n        return param_1 == 0x43;\n      }" if (parenthesized_expression "(param_1 != 0x53)" ( (binary_expression "param_1 != 0x53" identifier != number_literal) )) (compound_statement "{\n        return param_1 == 0x43;\n      }" { (return_statement "return param_1 == 0x43;" return (binary_expression "param_1 == 0x43" identifier == number_literal) ;) })) (return_statement "return true;" return true ;) })) (expression_statement "iVar3 = 3;" (assignment_expression "iVar3 = 3" identifier = number_literal) ;) (expression_statement "pbVar4 = param_2;" (assignment_expression "pbVar4 = param_2" identifier = identifier) ;) (expression_statement "pbVar6 = &DAT_00063a25;" (assignment_expression "pbVar6 = &DAT_00063a25" identifier = (pointer_expression "&DAT_00063a25" & identifier)) ;) (do_statement "do {\n      if (iVar3 == 0) break;\n      iVar3 = iVar3 + -1;\n      bVar7 = *pbVar4 < *pbVar6;\n      bVar9 = *pbVar4 == *pbVar6;\n      pbVar4 = pbVar4 + 1;\n      pbVar6 = pbVar6 + 1;\n    } while (bVar9);" do (compound_statement "{\n      if (iVar3 == 0) break;\n      iVar3 = iVar3 + -1;\n      bVar7 = *pbVar4 < *pbVar6;\n      bVar9 = *pbVar4 == *pbVar6;\n      pbVar4 = pbVar4 + 1;\n      pbVar6 = pbVar6 + 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 "bVar7 = *pbVar4 < *pbVar6;" (assignment_expression "bVar7 = *pbVar4 < *pbVar6" identifier = (binary_expression "*pbVar4 < *pbVar6" (pointer_expression "*pbVar4" * identifier) < (pointer_expression "*pbVar6" * identifier))) ;) (expression_statement "bVar9 = *pbVar4 == *pbVar6;" (assignment_expression "bVar9 = *pbVar4 == *pbVar6" identifier = (binary_expression "*pbVar4 == *pbVar6" (pointer_expression "*pbVar4" * identifier) == (pointer_expression "*pbVar6" * identifier))) ;) (expression_statement "pbVar4 = pbVar4 + 1;" (assignment_expression "pbVar4 = pbVar4 + 1" identifier = (binary_expression "pbVar4 + 1" identifier + number_literal)) ;) (expression_statement "pbVar6 = pbVar6 + 1;" (assignment_expression "pbVar6 = pbVar6 + 1" identifier = (binary_expression "pbVar6 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(bVar9)" ( identifier )) ;) (expression_statement "bVar8 = false;" (assignment_expression "bVar8 = false" identifier = false) ;) (expression_statement "bVar7 = (!bVar7 && !bVar9) == bVar7;" (assignment_expression "bVar7 = (!bVar7 && !bVar9) == bVar7" identifier = (binary_expression "(!bVar7 && !bVar9) == bVar7" (parenthesized_expression "(!bVar7 && !bVar9)" ( (binary_expression "!bVar7 && !bVar9" (unary_expression "!bVar7" ! identifier) && (unary_expression "!bVar9" ! identifier)) )) == identifier)) ;) (if_statement "if (bVar7) {\n      return true;\n    }" if (parenthesized_expression "(bVar7)" ( identifier )) (compound_statement "{\n      return true;\n    }" { (return_statement "return true;" return true ;) })) (expression_statement "iVar3 = 3;" (assignment_expression "iVar3 = 3" identifier = number_literal) ;) (expression_statement "pbVar4 = param_2;" (assignment_expression "pbVar4 = param_2" identifier = identifier) ;) (expression_statement "pbVar6 = &DAT_00063a28;" (assignment_expression "pbVar6 = &DAT_00063a28" identifier = (pointer_expression "&DAT_00063a28" & identifier)) ;) (do_statement "do {\n      if (iVar3 == 0) break;\n      iVar3 = iVar3 + -1;\n      bVar8 = *pbVar4 < *pbVar6;\n      bVar7 = *pbVar4 == *pbVar6;\n      pbVar4 = pbVar4 + 1;\n      pbVar6 = pbVar6 + 1;\n    } while (bVar7);" do (compound_statement "{\n      if (iVar3 == 0) break;\n      iVar3 = iVar3 + -1;\n      bVar8 = *pbVar4 < *pbVar6;\n      bVar7 = *pbVar4 == *pbVar6;\n      pbVar4 = pbVar4 + 1;\n      pbVar6 = pbVar6 + 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 = *pbVar4 < *pbVar6;" (assignment_expression "bVar8 = *pbVar4 < *pbVar6" identifier = (binary_expression "*pbVar4 < *pbVar6" (pointer_expression "*pbVar4" * identifier) < (pointer_expression "*pbVar6" * identifier))) ;) (expression_statement "bVar7 = *pbVar4 == *pbVar6;" (assignment_expression "bVar7 = *pbVar4 == *pbVar6" identifier = (binary_expression "*pbVar4 == *pbVar6" (pointer_expression "*pbVar4" * identifier) == (pointer_expression "*pbVar6" * identifier))) ;) (expression_statement "pbVar4 = pbVar4 + 1;" (assignment_expression "pbVar4 = pbVar4 + 1" identifier = (binary_expression "pbVar4 + 1" identifier + number_literal)) ;) (expression_statement "pbVar6 = pbVar6 + 1;" (assignment_expression "pbVar6 = pbVar6 + 1" identifier = (binary_expression "pbVar6 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(bVar7)" ( identifier )) ;) (expression_statement "bVar9 = false;" (assignment_expression "bVar9 = false" identifier = false) ;) (expression_statement "bVar8 = (!bVar8 && !bVar7) == bVar8;" (assignment_expression "bVar8 = (!bVar8 && !bVar7) == bVar8" identifier = (binary_expression "(!bVar8 && !bVar7) == bVar8" (parenthesized_expression "(!bVar8 && !bVar7)" ( (binary_expression "!bVar8 && !bVar7" (unary_expression "!bVar8" ! identifier) && (unary_expression "!bVar7" ! identifier)) )) == identifier)) ;) (if_statement "if (bVar8) {\n      return true;\n    }" if (parenthesized_expression "(bVar8)" ( identifier )) (compound_statement "{\n      return true;\n    }" { (return_statement "return true;" return true ;) })) (expression_statement "iVar3 = 3;" (assignment_expression "iVar3 = 3" identifier = number_literal) ;) (expression_statement "pbVar4 = param_2;" (assignment_expression "pbVar4 = param_2" identifier = identifier) ;) (expression_statement "pbVar6 = (byte *)0x5f92c;" (assignment_expression "pbVar6 = (byte *)0x5f92c" identifier = (cast_expression "(byte *)0x5f92c" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (do_statement "do {\n      if (iVar3 == 0) break;\n      iVar3 = iVar3 + -1;\n      bVar9 = *pbVar4 < *pbVar6;\n      bVar8 = *pbVar4 == *pbVar6;\n      pbVar4 = pbVar4 + 1;\n      pbVar6 = pbVar6 + 1;\n    } while (bVar8);" do (compound_statement "{\n      if (iVar3 == 0) break;\n      iVar3 = iVar3 + -1;\n      bVar9 = *pbVar4 < *pbVar6;\n      bVar8 = *pbVar4 == *pbVar6;\n      pbVar4 = pbVar4 + 1;\n      pbVar6 = pbVar6 + 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 = *pbVar4 < *pbVar6;" (assignment_expression "bVar9 = *pbVar4 < *pbVar6" identifier = (binary_expression "*pbVar4 < *pbVar6" (pointer_expression "*pbVar4" * identifier) < (pointer_expression "*pbVar6" * identifier))) ;) (expression_statement "bVar8 = *pbVar4 == *pbVar6;" (assignment_expression "bVar8 = *pbVar4 == *pbVar6" identifier = (binary_expression "*pbVar4 == *pbVar6" (pointer_expression "*pbVar4" * identifier) == (pointer_expression "*pbVar6" * identifier))) ;) (expression_statement "pbVar4 = pbVar4 + 1;" (assignment_expression "pbVar4 = pbVar4 + 1" identifier = (binary_expression "pbVar4 + 1" identifier + number_literal)) ;) (expression_statement "pbVar6 = pbVar6 + 1;" (assignment_expression "pbVar6 = pbVar6 + 1" identifier = (binary_expression "pbVar6 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(bVar8)" ( identifier )) ;) (expression_statement "bVar7 = false;" (assignment_expression "bVar7 = false" identifier = false) ;) (expression_statement "bVar9 = (!bVar9 && !bVar8) == bVar9;" (assignment_expression "bVar9 = (!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 (bVar9) {\n      return true;\n    }" if (parenthesized_expression "(bVar9)" ( identifier )) (compound_statement "{\n      return true;\n    }" { (return_statement "return true;" return true ;) })) (expression_statement "iVar3 = 0xd;" (assignment_expression "iVar3 = 0xd" identifier = number_literal) ;) (expression_statement "pcVar5 = "close_fcalls";" (assignment_expression "pcVar5 = "close_fcalls"" identifier = (string_literal ""close_fcalls"" " string_content ")) ;) }))) (do_statement "do {\n    if (iVar3 == 0) break;\n    iVar3 = iVar3 + -1;\n    bVar7 = *param_2 < (byte)*pcVar5;\n    bVar9 = *param_2 == *pcVar5;\n    param_2 = param_2 + 1;\n    pcVar5 = (char *)((byte *)pcVar5 + 1);\n  } while (bVar9);" do (compound_statement "{\n    if (iVar3 == 0) break;\n    iVar3 = iVar3 + -1;\n    bVar7 = *param_2 < (byte)*pcVar5;\n    bVar9 = *param_2 == *pcVar5;\n    param_2 = param_2 + 1;\n    pcVar5 = (char *)((byte *)pcVar5 + 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 "bVar7 = *param_2 < (byte)*pcVar5;" (assignment_expression "bVar7 = *param_2 < (byte)*pcVar5" identifier = (binary_expression "*param_2 < (byte)*pcVar5" (pointer_expression "*param_2" * identifier) < (binary_expression "(byte)*pcVar5" (parenthesized_expression "(byte)" ( identifier )) * identifier))) ;) (expression_statement "bVar9 = *param_2 == *pcVar5;" (assignment_expression "bVar9 = *param_2 == *pcVar5" identifier = (binary_expression "*param_2 == *pcVar5" (pointer_expression "*param_2" * identifier) == (pointer_expression "*pcVar5" * identifier))) ;) (expression_statement "param_2 = param_2 + 1;" (assignment_expression "param_2 = param_2 + 1" identifier = (binary_expression "param_2 + 1" identifier + number_literal)) ;) (expression_statement "pcVar5 = (char *)((byte *)pcVar5 + 1);" (assignment_expression "pcVar5 = (char *)((byte *)pcVar5 + 1)" identifier = (cast_expression "(char *)((byte *)pcVar5 + 1)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((byte *)pcVar5 + 1)" ( (binary_expression "(byte *)pcVar5 + 1" (cast_expression "(byte *)pcVar5" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) + number_literal) )))) ;) }) while (parenthesized_expression "(bVar9)" ( identifier )) ;) (return_statement "return (!bVar7 && !bVar9) == bVar7;" return (binary_expression "(!bVar7 && !bVar9) == bVar7" (parenthesized_expression "(!bVar7 && !bVar9)" ( (binary_expression "!bVar7 && !bVar9" (unary_expression "!bVar7" ! identifier) && (unary_expression "!bVar9" ! identifier)) )) == identifier) ;) })))
(translation_unit "/* WARNING: Function: __x86.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */\n/* WARNING: Type propagation algorithm not settling */\n/* WARNING: Enum "anon_enum_32": Some values do not have unique names */\n\nint md_parse_option(int c,char *arg)\n\n{\n  char cVar1;\n  int iVar2;\n  byte *pbVar3;\n  char *pcVar4;\n  byte *pbVar5;\n  bool bVar6;\n  bool bVar7;\n  bool bVar8;\n  \n  bVar6 = (uint)c < 0x61;\n  bVar8 = c == 0x61;\n  if (bVar8) {\n    iVar2 = 9;\n    pcVar4 = "indirect=";\n  }\n  else {\n    if (0x61 < c) {\n      if (c == 0x78) {\n        bVar6 = false;\n        bVar8 = arg == (char *)0x0;\n        if (!bVar8) {\n          iVar2 = 9;\n          pbVar3 = (byte *)arg;\n          pbVar5 = (byte *)"explicit";\n          do {\n            if (iVar2 == 0) break;\n            iVar2 = iVar2 + -1;\n            bVar6 = *pbVar3 < *pbVar5;\n            bVar8 = *pbVar3 == *pbVar5;\n            pbVar3 = pbVar3 + 1;\n            pbVar5 = pbVar5 + 1;\n          } while (bVar8);\n          bVar7 = false;\n          bVar6 = (!bVar6 && !bVar8) == bVar6;\n          if (!bVar6) {\n            iVar2 = 5;\n            pbVar3 = (byte *)arg;\n            pbVar5 = &DAT_00063a4b;\n            do {\n              if (iVar2 == 0) break;\n              iVar2 = iVar2 + -1;\n              bVar7 = *pbVar3 < *pbVar5;\n              bVar6 = *pbVar3 == *pbVar5;\n              pbVar3 = pbVar3 + 1;\n              pbVar5 = pbVar5 + 1;\n            } while (bVar6);\n            bVar8 = false;\n            bVar6 = (!bVar7 && !bVar6) == bVar7;\n            if (bVar6) {\n              md._48_1_ = md._48_1_ & 0xef | 4;\n              return 1;\n            }\n            iVar2 = 5;\n            pbVar3 = (byte *)arg;\n            pbVar5 = &DAT_0005a335;\n            do {\n              if (iVar2 == 0) break;\n              iVar2 = iVar2 + -1;\n              bVar8 = *pbVar3 < *pbVar5;\n              bVar6 = *pbVar3 == *pbVar5;\n              pbVar3 = pbVar3 + 1;\n              pbVar5 = pbVar5 + 1;\n            } while (bVar6);\n            bVar7 = false;\n            bVar6 = (!bVar8 && !bVar6) == bVar8;\n            if (bVar6) {\n              md._48_1_ = md._48_1_ & 0xfb;\n              return 1;\n            }\n            iVar2 = 6;\n            pcVar4 = " debug";\n            pbVar3 = (byte *)arg;\n            do {\n              pcVar4 = (char *)((byte *)pcVar4 + 1);\n              if (iVar2 == 0) break;\n              iVar2 = iVar2 + -1;\n              bVar7 = *pbVar3 < (byte)*pcVar4;\n              bVar6 = *pbVar3 == *pcVar4;\n              pbVar3 = pbVar3 + 1;\n            } while (bVar6);\n            bVar8 = false;\n            bVar6 = (!bVar7 && !bVar6) == bVar7;\n            if (bVar6) {\n              md._48_1_ = md._48_1_ | 6;\n              return 1;\n            }\n            iVar2 = 7;\n            pbVar3 = (byte *)arg;\n            pbVar5 = (byte *)"debugx";\n            do {\n              if (iVar2 == 0) break;\n              iVar2 = iVar2 + -1;\n              bVar8 = *pbVar3 < *pbVar5;\n              bVar6 = *pbVar3 == *pbVar5;\n              pbVar3 = pbVar3 + 1;\n              pbVar5 = pbVar5 + 1;\n            } while (bVar6);\n            bVar7 = false;\n            bVar6 = (!bVar8 && !bVar6) == bVar8;\n            if (bVar6) {\n              md._48_1_ = md._48_1_ | 0x16;\n              return 1;\n            }\n            iVar2 = 7;\n            pbVar3 = (byte *)arg;\n            pbVar5 = (byte *)"debugn";\n            do {\n              if (iVar2 == 0) break;\n              iVar2 = iVar2 + -1;\n              bVar7 = *pbVar3 < *pbVar5;\n              bVar6 = *pbVar3 == *pbVar5;\n              pbVar3 = pbVar3 + 1;\n              pbVar5 = pbVar5 + 1;\n            } while (bVar6);\n            cVar1 = (!bVar7 && !bVar6) - bVar7;\n            if (cVar1 != '\0') {\n              md._48_1_ = md._48_1_ | 4;\n              pcVar4 = (char *)dcgettext(0,"Unrecognized option \'-x%s\'",5,cVar1);\n              as_bad(pcVar4,arg);\n              return 1;\n            }\n            md._48_1_ = md._48_1_ & 0xf9 | 2;\n            return 1;\n          }\n        }\n        md._48_1_ = md._48_1_ | 0x14;\n        return 1;\n      }\n      if (c < 0x79) {\n        bVar6 = (uint)c < 0x6d;\n        bVar8 = c == 0x6d;\n        if (bVar8) {\n          iVar2 = 6;\n          pbVar3 = (byte *)arg;\n          pbVar5 = &DAT_000639e8;\n          do {\n            if (iVar2 == 0) break;\n            iVar2 = iVar2 + -1;\n            bVar6 = *pbVar3 < *pbVar5;\n            bVar8 = *pbVar3 == *pbVar5;\n            pbVar3 = pbVar3 + 1;\n            pbVar5 = pbVar5 + 1;\n          } while (bVar8);\n          bVar7 = false;\n          bVar6 = (!bVar6 && !bVar8) == bVar6;\n          if (!bVar6) {\n            iVar2 = 5;\n            pbVar3 = (byte *)arg;\n            pbVar5 = &DAT_000639e9;\n            do {\n              if (iVar2 == 0) break;\n              iVar2 = iVar2 + -1;\n              bVar7 = *pbVar3 < *pbVar5;\n              bVar6 = *pbVar3 == *pbVar5;\n              pbVar3 = pbVar3 + 1;\n              pbVar5 = pbVar5 + 1;\n            } while (bVar6);\n            bVar8 = false;\n            bVar6 = (!bVar7 && !bVar6) == bVar7;\n            if (!bVar6) {\n              iVar2 = 4;\n              pbVar3 = (byte *)arg;\n              pbVar5 = &DAT_000639ea;\n              do {\n                if (iVar2 == 0) break;\n                iVar2 = iVar2 + -1;\n                bVar8 = *pbVar3 < *pbVar5;\n                bVar6 = *pbVar3 == *pbVar5;\n                pbVar3 = pbVar3 + 1;\n                pbVar5 = pbVar5 + 1;\n              } while (bVar6);\n              bVar7 = false;\n              bVar6 = (!bVar8 && !bVar6) == bVar8;\n              if (!bVar6) {\n                iVar2 = 6;\n                pbVar3 = (byte *)arg;\n                pbVar5 = (byte *)"ilp32";\n                do {\n                  if (iVar2 == 0) break;\n                  iVar2 = iVar2 + -1;\n                  bVar7 = *pbVar3 < *pbVar5;\n                  bVar6 = *pbVar3 == *pbVar5;\n                  pbVar3 = pbVar3 + 1;\n                  pbVar5 = pbVar5 + 1;\n                } while (bVar6);\n                bVar8 = false;\n                bVar6 = (!bVar7 && !bVar6) == bVar7;\n                if (bVar6) {\n                  md.flags = md.flags & 0xffffffef;\n                  return 1;\n                }\n                iVar2 = 3;\n                pbVar3 = (byte *)arg;\n                pbVar5 = (byte *)0x5a287;\n                do {\n                  if (iVar2 == 0) break;\n                  iVar2 = iVar2 + -1;\n                  bVar8 = *pbVar3 < *pbVar5;\n                  bVar6 = *pbVar3 == *pbVar5;\n                  pbVar3 = pbVar3 + 1;\n                  pbVar5 = pbVar5 + 1;\n                } while (bVar6);\n                bVar7 = false;\n                bVar6 = (!bVar8 && !bVar6) == bVar8;\n                if (bVar6) {\n                  md.flags = md.flags & 0xfffffff7;\n                  default_big_endian = 0;\n                  return 1;\n                }\n                iVar2 = 3;\n                pbVar3 = (byte *)arg;\n                pbVar5 = &DAT_00063a90;\n                do {\n                  if (iVar2 == 0) break;\n                  iVar2 = iVar2 + -1;\n                  bVar7 = *pbVar3 < *pbVar5;\n                  bVar6 = *pbVar3 == *pbVar5;\n                  pbVar3 = pbVar3 + 1;\n                  pbVar5 = pbVar5 + 1;\n                } while (bVar6);\n                bVar8 = false;\n                bVar6 = (!bVar7 && !bVar6) == bVar7;\n                if (bVar6) {\n                  md.flags = md.flags | 8;\n                  default_big_endian = 1;\n                  return 1;\n                }\n                iVar2 = 0xd;\n                pbVar3 = (byte *)arg;\n                pbVar5 = (byte *)"unwind-check=";\n                do {\n                  if (iVar2 == 0) break;\n                  iVar2 = iVar2 + -1;\n                  bVar8 = *pbVar3 < *pbVar5;\n                  bVar6 = *pbVar3 == *pbVar5;\n                  pbVar3 = pbVar3 + 1;\n                  pbVar5 = pbVar5 + 1;\n                } while (bVar6);\n                if ((!bVar8 && !bVar6) == bVar8) {\n                  iVar2 = strcmp(arg + 0xd,"warning");\n                  if (iVar2 == 0) {\n                    md.unwind_check = CMP_NONE;\n                    return 1;\n                  }\n                  iVar2 = strcmp(arg + 0xd,"error");\n                  if (iVar2 == 0) {\n                    md.unwind_check = CMP_OR;\n                    return 1;\n                  }\n                  return 0;\n                }\n                iVar2 = strncmp(arg,"hint.b=",7);\n                if (iVar2 != 0) {\n                  iVar2 = strncmp(arg,"tune=",5);\n                  if (iVar2 != 0) {\n                    return 0;\n                  }\n                  iVar2 = strcmp(arg + 5,"itanium1");\n                  if (iVar2 != 0) {\n                    iVar2 = strcmp(arg + 5,"itanium2");\n                    if (iVar2 == 0) {\n                      md.tune = CMP_OR;\n                      return 1;\n                    }\n                    return 0;\n                  }\n                  md.tune = CMP_NONE;\n                  return 1;\n                }\n                pcVar4 = arg + 7;\n                iVar2 = strcmp(pcVar4,"ok");\n                if (iVar2 == 0) {\n                  md.hint_b = CMP_AND;\n                  return 1;\n                }\n                iVar2 = strcmp(pcVar4,"warning");\n                if (iVar2 != 0) {\n                  iVar2 = strcmp(pcVar4,"error");\n                  if (iVar2 == 0) {\n                    md.hint_b = CMP_NONE;\n                    return 1;\n                  }\n                  return 0;\n                }\n                md.hint_b = CMP_OR;\n                return 1;\n              }\n            }\n          }\n          md.flags = md.flags | 0x10;\n          return 1;\n        }\n      }\n      else {\n        if (c == 0x123) {\n          md.flags = md.flags | 0x40;\n          return 1;\n        }\n        if (c == 0x124) {\n          md.flags = md.flags | 0x80;\n          return 1;\n        }\n      }\n      return 0;\n    }\n    bVar6 = (uint)c < 0x4e;\n    bVar8 = c == 0x4e;\n    if (!bVar8) {\n      if (c != 0x53) {\n        return (uint)(c == 0x43);\n      }\n      return 1;\n    }\n    iVar2 = 3;\n    pbVar3 = (byte *)arg;\n    pbVar5 = &DAT_00063a25;\n    do {\n      if (iVar2 == 0) break;\n      iVar2 = iVar2 + -1;\n      bVar6 = *pbVar3 < *pbVar5;\n      bVar8 = *pbVar3 == *pbVar5;\n      pbVar3 = pbVar3 + 1;\n      pbVar5 = pbVar5 + 1;\n    } while (bVar8);\n    bVar7 = false;\n    bVar6 = (!bVar6 && !bVar8) == bVar6;\n    if (bVar6) {\n      return 1;\n    }\n    iVar2 = 3;\n    pbVar3 = (byte *)arg;\n    pbVar5 = &DAT_00063a28;\n    do {\n      if (iVar2 == 0) break;\n      iVar2 = iVar2 + -1;\n      bVar7 = *pbVar3 < *pbVar5;\n      bVar6 = *pbVar3 == *pbVar5;\n      pbVar3 = pbVar3 + 1;\n      pbVar5 = pbVar5 + 1;\n    } while (bVar6);\n    bVar8 = false;\n    bVar7 = (!bVar7 && !bVar6) == bVar7;\n    if (bVar7) {\n      return 1;\n    }\n    iVar2 = 3;\n    pbVar3 = (byte *)arg;\n    pbVar5 = (byte *)0x5f92c;\n    do {\n      if (iVar2 == 0) break;\n      iVar2 = iVar2 + -1;\n      bVar8 = *pbVar3 < *pbVar5;\n      bVar7 = *pbVar3 == *pbVar5;\n      pbVar3 = pbVar3 + 1;\n      pbVar5 = pbVar5 + 1;\n    } while (bVar7);\n    bVar6 = false;\n    bVar8 = (!bVar8 && !bVar7) == bVar8;\n    if (bVar8) {\n      return 1;\n    }\n    iVar2 = 0xd;\n    pcVar4 = "close_fcalls";\n  }\n  do {\n    if (iVar2 == 0) break;\n    iVar2 = iVar2 + -1;\n    bVar6 = (byte)*arg < (byte)*pcVar4;\n    bVar8 = *arg == *pcVar4;\n    arg = (char *)((byte *)arg + 1);\n    pcVar4 = (char *)((byte *)pcVar4 + 1);\n  } while (bVar8);\n  return (uint)((!bVar6 && !bVar8) == bVar6);\n}\n\n" comment comment comment (function_definition "int md_parse_option(int c,char *arg)\n\n{\n  char cVar1;\n  int iVar2;\n  byte *pbVar3;\n  char *pcVar4;\n  byte *pbVar5;\n  bool bVar6;\n  bool bVar7;\n  bool bVar8;\n  \n  bVar6 = (uint)c < 0x61;\n  bVar8 = c == 0x61;\n  if (bVar8) {\n    iVar2 = 9;\n    pcVar4 = "indirect=";\n  }\n  else {\n    if (0x61 < c) {\n      if (c == 0x78) {\n        bVar6 = false;\n        bVar8 = arg == (char *)0x0;\n        if (!bVar8) {\n          iVar2 = 9;\n          pbVar3 = (byte *)arg;\n          pbVar5 = (byte *)"explicit";\n          do {\n            if (iVar2 == 0) break;\n            iVar2 = iVar2 + -1;\n            bVar6 = *pbVar3 < *pbVar5;\n            bVar8 = *pbVar3 == *pbVar5;\n            pbVar3 = pbVar3 + 1;\n            pbVar5 = pbVar5 + 1;\n          } while (bVar8);\n          bVar7 = false;\n          bVar6 = (!bVar6 && !bVar8) == bVar6;\n          if (!bVar6) {\n            iVar2 = 5;\n            pbVar3 = (byte *)arg;\n            pbVar5 = &DAT_00063a4b;\n            do {\n              if (iVar2 == 0) break;\n              iVar2 = iVar2 + -1;\n              bVar7 = *pbVar3 < *pbVar5;\n              bVar6 = *pbVar3 == *pbVar5;\n              pbVar3 = pbVar3 + 1;\n              pbVar5 = pbVar5 + 1;\n            } while (bVar6);\n            bVar8 = false;\n            bVar6 = (!bVar7 && !bVar6) == bVar7;\n            if (bVar6) {\n              md._48_1_ = md._48_1_ & 0xef | 4;\n              return 1;\n            }\n            iVar2 = 5;\n            pbVar3 = (byte *)arg;\n            pbVar5 = &DAT_0005a335;\n            do {\n              if (iVar2 == 0) break;\n              iVar2 = iVar2 + -1;\n              bVar8 = *pbVar3 < *pbVar5;\n              bVar6 = *pbVar3 == *pbVar5;\n              pbVar3 = pbVar3 + 1;\n              pbVar5 = pbVar5 + 1;\n            } while (bVar6);\n            bVar7 = false;\n            bVar6 = (!bVar8 && !bVar6) == bVar8;\n            if (bVar6) {\n              md._48_1_ = md._48_1_ & 0xfb;\n              return 1;\n            }\n            iVar2 = 6;\n            pcVar4 = " debug";\n            pbVar3 = (byte *)arg;\n            do {\n              pcVar4 = (char *)((byte *)pcVar4 + 1);\n              if (iVar2 == 0) break;\n              iVar2 = iVar2 + -1;\n              bVar7 = *pbVar3 < (byte)*pcVar4;\n              bVar6 = *pbVar3 == *pcVar4;\n              pbVar3 = pbVar3 + 1;\n            } while (bVar6);\n            bVar8 = false;\n            bVar6 = (!bVar7 && !bVar6) == bVar7;\n            if (bVar6) {\n              md._48_1_ = md._48_1_ | 6;\n              return 1;\n            }\n            iVar2 = 7;\n            pbVar3 = (byte *)arg;\n            pbVar5 = (byte *)"debugx";\n            do {\n              if (iVar2 == 0) break;\n              iVar2 = iVar2 + -1;\n              bVar8 = *pbVar3 < *pbVar5;\n              bVar6 = *pbVar3 == *pbVar5;\n              pbVar3 = pbVar3 + 1;\n              pbVar5 = pbVar5 + 1;\n            } while (bVar6);\n            bVar7 = false;\n            bVar6 = (!bVar8 && !bVar6) == bVar8;\n            if (bVar6) {\n              md._48_1_ = md._48_1_ | 0x16;\n              return 1;\n            }\n            iVar2 = 7;\n            pbVar3 = (byte *)arg;\n            pbVar5 = (byte *)"debugn";\n            do {\n              if (iVar2 == 0) break;\n              iVar2 = iVar2 + -1;\n              bVar7 = *pbVar3 < *pbVar5;\n              bVar6 = *pbVar3 == *pbVar5;\n              pbVar3 = pbVar3 + 1;\n              pbVar5 = pbVar5 + 1;\n            } while (bVar6);\n            cVar1 = (!bVar7 && !bVar6) - bVar7;\n            if (cVar1 != '\0') {\n              md._48_1_ = md._48_1_ | 4;\n              pcVar4 = (char *)dcgettext(0,"Unrecognized option \'-x%s\'",5,cVar1);\n              as_bad(pcVar4,arg);\n              return 1;\n            }\n            md._48_1_ = md._48_1_ & 0xf9 | 2;\n            return 1;\n          }\n        }\n        md._48_1_ = md._48_1_ | 0x14;\n        return 1;\n      }\n      if (c < 0x79) {\n        bVar6 = (uint)c < 0x6d;\n        bVar8 = c == 0x6d;\n        if (bVar8) {\n          iVar2 = 6;\n          pbVar3 = (byte *)arg;\n          pbVar5 = &DAT_000639e8;\n          do {\n            if (iVar2 == 0) break;\n            iVar2 = iVar2 + -1;\n            bVar6 = *pbVar3 < *pbVar5;\n            bVar8 = *pbVar3 == *pbVar5;\n            pbVar3 = pbVar3 + 1;\n            pbVar5 = pbVar5 + 1;\n          } while (bVar8);\n          bVar7 = false;\n          bVar6 = (!bVar6 && !bVar8) == bVar6;\n          if (!bVar6) {\n            iVar2 = 5;\n            pbVar3 = (byte *)arg;\n            pbVar5 = &DAT_000639e9;\n            do {\n              if (iVar2 == 0) break;\n              iVar2 = iVar2 + -1;\n              bVar7 = *pbVar3 < *pbVar5;\n              bVar6 = *pbVar3 == *pbVar5;\n              pbVar3 = pbVar3 + 1;\n              pbVar5 = pbVar5 + 1;\n            } while (bVar6);\n            bVar8 = false;\n            bVar6 = (!bVar7 && !bVar6) == bVar7;\n            if (!bVar6) {\n              iVar2 = 4;\n              pbVar3 = (byte *)arg;\n              pbVar5 = &DAT_000639ea;\n              do {\n                if (iVar2 == 0) break;\n                iVar2 = iVar2 + -1;\n                bVar8 = *pbVar3 < *pbVar5;\n                bVar6 = *pbVar3 == *pbVar5;\n                pbVar3 = pbVar3 + 1;\n                pbVar5 = pbVar5 + 1;\n              } while (bVar6);\n              bVar7 = false;\n              bVar6 = (!bVar8 && !bVar6) == bVar8;\n              if (!bVar6) {\n                iVar2 = 6;\n                pbVar3 = (byte *)arg;\n                pbVar5 = (byte *)"ilp32";\n                do {\n                  if (iVar2 == 0) break;\n                  iVar2 = iVar2 + -1;\n                  bVar7 = *pbVar3 < *pbVar5;\n                  bVar6 = *pbVar3 == *pbVar5;\n                  pbVar3 = pbVar3 + 1;\n                  pbVar5 = pbVar5 + 1;\n                } while (bVar6);\n                bVar8 = false;\n                bVar6 = (!bVar7 && !bVar6) == bVar7;\n                if (bVar6) {\n                  md.flags = md.flags & 0xffffffef;\n                  return 1;\n                }\n                iVar2 = 3;\n                pbVar3 = (byte *)arg;\n                pbVar5 = (byte *)0x5a287;\n                do {\n                  if (iVar2 == 0) break;\n                  iVar2 = iVar2 + -1;\n                  bVar8 = *pbVar3 < *pbVar5;\n                  bVar6 = *pbVar3 == *pbVar5;\n                  pbVar3 = pbVar3 + 1;\n                  pbVar5 = pbVar5 + 1;\n                } while (bVar6);\n                bVar7 = false;\n                bVar6 = (!bVar8 && !bVar6) == bVar8;\n                if (bVar6) {\n                  md.flags = md.flags & 0xfffffff7;\n                  default_big_endian = 0;\n                  return 1;\n                }\n                iVar2 = 3;\n                pbVar3 = (byte *)arg;\n                pbVar5 = &DAT_00063a90;\n                do {\n                  if (iVar2 == 0) break;\n                  iVar2 = iVar2 + -1;\n                  bVar7 = *pbVar3 < *pbVar5;\n                  bVar6 = *pbVar3 == *pbVar5;\n                  pbVar3 = pbVar3 + 1;\n                  pbVar5 = pbVar5 + 1;\n                } while (bVar6);\n                bVar8 = false;\n                bVar6 = (!bVar7 && !bVar6) == bVar7;\n                if (bVar6) {\n                  md.flags = md.flags | 8;\n                  default_big_endian = 1;\n                  return 1;\n                }\n                iVar2 = 0xd;\n                pbVar3 = (byte *)arg;\n                pbVar5 = (byte *)"unwind-check=";\n                do {\n                  if (iVar2 == 0) break;\n                  iVar2 = iVar2 + -1;\n                  bVar8 = *pbVar3 < *pbVar5;\n                  bVar6 = *pbVar3 == *pbVar5;\n                  pbVar3 = pbVar3 + 1;\n                  pbVar5 = pbVar5 + 1;\n                } while (bVar6);\n                if ((!bVar8 && !bVar6) == bVar8) {\n                  iVar2 = strcmp(arg + 0xd,"warning");\n                  if (iVar2 == 0) {\n                    md.unwind_check = CMP_NONE;\n                    return 1;\n                  }\n                  iVar2 = strcmp(arg + 0xd,"error");\n                  if (iVar2 == 0) {\n                    md.unwind_check = CMP_OR;\n                    return 1;\n                  }\n                  return 0;\n                }\n                iVar2 = strncmp(arg,"hint.b=",7);\n                if (iVar2 != 0) {\n                  iVar2 = strncmp(arg,"tune=",5);\n                  if (iVar2 != 0) {\n                    return 0;\n                  }\n                  iVar2 = strcmp(arg + 5,"itanium1");\n                  if (iVar2 != 0) {\n                    iVar2 = strcmp(arg + 5,"itanium2");\n                    if (iVar2 == 0) {\n                      md.tune = CMP_OR;\n                      return 1;\n                    }\n                    return 0;\n                  }\n                  md.tune = CMP_NONE;\n                  return 1;\n                }\n                pcVar4 = arg + 7;\n                iVar2 = strcmp(pcVar4,"ok");\n                if (iVar2 == 0) {\n                  md.hint_b = CMP_AND;\n                  return 1;\n                }\n                iVar2 = strcmp(pcVar4,"warning");\n                if (iVar2 != 0) {\n                  iVar2 = strcmp(pcVar4,"error");\n                  if (iVar2 == 0) {\n                    md.hint_b = CMP_NONE;\n                    return 1;\n                  }\n                  return 0;\n                }\n                md.hint_b = CMP_OR;\n                return 1;\n              }\n            }\n          }\n          md.flags = md.flags | 0x10;\n          return 1;\n        }\n      }\n      else {\n        if (c == 0x123) {\n          md.flags = md.flags | 0x40;\n          return 1;\n        }\n        if (c == 0x124) {\n          md.flags = md.flags | 0x80;\n          return 1;\n        }\n      }\n      return 0;\n    }\n    bVar6 = (uint)c < 0x4e;\n    bVar8 = c == 0x4e;\n    if (!bVar8) {\n      if (c != 0x53) {\n        return (uint)(c == 0x43);\n      }\n      return 1;\n    }\n    iVar2 = 3;\n    pbVar3 = (byte *)arg;\n    pbVar5 = &DAT_00063a25;\n    do {\n      if (iVar2 == 0) break;\n      iVar2 = iVar2 + -1;\n      bVar6 = *pbVar3 < *pbVar5;\n      bVar8 = *pbVar3 == *pbVar5;\n      pbVar3 = pbVar3 + 1;\n      pbVar5 = pbVar5 + 1;\n    } while (bVar8);\n    bVar7 = false;\n    bVar6 = (!bVar6 && !bVar8) == bVar6;\n    if (bVar6) {\n      return 1;\n    }\n    iVar2 = 3;\n    pbVar3 = (byte *)arg;\n    pbVar5 = &DAT_00063a28;\n    do {\n      if (iVar2 == 0) break;\n      iVar2 = iVar2 + -1;\n      bVar7 = *pbVar3 < *pbVar5;\n      bVar6 = *pbVar3 == *pbVar5;\n      pbVar3 = pbVar3 + 1;\n      pbVar5 = pbVar5 + 1;\n    } while (bVar6);\n    bVar8 = false;\n    bVar7 = (!bVar7 && !bVar6) == bVar7;\n    if (bVar7) {\n      return 1;\n    }\n    iVar2 = 3;\n    pbVar3 = (byte *)arg;\n    pbVar5 = (byte *)0x5f92c;\n    do {\n      if (iVar2 == 0) break;\n      iVar2 = iVar2 + -1;\n      bVar8 = *pbVar3 < *pbVar5;\n      bVar7 = *pbVar3 == *pbVar5;\n      pbVar3 = pbVar3 + 1;\n      pbVar5 = pbVar5 + 1;\n    } while (bVar7);\n    bVar6 = false;\n    bVar8 = (!bVar8 && !bVar7) == bVar8;\n    if (bVar8) {\n      return 1;\n    }\n    iVar2 = 0xd;\n    pcVar4 = "close_fcalls";\n  }\n  do {\n    if (iVar2 == 0) break;\n    iVar2 = iVar2 + -1;\n    bVar6 = (byte)*arg < (byte)*pcVar4;\n    bVar8 = *arg == *pcVar4;\n    arg = (char *)((byte *)arg + 1);\n    pcVar4 = (char *)((byte *)pcVar4 + 1);\n  } while (bVar8);\n  return (uint)((!bVar6 && !bVar8) == bVar6);\n}" primitive_type (function_declarator "md_parse_option(int c,char *arg)" identifier (parameter_list "(int c,char *arg)" ( (parameter_declaration "int c" primitive_type identifier) , (parameter_declaration "char *arg" primitive_type (pointer_declarator "*arg" * identifier)) ))) (compound_statement "{\n  char cVar1;\n  int iVar2;\n  byte *pbVar3;\n  char *pcVar4;\n  byte *pbVar5;\n  bool bVar6;\n  bool bVar7;\n  bool bVar8;\n  \n  bVar6 = (uint)c < 0x61;\n  bVar8 = c == 0x61;\n  if (bVar8) {\n    iVar2 = 9;\n    pcVar4 = "indirect=";\n  }\n  else {\n    if (0x61 < c) {\n      if (c == 0x78) {\n        bVar6 = false;\n        bVar8 = arg == (char *)0x0;\n        if (!bVar8) {\n          iVar2 = 9;\n          pbVar3 = (byte *)arg;\n          pbVar5 = (byte *)"explicit";\n          do {\n            if (iVar2 == 0) break;\n            iVar2 = iVar2 + -1;\n            bVar6 = *pbVar3 < *pbVar5;\n            bVar8 = *pbVar3 == *pbVar5;\n            pbVar3 = pbVar3 + 1;\n            pbVar5 = pbVar5 + 1;\n          } while (bVar8);\n          bVar7 = false;\n          bVar6 = (!bVar6 && !bVar8) == bVar6;\n          if (!bVar6) {\n            iVar2 = 5;\n            pbVar3 = (byte *)arg;\n            pbVar5 = &DAT_00063a4b;\n            do {\n              if (iVar2 == 0) break;\n              iVar2 = iVar2 + -1;\n              bVar7 = *pbVar3 < *pbVar5;\n              bVar6 = *pbVar3 == *pbVar5;\n              pbVar3 = pbVar3 + 1;\n              pbVar5 = pbVar5 + 1;\n            } while (bVar6);\n            bVar8 = false;\n            bVar6 = (!bVar7 && !bVar6) == bVar7;\n            if (bVar6) {\n              md._48_1_ = md._48_1_ & 0xef | 4;\n              return 1;\n            }\n            iVar2 = 5;\n            pbVar3 = (byte *)arg;\n            pbVar5 = &DAT_0005a335;\n            do {\n              if (iVar2 == 0) break;\n              iVar2 = iVar2 + -1;\n              bVar8 = *pbVar3 < *pbVar5;\n              bVar6 = *pbVar3 == *pbVar5;\n              pbVar3 = pbVar3 + 1;\n              pbVar5 = pbVar5 + 1;\n            } while (bVar6);\n            bVar7 = false;\n            bVar6 = (!bVar8 && !bVar6) == bVar8;\n            if (bVar6) {\n              md._48_1_ = md._48_1_ & 0xfb;\n              return 1;\n            }\n            iVar2 = 6;\n            pcVar4 = " debug";\n            pbVar3 = (byte *)arg;\n            do {\n              pcVar4 = (char *)((byte *)pcVar4 + 1);\n              if (iVar2 == 0) break;\n              iVar2 = iVar2 + -1;\n              bVar7 = *pbVar3 < (byte)*pcVar4;\n              bVar6 = *pbVar3 == *pcVar4;\n              pbVar3 = pbVar3 + 1;\n            } while (bVar6);\n            bVar8 = false;\n            bVar6 = (!bVar7 && !bVar6) == bVar7;\n            if (bVar6) {\n              md._48_1_ = md._48_1_ | 6;\n              return 1;\n            }\n            iVar2 = 7;\n            pbVar3 = (byte *)arg;\n            pbVar5 = (byte *)"debugx";\n            do {\n              if (iVar2 == 0) break;\n              iVar2 = iVar2 + -1;\n              bVar8 = *pbVar3 < *pbVar5;\n              bVar6 = *pbVar3 == *pbVar5;\n              pbVar3 = pbVar3 + 1;\n              pbVar5 = pbVar5 + 1;\n            } while (bVar6);\n            bVar7 = false;\n            bVar6 = (!bVar8 && !bVar6) == bVar8;\n            if (bVar6) {\n              md._48_1_ = md._48_1_ | 0x16;\n              return 1;\n            }\n            iVar2 = 7;\n            pbVar3 = (byte *)arg;\n            pbVar5 = (byte *)"debugn";\n            do {\n              if (iVar2 == 0) break;\n              iVar2 = iVar2 + -1;\n              bVar7 = *pbVar3 < *pbVar5;\n              bVar6 = *pbVar3 == *pbVar5;\n              pbVar3 = pbVar3 + 1;\n              pbVar5 = pbVar5 + 1;\n            } while (bVar6);\n            cVar1 = (!bVar7 && !bVar6) - bVar7;\n            if (cVar1 != '\0') {\n              md._48_1_ = md._48_1_ | 4;\n              pcVar4 = (char *)dcgettext(0,"Unrecognized option \'-x%s\'",5,cVar1);\n              as_bad(pcVar4,arg);\n              return 1;\n            }\n            md._48_1_ = md._48_1_ & 0xf9 | 2;\n            return 1;\n          }\n        }\n        md._48_1_ = md._48_1_ | 0x14;\n        return 1;\n      }\n      if (c < 0x79) {\n        bVar6 = (uint)c < 0x6d;\n        bVar8 = c == 0x6d;\n        if (bVar8) {\n          iVar2 = 6;\n          pbVar3 = (byte *)arg;\n          pbVar5 = &DAT_000639e8;\n          do {\n            if (iVar2 == 0) break;\n            iVar2 = iVar2 + -1;\n            bVar6 = *pbVar3 < *pbVar5;\n            bVar8 = *pbVar3 == *pbVar5;\n            pbVar3 = pbVar3 + 1;\n            pbVar5 = pbVar5 + 1;\n          } while (bVar8);\n          bVar7 = false;\n          bVar6 = (!bVar6 && !bVar8) == bVar6;\n          if (!bVar6) {\n            iVar2 = 5;\n            pbVar3 = (byte *)arg;\n            pbVar5 = &DAT_000639e9;\n            do {\n              if (iVar2 == 0) break;\n              iVar2 = iVar2 + -1;\n              bVar7 = *pbVar3 < *pbVar5;\n              bVar6 = *pbVar3 == *pbVar5;\n              pbVar3 = pbVar3 + 1;\n              pbVar5 = pbVar5 + 1;\n            } while (bVar6);\n            bVar8 = false;\n            bVar6 = (!bVar7 && !bVar6) == bVar7;\n            if (!bVar6) {\n              iVar2 = 4;\n              pbVar3 = (byte *)arg;\n              pbVar5 = &DAT_000639ea;\n              do {\n                if (iVar2 == 0) break;\n                iVar2 = iVar2 + -1;\n                bVar8 = *pbVar3 < *pbVar5;\n                bVar6 = *pbVar3 == *pbVar5;\n                pbVar3 = pbVar3 + 1;\n                pbVar5 = pbVar5 + 1;\n              } while (bVar6);\n              bVar7 = false;\n              bVar6 = (!bVar8 && !bVar6) == bVar8;\n              if (!bVar6) {\n                iVar2 = 6;\n                pbVar3 = (byte *)arg;\n                pbVar5 = (byte *)"ilp32";\n                do {\n                  if (iVar2 == 0) break;\n                  iVar2 = iVar2 + -1;\n                  bVar7 = *pbVar3 < *pbVar5;\n                  bVar6 = *pbVar3 == *pbVar5;\n                  pbVar3 = pbVar3 + 1;\n                  pbVar5 = pbVar5 + 1;\n                } while (bVar6);\n                bVar8 = false;\n                bVar6 = (!bVar7 && !bVar6) == bVar7;\n                if (bVar6) {\n                  md.flags = md.flags & 0xffffffef;\n                  return 1;\n                }\n                iVar2 = 3;\n                pbVar3 = (byte *)arg;\n                pbVar5 = (byte *)0x5a287;\n                do {\n                  if (iVar2 == 0) break;\n                  iVar2 = iVar2 + -1;\n                  bVar8 = *pbVar3 < *pbVar5;\n                  bVar6 = *pbVar3 == *pbVar5;\n                  pbVar3 = pbVar3 + 1;\n                  pbVar5 = pbVar5 + 1;\n                } while (bVar6);\n                bVar7 = false;\n                bVar6 = (!bVar8 && !bVar6) == bVar8;\n                if (bVar6) {\n                  md.flags = md.flags & 0xfffffff7;\n                  default_big_endian = 0;\n                  return 1;\n                }\n                iVar2 = 3;\n                pbVar3 = (byte *)arg;\n                pbVar5 = &DAT_00063a90;\n                do {\n                  if (iVar2 == 0) break;\n                  iVar2 = iVar2 + -1;\n                  bVar7 = *pbVar3 < *pbVar5;\n                  bVar6 = *pbVar3 == *pbVar5;\n                  pbVar3 = pbVar3 + 1;\n                  pbVar5 = pbVar5 + 1;\n                } while (bVar6);\n                bVar8 = false;\n                bVar6 = (!bVar7 && !bVar6) == bVar7;\n                if (bVar6) {\n                  md.flags = md.flags | 8;\n                  default_big_endian = 1;\n                  return 1;\n                }\n                iVar2 = 0xd;\n                pbVar3 = (byte *)arg;\n                pbVar5 = (byte *)"unwind-check=";\n                do {\n                  if (iVar2 == 0) break;\n                  iVar2 = iVar2 + -1;\n                  bVar8 = *pbVar3 < *pbVar5;\n                  bVar6 = *pbVar3 == *pbVar5;\n                  pbVar3 = pbVar3 + 1;\n                  pbVar5 = pbVar5 + 1;\n                } while (bVar6);\n                if ((!bVar8 && !bVar6) == bVar8) {\n                  iVar2 = strcmp(arg + 0xd,"warning");\n                  if (iVar2 == 0) {\n                    md.unwind_check = CMP_NONE;\n                    return 1;\n                  }\n                  iVar2 = strcmp(arg + 0xd,"error");\n                  if (iVar2 == 0) {\n                    md.unwind_check = CMP_OR;\n                    return 1;\n                  }\n                  return 0;\n                }\n                iVar2 = strncmp(arg,"hint.b=",7);\n                if (iVar2 != 0) {\n                  iVar2 = strncmp(arg,"tune=",5);\n                  if (iVar2 != 0) {\n                    return 0;\n                  }\n                  iVar2 = strcmp(arg + 5,"itanium1");\n                  if (iVar2 != 0) {\n                    iVar2 = strcmp(arg + 5,"itanium2");\n                    if (iVar2 == 0) {\n                      md.tune = CMP_OR;\n                      return 1;\n                    }\n                    return 0;\n                  }\n                  md.tune = CMP_NONE;\n                  return 1;\n                }\n                pcVar4 = arg + 7;\n                iVar2 = strcmp(pcVar4,"ok");\n                if (iVar2 == 0) {\n                  md.hint_b = CMP_AND;\n                  return 1;\n                }\n                iVar2 = strcmp(pcVar4,"warning");\n                if (iVar2 != 0) {\n                  iVar2 = strcmp(pcVar4,"error");\n                  if (iVar2 == 0) {\n                    md.hint_b = CMP_NONE;\n                    return 1;\n                  }\n                  return 0;\n                }\n                md.hint_b = CMP_OR;\n                return 1;\n              }\n            }\n          }\n          md.flags = md.flags | 0x10;\n          return 1;\n        }\n      }\n      else {\n        if (c == 0x123) {\n          md.flags = md.flags | 0x40;\n          return 1;\n        }\n        if (c == 0x124) {\n          md.flags = md.flags | 0x80;\n          return 1;\n        }\n      }\n      return 0;\n    }\n    bVar6 = (uint)c < 0x4e;\n    bVar8 = c == 0x4e;\n    if (!bVar8) {\n      if (c != 0x53) {\n        return (uint)(c == 0x43);\n      }\n      return 1;\n    }\n    iVar2 = 3;\n    pbVar3 = (byte *)arg;\n    pbVar5 = &DAT_00063a25;\n    do {\n      if (iVar2 == 0) break;\n      iVar2 = iVar2 + -1;\n      bVar6 = *pbVar3 < *pbVar5;\n      bVar8 = *pbVar3 == *pbVar5;\n      pbVar3 = pbVar3 + 1;\n      pbVar5 = pbVar5 + 1;\n    } while (bVar8);\n    bVar7 = false;\n    bVar6 = (!bVar6 && !bVar8) == bVar6;\n    if (bVar6) {\n      return 1;\n    }\n    iVar2 = 3;\n    pbVar3 = (byte *)arg;\n    pbVar5 = &DAT_00063a28;\n    do {\n      if (iVar2 == 0) break;\n      iVar2 = iVar2 + -1;\n      bVar7 = *pbVar3 < *pbVar5;\n      bVar6 = *pbVar3 == *pbVar5;\n      pbVar3 = pbVar3 + 1;\n      pbVar5 = pbVar5 + 1;\n    } while (bVar6);\n    bVar8 = false;\n    bVar7 = (!bVar7 && !bVar6) == bVar7;\n    if (bVar7) {\n      return 1;\n    }\n    iVar2 = 3;\n    pbVar3 = (byte *)arg;\n    pbVar5 = (byte *)0x5f92c;\n    do {\n      if (iVar2 == 0) break;\n      iVar2 = iVar2 + -1;\n      bVar8 = *pbVar3 < *pbVar5;\n      bVar7 = *pbVar3 == *pbVar5;\n      pbVar3 = pbVar3 + 1;\n      pbVar5 = pbVar5 + 1;\n    } while (bVar7);\n    bVar6 = false;\n    bVar8 = (!bVar8 && !bVar7) == bVar8;\n    if (bVar8) {\n      return 1;\n    }\n    iVar2 = 0xd;\n    pcVar4 = "close_fcalls";\n  }\n  do {\n    if (iVar2 == 0) break;\n    iVar2 = iVar2 + -1;\n    bVar6 = (byte)*arg < (byte)*pcVar4;\n    bVar8 = *arg == *pcVar4;\n    arg = (char *)((byte *)arg + 1);\n    pcVar4 = (char *)((byte *)pcVar4 + 1);\n  } while (bVar8);\n  return (uint)((!bVar6 && !bVar8) == bVar6);\n}" { (declaration "char cVar1;" primitive_type identifier ;) (declaration "int iVar2;" primitive_type identifier ;) (declaration "byte *pbVar3;" type_identifier (pointer_declarator "*pbVar3" * identifier) ;) (declaration "char *pcVar4;" primitive_type (pointer_declarator "*pcVar4" * identifier) ;) (declaration "byte *pbVar5;" type_identifier (pointer_declarator "*pbVar5" * identifier) ;) (declaration "bool bVar6;" primitive_type identifier ;) (declaration "bool bVar7;" primitive_type identifier ;) (declaration "bool bVar8;" primitive_type identifier ;) (expression_statement "bVar6 = (uint)c < 0x61;" (assignment_expression "bVar6 = (uint)c < 0x61" identifier = (binary_expression "(uint)c < 0x61" (cast_expression "(uint)c" ( (type_descriptor "uint" type_identifier) ) identifier) < number_literal)) ;) (expression_statement "bVar8 = c == 0x61;" (assignment_expression "bVar8 = c == 0x61" identifier = (binary_expression "c == 0x61" identifier == number_literal)) ;) (if_statement "if (bVar8) {\n    iVar2 = 9;\n    pcVar4 = "indirect=";\n  }\n  else {\n    if (0x61 < c) {\n      if (c == 0x78) {\n        bVar6 = false;\n        bVar8 = arg == (char *)0x0;\n        if (!bVar8) {\n          iVar2 = 9;\n          pbVar3 = (byte *)arg;\n          pbVar5 = (byte *)"explicit";\n          do {\n            if (iVar2 == 0) break;\n            iVar2 = iVar2 + -1;\n            bVar6 = *pbVar3 < *pbVar5;\n            bVar8 = *pbVar3 == *pbVar5;\n            pbVar3 = pbVar3 + 1;\n            pbVar5 = pbVar5 + 1;\n          } while (bVar8);\n          bVar7 = false;\n          bVar6 = (!bVar6 && !bVar8) == bVar6;\n          if (!bVar6) {\n            iVar2 = 5;\n            pbVar3 = (byte *)arg;\n            pbVar5 = &DAT_00063a4b;\n            do {\n              if (iVar2 == 0) break;\n              iVar2 = iVar2 + -1;\n              bVar7 = *pbVar3 < *pbVar5;\n              bVar6 = *pbVar3 == *pbVar5;\n              pbVar3 = pbVar3 + 1;\n              pbVar5 = pbVar5 + 1;\n            } while (bVar6);\n            bVar8 = false;\n            bVar6 = (!bVar7 && !bVar6) == bVar7;\n            if (bVar6) {\n              md._48_1_ = md._48_1_ & 0xef | 4;\n              return 1;\n            }\n            iVar2 = 5;\n            pbVar3 = (byte *)arg;\n            pbVar5 = &DAT_0005a335;\n            do {\n              if (iVar2 == 0) break;\n              iVar2 = iVar2 + -1;\n              bVar8 = *pbVar3 < *pbVar5;\n              bVar6 = *pbVar3 == *pbVar5;\n              pbVar3 = pbVar3 + 1;\n              pbVar5 = pbVar5 + 1;\n            } while (bVar6);\n            bVar7 = false;\n            bVar6 = (!bVar8 && !bVar6) == bVar8;\n            if (bVar6) {\n              md._48_1_ = md._48_1_ & 0xfb;\n              return 1;\n            }\n            iVar2 = 6;\n            pcVar4 = " debug";\n            pbVar3 = (byte *)arg;\n            do {\n              pcVar4 = (char *)((byte *)pcVar4 + 1);\n              if (iVar2 == 0) break;\n              iVar2 = iVar2 + -1;\n              bVar7 = *pbVar3 < (byte)*pcVar4;\n              bVar6 = *pbVar3 == *pcVar4;\n              pbVar3 = pbVar3 + 1;\n            } while (bVar6);\n            bVar8 = false;\n            bVar6 = (!bVar7 && !bVar6) == bVar7;\n            if (bVar6) {\n              md._48_1_ = md._48_1_ | 6;\n              return 1;\n            }\n            iVar2 = 7;\n            pbVar3 = (byte *)arg;\n            pbVar5 = (byte *)"debugx";\n            do {\n              if (iVar2 == 0) break;\n              iVar2 = iVar2 + -1;\n              bVar8 = *pbVar3 < *pbVar5;\n              bVar6 = *pbVar3 == *pbVar5;\n              pbVar3 = pbVar3 + 1;\n              pbVar5 = pbVar5 + 1;\n            } while (bVar6);\n            bVar7 = false;\n            bVar6 = (!bVar8 && !bVar6) == bVar8;\n            if (bVar6) {\n              md._48_1_ = md._48_1_ | 0x16;\n              return 1;\n            }\n            iVar2 = 7;\n            pbVar3 = (byte *)arg;\n            pbVar5 = (byte *)"debugn";\n            do {\n              if (iVar2 == 0) break;\n              iVar2 = iVar2 + -1;\n              bVar7 = *pbVar3 < *pbVar5;\n              bVar6 = *pbVar3 == *pbVar5;\n              pbVar3 = pbVar3 + 1;\n              pbVar5 = pbVar5 + 1;\n            } while (bVar6);\n            cVar1 = (!bVar7 && !bVar6) - bVar7;\n            if (cVar1 != '\0') {\n              md._48_1_ = md._48_1_ | 4;\n              pcVar4 = (char *)dcgettext(0,"Unrecognized option \'-x%s\'",5,cVar1);\n              as_bad(pcVar4,arg);\n              return 1;\n            }\n            md._48_1_ = md._48_1_ & 0xf9 | 2;\n            return 1;\n          }\n        }\n        md._48_1_ = md._48_1_ | 0x14;\n        return 1;\n      }\n      if (c < 0x79) {\n        bVar6 = (uint)c < 0x6d;\n        bVar8 = c == 0x6d;\n        if (bVar8) {\n          iVar2 = 6;\n          pbVar3 = (byte *)arg;\n          pbVar5 = &DAT_000639e8;\n          do {\n            if (iVar2 == 0) break;\n            iVar2 = iVar2 + -1;\n            bVar6 = *pbVar3 < *pbVar5;\n            bVar8 = *pbVar3 == *pbVar5;\n            pbVar3 = pbVar3 + 1;\n            pbVar5 = pbVar5 + 1;\n          } while (bVar8);\n          bVar7 = false;\n          bVar6 = (!bVar6 && !bVar8) == bVar6;\n          if (!bVar6) {\n            iVar2 = 5;\n            pbVar3 = (byte *)arg;\n            pbVar5 = &DAT_000639e9;\n            do {\n              if (iVar2 == 0) break;\n              iVar2 = iVar2 + -1;\n              bVar7 = *pbVar3 < *pbVar5;\n              bVar6 = *pbVar3 == *pbVar5;\n              pbVar3 = pbVar3 + 1;\n              pbVar5 = pbVar5 + 1;\n            } while (bVar6);\n            bVar8 = false;\n            bVar6 = (!bVar7 && !bVar6) == bVar7;\n            if (!bVar6) {\n              iVar2 = 4;\n              pbVar3 = (byte *)arg;\n              pbVar5 = &DAT_000639ea;\n              do {\n                if (iVar2 == 0) break;\n                iVar2 = iVar2 + -1;\n                bVar8 = *pbVar3 < *pbVar5;\n                bVar6 = *pbVar3 == *pbVar5;\n                pbVar3 = pbVar3 + 1;\n                pbVar5 = pbVar5 + 1;\n              } while (bVar6);\n              bVar7 = false;\n              bVar6 = (!bVar8 && !bVar6) == bVar8;\n              if (!bVar6) {\n                iVar2 = 6;\n                pbVar3 = (byte *)arg;\n                pbVar5 = (byte *)"ilp32";\n                do {\n                  if (iVar2 == 0) break;\n                  iVar2 = iVar2 + -1;\n                  bVar7 = *pbVar3 < *pbVar5;\n                  bVar6 = *pbVar3 == *pbVar5;\n                  pbVar3 = pbVar3 + 1;\n                  pbVar5 = pbVar5 + 1;\n                } while (bVar6);\n                bVar8 = false;\n                bVar6 = (!bVar7 && !bVar6) == bVar7;\n                if (bVar6) {\n                  md.flags = md.flags & 0xffffffef;\n                  return 1;\n                }\n                iVar2 = 3;\n                pbVar3 = (byte *)arg;\n                pbVar5 = (byte *)0x5a287;\n                do {\n                  if (iVar2 == 0) break;\n                  iVar2 = iVar2 + -1;\n                  bVar8 = *pbVar3 < *pbVar5;\n                  bVar6 = *pbVar3 == *pbVar5;\n                  pbVar3 = pbVar3 + 1;\n                  pbVar5 = pbVar5 + 1;\n                } while (bVar6);\n                bVar7 = false;\n                bVar6 = (!bVar8 && !bVar6) == bVar8;\n                if (bVar6) {\n                  md.flags = md.flags & 0xfffffff7;\n                  default_big_endian = 0;\n                  return 1;\n                }\n                iVar2 = 3;\n                pbVar3 = (byte *)arg;\n                pbVar5 = &DAT_00063a90;\n                do {\n                  if (iVar2 == 0) break;\n                  iVar2 = iVar2 + -1;\n                  bVar7 = *pbVar3 < *pbVar5;\n                  bVar6 = *pbVar3 == *pbVar5;\n                  pbVar3 = pbVar3 + 1;\n                  pbVar5 = pbVar5 + 1;\n                } while (bVar6);\n                bVar8 = false;\n                bVar6 = (!bVar7 && !bVar6) == bVar7;\n                if (bVar6) {\n                  md.flags = md.flags | 8;\n                  default_big_endian = 1;\n                  return 1;\n                }\n                iVar2 = 0xd;\n                pbVar3 = (byte *)arg;\n                pbVar5 = (byte *)"unwind-check=";\n                do {\n                  if (iVar2 == 0) break;\n                  iVar2 = iVar2 + -1;\n                  bVar8 = *pbVar3 < *pbVar5;\n                  bVar6 = *pbVar3 == *pbVar5;\n                  pbVar3 = pbVar3 + 1;\n                  pbVar5 = pbVar5 + 1;\n                } while (bVar6);\n                if ((!bVar8 && !bVar6) == bVar8) {\n                  iVar2 = strcmp(arg + 0xd,"warning");\n                  if (iVar2 == 0) {\n                    md.unwind_check = CMP_NONE;\n                    return 1;\n                  }\n                  iVar2 = strcmp(arg + 0xd,"error");\n                  if (iVar2 == 0) {\n                    md.unwind_check = CMP_OR;\n                    return 1;\n                  }\n                  return 0;\n                }\n                iVar2 = strncmp(arg,"hint.b=",7);\n                if (iVar2 != 0) {\n                  iVar2 = strncmp(arg,"tune=",5);\n                  if (iVar2 != 0) {\n                    return 0;\n                  }\n                  iVar2 = strcmp(arg + 5,"itanium1");\n                  if (iVar2 != 0) {\n                    iVar2 = strcmp(arg + 5,"itanium2");\n                    if (iVar2 == 0) {\n                      md.tune = CMP_OR;\n                      return 1;\n                    }\n                    return 0;\n                  }\n                  md.tune = CMP_NONE;\n                  return 1;\n                }\n                pcVar4 = arg + 7;\n                iVar2 = strcmp(pcVar4,"ok");\n                if (iVar2 == 0) {\n                  md.hint_b = CMP_AND;\n                  return 1;\n                }\n                iVar2 = strcmp(pcVar4,"warning");\n                if (iVar2 != 0) {\n                  iVar2 = strcmp(pcVar4,"error");\n                  if (iVar2 == 0) {\n                    md.hint_b = CMP_NONE;\n                    return 1;\n                  }\n                  return 0;\n                }\n                md.hint_b = CMP_OR;\n                return 1;\n              }\n            }\n          }\n          md.flags = md.flags | 0x10;\n          return 1;\n        }\n      }\n      else {\n        if (c == 0x123) {\n          md.flags = md.flags | 0x40;\n          return 1;\n        }\n        if (c == 0x124) {\n          md.flags = md.flags | 0x80;\n          return 1;\n        }\n      }\n      return 0;\n    }\n    bVar6 = (uint)c < 0x4e;\n    bVar8 = c == 0x4e;\n    if (!bVar8) {\n      if (c != 0x53) {\n        return (uint)(c == 0x43);\n      }\n      return 1;\n    }\n    iVar2 = 3;\n    pbVar3 = (byte *)arg;\n    pbVar5 = &DAT_00063a25;\n    do {\n      if (iVar2 == 0) break;\n      iVar2 = iVar2 + -1;\n      bVar6 = *pbVar3 < *pbVar5;\n      bVar8 = *pbVar3 == *pbVar5;\n      pbVar3 = pbVar3 + 1;\n      pbVar5 = pbVar5 + 1;\n    } while (bVar8);\n    bVar7 = false;\n    bVar6 = (!bVar6 && !bVar8) == bVar6;\n    if (bVar6) {\n      return 1;\n    }\n    iVar2 = 3;\n    pbVar3 = (byte *)arg;\n    pbVar5 = &DAT_00063a28;\n    do {\n      if (iVar2 == 0) break;\n      iVar2 = iVar2 + -1;\n      bVar7 = *pbVar3 < *pbVar5;\n      bVar6 = *pbVar3 == *pbVar5;\n      pbVar3 = pbVar3 + 1;\n      pbVar5 = pbVar5 + 1;\n    } while (bVar6);\n    bVar8 = false;\n    bVar7 = (!bVar7 && !bVar6) == bVar7;\n    if (bVar7) {\n      return 1;\n    }\n    iVar2 = 3;\n    pbVar3 = (byte *)arg;\n    pbVar5 = (byte *)0x5f92c;\n    do {\n      if (iVar2 == 0) break;\n      iVar2 = iVar2 + -1;\n      bVar8 = *pbVar3 < *pbVar5;\n      bVar7 = *pbVar3 == *pbVar5;\n      pbVar3 = pbVar3 + 1;\n      pbVar5 = pbVar5 + 1;\n    } while (bVar7);\n    bVar6 = false;\n    bVar8 = (!bVar8 && !bVar7) == bVar8;\n    if (bVar8) {\n      return 1;\n    }\n    iVar2 = 0xd;\n    pcVar4 = "close_fcalls";\n  }" if (parenthesized_expression "(bVar8)" ( identifier )) (compound_statement "{\n    iVar2 = 9;\n    pcVar4 = "indirect=";\n  }" { (expression_statement "iVar2 = 9;" (assignment_expression "iVar2 = 9" identifier = number_literal) ;) (expression_statement "pcVar4 = "indirect=";" (assignment_expression "pcVar4 = "indirect="" identifier = (string_literal ""indirect="" " string_content ")) ;) }) (else_clause "else {\n    if (0x61 < c) {\n      if (c == 0x78) {\n        bVar6 = false;\n        bVar8 = arg == (char *)0x0;\n        if (!bVar8) {\n          iVar2 = 9;\n          pbVar3 = (byte *)arg;\n          pbVar5 = (byte *)"explicit";\n          do {\n            if (iVar2 == 0) break;\n            iVar2 = iVar2 + -1;\n            bVar6 = *pbVar3 < *pbVar5;\n            bVar8 = *pbVar3 == *pbVar5;\n            pbVar3 = pbVar3 + 1;\n            pbVar5 = pbVar5 + 1;\n          } while (bVar8);\n          bVar7 = false;\n          bVar6 = (!bVar6 && !bVar8) == bVar6;\n          if (!bVar6) {\n            iVar2 = 5;\n            pbVar3 = (byte *)arg;\n            pbVar5 = &DAT_00063a4b;\n            do {\n              if (iVar2 == 0) break;\n              iVar2 = iVar2 + -1;\n              bVar7 = *pbVar3 < *pbVar5;\n              bVar6 = *pbVar3 == *pbVar5;\n              pbVar3 = pbVar3 + 1;\n              pbVar5 = pbVar5 + 1;\n            } while (bVar6);\n            bVar8 = false;\n            bVar6 = (!bVar7 && !bVar6) == bVar7;\n            if (bVar6) {\n              md._48_1_ = md._48_1_ & 0xef | 4;\n              return 1;\n            }\n            iVar2 = 5;\n            pbVar3 = (byte *)arg;\n            pbVar5 = &DAT_0005a335;\n            do {\n              if (iVar2 == 0) break;\n              iVar2 = iVar2 + -1;\n              bVar8 = *pbVar3 < *pbVar5;\n              bVar6 = *pbVar3 == *pbVar5;\n              pbVar3 = pbVar3 + 1;\n              pbVar5 = pbVar5 + 1;\n            } while (bVar6);\n            bVar7 = false;\n            bVar6 = (!bVar8 && !bVar6) == bVar8;\n            if (bVar6) {\n              md._48_1_ = md._48_1_ & 0xfb;\n              return 1;\n            }\n            iVar2 = 6;\n            pcVar4 = " debug";\n            pbVar3 = (byte *)arg;\n            do {\n              pcVar4 = (char *)((byte *)pcVar4 + 1);\n              if (iVar2 == 0) break;\n              iVar2 = iVar2 + -1;\n              bVar7 = *pbVar3 < (byte)*pcVar4;\n              bVar6 = *pbVar3 == *pcVar4;\n              pbVar3 = pbVar3 + 1;\n            } while (bVar6);\n            bVar8 = false;\n            bVar6 = (!bVar7 && !bVar6) == bVar7;\n            if (bVar6) {\n              md._48_1_ = md._48_1_ | 6;\n              return 1;\n            }\n            iVar2 = 7;\n            pbVar3 = (byte *)arg;\n            pbVar5 = (byte *)"debugx";\n            do {\n              if (iVar2 == 0) break;\n              iVar2 = iVar2 + -1;\n              bVar8 = *pbVar3 < *pbVar5;\n              bVar6 = *pbVar3 == *pbVar5;\n              pbVar3 = pbVar3 + 1;\n              pbVar5 = pbVar5 + 1;\n            } while (bVar6);\n            bVar7 = false;\n            bVar6 = (!bVar8 && !bVar6) == bVar8;\n            if (bVar6) {\n              md._48_1_ = md._48_1_ | 0x16;\n              return 1;\n            }\n            iVar2 = 7;\n            pbVar3 = (byte *)arg;\n            pbVar5 = (byte *)"debugn";\n            do {\n              if (iVar2 == 0) break;\n              iVar2 = iVar2 + -1;\n              bVar7 = *pbVar3 < *pbVar5;\n              bVar6 = *pbVar3 == *pbVar5;\n              pbVar3 = pbVar3 + 1;\n              pbVar5 = pbVar5 + 1;\n            } while (bVar6);\n            cVar1 = (!bVar7 && !bVar6) - bVar7;\n            if (cVar1 != '\0') {\n              md._48_1_ = md._48_1_ | 4;\n              pcVar4 = (char *)dcgettext(0,"Unrecognized option \'-x%s\'",5,cVar1);\n              as_bad(pcVar4,arg);\n              return 1;\n            }\n            md._48_1_ = md._48_1_ & 0xf9 | 2;\n            return 1;\n          }\n        }\n        md._48_1_ = md._48_1_ | 0x14;\n        return 1;\n      }\n      if (c < 0x79) {\n        bVar6 = (uint)c < 0x6d;\n        bVar8 = c == 0x6d;\n        if (bVar8) {\n          iVar2 = 6;\n          pbVar3 = (byte *)arg;\n          pbVar5 = &DAT_000639e8;\n          do {\n            if (iVar2 == 0) break;\n            iVar2 = iVar2 + -1;\n            bVar6 = *pbVar3 < *pbVar5;\n            bVar8 = *pbVar3 == *pbVar5;\n            pbVar3 = pbVar3 + 1;\n            pbVar5 = pbVar5 + 1;\n          } while (bVar8);\n          bVar7 = false;\n          bVar6 = (!bVar6 && !bVar8) == bVar6;\n          if (!bVar6) {\n            iVar2 = 5;\n            pbVar3 = (byte *)arg;\n            pbVar5 = &DAT_000639e9;\n            do {\n              if (iVar2 == 0) break;\n              iVar2 = iVar2 + -1;\n              bVar7 = *pbVar3 < *pbVar5;\n              bVar6 = *pbVar3 == *pbVar5;\n              pbVar3 = pbVar3 + 1;\n              pbVar5 = pbVar5 + 1;\n            } while (bVar6);\n            bVar8 = false;\n            bVar6 = (!bVar7 && !bVar6) == bVar7;\n            if (!bVar6) {\n              iVar2 = 4;\n              pbVar3 = (byte *)arg;\n              pbVar5 = &DAT_000639ea;\n              do {\n                if (iVar2 == 0) break;\n                iVar2 = iVar2 + -1;\n                bVar8 = *pbVar3 < *pbVar5;\n                bVar6 = *pbVar3 == *pbVar5;\n                pbVar3 = pbVar3 + 1;\n                pbVar5 = pbVar5 + 1;\n              } while (bVar6);\n              bVar7 = false;\n              bVar6 = (!bVar8 && !bVar6) == bVar8;\n              if (!bVar6) {\n                iVar2 = 6;\n                pbVar3 = (byte *)arg;\n                pbVar5 = (byte *)"ilp32";\n                do {\n                  if (iVar2 == 0) break;\n                  iVar2 = iVar2 + -1;\n                  bVar7 = *pbVar3 < *pbVar5;\n                  bVar6 = *pbVar3 == *pbVar5;\n                  pbVar3 = pbVar3 + 1;\n                  pbVar5 = pbVar5 + 1;\n                } while (bVar6);\n                bVar8 = false;\n                bVar6 = (!bVar7 && !bVar6) == bVar7;\n                if (bVar6) {\n                  md.flags = md.flags & 0xffffffef;\n                  return 1;\n                }\n                iVar2 = 3;\n                pbVar3 = (byte *)arg;\n                pbVar5 = (byte *)0x5a287;\n                do {\n                  if (iVar2 == 0) break;\n                  iVar2 = iVar2 + -1;\n                  bVar8 = *pbVar3 < *pbVar5;\n                  bVar6 = *pbVar3 == *pbVar5;\n                  pbVar3 = pbVar3 + 1;\n                  pbVar5 = pbVar5 + 1;\n                } while (bVar6);\n                bVar7 = false;\n                bVar6 = (!bVar8 && !bVar6) == bVar8;\n                if (bVar6) {\n                  md.flags = md.flags & 0xfffffff7;\n                  default_big_endian = 0;\n                  return 1;\n                }\n                iVar2 = 3;\n                pbVar3 = (byte *)arg;\n                pbVar5 = &DAT_00063a90;\n                do {\n                  if (iVar2 == 0) break;\n                  iVar2 = iVar2 + -1;\n                  bVar7 = *pbVar3 < *pbVar5;\n                  bVar6 = *pbVar3 == *pbVar5;\n                  pbVar3 = pbVar3 + 1;\n                  pbVar5 = pbVar5 + 1;\n                } while (bVar6);\n                bVar8 = false;\n                bVar6 = (!bVar7 && !bVar6) == bVar7;\n                if (bVar6) {\n                  md.flags = md.flags | 8;\n                  default_big_endian = 1;\n                  return 1;\n                }\n                iVar2 = 0xd;\n                pbVar3 = (byte *)arg;\n                pbVar5 = (byte *)"unwind-check=";\n                do {\n                  if (iVar2 == 0) break;\n                  iVar2 = iVar2 + -1;\n                  bVar8 = *pbVar3 < *pbVar5;\n                  bVar6 = *pbVar3 == *pbVar5;\n                  pbVar3 = pbVar3 + 1;\n                  pbVar5 = pbVar5 + 1;\n                } while (bVar6);\n                if ((!bVar8 && !bVar6) == bVar8) {\n                  iVar2 = strcmp(arg + 0xd,"warning");\n                  if (iVar2 == 0) {\n                    md.unwind_check = CMP_NONE;\n                    return 1;\n                  }\n                  iVar2 = strcmp(arg + 0xd,"error");\n                  if (iVar2 == 0) {\n                    md.unwind_check = CMP_OR;\n                    return 1;\n                  }\n                  return 0;\n                }\n                iVar2 = strncmp(arg,"hint.b=",7);\n                if (iVar2 != 0) {\n                  iVar2 = strncmp(arg,"tune=",5);\n                  if (iVar2 != 0) {\n                    return 0;\n                  }\n                  iVar2 = strcmp(arg + 5,"itanium1");\n                  if (iVar2 != 0) {\n                    iVar2 = strcmp(arg + 5,"itanium2");\n                    if (iVar2 == 0) {\n                      md.tune = CMP_OR;\n                      return 1;\n                    }\n                    return 0;\n                  }\n                  md.tune = CMP_NONE;\n                  return 1;\n                }\n                pcVar4 = arg + 7;\n                iVar2 = strcmp(pcVar4,"ok");\n                if (iVar2 == 0) {\n                  md.hint_b = CMP_AND;\n                  return 1;\n                }\n                iVar2 = strcmp(pcVar4,"warning");\n                if (iVar2 != 0) {\n                  iVar2 = strcmp(pcVar4,"error");\n                  if (iVar2 == 0) {\n                    md.hint_b = CMP_NONE;\n                    return 1;\n                  }\n                  return 0;\n                }\n                md.hint_b = CMP_OR;\n                return 1;\n              }\n            }\n          }\n          md.flags = md.flags | 0x10;\n          return 1;\n        }\n      }\n      else {\n        if (c == 0x123) {\n          md.flags = md.flags | 0x40;\n          return 1;\n        }\n        if (c == 0x124) {\n          md.flags = md.flags | 0x80;\n          return 1;\n        }\n      }\n      return 0;\n    }\n    bVar6 = (uint)c < 0x4e;\n    bVar8 = c == 0x4e;\n    if (!bVar8) {\n      if (c != 0x53) {\n        return (uint)(c == 0x43);\n      }\n      return 1;\n    }\n    iVar2 = 3;\n    pbVar3 = (byte *)arg;\n    pbVar5 = &DAT_00063a25;\n    do {\n      if (iVar2 == 0) break;\n      iVar2 = iVar2 + -1;\n      bVar6 = *pbVar3 < *pbVar5;\n      bVar8 = *pbVar3 == *pbVar5;\n      pbVar3 = pbVar3 + 1;\n      pbVar5 = pbVar5 + 1;\n    } while (bVar8);\n    bVar7 = false;\n    bVar6 = (!bVar6 && !bVar8) == bVar6;\n    if (bVar6) {\n      return 1;\n    }\n    iVar2 = 3;\n    pbVar3 = (byte *)arg;\n    pbVar5 = &DAT_00063a28;\n    do {\n      if (iVar2 == 0) break;\n      iVar2 = iVar2 + -1;\n      bVar7 = *pbVar3 < *pbVar5;\n      bVar6 = *pbVar3 == *pbVar5;\n      pbVar3 = pbVar3 + 1;\n      pbVar5 = pbVar5 + 1;\n    } while (bVar6);\n    bVar8 = false;\n    bVar7 = (!bVar7 && !bVar6) == bVar7;\n    if (bVar7) {\n      return 1;\n    }\n    iVar2 = 3;\n    pbVar3 = (byte *)arg;\n    pbVar5 = (byte *)0x5f92c;\n    do {\n      if (iVar2 == 0) break;\n      iVar2 = iVar2 + -1;\n      bVar8 = *pbVar3 < *pbVar5;\n      bVar7 = *pbVar3 == *pbVar5;\n      pbVar3 = pbVar3 + 1;\n      pbVar5 = pbVar5 + 1;\n    } while (bVar7);\n    bVar6 = false;\n    bVar8 = (!bVar8 && !bVar7) == bVar8;\n    if (bVar8) {\n      return 1;\n    }\n    iVar2 = 0xd;\n    pcVar4 = "close_fcalls";\n  }" else (compound_statement "{\n    if (0x61 < c) {\n      if (c == 0x78) {\n        bVar6 = false;\n        bVar8 = arg == (char *)0x0;\n        if (!bVar8) {\n          iVar2 = 9;\n          pbVar3 = (byte *)arg;\n          pbVar5 = (byte *)"explicit";\n          do {\n            if (iVar2 == 0) break;\n            iVar2 = iVar2 + -1;\n            bVar6 = *pbVar3 < *pbVar5;\n            bVar8 = *pbVar3 == *pbVar5;\n            pbVar3 = pbVar3 + 1;\n            pbVar5 = pbVar5 + 1;\n          } while (bVar8);\n          bVar7 = false;\n          bVar6 = (!bVar6 && !bVar8) == bVar6;\n          if (!bVar6) {\n            iVar2 = 5;\n            pbVar3 = (byte *)arg;\n            pbVar5 = &DAT_00063a4b;\n            do {\n              if (iVar2 == 0) break;\n              iVar2 = iVar2 + -1;\n              bVar7 = *pbVar3 < *pbVar5;\n              bVar6 = *pbVar3 == *pbVar5;\n              pbVar3 = pbVar3 + 1;\n              pbVar5 = pbVar5 + 1;\n            } while (bVar6);\n            bVar8 = false;\n            bVar6 = (!bVar7 && !bVar6) == bVar7;\n            if (bVar6) {\n              md._48_1_ = md._48_1_ & 0xef | 4;\n              return 1;\n            }\n            iVar2 = 5;\n            pbVar3 = (byte *)arg;\n            pbVar5 = &DAT_0005a335;\n            do {\n              if (iVar2 == 0) break;\n              iVar2 = iVar2 + -1;\n              bVar8 = *pbVar3 < *pbVar5;\n              bVar6 = *pbVar3 == *pbVar5;\n              pbVar3 = pbVar3 + 1;\n              pbVar5 = pbVar5 + 1;\n            } while (bVar6);\n            bVar7 = false;\n            bVar6 = (!bVar8 && !bVar6) == bVar8;\n            if (bVar6) {\n              md._48_1_ = md._48_1_ & 0xfb;\n              return 1;\n            }\n            iVar2 = 6;\n            pcVar4 = " debug";\n            pbVar3 = (byte *)arg;\n            do {\n              pcVar4 = (char *)((byte *)pcVar4 + 1);\n              if (iVar2 == 0) break;\n              iVar2 = iVar2 + -1;\n              bVar7 = *pbVar3 < (byte)*pcVar4;\n              bVar6 = *pbVar3 == *pcVar4;\n              pbVar3 = pbVar3 + 1;\n            } while (bVar6);\n            bVar8 = false;\n            bVar6 = (!bVar7 && !bVar6) == bVar7;\n            if (bVar6) {\n              md._48_1_ = md._48_1_ | 6;\n              return 1;\n            }\n            iVar2 = 7;\n            pbVar3 = (byte *)arg;\n            pbVar5 = (byte *)"debugx";\n            do {\n              if (iVar2 == 0) break;\n              iVar2 = iVar2 + -1;\n              bVar8 = *pbVar3 < *pbVar5;\n              bVar6 = *pbVar3 == *pbVar5;\n              pbVar3 = pbVar3 + 1;\n              pbVar5 = pbVar5 + 1;\n            } while (bVar6);\n            bVar7 = false;\n            bVar6 = (!bVar8 && !bVar6) == bVar8;\n            if (bVar6) {\n              md._48_1_ = md._48_1_ | 0x16;\n              return 1;\n            }\n            iVar2 = 7;\n            pbVar3 = (byte *)arg;\n            pbVar5 = (byte *)"debugn";\n            do {\n              if (iVar2 == 0) break;\n              iVar2 = iVar2 + -1;\n              bVar7 = *pbVar3 < *pbVar5;\n              bVar6 = *pbVar3 == *pbVar5;\n              pbVar3 = pbVar3 + 1;\n              pbVar5 = pbVar5 + 1;\n            } while (bVar6);\n            cVar1 = (!bVar7 && !bVar6) - bVar7;\n            if (cVar1 != '\0') {\n              md._48_1_ = md._48_1_ | 4;\n              pcVar4 = (char *)dcgettext(0,"Unrecognized option \'-x%s\'",5,cVar1);\n              as_bad(pcVar4,arg);\n              return 1;\n            }\n            md._48_1_ = md._48_1_ & 0xf9 | 2;\n            return 1;\n          }\n        }\n        md._48_1_ = md._48_1_ | 0x14;\n        return 1;\n      }\n      if (c < 0x79) {\n        bVar6 = (uint)c < 0x6d;\n        bVar8 = c == 0x6d;\n        if (bVar8) {\n          iVar2 = 6;\n          pbVar3 = (byte *)arg;\n          pbVar5 = &DAT_000639e8;\n          do {\n            if (iVar2 == 0) break;\n            iVar2 = iVar2 + -1;\n            bVar6 = *pbVar3 < *pbVar5;\n            bVar8 = *pbVar3 == *pbVar5;\n            pbVar3 = pbVar3 + 1;\n            pbVar5 = pbVar5 + 1;\n          } while (bVar8);\n          bVar7 = false;\n          bVar6 = (!bVar6 && !bVar8) == bVar6;\n          if (!bVar6) {\n            iVar2 = 5;\n            pbVar3 = (byte *)arg;\n            pbVar5 = &DAT_000639e9;\n            do {\n              if (iVar2 == 0) break;\n              iVar2 = iVar2 + -1;\n              bVar7 = *pbVar3 < *pbVar5;\n              bVar6 = *pbVar3 == *pbVar5;\n              pbVar3 = pbVar3 + 1;\n              pbVar5 = pbVar5 + 1;\n            } while (bVar6);\n            bVar8 = false;\n            bVar6 = (!bVar7 && !bVar6) == bVar7;\n            if (!bVar6) {\n              iVar2 = 4;\n              pbVar3 = (byte *)arg;\n              pbVar5 = &DAT_000639ea;\n              do {\n                if (iVar2 == 0) break;\n                iVar2 = iVar2 + -1;\n                bVar8 = *pbVar3 < *pbVar5;\n                bVar6 = *pbVar3 == *pbVar5;\n                pbVar3 = pbVar3 + 1;\n                pbVar5 = pbVar5 + 1;\n              } while (bVar6);\n              bVar7 = false;\n              bVar6 = (!bVar8 && !bVar6) == bVar8;\n              if (!bVar6) {\n                iVar2 = 6;\n                pbVar3 = (byte *)arg;\n                pbVar5 = (byte *)"ilp32";\n                do {\n                  if (iVar2 == 0) break;\n                  iVar2 = iVar2 + -1;\n                  bVar7 = *pbVar3 < *pbVar5;\n                  bVar6 = *pbVar3 == *pbVar5;\n                  pbVar3 = pbVar3 + 1;\n                  pbVar5 = pbVar5 + 1;\n                } while (bVar6);\n                bVar8 = false;\n                bVar6 = (!bVar7 && !bVar6) == bVar7;\n                if (bVar6) {\n                  md.flags = md.flags & 0xffffffef;\n                  return 1;\n                }\n                iVar2 = 3;\n                pbVar3 = (byte *)arg;\n                pbVar5 = (byte *)0x5a287;\n                do {\n                  if (iVar2 == 0) break;\n                  iVar2 = iVar2 + -1;\n                  bVar8 = *pbVar3 < *pbVar5;\n                  bVar6 = *pbVar3 == *pbVar5;\n                  pbVar3 = pbVar3 + 1;\n                  pbVar5 = pbVar5 + 1;\n                } while (bVar6);\n                bVar7 = false;\n                bVar6 = (!bVar8 && !bVar6) == bVar8;\n                if (bVar6) {\n                  md.flags = md.flags & 0xfffffff7;\n                  default_big_endian = 0;\n                  return 1;\n                }\n                iVar2 = 3;\n                pbVar3 = (byte *)arg;\n                pbVar5 = &DAT_00063a90;\n                do {\n                  if (iVar2 == 0) break;\n                  iVar2 = iVar2 + -1;\n                  bVar7 = *pbVar3 < *pbVar5;\n                  bVar6 = *pbVar3 == *pbVar5;\n                  pbVar3 = pbVar3 + 1;\n                  pbVar5 = pbVar5 + 1;\n                } while (bVar6);\n                bVar8 = false;\n                bVar6 = (!bVar7 && !bVar6) == bVar7;\n                if (bVar6) {\n                  md.flags = md.flags | 8;\n                  default_big_endian = 1;\n                  return 1;\n                }\n                iVar2 = 0xd;\n                pbVar3 = (byte *)arg;\n                pbVar5 = (byte *)"unwind-check=";\n                do {\n                  if (iVar2 == 0) break;\n                  iVar2 = iVar2 + -1;\n                  bVar8 = *pbVar3 < *pbVar5;\n                  bVar6 = *pbVar3 == *pbVar5;\n                  pbVar3 = pbVar3 + 1;\n                  pbVar5 = pbVar5 + 1;\n                } while (bVar6);\n                if ((!bVar8 && !bVar6) == bVar8) {\n                  iVar2 = strcmp(arg + 0xd,"warning");\n                  if (iVar2 == 0) {\n                    md.unwind_check = CMP_NONE;\n                    return 1;\n                  }\n                  iVar2 = strcmp(arg + 0xd,"error");\n                  if (iVar2 == 0) {\n                    md.unwind_check = CMP_OR;\n                    return 1;\n                  }\n                  return 0;\n                }\n                iVar2 = strncmp(arg,"hint.b=",7);\n                if (iVar2 != 0) {\n                  iVar2 = strncmp(arg,"tune=",5);\n                  if (iVar2 != 0) {\n                    return 0;\n                  }\n                  iVar2 = strcmp(arg + 5,"itanium1");\n                  if (iVar2 != 0) {\n                    iVar2 = strcmp(arg + 5,"itanium2");\n                    if (iVar2 == 0) {\n                      md.tune = CMP_OR;\n                      return 1;\n                    }\n                    return 0;\n                  }\n                  md.tune = CMP_NONE;\n                  return 1;\n                }\n                pcVar4 = arg + 7;\n                iVar2 = strcmp(pcVar4,"ok");\n                if (iVar2 == 0) {\n                  md.hint_b = CMP_AND;\n                  return 1;\n                }\n                iVar2 = strcmp(pcVar4,"warning");\n                if (iVar2 != 0) {\n                  iVar2 = strcmp(pcVar4,"error");\n                  if (iVar2 == 0) {\n                    md.hint_b = CMP_NONE;\n                    return 1;\n                  }\n                  return 0;\n                }\n                md.hint_b = CMP_OR;\n                return 1;\n              }\n            }\n          }\n          md.flags = md.flags | 0x10;\n          return 1;\n        }\n      }\n      else {\n        if (c == 0x123) {\n          md.flags = md.flags | 0x40;\n          return 1;\n        }\n        if (c == 0x124) {\n          md.flags = md.flags | 0x80;\n          return 1;\n        }\n      }\n      return 0;\n    }\n    bVar6 = (uint)c < 0x4e;\n    bVar8 = c == 0x4e;\n    if (!bVar8) {\n      if (c != 0x53) {\n        return (uint)(c == 0x43);\n      }\n      return 1;\n    }\n    iVar2 = 3;\n    pbVar3 = (byte *)arg;\n    pbVar5 = &DAT_00063a25;\n    do {\n      if (iVar2 == 0) break;\n      iVar2 = iVar2 + -1;\n      bVar6 = *pbVar3 < *pbVar5;\n      bVar8 = *pbVar3 == *pbVar5;\n      pbVar3 = pbVar3 + 1;\n      pbVar5 = pbVar5 + 1;\n    } while (bVar8);\n    bVar7 = false;\n    bVar6 = (!bVar6 && !bVar8) == bVar6;\n    if (bVar6) {\n      return 1;\n    }\n    iVar2 = 3;\n    pbVar3 = (byte *)arg;\n    pbVar5 = &DAT_00063a28;\n    do {\n      if (iVar2 == 0) break;\n      iVar2 = iVar2 + -1;\n      bVar7 = *pbVar3 < *pbVar5;\n      bVar6 = *pbVar3 == *pbVar5;\n      pbVar3 = pbVar3 + 1;\n      pbVar5 = pbVar5 + 1;\n    } while (bVar6);\n    bVar8 = false;\n    bVar7 = (!bVar7 && !bVar6) == bVar7;\n    if (bVar7) {\n      return 1;\n    }\n    iVar2 = 3;\n    pbVar3 = (byte *)arg;\n    pbVar5 = (byte *)0x5f92c;\n    do {\n      if (iVar2 == 0) break;\n      iVar2 = iVar2 + -1;\n      bVar8 = *pbVar3 < *pbVar5;\n      bVar7 = *pbVar3 == *pbVar5;\n      pbVar3 = pbVar3 + 1;\n      pbVar5 = pbVar5 + 1;\n    } while (bVar7);\n    bVar6 = false;\n    bVar8 = (!bVar8 && !bVar7) == bVar8;\n    if (bVar8) {\n      return 1;\n    }\n    iVar2 = 0xd;\n    pcVar4 = "close_fcalls";\n  }" { (if_statement "if (0x61 < c) {\n      if (c == 0x78) {\n        bVar6 = false;\n        bVar8 = arg == (char *)0x0;\n        if (!bVar8) {\n          iVar2 = 9;\n          pbVar3 = (byte *)arg;\n          pbVar5 = (byte *)"explicit";\n          do {\n            if (iVar2 == 0) break;\n            iVar2 = iVar2 + -1;\n            bVar6 = *pbVar3 < *pbVar5;\n            bVar8 = *pbVar3 == *pbVar5;\n            pbVar3 = pbVar3 + 1;\n            pbVar5 = pbVar5 + 1;\n          } while (bVar8);\n          bVar7 = false;\n          bVar6 = (!bVar6 && !bVar8) == bVar6;\n          if (!bVar6) {\n            iVar2 = 5;\n            pbVar3 = (byte *)arg;\n            pbVar5 = &DAT_00063a4b;\n            do {\n              if (iVar2 == 0) break;\n              iVar2 = iVar2 + -1;\n              bVar7 = *pbVar3 < *pbVar5;\n              bVar6 = *pbVar3 == *pbVar5;\n              pbVar3 = pbVar3 + 1;\n              pbVar5 = pbVar5 + 1;\n            } while (bVar6);\n            bVar8 = false;\n            bVar6 = (!bVar7 && !bVar6) == bVar7;\n            if (bVar6) {\n              md._48_1_ = md._48_1_ & 0xef | 4;\n              return 1;\n            }\n            iVar2 = 5;\n            pbVar3 = (byte *)arg;\n            pbVar5 = &DAT_0005a335;\n            do {\n              if (iVar2 == 0) break;\n              iVar2 = iVar2 + -1;\n              bVar8 = *pbVar3 < *pbVar5;\n              bVar6 = *pbVar3 == *pbVar5;\n              pbVar3 = pbVar3 + 1;\n              pbVar5 = pbVar5 + 1;\n            } while (bVar6);\n            bVar7 = false;\n            bVar6 = (!bVar8 && !bVar6) == bVar8;\n            if (bVar6) {\n              md._48_1_ = md._48_1_ & 0xfb;\n              return 1;\n            }\n            iVar2 = 6;\n            pcVar4 = " debug";\n            pbVar3 = (byte *)arg;\n            do {\n              pcVar4 = (char *)((byte *)pcVar4 + 1);\n              if (iVar2 == 0) break;\n              iVar2 = iVar2 + -1;\n              bVar7 = *pbVar3 < (byte)*pcVar4;\n              bVar6 = *pbVar3 == *pcVar4;\n              pbVar3 = pbVar3 + 1;\n            } while (bVar6);\n            bVar8 = false;\n            bVar6 = (!bVar7 && !bVar6) == bVar7;\n            if (bVar6) {\n              md._48_1_ = md._48_1_ | 6;\n              return 1;\n            }\n            iVar2 = 7;\n            pbVar3 = (byte *)arg;\n            pbVar5 = (byte *)"debugx";\n            do {\n              if (iVar2 == 0) break;\n              iVar2 = iVar2 + -1;\n              bVar8 = *pbVar3 < *pbVar5;\n              bVar6 = *pbVar3 == *pbVar5;\n              pbVar3 = pbVar3 + 1;\n              pbVar5 = pbVar5 + 1;\n            } while (bVar6);\n            bVar7 = false;\n            bVar6 = (!bVar8 && !bVar6) == bVar8;\n            if (bVar6) {\n              md._48_1_ = md._48_1_ | 0x16;\n              return 1;\n            }\n            iVar2 = 7;\n            pbVar3 = (byte *)arg;\n            pbVar5 = (byte *)"debugn";\n            do {\n              if (iVar2 == 0) break;\n              iVar2 = iVar2 + -1;\n              bVar7 = *pbVar3 < *pbVar5;\n              bVar6 = *pbVar3 == *pbVar5;\n              pbVar3 = pbVar3 + 1;\n              pbVar5 = pbVar5 + 1;\n            } while (bVar6);\n            cVar1 = (!bVar7 && !bVar6) - bVar7;\n            if (cVar1 != '\0') {\n              md._48_1_ = md._48_1_ | 4;\n              pcVar4 = (char *)dcgettext(0,"Unrecognized option \'-x%s\'",5,cVar1);\n              as_bad(pcVar4,arg);\n              return 1;\n            }\n            md._48_1_ = md._48_1_ & 0xf9 | 2;\n            return 1;\n          }\n        }\n        md._48_1_ = md._48_1_ | 0x14;\n        return 1;\n      }\n      if (c < 0x79) {\n        bVar6 = (uint)c < 0x6d;\n        bVar8 = c == 0x6d;\n        if (bVar8) {\n          iVar2 = 6;\n          pbVar3 = (byte *)arg;\n          pbVar5 = &DAT_000639e8;\n          do {\n            if (iVar2 == 0) break;\n            iVar2 = iVar2 + -1;\n            bVar6 = *pbVar3 < *pbVar5;\n            bVar8 = *pbVar3 == *pbVar5;\n            pbVar3 = pbVar3 + 1;\n            pbVar5 = pbVar5 + 1;\n          } while (bVar8);\n          bVar7 = false;\n          bVar6 = (!bVar6 && !bVar8) == bVar6;\n          if (!bVar6) {\n            iVar2 = 5;\n            pbVar3 = (byte *)arg;\n            pbVar5 = &DAT_000639e9;\n            do {\n              if (iVar2 == 0) break;\n              iVar2 = iVar2 + -1;\n              bVar7 = *pbVar3 < *pbVar5;\n              bVar6 = *pbVar3 == *pbVar5;\n              pbVar3 = pbVar3 + 1;\n              pbVar5 = pbVar5 + 1;\n            } while (bVar6);\n            bVar8 = false;\n            bVar6 = (!bVar7 && !bVar6) == bVar7;\n            if (!bVar6) {\n              iVar2 = 4;\n              pbVar3 = (byte *)arg;\n              pbVar5 = &DAT_000639ea;\n              do {\n                if (iVar2 == 0) break;\n                iVar2 = iVar2 + -1;\n                bVar8 = *pbVar3 < *pbVar5;\n                bVar6 = *pbVar3 == *pbVar5;\n                pbVar3 = pbVar3 + 1;\n                pbVar5 = pbVar5 + 1;\n              } while (bVar6);\n              bVar7 = false;\n              bVar6 = (!bVar8 && !bVar6) == bVar8;\n              if (!bVar6) {\n                iVar2 = 6;\n                pbVar3 = (byte *)arg;\n                pbVar5 = (byte *)"ilp32";\n                do {\n                  if (iVar2 == 0) break;\n                  iVar2 = iVar2 + -1;\n                  bVar7 = *pbVar3 < *pbVar5;\n                  bVar6 = *pbVar3 == *pbVar5;\n                  pbVar3 = pbVar3 + 1;\n                  pbVar5 = pbVar5 + 1;\n                } while (bVar6);\n                bVar8 = false;\n                bVar6 = (!bVar7 && !bVar6) == bVar7;\n                if (bVar6) {\n                  md.flags = md.flags & 0xffffffef;\n                  return 1;\n                }\n                iVar2 = 3;\n                pbVar3 = (byte *)arg;\n                pbVar5 = (byte *)0x5a287;\n                do {\n                  if (iVar2 == 0) break;\n                  iVar2 = iVar2 + -1;\n                  bVar8 = *pbVar3 < *pbVar5;\n                  bVar6 = *pbVar3 == *pbVar5;\n                  pbVar3 = pbVar3 + 1;\n                  pbVar5 = pbVar5 + 1;\n                } while (bVar6);\n                bVar7 = false;\n                bVar6 = (!bVar8 && !bVar6) == bVar8;\n                if (bVar6) {\n                  md.flags = md.flags & 0xfffffff7;\n                  default_big_endian = 0;\n                  return 1;\n                }\n                iVar2 = 3;\n                pbVar3 = (byte *)arg;\n                pbVar5 = &DAT_00063a90;\n                do {\n                  if (iVar2 == 0) break;\n                  iVar2 = iVar2 + -1;\n                  bVar7 = *pbVar3 < *pbVar5;\n                  bVar6 = *pbVar3 == *pbVar5;\n                  pbVar3 = pbVar3 + 1;\n                  pbVar5 = pbVar5 + 1;\n                } while (bVar6);\n                bVar8 = false;\n                bVar6 = (!bVar7 && !bVar6) == bVar7;\n                if (bVar6) {\n                  md.flags = md.flags | 8;\n                  default_big_endian = 1;\n                  return 1;\n                }\n                iVar2 = 0xd;\n                pbVar3 = (byte *)arg;\n                pbVar5 = (byte *)"unwind-check=";\n                do {\n                  if (iVar2 == 0) break;\n                  iVar2 = iVar2 + -1;\n                  bVar8 = *pbVar3 < *pbVar5;\n                  bVar6 = *pbVar3 == *pbVar5;\n                  pbVar3 = pbVar3 + 1;\n                  pbVar5 = pbVar5 + 1;\n                } while (bVar6);\n                if ((!bVar8 && !bVar6) == bVar8) {\n                  iVar2 = strcmp(arg + 0xd,"warning");\n                  if (iVar2 == 0) {\n                    md.unwind_check = CMP_NONE;\n                    return 1;\n                  }\n                  iVar2 = strcmp(arg + 0xd,"error");\n                  if (iVar2 == 0) {\n                    md.unwind_check = CMP_OR;\n                    return 1;\n                  }\n                  return 0;\n                }\n                iVar2 = strncmp(arg,"hint.b=",7);\n                if (iVar2 != 0) {\n                  iVar2 = strncmp(arg,"tune=",5);\n                  if (iVar2 != 0) {\n                    return 0;\n                  }\n                  iVar2 = strcmp(arg + 5,"itanium1");\n                  if (iVar2 != 0) {\n                    iVar2 = strcmp(arg + 5,"itanium2");\n                    if (iVar2 == 0) {\n                      md.tune = CMP_OR;\n                      return 1;\n                    }\n                    return 0;\n                  }\n                  md.tune = CMP_NONE;\n                  return 1;\n                }\n                pcVar4 = arg + 7;\n                iVar2 = strcmp(pcVar4,"ok");\n                if (iVar2 == 0) {\n                  md.hint_b = CMP_AND;\n                  return 1;\n                }\n                iVar2 = strcmp(pcVar4,"warning");\n                if (iVar2 != 0) {\n                  iVar2 = strcmp(pcVar4,"error");\n                  if (iVar2 == 0) {\n                    md.hint_b = CMP_NONE;\n                    return 1;\n                  }\n                  return 0;\n                }\n                md.hint_b = CMP_OR;\n                return 1;\n              }\n            }\n          }\n          md.flags = md.flags | 0x10;\n          return 1;\n        }\n      }\n      else {\n        if (c == 0x123) {\n          md.flags = md.flags | 0x40;\n          return 1;\n        }\n        if (c == 0x124) {\n          md.flags = md.flags | 0x80;\n          return 1;\n        }\n      }\n      return 0;\n    }" if (parenthesized_expression "(0x61 < c)" ( (binary_expression "0x61 < c" number_literal < identifier) )) (compound_statement "{\n      if (c == 0x78) {\n        bVar6 = false;\n        bVar8 = arg == (char *)0x0;\n        if (!bVar8) {\n          iVar2 = 9;\n          pbVar3 = (byte *)arg;\n          pbVar5 = (byte *)"explicit";\n          do {\n            if (iVar2 == 0) break;\n            iVar2 = iVar2 + -1;\n            bVar6 = *pbVar3 < *pbVar5;\n            bVar8 = *pbVar3 == *pbVar5;\n            pbVar3 = pbVar3 + 1;\n            pbVar5 = pbVar5 + 1;\n          } while (bVar8);\n          bVar7 = false;\n          bVar6 = (!bVar6 && !bVar8) == bVar6;\n          if (!bVar6) {\n            iVar2 = 5;\n            pbVar3 = (byte *)arg;\n            pbVar5 = &DAT_00063a4b;\n            do {\n              if (iVar2 == 0) break;\n              iVar2 = iVar2 + -1;\n              bVar7 = *pbVar3 < *pbVar5;\n              bVar6 = *pbVar3 == *pbVar5;\n              pbVar3 = pbVar3 + 1;\n              pbVar5 = pbVar5 + 1;\n            } while (bVar6);\n            bVar8 = false;\n            bVar6 = (!bVar7 && !bVar6) == bVar7;\n            if (bVar6) {\n              md._48_1_ = md._48_1_ & 0xef | 4;\n              return 1;\n            }\n            iVar2 = 5;\n            pbVar3 = (byte *)arg;\n            pbVar5 = &DAT_0005a335;\n            do {\n              if (iVar2 == 0) break;\n              iVar2 = iVar2 + -1;\n              bVar8 = *pbVar3 < *pbVar5;\n              bVar6 = *pbVar3 == *pbVar5;\n              pbVar3 = pbVar3 + 1;\n              pbVar5 = pbVar5 + 1;\n            } while (bVar6);\n            bVar7 = false;\n            bVar6 = (!bVar8 && !bVar6) == bVar8;\n            if (bVar6) {\n              md._48_1_ = md._48_1_ & 0xfb;\n              return 1;\n            }\n            iVar2 = 6;\n            pcVar4 = " debug";\n            pbVar3 = (byte *)arg;\n            do {\n              pcVar4 = (char *)((byte *)pcVar4 + 1);\n              if (iVar2 == 0) break;\n              iVar2 = iVar2 + -1;\n              bVar7 = *pbVar3 < (byte)*pcVar4;\n              bVar6 = *pbVar3 == *pcVar4;\n              pbVar3 = pbVar3 + 1;\n            } while (bVar6);\n            bVar8 = false;\n            bVar6 = (!bVar7 && !bVar6) == bVar7;\n            if (bVar6) {\n              md._48_1_ = md._48_1_ | 6;\n              return 1;\n            }\n            iVar2 = 7;\n            pbVar3 = (byte *)arg;\n            pbVar5 = (byte *)"debugx";\n            do {\n              if (iVar2 == 0) break;\n              iVar2 = iVar2 + -1;\n              bVar8 = *pbVar3 < *pbVar5;\n              bVar6 = *pbVar3 == *pbVar5;\n              pbVar3 = pbVar3 + 1;\n              pbVar5 = pbVar5 + 1;\n            } while (bVar6);\n            bVar7 = false;\n            bVar6 = (!bVar8 && !bVar6) == bVar8;\n            if (bVar6) {\n              md._48_1_ = md._48_1_ | 0x16;\n              return 1;\n            }\n            iVar2 = 7;\n            pbVar3 = (byte *)arg;\n            pbVar5 = (byte *)"debugn";\n            do {\n              if (iVar2 == 0) break;\n              iVar2 = iVar2 + -1;\n              bVar7 = *pbVar3 < *pbVar5;\n              bVar6 = *pbVar3 == *pbVar5;\n              pbVar3 = pbVar3 + 1;\n              pbVar5 = pbVar5 + 1;\n            } while (bVar6);\n            cVar1 = (!bVar7 && !bVar6) - bVar7;\n            if (cVar1 != '\0') {\n              md._48_1_ = md._48_1_ | 4;\n              pcVar4 = (char *)dcgettext(0,"Unrecognized option \'-x%s\'",5,cVar1);\n              as_bad(pcVar4,arg);\n              return 1;\n            }\n            md._48_1_ = md._48_1_ & 0xf9 | 2;\n            return 1;\n          }\n        }\n        md._48_1_ = md._48_1_ | 0x14;\n        return 1;\n      }\n      if (c < 0x79) {\n        bVar6 = (uint)c < 0x6d;\n        bVar8 = c == 0x6d;\n        if (bVar8) {\n          iVar2 = 6;\n          pbVar3 = (byte *)arg;\n          pbVar5 = &DAT_000639e8;\n          do {\n            if (iVar2 == 0) break;\n            iVar2 = iVar2 + -1;\n            bVar6 = *pbVar3 < *pbVar5;\n            bVar8 = *pbVar3 == *pbVar5;\n            pbVar3 = pbVar3 + 1;\n            pbVar5 = pbVar5 + 1;\n          } while (bVar8);\n          bVar7 = false;\n          bVar6 = (!bVar6 && !bVar8) == bVar6;\n          if (!bVar6) {\n            iVar2 = 5;\n            pbVar3 = (byte *)arg;\n            pbVar5 = &DAT_000639e9;\n            do {\n              if (iVar2 == 0) break;\n              iVar2 = iVar2 + -1;\n              bVar7 = *pbVar3 < *pbVar5;\n              bVar6 = *pbVar3 == *pbVar5;\n              pbVar3 = pbVar3 + 1;\n              pbVar5 = pbVar5 + 1;\n            } while (bVar6);\n            bVar8 = false;\n            bVar6 = (!bVar7 && !bVar6) == bVar7;\n            if (!bVar6) {\n              iVar2 = 4;\n              pbVar3 = (byte *)arg;\n              pbVar5 = &DAT_000639ea;\n              do {\n                if (iVar2 == 0) break;\n                iVar2 = iVar2 + -1;\n                bVar8 = *pbVar3 < *pbVar5;\n                bVar6 = *pbVar3 == *pbVar5;\n                pbVar3 = pbVar3 + 1;\n                pbVar5 = pbVar5 + 1;\n              } while (bVar6);\n              bVar7 = false;\n              bVar6 = (!bVar8 && !bVar6) == bVar8;\n              if (!bVar6) {\n                iVar2 = 6;\n                pbVar3 = (byte *)arg;\n                pbVar5 = (byte *)"ilp32";\n                do {\n                  if (iVar2 == 0) break;\n                  iVar2 = iVar2 + -1;\n                  bVar7 = *pbVar3 < *pbVar5;\n                  bVar6 = *pbVar3 == *pbVar5;\n                  pbVar3 = pbVar3 + 1;\n                  pbVar5 = pbVar5 + 1;\n                } while (bVar6);\n                bVar8 = false;\n                bVar6 = (!bVar7 && !bVar6) == bVar7;\n                if (bVar6) {\n                  md.flags = md.flags & 0xffffffef;\n                  return 1;\n                }\n                iVar2 = 3;\n                pbVar3 = (byte *)arg;\n                pbVar5 = (byte *)0x5a287;\n                do {\n                  if (iVar2 == 0) break;\n                  iVar2 = iVar2 + -1;\n                  bVar8 = *pbVar3 < *pbVar5;\n                  bVar6 = *pbVar3 == *pbVar5;\n                  pbVar3 = pbVar3 + 1;\n                  pbVar5 = pbVar5 + 1;\n                } while (bVar6);\n                bVar7 = false;\n                bVar6 = (!bVar8 && !bVar6) == bVar8;\n                if (bVar6) {\n                  md.flags = md.flags & 0xfffffff7;\n                  default_big_endian = 0;\n                  return 1;\n                }\n                iVar2 = 3;\n                pbVar3 = (byte *)arg;\n                pbVar5 = &DAT_00063a90;\n                do {\n                  if (iVar2 == 0) break;\n                  iVar2 = iVar2 + -1;\n                  bVar7 = *pbVar3 < *pbVar5;\n                  bVar6 = *pbVar3 == *pbVar5;\n                  pbVar3 = pbVar3 + 1;\n                  pbVar5 = pbVar5 + 1;\n                } while (bVar6);\n                bVar8 = false;\n                bVar6 = (!bVar7 && !bVar6) == bVar7;\n                if (bVar6) {\n                  md.flags = md.flags | 8;\n                  default_big_endian = 1;\n                  return 1;\n                }\n                iVar2 = 0xd;\n                pbVar3 = (byte *)arg;\n                pbVar5 = (byte *)"unwind-check=";\n                do {\n                  if (iVar2 == 0) break;\n                  iVar2 = iVar2 + -1;\n                  bVar8 = *pbVar3 < *pbVar5;\n                  bVar6 = *pbVar3 == *pbVar5;\n                  pbVar3 = pbVar3 + 1;\n                  pbVar5 = pbVar5 + 1;\n                } while (bVar6);\n                if ((!bVar8 && !bVar6) == bVar8) {\n                  iVar2 = strcmp(arg + 0xd,"warning");\n                  if (iVar2 == 0) {\n                    md.unwind_check = CMP_NONE;\n                    return 1;\n                  }\n                  iVar2 = strcmp(arg + 0xd,"error");\n                  if (iVar2 == 0) {\n                    md.unwind_check = CMP_OR;\n                    return 1;\n                  }\n                  return 0;\n                }\n                iVar2 = strncmp(arg,"hint.b=",7);\n                if (iVar2 != 0) {\n                  iVar2 = strncmp(arg,"tune=",5);\n                  if (iVar2 != 0) {\n                    return 0;\n                  }\n                  iVar2 = strcmp(arg + 5,"itanium1");\n                  if (iVar2 != 0) {\n                    iVar2 = strcmp(arg + 5,"itanium2");\n                    if (iVar2 == 0) {\n                      md.tune = CMP_OR;\n                      return 1;\n                    }\n                    return 0;\n                  }\n                  md.tune = CMP_NONE;\n                  return 1;\n                }\n                pcVar4 = arg + 7;\n                iVar2 = strcmp(pcVar4,"ok");\n                if (iVar2 == 0) {\n                  md.hint_b = CMP_AND;\n                  return 1;\n                }\n                iVar2 = strcmp(pcVar4,"warning");\n                if (iVar2 != 0) {\n                  iVar2 = strcmp(pcVar4,"error");\n                  if (iVar2 == 0) {\n                    md.hint_b = CMP_NONE;\n                    return 1;\n                  }\n                  return 0;\n                }\n                md.hint_b = CMP_OR;\n                return 1;\n              }\n            }\n          }\n          md.flags = md.flags | 0x10;\n          return 1;\n        }\n      }\n      else {\n        if (c == 0x123) {\n          md.flags = md.flags | 0x40;\n          return 1;\n        }\n        if (c == 0x124) {\n          md.flags = md.flags | 0x80;\n          return 1;\n        }\n      }\n      return 0;\n    }" { (if_statement "if (c == 0x78) {\n        bVar6 = false;\n        bVar8 = arg == (char *)0x0;\n        if (!bVar8) {\n          iVar2 = 9;\n          pbVar3 = (byte *)arg;\n          pbVar5 = (byte *)"explicit";\n          do {\n            if (iVar2 == 0) break;\n            iVar2 = iVar2 + -1;\n            bVar6 = *pbVar3 < *pbVar5;\n            bVar8 = *pbVar3 == *pbVar5;\n            pbVar3 = pbVar3 + 1;\n            pbVar5 = pbVar5 + 1;\n          } while (bVar8);\n          bVar7 = false;\n          bVar6 = (!bVar6 && !bVar8) == bVar6;\n          if (!bVar6) {\n            iVar2 = 5;\n            pbVar3 = (byte *)arg;\n            pbVar5 = &DAT_00063a4b;\n            do {\n              if (iVar2 == 0) break;\n              iVar2 = iVar2 + -1;\n              bVar7 = *pbVar3 < *pbVar5;\n              bVar6 = *pbVar3 == *pbVar5;\n              pbVar3 = pbVar3 + 1;\n              pbVar5 = pbVar5 + 1;\n            } while (bVar6);\n            bVar8 = false;\n            bVar6 = (!bVar7 && !bVar6) == bVar7;\n            if (bVar6) {\n              md._48_1_ = md._48_1_ & 0xef | 4;\n              return 1;\n            }\n            iVar2 = 5;\n            pbVar3 = (byte *)arg;\n            pbVar5 = &DAT_0005a335;\n            do {\n              if (iVar2 == 0) break;\n              iVar2 = iVar2 + -1;\n              bVar8 = *pbVar3 < *pbVar5;\n              bVar6 = *pbVar3 == *pbVar5;\n              pbVar3 = pbVar3 + 1;\n              pbVar5 = pbVar5 + 1;\n            } while (bVar6);\n            bVar7 = false;\n            bVar6 = (!bVar8 && !bVar6) == bVar8;\n            if (bVar6) {\n              md._48_1_ = md._48_1_ & 0xfb;\n              return 1;\n            }\n            iVar2 = 6;\n            pcVar4 = " debug";\n            pbVar3 = (byte *)arg;\n            do {\n              pcVar4 = (char *)((byte *)pcVar4 + 1);\n              if (iVar2 == 0) break;\n              iVar2 = iVar2 + -1;\n              bVar7 = *pbVar3 < (byte)*pcVar4;\n              bVar6 = *pbVar3 == *pcVar4;\n              pbVar3 = pbVar3 + 1;\n            } while (bVar6);\n            bVar8 = false;\n            bVar6 = (!bVar7 && !bVar6) == bVar7;\n            if (bVar6) {\n              md._48_1_ = md._48_1_ | 6;\n              return 1;\n            }\n            iVar2 = 7;\n            pbVar3 = (byte *)arg;\n            pbVar5 = (byte *)"debugx";\n            do {\n              if (iVar2 == 0) break;\n              iVar2 = iVar2 + -1;\n              bVar8 = *pbVar3 < *pbVar5;\n              bVar6 = *pbVar3 == *pbVar5;\n              pbVar3 = pbVar3 + 1;\n              pbVar5 = pbVar5 + 1;\n            } while (bVar6);\n            bVar7 = false;\n            bVar6 = (!bVar8 && !bVar6) == bVar8;\n            if (bVar6) {\n              md._48_1_ = md._48_1_ | 0x16;\n              return 1;\n            }\n            iVar2 = 7;\n            pbVar3 = (byte *)arg;\n            pbVar5 = (byte *)"debugn";\n            do {\n              if (iVar2 == 0) break;\n              iVar2 = iVar2 + -1;\n              bVar7 = *pbVar3 < *pbVar5;\n              bVar6 = *pbVar3 == *pbVar5;\n              pbVar3 = pbVar3 + 1;\n              pbVar5 = pbVar5 + 1;\n            } while (bVar6);\n            cVar1 = (!bVar7 && !bVar6) - bVar7;\n            if (cVar1 != '\0') {\n              md._48_1_ = md._48_1_ | 4;\n              pcVar4 = (char *)dcgettext(0,"Unrecognized option \'-x%s\'",5,cVar1);\n              as_bad(pcVar4,arg);\n              return 1;\n            }\n            md._48_1_ = md._48_1_ & 0xf9 | 2;\n            return 1;\n          }\n        }\n        md._48_1_ = md._48_1_ | 0x14;\n        return 1;\n      }" if (parenthesized_expression "(c == 0x78)" ( (binary_expression "c == 0x78" identifier == number_literal) )) (compound_statement "{\n        bVar6 = false;\n        bVar8 = arg == (char *)0x0;\n        if (!bVar8) {\n          iVar2 = 9;\n          pbVar3 = (byte *)arg;\n          pbVar5 = (byte *)"explicit";\n          do {\n            if (iVar2 == 0) break;\n            iVar2 = iVar2 + -1;\n            bVar6 = *pbVar3 < *pbVar5;\n            bVar8 = *pbVar3 == *pbVar5;\n            pbVar3 = pbVar3 + 1;\n            pbVar5 = pbVar5 + 1;\n          } while (bVar8);\n          bVar7 = false;\n          bVar6 = (!bVar6 && !bVar8) == bVar6;\n          if (!bVar6) {\n            iVar2 = 5;\n            pbVar3 = (byte *)arg;\n            pbVar5 = &DAT_00063a4b;\n            do {\n              if (iVar2 == 0) break;\n              iVar2 = iVar2 + -1;\n              bVar7 = *pbVar3 < *pbVar5;\n              bVar6 = *pbVar3 == *pbVar5;\n              pbVar3 = pbVar3 + 1;\n              pbVar5 = pbVar5 + 1;\n            } while (bVar6);\n            bVar8 = false;\n            bVar6 = (!bVar7 && !bVar6) == bVar7;\n            if (bVar6) {\n              md._48_1_ = md._48_1_ & 0xef | 4;\n              return 1;\n            }\n            iVar2 = 5;\n            pbVar3 = (byte *)arg;\n            pbVar5 = &DAT_0005a335;\n            do {\n              if (iVar2 == 0) break;\n              iVar2 = iVar2 + -1;\n              bVar8 = *pbVar3 < *pbVar5;\n              bVar6 = *pbVar3 == *pbVar5;\n              pbVar3 = pbVar3 + 1;\n              pbVar5 = pbVar5 + 1;\n            } while (bVar6);\n            bVar7 = false;\n            bVar6 = (!bVar8 && !bVar6) == bVar8;\n            if (bVar6) {\n              md._48_1_ = md._48_1_ & 0xfb;\n              return 1;\n            }\n            iVar2 = 6;\n            pcVar4 = " debug";\n            pbVar3 = (byte *)arg;\n            do {\n              pcVar4 = (char *)((byte *)pcVar4 + 1);\n              if (iVar2 == 0) break;\n              iVar2 = iVar2 + -1;\n              bVar7 = *pbVar3 < (byte)*pcVar4;\n              bVar6 = *pbVar3 == *pcVar4;\n              pbVar3 = pbVar3 + 1;\n            } while (bVar6);\n            bVar8 = false;\n            bVar6 = (!bVar7 && !bVar6) == bVar7;\n            if (bVar6) {\n              md._48_1_ = md._48_1_ | 6;\n              return 1;\n            }\n            iVar2 = 7;\n            pbVar3 = (byte *)arg;\n            pbVar5 = (byte *)"debugx";\n            do {\n              if (iVar2 == 0) break;\n              iVar2 = iVar2 + -1;\n              bVar8 = *pbVar3 < *pbVar5;\n              bVar6 = *pbVar3 == *pbVar5;\n              pbVar3 = pbVar3 + 1;\n              pbVar5 = pbVar5 + 1;\n            } while (bVar6);\n            bVar7 = false;\n            bVar6 = (!bVar8 && !bVar6) == bVar8;\n            if (bVar6) {\n              md._48_1_ = md._48_1_ | 0x16;\n              return 1;\n            }\n            iVar2 = 7;\n            pbVar3 = (byte *)arg;\n            pbVar5 = (byte *)"debugn";\n            do {\n              if (iVar2 == 0) break;\n              iVar2 = iVar2 + -1;\n              bVar7 = *pbVar3 < *pbVar5;\n              bVar6 = *pbVar3 == *pbVar5;\n              pbVar3 = pbVar3 + 1;\n              pbVar5 = pbVar5 + 1;\n            } while (bVar6);\n            cVar1 = (!bVar7 && !bVar6) - bVar7;\n            if (cVar1 != '\0') {\n              md._48_1_ = md._48_1_ | 4;\n              pcVar4 = (char *)dcgettext(0,"Unrecognized option \'-x%s\'",5,cVar1);\n              as_bad(pcVar4,arg);\n              return 1;\n            }\n            md._48_1_ = md._48_1_ & 0xf9 | 2;\n            return 1;\n          }\n        }\n        md._48_1_ = md._48_1_ | 0x14;\n        return 1;\n      }" { (expression_statement "bVar6 = false;" (assignment_expression "bVar6 = false" identifier = false) ;) (expression_statement "bVar8 = arg == (char *)0x0;" (assignment_expression "bVar8 = arg == (char *)0x0" identifier = (binary_expression "arg == (char *)0x0" identifier == (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal))) ;) (if_statement "if (!bVar8) {\n          iVar2 = 9;\n          pbVar3 = (byte *)arg;\n          pbVar5 = (byte *)"explicit";\n          do {\n            if (iVar2 == 0) break;\n            iVar2 = iVar2 + -1;\n            bVar6 = *pbVar3 < *pbVar5;\n            bVar8 = *pbVar3 == *pbVar5;\n            pbVar3 = pbVar3 + 1;\n            pbVar5 = pbVar5 + 1;\n          } while (bVar8);\n          bVar7 = false;\n          bVar6 = (!bVar6 && !bVar8) == bVar6;\n          if (!bVar6) {\n            iVar2 = 5;\n            pbVar3 = (byte *)arg;\n            pbVar5 = &DAT_00063a4b;\n            do {\n              if (iVar2 == 0) break;\n              iVar2 = iVar2 + -1;\n              bVar7 = *pbVar3 < *pbVar5;\n              bVar6 = *pbVar3 == *pbVar5;\n              pbVar3 = pbVar3 + 1;\n              pbVar5 = pbVar5 + 1;\n            } while (bVar6);\n            bVar8 = false;\n            bVar6 = (!bVar7 && !bVar6) == bVar7;\n            if (bVar6) {\n              md._48_1_ = md._48_1_ & 0xef | 4;\n              return 1;\n            }\n            iVar2 = 5;\n            pbVar3 = (byte *)arg;\n            pbVar5 = &DAT_0005a335;\n            do {\n              if (iVar2 == 0) break;\n              iVar2 = iVar2 + -1;\n              bVar8 = *pbVar3 < *pbVar5;\n              bVar6 = *pbVar3 == *pbVar5;\n              pbVar3 = pbVar3 + 1;\n              pbVar5 = pbVar5 + 1;\n            } while (bVar6);\n            bVar7 = false;\n            bVar6 = (!bVar8 && !bVar6) == bVar8;\n            if (bVar6) {\n              md._48_1_ = md._48_1_ & 0xfb;\n              return 1;\n            }\n            iVar2 = 6;\n            pcVar4 = " debug";\n            pbVar3 = (byte *)arg;\n            do {\n              pcVar4 = (char *)((byte *)pcVar4 + 1);\n              if (iVar2 == 0) break;\n              iVar2 = iVar2 + -1;\n              bVar7 = *pbVar3 < (byte)*pcVar4;\n              bVar6 = *pbVar3 == *pcVar4;\n              pbVar3 = pbVar3 + 1;\n            } while (bVar6);\n            bVar8 = false;\n            bVar6 = (!bVar7 && !bVar6) == bVar7;\n            if (bVar6) {\n              md._48_1_ = md._48_1_ | 6;\n              return 1;\n            }\n            iVar2 = 7;\n            pbVar3 = (byte *)arg;\n            pbVar5 = (byte *)"debugx";\n            do {\n              if (iVar2 == 0) break;\n              iVar2 = iVar2 + -1;\n              bVar8 = *pbVar3 < *pbVar5;\n              bVar6 = *pbVar3 == *pbVar5;\n              pbVar3 = pbVar3 + 1;\n              pbVar5 = pbVar5 + 1;\n            } while (bVar6);\n            bVar7 = false;\n            bVar6 = (!bVar8 && !bVar6) == bVar8;\n            if (bVar6) {\n              md._48_1_ = md._48_1_ | 0x16;\n              return 1;\n            }\n            iVar2 = 7;\n            pbVar3 = (byte *)arg;\n            pbVar5 = (byte *)"debugn";\n            do {\n              if (iVar2 == 0) break;\n              iVar2 = iVar2 + -1;\n              bVar7 = *pbVar3 < *pbVar5;\n              bVar6 = *pbVar3 == *pbVar5;\n              pbVar3 = pbVar3 + 1;\n              pbVar5 = pbVar5 + 1;\n            } while (bVar6);\n            cVar1 = (!bVar7 && !bVar6) - bVar7;\n            if (cVar1 != '\0') {\n              md._48_1_ = md._48_1_ | 4;\n              pcVar4 = (char *)dcgettext(0,"Unrecognized option \'-x%s\'",5,cVar1);\n              as_bad(pcVar4,arg);\n              return 1;\n            }\n            md._48_1_ = md._48_1_ & 0xf9 | 2;\n            return 1;\n          }\n        }" if (parenthesized_expression "(!bVar8)" ( (unary_expression "!bVar8" ! identifier) )) (compound_statement "{\n          iVar2 = 9;\n          pbVar3 = (byte *)arg;\n          pbVar5 = (byte *)"explicit";\n          do {\n            if (iVar2 == 0) break;\n            iVar2 = iVar2 + -1;\n            bVar6 = *pbVar3 < *pbVar5;\n            bVar8 = *pbVar3 == *pbVar5;\n            pbVar3 = pbVar3 + 1;\n            pbVar5 = pbVar5 + 1;\n          } while (bVar8);\n          bVar7 = false;\n          bVar6 = (!bVar6 && !bVar8) == bVar6;\n          if (!bVar6) {\n            iVar2 = 5;\n            pbVar3 = (byte *)arg;\n            pbVar5 = &DAT_00063a4b;\n            do {\n              if (iVar2 == 0) break;\n              iVar2 = iVar2 + -1;\n              bVar7 = *pbVar3 < *pbVar5;\n              bVar6 = *pbVar3 == *pbVar5;\n              pbVar3 = pbVar3 + 1;\n              pbVar5 = pbVar5 + 1;\n            } while (bVar6);\n            bVar8 = false;\n            bVar6 = (!bVar7 && !bVar6) == bVar7;\n            if (bVar6) {\n              md._48_1_ = md._48_1_ & 0xef | 4;\n              return 1;\n            }\n            iVar2 = 5;\n            pbVar3 = (byte *)arg;\n            pbVar5 = &DAT_0005a335;\n            do {\n              if (iVar2 == 0) break;\n              iVar2 = iVar2 + -1;\n              bVar8 = *pbVar3 < *pbVar5;\n              bVar6 = *pbVar3 == *pbVar5;\n              pbVar3 = pbVar3 + 1;\n              pbVar5 = pbVar5 + 1;\n            } while (bVar6);\n            bVar7 = false;\n            bVar6 = (!bVar8 && !bVar6) == bVar8;\n            if (bVar6) {\n              md._48_1_ = md._48_1_ & 0xfb;\n              return 1;\n            }\n            iVar2 = 6;\n            pcVar4 = " debug";\n            pbVar3 = (byte *)arg;\n            do {\n              pcVar4 = (char *)((byte *)pcVar4 + 1);\n              if (iVar2 == 0) break;\n              iVar2 = iVar2 + -1;\n              bVar7 = *pbVar3 < (byte)*pcVar4;\n              bVar6 = *pbVar3 == *pcVar4;\n              pbVar3 = pbVar3 + 1;\n            } while (bVar6);\n            bVar8 = false;\n            bVar6 = (!bVar7 && !bVar6) == bVar7;\n            if (bVar6) {\n              md._48_1_ = md._48_1_ | 6;\n              return 1;\n            }\n            iVar2 = 7;\n            pbVar3 = (byte *)arg;\n            pbVar5 = (byte *)"debugx";\n            do {\n              if (iVar2 == 0) break;\n              iVar2 = iVar2 + -1;\n              bVar8 = *pbVar3 < *pbVar5;\n              bVar6 = *pbVar3 == *pbVar5;\n              pbVar3 = pbVar3 + 1;\n              pbVar5 = pbVar5 + 1;\n            } while (bVar6);\n            bVar7 = false;\n            bVar6 = (!bVar8 && !bVar6) == bVar8;\n            if (bVar6) {\n              md._48_1_ = md._48_1_ | 0x16;\n              return 1;\n            }\n            iVar2 = 7;\n            pbVar3 = (byte *)arg;\n            pbVar5 = (byte *)"debugn";\n            do {\n              if (iVar2 == 0) break;\n              iVar2 = iVar2 + -1;\n              bVar7 = *pbVar3 < *pbVar5;\n              bVar6 = *pbVar3 == *pbVar5;\n              pbVar3 = pbVar3 + 1;\n              pbVar5 = pbVar5 + 1;\n            } while (bVar6);\n            cVar1 = (!bVar7 && !bVar6) - bVar7;\n            if (cVar1 != '\0') {\n              md._48_1_ = md._48_1_ | 4;\n              pcVar4 = (char *)dcgettext(0,"Unrecognized option \'-x%s\'",5,cVar1);\n              as_bad(pcVar4,arg);\n              return 1;\n            }\n            md._48_1_ = md._48_1_ & 0xf9 | 2;\n            return 1;\n          }\n        }" { (expression_statement "iVar2 = 9;" (assignment_expression "iVar2 = 9" identifier = number_literal) ;) (expression_statement "pbVar3 = (byte *)arg;" (assignment_expression "pbVar3 = (byte *)arg" identifier = (cast_expression "(byte *)arg" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "pbVar5 = (byte *)"explicit";" (assignment_expression "pbVar5 = (byte *)"explicit"" identifier = (cast_expression "(byte *)"explicit"" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (string_literal ""explicit"" " string_content "))) ;) (do_statement "do {\n            if (iVar2 == 0) break;\n            iVar2 = iVar2 + -1;\n            bVar6 = *pbVar3 < *pbVar5;\n            bVar8 = *pbVar3 == *pbVar5;\n            pbVar3 = pbVar3 + 1;\n            pbVar5 = pbVar5 + 1;\n          } while (bVar8);" do (compound_statement "{\n            if (iVar2 == 0) break;\n            iVar2 = iVar2 + -1;\n            bVar6 = *pbVar3 < *pbVar5;\n            bVar8 = *pbVar3 == *pbVar5;\n            pbVar3 = pbVar3 + 1;\n            pbVar5 = pbVar5 + 1;\n          }" { (if_statement "if (iVar2 == 0) break;" if (parenthesized_expression "(iVar2 == 0)" ( (binary_expression "iVar2 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "iVar2 = iVar2 + -1;" (assignment_expression "iVar2 = iVar2 + -1" identifier = (binary_expression "iVar2 + -1" identifier + number_literal)) ;) (expression_statement "bVar6 = *pbVar3 < *pbVar5;" (assignment_expression "bVar6 = *pbVar3 < *pbVar5" identifier = (binary_expression "*pbVar3 < *pbVar5" (pointer_expression "*pbVar3" * identifier) < (pointer_expression "*pbVar5" * identifier))) ;) (expression_statement "bVar8 = *pbVar3 == *pbVar5;" (assignment_expression "bVar8 = *pbVar3 == *pbVar5" identifier = (binary_expression "*pbVar3 == *pbVar5" (pointer_expression "*pbVar3" * identifier) == (pointer_expression "*pbVar5" * identifier))) ;) (expression_statement "pbVar3 = pbVar3 + 1;" (assignment_expression "pbVar3 = pbVar3 + 1" identifier = (binary_expression "pbVar3 + 1" identifier + number_literal)) ;) (expression_statement "pbVar5 = pbVar5 + 1;" (assignment_expression "pbVar5 = pbVar5 + 1" identifier = (binary_expression "pbVar5 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(bVar8)" ( identifier )) ;) (expression_statement "bVar7 = false;" (assignment_expression "bVar7 = false" identifier = false) ;) (expression_statement "bVar6 = (!bVar6 && !bVar8) == bVar6;" (assignment_expression "bVar6 = (!bVar6 && !bVar8) == bVar6" identifier = (binary_expression "(!bVar6 && !bVar8) == bVar6" (parenthesized_expression "(!bVar6 && !bVar8)" ( (binary_expression "!bVar6 && !bVar8" (unary_expression "!bVar6" ! identifier) && (unary_expression "!bVar8" ! identifier)) )) == identifier)) ;) (if_statement "if (!bVar6) {\n            iVar2 = 5;\n            pbVar3 = (byte *)arg;\n            pbVar5 = &DAT_00063a4b;\n            do {\n              if (iVar2 == 0) break;\n              iVar2 = iVar2 + -1;\n              bVar7 = *pbVar3 < *pbVar5;\n              bVar6 = *pbVar3 == *pbVar5;\n              pbVar3 = pbVar3 + 1;\n              pbVar5 = pbVar5 + 1;\n            } while (bVar6);\n            bVar8 = false;\n            bVar6 = (!bVar7 && !bVar6) == bVar7;\n            if (bVar6) {\n              md._48_1_ = md._48_1_ & 0xef | 4;\n              return 1;\n            }\n            iVar2 = 5;\n            pbVar3 = (byte *)arg;\n            pbVar5 = &DAT_0005a335;\n            do {\n              if (iVar2 == 0) break;\n              iVar2 = iVar2 + -1;\n              bVar8 = *pbVar3 < *pbVar5;\n              bVar6 = *pbVar3 == *pbVar5;\n              pbVar3 = pbVar3 + 1;\n              pbVar5 = pbVar5 + 1;\n            } while (bVar6);\n            bVar7 = false;\n            bVar6 = (!bVar8 && !bVar6) == bVar8;\n            if (bVar6) {\n              md._48_1_ = md._48_1_ & 0xfb;\n              return 1;\n            }\n            iVar2 = 6;\n            pcVar4 = " debug";\n            pbVar3 = (byte *)arg;\n            do {\n              pcVar4 = (char *)((byte *)pcVar4 + 1);\n              if (iVar2 == 0) break;\n              iVar2 = iVar2 + -1;\n              bVar7 = *pbVar3 < (byte)*pcVar4;\n              bVar6 = *pbVar3 == *pcVar4;\n              pbVar3 = pbVar3 + 1;\n            } while (bVar6);\n            bVar8 = false;\n            bVar6 = (!bVar7 && !bVar6) == bVar7;\n            if (bVar6) {\n              md._48_1_ = md._48_1_ | 6;\n              return 1;\n            }\n            iVar2 = 7;\n            pbVar3 = (byte *)arg;\n            pbVar5 = (byte *)"debugx";\n            do {\n              if (iVar2 == 0) break;\n              iVar2 = iVar2 + -1;\n              bVar8 = *pbVar3 < *pbVar5;\n              bVar6 = *pbVar3 == *pbVar5;\n              pbVar3 = pbVar3 + 1;\n              pbVar5 = pbVar5 + 1;\n            } while (bVar6);\n            bVar7 = false;\n            bVar6 = (!bVar8 && !bVar6) == bVar8;\n            if (bVar6) {\n              md._48_1_ = md._48_1_ | 0x16;\n              return 1;\n            }\n            iVar2 = 7;\n            pbVar3 = (byte *)arg;\n            pbVar5 = (byte *)"debugn";\n            do {\n              if (iVar2 == 0) break;\n              iVar2 = iVar2 + -1;\n              bVar7 = *pbVar3 < *pbVar5;\n              bVar6 = *pbVar3 == *pbVar5;\n              pbVar3 = pbVar3 + 1;\n              pbVar5 = pbVar5 + 1;\n            } while (bVar6);\n            cVar1 = (!bVar7 && !bVar6) - bVar7;\n            if (cVar1 != '\0') {\n              md._48_1_ = md._48_1_ | 4;\n              pcVar4 = (char *)dcgettext(0,"Unrecognized option \'-x%s\'",5,cVar1);\n              as_bad(pcVar4,arg);\n              return 1;\n            }\n            md._48_1_ = md._48_1_ & 0xf9 | 2;\n            return 1;\n          }" if (parenthesized_expression "(!bVar6)" ( (unary_expression "!bVar6" ! identifier) )) (compound_statement "{\n            iVar2 = 5;\n            pbVar3 = (byte *)arg;\n            pbVar5 = &DAT_00063a4b;\n            do {\n              if (iVar2 == 0) break;\n              iVar2 = iVar2 + -1;\n              bVar7 = *pbVar3 < *pbVar5;\n              bVar6 = *pbVar3 == *pbVar5;\n              pbVar3 = pbVar3 + 1;\n              pbVar5 = pbVar5 + 1;\n            } while (bVar6);\n            bVar8 = false;\n            bVar6 = (!bVar7 && !bVar6) == bVar7;\n            if (bVar6) {\n              md._48_1_ = md._48_1_ & 0xef | 4;\n              return 1;\n            }\n            iVar2 = 5;\n            pbVar3 = (byte *)arg;\n            pbVar5 = &DAT_0005a335;\n            do {\n              if (iVar2 == 0) break;\n              iVar2 = iVar2 + -1;\n              bVar8 = *pbVar3 < *pbVar5;\n              bVar6 = *pbVar3 == *pbVar5;\n              pbVar3 = pbVar3 + 1;\n              pbVar5 = pbVar5 + 1;\n            } while (bVar6);\n            bVar7 = false;\n            bVar6 = (!bVar8 && !bVar6) == bVar8;\n            if (bVar6) {\n              md._48_1_ = md._48_1_ & 0xfb;\n              return 1;\n            }\n            iVar2 = 6;\n            pcVar4 = " debug";\n            pbVar3 = (byte *)arg;\n            do {\n              pcVar4 = (char *)((byte *)pcVar4 + 1);\n              if (iVar2 == 0) break;\n              iVar2 = iVar2 + -1;\n              bVar7 = *pbVar3 < (byte)*pcVar4;\n              bVar6 = *pbVar3 == *pcVar4;\n              pbVar3 = pbVar3 + 1;\n            } while (bVar6);\n            bVar8 = false;\n            bVar6 = (!bVar7 && !bVar6) == bVar7;\n            if (bVar6) {\n              md._48_1_ = md._48_1_ | 6;\n              return 1;\n            }\n            iVar2 = 7;\n            pbVar3 = (byte *)arg;\n            pbVar5 = (byte *)"debugx";\n            do {\n              if (iVar2 == 0) break;\n              iVar2 = iVar2 + -1;\n              bVar8 = *pbVar3 < *pbVar5;\n              bVar6 = *pbVar3 == *pbVar5;\n              pbVar3 = pbVar3 + 1;\n              pbVar5 = pbVar5 + 1;\n            } while (bVar6);\n            bVar7 = false;\n            bVar6 = (!bVar8 && !bVar6) == bVar8;\n            if (bVar6) {\n              md._48_1_ = md._48_1_ | 0x16;\n              return 1;\n            }\n            iVar2 = 7;\n            pbVar3 = (byte *)arg;\n            pbVar5 = (byte *)"debugn";\n            do {\n              if (iVar2 == 0) break;\n              iVar2 = iVar2 + -1;\n              bVar7 = *pbVar3 < *pbVar5;\n              bVar6 = *pbVar3 == *pbVar5;\n              pbVar3 = pbVar3 + 1;\n              pbVar5 = pbVar5 + 1;\n            } while (bVar6);\n            cVar1 = (!bVar7 && !bVar6) - bVar7;\n            if (cVar1 != '\0') {\n              md._48_1_ = md._48_1_ | 4;\n              pcVar4 = (char *)dcgettext(0,"Unrecognized option \'-x%s\'",5,cVar1);\n              as_bad(pcVar4,arg);\n              return 1;\n            }\n            md._48_1_ = md._48_1_ & 0xf9 | 2;\n            return 1;\n          }" { (expression_statement "iVar2 = 5;" (assignment_expression "iVar2 = 5" identifier = number_literal) ;) (expression_statement "pbVar3 = (byte *)arg;" (assignment_expression "pbVar3 = (byte *)arg" identifier = (cast_expression "(byte *)arg" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "pbVar5 = &DAT_00063a4b;" (assignment_expression "pbVar5 = &DAT_00063a4b" identifier = (pointer_expression "&DAT_00063a4b" & identifier)) ;) (do_statement "do {\n              if (iVar2 == 0) break;\n              iVar2 = iVar2 + -1;\n              bVar7 = *pbVar3 < *pbVar5;\n              bVar6 = *pbVar3 == *pbVar5;\n              pbVar3 = pbVar3 + 1;\n              pbVar5 = pbVar5 + 1;\n            } while (bVar6);" do (compound_statement "{\n              if (iVar2 == 0) break;\n              iVar2 = iVar2 + -1;\n              bVar7 = *pbVar3 < *pbVar5;\n              bVar6 = *pbVar3 == *pbVar5;\n              pbVar3 = pbVar3 + 1;\n              pbVar5 = pbVar5 + 1;\n            }" { (if_statement "if (iVar2 == 0) break;" if (parenthesized_expression "(iVar2 == 0)" ( (binary_expression "iVar2 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "iVar2 = iVar2 + -1;" (assignment_expression "iVar2 = iVar2 + -1" identifier = (binary_expression "iVar2 + -1" identifier + number_literal)) ;) (expression_statement "bVar7 = *pbVar3 < *pbVar5;" (assignment_expression "bVar7 = *pbVar3 < *pbVar5" identifier = (binary_expression "*pbVar3 < *pbVar5" (pointer_expression "*pbVar3" * identifier) < (pointer_expression "*pbVar5" * identifier))) ;) (expression_statement "bVar6 = *pbVar3 == *pbVar5;" (assignment_expression "bVar6 = *pbVar3 == *pbVar5" identifier = (binary_expression "*pbVar3 == *pbVar5" (pointer_expression "*pbVar3" * identifier) == (pointer_expression "*pbVar5" * identifier))) ;) (expression_statement "pbVar3 = pbVar3 + 1;" (assignment_expression "pbVar3 = pbVar3 + 1" identifier = (binary_expression "pbVar3 + 1" identifier + number_literal)) ;) (expression_statement "pbVar5 = pbVar5 + 1;" (assignment_expression "pbVar5 = pbVar5 + 1" identifier = (binary_expression "pbVar5 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(bVar6)" ( identifier )) ;) (expression_statement "bVar8 = false;" (assignment_expression "bVar8 = false" identifier = false) ;) (expression_statement "bVar6 = (!bVar7 && !bVar6) == bVar7;" (assignment_expression "bVar6 = (!bVar7 && !bVar6) == bVar7" identifier = (binary_expression "(!bVar7 && !bVar6) == bVar7" (parenthesized_expression "(!bVar7 && !bVar6)" ( (binary_expression "!bVar7 && !bVar6" (unary_expression "!bVar7" ! identifier) && (unary_expression "!bVar6" ! identifier)) )) == identifier)) ;) (if_statement "if (bVar6) {\n              md._48_1_ = md._48_1_ & 0xef | 4;\n              return 1;\n            }" if (parenthesized_expression "(bVar6)" ( identifier )) (compound_statement "{\n              md._48_1_ = md._48_1_ & 0xef | 4;\n              return 1;\n            }" { (expression_statement "md._48_1_ = md._48_1_ & 0xef | 4;" (assignment_expression "md._48_1_ = md._48_1_ & 0xef | 4" (field_expression "md._48_1_" identifier . field_identifier) = (binary_expression "md._48_1_ & 0xef | 4" (binary_expression "md._48_1_ & 0xef" (field_expression "md._48_1_" identifier . field_identifier) & number_literal) | number_literal)) ;) (return_statement "return 1;" return number_literal ;) })) (expression_statement "iVar2 = 5;" (assignment_expression "iVar2 = 5" identifier = number_literal) ;) (expression_statement "pbVar3 = (byte *)arg;" (assignment_expression "pbVar3 = (byte *)arg" identifier = (cast_expression "(byte *)arg" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "pbVar5 = &DAT_0005a335;" (assignment_expression "pbVar5 = &DAT_0005a335" identifier = (pointer_expression "&DAT_0005a335" & identifier)) ;) (do_statement "do {\n              if (iVar2 == 0) break;\n              iVar2 = iVar2 + -1;\n              bVar8 = *pbVar3 < *pbVar5;\n              bVar6 = *pbVar3 == *pbVar5;\n              pbVar3 = pbVar3 + 1;\n              pbVar5 = pbVar5 + 1;\n            } while (bVar6);" do (compound_statement "{\n              if (iVar2 == 0) break;\n              iVar2 = iVar2 + -1;\n              bVar8 = *pbVar3 < *pbVar5;\n              bVar6 = *pbVar3 == *pbVar5;\n              pbVar3 = pbVar3 + 1;\n              pbVar5 = pbVar5 + 1;\n            }" { (if_statement "if (iVar2 == 0) break;" if (parenthesized_expression "(iVar2 == 0)" ( (binary_expression "iVar2 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "iVar2 = iVar2 + -1;" (assignment_expression "iVar2 = iVar2 + -1" identifier = (binary_expression "iVar2 + -1" identifier + number_literal)) ;) (expression_statement "bVar8 = *pbVar3 < *pbVar5;" (assignment_expression "bVar8 = *pbVar3 < *pbVar5" identifier = (binary_expression "*pbVar3 < *pbVar5" (pointer_expression "*pbVar3" * identifier) < (pointer_expression "*pbVar5" * identifier))) ;) (expression_statement "bVar6 = *pbVar3 == *pbVar5;" (assignment_expression "bVar6 = *pbVar3 == *pbVar5" identifier = (binary_expression "*pbVar3 == *pbVar5" (pointer_expression "*pbVar3" * identifier) == (pointer_expression "*pbVar5" * identifier))) ;) (expression_statement "pbVar3 = pbVar3 + 1;" (assignment_expression "pbVar3 = pbVar3 + 1" identifier = (binary_expression "pbVar3 + 1" identifier + number_literal)) ;) (expression_statement "pbVar5 = pbVar5 + 1;" (assignment_expression "pbVar5 = pbVar5 + 1" identifier = (binary_expression "pbVar5 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(bVar6)" ( identifier )) ;) (expression_statement "bVar7 = false;" (assignment_expression "bVar7 = false" identifier = false) ;) (expression_statement "bVar6 = (!bVar8 && !bVar6) == bVar8;" (assignment_expression "bVar6 = (!bVar8 && !bVar6) == bVar8" identifier = (binary_expression "(!bVar8 && !bVar6) == bVar8" (parenthesized_expression "(!bVar8 && !bVar6)" ( (binary_expression "!bVar8 && !bVar6" (unary_expression "!bVar8" ! identifier) && (unary_expression "!bVar6" ! identifier)) )) == identifier)) ;) (if_statement "if (bVar6) {\n              md._48_1_ = md._48_1_ & 0xfb;\n              return 1;\n            }" if (parenthesized_expression "(bVar6)" ( identifier )) (compound_statement "{\n              md._48_1_ = md._48_1_ & 0xfb;\n              return 1;\n            }" { (expression_statement "md._48_1_ = md._48_1_ & 0xfb;" (assignment_expression "md._48_1_ = md._48_1_ & 0xfb" (field_expression "md._48_1_" identifier . field_identifier) = (binary_expression "md._48_1_ & 0xfb" (field_expression "md._48_1_" identifier . field_identifier) & number_literal)) ;) (return_statement "return 1;" return number_literal ;) })) (expression_statement "iVar2 = 6;" (assignment_expression "iVar2 = 6" identifier = number_literal) ;) (expression_statement "pcVar4 = " debug";" (assignment_expression "pcVar4 = " debug"" identifier = (string_literal "" debug"" " string_content ")) ;) (expression_statement "pbVar3 = (byte *)arg;" (assignment_expression "pbVar3 = (byte *)arg" identifier = (cast_expression "(byte *)arg" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (do_statement "do {\n              pcVar4 = (char *)((byte *)pcVar4 + 1);\n              if (iVar2 == 0) break;\n              iVar2 = iVar2 + -1;\n              bVar7 = *pbVar3 < (byte)*pcVar4;\n              bVar6 = *pbVar3 == *pcVar4;\n              pbVar3 = pbVar3 + 1;\n            } while (bVar6);" do (compound_statement "{\n              pcVar4 = (char *)((byte *)pcVar4 + 1);\n              if (iVar2 == 0) break;\n              iVar2 = iVar2 + -1;\n              bVar7 = *pbVar3 < (byte)*pcVar4;\n              bVar6 = *pbVar3 == *pcVar4;\n              pbVar3 = pbVar3 + 1;\n            }" { (expression_statement "pcVar4 = (char *)((byte *)pcVar4 + 1);" (assignment_expression "pcVar4 = (char *)((byte *)pcVar4 + 1)" identifier = (cast_expression "(char *)((byte *)pcVar4 + 1)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((byte *)pcVar4 + 1)" ( (binary_expression "(byte *)pcVar4 + 1" (cast_expression "(byte *)pcVar4" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) + number_literal) )))) ;) (if_statement "if (iVar2 == 0) break;" if (parenthesized_expression "(iVar2 == 0)" ( (binary_expression "iVar2 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "iVar2 = iVar2 + -1;" (assignment_expression "iVar2 = iVar2 + -1" identifier = (binary_expression "iVar2 + -1" identifier + number_literal)) ;) (expression_statement "bVar7 = *pbVar3 < (byte)*pcVar4;" (assignment_expression "bVar7 = *pbVar3 < (byte)*pcVar4" identifier = (binary_expression "*pbVar3 < (byte)*pcVar4" (pointer_expression "*pbVar3" * identifier) < (binary_expression "(byte)*pcVar4" (parenthesized_expression "(byte)" ( identifier )) * identifier))) ;) (expression_statement "bVar6 = *pbVar3 == *pcVar4;" (assignment_expression "bVar6 = *pbVar3 == *pcVar4" identifier = (binary_expression "*pbVar3 == *pcVar4" (pointer_expression "*pbVar3" * identifier) == (pointer_expression "*pcVar4" * identifier))) ;) (expression_statement "pbVar3 = pbVar3 + 1;" (assignment_expression "pbVar3 = pbVar3 + 1" identifier = (binary_expression "pbVar3 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(bVar6)" ( identifier )) ;) (expression_statement "bVar8 = false;" (assignment_expression "bVar8 = false" identifier = false) ;) (expression_statement "bVar6 = (!bVar7 && !bVar6) == bVar7;" (assignment_expression "bVar6 = (!bVar7 && !bVar6) == bVar7" identifier = (binary_expression "(!bVar7 && !bVar6) == bVar7" (parenthesized_expression "(!bVar7 && !bVar6)" ( (binary_expression "!bVar7 && !bVar6" (unary_expression "!bVar7" ! identifier) && (unary_expression "!bVar6" ! identifier)) )) == identifier)) ;) (if_statement "if (bVar6) {\n              md._48_1_ = md._48_1_ | 6;\n              return 1;\n            }" if (parenthesized_expression "(bVar6)" ( identifier )) (compound_statement "{\n              md._48_1_ = md._48_1_ | 6;\n              return 1;\n            }" { (expression_statement "md._48_1_ = md._48_1_ | 6;" (assignment_expression "md._48_1_ = md._48_1_ | 6" (field_expression "md._48_1_" identifier . field_identifier) = (binary_expression "md._48_1_ | 6" (field_expression "md._48_1_" identifier . field_identifier) | number_literal)) ;) (return_statement "return 1;" return number_literal ;) })) (expression_statement "iVar2 = 7;" (assignment_expression "iVar2 = 7" identifier = number_literal) ;) (expression_statement "pbVar3 = (byte *)arg;" (assignment_expression "pbVar3 = (byte *)arg" identifier = (cast_expression "(byte *)arg" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "pbVar5 = (byte *)"debugx";" (assignment_expression "pbVar5 = (byte *)"debugx"" identifier = (cast_expression "(byte *)"debugx"" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (string_literal ""debugx"" " string_content "))) ;) (do_statement "do {\n              if (iVar2 == 0) break;\n              iVar2 = iVar2 + -1;\n              bVar8 = *pbVar3 < *pbVar5;\n              bVar6 = *pbVar3 == *pbVar5;\n              pbVar3 = pbVar3 + 1;\n              pbVar5 = pbVar5 + 1;\n            } while (bVar6);" do (compound_statement "{\n              if (iVar2 == 0) break;\n              iVar2 = iVar2 + -1;\n              bVar8 = *pbVar3 < *pbVar5;\n              bVar6 = *pbVar3 == *pbVar5;\n              pbVar3 = pbVar3 + 1;\n              pbVar5 = pbVar5 + 1;\n            }" { (if_statement "if (iVar2 == 0) break;" if (parenthesized_expression "(iVar2 == 0)" ( (binary_expression "iVar2 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "iVar2 = iVar2 + -1;" (assignment_expression "iVar2 = iVar2 + -1" identifier = (binary_expression "iVar2 + -1" identifier + number_literal)) ;) (expression_statement "bVar8 = *pbVar3 < *pbVar5;" (assignment_expression "bVar8 = *pbVar3 < *pbVar5" identifier = (binary_expression "*pbVar3 < *pbVar5" (pointer_expression "*pbVar3" * identifier) < (pointer_expression "*pbVar5" * identifier))) ;) (expression_statement "bVar6 = *pbVar3 == *pbVar5;" (assignment_expression "bVar6 = *pbVar3 == *pbVar5" identifier = (binary_expression "*pbVar3 == *pbVar5" (pointer_expression "*pbVar3" * identifier) == (pointer_expression "*pbVar5" * identifier))) ;) (expression_statement "pbVar3 = pbVar3 + 1;" (assignment_expression "pbVar3 = pbVar3 + 1" identifier = (binary_expression "pbVar3 + 1" identifier + number_literal)) ;) (expression_statement "pbVar5 = pbVar5 + 1;" (assignment_expression "pbVar5 = pbVar5 + 1" identifier = (binary_expression "pbVar5 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(bVar6)" ( identifier )) ;) (expression_statement "bVar7 = false;" (assignment_expression "bVar7 = false" identifier = false) ;) (expression_statement "bVar6 = (!bVar8 && !bVar6) == bVar8;" (assignment_expression "bVar6 = (!bVar8 && !bVar6) == bVar8" identifier = (binary_expression "(!bVar8 && !bVar6) == bVar8" (parenthesized_expression "(!bVar8 && !bVar6)" ( (binary_expression "!bVar8 && !bVar6" (unary_expression "!bVar8" ! identifier) && (unary_expression "!bVar6" ! identifier)) )) == identifier)) ;) (if_statement "if (bVar6) {\n              md._48_1_ = md._48_1_ | 0x16;\n              return 1;\n            }" if (parenthesized_expression "(bVar6)" ( identifier )) (compound_statement "{\n              md._48_1_ = md._48_1_ | 0x16;\n              return 1;\n            }" { (expression_statement "md._48_1_ = md._48_1_ | 0x16;" (assignment_expression "md._48_1_ = md._48_1_ | 0x16" (field_expression "md._48_1_" identifier . field_identifier) = (binary_expression "md._48_1_ | 0x16" (field_expression "md._48_1_" identifier . field_identifier) | number_literal)) ;) (return_statement "return 1;" return number_literal ;) })) (expression_statement "iVar2 = 7;" (assignment_expression "iVar2 = 7" identifier = number_literal) ;) (expression_statement "pbVar3 = (byte *)arg;" (assignment_expression "pbVar3 = (byte *)arg" identifier = (cast_expression "(byte *)arg" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "pbVar5 = (byte *)"debugn";" (assignment_expression "pbVar5 = (byte *)"debugn"" identifier = (cast_expression "(byte *)"debugn"" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (string_literal ""debugn"" " string_content "))) ;) (do_statement "do {\n              if (iVar2 == 0) break;\n              iVar2 = iVar2 + -1;\n              bVar7 = *pbVar3 < *pbVar5;\n              bVar6 = *pbVar3 == *pbVar5;\n              pbVar3 = pbVar3 + 1;\n              pbVar5 = pbVar5 + 1;\n            } while (bVar6);" do (compound_statement "{\n              if (iVar2 == 0) break;\n              iVar2 = iVar2 + -1;\n              bVar7 = *pbVar3 < *pbVar5;\n              bVar6 = *pbVar3 == *pbVar5;\n              pbVar3 = pbVar3 + 1;\n              pbVar5 = pbVar5 + 1;\n            }" { (if_statement "if (iVar2 == 0) break;" if (parenthesized_expression "(iVar2 == 0)" ( (binary_expression "iVar2 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "iVar2 = iVar2 + -1;" (assignment_expression "iVar2 = iVar2 + -1" identifier = (binary_expression "iVar2 + -1" identifier + number_literal)) ;) (expression_statement "bVar7 = *pbVar3 < *pbVar5;" (assignment_expression "bVar7 = *pbVar3 < *pbVar5" identifier = (binary_expression "*pbVar3 < *pbVar5" (pointer_expression "*pbVar3" * identifier) < (pointer_expression "*pbVar5" * identifier))) ;) (expression_statement "bVar6 = *pbVar3 == *pbVar5;" (assignment_expression "bVar6 = *pbVar3 == *pbVar5" identifier = (binary_expression "*pbVar3 == *pbVar5" (pointer_expression "*pbVar3" * identifier) == (pointer_expression "*pbVar5" * identifier))) ;) (expression_statement "pbVar3 = pbVar3 + 1;" (assignment_expression "pbVar3 = pbVar3 + 1" identifier = (binary_expression "pbVar3 + 1" identifier + number_literal)) ;) (expression_statement "pbVar5 = pbVar5 + 1;" (assignment_expression "pbVar5 = pbVar5 + 1" identifier = (binary_expression "pbVar5 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(bVar6)" ( identifier )) ;) (expression_statement "cVar1 = (!bVar7 && !bVar6) - bVar7;" (assignment_expression "cVar1 = (!bVar7 && !bVar6) - bVar7" identifier = (binary_expression "(!bVar7 && !bVar6) - bVar7" (parenthesized_expression "(!bVar7 && !bVar6)" ( (binary_expression "!bVar7 && !bVar6" (unary_expression "!bVar7" ! identifier) && (unary_expression "!bVar6" ! identifier)) )) - identifier)) ;) (if_statement "if (cVar1 != '\0') {\n              md._48_1_ = md._48_1_ | 4;\n              pcVar4 = (char *)dcgettext(0,"Unrecognized option \'-x%s\'",5,cVar1);\n              as_bad(pcVar4,arg);\n              return 1;\n            }" if (parenthesized_expression "(cVar1 != '\0')" ( (binary_expression "cVar1 != '\0'" identifier != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n              md._48_1_ = md._48_1_ | 4;\n              pcVar4 = (char *)dcgettext(0,"Unrecognized option \'-x%s\'",5,cVar1);\n              as_bad(pcVar4,arg);\n              return 1;\n            }" { (expression_statement "md._48_1_ = md._48_1_ | 4;" (assignment_expression "md._48_1_ = md._48_1_ | 4" (field_expression "md._48_1_" identifier . field_identifier) = (binary_expression "md._48_1_ | 4" (field_expression "md._48_1_" identifier . field_identifier) | number_literal)) ;) (expression_statement "pcVar4 = (char *)dcgettext(0,"Unrecognized option \'-x%s\'",5,cVar1);" (assignment_expression "pcVar4 = (char *)dcgettext(0,"Unrecognized option \'-x%s\'",5,cVar1)" identifier = (cast_expression "(char *)dcgettext(0,"Unrecognized option \'-x%s\'",5,cVar1)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,"Unrecognized option \'-x%s\'",5,cVar1)" identifier (argument_list "(0,"Unrecognized option \'-x%s\'",5,cVar1)" ( number_literal , (string_literal ""Unrecognized option \'-x%s\'"" " string_content escape_sequence string_content escape_sequence ") , number_literal , identifier ))))) ;) (expression_statement "as_bad(pcVar4,arg);" (call_expression "as_bad(pcVar4,arg)" identifier (argument_list "(pcVar4,arg)" ( identifier , identifier ))) ;) (return_statement "return 1;" return number_literal ;) })) (expression_statement "md._48_1_ = md._48_1_ & 0xf9 | 2;" (assignment_expression "md._48_1_ = md._48_1_ & 0xf9 | 2" (field_expression "md._48_1_" identifier . field_identifier) = (binary_expression "md._48_1_ & 0xf9 | 2" (binary_expression "md._48_1_ & 0xf9" (field_expression "md._48_1_" identifier . field_identifier) & number_literal) | number_literal)) ;) (return_statement "return 1;" return number_literal ;) })) })) (expression_statement "md._48_1_ = md._48_1_ | 0x14;" (assignment_expression "md._48_1_ = md._48_1_ | 0x14" (field_expression "md._48_1_" identifier . field_identifier) = (binary_expression "md._48_1_ | 0x14" (field_expression "md._48_1_" identifier . field_identifier) | number_literal)) ;) (return_statement "return 1;" return number_literal ;) })) (if_statement "if (c < 0x79) {\n        bVar6 = (uint)c < 0x6d;\n        bVar8 = c == 0x6d;\n        if (bVar8) {\n          iVar2 = 6;\n          pbVar3 = (byte *)arg;\n          pbVar5 = &DAT_000639e8;\n          do {\n            if (iVar2 == 0) break;\n            iVar2 = iVar2 + -1;\n            bVar6 = *pbVar3 < *pbVar5;\n            bVar8 = *pbVar3 == *pbVar5;\n            pbVar3 = pbVar3 + 1;\n            pbVar5 = pbVar5 + 1;\n          } while (bVar8);\n          bVar7 = false;\n          bVar6 = (!bVar6 && !bVar8) == bVar6;\n          if (!bVar6) {\n            iVar2 = 5;\n            pbVar3 = (byte *)arg;\n            pbVar5 = &DAT_000639e9;\n            do {\n              if (iVar2 == 0) break;\n              iVar2 = iVar2 + -1;\n              bVar7 = *pbVar3 < *pbVar5;\n              bVar6 = *pbVar3 == *pbVar5;\n              pbVar3 = pbVar3 + 1;\n              pbVar5 = pbVar5 + 1;\n            } while (bVar6);\n            bVar8 = false;\n            bVar6 = (!bVar7 && !bVar6) == bVar7;\n            if (!bVar6) {\n              iVar2 = 4;\n              pbVar3 = (byte *)arg;\n              pbVar5 = &DAT_000639ea;\n              do {\n                if (iVar2 == 0) break;\n                iVar2 = iVar2 + -1;\n                bVar8 = *pbVar3 < *pbVar5;\n                bVar6 = *pbVar3 == *pbVar5;\n                pbVar3 = pbVar3 + 1;\n                pbVar5 = pbVar5 + 1;\n              } while (bVar6);\n              bVar7 = false;\n              bVar6 = (!bVar8 && !bVar6) == bVar8;\n              if (!bVar6) {\n                iVar2 = 6;\n                pbVar3 = (byte *)arg;\n                pbVar5 = (byte *)"ilp32";\n                do {\n                  if (iVar2 == 0) break;\n                  iVar2 = iVar2 + -1;\n                  bVar7 = *pbVar3 < *pbVar5;\n                  bVar6 = *pbVar3 == *pbVar5;\n                  pbVar3 = pbVar3 + 1;\n                  pbVar5 = pbVar5 + 1;\n                } while (bVar6);\n                bVar8 = false;\n                bVar6 = (!bVar7 && !bVar6) == bVar7;\n                if (bVar6) {\n                  md.flags = md.flags & 0xffffffef;\n                  return 1;\n                }\n                iVar2 = 3;\n                pbVar3 = (byte *)arg;\n                pbVar5 = (byte *)0x5a287;\n                do {\n                  if (iVar2 == 0) break;\n                  iVar2 = iVar2 + -1;\n                  bVar8 = *pbVar3 < *pbVar5;\n                  bVar6 = *pbVar3 == *pbVar5;\n                  pbVar3 = pbVar3 + 1;\n                  pbVar5 = pbVar5 + 1;\n                } while (bVar6);\n                bVar7 = false;\n                bVar6 = (!bVar8 && !bVar6) == bVar8;\n                if (bVar6) {\n                  md.flags = md.flags & 0xfffffff7;\n                  default_big_endian = 0;\n                  return 1;\n                }\n                iVar2 = 3;\n                pbVar3 = (byte *)arg;\n                pbVar5 = &DAT_00063a90;\n                do {\n                  if (iVar2 == 0) break;\n                  iVar2 = iVar2 + -1;\n                  bVar7 = *pbVar3 < *pbVar5;\n                  bVar6 = *pbVar3 == *pbVar5;\n                  pbVar3 = pbVar3 + 1;\n                  pbVar5 = pbVar5 + 1;\n                } while (bVar6);\n                bVar8 = false;\n                bVar6 = (!bVar7 && !bVar6) == bVar7;\n                if (bVar6) {\n                  md.flags = md.flags | 8;\n                  default_big_endian = 1;\n                  return 1;\n                }\n                iVar2 = 0xd;\n                pbVar3 = (byte *)arg;\n                pbVar5 = (byte *)"unwind-check=";\n                do {\n                  if (iVar2 == 0) break;\n                  iVar2 = iVar2 + -1;\n                  bVar8 = *pbVar3 < *pbVar5;\n                  bVar6 = *pbVar3 == *pbVar5;\n                  pbVar3 = pbVar3 + 1;\n                  pbVar5 = pbVar5 + 1;\n                } while (bVar6);\n                if ((!bVar8 && !bVar6) == bVar8) {\n                  iVar2 = strcmp(arg + 0xd,"warning");\n                  if (iVar2 == 0) {\n                    md.unwind_check = CMP_NONE;\n                    return 1;\n                  }\n                  iVar2 = strcmp(arg + 0xd,"error");\n                  if (iVar2 == 0) {\n                    md.unwind_check = CMP_OR;\n                    return 1;\n                  }\n                  return 0;\n                }\n                iVar2 = strncmp(arg,"hint.b=",7);\n                if (iVar2 != 0) {\n                  iVar2 = strncmp(arg,"tune=",5);\n                  if (iVar2 != 0) {\n                    return 0;\n                  }\n                  iVar2 = strcmp(arg + 5,"itanium1");\n                  if (iVar2 != 0) {\n                    iVar2 = strcmp(arg + 5,"itanium2");\n                    if (iVar2 == 0) {\n                      md.tune = CMP_OR;\n                      return 1;\n                    }\n                    return 0;\n                  }\n                  md.tune = CMP_NONE;\n                  return 1;\n                }\n                pcVar4 = arg + 7;\n                iVar2 = strcmp(pcVar4,"ok");\n                if (iVar2 == 0) {\n                  md.hint_b = CMP_AND;\n                  return 1;\n                }\n                iVar2 = strcmp(pcVar4,"warning");\n                if (iVar2 != 0) {\n                  iVar2 = strcmp(pcVar4,"error");\n                  if (iVar2 == 0) {\n                    md.hint_b = CMP_NONE;\n                    return 1;\n                  }\n                  return 0;\n                }\n                md.hint_b = CMP_OR;\n                return 1;\n              }\n            }\n          }\n          md.flags = md.flags | 0x10;\n          return 1;\n        }\n      }\n      else {\n        if (c == 0x123) {\n          md.flags = md.flags | 0x40;\n          return 1;\n        }\n        if (c == 0x124) {\n          md.flags = md.flags | 0x80;\n          return 1;\n        }\n      }" if (parenthesized_expression "(c < 0x79)" ( (binary_expression "c < 0x79" identifier < number_literal) )) (compound_statement "{\n        bVar6 = (uint)c < 0x6d;\n        bVar8 = c == 0x6d;\n        if (bVar8) {\n          iVar2 = 6;\n          pbVar3 = (byte *)arg;\n          pbVar5 = &DAT_000639e8;\n          do {\n            if (iVar2 == 0) break;\n            iVar2 = iVar2 + -1;\n            bVar6 = *pbVar3 < *pbVar5;\n            bVar8 = *pbVar3 == *pbVar5;\n            pbVar3 = pbVar3 + 1;\n            pbVar5 = pbVar5 + 1;\n          } while (bVar8);\n          bVar7 = false;\n          bVar6 = (!bVar6 && !bVar8) == bVar6;\n          if (!bVar6) {\n            iVar2 = 5;\n            pbVar3 = (byte *)arg;\n            pbVar5 = &DAT_000639e9;\n            do {\n              if (iVar2 == 0) break;\n              iVar2 = iVar2 + -1;\n              bVar7 = *pbVar3 < *pbVar5;\n              bVar6 = *pbVar3 == *pbVar5;\n              pbVar3 = pbVar3 + 1;\n              pbVar5 = pbVar5 + 1;\n            } while (bVar6);\n            bVar8 = false;\n            bVar6 = (!bVar7 && !bVar6) == bVar7;\n            if (!bVar6) {\n              iVar2 = 4;\n              pbVar3 = (byte *)arg;\n              pbVar5 = &DAT_000639ea;\n              do {\n                if (iVar2 == 0) break;\n                iVar2 = iVar2 + -1;\n                bVar8 = *pbVar3 < *pbVar5;\n                bVar6 = *pbVar3 == *pbVar5;\n                pbVar3 = pbVar3 + 1;\n                pbVar5 = pbVar5 + 1;\n              } while (bVar6);\n              bVar7 = false;\n              bVar6 = (!bVar8 && !bVar6) == bVar8;\n              if (!bVar6) {\n                iVar2 = 6;\n                pbVar3 = (byte *)arg;\n                pbVar5 = (byte *)"ilp32";\n                do {\n                  if (iVar2 == 0) break;\n                  iVar2 = iVar2 + -1;\n                  bVar7 = *pbVar3 < *pbVar5;\n                  bVar6 = *pbVar3 == *pbVar5;\n                  pbVar3 = pbVar3 + 1;\n                  pbVar5 = pbVar5 + 1;\n                } while (bVar6);\n                bVar8 = false;\n                bVar6 = (!bVar7 && !bVar6) == bVar7;\n                if (bVar6) {\n                  md.flags = md.flags & 0xffffffef;\n                  return 1;\n                }\n                iVar2 = 3;\n                pbVar3 = (byte *)arg;\n                pbVar5 = (byte *)0x5a287;\n                do {\n                  if (iVar2 == 0) break;\n                  iVar2 = iVar2 + -1;\n                  bVar8 = *pbVar3 < *pbVar5;\n                  bVar6 = *pbVar3 == *pbVar5;\n                  pbVar3 = pbVar3 + 1;\n                  pbVar5 = pbVar5 + 1;\n                } while (bVar6);\n                bVar7 = false;\n                bVar6 = (!bVar8 && !bVar6) == bVar8;\n                if (bVar6) {\n                  md.flags = md.flags & 0xfffffff7;\n                  default_big_endian = 0;\n                  return 1;\n                }\n                iVar2 = 3;\n                pbVar3 = (byte *)arg;\n                pbVar5 = &DAT_00063a90;\n                do {\n                  if (iVar2 == 0) break;\n                  iVar2 = iVar2 + -1;\n                  bVar7 = *pbVar3 < *pbVar5;\n                  bVar6 = *pbVar3 == *pbVar5;\n                  pbVar3 = pbVar3 + 1;\n                  pbVar5 = pbVar5 + 1;\n                } while (bVar6);\n                bVar8 = false;\n                bVar6 = (!bVar7 && !bVar6) == bVar7;\n                if (bVar6) {\n                  md.flags = md.flags | 8;\n                  default_big_endian = 1;\n                  return 1;\n                }\n                iVar2 = 0xd;\n                pbVar3 = (byte *)arg;\n                pbVar5 = (byte *)"unwind-check=";\n                do {\n                  if (iVar2 == 0) break;\n                  iVar2 = iVar2 + -1;\n                  bVar8 = *pbVar3 < *pbVar5;\n                  bVar6 = *pbVar3 == *pbVar5;\n                  pbVar3 = pbVar3 + 1;\n                  pbVar5 = pbVar5 + 1;\n                } while (bVar6);\n                if ((!bVar8 && !bVar6) == bVar8) {\n                  iVar2 = strcmp(arg + 0xd,"warning");\n                  if (iVar2 == 0) {\n                    md.unwind_check = CMP_NONE;\n                    return 1;\n                  }\n                  iVar2 = strcmp(arg + 0xd,"error");\n                  if (iVar2 == 0) {\n                    md.unwind_check = CMP_OR;\n                    return 1;\n                  }\n                  return 0;\n                }\n                iVar2 = strncmp(arg,"hint.b=",7);\n                if (iVar2 != 0) {\n                  iVar2 = strncmp(arg,"tune=",5);\n                  if (iVar2 != 0) {\n                    return 0;\n                  }\n                  iVar2 = strcmp(arg + 5,"itanium1");\n                  if (iVar2 != 0) {\n                    iVar2 = strcmp(arg + 5,"itanium2");\n                    if (iVar2 == 0) {\n                      md.tune = CMP_OR;\n                      return 1;\n                    }\n                    return 0;\n                  }\n                  md.tune = CMP_NONE;\n                  return 1;\n                }\n                pcVar4 = arg + 7;\n                iVar2 = strcmp(pcVar4,"ok");\n                if (iVar2 == 0) {\n                  md.hint_b = CMP_AND;\n                  return 1;\n                }\n                iVar2 = strcmp(pcVar4,"warning");\n                if (iVar2 != 0) {\n                  iVar2 = strcmp(pcVar4,"error");\n                  if (iVar2 == 0) {\n                    md.hint_b = CMP_NONE;\n                    return 1;\n                  }\n                  return 0;\n                }\n                md.hint_b = CMP_OR;\n                return 1;\n              }\n            }\n          }\n          md.flags = md.flags | 0x10;\n          return 1;\n        }\n      }" { (expression_statement "bVar6 = (uint)c < 0x6d;" (assignment_expression "bVar6 = (uint)c < 0x6d" identifier = (binary_expression "(uint)c < 0x6d" (cast_expression "(uint)c" ( (type_descriptor "uint" type_identifier) ) identifier) < number_literal)) ;) (expression_statement "bVar8 = c == 0x6d;" (assignment_expression "bVar8 = c == 0x6d" identifier = (binary_expression "c == 0x6d" identifier == number_literal)) ;) (if_statement "if (bVar8) {\n          iVar2 = 6;\n          pbVar3 = (byte *)arg;\n          pbVar5 = &DAT_000639e8;\n          do {\n            if (iVar2 == 0) break;\n            iVar2 = iVar2 + -1;\n            bVar6 = *pbVar3 < *pbVar5;\n            bVar8 = *pbVar3 == *pbVar5;\n            pbVar3 = pbVar3 + 1;\n            pbVar5 = pbVar5 + 1;\n          } while (bVar8);\n          bVar7 = false;\n          bVar6 = (!bVar6 && !bVar8) == bVar6;\n          if (!bVar6) {\n            iVar2 = 5;\n            pbVar3 = (byte *)arg;\n            pbVar5 = &DAT_000639e9;\n            do {\n              if (iVar2 == 0) break;\n              iVar2 = iVar2 + -1;\n              bVar7 = *pbVar3 < *pbVar5;\n              bVar6 = *pbVar3 == *pbVar5;\n              pbVar3 = pbVar3 + 1;\n              pbVar5 = pbVar5 + 1;\n            } while (bVar6);\n            bVar8 = false;\n            bVar6 = (!bVar7 && !bVar6) == bVar7;\n            if (!bVar6) {\n              iVar2 = 4;\n              pbVar3 = (byte *)arg;\n              pbVar5 = &DAT_000639ea;\n              do {\n                if (iVar2 == 0) break;\n                iVar2 = iVar2 + -1;\n                bVar8 = *pbVar3 < *pbVar5;\n                bVar6 = *pbVar3 == *pbVar5;\n                pbVar3 = pbVar3 + 1;\n                pbVar5 = pbVar5 + 1;\n              } while (bVar6);\n              bVar7 = false;\n              bVar6 = (!bVar8 && !bVar6) == bVar8;\n              if (!bVar6) {\n                iVar2 = 6;\n                pbVar3 = (byte *)arg;\n                pbVar5 = (byte *)"ilp32";\n                do {\n                  if (iVar2 == 0) break;\n                  iVar2 = iVar2 + -1;\n                  bVar7 = *pbVar3 < *pbVar5;\n                  bVar6 = *pbVar3 == *pbVar5;\n                  pbVar3 = pbVar3 + 1;\n                  pbVar5 = pbVar5 + 1;\n                } while (bVar6);\n                bVar8 = false;\n                bVar6 = (!bVar7 && !bVar6) == bVar7;\n                if (bVar6) {\n                  md.flags = md.flags & 0xffffffef;\n                  return 1;\n                }\n                iVar2 = 3;\n                pbVar3 = (byte *)arg;\n                pbVar5 = (byte *)0x5a287;\n                do {\n                  if (iVar2 == 0) break;\n                  iVar2 = iVar2 + -1;\n                  bVar8 = *pbVar3 < *pbVar5;\n                  bVar6 = *pbVar3 == *pbVar5;\n                  pbVar3 = pbVar3 + 1;\n                  pbVar5 = pbVar5 + 1;\n                } while (bVar6);\n                bVar7 = false;\n                bVar6 = (!bVar8 && !bVar6) == bVar8;\n                if (bVar6) {\n                  md.flags = md.flags & 0xfffffff7;\n                  default_big_endian = 0;\n                  return 1;\n                }\n                iVar2 = 3;\n                pbVar3 = (byte *)arg;\n                pbVar5 = &DAT_00063a90;\n                do {\n                  if (iVar2 == 0) break;\n                  iVar2 = iVar2 + -1;\n                  bVar7 = *pbVar3 < *pbVar5;\n                  bVar6 = *pbVar3 == *pbVar5;\n                  pbVar3 = pbVar3 + 1;\n                  pbVar5 = pbVar5 + 1;\n                } while (bVar6);\n                bVar8 = false;\n                bVar6 = (!bVar7 && !bVar6) == bVar7;\n                if (bVar6) {\n                  md.flags = md.flags | 8;\n                  default_big_endian = 1;\n                  return 1;\n                }\n                iVar2 = 0xd;\n                pbVar3 = (byte *)arg;\n                pbVar5 = (byte *)"unwind-check=";\n                do {\n                  if (iVar2 == 0) break;\n                  iVar2 = iVar2 + -1;\n                  bVar8 = *pbVar3 < *pbVar5;\n                  bVar6 = *pbVar3 == *pbVar5;\n                  pbVar3 = pbVar3 + 1;\n                  pbVar5 = pbVar5 + 1;\n                } while (bVar6);\n                if ((!bVar8 && !bVar6) == bVar8) {\n                  iVar2 = strcmp(arg + 0xd,"warning");\n                  if (iVar2 == 0) {\n                    md.unwind_check = CMP_NONE;\n                    return 1;\n                  }\n                  iVar2 = strcmp(arg + 0xd,"error");\n                  if (iVar2 == 0) {\n                    md.unwind_check = CMP_OR;\n                    return 1;\n                  }\n                  return 0;\n                }\n                iVar2 = strncmp(arg,"hint.b=",7);\n                if (iVar2 != 0) {\n                  iVar2 = strncmp(arg,"tune=",5);\n                  if (iVar2 != 0) {\n                    return 0;\n                  }\n                  iVar2 = strcmp(arg + 5,"itanium1");\n                  if (iVar2 != 0) {\n                    iVar2 = strcmp(arg + 5,"itanium2");\n                    if (iVar2 == 0) {\n                      md.tune = CMP_OR;\n                      return 1;\n                    }\n                    return 0;\n                  }\n                  md.tune = CMP_NONE;\n                  return 1;\n                }\n                pcVar4 = arg + 7;\n                iVar2 = strcmp(pcVar4,"ok");\n                if (iVar2 == 0) {\n                  md.hint_b = CMP_AND;\n                  return 1;\n                }\n                iVar2 = strcmp(pcVar4,"warning");\n                if (iVar2 != 0) {\n                  iVar2 = strcmp(pcVar4,"error");\n                  if (iVar2 == 0) {\n                    md.hint_b = CMP_NONE;\n                    return 1;\n                  }\n                  return 0;\n                }\n                md.hint_b = CMP_OR;\n                return 1;\n              }\n            }\n          }\n          md.flags = md.flags | 0x10;\n          return 1;\n        }" if (parenthesized_expression "(bVar8)" ( identifier )) (compound_statement "{\n          iVar2 = 6;\n          pbVar3 = (byte *)arg;\n          pbVar5 = &DAT_000639e8;\n          do {\n            if (iVar2 == 0) break;\n            iVar2 = iVar2 + -1;\n            bVar6 = *pbVar3 < *pbVar5;\n            bVar8 = *pbVar3 == *pbVar5;\n            pbVar3 = pbVar3 + 1;\n            pbVar5 = pbVar5 + 1;\n          } while (bVar8);\n          bVar7 = false;\n          bVar6 = (!bVar6 && !bVar8) == bVar6;\n          if (!bVar6) {\n            iVar2 = 5;\n            pbVar3 = (byte *)arg;\n            pbVar5 = &DAT_000639e9;\n            do {\n              if (iVar2 == 0) break;\n              iVar2 = iVar2 + -1;\n              bVar7 = *pbVar3 < *pbVar5;\n              bVar6 = *pbVar3 == *pbVar5;\n              pbVar3 = pbVar3 + 1;\n              pbVar5 = pbVar5 + 1;\n            } while (bVar6);\n            bVar8 = false;\n            bVar6 = (!bVar7 && !bVar6) == bVar7;\n            if (!bVar6) {\n              iVar2 = 4;\n              pbVar3 = (byte *)arg;\n              pbVar5 = &DAT_000639ea;\n              do {\n                if (iVar2 == 0) break;\n                iVar2 = iVar2 + -1;\n                bVar8 = *pbVar3 < *pbVar5;\n                bVar6 = *pbVar3 == *pbVar5;\n                pbVar3 = pbVar3 + 1;\n                pbVar5 = pbVar5 + 1;\n              } while (bVar6);\n              bVar7 = false;\n              bVar6 = (!bVar8 && !bVar6) == bVar8;\n              if (!bVar6) {\n                iVar2 = 6;\n                pbVar3 = (byte *)arg;\n                pbVar5 = (byte *)"ilp32";\n                do {\n                  if (iVar2 == 0) break;\n                  iVar2 = iVar2 + -1;\n                  bVar7 = *pbVar3 < *pbVar5;\n                  bVar6 = *pbVar3 == *pbVar5;\n                  pbVar3 = pbVar3 + 1;\n                  pbVar5 = pbVar5 + 1;\n                } while (bVar6);\n                bVar8 = false;\n                bVar6 = (!bVar7 && !bVar6) == bVar7;\n                if (bVar6) {\n                  md.flags = md.flags & 0xffffffef;\n                  return 1;\n                }\n                iVar2 = 3;\n                pbVar3 = (byte *)arg;\n                pbVar5 = (byte *)0x5a287;\n                do {\n                  if (iVar2 == 0) break;\n                  iVar2 = iVar2 + -1;\n                  bVar8 = *pbVar3 < *pbVar5;\n                  bVar6 = *pbVar3 == *pbVar5;\n                  pbVar3 = pbVar3 + 1;\n                  pbVar5 = pbVar5 + 1;\n                } while (bVar6);\n                bVar7 = false;\n                bVar6 = (!bVar8 && !bVar6) == bVar8;\n                if (bVar6) {\n                  md.flags = md.flags & 0xfffffff7;\n                  default_big_endian = 0;\n                  return 1;\n                }\n                iVar2 = 3;\n                pbVar3 = (byte *)arg;\n                pbVar5 = &DAT_00063a90;\n                do {\n                  if (iVar2 == 0) break;\n                  iVar2 = iVar2 + -1;\n                  bVar7 = *pbVar3 < *pbVar5;\n                  bVar6 = *pbVar3 == *pbVar5;\n                  pbVar3 = pbVar3 + 1;\n                  pbVar5 = pbVar5 + 1;\n                } while (bVar6);\n                bVar8 = false;\n                bVar6 = (!bVar7 && !bVar6) == bVar7;\n                if (bVar6) {\n                  md.flags = md.flags | 8;\n                  default_big_endian = 1;\n                  return 1;\n                }\n                iVar2 = 0xd;\n                pbVar3 = (byte *)arg;\n                pbVar5 = (byte *)"unwind-check=";\n                do {\n                  if (iVar2 == 0) break;\n                  iVar2 = iVar2 + -1;\n                  bVar8 = *pbVar3 < *pbVar5;\n                  bVar6 = *pbVar3 == *pbVar5;\n                  pbVar3 = pbVar3 + 1;\n                  pbVar5 = pbVar5 + 1;\n                } while (bVar6);\n                if ((!bVar8 && !bVar6) == bVar8) {\n                  iVar2 = strcmp(arg + 0xd,"warning");\n                  if (iVar2 == 0) {\n                    md.unwind_check = CMP_NONE;\n                    return 1;\n                  }\n                  iVar2 = strcmp(arg + 0xd,"error");\n                  if (iVar2 == 0) {\n                    md.unwind_check = CMP_OR;\n                    return 1;\n                  }\n                  return 0;\n                }\n                iVar2 = strncmp(arg,"hint.b=",7);\n                if (iVar2 != 0) {\n                  iVar2 = strncmp(arg,"tune=",5);\n                  if (iVar2 != 0) {\n                    return 0;\n                  }\n                  iVar2 = strcmp(arg + 5,"itanium1");\n                  if (iVar2 != 0) {\n                    iVar2 = strcmp(arg + 5,"itanium2");\n                    if (iVar2 == 0) {\n                      md.tune = CMP_OR;\n                      return 1;\n                    }\n                    return 0;\n                  }\n                  md.tune = CMP_NONE;\n                  return 1;\n                }\n                pcVar4 = arg + 7;\n                iVar2 = strcmp(pcVar4,"ok");\n                if (iVar2 == 0) {\n                  md.hint_b = CMP_AND;\n                  return 1;\n                }\n                iVar2 = strcmp(pcVar4,"warning");\n                if (iVar2 != 0) {\n                  iVar2 = strcmp(pcVar4,"error");\n                  if (iVar2 == 0) {\n                    md.hint_b = CMP_NONE;\n                    return 1;\n                  }\n                  return 0;\n                }\n                md.hint_b = CMP_OR;\n                return 1;\n              }\n            }\n          }\n          md.flags = md.flags | 0x10;\n          return 1;\n        }" { (expression_statement "iVar2 = 6;" (assignment_expression "iVar2 = 6" identifier = number_literal) ;) (expression_statement "pbVar3 = (byte *)arg;" (assignment_expression "pbVar3 = (byte *)arg" identifier = (cast_expression "(byte *)arg" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "pbVar5 = &DAT_000639e8;" (assignment_expression "pbVar5 = &DAT_000639e8" identifier = (pointer_expression "&DAT_000639e8" & identifier)) ;) (do_statement "do {\n            if (iVar2 == 0) break;\n            iVar2 = iVar2 + -1;\n            bVar6 = *pbVar3 < *pbVar5;\n            bVar8 = *pbVar3 == *pbVar5;\n            pbVar3 = pbVar3 + 1;\n            pbVar5 = pbVar5 + 1;\n          } while (bVar8);" do (compound_statement "{\n            if (iVar2 == 0) break;\n            iVar2 = iVar2 + -1;\n            bVar6 = *pbVar3 < *pbVar5;\n            bVar8 = *pbVar3 == *pbVar5;\n            pbVar3 = pbVar3 + 1;\n            pbVar5 = pbVar5 + 1;\n          }" { (if_statement "if (iVar2 == 0) break;" if (parenthesized_expression "(iVar2 == 0)" ( (binary_expression "iVar2 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "iVar2 = iVar2 + -1;" (assignment_expression "iVar2 = iVar2 + -1" identifier = (binary_expression "iVar2 + -1" identifier + number_literal)) ;) (expression_statement "bVar6 = *pbVar3 < *pbVar5;" (assignment_expression "bVar6 = *pbVar3 < *pbVar5" identifier = (binary_expression "*pbVar3 < *pbVar5" (pointer_expression "*pbVar3" * identifier) < (pointer_expression "*pbVar5" * identifier))) ;) (expression_statement "bVar8 = *pbVar3 == *pbVar5;" (assignment_expression "bVar8 = *pbVar3 == *pbVar5" identifier = (binary_expression "*pbVar3 == *pbVar5" (pointer_expression "*pbVar3" * identifier) == (pointer_expression "*pbVar5" * identifier))) ;) (expression_statement "pbVar3 = pbVar3 + 1;" (assignment_expression "pbVar3 = pbVar3 + 1" identifier = (binary_expression "pbVar3 + 1" identifier + number_literal)) ;) (expression_statement "pbVar5 = pbVar5 + 1;" (assignment_expression "pbVar5 = pbVar5 + 1" identifier = (binary_expression "pbVar5 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(bVar8)" ( identifier )) ;) (expression_statement "bVar7 = false;" (assignment_expression "bVar7 = false" identifier = false) ;) (expression_statement "bVar6 = (!bVar6 && !bVar8) == bVar6;" (assignment_expression "bVar6 = (!bVar6 && !bVar8) == bVar6" identifier = (binary_expression "(!bVar6 && !bVar8) == bVar6" (parenthesized_expression "(!bVar6 && !bVar8)" ( (binary_expression "!bVar6 && !bVar8" (unary_expression "!bVar6" ! identifier) && (unary_expression "!bVar8" ! identifier)) )) == identifier)) ;) (if_statement "if (!bVar6) {\n            iVar2 = 5;\n            pbVar3 = (byte *)arg;\n            pbVar5 = &DAT_000639e9;\n            do {\n              if (iVar2 == 0) break;\n              iVar2 = iVar2 + -1;\n              bVar7 = *pbVar3 < *pbVar5;\n              bVar6 = *pbVar3 == *pbVar5;\n              pbVar3 = pbVar3 + 1;\n              pbVar5 = pbVar5 + 1;\n            } while (bVar6);\n            bVar8 = false;\n            bVar6 = (!bVar7 && !bVar6) == bVar7;\n            if (!bVar6) {\n              iVar2 = 4;\n              pbVar3 = (byte *)arg;\n              pbVar5 = &DAT_000639ea;\n              do {\n                if (iVar2 == 0) break;\n                iVar2 = iVar2 + -1;\n                bVar8 = *pbVar3 < *pbVar5;\n                bVar6 = *pbVar3 == *pbVar5;\n                pbVar3 = pbVar3 + 1;\n                pbVar5 = pbVar5 + 1;\n              } while (bVar6);\n              bVar7 = false;\n              bVar6 = (!bVar8 && !bVar6) == bVar8;\n              if (!bVar6) {\n                iVar2 = 6;\n                pbVar3 = (byte *)arg;\n                pbVar5 = (byte *)"ilp32";\n                do {\n                  if (iVar2 == 0) break;\n                  iVar2 = iVar2 + -1;\n                  bVar7 = *pbVar3 < *pbVar5;\n                  bVar6 = *pbVar3 == *pbVar5;\n                  pbVar3 = pbVar3 + 1;\n                  pbVar5 = pbVar5 + 1;\n                } while (bVar6);\n                bVar8 = false;\n                bVar6 = (!bVar7 && !bVar6) == bVar7;\n                if (bVar6) {\n                  md.flags = md.flags & 0xffffffef;\n                  return 1;\n                }\n                iVar2 = 3;\n                pbVar3 = (byte *)arg;\n                pbVar5 = (byte *)0x5a287;\n                do {\n                  if (iVar2 == 0) break;\n                  iVar2 = iVar2 + -1;\n                  bVar8 = *pbVar3 < *pbVar5;\n                  bVar6 = *pbVar3 == *pbVar5;\n                  pbVar3 = pbVar3 + 1;\n                  pbVar5 = pbVar5 + 1;\n                } while (bVar6);\n                bVar7 = false;\n                bVar6 = (!bVar8 && !bVar6) == bVar8;\n                if (bVar6) {\n                  md.flags = md.flags & 0xfffffff7;\n                  default_big_endian = 0;\n                  return 1;\n                }\n                iVar2 = 3;\n                pbVar3 = (byte *)arg;\n                pbVar5 = &DAT_00063a90;\n                do {\n                  if (iVar2 == 0) break;\n                  iVar2 = iVar2 + -1;\n                  bVar7 = *pbVar3 < *pbVar5;\n                  bVar6 = *pbVar3 == *pbVar5;\n                  pbVar3 = pbVar3 + 1;\n                  pbVar5 = pbVar5 + 1;\n                } while (bVar6);\n                bVar8 = false;\n                bVar6 = (!bVar7 && !bVar6) == bVar7;\n                if (bVar6) {\n                  md.flags = md.flags | 8;\n                  default_big_endian = 1;\n                  return 1;\n                }\n                iVar2 = 0xd;\n                pbVar3 = (byte *)arg;\n                pbVar5 = (byte *)"unwind-check=";\n                do {\n                  if (iVar2 == 0) break;\n                  iVar2 = iVar2 + -1;\n                  bVar8 = *pbVar3 < *pbVar5;\n                  bVar6 = *pbVar3 == *pbVar5;\n                  pbVar3 = pbVar3 + 1;\n                  pbVar5 = pbVar5 + 1;\n                } while (bVar6);\n                if ((!bVar8 && !bVar6) == bVar8) {\n                  iVar2 = strcmp(arg + 0xd,"warning");\n                  if (iVar2 == 0) {\n                    md.unwind_check = CMP_NONE;\n                    return 1;\n                  }\n                  iVar2 = strcmp(arg + 0xd,"error");\n                  if (iVar2 == 0) {\n                    md.unwind_check = CMP_OR;\n                    return 1;\n                  }\n                  return 0;\n                }\n                iVar2 = strncmp(arg,"hint.b=",7);\n                if (iVar2 != 0) {\n                  iVar2 = strncmp(arg,"tune=",5);\n                  if (iVar2 != 0) {\n                    return 0;\n                  }\n                  iVar2 = strcmp(arg + 5,"itanium1");\n                  if (iVar2 != 0) {\n                    iVar2 = strcmp(arg + 5,"itanium2");\n                    if (iVar2 == 0) {\n                      md.tune = CMP_OR;\n                      return 1;\n                    }\n                    return 0;\n                  }\n                  md.tune = CMP_NONE;\n                  return 1;\n                }\n                pcVar4 = arg + 7;\n                iVar2 = strcmp(pcVar4,"ok");\n                if (iVar2 == 0) {\n                  md.hint_b = CMP_AND;\n                  return 1;\n                }\n                iVar2 = strcmp(pcVar4,"warning");\n                if (iVar2 != 0) {\n                  iVar2 = strcmp(pcVar4,"error");\n                  if (iVar2 == 0) {\n                    md.hint_b = CMP_NONE;\n                    return 1;\n                  }\n                  return 0;\n                }\n                md.hint_b = CMP_OR;\n                return 1;\n              }\n            }\n          }" if (parenthesized_expression "(!bVar6)" ( (unary_expression "!bVar6" ! identifier) )) (compound_statement "{\n            iVar2 = 5;\n            pbVar3 = (byte *)arg;\n            pbVar5 = &DAT_000639e9;\n            do {\n              if (iVar2 == 0) break;\n              iVar2 = iVar2 + -1;\n              bVar7 = *pbVar3 < *pbVar5;\n              bVar6 = *pbVar3 == *pbVar5;\n              pbVar3 = pbVar3 + 1;\n              pbVar5 = pbVar5 + 1;\n            } while (bVar6);\n            bVar8 = false;\n            bVar6 = (!bVar7 && !bVar6) == bVar7;\n            if (!bVar6) {\n              iVar2 = 4;\n              pbVar3 = (byte *)arg;\n              pbVar5 = &DAT_000639ea;\n              do {\n                if (iVar2 == 0) break;\n                iVar2 = iVar2 + -1;\n                bVar8 = *pbVar3 < *pbVar5;\n                bVar6 = *pbVar3 == *pbVar5;\n                pbVar3 = pbVar3 + 1;\n                pbVar5 = pbVar5 + 1;\n              } while (bVar6);\n              bVar7 = false;\n              bVar6 = (!bVar8 && !bVar6) == bVar8;\n              if (!bVar6) {\n                iVar2 = 6;\n                pbVar3 = (byte *)arg;\n                pbVar5 = (byte *)"ilp32";\n                do {\n                  if (iVar2 == 0) break;\n                  iVar2 = iVar2 + -1;\n                  bVar7 = *pbVar3 < *pbVar5;\n                  bVar6 = *pbVar3 == *pbVar5;\n                  pbVar3 = pbVar3 + 1;\n                  pbVar5 = pbVar5 + 1;\n                } while (bVar6);\n                bVar8 = false;\n                bVar6 = (!bVar7 && !bVar6) == bVar7;\n                if (bVar6) {\n                  md.flags = md.flags & 0xffffffef;\n                  return 1;\n                }\n                iVar2 = 3;\n                pbVar3 = (byte *)arg;\n                pbVar5 = (byte *)0x5a287;\n                do {\n                  if (iVar2 == 0) break;\n                  iVar2 = iVar2 + -1;\n                  bVar8 = *pbVar3 < *pbVar5;\n                  bVar6 = *pbVar3 == *pbVar5;\n                  pbVar3 = pbVar3 + 1;\n                  pbVar5 = pbVar5 + 1;\n                } while (bVar6);\n                bVar7 = false;\n                bVar6 = (!bVar8 && !bVar6) == bVar8;\n                if (bVar6) {\n                  md.flags = md.flags & 0xfffffff7;\n                  default_big_endian = 0;\n                  return 1;\n                }\n                iVar2 = 3;\n                pbVar3 = (byte *)arg;\n                pbVar5 = &DAT_00063a90;\n                do {\n                  if (iVar2 == 0) break;\n                  iVar2 = iVar2 + -1;\n                  bVar7 = *pbVar3 < *pbVar5;\n                  bVar6 = *pbVar3 == *pbVar5;\n                  pbVar3 = pbVar3 + 1;\n                  pbVar5 = pbVar5 + 1;\n                } while (bVar6);\n                bVar8 = false;\n                bVar6 = (!bVar7 && !bVar6) == bVar7;\n                if (bVar6) {\n                  md.flags = md.flags | 8;\n                  default_big_endian = 1;\n                  return 1;\n                }\n                iVar2 = 0xd;\n                pbVar3 = (byte *)arg;\n                pbVar5 = (byte *)"unwind-check=";\n                do {\n                  if (iVar2 == 0) break;\n                  iVar2 = iVar2 + -1;\n                  bVar8 = *pbVar3 < *pbVar5;\n                  bVar6 = *pbVar3 == *pbVar5;\n                  pbVar3 = pbVar3 + 1;\n                  pbVar5 = pbVar5 + 1;\n                } while (bVar6);\n                if ((!bVar8 && !bVar6) == bVar8) {\n                  iVar2 = strcmp(arg + 0xd,"warning");\n                  if (iVar2 == 0) {\n                    md.unwind_check = CMP_NONE;\n                    return 1;\n                  }\n                  iVar2 = strcmp(arg + 0xd,"error");\n                  if (iVar2 == 0) {\n                    md.unwind_check = CMP_OR;\n                    return 1;\n                  }\n                  return 0;\n                }\n                iVar2 = strncmp(arg,"hint.b=",7);\n                if (iVar2 != 0) {\n                  iVar2 = strncmp(arg,"tune=",5);\n                  if (iVar2 != 0) {\n                    return 0;\n                  }\n                  iVar2 = strcmp(arg + 5,"itanium1");\n                  if (iVar2 != 0) {\n                    iVar2 = strcmp(arg + 5,"itanium2");\n                    if (iVar2 == 0) {\n                      md.tune = CMP_OR;\n                      return 1;\n                    }\n                    return 0;\n                  }\n                  md.tune = CMP_NONE;\n                  return 1;\n                }\n                pcVar4 = arg + 7;\n                iVar2 = strcmp(pcVar4,"ok");\n                if (iVar2 == 0) {\n                  md.hint_b = CMP_AND;\n                  return 1;\n                }\n                iVar2 = strcmp(pcVar4,"warning");\n                if (iVar2 != 0) {\n                  iVar2 = strcmp(pcVar4,"error");\n                  if (iVar2 == 0) {\n                    md.hint_b = CMP_NONE;\n                    return 1;\n                  }\n                  return 0;\n                }\n                md.hint_b = CMP_OR;\n                return 1;\n              }\n            }\n          }" { (expression_statement "iVar2 = 5;" (assignment_expression "iVar2 = 5" identifier = number_literal) ;) (expression_statement "pbVar3 = (byte *)arg;" (assignment_expression "pbVar3 = (byte *)arg" identifier = (cast_expression "(byte *)arg" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "pbVar5 = &DAT_000639e9;" (assignment_expression "pbVar5 = &DAT_000639e9" identifier = (pointer_expression "&DAT_000639e9" & identifier)) ;) (do_statement "do {\n              if (iVar2 == 0) break;\n              iVar2 = iVar2 + -1;\n              bVar7 = *pbVar3 < *pbVar5;\n              bVar6 = *pbVar3 == *pbVar5;\n              pbVar3 = pbVar3 + 1;\n              pbVar5 = pbVar5 + 1;\n            } while (bVar6);" do (compound_statement "{\n              if (iVar2 == 0) break;\n              iVar2 = iVar2 + -1;\n              bVar7 = *pbVar3 < *pbVar5;\n              bVar6 = *pbVar3 == *pbVar5;\n              pbVar3 = pbVar3 + 1;\n              pbVar5 = pbVar5 + 1;\n            }" { (if_statement "if (iVar2 == 0) break;" if (parenthesized_expression "(iVar2 == 0)" ( (binary_expression "iVar2 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "iVar2 = iVar2 + -1;" (assignment_expression "iVar2 = iVar2 + -1" identifier = (binary_expression "iVar2 + -1" identifier + number_literal)) ;) (expression_statement "bVar7 = *pbVar3 < *pbVar5;" (assignment_expression "bVar7 = *pbVar3 < *pbVar5" identifier = (binary_expression "*pbVar3 < *pbVar5" (pointer_expression "*pbVar3" * identifier) < (pointer_expression "*pbVar5" * identifier))) ;) (expression_statement "bVar6 = *pbVar3 == *pbVar5;" (assignment_expression "bVar6 = *pbVar3 == *pbVar5" identifier = (binary_expression "*pbVar3 == *pbVar5" (pointer_expression "*pbVar3" * identifier) == (pointer_expression "*pbVar5" * identifier))) ;) (expression_statement "pbVar3 = pbVar3 + 1;" (assignment_expression "pbVar3 = pbVar3 + 1" identifier = (binary_expression "pbVar3 + 1" identifier + number_literal)) ;) (expression_statement "pbVar5 = pbVar5 + 1;" (assignment_expression "pbVar5 = pbVar5 + 1" identifier = (binary_expression "pbVar5 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(bVar6)" ( identifier )) ;) (expression_statement "bVar8 = false;" (assignment_expression "bVar8 = false" identifier = false) ;) (expression_statement "bVar6 = (!bVar7 && !bVar6) == bVar7;" (assignment_expression "bVar6 = (!bVar7 && !bVar6) == bVar7" identifier = (binary_expression "(!bVar7 && !bVar6) == bVar7" (parenthesized_expression "(!bVar7 && !bVar6)" ( (binary_expression "!bVar7 && !bVar6" (unary_expression "!bVar7" ! identifier) && (unary_expression "!bVar6" ! identifier)) )) == identifier)) ;) (if_statement "if (!bVar6) {\n              iVar2 = 4;\n              pbVar3 = (byte *)arg;\n              pbVar5 = &DAT_000639ea;\n              do {\n                if (iVar2 == 0) break;\n                iVar2 = iVar2 + -1;\n                bVar8 = *pbVar3 < *pbVar5;\n                bVar6 = *pbVar3 == *pbVar5;\n                pbVar3 = pbVar3 + 1;\n                pbVar5 = pbVar5 + 1;\n              } while (bVar6);\n              bVar7 = false;\n              bVar6 = (!bVar8 && !bVar6) == bVar8;\n              if (!bVar6) {\n                iVar2 = 6;\n                pbVar3 = (byte *)arg;\n                pbVar5 = (byte *)"ilp32";\n                do {\n                  if (iVar2 == 0) break;\n                  iVar2 = iVar2 + -1;\n                  bVar7 = *pbVar3 < *pbVar5;\n                  bVar6 = *pbVar3 == *pbVar5;\n                  pbVar3 = pbVar3 + 1;\n                  pbVar5 = pbVar5 + 1;\n                } while (bVar6);\n                bVar8 = false;\n                bVar6 = (!bVar7 && !bVar6) == bVar7;\n                if (bVar6) {\n                  md.flags = md.flags & 0xffffffef;\n                  return 1;\n                }\n                iVar2 = 3;\n                pbVar3 = (byte *)arg;\n                pbVar5 = (byte *)0x5a287;\n                do {\n                  if (iVar2 == 0) break;\n                  iVar2 = iVar2 + -1;\n                  bVar8 = *pbVar3 < *pbVar5;\n                  bVar6 = *pbVar3 == *pbVar5;\n                  pbVar3 = pbVar3 + 1;\n                  pbVar5 = pbVar5 + 1;\n                } while (bVar6);\n                bVar7 = false;\n                bVar6 = (!bVar8 && !bVar6) == bVar8;\n                if (bVar6) {\n                  md.flags = md.flags & 0xfffffff7;\n                  default_big_endian = 0;\n                  return 1;\n                }\n                iVar2 = 3;\n                pbVar3 = (byte *)arg;\n                pbVar5 = &DAT_00063a90;\n                do {\n                  if (iVar2 == 0) break;\n                  iVar2 = iVar2 + -1;\n                  bVar7 = *pbVar3 < *pbVar5;\n                  bVar6 = *pbVar3 == *pbVar5;\n                  pbVar3 = pbVar3 + 1;\n                  pbVar5 = pbVar5 + 1;\n                } while (bVar6);\n                bVar8 = false;\n                bVar6 = (!bVar7 && !bVar6) == bVar7;\n                if (bVar6) {\n                  md.flags = md.flags | 8;\n                  default_big_endian = 1;\n                  return 1;\n                }\n                iVar2 = 0xd;\n                pbVar3 = (byte *)arg;\n                pbVar5 = (byte *)"unwind-check=";\n                do {\n                  if (iVar2 == 0) break;\n                  iVar2 = iVar2 + -1;\n                  bVar8 = *pbVar3 < *pbVar5;\n                  bVar6 = *pbVar3 == *pbVar5;\n                  pbVar3 = pbVar3 + 1;\n                  pbVar5 = pbVar5 + 1;\n                } while (bVar6);\n                if ((!bVar8 && !bVar6) == bVar8) {\n                  iVar2 = strcmp(arg + 0xd,"warning");\n                  if (iVar2 == 0) {\n                    md.unwind_check = CMP_NONE;\n                    return 1;\n                  }\n                  iVar2 = strcmp(arg + 0xd,"error");\n                  if (iVar2 == 0) {\n                    md.unwind_check = CMP_OR;\n                    return 1;\n                  }\n                  return 0;\n                }\n                iVar2 = strncmp(arg,"hint.b=",7);\n                if (iVar2 != 0) {\n                  iVar2 = strncmp(arg,"tune=",5);\n                  if (iVar2 != 0) {\n                    return 0;\n                  }\n                  iVar2 = strcmp(arg + 5,"itanium1");\n                  if (iVar2 != 0) {\n                    iVar2 = strcmp(arg + 5,"itanium2");\n                    if (iVar2 == 0) {\n                      md.tune = CMP_OR;\n                      return 1;\n                    }\n                    return 0;\n                  }\n                  md.tune = CMP_NONE;\n                  return 1;\n                }\n                pcVar4 = arg + 7;\n                iVar2 = strcmp(pcVar4,"ok");\n                if (iVar2 == 0) {\n                  md.hint_b = CMP_AND;\n                  return 1;\n                }\n                iVar2 = strcmp(pcVar4,"warning");\n                if (iVar2 != 0) {\n                  iVar2 = strcmp(pcVar4,"error");\n                  if (iVar2 == 0) {\n                    md.hint_b = CMP_NONE;\n                    return 1;\n                  }\n                  return 0;\n                }\n                md.hint_b = CMP_OR;\n                return 1;\n              }\n            }" if (parenthesized_expression "(!bVar6)" ( (unary_expression "!bVar6" ! identifier) )) (compound_statement "{\n              iVar2 = 4;\n              pbVar3 = (byte *)arg;\n              pbVar5 = &DAT_000639ea;\n              do {\n                if (iVar2 == 0) break;\n                iVar2 = iVar2 + -1;\n                bVar8 = *pbVar3 < *pbVar5;\n                bVar6 = *pbVar3 == *pbVar5;\n                pbVar3 = pbVar3 + 1;\n                pbVar5 = pbVar5 + 1;\n              } while (bVar6);\n              bVar7 = false;\n              bVar6 = (!bVar8 && !bVar6) == bVar8;\n              if (!bVar6) {\n                iVar2 = 6;\n                pbVar3 = (byte *)arg;\n                pbVar5 = (byte *)"ilp32";\n                do {\n                  if (iVar2 == 0) break;\n                  iVar2 = iVar2 + -1;\n                  bVar7 = *pbVar3 < *pbVar5;\n                  bVar6 = *pbVar3 == *pbVar5;\n                  pbVar3 = pbVar3 + 1;\n                  pbVar5 = pbVar5 + 1;\n                } while (bVar6);\n                bVar8 = false;\n                bVar6 = (!bVar7 && !bVar6) == bVar7;\n                if (bVar6) {\n                  md.flags = md.flags & 0xffffffef;\n                  return 1;\n                }\n                iVar2 = 3;\n                pbVar3 = (byte *)arg;\n                pbVar5 = (byte *)0x5a287;\n                do {\n                  if (iVar2 == 0) break;\n                  iVar2 = iVar2 + -1;\n                  bVar8 = *pbVar3 < *pbVar5;\n                  bVar6 = *pbVar3 == *pbVar5;\n                  pbVar3 = pbVar3 + 1;\n                  pbVar5 = pbVar5 + 1;\n                } while (bVar6);\n                bVar7 = false;\n                bVar6 = (!bVar8 && !bVar6) == bVar8;\n                if (bVar6) {\n                  md.flags = md.flags & 0xfffffff7;\n                  default_big_endian = 0;\n                  return 1;\n                }\n                iVar2 = 3;\n                pbVar3 = (byte *)arg;\n                pbVar5 = &DAT_00063a90;\n                do {\n                  if (iVar2 == 0) break;\n                  iVar2 = iVar2 + -1;\n                  bVar7 = *pbVar3 < *pbVar5;\n                  bVar6 = *pbVar3 == *pbVar5;\n                  pbVar3 = pbVar3 + 1;\n                  pbVar5 = pbVar5 + 1;\n                } while (bVar6);\n                bVar8 = false;\n                bVar6 = (!bVar7 && !bVar6) == bVar7;\n                if (bVar6) {\n                  md.flags = md.flags | 8;\n                  default_big_endian = 1;\n                  return 1;\n                }\n                iVar2 = 0xd;\n                pbVar3 = (byte *)arg;\n                pbVar5 = (byte *)"unwind-check=";\n                do {\n                  if (iVar2 == 0) break;\n                  iVar2 = iVar2 + -1;\n                  bVar8 = *pbVar3 < *pbVar5;\n                  bVar6 = *pbVar3 == *pbVar5;\n                  pbVar3 = pbVar3 + 1;\n                  pbVar5 = pbVar5 + 1;\n                } while (bVar6);\n                if ((!bVar8 && !bVar6) == bVar8) {\n                  iVar2 = strcmp(arg + 0xd,"warning");\n                  if (iVar2 == 0) {\n                    md.unwind_check = CMP_NONE;\n                    return 1;\n                  }\n                  iVar2 = strcmp(arg + 0xd,"error");\n                  if (iVar2 == 0) {\n                    md.unwind_check = CMP_OR;\n                    return 1;\n                  }\n                  return 0;\n                }\n                iVar2 = strncmp(arg,"hint.b=",7);\n                if (iVar2 != 0) {\n                  iVar2 = strncmp(arg,"tune=",5);\n                  if (iVar2 != 0) {\n                    return 0;\n                  }\n                  iVar2 = strcmp(arg + 5,"itanium1");\n                  if (iVar2 != 0) {\n                    iVar2 = strcmp(arg + 5,"itanium2");\n                    if (iVar2 == 0) {\n                      md.tune = CMP_OR;\n                      return 1;\n                    }\n                    return 0;\n                  }\n                  md.tune = CMP_NONE;\n                  return 1;\n                }\n                pcVar4 = arg + 7;\n                iVar2 = strcmp(pcVar4,"ok");\n                if (iVar2 == 0) {\n                  md.hint_b = CMP_AND;\n                  return 1;\n                }\n                iVar2 = strcmp(pcVar4,"warning");\n                if (iVar2 != 0) {\n                  iVar2 = strcmp(pcVar4,"error");\n                  if (iVar2 == 0) {\n                    md.hint_b = CMP_NONE;\n                    return 1;\n                  }\n                  return 0;\n                }\n                md.hint_b = CMP_OR;\n                return 1;\n              }\n            }" { (expression_statement "iVar2 = 4;" (assignment_expression "iVar2 = 4" identifier = number_literal) ;) (expression_statement "pbVar3 = (byte *)arg;" (assignment_expression "pbVar3 = (byte *)arg" identifier = (cast_expression "(byte *)arg" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "pbVar5 = &DAT_000639ea;" (assignment_expression "pbVar5 = &DAT_000639ea" identifier = (pointer_expression "&DAT_000639ea" & identifier)) ;) (do_statement "do {\n                if (iVar2 == 0) break;\n                iVar2 = iVar2 + -1;\n                bVar8 = *pbVar3 < *pbVar5;\n                bVar6 = *pbVar3 == *pbVar5;\n                pbVar3 = pbVar3 + 1;\n                pbVar5 = pbVar5 + 1;\n              } while (bVar6);" do (compound_statement "{\n                if (iVar2 == 0) break;\n                iVar2 = iVar2 + -1;\n                bVar8 = *pbVar3 < *pbVar5;\n                bVar6 = *pbVar3 == *pbVar5;\n                pbVar3 = pbVar3 + 1;\n                pbVar5 = pbVar5 + 1;\n              }" { (if_statement "if (iVar2 == 0) break;" if (parenthesized_expression "(iVar2 == 0)" ( (binary_expression "iVar2 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "iVar2 = iVar2 + -1;" (assignment_expression "iVar2 = iVar2 + -1" identifier = (binary_expression "iVar2 + -1" identifier + number_literal)) ;) (expression_statement "bVar8 = *pbVar3 < *pbVar5;" (assignment_expression "bVar8 = *pbVar3 < *pbVar5" identifier = (binary_expression "*pbVar3 < *pbVar5" (pointer_expression "*pbVar3" * identifier) < (pointer_expression "*pbVar5" * identifier))) ;) (expression_statement "bVar6 = *pbVar3 == *pbVar5;" (assignment_expression "bVar6 = *pbVar3 == *pbVar5" identifier = (binary_expression "*pbVar3 == *pbVar5" (pointer_expression "*pbVar3" * identifier) == (pointer_expression "*pbVar5" * identifier))) ;) (expression_statement "pbVar3 = pbVar3 + 1;" (assignment_expression "pbVar3 = pbVar3 + 1" identifier = (binary_expression "pbVar3 + 1" identifier + number_literal)) ;) (expression_statement "pbVar5 = pbVar5 + 1;" (assignment_expression "pbVar5 = pbVar5 + 1" identifier = (binary_expression "pbVar5 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(bVar6)" ( identifier )) ;) (expression_statement "bVar7 = false;" (assignment_expression "bVar7 = false" identifier = false) ;) (expression_statement "bVar6 = (!bVar8 && !bVar6) == bVar8;" (assignment_expression "bVar6 = (!bVar8 && !bVar6) == bVar8" identifier = (binary_expression "(!bVar8 && !bVar6) == bVar8" (parenthesized_expression "(!bVar8 && !bVar6)" ( (binary_expression "!bVar8 && !bVar6" (unary_expression "!bVar8" ! identifier) && (unary_expression "!bVar6" ! identifier)) )) == identifier)) ;) (if_statement "if (!bVar6) {\n                iVar2 = 6;\n                pbVar3 = (byte *)arg;\n                pbVar5 = (byte *)"ilp32";\n                do {\n                  if (iVar2 == 0) break;\n                  iVar2 = iVar2 + -1;\n                  bVar7 = *pbVar3 < *pbVar5;\n                  bVar6 = *pbVar3 == *pbVar5;\n                  pbVar3 = pbVar3 + 1;\n                  pbVar5 = pbVar5 + 1;\n                } while (bVar6);\n                bVar8 = false;\n                bVar6 = (!bVar7 && !bVar6) == bVar7;\n                if (bVar6) {\n                  md.flags = md.flags & 0xffffffef;\n                  return 1;\n                }\n                iVar2 = 3;\n                pbVar3 = (byte *)arg;\n                pbVar5 = (byte *)0x5a287;\n                do {\n                  if (iVar2 == 0) break;\n                  iVar2 = iVar2 + -1;\n                  bVar8 = *pbVar3 < *pbVar5;\n                  bVar6 = *pbVar3 == *pbVar5;\n                  pbVar3 = pbVar3 + 1;\n                  pbVar5 = pbVar5 + 1;\n                } while (bVar6);\n                bVar7 = false;\n                bVar6 = (!bVar8 && !bVar6) == bVar8;\n                if (bVar6) {\n                  md.flags = md.flags & 0xfffffff7;\n                  default_big_endian = 0;\n                  return 1;\n                }\n                iVar2 = 3;\n                pbVar3 = (byte *)arg;\n                pbVar5 = &DAT_00063a90;\n                do {\n                  if (iVar2 == 0) break;\n                  iVar2 = iVar2 + -1;\n                  bVar7 = *pbVar3 < *pbVar5;\n                  bVar6 = *pbVar3 == *pbVar5;\n                  pbVar3 = pbVar3 + 1;\n                  pbVar5 = pbVar5 + 1;\n                } while (bVar6);\n                bVar8 = false;\n                bVar6 = (!bVar7 && !bVar6) == bVar7;\n                if (bVar6) {\n                  md.flags = md.flags | 8;\n                  default_big_endian = 1;\n                  return 1;\n                }\n                iVar2 = 0xd;\n                pbVar3 = (byte *)arg;\n                pbVar5 = (byte *)"unwind-check=";\n                do {\n                  if (iVar2 == 0) break;\n                  iVar2 = iVar2 + -1;\n                  bVar8 = *pbVar3 < *pbVar5;\n                  bVar6 = *pbVar3 == *pbVar5;\n                  pbVar3 = pbVar3 + 1;\n                  pbVar5 = pbVar5 + 1;\n                } while (bVar6);\n                if ((!bVar8 && !bVar6) == bVar8) {\n                  iVar2 = strcmp(arg + 0xd,"warning");\n                  if (iVar2 == 0) {\n                    md.unwind_check = CMP_NONE;\n                    return 1;\n                  }\n                  iVar2 = strcmp(arg + 0xd,"error");\n                  if (iVar2 == 0) {\n                    md.unwind_check = CMP_OR;\n                    return 1;\n                  }\n                  return 0;\n                }\n                iVar2 = strncmp(arg,"hint.b=",7);\n                if (iVar2 != 0) {\n                  iVar2 = strncmp(arg,"tune=",5);\n                  if (iVar2 != 0) {\n                    return 0;\n                  }\n                  iVar2 = strcmp(arg + 5,"itanium1");\n                  if (iVar2 != 0) {\n                    iVar2 = strcmp(arg + 5,"itanium2");\n                    if (iVar2 == 0) {\n                      md.tune = CMP_OR;\n                      return 1;\n                    }\n                    return 0;\n                  }\n                  md.tune = CMP_NONE;\n                  return 1;\n                }\n                pcVar4 = arg + 7;\n                iVar2 = strcmp(pcVar4,"ok");\n                if (iVar2 == 0) {\n                  md.hint_b = CMP_AND;\n                  return 1;\n                }\n                iVar2 = strcmp(pcVar4,"warning");\n                if (iVar2 != 0) {\n                  iVar2 = strcmp(pcVar4,"error");\n                  if (iVar2 == 0) {\n                    md.hint_b = CMP_NONE;\n                    return 1;\n                  }\n                  return 0;\n                }\n                md.hint_b = CMP_OR;\n                return 1;\n              }" if (parenthesized_expression "(!bVar6)" ( (unary_expression "!bVar6" ! identifier) )) (compound_statement "{\n                iVar2 = 6;\n                pbVar3 = (byte *)arg;\n                pbVar5 = (byte *)"ilp32";\n                do {\n                  if (iVar2 == 0) break;\n                  iVar2 = iVar2 + -1;\n                  bVar7 = *pbVar3 < *pbVar5;\n                  bVar6 = *pbVar3 == *pbVar5;\n                  pbVar3 = pbVar3 + 1;\n                  pbVar5 = pbVar5 + 1;\n                } while (bVar6);\n                bVar8 = false;\n                bVar6 = (!bVar7 && !bVar6) == bVar7;\n                if (bVar6) {\n                  md.flags = md.flags & 0xffffffef;\n                  return 1;\n                }\n                iVar2 = 3;\n                pbVar3 = (byte *)arg;\n                pbVar5 = (byte *)0x5a287;\n                do {\n                  if (iVar2 == 0) break;\n                  iVar2 = iVar2 + -1;\n                  bVar8 = *pbVar3 < *pbVar5;\n                  bVar6 = *pbVar3 == *pbVar5;\n                  pbVar3 = pbVar3 + 1;\n                  pbVar5 = pbVar5 + 1;\n                } while (bVar6);\n                bVar7 = false;\n                bVar6 = (!bVar8 && !bVar6) == bVar8;\n                if (bVar6) {\n                  md.flags = md.flags & 0xfffffff7;\n                  default_big_endian = 0;\n                  return 1;\n                }\n                iVar2 = 3;\n                pbVar3 = (byte *)arg;\n                pbVar5 = &DAT_00063a90;\n                do {\n                  if (iVar2 == 0) break;\n                  iVar2 = iVar2 + -1;\n                  bVar7 = *pbVar3 < *pbVar5;\n                  bVar6 = *pbVar3 == *pbVar5;\n                  pbVar3 = pbVar3 + 1;\n                  pbVar5 = pbVar5 + 1;\n                } while (bVar6);\n                bVar8 = false;\n                bVar6 = (!bVar7 && !bVar6) == bVar7;\n                if (bVar6) {\n                  md.flags = md.flags | 8;\n                  default_big_endian = 1;\n                  return 1;\n                }\n                iVar2 = 0xd;\n                pbVar3 = (byte *)arg;\n                pbVar5 = (byte *)"unwind-check=";\n                do {\n                  if (iVar2 == 0) break;\n                  iVar2 = iVar2 + -1;\n                  bVar8 = *pbVar3 < *pbVar5;\n                  bVar6 = *pbVar3 == *pbVar5;\n                  pbVar3 = pbVar3 + 1;\n                  pbVar5 = pbVar5 + 1;\n                } while (bVar6);\n                if ((!bVar8 && !bVar6) == bVar8) {\n                  iVar2 = strcmp(arg + 0xd,"warning");\n                  if (iVar2 == 0) {\n                    md.unwind_check = CMP_NONE;\n                    return 1;\n                  }\n                  iVar2 = strcmp(arg + 0xd,"error");\n                  if (iVar2 == 0) {\n                    md.unwind_check = CMP_OR;\n                    return 1;\n                  }\n                  return 0;\n                }\n                iVar2 = strncmp(arg,"hint.b=",7);\n                if (iVar2 != 0) {\n                  iVar2 = strncmp(arg,"tune=",5);\n                  if (iVar2 != 0) {\n                    return 0;\n                  }\n                  iVar2 = strcmp(arg + 5,"itanium1");\n                  if (iVar2 != 0) {\n                    iVar2 = strcmp(arg + 5,"itanium2");\n                    if (iVar2 == 0) {\n                      md.tune = CMP_OR;\n                      return 1;\n                    }\n                    return 0;\n                  }\n                  md.tune = CMP_NONE;\n                  return 1;\n                }\n                pcVar4 = arg + 7;\n                iVar2 = strcmp(pcVar4,"ok");\n                if (iVar2 == 0) {\n                  md.hint_b = CMP_AND;\n                  return 1;\n                }\n                iVar2 = strcmp(pcVar4,"warning");\n                if (iVar2 != 0) {\n                  iVar2 = strcmp(pcVar4,"error");\n                  if (iVar2 == 0) {\n                    md.hint_b = CMP_NONE;\n                    return 1;\n                  }\n                  return 0;\n                }\n                md.hint_b = CMP_OR;\n                return 1;\n              }" { (expression_statement "iVar2 = 6;" (assignment_expression "iVar2 = 6" identifier = number_literal) ;) (expression_statement "pbVar3 = (byte *)arg;" (assignment_expression "pbVar3 = (byte *)arg" identifier = (cast_expression "(byte *)arg" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "pbVar5 = (byte *)"ilp32";" (assignment_expression "pbVar5 = (byte *)"ilp32"" identifier = (cast_expression "(byte *)"ilp32"" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (string_literal ""ilp32"" " string_content "))) ;) (do_statement "do {\n                  if (iVar2 == 0) break;\n                  iVar2 = iVar2 + -1;\n                  bVar7 = *pbVar3 < *pbVar5;\n                  bVar6 = *pbVar3 == *pbVar5;\n                  pbVar3 = pbVar3 + 1;\n                  pbVar5 = pbVar5 + 1;\n                } while (bVar6);" do (compound_statement "{\n                  if (iVar2 == 0) break;\n                  iVar2 = iVar2 + -1;\n                  bVar7 = *pbVar3 < *pbVar5;\n                  bVar6 = *pbVar3 == *pbVar5;\n                  pbVar3 = pbVar3 + 1;\n                  pbVar5 = pbVar5 + 1;\n                }" { (if_statement "if (iVar2 == 0) break;" if (parenthesized_expression "(iVar2 == 0)" ( (binary_expression "iVar2 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "iVar2 = iVar2 + -1;" (assignment_expression "iVar2 = iVar2 + -1" identifier = (binary_expression "iVar2 + -1" identifier + number_literal)) ;) (expression_statement "bVar7 = *pbVar3 < *pbVar5;" (assignment_expression "bVar7 = *pbVar3 < *pbVar5" identifier = (binary_expression "*pbVar3 < *pbVar5" (pointer_expression "*pbVar3" * identifier) < (pointer_expression "*pbVar5" * identifier))) ;) (expression_statement "bVar6 = *pbVar3 == *pbVar5;" (assignment_expression "bVar6 = *pbVar3 == *pbVar5" identifier = (binary_expression "*pbVar3 == *pbVar5" (pointer_expression "*pbVar3" * identifier) == (pointer_expression "*pbVar5" * identifier))) ;) (expression_statement "pbVar3 = pbVar3 + 1;" (assignment_expression "pbVar3 = pbVar3 + 1" identifier = (binary_expression "pbVar3 + 1" identifier + number_literal)) ;) (expression_statement "pbVar5 = pbVar5 + 1;" (assignment_expression "pbVar5 = pbVar5 + 1" identifier = (binary_expression "pbVar5 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(bVar6)" ( identifier )) ;) (expression_statement "bVar8 = false;" (assignment_expression "bVar8 = false" identifier = false) ;) (expression_statement "bVar6 = (!bVar7 && !bVar6) == bVar7;" (assignment_expression "bVar6 = (!bVar7 && !bVar6) == bVar7" identifier = (binary_expression "(!bVar7 && !bVar6) == bVar7" (parenthesized_expression "(!bVar7 && !bVar6)" ( (binary_expression "!bVar7 && !bVar6" (unary_expression "!bVar7" ! identifier) && (unary_expression "!bVar6" ! identifier)) )) == identifier)) ;) (if_statement "if (bVar6) {\n                  md.flags = md.flags & 0xffffffef;\n                  return 1;\n                }" if (parenthesized_expression "(bVar6)" ( identifier )) (compound_statement "{\n                  md.flags = md.flags & 0xffffffef;\n                  return 1;\n                }" { (expression_statement "md.flags = md.flags & 0xffffffef;" (assignment_expression "md.flags = md.flags & 0xffffffef" (field_expression "md.flags" identifier . field_identifier) = (binary_expression "md.flags & 0xffffffef" (field_expression "md.flags" identifier . field_identifier) & number_literal)) ;) (return_statement "return 1;" return number_literal ;) })) (expression_statement "iVar2 = 3;" (assignment_expression "iVar2 = 3" identifier = number_literal) ;) (expression_statement "pbVar3 = (byte *)arg;" (assignment_expression "pbVar3 = (byte *)arg" identifier = (cast_expression "(byte *)arg" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "pbVar5 = (byte *)0x5a287;" (assignment_expression "pbVar5 = (byte *)0x5a287" identifier = (cast_expression "(byte *)0x5a287" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (do_statement "do {\n                  if (iVar2 == 0) break;\n                  iVar2 = iVar2 + -1;\n                  bVar8 = *pbVar3 < *pbVar5;\n                  bVar6 = *pbVar3 == *pbVar5;\n                  pbVar3 = pbVar3 + 1;\n                  pbVar5 = pbVar5 + 1;\n                } while (bVar6);" do (compound_statement "{\n                  if (iVar2 == 0) break;\n                  iVar2 = iVar2 + -1;\n                  bVar8 = *pbVar3 < *pbVar5;\n                  bVar6 = *pbVar3 == *pbVar5;\n                  pbVar3 = pbVar3 + 1;\n                  pbVar5 = pbVar5 + 1;\n                }" { (if_statement "if (iVar2 == 0) break;" if (parenthesized_expression "(iVar2 == 0)" ( (binary_expression "iVar2 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "iVar2 = iVar2 + -1;" (assignment_expression "iVar2 = iVar2 + -1" identifier = (binary_expression "iVar2 + -1" identifier + number_literal)) ;) (expression_statement "bVar8 = *pbVar3 < *pbVar5;" (assignment_expression "bVar8 = *pbVar3 < *pbVar5" identifier = (binary_expression "*pbVar3 < *pbVar5" (pointer_expression "*pbVar3" * identifier) < (pointer_expression "*pbVar5" * identifier))) ;) (expression_statement "bVar6 = *pbVar3 == *pbVar5;" (assignment_expression "bVar6 = *pbVar3 == *pbVar5" identifier = (binary_expression "*pbVar3 == *pbVar5" (pointer_expression "*pbVar3" * identifier) == (pointer_expression "*pbVar5" * identifier))) ;) (expression_statement "pbVar3 = pbVar3 + 1;" (assignment_expression "pbVar3 = pbVar3 + 1" identifier = (binary_expression "pbVar3 + 1" identifier + number_literal)) ;) (expression_statement "pbVar5 = pbVar5 + 1;" (assignment_expression "pbVar5 = pbVar5 + 1" identifier = (binary_expression "pbVar5 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(bVar6)" ( identifier )) ;) (expression_statement "bVar7 = false;" (assignment_expression "bVar7 = false" identifier = false) ;) (expression_statement "bVar6 = (!bVar8 && !bVar6) == bVar8;" (assignment_expression "bVar6 = (!bVar8 && !bVar6) == bVar8" identifier = (binary_expression "(!bVar8 && !bVar6) == bVar8" (parenthesized_expression "(!bVar8 && !bVar6)" ( (binary_expression "!bVar8 && !bVar6" (unary_expression "!bVar8" ! identifier) && (unary_expression "!bVar6" ! identifier)) )) == identifier)) ;) (if_statement "if (bVar6) {\n                  md.flags = md.flags & 0xfffffff7;\n                  default_big_endian = 0;\n                  return 1;\n                }" if (parenthesized_expression "(bVar6)" ( identifier )) (compound_statement "{\n                  md.flags = md.flags & 0xfffffff7;\n                  default_big_endian = 0;\n                  return 1;\n                }" { (expression_statement "md.flags = md.flags & 0xfffffff7;" (assignment_expression "md.flags = md.flags & 0xfffffff7" (field_expression "md.flags" identifier . field_identifier) = (binary_expression "md.flags & 0xfffffff7" (field_expression "md.flags" identifier . field_identifier) & number_literal)) ;) (expression_statement "default_big_endian = 0;" (assignment_expression "default_big_endian = 0" identifier = number_literal) ;) (return_statement "return 1;" return number_literal ;) })) (expression_statement "iVar2 = 3;" (assignment_expression "iVar2 = 3" identifier = number_literal) ;) (expression_statement "pbVar3 = (byte *)arg;" (assignment_expression "pbVar3 = (byte *)arg" identifier = (cast_expression "(byte *)arg" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "pbVar5 = &DAT_00063a90;" (assignment_expression "pbVar5 = &DAT_00063a90" identifier = (pointer_expression "&DAT_00063a90" & identifier)) ;) (do_statement "do {\n                  if (iVar2 == 0) break;\n                  iVar2 = iVar2 + -1;\n                  bVar7 = *pbVar3 < *pbVar5;\n                  bVar6 = *pbVar3 == *pbVar5;\n                  pbVar3 = pbVar3 + 1;\n                  pbVar5 = pbVar5 + 1;\n                } while (bVar6);" do (compound_statement "{\n                  if (iVar2 == 0) break;\n                  iVar2 = iVar2 + -1;\n                  bVar7 = *pbVar3 < *pbVar5;\n                  bVar6 = *pbVar3 == *pbVar5;\n                  pbVar3 = pbVar3 + 1;\n                  pbVar5 = pbVar5 + 1;\n                }" { (if_statement "if (iVar2 == 0) break;" if (parenthesized_expression "(iVar2 == 0)" ( (binary_expression "iVar2 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "iVar2 = iVar2 + -1;" (assignment_expression "iVar2 = iVar2 + -1" identifier = (binary_expression "iVar2 + -1" identifier + number_literal)) ;) (expression_statement "bVar7 = *pbVar3 < *pbVar5;" (assignment_expression "bVar7 = *pbVar3 < *pbVar5" identifier = (binary_expression "*pbVar3 < *pbVar5" (pointer_expression "*pbVar3" * identifier) < (pointer_expression "*pbVar5" * identifier))) ;) (expression_statement "bVar6 = *pbVar3 == *pbVar5;" (assignment_expression "bVar6 = *pbVar3 == *pbVar5" identifier = (binary_expression "*pbVar3 == *pbVar5" (pointer_expression "*pbVar3" * identifier) == (pointer_expression "*pbVar5" * identifier))) ;) (expression_statement "pbVar3 = pbVar3 + 1;" (assignment_expression "pbVar3 = pbVar3 + 1" identifier = (binary_expression "pbVar3 + 1" identifier + number_literal)) ;) (expression_statement "pbVar5 = pbVar5 + 1;" (assignment_expression "pbVar5 = pbVar5 + 1" identifier = (binary_expression "pbVar5 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(bVar6)" ( identifier )) ;) (expression_statement "bVar8 = false;" (assignment_expression "bVar8 = false" identifier = false) ;) (expression_statement "bVar6 = (!bVar7 && !bVar6) == bVar7;" (assignment_expression "bVar6 = (!bVar7 && !bVar6) == bVar7" identifier = (binary_expression "(!bVar7 && !bVar6) == bVar7" (parenthesized_expression "(!bVar7 && !bVar6)" ( (binary_expression "!bVar7 && !bVar6" (unary_expression "!bVar7" ! identifier) && (unary_expression "!bVar6" ! identifier)) )) == identifier)) ;) (if_statement "if (bVar6) {\n                  md.flags = md.flags | 8;\n                  default_big_endian = 1;\n                  return 1;\n                }" if (parenthesized_expression "(bVar6)" ( identifier )) (compound_statement "{\n                  md.flags = md.flags | 8;\n                  default_big_endian = 1;\n                  return 1;\n                }" { (expression_statement "md.flags = md.flags | 8;" (assignment_expression "md.flags = md.flags | 8" (field_expression "md.flags" identifier . field_identifier) = (binary_expression "md.flags | 8" (field_expression "md.flags" identifier . field_identifier) | number_literal)) ;) (expression_statement "default_big_endian = 1;" (assignment_expression "default_big_endian = 1" identifier = number_literal) ;) (return_statement "return 1;" return number_literal ;) })) (expression_statement "iVar2 = 0xd;" (assignment_expression "iVar2 = 0xd" identifier = number_literal) ;) (expression_statement "pbVar3 = (byte *)arg;" (assignment_expression "pbVar3 = (byte *)arg" identifier = (cast_expression "(byte *)arg" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "pbVar5 = (byte *)"unwind-check=";" (assignment_expression "pbVar5 = (byte *)"unwind-check="" identifier = (cast_expression "(byte *)"unwind-check="" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (string_literal ""unwind-check="" " string_content "))) ;) (do_statement "do {\n                  if (iVar2 == 0) break;\n                  iVar2 = iVar2 + -1;\n                  bVar8 = *pbVar3 < *pbVar5;\n                  bVar6 = *pbVar3 == *pbVar5;\n                  pbVar3 = pbVar3 + 1;\n                  pbVar5 = pbVar5 + 1;\n                } while (bVar6);" do (compound_statement "{\n                  if (iVar2 == 0) break;\n                  iVar2 = iVar2 + -1;\n                  bVar8 = *pbVar3 < *pbVar5;\n                  bVar6 = *pbVar3 == *pbVar5;\n                  pbVar3 = pbVar3 + 1;\n                  pbVar5 = pbVar5 + 1;\n                }" { (if_statement "if (iVar2 == 0) break;" if (parenthesized_expression "(iVar2 == 0)" ( (binary_expression "iVar2 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "iVar2 = iVar2 + -1;" (assignment_expression "iVar2 = iVar2 + -1" identifier = (binary_expression "iVar2 + -1" identifier + number_literal)) ;) (expression_statement "bVar8 = *pbVar3 < *pbVar5;" (assignment_expression "bVar8 = *pbVar3 < *pbVar5" identifier = (binary_expression "*pbVar3 < *pbVar5" (pointer_expression "*pbVar3" * identifier) < (pointer_expression "*pbVar5" * identifier))) ;) (expression_statement "bVar6 = *pbVar3 == *pbVar5;" (assignment_expression "bVar6 = *pbVar3 == *pbVar5" identifier = (binary_expression "*pbVar3 == *pbVar5" (pointer_expression "*pbVar3" * identifier) == (pointer_expression "*pbVar5" * identifier))) ;) (expression_statement "pbVar3 = pbVar3 + 1;" (assignment_expression "pbVar3 = pbVar3 + 1" identifier = (binary_expression "pbVar3 + 1" identifier + number_literal)) ;) (expression_statement "pbVar5 = pbVar5 + 1;" (assignment_expression "pbVar5 = pbVar5 + 1" identifier = (binary_expression "pbVar5 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(bVar6)" ( identifier )) ;) (if_statement "if ((!bVar8 && !bVar6) == bVar8) {\n                  iVar2 = strcmp(arg + 0xd,"warning");\n                  if (iVar2 == 0) {\n                    md.unwind_check = CMP_NONE;\n                    return 1;\n                  }\n                  iVar2 = strcmp(arg + 0xd,"error");\n                  if (iVar2 == 0) {\n                    md.unwind_check = CMP_OR;\n                    return 1;\n                  }\n                  return 0;\n                }" if (parenthesized_expression "((!bVar8 && !bVar6) == bVar8)" ( (binary_expression "(!bVar8 && !bVar6) == bVar8" (parenthesized_expression "(!bVar8 && !bVar6)" ( (binary_expression "!bVar8 && !bVar6" (unary_expression "!bVar8" ! identifier) && (unary_expression "!bVar6" ! identifier)) )) == identifier) )) (compound_statement "{\n                  iVar2 = strcmp(arg + 0xd,"warning");\n                  if (iVar2 == 0) {\n                    md.unwind_check = CMP_NONE;\n                    return 1;\n                  }\n                  iVar2 = strcmp(arg + 0xd,"error");\n                  if (iVar2 == 0) {\n                    md.unwind_check = CMP_OR;\n                    return 1;\n                  }\n                  return 0;\n                }" { (expression_statement "iVar2 = strcmp(arg + 0xd,"warning");" (assignment_expression "iVar2 = strcmp(arg + 0xd,"warning")" identifier = (call_expression "strcmp(arg + 0xd,"warning")" identifier (argument_list "(arg + 0xd,"warning")" ( (binary_expression "arg + 0xd" identifier + number_literal) , (string_literal ""warning"" " string_content ") )))) ;) (if_statement "if (iVar2 == 0) {\n                    md.unwind_check = CMP_NONE;\n                    return 1;\n                  }" if (parenthesized_expression "(iVar2 == 0)" ( (binary_expression "iVar2 == 0" identifier == number_literal) )) (compound_statement "{\n                    md.unwind_check = CMP_NONE;\n                    return 1;\n                  }" { (expression_statement "md.unwind_check = CMP_NONE;" (assignment_expression "md.unwind_check = CMP_NONE" (field_expression "md.unwind_check" identifier . field_identifier) = identifier) ;) (return_statement "return 1;" return number_literal ;) })) (expression_statement "iVar2 = strcmp(arg + 0xd,"error");" (assignment_expression "iVar2 = strcmp(arg + 0xd,"error")" identifier = (call_expression "strcmp(arg + 0xd,"error")" identifier (argument_list "(arg + 0xd,"error")" ( (binary_expression "arg + 0xd" identifier + number_literal) , (string_literal ""error"" " string_content ") )))) ;) (if_statement "if (iVar2 == 0) {\n                    md.unwind_check = CMP_OR;\n                    return 1;\n                  }" if (parenthesized_expression "(iVar2 == 0)" ( (binary_expression "iVar2 == 0" identifier == number_literal) )) (compound_statement "{\n                    md.unwind_check = CMP_OR;\n                    return 1;\n                  }" { (expression_statement "md.unwind_check = CMP_OR;" (assignment_expression "md.unwind_check = CMP_OR" (field_expression "md.unwind_check" identifier . field_identifier) = identifier) ;) (return_statement "return 1;" return number_literal ;) })) (return_statement "return 0;" return number_literal ;) })) (expression_statement "iVar2 = strncmp(arg,"hint.b=",7);" (assignment_expression "iVar2 = strncmp(arg,"hint.b=",7)" identifier = (call_expression "strncmp(arg,"hint.b=",7)" identifier (argument_list "(arg,"hint.b=",7)" ( identifier , (string_literal ""hint.b="" " string_content ") , number_literal )))) ;) (if_statement "if (iVar2 != 0) {\n                  iVar2 = strncmp(arg,"tune=",5);\n                  if (iVar2 != 0) {\n                    return 0;\n                  }\n                  iVar2 = strcmp(arg + 5,"itanium1");\n                  if (iVar2 != 0) {\n                    iVar2 = strcmp(arg + 5,"itanium2");\n                    if (iVar2 == 0) {\n                      md.tune = CMP_OR;\n                      return 1;\n                    }\n                    return 0;\n                  }\n                  md.tune = CMP_NONE;\n                  return 1;\n                }" if (parenthesized_expression "(iVar2 != 0)" ( (binary_expression "iVar2 != 0" identifier != number_literal) )) (compound_statement "{\n                  iVar2 = strncmp(arg,"tune=",5);\n                  if (iVar2 != 0) {\n                    return 0;\n                  }\n                  iVar2 = strcmp(arg + 5,"itanium1");\n                  if (iVar2 != 0) {\n                    iVar2 = strcmp(arg + 5,"itanium2");\n                    if (iVar2 == 0) {\n                      md.tune = CMP_OR;\n                      return 1;\n                    }\n                    return 0;\n                  }\n                  md.tune = CMP_NONE;\n                  return 1;\n                }" { (expression_statement "iVar2 = strncmp(arg,"tune=",5);" (assignment_expression "iVar2 = strncmp(arg,"tune=",5)" identifier = (call_expression "strncmp(arg,"tune=",5)" identifier (argument_list "(arg,"tune=",5)" ( identifier , (string_literal ""tune="" " string_content ") , number_literal )))) ;) (if_statement "if (iVar2 != 0) {\n                    return 0;\n                  }" if (parenthesized_expression "(iVar2 != 0)" ( (binary_expression "iVar2 != 0" identifier != number_literal) )) (compound_statement "{\n                    return 0;\n                  }" { (return_statement "return 0;" return number_literal ;) })) (expression_statement "iVar2 = strcmp(arg + 5,"itanium1");" (assignment_expression "iVar2 = strcmp(arg + 5,"itanium1")" identifier = (call_expression "strcmp(arg + 5,"itanium1")" identifier (argument_list "(arg + 5,"itanium1")" ( (binary_expression "arg + 5" identifier + number_literal) , (string_literal ""itanium1"" " string_content ") )))) ;) (if_statement "if (iVar2 != 0) {\n                    iVar2 = strcmp(arg + 5,"itanium2");\n                    if (iVar2 == 0) {\n                      md.tune = CMP_OR;\n                      return 1;\n                    }\n                    return 0;\n                  }" if (parenthesized_expression "(iVar2 != 0)" ( (binary_expression "iVar2 != 0" identifier != number_literal) )) (compound_statement "{\n                    iVar2 = strcmp(arg + 5,"itanium2");\n                    if (iVar2 == 0) {\n                      md.tune = CMP_OR;\n                      return 1;\n                    }\n                    return 0;\n                  }" { (expression_statement "iVar2 = strcmp(arg + 5,"itanium2");" (assignment_expression "iVar2 = strcmp(arg + 5,"itanium2")" identifier = (call_expression "strcmp(arg + 5,"itanium2")" identifier (argument_list "(arg + 5,"itanium2")" ( (binary_expression "arg + 5" identifier + number_literal) , (string_literal ""itanium2"" " string_content ") )))) ;) (if_statement "if (iVar2 == 0) {\n                      md.tune = CMP_OR;\n                      return 1;\n                    }" if (parenthesized_expression "(iVar2 == 0)" ( (binary_expression "iVar2 == 0" identifier == number_literal) )) (compound_statement "{\n                      md.tune = CMP_OR;\n                      return 1;\n                    }" { (expression_statement "md.tune = CMP_OR;" (assignment_expression "md.tune = CMP_OR" (field_expression "md.tune" identifier . field_identifier) = identifier) ;) (return_statement "return 1;" return number_literal ;) })) (return_statement "return 0;" return number_literal ;) })) (expression_statement "md.tune = CMP_NONE;" (assignment_expression "md.tune = CMP_NONE" (field_expression "md.tune" identifier . field_identifier) = identifier) ;) (return_statement "return 1;" return number_literal ;) })) (expression_statement "pcVar4 = arg + 7;" (assignment_expression "pcVar4 = arg + 7" identifier = (binary_expression "arg + 7" identifier + number_literal)) ;) (expression_statement "iVar2 = strcmp(pcVar4,"ok");" (assignment_expression "iVar2 = strcmp(pcVar4,"ok")" identifier = (call_expression "strcmp(pcVar4,"ok")" identifier (argument_list "(pcVar4,"ok")" ( identifier , (string_literal ""ok"" " string_content ") )))) ;) (if_statement "if (iVar2 == 0) {\n                  md.hint_b = CMP_AND;\n                  return 1;\n                }" if (parenthesized_expression "(iVar2 == 0)" ( (binary_expression "iVar2 == 0" identifier == number_literal) )) (compound_statement "{\n                  md.hint_b = CMP_AND;\n                  return 1;\n                }" { (expression_statement "md.hint_b = CMP_AND;" (assignment_expression "md.hint_b = CMP_AND" (field_expression "md.hint_b" identifier . field_identifier) = identifier) ;) (return_statement "return 1;" return number_literal ;) })) (expression_statement "iVar2 = strcmp(pcVar4,"warning");" (assignment_expression "iVar2 = strcmp(pcVar4,"warning")" identifier = (call_expression "strcmp(pcVar4,"warning")" identifier (argument_list "(pcVar4,"warning")" ( identifier , (string_literal ""warning"" " string_content ") )))) ;) (if_statement "if (iVar2 != 0) {\n                  iVar2 = strcmp(pcVar4,"error");\n                  if (iVar2 == 0) {\n                    md.hint_b = CMP_NONE;\n                    return 1;\n                  }\n                  return 0;\n                }" if (parenthesized_expression "(iVar2 != 0)" ( (binary_expression "iVar2 != 0" identifier != number_literal) )) (compound_statement "{\n                  iVar2 = strcmp(pcVar4,"error");\n                  if (iVar2 == 0) {\n                    md.hint_b = CMP_NONE;\n                    return 1;\n                  }\n                  return 0;\n                }" { (expression_statement "iVar2 = strcmp(pcVar4,"error");" (assignment_expression "iVar2 = strcmp(pcVar4,"error")" identifier = (call_expression "strcmp(pcVar4,"error")" identifier (argument_list "(pcVar4,"error")" ( identifier , (string_literal ""error"" " string_content ") )))) ;) (if_statement "if (iVar2 == 0) {\n                    md.hint_b = CMP_NONE;\n                    return 1;\n                  }" if (parenthesized_expression "(iVar2 == 0)" ( (binary_expression "iVar2 == 0" identifier == number_literal) )) (compound_statement "{\n                    md.hint_b = CMP_NONE;\n                    return 1;\n                  }" { (expression_statement "md.hint_b = CMP_NONE;" (assignment_expression "md.hint_b = CMP_NONE" (field_expression "md.hint_b" identifier . field_identifier) = identifier) ;) (return_statement "return 1;" return number_literal ;) })) (return_statement "return 0;" return number_literal ;) })) (expression_statement "md.hint_b = CMP_OR;" (assignment_expression "md.hint_b = CMP_OR" (field_expression "md.hint_b" identifier . field_identifier) = identifier) ;) (return_statement "return 1;" return number_literal ;) })) })) })) (expression_statement "md.flags = md.flags | 0x10;" (assignment_expression "md.flags = md.flags | 0x10" (field_expression "md.flags" identifier . field_identifier) = (binary_expression "md.flags | 0x10" (field_expression "md.flags" identifier . field_identifier) | number_literal)) ;) (return_statement "return 1;" return number_literal ;) })) }) (else_clause "else {\n        if (c == 0x123) {\n          md.flags = md.flags | 0x40;\n          return 1;\n        }\n        if (c == 0x124) {\n          md.flags = md.flags | 0x80;\n          return 1;\n        }\n      }" else (compound_statement "{\n        if (c == 0x123) {\n          md.flags = md.flags | 0x40;\n          return 1;\n        }\n        if (c == 0x124) {\n          md.flags = md.flags | 0x80;\n          return 1;\n        }\n      }" { (if_statement "if (c == 0x123) {\n          md.flags = md.flags | 0x40;\n          return 1;\n        }" if (parenthesized_expression "(c == 0x123)" ( (binary_expression "c == 0x123" identifier == number_literal) )) (compound_statement "{\n          md.flags = md.flags | 0x40;\n          return 1;\n        }" { (expression_statement "md.flags = md.flags | 0x40;" (assignment_expression "md.flags = md.flags | 0x40" (field_expression "md.flags" identifier . field_identifier) = (binary_expression "md.flags | 0x40" (field_expression "md.flags" identifier . field_identifier) | number_literal)) ;) (return_statement "return 1;" return number_literal ;) })) (if_statement "if (c == 0x124) {\n          md.flags = md.flags | 0x80;\n          return 1;\n        }" if (parenthesized_expression "(c == 0x124)" ( (binary_expression "c == 0x124" identifier == number_literal) )) (compound_statement "{\n          md.flags = md.flags | 0x80;\n          return 1;\n        }" { (expression_statement "md.flags = md.flags | 0x80;" (assignment_expression "md.flags = md.flags | 0x80" (field_expression "md.flags" identifier . field_identifier) = (binary_expression "md.flags | 0x80" (field_expression "md.flags" identifier . field_identifier) | number_literal)) ;) (return_statement "return 1;" return number_literal ;) })) }))) (return_statement "return 0;" return number_literal ;) })) (expression_statement "bVar6 = (uint)c < 0x4e;" (assignment_expression "bVar6 = (uint)c < 0x4e" identifier = (binary_expression "(uint)c < 0x4e" (cast_expression "(uint)c" ( (type_descriptor "uint" type_identifier) ) identifier) < number_literal)) ;) (expression_statement "bVar8 = c == 0x4e;" (assignment_expression "bVar8 = c == 0x4e" identifier = (binary_expression "c == 0x4e" identifier == number_literal)) ;) (if_statement "if (!bVar8) {\n      if (c != 0x53) {\n        return (uint)(c == 0x43);\n      }\n      return 1;\n    }" if (parenthesized_expression "(!bVar8)" ( (unary_expression "!bVar8" ! identifier) )) (compound_statement "{\n      if (c != 0x53) {\n        return (uint)(c == 0x43);\n      }\n      return 1;\n    }" { (if_statement "if (c != 0x53) {\n        return (uint)(c == 0x43);\n      }" if (parenthesized_expression "(c != 0x53)" ( (binary_expression "c != 0x53" identifier != number_literal) )) (compound_statement "{\n        return (uint)(c == 0x43);\n      }" { (return_statement "return (uint)(c == 0x43);" return (call_expression "(uint)(c == 0x43)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(c == 0x43)" ( (binary_expression "c == 0x43" identifier == number_literal) ))) ;) })) (return_statement "return 1;" return number_literal ;) })) (expression_statement "iVar2 = 3;" (assignment_expression "iVar2 = 3" identifier = number_literal) ;) (expression_statement "pbVar3 = (byte *)arg;" (assignment_expression "pbVar3 = (byte *)arg" identifier = (cast_expression "(byte *)arg" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "pbVar5 = &DAT_00063a25;" (assignment_expression "pbVar5 = &DAT_00063a25" identifier = (pointer_expression "&DAT_00063a25" & identifier)) ;) (do_statement "do {\n      if (iVar2 == 0) break;\n      iVar2 = iVar2 + -1;\n      bVar6 = *pbVar3 < *pbVar5;\n      bVar8 = *pbVar3 == *pbVar5;\n      pbVar3 = pbVar3 + 1;\n      pbVar5 = pbVar5 + 1;\n    } while (bVar8);" do (compound_statement "{\n      if (iVar2 == 0) break;\n      iVar2 = iVar2 + -1;\n      bVar6 = *pbVar3 < *pbVar5;\n      bVar8 = *pbVar3 == *pbVar5;\n      pbVar3 = pbVar3 + 1;\n      pbVar5 = pbVar5 + 1;\n    }" { (if_statement "if (iVar2 == 0) break;" if (parenthesized_expression "(iVar2 == 0)" ( (binary_expression "iVar2 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "iVar2 = iVar2 + -1;" (assignment_expression "iVar2 = iVar2 + -1" identifier = (binary_expression "iVar2 + -1" identifier + number_literal)) ;) (expression_statement "bVar6 = *pbVar3 < *pbVar5;" (assignment_expression "bVar6 = *pbVar3 < *pbVar5" identifier = (binary_expression "*pbVar3 < *pbVar5" (pointer_expression "*pbVar3" * identifier) < (pointer_expression "*pbVar5" * identifier))) ;) (expression_statement "bVar8 = *pbVar3 == *pbVar5;" (assignment_expression "bVar8 = *pbVar3 == *pbVar5" identifier = (binary_expression "*pbVar3 == *pbVar5" (pointer_expression "*pbVar3" * identifier) == (pointer_expression "*pbVar5" * identifier))) ;) (expression_statement "pbVar3 = pbVar3 + 1;" (assignment_expression "pbVar3 = pbVar3 + 1" identifier = (binary_expression "pbVar3 + 1" identifier + number_literal)) ;) (expression_statement "pbVar5 = pbVar5 + 1;" (assignment_expression "pbVar5 = pbVar5 + 1" identifier = (binary_expression "pbVar5 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(bVar8)" ( identifier )) ;) (expression_statement "bVar7 = false;" (assignment_expression "bVar7 = false" identifier = false) ;) (expression_statement "bVar6 = (!bVar6 && !bVar8) == bVar6;" (assignment_expression "bVar6 = (!bVar6 && !bVar8) == bVar6" identifier = (binary_expression "(!bVar6 && !bVar8) == bVar6" (parenthesized_expression "(!bVar6 && !bVar8)" ( (binary_expression "!bVar6 && !bVar8" (unary_expression "!bVar6" ! identifier) && (unary_expression "!bVar8" ! identifier)) )) == identifier)) ;) (if_statement "if (bVar6) {\n      return 1;\n    }" if (parenthesized_expression "(bVar6)" ( identifier )) (compound_statement "{\n      return 1;\n    }" { (return_statement "return 1;" return number_literal ;) })) (expression_statement "iVar2 = 3;" (assignment_expression "iVar2 = 3" identifier = number_literal) ;) (expression_statement "pbVar3 = (byte *)arg;" (assignment_expression "pbVar3 = (byte *)arg" identifier = (cast_expression "(byte *)arg" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "pbVar5 = &DAT_00063a28;" (assignment_expression "pbVar5 = &DAT_00063a28" identifier = (pointer_expression "&DAT_00063a28" & identifier)) ;) (do_statement "do {\n      if (iVar2 == 0) break;\n      iVar2 = iVar2 + -1;\n      bVar7 = *pbVar3 < *pbVar5;\n      bVar6 = *pbVar3 == *pbVar5;\n      pbVar3 = pbVar3 + 1;\n      pbVar5 = pbVar5 + 1;\n    } while (bVar6);" do (compound_statement "{\n      if (iVar2 == 0) break;\n      iVar2 = iVar2 + -1;\n      bVar7 = *pbVar3 < *pbVar5;\n      bVar6 = *pbVar3 == *pbVar5;\n      pbVar3 = pbVar3 + 1;\n      pbVar5 = pbVar5 + 1;\n    }" { (if_statement "if (iVar2 == 0) break;" if (parenthesized_expression "(iVar2 == 0)" ( (binary_expression "iVar2 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "iVar2 = iVar2 + -1;" (assignment_expression "iVar2 = iVar2 + -1" identifier = (binary_expression "iVar2 + -1" identifier + number_literal)) ;) (expression_statement "bVar7 = *pbVar3 < *pbVar5;" (assignment_expression "bVar7 = *pbVar3 < *pbVar5" identifier = (binary_expression "*pbVar3 < *pbVar5" (pointer_expression "*pbVar3" * identifier) < (pointer_expression "*pbVar5" * identifier))) ;) (expression_statement "bVar6 = *pbVar3 == *pbVar5;" (assignment_expression "bVar6 = *pbVar3 == *pbVar5" identifier = (binary_expression "*pbVar3 == *pbVar5" (pointer_expression "*pbVar3" * identifier) == (pointer_expression "*pbVar5" * identifier))) ;) (expression_statement "pbVar3 = pbVar3 + 1;" (assignment_expression "pbVar3 = pbVar3 + 1" identifier = (binary_expression "pbVar3 + 1" identifier + number_literal)) ;) (expression_statement "pbVar5 = pbVar5 + 1;" (assignment_expression "pbVar5 = pbVar5 + 1" identifier = (binary_expression "pbVar5 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(bVar6)" ( identifier )) ;) (expression_statement "bVar8 = false;" (assignment_expression "bVar8 = false" identifier = false) ;) (expression_statement "bVar7 = (!bVar7 && !bVar6) == bVar7;" (assignment_expression "bVar7 = (!bVar7 && !bVar6) == bVar7" identifier = (binary_expression "(!bVar7 && !bVar6) == bVar7" (parenthesized_expression "(!bVar7 && !bVar6)" ( (binary_expression "!bVar7 && !bVar6" (unary_expression "!bVar7" ! identifier) && (unary_expression "!bVar6" ! identifier)) )) == identifier)) ;) (if_statement "if (bVar7) {\n      return 1;\n    }" if (parenthesized_expression "(bVar7)" ( identifier )) (compound_statement "{\n      return 1;\n    }" { (return_statement "return 1;" return number_literal ;) })) (expression_statement "iVar2 = 3;" (assignment_expression "iVar2 = 3" identifier = number_literal) ;) (expression_statement "pbVar3 = (byte *)arg;" (assignment_expression "pbVar3 = (byte *)arg" identifier = (cast_expression "(byte *)arg" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "pbVar5 = (byte *)0x5f92c;" (assignment_expression "pbVar5 = (byte *)0x5f92c" identifier = (cast_expression "(byte *)0x5f92c" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (do_statement "do {\n      if (iVar2 == 0) break;\n      iVar2 = iVar2 + -1;\n      bVar8 = *pbVar3 < *pbVar5;\n      bVar7 = *pbVar3 == *pbVar5;\n      pbVar3 = pbVar3 + 1;\n      pbVar5 = pbVar5 + 1;\n    } while (bVar7);" do (compound_statement "{\n      if (iVar2 == 0) break;\n      iVar2 = iVar2 + -1;\n      bVar8 = *pbVar3 < *pbVar5;\n      bVar7 = *pbVar3 == *pbVar5;\n      pbVar3 = pbVar3 + 1;\n      pbVar5 = pbVar5 + 1;\n    }" { (if_statement "if (iVar2 == 0) break;" if (parenthesized_expression "(iVar2 == 0)" ( (binary_expression "iVar2 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "iVar2 = iVar2 + -1;" (assignment_expression "iVar2 = iVar2 + -1" identifier = (binary_expression "iVar2 + -1" identifier + number_literal)) ;) (expression_statement "bVar8 = *pbVar3 < *pbVar5;" (assignment_expression "bVar8 = *pbVar3 < *pbVar5" identifier = (binary_expression "*pbVar3 < *pbVar5" (pointer_expression "*pbVar3" * identifier) < (pointer_expression "*pbVar5" * identifier))) ;) (expression_statement "bVar7 = *pbVar3 == *pbVar5;" (assignment_expression "bVar7 = *pbVar3 == *pbVar5" identifier = (binary_expression "*pbVar3 == *pbVar5" (pointer_expression "*pbVar3" * identifier) == (pointer_expression "*pbVar5" * identifier))) ;) (expression_statement "pbVar3 = pbVar3 + 1;" (assignment_expression "pbVar3 = pbVar3 + 1" identifier = (binary_expression "pbVar3 + 1" identifier + number_literal)) ;) (expression_statement "pbVar5 = pbVar5 + 1;" (assignment_expression "pbVar5 = pbVar5 + 1" identifier = (binary_expression "pbVar5 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(bVar7)" ( identifier )) ;) (expression_statement "bVar6 = false;" (assignment_expression "bVar6 = false" identifier = false) ;) (expression_statement "bVar8 = (!bVar8 && !bVar7) == bVar8;" (assignment_expression "bVar8 = (!bVar8 && !bVar7) == bVar8" identifier = (binary_expression "(!bVar8 && !bVar7) == bVar8" (parenthesized_expression "(!bVar8 && !bVar7)" ( (binary_expression "!bVar8 && !bVar7" (unary_expression "!bVar8" ! identifier) && (unary_expression "!bVar7" ! identifier)) )) == identifier)) ;) (if_statement "if (bVar8) {\n      return 1;\n    }" if (parenthesized_expression "(bVar8)" ( identifier )) (compound_statement "{\n      return 1;\n    }" { (return_statement "return 1;" return number_literal ;) })) (expression_statement "iVar2 = 0xd;" (assignment_expression "iVar2 = 0xd" identifier = number_literal) ;) (expression_statement "pcVar4 = "close_fcalls";" (assignment_expression "pcVar4 = "close_fcalls"" identifier = (string_literal ""close_fcalls"" " string_content ")) ;) }))) (do_statement "do {\n    if (iVar2 == 0) break;\n    iVar2 = iVar2 + -1;\n    bVar6 = (byte)*arg < (byte)*pcVar4;\n    bVar8 = *arg == *pcVar4;\n    arg = (char *)((byte *)arg + 1);\n    pcVar4 = (char *)((byte *)pcVar4 + 1);\n  } while (bVar8);" do (compound_statement "{\n    if (iVar2 == 0) break;\n    iVar2 = iVar2 + -1;\n    bVar6 = (byte)*arg < (byte)*pcVar4;\n    bVar8 = *arg == *pcVar4;\n    arg = (char *)((byte *)arg + 1);\n    pcVar4 = (char *)((byte *)pcVar4 + 1);\n  }" { (if_statement "if (iVar2 == 0) break;" if (parenthesized_expression "(iVar2 == 0)" ( (binary_expression "iVar2 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "iVar2 = iVar2 + -1;" (assignment_expression "iVar2 = iVar2 + -1" identifier = (binary_expression "iVar2 + -1" identifier + number_literal)) ;) (expression_statement "bVar6 = (byte)*arg < (byte)*pcVar4;" (assignment_expression "bVar6 = (byte)*arg < (byte)*pcVar4" identifier = (binary_expression "(byte)*arg < (byte)*pcVar4" (binary_expression "(byte)*arg" (parenthesized_expression "(byte)" ( identifier )) * identifier) < (binary_expression "(byte)*pcVar4" (parenthesized_expression "(byte)" ( identifier )) * identifier))) ;) (expression_statement "bVar8 = *arg == *pcVar4;" (assignment_expression "bVar8 = *arg == *pcVar4" identifier = (binary_expression "*arg == *pcVar4" (pointer_expression "*arg" * identifier) == (pointer_expression "*pcVar4" * identifier))) ;) (expression_statement "arg = (char *)((byte *)arg + 1);" (assignment_expression "arg = (char *)((byte *)arg + 1)" identifier = (cast_expression "(char *)((byte *)arg + 1)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((byte *)arg + 1)" ( (binary_expression "(byte *)arg + 1" (cast_expression "(byte *)arg" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) + number_literal) )))) ;) (expression_statement "pcVar4 = (char *)((byte *)pcVar4 + 1);" (assignment_expression "pcVar4 = (char *)((byte *)pcVar4 + 1)" identifier = (cast_expression "(char *)((byte *)pcVar4 + 1)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((byte *)pcVar4 + 1)" ( (binary_expression "(byte *)pcVar4 + 1" (cast_expression "(byte *)pcVar4" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) + number_literal) )))) ;) }) while (parenthesized_expression "(bVar8)" ( identifier )) ;) (return_statement "return (uint)((!bVar6 && !bVar8) == bVar6);" return (call_expression "(uint)((!bVar6 && !bVar8) == bVar6)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((!bVar6 && !bVar8) == bVar6)" ( (binary_expression "(!bVar6 && !bVar8) == bVar6" (parenthesized_expression "(!bVar6 && !bVar8)" ( (binary_expression "!bVar6 && !bVar8" (unary_expression "!bVar6" ! identifier) && (unary_expression "!bVar8" ! identifier)) )) == identifier) ))) ;) })))
(translation_unit "bool FUN_0004d020(uint param_1,byte *param_2)\n\n{\n  char cVar1;\n  undefined4 uVar2;\n  int iVar3;\n  byte *pbVar4;\n  char *pcVar5;\n  byte *pbVar6;\n  bool bVar7;\n  bool bVar8;\n  bool bVar9;\n  \n  bVar7 = param_1 < 0x61;\n  bVar9 = param_1 == 0x61;\n  if (bVar9) {\n    iVar3 = 9;\n    pcVar5 = "indirect=";\n  }\n  else {\n    if (0x61 < (int)param_1) {\n      if (param_1 == 0x78) {\n        bVar7 = false;\n        bVar9 = param_2 == (byte *)0x0;\n        if (!bVar9) {\n          iVar3 = 9;\n          pbVar4 = param_2;\n          pbVar6 = (byte *)"explicit";\n          do {\n            if (iVar3 == 0) break;\n            iVar3 = iVar3 + -1;\n            bVar7 = *pbVar4 < *pbVar6;\n            bVar9 = *pbVar4 == *pbVar6;\n            pbVar4 = pbVar4 + 1;\n            pbVar6 = pbVar6 + 1;\n          } while (bVar9);\n          bVar8 = false;\n          bVar7 = (!bVar7 && !bVar9) == bVar7;\n          if (!bVar7) {\n            iVar3 = 5;\n            pbVar4 = param_2;\n            pbVar6 = &DAT_00063a4b;\n            do {\n              if (iVar3 == 0) break;\n              iVar3 = iVar3 + -1;\n              bVar8 = *pbVar4 < *pbVar6;\n              bVar7 = *pbVar4 == *pbVar6;\n              pbVar4 = pbVar4 + 1;\n              pbVar6 = pbVar6 + 1;\n            } while (bVar7);\n            bVar9 = false;\n            bVar7 = (!bVar8 && !bVar7) == bVar8;\n            if (bVar7) {\n              DAT_00087970 = DAT_00087970 & 0xef | 4;\n              return true;\n            }\n            iVar3 = 5;\n            pbVar4 = param_2;\n            pbVar6 = &DAT_0005a335;\n            do {\n              if (iVar3 == 0) break;\n              iVar3 = iVar3 + -1;\n              bVar9 = *pbVar4 < *pbVar6;\n              bVar7 = *pbVar4 == *pbVar6;\n              pbVar4 = pbVar4 + 1;\n              pbVar6 = pbVar6 + 1;\n            } while (bVar7);\n            bVar8 = false;\n            bVar7 = (!bVar9 && !bVar7) == bVar9;\n            if (bVar7) {\n              DAT_00087970 = DAT_00087970 & 0xfb;\n              return true;\n            }\n            iVar3 = 6;\n            pcVar5 = " debug";\n            pbVar4 = param_2;\n            do {\n              pcVar5 = (char *)((byte *)pcVar5 + 1);\n              if (iVar3 == 0) break;\n              iVar3 = iVar3 + -1;\n              bVar8 = *pbVar4 < (byte)*pcVar5;\n              bVar7 = *pbVar4 == *pcVar5;\n              pbVar4 = pbVar4 + 1;\n            } while (bVar7);\n            bVar9 = false;\n            bVar7 = (!bVar8 && !bVar7) == bVar8;\n            if (bVar7) {\n              DAT_00087970 = DAT_00087970 | 6;\n              return true;\n            }\n            iVar3 = 7;\n            pbVar4 = param_2;\n            pbVar6 = (byte *)"debugx";\n            do {\n              if (iVar3 == 0) break;\n              iVar3 = iVar3 + -1;\n              bVar9 = *pbVar4 < *pbVar6;\n              bVar7 = *pbVar4 == *pbVar6;\n              pbVar4 = pbVar4 + 1;\n              pbVar6 = pbVar6 + 1;\n            } while (bVar7);\n            bVar8 = false;\n            bVar7 = (!bVar9 && !bVar7) == bVar9;\n            if (bVar7) {\n              DAT_00087970 = DAT_00087970 | 0x16;\n              return true;\n            }\n            iVar3 = 7;\n            pbVar4 = param_2;\n            pbVar6 = (byte *)"debugn";\n            do {\n              if (iVar3 == 0) break;\n              iVar3 = iVar3 + -1;\n              bVar8 = *pbVar4 < *pbVar6;\n              bVar7 = *pbVar4 == *pbVar6;\n              pbVar4 = pbVar4 + 1;\n              pbVar6 = pbVar6 + 1;\n            } while (bVar7);\n            cVar1 = (!bVar8 && !bVar7) - bVar8;\n            if (cVar1 != '\0') {\n              DAT_00087970 = DAT_00087970 | 4;\n              uVar2 = dcgettext(0,"Unrecognized option \'-x%s\'",5,cVar1);\n              FUN_00029550(uVar2,param_2);\n              return true;\n            }\n            DAT_00087970 = DAT_00087970 & 0xf9 | 2;\n            return true;\n          }\n        }\n        DAT_00087970 = DAT_00087970 | 0x14;\n        return true;\n      }\n      if ((int)param_1 < 0x79) {\n        bVar7 = param_1 < 0x6d;\n        bVar9 = param_1 == 0x6d;\n        if (bVar9) {\n          iVar3 = 6;\n          pbVar4 = param_2;\n          pbVar6 = &DAT_000639e8;\n          do {\n            if (iVar3 == 0) break;\n            iVar3 = iVar3 + -1;\n            bVar7 = *pbVar4 < *pbVar6;\n            bVar9 = *pbVar4 == *pbVar6;\n            pbVar4 = pbVar4 + 1;\n            pbVar6 = pbVar6 + 1;\n          } while (bVar9);\n          bVar8 = false;\n          bVar7 = (!bVar7 && !bVar9) == bVar7;\n          if (!bVar7) {\n            iVar3 = 5;\n            pbVar4 = param_2;\n            pbVar6 = &DAT_000639e9;\n            do {\n              if (iVar3 == 0) break;\n              iVar3 = iVar3 + -1;\n              bVar8 = *pbVar4 < *pbVar6;\n              bVar7 = *pbVar4 == *pbVar6;\n              pbVar4 = pbVar4 + 1;\n              pbVar6 = pbVar6 + 1;\n            } while (bVar7);\n            bVar9 = false;\n            bVar7 = (!bVar8 && !bVar7) == bVar8;\n            if (!bVar7) {\n              iVar3 = 4;\n              pbVar4 = param_2;\n              pbVar6 = &DAT_000639ea;\n              do {\n                if (iVar3 == 0) break;\n                iVar3 = iVar3 + -1;\n                bVar9 = *pbVar4 < *pbVar6;\n                bVar7 = *pbVar4 == *pbVar6;\n                pbVar4 = pbVar4 + 1;\n                pbVar6 = pbVar6 + 1;\n              } while (bVar7);\n              bVar8 = false;\n              bVar7 = (!bVar9 && !bVar7) == bVar9;\n              if (!bVar7) {\n                iVar3 = 6;\n                pbVar4 = param_2;\n                pbVar6 = (byte *)"ilp32";\n                do {\n                  if (iVar3 == 0) break;\n                  iVar3 = iVar3 + -1;\n                  bVar8 = *pbVar4 < *pbVar6;\n                  bVar7 = *pbVar4 == *pbVar6;\n                  pbVar4 = pbVar4 + 1;\n                  pbVar6 = pbVar6 + 1;\n                } while (bVar7);\n                bVar9 = false;\n                bVar7 = (!bVar8 && !bVar7) == bVar8;\n                if (bVar7) {\n                  DAT_00087d90 = DAT_00087d90 & 0xffffffef;\n                  return true;\n                }\n                iVar3 = 3;\n                pbVar4 = param_2;\n                pbVar6 = (byte *)0x5a287;\n                do {\n                  if (iVar3 == 0) break;\n                  iVar3 = iVar3 + -1;\n                  bVar9 = *pbVar4 < *pbVar6;\n                  bVar7 = *pbVar4 == *pbVar6;\n                  pbVar4 = pbVar4 + 1;\n                  pbVar6 = pbVar6 + 1;\n                } while (bVar7);\n                bVar8 = false;\n                bVar7 = (!bVar9 && !bVar7) == bVar9;\n                if (bVar7) {\n                  DAT_00087d90 = DAT_00087d90 & 0xfffffff7;\n                  DAT_00087dfc = 0;\n                  return true;\n                }\n                iVar3 = 3;\n                pbVar4 = param_2;\n                pbVar6 = &DAT_00063a90;\n                do {\n                  if (iVar3 == 0) break;\n                  iVar3 = iVar3 + -1;\n                  bVar8 = *pbVar4 < *pbVar6;\n                  bVar7 = *pbVar4 == *pbVar6;\n                  pbVar4 = pbVar4 + 1;\n                  pbVar6 = pbVar6 + 1;\n                } while (bVar7);\n                bVar9 = false;\n                bVar7 = (!bVar8 && !bVar7) == bVar8;\n                if (bVar7) {\n                  DAT_00087d90 = DAT_00087d90 | 8;\n                  DAT_00087dfc = 1;\n                  return true;\n                }\n                iVar3 = 0xd;\n                pbVar4 = param_2;\n                pbVar6 = (byte *)"unwind-check=";\n                do {\n                  if (iVar3 == 0) break;\n                  iVar3 = iVar3 + -1;\n                  bVar9 = *pbVar4 < *pbVar6;\n                  bVar7 = *pbVar4 == *pbVar6;\n                  pbVar4 = pbVar4 + 1;\n                  pbVar6 = pbVar6 + 1;\n                } while (bVar7);\n                if ((!bVar9 && !bVar7) == bVar9) {\n                  iVar3 = strcmp((char *)(param_2 + 0xd),"warning");\n                  if (iVar3 == 0) {\n                    DAT_00087974 = 0;\n                    return true;\n                  }\n                  iVar3 = strcmp((char *)(param_2 + 0xd),"error");\n                  if (iVar3 == 0) {\n                    DAT_00087974 = 1;\n                    return true;\n                  }\n                  return false;\n                }\n                iVar3 = strncmp((char *)param_2,"hint.b=",7);\n                if (iVar3 != 0) {\n                  iVar3 = strncmp((char *)param_2,"tune=",5);\n                  if (iVar3 != 0) {\n                    return false;\n                  }\n                  iVar3 = strcmp((char *)(param_2 + 5),"itanium1");\n                  if (iVar3 != 0) {\n                    iVar3 = strcmp((char *)(param_2 + 5),"itanium2");\n                    if (iVar3 == 0) {\n                      DAT_00087968 = 1;\n                      return true;\n                    }\n                    return false;\n                  }\n                  DAT_00087968 = 0;\n                  return true;\n                }\n                param_2 = param_2 + 7;\n                iVar3 = strcmp((char *)param_2,"ok");\n                if (iVar3 == 0) {\n                  DAT_0008796c = 2;\n                  return true;\n                }\n                iVar3 = strcmp((char *)param_2,"warning");\n                if (iVar3 != 0) {\n                  iVar3 = strcmp((char *)param_2,"error");\n                  if (iVar3 == 0) {\n                    DAT_0008796c = 0;\n                    return true;\n                  }\n                  return false;\n                }\n                DAT_0008796c = 1;\n                return true;\n              }\n            }\n          }\n          DAT_00087d90 = DAT_00087d90 | 0x10;\n          return true;\n        }\n      }\n      else {\n        if (param_1 == 0x123) {\n          DAT_00087d90 = DAT_00087d90 | 0x40;\n          return true;\n        }\n        if (param_1 == 0x124) {\n          DAT_00087d90 = DAT_00087d90 | 0x80;\n          return true;\n        }\n      }\n      return false;\n    }\n    bVar7 = param_1 < 0x4e;\n    bVar9 = param_1 == 0x4e;\n    if (!bVar9) {\n      if (param_1 != 0x53) {\n        return param_1 == 0x43;\n      }\n      return true;\n    }\n    iVar3 = 3;\n    pbVar4 = param_2;\n    pbVar6 = &DAT_00063a25;\n    do {\n      if (iVar3 == 0) break;\n      iVar3 = iVar3 + -1;\n      bVar7 = *pbVar4 < *pbVar6;\n      bVar9 = *pbVar4 == *pbVar6;\n      pbVar4 = pbVar4 + 1;\n      pbVar6 = pbVar6 + 1;\n    } while (bVar9);\n    bVar8 = false;\n    bVar7 = (!bVar7 && !bVar9) == bVar7;\n    if (bVar7) {\n      return true;\n    }\n    iVar3 = 3;\n    pbVar4 = param_2;\n    pbVar6 = &DAT_00063a28;\n    do {\n      if (iVar3 == 0) break;\n      iVar3 = iVar3 + -1;\n      bVar8 = *pbVar4 < *pbVar6;\n      bVar7 = *pbVar4 == *pbVar6;\n      pbVar4 = pbVar4 + 1;\n      pbVar6 = pbVar6 + 1;\n    } while (bVar7);\n    bVar9 = false;\n    bVar8 = (!bVar8 && !bVar7) == bVar8;\n    if (bVar8) {\n      return true;\n    }\n    iVar3 = 3;\n    pbVar4 = param_2;\n    pbVar6 = (byte *)0x5f92c;\n    do {\n      if (iVar3 == 0) break;\n      iVar3 = iVar3 + -1;\n      bVar9 = *pbVar4 < *pbVar6;\n      bVar8 = *pbVar4 == *pbVar6;\n      pbVar4 = pbVar4 + 1;\n      pbVar6 = pbVar6 + 1;\n    } while (bVar8);\n    bVar7 = false;\n    bVar9 = (!bVar9 && !bVar8) == bVar9;\n    if (bVar9) {\n      return true;\n    }\n    iVar3 = 0xd;\n    pcVar5 = "close_fcalls";\n  }\n  do {\n    if (iVar3 == 0) break;\n    iVar3 = iVar3 + -1;\n    bVar7 = *param_2 < (byte)*pcVar5;\n    bVar9 = *param_2 == *pcVar5;\n    param_2 = param_2 + 1;\n    pcVar5 = (char *)((byte *)pcVar5 + 1);\n  } while (bVar9);\n  return (!bVar7 && !bVar9) == bVar7;\n}\n\n" (function_definition "bool FUN_0004d020(uint param_1,byte *param_2)\n\n{\n  char cVar1;\n  undefined4 uVar2;\n  int iVar3;\n  byte *pbVar4;\n  char *pcVar5;\n  byte *pbVar6;\n  bool bVar7;\n  bool bVar8;\n  bool bVar9;\n  \n  bVar7 = param_1 < 0x61;\n  bVar9 = param_1 == 0x61;\n  if (bVar9) {\n    iVar3 = 9;\n    pcVar5 = "indirect=";\n  }\n  else {\n    if (0x61 < (int)param_1) {\n      if (param_1 == 0x78) {\n        bVar7 = false;\n        bVar9 = param_2 == (byte *)0x0;\n        if (!bVar9) {\n          iVar3 = 9;\n          pbVar4 = param_2;\n          pbVar6 = (byte *)"explicit";\n          do {\n            if (iVar3 == 0) break;\n            iVar3 = iVar3 + -1;\n            bVar7 = *pbVar4 < *pbVar6;\n            bVar9 = *pbVar4 == *pbVar6;\n            pbVar4 = pbVar4 + 1;\n            pbVar6 = pbVar6 + 1;\n          } while (bVar9);\n          bVar8 = false;\n          bVar7 = (!bVar7 && !bVar9) == bVar7;\n          if (!bVar7) {\n            iVar3 = 5;\n            pbVar4 = param_2;\n            pbVar6 = &DAT_00063a4b;\n            do {\n              if (iVar3 == 0) break;\n              iVar3 = iVar3 + -1;\n              bVar8 = *pbVar4 < *pbVar6;\n              bVar7 = *pbVar4 == *pbVar6;\n              pbVar4 = pbVar4 + 1;\n              pbVar6 = pbVar6 + 1;\n            } while (bVar7);\n            bVar9 = false;\n            bVar7 = (!bVar8 && !bVar7) == bVar8;\n            if (bVar7) {\n              DAT_00087970 = DAT_00087970 & 0xef | 4;\n              return true;\n            }\n            iVar3 = 5;\n            pbVar4 = param_2;\n            pbVar6 = &DAT_0005a335;\n            do {\n              if (iVar3 == 0) break;\n              iVar3 = iVar3 + -1;\n              bVar9 = *pbVar4 < *pbVar6;\n              bVar7 = *pbVar4 == *pbVar6;\n              pbVar4 = pbVar4 + 1;\n              pbVar6 = pbVar6 + 1;\n            } while (bVar7);\n            bVar8 = false;\n            bVar7 = (!bVar9 && !bVar7) == bVar9;\n            if (bVar7) {\n              DAT_00087970 = DAT_00087970 & 0xfb;\n              return true;\n            }\n            iVar3 = 6;\n            pcVar5 = " debug";\n            pbVar4 = param_2;\n            do {\n              pcVar5 = (char *)((byte *)pcVar5 + 1);\n              if (iVar3 == 0) break;\n              iVar3 = iVar3 + -1;\n              bVar8 = *pbVar4 < (byte)*pcVar5;\n              bVar7 = *pbVar4 == *pcVar5;\n              pbVar4 = pbVar4 + 1;\n            } while (bVar7);\n            bVar9 = false;\n            bVar7 = (!bVar8 && !bVar7) == bVar8;\n            if (bVar7) {\n              DAT_00087970 = DAT_00087970 | 6;\n              return true;\n            }\n            iVar3 = 7;\n            pbVar4 = param_2;\n            pbVar6 = (byte *)"debugx";\n            do {\n              if (iVar3 == 0) break;\n              iVar3 = iVar3 + -1;\n              bVar9 = *pbVar4 < *pbVar6;\n              bVar7 = *pbVar4 == *pbVar6;\n              pbVar4 = pbVar4 + 1;\n              pbVar6 = pbVar6 + 1;\n            } while (bVar7);\n            bVar8 = false;\n            bVar7 = (!bVar9 && !bVar7) == bVar9;\n            if (bVar7) {\n              DAT_00087970 = DAT_00087970 | 0x16;\n              return true;\n            }\n            iVar3 = 7;\n            pbVar4 = param_2;\n            pbVar6 = (byte *)"debugn";\n            do {\n              if (iVar3 == 0) break;\n              iVar3 = iVar3 + -1;\n              bVar8 = *pbVar4 < *pbVar6;\n              bVar7 = *pbVar4 == *pbVar6;\n              pbVar4 = pbVar4 + 1;\n              pbVar6 = pbVar6 + 1;\n            } while (bVar7);\n            cVar1 = (!bVar8 && !bVar7) - bVar8;\n            if (cVar1 != '\0') {\n              DAT_00087970 = DAT_00087970 | 4;\n              uVar2 = dcgettext(0,"Unrecognized option \'-x%s\'",5,cVar1);\n              FUN_00029550(uVar2,param_2);\n              return true;\n            }\n            DAT_00087970 = DAT_00087970 & 0xf9 | 2;\n            return true;\n          }\n        }\n        DAT_00087970 = DAT_00087970 | 0x14;\n        return true;\n      }\n      if ((int)param_1 < 0x79) {\n        bVar7 = param_1 < 0x6d;\n        bVar9 = param_1 == 0x6d;\n        if (bVar9) {\n          iVar3 = 6;\n          pbVar4 = param_2;\n          pbVar6 = &DAT_000639e8;\n          do {\n            if (iVar3 == 0) break;\n            iVar3 = iVar3 + -1;\n            bVar7 = *pbVar4 < *pbVar6;\n            bVar9 = *pbVar4 == *pbVar6;\n            pbVar4 = pbVar4 + 1;\n            pbVar6 = pbVar6 + 1;\n          } while (bVar9);\n          bVar8 = false;\n          bVar7 = (!bVar7 && !bVar9) == bVar7;\n          if (!bVar7) {\n            iVar3 = 5;\n            pbVar4 = param_2;\n            pbVar6 = &DAT_000639e9;\n            do {\n              if (iVar3 == 0) break;\n              iVar3 = iVar3 + -1;\n              bVar8 = *pbVar4 < *pbVar6;\n              bVar7 = *pbVar4 == *pbVar6;\n              pbVar4 = pbVar4 + 1;\n              pbVar6 = pbVar6 + 1;\n            } while (bVar7);\n            bVar9 = false;\n            bVar7 = (!bVar8 && !bVar7) == bVar8;\n            if (!bVar7) {\n              iVar3 = 4;\n              pbVar4 = param_2;\n              pbVar6 = &DAT_000639ea;\n              do {\n                if (iVar3 == 0) break;\n                iVar3 = iVar3 + -1;\n                bVar9 = *pbVar4 < *pbVar6;\n                bVar7 = *pbVar4 == *pbVar6;\n                pbVar4 = pbVar4 + 1;\n                pbVar6 = pbVar6 + 1;\n              } while (bVar7);\n              bVar8 = false;\n              bVar7 = (!bVar9 && !bVar7) == bVar9;\n              if (!bVar7) {\n                iVar3 = 6;\n                pbVar4 = param_2;\n                pbVar6 = (byte *)"ilp32";\n                do {\n                  if (iVar3 == 0) break;\n                  iVar3 = iVar3 + -1;\n                  bVar8 = *pbVar4 < *pbVar6;\n                  bVar7 = *pbVar4 == *pbVar6;\n                  pbVar4 = pbVar4 + 1;\n                  pbVar6 = pbVar6 + 1;\n                } while (bVar7);\n                bVar9 = false;\n                bVar7 = (!bVar8 && !bVar7) == bVar8;\n                if (bVar7) {\n                  DAT_00087d90 = DAT_00087d90 & 0xffffffef;\n                  return true;\n                }\n                iVar3 = 3;\n                pbVar4 = param_2;\n                pbVar6 = (byte *)0x5a287;\n                do {\n                  if (iVar3 == 0) break;\n                  iVar3 = iVar3 + -1;\n                  bVar9 = *pbVar4 < *pbVar6;\n                  bVar7 = *pbVar4 == *pbVar6;\n                  pbVar4 = pbVar4 + 1;\n                  pbVar6 = pbVar6 + 1;\n                } while (bVar7);\n                bVar8 = false;\n                bVar7 = (!bVar9 && !bVar7) == bVar9;\n                if (bVar7) {\n                  DAT_00087d90 = DAT_00087d90 & 0xfffffff7;\n                  DAT_00087dfc = 0;\n                  return true;\n                }\n                iVar3 = 3;\n                pbVar4 = param_2;\n                pbVar6 = &DAT_00063a90;\n                do {\n                  if (iVar3 == 0) break;\n                  iVar3 = iVar3 + -1;\n                  bVar8 = *pbVar4 < *pbVar6;\n                  bVar7 = *pbVar4 == *pbVar6;\n                  pbVar4 = pbVar4 + 1;\n                  pbVar6 = pbVar6 + 1;\n                } while (bVar7);\n                bVar9 = false;\n                bVar7 = (!bVar8 && !bVar7) == bVar8;\n                if (bVar7) {\n                  DAT_00087d90 = DAT_00087d90 | 8;\n                  DAT_00087dfc = 1;\n                  return true;\n                }\n                iVar3 = 0xd;\n                pbVar4 = param_2;\n                pbVar6 = (byte *)"unwind-check=";\n                do {\n                  if (iVar3 == 0) break;\n                  iVar3 = iVar3 + -1;\n                  bVar9 = *pbVar4 < *pbVar6;\n                  bVar7 = *pbVar4 == *pbVar6;\n                  pbVar4 = pbVar4 + 1;\n                  pbVar6 = pbVar6 + 1;\n                } while (bVar7);\n                if ((!bVar9 && !bVar7) == bVar9) {\n                  iVar3 = strcmp((char *)(param_2 + 0xd),"warning");\n                  if (iVar3 == 0) {\n                    DAT_00087974 = 0;\n                    return true;\n                  }\n                  iVar3 = strcmp((char *)(param_2 + 0xd),"error");\n                  if (iVar3 == 0) {\n                    DAT_00087974 = 1;\n                    return true;\n                  }\n                  return false;\n                }\n                iVar3 = strncmp((char *)param_2,"hint.b=",7);\n                if (iVar3 != 0) {\n                  iVar3 = strncmp((char *)param_2,"tune=",5);\n                  if (iVar3 != 0) {\n                    return false;\n                  }\n                  iVar3 = strcmp((char *)(param_2 + 5),"itanium1");\n                  if (iVar3 != 0) {\n                    iVar3 = strcmp((char *)(param_2 + 5),"itanium2");\n                    if (iVar3 == 0) {\n                      DAT_00087968 = 1;\n                      return true;\n                    }\n                    return false;\n                  }\n                  DAT_00087968 = 0;\n                  return true;\n                }\n                param_2 = param_2 + 7;\n                iVar3 = strcmp((char *)param_2,"ok");\n                if (iVar3 == 0) {\n                  DAT_0008796c = 2;\n                  return true;\n                }\n                iVar3 = strcmp((char *)param_2,"warning");\n                if (iVar3 != 0) {\n                  iVar3 = strcmp((char *)param_2,"error");\n                  if (iVar3 == 0) {\n                    DAT_0008796c = 0;\n                    return true;\n                  }\n                  return false;\n                }\n                DAT_0008796c = 1;\n                return true;\n              }\n            }\n          }\n          DAT_00087d90 = DAT_00087d90 | 0x10;\n          return true;\n        }\n      }\n      else {\n        if (param_1 == 0x123) {\n          DAT_00087d90 = DAT_00087d90 | 0x40;\n          return true;\n        }\n        if (param_1 == 0x124) {\n          DAT_00087d90 = DAT_00087d90 | 0x80;\n          return true;\n        }\n      }\n      return false;\n    }\n    bVar7 = param_1 < 0x4e;\n    bVar9 = param_1 == 0x4e;\n    if (!bVar9) {\n      if (param_1 != 0x53) {\n        return param_1 == 0x43;\n      }\n      return true;\n    }\n    iVar3 = 3;\n    pbVar4 = param_2;\n    pbVar6 = &DAT_00063a25;\n    do {\n      if (iVar3 == 0) break;\n      iVar3 = iVar3 + -1;\n      bVar7 = *pbVar4 < *pbVar6;\n      bVar9 = *pbVar4 == *pbVar6;\n      pbVar4 = pbVar4 + 1;\n      pbVar6 = pbVar6 + 1;\n    } while (bVar9);\n    bVar8 = false;\n    bVar7 = (!bVar7 && !bVar9) == bVar7;\n    if (bVar7) {\n      return true;\n    }\n    iVar3 = 3;\n    pbVar4 = param_2;\n    pbVar6 = &DAT_00063a28;\n    do {\n      if (iVar3 == 0) break;\n      iVar3 = iVar3 + -1;\n      bVar8 = *pbVar4 < *pbVar6;\n      bVar7 = *pbVar4 == *pbVar6;\n      pbVar4 = pbVar4 + 1;\n      pbVar6 = pbVar6 + 1;\n    } while (bVar7);\n    bVar9 = false;\n    bVar8 = (!bVar8 && !bVar7) == bVar8;\n    if (bVar8) {\n      return true;\n    }\n    iVar3 = 3;\n    pbVar4 = param_2;\n    pbVar6 = (byte *)0x5f92c;\n    do {\n      if (iVar3 == 0) break;\n      iVar3 = iVar3 + -1;\n      bVar9 = *pbVar4 < *pbVar6;\n      bVar8 = *pbVar4 == *pbVar6;\n      pbVar4 = pbVar4 + 1;\n      pbVar6 = pbVar6 + 1;\n    } while (bVar8);\n    bVar7 = false;\n    bVar9 = (!bVar9 && !bVar8) == bVar9;\n    if (bVar9) {\n      return true;\n    }\n    iVar3 = 0xd;\n    pcVar5 = "close_fcalls";\n  }\n  do {\n    if (iVar3 == 0) break;\n    iVar3 = iVar3 + -1;\n    bVar7 = *param_2 < (byte)*pcVar5;\n    bVar9 = *param_2 == *pcVar5;\n    param_2 = param_2 + 1;\n    pcVar5 = (char *)((byte *)pcVar5 + 1);\n  } while (bVar9);\n  return (!bVar7 && !bVar9) == bVar7;\n}" primitive_type (function_declarator "FUN_0004d020(uint param_1,byte *param_2)" identifier (parameter_list "(uint param_1,byte *param_2)" ( (parameter_declaration "uint param_1" type_identifier identifier) , (parameter_declaration "byte *param_2" type_identifier (pointer_declarator "*param_2" * identifier)) ))) (compound_statement "{\n  char cVar1;\n  undefined4 uVar2;\n  int iVar3;\n  byte *pbVar4;\n  char *pcVar5;\n  byte *pbVar6;\n  bool bVar7;\n  bool bVar8;\n  bool bVar9;\n  \n  bVar7 = param_1 < 0x61;\n  bVar9 = param_1 == 0x61;\n  if (bVar9) {\n    iVar3 = 9;\n    pcVar5 = "indirect=";\n  }\n  else {\n    if (0x61 < (int)param_1) {\n      if (param_1 == 0x78) {\n        bVar7 = false;\n        bVar9 = param_2 == (byte *)0x0;\n        if (!bVar9) {\n          iVar3 = 9;\n          pbVar4 = param_2;\n          pbVar6 = (byte *)"explicit";\n          do {\n            if (iVar3 == 0) break;\n            iVar3 = iVar3 + -1;\n            bVar7 = *pbVar4 < *pbVar6;\n            bVar9 = *pbVar4 == *pbVar6;\n            pbVar4 = pbVar4 + 1;\n            pbVar6 = pbVar6 + 1;\n          } while (bVar9);\n          bVar8 = false;\n          bVar7 = (!bVar7 && !bVar9) == bVar7;\n          if (!bVar7) {\n            iVar3 = 5;\n            pbVar4 = param_2;\n            pbVar6 = &DAT_00063a4b;\n            do {\n              if (iVar3 == 0) break;\n              iVar3 = iVar3 + -1;\n              bVar8 = *pbVar4 < *pbVar6;\n              bVar7 = *pbVar4 == *pbVar6;\n              pbVar4 = pbVar4 + 1;\n              pbVar6 = pbVar6 + 1;\n            } while (bVar7);\n            bVar9 = false;\n            bVar7 = (!bVar8 && !bVar7) == bVar8;\n            if (bVar7) {\n              DAT_00087970 = DAT_00087970 & 0xef | 4;\n              return true;\n            }\n            iVar3 = 5;\n            pbVar4 = param_2;\n            pbVar6 = &DAT_0005a335;\n            do {\n              if (iVar3 == 0) break;\n              iVar3 = iVar3 + -1;\n              bVar9 = *pbVar4 < *pbVar6;\n              bVar7 = *pbVar4 == *pbVar6;\n              pbVar4 = pbVar4 + 1;\n              pbVar6 = pbVar6 + 1;\n            } while (bVar7);\n            bVar8 = false;\n            bVar7 = (!bVar9 && !bVar7) == bVar9;\n            if (bVar7) {\n              DAT_00087970 = DAT_00087970 & 0xfb;\n              return true;\n            }\n            iVar3 = 6;\n            pcVar5 = " debug";\n            pbVar4 = param_2;\n            do {\n              pcVar5 = (char *)((byte *)pcVar5 + 1);\n              if (iVar3 == 0) break;\n              iVar3 = iVar3 + -1;\n              bVar8 = *pbVar4 < (byte)*pcVar5;\n              bVar7 = *pbVar4 == *pcVar5;\n              pbVar4 = pbVar4 + 1;\n            } while (bVar7);\n            bVar9 = false;\n            bVar7 = (!bVar8 && !bVar7) == bVar8;\n            if (bVar7) {\n              DAT_00087970 = DAT_00087970 | 6;\n              return true;\n            }\n            iVar3 = 7;\n            pbVar4 = param_2;\n            pbVar6 = (byte *)"debugx";\n            do {\n              if (iVar3 == 0) break;\n              iVar3 = iVar3 + -1;\n              bVar9 = *pbVar4 < *pbVar6;\n              bVar7 = *pbVar4 == *pbVar6;\n              pbVar4 = pbVar4 + 1;\n              pbVar6 = pbVar6 + 1;\n            } while (bVar7);\n            bVar8 = false;\n            bVar7 = (!bVar9 && !bVar7) == bVar9;\n            if (bVar7) {\n              DAT_00087970 = DAT_00087970 | 0x16;\n              return true;\n            }\n            iVar3 = 7;\n            pbVar4 = param_2;\n            pbVar6 = (byte *)"debugn";\n            do {\n              if (iVar3 == 0) break;\n              iVar3 = iVar3 + -1;\n              bVar8 = *pbVar4 < *pbVar6;\n              bVar7 = *pbVar4 == *pbVar6;\n              pbVar4 = pbVar4 + 1;\n              pbVar6 = pbVar6 + 1;\n            } while (bVar7);\n            cVar1 = (!bVar8 && !bVar7) - bVar8;\n            if (cVar1 != '\0') {\n              DAT_00087970 = DAT_00087970 | 4;\n              uVar2 = dcgettext(0,"Unrecognized option \'-x%s\'",5,cVar1);\n              FUN_00029550(uVar2,param_2);\n              return true;\n            }\n            DAT_00087970 = DAT_00087970 & 0xf9 | 2;\n            return true;\n          }\n        }\n        DAT_00087970 = DAT_00087970 | 0x14;\n        return true;\n      }\n      if ((int)param_1 < 0x79) {\n        bVar7 = param_1 < 0x6d;\n        bVar9 = param_1 == 0x6d;\n        if (bVar9) {\n          iVar3 = 6;\n          pbVar4 = param_2;\n          pbVar6 = &DAT_000639e8;\n          do {\n            if (iVar3 == 0) break;\n            iVar3 = iVar3 + -1;\n            bVar7 = *pbVar4 < *pbVar6;\n            bVar9 = *pbVar4 == *pbVar6;\n            pbVar4 = pbVar4 + 1;\n            pbVar6 = pbVar6 + 1;\n          } while (bVar9);\n          bVar8 = false;\n          bVar7 = (!bVar7 && !bVar9) == bVar7;\n          if (!bVar7) {\n            iVar3 = 5;\n            pbVar4 = param_2;\n            pbVar6 = &DAT_000639e9;\n            do {\n              if (iVar3 == 0) break;\n              iVar3 = iVar3 + -1;\n              bVar8 = *pbVar4 < *pbVar6;\n              bVar7 = *pbVar4 == *pbVar6;\n              pbVar4 = pbVar4 + 1;\n              pbVar6 = pbVar6 + 1;\n            } while (bVar7);\n            bVar9 = false;\n            bVar7 = (!bVar8 && !bVar7) == bVar8;\n            if (!bVar7) {\n              iVar3 = 4;\n              pbVar4 = param_2;\n              pbVar6 = &DAT_000639ea;\n              do {\n                if (iVar3 == 0) break;\n                iVar3 = iVar3 + -1;\n                bVar9 = *pbVar4 < *pbVar6;\n                bVar7 = *pbVar4 == *pbVar6;\n                pbVar4 = pbVar4 + 1;\n                pbVar6 = pbVar6 + 1;\n              } while (bVar7);\n              bVar8 = false;\n              bVar7 = (!bVar9 && !bVar7) == bVar9;\n              if (!bVar7) {\n                iVar3 = 6;\n                pbVar4 = param_2;\n                pbVar6 = (byte *)"ilp32";\n                do {\n                  if (iVar3 == 0) break;\n                  iVar3 = iVar3 + -1;\n                  bVar8 = *pbVar4 < *pbVar6;\n                  bVar7 = *pbVar4 == *pbVar6;\n                  pbVar4 = pbVar4 + 1;\n                  pbVar6 = pbVar6 + 1;\n                } while (bVar7);\n                bVar9 = false;\n                bVar7 = (!bVar8 && !bVar7) == bVar8;\n                if (bVar7) {\n                  DAT_00087d90 = DAT_00087d90 & 0xffffffef;\n                  return true;\n                }\n                iVar3 = 3;\n                pbVar4 = param_2;\n                pbVar6 = (byte *)0x5a287;\n                do {\n                  if (iVar3 == 0) break;\n                  iVar3 = iVar3 + -1;\n                  bVar9 = *pbVar4 < *pbVar6;\n                  bVar7 = *pbVar4 == *pbVar6;\n                  pbVar4 = pbVar4 + 1;\n                  pbVar6 = pbVar6 + 1;\n                } while (bVar7);\n                bVar8 = false;\n                bVar7 = (!bVar9 && !bVar7) == bVar9;\n                if (bVar7) {\n                  DAT_00087d90 = DAT_00087d90 & 0xfffffff7;\n                  DAT_00087dfc = 0;\n                  return true;\n                }\n                iVar3 = 3;\n                pbVar4 = param_2;\n                pbVar6 = &DAT_00063a90;\n                do {\n                  if (iVar3 == 0) break;\n                  iVar3 = iVar3 + -1;\n                  bVar8 = *pbVar4 < *pbVar6;\n                  bVar7 = *pbVar4 == *pbVar6;\n                  pbVar4 = pbVar4 + 1;\n                  pbVar6 = pbVar6 + 1;\n                } while (bVar7);\n                bVar9 = false;\n                bVar7 = (!bVar8 && !bVar7) == bVar8;\n                if (bVar7) {\n                  DAT_00087d90 = DAT_00087d90 | 8;\n                  DAT_00087dfc = 1;\n                  return true;\n                }\n                iVar3 = 0xd;\n                pbVar4 = param_2;\n                pbVar6 = (byte *)"unwind-check=";\n                do {\n                  if (iVar3 == 0) break;\n                  iVar3 = iVar3 + -1;\n                  bVar9 = *pbVar4 < *pbVar6;\n                  bVar7 = *pbVar4 == *pbVar6;\n                  pbVar4 = pbVar4 + 1;\n                  pbVar6 = pbVar6 + 1;\n                } while (bVar7);\n                if ((!bVar9 && !bVar7) == bVar9) {\n                  iVar3 = strcmp((char *)(param_2 + 0xd),"warning");\n                  if (iVar3 == 0) {\n                    DAT_00087974 = 0;\n                    return true;\n                  }\n                  iVar3 = strcmp((char *)(param_2 + 0xd),"error");\n                  if (iVar3 == 0) {\n                    DAT_00087974 = 1;\n                    return true;\n                  }\n                  return false;\n                }\n                iVar3 = strncmp((char *)param_2,"hint.b=",7);\n                if (iVar3 != 0) {\n                  iVar3 = strncmp((char *)param_2,"tune=",5);\n                  if (iVar3 != 0) {\n                    return false;\n                  }\n                  iVar3 = strcmp((char *)(param_2 + 5),"itanium1");\n                  if (iVar3 != 0) {\n                    iVar3 = strcmp((char *)(param_2 + 5),"itanium2");\n                    if (iVar3 == 0) {\n                      DAT_00087968 = 1;\n                      return true;\n                    }\n                    return false;\n                  }\n                  DAT_00087968 = 0;\n                  return true;\n                }\n                param_2 = param_2 + 7;\n                iVar3 = strcmp((char *)param_2,"ok");\n                if (iVar3 == 0) {\n                  DAT_0008796c = 2;\n                  return true;\n                }\n                iVar3 = strcmp((char *)param_2,"warning");\n                if (iVar3 != 0) {\n                  iVar3 = strcmp((char *)param_2,"error");\n                  if (iVar3 == 0) {\n                    DAT_0008796c = 0;\n                    return true;\n                  }\n                  return false;\n                }\n                DAT_0008796c = 1;\n                return true;\n              }\n            }\n          }\n          DAT_00087d90 = DAT_00087d90 | 0x10;\n          return true;\n        }\n      }\n      else {\n        if (param_1 == 0x123) {\n          DAT_00087d90 = DAT_00087d90 | 0x40;\n          return true;\n        }\n        if (param_1 == 0x124) {\n          DAT_00087d90 = DAT_00087d90 | 0x80;\n          return true;\n        }\n      }\n      return false;\n    }\n    bVar7 = param_1 < 0x4e;\n    bVar9 = param_1 == 0x4e;\n    if (!bVar9) {\n      if (param_1 != 0x53) {\n        return param_1 == 0x43;\n      }\n      return true;\n    }\n    iVar3 = 3;\n    pbVar4 = param_2;\n    pbVar6 = &DAT_00063a25;\n    do {\n      if (iVar3 == 0) break;\n      iVar3 = iVar3 + -1;\n      bVar7 = *pbVar4 < *pbVar6;\n      bVar9 = *pbVar4 == *pbVar6;\n      pbVar4 = pbVar4 + 1;\n      pbVar6 = pbVar6 + 1;\n    } while (bVar9);\n    bVar8 = false;\n    bVar7 = (!bVar7 && !bVar9) == bVar7;\n    if (bVar7) {\n      return true;\n    }\n    iVar3 = 3;\n    pbVar4 = param_2;\n    pbVar6 = &DAT_00063a28;\n    do {\n      if (iVar3 == 0) break;\n      iVar3 = iVar3 + -1;\n      bVar8 = *pbVar4 < *pbVar6;\n      bVar7 = *pbVar4 == *pbVar6;\n      pbVar4 = pbVar4 + 1;\n      pbVar6 = pbVar6 + 1;\n    } while (bVar7);\n    bVar9 = false;\n    bVar8 = (!bVar8 && !bVar7) == bVar8;\n    if (bVar8) {\n      return true;\n    }\n    iVar3 = 3;\n    pbVar4 = param_2;\n    pbVar6 = (byte *)0x5f92c;\n    do {\n      if (iVar3 == 0) break;\n      iVar3 = iVar3 + -1;\n      bVar9 = *pbVar4 < *pbVar6;\n      bVar8 = *pbVar4 == *pbVar6;\n      pbVar4 = pbVar4 + 1;\n      pbVar6 = pbVar6 + 1;\n    } while (bVar8);\n    bVar7 = false;\n    bVar9 = (!bVar9 && !bVar8) == bVar9;\n    if (bVar9) {\n      return true;\n    }\n    iVar3 = 0xd;\n    pcVar5 = "close_fcalls";\n  }\n  do {\n    if (iVar3 == 0) break;\n    iVar3 = iVar3 + -1;\n    bVar7 = *param_2 < (byte)*pcVar5;\n    bVar9 = *param_2 == *pcVar5;\n    param_2 = param_2 + 1;\n    pcVar5 = (char *)((byte *)pcVar5 + 1);\n  } while (bVar9);\n  return (!bVar7 && !bVar9) == bVar7;\n}" { (declaration "char cVar1;" primitive_type identifier ;) (declaration "undefined4 uVar2;" type_identifier identifier ;) (declaration "int iVar3;" primitive_type identifier ;) (declaration "byte *pbVar4;" type_identifier (pointer_declarator "*pbVar4" * identifier) ;) (declaration "char *pcVar5;" primitive_type (pointer_declarator "*pcVar5" * identifier) ;) (declaration "byte *pbVar6;" type_identifier (pointer_declarator "*pbVar6" * identifier) ;) (declaration "bool bVar7;" primitive_type identifier ;) (declaration "bool bVar8;" primitive_type identifier ;) (declaration "bool bVar9;" primitive_type identifier ;) (expression_statement "bVar7 = param_1 < 0x61;" (assignment_expression "bVar7 = param_1 < 0x61" identifier = (binary_expression "param_1 < 0x61" identifier < number_literal)) ;) (expression_statement "bVar9 = param_1 == 0x61;" (assignment_expression "bVar9 = param_1 == 0x61" identifier = (binary_expression "param_1 == 0x61" identifier == number_literal)) ;) (if_statement "if (bVar9) {\n    iVar3 = 9;\n    pcVar5 = "indirect=";\n  }\n  else {\n    if (0x61 < (int)param_1) {\n      if (param_1 == 0x78) {\n        bVar7 = false;\n        bVar9 = param_2 == (byte *)0x0;\n        if (!bVar9) {\n          iVar3 = 9;\n          pbVar4 = param_2;\n          pbVar6 = (byte *)"explicit";\n          do {\n            if (iVar3 == 0) break;\n            iVar3 = iVar3 + -1;\n            bVar7 = *pbVar4 < *pbVar6;\n            bVar9 = *pbVar4 == *pbVar6;\n            pbVar4 = pbVar4 + 1;\n            pbVar6 = pbVar6 + 1;\n          } while (bVar9);\n          bVar8 = false;\n          bVar7 = (!bVar7 && !bVar9) == bVar7;\n          if (!bVar7) {\n            iVar3 = 5;\n            pbVar4 = param_2;\n            pbVar6 = &DAT_00063a4b;\n            do {\n              if (iVar3 == 0) break;\n              iVar3 = iVar3 + -1;\n              bVar8 = *pbVar4 < *pbVar6;\n              bVar7 = *pbVar4 == *pbVar6;\n              pbVar4 = pbVar4 + 1;\n              pbVar6 = pbVar6 + 1;\n            } while (bVar7);\n            bVar9 = false;\n            bVar7 = (!bVar8 && !bVar7) == bVar8;\n            if (bVar7) {\n              DAT_00087970 = DAT_00087970 & 0xef | 4;\n              return true;\n            }\n            iVar3 = 5;\n            pbVar4 = param_2;\n            pbVar6 = &DAT_0005a335;\n            do {\n              if (iVar3 == 0) break;\n              iVar3 = iVar3 + -1;\n              bVar9 = *pbVar4 < *pbVar6;\n              bVar7 = *pbVar4 == *pbVar6;\n              pbVar4 = pbVar4 + 1;\n              pbVar6 = pbVar6 + 1;\n            } while (bVar7);\n            bVar8 = false;\n            bVar7 = (!bVar9 && !bVar7) == bVar9;\n            if (bVar7) {\n              DAT_00087970 = DAT_00087970 & 0xfb;\n              return true;\n            }\n            iVar3 = 6;\n            pcVar5 = " debug";\n            pbVar4 = param_2;\n            do {\n              pcVar5 = (char *)((byte *)pcVar5 + 1);\n              if (iVar3 == 0) break;\n              iVar3 = iVar3 + -1;\n              bVar8 = *pbVar4 < (byte)*pcVar5;\n              bVar7 = *pbVar4 == *pcVar5;\n              pbVar4 = pbVar4 + 1;\n            } while (bVar7);\n            bVar9 = false;\n            bVar7 = (!bVar8 && !bVar7) == bVar8;\n            if (bVar7) {\n              DAT_00087970 = DAT_00087970 | 6;\n              return true;\n            }\n            iVar3 = 7;\n            pbVar4 = param_2;\n            pbVar6 = (byte *)"debugx";\n            do {\n              if (iVar3 == 0) break;\n              iVar3 = iVar3 + -1;\n              bVar9 = *pbVar4 < *pbVar6;\n              bVar7 = *pbVar4 == *pbVar6;\n              pbVar4 = pbVar4 + 1;\n              pbVar6 = pbVar6 + 1;\n            } while (bVar7);\n            bVar8 = false;\n            bVar7 = (!bVar9 && !bVar7) == bVar9;\n            if (bVar7) {\n              DAT_00087970 = DAT_00087970 | 0x16;\n              return true;\n            }\n            iVar3 = 7;\n            pbVar4 = param_2;\n            pbVar6 = (byte *)"debugn";\n            do {\n              if (iVar3 == 0) break;\n              iVar3 = iVar3 + -1;\n              bVar8 = *pbVar4 < *pbVar6;\n              bVar7 = *pbVar4 == *pbVar6;\n              pbVar4 = pbVar4 + 1;\n              pbVar6 = pbVar6 + 1;\n            } while (bVar7);\n            cVar1 = (!bVar8 && !bVar7) - bVar8;\n            if (cVar1 != '\0') {\n              DAT_00087970 = DAT_00087970 | 4;\n              uVar2 = dcgettext(0,"Unrecognized option \'-x%s\'",5,cVar1);\n              FUN_00029550(uVar2,param_2);\n              return true;\n            }\n            DAT_00087970 = DAT_00087970 & 0xf9 | 2;\n            return true;\n          }\n        }\n        DAT_00087970 = DAT_00087970 | 0x14;\n        return true;\n      }\n      if ((int)param_1 < 0x79) {\n        bVar7 = param_1 < 0x6d;\n        bVar9 = param_1 == 0x6d;\n        if (bVar9) {\n          iVar3 = 6;\n          pbVar4 = param_2;\n          pbVar6 = &DAT_000639e8;\n          do {\n            if (iVar3 == 0) break;\n            iVar3 = iVar3 + -1;\n            bVar7 = *pbVar4 < *pbVar6;\n            bVar9 = *pbVar4 == *pbVar6;\n            pbVar4 = pbVar4 + 1;\n            pbVar6 = pbVar6 + 1;\n          } while (bVar9);\n          bVar8 = false;\n          bVar7 = (!bVar7 && !bVar9) == bVar7;\n          if (!bVar7) {\n            iVar3 = 5;\n            pbVar4 = param_2;\n            pbVar6 = &DAT_000639e9;\n            do {\n              if (iVar3 == 0) break;\n              iVar3 = iVar3 + -1;\n              bVar8 = *pbVar4 < *pbVar6;\n              bVar7 = *pbVar4 == *pbVar6;\n              pbVar4 = pbVar4 + 1;\n              pbVar6 = pbVar6 + 1;\n            } while (bVar7);\n            bVar9 = false;\n            bVar7 = (!bVar8 && !bVar7) == bVar8;\n            if (!bVar7) {\n              iVar3 = 4;\n              pbVar4 = param_2;\n              pbVar6 = &DAT_000639ea;\n              do {\n                if (iVar3 == 0) break;\n                iVar3 = iVar3 + -1;\n                bVar9 = *pbVar4 < *pbVar6;\n                bVar7 = *pbVar4 == *pbVar6;\n                pbVar4 = pbVar4 + 1;\n                pbVar6 = pbVar6 + 1;\n              } while (bVar7);\n              bVar8 = false;\n              bVar7 = (!bVar9 && !bVar7) == bVar9;\n              if (!bVar7) {\n                iVar3 = 6;\n                pbVar4 = param_2;\n                pbVar6 = (byte *)"ilp32";\n                do {\n                  if (iVar3 == 0) break;\n                  iVar3 = iVar3 + -1;\n                  bVar8 = *pbVar4 < *pbVar6;\n                  bVar7 = *pbVar4 == *pbVar6;\n                  pbVar4 = pbVar4 + 1;\n                  pbVar6 = pbVar6 + 1;\n                } while (bVar7);\n                bVar9 = false;\n                bVar7 = (!bVar8 && !bVar7) == bVar8;\n                if (bVar7) {\n                  DAT_00087d90 = DAT_00087d90 & 0xffffffef;\n                  return true;\n                }\n                iVar3 = 3;\n                pbVar4 = param_2;\n                pbVar6 = (byte *)0x5a287;\n                do {\n                  if (iVar3 == 0) break;\n                  iVar3 = iVar3 + -1;\n                  bVar9 = *pbVar4 < *pbVar6;\n                  bVar7 = *pbVar4 == *pbVar6;\n                  pbVar4 = pbVar4 + 1;\n                  pbVar6 = pbVar6 + 1;\n                } while (bVar7);\n                bVar8 = false;\n                bVar7 = (!bVar9 && !bVar7) == bVar9;\n                if (bVar7) {\n                  DAT_00087d90 = DAT_00087d90 & 0xfffffff7;\n                  DAT_00087dfc = 0;\n                  return true;\n                }\n                iVar3 = 3;\n                pbVar4 = param_2;\n                pbVar6 = &DAT_00063a90;\n                do {\n                  if (iVar3 == 0) break;\n                  iVar3 = iVar3 + -1;\n                  bVar8 = *pbVar4 < *pbVar6;\n                  bVar7 = *pbVar4 == *pbVar6;\n                  pbVar4 = pbVar4 + 1;\n                  pbVar6 = pbVar6 + 1;\n                } while (bVar7);\n                bVar9 = false;\n                bVar7 = (!bVar8 && !bVar7) == bVar8;\n                if (bVar7) {\n                  DAT_00087d90 = DAT_00087d90 | 8;\n                  DAT_00087dfc = 1;\n                  return true;\n                }\n                iVar3 = 0xd;\n                pbVar4 = param_2;\n                pbVar6 = (byte *)"unwind-check=";\n                do {\n                  if (iVar3 == 0) break;\n                  iVar3 = iVar3 + -1;\n                  bVar9 = *pbVar4 < *pbVar6;\n                  bVar7 = *pbVar4 == *pbVar6;\n                  pbVar4 = pbVar4 + 1;\n                  pbVar6 = pbVar6 + 1;\n                } while (bVar7);\n                if ((!bVar9 && !bVar7) == bVar9) {\n                  iVar3 = strcmp((char *)(param_2 + 0xd),"warning");\n                  if (iVar3 == 0) {\n                    DAT_00087974 = 0;\n                    return true;\n                  }\n                  iVar3 = strcmp((char *)(param_2 + 0xd),"error");\n                  if (iVar3 == 0) {\n                    DAT_00087974 = 1;\n                    return true;\n                  }\n                  return false;\n                }\n                iVar3 = strncmp((char *)param_2,"hint.b=",7);\n                if (iVar3 != 0) {\n                  iVar3 = strncmp((char *)param_2,"tune=",5);\n                  if (iVar3 != 0) {\n                    return false;\n                  }\n                  iVar3 = strcmp((char *)(param_2 + 5),"itanium1");\n                  if (iVar3 != 0) {\n                    iVar3 = strcmp((char *)(param_2 + 5),"itanium2");\n                    if (iVar3 == 0) {\n                      DAT_00087968 = 1;\n                      return true;\n                    }\n                    return false;\n                  }\n                  DAT_00087968 = 0;\n                  return true;\n                }\n                param_2 = param_2 + 7;\n                iVar3 = strcmp((char *)param_2,"ok");\n                if (iVar3 == 0) {\n                  DAT_0008796c = 2;\n                  return true;\n                }\n                iVar3 = strcmp((char *)param_2,"warning");\n                if (iVar3 != 0) {\n                  iVar3 = strcmp((char *)param_2,"error");\n                  if (iVar3 == 0) {\n                    DAT_0008796c = 0;\n                    return true;\n                  }\n                  return false;\n                }\n                DAT_0008796c = 1;\n                return true;\n              }\n            }\n          }\n          DAT_00087d90 = DAT_00087d90 | 0x10;\n          return true;\n        }\n      }\n      else {\n        if (param_1 == 0x123) {\n          DAT_00087d90 = DAT_00087d90 | 0x40;\n          return true;\n        }\n        if (param_1 == 0x124) {\n          DAT_00087d90 = DAT_00087d90 | 0x80;\n          return true;\n        }\n      }\n      return false;\n    }\n    bVar7 = param_1 < 0x4e;\n    bVar9 = param_1 == 0x4e;\n    if (!bVar9) {\n      if (param_1 != 0x53) {\n        return param_1 == 0x43;\n      }\n      return true;\n    }\n    iVar3 = 3;\n    pbVar4 = param_2;\n    pbVar6 = &DAT_00063a25;\n    do {\n      if (iVar3 == 0) break;\n      iVar3 = iVar3 + -1;\n      bVar7 = *pbVar4 < *pbVar6;\n      bVar9 = *pbVar4 == *pbVar6;\n      pbVar4 = pbVar4 + 1;\n      pbVar6 = pbVar6 + 1;\n    } while (bVar9);\n    bVar8 = false;\n    bVar7 = (!bVar7 && !bVar9) == bVar7;\n    if (bVar7) {\n      return true;\n    }\n    iVar3 = 3;\n    pbVar4 = param_2;\n    pbVar6 = &DAT_00063a28;\n    do {\n      if (iVar3 == 0) break;\n      iVar3 = iVar3 + -1;\n      bVar8 = *pbVar4 < *pbVar6;\n      bVar7 = *pbVar4 == *pbVar6;\n      pbVar4 = pbVar4 + 1;\n      pbVar6 = pbVar6 + 1;\n    } while (bVar7);\n    bVar9 = false;\n    bVar8 = (!bVar8 && !bVar7) == bVar8;\n    if (bVar8) {\n      return true;\n    }\n    iVar3 = 3;\n    pbVar4 = param_2;\n    pbVar6 = (byte *)0x5f92c;\n    do {\n      if (iVar3 == 0) break;\n      iVar3 = iVar3 + -1;\n      bVar9 = *pbVar4 < *pbVar6;\n      bVar8 = *pbVar4 == *pbVar6;\n      pbVar4 = pbVar4 + 1;\n      pbVar6 = pbVar6 + 1;\n    } while (bVar8);\n    bVar7 = false;\n    bVar9 = (!bVar9 && !bVar8) == bVar9;\n    if (bVar9) {\n      return true;\n    }\n    iVar3 = 0xd;\n    pcVar5 = "close_fcalls";\n  }" if (parenthesized_expression "(bVar9)" ( identifier )) (compound_statement "{\n    iVar3 = 9;\n    pcVar5 = "indirect=";\n  }" { (expression_statement "iVar3 = 9;" (assignment_expression "iVar3 = 9" identifier = number_literal) ;) (expression_statement "pcVar5 = "indirect=";" (assignment_expression "pcVar5 = "indirect="" identifier = (string_literal ""indirect="" " string_content ")) ;) }) (else_clause "else {\n    if (0x61 < (int)param_1) {\n      if (param_1 == 0x78) {\n        bVar7 = false;\n        bVar9 = param_2 == (byte *)0x0;\n        if (!bVar9) {\n          iVar3 = 9;\n          pbVar4 = param_2;\n          pbVar6 = (byte *)"explicit";\n          do {\n            if (iVar3 == 0) break;\n            iVar3 = iVar3 + -1;\n            bVar7 = *pbVar4 < *pbVar6;\n            bVar9 = *pbVar4 == *pbVar6;\n            pbVar4 = pbVar4 + 1;\n            pbVar6 = pbVar6 + 1;\n          } while (bVar9);\n          bVar8 = false;\n          bVar7 = (!bVar7 && !bVar9) == bVar7;\n          if (!bVar7) {\n            iVar3 = 5;\n            pbVar4 = param_2;\n            pbVar6 = &DAT_00063a4b;\n            do {\n              if (iVar3 == 0) break;\n              iVar3 = iVar3 + -1;\n              bVar8 = *pbVar4 < *pbVar6;\n              bVar7 = *pbVar4 == *pbVar6;\n              pbVar4 = pbVar4 + 1;\n              pbVar6 = pbVar6 + 1;\n            } while (bVar7);\n            bVar9 = false;\n            bVar7 = (!bVar8 && !bVar7) == bVar8;\n            if (bVar7) {\n              DAT_00087970 = DAT_00087970 & 0xef | 4;\n              return true;\n            }\n            iVar3 = 5;\n            pbVar4 = param_2;\n            pbVar6 = &DAT_0005a335;\n            do {\n              if (iVar3 == 0) break;\n              iVar3 = iVar3 + -1;\n              bVar9 = *pbVar4 < *pbVar6;\n              bVar7 = *pbVar4 == *pbVar6;\n              pbVar4 = pbVar4 + 1;\n              pbVar6 = pbVar6 + 1;\n            } while (bVar7);\n            bVar8 = false;\n            bVar7 = (!bVar9 && !bVar7) == bVar9;\n            if (bVar7) {\n              DAT_00087970 = DAT_00087970 & 0xfb;\n              return true;\n            }\n            iVar3 = 6;\n            pcVar5 = " debug";\n            pbVar4 = param_2;\n            do {\n              pcVar5 = (char *)((byte *)pcVar5 + 1);\n              if (iVar3 == 0) break;\n              iVar3 = iVar3 + -1;\n              bVar8 = *pbVar4 < (byte)*pcVar5;\n              bVar7 = *pbVar4 == *pcVar5;\n              pbVar4 = pbVar4 + 1;\n            } while (bVar7);\n            bVar9 = false;\n            bVar7 = (!bVar8 && !bVar7) == bVar8;\n            if (bVar7) {\n              DAT_00087970 = DAT_00087970 | 6;\n              return true;\n            }\n            iVar3 = 7;\n            pbVar4 = param_2;\n            pbVar6 = (byte *)"debugx";\n            do {\n              if (iVar3 == 0) break;\n              iVar3 = iVar3 + -1;\n              bVar9 = *pbVar4 < *pbVar6;\n              bVar7 = *pbVar4 == *pbVar6;\n              pbVar4 = pbVar4 + 1;\n              pbVar6 = pbVar6 + 1;\n            } while (bVar7);\n            bVar8 = false;\n            bVar7 = (!bVar9 && !bVar7) == bVar9;\n            if (bVar7) {\n              DAT_00087970 = DAT_00087970 | 0x16;\n              return true;\n            }\n            iVar3 = 7;\n            pbVar4 = param_2;\n            pbVar6 = (byte *)"debugn";\n            do {\n              if (iVar3 == 0) break;\n              iVar3 = iVar3 + -1;\n              bVar8 = *pbVar4 < *pbVar6;\n              bVar7 = *pbVar4 == *pbVar6;\n              pbVar4 = pbVar4 + 1;\n              pbVar6 = pbVar6 + 1;\n            } while (bVar7);\n            cVar1 = (!bVar8 && !bVar7) - bVar8;\n            if (cVar1 != '\0') {\n              DAT_00087970 = DAT_00087970 | 4;\n              uVar2 = dcgettext(0,"Unrecognized option \'-x%s\'",5,cVar1);\n              FUN_00029550(uVar2,param_2);\n              return true;\n            }\n            DAT_00087970 = DAT_00087970 & 0xf9 | 2;\n            return true;\n          }\n        }\n        DAT_00087970 = DAT_00087970 | 0x14;\n        return true;\n      }\n      if ((int)param_1 < 0x79) {\n        bVar7 = param_1 < 0x6d;\n        bVar9 = param_1 == 0x6d;\n        if (bVar9) {\n          iVar3 = 6;\n          pbVar4 = param_2;\n          pbVar6 = &DAT_000639e8;\n          do {\n            if (iVar3 == 0) break;\n            iVar3 = iVar3 + -1;\n            bVar7 = *pbVar4 < *pbVar6;\n            bVar9 = *pbVar4 == *pbVar6;\n            pbVar4 = pbVar4 + 1;\n            pbVar6 = pbVar6 + 1;\n          } while (bVar9);\n          bVar8 = false;\n          bVar7 = (!bVar7 && !bVar9) == bVar7;\n          if (!bVar7) {\n            iVar3 = 5;\n            pbVar4 = param_2;\n            pbVar6 = &DAT_000639e9;\n            do {\n              if (iVar3 == 0) break;\n              iVar3 = iVar3 + -1;\n              bVar8 = *pbVar4 < *pbVar6;\n              bVar7 = *pbVar4 == *pbVar6;\n              pbVar4 = pbVar4 + 1;\n              pbVar6 = pbVar6 + 1;\n            } while (bVar7);\n            bVar9 = false;\n            bVar7 = (!bVar8 && !bVar7) == bVar8;\n            if (!bVar7) {\n              iVar3 = 4;\n              pbVar4 = param_2;\n              pbVar6 = &DAT_000639ea;\n              do {\n                if (iVar3 == 0) break;\n                iVar3 = iVar3 + -1;\n                bVar9 = *pbVar4 < *pbVar6;\n                bVar7 = *pbVar4 == *pbVar6;\n                pbVar4 = pbVar4 + 1;\n                pbVar6 = pbVar6 + 1;\n              } while (bVar7);\n              bVar8 = false;\n              bVar7 = (!bVar9 && !bVar7) == bVar9;\n              if (!bVar7) {\n                iVar3 = 6;\n                pbVar4 = param_2;\n                pbVar6 = (byte *)"ilp32";\n                do {\n                  if (iVar3 == 0) break;\n                  iVar3 = iVar3 + -1;\n                  bVar8 = *pbVar4 < *pbVar6;\n                  bVar7 = *pbVar4 == *pbVar6;\n                  pbVar4 = pbVar4 + 1;\n                  pbVar6 = pbVar6 + 1;\n                } while (bVar7);\n                bVar9 = false;\n                bVar7 = (!bVar8 && !bVar7) == bVar8;\n                if (bVar7) {\n                  DAT_00087d90 = DAT_00087d90 & 0xffffffef;\n                  return true;\n                }\n                iVar3 = 3;\n                pbVar4 = param_2;\n                pbVar6 = (byte *)0x5a287;\n                do {\n                  if (iVar3 == 0) break;\n                  iVar3 = iVar3 + -1;\n                  bVar9 = *pbVar4 < *pbVar6;\n                  bVar7 = *pbVar4 == *pbVar6;\n                  pbVar4 = pbVar4 + 1;\n                  pbVar6 = pbVar6 + 1;\n                } while (bVar7);\n                bVar8 = false;\n                bVar7 = (!bVar9 && !bVar7) == bVar9;\n                if (bVar7) {\n                  DAT_00087d90 = DAT_00087d90 & 0xfffffff7;\n                  DAT_00087dfc = 0;\n                  return true;\n                }\n                iVar3 = 3;\n                pbVar4 = param_2;\n                pbVar6 = &DAT_00063a90;\n                do {\n                  if (iVar3 == 0) break;\n                  iVar3 = iVar3 + -1;\n                  bVar8 = *pbVar4 < *pbVar6;\n                  bVar7 = *pbVar4 == *pbVar6;\n                  pbVar4 = pbVar4 + 1;\n                  pbVar6 = pbVar6 + 1;\n                } while (bVar7);\n                bVar9 = false;\n                bVar7 = (!bVar8 && !bVar7) == bVar8;\n                if (bVar7) {\n                  DAT_00087d90 = DAT_00087d90 | 8;\n                  DAT_00087dfc = 1;\n                  return true;\n                }\n                iVar3 = 0xd;\n                pbVar4 = param_2;\n                pbVar6 = (byte *)"unwind-check=";\n                do {\n                  if (iVar3 == 0) break;\n                  iVar3 = iVar3 + -1;\n                  bVar9 = *pbVar4 < *pbVar6;\n                  bVar7 = *pbVar4 == *pbVar6;\n                  pbVar4 = pbVar4 + 1;\n                  pbVar6 = pbVar6 + 1;\n                } while (bVar7);\n                if ((!bVar9 && !bVar7) == bVar9) {\n                  iVar3 = strcmp((char *)(param_2 + 0xd),"warning");\n                  if (iVar3 == 0) {\n                    DAT_00087974 = 0;\n                    return true;\n                  }\n                  iVar3 = strcmp((char *)(param_2 + 0xd),"error");\n                  if (iVar3 == 0) {\n                    DAT_00087974 = 1;\n                    return true;\n                  }\n                  return false;\n                }\n                iVar3 = strncmp((char *)param_2,"hint.b=",7);\n                if (iVar3 != 0) {\n                  iVar3 = strncmp((char *)param_2,"tune=",5);\n                  if (iVar3 != 0) {\n                    return false;\n                  }\n                  iVar3 = strcmp((char *)(param_2 + 5),"itanium1");\n                  if (iVar3 != 0) {\n                    iVar3 = strcmp((char *)(param_2 + 5),"itanium2");\n                    if (iVar3 == 0) {\n                      DAT_00087968 = 1;\n                      return true;\n                    }\n                    return false;\n                  }\n                  DAT_00087968 = 0;\n                  return true;\n                }\n                param_2 = param_2 + 7;\n                iVar3 = strcmp((char *)param_2,"ok");\n                if (iVar3 == 0) {\n                  DAT_0008796c = 2;\n                  return true;\n                }\n                iVar3 = strcmp((char *)param_2,"warning");\n                if (iVar3 != 0) {\n                  iVar3 = strcmp((char *)param_2,"error");\n                  if (iVar3 == 0) {\n                    DAT_0008796c = 0;\n                    return true;\n                  }\n                  return false;\n                }\n                DAT_0008796c = 1;\n                return true;\n              }\n            }\n          }\n          DAT_00087d90 = DAT_00087d90 | 0x10;\n          return true;\n        }\n      }\n      else {\n        if (param_1 == 0x123) {\n          DAT_00087d90 = DAT_00087d90 | 0x40;\n          return true;\n        }\n        if (param_1 == 0x124) {\n          DAT_00087d90 = DAT_00087d90 | 0x80;\n          return true;\n        }\n      }\n      return false;\n    }\n    bVar7 = param_1 < 0x4e;\n    bVar9 = param_1 == 0x4e;\n    if (!bVar9) {\n      if (param_1 != 0x53) {\n        return param_1 == 0x43;\n      }\n      return true;\n    }\n    iVar3 = 3;\n    pbVar4 = param_2;\n    pbVar6 = &DAT_00063a25;\n    do {\n      if (iVar3 == 0) break;\n      iVar3 = iVar3 + -1;\n      bVar7 = *pbVar4 < *pbVar6;\n      bVar9 = *pbVar4 == *pbVar6;\n      pbVar4 = pbVar4 + 1;\n      pbVar6 = pbVar6 + 1;\n    } while (bVar9);\n    bVar8 = false;\n    bVar7 = (!bVar7 && !bVar9) == bVar7;\n    if (bVar7) {\n      return true;\n    }\n    iVar3 = 3;\n    pbVar4 = param_2;\n    pbVar6 = &DAT_00063a28;\n    do {\n      if (iVar3 == 0) break;\n      iVar3 = iVar3 + -1;\n      bVar8 = *pbVar4 < *pbVar6;\n      bVar7 = *pbVar4 == *pbVar6;\n      pbVar4 = pbVar4 + 1;\n      pbVar6 = pbVar6 + 1;\n    } while (bVar7);\n    bVar9 = false;\n    bVar8 = (!bVar8 && !bVar7) == bVar8;\n    if (bVar8) {\n      return true;\n    }\n    iVar3 = 3;\n    pbVar4 = param_2;\n    pbVar6 = (byte *)0x5f92c;\n    do {\n      if (iVar3 == 0) break;\n      iVar3 = iVar3 + -1;\n      bVar9 = *pbVar4 < *pbVar6;\n      bVar8 = *pbVar4 == *pbVar6;\n      pbVar4 = pbVar4 + 1;\n      pbVar6 = pbVar6 + 1;\n    } while (bVar8);\n    bVar7 = false;\n    bVar9 = (!bVar9 && !bVar8) == bVar9;\n    if (bVar9) {\n      return true;\n    }\n    iVar3 = 0xd;\n    pcVar5 = "close_fcalls";\n  }" else (compound_statement "{\n    if (0x61 < (int)param_1) {\n      if (param_1 == 0x78) {\n        bVar7 = false;\n        bVar9 = param_2 == (byte *)0x0;\n        if (!bVar9) {\n          iVar3 = 9;\n          pbVar4 = param_2;\n          pbVar6 = (byte *)"explicit";\n          do {\n            if (iVar3 == 0) break;\n            iVar3 = iVar3 + -1;\n            bVar7 = *pbVar4 < *pbVar6;\n            bVar9 = *pbVar4 == *pbVar6;\n            pbVar4 = pbVar4 + 1;\n            pbVar6 = pbVar6 + 1;\n          } while (bVar9);\n          bVar8 = false;\n          bVar7 = (!bVar7 && !bVar9) == bVar7;\n          if (!bVar7) {\n            iVar3 = 5;\n            pbVar4 = param_2;\n            pbVar6 = &DAT_00063a4b;\n            do {\n              if (iVar3 == 0) break;\n              iVar3 = iVar3 + -1;\n              bVar8 = *pbVar4 < *pbVar6;\n              bVar7 = *pbVar4 == *pbVar6;\n              pbVar4 = pbVar4 + 1;\n              pbVar6 = pbVar6 + 1;\n            } while (bVar7);\n            bVar9 = false;\n            bVar7 = (!bVar8 && !bVar7) == bVar8;\n            if (bVar7) {\n              DAT_00087970 = DAT_00087970 & 0xef | 4;\n              return true;\n            }\n            iVar3 = 5;\n            pbVar4 = param_2;\n            pbVar6 = &DAT_0005a335;\n            do {\n              if (iVar3 == 0) break;\n              iVar3 = iVar3 + -1;\n              bVar9 = *pbVar4 < *pbVar6;\n              bVar7 = *pbVar4 == *pbVar6;\n              pbVar4 = pbVar4 + 1;\n              pbVar6 = pbVar6 + 1;\n            } while (bVar7);\n            bVar8 = false;\n            bVar7 = (!bVar9 && !bVar7) == bVar9;\n            if (bVar7) {\n              DAT_00087970 = DAT_00087970 & 0xfb;\n              return true;\n            }\n            iVar3 = 6;\n            pcVar5 = " debug";\n            pbVar4 = param_2;\n            do {\n              pcVar5 = (char *)((byte *)pcVar5 + 1);\n              if (iVar3 == 0) break;\n              iVar3 = iVar3 + -1;\n              bVar8 = *pbVar4 < (byte)*pcVar5;\n              bVar7 = *pbVar4 == *pcVar5;\n              pbVar4 = pbVar4 + 1;\n            } while (bVar7);\n            bVar9 = false;\n            bVar7 = (!bVar8 && !bVar7) == bVar8;\n            if (bVar7) {\n              DAT_00087970 = DAT_00087970 | 6;\n              return true;\n            }\n            iVar3 = 7;\n            pbVar4 = param_2;\n            pbVar6 = (byte *)"debugx";\n            do {\n              if (iVar3 == 0) break;\n              iVar3 = iVar3 + -1;\n              bVar9 = *pbVar4 < *pbVar6;\n              bVar7 = *pbVar4 == *pbVar6;\n              pbVar4 = pbVar4 + 1;\n              pbVar6 = pbVar6 + 1;\n            } while (bVar7);\n            bVar8 = false;\n            bVar7 = (!bVar9 && !bVar7) == bVar9;\n            if (bVar7) {\n              DAT_00087970 = DAT_00087970 | 0x16;\n              return true;\n            }\n            iVar3 = 7;\n            pbVar4 = param_2;\n            pbVar6 = (byte *)"debugn";\n            do {\n              if (iVar3 == 0) break;\n              iVar3 = iVar3 + -1;\n              bVar8 = *pbVar4 < *pbVar6;\n              bVar7 = *pbVar4 == *pbVar6;\n              pbVar4 = pbVar4 + 1;\n              pbVar6 = pbVar6 + 1;\n            } while (bVar7);\n            cVar1 = (!bVar8 && !bVar7) - bVar8;\n            if (cVar1 != '\0') {\n              DAT_00087970 = DAT_00087970 | 4;\n              uVar2 = dcgettext(0,"Unrecognized option \'-x%s\'",5,cVar1);\n              FUN_00029550(uVar2,param_2);\n              return true;\n            }\n            DAT_00087970 = DAT_00087970 & 0xf9 | 2;\n            return true;\n          }\n        }\n        DAT_00087970 = DAT_00087970 | 0x14;\n        return true;\n      }\n      if ((int)param_1 < 0x79) {\n        bVar7 = param_1 < 0x6d;\n        bVar9 = param_1 == 0x6d;\n        if (bVar9) {\n          iVar3 = 6;\n          pbVar4 = param_2;\n          pbVar6 = &DAT_000639e8;\n          do {\n            if (iVar3 == 0) break;\n            iVar3 = iVar3 + -1;\n            bVar7 = *pbVar4 < *pbVar6;\n            bVar9 = *pbVar4 == *pbVar6;\n            pbVar4 = pbVar4 + 1;\n            pbVar6 = pbVar6 + 1;\n          } while (bVar9);\n          bVar8 = false;\n          bVar7 = (!bVar7 && !bVar9) == bVar7;\n          if (!bVar7) {\n            iVar3 = 5;\n            pbVar4 = param_2;\n            pbVar6 = &DAT_000639e9;\n            do {\n              if (iVar3 == 0) break;\n              iVar3 = iVar3 + -1;\n              bVar8 = *pbVar4 < *pbVar6;\n              bVar7 = *pbVar4 == *pbVar6;\n              pbVar4 = pbVar4 + 1;\n              pbVar6 = pbVar6 + 1;\n            } while (bVar7);\n            bVar9 = false;\n            bVar7 = (!bVar8 && !bVar7) == bVar8;\n            if (!bVar7) {\n              iVar3 = 4;\n              pbVar4 = param_2;\n              pbVar6 = &DAT_000639ea;\n              do {\n                if (iVar3 == 0) break;\n                iVar3 = iVar3 + -1;\n                bVar9 = *pbVar4 < *pbVar6;\n                bVar7 = *pbVar4 == *pbVar6;\n                pbVar4 = pbVar4 + 1;\n                pbVar6 = pbVar6 + 1;\n              } while (bVar7);\n              bVar8 = false;\n              bVar7 = (!bVar9 && !bVar7) == bVar9;\n              if (!bVar7) {\n                iVar3 = 6;\n                pbVar4 = param_2;\n                pbVar6 = (byte *)"ilp32";\n                do {\n                  if (iVar3 == 0) break;\n                  iVar3 = iVar3 + -1;\n                  bVar8 = *pbVar4 < *pbVar6;\n                  bVar7 = *pbVar4 == *pbVar6;\n                  pbVar4 = pbVar4 + 1;\n                  pbVar6 = pbVar6 + 1;\n                } while (bVar7);\n                bVar9 = false;\n                bVar7 = (!bVar8 && !bVar7) == bVar8;\n                if (bVar7) {\n                  DAT_00087d90 = DAT_00087d90 & 0xffffffef;\n                  return true;\n                }\n                iVar3 = 3;\n                pbVar4 = param_2;\n                pbVar6 = (byte *)0x5a287;\n                do {\n                  if (iVar3 == 0) break;\n                  iVar3 = iVar3 + -1;\n                  bVar9 = *pbVar4 < *pbVar6;\n                  bVar7 = *pbVar4 == *pbVar6;\n                  pbVar4 = pbVar4 + 1;\n                  pbVar6 = pbVar6 + 1;\n                } while (bVar7);\n                bVar8 = false;\n                bVar7 = (!bVar9 && !bVar7) == bVar9;\n                if (bVar7) {\n                  DAT_00087d90 = DAT_00087d90 & 0xfffffff7;\n                  DAT_00087dfc = 0;\n                  return true;\n                }\n                iVar3 = 3;\n                pbVar4 = param_2;\n                pbVar6 = &DAT_00063a90;\n                do {\n                  if (iVar3 == 0) break;\n                  iVar3 = iVar3 + -1;\n                  bVar8 = *pbVar4 < *pbVar6;\n                  bVar7 = *pbVar4 == *pbVar6;\n                  pbVar4 = pbVar4 + 1;\n                  pbVar6 = pbVar6 + 1;\n                } while (bVar7);\n                bVar9 = false;\n                bVar7 = (!bVar8 && !bVar7) == bVar8;\n                if (bVar7) {\n                  DAT_00087d90 = DAT_00087d90 | 8;\n                  DAT_00087dfc = 1;\n                  return true;\n                }\n                iVar3 = 0xd;\n                pbVar4 = param_2;\n                pbVar6 = (byte *)"unwind-check=";\n                do {\n                  if (iVar3 == 0) break;\n                  iVar3 = iVar3 + -1;\n                  bVar9 = *pbVar4 < *pbVar6;\n                  bVar7 = *pbVar4 == *pbVar6;\n                  pbVar4 = pbVar4 + 1;\n                  pbVar6 = pbVar6 + 1;\n                } while (bVar7);\n                if ((!bVar9 && !bVar7) == bVar9) {\n                  iVar3 = strcmp((char *)(param_2 + 0xd),"warning");\n                  if (iVar3 == 0) {\n                    DAT_00087974 = 0;\n                    return true;\n                  }\n                  iVar3 = strcmp((char *)(param_2 + 0xd),"error");\n                  if (iVar3 == 0) {\n                    DAT_00087974 = 1;\n                    return true;\n                  }\n                  return false;\n                }\n                iVar3 = strncmp((char *)param_2,"hint.b=",7);\n                if (iVar3 != 0) {\n                  iVar3 = strncmp((char *)param_2,"tune=",5);\n                  if (iVar3 != 0) {\n                    return false;\n                  }\n                  iVar3 = strcmp((char *)(param_2 + 5),"itanium1");\n                  if (iVar3 != 0) {\n                    iVar3 = strcmp((char *)(param_2 + 5),"itanium2");\n                    if (iVar3 == 0) {\n                      DAT_00087968 = 1;\n                      return true;\n                    }\n                    return false;\n                  }\n                  DAT_00087968 = 0;\n                  return true;\n                }\n                param_2 = param_2 + 7;\n                iVar3 = strcmp((char *)param_2,"ok");\n                if (iVar3 == 0) {\n                  DAT_0008796c = 2;\n                  return true;\n                }\n                iVar3 = strcmp((char *)param_2,"warning");\n                if (iVar3 != 0) {\n                  iVar3 = strcmp((char *)param_2,"error");\n                  if (iVar3 == 0) {\n                    DAT_0008796c = 0;\n                    return true;\n                  }\n                  return false;\n                }\n                DAT_0008796c = 1;\n                return true;\n              }\n            }\n          }\n          DAT_00087d90 = DAT_00087d90 | 0x10;\n          return true;\n        }\n      }\n      else {\n        if (param_1 == 0x123) {\n          DAT_00087d90 = DAT_00087d90 | 0x40;\n          return true;\n        }\n        if (param_1 == 0x124) {\n          DAT_00087d90 = DAT_00087d90 | 0x80;\n          return true;\n        }\n      }\n      return false;\n    }\n    bVar7 = param_1 < 0x4e;\n    bVar9 = param_1 == 0x4e;\n    if (!bVar9) {\n      if (param_1 != 0x53) {\n        return param_1 == 0x43;\n      }\n      return true;\n    }\n    iVar3 = 3;\n    pbVar4 = param_2;\n    pbVar6 = &DAT_00063a25;\n    do {\n      if (iVar3 == 0) break;\n      iVar3 = iVar3 + -1;\n      bVar7 = *pbVar4 < *pbVar6;\n      bVar9 = *pbVar4 == *pbVar6;\n      pbVar4 = pbVar4 + 1;\n      pbVar6 = pbVar6 + 1;\n    } while (bVar9);\n    bVar8 = false;\n    bVar7 = (!bVar7 && !bVar9) == bVar7;\n    if (bVar7) {\n      return true;\n    }\n    iVar3 = 3;\n    pbVar4 = param_2;\n    pbVar6 = &DAT_00063a28;\n    do {\n      if (iVar3 == 0) break;\n      iVar3 = iVar3 + -1;\n      bVar8 = *pbVar4 < *pbVar6;\n      bVar7 = *pbVar4 == *pbVar6;\n      pbVar4 = pbVar4 + 1;\n      pbVar6 = pbVar6 + 1;\n    } while (bVar7);\n    bVar9 = false;\n    bVar8 = (!bVar8 && !bVar7) == bVar8;\n    if (bVar8) {\n      return true;\n    }\n    iVar3 = 3;\n    pbVar4 = param_2;\n    pbVar6 = (byte *)0x5f92c;\n    do {\n      if (iVar3 == 0) break;\n      iVar3 = iVar3 + -1;\n      bVar9 = *pbVar4 < *pbVar6;\n      bVar8 = *pbVar4 == *pbVar6;\n      pbVar4 = pbVar4 + 1;\n      pbVar6 = pbVar6 + 1;\n    } while (bVar8);\n    bVar7 = false;\n    bVar9 = (!bVar9 && !bVar8) == bVar9;\n    if (bVar9) {\n      return true;\n    }\n    iVar3 = 0xd;\n    pcVar5 = "close_fcalls";\n  }" { (if_statement "if (0x61 < (int)param_1) {\n      if (param_1 == 0x78) {\n        bVar7 = false;\n        bVar9 = param_2 == (byte *)0x0;\n        if (!bVar9) {\n          iVar3 = 9;\n          pbVar4 = param_2;\n          pbVar6 = (byte *)"explicit";\n          do {\n            if (iVar3 == 0) break;\n            iVar3 = iVar3 + -1;\n            bVar7 = *pbVar4 < *pbVar6;\n            bVar9 = *pbVar4 == *pbVar6;\n            pbVar4 = pbVar4 + 1;\n            pbVar6 = pbVar6 + 1;\n          } while (bVar9);\n          bVar8 = false;\n          bVar7 = (!bVar7 && !bVar9) == bVar7;\n          if (!bVar7) {\n            iVar3 = 5;\n            pbVar4 = param_2;\n            pbVar6 = &DAT_00063a4b;\n            do {\n              if (iVar3 == 0) break;\n              iVar3 = iVar3 + -1;\n              bVar8 = *pbVar4 < *pbVar6;\n              bVar7 = *pbVar4 == *pbVar6;\n              pbVar4 = pbVar4 + 1;\n              pbVar6 = pbVar6 + 1;\n            } while (bVar7);\n            bVar9 = false;\n            bVar7 = (!bVar8 && !bVar7) == bVar8;\n            if (bVar7) {\n              DAT_00087970 = DAT_00087970 & 0xef | 4;\n              return true;\n            }\n            iVar3 = 5;\n            pbVar4 = param_2;\n            pbVar6 = &DAT_0005a335;\n            do {\n              if (iVar3 == 0) break;\n              iVar3 = iVar3 + -1;\n              bVar9 = *pbVar4 < *pbVar6;\n              bVar7 = *pbVar4 == *pbVar6;\n              pbVar4 = pbVar4 + 1;\n              pbVar6 = pbVar6 + 1;\n            } while (bVar7);\n            bVar8 = false;\n            bVar7 = (!bVar9 && !bVar7) == bVar9;\n            if (bVar7) {\n              DAT_00087970 = DAT_00087970 & 0xfb;\n              return true;\n            }\n            iVar3 = 6;\n            pcVar5 = " debug";\n            pbVar4 = param_2;\n            do {\n              pcVar5 = (char *)((byte *)pcVar5 + 1);\n              if (iVar3 == 0) break;\n              iVar3 = iVar3 + -1;\n              bVar8 = *pbVar4 < (byte)*pcVar5;\n              bVar7 = *pbVar4 == *pcVar5;\n              pbVar4 = pbVar4 + 1;\n            } while (bVar7);\n            bVar9 = false;\n            bVar7 = (!bVar8 && !bVar7) == bVar8;\n            if (bVar7) {\n              DAT_00087970 = DAT_00087970 | 6;\n              return true;\n            }\n            iVar3 = 7;\n            pbVar4 = param_2;\n            pbVar6 = (byte *)"debugx";\n            do {\n              if (iVar3 == 0) break;\n              iVar3 = iVar3 + -1;\n              bVar9 = *pbVar4 < *pbVar6;\n              bVar7 = *pbVar4 == *pbVar6;\n              pbVar4 = pbVar4 + 1;\n              pbVar6 = pbVar6 + 1;\n            } while (bVar7);\n            bVar8 = false;\n            bVar7 = (!bVar9 && !bVar7) == bVar9;\n            if (bVar7) {\n              DAT_00087970 = DAT_00087970 | 0x16;\n              return true;\n            }\n            iVar3 = 7;\n            pbVar4 = param_2;\n            pbVar6 = (byte *)"debugn";\n            do {\n              if (iVar3 == 0) break;\n              iVar3 = iVar3 + -1;\n              bVar8 = *pbVar4 < *pbVar6;\n              bVar7 = *pbVar4 == *pbVar6;\n              pbVar4 = pbVar4 + 1;\n              pbVar6 = pbVar6 + 1;\n            } while (bVar7);\n            cVar1 = (!bVar8 && !bVar7) - bVar8;\n            if (cVar1 != '\0') {\n              DAT_00087970 = DAT_00087970 | 4;\n              uVar2 = dcgettext(0,"Unrecognized option \'-x%s\'",5,cVar1);\n              FUN_00029550(uVar2,param_2);\n              return true;\n            }\n            DAT_00087970 = DAT_00087970 & 0xf9 | 2;\n            return true;\n          }\n        }\n        DAT_00087970 = DAT_00087970 | 0x14;\n        return true;\n      }\n      if ((int)param_1 < 0x79) {\n        bVar7 = param_1 < 0x6d;\n        bVar9 = param_1 == 0x6d;\n        if (bVar9) {\n          iVar3 = 6;\n          pbVar4 = param_2;\n          pbVar6 = &DAT_000639e8;\n          do {\n            if (iVar3 == 0) break;\n            iVar3 = iVar3 + -1;\n            bVar7 = *pbVar4 < *pbVar6;\n            bVar9 = *pbVar4 == *pbVar6;\n            pbVar4 = pbVar4 + 1;\n            pbVar6 = pbVar6 + 1;\n          } while (bVar9);\n          bVar8 = false;\n          bVar7 = (!bVar7 && !bVar9) == bVar7;\n          if (!bVar7) {\n            iVar3 = 5;\n            pbVar4 = param_2;\n            pbVar6 = &DAT_000639e9;\n            do {\n              if (iVar3 == 0) break;\n              iVar3 = iVar3 + -1;\n              bVar8 = *pbVar4 < *pbVar6;\n              bVar7 = *pbVar4 == *pbVar6;\n              pbVar4 = pbVar4 + 1;\n              pbVar6 = pbVar6 + 1;\n            } while (bVar7);\n            bVar9 = false;\n            bVar7 = (!bVar8 && !bVar7) == bVar8;\n            if (!bVar7) {\n              iVar3 = 4;\n              pbVar4 = param_2;\n              pbVar6 = &DAT_000639ea;\n              do {\n                if (iVar3 == 0) break;\n                iVar3 = iVar3 + -1;\n                bVar9 = *pbVar4 < *pbVar6;\n                bVar7 = *pbVar4 == *pbVar6;\n                pbVar4 = pbVar4 + 1;\n                pbVar6 = pbVar6 + 1;\n              } while (bVar7);\n              bVar8 = false;\n              bVar7 = (!bVar9 && !bVar7) == bVar9;\n              if (!bVar7) {\n                iVar3 = 6;\n                pbVar4 = param_2;\n                pbVar6 = (byte *)"ilp32";\n                do {\n                  if (iVar3 == 0) break;\n                  iVar3 = iVar3 + -1;\n                  bVar8 = *pbVar4 < *pbVar6;\n                  bVar7 = *pbVar4 == *pbVar6;\n                  pbVar4 = pbVar4 + 1;\n                  pbVar6 = pbVar6 + 1;\n                } while (bVar7);\n                bVar9 = false;\n                bVar7 = (!bVar8 && !bVar7) == bVar8;\n                if (bVar7) {\n                  DAT_00087d90 = DAT_00087d90 & 0xffffffef;\n                  return true;\n                }\n                iVar3 = 3;\n                pbVar4 = param_2;\n                pbVar6 = (byte *)0x5a287;\n                do {\n                  if (iVar3 == 0) break;\n                  iVar3 = iVar3 + -1;\n                  bVar9 = *pbVar4 < *pbVar6;\n                  bVar7 = *pbVar4 == *pbVar6;\n                  pbVar4 = pbVar4 + 1;\n                  pbVar6 = pbVar6 + 1;\n                } while (bVar7);\n                bVar8 = false;\n                bVar7 = (!bVar9 && !bVar7) == bVar9;\n                if (bVar7) {\n                  DAT_00087d90 = DAT_00087d90 & 0xfffffff7;\n                  DAT_00087dfc = 0;\n                  return true;\n                }\n                iVar3 = 3;\n                pbVar4 = param_2;\n                pbVar6 = &DAT_00063a90;\n                do {\n                  if (iVar3 == 0) break;\n                  iVar3 = iVar3 + -1;\n                  bVar8 = *pbVar4 < *pbVar6;\n                  bVar7 = *pbVar4 == *pbVar6;\n                  pbVar4 = pbVar4 + 1;\n                  pbVar6 = pbVar6 + 1;\n                } while (bVar7);\n                bVar9 = false;\n                bVar7 = (!bVar8 && !bVar7) == bVar8;\n                if (bVar7) {\n                  DAT_00087d90 = DAT_00087d90 | 8;\n                  DAT_00087dfc = 1;\n                  return true;\n                }\n                iVar3 = 0xd;\n                pbVar4 = param_2;\n                pbVar6 = (byte *)"unwind-check=";\n                do {\n                  if (iVar3 == 0) break;\n                  iVar3 = iVar3 + -1;\n                  bVar9 = *pbVar4 < *pbVar6;\n                  bVar7 = *pbVar4 == *pbVar6;\n                  pbVar4 = pbVar4 + 1;\n                  pbVar6 = pbVar6 + 1;\n                } while (bVar7);\n                if ((!bVar9 && !bVar7) == bVar9) {\n                  iVar3 = strcmp((char *)(param_2 + 0xd),"warning");\n                  if (iVar3 == 0) {\n                    DAT_00087974 = 0;\n                    return true;\n                  }\n                  iVar3 = strcmp((char *)(param_2 + 0xd),"error");\n                  if (iVar3 == 0) {\n                    DAT_00087974 = 1;\n                    return true;\n                  }\n                  return false;\n                }\n                iVar3 = strncmp((char *)param_2,"hint.b=",7);\n                if (iVar3 != 0) {\n                  iVar3 = strncmp((char *)param_2,"tune=",5);\n                  if (iVar3 != 0) {\n                    return false;\n                  }\n                  iVar3 = strcmp((char *)(param_2 + 5),"itanium1");\n                  if (iVar3 != 0) {\n                    iVar3 = strcmp((char *)(param_2 + 5),"itanium2");\n                    if (iVar3 == 0) {\n                      DAT_00087968 = 1;\n                      return true;\n                    }\n                    return false;\n                  }\n                  DAT_00087968 = 0;\n                  return true;\n                }\n                param_2 = param_2 + 7;\n                iVar3 = strcmp((char *)param_2,"ok");\n                if (iVar3 == 0) {\n                  DAT_0008796c = 2;\n                  return true;\n                }\n                iVar3 = strcmp((char *)param_2,"warning");\n                if (iVar3 != 0) {\n                  iVar3 = strcmp((char *)param_2,"error");\n                  if (iVar3 == 0) {\n                    DAT_0008796c = 0;\n                    return true;\n                  }\n                  return false;\n                }\n                DAT_0008796c = 1;\n                return true;\n              }\n            }\n          }\n          DAT_00087d90 = DAT_00087d90 | 0x10;\n          return true;\n        }\n      }\n      else {\n        if (param_1 == 0x123) {\n          DAT_00087d90 = DAT_00087d90 | 0x40;\n          return true;\n        }\n        if (param_1 == 0x124) {\n          DAT_00087d90 = DAT_00087d90 | 0x80;\n          return true;\n        }\n      }\n      return false;\n    }" if (parenthesized_expression "(0x61 < (int)param_1)" ( (binary_expression "0x61 < (int)param_1" number_literal < (cast_expression "(int)param_1" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n      if (param_1 == 0x78) {\n        bVar7 = false;\n        bVar9 = param_2 == (byte *)0x0;\n        if (!bVar9) {\n          iVar3 = 9;\n          pbVar4 = param_2;\n          pbVar6 = (byte *)"explicit";\n          do {\n            if (iVar3 == 0) break;\n            iVar3 = iVar3 + -1;\n            bVar7 = *pbVar4 < *pbVar6;\n            bVar9 = *pbVar4 == *pbVar6;\n            pbVar4 = pbVar4 + 1;\n            pbVar6 = pbVar6 + 1;\n          } while (bVar9);\n          bVar8 = false;\n          bVar7 = (!bVar7 && !bVar9) == bVar7;\n          if (!bVar7) {\n            iVar3 = 5;\n            pbVar4 = param_2;\n            pbVar6 = &DAT_00063a4b;\n            do {\n              if (iVar3 == 0) break;\n              iVar3 = iVar3 + -1;\n              bVar8 = *pbVar4 < *pbVar6;\n              bVar7 = *pbVar4 == *pbVar6;\n              pbVar4 = pbVar4 + 1;\n              pbVar6 = pbVar6 + 1;\n            } while (bVar7);\n            bVar9 = false;\n            bVar7 = (!bVar8 && !bVar7) == bVar8;\n            if (bVar7) {\n              DAT_00087970 = DAT_00087970 & 0xef | 4;\n              return true;\n            }\n            iVar3 = 5;\n            pbVar4 = param_2;\n            pbVar6 = &DAT_0005a335;\n            do {\n              if (iVar3 == 0) break;\n              iVar3 = iVar3 + -1;\n              bVar9 = *pbVar4 < *pbVar6;\n              bVar7 = *pbVar4 == *pbVar6;\n              pbVar4 = pbVar4 + 1;\n              pbVar6 = pbVar6 + 1;\n            } while (bVar7);\n            bVar8 = false;\n            bVar7 = (!bVar9 && !bVar7) == bVar9;\n            if (bVar7) {\n              DAT_00087970 = DAT_00087970 & 0xfb;\n              return true;\n            }\n            iVar3 = 6;\n            pcVar5 = " debug";\n            pbVar4 = param_2;\n            do {\n              pcVar5 = (char *)((byte *)pcVar5 + 1);\n              if (iVar3 == 0) break;\n              iVar3 = iVar3 + -1;\n              bVar8 = *pbVar4 < (byte)*pcVar5;\n              bVar7 = *pbVar4 == *pcVar5;\n              pbVar4 = pbVar4 + 1;\n            } while (bVar7);\n            bVar9 = false;\n            bVar7 = (!bVar8 && !bVar7) == bVar8;\n            if (bVar7) {\n              DAT_00087970 = DAT_00087970 | 6;\n              return true;\n            }\n            iVar3 = 7;\n            pbVar4 = param_2;\n            pbVar6 = (byte *)"debugx";\n            do {\n              if (iVar3 == 0) break;\n              iVar3 = iVar3 + -1;\n              bVar9 = *pbVar4 < *pbVar6;\n              bVar7 = *pbVar4 == *pbVar6;\n              pbVar4 = pbVar4 + 1;\n              pbVar6 = pbVar6 + 1;\n            } while (bVar7);\n            bVar8 = false;\n            bVar7 = (!bVar9 && !bVar7) == bVar9;\n            if (bVar7) {\n              DAT_00087970 = DAT_00087970 | 0x16;\n              return true;\n            }\n            iVar3 = 7;\n            pbVar4 = param_2;\n            pbVar6 = (byte *)"debugn";\n            do {\n              if (iVar3 == 0) break;\n              iVar3 = iVar3 + -1;\n              bVar8 = *pbVar4 < *pbVar6;\n              bVar7 = *pbVar4 == *pbVar6;\n              pbVar4 = pbVar4 + 1;\n              pbVar6 = pbVar6 + 1;\n            } while (bVar7);\n            cVar1 = (!bVar8 && !bVar7) - bVar8;\n            if (cVar1 != '\0') {\n              DAT_00087970 = DAT_00087970 | 4;\n              uVar2 = dcgettext(0,"Unrecognized option \'-x%s\'",5,cVar1);\n              FUN_00029550(uVar2,param_2);\n              return true;\n            }\n            DAT_00087970 = DAT_00087970 & 0xf9 | 2;\n            return true;\n          }\n        }\n        DAT_00087970 = DAT_00087970 | 0x14;\n        return true;\n      }\n      if ((int)param_1 < 0x79) {\n        bVar7 = param_1 < 0x6d;\n        bVar9 = param_1 == 0x6d;\n        if (bVar9) {\n          iVar3 = 6;\n          pbVar4 = param_2;\n          pbVar6 = &DAT_000639e8;\n          do {\n            if (iVar3 == 0) break;\n            iVar3 = iVar3 + -1;\n            bVar7 = *pbVar4 < *pbVar6;\n            bVar9 = *pbVar4 == *pbVar6;\n            pbVar4 = pbVar4 + 1;\n            pbVar6 = pbVar6 + 1;\n          } while (bVar9);\n          bVar8 = false;\n          bVar7 = (!bVar7 && !bVar9) == bVar7;\n          if (!bVar7) {\n            iVar3 = 5;\n            pbVar4 = param_2;\n            pbVar6 = &DAT_000639e9;\n            do {\n              if (iVar3 == 0) break;\n              iVar3 = iVar3 + -1;\n              bVar8 = *pbVar4 < *pbVar6;\n              bVar7 = *pbVar4 == *pbVar6;\n              pbVar4 = pbVar4 + 1;\n              pbVar6 = pbVar6 + 1;\n            } while (bVar7);\n            bVar9 = false;\n            bVar7 = (!bVar8 && !bVar7) == bVar8;\n            if (!bVar7) {\n              iVar3 = 4;\n              pbVar4 = param_2;\n              pbVar6 = &DAT_000639ea;\n              do {\n                if (iVar3 == 0) break;\n                iVar3 = iVar3 + -1;\n                bVar9 = *pbVar4 < *pbVar6;\n                bVar7 = *pbVar4 == *pbVar6;\n                pbVar4 = pbVar4 + 1;\n                pbVar6 = pbVar6 + 1;\n              } while (bVar7);\n              bVar8 = false;\n              bVar7 = (!bVar9 && !bVar7) == bVar9;\n              if (!bVar7) {\n                iVar3 = 6;\n                pbVar4 = param_2;\n                pbVar6 = (byte *)"ilp32";\n                do {\n                  if (iVar3 == 0) break;\n                  iVar3 = iVar3 + -1;\n                  bVar8 = *pbVar4 < *pbVar6;\n                  bVar7 = *pbVar4 == *pbVar6;\n                  pbVar4 = pbVar4 + 1;\n                  pbVar6 = pbVar6 + 1;\n                } while (bVar7);\n                bVar9 = false;\n                bVar7 = (!bVar8 && !bVar7) == bVar8;\n                if (bVar7) {\n                  DAT_00087d90 = DAT_00087d90 & 0xffffffef;\n                  return true;\n                }\n                iVar3 = 3;\n                pbVar4 = param_2;\n                pbVar6 = (byte *)0x5a287;\n                do {\n                  if (iVar3 == 0) break;\n                  iVar3 = iVar3 + -1;\n                  bVar9 = *pbVar4 < *pbVar6;\n                  bVar7 = *pbVar4 == *pbVar6;\n                  pbVar4 = pbVar4 + 1;\n                  pbVar6 = pbVar6 + 1;\n                } while (bVar7);\n                bVar8 = false;\n                bVar7 = (!bVar9 && !bVar7) == bVar9;\n                if (bVar7) {\n                  DAT_00087d90 = DAT_00087d90 & 0xfffffff7;\n                  DAT_00087dfc = 0;\n                  return true;\n                }\n                iVar3 = 3;\n                pbVar4 = param_2;\n                pbVar6 = &DAT_00063a90;\n                do {\n                  if (iVar3 == 0) break;\n                  iVar3 = iVar3 + -1;\n                  bVar8 = *pbVar4 < *pbVar6;\n                  bVar7 = *pbVar4 == *pbVar6;\n                  pbVar4 = pbVar4 + 1;\n                  pbVar6 = pbVar6 + 1;\n                } while (bVar7);\n                bVar9 = false;\n                bVar7 = (!bVar8 && !bVar7) == bVar8;\n                if (bVar7) {\n                  DAT_00087d90 = DAT_00087d90 | 8;\n                  DAT_00087dfc = 1;\n                  return true;\n                }\n                iVar3 = 0xd;\n                pbVar4 = param_2;\n                pbVar6 = (byte *)"unwind-check=";\n                do {\n                  if (iVar3 == 0) break;\n                  iVar3 = iVar3 + -1;\n                  bVar9 = *pbVar4 < *pbVar6;\n                  bVar7 = *pbVar4 == *pbVar6;\n                  pbVar4 = pbVar4 + 1;\n                  pbVar6 = pbVar6 + 1;\n                } while (bVar7);\n                if ((!bVar9 && !bVar7) == bVar9) {\n                  iVar3 = strcmp((char *)(param_2 + 0xd),"warning");\n                  if (iVar3 == 0) {\n                    DAT_00087974 = 0;\n                    return true;\n                  }\n                  iVar3 = strcmp((char *)(param_2 + 0xd),"error");\n                  if (iVar3 == 0) {\n                    DAT_00087974 = 1;\n                    return true;\n                  }\n                  return false;\n                }\n                iVar3 = strncmp((char *)param_2,"hint.b=",7);\n                if (iVar3 != 0) {\n                  iVar3 = strncmp((char *)param_2,"tune=",5);\n                  if (iVar3 != 0) {\n                    return false;\n                  }\n                  iVar3 = strcmp((char *)(param_2 + 5),"itanium1");\n                  if (iVar3 != 0) {\n                    iVar3 = strcmp((char *)(param_2 + 5),"itanium2");\n                    if (iVar3 == 0) {\n                      DAT_00087968 = 1;\n                      return true;\n                    }\n                    return false;\n                  }\n                  DAT_00087968 = 0;\n                  return true;\n                }\n                param_2 = param_2 + 7;\n                iVar3 = strcmp((char *)param_2,"ok");\n                if (iVar3 == 0) {\n                  DAT_0008796c = 2;\n                  return true;\n                }\n                iVar3 = strcmp((char *)param_2,"warning");\n                if (iVar3 != 0) {\n                  iVar3 = strcmp((char *)param_2,"error");\n                  if (iVar3 == 0) {\n                    DAT_0008796c = 0;\n                    return true;\n                  }\n                  return false;\n                }\n                DAT_0008796c = 1;\n                return true;\n              }\n            }\n          }\n          DAT_00087d90 = DAT_00087d90 | 0x10;\n          return true;\n        }\n      }\n      else {\n        if (param_1 == 0x123) {\n          DAT_00087d90 = DAT_00087d90 | 0x40;\n          return true;\n        }\n        if (param_1 == 0x124) {\n          DAT_00087d90 = DAT_00087d90 | 0x80;\n          return true;\n        }\n      }\n      return false;\n    }" { (if_statement "if (param_1 == 0x78) {\n        bVar7 = false;\n        bVar9 = param_2 == (byte *)0x0;\n        if (!bVar9) {\n          iVar3 = 9;\n          pbVar4 = param_2;\n          pbVar6 = (byte *)"explicit";\n          do {\n            if (iVar3 == 0) break;\n            iVar3 = iVar3 + -1;\n            bVar7 = *pbVar4 < *pbVar6;\n            bVar9 = *pbVar4 == *pbVar6;\n            pbVar4 = pbVar4 + 1;\n            pbVar6 = pbVar6 + 1;\n          } while (bVar9);\n          bVar8 = false;\n          bVar7 = (!bVar7 && !bVar9) == bVar7;\n          if (!bVar7) {\n            iVar3 = 5;\n            pbVar4 = param_2;\n            pbVar6 = &DAT_00063a4b;\n            do {\n              if (iVar3 == 0) break;\n              iVar3 = iVar3 + -1;\n              bVar8 = *pbVar4 < *pbVar6;\n              bVar7 = *pbVar4 == *pbVar6;\n              pbVar4 = pbVar4 + 1;\n              pbVar6 = pbVar6 + 1;\n            } while (bVar7);\n            bVar9 = false;\n            bVar7 = (!bVar8 && !bVar7) == bVar8;\n            if (bVar7) {\n              DAT_00087970 = DAT_00087970 & 0xef | 4;\n              return true;\n            }\n            iVar3 = 5;\n            pbVar4 = param_2;\n            pbVar6 = &DAT_0005a335;\n            do {\n              if (iVar3 == 0) break;\n              iVar3 = iVar3 + -1;\n              bVar9 = *pbVar4 < *pbVar6;\n              bVar7 = *pbVar4 == *pbVar6;\n              pbVar4 = pbVar4 + 1;\n              pbVar6 = pbVar6 + 1;\n            } while (bVar7);\n            bVar8 = false;\n            bVar7 = (!bVar9 && !bVar7) == bVar9;\n            if (bVar7) {\n              DAT_00087970 = DAT_00087970 & 0xfb;\n              return true;\n            }\n            iVar3 = 6;\n            pcVar5 = " debug";\n            pbVar4 = param_2;\n            do {\n              pcVar5 = (char *)((byte *)pcVar5 + 1);\n              if (iVar3 == 0) break;\n              iVar3 = iVar3 + -1;\n              bVar8 = *pbVar4 < (byte)*pcVar5;\n              bVar7 = *pbVar4 == *pcVar5;\n              pbVar4 = pbVar4 + 1;\n            } while (bVar7);\n            bVar9 = false;\n            bVar7 = (!bVar8 && !bVar7) == bVar8;\n            if (bVar7) {\n              DAT_00087970 = DAT_00087970 | 6;\n              return true;\n            }\n            iVar3 = 7;\n            pbVar4 = param_2;\n            pbVar6 = (byte *)"debugx";\n            do {\n              if (iVar3 == 0) break;\n              iVar3 = iVar3 + -1;\n              bVar9 = *pbVar4 < *pbVar6;\n              bVar7 = *pbVar4 == *pbVar6;\n              pbVar4 = pbVar4 + 1;\n              pbVar6 = pbVar6 + 1;\n            } while (bVar7);\n            bVar8 = false;\n            bVar7 = (!bVar9 && !bVar7) == bVar9;\n            if (bVar7) {\n              DAT_00087970 = DAT_00087970 | 0x16;\n              return true;\n            }\n            iVar3 = 7;\n            pbVar4 = param_2;\n            pbVar6 = (byte *)"debugn";\n            do {\n              if (iVar3 == 0) break;\n              iVar3 = iVar3 + -1;\n              bVar8 = *pbVar4 < *pbVar6;\n              bVar7 = *pbVar4 == *pbVar6;\n              pbVar4 = pbVar4 + 1;\n              pbVar6 = pbVar6 + 1;\n            } while (bVar7);\n            cVar1 = (!bVar8 && !bVar7) - bVar8;\n            if (cVar1 != '\0') {\n              DAT_00087970 = DAT_00087970 | 4;\n              uVar2 = dcgettext(0,"Unrecognized option \'-x%s\'",5,cVar1);\n              FUN_00029550(uVar2,param_2);\n              return true;\n            }\n            DAT_00087970 = DAT_00087970 & 0xf9 | 2;\n            return true;\n          }\n        }\n        DAT_00087970 = DAT_00087970 | 0x14;\n        return true;\n      }" if (parenthesized_expression "(param_1 == 0x78)" ( (binary_expression "param_1 == 0x78" identifier == number_literal) )) (compound_statement "{\n        bVar7 = false;\n        bVar9 = param_2 == (byte *)0x0;\n        if (!bVar9) {\n          iVar3 = 9;\n          pbVar4 = param_2;\n          pbVar6 = (byte *)"explicit";\n          do {\n            if (iVar3 == 0) break;\n            iVar3 = iVar3 + -1;\n            bVar7 = *pbVar4 < *pbVar6;\n            bVar9 = *pbVar4 == *pbVar6;\n            pbVar4 = pbVar4 + 1;\n            pbVar6 = pbVar6 + 1;\n          } while (bVar9);\n          bVar8 = false;\n          bVar7 = (!bVar7 && !bVar9) == bVar7;\n          if (!bVar7) {\n            iVar3 = 5;\n            pbVar4 = param_2;\n            pbVar6 = &DAT_00063a4b;\n            do {\n              if (iVar3 == 0) break;\n              iVar3 = iVar3 + -1;\n              bVar8 = *pbVar4 < *pbVar6;\n              bVar7 = *pbVar4 == *pbVar6;\n              pbVar4 = pbVar4 + 1;\n              pbVar6 = pbVar6 + 1;\n            } while (bVar7);\n            bVar9 = false;\n            bVar7 = (!bVar8 && !bVar7) == bVar8;\n            if (bVar7) {\n              DAT_00087970 = DAT_00087970 & 0xef | 4;\n              return true;\n            }\n            iVar3 = 5;\n            pbVar4 = param_2;\n            pbVar6 = &DAT_0005a335;\n            do {\n              if (iVar3 == 0) break;\n              iVar3 = iVar3 + -1;\n              bVar9 = *pbVar4 < *pbVar6;\n              bVar7 = *pbVar4 == *pbVar6;\n              pbVar4 = pbVar4 + 1;\n              pbVar6 = pbVar6 + 1;\n            } while (bVar7);\n            bVar8 = false;\n            bVar7 = (!bVar9 && !bVar7) == bVar9;\n            if (bVar7) {\n              DAT_00087970 = DAT_00087970 & 0xfb;\n              return true;\n            }\n            iVar3 = 6;\n            pcVar5 = " debug";\n            pbVar4 = param_2;\n            do {\n              pcVar5 = (char *)((byte *)pcVar5 + 1);\n              if (iVar3 == 0) break;\n              iVar3 = iVar3 + -1;\n              bVar8 = *pbVar4 < (byte)*pcVar5;\n              bVar7 = *pbVar4 == *pcVar5;\n              pbVar4 = pbVar4 + 1;\n            } while (bVar7);\n            bVar9 = false;\n            bVar7 = (!bVar8 && !bVar7) == bVar8;\n            if (bVar7) {\n              DAT_00087970 = DAT_00087970 | 6;\n              return true;\n            }\n            iVar3 = 7;\n            pbVar4 = param_2;\n            pbVar6 = (byte *)"debugx";\n            do {\n              if (iVar3 == 0) break;\n              iVar3 = iVar3 + -1;\n              bVar9 = *pbVar4 < *pbVar6;\n              bVar7 = *pbVar4 == *pbVar6;\n              pbVar4 = pbVar4 + 1;\n              pbVar6 = pbVar6 + 1;\n            } while (bVar7);\n            bVar8 = false;\n            bVar7 = (!bVar9 && !bVar7) == bVar9;\n            if (bVar7) {\n              DAT_00087970 = DAT_00087970 | 0x16;\n              return true;\n            }\n            iVar3 = 7;\n            pbVar4 = param_2;\n            pbVar6 = (byte *)"debugn";\n            do {\n              if (iVar3 == 0) break;\n              iVar3 = iVar3 + -1;\n              bVar8 = *pbVar4 < *pbVar6;\n              bVar7 = *pbVar4 == *pbVar6;\n              pbVar4 = pbVar4 + 1;\n              pbVar6 = pbVar6 + 1;\n            } while (bVar7);\n            cVar1 = (!bVar8 && !bVar7) - bVar8;\n            if (cVar1 != '\0') {\n              DAT_00087970 = DAT_00087970 | 4;\n              uVar2 = dcgettext(0,"Unrecognized option \'-x%s\'",5,cVar1);\n              FUN_00029550(uVar2,param_2);\n              return true;\n            }\n            DAT_00087970 = DAT_00087970 & 0xf9 | 2;\n            return true;\n          }\n        }\n        DAT_00087970 = DAT_00087970 | 0x14;\n        return true;\n      }" { (expression_statement "bVar7 = false;" (assignment_expression "bVar7 = false" identifier = false) ;) (expression_statement "bVar9 = param_2 == (byte *)0x0;" (assignment_expression "bVar9 = param_2 == (byte *)0x0" identifier = (binary_expression "param_2 == (byte *)0x0" identifier == (cast_expression "(byte *)0x0" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal))) ;) (if_statement "if (!bVar9) {\n          iVar3 = 9;\n          pbVar4 = param_2;\n          pbVar6 = (byte *)"explicit";\n          do {\n            if (iVar3 == 0) break;\n            iVar3 = iVar3 + -1;\n            bVar7 = *pbVar4 < *pbVar6;\n            bVar9 = *pbVar4 == *pbVar6;\n            pbVar4 = pbVar4 + 1;\n            pbVar6 = pbVar6 + 1;\n          } while (bVar9);\n          bVar8 = false;\n          bVar7 = (!bVar7 && !bVar9) == bVar7;\n          if (!bVar7) {\n            iVar3 = 5;\n            pbVar4 = param_2;\n            pbVar6 = &DAT_00063a4b;\n            do {\n              if (iVar3 == 0) break;\n              iVar3 = iVar3 + -1;\n              bVar8 = *pbVar4 < *pbVar6;\n              bVar7 = *pbVar4 == *pbVar6;\n              pbVar4 = pbVar4 + 1;\n              pbVar6 = pbVar6 + 1;\n            } while (bVar7);\n            bVar9 = false;\n            bVar7 = (!bVar8 && !bVar7) == bVar8;\n            if (bVar7) {\n              DAT_00087970 = DAT_00087970 & 0xef | 4;\n              return true;\n            }\n            iVar3 = 5;\n            pbVar4 = param_2;\n            pbVar6 = &DAT_0005a335;\n            do {\n              if (iVar3 == 0) break;\n              iVar3 = iVar3 + -1;\n              bVar9 = *pbVar4 < *pbVar6;\n              bVar7 = *pbVar4 == *pbVar6;\n              pbVar4 = pbVar4 + 1;\n              pbVar6 = pbVar6 + 1;\n            } while (bVar7);\n            bVar8 = false;\n            bVar7 = (!bVar9 && !bVar7) == bVar9;\n            if (bVar7) {\n              DAT_00087970 = DAT_00087970 & 0xfb;\n              return true;\n            }\n            iVar3 = 6;\n            pcVar5 = " debug";\n            pbVar4 = param_2;\n            do {\n              pcVar5 = (char *)((byte *)pcVar5 + 1);\n              if (iVar3 == 0) break;\n              iVar3 = iVar3 + -1;\n              bVar8 = *pbVar4 < (byte)*pcVar5;\n              bVar7 = *pbVar4 == *pcVar5;\n              pbVar4 = pbVar4 + 1;\n            } while (bVar7);\n            bVar9 = false;\n            bVar7 = (!bVar8 && !bVar7) == bVar8;\n            if (bVar7) {\n              DAT_00087970 = DAT_00087970 | 6;\n              return true;\n            }\n            iVar3 = 7;\n            pbVar4 = param_2;\n            pbVar6 = (byte *)"debugx";\n            do {\n              if (iVar3 == 0) break;\n              iVar3 = iVar3 + -1;\n              bVar9 = *pbVar4 < *pbVar6;\n              bVar7 = *pbVar4 == *pbVar6;\n              pbVar4 = pbVar4 + 1;\n              pbVar6 = pbVar6 + 1;\n            } while (bVar7);\n            bVar8 = false;\n            bVar7 = (!bVar9 && !bVar7) == bVar9;\n            if (bVar7) {\n              DAT_00087970 = DAT_00087970 | 0x16;\n              return true;\n            }\n            iVar3 = 7;\n            pbVar4 = param_2;\n            pbVar6 = (byte *)"debugn";\n            do {\n              if (iVar3 == 0) break;\n              iVar3 = iVar3 + -1;\n              bVar8 = *pbVar4 < *pbVar6;\n              bVar7 = *pbVar4 == *pbVar6;\n              pbVar4 = pbVar4 + 1;\n              pbVar6 = pbVar6 + 1;\n            } while (bVar7);\n            cVar1 = (!bVar8 && !bVar7) - bVar8;\n            if (cVar1 != '\0') {\n              DAT_00087970 = DAT_00087970 | 4;\n              uVar2 = dcgettext(0,"Unrecognized option \'-x%s\'",5,cVar1);\n              FUN_00029550(uVar2,param_2);\n              return true;\n            }\n            DAT_00087970 = DAT_00087970 & 0xf9 | 2;\n            return true;\n          }\n        }" if (parenthesized_expression "(!bVar9)" ( (unary_expression "!bVar9" ! identifier) )) (compound_statement "{\n          iVar3 = 9;\n          pbVar4 = param_2;\n          pbVar6 = (byte *)"explicit";\n          do {\n            if (iVar3 == 0) break;\n            iVar3 = iVar3 + -1;\n            bVar7 = *pbVar4 < *pbVar6;\n            bVar9 = *pbVar4 == *pbVar6;\n            pbVar4 = pbVar4 + 1;\n            pbVar6 = pbVar6 + 1;\n          } while (bVar9);\n          bVar8 = false;\n          bVar7 = (!bVar7 && !bVar9) == bVar7;\n          if (!bVar7) {\n            iVar3 = 5;\n            pbVar4 = param_2;\n            pbVar6 = &DAT_00063a4b;\n            do {\n              if (iVar3 == 0) break;\n              iVar3 = iVar3 + -1;\n              bVar8 = *pbVar4 < *pbVar6;\n              bVar7 = *pbVar4 == *pbVar6;\n              pbVar4 = pbVar4 + 1;\n              pbVar6 = pbVar6 + 1;\n            } while (bVar7);\n            bVar9 = false;\n            bVar7 = (!bVar8 && !bVar7) == bVar8;\n            if (bVar7) {\n              DAT_00087970 = DAT_00087970 & 0xef | 4;\n              return true;\n            }\n            iVar3 = 5;\n            pbVar4 = param_2;\n            pbVar6 = &DAT_0005a335;\n            do {\n              if (iVar3 == 0) break;\n              iVar3 = iVar3 + -1;\n              bVar9 = *pbVar4 < *pbVar6;\n              bVar7 = *pbVar4 == *pbVar6;\n              pbVar4 = pbVar4 + 1;\n              pbVar6 = pbVar6 + 1;\n            } while (bVar7);\n            bVar8 = false;\n            bVar7 = (!bVar9 && !bVar7) == bVar9;\n            if (bVar7) {\n              DAT_00087970 = DAT_00087970 & 0xfb;\n              return true;\n            }\n            iVar3 = 6;\n            pcVar5 = " debug";\n            pbVar4 = param_2;\n            do {\n              pcVar5 = (char *)((byte *)pcVar5 + 1);\n              if (iVar3 == 0) break;\n              iVar3 = iVar3 + -1;\n              bVar8 = *pbVar4 < (byte)*pcVar5;\n              bVar7 = *pbVar4 == *pcVar5;\n              pbVar4 = pbVar4 + 1;\n            } while (bVar7);\n            bVar9 = false;\n            bVar7 = (!bVar8 && !bVar7) == bVar8;\n            if (bVar7) {\n              DAT_00087970 = DAT_00087970 | 6;\n              return true;\n            }\n            iVar3 = 7;\n            pbVar4 = param_2;\n            pbVar6 = (byte *)"debugx";\n            do {\n              if (iVar3 == 0) break;\n              iVar3 = iVar3 + -1;\n              bVar9 = *pbVar4 < *pbVar6;\n              bVar7 = *pbVar4 == *pbVar6;\n              pbVar4 = pbVar4 + 1;\n              pbVar6 = pbVar6 + 1;\n            } while (bVar7);\n            bVar8 = false;\n            bVar7 = (!bVar9 && !bVar7) == bVar9;\n            if (bVar7) {\n              DAT_00087970 = DAT_00087970 | 0x16;\n              return true;\n            }\n            iVar3 = 7;\n            pbVar4 = param_2;\n            pbVar6 = (byte *)"debugn";\n            do {\n              if (iVar3 == 0) break;\n              iVar3 = iVar3 + -1;\n              bVar8 = *pbVar4 < *pbVar6;\n              bVar7 = *pbVar4 == *pbVar6;\n              pbVar4 = pbVar4 + 1;\n              pbVar6 = pbVar6 + 1;\n            } while (bVar7);\n            cVar1 = (!bVar8 && !bVar7) - bVar8;\n            if (cVar1 != '\0') {\n              DAT_00087970 = DAT_00087970 | 4;\n              uVar2 = dcgettext(0,"Unrecognized option \'-x%s\'",5,cVar1);\n              FUN_00029550(uVar2,param_2);\n              return true;\n            }\n            DAT_00087970 = DAT_00087970 & 0xf9 | 2;\n            return true;\n          }\n        }" { (expression_statement "iVar3 = 9;" (assignment_expression "iVar3 = 9" identifier = number_literal) ;) (expression_statement "pbVar4 = param_2;" (assignment_expression "pbVar4 = param_2" identifier = identifier) ;) (expression_statement "pbVar6 = (byte *)"explicit";" (assignment_expression "pbVar6 = (byte *)"explicit"" identifier = (cast_expression "(byte *)"explicit"" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (string_literal ""explicit"" " string_content "))) ;) (do_statement "do {\n            if (iVar3 == 0) break;\n            iVar3 = iVar3 + -1;\n            bVar7 = *pbVar4 < *pbVar6;\n            bVar9 = *pbVar4 == *pbVar6;\n            pbVar4 = pbVar4 + 1;\n            pbVar6 = pbVar6 + 1;\n          } while (bVar9);" do (compound_statement "{\n            if (iVar3 == 0) break;\n            iVar3 = iVar3 + -1;\n            bVar7 = *pbVar4 < *pbVar6;\n            bVar9 = *pbVar4 == *pbVar6;\n            pbVar4 = pbVar4 + 1;\n            pbVar6 = pbVar6 + 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 "bVar7 = *pbVar4 < *pbVar6;" (assignment_expression "bVar7 = *pbVar4 < *pbVar6" identifier = (binary_expression "*pbVar4 < *pbVar6" (pointer_expression "*pbVar4" * identifier) < (pointer_expression "*pbVar6" * identifier))) ;) (expression_statement "bVar9 = *pbVar4 == *pbVar6;" (assignment_expression "bVar9 = *pbVar4 == *pbVar6" identifier = (binary_expression "*pbVar4 == *pbVar6" (pointer_expression "*pbVar4" * identifier) == (pointer_expression "*pbVar6" * identifier))) ;) (expression_statement "pbVar4 = pbVar4 + 1;" (assignment_expression "pbVar4 = pbVar4 + 1" identifier = (binary_expression "pbVar4 + 1" identifier + number_literal)) ;) (expression_statement "pbVar6 = pbVar6 + 1;" (assignment_expression "pbVar6 = pbVar6 + 1" identifier = (binary_expression "pbVar6 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(bVar9)" ( identifier )) ;) (expression_statement "bVar8 = false;" (assignment_expression "bVar8 = false" identifier = false) ;) (expression_statement "bVar7 = (!bVar7 && !bVar9) == bVar7;" (assignment_expression "bVar7 = (!bVar7 && !bVar9) == bVar7" identifier = (binary_expression "(!bVar7 && !bVar9) == bVar7" (parenthesized_expression "(!bVar7 && !bVar9)" ( (binary_expression "!bVar7 && !bVar9" (unary_expression "!bVar7" ! identifier) && (unary_expression "!bVar9" ! identifier)) )) == identifier)) ;) (if_statement "if (!bVar7) {\n            iVar3 = 5;\n            pbVar4 = param_2;\n            pbVar6 = &DAT_00063a4b;\n            do {\n              if (iVar3 == 0) break;\n              iVar3 = iVar3 + -1;\n              bVar8 = *pbVar4 < *pbVar6;\n              bVar7 = *pbVar4 == *pbVar6;\n              pbVar4 = pbVar4 + 1;\n              pbVar6 = pbVar6 + 1;\n            } while (bVar7);\n            bVar9 = false;\n            bVar7 = (!bVar8 && !bVar7) == bVar8;\n            if (bVar7) {\n              DAT_00087970 = DAT_00087970 & 0xef | 4;\n              return true;\n            }\n            iVar3 = 5;\n            pbVar4 = param_2;\n            pbVar6 = &DAT_0005a335;\n            do {\n              if (iVar3 == 0) break;\n              iVar3 = iVar3 + -1;\n              bVar9 = *pbVar4 < *pbVar6;\n              bVar7 = *pbVar4 == *pbVar6;\n              pbVar4 = pbVar4 + 1;\n              pbVar6 = pbVar6 + 1;\n            } while (bVar7);\n            bVar8 = false;\n            bVar7 = (!bVar9 && !bVar7) == bVar9;\n            if (bVar7) {\n              DAT_00087970 = DAT_00087970 & 0xfb;\n              return true;\n            }\n            iVar3 = 6;\n            pcVar5 = " debug";\n            pbVar4 = param_2;\n            do {\n              pcVar5 = (char *)((byte *)pcVar5 + 1);\n              if (iVar3 == 0) break;\n              iVar3 = iVar3 + -1;\n              bVar8 = *pbVar4 < (byte)*pcVar5;\n              bVar7 = *pbVar4 == *pcVar5;\n              pbVar4 = pbVar4 + 1;\n            } while (bVar7);\n            bVar9 = false;\n            bVar7 = (!bVar8 && !bVar7) == bVar8;\n            if (bVar7) {\n              DAT_00087970 = DAT_00087970 | 6;\n              return true;\n            }\n            iVar3 = 7;\n            pbVar4 = param_2;\n            pbVar6 = (byte *)"debugx";\n            do {\n              if (iVar3 == 0) break;\n              iVar3 = iVar3 + -1;\n              bVar9 = *pbVar4 < *pbVar6;\n              bVar7 = *pbVar4 == *pbVar6;\n              pbVar4 = pbVar4 + 1;\n              pbVar6 = pbVar6 + 1;\n            } while (bVar7);\n            bVar8 = false;\n            bVar7 = (!bVar9 && !bVar7) == bVar9;\n            if (bVar7) {\n              DAT_00087970 = DAT_00087970 | 0x16;\n              return true;\n            }\n            iVar3 = 7;\n            pbVar4 = param_2;\n            pbVar6 = (byte *)"debugn";\n            do {\n              if (iVar3 == 0) break;\n              iVar3 = iVar3 + -1;\n              bVar8 = *pbVar4 < *pbVar6;\n              bVar7 = *pbVar4 == *pbVar6;\n              pbVar4 = pbVar4 + 1;\n              pbVar6 = pbVar6 + 1;\n            } while (bVar7);\n            cVar1 = (!bVar8 && !bVar7) - bVar8;\n            if (cVar1 != '\0') {\n              DAT_00087970 = DAT_00087970 | 4;\n              uVar2 = dcgettext(0,"Unrecognized option \'-x%s\'",5,cVar1);\n              FUN_00029550(uVar2,param_2);\n              return true;\n            }\n            DAT_00087970 = DAT_00087970 & 0xf9 | 2;\n            return true;\n          }" if (parenthesized_expression "(!bVar7)" ( (unary_expression "!bVar7" ! identifier) )) (compound_statement "{\n            iVar3 = 5;\n            pbVar4 = param_2;\n            pbVar6 = &DAT_00063a4b;\n            do {\n              if (iVar3 == 0) break;\n              iVar3 = iVar3 + -1;\n              bVar8 = *pbVar4 < *pbVar6;\n              bVar7 = *pbVar4 == *pbVar6;\n              pbVar4 = pbVar4 + 1;\n              pbVar6 = pbVar6 + 1;\n            } while (bVar7);\n            bVar9 = false;\n            bVar7 = (!bVar8 && !bVar7) == bVar8;\n            if (bVar7) {\n              DAT_00087970 = DAT_00087970 & 0xef | 4;\n              return true;\n            }\n            iVar3 = 5;\n            pbVar4 = param_2;\n            pbVar6 = &DAT_0005a335;\n            do {\n              if (iVar3 == 0) break;\n              iVar3 = iVar3 + -1;\n              bVar9 = *pbVar4 < *pbVar6;\n              bVar7 = *pbVar4 == *pbVar6;\n              pbVar4 = pbVar4 + 1;\n              pbVar6 = pbVar6 + 1;\n            } while (bVar7);\n            bVar8 = false;\n            bVar7 = (!bVar9 && !bVar7) == bVar9;\n            if (bVar7) {\n              DAT_00087970 = DAT_00087970 & 0xfb;\n              return true;\n            }\n            iVar3 = 6;\n            pcVar5 = " debug";\n            pbVar4 = param_2;\n            do {\n              pcVar5 = (char *)((byte *)pcVar5 + 1);\n              if (iVar3 == 0) break;\n              iVar3 = iVar3 + -1;\n              bVar8 = *pbVar4 < (byte)*pcVar5;\n              bVar7 = *pbVar4 == *pcVar5;\n              pbVar4 = pbVar4 + 1;\n            } while (bVar7);\n            bVar9 = false;\n            bVar7 = (!bVar8 && !bVar7) == bVar8;\n            if (bVar7) {\n              DAT_00087970 = DAT_00087970 | 6;\n              return true;\n            }\n            iVar3 = 7;\n            pbVar4 = param_2;\n            pbVar6 = (byte *)"debugx";\n            do {\n              if (iVar3 == 0) break;\n              iVar3 = iVar3 + -1;\n              bVar9 = *pbVar4 < *pbVar6;\n              bVar7 = *pbVar4 == *pbVar6;\n              pbVar4 = pbVar4 + 1;\n              pbVar6 = pbVar6 + 1;\n            } while (bVar7);\n            bVar8 = false;\n            bVar7 = (!bVar9 && !bVar7) == bVar9;\n            if (bVar7) {\n              DAT_00087970 = DAT_00087970 | 0x16;\n              return true;\n            }\n            iVar3 = 7;\n            pbVar4 = param_2;\n            pbVar6 = (byte *)"debugn";\n            do {\n              if (iVar3 == 0) break;\n              iVar3 = iVar3 + -1;\n              bVar8 = *pbVar4 < *pbVar6;\n              bVar7 = *pbVar4 == *pbVar6;\n              pbVar4 = pbVar4 + 1;\n              pbVar6 = pbVar6 + 1;\n            } while (bVar7);\n            cVar1 = (!bVar8 && !bVar7) - bVar8;\n            if (cVar1 != '\0') {\n              DAT_00087970 = DAT_00087970 | 4;\n              uVar2 = dcgettext(0,"Unrecognized option \'-x%s\'",5,cVar1);\n              FUN_00029550(uVar2,param_2);\n              return true;\n            }\n            DAT_00087970 = DAT_00087970 & 0xf9 | 2;\n            return true;\n          }" { (expression_statement "iVar3 = 5;" (assignment_expression "iVar3 = 5" identifier = number_literal) ;) (expression_statement "pbVar4 = param_2;" (assignment_expression "pbVar4 = param_2" identifier = identifier) ;) (expression_statement "pbVar6 = &DAT_00063a4b;" (assignment_expression "pbVar6 = &DAT_00063a4b" identifier = (pointer_expression "&DAT_00063a4b" & identifier)) ;) (do_statement "do {\n              if (iVar3 == 0) break;\n              iVar3 = iVar3 + -1;\n              bVar8 = *pbVar4 < *pbVar6;\n              bVar7 = *pbVar4 == *pbVar6;\n              pbVar4 = pbVar4 + 1;\n              pbVar6 = pbVar6 + 1;\n            } while (bVar7);" do (compound_statement "{\n              if (iVar3 == 0) break;\n              iVar3 = iVar3 + -1;\n              bVar8 = *pbVar4 < *pbVar6;\n              bVar7 = *pbVar4 == *pbVar6;\n              pbVar4 = pbVar4 + 1;\n              pbVar6 = pbVar6 + 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 = *pbVar4 < *pbVar6;" (assignment_expression "bVar8 = *pbVar4 < *pbVar6" identifier = (binary_expression "*pbVar4 < *pbVar6" (pointer_expression "*pbVar4" * identifier) < (pointer_expression "*pbVar6" * identifier))) ;) (expression_statement "bVar7 = *pbVar4 == *pbVar6;" (assignment_expression "bVar7 = *pbVar4 == *pbVar6" identifier = (binary_expression "*pbVar4 == *pbVar6" (pointer_expression "*pbVar4" * identifier) == (pointer_expression "*pbVar6" * identifier))) ;) (expression_statement "pbVar4 = pbVar4 + 1;" (assignment_expression "pbVar4 = pbVar4 + 1" identifier = (binary_expression "pbVar4 + 1" identifier + number_literal)) ;) (expression_statement "pbVar6 = pbVar6 + 1;" (assignment_expression "pbVar6 = pbVar6 + 1" identifier = (binary_expression "pbVar6 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(bVar7)" ( identifier )) ;) (expression_statement "bVar9 = false;" (assignment_expression "bVar9 = false" identifier = false) ;) (expression_statement "bVar7 = (!bVar8 && !bVar7) == bVar8;" (assignment_expression "bVar7 = (!bVar8 && !bVar7) == bVar8" identifier = (binary_expression "(!bVar8 && !bVar7) == bVar8" (parenthesized_expression "(!bVar8 && !bVar7)" ( (binary_expression "!bVar8 && !bVar7" (unary_expression "!bVar8" ! identifier) && (unary_expression "!bVar7" ! identifier)) )) == identifier)) ;) (if_statement "if (bVar7) {\n              DAT_00087970 = DAT_00087970 & 0xef | 4;\n              return true;\n            }" if (parenthesized_expression "(bVar7)" ( identifier )) (compound_statement "{\n              DAT_00087970 = DAT_00087970 & 0xef | 4;\n              return true;\n            }" { (expression_statement "DAT_00087970 = DAT_00087970 & 0xef | 4;" (assignment_expression "DAT_00087970 = DAT_00087970 & 0xef | 4" identifier = (binary_expression "DAT_00087970 & 0xef | 4" (binary_expression "DAT_00087970 & 0xef" identifier & number_literal) | number_literal)) ;) (return_statement "return true;" return true ;) })) (expression_statement "iVar3 = 5;" (assignment_expression "iVar3 = 5" identifier = number_literal) ;) (expression_statement "pbVar4 = param_2;" (assignment_expression "pbVar4 = param_2" identifier = identifier) ;) (expression_statement "pbVar6 = &DAT_0005a335;" (assignment_expression "pbVar6 = &DAT_0005a335" identifier = (pointer_expression "&DAT_0005a335" & identifier)) ;) (do_statement "do {\n              if (iVar3 == 0) break;\n              iVar3 = iVar3 + -1;\n              bVar9 = *pbVar4 < *pbVar6;\n              bVar7 = *pbVar4 == *pbVar6;\n              pbVar4 = pbVar4 + 1;\n              pbVar6 = pbVar6 + 1;\n            } while (bVar7);" do (compound_statement "{\n              if (iVar3 == 0) break;\n              iVar3 = iVar3 + -1;\n              bVar9 = *pbVar4 < *pbVar6;\n              bVar7 = *pbVar4 == *pbVar6;\n              pbVar4 = pbVar4 + 1;\n              pbVar6 = pbVar6 + 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 = *pbVar4 < *pbVar6;" (assignment_expression "bVar9 = *pbVar4 < *pbVar6" identifier = (binary_expression "*pbVar4 < *pbVar6" (pointer_expression "*pbVar4" * identifier) < (pointer_expression "*pbVar6" * identifier))) ;) (expression_statement "bVar7 = *pbVar4 == *pbVar6;" (assignment_expression "bVar7 = *pbVar4 == *pbVar6" identifier = (binary_expression "*pbVar4 == *pbVar6" (pointer_expression "*pbVar4" * identifier) == (pointer_expression "*pbVar6" * identifier))) ;) (expression_statement "pbVar4 = pbVar4 + 1;" (assignment_expression "pbVar4 = pbVar4 + 1" identifier = (binary_expression "pbVar4 + 1" identifier + number_literal)) ;) (expression_statement "pbVar6 = pbVar6 + 1;" (assignment_expression "pbVar6 = pbVar6 + 1" identifier = (binary_expression "pbVar6 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(bVar7)" ( identifier )) ;) (expression_statement "bVar8 = false;" (assignment_expression "bVar8 = false" identifier = false) ;) (expression_statement "bVar7 = (!bVar9 && !bVar7) == bVar9;" (assignment_expression "bVar7 = (!bVar9 && !bVar7) == bVar9" identifier = (binary_expression "(!bVar9 && !bVar7) == bVar9" (parenthesized_expression "(!bVar9 && !bVar7)" ( (binary_expression "!bVar9 && !bVar7" (unary_expression "!bVar9" ! identifier) && (unary_expression "!bVar7" ! identifier)) )) == identifier)) ;) (if_statement "if (bVar7) {\n              DAT_00087970 = DAT_00087970 & 0xfb;\n              return true;\n            }" if (parenthesized_expression "(bVar7)" ( identifier )) (compound_statement "{\n              DAT_00087970 = DAT_00087970 & 0xfb;\n              return true;\n            }" { (expression_statement "DAT_00087970 = DAT_00087970 & 0xfb;" (assignment_expression "DAT_00087970 = DAT_00087970 & 0xfb" identifier = (binary_expression "DAT_00087970 & 0xfb" identifier & number_literal)) ;) (return_statement "return true;" return true ;) })) (expression_statement "iVar3 = 6;" (assignment_expression "iVar3 = 6" identifier = number_literal) ;) (expression_statement "pcVar5 = " debug";" (assignment_expression "pcVar5 = " debug"" identifier = (string_literal "" debug"" " string_content ")) ;) (expression_statement "pbVar4 = param_2;" (assignment_expression "pbVar4 = param_2" identifier = identifier) ;) (do_statement "do {\n              pcVar5 = (char *)((byte *)pcVar5 + 1);\n              if (iVar3 == 0) break;\n              iVar3 = iVar3 + -1;\n              bVar8 = *pbVar4 < (byte)*pcVar5;\n              bVar7 = *pbVar4 == *pcVar5;\n              pbVar4 = pbVar4 + 1;\n            } while (bVar7);" do (compound_statement "{\n              pcVar5 = (char *)((byte *)pcVar5 + 1);\n              if (iVar3 == 0) break;\n              iVar3 = iVar3 + -1;\n              bVar8 = *pbVar4 < (byte)*pcVar5;\n              bVar7 = *pbVar4 == *pcVar5;\n              pbVar4 = pbVar4 + 1;\n            }" { (expression_statement "pcVar5 = (char *)((byte *)pcVar5 + 1);" (assignment_expression "pcVar5 = (char *)((byte *)pcVar5 + 1)" identifier = (cast_expression "(char *)((byte *)pcVar5 + 1)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((byte *)pcVar5 + 1)" ( (binary_expression "(byte *)pcVar5 + 1" (cast_expression "(byte *)pcVar5" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) + number_literal) )))) ;) (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 = *pbVar4 < (byte)*pcVar5;" (assignment_expression "bVar8 = *pbVar4 < (byte)*pcVar5" identifier = (binary_expression "*pbVar4 < (byte)*pcVar5" (pointer_expression "*pbVar4" * identifier) < (binary_expression "(byte)*pcVar5" (parenthesized_expression "(byte)" ( identifier )) * identifier))) ;) (expression_statement "bVar7 = *pbVar4 == *pcVar5;" (assignment_expression "bVar7 = *pbVar4 == *pcVar5" identifier = (binary_expression "*pbVar4 == *pcVar5" (pointer_expression "*pbVar4" * identifier) == (pointer_expression "*pcVar5" * identifier))) ;) (expression_statement "pbVar4 = pbVar4 + 1;" (assignment_expression "pbVar4 = pbVar4 + 1" identifier = (binary_expression "pbVar4 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(bVar7)" ( identifier )) ;) (expression_statement "bVar9 = false;" (assignment_expression "bVar9 = false" identifier = false) ;) (expression_statement "bVar7 = (!bVar8 && !bVar7) == bVar8;" (assignment_expression "bVar7 = (!bVar8 && !bVar7) == bVar8" identifier = (binary_expression "(!bVar8 && !bVar7) == bVar8" (parenthesized_expression "(!bVar8 && !bVar7)" ( (binary_expression "!bVar8 && !bVar7" (unary_expression "!bVar8" ! identifier) && (unary_expression "!bVar7" ! identifier)) )) == identifier)) ;) (if_statement "if (bVar7) {\n              DAT_00087970 = DAT_00087970 | 6;\n              return true;\n            }" if (parenthesized_expression "(bVar7)" ( identifier )) (compound_statement "{\n              DAT_00087970 = DAT_00087970 | 6;\n              return true;\n            }" { (expression_statement "DAT_00087970 = DAT_00087970 | 6;" (assignment_expression "DAT_00087970 = DAT_00087970 | 6" identifier = (binary_expression "DAT_00087970 | 6" identifier | number_literal)) ;) (return_statement "return true;" return true ;) })) (expression_statement "iVar3 = 7;" (assignment_expression "iVar3 = 7" identifier = number_literal) ;) (expression_statement "pbVar4 = param_2;" (assignment_expression "pbVar4 = param_2" identifier = identifier) ;) (expression_statement "pbVar6 = (byte *)"debugx";" (assignment_expression "pbVar6 = (byte *)"debugx"" identifier = (cast_expression "(byte *)"debugx"" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (string_literal ""debugx"" " string_content "))) ;) (do_statement "do {\n              if (iVar3 == 0) break;\n              iVar3 = iVar3 + -1;\n              bVar9 = *pbVar4 < *pbVar6;\n              bVar7 = *pbVar4 == *pbVar6;\n              pbVar4 = pbVar4 + 1;\n              pbVar6 = pbVar6 + 1;\n            } while (bVar7);" do (compound_statement "{\n              if (iVar3 == 0) break;\n              iVar3 = iVar3 + -1;\n              bVar9 = *pbVar4 < *pbVar6;\n              bVar7 = *pbVar4 == *pbVar6;\n              pbVar4 = pbVar4 + 1;\n              pbVar6 = pbVar6 + 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 = *pbVar4 < *pbVar6;" (assignment_expression "bVar9 = *pbVar4 < *pbVar6" identifier = (binary_expression "*pbVar4 < *pbVar6" (pointer_expression "*pbVar4" * identifier) < (pointer_expression "*pbVar6" * identifier))) ;) (expression_statement "bVar7 = *pbVar4 == *pbVar6;" (assignment_expression "bVar7 = *pbVar4 == *pbVar6" identifier = (binary_expression "*pbVar4 == *pbVar6" (pointer_expression "*pbVar4" * identifier) == (pointer_expression "*pbVar6" * identifier))) ;) (expression_statement "pbVar4 = pbVar4 + 1;" (assignment_expression "pbVar4 = pbVar4 + 1" identifier = (binary_expression "pbVar4 + 1" identifier + number_literal)) ;) (expression_statement "pbVar6 = pbVar6 + 1;" (assignment_expression "pbVar6 = pbVar6 + 1" identifier = (binary_expression "pbVar6 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(bVar7)" ( identifier )) ;) (expression_statement "bVar8 = false;" (assignment_expression "bVar8 = false" identifier = false) ;) (expression_statement "bVar7 = (!bVar9 && !bVar7) == bVar9;" (assignment_expression "bVar7 = (!bVar9 && !bVar7) == bVar9" identifier = (binary_expression "(!bVar9 && !bVar7) == bVar9" (parenthesized_expression "(!bVar9 && !bVar7)" ( (binary_expression "!bVar9 && !bVar7" (unary_expression "!bVar9" ! identifier) && (unary_expression "!bVar7" ! identifier)) )) == identifier)) ;) (if_statement "if (bVar7) {\n              DAT_00087970 = DAT_00087970 | 0x16;\n              return true;\n            }" if (parenthesized_expression "(bVar7)" ( identifier )) (compound_statement "{\n              DAT_00087970 = DAT_00087970 | 0x16;\n              return true;\n            }" { (expression_statement "DAT_00087970 = DAT_00087970 | 0x16;" (assignment_expression "DAT_00087970 = DAT_00087970 | 0x16" identifier = (binary_expression "DAT_00087970 | 0x16" identifier | number_literal)) ;) (return_statement "return true;" return true ;) })) (expression_statement "iVar3 = 7;" (assignment_expression "iVar3 = 7" identifier = number_literal) ;) (expression_statement "pbVar4 = param_2;" (assignment_expression "pbVar4 = param_2" identifier = identifier) ;) (expression_statement "pbVar6 = (byte *)"debugn";" (assignment_expression "pbVar6 = (byte *)"debugn"" identifier = (cast_expression "(byte *)"debugn"" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (string_literal ""debugn"" " string_content "))) ;) (do_statement "do {\n              if (iVar3 == 0) break;\n              iVar3 = iVar3 + -1;\n              bVar8 = *pbVar4 < *pbVar6;\n              bVar7 = *pbVar4 == *pbVar6;\n              pbVar4 = pbVar4 + 1;\n              pbVar6 = pbVar6 + 1;\n            } while (bVar7);" do (compound_statement "{\n              if (iVar3 == 0) break;\n              iVar3 = iVar3 + -1;\n              bVar8 = *pbVar4 < *pbVar6;\n              bVar7 = *pbVar4 == *pbVar6;\n              pbVar4 = pbVar4 + 1;\n              pbVar6 = pbVar6 + 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 = *pbVar4 < *pbVar6;" (assignment_expression "bVar8 = *pbVar4 < *pbVar6" identifier = (binary_expression "*pbVar4 < *pbVar6" (pointer_expression "*pbVar4" * identifier) < (pointer_expression "*pbVar6" * identifier))) ;) (expression_statement "bVar7 = *pbVar4 == *pbVar6;" (assignment_expression "bVar7 = *pbVar4 == *pbVar6" identifier = (binary_expression "*pbVar4 == *pbVar6" (pointer_expression "*pbVar4" * identifier) == (pointer_expression "*pbVar6" * identifier))) ;) (expression_statement "pbVar4 = pbVar4 + 1;" (assignment_expression "pbVar4 = pbVar4 + 1" identifier = (binary_expression "pbVar4 + 1" identifier + number_literal)) ;) (expression_statement "pbVar6 = pbVar6 + 1;" (assignment_expression "pbVar6 = pbVar6 + 1" identifier = (binary_expression "pbVar6 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(bVar7)" ( identifier )) ;) (expression_statement "cVar1 = (!bVar8 && !bVar7) - bVar8;" (assignment_expression "cVar1 = (!bVar8 && !bVar7) - bVar8" identifier = (binary_expression "(!bVar8 && !bVar7) - bVar8" (parenthesized_expression "(!bVar8 && !bVar7)" ( (binary_expression "!bVar8 && !bVar7" (unary_expression "!bVar8" ! identifier) && (unary_expression "!bVar7" ! identifier)) )) - identifier)) ;) (if_statement "if (cVar1 != '\0') {\n              DAT_00087970 = DAT_00087970 | 4;\n              uVar2 = dcgettext(0,"Unrecognized option \'-x%s\'",5,cVar1);\n              FUN_00029550(uVar2,param_2);\n              return true;\n            }" if (parenthesized_expression "(cVar1 != '\0')" ( (binary_expression "cVar1 != '\0'" identifier != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n              DAT_00087970 = DAT_00087970 | 4;\n              uVar2 = dcgettext(0,"Unrecognized option \'-x%s\'",5,cVar1);\n              FUN_00029550(uVar2,param_2);\n              return true;\n            }" { (expression_statement "DAT_00087970 = DAT_00087970 | 4;" (assignment_expression "DAT_00087970 = DAT_00087970 | 4" identifier = (binary_expression "DAT_00087970 | 4" identifier | number_literal)) ;) (expression_statement "uVar2 = dcgettext(0,"Unrecognized option \'-x%s\'",5,cVar1);" (assignment_expression "uVar2 = dcgettext(0,"Unrecognized option \'-x%s\'",5,cVar1)" identifier = (call_expression "dcgettext(0,"Unrecognized option \'-x%s\'",5,cVar1)" identifier (argument_list "(0,"Unrecognized option \'-x%s\'",5,cVar1)" ( number_literal , (string_literal ""Unrecognized option \'-x%s\'"" " string_content escape_sequence string_content escape_sequence ") , number_literal , identifier )))) ;) (expression_statement "FUN_00029550(uVar2,param_2);" (call_expression "FUN_00029550(uVar2,param_2)" identifier (argument_list "(uVar2,param_2)" ( identifier , identifier ))) ;) (return_statement "return true;" return true ;) })) (expression_statement "DAT_00087970 = DAT_00087970 & 0xf9 | 2;" (assignment_expression "DAT_00087970 = DAT_00087970 & 0xf9 | 2" identifier = (binary_expression "DAT_00087970 & 0xf9 | 2" (binary_expression "DAT_00087970 & 0xf9" identifier & number_literal) | number_literal)) ;) (return_statement "return true;" return true ;) })) })) (expression_statement "DAT_00087970 = DAT_00087970 | 0x14;" (assignment_expression "DAT_00087970 = DAT_00087970 | 0x14" identifier = (binary_expression "DAT_00087970 | 0x14" identifier | number_literal)) ;) (return_statement "return true;" return true ;) })) (if_statement "if ((int)param_1 < 0x79) {\n        bVar7 = param_1 < 0x6d;\n        bVar9 = param_1 == 0x6d;\n        if (bVar9) {\n          iVar3 = 6;\n          pbVar4 = param_2;\n          pbVar6 = &DAT_000639e8;\n          do {\n            if (iVar3 == 0) break;\n            iVar3 = iVar3 + -1;\n            bVar7 = *pbVar4 < *pbVar6;\n            bVar9 = *pbVar4 == *pbVar6;\n            pbVar4 = pbVar4 + 1;\n            pbVar6 = pbVar6 + 1;\n          } while (bVar9);\n          bVar8 = false;\n          bVar7 = (!bVar7 && !bVar9) == bVar7;\n          if (!bVar7) {\n            iVar3 = 5;\n            pbVar4 = param_2;\n            pbVar6 = &DAT_000639e9;\n            do {\n              if (iVar3 == 0) break;\n              iVar3 = iVar3 + -1;\n              bVar8 = *pbVar4 < *pbVar6;\n              bVar7 = *pbVar4 == *pbVar6;\n              pbVar4 = pbVar4 + 1;\n              pbVar6 = pbVar6 + 1;\n            } while (bVar7);\n            bVar9 = false;\n            bVar7 = (!bVar8 && !bVar7) == bVar8;\n            if (!bVar7) {\n              iVar3 = 4;\n              pbVar4 = param_2;\n              pbVar6 = &DAT_000639ea;\n              do {\n                if (iVar3 == 0) break;\n                iVar3 = iVar3 + -1;\n                bVar9 = *pbVar4 < *pbVar6;\n                bVar7 = *pbVar4 == *pbVar6;\n                pbVar4 = pbVar4 + 1;\n                pbVar6 = pbVar6 + 1;\n              } while (bVar7);\n              bVar8 = false;\n              bVar7 = (!bVar9 && !bVar7) == bVar9;\n              if (!bVar7) {\n                iVar3 = 6;\n                pbVar4 = param_2;\n                pbVar6 = (byte *)"ilp32";\n                do {\n                  if (iVar3 == 0) break;\n                  iVar3 = iVar3 + -1;\n                  bVar8 = *pbVar4 < *pbVar6;\n                  bVar7 = *pbVar4 == *pbVar6;\n                  pbVar4 = pbVar4 + 1;\n                  pbVar6 = pbVar6 + 1;\n                } while (bVar7);\n                bVar9 = false;\n                bVar7 = (!bVar8 && !bVar7) == bVar8;\n                if (bVar7) {\n                  DAT_00087d90 = DAT_00087d90 & 0xffffffef;\n                  return true;\n                }\n                iVar3 = 3;\n                pbVar4 = param_2;\n                pbVar6 = (byte *)0x5a287;\n                do {\n                  if (iVar3 == 0) break;\n                  iVar3 = iVar3 + -1;\n                  bVar9 = *pbVar4 < *pbVar6;\n                  bVar7 = *pbVar4 == *pbVar6;\n                  pbVar4 = pbVar4 + 1;\n                  pbVar6 = pbVar6 + 1;\n                } while (bVar7);\n                bVar8 = false;\n                bVar7 = (!bVar9 && !bVar7) == bVar9;\n                if (bVar7) {\n                  DAT_00087d90 = DAT_00087d90 & 0xfffffff7;\n                  DAT_00087dfc = 0;\n                  return true;\n                }\n                iVar3 = 3;\n                pbVar4 = param_2;\n                pbVar6 = &DAT_00063a90;\n                do {\n                  if (iVar3 == 0) break;\n                  iVar3 = iVar3 + -1;\n                  bVar8 = *pbVar4 < *pbVar6;\n                  bVar7 = *pbVar4 == *pbVar6;\n                  pbVar4 = pbVar4 + 1;\n                  pbVar6 = pbVar6 + 1;\n                } while (bVar7);\n                bVar9 = false;\n                bVar7 = (!bVar8 && !bVar7) == bVar8;\n                if (bVar7) {\n                  DAT_00087d90 = DAT_00087d90 | 8;\n                  DAT_00087dfc = 1;\n                  return true;\n                }\n                iVar3 = 0xd;\n                pbVar4 = param_2;\n                pbVar6 = (byte *)"unwind-check=";\n                do {\n                  if (iVar3 == 0) break;\n                  iVar3 = iVar3 + -1;\n                  bVar9 = *pbVar4 < *pbVar6;\n                  bVar7 = *pbVar4 == *pbVar6;\n                  pbVar4 = pbVar4 + 1;\n                  pbVar6 = pbVar6 + 1;\n                } while (bVar7);\n                if ((!bVar9 && !bVar7) == bVar9) {\n                  iVar3 = strcmp((char *)(param_2 + 0xd),"warning");\n                  if (iVar3 == 0) {\n                    DAT_00087974 = 0;\n                    return true;\n                  }\n                  iVar3 = strcmp((char *)(param_2 + 0xd),"error");\n                  if (iVar3 == 0) {\n                    DAT_00087974 = 1;\n                    return true;\n                  }\n                  return false;\n                }\n                iVar3 = strncmp((char *)param_2,"hint.b=",7);\n                if (iVar3 != 0) {\n                  iVar3 = strncmp((char *)param_2,"tune=",5);\n                  if (iVar3 != 0) {\n                    return false;\n                  }\n                  iVar3 = strcmp((char *)(param_2 + 5),"itanium1");\n                  if (iVar3 != 0) {\n                    iVar3 = strcmp((char *)(param_2 + 5),"itanium2");\n                    if (iVar3 == 0) {\n                      DAT_00087968 = 1;\n                      return true;\n                    }\n                    return false;\n                  }\n                  DAT_00087968 = 0;\n                  return true;\n                }\n                param_2 = param_2 + 7;\n                iVar3 = strcmp((char *)param_2,"ok");\n                if (iVar3 == 0) {\n                  DAT_0008796c = 2;\n                  return true;\n                }\n                iVar3 = strcmp((char *)param_2,"warning");\n                if (iVar3 != 0) {\n                  iVar3 = strcmp((char *)param_2,"error");\n                  if (iVar3 == 0) {\n                    DAT_0008796c = 0;\n                    return true;\n                  }\n                  return false;\n                }\n                DAT_0008796c = 1;\n                return true;\n              }\n            }\n          }\n          DAT_00087d90 = DAT_00087d90 | 0x10;\n          return true;\n        }\n      }\n      else {\n        if (param_1 == 0x123) {\n          DAT_00087d90 = DAT_00087d90 | 0x40;\n          return true;\n        }\n        if (param_1 == 0x124) {\n          DAT_00087d90 = DAT_00087d90 | 0x80;\n          return true;\n        }\n      }" if (parenthesized_expression "((int)param_1 < 0x79)" ( (binary_expression "(int)param_1 < 0x79" (cast_expression "(int)param_1" ( (type_descriptor "int" primitive_type) ) identifier) < number_literal) )) (compound_statement "{\n        bVar7 = param_1 < 0x6d;\n        bVar9 = param_1 == 0x6d;\n        if (bVar9) {\n          iVar3 = 6;\n          pbVar4 = param_2;\n          pbVar6 = &DAT_000639e8;\n          do {\n            if (iVar3 == 0) break;\n            iVar3 = iVar3 + -1;\n            bVar7 = *pbVar4 < *pbVar6;\n            bVar9 = *pbVar4 == *pbVar6;\n            pbVar4 = pbVar4 + 1;\n            pbVar6 = pbVar6 + 1;\n          } while (bVar9);\n          bVar8 = false;\n          bVar7 = (!bVar7 && !bVar9) == bVar7;\n          if (!bVar7) {\n            iVar3 = 5;\n            pbVar4 = param_2;\n            pbVar6 = &DAT_000639e9;\n            do {\n              if (iVar3 == 0) break;\n              iVar3 = iVar3 + -1;\n              bVar8 = *pbVar4 < *pbVar6;\n              bVar7 = *pbVar4 == *pbVar6;\n              pbVar4 = pbVar4 + 1;\n              pbVar6 = pbVar6 + 1;\n            } while (bVar7);\n            bVar9 = false;\n            bVar7 = (!bVar8 && !bVar7) == bVar8;\n            if (!bVar7) {\n              iVar3 = 4;\n              pbVar4 = param_2;\n              pbVar6 = &DAT_000639ea;\n              do {\n                if (iVar3 == 0) break;\n                iVar3 = iVar3 + -1;\n                bVar9 = *pbVar4 < *pbVar6;\n                bVar7 = *pbVar4 == *pbVar6;\n                pbVar4 = pbVar4 + 1;\n                pbVar6 = pbVar6 + 1;\n              } while (bVar7);\n              bVar8 = false;\n              bVar7 = (!bVar9 && !bVar7) == bVar9;\n              if (!bVar7) {\n                iVar3 = 6;\n                pbVar4 = param_2;\n                pbVar6 = (byte *)"ilp32";\n                do {\n                  if (iVar3 == 0) break;\n                  iVar3 = iVar3 + -1;\n                  bVar8 = *pbVar4 < *pbVar6;\n                  bVar7 = *pbVar4 == *pbVar6;\n                  pbVar4 = pbVar4 + 1;\n                  pbVar6 = pbVar6 + 1;\n                } while (bVar7);\n                bVar9 = false;\n                bVar7 = (!bVar8 && !bVar7) == bVar8;\n                if (bVar7) {\n                  DAT_00087d90 = DAT_00087d90 & 0xffffffef;\n                  return true;\n                }\n                iVar3 = 3;\n                pbVar4 = param_2;\n                pbVar6 = (byte *)0x5a287;\n                do {\n                  if (iVar3 == 0) break;\n                  iVar3 = iVar3 + -1;\n                  bVar9 = *pbVar4 < *pbVar6;\n                  bVar7 = *pbVar4 == *pbVar6;\n                  pbVar4 = pbVar4 + 1;\n                  pbVar6 = pbVar6 + 1;\n                } while (bVar7);\n                bVar8 = false;\n                bVar7 = (!bVar9 && !bVar7) == bVar9;\n                if (bVar7) {\n                  DAT_00087d90 = DAT_00087d90 & 0xfffffff7;\n                  DAT_00087dfc = 0;\n                  return true;\n                }\n                iVar3 = 3;\n                pbVar4 = param_2;\n                pbVar6 = &DAT_00063a90;\n                do {\n                  if (iVar3 == 0) break;\n                  iVar3 = iVar3 + -1;\n                  bVar8 = *pbVar4 < *pbVar6;\n                  bVar7 = *pbVar4 == *pbVar6;\n                  pbVar4 = pbVar4 + 1;\n                  pbVar6 = pbVar6 + 1;\n                } while (bVar7);\n                bVar9 = false;\n                bVar7 = (!bVar8 && !bVar7) == bVar8;\n                if (bVar7) {\n                  DAT_00087d90 = DAT_00087d90 | 8;\n                  DAT_00087dfc = 1;\n                  return true;\n                }\n                iVar3 = 0xd;\n                pbVar4 = param_2;\n                pbVar6 = (byte *)"unwind-check=";\n                do {\n                  if (iVar3 == 0) break;\n                  iVar3 = iVar3 + -1;\n                  bVar9 = *pbVar4 < *pbVar6;\n                  bVar7 = *pbVar4 == *pbVar6;\n                  pbVar4 = pbVar4 + 1;\n                  pbVar6 = pbVar6 + 1;\n                } while (bVar7);\n                if ((!bVar9 && !bVar7) == bVar9) {\n                  iVar3 = strcmp((char *)(param_2 + 0xd),"warning");\n                  if (iVar3 == 0) {\n                    DAT_00087974 = 0;\n                    return true;\n                  }\n                  iVar3 = strcmp((char *)(param_2 + 0xd),"error");\n                  if (iVar3 == 0) {\n                    DAT_00087974 = 1;\n                    return true;\n                  }\n                  return false;\n                }\n                iVar3 = strncmp((char *)param_2,"hint.b=",7);\n                if (iVar3 != 0) {\n                  iVar3 = strncmp((char *)param_2,"tune=",5);\n                  if (iVar3 != 0) {\n                    return false;\n                  }\n                  iVar3 = strcmp((char *)(param_2 + 5),"itanium1");\n                  if (iVar3 != 0) {\n                    iVar3 = strcmp((char *)(param_2 + 5),"itanium2");\n                    if (iVar3 == 0) {\n                      DAT_00087968 = 1;\n                      return true;\n                    }\n                    return false;\n                  }\n                  DAT_00087968 = 0;\n                  return true;\n                }\n                param_2 = param_2 + 7;\n                iVar3 = strcmp((char *)param_2,"ok");\n                if (iVar3 == 0) {\n                  DAT_0008796c = 2;\n                  return true;\n                }\n                iVar3 = strcmp((char *)param_2,"warning");\n                if (iVar3 != 0) {\n                  iVar3 = strcmp((char *)param_2,"error");\n                  if (iVar3 == 0) {\n                    DAT_0008796c = 0;\n                    return true;\n                  }\n                  return false;\n                }\n                DAT_0008796c = 1;\n                return true;\n              }\n            }\n          }\n          DAT_00087d90 = DAT_00087d90 | 0x10;\n          return true;\n        }\n      }" { (expression_statement "bVar7 = param_1 < 0x6d;" (assignment_expression "bVar7 = param_1 < 0x6d" identifier = (binary_expression "param_1 < 0x6d" identifier < number_literal)) ;) (expression_statement "bVar9 = param_1 == 0x6d;" (assignment_expression "bVar9 = param_1 == 0x6d" identifier = (binary_expression "param_1 == 0x6d" identifier == number_literal)) ;) (if_statement "if (bVar9) {\n          iVar3 = 6;\n          pbVar4 = param_2;\n          pbVar6 = &DAT_000639e8;\n          do {\n            if (iVar3 == 0) break;\n            iVar3 = iVar3 + -1;\n            bVar7 = *pbVar4 < *pbVar6;\n            bVar9 = *pbVar4 == *pbVar6;\n            pbVar4 = pbVar4 + 1;\n            pbVar6 = pbVar6 + 1;\n          } while (bVar9);\n          bVar8 = false;\n          bVar7 = (!bVar7 && !bVar9) == bVar7;\n          if (!bVar7) {\n            iVar3 = 5;\n            pbVar4 = param_2;\n            pbVar6 = &DAT_000639e9;\n            do {\n              if (iVar3 == 0) break;\n              iVar3 = iVar3 + -1;\n              bVar8 = *pbVar4 < *pbVar6;\n              bVar7 = *pbVar4 == *pbVar6;\n              pbVar4 = pbVar4 + 1;\n              pbVar6 = pbVar6 + 1;\n            } while (bVar7);\n            bVar9 = false;\n            bVar7 = (!bVar8 && !bVar7) == bVar8;\n            if (!bVar7) {\n              iVar3 = 4;\n              pbVar4 = param_2;\n              pbVar6 = &DAT_000639ea;\n              do {\n                if (iVar3 == 0) break;\n                iVar3 = iVar3 + -1;\n                bVar9 = *pbVar4 < *pbVar6;\n                bVar7 = *pbVar4 == *pbVar6;\n                pbVar4 = pbVar4 + 1;\n                pbVar6 = pbVar6 + 1;\n              } while (bVar7);\n              bVar8 = false;\n              bVar7 = (!bVar9 && !bVar7) == bVar9;\n              if (!bVar7) {\n                iVar3 = 6;\n                pbVar4 = param_2;\n                pbVar6 = (byte *)"ilp32";\n                do {\n                  if (iVar3 == 0) break;\n                  iVar3 = iVar3 + -1;\n                  bVar8 = *pbVar4 < *pbVar6;\n                  bVar7 = *pbVar4 == *pbVar6;\n                  pbVar4 = pbVar4 + 1;\n                  pbVar6 = pbVar6 + 1;\n                } while (bVar7);\n                bVar9 = false;\n                bVar7 = (!bVar8 && !bVar7) == bVar8;\n                if (bVar7) {\n                  DAT_00087d90 = DAT_00087d90 & 0xffffffef;\n                  return true;\n                }\n                iVar3 = 3;\n                pbVar4 = param_2;\n                pbVar6 = (byte *)0x5a287;\n                do {\n                  if (iVar3 == 0) break;\n                  iVar3 = iVar3 + -1;\n                  bVar9 = *pbVar4 < *pbVar6;\n                  bVar7 = *pbVar4 == *pbVar6;\n                  pbVar4 = pbVar4 + 1;\n                  pbVar6 = pbVar6 + 1;\n                } while (bVar7);\n                bVar8 = false;\n                bVar7 = (!bVar9 && !bVar7) == bVar9;\n                if (bVar7) {\n                  DAT_00087d90 = DAT_00087d90 & 0xfffffff7;\n                  DAT_00087dfc = 0;\n                  return true;\n                }\n                iVar3 = 3;\n                pbVar4 = param_2;\n                pbVar6 = &DAT_00063a90;\n                do {\n                  if (iVar3 == 0) break;\n                  iVar3 = iVar3 + -1;\n                  bVar8 = *pbVar4 < *pbVar6;\n                  bVar7 = *pbVar4 == *pbVar6;\n                  pbVar4 = pbVar4 + 1;\n                  pbVar6 = pbVar6 + 1;\n                } while (bVar7);\n                bVar9 = false;\n                bVar7 = (!bVar8 && !bVar7) == bVar8;\n                if (bVar7) {\n                  DAT_00087d90 = DAT_00087d90 | 8;\n                  DAT_00087dfc = 1;\n                  return true;\n                }\n                iVar3 = 0xd;\n                pbVar4 = param_2;\n                pbVar6 = (byte *)"unwind-check=";\n                do {\n                  if (iVar3 == 0) break;\n                  iVar3 = iVar3 + -1;\n                  bVar9 = *pbVar4 < *pbVar6;\n                  bVar7 = *pbVar4 == *pbVar6;\n                  pbVar4 = pbVar4 + 1;\n                  pbVar6 = pbVar6 + 1;\n                } while (bVar7);\n                if ((!bVar9 && !bVar7) == bVar9) {\n                  iVar3 = strcmp((char *)(param_2 + 0xd),"warning");\n                  if (iVar3 == 0) {\n                    DAT_00087974 = 0;\n                    return true;\n                  }\n                  iVar3 = strcmp((char *)(param_2 + 0xd),"error");\n                  if (iVar3 == 0) {\n                    DAT_00087974 = 1;\n                    return true;\n                  }\n                  return false;\n                }\n                iVar3 = strncmp((char *)param_2,"hint.b=",7);\n                if (iVar3 != 0) {\n                  iVar3 = strncmp((char *)param_2,"tune=",5);\n                  if (iVar3 != 0) {\n                    return false;\n                  }\n                  iVar3 = strcmp((char *)(param_2 + 5),"itanium1");\n                  if (iVar3 != 0) {\n                    iVar3 = strcmp((char *)(param_2 + 5),"itanium2");\n                    if (iVar3 == 0) {\n                      DAT_00087968 = 1;\n                      return true;\n                    }\n                    return false;\n                  }\n                  DAT_00087968 = 0;\n                  return true;\n                }\n                param_2 = param_2 + 7;\n                iVar3 = strcmp((char *)param_2,"ok");\n                if (iVar3 == 0) {\n                  DAT_0008796c = 2;\n                  return true;\n                }\n                iVar3 = strcmp((char *)param_2,"warning");\n                if (iVar3 != 0) {\n                  iVar3 = strcmp((char *)param_2,"error");\n                  if (iVar3 == 0) {\n                    DAT_0008796c = 0;\n                    return true;\n                  }\n                  return false;\n                }\n                DAT_0008796c = 1;\n                return true;\n              }\n            }\n          }\n          DAT_00087d90 = DAT_00087d90 | 0x10;\n          return true;\n        }" if (parenthesized_expression "(bVar9)" ( identifier )) (compound_statement "{\n          iVar3 = 6;\n          pbVar4 = param_2;\n          pbVar6 = &DAT_000639e8;\n          do {\n            if (iVar3 == 0) break;\n            iVar3 = iVar3 + -1;\n            bVar7 = *pbVar4 < *pbVar6;\n            bVar9 = *pbVar4 == *pbVar6;\n            pbVar4 = pbVar4 + 1;\n            pbVar6 = pbVar6 + 1;\n          } while (bVar9);\n          bVar8 = false;\n          bVar7 = (!bVar7 && !bVar9) == bVar7;\n          if (!bVar7) {\n            iVar3 = 5;\n            pbVar4 = param_2;\n            pbVar6 = &DAT_000639e9;\n            do {\n              if (iVar3 == 0) break;\n              iVar3 = iVar3 + -1;\n              bVar8 = *pbVar4 < *pbVar6;\n              bVar7 = *pbVar4 == *pbVar6;\n              pbVar4 = pbVar4 + 1;\n              pbVar6 = pbVar6 + 1;\n            } while (bVar7);\n            bVar9 = false;\n            bVar7 = (!bVar8 && !bVar7) == bVar8;\n            if (!bVar7) {\n              iVar3 = 4;\n              pbVar4 = param_2;\n              pbVar6 = &DAT_000639ea;\n              do {\n                if (iVar3 == 0) break;\n                iVar3 = iVar3 + -1;\n                bVar9 = *pbVar4 < *pbVar6;\n                bVar7 = *pbVar4 == *pbVar6;\n                pbVar4 = pbVar4 + 1;\n                pbVar6 = pbVar6 + 1;\n              } while (bVar7);\n              bVar8 = false;\n              bVar7 = (!bVar9 && !bVar7) == bVar9;\n              if (!bVar7) {\n                iVar3 = 6;\n                pbVar4 = param_2;\n                pbVar6 = (byte *)"ilp32";\n                do {\n                  if (iVar3 == 0) break;\n                  iVar3 = iVar3 + -1;\n                  bVar8 = *pbVar4 < *pbVar6;\n                  bVar7 = *pbVar4 == *pbVar6;\n                  pbVar4 = pbVar4 + 1;\n                  pbVar6 = pbVar6 + 1;\n                } while (bVar7);\n                bVar9 = false;\n                bVar7 = (!bVar8 && !bVar7) == bVar8;\n                if (bVar7) {\n                  DAT_00087d90 = DAT_00087d90 & 0xffffffef;\n                  return true;\n                }\n                iVar3 = 3;\n                pbVar4 = param_2;\n                pbVar6 = (byte *)0x5a287;\n                do {\n                  if (iVar3 == 0) break;\n                  iVar3 = iVar3 + -1;\n                  bVar9 = *pbVar4 < *pbVar6;\n                  bVar7 = *pbVar4 == *pbVar6;\n                  pbVar4 = pbVar4 + 1;\n                  pbVar6 = pbVar6 + 1;\n                } while (bVar7);\n                bVar8 = false;\n                bVar7 = (!bVar9 && !bVar7) == bVar9;\n                if (bVar7) {\n                  DAT_00087d90 = DAT_00087d90 & 0xfffffff7;\n                  DAT_00087dfc = 0;\n                  return true;\n                }\n                iVar3 = 3;\n                pbVar4 = param_2;\n                pbVar6 = &DAT_00063a90;\n                do {\n                  if (iVar3 == 0) break;\n                  iVar3 = iVar3 + -1;\n                  bVar8 = *pbVar4 < *pbVar6;\n                  bVar7 = *pbVar4 == *pbVar6;\n                  pbVar4 = pbVar4 + 1;\n                  pbVar6 = pbVar6 + 1;\n                } while (bVar7);\n                bVar9 = false;\n                bVar7 = (!bVar8 && !bVar7) == bVar8;\n                if (bVar7) {\n                  DAT_00087d90 = DAT_00087d90 | 8;\n                  DAT_00087dfc = 1;\n                  return true;\n                }\n                iVar3 = 0xd;\n                pbVar4 = param_2;\n                pbVar6 = (byte *)"unwind-check=";\n                do {\n                  if (iVar3 == 0) break;\n                  iVar3 = iVar3 + -1;\n                  bVar9 = *pbVar4 < *pbVar6;\n                  bVar7 = *pbVar4 == *pbVar6;\n                  pbVar4 = pbVar4 + 1;\n                  pbVar6 = pbVar6 + 1;\n                } while (bVar7);\n                if ((!bVar9 && !bVar7) == bVar9) {\n                  iVar3 = strcmp((char *)(param_2 + 0xd),"warning");\n                  if (iVar3 == 0) {\n                    DAT_00087974 = 0;\n                    return true;\n                  }\n                  iVar3 = strcmp((char *)(param_2 + 0xd),"error");\n                  if (iVar3 == 0) {\n                    DAT_00087974 = 1;\n                    return true;\n                  }\n                  return false;\n                }\n                iVar3 = strncmp((char *)param_2,"hint.b=",7);\n                if (iVar3 != 0) {\n                  iVar3 = strncmp((char *)param_2,"tune=",5);\n                  if (iVar3 != 0) {\n                    return false;\n                  }\n                  iVar3 = strcmp((char *)(param_2 + 5),"itanium1");\n                  if (iVar3 != 0) {\n                    iVar3 = strcmp((char *)(param_2 + 5),"itanium2");\n                    if (iVar3 == 0) {\n                      DAT_00087968 = 1;\n                      return true;\n                    }\n                    return false;\n                  }\n                  DAT_00087968 = 0;\n                  return true;\n                }\n                param_2 = param_2 + 7;\n                iVar3 = strcmp((char *)param_2,"ok");\n                if (iVar3 == 0) {\n                  DAT_0008796c = 2;\n                  return true;\n                }\n                iVar3 = strcmp((char *)param_2,"warning");\n                if (iVar3 != 0) {\n                  iVar3 = strcmp((char *)param_2,"error");\n                  if (iVar3 == 0) {\n                    DAT_0008796c = 0;\n                    return true;\n                  }\n                  return false;\n                }\n                DAT_0008796c = 1;\n                return true;\n              }\n            }\n          }\n          DAT_00087d90 = DAT_00087d90 | 0x10;\n          return true;\n        }" { (expression_statement "iVar3 = 6;" (assignment_expression "iVar3 = 6" identifier = number_literal) ;) (expression_statement "pbVar4 = param_2;" (assignment_expression "pbVar4 = param_2" identifier = identifier) ;) (expression_statement "pbVar6 = &DAT_000639e8;" (assignment_expression "pbVar6 = &DAT_000639e8" identifier = (pointer_expression "&DAT_000639e8" & identifier)) ;) (do_statement "do {\n            if (iVar3 == 0) break;\n            iVar3 = iVar3 + -1;\n            bVar7 = *pbVar4 < *pbVar6;\n            bVar9 = *pbVar4 == *pbVar6;\n            pbVar4 = pbVar4 + 1;\n            pbVar6 = pbVar6 + 1;\n          } while (bVar9);" do (compound_statement "{\n            if (iVar3 == 0) break;\n            iVar3 = iVar3 + -1;\n            bVar7 = *pbVar4 < *pbVar6;\n            bVar9 = *pbVar4 == *pbVar6;\n            pbVar4 = pbVar4 + 1;\n            pbVar6 = pbVar6 + 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 "bVar7 = *pbVar4 < *pbVar6;" (assignment_expression "bVar7 = *pbVar4 < *pbVar6" identifier = (binary_expression "*pbVar4 < *pbVar6" (pointer_expression "*pbVar4" * identifier) < (pointer_expression "*pbVar6" * identifier))) ;) (expression_statement "bVar9 = *pbVar4 == *pbVar6;" (assignment_expression "bVar9 = *pbVar4 == *pbVar6" identifier = (binary_expression "*pbVar4 == *pbVar6" (pointer_expression "*pbVar4" * identifier) == (pointer_expression "*pbVar6" * identifier))) ;) (expression_statement "pbVar4 = pbVar4 + 1;" (assignment_expression "pbVar4 = pbVar4 + 1" identifier = (binary_expression "pbVar4 + 1" identifier + number_literal)) ;) (expression_statement "pbVar6 = pbVar6 + 1;" (assignment_expression "pbVar6 = pbVar6 + 1" identifier = (binary_expression "pbVar6 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(bVar9)" ( identifier )) ;) (expression_statement "bVar8 = false;" (assignment_expression "bVar8 = false" identifier = false) ;) (expression_statement "bVar7 = (!bVar7 && !bVar9) == bVar7;" (assignment_expression "bVar7 = (!bVar7 && !bVar9) == bVar7" identifier = (binary_expression "(!bVar7 && !bVar9) == bVar7" (parenthesized_expression "(!bVar7 && !bVar9)" ( (binary_expression "!bVar7 && !bVar9" (unary_expression "!bVar7" ! identifier) && (unary_expression "!bVar9" ! identifier)) )) == identifier)) ;) (if_statement "if (!bVar7) {\n            iVar3 = 5;\n            pbVar4 = param_2;\n            pbVar6 = &DAT_000639e9;\n            do {\n              if (iVar3 == 0) break;\n              iVar3 = iVar3 + -1;\n              bVar8 = *pbVar4 < *pbVar6;\n              bVar7 = *pbVar4 == *pbVar6;\n              pbVar4 = pbVar4 + 1;\n              pbVar6 = pbVar6 + 1;\n            } while (bVar7);\n            bVar9 = false;\n            bVar7 = (!bVar8 && !bVar7) == bVar8;\n            if (!bVar7) {\n              iVar3 = 4;\n              pbVar4 = param_2;\n              pbVar6 = &DAT_000639ea;\n              do {\n                if (iVar3 == 0) break;\n                iVar3 = iVar3 + -1;\n                bVar9 = *pbVar4 < *pbVar6;\n                bVar7 = *pbVar4 == *pbVar6;\n                pbVar4 = pbVar4 + 1;\n                pbVar6 = pbVar6 + 1;\n              } while (bVar7);\n              bVar8 = false;\n              bVar7 = (!bVar9 && !bVar7) == bVar9;\n              if (!bVar7) {\n                iVar3 = 6;\n                pbVar4 = param_2;\n                pbVar6 = (byte *)"ilp32";\n                do {\n                  if (iVar3 == 0) break;\n                  iVar3 = iVar3 + -1;\n                  bVar8 = *pbVar4 < *pbVar6;\n                  bVar7 = *pbVar4 == *pbVar6;\n                  pbVar4 = pbVar4 + 1;\n                  pbVar6 = pbVar6 + 1;\n                } while (bVar7);\n                bVar9 = false;\n                bVar7 = (!bVar8 && !bVar7) == bVar8;\n                if (bVar7) {\n                  DAT_00087d90 = DAT_00087d90 & 0xffffffef;\n                  return true;\n                }\n                iVar3 = 3;\n                pbVar4 = param_2;\n                pbVar6 = (byte *)0x5a287;\n                do {\n                  if (iVar3 == 0) break;\n                  iVar3 = iVar3 + -1;\n                  bVar9 = *pbVar4 < *pbVar6;\n                  bVar7 = *pbVar4 == *pbVar6;\n                  pbVar4 = pbVar4 + 1;\n                  pbVar6 = pbVar6 + 1;\n                } while (bVar7);\n                bVar8 = false;\n                bVar7 = (!bVar9 && !bVar7) == bVar9;\n                if (bVar7) {\n                  DAT_00087d90 = DAT_00087d90 & 0xfffffff7;\n                  DAT_00087dfc = 0;\n                  return true;\n                }\n                iVar3 = 3;\n                pbVar4 = param_2;\n                pbVar6 = &DAT_00063a90;\n                do {\n                  if (iVar3 == 0) break;\n                  iVar3 = iVar3 + -1;\n                  bVar8 = *pbVar4 < *pbVar6;\n                  bVar7 = *pbVar4 == *pbVar6;\n                  pbVar4 = pbVar4 + 1;\n                  pbVar6 = pbVar6 + 1;\n                } while (bVar7);\n                bVar9 = false;\n                bVar7 = (!bVar8 && !bVar7) == bVar8;\n                if (bVar7) {\n                  DAT_00087d90 = DAT_00087d90 | 8;\n                  DAT_00087dfc = 1;\n                  return true;\n                }\n                iVar3 = 0xd;\n                pbVar4 = param_2;\n                pbVar6 = (byte *)"unwind-check=";\n                do {\n                  if (iVar3 == 0) break;\n                  iVar3 = iVar3 + -1;\n                  bVar9 = *pbVar4 < *pbVar6;\n                  bVar7 = *pbVar4 == *pbVar6;\n                  pbVar4 = pbVar4 + 1;\n                  pbVar6 = pbVar6 + 1;\n                } while (bVar7);\n                if ((!bVar9 && !bVar7) == bVar9) {\n                  iVar3 = strcmp((char *)(param_2 + 0xd),"warning");\n                  if (iVar3 == 0) {\n                    DAT_00087974 = 0;\n                    return true;\n                  }\n                  iVar3 = strcmp((char *)(param_2 + 0xd),"error");\n                  if (iVar3 == 0) {\n                    DAT_00087974 = 1;\n                    return true;\n                  }\n                  return false;\n                }\n                iVar3 = strncmp((char *)param_2,"hint.b=",7);\n                if (iVar3 != 0) {\n                  iVar3 = strncmp((char *)param_2,"tune=",5);\n                  if (iVar3 != 0) {\n                    return false;\n                  }\n                  iVar3 = strcmp((char *)(param_2 + 5),"itanium1");\n                  if (iVar3 != 0) {\n                    iVar3 = strcmp((char *)(param_2 + 5),"itanium2");\n                    if (iVar3 == 0) {\n                      DAT_00087968 = 1;\n                      return true;\n                    }\n                    return false;\n                  }\n                  DAT_00087968 = 0;\n                  return true;\n                }\n                param_2 = param_2 + 7;\n                iVar3 = strcmp((char *)param_2,"ok");\n                if (iVar3 == 0) {\n                  DAT_0008796c = 2;\n                  return true;\n                }\n                iVar3 = strcmp((char *)param_2,"warning");\n                if (iVar3 != 0) {\n                  iVar3 = strcmp((char *)param_2,"error");\n                  if (iVar3 == 0) {\n                    DAT_0008796c = 0;\n                    return true;\n                  }\n                  return false;\n                }\n                DAT_0008796c = 1;\n                return true;\n              }\n            }\n          }" if (parenthesized_expression "(!bVar7)" ( (unary_expression "!bVar7" ! identifier) )) (compound_statement "{\n            iVar3 = 5;\n            pbVar4 = param_2;\n            pbVar6 = &DAT_000639e9;\n            do {\n              if (iVar3 == 0) break;\n              iVar3 = iVar3 + -1;\n              bVar8 = *pbVar4 < *pbVar6;\n              bVar7 = *pbVar4 == *pbVar6;\n              pbVar4 = pbVar4 + 1;\n              pbVar6 = pbVar6 + 1;\n            } while (bVar7);\n            bVar9 = false;\n            bVar7 = (!bVar8 && !bVar7) == bVar8;\n            if (!bVar7) {\n              iVar3 = 4;\n              pbVar4 = param_2;\n              pbVar6 = &DAT_000639ea;\n              do {\n                if (iVar3 == 0) break;\n                iVar3 = iVar3 + -1;\n                bVar9 = *pbVar4 < *pbVar6;\n                bVar7 = *pbVar4 == *pbVar6;\n                pbVar4 = pbVar4 + 1;\n                pbVar6 = pbVar6 + 1;\n              } while (bVar7);\n              bVar8 = false;\n              bVar7 = (!bVar9 && !bVar7) == bVar9;\n              if (!bVar7) {\n                iVar3 = 6;\n                pbVar4 = param_2;\n                pbVar6 = (byte *)"ilp32";\n                do {\n                  if (iVar3 == 0) break;\n                  iVar3 = iVar3 + -1;\n                  bVar8 = *pbVar4 < *pbVar6;\n                  bVar7 = *pbVar4 == *pbVar6;\n                  pbVar4 = pbVar4 + 1;\n                  pbVar6 = pbVar6 + 1;\n                } while (bVar7);\n                bVar9 = false;\n                bVar7 = (!bVar8 && !bVar7) == bVar8;\n                if (bVar7) {\n                  DAT_00087d90 = DAT_00087d90 & 0xffffffef;\n                  return true;\n                }\n                iVar3 = 3;\n                pbVar4 = param_2;\n                pbVar6 = (byte *)0x5a287;\n                do {\n                  if (iVar3 == 0) break;\n                  iVar3 = iVar3 + -1;\n                  bVar9 = *pbVar4 < *pbVar6;\n                  bVar7 = *pbVar4 == *pbVar6;\n                  pbVar4 = pbVar4 + 1;\n                  pbVar6 = pbVar6 + 1;\n                } while (bVar7);\n                bVar8 = false;\n                bVar7 = (!bVar9 && !bVar7) == bVar9;\n                if (bVar7) {\n                  DAT_00087d90 = DAT_00087d90 & 0xfffffff7;\n                  DAT_00087dfc = 0;\n                  return true;\n                }\n                iVar3 = 3;\n                pbVar4 = param_2;\n                pbVar6 = &DAT_00063a90;\n                do {\n                  if (iVar3 == 0) break;\n                  iVar3 = iVar3 + -1;\n                  bVar8 = *pbVar4 < *pbVar6;\n                  bVar7 = *pbVar4 == *pbVar6;\n                  pbVar4 = pbVar4 + 1;\n                  pbVar6 = pbVar6 + 1;\n                } while (bVar7);\n                bVar9 = false;\n                bVar7 = (!bVar8 && !bVar7) == bVar8;\n                if (bVar7) {\n                  DAT_00087d90 = DAT_00087d90 | 8;\n                  DAT_00087dfc = 1;\n                  return true;\n                }\n                iVar3 = 0xd;\n                pbVar4 = param_2;\n                pbVar6 = (byte *)"unwind-check=";\n                do {\n                  if (iVar3 == 0) break;\n                  iVar3 = iVar3 + -1;\n                  bVar9 = *pbVar4 < *pbVar6;\n                  bVar7 = *pbVar4 == *pbVar6;\n                  pbVar4 = pbVar4 + 1;\n                  pbVar6 = pbVar6 + 1;\n                } while (bVar7);\n                if ((!bVar9 && !bVar7) == bVar9) {\n                  iVar3 = strcmp((char *)(param_2 + 0xd),"warning");\n                  if (iVar3 == 0) {\n                    DAT_00087974 = 0;\n                    return true;\n                  }\n                  iVar3 = strcmp((char *)(param_2 + 0xd),"error");\n                  if (iVar3 == 0) {\n                    DAT_00087974 = 1;\n                    return true;\n                  }\n                  return false;\n                }\n                iVar3 = strncmp((char *)param_2,"hint.b=",7);\n                if (iVar3 != 0) {\n                  iVar3 = strncmp((char *)param_2,"tune=",5);\n                  if (iVar3 != 0) {\n                    return false;\n                  }\n                  iVar3 = strcmp((char *)(param_2 + 5),"itanium1");\n                  if (iVar3 != 0) {\n                    iVar3 = strcmp((char *)(param_2 + 5),"itanium2");\n                    if (iVar3 == 0) {\n                      DAT_00087968 = 1;\n                      return true;\n                    }\n                    return false;\n                  }\n                  DAT_00087968 = 0;\n                  return true;\n                }\n                param_2 = param_2 + 7;\n                iVar3 = strcmp((char *)param_2,"ok");\n                if (iVar3 == 0) {\n                  DAT_0008796c = 2;\n                  return true;\n                }\n                iVar3 = strcmp((char *)param_2,"warning");\n                if (iVar3 != 0) {\n                  iVar3 = strcmp((char *)param_2,"error");\n                  if (iVar3 == 0) {\n                    DAT_0008796c = 0;\n                    return true;\n                  }\n                  return false;\n                }\n                DAT_0008796c = 1;\n                return true;\n              }\n            }\n          }" { (expression_statement "iVar3 = 5;" (assignment_expression "iVar3 = 5" identifier = number_literal) ;) (expression_statement "pbVar4 = param_2;" (assignment_expression "pbVar4 = param_2" identifier = identifier) ;) (expression_statement "pbVar6 = &DAT_000639e9;" (assignment_expression "pbVar6 = &DAT_000639e9" identifier = (pointer_expression "&DAT_000639e9" & identifier)) ;) (do_statement "do {\n              if (iVar3 == 0) break;\n              iVar3 = iVar3 + -1;\n              bVar8 = *pbVar4 < *pbVar6;\n              bVar7 = *pbVar4 == *pbVar6;\n              pbVar4 = pbVar4 + 1;\n              pbVar6 = pbVar6 + 1;\n            } while (bVar7);" do (compound_statement "{\n              if (iVar3 == 0) break;\n              iVar3 = iVar3 + -1;\n              bVar8 = *pbVar4 < *pbVar6;\n              bVar7 = *pbVar4 == *pbVar6;\n              pbVar4 = pbVar4 + 1;\n              pbVar6 = pbVar6 + 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 = *pbVar4 < *pbVar6;" (assignment_expression "bVar8 = *pbVar4 < *pbVar6" identifier = (binary_expression "*pbVar4 < *pbVar6" (pointer_expression "*pbVar4" * identifier) < (pointer_expression "*pbVar6" * identifier))) ;) (expression_statement "bVar7 = *pbVar4 == *pbVar6;" (assignment_expression "bVar7 = *pbVar4 == *pbVar6" identifier = (binary_expression "*pbVar4 == *pbVar6" (pointer_expression "*pbVar4" * identifier) == (pointer_expression "*pbVar6" * identifier))) ;) (expression_statement "pbVar4 = pbVar4 + 1;" (assignment_expression "pbVar4 = pbVar4 + 1" identifier = (binary_expression "pbVar4 + 1" identifier + number_literal)) ;) (expression_statement "pbVar6 = pbVar6 + 1;" (assignment_expression "pbVar6 = pbVar6 + 1" identifier = (binary_expression "pbVar6 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(bVar7)" ( identifier )) ;) (expression_statement "bVar9 = false;" (assignment_expression "bVar9 = false" identifier = false) ;) (expression_statement "bVar7 = (!bVar8 && !bVar7) == bVar8;" (assignment_expression "bVar7 = (!bVar8 && !bVar7) == bVar8" identifier = (binary_expression "(!bVar8 && !bVar7) == bVar8" (parenthesized_expression "(!bVar8 && !bVar7)" ( (binary_expression "!bVar8 && !bVar7" (unary_expression "!bVar8" ! identifier) && (unary_expression "!bVar7" ! identifier)) )) == identifier)) ;) (if_statement "if (!bVar7) {\n              iVar3 = 4;\n              pbVar4 = param_2;\n              pbVar6 = &DAT_000639ea;\n              do {\n                if (iVar3 == 0) break;\n                iVar3 = iVar3 + -1;\n                bVar9 = *pbVar4 < *pbVar6;\n                bVar7 = *pbVar4 == *pbVar6;\n                pbVar4 = pbVar4 + 1;\n                pbVar6 = pbVar6 + 1;\n              } while (bVar7);\n              bVar8 = false;\n              bVar7 = (!bVar9 && !bVar7) == bVar9;\n              if (!bVar7) {\n                iVar3 = 6;\n                pbVar4 = param_2;\n                pbVar6 = (byte *)"ilp32";\n                do {\n                  if (iVar3 == 0) break;\n                  iVar3 = iVar3 + -1;\n                  bVar8 = *pbVar4 < *pbVar6;\n                  bVar7 = *pbVar4 == *pbVar6;\n                  pbVar4 = pbVar4 + 1;\n                  pbVar6 = pbVar6 + 1;\n                } while (bVar7);\n                bVar9 = false;\n                bVar7 = (!bVar8 && !bVar7) == bVar8;\n                if (bVar7) {\n                  DAT_00087d90 = DAT_00087d90 & 0xffffffef;\n                  return true;\n                }\n                iVar3 = 3;\n                pbVar4 = param_2;\n                pbVar6 = (byte *)0x5a287;\n                do {\n                  if (iVar3 == 0) break;\n                  iVar3 = iVar3 + -1;\n                  bVar9 = *pbVar4 < *pbVar6;\n                  bVar7 = *pbVar4 == *pbVar6;\n                  pbVar4 = pbVar4 + 1;\n                  pbVar6 = pbVar6 + 1;\n                } while (bVar7);\n                bVar8 = false;\n                bVar7 = (!bVar9 && !bVar7) == bVar9;\n                if (bVar7) {\n                  DAT_00087d90 = DAT_00087d90 & 0xfffffff7;\n                  DAT_00087dfc = 0;\n                  return true;\n                }\n                iVar3 = 3;\n                pbVar4 = param_2;\n                pbVar6 = &DAT_00063a90;\n                do {\n                  if (iVar3 == 0) break;\n                  iVar3 = iVar3 + -1;\n                  bVar8 = *pbVar4 < *pbVar6;\n                  bVar7 = *pbVar4 == *pbVar6;\n                  pbVar4 = pbVar4 + 1;\n                  pbVar6 = pbVar6 + 1;\n                } while (bVar7);\n                bVar9 = false;\n                bVar7 = (!bVar8 && !bVar7) == bVar8;\n                if (bVar7) {\n                  DAT_00087d90 = DAT_00087d90 | 8;\n                  DAT_00087dfc = 1;\n                  return true;\n                }\n                iVar3 = 0xd;\n                pbVar4 = param_2;\n                pbVar6 = (byte *)"unwind-check=";\n                do {\n                  if (iVar3 == 0) break;\n                  iVar3 = iVar3 + -1;\n                  bVar9 = *pbVar4 < *pbVar6;\n                  bVar7 = *pbVar4 == *pbVar6;\n                  pbVar4 = pbVar4 + 1;\n                  pbVar6 = pbVar6 + 1;\n                } while (bVar7);\n                if ((!bVar9 && !bVar7) == bVar9) {\n                  iVar3 = strcmp((char *)(param_2 + 0xd),"warning");\n                  if (iVar3 == 0) {\n                    DAT_00087974 = 0;\n                    return true;\n                  }\n                  iVar3 = strcmp((char *)(param_2 + 0xd),"error");\n                  if (iVar3 == 0) {\n                    DAT_00087974 = 1;\n                    return true;\n                  }\n                  return false;\n                }\n                iVar3 = strncmp((char *)param_2,"hint.b=",7);\n                if (iVar3 != 0) {\n                  iVar3 = strncmp((char *)param_2,"tune=",5);\n                  if (iVar3 != 0) {\n                    return false;\n                  }\n                  iVar3 = strcmp((char *)(param_2 + 5),"itanium1");\n                  if (iVar3 != 0) {\n                    iVar3 = strcmp((char *)(param_2 + 5),"itanium2");\n                    if (iVar3 == 0) {\n                      DAT_00087968 = 1;\n                      return true;\n                    }\n                    return false;\n                  }\n                  DAT_00087968 = 0;\n                  return true;\n                }\n                param_2 = param_2 + 7;\n                iVar3 = strcmp((char *)param_2,"ok");\n                if (iVar3 == 0) {\n                  DAT_0008796c = 2;\n                  return true;\n                }\n                iVar3 = strcmp((char *)param_2,"warning");\n                if (iVar3 != 0) {\n                  iVar3 = strcmp((char *)param_2,"error");\n                  if (iVar3 == 0) {\n                    DAT_0008796c = 0;\n                    return true;\n                  }\n                  return false;\n                }\n                DAT_0008796c = 1;\n                return true;\n              }\n            }" if (parenthesized_expression "(!bVar7)" ( (unary_expression "!bVar7" ! identifier) )) (compound_statement "{\n              iVar3 = 4;\n              pbVar4 = param_2;\n              pbVar6 = &DAT_000639ea;\n              do {\n                if (iVar3 == 0) break;\n                iVar3 = iVar3 + -1;\n                bVar9 = *pbVar4 < *pbVar6;\n                bVar7 = *pbVar4 == *pbVar6;\n                pbVar4 = pbVar4 + 1;\n                pbVar6 = pbVar6 + 1;\n              } while (bVar7);\n              bVar8 = false;\n              bVar7 = (!bVar9 && !bVar7) == bVar9;\n              if (!bVar7) {\n                iVar3 = 6;\n                pbVar4 = param_2;\n                pbVar6 = (byte *)"ilp32";\n                do {\n                  if (iVar3 == 0) break;\n                  iVar3 = iVar3 + -1;\n                  bVar8 = *pbVar4 < *pbVar6;\n                  bVar7 = *pbVar4 == *pbVar6;\n                  pbVar4 = pbVar4 + 1;\n                  pbVar6 = pbVar6 + 1;\n                } while (bVar7);\n                bVar9 = false;\n                bVar7 = (!bVar8 && !bVar7) == bVar8;\n                if (bVar7) {\n                  DAT_00087d90 = DAT_00087d90 & 0xffffffef;\n                  return true;\n                }\n                iVar3 = 3;\n                pbVar4 = param_2;\n                pbVar6 = (byte *)0x5a287;\n                do {\n                  if (iVar3 == 0) break;\n                  iVar3 = iVar3 + -1;\n                  bVar9 = *pbVar4 < *pbVar6;\n                  bVar7 = *pbVar4 == *pbVar6;\n                  pbVar4 = pbVar4 + 1;\n                  pbVar6 = pbVar6 + 1;\n                } while (bVar7);\n                bVar8 = false;\n                bVar7 = (!bVar9 && !bVar7) == bVar9;\n                if (bVar7) {\n                  DAT_00087d90 = DAT_00087d90 & 0xfffffff7;\n                  DAT_00087dfc = 0;\n                  return true;\n                }\n                iVar3 = 3;\n                pbVar4 = param_2;\n                pbVar6 = &DAT_00063a90;\n                do {\n                  if (iVar3 == 0) break;\n                  iVar3 = iVar3 + -1;\n                  bVar8 = *pbVar4 < *pbVar6;\n                  bVar7 = *pbVar4 == *pbVar6;\n                  pbVar4 = pbVar4 + 1;\n                  pbVar6 = pbVar6 + 1;\n                } while (bVar7);\n                bVar9 = false;\n                bVar7 = (!bVar8 && !bVar7) == bVar8;\n                if (bVar7) {\n                  DAT_00087d90 = DAT_00087d90 | 8;\n                  DAT_00087dfc = 1;\n                  return true;\n                }\n                iVar3 = 0xd;\n                pbVar4 = param_2;\n                pbVar6 = (byte *)"unwind-check=";\n                do {\n                  if (iVar3 == 0) break;\n                  iVar3 = iVar3 + -1;\n                  bVar9 = *pbVar4 < *pbVar6;\n                  bVar7 = *pbVar4 == *pbVar6;\n                  pbVar4 = pbVar4 + 1;\n                  pbVar6 = pbVar6 + 1;\n                } while (bVar7);\n                if ((!bVar9 && !bVar7) == bVar9) {\n                  iVar3 = strcmp((char *)(param_2 + 0xd),"warning");\n                  if (iVar3 == 0) {\n                    DAT_00087974 = 0;\n                    return true;\n                  }\n                  iVar3 = strcmp((char *)(param_2 + 0xd),"error");\n                  if (iVar3 == 0) {\n                    DAT_00087974 = 1;\n                    return true;\n                  }\n                  return false;\n                }\n                iVar3 = strncmp((char *)param_2,"hint.b=",7);\n                if (iVar3 != 0) {\n                  iVar3 = strncmp((char *)param_2,"tune=",5);\n                  if (iVar3 != 0) {\n                    return false;\n                  }\n                  iVar3 = strcmp((char *)(param_2 + 5),"itanium1");\n                  if (iVar3 != 0) {\n                    iVar3 = strcmp((char *)(param_2 + 5),"itanium2");\n                    if (iVar3 == 0) {\n                      DAT_00087968 = 1;\n                      return true;\n                    }\n                    return false;\n                  }\n                  DAT_00087968 = 0;\n                  return true;\n                }\n                param_2 = param_2 + 7;\n                iVar3 = strcmp((char *)param_2,"ok");\n                if (iVar3 == 0) {\n                  DAT_0008796c = 2;\n                  return true;\n                }\n                iVar3 = strcmp((char *)param_2,"warning");\n                if (iVar3 != 0) {\n                  iVar3 = strcmp((char *)param_2,"error");\n                  if (iVar3 == 0) {\n                    DAT_0008796c = 0;\n                    return true;\n                  }\n                  return false;\n                }\n                DAT_0008796c = 1;\n                return true;\n              }\n            }" { (expression_statement "iVar3 = 4;" (assignment_expression "iVar3 = 4" identifier = number_literal) ;) (expression_statement "pbVar4 = param_2;" (assignment_expression "pbVar4 = param_2" identifier = identifier) ;) (expression_statement "pbVar6 = &DAT_000639ea;" (assignment_expression "pbVar6 = &DAT_000639ea" identifier = (pointer_expression "&DAT_000639ea" & identifier)) ;) (do_statement "do {\n                if (iVar3 == 0) break;\n                iVar3 = iVar3 + -1;\n                bVar9 = *pbVar4 < *pbVar6;\n                bVar7 = *pbVar4 == *pbVar6;\n                pbVar4 = pbVar4 + 1;\n                pbVar6 = pbVar6 + 1;\n              } while (bVar7);" do (compound_statement "{\n                if (iVar3 == 0) break;\n                iVar3 = iVar3 + -1;\n                bVar9 = *pbVar4 < *pbVar6;\n                bVar7 = *pbVar4 == *pbVar6;\n                pbVar4 = pbVar4 + 1;\n                pbVar6 = pbVar6 + 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 = *pbVar4 < *pbVar6;" (assignment_expression "bVar9 = *pbVar4 < *pbVar6" identifier = (binary_expression "*pbVar4 < *pbVar6" (pointer_expression "*pbVar4" * identifier) < (pointer_expression "*pbVar6" * identifier))) ;) (expression_statement "bVar7 = *pbVar4 == *pbVar6;" (assignment_expression "bVar7 = *pbVar4 == *pbVar6" identifier = (binary_expression "*pbVar4 == *pbVar6" (pointer_expression "*pbVar4" * identifier) == (pointer_expression "*pbVar6" * identifier))) ;) (expression_statement "pbVar4 = pbVar4 + 1;" (assignment_expression "pbVar4 = pbVar4 + 1" identifier = (binary_expression "pbVar4 + 1" identifier + number_literal)) ;) (expression_statement "pbVar6 = pbVar6 + 1;" (assignment_expression "pbVar6 = pbVar6 + 1" identifier = (binary_expression "pbVar6 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(bVar7)" ( identifier )) ;) (expression_statement "bVar8 = false;" (assignment_expression "bVar8 = false" identifier = false) ;) (expression_statement "bVar7 = (!bVar9 && !bVar7) == bVar9;" (assignment_expression "bVar7 = (!bVar9 && !bVar7) == bVar9" identifier = (binary_expression "(!bVar9 && !bVar7) == bVar9" (parenthesized_expression "(!bVar9 && !bVar7)" ( (binary_expression "!bVar9 && !bVar7" (unary_expression "!bVar9" ! identifier) && (unary_expression "!bVar7" ! identifier)) )) == identifier)) ;) (if_statement "if (!bVar7) {\n                iVar3 = 6;\n                pbVar4 = param_2;\n                pbVar6 = (byte *)"ilp32";\n                do {\n                  if (iVar3 == 0) break;\n                  iVar3 = iVar3 + -1;\n                  bVar8 = *pbVar4 < *pbVar6;\n                  bVar7 = *pbVar4 == *pbVar6;\n                  pbVar4 = pbVar4 + 1;\n                  pbVar6 = pbVar6 + 1;\n                } while (bVar7);\n                bVar9 = false;\n                bVar7 = (!bVar8 && !bVar7) == bVar8;\n                if (bVar7) {\n                  DAT_00087d90 = DAT_00087d90 & 0xffffffef;\n                  return true;\n                }\n                iVar3 = 3;\n                pbVar4 = param_2;\n                pbVar6 = (byte *)0x5a287;\n                do {\n                  if (iVar3 == 0) break;\n                  iVar3 = iVar3 + -1;\n                  bVar9 = *pbVar4 < *pbVar6;\n                  bVar7 = *pbVar4 == *pbVar6;\n                  pbVar4 = pbVar4 + 1;\n                  pbVar6 = pbVar6 + 1;\n                } while (bVar7);\n                bVar8 = false;\n                bVar7 = (!bVar9 && !bVar7) == bVar9;\n                if (bVar7) {\n                  DAT_00087d90 = DAT_00087d90 & 0xfffffff7;\n                  DAT_00087dfc = 0;\n                  return true;\n                }\n                iVar3 = 3;\n                pbVar4 = param_2;\n                pbVar6 = &DAT_00063a90;\n                do {\n                  if (iVar3 == 0) break;\n                  iVar3 = iVar3 + -1;\n                  bVar8 = *pbVar4 < *pbVar6;\n                  bVar7 = *pbVar4 == *pbVar6;\n                  pbVar4 = pbVar4 + 1;\n                  pbVar6 = pbVar6 + 1;\n                } while (bVar7);\n                bVar9 = false;\n                bVar7 = (!bVar8 && !bVar7) == bVar8;\n                if (bVar7) {\n                  DAT_00087d90 = DAT_00087d90 | 8;\n                  DAT_00087dfc = 1;\n                  return true;\n                }\n                iVar3 = 0xd;\n                pbVar4 = param_2;\n                pbVar6 = (byte *)"unwind-check=";\n                do {\n                  if (iVar3 == 0) break;\n                  iVar3 = iVar3 + -1;\n                  bVar9 = *pbVar4 < *pbVar6;\n                  bVar7 = *pbVar4 == *pbVar6;\n                  pbVar4 = pbVar4 + 1;\n                  pbVar6 = pbVar6 + 1;\n                } while (bVar7);\n                if ((!bVar9 && !bVar7) == bVar9) {\n                  iVar3 = strcmp((char *)(param_2 + 0xd),"warning");\n                  if (iVar3 == 0) {\n                    DAT_00087974 = 0;\n                    return true;\n                  }\n                  iVar3 = strcmp((char *)(param_2 + 0xd),"error");\n                  if (iVar3 == 0) {\n                    DAT_00087974 = 1;\n                    return true;\n                  }\n                  return false;\n                }\n                iVar3 = strncmp((char *)param_2,"hint.b=",7);\n                if (iVar3 != 0) {\n                  iVar3 = strncmp((char *)param_2,"tune=",5);\n                  if (iVar3 != 0) {\n                    return false;\n                  }\n                  iVar3 = strcmp((char *)(param_2 + 5),"itanium1");\n                  if (iVar3 != 0) {\n                    iVar3 = strcmp((char *)(param_2 + 5),"itanium2");\n                    if (iVar3 == 0) {\n                      DAT_00087968 = 1;\n                      return true;\n                    }\n                    return false;\n                  }\n                  DAT_00087968 = 0;\n                  return true;\n                }\n                param_2 = param_2 + 7;\n                iVar3 = strcmp((char *)param_2,"ok");\n                if (iVar3 == 0) {\n                  DAT_0008796c = 2;\n                  return true;\n                }\n                iVar3 = strcmp((char *)param_2,"warning");\n                if (iVar3 != 0) {\n                  iVar3 = strcmp((char *)param_2,"error");\n                  if (iVar3 == 0) {\n                    DAT_0008796c = 0;\n                    return true;\n                  }\n                  return false;\n                }\n                DAT_0008796c = 1;\n                return true;\n              }" if (parenthesized_expression "(!bVar7)" ( (unary_expression "!bVar7" ! identifier) )) (compound_statement "{\n                iVar3 = 6;\n                pbVar4 = param_2;\n                pbVar6 = (byte *)"ilp32";\n                do {\n                  if (iVar3 == 0) break;\n                  iVar3 = iVar3 + -1;\n                  bVar8 = *pbVar4 < *pbVar6;\n                  bVar7 = *pbVar4 == *pbVar6;\n                  pbVar4 = pbVar4 + 1;\n                  pbVar6 = pbVar6 + 1;\n                } while (bVar7);\n                bVar9 = false;\n                bVar7 = (!bVar8 && !bVar7) == bVar8;\n                if (bVar7) {\n                  DAT_00087d90 = DAT_00087d90 & 0xffffffef;\n                  return true;\n                }\n                iVar3 = 3;\n                pbVar4 = param_2;\n                pbVar6 = (byte *)0x5a287;\n                do {\n                  if (iVar3 == 0) break;\n                  iVar3 = iVar3 + -1;\n                  bVar9 = *pbVar4 < *pbVar6;\n                  bVar7 = *pbVar4 == *pbVar6;\n                  pbVar4 = pbVar4 + 1;\n                  pbVar6 = pbVar6 + 1;\n                } while (bVar7);\n                bVar8 = false;\n                bVar7 = (!bVar9 && !bVar7) == bVar9;\n                if (bVar7) {\n                  DAT_00087d90 = DAT_00087d90 & 0xfffffff7;\n                  DAT_00087dfc = 0;\n                  return true;\n                }\n                iVar3 = 3;\n                pbVar4 = param_2;\n                pbVar6 = &DAT_00063a90;\n                do {\n                  if (iVar3 == 0) break;\n                  iVar3 = iVar3 + -1;\n                  bVar8 = *pbVar4 < *pbVar6;\n                  bVar7 = *pbVar4 == *pbVar6;\n                  pbVar4 = pbVar4 + 1;\n                  pbVar6 = pbVar6 + 1;\n                } while (bVar7);\n                bVar9 = false;\n                bVar7 = (!bVar8 && !bVar7) == bVar8;\n                if (bVar7) {\n                  DAT_00087d90 = DAT_00087d90 | 8;\n                  DAT_00087dfc = 1;\n                  return true;\n                }\n                iVar3 = 0xd;\n                pbVar4 = param_2;\n                pbVar6 = (byte *)"unwind-check=";\n                do {\n                  if (iVar3 == 0) break;\n                  iVar3 = iVar3 + -1;\n                  bVar9 = *pbVar4 < *pbVar6;\n                  bVar7 = *pbVar4 == *pbVar6;\n                  pbVar4 = pbVar4 + 1;\n                  pbVar6 = pbVar6 + 1;\n                } while (bVar7);\n                if ((!bVar9 && !bVar7) == bVar9) {\n                  iVar3 = strcmp((char *)(param_2 + 0xd),"warning");\n                  if (iVar3 == 0) {\n                    DAT_00087974 = 0;\n                    return true;\n                  }\n                  iVar3 = strcmp((char *)(param_2 + 0xd),"error");\n                  if (iVar3 == 0) {\n                    DAT_00087974 = 1;\n                    return true;\n                  }\n                  return false;\n                }\n                iVar3 = strncmp((char *)param_2,"hint.b=",7);\n                if (iVar3 != 0) {\n                  iVar3 = strncmp((char *)param_2,"tune=",5);\n                  if (iVar3 != 0) {\n                    return false;\n                  }\n                  iVar3 = strcmp((char *)(param_2 + 5),"itanium1");\n                  if (iVar3 != 0) {\n                    iVar3 = strcmp((char *)(param_2 + 5),"itanium2");\n                    if (iVar3 == 0) {\n                      DAT_00087968 = 1;\n                      return true;\n                    }\n                    return false;\n                  }\n                  DAT_00087968 = 0;\n                  return true;\n                }\n                param_2 = param_2 + 7;\n                iVar3 = strcmp((char *)param_2,"ok");\n                if (iVar3 == 0) {\n                  DAT_0008796c = 2;\n                  return true;\n                }\n                iVar3 = strcmp((char *)param_2,"warning");\n                if (iVar3 != 0) {\n                  iVar3 = strcmp((char *)param_2,"error");\n                  if (iVar3 == 0) {\n                    DAT_0008796c = 0;\n                    return true;\n                  }\n                  return false;\n                }\n                DAT_0008796c = 1;\n                return true;\n              }" { (expression_statement "iVar3 = 6;" (assignment_expression "iVar3 = 6" identifier = number_literal) ;) (expression_statement "pbVar4 = param_2;" (assignment_expression "pbVar4 = param_2" identifier = identifier) ;) (expression_statement "pbVar6 = (byte *)"ilp32";" (assignment_expression "pbVar6 = (byte *)"ilp32"" identifier = (cast_expression "(byte *)"ilp32"" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (string_literal ""ilp32"" " string_content "))) ;) (do_statement "do {\n                  if (iVar3 == 0) break;\n                  iVar3 = iVar3 + -1;\n                  bVar8 = *pbVar4 < *pbVar6;\n                  bVar7 = *pbVar4 == *pbVar6;\n                  pbVar4 = pbVar4 + 1;\n                  pbVar6 = pbVar6 + 1;\n                } while (bVar7);" do (compound_statement "{\n                  if (iVar3 == 0) break;\n                  iVar3 = iVar3 + -1;\n                  bVar8 = *pbVar4 < *pbVar6;\n                  bVar7 = *pbVar4 == *pbVar6;\n                  pbVar4 = pbVar4 + 1;\n                  pbVar6 = pbVar6 + 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 = *pbVar4 < *pbVar6;" (assignment_expression "bVar8 = *pbVar4 < *pbVar6" identifier = (binary_expression "*pbVar4 < *pbVar6" (pointer_expression "*pbVar4" * identifier) < (pointer_expression "*pbVar6" * identifier))) ;) (expression_statement "bVar7 = *pbVar4 == *pbVar6;" (assignment_expression "bVar7 = *pbVar4 == *pbVar6" identifier = (binary_expression "*pbVar4 == *pbVar6" (pointer_expression "*pbVar4" * identifier) == (pointer_expression "*pbVar6" * identifier))) ;) (expression_statement "pbVar4 = pbVar4 + 1;" (assignment_expression "pbVar4 = pbVar4 + 1" identifier = (binary_expression "pbVar4 + 1" identifier + number_literal)) ;) (expression_statement "pbVar6 = pbVar6 + 1;" (assignment_expression "pbVar6 = pbVar6 + 1" identifier = (binary_expression "pbVar6 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(bVar7)" ( identifier )) ;) (expression_statement "bVar9 = false;" (assignment_expression "bVar9 = false" identifier = false) ;) (expression_statement "bVar7 = (!bVar8 && !bVar7) == bVar8;" (assignment_expression "bVar7 = (!bVar8 && !bVar7) == bVar8" identifier = (binary_expression "(!bVar8 && !bVar7) == bVar8" (parenthesized_expression "(!bVar8 && !bVar7)" ( (binary_expression "!bVar8 && !bVar7" (unary_expression "!bVar8" ! identifier) && (unary_expression "!bVar7" ! identifier)) )) == identifier)) ;) (if_statement "if (bVar7) {\n                  DAT_00087d90 = DAT_00087d90 & 0xffffffef;\n                  return true;\n                }" if (parenthesized_expression "(bVar7)" ( identifier )) (compound_statement "{\n                  DAT_00087d90 = DAT_00087d90 & 0xffffffef;\n                  return true;\n                }" { (expression_statement "DAT_00087d90 = DAT_00087d90 & 0xffffffef;" (assignment_expression "DAT_00087d90 = DAT_00087d90 & 0xffffffef" identifier = (binary_expression "DAT_00087d90 & 0xffffffef" identifier & number_literal)) ;) (return_statement "return true;" return true ;) })) (expression_statement "iVar3 = 3;" (assignment_expression "iVar3 = 3" identifier = number_literal) ;) (expression_statement "pbVar4 = param_2;" (assignment_expression "pbVar4 = param_2" identifier = identifier) ;) (expression_statement "pbVar6 = (byte *)0x5a287;" (assignment_expression "pbVar6 = (byte *)0x5a287" identifier = (cast_expression "(byte *)0x5a287" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (do_statement "do {\n                  if (iVar3 == 0) break;\n                  iVar3 = iVar3 + -1;\n                  bVar9 = *pbVar4 < *pbVar6;\n                  bVar7 = *pbVar4 == *pbVar6;\n                  pbVar4 = pbVar4 + 1;\n                  pbVar6 = pbVar6 + 1;\n                } while (bVar7);" do (compound_statement "{\n                  if (iVar3 == 0) break;\n                  iVar3 = iVar3 + -1;\n                  bVar9 = *pbVar4 < *pbVar6;\n                  bVar7 = *pbVar4 == *pbVar6;\n                  pbVar4 = pbVar4 + 1;\n                  pbVar6 = pbVar6 + 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 = *pbVar4 < *pbVar6;" (assignment_expression "bVar9 = *pbVar4 < *pbVar6" identifier = (binary_expression "*pbVar4 < *pbVar6" (pointer_expression "*pbVar4" * identifier) < (pointer_expression "*pbVar6" * identifier))) ;) (expression_statement "bVar7 = *pbVar4 == *pbVar6;" (assignment_expression "bVar7 = *pbVar4 == *pbVar6" identifier = (binary_expression "*pbVar4 == *pbVar6" (pointer_expression "*pbVar4" * identifier) == (pointer_expression "*pbVar6" * identifier))) ;) (expression_statement "pbVar4 = pbVar4 + 1;" (assignment_expression "pbVar4 = pbVar4 + 1" identifier = (binary_expression "pbVar4 + 1" identifier + number_literal)) ;) (expression_statement "pbVar6 = pbVar6 + 1;" (assignment_expression "pbVar6 = pbVar6 + 1" identifier = (binary_expression "pbVar6 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(bVar7)" ( identifier )) ;) (expression_statement "bVar8 = false;" (assignment_expression "bVar8 = false" identifier = false) ;) (expression_statement "bVar7 = (!bVar9 && !bVar7) == bVar9;" (assignment_expression "bVar7 = (!bVar9 && !bVar7) == bVar9" identifier = (binary_expression "(!bVar9 && !bVar7) == bVar9" (parenthesized_expression "(!bVar9 && !bVar7)" ( (binary_expression "!bVar9 && !bVar7" (unary_expression "!bVar9" ! identifier) && (unary_expression "!bVar7" ! identifier)) )) == identifier)) ;) (if_statement "if (bVar7) {\n                  DAT_00087d90 = DAT_00087d90 & 0xfffffff7;\n                  DAT_00087dfc = 0;\n                  return true;\n                }" if (parenthesized_expression "(bVar7)" ( identifier )) (compound_statement "{\n                  DAT_00087d90 = DAT_00087d90 & 0xfffffff7;\n                  DAT_00087dfc = 0;\n                  return true;\n                }" { (expression_statement "DAT_00087d90 = DAT_00087d90 & 0xfffffff7;" (assignment_expression "DAT_00087d90 = DAT_00087d90 & 0xfffffff7" identifier = (binary_expression "DAT_00087d90 & 0xfffffff7" identifier & number_literal)) ;) (expression_statement "DAT_00087dfc = 0;" (assignment_expression "DAT_00087dfc = 0" identifier = number_literal) ;) (return_statement "return true;" return true ;) })) (expression_statement "iVar3 = 3;" (assignment_expression "iVar3 = 3" identifier = number_literal) ;) (expression_statement "pbVar4 = param_2;" (assignment_expression "pbVar4 = param_2" identifier = identifier) ;) (expression_statement "pbVar6 = &DAT_00063a90;" (assignment_expression "pbVar6 = &DAT_00063a90" identifier = (pointer_expression "&DAT_00063a90" & identifier)) ;) (do_statement "do {\n                  if (iVar3 == 0) break;\n                  iVar3 = iVar3 + -1;\n                  bVar8 = *pbVar4 < *pbVar6;\n                  bVar7 = *pbVar4 == *pbVar6;\n                  pbVar4 = pbVar4 + 1;\n                  pbVar6 = pbVar6 + 1;\n                } while (bVar7);" do (compound_statement "{\n                  if (iVar3 == 0) break;\n                  iVar3 = iVar3 + -1;\n                  bVar8 = *pbVar4 < *pbVar6;\n                  bVar7 = *pbVar4 == *pbVar6;\n                  pbVar4 = pbVar4 + 1;\n                  pbVar6 = pbVar6 + 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 = *pbVar4 < *pbVar6;" (assignment_expression "bVar8 = *pbVar4 < *pbVar6" identifier = (binary_expression "*pbVar4 < *pbVar6" (pointer_expression "*pbVar4" * identifier) < (pointer_expression "*pbVar6" * identifier))) ;) (expression_statement "bVar7 = *pbVar4 == *pbVar6;" (assignment_expression "bVar7 = *pbVar4 == *pbVar6" identifier = (binary_expression "*pbVar4 == *pbVar6" (pointer_expression "*pbVar4" * identifier) == (pointer_expression "*pbVar6" * identifier))) ;) (expression_statement "pbVar4 = pbVar4 + 1;" (assignment_expression "pbVar4 = pbVar4 + 1" identifier = (binary_expression "pbVar4 + 1" identifier + number_literal)) ;) (expression_statement "pbVar6 = pbVar6 + 1;" (assignment_expression "pbVar6 = pbVar6 + 1" identifier = (binary_expression "pbVar6 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(bVar7)" ( identifier )) ;) (expression_statement "bVar9 = false;" (assignment_expression "bVar9 = false" identifier = false) ;) (expression_statement "bVar7 = (!bVar8 && !bVar7) == bVar8;" (assignment_expression "bVar7 = (!bVar8 && !bVar7) == bVar8" identifier = (binary_expression "(!bVar8 && !bVar7) == bVar8" (parenthesized_expression "(!bVar8 && !bVar7)" ( (binary_expression "!bVar8 && !bVar7" (unary_expression "!bVar8" ! identifier) && (unary_expression "!bVar7" ! identifier)) )) == identifier)) ;) (if_statement "if (bVar7) {\n                  DAT_00087d90 = DAT_00087d90 | 8;\n                  DAT_00087dfc = 1;\n                  return true;\n                }" if (parenthesized_expression "(bVar7)" ( identifier )) (compound_statement "{\n                  DAT_00087d90 = DAT_00087d90 | 8;\n                  DAT_00087dfc = 1;\n                  return true;\n                }" { (expression_statement "DAT_00087d90 = DAT_00087d90 | 8;" (assignment_expression "DAT_00087d90 = DAT_00087d90 | 8" identifier = (binary_expression "DAT_00087d90 | 8" identifier | number_literal)) ;) (expression_statement "DAT_00087dfc = 1;" (assignment_expression "DAT_00087dfc = 1" identifier = number_literal) ;) (return_statement "return true;" return true ;) })) (expression_statement "iVar3 = 0xd;" (assignment_expression "iVar3 = 0xd" identifier = number_literal) ;) (expression_statement "pbVar4 = param_2;" (assignment_expression "pbVar4 = param_2" identifier = identifier) ;) (expression_statement "pbVar6 = (byte *)"unwind-check=";" (assignment_expression "pbVar6 = (byte *)"unwind-check="" identifier = (cast_expression "(byte *)"unwind-check="" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (string_literal ""unwind-check="" " string_content "))) ;) (do_statement "do {\n                  if (iVar3 == 0) break;\n                  iVar3 = iVar3 + -1;\n                  bVar9 = *pbVar4 < *pbVar6;\n                  bVar7 = *pbVar4 == *pbVar6;\n                  pbVar4 = pbVar4 + 1;\n                  pbVar6 = pbVar6 + 1;\n                } while (bVar7);" do (compound_statement "{\n                  if (iVar3 == 0) break;\n                  iVar3 = iVar3 + -1;\n                  bVar9 = *pbVar4 < *pbVar6;\n                  bVar7 = *pbVar4 == *pbVar6;\n                  pbVar4 = pbVar4 + 1;\n                  pbVar6 = pbVar6 + 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 = *pbVar4 < *pbVar6;" (assignment_expression "bVar9 = *pbVar4 < *pbVar6" identifier = (binary_expression "*pbVar4 < *pbVar6" (pointer_expression "*pbVar4" * identifier) < (pointer_expression "*pbVar6" * identifier))) ;) (expression_statement "bVar7 = *pbVar4 == *pbVar6;" (assignment_expression "bVar7 = *pbVar4 == *pbVar6" identifier = (binary_expression "*pbVar4 == *pbVar6" (pointer_expression "*pbVar4" * identifier) == (pointer_expression "*pbVar6" * identifier))) ;) (expression_statement "pbVar4 = pbVar4 + 1;" (assignment_expression "pbVar4 = pbVar4 + 1" identifier = (binary_expression "pbVar4 + 1" identifier + number_literal)) ;) (expression_statement "pbVar6 = pbVar6 + 1;" (assignment_expression "pbVar6 = pbVar6 + 1" identifier = (binary_expression "pbVar6 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(bVar7)" ( identifier )) ;) (if_statement "if ((!bVar9 && !bVar7) == bVar9) {\n                  iVar3 = strcmp((char *)(param_2 + 0xd),"warning");\n                  if (iVar3 == 0) {\n                    DAT_00087974 = 0;\n                    return true;\n                  }\n                  iVar3 = strcmp((char *)(param_2 + 0xd),"error");\n                  if (iVar3 == 0) {\n                    DAT_00087974 = 1;\n                    return true;\n                  }\n                  return false;\n                }" if (parenthesized_expression "((!bVar9 && !bVar7) == bVar9)" ( (binary_expression "(!bVar9 && !bVar7) == bVar9" (parenthesized_expression "(!bVar9 && !bVar7)" ( (binary_expression "!bVar9 && !bVar7" (unary_expression "!bVar9" ! identifier) && (unary_expression "!bVar7" ! identifier)) )) == identifier) )) (compound_statement "{\n                  iVar3 = strcmp((char *)(param_2 + 0xd),"warning");\n                  if (iVar3 == 0) {\n                    DAT_00087974 = 0;\n                    return true;\n                  }\n                  iVar3 = strcmp((char *)(param_2 + 0xd),"error");\n                  if (iVar3 == 0) {\n                    DAT_00087974 = 1;\n                    return true;\n                  }\n                  return false;\n                }" { (expression_statement "iVar3 = strcmp((char *)(param_2 + 0xd),"warning");" (assignment_expression "iVar3 = strcmp((char *)(param_2 + 0xd),"warning")" identifier = (call_expression "strcmp((char *)(param_2 + 0xd),"warning")" identifier (argument_list "((char *)(param_2 + 0xd),"warning")" ( (cast_expression "(char *)(param_2 + 0xd)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 0xd)" ( (binary_expression "param_2 + 0xd" identifier + number_literal) ))) , (string_literal ""warning"" " string_content ") )))) ;) (if_statement "if (iVar3 == 0) {\n                    DAT_00087974 = 0;\n                    return true;\n                  }" if (parenthesized_expression "(iVar3 == 0)" ( (binary_expression "iVar3 == 0" identifier == number_literal) )) (compound_statement "{\n                    DAT_00087974 = 0;\n                    return true;\n                  }" { (expression_statement "DAT_00087974 = 0;" (assignment_expression "DAT_00087974 = 0" identifier = number_literal) ;) (return_statement "return true;" return true ;) })) (expression_statement "iVar3 = strcmp((char *)(param_2 + 0xd),"error");" (assignment_expression "iVar3 = strcmp((char *)(param_2 + 0xd),"error")" identifier = (call_expression "strcmp((char *)(param_2 + 0xd),"error")" identifier (argument_list "((char *)(param_2 + 0xd),"error")" ( (cast_expression "(char *)(param_2 + 0xd)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 0xd)" ( (binary_expression "param_2 + 0xd" identifier + number_literal) ))) , (string_literal ""error"" " string_content ") )))) ;) (if_statement "if (iVar3 == 0) {\n                    DAT_00087974 = 1;\n                    return true;\n                  }" if (parenthesized_expression "(iVar3 == 0)" ( (binary_expression "iVar3 == 0" identifier == number_literal) )) (compound_statement "{\n                    DAT_00087974 = 1;\n                    return true;\n                  }" { (expression_statement "DAT_00087974 = 1;" (assignment_expression "DAT_00087974 = 1" identifier = number_literal) ;) (return_statement "return true;" return true ;) })) (return_statement "return false;" return false ;) })) (expression_statement "iVar3 = strncmp((char *)param_2,"hint.b=",7);" (assignment_expression "iVar3 = strncmp((char *)param_2,"hint.b=",7)" identifier = (call_expression "strncmp((char *)param_2,"hint.b=",7)" identifier (argument_list "((char *)param_2,"hint.b=",7)" ( (cast_expression "(char *)param_2" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) , (string_literal ""hint.b="" " string_content ") , number_literal )))) ;) (if_statement "if (iVar3 != 0) {\n                  iVar3 = strncmp((char *)param_2,"tune=",5);\n                  if (iVar3 != 0) {\n                    return false;\n                  }\n                  iVar3 = strcmp((char *)(param_2 + 5),"itanium1");\n                  if (iVar3 != 0) {\n                    iVar3 = strcmp((char *)(param_2 + 5),"itanium2");\n                    if (iVar3 == 0) {\n                      DAT_00087968 = 1;\n                      return true;\n                    }\n                    return false;\n                  }\n                  DAT_00087968 = 0;\n                  return true;\n                }" if (parenthesized_expression "(iVar3 != 0)" ( (binary_expression "iVar3 != 0" identifier != number_literal) )) (compound_statement "{\n                  iVar3 = strncmp((char *)param_2,"tune=",5);\n                  if (iVar3 != 0) {\n                    return false;\n                  }\n                  iVar3 = strcmp((char *)(param_2 + 5),"itanium1");\n                  if (iVar3 != 0) {\n                    iVar3 = strcmp((char *)(param_2 + 5),"itanium2");\n                    if (iVar3 == 0) {\n                      DAT_00087968 = 1;\n                      return true;\n                    }\n                    return false;\n                  }\n                  DAT_00087968 = 0;\n                  return true;\n                }" { (expression_statement "iVar3 = strncmp((char *)param_2,"tune=",5);" (assignment_expression "iVar3 = strncmp((char *)param_2,"tune=",5)" identifier = (call_expression "strncmp((char *)param_2,"tune=",5)" identifier (argument_list "((char *)param_2,"tune=",5)" ( (cast_expression "(char *)param_2" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) , (string_literal ""tune="" " string_content ") , number_literal )))) ;) (if_statement "if (iVar3 != 0) {\n                    return false;\n                  }" if (parenthesized_expression "(iVar3 != 0)" ( (binary_expression "iVar3 != 0" identifier != number_literal) )) (compound_statement "{\n                    return false;\n                  }" { (return_statement "return false;" return false ;) })) (expression_statement "iVar3 = strcmp((char *)(param_2 + 5),"itanium1");" (assignment_expression "iVar3 = strcmp((char *)(param_2 + 5),"itanium1")" identifier = (call_expression "strcmp((char *)(param_2 + 5),"itanium1")" identifier (argument_list "((char *)(param_2 + 5),"itanium1")" ( (cast_expression "(char *)(param_2 + 5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 5)" ( (binary_expression "param_2 + 5" identifier + number_literal) ))) , (string_literal ""itanium1"" " string_content ") )))) ;) (if_statement "if (iVar3 != 0) {\n                    iVar3 = strcmp((char *)(param_2 + 5),"itanium2");\n                    if (iVar3 == 0) {\n                      DAT_00087968 = 1;\n                      return true;\n                    }\n                    return false;\n                  }" if (parenthesized_expression "(iVar3 != 0)" ( (binary_expression "iVar3 != 0" identifier != number_literal) )) (compound_statement "{\n                    iVar3 = strcmp((char *)(param_2 + 5),"itanium2");\n                    if (iVar3 == 0) {\n                      DAT_00087968 = 1;\n                      return true;\n                    }\n                    return false;\n                  }" { (expression_statement "iVar3 = strcmp((char *)(param_2 + 5),"itanium2");" (assignment_expression "iVar3 = strcmp((char *)(param_2 + 5),"itanium2")" identifier = (call_expression "strcmp((char *)(param_2 + 5),"itanium2")" identifier (argument_list "((char *)(param_2 + 5),"itanium2")" ( (cast_expression "(char *)(param_2 + 5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 5)" ( (binary_expression "param_2 + 5" identifier + number_literal) ))) , (string_literal ""itanium2"" " string_content ") )))) ;) (if_statement "if (iVar3 == 0) {\n                      DAT_00087968 = 1;\n                      return true;\n                    }" if (parenthesized_expression "(iVar3 == 0)" ( (binary_expression "iVar3 == 0" identifier == number_literal) )) (compound_statement "{\n                      DAT_00087968 = 1;\n                      return true;\n                    }" { (expression_statement "DAT_00087968 = 1;" (assignment_expression "DAT_00087968 = 1" identifier = number_literal) ;) (return_statement "return true;" return true ;) })) (return_statement "return false;" return false ;) })) (expression_statement "DAT_00087968 = 0;" (assignment_expression "DAT_00087968 = 0" identifier = number_literal) ;) (return_statement "return true;" return true ;) })) (expression_statement "param_2 = param_2 + 7;" (assignment_expression "param_2 = param_2 + 7" identifier = (binary_expression "param_2 + 7" identifier + number_literal)) ;) (expression_statement "iVar3 = strcmp((char *)param_2,"ok");" (assignment_expression "iVar3 = strcmp((char *)param_2,"ok")" identifier = (call_expression "strcmp((char *)param_2,"ok")" identifier (argument_list "((char *)param_2,"ok")" ( (cast_expression "(char *)param_2" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) , (string_literal ""ok"" " string_content ") )))) ;) (if_statement "if (iVar3 == 0) {\n                  DAT_0008796c = 2;\n                  return true;\n                }" if (parenthesized_expression "(iVar3 == 0)" ( (binary_expression "iVar3 == 0" identifier == number_literal) )) (compound_statement "{\n                  DAT_0008796c = 2;\n                  return true;\n                }" { (expression_statement "DAT_0008796c = 2;" (assignment_expression "DAT_0008796c = 2" identifier = number_literal) ;) (return_statement "return true;" return true ;) })) (expression_statement "iVar3 = strcmp((char *)param_2,"warning");" (assignment_expression "iVar3 = strcmp((char *)param_2,"warning")" identifier = (call_expression "strcmp((char *)param_2,"warning")" identifier (argument_list "((char *)param_2,"warning")" ( (cast_expression "(char *)param_2" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) , (string_literal ""warning"" " string_content ") )))) ;) (if_statement "if (iVar3 != 0) {\n                  iVar3 = strcmp((char *)param_2,"error");\n                  if (iVar3 == 0) {\n                    DAT_0008796c = 0;\n                    return true;\n                  }\n                  return false;\n                }" if (parenthesized_expression "(iVar3 != 0)" ( (binary_expression "iVar3 != 0" identifier != number_literal) )) (compound_statement "{\n                  iVar3 = strcmp((char *)param_2,"error");\n                  if (iVar3 == 0) {\n                    DAT_0008796c = 0;\n                    return true;\n                  }\n                  return false;\n                }" { (expression_statement "iVar3 = strcmp((char *)param_2,"error");" (assignment_expression "iVar3 = strcmp((char *)param_2,"error")" identifier = (call_expression "strcmp((char *)param_2,"error")" identifier (argument_list "((char *)param_2,"error")" ( (cast_expression "(char *)param_2" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) , (string_literal ""error"" " string_content ") )))) ;) (if_statement "if (iVar3 == 0) {\n                    DAT_0008796c = 0;\n                    return true;\n                  }" if (parenthesized_expression "(iVar3 == 0)" ( (binary_expression "iVar3 == 0" identifier == number_literal) )) (compound_statement "{\n                    DAT_0008796c = 0;\n                    return true;\n                  }" { (expression_statement "DAT_0008796c = 0;" (assignment_expression "DAT_0008796c = 0" identifier = number_literal) ;) (return_statement "return true;" return true ;) })) (return_statement "return false;" return false ;) })) (expression_statement "DAT_0008796c = 1;" (assignment_expression "DAT_0008796c = 1" identifier = number_literal) ;) (return_statement "return true;" return true ;) })) })) })) (expression_statement "DAT_00087d90 = DAT_00087d90 | 0x10;" (assignment_expression "DAT_00087d90 = DAT_00087d90 | 0x10" identifier = (binary_expression "DAT_00087d90 | 0x10" identifier | number_literal)) ;) (return_statement "return true;" return true ;) })) }) (else_clause "else {\n        if (param_1 == 0x123) {\n          DAT_00087d90 = DAT_00087d90 | 0x40;\n          return true;\n        }\n        if (param_1 == 0x124) {\n          DAT_00087d90 = DAT_00087d90 | 0x80;\n          return true;\n        }\n      }" else (compound_statement "{\n        if (param_1 == 0x123) {\n          DAT_00087d90 = DAT_00087d90 | 0x40;\n          return true;\n        }\n        if (param_1 == 0x124) {\n          DAT_00087d90 = DAT_00087d90 | 0x80;\n          return true;\n        }\n      }" { (if_statement "if (param_1 == 0x123) {\n          DAT_00087d90 = DAT_00087d90 | 0x40;\n          return true;\n        }" if (parenthesized_expression "(param_1 == 0x123)" ( (binary_expression "param_1 == 0x123" identifier == number_literal) )) (compound_statement "{\n          DAT_00087d90 = DAT_00087d90 | 0x40;\n          return true;\n        }" { (expression_statement "DAT_00087d90 = DAT_00087d90 | 0x40;" (assignment_expression "DAT_00087d90 = DAT_00087d90 | 0x40" identifier = (binary_expression "DAT_00087d90 | 0x40" identifier | number_literal)) ;) (return_statement "return true;" return true ;) })) (if_statement "if (param_1 == 0x124) {\n          DAT_00087d90 = DAT_00087d90 | 0x80;\n          return true;\n        }" if (parenthesized_expression "(param_1 == 0x124)" ( (binary_expression "param_1 == 0x124" identifier == number_literal) )) (compound_statement "{\n          DAT_00087d90 = DAT_00087d90 | 0x80;\n          return true;\n        }" { (expression_statement "DAT_00087d90 = DAT_00087d90 | 0x80;" (assignment_expression "DAT_00087d90 = DAT_00087d90 | 0x80" identifier = (binary_expression "DAT_00087d90 | 0x80" identifier | number_literal)) ;) (return_statement "return true;" return true ;) })) }))) (return_statement "return false;" return false ;) })) (expression_statement "bVar7 = param_1 < 0x4e;" (assignment_expression "bVar7 = param_1 < 0x4e" identifier = (binary_expression "param_1 < 0x4e" identifier < number_literal)) ;) (expression_statement "bVar9 = param_1 == 0x4e;" (assignment_expression "bVar9 = param_1 == 0x4e" identifier = (binary_expression "param_1 == 0x4e" identifier == number_literal)) ;) (if_statement "if (!bVar9) {\n      if (param_1 != 0x53) {\n        return param_1 == 0x43;\n      }\n      return true;\n    }" if (parenthesized_expression "(!bVar9)" ( (unary_expression "!bVar9" ! identifier) )) (compound_statement "{\n      if (param_1 != 0x53) {\n        return param_1 == 0x43;\n      }\n      return true;\n    }" { (if_statement "if (param_1 != 0x53) {\n        return param_1 == 0x43;\n      }" if (parenthesized_expression "(param_1 != 0x53)" ( (binary_expression "param_1 != 0x53" identifier != number_literal) )) (compound_statement "{\n        return param_1 == 0x43;\n      }" { (return_statement "return param_1 == 0x43;" return (binary_expression "param_1 == 0x43" identifier == number_literal) ;) })) (return_statement "return true;" return true ;) })) (expression_statement "iVar3 = 3;" (assignment_expression "iVar3 = 3" identifier = number_literal) ;) (expression_statement "pbVar4 = param_2;" (assignment_expression "pbVar4 = param_2" identifier = identifier) ;) (expression_statement "pbVar6 = &DAT_00063a25;" (assignment_expression "pbVar6 = &DAT_00063a25" identifier = (pointer_expression "&DAT_00063a25" & identifier)) ;) (do_statement "do {\n      if (iVar3 == 0) break;\n      iVar3 = iVar3 + -1;\n      bVar7 = *pbVar4 < *pbVar6;\n      bVar9 = *pbVar4 == *pbVar6;\n      pbVar4 = pbVar4 + 1;\n      pbVar6 = pbVar6 + 1;\n    } while (bVar9);" do (compound_statement "{\n      if (iVar3 == 0) break;\n      iVar3 = iVar3 + -1;\n      bVar7 = *pbVar4 < *pbVar6;\n      bVar9 = *pbVar4 == *pbVar6;\n      pbVar4 = pbVar4 + 1;\n      pbVar6 = pbVar6 + 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 "bVar7 = *pbVar4 < *pbVar6;" (assignment_expression "bVar7 = *pbVar4 < *pbVar6" identifier = (binary_expression "*pbVar4 < *pbVar6" (pointer_expression "*pbVar4" * identifier) < (pointer_expression "*pbVar6" * identifier))) ;) (expression_statement "bVar9 = *pbVar4 == *pbVar6;" (assignment_expression "bVar9 = *pbVar4 == *pbVar6" identifier = (binary_expression "*pbVar4 == *pbVar6" (pointer_expression "*pbVar4" * identifier) == (pointer_expression "*pbVar6" * identifier))) ;) (expression_statement "pbVar4 = pbVar4 + 1;" (assignment_expression "pbVar4 = pbVar4 + 1" identifier = (binary_expression "pbVar4 + 1" identifier + number_literal)) ;) (expression_statement "pbVar6 = pbVar6 + 1;" (assignment_expression "pbVar6 = pbVar6 + 1" identifier = (binary_expression "pbVar6 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(bVar9)" ( identifier )) ;) (expression_statement "bVar8 = false;" (assignment_expression "bVar8 = false" identifier = false) ;) (expression_statement "bVar7 = (!bVar7 && !bVar9) == bVar7;" (assignment_expression "bVar7 = (!bVar7 && !bVar9) == bVar7" identifier = (binary_expression "(!bVar7 && !bVar9) == bVar7" (parenthesized_expression "(!bVar7 && !bVar9)" ( (binary_expression "!bVar7 && !bVar9" (unary_expression "!bVar7" ! identifier) && (unary_expression "!bVar9" ! identifier)) )) == identifier)) ;) (if_statement "if (bVar7) {\n      return true;\n    }" if (parenthesized_expression "(bVar7)" ( identifier )) (compound_statement "{\n      return true;\n    }" { (return_statement "return true;" return true ;) })) (expression_statement "iVar3 = 3;" (assignment_expression "iVar3 = 3" identifier = number_literal) ;) (expression_statement "pbVar4 = param_2;" (assignment_expression "pbVar4 = param_2" identifier = identifier) ;) (expression_statement "pbVar6 = &DAT_00063a28;" (assignment_expression "pbVar6 = &DAT_00063a28" identifier = (pointer_expression "&DAT_00063a28" & identifier)) ;) (do_statement "do {\n      if (iVar3 == 0) break;\n      iVar3 = iVar3 + -1;\n      bVar8 = *pbVar4 < *pbVar6;\n      bVar7 = *pbVar4 == *pbVar6;\n      pbVar4 = pbVar4 + 1;\n      pbVar6 = pbVar6 + 1;\n    } while (bVar7);" do (compound_statement "{\n      if (iVar3 == 0) break;\n      iVar3 = iVar3 + -1;\n      bVar8 = *pbVar4 < *pbVar6;\n      bVar7 = *pbVar4 == *pbVar6;\n      pbVar4 = pbVar4 + 1;\n      pbVar6 = pbVar6 + 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 = *pbVar4 < *pbVar6;" (assignment_expression "bVar8 = *pbVar4 < *pbVar6" identifier = (binary_expression "*pbVar4 < *pbVar6" (pointer_expression "*pbVar4" * identifier) < (pointer_expression "*pbVar6" * identifier))) ;) (expression_statement "bVar7 = *pbVar4 == *pbVar6;" (assignment_expression "bVar7 = *pbVar4 == *pbVar6" identifier = (binary_expression "*pbVar4 == *pbVar6" (pointer_expression "*pbVar4" * identifier) == (pointer_expression "*pbVar6" * identifier))) ;) (expression_statement "pbVar4 = pbVar4 + 1;" (assignment_expression "pbVar4 = pbVar4 + 1" identifier = (binary_expression "pbVar4 + 1" identifier + number_literal)) ;) (expression_statement "pbVar6 = pbVar6 + 1;" (assignment_expression "pbVar6 = pbVar6 + 1" identifier = (binary_expression "pbVar6 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(bVar7)" ( identifier )) ;) (expression_statement "bVar9 = false;" (assignment_expression "bVar9 = false" identifier = false) ;) (expression_statement "bVar8 = (!bVar8 && !bVar7) == bVar8;" (assignment_expression "bVar8 = (!bVar8 && !bVar7) == bVar8" identifier = (binary_expression "(!bVar8 && !bVar7) == bVar8" (parenthesized_expression "(!bVar8 && !bVar7)" ( (binary_expression "!bVar8 && !bVar7" (unary_expression "!bVar8" ! identifier) && (unary_expression "!bVar7" ! identifier)) )) == identifier)) ;) (if_statement "if (bVar8) {\n      return true;\n    }" if (parenthesized_expression "(bVar8)" ( identifier )) (compound_statement "{\n      return true;\n    }" { (return_statement "return true;" return true ;) })) (expression_statement "iVar3 = 3;" (assignment_expression "iVar3 = 3" identifier = number_literal) ;) (expression_statement "pbVar4 = param_2;" (assignment_expression "pbVar4 = param_2" identifier = identifier) ;) (expression_statement "pbVar6 = (byte *)0x5f92c;" (assignment_expression "pbVar6 = (byte *)0x5f92c" identifier = (cast_expression "(byte *)0x5f92c" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (do_statement "do {\n      if (iVar3 == 0) break;\n      iVar3 = iVar3 + -1;\n      bVar9 = *pbVar4 < *pbVar6;\n      bVar8 = *pbVar4 == *pbVar6;\n      pbVar4 = pbVar4 + 1;\n      pbVar6 = pbVar6 + 1;\n    } while (bVar8);" do (compound_statement "{\n      if (iVar3 == 0) break;\n      iVar3 = iVar3 + -1;\n      bVar9 = *pbVar4 < *pbVar6;\n      bVar8 = *pbVar4 == *pbVar6;\n      pbVar4 = pbVar4 + 1;\n      pbVar6 = pbVar6 + 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 = *pbVar4 < *pbVar6;" (assignment_expression "bVar9 = *pbVar4 < *pbVar6" identifier = (binary_expression "*pbVar4 < *pbVar6" (pointer_expression "*pbVar4" * identifier) < (pointer_expression "*pbVar6" * identifier))) ;) (expression_statement "bVar8 = *pbVar4 == *pbVar6;" (assignment_expression "bVar8 = *pbVar4 == *pbVar6" identifier = (binary_expression "*pbVar4 == *pbVar6" (pointer_expression "*pbVar4" * identifier) == (pointer_expression "*pbVar6" * identifier))) ;) (expression_statement "pbVar4 = pbVar4 + 1;" (assignment_expression "pbVar4 = pbVar4 + 1" identifier = (binary_expression "pbVar4 + 1" identifier + number_literal)) ;) (expression_statement "pbVar6 = pbVar6 + 1;" (assignment_expression "pbVar6 = pbVar6 + 1" identifier = (binary_expression "pbVar6 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(bVar8)" ( identifier )) ;) (expression_statement "bVar7 = false;" (assignment_expression "bVar7 = false" identifier = false) ;) (expression_statement "bVar9 = (!bVar9 && !bVar8) == bVar9;" (assignment_expression "bVar9 = (!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 (bVar9) {\n      return true;\n    }" if (parenthesized_expression "(bVar9)" ( identifier )) (compound_statement "{\n      return true;\n    }" { (return_statement "return true;" return true ;) })) (expression_statement "iVar3 = 0xd;" (assignment_expression "iVar3 = 0xd" identifier = number_literal) ;) (expression_statement "pcVar5 = "close_fcalls";" (assignment_expression "pcVar5 = "close_fcalls"" identifier = (string_literal ""close_fcalls"" " string_content ")) ;) }))) (do_statement "do {\n    if (iVar3 == 0) break;\n    iVar3 = iVar3 + -1;\n    bVar7 = *param_2 < (byte)*pcVar5;\n    bVar9 = *param_2 == *pcVar5;\n    param_2 = param_2 + 1;\n    pcVar5 = (char *)((byte *)pcVar5 + 1);\n  } while (bVar9);" do (compound_statement "{\n    if (iVar3 == 0) break;\n    iVar3 = iVar3 + -1;\n    bVar7 = *param_2 < (byte)*pcVar5;\n    bVar9 = *param_2 == *pcVar5;\n    param_2 = param_2 + 1;\n    pcVar5 = (char *)((byte *)pcVar5 + 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 "bVar7 = *param_2 < (byte)*pcVar5;" (assignment_expression "bVar7 = *param_2 < (byte)*pcVar5" identifier = (binary_expression "*param_2 < (byte)*pcVar5" (pointer_expression "*param_2" * identifier) < (binary_expression "(byte)*pcVar5" (parenthesized_expression "(byte)" ( identifier )) * identifier))) ;) (expression_statement "bVar9 = *param_2 == *pcVar5;" (assignment_expression "bVar9 = *param_2 == *pcVar5" identifier = (binary_expression "*param_2 == *pcVar5" (pointer_expression "*param_2" * identifier) == (pointer_expression "*pcVar5" * identifier))) ;) (expression_statement "param_2 = param_2 + 1;" (assignment_expression "param_2 = param_2 + 1" identifier = (binary_expression "param_2 + 1" identifier + number_literal)) ;) (expression_statement "pcVar5 = (char *)((byte *)pcVar5 + 1);" (assignment_expression "pcVar5 = (char *)((byte *)pcVar5 + 1)" identifier = (cast_expression "(char *)((byte *)pcVar5 + 1)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((byte *)pcVar5 + 1)" ( (binary_expression "(byte *)pcVar5 + 1" (cast_expression "(byte *)pcVar5" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) + number_literal) )))) ;) }) while (parenthesized_expression "(bVar9)" ( identifier )) ;) (return_statement "return (!bVar7 && !bVar9) == bVar7;" return (binary_expression "(!bVar7 && !bVar9) == bVar7" (parenthesized_expression "(!bVar7 && !bVar9)" ( (binary_expression "!bVar7 && !bVar9" (unary_expression "!bVar7" ! identifier) && (unary_expression "!bVar9" ! identifier)) )) == identifier) ;) })))
(translation_unit (function_definition TYPE (function_declarator IDENT (parameter_list ( (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE (pointer_declarator * IDENT)) ))) (compound_statement { (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 IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (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 = (string_literal " string_content ")) ;) }) (else_clause else (compound_statement { (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 = BOOL) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT))) ;) (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 = (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 IDENT & LIT) | LIT)) ;) (return_statement return BOOL ;) })) (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 IDENT & LIT)) ;) (return_statement return BOOL ;) })) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (string_literal " string_content ")) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT) + LIT) )))) ;) (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) < (binary_expression (parenthesized_expression ( IDENT )) * IDENT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * IDENT) == (pointer_expression * IDENT))) ;) (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 BOOL ;) })) (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 BOOL ;) })) (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 = (binary_expression (parenthesized_expression ( (binary_expression (unary_expression ! IDENT) && (unary_expression ! IDENT)) )) - IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (char_literal ' escape_sequence ')) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT | LIT)) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( LIT , (string_literal " string_content escape_sequence string_content escape_sequence ") , LIT , IDENT )))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT ))) ;) (return_statement return BOOL ;) })) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT & LIT) | LIT)) ;) (return_statement return BOOL ;) })) })) (expression_statement (assignment_expression IDENT = (binary_expression IDENT | LIT)) ;) (return_statement return BOOL ;) })) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) < LIT) )) (compound_statement { (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 = 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 ( (unary_expression ! IDENT) )) (compound_statement { (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 ( (unary_expression ! IDENT) )) (compound_statement { (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 ( (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 = (binary_expression IDENT & LIT)) ;) (return_statement return BOOL ;) })) (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 IDENT & LIT)) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (return_statement return BOOL ;) })) (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 IDENT | LIT)) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (return_statement return BOOL ;) })) (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 = (call_expression IDENT (argument_list ( (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))) , (string_literal " string_content ") )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (return_statement return BOOL ;) })) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))) , (string_literal " string_content ") )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (return_statement return BOOL ;) })) (return_statement return BOOL ;) })) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT) , (string_literal " string_content ") , LIT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT) , (string_literal " string_content ") , LIT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (return_statement return BOOL ;) })) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))) , (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 ( (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))) , (string_literal " string_content ") )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (return_statement return BOOL ;) })) (return_statement return BOOL ;) })) (expression_statement (assignment_expression IDENT = LIT) ;) (return_statement return BOOL ;) })) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + 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 = LIT) ;) (return_statement return BOOL ;) })) (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 = (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 = LIT) ;) (return_statement return BOOL ;) })) (return_statement return BOOL ;) })) (expression_statement (assignment_expression IDENT = LIT) ;) (return_statement return BOOL ;) })) })) })) (expression_statement (assignment_expression IDENT = (binary_expression IDENT | LIT)) ;) (return_statement return BOOL ;) })) }) (else_clause else (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 BOOL ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT | LIT)) ;) (return_statement return BOOL ;) })) }))) (return_statement return BOOL ;) })) (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 { (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (return_statement return (binary_expression IDENT == LIT) ;) })) (return_statement return BOOL ;) })) (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 { (return_statement return BOOL ;) })) (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 { (return_statement return BOOL ;) })) (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 { (return_statement return BOOL ;) })) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (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) < (binary_expression (parenthesized_expression ( IDENT )) * 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 = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT) + LIT) )))) ;) }) while (parenthesized_expression ( IDENT )) ;) (return_statement return (binary_expression (parenthesized_expression ( (binary_expression (unary_expression ! IDENT) && (unary_expression ! IDENT)) )) == IDENT) ;) })))
(function_definition "bool FUN_0004d020(uint param_1,byte *param_2)\n\n{\n  char cVar1;\n  undefined4 uVar2;\n  int iVar3;\n  byte *pbVar4;\n  char *pcVar5;\n  byte *pbVar6;\n  bool bVar7;\n  bool bVar8;\n  bool bVar9;\n  \n  bVar7 = param_1 < 0x61;\n  bVar9 = param_1 == 0x61;\n  if (bVar9) {\n    iVar3 = 9;\n    pcVar5 = "indirect=";\n  }\n  else {\n    if (0x61 < (int)param_1) {\n      if (param_1 == 0x78) {\n        bVar7 = false;\n        bVar9 = param_2 == (byte *)0x0;\n        if (!bVar9) {\n          iVar3 = 9;\n          pbVar4 = param_2;\n          pbVar6 = (byte *)"explicit";\n          do {\n            if (iVar3 == 0) break;\n            iVar3 = iVar3 + -1;\n            bVar7 = *pbVar4 < *pbVar6;\n            bVar9 = *pbVar4 == *pbVar6;\n            pbVar4 = pbVar4 + 1;\n            pbVar6 = pbVar6 + 1;\n          } while (bVar9);\n          bVar8 = false;\n          bVar7 = (!bVar7 && !bVar9) == bVar7;\n          if (!bVar7) {\n            iVar3 = 5;\n            pbVar4 = param_2;\n            pbVar6 = &DAT_00063a4b;\n            do {\n              if (iVar3 == 0) break;\n              iVar3 = iVar3 + -1;\n              bVar8 = *pbVar4 < *pbVar6;\n              bVar7 = *pbVar4 == *pbVar6;\n              pbVar4 = pbVar4 + 1;\n              pbVar6 = pbVar6 + 1;\n            } while (bVar7);\n            bVar9 = false;\n            bVar7 = (!bVar8 && !bVar7) == bVar8;\n            if (bVar7) {\n              DAT_00087970 = DAT_00087970 & 0xef | 4;\n              return true;\n            }\n            iVar3 = 5;\n            pbVar4 = param_2;\n            pbVar6 = &DAT_0005a335;\n            do {\n              if (iVar3 == 0) break;\n              iVar3 = iVar3 + -1;\n              bVar9 = *pbVar4 < *pbVar6;\n              bVar7 = *pbVar4 == *pbVar6;\n              pbVar4 = pbVar4 + 1;\n              pbVar6 = pbVar6 + 1;\n            } while (bVar7);\n            bVar8 = false;\n            bVar7 = (!bVar9 && !bVar7) == bVar9;\n            if (bVar7) {\n              DAT_00087970 = DAT_00087970 & 0xfb;\n              return true;\n            }\n            iVar3 = 6;\n            pcVar5 = " debug";\n            pbVar4 = param_2;\n            do {\n              pcVar5 = (char *)((byte *)pcVar5 + 1);\n              if (iVar3 == 0) break;\n              iVar3 = iVar3 + -1;\n              bVar8 = *pbVar4 < (byte)*pcVar5;\n              bVar7 = *pbVar4 == *pcVar5;\n              pbVar4 = pbVar4 + 1;\n            } while (bVar7);\n            bVar9 = false;\n            bVar7 = (!bVar8 && !bVar7) == bVar8;\n            if (bVar7) {\n              DAT_00087970 = DAT_00087970 | 6;\n              return true;\n            }\n            iVar3 = 7;\n            pbVar4 = param_2;\n            pbVar6 = (byte *)"debugx";\n            do {\n              if (iVar3 == 0) break;\n              iVar3 = iVar3 + -1;\n              bVar9 = *pbVar4 < *pbVar6;\n              bVar7 = *pbVar4 == *pbVar6;\n              pbVar4 = pbVar4 + 1;\n              pbVar6 = pbVar6 + 1;\n            } while (bVar7);\n            bVar8 = false;\n            bVar7 = (!bVar9 && !bVar7) == bVar9;\n            if (bVar7) {\n              DAT_00087970 = DAT_00087970 | 0x16;\n              return true;\n            }\n            iVar3 = 7;\n            pbVar4 = param_2;\n            pbVar6 = (byte *)"debugn";\n            do {\n              if (iVar3 == 0) break;\n              iVar3 = iVar3 + -1;\n              bVar8 = *pbVar4 < *pbVar6;\n              bVar7 = *pbVar4 == *pbVar6;\n              pbVar4 = pbVar4 + 1;\n              pbVar6 = pbVar6 + 1;\n            } while (bVar7);\n            cVar1 = (!bVar8 && !bVar7) - bVar8;\n            if (cVar1 != '\0') {\n              DAT_00087970 = DAT_00087970 | 4;\n              uVar2 = dcgettext(0,"Unrecognized option \'-x%s\'",5,cVar1);\n              FUN_00029550(uVar2,param_2);\n              return true;\n            }\n            DAT_00087970 = DAT_00087970 & 0xf9 | 2;\n            return true;\n          }\n        }\n        DAT_00087970 = DAT_00087970 | 0x14;\n        return true;\n      }\n      if ((int)param_1 < 0x79) {\n        bVar7 = param_1 < 0x6d;\n        bVar9 = param_1 == 0x6d;\n        if (bVar9) {\n          iVar3 = 6;\n          pbVar4 = param_2;\n          pbVar6 = &DAT_000639e8;\n          do {\n            if (iVar3 == 0) break;\n            iVar3 = iVar3 + -1;\n            bVar7 = *pbVar4 < *pbVar6;\n            bVar9 = *pbVar4 == *pbVar6;\n            pbVar4 = pbVar4 + 1;\n            pbVar6 = pbVar6 + 1;\n          } while (bVar9);\n          bVar8 = false;\n          bVar7 = (!bVar7 && !bVar9) == bVar7;\n          if (!bVar7) {\n            iVar3 = 5;\n            pbVar4 = param_2;\n            pbVar6 = &DAT_000639e9;\n            do {\n              if (iVar3 == 0) break;\n              iVar3 = iVar3 + -1;\n              bVar8 = *pbVar4 < *pbVar6;\n              bVar7 = *pbVar4 == *pbVar6;\n              pbVar4 = pbVar4 + 1;\n              pbVar6 = pbVar6 + 1;\n            } while (bVar7);\n            bVar9 = false;\n            bVar7 = (!bVar8 && !bVar7) == bVar8;\n            if (!bVar7) {\n              iVar3 = 4;\n              pbVar4 = param_2;\n              pbVar6 = &DAT_000639ea;\n              do {\n                if (iVar3 == 0) break;\n                iVar3 = iVar3 + -1;\n                bVar9 = *pbVar4 < *pbVar6;\n                bVar7 = *pbVar4 == *pbVar6;\n                pbVar4 = pbVar4 + 1;\n                pbVar6 = pbVar6 + 1;\n              } while (bVar7);\n              bVar8 = false;\n              bVar7 = (!bVar9 && !bVar7) == bVar9;\n              if (!bVar7) {\n                iVar3 = 6;\n                pbVar4 = param_2;\n                pbVar6 = (byte *)"ilp32";\n                do {\n                  if (iVar3 == 0) break;\n                  iVar3 = iVar3 + -1;\n                  bVar8 = *pbVar4 < *pbVar6;\n                  bVar7 = *pbVar4 == *pbVar6;\n                  pbVar4 = pbVar4 + 1;\n                  pbVar6 = pbVar6 + 1;\n                } while (bVar7);\n                bVar9 = false;\n                bVar7 = (!bVar8 && !bVar7) == bVar8;\n                if (bVar7) {\n                  DAT_00087d90 = DAT_00087d90 & 0xffffffef;\n                  return true;\n                }\n                iVar3 = 3;\n                pbVar4 = param_2;\n                pbVar6 = (byte *)0x5a287;\n                do {\n                  if (iVar3 == 0) break;\n                  iVar3 = iVar3 + -1;\n                  bVar9 = *pbVar4 < *pbVar6;\n                  bVar7 = *pbVar4 == *pbVar6;\n                  pbVar4 = pbVar4 + 1;\n                  pbVar6 = pbVar6 + 1;\n                } while (bVar7);\n                bVar8 = false;\n                bVar7 = (!bVar9 && !bVar7) == bVar9;\n                if (bVar7) {\n                  DAT_00087d90 = DAT_00087d90 & 0xfffffff7;\n                  DAT_00087dfc = 0;\n                  return true;\n                }\n                iVar3 = 3;\n                pbVar4 = param_2;\n                pbVar6 = &DAT_00063a90;\n                do {\n                  if (iVar3 == 0) break;\n                  iVar3 = iVar3 + -1;\n                  bVar8 = *pbVar4 < *pbVar6;\n                  bVar7 = *pbVar4 == *pbVar6;\n                  pbVar4 = pbVar4 + 1;\n                  pbVar6 = pbVar6 + 1;\n                } while (bVar7);\n                bVar9 = false;\n                bVar7 = (!bVar8 && !bVar7) == bVar8;\n                if (bVar7) {\n                  DAT_00087d90 = DAT_00087d90 | 8;\n                  DAT_00087dfc = 1;\n                  return true;\n                }\n                iVar3 = 0xd;\n                pbVar4 = param_2;\n                pbVar6 = (byte *)"unwind-check=";\n                do {\n                  if (iVar3 == 0) break;\n                  iVar3 = iVar3 + -1;\n                  bVar9 = *pbVar4 < *pbVar6;\n                  bVar7 = *pbVar4 == *pbVar6;\n                  pbVar4 = pbVar4 + 1;\n                  pbVar6 = pbVar6 + 1;\n                } while (bVar7);\n                if ((!bVar9 && !bVar7) == bVar9) {\n                  iVar3 = strcmp((char *)(param_2 + 0xd),"warning");\n                  if (iVar3 == 0) {\n                    DAT_00087974 = 0;\n                    return true;\n                  }\n                  iVar3 = strcmp((char *)(param_2 + 0xd),"error");\n                  if (iVar3 == 0) {\n                    DAT_00087974 = 1;\n                    return true;\n                  }\n                  return false;\n                }\n                iVar3 = strncmp((char *)param_2,"hint.b=",7);\n                if (iVar3 != 0) {\n                  iVar3 = strncmp((char *)param_2,"tune=",5);\n                  if (iVar3 != 0) {\n                    return false;\n                  }\n                  iVar3 = strcmp((char *)(param_2 + 5),"itanium1");\n                  if (iVar3 != 0) {\n                    iVar3 = strcmp((char *)(param_2 + 5),"itanium2");\n                    if (iVar3 == 0) {\n                      DAT_00087968 = 1;\n                      return true;\n                    }\n                    return false;\n                  }\n                  DAT_00087968 = 0;\n                  return true;\n                }\n                param_2 = param_2 + 7;\n                iVar3 = strcmp((char *)param_2,"ok");\n                if (iVar3 == 0) {\n                  DAT_0008796c = 2;\n                  return true;\n                }\n                iVar3 = strcmp((char *)param_2,"warning");\n                if (iVar3 != 0) {\n                  iVar3 = strcmp((char *)param_2,"error");\n                  if (iVar3 == 0) {\n                    DAT_0008796c = 0;\n                    return true;\n                  }\n                  return false;\n                }\n                DAT_0008796c = 1;\n                return true;\n              }\n            }\n          }\n          DAT_00087d90 = DAT_00087d90 | 0x10;\n          return true;\n        }\n      }\n      else {\n        if (param_1 == 0x123) {\n          DAT_00087d90 = DAT_00087d90 | 0x40;\n          return true;\n        }\n        if (param_1 == 0x124) {\n          DAT_00087d90 = DAT_00087d90 | 0x80;\n          return true;\n        }\n      }\n      return false;\n    }\n    bVar7 = param_1 < 0x4e;\n    bVar9 = param_1 == 0x4e;\n    if (!bVar9) {\n      if (param_1 != 0x53) {\n        return param_1 == 0x43;\n      }\n      return true;\n    }\n    iVar3 = 3;\n    pbVar4 = param_2;\n    pbVar6 = &DAT_00063a25;\n    do {\n      if (iVar3 == 0) break;\n      iVar3 = iVar3 + -1;\n      bVar7 = *pbVar4 < *pbVar6;\n      bVar9 = *pbVar4 == *pbVar6;\n      pbVar4 = pbVar4 + 1;\n      pbVar6 = pbVar6 + 1;\n    } while (bVar9);\n    bVar8 = false;\n    bVar7 = (!bVar7 && !bVar9) == bVar7;\n    if (bVar7) {\n      return true;\n    }\n    iVar3 = 3;\n    pbVar4 = param_2;\n    pbVar6 = &DAT_00063a28;\n    do {\n      if (iVar3 == 0) break;\n      iVar3 = iVar3 + -1;\n      bVar8 = *pbVar4 < *pbVar6;\n      bVar7 = *pbVar4 == *pbVar6;\n      pbVar4 = pbVar4 + 1;\n      pbVar6 = pbVar6 + 1;\n    } while (bVar7);\n    bVar9 = false;\n    bVar8 = (!bVar8 && !bVar7) == bVar8;\n    if (bVar8) {\n      return true;\n    }\n    iVar3 = 3;\n    pbVar4 = param_2;\n    pbVar6 = (byte *)0x5f92c;\n    do {\n      if (iVar3 == 0) break;\n      iVar3 = iVar3 + -1;\n      bVar9 = *pbVar4 < *pbVar6;\n      bVar8 = *pbVar4 == *pbVar6;\n      pbVar4 = pbVar4 + 1;\n      pbVar6 = pbVar6 + 1;\n    } while (bVar8);\n    bVar7 = false;\n    bVar9 = (!bVar9 && !bVar8) == bVar9;\n    if (bVar9) {\n      return true;\n    }\n    iVar3 = 0xd;\n    pcVar5 = "close_fcalls";\n  }\n  do {\n    if (iVar3 == 0) break;\n    iVar3 = iVar3 + -1;\n    bVar7 = *param_2 < (byte)*pcVar5;\n    bVar9 = *param_2 == *pcVar5;\n    param_2 = param_2 + 1;\n    pcVar5 = (char *)((byte *)pcVar5 + 1);\n  } while (bVar9);\n  return (!bVar7 && !bVar9) == bVar7;\n}" (primitive_type "bool") (function_declarator "FUN_0004d020(uint param_1,byte *param_2)" (identifier "FUN_0004d020") (parameter_list "(uint param_1,byte *param_2)" (( "(") (parameter_declaration "uint param_1" (type_identifier "uint") (identifier "param_1")) (, ",") (parameter_declaration "byte *param_2" (type_identifier "byte") (pointer_declarator "*param_2" (* "*") (identifier "param_2"))) () ")"))) (compound_statement "{\n  char cVar1;\n  undefined4 uVar2;\n  int iVar3;\n  byte *pbVar4;\n  char *pcVar5;\n  byte *pbVar6;\n  bool bVar7;\n  bool bVar8;\n  bool bVar9;\n  \n  bVar7 = param_1 < 0x61;\n  bVar9 = param_1 == 0x61;\n  if (bVar9) {\n    iVar3 = 9;\n    pcVar5 = "indirect=";\n  }\n  else {\n    if (0x61 < (int)param_1) {\n      if (param_1 == 0x78) {\n        bVar7 = false;\n        bVar9 = param_2 == (byte *)0x0;\n        if (!bVar9) {\n          iVar3 = 9;\n          pbVar4 = param_2;\n          pbVar6 = (byte *)"explicit";\n          do {\n            if (iVar3 == 0) break;\n            iVar3 = iVar3 + -1;\n            bVar7 = *pbVar4 < *pbVar6;\n            bVar9 = *pbVar4 == *pbVar6;\n            pbVar4 = pbVar4 + 1;\n            pbVar6 = pbVar6 + 1;\n          } while (bVar9);\n          bVar8 = false;\n          bVar7 = (!bVar7 && !bVar9) == bVar7;\n          if (!bVar7) {\n            iVar3 = 5;\n            pbVar4 = param_2;\n            pbVar6 = &DAT_00063a4b;\n            do {\n              if (iVar3 == 0) break;\n              iVar3 = iVar3 + -1;\n              bVar8 = *pbVar4 < *pbVar6;\n              bVar7 = *pbVar4 == *pbVar6;\n              pbVar4 = pbVar4 + 1;\n              pbVar6 = pbVar6 + 1;\n            } while (bVar7);\n            bVar9 = false;\n            bVar7 = (!bVar8 && !bVar7) == bVar8;\n            if (bVar7) {\n              DAT_00087970 = DAT_00087970 & 0xef | 4;\n              return true;\n            }\n            iVar3 = 5;\n            pbVar4 = param_2;\n            pbVar6 = &DAT_0005a335;\n            do {\n              if (iVar3 == 0) break;\n              iVar3 = iVar3 + -1;\n              bVar9 = *pbVar4 < *pbVar6;\n              bVar7 = *pbVar4 == *pbVar6;\n              pbVar4 = pbVar4 + 1;\n              pbVar6 = pbVar6 + 1;\n            } while (bVar7);\n            bVar8 = false;\n            bVar7 = (!bVar9 && !bVar7) == bVar9;\n            if (bVar7) {\n              DAT_00087970 = DAT_00087970 & 0xfb;\n              return true;\n            }\n            iVar3 = 6;\n            pcVar5 = " debug";\n            pbVar4 = param_2;\n            do {\n              pcVar5 = (char *)((byte *)pcVar5 + 1);\n              if (iVar3 == 0) break;\n              iVar3 = iVar3 + -1;\n              bVar8 = *pbVar4 < (byte)*pcVar5;\n              bVar7 = *pbVar4 == *pcVar5;\n              pbVar4 = pbVar4 + 1;\n            } while (bVar7);\n            bVar9 = false;\n            bVar7 = (!bVar8 && !bVar7) == bVar8;\n            if (bVar7) {\n              DAT_00087970 = DAT_00087970 | 6;\n              return true;\n            }\n            iVar3 = 7;\n            pbVar4 = param_2;\n            pbVar6 = (byte *)"debugx";\n            do {\n              if (iVar3 == 0) break;\n              iVar3 = iVar3 + -1;\n              bVar9 = *pbVar4 < *pbVar6;\n              bVar7 = *pbVar4 == *pbVar6;\n              pbVar4 = pbVar4 + 1;\n              pbVar6 = pbVar6 + 1;\n            } while (bVar7);\n            bVar8 = false;\n            bVar7 = (!bVar9 && !bVar7) == bVar9;\n            if (bVar7) {\n              DAT_00087970 = DAT_00087970 | 0x16;\n              return true;\n            }\n            iVar3 = 7;\n            pbVar4 = param_2;\n            pbVar6 = (byte *)"debugn";\n            do {\n              if (iVar3 == 0) break;\n              iVar3 = iVar3 + -1;\n              bVar8 = *pbVar4 < *pbVar6;\n              bVar7 = *pbVar4 == *pbVar6;\n              pbVar4 = pbVar4 + 1;\n              pbVar6 = pbVar6 + 1;\n            } while (bVar7);\n            cVar1 = (!bVar8 && !bVar7) - bVar8;\n            if (cVar1 != '\0') {\n              DAT_00087970 = DAT_00087970 | 4;\n              uVar2 = dcgettext(0,"Unrecognized option \'-x%s\'",5,cVar1);\n              FUN_00029550(uVar2,param_2);\n              return true;\n            }\n            DAT_00087970 = DAT_00087970 & 0xf9 | 2;\n            return true;\n          }\n        }\n        DAT_00087970 = DAT_00087970 | 0x14;\n        return true;\n      }\n      if ((int)param_1 < 0x79) {\n        bVar7 = param_1 < 0x6d;\n        bVar9 = param_1 == 0x6d;\n        if (bVar9) {\n          iVar3 = 6;\n          pbVar4 = param_2;\n          pbVar6 = &DAT_000639e8;\n          do {\n            if (iVar3 == 0) break;\n            iVar3 = iVar3 + -1;\n            bVar7 = *pbVar4 < *pbVar6;\n            bVar9 = *pbVar4 == *pbVar6;\n            pbVar4 = pbVar4 + 1;\n            pbVar6 = pbVar6 + 1;\n          } while (bVar9);\n          bVar8 = false;\n          bVar7 = (!bVar7 && !bVar9) == bVar7;\n          if (!bVar7) {\n            iVar3 = 5;\n            pbVar4 = param_2;\n            pbVar6 = &DAT_000639e9;\n            do {\n              if (iVar3 == 0) break;\n              iVar3 = iVar3 + -1;\n              bVar8 = *pbVar4 < *pbVar6;\n              bVar7 = *pbVar4 == *pbVar6;\n              pbVar4 = pbVar4 + 1;\n              pbVar6 = pbVar6 + 1;\n            } while (bVar7);\n            bVar9 = false;\n            bVar7 = (!bVar8 && !bVar7) == bVar8;\n            if (!bVar7) {\n              iVar3 = 4;\n              pbVar4 = param_2;\n              pbVar6 = &DAT_000639ea;\n              do {\n                if (iVar3 == 0) break;\n                iVar3 = iVar3 + -1;\n                bVar9 = *pbVar4 < *pbVar6;\n                bVar7 = *pbVar4 == *pbVar6;\n                pbVar4 = pbVar4 + 1;\n                pbVar6 = pbVar6 + 1;\n              } while (bVar7);\n              bVar8 = false;\n              bVar7 = (!bVar9 && !bVar7) == bVar9;\n              if (!bVar7) {\n                iVar3 = 6;\n                pbVar4 = param_2;\n                pbVar6 = (byte *)"ilp32";\n                do {\n                  if (iVar3 == 0) break;\n                  iVar3 = iVar3 + -1;\n                  bVar8 = *pbVar4 < *pbVar6;\n                  bVar7 = *pbVar4 == *pbVar6;\n                  pbVar4 = pbVar4 + 1;\n                  pbVar6 = pbVar6 + 1;\n                } while (bVar7);\n                bVar9 = false;\n                bVar7 = (!bVar8 && !bVar7) == bVar8;\n                if (bVar7) {\n                  DAT_00087d90 = DAT_00087d90 & 0xffffffef;\n                  return true;\n                }\n                iVar3 = 3;\n                pbVar4 = param_2;\n                pbVar6 = (byte *)0x5a287;\n                do {\n                  if (iVar3 == 0) break;\n                  iVar3 = iVar3 + -1;\n                  bVar9 = *pbVar4 < *pbVar6;\n                  bVar7 = *pbVar4 == *pbVar6;\n                  pbVar4 = pbVar4 + 1;\n                  pbVar6 = pbVar6 + 1;\n                } while (bVar7);\n                bVar8 = false;\n                bVar7 = (!bVar9 && !bVar7) == bVar9;\n                if (bVar7) {\n                  DAT_00087d90 = DAT_00087d90 & 0xfffffff7;\n                  DAT_00087dfc = 0;\n                  return true;\n                }\n                iVar3 = 3;\n                pbVar4 = param_2;\n                pbVar6 = &DAT_00063a90;\n                do {\n                  if (iVar3 == 0) break;\n                  iVar3 = iVar3 + -1;\n                  bVar8 = *pbVar4 < *pbVar6;\n                  bVar7 = *pbVar4 == *pbVar6;\n                  pbVar4 = pbVar4 + 1;\n                  pbVar6 = pbVar6 + 1;\n                } while (bVar7);\n                bVar9 = false;\n                bVar7 = (!bVar8 && !bVar7) == bVar8;\n                if (bVar7) {\n                  DAT_00087d90 = DAT_00087d90 | 8;\n                  DAT_00087dfc = 1;\n                  return true;\n                }\n                iVar3 = 0xd;\n                pbVar4 = param_2;\n                pbVar6 = (byte *)"unwind-check=";\n                do {\n                  if (iVar3 == 0) break;\n                  iVar3 = iVar3 + -1;\n                  bVar9 = *pbVar4 < *pbVar6;\n                  bVar7 = *pbVar4 == *pbVar6;\n                  pbVar4 = pbVar4 + 1;\n                  pbVar6 = pbVar6 + 1;\n                } while (bVar7);\n                if ((!bVar9 && !bVar7) == bVar9) {\n                  iVar3 = strcmp((char *)(param_2 + 0xd),"warning");\n                  if (iVar3 == 0) {\n                    DAT_00087974 = 0;\n                    return true;\n                  }\n                  iVar3 = strcmp((char *)(param_2 + 0xd),"error");\n                  if (iVar3 == 0) {\n                    DAT_00087974 = 1;\n                    return true;\n                  }\n                  return false;\n                }\n                iVar3 = strncmp((char *)param_2,"hint.b=",7);\n                if (iVar3 != 0) {\n                  iVar3 = strncmp((char *)param_2,"tune=",5);\n                  if (iVar3 != 0) {\n                    return false;\n                  }\n                  iVar3 = strcmp((char *)(param_2 + 5),"itanium1");\n                  if (iVar3 != 0) {\n                    iVar3 = strcmp((char *)(param_2 + 5),"itanium2");\n                    if (iVar3 == 0) {\n                      DAT_00087968 = 1;\n                      return true;\n                    }\n                    return false;\n                  }\n                  DAT_00087968 = 0;\n                  return true;\n                }\n                param_2 = param_2 + 7;\n                iVar3 = strcmp((char *)param_2,"ok");\n                if (iVar3 == 0) {\n                  DAT_0008796c = 2;\n                  return true;\n                }\n                iVar3 = strcmp((char *)param_2,"warning");\n                if (iVar3 != 0) {\n                  iVar3 = strcmp((char *)param_2,"error");\n                  if (iVar3 == 0) {\n                    DAT_0008796c = 0;\n                    return true;\n                  }\n                  return false;\n                }\n                DAT_0008796c = 1;\n                return true;\n              }\n            }\n          }\n          DAT_00087d90 = DAT_00087d90 | 0x10;\n          return true;\n        }\n      }\n      else {\n        if (param_1 == 0x123) {\n          DAT_00087d90 = DAT_00087d90 | 0x40;\n          return true;\n        }\n        if (param_1 == 0x124) {\n          DAT_00087d90 = DAT_00087d90 | 0x80;\n          return true;\n        }\n      }\n      return false;\n    }\n    bVar7 = param_1 < 0x4e;\n    bVar9 = param_1 == 0x4e;\n    if (!bVar9) {\n      if (param_1 != 0x53) {\n        return param_1 == 0x43;\n      }\n      return true;\n    }\n    iVar3 = 3;\n    pbVar4 = param_2;\n    pbVar6 = &DAT_00063a25;\n    do {\n      if (iVar3 == 0) break;\n      iVar3 = iVar3 + -1;\n      bVar7 = *pbVar4 < *pbVar6;\n      bVar9 = *pbVar4 == *pbVar6;\n      pbVar4 = pbVar4 + 1;\n      pbVar6 = pbVar6 + 1;\n    } while (bVar9);\n    bVar8 = false;\n    bVar7 = (!bVar7 && !bVar9) == bVar7;\n    if (bVar7) {\n      return true;\n    }\n    iVar3 = 3;\n    pbVar4 = param_2;\n    pbVar6 = &DAT_00063a28;\n    do {\n      if (iVar3 == 0) break;\n      iVar3 = iVar3 + -1;\n      bVar8 = *pbVar4 < *pbVar6;\n      bVar7 = *pbVar4 == *pbVar6;\n      pbVar4 = pbVar4 + 1;\n      pbVar6 = pbVar6 + 1;\n    } while (bVar7);\n    bVar9 = false;\n    bVar8 = (!bVar8 && !bVar7) == bVar8;\n    if (bVar8) {\n      return true;\n    }\n    iVar3 = 3;\n    pbVar4 = param_2;\n    pbVar6 = (byte *)0x5f92c;\n    do {\n      if (iVar3 == 0) break;\n      iVar3 = iVar3 + -1;\n      bVar9 = *pbVar4 < *pbVar6;\n      bVar8 = *pbVar4 == *pbVar6;\n      pbVar4 = pbVar4 + 1;\n      pbVar6 = pbVar6 + 1;\n    } while (bVar8);\n    bVar7 = false;\n    bVar9 = (!bVar9 && !bVar8) == bVar9;\n    if (bVar9) {\n      return true;\n    }\n    iVar3 = 0xd;\n    pcVar5 = "close_fcalls";\n  }\n  do {\n    if (iVar3 == 0) break;\n    iVar3 = iVar3 + -1;\n    bVar7 = *param_2 < (byte)*pcVar5;\n    bVar9 = *param_2 == *pcVar5;\n    param_2 = param_2 + 1;\n    pcVar5 = (char *)((byte *)pcVar5 + 1);\n  } while (bVar9);\n  return (!bVar7 && !bVar9) == bVar7;\n}" ({ "{") (declaration "char cVar1;" (primitive_type "char") (identifier "cVar1") (; ";")) (declaration "undefined4 uVar2;" (type_identifier "undefined4") (identifier "uVar2") (; ";")) (declaration "int iVar3;" (primitive_type "int") (identifier "iVar3") (; ";")) (declaration "byte *pbVar4;" (type_identifier "byte") (pointer_declarator "*pbVar4" (* "*") (identifier "pbVar4")) (; ";")) (declaration "char *pcVar5;" (primitive_type "char") (pointer_declarator "*pcVar5" (* "*") (identifier "pcVar5")) (; ";")) (declaration "byte *pbVar6;" (type_identifier "byte") (pointer_declarator "*pbVar6" (* "*") (identifier "pbVar6")) (; ";")) (declaration "bool bVar7;" (primitive_type "bool") (identifier "bVar7") (; ";")) (declaration "bool bVar8;" (primitive_type "bool") (identifier "bVar8") (; ";")) (declaration "bool bVar9;" (primitive_type "bool") (identifier "bVar9") (; ";")) (expression_statement "bVar7 = param_1 < 0x61;" (assignment_expression "bVar7 = param_1 < 0x61" (identifier "bVar7") (= "=") (binary_expression "param_1 < 0x61" (identifier "param_1") (< "<") (number_literal "0x61"))) (; ";")) (expression_statement "bVar9 = param_1 == 0x61;" (assignment_expression "bVar9 = param_1 == 0x61" (identifier "bVar9") (= "=") (binary_expression "param_1 == 0x61" (identifier "param_1") (== "==") (number_literal "0x61"))) (; ";")) (if_statement "if (bVar9) {\n    iVar3 = 9;\n    pcVar5 = "indirect=";\n  }\n  else {\n    if (0x61 < (int)param_1) {\n      if (param_1 == 0x78) {\n        bVar7 = false;\n        bVar9 = param_2 == (byte *)0x0;\n        if (!bVar9) {\n          iVar3 = 9;\n          pbVar4 = param_2;\n          pbVar6 = (byte *)"explicit";\n          do {\n            if (iVar3 == 0) break;\n            iVar3 = iVar3 + -1;\n            bVar7 = *pbVar4 < *pbVar6;\n            bVar9 = *pbVar4 == *pbVar6;\n            pbVar4 = pbVar4 + 1;\n            pbVar6 = pbVar6 + 1;\n          } while (bVar9);\n          bVar8 = false;\n          bVar7 = (!bVar7 && !bVar9) == bVar7;\n          if (!bVar7) {\n            iVar3 = 5;\n            pbVar4 = param_2;\n            pbVar6 = &DAT_00063a4b;\n            do {\n              if (iVar3 == 0) break;\n              iVar3 = iVar3 + -1;\n              bVar8 = *pbVar4 < *pbVar6;\n              bVar7 = *pbVar4 == *pbVar6;\n              pbVar4 = pbVar4 + 1;\n              pbVar6 = pbVar6 + 1;\n            } while (bVar7);\n            bVar9 = false;\n            bVar7 = (!bVar8 && !bVar7) == bVar8;\n            if (bVar7) {\n              DAT_00087970 = DAT_00087970 & 0xef | 4;\n              return true;\n            }\n            iVar3 = 5;\n            pbVar4 = param_2;\n            pbVar6 = &DAT_0005a335;\n            do {\n              if (iVar3 == 0) break;\n              iVar3 = iVar3 + -1;\n              bVar9 = *pbVar4 < *pbVar6;\n              bVar7 = *pbVar4 == *pbVar6;\n              pbVar4 = pbVar4 + 1;\n              pbVar6 = pbVar6 + 1;\n            } while (bVar7);\n            bVar8 = false;\n            bVar7 = (!bVar9 && !bVar7) == bVar9;\n            if (bVar7) {\n              DAT_00087970 = DAT_00087970 & 0xfb;\n              return true;\n            }\n            iVar3 = 6;\n            pcVar5 = " debug";\n            pbVar4 = param_2;\n            do {\n              pcVar5 = (char *)((byte *)pcVar5 + 1);\n              if (iVar3 == 0) break;\n              iVar3 = iVar3 + -1;\n              bVar8 = *pbVar4 < (byte)*pcVar5;\n              bVar7 = *pbVar4 == *pcVar5;\n              pbVar4 = pbVar4 + 1;\n            } while (bVar7);\n            bVar9 = false;\n            bVar7 = (!bVar8 && !bVar7) == bVar8;\n            if (bVar7) {\n              DAT_00087970 = DAT_00087970 | 6;\n              return true;\n            }\n            iVar3 = 7;\n            pbVar4 = param_2;\n            pbVar6 = (byte *)"debugx";\n            do {\n              if (iVar3 == 0) break;\n              iVar3 = iVar3 + -1;\n              bVar9 = *pbVar4 < *pbVar6;\n              bVar7 = *pbVar4 == *pbVar6;\n              pbVar4 = pbVar4 + 1;\n              pbVar6 = pbVar6 + 1;\n            } while (bVar7);\n            bVar8 = false;\n            bVar7 = (!bVar9 && !bVar7) == bVar9;\n            if (bVar7) {\n              DAT_00087970 = DAT_00087970 | 0x16;\n              return true;\n            }\n            iVar3 = 7;\n            pbVar4 = param_2;\n            pbVar6 = (byte *)"debugn";\n            do {\n              if (iVar3 == 0) break;\n              iVar3 = iVar3 + -1;\n              bVar8 = *pbVar4 < *pbVar6;\n              bVar7 = *pbVar4 == *pbVar6;\n              pbVar4 = pbVar4 + 1;\n              pbVar6 = pbVar6 + 1;\n            } while (bVar7);\n            cVar1 = (!bVar8 && !bVar7) - bVar8;\n            if (cVar1 != '\0') {\n              DAT_00087970 = DAT_00087970 | 4;\n              uVar2 = dcgettext(0,"Unrecognized option \'-x%s\'",5,cVar1);\n              FUN_00029550(uVar2,param_2);\n              return true;\n            }\n            DAT_00087970 = DAT_00087970 & 0xf9 | 2;\n            return true;\n          }\n        }\n        DAT_00087970 = DAT_00087970 | 0x14;\n        return true;\n      }\n      if ((int)param_1 < 0x79) {\n        bVar7 = param_1 < 0x6d;\n        bVar9 = param_1 == 0x6d;\n        if (bVar9) {\n          iVar3 = 6;\n          pbVar4 = param_2;\n          pbVar6 = &DAT_000639e8;\n          do {\n            if (iVar3 == 0) break;\n            iVar3 = iVar3 + -1;\n            bVar7 = *pbVar4 < *pbVar6;\n            bVar9 = *pbVar4 == *pbVar6;\n            pbVar4 = pbVar4 + 1;\n            pbVar6 = pbVar6 + 1;\n          } while (bVar9);\n          bVar8 = false;\n          bVar7 = (!bVar7 && !bVar9) == bVar7;\n          if (!bVar7) {\n            iVar3 = 5;\n            pbVar4 = param_2;\n            pbVar6 = &DAT_000639e9;\n            do {\n              if (iVar3 == 0) break;\n              iVar3 = iVar3 + -1;\n              bVar8 = *pbVar4 < *pbVar6;\n              bVar7 = *pbVar4 == *pbVar6;\n              pbVar4 = pbVar4 + 1;\n              pbVar6 = pbVar6 + 1;\n            } while (bVar7);\n            bVar9 = false;\n            bVar7 = (!bVar8 && !bVar7) == bVar8;\n            if (!bVar7) {\n              iVar3 = 4;\n              pbVar4 = param_2;\n              pbVar6 = &DAT_000639ea;\n              do {\n                if (iVar3 == 0) break;\n                iVar3 = iVar3 + -1;\n                bVar9 = *pbVar4 < *pbVar6;\n                bVar7 = *pbVar4 == *pbVar6;\n                pbVar4 = pbVar4 + 1;\n                pbVar6 = pbVar6 + 1;\n              } while (bVar7);\n              bVar8 = false;\n              bVar7 = (!bVar9 && !bVar7) == bVar9;\n              if (!bVar7) {\n                iVar3 = 6;\n                pbVar4 = param_2;\n                pbVar6 = (byte *)"ilp32";\n                do {\n                  if (iVar3 == 0) break;\n                  iVar3 = iVar3 + -1;\n                  bVar8 = *pbVar4 < *pbVar6;\n                  bVar7 = *pbVar4 == *pbVar6;\n                  pbVar4 = pbVar4 + 1;\n                  pbVar6 = pbVar6 + 1;\n                } while (bVar7);\n                bVar9 = false;\n                bVar7 = (!bVar8 && !bVar7) == bVar8;\n                if (bVar7) {\n                  DAT_00087d90 = DAT_00087d90 & 0xffffffef;\n                  return true;\n                }\n                iVar3 = 3;\n                pbVar4 = param_2;\n                pbVar6 = (byte *)0x5a287;\n                do {\n                  if (iVar3 == 0) break;\n                  iVar3 = iVar3 + -1;\n                  bVar9 = *pbVar4 < *pbVar6;\n                  bVar7 = *pbVar4 == *pbVar6;\n                  pbVar4 = pbVar4 + 1;\n                  pbVar6 = pbVar6 + 1;\n                } while (bVar7);\n                bVar8 = false;\n                bVar7 = (!bVar9 && !bVar7) == bVar9;\n                if (bVar7) {\n                  DAT_00087d90 = DAT_00087d90 & 0xfffffff7;\n                  DAT_00087dfc = 0;\n                  return true;\n                }\n                iVar3 = 3;\n                pbVar4 = param_2;\n                pbVar6 = &DAT_00063a90;\n                do {\n                  if (iVar3 == 0) break;\n                  iVar3 = iVar3 + -1;\n                  bVar8 = *pbVar4 < *pbVar6;\n                  bVar7 = *pbVar4 == *pbVar6;\n                  pbVar4 = pbVar4 + 1;\n                  pbVar6 = pbVar6 + 1;\n                } while (bVar7);\n                bVar9 = false;\n                bVar7 = (!bVar8 && !bVar7) == bVar8;\n                if (bVar7) {\n                  DAT_00087d90 = DAT_00087d90 | 8;\n                  DAT_00087dfc = 1;\n                  return true;\n                }\n                iVar3 = 0xd;\n                pbVar4 = param_2;\n                pbVar6 = (byte *)"unwind-check=";\n                do {\n                  if (iVar3 == 0) break;\n                  iVar3 = iVar3 + -1;\n                  bVar9 = *pbVar4 < *pbVar6;\n                  bVar7 = *pbVar4 == *pbVar6;\n                  pbVar4 = pbVar4 + 1;\n                  pbVar6 = pbVar6 + 1;\n                } while (bVar7);\n                if ((!bVar9 && !bVar7) == bVar9) {\n                  iVar3 = strcmp((char *)(param_2 + 0xd),"warning");\n                  if (iVar3 == 0) {\n                    DAT_00087974 = 0;\n                    return true;\n                  }\n                  iVar3 = strcmp((char *)(param_2 + 0xd),"error");\n                  if (iVar3 == 0) {\n                    DAT_00087974 = 1;\n                    return true;\n                  }\n                  return false;\n                }\n                iVar3 = strncmp((char *)param_2,"hint.b=",7);\n                if (iVar3 != 0) {\n                  iVar3 = strncmp((char *)param_2,"tune=",5);\n                  if (iVar3 != 0) {\n                    return false;\n                  }\n                  iVar3 = strcmp((char *)(param_2 + 5),"itanium1");\n                  if (iVar3 != 0) {\n                    iVar3 = strcmp((char *)(param_2 + 5),"itanium2");\n                    if (iVar3 == 0) {\n                      DAT_00087968 = 1;\n                      return true;\n                    }\n                    return false;\n                  }\n                  DAT_00087968 = 0;\n                  return true;\n                }\n                param_2 = param_2 + 7;\n                iVar3 = strcmp((char *)param_2,"ok");\n                if (iVar3 == 0) {\n                  DAT_0008796c = 2;\n                  return true;\n                }\n                iVar3 = strcmp((char *)param_2,"warning");\n                if (iVar3 != 0) {\n                  iVar3 = strcmp((char *)param_2,"error");\n                  if (iVar3 == 0) {\n                    DAT_0008796c = 0;\n                    return true;\n                  }\n                  return false;\n                }\n                DAT_0008796c = 1;\n                return true;\n              }\n            }\n          }\n          DAT_00087d90 = DAT_00087d90 | 0x10;\n          return true;\n        }\n      }\n      else {\n        if (param_1 == 0x123) {\n          DAT_00087d90 = DAT_00087d90 | 0x40;\n          return true;\n        }\n        if (param_1 == 0x124) {\n          DAT_00087d90 = DAT_00087d90 | 0x80;\n          return true;\n        }\n      }\n      return false;\n    }\n    bVar7 = param_1 < 0x4e;\n    bVar9 = param_1 == 0x4e;\n    if (!bVar9) {\n      if (param_1 != 0x53) {\n        return param_1 == 0x43;\n      }\n      return true;\n    }\n    iVar3 = 3;\n    pbVar4 = param_2;\n    pbVar6 = &DAT_00063a25;\n    do {\n      if (iVar3 == 0) break;\n      iVar3 = iVar3 + -1;\n      bVar7 = *pbVar4 < *pbVar6;\n      bVar9 = *pbVar4 == *pbVar6;\n      pbVar4 = pbVar4 + 1;\n      pbVar6 = pbVar6 + 1;\n    } while (bVar9);\n    bVar8 = false;\n    bVar7 = (!bVar7 && !bVar9) == bVar7;\n    if (bVar7) {\n      return true;\n    }\n    iVar3 = 3;\n    pbVar4 = param_2;\n    pbVar6 = &DAT_00063a28;\n    do {\n      if (iVar3 == 0) break;\n      iVar3 = iVar3 + -1;\n      bVar8 = *pbVar4 < *pbVar6;\n      bVar7 = *pbVar4 == *pbVar6;\n      pbVar4 = pbVar4 + 1;\n      pbVar6 = pbVar6 + 1;\n    } while (bVar7);\n    bVar9 = false;\n    bVar8 = (!bVar8 && !bVar7) == bVar8;\n    if (bVar8) {\n      return true;\n    }\n    iVar3 = 3;\n    pbVar4 = param_2;\n    pbVar6 = (byte *)0x5f92c;\n    do {\n      if (iVar3 == 0) break;\n      iVar3 = iVar3 + -1;\n      bVar9 = *pbVar4 < *pbVar6;\n      bVar8 = *pbVar4 == *pbVar6;\n      pbVar4 = pbVar4 + 1;\n      pbVar6 = pbVar6 + 1;\n    } while (bVar8);\n    bVar7 = false;\n    bVar9 = (!bVar9 && !bVar8) == bVar9;\n    if (bVar9) {\n      return true;\n    }\n    iVar3 = 0xd;\n    pcVar5 = "close_fcalls";\n  }" (if "if") (parenthesized_expression "(bVar9)" (( "(") (identifier "bVar9") () ")")) (compound_statement "{\n    iVar3 = 9;\n    pcVar5 = "indirect=";\n  }" ({ "{") (expression_statement "iVar3 = 9;" (assignment_expression "iVar3 = 9" (identifier "iVar3") (= "=") (number_literal "9")) (; ";")) (expression_statement "pcVar5 = "indirect=";" (assignment_expression "pcVar5 = "indirect="" (identifier "pcVar5") (= "=") (string_literal ""indirect="" (" """) (string_content "indirect=") (" """))) (; ";")) (} "}")) (else_clause "else {\n    if (0x61 < (int)param_1) {\n      if (param_1 == 0x78) {\n        bVar7 = false;\n        bVar9 = param_2 == (byte *)0x0;\n        if (!bVar9) {\n          iVar3 = 9;\n          pbVar4 = param_2;\n          pbVar6 = (byte *)"explicit";\n          do {\n            if (iVar3 == 0) break;\n            iVar3 = iVar3 + -1;\n            bVar7 = *pbVar4 < *pbVar6;\n            bVar9 = *pbVar4 == *pbVar6;\n            pbVar4 = pbVar4 + 1;\n            pbVar6 = pbVar6 + 1;\n          } while (bVar9);\n          bVar8 = false;\n          bVar7 = (!bVar7 && !bVar9) == bVar7;\n          if (!bVar7) {\n            iVar3 = 5;\n            pbVar4 = param_2;\n            pbVar6 = &DAT_00063a4b;\n            do {\n              if (iVar3 == 0) break;\n              iVar3 = iVar3 + -1;\n              bVar8 = *pbVar4 < *pbVar6;\n              bVar7 = *pbVar4 == *pbVar6;\n              pbVar4 = pbVar4 + 1;\n              pbVar6 = pbVar6 + 1;\n            } while (bVar7);\n            bVar9 = false;\n            bVar7 = (!bVar8 && !bVar7) == bVar8;\n            if (bVar7) {\n              DAT_00087970 = DAT_00087970 & 0xef | 4;\n              return true;\n            }\n            iVar3 = 5;\n            pbVar4 = param_2;\n            pbVar6 = &DAT_0005a335;\n            do {\n              if (iVar3 == 0) break;\n              iVar3 = iVar3 + -1;\n              bVar9 = *pbVar4 < *pbVar6;\n              bVar7 = *pbVar4 == *pbVar6;\n              pbVar4 = pbVar4 + 1;\n              pbVar6 = pbVar6 + 1;\n            } while (bVar7);\n            bVar8 = false;\n            bVar7 = (!bVar9 && !bVar7) == bVar9;\n            if (bVar7) {\n              DAT_00087970 = DAT_00087970 & 0xfb;\n              return true;\n            }\n            iVar3 = 6;\n            pcVar5 = " debug";\n            pbVar4 = param_2;\n            do {\n              pcVar5 = (char *)((byte *)pcVar5 + 1);\n              if (iVar3 == 0) break;\n              iVar3 = iVar3 + -1;\n              bVar8 = *pbVar4 < (byte)*pcVar5;\n              bVar7 = *pbVar4 == *pcVar5;\n              pbVar4 = pbVar4 + 1;\n            } while (bVar7);\n            bVar9 = false;\n            bVar7 = (!bVar8 && !bVar7) == bVar8;\n            if (bVar7) {\n              DAT_00087970 = DAT_00087970 | 6;\n              return true;\n            }\n            iVar3 = 7;\n            pbVar4 = param_2;\n            pbVar6 = (byte *)"debugx";\n            do {\n              if (iVar3 == 0) break;\n              iVar3 = iVar3 + -1;\n              bVar9 = *pbVar4 < *pbVar6;\n              bVar7 = *pbVar4 == *pbVar6;\n              pbVar4 = pbVar4 + 1;\n              pbVar6 = pbVar6 + 1;\n            } while (bVar7);\n            bVar8 = false;\n            bVar7 = (!bVar9 && !bVar7) == bVar9;\n            if (bVar7) {\n              DAT_00087970 = DAT_00087970 | 0x16;\n              return true;\n            }\n            iVar3 = 7;\n            pbVar4 = param_2;\n            pbVar6 = (byte *)"debugn";\n            do {\n              if (iVar3 == 0) break;\n              iVar3 = iVar3 + -1;\n              bVar8 = *pbVar4 < *pbVar6;\n              bVar7 = *pbVar4 == *pbVar6;\n              pbVar4 = pbVar4 + 1;\n              pbVar6 = pbVar6 + 1;\n            } while (bVar7);\n            cVar1 = (!bVar8 && !bVar7) - bVar8;\n            if (cVar1 != '\0') {\n              DAT_00087970 = DAT_00087970 | 4;\n              uVar2 = dcgettext(0,"Unrecognized option \'-x%s\'",5,cVar1);\n              FUN_00029550(uVar2,param_2);\n              return true;\n            }\n            DAT_00087970 = DAT_00087970 & 0xf9 | 2;\n            return true;\n          }\n        }\n        DAT_00087970 = DAT_00087970 | 0x14;\n        return true;\n      }\n      if ((int)param_1 < 0x79) {\n        bVar7 = param_1 < 0x6d;\n        bVar9 = param_1 == 0x6d;\n        if (bVar9) {\n          iVar3 = 6;\n          pbVar4 = param_2;\n          pbVar6 = &DAT_000639e8;\n          do {\n            if (iVar3 == 0) break;\n            iVar3 = iVar3 + -1;\n            bVar7 = *pbVar4 < *pbVar6;\n            bVar9 = *pbVar4 == *pbVar6;\n            pbVar4 = pbVar4 + 1;\n            pbVar6 = pbVar6 + 1;\n          } while (bVar9);\n          bVar8 = false;\n          bVar7 = (!bVar7 && !bVar9) == bVar7;\n          if (!bVar7) {\n            iVar3 = 5;\n            pbVar4 = param_2;\n            pbVar6 = &DAT_000639e9;\n            do {\n              if (iVar3 == 0) break;\n              iVar3 = iVar3 + -1;\n              bVar8 = *pbVar4 < *pbVar6;\n              bVar7 = *pbVar4 == *pbVar6;\n              pbVar4 = pbVar4 + 1;\n              pbVar6 = pbVar6 + 1;\n            } while (bVar7);\n            bVar9 = false;\n            bVar7 = (!bVar8 && !bVar7) == bVar8;\n            if (!bVar7) {\n              iVar3 = 4;\n              pbVar4 = param_2;\n              pbVar6 = &DAT_000639ea;\n              do {\n                if (iVar3 == 0) break;\n                iVar3 = iVar3 + -1;\n                bVar9 = *pbVar4 < *pbVar6;\n                bVar7 = *pbVar4 == *pbVar6;\n                pbVar4 = pbVar4 + 1;\n                pbVar6 = pbVar6 + 1;\n              } while (bVar7);\n              bVar8 = false;\n              bVar7 = (!bVar9 && !bVar7) == bVar9;\n              if (!bVar7) {\n                iVar3 = 6;\n                pbVar4 = param_2;\n                pbVar6 = (byte *)"ilp32";\n                do {\n                  if (iVar3 == 0) break;\n                  iVar3 = iVar3 + -1;\n                  bVar8 = *pbVar4 < *pbVar6;\n                  bVar7 = *pbVar4 == *pbVar6;\n                  pbVar4 = pbVar4 + 1;\n                  pbVar6 = pbVar6 + 1;\n                } while (bVar7);\n                bVar9 = false;\n                bVar7 = (!bVar8 && !bVar7) == bVar8;\n                if (bVar7) {\n                  DAT_00087d90 = DAT_00087d90 & 0xffffffef;\n                  return true;\n                }\n                iVar3 = 3;\n                pbVar4 = param_2;\n                pbVar6 = (byte *)0x5a287;\n                do {\n                  if (iVar3 == 0) break;\n                  iVar3 = iVar3 + -1;\n                  bVar9 = *pbVar4 < *pbVar6;\n                  bVar7 = *pbVar4 == *pbVar6;\n                  pbVar4 = pbVar4 + 1;\n                  pbVar6 = pbVar6 + 1;\n                } while (bVar7);\n                bVar8 = false;\n                bVar7 = (!bVar9 && !bVar7) == bVar9;\n                if (bVar7) {\n                  DAT_00087d90 = DAT_00087d90 & 0xfffffff7;\n                  DAT_00087dfc = 0;\n                  return true;\n                }\n                iVar3 = 3;\n                pbVar4 = param_2;\n                pbVar6 = &DAT_00063a90;\n                do {\n                  if (iVar3 == 0) break;\n                  iVar3 = iVar3 + -1;\n                  bVar8 = *pbVar4 < *pbVar6;\n                  bVar7 = *pbVar4 == *pbVar6;\n                  pbVar4 = pbVar4 + 1;\n                  pbVar6 = pbVar6 + 1;\n                } while (bVar7);\n                bVar9 = false;\n                bVar7 = (!bVar8 && !bVar7) == bVar8;\n                if (bVar7) {\n                  DAT_00087d90 = DAT_00087d90 | 8;\n                  DAT_00087dfc = 1;\n                  return true;\n                }\n                iVar3 = 0xd;\n                pbVar4 = param_2;\n                pbVar6 = (byte *)"unwind-check=";\n                do {\n                  if (iVar3 == 0) break;\n                  iVar3 = iVar3 + -1;\n                  bVar9 = *pbVar4 < *pbVar6;\n                  bVar7 = *pbVar4 == *pbVar6;\n                  pbVar4 = pbVar4 + 1;\n                  pbVar6 = pbVar6 + 1;\n                } while (bVar7);\n                if ((!bVar9 && !bVar7) == bVar9) {\n                  iVar3 = strcmp((char *)(param_2 + 0xd),"warning");\n                  if (iVar3 == 0) {\n                    DAT_00087974 = 0;\n                    return true;\n                  }\n                  iVar3 = strcmp((char *)(param_2 + 0xd),"error");\n                  if (iVar3 == 0) {\n                    DAT_00087974 = 1;\n                    return true;\n                  }\n                  return false;\n                }\n                iVar3 = strncmp((char *)param_2,"hint.b=",7);\n                if (iVar3 != 0) {\n                  iVar3 = strncmp((char *)param_2,"tune=",5);\n                  if (iVar3 != 0) {\n                    return false;\n                  }\n                  iVar3 = strcmp((char *)(param_2 + 5),"itanium1");\n                  if (iVar3 != 0) {\n                    iVar3 = strcmp((char *)(param_2 + 5),"itanium2");\n                    if (iVar3 == 0) {\n                      DAT_00087968 = 1;\n                      return true;\n                    }\n                    return false;\n                  }\n                  DAT_00087968 = 0;\n                  return true;\n                }\n                param_2 = param_2 + 7;\n                iVar3 = strcmp((char *)param_2,"ok");\n                if (iVar3 == 0) {\n                  DAT_0008796c = 2;\n                  return true;\n                }\n                iVar3 = strcmp((char *)param_2,"warning");\n                if (iVar3 != 0) {\n                  iVar3 = strcmp((char *)param_2,"error");\n                  if (iVar3 == 0) {\n                    DAT_0008796c = 0;\n                    return true;\n                  }\n                  return false;\n                }\n                DAT_0008796c = 1;\n                return true;\n              }\n            }\n          }\n          DAT_00087d90 = DAT_00087d90 | 0x10;\n          return true;\n        }\n      }\n      else {\n        if (param_1 == 0x123) {\n          DAT_00087d90 = DAT_00087d90 | 0x40;\n          return true;\n        }\n        if (param_1 == 0x124) {\n          DAT_00087d90 = DAT_00087d90 | 0x80;\n          return true;\n        }\n      }\n      return false;\n    }\n    bVar7 = param_1 < 0x4e;\n    bVar9 = param_1 == 0x4e;\n    if (!bVar9) {\n      if (param_1 != 0x53) {\n        return param_1 == 0x43;\n      }\n      return true;\n    }\n    iVar3 = 3;\n    pbVar4 = param_2;\n    pbVar6 = &DAT_00063a25;\n    do {\n      if (iVar3 == 0) break;\n      iVar3 = iVar3 + -1;\n      bVar7 = *pbVar4 < *pbVar6;\n      bVar9 = *pbVar4 == *pbVar6;\n      pbVar4 = pbVar4 + 1;\n      pbVar6 = pbVar6 + 1;\n    } while (bVar9);\n    bVar8 = false;\n    bVar7 = (!bVar7 && !bVar9) == bVar7;\n    if (bVar7) {\n      return true;\n    }\n    iVar3 = 3;\n    pbVar4 = param_2;\n    pbVar6 = &DAT_00063a28;\n    do {\n      if (iVar3 == 0) break;\n      iVar3 = iVar3 + -1;\n      bVar8 = *pbVar4 < *pbVar6;\n      bVar7 = *pbVar4 == *pbVar6;\n      pbVar4 = pbVar4 + 1;\n      pbVar6 = pbVar6 + 1;\n    } while (bVar7);\n    bVar9 = false;\n    bVar8 = (!bVar8 && !bVar7) == bVar8;\n    if (bVar8) {\n      return true;\n    }\n    iVar3 = 3;\n    pbVar4 = param_2;\n    pbVar6 = (byte *)0x5f92c;\n    do {\n      if (iVar3 == 0) break;\n      iVar3 = iVar3 + -1;\n      bVar9 = *pbVar4 < *pbVar6;\n      bVar8 = *pbVar4 == *pbVar6;\n      pbVar4 = pbVar4 + 1;\n      pbVar6 = pbVar6 + 1;\n    } while (bVar8);\n    bVar7 = false;\n    bVar9 = (!bVar9 && !bVar8) == bVar9;\n    if (bVar9) {\n      return true;\n    }\n    iVar3 = 0xd;\n    pcVar5 = "close_fcalls";\n  }" (else "else") (compound_statement "{\n    if (0x61 < (int)param_1) {\n      if (param_1 == 0x78) {\n        bVar7 = false;\n        bVar9 = param_2 == (byte *)0x0;\n        if (!bVar9) {\n          iVar3 = 9;\n          pbVar4 = param_2;\n          pbVar6 = (byte *)"explicit";\n          do {\n            if (iVar3 == 0) break;\n            iVar3 = iVar3 + -1;\n            bVar7 = *pbVar4 < *pbVar6;\n            bVar9 = *pbVar4 == *pbVar6;\n            pbVar4 = pbVar4 + 1;\n            pbVar6 = pbVar6 + 1;\n          } while (bVar9);\n          bVar8 = false;\n          bVar7 = (!bVar7 && !bVar9) == bVar7;\n          if (!bVar7) {\n            iVar3 = 5;\n            pbVar4 = param_2;\n            pbVar6 = &DAT_00063a4b;\n            do {\n              if (iVar3 == 0) break;\n              iVar3 = iVar3 + -1;\n              bVar8 = *pbVar4 < *pbVar6;\n              bVar7 = *pbVar4 == *pbVar6;\n              pbVar4 = pbVar4 + 1;\n              pbVar6 = pbVar6 + 1;\n            } while (bVar7);\n            bVar9 = false;\n            bVar7 = (!bVar8 && !bVar7) == bVar8;\n            if (bVar7) {\n              DAT_00087970 = DAT_00087970 & 0xef | 4;\n              return true;\n            }\n            iVar3 = 5;\n            pbVar4 = param_2;\n            pbVar6 = &DAT_0005a335;\n            do {\n              if (iVar3 == 0) break;\n              iVar3 = iVar3 + -1;\n              bVar9 = *pbVar4 < *pbVar6;\n              bVar7 = *pbVar4 == *pbVar6;\n              pbVar4 = pbVar4 + 1;\n              pbVar6 = pbVar6 + 1;\n            } while (bVar7);\n            bVar8 = false;\n            bVar7 = (!bVar9 && !bVar7) == bVar9;\n            if (bVar7) {\n              DAT_00087970 = DAT_00087970 & 0xfb;\n              return true;\n            }\n            iVar3 = 6;\n            pcVar5 = " debug";\n            pbVar4 = param_2;\n            do {\n              pcVar5 = (char *)((byte *)pcVar5 + 1);\n              if (iVar3 == 0) break;\n              iVar3 = iVar3 + -1;\n              bVar8 = *pbVar4 < (byte)*pcVar5;\n              bVar7 = *pbVar4 == *pcVar5;\n              pbVar4 = pbVar4 + 1;\n            } while (bVar7);\n            bVar9 = false;\n            bVar7 = (!bVar8 && !bVar7) == bVar8;\n            if (bVar7) {\n              DAT_00087970 = DAT_00087970 | 6;\n              return true;\n            }\n            iVar3 = 7;\n            pbVar4 = param_2;\n            pbVar6 = (byte *)"debugx";\n            do {\n              if (iVar3 == 0) break;\n              iVar3 = iVar3 + -1;\n              bVar9 = *pbVar4 < *pbVar6;\n              bVar7 = *pbVar4 == *pbVar6;\n              pbVar4 = pbVar4 + 1;\n              pbVar6 = pbVar6 + 1;\n            } while (bVar7);\n            bVar8 = false;\n            bVar7 = (!bVar9 && !bVar7) == bVar9;\n            if (bVar7) {\n              DAT_00087970 = DAT_00087970 | 0x16;\n              return true;\n            }\n            iVar3 = 7;\n            pbVar4 = param_2;\n            pbVar6 = (byte *)"debugn";\n            do {\n              if (iVar3 == 0) break;\n              iVar3 = iVar3 + -1;\n              bVar8 = *pbVar4 < *pbVar6;\n              bVar7 = *pbVar4 == *pbVar6;\n              pbVar4 = pbVar4 + 1;\n              pbVar6 = pbVar6 + 1;\n            } while (bVar7);\n            cVar1 = (!bVar8 && !bVar7) - bVar8;\n            if (cVar1 != '\0') {\n              DAT_00087970 = DAT_00087970 | 4;\n              uVar2 = dcgettext(0,"Unrecognized option \'-x%s\'",5,cVar1);\n              FUN_00029550(uVar2,param_2);\n              return true;\n            }\n            DAT_00087970 = DAT_00087970 & 0xf9 | 2;\n            return true;\n          }\n        }\n        DAT_00087970 = DAT_00087970 | 0x14;\n        return true;\n      }\n      if ((int)param_1 < 0x79) {\n        bVar7 = param_1 < 0x6d;\n        bVar9 = param_1 == 0x6d;\n        if (bVar9) {\n          iVar3 = 6;\n          pbVar4 = param_2;\n          pbVar6 = &DAT_000639e8;\n          do {\n            if (iVar3 == 0) break;\n            iVar3 = iVar3 + -1;\n            bVar7 = *pbVar4 < *pbVar6;\n            bVar9 = *pbVar4 == *pbVar6;\n            pbVar4 = pbVar4 + 1;\n            pbVar6 = pbVar6 + 1;\n          } while (bVar9);\n          bVar8 = false;\n          bVar7 = (!bVar7 && !bVar9) == bVar7;\n          if (!bVar7) {\n            iVar3 = 5;\n            pbVar4 = param_2;\n            pbVar6 = &DAT_000639e9;\n            do {\n              if (iVar3 == 0) break;\n              iVar3 = iVar3 + -1;\n              bVar8 = *pbVar4 < *pbVar6;\n              bVar7 = *pbVar4 == *pbVar6;\n              pbVar4 = pbVar4 + 1;\n              pbVar6 = pbVar6 + 1;\n            } while (bVar7);\n            bVar9 = false;\n            bVar7 = (!bVar8 && !bVar7) == bVar8;\n            if (!bVar7) {\n              iVar3 = 4;\n              pbVar4 = param_2;\n              pbVar6 = &DAT_000639ea;\n              do {\n                if (iVar3 == 0) break;\n                iVar3 = iVar3 + -1;\n                bVar9 = *pbVar4 < *pbVar6;\n                bVar7 = *pbVar4 == *pbVar6;\n                pbVar4 = pbVar4 + 1;\n                pbVar6 = pbVar6 + 1;\n              } while (bVar7);\n              bVar8 = false;\n              bVar7 = (!bVar9 && !bVar7) == bVar9;\n              if (!bVar7) {\n                iVar3 = 6;\n                pbVar4 = param_2;\n                pbVar6 = (byte *)"ilp32";\n                do {\n                  if (iVar3 == 0) break;\n                  iVar3 = iVar3 + -1;\n                  bVar8 = *pbVar4 < *pbVar6;\n                  bVar7 = *pbVar4 == *pbVar6;\n                  pbVar4 = pbVar4 + 1;\n                  pbVar6 = pbVar6 + 1;\n                } while (bVar7);\n                bVar9 = false;\n                bVar7 = (!bVar8 && !bVar7) == bVar8;\n                if (bVar7) {\n                  DAT_00087d90 = DAT_00087d90 & 0xffffffef;\n                  return true;\n                }\n                iVar3 = 3;\n                pbVar4 = param_2;\n                pbVar6 = (byte *)0x5a287;\n                do {\n                  if (iVar3 == 0) break;\n                  iVar3 = iVar3 + -1;\n                  bVar9 = *pbVar4 < *pbVar6;\n                  bVar7 = *pbVar4 == *pbVar6;\n                  pbVar4 = pbVar4 + 1;\n                  pbVar6 = pbVar6 + 1;\n                } while (bVar7);\n                bVar8 = false;\n                bVar7 = (!bVar9 && !bVar7) == bVar9;\n                if (bVar7) {\n                  DAT_00087d90 = DAT_00087d90 & 0xfffffff7;\n                  DAT_00087dfc = 0;\n                  return true;\n                }\n                iVar3 = 3;\n                pbVar4 = param_2;\n                pbVar6 = &DAT_00063a90;\n                do {\n                  if (iVar3 == 0) break;\n                  iVar3 = iVar3 + -1;\n                  bVar8 = *pbVar4 < *pbVar6;\n                  bVar7 = *pbVar4 == *pbVar6;\n                  pbVar4 = pbVar4 + 1;\n                  pbVar6 = pbVar6 + 1;\n                } while (bVar7);\n                bVar9 = false;\n                bVar7 = (!bVar8 && !bVar7) == bVar8;\n                if (bVar7) {\n                  DAT_00087d90 = DAT_00087d90 | 8;\n                  DAT_00087dfc = 1;\n                  return true;\n                }\n                iVar3 = 0xd;\n                pbVar4 = param_2;\n                pbVar6 = (byte *)"unwind-check=";\n                do {\n                  if (iVar3 == 0) break;\n                  iVar3 = iVar3 + -1;\n                  bVar9 = *pbVar4 < *pbVar6;\n                  bVar7 = *pbVar4 == *pbVar6;\n                  pbVar4 = pbVar4 + 1;\n                  pbVar6 = pbVar6 + 1;\n                } while (bVar7);\n                if ((!bVar9 && !bVar7) == bVar9) {\n                  iVar3 = strcmp((char *)(param_2 + 0xd),"warning");\n                  if (iVar3 == 0) {\n                    DAT_00087974 = 0;\n                    return true;\n                  }\n                  iVar3 = strcmp((char *)(param_2 + 0xd),"error");\n                  if (iVar3 == 0) {\n                    DAT_00087974 = 1;\n                    return true;\n                  }\n                  return false;\n                }\n                iVar3 = strncmp((char *)param_2,"hint.b=",7);\n                if (iVar3 != 0) {\n                  iVar3 = strncmp((char *)param_2,"tune=",5);\n                  if (iVar3 != 0) {\n                    return false;\n                  }\n                  iVar3 = strcmp((char *)(param_2 + 5),"itanium1");\n                  if (iVar3 != 0) {\n                    iVar3 = strcmp((char *)(param_2 + 5),"itanium2");\n                    if (iVar3 == 0) {\n                      DAT_00087968 = 1;\n                      return true;\n                    }\n                    return false;\n                  }\n                  DAT_00087968 = 0;\n                  return true;\n                }\n                param_2 = param_2 + 7;\n                iVar3 = strcmp((char *)param_2,"ok");\n                if (iVar3 == 0) {\n                  DAT_0008796c = 2;\n                  return true;\n                }\n                iVar3 = strcmp((char *)param_2,"warning");\n                if (iVar3 != 0) {\n                  iVar3 = strcmp((char *)param_2,"error");\n                  if (iVar3 == 0) {\n                    DAT_0008796c = 0;\n                    return true;\n                  }\n                  return false;\n                }\n                DAT_0008796c = 1;\n                return true;\n              }\n            }\n          }\n          DAT_00087d90 = DAT_00087d90 | 0x10;\n          return true;\n        }\n      }\n      else {\n        if (param_1 == 0x123) {\n          DAT_00087d90 = DAT_00087d90 | 0x40;\n          return true;\n        }\n        if (param_1 == 0x124) {\n          DAT_00087d90 = DAT_00087d90 | 0x80;\n          return true;\n        }\n      }\n      return false;\n    }\n    bVar7 = param_1 < 0x4e;\n    bVar9 = param_1 == 0x4e;\n    if (!bVar9) {\n      if (param_1 != 0x53) {\n        return param_1 == 0x43;\n      }\n      return true;\n    }\n    iVar3 = 3;\n    pbVar4 = param_2;\n    pbVar6 = &DAT_00063a25;\n    do {\n      if (iVar3 == 0) break;\n      iVar3 = iVar3 + -1;\n      bVar7 = *pbVar4 < *pbVar6;\n      bVar9 = *pbVar4 == *pbVar6;\n      pbVar4 = pbVar4 + 1;\n      pbVar6 = pbVar6 + 1;\n    } while (bVar9);\n    bVar8 = false;\n    bVar7 = (!bVar7 && !bVar9) == bVar7;\n    if (bVar7) {\n      return true;\n    }\n    iVar3 = 3;\n    pbVar4 = param_2;\n    pbVar6 = &DAT_00063a28;\n    do {\n      if (iVar3 == 0) break;\n      iVar3 = iVar3 + -1;\n      bVar8 = *pbVar4 < *pbVar6;\n      bVar7 = *pbVar4 == *pbVar6;\n      pbVar4 = pbVar4 + 1;\n      pbVar6 = pbVar6 + 1;\n    } while (bVar7);\n    bVar9 = false;\n    bVar8 = (!bVar8 && !bVar7) == bVar8;\n    if (bVar8) {\n      return true;\n    }\n    iVar3 = 3;\n    pbVar4 = param_2;\n    pbVar6 = (byte *)0x5f92c;\n    do {\n      if (iVar3 == 0) break;\n      iVar3 = iVar3 + -1;\n      bVar9 = *pbVar4 < *pbVar6;\n      bVar8 = *pbVar4 == *pbVar6;\n      pbVar4 = pbVar4 + 1;\n      pbVar6 = pbVar6 + 1;\n    } while (bVar8);\n    bVar7 = false;\n    bVar9 = (!bVar9 && !bVar8) == bVar9;\n    if (bVar9) {\n      return true;\n    }\n    iVar3 = 0xd;\n    pcVar5 = "close_fcalls";\n  }" ({ "{") (if_statement "if (0x61 < (int)param_1) {\n      if (param_1 == 0x78) {\n        bVar7 = false;\n        bVar9 = param_2 == (byte *)0x0;\n        if (!bVar9) {\n          iVar3 = 9;\n          pbVar4 = param_2;\n          pbVar6 = (byte *)"explicit";\n          do {\n            if (iVar3 == 0) break;\n            iVar3 = iVar3 + -1;\n            bVar7 = *pbVar4 < *pbVar6;\n            bVar9 = *pbVar4 == *pbVar6;\n            pbVar4 = pbVar4 + 1;\n            pbVar6 = pbVar6 + 1;\n          } while (bVar9);\n          bVar8 = false;\n          bVar7 = (!bVar7 && !bVar9) == bVar7;\n          if (!bVar7) {\n            iVar3 = 5;\n            pbVar4 = param_2;\n            pbVar6 = &DAT_00063a4b;\n            do {\n              if (iVar3 == 0) break;\n              iVar3 = iVar3 + -1;\n              bVar8 = *pbVar4 < *pbVar6;\n              bVar7 = *pbVar4 == *pbVar6;\n              pbVar4 = pbVar4 + 1;\n              pbVar6 = pbVar6 + 1;\n            } while (bVar7);\n            bVar9 = false;\n            bVar7 = (!bVar8 && !bVar7) == bVar8;\n            if (bVar7) {\n              DAT_00087970 = DAT_00087970 & 0xef | 4;\n              return true;\n            }\n            iVar3 = 5;\n            pbVar4 = param_2;\n            pbVar6 = &DAT_0005a335;\n            do {\n              if (iVar3 == 0) break;\n              iVar3 = iVar3 + -1;\n              bVar9 = *pbVar4 < *pbVar6;\n              bVar7 = *pbVar4 == *pbVar6;\n              pbVar4 = pbVar4 + 1;\n              pbVar6 = pbVar6 + 1;\n            } while (bVar7);\n            bVar8 = false;\n            bVar7 = (!bVar9 && !bVar7) == bVar9;\n            if (bVar7) {\n              DAT_00087970 = DAT_00087970 & 0xfb;\n              return true;\n            }\n            iVar3 = 6;\n            pcVar5 = " debug";\n            pbVar4 = param_2;\n            do {\n              pcVar5 = (char *)((byte *)pcVar5 + 1);\n              if (iVar3 == 0) break;\n              iVar3 = iVar3 + -1;\n              bVar8 = *pbVar4 < (byte)*pcVar5;\n              bVar7 = *pbVar4 == *pcVar5;\n              pbVar4 = pbVar4 + 1;\n            } while (bVar7);\n            bVar9 = false;\n            bVar7 = (!bVar8 && !bVar7) == bVar8;\n            if (bVar7) {\n              DAT_00087970 = DAT_00087970 | 6;\n              return true;\n            }\n            iVar3 = 7;\n            pbVar4 = param_2;\n            pbVar6 = (byte *)"debugx";\n            do {\n              if (iVar3 == 0) break;\n              iVar3 = iVar3 + -1;\n              bVar9 = *pbVar4 < *pbVar6;\n              bVar7 = *pbVar4 == *pbVar6;\n              pbVar4 = pbVar4 + 1;\n              pbVar6 = pbVar6 + 1;\n            } while (bVar7);\n            bVar8 = false;\n            bVar7 = (!bVar9 && !bVar7) == bVar9;\n            if (bVar7) {\n              DAT_00087970 = DAT_00087970 | 0x16;\n              return true;\n            }\n            iVar3 = 7;\n            pbVar4 = param_2;\n            pbVar6 = (byte *)"debugn";\n            do {\n              if (iVar3 == 0) break;\n              iVar3 = iVar3 + -1;\n              bVar8 = *pbVar4 < *pbVar6;\n              bVar7 = *pbVar4 == *pbVar6;\n              pbVar4 = pbVar4 + 1;\n              pbVar6 = pbVar6 + 1;\n            } while (bVar7);\n            cVar1 = (!bVar8 && !bVar7) - bVar8;\n            if (cVar1 != '\0') {\n              DAT_00087970 = DAT_00087970 | 4;\n              uVar2 = dcgettext(0,"Unrecognized option \'-x%s\'",5,cVar1);\n              FUN_00029550(uVar2,param_2);\n              return true;\n            }\n            DAT_00087970 = DAT_00087970 & 0xf9 | 2;\n            return true;\n          }\n        }\n        DAT_00087970 = DAT_00087970 | 0x14;\n        return true;\n      }\n      if ((int)param_1 < 0x79) {\n        bVar7 = param_1 < 0x6d;\n        bVar9 = param_1 == 0x6d;\n        if (bVar9) {\n          iVar3 = 6;\n          pbVar4 = param_2;\n          pbVar6 = &DAT_000639e8;\n          do {\n            if (iVar3 == 0) break;\n            iVar3 = iVar3 + -1;\n            bVar7 = *pbVar4 < *pbVar6;\n            bVar9 = *pbVar4 == *pbVar6;\n            pbVar4 = pbVar4 + 1;\n            pbVar6 = pbVar6 + 1;\n          } while (bVar9);\n          bVar8 = false;\n          bVar7 = (!bVar7 && !bVar9) == bVar7;\n          if (!bVar7) {\n            iVar3 = 5;\n            pbVar4 = param_2;\n            pbVar6 = &DAT_000639e9;\n            do {\n              if (iVar3 == 0) break;\n              iVar3 = iVar3 + -1;\n              bVar8 = *pbVar4 < *pbVar6;\n              bVar7 = *pbVar4 == *pbVar6;\n              pbVar4 = pbVar4 + 1;\n              pbVar6 = pbVar6 + 1;\n            } while (bVar7);\n            bVar9 = false;\n            bVar7 = (!bVar8 && !bVar7) == bVar8;\n            if (!bVar7) {\n              iVar3 = 4;\n              pbVar4 = param_2;\n              pbVar6 = &DAT_000639ea;\n              do {\n                if (iVar3 == 0) break;\n                iVar3 = iVar3 + -1;\n                bVar9 = *pbVar4 < *pbVar6;\n                bVar7 = *pbVar4 == *pbVar6;\n                pbVar4 = pbVar4 + 1;\n                pbVar6 = pbVar6 + 1;\n              } while (bVar7);\n              bVar8 = false;\n              bVar7 = (!bVar9 && !bVar7) == bVar9;\n              if (!bVar7) {\n                iVar3 = 6;\n                pbVar4 = param_2;\n                pbVar6 = (byte *)"ilp32";\n                do {\n                  if (iVar3 == 0) break;\n                  iVar3 = iVar3 + -1;\n                  bVar8 = *pbVar4 < *pbVar6;\n                  bVar7 = *pbVar4 == *pbVar6;\n                  pbVar4 = pbVar4 + 1;\n                  pbVar6 = pbVar6 + 1;\n                } while (bVar7);\n                bVar9 = false;\n                bVar7 = (!bVar8 && !bVar7) == bVar8;\n                if (bVar7) {\n                  DAT_00087d90 = DAT_00087d90 & 0xffffffef;\n                  return true;\n                }\n                iVar3 = 3;\n                pbVar4 = param_2;\n                pbVar6 = (byte *)0x5a287;\n                do {\n                  if (iVar3 == 0) break;\n                  iVar3 = iVar3 + -1;\n                  bVar9 = *pbVar4 < *pbVar6;\n                  bVar7 = *pbVar4 == *pbVar6;\n                  pbVar4 = pbVar4 + 1;\n                  pbVar6 = pbVar6 + 1;\n                } while (bVar7);\n                bVar8 = false;\n                bVar7 = (!bVar9 && !bVar7) == bVar9;\n                if (bVar7) {\n                  DAT_00087d90 = DAT_00087d90 & 0xfffffff7;\n                  DAT_00087dfc = 0;\n                  return true;\n                }\n                iVar3 = 3;\n                pbVar4 = param_2;\n                pbVar6 = &DAT_00063a90;\n                do {\n                  if (iVar3 == 0) break;\n                  iVar3 = iVar3 + -1;\n                  bVar8 = *pbVar4 < *pbVar6;\n                  bVar7 = *pbVar4 == *pbVar6;\n                  pbVar4 = pbVar4 + 1;\n                  pbVar6 = pbVar6 + 1;\n                } while (bVar7);\n                bVar9 = false;\n                bVar7 = (!bVar8 && !bVar7) == bVar8;\n                if (bVar7) {\n                  DAT_00087d90 = DAT_00087d90 | 8;\n                  DAT_00087dfc = 1;\n                  return true;\n                }\n                iVar3 = 0xd;\n                pbVar4 = param_2;\n                pbVar6 = (byte *)"unwind-check=";\n                do {\n                  if (iVar3 == 0) break;\n                  iVar3 = iVar3 + -1;\n                  bVar9 = *pbVar4 < *pbVar6;\n                  bVar7 = *pbVar4 == *pbVar6;\n                  pbVar4 = pbVar4 + 1;\n                  pbVar6 = pbVar6 + 1;\n                } while (bVar7);\n                if ((!bVar9 && !bVar7) == bVar9) {\n                  iVar3 = strcmp((char *)(param_2 + 0xd),"warning");\n                  if (iVar3 == 0) {\n                    DAT_00087974 = 0;\n                    return true;\n                  }\n                  iVar3 = strcmp((char *)(param_2 + 0xd),"error");\n                  if (iVar3 == 0) {\n                    DAT_00087974 = 1;\n                    return true;\n                  }\n                  return false;\n                }\n                iVar3 = strncmp((char *)param_2,"hint.b=",7);\n                if (iVar3 != 0) {\n                  iVar3 = strncmp((char *)param_2,"tune=",5);\n                  if (iVar3 != 0) {\n                    return false;\n                  }\n                  iVar3 = strcmp((char *)(param_2 + 5),"itanium1");\n                  if (iVar3 != 0) {\n                    iVar3 = strcmp((char *)(param_2 + 5),"itanium2");\n                    if (iVar3 == 0) {\n                      DAT_00087968 = 1;\n                      return true;\n                    }\n                    return false;\n                  }\n                  DAT_00087968 = 0;\n                  return true;\n                }\n                param_2 = param_2 + 7;\n                iVar3 = strcmp((char *)param_2,"ok");\n                if (iVar3 == 0) {\n                  DAT_0008796c = 2;\n                  return true;\n                }\n                iVar3 = strcmp((char *)param_2,"warning");\n                if (iVar3 != 0) {\n                  iVar3 = strcmp((char *)param_2,"error");\n                  if (iVar3 == 0) {\n                    DAT_0008796c = 0;\n                    return true;\n                  }\n                  return false;\n                }\n                DAT_0008796c = 1;\n                return true;\n              }\n            }\n          }\n          DAT_00087d90 = DAT_00087d90 | 0x10;\n          return true;\n        }\n      }\n      else {\n        if (param_1 == 0x123) {\n          DAT_00087d90 = DAT_00087d90 | 0x40;\n          return true;\n        }\n        if (param_1 == 0x124) {\n          DAT_00087d90 = DAT_00087d90 | 0x80;\n          return true;\n        }\n      }\n      return false;\n    }" (if "if") (parenthesized_expression "(0x61 < (int)param_1)" (( "(") (binary_expression "0x61 < (int)param_1" (number_literal "0x61") (< "<") (cast_expression "(int)param_1" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "param_1"))) () ")")) (compound_statement "{\n      if (param_1 == 0x78) {\n        bVar7 = false;\n        bVar9 = param_2 == (byte *)0x0;\n        if (!bVar9) {\n          iVar3 = 9;\n          pbVar4 = param_2;\n          pbVar6 = (byte *)"explicit";\n          do {\n            if (iVar3 == 0) break;\n            iVar3 = iVar3 + -1;\n            bVar7 = *pbVar4 < *pbVar6;\n            bVar9 = *pbVar4 == *pbVar6;\n            pbVar4 = pbVar4 + 1;\n            pbVar6 = pbVar6 + 1;\n          } while (bVar9);\n          bVar8 = false;\n          bVar7 = (!bVar7 && !bVar9) == bVar7;\n          if (!bVar7) {\n            iVar3 = 5;\n            pbVar4 = param_2;\n            pbVar6 = &DAT_00063a4b;\n            do {\n              if (iVar3 == 0) break;\n              iVar3 = iVar3 + -1;\n              bVar8 = *pbVar4 < *pbVar6;\n              bVar7 = *pbVar4 == *pbVar6;\n              pbVar4 = pbVar4 + 1;\n              pbVar6 = pbVar6 + 1;\n            } while (bVar7);\n            bVar9 = false;\n            bVar7 = (!bVar8 && !bVar7) == bVar8;\n            if (bVar7) {\n              DAT_00087970 = DAT_00087970 & 0xef | 4;\n              return true;\n            }\n            iVar3 = 5;\n            pbVar4 = param_2;\n            pbVar6 = &DAT_0005a335;\n            do {\n              if (iVar3 == 0) break;\n              iVar3 = iVar3 + -1;\n              bVar9 = *pbVar4 < *pbVar6;\n              bVar7 = *pbVar4 == *pbVar6;\n              pbVar4 = pbVar4 + 1;\n              pbVar6 = pbVar6 + 1;\n            } while (bVar7);\n            bVar8 = false;\n            bVar7 = (!bVar9 && !bVar7) == bVar9;\n            if (bVar7) {\n              DAT_00087970 = DAT_00087970 & 0xfb;\n              return true;\n            }\n            iVar3 = 6;\n            pcVar5 = " debug";\n            pbVar4 = param_2;\n            do {\n              pcVar5 = (char *)((byte *)pcVar5 + 1);\n              if (iVar3 == 0) break;\n              iVar3 = iVar3 + -1;\n              bVar8 = *pbVar4 < (byte)*pcVar5;\n              bVar7 = *pbVar4 == *pcVar5;\n              pbVar4 = pbVar4 + 1;\n            } while (bVar7);\n            bVar9 = false;\n            bVar7 = (!bVar8 && !bVar7) == bVar8;\n            if (bVar7) {\n              DAT_00087970 = DAT_00087970 | 6;\n              return true;\n            }\n            iVar3 = 7;\n            pbVar4 = param_2;\n            pbVar6 = (byte *)"debugx";\n            do {\n              if (iVar3 == 0) break;\n              iVar3 = iVar3 + -1;\n              bVar9 = *pbVar4 < *pbVar6;\n              bVar7 = *pbVar4 == *pbVar6;\n              pbVar4 = pbVar4 + 1;\n              pbVar6 = pbVar6 + 1;\n            } while (bVar7);\n            bVar8 = false;\n            bVar7 = (!bVar9 && !bVar7) == bVar9;\n            if (bVar7) {\n              DAT_00087970 = DAT_00087970 | 0x16;\n              return true;\n            }\n            iVar3 = 7;\n            pbVar4 = param_2;\n            pbVar6 = (byte *)"debugn";\n            do {\n              if (iVar3 == 0) break;\n              iVar3 = iVar3 + -1;\n              bVar8 = *pbVar4 < *pbVar6;\n              bVar7 = *pbVar4 == *pbVar6;\n              pbVar4 = pbVar4 + 1;\n              pbVar6 = pbVar6 + 1;\n            } while (bVar7);\n            cVar1 = (!bVar8 && !bVar7) - bVar8;\n            if (cVar1 != '\0') {\n              DAT_00087970 = DAT_00087970 | 4;\n              uVar2 = dcgettext(0,"Unrecognized option \'-x%s\'",5,cVar1);\n              FUN_00029550(uVar2,param_2);\n              return true;\n            }\n            DAT_00087970 = DAT_00087970 & 0xf9 | 2;\n            return true;\n          }\n        }\n        DAT_00087970 = DAT_00087970 | 0x14;\n        return true;\n      }\n      if ((int)param_1 < 0x79) {\n        bVar7 = param_1 < 0x6d;\n        bVar9 = param_1 == 0x6d;\n        if (bVar9) {\n          iVar3 = 6;\n          pbVar4 = param_2;\n          pbVar6 = &DAT_000639e8;\n          do {\n            if (iVar3 == 0) break;\n            iVar3 = iVar3 + -1;\n            bVar7 = *pbVar4 < *pbVar6;\n            bVar9 = *pbVar4 == *pbVar6;\n            pbVar4 = pbVar4 + 1;\n            pbVar6 = pbVar6 + 1;\n          } while (bVar9);\n          bVar8 = false;\n          bVar7 = (!bVar7 && !bVar9) == bVar7;\n          if (!bVar7) {\n            iVar3 = 5;\n            pbVar4 = param_2;\n            pbVar6 = &DAT_000639e9;\n            do {\n              if (iVar3 == 0) break;\n              iVar3 = iVar3 + -1;\n              bVar8 = *pbVar4 < *pbVar6;\n              bVar7 = *pbVar4 == *pbVar6;\n              pbVar4 = pbVar4 + 1;\n              pbVar6 = pbVar6 + 1;\n            } while (bVar7);\n            bVar9 = false;\n            bVar7 = (!bVar8 && !bVar7) == bVar8;\n            if (!bVar7) {\n              iVar3 = 4;\n              pbVar4 = param_2;\n              pbVar6 = &DAT_000639ea;\n              do {\n                if (iVar3 == 0) break;\n                iVar3 = iVar3 + -1;\n                bVar9 = *pbVar4 < *pbVar6;\n                bVar7 = *pbVar4 == *pbVar6;\n                pbVar4 = pbVar4 + 1;\n                pbVar6 = pbVar6 + 1;\n              } while (bVar7);\n              bVar8 = false;\n              bVar7 = (!bVar9 && !bVar7) == bVar9;\n              if (!bVar7) {\n                iVar3 = 6;\n                pbVar4 = param_2;\n                pbVar6 = (byte *)"ilp32";\n                do {\n                  if (iVar3 == 0) break;\n                  iVar3 = iVar3 + -1;\n                  bVar8 = *pbVar4 < *pbVar6;\n                  bVar7 = *pbVar4 == *pbVar6;\n                  pbVar4 = pbVar4 + 1;\n                  pbVar6 = pbVar6 + 1;\n                } while (bVar7);\n                bVar9 = false;\n                bVar7 = (!bVar8 && !bVar7) == bVar8;\n                if (bVar7) {\n                  DAT_00087d90 = DAT_00087d90 & 0xffffffef;\n                  return true;\n                }\n                iVar3 = 3;\n                pbVar4 = param_2;\n                pbVar6 = (byte *)0x5a287;\n                do {\n                  if (iVar3 == 0) break;\n                  iVar3 = iVar3 + -1;\n                  bVar9 = *pbVar4 < *pbVar6;\n                  bVar7 = *pbVar4 == *pbVar6;\n                  pbVar4 = pbVar4 + 1;\n                  pbVar6 = pbVar6 + 1;\n                } while (bVar7);\n                bVar8 = false;\n                bVar7 = (!bVar9 && !bVar7) == bVar9;\n                if (bVar7) {\n                  DAT_00087d90 = DAT_00087d90 & 0xfffffff7;\n                  DAT_00087dfc = 0;\n                  return true;\n                }\n                iVar3 = 3;\n                pbVar4 = param_2;\n                pbVar6 = &DAT_00063a90;\n                do {\n                  if (iVar3 == 0) break;\n                  iVar3 = iVar3 + -1;\n                  bVar8 = *pbVar4 < *pbVar6;\n                  bVar7 = *pbVar4 == *pbVar6;\n                  pbVar4 = pbVar4 + 1;\n                  pbVar6 = pbVar6 + 1;\n                } while (bVar7);\n                bVar9 = false;\n                bVar7 = (!bVar8 && !bVar7) == bVar8;\n                if (bVar7) {\n                  DAT_00087d90 = DAT_00087d90 | 8;\n                  DAT_00087dfc = 1;\n                  return true;\n                }\n                iVar3 = 0xd;\n                pbVar4 = param_2;\n                pbVar6 = (byte *)"unwind-check=";\n                do {\n                  if (iVar3 == 0) break;\n                  iVar3 = iVar3 + -1;\n                  bVar9 = *pbVar4 < *pbVar6;\n                  bVar7 = *pbVar4 == *pbVar6;\n                  pbVar4 = pbVar4 + 1;\n                  pbVar6 = pbVar6 + 1;\n                } while (bVar7);\n                if ((!bVar9 && !bVar7) == bVar9) {\n                  iVar3 = strcmp((char *)(param_2 + 0xd),"warning");\n                  if (iVar3 == 0) {\n                    DAT_00087974 = 0;\n                    return true;\n                  }\n                  iVar3 = strcmp((char *)(param_2 + 0xd),"error");\n                  if (iVar3 == 0) {\n                    DAT_00087974 = 1;\n                    return true;\n                  }\n                  return false;\n                }\n                iVar3 = strncmp((char *)param_2,"hint.b=",7);\n                if (iVar3 != 0) {\n                  iVar3 = strncmp((char *)param_2,"tune=",5);\n                  if (iVar3 != 0) {\n                    return false;\n                  }\n                  iVar3 = strcmp((char *)(param_2 + 5),"itanium1");\n                  if (iVar3 != 0) {\n                    iVar3 = strcmp((char *)(param_2 + 5),"itanium2");\n                    if (iVar3 == 0) {\n                      DAT_00087968 = 1;\n                      return true;\n                    }\n                    return false;\n                  }\n                  DAT_00087968 = 0;\n                  return true;\n                }\n                param_2 = param_2 + 7;\n                iVar3 = strcmp((char *)param_2,"ok");\n                if (iVar3 == 0) {\n                  DAT_0008796c = 2;\n                  return true;\n                }\n                iVar3 = strcmp((char *)param_2,"warning");\n                if (iVar3 != 0) {\n                  iVar3 = strcmp((char *)param_2,"error");\n                  if (iVar3 == 0) {\n                    DAT_0008796c = 0;\n                    return true;\n                  }\n                  return false;\n                }\n                DAT_0008796c = 1;\n                return true;\n              }\n            }\n          }\n          DAT_00087d90 = DAT_00087d90 | 0x10;\n          return true;\n        }\n      }\n      else {\n        if (param_1 == 0x123) {\n          DAT_00087d90 = DAT_00087d90 | 0x40;\n          return true;\n        }\n        if (param_1 == 0x124) {\n          DAT_00087d90 = DAT_00087d90 | 0x80;\n          return true;\n        }\n      }\n      return false;\n    }" ({ "{") (if_statement "if (param_1 == 0x78) {\n        bVar7 = false;\n        bVar9 = param_2 == (byte *)0x0;\n        if (!bVar9) {\n          iVar3 = 9;\n          pbVar4 = param_2;\n          pbVar6 = (byte *)"explicit";\n          do {\n            if (iVar3 == 0) break;\n            iVar3 = iVar3 + -1;\n            bVar7 = *pbVar4 < *pbVar6;\n            bVar9 = *pbVar4 == *pbVar6;\n            pbVar4 = pbVar4 + 1;\n            pbVar6 = pbVar6 + 1;\n          } while (bVar9);\n          bVar8 = false;\n          bVar7 = (!bVar7 && !bVar9) == bVar7;\n          if (!bVar7) {\n            iVar3 = 5;\n            pbVar4 = param_2;\n            pbVar6 = &DAT_00063a4b;\n            do {\n              if (iVar3 == 0) break;\n              iVar3 = iVar3 + -1;\n              bVar8 = *pbVar4 < *pbVar6;\n              bVar7 = *pbVar4 == *pbVar6;\n              pbVar4 = pbVar4 + 1;\n              pbVar6 = pbVar6 + 1;\n            } while (bVar7);\n            bVar9 = false;\n            bVar7 = (!bVar8 && !bVar7) == bVar8;\n            if (bVar7) {\n              DAT_00087970 = DAT_00087970 & 0xef | 4;\n              return true;\n            }\n            iVar3 = 5;\n            pbVar4 = param_2;\n            pbVar6 = &DAT_0005a335;\n            do {\n              if (iVar3 == 0) break;\n              iVar3 = iVar3 + -1;\n              bVar9 = *pbVar4 < *pbVar6;\n              bVar7 = *pbVar4 == *pbVar6;\n              pbVar4 = pbVar4 + 1;\n              pbVar6 = pbVar6 + 1;\n            } while (bVar7);\n            bVar8 = false;\n            bVar7 = (!bVar9 && !bVar7) == bVar9;\n            if (bVar7) {\n              DAT_00087970 = DAT_00087970 & 0xfb;\n              return true;\n            }\n            iVar3 = 6;\n            pcVar5 = " debug";\n            pbVar4 = param_2;\n            do {\n              pcVar5 = (char *)((byte *)pcVar5 + 1);\n              if (iVar3 == 0) break;\n              iVar3 = iVar3 + -1;\n              bVar8 = *pbVar4 < (byte)*pcVar5;\n              bVar7 = *pbVar4 == *pcVar5;\n              pbVar4 = pbVar4 + 1;\n            } while (bVar7);\n            bVar9 = false;\n            bVar7 = (!bVar8 && !bVar7) == bVar8;\n            if (bVar7) {\n              DAT_00087970 = DAT_00087970 | 6;\n              return true;\n            }\n            iVar3 = 7;\n            pbVar4 = param_2;\n            pbVar6 = (byte *)"debugx";\n            do {\n              if (iVar3 == 0) break;\n              iVar3 = iVar3 + -1;\n              bVar9 = *pbVar4 < *pbVar6;\n              bVar7 = *pbVar4 == *pbVar6;\n              pbVar4 = pbVar4 + 1;\n              pbVar6 = pbVar6 + 1;\n            } while (bVar7);\n            bVar8 = false;\n            bVar7 = (!bVar9 && !bVar7) == bVar9;\n            if (bVar7) {\n              DAT_00087970 = DAT_00087970 | 0x16;\n              return true;\n            }\n            iVar3 = 7;\n            pbVar4 = param_2;\n            pbVar6 = (byte *)"debugn";\n            do {\n              if (iVar3 == 0) break;\n              iVar3 = iVar3 + -1;\n              bVar8 = *pbVar4 < *pbVar6;\n              bVar7 = *pbVar4 == *pbVar6;\n              pbVar4 = pbVar4 + 1;\n              pbVar6 = pbVar6 + 1;\n            } while (bVar7);\n            cVar1 = (!bVar8 && !bVar7) - bVar8;\n            if (cVar1 != '\0') {\n              DAT_00087970 = DAT_00087970 | 4;\n              uVar2 = dcgettext(0,"Unrecognized option \'-x%s\'",5,cVar1);\n              FUN_00029550(uVar2,param_2);\n              return true;\n            }\n            DAT_00087970 = DAT_00087970 & 0xf9 | 2;\n            return true;\n          }\n        }\n        DAT_00087970 = DAT_00087970 | 0x14;\n        return true;\n      }" (if "if") (parenthesized_expression "(param_1 == 0x78)" (( "(") (binary_expression "param_1 == 0x78" (identifier "param_1") (== "==") (number_literal "0x78")) () ")")) (compound_statement "{\n        bVar7 = false;\n        bVar9 = param_2 == (byte *)0x0;\n        if (!bVar9) {\n          iVar3 = 9;\n          pbVar4 = param_2;\n          pbVar6 = (byte *)"explicit";\n          do {\n            if (iVar3 == 0) break;\n            iVar3 = iVar3 + -1;\n            bVar7 = *pbVar4 < *pbVar6;\n            bVar9 = *pbVar4 == *pbVar6;\n            pbVar4 = pbVar4 + 1;\n            pbVar6 = pbVar6 + 1;\n          } while (bVar9);\n          bVar8 = false;\n          bVar7 = (!bVar7 && !bVar9) == bVar7;\n          if (!bVar7) {\n            iVar3 = 5;\n            pbVar4 = param_2;\n            pbVar6 = &DAT_00063a4b;\n            do {\n              if (iVar3 == 0) break;\n              iVar3 = iVar3 + -1;\n              bVar8 = *pbVar4 < *pbVar6;\n              bVar7 = *pbVar4 == *pbVar6;\n              pbVar4 = pbVar4 + 1;\n              pbVar6 = pbVar6 + 1;\n            } while (bVar7);\n            bVar9 = false;\n            bVar7 = (!bVar8 && !bVar7) == bVar8;\n            if (bVar7) {\n              DAT_00087970 = DAT_00087970 & 0xef | 4;\n              return true;\n            }\n            iVar3 = 5;\n            pbVar4 = param_2;\n            pbVar6 = &DAT_0005a335;\n            do {\n              if (iVar3 == 0) break;\n              iVar3 = iVar3 + -1;\n              bVar9 = *pbVar4 < *pbVar6;\n              bVar7 = *pbVar4 == *pbVar6;\n              pbVar4 = pbVar4 + 1;\n              pbVar6 = pbVar6 + 1;\n            } while (bVar7);\n            bVar8 = false;\n            bVar7 = (!bVar9 && !bVar7) == bVar9;\n            if (bVar7) {\n              DAT_00087970 = DAT_00087970 & 0xfb;\n              return true;\n            }\n            iVar3 = 6;\n            pcVar5 = " debug";\n            pbVar4 = param_2;\n            do {\n              pcVar5 = (char *)((byte *)pcVar5 + 1);\n              if (iVar3 == 0) break;\n              iVar3 = iVar3 + -1;\n              bVar8 = *pbVar4 < (byte)*pcVar5;\n              bVar7 = *pbVar4 == *pcVar5;\n              pbVar4 = pbVar4 + 1;\n            } while (bVar7);\n            bVar9 = false;\n            bVar7 = (!bVar8 && !bVar7) == bVar8;\n            if (bVar7) {\n              DAT_00087970 = DAT_00087970 | 6;\n              return true;\n            }\n            iVar3 = 7;\n            pbVar4 = param_2;\n            pbVar6 = (byte *)"debugx";\n            do {\n              if (iVar3 == 0) break;\n              iVar3 = iVar3 + -1;\n              bVar9 = *pbVar4 < *pbVar6;\n              bVar7 = *pbVar4 == *pbVar6;\n              pbVar4 = pbVar4 + 1;\n              pbVar6 = pbVar6 + 1;\n            } while (bVar7);\n            bVar8 = false;\n            bVar7 = (!bVar9 && !bVar7) == bVar9;\n            if (bVar7) {\n              DAT_00087970 = DAT_00087970 | 0x16;\n              return true;\n            }\n            iVar3 = 7;\n            pbVar4 = param_2;\n            pbVar6 = (byte *)"debugn";\n            do {\n              if (iVar3 == 0) break;\n              iVar3 = iVar3 + -1;\n              bVar8 = *pbVar4 < *pbVar6;\n              bVar7 = *pbVar4 == *pbVar6;\n              pbVar4 = pbVar4 + 1;\n              pbVar6 = pbVar6 + 1;\n            } while (bVar7);\n            cVar1 = (!bVar8 && !bVar7) - bVar8;\n            if (cVar1 != '\0') {\n              DAT_00087970 = DAT_00087970 | 4;\n              uVar2 = dcgettext(0,"Unrecognized option \'-x%s\'",5,cVar1);\n              FUN_00029550(uVar2,param_2);\n              return true;\n            }\n            DAT_00087970 = DAT_00087970 & 0xf9 | 2;\n            return true;\n          }\n        }\n        DAT_00087970 = DAT_00087970 | 0x14;\n        return true;\n      }" ({ "{") (expression_statement "bVar7 = false;" (assignment_expression "bVar7 = false" (identifier "bVar7") (= "=") (false "false")) (; ";")) (expression_statement "bVar9 = param_2 == (byte *)0x0;" (assignment_expression "bVar9 = param_2 == (byte *)0x0" (identifier "bVar9") (= "=") (binary_expression "param_2 == (byte *)0x0" (identifier "param_2") (== "==") (cast_expression "(byte *)0x0" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0")))) (; ";")) (if_statement "if (!bVar9) {\n          iVar3 = 9;\n          pbVar4 = param_2;\n          pbVar6 = (byte *)"explicit";\n          do {\n            if (iVar3 == 0) break;\n            iVar3 = iVar3 + -1;\n            bVar7 = *pbVar4 < *pbVar6;\n            bVar9 = *pbVar4 == *pbVar6;\n            pbVar4 = pbVar4 + 1;\n            pbVar6 = pbVar6 + 1;\n          } while (bVar9);\n          bVar8 = false;\n          bVar7 = (!bVar7 && !bVar9) == bVar7;\n          if (!bVar7) {\n            iVar3 = 5;\n            pbVar4 = param_2;\n            pbVar6 = &DAT_00063a4b;\n            do {\n              if (iVar3 == 0) break;\n              iVar3 = iVar3 + -1;\n              bVar8 = *pbVar4 < *pbVar6;\n              bVar7 = *pbVar4 == *pbVar6;\n              pbVar4 = pbVar4 + 1;\n              pbVar6 = pbVar6 + 1;\n            } while (bVar7);\n            bVar9 = false;\n            bVar7 = (!bVar8 && !bVar7) == bVar8;\n            if (bVar7) {\n              DAT_00087970 = DAT_00087970 & 0xef | 4;\n              return true;\n            }\n            iVar3 = 5;\n            pbVar4 = param_2;\n            pbVar6 = &DAT_0005a335;\n            do {\n              if (iVar3 == 0) break;\n              iVar3 = iVar3 + -1;\n              bVar9 = *pbVar4 < *pbVar6;\n              bVar7 = *pbVar4 == *pbVar6;\n              pbVar4 = pbVar4 + 1;\n              pbVar6 = pbVar6 + 1;\n            } while (bVar7);\n            bVar8 = false;\n            bVar7 = (!bVar9 && !bVar7) == bVar9;\n            if (bVar7) {\n              DAT_00087970 = DAT_00087970 & 0xfb;\n              return true;\n            }\n            iVar3 = 6;\n            pcVar5 = " debug";\n            pbVar4 = param_2;\n            do {\n              pcVar5 = (char *)((byte *)pcVar5 + 1);\n              if (iVar3 == 0) break;\n              iVar3 = iVar3 + -1;\n              bVar8 = *pbVar4 < (byte)*pcVar5;\n              bVar7 = *pbVar4 == *pcVar5;\n              pbVar4 = pbVar4 + 1;\n            } while (bVar7);\n            bVar9 = false;\n            bVar7 = (!bVar8 && !bVar7) == bVar8;\n            if (bVar7) {\n              DAT_00087970 = DAT_00087970 | 6;\n              return true;\n            }\n            iVar3 = 7;\n            pbVar4 = param_2;\n            pbVar6 = (byte *)"debugx";\n            do {\n              if (iVar3 == 0) break;\n              iVar3 = iVar3 + -1;\n              bVar9 = *pbVar4 < *pbVar6;\n              bVar7 = *pbVar4 == *pbVar6;\n              pbVar4 = pbVar4 + 1;\n              pbVar6 = pbVar6 + 1;\n            } while (bVar7);\n            bVar8 = false;\n            bVar7 = (!bVar9 && !bVar7) == bVar9;\n            if (bVar7) {\n              DAT_00087970 = DAT_00087970 | 0x16;\n              return true;\n            }\n            iVar3 = 7;\n            pbVar4 = param_2;\n            pbVar6 = (byte *)"debugn";\n            do {\n              if (iVar3 == 0) break;\n              iVar3 = iVar3 + -1;\n              bVar8 = *pbVar4 < *pbVar6;\n              bVar7 = *pbVar4 == *pbVar6;\n              pbVar4 = pbVar4 + 1;\n              pbVar6 = pbVar6 + 1;\n            } while (bVar7);\n            cVar1 = (!bVar8 && !bVar7) - bVar8;\n            if (cVar1 != '\0') {\n              DAT_00087970 = DAT_00087970 | 4;\n              uVar2 = dcgettext(0,"Unrecognized option \'-x%s\'",5,cVar1);\n              FUN_00029550(uVar2,param_2);\n              return true;\n            }\n            DAT_00087970 = DAT_00087970 & 0xf9 | 2;\n            return true;\n          }\n        }" (if "if") (parenthesized_expression "(!bVar9)" (( "(") (unary_expression "!bVar9" (! "!") (identifier "bVar9")) () ")")) (compound_statement "{\n          iVar3 = 9;\n          pbVar4 = param_2;\n          pbVar6 = (byte *)"explicit";\n          do {\n            if (iVar3 == 0) break;\n            iVar3 = iVar3 + -1;\n            bVar7 = *pbVar4 < *pbVar6;\n            bVar9 = *pbVar4 == *pbVar6;\n            pbVar4 = pbVar4 + 1;\n            pbVar6 = pbVar6 + 1;\n          } while (bVar9);\n          bVar8 = false;\n          bVar7 = (!bVar7 && !bVar9) == bVar7;\n          if (!bVar7) {\n            iVar3 = 5;\n            pbVar4 = param_2;\n            pbVar6 = &DAT_00063a4b;\n            do {\n              if (iVar3 == 0) break;\n              iVar3 = iVar3 + -1;\n              bVar8 = *pbVar4 < *pbVar6;\n              bVar7 = *pbVar4 == *pbVar6;\n              pbVar4 = pbVar4 + 1;\n              pbVar6 = pbVar6 + 1;\n            } while (bVar7);\n            bVar9 = false;\n            bVar7 = (!bVar8 && !bVar7) == bVar8;\n            if (bVar7) {\n              DAT_00087970 = DAT_00087970 & 0xef | 4;\n              return true;\n            }\n            iVar3 = 5;\n            pbVar4 = param_2;\n            pbVar6 = &DAT_0005a335;\n            do {\n              if (iVar3 == 0) break;\n              iVar3 = iVar3 + -1;\n              bVar9 = *pbVar4 < *pbVar6;\n              bVar7 = *pbVar4 == *pbVar6;\n              pbVar4 = pbVar4 + 1;\n              pbVar6 = pbVar6 + 1;\n            } while (bVar7);\n            bVar8 = false;\n            bVar7 = (!bVar9 && !bVar7) == bVar9;\n            if (bVar7) {\n              DAT_00087970 = DAT_00087970 & 0xfb;\n              return true;\n            }\n            iVar3 = 6;\n            pcVar5 = " debug";\n            pbVar4 = param_2;\n            do {\n              pcVar5 = (char *)((byte *)pcVar5 + 1);\n              if (iVar3 == 0) break;\n              iVar3 = iVar3 + -1;\n              bVar8 = *pbVar4 < (byte)*pcVar5;\n              bVar7 = *pbVar4 == *pcVar5;\n              pbVar4 = pbVar4 + 1;\n            } while (bVar7);\n            bVar9 = false;\n            bVar7 = (!bVar8 && !bVar7) == bVar8;\n            if (bVar7) {\n              DAT_00087970 = DAT_00087970 | 6;\n              return true;\n            }\n            iVar3 = 7;\n            pbVar4 = param_2;\n            pbVar6 = (byte *)"debugx";\n            do {\n              if (iVar3 == 0) break;\n              iVar3 = iVar3 + -1;\n              bVar9 = *pbVar4 < *pbVar6;\n              bVar7 = *pbVar4 == *pbVar6;\n              pbVar4 = pbVar4 + 1;\n              pbVar6 = pbVar6 + 1;\n            } while (bVar7);\n            bVar8 = false;\n            bVar7 = (!bVar9 && !bVar7) == bVar9;\n            if (bVar7) {\n              DAT_00087970 = DAT_00087970 | 0x16;\n              return true;\n            }\n            iVar3 = 7;\n            pbVar4 = param_2;\n            pbVar6 = (byte *)"debugn";\n            do {\n              if (iVar3 == 0) break;\n              iVar3 = iVar3 + -1;\n              bVar8 = *pbVar4 < *pbVar6;\n              bVar7 = *pbVar4 == *pbVar6;\n              pbVar4 = pbVar4 + 1;\n              pbVar6 = pbVar6 + 1;\n            } while (bVar7);\n            cVar1 = (!bVar8 && !bVar7) - bVar8;\n            if (cVar1 != '\0') {\n              DAT_00087970 = DAT_00087970 | 4;\n              uVar2 = dcgettext(0,"Unrecognized option \'-x%s\'",5,cVar1);\n              FUN_00029550(uVar2,param_2);\n              return true;\n            }\n            DAT_00087970 = DAT_00087970 & 0xf9 | 2;\n            return true;\n          }\n        }" ({ "{") (expression_statement "iVar3 = 9;" (assignment_expression "iVar3 = 9" (identifier "iVar3") (= "=") (number_literal "9")) (; ";")) (expression_statement "pbVar4 = param_2;" (assignment_expression "pbVar4 = param_2" (identifier "pbVar4") (= "=") (identifier "param_2")) (; ";")) (expression_statement "pbVar6 = (byte *)"explicit";" (assignment_expression "pbVar6 = (byte *)"explicit"" (identifier "pbVar6") (= "=") (cast_expression "(byte *)"explicit"" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (string_literal ""explicit"" (" """) (string_content "explicit") (" """)))) (; ";")) (do_statement "do {\n            if (iVar3 == 0) break;\n            iVar3 = iVar3 + -1;\n            bVar7 = *pbVar4 < *pbVar6;\n            bVar9 = *pbVar4 == *pbVar6;\n            pbVar4 = pbVar4 + 1;\n            pbVar6 = pbVar6 + 1;\n          } while (bVar9);" (do "do") (compound_statement "{\n            if (iVar3 == 0) break;\n            iVar3 = iVar3 + -1;\n            bVar7 = *pbVar4 < *pbVar6;\n            bVar9 = *pbVar4 == *pbVar6;\n            pbVar4 = pbVar4 + 1;\n            pbVar6 = pbVar6 + 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 "bVar7 = *pbVar4 < *pbVar6;" (assignment_expression "bVar7 = *pbVar4 < *pbVar6" (identifier "bVar7") (= "=") (binary_expression "*pbVar4 < *pbVar6" (pointer_expression "*pbVar4" (* "*") (identifier "pbVar4")) (< "<") (pointer_expression "*pbVar6" (* "*") (identifier "pbVar6")))) (; ";")) (expression_statement "bVar9 = *pbVar4 == *pbVar6;" (assignment_expression "bVar9 = *pbVar4 == *pbVar6" (identifier "bVar9") (= "=") (binary_expression "*pbVar4 == *pbVar6" (pointer_expression "*pbVar4" (* "*") (identifier "pbVar4")) (== "==") (pointer_expression "*pbVar6" (* "*") (identifier "pbVar6")))) (; ";")) (expression_statement "pbVar4 = pbVar4 + 1;" (assignment_expression "pbVar4 = pbVar4 + 1" (identifier "pbVar4") (= "=") (binary_expression "pbVar4 + 1" (identifier "pbVar4") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "pbVar6 = pbVar6 + 1;" (assignment_expression "pbVar6 = pbVar6 + 1" (identifier "pbVar6") (= "=") (binary_expression "pbVar6 + 1" (identifier "pbVar6") (+ "+") (number_literal "1"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(bVar9)" (( "(") (identifier "bVar9") () ")")) (; ";")) (expression_statement "bVar8 = false;" (assignment_expression "bVar8 = false" (identifier "bVar8") (= "=") (false "false")) (; ";")) (expression_statement "bVar7 = (!bVar7 && !bVar9) == bVar7;" (assignment_expression "bVar7 = (!bVar7 && !bVar9) == bVar7" (identifier "bVar7") (= "=") (binary_expression "(!bVar7 && !bVar9) == bVar7" (parenthesized_expression "(!bVar7 && !bVar9)" (( "(") (binary_expression "!bVar7 && !bVar9" (unary_expression "!bVar7" (! "!") (identifier "bVar7")) (&& "&&") (unary_expression "!bVar9" (! "!") (identifier "bVar9"))) () ")")) (== "==") (identifier "bVar7"))) (; ";")) (if_statement "if (!bVar7) {\n            iVar3 = 5;\n            pbVar4 = param_2;\n            pbVar6 = &DAT_00063a4b;\n            do {\n              if (iVar3 == 0) break;\n              iVar3 = iVar3 + -1;\n              bVar8 = *pbVar4 < *pbVar6;\n              bVar7 = *pbVar4 == *pbVar6;\n              pbVar4 = pbVar4 + 1;\n              pbVar6 = pbVar6 + 1;\n            } while (bVar7);\n            bVar9 = false;\n            bVar7 = (!bVar8 && !bVar7) == bVar8;\n            if (bVar7) {\n              DAT_00087970 = DAT_00087970 & 0xef | 4;\n              return true;\n            }\n            iVar3 = 5;\n            pbVar4 = param_2;\n            pbVar6 = &DAT_0005a335;\n            do {\n              if (iVar3 == 0) break;\n              iVar3 = iVar3 + -1;\n              bVar9 = *pbVar4 < *pbVar6;\n              bVar7 = *pbVar4 == *pbVar6;\n              pbVar4 = pbVar4 + 1;\n              pbVar6 = pbVar6 + 1;\n            } while (bVar7);\n            bVar8 = false;\n            bVar7 = (!bVar9 && !bVar7) == bVar9;\n            if (bVar7) {\n              DAT_00087970 = DAT_00087970 & 0xfb;\n              return true;\n            }\n            iVar3 = 6;\n            pcVar5 = " debug";\n            pbVar4 = param_2;\n            do {\n              pcVar5 = (char *)((byte *)pcVar5 + 1);\n              if (iVar3 == 0) break;\n              iVar3 = iVar3 + -1;\n              bVar8 = *pbVar4 < (byte)*pcVar5;\n              bVar7 = *pbVar4 == *pcVar5;\n              pbVar4 = pbVar4 + 1;\n            } while (bVar7);\n            bVar9 = false;\n            bVar7 = (!bVar8 && !bVar7) == bVar8;\n            if (bVar7) {\n              DAT_00087970 = DAT_00087970 | 6;\n              return true;\n            }\n            iVar3 = 7;\n            pbVar4 = param_2;\n            pbVar6 = (byte *)"debugx";\n            do {\n              if (iVar3 == 0) break;\n              iVar3 = iVar3 + -1;\n              bVar9 = *pbVar4 < *pbVar6;\n              bVar7 = *pbVar4 == *pbVar6;\n              pbVar4 = pbVar4 + 1;\n              pbVar6 = pbVar6 + 1;\n            } while (bVar7);\n            bVar8 = false;\n            bVar7 = (!bVar9 && !bVar7) == bVar9;\n            if (bVar7) {\n              DAT_00087970 = DAT_00087970 | 0x16;\n              return true;\n            }\n            iVar3 = 7;\n            pbVar4 = param_2;\n            pbVar6 = (byte *)"debugn";\n            do {\n              if (iVar3 == 0) break;\n              iVar3 = iVar3 + -1;\n              bVar8 = *pbVar4 < *pbVar6;\n              bVar7 = *pbVar4 == *pbVar6;\n              pbVar4 = pbVar4 + 1;\n              pbVar6 = pbVar6 + 1;\n            } while (bVar7);\n            cVar1 = (!bVar8 && !bVar7) - bVar8;\n            if (cVar1 != '\0') {\n              DAT_00087970 = DAT_00087970 | 4;\n              uVar2 = dcgettext(0,"Unrecognized option \'-x%s\'",5,cVar1);\n              FUN_00029550(uVar2,param_2);\n              return true;\n            }\n            DAT_00087970 = DAT_00087970 & 0xf9 | 2;\n            return true;\n          }" (if "if") (parenthesized_expression "(!bVar7)" (( "(") (unary_expression "!bVar7" (! "!") (identifier "bVar7")) () ")")) (compound_statement "{\n            iVar3 = 5;\n            pbVar4 = param_2;\n            pbVar6 = &DAT_00063a4b;\n            do {\n              if (iVar3 == 0) break;\n              iVar3 = iVar3 + -1;\n              bVar8 = *pbVar4 < *pbVar6;\n              bVar7 = *pbVar4 == *pbVar6;\n              pbVar4 = pbVar4 + 1;\n              pbVar6 = pbVar6 + 1;\n            } while (bVar7);\n            bVar9 = false;\n            bVar7 = (!bVar8 && !bVar7) == bVar8;\n            if (bVar7) {\n              DAT_00087970 = DAT_00087970 & 0xef | 4;\n              return true;\n            }\n            iVar3 = 5;\n            pbVar4 = param_2;\n            pbVar6 = &DAT_0005a335;\n            do {\n              if (iVar3 == 0) break;\n              iVar3 = iVar3 + -1;\n              bVar9 = *pbVar4 < *pbVar6;\n              bVar7 = *pbVar4 == *pbVar6;\n              pbVar4 = pbVar4 + 1;\n              pbVar6 = pbVar6 + 1;\n            } while (bVar7);\n            bVar8 = false;\n            bVar7 = (!bVar9 && !bVar7) == bVar9;\n            if (bVar7) {\n              DAT_00087970 = DAT_00087970 & 0xfb;\n              return true;\n            }\n            iVar3 = 6;\n            pcVar5 = " debug";\n            pbVar4 = param_2;\n            do {\n              pcVar5 = (char *)((byte *)pcVar5 + 1);\n              if (iVar3 == 0) break;\n              iVar3 = iVar3 + -1;\n              bVar8 = *pbVar4 < (byte)*pcVar5;\n              bVar7 = *pbVar4 == *pcVar5;\n              pbVar4 = pbVar4 + 1;\n            } while (bVar7);\n            bVar9 = false;\n            bVar7 = (!bVar8 && !bVar7) == bVar8;\n            if (bVar7) {\n              DAT_00087970 = DAT_00087970 | 6;\n              return true;\n            }\n            iVar3 = 7;\n            pbVar4 = param_2;\n            pbVar6 = (byte *)"debugx";\n            do {\n              if (iVar3 == 0) break;\n              iVar3 = iVar3 + -1;\n              bVar9 = *pbVar4 < *pbVar6;\n              bVar7 = *pbVar4 == *pbVar6;\n              pbVar4 = pbVar4 + 1;\n              pbVar6 = pbVar6 + 1;\n            } while (bVar7);\n            bVar8 = false;\n            bVar7 = (!bVar9 && !bVar7) == bVar9;\n            if (bVar7) {\n              DAT_00087970 = DAT_00087970 | 0x16;\n              return true;\n            }\n            iVar3 = 7;\n            pbVar4 = param_2;\n            pbVar6 = (byte *)"debugn";\n            do {\n              if (iVar3 == 0) break;\n              iVar3 = iVar3 + -1;\n              bVar8 = *pbVar4 < *pbVar6;\n              bVar7 = *pbVar4 == *pbVar6;\n              pbVar4 = pbVar4 + 1;\n              pbVar6 = pbVar6 + 1;\n            } while (bVar7);\n            cVar1 = (!bVar8 && !bVar7) - bVar8;\n            if (cVar1 != '\0') {\n              DAT_00087970 = DAT_00087970 | 4;\n              uVar2 = dcgettext(0,"Unrecognized option \'-x%s\'",5,cVar1);\n              FUN_00029550(uVar2,param_2);\n              return true;\n            }\n            DAT_00087970 = DAT_00087970 & 0xf9 | 2;\n            return true;\n          }" ({ "{") (expression_statement "iVar3 = 5;" (assignment_expression "iVar3 = 5" (identifier "iVar3") (= "=") (number_literal "5")) (; ";")) (expression_statement "pbVar4 = param_2;" (assignment_expression "pbVar4 = param_2" (identifier "pbVar4") (= "=") (identifier "param_2")) (; ";")) (expression_statement "pbVar6 = &DAT_00063a4b;" (assignment_expression "pbVar6 = &DAT_00063a4b" (identifier "pbVar6") (= "=") (pointer_expression "&DAT_00063a4b" (& "&") (identifier "DAT_00063a4b"))) (; ";")) (do_statement "do {\n              if (iVar3 == 0) break;\n              iVar3 = iVar3 + -1;\n              bVar8 = *pbVar4 < *pbVar6;\n              bVar7 = *pbVar4 == *pbVar6;\n              pbVar4 = pbVar4 + 1;\n              pbVar6 = pbVar6 + 1;\n            } while (bVar7);" (do "do") (compound_statement "{\n              if (iVar3 == 0) break;\n              iVar3 = iVar3 + -1;\n              bVar8 = *pbVar4 < *pbVar6;\n              bVar7 = *pbVar4 == *pbVar6;\n              pbVar4 = pbVar4 + 1;\n              pbVar6 = pbVar6 + 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 "bVar8 = *pbVar4 < *pbVar6;" (assignment_expression "bVar8 = *pbVar4 < *pbVar6" (identifier "bVar8") (= "=") (binary_expression "*pbVar4 < *pbVar6" (pointer_expression "*pbVar4" (* "*") (identifier "pbVar4")) (< "<") (pointer_expression "*pbVar6" (* "*") (identifier "pbVar6")))) (; ";")) (expression_statement "bVar7 = *pbVar4 == *pbVar6;" (assignment_expression "bVar7 = *pbVar4 == *pbVar6" (identifier "bVar7") (= "=") (binary_expression "*pbVar4 == *pbVar6" (pointer_expression "*pbVar4" (* "*") (identifier "pbVar4")) (== "==") (pointer_expression "*pbVar6" (* "*") (identifier "pbVar6")))) (; ";")) (expression_statement "pbVar4 = pbVar4 + 1;" (assignment_expression "pbVar4 = pbVar4 + 1" (identifier "pbVar4") (= "=") (binary_expression "pbVar4 + 1" (identifier "pbVar4") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "pbVar6 = pbVar6 + 1;" (assignment_expression "pbVar6 = pbVar6 + 1" (identifier "pbVar6") (= "=") (binary_expression "pbVar6 + 1" (identifier "pbVar6") (+ "+") (number_literal "1"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(bVar7)" (( "(") (identifier "bVar7") () ")")) (; ";")) (expression_statement "bVar9 = false;" (assignment_expression "bVar9 = false" (identifier "bVar9") (= "=") (false "false")) (; ";")) (expression_statement "bVar7 = (!bVar8 && !bVar7) == bVar8;" (assignment_expression "bVar7 = (!bVar8 && !bVar7) == bVar8" (identifier "bVar7") (= "=") (binary_expression "(!bVar8 && !bVar7) == bVar8" (parenthesized_expression "(!bVar8 && !bVar7)" (( "(") (binary_expression "!bVar8 && !bVar7" (unary_expression "!bVar8" (! "!") (identifier "bVar8")) (&& "&&") (unary_expression "!bVar7" (! "!") (identifier "bVar7"))) () ")")) (== "==") (identifier "bVar8"))) (; ";")) (if_statement "if (bVar7) {\n              DAT_00087970 = DAT_00087970 & 0xef | 4;\n              return true;\n            }" (if "if") (parenthesized_expression "(bVar7)" (( "(") (identifier "bVar7") () ")")) (compound_statement "{\n              DAT_00087970 = DAT_00087970 & 0xef | 4;\n              return true;\n            }" ({ "{") (expression_statement "DAT_00087970 = DAT_00087970 & 0xef | 4;" (assignment_expression "DAT_00087970 = DAT_00087970 & 0xef | 4" (identifier "DAT_00087970") (= "=") (binary_expression "DAT_00087970 & 0xef | 4" (binary_expression "DAT_00087970 & 0xef" (identifier "DAT_00087970") (& "&") (number_literal "0xef")) (| "|") (number_literal "4"))) (; ";")) (return_statement "return true;" (return "return") (true "true") (; ";")) (} "}"))) (expression_statement "iVar3 = 5;" (assignment_expression "iVar3 = 5" (identifier "iVar3") (= "=") (number_literal "5")) (; ";")) (expression_statement "pbVar4 = param_2;" (assignment_expression "pbVar4 = param_2" (identifier "pbVar4") (= "=") (identifier "param_2")) (; ";")) (expression_statement "pbVar6 = &DAT_0005a335;" (assignment_expression "pbVar6 = &DAT_0005a335" (identifier "pbVar6") (= "=") (pointer_expression "&DAT_0005a335" (& "&") (identifier "DAT_0005a335"))) (; ";")) (do_statement "do {\n              if (iVar3 == 0) break;\n              iVar3 = iVar3 + -1;\n              bVar9 = *pbVar4 < *pbVar6;\n              bVar7 = *pbVar4 == *pbVar6;\n              pbVar4 = pbVar4 + 1;\n              pbVar6 = pbVar6 + 1;\n            } while (bVar7);" (do "do") (compound_statement "{\n              if (iVar3 == 0) break;\n              iVar3 = iVar3 + -1;\n              bVar9 = *pbVar4 < *pbVar6;\n              bVar7 = *pbVar4 == *pbVar6;\n              pbVar4 = pbVar4 + 1;\n              pbVar6 = pbVar6 + 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 = *pbVar4 < *pbVar6;" (assignment_expression "bVar9 = *pbVar4 < *pbVar6" (identifier "bVar9") (= "=") (binary_expression "*pbVar4 < *pbVar6" (pointer_expression "*pbVar4" (* "*") (identifier "pbVar4")) (< "<") (pointer_expression "*pbVar6" (* "*") (identifier "pbVar6")))) (; ";")) (expression_statement "bVar7 = *pbVar4 == *pbVar6;" (assignment_expression "bVar7 = *pbVar4 == *pbVar6" (identifier "bVar7") (= "=") (binary_expression "*pbVar4 == *pbVar6" (pointer_expression "*pbVar4" (* "*") (identifier "pbVar4")) (== "==") (pointer_expression "*pbVar6" (* "*") (identifier "pbVar6")))) (; ";")) (expression_statement "pbVar4 = pbVar4 + 1;" (assignment_expression "pbVar4 = pbVar4 + 1" (identifier "pbVar4") (= "=") (binary_expression "pbVar4 + 1" (identifier "pbVar4") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "pbVar6 = pbVar6 + 1;" (assignment_expression "pbVar6 = pbVar6 + 1" (identifier "pbVar6") (= "=") (binary_expression "pbVar6 + 1" (identifier "pbVar6") (+ "+") (number_literal "1"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(bVar7)" (( "(") (identifier "bVar7") () ")")) (; ";")) (expression_statement "bVar8 = false;" (assignment_expression "bVar8 = false" (identifier "bVar8") (= "=") (false "false")) (; ";")) (expression_statement "bVar7 = (!bVar9 && !bVar7) == bVar9;" (assignment_expression "bVar7 = (!bVar9 && !bVar7) == bVar9" (identifier "bVar7") (= "=") (binary_expression "(!bVar9 && !bVar7) == bVar9" (parenthesized_expression "(!bVar9 && !bVar7)" (( "(") (binary_expression "!bVar9 && !bVar7" (unary_expression "!bVar9" (! "!") (identifier "bVar9")) (&& "&&") (unary_expression "!bVar7" (! "!") (identifier "bVar7"))) () ")")) (== "==") (identifier "bVar9"))) (; ";")) (if_statement "if (bVar7) {\n              DAT_00087970 = DAT_00087970 & 0xfb;\n              return true;\n            }" (if "if") (parenthesized_expression "(bVar7)" (( "(") (identifier "bVar7") () ")")) (compound_statement "{\n              DAT_00087970 = DAT_00087970 & 0xfb;\n              return true;\n            }" ({ "{") (expression_statement "DAT_00087970 = DAT_00087970 & 0xfb;" (assignment_expression "DAT_00087970 = DAT_00087970 & 0xfb" (identifier "DAT_00087970") (= "=") (binary_expression "DAT_00087970 & 0xfb" (identifier "DAT_00087970") (& "&") (number_literal "0xfb"))) (; ";")) (return_statement "return true;" (return "return") (true "true") (; ";")) (} "}"))) (expression_statement "iVar3 = 6;" (assignment_expression "iVar3 = 6" (identifier "iVar3") (= "=") (number_literal "6")) (; ";")) (expression_statement "pcVar5 = " debug";" (assignment_expression "pcVar5 = " debug"" (identifier "pcVar5") (= "=") (string_literal "" debug"" (" """) (string_content " debug") (" """))) (; ";")) (expression_statement "pbVar4 = param_2;" (assignment_expression "pbVar4 = param_2" (identifier "pbVar4") (= "=") (identifier "param_2")) (; ";")) (do_statement "do {\n              pcVar5 = (char *)((byte *)pcVar5 + 1);\n              if (iVar3 == 0) break;\n              iVar3 = iVar3 + -1;\n              bVar8 = *pbVar4 < (byte)*pcVar5;\n              bVar7 = *pbVar4 == *pcVar5;\n              pbVar4 = pbVar4 + 1;\n            } while (bVar7);" (do "do") (compound_statement "{\n              pcVar5 = (char *)((byte *)pcVar5 + 1);\n              if (iVar3 == 0) break;\n              iVar3 = iVar3 + -1;\n              bVar8 = *pbVar4 < (byte)*pcVar5;\n              bVar7 = *pbVar4 == *pcVar5;\n              pbVar4 = pbVar4 + 1;\n            }" ({ "{") (expression_statement "pcVar5 = (char *)((byte *)pcVar5 + 1);" (assignment_expression "pcVar5 = (char *)((byte *)pcVar5 + 1)" (identifier "pcVar5") (= "=") (cast_expression "(char *)((byte *)pcVar5 + 1)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((byte *)pcVar5 + 1)" (( "(") (binary_expression "(byte *)pcVar5 + 1" (cast_expression "(byte *)pcVar5" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "pcVar5")) (+ "+") (number_literal "1")) () ")")))) (; ";")) (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 "bVar8 = *pbVar4 < (byte)*pcVar5;" (assignment_expression "bVar8 = *pbVar4 < (byte)*pcVar5" (identifier "bVar8") (= "=") (binary_expression "*pbVar4 < (byte)*pcVar5" (pointer_expression "*pbVar4" (* "*") (identifier "pbVar4")) (< "<") (binary_expression "(byte)*pcVar5" (parenthesized_expression "(byte)" (( "(") (identifier "byte") () ")")) (* "*") (identifier "pcVar5")))) (; ";")) (expression_statement "bVar7 = *pbVar4 == *pcVar5;" (assignment_expression "bVar7 = *pbVar4 == *pcVar5" (identifier "bVar7") (= "=") (binary_expression "*pbVar4 == *pcVar5" (pointer_expression "*pbVar4" (* "*") (identifier "pbVar4")) (== "==") (pointer_expression "*pcVar5" (* "*") (identifier "pcVar5")))) (; ";")) (expression_statement "pbVar4 = pbVar4 + 1;" (assignment_expression "pbVar4 = pbVar4 + 1" (identifier "pbVar4") (= "=") (binary_expression "pbVar4 + 1" (identifier "pbVar4") (+ "+") (number_literal "1"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(bVar7)" (( "(") (identifier "bVar7") () ")")) (; ";")) (expression_statement "bVar9 = false;" (assignment_expression "bVar9 = false" (identifier "bVar9") (= "=") (false "false")) (; ";")) (expression_statement "bVar7 = (!bVar8 && !bVar7) == bVar8;" (assignment_expression "bVar7 = (!bVar8 && !bVar7) == bVar8" (identifier "bVar7") (= "=") (binary_expression "(!bVar8 && !bVar7) == bVar8" (parenthesized_expression "(!bVar8 && !bVar7)" (( "(") (binary_expression "!bVar8 && !bVar7" (unary_expression "!bVar8" (! "!") (identifier "bVar8")) (&& "&&") (unary_expression "!bVar7" (! "!") (identifier "bVar7"))) () ")")) (== "==") (identifier "bVar8"))) (; ";")) (if_statement "if (bVar7) {\n              DAT_00087970 = DAT_00087970 | 6;\n              return true;\n            }" (if "if") (parenthesized_expression "(bVar7)" (( "(") (identifier "bVar7") () ")")) (compound_statement "{\n              DAT_00087970 = DAT_00087970 | 6;\n              return true;\n            }" ({ "{") (expression_statement "DAT_00087970 = DAT_00087970 | 6;" (assignment_expression "DAT_00087970 = DAT_00087970 | 6" (identifier "DAT_00087970") (= "=") (binary_expression "DAT_00087970 | 6" (identifier "DAT_00087970") (| "|") (number_literal "6"))) (; ";")) (return_statement "return true;" (return "return") (true "true") (; ";")) (} "}"))) (expression_statement "iVar3 = 7;" (assignment_expression "iVar3 = 7" (identifier "iVar3") (= "=") (number_literal "7")) (; ";")) (expression_statement "pbVar4 = param_2;" (assignment_expression "pbVar4 = param_2" (identifier "pbVar4") (= "=") (identifier "param_2")) (; ";")) (expression_statement "pbVar6 = (byte *)"debugx";" (assignment_expression "pbVar6 = (byte *)"debugx"" (identifier "pbVar6") (= "=") (cast_expression "(byte *)"debugx"" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (string_literal ""debugx"" (" """) (string_content "debugx") (" """)))) (; ";")) (do_statement "do {\n              if (iVar3 == 0) break;\n              iVar3 = iVar3 + -1;\n              bVar9 = *pbVar4 < *pbVar6;\n              bVar7 = *pbVar4 == *pbVar6;\n              pbVar4 = pbVar4 + 1;\n              pbVar6 = pbVar6 + 1;\n            } while (bVar7);" (do "do") (compound_statement "{\n              if (iVar3 == 0) break;\n              iVar3 = iVar3 + -1;\n              bVar9 = *pbVar4 < *pbVar6;\n              bVar7 = *pbVar4 == *pbVar6;\n              pbVar4 = pbVar4 + 1;\n              pbVar6 = pbVar6 + 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 = *pbVar4 < *pbVar6;" (assignment_expression "bVar9 = *pbVar4 < *pbVar6" (identifier "bVar9") (= "=") (binary_expression "*pbVar4 < *pbVar6" (pointer_expression "*pbVar4" (* "*") (identifier "pbVar4")) (< "<") (pointer_expression "*pbVar6" (* "*") (identifier "pbVar6")))) (; ";")) (expression_statement "bVar7 = *pbVar4 == *pbVar6;" (assignment_expression "bVar7 = *pbVar4 == *pbVar6" (identifier "bVar7") (= "=") (binary_expression "*pbVar4 == *pbVar6" (pointer_expression "*pbVar4" (* "*") (identifier "pbVar4")) (== "==") (pointer_expression "*pbVar6" (* "*") (identifier "pbVar6")))) (; ";")) (expression_statement "pbVar4 = pbVar4 + 1;" (assignment_expression "pbVar4 = pbVar4 + 1" (identifier "pbVar4") (= "=") (binary_expression "pbVar4 + 1" (identifier "pbVar4") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "pbVar6 = pbVar6 + 1;" (assignment_expression "pbVar6 = pbVar6 + 1" (identifier "pbVar6") (= "=") (binary_expression "pbVar6 + 1" (identifier "pbVar6") (+ "+") (number_literal "1"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(bVar7)" (( "(") (identifier "bVar7") () ")")) (; ";")) (expression_statement "bVar8 = false;" (assignment_expression "bVar8 = false" (identifier "bVar8") (= "=") (false "false")) (; ";")) (expression_statement "bVar7 = (!bVar9 && !bVar7) == bVar9;" (assignment_expression "bVar7 = (!bVar9 && !bVar7) == bVar9" (identifier "bVar7") (= "=") (binary_expression "(!bVar9 && !bVar7) == bVar9" (parenthesized_expression "(!bVar9 && !bVar7)" (( "(") (binary_expression "!bVar9 && !bVar7" (unary_expression "!bVar9" (! "!") (identifier "bVar9")) (&& "&&") (unary_expression "!bVar7" (! "!") (identifier "bVar7"))) () ")")) (== "==") (identifier "bVar9"))) (; ";")) (if_statement "if (bVar7) {\n              DAT_00087970 = DAT_00087970 | 0x16;\n              return true;\n            }" (if "if") (parenthesized_expression "(bVar7)" (( "(") (identifier "bVar7") () ")")) (compound_statement "{\n              DAT_00087970 = DAT_00087970 | 0x16;\n              return true;\n            }" ({ "{") (expression_statement "DAT_00087970 = DAT_00087970 | 0x16;" (assignment_expression "DAT_00087970 = DAT_00087970 | 0x16" (identifier "DAT_00087970") (= "=") (binary_expression "DAT_00087970 | 0x16" (identifier "DAT_00087970") (| "|") (number_literal "0x16"))) (; ";")) (return_statement "return true;" (return "return") (true "true") (; ";")) (} "}"))) (expression_statement "iVar3 = 7;" (assignment_expression "iVar3 = 7" (identifier "iVar3") (= "=") (number_literal "7")) (; ";")) (expression_statement "pbVar4 = param_2;" (assignment_expression "pbVar4 = param_2" (identifier "pbVar4") (= "=") (identifier "param_2")) (; ";")) (expression_statement "pbVar6 = (byte *)"debugn";" (assignment_expression "pbVar6 = (byte *)"debugn"" (identifier "pbVar6") (= "=") (cast_expression "(byte *)"debugn"" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (string_literal ""debugn"" (" """) (string_content "debugn") (" """)))) (; ";")) (do_statement "do {\n              if (iVar3 == 0) break;\n              iVar3 = iVar3 + -1;\n              bVar8 = *pbVar4 < *pbVar6;\n              bVar7 = *pbVar4 == *pbVar6;\n              pbVar4 = pbVar4 + 1;\n              pbVar6 = pbVar6 + 1;\n            } while (bVar7);" (do "do") (compound_statement "{\n              if (iVar3 == 0) break;\n              iVar3 = iVar3 + -1;\n              bVar8 = *pbVar4 < *pbVar6;\n              bVar7 = *pbVar4 == *pbVar6;\n              pbVar4 = pbVar4 + 1;\n              pbVar6 = pbVar6 + 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 "bVar8 = *pbVar4 < *pbVar6;" (assignment_expression "bVar8 = *pbVar4 < *pbVar6" (identifier "bVar8") (= "=") (binary_expression "*pbVar4 < *pbVar6" (pointer_expression "*pbVar4" (* "*") (identifier "pbVar4")) (< "<") (pointer_expression "*pbVar6" (* "*") (identifier "pbVar6")))) (; ";")) (expression_statement "bVar7 = *pbVar4 == *pbVar6;" (assignment_expression "bVar7 = *pbVar4 == *pbVar6" (identifier "bVar7") (= "=") (binary_expression "*pbVar4 == *pbVar6" (pointer_expression "*pbVar4" (* "*") (identifier "pbVar4")) (== "==") (pointer_expression "*pbVar6" (* "*") (identifier "pbVar6")))) (; ";")) (expression_statement "pbVar4 = pbVar4 + 1;" (assignment_expression "pbVar4 = pbVar4 + 1" (identifier "pbVar4") (= "=") (binary_expression "pbVar4 + 1" (identifier "pbVar4") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "pbVar6 = pbVar6 + 1;" (assignment_expression "pbVar6 = pbVar6 + 1" (identifier "pbVar6") (= "=") (binary_expression "pbVar6 + 1" (identifier "pbVar6") (+ "+") (number_literal "1"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(bVar7)" (( "(") (identifier "bVar7") () ")")) (; ";")) (expression_statement "cVar1 = (!bVar8 && !bVar7) - bVar8;" (assignment_expression "cVar1 = (!bVar8 && !bVar7) - bVar8" (identifier "cVar1") (= "=") (binary_expression "(!bVar8 && !bVar7) - bVar8" (parenthesized_expression "(!bVar8 && !bVar7)" (( "(") (binary_expression "!bVar8 && !bVar7" (unary_expression "!bVar8" (! "!") (identifier "bVar8")) (&& "&&") (unary_expression "!bVar7" (! "!") (identifier "bVar7"))) () ")")) (- "-") (identifier "bVar8"))) (; ";")) (if_statement "if (cVar1 != '\0') {\n              DAT_00087970 = DAT_00087970 | 4;\n              uVar2 = dcgettext(0,"Unrecognized option \'-x%s\'",5,cVar1);\n              FUN_00029550(uVar2,param_2);\n              return true;\n            }" (if "if") (parenthesized_expression "(cVar1 != '\0')" (( "(") (binary_expression "cVar1 != '\0'" (identifier "cVar1") (!= "!=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n              DAT_00087970 = DAT_00087970 | 4;\n              uVar2 = dcgettext(0,"Unrecognized option \'-x%s\'",5,cVar1);\n              FUN_00029550(uVar2,param_2);\n              return true;\n            }" ({ "{") (expression_statement "DAT_00087970 = DAT_00087970 | 4;" (assignment_expression "DAT_00087970 = DAT_00087970 | 4" (identifier "DAT_00087970") (= "=") (binary_expression "DAT_00087970 | 4" (identifier "DAT_00087970") (| "|") (number_literal "4"))) (; ";")) (expression_statement "uVar2 = dcgettext(0,"Unrecognized option \'-x%s\'",5,cVar1);" (assignment_expression "uVar2 = dcgettext(0,"Unrecognized option \'-x%s\'",5,cVar1)" (identifier "uVar2") (= "=") (call_expression "dcgettext(0,"Unrecognized option \'-x%s\'",5,cVar1)" (identifier "dcgettext") (argument_list "(0,"Unrecognized option \'-x%s\'",5,cVar1)" (( "(") (number_literal "0") (, ",") (string_literal ""Unrecognized option \'-x%s\'"" (" """) (string_content "Unrecognized option ") (escape_sequence "\'") (string_content "-x%s") (escape_sequence "\'") (" """)) (, ",") (number_literal "5") (, ",") (identifier "cVar1") () ")")))) (; ";")) (expression_statement "FUN_00029550(uVar2,param_2);" (call_expression "FUN_00029550(uVar2,param_2)" (identifier "FUN_00029550") (argument_list "(uVar2,param_2)" (( "(") (identifier "uVar2") (, ",") (identifier "param_2") () ")"))) (; ";")) (return_statement "return true;" (return "return") (true "true") (; ";")) (} "}"))) (expression_statement "DAT_00087970 = DAT_00087970 & 0xf9 | 2;" (assignment_expression "DAT_00087970 = DAT_00087970 & 0xf9 | 2" (identifier "DAT_00087970") (= "=") (binary_expression "DAT_00087970 & 0xf9 | 2" (binary_expression "DAT_00087970 & 0xf9" (identifier "DAT_00087970") (& "&") (number_literal "0xf9")) (| "|") (number_literal "2"))) (; ";")) (return_statement "return true;" (return "return") (true "true") (; ";")) (} "}"))) (} "}"))) (expression_statement "DAT_00087970 = DAT_00087970 | 0x14;" (assignment_expression "DAT_00087970 = DAT_00087970 | 0x14" (identifier "DAT_00087970") (= "=") (binary_expression "DAT_00087970 | 0x14" (identifier "DAT_00087970") (| "|") (number_literal "0x14"))) (; ";")) (return_statement "return true;" (return "return") (true "true") (; ";")) (} "}"))) (if_statement "if ((int)param_1 < 0x79) {\n        bVar7 = param_1 < 0x6d;\n        bVar9 = param_1 == 0x6d;\n        if (bVar9) {\n          iVar3 = 6;\n          pbVar4 = param_2;\n          pbVar6 = &DAT_000639e8;\n          do {\n            if (iVar3 == 0) break;\n            iVar3 = iVar3 + -1;\n            bVar7 = *pbVar4 < *pbVar6;\n            bVar9 = *pbVar4 == *pbVar6;\n            pbVar4 = pbVar4 + 1;\n            pbVar6 = pbVar6 + 1;\n          } while (bVar9);\n          bVar8 = false;\n          bVar7 = (!bVar7 && !bVar9) == bVar7;\n          if (!bVar7) {\n            iVar3 = 5;\n            pbVar4 = param_2;\n            pbVar6 = &DAT_000639e9;\n            do {\n              if (iVar3 == 0) break;\n              iVar3 = iVar3 + -1;\n              bVar8 = *pbVar4 < *pbVar6;\n              bVar7 = *pbVar4 == *pbVar6;\n              pbVar4 = pbVar4 + 1;\n              pbVar6 = pbVar6 + 1;\n            } while (bVar7);\n            bVar9 = false;\n            bVar7 = (!bVar8 && !bVar7) == bVar8;\n            if (!bVar7) {\n              iVar3 = 4;\n              pbVar4 = param_2;\n              pbVar6 = &DAT_000639ea;\n              do {\n                if (iVar3 == 0) break;\n                iVar3 = iVar3 + -1;\n                bVar9 = *pbVar4 < *pbVar6;\n                bVar7 = *pbVar4 == *pbVar6;\n                pbVar4 = pbVar4 + 1;\n                pbVar6 = pbVar6 + 1;\n              } while (bVar7);\n              bVar8 = false;\n              bVar7 = (!bVar9 && !bVar7) == bVar9;\n              if (!bVar7) {\n                iVar3 = 6;\n                pbVar4 = param_2;\n                pbVar6 = (byte *)"ilp32";\n                do {\n                  if (iVar3 == 0) break;\n                  iVar3 = iVar3 + -1;\n                  bVar8 = *pbVar4 < *pbVar6;\n                  bVar7 = *pbVar4 == *pbVar6;\n                  pbVar4 = pbVar4 + 1;\n                  pbVar6 = pbVar6 + 1;\n                } while (bVar7);\n                bVar9 = false;\n                bVar7 = (!bVar8 && !bVar7) == bVar8;\n                if (bVar7) {\n                  DAT_00087d90 = DAT_00087d90 & 0xffffffef;\n                  return true;\n                }\n                iVar3 = 3;\n                pbVar4 = param_2;\n                pbVar6 = (byte *)0x5a287;\n                do {\n                  if (iVar3 == 0) break;\n                  iVar3 = iVar3 + -1;\n                  bVar9 = *pbVar4 < *pbVar6;\n                  bVar7 = *pbVar4 == *pbVar6;\n                  pbVar4 = pbVar4 + 1;\n                  pbVar6 = pbVar6 + 1;\n                } while (bVar7);\n                bVar8 = false;\n                bVar7 = (!bVar9 && !bVar7) == bVar9;\n                if (bVar7) {\n                  DAT_00087d90 = DAT_00087d90 & 0xfffffff7;\n                  DAT_00087dfc = 0;\n                  return true;\n                }\n                iVar3 = 3;\n                pbVar4 = param_2;\n                pbVar6 = &DAT_00063a90;\n                do {\n                  if (iVar3 == 0) break;\n                  iVar3 = iVar3 + -1;\n                  bVar8 = *pbVar4 < *pbVar6;\n                  bVar7 = *pbVar4 == *pbVar6;\n                  pbVar4 = pbVar4 + 1;\n                  pbVar6 = pbVar6 + 1;\n                } while (bVar7);\n                bVar9 = false;\n                bVar7 = (!bVar8 && !bVar7) == bVar8;\n                if (bVar7) {\n                  DAT_00087d90 = DAT_00087d90 | 8;\n                  DAT_00087dfc = 1;\n                  return true;\n                }\n                iVar3 = 0xd;\n                pbVar4 = param_2;\n                pbVar6 = (byte *)"unwind-check=";\n                do {\n                  if (iVar3 == 0) break;\n                  iVar3 = iVar3 + -1;\n                  bVar9 = *pbVar4 < *pbVar6;\n                  bVar7 = *pbVar4 == *pbVar6;\n                  pbVar4 = pbVar4 + 1;\n                  pbVar6 = pbVar6 + 1;\n                } while (bVar7);\n                if ((!bVar9 && !bVar7) == bVar9) {\n                  iVar3 = strcmp((char *)(param_2 + 0xd),"warning");\n                  if (iVar3 == 0) {\n                    DAT_00087974 = 0;\n                    return true;\n                  }\n                  iVar3 = strcmp((char *)(param_2 + 0xd),"error");\n                  if (iVar3 == 0) {\n                    DAT_00087974 = 1;\n                    return true;\n                  }\n                  return false;\n                }\n                iVar3 = strncmp((char *)param_2,"hint.b=",7);\n                if (iVar3 != 0) {\n                  iVar3 = strncmp((char *)param_2,"tune=",5);\n                  if (iVar3 != 0) {\n                    return false;\n                  }\n                  iVar3 = strcmp((char *)(param_2 + 5),"itanium1");\n                  if (iVar3 != 0) {\n                    iVar3 = strcmp((char *)(param_2 + 5),"itanium2");\n                    if (iVar3 == 0) {\n                      DAT_00087968 = 1;\n                      return true;\n                    }\n                    return false;\n                  }\n                  DAT_00087968 = 0;\n                  return true;\n                }\n                param_2 = param_2 + 7;\n                iVar3 = strcmp((char *)param_2,"ok");\n                if (iVar3 == 0) {\n                  DAT_0008796c = 2;\n                  return true;\n                }\n                iVar3 = strcmp((char *)param_2,"warning");\n                if (iVar3 != 0) {\n                  iVar3 = strcmp((char *)param_2,"error");\n                  if (iVar3 == 0) {\n                    DAT_0008796c = 0;\n                    return true;\n                  }\n                  return false;\n                }\n                DAT_0008796c = 1;\n                return true;\n              }\n            }\n          }\n          DAT_00087d90 = DAT_00087d90 | 0x10;\n          return true;\n        }\n      }\n      else {\n        if (param_1 == 0x123) {\n          DAT_00087d90 = DAT_00087d90 | 0x40;\n          return true;\n        }\n        if (param_1 == 0x124) {\n          DAT_00087d90 = DAT_00087d90 | 0x80;\n          return true;\n        }\n      }" (if "if") (parenthesized_expression "((int)param_1 < 0x79)" (( "(") (binary_expression "(int)param_1 < 0x79" (cast_expression "(int)param_1" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "param_1")) (< "<") (number_literal "0x79")) () ")")) (compound_statement "{\n        bVar7 = param_1 < 0x6d;\n        bVar9 = param_1 == 0x6d;\n        if (bVar9) {\n          iVar3 = 6;\n          pbVar4 = param_2;\n          pbVar6 = &DAT_000639e8;\n          do {\n            if (iVar3 == 0) break;\n            iVar3 = iVar3 + -1;\n            bVar7 = *pbVar4 < *pbVar6;\n            bVar9 = *pbVar4 == *pbVar6;\n            pbVar4 = pbVar4 + 1;\n            pbVar6 = pbVar6 + 1;\n          } while (bVar9);\n          bVar8 = false;\n          bVar7 = (!bVar7 && !bVar9) == bVar7;\n          if (!bVar7) {\n            iVar3 = 5;\n            pbVar4 = param_2;\n            pbVar6 = &DAT_000639e9;\n            do {\n              if (iVar3 == 0) break;\n              iVar3 = iVar3 + -1;\n              bVar8 = *pbVar4 < *pbVar6;\n              bVar7 = *pbVar4 == *pbVar6;\n              pbVar4 = pbVar4 + 1;\n              pbVar6 = pbVar6 + 1;\n            } while (bVar7);\n            bVar9 = false;\n            bVar7 = (!bVar8 && !bVar7) == bVar8;\n            if (!bVar7) {\n              iVar3 = 4;\n              pbVar4 = param_2;\n              pbVar6 = &DAT_000639ea;\n              do {\n                if (iVar3 == 0) break;\n                iVar3 = iVar3 + -1;\n                bVar9 = *pbVar4 < *pbVar6;\n                bVar7 = *pbVar4 == *pbVar6;\n                pbVar4 = pbVar4 + 1;\n                pbVar6 = pbVar6 + 1;\n              } while (bVar7);\n              bVar8 = false;\n              bVar7 = (!bVar9 && !bVar7) == bVar9;\n              if (!bVar7) {\n                iVar3 = 6;\n                pbVar4 = param_2;\n                pbVar6 = (byte *)"ilp32";\n                do {\n                  if (iVar3 == 0) break;\n                  iVar3 = iVar3 + -1;\n                  bVar8 = *pbVar4 < *pbVar6;\n                  bVar7 = *pbVar4 == *pbVar6;\n                  pbVar4 = pbVar4 + 1;\n                  pbVar6 = pbVar6 + 1;\n                } while (bVar7);\n                bVar9 = false;\n                bVar7 = (!bVar8 && !bVar7) == bVar8;\n                if (bVar7) {\n                  DAT_00087d90 = DAT_00087d90 & 0xffffffef;\n                  return true;\n                }\n                iVar3 = 3;\n                pbVar4 = param_2;\n                pbVar6 = (byte *)0x5a287;\n                do {\n                  if (iVar3 == 0) break;\n                  iVar3 = iVar3 + -1;\n                  bVar9 = *pbVar4 < *pbVar6;\n                  bVar7 = *pbVar4 == *pbVar6;\n                  pbVar4 = pbVar4 + 1;\n                  pbVar6 = pbVar6 + 1;\n                } while (bVar7);\n                bVar8 = false;\n                bVar7 = (!bVar9 && !bVar7) == bVar9;\n                if (bVar7) {\n                  DAT_00087d90 = DAT_00087d90 & 0xfffffff7;\n                  DAT_00087dfc = 0;\n                  return true;\n                }\n                iVar3 = 3;\n                pbVar4 = param_2;\n                pbVar6 = &DAT_00063a90;\n                do {\n                  if (iVar3 == 0) break;\n                  iVar3 = iVar3 + -1;\n                  bVar8 = *pbVar4 < *pbVar6;\n                  bVar7 = *pbVar4 == *pbVar6;\n                  pbVar4 = pbVar4 + 1;\n                  pbVar6 = pbVar6 + 1;\n                } while (bVar7);\n                bVar9 = false;\n                bVar7 = (!bVar8 && !bVar7) == bVar8;\n                if (bVar7) {\n                  DAT_00087d90 = DAT_00087d90 | 8;\n                  DAT_00087dfc = 1;\n                  return true;\n                }\n                iVar3 = 0xd;\n                pbVar4 = param_2;\n                pbVar6 = (byte *)"unwind-check=";\n                do {\n                  if (iVar3 == 0) break;\n                  iVar3 = iVar3 + -1;\n                  bVar9 = *pbVar4 < *pbVar6;\n                  bVar7 = *pbVar4 == *pbVar6;\n                  pbVar4 = pbVar4 + 1;\n                  pbVar6 = pbVar6 + 1;\n                } while (bVar7);\n                if ((!bVar9 && !bVar7) == bVar9) {\n                  iVar3 = strcmp((char *)(param_2 + 0xd),"warning");\n                  if (iVar3 == 0) {\n                    DAT_00087974 = 0;\n                    return true;\n                  }\n                  iVar3 = strcmp((char *)(param_2 + 0xd),"error");\n                  if (iVar3 == 0) {\n                    DAT_00087974 = 1;\n                    return true;\n                  }\n                  return false;\n                }\n                iVar3 = strncmp((char *)param_2,"hint.b=",7);\n                if (iVar3 != 0) {\n                  iVar3 = strncmp((char *)param_2,"tune=",5);\n                  if (iVar3 != 0) {\n                    return false;\n                  }\n                  iVar3 = strcmp((char *)(param_2 + 5),"itanium1");\n                  if (iVar3 != 0) {\n                    iVar3 = strcmp((char *)(param_2 + 5),"itanium2");\n                    if (iVar3 == 0) {\n                      DAT_00087968 = 1;\n                      return true;\n                    }\n                    return false;\n                  }\n                  DAT_00087968 = 0;\n                  return true;\n                }\n                param_2 = param_2 + 7;\n                iVar3 = strcmp((char *)param_2,"ok");\n                if (iVar3 == 0) {\n                  DAT_0008796c = 2;\n                  return true;\n                }\n                iVar3 = strcmp((char *)param_2,"warning");\n                if (iVar3 != 0) {\n                  iVar3 = strcmp((char *)param_2,"error");\n                  if (iVar3 == 0) {\n                    DAT_0008796c = 0;\n                    return true;\n                  }\n                  return false;\n                }\n                DAT_0008796c = 1;\n                return true;\n              }\n            }\n          }\n          DAT_00087d90 = DAT_00087d90 | 0x10;\n          return true;\n        }\n      }" ({ "{") (expression_statement "bVar7 = param_1 < 0x6d;" (assignment_expression "bVar7 = param_1 < 0x6d" (identifier "bVar7") (= "=") (binary_expression "param_1 < 0x6d" (identifier "param_1") (< "<") (number_literal "0x6d"))) (; ";")) (expression_statement "bVar9 = param_1 == 0x6d;" (assignment_expression "bVar9 = param_1 == 0x6d" (identifier "bVar9") (= "=") (binary_expression "param_1 == 0x6d" (identifier "param_1") (== "==") (number_literal "0x6d"))) (; ";")) (if_statement "if (bVar9) {\n          iVar3 = 6;\n          pbVar4 = param_2;\n          pbVar6 = &DAT_000639e8;\n          do {\n            if (iVar3 == 0) break;\n            iVar3 = iVar3 + -1;\n            bVar7 = *pbVar4 < *pbVar6;\n            bVar9 = *pbVar4 == *pbVar6;\n            pbVar4 = pbVar4 + 1;\n            pbVar6 = pbVar6 + 1;\n          } while (bVar9);\n          bVar8 = false;\n          bVar7 = (!bVar7 && !bVar9) == bVar7;\n          if (!bVar7) {\n            iVar3 = 5;\n            pbVar4 = param_2;\n            pbVar6 = &DAT_000639e9;\n            do {\n              if (iVar3 == 0) break;\n              iVar3 = iVar3 + -1;\n              bVar8 = *pbVar4 < *pbVar6;\n              bVar7 = *pbVar4 == *pbVar6;\n              pbVar4 = pbVar4 + 1;\n              pbVar6 = pbVar6 + 1;\n            } while (bVar7);\n            bVar9 = false;\n            bVar7 = (!bVar8 && !bVar7) == bVar8;\n            if (!bVar7) {\n              iVar3 = 4;\n              pbVar4 = param_2;\n              pbVar6 = &DAT_000639ea;\n              do {\n                if (iVar3 == 0) break;\n                iVar3 = iVar3 + -1;\n                bVar9 = *pbVar4 < *pbVar6;\n                bVar7 = *pbVar4 == *pbVar6;\n                pbVar4 = pbVar4 + 1;\n                pbVar6 = pbVar6 + 1;\n              } while (bVar7);\n              bVar8 = false;\n              bVar7 = (!bVar9 && !bVar7) == bVar9;\n              if (!bVar7) {\n                iVar3 = 6;\n                pbVar4 = param_2;\n                pbVar6 = (byte *)"ilp32";\n                do {\n                  if (iVar3 == 0) break;\n                  iVar3 = iVar3 + -1;\n                  bVar8 = *pbVar4 < *pbVar6;\n                  bVar7 = *pbVar4 == *pbVar6;\n                  pbVar4 = pbVar4 + 1;\n                  pbVar6 = pbVar6 + 1;\n                } while (bVar7);\n                bVar9 = false;\n                bVar7 = (!bVar8 && !bVar7) == bVar8;\n                if (bVar7) {\n                  DAT_00087d90 = DAT_00087d90 & 0xffffffef;\n                  return true;\n                }\n                iVar3 = 3;\n                pbVar4 = param_2;\n                pbVar6 = (byte *)0x5a287;\n                do {\n                  if (iVar3 == 0) break;\n                  iVar3 = iVar3 + -1;\n                  bVar9 = *pbVar4 < *pbVar6;\n                  bVar7 = *pbVar4 == *pbVar6;\n                  pbVar4 = pbVar4 + 1;\n                  pbVar6 = pbVar6 + 1;\n                } while (bVar7);\n                bVar8 = false;\n                bVar7 = (!bVar9 && !bVar7) == bVar9;\n                if (bVar7) {\n                  DAT_00087d90 = DAT_00087d90 & 0xfffffff7;\n                  DAT_00087dfc = 0;\n                  return true;\n                }\n                iVar3 = 3;\n                pbVar4 = param_2;\n                pbVar6 = &DAT_00063a90;\n                do {\n                  if (iVar3 == 0) break;\n                  iVar3 = iVar3 + -1;\n                  bVar8 = *pbVar4 < *pbVar6;\n                  bVar7 = *pbVar4 == *pbVar6;\n                  pbVar4 = pbVar4 + 1;\n                  pbVar6 = pbVar6 + 1;\n                } while (bVar7);\n                bVar9 = false;\n                bVar7 = (!bVar8 && !bVar7) == bVar8;\n                if (bVar7) {\n                  DAT_00087d90 = DAT_00087d90 | 8;\n                  DAT_00087dfc = 1;\n                  return true;\n                }\n                iVar3 = 0xd;\n                pbVar4 = param_2;\n                pbVar6 = (byte *)"unwind-check=";\n                do {\n                  if (iVar3 == 0) break;\n                  iVar3 = iVar3 + -1;\n                  bVar9 = *pbVar4 < *pbVar6;\n                  bVar7 = *pbVar4 == *pbVar6;\n                  pbVar4 = pbVar4 + 1;\n                  pbVar6 = pbVar6 + 1;\n                } while (bVar7);\n                if ((!bVar9 && !bVar7) == bVar9) {\n                  iVar3 = strcmp((char *)(param_2 + 0xd),"warning");\n                  if (iVar3 == 0) {\n                    DAT_00087974 = 0;\n                    return true;\n                  }\n                  iVar3 = strcmp((char *)(param_2 + 0xd),"error");\n                  if (iVar3 == 0) {\n                    DAT_00087974 = 1;\n                    return true;\n                  }\n                  return false;\n                }\n                iVar3 = strncmp((char *)param_2,"hint.b=",7);\n                if (iVar3 != 0) {\n                  iVar3 = strncmp((char *)param_2,"tune=",5);\n                  if (iVar3 != 0) {\n                    return false;\n                  }\n                  iVar3 = strcmp((char *)(param_2 + 5),"itanium1");\n                  if (iVar3 != 0) {\n                    iVar3 = strcmp((char *)(param_2 + 5),"itanium2");\n                    if (iVar3 == 0) {\n                      DAT_00087968 = 1;\n                      return true;\n                    }\n                    return false;\n                  }\n                  DAT_00087968 = 0;\n                  return true;\n                }\n                param_2 = param_2 + 7;\n                iVar3 = strcmp((char *)param_2,"ok");\n                if (iVar3 == 0) {\n                  DAT_0008796c = 2;\n                  return true;\n                }\n                iVar3 = strcmp((char *)param_2,"warning");\n                if (iVar3 != 0) {\n                  iVar3 = strcmp((char *)param_2,"error");\n                  if (iVar3 == 0) {\n                    DAT_0008796c = 0;\n                    return true;\n                  }\n                  return false;\n                }\n                DAT_0008796c = 1;\n                return true;\n              }\n            }\n          }\n          DAT_00087d90 = DAT_00087d90 | 0x10;\n          return true;\n        }" (if "if") (parenthesized_expression "(bVar9)" (( "(") (identifier "bVar9") () ")")) (compound_statement "{\n          iVar3 = 6;\n          pbVar4 = param_2;\n          pbVar6 = &DAT_000639e8;\n          do {\n            if (iVar3 == 0) break;\n            iVar3 = iVar3 + -1;\n            bVar7 = *pbVar4 < *pbVar6;\n            bVar9 = *pbVar4 == *pbVar6;\n            pbVar4 = pbVar4 + 1;\n            pbVar6 = pbVar6 + 1;\n          } while (bVar9);\n          bVar8 = false;\n          bVar7 = (!bVar7 && !bVar9) == bVar7;\n          if (!bVar7) {\n            iVar3 = 5;\n            pbVar4 = param_2;\n            pbVar6 = &DAT_000639e9;\n            do {\n              if (iVar3 == 0) break;\n              iVar3 = iVar3 + -1;\n              bVar8 = *pbVar4 < *pbVar6;\n              bVar7 = *pbVar4 == *pbVar6;\n              pbVar4 = pbVar4 + 1;\n              pbVar6 = pbVar6 + 1;\n            } while (bVar7);\n            bVar9 = false;\n            bVar7 = (!bVar8 && !bVar7) == bVar8;\n            if (!bVar7) {\n              iVar3 = 4;\n              pbVar4 = param_2;\n              pbVar6 = &DAT_000639ea;\n              do {\n                if (iVar3 == 0) break;\n                iVar3 = iVar3 + -1;\n                bVar9 = *pbVar4 < *pbVar6;\n                bVar7 = *pbVar4 == *pbVar6;\n                pbVar4 = pbVar4 + 1;\n                pbVar6 = pbVar6 + 1;\n              } while (bVar7);\n              bVar8 = false;\n              bVar7 = (!bVar9 && !bVar7) == bVar9;\n              if (!bVar7) {\n                iVar3 = 6;\n                pbVar4 = param_2;\n                pbVar6 = (byte *)"ilp32";\n                do {\n                  if (iVar3 == 0) break;\n                  iVar3 = iVar3 + -1;\n                  bVar8 = *pbVar4 < *pbVar6;\n                  bVar7 = *pbVar4 == *pbVar6;\n                  pbVar4 = pbVar4 + 1;\n                  pbVar6 = pbVar6 + 1;\n                } while (bVar7);\n                bVar9 = false;\n                bVar7 = (!bVar8 && !bVar7) == bVar8;\n                if (bVar7) {\n                  DAT_00087d90 = DAT_00087d90 & 0xffffffef;\n                  return true;\n                }\n                iVar3 = 3;\n                pbVar4 = param_2;\n                pbVar6 = (byte *)0x5a287;\n                do {\n                  if (iVar3 == 0) break;\n                  iVar3 = iVar3 + -1;\n                  bVar9 = *pbVar4 < *pbVar6;\n                  bVar7 = *pbVar4 == *pbVar6;\n                  pbVar4 = pbVar4 + 1;\n                  pbVar6 = pbVar6 + 1;\n                } while (bVar7);\n                bVar8 = false;\n                bVar7 = (!bVar9 && !bVar7) == bVar9;\n                if (bVar7) {\n                  DAT_00087d90 = DAT_00087d90 & 0xfffffff7;\n                  DAT_00087dfc = 0;\n                  return true;\n                }\n                iVar3 = 3;\n                pbVar4 = param_2;\n                pbVar6 = &DAT_00063a90;\n                do {\n                  if (iVar3 == 0) break;\n                  iVar3 = iVar3 + -1;\n                  bVar8 = *pbVar4 < *pbVar6;\n                  bVar7 = *pbVar4 == *pbVar6;\n                  pbVar4 = pbVar4 + 1;\n                  pbVar6 = pbVar6 + 1;\n                } while (bVar7);\n                bVar9 = false;\n                bVar7 = (!bVar8 && !bVar7) == bVar8;\n                if (bVar7) {\n                  DAT_00087d90 = DAT_00087d90 | 8;\n                  DAT_00087dfc = 1;\n                  return true;\n                }\n                iVar3 = 0xd;\n                pbVar4 = param_2;\n                pbVar6 = (byte *)"unwind-check=";\n                do {\n                  if (iVar3 == 0) break;\n                  iVar3 = iVar3 + -1;\n                  bVar9 = *pbVar4 < *pbVar6;\n                  bVar7 = *pbVar4 == *pbVar6;\n                  pbVar4 = pbVar4 + 1;\n                  pbVar6 = pbVar6 + 1;\n                } while (bVar7);\n                if ((!bVar9 && !bVar7) == bVar9) {\n                  iVar3 = strcmp((char *)(param_2 + 0xd),"warning");\n                  if (iVar3 == 0) {\n                    DAT_00087974 = 0;\n                    return true;\n                  }\n                  iVar3 = strcmp((char *)(param_2 + 0xd),"error");\n                  if (iVar3 == 0) {\n                    DAT_00087974 = 1;\n                    return true;\n                  }\n                  return false;\n                }\n                iVar3 = strncmp((char *)param_2,"hint.b=",7);\n                if (iVar3 != 0) {\n                  iVar3 = strncmp((char *)param_2,"tune=",5);\n                  if (iVar3 != 0) {\n                    return false;\n                  }\n                  iVar3 = strcmp((char *)(param_2 + 5),"itanium1");\n                  if (iVar3 != 0) {\n                    iVar3 = strcmp((char *)(param_2 + 5),"itanium2");\n                    if (iVar3 == 0) {\n                      DAT_00087968 = 1;\n                      return true;\n                    }\n                    return false;\n                  }\n                  DAT_00087968 = 0;\n                  return true;\n                }\n                param_2 = param_2 + 7;\n                iVar3 = strcmp((char *)param_2,"ok");\n                if (iVar3 == 0) {\n                  DAT_0008796c = 2;\n                  return true;\n                }\n                iVar3 = strcmp((char *)param_2,"warning");\n                if (iVar3 != 0) {\n                  iVar3 = strcmp((char *)param_2,"error");\n                  if (iVar3 == 0) {\n                    DAT_0008796c = 0;\n                    return true;\n                  }\n                  return false;\n                }\n                DAT_0008796c = 1;\n                return true;\n              }\n            }\n          }\n          DAT_00087d90 = DAT_00087d90 | 0x10;\n          return true;\n        }" ({ "{") (expression_statement "iVar3 = 6;" (assignment_expression "iVar3 = 6" (identifier "iVar3") (= "=") (number_literal "6")) (; ";")) (expression_statement "pbVar4 = param_2;" (assignment_expression "pbVar4 = param_2" (identifier "pbVar4") (= "=") (identifier "param_2")) (; ";")) (expression_statement "pbVar6 = &DAT_000639e8;" (assignment_expression "pbVar6 = &DAT_000639e8" (identifier "pbVar6") (= "=") (pointer_expression "&DAT_000639e8" (& "&") (identifier "DAT_000639e8"))) (; ";")) (do_statement "do {\n            if (iVar3 == 0) break;\n            iVar3 = iVar3 + -1;\n            bVar7 = *pbVar4 < *pbVar6;\n            bVar9 = *pbVar4 == *pbVar6;\n            pbVar4 = pbVar4 + 1;\n            pbVar6 = pbVar6 + 1;\n          } while (bVar9);" (do "do") (compound_statement "{\n            if (iVar3 == 0) break;\n            iVar3 = iVar3 + -1;\n            bVar7 = *pbVar4 < *pbVar6;\n            bVar9 = *pbVar4 == *pbVar6;\n            pbVar4 = pbVar4 + 1;\n            pbVar6 = pbVar6 + 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 "bVar7 = *pbVar4 < *pbVar6;" (assignment_expression "bVar7 = *pbVar4 < *pbVar6" (identifier "bVar7") (= "=") (binary_expression "*pbVar4 < *pbVar6" (pointer_expression "*pbVar4" (* "*") (identifier "pbVar4")) (< "<") (pointer_expression "*pbVar6" (* "*") (identifier "pbVar6")))) (; ";")) (expression_statement "bVar9 = *pbVar4 == *pbVar6;" (assignment_expression "bVar9 = *pbVar4 == *pbVar6" (identifier "bVar9") (= "=") (binary_expression "*pbVar4 == *pbVar6" (pointer_expression "*pbVar4" (* "*") (identifier "pbVar4")) (== "==") (pointer_expression "*pbVar6" (* "*") (identifier "pbVar6")))) (; ";")) (expression_statement "pbVar4 = pbVar4 + 1;" (assignment_expression "pbVar4 = pbVar4 + 1" (identifier "pbVar4") (= "=") (binary_expression "pbVar4 + 1" (identifier "pbVar4") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "pbVar6 = pbVar6 + 1;" (assignment_expression "pbVar6 = pbVar6 + 1" (identifier "pbVar6") (= "=") (binary_expression "pbVar6 + 1" (identifier "pbVar6") (+ "+") (number_literal "1"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(bVar9)" (( "(") (identifier "bVar9") () ")")) (; ";")) (expression_statement "bVar8 = false;" (assignment_expression "bVar8 = false" (identifier "bVar8") (= "=") (false "false")) (; ";")) (expression_statement "bVar7 = (!bVar7 && !bVar9) == bVar7;" (assignment_expression "bVar7 = (!bVar7 && !bVar9) == bVar7" (identifier "bVar7") (= "=") (binary_expression "(!bVar7 && !bVar9) == bVar7" (parenthesized_expression "(!bVar7 && !bVar9)" (( "(") (binary_expression "!bVar7 && !bVar9" (unary_expression "!bVar7" (! "!") (identifier "bVar7")) (&& "&&") (unary_expression "!bVar9" (! "!") (identifier "bVar9"))) () ")")) (== "==") (identifier "bVar7"))) (; ";")) (if_statement "if (!bVar7) {\n            iVar3 = 5;\n            pbVar4 = param_2;\n            pbVar6 = &DAT_000639e9;\n            do {\n              if (iVar3 == 0) break;\n              iVar3 = iVar3 + -1;\n              bVar8 = *pbVar4 < *pbVar6;\n              bVar7 = *pbVar4 == *pbVar6;\n              pbVar4 = pbVar4 + 1;\n              pbVar6 = pbVar6 + 1;\n            } while (bVar7);\n            bVar9 = false;\n            bVar7 = (!bVar8 && !bVar7) == bVar8;\n            if (!bVar7) {\n              iVar3 = 4;\n              pbVar4 = param_2;\n              pbVar6 = &DAT_000639ea;\n              do {\n                if (iVar3 == 0) break;\n                iVar3 = iVar3 + -1;\n                bVar9 = *pbVar4 < *pbVar6;\n                bVar7 = *pbVar4 == *pbVar6;\n                pbVar4 = pbVar4 + 1;\n                pbVar6 = pbVar6 + 1;\n              } while (bVar7);\n              bVar8 = false;\n              bVar7 = (!bVar9 && !bVar7) == bVar9;\n              if (!bVar7) {\n                iVar3 = 6;\n                pbVar4 = param_2;\n                pbVar6 = (byte *)"ilp32";\n                do {\n                  if (iVar3 == 0) break;\n                  iVar3 = iVar3 + -1;\n                  bVar8 = *pbVar4 < *pbVar6;\n                  bVar7 = *pbVar4 == *pbVar6;\n                  pbVar4 = pbVar4 + 1;\n                  pbVar6 = pbVar6 + 1;\n                } while (bVar7);\n                bVar9 = false;\n                bVar7 = (!bVar8 && !bVar7) == bVar8;\n                if (bVar7) {\n                  DAT_00087d90 = DAT_00087d90 & 0xffffffef;\n                  return true;\n                }\n                iVar3 = 3;\n                pbVar4 = param_2;\n                pbVar6 = (byte *)0x5a287;\n                do {\n                  if (iVar3 == 0) break;\n                  iVar3 = iVar3 + -1;\n                  bVar9 = *pbVar4 < *pbVar6;\n                  bVar7 = *pbVar4 == *pbVar6;\n                  pbVar4 = pbVar4 + 1;\n                  pbVar6 = pbVar6 + 1;\n                } while (bVar7);\n                bVar8 = false;\n                bVar7 = (!bVar9 && !bVar7) == bVar9;\n                if (bVar7) {\n                  DAT_00087d90 = DAT_00087d90 & 0xfffffff7;\n                  DAT_00087dfc = 0;\n                  return true;\n                }\n                iVar3 = 3;\n                pbVar4 = param_2;\n                pbVar6 = &DAT_00063a90;\n                do {\n                  if (iVar3 == 0) break;\n                  iVar3 = iVar3 + -1;\n                  bVar8 = *pbVar4 < *pbVar6;\n                  bVar7 = *pbVar4 == *pbVar6;\n                  pbVar4 = pbVar4 + 1;\n                  pbVar6 = pbVar6 + 1;\n                } while (bVar7);\n                bVar9 = false;\n                bVar7 = (!bVar8 && !bVar7) == bVar8;\n                if (bVar7) {\n                  DAT_00087d90 = DAT_00087d90 | 8;\n                  DAT_00087dfc = 1;\n                  return true;\n                }\n                iVar3 = 0xd;\n                pbVar4 = param_2;\n                pbVar6 = (byte *)"unwind-check=";\n                do {\n                  if (iVar3 == 0) break;\n                  iVar3 = iVar3 + -1;\n                  bVar9 = *pbVar4 < *pbVar6;\n                  bVar7 = *pbVar4 == *pbVar6;\n                  pbVar4 = pbVar4 + 1;\n                  pbVar6 = pbVar6 + 1;\n                } while (bVar7);\n                if ((!bVar9 && !bVar7) == bVar9) {\n                  iVar3 = strcmp((char *)(param_2 + 0xd),"warning");\n                  if (iVar3 == 0) {\n                    DAT_00087974 = 0;\n                    return true;\n                  }\n                  iVar3 = strcmp((char *)(param_2 + 0xd),"error");\n                  if (iVar3 == 0) {\n                    DAT_00087974 = 1;\n                    return true;\n                  }\n                  return false;\n                }\n                iVar3 = strncmp((char *)param_2,"hint.b=",7);\n                if (iVar3 != 0) {\n                  iVar3 = strncmp((char *)param_2,"tune=",5);\n                  if (iVar3 != 0) {\n                    return false;\n                  }\n                  iVar3 = strcmp((char *)(param_2 + 5),"itanium1");\n                  if (iVar3 != 0) {\n                    iVar3 = strcmp((char *)(param_2 + 5),"itanium2");\n                    if (iVar3 == 0) {\n                      DAT_00087968 = 1;\n                      return true;\n                    }\n                    return false;\n                  }\n                  DAT_00087968 = 0;\n                  return true;\n                }\n                param_2 = param_2 + 7;\n                iVar3 = strcmp((char *)param_2,"ok");\n                if (iVar3 == 0) {\n                  DAT_0008796c = 2;\n                  return true;\n                }\n                iVar3 = strcmp((char *)param_2,"warning");\n                if (iVar3 != 0) {\n                  iVar3 = strcmp((char *)param_2,"error");\n                  if (iVar3 == 0) {\n                    DAT_0008796c = 0;\n                    return true;\n                  }\n                  return false;\n                }\n                DAT_0008796c = 1;\n                return true;\n              }\n            }\n          }" (if "if") (parenthesized_expression "(!bVar7)" (( "(") (unary_expression "!bVar7" (! "!") (identifier "bVar7")) () ")")) (compound_statement "{\n            iVar3 = 5;\n            pbVar4 = param_2;\n            pbVar6 = &DAT_000639e9;\n            do {\n              if (iVar3 == 0) break;\n              iVar3 = iVar3 + -1;\n              bVar8 = *pbVar4 < *pbVar6;\n              bVar7 = *pbVar4 == *pbVar6;\n              pbVar4 = pbVar4 + 1;\n              pbVar6 = pbVar6 + 1;\n            } while (bVar7);\n            bVar9 = false;\n            bVar7 = (!bVar8 && !bVar7) == bVar8;\n            if (!bVar7) {\n              iVar3 = 4;\n              pbVar4 = param_2;\n              pbVar6 = &DAT_000639ea;\n              do {\n                if (iVar3 == 0) break;\n                iVar3 = iVar3 + -1;\n                bVar9 = *pbVar4 < *pbVar6;\n                bVar7 = *pbVar4 == *pbVar6;\n                pbVar4 = pbVar4 + 1;\n                pbVar6 = pbVar6 + 1;\n              } while (bVar7);\n              bVar8 = false;\n              bVar7 = (!bVar9 && !bVar7) == bVar9;\n              if (!bVar7) {\n                iVar3 = 6;\n                pbVar4 = param_2;\n                pbVar6 = (byte *)"ilp32";\n                do {\n                  if (iVar3 == 0) break;\n                  iVar3 = iVar3 + -1;\n                  bVar8 = *pbVar4 < *pbVar6;\n                  bVar7 = *pbVar4 == *pbVar6;\n                  pbVar4 = pbVar4 + 1;\n                  pbVar6 = pbVar6 + 1;\n                } while (bVar7);\n                bVar9 = false;\n                bVar7 = (!bVar8 && !bVar7) == bVar8;\n                if (bVar7) {\n                  DAT_00087d90 = DAT_00087d90 & 0xffffffef;\n                  return true;\n                }\n                iVar3 = 3;\n                pbVar4 = param_2;\n                pbVar6 = (byte *)0x5a287;\n                do {\n                  if (iVar3 == 0) break;\n                  iVar3 = iVar3 + -1;\n                  bVar9 = *pbVar4 < *pbVar6;\n                  bVar7 = *pbVar4 == *pbVar6;\n                  pbVar4 = pbVar4 + 1;\n                  pbVar6 = pbVar6 + 1;\n                } while (bVar7);\n                bVar8 = false;\n                bVar7 = (!bVar9 && !bVar7) == bVar9;\n                if (bVar7) {\n                  DAT_00087d90 = DAT_00087d90 & 0xfffffff7;\n                  DAT_00087dfc = 0;\n                  return true;\n                }\n                iVar3 = 3;\n                pbVar4 = param_2;\n                pbVar6 = &DAT_00063a90;\n                do {\n                  if (iVar3 == 0) break;\n                  iVar3 = iVar3 + -1;\n                  bVar8 = *pbVar4 < *pbVar6;\n                  bVar7 = *pbVar4 == *pbVar6;\n                  pbVar4 = pbVar4 + 1;\n                  pbVar6 = pbVar6 + 1;\n                } while (bVar7);\n                bVar9 = false;\n                bVar7 = (!bVar8 && !bVar7) == bVar8;\n                if (bVar7) {\n                  DAT_00087d90 = DAT_00087d90 | 8;\n                  DAT_00087dfc = 1;\n                  return true;\n                }\n                iVar3 = 0xd;\n                pbVar4 = param_2;\n                pbVar6 = (byte *)"unwind-check=";\n                do {\n                  if (iVar3 == 0) break;\n                  iVar3 = iVar3 + -1;\n                  bVar9 = *pbVar4 < *pbVar6;\n                  bVar7 = *pbVar4 == *pbVar6;\n                  pbVar4 = pbVar4 + 1;\n                  pbVar6 = pbVar6 + 1;\n                } while (bVar7);\n                if ((!bVar9 && !bVar7) == bVar9) {\n                  iVar3 = strcmp((char *)(param_2 + 0xd),"warning");\n                  if (iVar3 == 0) {\n                    DAT_00087974 = 0;\n                    return true;\n                  }\n                  iVar3 = strcmp((char *)(param_2 + 0xd),"error");\n                  if (iVar3 == 0) {\n                    DAT_00087974 = 1;\n                    return true;\n                  }\n                  return false;\n                }\n                iVar3 = strncmp((char *)param_2,"hint.b=",7);\n                if (iVar3 != 0) {\n                  iVar3 = strncmp((char *)param_2,"tune=",5);\n                  if (iVar3 != 0) {\n                    return false;\n                  }\n                  iVar3 = strcmp((char *)(param_2 + 5),"itanium1");\n                  if (iVar3 != 0) {\n                    iVar3 = strcmp((char *)(param_2 + 5),"itanium2");\n                    if (iVar3 == 0) {\n                      DAT_00087968 = 1;\n                      return true;\n                    }\n                    return false;\n                  }\n                  DAT_00087968 = 0;\n                  return true;\n                }\n                param_2 = param_2 + 7;\n                iVar3 = strcmp((char *)param_2,"ok");\n                if (iVar3 == 0) {\n                  DAT_0008796c = 2;\n                  return true;\n                }\n                iVar3 = strcmp((char *)param_2,"warning");\n                if (iVar3 != 0) {\n                  iVar3 = strcmp((char *)param_2,"error");\n                  if (iVar3 == 0) {\n                    DAT_0008796c = 0;\n                    return true;\n                  }\n                  return false;\n                }\n                DAT_0008796c = 1;\n                return true;\n              }\n            }\n          }" ({ "{") (expression_statement "iVar3 = 5;" (assignment_expression "iVar3 = 5" (identifier "iVar3") (= "=") (number_literal "5")) (; ";")) (expression_statement "pbVar4 = param_2;" (assignment_expression "pbVar4 = param_2" (identifier "pbVar4") (= "=") (identifier "param_2")) (; ";")) (expression_statement "pbVar6 = &DAT_000639e9;" (assignment_expression "pbVar6 = &DAT_000639e9" (identifier "pbVar6") (= "=") (pointer_expression "&DAT_000639e9" (& "&") (identifier "DAT_000639e9"))) (; ";")) (do_statement "do {\n              if (iVar3 == 0) break;\n              iVar3 = iVar3 + -1;\n              bVar8 = *pbVar4 < *pbVar6;\n              bVar7 = *pbVar4 == *pbVar6;\n              pbVar4 = pbVar4 + 1;\n              pbVar6 = pbVar6 + 1;\n            } while (bVar7);" (do "do") (compound_statement "{\n              if (iVar3 == 0) break;\n              iVar3 = iVar3 + -1;\n              bVar8 = *pbVar4 < *pbVar6;\n              bVar7 = *pbVar4 == *pbVar6;\n              pbVar4 = pbVar4 + 1;\n              pbVar6 = pbVar6 + 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 "bVar8 = *pbVar4 < *pbVar6;" (assignment_expression "bVar8 = *pbVar4 < *pbVar6" (identifier "bVar8") (= "=") (binary_expression "*pbVar4 < *pbVar6" (pointer_expression "*pbVar4" (* "*") (identifier "pbVar4")) (< "<") (pointer_expression "*pbVar6" (* "*") (identifier "pbVar6")))) (; ";")) (expression_statement "bVar7 = *pbVar4 == *pbVar6;" (assignment_expression "bVar7 = *pbVar4 == *pbVar6" (identifier "bVar7") (= "=") (binary_expression "*pbVar4 == *pbVar6" (pointer_expression "*pbVar4" (* "*") (identifier "pbVar4")) (== "==") (pointer_expression "*pbVar6" (* "*") (identifier "pbVar6")))) (; ";")) (expression_statement "pbVar4 = pbVar4 + 1;" (assignment_expression "pbVar4 = pbVar4 + 1" (identifier "pbVar4") (= "=") (binary_expression "pbVar4 + 1" (identifier "pbVar4") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "pbVar6 = pbVar6 + 1;" (assignment_expression "pbVar6 = pbVar6 + 1" (identifier "pbVar6") (= "=") (binary_expression "pbVar6 + 1" (identifier "pbVar6") (+ "+") (number_literal "1"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(bVar7)" (( "(") (identifier "bVar7") () ")")) (; ";")) (expression_statement "bVar9 = false;" (assignment_expression "bVar9 = false" (identifier "bVar9") (= "=") (false "false")) (; ";")) (expression_statement "bVar7 = (!bVar8 && !bVar7) == bVar8;" (assignment_expression "bVar7 = (!bVar8 && !bVar7) == bVar8" (identifier "bVar7") (= "=") (binary_expression "(!bVar8 && !bVar7) == bVar8" (parenthesized_expression "(!bVar8 && !bVar7)" (( "(") (binary_expression "!bVar8 && !bVar7" (unary_expression "!bVar8" (! "!") (identifier "bVar8")) (&& "&&") (unary_expression "!bVar7" (! "!") (identifier "bVar7"))) () ")")) (== "==") (identifier "bVar8"))) (; ";")) (if_statement "if (!bVar7) {\n              iVar3 = 4;\n              pbVar4 = param_2;\n              pbVar6 = &DAT_000639ea;\n              do {\n                if (iVar3 == 0) break;\n                iVar3 = iVar3 + -1;\n                bVar9 = *pbVar4 < *pbVar6;\n                bVar7 = *pbVar4 == *pbVar6;\n                pbVar4 = pbVar4 + 1;\n                pbVar6 = pbVar6 + 1;\n              } while (bVar7);\n              bVar8 = false;\n              bVar7 = (!bVar9 && !bVar7) == bVar9;\n              if (!bVar7) {\n                iVar3 = 6;\n                pbVar4 = param_2;\n                pbVar6 = (byte *)"ilp32";\n                do {\n                  if (iVar3 == 0) break;\n                  iVar3 = iVar3 + -1;\n                  bVar8 = *pbVar4 < *pbVar6;\n                  bVar7 = *pbVar4 == *pbVar6;\n                  pbVar4 = pbVar4 + 1;\n                  pbVar6 = pbVar6 + 1;\n                } while (bVar7);\n                bVar9 = false;\n                bVar7 = (!bVar8 && !bVar7) == bVar8;\n                if (bVar7) {\n                  DAT_00087d90 = DAT_00087d90 & 0xffffffef;\n                  return true;\n                }\n                iVar3 = 3;\n                pbVar4 = param_2;\n                pbVar6 = (byte *)0x5a287;\n                do {\n                  if (iVar3 == 0) break;\n                  iVar3 = iVar3 + -1;\n                  bVar9 = *pbVar4 < *pbVar6;\n                  bVar7 = *pbVar4 == *pbVar6;\n                  pbVar4 = pbVar4 + 1;\n                  pbVar6 = pbVar6 + 1;\n                } while (bVar7);\n                bVar8 = false;\n                bVar7 = (!bVar9 && !bVar7) == bVar9;\n                if (bVar7) {\n                  DAT_00087d90 = DAT_00087d90 & 0xfffffff7;\n                  DAT_00087dfc = 0;\n                  return true;\n                }\n                iVar3 = 3;\n                pbVar4 = param_2;\n                pbVar6 = &DAT_00063a90;\n                do {\n                  if (iVar3 == 0) break;\n                  iVar3 = iVar3 + -1;\n                  bVar8 = *pbVar4 < *pbVar6;\n                  bVar7 = *pbVar4 == *pbVar6;\n                  pbVar4 = pbVar4 + 1;\n                  pbVar6 = pbVar6 + 1;\n                } while (bVar7);\n                bVar9 = false;\n                bVar7 = (!bVar8 && !bVar7) == bVar8;\n                if (bVar7) {\n                  DAT_00087d90 = DAT_00087d90 | 8;\n                  DAT_00087dfc = 1;\n                  return true;\n                }\n                iVar3 = 0xd;\n                pbVar4 = param_2;\n                pbVar6 = (byte *)"unwind-check=";\n                do {\n                  if (iVar3 == 0) break;\n                  iVar3 = iVar3 + -1;\n                  bVar9 = *pbVar4 < *pbVar6;\n                  bVar7 = *pbVar4 == *pbVar6;\n                  pbVar4 = pbVar4 + 1;\n                  pbVar6 = pbVar6 + 1;\n                } while (bVar7);\n                if ((!bVar9 && !bVar7) == bVar9) {\n                  iVar3 = strcmp((char *)(param_2 + 0xd),"warning");\n                  if (iVar3 == 0) {\n                    DAT_00087974 = 0;\n                    return true;\n                  }\n                  iVar3 = strcmp((char *)(param_2 + 0xd),"error");\n                  if (iVar3 == 0) {\n                    DAT_00087974 = 1;\n                    return true;\n                  }\n                  return false;\n                }\n                iVar3 = strncmp((char *)param_2,"hint.b=",7);\n                if (iVar3 != 0) {\n                  iVar3 = strncmp((char *)param_2,"tune=",5);\n                  if (iVar3 != 0) {\n                    return false;\n                  }\n                  iVar3 = strcmp((char *)(param_2 + 5),"itanium1");\n                  if (iVar3 != 0) {\n                    iVar3 = strcmp((char *)(param_2 + 5),"itanium2");\n                    if (iVar3 == 0) {\n                      DAT_00087968 = 1;\n                      return true;\n                    }\n                    return false;\n                  }\n                  DAT_00087968 = 0;\n                  return true;\n                }\n                param_2 = param_2 + 7;\n                iVar3 = strcmp((char *)param_2,"ok");\n                if (iVar3 == 0) {\n                  DAT_0008796c = 2;\n                  return true;\n                }\n                iVar3 = strcmp((char *)param_2,"warning");\n                if (iVar3 != 0) {\n                  iVar3 = strcmp((char *)param_2,"error");\n                  if (iVar3 == 0) {\n                    DAT_0008796c = 0;\n                    return true;\n                  }\n                  return false;\n                }\n                DAT_0008796c = 1;\n                return true;\n              }\n            }" (if "if") (parenthesized_expression "(!bVar7)" (( "(") (unary_expression "!bVar7" (! "!") (identifier "bVar7")) () ")")) (compound_statement "{\n              iVar3 = 4;\n              pbVar4 = param_2;\n              pbVar6 = &DAT_000639ea;\n              do {\n                if (iVar3 == 0) break;\n                iVar3 = iVar3 + -1;\n                bVar9 = *pbVar4 < *pbVar6;\n                bVar7 = *pbVar4 == *pbVar6;\n                pbVar4 = pbVar4 + 1;\n                pbVar6 = pbVar6 + 1;\n              } while (bVar7);\n              bVar8 = false;\n              bVar7 = (!bVar9 && !bVar7) == bVar9;\n              if (!bVar7) {\n                iVar3 = 6;\n                pbVar4 = param_2;\n                pbVar6 = (byte *)"ilp32";\n                do {\n                  if (iVar3 == 0) break;\n                  iVar3 = iVar3 + -1;\n                  bVar8 = *pbVar4 < *pbVar6;\n                  bVar7 = *pbVar4 == *pbVar6;\n                  pbVar4 = pbVar4 + 1;\n                  pbVar6 = pbVar6 + 1;\n                } while (bVar7);\n                bVar9 = false;\n                bVar7 = (!bVar8 && !bVar7) == bVar8;\n                if (bVar7) {\n                  DAT_00087d90 = DAT_00087d90 & 0xffffffef;\n                  return true;\n                }\n                iVar3 = 3;\n                pbVar4 = param_2;\n                pbVar6 = (byte *)0x5a287;\n                do {\n                  if (iVar3 == 0) break;\n                  iVar3 = iVar3 + -1;\n                  bVar9 = *pbVar4 < *pbVar6;\n                  bVar7 = *pbVar4 == *pbVar6;\n                  pbVar4 = pbVar4 + 1;\n                  pbVar6 = pbVar6 + 1;\n                } while (bVar7);\n                bVar8 = false;\n                bVar7 = (!bVar9 && !bVar7) == bVar9;\n                if (bVar7) {\n                  DAT_00087d90 = DAT_00087d90 & 0xfffffff7;\n                  DAT_00087dfc = 0;\n                  return true;\n                }\n                iVar3 = 3;\n                pbVar4 = param_2;\n                pbVar6 = &DAT_00063a90;\n                do {\n                  if (iVar3 == 0) break;\n                  iVar3 = iVar3 + -1;\n                  bVar8 = *pbVar4 < *pbVar6;\n                  bVar7 = *pbVar4 == *pbVar6;\n                  pbVar4 = pbVar4 + 1;\n                  pbVar6 = pbVar6 + 1;\n                } while (bVar7);\n                bVar9 = false;\n                bVar7 = (!bVar8 && !bVar7) == bVar8;\n                if (bVar7) {\n                  DAT_00087d90 = DAT_00087d90 | 8;\n                  DAT_00087dfc = 1;\n                  return true;\n                }\n                iVar3 = 0xd;\n                pbVar4 = param_2;\n                pbVar6 = (byte *)"unwind-check=";\n                do {\n                  if (iVar3 == 0) break;\n                  iVar3 = iVar3 + -1;\n                  bVar9 = *pbVar4 < *pbVar6;\n                  bVar7 = *pbVar4 == *pbVar6;\n                  pbVar4 = pbVar4 + 1;\n                  pbVar6 = pbVar6 + 1;\n                } while (bVar7);\n                if ((!bVar9 && !bVar7) == bVar9) {\n                  iVar3 = strcmp((char *)(param_2 + 0xd),"warning");\n                  if (iVar3 == 0) {\n                    DAT_00087974 = 0;\n                    return true;\n                  }\n                  iVar3 = strcmp((char *)(param_2 + 0xd),"error");\n                  if (iVar3 == 0) {\n                    DAT_00087974 = 1;\n                    return true;\n                  }\n                  return false;\n                }\n                iVar3 = strncmp((char *)param_2,"hint.b=",7);\n                if (iVar3 != 0) {\n                  iVar3 = strncmp((char *)param_2,"tune=",5);\n                  if (iVar3 != 0) {\n                    return false;\n                  }\n                  iVar3 = strcmp((char *)(param_2 + 5),"itanium1");\n                  if (iVar3 != 0) {\n                    iVar3 = strcmp((char *)(param_2 + 5),"itanium2");\n                    if (iVar3 == 0) {\n                      DAT_00087968 = 1;\n                      return true;\n                    }\n                    return false;\n                  }\n                  DAT_00087968 = 0;\n                  return true;\n                }\n                param_2 = param_2 + 7;\n                iVar3 = strcmp((char *)param_2,"ok");\n                if (iVar3 == 0) {\n                  DAT_0008796c = 2;\n                  return true;\n                }\n                iVar3 = strcmp((char *)param_2,"warning");\n                if (iVar3 != 0) {\n                  iVar3 = strcmp((char *)param_2,"error");\n                  if (iVar3 == 0) {\n                    DAT_0008796c = 0;\n                    return true;\n                  }\n                  return false;\n                }\n                DAT_0008796c = 1;\n                return true;\n              }\n            }" ({ "{") (expression_statement "iVar3 = 4;" (assignment_expression "iVar3 = 4" (identifier "iVar3") (= "=") (number_literal "4")) (; ";")) (expression_statement "pbVar4 = param_2;" (assignment_expression "pbVar4 = param_2" (identifier "pbVar4") (= "=") (identifier "param_2")) (; ";")) (expression_statement "pbVar6 = &DAT_000639ea;" (assignment_expression "pbVar6 = &DAT_000639ea" (identifier "pbVar6") (= "=") (pointer_expression "&DAT_000639ea" (& "&") (identifier "DAT_000639ea"))) (; ";")) (do_statement "do {\n                if (iVar3 == 0) break;\n                iVar3 = iVar3 + -1;\n                bVar9 = *pbVar4 < *pbVar6;\n                bVar7 = *pbVar4 == *pbVar6;\n                pbVar4 = pbVar4 + 1;\n                pbVar6 = pbVar6 + 1;\n              } while (bVar7);" (do "do") (compound_statement "{\n                if (iVar3 == 0) break;\n                iVar3 = iVar3 + -1;\n                bVar9 = *pbVar4 < *pbVar6;\n                bVar7 = *pbVar4 == *pbVar6;\n                pbVar4 = pbVar4 + 1;\n                pbVar6 = pbVar6 + 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 = *pbVar4 < *pbVar6;" (assignment_expression "bVar9 = *pbVar4 < *pbVar6" (identifier "bVar9") (= "=") (binary_expression "*pbVar4 < *pbVar6" (pointer_expression "*pbVar4" (* "*") (identifier "pbVar4")) (< "<") (pointer_expression "*pbVar6" (* "*") (identifier "pbVar6")))) (; ";")) (expression_statement "bVar7 = *pbVar4 == *pbVar6;" (assignment_expression "bVar7 = *pbVar4 == *pbVar6" (identifier "bVar7") (= "=") (binary_expression "*pbVar4 == *pbVar6" (pointer_expression "*pbVar4" (* "*") (identifier "pbVar4")) (== "==") (pointer_expression "*pbVar6" (* "*") (identifier "pbVar6")))) (; ";")) (expression_statement "pbVar4 = pbVar4 + 1;" (assignment_expression "pbVar4 = pbVar4 + 1" (identifier "pbVar4") (= "=") (binary_expression "pbVar4 + 1" (identifier "pbVar4") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "pbVar6 = pbVar6 + 1;" (assignment_expression "pbVar6 = pbVar6 + 1" (identifier "pbVar6") (= "=") (binary_expression "pbVar6 + 1" (identifier "pbVar6") (+ "+") (number_literal "1"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(bVar7)" (( "(") (identifier "bVar7") () ")")) (; ";")) (expression_statement "bVar8 = false;" (assignment_expression "bVar8 = false" (identifier "bVar8") (= "=") (false "false")) (; ";")) (expression_statement "bVar7 = (!bVar9 && !bVar7) == bVar9;" (assignment_expression "bVar7 = (!bVar9 && !bVar7) == bVar9" (identifier "bVar7") (= "=") (binary_expression "(!bVar9 && !bVar7) == bVar9" (parenthesized_expression "(!bVar9 && !bVar7)" (( "(") (binary_expression "!bVar9 && !bVar7" (unary_expression "!bVar9" (! "!") (identifier "bVar9")) (&& "&&") (unary_expression "!bVar7" (! "!") (identifier "bVar7"))) () ")")) (== "==") (identifier "bVar9"))) (; ";")) (if_statement "if (!bVar7) {\n                iVar3 = 6;\n                pbVar4 = param_2;\n                pbVar6 = (byte *)"ilp32";\n                do {\n                  if (iVar3 == 0) break;\n                  iVar3 = iVar3 + -1;\n                  bVar8 = *pbVar4 < *pbVar6;\n                  bVar7 = *pbVar4 == *pbVar6;\n                  pbVar4 = pbVar4 + 1;\n                  pbVar6 = pbVar6 + 1;\n                } while (bVar7);\n                bVar9 = false;\n                bVar7 = (!bVar8 && !bVar7) == bVar8;\n                if (bVar7) {\n                  DAT_00087d90 = DAT_00087d90 & 0xffffffef;\n                  return true;\n                }\n                iVar3 = 3;\n                pbVar4 = param_2;\n                pbVar6 = (byte *)0x5a287;\n                do {\n                  if (iVar3 == 0) break;\n                  iVar3 = iVar3 + -1;\n                  bVar9 = *pbVar4 < *pbVar6;\n                  bVar7 = *pbVar4 == *pbVar6;\n                  pbVar4 = pbVar4 + 1;\n                  pbVar6 = pbVar6 + 1;\n                } while (bVar7);\n                bVar8 = false;\n                bVar7 = (!bVar9 && !bVar7) == bVar9;\n                if (bVar7) {\n                  DAT_00087d90 = DAT_00087d90 & 0xfffffff7;\n                  DAT_00087dfc = 0;\n                  return true;\n                }\n                iVar3 = 3;\n                pbVar4 = param_2;\n                pbVar6 = &DAT_00063a90;\n                do {\n                  if (iVar3 == 0) break;\n                  iVar3 = iVar3 + -1;\n                  bVar8 = *pbVar4 < *pbVar6;\n                  bVar7 = *pbVar4 == *pbVar6;\n                  pbVar4 = pbVar4 + 1;\n                  pbVar6 = pbVar6 + 1;\n                } while (bVar7);\n                bVar9 = false;\n                bVar7 = (!bVar8 && !bVar7) == bVar8;\n                if (bVar7) {\n                  DAT_00087d90 = DAT_00087d90 | 8;\n                  DAT_00087dfc = 1;\n                  return true;\n                }\n                iVar3 = 0xd;\n                pbVar4 = param_2;\n                pbVar6 = (byte *)"unwind-check=";\n                do {\n                  if (iVar3 == 0) break;\n                  iVar3 = iVar3 + -1;\n                  bVar9 = *pbVar4 < *pbVar6;\n                  bVar7 = *pbVar4 == *pbVar6;\n                  pbVar4 = pbVar4 + 1;\n                  pbVar6 = pbVar6 + 1;\n                } while (bVar7);\n                if ((!bVar9 && !bVar7) == bVar9) {\n                  iVar3 = strcmp((char *)(param_2 + 0xd),"warning");\n                  if (iVar3 == 0) {\n                    DAT_00087974 = 0;\n                    return true;\n                  }\n                  iVar3 = strcmp((char *)(param_2 + 0xd),"error");\n                  if (iVar3 == 0) {\n                    DAT_00087974 = 1;\n                    return true;\n                  }\n                  return false;\n                }\n                iVar3 = strncmp((char *)param_2,"hint.b=",7);\n                if (iVar3 != 0) {\n                  iVar3 = strncmp((char *)param_2,"tune=",5);\n                  if (iVar3 != 0) {\n                    return false;\n                  }\n                  iVar3 = strcmp((char *)(param_2 + 5),"itanium1");\n                  if (iVar3 != 0) {\n                    iVar3 = strcmp((char *)(param_2 + 5),"itanium2");\n                    if (iVar3 == 0) {\n                      DAT_00087968 = 1;\n                      return true;\n                    }\n                    return false;\n                  }\n                  DAT_00087968 = 0;\n                  return true;\n                }\n                param_2 = param_2 + 7;\n                iVar3 = strcmp((char *)param_2,"ok");\n                if (iVar3 == 0) {\n                  DAT_0008796c = 2;\n                  return true;\n                }\n                iVar3 = strcmp((char *)param_2,"warning");\n                if (iVar3 != 0) {\n                  iVar3 = strcmp((char *)param_2,"error");\n                  if (iVar3 == 0) {\n                    DAT_0008796c = 0;\n                    return true;\n                  }\n                  return false;\n                }\n                DAT_0008796c = 1;\n                return true;\n              }" (if "if") (parenthesized_expression "(!bVar7)" (( "(") (unary_expression "!bVar7" (! "!") (identifier "bVar7")) () ")")) (compound_statement "{\n                iVar3 = 6;\n                pbVar4 = param_2;\n                pbVar6 = (byte *)"ilp32";\n                do {\n                  if (iVar3 == 0) break;\n                  iVar3 = iVar3 + -1;\n                  bVar8 = *pbVar4 < *pbVar6;\n                  bVar7 = *pbVar4 == *pbVar6;\n                  pbVar4 = pbVar4 + 1;\n                  pbVar6 = pbVar6 + 1;\n                } while (bVar7);\n                bVar9 = false;\n                bVar7 = (!bVar8 && !bVar7) == bVar8;\n                if (bVar7) {\n                  DAT_00087d90 = DAT_00087d90 & 0xffffffef;\n                  return true;\n                }\n                iVar3 = 3;\n                pbVar4 = param_2;\n                pbVar6 = (byte *)0x5a287;\n                do {\n                  if (iVar3 == 0) break;\n                  iVar3 = iVar3 + -1;\n                  bVar9 = *pbVar4 < *pbVar6;\n                  bVar7 = *pbVar4 == *pbVar6;\n                  pbVar4 = pbVar4 + 1;\n                  pbVar6 = pbVar6 + 1;\n                } while (bVar7);\n                bVar8 = false;\n                bVar7 = (!bVar9 && !bVar7) == bVar9;\n                if (bVar7) {\n                  DAT_00087d90 = DAT_00087d90 & 0xfffffff7;\n                  DAT_00087dfc = 0;\n                  return true;\n                }\n                iVar3 = 3;\n                pbVar4 = param_2;\n                pbVar6 = &DAT_00063a90;\n                do {\n                  if (iVar3 == 0) break;\n                  iVar3 = iVar3 + -1;\n                  bVar8 = *pbVar4 < *pbVar6;\n                  bVar7 = *pbVar4 == *pbVar6;\n                  pbVar4 = pbVar4 + 1;\n                  pbVar6 = pbVar6 + 1;\n                } while (bVar7);\n                bVar9 = false;\n                bVar7 = (!bVar8 && !bVar7) == bVar8;\n                if (bVar7) {\n                  DAT_00087d90 = DAT_00087d90 | 8;\n                  DAT_00087dfc = 1;\n                  return true;\n                }\n                iVar3 = 0xd;\n                pbVar4 = param_2;\n                pbVar6 = (byte *)"unwind-check=";\n                do {\n                  if (iVar3 == 0) break;\n                  iVar3 = iVar3 + -1;\n                  bVar9 = *pbVar4 < *pbVar6;\n                  bVar7 = *pbVar4 == *pbVar6;\n                  pbVar4 = pbVar4 + 1;\n                  pbVar6 = pbVar6 + 1;\n                } while (bVar7);\n                if ((!bVar9 && !bVar7) == bVar9) {\n                  iVar3 = strcmp((char *)(param_2 + 0xd),"warning");\n                  if (iVar3 == 0) {\n                    DAT_00087974 = 0;\n                    return true;\n                  }\n                  iVar3 = strcmp((char *)(param_2 + 0xd),"error");\n                  if (iVar3 == 0) {\n                    DAT_00087974 = 1;\n                    return true;\n                  }\n                  return false;\n                }\n                iVar3 = strncmp((char *)param_2,"hint.b=",7);\n                if (iVar3 != 0) {\n                  iVar3 = strncmp((char *)param_2,"tune=",5);\n                  if (iVar3 != 0) {\n                    return false;\n                  }\n                  iVar3 = strcmp((char *)(param_2 + 5),"itanium1");\n                  if (iVar3 != 0) {\n                    iVar3 = strcmp((char *)(param_2 + 5),"itanium2");\n                    if (iVar3 == 0) {\n                      DAT_00087968 = 1;\n                      return true;\n                    }\n                    return false;\n                  }\n                  DAT_00087968 = 0;\n                  return true;\n                }\n                param_2 = param_2 + 7;\n                iVar3 = strcmp((char *)param_2,"ok");\n                if (iVar3 == 0) {\n                  DAT_0008796c = 2;\n                  return true;\n                }\n                iVar3 = strcmp((char *)param_2,"warning");\n                if (iVar3 != 0) {\n                  iVar3 = strcmp((char *)param_2,"error");\n                  if (iVar3 == 0) {\n                    DAT_0008796c = 0;\n                    return true;\n                  }\n                  return false;\n                }\n                DAT_0008796c = 1;\n                return true;\n              }" ({ "{") (expression_statement "iVar3 = 6;" (assignment_expression "iVar3 = 6" (identifier "iVar3") (= "=") (number_literal "6")) (; ";")) (expression_statement "pbVar4 = param_2;" (assignment_expression "pbVar4 = param_2" (identifier "pbVar4") (= "=") (identifier "param_2")) (; ";")) (expression_statement "pbVar6 = (byte *)"ilp32";" (assignment_expression "pbVar6 = (byte *)"ilp32"" (identifier "pbVar6") (= "=") (cast_expression "(byte *)"ilp32"" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (string_literal ""ilp32"" (" """) (string_content "ilp32") (" """)))) (; ";")) (do_statement "do {\n                  if (iVar3 == 0) break;\n                  iVar3 = iVar3 + -1;\n                  bVar8 = *pbVar4 < *pbVar6;\n                  bVar7 = *pbVar4 == *pbVar6;\n                  pbVar4 = pbVar4 + 1;\n                  pbVar6 = pbVar6 + 1;\n                } while (bVar7);" (do "do") (compound_statement "{\n                  if (iVar3 == 0) break;\n                  iVar3 = iVar3 + -1;\n                  bVar8 = *pbVar4 < *pbVar6;\n                  bVar7 = *pbVar4 == *pbVar6;\n                  pbVar4 = pbVar4 + 1;\n                  pbVar6 = pbVar6 + 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 "bVar8 = *pbVar4 < *pbVar6;" (assignment_expression "bVar8 = *pbVar4 < *pbVar6" (identifier "bVar8") (= "=") (binary_expression "*pbVar4 < *pbVar6" (pointer_expression "*pbVar4" (* "*") (identifier "pbVar4")) (< "<") (pointer_expression "*pbVar6" (* "*") (identifier "pbVar6")))) (; ";")) (expression_statement "bVar7 = *pbVar4 == *pbVar6;" (assignment_expression "bVar7 = *pbVar4 == *pbVar6" (identifier "bVar7") (= "=") (binary_expression "*pbVar4 == *pbVar6" (pointer_expression "*pbVar4" (* "*") (identifier "pbVar4")) (== "==") (pointer_expression "*pbVar6" (* "*") (identifier "pbVar6")))) (; ";")) (expression_statement "pbVar4 = pbVar4 + 1;" (assignment_expression "pbVar4 = pbVar4 + 1" (identifier "pbVar4") (= "=") (binary_expression "pbVar4 + 1" (identifier "pbVar4") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "pbVar6 = pbVar6 + 1;" (assignment_expression "pbVar6 = pbVar6 + 1" (identifier "pbVar6") (= "=") (binary_expression "pbVar6 + 1" (identifier "pbVar6") (+ "+") (number_literal "1"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(bVar7)" (( "(") (identifier "bVar7") () ")")) (; ";")) (expression_statement "bVar9 = false;" (assignment_expression "bVar9 = false" (identifier "bVar9") (= "=") (false "false")) (; ";")) (expression_statement "bVar7 = (!bVar8 && !bVar7) == bVar8;" (assignment_expression "bVar7 = (!bVar8 && !bVar7) == bVar8" (identifier "bVar7") (= "=") (binary_expression "(!bVar8 && !bVar7) == bVar8" (parenthesized_expression "(!bVar8 && !bVar7)" (( "(") (binary_expression "!bVar8 && !bVar7" (unary_expression "!bVar8" (! "!") (identifier "bVar8")) (&& "&&") (unary_expression "!bVar7" (! "!") (identifier "bVar7"))) () ")")) (== "==") (identifier "bVar8"))) (; ";")) (if_statement "if (bVar7) {\n                  DAT_00087d90 = DAT_00087d90 & 0xffffffef;\n                  return true;\n                }" (if "if") (parenthesized_expression "(bVar7)" (( "(") (identifier "bVar7") () ")")) (compound_statement "{\n                  DAT_00087d90 = DAT_00087d90 & 0xffffffef;\n                  return true;\n                }" ({ "{") (expression_statement "DAT_00087d90 = DAT_00087d90 & 0xffffffef;" (assignment_expression "DAT_00087d90 = DAT_00087d90 & 0xffffffef" (identifier "DAT_00087d90") (= "=") (binary_expression "DAT_00087d90 & 0xffffffef" (identifier "DAT_00087d90") (& "&") (number_literal "0xffffffef"))) (; ";")) (return_statement "return true;" (return "return") (true "true") (; ";")) (} "}"))) (expression_statement "iVar3 = 3;" (assignment_expression "iVar3 = 3" (identifier "iVar3") (= "=") (number_literal "3")) (; ";")) (expression_statement "pbVar4 = param_2;" (assignment_expression "pbVar4 = param_2" (identifier "pbVar4") (= "=") (identifier "param_2")) (; ";")) (expression_statement "pbVar6 = (byte *)0x5a287;" (assignment_expression "pbVar6 = (byte *)0x5a287" (identifier "pbVar6") (= "=") (cast_expression "(byte *)0x5a287" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x5a287"))) (; ";")) (do_statement "do {\n                  if (iVar3 == 0) break;\n                  iVar3 = iVar3 + -1;\n                  bVar9 = *pbVar4 < *pbVar6;\n                  bVar7 = *pbVar4 == *pbVar6;\n                  pbVar4 = pbVar4 + 1;\n                  pbVar6 = pbVar6 + 1;\n                } while (bVar7);" (do "do") (compound_statement "{\n                  if (iVar3 == 0) break;\n                  iVar3 = iVar3 + -1;\n                  bVar9 = *pbVar4 < *pbVar6;\n                  bVar7 = *pbVar4 == *pbVar6;\n                  pbVar4 = pbVar4 + 1;\n                  pbVar6 = pbVar6 + 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 = *pbVar4 < *pbVar6;" (assignment_expression "bVar9 = *pbVar4 < *pbVar6" (identifier "bVar9") (= "=") (binary_expression "*pbVar4 < *pbVar6" (pointer_expression "*pbVar4" (* "*") (identifier "pbVar4")) (< "<") (pointer_expression "*pbVar6" (* "*") (identifier "pbVar6")))) (; ";")) (expression_statement "bVar7 = *pbVar4 == *pbVar6;" (assignment_expression "bVar7 = *pbVar4 == *pbVar6" (identifier "bVar7") (= "=") (binary_expression "*pbVar4 == *pbVar6" (pointer_expression "*pbVar4" (* "*") (identifier "pbVar4")) (== "==") (pointer_expression "*pbVar6" (* "*") (identifier "pbVar6")))) (; ";")) (expression_statement "pbVar4 = pbVar4 + 1;" (assignment_expression "pbVar4 = pbVar4 + 1" (identifier "pbVar4") (= "=") (binary_expression "pbVar4 + 1" (identifier "pbVar4") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "pbVar6 = pbVar6 + 1;" (assignment_expression "pbVar6 = pbVar6 + 1" (identifier "pbVar6") (= "=") (binary_expression "pbVar6 + 1" (identifier "pbVar6") (+ "+") (number_literal "1"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(bVar7)" (( "(") (identifier "bVar7") () ")")) (; ";")) (expression_statement "bVar8 = false;" (assignment_expression "bVar8 = false" (identifier "bVar8") (= "=") (false "false")) (; ";")) (expression_statement "bVar7 = (!bVar9 && !bVar7) == bVar9;" (assignment_expression "bVar7 = (!bVar9 && !bVar7) == bVar9" (identifier "bVar7") (= "=") (binary_expression "(!bVar9 && !bVar7) == bVar9" (parenthesized_expression "(!bVar9 && !bVar7)" (( "(") (binary_expression "!bVar9 && !bVar7" (unary_expression "!bVar9" (! "!") (identifier "bVar9")) (&& "&&") (unary_expression "!bVar7" (! "!") (identifier "bVar7"))) () ")")) (== "==") (identifier "bVar9"))) (; ";")) (if_statement "if (bVar7) {\n                  DAT_00087d90 = DAT_00087d90 & 0xfffffff7;\n                  DAT_00087dfc = 0;\n                  return true;\n                }" (if "if") (parenthesized_expression "(bVar7)" (( "(") (identifier "bVar7") () ")")) (compound_statement "{\n                  DAT_00087d90 = DAT_00087d90 & 0xfffffff7;\n                  DAT_00087dfc = 0;\n                  return true;\n                }" ({ "{") (expression_statement "DAT_00087d90 = DAT_00087d90 & 0xfffffff7;" (assignment_expression "DAT_00087d90 = DAT_00087d90 & 0xfffffff7" (identifier "DAT_00087d90") (= "=") (binary_expression "DAT_00087d90 & 0xfffffff7" (identifier "DAT_00087d90") (& "&") (number_literal "0xfffffff7"))) (; ";")) (expression_statement "DAT_00087dfc = 0;" (assignment_expression "DAT_00087dfc = 0" (identifier "DAT_00087dfc") (= "=") (number_literal "0")) (; ";")) (return_statement "return true;" (return "return") (true "true") (; ";")) (} "}"))) (expression_statement "iVar3 = 3;" (assignment_expression "iVar3 = 3" (identifier "iVar3") (= "=") (number_literal "3")) (; ";")) (expression_statement "pbVar4 = param_2;" (assignment_expression "pbVar4 = param_2" (identifier "pbVar4") (= "=") (identifier "param_2")) (; ";")) (expression_statement "pbVar6 = &DAT_00063a90;" (assignment_expression "pbVar6 = &DAT_00063a90" (identifier "pbVar6") (= "=") (pointer_expression "&DAT_00063a90" (& "&") (identifier "DAT_00063a90"))) (; ";")) (do_statement "do {\n                  if (iVar3 == 0) break;\n                  iVar3 = iVar3 + -1;\n                  bVar8 = *pbVar4 < *pbVar6;\n                  bVar7 = *pbVar4 == *pbVar6;\n                  pbVar4 = pbVar4 + 1;\n                  pbVar6 = pbVar6 + 1;\n                } while (bVar7);" (do "do") (compound_statement "{\n                  if (iVar3 == 0) break;\n                  iVar3 = iVar3 + -1;\n                  bVar8 = *pbVar4 < *pbVar6;\n                  bVar7 = *pbVar4 == *pbVar6;\n                  pbVar4 = pbVar4 + 1;\n                  pbVar6 = pbVar6 + 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 "bVar8 = *pbVar4 < *pbVar6;" (assignment_expression "bVar8 = *pbVar4 < *pbVar6" (identifier "bVar8") (= "=") (binary_expression "*pbVar4 < *pbVar6" (pointer_expression "*pbVar4" (* "*") (identifier "pbVar4")) (< "<") (pointer_expression "*pbVar6" (* "*") (identifier "pbVar6")))) (; ";")) (expression_statement "bVar7 = *pbVar4 == *pbVar6;" (assignment_expression "bVar7 = *pbVar4 == *pbVar6" (identifier "bVar7") (= "=") (binary_expression "*pbVar4 == *pbVar6" (pointer_expression "*pbVar4" (* "*") (identifier "pbVar4")) (== "==") (pointer_expression "*pbVar6" (* "*") (identifier "pbVar6")))) (; ";")) (expression_statement "pbVar4 = pbVar4 + 1;" (assignment_expression "pbVar4 = pbVar4 + 1" (identifier "pbVar4") (= "=") (binary_expression "pbVar4 + 1" (identifier "pbVar4") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "pbVar6 = pbVar6 + 1;" (assignment_expression "pbVar6 = pbVar6 + 1" (identifier "pbVar6") (= "=") (binary_expression "pbVar6 + 1" (identifier "pbVar6") (+ "+") (number_literal "1"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(bVar7)" (( "(") (identifier "bVar7") () ")")) (; ";")) (expression_statement "bVar9 = false;" (assignment_expression "bVar9 = false" (identifier "bVar9") (= "=") (false "false")) (; ";")) (expression_statement "bVar7 = (!bVar8 && !bVar7) == bVar8;" (assignment_expression "bVar7 = (!bVar8 && !bVar7) == bVar8" (identifier "bVar7") (= "=") (binary_expression "(!bVar8 && !bVar7) == bVar8" (parenthesized_expression "(!bVar8 && !bVar7)" (( "(") (binary_expression "!bVar8 && !bVar7" (unary_expression "!bVar8" (! "!") (identifier "bVar8")) (&& "&&") (unary_expression "!bVar7" (! "!") (identifier "bVar7"))) () ")")) (== "==") (identifier "bVar8"))) (; ";")) (if_statement "if (bVar7) {\n                  DAT_00087d90 = DAT_00087d90 | 8;\n                  DAT_00087dfc = 1;\n                  return true;\n                }" (if "if") (parenthesized_expression "(bVar7)" (( "(") (identifier "bVar7") () ")")) (compound_statement "{\n                  DAT_00087d90 = DAT_00087d90 | 8;\n                  DAT_00087dfc = 1;\n                  return true;\n                }" ({ "{") (expression_statement "DAT_00087d90 = DAT_00087d90 | 8;" (assignment_expression "DAT_00087d90 = DAT_00087d90 | 8" (identifier "DAT_00087d90") (= "=") (binary_expression "DAT_00087d90 | 8" (identifier "DAT_00087d90") (| "|") (number_literal "8"))) (; ";")) (expression_statement "DAT_00087dfc = 1;" (assignment_expression "DAT_00087dfc = 1" (identifier "DAT_00087dfc") (= "=") (number_literal "1")) (; ";")) (return_statement "return true;" (return "return") (true "true") (; ";")) (} "}"))) (expression_statement "iVar3 = 0xd;" (assignment_expression "iVar3 = 0xd" (identifier "iVar3") (= "=") (number_literal "0xd")) (; ";")) (expression_statement "pbVar4 = param_2;" (assignment_expression "pbVar4 = param_2" (identifier "pbVar4") (= "=") (identifier "param_2")) (; ";")) (expression_statement "pbVar6 = (byte *)"unwind-check=";" (assignment_expression "pbVar6 = (byte *)"unwind-check="" (identifier "pbVar6") (= "=") (cast_expression "(byte *)"unwind-check="" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (string_literal ""unwind-check="" (" """) (string_content "unwind-check=") (" """)))) (; ";")) (do_statement "do {\n                  if (iVar3 == 0) break;\n                  iVar3 = iVar3 + -1;\n                  bVar9 = *pbVar4 < *pbVar6;\n                  bVar7 = *pbVar4 == *pbVar6;\n                  pbVar4 = pbVar4 + 1;\n                  pbVar6 = pbVar6 + 1;\n                } while (bVar7);" (do "do") (compound_statement "{\n                  if (iVar3 == 0) break;\n                  iVar3 = iVar3 + -1;\n                  bVar9 = *pbVar4 < *pbVar6;\n                  bVar7 = *pbVar4 == *pbVar6;\n                  pbVar4 = pbVar4 + 1;\n                  pbVar6 = pbVar6 + 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 = *pbVar4 < *pbVar6;" (assignment_expression "bVar9 = *pbVar4 < *pbVar6" (identifier "bVar9") (= "=") (binary_expression "*pbVar4 < *pbVar6" (pointer_expression "*pbVar4" (* "*") (identifier "pbVar4")) (< "<") (pointer_expression "*pbVar6" (* "*") (identifier "pbVar6")))) (; ";")) (expression_statement "bVar7 = *pbVar4 == *pbVar6;" (assignment_expression "bVar7 = *pbVar4 == *pbVar6" (identifier "bVar7") (= "=") (binary_expression "*pbVar4 == *pbVar6" (pointer_expression "*pbVar4" (* "*") (identifier "pbVar4")) (== "==") (pointer_expression "*pbVar6" (* "*") (identifier "pbVar6")))) (; ";")) (expression_statement "pbVar4 = pbVar4 + 1;" (assignment_expression "pbVar4 = pbVar4 + 1" (identifier "pbVar4") (= "=") (binary_expression "pbVar4 + 1" (identifier "pbVar4") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "pbVar6 = pbVar6 + 1;" (assignment_expression "pbVar6 = pbVar6 + 1" (identifier "pbVar6") (= "=") (binary_expression "pbVar6 + 1" (identifier "pbVar6") (+ "+") (number_literal "1"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(bVar7)" (( "(") (identifier "bVar7") () ")")) (; ";")) (if_statement "if ((!bVar9 && !bVar7) == bVar9) {\n                  iVar3 = strcmp((char *)(param_2 + 0xd),"warning");\n                  if (iVar3 == 0) {\n                    DAT_00087974 = 0;\n                    return true;\n                  }\n                  iVar3 = strcmp((char *)(param_2 + 0xd),"error");\n                  if (iVar3 == 0) {\n                    DAT_00087974 = 1;\n                    return true;\n                  }\n                  return false;\n                }" (if "if") (parenthesized_expression "((!bVar9 && !bVar7) == bVar9)" (( "(") (binary_expression "(!bVar9 && !bVar7) == bVar9" (parenthesized_expression "(!bVar9 && !bVar7)" (( "(") (binary_expression "!bVar9 && !bVar7" (unary_expression "!bVar9" (! "!") (identifier "bVar9")) (&& "&&") (unary_expression "!bVar7" (! "!") (identifier "bVar7"))) () ")")) (== "==") (identifier "bVar9")) () ")")) (compound_statement "{\n                  iVar3 = strcmp((char *)(param_2 + 0xd),"warning");\n                  if (iVar3 == 0) {\n                    DAT_00087974 = 0;\n                    return true;\n                  }\n                  iVar3 = strcmp((char *)(param_2 + 0xd),"error");\n                  if (iVar3 == 0) {\n                    DAT_00087974 = 1;\n                    return true;\n                  }\n                  return false;\n                }" ({ "{") (expression_statement "iVar3 = strcmp((char *)(param_2 + 0xd),"warning");" (assignment_expression "iVar3 = strcmp((char *)(param_2 + 0xd),"warning")" (identifier "iVar3") (= "=") (call_expression "strcmp((char *)(param_2 + 0xd),"warning")" (identifier "strcmp") (argument_list "((char *)(param_2 + 0xd),"warning")" (( "(") (cast_expression "(char *)(param_2 + 0xd)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_2 + 0xd)" (( "(") (binary_expression "param_2 + 0xd" (identifier "param_2") (+ "+") (number_literal "0xd")) () ")"))) (, ",") (string_literal ""warning"" (" """) (string_content "warning") (" """)) () ")")))) (; ";")) (if_statement "if (iVar3 == 0) {\n                    DAT_00087974 = 0;\n                    return true;\n                  }" (if "if") (parenthesized_expression "(iVar3 == 0)" (( "(") (binary_expression "iVar3 == 0" (identifier "iVar3") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n                    DAT_00087974 = 0;\n                    return true;\n                  }" ({ "{") (expression_statement "DAT_00087974 = 0;" (assignment_expression "DAT_00087974 = 0" (identifier "DAT_00087974") (= "=") (number_literal "0")) (; ";")) (return_statement "return true;" (return "return") (true "true") (; ";")) (} "}"))) (expression_statement "iVar3 = strcmp((char *)(param_2 + 0xd),"error");" (assignment_expression "iVar3 = strcmp((char *)(param_2 + 0xd),"error")" (identifier "iVar3") (= "=") (call_expression "strcmp((char *)(param_2 + 0xd),"error")" (identifier "strcmp") (argument_list "((char *)(param_2 + 0xd),"error")" (( "(") (cast_expression "(char *)(param_2 + 0xd)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_2 + 0xd)" (( "(") (binary_expression "param_2 + 0xd" (identifier "param_2") (+ "+") (number_literal "0xd")) () ")"))) (, ",") (string_literal ""error"" (" """) (string_content "error") (" """)) () ")")))) (; ";")) (if_statement "if (iVar3 == 0) {\n                    DAT_00087974 = 1;\n                    return true;\n                  }" (if "if") (parenthesized_expression "(iVar3 == 0)" (( "(") (binary_expression "iVar3 == 0" (identifier "iVar3") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n                    DAT_00087974 = 1;\n                    return true;\n                  }" ({ "{") (expression_statement "DAT_00087974 = 1;" (assignment_expression "DAT_00087974 = 1" (identifier "DAT_00087974") (= "=") (number_literal "1")) (; ";")) (return_statement "return true;" (return "return") (true "true") (; ";")) (} "}"))) (return_statement "return false;" (return "return") (false "false") (; ";")) (} "}"))) (expression_statement "iVar3 = strncmp((char *)param_2,"hint.b=",7);" (assignment_expression "iVar3 = strncmp((char *)param_2,"hint.b=",7)" (identifier "iVar3") (= "=") (call_expression "strncmp((char *)param_2,"hint.b=",7)" (identifier "strncmp") (argument_list "((char *)param_2,"hint.b=",7)" (( "(") (cast_expression "(char *)param_2" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "param_2")) (, ",") (string_literal ""hint.b="" (" """) (string_content "hint.b=") (" """)) (, ",") (number_literal "7") () ")")))) (; ";")) (if_statement "if (iVar3 != 0) {\n                  iVar3 = strncmp((char *)param_2,"tune=",5);\n                  if (iVar3 != 0) {\n                    return false;\n                  }\n                  iVar3 = strcmp((char *)(param_2 + 5),"itanium1");\n                  if (iVar3 != 0) {\n                    iVar3 = strcmp((char *)(param_2 + 5),"itanium2");\n                    if (iVar3 == 0) {\n                      DAT_00087968 = 1;\n                      return true;\n                    }\n                    return false;\n                  }\n                  DAT_00087968 = 0;\n                  return true;\n                }" (if "if") (parenthesized_expression "(iVar3 != 0)" (( "(") (binary_expression "iVar3 != 0" (identifier "iVar3") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n                  iVar3 = strncmp((char *)param_2,"tune=",5);\n                  if (iVar3 != 0) {\n                    return false;\n                  }\n                  iVar3 = strcmp((char *)(param_2 + 5),"itanium1");\n                  if (iVar3 != 0) {\n                    iVar3 = strcmp((char *)(param_2 + 5),"itanium2");\n                    if (iVar3 == 0) {\n                      DAT_00087968 = 1;\n                      return true;\n                    }\n                    return false;\n                  }\n                  DAT_00087968 = 0;\n                  return true;\n                }" ({ "{") (expression_statement "iVar3 = strncmp((char *)param_2,"tune=",5);" (assignment_expression "iVar3 = strncmp((char *)param_2,"tune=",5)" (identifier "iVar3") (= "=") (call_expression "strncmp((char *)param_2,"tune=",5)" (identifier "strncmp") (argument_list "((char *)param_2,"tune=",5)" (( "(") (cast_expression "(char *)param_2" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "param_2")) (, ",") (string_literal ""tune="" (" """) (string_content "tune=") (" """)) (, ",") (number_literal "5") () ")")))) (; ";")) (if_statement "if (iVar3 != 0) {\n                    return false;\n                  }" (if "if") (parenthesized_expression "(iVar3 != 0)" (( "(") (binary_expression "iVar3 != 0" (identifier "iVar3") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n                    return false;\n                  }" ({ "{") (return_statement "return false;" (return "return") (false "false") (; ";")) (} "}"))) (expression_statement "iVar3 = strcmp((char *)(param_2 + 5),"itanium1");" (assignment_expression "iVar3 = strcmp((char *)(param_2 + 5),"itanium1")" (identifier "iVar3") (= "=") (call_expression "strcmp((char *)(param_2 + 5),"itanium1")" (identifier "strcmp") (argument_list "((char *)(param_2 + 5),"itanium1")" (( "(") (cast_expression "(char *)(param_2 + 5)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_2 + 5)" (( "(") (binary_expression "param_2 + 5" (identifier "param_2") (+ "+") (number_literal "5")) () ")"))) (, ",") (string_literal ""itanium1"" (" """) (string_content "itanium1") (" """)) () ")")))) (; ";")) (if_statement "if (iVar3 != 0) {\n                    iVar3 = strcmp((char *)(param_2 + 5),"itanium2");\n                    if (iVar3 == 0) {\n                      DAT_00087968 = 1;\n                      return true;\n                    }\n                    return false;\n                  }" (if "if") (parenthesized_expression "(iVar3 != 0)" (( "(") (binary_expression "iVar3 != 0" (identifier "iVar3") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n                    iVar3 = strcmp((char *)(param_2 + 5),"itanium2");\n                    if (iVar3 == 0) {\n                      DAT_00087968 = 1;\n                      return true;\n                    }\n                    return false;\n                  }" ({ "{") (expression_statement "iVar3 = strcmp((char *)(param_2 + 5),"itanium2");" (assignment_expression "iVar3 = strcmp((char *)(param_2 + 5),"itanium2")" (identifier "iVar3") (= "=") (call_expression "strcmp((char *)(param_2 + 5),"itanium2")" (identifier "strcmp") (argument_list "((char *)(param_2 + 5),"itanium2")" (( "(") (cast_expression "(char *)(param_2 + 5)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_2 + 5)" (( "(") (binary_expression "param_2 + 5" (identifier "param_2") (+ "+") (number_literal "5")) () ")"))) (, ",") (string_literal ""itanium2"" (" """) (string_content "itanium2") (" """)) () ")")))) (; ";")) (if_statement "if (iVar3 == 0) {\n                      DAT_00087968 = 1;\n                      return true;\n                    }" (if "if") (parenthesized_expression "(iVar3 == 0)" (( "(") (binary_expression "iVar3 == 0" (identifier "iVar3") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n                      DAT_00087968 = 1;\n                      return true;\n                    }" ({ "{") (expression_statement "DAT_00087968 = 1;" (assignment_expression "DAT_00087968 = 1" (identifier "DAT_00087968") (= "=") (number_literal "1")) (; ";")) (return_statement "return true;" (return "return") (true "true") (; ";")) (} "}"))) (return_statement "return false;" (return "return") (false "false") (; ";")) (} "}"))) (expression_statement "DAT_00087968 = 0;" (assignment_expression "DAT_00087968 = 0" (identifier "DAT_00087968") (= "=") (number_literal "0")) (; ";")) (return_statement "return true;" (return "return") (true "true") (; ";")) (} "}"))) (expression_statement "param_2 = param_2 + 7;" (assignment_expression "param_2 = param_2 + 7" (identifier "param_2") (= "=") (binary_expression "param_2 + 7" (identifier "param_2") (+ "+") (number_literal "7"))) (; ";")) (expression_statement "iVar3 = strcmp((char *)param_2,"ok");" (assignment_expression "iVar3 = strcmp((char *)param_2,"ok")" (identifier "iVar3") (= "=") (call_expression "strcmp((char *)param_2,"ok")" (identifier "strcmp") (argument_list "((char *)param_2,"ok")" (( "(") (cast_expression "(char *)param_2" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "param_2")) (, ",") (string_literal ""ok"" (" """) (string_content "ok") (" """)) () ")")))) (; ";")) (if_statement "if (iVar3 == 0) {\n                  DAT_0008796c = 2;\n                  return true;\n                }" (if "if") (parenthesized_expression "(iVar3 == 0)" (( "(") (binary_expression "iVar3 == 0" (identifier "iVar3") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n                  DAT_0008796c = 2;\n                  return true;\n                }" ({ "{") (expression_statement "DAT_0008796c = 2;" (assignment_expression "DAT_0008796c = 2" (identifier "DAT_0008796c") (= "=") (number_literal "2")) (; ";")) (return_statement "return true;" (return "return") (true "true") (; ";")) (} "}"))) (expression_statement "iVar3 = strcmp((char *)param_2,"warning");" (assignment_expression "iVar3 = strcmp((char *)param_2,"warning")" (identifier "iVar3") (= "=") (call_expression "strcmp((char *)param_2,"warning")" (identifier "strcmp") (argument_list "((char *)param_2,"warning")" (( "(") (cast_expression "(char *)param_2" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "param_2")) (, ",") (string_literal ""warning"" (" """) (string_content "warning") (" """)) () ")")))) (; ";")) (if_statement "if (iVar3 != 0) {\n                  iVar3 = strcmp((char *)param_2,"error");\n                  if (iVar3 == 0) {\n                    DAT_0008796c = 0;\n                    return true;\n                  }\n                  return false;\n                }" (if "if") (parenthesized_expression "(iVar3 != 0)" (( "(") (binary_expression "iVar3 != 0" (identifier "iVar3") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n                  iVar3 = strcmp((char *)param_2,"error");\n                  if (iVar3 == 0) {\n                    DAT_0008796c = 0;\n                    return true;\n                  }\n                  return false;\n                }" ({ "{") (expression_statement "iVar3 = strcmp((char *)param_2,"error");" (assignment_expression "iVar3 = strcmp((char *)param_2,"error")" (identifier "iVar3") (= "=") (call_expression "strcmp((char *)param_2,"error")" (identifier "strcmp") (argument_list "((char *)param_2,"error")" (( "(") (cast_expression "(char *)param_2" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "param_2")) (, ",") (string_literal ""error"" (" """) (string_content "error") (" """)) () ")")))) (; ";")) (if_statement "if (iVar3 == 0) {\n                    DAT_0008796c = 0;\n                    return true;\n                  }" (if "if") (parenthesized_expression "(iVar3 == 0)" (( "(") (binary_expression "iVar3 == 0" (identifier "iVar3") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n                    DAT_0008796c = 0;\n                    return true;\n                  }" ({ "{") (expression_statement "DAT_0008796c = 0;" (assignment_expression "DAT_0008796c = 0" (identifier "DAT_0008796c") (= "=") (number_literal "0")) (; ";")) (return_statement "return true;" (return "return") (true "true") (; ";")) (} "}"))) (return_statement "return false;" (return "return") (false "false") (; ";")) (} "}"))) (expression_statement "DAT_0008796c = 1;" (assignment_expression "DAT_0008796c = 1" (identifier "DAT_0008796c") (= "=") (number_literal "1")) (; ";")) (return_statement "return true;" (return "return") (true "true") (; ";")) (} "}"))) (} "}"))) (} "}"))) (expression_statement "DAT_00087d90 = DAT_00087d90 | 0x10;" (assignment_expression "DAT_00087d90 = DAT_00087d90 | 0x10" (identifier "DAT_00087d90") (= "=") (binary_expression "DAT_00087d90 | 0x10" (identifier "DAT_00087d90") (| "|") (number_literal "0x10"))) (; ";")) (return_statement "return true;" (return "return") (true "true") (; ";")) (} "}"))) (} "}")) (else_clause "else {\n        if (param_1 == 0x123) {\n          DAT_00087d90 = DAT_00087d90 | 0x40;\n          return true;\n        }\n        if (param_1 == 0x124) {\n          DAT_00087d90 = DAT_00087d90 | 0x80;\n          return true;\n        }\n      }" (else "else") (compound_statement "{\n        if (param_1 == 0x123) {\n          DAT_00087d90 = DAT_00087d90 | 0x40;\n          return true;\n        }\n        if (param_1 == 0x124) {\n          DAT_00087d90 = DAT_00087d90 | 0x80;\n          return true;\n        }\n      }" ({ "{") (if_statement "if (param_1 == 0x123) {\n          DAT_00087d90 = DAT_00087d90 | 0x40;\n          return true;\n        }" (if "if") (parenthesized_expression "(param_1 == 0x123)" (( "(") (binary_expression "param_1 == 0x123" (identifier "param_1") (== "==") (number_literal "0x123")) () ")")) (compound_statement "{\n          DAT_00087d90 = DAT_00087d90 | 0x40;\n          return true;\n        }" ({ "{") (expression_statement "DAT_00087d90 = DAT_00087d90 | 0x40;" (assignment_expression "DAT_00087d90 = DAT_00087d90 | 0x40" (identifier "DAT_00087d90") (= "=") (binary_expression "DAT_00087d90 | 0x40" (identifier "DAT_00087d90") (| "|") (number_literal "0x40"))) (; ";")) (return_statement "return true;" (return "return") (true "true") (; ";")) (} "}"))) (if_statement "if (param_1 == 0x124) {\n          DAT_00087d90 = DAT_00087d90 | 0x80;\n          return true;\n        }" (if "if") (parenthesized_expression "(param_1 == 0x124)" (( "(") (binary_expression "param_1 == 0x124" (identifier "param_1") (== "==") (number_literal "0x124")) () ")")) (compound_statement "{\n          DAT_00087d90 = DAT_00087d90 | 0x80;\n          return true;\n        }" ({ "{") (expression_statement "DAT_00087d90 = DAT_00087d90 | 0x80;" (assignment_expression "DAT_00087d90 = DAT_00087d90 | 0x80" (identifier "DAT_00087d90") (= "=") (binary_expression "DAT_00087d90 | 0x80" (identifier "DAT_00087d90") (| "|") (number_literal "0x80"))) (; ";")) (return_statement "return true;" (return "return") (true "true") (; ";")) (} "}"))) (} "}")))) (return_statement "return false;" (return "return") (false "false") (; ";")) (} "}"))) (expression_statement "bVar7 = param_1 < 0x4e;" (assignment_expression "bVar7 = param_1 < 0x4e" (identifier "bVar7") (= "=") (binary_expression "param_1 < 0x4e" (identifier "param_1") (< "<") (number_literal "0x4e"))) (; ";")) (expression_statement "bVar9 = param_1 == 0x4e;" (assignment_expression "bVar9 = param_1 == 0x4e" (identifier "bVar9") (= "=") (binary_expression "param_1 == 0x4e" (identifier "param_1") (== "==") (number_literal "0x4e"))) (; ";")) (if_statement "if (!bVar9) {\n      if (param_1 != 0x53) {\n        return param_1 == 0x43;\n      }\n      return true;\n    }" (if "if") (parenthesized_expression "(!bVar9)" (( "(") (unary_expression "!bVar9" (! "!") (identifier "bVar9")) () ")")) (compound_statement "{\n      if (param_1 != 0x53) {\n        return param_1 == 0x43;\n      }\n      return true;\n    }" ({ "{") (if_statement "if (param_1 != 0x53) {\n        return param_1 == 0x43;\n      }" (if "if") (parenthesized_expression "(param_1 != 0x53)" (( "(") (binary_expression "param_1 != 0x53" (identifier "param_1") (!= "!=") (number_literal "0x53")) () ")")) (compound_statement "{\n        return param_1 == 0x43;\n      }" ({ "{") (return_statement "return param_1 == 0x43;" (return "return") (binary_expression "param_1 == 0x43" (identifier "param_1") (== "==") (number_literal "0x43")) (; ";")) (} "}"))) (return_statement "return true;" (return "return") (true "true") (; ";")) (} "}"))) (expression_statement "iVar3 = 3;" (assignment_expression "iVar3 = 3" (identifier "iVar3") (= "=") (number_literal "3")) (; ";")) (expression_statement "pbVar4 = param_2;" (assignment_expression "pbVar4 = param_2" (identifier "pbVar4") (= "=") (identifier "param_2")) (; ";")) (expression_statement "pbVar6 = &DAT_00063a25;" (assignment_expression "pbVar6 = &DAT_00063a25" (identifier "pbVar6") (= "=") (pointer_expression "&DAT_00063a25" (& "&") (identifier "DAT_00063a25"))) (; ";")) (do_statement "do {\n      if (iVar3 == 0) break;\n      iVar3 = iVar3 + -1;\n      bVar7 = *pbVar4 < *pbVar6;\n      bVar9 = *pbVar4 == *pbVar6;\n      pbVar4 = pbVar4 + 1;\n      pbVar6 = pbVar6 + 1;\n    } while (bVar9);" (do "do") (compound_statement "{\n      if (iVar3 == 0) break;\n      iVar3 = iVar3 + -1;\n      bVar7 = *pbVar4 < *pbVar6;\n      bVar9 = *pbVar4 == *pbVar6;\n      pbVar4 = pbVar4 + 1;\n      pbVar6 = pbVar6 + 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 "bVar7 = *pbVar4 < *pbVar6;" (assignment_expression "bVar7 = *pbVar4 < *pbVar6" (identifier "bVar7") (= "=") (binary_expression "*pbVar4 < *pbVar6" (pointer_expression "*pbVar4" (* "*") (identifier "pbVar4")) (< "<") (pointer_expression "*pbVar6" (* "*") (identifier "pbVar6")))) (; ";")) (expression_statement "bVar9 = *pbVar4 == *pbVar6;" (assignment_expression "bVar9 = *pbVar4 == *pbVar6" (identifier "bVar9") (= "=") (binary_expression "*pbVar4 == *pbVar6" (pointer_expression "*pbVar4" (* "*") (identifier "pbVar4")) (== "==") (pointer_expression "*pbVar6" (* "*") (identifier "pbVar6")))) (; ";")) (expression_statement "pbVar4 = pbVar4 + 1;" (assignment_expression "pbVar4 = pbVar4 + 1" (identifier "pbVar4") (= "=") (binary_expression "pbVar4 + 1" (identifier "pbVar4") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "pbVar6 = pbVar6 + 1;" (assignment_expression "pbVar6 = pbVar6 + 1" (identifier "pbVar6") (= "=") (binary_expression "pbVar6 + 1" (identifier "pbVar6") (+ "+") (number_literal "1"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(bVar9)" (( "(") (identifier "bVar9") () ")")) (; ";")) (expression_statement "bVar8 = false;" (assignment_expression "bVar8 = false" (identifier "bVar8") (= "=") (false "false")) (; ";")) (expression_statement "bVar7 = (!bVar7 && !bVar9) == bVar7;" (assignment_expression "bVar7 = (!bVar7 && !bVar9) == bVar7" (identifier "bVar7") (= "=") (binary_expression "(!bVar7 && !bVar9) == bVar7" (parenthesized_expression "(!bVar7 && !bVar9)" (( "(") (binary_expression "!bVar7 && !bVar9" (unary_expression "!bVar7" (! "!") (identifier "bVar7")) (&& "&&") (unary_expression "!bVar9" (! "!") (identifier "bVar9"))) () ")")) (== "==") (identifier "bVar7"))) (; ";")) (if_statement "if (bVar7) {\n      return true;\n    }" (if "if") (parenthesized_expression "(bVar7)" (( "(") (identifier "bVar7") () ")")) (compound_statement "{\n      return true;\n    }" ({ "{") (return_statement "return true;" (return "return") (true "true") (; ";")) (} "}"))) (expression_statement "iVar3 = 3;" (assignment_expression "iVar3 = 3" (identifier "iVar3") (= "=") (number_literal "3")) (; ";")) (expression_statement "pbVar4 = param_2;" (assignment_expression "pbVar4 = param_2" (identifier "pbVar4") (= "=") (identifier "param_2")) (; ";")) (expression_statement "pbVar6 = &DAT_00063a28;" (assignment_expression "pbVar6 = &DAT_00063a28" (identifier "pbVar6") (= "=") (pointer_expression "&DAT_00063a28" (& "&") (identifier "DAT_00063a28"))) (; ";")) (do_statement "do {\n      if (iVar3 == 0) break;\n      iVar3 = iVar3 + -1;\n      bVar8 = *pbVar4 < *pbVar6;\n      bVar7 = *pbVar4 == *pbVar6;\n      pbVar4 = pbVar4 + 1;\n      pbVar6 = pbVar6 + 1;\n    } while (bVar7);" (do "do") (compound_statement "{\n      if (iVar3 == 0) break;\n      iVar3 = iVar3 + -1;\n      bVar8 = *pbVar4 < *pbVar6;\n      bVar7 = *pbVar4 == *pbVar6;\n      pbVar4 = pbVar4 + 1;\n      pbVar6 = pbVar6 + 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 "bVar8 = *pbVar4 < *pbVar6;" (assignment_expression "bVar8 = *pbVar4 < *pbVar6" (identifier "bVar8") (= "=") (binary_expression "*pbVar4 < *pbVar6" (pointer_expression "*pbVar4" (* "*") (identifier "pbVar4")) (< "<") (pointer_expression "*pbVar6" (* "*") (identifier "pbVar6")))) (; ";")) (expression_statement "bVar7 = *pbVar4 == *pbVar6;" (assignment_expression "bVar7 = *pbVar4 == *pbVar6" (identifier "bVar7") (= "=") (binary_expression "*pbVar4 == *pbVar6" (pointer_expression "*pbVar4" (* "*") (identifier "pbVar4")) (== "==") (pointer_expression "*pbVar6" (* "*") (identifier "pbVar6")))) (; ";")) (expression_statement "pbVar4 = pbVar4 + 1;" (assignment_expression "pbVar4 = pbVar4 + 1" (identifier "pbVar4") (= "=") (binary_expression "pbVar4 + 1" (identifier "pbVar4") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "pbVar6 = pbVar6 + 1;" (assignment_expression "pbVar6 = pbVar6 + 1" (identifier "pbVar6") (= "=") (binary_expression "pbVar6 + 1" (identifier "pbVar6") (+ "+") (number_literal "1"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(bVar7)" (( "(") (identifier "bVar7") () ")")) (; ";")) (expression_statement "bVar9 = false;" (assignment_expression "bVar9 = false" (identifier "bVar9") (= "=") (false "false")) (; ";")) (expression_statement "bVar8 = (!bVar8 && !bVar7) == bVar8;" (assignment_expression "bVar8 = (!bVar8 && !bVar7) == bVar8" (identifier "bVar8") (= "=") (binary_expression "(!bVar8 && !bVar7) == bVar8" (parenthesized_expression "(!bVar8 && !bVar7)" (( "(") (binary_expression "!bVar8 && !bVar7" (unary_expression "!bVar8" (! "!") (identifier "bVar8")) (&& "&&") (unary_expression "!bVar7" (! "!") (identifier "bVar7"))) () ")")) (== "==") (identifier "bVar8"))) (; ";")) (if_statement "if (bVar8) {\n      return true;\n    }" (if "if") (parenthesized_expression "(bVar8)" (( "(") (identifier "bVar8") () ")")) (compound_statement "{\n      return true;\n    }" ({ "{") (return_statement "return true;" (return "return") (true "true") (; ";")) (} "}"))) (expression_statement "iVar3 = 3;" (assignment_expression "iVar3 = 3" (identifier "iVar3") (= "=") (number_literal "3")) (; ";")) (expression_statement "pbVar4 = param_2;" (assignment_expression "pbVar4 = param_2" (identifier "pbVar4") (= "=") (identifier "param_2")) (; ";")) (expression_statement "pbVar6 = (byte *)0x5f92c;" (assignment_expression "pbVar6 = (byte *)0x5f92c" (identifier "pbVar6") (= "=") (cast_expression "(byte *)0x5f92c" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x5f92c"))) (; ";")) (do_statement "do {\n      if (iVar3 == 0) break;\n      iVar3 = iVar3 + -1;\n      bVar9 = *pbVar4 < *pbVar6;\n      bVar8 = *pbVar4 == *pbVar6;\n      pbVar4 = pbVar4 + 1;\n      pbVar6 = pbVar6 + 1;\n    } while (bVar8);" (do "do") (compound_statement "{\n      if (iVar3 == 0) break;\n      iVar3 = iVar3 + -1;\n      bVar9 = *pbVar4 < *pbVar6;\n      bVar8 = *pbVar4 == *pbVar6;\n      pbVar4 = pbVar4 + 1;\n      pbVar6 = pbVar6 + 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 = *pbVar4 < *pbVar6;" (assignment_expression "bVar9 = *pbVar4 < *pbVar6" (identifier "bVar9") (= "=") (binary_expression "*pbVar4 < *pbVar6" (pointer_expression "*pbVar4" (* "*") (identifier "pbVar4")) (< "<") (pointer_expression "*pbVar6" (* "*") (identifier "pbVar6")))) (; ";")) (expression_statement "bVar8 = *pbVar4 == *pbVar6;" (assignment_expression "bVar8 = *pbVar4 == *pbVar6" (identifier "bVar8") (= "=") (binary_expression "*pbVar4 == *pbVar6" (pointer_expression "*pbVar4" (* "*") (identifier "pbVar4")) (== "==") (pointer_expression "*pbVar6" (* "*") (identifier "pbVar6")))) (; ";")) (expression_statement "pbVar4 = pbVar4 + 1;" (assignment_expression "pbVar4 = pbVar4 + 1" (identifier "pbVar4") (= "=") (binary_expression "pbVar4 + 1" (identifier "pbVar4") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "pbVar6 = pbVar6 + 1;" (assignment_expression "pbVar6 = pbVar6 + 1" (identifier "pbVar6") (= "=") (binary_expression "pbVar6 + 1" (identifier "pbVar6") (+ "+") (number_literal "1"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(bVar8)" (( "(") (identifier "bVar8") () ")")) (; ";")) (expression_statement "bVar7 = false;" (assignment_expression "bVar7 = false" (identifier "bVar7") (= "=") (false "false")) (; ";")) (expression_statement "bVar9 = (!bVar9 && !bVar8) == bVar9;" (assignment_expression "bVar9 = (!bVar9 && !bVar8) == bVar9" (identifier "bVar9") (= "=") (binary_expression "(!bVar9 && !bVar8) == bVar9" (parenthesized_expression "(!bVar9 && !bVar8)" (( "(") (binary_expression "!bVar9 && !bVar8" (unary_expression "!bVar9" (! "!") (identifier "bVar9")) (&& "&&") (unary_expression "!bVar8" (! "!") (identifier "bVar8"))) () ")")) (== "==") (identifier "bVar9"))) (; ";")) (if_statement "if (bVar9) {\n      return true;\n    }" (if "if") (parenthesized_expression "(bVar9)" (( "(") (identifier "bVar9") () ")")) (compound_statement "{\n      return true;\n    }" ({ "{") (return_statement "return true;" (return "return") (true "true") (; ";")) (} "}"))) (expression_statement "iVar3 = 0xd;" (assignment_expression "iVar3 = 0xd" (identifier "iVar3") (= "=") (number_literal "0xd")) (; ";")) (expression_statement "pcVar5 = "close_fcalls";" (assignment_expression "pcVar5 = "close_fcalls"" (identifier "pcVar5") (= "=") (string_literal ""close_fcalls"" (" """) (string_content "close_fcalls") (" """))) (; ";")) (} "}")))) (do_statement "do {\n    if (iVar3 == 0) break;\n    iVar3 = iVar3 + -1;\n    bVar7 = *param_2 < (byte)*pcVar5;\n    bVar9 = *param_2 == *pcVar5;\n    param_2 = param_2 + 1;\n    pcVar5 = (char *)((byte *)pcVar5 + 1);\n  } while (bVar9);" (do "do") (compound_statement "{\n    if (iVar3 == 0) break;\n    iVar3 = iVar3 + -1;\n    bVar7 = *param_2 < (byte)*pcVar5;\n    bVar9 = *param_2 == *pcVar5;\n    param_2 = param_2 + 1;\n    pcVar5 = (char *)((byte *)pcVar5 + 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 "bVar7 = *param_2 < (byte)*pcVar5;" (assignment_expression "bVar7 = *param_2 < (byte)*pcVar5" (identifier "bVar7") (= "=") (binary_expression "*param_2 < (byte)*pcVar5" (pointer_expression "*param_2" (* "*") (identifier "param_2")) (< "<") (binary_expression "(byte)*pcVar5" (parenthesized_expression "(byte)" (( "(") (identifier "byte") () ")")) (* "*") (identifier "pcVar5")))) (; ";")) (expression_statement "bVar9 = *param_2 == *pcVar5;" (assignment_expression "bVar9 = *param_2 == *pcVar5" (identifier "bVar9") (= "=") (binary_expression "*param_2 == *pcVar5" (pointer_expression "*param_2" (* "*") (identifier "param_2")) (== "==") (pointer_expression "*pcVar5" (* "*") (identifier "pcVar5")))) (; ";")) (expression_statement "param_2 = param_2 + 1;" (assignment_expression "param_2 = param_2 + 1" (identifier "param_2") (= "=") (binary_expression "param_2 + 1" (identifier "param_2") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "pcVar5 = (char *)((byte *)pcVar5 + 1);" (assignment_expression "pcVar5 = (char *)((byte *)pcVar5 + 1)" (identifier "pcVar5") (= "=") (cast_expression "(char *)((byte *)pcVar5 + 1)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((byte *)pcVar5 + 1)" (( "(") (binary_expression "(byte *)pcVar5 + 1" (cast_expression "(byte *)pcVar5" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "pcVar5")) (+ "+") (number_literal "1")) () ")")))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(bVar9)" (( "(") (identifier "bVar9") () ")")) (; ";")) (return_statement "return (!bVar7 && !bVar9) == bVar7;" (return "return") (binary_expression "(!bVar7 && !bVar9) == bVar7" (parenthesized_expression "(!bVar7 && !bVar9)" (( "(") (binary_expression "!bVar7 && !bVar9" (unary_expression "!bVar7" (! "!") (identifier "bVar7")) (&& "&&") (unary_expression "!bVar9" (! "!") (identifier "bVar9"))) () ")")) (== "==") (identifier "bVar7")) (; ";")) (} "}")))

/* WARNING: Function: __x86.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */
/* WARNING: Type propagation algorithm not settling */
/* WARNING: Enum "anon_enum_32": Some values do not have unique names */

int function_1(int var_1,char *var_2)

{
  char var_10;
  int var_3;
  type_1 *var_4;
  char *var_9;
  type_1 *var_5;
  bool var_6;
  bool var_7;
  bool var_8;
  
  var_6 = (type_2)var_1 < 0x61;
  var_8 = var_1 == 0x61;
  if (var_8) {
    var_3 = 9;
    var_9 = "indirect=";
  }
  else {
    if (0x61 < var_1) {
      if (var_1 == 0x78) {
        var_6 = false;
        var_8 = var_2 == (char *)0x0;
        if (!var_8) {
          var_3 = 9;
          var_4 = (type_1 *)var_2;
          var_5 = (type_1 *)"explicit";
          do {
            if (var_3 == 0) break;
            var_3 = var_3 + -1;
            var_6 = *var_4 < *var_5;
            var_8 = *var_4 == *var_5;
            var_4 = var_4 + 1;
            var_5 = var_5 + 1;
          } while (var_8);
          var_7 = false;
          var_6 = (!var_6 && !var_8) == var_6;
          if (!var_6) {
            var_3 = 5;
            var_4 = (type_1 *)var_2;
            var_5 = &DAT_00063a4b;
            do {
              if (var_3 == 0) break;
              var_3 = var_3 + -1;
              var_7 = *var_4 < *var_5;
              var_6 = *var_4 == *var_5;
              var_4 = var_4 + 1;
              var_5 = var_5 + 1;
            } while (var_6);
            var_8 = false;
            var_6 = (!var_7 && !var_6) == var_7;
            if (var_6) {
              md._48_1_ = md._48_1_ & 0xef | 4;
              return 1;
            }
            var_3 = 5;
            var_4 = (type_1 *)var_2;
            var_5 = &DAT_0005a335;
            do {
              if (var_3 == 0) break;
              var_3 = var_3 + -1;
              var_8 = *var_4 < *var_5;
              var_6 = *var_4 == *var_5;
              var_4 = var_4 + 1;
              var_5 = var_5 + 1;
            } while (var_6);
            var_7 = false;
            var_6 = (!var_8 && !var_6) == var_8;
            if (var_6) {
              md._48_1_ = md._48_1_ & 0xfb;
              return 1;
            }
            var_3 = 6;
            var_9 = " debug";
            var_4 = (type_1 *)var_2;
            do {
              var_9 = (char *)((type_1 *)var_9 + 1);
              if (var_3 == 0) break;
              var_3 = var_3 + -1;
              var_7 = *var_4 < (type_1)*var_9;
              var_6 = *var_4 == *var_9;
              var_4 = var_4 + 1;
            } while (var_6);
            var_8 = false;
            var_6 = (!var_7 && !var_6) == var_7;
            if (var_6) {
              md._48_1_ = md._48_1_ | 6;
              return 1;
            }
            var_3 = 7;
            var_4 = (type_1 *)var_2;
            var_5 = (type_1 *)"debugx";
            do {
              if (var_3 == 0) break;
              var_3 = var_3 + -1;
              var_8 = *var_4 < *var_5;
              var_6 = *var_4 == *var_5;
              var_4 = var_4 + 1;
              var_5 = var_5 + 1;
            } while (var_6);
            var_7 = false;
            var_6 = (!var_8 && !var_6) == var_8;
            if (var_6) {
              md._48_1_ = md._48_1_ | 0x16;
              return 1;
            }
            var_3 = 7;
            var_4 = (type_1 *)var_2;
            var_5 = (type_1 *)"debugn";
            do {
              if (var_3 == 0) break;
              var_3 = var_3 + -1;
              var_7 = *var_4 < *var_5;
              var_6 = *var_4 == *var_5;
              var_4 = var_4 + 1;
              var_5 = var_5 + 1;
            } while (var_6);
            var_10 = (!var_7 && !var_6) - var_7;
            if (var_10 != '\0') {
              md._48_1_ = md._48_1_ | 4;
              var_9 = (char *)var_11(0,"Unrecognized option \'-x%s\'",5,var_10);
              var_12(var_9,var_2);
              return 1;
            }
            md._48_1_ = md._48_1_ & 0xf9 | 2;
            return 1;
          }
        }
        md._48_1_ = md._48_1_ | 0x14;
        return 1;
      }
      if (var_1 < 0x79) {
        var_6 = (type_2)var_1 < 0x6d;
        var_8 = var_1 == 0x6d;
        if (var_8) {
          var_3 = 6;
          var_4 = (type_1 *)var_2;
          var_5 = &DAT_000639e8;
          do {
            if (var_3 == 0) break;
            var_3 = var_3 + -1;
            var_6 = *var_4 < *var_5;
            var_8 = *var_4 == *var_5;
            var_4 = var_4 + 1;
            var_5 = var_5 + 1;
          } while (var_8);
          var_7 = false;
          var_6 = (!var_6 && !var_8) == var_6;
          if (!var_6) {
            var_3 = 5;
            var_4 = (type_1 *)var_2;
            var_5 = &DAT_000639e9;
            do {
              if (var_3 == 0) break;
              var_3 = var_3 + -1;
              var_7 = *var_4 < *var_5;
              var_6 = *var_4 == *var_5;
              var_4 = var_4 + 1;
              var_5 = var_5 + 1;
            } while (var_6);
            var_8 = false;
            var_6 = (!var_7 && !var_6) == var_7;
            if (!var_6) {
              var_3 = 4;
              var_4 = (type_1 *)var_2;
              var_5 = &DAT_000639ea;
              do {
                if (var_3 == 0) break;
                var_3 = var_3 + -1;
                var_8 = *var_4 < *var_5;
                var_6 = *var_4 == *var_5;
                var_4 = var_4 + 1;
                var_5 = var_5 + 1;
              } while (var_6);
              var_7 = false;
              var_6 = (!var_8 && !var_6) == var_8;
              if (!var_6) {
                var_3 = 6;
                var_4 = (type_1 *)var_2;
                var_5 = (type_1 *)"ilp32";
                do {
                  if (var_3 == 0) break;
                  var_3 = var_3 + -1;
                  var_7 = *var_4 < *var_5;
                  var_6 = *var_4 == *var_5;
                  var_4 = var_4 + 1;
                  var_5 = var_5 + 1;
                } while (var_6);
                var_8 = false;
                var_6 = (!var_7 && !var_6) == var_7;
                if (var_6) {
                  md.flags = md.flags & 0xffffffef;
                  return 1;
                }
                var_3 = 3;
                var_4 = (type_1 *)var_2;
                var_5 = (type_1 *)0x5a287;
                do {
                  if (var_3 == 0) break;
                  var_3 = var_3 + -1;
                  var_8 = *var_4 < *var_5;
                  var_6 = *var_4 == *var_5;
                  var_4 = var_4 + 1;
                  var_5 = var_5 + 1;
                } while (var_6);
                var_7 = false;
                var_6 = (!var_8 && !var_6) == var_8;
                if (var_6) {
                  md.flags = md.flags & 0xfffffff7;
                  default_big_endian = 0;
                  return 1;
                }
                var_3 = 3;
                var_4 = (type_1 *)var_2;
                var_5 = &DAT_00063a90;
                do {
                  if (var_3 == 0) break;
                  var_3 = var_3 + -1;
                  var_7 = *var_4 < *var_5;
                  var_6 = *var_4 == *var_5;
                  var_4 = var_4 + 1;
                  var_5 = var_5 + 1;
                } while (var_6);
                var_8 = false;
                var_6 = (!var_7 && !var_6) == var_7;
                if (var_6) {
                  md.flags = md.flags | 8;
                  default_big_endian = 1;
                  return 1;
                }
                var_3 = 0xd;
                var_4 = (type_1 *)var_2;
                var_5 = (type_1 *)"unwind-check=";
                do {
                  if (var_3 == 0) break;
                  var_3 = var_3 + -1;
                  var_8 = *var_4 < *var_5;
                  var_6 = *var_4 == *var_5;
                  var_4 = var_4 + 1;
                  var_5 = var_5 + 1;
                } while (var_6);
                if ((!var_8 && !var_6) == var_8) {
                  var_3 = var_13(var_2 + 0xd,"warning");
                  if (var_3 == 0) {
                    md.unwind_check = CMP_NONE;
                    return 1;
                  }
                  var_3 = var_13(var_2 + 0xd,"error");
                  if (var_3 == 0) {
                    md.unwind_check = CMP_OR;
                    return 1;
                  }
                  return 0;
                }
                var_3 = var_14(var_2,"hint.b=",7);
                if (var_3 != 0) {
                  var_3 = var_14(var_2,"tune=",5);
                  if (var_3 != 0) {
                    return 0;
                  }
                  var_3 = var_13(var_2 + 5,"itanium1");
                  if (var_3 != 0) {
                    var_3 = var_13(var_2 + 5,"itanium2");
                    if (var_3 == 0) {
                      md.tune = CMP_OR;
                      return 1;
                    }
                    return 0;
                  }
                  md.tune = CMP_NONE;
                  return 1;
                }
                var_9 = var_2 + 7;
                var_3 = var_13(var_9,"ok");
                if (var_3 == 0) {
                  md.hint_b = CMP_AND;
                  return 1;
                }
                var_3 = var_13(var_9,"warning");
                if (var_3 != 0) {
                  var_3 = var_13(var_9,"error");
                  if (var_3 == 0) {
                    md.hint_b = CMP_NONE;
                    return 1;
                  }
                  return 0;
                }
                md.hint_b = CMP_OR;
                return 1;
              }
            }
          }
          md.flags = md.flags | 0x10;
          return 1;
        }
      }
      else {
        if (var_1 == 0x123) {
          md.flags = md.flags | 0x40;
          return 1;
        }
        if (var_1 == 0x124) {
          md.flags = md.flags | 0x80;
          return 1;
        }
      }
      return 0;
    }
    var_6 = (type_2)var_1 < 0x4e;
    var_8 = var_1 == 0x4e;
    if (!var_8) {
      if (var_1 != 0x53) {
        return (type_2)(var_1 == 0x43);
      }
      return 1;
    }
    var_3 = 3;
    var_4 = (type_1 *)var_2;
    var_5 = &DAT_00063a25;
    do {
      if (var_3 == 0) break;
      var_3 = var_3 + -1;
      var_6 = *var_4 < *var_5;
      var_8 = *var_4 == *var_5;
      var_4 = var_4 + 1;
      var_5 = var_5 + 1;
    } while (var_8);
    var_7 = false;
    var_6 = (!var_6 && !var_8) == var_6;
    if (var_6) {
      return 1;
    }
    var_3 = 3;
    var_4 = (type_1 *)var_2;
    var_5 = &DAT_00063a28;
    do {
      if (var_3 == 0) break;
      var_3 = var_3 + -1;
      var_7 = *var_4 < *var_5;
      var_6 = *var_4 == *var_5;
      var_4 = var_4 + 1;
      var_5 = var_5 + 1;
    } while (var_6);
    var_8 = false;
    var_7 = (!var_7 && !var_6) == var_7;
    if (var_7) {
      return 1;
    }
    var_3 = 3;
    var_4 = (type_1 *)var_2;
    var_5 = (type_1 *)0x5f92c;
    do {
      if (var_3 == 0) break;
      var_3 = var_3 + -1;
      var_8 = *var_4 < *var_5;
      var_7 = *var_4 == *var_5;
      var_4 = var_4 + 1;
      var_5 = var_5 + 1;
    } while (var_7);
    var_6 = false;
    var_8 = (!var_8 && !var_7) == var_8;
    if (var_8) {
      return 1;
    }
    var_3 = 0xd;
    var_9 = "close_fcalls";
  }
  do {
    if (var_3 == 0) break;
    var_3 = var_3 + -1;
    var_6 = (type_1)*var_2 < (type_1)*var_9;
    var_8 = *var_2 == *var_9;
    var_2 = (char *)((type_1 *)var_2 + 1);
    var_9 = (char *)((type_1 *)var_9 + 1);
  } while (var_8);
  return (type_2)((!var_6 && !var_8) == var_6);
}


(translation_unit (function_definition type: (primitive_type) declarator: (function_declarator declarator: (identifier) parameters: (parameter_list (parameter_declaration type: (type_identifier) declarator: (identifier)) (parameter_declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))))) body: (compound_statement (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (primitive_type) 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: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (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)))) (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: (string_literal (string_content))))) alternative: (else_clause (compound_statement (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: (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 (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: (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: (identifier) right: (number_literal)) right: (number_literal)))) (return_statement (true)))) (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: (identifier) right: (number_literal)))) (return_statement (true)))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (string_literal (string_content)))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (do_statement body: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)) right: (number_literal)))))) (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: (binary_expression left: (parenthesized_expression (identifier)) right: (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))))) 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 (true)))) (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 (true)))) (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: (binary_expression left: (parenthesized_expression (binary_expression left: (unary_expression argument: (identifier)) right: (unary_expression argument: (identifier)))) right: (identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (char_literal (escape_sequence)))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (number_literal) (string_literal (string_content) (escape_sequence) (string_content) (escape_sequence)) (number_literal) (identifier))))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier) (identifier)))) (return_statement (true)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (number_literal)))) (return_statement (true)))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (return_statement (true)))) (if_statement condition: (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: (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: (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 (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: (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 (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: (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 (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: (binary_expression left: (identifier) right: (number_literal)))) (return_statement (true)))) (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: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (return_statement (true)))) (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: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (return_statement (true)))) (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: (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)))) (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 (true)))) (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)))) (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 (true)))) (return_statement (false)))) (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)) (number_literal))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (identifier)) (string_literal (string_content)) (number_literal))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (return_statement (false)))) (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)))) (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 (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))) (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 (true)))) (return_statement (false)))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (return_statement (true)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (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: (number_literal))) (return_statement (true)))) (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: (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: (number_literal))) (return_statement (true)))) (return_statement (false)))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (return_statement (true)))))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (return_statement (true))))) alternative: (else_clause (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (return_statement (true)))) (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 (true))))))) (return_statement (false)))) (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 (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (return_statement (binary_expression left: (identifier) right: (number_literal))))) (return_statement (true)))) (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 (return_statement (true)))) (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 (return_statement (true)))) (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 (return_statement (true)))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (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: (binary_expression left: (parenthesized_expression (identifier)) right: (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: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)) right: (number_literal))))))) condition: (parenthesized_expression (identifier))) (return_statement (binary_expression left: (parenthesized_expression (binary_expression left: (unary_expression argument: (identifier)) right: (unary_expression argument: (identifier)))) right: (identifier))))))

/* WARNING: Function: __i686.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */
/* WARNING: Type propagation algorithm not settling */

bool MASKED(uint param_1,byte *param_2)

{
  char cVar1;
  undefined4 uVar2;
  int iVar3;
  byte *pbVar4;
  char *pcVar5;
  byte *pbVar6;
  bool bVar7;
  bool bVar8;
  bool bVar9;
  
  bVar7 = param_1 < 0x61;
  bVar9 = param_1 == 0x61;
  if (bVar9) {
    iVar3 = 9;
    pcVar5 = "indirect=";
  }
  else {
    if (0x61 < (int)param_1) {
      if (param_1 == 0x78) {
        bVar7 = false;
        bVar9 = param_2 == (byte *)0x0;
        if (!bVar9) {
          iVar3 = 9;
          pbVar4 = param_2;
          pbVar6 = (byte *)"explicit";
          do {
            if (iVar3 == 0) break;
            iVar3 = iVar3 + -1;
            bVar7 = *pbVar4 < *pbVar6;
            bVar9 = *pbVar4 == *pbVar6;
            pbVar4 = pbVar4 + 1;
            pbVar6 = pbVar6 + 1;
          } while (bVar9);
          bVar8 = false;
          bVar7 = (!bVar7 && !bVar9) == bVar7;
          if (!bVar7) {
            iVar3 = 5;
            pbVar4 = param_2;
            pbVar6 = &DAT_00063a4b;
            do {
              if (iVar3 == 0) break;
              iVar3 = iVar3 + -1;
              bVar8 = *pbVar4 < *pbVar6;
              bVar7 = *pbVar4 == *pbVar6;
              pbVar4 = pbVar4 + 1;
              pbVar6 = pbVar6 + 1;
            } while (bVar7);
            bVar9 = false;
            bVar7 = (!bVar8 && !bVar7) == bVar8;
            if (bVar7) {
              DAT_00087970 = DAT_00087970 & 0xef | 4;
              return true;
            }
            iVar3 = 5;
            pbVar4 = param_2;
            pbVar6 = &DAT_0005a335;
            do {
              if (iVar3 == 0) break;
              iVar3 = iVar3 + -1;
              bVar9 = *pbVar4 < *pbVar6;
              bVar7 = *pbVar4 == *pbVar6;
              pbVar4 = pbVar4 + 1;
              pbVar6 = pbVar6 + 1;
            } while (bVar7);
            bVar8 = false;
            bVar7 = (!bVar9 && !bVar7) == bVar9;
            if (bVar7) {
              DAT_00087970 = DAT_00087970 & 0xfb;
              return true;
            }
            iVar3 = 6;
            pcVar5 = " debug";
            pbVar4 = param_2;
            do {
              pcVar5 = (char *)((byte *)pcVar5 + 1);
              if (iVar3 == 0) break;
              iVar3 = iVar3 + -1;
              bVar8 = *pbVar4 < (byte)*pcVar5;
              bVar7 = *pbVar4 == *pcVar5;
              pbVar4 = pbVar4 + 1;
            } while (bVar7);
            bVar9 = false;
            bVar7 = (!bVar8 && !bVar7) == bVar8;
            if (bVar7) {
              DAT_00087970 = DAT_00087970 | 6;
              return true;
            }
            iVar3 = 7;
            pbVar4 = param_2;
            pbVar6 = (byte *)"debugx";
            do {
              if (iVar3 == 0) break;
              iVar3 = iVar3 + -1;
              bVar9 = *pbVar4 < *pbVar6;
              bVar7 = *pbVar4 == *pbVar6;
              pbVar4 = pbVar4 + 1;
              pbVar6 = pbVar6 + 1;
            } while (bVar7);
            bVar8 = false;
            bVar7 = (!bVar9 && !bVar7) == bVar9;
            if (bVar7) {
              DAT_00087970 = DAT_00087970 | 0x16;
              return true;
            }
            iVar3 = 7;
            pbVar4 = param_2;
            pbVar6 = (byte *)"debugn";
            do {
              if (iVar3 == 0) break;
              iVar3 = iVar3 + -1;
              bVar8 = *pbVar4 < *pbVar6;
              bVar7 = *pbVar4 == *pbVar6;
              pbVar4 = pbVar4 + 1;
              pbVar6 = pbVar6 + 1;
            } while (bVar7);
            cVar1 = (!bVar8 && !bVar7) - bVar8;
            if (cVar1 != '\0') {
              DAT_00087970 = DAT_00087970 | 4;
              uVar2 = dcgettext(0,"Unrecognized option \'-x%s\'",5,cVar1);
              FUN_00029550(uVar2,param_2);
              return true;
            }
            DAT_00087970 = DAT_00087970 & 0xf9 | 2;
            return true;
          }
        }
        DAT_00087970 = DAT_00087970 | 0x14;
        return true;
      }
      if ((int)param_1 < 0x79) {
        bVar7 = param_1 < 0x6d;
        bVar9 = param_1 == 0x6d;
        if (bVar9) {
          iVar3 = 6;
          pbVar4 = param_2;
          pbVar6 = &DAT_000639e8;
          do {
            if (iVar3 == 0) break;
            iVar3 = iVar3 + -1;
            bVar7 = *pbVar4 < *pbVar6;
            bVar9 = *pbVar4 == *pbVar6;
            pbVar4 = pbVar4 + 1;
            pbVar6 = pbVar6 + 1;
          } while (bVar9);
          bVar8 = false;
          bVar7 = (!bVar7 && !bVar9) == bVar7;
          if (!bVar7) {
            iVar3 = 5;
            pbVar4 = param_2;
            pbVar6 = &DAT_000639e9;
            do {
              if (iVar3 == 0) break;
              iVar3 = iVar3 + -1;
              bVar8 = *pbVar4 < *pbVar6;
              bVar7 = *pbVar4 == *pbVar6;
              pbVar4 = pbVar4 + 1;
              pbVar6 = pbVar6 + 1;
            } while (bVar7);
            bVar9 = false;
            bVar7 = (!bVar8 && !bVar7) == bVar8;
            if (!bVar7) {
              iVar3 = 4;
              pbVar4 = param_2;
              pbVar6 = &DAT_000639ea;
              do {
                if (iVar3 == 0) break;
                iVar3 = iVar3 + -1;
                bVar9 = *pbVar4 < *pbVar6;
                bVar7 = *pbVar4 == *pbVar6;
                pbVar4 = pbVar4 + 1;
                pbVar6 = pbVar6 + 1;
              } while (bVar7);
              bVar8 = false;
              bVar7 = (!bVar9 && !bVar7) == bVar9;
              if (!bVar7) {
                iVar3 = 6;
                pbVar4 = param_2;
                pbVar6 = (byte *)"ilp32";
                do {
                  if (iVar3 == 0) break;
                  iVar3 = iVar3 + -1;
                  bVar8 = *pbVar4 < *pbVar6;
                  bVar7 = *pbVar4 == *pbVar6;
                  pbVar4 = pbVar4 + 1;
                  pbVar6 = pbVar6 + 1;
                } while (bVar7);
                bVar9 = false;
                bVar7 = (!bVar8 && !bVar7) == bVar8;
                if (bVar7) {
                  DAT_00087d90 = DAT_00087d90 & 0xffffffef;
                  return true;
                }
                iVar3 = 3;
                pbVar4 = param_2;
                pbVar6 = (byte *)0x5a287;
                do {
                  if (iVar3 == 0) break;
                  iVar3 = iVar3 + -1;
                  bVar9 = *pbVar4 < *pbVar6;
                  bVar7 = *pbVar4 == *pbVar6;
                  pbVar4 = pbVar4 + 1;
                  pbVar6 = pbVar6 + 1;
                } while (bVar7);
                bVar8 = false;
                bVar7 = (!bVar9 && !bVar7) == bVar9;
                if (bVar7) {
                  DAT_00087d90 = DAT_00087d90 & 0xfffffff7;
                  DAT_00087dfc = 0;
                  return true;
                }
                iVar3 = 3;
                pbVar4 = param_2;
                pbVar6 = &DAT_00063a90;
                do {
                  if (iVar3 == 0) break;
                  iVar3 = iVar3 + -1;
                  bVar8 = *pbVar4 < *pbVar6;
                  bVar7 = *pbVar4 == *pbVar6;
                  pbVar4 = pbVar4 + 1;
                  pbVar6 = pbVar6 + 1;
                } while (bVar7);
                bVar9 = false;
                bVar7 = (!bVar8 && !bVar7) == bVar8;
                if (bVar7) {
                  DAT_00087d90 = DAT_00087d90 | 8;
                  DAT_00087dfc = 1;
                  return true;
                }
                iVar3 = 0xd;
                pbVar4 = param_2;
                pbVar6 = (byte *)"unwind-check=";
                do {
                  if (iVar3 == 0) break;
                  iVar3 = iVar3 + -1;
                  bVar9 = *pbVar4 < *pbVar6;
                  bVar7 = *pbVar4 == *pbVar6;
                  pbVar4 = pbVar4 + 1;
                  pbVar6 = pbVar6 + 1;
                } while (bVar7);
                if ((!bVar9 && !bVar7) == bVar9) {
                  iVar3 = strcmp((char *)(param_2 + 0xd),"warning");
                  if (iVar3 == 0) {
                    DAT_00087974 = 0;
                    return true;
                  }
                  iVar3 = strcmp((char *)(param_2 + 0xd),"error");
                  if (iVar3 == 0) {
                    DAT_00087974 = 1;
                    return true;
                  }
                  return false;
                }
                iVar3 = strncmp((char *)param_2,"hint.b=",7);
                if (iVar3 != 0) {
                  iVar3 = strncmp((char *)param_2,"tune=",5);
                  if (iVar3 != 0) {
                    return false;
                  }
                  iVar3 = strcmp((char *)(param_2 + 5),"itanium1");
                  if (iVar3 != 0) {
                    iVar3 = strcmp((char *)(param_2 + 5),"itanium2");
                    if (iVar3 == 0) {
                      DAT_00087968 = 1;
                      return true;
                    }
                    return false;
                  }
                  DAT_00087968 = 0;
                  return true;
                }
                param_2 = param_2 + 7;
                iVar3 = strcmp((char *)param_2,"ok");
                if (iVar3 == 0) {
                  DAT_0008796c = 2;
                  return true;
                }
                iVar3 = strcmp((char *)param_2,"warning");
                if (iVar3 != 0) {
                  iVar3 = strcmp((char *)param_2,"error");
                  if (iVar3 == 0) {
                    DAT_0008796c = 0;
                    return true;
                  }
                  return false;
                }
                DAT_0008796c = 1;
                return true;
              }
            }
          }
          DAT_00087d90 = DAT_00087d90 | 0x10;
          return true;
        }
      }
      else {
        if (param_1 == 0x123) {
          DAT_00087d90 = DAT_00087d90 | 0x40;
          return true;
        }
        if (param_1 == 0x124) {
          DAT_00087d90 = DAT_00087d90 | 0x80;
          return true;
        }
      }
      return false;
    }
    bVar7 = param_1 < 0x4e;
    bVar9 = param_1 == 0x4e;
    if (!bVar9) {
      if (param_1 != 0x53) {
        return param_1 == 0x43;
      }
      return true;
    }
    iVar3 = 3;
    pbVar4 = param_2;
    pbVar6 = &DAT_00063a25;
    do {
      if (iVar3 == 0) break;
      iVar3 = iVar3 + -1;
      bVar7 = *pbVar4 < *pbVar6;
      bVar9 = *pbVar4 == *pbVar6;
      pbVar4 = pbVar4 + 1;
      pbVar6 = pbVar6 + 1;
    } while (bVar9);
    bVar8 = false;
    bVar7 = (!bVar7 && !bVar9) == bVar7;
    if (bVar7) {
      return true;
    }
    iVar3 = 3;
    pbVar4 = param_2;
    pbVar6 = &DAT_00063a28;
    do {
      if (iVar3 == 0) break;
      iVar3 = iVar3 + -1;
      bVar8 = *pbVar4 < *pbVar6;
      bVar7 = *pbVar4 == *pbVar6;
      pbVar4 = pbVar4 + 1;
      pbVar6 = pbVar6 + 1;
    } while (bVar7);
    bVar9 = false;
    bVar8 = (!bVar8 && !bVar7) == bVar8;
    if (bVar8) {
      return true;
    }
    iVar3 = 3;
    pbVar4 = param_2;
    pbVar6 = (byte *)0x5f92c;
    do {
      if (iVar3 == 0) break;
      iVar3 = iVar3 + -1;
      bVar9 = *pbVar4 < *pbVar6;
      bVar8 = *pbVar4 == *pbVar6;
      pbVar4 = pbVar4 + 1;
      pbVar6 = pbVar6 + 1;
    } while (bVar8);
    bVar7 = false;
    bVar9 = (!bVar9 && !bVar8) == bVar9;
    if (bVar9) {
      return true;
    }
    iVar3 = 0xd;
    pcVar5 = "close_fcalls";
  }
  do {
    if (iVar3 == 0) break;
    iVar3 = iVar3 + -1;
    bVar7 = *param_2 < (byte)*pcVar5;
    bVar9 = *param_2 == *pcVar5;
    param_2 = param_2 + 1;
    pcVar5 = (char *)((byte *)pcVar5 + 1);
  } while (bVar9);
  return (!bVar7 && !bVar9) == bVar7;
}

