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

int main(int argc,char **argv)

{
  byte bVar1;
  char cVar2;
  __dev_t *p_Var3;
  ushort uVar4;
  undefined *puVar5;
  undefined *puVar6;
  char **ppcVar7;
  char cVar8;
  _Bool _Var9;
  uint uVar10;
  stat64 *psVar11;
  stat64 *psVar12;
  int iVar13;
  stat64 *psVar14;
  char *pcVar15;
  char *pcVar16;
  int iVar17;
  char *pcVar18;
  uint8_t *up;
  undefined4 uVar19;
  stat64 *psVar20;
  int *piVar21;
  undefined *puVar22;
  int iVar23;
  stat64 *extraout_ECX;
  stat64 *extraout_ECX_00;
  stat64 *extraout_ECX_01;
  undefined4 extraout_ECX_02;
  undefined4 uVar24;
  stat64 *extraout_ECX_03;
  stat64 *extraout_ECX_04;
  stat64 *extraout_ECX_05;
  stat64 *extraout_ECX_06;
  char **extraout_EDX;
  char **ppcVar25;
  stat64 *psVar26;
  stat64 *psVar27;
  stat64 *extraout_EDX_00;
  undefined4 extraout_EDX_01;
  stat64 *extraout_EDX_02;
  stat64 *extraout_EDX_03;
  stat64 *extraout_EDX_04;
  undefined4 extraout_EDX_05;
  undefined4 extraout_EDX_06;
  uint uVar28;
  stat64 *psVar29;
  opts_t *poVar30;
  uint *puVar31;
  stat64 **ppsVar32;
  undefined1 *puVar33;
  uint32_t uVar34;
  int in_GS_OFFSET;
  bool bVar35;
  bool bVar36;
  byte bVar37;
  undefined8 uVar38;
  longlong lVar39;
  __off64_t _Var40;
  stat64 *psVar41;
  stat64 **ppsVar42;
  uint32_t uVar43;
  void **ppvVar44;
  uint32_t uVar45;
  uint uVar46;
  uint *puVar47;
  undefined1 *puVar48;
  stat64 *psVar49;
  char local_93f;
  stat64 *local_93c;
  stat64 *local_930;
  stat64 *local_924;
  stat64 *local_920;
  stat64 *local_91c;
  stat64 *local_918;
  stat64 *local_908;
  uint16_t local_8f8;
  uint16_t local_8f6;
  stat64 *local_8f4;
  void *local_8f0;
  stat64 *local_8ec;
  void *local_8e8;
  void *local_8e4;
  undefined1 local_8e0 [48];
  int local_8b0;
  undefined1 local_880 [96];
  undefined1 local_820 [112];
  stat64 *local_7b0;
  int local_7ac;
  int local_7a8;
  stat64 *local_7a4;
  stat64 *local_7a0;
  char *local_79c;
  char *local_798;
  stat64 *local_794;
  undefined1 local_790 [24];
  stat64 *local_778 [128];
  uint local_578;
  uint local_574;
  undefined1 local_174 [96];
  uint local_114;
  uint local_110;
  uint local_10c;
  uint local_104;
  uint local_100;
  uint local_fc;
  uint local_f8;
  ushort local_f4;
  ushort local_f2;
  uint local_24;
  int *local_18;
  
  ppcVar7 = argv;
  iVar17 = argc;
  puVar22 = PTR_optarg_0001dffc;
  bVar37 = 0;
  local_18 = &argc;
  local_24 = *(uint *)(in_GS_OFFSET + 0x14);
  local_8f8 = 0;
  local_8f4 = (stat64 *)0x0;
  local_8f0 = (void *)0x0;
  local_918 = (stat64 *)0x0;
  local_91c = (stat64 *)0x0;
  poVar30 = (opts_t *)local_820;
  for (iVar23 = 0x2a; iVar23 != 0; iVar23 = iVar23 + -1) {
    poVar30->do_16 = false;
    poVar30->do_32 = false;
    poVar30->do_anchor = false;
    poVar30->do_atomic = false;
    poVar30 = (opts_t *)&poVar30->do_combined;
  }
  local_930 = (stat64 *)local_8e0;
  local_820._36_4_ = -1;
  psVar41 = local_930;
  for (iVar23 = 0x18; iVar23 != 0; iVar23 = iVar23 + -1) {
    *(undefined4 *)&psVar41->st_dev = 0;
    psVar41 = (stat64 *)((int)&psVar41->st_dev + 4);
  }
  psVar41 = (stat64 *)local_880;
  local_820._96_4_ = 0xffffffff;
  psVar20 = psVar41;
  for (iVar23 = 0x18; iVar23 != 0; iVar23 = iVar23 + -1) {
    *(undefined4 *)&psVar20->st_dev = 0;
    psVar20 = (stat64 *)((int)&psVar20->st_dev + 4);
  }
  cVar2 = ' ';
  local_820._58_2_ = 0xffff;
  local_820._68_2_ = 0xffff;
  local_820._44_4_ = 0x78;
  bVar1 = 0;
  local_924 = (stat64 *)PTR_optarg_0001dffc;
  psVar20 = (stat64 *)local_820._80_4_;
  uVar34 = local_820._92_4_;
  uVar10 = local_820._96_4_;
LAB_000114e8:
  local_820._96_4_ = uVar10;
  local_820._92_4_ = uVar34;
  local_820._80_4_ = psVar20;
  local_8e4 = (void *)0x0;
  uVar38 = getopt_long(iVar17,ppcVar7,"36a:A:b:B:c:dD:Efg:G:hi:I:l:M:n:No:Oq:Qr:RsS:t:T:u:vVw:x",
                       long_options,&local_8e4);
  puVar6 = PTR_optarg_0001dffc;
  puVar5 = PTR_optind_0001dfe4;
  if ((int)uVar38 == -1) {
    iVar23 = *(int *)PTR_optind_0001dfe4;
    local_920 = (stat64 *)0xffffffff;
    if (iVar23 < iVar17) {
      ppcVar25 = (char **)((ulonglong)uVar38 >> 0x20);
      if (local_7a0 != (stat64 *)0x0) goto LAB_00011c60;
      local_7a0 = (stat64 *)ppcVar7[iVar23];
      *(int *)PTR_optind_0001dfe4 = iVar23 + 1;
      ppcVar25 = ppcVar7;
      if (iVar23 + 1 < iVar17) goto LAB_00011c60;
    }
    if ((bool)(bVar1 & local_820._40_4_ != 0)) goto LAB_00011a7a;
    if (0 < (int)local_820._32_4_) {
      usage(local_820._32_4_);
      local_908 = (stat64 *)0x0;
      goto LAB_00011a84;
    }
    if ((_Bool)local_820[0x11] == false) {
LAB_00011c9f:
      if ((_Bool)local_820[0x12] != false) {
        pr2serr("sg_write_x version: %s\n","1.19 20180628",puVar5,puVar5);
        local_908 = (stat64 *)0x270f;
        goto LAB_00011a84;
      }
    }
    else if ((_Bool)local_820[0x12] != false) {
      pr2serr("Not in DEBUG mode, so \'-vV\' has no special action\n");
      goto LAB_00011c9f;
    }
    uVar19 = local_820._48_4_;
    psVar20 = (stat64 *)uVar19;
    if ((_Bool)local_820[0] == false) {
      if ((_Bool)local_820[1] == false) {
        psVar20 = (stat64 *)((int)&((stat64 *)(local_820._48_4_ + -0x60))->st_ino + 7);
        local_820[0] = true;
        if (psVar20 != (stat64 *)0x0 && 0 < (int)local_820._48_4_) {
          pr2serr("Since neither --16 nor --32 given, choose --16\n");
        }
      }
    }
    else if (((_Bool)local_820[1] != false) && (local_820[0] = false, 1 < (int)local_820._48_4_)) {
      pr2serr("Since both --16 and --32 given, choose --32\n");
    }
    uVar10 = (uint)local_820[3] + (uint)local_820[0xc] + (uint)local_820[5] + (uint)local_820[8] +
             (uint)local_820[9] + (uint)local_820[10];
    if (1 < uVar10) {
      pr2serr(
             "Can only select one command; so only one of --atomic, --normal, --or,\n--same=, --scattered= or --stream=\n"
             );
      local_908 = (stat64 *)0x1f;
      goto LAB_00011a84;
    }
    if (uVar10 == 0) {
      if (local_820._40_4_ != 0) {
        pr2serr("With --strict won\'t default to a normal WRITE, add --normal\n");
        local_908 = (stat64 *)0x1f;
        goto LAB_00011a84;
      }
      local_794 = (stat64 *)0x17164;
      local_820[0xc] = true;
      if ((stat64 *)uVar19 != (stat64 *)0x0) {
        pr2serr("No command selected so choose \'normal\' WRITE\n");
      }
    }
    psVar11 = (stat64 *)((-(uint)((_Bool)local_820[0] == false) & 0x10) + 0x10);
    psVar26 = local_794;
    __snprintf_chk(local_790,0x18,1,0x18,"%s(%d)",local_794,psVar11,psVar20);
    if ((_Bool)local_820[4] == false) {
      if (local_798 != (char *)0x0) {
        local_93f = local_918 != (stat64 *)0x0;
        bVar35 = local_91c != (stat64 *)0x0 || local_918 != (stat64 *)0x0;
        bVar36 = local_91c != (stat64 *)0x0;
        if (local_91c == (stat64 *)0x0 && local_918 == (stat64 *)0x0) {
          iVar17 = -1;
          pcVar18 = local_798;
          goto code_r0x00011d5c;
        }
        pr2serr(
               "want one and only one of: (--lba=LBA and/or --num=NUM), or\n--scat-file=SF, or --combined=DOF\n"
               );
        local_908 = (stat64 *)0x1f;
        goto LAB_00011a84;
      }
      if ((_Bool)local_820[7] == false) {
        local_93f = local_918 != (stat64 *)0x0;
        bVar35 = local_91c != (stat64 *)0x0 || local_918 != (stat64 *)0x0;
        bVar36 = local_91c != (stat64 *)0x0;
        goto LAB_00011d67;
      }
      pr2serr(
             "--scat-raw only applies to the --scat-file=SF option\n--scat-raw without the --scat-file=SF option is an error\n"
             );
      local_908 = (stat64 *)0x1f;
      goto LAB_00011a84;
    }
    if ((_Bool)local_820[9] == false) {
      pr2serr(
             "--combined=DOF only allowed with --scattered=RD (i.e. only with\nWRITE SCATTERED command)\n"
             );
      local_908 = (stat64 *)0x1f;
      goto LAB_00011a84;
    }
    if (local_798 != (char *)0x0) {
      pr2serr("Ambiguous: got --combined=DOF and --scat-file=SF .\nGive one, the other or neither\n"
             );
      local_908 = (stat64 *)0x1f;
      goto LAB_00011a84;
    }
    if (local_91c == (stat64 *)0x0 && local_918 == (stat64 *)0x0) {
      local_93f = local_820[7];
      bVar35 = false;
      bVar36 = false;
      if ((_Bool)local_820[7] == false) goto LAB_00011d67;
      pr2serr("Ambiguous: don\'t expect --combined=DOF and --scat-raw\nGive one or the other\n");
      local_908 = (stat64 *)0x1f;
    }
    else {
      pr2serr("--scattered=RD --combined=DOF does not use --lba= or --num=\nPlease remove.\n");
      local_908 = (stat64 *)0x1f;
    }
    goto LAB_00011a84;
  }
  local_920 = local_924;
  psVar20 = (stat64 *)local_820._80_4_;
  uVar34 = local_820._92_4_;
  uVar10 = local_820._96_4_;
  switch((int)uVar38) {
  case 0x33:
    local_820[1] = true;
    goto LAB_000114e8;
  default:
    pcVar18 = "unrecognised option code 0x%x ??\n";
    break;
  case 0x36:
    local_820[0] = true;
    goto LAB_000114e8;
  case 0x3f:
    pcVar18 = "\n";
    break;
  case 0x41:
    uVar10 = sg_get_num(*(undefined4 *)PTR_optarg_0001dffc);
    if (0xffff < uVar10) {
      pr2serr("bad argument to \'--atomic=\'. Expect 0 to 0xffff inclusive\n");
      goto LAB_00011a7a;
    }
    local_820._60_2_ = (undefined2)uVar10;
    local_820[3] = true;
    local_794 = (stat64 *)0x17112;
    psVar20 = (stat64 *)local_820._80_4_;
    uVar34 = local_820._92_4_;
    uVar10 = local_820._96_4_;
    goto LAB_000114e8;
  case 0x42:
    uVar28 = sg_get_num(*(undefined4 *)PTR_optarg_0001dffc);
    if (7 < uVar28) {
      pr2serr("bad first argument to \'--bmop=\'\n");
      goto LAB_00011a7a;
    }
    local_820[0x38] = (uint8_t)uVar28;
    uVar19 = 0x2c;
    uVar46 = uVar28;
    pcVar18 = strchr(*(char **)puVar6,0x2c);
    psVar20 = (stat64 *)local_820._80_4_;
    uVar34 = local_820._92_4_;
    uVar10 = local_820._96_4_;
    if (pcVar18 != (char *)0x0) {
      uVar10 = sg_get_num(pcVar18 + 1,uVar19,uVar28,uVar46);
      if (0xf < uVar10) {
        pr2serr("bad second argument to \'--bmop=\'\n");
        goto LAB_00011a7a;
      }
      local_820[0x39] = (uint8_t)uVar10;
      psVar20 = (stat64 *)local_820._80_4_;
      uVar34 = local_820._92_4_;
      uVar10 = local_820._96_4_;
    }
    goto LAB_000114e8;
  case 0x44:
    local_820._20_4_ = sg_get_num(*(undefined4 *)PTR_optarg_0001dffc);
    psVar20 = (stat64 *)local_820._80_4_;
    uVar34 = local_820._92_4_;
    uVar10 = local_820._96_4_;
    if (7 < (uint)local_820._20_4_) {
      pr2serr("bad argument to \'--dld=\', expect 0 to 7 inclusive\n");
      goto LAB_00011a7a;
    }
    goto LAB_000114e8;
  case 0x47:
    uVar38 = sg_get_llnum(*(undefined4 *)PTR_optarg_0001dffc);
    uVar43 = (uint32_t)uVar38;
    if ((int)((ulonglong)uVar38 >> 0x20) != 0) {
      pr2serr("bad first argument to \'--generation=\'\n");
      goto LAB_00011a7a;
    }
    uVar19 = 0x2c;
    uVar45 = uVar43;
    local_820._88_4_ = uVar43;
    pcVar18 = strchr(*(char **)puVar6,0x2c);
    if (pcVar18 == (char *)0x0) {
      pr2serr("need two arguments with --generation=EOG,NOG and they must be comma separated\n",
              uVar19,uVar43,uVar45);
      goto LAB_00011a7a;
    }
    uVar38 = sg_get_llnum(pcVar18 + 1);
    psVar20 = (stat64 *)local_820._80_4_;
    uVar34 = (uint32_t)uVar38;
    uVar10 = local_820._96_4_;
    if ((int)((ulonglong)uVar38 >> 0x20) != 0) {
      pr2serr("bad second argument to \'--generation=\'\n",uVar19,uVar43,uVar45);
      goto LAB_00011a7a;
    }
    goto LAB_000114e8;
  case 0x49:
    local_820._44_4_ = sg_get_num(*(undefined4 *)PTR_optarg_0001dffc);
    psVar20 = (stat64 *)local_820._80_4_;
    uVar34 = local_820._92_4_;
    uVar10 = local_820._96_4_;
    if ((int)local_820._44_4_ < 0) {
      pr2serr("bad argument to \'--timeout=\'\n");
      goto LAB_00011a7a;
    }
    goto LAB_000114e8;
  case 0x4d:
    uVar10 = sg_get_num(*(undefined4 *)PTR_optarg_0001dffc);
    if (1 < uVar10) {
      pr2serr("bad argument to \'--same\', expect 0 or 1\n");
      goto LAB_00011a7a;
    }
    local_820[0x10] = (byte)uVar10 & 1;
    local_820[8] = true;
    local_794 = (stat64 *)0x17159;
    psVar20 = (stat64 *)local_820._80_4_;
    uVar34 = local_820._92_4_;
    uVar10 = local_820._96_4_;
    goto LAB_000114e8;
  case 0x4e:
    local_820[0xc] = true;
    local_794 = (stat64 *)0x17164;
    goto LAB_000114e8;
  case 0x4f:
    local_820[5] = true;
    local_794 = (stat64 *)0x1716a;
    goto LAB_000114e8;
  case 0x51:
    local_820[6] = true;
    goto LAB_000114e8;
  case 0x52:
    local_820[7] = true;
    goto LAB_000114e8;
  case 0x53:
    uVar10 = sg_get_num(*(undefined4 *)PTR_optarg_0001dffc);
    if (0xffff < uVar10) {
      pr2serr("bad argument to \'--scattered=\'. Expect 0 to 0xffff inclusive\n");
      goto LAB_00011a7a;
    }
    local_820._64_2_ = (undefined2)uVar10;
    local_794 = (stat64 *)0x17172;
    local_820[9] = true;
    psVar20 = (stat64 *)local_820._80_4_;
    uVar34 = local_820._92_4_;
    uVar10 = local_820._96_4_;
    goto LAB_000114e8;
  case 0x54:
    uVar10 = sg_get_num(*(undefined4 *)PTR_optarg_0001dffc);
    if (0xffff < uVar10) {
      pr2serr("bad argument to \'--stream=\', expect 0 to 65535\n");
      goto LAB_00011a7a;
    }
    local_820._66_2_ = (undefined2)uVar10;
    local_794 = (stat64 *)0x17182;
    local_820[10] = true;
    psVar20 = (stat64 *)local_820._80_4_;
    uVar34 = local_820._92_4_;
    uVar10 = local_820._96_4_;
    goto LAB_000114e8;
  case 0x56:
    local_820[0x12] = true;
    goto LAB_000114e8;
  case 0x61:
    uVar10 = sg_get_num(*(undefined4 *)PTR_optarg_0001dffc);
    if (0xffff < uVar10) {
      pr2serr("bad argument to \'--app-tag=\'. Expect 0 to 0xffff inclusive\n");
      goto LAB_00011a7a;
    }
    local_820._58_2_ = (undefined2)uVar10;
    psVar20 = (stat64 *)local_820._80_4_;
    uVar34 = local_820._92_4_;
    uVar10 = local_820._96_4_;
    goto LAB_000114e8;
  case 0x62:
    psVar26 = (stat64 *)sg_get_num(*(undefined4 *)PTR_optarg_0001dffc);
    if ((stat64 *)0x10000000 < psVar26) {
      pr2serr("bad argument to \'--bs=\'. Expect 0 or greater\n");
      goto LAB_00011a7a;
    }
    if (psVar26 == (stat64 *)0x0) {
      local_820._72_4_ = (stat64 *)0x0;
      local_820._76_4_ = (stat64 *)0x0;
      psVar20 = (stat64 *)local_820._80_4_;
      uVar34 = local_820._92_4_;
      uVar10 = local_820._96_4_;
    }
    else {
      if ((int)psVar26 < 0x200) {
        pr2serr("warning: --bs=BS value is < 512 which seems too small, continue\n");
        bVar1 = 1;
      }
      if (((uint)psVar26 & 7) != 0) {
        pr2serr("warning: --bs=BS value is not a multiple of 8, unexpected, continue\n");
        bVar1 = 1;
      }
      iVar23 = 0;
      iVar13 = 0;
      psVar20 = psVar26;
      do {
        if (((uint)psVar20 & 1) != 0) {
          iVar23 = iVar13;
        }
        iVar13 = iVar13 + 1;
        psVar20 = (stat64 *)((int)psVar20 >> 1);
      } while (iVar13 != 0x1c);
      psVar11 = (stat64 *)(1 << ((byte)iVar23 & 0x1f));
      local_820._72_4_ = psVar26;
      local_820._76_4_ = psVar26;
      psVar20 = (stat64 *)local_820._80_4_;
      uVar34 = local_820._92_4_;
      uVar10 = local_820._96_4_;
      if (psVar26 != psVar11) {
        local_820._72_4_ = psVar11;
      }
    }
    goto LAB_000114e8;
  case 99:
    iVar23 = sg_get_num(*(undefined4 *)PTR_optarg_0001dffc);
    if (iVar23 < 0) {
      pr2serr("bad argument to \'--combined=\'. Expect 0 to 0x7fffffff\n");
      goto LAB_00011a7a;
    }
    local_820._62_2_ = (undefined2)iVar23;
    local_820[4] = true;
    psVar20 = (stat64 *)local_820._80_4_;
    uVar34 = local_820._92_4_;
    uVar10 = local_820._96_4_;
    goto LAB_000114e8;
  case 100:
    local_820[0xe] = true;
    goto LAB_000114e8;
  case 0x66:
    local_820[0xf] = true;
    goto LAB_000114e8;
  case 0x67:
    local_820._28_4_ = sg_get_num(*(undefined4 *)PTR_optarg_0001dffc);
    psVar20 = (stat64 *)local_820._80_4_;
    uVar34 = local_820._92_4_;
    uVar10 = local_820._96_4_;
    if (0x3f < (uint)local_820._28_4_) {
      pr2serr("bad argument to \'--grpnum\'\n");
      goto LAB_00011a7a;
    }
    goto LAB_000114e8;
  case 0x68:
    local_820._32_4_ = local_820._32_4_ + 1;
    goto LAB_000114e8;
  case 0x69:
    local_79c = *(char **)PTR_optarg_0001dffc;
    goto LAB_000114e8;
  case 0x6c:
    if (local_91c != (stat64 *)0x0) {
      pr2serr("only expect \'--lba=\' option once\n");
      goto LAB_00011a7a;
    }
    local_91c = *(stat64 **)PTR_optarg_0001dffc;
    goto LAB_000114e8;
  case 0x6e:
    if (local_918 != (stat64 *)0x0) {
      pr2serr("only expect \'--num=\' option once\n");
      goto LAB_00011a7a;
    }
    local_918 = *(stat64 **)PTR_optarg_0001dffc;
    goto LAB_000114e8;
  case 0x6f:
    lVar39 = sg_get_llnum(*(undefined4 *)PTR_optarg_0001dffc);
    psVar26 = (stat64 *)lVar39;
    if (lVar39 == -1) {
      pr2serr("bad first argument to \'--offset=\'\n");
      goto LAB_00011a7a;
    }
    uVar19 = 0x2c;
    psVar11 = psVar26;
    local_820._108_4_ = psVar26;
    local_7b0 = (stat64 *)((ulonglong)lVar39 >> 0x20);
    pcVar18 = strchr(*(char **)puVar6,0x2c);
    psVar20 = (stat64 *)local_820._80_4_;
    uVar34 = local_820._92_4_;
    uVar10 = local_820._96_4_;
    if (pcVar18 != (char *)0x0) {
      lVar39 = sg_get_llnum(pcVar18 + 1,uVar19,psVar26,psVar11);
      psVar20 = (stat64 *)lVar39;
      uVar34 = local_820._92_4_;
      uVar10 = local_820._96_4_;
      if ((int)((ulonglong)lVar39 >> 0x20) == -1) {
        if (psVar20 == (stat64 *)0xffffffff) {
          pr2serr("bad second argument to \'--offset=\'\n");
          goto LAB_00011a7a;
        }
      }
      else if (0xffffffff < lVar39) {
        pr2serr("bad second argument to \'--offset=\', cannot exceed 32 bits\n");
        goto LAB_00011a7a;
      }
    }
    goto LAB_000114e8;
  case 0x71:
    local_798 = *(char **)PTR_optarg_0001dffc;
    goto LAB_000114e8;
  case 0x72:
    goto _L476;
  case 0x73:
    local_820._40_4_ = local_820._40_4_ + 1;
    goto LAB_000114e8;
  case 0x74:
    uVar10 = sg_get_num(*(undefined4 *)PTR_optarg_0001dffc);
    if (0xffff < uVar10) {
      pr2serr("bad argument to \'--tag-mask=\'. Expect 0 to 0xffff inclusive\n");
      goto LAB_00011a7a;
    }
    local_820._68_2_ = (undefined2)uVar10;
    psVar20 = (stat64 *)local_820._80_4_;
    uVar34 = local_820._92_4_;
    uVar10 = local_820._96_4_;
    goto LAB_000114e8;
  case 0x75:
    uVar10 = sg_get_num(*(undefined4 *)puVar22);
    if (3 < uVar10) {
      pr2serr("bad argument to \'--unmap=\', expect 0 to 3\n");
      goto LAB_00011a7a;
    }
    local_820[2] = (byte)(uVar10 >> 1) & 1;
    local_820[0xb] = (byte)uVar10 & 1;
    psVar20 = (stat64 *)local_820._80_4_;
    uVar34 = local_820._92_4_;
    uVar10 = local_820._96_4_;
    goto LAB_000114e8;
  case 0x76:
    local_820[0x11] = true;
    local_820._48_4_ = (int)(__dev_t *)local_820._48_4_ + 1;
    goto LAB_000114e8;
  case 0x77:
    local_820._52_4_ = sg_get_num(*(undefined4 *)puVar22);
    if ((stat64 *)0x7 < (uint)local_820._52_4_) {
      pr2serr("bad argument to \'--wrprotect\'\n");
      goto LAB_00011a7a;
    }
    local_820[0xd] = 0 < (int)local_820._52_4_;
    psVar20 = (stat64 *)local_820._80_4_;
    uVar34 = local_820._92_4_;
    uVar10 = local_820._96_4_;
    goto LAB_000114e8;
  case 0x78:
    local_820._24_4_ = local_820._24_4_ + 1;
    goto LAB_000114e8;
  }
  pr2serr(pcVar18);
  iVar17 = 0;
  if (-1 < (int)local_820._32_4_) {
    iVar17 = local_820._32_4_;
  }
  usage(iVar17);
  goto LAB_00011a7a;
LAB_00011c60:
  while (*(int *)puVar5 < iVar17) {
    pr2serr("Unexpected extra argument: %s\n",ppcVar7[*(int *)puVar5],ppcVar25,ppcVar25);
    *(int *)puVar5 = *(int *)puVar5 + 1;
    ppcVar25 = extraout_EDX;
  }
  iVar17 = 0;
  if (-1 < (int)local_820._32_4_) {
    iVar17 = local_820._32_4_;
  }
  usage(iVar17);
  local_908 = (stat64 *)0x1;
  goto LAB_00011a84;
  while( true ) {
    iVar17 = iVar17 + -1;
    cVar8 = *pcVar18;
    pcVar18 = pcVar18 + (uint)bVar37 * -2 + 1;
    if (cVar8 == '\0') break;
code_r0x00011d5c:
    if (iVar17 == 0) break;
  }
  if ((iVar17 == -3) && (*local_798 == '-')) {
    pr2serr("don\'t accept \'-\' (implying stdin) as a filename in --scat-file=SF\n");
    local_908 = (stat64 *)0x1f;
    goto LAB_00011a84;
  }
LAB_00011d67:
  if ((((stat64 *)uVar19 != (stat64 *)0x0) && ((_Bool)local_820[0] != false)) &&
     ((local_820._96_4_ != 0xffffffff || ((local_820._58_2_ & local_820._68_2_) != 0xffff)))) {
    pr2serr("--app-tag=, --ref-tag= and --tag-mask= options ignored with 16 byte commands\n");
  }
  uVar24 = local_820._80_4_;
  psVar12 = (stat64 *)(uint)local_820[0x10];
  if ((_Bool)local_820[0x10] == false) {
    local_93c = (stat64 *)local_820._80_4_;
    cVar2 = '\0';
    if (local_79c == (char *)0x0) {
      pr2serr("Need --if=FN option to be given, exiting.\n");
      if (1 < (int)uVar19) {
        pr2serr("To write zeros use --in=/dev/zero\n");
      }
      pr2serr("\n");
      iVar17 = 0;
      if (-1 < (int)local_820._32_4_) {
        iVar17 = local_820._32_4_;
      }
      usage(iVar17);
      local_908 = (stat64 *)0x1;
      goto LAB_00011a84;
    }
    iVar17 = -1;
    pcVar18 = local_79c;
    do {
      if (iVar17 == 0) break;
      iVar17 = iVar17 + -1;
      cVar8 = *pcVar18;
      pcVar18 = pcVar18 + (uint)bVar37 * -2 + 1;
    } while (cVar8 != '\0');
    if ((iVar17 != -3) || (*local_79c != '-')) {
      local_924 = (stat64 *)open64(local_79c,0,iVar17,iVar17);
      if ((int)local_924 < 0) {
        piVar21 = __errno_location();
        iVar17 = *piVar21;
        pcVar18 = "could not open %s for reading";
      }
      else {
        psVar20 = (stat64 *)sg_set_binary_mode(local_924);
        if ((int)psVar20 < 0) goto LAB_00011dea;
        psVar26 = local_924;
        psVar11 = local_930;
        iVar17 = __fxstat64(3,(int)local_924,local_930);
        if (-1 < iVar17) {
          if ((local_8e0._16_4_ & 0xf000) == 0x8000) {
            local_93c = (stat64 *)local_8e0._44_4_;
            if ((stat64 *)uVar24 != (stat64 *)0x0) {
              local_93c = (stat64 *)uVar24;
            }
            if ((local_8b0 != 0 || (stat64 *)local_8e0._44_4_ != (stat64 *)0x0) &&
               (psVar29 = (stat64 *)((int)&((stat64 *)(local_8e0._44_4_ + -0x60))->st_ino + 7),
               iVar23 = local_8b0 + -1 + (uint)((stat64 *)local_8e0._44_4_ != (stat64 *)0x0),
               iVar17 = (int)local_7b0 - iVar23,
               (SBORROW4((int)local_7b0,iVar23) !=
               SBORROW4(iVar17,(uint)((uint)local_820._108_4_ < psVar29))) ==
               (int)(iVar17 - (uint)((uint)local_820._108_4_ < psVar29)) < 0)) {
              pr2serr("Offset (%llu) is at or beyond IF byte length (%llu)\n",local_820._108_4_,
                      local_7b0,local_8e0._44_4_,local_8b0,psVar26,psVar11,psVar20);
              local_908 = (stat64 *)0xf;
              goto LAB_00012527;
            }
            psVar12 = (stat64 *)local_820._108_4_;
            psVar49 = (stat64 *)local_8e0._44_4_;
            iVar17 = local_8b0;
            if (local_7b0 != (stat64 *)0x0 || (stat64 *)local_820._108_4_ != (stat64 *)0x0) {
              psVar20 = (stat64 *)0x0;
              psVar26 = (stat64 *)local_820._108_4_;
              psVar11 = local_7b0;
              _Var40 = lseek64((int)local_924,CONCAT44(local_7b0,local_820._108_4_),0);
              psVar29 = (stat64 *)local_820._108_4_;
              if (_Var40 < 0) {
                piVar21 = __errno_location();
                psVar29 = (stat64 *)(local_174 + 0x50);
                iVar17 = *piVar21;
                __snprintf_chk(psVar29,0x100,1,0x100,"couldn\'t offset to required position on %s",
                               local_79c,piVar21,piVar21);
                perror((char *)psVar29);
                local_908 = (stat64 *)sg_convert_errno(iVar17);
                goto LAB_00012527;
              }
              psVar12 = (stat64 *)((int)psVar49 - local_820._108_4_);
              iVar17 = (local_8b0 - (int)local_7b0) - (uint)(psVar49 < (uint)local_820._108_4_);
              local_930 = psVar49;
              if ((int)(uint)(psVar12 != (stat64 *)0x0) <= -iVar17) {
                pr2serr("--offset [0x%llx] at or beyond file length[0x%llx]\n",local_820._108_4_,
                        local_7b0,psVar49,local_8b0);
                local_908 = (stat64 *)0xf;
                goto LAB_00012527;
              }
              if ((local_820._40_4_ != 0) &&
                 (local_930 = (stat64 *)local_820._80_4_,
                 iVar17 < (int)(uint)(psVar12 < (uint)local_820._80_4_))) {
                pr2serr("after accounting for OFF, DLEN exceeds %s remaining length (%u bytes)\n",
                        local_79c,psVar12,psVar12);
                local_908 = (stat64 *)0xf;
                psVar29 = psVar12;
                goto LAB_00012527;
              }
              if (iVar17 < (int)(uint)(psVar12 < local_93c)) {
                local_93c = psVar12;
              }
              psVar49 = psVar12;
              if (2 < (int)uVar19) {
                psVar26 = (stat64 *)local_820._108_4_;
                psVar11 = local_93c;
                psVar20 = psVar12;
                psVar12 = (stat64 *)
                          pr2serr("Moved IF byte pointer to %u, if_len=%u, if_readable_len=%u\n",
                                  local_820._108_4_,local_93c,psVar12);
              }
            }
            goto LAB_00011fa8;
          }
          goto LAB_00011e6c;
        }
        piVar21 = __errno_location();
        iVar17 = *piVar21;
        pcVar18 = "could not fstat %s";
      }
      __snprintf_chk(local_174 + 0x50,0x100,1,0x100,pcVar18,local_79c,piVar21,piVar21);
      perror(local_174 + 0x50);
      local_908 = (stat64 *)sg_convert_errno(iVar17);
      goto LAB_00011a84;
    }
    iVar17 = sg_set_binary_mode(0);
    cVar2 = '\x01';
    local_924 = (stat64 *)0x0;
    if (iVar17 < 0) {
LAB_00011dea:
      perror("sg_set_binary_mode");
      local_908 = (stat64 *)0xf;
      goto LAB_00011a84;
    }
LAB_00011e6c:
    if (((stat64 *)((uint)local_7b0 | local_820._108_4_) == (stat64 *)0x0) ||
       ((stat64 *)uVar19 == (stat64 *)0x0)) {
      psVar12 = (stat64 *)((uint)local_7b0 | local_820._108_4_);
      psVar49 = (stat64 *)0x0;
      iVar17 = 0;
    }
    else {
      psVar12 = (stat64 *)
                pr2serr(
                       "--offset=OFF ignored when IF is stdin, pipe, socket, etc\nDLEN, if given, is used\n"
                       );
      psVar49 = (stat64 *)0x0;
      iVar17 = 0;
    }
  }
  else {
    local_924 = (stat64 *)0xffffffff;
    cVar2 = '\0';
    psVar49 = (stat64 *)0x0;
    iVar17 = 0;
    local_93c = (stat64 *)0x0;
  }
LAB_00011fa8:
  if (local_7a0 == (stat64 *)0x0) {
    pr2serr("missing device name!\n",psVar26,psVar11,psVar20);
    iVar17 = 0;
    if (-1 < (int)local_820._32_4_) {
      iVar17 = local_820._32_4_;
    }
    usage(iVar17);
    local_908 = (stat64 *)0x1;
    psVar29 = (stat64 *)0x0;
LAB_00012527:
    if (local_8f0 == (void *)0x0) goto LAB_000123a1;
    free(local_8f0);
    goto LAB_000123a1;
  }
  pcVar18 = (char *)0x0;
  psVar20 = (stat64 *)uVar19;
  uVar38 = sg_cmds_open_device(local_7a0,0,uVar19,psVar12);
  psVar29 = (stat64 *)local_820._72_4_;
  psVar26 = (stat64 *)((ulonglong)uVar38 >> 0x20);
  local_930 = (stat64 *)uVar38;
  if ((int)local_930 < 0) {
    psVar29 = (stat64 *)-(int)local_930;
    if ((stat64 *)local_820._48_4_ != (stat64 *)0x0) {
      uVar19 = safe_strerror(psVar29);
      pr2serr("open error: %s: %s\n",local_7a0,uVar19);
    }
    local_908 = (stat64 *)sg_convert_errno(psVar29);
    goto LAB_00012527;
  }
  psVar11 = (stat64 *)local_820._76_4_;
  psVar14 = (stat64 *)local_820._76_4_;
  if ((stat64 *)local_820._72_4_ == (stat64 *)0x0) {
    psVar20 = (stat64 *)0x0;
    if ((stat64 *)local_820._48_4_ != (stat64 *)0x0) {
      psVar20 = (stat64 *)((int)&((stat64 *)(local_820._48_4_ + -0x60))->st_ino + 7);
    }
    psVar26 = (stat64 *)local_174;
    psVar14 = (stat64 *)0x1;
    pcVar18 = (char *)0x20;
    psVar12 = psVar20;
    psVar11 = (stat64 *)local_820._48_4_;
    uVar38 = sg_ll_readcap_16(local_930,0,0,0,psVar26,0x20,1,psVar20,psVar26,local_820._48_4_,
                              psVar49,iVar17);
    if ((int)uVar38 == 6) {
      pr2serr("Read capacity(16) unit attention, try again\n");
      uVar38 = sg_ll_readcap_16(local_930,0,0,0,psVar26,0x20,1,psVar20);
    }
    psVar27 = (stat64 *)((ulonglong)uVar38 >> 0x20);
    local_908 = (stat64 *)uVar38;
    if (local_908 == (stat64 *)0x0) {
      psVar20 = psVar14;
      if (3 < (int)psVar11) {
        pr2serr("Read capacity(16) response:\n");
        psVar20 = (stat64 *)0x1;
        pcVar18 = (char *)0x20;
        hex2stderr(psVar26,0x20,1);
      }
      bVar1 = local_174[0xc];
      psVar14 = (stat64 *)
                ((uint)local_174._8_4_ >> 0x18 | (local_174._8_4_ & 0xff0000) >> 8 |
                 (local_174._8_4_ & 0xff00) << 8 | local_174._8_4_ << 0x18);
      uVar10 = (uint)local_174._4_4_ >> 0x18 | (local_174._4_4_ & 0xff0000) >> 8 |
               (local_174._4_4_ & 0xff00) << 8 | local_174._4_4_ << 0x18;
      local_7ac = uVar10 + 1;
      local_7a8 = ((uint)local_174._0_4_ >> 0x18 | (local_174._0_4_ & 0xff0000) >> 8 |
                   (local_174._0_4_ & 0xff00) << 8 | local_174._0_4_ << 0x18) +
                  (uint)(0xfffffffe < uVar10);
      psVar26 = (stat64 *)(uint)local_174[0xc];
      local_820._72_4_ = psVar14;
      if ((local_174[0xc] & 1) == 0) {
        local_820._36_4_ = 0;
        if ((int)local_820._52_4_ < 1) goto LAB_00012305;
        if (psVar11 != (stat64 *)0x0) {
          pcVar18 = (char *)local_820._52_4_;
          psVar26 = local_7a0;
          pr2serr("--wrprotect (%d) expects PI but %s says it has none\n",local_820._52_4_,local_7a0
                  ,psVar14);
          if (local_820._40_4_ != 0) goto LAB_00012ef5;
          pcVar16 = "  ... continue but could be dangerous\n";
          psVar29 = (stat64 *)0x0;
          psVar12 = psVar14;
          goto LAB_00013516;
        }
        if (local_820._40_4_ != 0) goto LAB_00012ef5;
      }
      else {
        local_820._36_4_ = (local_174[0xc] >> 1 & 7) + 1;
        psVar29 = (stat64 *)(8 << (local_174[0xd] >> 4));
        psVar26 = (stat64 *)(uint)(local_174[0xd] >> 4);
        if (((int)local_820._52_4_ < 1) ||
           (local_820._76_4_ = (int)&psVar29->st_dev + (int)&psVar14->st_dev, (int)psVar11 < 2)) {
LAB_00012305:
          if (psVar11 == (stat64 *)0x0) goto LAB_00012312;
        }
        else {
          pcVar16 = 
          "  For data out buffer purposes the effective block size is %u (lb size\n  is %u) because PROT_EN=1, PI_EXP=%u and WRPROTECT>0\n"
          ;
          pcVar18 = (char *)psVar14;
          psVar12 = (stat64 *)local_820._76_4_;
LAB_00013516:
          pr2serr(pcVar16,pcVar18,psVar26,psVar12);
          psVar20 = psVar26;
        }
        pr2serr("Read capacity(16) response fields:\n",pcVar18,psVar20,psVar12);
        psVar29 = (stat64 *)((int)(__dev_t *)local_820._72_4_ + (int)&psVar29->st_dev);
        psVar12 = extraout_ECX_05;
        pr2serr("  Last_LBA=0x%llx  LB size: %u (with PI: %u) bytes  p_type=%u\n",local_7ac + -1,
                local_7a8 + -1 + (uint)(local_7ac != 0),local_820._72_4_,psVar29,
                local_174[0xc] >> 1 & 7,extraout_ECX_05,extraout_ECX_05);
        pr2serr("  prot_en=%u [PI type=%u] p_i_exp=%u  lbppb_exp=%u  lbpme,rz=%u,",bVar1 & 1,
                local_820._36_4_,local_174[0xd] >> 4,local_174[0xd] & 0xf,
                (uint)(int)(char)local_174[0xe] >> 0x1f);
        psVar20 = (stat64 *)
                  ((ushort)(local_174._14_2_ << 8 | (ushort)local_174._14_2_ >> 8) & 0x3fff);
        pcVar18 = (char *)(local_174[0xe] >> 6 & 1);
        pr2serr("%u  low_ali_lba=%u\n",pcVar18,psVar20);
        psVar26 = extraout_EDX_04;
      }
    }
    else {
      if (((int)local_908 - 5U & 0xfffffffb) != 0) {
        if (psVar11 != (stat64 *)0x0) {
          puVar48 = local_174 + 0x50;
          psVar29 = (stat64 *)"OS error";
          puVar33 = puVar48;
          for (iVar17 = 9; iVar17 != 0; iVar17 = iVar17 + -1) {
            *puVar33 = (char)psVar29->st_dev;
            psVar29 = (stat64 *)((int)psVar29 + (uint)bVar37 * -2 + 1);
            puVar33 = puVar33 + (uint)bVar37 * -2 + 1;
          }
          psVar41 = local_908;
          if (0 < (int)local_908) {
            psVar41 = (stat64 *)sg_get_category_sense_str(local_908,0x50,puVar48,psVar11);
          }
          pr2serr("Read capacity(16): %s\n",puVar48,psVar41,psVar41);
          pr2serr("Unable to calculate block size\n");
        }
        if (0 < (int)local_908) goto LAB_00012354;
        goto LAB_00012ef5;
      }
      if (psVar11 == (stat64 *)0x0) {
        pcVar18 = (char *)0x1;
        uVar38 = sg_ll_readcap_10(local_930,0,0,psVar26,8,1,psVar20,psVar27);
        psVar26 = (stat64 *)((ulonglong)uVar38 >> 0x20);
        local_908 = (stat64 *)uVar38;
        psVar12 = psVar27;
        if (local_908 != (stat64 *)0x0) {
LAB_00013444:
          puVar48 = local_174 + 0x50;
          psVar29 = (stat64 *)"OS error";
          puVar33 = puVar48;
          for (iVar17 = 9; iVar17 != 0; iVar17 = iVar17 + -1) {
            *puVar33 = (char)psVar29->st_dev;
            psVar29 = (stat64 *)((int)psVar29 + (uint)bVar37 * -2 + 1);
            puVar33 = puVar33 + (uint)bVar37 * -2 + 1;
          }
          if (0 < (int)local_908) {
            sg_get_category_sense_str(local_908,0x50,puVar48,psVar11);
            pr2serr("Read capacity(10): %s\n",puVar48);
            pr2serr("Unable to calculate block size\n");
            goto LAB_00012354;
          }
          __snprintf_chk(puVar48,0x50,1,0x50,"error: %d",local_908,local_908,local_908);
          pr2serr("Read capacity(10): %s\n",puVar48);
          pr2serr("Unable to calculate block size\n");
          local_908 = (stat64 *)0xf;
          goto LAB_00012354;
        }
      }
      else {
        psVar29 = psVar26;
        pr2serr("Read capacity(16) not supported, try Read capacity(10)\n");
        pcVar18 = (char *)0x1;
        uVar38 = sg_ll_readcap_10(local_930,0,0,psVar29,8,1,psVar20);
        psVar26 = (stat64 *)((ulonglong)uVar38 >> 0x20);
        local_908 = (stat64 *)uVar38;
        if (local_908 != (stat64 *)0x0) goto LAB_00013444;
        if (3 < (int)psVar11) {
          pr2serr("Read capacity(10) response:\n");
          psVar20 = (stat64 *)0x1;
          pcVar18 = (char *)0x8;
          hex2stderr(psVar29,8,1);
          psVar26 = extraout_EDX_03;
        }
      }
      local_7a8 = 0;
      local_7ac = ((uint)local_174._0_4_ >> 0x18 | (local_174._0_4_ & 0xff0000) >> 8 |
                   (local_174._0_4_ & 0xff00) << 8 | local_174._0_4_ << 0x18) + 1;
      local_820._72_4_ =
           (uint)local_174._4_4_ >> 0x18 | (local_174._4_4_ & 0xff0000) >> 8 |
           (local_174._4_4_ & 0xff00) << 8 | local_174._4_4_ << 0x18;
    }
LAB_00012312:
    local_820._76_4_ = local_820._72_4_;
    if ((_Bool)local_820[0xd] != false) {
      local_820._76_4_ = local_820._72_4_ + 8;
    }
    psVar11 = (stat64 *)local_820._76_4_;
    psVar14 = (stat64 *)local_820._72_4_;
    if ((stat64 *)local_820._76_4_ == (stat64 *)0x0) goto LAB_00012338;
  }
  local_820._76_4_ = psVar11;
  if (psVar14 == (stat64 *)0x0) {
LAB_00012338:
    pr2serr("Logic error, need block size by now\n",pcVar18,psVar20);
    local_908 = (stat64 *)0x1;
    goto LAB_00012354;
  }
  if ((local_820[0x10] == 0) &&
     (psVar26 = (stat64 *)((uint)local_93c % (uint)psVar11), psVar26 != (stat64 *)0x0)) {
    if (1 < (int)local_820._40_4_) {
      pr2serr("Error: number of bytes to read from IF [%u] is not a multiple\nblock size %u (including protection information)\n"
              ,local_93c,psVar11,local_820._40_4_);
      local_908 = (stat64 *)0xf;
      goto LAB_00012354;
    }
    psVar14 = (stat64 *)(local_820._40_4_ | uVar19);
    if (psVar14 != (stat64 *)0x0) {
      pcVar18 = (char *)local_93c;
      pr2serr("Warning: number of bytes to read from IF [%u] is not a multiple\nof actual block size %u; pad with zeros\n"
              ,local_93c,psVar11,psVar14);
      psVar26 = extraout_EDX_02;
      psVar20 = psVar11;
      psVar12 = psVar14;
    }
  }
  puVar47 = &local_578;
  puVar31 = puVar47;
  for (iVar17 = 0x100; iVar17 != 0; iVar17 = iVar17 + -1) {
    *puVar31 = 0;
    puVar31 = puVar31 + (uint)bVar37 * -2 + 1;
  }
  ppsVar42 = local_778;
  ppsVar32 = ppsVar42;
  for (iVar17 = 0x80; iVar17 != 0; iVar17 = iVar17 + -1) {
    *ppsVar32 = (stat64 *)0x0;
    ppsVar32 = ppsVar32 + (uint)bVar37 * -2 + 1;
  }
  if (bVar36) {
    uVar10 = 0xffffffff;
    psVar26 = local_91c;
    do {
      if (uVar10 == 0) break;
      uVar10 = uVar10 - 1;
      p_Var3 = &psVar26->st_dev;
      psVar26 = (stat64 *)((int)psVar26 + (uint)bVar37 * -2 + 1);
    } while ((char)*p_Var3 != '\0');
    psVar29 = (stat64 *)(~uVar10 - 1);
    if ((char)local_91c->st_dev == '-') {
      pr2serr("\'--lba\' cannot be read from stdin\n",pcVar18,psVar20,psVar12);
      goto LAB_00012130;
    }
    pcVar18 = "0123456789aAbBcCdDeEfFhHxXiIkKmMgGtTpP, ";
    psVar20 = local_91c;
    psVar12 = local_91c;
    psVar11 = (stat64 *)strspn((char *)local_91c,"0123456789aAbBcCdDeEfFhHxXiIkKmMgGtTpP, ");
    psVar26 = psVar29;
    if (psVar29 == psVar11) {
      psVar26 = (stat64 *)0x0;
      psVar29 = local_91c;
      while( true ) {
        lVar39 = sg_get_llnum(psVar29,pcVar18,psVar20,psVar12);
        psVar20 = (stat64 *)lVar39;
        if (lVar39 == -1) break;
        puVar47[(int)psVar26 * 2] = (uint)psVar20;
        puVar47[(int)psVar26 * 2 + 1] = (uint)((ulonglong)lVar39 >> 0x20);
        psVar12 = psVar20;
        pcVar15 = strchr((char *)psVar29,0x2c);
        pcVar18 = (char *)0x20;
        pcVar16 = strchr((char *)psVar29,0x20);
        if (pcVar15 == (char *)0x0) {
          if (pcVar16 == (char *)0x0) {
            local_91c = (stat64 *)((int)&psVar26->st_dev + 1);
            if (local_93f != '\0') goto LAB_000126fa;
            psVar26 = (stat64 *)0x0;
            psVar20 = extraout_ECX;
            if (local_91c != (stat64 *)0x1) goto LAB_00012a73;
            goto LAB_00012820;
          }
        }
        else if ((pcVar16 == (char *)0x0) || (pcVar15 <= pcVar16)) {
          pcVar16 = pcVar15;
        }
        psVar26 = (stat64 *)((int)&psVar26->st_dev + 1);
        psVar29 = (stat64 *)(pcVar16 + 1);
        if (psVar26 == (stat64 *)0x80) goto LAB_00013b9f;
      }
      psVar11 = (stat64 *)((int)psVar29 - (int)local_91c);
    }
    pr2serr("build_lba_arr: error at pos %d\n",(undefined1 *)((int)&psVar11->st_dev + 1),psVar26,
            psVar26);
    goto LAB_00012130;
  }
  local_91c = (stat64 *)0x0;
  if (bVar35) {
LAB_000126fa:
    psVar11 = (stat64 *)0xffffffff;
    psVar26 = local_918;
    do {
      if (psVar11 == (stat64 *)0x0) break;
      psVar11 = (stat64 *)((int)&psVar11[-1].st_ino + 7);
      p_Var3 = &psVar26->st_dev;
      psVar26 = (stat64 *)((int)psVar26 + (uint)bVar37 * -2 + 1);
    } while ((char)*p_Var3 != '\0');
    psVar29 = (stat64 *)(~(uint)psVar11 - 1);
    if ((char)local_918->st_dev == '-') {
      pr2serr("\'--len\' cannot be read from stdin\n");
    }
    else {
      pcVar18 = "0123456789aAbBcCdDeEfFhHxXiIkKmMgGtTpP, ";
      psVar20 = psVar11;
      psVar26 = (stat64 *)strspn((char *)local_918,"0123456789aAbBcCdDeEfFhHxXiIkKmMgGtTpP, ");
      psVar12 = extraout_EDX_00;
      if (psVar29 == psVar26) {
        psVar12 = (stat64 *)0x0;
        psVar29 = local_918;
        do {
          lVar39 = sg_get_llnum(psVar29,pcVar18,psVar11,psVar20);
          psVar11 = (stat64 *)lVar39;
          if ((int)((ulonglong)lVar39 >> 0x20) == -1) {
            if (psVar11 == (stat64 *)0xffffffff) {
              psVar26 = (stat64 *)((int)psVar29 - (int)local_918);
              goto LAB_000127bf;
            }
          }
          else if (0xffffffff < lVar39) {
            psVar20 = (stat64 *)((int)psVar29 + (1 - (int)local_918));
            pcVar18 = "build_num_arr";
            pr2serr("%s: number exceeds 32 bits at pos %d\n","build_num_arr",psVar20,psVar12);
            goto LAB_000127d9;
          }
          ppsVar42[(int)psVar12] = psVar11;
          psVar20 = psVar11;
          pcVar15 = strchr((char *)psVar29,0x2c);
          pcVar18 = (char *)0x20;
          pcVar16 = strchr((char *)psVar29,0x20);
          if (pcVar15 == (char *)0x0) {
            if (pcVar16 == (char *)0x0) {
              puVar48 = (undefined1 *)((int)&psVar12->st_dev + 1);
              psVar26 = (stat64 *)0x0;
              psVar20 = extraout_ECX_00;
              if ((undefined1 *)0x1 < local_91c) {
                if ((stat64 *)puVar48 == local_91c) goto LAB_00012820;
                goto LAB_00012a73;
              }
              if (local_91c == (stat64 *)0x0) {
                if (puVar48 != (undefined1 *)0x1) {
LAB_00012a73:
                  pr2serr("need same number of arguments to \'--lba=\' and \'--num=\' options\n");
                  local_908 = (stat64 *)0x1f;
                  goto LAB_00012354;
                }
                local_91c = (stat64 *)(undefined1 *)0x1;
                if (local_778[0] != (stat64 *)0x0) {
                  pr2serr("won\'t write %u blocks without an explicit --lba= option\n",local_778[0],
                          extraout_ECX_00,extraout_ECX_00);
                  local_908 = (stat64 *)0x1;
                  goto LAB_00012354;
                }
              }
              else {
                local_91c = (stat64 *)(undefined1 *)0x1;
              }
              goto LAB_00012820;
            }
          }
          else if ((pcVar16 == (char *)0x0) || (pcVar15 <= pcVar16)) {
            pcVar16 = pcVar15;
          }
          psVar12 = (stat64 *)((int)&psVar12->st_dev + 1);
          psVar29 = (stat64 *)(pcVar16 + 1);
        } while (psVar12 != (stat64 *)0x80);
        pcVar18 = "build_num_arr";
        psVar20 = extraout_ECX_00;
        psVar12 = extraout_ECX_00;
        pr2serr("%s: array length exceeded\n","build_num_arr",extraout_ECX_00,extraout_ECX_00);
      }
      else {
LAB_000127bf:
        psVar20 = (stat64 *)((int)&psVar26->st_dev + 1);
        pcVar18 = "build_num_arr";
        pr2serr("%s: error at pos %d\n","build_num_arr",psVar20,psVar12);
      }
    }
LAB_000127d9:
    pr2serr("bad argument to \'--num\'\n",pcVar18,psVar20,psVar12);
    local_908 = (stat64 *)0x0;
    goto LAB_00012354;
  }
  psVar20 = (stat64 *)0x0;
  local_91c = (stat64 *)(undefined1 *)0x0;
LAB_00012820:
  if (local_798 == (char *)0x0) {
LAB_00012ce5:
    local_908 = (stat64 *)0x0;
    local_880._44_4_ = psVar29;
  }
  else {
    pcVar18 = local_798;
    iVar17 = __xstat64(3,local_798,psVar41);
    if (iVar17 < 0) {
      piVar21 = __errno_location();
      psVar29 = (stat64 *)*piVar21;
      uVar19 = safe_strerror(psVar29);
      pcVar18 = "Unable to stat(%s) as SF: %s\n";
LAB_000136f9:
      pr2serr(pcVar18,local_798,uVar19);
      local_908 = (stat64 *)sg_convert_errno(psVar29);
      goto LAB_00012354;
    }
    if ((_Bool)local_820[7] == false) {
      uVar34 = 0;
      if (local_820._64_2_ != 0) {
        uVar34 = ((ushort)local_820._64_2_ + 1) * 0x20;
      }
      local_908 = (stat64 *)
                  build_t10_scat(local_798,(_Bool)local_820[0],(_Bool)(local_820[9] ^ 1),
                                 (uint8_t *)0x0,&local_8f8,(uint32_t *)&local_8f4,uVar34);
      if (local_908 != (stat64 *)0x0) goto LAB_00012354;
      psVar20 = extraout_ECX_03;
      if ((local_820._64_2_ != 0) && (local_820._64_2_ != local_8f8)) {
        if (local_8f8 < (ushort)local_820._64_2_) {
          pr2serr("RD (%u) %s number of %ss (%u) found in SF\n",local_820._64_2_,&DAT_000170dd,
                  "LBA range descriptor",local_8f8);
          local_908 = (stat64 *)0xf;
          goto LAB_00012354;
        }
        psVar29 = (stat64 *)(uVar19 | local_820._40_4_);
        if ((psVar29 != (stat64 *)0x0) &&
           (pr2serr("RD (%u) %s number of %ss (%u) found in SF\n",local_820._64_2_,&DAT_00017110,
                    "LBA range descriptor",local_8f8), psVar20 = extraout_ECX_01,
           local_820._40_4_ != 0)) goto LAB_00012ef5;
      }
      goto LAB_00012ce5;
    }
    if ((local_880._16_4_ & 0xf000) != 0x8000) {
      pr2serr("Expect scatter file to be a regular file\n",pcVar18,psVar41,psVar26);
      local_908 = (stat64 *)0xf;
      goto LAB_00012354;
    }
    local_908 = (stat64 *)local_880._44_4_;
    local_920 = (stat64 *)open64(local_798,0,0x8000,0x8000);
    if ((int)local_920 < 0) {
      piVar21 = __errno_location();
      psVar29 = (stat64 *)*piVar21;
      uVar19 = safe_strerror(psVar29);
      pcVar18 = "Failed to open %s for raw read: %s\n";
      goto LAB_000136f9;
    }
    iVar17 = sg_set_binary_mode(local_920);
    psVar20 = extraout_ECX_04;
    if (iVar17 < 0) {
      perror("sg_set_binary_mode");
      local_908 = (stat64 *)0xf;
      psVar29 = (stat64 *)local_880._44_4_;
      goto LAB_00012354;
    }
  }
  uVar24 = local_820._48_4_;
  psVar29 = local_8f4;
  if ((_Bool)local_820[9] == false) {
    if (local_91c == (stat64 *)0x0) {
      psVar29 = (stat64 *)local_880._44_4_;
      if (local_798 == (char *)0x0) {
        if ((_Bool)local_820[7] == false) {
          pr2serr("No LBA or number_of_blocks given, try using --lba= and --num=\n");
          local_908 = (stat64 *)0x1;
          goto LAB_00012354;
        }
      }
      else if ((_Bool)local_820[7] == false) {
        local_8f4 = (stat64 *)0x0;
        local_908 = (stat64 *)
                    build_t10_scat(local_798,(_Bool)local_820[0],true,local_174 + 0x50,&local_8f8,
                                   (uint32_t *)&local_8f4,0x60);
        if (local_908 != (stat64 *)0x0) goto LAB_00012354;
        if ((stat64 *)uVar19 != (stat64 *)0x0) {
          uVar10 = (uint)local_8f8;
          if (1 < local_8f8) {
            uVar10 = pr2serr("warning: %d LBA,number_of_blocks pairs found, only taking first\n",
                             uVar10,extraout_EDX_05,extraout_EDX_05);
          }
          if (2 < (int)uVar19) {
            pr2serr("after build_t10_scat, num_lbard=%u, sum_num=%u\n",local_8f8,local_8f4,uVar10);
          }
        }
        if (local_8f8 != 1) {
          pr2serr("Unable to decode one LBA range descriptor from %s\n",local_798,0,0);
          local_908 = (stat64 *)0xf;
          goto LAB_00012354;
        }
        local_820._104_4_ =
             local_104 >> 0x18 | (local_104 & 0xff0000) >> 8 | (local_104 & 0xff00) << 8 |
             local_104 << 0x18;
        local_820._100_4_ =
             local_100 >> 0x18 | (local_100 & 0xff0000) >> 8 | (local_100 & 0xff00) << 8 |
             local_100 << 0x18;
        local_820._84_4_ =
             local_fc >> 0x18 | (local_fc & 0xff0000) >> 8 | (local_fc & 0xff00) << 8 |
             local_fc << 0x18;
        if ((_Bool)local_820[1] != false) {
          local_820._96_4_ =
               local_f8 >> 0x18 | (local_f8 & 0xff0000) >> 8 | (local_f8 & 0xff00) << 8 |
               local_f8 << 0x18;
          local_820._58_2_ = local_f4 << 8 | local_f4 >> 8;
          local_820._68_2_ = local_f2 << 8 | local_f2 >> 8;
        }
        goto LAB_00012d48;
      }
      if (local_908 < (stat64 *)0x40) {
        pr2serr("raw scatter file must be at least 64 bytes long (length: %u)\n",local_908,
                local_880._44_4_,local_880._44_4_);
LAB_00012ef5:
        local_908 = (stat64 *)0xf;
        goto LAB_00012354;
      }
      psVar29 = (stat64 *)(local_174 + 0x50);
      local_908 = (stat64 *)bin_read((int)local_920,(uint8_t *)psVar29,0x40,"SF");
      if (local_908 != (stat64 *)0x0) goto LAB_00012354;
      _Var9 = check_lbrds((uint8_t *)psVar29,0x40,(opts_t *)local_820,&local_8f8,
                          (uint32_t *)&local_8f4);
      if (!_Var9) goto LAB_00012ef5;
      if (local_8f8 != 1) {
        pr2serr("No %ss found in SF (num=%u)\n","LBA range descriptor",local_8f8,extraout_EDX_01);
        goto LAB_00012ef5;
      }
      local_820._104_4_ =
           local_114 >> 0x18 | (local_114 & 0xff0000) >> 8 | (local_114 & 0xff00) << 8 |
           local_114 << 0x18;
      local_820._100_4_ =
           local_110 >> 0x18 | (local_110 & 0xff0000) >> 8 | (local_110 & 0xff00) << 8 |
           local_110 << 0x18;
      local_820._84_4_ =
           local_10c >> 0x18 | (local_10c & 0xff0000) >> 8 | (local_10c & 0xff00) << 8 |
           local_10c << 0x18;
    }
    else {
      local_820._100_4_ = local_578;
      local_820._104_4_ = local_574;
      local_820._84_4_ = local_778[0];
      if (((stat64 *)uVar19 != (stat64 *)0x0) && (local_91c != (stat64 *)0x1)) {
        pr2serr("warning: %d LBA,number_of_blocks pairs found, only taking first\n",local_91c,
                psVar20,psVar20);
      }
    }
LAB_00012d48:
    if ((_Bool)local_820[8] == false) {
      psVar29 = (stat64 *)(local_820._84_4_ * local_820._76_4_);
    }
    else {
      psVar29 = (stat64 *)0x0;
      if ((_Bool)local_820[0x10] == false) {
        psVar29 = (stat64 *)local_820._76_4_;
      }
    }
    local_7a4 = psVar29;
    if (psVar29 == (stat64 *)0x0) {
      up = (uint8_t *)0x0;
    }
    else {
      up = (uint8_t *)sg_memalign(psVar29,0,&local_8f0,0);
      if (up == (uint8_t *)0x0) {
        pcVar18 = "unable to allocate %u bytes of memory\n";
        ppvVar44 = (void **)0x0;
        uVar19 = 0;
        psVar41 = psVar29;
LAB_00013bea:
        pr2serr(pcVar18,psVar41,ppvVar44,uVar19);
        local_908 = (stat64 *)sg_convert_errno(0xc);
        goto LAB_00012354;
      }
      if (psVar29 < local_93c) {
        local_93c = psVar29;
      }
      local_908 = (stat64 *)bin_read((int)local_924,up,(uint32_t)local_93c,"IF 5");
      if (local_908 != (stat64 *)0x0) goto LAB_00012354;
    }
    local_908 = (stat64 *)do_write_x((int)local_930,up,(int)psVar29,(opts_t *)local_820);
    if (local_908 == (stat64 *)0x0) goto LAB_00012354;
    if ((_Bool)local_820[6] != false) goto LAB_00012354;
    puVar48 = local_174;
    psVar29 = (stat64 *)"OS error";
    puVar33 = puVar48;
    for (iVar17 = 9; iVar17 != 0; iVar17 = iVar17 + -1) {
      *puVar33 = (char)psVar29->st_dev;
      psVar29 = (stat64 *)((int)psVar29 + (uint)bVar37 * -2 + 1);
      puVar33 = puVar33 + (uint)bVar37 * -2 + 1;
    }
    uVar24 = 0;
    if (0 < (int)local_908) {
      sg_get_category_sense_str(local_908,0x50,puVar48,uVar19);
      uVar24 = extraout_ECX_02;
    }
    pr2serr("%s: %s\n",local_790,puVar48,uVar24);
    goto LAB_00012354;
  }
  local_8e8 = (void *)0x0;
  local_8f6 = local_8f8;
  local_8ec = local_8f4;
  if ((_Bool)local_820[4] != false) {
    if (local_820._62_2_ == 0) {
      if (local_820._64_2_ == 0) {
        psVar20 = local_93c;
        if (local_93c == (stat64 *)0x0) {
          pr2serr("With --combined= if DOF, RD are 0 and IF has an unknown length\nthen give up\n");
          local_908 = (stat64 *)0x1f;
          goto LAB_00012354;
        }
      }
      else {
        psVar20 = (stat64 *)(((ushort)local_820._64_2_ + 1) * 0x20);
      }
      if ((uint)psVar20 % (uint)local_820._76_4_ != 0) {
        psVar20 = (stat64 *)(((uint)psVar20 / (uint)local_820._76_4_ + 1) * local_820._76_4_);
      }
    }
    else {
      psVar20 = (stat64 *)((uint)(ushort)local_820._62_2_ * local_820._76_4_);
    }
    ppvVar44 = &local_8e8;
    uVar19 = 0;
    psVar41 = (stat64 *)0x0;
    psVar29 = (stat64 *)sg_memalign(psVar20,0,ppvVar44,0);
    if (psVar29 == (stat64 *)0x0) {
LAB_000141a6:
      pcVar18 = "unable to allocate aligned memory for scatterlist+data\n";
      goto LAB_00013bea;
    }
    psVar41 = local_93c;
    if (psVar20 < local_93c) {
      psVar41 = psVar20;
    }
    iVar17 = bin_read((int)local_924,(uint8_t *)psVar29,(uint32_t)psVar41,"IF c1");
    local_908 = (stat64 *)iVar17;
    if (iVar17 != 0) goto LAB_000133fd;
    ppsVar42 = &local_8ec;
    iVar23 = iVar17;
    _Var9 = check_lbrds((uint8_t *)psVar29,(uint32_t)psVar20,(opts_t *)local_820,&local_8f6,
                        (uint32_t *)ppsVar42);
    if (_Var9) {
      if ((local_820._64_2_ == 0) || (local_820._64_2_ == local_8f6)) {
        local_820._64_2_ = local_8f6;
LAB_00013fe3:
        local_908 = (stat64 *)(((ushort)local_820._64_2_ + 1) * 0x20);
        if ((uint)local_908 % (uint)local_820._76_4_ != 0) {
          local_908 = (stat64 *)(((uint)local_908 / (uint)local_820._76_4_ + 1) * local_820._76_4_);
        }
        uVar10 = (uint)(ushort)local_820._62_2_;
        uVar28 = uVar10 * local_820._76_4_;
        local_918 = local_908;
        local_8f6 = local_820._64_2_;
        if (uVar28 - (int)local_908 != 0) {
          if (uVar28 < local_908) {
            pr2serr("%s: Cannot fit %ss (%u) in given LB data offset (%u)\n","process_scattered",
                    "LBA range descriptor",(uint)(ushort)local_820._64_2_,uVar10,ppsVar42,iVar17,
                    iVar23);
            goto LAB_000133f3;
          }
          local_918 = (stat64 *)uVar28;
          if (((uVar24 | local_820._40_4_) != 0) &&
             (pr2serr("%s: empty blocks before LB data offset (%u), could be okay\n",
                      "process_scattered",uVar10,uVar24 | local_820._40_4_), local_820._40_4_ != 0))
          {
            pr2serr("Exiting due to --strict; perhaps try again with --combined=%u\n",
                    (uint)local_908 / (uint)local_820._76_4_,psVar29,psVar29);
            local_908 = (stat64 *)0xf;
            goto LAB_000133fd;
          }
        }
        local_918 = (stat64 *)((int)local_8ec * local_820._76_4_ + (int)local_918);
        if (local_918 <= psVar20) {
LAB_0001418c:
          local_820._84_4_ = local_8ec;
          local_7a4 = (stat64 *)((int)local_8ec * local_820._76_4_);
          goto LAB_00013962;
        }
        if (local_93c != local_918) {
          if (local_93c < local_918) {
            pr2serr("Calculated dout length (%u) %s bytes available in IF (%u)\n",local_918,
                    &DAT_000170dd,local_93c);
          }
          else if (((stat64 *)uVar24 == (stat64 *)0x0 && local_820._40_4_ == 0) ||
                  (pr2serr("Calculated dout length (%u) %s bytes available in IF (%u)\n",local_918,
                           &DAT_00017110,local_93c), local_820._40_4_ == 0)) goto LAB_00014113;
          goto LAB_000133f3;
        }
LAB_00014113:
        psVar41 = (stat64 *)sg_memalign(local_918,0,&local_8e4,0);
        if (psVar41 != (stat64 *)0x0) {
          memcpy(psVar41,psVar29,(size_t)psVar20);
          free(local_8e8);
          local_8e8 = local_8e4;
          local_908 = (stat64 *)
                      bin_read((int)local_924,
                               (uint8_t *)((int)&psVar20->st_dev + (int)&psVar41->st_dev),
                               (int)local_918 - (int)psVar20,"IF c2");
          psVar29 = psVar41;
          if (local_908 != (stat64 *)0x0) goto LAB_000133fd;
          goto LAB_0001418c;
        }
LAB_00014273:
        pcVar18 = "unable to allocate memory for final scatterlist+data\n";
        goto LAB_00013fbc;
      }
      if (local_8f6 < (ushort)local_820._64_2_) {
        pr2serr("RD (%u) %s number of %ss (%u) found in IF\n",local_820._64_2_,&DAT_000170dd,
                "LBA range descriptor",local_8f6,ppsVar42,iVar17,iVar23);
      }
      else if (((stat64 *)uVar24 == (stat64 *)0x0 && local_820._40_4_ == 0) ||
              (pr2serr("RD (%u) %s number of %ss (%u) found in IF\n",local_820._64_2_,&DAT_00017110,
                       "LBA range descriptor",local_8f6,ppsVar42,iVar17,iVar23),
              local_820._40_4_ == 0)) {
        local_908 = (stat64 *)0x0;
        for (psVar41 = psVar29;
            (stat64 *)(&psVar29->st_dev + (uint)(ushort)local_820._64_2_ * 4) != psVar41;
            psVar41 = (stat64 *)&psVar41->st_rdev) {
          uVar10 = psVar41->__pad2;
          local_908 = (stat64 *)
                      ((int)&local_908->st_dev +
                      (uVar10 >> 0x18 | (uVar10 & 0xff0000) >> 8 | (uVar10 & 0xff00) << 8 |
                      uVar10 << 0x18));
        }
        local_8ec = local_908;
        goto LAB_00013fe3;
      }
    }
LAB_000133f3:
    local_908 = (stat64 *)0xf;
    goto LAB_000133fd;
  }
  if (local_91c != (stat64 *)0x0) {
    local_8f6 = (uint16_t)local_91c;
  }
  if (local_798 == (char *)0x0) {
    if ((_Bool)local_820[7] != false) goto LAB_00013dcd;
    if (local_91c == (stat64 *)0x0) {
      pr2serr("How did we get here??\n");
      local_908 = (stat64 *)0x1;
      goto LAB_000133fd;
    }
    if ((local_820._64_2_ != 0) && (local_91c < (undefined1 *)(uint)(ushort)local_820._64_2_)) {
      pr2serr("%s: number given to --scattered= (%u) exceeds number of --lba= elements (%u)\n",
              "process_scattered",(undefined1 *)(uint)(ushort)local_820._64_2_,local_91c);
      local_908 = (stat64 *)0x1f;
      goto LAB_00012354;
    }
    uVar10 = (local_8f6 + 1) * 0x20;
    local_820._62_2_ = (undefined2)(uVar10 / (uint)local_820._76_4_);
    if (uVar10 % (uint)local_820._76_4_ != 0) {
      local_820._62_2_ = local_820._62_2_ + 1;
    }
    iVar17 = 0;
    local_8ec = (stat64 *)0x0;
    do {
      local_8ec = (stat64 *)((int)&local_8ec->st_dev + (int)ppsVar42[iVar17]);
      iVar17 = iVar17 + 1;
    } while (iVar17 < (int)local_91c);
    local_918 = (stat64 *)
                (((int)&local_8ec->st_dev + (uint)(ushort)local_820._62_2_) * local_820._76_4_);
    psVar29 = (stat64 *)sg_memalign(local_918,0,&local_8e8,0);
    if (psVar29 == (stat64 *)0x0) goto LAB_00013fb3;
    iVar17 = 0;
    psVar41 = psVar29;
    do {
      uVar10 = puVar47[iVar17 * 2];
      uVar28 = puVar47[iVar17 * 2 + 1];
      *(uint *)&psVar41->st_rdev =
           uVar28 >> 0x18 | (uVar28 & 0xff0000) >> 8 | (uVar28 & 0xff00) << 8 | uVar28 << 0x18;
      *(uint *)((int)&psVar41->st_rdev + 4) =
           uVar10 >> 0x18 | (uVar10 & 0xff0000) >> 8 | (uVar10 & 0xff00) << 8 | uVar10 << 0x18;
      psVar20 = ppsVar42[iVar17];
      psVar41->__pad2 =
           (uint)psVar20 >> 0x18 | ((uint)psVar20 & 0xff0000) >> 8 | ((uint)psVar20 & 0xff00) << 8 |
           (int)psVar20 << 0x18;
      if ((_Bool)local_820[1] != false) {
        if (iVar17 == 0) {
          *(uint *)&psVar41->st_size =
               (uint)local_820._96_4_ >> 0x18 | (local_820._96_4_ & 0xff0000) >> 8 |
               (local_820._96_4_ & 0xff00) << 8 | local_820._96_4_ << 0x18;
          *(ushort *)((int)&psVar41->st_size + 4) =
               local_820._58_2_ << 8 | (ushort)local_820._58_2_ >> 8;
          *(ushort *)((int)&psVar41->st_size + 6) =
               local_820._68_2_ << 8 | (ushort)local_820._68_2_ >> 8;
        }
        else {
          *(undefined4 *)&psVar41->st_size = 0xffffffff;
          *(undefined2 *)((int)&psVar41->st_size + 4) = 0xffff;
          *(undefined2 *)((int)&psVar41->st_size + 6) = 0xffff;
        }
      }
      iVar17 = iVar17 + 1;
      psVar41 = (stat64 *)&psVar41->st_rdev;
    } while (iVar17 < (int)local_91c);
    local_820._84_4_ = local_8ec;
  }
  else {
    if ((_Bool)local_820[7] == false) {
      uVar10 = (uint)local_8f6;
      uVar19 = 0;
      uVar34 = (uVar10 + 1) * 0x20;
      local_820._62_2_ = (undefined2)(uVar34 / (uint)local_820._76_4_);
      ppvVar44 = &local_8e8;
      if (uVar34 % (uint)local_820._76_4_ != 0) {
        local_820._62_2_ = local_820._62_2_ + 1;
      }
      psVar41 = (stat64 *)0x0;
      psVar29 = (stat64 *)
                sg_memalign(((int)&local_8f4->st_dev + (uint)(ushort)local_820._62_2_) *
                            local_820._76_4_,0,ppvVar44,0);
      if (psVar29 == (stat64 *)0x0) goto LAB_000141a6;
      local_8f6 = 0;
      local_8ec = (stat64 *)0x0;
      if (uVar10 + 1 == 1) {
        uVar34 = (uint)(ushort)local_820._62_2_ * local_820._76_4_;
      }
      local_908 = (stat64 *)
                  build_t10_scat(local_798,(_Bool)local_820[0],(_Bool)(local_820[9] ^ 1),
                                 (uint8_t *)psVar29,&local_8f6,(uint32_t *)&local_8ec,uVar34);
      if (local_908 != (stat64 *)0x0) goto LAB_000133fd;
      psVar41 = (stat64 *)(local_820._76_4_ * (int)local_8ec);
      if ((uint)local_820._80_4_ <= psVar41) {
        if (((uint)local_820._80_4_ <= psVar41 && (int)psVar41 - local_820._80_4_ != 0) &&
           ((stat64 *)local_820._80_4_ != (stat64 *)0x0)) {
          psVar41 = (stat64 *)local_820._80_4_;
        }
LAB_00014208:
        if ((psVar49 != (stat64 *)0x0) && (psVar49 != psVar41)) {
          if ((stat64 *)uVar24 != (stat64 *)0x0) {
            puVar22 = &DAT_00017110;
            if (psVar41 <= psVar49) {
              puVar22 = &DAT_000170dd;
            }
            pr2serr("readable length (%u) of IF %s bytes implied by sum of\nscatter list NUMs (%u) and DLEN\n"
                    ,psVar49,puVar22,psVar41);
          }
          if ((local_820._40_4_ != 0) && ((psVar41 <= psVar49 || (1 < (int)local_820._40_4_))))
          goto LAB_000133f3;
LAB_0001387e:
          if (psVar49 < psVar41) {
            psVar41 = psVar49;
          }
        }
        psVar20 = (stat64 *)((uint)psVar41 / (uint)local_820._76_4_);
        if (((uint)psVar41 % (uint)local_820._76_4_ != 0) &&
           (((stat64 *)uVar24 != (stat64 *)0x0 || (1 < (int)local_820._40_4_)))) {
          psVar26 = psVar41;
          psVar11 = (stat64 *)local_820._72_4_;
          pr2serr("Calculated data-out length (0x%x) not a multiple of BS (%u",psVar41,
                  local_820._72_4_,psVar20);
          if (local_820._72_4_ != local_820._76_4_) {
            psVar26 = (stat64 *)(local_820._76_4_ - local_820._72_4_);
            psVar11 = extraout_ECX_06;
            psVar20 = extraout_ECX_06;
            pr2serr(" + %d(PI)",psVar26,extraout_ECX_06,extraout_ECX_06);
          }
          if (1 < (int)local_820._40_4_) {
            pr2serr(")\nexiting ...\n",psVar26,psVar11,psVar20);
            local_908 = (stat64 *)0xf;
            goto LAB_000133fd;
          }
          pr2serr(")\nzero pad and continue ...\n",psVar26,psVar11,psVar20);
        }
      }
      else {
        uVar10 = uVar24 | local_820._40_4_;
        if (uVar10 != 0) {
          pr2serr("DLEN > than bytes implied by sum of scatter list NUMs (%u)\n",psVar41,uVar10,
                  uVar10);
          if (1 < (int)uVar24) {
            pr2serr("  num_lbard=%u, sum_num=%u actual_bs=%u",local_8f6,local_8ec,local_820._76_4_);
          }
          if (local_820._40_4_ != 0) goto LAB_000133f3;
          goto LAB_00014208;
        }
        if ((psVar49 != (stat64 *)0x0) && (psVar49 != psVar41)) goto LAB_0001387e;
      }
      local_908 = (stat64 *)
                  bin_read((int)local_924,
                           (uint8_t *)
                           ((int)&psVar29->st_dev +
                           (uint)(ushort)local_820._62_2_ * local_820._76_4_),(uint32_t)psVar41,
                           "IF 3");
      uVar4 = local_820._62_2_;
    }
    else {
LAB_00013dcd:
      psVar41 = (stat64 *)local_820._76_4_;
      if (local_820._64_2_ != 0) {
        psVar41 = (stat64 *)(((ushort)local_820._64_2_ + 1) * 0x20);
        if (local_908 < psVar41) {
          pr2serr("SF not long enough (%u bytes) to provide RD (%u) %ss\n",local_908,psVar41,
                  "LBA range descriptor");
          local_908 = (stat64 *)0xf;
          goto LAB_000133fd;
        }
        psVar41 = (stat64 *)
                  ((((uint)psVar41 / (uint)local_820._76_4_ + 1) -
                   (uint)((uint)psVar41 % (uint)local_820._76_4_ == 0)) * local_820._76_4_);
      }
      local_918 = (stat64 *)local_820._76_4_;
      if (local_93c != (stat64 *)0x0) {
        local_918 = (stat64 *)
                    ((((uint)local_93c / (uint)local_820._76_4_ + 1) -
                     (uint)((uint)local_93c % (uint)local_820._76_4_ == 0)) * local_820._76_4_);
      }
      psVar29 = (stat64 *)
                sg_memalign((int)&psVar41->st_dev + (int)&local_918->st_dev,0,&local_8e8,0);
      if (psVar29 == (stat64 *)0x0) {
LAB_00013fb3:
        pcVar18 = "unable to allocate aligned memory for scatterlist+data\n";
LAB_00013fbc:
        pr2serr(pcVar18);
        local_908 = (stat64 *)sg_convert_errno(0xc);
        goto LAB_000133fd;
      }
      local_908 = (stat64 *)bin_read((int)local_920,(uint8_t *)psVar29,(uint32_t)local_908,"SF");
      if (local_908 != (stat64 *)0x0) goto LAB_000133fd;
      _Var9 = check_lbrds((uint8_t *)psVar29,(uint32_t)psVar41,(opts_t *)local_820,&local_8f6,
                          (uint32_t *)&local_8ec);
      if (!_Var9) goto LAB_000133f3;
      if (local_820._64_2_ != local_8f6) {
        pr2serr("Try again with --scattered=%u\n",local_8f6,extraout_EDX_06,extraout_EDX_06);
        local_908 = (stat64 *)0xf;
        goto LAB_000133fd;
      }
      psVar20 = (stat64 *)(local_820._76_4_ * (int)local_8ec);
      if (local_918 < psVar20) {
        psVar26 = (stat64 *)
                  sg_memalign((int)&psVar41->st_dev + (int)&psVar20->st_dev,0,&local_8e4,0);
        if (psVar26 == (stat64 *)0x0) goto LAB_00014273;
        memcpy(psVar26,psVar29,(size_t)psVar41);
        free(local_8e8);
        local_8e8 = local_8e4;
        psVar29 = psVar26;
        local_918 = psVar20;
      }
      psVar20 = psVar41;
      if ((local_93c != psVar41) &&
         (psVar20 = local_93c, (stat64 *)uVar24 != (stat64 *)0x0 || local_820._40_4_ != 0)) {
        puVar22 = &DAT_000170dd;
        if (local_93c <= psVar41) {
          puVar22 = &DAT_00017110;
        }
        psVar26 = psVar41;
        pr2serr("IF length (%u) %s \'sum_num\' bytes (%u), ",local_93c,puVar22,psVar41);
        if (1 < (int)local_820._40_4_) {
          pr2serr("exiting (strict=%d)\n",local_820._40_4_,psVar41,psVar41);
          local_908 = (stat64 *)0xf;
          goto LAB_000133fd;
        }
        pr2serr("continuing ...\n",psVar20,puVar22,psVar26);
        psVar20 = psVar41;
        if (local_93c < psVar41) {
          psVar20 = local_93c;
        }
      }
      local_908 = (stat64 *)
                  bin_read((int)local_924,
                           (uint8_t *)((int)&psVar29->st_dev + (int)&local_918->st_dev),
                           (uint32_t)psVar20,"IF 4");
      uVar4 = local_8f6;
    }
    if (local_908 != (stat64 *)0x0) goto LAB_000133fd;
    local_7a4 = (stat64 *)((int)local_8ec * local_820._76_4_);
    local_918 = (stat64 *)(((int)&local_8ec->st_dev + (uint)uVar4) * local_820._76_4_);
    local_820._84_4_ = local_8ec;
  }
LAB_00013962:
  local_8ec = (stat64 *)local_820._84_4_;
  local_908 = (stat64 *)do_write_x((int)local_930,psVar29,(int)local_918,(opts_t *)local_820);
  if (local_908 != (stat64 *)0x0) {
    puVar48 = local_174 + 0x50;
    psVar29 = (stat64 *)"OS error";
    puVar33 = puVar48;
    for (iVar17 = 9; iVar17 != 0; iVar17 = iVar17 + -1) {
      *puVar33 = (char)psVar29->st_dev;
      psVar29 = (stat64 *)((int)psVar29 + (uint)bVar37 * -2 + 1);
      puVar33 = puVar33 + (uint)bVar37 * -2 + 1;
    }
    if (0 < (int)local_908) {
      sg_get_category_sense_str(local_908,0x50,puVar48,uVar24);
    }
    pr2serr("%s: %s\n",local_790,puVar48,psVar29);
  }
LAB_000133fd:
  if (local_8e8 == (void *)0x0) goto LAB_00012354;
  free(local_8e8);
  goto LAB_00012354;
_L476:
  uVar38 = sg_get_llnum(*(undefined4 *)PTR_optarg_0001dffc);
  psVar20 = (stat64 *)local_820._80_4_;
  uVar34 = local_820._92_4_;
  uVar10 = (uint)uVar38;
  if ((int)((ulonglong)uVar38 >> 0x20) != 0) goto LAB_00012b94;
  goto LAB_000114e8;
LAB_00012b94:
  pr2serr("bad argument to \'--ref-tag=\'. Expect 0 to 0xffffffff inclusive\n");
LAB_00011a7a:
  local_908 = (stat64 *)0x1;
LAB_00011a84:
  do {
    psVar29 = (stat64 *)(local_24 ^ *(uint *)(in_GS_OFFSET + 0x14));
    if (psVar29 == (stat64 *)0x0) {
      return (int)local_908;
    }
    __stack_chk_fail_local();
LAB_00013b9f:
    pr2serr("build_lba_arr: array length exceeded\n");
LAB_00012130:
    pr2serr("bad argument to \'--lba\'\n");
    local_908 = (stat64 *)0x1;
LAB_00012354:
    if (local_8f0 != (void *)0x0) {
      free(local_8f0);
    }
    iVar17 = sg_cmds_close_device(local_930);
    if (iVar17 < 0) {
      if ((_Bool)local_820[6] == false) {
        uVar19 = safe_strerror(-iVar17);
        pr2serr("sg_fd close error: %s\n",uVar19);
      }
      if (local_908 == (stat64 *)0x0) {
        local_908 = (stat64 *)0xf;
      }
    }
    if ((-1 < (int)local_920) && (iVar17 = close((int)local_920), iVar17 < 0)) {
      if ((_Bool)local_820[6] == false) {
        perror("sfr_fd close error");
      }
      if (local_908 == (stat64 *)0x0) {
        local_908 = (stat64 *)0xf;
      }
    }
LAB_000123a1:
    if (((cVar2 == '\x01') || ((int)local_924 < 0)) ||
       (pcVar18 = (char *)close((int)local_924), -1 < (int)pcVar18)) {
LAB_000123cc:
      if ((((stat64 *)local_820._48_4_ == (stat64 *)0x0) && ((_Bool)local_820[6] == false)) &&
         (cVar8 = sg_if_can2stderr("sg_write_x failed: ",local_908,psVar29,psVar29), cVar8 == '\0'))
      goto LAB_0001260b;
      goto LAB_000123e2;
    }
    if ((_Bool)local_820[6] == false) {
      pcVar18 = "infd close error";
      perror("infd close error");
    }
    if (local_908 != (stat64 *)0x0) goto LAB_000123cc;
    local_908 = (stat64 *)0xf;
    if ((((stat64 *)local_820._48_4_ == (stat64 *)0x0) && ((_Bool)local_820[6] == false)) &&
       (cVar8 = sg_if_can2stderr("sg_write_x failed: ",0xf,pcVar18,pcVar18), cVar8 == '\0')) {
LAB_0001260b:
      pr2serr("Some error occurred, try again with \'-v\' or \'-vv\' for more information\n");
LAB_000123e2:
      if ((int)local_908 < 0) {
        local_908 = (stat64 *)0x63;
      }
    }
  } while( true );
}



/* WARNING: Function: __i686.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */

int FUN_000113d0(int param_1,int param_2)

{
  byte bVar1;
  char cVar2;
  __dev_t *p_Var3;
  undefined *puVar4;
  undefined *puVar5;
  char cVar6;
  uint uVar7;
  stat64 *psVar8;
  stat64 *psVar9;
  int iVar10;
  stat64 *psVar11;
  char *pcVar12;
  char *pcVar13;
  int iVar14;
  char *pcVar15;
  undefined4 uVar16;
  stat64 *psVar17;
  stat64 *psVar18;
  int *piVar19;
  undefined *puVar20;
  int iVar21;
  stat64 *extraout_ECX;
  stat64 *extraout_ECX_00;
  stat64 *extraout_ECX_01;
  undefined4 extraout_ECX_02;
  undefined4 extraout_ECX_03;
  stat64 *extraout_ECX_04;
  stat64 *extraout_ECX_05;
  stat64 *extraout_ECX_06;
  stat64 *extraout_ECX_07;
  stat64 *extraout_ECX_08;
  int extraout_EDX;
  stat64 *psVar22;
  stat64 *psVar23;
  stat64 *extraout_EDX_00;
  undefined4 extraout_EDX_01;
  stat64 *extraout_EDX_02;
  stat64 *extraout_EDX_03;
  stat64 *extraout_EDX_04;
  undefined4 extraout_EDX_05;
  uint uVar24;
  stat64 *psVar25;
  uint *puVar26;
  stat64 **ppsVar27;
  int iVar28;
  undefined1 *puVar29;
  int in_GS_OFFSET;
  bool bVar30;
  bool bVar31;
  byte bVar32;
  undefined8 uVar33;
  longlong lVar34;
  __off64_t _Var35;
  undefined4 uVar36;
  undefined4 uVar37;
  stat64 *psVar38;
  void **ppvVar39;
  undefined4 uVar40;
  uint uVar41;
  uint *puVar42;
  undefined1 *puVar43;
  stat64 **ppsVar44;
  stat64 *psVar45;
  char local_93f;
  stat64 *local_93c;
  stat64 *local_930;
  stat64 *local_924;
  stat64 *local_920;
  stat64 *local_91c;
  stat64 *local_918;
  stat64 *local_908;
  ushort local_8f8;
  ushort local_8f6;
  stat64 *local_8f4;
  void *local_8f0;
  undefined1 local_8ec [4];
  void *local_8e8;
  void *local_8e4;
  undefined1 local_8e0 [48];
  int local_8b0;
  undefined1 local_880 [96];
  char local_820;
  char local_81f;
  byte bStack_81e;
  byte local_81d;
  char local_81c;
  byte local_81b;
  char local_81a;
  char local_819;
  byte local_818;
  byte local_817;
  byte local_816;
  byte bStack_815;
  byte local_814;
  char local_813;
  undefined1 uStack_812;
  undefined1 uStack_811;
  byte local_810;
  char local_80f;
  char local_80e;
  uint uStack_80c;
  int iStack_808;
  uint uStack_804;
  int local_800;
  int local_7fc;
  uint local_7f8;
  int local_7f4;
  stat64 *local_7f0;
  stat64 *local_7ec;
  undefined1 uStack_7e8;
  undefined1 uStack_7e7;
  ushort local_7e6;
  undefined2 uStack_7e4;
  ushort local_7e2;
  ushort local_7e0;
  undefined2 uStack_7de;
  ushort local_7dc;
  undefined2 uStack_7da;
  stat64 *local_7d8;
  stat64 *local_7d4;
  stat64 *local_7d0;
  stat64 *local_7cc;
  undefined4 uStack_7c8;
  undefined4 uStack_7c4;
  uint local_7c0;
  uint local_7bc;
  uint local_7b8;
  stat64 *local_7b4;
  stat64 *local_7b0;
  int local_7ac;
  int local_7a8;
  stat64 *local_7a4;
  stat64 *local_7a0;
  char *local_79c;
  char *local_798;
  stat64 *local_794;
  undefined1 local_790 [24];
  stat64 *local_778 [128];
  uint local_578;
  uint local_574;
  undefined1 local_174 [96];
  uint local_114;
  uint local_110;
  uint local_10c;
  uint local_104;
  uint local_100;
  uint local_fc;
  uint local_f8;
  ushort local_f4;
  ushort local_f2;
  uint local_24;
  undefined4 *local_18;
  
  iVar28 = param_2;
  iVar14 = param_1;
  puVar20 = PTR_optarg_0001dffc;
  bVar32 = 0;
  local_18 = &param_1;
  local_24 = *(uint *)(in_GS_OFFSET + 0x14);
  local_8f8 = 0;
  local_8f4 = (stat64 *)0x0;
  local_8f0 = (void *)0x0;
  local_918 = (stat64 *)0x0;
  local_91c = (stat64 *)0x0;
  pcVar15 = &local_820;
  for (iVar21 = 0x2a; iVar21 != 0; iVar21 = iVar21 + -1) {
    pcVar15[0] = '\0';
    pcVar15[1] = '\0';
    pcVar15[2] = '\0';
    pcVar15[3] = '\0';
    pcVar15 = pcVar15 + 4;
  }
  local_930 = (stat64 *)local_8e0;
  local_7fc = -1;
  psVar18 = local_930;
  for (iVar21 = 0x18; iVar21 != 0; iVar21 = iVar21 + -1) {
    *(undefined4 *)&psVar18->st_dev = 0;
    psVar18 = (stat64 *)((int)&psVar18->st_dev + 4);
  }
  psVar18 = (stat64 *)local_880;
  local_7c0 = 0xffffffff;
  psVar38 = psVar18;
  for (iVar21 = 0x18; iVar21 != 0; iVar21 = iVar21 + -1) {
    *(undefined4 *)&psVar38->st_dev = 0;
    psVar38 = (stat64 *)((int)&psVar38->st_dev + 4);
  }
  cVar2 = ' ';
  local_7e6 = 0xffff;
  local_7dc = 0xffff;
  local_7f4 = 0x78;
  bVar1 = 0;
  local_924 = (stat64 *)PTR_optarg_0001dffc;
  psVar38 = local_7d0;
  uVar16 = uStack_7c4;
  uVar7 = local_7c0;
code_r0x000114e8:
  local_7c0 = uVar7;
  uStack_7c4 = uVar16;
  local_7d0 = psVar38;
  local_8e4 = (void *)0x0;
  uVar33 = getopt_long(iVar14,iVar28,"36a:A:b:B:c:dD:Efg:G:hi:I:l:M:n:No:Oq:Qr:RsS:t:T:u:vVw:x",
                       &PTR_DAT_0001e020,&local_8e4);
  puVar5 = PTR_optarg_0001dffc;
  puVar4 = PTR_optind_0001dfe4;
  if ((int)uVar33 == -1) {
    iVar21 = *(int *)PTR_optind_0001dfe4;
    local_920 = (stat64 *)0xffffffff;
    if (iVar21 < iVar14) {
      iVar10 = (int)((ulonglong)uVar33 >> 0x20);
      if (local_7a0 != (stat64 *)0x0) goto LAB_00011c60;
      local_7a0 = *(stat64 **)(iVar28 + iVar21 * 4);
      *(int *)PTR_optind_0001dfe4 = iVar21 + 1;
      iVar10 = iVar28;
      if (iVar21 + 1 < iVar14) goto LAB_00011c60;
    }
    if ((bool)(bVar1 & local_7f8 != 0)) goto LAB_00011a7a;
    if (0 < local_800) {
      FUN_000149b0();
      local_908 = (stat64 *)0x0;
      goto LAB_00011a84;
    }
    if (local_80f == '\0') {
LAB_00011c9f:
      if (local_80e != '\0') {
        pr2serr("sg_write_x version: %s\n","1.19 20180628",puVar4,puVar4);
        local_908 = (stat64 *)0x270f;
        goto LAB_00011a84;
      }
    }
    else if (local_80e != '\0') {
      pr2serr("Not in DEBUG mode, so \'-vV\' has no special action\n");
      goto LAB_00011c9f;
    }
    psVar38 = local_7f0;
    psVar17 = psVar38;
    if (local_820 == '\0') {
      if (local_81f == '\0') {
        psVar17 = (stat64 *)((int)&local_7f0[-1].st_ino + 7);
        local_820 = '\x01';
        if (psVar17 != (stat64 *)0x0 && 0 < (int)local_7f0) {
          pr2serr("Since neither --16 nor --32 given, choose --16\n");
        }
      }
    }
    else if ((local_81f != '\0') && (local_820 = '\0', 1 < (int)local_7f0)) {
      pr2serr("Since both --16 and --32 given, choose --32\n");
    }
    uVar7 = (uint)local_81d + (uint)local_814 + (uint)local_81b + (uint)local_818 + (uint)local_817
            + (uint)local_816;
    if (1 < uVar7) {
      pr2serr(
             "Can only select one command; so only one of --atomic, --normal, --or,\n--same=, --scattered= or --stream=\n"
             );
      local_908 = (stat64 *)0x1f;
      goto LAB_00011a84;
    }
    if (uVar7 == 0) {
      if (local_7f8 != 0) {
        pr2serr("With --strict won\'t default to a normal WRITE, add --normal\n");
        local_908 = (stat64 *)0x1f;
        goto LAB_00011a84;
      }
      local_794 = (stat64 *)0x17164;
      local_814 = 1;
      if (psVar38 != (stat64 *)0x0) {
        pr2serr("No command selected so choose \'normal\' WRITE\n");
      }
    }
    psVar8 = (stat64 *)((-(uint)(local_820 == '\0') & 0x10) + 0x10);
    psVar22 = local_794;
    __snprintf_chk(local_790,0x18,1,0x18,"%s(%d)",local_794,psVar8,psVar17);
    if (local_81c == '\0') {
      if (local_798 != (char *)0x0) {
        local_93f = local_918 != (stat64 *)0x0;
        bVar30 = local_91c != (stat64 *)0x0 || local_918 != (stat64 *)0x0;
        bVar31 = local_91c != (stat64 *)0x0;
        if (local_91c == (stat64 *)0x0 && local_918 == (stat64 *)0x0) {
          iVar14 = -1;
          pcVar15 = local_798;
          goto code_r0x00011d5c;
        }
        pr2serr(
               "want one and only one of: (--lba=LBA and/or --num=NUM), or\n--scat-file=SF, or --combined=DOF\n"
               );
        local_908 = (stat64 *)0x1f;
        goto LAB_00011a84;
      }
      if (local_819 == '\0') {
        local_93f = local_918 != (stat64 *)0x0;
        bVar30 = local_91c != (stat64 *)0x0 || local_918 != (stat64 *)0x0;
        bVar31 = local_91c != (stat64 *)0x0;
        goto LAB_00011d67;
      }
      pr2serr(
             "--scat-raw only applies to the --scat-file=SF option\n--scat-raw without the --scat-file=SF option is an error\n"
             );
      local_908 = (stat64 *)0x1f;
      goto LAB_00011a84;
    }
    if (local_817 == 0) {
      pr2serr(
             "--combined=DOF only allowed with --scattered=RD (i.e. only with\nWRITE SCATTERED command)\n"
             );
      local_908 = (stat64 *)0x1f;
      goto LAB_00011a84;
    }
    if (local_798 != (char *)0x0) {
      pr2serr("Ambiguous: got --combined=DOF and --scat-file=SF .\nGive one, the other or neither\n"
             );
      local_908 = (stat64 *)0x1f;
      goto LAB_00011a84;
    }
    if (local_91c == (stat64 *)0x0 && local_918 == (stat64 *)0x0) {
      local_93f = local_819;
      bVar30 = false;
      bVar31 = false;
      if (local_819 == '\0') goto LAB_00011d67;
      pr2serr("Ambiguous: don\'t expect --combined=DOF and --scat-raw\nGive one or the other\n");
      local_908 = (stat64 *)0x1f;
    }
    else {
      pr2serr("--scattered=RD --combined=DOF does not use --lba= or --num=\nPlease remove.\n");
      local_908 = (stat64 *)0x1f;
    }
    goto LAB_00011a84;
  }
  local_920 = local_924;
  psVar38 = local_7d0;
  uVar16 = uStack_7c4;
  uVar7 = local_7c0;
  switch((int)uVar33) {
  case 0x33:
    local_81f = '\x01';
    goto code_r0x000114e8;
  default:
    pcVar15 = "unrecognised option code 0x%x ??\n";
    break;
  case 0x36:
    local_820 = '\x01';
    goto code_r0x000114e8;
  case 0x3f:
    pcVar15 = "\n";
    break;
  case 0x41:
    uVar7 = func_0x00011320(*(undefined4 *)PTR_optarg_0001dffc);
    if (0xffff < uVar7) {
      pr2serr("bad argument to \'--atomic=\'. Expect 0 to 0xffff inclusive\n");
      goto LAB_00011a7a;
    }
    uStack_7e4 = (undefined2)uVar7;
    local_81d = 1;
    local_794 = (stat64 *)0x17112;
    psVar38 = local_7d0;
    uVar16 = uStack_7c4;
    uVar7 = local_7c0;
    goto code_r0x000114e8;
  case 0x42:
    uVar24 = func_0x00011320(*(undefined4 *)PTR_optarg_0001dffc);
    if (7 < uVar24) {
      pr2serr("bad first argument to \'--bmop=\'\n");
      goto LAB_00011a7a;
    }
    uStack_7e8 = (undefined1)uVar24;
    uVar36 = 0x2c;
    uVar41 = uVar24;
    pcVar15 = strchr(*(char **)puVar5,0x2c);
    psVar38 = local_7d0;
    uVar16 = uStack_7c4;
    uVar7 = local_7c0;
    if (pcVar15 != (char *)0x0) {
      uVar7 = func_0x00011320(pcVar15 + 1,uVar36,uVar24,uVar41);
      if (0xf < uVar7) {
        pr2serr("bad second argument to \'--bmop=\'\n");
        goto LAB_00011a7a;
      }
      uStack_7e7 = (undefined1)uVar7;
      psVar38 = local_7d0;
      uVar16 = uStack_7c4;
      uVar7 = local_7c0;
    }
    goto code_r0x000114e8;
  case 0x44:
    uStack_80c = func_0x00011320(*(undefined4 *)PTR_optarg_0001dffc);
    psVar38 = local_7d0;
    uVar16 = uStack_7c4;
    uVar7 = local_7c0;
    if (7 < uStack_80c) {
      pr2serr("bad argument to \'--dld=\', expect 0 to 7 inclusive\n");
      goto LAB_00011a7a;
    }
    goto code_r0x000114e8;
  case 0x47:
    uVar33 = sg_get_llnum(*(undefined4 *)PTR_optarg_0001dffc);
    uVar36 = (undefined4)uVar33;
    if ((int)((ulonglong)uVar33 >> 0x20) != 0) {
      pr2serr("bad first argument to \'--generation=\'\n");
      goto LAB_00011a7a;
    }
    uVar37 = 0x2c;
    uVar40 = uVar36;
    uStack_7c8 = uVar36;
    pcVar15 = strchr(*(char **)puVar5,0x2c);
    if (pcVar15 == (char *)0x0) {
      pr2serr("need two arguments with --generation=EOG,NOG and they must be comma separated\n",
              uVar37,uVar36,uVar40);
      goto LAB_00011a7a;
    }
    uVar33 = sg_get_llnum(pcVar15 + 1);
    psVar38 = local_7d0;
    uVar16 = (int)uVar33;
    uVar7 = local_7c0;
    if ((int)((ulonglong)uVar33 >> 0x20) != 0) {
      pr2serr("bad second argument to \'--generation=\'\n",uVar37,uVar36,uVar40);
      goto LAB_00011a7a;
    }
    goto code_r0x000114e8;
  case 0x49:
    local_7f4 = func_0x00011320(*(undefined4 *)PTR_optarg_0001dffc);
    psVar38 = local_7d0;
    uVar16 = uStack_7c4;
    uVar7 = local_7c0;
    if (local_7f4 < 0) {
      pr2serr("bad argument to \'--timeout=\'\n");
      goto LAB_00011a7a;
    }
    goto code_r0x000114e8;
  case 0x4d:
    uVar7 = func_0x00011320(*(undefined4 *)PTR_optarg_0001dffc);
    if (1 < uVar7) {
      pr2serr("bad argument to \'--same\', expect 0 or 1\n");
      goto LAB_00011a7a;
    }
    local_810 = (byte)uVar7 & 1;
    local_818 = 1;
    local_794 = (stat64 *)0x17159;
    psVar38 = local_7d0;
    uVar16 = uStack_7c4;
    uVar7 = local_7c0;
    goto code_r0x000114e8;
  case 0x4e:
    local_814 = 1;
    local_794 = (stat64 *)0x17164;
    goto code_r0x000114e8;
  case 0x4f:
    local_81b = 1;
    local_794 = (stat64 *)0x1716a;
    goto code_r0x000114e8;
  case 0x51:
    local_81a = '\x01';
    goto code_r0x000114e8;
  case 0x52:
    local_819 = '\x01';
    goto code_r0x000114e8;
  case 0x53:
    uVar7 = func_0x00011320(*(undefined4 *)PTR_optarg_0001dffc);
    if (0xffff < uVar7) {
      pr2serr("bad argument to \'--scattered=\'. Expect 0 to 0xffff inclusive\n");
      goto LAB_00011a7a;
    }
    local_7e0 = (ushort)uVar7;
    local_794 = (stat64 *)0x17172;
    local_817 = 1;
    psVar38 = local_7d0;
    uVar16 = uStack_7c4;
    uVar7 = local_7c0;
    goto code_r0x000114e8;
  case 0x54:
    uVar7 = func_0x00011320(*(undefined4 *)PTR_optarg_0001dffc);
    if (0xffff < uVar7) {
      pr2serr("bad argument to \'--stream=\', expect 0 to 65535\n");
      goto LAB_00011a7a;
    }
    uStack_7de = (undefined2)uVar7;
    local_794 = (stat64 *)0x17182;
    local_816 = 1;
    psVar38 = local_7d0;
    uVar16 = uStack_7c4;
    uVar7 = local_7c0;
    goto code_r0x000114e8;
  case 0x56:
    local_80e = '\x01';
    goto code_r0x000114e8;
  case 0x61:
    uVar7 = func_0x00011320(*(undefined4 *)PTR_optarg_0001dffc);
    if (0xffff < uVar7) {
      pr2serr("bad argument to \'--app-tag=\'. Expect 0 to 0xffff inclusive\n");
      goto LAB_00011a7a;
    }
    local_7e6 = (ushort)uVar7;
    psVar38 = local_7d0;
    uVar16 = uStack_7c4;
    uVar7 = local_7c0;
    goto code_r0x000114e8;
  case 0x62:
    psVar17 = (stat64 *)func_0x00011320(*(undefined4 *)PTR_optarg_0001dffc);
    if ((stat64 *)0x10000000 < psVar17) {
      pr2serr("bad argument to \'--bs=\'. Expect 0 or greater\n");
      goto LAB_00011a7a;
    }
    if (psVar17 == (stat64 *)0x0) {
      local_7d8 = (stat64 *)0x0;
      local_7d4 = (stat64 *)0x0;
      psVar38 = local_7d0;
      uVar16 = uStack_7c4;
      uVar7 = local_7c0;
    }
    else {
      if ((int)psVar17 < 0x200) {
        pr2serr("warning: --bs=BS value is < 512 which seems too small, continue\n");
        bVar1 = 1;
      }
      if (((uint)psVar17 & 7) != 0) {
        pr2serr("warning: --bs=BS value is not a multiple of 8, unexpected, continue\n");
        bVar1 = 1;
      }
      iVar21 = 0;
      iVar10 = 0;
      psVar38 = psVar17;
      do {
        if (((uint)psVar38 & 1) != 0) {
          iVar21 = iVar10;
        }
        iVar10 = iVar10 + 1;
        psVar38 = (stat64 *)((int)psVar38 >> 1);
      } while (iVar10 != 0x1c);
      psVar22 = (stat64 *)(1 << ((byte)iVar21 & 0x1f));
      local_7d8 = psVar17;
      local_7d4 = psVar17;
      psVar38 = local_7d0;
      uVar16 = uStack_7c4;
      uVar7 = local_7c0;
      if (psVar17 != psVar22) {
        local_7d8 = psVar22;
      }
    }
    goto code_r0x000114e8;
  case 99:
    iVar21 = func_0x00011320(*(undefined4 *)PTR_optarg_0001dffc);
    if (iVar21 < 0) {
      pr2serr("bad argument to \'--combined=\'. Expect 0 to 0x7fffffff\n");
      goto LAB_00011a7a;
    }
    local_7e2 = (ushort)iVar21;
    local_81c = '\x01';
    psVar38 = local_7d0;
    uVar16 = uStack_7c4;
    uVar7 = local_7c0;
    goto code_r0x000114e8;
  case 100:
    uStack_812 = 1;
    goto code_r0x000114e8;
  case 0x66:
    uStack_811 = 1;
    goto code_r0x000114e8;
  case 0x67:
    uStack_804 = func_0x00011320(*(undefined4 *)PTR_optarg_0001dffc);
    psVar38 = local_7d0;
    uVar16 = uStack_7c4;
    uVar7 = local_7c0;
    if (0x3f < uStack_804) {
      pr2serr("bad argument to \'--grpnum\'\n");
      goto LAB_00011a7a;
    }
    goto code_r0x000114e8;
  case 0x68:
    local_800 = local_800 + 1;
    goto code_r0x000114e8;
  case 0x69:
    local_79c = *(char **)PTR_optarg_0001dffc;
    goto code_r0x000114e8;
  case 0x6c:
    if (local_91c != (stat64 *)0x0) {
      pr2serr("only expect \'--lba=\' option once\n");
      goto LAB_00011a7a;
    }
    local_91c = *(stat64 **)PTR_optarg_0001dffc;
    goto code_r0x000114e8;
  case 0x6e:
    if (local_918 != (stat64 *)0x0) {
      pr2serr("only expect \'--num=\' option once\n");
      goto LAB_00011a7a;
    }
    local_918 = *(stat64 **)PTR_optarg_0001dffc;
    goto code_r0x000114e8;
  case 0x6f:
    lVar34 = sg_get_llnum(*(undefined4 *)PTR_optarg_0001dffc);
    psVar17 = (stat64 *)lVar34;
    if (lVar34 == -1) {
      pr2serr("bad first argument to \'--offset=\'\n");
      goto LAB_00011a7a;
    }
    uVar36 = 0x2c;
    psVar22 = psVar17;
    local_7b4 = psVar17;
    local_7b0 = (stat64 *)((ulonglong)lVar34 >> 0x20);
    pcVar15 = strchr(*(char **)puVar5,0x2c);
    psVar38 = local_7d0;
    uVar16 = uStack_7c4;
    uVar7 = local_7c0;
    if (pcVar15 != (char *)0x0) {
      lVar34 = sg_get_llnum(pcVar15 + 1,uVar36,psVar17,psVar22);
      psVar38 = (stat64 *)lVar34;
      uVar16 = uStack_7c4;
      uVar7 = local_7c0;
      if ((int)((ulonglong)lVar34 >> 0x20) == -1) {
        if (psVar38 == (stat64 *)0xffffffff) {
          pr2serr("bad second argument to \'--offset=\'\n");
          goto LAB_00011a7a;
        }
      }
      else if (0xffffffff < lVar34) {
        pr2serr("bad second argument to \'--offset=\', cannot exceed 32 bits\n");
        goto LAB_00011a7a;
      }
    }
    goto code_r0x000114e8;
  case 0x71:
    local_798 = *(char **)PTR_optarg_0001dffc;
    goto code_r0x000114e8;
  case 0x72:
    goto code_r0x000115f1;
  case 0x73:
    local_7f8 = local_7f8 + 1;
    goto code_r0x000114e8;
  case 0x74:
    uVar7 = func_0x00011320(*(undefined4 *)PTR_optarg_0001dffc);
    if (0xffff < uVar7) {
      pr2serr("bad argument to \'--tag-mask=\'. Expect 0 to 0xffff inclusive\n");
      goto LAB_00011a7a;
    }
    local_7dc = (ushort)uVar7;
    psVar38 = local_7d0;
    uVar16 = uStack_7c4;
    uVar7 = local_7c0;
    goto code_r0x000114e8;
  case 0x75:
    uVar7 = func_0x00011320(*(undefined4 *)puVar20);
    if (3 < uVar7) {
      pr2serr("bad argument to \'--unmap=\', expect 0 to 3\n");
      goto LAB_00011a7a;
    }
    bStack_81e = (byte)(uVar7 >> 1) & 1;
    bStack_815 = (byte)uVar7 & 1;
    psVar38 = local_7d0;
    uVar16 = uStack_7c4;
    uVar7 = local_7c0;
    goto code_r0x000114e8;
  case 0x76:
    local_80f = '\x01';
    local_7f0 = (stat64 *)((int)&local_7f0->st_dev + 1);
    goto code_r0x000114e8;
  case 0x77:
    local_7ec = (stat64 *)func_0x00011320(*(undefined4 *)puVar20);
    if ((stat64 *)0x7 < local_7ec) {
      pr2serr("bad argument to \'--wrprotect\'\n");
      goto LAB_00011a7a;
    }
    local_813 = 0 < (int)local_7ec;
    psVar38 = local_7d0;
    uVar16 = uStack_7c4;
    uVar7 = local_7c0;
    goto code_r0x000114e8;
  case 0x78:
    iStack_808 = iStack_808 + 1;
    goto code_r0x000114e8;
  }
  pr2serr(pcVar15);
  FUN_000149b0();
  goto LAB_00011a7a;
LAB_00011c60:
  while (*(int *)puVar4 < iVar14) {
    pr2serr("Unexpected extra argument: %s\n",*(undefined4 *)(iVar28 + *(int *)puVar4 * 4),iVar10,
            iVar10);
    *(int *)puVar4 = *(int *)puVar4 + 1;
    iVar10 = extraout_EDX;
  }
  FUN_000149b0();
  local_908 = (stat64 *)0x1;
  goto LAB_00011a84;
  while( true ) {
    iVar14 = iVar14 + -1;
    cVar6 = *pcVar15;
    pcVar15 = pcVar15 + (uint)bVar32 * -2 + 1;
    if (cVar6 == '\0') break;
code_r0x00011d5c:
    if (iVar14 == 0) break;
  }
  if ((iVar14 == -3) && (*local_798 == '-')) {
    pr2serr("don\'t accept \'-\' (implying stdin) as a filename in --scat-file=SF\n");
    local_908 = (stat64 *)0x1f;
    goto LAB_00011a84;
  }
LAB_00011d67:
  if (((psVar38 != (stat64 *)0x0) && (local_820 != '\0')) &&
     ((local_7c0 != 0xffffffff || ((local_7e6 & local_7dc) != 0xffff)))) {
    pr2serr("--app-tag=, --ref-tag= and --tag-mask= options ignored with 16 byte commands\n");
  }
  psVar45 = local_7d0;
  psVar9 = (stat64 *)(uint)local_810;
  if (local_810 == 0) {
    local_93c = local_7d0;
    cVar2 = '\0';
    if (local_79c == (char *)0x0) {
      pr2serr("Need --if=FN option to be given, exiting.\n");
      if (1 < (int)psVar38) {
        pr2serr("To write zeros use --in=/dev/zero\n");
      }
      pr2serr("\n");
      FUN_000149b0();
      local_908 = (stat64 *)0x1;
      goto LAB_00011a84;
    }
    iVar14 = -1;
    pcVar15 = local_79c;
    do {
      if (iVar14 == 0) break;
      iVar14 = iVar14 + -1;
      cVar6 = *pcVar15;
      pcVar15 = pcVar15 + (uint)bVar32 * -2 + 1;
    } while (cVar6 != '\0');
    if ((iVar14 != -3) || (*local_79c != '-')) {
      local_924 = (stat64 *)open64(local_79c,0,iVar14,iVar14);
      if ((int)local_924 < 0) {
        piVar19 = __errno_location();
        iVar14 = *piVar19;
        pcVar15 = "could not open %s for reading";
      }
      else {
        psVar17 = (stat64 *)sg_set_binary_mode(local_924);
        if ((int)psVar17 < 0) goto LAB_00011dea;
        psVar22 = local_924;
        psVar8 = local_930;
        iVar14 = __fxstat64(3,(int)local_924,local_930);
        if (-1 < iVar14) {
          if ((local_8e0._16_4_ & 0xf000) == 0x8000) {
            local_93c = (stat64 *)local_8e0._44_4_;
            if (psVar45 != (stat64 *)0x0) {
              local_93c = psVar45;
            }
            if ((local_8b0 != 0 || (stat64 *)local_8e0._44_4_ != (stat64 *)0x0) &&
               (psVar25 = (stat64 *)((int)&((stat64 *)(local_8e0._44_4_ + -0x60))->st_ino + 7),
               iVar28 = local_8b0 + -1 + (uint)((stat64 *)local_8e0._44_4_ != (stat64 *)0x0),
               iVar14 = (int)local_7b0 - iVar28,
               (SBORROW4((int)local_7b0,iVar28) != SBORROW4(iVar14,(uint)(local_7b4 < psVar25))) ==
               (int)(iVar14 - (uint)(local_7b4 < psVar25)) < 0)) {
              pr2serr("Offset (%llu) is at or beyond IF byte length (%llu)\n",local_7b4,local_7b0,
                      local_8e0._44_4_,local_8b0,psVar22,psVar8,psVar17);
              local_908 = (stat64 *)0xf;
              goto LAB_00012527;
            }
            psVar9 = local_7b4;
            psVar45 = (stat64 *)local_8e0._44_4_;
            iVar14 = local_8b0;
            if (local_7b0 != (stat64 *)0x0 || local_7b4 != (stat64 *)0x0) {
              psVar17 = (stat64 *)0x0;
              psVar22 = local_7b4;
              psVar8 = local_7b0;
              _Var35 = lseek64((int)local_924,CONCAT44(local_7b0,local_7b4),0);
              psVar25 = local_7b4;
              if (_Var35 < 0) {
                piVar19 = __errno_location();
                psVar25 = (stat64 *)(local_174 + 0x50);
                iVar14 = *piVar19;
                __snprintf_chk(psVar25,0x100,1,0x100,"couldn\'t offset to required position on %s",
                               local_79c,piVar19,piVar19);
                perror((char *)psVar25);
                local_908 = (stat64 *)sg_convert_errno(iVar14);
                goto LAB_00012527;
              }
              psVar9 = (stat64 *)((int)psVar45 - (int)local_7b4);
              iVar14 = (local_8b0 - (int)local_7b0) - (uint)(psVar45 < local_7b4);
              local_930 = psVar45;
              if ((int)(uint)(psVar9 != (stat64 *)0x0) <= -iVar14) {
                pr2serr("--offset [0x%llx] at or beyond file length[0x%llx]\n",local_7b4,local_7b0,
                        psVar45,local_8b0);
                local_908 = (stat64 *)0xf;
                goto LAB_00012527;
              }
              if ((local_7f8 != 0) &&
                 (local_930 = local_7d0, iVar14 < (int)(uint)(psVar9 < local_7d0))) {
                pr2serr("after accounting for OFF, DLEN exceeds %s remaining length (%u bytes)\n",
                        local_79c,psVar9,psVar9);
                local_908 = (stat64 *)0xf;
                psVar25 = psVar9;
                goto LAB_00012527;
              }
              if (iVar14 < (int)(uint)(psVar9 < local_93c)) {
                local_93c = psVar9;
              }
              psVar45 = psVar9;
              if (2 < (int)psVar38) {
                psVar22 = local_7b4;
                psVar8 = local_93c;
                psVar17 = psVar9;
                psVar9 = (stat64 *)
                         pr2serr("Moved IF byte pointer to %u, if_len=%u, if_readable_len=%u\n",
                                 local_7b4,local_93c,psVar9);
              }
            }
            goto LAB_00011fa8;
          }
          goto LAB_00011e6c;
        }
        piVar19 = __errno_location();
        iVar14 = *piVar19;
        pcVar15 = "could not fstat %s";
      }
      __snprintf_chk(local_174 + 0x50,0x100,1,0x100,pcVar15,local_79c,piVar19,piVar19);
      perror(local_174 + 0x50);
      local_908 = (stat64 *)sg_convert_errno(iVar14);
      goto LAB_00011a84;
    }
    iVar14 = sg_set_binary_mode(0);
    cVar2 = '\x01';
    local_924 = (stat64 *)0x0;
    if (iVar14 < 0) {
LAB_00011dea:
      perror("sg_set_binary_mode");
      local_908 = (stat64 *)0xf;
      goto LAB_00011a84;
    }
LAB_00011e6c:
    if (((stat64 *)((uint)local_7b0 | (uint)local_7b4) == (stat64 *)0x0) ||
       (psVar38 == (stat64 *)0x0)) {
      psVar9 = (stat64 *)((uint)local_7b0 | (uint)local_7b4);
      psVar45 = (stat64 *)0x0;
      iVar14 = 0;
    }
    else {
      psVar9 = (stat64 *)
               pr2serr(
                      "--offset=OFF ignored when IF is stdin, pipe, socket, etc\nDLEN, if given, is used\n"
                      );
      psVar45 = (stat64 *)0x0;
      iVar14 = 0;
    }
  }
  else {
    local_924 = (stat64 *)0xffffffff;
    cVar2 = '\0';
    psVar45 = (stat64 *)0x0;
    iVar14 = 0;
    local_93c = (stat64 *)0x0;
  }
LAB_00011fa8:
  if (local_7a0 == (stat64 *)0x0) {
    pr2serr("missing device name!\n",psVar22,psVar8,psVar17);
    FUN_000149b0();
    local_908 = (stat64 *)0x1;
    psVar25 = (stat64 *)0x0;
LAB_00012527:
    if (local_8f0 == (void *)0x0) goto LAB_000123a1;
    free(local_8f0);
    goto LAB_000123a1;
  }
  pcVar15 = (char *)0x0;
  psVar17 = psVar38;
  uVar33 = sg_cmds_open_device(local_7a0,0,psVar38,psVar9);
  psVar25 = local_7d8;
  psVar22 = (stat64 *)((ulonglong)uVar33 >> 0x20);
  local_930 = (stat64 *)uVar33;
  if ((int)local_930 < 0) {
    psVar25 = (stat64 *)-(int)local_930;
    if (local_7f0 != (stat64 *)0x0) {
      uVar16 = safe_strerror(psVar25);
      pr2serr("open error: %s: %s\n",local_7a0,uVar16);
    }
    local_908 = (stat64 *)sg_convert_errno(psVar25);
    goto LAB_00012527;
  }
  psVar8 = local_7d4;
  psVar11 = local_7d4;
  if (local_7d8 == (stat64 *)0x0) {
    psVar17 = (stat64 *)0x0;
    if (local_7f0 != (stat64 *)0x0) {
      psVar17 = (stat64 *)((int)&local_7f0[-1].st_ino + 7);
    }
    psVar22 = (stat64 *)local_174;
    psVar11 = (stat64 *)0x1;
    pcVar15 = (char *)0x20;
    psVar9 = psVar17;
    psVar8 = local_7f0;
    uVar33 = sg_ll_readcap_16(local_930,0,0,0,psVar22,0x20,1,psVar17,psVar22,local_7f0,psVar45,
                              iVar14);
    if ((int)uVar33 == 6) {
      pr2serr("Read capacity(16) unit attention, try again\n");
      uVar33 = sg_ll_readcap_16(local_930,0,0,0,psVar22,0x20,1,psVar17);
    }
    psVar23 = (stat64 *)((ulonglong)uVar33 >> 0x20);
    local_908 = (stat64 *)uVar33;
    if (local_908 == (stat64 *)0x0) {
      psVar17 = psVar11;
      if (3 < (int)psVar8) {
        pr2serr("Read capacity(16) response:\n");
        psVar17 = (stat64 *)0x1;
        pcVar15 = (char *)0x20;
        hex2stderr(psVar22,0x20,1);
      }
      bVar1 = local_174[0xc];
      psVar11 = (stat64 *)
                ((uint)local_174._8_4_ >> 0x18 | (local_174._8_4_ & 0xff0000) >> 8 |
                 (local_174._8_4_ & 0xff00) << 8 | local_174._8_4_ << 0x18);
      uVar7 = (uint)local_174._4_4_ >> 0x18 | (local_174._4_4_ & 0xff0000) >> 8 |
              (local_174._4_4_ & 0xff00) << 8 | local_174._4_4_ << 0x18;
      local_7ac = uVar7 + 1;
      local_7a8 = ((uint)local_174._0_4_ >> 0x18 | (local_174._0_4_ & 0xff0000) >> 8 |
                   (local_174._0_4_ & 0xff00) << 8 | local_174._0_4_ << 0x18) +
                  (uint)(0xfffffffe < uVar7);
      psVar22 = (stat64 *)(uint)local_174[0xc];
      local_7d8 = psVar11;
      if ((local_174[0xc] & 1) == 0) {
        local_7fc = 0;
        if ((int)local_7ec < 1) goto LAB_00012305;
        if (psVar8 != (stat64 *)0x0) {
          pcVar15 = (char *)local_7ec;
          psVar22 = local_7a0;
          pr2serr("--wrprotect (%d) expects PI but %s says it has none\n",local_7ec,local_7a0,
                  psVar11);
          if (local_7f8 != 0) goto LAB_00012ef5;
          pcVar13 = "  ... continue but could be dangerous\n";
          psVar25 = (stat64 *)0x0;
          psVar9 = psVar11;
          goto LAB_00013516;
        }
        if (local_7f8 != 0) goto LAB_00012ef5;
      }
      else {
        local_7fc = (local_174[0xc] >> 1 & 7) + 1;
        psVar25 = (stat64 *)(8 << (local_174[0xd] >> 4));
        psVar22 = (stat64 *)(uint)(local_174[0xd] >> 4);
        if (((int)local_7ec < 1) ||
           (local_7d4 = (stat64 *)((int)&psVar25->st_dev + (int)&psVar11->st_dev), (int)psVar8 < 2))
        {
LAB_00012305:
          if (psVar8 == (stat64 *)0x0) goto LAB_00012312;
        }
        else {
          pcVar13 = 
          "  For data out buffer purposes the effective block size is %u (lb size\n  is %u) because PROT_EN=1, PI_EXP=%u and WRPROTECT>0\n"
          ;
          pcVar15 = (char *)psVar11;
          psVar9 = local_7d4;
LAB_00013516:
          pr2serr(pcVar13,pcVar15,psVar22,psVar9);
          psVar17 = psVar22;
        }
        pr2serr("Read capacity(16) response fields:\n",pcVar15,psVar17,psVar9);
        psVar25 = (stat64 *)((int)&local_7d8->st_dev + (int)&psVar25->st_dev);
        psVar9 = extraout_ECX_06;
        pr2serr("  Last_LBA=0x%llx  LB size: %u (with PI: %u) bytes  p_type=%u\n",local_7ac + -1,
                local_7a8 + -1 + (uint)(local_7ac != 0),local_7d8,psVar25,local_174[0xc] >> 1 & 7,
                extraout_ECX_06,extraout_ECX_06);
        pr2serr("  prot_en=%u [PI type=%u] p_i_exp=%u  lbppb_exp=%u  lbpme,rz=%u,",bVar1 & 1,
                local_7fc,local_174[0xd] >> 4,local_174[0xd] & 0xf,
                (uint)(int)(char)local_174[0xe] >> 0x1f);
        psVar17 = (stat64 *)
                  ((ushort)(local_174._14_2_ << 8 | (ushort)local_174._14_2_ >> 8) & 0x3fff);
        pcVar15 = (char *)(local_174[0xe] >> 6 & 1);
        pr2serr("%u  low_ali_lba=%u\n",pcVar15,psVar17);
        psVar22 = extraout_EDX_04;
      }
    }
    else {
      if (((int)local_908 - 5U & 0xfffffffb) != 0) {
        if (psVar8 != (stat64 *)0x0) {
          puVar43 = local_174 + 0x50;
          psVar25 = (stat64 *)"OS error";
          puVar29 = puVar43;
          for (iVar14 = 9; iVar14 != 0; iVar14 = iVar14 + -1) {
            *puVar29 = (char)psVar25->st_dev;
            psVar25 = (stat64 *)((int)psVar25 + (uint)bVar32 * -2 + 1);
            puVar29 = puVar29 + (uint)bVar32 * -2 + 1;
          }
          psVar18 = local_908;
          if (0 < (int)local_908) {
            psVar18 = (stat64 *)sg_get_category_sense_str(local_908,0x50,puVar43,psVar8);
          }
          pr2serr("Read capacity(16): %s\n",puVar43,psVar18,psVar18);
          pr2serr("Unable to calculate block size\n");
        }
        if (0 < (int)local_908) goto LAB_00012354;
        goto LAB_00012ef5;
      }
      if (psVar8 == (stat64 *)0x0) {
        pcVar15 = (char *)0x1;
        uVar33 = sg_ll_readcap_10(local_930,0,0,psVar22,8,1,psVar17,psVar23);
        psVar22 = (stat64 *)((ulonglong)uVar33 >> 0x20);
        local_908 = (stat64 *)uVar33;
        psVar9 = psVar23;
        if (local_908 != (stat64 *)0x0) {
LAB_00013444:
          puVar43 = local_174 + 0x50;
          psVar25 = (stat64 *)"OS error";
          puVar29 = puVar43;
          for (iVar14 = 9; iVar14 != 0; iVar14 = iVar14 + -1) {
            *puVar29 = (char)psVar25->st_dev;
            psVar25 = (stat64 *)((int)psVar25 + (uint)bVar32 * -2 + 1);
            puVar29 = puVar29 + (uint)bVar32 * -2 + 1;
          }
          if (0 < (int)local_908) {
            sg_get_category_sense_str(local_908,0x50,puVar43,psVar8);
            pr2serr("Read capacity(10): %s\n",puVar43);
            pr2serr("Unable to calculate block size\n");
            goto LAB_00012354;
          }
          __snprintf_chk(puVar43,0x50,1,0x50,"error: %d",local_908,local_908,local_908);
          pr2serr("Read capacity(10): %s\n",puVar43);
          pr2serr("Unable to calculate block size\n");
          local_908 = (stat64 *)0xf;
          goto LAB_00012354;
        }
      }
      else {
        psVar25 = psVar22;
        pr2serr("Read capacity(16) not supported, try Read capacity(10)\n");
        pcVar15 = (char *)0x1;
        uVar33 = sg_ll_readcap_10(local_930,0,0,psVar25,8,1,psVar17);
        psVar22 = (stat64 *)((ulonglong)uVar33 >> 0x20);
        local_908 = (stat64 *)uVar33;
        if (local_908 != (stat64 *)0x0) goto LAB_00013444;
        if (3 < (int)psVar8) {
          pr2serr("Read capacity(10) response:\n");
          psVar17 = (stat64 *)0x1;
          pcVar15 = (char *)0x8;
          hex2stderr(psVar25,8,1);
          psVar22 = extraout_EDX_03;
        }
      }
      local_7a8 = 0;
      local_7ac = ((uint)local_174._0_4_ >> 0x18 | (local_174._0_4_ & 0xff0000) >> 8 |
                   (local_174._0_4_ & 0xff00) << 8 | local_174._0_4_ << 0x18) + 1;
      local_7d8 = (stat64 *)
                  ((uint)local_174._4_4_ >> 0x18 | (local_174._4_4_ & 0xff0000) >> 8 |
                   (local_174._4_4_ & 0xff00) << 8 | local_174._4_4_ << 0x18);
    }
LAB_00012312:
    local_7d4 = local_7d8;
    if (local_813 != '\0') {
      local_7d4 = (stat64 *)&local_7d8->__pad1;
    }
    psVar8 = local_7d4;
    psVar11 = local_7d8;
    if (local_7d4 == (stat64 *)0x0) goto LAB_00012338;
  }
  local_7d4 = psVar8;
  if (psVar11 == (stat64 *)0x0) {
LAB_00012338:
    pr2serr("Logic error, need block size by now\n",pcVar15,psVar17);
    local_908 = (stat64 *)0x1;
    goto LAB_00012354;
  }
  if ((local_810 == 0) &&
     (psVar22 = (stat64 *)((uint)local_93c % (uint)psVar8), psVar22 != (stat64 *)0x0)) {
    if (1 < (int)local_7f8) {
      pr2serr("Error: number of bytes to read from IF [%u] is not a multiple\nblock size %u (including protection information)\n"
              ,local_93c,psVar8,local_7f8);
      local_908 = (stat64 *)0xf;
      goto LAB_00012354;
    }
    psVar11 = (stat64 *)(local_7f8 | (uint)psVar38);
    if (psVar11 != (stat64 *)0x0) {
      pcVar15 = (char *)local_93c;
      pr2serr("Warning: number of bytes to read from IF [%u] is not a multiple\nof actual block size %u; pad with zeros\n"
              ,local_93c,psVar8,psVar11);
      psVar22 = extraout_EDX_02;
      psVar17 = psVar8;
      psVar9 = psVar11;
    }
  }
  puVar42 = &local_578;
  puVar26 = puVar42;
  for (iVar14 = 0x100; iVar14 != 0; iVar14 = iVar14 + -1) {
    *puVar26 = 0;
    puVar26 = puVar26 + (uint)bVar32 * -2 + 1;
  }
  ppsVar44 = local_778;
  ppsVar27 = ppsVar44;
  for (iVar14 = 0x80; iVar14 != 0; iVar14 = iVar14 + -1) {
    *ppsVar27 = (stat64 *)0x0;
    ppsVar27 = ppsVar27 + (uint)bVar32 * -2 + 1;
  }
  if (bVar31) {
    uVar7 = 0xffffffff;
    psVar22 = local_91c;
    do {
      if (uVar7 == 0) break;
      uVar7 = uVar7 - 1;
      p_Var3 = &psVar22->st_dev;
      psVar22 = (stat64 *)((int)psVar22 + (uint)bVar32 * -2 + 1);
    } while ((char)*p_Var3 != '\0');
    psVar25 = (stat64 *)(~uVar7 - 1);
    if ((char)local_91c->st_dev == '-') {
      pr2serr("\'--lba\' cannot be read from stdin\n",pcVar15,psVar17,psVar9);
      goto LAB_00012130;
    }
    pcVar15 = "0123456789aAbBcCdDeEfFhHxXiIkKmMgGtTpP, ";
    psVar17 = local_91c;
    psVar9 = local_91c;
    psVar8 = (stat64 *)strspn((char *)local_91c,"0123456789aAbBcCdDeEfFhHxXiIkKmMgGtTpP, ");
    psVar22 = psVar25;
    if (psVar25 == psVar8) {
      psVar22 = (stat64 *)0x0;
      psVar25 = local_91c;
      while( true ) {
        lVar34 = sg_get_llnum(psVar25,pcVar15,psVar17,psVar9);
        psVar17 = (stat64 *)lVar34;
        if (lVar34 == -1) break;
        puVar42[(int)psVar22 * 2] = (uint)psVar17;
        puVar42[(int)psVar22 * 2 + 1] = (uint)((ulonglong)lVar34 >> 0x20);
        psVar9 = psVar17;
        pcVar12 = strchr((char *)psVar25,0x2c);
        pcVar15 = (char *)0x20;
        pcVar13 = strchr((char *)psVar25,0x20);
        if (pcVar12 == (char *)0x0) {
          if (pcVar13 == (char *)0x0) {
            local_91c = (stat64 *)((int)&psVar22->st_dev + 1);
            if (local_93f != '\0') goto LAB_000126fa;
            psVar22 = (stat64 *)0x0;
            psVar17 = extraout_ECX;
            if (local_91c != (stat64 *)0x1) goto LAB_00012a73;
            goto LAB_00012820;
          }
        }
        else if ((pcVar13 == (char *)0x0) || (pcVar12 <= pcVar13)) {
          pcVar13 = pcVar12;
        }
        psVar22 = (stat64 *)((int)&psVar22->st_dev + 1);
        psVar25 = (stat64 *)(pcVar13 + 1);
        if (psVar22 == (stat64 *)0x80) goto LAB_00013b9f;
      }
      psVar8 = (stat64 *)((int)psVar25 - (int)local_91c);
    }
    pr2serr("build_lba_arr: error at pos %d\n",(undefined *)((int)&psVar8->st_dev + 1),psVar22,
            psVar22);
    goto LAB_00012130;
  }
  local_91c = (stat64 *)0x0;
  if (bVar30) {
LAB_000126fa:
    psVar8 = (stat64 *)0xffffffff;
    psVar22 = local_918;
    do {
      if (psVar8 == (stat64 *)0x0) break;
      psVar8 = (stat64 *)((int)&psVar8[-1].st_ino + 7);
      p_Var3 = &psVar22->st_dev;
      psVar22 = (stat64 *)((int)psVar22 + (uint)bVar32 * -2 + 1);
    } while ((char)*p_Var3 != '\0');
    psVar25 = (stat64 *)(~(uint)psVar8 - 1);
    if ((char)local_918->st_dev == '-') {
      pr2serr("\'--len\' cannot be read from stdin\n");
    }
    else {
      pcVar15 = "0123456789aAbBcCdDeEfFhHxXiIkKmMgGtTpP, ";
      psVar17 = psVar8;
      psVar22 = (stat64 *)strspn((char *)local_918,"0123456789aAbBcCdDeEfFhHxXiIkKmMgGtTpP, ");
      psVar9 = extraout_EDX_00;
      if (psVar25 == psVar22) {
        psVar9 = (stat64 *)0x0;
        psVar25 = local_918;
        do {
          lVar34 = sg_get_llnum(psVar25,pcVar15,psVar8,psVar17);
          psVar8 = (stat64 *)lVar34;
          if ((int)((ulonglong)lVar34 >> 0x20) == -1) {
            if (psVar8 == (stat64 *)0xffffffff) {
              psVar22 = (stat64 *)((int)psVar25 - (int)local_918);
              goto LAB_000127bf;
            }
          }
          else if (0xffffffff < lVar34) {
            psVar17 = (stat64 *)((int)psVar25 + (1 - (int)local_918));
            pcVar15 = "build_num_arr";
            pr2serr("%s: number exceeds 32 bits at pos %d\n","build_num_arr",psVar17,psVar9);
            goto LAB_000127d9;
          }
          ppsVar44[(int)psVar9] = psVar8;
          psVar17 = psVar8;
          pcVar12 = strchr((char *)psVar25,0x2c);
          pcVar15 = (char *)0x20;
          pcVar13 = strchr((char *)psVar25,0x20);
          if (pcVar12 == (char *)0x0) {
            if (pcVar13 == (char *)0x0) {
              puVar20 = (undefined *)((int)&psVar9->st_dev + 1);
              psVar22 = (stat64 *)0x0;
              psVar17 = extraout_ECX_00;
              if ((undefined *)0x1 < local_91c) {
                if ((stat64 *)puVar20 == local_91c) goto LAB_00012820;
                goto LAB_00012a73;
              }
              if (local_91c == (stat64 *)0x0) {
                if (puVar20 != (undefined *)0x1) {
LAB_00012a73:
                  pr2serr("need same number of arguments to \'--lba=\' and \'--num=\' options\n");
                  local_908 = (stat64 *)0x1f;
                  goto LAB_00012354;
                }
                local_91c = (stat64 *)(undefined *)0x1;
                if (local_778[0] != (stat64 *)0x0) {
                  pr2serr("won\'t write %u blocks without an explicit --lba= option\n",local_778[0],
                          extraout_ECX_00,extraout_ECX_00);
                  local_908 = (stat64 *)0x1;
                  goto LAB_00012354;
                }
              }
              else {
                local_91c = (stat64 *)(undefined *)0x1;
              }
              goto LAB_00012820;
            }
          }
          else if ((pcVar13 == (char *)0x0) || (pcVar12 <= pcVar13)) {
            pcVar13 = pcVar12;
          }
          psVar9 = (stat64 *)((int)&psVar9->st_dev + 1);
          psVar25 = (stat64 *)(pcVar13 + 1);
        } while (psVar9 != (stat64 *)0x80);
        pcVar15 = "build_num_arr";
        psVar17 = extraout_ECX_00;
        psVar9 = extraout_ECX_00;
        pr2serr("%s: array length exceeded\n","build_num_arr",extraout_ECX_00,extraout_ECX_00);
      }
      else {
LAB_000127bf:
        psVar17 = (stat64 *)((int)&psVar22->st_dev + 1);
        pcVar15 = "build_num_arr";
        pr2serr("%s: error at pos %d\n","build_num_arr",psVar17,psVar9);
      }
    }
LAB_000127d9:
    pr2serr("bad argument to \'--num\'\n",pcVar15,psVar17,psVar9);
    local_908 = (stat64 *)0x0;
    goto LAB_00012354;
  }
  psVar17 = (stat64 *)0x0;
  local_91c = (stat64 *)(undefined *)0x0;
LAB_00012820:
  if (local_798 == (char *)0x0) {
LAB_00012ce5:
    local_908 = (stat64 *)0x0;
    local_880._44_4_ = psVar25;
  }
  else {
    pcVar15 = local_798;
    iVar14 = __xstat64(3,local_798,psVar18);
    if (iVar14 < 0) {
      piVar19 = __errno_location();
      psVar25 = (stat64 *)*piVar19;
      uVar16 = safe_strerror(psVar25);
      pcVar15 = "Unable to stat(%s) as SF: %s\n";
LAB_000136f9:
      pr2serr(pcVar15,local_798,uVar16);
      local_908 = (stat64 *)sg_convert_errno(psVar25);
      goto LAB_00012354;
    }
    if (local_819 == '\0') {
      iVar14 = 0;
      if (local_7e0 != 0) {
        iVar14 = (local_7e0 + 1) * 0x20;
      }
      local_908 = (stat64 *)FUN_000156d0(0,&local_8f8,&local_8f4,iVar14);
      if (local_908 != (stat64 *)0x0) goto LAB_00012354;
      psVar17 = extraout_ECX_04;
      if ((local_7e0 != 0) && (local_7e0 != local_8f8)) {
        if (local_8f8 < local_7e0) {
          pr2serr("RD (%u) %s number of %ss (%u) found in SF\n",local_7e0,&DAT_000170dd,
                  "LBA range descriptor",local_8f8);
          local_908 = (stat64 *)0xf;
          goto LAB_00012354;
        }
        psVar25 = (stat64 *)((uint)psVar38 | local_7f8);
        if ((psVar25 != (stat64 *)0x0) &&
           (pr2serr("RD (%u) %s number of %ss (%u) found in SF\n",local_7e0,&DAT_00017110,
                    "LBA range descriptor",local_8f8), psVar17 = extraout_ECX_01, local_7f8 != 0))
        goto LAB_00012ef5;
      }
      goto LAB_00012ce5;
    }
    if ((local_880._16_4_ & 0xf000) != 0x8000) {
      pr2serr("Expect scatter file to be a regular file\n",pcVar15,psVar18,psVar22);
      local_908 = (stat64 *)0xf;
      goto LAB_00012354;
    }
    local_908 = (stat64 *)local_880._44_4_;
    local_920 = (stat64 *)open64(local_798,0,0x8000,0x8000);
    if ((int)local_920 < 0) {
      piVar19 = __errno_location();
      psVar25 = (stat64 *)*piVar19;
      uVar16 = safe_strerror(psVar25);
      pcVar15 = "Failed to open %s for raw read: %s\n";
      goto LAB_000136f9;
    }
    iVar14 = sg_set_binary_mode(local_920);
    psVar17 = extraout_ECX_05;
    if (iVar14 < 0) {
      perror("sg_set_binary_mode");
      local_908 = (stat64 *)0xf;
      psVar25 = (stat64 *)local_880._44_4_;
      goto LAB_00012354;
    }
  }
  psVar18 = local_7f0;
  psVar25 = local_8f4;
  if (local_817 == 0) {
    if (local_91c == (stat64 *)0x0) {
      psVar25 = (stat64 *)local_880._44_4_;
      if (local_798 == (char *)0x0) {
        if (local_819 == '\0') {
          pr2serr("No LBA or number_of_blocks given, try using --lba= and --num=\n");
          local_908 = (stat64 *)0x1;
          goto LAB_00012354;
        }
      }
      else if (local_819 == '\0') {
        local_8f4 = (stat64 *)0x0;
        uVar33 = FUN_000156d0(local_174 + 0x50,&local_8f8,&local_8f4,0x60);
        uVar16 = (undefined4)((ulonglong)uVar33 >> 0x20);
        local_908 = (stat64 *)uVar33;
        if (local_908 != (stat64 *)0x0) goto LAB_00012354;
        if (psVar38 != (stat64 *)0x0) {
          uVar7 = (uint)local_8f8;
          if (1 < local_8f8) {
            uVar7 = pr2serr("warning: %d LBA,number_of_blocks pairs found, only taking first\n",
                            uVar7,uVar16,uVar16);
          }
          if (2 < (int)psVar38) {
            pr2serr("after build_t10_scat, num_lbard=%u, sum_num=%u\n",local_8f8,local_8f4,uVar7);
          }
        }
        if (local_8f8 != 1) {
          pr2serr("Unable to decode one LBA range descriptor from %s\n",local_798,0,0);
          local_908 = (stat64 *)0xf;
          goto LAB_00012354;
        }
        local_7b8 = local_104 >> 0x18 | (local_104 & 0xff0000) >> 8 | (local_104 & 0xff00) << 8 |
                    local_104 << 0x18;
        local_7bc = local_100 >> 0x18 | (local_100 & 0xff0000) >> 8 | (local_100 & 0xff00) << 8 |
                    local_100 << 0x18;
        local_7cc = (stat64 *)
                    (local_fc >> 0x18 | (local_fc & 0xff0000) >> 8 | (local_fc & 0xff00) << 8 |
                    local_fc << 0x18);
        if (local_81f != '\0') {
          local_7c0 = local_f8 >> 0x18 | (local_f8 & 0xff0000) >> 8 | (local_f8 & 0xff00) << 8 |
                      local_f8 << 0x18;
          local_7e6 = local_f4 << 8 | local_f4 >> 8;
          local_7dc = local_f2 << 8 | local_f2 >> 8;
        }
        goto LAB_00012d48;
      }
      if (local_908 < (stat64 *)0x40) {
        pr2serr("raw scatter file must be at least 64 bytes long (length: %u)\n",local_908,
                local_880._44_4_,local_880._44_4_);
LAB_00012ef5:
        local_908 = (stat64 *)0xf;
        goto LAB_00012354;
      }
      psVar25 = (stat64 *)(local_174 + 0x50);
      local_908 = (stat64 *)FUN_00014a80(&DAT_00017365);
      if (local_908 != (stat64 *)0x0) goto LAB_00012354;
      cVar6 = FUN_000146a0(&local_8f8,&local_8f4,extraout_ECX_03,extraout_ECX_03);
      if (cVar6 == '\0') goto LAB_00012ef5;
      if (local_8f8 != 1) {
        pr2serr("No %ss found in SF (num=%u)\n","LBA range descriptor",local_8f8,extraout_EDX_01);
        goto LAB_00012ef5;
      }
      local_7b8 = local_114 >> 0x18 | (local_114 & 0xff0000) >> 8 | (local_114 & 0xff00) << 8 |
                  local_114 << 0x18;
      local_7bc = local_110 >> 0x18 | (local_110 & 0xff0000) >> 8 | (local_110 & 0xff00) << 8 |
                  local_110 << 0x18;
      local_7cc = (stat64 *)
                  (local_10c >> 0x18 | (local_10c & 0xff0000) >> 8 | (local_10c & 0xff00) << 8 |
                  local_10c << 0x18);
    }
    else {
      local_7bc = local_578;
      local_7b8 = local_574;
      local_7cc = local_778[0];
      if ((psVar38 != (stat64 *)0x0) && (local_91c != (stat64 *)0x1)) {
        pr2serr("warning: %d LBA,number_of_blocks pairs found, only taking first\n",local_91c,
                psVar17,psVar17);
      }
    }
LAB_00012d48:
    if (local_818 == 0) {
      psVar25 = (stat64 *)((int)local_7cc * (int)local_7d4);
    }
    else {
      psVar25 = (stat64 *)0x0;
      if (local_810 == 0) {
        psVar25 = local_7d4;
      }
    }
    local_7a4 = psVar25;
    if (psVar25 != (stat64 *)0x0) {
      iVar14 = sg_memalign(psVar25,0,&local_8f0,0);
      if (iVar14 == 0) {
        pcVar15 = "unable to allocate %u bytes of memory\n";
        ppvVar39 = (void **)0x0;
        uVar16 = 0;
        psVar38 = psVar25;
LAB_00013bea:
        pr2serr(pcVar15,psVar38,ppvVar39,uVar16);
        local_908 = (stat64 *)sg_convert_errno(0xc);
        goto LAB_00012354;
      }
      local_908 = (stat64 *)FUN_00014a80(&DAT_000173c6);
      if (local_908 != (stat64 *)0x0) goto LAB_00012354;
    }
    local_908 = (stat64 *)FUN_00014b00(&local_820);
    if (local_908 == (stat64 *)0x0) goto LAB_00012354;
    if (local_81a != '\0') goto LAB_00012354;
    puVar43 = local_174;
    psVar25 = (stat64 *)"OS error";
    puVar29 = puVar43;
    for (iVar14 = 9; iVar14 != 0; iVar14 = iVar14 + -1) {
      *puVar29 = (char)psVar25->st_dev;
      psVar25 = (stat64 *)((int)psVar25 + (uint)bVar32 * -2 + 1);
      puVar29 = puVar29 + (uint)bVar32 * -2 + 1;
    }
    uVar16 = 0;
    if (0 < (int)local_908) {
      sg_get_category_sense_str(local_908,0x50,puVar43,psVar38);
      uVar16 = extraout_ECX_02;
    }
    pr2serr("%s: %s\n",local_790,puVar43,uVar16);
    goto LAB_00012354;
  }
  local_8e8 = (void *)0x0;
  local_8f6 = local_8f8;
  local_8ec = (undefined1  [4])local_8f4;
  if (local_81c != '\0') {
    if (local_7e2 == 0) {
      if (local_7e0 == 0) {
        psVar17 = local_93c;
        if (local_93c == (stat64 *)0x0) {
          pr2serr("With --combined= if DOF, RD are 0 and IF has an unknown length\nthen give up\n");
          local_908 = (stat64 *)0x1f;
          goto LAB_00012354;
        }
      }
      else {
        psVar17 = (stat64 *)((local_7e0 + 1) * 0x20);
      }
      if ((uint)psVar17 % (uint)local_7d4 != 0) {
        psVar17 = (stat64 *)(((uint)psVar17 / (uint)local_7d4 + 1) * (int)local_7d4);
      }
    }
    else {
      psVar17 = (stat64 *)((uint)local_7e2 * (int)local_7d4);
    }
    ppvVar39 = &local_8e8;
    uVar16 = 0;
    psVar38 = (stat64 *)0x0;
    psVar25 = (stat64 *)sg_memalign(psVar17,0,ppvVar39,0);
    if (psVar25 == (stat64 *)0x0) {
LAB_000141a6:
      pcVar15 = "unable to allocate aligned memory for scatterlist+data\n";
      goto LAB_00013bea;
    }
    local_908 = (stat64 *)FUN_00014a80("IF c1");
    if (local_908 != (stat64 *)0x0) goto LAB_000133fd;
    cVar6 = FUN_000146a0(&local_8f6,local_8ec,0,0);
    if (cVar6 != '\0') {
      if ((local_7e0 == 0) || (local_7e0 == local_8f6)) {
        local_7e0 = local_8f6;
LAB_00013fe3:
        local_908 = (stat64 *)((local_7e0 + 1) * 0x20);
        if ((uint)local_908 % (uint)local_7d4 != 0) {
          local_908 = (stat64 *)(((uint)local_908 / (uint)local_7d4 + 1) * (int)local_7d4);
        }
        uVar7 = (uint)local_7e2;
        uVar24 = uVar7 * (int)local_7d4;
        psVar38 = local_908;
        local_8f6 = local_7e0;
        if (uVar24 - (int)local_908 != 0) {
          if (uVar24 < local_908) {
            pr2serr("%s: Cannot fit %ss (%u) in given LB data offset (%u)\n","process_scattered",
                    "LBA range descriptor",(uint)local_7e0,uVar7);
            goto LAB_000133f3;
          }
          psVar38 = (stat64 *)uVar24;
          if ((((uint)psVar18 | local_7f8) != 0) &&
             (pr2serr("%s: empty blocks before LB data offset (%u), could be okay\n",
                      "process_scattered",uVar7,(uint)psVar18 | local_7f8), local_7f8 != 0)) {
            pr2serr("Exiting due to --strict; perhaps try again with --combined=%u\n",
                    (uint)local_908 / (uint)local_7d4,psVar25,psVar25);
            local_908 = (stat64 *)0xf;
            goto LAB_000133fd;
          }
        }
        psVar38 = (stat64 *)((int)local_8ec * (int)local_7d4 + (int)psVar38);
        if (psVar38 <= psVar17) {
LAB_0001418c:
          local_7cc = (stat64 *)local_8ec;
          local_7a4 = (stat64 *)((int)local_8ec * (int)local_7d4);
          goto LAB_00013962;
        }
        if (local_93c != psVar38) {
          if (local_93c < psVar38) {
            pr2serr("Calculated dout length (%u) %s bytes available in IF (%u)\n",psVar38,
                    &DAT_000170dd,local_93c);
          }
          else if ((psVar18 == (stat64 *)0x0 && local_7f8 == 0) ||
                  (pr2serr("Calculated dout length (%u) %s bytes available in IF (%u)\n",psVar38,
                           &DAT_00017110,local_93c), local_7f8 == 0)) goto LAB_00014113;
          goto LAB_000133f3;
        }
LAB_00014113:
        uVar33 = sg_memalign(psVar38,0,&local_8e4,0);
        uVar16 = (undefined4)((ulonglong)uVar33 >> 0x20);
        psVar38 = (stat64 *)uVar33;
        if (psVar38 != (stat64 *)0x0) {
          memcpy(psVar38,psVar25,(size_t)psVar17);
          free(local_8e8);
          local_8e8 = local_8e4;
          local_908 = (stat64 *)FUN_00014a80("IF c2",psVar25,psVar17,uVar16);
          psVar25 = psVar38;
          if (local_908 != (stat64 *)0x0) goto LAB_000133fd;
          goto LAB_0001418c;
        }
LAB_00014273:
        pcVar15 = "unable to allocate memory for final scatterlist+data\n";
        goto LAB_00013fbc;
      }
      if (local_8f6 < local_7e0) {
        pr2serr("RD (%u) %s number of %ss (%u) found in IF\n",local_7e0,&DAT_000170dd,
                "LBA range descriptor",local_8f6);
      }
      else if ((psVar18 == (stat64 *)0x0 && local_7f8 == 0) ||
              (pr2serr("RD (%u) %s number of %ss (%u) found in IF\n",local_7e0,&DAT_00017110,
                       "LBA range descriptor",local_8f6), local_7f8 == 0)) {
        local_908 = (stat64 *)0x0;
        for (psVar38 = psVar25; (stat64 *)(&psVar25->st_dev + (uint)local_7e0 * 4) != psVar38;
            psVar38 = (stat64 *)&psVar38->st_rdev) {
          uVar7 = psVar38->__pad2;
          local_908 = (stat64 *)
                      ((int)&local_908->st_dev +
                      (uVar7 >> 0x18 | (uVar7 & 0xff0000) >> 8 | (uVar7 & 0xff00) << 8 |
                      uVar7 << 0x18));
        }
        local_8ec = (undefined1  [4])local_908;
        goto LAB_00013fe3;
      }
    }
LAB_000133f3:
    local_908 = (stat64 *)0xf;
    goto LAB_000133fd;
  }
  if (local_91c != (stat64 *)0x0) {
    local_8f6 = (ushort)local_91c;
  }
  if (local_798 == (char *)0x0) {
    if (local_819 != '\0') goto LAB_00013dcd;
    if (local_91c == (stat64 *)0x0) {
      pr2serr("How did we get here??\n");
      local_908 = (stat64 *)0x1;
      goto LAB_000133fd;
    }
    if ((local_7e0 != 0) && (local_91c < (undefined *)(uint)local_7e0)) {
      pr2serr("%s: number given to --scattered= (%u) exceeds number of --lba= elements (%u)\n",
              "process_scattered",(undefined *)(uint)local_7e0,local_91c);
      local_908 = (stat64 *)0x1f;
      goto LAB_00012354;
    }
    uVar7 = (local_8f6 + 1) * 0x20;
    local_7e2 = (ushort)(uVar7 / (uint)local_7d4);
    if (uVar7 % (uint)local_7d4 != 0) {
      local_7e2 = local_7e2 + 1;
    }
    iVar14 = 0;
    local_8ec = (undefined1  [4])0x0;
    do {
      local_8ec = (undefined1  [4])((int)&((stat64 *)local_8ec)->st_dev + (int)ppsVar44[iVar14]);
      iVar14 = iVar14 + 1;
    } while (iVar14 < (int)local_91c);
    psVar25 = (stat64 *)
              sg_memalign((int)((int)&((stat64 *)local_8ec)->st_dev + (uint)local_7e2) *
                          (int)local_7d4,0,&local_8e8,0);
    if (psVar25 == (stat64 *)0x0) goto LAB_00013fb3;
    iVar14 = 0;
    psVar38 = psVar25;
    do {
      uVar7 = puVar42[iVar14 * 2];
      uVar24 = puVar42[iVar14 * 2 + 1];
      *(uint *)&psVar38->st_rdev =
           uVar24 >> 0x18 | (uVar24 & 0xff0000) >> 8 | (uVar24 & 0xff00) << 8 | uVar24 << 0x18;
      *(uint *)((int)&psVar38->st_rdev + 4) =
           uVar7 >> 0x18 | (uVar7 & 0xff0000) >> 8 | (uVar7 & 0xff00) << 8 | uVar7 << 0x18;
      psVar17 = ppsVar44[iVar14];
      psVar38->__pad2 =
           (uint)psVar17 >> 0x18 | ((uint)psVar17 & 0xff0000) >> 8 | ((uint)psVar17 & 0xff00) << 8 |
           (int)psVar17 << 0x18;
      if (local_81f != '\0') {
        if (iVar14 == 0) {
          *(uint *)&psVar38->st_size =
               local_7c0 >> 0x18 | (local_7c0 & 0xff0000) >> 8 | (local_7c0 & 0xff00) << 8 |
               local_7c0 << 0x18;
          *(ushort *)((int)&psVar38->st_size + 4) = local_7e6 << 8 | local_7e6 >> 8;
          *(ushort *)((int)&psVar38->st_size + 6) = local_7dc << 8 | local_7dc >> 8;
        }
        else {
          *(undefined4 *)&psVar38->st_size = 0xffffffff;
          *(undefined2 *)((int)&psVar38->st_size + 4) = 0xffff;
          *(undefined2 *)((int)&psVar38->st_size + 6) = 0xffff;
        }
      }
      iVar14 = iVar14 + 1;
      psVar38 = (stat64 *)&psVar38->st_rdev;
    } while (iVar14 < (int)local_91c);
    local_7cc = (stat64 *)local_8ec;
  }
  else {
    if (local_819 == '\0') {
      uVar7 = (uint)local_8f6;
      uVar16 = 0;
      uVar24 = (uVar7 + 1) * 0x20;
      local_7e2 = (ushort)(uVar24 / (uint)local_7d4);
      ppvVar39 = &local_8e8;
      if (uVar24 % (uint)local_7d4 != 0) {
        local_7e2 = local_7e2 + 1;
      }
      psVar38 = (stat64 *)0x0;
      psVar25 = (stat64 *)
                sg_memalign((int)((int)&local_8f4->st_dev + (uint)local_7e2) * (int)local_7d4,0,
                            ppvVar39,0);
      if (psVar25 == (stat64 *)0x0) goto LAB_000141a6;
      local_8f6 = 0;
      local_8ec = (undefined1  [4])0x0;
      if (uVar7 + 1 == 1) {
        uVar24 = (uint)local_7e2 * (int)local_7d4;
      }
      local_908 = (stat64 *)FUN_000156d0(psVar25,&local_8f6,local_8ec,uVar24);
      if (local_908 != (stat64 *)0x0) goto LAB_000133fd;
      psVar38 = (stat64 *)((int)local_7d4 * (int)local_8ec);
      if (local_7d0 <= psVar38) {
        if ((local_7d0 <= psVar38 && (int)psVar38 - (int)local_7d0 != 0) &&
           (local_7d0 != (stat64 *)0x0)) {
          psVar38 = local_7d0;
        }
LAB_00014208:
        if ((psVar45 != (stat64 *)0x0) && (psVar45 != psVar38)) {
          if (psVar18 != (stat64 *)0x0) {
            puVar20 = &DAT_00017110;
            if (psVar38 <= psVar45) {
              puVar20 = &DAT_000170dd;
            }
            pr2serr("readable length (%u) of IF %s bytes implied by sum of\nscatter list NUMs (%u) and DLEN\n"
                    ,psVar45,puVar20,psVar38);
          }
          if ((local_7f8 != 0) && ((psVar38 <= psVar45 || (1 < (int)local_7f8)))) goto LAB_000133f3;
LAB_0001387e:
          if (psVar45 < psVar38) {
            psVar38 = psVar45;
          }
        }
        psVar17 = (stat64 *)((uint)psVar38 / (uint)local_7d4);
        if (((uint)psVar38 % (uint)local_7d4 != 0) &&
           ((psVar18 != (stat64 *)0x0 || (1 < (int)local_7f8)))) {
          psVar22 = local_7d8;
          pr2serr("Calculated data-out length (0x%x) not a multiple of BS (%u",psVar38,local_7d8,
                  psVar17);
          if (local_7d8 != local_7d4) {
            psVar38 = (stat64 *)((int)local_7d4 - (int)local_7d8);
            psVar22 = extraout_ECX_07;
            psVar17 = extraout_ECX_07;
            pr2serr(" + %d(PI)",psVar38,extraout_ECX_07,extraout_ECX_07);
          }
          if (1 < (int)local_7f8) {
            pr2serr(")\nexiting ...\n",psVar38,psVar22,psVar17);
            local_908 = (stat64 *)0xf;
            goto LAB_000133fd;
          }
          pr2serr(")\nzero pad and continue ...\n",psVar38,psVar22,psVar17);
        }
      }
      else {
        uVar7 = (uint)psVar18 | local_7f8;
        if (uVar7 != 0) {
          pr2serr("DLEN > than bytes implied by sum of scatter list NUMs (%u)\n",psVar38,uVar7,uVar7
                 );
          if (1 < (int)psVar18) {
            pr2serr("  num_lbard=%u, sum_num=%u actual_bs=%u",local_8f6,local_8ec,local_7d4);
          }
          if (local_7f8 != 0) goto LAB_000133f3;
          goto LAB_00014208;
        }
        if ((psVar45 != (stat64 *)0x0) && (psVar45 != psVar38)) goto LAB_0001387e;
      }
      local_908 = (stat64 *)FUN_00014a80(&DAT_00017360);
    }
    else {
LAB_00013dcd:
      psVar38 = local_7d4;
      if (local_7e0 != 0) {
        psVar38 = (stat64 *)((local_7e0 + 1) * 0x20);
        if (local_908 < psVar38) {
          pr2serr("SF not long enough (%u bytes) to provide RD (%u) %ss\n",local_908,psVar38,
                  "LBA range descriptor");
          local_908 = (stat64 *)0xf;
          goto LAB_000133fd;
        }
        psVar38 = (stat64 *)
                  ((((uint)psVar38 / (uint)local_7d4 + 1) -
                   (uint)((uint)psVar38 % (uint)local_7d4 == 0)) * (int)local_7d4);
      }
      local_918 = local_7d4;
      if (local_93c != (stat64 *)0x0) {
        local_918 = (stat64 *)
                    ((((uint)local_93c / (uint)local_7d4 + 1) -
                     (uint)((uint)local_93c % (uint)local_7d4 == 0)) * (int)local_7d4);
      }
      psVar25 = (stat64 *)
                sg_memalign((undefined *)((int)&psVar38->st_dev + (int)&local_918->st_dev),0,
                            &local_8e8,0);
      if (psVar25 == (stat64 *)0x0) {
LAB_00013fb3:
        pcVar15 = "unable to allocate aligned memory for scatterlist+data\n";
LAB_00013fbc:
        pr2serr(pcVar15);
        local_908 = (stat64 *)sg_convert_errno(0xc);
        goto LAB_000133fd;
      }
      local_908 = (stat64 *)FUN_00014a80(&DAT_00017365);
      if (local_908 != (stat64 *)0x0) goto LAB_000133fd;
      psVar17 = (stat64 *)local_8ec;
      psVar22 = extraout_ECX_08;
      psVar8 = extraout_ECX_08;
      cVar6 = FUN_000146a0(&local_8f6,psVar17,extraout_ECX_08,extraout_ECX_08);
      if (cVar6 == '\0') goto LAB_000133f3;
      if (local_7e0 != local_8f6) {
        pr2serr("Try again with --scattered=%u\n",local_8f6,extraout_EDX_05,extraout_EDX_05);
        local_908 = (stat64 *)0xf;
        goto LAB_000133fd;
      }
      if (local_918 < (stat64 *)((int)local_7d4 * (int)local_8ec)) {
        psVar9 = (stat64 *)
                 sg_memalign((undefined *)
                             ((int)&psVar38->st_dev +
                             (int)&((stat64 *)((int)local_7d4 * (int)local_8ec))->st_dev),0,
                             &local_8e4,0);
        if (psVar9 == (stat64 *)0x0) goto LAB_00014273;
        psVar22 = psVar38;
        psVar8 = psVar9;
        memcpy(psVar9,psVar25,(size_t)psVar38);
        psVar17 = psVar25;
        free(local_8e8);
        local_8e8 = local_8e4;
        psVar25 = psVar9;
      }
      if ((local_93c != psVar38) && (psVar18 != (stat64 *)0x0 || local_7f8 != 0)) {
        psVar22 = (stat64 *)&DAT_000170dd;
        if (local_93c <= psVar38) {
          psVar22 = (stat64 *)&DAT_00017110;
        }
        psVar8 = psVar38;
        pr2serr("IF length (%u) %s \'sum_num\' bytes (%u), ",local_93c,psVar22,psVar38);
        if (1 < (int)local_7f8) {
          pr2serr("exiting (strict=%d)\n",local_7f8,psVar38,psVar38);
          local_908 = (stat64 *)0xf;
          goto LAB_000133fd;
        }
        pr2serr("continuing ...\n",local_93c,psVar22,psVar8);
        psVar17 = local_93c;
      }
      local_908 = (stat64 *)FUN_00014a80(&DAT_0001738d,psVar17,psVar22,psVar8);
    }
    if (local_908 != (stat64 *)0x0) goto LAB_000133fd;
    local_7a4 = (stat64 *)((int)local_8ec * (int)local_7d4);
    local_7cc = (stat64 *)local_8ec;
  }
LAB_00013962:
  local_8ec = (undefined1  [4])local_7cc;
  local_908 = (stat64 *)FUN_00014b00(&local_820);
  if (local_908 != (stat64 *)0x0) {
    puVar43 = local_174 + 0x50;
    psVar25 = (stat64 *)"OS error";
    puVar29 = puVar43;
    for (iVar14 = 9; iVar14 != 0; iVar14 = iVar14 + -1) {
      *puVar29 = (char)psVar25->st_dev;
      psVar25 = (stat64 *)((int)psVar25 + (uint)bVar32 * -2 + 1);
      puVar29 = puVar29 + (uint)bVar32 * -2 + 1;
    }
    if (0 < (int)local_908) {
      sg_get_category_sense_str(local_908,0x50,puVar43,psVar18);
    }
    pr2serr("%s: %s\n",local_790,puVar43,psVar25);
  }
LAB_000133fd:
  if (local_8e8 == (void *)0x0) goto LAB_00012354;
  free(local_8e8);
  goto LAB_00012354;
code_r0x000115f1:
  uVar33 = sg_get_llnum(*(undefined4 *)PTR_optarg_0001dffc);
  psVar38 = local_7d0;
  uVar16 = uStack_7c4;
  uVar7 = (uint)uVar33;
  if ((int)((ulonglong)uVar33 >> 0x20) != 0) goto code_r0x00012b94;
  goto code_r0x000114e8;
code_r0x00012b94:
  pr2serr("bad argument to \'--ref-tag=\'. Expect 0 to 0xffffffff inclusive\n");
LAB_00011a7a:
  local_908 = (stat64 *)0x1;
LAB_00011a84:
  do {
    psVar25 = (stat64 *)(local_24 ^ *(uint *)(in_GS_OFFSET + 0x14));
    if (psVar25 == (stat64 *)0x0) {
      return (int)local_908;
    }
    FUN_000162b0();
LAB_00013b9f:
    pr2serr("build_lba_arr: array length exceeded\n");
LAB_00012130:
    pr2serr("bad argument to \'--lba\'\n");
    local_908 = (stat64 *)0x1;
LAB_00012354:
    if (local_8f0 != (void *)0x0) {
      free(local_8f0);
    }
    iVar14 = sg_cmds_close_device(local_930);
    if (iVar14 < 0) {
      if (local_81a == '\0') {
        uVar16 = safe_strerror(-iVar14);
        pr2serr("sg_fd close error: %s\n",uVar16);
      }
      if (local_908 == (stat64 *)0x0) {
        local_908 = (stat64 *)0xf;
      }
    }
    if ((-1 < (int)local_920) && (iVar14 = close((int)local_920), iVar14 < 0)) {
      if (local_81a == '\0') {
        perror("sfr_fd close error");
      }
      if (local_908 == (stat64 *)0x0) {
        local_908 = (stat64 *)0xf;
      }
    }
LAB_000123a1:
    if (((cVar2 == '\x01') || ((int)local_924 < 0)) ||
       (pcVar15 = (char *)close((int)local_924), -1 < (int)pcVar15)) {
LAB_000123cc:
      if (((local_7f0 == (stat64 *)0x0) && (local_81a == '\0')) &&
         (cVar6 = sg_if_can2stderr("sg_write_x failed: ",local_908,psVar25,psVar25), cVar6 == '\0'))
      goto LAB_0001260b;
      goto LAB_000123e2;
    }
    if (local_81a == '\0') {
      pcVar15 = "infd close error";
      perror("infd close error");
    }
    if (local_908 != (stat64 *)0x0) goto LAB_000123cc;
    local_908 = (stat64 *)0xf;
    if (((local_7f0 == (stat64 *)0x0) && (local_81a == '\0')) &&
       (cVar6 = sg_if_can2stderr("sg_write_x failed: ",0xf,pcVar15,pcVar15), cVar6 == '\0')) {
LAB_0001260b:
      pr2serr("Some error occurred, try again with \'-v\' or \'-vv\' for more information\n");
LAB_000123e2:
      if ((int)local_908 < 0) {
        local_908 = (stat64 *)0x63;
      }
    }
  } while( true );
}


LEA ECX,[ESP + 0x4]
AND ESP,0xfffffff0
XOR EDX,EDX
PUSH dword ptr [ECX + -0x4]
PUSH EBP
MOV EBP,ESP
PUSH EDI
PUSH ESI
LEA EDI,[EBP + 0xfffff7e8]
PUSH EBX
CALL 0x00014560
ADD EBX,0xcb07
PUSH ECX
SUB ESP,0x938
MOV EAX,dword ptr [ECX + 0x4]
MOV ESI,dword ptr [ECX]
MOV ECX,0x2a
MOV dword ptr [EBP + 0xfffff700],EAX
MOV EAX,GS:[0x14]
MOV dword ptr [EBP + -0x1c],EAX
XOR EAX,EAX
MOV dword ptr [EBP + 0xfffff6d4],EDI
MOV word ptr [EBP + 0xfffff710],DX
MOV dword ptr [EBP + 0xfffff714],0x0
MOV dword ptr [EBP + 0xfffff718],0x0
MOV dword ptr [EBP + 0xfffff6f0],0x0
MOV dword ptr [EBP + 0xfffff6ec],0x0
STOSD.REP ES:EDI
LEA EDI,[EBP + 0xfffff728]
MOV ECX,0x18
MOV dword ptr [EBP + 0xfffff80c],0xffffffff
MOV dword ptr [EBP + 0xfffff6d8],EDI
STOSD.REP ES:EDI
LEA EDI,[EBP + 0xfffff788]
MOV ECX,0x18
MOV dword ptr [EBP + 0xfffff848],0xffffffff
MOV dword ptr [EBP + 0xfffff6d0],EDI
STOSD.REP ES:EDI
LEA EAX,[EBP + 0xfffff724]
MOV ECX,0xffffffff
MOV EDI,0xffffffff
MOV dword ptr [EBP + 0xfffff6fc],EAX
LEA EAX,[EBX + 0x12c]
MOV dword ptr [EBP + 0xfffff6f4],EAX
LEA EAX,[EBX + 0xffffc174]
MOV word ptr [EBP + 0xfffff822],CX
MOV word ptr [EBP + 0xfffff82c],DI
MOV dword ptr [EBP + 0xfffff814],0x78
MOV byte ptr [EBP + 0xfffff6e0],0x0
MOV dword ptr [EBP + 0xfffff6f8],EAX
MOV EAX,dword ptr [EBX + 0x108]
MOV dword ptr [EBP + 0xfffff6e8],EAX
MOV dword ptr [EBP + 0xfffff6e4],EAX
LEA ESI,[ESI]
MOV dword ptr [EBP + 0xfffff724],0x0
SUB ESP,0xc
PUSH dword ptr [EBP + 0xfffff6fc]
PUSH dword ptr [EBP + 0xfffff6f4]
PUSH dword ptr [EBP + 0xfffff6f8]
PUSH dword ptr [EBP + 0xfffff700]
PUSH ESI
CALL 0x000111b0
ADD ESP,0x20
CMP EAX,-0x1
JZ 0x00011ac9
LEA EDX,[EAX + -0x33]
CMP EDX,0x45
JA 0x00011abe
MOV ECX,dword ptr [EBX + EDX*0x4 + 0xffffd6c0]
ADD ECX,EBX
JMP ECX
PUSH EAX
CALL 0x00011140
CMP dword ptr [EBP + 0xfffff808],0x0
MOV EAX,0x0
CMOVNS EAX,dword ptr [EBP + 0xfffff808]
CALL 0x000149b0
ADD ESP,0x10
MOV dword ptr [EBP + 0xfffff700],0x1
MOV ESI,dword ptr [EBP + -0x1c]
XOR ESI,dword ptr GS:[0x14]
MOV EAX,dword ptr [EBP + 0xfffff700]
JNZ 0x00013b9a
LEA ESP,[EBP + -0x10]
POP ECX
POP EBX
POP ESI
POP EDI
POP EBP
LEA ESP,[ECX + -0x4]
RET
PUSH ECX
PUSH ECX
PUSH EAX
LEA EAX,[EBX + 0xffffc66c]
JMP 0x00011a59
MOV EDI,dword ptr [EBX + 0xf0]
MOV dword ptr [EBP + 0xfffff6e8],EAX
MOV EAX,dword ptr [EDI]
CMP ESI,EAX
JG 0x00011c29
CMP dword ptr [EBP + 0xfffff810],0x0
SETNZ AL
TEST byte ptr [EBP + 0xfffff6e0],AL
JNZ 0x00011a7a
MOV EAX,dword ptr [EBP + 0xfffff808]
TEST EAX,EAX
JG 0x00011d02
CMP byte ptr [EBP + 0xfffff7f9],0x0
JZ 0x00011c9f
CMP byte ptr [EBP + 0xfffff7fa],0x0
JNZ 0x00011c8d
MOV ESI,dword ptr [EBP + 0xfffff818]
CMP byte ptr [EBP + 0xfffff7e8],0x0
MOVZX EAX,byte ptr [EBP + 0xfffff7e9]
MOV dword ptr [EBP + 0xfffff6f8],ESI
JZ 0x00011cd3
TEST AL,AL
JZ 0x00011b51
CMP dword ptr [EBP + 0xfffff6f8],0x1
MOV byte ptr [EBP + 0xfffff7e8],0x0
JG 0x000121fa
MOVZX EDX,byte ptr [EBP + 0xfffff7f4]
MOVZX EAX,byte ptr [EBP + 0xfffff7eb]
ADD EAX,EDX
MOVZX EDX,byte ptr [EBP + 0xfffff7ed]
ADD EAX,EDX
MOVZX EDX,byte ptr [EBP + 0xfffff7f0]
ADD EAX,EDX
MOVZX EDX,byte ptr [EBP + 0xfffff7f1]
ADD EAX,EDX
MOVZX EDX,byte ptr [EBP + 0xfffff7f2]
ADD EAX,EDX
CMP EAX,0x1
JG 0x00012171
TEST EAX,EAX
JZ 0x00011ea0
CMP byte ptr [EBP + 0xfffff7e8],0x1
PUSH ESI
SBB EAX,EAX
AND EAX,0x10
ADD EAX,0x10
PUSH EAX
LEA EAX,[EBX + 0xffff92c1]
PUSH dword ptr [EBP + 0xfffff874]
PUSH EAX
LEA EAX,[EBP + 0xfffff878]
PUSH 0x18
PUSH 0x1
PUSH 0x18
PUSH EAX
MOV dword ptr [EBP + 0xfffff6e0],EAX
CALL 0x00011050
ADD ESP,0x20
CMP byte ptr [EBP + 0xfffff7ec],0x0
JZ 0x00011d16
CMP byte ptr [EBP + 0xfffff7f1],0x0
JZ 0x000125cb
CMP dword ptr [EBP + 0xfffff870],0x0
JNZ 0x000124c2
MOV EAX,dword ptr [EBP + 0xfffff6ec]
OR EAX,dword ptr [EBP + 0xfffff6f0]
JZ 0x00012192
SUB ESP,0xc
LEA EAX,[EBX + 0xffffc8d0]
PUSH EAX
CALL 0x00011140
ADD ESP,0x10
MOV dword ptr [EBP + 0xfffff700],0x1f
JMP 0x00011a84
CMP dword ptr [EBP + 0xfffff868],0x0
JZ 0x00011f58
LEA EAX,[EBX + 0xffffc690]
MOV dword ptr [EBP + 0xfffff6fc],EAX
JMP 0x00011c60
MOV ECX,dword ptr [EBP + 0xfffff700]
PUSH EDX
PUSH EDX
PUSH dword ptr [ECX + EAX*0x4]
PUSH dword ptr [EBP + 0xfffff6fc]
CALL 0x00011140
ADD dword ptr [EDI],0x1
ADD ESP,0x10
MOV EAX,dword ptr [EDI]
CMP ESI,EAX
JG 0x00011c44
CMP dword ptr [EBP + 0xfffff808],0x0
MOV EAX,0x0
CMOVNS EAX,dword ptr [EBP + 0xfffff808]
CALL 0x000149b0
MOV dword ptr [EBP + 0xfffff700],0x1
JMP 0x00011a84
SUB ESP,0xc
LEA EAX,[EBX + 0xffffc6b0]
PUSH EAX
CALL 0x00011140
ADD ESP,0x10
CMP byte ptr [EBP + 0xfffff7fa],0x0
JZ 0x00011b19
LEA EAX,[EBX + 0xffff929b]
PUSH EDI
PUSH EDI
PUSH EAX
LEA EAX,[EBX + 0xffff92a9]
PUSH EAX
CALL 0x00011140
ADD ESP,0x10
MOV dword ptr [EBP + 0xfffff700],0x270f
JMP 0x00011a84
TEST AL,AL
JNZ 0x00011b51
SUB ESI,0x1
MOV byte ptr [EBP + 0xfffff7e8],0x1
JLE 0x00011b51
SUB ESP,0xc
LEA EAX,[EBX + 0xffffc6e4]
PUSH EAX
CALL 0x00011140
ADD ESP,0x10
JMP 0x00011b51
CALL 0x000149b0
MOV dword ptr [EBP + 0xfffff700],0x0
JMP 0x00011a84
MOV EDX,dword ptr [EBP + 0xfffff870]
TEST EDX,EDX
JZ 0x00012622
MOV ECX,dword ptr [EBP + 0xfffff6f0]
MOV ESI,dword ptr [EBP + 0xfffff6ec]
TEST ECX,ECX
MOV EAX,ESI
SETNZ byte ptr [EBP + 0xfffff6c9]
OR EAX,ECX
SETNZ byte ptr [EBP + 0xfffff6ca]
TEST ESI,ESI
SETNZ byte ptr [EBP + 0xfffff6cb]
TEST EAX,EAX
JNZ 0x000124e3
OR ECX,0xffffffff
XOR EAX,EAX
MOV EDI,EDX
SCASB.REPNE ES:EDI
CMP ECX,-0x3
JZ 0x00012498
CMP dword ptr [EBP + 0xfffff6f8],0x0
JZ 0x00011d7d
CMP byte ptr [EBP + 0xfffff7e8],0x0
JNZ 0x000121d6
MOVZX EAX,byte ptr [EBP + 0xfffff7f8]
MOV byte ptr [EBP + 0xfffff6f4],AL
TEST AL,AL
JNZ 0x00011f79
MOV EAX,dword ptr [EBP + 0xfffff838]
MOV EDX,dword ptr [EBP + 0xfffff86c]
MOV dword ptr [EBP + 0xfffff6cc],EAX
TEST EDX,EDX
JZ 0x00012abb
MOVZX EAX,byte ptr [EBP + 0xfffff6f4]
OR ECX,0xffffffff
MOV EDI,EDX
SCASB.REPNE ES:EDI
CMP ECX,-0x3
JNZ 0x00011e0b
CMP byte ptr [EDX],0x2d
JNZ 0x00011e0b
SUB ESP,0xc
PUSH 0x0
CALL 0x000110a0
ADD ESP,0x10
MOV byte ptr [EBP + 0xfffff6f4],0x1
MOV dword ptr [EBP + 0xfffff6e4],0x0
TEST EAX,EAX
JNS 0x00011e6c
SUB ESP,0xc
LEA EAX,[EBX + 0xffff92c8]
PUSH EAX
CALL 0x00011160
ADD ESP,0x10
MOV dword ptr [EBP + 0xfffff700],0xf
JMP 0x00011a84
PUSH ECX
PUSH ECX
PUSH 0x0
PUSH EDX
CALL 0x00011090
ADD ESP,0x10
MOV dword ptr [EBP + 0xfffff6e4],EAX
TEST EAX,EAX
JS 0x000123fe
MOV ESI,dword ptr [EBP + 0xfffff6e4]
SUB ESP,0xc
PUSH ESI
CALL 0x000110a0
ADD ESP,0x10
TEST EAX,EAX
JS 0x00011dea
PUSH EAX
PUSH dword ptr [EBP + 0xfffff6d8]
PUSH ESI
PUSH 0x3
CALL 0x00011170
ADD ESP,0x10
TEST EAX,EAX
JS 0x00012eaf
MOV EAX,dword ptr [EBP + 0xfffff738]
AND EAX,0xf000
CMP EAX,0x8000
JZ 0x000128b8
MOV EAX,dword ptr [EBP + 0xfffff858]
OR EAX,dword ptr [EBP + 0xfffff854]
JZ 0x00011e87
CMP dword ptr [EBP + 0xfffff6f8],0x0
JNZ 0x00012fb6
MOV dword ptr [EBP + 0xfffff6c0],0x0
MOV dword ptr [EBP + 0xfffff6c4],0x0
JMP 0x00011fa8
CMP dword ptr [EBP + 0xfffff810],0x0
JNZ 0x0001265d
LEA EAX,[EBX + 0xffff9270]
CMP dword ptr [EBP + 0xfffff6f8],0x0
MOV byte ptr [EBP + 0xfffff7f4],0x1
MOV dword ptr [EBP + 0xfffff874],EAX
JZ 0x00011b96
SUB ESP,0xc
LEA EAX,[EBX + 0xffffc7f0]
PUSH EAX
CALL 0x00011140
ADD ESP,0x10
JMP 0x00011b96
MOV EDX,dword ptr [EBP + 0xfffff700]
MOV ECX,dword ptr [EDX + EAX*0x4]
ADD EAX,0x1
MOV dword ptr [EDI],EAX
MOV dword ptr [EBP + 0xfffff868],ECX
CMP ESI,EAX
JLE 0x00011adf
JMP 0x00011c36
MOV dword ptr [EBP + 0xfffff6e4],0xffffffff
MOV byte ptr [EBP + 0xfffff6f4],0x0
MOV dword ptr [EBP + 0xfffff6c0],0x0
MOV dword ptr [EBP + 0xfffff6c4],0x0
MOV dword ptr [EBP + 0xfffff6cc],0x0
MOV ESI,dword ptr [EBP + 0xfffff868]
TEST ESI,ESI
JZ 0x00012546
PUSH EAX
PUSH dword ptr [EBP + 0xfffff6f8]
PUSH 0x0
PUSH ESI
CALL 0x00011340
ADD ESP,0x10
MOV dword ptr [EBP + 0xfffff6d8],EAX
TEST EAX,EAX
JS 0x00012504
MOV ESI,dword ptr [EBP + 0xfffff830]
TEST ESI,ESI
JZ 0x00012211
MOV ECX,dword ptr [EBP + 0xfffff834]
TEST ECX,ECX
JZ 0x00012338
CMP byte ptr [EBP + 0xfffff7f8],0x0
JNZ 0x00012024
MOV EAX,dword ptr [EBP + 0xfffff6cc]
XOR EDX,EDX
DIV ECX
TEST EDX,EDX
JZ 0x00012024
MOV EAX,dword ptr [EBP + 0xfffff810]
CMP EAX,0x1
JG 0x00013117
OR EAX,dword ptr [EBP + 0xfffff6f8]
JNZ 0x000131ec
XOR EAX,EAX
LEA EDI,[EBP + 0xfffffa90]
MOV ECX,0x100
CMP byte ptr [EBP + 0xfffff6cb],0x0
MOV dword ptr [EBP + 0xfffff6b8],EDI
STOSD.REP ES:EDI
LEA EDI,[EBP + 0xfffff890]
MOV ECX,0x80
MOV dword ptr [EBP + 0xfffff6bc],EDI
STOSD.REP ES:EDI
JZ 0x0001288c
MOV EDI,dword ptr [EBP + 0xfffff6ec]
OR ECX,0xffffffff
SCASB.REPNE ES:EDI
MOV EDI,dword ptr [EBP + 0xfffff6ec]
CMP byte ptr [EDI],0x2d
MOV EAX,ECX
NOT EAX
LEA ESI,[EAX + -0x1]
JZ 0x000135df
LEA EAX,[EBX + 0xffffcf78]
PUSH EDI
PUSH EDI
PUSH EAX
PUSH dword ptr [EBP + 0xfffff6ec]
CALL 0x00011390
ADD ESP,0x10
CMP ESI,EAX
JNZ 0x00013110
MOV ESI,dword ptr [EBP + 0xfffff6ec]
XOR EDI,EDI
JMP 0x000120fd
MOV ECX,dword ptr [EBP + 0xfffff6b8]
MOV dword ptr [ECX + EDI*0x8],EAX
MOV dword ptr [ECX + EDI*0x8 + 0x4],EDX
PUSH EAX
PUSH EAX
PUSH 0x2c
PUSH ESI
CALL 0x000111c0
POP EDX
POP ECX
PUSH 0x20
PUSH ESI
MOV dword ptr [EBP + 0xfffff700],EAX
CALL 0x000111c0
MOV EDX,dword ptr [EBP + 0xfffff700]
ADD ESP,0x10
TEST EDX,EDX
JZ 0x000126dc
TEST EAX,EAX
JZ 0x000128b1
CMP EDX,EAX
JBE 0x000128b1
ADD EDI,0x1
LEA ESI,[EAX + 0x1]
CMP EDI,0x80
JZ 0x00013b9f
SUB ESP,0xc
PUSH ESI
CALL 0x00011260
ADD ESP,0x10
CMP EDX,-0x1
JNZ 0x000120a3
CMP EAX,-0x1
JNZ 0x000120a3
PUSH EDI
MOV EAX,ESI
SUB EAX,dword ptr [EBP + 0xfffff6ec]
PUSH EDI
ADD EAX,0x1
PUSH EAX
LEA EAX,[EBX + 0xffffcfa4]
PUSH EAX
CALL 0x00011140
ADD ESP,0x10
SUB ESP,0xc
LEA EAX,[EBX + 0xffff93c5]
PUSH EAX
CALL 0x00011140
ADD ESP,0x10
MOV dword ptr [EBP + 0xfffff700],0x1
JMP 0x00012354
SUB ESP,0xc
LEA EAX,[EBX + 0xffffc744]
PUSH EAX
CALL 0x00011140
ADD ESP,0x10
MOV dword ptr [EBP + 0xfffff700],0x1f
JMP 0x00011a84
MOVZX EAX,byte ptr [EBP + 0xfffff7ef]
MOV byte ptr [EBP + 0xfffff6ca],0x0
MOV byte ptr [EBP + 0xfffff6cb],0x0
MOV byte ptr [EBP + 0xfffff6c9],AL
TEST AL,AL
JZ 0x00011d67
SUB ESP,0xc
LEA EAX,[EBX + 0xffffc91c]
PUSH EAX
CALL 0x00011140
ADD ESP,0x10
MOV dword ptr [EBP + 0xfffff700],0x1f
JMP 0x00011a84
CMP dword ptr [EBP + 0xfffff848],-0x1
JZ 0x00012f1b
SUB ESP,0xc
LEA EAX,[EBX + 0xffffd5dc]
PUSH EAX
CALL 0x00011140
ADD ESP,0x10
JMP 0x00011d7d
SUB ESP,0xc
LEA EAX,[EBX + 0xffffc714]
PUSH EAX
CALL 0x00011140
ADD ESP,0x10
JMP 0x00011b51
MOV EAX,dword ptr [EBP + 0xfffff818]
XOR EDI,EDI
MOV dword ptr [EBP + 0xfffff6bc],EAX
TEST EAX,EAX
JZ 0x00012226
LEA EDI,[EAX + -0x1]
LEA EAX,[EBP + 0xfffffe94]
PUSH EDI
PUSH 0x1
PUSH 0x20
PUSH EAX
PUSH 0x0
PUSH 0x0
PUSH 0x0
PUSH dword ptr [EBP + 0xfffff6d8]
MOV dword ptr [EBP + 0xfffff6b8],EAX
CALL 0x00011080
ADD ESP,0x20
MOV dword ptr [EBP + 0xfffff700],EAX
CMP EAX,0x6
JZ 0x00012f37
CMP dword ptr [EBP + 0xfffff700],0x0
JNZ 0x000129f1
CMP dword ptr [EBP + 0xfffff6bc],0x3
JG 0x00013017
MOV EAX,dword ptr [EBP + 0xfffffe9c]
MOV ECX,dword ptr [EBP + 0xfffffe98]
BSWAP EAX
BSWAP ECX
MOV EDI,EAX
MOV dword ptr [EBP + 0xfffff830],EAX
MOV EAX,ECX
MOV ECX,dword ptr [EBP + 0xfffffe94]
ADD EAX,0x1
BSWAP ECX
MOV EDX,ECX
MOV dword ptr [EBP + 0xfffff85c],EAX
MOV EAX,dword ptr [EBP + 0xfffff81c]
ADC EDX,0x0
MOV dword ptr [EBP + 0xfffff860],EDX
MOVZX EDX,byte ptr [EBP + 0xfffffea0]
MOV ECX,EDX
AND CL,0x1
MOV byte ptr [EBP + 0xfffff700],CL
JZ 0x00012ec9
SHR DL,0x1
MOVZX ECX,byte ptr [EBP + 0xfffffea1]
MOV ESI,0x8
AND EDX,0x7
ADD EDX,0x1
SHR CL,0x4
MOV dword ptr [EBP + 0xfffff80c],EDX
SHL ESI,CL
MOVZX EDX,CL
TEST EAX,EAX
JLE 0x00012305
LEA EAX,[EDI + ESI*0x1]
CMP dword ptr [EBP + 0xfffff6bc],0x1
MOV dword ptr [EBP + 0xfffff834],EAX
JG 0x0001350d
CMP dword ptr [EBP + 0xfffff6bc],0x0
JNZ 0x0001360d
MOV EAX,dword ptr [EBP + 0xfffff830]
CMP byte ptr [EBP + 0xfffff7f5],0x0
MOV ECX,EAX
JZ 0x00012326
LEA ECX,[EAX + 0x8]
MOV dword ptr [EBP + 0xfffff834],ECX
TEST ECX,ECX
JZ 0x00012338
TEST EAX,EAX
JNZ 0x00011ff2
SUB ESP,0xc
LEA EAX,[EBX + 0xffffce50]
PUSH EAX
CALL 0x00011140
ADD ESP,0x10
MOV dword ptr [EBP + 0xfffff700],0x1
MOV EAX,dword ptr [EBP + 0xfffff718]
TEST EAX,EAX
JZ 0x0001236a
SUB ESP,0xc
PUSH EAX
CALL 0x000110d0
ADD ESP,0x10
SUB ESP,0xc
PUSH dword ptr [EBP + 0xfffff6d8]
CALL 0x00011110
ADD ESP,0x10
TEST EAX,EAX
JS 0x00012579
MOV EAX,dword ptr [EBP + 0xfffff6e8]
TEST EAX,EAX
JS 0x000123a1
SUB ESP,0xc
PUSH EAX
CALL 0x00011380
ADD ESP,0x10
TEST EAX,EAX
JS 0x000125a2
CMP byte ptr [EBP + 0xfffff6f4],0x1
JZ 0x000123cc
CMP dword ptr [EBP + 0xfffff6e4],0x0
JS 0x000123cc
SUB ESP,0xc
PUSH dword ptr [EBP + 0xfffff6e4]
CALL 0x00011380
ADD ESP,0x10
TEST EAX,EAX
JS 0x0001267e
CMP dword ptr [EBP + 0xfffff818],0x0
JNZ 0x000123e2
CMP byte ptr [EBP + 0xfffff7ee],0x0
JZ 0x000125ec
CMP dword ptr [EBP + 0xfffff700],0x0
JNS 0x00011a84
MOV dword ptr [EBP + 0xfffff700],0x63
JMP 0x00011a84
CALL 0x00011250
MOV EDI,dword ptr [EAX]
PUSH EAX
PUSH EAX
LEA EAX,[EBX + 0xffff92db]
PUSH dword ptr [EBP + 0xfffff86c]
LEA ESI,[EBP + 0xfffffee4]
PUSH EAX
PUSH 0x100
PUSH 0x1
PUSH 0x100
PUSH ESI
CALL 0x00011050
ADD ESP,0x14
PUSH ESI
CALL 0x00011160
MOV dword ptr [ESP],EDI
CALL 0x00011270
ADD ESP,0x10
MOV dword ptr [EBP + 0xfffff700],EAX
JMP 0x00011a84
CMP byte ptr [EDX],0x2d
JNZ 0x00011d67
SUB ESP,0xc
LEA EAX,[EBX + 0xffffca3c]
PUSH EAX
CALL 0x00011140
ADD ESP,0x10
MOV dword ptr [EBP + 0xfffff700],0x1f
JMP 0x00011a84
SUB ESP,0xc
LEA EAX,[EBX + 0xffffc87c]
PUSH EAX
CALL 0x00011140
ADD ESP,0x10
MOV dword ptr [EBP + 0xfffff700],0x1f
JMP 0x00011a84
SUB ESP,0xc
LEA EAX,[EBX + 0xffffc9dc]
PUSH EAX
CALL 0x00011140
ADD ESP,0x10
MOV dword ptr [EBP + 0xfffff700],0x1f
JMP 0x00011a84
MOV ESI,EAX
NEG ESI
CMP dword ptr [EBP + 0xfffff818],0x0
JNZ 0x00012a94
SUB ESP,0xc
PUSH ESI
CALL 0x00011270
ADD ESP,0x10
MOV dword ptr [EBP + 0xfffff700],EAX
MOV EAX,dword ptr [EBP + 0xfffff718]
TEST EAX,EAX
JZ 0x000123a1
SUB ESP,0xc
PUSH EAX
CALL 0x000110d0
ADD ESP,0x10
JMP 0x000123a1
SUB ESP,0xc
LEA EAX,[EBX + 0xffff930c]
PUSH EAX
CALL 0x00011140
CMP dword ptr [EBP + 0xfffff808],0x0
MOV EAX,ESI
CMOVNS EAX,dword ptr [EBP + 0xfffff808]
CALL 0x000149b0
ADD ESP,0x10
MOV dword ptr [EBP + 0xfffff700],0x1
JMP 0x00012527
CMP byte ptr [EBP + 0xfffff7ee],0x0
JZ 0x00012e76
CMP dword ptr [EBP + 0xfffff700],0x0
JNZ 0x00012383
MOV dword ptr [EBP + 0xfffff700],0xf
JMP 0x00012383
CMP byte ptr [EBP + 0xfffff7ee],0x0
JZ 0x00012e98
CMP dword ptr [EBP + 0xfffff700],0x0
JNZ 0x000123a1
MOV dword ptr [EBP + 0xfffff700],0xf
JMP 0x000123a1
SUB ESP,0xc
LEA EAX,[EBX + 0xffffc820]
PUSH EAX
CALL 0x00011140
ADD ESP,0x10
MOV dword ptr [EBP + 0xfffff700],0x1f
JMP 0x00011a84
LEA EAX,[EBX + 0xffff9512]
PUSH ESI
PUSH ESI
PUSH dword ptr [EBP + 0xfffff700]
PUSH EAX
CALL 0x000111f0
ADD ESP,0x10
TEST AL,AL
JNZ 0x000123e2
SUB ESP,0xc
LEA EAX,[EBX + 0xffffd56c]
PUSH EAX
CALL 0x00011140
ADD ESP,0x10
JMP 0x000123e2
CMP byte ptr [EBP + 0xfffff7ef],0x0
JNZ 0x00012e55
MOV ESI,dword ptr [EBP + 0xfffff6f0]
MOV EDX,dword ptr [EBP + 0xfffff6ec]
TEST ESI,ESI
MOV EAX,EDX
SETNZ byte ptr [EBP + 0xfffff6c9]
OR EAX,ESI
SETNZ byte ptr [EBP + 0xfffff6ca]
TEST EDX,EDX
SETNZ byte ptr [EBP + 0xfffff6cb]
JMP 0x00011d67
SUB ESP,0xc
LEA EAX,[EBX + 0xffffc7b0]
PUSH EAX
CALL 0x00011140
ADD ESP,0x10
MOV dword ptr [EBP + 0xfffff700],0x1f
JMP 0x00011a84
CMP byte ptr [EBP + 0xfffff7ee],0x0
JZ 0x00012f04
CMP dword ptr [EBP + 0xfffff700],0x0
JNZ 0x000123cc
CMP dword ptr [EBP + 0xfffff818],0x0
MOV dword ptr [EBP + 0xfffff700],0xf
JNZ 0x00011a84
CMP byte ptr [EBP + 0xfffff7ee],0x0
JNZ 0x00011a84
PUSH EAX
PUSH EAX
LEA EAX,[EBX + 0xffff9512]
PUSH 0xf
PUSH EAX
CALL 0x000111f0
ADD ESP,0x10
TEST AL,AL
JNZ 0x00011a84
JMP 0x0001260b
TEST EAX,EAX
JNZ 0x000120eb
ADD EDI,0x1
CMP byte ptr [EBP + 0xfffff6c9],0x0
MOV dword ptr [EBP + 0xfffff6ec],EDI
JZ 0x00012a6a
MOV EDI,dword ptr [EBP + 0xfffff6f0]
XOR EAX,EAX
OR ECX,0xffffffff
SCASB.REPNE ES:EDI
MOV EDI,dword ptr [EBP + 0xfffff6f0]
CMP byte ptr [EDI],0x2d
MOV EAX,ECX
NOT EAX
LEA ESI,[EAX + -0x1]
JZ 0x000135f6
LEA EAX,[EBX + 0xffffcf78]
PUSH ECX
PUSH ECX
PUSH EAX
PUSH dword ptr [EBP + 0xfffff6f0]
CALL 0x00011390
ADD ESP,0x10
CMP ESI,EAX
JNZ 0x0001310a
MOV ESI,dword ptr [EBP + 0xfffff6f0]
XOR EDI,EDI
JMP 0x000127a0
TEST EDX,EDX
JG 0x0001341c
MOV EDX,dword ptr [EBP + 0xfffff6bc]
MOV dword ptr [EDX + EDI*0x4],EAX
PUSH EAX
PUSH EAX
PUSH 0x2c
PUSH ESI
CALL 0x000111c0
POP EDX
POP ECX
PUSH 0x20
PUSH ESI
MOV dword ptr [EBP + 0xfffff700],EAX
CALL 0x000111c0
MOV EDX,dword ptr [EBP + 0xfffff700]
ADD ESP,0x10
TEST EDX,EDX
JZ 0x000127fa
TEST EAX,EAX
JZ 0x000128aa
CMP EDX,EAX
JBE 0x000128aa
ADD EDI,0x1
LEA ESI,[EAX + 0x1]
CMP EDI,0x80
JZ 0x00013c0a
SUB ESP,0xc
PUSH ESI
CALL 0x00011260
ADD ESP,0x10
CMP EDX,-0x1
JNZ 0x00012746
CMP EAX,-0x1
JNZ 0x0001274e
PUSH EDI
MOV EAX,ESI
SUB EAX,dword ptr [EBP + 0xfffff6f0]
ADD EAX,0x1
PUSH EAX
LEA EAX,[EBX + 0xffffd828]
PUSH EAX
LEA EAX,[EBX + 0xffff93de]
PUSH EAX
CALL 0x00011140
ADD ESP,0x10
SUB ESP,0xc
LEA EAX,[EBX + 0xffff93f3]
PUSH EAX
CALL 0x00011140
ADD ESP,0x10
MOV dword ptr [EBP + 0xfffff700],0x0
JMP 0x00012354
TEST EAX,EAX
JNZ 0x0001278e
ADD EDI,0x1
CMP dword ptr [EBP + 0xfffff6ec],0x1
JBE 0x00013277
CMP EDI,dword ptr [EBP + 0xfffff6ec]
JNZ 0x00012a73
MOV EDI,dword ptr [EBP + 0xfffff6ec]
MOV EAX,dword ptr [EBP + 0xfffff870]
TEST EAX,EAX
JZ 0x00012ce5
PUSH EDX
PUSH dword ptr [EBP + 0xfffff6d0]
PUSH EAX
PUSH 0x3
CALL 0x00011350
ADD ESP,0x10
TEST EAX,EAX
JS 0x000136d9
CMP byte ptr [EBP + 0xfffff7ef],0x0
JZ 0x0001313d
MOV EAX,dword ptr [EBP + 0xfffff798]
AND EAX,0xf000
CMP EAX,0x8000
JZ 0x000134a7
SUB ESP,0xc
LEA EAX,[EBX + 0xffffd08c]
PUSH EAX
CALL 0x00011140
ADD ESP,0x10
MOV dword ptr [EBP + 0xfffff700],0xf
JMP 0x00012354
MOV dword ptr [EBP + 0xfffff6ec],0x0
XOR EDI,EDI
CMP byte ptr [EBP + 0xfffff6ca],0x0
JNZ 0x000126fa
JMP 0x00012820
MOV EAX,EDX
JMP 0x0001278e
MOV EAX,EDX
JMP 0x000120eb
MOV EDX,dword ptr [EBP + 0xfffff6cc]
MOV ESI,dword ptr [EBP + 0xfffff754]
MOV EDI,dword ptr [EBP + 0xfffff758]
TEST EDX,EDX
MOV EAX,ESI
MOV dword ptr [EBP + 0xfffff6c0],ESI
CMOVNZ EAX,EDX
MOV ECX,EDI
MOV dword ptr [EBP + 0xfffff6c4],EDI
MOV EDX,dword ptr [EBP + 0xfffff858]
OR ECX,ESI
MOV dword ptr [EBP + 0xfffff6cc],EAX
MOV EAX,dword ptr [EBP + 0xfffff854]
JZ 0x00012907
ADD ESI,-0x1
MOV ECX,EDX
ADC EDI,-0x1
CMP EAX,ESI
SBB ECX,EDI
JGE 0x00012f70
MOV ESI,EDX
OR ESI,EAX
JZ 0x00011fa8
PUSH 0x0
PUSH EDX
PUSH EAX
PUSH dword ptr [EBP + 0xfffff6e4]
CALL 0x00011310
ADD ESP,0x10
TEST EDX,EDX
JS 0x00013715
MOV EAX,dword ptr [EBP + 0xfffff6c0]
MOV ESI,dword ptr [EBP + 0xfffff854]
MOV EDX,dword ptr [EBP + 0xfffff6c4]
MOV EDI,dword ptr [EBP + 0xfffff858]
MOV dword ptr [EBP + 0xfffff6d8],EAX
SUB EAX,ESI
MOV dword ptr [EBP + 0xfffff6dc],EDX
SBB EDX,EDI
XOR ECX,ECX
CMP ECX,EAX
MOV dword ptr [EBP + 0xfffff700],ESI
SBB ECX,EDX
MOV dword ptr [EBP + 0xfffff704],EDI
MOV dword ptr [EBP + 0xfffff6c0],EAX
MOV dword ptr [EBP + 0xfffff6c4],EDX
JGE 0x000139e0
CMP dword ptr [EBP + 0xfffff810],0x0
JZ 0x000129b2
MOV ESI,dword ptr [EBP + 0xfffff838]
XOR EDI,EDI
MOV dword ptr [EBP + 0xfffff6dc],EDI
MOV EDI,dword ptr [EBP + 0xfffff6c4]
MOV ECX,ESI
MOV dword ptr [EBP + 0xfffff6d8],ESI
MOV ESI,dword ptr [EBP + 0xfffff6c0]
CMP ESI,ECX
MOV ECX,EDI
SBB ECX,dword ptr [EBP + 0xfffff6dc]
JL 0x00013bb6
MOV ESI,dword ptr [EBP + 0xfffff6cc]
MOV ECX,EDX
CMP EAX,ESI
SBB ECX,0x0
CMOVL ESI,EAX
CMP dword ptr [EBP + 0xfffff6f8],0x2
MOV dword ptr [EBP + 0xfffff6cc],ESI
JLE 0x00011fa8
PUSH EAX
LEA EAX,[EBX + 0xffffcbb0]
PUSH ESI
PUSH dword ptr [EBP + 0xfffff700]
PUSH EAX
CALL 0x00011140
ADD ESP,0x10
JMP 0x00011fa8
MOV EAX,dword ptr [EBP + 0xfffff700]
SUB EAX,0x5
AND EAX,0xfffffffb
JNZ 0x00012ff8
CMP dword ptr [EBP + 0xfffff6bc],0x0
JNZ 0x00013208
PUSH EDX
PUSH EDI
PUSH 0x1
PUSH 0x8
PUSH dword ptr [EBP + 0xfffff6b8]
PUSH 0x0
PUSH 0x0
PUSH dword ptr [EBP + 0xfffff6d8]
CALL 0x00011060
ADD ESP,0x20
MOV dword ptr [EBP + 0xfffff700],EAX
TEST EAX,EAX
JNZ 0x00013444
MOV dword ptr [EBP + 0xfffff860],0x0
MOV EAX,dword ptr [EBP + 0xfffffe94]
BSWAP EAX
ADD EAX,0x1
MOV dword ptr [EBP + 0xfffff85c],EAX
MOV EAX,dword ptr [EBP + 0xfffffe98]
BSWAP EAX
MOV dword ptr [EBP + 0xfffff830],EAX
JMP 0x00012312
CMP EDI,0x1
JZ 0x00012820
SUB ESP,0xc
LEA EAX,[EBX + 0xffffd010]
PUSH EAX
CALL 0x00011140
ADD ESP,0x10
MOV dword ptr [EBP + 0xfffff700],0x1f
JMP 0x00012354
SUB ESP,0xc
PUSH ESI
CALL 0x000112d0
ADD ESP,0xc
PUSH EAX
LEA EAX,[EBX + 0xffff9322]
PUSH dword ptr [EBP + 0xfffff868]
PUSH EAX
CALL 0x00011140
ADD ESP,0x10
JMP 0x00012515
SUB ESP,0xc
LEA EAX,[EBX + 0xffffca80]
PUSH EAX
CALL 0x00011140
ADD ESP,0x10
CMP dword ptr [EBP + 0xfffff6f8],0x1
JLE 0x00012ae8
SUB ESP,0xc
LEA EAX,[EBX + 0xffffcaac]
PUSH EAX
CALL 0x00011140
ADD ESP,0x10
SUB ESP,0xc
LEA EAX,[EBX + 0xffff9320]
PUSH EAX
CALL 0x00011140
CMP dword ptr [EBP + 0xfffff808],0x0
MOV EAX,0x0
CMOVNS EAX,dword ptr [EBP + 0xfffff808]
CALL 0x000149b0
ADD ESP,0x10
MOV dword ptr [EBP + 0xfffff700],0x1
JMP 0x00011a84
MOV ESI,dword ptr [EBP + 0xfffff6f8]
OR ESI,dword ptr [EBP + 0xfffff810]
JZ 0x00012ce5
SUB ESP,0xc
PUSH EDX
LEA EDX,[EBX + 0xffff9114]
PUSH EDX
LEA EDX,[EBX + 0xffff921c]
PUSH EDX
PUSH EAX
LEA EAX,[EBX + 0xffffd694]
PUSH EAX
CALL 0x00011140
ADD ESP,0x20
CMP dword ptr [EBP + 0xfffff810],0x0
JNZ 0x00012ef5
MOV dword ptr [EBP + 0xfffff700],0x0
CMP byte ptr [EBP + 0xfffff7f1],0x0
JNZ 0x000132ce
TEST EDI,EDI
JZ 0x00013040
MOV EAX,dword ptr [EBP + 0xfffffa90]
MOV EDX,dword ptr [EBP + 0xfffffa94]
CMP dword ptr [EBP + 0xfffff6f8],0x0
MOV dword ptr [EBP + 0xfffff84c],EAX
MOV EAX,dword ptr [EBP + 0xfffff890]
MOV dword ptr [EBP + 0xfffff850],EDX
MOV dword ptr [EBP + 0xfffff83c],EAX
JZ 0x00012d48
CMP EDI,0x1
JZ 0x00012d48
LEA EAX,[EBX + 0xffffd41c]
PUSH ECX
PUSH ECX
PUSH EDI
PUSH EAX
CALL 0x00011140
ADD ESP,0x10
CMP byte ptr [EBP + 0xfffff7f0],0x0
JZ 0x000132bc
XOR EAX,EAX
CMP byte ptr [EBP + 0xfffff7f8],0x0
JNZ 0x00012d66
MOV EAX,dword ptr [EBP + 0xfffff834]
MOV dword ptr [EBP + 0xfffff864],EAX
MOV ESI,dword ptr [EBP + 0xfffff864]
TEST ESI,ESI
JZ 0x000135d8
LEA EAX,[EBP + 0xfffff718]
PUSH 0x0
PUSH EAX
PUSH 0x0
PUSH ESI
CALL 0x00011370
ADD ESP,0x10
MOV EDI,EAX
TEST EAX,EAX
JZ 0x00013be1
MOV EAX,dword ptr [EBP + 0xfffff6cc]
MOV EDX,EDI
CMP EAX,ESI
CMOVA EAX,ESI
SUB ESP,0xc
MOV ECX,EAX
LEA EAX,[EBX + 0xffff94d2]
PUSH EAX
MOV EAX,dword ptr [EBP + 0xfffff6e4]
CALL 0x00014a80
ADD ESP,0x10
MOV dword ptr [EBP + 0xfffff700],EAX
TEST EAX,EAX
JNZ 0x00012354
SUB ESP,0xc
PUSH dword ptr [EBP + 0xfffff6d4]
MOV ECX,ESI
MOV EDX,EDI
MOV EAX,dword ptr [EBP + 0xfffff6d8]
CALL 0x00014b00
ADD ESP,0x10
MOV dword ptr [EBP + 0xfffff700],EAX
TEST EAX,EAX
JZ 0x00012354
CMP byte ptr [EBP + 0xfffff7ee],0x0
JNZ 0x00012354
LEA EDI,[EBP + 0xfffffe94]
LEA ESI,[EBX + 0xffff9384]
MOV ECX,0x9
MOV EDX,EDI
MOV dword ptr [EBP + 0xfffff6b8],EDI
MOVSB.REP ES:EDI,ESI
TEST EAX,EAX
JLE 0x00012e34
PUSH dword ptr [EBP + 0xfffff6f8]
PUSH EDX
PUSH 0x50
PUSH EAX
CALL 0x00011300
ADD ESP,0x10
LEA EAX,[EBX + 0xffff932e]
PUSH ECX
PUSH dword ptr [EBP + 0xfffff6b8]
PUSH dword ptr [EBP + 0xfffff6e0]
PUSH EAX
CALL 0x00011140
ADD ESP,0x10
JMP 0x00012354
SUB ESP,0xc
LEA EAX,[EBX + 0xffffc96c]
PUSH EAX
CALL 0x00011140
ADD ESP,0x10
MOV dword ptr [EBP + 0xfffff700],0x1f
JMP 0x00011a84
SUB ESP,0xc
NEG EAX
PUSH EAX
CALL 0x000112d0
POP EDI
POP EDX
PUSH EAX
LEA EAX,[EBX + 0xffff94d7]
PUSH EAX
CALL 0x00011140
ADD ESP,0x10
JMP 0x00012586
SUB ESP,0xc
LEA EAX,[EBX + 0xffff94ee]
PUSH EAX
CALL 0x00011160
ADD ESP,0x10
JMP 0x000125af
CALL 0x00011250
MOV EDI,dword ptr [EAX]
PUSH EAX
PUSH EAX
LEA EAX,[EBX + 0xffff92f9]
PUSH dword ptr [EBP + 0xfffff86c]
JMP 0x00012413
MOV dword ptr [EBP + 0xfffff80c],0x0
TEST EAX,EAX
JLE 0x00012305
CMP dword ptr [EBP + 0xfffff6bc],0x0
JNZ 0x0001367e
CMP dword ptr [EBP + 0xfffff810],0x0
JZ 0x00012312
MOV dword ptr [EBP + 0xfffff700],0xf
JMP 0x00012354
SUB ESP,0xc
LEA EAX,[EBX + 0xffff9501]
PUSH EAX
CALL 0x00011160
ADD ESP,0x10
JMP 0x0001268b
MOVZX EAX,word ptr [EBP + 0xfffff822]
AND EAX,dword ptr [EBP + 0xfffff82c]
ADD AX,0x1
JNZ 0x000121e3
JMP 0x00011d7d
SUB ESP,0xc
LEA EAX,[EBX + 0xffffcc40]
PUSH EAX
CALL 0x00011140
PUSH EDI
PUSH 0x1
PUSH 0x20
PUSH dword ptr [EBP + 0xfffff6b8]
PUSH 0x0
PUSH 0x0
PUSH 0x0
PUSH dword ptr [EBP + 0xfffff6d8]
CALL 0x00011080
ADD ESP,0x30
MOV dword ptr [EBP + 0xfffff700],EAX
JMP 0x0001225b
SUB ESP,0xc
PUSH dword ptr [EBP + 0xfffff6c4]
PUSH dword ptr [EBP + 0xfffff6c0]
PUSH EDX
PUSH EAX
LEA EAX,[EBX + 0xffffcad0]
PUSH EAX
CALL 0x00011140
ADD ESP,0x20
MOV dword ptr [EBP + 0xfffff700],0xf
JMP 0x00012527
SUB ESP,0xc
LEA EAX,[EBX + 0xffffcbec]
PUSH EAX
CALL 0x00011140
ADD ESP,0x10
MOV dword ptr [EBP + 0xfffff6c0],0x0
MOV dword ptr [EBP + 0xfffff6c4],0x0
JMP 0x00011fa8
CMP dword ptr [EBP + 0xfffff6bc],0x0
JNZ 0x0001361c
CMP dword ptr [EBP + 0xfffff700],0x0
JG 0x00012354
JMP 0x00012ef5
SUB ESP,0xc
LEA EAX,[EBX + 0xffff9336]
PUSH EAX
CALL 0x00011140
ADD ESP,0xc
PUSH 0x1
PUSH 0x20
PUSH dword ptr [EBP + 0xfffff6b8]
CALL 0x00011330
ADD ESP,0x10
JMP 0x00012275
MOV EAX,dword ptr [EBP + 0xfffff870]
MOVZX EDX,byte ptr [EBP + 0xfffff7ef]
TEST EAX,EAX
JZ 0x000136b0
TEST DL,DL
JZ 0x00013a19
CMP dword ptr [EBP + 0xfffff700],0x3f
JBE 0x00013b27
SUB ESP,0xc
LEA EAX,[EBX + 0xffff9471]
LEA ESI,[EBP + 0xfffffee4]
MOV ECX,0x40
PUSH EAX
MOV EAX,dword ptr [EBP + 0xfffff6e8]
MOV EDX,ESI
CALL 0x00014a80
ADD ESP,0x10
MOV dword ptr [EBP + 0xfffff700],EAX
TEST EAX,EAX
JNZ 0x00012354
LEA EAX,[EBP + 0xfffff714]
PUSH ECX
MOV EDX,0x40
PUSH ECX
MOV ECX,dword ptr [EBP + 0xfffff6d4]
PUSH EAX
LEA EAX,[EBP + 0xfffff710]
PUSH EAX
MOV EAX,ESI
CALL 0x000146a0
ADD ESP,0x10
TEST AL,AL
JZ 0x00012ef5
MOVZX EAX,word ptr [EBP + 0xfffff710]
CMP AX,0x1
JNZ 0x000141be
MOV EAX,dword ptr [EBP + 0xfffffef4]
MOV EDX,dword ptr [EBP + 0xfffffef8]
BSWAP EAX
MOV dword ptr [EBP + 0xfffff850],EAX
MOV EAX,dword ptr [EBP + 0xfffffefc]
BSWAP EDX
MOV dword ptr [EBP + 0xfffff84c],EDX
BSWAP EAX
MOV dword ptr [EBP + 0xfffff83c],EAX
JMP 0x00012d48
PUSH EDX
JMP 0x000127bf
PUSH ESI
PUSH ESI
JMP 0x0001211d
PUSH EAX
LEA EAX,[EBX + 0xffffce78]
PUSH ECX
PUSH dword ptr [EBP + 0xfffff6cc]
PUSH EAX
CALL 0x00011140
ADD ESP,0x10
MOV dword ptr [EBP + 0xfffff700],0xf
JMP 0x00012354
MOVZX EDX,word ptr [EBP + 0xfffff828]
XOR EAX,EAX
TEST DX,DX
JZ 0x00013154
MOVZX EAX,DX
ADD EAX,0x1
SHL EAX,0x5
MOVZX ECX,byte ptr [EBP + 0xfffff7f1]
MOVZX EDX,byte ptr [EBP + 0xfffff7e8]
PUSH EAX
LEA EAX,[EBP + 0xfffff714]
PUSH EAX
LEA EAX,[EBP + 0xfffff710]
PUSH EAX
XOR ECX,0x1
MOV EAX,dword ptr [EBP + 0xfffff870]
PUSH 0x0
MOVZX ECX,CL
CALL 0x000156d0
ADD ESP,0x10
MOV dword ptr [EBP + 0xfffff700],EAX
TEST EAX,EAX
JNZ 0x00012354
MOVZX EAX,word ptr [EBP + 0xfffff828]
TEST AX,AX
JZ 0x00012ce5
MOVZX EDX,word ptr [EBP + 0xfffff710]
CMP AX,DX
JZ 0x00012ce5
JBE 0x00012ca8
SUB ESP,0xc
PUSH EDX
LEA EDX,[EBX + 0xffff9114]
PUSH EDX
LEA EDX,[EBX + 0xffff91e9]
PUSH EDX
PUSH EAX
LEA EAX,[EBX + 0xffffd694]
PUSH EAX
CALL 0x00011140
ADD ESP,0x20
MOV dword ptr [EBP + 0xfffff700],0xf
JMP 0x00012354
PUSH EAX
LEA EAX,[EBX + 0xffffcee8]
PUSH ECX
PUSH dword ptr [EBP + 0xfffff6cc]
PUSH EAX
CALL 0x00011140
ADD ESP,0x10
JMP 0x00012024
SUB ESP,0xc
LEA EAX,[EBX + 0xffffcdf8]
PUSH EAX
CALL 0x00011140
MOV ESI,dword ptr [EBP + 0xfffff6b8]
ADD ESP,0xc
PUSH EDI
PUSH 0x1
PUSH 0x8
PUSH ESI
PUSH 0x0
PUSH 0x0
PUSH dword ptr [EBP + 0xfffff6d8]
CALL 0x00011060
ADD ESP,0x20
MOV dword ptr [EBP + 0xfffff700],EAX
TEST EAX,EAX
JNZ 0x00013444
CMP dword ptr [EBP + 0xfffff6bc],0x3
JLE 0x00012a3c
SUB ESP,0xc
LEA EAX,[EBX + 0xffff9367]
PUSH EAX
CALL 0x00011140
ADD ESP,0xc
PUSH 0x1
PUSH 0x8
PUSH ESI
CALL 0x00011330
ADD ESP,0x10
JMP 0x00012a3c
CMP dword ptr [EBP + 0xfffff6ec],0x0
JNZ 0x000141b4
CMP EDI,0x1
JNZ 0x00012a73
MOV EAX,dword ptr [EBP + 0xfffff890]
TEST EAX,EAX
JZ 0x00012820
PUSH ECX
PUSH ECX
PUSH EAX
LEA EAX,[EBX + 0xffffd050]
PUSH EAX
CALL 0x00011140
ADD ESP,0x10
MOV dword ptr [EBP + 0xfffff700],0x1
JMP 0x00012354
MOV EAX,dword ptr [EBP + 0xfffff83c]
IMUL EAX,dword ptr [EBP + 0xfffff834]
JMP 0x00012d66
MOVZX EAX,word ptr [EBP + 0xfffff710]
MOV ESI,dword ptr [EBP + 0xfffff714]
MOV dword ptr [EBP + 0xfffff720],0x0
CMP byte ptr [EBP + 0xfffff7ec],0x0
MOV word ptr [EBP + 0xfffff712],AX
MOV EAX,dword ptr [EBP + 0xfffff818]
MOV dword ptr [EBP + 0xfffff71c],ESI
MOV dword ptr [EBP + 0xfffff6f8],EAX
JZ 0x00013762
MOVZX EAX,word ptr [EBP + 0xfffff826]
TEST AX,AX
JZ 0x00013c27
IMUL EAX,dword ptr [EBP + 0xfffff834]
MOV EDI,EAX
LEA EAX,[EBP + 0xfffff720]
PUSH 0x0
PUSH EAX
PUSH 0x0
PUSH EDI
CALL 0x00011370
ADD ESP,0x10
MOV ESI,EAX
TEST EAX,EAX
JZ 0x000141a6
MOV EAX,dword ptr [EBP + 0xfffff6cc]
MOV EDX,ESI
CMP EAX,EDI
CMOVA EAX,EDI
SUB ESP,0xc
MOV ECX,EAX
LEA EAX,[EBX + 0xffff942a]
PUSH EAX
MOV EAX,dword ptr [EBP + 0xfffff6e4]
CALL 0x00014a80
ADD ESP,0x10
MOV dword ptr [EBP + 0xfffff700],EAX
TEST EAX,EAX
JNZ 0x000133fd
PUSH EAX
MOV ECX,dword ptr [EBP + 0xfffff6d4]
MOV EDX,EDI
PUSH EAX
LEA EAX,[EBP + 0xfffff71c]
PUSH EAX
LEA EAX,[EBP + 0xfffff712]
PUSH EAX
MOV EAX,ESI
CALL 0x000146a0
ADD ESP,0x10
TEST AL,AL
JZ 0x000133f3
MOVZX EAX,word ptr [EBP + 0xfffff828]
MOVZX EDX,word ptr [EBP + 0xfffff712]
TEST AX,AX
JZ 0x00013fdc
CMP AX,DX
JZ 0x00013fdc
MOVZX ECX,AX
MOV dword ptr [EBP + 0xfffff6f0],ECX
JBE 0x000143a4
SUB ESP,0xc
LEA EAX,[EBX + 0xffff9114]
PUSH EDX
PUSH EAX
LEA EAX,[EBX + 0xffff91e9]
PUSH EAX
LEA EAX,[EBX + 0xffffd668]
PUSH dword ptr [EBP + 0xfffff6f0]
PUSH EAX
CALL 0x00011140
ADD ESP,0x20
MOV dword ptr [EBP + 0xfffff700],0xf
MOV EAX,dword ptr [EBP + 0xfffff720]
TEST EAX,EAX
JZ 0x00012354
SUB ESP,0xc
PUSH EAX
CALL 0x000110d0
ADD ESP,0x10
JMP 0x00012354
MOV EAX,ESI
SUB EAX,dword ptr [EBP + 0xfffff6f0]
PUSH EDI
ADD EAX,0x1
PUSH EAX
LEA EAX,[EBX + 0xffffd828]
PUSH EAX
LEA EAX,[EBX + 0xffffcfe8]
PUSH EAX
CALL 0x00011140
ADD ESP,0x10
JMP 0x000127d9
MOV EAX,dword ptr [EBP + 0xfffff700]
LEA EDX,[EBP + 0xfffffee4]
LEA ESI,[EBX + 0xffff9384]
MOV ECX,0x9
MOV EDI,EDX
MOVSB.REP ES:EDI,ESI
TEST EAX,EAX
JLE 0x00013b43
PUSH dword ptr [EBP + 0xfffff6bc]
PUSH EDX
PUSH 0x50
PUSH EAX
MOV dword ptr [EBP + 0xfffff6fc],EDX
CALL 0x00011300
POP EAX
POP EDX
LEA EAX,[EBX + 0xffff938d]
MOV EDX,dword ptr [EBP + 0xfffff6fc]
PUSH EDX
PUSH EAX
CALL 0x00011140
LEA EAX,[EBX + 0xffffce30]
MOV dword ptr [ESP],EAX
CALL 0x00011140
ADD ESP,0x10
JMP 0x00012354
PUSH EAX
MOV ESI,dword ptr [EBP + 0xfffff7b4]
PUSH EAX
PUSH 0x0
PUSH dword ptr [EBP + 0xfffff870]
CALL 0x00011090
ADD ESP,0x10
MOV dword ptr [EBP + 0xfffff6e8],EAX
TEST EAX,EAX
JS 0x00013c61
SUB ESP,0xc
PUSH dword ptr [EBP + 0xfffff6e8]
CALL 0x000110a0
ADD ESP,0x10
MOV dword ptr [EBP + 0xfffff700],ESI
TEST EAX,EAX
JNS 0x00012cef
SUB ESP,0xc
LEA EAX,[EBX + 0xffff92c8]
PUSH EAX
CALL 0x00011160
ADD ESP,0x10
MOV dword ptr [EBP + 0xfffff700],0xf
JMP 0x00012354
PUSH EAX
LEA EAX,[EBX + 0xffffcc70]
PUSH EDX
PUSH EDI
PUSH EAX
CALL 0x00011140
LEA EAX,[EBX + 0xffffccf0]
MOV dword ptr [ESP],EAX
CALL 0x00011140
MOVZX EAX,byte ptr [EBP + 0xfffffea0]
MOV EDX,dword ptr [EBP + 0xfffff830]
ADD ESP,0x10
PUSH ECX
SHR AL,0x1
PUSH ECX
ADD ESI,EDX
AND EAX,0x7
PUSH EAX
MOV EAX,dword ptr [EBP + 0xfffff85c]
PUSH ESI
PUSH EDX
MOV EDX,dword ptr [EBP + 0xfffff860]
ADD EAX,-0x1
ADC EDX,-0x1
PUSH EDX
PUSH EAX
LEA EAX,[EBX + 0xffffcd74]
PUSH EAX
CALL 0x00011140
MOVSX EDX,byte ptr [EBP + 0xfffffea2]
ADD ESP,0x18
MOVZX EAX,byte ptr [EBP + 0xfffffea1]
MOVZX EDI,byte ptr [EBP + 0xfffff700]
SHR EDX,0x1f
PUSH EDX
MOV EDX,EAX
SHR AL,0x4
AND EDX,0xf
MOVZX EAX,AL
PUSH EDX
PUSH EAX
LEA EAX,[EBX + 0xffffcdb4]
PUSH dword ptr [EBP + 0xfffff80c]
PUSH EDI
PUSH EAX
CALL 0x00011140
MOVZX EAX,word ptr [EBP + 0xfffffea2]
ADD ESP,0x1c
ROL AX,0x8
AND EAX,0x3fff
PUSH EAX
MOVZX EAX,byte ptr [EBP + 0xfffffea2]
SHR AL,0x6
AND EAX,0x1
PUSH EAX
LEA EAX,[EBX + 0xffff9353]
PUSH EAX
CALL 0x00011140
ADD ESP,0x10
JMP 0x00012312
XOR EDI,EDI
JMP 0x00012dcd
SUB ESP,0xc
LEA EAX,[EBX + 0xffffcf54]
PUSH EAX
CALL 0x00011140
ADD ESP,0x10
JMP 0x00012130
SUB ESP,0xc
LEA EAX,[EBX + 0xffffcfc4]
PUSH EAX
CALL 0x00011140
ADD ESP,0x10
JMP 0x000127d9
SUB ESP,0xc
LEA EAX,[EBX + 0xffffccf0]
PUSH EAX
JMP 0x00013525
MOV EAX,dword ptr [EBP + 0xfffff700]
LEA EDX,[EBP + 0xfffffee4]
LEA ESI,[EBX + 0xffff9384]
MOV ECX,0x9
MOV EDI,EDX
MOVSB.REP ES:EDI,ESI
TEST EAX,EAX
JLE 0x00013659
PUSH dword ptr [EBP + 0xfffff6bc]
PUSH EDX
PUSH 0x50
PUSH EAX
MOV dword ptr [EBP + 0xfffff6fc],EDX
CALL 0x00011300
MOV EDX,dword ptr [EBP + 0xfffff6fc]
ADD ESP,0x10
PUSH EAX
PUSH EAX
LEA EAX,[EBX + 0xffff93ae]
PUSH EDX
PUSH EAX
CALL 0x00011140
LEA EAX,[EBX + 0xffffce30]
MOV dword ptr [ESP],EAX
CALL 0x00011140
ADD ESP,0x10
JMP 0x00013005
PUSH EDI
PUSH dword ptr [EBP + 0xfffff868]
PUSH EAX
LEA EAX,[EBX + 0xffffcd14]
PUSH EAX
CALL 0x00011140
ADD ESP,0x10
CMP dword ptr [EBP + 0xfffff810],0x0
JNZ 0x00012ef5
SUB ESP,0xc
LEA EAX,[EBX + 0xffffcd4c]
JMP 0x00013516
TEST DL,DL
JNZ 0x0001305d
SUB ESP,0xc
LEA EAX,[EBX + 0xffffd504]
PUSH EAX
CALL 0x00011140
ADD ESP,0x10
MOV dword ptr [EBP + 0xfffff700],0x1
JMP 0x00012354
CALL 0x00011250
SUB ESP,0xc
MOV ESI,dword ptr [EAX]
PUSH ESI
CALL 0x000112d0
ADD ESP,0xc
PUSH EAX
LEA EAX,[EBX + 0xffff940c]
PUSH dword ptr [EBP + 0xfffff870]
PUSH EAX
CALL 0x00011140
MOV dword ptr [ESP],ESI
CALL 0x00011270
ADD ESP,0x10
MOV dword ptr [EBP + 0xfffff700],EAX
JMP 0x00012354
CALL 0x00011250
LEA ESI,[EBP + 0xfffffee4]
MOV EDI,dword ptr [EAX]
PUSH EAX
PUSH EAX
LEA EAX,[EBX + 0xffffcb08]
PUSH dword ptr [EBP + 0xfffff86c]
PUSH EAX
PUSH 0x100
PUSH 0x1
PUSH 0x100
PUSH ESI
CALL 0x00011050
ADD ESP,0x14
PUSH ESI
CALL 0x00011160
MOV dword ptr [ESP],EDI
CALL 0x00011270
ADD ESP,0x10
MOV dword ptr [EBP + 0xfffff700],EAX
JMP 0x00012527
TEST EDI,EDI
JZ 0x0001376d
MOV word ptr [EBP + 0xfffff712],DI
CMP dword ptr [EBP + 0xfffff870],0x0
MOVZX EAX,byte ptr [EBP + 0xfffff7ef]
JZ 0x00013c86
TEST AL,AL
JNZ 0x00013dcd
MOVZX EDI,word ptr [EBP + 0xfffff712]
XOR EDX,EDX
PUSH 0x0
ADD EDI,0x1
SHL EDI,0x5
MOV EAX,EDI
DIV dword ptr [EBP + 0xfffff834]
TEST EDX,EDX
LEA ECX,[EAX + 0x1]
LEA EDX,[EBP + 0xfffff720]
CMOVNZ EAX,ECX
PUSH EDX
PUSH 0x0
MOV word ptr [EBP + 0xfffff826],AX
MOVZX EAX,AX
ADD EAX,ESI
IMUL EAX,dword ptr [EBP + 0xfffff834]
PUSH EAX
CALL 0x00011370
ADD ESP,0x10
MOV ESI,EAX
TEST EAX,EAX
JZ 0x000141a6
MOV word ptr [EBP + 0xfffff712],0x0
MOV dword ptr [EBP + 0xfffff71c],0x0
CMP EDI,0x20
JNZ 0x000137ff
MOVZX EDI,word ptr [EBP + 0xfffff826]
IMUL EDI,dword ptr [EBP + 0xfffff834]
LEA EAX,[EBP + 0xfffff71c]
PUSH EDI
MOVZX ECX,byte ptr [EBP + 0xfffff7f1]
PUSH EAX
LEA EAX,[EBP + 0xfffff712]
MOVZX EDX,byte ptr [EBP + 0xfffff7e8]
PUSH EAX
XOR ECX,0x1
MOV EAX,dword ptr [EBP + 0xfffff870]
PUSH ESI
MOVZX ECX,CL
CALL 0x000156d0
ADD ESP,0x10
MOV dword ptr [EBP + 0xfffff700],EAX
TEST EAX,EAX
JNZ 0x000133fd
MOV EDI,dword ptr [EBP + 0xfffff834]
IMUL EDI,dword ptr [EBP + 0xfffff71c]
MOV EAX,dword ptr [EBP + 0xfffff838]
MOV EDX,dword ptr [EBP + 0xfffff6c0]
CMP EDI,EAX
JNC 0x00014201
MOV EAX,dword ptr [EBP + 0xfffff6f8]
OR EAX,dword ptr [EBP + 0xfffff810]
JNZ 0x000142ce
TEST EDX,EDX
JZ 0x000138fd
CMP EDX,EDI
JZ 0x000138fd
CMP EDI,EDX
CMOVA EDI,EDX
MOV EAX,EDI
XOR EDX,EDX
DIV dword ptr [EBP + 0xfffff834]
TEST EDX,EDX
JZ 0x000138fd
CMP dword ptr [EBP + 0xfffff6f8],0x0
JNZ 0x000138a3
CMP dword ptr [EBP + 0xfffff810],0x1
JLE 0x000138fd
PUSH EAX
LEA EAX,[EBX + 0xffffd30c]
PUSH dword ptr [EBP + 0xfffff830]
PUSH EDI
PUSH EAX
CALL 0x00011140
MOV EDX,dword ptr [EBP + 0xfffff830]
MOV EAX,dword ptr [EBP + 0xfffff834]
ADD ESP,0x10
CMP EDX,EAX
JZ 0x000138de
SUB EAX,EDX
PUSH ECX
PUSH ECX
PUSH EAX
LEA EAX,[EBX + 0xffff9436]
PUSH EAX
CALL 0x00011140
ADD ESP,0x10
CMP dword ptr [EBP + 0xfffff810],0x1
JG 0x00014330
SUB ESP,0xc
LEA EAX,[EBX + 0xffff944f]
PUSH EAX
CALL 0x00011140
ADD ESP,0x10
SUB ESP,0xc
MOVZX EDX,word ptr [EBP + 0xfffff826]
LEA EAX,[EBX + 0xffff946c]
MOV ECX,EDI
IMUL EDX,dword ptr [EBP + 0xfffff834]
PUSH EAX
MOV EAX,dword ptr [EBP + 0xfffff6e4]
ADD EDX,ESI
CALL 0x00014a80
ADD ESP,0x10
MOV dword ptr [EBP + 0xfffff700],EAX
TEST EAX,EAX
JNZ 0x000133fd
MOV EAX,dword ptr [EBP + 0xfffff71c]
MOV ECX,dword ptr [EBP + 0xfffff834]
MOVZX EDX,word ptr [EBP + 0xfffff826]
ADD EDX,EAX
MOV dword ptr [EBP + 0xfffff83c],EAX
IMUL EAX,ECX
IMUL EDX,ECX
MOV dword ptr [EBP + 0xfffff864],EAX
MOV dword ptr [EBP + 0xfffff6f0],EDX
SUB ESP,0xc
PUSH dword ptr [EBP + 0xfffff6d4]
MOV ECX,dword ptr [EBP + 0xfffff6f0]
MOV EDX,ESI
MOV EAX,dword ptr [EBP + 0xfffff6d8]
CALL 0x00014b00
ADD ESP,0x10
MOV dword ptr [EBP + 0xfffff700],EAX
TEST EAX,EAX
JZ 0x000133fd
LEA EDX,[EBP + 0xfffffee4]
LEA ESI,[EBX + 0xffff9384]
MOV ECX,0x9
MOV EDI,EDX
MOVSB.REP ES:EDI,ESI
JLE 0x000139c4
PUSH dword ptr [EBP + 0xfffff6f8]
PUSH EDX
PUSH 0x50
PUSH EAX
MOV dword ptr [EBP + 0xfffff6fc],EDX
CALL 0x00011300
MOV EDX,dword ptr [EBP + 0xfffff6fc]
ADD ESP,0x10
LEA EAX,[EBX + 0xffff932e]
PUSH ESI
PUSH EDX
PUSH dword ptr [EBP + 0xfffff6e0]
PUSH EAX
CALL 0x00011140
ADD ESP,0x10
JMP 0x000133fd
SUB ESP,0xc
LEA EAX,[EBX + 0xffffcb34]
PUSH dword ptr [EBP + 0xfffff6dc]
PUSH dword ptr [EBP + 0xfffff6d8]
PUSH dword ptr [EBP + 0xfffff704]
PUSH dword ptr [EBP + 0xfffff700]
PUSH EAX
CALL 0x00011140
ADD ESP,0x20
MOV dword ptr [EBP + 0xfffff700],0xf
JMP 0x00012527
LEA ECX,[EBP + 0xfffff714]
PUSH 0x60
MOVZX EDX,byte ptr [EBP + 0xfffff7e8]
PUSH ECX
LEA ECX,[EBP + 0xfffff710]
PUSH ECX
LEA ECX,[EBP + 0xfffffee4]
PUSH ECX
MOV ECX,0x1
MOV dword ptr [EBP + 0xfffff714],0x0
CALL 0x000156d0
ADD ESP,0x10
MOV dword ptr [EBP + 0xfffff700],EAX
TEST EAX,EAX
JNZ 0x00012354
CMP dword ptr [EBP + 0xfffff6f8],0x0
JZ 0x00013aab
MOVZX EAX,word ptr [EBP + 0xfffff710]
CMP AX,0x1
JBE 0x00013a84
PUSH EDX
PUSH EDX
PUSH EAX
LEA EAX,[EBX + 0xffffd41c]
PUSH EAX
CALL 0x00011140
ADD ESP,0x10
CMP dword ptr [EBP + 0xfffff6f8],0x2
JLE 0x00013aab
PUSH EAX
MOVZX EAX,word ptr [EBP + 0xfffff710]
PUSH dword ptr [EBP + 0xfffff714]
PUSH EAX
LEA EAX,[EBX + 0xffffd460]
PUSH EAX
CALL 0x00011140
ADD ESP,0x10
CMP word ptr [EBP + 0xfffff710],0x1
JNZ 0x000141db
MOV EAX,dword ptr [EBP + 0xffffff04]
MOV EDX,dword ptr [EBP + 0xffffff08]
CMP byte ptr [EBP + 0xfffff7e9],0x0
BSWAP EAX
MOV dword ptr [EBP + 0xfffff850],EAX
MOV EAX,dword ptr [EBP + 0xffffff0c]
BSWAP EDX
MOV dword ptr [EBP + 0xfffff84c],EDX
BSWAP EAX
MOV dword ptr [EBP + 0xfffff83c],EAX
JZ 0x00012d48
MOV EAX,dword ptr [EBP + 0xffffff10]
BSWAP EAX
MOV dword ptr [EBP + 0xfffff848],EAX
MOVZX EAX,word ptr [EBP + 0xffffff14]
ROL AX,0x8
MOV word ptr [EBP + 0xfffff822],AX
MOVZX EAX,word ptr [EBP + 0xffffff16]
ROL AX,0x8
MOV word ptr [EBP + 0xfffff82c],AX
JMP 0x00012d48
LEA EAX,[EBX + 0xffffd4c4]
PUSH ESI
PUSH ESI
PUSH dword ptr [EBP + 0xfffff700]
PUSH EAX
CALL 0x00011140
ADD ESP,0x10
JMP 0x00012ef5
PUSH EAX
PUSH EAX
LEA EAX,[EBX + 0xffff93a4]
PUSH dword ptr [EBP + 0xfffff700]
PUSH EAX
PUSH 0x50
PUSH 0x1
PUSH 0x50
PUSH EDX
MOV dword ptr [EBP + 0xfffff700],EDX
CALL 0x00011050
MOV EDX,dword ptr [EBP + 0xfffff700]
ADD ESP,0x18
LEA EAX,[EBX + 0xffff938d]
PUSH EDX
PUSH EAX
CALL 0x00011140
LEA EAX,[EBX + 0xffffce30]
MOV dword ptr [ESP],EAX
CALL 0x00011140
ADD ESP,0x10
MOV dword ptr [EBP + 0xfffff700],0xf
JMP 0x00012354
CALL 0x000162b0
SUB ESP,0xc
LEA EAX,[EBX + 0xffffd5b4]
PUSH EAX
CALL 0x00011140
ADD ESP,0x10
JMP 0x00012130
PUSH EAX
LEA EAX,[EBX + 0xffffcb68]
PUSH dword ptr [EBP + 0xfffff6c0]
PUSH dword ptr [EBP + 0xfffff86c]
PUSH EAX
CALL 0x00011140
ADD ESP,0x10
MOV dword ptr [EBP + 0xfffff700],0xf
JMP 0x00012527
PUSH EDI
LEA EAX,[EBX + 0xffffd544]
PUSH EDI
PUSH ESI
PUSH EAX
CALL 0x00011140
MOV dword ptr [ESP],0xc
CALL 0x00011270
ADD ESP,0x10
MOV dword ptr [EBP + 0xfffff700],EAX
JMP 0x00012354
LEA EAX,[EBX + 0xffffd828]
PUSH ECX
PUSH ECX
PUSH EAX
LEA EAX,[EBX + 0xffff9526]
PUSH EAX
CALL 0x00011140
ADD ESP,0x10
JMP 0x000127d9
MOVZX EAX,word ptr [EBP + 0xfffff828]
TEST AX,AX
JZ 0x00013da6
MOVZX EDI,AX
MOV ECX,dword ptr [EBP + 0xfffff834]
XOR EDX,EDX
ADD EDI,0x1
SHL EDI,0x5
MOV EAX,EDI
DIV ECX
TEST EDX,EDX
JZ 0x00013324
ADD EAX,0x1
IMUL EAX,ECX
MOV EDI,EAX
JMP 0x00013324
CALL 0x00011250
SUB ESP,0xc
MOV ESI,dword ptr [EAX]
PUSH ESI
CALL 0x000112d0
ADD ESP,0xc
PUSH EAX
LEA EAX,[EBX + 0xffffd0b8]
PUSH dword ptr [EBP + 0xfffff870]
JMP 0x000136f9
TEST AL,AL
JNZ 0x00013dcd
TEST EDI,EDI
JZ 0x0001435c
MOVZX EAX,word ptr [EBP + 0xfffff828]
TEST AX,AX
JZ 0x00013caa
CMP EAX,EDI
JA 0x0001437d
MOVZX EAX,word ptr [EBP + 0xfffff712]
MOV ESI,dword ptr [EBP + 0xfffff834]
XOR EDX,EDX
ADD EAX,0x1
SHL EAX,0x5
DIV ESI
TEST EDX,EDX
LEA ECX,[EAX + 0x1]
CMOVNZ EAX,ECX
XOR EDX,EDX
MOV word ptr [EBP + 0xfffff826],AX
XOR EAX,EAX
MOV ECX,dword ptr [EBP + 0xfffff6bc]
ADD EAX,dword ptr [ECX + EDX*0x4]
ADD EDX,0x1
CMP EDX,EDI
JL 0x00013cd4
MOVZX EDX,word ptr [EBP + 0xfffff826]
MOV dword ptr [EBP + 0xfffff71c],EAX
PUSH 0x0
ADD EAX,EDX
IMUL EAX,ESI
MOV ESI,EAX
MOV dword ptr [EBP + 0xfffff6f0],EAX
LEA EAX,[EBP + 0xfffff720]
PUSH EAX
PUSH 0x0
PUSH ESI
CALL 0x00011370
ADD ESP,0x10
MOV ESI,EAX
TEST EAX,EAX
JZ 0x00013fb3
LEA EAX,[EAX + 0x20]
XOR ECX,ECX
MOV dword ptr [EBP + 0xfffff700],ESI
JMP 0x00013d4a
MOV dword ptr [EAX + 0xc],0xffffffff
MOV word ptr [EAX + 0x10],0xffff
MOV word ptr [EAX + 0x12],0xffff
ADD ECX,0x1
ADD EAX,0x20
CMP EDI,ECX
JLE 0x00013f9c
MOV ESI,dword ptr [EBP + 0xfffff6b8]
MOV EDX,dword ptr [ESI + ECX*0x8]
MOV ESI,dword ptr [ESI + ECX*0x8 + 0x4]
BSWAP ESI
MOV dword ptr [EAX],ESI
MOV ESI,dword ptr [EBP + 0xfffff6bc]
BSWAP EDX
MOV dword ptr [EAX + 0x4],EDX
MOV EDX,dword ptr [ESI + ECX*0x4]
BSWAP EDX
MOV dword ptr [EAX + 0x8],EDX
CMP byte ptr [EBP + 0xfffff7e9],0x0
JZ 0x00013d3c
TEST ECX,ECX
JNZ 0x00013d29
MOV EDX,dword ptr [EBP + 0xfffff848]
BSWAP EDX
MOV dword ptr [EAX + 0xc],EDX
MOVZX EDX,word ptr [EBP + 0xfffff822]
ROL DX,0x8
MOV word ptr [EAX + 0x10],DX
MOVZX EDX,word ptr [EBP + 0xfffff82c]
ROL DX,0x8
MOV word ptr [EAX + 0x12],DX
JMP 0x00013d3c
MOV EDI,dword ptr [EBP + 0xfffff6cc]
MOV EAX,EDI
TEST EDI,EDI
JZ 0x00014281
MOV ECX,dword ptr [EBP + 0xfffff834]
XOR EDX,EDX
DIV ECX
TEST EDX,EDX
JZ 0x00013324
JMP 0x00013c54
MOVZX EAX,word ptr [EBP + 0xfffff828]
TEST AX,AX
JZ 0x00013f8f
ADD EAX,0x1
SHL EAX,0x5
CMP dword ptr [EBP + 0xfffff700],EAX
JC 0x00014470
MOV ECX,dword ptr [EBP + 0xfffff834]
XOR EDX,EDX
DIV ECX
CMP EDX,0x1
SBB EAX,-0x1
IMUL EAX,ECX
MOV EDI,EAX
MOV EAX,dword ptr [EBP + 0xfffff6cc]
MOV dword ptr [EBP + 0xfffff6f0],ECX
TEST EAX,EAX
JZ 0x00013e27
XOR EDX,EDX
DIV ECX
CMP EDX,0x1
SBB EAX,-0x1
IMUL EAX,ECX
MOV dword ptr [EBP + 0xfffff6f0],EAX
LEA EAX,[EBP + 0xfffff720]
PUSH 0x0
PUSH EAX
MOV EAX,dword ptr [EBP + 0xfffff6f0]
PUSH 0x0
ADD EAX,EDI
PUSH EAX
CALL 0x00011370
ADD ESP,0x10
MOV ESI,EAX
TEST EAX,EAX
JZ 0x00013fb3
SUB ESP,0xc
LEA EAX,[EBX + 0xffff9471]
MOV ECX,dword ptr [EBP + 0xfffff700]
MOV EDX,ESI
PUSH EAX
MOV EAX,dword ptr [EBP + 0xfffff6e8]
CALL 0x00014a80
ADD ESP,0x10
MOV dword ptr [EBP + 0xfffff700],EAX
TEST EAX,EAX
JNZ 0x000133fd
LEA EAX,[EBP + 0xfffff71c]
PUSH ECX
MOV EDX,EDI
PUSH ECX
MOV ECX,dword ptr [EBP + 0xfffff6d4]
PUSH EAX
LEA EAX,[EBP + 0xfffff712]
PUSH EAX
MOV EAX,ESI
CALL 0x000146a0
ADD ESP,0x10
TEST AL,AL
JZ 0x000133f3
MOVZX EAX,word ptr [EBP + 0xfffff712]
CMP word ptr [EBP + 0xfffff828],AX
JNZ 0x000144fe
MOV EAX,dword ptr [EBP + 0xfffff834]
IMUL EAX,dword ptr [EBP + 0xfffff71c]
MOV dword ptr [EBP + 0xfffff700],EAX
CMP dword ptr [EBP + 0xfffff6f0],EAX
JC 0x0001449c
MOV EDX,dword ptr [EBP + 0xfffff6cc]
CMP EDX,EDI
JZ 0x00013f47
MOV EAX,dword ptr [EBP + 0xfffff6f8]
OR EAX,dword ptr [EBP + 0xfffff810]
JZ 0x00014351
LEA EAX,[EBX + 0xffff91e9]
CMP EDX,EDI
JA 0x00013f04
LEA EAX,[EBX + 0xffff921c]
PUSH EDI
PUSH EAX
LEA EAX,[EBX + 0xffffd3a0]
PUSH dword ptr [EBP + 0xfffff6cc]
PUSH EAX
CALL 0x00011140
MOV EAX,dword ptr [EBP + 0xfffff810]
ADD ESP,0x10
CMP EAX,0x1
JG 0x0001444f
SUB ESP,0xc
LEA EAX,[EBX + 0xffff9489]
PUSH EAX
CALL 0x00011140
MOV EAX,dword ptr [EBP + 0xfffff6cc]
ADD ESP,0x10
CMP EDI,EAX
CMOVA EDI,EAX
SUB ESP,0xc
LEA EAX,[EBX + 0xffff9499]
MOV EDX,dword ptr [EBP + 0xfffff6f0]
MOV ECX,EDI
PUSH EAX
MOV EAX,dword ptr [EBP + 0xfffff6e4]
ADD EDX,ESI
CALL 0x00014a80
ADD ESP,0x10
MOV dword ptr [EBP + 0xfffff700],EAX
TEST EAX,EAX
JNZ 0x000133fd
MOV EAX,dword ptr [EBP + 0xfffff71c]
MOV ECX,dword ptr [EBP + 0xfffff834]
MOVZX EDX,word ptr [EBP + 0xfffff712]
JMP 0x00013948
MOV ECX,dword ptr [EBP + 0xfffff834]
MOV EDI,ECX
JMP 0x00013e04
MOV EAX,dword ptr [EBP + 0xfffff71c]
MOV ESI,dword ptr [EBP + 0xfffff700]
MOV dword ptr [EBP + 0xfffff83c],EAX
JMP 0x00013962
SUB ESP,0xc
LEA EAX,[EBX + 0xffffd12c]
PUSH EAX
CALL 0x00011140
MOV dword ptr [ESP],0xc
CALL 0x00011270
ADD ESP,0x10
MOV dword ptr [EBP + 0xfffff700],EAX
JMP 0x000133fd
MOV word ptr [EBP + 0xfffff828],DX
MOVZX EAX,word ptr [EBP + 0xfffff712]
MOV ECX,dword ptr [EBP + 0xfffff834]
XOR EDX,EDX
MOV dword ptr [EBP + 0xfffff6ec],EAX
ADD EAX,0x1
SHL EAX,0x5
MOV dword ptr [EBP + 0xfffff700],EAX
DIV ECX
TEST EDX,EDX
JZ 0x00014016
ADD EAX,0x1
IMUL EAX,ECX
MOV dword ptr [EBP + 0xfffff700],EAX
MOVZX EAX,word ptr [EBP + 0xfffff826]
MOV EDX,EAX
MOV dword ptr [EBP + 0xfffff6f0],EAX
IMUL EDX,ECX
CMP EDX,dword ptr [EBP + 0xfffff700]
JZ 0x000140ce
JC 0x000142a2
MOV EAX,dword ptr [EBP + 0xfffff6f8]
OR EAX,dword ptr [EBP + 0xfffff810]
JZ 0x00014084
PUSH EAX
LEA EAX,[EBX + 0xffffd814]
PUSH dword ptr [EBP + 0xfffff6f0]
PUSH EAX
LEA EAX,[EBX + 0xffffd19c]
PUSH EAX
MOV dword ptr [EBP + 0xfffff6ec],EDX
CALL 0x00011140
ADD ESP,0x10
CMP dword ptr [EBP + 0xfffff810],0x0
JNZ 0x00014420
MOV ECX,dword ptr [EBP + 0xfffff834]
MOV EDX,dword ptr [EBP + 0xfffff6ec]
MOV EAX,dword ptr [EBP + 0xfffff71c]
IMUL EAX,ECX
ADD EAX,EDX
MOV dword ptr [EBP + 0xfffff6f0],EAX
CMP EDI,EAX
JNC 0x0001418c
CMP dword ptr [EBP + 0xfffff6cc],EAX
JZ 0x00014113
JNC 0x000140d6
LEA EAX,[EBX + 0xffff91e9]
PUSH dword ptr [EBP + 0xfffff6cc]
PUSH EAX
LEA EAX,[EBX + 0xffffd62c]
PUSH dword ptr [EBP + 0xfffff6f0]
PUSH EAX
CALL 0x00011140
ADD ESP,0x10
JMP 0x000133f3
MOV EDX,dword ptr [EBP + 0xfffff700]
JMP 0x00014084
MOV EAX,dword ptr [EBP + 0xfffff6f8]
OR EAX,dword ptr [EBP + 0xfffff810]
JZ 0x00014113
LEA EAX,[EBX + 0xffff921c]
PUSH dword ptr [EBP + 0xfffff6cc]
PUSH EAX
LEA EAX,[EBX + 0xffffd62c]
PUSH dword ptr [EBP + 0xfffff6f0]
PUSH EAX
CALL 0x00011140
ADD ESP,0x10
CMP dword ptr [EBP + 0xfffff810],0x0
JNZ 0x000133f3
PUSH 0x0
PUSH dword ptr [EBP + 0xfffff6fc]
PUSH 0x0
PUSH dword ptr [EBP + 0xfffff6f0]
CALL 0x00011370
ADD ESP,0x10
TEST EAX,EAX
JZ 0x00014273
PUSH EDX
PUSH EDI
PUSH ESI
MOV ESI,EAX
PUSH EAX
CALL 0x000110f0
POP ECX
PUSH dword ptr [EBP + 0xfffff720]
CALL 0x000110d0
MOV EAX,dword ptr [EBP + 0xfffff724]
MOV ECX,dword ptr [EBP + 0xfffff6f0]
LEA EDX,[ESI + EDI*0x1]
MOV dword ptr [EBP + 0xfffff720],EAX
LEA EAX,[EBX + 0xffff9430]
SUB ECX,EDI
MOV dword ptr [ESP],EAX
MOV EAX,dword ptr [EBP + 0xfffff6e4]
CALL 0x00014a80
ADD ESP,0x10
MOV dword ptr [EBP + 0xfffff700],EAX
TEST EAX,EAX
JNZ 0x000133fd
MOV ECX,dword ptr [EBP + 0xfffff834]
MOV EAX,dword ptr [EBP + 0xfffff71c]
MOV dword ptr [EBP + 0xfffff83c],EAX
IMUL EAX,ECX
MOV dword ptr [EBP + 0xfffff864],EAX
JMP 0x00013962
SUB ESP,0xc
LEA EAX,[EBX + 0xffffd12c]
JMP 0x00013bea
MOV EDI,0x1
JMP 0x00012820
PUSH EDX
PUSH EAX
LEA EAX,[EBX + 0xffff9114]
PUSH EAX
LEA EAX,[EBX + 0xffff94b5]
PUSH EAX
CALL 0x00011140
ADD ESP,0x10
JMP 0x00012ef5
LEA EAX,[EBX + 0xffffd490]
PUSH EDI
PUSH EDI
PUSH dword ptr [EBP + 0xfffff870]
PUSH EAX
CALL 0x00011140
ADD ESP,0x10
MOV dword ptr [EBP + 0xfffff700],0xf
JMP 0x00012354
JBE 0x00014208
TEST EAX,EAX
CMOVNZ EDI,EAX
TEST EDX,EDX
JZ 0x00013883
CMP EDX,EDI
JZ 0x00013883
CMP dword ptr [EBP + 0xfffff6f8],0x0
JZ 0x0001424f
LEA EAX,[EBX + 0xffff921c]
CMP EDX,EDI
JC 0x00014231
LEA EAX,[EBX + 0xffff91e9]
PUSH EDI
PUSH EAX
LEA EAX,[EBX + 0xffffd2b4]
PUSH EDX
PUSH EAX
MOV dword ptr [EBP + 0xfffff700],EDX
CALL 0x00011140
MOV EDX,dword ptr [EBP + 0xfffff700]
ADD ESP,0x10
MOV EAX,dword ptr [EBP + 0xfffff810]
TEST EAX,EAX
JZ 0x0001387e
CMP EDX,EDI
JNC 0x000133f3
SUB EAX,0x1
JLE 0x0001387e
JMP 0x000133f3
SUB ESP,0xc
LEA EAX,[EBX + 0xffffd218]
JMP 0x00013fbc
SUB ESP,0xc
LEA EAX,[EBX + 0xffffd0dc]
PUSH EAX
CALL 0x00011140
ADD ESP,0x10
MOV dword ptr [EBP + 0xfffff700],0x1f
JMP 0x00012354
SUB ESP,0xc
PUSH EAX
LEA EAX,[EBX + 0xffff9114]
PUSH dword ptr [EBP + 0xfffff6ec]
PUSH EAX
LEA EAX,[EBX + 0xffffd814]
PUSH EAX
LEA EAX,[EBX + 0xffffd164]
PUSH EAX
CALL 0x00011140
ADD ESP,0x20
JMP 0x000133f3
PUSH EAX
PUSH EAX
LEA EAX,[EBX + 0xffffd250]
PUSH EDI
PUSH EAX
MOV dword ptr [EBP + 0xfffff700],EDX
CALL 0x00011140
ADD ESP,0x10
CMP dword ptr [EBP + 0xfffff6f8],0x1
MOV EDX,dword ptr [EBP + 0xfffff700]
JLE 0x0001431e
MOVZX EAX,word ptr [EBP + 0xfffff712]
PUSH dword ptr [EBP + 0xfffff834]
PUSH dword ptr [EBP + 0xfffff71c]
PUSH EAX
LEA EAX,[EBX + 0xffffd28c]
PUSH EAX
CALL 0x00011140
MOV EDX,dword ptr [EBP + 0xfffff700]
ADD ESP,0x10
CMP dword ptr [EBP + 0xfffff810],0x0
JZ 0x00014208
JMP 0x000133f3
SUB ESP,0xc
LEA EAX,[EBX + 0xffff9440]
PUSH EAX
CALL 0x00011140
ADD ESP,0x10
MOV dword ptr [EBP + 0xfffff700],0xf
JMP 0x000133fd
MOV EDI,dword ptr [EBP + 0xfffff6cc]
JMP 0x00013f47
SUB ESP,0xc
LEA EAX,[EBX + 0xffff949e]
PUSH EAX
CALL 0x00011140
ADD ESP,0x10
MOV dword ptr [EBP + 0xfffff700],0x1
JMP 0x000133fd
PUSH EDI
PUSH EAX
LEA EAX,[EBX + 0xffffd814]
PUSH EAX
LEA EAX,[EBX + 0xffffd3cc]
PUSH EAX
CALL 0x00011140
ADD ESP,0x10
MOV dword ptr [EBP + 0xfffff700],0x1f
JMP 0x00012354
MOV ECX,dword ptr [EBP + 0xfffff6f8]
OR ECX,dword ptr [EBP + 0xfffff810]
JZ 0x000143ed
SUB ESP,0xc
LEA EAX,[EBX + 0xffff9114]
PUSH EDX
PUSH EAX
LEA EAX,[EBX + 0xffff921c]
PUSH EAX
LEA EAX,[EBX + 0xffffd668]
PUSH dword ptr [EBP + 0xfffff6f0]
PUSH EAX
CALL 0x00011140
ADD ESP,0x20
CMP dword ptr [EBP + 0xfffff810],0x0
JNZ 0x000133f3
MOVZX EAX,word ptr [EBP + 0xfffff828]
MOV word ptr [EBP + 0xfffff712],AX
SHL EAX,0x5
MOV EDX,ESI
ADD EAX,ESI
JMP 0x0001440b
MOV ECX,dword ptr [EDX + 0x28]
ADD EDX,0x20
BSWAP ECX
ADD dword ptr [EBP + 0xfffff700],ECX
CMP EAX,EDX
JNZ 0x000143fd
MOV EAX,dword ptr [EBP + 0xfffff700]
MOV dword ptr [EBP + 0xfffff71c],EAX
JMP 0x00013fe3
MOV EAX,dword ptr [EBP + 0xfffff700]
XOR EDX,EDX
PUSH ESI
PUSH ESI
DIV dword ptr [EBP + 0xfffff834]
PUSH EAX
LEA EAX,[EBX + 0xffffd1d8]
PUSH EAX
CALL 0x00011140
ADD ESP,0x10
MOV dword ptr [EBP + 0xfffff700],0xf
JMP 0x000133fd
PUSH EDI
PUSH EDI
PUSH EAX
LEA EAX,[EBX + 0xffff9474]
PUSH EAX
CALL 0x00011140
ADD ESP,0x10
MOV dword ptr [EBP + 0xfffff700],0xf
JMP 0x000133fd
LEA EDX,[EBX + 0xffff9114]
PUSH EDX
PUSH EAX
LEA EAX,[EBX + 0xffffd348]
PUSH dword ptr [EBP + 0xfffff700]
PUSH EAX
CALL 0x00011140
ADD ESP,0x10
MOV dword ptr [EBP + 0xfffff700],0xf
JMP 0x000133fd
ADD EAX,EDI
PUSH 0x0
PUSH dword ptr [EBP + 0xfffff6fc]
PUSH 0x0
PUSH EAX
CALL 0x00011370
ADD ESP,0x10
MOV EDX,EAX
TEST EAX,EAX
JZ 0x00014273
PUSH EAX
PUSH EDI
PUSH ESI
PUSH EDX
MOV dword ptr [EBP + 0xfffff6fc],EDX
CALL 0x000110f0
POP EAX
PUSH dword ptr [EBP + 0xfffff720]
CALL 0x000110d0
MOV EAX,dword ptr [EBP + 0xfffff724]
MOV EDX,dword ptr [EBP + 0xfffff6fc]
ADD ESP,0x10
MOV dword ptr [EBP + 0xfffff720],EAX
MOV EAX,dword ptr [EBP + 0xfffff700]
MOV ESI,EDX
MOV dword ptr [EBP + 0xfffff6f0],EAX
JMP 0x00013ed8
PUSH EDX
PUSH EDX
PUSH EAX
LEA EAX,[EBX + 0xffffd380]
PUSH EAX
CALL 0x00011140
ADD ESP,0x10
MOV dword ptr [EBP + 0xfffff700],0xf
JMP 0x000133fd
(translation_unit "/* WARNING: Function: __i686.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */\n\nint FUN_000113d0(int param_1,int param_2)\n\n{\n  byte bVar1;\n  char cVar2;\n  __dev_t *p_Var3;\n  undefined *puVar4;\n  undefined *puVar5;\n  char cVar6;\n  uint uVar7;\n  stat64 *psVar8;\n  stat64 *psVar9;\n  int iVar10;\n  stat64 *psVar11;\n  char *pcVar12;\n  char *pcVar13;\n  int iVar14;\n  char *pcVar15;\n  undefined4 uVar16;\n  stat64 *psVar17;\n  stat64 *psVar18;\n  int *piVar19;\n  undefined *puVar20;\n  int iVar21;\n  stat64 *extraout_ECX;\n  stat64 *extraout_ECX_00;\n  stat64 *extraout_ECX_01;\n  undefined4 extraout_ECX_02;\n  undefined4 extraout_ECX_03;\n  stat64 *extraout_ECX_04;\n  stat64 *extraout_ECX_05;\n  stat64 *extraout_ECX_06;\n  stat64 *extraout_ECX_07;\n  stat64 *extraout_ECX_08;\n  int extraout_EDX;\n  stat64 *psVar22;\n  stat64 *psVar23;\n  stat64 *extraout_EDX_00;\n  undefined4 extraout_EDX_01;\n  stat64 *extraout_EDX_02;\n  stat64 *extraout_EDX_03;\n  stat64 *extraout_EDX_04;\n  undefined4 extraout_EDX_05;\n  uint uVar24;\n  stat64 *psVar25;\n  uint *puVar26;\n  stat64 **ppsVar27;\n  int iVar28;\n  undefined1 *puVar29;\n  int in_GS_OFFSET;\n  bool bVar30;\n  bool bVar31;\n  byte bVar32;\n  undefined8 uVar33;\n  longlong lVar34;\n  __off64_t _Var35;\n  undefined4 uVar36;\n  undefined4 uVar37;\n  stat64 *psVar38;\n  void **ppvVar39;\n  undefined4 uVar40;\n  uint uVar41;\n  uint *puVar42;\n  undefined1 *puVar43;\n  stat64 **ppsVar44;\n  stat64 *psVar45;\n  char local_93f;\n  stat64 *local_93c;\n  stat64 *local_930;\n  stat64 *local_924;\n  stat64 *local_920;\n  stat64 *local_91c;\n  stat64 *local_918;\n  stat64 *local_908;\n  ushort local_8f8;\n  ushort local_8f6;\n  stat64 *local_8f4;\n  void *local_8f0;\n  undefined1 local_8ec [4];\n  void *local_8e8;\n  void *local_8e4;\n  undefined1 local_8e0 [48];\n  int local_8b0;\n  undefined1 local_880 [96];\n  char local_820;\n  char local_81f;\n  byte bStack_81e;\n  byte local_81d;\n  char local_81c;\n  byte local_81b;\n  char local_81a;\n  char local_819;\n  byte local_818;\n  byte local_817;\n  byte local_816;\n  byte bStack_815;\n  byte local_814;\n  char local_813;\n  undefined1 uStack_812;\n  undefined1 uStack_811;\n  byte local_810;\n  char local_80f;\n  char local_80e;\n  uint uStack_80c;\n  int iStack_808;\n  uint uStack_804;\n  int local_800;\n  int local_7fc;\n  uint local_7f8;\n  int local_7f4;\n  stat64 *local_7f0;\n  stat64 *local_7ec;\n  undefined1 uStack_7e8;\n  undefined1 uStack_7e7;\n  ushort local_7e6;\n  undefined2 uStack_7e4;\n  ushort local_7e2;\n  ushort local_7e0;\n  undefined2 uStack_7de;\n  ushort local_7dc;\n  undefined2 uStack_7da;\n  stat64 *local_7d8;\n  stat64 *local_7d4;\n  stat64 *local_7d0;\n  stat64 *local_7cc;\n  undefined4 uStack_7c8;\n  undefined4 uStack_7c4;\n  uint local_7c0;\n  uint local_7bc;\n  uint local_7b8;\n  stat64 *local_7b4;\n  stat64 *local_7b0;\n  int local_7ac;\n  int local_7a8;\n  stat64 *local_7a4;\n  stat64 *local_7a0;\n  char *local_79c;\n  char *local_798;\n  stat64 *local_794;\n  undefined1 local_790 [24];\n  stat64 *local_778 [128];\n  uint local_578;\n  uint local_574;\n  undefined1 local_174 [96];\n  uint local_114;\n  uint local_110;\n  uint local_10c;\n  uint local_104;\n  uint local_100;\n  uint local_fc;\n  uint local_f8;\n  ushort local_f4;\n  ushort local_f2;\n  uint local_24;\n  undefined4 *local_18;\n  \n  iVar28 = param_2;\n  iVar14 = param_1;\n  puVar20 = PTR_optarg_0001dffc;\n  bVar32 = 0;\n  local_18 = &param_1;\n  local_24 = *(uint *)(in_GS_OFFSET + 0x14);\n  local_8f8 = 0;\n  local_8f4 = (stat64 *)0x0;\n  local_8f0 = (void *)0x0;\n  local_918 = (stat64 *)0x0;\n  local_91c = (stat64 *)0x0;\n  pcVar15 = &local_820;\n  for (iVar21 = 0x2a; iVar21 != 0; iVar21 = iVar21 + -1) {\n    pcVar15[0] = '\0';\n    pcVar15[1] = '\0';\n    pcVar15[2] = '\0';\n    pcVar15[3] = '\0';\n    pcVar15 = pcVar15 + 4;\n  }\n  local_930 = (stat64 *)local_8e0;\n  local_7fc = -1;\n  psVar18 = local_930;\n  for (iVar21 = 0x18; iVar21 != 0; iVar21 = iVar21 + -1) {\n    *(undefined4 *)&psVar18->st_dev = 0;\n    psVar18 = (stat64 *)((int)&psVar18->st_dev + 4);\n  }\n  psVar18 = (stat64 *)local_880;\n  local_7c0 = 0xffffffff;\n  psVar38 = psVar18;\n  for (iVar21 = 0x18; iVar21 != 0; iVar21 = iVar21 + -1) {\n    *(undefined4 *)&psVar38->st_dev = 0;\n    psVar38 = (stat64 *)((int)&psVar38->st_dev + 4);\n  }\n  cVar2 = ' ';\n  local_7e6 = 0xffff;\n  local_7dc = 0xffff;\n  local_7f4 = 0x78;\n  bVar1 = 0;\n  local_924 = (stat64 *)PTR_optarg_0001dffc;\n  psVar38 = local_7d0;\n  uVar16 = uStack_7c4;\n  uVar7 = local_7c0;\ncode_r0x000114e8:\n  local_7c0 = uVar7;\n  uStack_7c4 = uVar16;\n  local_7d0 = psVar38;\n  local_8e4 = (void *)0x0;\n  uVar33 = getopt_long(iVar14,iVar28,"36a:A:b:B:c:dD:Efg:G:hi:I:l:M:n:No:Oq:Qr:RsS:t:T:u:vVw:x",\n                       &PTR_DAT_0001e020,&local_8e4);\n  puVar5 = PTR_optarg_0001dffc;\n  puVar4 = PTR_optind_0001dfe4;\n  if ((int)uVar33 == -1) {\n    iVar21 = *(int *)PTR_optind_0001dfe4;\n    local_920 = (stat64 *)0xffffffff;\n    if (iVar21 < iVar14) {\n      iVar10 = (int)((ulonglong)uVar33 >> 0x20);\n      if (local_7a0 != (stat64 *)0x0) goto LAB_00011c60;\n      local_7a0 = *(stat64 **)(iVar28 + iVar21 * 4);\n      *(int *)PTR_optind_0001dfe4 = iVar21 + 1;\n      iVar10 = iVar28;\n      if (iVar21 + 1 < iVar14) goto LAB_00011c60;\n    }\n    if ((bool)(bVar1 & local_7f8 != 0)) goto LAB_00011a7a;\n    if (0 < local_800) {\n      FUN_000149b0();\n      local_908 = (stat64 *)0x0;\n      goto LAB_00011a84;\n    }\n    if (local_80f == '\0') {\nLAB_00011c9f:\n      if (local_80e != '\0') {\n        pr2serr("sg_write_x version: %s\n","1.19 20180628",puVar4,puVar4);\n        local_908 = (stat64 *)0x270f;\n        goto LAB_00011a84;\n      }\n    }\n    else if (local_80e != '\0') {\n      pr2serr("Not in DEBUG mode, so \'-vV\' has no special action\n");\n      goto LAB_00011c9f;\n    }\n    psVar38 = local_7f0;\n    psVar17 = psVar38;\n    if (local_820 == '\0') {\n      if (local_81f == '\0') {\n        psVar17 = (stat64 *)((int)&local_7f0[-1].st_ino + 7);\n        local_820 = '\x01';\n        if (psVar17 != (stat64 *)0x0 && 0 < (int)local_7f0) {\n          pr2serr("Since neither --16 nor --32 given, choose --16\n");\n        }\n      }\n    }\n    else if ((local_81f != '\0') && (local_820 = '\0', 1 < (int)local_7f0)) {\n      pr2serr("Since both --16 and --32 given, choose --32\n");\n    }\n    uVar7 = (uint)local_81d + (uint)local_814 + (uint)local_81b + (uint)local_818 + (uint)local_817\n            + (uint)local_816;\n    if (1 < uVar7) {\n      pr2serr(\n             "Can only select one command; so only one of --atomic, --normal, --or,\n--same=, --scattered= or --stream=\n"\n             );\n      local_908 = (stat64 *)0x1f;\n      goto LAB_00011a84;\n    }\n    if (uVar7 == 0) {\n      if (local_7f8 != 0) {\n        pr2serr("With --strict won\'t default to a normal WRITE, add --normal\n");\n        local_908 = (stat64 *)0x1f;\n        goto LAB_00011a84;\n      }\n      local_794 = (stat64 *)0x17164;\n      local_814 = 1;\n      if (psVar38 != (stat64 *)0x0) {\n        pr2serr("No command selected so choose \'normal\' WRITE\n");\n      }\n    }\n    psVar8 = (stat64 *)((-(uint)(local_820 == '\0') & 0x10) + 0x10);\n    psVar22 = local_794;\n    __snprintf_chk(local_790,0x18,1,0x18,"%s(%d)",local_794,psVar8,psVar17);\n    if (local_81c == '\0') {\n      if (local_798 != (char *)0x0) {\n        local_93f = local_918 != (stat64 *)0x0;\n        bVar30 = local_91c != (stat64 *)0x0 || local_918 != (stat64 *)0x0;\n        bVar31 = local_91c != (stat64 *)0x0;\n        if (local_91c == (stat64 *)0x0 && local_918 == (stat64 *)0x0) {\n          iVar14 = -1;\n          pcVar15 = local_798;\n          goto code_r0x00011d5c;\n        }\n        pr2serr(\n               "want one and only one of: (--lba=LBA and/or --num=NUM), or\n--scat-file=SF, or --combined=DOF\n"\n               );\n        local_908 = (stat64 *)0x1f;\n        goto LAB_00011a84;\n      }\n      if (local_819 == '\0') {\n        local_93f = local_918 != (stat64 *)0x0;\n        bVar30 = local_91c != (stat64 *)0x0 || local_918 != (stat64 *)0x0;\n        bVar31 = local_91c != (stat64 *)0x0;\n        goto LAB_00011d67;\n      }\n      pr2serr(\n             "--scat-raw only applies to the --scat-file=SF option\n--scat-raw without the --scat-file=SF option is an error\n"\n             );\n      local_908 = (stat64 *)0x1f;\n      goto LAB_00011a84;\n    }\n    if (local_817 == 0) {\n      pr2serr(\n             "--combined=DOF only allowed with --scattered=RD (i.e. only with\nWRITE SCATTERED command)\n"\n             );\n      local_908 = (stat64 *)0x1f;\n      goto LAB_00011a84;\n    }\n    if (local_798 != (char *)0x0) {\n      pr2serr("Ambiguous: got --combined=DOF and --scat-file=SF .\nGive one, the other or neither\n"\n             );\n      local_908 = (stat64 *)0x1f;\n      goto LAB_00011a84;\n    }\n    if (local_91c == (stat64 *)0x0 && local_918 == (stat64 *)0x0) {\n      local_93f = local_819;\n      bVar30 = false;\n      bVar31 = false;\n      if (local_819 == '\0') goto LAB_00011d67;\n      pr2serr("Ambiguous: don\'t expect --combined=DOF and --scat-raw\nGive one or the other\n");\n      local_908 = (stat64 *)0x1f;\n    }\n    else {\n      pr2serr("--scattered=RD --combined=DOF does not use --lba= or --num=\nPlease remove.\n");\n      local_908 = (stat64 *)0x1f;\n    }\n    goto LAB_00011a84;\n  }\n  local_920 = local_924;\n  psVar38 = local_7d0;\n  uVar16 = uStack_7c4;\n  uVar7 = local_7c0;\n  switch((int)uVar33) {\n  case 0x33:\n    local_81f = '\x01';\n    goto code_r0x000114e8;\n  default:\n    pcVar15 = "unrecognised option code 0x%x ??\n";\n    break;\n  case 0x36:\n    local_820 = '\x01';\n    goto code_r0x000114e8;\n  case 0x3f:\n    pcVar15 = "\n";\n    break;\n  case 0x41:\n    uVar7 = func_0x00011320(*(undefined4 *)PTR_optarg_0001dffc);\n    if (0xffff < uVar7) {\n      pr2serr("bad argument to \'--atomic=\'. Expect 0 to 0xffff inclusive\n");\n      goto LAB_00011a7a;\n    }\n    uStack_7e4 = (undefined2)uVar7;\n    local_81d = 1;\n    local_794 = (stat64 *)0x17112;\n    psVar38 = local_7d0;\n    uVar16 = uStack_7c4;\n    uVar7 = local_7c0;\n    goto code_r0x000114e8;\n  case 0x42:\n    uVar24 = func_0x00011320(*(undefined4 *)PTR_optarg_0001dffc);\n    if (7 < uVar24) {\n      pr2serr("bad first argument to \'--bmop=\'\n");\n      goto LAB_00011a7a;\n    }\n    uStack_7e8 = (undefined1)uVar24;\n    uVar36 = 0x2c;\n    uVar41 = uVar24;\n    pcVar15 = strchr(*(char **)puVar5,0x2c);\n    psVar38 = local_7d0;\n    uVar16 = uStack_7c4;\n    uVar7 = local_7c0;\n    if (pcVar15 != (char *)0x0) {\n      uVar7 = func_0x00011320(pcVar15 + 1,uVar36,uVar24,uVar41);\n      if (0xf < uVar7) {\n        pr2serr("bad second argument to \'--bmop=\'\n");\n        goto LAB_00011a7a;\n      }\n      uStack_7e7 = (undefined1)uVar7;\n      psVar38 = local_7d0;\n      uVar16 = uStack_7c4;\n      uVar7 = local_7c0;\n    }\n    goto code_r0x000114e8;\n  case 0x44:\n    uStack_80c = func_0x00011320(*(undefined4 *)PTR_optarg_0001dffc);\n    psVar38 = local_7d0;\n    uVar16 = uStack_7c4;\n    uVar7 = local_7c0;\n    if (7 < uStack_80c) {\n      pr2serr("bad argument to \'--dld=\', expect 0 to 7 inclusive\n");\n      goto LAB_00011a7a;\n    }\n    goto code_r0x000114e8;\n  case 0x47:\n    uVar33 = sg_get_llnum(*(undefined4 *)PTR_optarg_0001dffc);\n    uVar36 = (undefined4)uVar33;\n    if ((int)((ulonglong)uVar33 >> 0x20) != 0) {\n      pr2serr("bad first argument to \'--generation=\'\n");\n      goto LAB_00011a7a;\n    }\n    uVar37 = 0x2c;\n    uVar40 = uVar36;\n    uStack_7c8 = uVar36;\n    pcVar15 = strchr(*(char **)puVar5,0x2c);\n    if (pcVar15 == (char *)0x0) {\n      pr2serr("need two arguments with --generation=EOG,NOG and they must be comma separated\n",\n              uVar37,uVar36,uVar40);\n      goto LAB_00011a7a;\n    }\n    uVar33 = sg_get_llnum(pcVar15 + 1);\n    psVar38 = local_7d0;\n    uVar16 = (int)uVar33;\n    uVar7 = local_7c0;\n    if ((int)((ulonglong)uVar33 >> 0x20) != 0) {\n      pr2serr("bad second argument to \'--generation=\'\n",uVar37,uVar36,uVar40);\n      goto LAB_00011a7a;\n    }\n    goto code_r0x000114e8;\n  case 0x49:\n    local_7f4 = func_0x00011320(*(undefined4 *)PTR_optarg_0001dffc);\n    psVar38 = local_7d0;\n    uVar16 = uStack_7c4;\n    uVar7 = local_7c0;\n    if (local_7f4 < 0) {\n      pr2serr("bad argument to \'--timeout=\'\n");\n      goto LAB_00011a7a;\n    }\n    goto code_r0x000114e8;\n  case 0x4d:\n    uVar7 = func_0x00011320(*(undefined4 *)PTR_optarg_0001dffc);\n    if (1 < uVar7) {\n      pr2serr("bad argument to \'--same\', expect 0 or 1\n");\n      goto LAB_00011a7a;\n    }\n    local_810 = (byte)uVar7 & 1;\n    local_818 = 1;\n    local_794 = (stat64 *)0x17159;\n    psVar38 = local_7d0;\n    uVar16 = uStack_7c4;\n    uVar7 = local_7c0;\n    goto code_r0x000114e8;\n  case 0x4e:\n    local_814 = 1;\n    local_794 = (stat64 *)0x17164;\n    goto code_r0x000114e8;\n  case 0x4f:\n    local_81b = 1;\n    local_794 = (stat64 *)0x1716a;\n    goto code_r0x000114e8;\n  case 0x51:\n    local_81a = '\x01';\n    goto code_r0x000114e8;\n  case 0x52:\n    local_819 = '\x01';\n    goto code_r0x000114e8;\n  case 0x53:\n    uVar7 = func_0x00011320(*(undefined4 *)PTR_optarg_0001dffc);\n    if (0xffff < uVar7) {\n      pr2serr("bad argument to \'--scattered=\'. Expect 0 to 0xffff inclusive\n");\n      goto LAB_00011a7a;\n    }\n    local_7e0 = (ushort)uVar7;\n    local_794 = (stat64 *)0x17172;\n    local_817 = 1;\n    psVar38 = local_7d0;\n    uVar16 = uStack_7c4;\n    uVar7 = local_7c0;\n    goto code_r0x000114e8;\n  case 0x54:\n    uVar7 = func_0x00011320(*(undefined4 *)PTR_optarg_0001dffc);\n    if (0xffff < uVar7) {\n      pr2serr("bad argument to \'--stream=\', expect 0 to 65535\n");\n      goto LAB_00011a7a;\n    }\n    uStack_7de = (undefined2)uVar7;\n    local_794 = (stat64 *)0x17182;\n    local_816 = 1;\n    psVar38 = local_7d0;\n    uVar16 = uStack_7c4;\n    uVar7 = local_7c0;\n    goto code_r0x000114e8;\n  case 0x56:\n    local_80e = '\x01';\n    goto code_r0x000114e8;\n  case 0x61:\n    uVar7 = func_0x00011320(*(undefined4 *)PTR_optarg_0001dffc);\n    if (0xffff < uVar7) {\n      pr2serr("bad argument to \'--app-tag=\'. Expect 0 to 0xffff inclusive\n");\n      goto LAB_00011a7a;\n    }\n    local_7e6 = (ushort)uVar7;\n    psVar38 = local_7d0;\n    uVar16 = uStack_7c4;\n    uVar7 = local_7c0;\n    goto code_r0x000114e8;\n  case 0x62:\n    psVar17 = (stat64 *)func_0x00011320(*(undefined4 *)PTR_optarg_0001dffc);\n    if ((stat64 *)0x10000000 < psVar17) {\n      pr2serr("bad argument to \'--bs=\'. Expect 0 or greater\n");\n      goto LAB_00011a7a;\n    }\n    if (psVar17 == (stat64 *)0x0) {\n      local_7d8 = (stat64 *)0x0;\n      local_7d4 = (stat64 *)0x0;\n      psVar38 = local_7d0;\n      uVar16 = uStack_7c4;\n      uVar7 = local_7c0;\n    }\n    else {\n      if ((int)psVar17 < 0x200) {\n        pr2serr("warning: --bs=BS value is < 512 which seems too small, continue\n");\n        bVar1 = 1;\n      }\n      if (((uint)psVar17 & 7) != 0) {\n        pr2serr("warning: --bs=BS value is not a multiple of 8, unexpected, continue\n");\n        bVar1 = 1;\n      }\n      iVar21 = 0;\n      iVar10 = 0;\n      psVar38 = psVar17;\n      do {\n        if (((uint)psVar38 & 1) != 0) {\n          iVar21 = iVar10;\n        }\n        iVar10 = iVar10 + 1;\n        psVar38 = (stat64 *)((int)psVar38 >> 1);\n      } while (iVar10 != 0x1c);\n      psVar22 = (stat64 *)(1 << ((byte)iVar21 & 0x1f));\n      local_7d8 = psVar17;\n      local_7d4 = psVar17;\n      psVar38 = local_7d0;\n      uVar16 = uStack_7c4;\n      uVar7 = local_7c0;\n      if (psVar17 != psVar22) {\n        local_7d8 = psVar22;\n      }\n    }\n    goto code_r0x000114e8;\n  case 99:\n    iVar21 = func_0x00011320(*(undefined4 *)PTR_optarg_0001dffc);\n    if (iVar21 < 0) {\n      pr2serr("bad argument to \'--combined=\'. Expect 0 to 0x7fffffff\n");\n      goto LAB_00011a7a;\n    }\n    local_7e2 = (ushort)iVar21;\n    local_81c = '\x01';\n    psVar38 = local_7d0;\n    uVar16 = uStack_7c4;\n    uVar7 = local_7c0;\n    goto code_r0x000114e8;\n  case 100:\n    uStack_812 = 1;\n    goto code_r0x000114e8;\n  case 0x66:\n    uStack_811 = 1;\n    goto code_r0x000114e8;\n  case 0x67:\n    uStack_804 = func_0x00011320(*(undefined4 *)PTR_optarg_0001dffc);\n    psVar38 = local_7d0;\n    uVar16 = uStack_7c4;\n    uVar7 = local_7c0;\n    if (0x3f < uStack_804) {\n      pr2serr("bad argument to \'--grpnum\'\n");\n      goto LAB_00011a7a;\n    }\n    goto code_r0x000114e8;\n  case 0x68:\n    local_800 = local_800 + 1;\n    goto code_r0x000114e8;\n  case 0x69:\n    local_79c = *(char **)PTR_optarg_0001dffc;\n    goto code_r0x000114e8;\n  case 0x6c:\n    if (local_91c != (stat64 *)0x0) {\n      pr2serr("only expect \'--lba=\' option once\n");\n      goto LAB_00011a7a;\n    }\n    local_91c = *(stat64 **)PTR_optarg_0001dffc;\n    goto code_r0x000114e8;\n  case 0x6e:\n    if (local_918 != (stat64 *)0x0) {\n      pr2serr("only expect \'--num=\' option once\n");\n      goto LAB_00011a7a;\n    }\n    local_918 = *(stat64 **)PTR_optarg_0001dffc;\n    goto code_r0x000114e8;\n  case 0x6f:\n    lVar34 = sg_get_llnum(*(undefined4 *)PTR_optarg_0001dffc);\n    psVar17 = (stat64 *)lVar34;\n    if (lVar34 == -1) {\n      pr2serr("bad first argument to \'--offset=\'\n");\n      goto LAB_00011a7a;\n    }\n    uVar36 = 0x2c;\n    psVar22 = psVar17;\n    local_7b4 = psVar17;\n    local_7b0 = (stat64 *)((ulonglong)lVar34 >> 0x20);\n    pcVar15 = strchr(*(char **)puVar5,0x2c);\n    psVar38 = local_7d0;\n    uVar16 = uStack_7c4;\n    uVar7 = local_7c0;\n    if (pcVar15 != (char *)0x0) {\n      lVar34 = sg_get_llnum(pcVar15 + 1,uVar36,psVar17,psVar22);\n      psVar38 = (stat64 *)lVar34;\n      uVar16 = uStack_7c4;\n      uVar7 = local_7c0;\n      if ((int)((ulonglong)lVar34 >> 0x20) == -1) {\n        if (psVar38 == (stat64 *)0xffffffff) {\n          pr2serr("bad second argument to \'--offset=\'\n");\n          goto LAB_00011a7a;\n        }\n      }\n      else if (0xffffffff < lVar34) {\n        pr2serr("bad second argument to \'--offset=\', cannot exceed 32 bits\n");\n        goto LAB_00011a7a;\n      }\n    }\n    goto code_r0x000114e8;\n  case 0x71:\n    local_798 = *(char **)PTR_optarg_0001dffc;\n    goto code_r0x000114e8;\n  case 0x72:\n    goto code_r0x000115f1;\n  case 0x73:\n    local_7f8 = local_7f8 + 1;\n    goto code_r0x000114e8;\n  case 0x74:\n    uVar7 = func_0x00011320(*(undefined4 *)PTR_optarg_0001dffc);\n    if (0xffff < uVar7) {\n      pr2serr("bad argument to \'--tag-mask=\'. Expect 0 to 0xffff inclusive\n");\n      goto LAB_00011a7a;\n    }\n    local_7dc = (ushort)uVar7;\n    psVar38 = local_7d0;\n    uVar16 = uStack_7c4;\n    uVar7 = local_7c0;\n    goto code_r0x000114e8;\n  case 0x75:\n    uVar7 = func_0x00011320(*(undefined4 *)puVar20);\n    if (3 < uVar7) {\n      pr2serr("bad argument to \'--unmap=\', expect 0 to 3\n");\n      goto LAB_00011a7a;\n    }\n    bStack_81e = (byte)(uVar7 >> 1) & 1;\n    bStack_815 = (byte)uVar7 & 1;\n    psVar38 = local_7d0;\n    uVar16 = uStack_7c4;\n    uVar7 = local_7c0;\n    goto code_r0x000114e8;\n  case 0x76:\n    local_80f = '\x01';\n    local_7f0 = (stat64 *)((int)&local_7f0->st_dev + 1);\n    goto code_r0x000114e8;\n  case 0x77:\n    local_7ec = (stat64 *)func_0x00011320(*(undefined4 *)puVar20);\n    if ((stat64 *)0x7 < local_7ec) {\n      pr2serr("bad argument to \'--wrprotect\'\n");\n      goto LAB_00011a7a;\n    }\n    local_813 = 0 < (int)local_7ec;\n    psVar38 = local_7d0;\n    uVar16 = uStack_7c4;\n    uVar7 = local_7c0;\n    goto code_r0x000114e8;\n  case 0x78:\n    iStack_808 = iStack_808 + 1;\n    goto code_r0x000114e8;\n  }\n  pr2serr(pcVar15);\n  FUN_000149b0();\n  goto LAB_00011a7a;\nLAB_00011c60:\n  while (*(int *)puVar4 < iVar14) {\n    pr2serr("Unexpected extra argument: %s\n",*(undefined4 *)(iVar28 + *(int *)puVar4 * 4),iVar10,\n            iVar10);\n    *(int *)puVar4 = *(int *)puVar4 + 1;\n    iVar10 = extraout_EDX;\n  }\n  FUN_000149b0();\n  local_908 = (stat64 *)0x1;\n  goto LAB_00011a84;\n  while( true ) {\n    iVar14 = iVar14 + -1;\n    cVar6 = *pcVar15;\n    pcVar15 = pcVar15 + (uint)bVar32 * -2 + 1;\n    if (cVar6 == '\0') break;\ncode_r0x00011d5c:\n    if (iVar14 == 0) break;\n  }\n  if ((iVar14 == -3) && (*local_798 == '-')) {\n    pr2serr("don\'t accept \'-\' (implying stdin) as a filename in --scat-file=SF\n");\n    local_908 = (stat64 *)0x1f;\n    goto LAB_00011a84;\n  }\nLAB_00011d67:\n  if (((psVar38 != (stat64 *)0x0) && (local_820 != '\0')) &&\n     ((local_7c0 != 0xffffffff || ((local_7e6 & local_7dc) != 0xffff)))) {\n    pr2serr("--app-tag=, --ref-tag= and --tag-mask= options ignored with 16 byte commands\n");\n  }\n  psVar45 = local_7d0;\n  psVar9 = (stat64 *)(uint)local_810;\n  if (local_810 == 0) {\n    local_93c = local_7d0;\n    cVar2 = '\0';\n    if (local_79c == (char *)0x0) {\n      pr2serr("Need --if=FN option to be given, exiting.\n");\n      if (1 < (int)psVar38) {\n        pr2serr("To write zeros use --in=/dev/zero\n");\n      }\n      pr2serr("\n");\n      FUN_000149b0();\n      local_908 = (stat64 *)0x1;\n      goto LAB_00011a84;\n    }\n    iVar14 = -1;\n    pcVar15 = local_79c;\n    do {\n      if (iVar14 == 0) break;\n      iVar14 = iVar14 + -1;\n      cVar6 = *pcVar15;\n      pcVar15 = pcVar15 + (uint)bVar32 * -2 + 1;\n    } while (cVar6 != '\0');\n    if ((iVar14 != -3) || (*local_79c != '-')) {\n      local_924 = (stat64 *)open64(local_79c,0,iVar14,iVar14);\n      if ((int)local_924 < 0) {\n        piVar19 = __errno_location();\n        iVar14 = *piVar19;\n        pcVar15 = "could not open %s for reading";\n      }\n      else {\n        psVar17 = (stat64 *)sg_set_binary_mode(local_924);\n        if ((int)psVar17 < 0) goto LAB_00011dea;\n        psVar22 = local_924;\n        psVar8 = local_930;\n        iVar14 = __fxstat64(3,(int)local_924,local_930);\n        if (-1 < iVar14) {\n          if ((local_8e0._16_4_ & 0xf000) == 0x8000) {\n            local_93c = (stat64 *)local_8e0._44_4_;\n            if (psVar45 != (stat64 *)0x0) {\n              local_93c = psVar45;\n            }\n            if ((local_8b0 != 0 || (stat64 *)local_8e0._44_4_ != (stat64 *)0x0) &&\n               (psVar25 = (stat64 *)((int)&((stat64 *)(local_8e0._44_4_ + -0x60))->st_ino + 7),\n               iVar28 = local_8b0 + -1 + (uint)((stat64 *)local_8e0._44_4_ != (stat64 *)0x0),\n               iVar14 = (int)local_7b0 - iVar28,\n               (SBORROW4((int)local_7b0,iVar28) != SBORROW4(iVar14,(uint)(local_7b4 < psVar25))) ==\n               (int)(iVar14 - (uint)(local_7b4 < psVar25)) < 0)) {\n              pr2serr("Offset (%llu) is at or beyond IF byte length (%llu)\n",local_7b4,local_7b0,\n                      local_8e0._44_4_,local_8b0,psVar22,psVar8,psVar17);\n              local_908 = (stat64 *)0xf;\n              goto LAB_00012527;\n            }\n            psVar9 = local_7b4;\n            psVar45 = (stat64 *)local_8e0._44_4_;\n            iVar14 = local_8b0;\n            if (local_7b0 != (stat64 *)0x0 || local_7b4 != (stat64 *)0x0) {\n              psVar17 = (stat64 *)0x0;\n              psVar22 = local_7b4;\n              psVar8 = local_7b0;\n              _Var35 = lseek64((int)local_924,CONCAT44(local_7b0,local_7b4),0);\n              psVar25 = local_7b4;\n              if (_Var35 < 0) {\n                piVar19 = __errno_location();\n                psVar25 = (stat64 *)(local_174 + 0x50);\n                iVar14 = *piVar19;\n                __snprintf_chk(psVar25,0x100,1,0x100,"couldn\'t offset to required position on %s",\n                               local_79c,piVar19,piVar19);\n                perror((char *)psVar25);\n                local_908 = (stat64 *)sg_convert_errno(iVar14);\n                goto LAB_00012527;\n              }\n              psVar9 = (stat64 *)((int)psVar45 - (int)local_7b4);\n              iVar14 = (local_8b0 - (int)local_7b0) - (uint)(psVar45 < local_7b4);\n              local_930 = psVar45;\n              if ((int)(uint)(psVar9 != (stat64 *)0x0) <= -iVar14) {\n                pr2serr("--offset [0x%llx] at or beyond file length[0x%llx]\n",local_7b4,local_7b0,\n                        psVar45,local_8b0);\n                local_908 = (stat64 *)0xf;\n                goto LAB_00012527;\n              }\n              if ((local_7f8 != 0) &&\n                 (local_930 = local_7d0, iVar14 < (int)(uint)(psVar9 < local_7d0))) {\n                pr2serr("after accounting for OFF, DLEN exceeds %s remaining length (%u bytes)\n",\n                        local_79c,psVar9,psVar9);\n                local_908 = (stat64 *)0xf;\n                psVar25 = psVar9;\n                goto LAB_00012527;\n              }\n              if (iVar14 < (int)(uint)(psVar9 < local_93c)) {\n                local_93c = psVar9;\n              }\n              psVar45 = psVar9;\n              if (2 < (int)psVar38) {\n                psVar22 = local_7b4;\n                psVar8 = local_93c;\n                psVar17 = psVar9;\n                psVar9 = (stat64 *)\n                         pr2serr("Moved IF byte pointer to %u, if_len=%u, if_readable_len=%u\n",\n                                 local_7b4,local_93c,psVar9);\n              }\n            }\n            goto LAB_00011fa8;\n          }\n          goto LAB_00011e6c;\n        }\n        piVar19 = __errno_location();\n        iVar14 = *piVar19;\n        pcVar15 = "could not fstat %s";\n      }\n      __snprintf_chk(local_174 + 0x50,0x100,1,0x100,pcVar15,local_79c,piVar19,piVar19);\n      perror(local_174 + 0x50);\n      local_908 = (stat64 *)sg_convert_errno(iVar14);\n      goto LAB_00011a84;\n    }\n    iVar14 = sg_set_binary_mode(0);\n    cVar2 = '\x01';\n    local_924 = (stat64 *)0x0;\n    if (iVar14 < 0) {\nLAB_00011dea:\n      perror("sg_set_binary_mode");\n      local_908 = (stat64 *)0xf;\n      goto LAB_00011a84;\n    }\nLAB_00011e6c:\n    if (((stat64 *)((uint)local_7b0 | (uint)local_7b4) == (stat64 *)0x0) ||\n       (psVar38 == (stat64 *)0x0)) {\n      psVar9 = (stat64 *)((uint)local_7b0 | (uint)local_7b4);\n      psVar45 = (stat64 *)0x0;\n      iVar14 = 0;\n    }\n    else {\n      psVar9 = (stat64 *)\n               pr2serr(\n                      "--offset=OFF ignored when IF is stdin, pipe, socket, etc\nDLEN, if given, is used\n"\n                      );\n      psVar45 = (stat64 *)0x0;\n      iVar14 = 0;\n    }\n  }\n  else {\n    local_924 = (stat64 *)0xffffffff;\n    cVar2 = '\0';\n    psVar45 = (stat64 *)0x0;\n    iVar14 = 0;\n    local_93c = (stat64 *)0x0;\n  }\nLAB_00011fa8:\n  if (local_7a0 == (stat64 *)0x0) {\n    pr2serr("missing device name!\n",psVar22,psVar8,psVar17);\n    FUN_000149b0();\n    local_908 = (stat64 *)0x1;\n    psVar25 = (stat64 *)0x0;\nLAB_00012527:\n    if (local_8f0 == (void *)0x0) goto LAB_000123a1;\n    free(local_8f0);\n    goto LAB_000123a1;\n  }\n  pcVar15 = (char *)0x0;\n  psVar17 = psVar38;\n  uVar33 = sg_cmds_open_device(local_7a0,0,psVar38,psVar9);\n  psVar25 = local_7d8;\n  psVar22 = (stat64 *)((ulonglong)uVar33 >> 0x20);\n  local_930 = (stat64 *)uVar33;\n  if ((int)local_930 < 0) {\n    psVar25 = (stat64 *)-(int)local_930;\n    if (local_7f0 != (stat64 *)0x0) {\n      uVar16 = safe_strerror(psVar25);\n      pr2serr("open error: %s: %s\n",local_7a0,uVar16);\n    }\n    local_908 = (stat64 *)sg_convert_errno(psVar25);\n    goto LAB_00012527;\n  }\n  psVar8 = local_7d4;\n  psVar11 = local_7d4;\n  if (local_7d8 == (stat64 *)0x0) {\n    psVar17 = (stat64 *)0x0;\n    if (local_7f0 != (stat64 *)0x0) {\n      psVar17 = (stat64 *)((int)&local_7f0[-1].st_ino + 7);\n    }\n    psVar22 = (stat64 *)local_174;\n    psVar11 = (stat64 *)0x1;\n    pcVar15 = (char *)0x20;\n    psVar9 = psVar17;\n    psVar8 = local_7f0;\n    uVar33 = sg_ll_readcap_16(local_930,0,0,0,psVar22,0x20,1,psVar17,psVar22,local_7f0,psVar45,\n                              iVar14);\n    if ((int)uVar33 == 6) {\n      pr2serr("Read capacity(16) unit attention, try again\n");\n      uVar33 = sg_ll_readcap_16(local_930,0,0,0,psVar22,0x20,1,psVar17);\n    }\n    psVar23 = (stat64 *)((ulonglong)uVar33 >> 0x20);\n    local_908 = (stat64 *)uVar33;\n    if (local_908 == (stat64 *)0x0) {\n      psVar17 = psVar11;\n      if (3 < (int)psVar8) {\n        pr2serr("Read capacity(16) response:\n");\n        psVar17 = (stat64 *)0x1;\n        pcVar15 = (char *)0x20;\n        hex2stderr(psVar22,0x20,1);\n      }\n      bVar1 = local_174[0xc];\n      psVar11 = (stat64 *)\n                ((uint)local_174._8_4_ >> 0x18 | (local_174._8_4_ & 0xff0000) >> 8 |\n                 (local_174._8_4_ & 0xff00) << 8 | local_174._8_4_ << 0x18);\n      uVar7 = (uint)local_174._4_4_ >> 0x18 | (local_174._4_4_ & 0xff0000) >> 8 |\n              (local_174._4_4_ & 0xff00) << 8 | local_174._4_4_ << 0x18;\n      local_7ac = uVar7 + 1;\n      local_7a8 = ((uint)local_174._0_4_ >> 0x18 | (local_174._0_4_ & 0xff0000) >> 8 |\n                   (local_174._0_4_ & 0xff00) << 8 | local_174._0_4_ << 0x18) +\n                  (uint)(0xfffffffe < uVar7);\n      psVar22 = (stat64 *)(uint)local_174[0xc];\n      local_7d8 = psVar11;\n      if ((local_174[0xc] & 1) == 0) {\n        local_7fc = 0;\n        if ((int)local_7ec < 1) goto LAB_00012305;\n        if (psVar8 != (stat64 *)0x0) {\n          pcVar15 = (char *)local_7ec;\n          psVar22 = local_7a0;\n          pr2serr("--wrprotect (%d) expects PI but %s says it has none\n",local_7ec,local_7a0,\n                  psVar11);\n          if (local_7f8 != 0) goto LAB_00012ef5;\n          pcVar13 = "  ... continue but could be dangerous\n";\n          psVar25 = (stat64 *)0x0;\n          psVar9 = psVar11;\n          goto LAB_00013516;\n        }\n        if (local_7f8 != 0) goto LAB_00012ef5;\n      }\n      else {\n        local_7fc = (local_174[0xc] >> 1 & 7) + 1;\n        psVar25 = (stat64 *)(8 << (local_174[0xd] >> 4));\n        psVar22 = (stat64 *)(uint)(local_174[0xd] >> 4);\n        if (((int)local_7ec < 1) ||\n           (local_7d4 = (stat64 *)((int)&psVar25->st_dev + (int)&psVar11->st_dev), (int)psVar8 < 2))\n        {\nLAB_00012305:\n          if (psVar8 == (stat64 *)0x0) goto LAB_00012312;\n        }\n        else {\n          pcVar13 = \n          "  For data out buffer purposes the effective block size is %u (lb size\n  is %u) because PROT_EN=1, PI_EXP=%u and WRPROTECT>0\n"\n          ;\n          pcVar15 = (char *)psVar11;\n          psVar9 = local_7d4;\nLAB_00013516:\n          pr2serr(pcVar13,pcVar15,psVar22,psVar9);\n          psVar17 = psVar22;\n        }\n        pr2serr("Read capacity(16) response fields:\n",pcVar15,psVar17,psVar9);\n        psVar25 = (stat64 *)((int)&local_7d8->st_dev + (int)&psVar25->st_dev);\n        psVar9 = extraout_ECX_06;\n        pr2serr("  Last_LBA=0x%llx  LB size: %u (with PI: %u) bytes  p_type=%u\n",local_7ac + -1,\n                local_7a8 + -1 + (uint)(local_7ac != 0),local_7d8,psVar25,local_174[0xc] >> 1 & 7,\n                extraout_ECX_06,extraout_ECX_06);\n        pr2serr("  prot_en=%u [PI type=%u] p_i_exp=%u  lbppb_exp=%u  lbpme,rz=%u,",bVar1 & 1,\n                local_7fc,local_174[0xd] >> 4,local_174[0xd] & 0xf,\n                (uint)(int)(char)local_174[0xe] >> 0x1f);\n        psVar17 = (stat64 *)\n                  ((ushort)(local_174._14_2_ << 8 | (ushort)local_174._14_2_ >> 8) & 0x3fff);\n        pcVar15 = (char *)(local_174[0xe] >> 6 & 1);\n        pr2serr("%u  low_ali_lba=%u\n",pcVar15,psVar17);\n        psVar22 = extraout_EDX_04;\n      }\n    }\n    else {\n      if (((int)local_908 - 5U & 0xfffffffb) != 0) {\n        if (psVar8 != (stat64 *)0x0) {\n          puVar43 = local_174 + 0x50;\n          psVar25 = (stat64 *)"OS error";\n          puVar29 = puVar43;\n          for (iVar14 = 9; iVar14 != 0; iVar14 = iVar14 + -1) {\n            *puVar29 = (char)psVar25->st_dev;\n            psVar25 = (stat64 *)((int)psVar25 + (uint)bVar32 * -2 + 1);\n            puVar29 = puVar29 + (uint)bVar32 * -2 + 1;\n          }\n          psVar18 = local_908;\n          if (0 < (int)local_908) {\n            psVar18 = (stat64 *)sg_get_category_sense_str(local_908,0x50,puVar43,psVar8);\n          }\n          pr2serr("Read capacity(16): %s\n",puVar43,psVar18,psVar18);\n          pr2serr("Unable to calculate block size\n");\n        }\n        if (0 < (int)local_908) goto LAB_00012354;\n        goto LAB_00012ef5;\n      }\n      if (psVar8 == (stat64 *)0x0) {\n        pcVar15 = (char *)0x1;\n        uVar33 = sg_ll_readcap_10(local_930,0,0,psVar22,8,1,psVar17,psVar23);\n        psVar22 = (stat64 *)((ulonglong)uVar33 >> 0x20);\n        local_908 = (stat64 *)uVar33;\n        psVar9 = psVar23;\n        if (local_908 != (stat64 *)0x0) {\nLAB_00013444:\n          puVar43 = local_174 + 0x50;\n          psVar25 = (stat64 *)"OS error";\n          puVar29 = puVar43;\n          for (iVar14 = 9; iVar14 != 0; iVar14 = iVar14 + -1) {\n            *puVar29 = (char)psVar25->st_dev;\n            psVar25 = (stat64 *)((int)psVar25 + (uint)bVar32 * -2 + 1);\n            puVar29 = puVar29 + (uint)bVar32 * -2 + 1;\n          }\n          if (0 < (int)local_908) {\n            sg_get_category_sense_str(local_908,0x50,puVar43,psVar8);\n            pr2serr("Read capacity(10): %s\n",puVar43);\n            pr2serr("Unable to calculate block size\n");\n            goto LAB_00012354;\n          }\n          __snprintf_chk(puVar43,0x50,1,0x50,"error: %d",local_908,local_908,local_908);\n          pr2serr("Read capacity(10): %s\n",puVar43);\n          pr2serr("Unable to calculate block size\n");\n          local_908 = (stat64 *)0xf;\n          goto LAB_00012354;\n        }\n      }\n      else {\n        psVar25 = psVar22;\n        pr2serr("Read capacity(16) not supported, try Read capacity(10)\n");\n        pcVar15 = (char *)0x1;\n        uVar33 = sg_ll_readcap_10(local_930,0,0,psVar25,8,1,psVar17);\n        psVar22 = (stat64 *)((ulonglong)uVar33 >> 0x20);\n        local_908 = (stat64 *)uVar33;\n        if (local_908 != (stat64 *)0x0) goto LAB_00013444;\n        if (3 < (int)psVar8) {\n          pr2serr("Read capacity(10) response:\n");\n          psVar17 = (stat64 *)0x1;\n          pcVar15 = (char *)0x8;\n          hex2stderr(psVar25,8,1);\n          psVar22 = extraout_EDX_03;\n        }\n      }\n      local_7a8 = 0;\n      local_7ac = ((uint)local_174._0_4_ >> 0x18 | (local_174._0_4_ & 0xff0000) >> 8 |\n                   (local_174._0_4_ & 0xff00) << 8 | local_174._0_4_ << 0x18) + 1;\n      local_7d8 = (stat64 *)\n                  ((uint)local_174._4_4_ >> 0x18 | (local_174._4_4_ & 0xff0000) >> 8 |\n                   (local_174._4_4_ & 0xff00) << 8 | local_174._4_4_ << 0x18);\n    }\nLAB_00012312:\n    local_7d4 = local_7d8;\n    if (local_813 != '\0') {\n      local_7d4 = (stat64 *)&local_7d8->__pad1;\n    }\n    psVar8 = local_7d4;\n    psVar11 = local_7d8;\n    if (local_7d4 == (stat64 *)0x0) goto LAB_00012338;\n  }\n  local_7d4 = psVar8;\n  if (psVar11 == (stat64 *)0x0) {\nLAB_00012338:\n    pr2serr("Logic error, need block size by now\n",pcVar15,psVar17);\n    local_908 = (stat64 *)0x1;\n    goto LAB_00012354;\n  }\n  if ((local_810 == 0) &&\n     (psVar22 = (stat64 *)((uint)local_93c % (uint)psVar8), psVar22 != (stat64 *)0x0)) {\n    if (1 < (int)local_7f8) {\n      pr2serr("Error: number of bytes to read from IF [%u] is not a multiple\nblock size %u (including protection information)\n"\n              ,local_93c,psVar8,local_7f8);\n      local_908 = (stat64 *)0xf;\n      goto LAB_00012354;\n    }\n    psVar11 = (stat64 *)(local_7f8 | (uint)psVar38);\n    if (psVar11 != (stat64 *)0x0) {\n      pcVar15 = (char *)local_93c;\n      pr2serr("Warning: number of bytes to read from IF [%u] is not a multiple\nof actual block size %u; pad with zeros\n"\n              ,local_93c,psVar8,psVar11);\n      psVar22 = extraout_EDX_02;\n      psVar17 = psVar8;\n      psVar9 = psVar11;\n    }\n  }\n  puVar42 = &local_578;\n  puVar26 = puVar42;\n  for (iVar14 = 0x100; iVar14 != 0; iVar14 = iVar14 + -1) {\n    *puVar26 = 0;\n    puVar26 = puVar26 + (uint)bVar32 * -2 + 1;\n  }\n  ppsVar44 = local_778;\n  ppsVar27 = ppsVar44;\n  for (iVar14 = 0x80; iVar14 != 0; iVar14 = iVar14 + -1) {\n    *ppsVar27 = (stat64 *)0x0;\n    ppsVar27 = ppsVar27 + (uint)bVar32 * -2 + 1;\n  }\n  if (bVar31) {\n    uVar7 = 0xffffffff;\n    psVar22 = local_91c;\n    do {\n      if (uVar7 == 0) break;\n      uVar7 = uVar7 - 1;\n      p_Var3 = &psVar22->st_dev;\n      psVar22 = (stat64 *)((int)psVar22 + (uint)bVar32 * -2 + 1);\n    } while ((char)*p_Var3 != '\0');\n    psVar25 = (stat64 *)(~uVar7 - 1);\n    if ((char)local_91c->st_dev == '-') {\n      pr2serr("\'--lba\' cannot be read from stdin\n",pcVar15,psVar17,psVar9);\n      goto LAB_00012130;\n    }\n    pcVar15 = "0123456789aAbBcCdDeEfFhHxXiIkKmMgGtTpP, ";\n    psVar17 = local_91c;\n    psVar9 = local_91c;\n    psVar8 = (stat64 *)strspn((char *)local_91c,"0123456789aAbBcCdDeEfFhHxXiIkKmMgGtTpP, ");\n    psVar22 = psVar25;\n    if (psVar25 == psVar8) {\n      psVar22 = (stat64 *)0x0;\n      psVar25 = local_91c;\n      while( true ) {\n        lVar34 = sg_get_llnum(psVar25,pcVar15,psVar17,psVar9);\n        psVar17 = (stat64 *)lVar34;\n        if (lVar34 == -1) break;\n        puVar42[(int)psVar22 * 2] = (uint)psVar17;\n        puVar42[(int)psVar22 * 2 + 1] = (uint)((ulonglong)lVar34 >> 0x20);\n        psVar9 = psVar17;\n        pcVar12 = strchr((char *)psVar25,0x2c);\n        pcVar15 = (char *)0x20;\n        pcVar13 = strchr((char *)psVar25,0x20);\n        if (pcVar12 == (char *)0x0) {\n          if (pcVar13 == (char *)0x0) {\n            local_91c = (stat64 *)((int)&psVar22->st_dev + 1);\n            if (local_93f != '\0') goto LAB_000126fa;\n            psVar22 = (stat64 *)0x0;\n            psVar17 = extraout_ECX;\n            if (local_91c != (stat64 *)0x1) goto LAB_00012a73;\n            goto LAB_00012820;\n          }\n        }\n        else if ((pcVar13 == (char *)0x0) || (pcVar12 <= pcVar13)) {\n          pcVar13 = pcVar12;\n        }\n        psVar22 = (stat64 *)((int)&psVar22->st_dev + 1);\n        psVar25 = (stat64 *)(pcVar13 + 1);\n        if (psVar22 == (stat64 *)0x80) goto LAB_00013b9f;\n      }\n      psVar8 = (stat64 *)((int)psVar25 - (int)local_91c);\n    }\n    pr2serr("build_lba_arr: error at pos %d\n",(undefined *)((int)&psVar8->st_dev + 1),psVar22,\n            psVar22);\n    goto LAB_00012130;\n  }\n  local_91c = (stat64 *)0x0;\n  if (bVar30) {\nLAB_000126fa:\n    psVar8 = (stat64 *)0xffffffff;\n    psVar22 = local_918;\n    do {\n      if (psVar8 == (stat64 *)0x0) break;\n      psVar8 = (stat64 *)((int)&psVar8[-1].st_ino + 7);\n      p_Var3 = &psVar22->st_dev;\n      psVar22 = (stat64 *)((int)psVar22 + (uint)bVar32 * -2 + 1);\n    } while ((char)*p_Var3 != '\0');\n    psVar25 = (stat64 *)(~(uint)psVar8 - 1);\n    if ((char)local_918->st_dev == '-') {\n      pr2serr("\'--len\' cannot be read from stdin\n");\n    }\n    else {\n      pcVar15 = "0123456789aAbBcCdDeEfFhHxXiIkKmMgGtTpP, ";\n      psVar17 = psVar8;\n      psVar22 = (stat64 *)strspn((char *)local_918,"0123456789aAbBcCdDeEfFhHxXiIkKmMgGtTpP, ");\n      psVar9 = extraout_EDX_00;\n      if (psVar25 == psVar22) {\n        psVar9 = (stat64 *)0x0;\n        psVar25 = local_918;\n        do {\n          lVar34 = sg_get_llnum(psVar25,pcVar15,psVar8,psVar17);\n          psVar8 = (stat64 *)lVar34;\n          if ((int)((ulonglong)lVar34 >> 0x20) == -1) {\n            if (psVar8 == (stat64 *)0xffffffff) {\n              psVar22 = (stat64 *)((int)psVar25 - (int)local_918);\n              goto LAB_000127bf;\n            }\n          }\n          else if (0xffffffff < lVar34) {\n            psVar17 = (stat64 *)((int)psVar25 + (1 - (int)local_918));\n            pcVar15 = "build_num_arr";\n            pr2serr("%s: number exceeds 32 bits at pos %d\n","build_num_arr",psVar17,psVar9);\n            goto LAB_000127d9;\n          }\n          ppsVar44[(int)psVar9] = psVar8;\n          psVar17 = psVar8;\n          pcVar12 = strchr((char *)psVar25,0x2c);\n          pcVar15 = (char *)0x20;\n          pcVar13 = strchr((char *)psVar25,0x20);\n          if (pcVar12 == (char *)0x0) {\n            if (pcVar13 == (char *)0x0) {\n              puVar20 = (undefined *)((int)&psVar9->st_dev + 1);\n              psVar22 = (stat64 *)0x0;\n              psVar17 = extraout_ECX_00;\n              if ((undefined *)0x1 < local_91c) {\n                if ((stat64 *)puVar20 == local_91c) goto LAB_00012820;\n                goto LAB_00012a73;\n              }\n              if (local_91c == (stat64 *)0x0) {\n                if (puVar20 != (undefined *)0x1) {\nLAB_00012a73:\n                  pr2serr("need same number of arguments to \'--lba=\' and \'--num=\' options\n");\n                  local_908 = (stat64 *)0x1f;\n                  goto LAB_00012354;\n                }\n                local_91c = (stat64 *)(undefined *)0x1;\n                if (local_778[0] != (stat64 *)0x0) {\n                  pr2serr("won\'t write %u blocks without an explicit --lba= option\n",local_778[0],\n                          extraout_ECX_00,extraout_ECX_00);\n                  local_908 = (stat64 *)0x1;\n                  goto LAB_00012354;\n                }\n              }\n              else {\n                local_91c = (stat64 *)(undefined *)0x1;\n              }\n              goto LAB_00012820;\n            }\n          }\n          else if ((pcVar13 == (char *)0x0) || (pcVar12 <= pcVar13)) {\n            pcVar13 = pcVar12;\n          }\n          psVar9 = (stat64 *)((int)&psVar9->st_dev + 1);\n          psVar25 = (stat64 *)(pcVar13 + 1);\n        } while (psVar9 != (stat64 *)0x80);\n        pcVar15 = "build_num_arr";\n        psVar17 = extraout_ECX_00;\n        psVar9 = extraout_ECX_00;\n        pr2serr("%s: array length exceeded\n","build_num_arr",extraout_ECX_00,extraout_ECX_00);\n      }\n      else {\nLAB_000127bf:\n        psVar17 = (stat64 *)((int)&psVar22->st_dev + 1);\n        pcVar15 = "build_num_arr";\n        pr2serr("%s: error at pos %d\n","build_num_arr",psVar17,psVar9);\n      }\n    }\nLAB_000127d9:\n    pr2serr("bad argument to \'--num\'\n",pcVar15,psVar17,psVar9);\n    local_908 = (stat64 *)0x0;\n    goto LAB_00012354;\n  }\n  psVar17 = (stat64 *)0x0;\n  local_91c = (stat64 *)(undefined *)0x0;\nLAB_00012820:\n  if (local_798 == (char *)0x0) {\nLAB_00012ce5:\n    local_908 = (stat64 *)0x0;\n    local_880._44_4_ = psVar25;\n  }\n  else {\n    pcVar15 = local_798;\n    iVar14 = __xstat64(3,local_798,psVar18);\n    if (iVar14 < 0) {\n      piVar19 = __errno_location();\n      psVar25 = (stat64 *)*piVar19;\n      uVar16 = safe_strerror(psVar25);\n      pcVar15 = "Unable to stat(%s) as SF: %s\n";\nLAB_000136f9:\n      pr2serr(pcVar15,local_798,uVar16);\n      local_908 = (stat64 *)sg_convert_errno(psVar25);\n      goto LAB_00012354;\n    }\n    if (local_819 == '\0') {\n      iVar14 = 0;\n      if (local_7e0 != 0) {\n        iVar14 = (local_7e0 + 1) * 0x20;\n      }\n      local_908 = (stat64 *)FUN_000156d0(0,&local_8f8,&local_8f4,iVar14);\n      if (local_908 != (stat64 *)0x0) goto LAB_00012354;\n      psVar17 = extraout_ECX_04;\n      if ((local_7e0 != 0) && (local_7e0 != local_8f8)) {\n        if (local_8f8 < local_7e0) {\n          pr2serr("RD (%u) %s number of %ss (%u) found in SF\n",local_7e0,&DAT_000170dd,\n                  "LBA range descriptor",local_8f8);\n          local_908 = (stat64 *)0xf;\n          goto LAB_00012354;\n        }\n        psVar25 = (stat64 *)((uint)psVar38 | local_7f8);\n        if ((psVar25 != (stat64 *)0x0) &&\n           (pr2serr("RD (%u) %s number of %ss (%u) found in SF\n",local_7e0,&DAT_00017110,\n                    "LBA range descriptor",local_8f8), psVar17 = extraout_ECX_01, local_7f8 != 0))\n        goto LAB_00012ef5;\n      }\n      goto LAB_00012ce5;\n    }\n    if ((local_880._16_4_ & 0xf000) != 0x8000) {\n      pr2serr("Expect scatter file to be a regular file\n",pcVar15,psVar18,psVar22);\n      local_908 = (stat64 *)0xf;\n      goto LAB_00012354;\n    }\n    local_908 = (stat64 *)local_880._44_4_;\n    local_920 = (stat64 *)open64(local_798,0,0x8000,0x8000);\n    if ((int)local_920 < 0) {\n      piVar19 = __errno_location();\n      psVar25 = (stat64 *)*piVar19;\n      uVar16 = safe_strerror(psVar25);\n      pcVar15 = "Failed to open %s for raw read: %s\n";\n      goto LAB_000136f9;\n    }\n    iVar14 = sg_set_binary_mode(local_920);\n    psVar17 = extraout_ECX_05;\n    if (iVar14 < 0) {\n      perror("sg_set_binary_mode");\n      local_908 = (stat64 *)0xf;\n      psVar25 = (stat64 *)local_880._44_4_;\n      goto LAB_00012354;\n    }\n  }\n  psVar18 = local_7f0;\n  psVar25 = local_8f4;\n  if (local_817 == 0) {\n    if (local_91c == (stat64 *)0x0) {\n      psVar25 = (stat64 *)local_880._44_4_;\n      if (local_798 == (char *)0x0) {\n        if (local_819 == '\0') {\n          pr2serr("No LBA or number_of_blocks given, try using --lba= and --num=\n");\n          local_908 = (stat64 *)0x1;\n          goto LAB_00012354;\n        }\n      }\n      else if (local_819 == '\0') {\n        local_8f4 = (stat64 *)0x0;\n        uVar33 = FUN_000156d0(local_174 + 0x50,&local_8f8,&local_8f4,0x60);\n        uVar16 = (undefined4)((ulonglong)uVar33 >> 0x20);\n        local_908 = (stat64 *)uVar33;\n        if (local_908 != (stat64 *)0x0) goto LAB_00012354;\n        if (psVar38 != (stat64 *)0x0) {\n          uVar7 = (uint)local_8f8;\n          if (1 < local_8f8) {\n            uVar7 = pr2serr("warning: %d LBA,number_of_blocks pairs found, only taking first\n",\n                            uVar7,uVar16,uVar16);\n          }\n          if (2 < (int)psVar38) {\n            pr2serr("after build_t10_scat, num_lbard=%u, sum_num=%u\n",local_8f8,local_8f4,uVar7);\n          }\n        }\n        if (local_8f8 != 1) {\n          pr2serr("Unable to decode one LBA range descriptor from %s\n",local_798,0,0);\n          local_908 = (stat64 *)0xf;\n          goto LAB_00012354;\n        }\n        local_7b8 = local_104 >> 0x18 | (local_104 & 0xff0000) >> 8 | (local_104 & 0xff00) << 8 |\n                    local_104 << 0x18;\n        local_7bc = local_100 >> 0x18 | (local_100 & 0xff0000) >> 8 | (local_100 & 0xff00) << 8 |\n                    local_100 << 0x18;\n        local_7cc = (stat64 *)\n                    (local_fc >> 0x18 | (local_fc & 0xff0000) >> 8 | (local_fc & 0xff00) << 8 |\n                    local_fc << 0x18);\n        if (local_81f != '\0') {\n          local_7c0 = local_f8 >> 0x18 | (local_f8 & 0xff0000) >> 8 | (local_f8 & 0xff00) << 8 |\n                      local_f8 << 0x18;\n          local_7e6 = local_f4 << 8 | local_f4 >> 8;\n          local_7dc = local_f2 << 8 | local_f2 >> 8;\n        }\n        goto LAB_00012d48;\n      }\n      if (local_908 < (stat64 *)0x40) {\n        pr2serr("raw scatter file must be at least 64 bytes long (length: %u)\n",local_908,\n                local_880._44_4_,local_880._44_4_);\nLAB_00012ef5:\n        local_908 = (stat64 *)0xf;\n        goto LAB_00012354;\n      }\n      psVar25 = (stat64 *)(local_174 + 0x50);\n      local_908 = (stat64 *)FUN_00014a80(&DAT_00017365);\n      if (local_908 != (stat64 *)0x0) goto LAB_00012354;\n      cVar6 = FUN_000146a0(&local_8f8,&local_8f4,extraout_ECX_03,extraout_ECX_03);\n      if (cVar6 == '\0') goto LAB_00012ef5;\n      if (local_8f8 != 1) {\n        pr2serr("No %ss found in SF (num=%u)\n","LBA range descriptor",local_8f8,extraout_EDX_01);\n        goto LAB_00012ef5;\n      }\n      local_7b8 = local_114 >> 0x18 | (local_114 & 0xff0000) >> 8 | (local_114 & 0xff00) << 8 |\n                  local_114 << 0x18;\n      local_7bc = local_110 >> 0x18 | (local_110 & 0xff0000) >> 8 | (local_110 & 0xff00) << 8 |\n                  local_110 << 0x18;\n      local_7cc = (stat64 *)\n                  (local_10c >> 0x18 | (local_10c & 0xff0000) >> 8 | (local_10c & 0xff00) << 8 |\n                  local_10c << 0x18);\n    }\n    else {\n      local_7bc = local_578;\n      local_7b8 = local_574;\n      local_7cc = local_778[0];\n      if ((psVar38 != (stat64 *)0x0) && (local_91c != (stat64 *)0x1)) {\n        pr2serr("warning: %d LBA,number_of_blocks pairs found, only taking first\n",local_91c,\n                psVar17,psVar17);\n      }\n    }\nLAB_00012d48:\n    if (local_818 == 0) {\n      psVar25 = (stat64 *)((int)local_7cc * (int)local_7d4);\n    }\n    else {\n      psVar25 = (stat64 *)0x0;\n      if (local_810 == 0) {\n        psVar25 = local_7d4;\n      }\n    }\n    local_7a4 = psVar25;\n    if (psVar25 != (stat64 *)0x0) {\n      iVar14 = sg_memalign(psVar25,0,&local_8f0,0);\n      if (iVar14 == 0) {\n        pcVar15 = "unable to allocate %u bytes of memory\n";\n        ppvVar39 = (void **)0x0;\n        uVar16 = 0;\n        psVar38 = psVar25;\nLAB_00013bea:\n        pr2serr(pcVar15,psVar38,ppvVar39,uVar16);\n        local_908 = (stat64 *)sg_convert_errno(0xc);\n        goto LAB_00012354;\n      }\n      local_908 = (stat64 *)FUN_00014a80(&DAT_000173c6);\n      if (local_908 != (stat64 *)0x0) goto LAB_00012354;\n    }\n    local_908 = (stat64 *)FUN_00014b00(&local_820);\n    if (local_908 == (stat64 *)0x0) goto LAB_00012354;\n    if (local_81a != '\0') goto LAB_00012354;\n    puVar43 = local_174;\n    psVar25 = (stat64 *)"OS error";\n    puVar29 = puVar43;\n    for (iVar14 = 9; iVar14 != 0; iVar14 = iVar14 + -1) {\n      *puVar29 = (char)psVar25->st_dev;\n      psVar25 = (stat64 *)((int)psVar25 + (uint)bVar32 * -2 + 1);\n      puVar29 = puVar29 + (uint)bVar32 * -2 + 1;\n    }\n    uVar16 = 0;\n    if (0 < (int)local_908) {\n      sg_get_category_sense_str(local_908,0x50,puVar43,psVar38);\n      uVar16 = extraout_ECX_02;\n    }\n    pr2serr("%s: %s\n",local_790,puVar43,uVar16);\n    goto LAB_00012354;\n  }\n  local_8e8 = (void *)0x0;\n  local_8f6 = local_8f8;\n  local_8ec = (undefined1  [4])local_8f4;\n  if (local_81c != '\0') {\n    if (local_7e2 == 0) {\n      if (local_7e0 == 0) {\n        psVar17 = local_93c;\n        if (local_93c == (stat64 *)0x0) {\n          pr2serr("With --combined= if DOF, RD are 0 and IF has an unknown length\nthen give up\n");\n          local_908 = (stat64 *)0x1f;\n          goto LAB_00012354;\n        }\n      }\n      else {\n        psVar17 = (stat64 *)((local_7e0 + 1) * 0x20);\n      }\n      if ((uint)psVar17 % (uint)local_7d4 != 0) {\n        psVar17 = (stat64 *)(((uint)psVar17 / (uint)local_7d4 + 1) * (int)local_7d4);\n      }\n    }\n    else {\n      psVar17 = (stat64 *)((uint)local_7e2 * (int)local_7d4);\n    }\n    ppvVar39 = &local_8e8;\n    uVar16 = 0;\n    psVar38 = (stat64 *)0x0;\n    psVar25 = (stat64 *)sg_memalign(psVar17,0,ppvVar39,0);\n    if (psVar25 == (stat64 *)0x0) {\nLAB_000141a6:\n      pcVar15 = "unable to allocate aligned memory for scatterlist+data\n";\n      goto LAB_00013bea;\n    }\n    local_908 = (stat64 *)FUN_00014a80("IF c1");\n    if (local_908 != (stat64 *)0x0) goto LAB_000133fd;\n    cVar6 = FUN_000146a0(&local_8f6,local_8ec,0,0);\n    if (cVar6 != '\0') {\n      if ((local_7e0 == 0) || (local_7e0 == local_8f6)) {\n        local_7e0 = local_8f6;\nLAB_00013fe3:\n        local_908 = (stat64 *)((local_7e0 + 1) * 0x20);\n        if ((uint)local_908 % (uint)local_7d4 != 0) {\n          local_908 = (stat64 *)(((uint)local_908 / (uint)local_7d4 + 1) * (int)local_7d4);\n        }\n        uVar7 = (uint)local_7e2;\n        uVar24 = uVar7 * (int)local_7d4;\n        psVar38 = local_908;\n        local_8f6 = local_7e0;\n        if (uVar24 - (int)local_908 != 0) {\n          if (uVar24 < local_908) {\n            pr2serr("%s: Cannot fit %ss (%u) in given LB data offset (%u)\n","process_scattered",\n                    "LBA range descriptor",(uint)local_7e0,uVar7);\n            goto LAB_000133f3;\n          }\n          psVar38 = (stat64 *)uVar24;\n          if ((((uint)psVar18 | local_7f8) != 0) &&\n             (pr2serr("%s: empty blocks before LB data offset (%u), could be okay\n",\n                      "process_scattered",uVar7,(uint)psVar18 | local_7f8), local_7f8 != 0)) {\n            pr2serr("Exiting due to --strict; perhaps try again with --combined=%u\n",\n                    (uint)local_908 / (uint)local_7d4,psVar25,psVar25);\n            local_908 = (stat64 *)0xf;\n            goto LAB_000133fd;\n          }\n        }\n        psVar38 = (stat64 *)((int)local_8ec * (int)local_7d4 + (int)psVar38);\n        if (psVar38 <= psVar17) {\nLAB_0001418c:\n          local_7cc = (stat64 *)local_8ec;\n          local_7a4 = (stat64 *)((int)local_8ec * (int)local_7d4);\n          goto LAB_00013962;\n        }\n        if (local_93c != psVar38) {\n          if (local_93c < psVar38) {\n            pr2serr("Calculated dout length (%u) %s bytes available in IF (%u)\n",psVar38,\n                    &DAT_000170dd,local_93c);\n          }\n          else if ((psVar18 == (stat64 *)0x0 && local_7f8 == 0) ||\n                  (pr2serr("Calculated dout length (%u) %s bytes available in IF (%u)\n",psVar38,\n                           &DAT_00017110,local_93c), local_7f8 == 0)) goto LAB_00014113;\n          goto LAB_000133f3;\n        }\nLAB_00014113:\n        uVar33 = sg_memalign(psVar38,0,&local_8e4,0);\n        uVar16 = (undefined4)((ulonglong)uVar33 >> 0x20);\n        psVar38 = (stat64 *)uVar33;\n        if (psVar38 != (stat64 *)0x0) {\n          memcpy(psVar38,psVar25,(size_t)psVar17);\n          free(local_8e8);\n          local_8e8 = local_8e4;\n          local_908 = (stat64 *)FUN_00014a80("IF c2",psVar25,psVar17,uVar16);\n          psVar25 = psVar38;\n          if (local_908 != (stat64 *)0x0) goto LAB_000133fd;\n          goto LAB_0001418c;\n        }\nLAB_00014273:\n        pcVar15 = "unable to allocate memory for final scatterlist+data\n";\n        goto LAB_00013fbc;\n      }\n      if (local_8f6 < local_7e0) {\n        pr2serr("RD (%u) %s number of %ss (%u) found in IF\n",local_7e0,&DAT_000170dd,\n                "LBA range descriptor",local_8f6);\n      }\n      else if ((psVar18 == (stat64 *)0x0 && local_7f8 == 0) ||\n              (pr2serr("RD (%u) %s number of %ss (%u) found in IF\n",local_7e0,&DAT_00017110,\n                       "LBA range descriptor",local_8f6), local_7f8 == 0)) {\n        local_908 = (stat64 *)0x0;\n        for (psVar38 = psVar25; (stat64 *)(&psVar25->st_dev + (uint)local_7e0 * 4) != psVar38;\n            psVar38 = (stat64 *)&psVar38->st_rdev) {\n          uVar7 = psVar38->__pad2;\n          local_908 = (stat64 *)\n                      ((int)&local_908->st_dev +\n                      (uVar7 >> 0x18 | (uVar7 & 0xff0000) >> 8 | (uVar7 & 0xff00) << 8 |\n                      uVar7 << 0x18));\n        }\n        local_8ec = (undefined1  [4])local_908;\n        goto LAB_00013fe3;\n      }\n    }\nLAB_000133f3:\n    local_908 = (stat64 *)0xf;\n    goto LAB_000133fd;\n  }\n  if (local_91c != (stat64 *)0x0) {\n    local_8f6 = (ushort)local_91c;\n  }\n  if (local_798 == (char *)0x0) {\n    if (local_819 != '\0') goto LAB_00013dcd;\n    if (local_91c == (stat64 *)0x0) {\n      pr2serr("How did we get here??\n");\n      local_908 = (stat64 *)0x1;\n      goto LAB_000133fd;\n    }\n    if ((local_7e0 != 0) && (local_91c < (undefined *)(uint)local_7e0)) {\n      pr2serr("%s: number given to --scattered= (%u) exceeds number of --lba= elements (%u)\n",\n              "process_scattered",(undefined *)(uint)local_7e0,local_91c);\n      local_908 = (stat64 *)0x1f;\n      goto LAB_00012354;\n    }\n    uVar7 = (local_8f6 + 1) * 0x20;\n    local_7e2 = (ushort)(uVar7 / (uint)local_7d4);\n    if (uVar7 % (uint)local_7d4 != 0) {\n      local_7e2 = local_7e2 + 1;\n    }\n    iVar14 = 0;\n    local_8ec = (undefined1  [4])0x0;\n    do {\n      local_8ec = (undefined1  [4])((int)&((stat64 *)local_8ec)->st_dev + (int)ppsVar44[iVar14]);\n      iVar14 = iVar14 + 1;\n    } while (iVar14 < (int)local_91c);\n    psVar25 = (stat64 *)\n              sg_memalign((int)((int)&((stat64 *)local_8ec)->st_dev + (uint)local_7e2) *\n                          (int)local_7d4,0,&local_8e8,0);\n    if (psVar25 == (stat64 *)0x0) goto LAB_00013fb3;\n    iVar14 = 0;\n    psVar38 = psVar25;\n    do {\n      uVar7 = puVar42[iVar14 * 2];\n      uVar24 = puVar42[iVar14 * 2 + 1];\n      *(uint *)&psVar38->st_rdev =\n           uVar24 >> 0x18 | (uVar24 & 0xff0000) >> 8 | (uVar24 & 0xff00) << 8 | uVar24 << 0x18;\n      *(uint *)((int)&psVar38->st_rdev + 4) =\n           uVar7 >> 0x18 | (uVar7 & 0xff0000) >> 8 | (uVar7 & 0xff00) << 8 | uVar7 << 0x18;\n      psVar17 = ppsVar44[iVar14];\n      psVar38->__pad2 =\n           (uint)psVar17 >> 0x18 | ((uint)psVar17 & 0xff0000) >> 8 | ((uint)psVar17 & 0xff00) << 8 |\n           (int)psVar17 << 0x18;\n      if (local_81f != '\0') {\n        if (iVar14 == 0) {\n          *(uint *)&psVar38->st_size =\n               local_7c0 >> 0x18 | (local_7c0 & 0xff0000) >> 8 | (local_7c0 & 0xff00) << 8 |\n               local_7c0 << 0x18;\n          *(ushort *)((int)&psVar38->st_size + 4) = local_7e6 << 8 | local_7e6 >> 8;\n          *(ushort *)((int)&psVar38->st_size + 6) = local_7dc << 8 | local_7dc >> 8;\n        }\n        else {\n          *(undefined4 *)&psVar38->st_size = 0xffffffff;\n          *(undefined2 *)((int)&psVar38->st_size + 4) = 0xffff;\n          *(undefined2 *)((int)&psVar38->st_size + 6) = 0xffff;\n        }\n      }\n      iVar14 = iVar14 + 1;\n      psVar38 = (stat64 *)&psVar38->st_rdev;\n    } while (iVar14 < (int)local_91c);\n    local_7cc = (stat64 *)local_8ec;\n  }\n  else {\n    if (local_819 == '\0') {\n      uVar7 = (uint)local_8f6;\n      uVar16 = 0;\n      uVar24 = (uVar7 + 1) * 0x20;\n      local_7e2 = (ushort)(uVar24 / (uint)local_7d4);\n      ppvVar39 = &local_8e8;\n      if (uVar24 % (uint)local_7d4 != 0) {\n        local_7e2 = local_7e2 + 1;\n      }\n      psVar38 = (stat64 *)0x0;\n      psVar25 = (stat64 *)\n                sg_memalign((int)((int)&local_8f4->st_dev + (uint)local_7e2) * (int)local_7d4,0,\n                            ppvVar39,0);\n      if (psVar25 == (stat64 *)0x0) goto LAB_000141a6;\n      local_8f6 = 0;\n      local_8ec = (undefined1  [4])0x0;\n      if (uVar7 + 1 == 1) {\n        uVar24 = (uint)local_7e2 * (int)local_7d4;\n      }\n      local_908 = (stat64 *)FUN_000156d0(psVar25,&local_8f6,local_8ec,uVar24);\n      if (local_908 != (stat64 *)0x0) goto LAB_000133fd;\n      psVar38 = (stat64 *)((int)local_7d4 * (int)local_8ec);\n      if (local_7d0 <= psVar38) {\n        if ((local_7d0 <= psVar38 && (int)psVar38 - (int)local_7d0 != 0) &&\n           (local_7d0 != (stat64 *)0x0)) {\n          psVar38 = local_7d0;\n        }\nLAB_00014208:\n        if ((psVar45 != (stat64 *)0x0) && (psVar45 != psVar38)) {\n          if (psVar18 != (stat64 *)0x0) {\n            puVar20 = &DAT_00017110;\n            if (psVar38 <= psVar45) {\n              puVar20 = &DAT_000170dd;\n            }\n            pr2serr("readable length (%u) of IF %s bytes implied by sum of\nscatter list NUMs (%u) and DLEN\n"\n                    ,psVar45,puVar20,psVar38);\n          }\n          if ((local_7f8 != 0) && ((psVar38 <= psVar45 || (1 < (int)local_7f8)))) goto LAB_000133f3;\nLAB_0001387e:\n          if (psVar45 < psVar38) {\n            psVar38 = psVar45;\n          }\n        }\n        psVar17 = (stat64 *)((uint)psVar38 / (uint)local_7d4);\n        if (((uint)psVar38 % (uint)local_7d4 != 0) &&\n           ((psVar18 != (stat64 *)0x0 || (1 < (int)local_7f8)))) {\n          psVar22 = local_7d8;\n          pr2serr("Calculated data-out length (0x%x) not a multiple of BS (%u",psVar38,local_7d8,\n                  psVar17);\n          if (local_7d8 != local_7d4) {\n            psVar38 = (stat64 *)((int)local_7d4 - (int)local_7d8);\n            psVar22 = extraout_ECX_07;\n            psVar17 = extraout_ECX_07;\n            pr2serr(" + %d(PI)",psVar38,extraout_ECX_07,extraout_ECX_07);\n          }\n          if (1 < (int)local_7f8) {\n            pr2serr(")\nexiting ...\n",psVar38,psVar22,psVar17);\n            local_908 = (stat64 *)0xf;\n            goto LAB_000133fd;\n          }\n          pr2serr(")\nzero pad and continue ...\n",psVar38,psVar22,psVar17);\n        }\n      }\n      else {\n        uVar7 = (uint)psVar18 | local_7f8;\n        if (uVar7 != 0) {\n          pr2serr("DLEN > than bytes implied by sum of scatter list NUMs (%u)\n",psVar38,uVar7,uVar7\n                 );\n          if (1 < (int)psVar18) {\n            pr2serr("  num_lbard=%u, sum_num=%u actual_bs=%u",local_8f6,local_8ec,local_7d4);\n          }\n          if (local_7f8 != 0) goto LAB_000133f3;\n          goto LAB_00014208;\n        }\n        if ((psVar45 != (stat64 *)0x0) && (psVar45 != psVar38)) goto LAB_0001387e;\n      }\n      local_908 = (stat64 *)FUN_00014a80(&DAT_00017360);\n    }\n    else {\nLAB_00013dcd:\n      psVar38 = local_7d4;\n      if (local_7e0 != 0) {\n        psVar38 = (stat64 *)((local_7e0 + 1) * 0x20);\n        if (local_908 < psVar38) {\n          pr2serr("SF not long enough (%u bytes) to provide RD (%u) %ss\n",local_908,psVar38,\n                  "LBA range descriptor");\n          local_908 = (stat64 *)0xf;\n          goto LAB_000133fd;\n        }\n        psVar38 = (stat64 *)\n                  ((((uint)psVar38 / (uint)local_7d4 + 1) -\n                   (uint)((uint)psVar38 % (uint)local_7d4 == 0)) * (int)local_7d4);\n      }\n      local_918 = local_7d4;\n      if (local_93c != (stat64 *)0x0) {\n        local_918 = (stat64 *)\n                    ((((uint)local_93c / (uint)local_7d4 + 1) -\n                     (uint)((uint)local_93c % (uint)local_7d4 == 0)) * (int)local_7d4);\n      }\n      psVar25 = (stat64 *)\n                sg_memalign((undefined *)((int)&psVar38->st_dev + (int)&local_918->st_dev),0,\n                            &local_8e8,0);\n      if (psVar25 == (stat64 *)0x0) {\nLAB_00013fb3:\n        pcVar15 = "unable to allocate aligned memory for scatterlist+data\n";\nLAB_00013fbc:\n        pr2serr(pcVar15);\n        local_908 = (stat64 *)sg_convert_errno(0xc);\n        goto LAB_000133fd;\n      }\n      local_908 = (stat64 *)FUN_00014a80(&DAT_00017365);\n      if (local_908 != (stat64 *)0x0) goto LAB_000133fd;\n      psVar17 = (stat64 *)local_8ec;\n      psVar22 = extraout_ECX_08;\n      psVar8 = extraout_ECX_08;\n      cVar6 = FUN_000146a0(&local_8f6,psVar17,extraout_ECX_08,extraout_ECX_08);\n      if (cVar6 == '\0') goto LAB_000133f3;\n      if (local_7e0 != local_8f6) {\n        pr2serr("Try again with --scattered=%u\n",local_8f6,extraout_EDX_05,extraout_EDX_05);\n        local_908 = (stat64 *)0xf;\n        goto LAB_000133fd;\n      }\n      if (local_918 < (stat64 *)((int)local_7d4 * (int)local_8ec)) {\n        psVar9 = (stat64 *)\n                 sg_memalign((undefined *)\n                             ((int)&psVar38->st_dev +\n                             (int)&((stat64 *)((int)local_7d4 * (int)local_8ec))->st_dev),0,\n                             &local_8e4,0);\n        if (psVar9 == (stat64 *)0x0) goto LAB_00014273;\n        psVar22 = psVar38;\n        psVar8 = psVar9;\n        memcpy(psVar9,psVar25,(size_t)psVar38);\n        psVar17 = psVar25;\n        free(local_8e8);\n        local_8e8 = local_8e4;\n        psVar25 = psVar9;\n      }\n      if ((local_93c != psVar38) && (psVar18 != (stat64 *)0x0 || local_7f8 != 0)) {\n        psVar22 = (stat64 *)&DAT_000170dd;\n        if (local_93c <= psVar38) {\n          psVar22 = (stat64 *)&DAT_00017110;\n        }\n        psVar8 = psVar38;\n        pr2serr("IF length (%u) %s \'sum_num\' bytes (%u), ",local_93c,psVar22,psVar38);\n        if (1 < (int)local_7f8) {\n          pr2serr("exiting (strict=%d)\n",local_7f8,psVar38,psVar38);\n          local_908 = (stat64 *)0xf;\n          goto LAB_000133fd;\n        }\n        pr2serr("continuing ...\n",local_93c,psVar22,psVar8);\n        psVar17 = local_93c;\n      }\n      local_908 = (stat64 *)FUN_00014a80(&DAT_0001738d,psVar17,psVar22,psVar8);\n    }\n    if (local_908 != (stat64 *)0x0) goto LAB_000133fd;\n    local_7a4 = (stat64 *)((int)local_8ec * (int)local_7d4);\n    local_7cc = (stat64 *)local_8ec;\n  }\nLAB_00013962:\n  local_8ec = (undefined1  [4])local_7cc;\n  local_908 = (stat64 *)FUN_00014b00(&local_820);\n  if (local_908 != (stat64 *)0x0) {\n    puVar43 = local_174 + 0x50;\n    psVar25 = (stat64 *)"OS error";\n    puVar29 = puVar43;\n    for (iVar14 = 9; iVar14 != 0; iVar14 = iVar14 + -1) {\n      *puVar29 = (char)psVar25->st_dev;\n      psVar25 = (stat64 *)((int)psVar25 + (uint)bVar32 * -2 + 1);\n      puVar29 = puVar29 + (uint)bVar32 * -2 + 1;\n    }\n    if (0 < (int)local_908) {\n      sg_get_category_sense_str(local_908,0x50,puVar43,psVar18);\n    }\n    pr2serr("%s: %s\n",local_790,puVar43,psVar25);\n  }\nLAB_000133fd:\n  if (local_8e8 == (void *)0x0) goto LAB_00012354;\n  free(local_8e8);\n  goto LAB_00012354;\ncode_r0x000115f1:\n  uVar33 = sg_get_llnum(*(undefined4 *)PTR_optarg_0001dffc);\n  psVar38 = local_7d0;\n  uVar16 = uStack_7c4;\n  uVar7 = (uint)uVar33;\n  if ((int)((ulonglong)uVar33 >> 0x20) != 0) goto code_r0x00012b94;\n  goto code_r0x000114e8;\ncode_r0x00012b94:\n  pr2serr("bad argument to \'--ref-tag=\'. Expect 0 to 0xffffffff inclusive\n");\nLAB_00011a7a:\n  local_908 = (stat64 *)0x1;\nLAB_00011a84:\n  do {\n    psVar25 = (stat64 *)(local_24 ^ *(uint *)(in_GS_OFFSET + 0x14));\n    if (psVar25 == (stat64 *)0x0) {\n      return (int)local_908;\n    }\n    FUN_000162b0();\nLAB_00013b9f:\n    pr2serr("build_lba_arr: array length exceeded\n");\nLAB_00012130:\n    pr2serr("bad argument to \'--lba\'\n");\n    local_908 = (stat64 *)0x1;\nLAB_00012354:\n    if (local_8f0 != (void *)0x0) {\n      free(local_8f0);\n    }\n    iVar14 = sg_cmds_close_device(local_930);\n    if (iVar14 < 0) {\n      if (local_81a == '\0') {\n        uVar16 = safe_strerror(-iVar14);\n        pr2serr("sg_fd close error: %s\n",uVar16);\n      }\n      if (local_908 == (stat64 *)0x0) {\n        local_908 = (stat64 *)0xf;\n      }\n    }\n    if ((-1 < (int)local_920) && (iVar14 = close((int)local_920), iVar14 < 0)) {\n      if (local_81a == '\0') {\n        perror("sfr_fd close error");\n      }\n      if (local_908 == (stat64 *)0x0) {\n        local_908 = (stat64 *)0xf;\n      }\n    }\nLAB_000123a1:\n    if (((cVar2 == '\x01') || ((int)local_924 < 0)) ||\n       (pcVar15 = (char *)close((int)local_924), -1 < (int)pcVar15)) {\nLAB_000123cc:\n      if (((local_7f0 == (stat64 *)0x0) && (local_81a == '\0')) &&\n         (cVar6 = sg_if_can2stderr("sg_write_x failed: ",local_908,psVar25,psVar25), cVar6 == '\0'))\n      goto LAB_0001260b;\n      goto LAB_000123e2;\n    }\n    if (local_81a == '\0') {\n      pcVar15 = "infd close error";\n      perror("infd close error");\n    }\n    if (local_908 != (stat64 *)0x0) goto LAB_000123cc;\n    local_908 = (stat64 *)0xf;\n    if (((local_7f0 == (stat64 *)0x0) && (local_81a == '\0')) &&\n       (cVar6 = sg_if_can2stderr("sg_write_x failed: ",0xf,pcVar15,pcVar15), cVar6 == '\0')) {\nLAB_0001260b:\n      pr2serr("Some error occurred, try again with \'-v\' or \'-vv\' for more information\n");\nLAB_000123e2:\n      if ((int)local_908 < 0) {\n        local_908 = (stat64 *)0x63;\n      }\n    }\n  } while( true );\n}\n\n" comment (function_definition "int FUN_000113d0(int param_1,int param_2)\n\n{\n  byte bVar1;\n  char cVar2;\n  __dev_t *p_Var3;\n  undefined *puVar4;\n  undefined *puVar5;\n  char cVar6;\n  uint uVar7;\n  stat64 *psVar8;\n  stat64 *psVar9;\n  int iVar10;\n  stat64 *psVar11;\n  char *pcVar12;\n  char *pcVar13;\n  int iVar14;\n  char *pcVar15;\n  undefined4 uVar16;\n  stat64 *psVar17;\n  stat64 *psVar18;\n  int *piVar19;\n  undefined *puVar20;\n  int iVar21;\n  stat64 *extraout_ECX;\n  stat64 *extraout_ECX_00;\n  stat64 *extraout_ECX_01;\n  undefined4 extraout_ECX_02;\n  undefined4 extraout_ECX_03;\n  stat64 *extraout_ECX_04;\n  stat64 *extraout_ECX_05;\n  stat64 *extraout_ECX_06;\n  stat64 *extraout_ECX_07;\n  stat64 *extraout_ECX_08;\n  int extraout_EDX;\n  stat64 *psVar22;\n  stat64 *psVar23;\n  stat64 *extraout_EDX_00;\n  undefined4 extraout_EDX_01;\n  stat64 *extraout_EDX_02;\n  stat64 *extraout_EDX_03;\n  stat64 *extraout_EDX_04;\n  undefined4 extraout_EDX_05;\n  uint uVar24;\n  stat64 *psVar25;\n  uint *puVar26;\n  stat64 **ppsVar27;\n  int iVar28;\n  undefined1 *puVar29;\n  int in_GS_OFFSET;\n  bool bVar30;\n  bool bVar31;\n  byte bVar32;\n  undefined8 uVar33;\n  longlong lVar34;\n  __off64_t _Var35;\n  undefined4 uVar36;\n  undefined4 uVar37;\n  stat64 *psVar38;\n  void **ppvVar39;\n  undefined4 uVar40;\n  uint uVar41;\n  uint *puVar42;\n  undefined1 *puVar43;\n  stat64 **ppsVar44;\n  stat64 *psVar45;\n  char local_93f;\n  stat64 *local_93c;\n  stat64 *local_930;\n  stat64 *local_924;\n  stat64 *local_920;\n  stat64 *local_91c;\n  stat64 *local_918;\n  stat64 *local_908;\n  ushort local_8f8;\n  ushort local_8f6;\n  stat64 *local_8f4;\n  void *local_8f0;\n  undefined1 local_8ec [4];\n  void *local_8e8;\n  void *local_8e4;\n  undefined1 local_8e0 [48];\n  int local_8b0;\n  undefined1 local_880 [96];\n  char local_820;\n  char local_81f;\n  byte bStack_81e;\n  byte local_81d;\n  char local_81c;\n  byte local_81b;\n  char local_81a;\n  char local_819;\n  byte local_818;\n  byte local_817;\n  byte local_816;\n  byte bStack_815;\n  byte local_814;\n  char local_813;\n  undefined1 uStack_812;\n  undefined1 uStack_811;\n  byte local_810;\n  char local_80f;\n  char local_80e;\n  uint uStack_80c;\n  int iStack_808;\n  uint uStack_804;\n  int local_800;\n  int local_7fc;\n  uint local_7f8;\n  int local_7f4;\n  stat64 *local_7f0;\n  stat64 *local_7ec;\n  undefined1 uStack_7e8;\n  undefined1 uStack_7e7;\n  ushort local_7e6;\n  undefined2 uStack_7e4;\n  ushort local_7e2;\n  ushort local_7e0;\n  undefined2 uStack_7de;\n  ushort local_7dc;\n  undefined2 uStack_7da;\n  stat64 *local_7d8;\n  stat64 *local_7d4;\n  stat64 *local_7d0;\n  stat64 *local_7cc;\n  undefined4 uStack_7c8;\n  undefined4 uStack_7c4;\n  uint local_7c0;\n  uint local_7bc;\n  uint local_7b8;\n  stat64 *local_7b4;\n  stat64 *local_7b0;\n  int local_7ac;\n  int local_7a8;\n  stat64 *local_7a4;\n  stat64 *local_7a0;\n  char *local_79c;\n  char *local_798;\n  stat64 *local_794;\n  undefined1 local_790 [24];\n  stat64 *local_778 [128];\n  uint local_578;\n  uint local_574;\n  undefined1 local_174 [96];\n  uint local_114;\n  uint local_110;\n  uint local_10c;\n  uint local_104;\n  uint local_100;\n  uint local_fc;\n  uint local_f8;\n  ushort local_f4;\n  ushort local_f2;\n  uint local_24;\n  undefined4 *local_18;\n  \n  iVar28 = param_2;\n  iVar14 = param_1;\n  puVar20 = PTR_optarg_0001dffc;\n  bVar32 = 0;\n  local_18 = &param_1;\n  local_24 = *(uint *)(in_GS_OFFSET + 0x14);\n  local_8f8 = 0;\n  local_8f4 = (stat64 *)0x0;\n  local_8f0 = (void *)0x0;\n  local_918 = (stat64 *)0x0;\n  local_91c = (stat64 *)0x0;\n  pcVar15 = &local_820;\n  for (iVar21 = 0x2a; iVar21 != 0; iVar21 = iVar21 + -1) {\n    pcVar15[0] = '\0';\n    pcVar15[1] = '\0';\n    pcVar15[2] = '\0';\n    pcVar15[3] = '\0';\n    pcVar15 = pcVar15 + 4;\n  }\n  local_930 = (stat64 *)local_8e0;\n  local_7fc = -1;\n  psVar18 = local_930;\n  for (iVar21 = 0x18; iVar21 != 0; iVar21 = iVar21 + -1) {\n    *(undefined4 *)&psVar18->st_dev = 0;\n    psVar18 = (stat64 *)((int)&psVar18->st_dev + 4);\n  }\n  psVar18 = (stat64 *)local_880;\n  local_7c0 = 0xffffffff;\n  psVar38 = psVar18;\n  for (iVar21 = 0x18; iVar21 != 0; iVar21 = iVar21 + -1) {\n    *(undefined4 *)&psVar38->st_dev = 0;\n    psVar38 = (stat64 *)((int)&psVar38->st_dev + 4);\n  }\n  cVar2 = ' ';\n  local_7e6 = 0xffff;\n  local_7dc = 0xffff;\n  local_7f4 = 0x78;\n  bVar1 = 0;\n  local_924 = (stat64 *)PTR_optarg_0001dffc;\n  psVar38 = local_7d0;\n  uVar16 = uStack_7c4;\n  uVar7 = local_7c0;\ncode_r0x000114e8:\n  local_7c0 = uVar7;\n  uStack_7c4 = uVar16;\n  local_7d0 = psVar38;\n  local_8e4 = (void *)0x0;\n  uVar33 = getopt_long(iVar14,iVar28,"36a:A:b:B:c:dD:Efg:G:hi:I:l:M:n:No:Oq:Qr:RsS:t:T:u:vVw:x",\n                       &PTR_DAT_0001e020,&local_8e4);\n  puVar5 = PTR_optarg_0001dffc;\n  puVar4 = PTR_optind_0001dfe4;\n  if ((int)uVar33 == -1) {\n    iVar21 = *(int *)PTR_optind_0001dfe4;\n    local_920 = (stat64 *)0xffffffff;\n    if (iVar21 < iVar14) {\n      iVar10 = (int)((ulonglong)uVar33 >> 0x20);\n      if (local_7a0 != (stat64 *)0x0) goto LAB_00011c60;\n      local_7a0 = *(stat64 **)(iVar28 + iVar21 * 4);\n      *(int *)PTR_optind_0001dfe4 = iVar21 + 1;\n      iVar10 = iVar28;\n      if (iVar21 + 1 < iVar14) goto LAB_00011c60;\n    }\n    if ((bool)(bVar1 & local_7f8 != 0)) goto LAB_00011a7a;\n    if (0 < local_800) {\n      FUN_000149b0();\n      local_908 = (stat64 *)0x0;\n      goto LAB_00011a84;\n    }\n    if (local_80f == '\0') {\nLAB_00011c9f:\n      if (local_80e != '\0') {\n        pr2serr("sg_write_x version: %s\n","1.19 20180628",puVar4,puVar4);\n        local_908 = (stat64 *)0x270f;\n        goto LAB_00011a84;\n      }\n    }\n    else if (local_80e != '\0') {\n      pr2serr("Not in DEBUG mode, so \'-vV\' has no special action\n");\n      goto LAB_00011c9f;\n    }\n    psVar38 = local_7f0;\n    psVar17 = psVar38;\n    if (local_820 == '\0') {\n      if (local_81f == '\0') {\n        psVar17 = (stat64 *)((int)&local_7f0[-1].st_ino + 7);\n        local_820 = '\x01';\n        if (psVar17 != (stat64 *)0x0 && 0 < (int)local_7f0) {\n          pr2serr("Since neither --16 nor --32 given, choose --16\n");\n        }\n      }\n    }\n    else if ((local_81f != '\0') && (local_820 = '\0', 1 < (int)local_7f0)) {\n      pr2serr("Since both --16 and --32 given, choose --32\n");\n    }\n    uVar7 = (uint)local_81d + (uint)local_814 + (uint)local_81b + (uint)local_818 + (uint)local_817\n            + (uint)local_816;\n    if (1 < uVar7) {\n      pr2serr(\n             "Can only select one command; so only one of --atomic, --normal, --or,\n--same=, --scattered= or --stream=\n"\n             );\n      local_908 = (stat64 *)0x1f;\n      goto LAB_00011a84;\n    }\n    if (uVar7 == 0) {\n      if (local_7f8 != 0) {\n        pr2serr("With --strict won\'t default to a normal WRITE, add --normal\n");\n        local_908 = (stat64 *)0x1f;\n        goto LAB_00011a84;\n      }\n      local_794 = (stat64 *)0x17164;\n      local_814 = 1;\n      if (psVar38 != (stat64 *)0x0) {\n        pr2serr("No command selected so choose \'normal\' WRITE\n");\n      }\n    }\n    psVar8 = (stat64 *)((-(uint)(local_820 == '\0') & 0x10) + 0x10);\n    psVar22 = local_794;\n    __snprintf_chk(local_790,0x18,1,0x18,"%s(%d)",local_794,psVar8,psVar17);\n    if (local_81c == '\0') {\n      if (local_798 != (char *)0x0) {\n        local_93f = local_918 != (stat64 *)0x0;\n        bVar30 = local_91c != (stat64 *)0x0 || local_918 != (stat64 *)0x0;\n        bVar31 = local_91c != (stat64 *)0x0;\n        if (local_91c == (stat64 *)0x0 && local_918 == (stat64 *)0x0) {\n          iVar14 = -1;\n          pcVar15 = local_798;\n          goto code_r0x00011d5c;\n        }\n        pr2serr(\n               "want one and only one of: (--lba=LBA and/or --num=NUM), or\n--scat-file=SF, or --combined=DOF\n"\n               );\n        local_908 = (stat64 *)0x1f;\n        goto LAB_00011a84;\n      }\n      if (local_819 == '\0') {\n        local_93f = local_918 != (stat64 *)0x0;\n        bVar30 = local_91c != (stat64 *)0x0 || local_918 != (stat64 *)0x0;\n        bVar31 = local_91c != (stat64 *)0x0;\n        goto LAB_00011d67;\n      }\n      pr2serr(\n             "--scat-raw only applies to the --scat-file=SF option\n--scat-raw without the --scat-file=SF option is an error\n"\n             );\n      local_908 = (stat64 *)0x1f;\n      goto LAB_00011a84;\n    }\n    if (local_817 == 0) {\n      pr2serr(\n             "--combined=DOF only allowed with --scattered=RD (i.e. only with\nWRITE SCATTERED command)\n"\n             );\n      local_908 = (stat64 *)0x1f;\n      goto LAB_00011a84;\n    }\n    if (local_798 != (char *)0x0) {\n      pr2serr("Ambiguous: got --combined=DOF and --scat-file=SF .\nGive one, the other or neither\n"\n             );\n      local_908 = (stat64 *)0x1f;\n      goto LAB_00011a84;\n    }\n    if (local_91c == (stat64 *)0x0 && local_918 == (stat64 *)0x0) {\n      local_93f = local_819;\n      bVar30 = false;\n      bVar31 = false;\n      if (local_819 == '\0') goto LAB_00011d67;\n      pr2serr("Ambiguous: don\'t expect --combined=DOF and --scat-raw\nGive one or the other\n");\n      local_908 = (stat64 *)0x1f;\n    }\n    else {\n      pr2serr("--scattered=RD --combined=DOF does not use --lba= or --num=\nPlease remove.\n");\n      local_908 = (stat64 *)0x1f;\n    }\n    goto LAB_00011a84;\n  }\n  local_920 = local_924;\n  psVar38 = local_7d0;\n  uVar16 = uStack_7c4;\n  uVar7 = local_7c0;\n  switch((int)uVar33) {\n  case 0x33:\n    local_81f = '\x01';\n    goto code_r0x000114e8;\n  default:\n    pcVar15 = "unrecognised option code 0x%x ??\n";\n    break;\n  case 0x36:\n    local_820 = '\x01';\n    goto code_r0x000114e8;\n  case 0x3f:\n    pcVar15 = "\n";\n    break;\n  case 0x41:\n    uVar7 = func_0x00011320(*(undefined4 *)PTR_optarg_0001dffc);\n    if (0xffff < uVar7) {\n      pr2serr("bad argument to \'--atomic=\'. Expect 0 to 0xffff inclusive\n");\n      goto LAB_00011a7a;\n    }\n    uStack_7e4 = (undefined2)uVar7;\n    local_81d = 1;\n    local_794 = (stat64 *)0x17112;\n    psVar38 = local_7d0;\n    uVar16 = uStack_7c4;\n    uVar7 = local_7c0;\n    goto code_r0x000114e8;\n  case 0x42:\n    uVar24 = func_0x00011320(*(undefined4 *)PTR_optarg_0001dffc);\n    if (7 < uVar24) {\n      pr2serr("bad first argument to \'--bmop=\'\n");\n      goto LAB_00011a7a;\n    }\n    uStack_7e8 = (undefined1)uVar24;\n    uVar36 = 0x2c;\n    uVar41 = uVar24;\n    pcVar15 = strchr(*(char **)puVar5,0x2c);\n    psVar38 = local_7d0;\n    uVar16 = uStack_7c4;\n    uVar7 = local_7c0;\n    if (pcVar15 != (char *)0x0) {\n      uVar7 = func_0x00011320(pcVar15 + 1,uVar36,uVar24,uVar41);\n      if (0xf < uVar7) {\n        pr2serr("bad second argument to \'--bmop=\'\n");\n        goto LAB_00011a7a;\n      }\n      uStack_7e7 = (undefined1)uVar7;\n      psVar38 = local_7d0;\n      uVar16 = uStack_7c4;\n      uVar7 = local_7c0;\n    }\n    goto code_r0x000114e8;\n  case 0x44:\n    uStack_80c = func_0x00011320(*(undefined4 *)PTR_optarg_0001dffc);\n    psVar38 = local_7d0;\n    uVar16 = uStack_7c4;\n    uVar7 = local_7c0;\n    if (7 < uStack_80c) {\n      pr2serr("bad argument to \'--dld=\', expect 0 to 7 inclusive\n");\n      goto LAB_00011a7a;\n    }\n    goto code_r0x000114e8;\n  case 0x47:\n    uVar33 = sg_get_llnum(*(undefined4 *)PTR_optarg_0001dffc);\n    uVar36 = (undefined4)uVar33;\n    if ((int)((ulonglong)uVar33 >> 0x20) != 0) {\n      pr2serr("bad first argument to \'--generation=\'\n");\n      goto LAB_00011a7a;\n    }\n    uVar37 = 0x2c;\n    uVar40 = uVar36;\n    uStack_7c8 = uVar36;\n    pcVar15 = strchr(*(char **)puVar5,0x2c);\n    if (pcVar15 == (char *)0x0) {\n      pr2serr("need two arguments with --generation=EOG,NOG and they must be comma separated\n",\n              uVar37,uVar36,uVar40);\n      goto LAB_00011a7a;\n    }\n    uVar33 = sg_get_llnum(pcVar15 + 1);\n    psVar38 = local_7d0;\n    uVar16 = (int)uVar33;\n    uVar7 = local_7c0;\n    if ((int)((ulonglong)uVar33 >> 0x20) != 0) {\n      pr2serr("bad second argument to \'--generation=\'\n",uVar37,uVar36,uVar40);\n      goto LAB_00011a7a;\n    }\n    goto code_r0x000114e8;\n  case 0x49:\n    local_7f4 = func_0x00011320(*(undefined4 *)PTR_optarg_0001dffc);\n    psVar38 = local_7d0;\n    uVar16 = uStack_7c4;\n    uVar7 = local_7c0;\n    if (local_7f4 < 0) {\n      pr2serr("bad argument to \'--timeout=\'\n");\n      goto LAB_00011a7a;\n    }\n    goto code_r0x000114e8;\n  case 0x4d:\n    uVar7 = func_0x00011320(*(undefined4 *)PTR_optarg_0001dffc);\n    if (1 < uVar7) {\n      pr2serr("bad argument to \'--same\', expect 0 or 1\n");\n      goto LAB_00011a7a;\n    }\n    local_810 = (byte)uVar7 & 1;\n    local_818 = 1;\n    local_794 = (stat64 *)0x17159;\n    psVar38 = local_7d0;\n    uVar16 = uStack_7c4;\n    uVar7 = local_7c0;\n    goto code_r0x000114e8;\n  case 0x4e:\n    local_814 = 1;\n    local_794 = (stat64 *)0x17164;\n    goto code_r0x000114e8;\n  case 0x4f:\n    local_81b = 1;\n    local_794 = (stat64 *)0x1716a;\n    goto code_r0x000114e8;\n  case 0x51:\n    local_81a = '\x01';\n    goto code_r0x000114e8;\n  case 0x52:\n    local_819 = '\x01';\n    goto code_r0x000114e8;\n  case 0x53:\n    uVar7 = func_0x00011320(*(undefined4 *)PTR_optarg_0001dffc);\n    if (0xffff < uVar7) {\n      pr2serr("bad argument to \'--scattered=\'. Expect 0 to 0xffff inclusive\n");\n      goto LAB_00011a7a;\n    }\n    local_7e0 = (ushort)uVar7;\n    local_794 = (stat64 *)0x17172;\n    local_817 = 1;\n    psVar38 = local_7d0;\n    uVar16 = uStack_7c4;\n    uVar7 = local_7c0;\n    goto code_r0x000114e8;\n  case 0x54:\n    uVar7 = func_0x00011320(*(undefined4 *)PTR_optarg_0001dffc);\n    if (0xffff < uVar7) {\n      pr2serr("bad argument to \'--stream=\', expect 0 to 65535\n");\n      goto LAB_00011a7a;\n    }\n    uStack_7de = (undefined2)uVar7;\n    local_794 = (stat64 *)0x17182;\n    local_816 = 1;\n    psVar38 = local_7d0;\n    uVar16 = uStack_7c4;\n    uVar7 = local_7c0;\n    goto code_r0x000114e8;\n  case 0x56:\n    local_80e = '\x01';\n    goto code_r0x000114e8;\n  case 0x61:\n    uVar7 = func_0x00011320(*(undefined4 *)PTR_optarg_0001dffc);\n    if (0xffff < uVar7) {\n      pr2serr("bad argument to \'--app-tag=\'. Expect 0 to 0xffff inclusive\n");\n      goto LAB_00011a7a;\n    }\n    local_7e6 = (ushort)uVar7;\n    psVar38 = local_7d0;\n    uVar16 = uStack_7c4;\n    uVar7 = local_7c0;\n    goto code_r0x000114e8;\n  case 0x62:\n    psVar17 = (stat64 *)func_0x00011320(*(undefined4 *)PTR_optarg_0001dffc);\n    if ((stat64 *)0x10000000 < psVar17) {\n      pr2serr("bad argument to \'--bs=\'. Expect 0 or greater\n");\n      goto LAB_00011a7a;\n    }\n    if (psVar17 == (stat64 *)0x0) {\n      local_7d8 = (stat64 *)0x0;\n      local_7d4 = (stat64 *)0x0;\n      psVar38 = local_7d0;\n      uVar16 = uStack_7c4;\n      uVar7 = local_7c0;\n    }\n    else {\n      if ((int)psVar17 < 0x200) {\n        pr2serr("warning: --bs=BS value is < 512 which seems too small, continue\n");\n        bVar1 = 1;\n      }\n      if (((uint)psVar17 & 7) != 0) {\n        pr2serr("warning: --bs=BS value is not a multiple of 8, unexpected, continue\n");\n        bVar1 = 1;\n      }\n      iVar21 = 0;\n      iVar10 = 0;\n      psVar38 = psVar17;\n      do {\n        if (((uint)psVar38 & 1) != 0) {\n          iVar21 = iVar10;\n        }\n        iVar10 = iVar10 + 1;\n        psVar38 = (stat64 *)((int)psVar38 >> 1);\n      } while (iVar10 != 0x1c);\n      psVar22 = (stat64 *)(1 << ((byte)iVar21 & 0x1f));\n      local_7d8 = psVar17;\n      local_7d4 = psVar17;\n      psVar38 = local_7d0;\n      uVar16 = uStack_7c4;\n      uVar7 = local_7c0;\n      if (psVar17 != psVar22) {\n        local_7d8 = psVar22;\n      }\n    }\n    goto code_r0x000114e8;\n  case 99:\n    iVar21 = func_0x00011320(*(undefined4 *)PTR_optarg_0001dffc);\n    if (iVar21 < 0) {\n      pr2serr("bad argument to \'--combined=\'. Expect 0 to 0x7fffffff\n");\n      goto LAB_00011a7a;\n    }\n    local_7e2 = (ushort)iVar21;\n    local_81c = '\x01';\n    psVar38 = local_7d0;\n    uVar16 = uStack_7c4;\n    uVar7 = local_7c0;\n    goto code_r0x000114e8;\n  case 100:\n    uStack_812 = 1;\n    goto code_r0x000114e8;\n  case 0x66:\n    uStack_811 = 1;\n    goto code_r0x000114e8;\n  case 0x67:\n    uStack_804 = func_0x00011320(*(undefined4 *)PTR_optarg_0001dffc);\n    psVar38 = local_7d0;\n    uVar16 = uStack_7c4;\n    uVar7 = local_7c0;\n    if (0x3f < uStack_804) {\n      pr2serr("bad argument to \'--grpnum\'\n");\n      goto LAB_00011a7a;\n    }\n    goto code_r0x000114e8;\n  case 0x68:\n    local_800 = local_800 + 1;\n    goto code_r0x000114e8;\n  case 0x69:\n    local_79c = *(char **)PTR_optarg_0001dffc;\n    goto code_r0x000114e8;\n  case 0x6c:\n    if (local_91c != (stat64 *)0x0) {\n      pr2serr("only expect \'--lba=\' option once\n");\n      goto LAB_00011a7a;\n    }\n    local_91c = *(stat64 **)PTR_optarg_0001dffc;\n    goto code_r0x000114e8;\n  case 0x6e:\n    if (local_918 != (stat64 *)0x0) {\n      pr2serr("only expect \'--num=\' option once\n");\n      goto LAB_00011a7a;\n    }\n    local_918 = *(stat64 **)PTR_optarg_0001dffc;\n    goto code_r0x000114e8;\n  case 0x6f:\n    lVar34 = sg_get_llnum(*(undefined4 *)PTR_optarg_0001dffc);\n    psVar17 = (stat64 *)lVar34;\n    if (lVar34 == -1) {\n      pr2serr("bad first argument to \'--offset=\'\n");\n      goto LAB_00011a7a;\n    }\n    uVar36 = 0x2c;\n    psVar22 = psVar17;\n    local_7b4 = psVar17;\n    local_7b0 = (stat64 *)((ulonglong)lVar34 >> 0x20);\n    pcVar15 = strchr(*(char **)puVar5,0x2c);\n    psVar38 = local_7d0;\n    uVar16 = uStack_7c4;\n    uVar7 = local_7c0;\n    if (pcVar15 != (char *)0x0) {\n      lVar34 = sg_get_llnum(pcVar15 + 1,uVar36,psVar17,psVar22);\n      psVar38 = (stat64 *)lVar34;\n      uVar16 = uStack_7c4;\n      uVar7 = local_7c0;\n      if ((int)((ulonglong)lVar34 >> 0x20) == -1) {\n        if (psVar38 == (stat64 *)0xffffffff) {\n          pr2serr("bad second argument to \'--offset=\'\n");\n          goto LAB_00011a7a;\n        }\n      }\n      else if (0xffffffff < lVar34) {\n        pr2serr("bad second argument to \'--offset=\', cannot exceed 32 bits\n");\n        goto LAB_00011a7a;\n      }\n    }\n    goto code_r0x000114e8;\n  case 0x71:\n    local_798 = *(char **)PTR_optarg_0001dffc;\n    goto code_r0x000114e8;\n  case 0x72:\n    goto code_r0x000115f1;\n  case 0x73:\n    local_7f8 = local_7f8 + 1;\n    goto code_r0x000114e8;\n  case 0x74:\n    uVar7 = func_0x00011320(*(undefined4 *)PTR_optarg_0001dffc);\n    if (0xffff < uVar7) {\n      pr2serr("bad argument to \'--tag-mask=\'. Expect 0 to 0xffff inclusive\n");\n      goto LAB_00011a7a;\n    }\n    local_7dc = (ushort)uVar7;\n    psVar38 = local_7d0;\n    uVar16 = uStack_7c4;\n    uVar7 = local_7c0;\n    goto code_r0x000114e8;\n  case 0x75:\n    uVar7 = func_0x00011320(*(undefined4 *)puVar20);\n    if (3 < uVar7) {\n      pr2serr("bad argument to \'--unmap=\', expect 0 to 3\n");\n      goto LAB_00011a7a;\n    }\n    bStack_81e = (byte)(uVar7 >> 1) & 1;\n    bStack_815 = (byte)uVar7 & 1;\n    psVar38 = local_7d0;\n    uVar16 = uStack_7c4;\n    uVar7 = local_7c0;\n    goto code_r0x000114e8;\n  case 0x76:\n    local_80f = '\x01';\n    local_7f0 = (stat64 *)((int)&local_7f0->st_dev + 1);\n    goto code_r0x000114e8;\n  case 0x77:\n    local_7ec = (stat64 *)func_0x00011320(*(undefined4 *)puVar20);\n    if ((stat64 *)0x7 < local_7ec) {\n      pr2serr("bad argument to \'--wrprotect\'\n");\n      goto LAB_00011a7a;\n    }\n    local_813 = 0 < (int)local_7ec;\n    psVar38 = local_7d0;\n    uVar16 = uStack_7c4;\n    uVar7 = local_7c0;\n    goto code_r0x000114e8;\n  case 0x78:\n    iStack_808 = iStack_808 + 1;\n    goto code_r0x000114e8;\n  }\n  pr2serr(pcVar15);\n  FUN_000149b0();\n  goto LAB_00011a7a;\nLAB_00011c60:\n  while (*(int *)puVar4 < iVar14) {\n    pr2serr("Unexpected extra argument: %s\n",*(undefined4 *)(iVar28 + *(int *)puVar4 * 4),iVar10,\n            iVar10);\n    *(int *)puVar4 = *(int *)puVar4 + 1;\n    iVar10 = extraout_EDX;\n  }\n  FUN_000149b0();\n  local_908 = (stat64 *)0x1;\n  goto LAB_00011a84;\n  while( true ) {\n    iVar14 = iVar14 + -1;\n    cVar6 = *pcVar15;\n    pcVar15 = pcVar15 + (uint)bVar32 * -2 + 1;\n    if (cVar6 == '\0') break;\ncode_r0x00011d5c:\n    if (iVar14 == 0) break;\n  }\n  if ((iVar14 == -3) && (*local_798 == '-')) {\n    pr2serr("don\'t accept \'-\' (implying stdin) as a filename in --scat-file=SF\n");\n    local_908 = (stat64 *)0x1f;\n    goto LAB_00011a84;\n  }\nLAB_00011d67:\n  if (((psVar38 != (stat64 *)0x0) && (local_820 != '\0')) &&\n     ((local_7c0 != 0xffffffff || ((local_7e6 & local_7dc) != 0xffff)))) {\n    pr2serr("--app-tag=, --ref-tag= and --tag-mask= options ignored with 16 byte commands\n");\n  }\n  psVar45 = local_7d0;\n  psVar9 = (stat64 *)(uint)local_810;\n  if (local_810 == 0) {\n    local_93c = local_7d0;\n    cVar2 = '\0';\n    if (local_79c == (char *)0x0) {\n      pr2serr("Need --if=FN option to be given, exiting.\n");\n      if (1 < (int)psVar38) {\n        pr2serr("To write zeros use --in=/dev/zero\n");\n      }\n      pr2serr("\n");\n      FUN_000149b0();\n      local_908 = (stat64 *)0x1;\n      goto LAB_00011a84;\n    }\n    iVar14 = -1;\n    pcVar15 = local_79c;\n    do {\n      if (iVar14 == 0) break;\n      iVar14 = iVar14 + -1;\n      cVar6 = *pcVar15;\n      pcVar15 = pcVar15 + (uint)bVar32 * -2 + 1;\n    } while (cVar6 != '\0');\n    if ((iVar14 != -3) || (*local_79c != '-')) {\n      local_924 = (stat64 *)open64(local_79c,0,iVar14,iVar14);\n      if ((int)local_924 < 0) {\n        piVar19 = __errno_location();\n        iVar14 = *piVar19;\n        pcVar15 = "could not open %s for reading";\n      }\n      else {\n        psVar17 = (stat64 *)sg_set_binary_mode(local_924);\n        if ((int)psVar17 < 0) goto LAB_00011dea;\n        psVar22 = local_924;\n        psVar8 = local_930;\n        iVar14 = __fxstat64(3,(int)local_924,local_930);\n        if (-1 < iVar14) {\n          if ((local_8e0._16_4_ & 0xf000) == 0x8000) {\n            local_93c = (stat64 *)local_8e0._44_4_;\n            if (psVar45 != (stat64 *)0x0) {\n              local_93c = psVar45;\n            }\n            if ((local_8b0 != 0 || (stat64 *)local_8e0._44_4_ != (stat64 *)0x0) &&\n               (psVar25 = (stat64 *)((int)&((stat64 *)(local_8e0._44_4_ + -0x60))->st_ino + 7),\n               iVar28 = local_8b0 + -1 + (uint)((stat64 *)local_8e0._44_4_ != (stat64 *)0x0),\n               iVar14 = (int)local_7b0 - iVar28,\n               (SBORROW4((int)local_7b0,iVar28) != SBORROW4(iVar14,(uint)(local_7b4 < psVar25))) ==\n               (int)(iVar14 - (uint)(local_7b4 < psVar25)) < 0)) {\n              pr2serr("Offset (%llu) is at or beyond IF byte length (%llu)\n",local_7b4,local_7b0,\n                      local_8e0._44_4_,local_8b0,psVar22,psVar8,psVar17);\n              local_908 = (stat64 *)0xf;\n              goto LAB_00012527;\n            }\n            psVar9 = local_7b4;\n            psVar45 = (stat64 *)local_8e0._44_4_;\n            iVar14 = local_8b0;\n            if (local_7b0 != (stat64 *)0x0 || local_7b4 != (stat64 *)0x0) {\n              psVar17 = (stat64 *)0x0;\n              psVar22 = local_7b4;\n              psVar8 = local_7b0;\n              _Var35 = lseek64((int)local_924,CONCAT44(local_7b0,local_7b4),0);\n              psVar25 = local_7b4;\n              if (_Var35 < 0) {\n                piVar19 = __errno_location();\n                psVar25 = (stat64 *)(local_174 + 0x50);\n                iVar14 = *piVar19;\n                __snprintf_chk(psVar25,0x100,1,0x100,"couldn\'t offset to required position on %s",\n                               local_79c,piVar19,piVar19);\n                perror((char *)psVar25);\n                local_908 = (stat64 *)sg_convert_errno(iVar14);\n                goto LAB_00012527;\n              }\n              psVar9 = (stat64 *)((int)psVar45 - (int)local_7b4);\n              iVar14 = (local_8b0 - (int)local_7b0) - (uint)(psVar45 < local_7b4);\n              local_930 = psVar45;\n              if ((int)(uint)(psVar9 != (stat64 *)0x0) <= -iVar14) {\n                pr2serr("--offset [0x%llx] at or beyond file length[0x%llx]\n",local_7b4,local_7b0,\n                        psVar45,local_8b0);\n                local_908 = (stat64 *)0xf;\n                goto LAB_00012527;\n              }\n              if ((local_7f8 != 0) &&\n                 (local_930 = local_7d0, iVar14 < (int)(uint)(psVar9 < local_7d0))) {\n                pr2serr("after accounting for OFF, DLEN exceeds %s remaining length (%u bytes)\n",\n                        local_79c,psVar9,psVar9);\n                local_908 = (stat64 *)0xf;\n                psVar25 = psVar9;\n                goto LAB_00012527;\n              }\n              if (iVar14 < (int)(uint)(psVar9 < local_93c)) {\n                local_93c = psVar9;\n              }\n              psVar45 = psVar9;\n              if (2 < (int)psVar38) {\n                psVar22 = local_7b4;\n                psVar8 = local_93c;\n                psVar17 = psVar9;\n                psVar9 = (stat64 *)\n                         pr2serr("Moved IF byte pointer to %u, if_len=%u, if_readable_len=%u\n",\n                                 local_7b4,local_93c,psVar9);\n              }\n            }\n            goto LAB_00011fa8;\n          }\n          goto LAB_00011e6c;\n        }\n        piVar19 = __errno_location();\n        iVar14 = *piVar19;\n        pcVar15 = "could not fstat %s";\n      }\n      __snprintf_chk(local_174 + 0x50,0x100,1,0x100,pcVar15,local_79c,piVar19,piVar19);\n      perror(local_174 + 0x50);\n      local_908 = (stat64 *)sg_convert_errno(iVar14);\n      goto LAB_00011a84;\n    }\n    iVar14 = sg_set_binary_mode(0);\n    cVar2 = '\x01';\n    local_924 = (stat64 *)0x0;\n    if (iVar14 < 0) {\nLAB_00011dea:\n      perror("sg_set_binary_mode");\n      local_908 = (stat64 *)0xf;\n      goto LAB_00011a84;\n    }\nLAB_00011e6c:\n    if (((stat64 *)((uint)local_7b0 | (uint)local_7b4) == (stat64 *)0x0) ||\n       (psVar38 == (stat64 *)0x0)) {\n      psVar9 = (stat64 *)((uint)local_7b0 | (uint)local_7b4);\n      psVar45 = (stat64 *)0x0;\n      iVar14 = 0;\n    }\n    else {\n      psVar9 = (stat64 *)\n               pr2serr(\n                      "--offset=OFF ignored when IF is stdin, pipe, socket, etc\nDLEN, if given, is used\n"\n                      );\n      psVar45 = (stat64 *)0x0;\n      iVar14 = 0;\n    }\n  }\n  else {\n    local_924 = (stat64 *)0xffffffff;\n    cVar2 = '\0';\n    psVar45 = (stat64 *)0x0;\n    iVar14 = 0;\n    local_93c = (stat64 *)0x0;\n  }\nLAB_00011fa8:\n  if (local_7a0 == (stat64 *)0x0) {\n    pr2serr("missing device name!\n",psVar22,psVar8,psVar17);\n    FUN_000149b0();\n    local_908 = (stat64 *)0x1;\n    psVar25 = (stat64 *)0x0;\nLAB_00012527:\n    if (local_8f0 == (void *)0x0) goto LAB_000123a1;\n    free(local_8f0);\n    goto LAB_000123a1;\n  }\n  pcVar15 = (char *)0x0;\n  psVar17 = psVar38;\n  uVar33 = sg_cmds_open_device(local_7a0,0,psVar38,psVar9);\n  psVar25 = local_7d8;\n  psVar22 = (stat64 *)((ulonglong)uVar33 >> 0x20);\n  local_930 = (stat64 *)uVar33;\n  if ((int)local_930 < 0) {\n    psVar25 = (stat64 *)-(int)local_930;\n    if (local_7f0 != (stat64 *)0x0) {\n      uVar16 = safe_strerror(psVar25);\n      pr2serr("open error: %s: %s\n",local_7a0,uVar16);\n    }\n    local_908 = (stat64 *)sg_convert_errno(psVar25);\n    goto LAB_00012527;\n  }\n  psVar8 = local_7d4;\n  psVar11 = local_7d4;\n  if (local_7d8 == (stat64 *)0x0) {\n    psVar17 = (stat64 *)0x0;\n    if (local_7f0 != (stat64 *)0x0) {\n      psVar17 = (stat64 *)((int)&local_7f0[-1].st_ino + 7);\n    }\n    psVar22 = (stat64 *)local_174;\n    psVar11 = (stat64 *)0x1;\n    pcVar15 = (char *)0x20;\n    psVar9 = psVar17;\n    psVar8 = local_7f0;\n    uVar33 = sg_ll_readcap_16(local_930,0,0,0,psVar22,0x20,1,psVar17,psVar22,local_7f0,psVar45,\n                              iVar14);\n    if ((int)uVar33 == 6) {\n      pr2serr("Read capacity(16) unit attention, try again\n");\n      uVar33 = sg_ll_readcap_16(local_930,0,0,0,psVar22,0x20,1,psVar17);\n    }\n    psVar23 = (stat64 *)((ulonglong)uVar33 >> 0x20);\n    local_908 = (stat64 *)uVar33;\n    if (local_908 == (stat64 *)0x0) {\n      psVar17 = psVar11;\n      if (3 < (int)psVar8) {\n        pr2serr("Read capacity(16) response:\n");\n        psVar17 = (stat64 *)0x1;\n        pcVar15 = (char *)0x20;\n        hex2stderr(psVar22,0x20,1);\n      }\n      bVar1 = local_174[0xc];\n      psVar11 = (stat64 *)\n                ((uint)local_174._8_4_ >> 0x18 | (local_174._8_4_ & 0xff0000) >> 8 |\n                 (local_174._8_4_ & 0xff00) << 8 | local_174._8_4_ << 0x18);\n      uVar7 = (uint)local_174._4_4_ >> 0x18 | (local_174._4_4_ & 0xff0000) >> 8 |\n              (local_174._4_4_ & 0xff00) << 8 | local_174._4_4_ << 0x18;\n      local_7ac = uVar7 + 1;\n      local_7a8 = ((uint)local_174._0_4_ >> 0x18 | (local_174._0_4_ & 0xff0000) >> 8 |\n                   (local_174._0_4_ & 0xff00) << 8 | local_174._0_4_ << 0x18) +\n                  (uint)(0xfffffffe < uVar7);\n      psVar22 = (stat64 *)(uint)local_174[0xc];\n      local_7d8 = psVar11;\n      if ((local_174[0xc] & 1) == 0) {\n        local_7fc = 0;\n        if ((int)local_7ec < 1) goto LAB_00012305;\n        if (psVar8 != (stat64 *)0x0) {\n          pcVar15 = (char *)local_7ec;\n          psVar22 = local_7a0;\n          pr2serr("--wrprotect (%d) expects PI but %s says it has none\n",local_7ec,local_7a0,\n                  psVar11);\n          if (local_7f8 != 0) goto LAB_00012ef5;\n          pcVar13 = "  ... continue but could be dangerous\n";\n          psVar25 = (stat64 *)0x0;\n          psVar9 = psVar11;\n          goto LAB_00013516;\n        }\n        if (local_7f8 != 0) goto LAB_00012ef5;\n      }\n      else {\n        local_7fc = (local_174[0xc] >> 1 & 7) + 1;\n        psVar25 = (stat64 *)(8 << (local_174[0xd] >> 4));\n        psVar22 = (stat64 *)(uint)(local_174[0xd] >> 4);\n        if (((int)local_7ec < 1) ||\n           (local_7d4 = (stat64 *)((int)&psVar25->st_dev + (int)&psVar11->st_dev), (int)psVar8 < 2))\n        {\nLAB_00012305:\n          if (psVar8 == (stat64 *)0x0) goto LAB_00012312;\n        }\n        else {\n          pcVar13 = \n          "  For data out buffer purposes the effective block size is %u (lb size\n  is %u) because PROT_EN=1, PI_EXP=%u and WRPROTECT>0\n"\n          ;\n          pcVar15 = (char *)psVar11;\n          psVar9 = local_7d4;\nLAB_00013516:\n          pr2serr(pcVar13,pcVar15,psVar22,psVar9);\n          psVar17 = psVar22;\n        }\n        pr2serr("Read capacity(16) response fields:\n",pcVar15,psVar17,psVar9);\n        psVar25 = (stat64 *)((int)&local_7d8->st_dev + (int)&psVar25->st_dev);\n        psVar9 = extraout_ECX_06;\n        pr2serr("  Last_LBA=0x%llx  LB size: %u (with PI: %u) bytes  p_type=%u\n",local_7ac + -1,\n                local_7a8 + -1 + (uint)(local_7ac != 0),local_7d8,psVar25,local_174[0xc] >> 1 & 7,\n                extraout_ECX_06,extraout_ECX_06);\n        pr2serr("  prot_en=%u [PI type=%u] p_i_exp=%u  lbppb_exp=%u  lbpme,rz=%u,",bVar1 & 1,\n                local_7fc,local_174[0xd] >> 4,local_174[0xd] & 0xf,\n                (uint)(int)(char)local_174[0xe] >> 0x1f);\n        psVar17 = (stat64 *)\n                  ((ushort)(local_174._14_2_ << 8 | (ushort)local_174._14_2_ >> 8) & 0x3fff);\n        pcVar15 = (char *)(local_174[0xe] >> 6 & 1);\n        pr2serr("%u  low_ali_lba=%u\n",pcVar15,psVar17);\n        psVar22 = extraout_EDX_04;\n      }\n    }\n    else {\n      if (((int)local_908 - 5U & 0xfffffffb) != 0) {\n        if (psVar8 != (stat64 *)0x0) {\n          puVar43 = local_174 + 0x50;\n          psVar25 = (stat64 *)"OS error";\n          puVar29 = puVar43;\n          for (iVar14 = 9; iVar14 != 0; iVar14 = iVar14 + -1) {\n            *puVar29 = (char)psVar25->st_dev;\n            psVar25 = (stat64 *)((int)psVar25 + (uint)bVar32 * -2 + 1);\n            puVar29 = puVar29 + (uint)bVar32 * -2 + 1;\n          }\n          psVar18 = local_908;\n          if (0 < (int)local_908) {\n            psVar18 = (stat64 *)sg_get_category_sense_str(local_908,0x50,puVar43,psVar8);\n          }\n          pr2serr("Read capacity(16): %s\n",puVar43,psVar18,psVar18);\n          pr2serr("Unable to calculate block size\n");\n        }\n        if (0 < (int)local_908) goto LAB_00012354;\n        goto LAB_00012ef5;\n      }\n      if (psVar8 == (stat64 *)0x0) {\n        pcVar15 = (char *)0x1;\n        uVar33 = sg_ll_readcap_10(local_930,0,0,psVar22,8,1,psVar17,psVar23);\n        psVar22 = (stat64 *)((ulonglong)uVar33 >> 0x20);\n        local_908 = (stat64 *)uVar33;\n        psVar9 = psVar23;\n        if (local_908 != (stat64 *)0x0) {\nLAB_00013444:\n          puVar43 = local_174 + 0x50;\n          psVar25 = (stat64 *)"OS error";\n          puVar29 = puVar43;\n          for (iVar14 = 9; iVar14 != 0; iVar14 = iVar14 + -1) {\n            *puVar29 = (char)psVar25->st_dev;\n            psVar25 = (stat64 *)((int)psVar25 + (uint)bVar32 * -2 + 1);\n            puVar29 = puVar29 + (uint)bVar32 * -2 + 1;\n          }\n          if (0 < (int)local_908) {\n            sg_get_category_sense_str(local_908,0x50,puVar43,psVar8);\n            pr2serr("Read capacity(10): %s\n",puVar43);\n            pr2serr("Unable to calculate block size\n");\n            goto LAB_00012354;\n          }\n          __snprintf_chk(puVar43,0x50,1,0x50,"error: %d",local_908,local_908,local_908);\n          pr2serr("Read capacity(10): %s\n",puVar43);\n          pr2serr("Unable to calculate block size\n");\n          local_908 = (stat64 *)0xf;\n          goto LAB_00012354;\n        }\n      }\n      else {\n        psVar25 = psVar22;\n        pr2serr("Read capacity(16) not supported, try Read capacity(10)\n");\n        pcVar15 = (char *)0x1;\n        uVar33 = sg_ll_readcap_10(local_930,0,0,psVar25,8,1,psVar17);\n        psVar22 = (stat64 *)((ulonglong)uVar33 >> 0x20);\n        local_908 = (stat64 *)uVar33;\n        if (local_908 != (stat64 *)0x0) goto LAB_00013444;\n        if (3 < (int)psVar8) {\n          pr2serr("Read capacity(10) response:\n");\n          psVar17 = (stat64 *)0x1;\n          pcVar15 = (char *)0x8;\n          hex2stderr(psVar25,8,1);\n          psVar22 = extraout_EDX_03;\n        }\n      }\n      local_7a8 = 0;\n      local_7ac = ((uint)local_174._0_4_ >> 0x18 | (local_174._0_4_ & 0xff0000) >> 8 |\n                   (local_174._0_4_ & 0xff00) << 8 | local_174._0_4_ << 0x18) + 1;\n      local_7d8 = (stat64 *)\n                  ((uint)local_174._4_4_ >> 0x18 | (local_174._4_4_ & 0xff0000) >> 8 |\n                   (local_174._4_4_ & 0xff00) << 8 | local_174._4_4_ << 0x18);\n    }\nLAB_00012312:\n    local_7d4 = local_7d8;\n    if (local_813 != '\0') {\n      local_7d4 = (stat64 *)&local_7d8->__pad1;\n    }\n    psVar8 = local_7d4;\n    psVar11 = local_7d8;\n    if (local_7d4 == (stat64 *)0x0) goto LAB_00012338;\n  }\n  local_7d4 = psVar8;\n  if (psVar11 == (stat64 *)0x0) {\nLAB_00012338:\n    pr2serr("Logic error, need block size by now\n",pcVar15,psVar17);\n    local_908 = (stat64 *)0x1;\n    goto LAB_00012354;\n  }\n  if ((local_810 == 0) &&\n     (psVar22 = (stat64 *)((uint)local_93c % (uint)psVar8), psVar22 != (stat64 *)0x0)) {\n    if (1 < (int)local_7f8) {\n      pr2serr("Error: number of bytes to read from IF [%u] is not a multiple\nblock size %u (including protection information)\n"\n              ,local_93c,psVar8,local_7f8);\n      local_908 = (stat64 *)0xf;\n      goto LAB_00012354;\n    }\n    psVar11 = (stat64 *)(local_7f8 | (uint)psVar38);\n    if (psVar11 != (stat64 *)0x0) {\n      pcVar15 = (char *)local_93c;\n      pr2serr("Warning: number of bytes to read from IF [%u] is not a multiple\nof actual block size %u; pad with zeros\n"\n              ,local_93c,psVar8,psVar11);\n      psVar22 = extraout_EDX_02;\n      psVar17 = psVar8;\n      psVar9 = psVar11;\n    }\n  }\n  puVar42 = &local_578;\n  puVar26 = puVar42;\n  for (iVar14 = 0x100; iVar14 != 0; iVar14 = iVar14 + -1) {\n    *puVar26 = 0;\n    puVar26 = puVar26 + (uint)bVar32 * -2 + 1;\n  }\n  ppsVar44 = local_778;\n  ppsVar27 = ppsVar44;\n  for (iVar14 = 0x80; iVar14 != 0; iVar14 = iVar14 + -1) {\n    *ppsVar27 = (stat64 *)0x0;\n    ppsVar27 = ppsVar27 + (uint)bVar32 * -2 + 1;\n  }\n  if (bVar31) {\n    uVar7 = 0xffffffff;\n    psVar22 = local_91c;\n    do {\n      if (uVar7 == 0) break;\n      uVar7 = uVar7 - 1;\n      p_Var3 = &psVar22->st_dev;\n      psVar22 = (stat64 *)((int)psVar22 + (uint)bVar32 * -2 + 1);\n    } while ((char)*p_Var3 != '\0');\n    psVar25 = (stat64 *)(~uVar7 - 1);\n    if ((char)local_91c->st_dev == '-') {\n      pr2serr("\'--lba\' cannot be read from stdin\n",pcVar15,psVar17,psVar9);\n      goto LAB_00012130;\n    }\n    pcVar15 = "0123456789aAbBcCdDeEfFhHxXiIkKmMgGtTpP, ";\n    psVar17 = local_91c;\n    psVar9 = local_91c;\n    psVar8 = (stat64 *)strspn((char *)local_91c,"0123456789aAbBcCdDeEfFhHxXiIkKmMgGtTpP, ");\n    psVar22 = psVar25;\n    if (psVar25 == psVar8) {\n      psVar22 = (stat64 *)0x0;\n      psVar25 = local_91c;\n      while( true ) {\n        lVar34 = sg_get_llnum(psVar25,pcVar15,psVar17,psVar9);\n        psVar17 = (stat64 *)lVar34;\n        if (lVar34 == -1) break;\n        puVar42[(int)psVar22 * 2] = (uint)psVar17;\n        puVar42[(int)psVar22 * 2 + 1] = (uint)((ulonglong)lVar34 >> 0x20);\n        psVar9 = psVar17;\n        pcVar12 = strchr((char *)psVar25,0x2c);\n        pcVar15 = (char *)0x20;\n        pcVar13 = strchr((char *)psVar25,0x20);\n        if (pcVar12 == (char *)0x0) {\n          if (pcVar13 == (char *)0x0) {\n            local_91c = (stat64 *)((int)&psVar22->st_dev + 1);\n            if (local_93f != '\0') goto LAB_000126fa;\n            psVar22 = (stat64 *)0x0;\n            psVar17 = extraout_ECX;\n            if (local_91c != (stat64 *)0x1) goto LAB_00012a73;\n            goto LAB_00012820;\n          }\n        }\n        else if ((pcVar13 == (char *)0x0) || (pcVar12 <= pcVar13)) {\n          pcVar13 = pcVar12;\n        }\n        psVar22 = (stat64 *)((int)&psVar22->st_dev + 1);\n        psVar25 = (stat64 *)(pcVar13 + 1);\n        if (psVar22 == (stat64 *)0x80) goto LAB_00013b9f;\n      }\n      psVar8 = (stat64 *)((int)psVar25 - (int)local_91c);\n    }\n    pr2serr("build_lba_arr: error at pos %d\n",(undefined *)((int)&psVar8->st_dev + 1),psVar22,\n            psVar22);\n    goto LAB_00012130;\n  }\n  local_91c = (stat64 *)0x0;\n  if (bVar30) {\nLAB_000126fa:\n    psVar8 = (stat64 *)0xffffffff;\n    psVar22 = local_918;\n    do {\n      if (psVar8 == (stat64 *)0x0) break;\n      psVar8 = (stat64 *)((int)&psVar8[-1].st_ino + 7);\n      p_Var3 = &psVar22->st_dev;\n      psVar22 = (stat64 *)((int)psVar22 + (uint)bVar32 * -2 + 1);\n    } while ((char)*p_Var3 != '\0');\n    psVar25 = (stat64 *)(~(uint)psVar8 - 1);\n    if ((char)local_918->st_dev == '-') {\n      pr2serr("\'--len\' cannot be read from stdin\n");\n    }\n    else {\n      pcVar15 = "0123456789aAbBcCdDeEfFhHxXiIkKmMgGtTpP, ";\n      psVar17 = psVar8;\n      psVar22 = (stat64 *)strspn((char *)local_918,"0123456789aAbBcCdDeEfFhHxXiIkKmMgGtTpP, ");\n      psVar9 = extraout_EDX_00;\n      if (psVar25 == psVar22) {\n        psVar9 = (stat64 *)0x0;\n        psVar25 = local_918;\n        do {\n          lVar34 = sg_get_llnum(psVar25,pcVar15,psVar8,psVar17);\n          psVar8 = (stat64 *)lVar34;\n          if ((int)((ulonglong)lVar34 >> 0x20) == -1) {\n            if (psVar8 == (stat64 *)0xffffffff) {\n              psVar22 = (stat64 *)((int)psVar25 - (int)local_918);\n              goto LAB_000127bf;\n            }\n          }\n          else if (0xffffffff < lVar34) {\n            psVar17 = (stat64 *)((int)psVar25 + (1 - (int)local_918));\n            pcVar15 = "build_num_arr";\n            pr2serr("%s: number exceeds 32 bits at pos %d\n","build_num_arr",psVar17,psVar9);\n            goto LAB_000127d9;\n          }\n          ppsVar44[(int)psVar9] = psVar8;\n          psVar17 = psVar8;\n          pcVar12 = strchr((char *)psVar25,0x2c);\n          pcVar15 = (char *)0x20;\n          pcVar13 = strchr((char *)psVar25,0x20);\n          if (pcVar12 == (char *)0x0) {\n            if (pcVar13 == (char *)0x0) {\n              puVar20 = (undefined *)((int)&psVar9->st_dev + 1);\n              psVar22 = (stat64 *)0x0;\n              psVar17 = extraout_ECX_00;\n              if ((undefined *)0x1 < local_91c) {\n                if ((stat64 *)puVar20 == local_91c) goto LAB_00012820;\n                goto LAB_00012a73;\n              }\n              if (local_91c == (stat64 *)0x0) {\n                if (puVar20 != (undefined *)0x1) {\nLAB_00012a73:\n                  pr2serr("need same number of arguments to \'--lba=\' and \'--num=\' options\n");\n                  local_908 = (stat64 *)0x1f;\n                  goto LAB_00012354;\n                }\n                local_91c = (stat64 *)(undefined *)0x1;\n                if (local_778[0] != (stat64 *)0x0) {\n                  pr2serr("won\'t write %u blocks without an explicit --lba= option\n",local_778[0],\n                          extraout_ECX_00,extraout_ECX_00);\n                  local_908 = (stat64 *)0x1;\n                  goto LAB_00012354;\n                }\n              }\n              else {\n                local_91c = (stat64 *)(undefined *)0x1;\n              }\n              goto LAB_00012820;\n            }\n          }\n          else if ((pcVar13 == (char *)0x0) || (pcVar12 <= pcVar13)) {\n            pcVar13 = pcVar12;\n          }\n          psVar9 = (stat64 *)((int)&psVar9->st_dev + 1);\n          psVar25 = (stat64 *)(pcVar13 + 1);\n        } while (psVar9 != (stat64 *)0x80);\n        pcVar15 = "build_num_arr";\n        psVar17 = extraout_ECX_00;\n        psVar9 = extraout_ECX_00;\n        pr2serr("%s: array length exceeded\n","build_num_arr",extraout_ECX_00,extraout_ECX_00);\n      }\n      else {\nLAB_000127bf:\n        psVar17 = (stat64 *)((int)&psVar22->st_dev + 1);\n        pcVar15 = "build_num_arr";\n        pr2serr("%s: error at pos %d\n","build_num_arr",psVar17,psVar9);\n      }\n    }\nLAB_000127d9:\n    pr2serr("bad argument to \'--num\'\n",pcVar15,psVar17,psVar9);\n    local_908 = (stat64 *)0x0;\n    goto LAB_00012354;\n  }\n  psVar17 = (stat64 *)0x0;\n  local_91c = (stat64 *)(undefined *)0x0;\nLAB_00012820:\n  if (local_798 == (char *)0x0) {\nLAB_00012ce5:\n    local_908 = (stat64 *)0x0;\n    local_880._44_4_ = psVar25;\n  }\n  else {\n    pcVar15 = local_798;\n    iVar14 = __xstat64(3,local_798,psVar18);\n    if (iVar14 < 0) {\n      piVar19 = __errno_location();\n      psVar25 = (stat64 *)*piVar19;\n      uVar16 = safe_strerror(psVar25);\n      pcVar15 = "Unable to stat(%s) as SF: %s\n";\nLAB_000136f9:\n      pr2serr(pcVar15,local_798,uVar16);\n      local_908 = (stat64 *)sg_convert_errno(psVar25);\n      goto LAB_00012354;\n    }\n    if (local_819 == '\0') {\n      iVar14 = 0;\n      if (local_7e0 != 0) {\n        iVar14 = (local_7e0 + 1) * 0x20;\n      }\n      local_908 = (stat64 *)FUN_000156d0(0,&local_8f8,&local_8f4,iVar14);\n      if (local_908 != (stat64 *)0x0) goto LAB_00012354;\n      psVar17 = extraout_ECX_04;\n      if ((local_7e0 != 0) && (local_7e0 != local_8f8)) {\n        if (local_8f8 < local_7e0) {\n          pr2serr("RD (%u) %s number of %ss (%u) found in SF\n",local_7e0,&DAT_000170dd,\n                  "LBA range descriptor",local_8f8);\n          local_908 = (stat64 *)0xf;\n          goto LAB_00012354;\n        }\n        psVar25 = (stat64 *)((uint)psVar38 | local_7f8);\n        if ((psVar25 != (stat64 *)0x0) &&\n           (pr2serr("RD (%u) %s number of %ss (%u) found in SF\n",local_7e0,&DAT_00017110,\n                    "LBA range descriptor",local_8f8), psVar17 = extraout_ECX_01, local_7f8 != 0))\n        goto LAB_00012ef5;\n      }\n      goto LAB_00012ce5;\n    }\n    if ((local_880._16_4_ & 0xf000) != 0x8000) {\n      pr2serr("Expect scatter file to be a regular file\n",pcVar15,psVar18,psVar22);\n      local_908 = (stat64 *)0xf;\n      goto LAB_00012354;\n    }\n    local_908 = (stat64 *)local_880._44_4_;\n    local_920 = (stat64 *)open64(local_798,0,0x8000,0x8000);\n    if ((int)local_920 < 0) {\n      piVar19 = __errno_location();\n      psVar25 = (stat64 *)*piVar19;\n      uVar16 = safe_strerror(psVar25);\n      pcVar15 = "Failed to open %s for raw read: %s\n";\n      goto LAB_000136f9;\n    }\n    iVar14 = sg_set_binary_mode(local_920);\n    psVar17 = extraout_ECX_05;\n    if (iVar14 < 0) {\n      perror("sg_set_binary_mode");\n      local_908 = (stat64 *)0xf;\n      psVar25 = (stat64 *)local_880._44_4_;\n      goto LAB_00012354;\n    }\n  }\n  psVar18 = local_7f0;\n  psVar25 = local_8f4;\n  if (local_817 == 0) {\n    if (local_91c == (stat64 *)0x0) {\n      psVar25 = (stat64 *)local_880._44_4_;\n      if (local_798 == (char *)0x0) {\n        if (local_819 == '\0') {\n          pr2serr("No LBA or number_of_blocks given, try using --lba= and --num=\n");\n          local_908 = (stat64 *)0x1;\n          goto LAB_00012354;\n        }\n      }\n      else if (local_819 == '\0') {\n        local_8f4 = (stat64 *)0x0;\n        uVar33 = FUN_000156d0(local_174 + 0x50,&local_8f8,&local_8f4,0x60);\n        uVar16 = (undefined4)((ulonglong)uVar33 >> 0x20);\n        local_908 = (stat64 *)uVar33;\n        if (local_908 != (stat64 *)0x0) goto LAB_00012354;\n        if (psVar38 != (stat64 *)0x0) {\n          uVar7 = (uint)local_8f8;\n          if (1 < local_8f8) {\n            uVar7 = pr2serr("warning: %d LBA,number_of_blocks pairs found, only taking first\n",\n                            uVar7,uVar16,uVar16);\n          }\n          if (2 < (int)psVar38) {\n            pr2serr("after build_t10_scat, num_lbard=%u, sum_num=%u\n",local_8f8,local_8f4,uVar7);\n          }\n        }\n        if (local_8f8 != 1) {\n          pr2serr("Unable to decode one LBA range descriptor from %s\n",local_798,0,0);\n          local_908 = (stat64 *)0xf;\n          goto LAB_00012354;\n        }\n        local_7b8 = local_104 >> 0x18 | (local_104 & 0xff0000) >> 8 | (local_104 & 0xff00) << 8 |\n                    local_104 << 0x18;\n        local_7bc = local_100 >> 0x18 | (local_100 & 0xff0000) >> 8 | (local_100 & 0xff00) << 8 |\n                    local_100 << 0x18;\n        local_7cc = (stat64 *)\n                    (local_fc >> 0x18 | (local_fc & 0xff0000) >> 8 | (local_fc & 0xff00) << 8 |\n                    local_fc << 0x18);\n        if (local_81f != '\0') {\n          local_7c0 = local_f8 >> 0x18 | (local_f8 & 0xff0000) >> 8 | (local_f8 & 0xff00) << 8 |\n                      local_f8 << 0x18;\n          local_7e6 = local_f4 << 8 | local_f4 >> 8;\n          local_7dc = local_f2 << 8 | local_f2 >> 8;\n        }\n        goto LAB_00012d48;\n      }\n      if (local_908 < (stat64 *)0x40) {\n        pr2serr("raw scatter file must be at least 64 bytes long (length: %u)\n",local_908,\n                local_880._44_4_,local_880._44_4_);\nLAB_00012ef5:\n        local_908 = (stat64 *)0xf;\n        goto LAB_00012354;\n      }\n      psVar25 = (stat64 *)(local_174 + 0x50);\n      local_908 = (stat64 *)FUN_00014a80(&DAT_00017365);\n      if (local_908 != (stat64 *)0x0) goto LAB_00012354;\n      cVar6 = FUN_000146a0(&local_8f8,&local_8f4,extraout_ECX_03,extraout_ECX_03);\n      if (cVar6 == '\0') goto LAB_00012ef5;\n      if (local_8f8 != 1) {\n        pr2serr("No %ss found in SF (num=%u)\n","LBA range descriptor",local_8f8,extraout_EDX_01);\n        goto LAB_00012ef5;\n      }\n      local_7b8 = local_114 >> 0x18 | (local_114 & 0xff0000) >> 8 | (local_114 & 0xff00) << 8 |\n                  local_114 << 0x18;\n      local_7bc = local_110 >> 0x18 | (local_110 & 0xff0000) >> 8 | (local_110 & 0xff00) << 8 |\n                  local_110 << 0x18;\n      local_7cc = (stat64 *)\n                  (local_10c >> 0x18 | (local_10c & 0xff0000) >> 8 | (local_10c & 0xff00) << 8 |\n                  local_10c << 0x18);\n    }\n    else {\n      local_7bc = local_578;\n      local_7b8 = local_574;\n      local_7cc = local_778[0];\n      if ((psVar38 != (stat64 *)0x0) && (local_91c != (stat64 *)0x1)) {\n        pr2serr("warning: %d LBA,number_of_blocks pairs found, only taking first\n",local_91c,\n                psVar17,psVar17);\n      }\n    }\nLAB_00012d48:\n    if (local_818 == 0) {\n      psVar25 = (stat64 *)((int)local_7cc * (int)local_7d4);\n    }\n    else {\n      psVar25 = (stat64 *)0x0;\n      if (local_810 == 0) {\n        psVar25 = local_7d4;\n      }\n    }\n    local_7a4 = psVar25;\n    if (psVar25 != (stat64 *)0x0) {\n      iVar14 = sg_memalign(psVar25,0,&local_8f0,0);\n      if (iVar14 == 0) {\n        pcVar15 = "unable to allocate %u bytes of memory\n";\n        ppvVar39 = (void **)0x0;\n        uVar16 = 0;\n        psVar38 = psVar25;\nLAB_00013bea:\n        pr2serr(pcVar15,psVar38,ppvVar39,uVar16);\n        local_908 = (stat64 *)sg_convert_errno(0xc);\n        goto LAB_00012354;\n      }\n      local_908 = (stat64 *)FUN_00014a80(&DAT_000173c6);\n      if (local_908 != (stat64 *)0x0) goto LAB_00012354;\n    }\n    local_908 = (stat64 *)FUN_00014b00(&local_820);\n    if (local_908 == (stat64 *)0x0) goto LAB_00012354;\n    if (local_81a != '\0') goto LAB_00012354;\n    puVar43 = local_174;\n    psVar25 = (stat64 *)"OS error";\n    puVar29 = puVar43;\n    for (iVar14 = 9; iVar14 != 0; iVar14 = iVar14 + -1) {\n      *puVar29 = (char)psVar25->st_dev;\n      psVar25 = (stat64 *)((int)psVar25 + (uint)bVar32 * -2 + 1);\n      puVar29 = puVar29 + (uint)bVar32 * -2 + 1;\n    }\n    uVar16 = 0;\n    if (0 < (int)local_908) {\n      sg_get_category_sense_str(local_908,0x50,puVar43,psVar38);\n      uVar16 = extraout_ECX_02;\n    }\n    pr2serr("%s: %s\n",local_790,puVar43,uVar16);\n    goto LAB_00012354;\n  }\n  local_8e8 = (void *)0x0;\n  local_8f6 = local_8f8;\n  local_8ec = (undefined1  [4])local_8f4;\n  if (local_81c != '\0') {\n    if (local_7e2 == 0) {\n      if (local_7e0 == 0) {\n        psVar17 = local_93c;\n        if (local_93c == (stat64 *)0x0) {\n          pr2serr("With --combined= if DOF, RD are 0 and IF has an unknown length\nthen give up\n");\n          local_908 = (stat64 *)0x1f;\n          goto LAB_00012354;\n        }\n      }\n      else {\n        psVar17 = (stat64 *)((local_7e0 + 1) * 0x20);\n      }\n      if ((uint)psVar17 % (uint)local_7d4 != 0) {\n        psVar17 = (stat64 *)(((uint)psVar17 / (uint)local_7d4 + 1) * (int)local_7d4);\n      }\n    }\n    else {\n      psVar17 = (stat64 *)((uint)local_7e2 * (int)local_7d4);\n    }\n    ppvVar39 = &local_8e8;\n    uVar16 = 0;\n    psVar38 = (stat64 *)0x0;\n    psVar25 = (stat64 *)sg_memalign(psVar17,0,ppvVar39,0);\n    if (psVar25 == (stat64 *)0x0) {\nLAB_000141a6:\n      pcVar15 = "unable to allocate aligned memory for scatterlist+data\n";\n      goto LAB_00013bea;\n    }\n    local_908 = (stat64 *)FUN_00014a80("IF c1");\n    if (local_908 != (stat64 *)0x0) goto LAB_000133fd;\n    cVar6 = FUN_000146a0(&local_8f6,local_8ec,0,0);\n    if (cVar6 != '\0') {\n      if ((local_7e0 == 0) || (local_7e0 == local_8f6)) {\n        local_7e0 = local_8f6;\nLAB_00013fe3:\n        local_908 = (stat64 *)((local_7e0 + 1) * 0x20);\n        if ((uint)local_908 % (uint)local_7d4 != 0) {\n          local_908 = (stat64 *)(((uint)local_908 / (uint)local_7d4 + 1) * (int)local_7d4);\n        }\n        uVar7 = (uint)local_7e2;\n        uVar24 = uVar7 * (int)local_7d4;\n        psVar38 = local_908;\n        local_8f6 = local_7e0;\n        if (uVar24 - (int)local_908 != 0) {\n          if (uVar24 < local_908) {\n            pr2serr("%s: Cannot fit %ss (%u) in given LB data offset (%u)\n","process_scattered",\n                    "LBA range descriptor",(uint)local_7e0,uVar7);\n            goto LAB_000133f3;\n          }\n          psVar38 = (stat64 *)uVar24;\n          if ((((uint)psVar18 | local_7f8) != 0) &&\n             (pr2serr("%s: empty blocks before LB data offset (%u), could be okay\n",\n                      "process_scattered",uVar7,(uint)psVar18 | local_7f8), local_7f8 != 0)) {\n            pr2serr("Exiting due to --strict; perhaps try again with --combined=%u\n",\n                    (uint)local_908 / (uint)local_7d4,psVar25,psVar25);\n            local_908 = (stat64 *)0xf;\n            goto LAB_000133fd;\n          }\n        }\n        psVar38 = (stat64 *)((int)local_8ec * (int)local_7d4 + (int)psVar38);\n        if (psVar38 <= psVar17) {\nLAB_0001418c:\n          local_7cc = (stat64 *)local_8ec;\n          local_7a4 = (stat64 *)((int)local_8ec * (int)local_7d4);\n          goto LAB_00013962;\n        }\n        if (local_93c != psVar38) {\n          if (local_93c < psVar38) {\n            pr2serr("Calculated dout length (%u) %s bytes available in IF (%u)\n",psVar38,\n                    &DAT_000170dd,local_93c);\n          }\n          else if ((psVar18 == (stat64 *)0x0 && local_7f8 == 0) ||\n                  (pr2serr("Calculated dout length (%u) %s bytes available in IF (%u)\n",psVar38,\n                           &DAT_00017110,local_93c), local_7f8 == 0)) goto LAB_00014113;\n          goto LAB_000133f3;\n        }\nLAB_00014113:\n        uVar33 = sg_memalign(psVar38,0,&local_8e4,0);\n        uVar16 = (undefined4)((ulonglong)uVar33 >> 0x20);\n        psVar38 = (stat64 *)uVar33;\n        if (psVar38 != (stat64 *)0x0) {\n          memcpy(psVar38,psVar25,(size_t)psVar17);\n          free(local_8e8);\n          local_8e8 = local_8e4;\n          local_908 = (stat64 *)FUN_00014a80("IF c2",psVar25,psVar17,uVar16);\n          psVar25 = psVar38;\n          if (local_908 != (stat64 *)0x0) goto LAB_000133fd;\n          goto LAB_0001418c;\n        }\nLAB_00014273:\n        pcVar15 = "unable to allocate memory for final scatterlist+data\n";\n        goto LAB_00013fbc;\n      }\n      if (local_8f6 < local_7e0) {\n        pr2serr("RD (%u) %s number of %ss (%u) found in IF\n",local_7e0,&DAT_000170dd,\n                "LBA range descriptor",local_8f6);\n      }\n      else if ((psVar18 == (stat64 *)0x0 && local_7f8 == 0) ||\n              (pr2serr("RD (%u) %s number of %ss (%u) found in IF\n",local_7e0,&DAT_00017110,\n                       "LBA range descriptor",local_8f6), local_7f8 == 0)) {\n        local_908 = (stat64 *)0x0;\n        for (psVar38 = psVar25; (stat64 *)(&psVar25->st_dev + (uint)local_7e0 * 4) != psVar38;\n            psVar38 = (stat64 *)&psVar38->st_rdev) {\n          uVar7 = psVar38->__pad2;\n          local_908 = (stat64 *)\n                      ((int)&local_908->st_dev +\n                      (uVar7 >> 0x18 | (uVar7 & 0xff0000) >> 8 | (uVar7 & 0xff00) << 8 |\n                      uVar7 << 0x18));\n        }\n        local_8ec = (undefined1  [4])local_908;\n        goto LAB_00013fe3;\n      }\n    }\nLAB_000133f3:\n    local_908 = (stat64 *)0xf;\n    goto LAB_000133fd;\n  }\n  if (local_91c != (stat64 *)0x0) {\n    local_8f6 = (ushort)local_91c;\n  }\n  if (local_798 == (char *)0x0) {\n    if (local_819 != '\0') goto LAB_00013dcd;\n    if (local_91c == (stat64 *)0x0) {\n      pr2serr("How did we get here??\n");\n      local_908 = (stat64 *)0x1;\n      goto LAB_000133fd;\n    }\n    if ((local_7e0 != 0) && (local_91c < (undefined *)(uint)local_7e0)) {\n      pr2serr("%s: number given to --scattered= (%u) exceeds number of --lba= elements (%u)\n",\n              "process_scattered",(undefined *)(uint)local_7e0,local_91c);\n      local_908 = (stat64 *)0x1f;\n      goto LAB_00012354;\n    }\n    uVar7 = (local_8f6 + 1) * 0x20;\n    local_7e2 = (ushort)(uVar7 / (uint)local_7d4);\n    if (uVar7 % (uint)local_7d4 != 0) {\n      local_7e2 = local_7e2 + 1;\n    }\n    iVar14 = 0;\n    local_8ec = (undefined1  [4])0x0;\n    do {\n      local_8ec = (undefined1  [4])((int)&((stat64 *)local_8ec)->st_dev + (int)ppsVar44[iVar14]);\n      iVar14 = iVar14 + 1;\n    } while (iVar14 < (int)local_91c);\n    psVar25 = (stat64 *)\n              sg_memalign((int)((int)&((stat64 *)local_8ec)->st_dev + (uint)local_7e2) *\n                          (int)local_7d4,0,&local_8e8,0);\n    if (psVar25 == (stat64 *)0x0) goto LAB_00013fb3;\n    iVar14 = 0;\n    psVar38 = psVar25;\n    do {\n      uVar7 = puVar42[iVar14 * 2];\n      uVar24 = puVar42[iVar14 * 2 + 1];\n      *(uint *)&psVar38->st_rdev =\n           uVar24 >> 0x18 | (uVar24 & 0xff0000) >> 8 | (uVar24 & 0xff00) << 8 | uVar24 << 0x18;\n      *(uint *)((int)&psVar38->st_rdev + 4) =\n           uVar7 >> 0x18 | (uVar7 & 0xff0000) >> 8 | (uVar7 & 0xff00) << 8 | uVar7 << 0x18;\n      psVar17 = ppsVar44[iVar14];\n      psVar38->__pad2 =\n           (uint)psVar17 >> 0x18 | ((uint)psVar17 & 0xff0000) >> 8 | ((uint)psVar17 & 0xff00) << 8 |\n           (int)psVar17 << 0x18;\n      if (local_81f != '\0') {\n        if (iVar14 == 0) {\n          *(uint *)&psVar38->st_size =\n               local_7c0 >> 0x18 | (local_7c0 & 0xff0000) >> 8 | (local_7c0 & 0xff00) << 8 |\n               local_7c0 << 0x18;\n          *(ushort *)((int)&psVar38->st_size + 4) = local_7e6 << 8 | local_7e6 >> 8;\n          *(ushort *)((int)&psVar38->st_size + 6) = local_7dc << 8 | local_7dc >> 8;\n        }\n        else {\n          *(undefined4 *)&psVar38->st_size = 0xffffffff;\n          *(undefined2 *)((int)&psVar38->st_size + 4) = 0xffff;\n          *(undefined2 *)((int)&psVar38->st_size + 6) = 0xffff;\n        }\n      }\n      iVar14 = iVar14 + 1;\n      psVar38 = (stat64 *)&psVar38->st_rdev;\n    } while (iVar14 < (int)local_91c);\n    local_7cc = (stat64 *)local_8ec;\n  }\n  else {\n    if (local_819 == '\0') {\n      uVar7 = (uint)local_8f6;\n      uVar16 = 0;\n      uVar24 = (uVar7 + 1) * 0x20;\n      local_7e2 = (ushort)(uVar24 / (uint)local_7d4);\n      ppvVar39 = &local_8e8;\n      if (uVar24 % (uint)local_7d4 != 0) {\n        local_7e2 = local_7e2 + 1;\n      }\n      psVar38 = (stat64 *)0x0;\n      psVar25 = (stat64 *)\n                sg_memalign((int)((int)&local_8f4->st_dev + (uint)local_7e2) * (int)local_7d4,0,\n                            ppvVar39,0);\n      if (psVar25 == (stat64 *)0x0) goto LAB_000141a6;\n      local_8f6 = 0;\n      local_8ec = (undefined1  [4])0x0;\n      if (uVar7 + 1 == 1) {\n        uVar24 = (uint)local_7e2 * (int)local_7d4;\n      }\n      local_908 = (stat64 *)FUN_000156d0(psVar25,&local_8f6,local_8ec,uVar24);\n      if (local_908 != (stat64 *)0x0) goto LAB_000133fd;\n      psVar38 = (stat64 *)((int)local_7d4 * (int)local_8ec);\n      if (local_7d0 <= psVar38) {\n        if ((local_7d0 <= psVar38 && (int)psVar38 - (int)local_7d0 != 0) &&\n           (local_7d0 != (stat64 *)0x0)) {\n          psVar38 = local_7d0;\n        }\nLAB_00014208:\n        if ((psVar45 != (stat64 *)0x0) && (psVar45 != psVar38)) {\n          if (psVar18 != (stat64 *)0x0) {\n            puVar20 = &DAT_00017110;\n            if (psVar38 <= psVar45) {\n              puVar20 = &DAT_000170dd;\n            }\n            pr2serr("readable length (%u) of IF %s bytes implied by sum of\nscatter list NUMs (%u) and DLEN\n"\n                    ,psVar45,puVar20,psVar38);\n          }\n          if ((local_7f8 != 0) && ((psVar38 <= psVar45 || (1 < (int)local_7f8)))) goto LAB_000133f3;\nLAB_0001387e:\n          if (psVar45 < psVar38) {\n            psVar38 = psVar45;\n          }\n        }\n        psVar17 = (stat64 *)((uint)psVar38 / (uint)local_7d4);\n        if (((uint)psVar38 % (uint)local_7d4 != 0) &&\n           ((psVar18 != (stat64 *)0x0 || (1 < (int)local_7f8)))) {\n          psVar22 = local_7d8;\n          pr2serr("Calculated data-out length (0x%x) not a multiple of BS (%u",psVar38,local_7d8,\n                  psVar17);\n          if (local_7d8 != local_7d4) {\n            psVar38 = (stat64 *)((int)local_7d4 - (int)local_7d8);\n            psVar22 = extraout_ECX_07;\n            psVar17 = extraout_ECX_07;\n            pr2serr(" + %d(PI)",psVar38,extraout_ECX_07,extraout_ECX_07);\n          }\n          if (1 < (int)local_7f8) {\n            pr2serr(")\nexiting ...\n",psVar38,psVar22,psVar17);\n            local_908 = (stat64 *)0xf;\n            goto LAB_000133fd;\n          }\n          pr2serr(")\nzero pad and continue ...\n",psVar38,psVar22,psVar17);\n        }\n      }\n      else {\n        uVar7 = (uint)psVar18 | local_7f8;\n        if (uVar7 != 0) {\n          pr2serr("DLEN > than bytes implied by sum of scatter list NUMs (%u)\n",psVar38,uVar7,uVar7\n                 );\n          if (1 < (int)psVar18) {\n            pr2serr("  num_lbard=%u, sum_num=%u actual_bs=%u",local_8f6,local_8ec,local_7d4);\n          }\n          if (local_7f8 != 0) goto LAB_000133f3;\n          goto LAB_00014208;\n        }\n        if ((psVar45 != (stat64 *)0x0) && (psVar45 != psVar38)) goto LAB_0001387e;\n      }\n      local_908 = (stat64 *)FUN_00014a80(&DAT_00017360);\n    }\n    else {\nLAB_00013dcd:\n      psVar38 = local_7d4;\n      if (local_7e0 != 0) {\n        psVar38 = (stat64 *)((local_7e0 + 1) * 0x20);\n        if (local_908 < psVar38) {\n          pr2serr("SF not long enough (%u bytes) to provide RD (%u) %ss\n",local_908,psVar38,\n                  "LBA range descriptor");\n          local_908 = (stat64 *)0xf;\n          goto LAB_000133fd;\n        }\n        psVar38 = (stat64 *)\n                  ((((uint)psVar38 / (uint)local_7d4 + 1) -\n                   (uint)((uint)psVar38 % (uint)local_7d4 == 0)) * (int)local_7d4);\n      }\n      local_918 = local_7d4;\n      if (local_93c != (stat64 *)0x0) {\n        local_918 = (stat64 *)\n                    ((((uint)local_93c / (uint)local_7d4 + 1) -\n                     (uint)((uint)local_93c % (uint)local_7d4 == 0)) * (int)local_7d4);\n      }\n      psVar25 = (stat64 *)\n                sg_memalign((undefined *)((int)&psVar38->st_dev + (int)&local_918->st_dev),0,\n                            &local_8e8,0);\n      if (psVar25 == (stat64 *)0x0) {\nLAB_00013fb3:\n        pcVar15 = "unable to allocate aligned memory for scatterlist+data\n";\nLAB_00013fbc:\n        pr2serr(pcVar15);\n        local_908 = (stat64 *)sg_convert_errno(0xc);\n        goto LAB_000133fd;\n      }\n      local_908 = (stat64 *)FUN_00014a80(&DAT_00017365);\n      if (local_908 != (stat64 *)0x0) goto LAB_000133fd;\n      psVar17 = (stat64 *)local_8ec;\n      psVar22 = extraout_ECX_08;\n      psVar8 = extraout_ECX_08;\n      cVar6 = FUN_000146a0(&local_8f6,psVar17,extraout_ECX_08,extraout_ECX_08);\n      if (cVar6 == '\0') goto LAB_000133f3;\n      if (local_7e0 != local_8f6) {\n        pr2serr("Try again with --scattered=%u\n",local_8f6,extraout_EDX_05,extraout_EDX_05);\n        local_908 = (stat64 *)0xf;\n        goto LAB_000133fd;\n      }\n      if (local_918 < (stat64 *)((int)local_7d4 * (int)local_8ec)) {\n        psVar9 = (stat64 *)\n                 sg_memalign((undefined *)\n                             ((int)&psVar38->st_dev +\n                             (int)&((stat64 *)((int)local_7d4 * (int)local_8ec))->st_dev),0,\n                             &local_8e4,0);\n        if (psVar9 == (stat64 *)0x0) goto LAB_00014273;\n        psVar22 = psVar38;\n        psVar8 = psVar9;\n        memcpy(psVar9,psVar25,(size_t)psVar38);\n        psVar17 = psVar25;\n        free(local_8e8);\n        local_8e8 = local_8e4;\n        psVar25 = psVar9;\n      }\n      if ((local_93c != psVar38) && (psVar18 != (stat64 *)0x0 || local_7f8 != 0)) {\n        psVar22 = (stat64 *)&DAT_000170dd;\n        if (local_93c <= psVar38) {\n          psVar22 = (stat64 *)&DAT_00017110;\n        }\n        psVar8 = psVar38;\n        pr2serr("IF length (%u) %s \'sum_num\' bytes (%u), ",local_93c,psVar22,psVar38);\n        if (1 < (int)local_7f8) {\n          pr2serr("exiting (strict=%d)\n",local_7f8,psVar38,psVar38);\n          local_908 = (stat64 *)0xf;\n          goto LAB_000133fd;\n        }\n        pr2serr("continuing ...\n",local_93c,psVar22,psVar8);\n        psVar17 = local_93c;\n      }\n      local_908 = (stat64 *)FUN_00014a80(&DAT_0001738d,psVar17,psVar22,psVar8);\n    }\n    if (local_908 != (stat64 *)0x0) goto LAB_000133fd;\n    local_7a4 = (stat64 *)((int)local_8ec * (int)local_7d4);\n    local_7cc = (stat64 *)local_8ec;\n  }\nLAB_00013962:\n  local_8ec = (undefined1  [4])local_7cc;\n  local_908 = (stat64 *)FUN_00014b00(&local_820);\n  if (local_908 != (stat64 *)0x0) {\n    puVar43 = local_174 + 0x50;\n    psVar25 = (stat64 *)"OS error";\n    puVar29 = puVar43;\n    for (iVar14 = 9; iVar14 != 0; iVar14 = iVar14 + -1) {\n      *puVar29 = (char)psVar25->st_dev;\n      psVar25 = (stat64 *)((int)psVar25 + (uint)bVar32 * -2 + 1);\n      puVar29 = puVar29 + (uint)bVar32 * -2 + 1;\n    }\n    if (0 < (int)local_908) {\n      sg_get_category_sense_str(local_908,0x50,puVar43,psVar18);\n    }\n    pr2serr("%s: %s\n",local_790,puVar43,psVar25);\n  }\nLAB_000133fd:\n  if (local_8e8 == (void *)0x0) goto LAB_00012354;\n  free(local_8e8);\n  goto LAB_00012354;\ncode_r0x000115f1:\n  uVar33 = sg_get_llnum(*(undefined4 *)PTR_optarg_0001dffc);\n  psVar38 = local_7d0;\n  uVar16 = uStack_7c4;\n  uVar7 = (uint)uVar33;\n  if ((int)((ulonglong)uVar33 >> 0x20) != 0) goto code_r0x00012b94;\n  goto code_r0x000114e8;\ncode_r0x00012b94:\n  pr2serr("bad argument to \'--ref-tag=\'. Expect 0 to 0xffffffff inclusive\n");\nLAB_00011a7a:\n  local_908 = (stat64 *)0x1;\nLAB_00011a84:\n  do {\n    psVar25 = (stat64 *)(local_24 ^ *(uint *)(in_GS_OFFSET + 0x14));\n    if (psVar25 == (stat64 *)0x0) {\n      return (int)local_908;\n    }\n    FUN_000162b0();\nLAB_00013b9f:\n    pr2serr("build_lba_arr: array length exceeded\n");\nLAB_00012130:\n    pr2serr("bad argument to \'--lba\'\n");\n    local_908 = (stat64 *)0x1;\nLAB_00012354:\n    if (local_8f0 != (void *)0x0) {\n      free(local_8f0);\n    }\n    iVar14 = sg_cmds_close_device(local_930);\n    if (iVar14 < 0) {\n      if (local_81a == '\0') {\n        uVar16 = safe_strerror(-iVar14);\n        pr2serr("sg_fd close error: %s\n",uVar16);\n      }\n      if (local_908 == (stat64 *)0x0) {\n        local_908 = (stat64 *)0xf;\n      }\n    }\n    if ((-1 < (int)local_920) && (iVar14 = close((int)local_920), iVar14 < 0)) {\n      if (local_81a == '\0') {\n        perror("sfr_fd close error");\n      }\n      if (local_908 == (stat64 *)0x0) {\n        local_908 = (stat64 *)0xf;\n      }\n    }\nLAB_000123a1:\n    if (((cVar2 == '\x01') || ((int)local_924 < 0)) ||\n       (pcVar15 = (char *)close((int)local_924), -1 < (int)pcVar15)) {\nLAB_000123cc:\n      if (((local_7f0 == (stat64 *)0x0) && (local_81a == '\0')) &&\n         (cVar6 = sg_if_can2stderr("sg_write_x failed: ",local_908,psVar25,psVar25), cVar6 == '\0'))\n      goto LAB_0001260b;\n      goto LAB_000123e2;\n    }\n    if (local_81a == '\0') {\n      pcVar15 = "infd close error";\n      perror("infd close error");\n    }\n    if (local_908 != (stat64 *)0x0) goto LAB_000123cc;\n    local_908 = (stat64 *)0xf;\n    if (((local_7f0 == (stat64 *)0x0) && (local_81a == '\0')) &&\n       (cVar6 = sg_if_can2stderr("sg_write_x failed: ",0xf,pcVar15,pcVar15), cVar6 == '\0')) {\nLAB_0001260b:\n      pr2serr("Some error occurred, try again with \'-v\' or \'-vv\' for more information\n");\nLAB_000123e2:\n      if ((int)local_908 < 0) {\n        local_908 = (stat64 *)0x63;\n      }\n    }\n  } while( true );\n}" primitive_type (function_declarator "FUN_000113d0(int param_1,int param_2)" identifier (parameter_list "(int param_1,int param_2)" ( (parameter_declaration "int param_1" primitive_type identifier) , (parameter_declaration "int param_2" primitive_type identifier) ))) (compound_statement "{\n  byte bVar1;\n  char cVar2;\n  __dev_t *p_Var3;\n  undefined *puVar4;\n  undefined *puVar5;\n  char cVar6;\n  uint uVar7;\n  stat64 *psVar8;\n  stat64 *psVar9;\n  int iVar10;\n  stat64 *psVar11;\n  char *pcVar12;\n  char *pcVar13;\n  int iVar14;\n  char *pcVar15;\n  undefined4 uVar16;\n  stat64 *psVar17;\n  stat64 *psVar18;\n  int *piVar19;\n  undefined *puVar20;\n  int iVar21;\n  stat64 *extraout_ECX;\n  stat64 *extraout_ECX_00;\n  stat64 *extraout_ECX_01;\n  undefined4 extraout_ECX_02;\n  undefined4 extraout_ECX_03;\n  stat64 *extraout_ECX_04;\n  stat64 *extraout_ECX_05;\n  stat64 *extraout_ECX_06;\n  stat64 *extraout_ECX_07;\n  stat64 *extraout_ECX_08;\n  int extraout_EDX;\n  stat64 *psVar22;\n  stat64 *psVar23;\n  stat64 *extraout_EDX_00;\n  undefined4 extraout_EDX_01;\n  stat64 *extraout_EDX_02;\n  stat64 *extraout_EDX_03;\n  stat64 *extraout_EDX_04;\n  undefined4 extraout_EDX_05;\n  uint uVar24;\n  stat64 *psVar25;\n  uint *puVar26;\n  stat64 **ppsVar27;\n  int iVar28;\n  undefined1 *puVar29;\n  int in_GS_OFFSET;\n  bool bVar30;\n  bool bVar31;\n  byte bVar32;\n  undefined8 uVar33;\n  longlong lVar34;\n  __off64_t _Var35;\n  undefined4 uVar36;\n  undefined4 uVar37;\n  stat64 *psVar38;\n  void **ppvVar39;\n  undefined4 uVar40;\n  uint uVar41;\n  uint *puVar42;\n  undefined1 *puVar43;\n  stat64 **ppsVar44;\n  stat64 *psVar45;\n  char local_93f;\n  stat64 *local_93c;\n  stat64 *local_930;\n  stat64 *local_924;\n  stat64 *local_920;\n  stat64 *local_91c;\n  stat64 *local_918;\n  stat64 *local_908;\n  ushort local_8f8;\n  ushort local_8f6;\n  stat64 *local_8f4;\n  void *local_8f0;\n  undefined1 local_8ec [4];\n  void *local_8e8;\n  void *local_8e4;\n  undefined1 local_8e0 [48];\n  int local_8b0;\n  undefined1 local_880 [96];\n  char local_820;\n  char local_81f;\n  byte bStack_81e;\n  byte local_81d;\n  char local_81c;\n  byte local_81b;\n  char local_81a;\n  char local_819;\n  byte local_818;\n  byte local_817;\n  byte local_816;\n  byte bStack_815;\n  byte local_814;\n  char local_813;\n  undefined1 uStack_812;\n  undefined1 uStack_811;\n  byte local_810;\n  char local_80f;\n  char local_80e;\n  uint uStack_80c;\n  int iStack_808;\n  uint uStack_804;\n  int local_800;\n  int local_7fc;\n  uint local_7f8;\n  int local_7f4;\n  stat64 *local_7f0;\n  stat64 *local_7ec;\n  undefined1 uStack_7e8;\n  undefined1 uStack_7e7;\n  ushort local_7e6;\n  undefined2 uStack_7e4;\n  ushort local_7e2;\n  ushort local_7e0;\n  undefined2 uStack_7de;\n  ushort local_7dc;\n  undefined2 uStack_7da;\n  stat64 *local_7d8;\n  stat64 *local_7d4;\n  stat64 *local_7d0;\n  stat64 *local_7cc;\n  undefined4 uStack_7c8;\n  undefined4 uStack_7c4;\n  uint local_7c0;\n  uint local_7bc;\n  uint local_7b8;\n  stat64 *local_7b4;\n  stat64 *local_7b0;\n  int local_7ac;\n  int local_7a8;\n  stat64 *local_7a4;\n  stat64 *local_7a0;\n  char *local_79c;\n  char *local_798;\n  stat64 *local_794;\n  undefined1 local_790 [24];\n  stat64 *local_778 [128];\n  uint local_578;\n  uint local_574;\n  undefined1 local_174 [96];\n  uint local_114;\n  uint local_110;\n  uint local_10c;\n  uint local_104;\n  uint local_100;\n  uint local_fc;\n  uint local_f8;\n  ushort local_f4;\n  ushort local_f2;\n  uint local_24;\n  undefined4 *local_18;\n  \n  iVar28 = param_2;\n  iVar14 = param_1;\n  puVar20 = PTR_optarg_0001dffc;\n  bVar32 = 0;\n  local_18 = &param_1;\n  local_24 = *(uint *)(in_GS_OFFSET + 0x14);\n  local_8f8 = 0;\n  local_8f4 = (stat64 *)0x0;\n  local_8f0 = (void *)0x0;\n  local_918 = (stat64 *)0x0;\n  local_91c = (stat64 *)0x0;\n  pcVar15 = &local_820;\n  for (iVar21 = 0x2a; iVar21 != 0; iVar21 = iVar21 + -1) {\n    pcVar15[0] = '\0';\n    pcVar15[1] = '\0';\n    pcVar15[2] = '\0';\n    pcVar15[3] = '\0';\n    pcVar15 = pcVar15 + 4;\n  }\n  local_930 = (stat64 *)local_8e0;\n  local_7fc = -1;\n  psVar18 = local_930;\n  for (iVar21 = 0x18; iVar21 != 0; iVar21 = iVar21 + -1) {\n    *(undefined4 *)&psVar18->st_dev = 0;\n    psVar18 = (stat64 *)((int)&psVar18->st_dev + 4);\n  }\n  psVar18 = (stat64 *)local_880;\n  local_7c0 = 0xffffffff;\n  psVar38 = psVar18;\n  for (iVar21 = 0x18; iVar21 != 0; iVar21 = iVar21 + -1) {\n    *(undefined4 *)&psVar38->st_dev = 0;\n    psVar38 = (stat64 *)((int)&psVar38->st_dev + 4);\n  }\n  cVar2 = ' ';\n  local_7e6 = 0xffff;\n  local_7dc = 0xffff;\n  local_7f4 = 0x78;\n  bVar1 = 0;\n  local_924 = (stat64 *)PTR_optarg_0001dffc;\n  psVar38 = local_7d0;\n  uVar16 = uStack_7c4;\n  uVar7 = local_7c0;\ncode_r0x000114e8:\n  local_7c0 = uVar7;\n  uStack_7c4 = uVar16;\n  local_7d0 = psVar38;\n  local_8e4 = (void *)0x0;\n  uVar33 = getopt_long(iVar14,iVar28,"36a:A:b:B:c:dD:Efg:G:hi:I:l:M:n:No:Oq:Qr:RsS:t:T:u:vVw:x",\n                       &PTR_DAT_0001e020,&local_8e4);\n  puVar5 = PTR_optarg_0001dffc;\n  puVar4 = PTR_optind_0001dfe4;\n  if ((int)uVar33 == -1) {\n    iVar21 = *(int *)PTR_optind_0001dfe4;\n    local_920 = (stat64 *)0xffffffff;\n    if (iVar21 < iVar14) {\n      iVar10 = (int)((ulonglong)uVar33 >> 0x20);\n      if (local_7a0 != (stat64 *)0x0) goto LAB_00011c60;\n      local_7a0 = *(stat64 **)(iVar28 + iVar21 * 4);\n      *(int *)PTR_optind_0001dfe4 = iVar21 + 1;\n      iVar10 = iVar28;\n      if (iVar21 + 1 < iVar14) goto LAB_00011c60;\n    }\n    if ((bool)(bVar1 & local_7f8 != 0)) goto LAB_00011a7a;\n    if (0 < local_800) {\n      FUN_000149b0();\n      local_908 = (stat64 *)0x0;\n      goto LAB_00011a84;\n    }\n    if (local_80f == '\0') {\nLAB_00011c9f:\n      if (local_80e != '\0') {\n        pr2serr("sg_write_x version: %s\n","1.19 20180628",puVar4,puVar4);\n        local_908 = (stat64 *)0x270f;\n        goto LAB_00011a84;\n      }\n    }\n    else if (local_80e != '\0') {\n      pr2serr("Not in DEBUG mode, so \'-vV\' has no special action\n");\n      goto LAB_00011c9f;\n    }\n    psVar38 = local_7f0;\n    psVar17 = psVar38;\n    if (local_820 == '\0') {\n      if (local_81f == '\0') {\n        psVar17 = (stat64 *)((int)&local_7f0[-1].st_ino + 7);\n        local_820 = '\x01';\n        if (psVar17 != (stat64 *)0x0 && 0 < (int)local_7f0) {\n          pr2serr("Since neither --16 nor --32 given, choose --16\n");\n        }\n      }\n    }\n    else if ((local_81f != '\0') && (local_820 = '\0', 1 < (int)local_7f0)) {\n      pr2serr("Since both --16 and --32 given, choose --32\n");\n    }\n    uVar7 = (uint)local_81d + (uint)local_814 + (uint)local_81b + (uint)local_818 + (uint)local_817\n            + (uint)local_816;\n    if (1 < uVar7) {\n      pr2serr(\n             "Can only select one command; so only one of --atomic, --normal, --or,\n--same=, --scattered= or --stream=\n"\n             );\n      local_908 = (stat64 *)0x1f;\n      goto LAB_00011a84;\n    }\n    if (uVar7 == 0) {\n      if (local_7f8 != 0) {\n        pr2serr("With --strict won\'t default to a normal WRITE, add --normal\n");\n        local_908 = (stat64 *)0x1f;\n        goto LAB_00011a84;\n      }\n      local_794 = (stat64 *)0x17164;\n      local_814 = 1;\n      if (psVar38 != (stat64 *)0x0) {\n        pr2serr("No command selected so choose \'normal\' WRITE\n");\n      }\n    }\n    psVar8 = (stat64 *)((-(uint)(local_820 == '\0') & 0x10) + 0x10);\n    psVar22 = local_794;\n    __snprintf_chk(local_790,0x18,1,0x18,"%s(%d)",local_794,psVar8,psVar17);\n    if (local_81c == '\0') {\n      if (local_798 != (char *)0x0) {\n        local_93f = local_918 != (stat64 *)0x0;\n        bVar30 = local_91c != (stat64 *)0x0 || local_918 != (stat64 *)0x0;\n        bVar31 = local_91c != (stat64 *)0x0;\n        if (local_91c == (stat64 *)0x0 && local_918 == (stat64 *)0x0) {\n          iVar14 = -1;\n          pcVar15 = local_798;\n          goto code_r0x00011d5c;\n        }\n        pr2serr(\n               "want one and only one of: (--lba=LBA and/or --num=NUM), or\n--scat-file=SF, or --combined=DOF\n"\n               );\n        local_908 = (stat64 *)0x1f;\n        goto LAB_00011a84;\n      }\n      if (local_819 == '\0') {\n        local_93f = local_918 != (stat64 *)0x0;\n        bVar30 = local_91c != (stat64 *)0x0 || local_918 != (stat64 *)0x0;\n        bVar31 = local_91c != (stat64 *)0x0;\n        goto LAB_00011d67;\n      }\n      pr2serr(\n             "--scat-raw only applies to the --scat-file=SF option\n--scat-raw without the --scat-file=SF option is an error\n"\n             );\n      local_908 = (stat64 *)0x1f;\n      goto LAB_00011a84;\n    }\n    if (local_817 == 0) {\n      pr2serr(\n             "--combined=DOF only allowed with --scattered=RD (i.e. only with\nWRITE SCATTERED command)\n"\n             );\n      local_908 = (stat64 *)0x1f;\n      goto LAB_00011a84;\n    }\n    if (local_798 != (char *)0x0) {\n      pr2serr("Ambiguous: got --combined=DOF and --scat-file=SF .\nGive one, the other or neither\n"\n             );\n      local_908 = (stat64 *)0x1f;\n      goto LAB_00011a84;\n    }\n    if (local_91c == (stat64 *)0x0 && local_918 == (stat64 *)0x0) {\n      local_93f = local_819;\n      bVar30 = false;\n      bVar31 = false;\n      if (local_819 == '\0') goto LAB_00011d67;\n      pr2serr("Ambiguous: don\'t expect --combined=DOF and --scat-raw\nGive one or the other\n");\n      local_908 = (stat64 *)0x1f;\n    }\n    else {\n      pr2serr("--scattered=RD --combined=DOF does not use --lba= or --num=\nPlease remove.\n");\n      local_908 = (stat64 *)0x1f;\n    }\n    goto LAB_00011a84;\n  }\n  local_920 = local_924;\n  psVar38 = local_7d0;\n  uVar16 = uStack_7c4;\n  uVar7 = local_7c0;\n  switch((int)uVar33) {\n  case 0x33:\n    local_81f = '\x01';\n    goto code_r0x000114e8;\n  default:\n    pcVar15 = "unrecognised option code 0x%x ??\n";\n    break;\n  case 0x36:\n    local_820 = '\x01';\n    goto code_r0x000114e8;\n  case 0x3f:\n    pcVar15 = "\n";\n    break;\n  case 0x41:\n    uVar7 = func_0x00011320(*(undefined4 *)PTR_optarg_0001dffc);\n    if (0xffff < uVar7) {\n      pr2serr("bad argument to \'--atomic=\'. Expect 0 to 0xffff inclusive\n");\n      goto LAB_00011a7a;\n    }\n    uStack_7e4 = (undefined2)uVar7;\n    local_81d = 1;\n    local_794 = (stat64 *)0x17112;\n    psVar38 = local_7d0;\n    uVar16 = uStack_7c4;\n    uVar7 = local_7c0;\n    goto code_r0x000114e8;\n  case 0x42:\n    uVar24 = func_0x00011320(*(undefined4 *)PTR_optarg_0001dffc);\n    if (7 < uVar24) {\n      pr2serr("bad first argument to \'--bmop=\'\n");\n      goto LAB_00011a7a;\n    }\n    uStack_7e8 = (undefined1)uVar24;\n    uVar36 = 0x2c;\n    uVar41 = uVar24;\n    pcVar15 = strchr(*(char **)puVar5,0x2c);\n    psVar38 = local_7d0;\n    uVar16 = uStack_7c4;\n    uVar7 = local_7c0;\n    if (pcVar15 != (char *)0x0) {\n      uVar7 = func_0x00011320(pcVar15 + 1,uVar36,uVar24,uVar41);\n      if (0xf < uVar7) {\n        pr2serr("bad second argument to \'--bmop=\'\n");\n        goto LAB_00011a7a;\n      }\n      uStack_7e7 = (undefined1)uVar7;\n      psVar38 = local_7d0;\n      uVar16 = uStack_7c4;\n      uVar7 = local_7c0;\n    }\n    goto code_r0x000114e8;\n  case 0x44:\n    uStack_80c = func_0x00011320(*(undefined4 *)PTR_optarg_0001dffc);\n    psVar38 = local_7d0;\n    uVar16 = uStack_7c4;\n    uVar7 = local_7c0;\n    if (7 < uStack_80c) {\n      pr2serr("bad argument to \'--dld=\', expect 0 to 7 inclusive\n");\n      goto LAB_00011a7a;\n    }\n    goto code_r0x000114e8;\n  case 0x47:\n    uVar33 = sg_get_llnum(*(undefined4 *)PTR_optarg_0001dffc);\n    uVar36 = (undefined4)uVar33;\n    if ((int)((ulonglong)uVar33 >> 0x20) != 0) {\n      pr2serr("bad first argument to \'--generation=\'\n");\n      goto LAB_00011a7a;\n    }\n    uVar37 = 0x2c;\n    uVar40 = uVar36;\n    uStack_7c8 = uVar36;\n    pcVar15 = strchr(*(char **)puVar5,0x2c);\n    if (pcVar15 == (char *)0x0) {\n      pr2serr("need two arguments with --generation=EOG,NOG and they must be comma separated\n",\n              uVar37,uVar36,uVar40);\n      goto LAB_00011a7a;\n    }\n    uVar33 = sg_get_llnum(pcVar15 + 1);\n    psVar38 = local_7d0;\n    uVar16 = (int)uVar33;\n    uVar7 = local_7c0;\n    if ((int)((ulonglong)uVar33 >> 0x20) != 0) {\n      pr2serr("bad second argument to \'--generation=\'\n",uVar37,uVar36,uVar40);\n      goto LAB_00011a7a;\n    }\n    goto code_r0x000114e8;\n  case 0x49:\n    local_7f4 = func_0x00011320(*(undefined4 *)PTR_optarg_0001dffc);\n    psVar38 = local_7d0;\n    uVar16 = uStack_7c4;\n    uVar7 = local_7c0;\n    if (local_7f4 < 0) {\n      pr2serr("bad argument to \'--timeout=\'\n");\n      goto LAB_00011a7a;\n    }\n    goto code_r0x000114e8;\n  case 0x4d:\n    uVar7 = func_0x00011320(*(undefined4 *)PTR_optarg_0001dffc);\n    if (1 < uVar7) {\n      pr2serr("bad argument to \'--same\', expect 0 or 1\n");\n      goto LAB_00011a7a;\n    }\n    local_810 = (byte)uVar7 & 1;\n    local_818 = 1;\n    local_794 = (stat64 *)0x17159;\n    psVar38 = local_7d0;\n    uVar16 = uStack_7c4;\n    uVar7 = local_7c0;\n    goto code_r0x000114e8;\n  case 0x4e:\n    local_814 = 1;\n    local_794 = (stat64 *)0x17164;\n    goto code_r0x000114e8;\n  case 0x4f:\n    local_81b = 1;\n    local_794 = (stat64 *)0x1716a;\n    goto code_r0x000114e8;\n  case 0x51:\n    local_81a = '\x01';\n    goto code_r0x000114e8;\n  case 0x52:\n    local_819 = '\x01';\n    goto code_r0x000114e8;\n  case 0x53:\n    uVar7 = func_0x00011320(*(undefined4 *)PTR_optarg_0001dffc);\n    if (0xffff < uVar7) {\n      pr2serr("bad argument to \'--scattered=\'. Expect 0 to 0xffff inclusive\n");\n      goto LAB_00011a7a;\n    }\n    local_7e0 = (ushort)uVar7;\n    local_794 = (stat64 *)0x17172;\n    local_817 = 1;\n    psVar38 = local_7d0;\n    uVar16 = uStack_7c4;\n    uVar7 = local_7c0;\n    goto code_r0x000114e8;\n  case 0x54:\n    uVar7 = func_0x00011320(*(undefined4 *)PTR_optarg_0001dffc);\n    if (0xffff < uVar7) {\n      pr2serr("bad argument to \'--stream=\', expect 0 to 65535\n");\n      goto LAB_00011a7a;\n    }\n    uStack_7de = (undefined2)uVar7;\n    local_794 = (stat64 *)0x17182;\n    local_816 = 1;\n    psVar38 = local_7d0;\n    uVar16 = uStack_7c4;\n    uVar7 = local_7c0;\n    goto code_r0x000114e8;\n  case 0x56:\n    local_80e = '\x01';\n    goto code_r0x000114e8;\n  case 0x61:\n    uVar7 = func_0x00011320(*(undefined4 *)PTR_optarg_0001dffc);\n    if (0xffff < uVar7) {\n      pr2serr("bad argument to \'--app-tag=\'. Expect 0 to 0xffff inclusive\n");\n      goto LAB_00011a7a;\n    }\n    local_7e6 = (ushort)uVar7;\n    psVar38 = local_7d0;\n    uVar16 = uStack_7c4;\n    uVar7 = local_7c0;\n    goto code_r0x000114e8;\n  case 0x62:\n    psVar17 = (stat64 *)func_0x00011320(*(undefined4 *)PTR_optarg_0001dffc);\n    if ((stat64 *)0x10000000 < psVar17) {\n      pr2serr("bad argument to \'--bs=\'. Expect 0 or greater\n");\n      goto LAB_00011a7a;\n    }\n    if (psVar17 == (stat64 *)0x0) {\n      local_7d8 = (stat64 *)0x0;\n      local_7d4 = (stat64 *)0x0;\n      psVar38 = local_7d0;\n      uVar16 = uStack_7c4;\n      uVar7 = local_7c0;\n    }\n    else {\n      if ((int)psVar17 < 0x200) {\n        pr2serr("warning: --bs=BS value is < 512 which seems too small, continue\n");\n        bVar1 = 1;\n      }\n      if (((uint)psVar17 & 7) != 0) {\n        pr2serr("warning: --bs=BS value is not a multiple of 8, unexpected, continue\n");\n        bVar1 = 1;\n      }\n      iVar21 = 0;\n      iVar10 = 0;\n      psVar38 = psVar17;\n      do {\n        if (((uint)psVar38 & 1) != 0) {\n          iVar21 = iVar10;\n        }\n        iVar10 = iVar10 + 1;\n        psVar38 = (stat64 *)((int)psVar38 >> 1);\n      } while (iVar10 != 0x1c);\n      psVar22 = (stat64 *)(1 << ((byte)iVar21 & 0x1f));\n      local_7d8 = psVar17;\n      local_7d4 = psVar17;\n      psVar38 = local_7d0;\n      uVar16 = uStack_7c4;\n      uVar7 = local_7c0;\n      if (psVar17 != psVar22) {\n        local_7d8 = psVar22;\n      }\n    }\n    goto code_r0x000114e8;\n  case 99:\n    iVar21 = func_0x00011320(*(undefined4 *)PTR_optarg_0001dffc);\n    if (iVar21 < 0) {\n      pr2serr("bad argument to \'--combined=\'. Expect 0 to 0x7fffffff\n");\n      goto LAB_00011a7a;\n    }\n    local_7e2 = (ushort)iVar21;\n    local_81c = '\x01';\n    psVar38 = local_7d0;\n    uVar16 = uStack_7c4;\n    uVar7 = local_7c0;\n    goto code_r0x000114e8;\n  case 100:\n    uStack_812 = 1;\n    goto code_r0x000114e8;\n  case 0x66:\n    uStack_811 = 1;\n    goto code_r0x000114e8;\n  case 0x67:\n    uStack_804 = func_0x00011320(*(undefined4 *)PTR_optarg_0001dffc);\n    psVar38 = local_7d0;\n    uVar16 = uStack_7c4;\n    uVar7 = local_7c0;\n    if (0x3f < uStack_804) {\n      pr2serr("bad argument to \'--grpnum\'\n");\n      goto LAB_00011a7a;\n    }\n    goto code_r0x000114e8;\n  case 0x68:\n    local_800 = local_800 + 1;\n    goto code_r0x000114e8;\n  case 0x69:\n    local_79c = *(char **)PTR_optarg_0001dffc;\n    goto code_r0x000114e8;\n  case 0x6c:\n    if (local_91c != (stat64 *)0x0) {\n      pr2serr("only expect \'--lba=\' option once\n");\n      goto LAB_00011a7a;\n    }\n    local_91c = *(stat64 **)PTR_optarg_0001dffc;\n    goto code_r0x000114e8;\n  case 0x6e:\n    if (local_918 != (stat64 *)0x0) {\n      pr2serr("only expect \'--num=\' option once\n");\n      goto LAB_00011a7a;\n    }\n    local_918 = *(stat64 **)PTR_optarg_0001dffc;\n    goto code_r0x000114e8;\n  case 0x6f:\n    lVar34 = sg_get_llnum(*(undefined4 *)PTR_optarg_0001dffc);\n    psVar17 = (stat64 *)lVar34;\n    if (lVar34 == -1) {\n      pr2serr("bad first argument to \'--offset=\'\n");\n      goto LAB_00011a7a;\n    }\n    uVar36 = 0x2c;\n    psVar22 = psVar17;\n    local_7b4 = psVar17;\n    local_7b0 = (stat64 *)((ulonglong)lVar34 >> 0x20);\n    pcVar15 = strchr(*(char **)puVar5,0x2c);\n    psVar38 = local_7d0;\n    uVar16 = uStack_7c4;\n    uVar7 = local_7c0;\n    if (pcVar15 != (char *)0x0) {\n      lVar34 = sg_get_llnum(pcVar15 + 1,uVar36,psVar17,psVar22);\n      psVar38 = (stat64 *)lVar34;\n      uVar16 = uStack_7c4;\n      uVar7 = local_7c0;\n      if ((int)((ulonglong)lVar34 >> 0x20) == -1) {\n        if (psVar38 == (stat64 *)0xffffffff) {\n          pr2serr("bad second argument to \'--offset=\'\n");\n          goto LAB_00011a7a;\n        }\n      }\n      else if (0xffffffff < lVar34) {\n        pr2serr("bad second argument to \'--offset=\', cannot exceed 32 bits\n");\n        goto LAB_00011a7a;\n      }\n    }\n    goto code_r0x000114e8;\n  case 0x71:\n    local_798 = *(char **)PTR_optarg_0001dffc;\n    goto code_r0x000114e8;\n  case 0x72:\n    goto code_r0x000115f1;\n  case 0x73:\n    local_7f8 = local_7f8 + 1;\n    goto code_r0x000114e8;\n  case 0x74:\n    uVar7 = func_0x00011320(*(undefined4 *)PTR_optarg_0001dffc);\n    if (0xffff < uVar7) {\n      pr2serr("bad argument to \'--tag-mask=\'. Expect 0 to 0xffff inclusive\n");\n      goto LAB_00011a7a;\n    }\n    local_7dc = (ushort)uVar7;\n    psVar38 = local_7d0;\n    uVar16 = uStack_7c4;\n    uVar7 = local_7c0;\n    goto code_r0x000114e8;\n  case 0x75:\n    uVar7 = func_0x00011320(*(undefined4 *)puVar20);\n    if (3 < uVar7) {\n      pr2serr("bad argument to \'--unmap=\', expect 0 to 3\n");\n      goto LAB_00011a7a;\n    }\n    bStack_81e = (byte)(uVar7 >> 1) & 1;\n    bStack_815 = (byte)uVar7 & 1;\n    psVar38 = local_7d0;\n    uVar16 = uStack_7c4;\n    uVar7 = local_7c0;\n    goto code_r0x000114e8;\n  case 0x76:\n    local_80f = '\x01';\n    local_7f0 = (stat64 *)((int)&local_7f0->st_dev + 1);\n    goto code_r0x000114e8;\n  case 0x77:\n    local_7ec = (stat64 *)func_0x00011320(*(undefined4 *)puVar20);\n    if ((stat64 *)0x7 < local_7ec) {\n      pr2serr("bad argument to \'--wrprotect\'\n");\n      goto LAB_00011a7a;\n    }\n    local_813 = 0 < (int)local_7ec;\n    psVar38 = local_7d0;\n    uVar16 = uStack_7c4;\n    uVar7 = local_7c0;\n    goto code_r0x000114e8;\n  case 0x78:\n    iStack_808 = iStack_808 + 1;\n    goto code_r0x000114e8;\n  }\n  pr2serr(pcVar15);\n  FUN_000149b0();\n  goto LAB_00011a7a;\nLAB_00011c60:\n  while (*(int *)puVar4 < iVar14) {\n    pr2serr("Unexpected extra argument: %s\n",*(undefined4 *)(iVar28 + *(int *)puVar4 * 4),iVar10,\n            iVar10);\n    *(int *)puVar4 = *(int *)puVar4 + 1;\n    iVar10 = extraout_EDX;\n  }\n  FUN_000149b0();\n  local_908 = (stat64 *)0x1;\n  goto LAB_00011a84;\n  while( true ) {\n    iVar14 = iVar14 + -1;\n    cVar6 = *pcVar15;\n    pcVar15 = pcVar15 + (uint)bVar32 * -2 + 1;\n    if (cVar6 == '\0') break;\ncode_r0x00011d5c:\n    if (iVar14 == 0) break;\n  }\n  if ((iVar14 == -3) && (*local_798 == '-')) {\n    pr2serr("don\'t accept \'-\' (implying stdin) as a filename in --scat-file=SF\n");\n    local_908 = (stat64 *)0x1f;\n    goto LAB_00011a84;\n  }\nLAB_00011d67:\n  if (((psVar38 != (stat64 *)0x0) && (local_820 != '\0')) &&\n     ((local_7c0 != 0xffffffff || ((local_7e6 & local_7dc) != 0xffff)))) {\n    pr2serr("--app-tag=, --ref-tag= and --tag-mask= options ignored with 16 byte commands\n");\n  }\n  psVar45 = local_7d0;\n  psVar9 = (stat64 *)(uint)local_810;\n  if (local_810 == 0) {\n    local_93c = local_7d0;\n    cVar2 = '\0';\n    if (local_79c == (char *)0x0) {\n      pr2serr("Need --if=FN option to be given, exiting.\n");\n      if (1 < (int)psVar38) {\n        pr2serr("To write zeros use --in=/dev/zero\n");\n      }\n      pr2serr("\n");\n      FUN_000149b0();\n      local_908 = (stat64 *)0x1;\n      goto LAB_00011a84;\n    }\n    iVar14 = -1;\n    pcVar15 = local_79c;\n    do {\n      if (iVar14 == 0) break;\n      iVar14 = iVar14 + -1;\n      cVar6 = *pcVar15;\n      pcVar15 = pcVar15 + (uint)bVar32 * -2 + 1;\n    } while (cVar6 != '\0');\n    if ((iVar14 != -3) || (*local_79c != '-')) {\n      local_924 = (stat64 *)open64(local_79c,0,iVar14,iVar14);\n      if ((int)local_924 < 0) {\n        piVar19 = __errno_location();\n        iVar14 = *piVar19;\n        pcVar15 = "could not open %s for reading";\n      }\n      else {\n        psVar17 = (stat64 *)sg_set_binary_mode(local_924);\n        if ((int)psVar17 < 0) goto LAB_00011dea;\n        psVar22 = local_924;\n        psVar8 = local_930;\n        iVar14 = __fxstat64(3,(int)local_924,local_930);\n        if (-1 < iVar14) {\n          if ((local_8e0._16_4_ & 0xf000) == 0x8000) {\n            local_93c = (stat64 *)local_8e0._44_4_;\n            if (psVar45 != (stat64 *)0x0) {\n              local_93c = psVar45;\n            }\n            if ((local_8b0 != 0 || (stat64 *)local_8e0._44_4_ != (stat64 *)0x0) &&\n               (psVar25 = (stat64 *)((int)&((stat64 *)(local_8e0._44_4_ + -0x60))->st_ino + 7),\n               iVar28 = local_8b0 + -1 + (uint)((stat64 *)local_8e0._44_4_ != (stat64 *)0x0),\n               iVar14 = (int)local_7b0 - iVar28,\n               (SBORROW4((int)local_7b0,iVar28) != SBORROW4(iVar14,(uint)(local_7b4 < psVar25))) ==\n               (int)(iVar14 - (uint)(local_7b4 < psVar25)) < 0)) {\n              pr2serr("Offset (%llu) is at or beyond IF byte length (%llu)\n",local_7b4,local_7b0,\n                      local_8e0._44_4_,local_8b0,psVar22,psVar8,psVar17);\n              local_908 = (stat64 *)0xf;\n              goto LAB_00012527;\n            }\n            psVar9 = local_7b4;\n            psVar45 = (stat64 *)local_8e0._44_4_;\n            iVar14 = local_8b0;\n            if (local_7b0 != (stat64 *)0x0 || local_7b4 != (stat64 *)0x0) {\n              psVar17 = (stat64 *)0x0;\n              psVar22 = local_7b4;\n              psVar8 = local_7b0;\n              _Var35 = lseek64((int)local_924,CONCAT44(local_7b0,local_7b4),0);\n              psVar25 = local_7b4;\n              if (_Var35 < 0) {\n                piVar19 = __errno_location();\n                psVar25 = (stat64 *)(local_174 + 0x50);\n                iVar14 = *piVar19;\n                __snprintf_chk(psVar25,0x100,1,0x100,"couldn\'t offset to required position on %s",\n                               local_79c,piVar19,piVar19);\n                perror((char *)psVar25);\n                local_908 = (stat64 *)sg_convert_errno(iVar14);\n                goto LAB_00012527;\n              }\n              psVar9 = (stat64 *)((int)psVar45 - (int)local_7b4);\n              iVar14 = (local_8b0 - (int)local_7b0) - (uint)(psVar45 < local_7b4);\n              local_930 = psVar45;\n              if ((int)(uint)(psVar9 != (stat64 *)0x0) <= -iVar14) {\n                pr2serr("--offset [0x%llx] at or beyond file length[0x%llx]\n",local_7b4,local_7b0,\n                        psVar45,local_8b0);\n                local_908 = (stat64 *)0xf;\n                goto LAB_00012527;\n              }\n              if ((local_7f8 != 0) &&\n                 (local_930 = local_7d0, iVar14 < (int)(uint)(psVar9 < local_7d0))) {\n                pr2serr("after accounting for OFF, DLEN exceeds %s remaining length (%u bytes)\n",\n                        local_79c,psVar9,psVar9);\n                local_908 = (stat64 *)0xf;\n                psVar25 = psVar9;\n                goto LAB_00012527;\n              }\n              if (iVar14 < (int)(uint)(psVar9 < local_93c)) {\n                local_93c = psVar9;\n              }\n              psVar45 = psVar9;\n              if (2 < (int)psVar38) {\n                psVar22 = local_7b4;\n                psVar8 = local_93c;\n                psVar17 = psVar9;\n                psVar9 = (stat64 *)\n                         pr2serr("Moved IF byte pointer to %u, if_len=%u, if_readable_len=%u\n",\n                                 local_7b4,local_93c,psVar9);\n              }\n            }\n            goto LAB_00011fa8;\n          }\n          goto LAB_00011e6c;\n        }\n        piVar19 = __errno_location();\n        iVar14 = *piVar19;\n        pcVar15 = "could not fstat %s";\n      }\n      __snprintf_chk(local_174 + 0x50,0x100,1,0x100,pcVar15,local_79c,piVar19,piVar19);\n      perror(local_174 + 0x50);\n      local_908 = (stat64 *)sg_convert_errno(iVar14);\n      goto LAB_00011a84;\n    }\n    iVar14 = sg_set_binary_mode(0);\n    cVar2 = '\x01';\n    local_924 = (stat64 *)0x0;\n    if (iVar14 < 0) {\nLAB_00011dea:\n      perror("sg_set_binary_mode");\n      local_908 = (stat64 *)0xf;\n      goto LAB_00011a84;\n    }\nLAB_00011e6c:\n    if (((stat64 *)((uint)local_7b0 | (uint)local_7b4) == (stat64 *)0x0) ||\n       (psVar38 == (stat64 *)0x0)) {\n      psVar9 = (stat64 *)((uint)local_7b0 | (uint)local_7b4);\n      psVar45 = (stat64 *)0x0;\n      iVar14 = 0;\n    }\n    else {\n      psVar9 = (stat64 *)\n               pr2serr(\n                      "--offset=OFF ignored when IF is stdin, pipe, socket, etc\nDLEN, if given, is used\n"\n                      );\n      psVar45 = (stat64 *)0x0;\n      iVar14 = 0;\n    }\n  }\n  else {\n    local_924 = (stat64 *)0xffffffff;\n    cVar2 = '\0';\n    psVar45 = (stat64 *)0x0;\n    iVar14 = 0;\n    local_93c = (stat64 *)0x0;\n  }\nLAB_00011fa8:\n  if (local_7a0 == (stat64 *)0x0) {\n    pr2serr("missing device name!\n",psVar22,psVar8,psVar17);\n    FUN_000149b0();\n    local_908 = (stat64 *)0x1;\n    psVar25 = (stat64 *)0x0;\nLAB_00012527:\n    if (local_8f0 == (void *)0x0) goto LAB_000123a1;\n    free(local_8f0);\n    goto LAB_000123a1;\n  }\n  pcVar15 = (char *)0x0;\n  psVar17 = psVar38;\n  uVar33 = sg_cmds_open_device(local_7a0,0,psVar38,psVar9);\n  psVar25 = local_7d8;\n  psVar22 = (stat64 *)((ulonglong)uVar33 >> 0x20);\n  local_930 = (stat64 *)uVar33;\n  if ((int)local_930 < 0) {\n    psVar25 = (stat64 *)-(int)local_930;\n    if (local_7f0 != (stat64 *)0x0) {\n      uVar16 = safe_strerror(psVar25);\n      pr2serr("open error: %s: %s\n",local_7a0,uVar16);\n    }\n    local_908 = (stat64 *)sg_convert_errno(psVar25);\n    goto LAB_00012527;\n  }\n  psVar8 = local_7d4;\n  psVar11 = local_7d4;\n  if (local_7d8 == (stat64 *)0x0) {\n    psVar17 = (stat64 *)0x0;\n    if (local_7f0 != (stat64 *)0x0) {\n      psVar17 = (stat64 *)((int)&local_7f0[-1].st_ino + 7);\n    }\n    psVar22 = (stat64 *)local_174;\n    psVar11 = (stat64 *)0x1;\n    pcVar15 = (char *)0x20;\n    psVar9 = psVar17;\n    psVar8 = local_7f0;\n    uVar33 = sg_ll_readcap_16(local_930,0,0,0,psVar22,0x20,1,psVar17,psVar22,local_7f0,psVar45,\n                              iVar14);\n    if ((int)uVar33 == 6) {\n      pr2serr("Read capacity(16) unit attention, try again\n");\n      uVar33 = sg_ll_readcap_16(local_930,0,0,0,psVar22,0x20,1,psVar17);\n    }\n    psVar23 = (stat64 *)((ulonglong)uVar33 >> 0x20);\n    local_908 = (stat64 *)uVar33;\n    if (local_908 == (stat64 *)0x0) {\n      psVar17 = psVar11;\n      if (3 < (int)psVar8) {\n        pr2serr("Read capacity(16) response:\n");\n        psVar17 = (stat64 *)0x1;\n        pcVar15 = (char *)0x20;\n        hex2stderr(psVar22,0x20,1);\n      }\n      bVar1 = local_174[0xc];\n      psVar11 = (stat64 *)\n                ((uint)local_174._8_4_ >> 0x18 | (local_174._8_4_ & 0xff0000) >> 8 |\n                 (local_174._8_4_ & 0xff00) << 8 | local_174._8_4_ << 0x18);\n      uVar7 = (uint)local_174._4_4_ >> 0x18 | (local_174._4_4_ & 0xff0000) >> 8 |\n              (local_174._4_4_ & 0xff00) << 8 | local_174._4_4_ << 0x18;\n      local_7ac = uVar7 + 1;\n      local_7a8 = ((uint)local_174._0_4_ >> 0x18 | (local_174._0_4_ & 0xff0000) >> 8 |\n                   (local_174._0_4_ & 0xff00) << 8 | local_174._0_4_ << 0x18) +\n                  (uint)(0xfffffffe < uVar7);\n      psVar22 = (stat64 *)(uint)local_174[0xc];\n      local_7d8 = psVar11;\n      if ((local_174[0xc] & 1) == 0) {\n        local_7fc = 0;\n        if ((int)local_7ec < 1) goto LAB_00012305;\n        if (psVar8 != (stat64 *)0x0) {\n          pcVar15 = (char *)local_7ec;\n          psVar22 = local_7a0;\n          pr2serr("--wrprotect (%d) expects PI but %s says it has none\n",local_7ec,local_7a0,\n                  psVar11);\n          if (local_7f8 != 0) goto LAB_00012ef5;\n          pcVar13 = "  ... continue but could be dangerous\n";\n          psVar25 = (stat64 *)0x0;\n          psVar9 = psVar11;\n          goto LAB_00013516;\n        }\n        if (local_7f8 != 0) goto LAB_00012ef5;\n      }\n      else {\n        local_7fc = (local_174[0xc] >> 1 & 7) + 1;\n        psVar25 = (stat64 *)(8 << (local_174[0xd] >> 4));\n        psVar22 = (stat64 *)(uint)(local_174[0xd] >> 4);\n        if (((int)local_7ec < 1) ||\n           (local_7d4 = (stat64 *)((int)&psVar25->st_dev + (int)&psVar11->st_dev), (int)psVar8 < 2))\n        {\nLAB_00012305:\n          if (psVar8 == (stat64 *)0x0) goto LAB_00012312;\n        }\n        else {\n          pcVar13 = \n          "  For data out buffer purposes the effective block size is %u (lb size\n  is %u) because PROT_EN=1, PI_EXP=%u and WRPROTECT>0\n"\n          ;\n          pcVar15 = (char *)psVar11;\n          psVar9 = local_7d4;\nLAB_00013516:\n          pr2serr(pcVar13,pcVar15,psVar22,psVar9);\n          psVar17 = psVar22;\n        }\n        pr2serr("Read capacity(16) response fields:\n",pcVar15,psVar17,psVar9);\n        psVar25 = (stat64 *)((int)&local_7d8->st_dev + (int)&psVar25->st_dev);\n        psVar9 = extraout_ECX_06;\n        pr2serr("  Last_LBA=0x%llx  LB size: %u (with PI: %u) bytes  p_type=%u\n",local_7ac + -1,\n                local_7a8 + -1 + (uint)(local_7ac != 0),local_7d8,psVar25,local_174[0xc] >> 1 & 7,\n                extraout_ECX_06,extraout_ECX_06);\n        pr2serr("  prot_en=%u [PI type=%u] p_i_exp=%u  lbppb_exp=%u  lbpme,rz=%u,",bVar1 & 1,\n                local_7fc,local_174[0xd] >> 4,local_174[0xd] & 0xf,\n                (uint)(int)(char)local_174[0xe] >> 0x1f);\n        psVar17 = (stat64 *)\n                  ((ushort)(local_174._14_2_ << 8 | (ushort)local_174._14_2_ >> 8) & 0x3fff);\n        pcVar15 = (char *)(local_174[0xe] >> 6 & 1);\n        pr2serr("%u  low_ali_lba=%u\n",pcVar15,psVar17);\n        psVar22 = extraout_EDX_04;\n      }\n    }\n    else {\n      if (((int)local_908 - 5U & 0xfffffffb) != 0) {\n        if (psVar8 != (stat64 *)0x0) {\n          puVar43 = local_174 + 0x50;\n          psVar25 = (stat64 *)"OS error";\n          puVar29 = puVar43;\n          for (iVar14 = 9; iVar14 != 0; iVar14 = iVar14 + -1) {\n            *puVar29 = (char)psVar25->st_dev;\n            psVar25 = (stat64 *)((int)psVar25 + (uint)bVar32 * -2 + 1);\n            puVar29 = puVar29 + (uint)bVar32 * -2 + 1;\n          }\n          psVar18 = local_908;\n          if (0 < (int)local_908) {\n            psVar18 = (stat64 *)sg_get_category_sense_str(local_908,0x50,puVar43,psVar8);\n          }\n          pr2serr("Read capacity(16): %s\n",puVar43,psVar18,psVar18);\n          pr2serr("Unable to calculate block size\n");\n        }\n        if (0 < (int)local_908) goto LAB_00012354;\n        goto LAB_00012ef5;\n      }\n      if (psVar8 == (stat64 *)0x0) {\n        pcVar15 = (char *)0x1;\n        uVar33 = sg_ll_readcap_10(local_930,0,0,psVar22,8,1,psVar17,psVar23);\n        psVar22 = (stat64 *)((ulonglong)uVar33 >> 0x20);\n        local_908 = (stat64 *)uVar33;\n        psVar9 = psVar23;\n        if (local_908 != (stat64 *)0x0) {\nLAB_00013444:\n          puVar43 = local_174 + 0x50;\n          psVar25 = (stat64 *)"OS error";\n          puVar29 = puVar43;\n          for (iVar14 = 9; iVar14 != 0; iVar14 = iVar14 + -1) {\n            *puVar29 = (char)psVar25->st_dev;\n            psVar25 = (stat64 *)((int)psVar25 + (uint)bVar32 * -2 + 1);\n            puVar29 = puVar29 + (uint)bVar32 * -2 + 1;\n          }\n          if (0 < (int)local_908) {\n            sg_get_category_sense_str(local_908,0x50,puVar43,psVar8);\n            pr2serr("Read capacity(10): %s\n",puVar43);\n            pr2serr("Unable to calculate block size\n");\n            goto LAB_00012354;\n          }\n          __snprintf_chk(puVar43,0x50,1,0x50,"error: %d",local_908,local_908,local_908);\n          pr2serr("Read capacity(10): %s\n",puVar43);\n          pr2serr("Unable to calculate block size\n");\n          local_908 = (stat64 *)0xf;\n          goto LAB_00012354;\n        }\n      }\n      else {\n        psVar25 = psVar22;\n        pr2serr("Read capacity(16) not supported, try Read capacity(10)\n");\n        pcVar15 = (char *)0x1;\n        uVar33 = sg_ll_readcap_10(local_930,0,0,psVar25,8,1,psVar17);\n        psVar22 = (stat64 *)((ulonglong)uVar33 >> 0x20);\n        local_908 = (stat64 *)uVar33;\n        if (local_908 != (stat64 *)0x0) goto LAB_00013444;\n        if (3 < (int)psVar8) {\n          pr2serr("Read capacity(10) response:\n");\n          psVar17 = (stat64 *)0x1;\n          pcVar15 = (char *)0x8;\n          hex2stderr(psVar25,8,1);\n          psVar22 = extraout_EDX_03;\n        }\n      }\n      local_7a8 = 0;\n      local_7ac = ((uint)local_174._0_4_ >> 0x18 | (local_174._0_4_ & 0xff0000) >> 8 |\n                   (local_174._0_4_ & 0xff00) << 8 | local_174._0_4_ << 0x18) + 1;\n      local_7d8 = (stat64 *)\n                  ((uint)local_174._4_4_ >> 0x18 | (local_174._4_4_ & 0xff0000) >> 8 |\n                   (local_174._4_4_ & 0xff00) << 8 | local_174._4_4_ << 0x18);\n    }\nLAB_00012312:\n    local_7d4 = local_7d8;\n    if (local_813 != '\0') {\n      local_7d4 = (stat64 *)&local_7d8->__pad1;\n    }\n    psVar8 = local_7d4;\n    psVar11 = local_7d8;\n    if (local_7d4 == (stat64 *)0x0) goto LAB_00012338;\n  }\n  local_7d4 = psVar8;\n  if (psVar11 == (stat64 *)0x0) {\nLAB_00012338:\n    pr2serr("Logic error, need block size by now\n",pcVar15,psVar17);\n    local_908 = (stat64 *)0x1;\n    goto LAB_00012354;\n  }\n  if ((local_810 == 0) &&\n     (psVar22 = (stat64 *)((uint)local_93c % (uint)psVar8), psVar22 != (stat64 *)0x0)) {\n    if (1 < (int)local_7f8) {\n      pr2serr("Error: number of bytes to read from IF [%u] is not a multiple\nblock size %u (including protection information)\n"\n              ,local_93c,psVar8,local_7f8);\n      local_908 = (stat64 *)0xf;\n      goto LAB_00012354;\n    }\n    psVar11 = (stat64 *)(local_7f8 | (uint)psVar38);\n    if (psVar11 != (stat64 *)0x0) {\n      pcVar15 = (char *)local_93c;\n      pr2serr("Warning: number of bytes to read from IF [%u] is not a multiple\nof actual block size %u; pad with zeros\n"\n              ,local_93c,psVar8,psVar11);\n      psVar22 = extraout_EDX_02;\n      psVar17 = psVar8;\n      psVar9 = psVar11;\n    }\n  }\n  puVar42 = &local_578;\n  puVar26 = puVar42;\n  for (iVar14 = 0x100; iVar14 != 0; iVar14 = iVar14 + -1) {\n    *puVar26 = 0;\n    puVar26 = puVar26 + (uint)bVar32 * -2 + 1;\n  }\n  ppsVar44 = local_778;\n  ppsVar27 = ppsVar44;\n  for (iVar14 = 0x80; iVar14 != 0; iVar14 = iVar14 + -1) {\n    *ppsVar27 = (stat64 *)0x0;\n    ppsVar27 = ppsVar27 + (uint)bVar32 * -2 + 1;\n  }\n  if (bVar31) {\n    uVar7 = 0xffffffff;\n    psVar22 = local_91c;\n    do {\n      if (uVar7 == 0) break;\n      uVar7 = uVar7 - 1;\n      p_Var3 = &psVar22->st_dev;\n      psVar22 = (stat64 *)((int)psVar22 + (uint)bVar32 * -2 + 1);\n    } while ((char)*p_Var3 != '\0');\n    psVar25 = (stat64 *)(~uVar7 - 1);\n    if ((char)local_91c->st_dev == '-') {\n      pr2serr("\'--lba\' cannot be read from stdin\n",pcVar15,psVar17,psVar9);\n      goto LAB_00012130;\n    }\n    pcVar15 = "0123456789aAbBcCdDeEfFhHxXiIkKmMgGtTpP, ";\n    psVar17 = local_91c;\n    psVar9 = local_91c;\n    psVar8 = (stat64 *)strspn((char *)local_91c,"0123456789aAbBcCdDeEfFhHxXiIkKmMgGtTpP, ");\n    psVar22 = psVar25;\n    if (psVar25 == psVar8) {\n      psVar22 = (stat64 *)0x0;\n      psVar25 = local_91c;\n      while( true ) {\n        lVar34 = sg_get_llnum(psVar25,pcVar15,psVar17,psVar9);\n        psVar17 = (stat64 *)lVar34;\n        if (lVar34 == -1) break;\n        puVar42[(int)psVar22 * 2] = (uint)psVar17;\n        puVar42[(int)psVar22 * 2 + 1] = (uint)((ulonglong)lVar34 >> 0x20);\n        psVar9 = psVar17;\n        pcVar12 = strchr((char *)psVar25,0x2c);\n        pcVar15 = (char *)0x20;\n        pcVar13 = strchr((char *)psVar25,0x20);\n        if (pcVar12 == (char *)0x0) {\n          if (pcVar13 == (char *)0x0) {\n            local_91c = (stat64 *)((int)&psVar22->st_dev + 1);\n            if (local_93f != '\0') goto LAB_000126fa;\n            psVar22 = (stat64 *)0x0;\n            psVar17 = extraout_ECX;\n            if (local_91c != (stat64 *)0x1) goto LAB_00012a73;\n            goto LAB_00012820;\n          }\n        }\n        else if ((pcVar13 == (char *)0x0) || (pcVar12 <= pcVar13)) {\n          pcVar13 = pcVar12;\n        }\n        psVar22 = (stat64 *)((int)&psVar22->st_dev + 1);\n        psVar25 = (stat64 *)(pcVar13 + 1);\n        if (psVar22 == (stat64 *)0x80) goto LAB_00013b9f;\n      }\n      psVar8 = (stat64 *)((int)psVar25 - (int)local_91c);\n    }\n    pr2serr("build_lba_arr: error at pos %d\n",(undefined *)((int)&psVar8->st_dev + 1),psVar22,\n            psVar22);\n    goto LAB_00012130;\n  }\n  local_91c = (stat64 *)0x0;\n  if (bVar30) {\nLAB_000126fa:\n    psVar8 = (stat64 *)0xffffffff;\n    psVar22 = local_918;\n    do {\n      if (psVar8 == (stat64 *)0x0) break;\n      psVar8 = (stat64 *)((int)&psVar8[-1].st_ino + 7);\n      p_Var3 = &psVar22->st_dev;\n      psVar22 = (stat64 *)((int)psVar22 + (uint)bVar32 * -2 + 1);\n    } while ((char)*p_Var3 != '\0');\n    psVar25 = (stat64 *)(~(uint)psVar8 - 1);\n    if ((char)local_918->st_dev == '-') {\n      pr2serr("\'--len\' cannot be read from stdin\n");\n    }\n    else {\n      pcVar15 = "0123456789aAbBcCdDeEfFhHxXiIkKmMgGtTpP, ";\n      psVar17 = psVar8;\n      psVar22 = (stat64 *)strspn((char *)local_918,"0123456789aAbBcCdDeEfFhHxXiIkKmMgGtTpP, ");\n      psVar9 = extraout_EDX_00;\n      if (psVar25 == psVar22) {\n        psVar9 = (stat64 *)0x0;\n        psVar25 = local_918;\n        do {\n          lVar34 = sg_get_llnum(psVar25,pcVar15,psVar8,psVar17);\n          psVar8 = (stat64 *)lVar34;\n          if ((int)((ulonglong)lVar34 >> 0x20) == -1) {\n            if (psVar8 == (stat64 *)0xffffffff) {\n              psVar22 = (stat64 *)((int)psVar25 - (int)local_918);\n              goto LAB_000127bf;\n            }\n          }\n          else if (0xffffffff < lVar34) {\n            psVar17 = (stat64 *)((int)psVar25 + (1 - (int)local_918));\n            pcVar15 = "build_num_arr";\n            pr2serr("%s: number exceeds 32 bits at pos %d\n","build_num_arr",psVar17,psVar9);\n            goto LAB_000127d9;\n          }\n          ppsVar44[(int)psVar9] = psVar8;\n          psVar17 = psVar8;\n          pcVar12 = strchr((char *)psVar25,0x2c);\n          pcVar15 = (char *)0x20;\n          pcVar13 = strchr((char *)psVar25,0x20);\n          if (pcVar12 == (char *)0x0) {\n            if (pcVar13 == (char *)0x0) {\n              puVar20 = (undefined *)((int)&psVar9->st_dev + 1);\n              psVar22 = (stat64 *)0x0;\n              psVar17 = extraout_ECX_00;\n              if ((undefined *)0x1 < local_91c) {\n                if ((stat64 *)puVar20 == local_91c) goto LAB_00012820;\n                goto LAB_00012a73;\n              }\n              if (local_91c == (stat64 *)0x0) {\n                if (puVar20 != (undefined *)0x1) {\nLAB_00012a73:\n                  pr2serr("need same number of arguments to \'--lba=\' and \'--num=\' options\n");\n                  local_908 = (stat64 *)0x1f;\n                  goto LAB_00012354;\n                }\n                local_91c = (stat64 *)(undefined *)0x1;\n                if (local_778[0] != (stat64 *)0x0) {\n                  pr2serr("won\'t write %u blocks without an explicit --lba= option\n",local_778[0],\n                          extraout_ECX_00,extraout_ECX_00);\n                  local_908 = (stat64 *)0x1;\n                  goto LAB_00012354;\n                }\n              }\n              else {\n                local_91c = (stat64 *)(undefined *)0x1;\n              }\n              goto LAB_00012820;\n            }\n          }\n          else if ((pcVar13 == (char *)0x0) || (pcVar12 <= pcVar13)) {\n            pcVar13 = pcVar12;\n          }\n          psVar9 = (stat64 *)((int)&psVar9->st_dev + 1);\n          psVar25 = (stat64 *)(pcVar13 + 1);\n        } while (psVar9 != (stat64 *)0x80);\n        pcVar15 = "build_num_arr";\n        psVar17 = extraout_ECX_00;\n        psVar9 = extraout_ECX_00;\n        pr2serr("%s: array length exceeded\n","build_num_arr",extraout_ECX_00,extraout_ECX_00);\n      }\n      else {\nLAB_000127bf:\n        psVar17 = (stat64 *)((int)&psVar22->st_dev + 1);\n        pcVar15 = "build_num_arr";\n        pr2serr("%s: error at pos %d\n","build_num_arr",psVar17,psVar9);\n      }\n    }\nLAB_000127d9:\n    pr2serr("bad argument to \'--num\'\n",pcVar15,psVar17,psVar9);\n    local_908 = (stat64 *)0x0;\n    goto LAB_00012354;\n  }\n  psVar17 = (stat64 *)0x0;\n  local_91c = (stat64 *)(undefined *)0x0;\nLAB_00012820:\n  if (local_798 == (char *)0x0) {\nLAB_00012ce5:\n    local_908 = (stat64 *)0x0;\n    local_880._44_4_ = psVar25;\n  }\n  else {\n    pcVar15 = local_798;\n    iVar14 = __xstat64(3,local_798,psVar18);\n    if (iVar14 < 0) {\n      piVar19 = __errno_location();\n      psVar25 = (stat64 *)*piVar19;\n      uVar16 = safe_strerror(psVar25);\n      pcVar15 = "Unable to stat(%s) as SF: %s\n";\nLAB_000136f9:\n      pr2serr(pcVar15,local_798,uVar16);\n      local_908 = (stat64 *)sg_convert_errno(psVar25);\n      goto LAB_00012354;\n    }\n    if (local_819 == '\0') {\n      iVar14 = 0;\n      if (local_7e0 != 0) {\n        iVar14 = (local_7e0 + 1) * 0x20;\n      }\n      local_908 = (stat64 *)FUN_000156d0(0,&local_8f8,&local_8f4,iVar14);\n      if (local_908 != (stat64 *)0x0) goto LAB_00012354;\n      psVar17 = extraout_ECX_04;\n      if ((local_7e0 != 0) && (local_7e0 != local_8f8)) {\n        if (local_8f8 < local_7e0) {\n          pr2serr("RD (%u) %s number of %ss (%u) found in SF\n",local_7e0,&DAT_000170dd,\n                  "LBA range descriptor",local_8f8);\n          local_908 = (stat64 *)0xf;\n          goto LAB_00012354;\n        }\n        psVar25 = (stat64 *)((uint)psVar38 | local_7f8);\n        if ((psVar25 != (stat64 *)0x0) &&\n           (pr2serr("RD (%u) %s number of %ss (%u) found in SF\n",local_7e0,&DAT_00017110,\n                    "LBA range descriptor",local_8f8), psVar17 = extraout_ECX_01, local_7f8 != 0))\n        goto LAB_00012ef5;\n      }\n      goto LAB_00012ce5;\n    }\n    if ((local_880._16_4_ & 0xf000) != 0x8000) {\n      pr2serr("Expect scatter file to be a regular file\n",pcVar15,psVar18,psVar22);\n      local_908 = (stat64 *)0xf;\n      goto LAB_00012354;\n    }\n    local_908 = (stat64 *)local_880._44_4_;\n    local_920 = (stat64 *)open64(local_798,0,0x8000,0x8000);\n    if ((int)local_920 < 0) {\n      piVar19 = __errno_location();\n      psVar25 = (stat64 *)*piVar19;\n      uVar16 = safe_strerror(psVar25);\n      pcVar15 = "Failed to open %s for raw read: %s\n";\n      goto LAB_000136f9;\n    }\n    iVar14 = sg_set_binary_mode(local_920);\n    psVar17 = extraout_ECX_05;\n    if (iVar14 < 0) {\n      perror("sg_set_binary_mode");\n      local_908 = (stat64 *)0xf;\n      psVar25 = (stat64 *)local_880._44_4_;\n      goto LAB_00012354;\n    }\n  }\n  psVar18 = local_7f0;\n  psVar25 = local_8f4;\n  if (local_817 == 0) {\n    if (local_91c == (stat64 *)0x0) {\n      psVar25 = (stat64 *)local_880._44_4_;\n      if (local_798 == (char *)0x0) {\n        if (local_819 == '\0') {\n          pr2serr("No LBA or number_of_blocks given, try using --lba= and --num=\n");\n          local_908 = (stat64 *)0x1;\n          goto LAB_00012354;\n        }\n      }\n      else if (local_819 == '\0') {\n        local_8f4 = (stat64 *)0x0;\n        uVar33 = FUN_000156d0(local_174 + 0x50,&local_8f8,&local_8f4,0x60);\n        uVar16 = (undefined4)((ulonglong)uVar33 >> 0x20);\n        local_908 = (stat64 *)uVar33;\n        if (local_908 != (stat64 *)0x0) goto LAB_00012354;\n        if (psVar38 != (stat64 *)0x0) {\n          uVar7 = (uint)local_8f8;\n          if (1 < local_8f8) {\n            uVar7 = pr2serr("warning: %d LBA,number_of_blocks pairs found, only taking first\n",\n                            uVar7,uVar16,uVar16);\n          }\n          if (2 < (int)psVar38) {\n            pr2serr("after build_t10_scat, num_lbard=%u, sum_num=%u\n",local_8f8,local_8f4,uVar7);\n          }\n        }\n        if (local_8f8 != 1) {\n          pr2serr("Unable to decode one LBA range descriptor from %s\n",local_798,0,0);\n          local_908 = (stat64 *)0xf;\n          goto LAB_00012354;\n        }\n        local_7b8 = local_104 >> 0x18 | (local_104 & 0xff0000) >> 8 | (local_104 & 0xff00) << 8 |\n                    local_104 << 0x18;\n        local_7bc = local_100 >> 0x18 | (local_100 & 0xff0000) >> 8 | (local_100 & 0xff00) << 8 |\n                    local_100 << 0x18;\n        local_7cc = (stat64 *)\n                    (local_fc >> 0x18 | (local_fc & 0xff0000) >> 8 | (local_fc & 0xff00) << 8 |\n                    local_fc << 0x18);\n        if (local_81f != '\0') {\n          local_7c0 = local_f8 >> 0x18 | (local_f8 & 0xff0000) >> 8 | (local_f8 & 0xff00) << 8 |\n                      local_f8 << 0x18;\n          local_7e6 = local_f4 << 8 | local_f4 >> 8;\n          local_7dc = local_f2 << 8 | local_f2 >> 8;\n        }\n        goto LAB_00012d48;\n      }\n      if (local_908 < (stat64 *)0x40) {\n        pr2serr("raw scatter file must be at least 64 bytes long (length: %u)\n",local_908,\n                local_880._44_4_,local_880._44_4_);\nLAB_00012ef5:\n        local_908 = (stat64 *)0xf;\n        goto LAB_00012354;\n      }\n      psVar25 = (stat64 *)(local_174 + 0x50);\n      local_908 = (stat64 *)FUN_00014a80(&DAT_00017365);\n      if (local_908 != (stat64 *)0x0) goto LAB_00012354;\n      cVar6 = FUN_000146a0(&local_8f8,&local_8f4,extraout_ECX_03,extraout_ECX_03);\n      if (cVar6 == '\0') goto LAB_00012ef5;\n      if (local_8f8 != 1) {\n        pr2serr("No %ss found in SF (num=%u)\n","LBA range descriptor",local_8f8,extraout_EDX_01);\n        goto LAB_00012ef5;\n      }\n      local_7b8 = local_114 >> 0x18 | (local_114 & 0xff0000) >> 8 | (local_114 & 0xff00) << 8 |\n                  local_114 << 0x18;\n      local_7bc = local_110 >> 0x18 | (local_110 & 0xff0000) >> 8 | (local_110 & 0xff00) << 8 |\n                  local_110 << 0x18;\n      local_7cc = (stat64 *)\n                  (local_10c >> 0x18 | (local_10c & 0xff0000) >> 8 | (local_10c & 0xff00) << 8 |\n                  local_10c << 0x18);\n    }\n    else {\n      local_7bc = local_578;\n      local_7b8 = local_574;\n      local_7cc = local_778[0];\n      if ((psVar38 != (stat64 *)0x0) && (local_91c != (stat64 *)0x1)) {\n        pr2serr("warning: %d LBA,number_of_blocks pairs found, only taking first\n",local_91c,\n                psVar17,psVar17);\n      }\n    }\nLAB_00012d48:\n    if (local_818 == 0) {\n      psVar25 = (stat64 *)((int)local_7cc * (int)local_7d4);\n    }\n    else {\n      psVar25 = (stat64 *)0x0;\n      if (local_810 == 0) {\n        psVar25 = local_7d4;\n      }\n    }\n    local_7a4 = psVar25;\n    if (psVar25 != (stat64 *)0x0) {\n      iVar14 = sg_memalign(psVar25,0,&local_8f0,0);\n      if (iVar14 == 0) {\n        pcVar15 = "unable to allocate %u bytes of memory\n";\n        ppvVar39 = (void **)0x0;\n        uVar16 = 0;\n        psVar38 = psVar25;\nLAB_00013bea:\n        pr2serr(pcVar15,psVar38,ppvVar39,uVar16);\n        local_908 = (stat64 *)sg_convert_errno(0xc);\n        goto LAB_00012354;\n      }\n      local_908 = (stat64 *)FUN_00014a80(&DAT_000173c6);\n      if (local_908 != (stat64 *)0x0) goto LAB_00012354;\n    }\n    local_908 = (stat64 *)FUN_00014b00(&local_820);\n    if (local_908 == (stat64 *)0x0) goto LAB_00012354;\n    if (local_81a != '\0') goto LAB_00012354;\n    puVar43 = local_174;\n    psVar25 = (stat64 *)"OS error";\n    puVar29 = puVar43;\n    for (iVar14 = 9; iVar14 != 0; iVar14 = iVar14 + -1) {\n      *puVar29 = (char)psVar25->st_dev;\n      psVar25 = (stat64 *)((int)psVar25 + (uint)bVar32 * -2 + 1);\n      puVar29 = puVar29 + (uint)bVar32 * -2 + 1;\n    }\n    uVar16 = 0;\n    if (0 < (int)local_908) {\n      sg_get_category_sense_str(local_908,0x50,puVar43,psVar38);\n      uVar16 = extraout_ECX_02;\n    }\n    pr2serr("%s: %s\n",local_790,puVar43,uVar16);\n    goto LAB_00012354;\n  }\n  local_8e8 = (void *)0x0;\n  local_8f6 = local_8f8;\n  local_8ec = (undefined1  [4])local_8f4;\n  if (local_81c != '\0') {\n    if (local_7e2 == 0) {\n      if (local_7e0 == 0) {\n        psVar17 = local_93c;\n        if (local_93c == (stat64 *)0x0) {\n          pr2serr("With --combined= if DOF, RD are 0 and IF has an unknown length\nthen give up\n");\n          local_908 = (stat64 *)0x1f;\n          goto LAB_00012354;\n        }\n      }\n      else {\n        psVar17 = (stat64 *)((local_7e0 + 1) * 0x20);\n      }\n      if ((uint)psVar17 % (uint)local_7d4 != 0) {\n        psVar17 = (stat64 *)(((uint)psVar17 / (uint)local_7d4 + 1) * (int)local_7d4);\n      }\n    }\n    else {\n      psVar17 = (stat64 *)((uint)local_7e2 * (int)local_7d4);\n    }\n    ppvVar39 = &local_8e8;\n    uVar16 = 0;\n    psVar38 = (stat64 *)0x0;\n    psVar25 = (stat64 *)sg_memalign(psVar17,0,ppvVar39,0);\n    if (psVar25 == (stat64 *)0x0) {\nLAB_000141a6:\n      pcVar15 = "unable to allocate aligned memory for scatterlist+data\n";\n      goto LAB_00013bea;\n    }\n    local_908 = (stat64 *)FUN_00014a80("IF c1");\n    if (local_908 != (stat64 *)0x0) goto LAB_000133fd;\n    cVar6 = FUN_000146a0(&local_8f6,local_8ec,0,0);\n    if (cVar6 != '\0') {\n      if ((local_7e0 == 0) || (local_7e0 == local_8f6)) {\n        local_7e0 = local_8f6;\nLAB_00013fe3:\n        local_908 = (stat64 *)((local_7e0 + 1) * 0x20);\n        if ((uint)local_908 % (uint)local_7d4 != 0) {\n          local_908 = (stat64 *)(((uint)local_908 / (uint)local_7d4 + 1) * (int)local_7d4);\n        }\n        uVar7 = (uint)local_7e2;\n        uVar24 = uVar7 * (int)local_7d4;\n        psVar38 = local_908;\n        local_8f6 = local_7e0;\n        if (uVar24 - (int)local_908 != 0) {\n          if (uVar24 < local_908) {\n            pr2serr("%s: Cannot fit %ss (%u) in given LB data offset (%u)\n","process_scattered",\n                    "LBA range descriptor",(uint)local_7e0,uVar7);\n            goto LAB_000133f3;\n          }\n          psVar38 = (stat64 *)uVar24;\n          if ((((uint)psVar18 | local_7f8) != 0) &&\n             (pr2serr("%s: empty blocks before LB data offset (%u), could be okay\n",\n                      "process_scattered",uVar7,(uint)psVar18 | local_7f8), local_7f8 != 0)) {\n            pr2serr("Exiting due to --strict; perhaps try again with --combined=%u\n",\n                    (uint)local_908 / (uint)local_7d4,psVar25,psVar25);\n            local_908 = (stat64 *)0xf;\n            goto LAB_000133fd;\n          }\n        }\n        psVar38 = (stat64 *)((int)local_8ec * (int)local_7d4 + (int)psVar38);\n        if (psVar38 <= psVar17) {\nLAB_0001418c:\n          local_7cc = (stat64 *)local_8ec;\n          local_7a4 = (stat64 *)((int)local_8ec * (int)local_7d4);\n          goto LAB_00013962;\n        }\n        if (local_93c != psVar38) {\n          if (local_93c < psVar38) {\n            pr2serr("Calculated dout length (%u) %s bytes available in IF (%u)\n",psVar38,\n                    &DAT_000170dd,local_93c);\n          }\n          else if ((psVar18 == (stat64 *)0x0 && local_7f8 == 0) ||\n                  (pr2serr("Calculated dout length (%u) %s bytes available in IF (%u)\n",psVar38,\n                           &DAT_00017110,local_93c), local_7f8 == 0)) goto LAB_00014113;\n          goto LAB_000133f3;\n        }\nLAB_00014113:\n        uVar33 = sg_memalign(psVar38,0,&local_8e4,0);\n        uVar16 = (undefined4)((ulonglong)uVar33 >> 0x20);\n        psVar38 = (stat64 *)uVar33;\n        if (psVar38 != (stat64 *)0x0) {\n          memcpy(psVar38,psVar25,(size_t)psVar17);\n          free(local_8e8);\n          local_8e8 = local_8e4;\n          local_908 = (stat64 *)FUN_00014a80("IF c2",psVar25,psVar17,uVar16);\n          psVar25 = psVar38;\n          if (local_908 != (stat64 *)0x0) goto LAB_000133fd;\n          goto LAB_0001418c;\n        }\nLAB_00014273:\n        pcVar15 = "unable to allocate memory for final scatterlist+data\n";\n        goto LAB_00013fbc;\n      }\n      if (local_8f6 < local_7e0) {\n        pr2serr("RD (%u) %s number of %ss (%u) found in IF\n",local_7e0,&DAT_000170dd,\n                "LBA range descriptor",local_8f6);\n      }\n      else if ((psVar18 == (stat64 *)0x0 && local_7f8 == 0) ||\n              (pr2serr("RD (%u) %s number of %ss (%u) found in IF\n",local_7e0,&DAT_00017110,\n                       "LBA range descriptor",local_8f6), local_7f8 == 0)) {\n        local_908 = (stat64 *)0x0;\n        for (psVar38 = psVar25; (stat64 *)(&psVar25->st_dev + (uint)local_7e0 * 4) != psVar38;\n            psVar38 = (stat64 *)&psVar38->st_rdev) {\n          uVar7 = psVar38->__pad2;\n          local_908 = (stat64 *)\n                      ((int)&local_908->st_dev +\n                      (uVar7 >> 0x18 | (uVar7 & 0xff0000) >> 8 | (uVar7 & 0xff00) << 8 |\n                      uVar7 << 0x18));\n        }\n        local_8ec = (undefined1  [4])local_908;\n        goto LAB_00013fe3;\n      }\n    }\nLAB_000133f3:\n    local_908 = (stat64 *)0xf;\n    goto LAB_000133fd;\n  }\n  if (local_91c != (stat64 *)0x0) {\n    local_8f6 = (ushort)local_91c;\n  }\n  if (local_798 == (char *)0x0) {\n    if (local_819 != '\0') goto LAB_00013dcd;\n    if (local_91c == (stat64 *)0x0) {\n      pr2serr("How did we get here??\n");\n      local_908 = (stat64 *)0x1;\n      goto LAB_000133fd;\n    }\n    if ((local_7e0 != 0) && (local_91c < (undefined *)(uint)local_7e0)) {\n      pr2serr("%s: number given to --scattered= (%u) exceeds number of --lba= elements (%u)\n",\n              "process_scattered",(undefined *)(uint)local_7e0,local_91c);\n      local_908 = (stat64 *)0x1f;\n      goto LAB_00012354;\n    }\n    uVar7 = (local_8f6 + 1) * 0x20;\n    local_7e2 = (ushort)(uVar7 / (uint)local_7d4);\n    if (uVar7 % (uint)local_7d4 != 0) {\n      local_7e2 = local_7e2 + 1;\n    }\n    iVar14 = 0;\n    local_8ec = (undefined1  [4])0x0;\n    do {\n      local_8ec = (undefined1  [4])((int)&((stat64 *)local_8ec)->st_dev + (int)ppsVar44[iVar14]);\n      iVar14 = iVar14 + 1;\n    } while (iVar14 < (int)local_91c);\n    psVar25 = (stat64 *)\n              sg_memalign((int)((int)&((stat64 *)local_8ec)->st_dev + (uint)local_7e2) *\n                          (int)local_7d4,0,&local_8e8,0);\n    if (psVar25 == (stat64 *)0x0) goto LAB_00013fb3;\n    iVar14 = 0;\n    psVar38 = psVar25;\n    do {\n      uVar7 = puVar42[iVar14 * 2];\n      uVar24 = puVar42[iVar14 * 2 + 1];\n      *(uint *)&psVar38->st_rdev =\n           uVar24 >> 0x18 | (uVar24 & 0xff0000) >> 8 | (uVar24 & 0xff00) << 8 | uVar24 << 0x18;\n      *(uint *)((int)&psVar38->st_rdev + 4) =\n           uVar7 >> 0x18 | (uVar7 & 0xff0000) >> 8 | (uVar7 & 0xff00) << 8 | uVar7 << 0x18;\n      psVar17 = ppsVar44[iVar14];\n      psVar38->__pad2 =\n           (uint)psVar17 >> 0x18 | ((uint)psVar17 & 0xff0000) >> 8 | ((uint)psVar17 & 0xff00) << 8 |\n           (int)psVar17 << 0x18;\n      if (local_81f != '\0') {\n        if (iVar14 == 0) {\n          *(uint *)&psVar38->st_size =\n               local_7c0 >> 0x18 | (local_7c0 & 0xff0000) >> 8 | (local_7c0 & 0xff00) << 8 |\n               local_7c0 << 0x18;\n          *(ushort *)((int)&psVar38->st_size + 4) = local_7e6 << 8 | local_7e6 >> 8;\n          *(ushort *)((int)&psVar38->st_size + 6) = local_7dc << 8 | local_7dc >> 8;\n        }\n        else {\n          *(undefined4 *)&psVar38->st_size = 0xffffffff;\n          *(undefined2 *)((int)&psVar38->st_size + 4) = 0xffff;\n          *(undefined2 *)((int)&psVar38->st_size + 6) = 0xffff;\n        }\n      }\n      iVar14 = iVar14 + 1;\n      psVar38 = (stat64 *)&psVar38->st_rdev;\n    } while (iVar14 < (int)local_91c);\n    local_7cc = (stat64 *)local_8ec;\n  }\n  else {\n    if (local_819 == '\0') {\n      uVar7 = (uint)local_8f6;\n      uVar16 = 0;\n      uVar24 = (uVar7 + 1) * 0x20;\n      local_7e2 = (ushort)(uVar24 / (uint)local_7d4);\n      ppvVar39 = &local_8e8;\n      if (uVar24 % (uint)local_7d4 != 0) {\n        local_7e2 = local_7e2 + 1;\n      }\n      psVar38 = (stat64 *)0x0;\n      psVar25 = (stat64 *)\n                sg_memalign((int)((int)&local_8f4->st_dev + (uint)local_7e2) * (int)local_7d4,0,\n                            ppvVar39,0);\n      if (psVar25 == (stat64 *)0x0) goto LAB_000141a6;\n      local_8f6 = 0;\n      local_8ec = (undefined1  [4])0x0;\n      if (uVar7 + 1 == 1) {\n        uVar24 = (uint)local_7e2 * (int)local_7d4;\n      }\n      local_908 = (stat64 *)FUN_000156d0(psVar25,&local_8f6,local_8ec,uVar24);\n      if (local_908 != (stat64 *)0x0) goto LAB_000133fd;\n      psVar38 = (stat64 *)((int)local_7d4 * (int)local_8ec);\n      if (local_7d0 <= psVar38) {\n        if ((local_7d0 <= psVar38 && (int)psVar38 - (int)local_7d0 != 0) &&\n           (local_7d0 != (stat64 *)0x0)) {\n          psVar38 = local_7d0;\n        }\nLAB_00014208:\n        if ((psVar45 != (stat64 *)0x0) && (psVar45 != psVar38)) {\n          if (psVar18 != (stat64 *)0x0) {\n            puVar20 = &DAT_00017110;\n            if (psVar38 <= psVar45) {\n              puVar20 = &DAT_000170dd;\n            }\n            pr2serr("readable length (%u) of IF %s bytes implied by sum of\nscatter list NUMs (%u) and DLEN\n"\n                    ,psVar45,puVar20,psVar38);\n          }\n          if ((local_7f8 != 0) && ((psVar38 <= psVar45 || (1 < (int)local_7f8)))) goto LAB_000133f3;\nLAB_0001387e:\n          if (psVar45 < psVar38) {\n            psVar38 = psVar45;\n          }\n        }\n        psVar17 = (stat64 *)((uint)psVar38 / (uint)local_7d4);\n        if (((uint)psVar38 % (uint)local_7d4 != 0) &&\n           ((psVar18 != (stat64 *)0x0 || (1 < (int)local_7f8)))) {\n          psVar22 = local_7d8;\n          pr2serr("Calculated data-out length (0x%x) not a multiple of BS (%u",psVar38,local_7d8,\n                  psVar17);\n          if (local_7d8 != local_7d4) {\n            psVar38 = (stat64 *)((int)local_7d4 - (int)local_7d8);\n            psVar22 = extraout_ECX_07;\n            psVar17 = extraout_ECX_07;\n            pr2serr(" + %d(PI)",psVar38,extraout_ECX_07,extraout_ECX_07);\n          }\n          if (1 < (int)local_7f8) {\n            pr2serr(")\nexiting ...\n",psVar38,psVar22,psVar17);\n            local_908 = (stat64 *)0xf;\n            goto LAB_000133fd;\n          }\n          pr2serr(")\nzero pad and continue ...\n",psVar38,psVar22,psVar17);\n        }\n      }\n      else {\n        uVar7 = (uint)psVar18 | local_7f8;\n        if (uVar7 != 0) {\n          pr2serr("DLEN > than bytes implied by sum of scatter list NUMs (%u)\n",psVar38,uVar7,uVar7\n                 );\n          if (1 < (int)psVar18) {\n            pr2serr("  num_lbard=%u, sum_num=%u actual_bs=%u",local_8f6,local_8ec,local_7d4);\n          }\n          if (local_7f8 != 0) goto LAB_000133f3;\n          goto LAB_00014208;\n        }\n        if ((psVar45 != (stat64 *)0x0) && (psVar45 != psVar38)) goto LAB_0001387e;\n      }\n      local_908 = (stat64 *)FUN_00014a80(&DAT_00017360);\n    }\n    else {\nLAB_00013dcd:\n      psVar38 = local_7d4;\n      if (local_7e0 != 0) {\n        psVar38 = (stat64 *)((local_7e0 + 1) * 0x20);\n        if (local_908 < psVar38) {\n          pr2serr("SF not long enough (%u bytes) to provide RD (%u) %ss\n",local_908,psVar38,\n                  "LBA range descriptor");\n          local_908 = (stat64 *)0xf;\n          goto LAB_000133fd;\n        }\n        psVar38 = (stat64 *)\n                  ((((uint)psVar38 / (uint)local_7d4 + 1) -\n                   (uint)((uint)psVar38 % (uint)local_7d4 == 0)) * (int)local_7d4);\n      }\n      local_918 = local_7d4;\n      if (local_93c != (stat64 *)0x0) {\n        local_918 = (stat64 *)\n                    ((((uint)local_93c / (uint)local_7d4 + 1) -\n                     (uint)((uint)local_93c % (uint)local_7d4 == 0)) * (int)local_7d4);\n      }\n      psVar25 = (stat64 *)\n                sg_memalign((undefined *)((int)&psVar38->st_dev + (int)&local_918->st_dev),0,\n                            &local_8e8,0);\n      if (psVar25 == (stat64 *)0x0) {\nLAB_00013fb3:\n        pcVar15 = "unable to allocate aligned memory for scatterlist+data\n";\nLAB_00013fbc:\n        pr2serr(pcVar15);\n        local_908 = (stat64 *)sg_convert_errno(0xc);\n        goto LAB_000133fd;\n      }\n      local_908 = (stat64 *)FUN_00014a80(&DAT_00017365);\n      if (local_908 != (stat64 *)0x0) goto LAB_000133fd;\n      psVar17 = (stat64 *)local_8ec;\n      psVar22 = extraout_ECX_08;\n      psVar8 = extraout_ECX_08;\n      cVar6 = FUN_000146a0(&local_8f6,psVar17,extraout_ECX_08,extraout_ECX_08);\n      if (cVar6 == '\0') goto LAB_000133f3;\n      if (local_7e0 != local_8f6) {\n        pr2serr("Try again with --scattered=%u\n",local_8f6,extraout_EDX_05,extraout_EDX_05);\n        local_908 = (stat64 *)0xf;\n        goto LAB_000133fd;\n      }\n      if (local_918 < (stat64 *)((int)local_7d4 * (int)local_8ec)) {\n        psVar9 = (stat64 *)\n                 sg_memalign((undefined *)\n                             ((int)&psVar38->st_dev +\n                             (int)&((stat64 *)((int)local_7d4 * (int)local_8ec))->st_dev),0,\n                             &local_8e4,0);\n        if (psVar9 == (stat64 *)0x0) goto LAB_00014273;\n        psVar22 = psVar38;\n        psVar8 = psVar9;\n        memcpy(psVar9,psVar25,(size_t)psVar38);\n        psVar17 = psVar25;\n        free(local_8e8);\n        local_8e8 = local_8e4;\n        psVar25 = psVar9;\n      }\n      if ((local_93c != psVar38) && (psVar18 != (stat64 *)0x0 || local_7f8 != 0)) {\n        psVar22 = (stat64 *)&DAT_000170dd;\n        if (local_93c <= psVar38) {\n          psVar22 = (stat64 *)&DAT_00017110;\n        }\n        psVar8 = psVar38;\n        pr2serr("IF length (%u) %s \'sum_num\' bytes (%u), ",local_93c,psVar22,psVar38);\n        if (1 < (int)local_7f8) {\n          pr2serr("exiting (strict=%d)\n",local_7f8,psVar38,psVar38);\n          local_908 = (stat64 *)0xf;\n          goto LAB_000133fd;\n        }\n        pr2serr("continuing ...\n",local_93c,psVar22,psVar8);\n        psVar17 = local_93c;\n      }\n      local_908 = (stat64 *)FUN_00014a80(&DAT_0001738d,psVar17,psVar22,psVar8);\n    }\n    if (local_908 != (stat64 *)0x0) goto LAB_000133fd;\n    local_7a4 = (stat64 *)((int)local_8ec * (int)local_7d4);\n    local_7cc = (stat64 *)local_8ec;\n  }\nLAB_00013962:\n  local_8ec = (undefined1  [4])local_7cc;\n  local_908 = (stat64 *)FUN_00014b00(&local_820);\n  if (local_908 != (stat64 *)0x0) {\n    puVar43 = local_174 + 0x50;\n    psVar25 = (stat64 *)"OS error";\n    puVar29 = puVar43;\n    for (iVar14 = 9; iVar14 != 0; iVar14 = iVar14 + -1) {\n      *puVar29 = (char)psVar25->st_dev;\n      psVar25 = (stat64 *)((int)psVar25 + (uint)bVar32 * -2 + 1);\n      puVar29 = puVar29 + (uint)bVar32 * -2 + 1;\n    }\n    if (0 < (int)local_908) {\n      sg_get_category_sense_str(local_908,0x50,puVar43,psVar18);\n    }\n    pr2serr("%s: %s\n",local_790,puVar43,psVar25);\n  }\nLAB_000133fd:\n  if (local_8e8 == (void *)0x0) goto LAB_00012354;\n  free(local_8e8);\n  goto LAB_00012354;\ncode_r0x000115f1:\n  uVar33 = sg_get_llnum(*(undefined4 *)PTR_optarg_0001dffc);\n  psVar38 = local_7d0;\n  uVar16 = uStack_7c4;\n  uVar7 = (uint)uVar33;\n  if ((int)((ulonglong)uVar33 >> 0x20) != 0) goto code_r0x00012b94;\n  goto code_r0x000114e8;\ncode_r0x00012b94:\n  pr2serr("bad argument to \'--ref-tag=\'. Expect 0 to 0xffffffff inclusive\n");\nLAB_00011a7a:\n  local_908 = (stat64 *)0x1;\nLAB_00011a84:\n  do {\n    psVar25 = (stat64 *)(local_24 ^ *(uint *)(in_GS_OFFSET + 0x14));\n    if (psVar25 == (stat64 *)0x0) {\n      return (int)local_908;\n    }\n    FUN_000162b0();\nLAB_00013b9f:\n    pr2serr("build_lba_arr: array length exceeded\n");\nLAB_00012130:\n    pr2serr("bad argument to \'--lba\'\n");\n    local_908 = (stat64 *)0x1;\nLAB_00012354:\n    if (local_8f0 != (void *)0x0) {\n      free(local_8f0);\n    }\n    iVar14 = sg_cmds_close_device(local_930);\n    if (iVar14 < 0) {\n      if (local_81a == '\0') {\n        uVar16 = safe_strerror(-iVar14);\n        pr2serr("sg_fd close error: %s\n",uVar16);\n      }\n      if (local_908 == (stat64 *)0x0) {\n        local_908 = (stat64 *)0xf;\n      }\n    }\n    if ((-1 < (int)local_920) && (iVar14 = close((int)local_920), iVar14 < 0)) {\n      if (local_81a == '\0') {\n        perror("sfr_fd close error");\n      }\n      if (local_908 == (stat64 *)0x0) {\n        local_908 = (stat64 *)0xf;\n      }\n    }\nLAB_000123a1:\n    if (((cVar2 == '\x01') || ((int)local_924 < 0)) ||\n       (pcVar15 = (char *)close((int)local_924), -1 < (int)pcVar15)) {\nLAB_000123cc:\n      if (((local_7f0 == (stat64 *)0x0) && (local_81a == '\0')) &&\n         (cVar6 = sg_if_can2stderr("sg_write_x failed: ",local_908,psVar25,psVar25), cVar6 == '\0'))\n      goto LAB_0001260b;\n      goto LAB_000123e2;\n    }\n    if (local_81a == '\0') {\n      pcVar15 = "infd close error";\n      perror("infd close error");\n    }\n    if (local_908 != (stat64 *)0x0) goto LAB_000123cc;\n    local_908 = (stat64 *)0xf;\n    if (((local_7f0 == (stat64 *)0x0) && (local_81a == '\0')) &&\n       (cVar6 = sg_if_can2stderr("sg_write_x failed: ",0xf,pcVar15,pcVar15), cVar6 == '\0')) {\nLAB_0001260b:\n      pr2serr("Some error occurred, try again with \'-v\' or \'-vv\' for more information\n");\nLAB_000123e2:\n      if ((int)local_908 < 0) {\n        local_908 = (stat64 *)0x63;\n      }\n    }\n  } while( true );\n}" { (declaration "byte bVar1;" type_identifier identifier ;) (declaration "char cVar2;" primitive_type identifier ;) (declaration "__dev_t *p_Var3;" type_identifier (pointer_declarator "*p_Var3" * identifier) ;) (declaration "undefined *puVar4;" type_identifier (pointer_declarator "*puVar4" * identifier) ;) (declaration "undefined *puVar5;" type_identifier (pointer_declarator "*puVar5" * identifier) ;) (declaration "char cVar6;" primitive_type identifier ;) (declaration "uint uVar7;" type_identifier identifier ;) (declaration "stat64 *psVar8;" type_identifier (pointer_declarator "*psVar8" * identifier) ;) (declaration "stat64 *psVar9;" type_identifier (pointer_declarator "*psVar9" * identifier) ;) (declaration "int iVar10;" primitive_type identifier ;) (declaration "stat64 *psVar11;" type_identifier (pointer_declarator "*psVar11" * identifier) ;) (declaration "char *pcVar12;" primitive_type (pointer_declarator "*pcVar12" * identifier) ;) (declaration "char *pcVar13;" primitive_type (pointer_declarator "*pcVar13" * identifier) ;) (declaration "int iVar14;" primitive_type identifier ;) (declaration "char *pcVar15;" primitive_type (pointer_declarator "*pcVar15" * identifier) ;) (declaration "undefined4 uVar16;" type_identifier identifier ;) (declaration "stat64 *psVar17;" type_identifier (pointer_declarator "*psVar17" * identifier) ;) (declaration "stat64 *psVar18;" type_identifier (pointer_declarator "*psVar18" * identifier) ;) (declaration "int *piVar19;" primitive_type (pointer_declarator "*piVar19" * identifier) ;) (declaration "undefined *puVar20;" type_identifier (pointer_declarator "*puVar20" * identifier) ;) (declaration "int iVar21;" primitive_type identifier ;) (declaration "stat64 *extraout_ECX;" type_identifier (pointer_declarator "*extraout_ECX" * identifier) ;) (declaration "stat64 *extraout_ECX_00;" type_identifier (pointer_declarator "*extraout_ECX_00" * identifier) ;) (declaration "stat64 *extraout_ECX_01;" type_identifier (pointer_declarator "*extraout_ECX_01" * identifier) ;) (declaration "undefined4 extraout_ECX_02;" type_identifier identifier ;) (declaration "undefined4 extraout_ECX_03;" type_identifier identifier ;) (declaration "stat64 *extraout_ECX_04;" type_identifier (pointer_declarator "*extraout_ECX_04" * identifier) ;) (declaration "stat64 *extraout_ECX_05;" type_identifier (pointer_declarator "*extraout_ECX_05" * identifier) ;) (declaration "stat64 *extraout_ECX_06;" type_identifier (pointer_declarator "*extraout_ECX_06" * identifier) ;) (declaration "stat64 *extraout_ECX_07;" type_identifier (pointer_declarator "*extraout_ECX_07" * identifier) ;) (declaration "stat64 *extraout_ECX_08;" type_identifier (pointer_declarator "*extraout_ECX_08" * identifier) ;) (declaration "int extraout_EDX;" primitive_type identifier ;) (declaration "stat64 *psVar22;" type_identifier (pointer_declarator "*psVar22" * identifier) ;) (declaration "stat64 *psVar23;" type_identifier (pointer_declarator "*psVar23" * identifier) ;) (declaration "stat64 *extraout_EDX_00;" type_identifier (pointer_declarator "*extraout_EDX_00" * identifier) ;) (declaration "undefined4 extraout_EDX_01;" type_identifier identifier ;) (declaration "stat64 *extraout_EDX_02;" type_identifier (pointer_declarator "*extraout_EDX_02" * identifier) ;) (declaration "stat64 *extraout_EDX_03;" type_identifier (pointer_declarator "*extraout_EDX_03" * identifier) ;) (declaration "stat64 *extraout_EDX_04;" type_identifier (pointer_declarator "*extraout_EDX_04" * identifier) ;) (declaration "undefined4 extraout_EDX_05;" type_identifier identifier ;) (declaration "uint uVar24;" type_identifier identifier ;) (declaration "stat64 *psVar25;" type_identifier (pointer_declarator "*psVar25" * identifier) ;) (declaration "uint *puVar26;" type_identifier (pointer_declarator "*puVar26" * identifier) ;) (declaration "stat64 **ppsVar27;" type_identifier (pointer_declarator "**ppsVar27" * (pointer_declarator "*ppsVar27" * identifier)) ;) (declaration "int iVar28;" primitive_type identifier ;) (declaration "undefined1 *puVar29;" type_identifier (pointer_declarator "*puVar29" * identifier) ;) (declaration "int in_GS_OFFSET;" primitive_type identifier ;) (declaration "bool bVar30;" primitive_type identifier ;) (declaration "bool bVar31;" primitive_type identifier ;) (declaration "byte bVar32;" type_identifier identifier ;) (declaration "undefined8 uVar33;" type_identifier identifier ;) (declaration "longlong lVar34;" type_identifier identifier ;) (declaration "__off64_t _Var35;" type_identifier identifier ;) (declaration "undefined4 uVar36;" type_identifier identifier ;) (declaration "undefined4 uVar37;" type_identifier identifier ;) (declaration "stat64 *psVar38;" type_identifier (pointer_declarator "*psVar38" * identifier) ;) (declaration "void **ppvVar39;" primitive_type (pointer_declarator "**ppvVar39" * (pointer_declarator "*ppvVar39" * identifier)) ;) (declaration "undefined4 uVar40;" type_identifier identifier ;) (declaration "uint uVar41;" type_identifier identifier ;) (declaration "uint *puVar42;" type_identifier (pointer_declarator "*puVar42" * identifier) ;) (declaration "undefined1 *puVar43;" type_identifier (pointer_declarator "*puVar43" * identifier) ;) (declaration "stat64 **ppsVar44;" type_identifier (pointer_declarator "**ppsVar44" * (pointer_declarator "*ppsVar44" * identifier)) ;) (declaration "stat64 *psVar45;" type_identifier (pointer_declarator "*psVar45" * identifier) ;) (declaration "char local_93f;" primitive_type identifier ;) (declaration "stat64 *local_93c;" type_identifier (pointer_declarator "*local_93c" * identifier) ;) (declaration "stat64 *local_930;" type_identifier (pointer_declarator "*local_930" * identifier) ;) (declaration "stat64 *local_924;" type_identifier (pointer_declarator "*local_924" * identifier) ;) (declaration "stat64 *local_920;" type_identifier (pointer_declarator "*local_920" * identifier) ;) (declaration "stat64 *local_91c;" type_identifier (pointer_declarator "*local_91c" * identifier) ;) (declaration "stat64 *local_918;" type_identifier (pointer_declarator "*local_918" * identifier) ;) (declaration "stat64 *local_908;" type_identifier (pointer_declarator "*local_908" * identifier) ;) (declaration "ushort local_8f8;" type_identifier identifier ;) (declaration "ushort local_8f6;" type_identifier identifier ;) (declaration "stat64 *local_8f4;" type_identifier (pointer_declarator "*local_8f4" * identifier) ;) (declaration "void *local_8f0;" primitive_type (pointer_declarator "*local_8f0" * identifier) ;) (declaration "undefined1 local_8ec [4];" type_identifier (array_declarator "local_8ec [4]" identifier [ number_literal ]) ;) (declaration "void *local_8e8;" primitive_type (pointer_declarator "*local_8e8" * identifier) ;) (declaration "void *local_8e4;" primitive_type (pointer_declarator "*local_8e4" * identifier) ;) (declaration "undefined1 local_8e0 [48];" type_identifier (array_declarator "local_8e0 [48]" identifier [ number_literal ]) ;) (declaration "int local_8b0;" primitive_type identifier ;) (declaration "undefined1 local_880 [96];" type_identifier (array_declarator "local_880 [96]" identifier [ number_literal ]) ;) (declaration "char local_820;" primitive_type identifier ;) (declaration "char local_81f;" primitive_type identifier ;) (declaration "byte bStack_81e;" type_identifier identifier ;) (declaration "byte local_81d;" type_identifier identifier ;) (declaration "char local_81c;" primitive_type identifier ;) (declaration "byte local_81b;" type_identifier identifier ;) (declaration "char local_81a;" primitive_type identifier ;) (declaration "char local_819;" primitive_type identifier ;) (declaration "byte local_818;" type_identifier identifier ;) (declaration "byte local_817;" type_identifier identifier ;) (declaration "byte local_816;" type_identifier identifier ;) (declaration "byte bStack_815;" type_identifier identifier ;) (declaration "byte local_814;" type_identifier identifier ;) (declaration "char local_813;" primitive_type identifier ;) (declaration "undefined1 uStack_812;" type_identifier identifier ;) (declaration "undefined1 uStack_811;" type_identifier identifier ;) (declaration "byte local_810;" type_identifier identifier ;) (declaration "char local_80f;" primitive_type identifier ;) (declaration "char local_80e;" primitive_type identifier ;) (declaration "uint uStack_80c;" type_identifier identifier ;) (declaration "int iStack_808;" primitive_type identifier ;) (declaration "uint uStack_804;" type_identifier identifier ;) (declaration "int local_800;" primitive_type identifier ;) (declaration "int local_7fc;" primitive_type identifier ;) (declaration "uint local_7f8;" type_identifier identifier ;) (declaration "int local_7f4;" primitive_type identifier ;) (declaration "stat64 *local_7f0;" type_identifier (pointer_declarator "*local_7f0" * identifier) ;) (declaration "stat64 *local_7ec;" type_identifier (pointer_declarator "*local_7ec" * identifier) ;) (declaration "undefined1 uStack_7e8;" type_identifier identifier ;) (declaration "undefined1 uStack_7e7;" type_identifier identifier ;) (declaration "ushort local_7e6;" type_identifier identifier ;) (declaration "undefined2 uStack_7e4;" type_identifier identifier ;) (declaration "ushort local_7e2;" type_identifier identifier ;) (declaration "ushort local_7e0;" type_identifier identifier ;) (declaration "undefined2 uStack_7de;" type_identifier identifier ;) (declaration "ushort local_7dc;" type_identifier identifier ;) (declaration "undefined2 uStack_7da;" type_identifier identifier ;) (declaration "stat64 *local_7d8;" type_identifier (pointer_declarator "*local_7d8" * identifier) ;) (declaration "stat64 *local_7d4;" type_identifier (pointer_declarator "*local_7d4" * identifier) ;) (declaration "stat64 *local_7d0;" type_identifier (pointer_declarator "*local_7d0" * identifier) ;) (declaration "stat64 *local_7cc;" type_identifier (pointer_declarator "*local_7cc" * identifier) ;) (declaration "undefined4 uStack_7c8;" type_identifier identifier ;) (declaration "undefined4 uStack_7c4;" type_identifier identifier ;) (declaration "uint local_7c0;" type_identifier identifier ;) (declaration "uint local_7bc;" type_identifier identifier ;) (declaration "uint local_7b8;" type_identifier identifier ;) (declaration "stat64 *local_7b4;" type_identifier (pointer_declarator "*local_7b4" * identifier) ;) (declaration "stat64 *local_7b0;" type_identifier (pointer_declarator "*local_7b0" * identifier) ;) (declaration "int local_7ac;" primitive_type identifier ;) (declaration "int local_7a8;" primitive_type identifier ;) (declaration "stat64 *local_7a4;" type_identifier (pointer_declarator "*local_7a4" * identifier) ;) (declaration "stat64 *local_7a0;" type_identifier (pointer_declarator "*local_7a0" * identifier) ;) (declaration "char *local_79c;" primitive_type (pointer_declarator "*local_79c" * identifier) ;) (declaration "char *local_798;" primitive_type (pointer_declarator "*local_798" * identifier) ;) (declaration "stat64 *local_794;" type_identifier (pointer_declarator "*local_794" * identifier) ;) (declaration "undefined1 local_790 [24];" type_identifier (array_declarator "local_790 [24]" identifier [ number_literal ]) ;) (declaration "stat64 *local_778 [128];" type_identifier (pointer_declarator "*local_778 [128]" * (array_declarator "local_778 [128]" identifier [ number_literal ])) ;) (declaration "uint local_578;" type_identifier identifier ;) (declaration "uint local_574;" type_identifier identifier ;) (declaration "undefined1 local_174 [96];" type_identifier (array_declarator "local_174 [96]" identifier [ number_literal ]) ;) (declaration "uint local_114;" type_identifier identifier ;) (declaration "uint local_110;" type_identifier identifier ;) (declaration "uint local_10c;" type_identifier identifier ;) (declaration "uint local_104;" type_identifier identifier ;) (declaration "uint local_100;" type_identifier identifier ;) (declaration "uint local_fc;" type_identifier identifier ;) (declaration "uint local_f8;" type_identifier identifier ;) (declaration "ushort local_f4;" type_identifier identifier ;) (declaration "ushort local_f2;" type_identifier identifier ;) (declaration "uint local_24;" type_identifier identifier ;) (declaration "undefined4 *local_18;" type_identifier (pointer_declarator "*local_18" * identifier) ;) (expression_statement "iVar28 = param_2;" (assignment_expression "iVar28 = param_2" identifier = identifier) ;) (expression_statement "iVar14 = param_1;" (assignment_expression "iVar14 = param_1" identifier = identifier) ;) (expression_statement "puVar20 = PTR_optarg_0001dffc;" (assignment_expression "puVar20 = PTR_optarg_0001dffc" identifier = identifier) ;) (expression_statement "bVar32 = 0;" (assignment_expression "bVar32 = 0" identifier = number_literal) ;) (expression_statement "local_18 = &param_1;" (assignment_expression "local_18 = &param_1" identifier = (pointer_expression "&param_1" & identifier)) ;) (expression_statement "local_24 = *(uint *)(in_GS_OFFSET + 0x14);" (assignment_expression "local_24 = *(uint *)(in_GS_OFFSET + 0x14)" identifier = (pointer_expression "*(uint *)(in_GS_OFFSET + 0x14)" * (cast_expression "(uint *)(in_GS_OFFSET + 0x14)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_GS_OFFSET + 0x14)" ( (binary_expression "in_GS_OFFSET + 0x14" identifier + number_literal) ))))) ;) (expression_statement "local_8f8 = 0;" (assignment_expression "local_8f8 = 0" identifier = number_literal) ;) (expression_statement "local_8f4 = (stat64 *)0x0;" (assignment_expression "local_8f4 = (stat64 *)0x0" identifier = (cast_expression "(stat64 *)0x0" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_8f0 = (void *)0x0;" (assignment_expression "local_8f0 = (void *)0x0" identifier = (cast_expression "(void *)0x0" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_918 = (stat64 *)0x0;" (assignment_expression "local_918 = (stat64 *)0x0" identifier = (cast_expression "(stat64 *)0x0" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_91c = (stat64 *)0x0;" (assignment_expression "local_91c = (stat64 *)0x0" identifier = (cast_expression "(stat64 *)0x0" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "pcVar15 = &local_820;" (assignment_expression "pcVar15 = &local_820" identifier = (pointer_expression "&local_820" & identifier)) ;) (for_statement "for (iVar21 = 0x2a; iVar21 != 0; iVar21 = iVar21 + -1) {\n    pcVar15[0] = '\0';\n    pcVar15[1] = '\0';\n    pcVar15[2] = '\0';\n    pcVar15[3] = '\0';\n    pcVar15 = pcVar15 + 4;\n  }" for ( (assignment_expression "iVar21 = 0x2a" identifier = number_literal) ; (binary_expression "iVar21 != 0" identifier != number_literal) ; (assignment_expression "iVar21 = iVar21 + -1" identifier = (binary_expression "iVar21 + -1" identifier + number_literal)) ) (compound_statement "{\n    pcVar15[0] = '\0';\n    pcVar15[1] = '\0';\n    pcVar15[2] = '\0';\n    pcVar15[3] = '\0';\n    pcVar15 = pcVar15 + 4;\n  }" { (expression_statement "pcVar15[0] = '\0';" (assignment_expression "pcVar15[0] = '\0'" (subscript_expression "pcVar15[0]" identifier [ number_literal ]) = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "pcVar15[1] = '\0';" (assignment_expression "pcVar15[1] = '\0'" (subscript_expression "pcVar15[1]" identifier [ number_literal ]) = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "pcVar15[2] = '\0';" (assignment_expression "pcVar15[2] = '\0'" (subscript_expression "pcVar15[2]" identifier [ number_literal ]) = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "pcVar15[3] = '\0';" (assignment_expression "pcVar15[3] = '\0'" (subscript_expression "pcVar15[3]" identifier [ number_literal ]) = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "pcVar15 = pcVar15 + 4;" (assignment_expression "pcVar15 = pcVar15 + 4" identifier = (binary_expression "pcVar15 + 4" identifier + number_literal)) ;) })) (expression_statement "local_930 = (stat64 *)local_8e0;" (assignment_expression "local_930 = (stat64 *)local_8e0" identifier = (cast_expression "(stat64 *)local_8e0" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "local_7fc = -1;" (assignment_expression "local_7fc = -1" identifier = number_literal) ;) (expression_statement "psVar18 = local_930;" (assignment_expression "psVar18 = local_930" identifier = identifier) ;) (for_statement "for (iVar21 = 0x18; iVar21 != 0; iVar21 = iVar21 + -1) {\n    *(undefined4 *)&psVar18->st_dev = 0;\n    psVar18 = (stat64 *)((int)&psVar18->st_dev + 4);\n  }" for ( (assignment_expression "iVar21 = 0x18" identifier = number_literal) ; (binary_expression "iVar21 != 0" identifier != number_literal) ; (assignment_expression "iVar21 = iVar21 + -1" identifier = (binary_expression "iVar21 + -1" identifier + number_literal)) ) (compound_statement "{\n    *(undefined4 *)&psVar18->st_dev = 0;\n    psVar18 = (stat64 *)((int)&psVar18->st_dev + 4);\n  }" { (expression_statement "*(undefined4 *)&psVar18->st_dev = 0;" (assignment_expression "*(undefined4 *)&psVar18->st_dev = 0" (pointer_expression "*(undefined4 *)&psVar18->st_dev" * (cast_expression "(undefined4 *)&psVar18->st_dev" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&psVar18->st_dev" & (field_expression "psVar18->st_dev" identifier -> field_identifier)))) = number_literal) ;) (expression_statement "psVar18 = (stat64 *)((int)&psVar18->st_dev + 4);" (assignment_expression "psVar18 = (stat64 *)((int)&psVar18->st_dev + 4)" identifier = (cast_expression "(stat64 *)((int)&psVar18->st_dev + 4)" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&psVar18->st_dev + 4)" ( (binary_expression "(int)&psVar18->st_dev + 4" (cast_expression "(int)&psVar18->st_dev" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&psVar18->st_dev" & (field_expression "psVar18->st_dev" identifier -> field_identifier))) + number_literal) )))) ;) })) (expression_statement "psVar18 = (stat64 *)local_880;" (assignment_expression "psVar18 = (stat64 *)local_880" identifier = (cast_expression "(stat64 *)local_880" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "local_7c0 = 0xffffffff;" (assignment_expression "local_7c0 = 0xffffffff" identifier = number_literal) ;) (expression_statement "psVar38 = psVar18;" (assignment_expression "psVar38 = psVar18" identifier = identifier) ;) (for_statement "for (iVar21 = 0x18; iVar21 != 0; iVar21 = iVar21 + -1) {\n    *(undefined4 *)&psVar38->st_dev = 0;\n    psVar38 = (stat64 *)((int)&psVar38->st_dev + 4);\n  }" for ( (assignment_expression "iVar21 = 0x18" identifier = number_literal) ; (binary_expression "iVar21 != 0" identifier != number_literal) ; (assignment_expression "iVar21 = iVar21 + -1" identifier = (binary_expression "iVar21 + -1" identifier + number_literal)) ) (compound_statement "{\n    *(undefined4 *)&psVar38->st_dev = 0;\n    psVar38 = (stat64 *)((int)&psVar38->st_dev + 4);\n  }" { (expression_statement "*(undefined4 *)&psVar38->st_dev = 0;" (assignment_expression "*(undefined4 *)&psVar38->st_dev = 0" (pointer_expression "*(undefined4 *)&psVar38->st_dev" * (cast_expression "(undefined4 *)&psVar38->st_dev" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&psVar38->st_dev" & (field_expression "psVar38->st_dev" identifier -> field_identifier)))) = number_literal) ;) (expression_statement "psVar38 = (stat64 *)((int)&psVar38->st_dev + 4);" (assignment_expression "psVar38 = (stat64 *)((int)&psVar38->st_dev + 4)" identifier = (cast_expression "(stat64 *)((int)&psVar38->st_dev + 4)" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&psVar38->st_dev + 4)" ( (binary_expression "(int)&psVar38->st_dev + 4" (cast_expression "(int)&psVar38->st_dev" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&psVar38->st_dev" & (field_expression "psVar38->st_dev" identifier -> field_identifier))) + number_literal) )))) ;) })) (expression_statement "cVar2 = ' ';" (assignment_expression "cVar2 = ' '" identifier = (char_literal "' '" ' character ')) ;) (expression_statement "local_7e6 = 0xffff;" (assignment_expression "local_7e6 = 0xffff" identifier = number_literal) ;) (expression_statement "local_7dc = 0xffff;" (assignment_expression "local_7dc = 0xffff" identifier = number_literal) ;) (expression_statement "local_7f4 = 0x78;" (assignment_expression "local_7f4 = 0x78" identifier = number_literal) ;) (expression_statement "bVar1 = 0;" (assignment_expression "bVar1 = 0" identifier = number_literal) ;) (expression_statement "local_924 = (stat64 *)PTR_optarg_0001dffc;" (assignment_expression "local_924 = (stat64 *)PTR_optarg_0001dffc" identifier = (cast_expression "(stat64 *)PTR_optarg_0001dffc" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "psVar38 = local_7d0;" (assignment_expression "psVar38 = local_7d0" identifier = identifier) ;) (expression_statement "uVar16 = uStack_7c4;" (assignment_expression "uVar16 = uStack_7c4" identifier = identifier) ;) (expression_statement "uVar7 = local_7c0;" (assignment_expression "uVar7 = local_7c0" identifier = identifier) ;) (labeled_statement "code_r0x000114e8:\n  local_7c0 = uVar7;" statement_identifier : (expression_statement "local_7c0 = uVar7;" (assignment_expression "local_7c0 = uVar7" identifier = identifier) ;)) (expression_statement "uStack_7c4 = uVar16;" (assignment_expression "uStack_7c4 = uVar16" identifier = identifier) ;) (expression_statement "local_7d0 = psVar38;" (assignment_expression "local_7d0 = psVar38" identifier = identifier) ;) (expression_statement "local_8e4 = (void *)0x0;" (assignment_expression "local_8e4 = (void *)0x0" identifier = (cast_expression "(void *)0x0" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "uVar33 = getopt_long(iVar14,iVar28,"36a:A:b:B:c:dD:Efg:G:hi:I:l:M:n:No:Oq:Qr:RsS:t:T:u:vVw:x",\n                       &PTR_DAT_0001e020,&local_8e4);" (assignment_expression "uVar33 = getopt_long(iVar14,iVar28,"36a:A:b:B:c:dD:Efg:G:hi:I:l:M:n:No:Oq:Qr:RsS:t:T:u:vVw:x",\n                       &PTR_DAT_0001e020,&local_8e4)" identifier = (call_expression "getopt_long(iVar14,iVar28,"36a:A:b:B:c:dD:Efg:G:hi:I:l:M:n:No:Oq:Qr:RsS:t:T:u:vVw:x",\n                       &PTR_DAT_0001e020,&local_8e4)" identifier (argument_list "(iVar14,iVar28,"36a:A:b:B:c:dD:Efg:G:hi:I:l:M:n:No:Oq:Qr:RsS:t:T:u:vVw:x",\n                       &PTR_DAT_0001e020,&local_8e4)" ( identifier , identifier , (string_literal ""36a:A:b:B:c:dD:Efg:G:hi:I:l:M:n:No:Oq:Qr:RsS:t:T:u:vVw:x"" " string_content ") , (pointer_expression "&PTR_DAT_0001e020" & identifier) , (pointer_expression "&local_8e4" & identifier) )))) ;) (expression_statement "puVar5 = PTR_optarg_0001dffc;" (assignment_expression "puVar5 = PTR_optarg_0001dffc" identifier = identifier) ;) (expression_statement "puVar4 = PTR_optind_0001dfe4;" (assignment_expression "puVar4 = PTR_optind_0001dfe4" identifier = identifier) ;) (if_statement "if ((int)uVar33 == -1) {\n    iVar21 = *(int *)PTR_optind_0001dfe4;\n    local_920 = (stat64 *)0xffffffff;\n    if (iVar21 < iVar14) {\n      iVar10 = (int)((ulonglong)uVar33 >> 0x20);\n      if (local_7a0 != (stat64 *)0x0) goto LAB_00011c60;\n      local_7a0 = *(stat64 **)(iVar28 + iVar21 * 4);\n      *(int *)PTR_optind_0001dfe4 = iVar21 + 1;\n      iVar10 = iVar28;\n      if (iVar21 + 1 < iVar14) goto LAB_00011c60;\n    }\n    if ((bool)(bVar1 & local_7f8 != 0)) goto LAB_00011a7a;\n    if (0 < local_800) {\n      FUN_000149b0();\n      local_908 = (stat64 *)0x0;\n      goto LAB_00011a84;\n    }\n    if (local_80f == '\0') {\nLAB_00011c9f:\n      if (local_80e != '\0') {\n        pr2serr("sg_write_x version: %s\n","1.19 20180628",puVar4,puVar4);\n        local_908 = (stat64 *)0x270f;\n        goto LAB_00011a84;\n      }\n    }\n    else if (local_80e != '\0') {\n      pr2serr("Not in DEBUG mode, so \'-vV\' has no special action\n");\n      goto LAB_00011c9f;\n    }\n    psVar38 = local_7f0;\n    psVar17 = psVar38;\n    if (local_820 == '\0') {\n      if (local_81f == '\0') {\n        psVar17 = (stat64 *)((int)&local_7f0[-1].st_ino + 7);\n        local_820 = '\x01';\n        if (psVar17 != (stat64 *)0x0 && 0 < (int)local_7f0) {\n          pr2serr("Since neither --16 nor --32 given, choose --16\n");\n        }\n      }\n    }\n    else if ((local_81f != '\0') && (local_820 = '\0', 1 < (int)local_7f0)) {\n      pr2serr("Since both --16 and --32 given, choose --32\n");\n    }\n    uVar7 = (uint)local_81d + (uint)local_814 + (uint)local_81b + (uint)local_818 + (uint)local_817\n            + (uint)local_816;\n    if (1 < uVar7) {\n      pr2serr(\n             "Can only select one command; so only one of --atomic, --normal, --or,\n--same=, --scattered= or --stream=\n"\n             );\n      local_908 = (stat64 *)0x1f;\n      goto LAB_00011a84;\n    }\n    if (uVar7 == 0) {\n      if (local_7f8 != 0) {\n        pr2serr("With --strict won\'t default to a normal WRITE, add --normal\n");\n        local_908 = (stat64 *)0x1f;\n        goto LAB_00011a84;\n      }\n      local_794 = (stat64 *)0x17164;\n      local_814 = 1;\n      if (psVar38 != (stat64 *)0x0) {\n        pr2serr("No command selected so choose \'normal\' WRITE\n");\n      }\n    }\n    psVar8 = (stat64 *)((-(uint)(local_820 == '\0') & 0x10) + 0x10);\n    psVar22 = local_794;\n    __snprintf_chk(local_790,0x18,1,0x18,"%s(%d)",local_794,psVar8,psVar17);\n    if (local_81c == '\0') {\n      if (local_798 != (char *)0x0) {\n        local_93f = local_918 != (stat64 *)0x0;\n        bVar30 = local_91c != (stat64 *)0x0 || local_918 != (stat64 *)0x0;\n        bVar31 = local_91c != (stat64 *)0x0;\n        if (local_91c == (stat64 *)0x0 && local_918 == (stat64 *)0x0) {\n          iVar14 = -1;\n          pcVar15 = local_798;\n          goto code_r0x00011d5c;\n        }\n        pr2serr(\n               "want one and only one of: (--lba=LBA and/or --num=NUM), or\n--scat-file=SF, or --combined=DOF\n"\n               );\n        local_908 = (stat64 *)0x1f;\n        goto LAB_00011a84;\n      }\n      if (local_819 == '\0') {\n        local_93f = local_918 != (stat64 *)0x0;\n        bVar30 = local_91c != (stat64 *)0x0 || local_918 != (stat64 *)0x0;\n        bVar31 = local_91c != (stat64 *)0x0;\n        goto LAB_00011d67;\n      }\n      pr2serr(\n             "--scat-raw only applies to the --scat-file=SF option\n--scat-raw without the --scat-file=SF option is an error\n"\n             );\n      local_908 = (stat64 *)0x1f;\n      goto LAB_00011a84;\n    }\n    if (local_817 == 0) {\n      pr2serr(\n             "--combined=DOF only allowed with --scattered=RD (i.e. only with\nWRITE SCATTERED command)\n"\n             );\n      local_908 = (stat64 *)0x1f;\n      goto LAB_00011a84;\n    }\n    if (local_798 != (char *)0x0) {\n      pr2serr("Ambiguous: got --combined=DOF and --scat-file=SF .\nGive one, the other or neither\n"\n             );\n      local_908 = (stat64 *)0x1f;\n      goto LAB_00011a84;\n    }\n    if (local_91c == (stat64 *)0x0 && local_918 == (stat64 *)0x0) {\n      local_93f = local_819;\n      bVar30 = false;\n      bVar31 = false;\n      if (local_819 == '\0') goto LAB_00011d67;\n      pr2serr("Ambiguous: don\'t expect --combined=DOF and --scat-raw\nGive one or the other\n");\n      local_908 = (stat64 *)0x1f;\n    }\n    else {\n      pr2serr("--scattered=RD --combined=DOF does not use --lba= or --num=\nPlease remove.\n");\n      local_908 = (stat64 *)0x1f;\n    }\n    goto LAB_00011a84;\n  }" if (parenthesized_expression "((int)uVar33 == -1)" ( (binary_expression "(int)uVar33 == -1" (cast_expression "(int)uVar33" ( (type_descriptor "int" primitive_type) ) identifier) == number_literal) )) (compound_statement "{\n    iVar21 = *(int *)PTR_optind_0001dfe4;\n    local_920 = (stat64 *)0xffffffff;\n    if (iVar21 < iVar14) {\n      iVar10 = (int)((ulonglong)uVar33 >> 0x20);\n      if (local_7a0 != (stat64 *)0x0) goto LAB_00011c60;\n      local_7a0 = *(stat64 **)(iVar28 + iVar21 * 4);\n      *(int *)PTR_optind_0001dfe4 = iVar21 + 1;\n      iVar10 = iVar28;\n      if (iVar21 + 1 < iVar14) goto LAB_00011c60;\n    }\n    if ((bool)(bVar1 & local_7f8 != 0)) goto LAB_00011a7a;\n    if (0 < local_800) {\n      FUN_000149b0();\n      local_908 = (stat64 *)0x0;\n      goto LAB_00011a84;\n    }\n    if (local_80f == '\0') {\nLAB_00011c9f:\n      if (local_80e != '\0') {\n        pr2serr("sg_write_x version: %s\n","1.19 20180628",puVar4,puVar4);\n        local_908 = (stat64 *)0x270f;\n        goto LAB_00011a84;\n      }\n    }\n    else if (local_80e != '\0') {\n      pr2serr("Not in DEBUG mode, so \'-vV\' has no special action\n");\n      goto LAB_00011c9f;\n    }\n    psVar38 = local_7f0;\n    psVar17 = psVar38;\n    if (local_820 == '\0') {\n      if (local_81f == '\0') {\n        psVar17 = (stat64 *)((int)&local_7f0[-1].st_ino + 7);\n        local_820 = '\x01';\n        if (psVar17 != (stat64 *)0x0 && 0 < (int)local_7f0) {\n          pr2serr("Since neither --16 nor --32 given, choose --16\n");\n        }\n      }\n    }\n    else if ((local_81f != '\0') && (local_820 = '\0', 1 < (int)local_7f0)) {\n      pr2serr("Since both --16 and --32 given, choose --32\n");\n    }\n    uVar7 = (uint)local_81d + (uint)local_814 + (uint)local_81b + (uint)local_818 + (uint)local_817\n            + (uint)local_816;\n    if (1 < uVar7) {\n      pr2serr(\n             "Can only select one command; so only one of --atomic, --normal, --or,\n--same=, --scattered= or --stream=\n"\n             );\n      local_908 = (stat64 *)0x1f;\n      goto LAB_00011a84;\n    }\n    if (uVar7 == 0) {\n      if (local_7f8 != 0) {\n        pr2serr("With --strict won\'t default to a normal WRITE, add --normal\n");\n        local_908 = (stat64 *)0x1f;\n        goto LAB_00011a84;\n      }\n      local_794 = (stat64 *)0x17164;\n      local_814 = 1;\n      if (psVar38 != (stat64 *)0x0) {\n        pr2serr("No command selected so choose \'normal\' WRITE\n");\n      }\n    }\n    psVar8 = (stat64 *)((-(uint)(local_820 == '\0') & 0x10) + 0x10);\n    psVar22 = local_794;\n    __snprintf_chk(local_790,0x18,1,0x18,"%s(%d)",local_794,psVar8,psVar17);\n    if (local_81c == '\0') {\n      if (local_798 != (char *)0x0) {\n        local_93f = local_918 != (stat64 *)0x0;\n        bVar30 = local_91c != (stat64 *)0x0 || local_918 != (stat64 *)0x0;\n        bVar31 = local_91c != (stat64 *)0x0;\n        if (local_91c == (stat64 *)0x0 && local_918 == (stat64 *)0x0) {\n          iVar14 = -1;\n          pcVar15 = local_798;\n          goto code_r0x00011d5c;\n        }\n        pr2serr(\n               "want one and only one of: (--lba=LBA and/or --num=NUM), or\n--scat-file=SF, or --combined=DOF\n"\n               );\n        local_908 = (stat64 *)0x1f;\n        goto LAB_00011a84;\n      }\n      if (local_819 == '\0') {\n        local_93f = local_918 != (stat64 *)0x0;\n        bVar30 = local_91c != (stat64 *)0x0 || local_918 != (stat64 *)0x0;\n        bVar31 = local_91c != (stat64 *)0x0;\n        goto LAB_00011d67;\n      }\n      pr2serr(\n             "--scat-raw only applies to the --scat-file=SF option\n--scat-raw without the --scat-file=SF option is an error\n"\n             );\n      local_908 = (stat64 *)0x1f;\n      goto LAB_00011a84;\n    }\n    if (local_817 == 0) {\n      pr2serr(\n             "--combined=DOF only allowed with --scattered=RD (i.e. only with\nWRITE SCATTERED command)\n"\n             );\n      local_908 = (stat64 *)0x1f;\n      goto LAB_00011a84;\n    }\n    if (local_798 != (char *)0x0) {\n      pr2serr("Ambiguous: got --combined=DOF and --scat-file=SF .\nGive one, the other or neither\n"\n             );\n      local_908 = (stat64 *)0x1f;\n      goto LAB_00011a84;\n    }\n    if (local_91c == (stat64 *)0x0 && local_918 == (stat64 *)0x0) {\n      local_93f = local_819;\n      bVar30 = false;\n      bVar31 = false;\n      if (local_819 == '\0') goto LAB_00011d67;\n      pr2serr("Ambiguous: don\'t expect --combined=DOF and --scat-raw\nGive one or the other\n");\n      local_908 = (stat64 *)0x1f;\n    }\n    else {\n      pr2serr("--scattered=RD --combined=DOF does not use --lba= or --num=\nPlease remove.\n");\n      local_908 = (stat64 *)0x1f;\n    }\n    goto LAB_00011a84;\n  }" { (expression_statement "iVar21 = *(int *)PTR_optind_0001dfe4;" (assignment_expression "iVar21 = *(int *)PTR_optind_0001dfe4" identifier = (pointer_expression "*(int *)PTR_optind_0001dfe4" * (cast_expression "(int *)PTR_optind_0001dfe4" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) ;) (expression_statement "local_920 = (stat64 *)0xffffffff;" (assignment_expression "local_920 = (stat64 *)0xffffffff" identifier = (cast_expression "(stat64 *)0xffffffff" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (if_statement "if (iVar21 < iVar14) {\n      iVar10 = (int)((ulonglong)uVar33 >> 0x20);\n      if (local_7a0 != (stat64 *)0x0) goto LAB_00011c60;\n      local_7a0 = *(stat64 **)(iVar28 + iVar21 * 4);\n      *(int *)PTR_optind_0001dfe4 = iVar21 + 1;\n      iVar10 = iVar28;\n      if (iVar21 + 1 < iVar14) goto LAB_00011c60;\n    }" if (parenthesized_expression "(iVar21 < iVar14)" ( (binary_expression "iVar21 < iVar14" identifier < identifier) )) (compound_statement "{\n      iVar10 = (int)((ulonglong)uVar33 >> 0x20);\n      if (local_7a0 != (stat64 *)0x0) goto LAB_00011c60;\n      local_7a0 = *(stat64 **)(iVar28 + iVar21 * 4);\n      *(int *)PTR_optind_0001dfe4 = iVar21 + 1;\n      iVar10 = iVar28;\n      if (iVar21 + 1 < iVar14) goto LAB_00011c60;\n    }" { (expression_statement "iVar10 = (int)((ulonglong)uVar33 >> 0x20);" (assignment_expression "iVar10 = (int)((ulonglong)uVar33 >> 0x20)" identifier = (cast_expression "(int)((ulonglong)uVar33 >> 0x20)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((ulonglong)uVar33 >> 0x20)" ( (binary_expression "(ulonglong)uVar33 >> 0x20" (cast_expression "(ulonglong)uVar33" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) )))) ;) (if_statement "if (local_7a0 != (stat64 *)0x0) goto LAB_00011c60;" if (parenthesized_expression "(local_7a0 != (stat64 *)0x0)" ( (binary_expression "local_7a0 != (stat64 *)0x0" identifier != (cast_expression "(stat64 *)0x0" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_00011c60;" goto statement_identifier ;)) (expression_statement "local_7a0 = *(stat64 **)(iVar28 + iVar21 * 4);" (assignment_expression "local_7a0 = *(stat64 **)(iVar28 + iVar21 * 4)" identifier = (pointer_expression "*(stat64 **)(iVar28 + iVar21 * 4)" * (cast_expression "(stat64 **)(iVar28 + iVar21 * 4)" ( (type_descriptor "stat64 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar28 + iVar21 * 4)" ( (binary_expression "iVar28 + iVar21 * 4" identifier + (binary_expression "iVar21 * 4" identifier * number_literal)) ))))) ;) (expression_statement "*(int *)PTR_optind_0001dfe4 = iVar21 + 1;" (assignment_expression "*(int *)PTR_optind_0001dfe4 = iVar21 + 1" (pointer_expression "*(int *)PTR_optind_0001dfe4" * (cast_expression "(int *)PTR_optind_0001dfe4" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) = (binary_expression "iVar21 + 1" identifier + number_literal)) ;) (expression_statement "iVar10 = iVar28;" (assignment_expression "iVar10 = iVar28" identifier = identifier) ;) (if_statement "if (iVar21 + 1 < iVar14) goto LAB_00011c60;" if (parenthesized_expression "(iVar21 + 1 < iVar14)" ( (binary_expression "iVar21 + 1 < iVar14" (binary_expression "iVar21 + 1" identifier + number_literal) < identifier) )) (goto_statement "goto LAB_00011c60;" goto statement_identifier ;)) })) (if_statement "if ((bool)(bVar1 & local_7f8 != 0)) goto LAB_00011a7a;" if (parenthesized_expression "((bool)(bVar1 & local_7f8 != 0))" ( (cast_expression "(bool)(bVar1 & local_7f8 != 0)" ( (type_descriptor "bool" primitive_type) ) (parenthesized_expression "(bVar1 & local_7f8 != 0)" ( (binary_expression "bVar1 & local_7f8 != 0" identifier & (binary_expression "local_7f8 != 0" identifier != number_literal)) ))) )) (goto_statement "goto LAB_00011a7a;" goto statement_identifier ;)) (if_statement "if (0 < local_800) {\n      FUN_000149b0();\n      local_908 = (stat64 *)0x0;\n      goto LAB_00011a84;\n    }" if (parenthesized_expression "(0 < local_800)" ( (binary_expression "0 < local_800" number_literal < identifier) )) (compound_statement "{\n      FUN_000149b0();\n      local_908 = (stat64 *)0x0;\n      goto LAB_00011a84;\n    }" { (expression_statement "FUN_000149b0();" (call_expression "FUN_000149b0()" identifier (argument_list "()" ( ))) ;) (expression_statement "local_908 = (stat64 *)0x0;" (assignment_expression "local_908 = (stat64 *)0x0" identifier = (cast_expression "(stat64 *)0x0" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (goto_statement "goto LAB_00011a84;" goto statement_identifier ;) })) (if_statement "if (local_80f == '\0') {\nLAB_00011c9f:\n      if (local_80e != '\0') {\n        pr2serr("sg_write_x version: %s\n","1.19 20180628",puVar4,puVar4);\n        local_908 = (stat64 *)0x270f;\n        goto LAB_00011a84;\n      }\n    }\n    else if (local_80e != '\0') {\n      pr2serr("Not in DEBUG mode, so \'-vV\' has no special action\n");\n      goto LAB_00011c9f;\n    }" if (parenthesized_expression "(local_80f == '\0')" ( (binary_expression "local_80f == '\0'" identifier == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\nLAB_00011c9f:\n      if (local_80e != '\0') {\n        pr2serr("sg_write_x version: %s\n","1.19 20180628",puVar4,puVar4);\n        local_908 = (stat64 *)0x270f;\n        goto LAB_00011a84;\n      }\n    }" { (labeled_statement "LAB_00011c9f:\n      if (local_80e != '\0') {\n        pr2serr("sg_write_x version: %s\n","1.19 20180628",puVar4,puVar4);\n        local_908 = (stat64 *)0x270f;\n        goto LAB_00011a84;\n      }" statement_identifier : (if_statement "if (local_80e != '\0') {\n        pr2serr("sg_write_x version: %s\n","1.19 20180628",puVar4,puVar4);\n        local_908 = (stat64 *)0x270f;\n        goto LAB_00011a84;\n      }" if (parenthesized_expression "(local_80e != '\0')" ( (binary_expression "local_80e != '\0'" identifier != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n        pr2serr("sg_write_x version: %s\n","1.19 20180628",puVar4,puVar4);\n        local_908 = (stat64 *)0x270f;\n        goto LAB_00011a84;\n      }" { (expression_statement "pr2serr("sg_write_x version: %s\n","1.19 20180628",puVar4,puVar4);" (call_expression "pr2serr("sg_write_x version: %s\n","1.19 20180628",puVar4,puVar4)" identifier (argument_list "("sg_write_x version: %s\n","1.19 20180628",puVar4,puVar4)" ( (string_literal ""sg_write_x version: %s\n"" " string_content escape_sequence ") , (string_literal ""1.19 20180628"" " string_content ") , identifier , identifier ))) ;) (expression_statement "local_908 = (stat64 *)0x270f;" (assignment_expression "local_908 = (stat64 *)0x270f" identifier = (cast_expression "(stat64 *)0x270f" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (goto_statement "goto LAB_00011a84;" goto statement_identifier ;) }))) }) (else_clause "else if (local_80e != '\0') {\n      pr2serr("Not in DEBUG mode, so \'-vV\' has no special action\n");\n      goto LAB_00011c9f;\n    }" else (if_statement "if (local_80e != '\0') {\n      pr2serr("Not in DEBUG mode, so \'-vV\' has no special action\n");\n      goto LAB_00011c9f;\n    }" if (parenthesized_expression "(local_80e != '\0')" ( (binary_expression "local_80e != '\0'" identifier != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n      pr2serr("Not in DEBUG mode, so \'-vV\' has no special action\n");\n      goto LAB_00011c9f;\n    }" { (expression_statement "pr2serr("Not in DEBUG mode, so \'-vV\' has no special action\n");" (call_expression "pr2serr("Not in DEBUG mode, so \'-vV\' has no special action\n")" identifier (argument_list "("Not in DEBUG mode, so \'-vV\' has no special action\n")" ( (string_literal ""Not in DEBUG mode, so \'-vV\' has no special action\n"" " string_content escape_sequence string_content escape_sequence string_content escape_sequence ") ))) ;) (goto_statement "goto LAB_00011c9f;" goto statement_identifier ;) })))) (expression_statement "psVar38 = local_7f0;" (assignment_expression "psVar38 = local_7f0" identifier = identifier) ;) (expression_statement "psVar17 = psVar38;" (assignment_expression "psVar17 = psVar38" identifier = identifier) ;) (if_statement "if (local_820 == '\0') {\n      if (local_81f == '\0') {\n        psVar17 = (stat64 *)((int)&local_7f0[-1].st_ino + 7);\n        local_820 = '\x01';\n        if (psVar17 != (stat64 *)0x0 && 0 < (int)local_7f0) {\n          pr2serr("Since neither --16 nor --32 given, choose --16\n");\n        }\n      }\n    }\n    else if ((local_81f != '\0') && (local_820 = '\0', 1 < (int)local_7f0)) {\n      pr2serr("Since both --16 and --32 given, choose --32\n");\n    }" if (parenthesized_expression "(local_820 == '\0')" ( (binary_expression "local_820 == '\0'" identifier == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n      if (local_81f == '\0') {\n        psVar17 = (stat64 *)((int)&local_7f0[-1].st_ino + 7);\n        local_820 = '\x01';\n        if (psVar17 != (stat64 *)0x0 && 0 < (int)local_7f0) {\n          pr2serr("Since neither --16 nor --32 given, choose --16\n");\n        }\n      }\n    }" { (if_statement "if (local_81f == '\0') {\n        psVar17 = (stat64 *)((int)&local_7f0[-1].st_ino + 7);\n        local_820 = '\x01';\n        if (psVar17 != (stat64 *)0x0 && 0 < (int)local_7f0) {\n          pr2serr("Since neither --16 nor --32 given, choose --16\n");\n        }\n      }" if (parenthesized_expression "(local_81f == '\0')" ( (binary_expression "local_81f == '\0'" identifier == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n        psVar17 = (stat64 *)((int)&local_7f0[-1].st_ino + 7);\n        local_820 = '\x01';\n        if (psVar17 != (stat64 *)0x0 && 0 < (int)local_7f0) {\n          pr2serr("Since neither --16 nor --32 given, choose --16\n");\n        }\n      }" { (expression_statement "psVar17 = (stat64 *)((int)&local_7f0[-1].st_ino + 7);" (assignment_expression "psVar17 = (stat64 *)((int)&local_7f0[-1].st_ino + 7)" identifier = (cast_expression "(stat64 *)((int)&local_7f0[-1].st_ino + 7)" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&local_7f0[-1].st_ino + 7)" ( (binary_expression "(int)&local_7f0[-1].st_ino + 7" (cast_expression "(int)&local_7f0[-1].st_ino" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&local_7f0[-1].st_ino" & (field_expression "local_7f0[-1].st_ino" (subscript_expression "local_7f0[-1]" identifier [ number_literal ]) . field_identifier))) + number_literal) )))) ;) (expression_statement "local_820 = '\x01';" (assignment_expression "local_820 = '\x01'" identifier = (char_literal "'\x01'" ' escape_sequence ')) ;) (if_statement "if (psVar17 != (stat64 *)0x0 && 0 < (int)local_7f0) {\n          pr2serr("Since neither --16 nor --32 given, choose --16\n");\n        }" if (parenthesized_expression "(psVar17 != (stat64 *)0x0 && 0 < (int)local_7f0)" ( (binary_expression "psVar17 != (stat64 *)0x0 && 0 < (int)local_7f0" (binary_expression "psVar17 != (stat64 *)0x0" identifier != (cast_expression "(stat64 *)0x0" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) && (binary_expression "0 < (int)local_7f0" number_literal < (cast_expression "(int)local_7f0" ( (type_descriptor "int" primitive_type) ) identifier))) )) (compound_statement "{\n          pr2serr("Since neither --16 nor --32 given, choose --16\n");\n        }" { (expression_statement "pr2serr("Since neither --16 nor --32 given, choose --16\n");" (call_expression "pr2serr("Since neither --16 nor --32 given, choose --16\n")" identifier (argument_list "("Since neither --16 nor --32 given, choose --16\n")" ( (string_literal ""Since neither --16 nor --32 given, choose --16\n"" " string_content escape_sequence ") ))) ;) })) })) }) (else_clause "else if ((local_81f != '\0') && (local_820 = '\0', 1 < (int)local_7f0)) {\n      pr2serr("Since both --16 and --32 given, choose --32\n");\n    }" else (if_statement "if ((local_81f != '\0') && (local_820 = '\0', 1 < (int)local_7f0)) {\n      pr2serr("Since both --16 and --32 given, choose --32\n");\n    }" if (parenthesized_expression "((local_81f != '\0') && (local_820 = '\0', 1 < (int)local_7f0))" ( (binary_expression "(local_81f != '\0') && (local_820 = '\0', 1 < (int)local_7f0)" (parenthesized_expression "(local_81f != '\0')" ( (binary_expression "local_81f != '\0'" identifier != (char_literal "'\0'" ' escape_sequence ')) )) && (parenthesized_expression "(local_820 = '\0', 1 < (int)local_7f0)" ( (comma_expression "local_820 = '\0', 1 < (int)local_7f0" (assignment_expression "local_820 = '\0'" identifier = (char_literal "'\0'" ' escape_sequence ')) , (binary_expression "1 < (int)local_7f0" number_literal < (cast_expression "(int)local_7f0" ( (type_descriptor "int" primitive_type) ) identifier))) ))) )) (compound_statement "{\n      pr2serr("Since both --16 and --32 given, choose --32\n");\n    }" { (expression_statement "pr2serr("Since both --16 and --32 given, choose --32\n");" (call_expression "pr2serr("Since both --16 and --32 given, choose --32\n")" identifier (argument_list "("Since both --16 and --32 given, choose --32\n")" ( (string_literal ""Since both --16 and --32 given, choose --32\n"" " string_content escape_sequence ") ))) ;) })))) (expression_statement "uVar7 = (uint)local_81d + (uint)local_814 + (uint)local_81b + (uint)local_818 + (uint)local_817\n            + (uint)local_816;" (assignment_expression "uVar7 = (uint)local_81d + (uint)local_814 + (uint)local_81b + (uint)local_818 + (uint)local_817\n            + (uint)local_816" identifier = (binary_expression "(uint)local_81d + (uint)local_814 + (uint)local_81b + (uint)local_818 + (uint)local_817\n            + (uint)local_816" (binary_expression "(uint)local_81d + (uint)local_814 + (uint)local_81b + (uint)local_818 + (uint)local_817" (binary_expression "(uint)local_81d + (uint)local_814 + (uint)local_81b + (uint)local_818" (binary_expression "(uint)local_81d + (uint)local_814 + (uint)local_81b" (binary_expression "(uint)local_81d + (uint)local_814" (cast_expression "(uint)local_81d" ( (type_descriptor "uint" type_identifier) ) identifier) + (cast_expression "(uint)local_814" ( (type_descriptor "uint" type_identifier) ) identifier)) + (cast_expression "(uint)local_81b" ( (type_descriptor "uint" type_identifier) ) identifier)) + (cast_expression "(uint)local_818" ( (type_descriptor "uint" type_identifier) ) identifier)) + (cast_expression "(uint)local_817" ( (type_descriptor "uint" type_identifier) ) identifier)) + (cast_expression "(uint)local_816" ( (type_descriptor "uint" type_identifier) ) identifier))) ;) (if_statement "if (1 < uVar7) {\n      pr2serr(\n             "Can only select one command; so only one of --atomic, --normal, --or,\n--same=, --scattered= or --stream=\n"\n             );\n      local_908 = (stat64 *)0x1f;\n      goto LAB_00011a84;\n    }" if (parenthesized_expression "(1 < uVar7)" ( (binary_expression "1 < uVar7" number_literal < identifier) )) (compound_statement "{\n      pr2serr(\n             "Can only select one command; so only one of --atomic, --normal, --or,\n--same=, --scattered= or --stream=\n"\n             );\n      local_908 = (stat64 *)0x1f;\n      goto LAB_00011a84;\n    }" { (expression_statement "pr2serr(\n             "Can only select one command; so only one of --atomic, --normal, --or,\n--same=, --scattered= or --stream=\n"\n             );" (call_expression "pr2serr(\n             "Can only select one command; so only one of --atomic, --normal, --or,\n--same=, --scattered= or --stream=\n"\n             )" identifier (argument_list "(\n             "Can only select one command; so only one of --atomic, --normal, --or,\n--same=, --scattered= or --stream=\n"\n             )" ( (string_literal ""Can only select one command; so only one of --atomic, --normal, --or,\n--same=, --scattered= or --stream=\n"" " string_content escape_sequence string_content escape_sequence ") ))) ;) (expression_statement "local_908 = (stat64 *)0x1f;" (assignment_expression "local_908 = (stat64 *)0x1f" identifier = (cast_expression "(stat64 *)0x1f" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (goto_statement "goto LAB_00011a84;" goto statement_identifier ;) })) (if_statement "if (uVar7 == 0) {\n      if (local_7f8 != 0) {\n        pr2serr("With --strict won\'t default to a normal WRITE, add --normal\n");\n        local_908 = (stat64 *)0x1f;\n        goto LAB_00011a84;\n      }\n      local_794 = (stat64 *)0x17164;\n      local_814 = 1;\n      if (psVar38 != (stat64 *)0x0) {\n        pr2serr("No command selected so choose \'normal\' WRITE\n");\n      }\n    }" if (parenthesized_expression "(uVar7 == 0)" ( (binary_expression "uVar7 == 0" identifier == number_literal) )) (compound_statement "{\n      if (local_7f8 != 0) {\n        pr2serr("With --strict won\'t default to a normal WRITE, add --normal\n");\n        local_908 = (stat64 *)0x1f;\n        goto LAB_00011a84;\n      }\n      local_794 = (stat64 *)0x17164;\n      local_814 = 1;\n      if (psVar38 != (stat64 *)0x0) {\n        pr2serr("No command selected so choose \'normal\' WRITE\n");\n      }\n    }" { (if_statement "if (local_7f8 != 0) {\n        pr2serr("With --strict won\'t default to a normal WRITE, add --normal\n");\n        local_908 = (stat64 *)0x1f;\n        goto LAB_00011a84;\n      }" if (parenthesized_expression "(local_7f8 != 0)" ( (binary_expression "local_7f8 != 0" identifier != number_literal) )) (compound_statement "{\n        pr2serr("With --strict won\'t default to a normal WRITE, add --normal\n");\n        local_908 = (stat64 *)0x1f;\n        goto LAB_00011a84;\n      }" { (expression_statement "pr2serr("With --strict won\'t default to a normal WRITE, add --normal\n");" (call_expression "pr2serr("With --strict won\'t default to a normal WRITE, add --normal\n")" identifier (argument_list "("With --strict won\'t default to a normal WRITE, add --normal\n")" ( (string_literal ""With --strict won\'t default to a normal WRITE, add --normal\n"" " string_content escape_sequence string_content escape_sequence ") ))) ;) (expression_statement "local_908 = (stat64 *)0x1f;" (assignment_expression "local_908 = (stat64 *)0x1f" identifier = (cast_expression "(stat64 *)0x1f" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (goto_statement "goto LAB_00011a84;" goto statement_identifier ;) })) (expression_statement "local_794 = (stat64 *)0x17164;" (assignment_expression "local_794 = (stat64 *)0x17164" identifier = (cast_expression "(stat64 *)0x17164" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_814 = 1;" (assignment_expression "local_814 = 1" identifier = number_literal) ;) (if_statement "if (psVar38 != (stat64 *)0x0) {\n        pr2serr("No command selected so choose \'normal\' WRITE\n");\n      }" if (parenthesized_expression "(psVar38 != (stat64 *)0x0)" ( (binary_expression "psVar38 != (stat64 *)0x0" identifier != (cast_expression "(stat64 *)0x0" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        pr2serr("No command selected so choose \'normal\' WRITE\n");\n      }" { (expression_statement "pr2serr("No command selected so choose \'normal\' WRITE\n");" (call_expression "pr2serr("No command selected so choose \'normal\' WRITE\n")" identifier (argument_list "("No command selected so choose \'normal\' WRITE\n")" ( (string_literal ""No command selected so choose \'normal\' WRITE\n"" " string_content escape_sequence string_content escape_sequence string_content escape_sequence ") ))) ;) })) })) (expression_statement "psVar8 = (stat64 *)((-(uint)(local_820 == '\0') & 0x10) + 0x10);" (assignment_expression "psVar8 = (stat64 *)((-(uint)(local_820 == '\0') & 0x10) + 0x10)" identifier = (cast_expression "(stat64 *)((-(uint)(local_820 == '\0') & 0x10) + 0x10)" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((-(uint)(local_820 == '\0') & 0x10) + 0x10)" ( (binary_expression "(-(uint)(local_820 == '\0') & 0x10) + 0x10" (parenthesized_expression "(-(uint)(local_820 == '\0') & 0x10)" ( (binary_expression "-(uint)(local_820 == '\0') & 0x10" (unary_expression "-(uint)(local_820 == '\0')" - (call_expression "(uint)(local_820 == '\0')" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(local_820 == '\0')" ( (binary_expression "local_820 == '\0'" identifier == (char_literal "'\0'" ' escape_sequence ')) )))) & number_literal) )) + number_literal) )))) ;) (expression_statement "psVar22 = local_794;" (assignment_expression "psVar22 = local_794" identifier = identifier) ;) (expression_statement "__snprintf_chk(local_790,0x18,1,0x18,"%s(%d)",local_794,psVar8,psVar17);" (call_expression "__snprintf_chk(local_790,0x18,1,0x18,"%s(%d)",local_794,psVar8,psVar17)" identifier (argument_list "(local_790,0x18,1,0x18,"%s(%d)",local_794,psVar8,psVar17)" ( identifier , number_literal , number_literal , number_literal , (string_literal ""%s(%d)"" " string_content ") , identifier , identifier , identifier ))) ;) (if_statement "if (local_81c == '\0') {\n      if (local_798 != (char *)0x0) {\n        local_93f = local_918 != (stat64 *)0x0;\n        bVar30 = local_91c != (stat64 *)0x0 || local_918 != (stat64 *)0x0;\n        bVar31 = local_91c != (stat64 *)0x0;\n        if (local_91c == (stat64 *)0x0 && local_918 == (stat64 *)0x0) {\n          iVar14 = -1;\n          pcVar15 = local_798;\n          goto code_r0x00011d5c;\n        }\n        pr2serr(\n               "want one and only one of: (--lba=LBA and/or --num=NUM), or\n--scat-file=SF, or --combined=DOF\n"\n               );\n        local_908 = (stat64 *)0x1f;\n        goto LAB_00011a84;\n      }\n      if (local_819 == '\0') {\n        local_93f = local_918 != (stat64 *)0x0;\n        bVar30 = local_91c != (stat64 *)0x0 || local_918 != (stat64 *)0x0;\n        bVar31 = local_91c != (stat64 *)0x0;\n        goto LAB_00011d67;\n      }\n      pr2serr(\n             "--scat-raw only applies to the --scat-file=SF option\n--scat-raw without the --scat-file=SF option is an error\n"\n             );\n      local_908 = (stat64 *)0x1f;\n      goto LAB_00011a84;\n    }" if (parenthesized_expression "(local_81c == '\0')" ( (binary_expression "local_81c == '\0'" identifier == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n      if (local_798 != (char *)0x0) {\n        local_93f = local_918 != (stat64 *)0x0;\n        bVar30 = local_91c != (stat64 *)0x0 || local_918 != (stat64 *)0x0;\n        bVar31 = local_91c != (stat64 *)0x0;\n        if (local_91c == (stat64 *)0x0 && local_918 == (stat64 *)0x0) {\n          iVar14 = -1;\n          pcVar15 = local_798;\n          goto code_r0x00011d5c;\n        }\n        pr2serr(\n               "want one and only one of: (--lba=LBA and/or --num=NUM), or\n--scat-file=SF, or --combined=DOF\n"\n               );\n        local_908 = (stat64 *)0x1f;\n        goto LAB_00011a84;\n      }\n      if (local_819 == '\0') {\n        local_93f = local_918 != (stat64 *)0x0;\n        bVar30 = local_91c != (stat64 *)0x0 || local_918 != (stat64 *)0x0;\n        bVar31 = local_91c != (stat64 *)0x0;\n        goto LAB_00011d67;\n      }\n      pr2serr(\n             "--scat-raw only applies to the --scat-file=SF option\n--scat-raw without the --scat-file=SF option is an error\n"\n             );\n      local_908 = (stat64 *)0x1f;\n      goto LAB_00011a84;\n    }" { (if_statement "if (local_798 != (char *)0x0) {\n        local_93f = local_918 != (stat64 *)0x0;\n        bVar30 = local_91c != (stat64 *)0x0 || local_918 != (stat64 *)0x0;\n        bVar31 = local_91c != (stat64 *)0x0;\n        if (local_91c == (stat64 *)0x0 && local_918 == (stat64 *)0x0) {\n          iVar14 = -1;\n          pcVar15 = local_798;\n          goto code_r0x00011d5c;\n        }\n        pr2serr(\n               "want one and only one of: (--lba=LBA and/or --num=NUM), or\n--scat-file=SF, or --combined=DOF\n"\n               );\n        local_908 = (stat64 *)0x1f;\n        goto LAB_00011a84;\n      }" if (parenthesized_expression "(local_798 != (char *)0x0)" ( (binary_expression "local_798 != (char *)0x0" identifier != (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        local_93f = local_918 != (stat64 *)0x0;\n        bVar30 = local_91c != (stat64 *)0x0 || local_918 != (stat64 *)0x0;\n        bVar31 = local_91c != (stat64 *)0x0;\n        if (local_91c == (stat64 *)0x0 && local_918 == (stat64 *)0x0) {\n          iVar14 = -1;\n          pcVar15 = local_798;\n          goto code_r0x00011d5c;\n        }\n        pr2serr(\n               "want one and only one of: (--lba=LBA and/or --num=NUM), or\n--scat-file=SF, or --combined=DOF\n"\n               );\n        local_908 = (stat64 *)0x1f;\n        goto LAB_00011a84;\n      }" { (expression_statement "local_93f = local_918 != (stat64 *)0x0;" (assignment_expression "local_93f = local_918 != (stat64 *)0x0" identifier = (binary_expression "local_918 != (stat64 *)0x0" identifier != (cast_expression "(stat64 *)0x0" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal))) ;) (expression_statement "bVar30 = local_91c != (stat64 *)0x0 || local_918 != (stat64 *)0x0;" (assignment_expression "bVar30 = local_91c != (stat64 *)0x0 || local_918 != (stat64 *)0x0" identifier = (binary_expression "local_91c != (stat64 *)0x0 || local_918 != (stat64 *)0x0" (binary_expression "local_91c != (stat64 *)0x0" identifier != (cast_expression "(stat64 *)0x0" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) || (binary_expression "local_918 != (stat64 *)0x0" identifier != (cast_expression "(stat64 *)0x0" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)))) ;) (expression_statement "bVar31 = local_91c != (stat64 *)0x0;" (assignment_expression "bVar31 = local_91c != (stat64 *)0x0" identifier = (binary_expression "local_91c != (stat64 *)0x0" identifier != (cast_expression "(stat64 *)0x0" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal))) ;) (if_statement "if (local_91c == (stat64 *)0x0 && local_918 == (stat64 *)0x0) {\n          iVar14 = -1;\n          pcVar15 = local_798;\n          goto code_r0x00011d5c;\n        }" if (parenthesized_expression "(local_91c == (stat64 *)0x0 && local_918 == (stat64 *)0x0)" ( (binary_expression "local_91c == (stat64 *)0x0 && local_918 == (stat64 *)0x0" (binary_expression "local_91c == (stat64 *)0x0" identifier == (cast_expression "(stat64 *)0x0" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) && (binary_expression "local_918 == (stat64 *)0x0" identifier == (cast_expression "(stat64 *)0x0" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal))) )) (compound_statement "{\n          iVar14 = -1;\n          pcVar15 = local_798;\n          goto code_r0x00011d5c;\n        }" { (expression_statement "iVar14 = -1;" (assignment_expression "iVar14 = -1" identifier = number_literal) ;) (expression_statement "pcVar15 = local_798;" (assignment_expression "pcVar15 = local_798" identifier = identifier) ;) (goto_statement "goto code_r0x00011d5c;" goto statement_identifier ;) })) (expression_statement "pr2serr(\n               "want one and only one of: (--lba=LBA and/or --num=NUM), or\n--scat-file=SF, or --combined=DOF\n"\n               );" (call_expression "pr2serr(\n               "want one and only one of: (--lba=LBA and/or --num=NUM), or\n--scat-file=SF, or --combined=DOF\n"\n               )" identifier (argument_list "(\n               "want one and only one of: (--lba=LBA and/or --num=NUM), or\n--scat-file=SF, or --combined=DOF\n"\n               )" ( (string_literal ""want one and only one of: (--lba=LBA and/or --num=NUM), or\n--scat-file=SF, or --combined=DOF\n"" " string_content escape_sequence string_content escape_sequence ") ))) ;) (expression_statement "local_908 = (stat64 *)0x1f;" (assignment_expression "local_908 = (stat64 *)0x1f" identifier = (cast_expression "(stat64 *)0x1f" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (goto_statement "goto LAB_00011a84;" goto statement_identifier ;) })) (if_statement "if (local_819 == '\0') {\n        local_93f = local_918 != (stat64 *)0x0;\n        bVar30 = local_91c != (stat64 *)0x0 || local_918 != (stat64 *)0x0;\n        bVar31 = local_91c != (stat64 *)0x0;\n        goto LAB_00011d67;\n      }" if (parenthesized_expression "(local_819 == '\0')" ( (binary_expression "local_819 == '\0'" identifier == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n        local_93f = local_918 != (stat64 *)0x0;\n        bVar30 = local_91c != (stat64 *)0x0 || local_918 != (stat64 *)0x0;\n        bVar31 = local_91c != (stat64 *)0x0;\n        goto LAB_00011d67;\n      }" { (expression_statement "local_93f = local_918 != (stat64 *)0x0;" (assignment_expression "local_93f = local_918 != (stat64 *)0x0" identifier = (binary_expression "local_918 != (stat64 *)0x0" identifier != (cast_expression "(stat64 *)0x0" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal))) ;) (expression_statement "bVar30 = local_91c != (stat64 *)0x0 || local_918 != (stat64 *)0x0;" (assignment_expression "bVar30 = local_91c != (stat64 *)0x0 || local_918 != (stat64 *)0x0" identifier = (binary_expression "local_91c != (stat64 *)0x0 || local_918 != (stat64 *)0x0" (binary_expression "local_91c != (stat64 *)0x0" identifier != (cast_expression "(stat64 *)0x0" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) || (binary_expression "local_918 != (stat64 *)0x0" identifier != (cast_expression "(stat64 *)0x0" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)))) ;) (expression_statement "bVar31 = local_91c != (stat64 *)0x0;" (assignment_expression "bVar31 = local_91c != (stat64 *)0x0" identifier = (binary_expression "local_91c != (stat64 *)0x0" identifier != (cast_expression "(stat64 *)0x0" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal))) ;) (goto_statement "goto LAB_00011d67;" goto statement_identifier ;) })) (expression_statement "pr2serr(\n             "--scat-raw only applies to the --scat-file=SF option\n--scat-raw without the --scat-file=SF option is an error\n"\n             );" (call_expression "pr2serr(\n             "--scat-raw only applies to the --scat-file=SF option\n--scat-raw without the --scat-file=SF option is an error\n"\n             )" identifier (argument_list "(\n             "--scat-raw only applies to the --scat-file=SF option\n--scat-raw without the --scat-file=SF option is an error\n"\n             )" ( (string_literal ""--scat-raw only applies to the --scat-file=SF option\n--scat-raw without the --scat-file=SF option is an error\n"" " string_content escape_sequence string_content escape_sequence ") ))) ;) (expression_statement "local_908 = (stat64 *)0x1f;" (assignment_expression "local_908 = (stat64 *)0x1f" identifier = (cast_expression "(stat64 *)0x1f" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (goto_statement "goto LAB_00011a84;" goto statement_identifier ;) })) (if_statement "if (local_817 == 0) {\n      pr2serr(\n             "--combined=DOF only allowed with --scattered=RD (i.e. only with\nWRITE SCATTERED command)\n"\n             );\n      local_908 = (stat64 *)0x1f;\n      goto LAB_00011a84;\n    }" if (parenthesized_expression "(local_817 == 0)" ( (binary_expression "local_817 == 0" identifier == number_literal) )) (compound_statement "{\n      pr2serr(\n             "--combined=DOF only allowed with --scattered=RD (i.e. only with\nWRITE SCATTERED command)\n"\n             );\n      local_908 = (stat64 *)0x1f;\n      goto LAB_00011a84;\n    }" { (expression_statement "pr2serr(\n             "--combined=DOF only allowed with --scattered=RD (i.e. only with\nWRITE SCATTERED command)\n"\n             );" (call_expression "pr2serr(\n             "--combined=DOF only allowed with --scattered=RD (i.e. only with\nWRITE SCATTERED command)\n"\n             )" identifier (argument_list "(\n             "--combined=DOF only allowed with --scattered=RD (i.e. only with\nWRITE SCATTERED command)\n"\n             )" ( (string_literal ""--combined=DOF only allowed with --scattered=RD (i.e. only with\nWRITE SCATTERED command)\n"" " string_content escape_sequence string_content escape_sequence ") ))) ;) (expression_statement "local_908 = (stat64 *)0x1f;" (assignment_expression "local_908 = (stat64 *)0x1f" identifier = (cast_expression "(stat64 *)0x1f" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (goto_statement "goto LAB_00011a84;" goto statement_identifier ;) })) (if_statement "if (local_798 != (char *)0x0) {\n      pr2serr("Ambiguous: got --combined=DOF and --scat-file=SF .\nGive one, the other or neither\n"\n             );\n      local_908 = (stat64 *)0x1f;\n      goto LAB_00011a84;\n    }" if (parenthesized_expression "(local_798 != (char *)0x0)" ( (binary_expression "local_798 != (char *)0x0" identifier != (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      pr2serr("Ambiguous: got --combined=DOF and --scat-file=SF .\nGive one, the other or neither\n"\n             );\n      local_908 = (stat64 *)0x1f;\n      goto LAB_00011a84;\n    }" { (expression_statement "pr2serr("Ambiguous: got --combined=DOF and --scat-file=SF .\nGive one, the other or neither\n"\n             );" (call_expression "pr2serr("Ambiguous: got --combined=DOF and --scat-file=SF .\nGive one, the other or neither\n"\n             )" identifier (argument_list "("Ambiguous: got --combined=DOF and --scat-file=SF .\nGive one, the other or neither\n"\n             )" ( (string_literal ""Ambiguous: got --combined=DOF and --scat-file=SF .\nGive one, the other or neither\n"" " string_content escape_sequence string_content escape_sequence ") ))) ;) (expression_statement "local_908 = (stat64 *)0x1f;" (assignment_expression "local_908 = (stat64 *)0x1f" identifier = (cast_expression "(stat64 *)0x1f" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (goto_statement "goto LAB_00011a84;" goto statement_identifier ;) })) (if_statement "if (local_91c == (stat64 *)0x0 && local_918 == (stat64 *)0x0) {\n      local_93f = local_819;\n      bVar30 = false;\n      bVar31 = false;\n      if (local_819 == '\0') goto LAB_00011d67;\n      pr2serr("Ambiguous: don\'t expect --combined=DOF and --scat-raw\nGive one or the other\n");\n      local_908 = (stat64 *)0x1f;\n    }\n    else {\n      pr2serr("--scattered=RD --combined=DOF does not use --lba= or --num=\nPlease remove.\n");\n      local_908 = (stat64 *)0x1f;\n    }" if (parenthesized_expression "(local_91c == (stat64 *)0x0 && local_918 == (stat64 *)0x0)" ( (binary_expression "local_91c == (stat64 *)0x0 && local_918 == (stat64 *)0x0" (binary_expression "local_91c == (stat64 *)0x0" identifier == (cast_expression "(stat64 *)0x0" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) && (binary_expression "local_918 == (stat64 *)0x0" identifier == (cast_expression "(stat64 *)0x0" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal))) )) (compound_statement "{\n      local_93f = local_819;\n      bVar30 = false;\n      bVar31 = false;\n      if (local_819 == '\0') goto LAB_00011d67;\n      pr2serr("Ambiguous: don\'t expect --combined=DOF and --scat-raw\nGive one or the other\n");\n      local_908 = (stat64 *)0x1f;\n    }" { (expression_statement "local_93f = local_819;" (assignment_expression "local_93f = local_819" identifier = identifier) ;) (expression_statement "bVar30 = false;" (assignment_expression "bVar30 = false" identifier = false) ;) (expression_statement "bVar31 = false;" (assignment_expression "bVar31 = false" identifier = false) ;) (if_statement "if (local_819 == '\0') goto LAB_00011d67;" if (parenthesized_expression "(local_819 == '\0')" ( (binary_expression "local_819 == '\0'" identifier == (char_literal "'\0'" ' escape_sequence ')) )) (goto_statement "goto LAB_00011d67;" goto statement_identifier ;)) (expression_statement "pr2serr("Ambiguous: don\'t expect --combined=DOF and --scat-raw\nGive one or the other\n");" (call_expression "pr2serr("Ambiguous: don\'t expect --combined=DOF and --scat-raw\nGive one or the other\n")" identifier (argument_list "("Ambiguous: don\'t expect --combined=DOF and --scat-raw\nGive one or the other\n")" ( (string_literal ""Ambiguous: don\'t expect --combined=DOF and --scat-raw\nGive one or the other\n"" " string_content escape_sequence string_content escape_sequence string_content escape_sequence ") ))) ;) (expression_statement "local_908 = (stat64 *)0x1f;" (assignment_expression "local_908 = (stat64 *)0x1f" identifier = (cast_expression "(stat64 *)0x1f" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) }) (else_clause "else {\n      pr2serr("--scattered=RD --combined=DOF does not use --lba= or --num=\nPlease remove.\n");\n      local_908 = (stat64 *)0x1f;\n    }" else (compound_statement "{\n      pr2serr("--scattered=RD --combined=DOF does not use --lba= or --num=\nPlease remove.\n");\n      local_908 = (stat64 *)0x1f;\n    }" { (expression_statement "pr2serr("--scattered=RD --combined=DOF does not use --lba= or --num=\nPlease remove.\n");" (call_expression "pr2serr("--scattered=RD --combined=DOF does not use --lba= or --num=\nPlease remove.\n")" identifier (argument_list "("--scattered=RD --combined=DOF does not use --lba= or --num=\nPlease remove.\n")" ( (string_literal ""--scattered=RD --combined=DOF does not use --lba= or --num=\nPlease remove.\n"" " string_content escape_sequence string_content escape_sequence ") ))) ;) (expression_statement "local_908 = (stat64 *)0x1f;" (assignment_expression "local_908 = (stat64 *)0x1f" identifier = (cast_expression "(stat64 *)0x1f" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) }))) (goto_statement "goto LAB_00011a84;" goto statement_identifier ;) })) (expression_statement "local_920 = local_924;" (assignment_expression "local_920 = local_924" identifier = identifier) ;) (expression_statement "psVar38 = local_7d0;" (assignment_expression "psVar38 = local_7d0" identifier = identifier) ;) (expression_statement "uVar16 = uStack_7c4;" (assignment_expression "uVar16 = uStack_7c4" identifier = identifier) ;) (expression_statement "uVar7 = local_7c0;" (assignment_expression "uVar7 = local_7c0" identifier = identifier) ;) (switch_statement "switch((int)uVar33) {\n  case 0x33:\n    local_81f = '\x01';\n    goto code_r0x000114e8;\n  default:\n    pcVar15 = "unrecognised option code 0x%x ??\n";\n    break;\n  case 0x36:\n    local_820 = '\x01';\n    goto code_r0x000114e8;\n  case 0x3f:\n    pcVar15 = "\n";\n    break;\n  case 0x41:\n    uVar7 = func_0x00011320(*(undefined4 *)PTR_optarg_0001dffc);\n    if (0xffff < uVar7) {\n      pr2serr("bad argument to \'--atomic=\'. Expect 0 to 0xffff inclusive\n");\n      goto LAB_00011a7a;\n    }\n    uStack_7e4 = (undefined2)uVar7;\n    local_81d = 1;\n    local_794 = (stat64 *)0x17112;\n    psVar38 = local_7d0;\n    uVar16 = uStack_7c4;\n    uVar7 = local_7c0;\n    goto code_r0x000114e8;\n  case 0x42:\n    uVar24 = func_0x00011320(*(undefined4 *)PTR_optarg_0001dffc);\n    if (7 < uVar24) {\n      pr2serr("bad first argument to \'--bmop=\'\n");\n      goto LAB_00011a7a;\n    }\n    uStack_7e8 = (undefined1)uVar24;\n    uVar36 = 0x2c;\n    uVar41 = uVar24;\n    pcVar15 = strchr(*(char **)puVar5,0x2c);\n    psVar38 = local_7d0;\n    uVar16 = uStack_7c4;\n    uVar7 = local_7c0;\n    if (pcVar15 != (char *)0x0) {\n      uVar7 = func_0x00011320(pcVar15 + 1,uVar36,uVar24,uVar41);\n      if (0xf < uVar7) {\n        pr2serr("bad second argument to \'--bmop=\'\n");\n        goto LAB_00011a7a;\n      }\n      uStack_7e7 = (undefined1)uVar7;\n      psVar38 = local_7d0;\n      uVar16 = uStack_7c4;\n      uVar7 = local_7c0;\n    }\n    goto code_r0x000114e8;\n  case 0x44:\n    uStack_80c = func_0x00011320(*(undefined4 *)PTR_optarg_0001dffc);\n    psVar38 = local_7d0;\n    uVar16 = uStack_7c4;\n    uVar7 = local_7c0;\n    if (7 < uStack_80c) {\n      pr2serr("bad argument to \'--dld=\', expect 0 to 7 inclusive\n");\n      goto LAB_00011a7a;\n    }\n    goto code_r0x000114e8;\n  case 0x47:\n    uVar33 = sg_get_llnum(*(undefined4 *)PTR_optarg_0001dffc);\n    uVar36 = (undefined4)uVar33;\n    if ((int)((ulonglong)uVar33 >> 0x20) != 0) {\n      pr2serr("bad first argument to \'--generation=\'\n");\n      goto LAB_00011a7a;\n    }\n    uVar37 = 0x2c;\n    uVar40 = uVar36;\n    uStack_7c8 = uVar36;\n    pcVar15 = strchr(*(char **)puVar5,0x2c);\n    if (pcVar15 == (char *)0x0) {\n      pr2serr("need two arguments with --generation=EOG,NOG and they must be comma separated\n",\n              uVar37,uVar36,uVar40);\n      goto LAB_00011a7a;\n    }\n    uVar33 = sg_get_llnum(pcVar15 + 1);\n    psVar38 = local_7d0;\n    uVar16 = (int)uVar33;\n    uVar7 = local_7c0;\n    if ((int)((ulonglong)uVar33 >> 0x20) != 0) {\n      pr2serr("bad second argument to \'--generation=\'\n",uVar37,uVar36,uVar40);\n      goto LAB_00011a7a;\n    }\n    goto code_r0x000114e8;\n  case 0x49:\n    local_7f4 = func_0x00011320(*(undefined4 *)PTR_optarg_0001dffc);\n    psVar38 = local_7d0;\n    uVar16 = uStack_7c4;\n    uVar7 = local_7c0;\n    if (local_7f4 < 0) {\n      pr2serr("bad argument to \'--timeout=\'\n");\n      goto LAB_00011a7a;\n    }\n    goto code_r0x000114e8;\n  case 0x4d:\n    uVar7 = func_0x00011320(*(undefined4 *)PTR_optarg_0001dffc);\n    if (1 < uVar7) {\n      pr2serr("bad argument to \'--same\', expect 0 or 1\n");\n      goto LAB_00011a7a;\n    }\n    local_810 = (byte)uVar7 & 1;\n    local_818 = 1;\n    local_794 = (stat64 *)0x17159;\n    psVar38 = local_7d0;\n    uVar16 = uStack_7c4;\n    uVar7 = local_7c0;\n    goto code_r0x000114e8;\n  case 0x4e:\n    local_814 = 1;\n    local_794 = (stat64 *)0x17164;\n    goto code_r0x000114e8;\n  case 0x4f:\n    local_81b = 1;\n    local_794 = (stat64 *)0x1716a;\n    goto code_r0x000114e8;\n  case 0x51:\n    local_81a = '\x01';\n    goto code_r0x000114e8;\n  case 0x52:\n    local_819 = '\x01';\n    goto code_r0x000114e8;\n  case 0x53:\n    uVar7 = func_0x00011320(*(undefined4 *)PTR_optarg_0001dffc);\n    if (0xffff < uVar7) {\n      pr2serr("bad argument to \'--scattered=\'. Expect 0 to 0xffff inclusive\n");\n      goto LAB_00011a7a;\n    }\n    local_7e0 = (ushort)uVar7;\n    local_794 = (stat64 *)0x17172;\n    local_817 = 1;\n    psVar38 = local_7d0;\n    uVar16 = uStack_7c4;\n    uVar7 = local_7c0;\n    goto code_r0x000114e8;\n  case 0x54:\n    uVar7 = func_0x00011320(*(undefined4 *)PTR_optarg_0001dffc);\n    if (0xffff < uVar7) {\n      pr2serr("bad argument to \'--stream=\', expect 0 to 65535\n");\n      goto LAB_00011a7a;\n    }\n    uStack_7de = (undefined2)uVar7;\n    local_794 = (stat64 *)0x17182;\n    local_816 = 1;\n    psVar38 = local_7d0;\n    uVar16 = uStack_7c4;\n    uVar7 = local_7c0;\n    goto code_r0x000114e8;\n  case 0x56:\n    local_80e = '\x01';\n    goto code_r0x000114e8;\n  case 0x61:\n    uVar7 = func_0x00011320(*(undefined4 *)PTR_optarg_0001dffc);\n    if (0xffff < uVar7) {\n      pr2serr("bad argument to \'--app-tag=\'. Expect 0 to 0xffff inclusive\n");\n      goto LAB_00011a7a;\n    }\n    local_7e6 = (ushort)uVar7;\n    psVar38 = local_7d0;\n    uVar16 = uStack_7c4;\n    uVar7 = local_7c0;\n    goto code_r0x000114e8;\n  case 0x62:\n    psVar17 = (stat64 *)func_0x00011320(*(undefined4 *)PTR_optarg_0001dffc);\n    if ((stat64 *)0x10000000 < psVar17) {\n      pr2serr("bad argument to \'--bs=\'. Expect 0 or greater\n");\n      goto LAB_00011a7a;\n    }\n    if (psVar17 == (stat64 *)0x0) {\n      local_7d8 = (stat64 *)0x0;\n      local_7d4 = (stat64 *)0x0;\n      psVar38 = local_7d0;\n      uVar16 = uStack_7c4;\n      uVar7 = local_7c0;\n    }\n    else {\n      if ((int)psVar17 < 0x200) {\n        pr2serr("warning: --bs=BS value is < 512 which seems too small, continue\n");\n        bVar1 = 1;\n      }\n      if (((uint)psVar17 & 7) != 0) {\n        pr2serr("warning: --bs=BS value is not a multiple of 8, unexpected, continue\n");\n        bVar1 = 1;\n      }\n      iVar21 = 0;\n      iVar10 = 0;\n      psVar38 = psVar17;\n      do {\n        if (((uint)psVar38 & 1) != 0) {\n          iVar21 = iVar10;\n        }\n        iVar10 = iVar10 + 1;\n        psVar38 = (stat64 *)((int)psVar38 >> 1);\n      } while (iVar10 != 0x1c);\n      psVar22 = (stat64 *)(1 << ((byte)iVar21 & 0x1f));\n      local_7d8 = psVar17;\n      local_7d4 = psVar17;\n      psVar38 = local_7d0;\n      uVar16 = uStack_7c4;\n      uVar7 = local_7c0;\n      if (psVar17 != psVar22) {\n        local_7d8 = psVar22;\n      }\n    }\n    goto code_r0x000114e8;\n  case 99:\n    iVar21 = func_0x00011320(*(undefined4 *)PTR_optarg_0001dffc);\n    if (iVar21 < 0) {\n      pr2serr("bad argument to \'--combined=\'. Expect 0 to 0x7fffffff\n");\n      goto LAB_00011a7a;\n    }\n    local_7e2 = (ushort)iVar21;\n    local_81c = '\x01';\n    psVar38 = local_7d0;\n    uVar16 = uStack_7c4;\n    uVar7 = local_7c0;\n    goto code_r0x000114e8;\n  case 100:\n    uStack_812 = 1;\n    goto code_r0x000114e8;\n  case 0x66:\n    uStack_811 = 1;\n    goto code_r0x000114e8;\n  case 0x67:\n    uStack_804 = func_0x00011320(*(undefined4 *)PTR_optarg_0001dffc);\n    psVar38 = local_7d0;\n    uVar16 = uStack_7c4;\n    uVar7 = local_7c0;\n    if (0x3f < uStack_804) {\n      pr2serr("bad argument to \'--grpnum\'\n");\n      goto LAB_00011a7a;\n    }\n    goto code_r0x000114e8;\n  case 0x68:\n    local_800 = local_800 + 1;\n    goto code_r0x000114e8;\n  case 0x69:\n    local_79c = *(char **)PTR_optarg_0001dffc;\n    goto code_r0x000114e8;\n  case 0x6c:\n    if (local_91c != (stat64 *)0x0) {\n      pr2serr("only expect \'--lba=\' option once\n");\n      goto LAB_00011a7a;\n    }\n    local_91c = *(stat64 **)PTR_optarg_0001dffc;\n    goto code_r0x000114e8;\n  case 0x6e:\n    if (local_918 != (stat64 *)0x0) {\n      pr2serr("only expect \'--num=\' option once\n");\n      goto LAB_00011a7a;\n    }\n    local_918 = *(stat64 **)PTR_optarg_0001dffc;\n    goto code_r0x000114e8;\n  case 0x6f:\n    lVar34 = sg_get_llnum(*(undefined4 *)PTR_optarg_0001dffc);\n    psVar17 = (stat64 *)lVar34;\n    if (lVar34 == -1) {\n      pr2serr("bad first argument to \'--offset=\'\n");\n      goto LAB_00011a7a;\n    }\n    uVar36 = 0x2c;\n    psVar22 = psVar17;\n    local_7b4 = psVar17;\n    local_7b0 = (stat64 *)((ulonglong)lVar34 >> 0x20);\n    pcVar15 = strchr(*(char **)puVar5,0x2c);\n    psVar38 = local_7d0;\n    uVar16 = uStack_7c4;\n    uVar7 = local_7c0;\n    if (pcVar15 != (char *)0x0) {\n      lVar34 = sg_get_llnum(pcVar15 + 1,uVar36,psVar17,psVar22);\n      psVar38 = (stat64 *)lVar34;\n      uVar16 = uStack_7c4;\n      uVar7 = local_7c0;\n      if ((int)((ulonglong)lVar34 >> 0x20) == -1) {\n        if (psVar38 == (stat64 *)0xffffffff) {\n          pr2serr("bad second argument to \'--offset=\'\n");\n          goto LAB_00011a7a;\n        }\n      }\n      else if (0xffffffff < lVar34) {\n        pr2serr("bad second argument to \'--offset=\', cannot exceed 32 bits\n");\n        goto LAB_00011a7a;\n      }\n    }\n    goto code_r0x000114e8;\n  case 0x71:\n    local_798 = *(char **)PTR_optarg_0001dffc;\n    goto code_r0x000114e8;\n  case 0x72:\n    goto code_r0x000115f1;\n  case 0x73:\n    local_7f8 = local_7f8 + 1;\n    goto code_r0x000114e8;\n  case 0x74:\n    uVar7 = func_0x00011320(*(undefined4 *)PTR_optarg_0001dffc);\n    if (0xffff < uVar7) {\n      pr2serr("bad argument to \'--tag-mask=\'. Expect 0 to 0xffff inclusive\n");\n      goto LAB_00011a7a;\n    }\n    local_7dc = (ushort)uVar7;\n    psVar38 = local_7d0;\n    uVar16 = uStack_7c4;\n    uVar7 = local_7c0;\n    goto code_r0x000114e8;\n  case 0x75:\n    uVar7 = func_0x00011320(*(undefined4 *)puVar20);\n    if (3 < uVar7) {\n      pr2serr("bad argument to \'--unmap=\', expect 0 to 3\n");\n      goto LAB_00011a7a;\n    }\n    bStack_81e = (byte)(uVar7 >> 1) & 1;\n    bStack_815 = (byte)uVar7 & 1;\n    psVar38 = local_7d0;\n    uVar16 = uStack_7c4;\n    uVar7 = local_7c0;\n    goto code_r0x000114e8;\n  case 0x76:\n    local_80f = '\x01';\n    local_7f0 = (stat64 *)((int)&local_7f0->st_dev + 1);\n    goto code_r0x000114e8;\n  case 0x77:\n    local_7ec = (stat64 *)func_0x00011320(*(undefined4 *)puVar20);\n    if ((stat64 *)0x7 < local_7ec) {\n      pr2serr("bad argument to \'--wrprotect\'\n");\n      goto LAB_00011a7a;\n    }\n    local_813 = 0 < (int)local_7ec;\n    psVar38 = local_7d0;\n    uVar16 = uStack_7c4;\n    uVar7 = local_7c0;\n    goto code_r0x000114e8;\n  case 0x78:\n    iStack_808 = iStack_808 + 1;\n    goto code_r0x000114e8;\n  }" switch (parenthesized_expression "((int)uVar33)" ( (cast_expression "(int)uVar33" ( (type_descriptor "int" primitive_type) ) identifier) )) (compound_statement "{\n  case 0x33:\n    local_81f = '\x01';\n    goto code_r0x000114e8;\n  default:\n    pcVar15 = "unrecognised option code 0x%x ??\n";\n    break;\n  case 0x36:\n    local_820 = '\x01';\n    goto code_r0x000114e8;\n  case 0x3f:\n    pcVar15 = "\n";\n    break;\n  case 0x41:\n    uVar7 = func_0x00011320(*(undefined4 *)PTR_optarg_0001dffc);\n    if (0xffff < uVar7) {\n      pr2serr("bad argument to \'--atomic=\'. Expect 0 to 0xffff inclusive\n");\n      goto LAB_00011a7a;\n    }\n    uStack_7e4 = (undefined2)uVar7;\n    local_81d = 1;\n    local_794 = (stat64 *)0x17112;\n    psVar38 = local_7d0;\n    uVar16 = uStack_7c4;\n    uVar7 = local_7c0;\n    goto code_r0x000114e8;\n  case 0x42:\n    uVar24 = func_0x00011320(*(undefined4 *)PTR_optarg_0001dffc);\n    if (7 < uVar24) {\n      pr2serr("bad first argument to \'--bmop=\'\n");\n      goto LAB_00011a7a;\n    }\n    uStack_7e8 = (undefined1)uVar24;\n    uVar36 = 0x2c;\n    uVar41 = uVar24;\n    pcVar15 = strchr(*(char **)puVar5,0x2c);\n    psVar38 = local_7d0;\n    uVar16 = uStack_7c4;\n    uVar7 = local_7c0;\n    if (pcVar15 != (char *)0x0) {\n      uVar7 = func_0x00011320(pcVar15 + 1,uVar36,uVar24,uVar41);\n      if (0xf < uVar7) {\n        pr2serr("bad second argument to \'--bmop=\'\n");\n        goto LAB_00011a7a;\n      }\n      uStack_7e7 = (undefined1)uVar7;\n      psVar38 = local_7d0;\n      uVar16 = uStack_7c4;\n      uVar7 = local_7c0;\n    }\n    goto code_r0x000114e8;\n  case 0x44:\n    uStack_80c = func_0x00011320(*(undefined4 *)PTR_optarg_0001dffc);\n    psVar38 = local_7d0;\n    uVar16 = uStack_7c4;\n    uVar7 = local_7c0;\n    if (7 < uStack_80c) {\n      pr2serr("bad argument to \'--dld=\', expect 0 to 7 inclusive\n");\n      goto LAB_00011a7a;\n    }\n    goto code_r0x000114e8;\n  case 0x47:\n    uVar33 = sg_get_llnum(*(undefined4 *)PTR_optarg_0001dffc);\n    uVar36 = (undefined4)uVar33;\n    if ((int)((ulonglong)uVar33 >> 0x20) != 0) {\n      pr2serr("bad first argument to \'--generation=\'\n");\n      goto LAB_00011a7a;\n    }\n    uVar37 = 0x2c;\n    uVar40 = uVar36;\n    uStack_7c8 = uVar36;\n    pcVar15 = strchr(*(char **)puVar5,0x2c);\n    if (pcVar15 == (char *)0x0) {\n      pr2serr("need two arguments with --generation=EOG,NOG and they must be comma separated\n",\n              uVar37,uVar36,uVar40);\n      goto LAB_00011a7a;\n    }\n    uVar33 = sg_get_llnum(pcVar15 + 1);\n    psVar38 = local_7d0;\n    uVar16 = (int)uVar33;\n    uVar7 = local_7c0;\n    if ((int)((ulonglong)uVar33 >> 0x20) != 0) {\n      pr2serr("bad second argument to \'--generation=\'\n",uVar37,uVar36,uVar40);\n      goto LAB_00011a7a;\n    }\n    goto code_r0x000114e8;\n  case 0x49:\n    local_7f4 = func_0x00011320(*(undefined4 *)PTR_optarg_0001dffc);\n    psVar38 = local_7d0;\n    uVar16 = uStack_7c4;\n    uVar7 = local_7c0;\n    if (local_7f4 < 0) {\n      pr2serr("bad argument to \'--timeout=\'\n");\n      goto LAB_00011a7a;\n    }\n    goto code_r0x000114e8;\n  case 0x4d:\n    uVar7 = func_0x00011320(*(undefined4 *)PTR_optarg_0001dffc);\n    if (1 < uVar7) {\n      pr2serr("bad argument to \'--same\', expect 0 or 1\n");\n      goto LAB_00011a7a;\n    }\n    local_810 = (byte)uVar7 & 1;\n    local_818 = 1;\n    local_794 = (stat64 *)0x17159;\n    psVar38 = local_7d0;\n    uVar16 = uStack_7c4;\n    uVar7 = local_7c0;\n    goto code_r0x000114e8;\n  case 0x4e:\n    local_814 = 1;\n    local_794 = (stat64 *)0x17164;\n    goto code_r0x000114e8;\n  case 0x4f:\n    local_81b = 1;\n    local_794 = (stat64 *)0x1716a;\n    goto code_r0x000114e8;\n  case 0x51:\n    local_81a = '\x01';\n    goto code_r0x000114e8;\n  case 0x52:\n    local_819 = '\x01';\n    goto code_r0x000114e8;\n  case 0x53:\n    uVar7 = func_0x00011320(*(undefined4 *)PTR_optarg_0001dffc);\n    if (0xffff < uVar7) {\n      pr2serr("bad argument to \'--scattered=\'. Expect 0 to 0xffff inclusive\n");\n      goto LAB_00011a7a;\n    }\n    local_7e0 = (ushort)uVar7;\n    local_794 = (stat64 *)0x17172;\n    local_817 = 1;\n    psVar38 = local_7d0;\n    uVar16 = uStack_7c4;\n    uVar7 = local_7c0;\n    goto code_r0x000114e8;\n  case 0x54:\n    uVar7 = func_0x00011320(*(undefined4 *)PTR_optarg_0001dffc);\n    if (0xffff < uVar7) {\n      pr2serr("bad argument to \'--stream=\', expect 0 to 65535\n");\n      goto LAB_00011a7a;\n    }\n    uStack_7de = (undefined2)uVar7;\n    local_794 = (stat64 *)0x17182;\n    local_816 = 1;\n    psVar38 = local_7d0;\n    uVar16 = uStack_7c4;\n    uVar7 = local_7c0;\n    goto code_r0x000114e8;\n  case 0x56:\n    local_80e = '\x01';\n    goto code_r0x000114e8;\n  case 0x61:\n    uVar7 = func_0x00011320(*(undefined4 *)PTR_optarg_0001dffc);\n    if (0xffff < uVar7) {\n      pr2serr("bad argument to \'--app-tag=\'. Expect 0 to 0xffff inclusive\n");\n      goto LAB_00011a7a;\n    }\n    local_7e6 = (ushort)uVar7;\n    psVar38 = local_7d0;\n    uVar16 = uStack_7c4;\n    uVar7 = local_7c0;\n    goto code_r0x000114e8;\n  case 0x62:\n    psVar17 = (stat64 *)func_0x00011320(*(undefined4 *)PTR_optarg_0001dffc);\n    if ((stat64 *)0x10000000 < psVar17) {\n      pr2serr("bad argument to \'--bs=\'. Expect 0 or greater\n");\n      goto LAB_00011a7a;\n    }\n    if (psVar17 == (stat64 *)0x0) {\n      local_7d8 = (stat64 *)0x0;\n      local_7d4 = (stat64 *)0x0;\n      psVar38 = local_7d0;\n      uVar16 = uStack_7c4;\n      uVar7 = local_7c0;\n    }\n    else {\n      if ((int)psVar17 < 0x200) {\n        pr2serr("warning: --bs=BS value is < 512 which seems too small, continue\n");\n        bVar1 = 1;\n      }\n      if (((uint)psVar17 & 7) != 0) {\n        pr2serr("warning: --bs=BS value is not a multiple of 8, unexpected, continue\n");\n        bVar1 = 1;\n      }\n      iVar21 = 0;\n      iVar10 = 0;\n      psVar38 = psVar17;\n      do {\n        if (((uint)psVar38 & 1) != 0) {\n          iVar21 = iVar10;\n        }\n        iVar10 = iVar10 + 1;\n        psVar38 = (stat64 *)((int)psVar38 >> 1);\n      } while (iVar10 != 0x1c);\n      psVar22 = (stat64 *)(1 << ((byte)iVar21 & 0x1f));\n      local_7d8 = psVar17;\n      local_7d4 = psVar17;\n      psVar38 = local_7d0;\n      uVar16 = uStack_7c4;\n      uVar7 = local_7c0;\n      if (psVar17 != psVar22) {\n        local_7d8 = psVar22;\n      }\n    }\n    goto code_r0x000114e8;\n  case 99:\n    iVar21 = func_0x00011320(*(undefined4 *)PTR_optarg_0001dffc);\n    if (iVar21 < 0) {\n      pr2serr("bad argument to \'--combined=\'. Expect 0 to 0x7fffffff\n");\n      goto LAB_00011a7a;\n    }\n    local_7e2 = (ushort)iVar21;\n    local_81c = '\x01';\n    psVar38 = local_7d0;\n    uVar16 = uStack_7c4;\n    uVar7 = local_7c0;\n    goto code_r0x000114e8;\n  case 100:\n    uStack_812 = 1;\n    goto code_r0x000114e8;\n  case 0x66:\n    uStack_811 = 1;\n    goto code_r0x000114e8;\n  case 0x67:\n    uStack_804 = func_0x00011320(*(undefined4 *)PTR_optarg_0001dffc);\n    psVar38 = local_7d0;\n    uVar16 = uStack_7c4;\n    uVar7 = local_7c0;\n    if (0x3f < uStack_804) {\n      pr2serr("bad argument to \'--grpnum\'\n");\n      goto LAB_00011a7a;\n    }\n    goto code_r0x000114e8;\n  case 0x68:\n    local_800 = local_800 + 1;\n    goto code_r0x000114e8;\n  case 0x69:\n    local_79c = *(char **)PTR_optarg_0001dffc;\n    goto code_r0x000114e8;\n  case 0x6c:\n    if (local_91c != (stat64 *)0x0) {\n      pr2serr("only expect \'--lba=\' option once\n");\n      goto LAB_00011a7a;\n    }\n    local_91c = *(stat64 **)PTR_optarg_0001dffc;\n    goto code_r0x000114e8;\n  case 0x6e:\n    if (local_918 != (stat64 *)0x0) {\n      pr2serr("only expect \'--num=\' option once\n");\n      goto LAB_00011a7a;\n    }\n    local_918 = *(stat64 **)PTR_optarg_0001dffc;\n    goto code_r0x000114e8;\n  case 0x6f:\n    lVar34 = sg_get_llnum(*(undefined4 *)PTR_optarg_0001dffc);\n    psVar17 = (stat64 *)lVar34;\n    if (lVar34 == -1) {\n      pr2serr("bad first argument to \'--offset=\'\n");\n      goto LAB_00011a7a;\n    }\n    uVar36 = 0x2c;\n    psVar22 = psVar17;\n    local_7b4 = psVar17;\n    local_7b0 = (stat64 *)((ulonglong)lVar34 >> 0x20);\n    pcVar15 = strchr(*(char **)puVar5,0x2c);\n    psVar38 = local_7d0;\n    uVar16 = uStack_7c4;\n    uVar7 = local_7c0;\n    if (pcVar15 != (char *)0x0) {\n      lVar34 = sg_get_llnum(pcVar15 + 1,uVar36,psVar17,psVar22);\n      psVar38 = (stat64 *)lVar34;\n      uVar16 = uStack_7c4;\n      uVar7 = local_7c0;\n      if ((int)((ulonglong)lVar34 >> 0x20) == -1) {\n        if (psVar38 == (stat64 *)0xffffffff) {\n          pr2serr("bad second argument to \'--offset=\'\n");\n          goto LAB_00011a7a;\n        }\n      }\n      else if (0xffffffff < lVar34) {\n        pr2serr("bad second argument to \'--offset=\', cannot exceed 32 bits\n");\n        goto LAB_00011a7a;\n      }\n    }\n    goto code_r0x000114e8;\n  case 0x71:\n    local_798 = *(char **)PTR_optarg_0001dffc;\n    goto code_r0x000114e8;\n  case 0x72:\n    goto code_r0x000115f1;\n  case 0x73:\n    local_7f8 = local_7f8 + 1;\n    goto code_r0x000114e8;\n  case 0x74:\n    uVar7 = func_0x00011320(*(undefined4 *)PTR_optarg_0001dffc);\n    if (0xffff < uVar7) {\n      pr2serr("bad argument to \'--tag-mask=\'. Expect 0 to 0xffff inclusive\n");\n      goto LAB_00011a7a;\n    }\n    local_7dc = (ushort)uVar7;\n    psVar38 = local_7d0;\n    uVar16 = uStack_7c4;\n    uVar7 = local_7c0;\n    goto code_r0x000114e8;\n  case 0x75:\n    uVar7 = func_0x00011320(*(undefined4 *)puVar20);\n    if (3 < uVar7) {\n      pr2serr("bad argument to \'--unmap=\', expect 0 to 3\n");\n      goto LAB_00011a7a;\n    }\n    bStack_81e = (byte)(uVar7 >> 1) & 1;\n    bStack_815 = (byte)uVar7 & 1;\n    psVar38 = local_7d0;\n    uVar16 = uStack_7c4;\n    uVar7 = local_7c0;\n    goto code_r0x000114e8;\n  case 0x76:\n    local_80f = '\x01';\n    local_7f0 = (stat64 *)((int)&local_7f0->st_dev + 1);\n    goto code_r0x000114e8;\n  case 0x77:\n    local_7ec = (stat64 *)func_0x00011320(*(undefined4 *)puVar20);\n    if ((stat64 *)0x7 < local_7ec) {\n      pr2serr("bad argument to \'--wrprotect\'\n");\n      goto LAB_00011a7a;\n    }\n    local_813 = 0 < (int)local_7ec;\n    psVar38 = local_7d0;\n    uVar16 = uStack_7c4;\n    uVar7 = local_7c0;\n    goto code_r0x000114e8;\n  case 0x78:\n    iStack_808 = iStack_808 + 1;\n    goto code_r0x000114e8;\n  }" { (case_statement "case 0x33:\n    local_81f = '\x01';\n    goto code_r0x000114e8;" case number_literal : (expression_statement "local_81f = '\x01';" (assignment_expression "local_81f = '\x01'" identifier = (char_literal "'\x01'" ' escape_sequence ')) ;) (goto_statement "goto code_r0x000114e8;" goto statement_identifier ;)) (case_statement "default:\n    pcVar15 = "unrecognised option code 0x%x ??\n";\n    break;" default : (expression_statement "pcVar15 = "unrecognised option code 0x%x ??\n";" (assignment_expression "pcVar15 = "unrecognised option code 0x%x ??\n"" identifier = (string_literal ""unrecognised option code 0x%x ??\n"" " string_content escape_sequence ")) ;) (break_statement "break;" break ;)) (case_statement "case 0x36:\n    local_820 = '\x01';\n    goto code_r0x000114e8;" case number_literal : (expression_statement "local_820 = '\x01';" (assignment_expression "local_820 = '\x01'" identifier = (char_literal "'\x01'" ' escape_sequence ')) ;) (goto_statement "goto code_r0x000114e8;" goto statement_identifier ;)) (case_statement "case 0x3f:\n    pcVar15 = "\n";\n    break;" case number_literal : (expression_statement "pcVar15 = "\n";" (assignment_expression "pcVar15 = "\n"" identifier = (string_literal ""\n"" " escape_sequence ")) ;) (break_statement "break;" break ;)) (case_statement "case 0x41:\n    uVar7 = func_0x00011320(*(undefined4 *)PTR_optarg_0001dffc);\n    if (0xffff < uVar7) {\n      pr2serr("bad argument to \'--atomic=\'. Expect 0 to 0xffff inclusive\n");\n      goto LAB_00011a7a;\n    }\n    uStack_7e4 = (undefined2)uVar7;\n    local_81d = 1;\n    local_794 = (stat64 *)0x17112;\n    psVar38 = local_7d0;\n    uVar16 = uStack_7c4;\n    uVar7 = local_7c0;\n    goto code_r0x000114e8;" case number_literal : (expression_statement "uVar7 = func_0x00011320(*(undefined4 *)PTR_optarg_0001dffc);" (assignment_expression "uVar7 = func_0x00011320(*(undefined4 *)PTR_optarg_0001dffc)" identifier = (call_expression "func_0x00011320(*(undefined4 *)PTR_optarg_0001dffc)" identifier (argument_list "(*(undefined4 *)PTR_optarg_0001dffc)" ( (pointer_expression "*(undefined4 *)PTR_optarg_0001dffc" * (cast_expression "(undefined4 *)PTR_optarg_0001dffc" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )))) ;) (if_statement "if (0xffff < uVar7) {\n      pr2serr("bad argument to \'--atomic=\'. Expect 0 to 0xffff inclusive\n");\n      goto LAB_00011a7a;\n    }" if (parenthesized_expression "(0xffff < uVar7)" ( (binary_expression "0xffff < uVar7" number_literal < identifier) )) (compound_statement "{\n      pr2serr("bad argument to \'--atomic=\'. Expect 0 to 0xffff inclusive\n");\n      goto LAB_00011a7a;\n    }" { (expression_statement "pr2serr("bad argument to \'--atomic=\'. Expect 0 to 0xffff inclusive\n");" (call_expression "pr2serr("bad argument to \'--atomic=\'. Expect 0 to 0xffff inclusive\n")" identifier (argument_list "("bad argument to \'--atomic=\'. Expect 0 to 0xffff inclusive\n")" ( (string_literal ""bad argument to \'--atomic=\'. Expect 0 to 0xffff inclusive\n"" " string_content escape_sequence string_content escape_sequence string_content escape_sequence ") ))) ;) (goto_statement "goto LAB_00011a7a;" goto statement_identifier ;) })) (expression_statement "uStack_7e4 = (undefined2)uVar7;" (assignment_expression "uStack_7e4 = (undefined2)uVar7" identifier = (cast_expression "(undefined2)uVar7" ( (type_descriptor "undefined2" type_identifier) ) identifier)) ;) (expression_statement "local_81d = 1;" (assignment_expression "local_81d = 1" identifier = number_literal) ;) (expression_statement "local_794 = (stat64 *)0x17112;" (assignment_expression "local_794 = (stat64 *)0x17112" identifier = (cast_expression "(stat64 *)0x17112" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "psVar38 = local_7d0;" (assignment_expression "psVar38 = local_7d0" identifier = identifier) ;) (expression_statement "uVar16 = uStack_7c4;" (assignment_expression "uVar16 = uStack_7c4" identifier = identifier) ;) (expression_statement "uVar7 = local_7c0;" (assignment_expression "uVar7 = local_7c0" identifier = identifier) ;) (goto_statement "goto code_r0x000114e8;" goto statement_identifier ;)) (case_statement "case 0x42:\n    uVar24 = func_0x00011320(*(undefined4 *)PTR_optarg_0001dffc);\n    if (7 < uVar24) {\n      pr2serr("bad first argument to \'--bmop=\'\n");\n      goto LAB_00011a7a;\n    }\n    uStack_7e8 = (undefined1)uVar24;\n    uVar36 = 0x2c;\n    uVar41 = uVar24;\n    pcVar15 = strchr(*(char **)puVar5,0x2c);\n    psVar38 = local_7d0;\n    uVar16 = uStack_7c4;\n    uVar7 = local_7c0;\n    if (pcVar15 != (char *)0x0) {\n      uVar7 = func_0x00011320(pcVar15 + 1,uVar36,uVar24,uVar41);\n      if (0xf < uVar7) {\n        pr2serr("bad second argument to \'--bmop=\'\n");\n        goto LAB_00011a7a;\n      }\n      uStack_7e7 = (undefined1)uVar7;\n      psVar38 = local_7d0;\n      uVar16 = uStack_7c4;\n      uVar7 = local_7c0;\n    }\n    goto code_r0x000114e8;" case number_literal : (expression_statement "uVar24 = func_0x00011320(*(undefined4 *)PTR_optarg_0001dffc);" (assignment_expression "uVar24 = func_0x00011320(*(undefined4 *)PTR_optarg_0001dffc)" identifier = (call_expression "func_0x00011320(*(undefined4 *)PTR_optarg_0001dffc)" identifier (argument_list "(*(undefined4 *)PTR_optarg_0001dffc)" ( (pointer_expression "*(undefined4 *)PTR_optarg_0001dffc" * (cast_expression "(undefined4 *)PTR_optarg_0001dffc" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )))) ;) (if_statement "if (7 < uVar24) {\n      pr2serr("bad first argument to \'--bmop=\'\n");\n      goto LAB_00011a7a;\n    }" if (parenthesized_expression "(7 < uVar24)" ( (binary_expression "7 < uVar24" number_literal < identifier) )) (compound_statement "{\n      pr2serr("bad first argument to \'--bmop=\'\n");\n      goto LAB_00011a7a;\n    }" { (expression_statement "pr2serr("bad first argument to \'--bmop=\'\n");" (call_expression "pr2serr("bad first argument to \'--bmop=\'\n")" identifier (argument_list "("bad first argument to \'--bmop=\'\n")" ( (string_literal ""bad first argument to \'--bmop=\'\n"" " string_content escape_sequence string_content escape_sequence escape_sequence ") ))) ;) (goto_statement "goto LAB_00011a7a;" goto statement_identifier ;) })) (expression_statement "uStack_7e8 = (undefined1)uVar24;" (assignment_expression "uStack_7e8 = (undefined1)uVar24" identifier = (cast_expression "(undefined1)uVar24" ( (type_descriptor "undefined1" type_identifier) ) identifier)) ;) (expression_statement "uVar36 = 0x2c;" (assignment_expression "uVar36 = 0x2c" identifier = number_literal) ;) (expression_statement "uVar41 = uVar24;" (assignment_expression "uVar41 = uVar24" identifier = identifier) ;) (expression_statement "pcVar15 = strchr(*(char **)puVar5,0x2c);" (assignment_expression "pcVar15 = strchr(*(char **)puVar5,0x2c)" identifier = (call_expression "strchr(*(char **)puVar5,0x2c)" identifier (argument_list "(*(char **)puVar5,0x2c)" ( (pointer_expression "*(char **)puVar5" * (cast_expression "(char **)puVar5" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier)) , number_literal )))) ;) (expression_statement "psVar38 = local_7d0;" (assignment_expression "psVar38 = local_7d0" identifier = identifier) ;) (expression_statement "uVar16 = uStack_7c4;" (assignment_expression "uVar16 = uStack_7c4" identifier = identifier) ;) (expression_statement "uVar7 = local_7c0;" (assignment_expression "uVar7 = local_7c0" identifier = identifier) ;) (if_statement "if (pcVar15 != (char *)0x0) {\n      uVar7 = func_0x00011320(pcVar15 + 1,uVar36,uVar24,uVar41);\n      if (0xf < uVar7) {\n        pr2serr("bad second argument to \'--bmop=\'\n");\n        goto LAB_00011a7a;\n      }\n      uStack_7e7 = (undefined1)uVar7;\n      psVar38 = local_7d0;\n      uVar16 = uStack_7c4;\n      uVar7 = local_7c0;\n    }" if (parenthesized_expression "(pcVar15 != (char *)0x0)" ( (binary_expression "pcVar15 != (char *)0x0" identifier != (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      uVar7 = func_0x00011320(pcVar15 + 1,uVar36,uVar24,uVar41);\n      if (0xf < uVar7) {\n        pr2serr("bad second argument to \'--bmop=\'\n");\n        goto LAB_00011a7a;\n      }\n      uStack_7e7 = (undefined1)uVar7;\n      psVar38 = local_7d0;\n      uVar16 = uStack_7c4;\n      uVar7 = local_7c0;\n    }" { (expression_statement "uVar7 = func_0x00011320(pcVar15 + 1,uVar36,uVar24,uVar41);" (assignment_expression "uVar7 = func_0x00011320(pcVar15 + 1,uVar36,uVar24,uVar41)" identifier = (call_expression "func_0x00011320(pcVar15 + 1,uVar36,uVar24,uVar41)" identifier (argument_list "(pcVar15 + 1,uVar36,uVar24,uVar41)" ( (binary_expression "pcVar15 + 1" identifier + number_literal) , identifier , identifier , identifier )))) ;) (if_statement "if (0xf < uVar7) {\n        pr2serr("bad second argument to \'--bmop=\'\n");\n        goto LAB_00011a7a;\n      }" if (parenthesized_expression "(0xf < uVar7)" ( (binary_expression "0xf < uVar7" number_literal < identifier) )) (compound_statement "{\n        pr2serr("bad second argument to \'--bmop=\'\n");\n        goto LAB_00011a7a;\n      }" { (expression_statement "pr2serr("bad second argument to \'--bmop=\'\n");" (call_expression "pr2serr("bad second argument to \'--bmop=\'\n")" identifier (argument_list "("bad second argument to \'--bmop=\'\n")" ( (string_literal ""bad second argument to \'--bmop=\'\n"" " string_content escape_sequence string_content escape_sequence escape_sequence ") ))) ;) (goto_statement "goto LAB_00011a7a;" goto statement_identifier ;) })) (expression_statement "uStack_7e7 = (undefined1)uVar7;" (assignment_expression "uStack_7e7 = (undefined1)uVar7" identifier = (cast_expression "(undefined1)uVar7" ( (type_descriptor "undefined1" type_identifier) ) identifier)) ;) (expression_statement "psVar38 = local_7d0;" (assignment_expression "psVar38 = local_7d0" identifier = identifier) ;) (expression_statement "uVar16 = uStack_7c4;" (assignment_expression "uVar16 = uStack_7c4" identifier = identifier) ;) (expression_statement "uVar7 = local_7c0;" (assignment_expression "uVar7 = local_7c0" identifier = identifier) ;) })) (goto_statement "goto code_r0x000114e8;" goto statement_identifier ;)) (case_statement "case 0x44:\n    uStack_80c = func_0x00011320(*(undefined4 *)PTR_optarg_0001dffc);\n    psVar38 = local_7d0;\n    uVar16 = uStack_7c4;\n    uVar7 = local_7c0;\n    if (7 < uStack_80c) {\n      pr2serr("bad argument to \'--dld=\', expect 0 to 7 inclusive\n");\n      goto LAB_00011a7a;\n    }\n    goto code_r0x000114e8;" case number_literal : (expression_statement "uStack_80c = func_0x00011320(*(undefined4 *)PTR_optarg_0001dffc);" (assignment_expression "uStack_80c = func_0x00011320(*(undefined4 *)PTR_optarg_0001dffc)" identifier = (call_expression "func_0x00011320(*(undefined4 *)PTR_optarg_0001dffc)" identifier (argument_list "(*(undefined4 *)PTR_optarg_0001dffc)" ( (pointer_expression "*(undefined4 *)PTR_optarg_0001dffc" * (cast_expression "(undefined4 *)PTR_optarg_0001dffc" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )))) ;) (expression_statement "psVar38 = local_7d0;" (assignment_expression "psVar38 = local_7d0" identifier = identifier) ;) (expression_statement "uVar16 = uStack_7c4;" (assignment_expression "uVar16 = uStack_7c4" identifier = identifier) ;) (expression_statement "uVar7 = local_7c0;" (assignment_expression "uVar7 = local_7c0" identifier = identifier) ;) (if_statement "if (7 < uStack_80c) {\n      pr2serr("bad argument to \'--dld=\', expect 0 to 7 inclusive\n");\n      goto LAB_00011a7a;\n    }" if (parenthesized_expression "(7 < uStack_80c)" ( (binary_expression "7 < uStack_80c" number_literal < identifier) )) (compound_statement "{\n      pr2serr("bad argument to \'--dld=\', expect 0 to 7 inclusive\n");\n      goto LAB_00011a7a;\n    }" { (expression_statement "pr2serr("bad argument to \'--dld=\', expect 0 to 7 inclusive\n");" (call_expression "pr2serr("bad argument to \'--dld=\', expect 0 to 7 inclusive\n")" identifier (argument_list "("bad argument to \'--dld=\', expect 0 to 7 inclusive\n")" ( (string_literal ""bad argument to \'--dld=\', expect 0 to 7 inclusive\n"" " string_content escape_sequence string_content escape_sequence string_content escape_sequence ") ))) ;) (goto_statement "goto LAB_00011a7a;" goto statement_identifier ;) })) (goto_statement "goto code_r0x000114e8;" goto statement_identifier ;)) (case_statement "case 0x47:\n    uVar33 = sg_get_llnum(*(undefined4 *)PTR_optarg_0001dffc);\n    uVar36 = (undefined4)uVar33;\n    if ((int)((ulonglong)uVar33 >> 0x20) != 0) {\n      pr2serr("bad first argument to \'--generation=\'\n");\n      goto LAB_00011a7a;\n    }\n    uVar37 = 0x2c;\n    uVar40 = uVar36;\n    uStack_7c8 = uVar36;\n    pcVar15 = strchr(*(char **)puVar5,0x2c);\n    if (pcVar15 == (char *)0x0) {\n      pr2serr("need two arguments with --generation=EOG,NOG and they must be comma separated\n",\n              uVar37,uVar36,uVar40);\n      goto LAB_00011a7a;\n    }\n    uVar33 = sg_get_llnum(pcVar15 + 1);\n    psVar38 = local_7d0;\n    uVar16 = (int)uVar33;\n    uVar7 = local_7c0;\n    if ((int)((ulonglong)uVar33 >> 0x20) != 0) {\n      pr2serr("bad second argument to \'--generation=\'\n",uVar37,uVar36,uVar40);\n      goto LAB_00011a7a;\n    }\n    goto code_r0x000114e8;" case number_literal : (expression_statement "uVar33 = sg_get_llnum(*(undefined4 *)PTR_optarg_0001dffc);" (assignment_expression "uVar33 = sg_get_llnum(*(undefined4 *)PTR_optarg_0001dffc)" identifier = (call_expression "sg_get_llnum(*(undefined4 *)PTR_optarg_0001dffc)" identifier (argument_list "(*(undefined4 *)PTR_optarg_0001dffc)" ( (pointer_expression "*(undefined4 *)PTR_optarg_0001dffc" * (cast_expression "(undefined4 *)PTR_optarg_0001dffc" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )))) ;) (expression_statement "uVar36 = (undefined4)uVar33;" (assignment_expression "uVar36 = (undefined4)uVar33" identifier = (cast_expression "(undefined4)uVar33" ( (type_descriptor "undefined4" type_identifier) ) identifier)) ;) (if_statement "if ((int)((ulonglong)uVar33 >> 0x20) != 0) {\n      pr2serr("bad first argument to \'--generation=\'\n");\n      goto LAB_00011a7a;\n    }" if (parenthesized_expression "((int)((ulonglong)uVar33 >> 0x20) != 0)" ( (binary_expression "(int)((ulonglong)uVar33 >> 0x20) != 0" (cast_expression "(int)((ulonglong)uVar33 >> 0x20)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((ulonglong)uVar33 >> 0x20)" ( (binary_expression "(ulonglong)uVar33 >> 0x20" (cast_expression "(ulonglong)uVar33" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) ))) != number_literal) )) (compound_statement "{\n      pr2serr("bad first argument to \'--generation=\'\n");\n      goto LAB_00011a7a;\n    }" { (expression_statement "pr2serr("bad first argument to \'--generation=\'\n");" (call_expression "pr2serr("bad first argument to \'--generation=\'\n")" identifier (argument_list "("bad first argument to \'--generation=\'\n")" ( (string_literal ""bad first argument to \'--generation=\'\n"" " string_content escape_sequence string_content escape_sequence escape_sequence ") ))) ;) (goto_statement "goto LAB_00011a7a;" goto statement_identifier ;) })) (expression_statement "uVar37 = 0x2c;" (assignment_expression "uVar37 = 0x2c" identifier = number_literal) ;) (expression_statement "uVar40 = uVar36;" (assignment_expression "uVar40 = uVar36" identifier = identifier) ;) (expression_statement "uStack_7c8 = uVar36;" (assignment_expression "uStack_7c8 = uVar36" identifier = identifier) ;) (expression_statement "pcVar15 = strchr(*(char **)puVar5,0x2c);" (assignment_expression "pcVar15 = strchr(*(char **)puVar5,0x2c)" identifier = (call_expression "strchr(*(char **)puVar5,0x2c)" identifier (argument_list "(*(char **)puVar5,0x2c)" ( (pointer_expression "*(char **)puVar5" * (cast_expression "(char **)puVar5" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier)) , number_literal )))) ;) (if_statement "if (pcVar15 == (char *)0x0) {\n      pr2serr("need two arguments with --generation=EOG,NOG and they must be comma separated\n",\n              uVar37,uVar36,uVar40);\n      goto LAB_00011a7a;\n    }" if (parenthesized_expression "(pcVar15 == (char *)0x0)" ( (binary_expression "pcVar15 == (char *)0x0" identifier == (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      pr2serr("need two arguments with --generation=EOG,NOG and they must be comma separated\n",\n              uVar37,uVar36,uVar40);\n      goto LAB_00011a7a;\n    }" { (expression_statement "pr2serr("need two arguments with --generation=EOG,NOG and they must be comma separated\n",\n              uVar37,uVar36,uVar40);" (call_expression "pr2serr("need two arguments with --generation=EOG,NOG and they must be comma separated\n",\n              uVar37,uVar36,uVar40)" identifier (argument_list "("need two arguments with --generation=EOG,NOG and they must be comma separated\n",\n              uVar37,uVar36,uVar40)" ( (string_literal ""need two arguments with --generation=EOG,NOG and they must be comma separated\n"" " string_content escape_sequence ") , identifier , identifier , identifier ))) ;) (goto_statement "goto LAB_00011a7a;" goto statement_identifier ;) })) (expression_statement "uVar33 = sg_get_llnum(pcVar15 + 1);" (assignment_expression "uVar33 = sg_get_llnum(pcVar15 + 1)" identifier = (call_expression "sg_get_llnum(pcVar15 + 1)" identifier (argument_list "(pcVar15 + 1)" ( (binary_expression "pcVar15 + 1" identifier + number_literal) )))) ;) (expression_statement "psVar38 = local_7d0;" (assignment_expression "psVar38 = local_7d0" identifier = identifier) ;) (expression_statement "uVar16 = (int)uVar33;" (assignment_expression "uVar16 = (int)uVar33" identifier = (cast_expression "(int)uVar33" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (expression_statement "uVar7 = local_7c0;" (assignment_expression "uVar7 = local_7c0" identifier = identifier) ;) (if_statement "if ((int)((ulonglong)uVar33 >> 0x20) != 0) {\n      pr2serr("bad second argument to \'--generation=\'\n",uVar37,uVar36,uVar40);\n      goto LAB_00011a7a;\n    }" if (parenthesized_expression "((int)((ulonglong)uVar33 >> 0x20) != 0)" ( (binary_expression "(int)((ulonglong)uVar33 >> 0x20) != 0" (cast_expression "(int)((ulonglong)uVar33 >> 0x20)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((ulonglong)uVar33 >> 0x20)" ( (binary_expression "(ulonglong)uVar33 >> 0x20" (cast_expression "(ulonglong)uVar33" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) ))) != number_literal) )) (compound_statement "{\n      pr2serr("bad second argument to \'--generation=\'\n",uVar37,uVar36,uVar40);\n      goto LAB_00011a7a;\n    }" { (expression_statement "pr2serr("bad second argument to \'--generation=\'\n",uVar37,uVar36,uVar40);" (call_expression "pr2serr("bad second argument to \'--generation=\'\n",uVar37,uVar36,uVar40)" identifier (argument_list "("bad second argument to \'--generation=\'\n",uVar37,uVar36,uVar40)" ( (string_literal ""bad second argument to \'--generation=\'\n"" " string_content escape_sequence string_content escape_sequence escape_sequence ") , identifier , identifier , identifier ))) ;) (goto_statement "goto LAB_00011a7a;" goto statement_identifier ;) })) (goto_statement "goto code_r0x000114e8;" goto statement_identifier ;)) (case_statement "case 0x49:\n    local_7f4 = func_0x00011320(*(undefined4 *)PTR_optarg_0001dffc);\n    psVar38 = local_7d0;\n    uVar16 = uStack_7c4;\n    uVar7 = local_7c0;\n    if (local_7f4 < 0) {\n      pr2serr("bad argument to \'--timeout=\'\n");\n      goto LAB_00011a7a;\n    }\n    goto code_r0x000114e8;" case number_literal : (expression_statement "local_7f4 = func_0x00011320(*(undefined4 *)PTR_optarg_0001dffc);" (assignment_expression "local_7f4 = func_0x00011320(*(undefined4 *)PTR_optarg_0001dffc)" identifier = (call_expression "func_0x00011320(*(undefined4 *)PTR_optarg_0001dffc)" identifier (argument_list "(*(undefined4 *)PTR_optarg_0001dffc)" ( (pointer_expression "*(undefined4 *)PTR_optarg_0001dffc" * (cast_expression "(undefined4 *)PTR_optarg_0001dffc" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )))) ;) (expression_statement "psVar38 = local_7d0;" (assignment_expression "psVar38 = local_7d0" identifier = identifier) ;) (expression_statement "uVar16 = uStack_7c4;" (assignment_expression "uVar16 = uStack_7c4" identifier = identifier) ;) (expression_statement "uVar7 = local_7c0;" (assignment_expression "uVar7 = local_7c0" identifier = identifier) ;) (if_statement "if (local_7f4 < 0) {\n      pr2serr("bad argument to \'--timeout=\'\n");\n      goto LAB_00011a7a;\n    }" if (parenthesized_expression "(local_7f4 < 0)" ( (binary_expression "local_7f4 < 0" identifier < number_literal) )) (compound_statement "{\n      pr2serr("bad argument to \'--timeout=\'\n");\n      goto LAB_00011a7a;\n    }" { (expression_statement "pr2serr("bad argument to \'--timeout=\'\n");" (call_expression "pr2serr("bad argument to \'--timeout=\'\n")" identifier (argument_list "("bad argument to \'--timeout=\'\n")" ( (string_literal ""bad argument to \'--timeout=\'\n"" " string_content escape_sequence string_content escape_sequence escape_sequence ") ))) ;) (goto_statement "goto LAB_00011a7a;" goto statement_identifier ;) })) (goto_statement "goto code_r0x000114e8;" goto statement_identifier ;)) (case_statement "case 0x4d:\n    uVar7 = func_0x00011320(*(undefined4 *)PTR_optarg_0001dffc);\n    if (1 < uVar7) {\n      pr2serr("bad argument to \'--same\', expect 0 or 1\n");\n      goto LAB_00011a7a;\n    }\n    local_810 = (byte)uVar7 & 1;\n    local_818 = 1;\n    local_794 = (stat64 *)0x17159;\n    psVar38 = local_7d0;\n    uVar16 = uStack_7c4;\n    uVar7 = local_7c0;\n    goto code_r0x000114e8;" case number_literal : (expression_statement "uVar7 = func_0x00011320(*(undefined4 *)PTR_optarg_0001dffc);" (assignment_expression "uVar7 = func_0x00011320(*(undefined4 *)PTR_optarg_0001dffc)" identifier = (call_expression "func_0x00011320(*(undefined4 *)PTR_optarg_0001dffc)" identifier (argument_list "(*(undefined4 *)PTR_optarg_0001dffc)" ( (pointer_expression "*(undefined4 *)PTR_optarg_0001dffc" * (cast_expression "(undefined4 *)PTR_optarg_0001dffc" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )))) ;) (if_statement "if (1 < uVar7) {\n      pr2serr("bad argument to \'--same\', expect 0 or 1\n");\n      goto LAB_00011a7a;\n    }" if (parenthesized_expression "(1 < uVar7)" ( (binary_expression "1 < uVar7" number_literal < identifier) )) (compound_statement "{\n      pr2serr("bad argument to \'--same\', expect 0 or 1\n");\n      goto LAB_00011a7a;\n    }" { (expression_statement "pr2serr("bad argument to \'--same\', expect 0 or 1\n");" (call_expression "pr2serr("bad argument to \'--same\', expect 0 or 1\n")" identifier (argument_list "("bad argument to \'--same\', expect 0 or 1\n")" ( (string_literal ""bad argument to \'--same\', expect 0 or 1\n"" " string_content escape_sequence string_content escape_sequence string_content escape_sequence ") ))) ;) (goto_statement "goto LAB_00011a7a;" goto statement_identifier ;) })) (expression_statement "local_810 = (byte)uVar7 & 1;" (assignment_expression "local_810 = (byte)uVar7 & 1" identifier = (binary_expression "(byte)uVar7 & 1" (cast_expression "(byte)uVar7" ( (type_descriptor "byte" type_identifier) ) identifier) & number_literal)) ;) (expression_statement "local_818 = 1;" (assignment_expression "local_818 = 1" identifier = number_literal) ;) (expression_statement "local_794 = (stat64 *)0x17159;" (assignment_expression "local_794 = (stat64 *)0x17159" identifier = (cast_expression "(stat64 *)0x17159" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "psVar38 = local_7d0;" (assignment_expression "psVar38 = local_7d0" identifier = identifier) ;) (expression_statement "uVar16 = uStack_7c4;" (assignment_expression "uVar16 = uStack_7c4" identifier = identifier) ;) (expression_statement "uVar7 = local_7c0;" (assignment_expression "uVar7 = local_7c0" identifier = identifier) ;) (goto_statement "goto code_r0x000114e8;" goto statement_identifier ;)) (case_statement "case 0x4e:\n    local_814 = 1;\n    local_794 = (stat64 *)0x17164;\n    goto code_r0x000114e8;" case number_literal : (expression_statement "local_814 = 1;" (assignment_expression "local_814 = 1" identifier = number_literal) ;) (expression_statement "local_794 = (stat64 *)0x17164;" (assignment_expression "local_794 = (stat64 *)0x17164" identifier = (cast_expression "(stat64 *)0x17164" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (goto_statement "goto code_r0x000114e8;" goto statement_identifier ;)) (case_statement "case 0x4f:\n    local_81b = 1;\n    local_794 = (stat64 *)0x1716a;\n    goto code_r0x000114e8;" case number_literal : (expression_statement "local_81b = 1;" (assignment_expression "local_81b = 1" identifier = number_literal) ;) (expression_statement "local_794 = (stat64 *)0x1716a;" (assignment_expression "local_794 = (stat64 *)0x1716a" identifier = (cast_expression "(stat64 *)0x1716a" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (goto_statement "goto code_r0x000114e8;" goto statement_identifier ;)) (case_statement "case 0x51:\n    local_81a = '\x01';\n    goto code_r0x000114e8;" case number_literal : (expression_statement "local_81a = '\x01';" (assignment_expression "local_81a = '\x01'" identifier = (char_literal "'\x01'" ' escape_sequence ')) ;) (goto_statement "goto code_r0x000114e8;" goto statement_identifier ;)) (case_statement "case 0x52:\n    local_819 = '\x01';\n    goto code_r0x000114e8;" case number_literal : (expression_statement "local_819 = '\x01';" (assignment_expression "local_819 = '\x01'" identifier = (char_literal "'\x01'" ' escape_sequence ')) ;) (goto_statement "goto code_r0x000114e8;" goto statement_identifier ;)) (case_statement "case 0x53:\n    uVar7 = func_0x00011320(*(undefined4 *)PTR_optarg_0001dffc);\n    if (0xffff < uVar7) {\n      pr2serr("bad argument to \'--scattered=\'. Expect 0 to 0xffff inclusive\n");\n      goto LAB_00011a7a;\n    }\n    local_7e0 = (ushort)uVar7;\n    local_794 = (stat64 *)0x17172;\n    local_817 = 1;\n    psVar38 = local_7d0;\n    uVar16 = uStack_7c4;\n    uVar7 = local_7c0;\n    goto code_r0x000114e8;" case number_literal : (expression_statement "uVar7 = func_0x00011320(*(undefined4 *)PTR_optarg_0001dffc);" (assignment_expression "uVar7 = func_0x00011320(*(undefined4 *)PTR_optarg_0001dffc)" identifier = (call_expression "func_0x00011320(*(undefined4 *)PTR_optarg_0001dffc)" identifier (argument_list "(*(undefined4 *)PTR_optarg_0001dffc)" ( (pointer_expression "*(undefined4 *)PTR_optarg_0001dffc" * (cast_expression "(undefined4 *)PTR_optarg_0001dffc" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )))) ;) (if_statement "if (0xffff < uVar7) {\n      pr2serr("bad argument to \'--scattered=\'. Expect 0 to 0xffff inclusive\n");\n      goto LAB_00011a7a;\n    }" if (parenthesized_expression "(0xffff < uVar7)" ( (binary_expression "0xffff < uVar7" number_literal < identifier) )) (compound_statement "{\n      pr2serr("bad argument to \'--scattered=\'. Expect 0 to 0xffff inclusive\n");\n      goto LAB_00011a7a;\n    }" { (expression_statement "pr2serr("bad argument to \'--scattered=\'. Expect 0 to 0xffff inclusive\n");" (call_expression "pr2serr("bad argument to \'--scattered=\'. Expect 0 to 0xffff inclusive\n")" identifier (argument_list "("bad argument to \'--scattered=\'. Expect 0 to 0xffff inclusive\n")" ( (string_literal ""bad argument to \'--scattered=\'. Expect 0 to 0xffff inclusive\n"" " string_content escape_sequence string_content escape_sequence string_content escape_sequence ") ))) ;) (goto_statement "goto LAB_00011a7a;" goto statement_identifier ;) })) (expression_statement "local_7e0 = (ushort)uVar7;" (assignment_expression "local_7e0 = (ushort)uVar7" identifier = (cast_expression "(ushort)uVar7" ( (type_descriptor "ushort" type_identifier) ) identifier)) ;) (expression_statement "local_794 = (stat64 *)0x17172;" (assignment_expression "local_794 = (stat64 *)0x17172" identifier = (cast_expression "(stat64 *)0x17172" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_817 = 1;" (assignment_expression "local_817 = 1" identifier = number_literal) ;) (expression_statement "psVar38 = local_7d0;" (assignment_expression "psVar38 = local_7d0" identifier = identifier) ;) (expression_statement "uVar16 = uStack_7c4;" (assignment_expression "uVar16 = uStack_7c4" identifier = identifier) ;) (expression_statement "uVar7 = local_7c0;" (assignment_expression "uVar7 = local_7c0" identifier = identifier) ;) (goto_statement "goto code_r0x000114e8;" goto statement_identifier ;)) (case_statement "case 0x54:\n    uVar7 = func_0x00011320(*(undefined4 *)PTR_optarg_0001dffc);\n    if (0xffff < uVar7) {\n      pr2serr("bad argument to \'--stream=\', expect 0 to 65535\n");\n      goto LAB_00011a7a;\n    }\n    uStack_7de = (undefined2)uVar7;\n    local_794 = (stat64 *)0x17182;\n    local_816 = 1;\n    psVar38 = local_7d0;\n    uVar16 = uStack_7c4;\n    uVar7 = local_7c0;\n    goto code_r0x000114e8;" case number_literal : (expression_statement "uVar7 = func_0x00011320(*(undefined4 *)PTR_optarg_0001dffc);" (assignment_expression "uVar7 = func_0x00011320(*(undefined4 *)PTR_optarg_0001dffc)" identifier = (call_expression "func_0x00011320(*(undefined4 *)PTR_optarg_0001dffc)" identifier (argument_list "(*(undefined4 *)PTR_optarg_0001dffc)" ( (pointer_expression "*(undefined4 *)PTR_optarg_0001dffc" * (cast_expression "(undefined4 *)PTR_optarg_0001dffc" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )))) ;) (if_statement "if (0xffff < uVar7) {\n      pr2serr("bad argument to \'--stream=\', expect 0 to 65535\n");\n      goto LAB_00011a7a;\n    }" if (parenthesized_expression "(0xffff < uVar7)" ( (binary_expression "0xffff < uVar7" number_literal < identifier) )) (compound_statement "{\n      pr2serr("bad argument to \'--stream=\', expect 0 to 65535\n");\n      goto LAB_00011a7a;\n    }" { (expression_statement "pr2serr("bad argument to \'--stream=\', expect 0 to 65535\n");" (call_expression "pr2serr("bad argument to \'--stream=\', expect 0 to 65535\n")" identifier (argument_list "("bad argument to \'--stream=\', expect 0 to 65535\n")" ( (string_literal ""bad argument to \'--stream=\', expect 0 to 65535\n"" " string_content escape_sequence string_content escape_sequence string_content escape_sequence ") ))) ;) (goto_statement "goto LAB_00011a7a;" goto statement_identifier ;) })) (expression_statement "uStack_7de = (undefined2)uVar7;" (assignment_expression "uStack_7de = (undefined2)uVar7" identifier = (cast_expression "(undefined2)uVar7" ( (type_descriptor "undefined2" type_identifier) ) identifier)) ;) (expression_statement "local_794 = (stat64 *)0x17182;" (assignment_expression "local_794 = (stat64 *)0x17182" identifier = (cast_expression "(stat64 *)0x17182" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_816 = 1;" (assignment_expression "local_816 = 1" identifier = number_literal) ;) (expression_statement "psVar38 = local_7d0;" (assignment_expression "psVar38 = local_7d0" identifier = identifier) ;) (expression_statement "uVar16 = uStack_7c4;" (assignment_expression "uVar16 = uStack_7c4" identifier = identifier) ;) (expression_statement "uVar7 = local_7c0;" (assignment_expression "uVar7 = local_7c0" identifier = identifier) ;) (goto_statement "goto code_r0x000114e8;" goto statement_identifier ;)) (case_statement "case 0x56:\n    local_80e = '\x01';\n    goto code_r0x000114e8;" case number_literal : (expression_statement "local_80e = '\x01';" (assignment_expression "local_80e = '\x01'" identifier = (char_literal "'\x01'" ' escape_sequence ')) ;) (goto_statement "goto code_r0x000114e8;" goto statement_identifier ;)) (case_statement "case 0x61:\n    uVar7 = func_0x00011320(*(undefined4 *)PTR_optarg_0001dffc);\n    if (0xffff < uVar7) {\n      pr2serr("bad argument to \'--app-tag=\'. Expect 0 to 0xffff inclusive\n");\n      goto LAB_00011a7a;\n    }\n    local_7e6 = (ushort)uVar7;\n    psVar38 = local_7d0;\n    uVar16 = uStack_7c4;\n    uVar7 = local_7c0;\n    goto code_r0x000114e8;" case number_literal : (expression_statement "uVar7 = func_0x00011320(*(undefined4 *)PTR_optarg_0001dffc);" (assignment_expression "uVar7 = func_0x00011320(*(undefined4 *)PTR_optarg_0001dffc)" identifier = (call_expression "func_0x00011320(*(undefined4 *)PTR_optarg_0001dffc)" identifier (argument_list "(*(undefined4 *)PTR_optarg_0001dffc)" ( (pointer_expression "*(undefined4 *)PTR_optarg_0001dffc" * (cast_expression "(undefined4 *)PTR_optarg_0001dffc" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )))) ;) (if_statement "if (0xffff < uVar7) {\n      pr2serr("bad argument to \'--app-tag=\'. Expect 0 to 0xffff inclusive\n");\n      goto LAB_00011a7a;\n    }" if (parenthesized_expression "(0xffff < uVar7)" ( (binary_expression "0xffff < uVar7" number_literal < identifier) )) (compound_statement "{\n      pr2serr("bad argument to \'--app-tag=\'. Expect 0 to 0xffff inclusive\n");\n      goto LAB_00011a7a;\n    }" { (expression_statement "pr2serr("bad argument to \'--app-tag=\'. Expect 0 to 0xffff inclusive\n");" (call_expression "pr2serr("bad argument to \'--app-tag=\'. Expect 0 to 0xffff inclusive\n")" identifier (argument_list "("bad argument to \'--app-tag=\'. Expect 0 to 0xffff inclusive\n")" ( (string_literal ""bad argument to \'--app-tag=\'. Expect 0 to 0xffff inclusive\n"" " string_content escape_sequence string_content escape_sequence string_content escape_sequence ") ))) ;) (goto_statement "goto LAB_00011a7a;" goto statement_identifier ;) })) (expression_statement "local_7e6 = (ushort)uVar7;" (assignment_expression "local_7e6 = (ushort)uVar7" identifier = (cast_expression "(ushort)uVar7" ( (type_descriptor "ushort" type_identifier) ) identifier)) ;) (expression_statement "psVar38 = local_7d0;" (assignment_expression "psVar38 = local_7d0" identifier = identifier) ;) (expression_statement "uVar16 = uStack_7c4;" (assignment_expression "uVar16 = uStack_7c4" identifier = identifier) ;) (expression_statement "uVar7 = local_7c0;" (assignment_expression "uVar7 = local_7c0" identifier = identifier) ;) (goto_statement "goto code_r0x000114e8;" goto statement_identifier ;)) (case_statement "case 0x62:\n    psVar17 = (stat64 *)func_0x00011320(*(undefined4 *)PTR_optarg_0001dffc);\n    if ((stat64 *)0x10000000 < psVar17) {\n      pr2serr("bad argument to \'--bs=\'. Expect 0 or greater\n");\n      goto LAB_00011a7a;\n    }\n    if (psVar17 == (stat64 *)0x0) {\n      local_7d8 = (stat64 *)0x0;\n      local_7d4 = (stat64 *)0x0;\n      psVar38 = local_7d0;\n      uVar16 = uStack_7c4;\n      uVar7 = local_7c0;\n    }\n    else {\n      if ((int)psVar17 < 0x200) {\n        pr2serr("warning: --bs=BS value is < 512 which seems too small, continue\n");\n        bVar1 = 1;\n      }\n      if (((uint)psVar17 & 7) != 0) {\n        pr2serr("warning: --bs=BS value is not a multiple of 8, unexpected, continue\n");\n        bVar1 = 1;\n      }\n      iVar21 = 0;\n      iVar10 = 0;\n      psVar38 = psVar17;\n      do {\n        if (((uint)psVar38 & 1) != 0) {\n          iVar21 = iVar10;\n        }\n        iVar10 = iVar10 + 1;\n        psVar38 = (stat64 *)((int)psVar38 >> 1);\n      } while (iVar10 != 0x1c);\n      psVar22 = (stat64 *)(1 << ((byte)iVar21 & 0x1f));\n      local_7d8 = psVar17;\n      local_7d4 = psVar17;\n      psVar38 = local_7d0;\n      uVar16 = uStack_7c4;\n      uVar7 = local_7c0;\n      if (psVar17 != psVar22) {\n        local_7d8 = psVar22;\n      }\n    }\n    goto code_r0x000114e8;" case number_literal : (expression_statement "psVar17 = (stat64 *)func_0x00011320(*(undefined4 *)PTR_optarg_0001dffc);" (assignment_expression "psVar17 = (stat64 *)func_0x00011320(*(undefined4 *)PTR_optarg_0001dffc)" identifier = (cast_expression "(stat64 *)func_0x00011320(*(undefined4 *)PTR_optarg_0001dffc)" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "func_0x00011320(*(undefined4 *)PTR_optarg_0001dffc)" identifier (argument_list "(*(undefined4 *)PTR_optarg_0001dffc)" ( (pointer_expression "*(undefined4 *)PTR_optarg_0001dffc" * (cast_expression "(undefined4 *)PTR_optarg_0001dffc" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ))))) ;) (if_statement "if ((stat64 *)0x10000000 < psVar17) {\n      pr2serr("bad argument to \'--bs=\'. Expect 0 or greater\n");\n      goto LAB_00011a7a;\n    }" if (parenthesized_expression "((stat64 *)0x10000000 < psVar17)" ( (binary_expression "(stat64 *)0x10000000 < psVar17" (cast_expression "(stat64 *)0x10000000" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal) < identifier) )) (compound_statement "{\n      pr2serr("bad argument to \'--bs=\'. Expect 0 or greater\n");\n      goto LAB_00011a7a;\n    }" { (expression_statement "pr2serr("bad argument to \'--bs=\'. Expect 0 or greater\n");" (call_expression "pr2serr("bad argument to \'--bs=\'. Expect 0 or greater\n")" identifier (argument_list "("bad argument to \'--bs=\'. Expect 0 or greater\n")" ( (string_literal ""bad argument to \'--bs=\'. Expect 0 or greater\n"" " string_content escape_sequence string_content escape_sequence string_content escape_sequence ") ))) ;) (goto_statement "goto LAB_00011a7a;" goto statement_identifier ;) })) (if_statement "if (psVar17 == (stat64 *)0x0) {\n      local_7d8 = (stat64 *)0x0;\n      local_7d4 = (stat64 *)0x0;\n      psVar38 = local_7d0;\n      uVar16 = uStack_7c4;\n      uVar7 = local_7c0;\n    }\n    else {\n      if ((int)psVar17 < 0x200) {\n        pr2serr("warning: --bs=BS value is < 512 which seems too small, continue\n");\n        bVar1 = 1;\n      }\n      if (((uint)psVar17 & 7) != 0) {\n        pr2serr("warning: --bs=BS value is not a multiple of 8, unexpected, continue\n");\n        bVar1 = 1;\n      }\n      iVar21 = 0;\n      iVar10 = 0;\n      psVar38 = psVar17;\n      do {\n        if (((uint)psVar38 & 1) != 0) {\n          iVar21 = iVar10;\n        }\n        iVar10 = iVar10 + 1;\n        psVar38 = (stat64 *)((int)psVar38 >> 1);\n      } while (iVar10 != 0x1c);\n      psVar22 = (stat64 *)(1 << ((byte)iVar21 & 0x1f));\n      local_7d8 = psVar17;\n      local_7d4 = psVar17;\n      psVar38 = local_7d0;\n      uVar16 = uStack_7c4;\n      uVar7 = local_7c0;\n      if (psVar17 != psVar22) {\n        local_7d8 = psVar22;\n      }\n    }" if (parenthesized_expression "(psVar17 == (stat64 *)0x0)" ( (binary_expression "psVar17 == (stat64 *)0x0" identifier == (cast_expression "(stat64 *)0x0" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      local_7d8 = (stat64 *)0x0;\n      local_7d4 = (stat64 *)0x0;\n      psVar38 = local_7d0;\n      uVar16 = uStack_7c4;\n      uVar7 = local_7c0;\n    }" { (expression_statement "local_7d8 = (stat64 *)0x0;" (assignment_expression "local_7d8 = (stat64 *)0x0" identifier = (cast_expression "(stat64 *)0x0" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_7d4 = (stat64 *)0x0;" (assignment_expression "local_7d4 = (stat64 *)0x0" identifier = (cast_expression "(stat64 *)0x0" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "psVar38 = local_7d0;" (assignment_expression "psVar38 = local_7d0" identifier = identifier) ;) (expression_statement "uVar16 = uStack_7c4;" (assignment_expression "uVar16 = uStack_7c4" identifier = identifier) ;) (expression_statement "uVar7 = local_7c0;" (assignment_expression "uVar7 = local_7c0" identifier = identifier) ;) }) (else_clause "else {\n      if ((int)psVar17 < 0x200) {\n        pr2serr("warning: --bs=BS value is < 512 which seems too small, continue\n");\n        bVar1 = 1;\n      }\n      if (((uint)psVar17 & 7) != 0) {\n        pr2serr("warning: --bs=BS value is not a multiple of 8, unexpected, continue\n");\n        bVar1 = 1;\n      }\n      iVar21 = 0;\n      iVar10 = 0;\n      psVar38 = psVar17;\n      do {\n        if (((uint)psVar38 & 1) != 0) {\n          iVar21 = iVar10;\n        }\n        iVar10 = iVar10 + 1;\n        psVar38 = (stat64 *)((int)psVar38 >> 1);\n      } while (iVar10 != 0x1c);\n      psVar22 = (stat64 *)(1 << ((byte)iVar21 & 0x1f));\n      local_7d8 = psVar17;\n      local_7d4 = psVar17;\n      psVar38 = local_7d0;\n      uVar16 = uStack_7c4;\n      uVar7 = local_7c0;\n      if (psVar17 != psVar22) {\n        local_7d8 = psVar22;\n      }\n    }" else (compound_statement "{\n      if ((int)psVar17 < 0x200) {\n        pr2serr("warning: --bs=BS value is < 512 which seems too small, continue\n");\n        bVar1 = 1;\n      }\n      if (((uint)psVar17 & 7) != 0) {\n        pr2serr("warning: --bs=BS value is not a multiple of 8, unexpected, continue\n");\n        bVar1 = 1;\n      }\n      iVar21 = 0;\n      iVar10 = 0;\n      psVar38 = psVar17;\n      do {\n        if (((uint)psVar38 & 1) != 0) {\n          iVar21 = iVar10;\n        }\n        iVar10 = iVar10 + 1;\n        psVar38 = (stat64 *)((int)psVar38 >> 1);\n      } while (iVar10 != 0x1c);\n      psVar22 = (stat64 *)(1 << ((byte)iVar21 & 0x1f));\n      local_7d8 = psVar17;\n      local_7d4 = psVar17;\n      psVar38 = local_7d0;\n      uVar16 = uStack_7c4;\n      uVar7 = local_7c0;\n      if (psVar17 != psVar22) {\n        local_7d8 = psVar22;\n      }\n    }" { (if_statement "if ((int)psVar17 < 0x200) {\n        pr2serr("warning: --bs=BS value is < 512 which seems too small, continue\n");\n        bVar1 = 1;\n      }" if (parenthesized_expression "((int)psVar17 < 0x200)" ( (binary_expression "(int)psVar17 < 0x200" (cast_expression "(int)psVar17" ( (type_descriptor "int" primitive_type) ) identifier) < number_literal) )) (compound_statement "{\n        pr2serr("warning: --bs=BS value is < 512 which seems too small, continue\n");\n        bVar1 = 1;\n      }" { (expression_statement "pr2serr("warning: --bs=BS value is < 512 which seems too small, continue\n");" (call_expression "pr2serr("warning: --bs=BS value is < 512 which seems too small, continue\n")" identifier (argument_list "("warning: --bs=BS value is < 512 which seems too small, continue\n")" ( (string_literal ""warning: --bs=BS value is < 512 which seems too small, continue\n"" " string_content escape_sequence ") ))) ;) (expression_statement "bVar1 = 1;" (assignment_expression "bVar1 = 1" identifier = number_literal) ;) })) (if_statement "if (((uint)psVar17 & 7) != 0) {\n        pr2serr("warning: --bs=BS value is not a multiple of 8, unexpected, continue\n");\n        bVar1 = 1;\n      }" if (parenthesized_expression "(((uint)psVar17 & 7) != 0)" ( (binary_expression "((uint)psVar17 & 7) != 0" (parenthesized_expression "((uint)psVar17 & 7)" ( (binary_expression "(uint)psVar17 & 7" (cast_expression "(uint)psVar17" ( (type_descriptor "uint" type_identifier) ) identifier) & number_literal) )) != number_literal) )) (compound_statement "{\n        pr2serr("warning: --bs=BS value is not a multiple of 8, unexpected, continue\n");\n        bVar1 = 1;\n      }" { (expression_statement "pr2serr("warning: --bs=BS value is not a multiple of 8, unexpected, continue\n");" (call_expression "pr2serr("warning: --bs=BS value is not a multiple of 8, unexpected, continue\n")" identifier (argument_list "("warning: --bs=BS value is not a multiple of 8, unexpected, continue\n")" ( (string_literal ""warning: --bs=BS value is not a multiple of 8, unexpected, continue\n"" " string_content escape_sequence ") ))) ;) (expression_statement "bVar1 = 1;" (assignment_expression "bVar1 = 1" identifier = number_literal) ;) })) (expression_statement "iVar21 = 0;" (assignment_expression "iVar21 = 0" identifier = number_literal) ;) (expression_statement "iVar10 = 0;" (assignment_expression "iVar10 = 0" identifier = number_literal) ;) (expression_statement "psVar38 = psVar17;" (assignment_expression "psVar38 = psVar17" identifier = identifier) ;) (do_statement "do {\n        if (((uint)psVar38 & 1) != 0) {\n          iVar21 = iVar10;\n        }\n        iVar10 = iVar10 + 1;\n        psVar38 = (stat64 *)((int)psVar38 >> 1);\n      } while (iVar10 != 0x1c);" do (compound_statement "{\n        if (((uint)psVar38 & 1) != 0) {\n          iVar21 = iVar10;\n        }\n        iVar10 = iVar10 + 1;\n        psVar38 = (stat64 *)((int)psVar38 >> 1);\n      }" { (if_statement "if (((uint)psVar38 & 1) != 0) {\n          iVar21 = iVar10;\n        }" if (parenthesized_expression "(((uint)psVar38 & 1) != 0)" ( (binary_expression "((uint)psVar38 & 1) != 0" (parenthesized_expression "((uint)psVar38 & 1)" ( (binary_expression "(uint)psVar38 & 1" (cast_expression "(uint)psVar38" ( (type_descriptor "uint" type_identifier) ) identifier) & number_literal) )) != number_literal) )) (compound_statement "{\n          iVar21 = iVar10;\n        }" { (expression_statement "iVar21 = iVar10;" (assignment_expression "iVar21 = iVar10" identifier = identifier) ;) })) (expression_statement "iVar10 = iVar10 + 1;" (assignment_expression "iVar10 = iVar10 + 1" identifier = (binary_expression "iVar10 + 1" identifier + number_literal)) ;) (expression_statement "psVar38 = (stat64 *)((int)psVar38 >> 1);" (assignment_expression "psVar38 = (stat64 *)((int)psVar38 >> 1)" identifier = (cast_expression "(stat64 *)((int)psVar38 >> 1)" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)psVar38 >> 1)" ( (binary_expression "(int)psVar38 >> 1" (cast_expression "(int)psVar38" ( (type_descriptor "int" primitive_type) ) identifier) >> number_literal) )))) ;) }) while (parenthesized_expression "(iVar10 != 0x1c)" ( (binary_expression "iVar10 != 0x1c" identifier != number_literal) )) ;) (expression_statement "psVar22 = (stat64 *)(1 << ((byte)iVar21 & 0x1f));" (assignment_expression "psVar22 = (stat64 *)(1 << ((byte)iVar21 & 0x1f))" identifier = (cast_expression "(stat64 *)(1 << ((byte)iVar21 & 0x1f))" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(1 << ((byte)iVar21 & 0x1f))" ( (binary_expression "1 << ((byte)iVar21 & 0x1f)" number_literal << (parenthesized_expression "((byte)iVar21 & 0x1f)" ( (binary_expression "(byte)iVar21 & 0x1f" (cast_expression "(byte)iVar21" ( (type_descriptor "byte" type_identifier) ) identifier) & number_literal) ))) )))) ;) (expression_statement "local_7d8 = psVar17;" (assignment_expression "local_7d8 = psVar17" identifier = identifier) ;) (expression_statement "local_7d4 = psVar17;" (assignment_expression "local_7d4 = psVar17" identifier = identifier) ;) (expression_statement "psVar38 = local_7d0;" (assignment_expression "psVar38 = local_7d0" identifier = identifier) ;) (expression_statement "uVar16 = uStack_7c4;" (assignment_expression "uVar16 = uStack_7c4" identifier = identifier) ;) (expression_statement "uVar7 = local_7c0;" (assignment_expression "uVar7 = local_7c0" identifier = identifier) ;) (if_statement "if (psVar17 != psVar22) {\n        local_7d8 = psVar22;\n      }" if (parenthesized_expression "(psVar17 != psVar22)" ( (binary_expression "psVar17 != psVar22" identifier != identifier) )) (compound_statement "{\n        local_7d8 = psVar22;\n      }" { (expression_statement "local_7d8 = psVar22;" (assignment_expression "local_7d8 = psVar22" identifier = identifier) ;) })) }))) (goto_statement "goto code_r0x000114e8;" goto statement_identifier ;)) (case_statement "case 99:\n    iVar21 = func_0x00011320(*(undefined4 *)PTR_optarg_0001dffc);\n    if (iVar21 < 0) {\n      pr2serr("bad argument to \'--combined=\'. Expect 0 to 0x7fffffff\n");\n      goto LAB_00011a7a;\n    }\n    local_7e2 = (ushort)iVar21;\n    local_81c = '\x01';\n    psVar38 = local_7d0;\n    uVar16 = uStack_7c4;\n    uVar7 = local_7c0;\n    goto code_r0x000114e8;" case number_literal : (expression_statement "iVar21 = func_0x00011320(*(undefined4 *)PTR_optarg_0001dffc);" (assignment_expression "iVar21 = func_0x00011320(*(undefined4 *)PTR_optarg_0001dffc)" identifier = (call_expression "func_0x00011320(*(undefined4 *)PTR_optarg_0001dffc)" identifier (argument_list "(*(undefined4 *)PTR_optarg_0001dffc)" ( (pointer_expression "*(undefined4 *)PTR_optarg_0001dffc" * (cast_expression "(undefined4 *)PTR_optarg_0001dffc" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )))) ;) (if_statement "if (iVar21 < 0) {\n      pr2serr("bad argument to \'--combined=\'. Expect 0 to 0x7fffffff\n");\n      goto LAB_00011a7a;\n    }" if (parenthesized_expression "(iVar21 < 0)" ( (binary_expression "iVar21 < 0" identifier < number_literal) )) (compound_statement "{\n      pr2serr("bad argument to \'--combined=\'. Expect 0 to 0x7fffffff\n");\n      goto LAB_00011a7a;\n    }" { (expression_statement "pr2serr("bad argument to \'--combined=\'. Expect 0 to 0x7fffffff\n");" (call_expression "pr2serr("bad argument to \'--combined=\'. Expect 0 to 0x7fffffff\n")" identifier (argument_list "("bad argument to \'--combined=\'. Expect 0 to 0x7fffffff\n")" ( (string_literal ""bad argument to \'--combined=\'. Expect 0 to 0x7fffffff\n"" " string_content escape_sequence string_content escape_sequence string_content escape_sequence ") ))) ;) (goto_statement "goto LAB_00011a7a;" goto statement_identifier ;) })) (expression_statement "local_7e2 = (ushort)iVar21;" (assignment_expression "local_7e2 = (ushort)iVar21" identifier = (cast_expression "(ushort)iVar21" ( (type_descriptor "ushort" type_identifier) ) identifier)) ;) (expression_statement "local_81c = '\x01';" (assignment_expression "local_81c = '\x01'" identifier = (char_literal "'\x01'" ' escape_sequence ')) ;) (expression_statement "psVar38 = local_7d0;" (assignment_expression "psVar38 = local_7d0" identifier = identifier) ;) (expression_statement "uVar16 = uStack_7c4;" (assignment_expression "uVar16 = uStack_7c4" identifier = identifier) ;) (expression_statement "uVar7 = local_7c0;" (assignment_expression "uVar7 = local_7c0" identifier = identifier) ;) (goto_statement "goto code_r0x000114e8;" goto statement_identifier ;)) (case_statement "case 100:\n    uStack_812 = 1;\n    goto code_r0x000114e8;" case number_literal : (expression_statement "uStack_812 = 1;" (assignment_expression "uStack_812 = 1" identifier = number_literal) ;) (goto_statement "goto code_r0x000114e8;" goto statement_identifier ;)) (case_statement "case 0x66:\n    uStack_811 = 1;\n    goto code_r0x000114e8;" case number_literal : (expression_statement "uStack_811 = 1;" (assignment_expression "uStack_811 = 1" identifier = number_literal) ;) (goto_statement "goto code_r0x000114e8;" goto statement_identifier ;)) (case_statement "case 0x67:\n    uStack_804 = func_0x00011320(*(undefined4 *)PTR_optarg_0001dffc);\n    psVar38 = local_7d0;\n    uVar16 = uStack_7c4;\n    uVar7 = local_7c0;\n    if (0x3f < uStack_804) {\n      pr2serr("bad argument to \'--grpnum\'\n");\n      goto LAB_00011a7a;\n    }\n    goto code_r0x000114e8;" case number_literal : (expression_statement "uStack_804 = func_0x00011320(*(undefined4 *)PTR_optarg_0001dffc);" (assignment_expression "uStack_804 = func_0x00011320(*(undefined4 *)PTR_optarg_0001dffc)" identifier = (call_expression "func_0x00011320(*(undefined4 *)PTR_optarg_0001dffc)" identifier (argument_list "(*(undefined4 *)PTR_optarg_0001dffc)" ( (pointer_expression "*(undefined4 *)PTR_optarg_0001dffc" * (cast_expression "(undefined4 *)PTR_optarg_0001dffc" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )))) ;) (expression_statement "psVar38 = local_7d0;" (assignment_expression "psVar38 = local_7d0" identifier = identifier) ;) (expression_statement "uVar16 = uStack_7c4;" (assignment_expression "uVar16 = uStack_7c4" identifier = identifier) ;) (expression_statement "uVar7 = local_7c0;" (assignment_expression "uVar7 = local_7c0" identifier = identifier) ;) (if_statement "if (0x3f < uStack_804) {\n      pr2serr("bad argument to \'--grpnum\'\n");\n      goto LAB_00011a7a;\n    }" if (parenthesized_expression "(0x3f < uStack_804)" ( (binary_expression "0x3f < uStack_804" number_literal < identifier) )) (compound_statement "{\n      pr2serr("bad argument to \'--grpnum\'\n");\n      goto LAB_00011a7a;\n    }" { (expression_statement "pr2serr("bad argument to \'--grpnum\'\n");" (call_expression "pr2serr("bad argument to \'--grpnum\'\n")" identifier (argument_list "("bad argument to \'--grpnum\'\n")" ( (string_literal ""bad argument to \'--grpnum\'\n"" " string_content escape_sequence string_content escape_sequence escape_sequence ") ))) ;) (goto_statement "goto LAB_00011a7a;" goto statement_identifier ;) })) (goto_statement "goto code_r0x000114e8;" goto statement_identifier ;)) (case_statement "case 0x68:\n    local_800 = local_800 + 1;\n    goto code_r0x000114e8;" case number_literal : (expression_statement "local_800 = local_800 + 1;" (assignment_expression "local_800 = local_800 + 1" identifier = (binary_expression "local_800 + 1" identifier + number_literal)) ;) (goto_statement "goto code_r0x000114e8;" goto statement_identifier ;)) (case_statement "case 0x69:\n    local_79c = *(char **)PTR_optarg_0001dffc;\n    goto code_r0x000114e8;" case number_literal : (expression_statement "local_79c = *(char **)PTR_optarg_0001dffc;" (assignment_expression "local_79c = *(char **)PTR_optarg_0001dffc" identifier = (pointer_expression "*(char **)PTR_optarg_0001dffc" * (cast_expression "(char **)PTR_optarg_0001dffc" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier))) ;) (goto_statement "goto code_r0x000114e8;" goto statement_identifier ;)) (case_statement "case 0x6c:\n    if (local_91c != (stat64 *)0x0) {\n      pr2serr("only expect \'--lba=\' option once\n");\n      goto LAB_00011a7a;\n    }\n    local_91c = *(stat64 **)PTR_optarg_0001dffc;\n    goto code_r0x000114e8;" case number_literal : (if_statement "if (local_91c != (stat64 *)0x0) {\n      pr2serr("only expect \'--lba=\' option once\n");\n      goto LAB_00011a7a;\n    }" if (parenthesized_expression "(local_91c != (stat64 *)0x0)" ( (binary_expression "local_91c != (stat64 *)0x0" identifier != (cast_expression "(stat64 *)0x0" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      pr2serr("only expect \'--lba=\' option once\n");\n      goto LAB_00011a7a;\n    }" { (expression_statement "pr2serr("only expect \'--lba=\' option once\n");" (call_expression "pr2serr("only expect \'--lba=\' option once\n")" identifier (argument_list "("only expect \'--lba=\' option once\n")" ( (string_literal ""only expect \'--lba=\' option once\n"" " string_content escape_sequence string_content escape_sequence string_content escape_sequence ") ))) ;) (goto_statement "goto LAB_00011a7a;" goto statement_identifier ;) })) (expression_statement "local_91c = *(stat64 **)PTR_optarg_0001dffc;" (assignment_expression "local_91c = *(stat64 **)PTR_optarg_0001dffc" identifier = (pointer_expression "*(stat64 **)PTR_optarg_0001dffc" * (cast_expression "(stat64 **)PTR_optarg_0001dffc" ( (type_descriptor "stat64 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier))) ;) (goto_statement "goto code_r0x000114e8;" goto statement_identifier ;)) (case_statement "case 0x6e:\n    if (local_918 != (stat64 *)0x0) {\n      pr2serr("only expect \'--num=\' option once\n");\n      goto LAB_00011a7a;\n    }\n    local_918 = *(stat64 **)PTR_optarg_0001dffc;\n    goto code_r0x000114e8;" case number_literal : (if_statement "if (local_918 != (stat64 *)0x0) {\n      pr2serr("only expect \'--num=\' option once\n");\n      goto LAB_00011a7a;\n    }" if (parenthesized_expression "(local_918 != (stat64 *)0x0)" ( (binary_expression "local_918 != (stat64 *)0x0" identifier != (cast_expression "(stat64 *)0x0" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      pr2serr("only expect \'--num=\' option once\n");\n      goto LAB_00011a7a;\n    }" { (expression_statement "pr2serr("only expect \'--num=\' option once\n");" (call_expression "pr2serr("only expect \'--num=\' option once\n")" identifier (argument_list "("only expect \'--num=\' option once\n")" ( (string_literal ""only expect \'--num=\' option once\n"" " string_content escape_sequence string_content escape_sequence string_content escape_sequence ") ))) ;) (goto_statement "goto LAB_00011a7a;" goto statement_identifier ;) })) (expression_statement "local_918 = *(stat64 **)PTR_optarg_0001dffc;" (assignment_expression "local_918 = *(stat64 **)PTR_optarg_0001dffc" identifier = (pointer_expression "*(stat64 **)PTR_optarg_0001dffc" * (cast_expression "(stat64 **)PTR_optarg_0001dffc" ( (type_descriptor "stat64 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier))) ;) (goto_statement "goto code_r0x000114e8;" goto statement_identifier ;)) (case_statement "case 0x6f:\n    lVar34 = sg_get_llnum(*(undefined4 *)PTR_optarg_0001dffc);\n    psVar17 = (stat64 *)lVar34;\n    if (lVar34 == -1) {\n      pr2serr("bad first argument to \'--offset=\'\n");\n      goto LAB_00011a7a;\n    }\n    uVar36 = 0x2c;\n    psVar22 = psVar17;\n    local_7b4 = psVar17;\n    local_7b0 = (stat64 *)((ulonglong)lVar34 >> 0x20);\n    pcVar15 = strchr(*(char **)puVar5,0x2c);\n    psVar38 = local_7d0;\n    uVar16 = uStack_7c4;\n    uVar7 = local_7c0;\n    if (pcVar15 != (char *)0x0) {\n      lVar34 = sg_get_llnum(pcVar15 + 1,uVar36,psVar17,psVar22);\n      psVar38 = (stat64 *)lVar34;\n      uVar16 = uStack_7c4;\n      uVar7 = local_7c0;\n      if ((int)((ulonglong)lVar34 >> 0x20) == -1) {\n        if (psVar38 == (stat64 *)0xffffffff) {\n          pr2serr("bad second argument to \'--offset=\'\n");\n          goto LAB_00011a7a;\n        }\n      }\n      else if (0xffffffff < lVar34) {\n        pr2serr("bad second argument to \'--offset=\', cannot exceed 32 bits\n");\n        goto LAB_00011a7a;\n      }\n    }\n    goto code_r0x000114e8;" case number_literal : (expression_statement "lVar34 = sg_get_llnum(*(undefined4 *)PTR_optarg_0001dffc);" (assignment_expression "lVar34 = sg_get_llnum(*(undefined4 *)PTR_optarg_0001dffc)" identifier = (call_expression "sg_get_llnum(*(undefined4 *)PTR_optarg_0001dffc)" identifier (argument_list "(*(undefined4 *)PTR_optarg_0001dffc)" ( (pointer_expression "*(undefined4 *)PTR_optarg_0001dffc" * (cast_expression "(undefined4 *)PTR_optarg_0001dffc" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )))) ;) (expression_statement "psVar17 = (stat64 *)lVar34;" (assignment_expression "psVar17 = (stat64 *)lVar34" identifier = (cast_expression "(stat64 *)lVar34" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (if_statement "if (lVar34 == -1) {\n      pr2serr("bad first argument to \'--offset=\'\n");\n      goto LAB_00011a7a;\n    }" if (parenthesized_expression "(lVar34 == -1)" ( (binary_expression "lVar34 == -1" identifier == number_literal) )) (compound_statement "{\n      pr2serr("bad first argument to \'--offset=\'\n");\n      goto LAB_00011a7a;\n    }" { (expression_statement "pr2serr("bad first argument to \'--offset=\'\n");" (call_expression "pr2serr("bad first argument to \'--offset=\'\n")" identifier (argument_list "("bad first argument to \'--offset=\'\n")" ( (string_literal ""bad first argument to \'--offset=\'\n"" " string_content escape_sequence string_content escape_sequence escape_sequence ") ))) ;) (goto_statement "goto LAB_00011a7a;" goto statement_identifier ;) })) (expression_statement "uVar36 = 0x2c;" (assignment_expression "uVar36 = 0x2c" identifier = number_literal) ;) (expression_statement "psVar22 = psVar17;" (assignment_expression "psVar22 = psVar17" identifier = identifier) ;) (expression_statement "local_7b4 = psVar17;" (assignment_expression "local_7b4 = psVar17" identifier = identifier) ;) (expression_statement "local_7b0 = (stat64 *)((ulonglong)lVar34 >> 0x20);" (assignment_expression "local_7b0 = (stat64 *)((ulonglong)lVar34 >> 0x20)" identifier = (cast_expression "(stat64 *)((ulonglong)lVar34 >> 0x20)" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((ulonglong)lVar34 >> 0x20)" ( (binary_expression "(ulonglong)lVar34 >> 0x20" (cast_expression "(ulonglong)lVar34" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) )))) ;) (expression_statement "pcVar15 = strchr(*(char **)puVar5,0x2c);" (assignment_expression "pcVar15 = strchr(*(char **)puVar5,0x2c)" identifier = (call_expression "strchr(*(char **)puVar5,0x2c)" identifier (argument_list "(*(char **)puVar5,0x2c)" ( (pointer_expression "*(char **)puVar5" * (cast_expression "(char **)puVar5" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier)) , number_literal )))) ;) (expression_statement "psVar38 = local_7d0;" (assignment_expression "psVar38 = local_7d0" identifier = identifier) ;) (expression_statement "uVar16 = uStack_7c4;" (assignment_expression "uVar16 = uStack_7c4" identifier = identifier) ;) (expression_statement "uVar7 = local_7c0;" (assignment_expression "uVar7 = local_7c0" identifier = identifier) ;) (if_statement "if (pcVar15 != (char *)0x0) {\n      lVar34 = sg_get_llnum(pcVar15 + 1,uVar36,psVar17,psVar22);\n      psVar38 = (stat64 *)lVar34;\n      uVar16 = uStack_7c4;\n      uVar7 = local_7c0;\n      if ((int)((ulonglong)lVar34 >> 0x20) == -1) {\n        if (psVar38 == (stat64 *)0xffffffff) {\n          pr2serr("bad second argument to \'--offset=\'\n");\n          goto LAB_00011a7a;\n        }\n      }\n      else if (0xffffffff < lVar34) {\n        pr2serr("bad second argument to \'--offset=\', cannot exceed 32 bits\n");\n        goto LAB_00011a7a;\n      }\n    }" if (parenthesized_expression "(pcVar15 != (char *)0x0)" ( (binary_expression "pcVar15 != (char *)0x0" identifier != (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      lVar34 = sg_get_llnum(pcVar15 + 1,uVar36,psVar17,psVar22);\n      psVar38 = (stat64 *)lVar34;\n      uVar16 = uStack_7c4;\n      uVar7 = local_7c0;\n      if ((int)((ulonglong)lVar34 >> 0x20) == -1) {\n        if (psVar38 == (stat64 *)0xffffffff) {\n          pr2serr("bad second argument to \'--offset=\'\n");\n          goto LAB_00011a7a;\n        }\n      }\n      else if (0xffffffff < lVar34) {\n        pr2serr("bad second argument to \'--offset=\', cannot exceed 32 bits\n");\n        goto LAB_00011a7a;\n      }\n    }" { (expression_statement "lVar34 = sg_get_llnum(pcVar15 + 1,uVar36,psVar17,psVar22);" (assignment_expression "lVar34 = sg_get_llnum(pcVar15 + 1,uVar36,psVar17,psVar22)" identifier = (call_expression "sg_get_llnum(pcVar15 + 1,uVar36,psVar17,psVar22)" identifier (argument_list "(pcVar15 + 1,uVar36,psVar17,psVar22)" ( (binary_expression "pcVar15 + 1" identifier + number_literal) , identifier , identifier , identifier )))) ;) (expression_statement "psVar38 = (stat64 *)lVar34;" (assignment_expression "psVar38 = (stat64 *)lVar34" identifier = (cast_expression "(stat64 *)lVar34" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "uVar16 = uStack_7c4;" (assignment_expression "uVar16 = uStack_7c4" identifier = identifier) ;) (expression_statement "uVar7 = local_7c0;" (assignment_expression "uVar7 = local_7c0" identifier = identifier) ;) (if_statement "if ((int)((ulonglong)lVar34 >> 0x20) == -1) {\n        if (psVar38 == (stat64 *)0xffffffff) {\n          pr2serr("bad second argument to \'--offset=\'\n");\n          goto LAB_00011a7a;\n        }\n      }\n      else if (0xffffffff < lVar34) {\n        pr2serr("bad second argument to \'--offset=\', cannot exceed 32 bits\n");\n        goto LAB_00011a7a;\n      }" if (parenthesized_expression "((int)((ulonglong)lVar34 >> 0x20) == -1)" ( (binary_expression "(int)((ulonglong)lVar34 >> 0x20) == -1" (cast_expression "(int)((ulonglong)lVar34 >> 0x20)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((ulonglong)lVar34 >> 0x20)" ( (binary_expression "(ulonglong)lVar34 >> 0x20" (cast_expression "(ulonglong)lVar34" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) ))) == number_literal) )) (compound_statement "{\n        if (psVar38 == (stat64 *)0xffffffff) {\n          pr2serr("bad second argument to \'--offset=\'\n");\n          goto LAB_00011a7a;\n        }\n      }" { (if_statement "if (psVar38 == (stat64 *)0xffffffff) {\n          pr2serr("bad second argument to \'--offset=\'\n");\n          goto LAB_00011a7a;\n        }" if (parenthesized_expression "(psVar38 == (stat64 *)0xffffffff)" ( (binary_expression "psVar38 == (stat64 *)0xffffffff" identifier == (cast_expression "(stat64 *)0xffffffff" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n          pr2serr("bad second argument to \'--offset=\'\n");\n          goto LAB_00011a7a;\n        }" { (expression_statement "pr2serr("bad second argument to \'--offset=\'\n");" (call_expression "pr2serr("bad second argument to \'--offset=\'\n")" identifier (argument_list "("bad second argument to \'--offset=\'\n")" ( (string_literal ""bad second argument to \'--offset=\'\n"" " string_content escape_sequence string_content escape_sequence escape_sequence ") ))) ;) (goto_statement "goto LAB_00011a7a;" goto statement_identifier ;) })) }) (else_clause "else if (0xffffffff < lVar34) {\n        pr2serr("bad second argument to \'--offset=\', cannot exceed 32 bits\n");\n        goto LAB_00011a7a;\n      }" else (if_statement "if (0xffffffff < lVar34) {\n        pr2serr("bad second argument to \'--offset=\', cannot exceed 32 bits\n");\n        goto LAB_00011a7a;\n      }" if (parenthesized_expression "(0xffffffff < lVar34)" ( (binary_expression "0xffffffff < lVar34" number_literal < identifier) )) (compound_statement "{\n        pr2serr("bad second argument to \'--offset=\', cannot exceed 32 bits\n");\n        goto LAB_00011a7a;\n      }" { (expression_statement "pr2serr("bad second argument to \'--offset=\', cannot exceed 32 bits\n");" (call_expression "pr2serr("bad second argument to \'--offset=\', cannot exceed 32 bits\n")" identifier (argument_list "("bad second argument to \'--offset=\', cannot exceed 32 bits\n")" ( (string_literal ""bad second argument to \'--offset=\', cannot exceed 32 bits\n"" " string_content escape_sequence string_content escape_sequence string_content escape_sequence ") ))) ;) (goto_statement "goto LAB_00011a7a;" goto statement_identifier ;) })))) })) (goto_statement "goto code_r0x000114e8;" goto statement_identifier ;)) (case_statement "case 0x71:\n    local_798 = *(char **)PTR_optarg_0001dffc;\n    goto code_r0x000114e8;" case number_literal : (expression_statement "local_798 = *(char **)PTR_optarg_0001dffc;" (assignment_expression "local_798 = *(char **)PTR_optarg_0001dffc" identifier = (pointer_expression "*(char **)PTR_optarg_0001dffc" * (cast_expression "(char **)PTR_optarg_0001dffc" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier))) ;) (goto_statement "goto code_r0x000114e8;" goto statement_identifier ;)) (case_statement "case 0x72:\n    goto code_r0x000115f1;" case number_literal : (goto_statement "goto code_r0x000115f1;" goto statement_identifier ;)) (case_statement "case 0x73:\n    local_7f8 = local_7f8 + 1;\n    goto code_r0x000114e8;" case number_literal : (expression_statement "local_7f8 = local_7f8 + 1;" (assignment_expression "local_7f8 = local_7f8 + 1" identifier = (binary_expression "local_7f8 + 1" identifier + number_literal)) ;) (goto_statement "goto code_r0x000114e8;" goto statement_identifier ;)) (case_statement "case 0x74:\n    uVar7 = func_0x00011320(*(undefined4 *)PTR_optarg_0001dffc);\n    if (0xffff < uVar7) {\n      pr2serr("bad argument to \'--tag-mask=\'. Expect 0 to 0xffff inclusive\n");\n      goto LAB_00011a7a;\n    }\n    local_7dc = (ushort)uVar7;\n    psVar38 = local_7d0;\n    uVar16 = uStack_7c4;\n    uVar7 = local_7c0;\n    goto code_r0x000114e8;" case number_literal : (expression_statement "uVar7 = func_0x00011320(*(undefined4 *)PTR_optarg_0001dffc);" (assignment_expression "uVar7 = func_0x00011320(*(undefined4 *)PTR_optarg_0001dffc)" identifier = (call_expression "func_0x00011320(*(undefined4 *)PTR_optarg_0001dffc)" identifier (argument_list "(*(undefined4 *)PTR_optarg_0001dffc)" ( (pointer_expression "*(undefined4 *)PTR_optarg_0001dffc" * (cast_expression "(undefined4 *)PTR_optarg_0001dffc" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )))) ;) (if_statement "if (0xffff < uVar7) {\n      pr2serr("bad argument to \'--tag-mask=\'. Expect 0 to 0xffff inclusive\n");\n      goto LAB_00011a7a;\n    }" if (parenthesized_expression "(0xffff < uVar7)" ( (binary_expression "0xffff < uVar7" number_literal < identifier) )) (compound_statement "{\n      pr2serr("bad argument to \'--tag-mask=\'. Expect 0 to 0xffff inclusive\n");\n      goto LAB_00011a7a;\n    }" { (expression_statement "pr2serr("bad argument to \'--tag-mask=\'. Expect 0 to 0xffff inclusive\n");" (call_expression "pr2serr("bad argument to \'--tag-mask=\'. Expect 0 to 0xffff inclusive\n")" identifier (argument_list "("bad argument to \'--tag-mask=\'. Expect 0 to 0xffff inclusive\n")" ( (string_literal ""bad argument to \'--tag-mask=\'. Expect 0 to 0xffff inclusive\n"" " string_content escape_sequence string_content escape_sequence string_content escape_sequence ") ))) ;) (goto_statement "goto LAB_00011a7a;" goto statement_identifier ;) })) (expression_statement "local_7dc = (ushort)uVar7;" (assignment_expression "local_7dc = (ushort)uVar7" identifier = (cast_expression "(ushort)uVar7" ( (type_descriptor "ushort" type_identifier) ) identifier)) ;) (expression_statement "psVar38 = local_7d0;" (assignment_expression "psVar38 = local_7d0" identifier = identifier) ;) (expression_statement "uVar16 = uStack_7c4;" (assignment_expression "uVar16 = uStack_7c4" identifier = identifier) ;) (expression_statement "uVar7 = local_7c0;" (assignment_expression "uVar7 = local_7c0" identifier = identifier) ;) (goto_statement "goto code_r0x000114e8;" goto statement_identifier ;)) (case_statement "case 0x75:\n    uVar7 = func_0x00011320(*(undefined4 *)puVar20);\n    if (3 < uVar7) {\n      pr2serr("bad argument to \'--unmap=\', expect 0 to 3\n");\n      goto LAB_00011a7a;\n    }\n    bStack_81e = (byte)(uVar7 >> 1) & 1;\n    bStack_815 = (byte)uVar7 & 1;\n    psVar38 = local_7d0;\n    uVar16 = uStack_7c4;\n    uVar7 = local_7c0;\n    goto code_r0x000114e8;" case number_literal : (expression_statement "uVar7 = func_0x00011320(*(undefined4 *)puVar20);" (assignment_expression "uVar7 = func_0x00011320(*(undefined4 *)puVar20)" identifier = (call_expression "func_0x00011320(*(undefined4 *)puVar20)" identifier (argument_list "(*(undefined4 *)puVar20)" ( (pointer_expression "*(undefined4 *)puVar20" * (cast_expression "(undefined4 *)puVar20" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )))) ;) (if_statement "if (3 < uVar7) {\n      pr2serr("bad argument to \'--unmap=\', expect 0 to 3\n");\n      goto LAB_00011a7a;\n    }" if (parenthesized_expression "(3 < uVar7)" ( (binary_expression "3 < uVar7" number_literal < identifier) )) (compound_statement "{\n      pr2serr("bad argument to \'--unmap=\', expect 0 to 3\n");\n      goto LAB_00011a7a;\n    }" { (expression_statement "pr2serr("bad argument to \'--unmap=\', expect 0 to 3\n");" (call_expression "pr2serr("bad argument to \'--unmap=\', expect 0 to 3\n")" identifier (argument_list "("bad argument to \'--unmap=\', expect 0 to 3\n")" ( (string_literal ""bad argument to \'--unmap=\', expect 0 to 3\n"" " string_content escape_sequence string_content escape_sequence string_content escape_sequence ") ))) ;) (goto_statement "goto LAB_00011a7a;" goto statement_identifier ;) })) (expression_statement "bStack_81e = (byte)(uVar7 >> 1) & 1;" (assignment_expression "bStack_81e = (byte)(uVar7 >> 1) & 1" identifier = (binary_expression "(byte)(uVar7 >> 1) & 1" (call_expression "(byte)(uVar7 >> 1)" (parenthesized_expression "(byte)" ( identifier )) (argument_list "(uVar7 >> 1)" ( (binary_expression "uVar7 >> 1" identifier >> number_literal) ))) & number_literal)) ;) (expression_statement "bStack_815 = (byte)uVar7 & 1;" (assignment_expression "bStack_815 = (byte)uVar7 & 1" identifier = (binary_expression "(byte)uVar7 & 1" (cast_expression "(byte)uVar7" ( (type_descriptor "byte" type_identifier) ) identifier) & number_literal)) ;) (expression_statement "psVar38 = local_7d0;" (assignment_expression "psVar38 = local_7d0" identifier = identifier) ;) (expression_statement "uVar16 = uStack_7c4;" (assignment_expression "uVar16 = uStack_7c4" identifier = identifier) ;) (expression_statement "uVar7 = local_7c0;" (assignment_expression "uVar7 = local_7c0" identifier = identifier) ;) (goto_statement "goto code_r0x000114e8;" goto statement_identifier ;)) (case_statement "case 0x76:\n    local_80f = '\x01';\n    local_7f0 = (stat64 *)((int)&local_7f0->st_dev + 1);\n    goto code_r0x000114e8;" case number_literal : (expression_statement "local_80f = '\x01';" (assignment_expression "local_80f = '\x01'" identifier = (char_literal "'\x01'" ' escape_sequence ')) ;) (expression_statement "local_7f0 = (stat64 *)((int)&local_7f0->st_dev + 1);" (assignment_expression "local_7f0 = (stat64 *)((int)&local_7f0->st_dev + 1)" identifier = (cast_expression "(stat64 *)((int)&local_7f0->st_dev + 1)" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&local_7f0->st_dev + 1)" ( (binary_expression "(int)&local_7f0->st_dev + 1" (cast_expression "(int)&local_7f0->st_dev" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&local_7f0->st_dev" & (field_expression "local_7f0->st_dev" identifier -> field_identifier))) + number_literal) )))) ;) (goto_statement "goto code_r0x000114e8;" goto statement_identifier ;)) (case_statement "case 0x77:\n    local_7ec = (stat64 *)func_0x00011320(*(undefined4 *)puVar20);\n    if ((stat64 *)0x7 < local_7ec) {\n      pr2serr("bad argument to \'--wrprotect\'\n");\n      goto LAB_00011a7a;\n    }\n    local_813 = 0 < (int)local_7ec;\n    psVar38 = local_7d0;\n    uVar16 = uStack_7c4;\n    uVar7 = local_7c0;\n    goto code_r0x000114e8;" case number_literal : (expression_statement "local_7ec = (stat64 *)func_0x00011320(*(undefined4 *)puVar20);" (assignment_expression "local_7ec = (stat64 *)func_0x00011320(*(undefined4 *)puVar20)" identifier = (cast_expression "(stat64 *)func_0x00011320(*(undefined4 *)puVar20)" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "func_0x00011320(*(undefined4 *)puVar20)" identifier (argument_list "(*(undefined4 *)puVar20)" ( (pointer_expression "*(undefined4 *)puVar20" * (cast_expression "(undefined4 *)puVar20" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ))))) ;) (if_statement "if ((stat64 *)0x7 < local_7ec) {\n      pr2serr("bad argument to \'--wrprotect\'\n");\n      goto LAB_00011a7a;\n    }" if (parenthesized_expression "((stat64 *)0x7 < local_7ec)" ( (binary_expression "(stat64 *)0x7 < local_7ec" (cast_expression "(stat64 *)0x7" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal) < identifier) )) (compound_statement "{\n      pr2serr("bad argument to \'--wrprotect\'\n");\n      goto LAB_00011a7a;\n    }" { (expression_statement "pr2serr("bad argument to \'--wrprotect\'\n");" (call_expression "pr2serr("bad argument to \'--wrprotect\'\n")" identifier (argument_list "("bad argument to \'--wrprotect\'\n")" ( (string_literal ""bad argument to \'--wrprotect\'\n"" " string_content escape_sequence string_content escape_sequence escape_sequence ") ))) ;) (goto_statement "goto LAB_00011a7a;" goto statement_identifier ;) })) (expression_statement "local_813 = 0 < (int)local_7ec;" (assignment_expression "local_813 = 0 < (int)local_7ec" identifier = (binary_expression "0 < (int)local_7ec" number_literal < (cast_expression "(int)local_7ec" ( (type_descriptor "int" primitive_type) ) identifier))) ;) (expression_statement "psVar38 = local_7d0;" (assignment_expression "psVar38 = local_7d0" identifier = identifier) ;) (expression_statement "uVar16 = uStack_7c4;" (assignment_expression "uVar16 = uStack_7c4" identifier = identifier) ;) (expression_statement "uVar7 = local_7c0;" (assignment_expression "uVar7 = local_7c0" identifier = identifier) ;) (goto_statement "goto code_r0x000114e8;" goto statement_identifier ;)) (case_statement "case 0x78:\n    iStack_808 = iStack_808 + 1;\n    goto code_r0x000114e8;" case number_literal : (expression_statement "iStack_808 = iStack_808 + 1;" (assignment_expression "iStack_808 = iStack_808 + 1" identifier = (binary_expression "iStack_808 + 1" identifier + number_literal)) ;) (goto_statement "goto code_r0x000114e8;" goto statement_identifier ;)) })) (expression_statement "pr2serr(pcVar15);" (call_expression "pr2serr(pcVar15)" identifier (argument_list "(pcVar15)" ( identifier ))) ;) (expression_statement "FUN_000149b0();" (call_expression "FUN_000149b0()" identifier (argument_list "()" ( ))) ;) (goto_statement "goto LAB_00011a7a;" goto statement_identifier ;) (labeled_statement "LAB_00011c60:\n  while (*(int *)puVar4 < iVar14) {\n    pr2serr("Unexpected extra argument: %s\n",*(undefined4 *)(iVar28 + *(int *)puVar4 * 4),iVar10,\n            iVar10);\n    *(int *)puVar4 = *(int *)puVar4 + 1;\n    iVar10 = extraout_EDX;\n  }" statement_identifier : (while_statement "while (*(int *)puVar4 < iVar14) {\n    pr2serr("Unexpected extra argument: %s\n",*(undefined4 *)(iVar28 + *(int *)puVar4 * 4),iVar10,\n            iVar10);\n    *(int *)puVar4 = *(int *)puVar4 + 1;\n    iVar10 = extraout_EDX;\n  }" while (parenthesized_expression "(*(int *)puVar4 < iVar14)" ( (binary_expression "*(int *)puVar4 < iVar14" (pointer_expression "*(int *)puVar4" * (cast_expression "(int *)puVar4" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) < identifier) )) (compound_statement "{\n    pr2serr("Unexpected extra argument: %s\n",*(undefined4 *)(iVar28 + *(int *)puVar4 * 4),iVar10,\n            iVar10);\n    *(int *)puVar4 = *(int *)puVar4 + 1;\n    iVar10 = extraout_EDX;\n  }" { (expression_statement "pr2serr("Unexpected extra argument: %s\n",*(undefined4 *)(iVar28 + *(int *)puVar4 * 4),iVar10,\n            iVar10);" (call_expression "pr2serr("Unexpected extra argument: %s\n",*(undefined4 *)(iVar28 + *(int *)puVar4 * 4),iVar10,\n            iVar10)" identifier (argument_list "("Unexpected extra argument: %s\n",*(undefined4 *)(iVar28 + *(int *)puVar4 * 4),iVar10,\n            iVar10)" ( (string_literal ""Unexpected extra argument: %s\n"" " string_content escape_sequence ") , (pointer_expression "*(undefined4 *)(iVar28 + *(int *)puVar4 * 4)" * (cast_expression "(undefined4 *)(iVar28 + *(int *)puVar4 * 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar28 + *(int *)puVar4 * 4)" ( (binary_expression "iVar28 + *(int *)puVar4 * 4" identifier + (binary_expression "*(int *)puVar4 * 4" (pointer_expression "*(int *)puVar4" * (cast_expression "(int *)puVar4" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) * number_literal)) )))) , identifier , identifier ))) ;) (expression_statement "*(int *)puVar4 = *(int *)puVar4 + 1;" (assignment_expression "*(int *)puVar4 = *(int *)puVar4 + 1" (pointer_expression "*(int *)puVar4" * (cast_expression "(int *)puVar4" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) = (binary_expression "*(int *)puVar4 + 1" (pointer_expression "*(int *)puVar4" * (cast_expression "(int *)puVar4" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) + number_literal)) ;) (expression_statement "iVar10 = extraout_EDX;" (assignment_expression "iVar10 = extraout_EDX" identifier = identifier) ;) }))) (expression_statement "FUN_000149b0();" (call_expression "FUN_000149b0()" identifier (argument_list "()" ( ))) ;) (expression_statement "local_908 = (stat64 *)0x1;" (assignment_expression "local_908 = (stat64 *)0x1" identifier = (cast_expression "(stat64 *)0x1" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (goto_statement "goto LAB_00011a84;" goto statement_identifier ;) (while_statement "while( true ) {\n    iVar14 = iVar14 + -1;\n    cVar6 = *pcVar15;\n    pcVar15 = pcVar15 + (uint)bVar32 * -2 + 1;\n    if (cVar6 == '\0') break;\ncode_r0x00011d5c:\n    if (iVar14 == 0) break;\n  }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n    iVar14 = iVar14 + -1;\n    cVar6 = *pcVar15;\n    pcVar15 = pcVar15 + (uint)bVar32 * -2 + 1;\n    if (cVar6 == '\0') break;\ncode_r0x00011d5c:\n    if (iVar14 == 0) break;\n  }" { (expression_statement "iVar14 = iVar14 + -1;" (assignment_expression "iVar14 = iVar14 + -1" identifier = (binary_expression "iVar14 + -1" identifier + number_literal)) ;) (expression_statement "cVar6 = *pcVar15;" (assignment_expression "cVar6 = *pcVar15" identifier = (pointer_expression "*pcVar15" * identifier)) ;) (expression_statement "pcVar15 = pcVar15 + (uint)bVar32 * -2 + 1;" (assignment_expression "pcVar15 = pcVar15 + (uint)bVar32 * -2 + 1" identifier = (binary_expression "pcVar15 + (uint)bVar32 * -2 + 1" (binary_expression "pcVar15 + (uint)bVar32 * -2" identifier + (binary_expression "(uint)bVar32 * -2" (cast_expression "(uint)bVar32" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) (if_statement "if (cVar6 == '\0') break;" if (parenthesized_expression "(cVar6 == '\0')" ( (binary_expression "cVar6 == '\0'" identifier == (char_literal "'\0'" ' escape_sequence ')) )) (break_statement "break;" break ;)) (labeled_statement "code_r0x00011d5c:\n    if (iVar14 == 0) break;" statement_identifier : (if_statement "if (iVar14 == 0) break;" if (parenthesized_expression "(iVar14 == 0)" ( (binary_expression "iVar14 == 0" identifier == number_literal) )) (break_statement "break;" break ;))) })) (if_statement "if ((iVar14 == -3) && (*local_798 == '-')) {\n    pr2serr("don\'t accept \'-\' (implying stdin) as a filename in --scat-file=SF\n");\n    local_908 = (stat64 *)0x1f;\n    goto LAB_00011a84;\n  }" if (parenthesized_expression "((iVar14 == -3) && (*local_798 == '-'))" ( (binary_expression "(iVar14 == -3) && (*local_798 == '-')" (parenthesized_expression "(iVar14 == -3)" ( (binary_expression "iVar14 == -3" identifier == number_literal) )) && (parenthesized_expression "(*local_798 == '-')" ( (binary_expression "*local_798 == '-'" (pointer_expression "*local_798" * identifier) == (char_literal "'-'" ' character ')) ))) )) (compound_statement "{\n    pr2serr("don\'t accept \'-\' (implying stdin) as a filename in --scat-file=SF\n");\n    local_908 = (stat64 *)0x1f;\n    goto LAB_00011a84;\n  }" { (expression_statement "pr2serr("don\'t accept \'-\' (implying stdin) as a filename in --scat-file=SF\n");" (call_expression "pr2serr("don\'t accept \'-\' (implying stdin) as a filename in --scat-file=SF\n")" identifier (argument_list "("don\'t accept \'-\' (implying stdin) as a filename in --scat-file=SF\n")" ( (string_literal ""don\'t accept \'-\' (implying stdin) as a filename in --scat-file=SF\n"" " string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence ") ))) ;) (expression_statement "local_908 = (stat64 *)0x1f;" (assignment_expression "local_908 = (stat64 *)0x1f" identifier = (cast_expression "(stat64 *)0x1f" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (goto_statement "goto LAB_00011a84;" goto statement_identifier ;) })) (labeled_statement "LAB_00011d67:\n  if (((psVar38 != (stat64 *)0x0) && (local_820 != '\0')) &&\n     ((local_7c0 != 0xffffffff || ((local_7e6 & local_7dc) != 0xffff)))) {\n    pr2serr("--app-tag=, --ref-tag= and --tag-mask= options ignored with 16 byte commands\n");\n  }" statement_identifier : (if_statement "if (((psVar38 != (stat64 *)0x0) && (local_820 != '\0')) &&\n     ((local_7c0 != 0xffffffff || ((local_7e6 & local_7dc) != 0xffff)))) {\n    pr2serr("--app-tag=, --ref-tag= and --tag-mask= options ignored with 16 byte commands\n");\n  }" if (parenthesized_expression "(((psVar38 != (stat64 *)0x0) && (local_820 != '\0')) &&\n     ((local_7c0 != 0xffffffff || ((local_7e6 & local_7dc) != 0xffff))))" ( (binary_expression "((psVar38 != (stat64 *)0x0) && (local_820 != '\0')) &&\n     ((local_7c0 != 0xffffffff || ((local_7e6 & local_7dc) != 0xffff)))" (parenthesized_expression "((psVar38 != (stat64 *)0x0) && (local_820 != '\0'))" ( (binary_expression "(psVar38 != (stat64 *)0x0) && (local_820 != '\0')" (parenthesized_expression "(psVar38 != (stat64 *)0x0)" ( (binary_expression "psVar38 != (stat64 *)0x0" identifier != (cast_expression "(stat64 *)0x0" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) && (parenthesized_expression "(local_820 != '\0')" ( (binary_expression "local_820 != '\0'" identifier != (char_literal "'\0'" ' escape_sequence ')) ))) )) && (parenthesized_expression "((local_7c0 != 0xffffffff || ((local_7e6 & local_7dc) != 0xffff)))" ( (parenthesized_expression "(local_7c0 != 0xffffffff || ((local_7e6 & local_7dc) != 0xffff))" ( (binary_expression "local_7c0 != 0xffffffff || ((local_7e6 & local_7dc) != 0xffff)" (binary_expression "local_7c0 != 0xffffffff" identifier != number_literal) || (parenthesized_expression "((local_7e6 & local_7dc) != 0xffff)" ( (binary_expression "(local_7e6 & local_7dc) != 0xffff" (parenthesized_expression "(local_7e6 & local_7dc)" ( (binary_expression "local_7e6 & local_7dc" identifier & identifier) )) != number_literal) ))) )) ))) )) (compound_statement "{\n    pr2serr("--app-tag=, --ref-tag= and --tag-mask= options ignored with 16 byte commands\n");\n  }" { (expression_statement "pr2serr("--app-tag=, --ref-tag= and --tag-mask= options ignored with 16 byte commands\n");" (call_expression "pr2serr("--app-tag=, --ref-tag= and --tag-mask= options ignored with 16 byte commands\n")" identifier (argument_list "("--app-tag=, --ref-tag= and --tag-mask= options ignored with 16 byte commands\n")" ( (string_literal ""--app-tag=, --ref-tag= and --tag-mask= options ignored with 16 byte commands\n"" " string_content escape_sequence ") ))) ;) }))) (expression_statement "psVar45 = local_7d0;" (assignment_expression "psVar45 = local_7d0" identifier = identifier) ;) (expression_statement "psVar9 = (stat64 *)(uint)local_810;" (assignment_expression "psVar9 = (stat64 *)(uint)local_810" identifier = (cast_expression "(stat64 *)(uint)local_810" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) (cast_expression "(uint)local_810" ( (type_descriptor "uint" type_identifier) ) identifier))) ;) (if_statement "if (local_810 == 0) {\n    local_93c = local_7d0;\n    cVar2 = '\0';\n    if (local_79c == (char *)0x0) {\n      pr2serr("Need --if=FN option to be given, exiting.\n");\n      if (1 < (int)psVar38) {\n        pr2serr("To write zeros use --in=/dev/zero\n");\n      }\n      pr2serr("\n");\n      FUN_000149b0();\n      local_908 = (stat64 *)0x1;\n      goto LAB_00011a84;\n    }\n    iVar14 = -1;\n    pcVar15 = local_79c;\n    do {\n      if (iVar14 == 0) break;\n      iVar14 = iVar14 + -1;\n      cVar6 = *pcVar15;\n      pcVar15 = pcVar15 + (uint)bVar32 * -2 + 1;\n    } while (cVar6 != '\0');\n    if ((iVar14 != -3) || (*local_79c != '-')) {\n      local_924 = (stat64 *)open64(local_79c,0,iVar14,iVar14);\n      if ((int)local_924 < 0) {\n        piVar19 = __errno_location();\n        iVar14 = *piVar19;\n        pcVar15 = "could not open %s for reading";\n      }\n      else {\n        psVar17 = (stat64 *)sg_set_binary_mode(local_924);\n        if ((int)psVar17 < 0) goto LAB_00011dea;\n        psVar22 = local_924;\n        psVar8 = local_930;\n        iVar14 = __fxstat64(3,(int)local_924,local_930);\n        if (-1 < iVar14) {\n          if ((local_8e0._16_4_ & 0xf000) == 0x8000) {\n            local_93c = (stat64 *)local_8e0._44_4_;\n            if (psVar45 != (stat64 *)0x0) {\n              local_93c = psVar45;\n            }\n            if ((local_8b0 != 0 || (stat64 *)local_8e0._44_4_ != (stat64 *)0x0) &&\n               (psVar25 = (stat64 *)((int)&((stat64 *)(local_8e0._44_4_ + -0x60))->st_ino + 7),\n               iVar28 = local_8b0 + -1 + (uint)((stat64 *)local_8e0._44_4_ != (stat64 *)0x0),\n               iVar14 = (int)local_7b0 - iVar28,\n               (SBORROW4((int)local_7b0,iVar28) != SBORROW4(iVar14,(uint)(local_7b4 < psVar25))) ==\n               (int)(iVar14 - (uint)(local_7b4 < psVar25)) < 0)) {\n              pr2serr("Offset (%llu) is at or beyond IF byte length (%llu)\n",local_7b4,local_7b0,\n                      local_8e0._44_4_,local_8b0,psVar22,psVar8,psVar17);\n              local_908 = (stat64 *)0xf;\n              goto LAB_00012527;\n            }\n            psVar9 = local_7b4;\n            psVar45 = (stat64 *)local_8e0._44_4_;\n            iVar14 = local_8b0;\n            if (local_7b0 != (stat64 *)0x0 || local_7b4 != (stat64 *)0x0) {\n              psVar17 = (stat64 *)0x0;\n              psVar22 = local_7b4;\n              psVar8 = local_7b0;\n              _Var35 = lseek64((int)local_924,CONCAT44(local_7b0,local_7b4),0);\n              psVar25 = local_7b4;\n              if (_Var35 < 0) {\n                piVar19 = __errno_location();\n                psVar25 = (stat64 *)(local_174 + 0x50);\n                iVar14 = *piVar19;\n                __snprintf_chk(psVar25,0x100,1,0x100,"couldn\'t offset to required position on %s",\n                               local_79c,piVar19,piVar19);\n                perror((char *)psVar25);\n                local_908 = (stat64 *)sg_convert_errno(iVar14);\n                goto LAB_00012527;\n              }\n              psVar9 = (stat64 *)((int)psVar45 - (int)local_7b4);\n              iVar14 = (local_8b0 - (int)local_7b0) - (uint)(psVar45 < local_7b4);\n              local_930 = psVar45;\n              if ((int)(uint)(psVar9 != (stat64 *)0x0) <= -iVar14) {\n                pr2serr("--offset [0x%llx] at or beyond file length[0x%llx]\n",local_7b4,local_7b0,\n                        psVar45,local_8b0);\n                local_908 = (stat64 *)0xf;\n                goto LAB_00012527;\n              }\n              if ((local_7f8 != 0) &&\n                 (local_930 = local_7d0, iVar14 < (int)(uint)(psVar9 < local_7d0))) {\n                pr2serr("after accounting for OFF, DLEN exceeds %s remaining length (%u bytes)\n",\n                        local_79c,psVar9,psVar9);\n                local_908 = (stat64 *)0xf;\n                psVar25 = psVar9;\n                goto LAB_00012527;\n              }\n              if (iVar14 < (int)(uint)(psVar9 < local_93c)) {\n                local_93c = psVar9;\n              }\n              psVar45 = psVar9;\n              if (2 < (int)psVar38) {\n                psVar22 = local_7b4;\n                psVar8 = local_93c;\n                psVar17 = psVar9;\n                psVar9 = (stat64 *)\n                         pr2serr("Moved IF byte pointer to %u, if_len=%u, if_readable_len=%u\n",\n                                 local_7b4,local_93c,psVar9);\n              }\n            }\n            goto LAB_00011fa8;\n          }\n          goto LAB_00011e6c;\n        }\n        piVar19 = __errno_location();\n        iVar14 = *piVar19;\n        pcVar15 = "could not fstat %s";\n      }\n      __snprintf_chk(local_174 + 0x50,0x100,1,0x100,pcVar15,local_79c,piVar19,piVar19);\n      perror(local_174 + 0x50);\n      local_908 = (stat64 *)sg_convert_errno(iVar14);\n      goto LAB_00011a84;\n    }\n    iVar14 = sg_set_binary_mode(0);\n    cVar2 = '\x01';\n    local_924 = (stat64 *)0x0;\n    if (iVar14 < 0) {\nLAB_00011dea:\n      perror("sg_set_binary_mode");\n      local_908 = (stat64 *)0xf;\n      goto LAB_00011a84;\n    }\nLAB_00011e6c:\n    if (((stat64 *)((uint)local_7b0 | (uint)local_7b4) == (stat64 *)0x0) ||\n       (psVar38 == (stat64 *)0x0)) {\n      psVar9 = (stat64 *)((uint)local_7b0 | (uint)local_7b4);\n      psVar45 = (stat64 *)0x0;\n      iVar14 = 0;\n    }\n    else {\n      psVar9 = (stat64 *)\n               pr2serr(\n                      "--offset=OFF ignored when IF is stdin, pipe, socket, etc\nDLEN, if given, is used\n"\n                      );\n      psVar45 = (stat64 *)0x0;\n      iVar14 = 0;\n    }\n  }\n  else {\n    local_924 = (stat64 *)0xffffffff;\n    cVar2 = '\0';\n    psVar45 = (stat64 *)0x0;\n    iVar14 = 0;\n    local_93c = (stat64 *)0x0;\n  }" if (parenthesized_expression "(local_810 == 0)" ( (binary_expression "local_810 == 0" identifier == number_literal) )) (compound_statement "{\n    local_93c = local_7d0;\n    cVar2 = '\0';\n    if (local_79c == (char *)0x0) {\n      pr2serr("Need --if=FN option to be given, exiting.\n");\n      if (1 < (int)psVar38) {\n        pr2serr("To write zeros use --in=/dev/zero\n");\n      }\n      pr2serr("\n");\n      FUN_000149b0();\n      local_908 = (stat64 *)0x1;\n      goto LAB_00011a84;\n    }\n    iVar14 = -1;\n    pcVar15 = local_79c;\n    do {\n      if (iVar14 == 0) break;\n      iVar14 = iVar14 + -1;\n      cVar6 = *pcVar15;\n      pcVar15 = pcVar15 + (uint)bVar32 * -2 + 1;\n    } while (cVar6 != '\0');\n    if ((iVar14 != -3) || (*local_79c != '-')) {\n      local_924 = (stat64 *)open64(local_79c,0,iVar14,iVar14);\n      if ((int)local_924 < 0) {\n        piVar19 = __errno_location();\n        iVar14 = *piVar19;\n        pcVar15 = "could not open %s for reading";\n      }\n      else {\n        psVar17 = (stat64 *)sg_set_binary_mode(local_924);\n        if ((int)psVar17 < 0) goto LAB_00011dea;\n        psVar22 = local_924;\n        psVar8 = local_930;\n        iVar14 = __fxstat64(3,(int)local_924,local_930);\n        if (-1 < iVar14) {\n          if ((local_8e0._16_4_ & 0xf000) == 0x8000) {\n            local_93c = (stat64 *)local_8e0._44_4_;\n            if (psVar45 != (stat64 *)0x0) {\n              local_93c = psVar45;\n            }\n            if ((local_8b0 != 0 || (stat64 *)local_8e0._44_4_ != (stat64 *)0x0) &&\n               (psVar25 = (stat64 *)((int)&((stat64 *)(local_8e0._44_4_ + -0x60))->st_ino + 7),\n               iVar28 = local_8b0 + -1 + (uint)((stat64 *)local_8e0._44_4_ != (stat64 *)0x0),\n               iVar14 = (int)local_7b0 - iVar28,\n               (SBORROW4((int)local_7b0,iVar28) != SBORROW4(iVar14,(uint)(local_7b4 < psVar25))) ==\n               (int)(iVar14 - (uint)(local_7b4 < psVar25)) < 0)) {\n              pr2serr("Offset (%llu) is at or beyond IF byte length (%llu)\n",local_7b4,local_7b0,\n                      local_8e0._44_4_,local_8b0,psVar22,psVar8,psVar17);\n              local_908 = (stat64 *)0xf;\n              goto LAB_00012527;\n            }\n            psVar9 = local_7b4;\n            psVar45 = (stat64 *)local_8e0._44_4_;\n            iVar14 = local_8b0;\n            if (local_7b0 != (stat64 *)0x0 || local_7b4 != (stat64 *)0x0) {\n              psVar17 = (stat64 *)0x0;\n              psVar22 = local_7b4;\n              psVar8 = local_7b0;\n              _Var35 = lseek64((int)local_924,CONCAT44(local_7b0,local_7b4),0);\n              psVar25 = local_7b4;\n              if (_Var35 < 0) {\n                piVar19 = __errno_location();\n                psVar25 = (stat64 *)(local_174 + 0x50);\n                iVar14 = *piVar19;\n                __snprintf_chk(psVar25,0x100,1,0x100,"couldn\'t offset to required position on %s",\n                               local_79c,piVar19,piVar19);\n                perror((char *)psVar25);\n                local_908 = (stat64 *)sg_convert_errno(iVar14);\n                goto LAB_00012527;\n              }\n              psVar9 = (stat64 *)((int)psVar45 - (int)local_7b4);\n              iVar14 = (local_8b0 - (int)local_7b0) - (uint)(psVar45 < local_7b4);\n              local_930 = psVar45;\n              if ((int)(uint)(psVar9 != (stat64 *)0x0) <= -iVar14) {\n                pr2serr("--offset [0x%llx] at or beyond file length[0x%llx]\n",local_7b4,local_7b0,\n                        psVar45,local_8b0);\n                local_908 = (stat64 *)0xf;\n                goto LAB_00012527;\n              }\n              if ((local_7f8 != 0) &&\n                 (local_930 = local_7d0, iVar14 < (int)(uint)(psVar9 < local_7d0))) {\n                pr2serr("after accounting for OFF, DLEN exceeds %s remaining length (%u bytes)\n",\n                        local_79c,psVar9,psVar9);\n                local_908 = (stat64 *)0xf;\n                psVar25 = psVar9;\n                goto LAB_00012527;\n              }\n              if (iVar14 < (int)(uint)(psVar9 < local_93c)) {\n                local_93c = psVar9;\n              }\n              psVar45 = psVar9;\n              if (2 < (int)psVar38) {\n                psVar22 = local_7b4;\n                psVar8 = local_93c;\n                psVar17 = psVar9;\n                psVar9 = (stat64 *)\n                         pr2serr("Moved IF byte pointer to %u, if_len=%u, if_readable_len=%u\n",\n                                 local_7b4,local_93c,psVar9);\n              }\n            }\n            goto LAB_00011fa8;\n          }\n          goto LAB_00011e6c;\n        }\n        piVar19 = __errno_location();\n        iVar14 = *piVar19;\n        pcVar15 = "could not fstat %s";\n      }\n      __snprintf_chk(local_174 + 0x50,0x100,1,0x100,pcVar15,local_79c,piVar19,piVar19);\n      perror(local_174 + 0x50);\n      local_908 = (stat64 *)sg_convert_errno(iVar14);\n      goto LAB_00011a84;\n    }\n    iVar14 = sg_set_binary_mode(0);\n    cVar2 = '\x01';\n    local_924 = (stat64 *)0x0;\n    if (iVar14 < 0) {\nLAB_00011dea:\n      perror("sg_set_binary_mode");\n      local_908 = (stat64 *)0xf;\n      goto LAB_00011a84;\n    }\nLAB_00011e6c:\n    if (((stat64 *)((uint)local_7b0 | (uint)local_7b4) == (stat64 *)0x0) ||\n       (psVar38 == (stat64 *)0x0)) {\n      psVar9 = (stat64 *)((uint)local_7b0 | (uint)local_7b4);\n      psVar45 = (stat64 *)0x0;\n      iVar14 = 0;\n    }\n    else {\n      psVar9 = (stat64 *)\n               pr2serr(\n                      "--offset=OFF ignored when IF is stdin, pipe, socket, etc\nDLEN, if given, is used\n"\n                      );\n      psVar45 = (stat64 *)0x0;\n      iVar14 = 0;\n    }\n  }" { (expression_statement "local_93c = local_7d0;" (assignment_expression "local_93c = local_7d0" identifier = identifier) ;) (expression_statement "cVar2 = '\0';" (assignment_expression "cVar2 = '\0'" identifier = (char_literal "'\0'" ' escape_sequence ')) ;) (if_statement "if (local_79c == (char *)0x0) {\n      pr2serr("Need --if=FN option to be given, exiting.\n");\n      if (1 < (int)psVar38) {\n        pr2serr("To write zeros use --in=/dev/zero\n");\n      }\n      pr2serr("\n");\n      FUN_000149b0();\n      local_908 = (stat64 *)0x1;\n      goto LAB_00011a84;\n    }" if (parenthesized_expression "(local_79c == (char *)0x0)" ( (binary_expression "local_79c == (char *)0x0" identifier == (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      pr2serr("Need --if=FN option to be given, exiting.\n");\n      if (1 < (int)psVar38) {\n        pr2serr("To write zeros use --in=/dev/zero\n");\n      }\n      pr2serr("\n");\n      FUN_000149b0();\n      local_908 = (stat64 *)0x1;\n      goto LAB_00011a84;\n    }" { (expression_statement "pr2serr("Need --if=FN option to be given, exiting.\n");" (call_expression "pr2serr("Need --if=FN option to be given, exiting.\n")" identifier (argument_list "("Need --if=FN option to be given, exiting.\n")" ( (string_literal ""Need --if=FN option to be given, exiting.\n"" " string_content escape_sequence ") ))) ;) (if_statement "if (1 < (int)psVar38) {\n        pr2serr("To write zeros use --in=/dev/zero\n");\n      }" if (parenthesized_expression "(1 < (int)psVar38)" ( (binary_expression "1 < (int)psVar38" number_literal < (cast_expression "(int)psVar38" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n        pr2serr("To write zeros use --in=/dev/zero\n");\n      }" { (expression_statement "pr2serr("To write zeros use --in=/dev/zero\n");" (call_expression "pr2serr("To write zeros use --in=/dev/zero\n")" identifier (argument_list "("To write zeros use --in=/dev/zero\n")" ( (string_literal ""To write zeros use --in=/dev/zero\n"" " string_content escape_sequence ") ))) ;) })) (expression_statement "pr2serr("\n");" (call_expression "pr2serr("\n")" identifier (argument_list "("\n")" ( (string_literal ""\n"" " escape_sequence ") ))) ;) (expression_statement "FUN_000149b0();" (call_expression "FUN_000149b0()" identifier (argument_list "()" ( ))) ;) (expression_statement "local_908 = (stat64 *)0x1;" (assignment_expression "local_908 = (stat64 *)0x1" identifier = (cast_expression "(stat64 *)0x1" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (goto_statement "goto LAB_00011a84;" goto statement_identifier ;) })) (expression_statement "iVar14 = -1;" (assignment_expression "iVar14 = -1" identifier = number_literal) ;) (expression_statement "pcVar15 = local_79c;" (assignment_expression "pcVar15 = local_79c" identifier = identifier) ;) (do_statement "do {\n      if (iVar14 == 0) break;\n      iVar14 = iVar14 + -1;\n      cVar6 = *pcVar15;\n      pcVar15 = pcVar15 + (uint)bVar32 * -2 + 1;\n    } while (cVar6 != '\0');" do (compound_statement "{\n      if (iVar14 == 0) break;\n      iVar14 = iVar14 + -1;\n      cVar6 = *pcVar15;\n      pcVar15 = pcVar15 + (uint)bVar32 * -2 + 1;\n    }" { (if_statement "if (iVar14 == 0) break;" if (parenthesized_expression "(iVar14 == 0)" ( (binary_expression "iVar14 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "iVar14 = iVar14 + -1;" (assignment_expression "iVar14 = iVar14 + -1" identifier = (binary_expression "iVar14 + -1" identifier + number_literal)) ;) (expression_statement "cVar6 = *pcVar15;" (assignment_expression "cVar6 = *pcVar15" identifier = (pointer_expression "*pcVar15" * identifier)) ;) (expression_statement "pcVar15 = pcVar15 + (uint)bVar32 * -2 + 1;" (assignment_expression "pcVar15 = pcVar15 + (uint)bVar32 * -2 + 1" identifier = (binary_expression "pcVar15 + (uint)bVar32 * -2 + 1" (binary_expression "pcVar15 + (uint)bVar32 * -2" identifier + (binary_expression "(uint)bVar32 * -2" (cast_expression "(uint)bVar32" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) }) while (parenthesized_expression "(cVar6 != '\0')" ( (binary_expression "cVar6 != '\0'" identifier != (char_literal "'\0'" ' escape_sequence ')) )) ;) (if_statement "if ((iVar14 != -3) || (*local_79c != '-')) {\n      local_924 = (stat64 *)open64(local_79c,0,iVar14,iVar14);\n      if ((int)local_924 < 0) {\n        piVar19 = __errno_location();\n        iVar14 = *piVar19;\n        pcVar15 = "could not open %s for reading";\n      }\n      else {\n        psVar17 = (stat64 *)sg_set_binary_mode(local_924);\n        if ((int)psVar17 < 0) goto LAB_00011dea;\n        psVar22 = local_924;\n        psVar8 = local_930;\n        iVar14 = __fxstat64(3,(int)local_924,local_930);\n        if (-1 < iVar14) {\n          if ((local_8e0._16_4_ & 0xf000) == 0x8000) {\n            local_93c = (stat64 *)local_8e0._44_4_;\n            if (psVar45 != (stat64 *)0x0) {\n              local_93c = psVar45;\n            }\n            if ((local_8b0 != 0 || (stat64 *)local_8e0._44_4_ != (stat64 *)0x0) &&\n               (psVar25 = (stat64 *)((int)&((stat64 *)(local_8e0._44_4_ + -0x60))->st_ino + 7),\n               iVar28 = local_8b0 + -1 + (uint)((stat64 *)local_8e0._44_4_ != (stat64 *)0x0),\n               iVar14 = (int)local_7b0 - iVar28,\n               (SBORROW4((int)local_7b0,iVar28) != SBORROW4(iVar14,(uint)(local_7b4 < psVar25))) ==\n               (int)(iVar14 - (uint)(local_7b4 < psVar25)) < 0)) {\n              pr2serr("Offset (%llu) is at or beyond IF byte length (%llu)\n",local_7b4,local_7b0,\n                      local_8e0._44_4_,local_8b0,psVar22,psVar8,psVar17);\n              local_908 = (stat64 *)0xf;\n              goto LAB_00012527;\n            }\n            psVar9 = local_7b4;\n            psVar45 = (stat64 *)local_8e0._44_4_;\n            iVar14 = local_8b0;\n            if (local_7b0 != (stat64 *)0x0 || local_7b4 != (stat64 *)0x0) {\n              psVar17 = (stat64 *)0x0;\n              psVar22 = local_7b4;\n              psVar8 = local_7b0;\n              _Var35 = lseek64((int)local_924,CONCAT44(local_7b0,local_7b4),0);\n              psVar25 = local_7b4;\n              if (_Var35 < 0) {\n                piVar19 = __errno_location();\n                psVar25 = (stat64 *)(local_174 + 0x50);\n                iVar14 = *piVar19;\n                __snprintf_chk(psVar25,0x100,1,0x100,"couldn\'t offset to required position on %s",\n                               local_79c,piVar19,piVar19);\n                perror((char *)psVar25);\n                local_908 = (stat64 *)sg_convert_errno(iVar14);\n                goto LAB_00012527;\n              }\n              psVar9 = (stat64 *)((int)psVar45 - (int)local_7b4);\n              iVar14 = (local_8b0 - (int)local_7b0) - (uint)(psVar45 < local_7b4);\n              local_930 = psVar45;\n              if ((int)(uint)(psVar9 != (stat64 *)0x0) <= -iVar14) {\n                pr2serr("--offset [0x%llx] at or beyond file length[0x%llx]\n",local_7b4,local_7b0,\n                        psVar45,local_8b0);\n                local_908 = (stat64 *)0xf;\n                goto LAB_00012527;\n              }\n              if ((local_7f8 != 0) &&\n                 (local_930 = local_7d0, iVar14 < (int)(uint)(psVar9 < local_7d0))) {\n                pr2serr("after accounting for OFF, DLEN exceeds %s remaining length (%u bytes)\n",\n                        local_79c,psVar9,psVar9);\n                local_908 = (stat64 *)0xf;\n                psVar25 = psVar9;\n                goto LAB_00012527;\n              }\n              if (iVar14 < (int)(uint)(psVar9 < local_93c)) {\n                local_93c = psVar9;\n              }\n              psVar45 = psVar9;\n              if (2 < (int)psVar38) {\n                psVar22 = local_7b4;\n                psVar8 = local_93c;\n                psVar17 = psVar9;\n                psVar9 = (stat64 *)\n                         pr2serr("Moved IF byte pointer to %u, if_len=%u, if_readable_len=%u\n",\n                                 local_7b4,local_93c,psVar9);\n              }\n            }\n            goto LAB_00011fa8;\n          }\n          goto LAB_00011e6c;\n        }\n        piVar19 = __errno_location();\n        iVar14 = *piVar19;\n        pcVar15 = "could not fstat %s";\n      }\n      __snprintf_chk(local_174 + 0x50,0x100,1,0x100,pcVar15,local_79c,piVar19,piVar19);\n      perror(local_174 + 0x50);\n      local_908 = (stat64 *)sg_convert_errno(iVar14);\n      goto LAB_00011a84;\n    }" if (parenthesized_expression "((iVar14 != -3) || (*local_79c != '-'))" ( (binary_expression "(iVar14 != -3) || (*local_79c != '-')" (parenthesized_expression "(iVar14 != -3)" ( (binary_expression "iVar14 != -3" identifier != number_literal) )) || (parenthesized_expression "(*local_79c != '-')" ( (binary_expression "*local_79c != '-'" (pointer_expression "*local_79c" * identifier) != (char_literal "'-'" ' character ')) ))) )) (compound_statement "{\n      local_924 = (stat64 *)open64(local_79c,0,iVar14,iVar14);\n      if ((int)local_924 < 0) {\n        piVar19 = __errno_location();\n        iVar14 = *piVar19;\n        pcVar15 = "could not open %s for reading";\n      }\n      else {\n        psVar17 = (stat64 *)sg_set_binary_mode(local_924);\n        if ((int)psVar17 < 0) goto LAB_00011dea;\n        psVar22 = local_924;\n        psVar8 = local_930;\n        iVar14 = __fxstat64(3,(int)local_924,local_930);\n        if (-1 < iVar14) {\n          if ((local_8e0._16_4_ & 0xf000) == 0x8000) {\n            local_93c = (stat64 *)local_8e0._44_4_;\n            if (psVar45 != (stat64 *)0x0) {\n              local_93c = psVar45;\n            }\n            if ((local_8b0 != 0 || (stat64 *)local_8e0._44_4_ != (stat64 *)0x0) &&\n               (psVar25 = (stat64 *)((int)&((stat64 *)(local_8e0._44_4_ + -0x60))->st_ino + 7),\n               iVar28 = local_8b0 + -1 + (uint)((stat64 *)local_8e0._44_4_ != (stat64 *)0x0),\n               iVar14 = (int)local_7b0 - iVar28,\n               (SBORROW4((int)local_7b0,iVar28) != SBORROW4(iVar14,(uint)(local_7b4 < psVar25))) ==\n               (int)(iVar14 - (uint)(local_7b4 < psVar25)) < 0)) {\n              pr2serr("Offset (%llu) is at or beyond IF byte length (%llu)\n",local_7b4,local_7b0,\n                      local_8e0._44_4_,local_8b0,psVar22,psVar8,psVar17);\n              local_908 = (stat64 *)0xf;\n              goto LAB_00012527;\n            }\n            psVar9 = local_7b4;\n            psVar45 = (stat64 *)local_8e0._44_4_;\n            iVar14 = local_8b0;\n            if (local_7b0 != (stat64 *)0x0 || local_7b4 != (stat64 *)0x0) {\n              psVar17 = (stat64 *)0x0;\n              psVar22 = local_7b4;\n              psVar8 = local_7b0;\n              _Var35 = lseek64((int)local_924,CONCAT44(local_7b0,local_7b4),0);\n              psVar25 = local_7b4;\n              if (_Var35 < 0) {\n                piVar19 = __errno_location();\n                psVar25 = (stat64 *)(local_174 + 0x50);\n                iVar14 = *piVar19;\n                __snprintf_chk(psVar25,0x100,1,0x100,"couldn\'t offset to required position on %s",\n                               local_79c,piVar19,piVar19);\n                perror((char *)psVar25);\n                local_908 = (stat64 *)sg_convert_errno(iVar14);\n                goto LAB_00012527;\n              }\n              psVar9 = (stat64 *)((int)psVar45 - (int)local_7b4);\n              iVar14 = (local_8b0 - (int)local_7b0) - (uint)(psVar45 < local_7b4);\n              local_930 = psVar45;\n              if ((int)(uint)(psVar9 != (stat64 *)0x0) <= -iVar14) {\n                pr2serr("--offset [0x%llx] at or beyond file length[0x%llx]\n",local_7b4,local_7b0,\n                        psVar45,local_8b0);\n                local_908 = (stat64 *)0xf;\n                goto LAB_00012527;\n              }\n              if ((local_7f8 != 0) &&\n                 (local_930 = local_7d0, iVar14 < (int)(uint)(psVar9 < local_7d0))) {\n                pr2serr("after accounting for OFF, DLEN exceeds %s remaining length (%u bytes)\n",\n                        local_79c,psVar9,psVar9);\n                local_908 = (stat64 *)0xf;\n                psVar25 = psVar9;\n                goto LAB_00012527;\n              }\n              if (iVar14 < (int)(uint)(psVar9 < local_93c)) {\n                local_93c = psVar9;\n              }\n              psVar45 = psVar9;\n              if (2 < (int)psVar38) {\n                psVar22 = local_7b4;\n                psVar8 = local_93c;\n                psVar17 = psVar9;\n                psVar9 = (stat64 *)\n                         pr2serr("Moved IF byte pointer to %u, if_len=%u, if_readable_len=%u\n",\n                                 local_7b4,local_93c,psVar9);\n              }\n            }\n            goto LAB_00011fa8;\n          }\n          goto LAB_00011e6c;\n        }\n        piVar19 = __errno_location();\n        iVar14 = *piVar19;\n        pcVar15 = "could not fstat %s";\n      }\n      __snprintf_chk(local_174 + 0x50,0x100,1,0x100,pcVar15,local_79c,piVar19,piVar19);\n      perror(local_174 + 0x50);\n      local_908 = (stat64 *)sg_convert_errno(iVar14);\n      goto LAB_00011a84;\n    }" { (expression_statement "local_924 = (stat64 *)open64(local_79c,0,iVar14,iVar14);" (assignment_expression "local_924 = (stat64 *)open64(local_79c,0,iVar14,iVar14)" identifier = (cast_expression "(stat64 *)open64(local_79c,0,iVar14,iVar14)" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "open64(local_79c,0,iVar14,iVar14)" identifier (argument_list "(local_79c,0,iVar14,iVar14)" ( identifier , number_literal , identifier , identifier ))))) ;) (if_statement "if ((int)local_924 < 0) {\n        piVar19 = __errno_location();\n        iVar14 = *piVar19;\n        pcVar15 = "could not open %s for reading";\n      }\n      else {\n        psVar17 = (stat64 *)sg_set_binary_mode(local_924);\n        if ((int)psVar17 < 0) goto LAB_00011dea;\n        psVar22 = local_924;\n        psVar8 = local_930;\n        iVar14 = __fxstat64(3,(int)local_924,local_930);\n        if (-1 < iVar14) {\n          if ((local_8e0._16_4_ & 0xf000) == 0x8000) {\n            local_93c = (stat64 *)local_8e0._44_4_;\n            if (psVar45 != (stat64 *)0x0) {\n              local_93c = psVar45;\n            }\n            if ((local_8b0 != 0 || (stat64 *)local_8e0._44_4_ != (stat64 *)0x0) &&\n               (psVar25 = (stat64 *)((int)&((stat64 *)(local_8e0._44_4_ + -0x60))->st_ino + 7),\n               iVar28 = local_8b0 + -1 + (uint)((stat64 *)local_8e0._44_4_ != (stat64 *)0x0),\n               iVar14 = (int)local_7b0 - iVar28,\n               (SBORROW4((int)local_7b0,iVar28) != SBORROW4(iVar14,(uint)(local_7b4 < psVar25))) ==\n               (int)(iVar14 - (uint)(local_7b4 < psVar25)) < 0)) {\n              pr2serr("Offset (%llu) is at or beyond IF byte length (%llu)\n",local_7b4,local_7b0,\n                      local_8e0._44_4_,local_8b0,psVar22,psVar8,psVar17);\n              local_908 = (stat64 *)0xf;\n              goto LAB_00012527;\n            }\n            psVar9 = local_7b4;\n            psVar45 = (stat64 *)local_8e0._44_4_;\n            iVar14 = local_8b0;\n            if (local_7b0 != (stat64 *)0x0 || local_7b4 != (stat64 *)0x0) {\n              psVar17 = (stat64 *)0x0;\n              psVar22 = local_7b4;\n              psVar8 = local_7b0;\n              _Var35 = lseek64((int)local_924,CONCAT44(local_7b0,local_7b4),0);\n              psVar25 = local_7b4;\n              if (_Var35 < 0) {\n                piVar19 = __errno_location();\n                psVar25 = (stat64 *)(local_174 + 0x50);\n                iVar14 = *piVar19;\n                __snprintf_chk(psVar25,0x100,1,0x100,"couldn\'t offset to required position on %s",\n                               local_79c,piVar19,piVar19);\n                perror((char *)psVar25);\n                local_908 = (stat64 *)sg_convert_errno(iVar14);\n                goto LAB_00012527;\n              }\n              psVar9 = (stat64 *)((int)psVar45 - (int)local_7b4);\n              iVar14 = (local_8b0 - (int)local_7b0) - (uint)(psVar45 < local_7b4);\n              local_930 = psVar45;\n              if ((int)(uint)(psVar9 != (stat64 *)0x0) <= -iVar14) {\n                pr2serr("--offset [0x%llx] at or beyond file length[0x%llx]\n",local_7b4,local_7b0,\n                        psVar45,local_8b0);\n                local_908 = (stat64 *)0xf;\n                goto LAB_00012527;\n              }\n              if ((local_7f8 != 0) &&\n                 (local_930 = local_7d0, iVar14 < (int)(uint)(psVar9 < local_7d0))) {\n                pr2serr("after accounting for OFF, DLEN exceeds %s remaining length (%u bytes)\n",\n                        local_79c,psVar9,psVar9);\n                local_908 = (stat64 *)0xf;\n                psVar25 = psVar9;\n                goto LAB_00012527;\n              }\n              if (iVar14 < (int)(uint)(psVar9 < local_93c)) {\n                local_93c = psVar9;\n              }\n              psVar45 = psVar9;\n              if (2 < (int)psVar38) {\n                psVar22 = local_7b4;\n                psVar8 = local_93c;\n                psVar17 = psVar9;\n                psVar9 = (stat64 *)\n                         pr2serr("Moved IF byte pointer to %u, if_len=%u, if_readable_len=%u\n",\n                                 local_7b4,local_93c,psVar9);\n              }\n            }\n            goto LAB_00011fa8;\n          }\n          goto LAB_00011e6c;\n        }\n        piVar19 = __errno_location();\n        iVar14 = *piVar19;\n        pcVar15 = "could not fstat %s";\n      }" if (parenthesized_expression "((int)local_924 < 0)" ( (binary_expression "(int)local_924 < 0" (cast_expression "(int)local_924" ( (type_descriptor "int" primitive_type) ) identifier) < number_literal) )) (compound_statement "{\n        piVar19 = __errno_location();\n        iVar14 = *piVar19;\n        pcVar15 = "could not open %s for reading";\n      }" { (expression_statement "piVar19 = __errno_location();" (assignment_expression "piVar19 = __errno_location()" identifier = (call_expression "__errno_location()" identifier (argument_list "()" ( )))) ;) (expression_statement "iVar14 = *piVar19;" (assignment_expression "iVar14 = *piVar19" identifier = (pointer_expression "*piVar19" * identifier)) ;) (expression_statement "pcVar15 = "could not open %s for reading";" (assignment_expression "pcVar15 = "could not open %s for reading"" identifier = (string_literal ""could not open %s for reading"" " string_content ")) ;) }) (else_clause "else {\n        psVar17 = (stat64 *)sg_set_binary_mode(local_924);\n        if ((int)psVar17 < 0) goto LAB_00011dea;\n        psVar22 = local_924;\n        psVar8 = local_930;\n        iVar14 = __fxstat64(3,(int)local_924,local_930);\n        if (-1 < iVar14) {\n          if ((local_8e0._16_4_ & 0xf000) == 0x8000) {\n            local_93c = (stat64 *)local_8e0._44_4_;\n            if (psVar45 != (stat64 *)0x0) {\n              local_93c = psVar45;\n            }\n            if ((local_8b0 != 0 || (stat64 *)local_8e0._44_4_ != (stat64 *)0x0) &&\n               (psVar25 = (stat64 *)((int)&((stat64 *)(local_8e0._44_4_ + -0x60))->st_ino + 7),\n               iVar28 = local_8b0 + -1 + (uint)((stat64 *)local_8e0._44_4_ != (stat64 *)0x0),\n               iVar14 = (int)local_7b0 - iVar28,\n               (SBORROW4((int)local_7b0,iVar28) != SBORROW4(iVar14,(uint)(local_7b4 < psVar25))) ==\n               (int)(iVar14 - (uint)(local_7b4 < psVar25)) < 0)) {\n              pr2serr("Offset (%llu) is at or beyond IF byte length (%llu)\n",local_7b4,local_7b0,\n                      local_8e0._44_4_,local_8b0,psVar22,psVar8,psVar17);\n              local_908 = (stat64 *)0xf;\n              goto LAB_00012527;\n            }\n            psVar9 = local_7b4;\n            psVar45 = (stat64 *)local_8e0._44_4_;\n            iVar14 = local_8b0;\n            if (local_7b0 != (stat64 *)0x0 || local_7b4 != (stat64 *)0x0) {\n              psVar17 = (stat64 *)0x0;\n              psVar22 = local_7b4;\n              psVar8 = local_7b0;\n              _Var35 = lseek64((int)local_924,CONCAT44(local_7b0,local_7b4),0);\n              psVar25 = local_7b4;\n              if (_Var35 < 0) {\n                piVar19 = __errno_location();\n                psVar25 = (stat64 *)(local_174 + 0x50);\n                iVar14 = *piVar19;\n                __snprintf_chk(psVar25,0x100,1,0x100,"couldn\'t offset to required position on %s",\n                               local_79c,piVar19,piVar19);\n                perror((char *)psVar25);\n                local_908 = (stat64 *)sg_convert_errno(iVar14);\n                goto LAB_00012527;\n              }\n              psVar9 = (stat64 *)((int)psVar45 - (int)local_7b4);\n              iVar14 = (local_8b0 - (int)local_7b0) - (uint)(psVar45 < local_7b4);\n              local_930 = psVar45;\n              if ((int)(uint)(psVar9 != (stat64 *)0x0) <= -iVar14) {\n                pr2serr("--offset [0x%llx] at or beyond file length[0x%llx]\n",local_7b4,local_7b0,\n                        psVar45,local_8b0);\n                local_908 = (stat64 *)0xf;\n                goto LAB_00012527;\n              }\n              if ((local_7f8 != 0) &&\n                 (local_930 = local_7d0, iVar14 < (int)(uint)(psVar9 < local_7d0))) {\n                pr2serr("after accounting for OFF, DLEN exceeds %s remaining length (%u bytes)\n",\n                        local_79c,psVar9,psVar9);\n                local_908 = (stat64 *)0xf;\n                psVar25 = psVar9;\n                goto LAB_00012527;\n              }\n              if (iVar14 < (int)(uint)(psVar9 < local_93c)) {\n                local_93c = psVar9;\n              }\n              psVar45 = psVar9;\n              if (2 < (int)psVar38) {\n                psVar22 = local_7b4;\n                psVar8 = local_93c;\n                psVar17 = psVar9;\n                psVar9 = (stat64 *)\n                         pr2serr("Moved IF byte pointer to %u, if_len=%u, if_readable_len=%u\n",\n                                 local_7b4,local_93c,psVar9);\n              }\n            }\n            goto LAB_00011fa8;\n          }\n          goto LAB_00011e6c;\n        }\n        piVar19 = __errno_location();\n        iVar14 = *piVar19;\n        pcVar15 = "could not fstat %s";\n      }" else (compound_statement "{\n        psVar17 = (stat64 *)sg_set_binary_mode(local_924);\n        if ((int)psVar17 < 0) goto LAB_00011dea;\n        psVar22 = local_924;\n        psVar8 = local_930;\n        iVar14 = __fxstat64(3,(int)local_924,local_930);\n        if (-1 < iVar14) {\n          if ((local_8e0._16_4_ & 0xf000) == 0x8000) {\n            local_93c = (stat64 *)local_8e0._44_4_;\n            if (psVar45 != (stat64 *)0x0) {\n              local_93c = psVar45;\n            }\n            if ((local_8b0 != 0 || (stat64 *)local_8e0._44_4_ != (stat64 *)0x0) &&\n               (psVar25 = (stat64 *)((int)&((stat64 *)(local_8e0._44_4_ + -0x60))->st_ino + 7),\n               iVar28 = local_8b0 + -1 + (uint)((stat64 *)local_8e0._44_4_ != (stat64 *)0x0),\n               iVar14 = (int)local_7b0 - iVar28,\n               (SBORROW4((int)local_7b0,iVar28) != SBORROW4(iVar14,(uint)(local_7b4 < psVar25))) ==\n               (int)(iVar14 - (uint)(local_7b4 < psVar25)) < 0)) {\n              pr2serr("Offset (%llu) is at or beyond IF byte length (%llu)\n",local_7b4,local_7b0,\n                      local_8e0._44_4_,local_8b0,psVar22,psVar8,psVar17);\n              local_908 = (stat64 *)0xf;\n              goto LAB_00012527;\n            }\n            psVar9 = local_7b4;\n            psVar45 = (stat64 *)local_8e0._44_4_;\n            iVar14 = local_8b0;\n            if (local_7b0 != (stat64 *)0x0 || local_7b4 != (stat64 *)0x0) {\n              psVar17 = (stat64 *)0x0;\n              psVar22 = local_7b4;\n              psVar8 = local_7b0;\n              _Var35 = lseek64((int)local_924,CONCAT44(local_7b0,local_7b4),0);\n              psVar25 = local_7b4;\n              if (_Var35 < 0) {\n                piVar19 = __errno_location();\n                psVar25 = (stat64 *)(local_174 + 0x50);\n                iVar14 = *piVar19;\n                __snprintf_chk(psVar25,0x100,1,0x100,"couldn\'t offset to required position on %s",\n                               local_79c,piVar19,piVar19);\n                perror((char *)psVar25);\n                local_908 = (stat64 *)sg_convert_errno(iVar14);\n                goto LAB_00012527;\n              }\n              psVar9 = (stat64 *)((int)psVar45 - (int)local_7b4);\n              iVar14 = (local_8b0 - (int)local_7b0) - (uint)(psVar45 < local_7b4);\n              local_930 = psVar45;\n              if ((int)(uint)(psVar9 != (stat64 *)0x0) <= -iVar14) {\n                pr2serr("--offset [0x%llx] at or beyond file length[0x%llx]\n",local_7b4,local_7b0,\n                        psVar45,local_8b0);\n                local_908 = (stat64 *)0xf;\n                goto LAB_00012527;\n              }\n              if ((local_7f8 != 0) &&\n                 (local_930 = local_7d0, iVar14 < (int)(uint)(psVar9 < local_7d0))) {\n                pr2serr("after accounting for OFF, DLEN exceeds %s remaining length (%u bytes)\n",\n                        local_79c,psVar9,psVar9);\n                local_908 = (stat64 *)0xf;\n                psVar25 = psVar9;\n                goto LAB_00012527;\n              }\n              if (iVar14 < (int)(uint)(psVar9 < local_93c)) {\n                local_93c = psVar9;\n              }\n              psVar45 = psVar9;\n              if (2 < (int)psVar38) {\n                psVar22 = local_7b4;\n                psVar8 = local_93c;\n                psVar17 = psVar9;\n                psVar9 = (stat64 *)\n                         pr2serr("Moved IF byte pointer to %u, if_len=%u, if_readable_len=%u\n",\n                                 local_7b4,local_93c,psVar9);\n              }\n            }\n            goto LAB_00011fa8;\n          }\n          goto LAB_00011e6c;\n        }\n        piVar19 = __errno_location();\n        iVar14 = *piVar19;\n        pcVar15 = "could not fstat %s";\n      }" { (expression_statement "psVar17 = (stat64 *)sg_set_binary_mode(local_924);" (assignment_expression "psVar17 = (stat64 *)sg_set_binary_mode(local_924)" identifier = (cast_expression "(stat64 *)sg_set_binary_mode(local_924)" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "sg_set_binary_mode(local_924)" identifier (argument_list "(local_924)" ( identifier ))))) ;) (if_statement "if ((int)psVar17 < 0) goto LAB_00011dea;" if (parenthesized_expression "((int)psVar17 < 0)" ( (binary_expression "(int)psVar17 < 0" (cast_expression "(int)psVar17" ( (type_descriptor "int" primitive_type) ) identifier) < number_literal) )) (goto_statement "goto LAB_00011dea;" goto statement_identifier ;)) (expression_statement "psVar22 = local_924;" (assignment_expression "psVar22 = local_924" identifier = identifier) ;) (expression_statement "psVar8 = local_930;" (assignment_expression "psVar8 = local_930" identifier = identifier) ;) (expression_statement "iVar14 = __fxstat64(3,(int)local_924,local_930);" (assignment_expression "iVar14 = __fxstat64(3,(int)local_924,local_930)" identifier = (call_expression "__fxstat64(3,(int)local_924,local_930)" identifier (argument_list "(3,(int)local_924,local_930)" ( number_literal , (cast_expression "(int)local_924" ( (type_descriptor "int" primitive_type) ) identifier) , identifier )))) ;) (if_statement "if (-1 < iVar14) {\n          if ((local_8e0._16_4_ & 0xf000) == 0x8000) {\n            local_93c = (stat64 *)local_8e0._44_4_;\n            if (psVar45 != (stat64 *)0x0) {\n              local_93c = psVar45;\n            }\n            if ((local_8b0 != 0 || (stat64 *)local_8e0._44_4_ != (stat64 *)0x0) &&\n               (psVar25 = (stat64 *)((int)&((stat64 *)(local_8e0._44_4_ + -0x60))->st_ino + 7),\n               iVar28 = local_8b0 + -1 + (uint)((stat64 *)local_8e0._44_4_ != (stat64 *)0x0),\n               iVar14 = (int)local_7b0 - iVar28,\n               (SBORROW4((int)local_7b0,iVar28) != SBORROW4(iVar14,(uint)(local_7b4 < psVar25))) ==\n               (int)(iVar14 - (uint)(local_7b4 < psVar25)) < 0)) {\n              pr2serr("Offset (%llu) is at or beyond IF byte length (%llu)\n",local_7b4,local_7b0,\n                      local_8e0._44_4_,local_8b0,psVar22,psVar8,psVar17);\n              local_908 = (stat64 *)0xf;\n              goto LAB_00012527;\n            }\n            psVar9 = local_7b4;\n            psVar45 = (stat64 *)local_8e0._44_4_;\n            iVar14 = local_8b0;\n            if (local_7b0 != (stat64 *)0x0 || local_7b4 != (stat64 *)0x0) {\n              psVar17 = (stat64 *)0x0;\n              psVar22 = local_7b4;\n              psVar8 = local_7b0;\n              _Var35 = lseek64((int)local_924,CONCAT44(local_7b0,local_7b4),0);\n              psVar25 = local_7b4;\n              if (_Var35 < 0) {\n                piVar19 = __errno_location();\n                psVar25 = (stat64 *)(local_174 + 0x50);\n                iVar14 = *piVar19;\n                __snprintf_chk(psVar25,0x100,1,0x100,"couldn\'t offset to required position on %s",\n                               local_79c,piVar19,piVar19);\n                perror((char *)psVar25);\n                local_908 = (stat64 *)sg_convert_errno(iVar14);\n                goto LAB_00012527;\n              }\n              psVar9 = (stat64 *)((int)psVar45 - (int)local_7b4);\n              iVar14 = (local_8b0 - (int)local_7b0) - (uint)(psVar45 < local_7b4);\n              local_930 = psVar45;\n              if ((int)(uint)(psVar9 != (stat64 *)0x0) <= -iVar14) {\n                pr2serr("--offset [0x%llx] at or beyond file length[0x%llx]\n",local_7b4,local_7b0,\n                        psVar45,local_8b0);\n                local_908 = (stat64 *)0xf;\n                goto LAB_00012527;\n              }\n              if ((local_7f8 != 0) &&\n                 (local_930 = local_7d0, iVar14 < (int)(uint)(psVar9 < local_7d0))) {\n                pr2serr("after accounting for OFF, DLEN exceeds %s remaining length (%u bytes)\n",\n                        local_79c,psVar9,psVar9);\n                local_908 = (stat64 *)0xf;\n                psVar25 = psVar9;\n                goto LAB_00012527;\n              }\n              if (iVar14 < (int)(uint)(psVar9 < local_93c)) {\n                local_93c = psVar9;\n              }\n              psVar45 = psVar9;\n              if (2 < (int)psVar38) {\n                psVar22 = local_7b4;\n                psVar8 = local_93c;\n                psVar17 = psVar9;\n                psVar9 = (stat64 *)\n                         pr2serr("Moved IF byte pointer to %u, if_len=%u, if_readable_len=%u\n",\n                                 local_7b4,local_93c,psVar9);\n              }\n            }\n            goto LAB_00011fa8;\n          }\n          goto LAB_00011e6c;\n        }" if (parenthesized_expression "(-1 < iVar14)" ( (binary_expression "-1 < iVar14" number_literal < identifier) )) (compound_statement "{\n          if ((local_8e0._16_4_ & 0xf000) == 0x8000) {\n            local_93c = (stat64 *)local_8e0._44_4_;\n            if (psVar45 != (stat64 *)0x0) {\n              local_93c = psVar45;\n            }\n            if ((local_8b0 != 0 || (stat64 *)local_8e0._44_4_ != (stat64 *)0x0) &&\n               (psVar25 = (stat64 *)((int)&((stat64 *)(local_8e0._44_4_ + -0x60))->st_ino + 7),\n               iVar28 = local_8b0 + -1 + (uint)((stat64 *)local_8e0._44_4_ != (stat64 *)0x0),\n               iVar14 = (int)local_7b0 - iVar28,\n               (SBORROW4((int)local_7b0,iVar28) != SBORROW4(iVar14,(uint)(local_7b4 < psVar25))) ==\n               (int)(iVar14 - (uint)(local_7b4 < psVar25)) < 0)) {\n              pr2serr("Offset (%llu) is at or beyond IF byte length (%llu)\n",local_7b4,local_7b0,\n                      local_8e0._44_4_,local_8b0,psVar22,psVar8,psVar17);\n              local_908 = (stat64 *)0xf;\n              goto LAB_00012527;\n            }\n            psVar9 = local_7b4;\n            psVar45 = (stat64 *)local_8e0._44_4_;\n            iVar14 = local_8b0;\n            if (local_7b0 != (stat64 *)0x0 || local_7b4 != (stat64 *)0x0) {\n              psVar17 = (stat64 *)0x0;\n              psVar22 = local_7b4;\n              psVar8 = local_7b0;\n              _Var35 = lseek64((int)local_924,CONCAT44(local_7b0,local_7b4),0);\n              psVar25 = local_7b4;\n              if (_Var35 < 0) {\n                piVar19 = __errno_location();\n                psVar25 = (stat64 *)(local_174 + 0x50);\n                iVar14 = *piVar19;\n                __snprintf_chk(psVar25,0x100,1,0x100,"couldn\'t offset to required position on %s",\n                               local_79c,piVar19,piVar19);\n                perror((char *)psVar25);\n                local_908 = (stat64 *)sg_convert_errno(iVar14);\n                goto LAB_00012527;\n              }\n              psVar9 = (stat64 *)((int)psVar45 - (int)local_7b4);\n              iVar14 = (local_8b0 - (int)local_7b0) - (uint)(psVar45 < local_7b4);\n              local_930 = psVar45;\n              if ((int)(uint)(psVar9 != (stat64 *)0x0) <= -iVar14) {\n                pr2serr("--offset [0x%llx] at or beyond file length[0x%llx]\n",local_7b4,local_7b0,\n                        psVar45,local_8b0);\n                local_908 = (stat64 *)0xf;\n                goto LAB_00012527;\n              }\n              if ((local_7f8 != 0) &&\n                 (local_930 = local_7d0, iVar14 < (int)(uint)(psVar9 < local_7d0))) {\n                pr2serr("after accounting for OFF, DLEN exceeds %s remaining length (%u bytes)\n",\n                        local_79c,psVar9,psVar9);\n                local_908 = (stat64 *)0xf;\n                psVar25 = psVar9;\n                goto LAB_00012527;\n              }\n              if (iVar14 < (int)(uint)(psVar9 < local_93c)) {\n                local_93c = psVar9;\n              }\n              psVar45 = psVar9;\n              if (2 < (int)psVar38) {\n                psVar22 = local_7b4;\n                psVar8 = local_93c;\n                psVar17 = psVar9;\n                psVar9 = (stat64 *)\n                         pr2serr("Moved IF byte pointer to %u, if_len=%u, if_readable_len=%u\n",\n                                 local_7b4,local_93c,psVar9);\n              }\n            }\n            goto LAB_00011fa8;\n          }\n          goto LAB_00011e6c;\n        }" { (if_statement "if ((local_8e0._16_4_ & 0xf000) == 0x8000) {\n            local_93c = (stat64 *)local_8e0._44_4_;\n            if (psVar45 != (stat64 *)0x0) {\n              local_93c = psVar45;\n            }\n            if ((local_8b0 != 0 || (stat64 *)local_8e0._44_4_ != (stat64 *)0x0) &&\n               (psVar25 = (stat64 *)((int)&((stat64 *)(local_8e0._44_4_ + -0x60))->st_ino + 7),\n               iVar28 = local_8b0 + -1 + (uint)((stat64 *)local_8e0._44_4_ != (stat64 *)0x0),\n               iVar14 = (int)local_7b0 - iVar28,\n               (SBORROW4((int)local_7b0,iVar28) != SBORROW4(iVar14,(uint)(local_7b4 < psVar25))) ==\n               (int)(iVar14 - (uint)(local_7b4 < psVar25)) < 0)) {\n              pr2serr("Offset (%llu) is at or beyond IF byte length (%llu)\n",local_7b4,local_7b0,\n                      local_8e0._44_4_,local_8b0,psVar22,psVar8,psVar17);\n              local_908 = (stat64 *)0xf;\n              goto LAB_00012527;\n            }\n            psVar9 = local_7b4;\n            psVar45 = (stat64 *)local_8e0._44_4_;\n            iVar14 = local_8b0;\n            if (local_7b0 != (stat64 *)0x0 || local_7b4 != (stat64 *)0x0) {\n              psVar17 = (stat64 *)0x0;\n              psVar22 = local_7b4;\n              psVar8 = local_7b0;\n              _Var35 = lseek64((int)local_924,CONCAT44(local_7b0,local_7b4),0);\n              psVar25 = local_7b4;\n              if (_Var35 < 0) {\n                piVar19 = __errno_location();\n                psVar25 = (stat64 *)(local_174 + 0x50);\n                iVar14 = *piVar19;\n                __snprintf_chk(psVar25,0x100,1,0x100,"couldn\'t offset to required position on %s",\n                               local_79c,piVar19,piVar19);\n                perror((char *)psVar25);\n                local_908 = (stat64 *)sg_convert_errno(iVar14);\n                goto LAB_00012527;\n              }\n              psVar9 = (stat64 *)((int)psVar45 - (int)local_7b4);\n              iVar14 = (local_8b0 - (int)local_7b0) - (uint)(psVar45 < local_7b4);\n              local_930 = psVar45;\n              if ((int)(uint)(psVar9 != (stat64 *)0x0) <= -iVar14) {\n                pr2serr("--offset [0x%llx] at or beyond file length[0x%llx]\n",local_7b4,local_7b0,\n                        psVar45,local_8b0);\n                local_908 = (stat64 *)0xf;\n                goto LAB_00012527;\n              }\n              if ((local_7f8 != 0) &&\n                 (local_930 = local_7d0, iVar14 < (int)(uint)(psVar9 < local_7d0))) {\n                pr2serr("after accounting for OFF, DLEN exceeds %s remaining length (%u bytes)\n",\n                        local_79c,psVar9,psVar9);\n                local_908 = (stat64 *)0xf;\n                psVar25 = psVar9;\n                goto LAB_00012527;\n              }\n              if (iVar14 < (int)(uint)(psVar9 < local_93c)) {\n                local_93c = psVar9;\n              }\n              psVar45 = psVar9;\n              if (2 < (int)psVar38) {\n                psVar22 = local_7b4;\n                psVar8 = local_93c;\n                psVar17 = psVar9;\n                psVar9 = (stat64 *)\n                         pr2serr("Moved IF byte pointer to %u, if_len=%u, if_readable_len=%u\n",\n                                 local_7b4,local_93c,psVar9);\n              }\n            }\n            goto LAB_00011fa8;\n          }" if (parenthesized_expression "((local_8e0._16_4_ & 0xf000) == 0x8000)" ( (binary_expression "(local_8e0._16_4_ & 0xf000) == 0x8000" (parenthesized_expression "(local_8e0._16_4_ & 0xf000)" ( (binary_expression "local_8e0._16_4_ & 0xf000" (field_expression "local_8e0._16_4_" identifier . field_identifier) & number_literal) )) == number_literal) )) (compound_statement "{\n            local_93c = (stat64 *)local_8e0._44_4_;\n            if (psVar45 != (stat64 *)0x0) {\n              local_93c = psVar45;\n            }\n            if ((local_8b0 != 0 || (stat64 *)local_8e0._44_4_ != (stat64 *)0x0) &&\n               (psVar25 = (stat64 *)((int)&((stat64 *)(local_8e0._44_4_ + -0x60))->st_ino + 7),\n               iVar28 = local_8b0 + -1 + (uint)((stat64 *)local_8e0._44_4_ != (stat64 *)0x0),\n               iVar14 = (int)local_7b0 - iVar28,\n               (SBORROW4((int)local_7b0,iVar28) != SBORROW4(iVar14,(uint)(local_7b4 < psVar25))) ==\n               (int)(iVar14 - (uint)(local_7b4 < psVar25)) < 0)) {\n              pr2serr("Offset (%llu) is at or beyond IF byte length (%llu)\n",local_7b4,local_7b0,\n                      local_8e0._44_4_,local_8b0,psVar22,psVar8,psVar17);\n              local_908 = (stat64 *)0xf;\n              goto LAB_00012527;\n            }\n            psVar9 = local_7b4;\n            psVar45 = (stat64 *)local_8e0._44_4_;\n            iVar14 = local_8b0;\n            if (local_7b0 != (stat64 *)0x0 || local_7b4 != (stat64 *)0x0) {\n              psVar17 = (stat64 *)0x0;\n              psVar22 = local_7b4;\n              psVar8 = local_7b0;\n              _Var35 = lseek64((int)local_924,CONCAT44(local_7b0,local_7b4),0);\n              psVar25 = local_7b4;\n              if (_Var35 < 0) {\n                piVar19 = __errno_location();\n                psVar25 = (stat64 *)(local_174 + 0x50);\n                iVar14 = *piVar19;\n                __snprintf_chk(psVar25,0x100,1,0x100,"couldn\'t offset to required position on %s",\n                               local_79c,piVar19,piVar19);\n                perror((char *)psVar25);\n                local_908 = (stat64 *)sg_convert_errno(iVar14);\n                goto LAB_00012527;\n              }\n              psVar9 = (stat64 *)((int)psVar45 - (int)local_7b4);\n              iVar14 = (local_8b0 - (int)local_7b0) - (uint)(psVar45 < local_7b4);\n              local_930 = psVar45;\n              if ((int)(uint)(psVar9 != (stat64 *)0x0) <= -iVar14) {\n                pr2serr("--offset [0x%llx] at or beyond file length[0x%llx]\n",local_7b4,local_7b0,\n                        psVar45,local_8b0);\n                local_908 = (stat64 *)0xf;\n                goto LAB_00012527;\n              }\n              if ((local_7f8 != 0) &&\n                 (local_930 = local_7d0, iVar14 < (int)(uint)(psVar9 < local_7d0))) {\n                pr2serr("after accounting for OFF, DLEN exceeds %s remaining length (%u bytes)\n",\n                        local_79c,psVar9,psVar9);\n                local_908 = (stat64 *)0xf;\n                psVar25 = psVar9;\n                goto LAB_00012527;\n              }\n              if (iVar14 < (int)(uint)(psVar9 < local_93c)) {\n                local_93c = psVar9;\n              }\n              psVar45 = psVar9;\n              if (2 < (int)psVar38) {\n                psVar22 = local_7b4;\n                psVar8 = local_93c;\n                psVar17 = psVar9;\n                psVar9 = (stat64 *)\n                         pr2serr("Moved IF byte pointer to %u, if_len=%u, if_readable_len=%u\n",\n                                 local_7b4,local_93c,psVar9);\n              }\n            }\n            goto LAB_00011fa8;\n          }" { (expression_statement "local_93c = (stat64 *)local_8e0._44_4_;" (assignment_expression "local_93c = (stat64 *)local_8e0._44_4_" identifier = (cast_expression "(stat64 *)local_8e0._44_4_" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "local_8e0._44_4_" identifier . field_identifier))) ;) (if_statement "if (psVar45 != (stat64 *)0x0) {\n              local_93c = psVar45;\n            }" if (parenthesized_expression "(psVar45 != (stat64 *)0x0)" ( (binary_expression "psVar45 != (stat64 *)0x0" identifier != (cast_expression "(stat64 *)0x0" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n              local_93c = psVar45;\n            }" { (expression_statement "local_93c = psVar45;" (assignment_expression "local_93c = psVar45" identifier = identifier) ;) })) (if_statement "if ((local_8b0 != 0 || (stat64 *)local_8e0._44_4_ != (stat64 *)0x0) &&\n               (psVar25 = (stat64 *)((int)&((stat64 *)(local_8e0._44_4_ + -0x60))->st_ino + 7),\n               iVar28 = local_8b0 + -1 + (uint)((stat64 *)local_8e0._44_4_ != (stat64 *)0x0),\n               iVar14 = (int)local_7b0 - iVar28,\n               (SBORROW4((int)local_7b0,iVar28) != SBORROW4(iVar14,(uint)(local_7b4 < psVar25))) ==\n               (int)(iVar14 - (uint)(local_7b4 < psVar25)) < 0)) {\n              pr2serr("Offset (%llu) is at or beyond IF byte length (%llu)\n",local_7b4,local_7b0,\n                      local_8e0._44_4_,local_8b0,psVar22,psVar8,psVar17);\n              local_908 = (stat64 *)0xf;\n              goto LAB_00012527;\n            }" if (parenthesized_expression "((local_8b0 != 0 || (stat64 *)local_8e0._44_4_ != (stat64 *)0x0) &&\n               (psVar25 = (stat64 *)((int)&((stat64 *)(local_8e0._44_4_ + -0x60))->st_ino + 7),\n               iVar28 = local_8b0 + -1 + (uint)((stat64 *)local_8e0._44_4_ != (stat64 *)0x0),\n               iVar14 = (int)local_7b0 - iVar28,\n               (SBORROW4((int)local_7b0,iVar28) != SBORROW4(iVar14,(uint)(local_7b4 < psVar25))) ==\n               (int)(iVar14 - (uint)(local_7b4 < psVar25)) < 0))" ( (binary_expression "(local_8b0 != 0 || (stat64 *)local_8e0._44_4_ != (stat64 *)0x0) &&\n               (psVar25 = (stat64 *)((int)&((stat64 *)(local_8e0._44_4_ + -0x60))->st_ino + 7),\n               iVar28 = local_8b0 + -1 + (uint)((stat64 *)local_8e0._44_4_ != (stat64 *)0x0),\n               iVar14 = (int)local_7b0 - iVar28,\n               (SBORROW4((int)local_7b0,iVar28) != SBORROW4(iVar14,(uint)(local_7b4 < psVar25))) ==\n               (int)(iVar14 - (uint)(local_7b4 < psVar25)) < 0)" (parenthesized_expression "(local_8b0 != 0 || (stat64 *)local_8e0._44_4_ != (stat64 *)0x0)" ( (binary_expression "local_8b0 != 0 || (stat64 *)local_8e0._44_4_ != (stat64 *)0x0" (binary_expression "local_8b0 != 0" identifier != number_literal) || (binary_expression "(stat64 *)local_8e0._44_4_ != (stat64 *)0x0" (cast_expression "(stat64 *)local_8e0._44_4_" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "local_8e0._44_4_" identifier . field_identifier)) != (cast_expression "(stat64 *)0x0" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal))) )) && (parenthesized_expression "(psVar25 = (stat64 *)((int)&((stat64 *)(local_8e0._44_4_ + -0x60))->st_ino + 7),\n               iVar28 = local_8b0 + -1 + (uint)((stat64 *)local_8e0._44_4_ != (stat64 *)0x0),\n               iVar14 = (int)local_7b0 - iVar28,\n               (SBORROW4((int)local_7b0,iVar28) != SBORROW4(iVar14,(uint)(local_7b4 < psVar25))) ==\n               (int)(iVar14 - (uint)(local_7b4 < psVar25)) < 0)" ( (comma_expression "psVar25 = (stat64 *)((int)&((stat64 *)(local_8e0._44_4_ + -0x60))->st_ino + 7),\n               iVar28 = local_8b0 + -1 + (uint)((stat64 *)local_8e0._44_4_ != (stat64 *)0x0),\n               iVar14 = (int)local_7b0 - iVar28,\n               (SBORROW4((int)local_7b0,iVar28) != SBORROW4(iVar14,(uint)(local_7b4 < psVar25))) ==\n               (int)(iVar14 - (uint)(local_7b4 < psVar25)) < 0" (assignment_expression "psVar25 = (stat64 *)((int)&((stat64 *)(local_8e0._44_4_ + -0x60))->st_ino + 7)" identifier = (cast_expression "(stat64 *)((int)&((stat64 *)(local_8e0._44_4_ + -0x60))->st_ino + 7)" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&((stat64 *)(local_8e0._44_4_ + -0x60))->st_ino + 7)" ( (binary_expression "(int)&((stat64 *)(local_8e0._44_4_ + -0x60))->st_ino + 7" (cast_expression "(int)&((stat64 *)(local_8e0._44_4_ + -0x60))->st_ino" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&((stat64 *)(local_8e0._44_4_ + -0x60))->st_ino" & (field_expression "((stat64 *)(local_8e0._44_4_ + -0x60))->st_ino" (parenthesized_expression "((stat64 *)(local_8e0._44_4_ + -0x60))" ( (cast_expression "(stat64 *)(local_8e0._44_4_ + -0x60)" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_8e0._44_4_ + -0x60)" ( (binary_expression "local_8e0._44_4_ + -0x60" (field_expression "local_8e0._44_4_" identifier . field_identifier) + number_literal) ))) )) -> field_identifier))) + number_literal) )))) , (comma_expression "iVar28 = local_8b0 + -1 + (uint)((stat64 *)local_8e0._44_4_ != (stat64 *)0x0),\n               iVar14 = (int)local_7b0 - iVar28,\n               (SBORROW4((int)local_7b0,iVar28) != SBORROW4(iVar14,(uint)(local_7b4 < psVar25))) ==\n               (int)(iVar14 - (uint)(local_7b4 < psVar25)) < 0" (assignment_expression "iVar28 = local_8b0 + -1 + (uint)((stat64 *)local_8e0._44_4_ != (stat64 *)0x0)" identifier = (binary_expression "local_8b0 + -1 + (uint)((stat64 *)local_8e0._44_4_ != (stat64 *)0x0)" (binary_expression "local_8b0 + -1" identifier + number_literal) + (call_expression "(uint)((stat64 *)local_8e0._44_4_ != (stat64 *)0x0)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((stat64 *)local_8e0._44_4_ != (stat64 *)0x0)" ( (binary_expression "(stat64 *)local_8e0._44_4_ != (stat64 *)0x0" (cast_expression "(stat64 *)local_8e0._44_4_" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "local_8e0._44_4_" identifier . field_identifier)) != (cast_expression "(stat64 *)0x0" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ))))) , (comma_expression "iVar14 = (int)local_7b0 - iVar28,\n               (SBORROW4((int)local_7b0,iVar28) != SBORROW4(iVar14,(uint)(local_7b4 < psVar25))) ==\n               (int)(iVar14 - (uint)(local_7b4 < psVar25)) < 0" (assignment_expression "iVar14 = (int)local_7b0 - iVar28" identifier = (binary_expression "(int)local_7b0 - iVar28" (cast_expression "(int)local_7b0" ( (type_descriptor "int" primitive_type) ) identifier) - identifier)) , (binary_expression "(SBORROW4((int)local_7b0,iVar28) != SBORROW4(iVar14,(uint)(local_7b4 < psVar25))) ==\n               (int)(iVar14 - (uint)(local_7b4 < psVar25)) < 0" (parenthesized_expression "(SBORROW4((int)local_7b0,iVar28) != SBORROW4(iVar14,(uint)(local_7b4 < psVar25)))" ( (binary_expression "SBORROW4((int)local_7b0,iVar28) != SBORROW4(iVar14,(uint)(local_7b4 < psVar25))" (call_expression "SBORROW4((int)local_7b0,iVar28)" identifier (argument_list "((int)local_7b0,iVar28)" ( (cast_expression "(int)local_7b0" ( (type_descriptor "int" primitive_type) ) identifier) , identifier ))) != (call_expression "SBORROW4(iVar14,(uint)(local_7b4 < psVar25))" identifier (argument_list "(iVar14,(uint)(local_7b4 < psVar25))" ( identifier , (call_expression "(uint)(local_7b4 < psVar25)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(local_7b4 < psVar25)" ( (binary_expression "local_7b4 < psVar25" identifier < identifier) ))) )))) )) == (binary_expression "(int)(iVar14 - (uint)(local_7b4 < psVar25)) < 0" (cast_expression "(int)(iVar14 - (uint)(local_7b4 < psVar25))" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(iVar14 - (uint)(local_7b4 < psVar25))" ( (binary_expression "iVar14 - (uint)(local_7b4 < psVar25)" identifier - (call_expression "(uint)(local_7b4 < psVar25)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(local_7b4 < psVar25)" ( (binary_expression "local_7b4 < psVar25" identifier < identifier) )))) ))) < number_literal))))) ))) )) (compound_statement "{\n              pr2serr("Offset (%llu) is at or beyond IF byte length (%llu)\n",local_7b4,local_7b0,\n                      local_8e0._44_4_,local_8b0,psVar22,psVar8,psVar17);\n              local_908 = (stat64 *)0xf;\n              goto LAB_00012527;\n            }" { (expression_statement "pr2serr("Offset (%llu) is at or beyond IF byte length (%llu)\n",local_7b4,local_7b0,\n                      local_8e0._44_4_,local_8b0,psVar22,psVar8,psVar17);" (call_expression "pr2serr("Offset (%llu) is at or beyond IF byte length (%llu)\n",local_7b4,local_7b0,\n                      local_8e0._44_4_,local_8b0,psVar22,psVar8,psVar17)" identifier (argument_list "("Offset (%llu) is at or beyond IF byte length (%llu)\n",local_7b4,local_7b0,\n                      local_8e0._44_4_,local_8b0,psVar22,psVar8,psVar17)" ( (string_literal ""Offset (%llu) is at or beyond IF byte length (%llu)\n"" " string_content escape_sequence ") , identifier , identifier , (field_expression "local_8e0._44_4_" identifier . field_identifier) , identifier , identifier , identifier , identifier ))) ;) (expression_statement "local_908 = (stat64 *)0xf;" (assignment_expression "local_908 = (stat64 *)0xf" identifier = (cast_expression "(stat64 *)0xf" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (goto_statement "goto LAB_00012527;" goto statement_identifier ;) })) (expression_statement "psVar9 = local_7b4;" (assignment_expression "psVar9 = local_7b4" identifier = identifier) ;) (expression_statement "psVar45 = (stat64 *)local_8e0._44_4_;" (assignment_expression "psVar45 = (stat64 *)local_8e0._44_4_" identifier = (cast_expression "(stat64 *)local_8e0._44_4_" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "local_8e0._44_4_" identifier . field_identifier))) ;) (expression_statement "iVar14 = local_8b0;" (assignment_expression "iVar14 = local_8b0" identifier = identifier) ;) (if_statement "if (local_7b0 != (stat64 *)0x0 || local_7b4 != (stat64 *)0x0) {\n              psVar17 = (stat64 *)0x0;\n              psVar22 = local_7b4;\n              psVar8 = local_7b0;\n              _Var35 = lseek64((int)local_924,CONCAT44(local_7b0,local_7b4),0);\n              psVar25 = local_7b4;\n              if (_Var35 < 0) {\n                piVar19 = __errno_location();\n                psVar25 = (stat64 *)(local_174 + 0x50);\n                iVar14 = *piVar19;\n                __snprintf_chk(psVar25,0x100,1,0x100,"couldn\'t offset to required position on %s",\n                               local_79c,piVar19,piVar19);\n                perror((char *)psVar25);\n                local_908 = (stat64 *)sg_convert_errno(iVar14);\n                goto LAB_00012527;\n              }\n              psVar9 = (stat64 *)((int)psVar45 - (int)local_7b4);\n              iVar14 = (local_8b0 - (int)local_7b0) - (uint)(psVar45 < local_7b4);\n              local_930 = psVar45;\n              if ((int)(uint)(psVar9 != (stat64 *)0x0) <= -iVar14) {\n                pr2serr("--offset [0x%llx] at or beyond file length[0x%llx]\n",local_7b4,local_7b0,\n                        psVar45,local_8b0);\n                local_908 = (stat64 *)0xf;\n                goto LAB_00012527;\n              }\n              if ((local_7f8 != 0) &&\n                 (local_930 = local_7d0, iVar14 < (int)(uint)(psVar9 < local_7d0))) {\n                pr2serr("after accounting for OFF, DLEN exceeds %s remaining length (%u bytes)\n",\n                        local_79c,psVar9,psVar9);\n                local_908 = (stat64 *)0xf;\n                psVar25 = psVar9;\n                goto LAB_00012527;\n              }\n              if (iVar14 < (int)(uint)(psVar9 < local_93c)) {\n                local_93c = psVar9;\n              }\n              psVar45 = psVar9;\n              if (2 < (int)psVar38) {\n                psVar22 = local_7b4;\n                psVar8 = local_93c;\n                psVar17 = psVar9;\n                psVar9 = (stat64 *)\n                         pr2serr("Moved IF byte pointer to %u, if_len=%u, if_readable_len=%u\n",\n                                 local_7b4,local_93c,psVar9);\n              }\n            }" if (parenthesized_expression "(local_7b0 != (stat64 *)0x0 || local_7b4 != (stat64 *)0x0)" ( (binary_expression "local_7b0 != (stat64 *)0x0 || local_7b4 != (stat64 *)0x0" (binary_expression "local_7b0 != (stat64 *)0x0" identifier != (cast_expression "(stat64 *)0x0" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) || (binary_expression "local_7b4 != (stat64 *)0x0" identifier != (cast_expression "(stat64 *)0x0" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal))) )) (compound_statement "{\n              psVar17 = (stat64 *)0x0;\n              psVar22 = local_7b4;\n              psVar8 = local_7b0;\n              _Var35 = lseek64((int)local_924,CONCAT44(local_7b0,local_7b4),0);\n              psVar25 = local_7b4;\n              if (_Var35 < 0) {\n                piVar19 = __errno_location();\n                psVar25 = (stat64 *)(local_174 + 0x50);\n                iVar14 = *piVar19;\n                __snprintf_chk(psVar25,0x100,1,0x100,"couldn\'t offset to required position on %s",\n                               local_79c,piVar19,piVar19);\n                perror((char *)psVar25);\n                local_908 = (stat64 *)sg_convert_errno(iVar14);\n                goto LAB_00012527;\n              }\n              psVar9 = (stat64 *)((int)psVar45 - (int)local_7b4);\n              iVar14 = (local_8b0 - (int)local_7b0) - (uint)(psVar45 < local_7b4);\n              local_930 = psVar45;\n              if ((int)(uint)(psVar9 != (stat64 *)0x0) <= -iVar14) {\n                pr2serr("--offset [0x%llx] at or beyond file length[0x%llx]\n",local_7b4,local_7b0,\n                        psVar45,local_8b0);\n                local_908 = (stat64 *)0xf;\n                goto LAB_00012527;\n              }\n              if ((local_7f8 != 0) &&\n                 (local_930 = local_7d0, iVar14 < (int)(uint)(psVar9 < local_7d0))) {\n                pr2serr("after accounting for OFF, DLEN exceeds %s remaining length (%u bytes)\n",\n                        local_79c,psVar9,psVar9);\n                local_908 = (stat64 *)0xf;\n                psVar25 = psVar9;\n                goto LAB_00012527;\n              }\n              if (iVar14 < (int)(uint)(psVar9 < local_93c)) {\n                local_93c = psVar9;\n              }\n              psVar45 = psVar9;\n              if (2 < (int)psVar38) {\n                psVar22 = local_7b4;\n                psVar8 = local_93c;\n                psVar17 = psVar9;\n                psVar9 = (stat64 *)\n                         pr2serr("Moved IF byte pointer to %u, if_len=%u, if_readable_len=%u\n",\n                                 local_7b4,local_93c,psVar9);\n              }\n            }" { (expression_statement "psVar17 = (stat64 *)0x0;" (assignment_expression "psVar17 = (stat64 *)0x0" identifier = (cast_expression "(stat64 *)0x0" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "psVar22 = local_7b4;" (assignment_expression "psVar22 = local_7b4" identifier = identifier) ;) (expression_statement "psVar8 = local_7b0;" (assignment_expression "psVar8 = local_7b0" identifier = identifier) ;) (expression_statement "_Var35 = lseek64((int)local_924,CONCAT44(local_7b0,local_7b4),0);" (assignment_expression "_Var35 = lseek64((int)local_924,CONCAT44(local_7b0,local_7b4),0)" identifier = (call_expression "lseek64((int)local_924,CONCAT44(local_7b0,local_7b4),0)" identifier (argument_list "((int)local_924,CONCAT44(local_7b0,local_7b4),0)" ( (cast_expression "(int)local_924" ( (type_descriptor "int" primitive_type) ) identifier) , (call_expression "CONCAT44(local_7b0,local_7b4)" identifier (argument_list "(local_7b0,local_7b4)" ( identifier , identifier ))) , number_literal )))) ;) (expression_statement "psVar25 = local_7b4;" (assignment_expression "psVar25 = local_7b4" identifier = identifier) ;) (if_statement "if (_Var35 < 0) {\n                piVar19 = __errno_location();\n                psVar25 = (stat64 *)(local_174 + 0x50);\n                iVar14 = *piVar19;\n                __snprintf_chk(psVar25,0x100,1,0x100,"couldn\'t offset to required position on %s",\n                               local_79c,piVar19,piVar19);\n                perror((char *)psVar25);\n                local_908 = (stat64 *)sg_convert_errno(iVar14);\n                goto LAB_00012527;\n              }" if (parenthesized_expression "(_Var35 < 0)" ( (binary_expression "_Var35 < 0" identifier < number_literal) )) (compound_statement "{\n                piVar19 = __errno_location();\n                psVar25 = (stat64 *)(local_174 + 0x50);\n                iVar14 = *piVar19;\n                __snprintf_chk(psVar25,0x100,1,0x100,"couldn\'t offset to required position on %s",\n                               local_79c,piVar19,piVar19);\n                perror((char *)psVar25);\n                local_908 = (stat64 *)sg_convert_errno(iVar14);\n                goto LAB_00012527;\n              }" { (expression_statement "piVar19 = __errno_location();" (assignment_expression "piVar19 = __errno_location()" identifier = (call_expression "__errno_location()" identifier (argument_list "()" ( )))) ;) (expression_statement "psVar25 = (stat64 *)(local_174 + 0x50);" (assignment_expression "psVar25 = (stat64 *)(local_174 + 0x50)" identifier = (cast_expression "(stat64 *)(local_174 + 0x50)" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_174 + 0x50)" ( (binary_expression "local_174 + 0x50" identifier + number_literal) )))) ;) (expression_statement "iVar14 = *piVar19;" (assignment_expression "iVar14 = *piVar19" identifier = (pointer_expression "*piVar19" * identifier)) ;) (expression_statement "__snprintf_chk(psVar25,0x100,1,0x100,"couldn\'t offset to required position on %s",\n                               local_79c,piVar19,piVar19);" (call_expression "__snprintf_chk(psVar25,0x100,1,0x100,"couldn\'t offset to required position on %s",\n                               local_79c,piVar19,piVar19)" identifier (argument_list "(psVar25,0x100,1,0x100,"couldn\'t offset to required position on %s",\n                               local_79c,piVar19,piVar19)" ( identifier , number_literal , number_literal , number_literal , (string_literal ""couldn\'t offset to required position on %s"" " string_content escape_sequence string_content ") , identifier , identifier , identifier ))) ;) (expression_statement "perror((char *)psVar25);" (call_expression "perror((char *)psVar25)" identifier (argument_list "((char *)psVar25)" ( (cast_expression "(char *)psVar25" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) ))) ;) (expression_statement "local_908 = (stat64 *)sg_convert_errno(iVar14);" (assignment_expression "local_908 = (stat64 *)sg_convert_errno(iVar14)" identifier = (cast_expression "(stat64 *)sg_convert_errno(iVar14)" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "sg_convert_errno(iVar14)" identifier (argument_list "(iVar14)" ( identifier ))))) ;) (goto_statement "goto LAB_00012527;" goto statement_identifier ;) })) (expression_statement "psVar9 = (stat64 *)((int)psVar45 - (int)local_7b4);" (assignment_expression "psVar9 = (stat64 *)((int)psVar45 - (int)local_7b4)" identifier = (cast_expression "(stat64 *)((int)psVar45 - (int)local_7b4)" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)psVar45 - (int)local_7b4)" ( (binary_expression "(int)psVar45 - (int)local_7b4" (cast_expression "(int)psVar45" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)local_7b4" ( (type_descriptor "int" primitive_type) ) identifier)) )))) ;) (expression_statement "iVar14 = (local_8b0 - (int)local_7b0) - (uint)(psVar45 < local_7b4);" (assignment_expression "iVar14 = (local_8b0 - (int)local_7b0) - (uint)(psVar45 < local_7b4)" identifier = (binary_expression "(local_8b0 - (int)local_7b0) - (uint)(psVar45 < local_7b4)" (parenthesized_expression "(local_8b0 - (int)local_7b0)" ( (binary_expression "local_8b0 - (int)local_7b0" identifier - (cast_expression "(int)local_7b0" ( (type_descriptor "int" primitive_type) ) identifier)) )) - (call_expression "(uint)(psVar45 < local_7b4)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(psVar45 < local_7b4)" ( (binary_expression "psVar45 < local_7b4" identifier < identifier) ))))) ;) (expression_statement "local_930 = psVar45;" (assignment_expression "local_930 = psVar45" identifier = identifier) ;) (if_statement "if ((int)(uint)(psVar9 != (stat64 *)0x0) <= -iVar14) {\n                pr2serr("--offset [0x%llx] at or beyond file length[0x%llx]\n",local_7b4,local_7b0,\n                        psVar45,local_8b0);\n                local_908 = (stat64 *)0xf;\n                goto LAB_00012527;\n              }" if (parenthesized_expression "((int)(uint)(psVar9 != (stat64 *)0x0) <= -iVar14)" ( (binary_expression "(int)(uint)(psVar9 != (stat64 *)0x0) <= -iVar14" (cast_expression "(int)(uint)(psVar9 != (stat64 *)0x0)" ( (type_descriptor "int" primitive_type) ) (call_expression "(uint)(psVar9 != (stat64 *)0x0)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(psVar9 != (stat64 *)0x0)" ( (binary_expression "psVar9 != (stat64 *)0x0" identifier != (cast_expression "(stat64 *)0x0" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )))) <= (unary_expression "-iVar14" - identifier)) )) (compound_statement "{\n                pr2serr("--offset [0x%llx] at or beyond file length[0x%llx]\n",local_7b4,local_7b0,\n                        psVar45,local_8b0);\n                local_908 = (stat64 *)0xf;\n                goto LAB_00012527;\n              }" { (expression_statement "pr2serr("--offset [0x%llx] at or beyond file length[0x%llx]\n",local_7b4,local_7b0,\n                        psVar45,local_8b0);" (call_expression "pr2serr("--offset [0x%llx] at or beyond file length[0x%llx]\n",local_7b4,local_7b0,\n                        psVar45,local_8b0)" identifier (argument_list "("--offset [0x%llx] at or beyond file length[0x%llx]\n",local_7b4,local_7b0,\n                        psVar45,local_8b0)" ( (string_literal ""--offset [0x%llx] at or beyond file length[0x%llx]\n"" " string_content escape_sequence ") , identifier , identifier , identifier , identifier ))) ;) (expression_statement "local_908 = (stat64 *)0xf;" (assignment_expression "local_908 = (stat64 *)0xf" identifier = (cast_expression "(stat64 *)0xf" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (goto_statement "goto LAB_00012527;" goto statement_identifier ;) })) (if_statement "if ((local_7f8 != 0) &&\n                 (local_930 = local_7d0, iVar14 < (int)(uint)(psVar9 < local_7d0))) {\n                pr2serr("after accounting for OFF, DLEN exceeds %s remaining length (%u bytes)\n",\n                        local_79c,psVar9,psVar9);\n                local_908 = (stat64 *)0xf;\n                psVar25 = psVar9;\n                goto LAB_00012527;\n              }" if (parenthesized_expression "((local_7f8 != 0) &&\n                 (local_930 = local_7d0, iVar14 < (int)(uint)(psVar9 < local_7d0)))" ( (binary_expression "(local_7f8 != 0) &&\n                 (local_930 = local_7d0, iVar14 < (int)(uint)(psVar9 < local_7d0))" (parenthesized_expression "(local_7f8 != 0)" ( (binary_expression "local_7f8 != 0" identifier != number_literal) )) && (parenthesized_expression "(local_930 = local_7d0, iVar14 < (int)(uint)(psVar9 < local_7d0))" ( (comma_expression "local_930 = local_7d0, iVar14 < (int)(uint)(psVar9 < local_7d0)" (assignment_expression "local_930 = local_7d0" identifier = identifier) , (binary_expression "iVar14 < (int)(uint)(psVar9 < local_7d0)" identifier < (cast_expression "(int)(uint)(psVar9 < local_7d0)" ( (type_descriptor "int" primitive_type) ) (call_expression "(uint)(psVar9 < local_7d0)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(psVar9 < local_7d0)" ( (binary_expression "psVar9 < local_7d0" identifier < identifier) )))))) ))) )) (compound_statement "{\n                pr2serr("after accounting for OFF, DLEN exceeds %s remaining length (%u bytes)\n",\n                        local_79c,psVar9,psVar9);\n                local_908 = (stat64 *)0xf;\n                psVar25 = psVar9;\n                goto LAB_00012527;\n              }" { (expression_statement "pr2serr("after accounting for OFF, DLEN exceeds %s remaining length (%u bytes)\n",\n                        local_79c,psVar9,psVar9);" (call_expression "pr2serr("after accounting for OFF, DLEN exceeds %s remaining length (%u bytes)\n",\n                        local_79c,psVar9,psVar9)" identifier (argument_list "("after accounting for OFF, DLEN exceeds %s remaining length (%u bytes)\n",\n                        local_79c,psVar9,psVar9)" ( (string_literal ""after accounting for OFF, DLEN exceeds %s remaining length (%u bytes)\n"" " string_content escape_sequence ") , identifier , identifier , identifier ))) ;) (expression_statement "local_908 = (stat64 *)0xf;" (assignment_expression "local_908 = (stat64 *)0xf" identifier = (cast_expression "(stat64 *)0xf" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "psVar25 = psVar9;" (assignment_expression "psVar25 = psVar9" identifier = identifier) ;) (goto_statement "goto LAB_00012527;" goto statement_identifier ;) })) (if_statement "if (iVar14 < (int)(uint)(psVar9 < local_93c)) {\n                local_93c = psVar9;\n              }" if (parenthesized_expression "(iVar14 < (int)(uint)(psVar9 < local_93c))" ( (binary_expression "iVar14 < (int)(uint)(psVar9 < local_93c)" identifier < (cast_expression "(int)(uint)(psVar9 < local_93c)" ( (type_descriptor "int" primitive_type) ) (call_expression "(uint)(psVar9 < local_93c)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(psVar9 < local_93c)" ( (binary_expression "psVar9 < local_93c" identifier < identifier) ))))) )) (compound_statement "{\n                local_93c = psVar9;\n              }" { (expression_statement "local_93c = psVar9;" (assignment_expression "local_93c = psVar9" identifier = identifier) ;) })) (expression_statement "psVar45 = psVar9;" (assignment_expression "psVar45 = psVar9" identifier = identifier) ;) (if_statement "if (2 < (int)psVar38) {\n                psVar22 = local_7b4;\n                psVar8 = local_93c;\n                psVar17 = psVar9;\n                psVar9 = (stat64 *)\n                         pr2serr("Moved IF byte pointer to %u, if_len=%u, if_readable_len=%u\n",\n                                 local_7b4,local_93c,psVar9);\n              }" if (parenthesized_expression "(2 < (int)psVar38)" ( (binary_expression "2 < (int)psVar38" number_literal < (cast_expression "(int)psVar38" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n                psVar22 = local_7b4;\n                psVar8 = local_93c;\n                psVar17 = psVar9;\n                psVar9 = (stat64 *)\n                         pr2serr("Moved IF byte pointer to %u, if_len=%u, if_readable_len=%u\n",\n                                 local_7b4,local_93c,psVar9);\n              }" { (expression_statement "psVar22 = local_7b4;" (assignment_expression "psVar22 = local_7b4" identifier = identifier) ;) (expression_statement "psVar8 = local_93c;" (assignment_expression "psVar8 = local_93c" identifier = identifier) ;) (expression_statement "psVar17 = psVar9;" (assignment_expression "psVar17 = psVar9" identifier = identifier) ;) (expression_statement "psVar9 = (stat64 *)\n                         pr2serr("Moved IF byte pointer to %u, if_len=%u, if_readable_len=%u\n",\n                                 local_7b4,local_93c,psVar9);" (assignment_expression "psVar9 = (stat64 *)\n                         pr2serr("Moved IF byte pointer to %u, if_len=%u, if_readable_len=%u\n",\n                                 local_7b4,local_93c,psVar9)" identifier = (cast_expression "(stat64 *)\n                         pr2serr("Moved IF byte pointer to %u, if_len=%u, if_readable_len=%u\n",\n                                 local_7b4,local_93c,psVar9)" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "pr2serr("Moved IF byte pointer to %u, if_len=%u, if_readable_len=%u\n",\n                                 local_7b4,local_93c,psVar9)" identifier (argument_list "("Moved IF byte pointer to %u, if_len=%u, if_readable_len=%u\n",\n                                 local_7b4,local_93c,psVar9)" ( (string_literal ""Moved IF byte pointer to %u, if_len=%u, if_readable_len=%u\n"" " string_content escape_sequence ") , identifier , identifier , identifier ))))) ;) })) })) (goto_statement "goto LAB_00011fa8;" goto statement_identifier ;) })) (goto_statement "goto LAB_00011e6c;" goto statement_identifier ;) })) (expression_statement "piVar19 = __errno_location();" (assignment_expression "piVar19 = __errno_location()" identifier = (call_expression "__errno_location()" identifier (argument_list "()" ( )))) ;) (expression_statement "iVar14 = *piVar19;" (assignment_expression "iVar14 = *piVar19" identifier = (pointer_expression "*piVar19" * identifier)) ;) (expression_statement "pcVar15 = "could not fstat %s";" (assignment_expression "pcVar15 = "could not fstat %s"" identifier = (string_literal ""could not fstat %s"" " string_content ")) ;) }))) (expression_statement "__snprintf_chk(local_174 + 0x50,0x100,1,0x100,pcVar15,local_79c,piVar19,piVar19);" (call_expression "__snprintf_chk(local_174 + 0x50,0x100,1,0x100,pcVar15,local_79c,piVar19,piVar19)" identifier (argument_list "(local_174 + 0x50,0x100,1,0x100,pcVar15,local_79c,piVar19,piVar19)" ( (binary_expression "local_174 + 0x50" identifier + number_literal) , number_literal , number_literal , number_literal , identifier , identifier , identifier , identifier ))) ;) (expression_statement "perror(local_174 + 0x50);" (call_expression "perror(local_174 + 0x50)" identifier (argument_list "(local_174 + 0x50)" ( (binary_expression "local_174 + 0x50" identifier + number_literal) ))) ;) (expression_statement "local_908 = (stat64 *)sg_convert_errno(iVar14);" (assignment_expression "local_908 = (stat64 *)sg_convert_errno(iVar14)" identifier = (cast_expression "(stat64 *)sg_convert_errno(iVar14)" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "sg_convert_errno(iVar14)" identifier (argument_list "(iVar14)" ( identifier ))))) ;) (goto_statement "goto LAB_00011a84;" goto statement_identifier ;) })) (expression_statement "iVar14 = sg_set_binary_mode(0);" (assignment_expression "iVar14 = sg_set_binary_mode(0)" identifier = (call_expression "sg_set_binary_mode(0)" identifier (argument_list "(0)" ( number_literal )))) ;) (expression_statement "cVar2 = '\x01';" (assignment_expression "cVar2 = '\x01'" identifier = (char_literal "'\x01'" ' escape_sequence ')) ;) (expression_statement "local_924 = (stat64 *)0x0;" (assignment_expression "local_924 = (stat64 *)0x0" identifier = (cast_expression "(stat64 *)0x0" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (if_statement "if (iVar14 < 0) {\nLAB_00011dea:\n      perror("sg_set_binary_mode");\n      local_908 = (stat64 *)0xf;\n      goto LAB_00011a84;\n    }" if (parenthesized_expression "(iVar14 < 0)" ( (binary_expression "iVar14 < 0" identifier < number_literal) )) (compound_statement "{\nLAB_00011dea:\n      perror("sg_set_binary_mode");\n      local_908 = (stat64 *)0xf;\n      goto LAB_00011a84;\n    }" { (labeled_statement "LAB_00011dea:\n      perror("sg_set_binary_mode");" statement_identifier : (expression_statement "perror("sg_set_binary_mode");" (call_expression "perror("sg_set_binary_mode")" identifier (argument_list "("sg_set_binary_mode")" ( (string_literal ""sg_set_binary_mode"" " string_content ") ))) ;)) (expression_statement "local_908 = (stat64 *)0xf;" (assignment_expression "local_908 = (stat64 *)0xf" identifier = (cast_expression "(stat64 *)0xf" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (goto_statement "goto LAB_00011a84;" goto statement_identifier ;) })) (labeled_statement "LAB_00011e6c:\n    if (((stat64 *)((uint)local_7b0 | (uint)local_7b4) == (stat64 *)0x0) ||\n       (psVar38 == (stat64 *)0x0)) {\n      psVar9 = (stat64 *)((uint)local_7b0 | (uint)local_7b4);\n      psVar45 = (stat64 *)0x0;\n      iVar14 = 0;\n    }\n    else {\n      psVar9 = (stat64 *)\n               pr2serr(\n                      "--offset=OFF ignored when IF is stdin, pipe, socket, etc\nDLEN, if given, is used\n"\n                      );\n      psVar45 = (stat64 *)0x0;\n      iVar14 = 0;\n    }" statement_identifier : (if_statement "if (((stat64 *)((uint)local_7b0 | (uint)local_7b4) == (stat64 *)0x0) ||\n       (psVar38 == (stat64 *)0x0)) {\n      psVar9 = (stat64 *)((uint)local_7b0 | (uint)local_7b4);\n      psVar45 = (stat64 *)0x0;\n      iVar14 = 0;\n    }\n    else {\n      psVar9 = (stat64 *)\n               pr2serr(\n                      "--offset=OFF ignored when IF is stdin, pipe, socket, etc\nDLEN, if given, is used\n"\n                      );\n      psVar45 = (stat64 *)0x0;\n      iVar14 = 0;\n    }" if (parenthesized_expression "(((stat64 *)((uint)local_7b0 | (uint)local_7b4) == (stat64 *)0x0) ||\n       (psVar38 == (stat64 *)0x0))" ( (binary_expression "((stat64 *)((uint)local_7b0 | (uint)local_7b4) == (stat64 *)0x0) ||\n       (psVar38 == (stat64 *)0x0)" (parenthesized_expression "((stat64 *)((uint)local_7b0 | (uint)local_7b4) == (stat64 *)0x0)" ( (binary_expression "(stat64 *)((uint)local_7b0 | (uint)local_7b4) == (stat64 *)0x0" (cast_expression "(stat64 *)((uint)local_7b0 | (uint)local_7b4)" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((uint)local_7b0 | (uint)local_7b4)" ( (binary_expression "(uint)local_7b0 | (uint)local_7b4" (cast_expression "(uint)local_7b0" ( (type_descriptor "uint" type_identifier) ) identifier) | (cast_expression "(uint)local_7b4" ( (type_descriptor "uint" type_identifier) ) identifier)) ))) == (cast_expression "(stat64 *)0x0" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) || (parenthesized_expression "(psVar38 == (stat64 *)0x0)" ( (binary_expression "psVar38 == (stat64 *)0x0" identifier == (cast_expression "(stat64 *)0x0" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ))) )) (compound_statement "{\n      psVar9 = (stat64 *)((uint)local_7b0 | (uint)local_7b4);\n      psVar45 = (stat64 *)0x0;\n      iVar14 = 0;\n    }" { (expression_statement "psVar9 = (stat64 *)((uint)local_7b0 | (uint)local_7b4);" (assignment_expression "psVar9 = (stat64 *)((uint)local_7b0 | (uint)local_7b4)" identifier = (cast_expression "(stat64 *)((uint)local_7b0 | (uint)local_7b4)" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((uint)local_7b0 | (uint)local_7b4)" ( (binary_expression "(uint)local_7b0 | (uint)local_7b4" (cast_expression "(uint)local_7b0" ( (type_descriptor "uint" type_identifier) ) identifier) | (cast_expression "(uint)local_7b4" ( (type_descriptor "uint" type_identifier) ) identifier)) )))) ;) (expression_statement "psVar45 = (stat64 *)0x0;" (assignment_expression "psVar45 = (stat64 *)0x0" identifier = (cast_expression "(stat64 *)0x0" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "iVar14 = 0;" (assignment_expression "iVar14 = 0" identifier = number_literal) ;) }) (else_clause "else {\n      psVar9 = (stat64 *)\n               pr2serr(\n                      "--offset=OFF ignored when IF is stdin, pipe, socket, etc\nDLEN, if given, is used\n"\n                      );\n      psVar45 = (stat64 *)0x0;\n      iVar14 = 0;\n    }" else (compound_statement "{\n      psVar9 = (stat64 *)\n               pr2serr(\n                      "--offset=OFF ignored when IF is stdin, pipe, socket, etc\nDLEN, if given, is used\n"\n                      );\n      psVar45 = (stat64 *)0x0;\n      iVar14 = 0;\n    }" { (expression_statement "psVar9 = (stat64 *)\n               pr2serr(\n                      "--offset=OFF ignored when IF is stdin, pipe, socket, etc\nDLEN, if given, is used\n"\n                      );" (assignment_expression "psVar9 = (stat64 *)\n               pr2serr(\n                      "--offset=OFF ignored when IF is stdin, pipe, socket, etc\nDLEN, if given, is used\n"\n                      )" identifier = (cast_expression "(stat64 *)\n               pr2serr(\n                      "--offset=OFF ignored when IF is stdin, pipe, socket, etc\nDLEN, if given, is used\n"\n                      )" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "pr2serr(\n                      "--offset=OFF ignored when IF is stdin, pipe, socket, etc\nDLEN, if given, is used\n"\n                      )" identifier (argument_list "(\n                      "--offset=OFF ignored when IF is stdin, pipe, socket, etc\nDLEN, if given, is used\n"\n                      )" ( (string_literal ""--offset=OFF ignored when IF is stdin, pipe, socket, etc\nDLEN, if given, is used\n"" " string_content escape_sequence string_content escape_sequence ") ))))) ;) (expression_statement "psVar45 = (stat64 *)0x0;" (assignment_expression "psVar45 = (stat64 *)0x0" identifier = (cast_expression "(stat64 *)0x0" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "iVar14 = 0;" (assignment_expression "iVar14 = 0" identifier = number_literal) ;) })))) }) (else_clause "else {\n    local_924 = (stat64 *)0xffffffff;\n    cVar2 = '\0';\n    psVar45 = (stat64 *)0x0;\n    iVar14 = 0;\n    local_93c = (stat64 *)0x0;\n  }" else (compound_statement "{\n    local_924 = (stat64 *)0xffffffff;\n    cVar2 = '\0';\n    psVar45 = (stat64 *)0x0;\n    iVar14 = 0;\n    local_93c = (stat64 *)0x0;\n  }" { (expression_statement "local_924 = (stat64 *)0xffffffff;" (assignment_expression "local_924 = (stat64 *)0xffffffff" identifier = (cast_expression "(stat64 *)0xffffffff" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "cVar2 = '\0';" (assignment_expression "cVar2 = '\0'" identifier = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "psVar45 = (stat64 *)0x0;" (assignment_expression "psVar45 = (stat64 *)0x0" identifier = (cast_expression "(stat64 *)0x0" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "iVar14 = 0;" (assignment_expression "iVar14 = 0" identifier = number_literal) ;) (expression_statement "local_93c = (stat64 *)0x0;" (assignment_expression "local_93c = (stat64 *)0x0" identifier = (cast_expression "(stat64 *)0x0" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) }))) (labeled_statement "LAB_00011fa8:\n  if (local_7a0 == (stat64 *)0x0) {\n    pr2serr("missing device name!\n",psVar22,psVar8,psVar17);\n    FUN_000149b0();\n    local_908 = (stat64 *)0x1;\n    psVar25 = (stat64 *)0x0;\nLAB_00012527:\n    if (local_8f0 == (void *)0x0) goto LAB_000123a1;\n    free(local_8f0);\n    goto LAB_000123a1;\n  }" statement_identifier : (if_statement "if (local_7a0 == (stat64 *)0x0) {\n    pr2serr("missing device name!\n",psVar22,psVar8,psVar17);\n    FUN_000149b0();\n    local_908 = (stat64 *)0x1;\n    psVar25 = (stat64 *)0x0;\nLAB_00012527:\n    if (local_8f0 == (void *)0x0) goto LAB_000123a1;\n    free(local_8f0);\n    goto LAB_000123a1;\n  }" if (parenthesized_expression "(local_7a0 == (stat64 *)0x0)" ( (binary_expression "local_7a0 == (stat64 *)0x0" identifier == (cast_expression "(stat64 *)0x0" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    pr2serr("missing device name!\n",psVar22,psVar8,psVar17);\n    FUN_000149b0();\n    local_908 = (stat64 *)0x1;\n    psVar25 = (stat64 *)0x0;\nLAB_00012527:\n    if (local_8f0 == (void *)0x0) goto LAB_000123a1;\n    free(local_8f0);\n    goto LAB_000123a1;\n  }" { (expression_statement "pr2serr("missing device name!\n",psVar22,psVar8,psVar17);" (call_expression "pr2serr("missing device name!\n",psVar22,psVar8,psVar17)" identifier (argument_list "("missing device name!\n",psVar22,psVar8,psVar17)" ( (string_literal ""missing device name!\n"" " string_content escape_sequence ") , identifier , identifier , identifier ))) ;) (expression_statement "FUN_000149b0();" (call_expression "FUN_000149b0()" identifier (argument_list "()" ( ))) ;) (expression_statement "local_908 = (stat64 *)0x1;" (assignment_expression "local_908 = (stat64 *)0x1" identifier = (cast_expression "(stat64 *)0x1" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "psVar25 = (stat64 *)0x0;" (assignment_expression "psVar25 = (stat64 *)0x0" identifier = (cast_expression "(stat64 *)0x0" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (labeled_statement "LAB_00012527:\n    if (local_8f0 == (void *)0x0) goto LAB_000123a1;" statement_identifier : (if_statement "if (local_8f0 == (void *)0x0) goto LAB_000123a1;" if (parenthesized_expression "(local_8f0 == (void *)0x0)" ( (binary_expression "local_8f0 == (void *)0x0" identifier == (cast_expression "(void *)0x0" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_000123a1;" goto statement_identifier ;))) (expression_statement "free(local_8f0);" (call_expression "free(local_8f0)" identifier (argument_list "(local_8f0)" ( identifier ))) ;) (goto_statement "goto LAB_000123a1;" goto statement_identifier ;) }))) (expression_statement "pcVar15 = (char *)0x0;" (assignment_expression "pcVar15 = (char *)0x0" identifier = (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "psVar17 = psVar38;" (assignment_expression "psVar17 = psVar38" identifier = identifier) ;) (expression_statement "uVar33 = sg_cmds_open_device(local_7a0,0,psVar38,psVar9);" (assignment_expression "uVar33 = sg_cmds_open_device(local_7a0,0,psVar38,psVar9)" identifier = (call_expression "sg_cmds_open_device(local_7a0,0,psVar38,psVar9)" identifier (argument_list "(local_7a0,0,psVar38,psVar9)" ( identifier , number_literal , identifier , identifier )))) ;) (expression_statement "psVar25 = local_7d8;" (assignment_expression "psVar25 = local_7d8" identifier = identifier) ;) (expression_statement "psVar22 = (stat64 *)((ulonglong)uVar33 >> 0x20);" (assignment_expression "psVar22 = (stat64 *)((ulonglong)uVar33 >> 0x20)" identifier = (cast_expression "(stat64 *)((ulonglong)uVar33 >> 0x20)" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((ulonglong)uVar33 >> 0x20)" ( (binary_expression "(ulonglong)uVar33 >> 0x20" (cast_expression "(ulonglong)uVar33" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) )))) ;) (expression_statement "local_930 = (stat64 *)uVar33;" (assignment_expression "local_930 = (stat64 *)uVar33" identifier = (cast_expression "(stat64 *)uVar33" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (if_statement "if ((int)local_930 < 0) {\n    psVar25 = (stat64 *)-(int)local_930;\n    if (local_7f0 != (stat64 *)0x0) {\n      uVar16 = safe_strerror(psVar25);\n      pr2serr("open error: %s: %s\n",local_7a0,uVar16);\n    }\n    local_908 = (stat64 *)sg_convert_errno(psVar25);\n    goto LAB_00012527;\n  }" if (parenthesized_expression "((int)local_930 < 0)" ( (binary_expression "(int)local_930 < 0" (cast_expression "(int)local_930" ( (type_descriptor "int" primitive_type) ) identifier) < number_literal) )) (compound_statement "{\n    psVar25 = (stat64 *)-(int)local_930;\n    if (local_7f0 != (stat64 *)0x0) {\n      uVar16 = safe_strerror(psVar25);\n      pr2serr("open error: %s: %s\n",local_7a0,uVar16);\n    }\n    local_908 = (stat64 *)sg_convert_errno(psVar25);\n    goto LAB_00012527;\n  }" { (expression_statement "psVar25 = (stat64 *)-(int)local_930;" (assignment_expression "psVar25 = (stat64 *)-(int)local_930" identifier = (cast_expression "(stat64 *)-(int)local_930" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) (unary_expression "-(int)local_930" - (cast_expression "(int)local_930" ( (type_descriptor "int" primitive_type) ) identifier)))) ;) (if_statement "if (local_7f0 != (stat64 *)0x0) {\n      uVar16 = safe_strerror(psVar25);\n      pr2serr("open error: %s: %s\n",local_7a0,uVar16);\n    }" if (parenthesized_expression "(local_7f0 != (stat64 *)0x0)" ( (binary_expression "local_7f0 != (stat64 *)0x0" identifier != (cast_expression "(stat64 *)0x0" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      uVar16 = safe_strerror(psVar25);\n      pr2serr("open error: %s: %s\n",local_7a0,uVar16);\n    }" { (expression_statement "uVar16 = safe_strerror(psVar25);" (assignment_expression "uVar16 = safe_strerror(psVar25)" identifier = (call_expression "safe_strerror(psVar25)" identifier (argument_list "(psVar25)" ( identifier )))) ;) (expression_statement "pr2serr("open error: %s: %s\n",local_7a0,uVar16);" (call_expression "pr2serr("open error: %s: %s\n",local_7a0,uVar16)" identifier (argument_list "("open error: %s: %s\n",local_7a0,uVar16)" ( (string_literal ""open error: %s: %s\n"" " string_content escape_sequence ") , identifier , identifier ))) ;) })) (expression_statement "local_908 = (stat64 *)sg_convert_errno(psVar25);" (assignment_expression "local_908 = (stat64 *)sg_convert_errno(psVar25)" identifier = (cast_expression "(stat64 *)sg_convert_errno(psVar25)" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "sg_convert_errno(psVar25)" identifier (argument_list "(psVar25)" ( identifier ))))) ;) (goto_statement "goto LAB_00012527;" goto statement_identifier ;) })) (expression_statement "psVar8 = local_7d4;" (assignment_expression "psVar8 = local_7d4" identifier = identifier) ;) (expression_statement "psVar11 = local_7d4;" (assignment_expression "psVar11 = local_7d4" identifier = identifier) ;) (if_statement "if (local_7d8 == (stat64 *)0x0) {\n    psVar17 = (stat64 *)0x0;\n    if (local_7f0 != (stat64 *)0x0) {\n      psVar17 = (stat64 *)((int)&local_7f0[-1].st_ino + 7);\n    }\n    psVar22 = (stat64 *)local_174;\n    psVar11 = (stat64 *)0x1;\n    pcVar15 = (char *)0x20;\n    psVar9 = psVar17;\n    psVar8 = local_7f0;\n    uVar33 = sg_ll_readcap_16(local_930,0,0,0,psVar22,0x20,1,psVar17,psVar22,local_7f0,psVar45,\n                              iVar14);\n    if ((int)uVar33 == 6) {\n      pr2serr("Read capacity(16) unit attention, try again\n");\n      uVar33 = sg_ll_readcap_16(local_930,0,0,0,psVar22,0x20,1,psVar17);\n    }\n    psVar23 = (stat64 *)((ulonglong)uVar33 >> 0x20);\n    local_908 = (stat64 *)uVar33;\n    if (local_908 == (stat64 *)0x0) {\n      psVar17 = psVar11;\n      if (3 < (int)psVar8) {\n        pr2serr("Read capacity(16) response:\n");\n        psVar17 = (stat64 *)0x1;\n        pcVar15 = (char *)0x20;\n        hex2stderr(psVar22,0x20,1);\n      }\n      bVar1 = local_174[0xc];\n      psVar11 = (stat64 *)\n                ((uint)local_174._8_4_ >> 0x18 | (local_174._8_4_ & 0xff0000) >> 8 |\n                 (local_174._8_4_ & 0xff00) << 8 | local_174._8_4_ << 0x18);\n      uVar7 = (uint)local_174._4_4_ >> 0x18 | (local_174._4_4_ & 0xff0000) >> 8 |\n              (local_174._4_4_ & 0xff00) << 8 | local_174._4_4_ << 0x18;\n      local_7ac = uVar7 + 1;\n      local_7a8 = ((uint)local_174._0_4_ >> 0x18 | (local_174._0_4_ & 0xff0000) >> 8 |\n                   (local_174._0_4_ & 0xff00) << 8 | local_174._0_4_ << 0x18) +\n                  (uint)(0xfffffffe < uVar7);\n      psVar22 = (stat64 *)(uint)local_174[0xc];\n      local_7d8 = psVar11;\n      if ((local_174[0xc] & 1) == 0) {\n        local_7fc = 0;\n        if ((int)local_7ec < 1) goto LAB_00012305;\n        if (psVar8 != (stat64 *)0x0) {\n          pcVar15 = (char *)local_7ec;\n          psVar22 = local_7a0;\n          pr2serr("--wrprotect (%d) expects PI but %s says it has none\n",local_7ec,local_7a0,\n                  psVar11);\n          if (local_7f8 != 0) goto LAB_00012ef5;\n          pcVar13 = "  ... continue but could be dangerous\n";\n          psVar25 = (stat64 *)0x0;\n          psVar9 = psVar11;\n          goto LAB_00013516;\n        }\n        if (local_7f8 != 0) goto LAB_00012ef5;\n      }\n      else {\n        local_7fc = (local_174[0xc] >> 1 & 7) + 1;\n        psVar25 = (stat64 *)(8 << (local_174[0xd] >> 4));\n        psVar22 = (stat64 *)(uint)(local_174[0xd] >> 4);\n        if (((int)local_7ec < 1) ||\n           (local_7d4 = (stat64 *)((int)&psVar25->st_dev + (int)&psVar11->st_dev), (int)psVar8 < 2))\n        {\nLAB_00012305:\n          if (psVar8 == (stat64 *)0x0) goto LAB_00012312;\n        }\n        else {\n          pcVar13 = \n          "  For data out buffer purposes the effective block size is %u (lb size\n  is %u) because PROT_EN=1, PI_EXP=%u and WRPROTECT>0\n"\n          ;\n          pcVar15 = (char *)psVar11;\n          psVar9 = local_7d4;\nLAB_00013516:\n          pr2serr(pcVar13,pcVar15,psVar22,psVar9);\n          psVar17 = psVar22;\n        }\n        pr2serr("Read capacity(16) response fields:\n",pcVar15,psVar17,psVar9);\n        psVar25 = (stat64 *)((int)&local_7d8->st_dev + (int)&psVar25->st_dev);\n        psVar9 = extraout_ECX_06;\n        pr2serr("  Last_LBA=0x%llx  LB size: %u (with PI: %u) bytes  p_type=%u\n",local_7ac + -1,\n                local_7a8 + -1 + (uint)(local_7ac != 0),local_7d8,psVar25,local_174[0xc] >> 1 & 7,\n                extraout_ECX_06,extraout_ECX_06);\n        pr2serr("  prot_en=%u [PI type=%u] p_i_exp=%u  lbppb_exp=%u  lbpme,rz=%u,",bVar1 & 1,\n                local_7fc,local_174[0xd] >> 4,local_174[0xd] & 0xf,\n                (uint)(int)(char)local_174[0xe] >> 0x1f);\n        psVar17 = (stat64 *)\n                  ((ushort)(local_174._14_2_ << 8 | (ushort)local_174._14_2_ >> 8) & 0x3fff);\n        pcVar15 = (char *)(local_174[0xe] >> 6 & 1);\n        pr2serr("%u  low_ali_lba=%u\n",pcVar15,psVar17);\n        psVar22 = extraout_EDX_04;\n      }\n    }\n    else {\n      if (((int)local_908 - 5U & 0xfffffffb) != 0) {\n        if (psVar8 != (stat64 *)0x0) {\n          puVar43 = local_174 + 0x50;\n          psVar25 = (stat64 *)"OS error";\n          puVar29 = puVar43;\n          for (iVar14 = 9; iVar14 != 0; iVar14 = iVar14 + -1) {\n            *puVar29 = (char)psVar25->st_dev;\n            psVar25 = (stat64 *)((int)psVar25 + (uint)bVar32 * -2 + 1);\n            puVar29 = puVar29 + (uint)bVar32 * -2 + 1;\n          }\n          psVar18 = local_908;\n          if (0 < (int)local_908) {\n            psVar18 = (stat64 *)sg_get_category_sense_str(local_908,0x50,puVar43,psVar8);\n          }\n          pr2serr("Read capacity(16): %s\n",puVar43,psVar18,psVar18);\n          pr2serr("Unable to calculate block size\n");\n        }\n        if (0 < (int)local_908) goto LAB_00012354;\n        goto LAB_00012ef5;\n      }\n      if (psVar8 == (stat64 *)0x0) {\n        pcVar15 = (char *)0x1;\n        uVar33 = sg_ll_readcap_10(local_930,0,0,psVar22,8,1,psVar17,psVar23);\n        psVar22 = (stat64 *)((ulonglong)uVar33 >> 0x20);\n        local_908 = (stat64 *)uVar33;\n        psVar9 = psVar23;\n        if (local_908 != (stat64 *)0x0) {\nLAB_00013444:\n          puVar43 = local_174 + 0x50;\n          psVar25 = (stat64 *)"OS error";\n          puVar29 = puVar43;\n          for (iVar14 = 9; iVar14 != 0; iVar14 = iVar14 + -1) {\n            *puVar29 = (char)psVar25->st_dev;\n            psVar25 = (stat64 *)((int)psVar25 + (uint)bVar32 * -2 + 1);\n            puVar29 = puVar29 + (uint)bVar32 * -2 + 1;\n          }\n          if (0 < (int)local_908) {\n            sg_get_category_sense_str(local_908,0x50,puVar43,psVar8);\n            pr2serr("Read capacity(10): %s\n",puVar43);\n            pr2serr("Unable to calculate block size\n");\n            goto LAB_00012354;\n          }\n          __snprintf_chk(puVar43,0x50,1,0x50,"error: %d",local_908,local_908,local_908);\n          pr2serr("Read capacity(10): %s\n",puVar43);\n          pr2serr("Unable to calculate block size\n");\n          local_908 = (stat64 *)0xf;\n          goto LAB_00012354;\n        }\n      }\n      else {\n        psVar25 = psVar22;\n        pr2serr("Read capacity(16) not supported, try Read capacity(10)\n");\n        pcVar15 = (char *)0x1;\n        uVar33 = sg_ll_readcap_10(local_930,0,0,psVar25,8,1,psVar17);\n        psVar22 = (stat64 *)((ulonglong)uVar33 >> 0x20);\n        local_908 = (stat64 *)uVar33;\n        if (local_908 != (stat64 *)0x0) goto LAB_00013444;\n        if (3 < (int)psVar8) {\n          pr2serr("Read capacity(10) response:\n");\n          psVar17 = (stat64 *)0x1;\n          pcVar15 = (char *)0x8;\n          hex2stderr(psVar25,8,1);\n          psVar22 = extraout_EDX_03;\n        }\n      }\n      local_7a8 = 0;\n      local_7ac = ((uint)local_174._0_4_ >> 0x18 | (local_174._0_4_ & 0xff0000) >> 8 |\n                   (local_174._0_4_ & 0xff00) << 8 | local_174._0_4_ << 0x18) + 1;\n      local_7d8 = (stat64 *)\n                  ((uint)local_174._4_4_ >> 0x18 | (local_174._4_4_ & 0xff0000) >> 8 |\n                   (local_174._4_4_ & 0xff00) << 8 | local_174._4_4_ << 0x18);\n    }\nLAB_00012312:\n    local_7d4 = local_7d8;\n    if (local_813 != '\0') {\n      local_7d4 = (stat64 *)&local_7d8->__pad1;\n    }\n    psVar8 = local_7d4;\n    psVar11 = local_7d8;\n    if (local_7d4 == (stat64 *)0x0) goto LAB_00012338;\n  }" if (parenthesized_expression "(local_7d8 == (stat64 *)0x0)" ( (binary_expression "local_7d8 == (stat64 *)0x0" identifier == (cast_expression "(stat64 *)0x0" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    psVar17 = (stat64 *)0x0;\n    if (local_7f0 != (stat64 *)0x0) {\n      psVar17 = (stat64 *)((int)&local_7f0[-1].st_ino + 7);\n    }\n    psVar22 = (stat64 *)local_174;\n    psVar11 = (stat64 *)0x1;\n    pcVar15 = (char *)0x20;\n    psVar9 = psVar17;\n    psVar8 = local_7f0;\n    uVar33 = sg_ll_readcap_16(local_930,0,0,0,psVar22,0x20,1,psVar17,psVar22,local_7f0,psVar45,\n                              iVar14);\n    if ((int)uVar33 == 6) {\n      pr2serr("Read capacity(16) unit attention, try again\n");\n      uVar33 = sg_ll_readcap_16(local_930,0,0,0,psVar22,0x20,1,psVar17);\n    }\n    psVar23 = (stat64 *)((ulonglong)uVar33 >> 0x20);\n    local_908 = (stat64 *)uVar33;\n    if (local_908 == (stat64 *)0x0) {\n      psVar17 = psVar11;\n      if (3 < (int)psVar8) {\n        pr2serr("Read capacity(16) response:\n");\n        psVar17 = (stat64 *)0x1;\n        pcVar15 = (char *)0x20;\n        hex2stderr(psVar22,0x20,1);\n      }\n      bVar1 = local_174[0xc];\n      psVar11 = (stat64 *)\n                ((uint)local_174._8_4_ >> 0x18 | (local_174._8_4_ & 0xff0000) >> 8 |\n                 (local_174._8_4_ & 0xff00) << 8 | local_174._8_4_ << 0x18);\n      uVar7 = (uint)local_174._4_4_ >> 0x18 | (local_174._4_4_ & 0xff0000) >> 8 |\n              (local_174._4_4_ & 0xff00) << 8 | local_174._4_4_ << 0x18;\n      local_7ac = uVar7 + 1;\n      local_7a8 = ((uint)local_174._0_4_ >> 0x18 | (local_174._0_4_ & 0xff0000) >> 8 |\n                   (local_174._0_4_ & 0xff00) << 8 | local_174._0_4_ << 0x18) +\n                  (uint)(0xfffffffe < uVar7);\n      psVar22 = (stat64 *)(uint)local_174[0xc];\n      local_7d8 = psVar11;\n      if ((local_174[0xc] & 1) == 0) {\n        local_7fc = 0;\n        if ((int)local_7ec < 1) goto LAB_00012305;\n        if (psVar8 != (stat64 *)0x0) {\n          pcVar15 = (char *)local_7ec;\n          psVar22 = local_7a0;\n          pr2serr("--wrprotect (%d) expects PI but %s says it has none\n",local_7ec,local_7a0,\n                  psVar11);\n          if (local_7f8 != 0) goto LAB_00012ef5;\n          pcVar13 = "  ... continue but could be dangerous\n";\n          psVar25 = (stat64 *)0x0;\n          psVar9 = psVar11;\n          goto LAB_00013516;\n        }\n        if (local_7f8 != 0) goto LAB_00012ef5;\n      }\n      else {\n        local_7fc = (local_174[0xc] >> 1 & 7) + 1;\n        psVar25 = (stat64 *)(8 << (local_174[0xd] >> 4));\n        psVar22 = (stat64 *)(uint)(local_174[0xd] >> 4);\n        if (((int)local_7ec < 1) ||\n           (local_7d4 = (stat64 *)((int)&psVar25->st_dev + (int)&psVar11->st_dev), (int)psVar8 < 2))\n        {\nLAB_00012305:\n          if (psVar8 == (stat64 *)0x0) goto LAB_00012312;\n        }\n        else {\n          pcVar13 = \n          "  For data out buffer purposes the effective block size is %u (lb size\n  is %u) because PROT_EN=1, PI_EXP=%u and WRPROTECT>0\n"\n          ;\n          pcVar15 = (char *)psVar11;\n          psVar9 = local_7d4;\nLAB_00013516:\n          pr2serr(pcVar13,pcVar15,psVar22,psVar9);\n          psVar17 = psVar22;\n        }\n        pr2serr("Read capacity(16) response fields:\n",pcVar15,psVar17,psVar9);\n        psVar25 = (stat64 *)((int)&local_7d8->st_dev + (int)&psVar25->st_dev);\n        psVar9 = extraout_ECX_06;\n        pr2serr("  Last_LBA=0x%llx  LB size: %u (with PI: %u) bytes  p_type=%u\n",local_7ac + -1,\n                local_7a8 + -1 + (uint)(local_7ac != 0),local_7d8,psVar25,local_174[0xc] >> 1 & 7,\n                extraout_ECX_06,extraout_ECX_06);\n        pr2serr("  prot_en=%u [PI type=%u] p_i_exp=%u  lbppb_exp=%u  lbpme,rz=%u,",bVar1 & 1,\n                local_7fc,local_174[0xd] >> 4,local_174[0xd] & 0xf,\n                (uint)(int)(char)local_174[0xe] >> 0x1f);\n        psVar17 = (stat64 *)\n                  ((ushort)(local_174._14_2_ << 8 | (ushort)local_174._14_2_ >> 8) & 0x3fff);\n        pcVar15 = (char *)(local_174[0xe] >> 6 & 1);\n        pr2serr("%u  low_ali_lba=%u\n",pcVar15,psVar17);\n        psVar22 = extraout_EDX_04;\n      }\n    }\n    else {\n      if (((int)local_908 - 5U & 0xfffffffb) != 0) {\n        if (psVar8 != (stat64 *)0x0) {\n          puVar43 = local_174 + 0x50;\n          psVar25 = (stat64 *)"OS error";\n          puVar29 = puVar43;\n          for (iVar14 = 9; iVar14 != 0; iVar14 = iVar14 + -1) {\n            *puVar29 = (char)psVar25->st_dev;\n            psVar25 = (stat64 *)((int)psVar25 + (uint)bVar32 * -2 + 1);\n            puVar29 = puVar29 + (uint)bVar32 * -2 + 1;\n          }\n          psVar18 = local_908;\n          if (0 < (int)local_908) {\n            psVar18 = (stat64 *)sg_get_category_sense_str(local_908,0x50,puVar43,psVar8);\n          }\n          pr2serr("Read capacity(16): %s\n",puVar43,psVar18,psVar18);\n          pr2serr("Unable to calculate block size\n");\n        }\n        if (0 < (int)local_908) goto LAB_00012354;\n        goto LAB_00012ef5;\n      }\n      if (psVar8 == (stat64 *)0x0) {\n        pcVar15 = (char *)0x1;\n        uVar33 = sg_ll_readcap_10(local_930,0,0,psVar22,8,1,psVar17,psVar23);\n        psVar22 = (stat64 *)((ulonglong)uVar33 >> 0x20);\n        local_908 = (stat64 *)uVar33;\n        psVar9 = psVar23;\n        if (local_908 != (stat64 *)0x0) {\nLAB_00013444:\n          puVar43 = local_174 + 0x50;\n          psVar25 = (stat64 *)"OS error";\n          puVar29 = puVar43;\n          for (iVar14 = 9; iVar14 != 0; iVar14 = iVar14 + -1) {\n            *puVar29 = (char)psVar25->st_dev;\n            psVar25 = (stat64 *)((int)psVar25 + (uint)bVar32 * -2 + 1);\n            puVar29 = puVar29 + (uint)bVar32 * -2 + 1;\n          }\n          if (0 < (int)local_908) {\n            sg_get_category_sense_str(local_908,0x50,puVar43,psVar8);\n            pr2serr("Read capacity(10): %s\n",puVar43);\n            pr2serr("Unable to calculate block size\n");\n            goto LAB_00012354;\n          }\n          __snprintf_chk(puVar43,0x50,1,0x50,"error: %d",local_908,local_908,local_908);\n          pr2serr("Read capacity(10): %s\n",puVar43);\n          pr2serr("Unable to calculate block size\n");\n          local_908 = (stat64 *)0xf;\n          goto LAB_00012354;\n        }\n      }\n      else {\n        psVar25 = psVar22;\n        pr2serr("Read capacity(16) not supported, try Read capacity(10)\n");\n        pcVar15 = (char *)0x1;\n        uVar33 = sg_ll_readcap_10(local_930,0,0,psVar25,8,1,psVar17);\n        psVar22 = (stat64 *)((ulonglong)uVar33 >> 0x20);\n        local_908 = (stat64 *)uVar33;\n        if (local_908 != (stat64 *)0x0) goto LAB_00013444;\n        if (3 < (int)psVar8) {\n          pr2serr("Read capacity(10) response:\n");\n          psVar17 = (stat64 *)0x1;\n          pcVar15 = (char *)0x8;\n          hex2stderr(psVar25,8,1);\n          psVar22 = extraout_EDX_03;\n        }\n      }\n      local_7a8 = 0;\n      local_7ac = ((uint)local_174._0_4_ >> 0x18 | (local_174._0_4_ & 0xff0000) >> 8 |\n                   (local_174._0_4_ & 0xff00) << 8 | local_174._0_4_ << 0x18) + 1;\n      local_7d8 = (stat64 *)\n                  ((uint)local_174._4_4_ >> 0x18 | (local_174._4_4_ & 0xff0000) >> 8 |\n                   (local_174._4_4_ & 0xff00) << 8 | local_174._4_4_ << 0x18);\n    }\nLAB_00012312:\n    local_7d4 = local_7d8;\n    if (local_813 != '\0') {\n      local_7d4 = (stat64 *)&local_7d8->__pad1;\n    }\n    psVar8 = local_7d4;\n    psVar11 = local_7d8;\n    if (local_7d4 == (stat64 *)0x0) goto LAB_00012338;\n  }" { (expression_statement "psVar17 = (stat64 *)0x0;" (assignment_expression "psVar17 = (stat64 *)0x0" identifier = (cast_expression "(stat64 *)0x0" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (if_statement "if (local_7f0 != (stat64 *)0x0) {\n      psVar17 = (stat64 *)((int)&local_7f0[-1].st_ino + 7);\n    }" if (parenthesized_expression "(local_7f0 != (stat64 *)0x0)" ( (binary_expression "local_7f0 != (stat64 *)0x0" identifier != (cast_expression "(stat64 *)0x0" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      psVar17 = (stat64 *)((int)&local_7f0[-1].st_ino + 7);\n    }" { (expression_statement "psVar17 = (stat64 *)((int)&local_7f0[-1].st_ino + 7);" (assignment_expression "psVar17 = (stat64 *)((int)&local_7f0[-1].st_ino + 7)" identifier = (cast_expression "(stat64 *)((int)&local_7f0[-1].st_ino + 7)" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&local_7f0[-1].st_ino + 7)" ( (binary_expression "(int)&local_7f0[-1].st_ino + 7" (cast_expression "(int)&local_7f0[-1].st_ino" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&local_7f0[-1].st_ino" & (field_expression "local_7f0[-1].st_ino" (subscript_expression "local_7f0[-1]" identifier [ number_literal ]) . field_identifier))) + number_literal) )))) ;) })) (expression_statement "psVar22 = (stat64 *)local_174;" (assignment_expression "psVar22 = (stat64 *)local_174" identifier = (cast_expression "(stat64 *)local_174" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "psVar11 = (stat64 *)0x1;" (assignment_expression "psVar11 = (stat64 *)0x1" identifier = (cast_expression "(stat64 *)0x1" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "pcVar15 = (char *)0x20;" (assignment_expression "pcVar15 = (char *)0x20" identifier = (cast_expression "(char *)0x20" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "psVar9 = psVar17;" (assignment_expression "psVar9 = psVar17" identifier = identifier) ;) (expression_statement "psVar8 = local_7f0;" (assignment_expression "psVar8 = local_7f0" identifier = identifier) ;) (expression_statement "uVar33 = sg_ll_readcap_16(local_930,0,0,0,psVar22,0x20,1,psVar17,psVar22,local_7f0,psVar45,\n                              iVar14);" (assignment_expression "uVar33 = sg_ll_readcap_16(local_930,0,0,0,psVar22,0x20,1,psVar17,psVar22,local_7f0,psVar45,\n                              iVar14)" identifier = (call_expression "sg_ll_readcap_16(local_930,0,0,0,psVar22,0x20,1,psVar17,psVar22,local_7f0,psVar45,\n                              iVar14)" identifier (argument_list "(local_930,0,0,0,psVar22,0x20,1,psVar17,psVar22,local_7f0,psVar45,\n                              iVar14)" ( identifier , number_literal , number_literal , number_literal , identifier , number_literal , number_literal , identifier , identifier , identifier , identifier , identifier )))) ;) (if_statement "if ((int)uVar33 == 6) {\n      pr2serr("Read capacity(16) unit attention, try again\n");\n      uVar33 = sg_ll_readcap_16(local_930,0,0,0,psVar22,0x20,1,psVar17);\n    }" if (parenthesized_expression "((int)uVar33 == 6)" ( (binary_expression "(int)uVar33 == 6" (cast_expression "(int)uVar33" ( (type_descriptor "int" primitive_type) ) identifier) == number_literal) )) (compound_statement "{\n      pr2serr("Read capacity(16) unit attention, try again\n");\n      uVar33 = sg_ll_readcap_16(local_930,0,0,0,psVar22,0x20,1,psVar17);\n    }" { (expression_statement "pr2serr("Read capacity(16) unit attention, try again\n");" (call_expression "pr2serr("Read capacity(16) unit attention, try again\n")" identifier (argument_list "("Read capacity(16) unit attention, try again\n")" ( (string_literal ""Read capacity(16) unit attention, try again\n"" " string_content escape_sequence ") ))) ;) (expression_statement "uVar33 = sg_ll_readcap_16(local_930,0,0,0,psVar22,0x20,1,psVar17);" (assignment_expression "uVar33 = sg_ll_readcap_16(local_930,0,0,0,psVar22,0x20,1,psVar17)" identifier = (call_expression "sg_ll_readcap_16(local_930,0,0,0,psVar22,0x20,1,psVar17)" identifier (argument_list "(local_930,0,0,0,psVar22,0x20,1,psVar17)" ( identifier , number_literal , number_literal , number_literal , identifier , number_literal , number_literal , identifier )))) ;) })) (expression_statement "psVar23 = (stat64 *)((ulonglong)uVar33 >> 0x20);" (assignment_expression "psVar23 = (stat64 *)((ulonglong)uVar33 >> 0x20)" identifier = (cast_expression "(stat64 *)((ulonglong)uVar33 >> 0x20)" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((ulonglong)uVar33 >> 0x20)" ( (binary_expression "(ulonglong)uVar33 >> 0x20" (cast_expression "(ulonglong)uVar33" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) )))) ;) (expression_statement "local_908 = (stat64 *)uVar33;" (assignment_expression "local_908 = (stat64 *)uVar33" identifier = (cast_expression "(stat64 *)uVar33" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (if_statement "if (local_908 == (stat64 *)0x0) {\n      psVar17 = psVar11;\n      if (3 < (int)psVar8) {\n        pr2serr("Read capacity(16) response:\n");\n        psVar17 = (stat64 *)0x1;\n        pcVar15 = (char *)0x20;\n        hex2stderr(psVar22,0x20,1);\n      }\n      bVar1 = local_174[0xc];\n      psVar11 = (stat64 *)\n                ((uint)local_174._8_4_ >> 0x18 | (local_174._8_4_ & 0xff0000) >> 8 |\n                 (local_174._8_4_ & 0xff00) << 8 | local_174._8_4_ << 0x18);\n      uVar7 = (uint)local_174._4_4_ >> 0x18 | (local_174._4_4_ & 0xff0000) >> 8 |\n              (local_174._4_4_ & 0xff00) << 8 | local_174._4_4_ << 0x18;\n      local_7ac = uVar7 + 1;\n      local_7a8 = ((uint)local_174._0_4_ >> 0x18 | (local_174._0_4_ & 0xff0000) >> 8 |\n                   (local_174._0_4_ & 0xff00) << 8 | local_174._0_4_ << 0x18) +\n                  (uint)(0xfffffffe < uVar7);\n      psVar22 = (stat64 *)(uint)local_174[0xc];\n      local_7d8 = psVar11;\n      if ((local_174[0xc] & 1) == 0) {\n        local_7fc = 0;\n        if ((int)local_7ec < 1) goto LAB_00012305;\n        if (psVar8 != (stat64 *)0x0) {\n          pcVar15 = (char *)local_7ec;\n          psVar22 = local_7a0;\n          pr2serr("--wrprotect (%d) expects PI but %s says it has none\n",local_7ec,local_7a0,\n                  psVar11);\n          if (local_7f8 != 0) goto LAB_00012ef5;\n          pcVar13 = "  ... continue but could be dangerous\n";\n          psVar25 = (stat64 *)0x0;\n          psVar9 = psVar11;\n          goto LAB_00013516;\n        }\n        if (local_7f8 != 0) goto LAB_00012ef5;\n      }\n      else {\n        local_7fc = (local_174[0xc] >> 1 & 7) + 1;\n        psVar25 = (stat64 *)(8 << (local_174[0xd] >> 4));\n        psVar22 = (stat64 *)(uint)(local_174[0xd] >> 4);\n        if (((int)local_7ec < 1) ||\n           (local_7d4 = (stat64 *)((int)&psVar25->st_dev + (int)&psVar11->st_dev), (int)psVar8 < 2))\n        {\nLAB_00012305:\n          if (psVar8 == (stat64 *)0x0) goto LAB_00012312;\n        }\n        else {\n          pcVar13 = \n          "  For data out buffer purposes the effective block size is %u (lb size\n  is %u) because PROT_EN=1, PI_EXP=%u and WRPROTECT>0\n"\n          ;\n          pcVar15 = (char *)psVar11;\n          psVar9 = local_7d4;\nLAB_00013516:\n          pr2serr(pcVar13,pcVar15,psVar22,psVar9);\n          psVar17 = psVar22;\n        }\n        pr2serr("Read capacity(16) response fields:\n",pcVar15,psVar17,psVar9);\n        psVar25 = (stat64 *)((int)&local_7d8->st_dev + (int)&psVar25->st_dev);\n        psVar9 = extraout_ECX_06;\n        pr2serr("  Last_LBA=0x%llx  LB size: %u (with PI: %u) bytes  p_type=%u\n",local_7ac + -1,\n                local_7a8 + -1 + (uint)(local_7ac != 0),local_7d8,psVar25,local_174[0xc] >> 1 & 7,\n                extraout_ECX_06,extraout_ECX_06);\n        pr2serr("  prot_en=%u [PI type=%u] p_i_exp=%u  lbppb_exp=%u  lbpme,rz=%u,",bVar1 & 1,\n                local_7fc,local_174[0xd] >> 4,local_174[0xd] & 0xf,\n                (uint)(int)(char)local_174[0xe] >> 0x1f);\n        psVar17 = (stat64 *)\n                  ((ushort)(local_174._14_2_ << 8 | (ushort)local_174._14_2_ >> 8) & 0x3fff);\n        pcVar15 = (char *)(local_174[0xe] >> 6 & 1);\n        pr2serr("%u  low_ali_lba=%u\n",pcVar15,psVar17);\n        psVar22 = extraout_EDX_04;\n      }\n    }\n    else {\n      if (((int)local_908 - 5U & 0xfffffffb) != 0) {\n        if (psVar8 != (stat64 *)0x0) {\n          puVar43 = local_174 + 0x50;\n          psVar25 = (stat64 *)"OS error";\n          puVar29 = puVar43;\n          for (iVar14 = 9; iVar14 != 0; iVar14 = iVar14 + -1) {\n            *puVar29 = (char)psVar25->st_dev;\n            psVar25 = (stat64 *)((int)psVar25 + (uint)bVar32 * -2 + 1);\n            puVar29 = puVar29 + (uint)bVar32 * -2 + 1;\n          }\n          psVar18 = local_908;\n          if (0 < (int)local_908) {\n            psVar18 = (stat64 *)sg_get_category_sense_str(local_908,0x50,puVar43,psVar8);\n          }\n          pr2serr("Read capacity(16): %s\n",puVar43,psVar18,psVar18);\n          pr2serr("Unable to calculate block size\n");\n        }\n        if (0 < (int)local_908) goto LAB_00012354;\n        goto LAB_00012ef5;\n      }\n      if (psVar8 == (stat64 *)0x0) {\n        pcVar15 = (char *)0x1;\n        uVar33 = sg_ll_readcap_10(local_930,0,0,psVar22,8,1,psVar17,psVar23);\n        psVar22 = (stat64 *)((ulonglong)uVar33 >> 0x20);\n        local_908 = (stat64 *)uVar33;\n        psVar9 = psVar23;\n        if (local_908 != (stat64 *)0x0) {\nLAB_00013444:\n          puVar43 = local_174 + 0x50;\n          psVar25 = (stat64 *)"OS error";\n          puVar29 = puVar43;\n          for (iVar14 = 9; iVar14 != 0; iVar14 = iVar14 + -1) {\n            *puVar29 = (char)psVar25->st_dev;\n            psVar25 = (stat64 *)((int)psVar25 + (uint)bVar32 * -2 + 1);\n            puVar29 = puVar29 + (uint)bVar32 * -2 + 1;\n          }\n          if (0 < (int)local_908) {\n            sg_get_category_sense_str(local_908,0x50,puVar43,psVar8);\n            pr2serr("Read capacity(10): %s\n",puVar43);\n            pr2serr("Unable to calculate block size\n");\n            goto LAB_00012354;\n          }\n          __snprintf_chk(puVar43,0x50,1,0x50,"error: %d",local_908,local_908,local_908);\n          pr2serr("Read capacity(10): %s\n",puVar43);\n          pr2serr("Unable to calculate block size\n");\n          local_908 = (stat64 *)0xf;\n          goto LAB_00012354;\n        }\n      }\n      else {\n        psVar25 = psVar22;\n        pr2serr("Read capacity(16) not supported, try Read capacity(10)\n");\n        pcVar15 = (char *)0x1;\n        uVar33 = sg_ll_readcap_10(local_930,0,0,psVar25,8,1,psVar17);\n        psVar22 = (stat64 *)((ulonglong)uVar33 >> 0x20);\n        local_908 = (stat64 *)uVar33;\n        if (local_908 != (stat64 *)0x0) goto LAB_00013444;\n        if (3 < (int)psVar8) {\n          pr2serr("Read capacity(10) response:\n");\n          psVar17 = (stat64 *)0x1;\n          pcVar15 = (char *)0x8;\n          hex2stderr(psVar25,8,1);\n          psVar22 = extraout_EDX_03;\n        }\n      }\n      local_7a8 = 0;\n      local_7ac = ((uint)local_174._0_4_ >> 0x18 | (local_174._0_4_ & 0xff0000) >> 8 |\n                   (local_174._0_4_ & 0xff00) << 8 | local_174._0_4_ << 0x18) + 1;\n      local_7d8 = (stat64 *)\n                  ((uint)local_174._4_4_ >> 0x18 | (local_174._4_4_ & 0xff0000) >> 8 |\n                   (local_174._4_4_ & 0xff00) << 8 | local_174._4_4_ << 0x18);\n    }" if (parenthesized_expression "(local_908 == (stat64 *)0x0)" ( (binary_expression "local_908 == (stat64 *)0x0" identifier == (cast_expression "(stat64 *)0x0" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      psVar17 = psVar11;\n      if (3 < (int)psVar8) {\n        pr2serr("Read capacity(16) response:\n");\n        psVar17 = (stat64 *)0x1;\n        pcVar15 = (char *)0x20;\n        hex2stderr(psVar22,0x20,1);\n      }\n      bVar1 = local_174[0xc];\n      psVar11 = (stat64 *)\n                ((uint)local_174._8_4_ >> 0x18 | (local_174._8_4_ & 0xff0000) >> 8 |\n                 (local_174._8_4_ & 0xff00) << 8 | local_174._8_4_ << 0x18);\n      uVar7 = (uint)local_174._4_4_ >> 0x18 | (local_174._4_4_ & 0xff0000) >> 8 |\n              (local_174._4_4_ & 0xff00) << 8 | local_174._4_4_ << 0x18;\n      local_7ac = uVar7 + 1;\n      local_7a8 = ((uint)local_174._0_4_ >> 0x18 | (local_174._0_4_ & 0xff0000) >> 8 |\n                   (local_174._0_4_ & 0xff00) << 8 | local_174._0_4_ << 0x18) +\n                  (uint)(0xfffffffe < uVar7);\n      psVar22 = (stat64 *)(uint)local_174[0xc];\n      local_7d8 = psVar11;\n      if ((local_174[0xc] & 1) == 0) {\n        local_7fc = 0;\n        if ((int)local_7ec < 1) goto LAB_00012305;\n        if (psVar8 != (stat64 *)0x0) {\n          pcVar15 = (char *)local_7ec;\n          psVar22 = local_7a0;\n          pr2serr("--wrprotect (%d) expects PI but %s says it has none\n",local_7ec,local_7a0,\n                  psVar11);\n          if (local_7f8 != 0) goto LAB_00012ef5;\n          pcVar13 = "  ... continue but could be dangerous\n";\n          psVar25 = (stat64 *)0x0;\n          psVar9 = psVar11;\n          goto LAB_00013516;\n        }\n        if (local_7f8 != 0) goto LAB_00012ef5;\n      }\n      else {\n        local_7fc = (local_174[0xc] >> 1 & 7) + 1;\n        psVar25 = (stat64 *)(8 << (local_174[0xd] >> 4));\n        psVar22 = (stat64 *)(uint)(local_174[0xd] >> 4);\n        if (((int)local_7ec < 1) ||\n           (local_7d4 = (stat64 *)((int)&psVar25->st_dev + (int)&psVar11->st_dev), (int)psVar8 < 2))\n        {\nLAB_00012305:\n          if (psVar8 == (stat64 *)0x0) goto LAB_00012312;\n        }\n        else {\n          pcVar13 = \n          "  For data out buffer purposes the effective block size is %u (lb size\n  is %u) because PROT_EN=1, PI_EXP=%u and WRPROTECT>0\n"\n          ;\n          pcVar15 = (char *)psVar11;\n          psVar9 = local_7d4;\nLAB_00013516:\n          pr2serr(pcVar13,pcVar15,psVar22,psVar9);\n          psVar17 = psVar22;\n        }\n        pr2serr("Read capacity(16) response fields:\n",pcVar15,psVar17,psVar9);\n        psVar25 = (stat64 *)((int)&local_7d8->st_dev + (int)&psVar25->st_dev);\n        psVar9 = extraout_ECX_06;\n        pr2serr("  Last_LBA=0x%llx  LB size: %u (with PI: %u) bytes  p_type=%u\n",local_7ac + -1,\n                local_7a8 + -1 + (uint)(local_7ac != 0),local_7d8,psVar25,local_174[0xc] >> 1 & 7,\n                extraout_ECX_06,extraout_ECX_06);\n        pr2serr("  prot_en=%u [PI type=%u] p_i_exp=%u  lbppb_exp=%u  lbpme,rz=%u,",bVar1 & 1,\n                local_7fc,local_174[0xd] >> 4,local_174[0xd] & 0xf,\n                (uint)(int)(char)local_174[0xe] >> 0x1f);\n        psVar17 = (stat64 *)\n                  ((ushort)(local_174._14_2_ << 8 | (ushort)local_174._14_2_ >> 8) & 0x3fff);\n        pcVar15 = (char *)(local_174[0xe] >> 6 & 1);\n        pr2serr("%u  low_ali_lba=%u\n",pcVar15,psVar17);\n        psVar22 = extraout_EDX_04;\n      }\n    }" { (expression_statement "psVar17 = psVar11;" (assignment_expression "psVar17 = psVar11" identifier = identifier) ;) (if_statement "if (3 < (int)psVar8) {\n        pr2serr("Read capacity(16) response:\n");\n        psVar17 = (stat64 *)0x1;\n        pcVar15 = (char *)0x20;\n        hex2stderr(psVar22,0x20,1);\n      }" if (parenthesized_expression "(3 < (int)psVar8)" ( (binary_expression "3 < (int)psVar8" number_literal < (cast_expression "(int)psVar8" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n        pr2serr("Read capacity(16) response:\n");\n        psVar17 = (stat64 *)0x1;\n        pcVar15 = (char *)0x20;\n        hex2stderr(psVar22,0x20,1);\n      }" { (expression_statement "pr2serr("Read capacity(16) response:\n");" (call_expression "pr2serr("Read capacity(16) response:\n")" identifier (argument_list "("Read capacity(16) response:\n")" ( (string_literal ""Read capacity(16) response:\n"" " string_content escape_sequence ") ))) ;) (expression_statement "psVar17 = (stat64 *)0x1;" (assignment_expression "psVar17 = (stat64 *)0x1" identifier = (cast_expression "(stat64 *)0x1" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "pcVar15 = (char *)0x20;" (assignment_expression "pcVar15 = (char *)0x20" identifier = (cast_expression "(char *)0x20" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "hex2stderr(psVar22,0x20,1);" (call_expression "hex2stderr(psVar22,0x20,1)" identifier (argument_list "(psVar22,0x20,1)" ( identifier , number_literal , number_literal ))) ;) })) (expression_statement "bVar1 = local_174[0xc];" (assignment_expression "bVar1 = local_174[0xc]" identifier = (subscript_expression "local_174[0xc]" identifier [ number_literal ])) ;) (expression_statement "psVar11 = (stat64 *)\n                ((uint)local_174._8_4_ >> 0x18 | (local_174._8_4_ & 0xff0000) >> 8 |\n                 (local_174._8_4_ & 0xff00) << 8 | local_174._8_4_ << 0x18);" (assignment_expression "psVar11 = (stat64 *)\n                ((uint)local_174._8_4_ >> 0x18 | (local_174._8_4_ & 0xff0000) >> 8 |\n                 (local_174._8_4_ & 0xff00) << 8 | local_174._8_4_ << 0x18)" identifier = (cast_expression "(stat64 *)\n                ((uint)local_174._8_4_ >> 0x18 | (local_174._8_4_ & 0xff0000) >> 8 |\n                 (local_174._8_4_ & 0xff00) << 8 | local_174._8_4_ << 0x18)" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((uint)local_174._8_4_ >> 0x18 | (local_174._8_4_ & 0xff0000) >> 8 |\n                 (local_174._8_4_ & 0xff00) << 8 | local_174._8_4_ << 0x18)" ( (binary_expression "(uint)local_174._8_4_ >> 0x18 | (local_174._8_4_ & 0xff0000) >> 8 |\n                 (local_174._8_4_ & 0xff00) << 8 | local_174._8_4_ << 0x18" (binary_expression "(uint)local_174._8_4_ >> 0x18 | (local_174._8_4_ & 0xff0000) >> 8 |\n                 (local_174._8_4_ & 0xff00) << 8" (binary_expression "(uint)local_174._8_4_ >> 0x18 | (local_174._8_4_ & 0xff0000) >> 8" (binary_expression "(uint)local_174._8_4_ >> 0x18" (cast_expression "(uint)local_174._8_4_" ( (type_descriptor "uint" type_identifier) ) (field_expression "local_174._8_4_" identifier . field_identifier)) >> number_literal) | (binary_expression "(local_174._8_4_ & 0xff0000) >> 8" (parenthesized_expression "(local_174._8_4_ & 0xff0000)" ( (binary_expression "local_174._8_4_ & 0xff0000" (field_expression "local_174._8_4_" identifier . field_identifier) & number_literal) )) >> number_literal)) | (binary_expression "(local_174._8_4_ & 0xff00) << 8" (parenthesized_expression "(local_174._8_4_ & 0xff00)" ( (binary_expression "local_174._8_4_ & 0xff00" (field_expression "local_174._8_4_" identifier . field_identifier) & number_literal) )) << number_literal)) | (binary_expression "local_174._8_4_ << 0x18" (field_expression "local_174._8_4_" identifier . field_identifier) << number_literal)) )))) ;) (expression_statement "uVar7 = (uint)local_174._4_4_ >> 0x18 | (local_174._4_4_ & 0xff0000) >> 8 |\n              (local_174._4_4_ & 0xff00) << 8 | local_174._4_4_ << 0x18;" (assignment_expression "uVar7 = (uint)local_174._4_4_ >> 0x18 | (local_174._4_4_ & 0xff0000) >> 8 |\n              (local_174._4_4_ & 0xff00) << 8 | local_174._4_4_ << 0x18" identifier = (binary_expression "(uint)local_174._4_4_ >> 0x18 | (local_174._4_4_ & 0xff0000) >> 8 |\n              (local_174._4_4_ & 0xff00) << 8 | local_174._4_4_ << 0x18" (binary_expression "(uint)local_174._4_4_ >> 0x18 | (local_174._4_4_ & 0xff0000) >> 8 |\n              (local_174._4_4_ & 0xff00) << 8" (binary_expression "(uint)local_174._4_4_ >> 0x18 | (local_174._4_4_ & 0xff0000) >> 8" (binary_expression "(uint)local_174._4_4_ >> 0x18" (cast_expression "(uint)local_174._4_4_" ( (type_descriptor "uint" type_identifier) ) (field_expression "local_174._4_4_" identifier . field_identifier)) >> number_literal) | (binary_expression "(local_174._4_4_ & 0xff0000) >> 8" (parenthesized_expression "(local_174._4_4_ & 0xff0000)" ( (binary_expression "local_174._4_4_ & 0xff0000" (field_expression "local_174._4_4_" identifier . field_identifier) & number_literal) )) >> number_literal)) | (binary_expression "(local_174._4_4_ & 0xff00) << 8" (parenthesized_expression "(local_174._4_4_ & 0xff00)" ( (binary_expression "local_174._4_4_ & 0xff00" (field_expression "local_174._4_4_" identifier . field_identifier) & number_literal) )) << number_literal)) | (binary_expression "local_174._4_4_ << 0x18" (field_expression "local_174._4_4_" identifier . field_identifier) << number_literal))) ;) (expression_statement "local_7ac = uVar7 + 1;" (assignment_expression "local_7ac = uVar7 + 1" identifier = (binary_expression "uVar7 + 1" identifier + number_literal)) ;) (expression_statement "local_7a8 = ((uint)local_174._0_4_ >> 0x18 | (local_174._0_4_ & 0xff0000) >> 8 |\n                   (local_174._0_4_ & 0xff00) << 8 | local_174._0_4_ << 0x18) +\n                  (uint)(0xfffffffe < uVar7);" (assignment_expression "local_7a8 = ((uint)local_174._0_4_ >> 0x18 | (local_174._0_4_ & 0xff0000) >> 8 |\n                   (local_174._0_4_ & 0xff00) << 8 | local_174._0_4_ << 0x18) +\n                  (uint)(0xfffffffe < uVar7)" identifier = (binary_expression "((uint)local_174._0_4_ >> 0x18 | (local_174._0_4_ & 0xff0000) >> 8 |\n                   (local_174._0_4_ & 0xff00) << 8 | local_174._0_4_ << 0x18) +\n                  (uint)(0xfffffffe < uVar7)" (parenthesized_expression "((uint)local_174._0_4_ >> 0x18 | (local_174._0_4_ & 0xff0000) >> 8 |\n                   (local_174._0_4_ & 0xff00) << 8 | local_174._0_4_ << 0x18)" ( (binary_expression "(uint)local_174._0_4_ >> 0x18 | (local_174._0_4_ & 0xff0000) >> 8 |\n                   (local_174._0_4_ & 0xff00) << 8 | local_174._0_4_ << 0x18" (binary_expression "(uint)local_174._0_4_ >> 0x18 | (local_174._0_4_ & 0xff0000) >> 8 |\n                   (local_174._0_4_ & 0xff00) << 8" (binary_expression "(uint)local_174._0_4_ >> 0x18 | (local_174._0_4_ & 0xff0000) >> 8" (binary_expression "(uint)local_174._0_4_ >> 0x18" (cast_expression "(uint)local_174._0_4_" ( (type_descriptor "uint" type_identifier) ) (field_expression "local_174._0_4_" identifier . field_identifier)) >> number_literal) | (binary_expression "(local_174._0_4_ & 0xff0000) >> 8" (parenthesized_expression "(local_174._0_4_ & 0xff0000)" ( (binary_expression "local_174._0_4_ & 0xff0000" (field_expression "local_174._0_4_" identifier . field_identifier) & number_literal) )) >> number_literal)) | (binary_expression "(local_174._0_4_ & 0xff00) << 8" (parenthesized_expression "(local_174._0_4_ & 0xff00)" ( (binary_expression "local_174._0_4_ & 0xff00" (field_expression "local_174._0_4_" identifier . field_identifier) & number_literal) )) << number_literal)) | (binary_expression "local_174._0_4_ << 0x18" (field_expression "local_174._0_4_" identifier . field_identifier) << number_literal)) )) + (call_expression "(uint)(0xfffffffe < uVar7)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(0xfffffffe < uVar7)" ( (binary_expression "0xfffffffe < uVar7" number_literal < identifier) ))))) ;) (expression_statement "psVar22 = (stat64 *)(uint)local_174[0xc];" (assignment_expression "psVar22 = (stat64 *)(uint)local_174[0xc]" identifier = (cast_expression "(stat64 *)(uint)local_174[0xc]" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) (cast_expression "(uint)local_174[0xc]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "local_174[0xc]" identifier [ number_literal ])))) ;) (expression_statement "local_7d8 = psVar11;" (assignment_expression "local_7d8 = psVar11" identifier = identifier) ;) (if_statement "if ((local_174[0xc] & 1) == 0) {\n        local_7fc = 0;\n        if ((int)local_7ec < 1) goto LAB_00012305;\n        if (psVar8 != (stat64 *)0x0) {\n          pcVar15 = (char *)local_7ec;\n          psVar22 = local_7a0;\n          pr2serr("--wrprotect (%d) expects PI but %s says it has none\n",local_7ec,local_7a0,\n                  psVar11);\n          if (local_7f8 != 0) goto LAB_00012ef5;\n          pcVar13 = "  ... continue but could be dangerous\n";\n          psVar25 = (stat64 *)0x0;\n          psVar9 = psVar11;\n          goto LAB_00013516;\n        }\n        if (local_7f8 != 0) goto LAB_00012ef5;\n      }\n      else {\n        local_7fc = (local_174[0xc] >> 1 & 7) + 1;\n        psVar25 = (stat64 *)(8 << (local_174[0xd] >> 4));\n        psVar22 = (stat64 *)(uint)(local_174[0xd] >> 4);\n        if (((int)local_7ec < 1) ||\n           (local_7d4 = (stat64 *)((int)&psVar25->st_dev + (int)&psVar11->st_dev), (int)psVar8 < 2))\n        {\nLAB_00012305:\n          if (psVar8 == (stat64 *)0x0) goto LAB_00012312;\n        }\n        else {\n          pcVar13 = \n          "  For data out buffer purposes the effective block size is %u (lb size\n  is %u) because PROT_EN=1, PI_EXP=%u and WRPROTECT>0\n"\n          ;\n          pcVar15 = (char *)psVar11;\n          psVar9 = local_7d4;\nLAB_00013516:\n          pr2serr(pcVar13,pcVar15,psVar22,psVar9);\n          psVar17 = psVar22;\n        }\n        pr2serr("Read capacity(16) response fields:\n",pcVar15,psVar17,psVar9);\n        psVar25 = (stat64 *)((int)&local_7d8->st_dev + (int)&psVar25->st_dev);\n        psVar9 = extraout_ECX_06;\n        pr2serr("  Last_LBA=0x%llx  LB size: %u (with PI: %u) bytes  p_type=%u\n",local_7ac + -1,\n                local_7a8 + -1 + (uint)(local_7ac != 0),local_7d8,psVar25,local_174[0xc] >> 1 & 7,\n                extraout_ECX_06,extraout_ECX_06);\n        pr2serr("  prot_en=%u [PI type=%u] p_i_exp=%u  lbppb_exp=%u  lbpme,rz=%u,",bVar1 & 1,\n                local_7fc,local_174[0xd] >> 4,local_174[0xd] & 0xf,\n                (uint)(int)(char)local_174[0xe] >> 0x1f);\n        psVar17 = (stat64 *)\n                  ((ushort)(local_174._14_2_ << 8 | (ushort)local_174._14_2_ >> 8) & 0x3fff);\n        pcVar15 = (char *)(local_174[0xe] >> 6 & 1);\n        pr2serr("%u  low_ali_lba=%u\n",pcVar15,psVar17);\n        psVar22 = extraout_EDX_04;\n      }" if (parenthesized_expression "((local_174[0xc] & 1) == 0)" ( (binary_expression "(local_174[0xc] & 1) == 0" (parenthesized_expression "(local_174[0xc] & 1)" ( (binary_expression "local_174[0xc] & 1" (subscript_expression "local_174[0xc]" identifier [ number_literal ]) & number_literal) )) == number_literal) )) (compound_statement "{\n        local_7fc = 0;\n        if ((int)local_7ec < 1) goto LAB_00012305;\n        if (psVar8 != (stat64 *)0x0) {\n          pcVar15 = (char *)local_7ec;\n          psVar22 = local_7a0;\n          pr2serr("--wrprotect (%d) expects PI but %s says it has none\n",local_7ec,local_7a0,\n                  psVar11);\n          if (local_7f8 != 0) goto LAB_00012ef5;\n          pcVar13 = "  ... continue but could be dangerous\n";\n          psVar25 = (stat64 *)0x0;\n          psVar9 = psVar11;\n          goto LAB_00013516;\n        }\n        if (local_7f8 != 0) goto LAB_00012ef5;\n      }" { (expression_statement "local_7fc = 0;" (assignment_expression "local_7fc = 0" identifier = number_literal) ;) (if_statement "if ((int)local_7ec < 1) goto LAB_00012305;" if (parenthesized_expression "((int)local_7ec < 1)" ( (binary_expression "(int)local_7ec < 1" (cast_expression "(int)local_7ec" ( (type_descriptor "int" primitive_type) ) identifier) < number_literal) )) (goto_statement "goto LAB_00012305;" goto statement_identifier ;)) (if_statement "if (psVar8 != (stat64 *)0x0) {\n          pcVar15 = (char *)local_7ec;\n          psVar22 = local_7a0;\n          pr2serr("--wrprotect (%d) expects PI but %s says it has none\n",local_7ec,local_7a0,\n                  psVar11);\n          if (local_7f8 != 0) goto LAB_00012ef5;\n          pcVar13 = "  ... continue but could be dangerous\n";\n          psVar25 = (stat64 *)0x0;\n          psVar9 = psVar11;\n          goto LAB_00013516;\n        }" if (parenthesized_expression "(psVar8 != (stat64 *)0x0)" ( (binary_expression "psVar8 != (stat64 *)0x0" identifier != (cast_expression "(stat64 *)0x0" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n          pcVar15 = (char *)local_7ec;\n          psVar22 = local_7a0;\n          pr2serr("--wrprotect (%d) expects PI but %s says it has none\n",local_7ec,local_7a0,\n                  psVar11);\n          if (local_7f8 != 0) goto LAB_00012ef5;\n          pcVar13 = "  ... continue but could be dangerous\n";\n          psVar25 = (stat64 *)0x0;\n          psVar9 = psVar11;\n          goto LAB_00013516;\n        }" { (expression_statement "pcVar15 = (char *)local_7ec;" (assignment_expression "pcVar15 = (char *)local_7ec" identifier = (cast_expression "(char *)local_7ec" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "psVar22 = local_7a0;" (assignment_expression "psVar22 = local_7a0" identifier = identifier) ;) (expression_statement "pr2serr("--wrprotect (%d) expects PI but %s says it has none\n",local_7ec,local_7a0,\n                  psVar11);" (call_expression "pr2serr("--wrprotect (%d) expects PI but %s says it has none\n",local_7ec,local_7a0,\n                  psVar11)" identifier (argument_list "("--wrprotect (%d) expects PI but %s says it has none\n",local_7ec,local_7a0,\n                  psVar11)" ( (string_literal ""--wrprotect (%d) expects PI but %s says it has none\n"" " string_content escape_sequence ") , identifier , identifier , identifier ))) ;) (if_statement "if (local_7f8 != 0) goto LAB_00012ef5;" if (parenthesized_expression "(local_7f8 != 0)" ( (binary_expression "local_7f8 != 0" identifier != number_literal) )) (goto_statement "goto LAB_00012ef5;" goto statement_identifier ;)) (expression_statement "pcVar13 = "  ... continue but could be dangerous\n";" (assignment_expression "pcVar13 = "  ... continue but could be dangerous\n"" identifier = (string_literal ""  ... continue but could be dangerous\n"" " string_content escape_sequence ")) ;) (expression_statement "psVar25 = (stat64 *)0x0;" (assignment_expression "psVar25 = (stat64 *)0x0" identifier = (cast_expression "(stat64 *)0x0" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "psVar9 = psVar11;" (assignment_expression "psVar9 = psVar11" identifier = identifier) ;) (goto_statement "goto LAB_00013516;" goto statement_identifier ;) })) (if_statement "if (local_7f8 != 0) goto LAB_00012ef5;" if (parenthesized_expression "(local_7f8 != 0)" ( (binary_expression "local_7f8 != 0" identifier != number_literal) )) (goto_statement "goto LAB_00012ef5;" goto statement_identifier ;)) }) (else_clause "else {\n        local_7fc = (local_174[0xc] >> 1 & 7) + 1;\n        psVar25 = (stat64 *)(8 << (local_174[0xd] >> 4));\n        psVar22 = (stat64 *)(uint)(local_174[0xd] >> 4);\n        if (((int)local_7ec < 1) ||\n           (local_7d4 = (stat64 *)((int)&psVar25->st_dev + (int)&psVar11->st_dev), (int)psVar8 < 2))\n        {\nLAB_00012305:\n          if (psVar8 == (stat64 *)0x0) goto LAB_00012312;\n        }\n        else {\n          pcVar13 = \n          "  For data out buffer purposes the effective block size is %u (lb size\n  is %u) because PROT_EN=1, PI_EXP=%u and WRPROTECT>0\n"\n          ;\n          pcVar15 = (char *)psVar11;\n          psVar9 = local_7d4;\nLAB_00013516:\n          pr2serr(pcVar13,pcVar15,psVar22,psVar9);\n          psVar17 = psVar22;\n        }\n        pr2serr("Read capacity(16) response fields:\n",pcVar15,psVar17,psVar9);\n        psVar25 = (stat64 *)((int)&local_7d8->st_dev + (int)&psVar25->st_dev);\n        psVar9 = extraout_ECX_06;\n        pr2serr("  Last_LBA=0x%llx  LB size: %u (with PI: %u) bytes  p_type=%u\n",local_7ac + -1,\n                local_7a8 + -1 + (uint)(local_7ac != 0),local_7d8,psVar25,local_174[0xc] >> 1 & 7,\n                extraout_ECX_06,extraout_ECX_06);\n        pr2serr("  prot_en=%u [PI type=%u] p_i_exp=%u  lbppb_exp=%u  lbpme,rz=%u,",bVar1 & 1,\n                local_7fc,local_174[0xd] >> 4,local_174[0xd] & 0xf,\n                (uint)(int)(char)local_174[0xe] >> 0x1f);\n        psVar17 = (stat64 *)\n                  ((ushort)(local_174._14_2_ << 8 | (ushort)local_174._14_2_ >> 8) & 0x3fff);\n        pcVar15 = (char *)(local_174[0xe] >> 6 & 1);\n        pr2serr("%u  low_ali_lba=%u\n",pcVar15,psVar17);\n        psVar22 = extraout_EDX_04;\n      }" else (compound_statement "{\n        local_7fc = (local_174[0xc] >> 1 & 7) + 1;\n        psVar25 = (stat64 *)(8 << (local_174[0xd] >> 4));\n        psVar22 = (stat64 *)(uint)(local_174[0xd] >> 4);\n        if (((int)local_7ec < 1) ||\n           (local_7d4 = (stat64 *)((int)&psVar25->st_dev + (int)&psVar11->st_dev), (int)psVar8 < 2))\n        {\nLAB_00012305:\n          if (psVar8 == (stat64 *)0x0) goto LAB_00012312;\n        }\n        else {\n          pcVar13 = \n          "  For data out buffer purposes the effective block size is %u (lb size\n  is %u) because PROT_EN=1, PI_EXP=%u and WRPROTECT>0\n"\n          ;\n          pcVar15 = (char *)psVar11;\n          psVar9 = local_7d4;\nLAB_00013516:\n          pr2serr(pcVar13,pcVar15,psVar22,psVar9);\n          psVar17 = psVar22;\n        }\n        pr2serr("Read capacity(16) response fields:\n",pcVar15,psVar17,psVar9);\n        psVar25 = (stat64 *)((int)&local_7d8->st_dev + (int)&psVar25->st_dev);\n        psVar9 = extraout_ECX_06;\n        pr2serr("  Last_LBA=0x%llx  LB size: %u (with PI: %u) bytes  p_type=%u\n",local_7ac + -1,\n                local_7a8 + -1 + (uint)(local_7ac != 0),local_7d8,psVar25,local_174[0xc] >> 1 & 7,\n                extraout_ECX_06,extraout_ECX_06);\n        pr2serr("  prot_en=%u [PI type=%u] p_i_exp=%u  lbppb_exp=%u  lbpme,rz=%u,",bVar1 & 1,\n                local_7fc,local_174[0xd] >> 4,local_174[0xd] & 0xf,\n                (uint)(int)(char)local_174[0xe] >> 0x1f);\n        psVar17 = (stat64 *)\n                  ((ushort)(local_174._14_2_ << 8 | (ushort)local_174._14_2_ >> 8) & 0x3fff);\n        pcVar15 = (char *)(local_174[0xe] >> 6 & 1);\n        pr2serr("%u  low_ali_lba=%u\n",pcVar15,psVar17);\n        psVar22 = extraout_EDX_04;\n      }" { (expression_statement "local_7fc = (local_174[0xc] >> 1 & 7) + 1;" (assignment_expression "local_7fc = (local_174[0xc] >> 1 & 7) + 1" identifier = (binary_expression "(local_174[0xc] >> 1 & 7) + 1" (parenthesized_expression "(local_174[0xc] >> 1 & 7)" ( (binary_expression "local_174[0xc] >> 1 & 7" (binary_expression "local_174[0xc] >> 1" (subscript_expression "local_174[0xc]" identifier [ number_literal ]) >> number_literal) & number_literal) )) + number_literal)) ;) (expression_statement "psVar25 = (stat64 *)(8 << (local_174[0xd] >> 4));" (assignment_expression "psVar25 = (stat64 *)(8 << (local_174[0xd] >> 4))" identifier = (cast_expression "(stat64 *)(8 << (local_174[0xd] >> 4))" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(8 << (local_174[0xd] >> 4))" ( (binary_expression "8 << (local_174[0xd] >> 4)" number_literal << (parenthesized_expression "(local_174[0xd] >> 4)" ( (binary_expression "local_174[0xd] >> 4" (subscript_expression "local_174[0xd]" identifier [ number_literal ]) >> number_literal) ))) )))) ;) (expression_statement "psVar22 = (stat64 *)(uint)(local_174[0xd] >> 4);" (assignment_expression "psVar22 = (stat64 *)(uint)(local_174[0xd] >> 4)" identifier = (cast_expression "(stat64 *)(uint)(local_174[0xd] >> 4)" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(uint)(local_174[0xd] >> 4)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(local_174[0xd] >> 4)" ( (binary_expression "local_174[0xd] >> 4" (subscript_expression "local_174[0xd]" identifier [ number_literal ]) >> number_literal) ))))) ;) (if_statement "if (((int)local_7ec < 1) ||\n           (local_7d4 = (stat64 *)((int)&psVar25->st_dev + (int)&psVar11->st_dev), (int)psVar8 < 2))\n        {\nLAB_00012305:\n          if (psVar8 == (stat64 *)0x0) goto LAB_00012312;\n        }\n        else {\n          pcVar13 = \n          "  For data out buffer purposes the effective block size is %u (lb size\n  is %u) because PROT_EN=1, PI_EXP=%u and WRPROTECT>0\n"\n          ;\n          pcVar15 = (char *)psVar11;\n          psVar9 = local_7d4;\nLAB_00013516:\n          pr2serr(pcVar13,pcVar15,psVar22,psVar9);\n          psVar17 = psVar22;\n        }" if (parenthesized_expression "(((int)local_7ec < 1) ||\n           (local_7d4 = (stat64 *)((int)&psVar25->st_dev + (int)&psVar11->st_dev), (int)psVar8 < 2))" ( (binary_expression "((int)local_7ec < 1) ||\n           (local_7d4 = (stat64 *)((int)&psVar25->st_dev + (int)&psVar11->st_dev), (int)psVar8 < 2)" (parenthesized_expression "((int)local_7ec < 1)" ( (binary_expression "(int)local_7ec < 1" (cast_expression "(int)local_7ec" ( (type_descriptor "int" primitive_type) ) identifier) < number_literal) )) || (parenthesized_expression "(local_7d4 = (stat64 *)((int)&psVar25->st_dev + (int)&psVar11->st_dev), (int)psVar8 < 2)" ( (comma_expression "local_7d4 = (stat64 *)((int)&psVar25->st_dev + (int)&psVar11->st_dev), (int)psVar8 < 2" (assignment_expression "local_7d4 = (stat64 *)((int)&psVar25->st_dev + (int)&psVar11->st_dev)" identifier = (cast_expression "(stat64 *)((int)&psVar25->st_dev + (int)&psVar11->st_dev)" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&psVar25->st_dev + (int)&psVar11->st_dev)" ( (binary_expression "(int)&psVar25->st_dev + (int)&psVar11->st_dev" (cast_expression "(int)&psVar25->st_dev" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&psVar25->st_dev" & (field_expression "psVar25->st_dev" identifier -> field_identifier))) + (cast_expression "(int)&psVar11->st_dev" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&psVar11->st_dev" & (field_expression "psVar11->st_dev" identifier -> field_identifier)))) )))) , (binary_expression "(int)psVar8 < 2" (cast_expression "(int)psVar8" ( (type_descriptor "int" primitive_type) ) identifier) < number_literal)) ))) )) (compound_statement "{\nLAB_00012305:\n          if (psVar8 == (stat64 *)0x0) goto LAB_00012312;\n        }" { (labeled_statement "LAB_00012305:\n          if (psVar8 == (stat64 *)0x0) goto LAB_00012312;" statement_identifier : (if_statement "if (psVar8 == (stat64 *)0x0) goto LAB_00012312;" if (parenthesized_expression "(psVar8 == (stat64 *)0x0)" ( (binary_expression "psVar8 == (stat64 *)0x0" identifier == (cast_expression "(stat64 *)0x0" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_00012312;" goto statement_identifier ;))) }) (else_clause "else {\n          pcVar13 = \n          "  For data out buffer purposes the effective block size is %u (lb size\n  is %u) because PROT_EN=1, PI_EXP=%u and WRPROTECT>0\n"\n          ;\n          pcVar15 = (char *)psVar11;\n          psVar9 = local_7d4;\nLAB_00013516:\n          pr2serr(pcVar13,pcVar15,psVar22,psVar9);\n          psVar17 = psVar22;\n        }" else (compound_statement "{\n          pcVar13 = \n          "  For data out buffer purposes the effective block size is %u (lb size\n  is %u) because PROT_EN=1, PI_EXP=%u and WRPROTECT>0\n"\n          ;\n          pcVar15 = (char *)psVar11;\n          psVar9 = local_7d4;\nLAB_00013516:\n          pr2serr(pcVar13,pcVar15,psVar22,psVar9);\n          psVar17 = psVar22;\n        }" { (expression_statement "pcVar13 = \n          "  For data out buffer purposes the effective block size is %u (lb size\n  is %u) because PROT_EN=1, PI_EXP=%u and WRPROTECT>0\n"\n          ;" (assignment_expression "pcVar13 = \n          "  For data out buffer purposes the effective block size is %u (lb size\n  is %u) because PROT_EN=1, PI_EXP=%u and WRPROTECT>0\n"" identifier = (string_literal ""  For data out buffer purposes the effective block size is %u (lb size\n  is %u) because PROT_EN=1, PI_EXP=%u and WRPROTECT>0\n"" " string_content escape_sequence string_content escape_sequence ")) ;) (expression_statement "pcVar15 = (char *)psVar11;" (assignment_expression "pcVar15 = (char *)psVar11" identifier = (cast_expression "(char *)psVar11" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "psVar9 = local_7d4;" (assignment_expression "psVar9 = local_7d4" identifier = identifier) ;) (labeled_statement "LAB_00013516:\n          pr2serr(pcVar13,pcVar15,psVar22,psVar9);" statement_identifier : (expression_statement "pr2serr(pcVar13,pcVar15,psVar22,psVar9);" (call_expression "pr2serr(pcVar13,pcVar15,psVar22,psVar9)" identifier (argument_list "(pcVar13,pcVar15,psVar22,psVar9)" ( identifier , identifier , identifier , identifier ))) ;)) (expression_statement "psVar17 = psVar22;" (assignment_expression "psVar17 = psVar22" identifier = identifier) ;) }))) (expression_statement "pr2serr("Read capacity(16) response fields:\n",pcVar15,psVar17,psVar9);" (call_expression "pr2serr("Read capacity(16) response fields:\n",pcVar15,psVar17,psVar9)" identifier (argument_list "("Read capacity(16) response fields:\n",pcVar15,psVar17,psVar9)" ( (string_literal ""Read capacity(16) response fields:\n"" " string_content escape_sequence ") , identifier , identifier , identifier ))) ;) (expression_statement "psVar25 = (stat64 *)((int)&local_7d8->st_dev + (int)&psVar25->st_dev);" (assignment_expression "psVar25 = (stat64 *)((int)&local_7d8->st_dev + (int)&psVar25->st_dev)" identifier = (cast_expression "(stat64 *)((int)&local_7d8->st_dev + (int)&psVar25->st_dev)" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&local_7d8->st_dev + (int)&psVar25->st_dev)" ( (binary_expression "(int)&local_7d8->st_dev + (int)&psVar25->st_dev" (cast_expression "(int)&local_7d8->st_dev" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&local_7d8->st_dev" & (field_expression "local_7d8->st_dev" identifier -> field_identifier))) + (cast_expression "(int)&psVar25->st_dev" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&psVar25->st_dev" & (field_expression "psVar25->st_dev" identifier -> field_identifier)))) )))) ;) (expression_statement "psVar9 = extraout_ECX_06;" (assignment_expression "psVar9 = extraout_ECX_06" identifier = identifier) ;) (expression_statement "pr2serr("  Last_LBA=0x%llx  LB size: %u (with PI: %u) bytes  p_type=%u\n",local_7ac + -1,\n                local_7a8 + -1 + (uint)(local_7ac != 0),local_7d8,psVar25,local_174[0xc] >> 1 & 7,\n                extraout_ECX_06,extraout_ECX_06);" (call_expression "pr2serr("  Last_LBA=0x%llx  LB size: %u (with PI: %u) bytes  p_type=%u\n",local_7ac + -1,\n                local_7a8 + -1 + (uint)(local_7ac != 0),local_7d8,psVar25,local_174[0xc] >> 1 & 7,\n                extraout_ECX_06,extraout_ECX_06)" identifier (argument_list "("  Last_LBA=0x%llx  LB size: %u (with PI: %u) bytes  p_type=%u\n",local_7ac + -1,\n                local_7a8 + -1 + (uint)(local_7ac != 0),local_7d8,psVar25,local_174[0xc] >> 1 & 7,\n                extraout_ECX_06,extraout_ECX_06)" ( (string_literal ""  Last_LBA=0x%llx  LB size: %u (with PI: %u) bytes  p_type=%u\n"" " string_content escape_sequence ") , (binary_expression "local_7ac + -1" identifier + number_literal) , (binary_expression "local_7a8 + -1 + (uint)(local_7ac != 0)" (binary_expression "local_7a8 + -1" identifier + number_literal) + (call_expression "(uint)(local_7ac != 0)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(local_7ac != 0)" ( (binary_expression "local_7ac != 0" identifier != number_literal) )))) , identifier , identifier , (binary_expression "local_174[0xc] >> 1 & 7" (binary_expression "local_174[0xc] >> 1" (subscript_expression "local_174[0xc]" identifier [ number_literal ]) >> number_literal) & number_literal) , identifier , identifier ))) ;) (expression_statement "pr2serr("  prot_en=%u [PI type=%u] p_i_exp=%u  lbppb_exp=%u  lbpme,rz=%u,",bVar1 & 1,\n                local_7fc,local_174[0xd] >> 4,local_174[0xd] & 0xf,\n                (uint)(int)(char)local_174[0xe] >> 0x1f);" (call_expression "pr2serr("  prot_en=%u [PI type=%u] p_i_exp=%u  lbppb_exp=%u  lbpme,rz=%u,",bVar1 & 1,\n                local_7fc,local_174[0xd] >> 4,local_174[0xd] & 0xf,\n                (uint)(int)(char)local_174[0xe] >> 0x1f)" identifier (argument_list "("  prot_en=%u [PI type=%u] p_i_exp=%u  lbppb_exp=%u  lbpme,rz=%u,",bVar1 & 1,\n                local_7fc,local_174[0xd] >> 4,local_174[0xd] & 0xf,\n                (uint)(int)(char)local_174[0xe] >> 0x1f)" ( (string_literal ""  prot_en=%u [PI type=%u] p_i_exp=%u  lbppb_exp=%u  lbpme,rz=%u,"" " string_content ") , (binary_expression "bVar1 & 1" identifier & number_literal) , identifier , (binary_expression "local_174[0xd] >> 4" (subscript_expression "local_174[0xd]" identifier [ number_literal ]) >> number_literal) , (binary_expression "local_174[0xd] & 0xf" (subscript_expression "local_174[0xd]" identifier [ number_literal ]) & number_literal) , (binary_expression "(uint)(int)(char)local_174[0xe] >> 0x1f" (cast_expression "(uint)(int)(char)local_174[0xe]" ( (type_descriptor "uint" type_identifier) ) (cast_expression "(int)(char)local_174[0xe]" ( (type_descriptor "int" primitive_type) ) (cast_expression "(char)local_174[0xe]" ( (type_descriptor "char" primitive_type) ) (subscript_expression "local_174[0xe]" identifier [ number_literal ])))) >> number_literal) ))) ;) (expression_statement "psVar17 = (stat64 *)\n                  ((ushort)(local_174._14_2_ << 8 | (ushort)local_174._14_2_ >> 8) & 0x3fff);" (assignment_expression "psVar17 = (stat64 *)\n                  ((ushort)(local_174._14_2_ << 8 | (ushort)local_174._14_2_ >> 8) & 0x3fff)" identifier = (cast_expression "(stat64 *)\n                  ((ushort)(local_174._14_2_ << 8 | (ushort)local_174._14_2_ >> 8) & 0x3fff)" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((ushort)(local_174._14_2_ << 8 | (ushort)local_174._14_2_ >> 8) & 0x3fff)" ( (binary_expression "(ushort)(local_174._14_2_ << 8 | (ushort)local_174._14_2_ >> 8) & 0x3fff" (call_expression "(ushort)(local_174._14_2_ << 8 | (ushort)local_174._14_2_ >> 8)" (parenthesized_expression "(ushort)" ( identifier )) (argument_list "(local_174._14_2_ << 8 | (ushort)local_174._14_2_ >> 8)" ( (binary_expression "local_174._14_2_ << 8 | (ushort)local_174._14_2_ >> 8" (binary_expression "local_174._14_2_ << 8" (field_expression "local_174._14_2_" identifier . field_identifier) << number_literal) | (binary_expression "(ushort)local_174._14_2_ >> 8" (cast_expression "(ushort)local_174._14_2_" ( (type_descriptor "ushort" type_identifier) ) (field_expression "local_174._14_2_" identifier . field_identifier)) >> number_literal)) ))) & number_literal) )))) ;) (expression_statement "pcVar15 = (char *)(local_174[0xe] >> 6 & 1);" (assignment_expression "pcVar15 = (char *)(local_174[0xe] >> 6 & 1)" identifier = (cast_expression "(char *)(local_174[0xe] >> 6 & 1)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_174[0xe] >> 6 & 1)" ( (binary_expression "local_174[0xe] >> 6 & 1" (binary_expression "local_174[0xe] >> 6" (subscript_expression "local_174[0xe]" identifier [ number_literal ]) >> number_literal) & number_literal) )))) ;) (expression_statement "pr2serr("%u  low_ali_lba=%u\n",pcVar15,psVar17);" (call_expression "pr2serr("%u  low_ali_lba=%u\n",pcVar15,psVar17)" identifier (argument_list "("%u  low_ali_lba=%u\n",pcVar15,psVar17)" ( (string_literal ""%u  low_ali_lba=%u\n"" " string_content escape_sequence ") , identifier , identifier ))) ;) (expression_statement "psVar22 = extraout_EDX_04;" (assignment_expression "psVar22 = extraout_EDX_04" identifier = identifier) ;) }))) }) (else_clause "else {\n      if (((int)local_908 - 5U & 0xfffffffb) != 0) {\n        if (psVar8 != (stat64 *)0x0) {\n          puVar43 = local_174 + 0x50;\n          psVar25 = (stat64 *)"OS error";\n          puVar29 = puVar43;\n          for (iVar14 = 9; iVar14 != 0; iVar14 = iVar14 + -1) {\n            *puVar29 = (char)psVar25->st_dev;\n            psVar25 = (stat64 *)((int)psVar25 + (uint)bVar32 * -2 + 1);\n            puVar29 = puVar29 + (uint)bVar32 * -2 + 1;\n          }\n          psVar18 = local_908;\n          if (0 < (int)local_908) {\n            psVar18 = (stat64 *)sg_get_category_sense_str(local_908,0x50,puVar43,psVar8);\n          }\n          pr2serr("Read capacity(16): %s\n",puVar43,psVar18,psVar18);\n          pr2serr("Unable to calculate block size\n");\n        }\n        if (0 < (int)local_908) goto LAB_00012354;\n        goto LAB_00012ef5;\n      }\n      if (psVar8 == (stat64 *)0x0) {\n        pcVar15 = (char *)0x1;\n        uVar33 = sg_ll_readcap_10(local_930,0,0,psVar22,8,1,psVar17,psVar23);\n        psVar22 = (stat64 *)((ulonglong)uVar33 >> 0x20);\n        local_908 = (stat64 *)uVar33;\n        psVar9 = psVar23;\n        if (local_908 != (stat64 *)0x0) {\nLAB_00013444:\n          puVar43 = local_174 + 0x50;\n          psVar25 = (stat64 *)"OS error";\n          puVar29 = puVar43;\n          for (iVar14 = 9; iVar14 != 0; iVar14 = iVar14 + -1) {\n            *puVar29 = (char)psVar25->st_dev;\n            psVar25 = (stat64 *)((int)psVar25 + (uint)bVar32 * -2 + 1);\n            puVar29 = puVar29 + (uint)bVar32 * -2 + 1;\n          }\n          if (0 < (int)local_908) {\n            sg_get_category_sense_str(local_908,0x50,puVar43,psVar8);\n            pr2serr("Read capacity(10): %s\n",puVar43);\n            pr2serr("Unable to calculate block size\n");\n            goto LAB_00012354;\n          }\n          __snprintf_chk(puVar43,0x50,1,0x50,"error: %d",local_908,local_908,local_908);\n          pr2serr("Read capacity(10): %s\n",puVar43);\n          pr2serr("Unable to calculate block size\n");\n          local_908 = (stat64 *)0xf;\n          goto LAB_00012354;\n        }\n      }\n      else {\n        psVar25 = psVar22;\n        pr2serr("Read capacity(16) not supported, try Read capacity(10)\n");\n        pcVar15 = (char *)0x1;\n        uVar33 = sg_ll_readcap_10(local_930,0,0,psVar25,8,1,psVar17);\n        psVar22 = (stat64 *)((ulonglong)uVar33 >> 0x20);\n        local_908 = (stat64 *)uVar33;\n        if (local_908 != (stat64 *)0x0) goto LAB_00013444;\n        if (3 < (int)psVar8) {\n          pr2serr("Read capacity(10) response:\n");\n          psVar17 = (stat64 *)0x1;\n          pcVar15 = (char *)0x8;\n          hex2stderr(psVar25,8,1);\n          psVar22 = extraout_EDX_03;\n        }\n      }\n      local_7a8 = 0;\n      local_7ac = ((uint)local_174._0_4_ >> 0x18 | (local_174._0_4_ & 0xff0000) >> 8 |\n                   (local_174._0_4_ & 0xff00) << 8 | local_174._0_4_ << 0x18) + 1;\n      local_7d8 = (stat64 *)\n                  ((uint)local_174._4_4_ >> 0x18 | (local_174._4_4_ & 0xff0000) >> 8 |\n                   (local_174._4_4_ & 0xff00) << 8 | local_174._4_4_ << 0x18);\n    }" else (compound_statement "{\n      if (((int)local_908 - 5U & 0xfffffffb) != 0) {\n        if (psVar8 != (stat64 *)0x0) {\n          puVar43 = local_174 + 0x50;\n          psVar25 = (stat64 *)"OS error";\n          puVar29 = puVar43;\n          for (iVar14 = 9; iVar14 != 0; iVar14 = iVar14 + -1) {\n            *puVar29 = (char)psVar25->st_dev;\n            psVar25 = (stat64 *)((int)psVar25 + (uint)bVar32 * -2 + 1);\n            puVar29 = puVar29 + (uint)bVar32 * -2 + 1;\n          }\n          psVar18 = local_908;\n          if (0 < (int)local_908) {\n            psVar18 = (stat64 *)sg_get_category_sense_str(local_908,0x50,puVar43,psVar8);\n          }\n          pr2serr("Read capacity(16): %s\n",puVar43,psVar18,psVar18);\n          pr2serr("Unable to calculate block size\n");\n        }\n        if (0 < (int)local_908) goto LAB_00012354;\n        goto LAB_00012ef5;\n      }\n      if (psVar8 == (stat64 *)0x0) {\n        pcVar15 = (char *)0x1;\n        uVar33 = sg_ll_readcap_10(local_930,0,0,psVar22,8,1,psVar17,psVar23);\n        psVar22 = (stat64 *)((ulonglong)uVar33 >> 0x20);\n        local_908 = (stat64 *)uVar33;\n        psVar9 = psVar23;\n        if (local_908 != (stat64 *)0x0) {\nLAB_00013444:\n          puVar43 = local_174 + 0x50;\n          psVar25 = (stat64 *)"OS error";\n          puVar29 = puVar43;\n          for (iVar14 = 9; iVar14 != 0; iVar14 = iVar14 + -1) {\n            *puVar29 = (char)psVar25->st_dev;\n            psVar25 = (stat64 *)((int)psVar25 + (uint)bVar32 * -2 + 1);\n            puVar29 = puVar29 + (uint)bVar32 * -2 + 1;\n          }\n          if (0 < (int)local_908) {\n            sg_get_category_sense_str(local_908,0x50,puVar43,psVar8);\n            pr2serr("Read capacity(10): %s\n",puVar43);\n            pr2serr("Unable to calculate block size\n");\n            goto LAB_00012354;\n          }\n          __snprintf_chk(puVar43,0x50,1,0x50,"error: %d",local_908,local_908,local_908);\n          pr2serr("Read capacity(10): %s\n",puVar43);\n          pr2serr("Unable to calculate block size\n");\n          local_908 = (stat64 *)0xf;\n          goto LAB_00012354;\n        }\n      }\n      else {\n        psVar25 = psVar22;\n        pr2serr("Read capacity(16) not supported, try Read capacity(10)\n");\n        pcVar15 = (char *)0x1;\n        uVar33 = sg_ll_readcap_10(local_930,0,0,psVar25,8,1,psVar17);\n        psVar22 = (stat64 *)((ulonglong)uVar33 >> 0x20);\n        local_908 = (stat64 *)uVar33;\n        if (local_908 != (stat64 *)0x0) goto LAB_00013444;\n        if (3 < (int)psVar8) {\n          pr2serr("Read capacity(10) response:\n");\n          psVar17 = (stat64 *)0x1;\n          pcVar15 = (char *)0x8;\n          hex2stderr(psVar25,8,1);\n          psVar22 = extraout_EDX_03;\n        }\n      }\n      local_7a8 = 0;\n      local_7ac = ((uint)local_174._0_4_ >> 0x18 | (local_174._0_4_ & 0xff0000) >> 8 |\n                   (local_174._0_4_ & 0xff00) << 8 | local_174._0_4_ << 0x18) + 1;\n      local_7d8 = (stat64 *)\n                  ((uint)local_174._4_4_ >> 0x18 | (local_174._4_4_ & 0xff0000) >> 8 |\n                   (local_174._4_4_ & 0xff00) << 8 | local_174._4_4_ << 0x18);\n    }" { (if_statement "if (((int)local_908 - 5U & 0xfffffffb) != 0) {\n        if (psVar8 != (stat64 *)0x0) {\n          puVar43 = local_174 + 0x50;\n          psVar25 = (stat64 *)"OS error";\n          puVar29 = puVar43;\n          for (iVar14 = 9; iVar14 != 0; iVar14 = iVar14 + -1) {\n            *puVar29 = (char)psVar25->st_dev;\n            psVar25 = (stat64 *)((int)psVar25 + (uint)bVar32 * -2 + 1);\n            puVar29 = puVar29 + (uint)bVar32 * -2 + 1;\n          }\n          psVar18 = local_908;\n          if (0 < (int)local_908) {\n            psVar18 = (stat64 *)sg_get_category_sense_str(local_908,0x50,puVar43,psVar8);\n          }\n          pr2serr("Read capacity(16): %s\n",puVar43,psVar18,psVar18);\n          pr2serr("Unable to calculate block size\n");\n        }\n        if (0 < (int)local_908) goto LAB_00012354;\n        goto LAB_00012ef5;\n      }" if (parenthesized_expression "(((int)local_908 - 5U & 0xfffffffb) != 0)" ( (binary_expression "((int)local_908 - 5U & 0xfffffffb) != 0" (parenthesized_expression "((int)local_908 - 5U & 0xfffffffb)" ( (binary_expression "(int)local_908 - 5U & 0xfffffffb" (binary_expression "(int)local_908 - 5U" (cast_expression "(int)local_908" ( (type_descriptor "int" primitive_type) ) identifier) - number_literal) & number_literal) )) != number_literal) )) (compound_statement "{\n        if (psVar8 != (stat64 *)0x0) {\n          puVar43 = local_174 + 0x50;\n          psVar25 = (stat64 *)"OS error";\n          puVar29 = puVar43;\n          for (iVar14 = 9; iVar14 != 0; iVar14 = iVar14 + -1) {\n            *puVar29 = (char)psVar25->st_dev;\n            psVar25 = (stat64 *)((int)psVar25 + (uint)bVar32 * -2 + 1);\n            puVar29 = puVar29 + (uint)bVar32 * -2 + 1;\n          }\n          psVar18 = local_908;\n          if (0 < (int)local_908) {\n            psVar18 = (stat64 *)sg_get_category_sense_str(local_908,0x50,puVar43,psVar8);\n          }\n          pr2serr("Read capacity(16): %s\n",puVar43,psVar18,psVar18);\n          pr2serr("Unable to calculate block size\n");\n        }\n        if (0 < (int)local_908) goto LAB_00012354;\n        goto LAB_00012ef5;\n      }" { (if_statement "if (psVar8 != (stat64 *)0x0) {\n          puVar43 = local_174 + 0x50;\n          psVar25 = (stat64 *)"OS error";\n          puVar29 = puVar43;\n          for (iVar14 = 9; iVar14 != 0; iVar14 = iVar14 + -1) {\n            *puVar29 = (char)psVar25->st_dev;\n            psVar25 = (stat64 *)((int)psVar25 + (uint)bVar32 * -2 + 1);\n            puVar29 = puVar29 + (uint)bVar32 * -2 + 1;\n          }\n          psVar18 = local_908;\n          if (0 < (int)local_908) {\n            psVar18 = (stat64 *)sg_get_category_sense_str(local_908,0x50,puVar43,psVar8);\n          }\n          pr2serr("Read capacity(16): %s\n",puVar43,psVar18,psVar18);\n          pr2serr("Unable to calculate block size\n");\n        }" if (parenthesized_expression "(psVar8 != (stat64 *)0x0)" ( (binary_expression "psVar8 != (stat64 *)0x0" identifier != (cast_expression "(stat64 *)0x0" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n          puVar43 = local_174 + 0x50;\n          psVar25 = (stat64 *)"OS error";\n          puVar29 = puVar43;\n          for (iVar14 = 9; iVar14 != 0; iVar14 = iVar14 + -1) {\n            *puVar29 = (char)psVar25->st_dev;\n            psVar25 = (stat64 *)((int)psVar25 + (uint)bVar32 * -2 + 1);\n            puVar29 = puVar29 + (uint)bVar32 * -2 + 1;\n          }\n          psVar18 = local_908;\n          if (0 < (int)local_908) {\n            psVar18 = (stat64 *)sg_get_category_sense_str(local_908,0x50,puVar43,psVar8);\n          }\n          pr2serr("Read capacity(16): %s\n",puVar43,psVar18,psVar18);\n          pr2serr("Unable to calculate block size\n");\n        }" { (expression_statement "puVar43 = local_174 + 0x50;" (assignment_expression "puVar43 = local_174 + 0x50" identifier = (binary_expression "local_174 + 0x50" identifier + number_literal)) ;) (expression_statement "psVar25 = (stat64 *)"OS error";" (assignment_expression "psVar25 = (stat64 *)"OS error"" identifier = (cast_expression "(stat64 *)"OS error"" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) (string_literal ""OS error"" " string_content "))) ;) (expression_statement "puVar29 = puVar43;" (assignment_expression "puVar29 = puVar43" identifier = identifier) ;) (for_statement "for (iVar14 = 9; iVar14 != 0; iVar14 = iVar14 + -1) {\n            *puVar29 = (char)psVar25->st_dev;\n            psVar25 = (stat64 *)((int)psVar25 + (uint)bVar32 * -2 + 1);\n            puVar29 = puVar29 + (uint)bVar32 * -2 + 1;\n          }" for ( (assignment_expression "iVar14 = 9" identifier = number_literal) ; (binary_expression "iVar14 != 0" identifier != number_literal) ; (assignment_expression "iVar14 = iVar14 + -1" identifier = (binary_expression "iVar14 + -1" identifier + number_literal)) ) (compound_statement "{\n            *puVar29 = (char)psVar25->st_dev;\n            psVar25 = (stat64 *)((int)psVar25 + (uint)bVar32 * -2 + 1);\n            puVar29 = puVar29 + (uint)bVar32 * -2 + 1;\n          }" { (expression_statement "*puVar29 = (char)psVar25->st_dev;" (assignment_expression "*puVar29 = (char)psVar25->st_dev" (pointer_expression "*puVar29" * identifier) = (cast_expression "(char)psVar25->st_dev" ( (type_descriptor "char" primitive_type) ) (field_expression "psVar25->st_dev" identifier -> field_identifier))) ;) (expression_statement "psVar25 = (stat64 *)((int)psVar25 + (uint)bVar32 * -2 + 1);" (assignment_expression "psVar25 = (stat64 *)((int)psVar25 + (uint)bVar32 * -2 + 1)" identifier = (cast_expression "(stat64 *)((int)psVar25 + (uint)bVar32 * -2 + 1)" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)psVar25 + (uint)bVar32 * -2 + 1)" ( (binary_expression "(int)psVar25 + (uint)bVar32 * -2 + 1" (binary_expression "(int)psVar25 + (uint)bVar32 * -2" (cast_expression "(int)psVar25" ( (type_descriptor "int" primitive_type) ) identifier) + (binary_expression "(uint)bVar32 * -2" (cast_expression "(uint)bVar32" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal) )))) ;) (expression_statement "puVar29 = puVar29 + (uint)bVar32 * -2 + 1;" (assignment_expression "puVar29 = puVar29 + (uint)bVar32 * -2 + 1" identifier = (binary_expression "puVar29 + (uint)bVar32 * -2 + 1" (binary_expression "puVar29 + (uint)bVar32 * -2" identifier + (binary_expression "(uint)bVar32 * -2" (cast_expression "(uint)bVar32" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) })) (expression_statement "psVar18 = local_908;" (assignment_expression "psVar18 = local_908" identifier = identifier) ;) (if_statement "if (0 < (int)local_908) {\n            psVar18 = (stat64 *)sg_get_category_sense_str(local_908,0x50,puVar43,psVar8);\n          }" if (parenthesized_expression "(0 < (int)local_908)" ( (binary_expression "0 < (int)local_908" number_literal < (cast_expression "(int)local_908" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n            psVar18 = (stat64 *)sg_get_category_sense_str(local_908,0x50,puVar43,psVar8);\n          }" { (expression_statement "psVar18 = (stat64 *)sg_get_category_sense_str(local_908,0x50,puVar43,psVar8);" (assignment_expression "psVar18 = (stat64 *)sg_get_category_sense_str(local_908,0x50,puVar43,psVar8)" identifier = (cast_expression "(stat64 *)sg_get_category_sense_str(local_908,0x50,puVar43,psVar8)" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "sg_get_category_sense_str(local_908,0x50,puVar43,psVar8)" identifier (argument_list "(local_908,0x50,puVar43,psVar8)" ( identifier , number_literal , identifier , identifier ))))) ;) })) (expression_statement "pr2serr("Read capacity(16): %s\n",puVar43,psVar18,psVar18);" (call_expression "pr2serr("Read capacity(16): %s\n",puVar43,psVar18,psVar18)" identifier (argument_list "("Read capacity(16): %s\n",puVar43,psVar18,psVar18)" ( (string_literal ""Read capacity(16): %s\n"" " string_content escape_sequence ") , identifier , identifier , identifier ))) ;) (expression_statement "pr2serr("Unable to calculate block size\n");" (call_expression "pr2serr("Unable to calculate block size\n")" identifier (argument_list "("Unable to calculate block size\n")" ( (string_literal ""Unable to calculate block size\n"" " string_content escape_sequence ") ))) ;) })) (if_statement "if (0 < (int)local_908) goto LAB_00012354;" if (parenthesized_expression "(0 < (int)local_908)" ( (binary_expression "0 < (int)local_908" number_literal < (cast_expression "(int)local_908" ( (type_descriptor "int" primitive_type) ) identifier)) )) (goto_statement "goto LAB_00012354;" goto statement_identifier ;)) (goto_statement "goto LAB_00012ef5;" goto statement_identifier ;) })) (if_statement "if (psVar8 == (stat64 *)0x0) {\n        pcVar15 = (char *)0x1;\n        uVar33 = sg_ll_readcap_10(local_930,0,0,psVar22,8,1,psVar17,psVar23);\n        psVar22 = (stat64 *)((ulonglong)uVar33 >> 0x20);\n        local_908 = (stat64 *)uVar33;\n        psVar9 = psVar23;\n        if (local_908 != (stat64 *)0x0) {\nLAB_00013444:\n          puVar43 = local_174 + 0x50;\n          psVar25 = (stat64 *)"OS error";\n          puVar29 = puVar43;\n          for (iVar14 = 9; iVar14 != 0; iVar14 = iVar14 + -1) {\n            *puVar29 = (char)psVar25->st_dev;\n            psVar25 = (stat64 *)((int)psVar25 + (uint)bVar32 * -2 + 1);\n            puVar29 = puVar29 + (uint)bVar32 * -2 + 1;\n          }\n          if (0 < (int)local_908) {\n            sg_get_category_sense_str(local_908,0x50,puVar43,psVar8);\n            pr2serr("Read capacity(10): %s\n",puVar43);\n            pr2serr("Unable to calculate block size\n");\n            goto LAB_00012354;\n          }\n          __snprintf_chk(puVar43,0x50,1,0x50,"error: %d",local_908,local_908,local_908);\n          pr2serr("Read capacity(10): %s\n",puVar43);\n          pr2serr("Unable to calculate block size\n");\n          local_908 = (stat64 *)0xf;\n          goto LAB_00012354;\n        }\n      }\n      else {\n        psVar25 = psVar22;\n        pr2serr("Read capacity(16) not supported, try Read capacity(10)\n");\n        pcVar15 = (char *)0x1;\n        uVar33 = sg_ll_readcap_10(local_930,0,0,psVar25,8,1,psVar17);\n        psVar22 = (stat64 *)((ulonglong)uVar33 >> 0x20);\n        local_908 = (stat64 *)uVar33;\n        if (local_908 != (stat64 *)0x0) goto LAB_00013444;\n        if (3 < (int)psVar8) {\n          pr2serr("Read capacity(10) response:\n");\n          psVar17 = (stat64 *)0x1;\n          pcVar15 = (char *)0x8;\n          hex2stderr(psVar25,8,1);\n          psVar22 = extraout_EDX_03;\n        }\n      }" if (parenthesized_expression "(psVar8 == (stat64 *)0x0)" ( (binary_expression "psVar8 == (stat64 *)0x0" identifier == (cast_expression "(stat64 *)0x0" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        pcVar15 = (char *)0x1;\n        uVar33 = sg_ll_readcap_10(local_930,0,0,psVar22,8,1,psVar17,psVar23);\n        psVar22 = (stat64 *)((ulonglong)uVar33 >> 0x20);\n        local_908 = (stat64 *)uVar33;\n        psVar9 = psVar23;\n        if (local_908 != (stat64 *)0x0) {\nLAB_00013444:\n          puVar43 = local_174 + 0x50;\n          psVar25 = (stat64 *)"OS error";\n          puVar29 = puVar43;\n          for (iVar14 = 9; iVar14 != 0; iVar14 = iVar14 + -1) {\n            *puVar29 = (char)psVar25->st_dev;\n            psVar25 = (stat64 *)((int)psVar25 + (uint)bVar32 * -2 + 1);\n            puVar29 = puVar29 + (uint)bVar32 * -2 + 1;\n          }\n          if (0 < (int)local_908) {\n            sg_get_category_sense_str(local_908,0x50,puVar43,psVar8);\n            pr2serr("Read capacity(10): %s\n",puVar43);\n            pr2serr("Unable to calculate block size\n");\n            goto LAB_00012354;\n          }\n          __snprintf_chk(puVar43,0x50,1,0x50,"error: %d",local_908,local_908,local_908);\n          pr2serr("Read capacity(10): %s\n",puVar43);\n          pr2serr("Unable to calculate block size\n");\n          local_908 = (stat64 *)0xf;\n          goto LAB_00012354;\n        }\n      }" { (expression_statement "pcVar15 = (char *)0x1;" (assignment_expression "pcVar15 = (char *)0x1" identifier = (cast_expression "(char *)0x1" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "uVar33 = sg_ll_readcap_10(local_930,0,0,psVar22,8,1,psVar17,psVar23);" (assignment_expression "uVar33 = sg_ll_readcap_10(local_930,0,0,psVar22,8,1,psVar17,psVar23)" identifier = (call_expression "sg_ll_readcap_10(local_930,0,0,psVar22,8,1,psVar17,psVar23)" identifier (argument_list "(local_930,0,0,psVar22,8,1,psVar17,psVar23)" ( identifier , number_literal , number_literal , identifier , number_literal , number_literal , identifier , identifier )))) ;) (expression_statement "psVar22 = (stat64 *)((ulonglong)uVar33 >> 0x20);" (assignment_expression "psVar22 = (stat64 *)((ulonglong)uVar33 >> 0x20)" identifier = (cast_expression "(stat64 *)((ulonglong)uVar33 >> 0x20)" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((ulonglong)uVar33 >> 0x20)" ( (binary_expression "(ulonglong)uVar33 >> 0x20" (cast_expression "(ulonglong)uVar33" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) )))) ;) (expression_statement "local_908 = (stat64 *)uVar33;" (assignment_expression "local_908 = (stat64 *)uVar33" identifier = (cast_expression "(stat64 *)uVar33" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "psVar9 = psVar23;" (assignment_expression "psVar9 = psVar23" identifier = identifier) ;) (if_statement "if (local_908 != (stat64 *)0x0) {\nLAB_00013444:\n          puVar43 = local_174 + 0x50;\n          psVar25 = (stat64 *)"OS error";\n          puVar29 = puVar43;\n          for (iVar14 = 9; iVar14 != 0; iVar14 = iVar14 + -1) {\n            *puVar29 = (char)psVar25->st_dev;\n            psVar25 = (stat64 *)((int)psVar25 + (uint)bVar32 * -2 + 1);\n            puVar29 = puVar29 + (uint)bVar32 * -2 + 1;\n          }\n          if (0 < (int)local_908) {\n            sg_get_category_sense_str(local_908,0x50,puVar43,psVar8);\n            pr2serr("Read capacity(10): %s\n",puVar43);\n            pr2serr("Unable to calculate block size\n");\n            goto LAB_00012354;\n          }\n          __snprintf_chk(puVar43,0x50,1,0x50,"error: %d",local_908,local_908,local_908);\n          pr2serr("Read capacity(10): %s\n",puVar43);\n          pr2serr("Unable to calculate block size\n");\n          local_908 = (stat64 *)0xf;\n          goto LAB_00012354;\n        }" if (parenthesized_expression "(local_908 != (stat64 *)0x0)" ( (binary_expression "local_908 != (stat64 *)0x0" identifier != (cast_expression "(stat64 *)0x0" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\nLAB_00013444:\n          puVar43 = local_174 + 0x50;\n          psVar25 = (stat64 *)"OS error";\n          puVar29 = puVar43;\n          for (iVar14 = 9; iVar14 != 0; iVar14 = iVar14 + -1) {\n            *puVar29 = (char)psVar25->st_dev;\n            psVar25 = (stat64 *)((int)psVar25 + (uint)bVar32 * -2 + 1);\n            puVar29 = puVar29 + (uint)bVar32 * -2 + 1;\n          }\n          if (0 < (int)local_908) {\n            sg_get_category_sense_str(local_908,0x50,puVar43,psVar8);\n            pr2serr("Read capacity(10): %s\n",puVar43);\n            pr2serr("Unable to calculate block size\n");\n            goto LAB_00012354;\n          }\n          __snprintf_chk(puVar43,0x50,1,0x50,"error: %d",local_908,local_908,local_908);\n          pr2serr("Read capacity(10): %s\n",puVar43);\n          pr2serr("Unable to calculate block size\n");\n          local_908 = (stat64 *)0xf;\n          goto LAB_00012354;\n        }" { (labeled_statement "LAB_00013444:\n          puVar43 = local_174 + 0x50;" statement_identifier : (expression_statement "puVar43 = local_174 + 0x50;" (assignment_expression "puVar43 = local_174 + 0x50" identifier = (binary_expression "local_174 + 0x50" identifier + number_literal)) ;)) (expression_statement "psVar25 = (stat64 *)"OS error";" (assignment_expression "psVar25 = (stat64 *)"OS error"" identifier = (cast_expression "(stat64 *)"OS error"" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) (string_literal ""OS error"" " string_content "))) ;) (expression_statement "puVar29 = puVar43;" (assignment_expression "puVar29 = puVar43" identifier = identifier) ;) (for_statement "for (iVar14 = 9; iVar14 != 0; iVar14 = iVar14 + -1) {\n            *puVar29 = (char)psVar25->st_dev;\n            psVar25 = (stat64 *)((int)psVar25 + (uint)bVar32 * -2 + 1);\n            puVar29 = puVar29 + (uint)bVar32 * -2 + 1;\n          }" for ( (assignment_expression "iVar14 = 9" identifier = number_literal) ; (binary_expression "iVar14 != 0" identifier != number_literal) ; (assignment_expression "iVar14 = iVar14 + -1" identifier = (binary_expression "iVar14 + -1" identifier + number_literal)) ) (compound_statement "{\n            *puVar29 = (char)psVar25->st_dev;\n            psVar25 = (stat64 *)((int)psVar25 + (uint)bVar32 * -2 + 1);\n            puVar29 = puVar29 + (uint)bVar32 * -2 + 1;\n          }" { (expression_statement "*puVar29 = (char)psVar25->st_dev;" (assignment_expression "*puVar29 = (char)psVar25->st_dev" (pointer_expression "*puVar29" * identifier) = (cast_expression "(char)psVar25->st_dev" ( (type_descriptor "char" primitive_type) ) (field_expression "psVar25->st_dev" identifier -> field_identifier))) ;) (expression_statement "psVar25 = (stat64 *)((int)psVar25 + (uint)bVar32 * -2 + 1);" (assignment_expression "psVar25 = (stat64 *)((int)psVar25 + (uint)bVar32 * -2 + 1)" identifier = (cast_expression "(stat64 *)((int)psVar25 + (uint)bVar32 * -2 + 1)" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)psVar25 + (uint)bVar32 * -2 + 1)" ( (binary_expression "(int)psVar25 + (uint)bVar32 * -2 + 1" (binary_expression "(int)psVar25 + (uint)bVar32 * -2" (cast_expression "(int)psVar25" ( (type_descriptor "int" primitive_type) ) identifier) + (binary_expression "(uint)bVar32 * -2" (cast_expression "(uint)bVar32" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal) )))) ;) (expression_statement "puVar29 = puVar29 + (uint)bVar32 * -2 + 1;" (assignment_expression "puVar29 = puVar29 + (uint)bVar32 * -2 + 1" identifier = (binary_expression "puVar29 + (uint)bVar32 * -2 + 1" (binary_expression "puVar29 + (uint)bVar32 * -2" identifier + (binary_expression "(uint)bVar32 * -2" (cast_expression "(uint)bVar32" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) })) (if_statement "if (0 < (int)local_908) {\n            sg_get_category_sense_str(local_908,0x50,puVar43,psVar8);\n            pr2serr("Read capacity(10): %s\n",puVar43);\n            pr2serr("Unable to calculate block size\n");\n            goto LAB_00012354;\n          }" if (parenthesized_expression "(0 < (int)local_908)" ( (binary_expression "0 < (int)local_908" number_literal < (cast_expression "(int)local_908" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n            sg_get_category_sense_str(local_908,0x50,puVar43,psVar8);\n            pr2serr("Read capacity(10): %s\n",puVar43);\n            pr2serr("Unable to calculate block size\n");\n            goto LAB_00012354;\n          }" { (expression_statement "sg_get_category_sense_str(local_908,0x50,puVar43,psVar8);" (call_expression "sg_get_category_sense_str(local_908,0x50,puVar43,psVar8)" identifier (argument_list "(local_908,0x50,puVar43,psVar8)" ( identifier , number_literal , identifier , identifier ))) ;) (expression_statement "pr2serr("Read capacity(10): %s\n",puVar43);" (call_expression "pr2serr("Read capacity(10): %s\n",puVar43)" identifier (argument_list "("Read capacity(10): %s\n",puVar43)" ( (string_literal ""Read capacity(10): %s\n"" " string_content escape_sequence ") , identifier ))) ;) (expression_statement "pr2serr("Unable to calculate block size\n");" (call_expression "pr2serr("Unable to calculate block size\n")" identifier (argument_list "("Unable to calculate block size\n")" ( (string_literal ""Unable to calculate block size\n"" " string_content escape_sequence ") ))) ;) (goto_statement "goto LAB_00012354;" goto statement_identifier ;) })) (expression_statement "__snprintf_chk(puVar43,0x50,1,0x50,"error: %d",local_908,local_908,local_908);" (call_expression "__snprintf_chk(puVar43,0x50,1,0x50,"error: %d",local_908,local_908,local_908)" identifier (argument_list "(puVar43,0x50,1,0x50,"error: %d",local_908,local_908,local_908)" ( identifier , number_literal , number_literal , number_literal , (string_literal ""error: %d"" " string_content ") , identifier , identifier , identifier ))) ;) (expression_statement "pr2serr("Read capacity(10): %s\n",puVar43);" (call_expression "pr2serr("Read capacity(10): %s\n",puVar43)" identifier (argument_list "("Read capacity(10): %s\n",puVar43)" ( (string_literal ""Read capacity(10): %s\n"" " string_content escape_sequence ") , identifier ))) ;) (expression_statement "pr2serr("Unable to calculate block size\n");" (call_expression "pr2serr("Unable to calculate block size\n")" identifier (argument_list "("Unable to calculate block size\n")" ( (string_literal ""Unable to calculate block size\n"" " string_content escape_sequence ") ))) ;) (expression_statement "local_908 = (stat64 *)0xf;" (assignment_expression "local_908 = (stat64 *)0xf" identifier = (cast_expression "(stat64 *)0xf" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (goto_statement "goto LAB_00012354;" goto statement_identifier ;) })) }) (else_clause "else {\n        psVar25 = psVar22;\n        pr2serr("Read capacity(16) not supported, try Read capacity(10)\n");\n        pcVar15 = (char *)0x1;\n        uVar33 = sg_ll_readcap_10(local_930,0,0,psVar25,8,1,psVar17);\n        psVar22 = (stat64 *)((ulonglong)uVar33 >> 0x20);\n        local_908 = (stat64 *)uVar33;\n        if (local_908 != (stat64 *)0x0) goto LAB_00013444;\n        if (3 < (int)psVar8) {\n          pr2serr("Read capacity(10) response:\n");\n          psVar17 = (stat64 *)0x1;\n          pcVar15 = (char *)0x8;\n          hex2stderr(psVar25,8,1);\n          psVar22 = extraout_EDX_03;\n        }\n      }" else (compound_statement "{\n        psVar25 = psVar22;\n        pr2serr("Read capacity(16) not supported, try Read capacity(10)\n");\n        pcVar15 = (char *)0x1;\n        uVar33 = sg_ll_readcap_10(local_930,0,0,psVar25,8,1,psVar17);\n        psVar22 = (stat64 *)((ulonglong)uVar33 >> 0x20);\n        local_908 = (stat64 *)uVar33;\n        if (local_908 != (stat64 *)0x0) goto LAB_00013444;\n        if (3 < (int)psVar8) {\n          pr2serr("Read capacity(10) response:\n");\n          psVar17 = (stat64 *)0x1;\n          pcVar15 = (char *)0x8;\n          hex2stderr(psVar25,8,1);\n          psVar22 = extraout_EDX_03;\n        }\n      }" { (expression_statement "psVar25 = psVar22;" (assignment_expression "psVar25 = psVar22" identifier = identifier) ;) (expression_statement "pr2serr("Read capacity(16) not supported, try Read capacity(10)\n");" (call_expression "pr2serr("Read capacity(16) not supported, try Read capacity(10)\n")" identifier (argument_list "("Read capacity(16) not supported, try Read capacity(10)\n")" ( (string_literal ""Read capacity(16) not supported, try Read capacity(10)\n"" " string_content escape_sequence ") ))) ;) (expression_statement "pcVar15 = (char *)0x1;" (assignment_expression "pcVar15 = (char *)0x1" identifier = (cast_expression "(char *)0x1" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "uVar33 = sg_ll_readcap_10(local_930,0,0,psVar25,8,1,psVar17);" (assignment_expression "uVar33 = sg_ll_readcap_10(local_930,0,0,psVar25,8,1,psVar17)" identifier = (call_expression "sg_ll_readcap_10(local_930,0,0,psVar25,8,1,psVar17)" identifier (argument_list "(local_930,0,0,psVar25,8,1,psVar17)" ( identifier , number_literal , number_literal , identifier , number_literal , number_literal , identifier )))) ;) (expression_statement "psVar22 = (stat64 *)((ulonglong)uVar33 >> 0x20);" (assignment_expression "psVar22 = (stat64 *)((ulonglong)uVar33 >> 0x20)" identifier = (cast_expression "(stat64 *)((ulonglong)uVar33 >> 0x20)" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((ulonglong)uVar33 >> 0x20)" ( (binary_expression "(ulonglong)uVar33 >> 0x20" (cast_expression "(ulonglong)uVar33" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) )))) ;) (expression_statement "local_908 = (stat64 *)uVar33;" (assignment_expression "local_908 = (stat64 *)uVar33" identifier = (cast_expression "(stat64 *)uVar33" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (if_statement "if (local_908 != (stat64 *)0x0) goto LAB_00013444;" if (parenthesized_expression "(local_908 != (stat64 *)0x0)" ( (binary_expression "local_908 != (stat64 *)0x0" identifier != (cast_expression "(stat64 *)0x0" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_00013444;" goto statement_identifier ;)) (if_statement "if (3 < (int)psVar8) {\n          pr2serr("Read capacity(10) response:\n");\n          psVar17 = (stat64 *)0x1;\n          pcVar15 = (char *)0x8;\n          hex2stderr(psVar25,8,1);\n          psVar22 = extraout_EDX_03;\n        }" if (parenthesized_expression "(3 < (int)psVar8)" ( (binary_expression "3 < (int)psVar8" number_literal < (cast_expression "(int)psVar8" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n          pr2serr("Read capacity(10) response:\n");\n          psVar17 = (stat64 *)0x1;\n          pcVar15 = (char *)0x8;\n          hex2stderr(psVar25,8,1);\n          psVar22 = extraout_EDX_03;\n        }" { (expression_statement "pr2serr("Read capacity(10) response:\n");" (call_expression "pr2serr("Read capacity(10) response:\n")" identifier (argument_list "("Read capacity(10) response:\n")" ( (string_literal ""Read capacity(10) response:\n"" " string_content escape_sequence ") ))) ;) (expression_statement "psVar17 = (stat64 *)0x1;" (assignment_expression "psVar17 = (stat64 *)0x1" identifier = (cast_expression "(stat64 *)0x1" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "pcVar15 = (char *)0x8;" (assignment_expression "pcVar15 = (char *)0x8" identifier = (cast_expression "(char *)0x8" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "hex2stderr(psVar25,8,1);" (call_expression "hex2stderr(psVar25,8,1)" identifier (argument_list "(psVar25,8,1)" ( identifier , number_literal , number_literal ))) ;) (expression_statement "psVar22 = extraout_EDX_03;" (assignment_expression "psVar22 = extraout_EDX_03" identifier = identifier) ;) })) }))) (expression_statement "local_7a8 = 0;" (assignment_expression "local_7a8 = 0" identifier = number_literal) ;) (expression_statement "local_7ac = ((uint)local_174._0_4_ >> 0x18 | (local_174._0_4_ & 0xff0000) >> 8 |\n                   (local_174._0_4_ & 0xff00) << 8 | local_174._0_4_ << 0x18) + 1;" (assignment_expression "local_7ac = ((uint)local_174._0_4_ >> 0x18 | (local_174._0_4_ & 0xff0000) >> 8 |\n                   (local_174._0_4_ & 0xff00) << 8 | local_174._0_4_ << 0x18) + 1" identifier = (binary_expression "((uint)local_174._0_4_ >> 0x18 | (local_174._0_4_ & 0xff0000) >> 8 |\n                   (local_174._0_4_ & 0xff00) << 8 | local_174._0_4_ << 0x18) + 1" (parenthesized_expression "((uint)local_174._0_4_ >> 0x18 | (local_174._0_4_ & 0xff0000) >> 8 |\n                   (local_174._0_4_ & 0xff00) << 8 | local_174._0_4_ << 0x18)" ( (binary_expression "(uint)local_174._0_4_ >> 0x18 | (local_174._0_4_ & 0xff0000) >> 8 |\n                   (local_174._0_4_ & 0xff00) << 8 | local_174._0_4_ << 0x18" (binary_expression "(uint)local_174._0_4_ >> 0x18 | (local_174._0_4_ & 0xff0000) >> 8 |\n                   (local_174._0_4_ & 0xff00) << 8" (binary_expression "(uint)local_174._0_4_ >> 0x18 | (local_174._0_4_ & 0xff0000) >> 8" (binary_expression "(uint)local_174._0_4_ >> 0x18" (cast_expression "(uint)local_174._0_4_" ( (type_descriptor "uint" type_identifier) ) (field_expression "local_174._0_4_" identifier . field_identifier)) >> number_literal) | (binary_expression "(local_174._0_4_ & 0xff0000) >> 8" (parenthesized_expression "(local_174._0_4_ & 0xff0000)" ( (binary_expression "local_174._0_4_ & 0xff0000" (field_expression "local_174._0_4_" identifier . field_identifier) & number_literal) )) >> number_literal)) | (binary_expression "(local_174._0_4_ & 0xff00) << 8" (parenthesized_expression "(local_174._0_4_ & 0xff00)" ( (binary_expression "local_174._0_4_ & 0xff00" (field_expression "local_174._0_4_" identifier . field_identifier) & number_literal) )) << number_literal)) | (binary_expression "local_174._0_4_ << 0x18" (field_expression "local_174._0_4_" identifier . field_identifier) << number_literal)) )) + number_literal)) ;) (expression_statement "local_7d8 = (stat64 *)\n                  ((uint)local_174._4_4_ >> 0x18 | (local_174._4_4_ & 0xff0000) >> 8 |\n                   (local_174._4_4_ & 0xff00) << 8 | local_174._4_4_ << 0x18);" (assignment_expression "local_7d8 = (stat64 *)\n                  ((uint)local_174._4_4_ >> 0x18 | (local_174._4_4_ & 0xff0000) >> 8 |\n                   (local_174._4_4_ & 0xff00) << 8 | local_174._4_4_ << 0x18)" identifier = (cast_expression "(stat64 *)\n                  ((uint)local_174._4_4_ >> 0x18 | (local_174._4_4_ & 0xff0000) >> 8 |\n                   (local_174._4_4_ & 0xff00) << 8 | local_174._4_4_ << 0x18)" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((uint)local_174._4_4_ >> 0x18 | (local_174._4_4_ & 0xff0000) >> 8 |\n                   (local_174._4_4_ & 0xff00) << 8 | local_174._4_4_ << 0x18)" ( (binary_expression "(uint)local_174._4_4_ >> 0x18 | (local_174._4_4_ & 0xff0000) >> 8 |\n                   (local_174._4_4_ & 0xff00) << 8 | local_174._4_4_ << 0x18" (binary_expression "(uint)local_174._4_4_ >> 0x18 | (local_174._4_4_ & 0xff0000) >> 8 |\n                   (local_174._4_4_ & 0xff00) << 8" (binary_expression "(uint)local_174._4_4_ >> 0x18 | (local_174._4_4_ & 0xff0000) >> 8" (binary_expression "(uint)local_174._4_4_ >> 0x18" (cast_expression "(uint)local_174._4_4_" ( (type_descriptor "uint" type_identifier) ) (field_expression "local_174._4_4_" identifier . field_identifier)) >> number_literal) | (binary_expression "(local_174._4_4_ & 0xff0000) >> 8" (parenthesized_expression "(local_174._4_4_ & 0xff0000)" ( (binary_expression "local_174._4_4_ & 0xff0000" (field_expression "local_174._4_4_" identifier . field_identifier) & number_literal) )) >> number_literal)) | (binary_expression "(local_174._4_4_ & 0xff00) << 8" (parenthesized_expression "(local_174._4_4_ & 0xff00)" ( (binary_expression "local_174._4_4_ & 0xff00" (field_expression "local_174._4_4_" identifier . field_identifier) & number_literal) )) << number_literal)) | (binary_expression "local_174._4_4_ << 0x18" (field_expression "local_174._4_4_" identifier . field_identifier) << number_literal)) )))) ;) }))) (labeled_statement "LAB_00012312:\n    local_7d4 = local_7d8;" statement_identifier : (expression_statement "local_7d4 = local_7d8;" (assignment_expression "local_7d4 = local_7d8" identifier = identifier) ;)) (if_statement "if (local_813 != '\0') {\n      local_7d4 = (stat64 *)&local_7d8->__pad1;\n    }" if (parenthesized_expression "(local_813 != '\0')" ( (binary_expression "local_813 != '\0'" identifier != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n      local_7d4 = (stat64 *)&local_7d8->__pad1;\n    }" { (expression_statement "local_7d4 = (stat64 *)&local_7d8->__pad1;" (assignment_expression "local_7d4 = (stat64 *)&local_7d8->__pad1" identifier = (cast_expression "(stat64 *)&local_7d8->__pad1" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&local_7d8->__pad1" & (field_expression "local_7d8->__pad1" identifier -> field_identifier)))) ;) })) (expression_statement "psVar8 = local_7d4;" (assignment_expression "psVar8 = local_7d4" identifier = identifier) ;) (expression_statement "psVar11 = local_7d8;" (assignment_expression "psVar11 = local_7d8" identifier = identifier) ;) (if_statement "if (local_7d4 == (stat64 *)0x0) goto LAB_00012338;" if (parenthesized_expression "(local_7d4 == (stat64 *)0x0)" ( (binary_expression "local_7d4 == (stat64 *)0x0" identifier == (cast_expression "(stat64 *)0x0" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_00012338;" goto statement_identifier ;)) })) (expression_statement "local_7d4 = psVar8;" (assignment_expression "local_7d4 = psVar8" identifier = identifier) ;) (if_statement "if (psVar11 == (stat64 *)0x0) {\nLAB_00012338:\n    pr2serr("Logic error, need block size by now\n",pcVar15,psVar17);\n    local_908 = (stat64 *)0x1;\n    goto LAB_00012354;\n  }" if (parenthesized_expression "(psVar11 == (stat64 *)0x0)" ( (binary_expression "psVar11 == (stat64 *)0x0" identifier == (cast_expression "(stat64 *)0x0" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\nLAB_00012338:\n    pr2serr("Logic error, need block size by now\n",pcVar15,psVar17);\n    local_908 = (stat64 *)0x1;\n    goto LAB_00012354;\n  }" { (labeled_statement "LAB_00012338:\n    pr2serr("Logic error, need block size by now\n",pcVar15,psVar17);" statement_identifier : (expression_statement "pr2serr("Logic error, need block size by now\n",pcVar15,psVar17);" (call_expression "pr2serr("Logic error, need block size by now\n",pcVar15,psVar17)" identifier (argument_list "("Logic error, need block size by now\n",pcVar15,psVar17)" ( (string_literal ""Logic error, need block size by now\n"" " string_content escape_sequence ") , identifier , identifier ))) ;)) (expression_statement "local_908 = (stat64 *)0x1;" (assignment_expression "local_908 = (stat64 *)0x1" identifier = (cast_expression "(stat64 *)0x1" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (goto_statement "goto LAB_00012354;" goto statement_identifier ;) })) (if_statement "if ((local_810 == 0) &&\n     (psVar22 = (stat64 *)((uint)local_93c % (uint)psVar8), psVar22 != (stat64 *)0x0)) {\n    if (1 < (int)local_7f8) {\n      pr2serr("Error: number of bytes to read from IF [%u] is not a multiple\nblock size %u (including protection information)\n"\n              ,local_93c,psVar8,local_7f8);\n      local_908 = (stat64 *)0xf;\n      goto LAB_00012354;\n    }\n    psVar11 = (stat64 *)(local_7f8 | (uint)psVar38);\n    if (psVar11 != (stat64 *)0x0) {\n      pcVar15 = (char *)local_93c;\n      pr2serr("Warning: number of bytes to read from IF [%u] is not a multiple\nof actual block size %u; pad with zeros\n"\n              ,local_93c,psVar8,psVar11);\n      psVar22 = extraout_EDX_02;\n      psVar17 = psVar8;\n      psVar9 = psVar11;\n    }\n  }" if (parenthesized_expression "((local_810 == 0) &&\n     (psVar22 = (stat64 *)((uint)local_93c % (uint)psVar8), psVar22 != (stat64 *)0x0))" ( (binary_expression "(local_810 == 0) &&\n     (psVar22 = (stat64 *)((uint)local_93c % (uint)psVar8), psVar22 != (stat64 *)0x0)" (parenthesized_expression "(local_810 == 0)" ( (binary_expression "local_810 == 0" identifier == number_literal) )) && (parenthesized_expression "(psVar22 = (stat64 *)((uint)local_93c % (uint)psVar8), psVar22 != (stat64 *)0x0)" ( (comma_expression "psVar22 = (stat64 *)((uint)local_93c % (uint)psVar8), psVar22 != (stat64 *)0x0" (assignment_expression "psVar22 = (stat64 *)((uint)local_93c % (uint)psVar8)" identifier = (cast_expression "(stat64 *)((uint)local_93c % (uint)psVar8)" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((uint)local_93c % (uint)psVar8)" ( (binary_expression "(uint)local_93c % (uint)psVar8" (cast_expression "(uint)local_93c" ( (type_descriptor "uint" type_identifier) ) identifier) % (cast_expression "(uint)psVar8" ( (type_descriptor "uint" type_identifier) ) identifier)) )))) , (binary_expression "psVar22 != (stat64 *)0x0" identifier != (cast_expression "(stat64 *)0x0" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal))) ))) )) (compound_statement "{\n    if (1 < (int)local_7f8) {\n      pr2serr("Error: number of bytes to read from IF [%u] is not a multiple\nblock size %u (including protection information)\n"\n              ,local_93c,psVar8,local_7f8);\n      local_908 = (stat64 *)0xf;\n      goto LAB_00012354;\n    }\n    psVar11 = (stat64 *)(local_7f8 | (uint)psVar38);\n    if (psVar11 != (stat64 *)0x0) {\n      pcVar15 = (char *)local_93c;\n      pr2serr("Warning: number of bytes to read from IF [%u] is not a multiple\nof actual block size %u; pad with zeros\n"\n              ,local_93c,psVar8,psVar11);\n      psVar22 = extraout_EDX_02;\n      psVar17 = psVar8;\n      psVar9 = psVar11;\n    }\n  }" { (if_statement "if (1 < (int)local_7f8) {\n      pr2serr("Error: number of bytes to read from IF [%u] is not a multiple\nblock size %u (including protection information)\n"\n              ,local_93c,psVar8,local_7f8);\n      local_908 = (stat64 *)0xf;\n      goto LAB_00012354;\n    }" if (parenthesized_expression "(1 < (int)local_7f8)" ( (binary_expression "1 < (int)local_7f8" number_literal < (cast_expression "(int)local_7f8" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n      pr2serr("Error: number of bytes to read from IF [%u] is not a multiple\nblock size %u (including protection information)\n"\n              ,local_93c,psVar8,local_7f8);\n      local_908 = (stat64 *)0xf;\n      goto LAB_00012354;\n    }" { (expression_statement "pr2serr("Error: number of bytes to read from IF [%u] is not a multiple\nblock size %u (including protection information)\n"\n              ,local_93c,psVar8,local_7f8);" (call_expression "pr2serr("Error: number of bytes to read from IF [%u] is not a multiple\nblock size %u (including protection information)\n"\n              ,local_93c,psVar8,local_7f8)" identifier (argument_list "("Error: number of bytes to read from IF [%u] is not a multiple\nblock size %u (including protection information)\n"\n              ,local_93c,psVar8,local_7f8)" ( (string_literal ""Error: number of bytes to read from IF [%u] is not a multiple\nblock size %u (including protection information)\n"" " string_content escape_sequence string_content escape_sequence ") , identifier , identifier , identifier ))) ;) (expression_statement "local_908 = (stat64 *)0xf;" (assignment_expression "local_908 = (stat64 *)0xf" identifier = (cast_expression "(stat64 *)0xf" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (goto_statement "goto LAB_00012354;" goto statement_identifier ;) })) (expression_statement "psVar11 = (stat64 *)(local_7f8 | (uint)psVar38);" (assignment_expression "psVar11 = (stat64 *)(local_7f8 | (uint)psVar38)" identifier = (cast_expression "(stat64 *)(local_7f8 | (uint)psVar38)" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_7f8 | (uint)psVar38)" ( (binary_expression "local_7f8 | (uint)psVar38" identifier | (cast_expression "(uint)psVar38" ( (type_descriptor "uint" type_identifier) ) identifier)) )))) ;) (if_statement "if (psVar11 != (stat64 *)0x0) {\n      pcVar15 = (char *)local_93c;\n      pr2serr("Warning: number of bytes to read from IF [%u] is not a multiple\nof actual block size %u; pad with zeros\n"\n              ,local_93c,psVar8,psVar11);\n      psVar22 = extraout_EDX_02;\n      psVar17 = psVar8;\n      psVar9 = psVar11;\n    }" if (parenthesized_expression "(psVar11 != (stat64 *)0x0)" ( (binary_expression "psVar11 != (stat64 *)0x0" identifier != (cast_expression "(stat64 *)0x0" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      pcVar15 = (char *)local_93c;\n      pr2serr("Warning: number of bytes to read from IF [%u] is not a multiple\nof actual block size %u; pad with zeros\n"\n              ,local_93c,psVar8,psVar11);\n      psVar22 = extraout_EDX_02;\n      psVar17 = psVar8;\n      psVar9 = psVar11;\n    }" { (expression_statement "pcVar15 = (char *)local_93c;" (assignment_expression "pcVar15 = (char *)local_93c" identifier = (cast_expression "(char *)local_93c" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "pr2serr("Warning: number of bytes to read from IF [%u] is not a multiple\nof actual block size %u; pad with zeros\n"\n              ,local_93c,psVar8,psVar11);" (call_expression "pr2serr("Warning: number of bytes to read from IF [%u] is not a multiple\nof actual block size %u; pad with zeros\n"\n              ,local_93c,psVar8,psVar11)" identifier (argument_list "("Warning: number of bytes to read from IF [%u] is not a multiple\nof actual block size %u; pad with zeros\n"\n              ,local_93c,psVar8,psVar11)" ( (string_literal ""Warning: number of bytes to read from IF [%u] is not a multiple\nof actual block size %u; pad with zeros\n"" " string_content escape_sequence string_content escape_sequence ") , identifier , identifier , identifier ))) ;) (expression_statement "psVar22 = extraout_EDX_02;" (assignment_expression "psVar22 = extraout_EDX_02" identifier = identifier) ;) (expression_statement "psVar17 = psVar8;" (assignment_expression "psVar17 = psVar8" identifier = identifier) ;) (expression_statement "psVar9 = psVar11;" (assignment_expression "psVar9 = psVar11" identifier = identifier) ;) })) })) (expression_statement "puVar42 = &local_578;" (assignment_expression "puVar42 = &local_578" identifier = (pointer_expression "&local_578" & identifier)) ;) (expression_statement "puVar26 = puVar42;" (assignment_expression "puVar26 = puVar42" identifier = identifier) ;) (for_statement "for (iVar14 = 0x100; iVar14 != 0; iVar14 = iVar14 + -1) {\n    *puVar26 = 0;\n    puVar26 = puVar26 + (uint)bVar32 * -2 + 1;\n  }" for ( (assignment_expression "iVar14 = 0x100" identifier = number_literal) ; (binary_expression "iVar14 != 0" identifier != number_literal) ; (assignment_expression "iVar14 = iVar14 + -1" identifier = (binary_expression "iVar14 + -1" identifier + number_literal)) ) (compound_statement "{\n    *puVar26 = 0;\n    puVar26 = puVar26 + (uint)bVar32 * -2 + 1;\n  }" { (expression_statement "*puVar26 = 0;" (assignment_expression "*puVar26 = 0" (pointer_expression "*puVar26" * identifier) = number_literal) ;) (expression_statement "puVar26 = puVar26 + (uint)bVar32 * -2 + 1;" (assignment_expression "puVar26 = puVar26 + (uint)bVar32 * -2 + 1" identifier = (binary_expression "puVar26 + (uint)bVar32 * -2 + 1" (binary_expression "puVar26 + (uint)bVar32 * -2" identifier + (binary_expression "(uint)bVar32 * -2" (cast_expression "(uint)bVar32" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) })) (expression_statement "ppsVar44 = local_778;" (assignment_expression "ppsVar44 = local_778" identifier = identifier) ;) (expression_statement "ppsVar27 = ppsVar44;" (assignment_expression "ppsVar27 = ppsVar44" identifier = identifier) ;) (for_statement "for (iVar14 = 0x80; iVar14 != 0; iVar14 = iVar14 + -1) {\n    *ppsVar27 = (stat64 *)0x0;\n    ppsVar27 = ppsVar27 + (uint)bVar32 * -2 + 1;\n  }" for ( (assignment_expression "iVar14 = 0x80" identifier = number_literal) ; (binary_expression "iVar14 != 0" identifier != number_literal) ; (assignment_expression "iVar14 = iVar14 + -1" identifier = (binary_expression "iVar14 + -1" identifier + number_literal)) ) (compound_statement "{\n    *ppsVar27 = (stat64 *)0x0;\n    ppsVar27 = ppsVar27 + (uint)bVar32 * -2 + 1;\n  }" { (expression_statement "*ppsVar27 = (stat64 *)0x0;" (assignment_expression "*ppsVar27 = (stat64 *)0x0" (pointer_expression "*ppsVar27" * identifier) = (cast_expression "(stat64 *)0x0" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "ppsVar27 = ppsVar27 + (uint)bVar32 * -2 + 1;" (assignment_expression "ppsVar27 = ppsVar27 + (uint)bVar32 * -2 + 1" identifier = (binary_expression "ppsVar27 + (uint)bVar32 * -2 + 1" (binary_expression "ppsVar27 + (uint)bVar32 * -2" identifier + (binary_expression "(uint)bVar32 * -2" (cast_expression "(uint)bVar32" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) })) (if_statement "if (bVar31) {\n    uVar7 = 0xffffffff;\n    psVar22 = local_91c;\n    do {\n      if (uVar7 == 0) break;\n      uVar7 = uVar7 - 1;\n      p_Var3 = &psVar22->st_dev;\n      psVar22 = (stat64 *)((int)psVar22 + (uint)bVar32 * -2 + 1);\n    } while ((char)*p_Var3 != '\0');\n    psVar25 = (stat64 *)(~uVar7 - 1);\n    if ((char)local_91c->st_dev == '-') {\n      pr2serr("\'--lba\' cannot be read from stdin\n",pcVar15,psVar17,psVar9);\n      goto LAB_00012130;\n    }\n    pcVar15 = "0123456789aAbBcCdDeEfFhHxXiIkKmMgGtTpP, ";\n    psVar17 = local_91c;\n    psVar9 = local_91c;\n    psVar8 = (stat64 *)strspn((char *)local_91c,"0123456789aAbBcCdDeEfFhHxXiIkKmMgGtTpP, ");\n    psVar22 = psVar25;\n    if (psVar25 == psVar8) {\n      psVar22 = (stat64 *)0x0;\n      psVar25 = local_91c;\n      while( true ) {\n        lVar34 = sg_get_llnum(psVar25,pcVar15,psVar17,psVar9);\n        psVar17 = (stat64 *)lVar34;\n        if (lVar34 == -1) break;\n        puVar42[(int)psVar22 * 2] = (uint)psVar17;\n        puVar42[(int)psVar22 * 2 + 1] = (uint)((ulonglong)lVar34 >> 0x20);\n        psVar9 = psVar17;\n        pcVar12 = strchr((char *)psVar25,0x2c);\n        pcVar15 = (char *)0x20;\n        pcVar13 = strchr((char *)psVar25,0x20);\n        if (pcVar12 == (char *)0x0) {\n          if (pcVar13 == (char *)0x0) {\n            local_91c = (stat64 *)((int)&psVar22->st_dev + 1);\n            if (local_93f != '\0') goto LAB_000126fa;\n            psVar22 = (stat64 *)0x0;\n            psVar17 = extraout_ECX;\n            if (local_91c != (stat64 *)0x1) goto LAB_00012a73;\n            goto LAB_00012820;\n          }\n        }\n        else if ((pcVar13 == (char *)0x0) || (pcVar12 <= pcVar13)) {\n          pcVar13 = pcVar12;\n        }\n        psVar22 = (stat64 *)((int)&psVar22->st_dev + 1);\n        psVar25 = (stat64 *)(pcVar13 + 1);\n        if (psVar22 == (stat64 *)0x80) goto LAB_00013b9f;\n      }\n      psVar8 = (stat64 *)((int)psVar25 - (int)local_91c);\n    }\n    pr2serr("build_lba_arr: error at pos %d\n",(undefined *)((int)&psVar8->st_dev + 1),psVar22,\n            psVar22);\n    goto LAB_00012130;\n  }" if (parenthesized_expression "(bVar31)" ( identifier )) (compound_statement "{\n    uVar7 = 0xffffffff;\n    psVar22 = local_91c;\n    do {\n      if (uVar7 == 0) break;\n      uVar7 = uVar7 - 1;\n      p_Var3 = &psVar22->st_dev;\n      psVar22 = (stat64 *)((int)psVar22 + (uint)bVar32 * -2 + 1);\n    } while ((char)*p_Var3 != '\0');\n    psVar25 = (stat64 *)(~uVar7 - 1);\n    if ((char)local_91c->st_dev == '-') {\n      pr2serr("\'--lba\' cannot be read from stdin\n",pcVar15,psVar17,psVar9);\n      goto LAB_00012130;\n    }\n    pcVar15 = "0123456789aAbBcCdDeEfFhHxXiIkKmMgGtTpP, ";\n    psVar17 = local_91c;\n    psVar9 = local_91c;\n    psVar8 = (stat64 *)strspn((char *)local_91c,"0123456789aAbBcCdDeEfFhHxXiIkKmMgGtTpP, ");\n    psVar22 = psVar25;\n    if (psVar25 == psVar8) {\n      psVar22 = (stat64 *)0x0;\n      psVar25 = local_91c;\n      while( true ) {\n        lVar34 = sg_get_llnum(psVar25,pcVar15,psVar17,psVar9);\n        psVar17 = (stat64 *)lVar34;\n        if (lVar34 == -1) break;\n        puVar42[(int)psVar22 * 2] = (uint)psVar17;\n        puVar42[(int)psVar22 * 2 + 1] = (uint)((ulonglong)lVar34 >> 0x20);\n        psVar9 = psVar17;\n        pcVar12 = strchr((char *)psVar25,0x2c);\n        pcVar15 = (char *)0x20;\n        pcVar13 = strchr((char *)psVar25,0x20);\n        if (pcVar12 == (char *)0x0) {\n          if (pcVar13 == (char *)0x0) {\n            local_91c = (stat64 *)((int)&psVar22->st_dev + 1);\n            if (local_93f != '\0') goto LAB_000126fa;\n            psVar22 = (stat64 *)0x0;\n            psVar17 = extraout_ECX;\n            if (local_91c != (stat64 *)0x1) goto LAB_00012a73;\n            goto LAB_00012820;\n          }\n        }\n        else if ((pcVar13 == (char *)0x0) || (pcVar12 <= pcVar13)) {\n          pcVar13 = pcVar12;\n        }\n        psVar22 = (stat64 *)((int)&psVar22->st_dev + 1);\n        psVar25 = (stat64 *)(pcVar13 + 1);\n        if (psVar22 == (stat64 *)0x80) goto LAB_00013b9f;\n      }\n      psVar8 = (stat64 *)((int)psVar25 - (int)local_91c);\n    }\n    pr2serr("build_lba_arr: error at pos %d\n",(undefined *)((int)&psVar8->st_dev + 1),psVar22,\n            psVar22);\n    goto LAB_00012130;\n  }" { (expression_statement "uVar7 = 0xffffffff;" (assignment_expression "uVar7 = 0xffffffff" identifier = number_literal) ;) (expression_statement "psVar22 = local_91c;" (assignment_expression "psVar22 = local_91c" identifier = identifier) ;) (do_statement "do {\n      if (uVar7 == 0) break;\n      uVar7 = uVar7 - 1;\n      p_Var3 = &psVar22->st_dev;\n      psVar22 = (stat64 *)((int)psVar22 + (uint)bVar32 * -2 + 1);\n    } while ((char)*p_Var3 != '\0');" do (compound_statement "{\n      if (uVar7 == 0) break;\n      uVar7 = uVar7 - 1;\n      p_Var3 = &psVar22->st_dev;\n      psVar22 = (stat64 *)((int)psVar22 + (uint)bVar32 * -2 + 1);\n    }" { (if_statement "if (uVar7 == 0) break;" if (parenthesized_expression "(uVar7 == 0)" ( (binary_expression "uVar7 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "uVar7 = uVar7 - 1;" (assignment_expression "uVar7 = uVar7 - 1" identifier = (binary_expression "uVar7 - 1" identifier - number_literal)) ;) (expression_statement "p_Var3 = &psVar22->st_dev;" (assignment_expression "p_Var3 = &psVar22->st_dev" identifier = (pointer_expression "&psVar22->st_dev" & (field_expression "psVar22->st_dev" identifier -> field_identifier))) ;) (expression_statement "psVar22 = (stat64 *)((int)psVar22 + (uint)bVar32 * -2 + 1);" (assignment_expression "psVar22 = (stat64 *)((int)psVar22 + (uint)bVar32 * -2 + 1)" identifier = (cast_expression "(stat64 *)((int)psVar22 + (uint)bVar32 * -2 + 1)" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)psVar22 + (uint)bVar32 * -2 + 1)" ( (binary_expression "(int)psVar22 + (uint)bVar32 * -2 + 1" (binary_expression "(int)psVar22 + (uint)bVar32 * -2" (cast_expression "(int)psVar22" ( (type_descriptor "int" primitive_type) ) identifier) + (binary_expression "(uint)bVar32 * -2" (cast_expression "(uint)bVar32" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal) )))) ;) }) while (parenthesized_expression "((char)*p_Var3 != '\0')" ( (binary_expression "(char)*p_Var3 != '\0'" (cast_expression "(char)*p_Var3" ( (type_descriptor "char" primitive_type) ) (pointer_expression "*p_Var3" * identifier)) != (char_literal "'\0'" ' escape_sequence ')) )) ;) (expression_statement "psVar25 = (stat64 *)(~uVar7 - 1);" (assignment_expression "psVar25 = (stat64 *)(~uVar7 - 1)" identifier = (cast_expression "(stat64 *)(~uVar7 - 1)" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(~uVar7 - 1)" ( (binary_expression "~uVar7 - 1" (unary_expression "~uVar7" ~ identifier) - number_literal) )))) ;) (if_statement "if ((char)local_91c->st_dev == '-') {\n      pr2serr("\'--lba\' cannot be read from stdin\n",pcVar15,psVar17,psVar9);\n      goto LAB_00012130;\n    }" if (parenthesized_expression "((char)local_91c->st_dev == '-')" ( (binary_expression "(char)local_91c->st_dev == '-'" (cast_expression "(char)local_91c->st_dev" ( (type_descriptor "char" primitive_type) ) (field_expression "local_91c->st_dev" identifier -> field_identifier)) == (char_literal "'-'" ' character ')) )) (compound_statement "{\n      pr2serr("\'--lba\' cannot be read from stdin\n",pcVar15,psVar17,psVar9);\n      goto LAB_00012130;\n    }" { (expression_statement "pr2serr("\'--lba\' cannot be read from stdin\n",pcVar15,psVar17,psVar9);" (call_expression "pr2serr("\'--lba\' cannot be read from stdin\n",pcVar15,psVar17,psVar9)" identifier (argument_list "("\'--lba\' cannot be read from stdin\n",pcVar15,psVar17,psVar9)" ( (string_literal ""\'--lba\' cannot be read from stdin\n"" " escape_sequence string_content escape_sequence string_content escape_sequence ") , identifier , identifier , identifier ))) ;) (goto_statement "goto LAB_00012130;" goto statement_identifier ;) })) (expression_statement "pcVar15 = "0123456789aAbBcCdDeEfFhHxXiIkKmMgGtTpP, ";" (assignment_expression "pcVar15 = "0123456789aAbBcCdDeEfFhHxXiIkKmMgGtTpP, "" identifier = (string_literal ""0123456789aAbBcCdDeEfFhHxXiIkKmMgGtTpP, "" " string_content ")) ;) (expression_statement "psVar17 = local_91c;" (assignment_expression "psVar17 = local_91c" identifier = identifier) ;) (expression_statement "psVar9 = local_91c;" (assignment_expression "psVar9 = local_91c" identifier = identifier) ;) (expression_statement "psVar8 = (stat64 *)strspn((char *)local_91c,"0123456789aAbBcCdDeEfFhHxXiIkKmMgGtTpP, ");" (assignment_expression "psVar8 = (stat64 *)strspn((char *)local_91c,"0123456789aAbBcCdDeEfFhHxXiIkKmMgGtTpP, ")" identifier = (cast_expression "(stat64 *)strspn((char *)local_91c,"0123456789aAbBcCdDeEfFhHxXiIkKmMgGtTpP, ")" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "strspn((char *)local_91c,"0123456789aAbBcCdDeEfFhHxXiIkKmMgGtTpP, ")" identifier (argument_list "((char *)local_91c,"0123456789aAbBcCdDeEfFhHxXiIkKmMgGtTpP, ")" ( (cast_expression "(char *)local_91c" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) , (string_literal ""0123456789aAbBcCdDeEfFhHxXiIkKmMgGtTpP, "" " string_content ") ))))) ;) (expression_statement "psVar22 = psVar25;" (assignment_expression "psVar22 = psVar25" identifier = identifier) ;) (if_statement "if (psVar25 == psVar8) {\n      psVar22 = (stat64 *)0x0;\n      psVar25 = local_91c;\n      while( true ) {\n        lVar34 = sg_get_llnum(psVar25,pcVar15,psVar17,psVar9);\n        psVar17 = (stat64 *)lVar34;\n        if (lVar34 == -1) break;\n        puVar42[(int)psVar22 * 2] = (uint)psVar17;\n        puVar42[(int)psVar22 * 2 + 1] = (uint)((ulonglong)lVar34 >> 0x20);\n        psVar9 = psVar17;\n        pcVar12 = strchr((char *)psVar25,0x2c);\n        pcVar15 = (char *)0x20;\n        pcVar13 = strchr((char *)psVar25,0x20);\n        if (pcVar12 == (char *)0x0) {\n          if (pcVar13 == (char *)0x0) {\n            local_91c = (stat64 *)((int)&psVar22->st_dev + 1);\n            if (local_93f != '\0') goto LAB_000126fa;\n            psVar22 = (stat64 *)0x0;\n            psVar17 = extraout_ECX;\n            if (local_91c != (stat64 *)0x1) goto LAB_00012a73;\n            goto LAB_00012820;\n          }\n        }\n        else if ((pcVar13 == (char *)0x0) || (pcVar12 <= pcVar13)) {\n          pcVar13 = pcVar12;\n        }\n        psVar22 = (stat64 *)((int)&psVar22->st_dev + 1);\n        psVar25 = (stat64 *)(pcVar13 + 1);\n        if (psVar22 == (stat64 *)0x80) goto LAB_00013b9f;\n      }\n      psVar8 = (stat64 *)((int)psVar25 - (int)local_91c);\n    }" if (parenthesized_expression "(psVar25 == psVar8)" ( (binary_expression "psVar25 == psVar8" identifier == identifier) )) (compound_statement "{\n      psVar22 = (stat64 *)0x0;\n      psVar25 = local_91c;\n      while( true ) {\n        lVar34 = sg_get_llnum(psVar25,pcVar15,psVar17,psVar9);\n        psVar17 = (stat64 *)lVar34;\n        if (lVar34 == -1) break;\n        puVar42[(int)psVar22 * 2] = (uint)psVar17;\n        puVar42[(int)psVar22 * 2 + 1] = (uint)((ulonglong)lVar34 >> 0x20);\n        psVar9 = psVar17;\n        pcVar12 = strchr((char *)psVar25,0x2c);\n        pcVar15 = (char *)0x20;\n        pcVar13 = strchr((char *)psVar25,0x20);\n        if (pcVar12 == (char *)0x0) {\n          if (pcVar13 == (char *)0x0) {\n            local_91c = (stat64 *)((int)&psVar22->st_dev + 1);\n            if (local_93f != '\0') goto LAB_000126fa;\n            psVar22 = (stat64 *)0x0;\n            psVar17 = extraout_ECX;\n            if (local_91c != (stat64 *)0x1) goto LAB_00012a73;\n            goto LAB_00012820;\n          }\n        }\n        else if ((pcVar13 == (char *)0x0) || (pcVar12 <= pcVar13)) {\n          pcVar13 = pcVar12;\n        }\n        psVar22 = (stat64 *)((int)&psVar22->st_dev + 1);\n        psVar25 = (stat64 *)(pcVar13 + 1);\n        if (psVar22 == (stat64 *)0x80) goto LAB_00013b9f;\n      }\n      psVar8 = (stat64 *)((int)psVar25 - (int)local_91c);\n    }" { (expression_statement "psVar22 = (stat64 *)0x0;" (assignment_expression "psVar22 = (stat64 *)0x0" identifier = (cast_expression "(stat64 *)0x0" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "psVar25 = local_91c;" (assignment_expression "psVar25 = local_91c" identifier = identifier) ;) (while_statement "while( true ) {\n        lVar34 = sg_get_llnum(psVar25,pcVar15,psVar17,psVar9);\n        psVar17 = (stat64 *)lVar34;\n        if (lVar34 == -1) break;\n        puVar42[(int)psVar22 * 2] = (uint)psVar17;\n        puVar42[(int)psVar22 * 2 + 1] = (uint)((ulonglong)lVar34 >> 0x20);\n        psVar9 = psVar17;\n        pcVar12 = strchr((char *)psVar25,0x2c);\n        pcVar15 = (char *)0x20;\n        pcVar13 = strchr((char *)psVar25,0x20);\n        if (pcVar12 == (char *)0x0) {\n          if (pcVar13 == (char *)0x0) {\n            local_91c = (stat64 *)((int)&psVar22->st_dev + 1);\n            if (local_93f != '\0') goto LAB_000126fa;\n            psVar22 = (stat64 *)0x0;\n            psVar17 = extraout_ECX;\n            if (local_91c != (stat64 *)0x1) goto LAB_00012a73;\n            goto LAB_00012820;\n          }\n        }\n        else if ((pcVar13 == (char *)0x0) || (pcVar12 <= pcVar13)) {\n          pcVar13 = pcVar12;\n        }\n        psVar22 = (stat64 *)((int)&psVar22->st_dev + 1);\n        psVar25 = (stat64 *)(pcVar13 + 1);\n        if (psVar22 == (stat64 *)0x80) goto LAB_00013b9f;\n      }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n        lVar34 = sg_get_llnum(psVar25,pcVar15,psVar17,psVar9);\n        psVar17 = (stat64 *)lVar34;\n        if (lVar34 == -1) break;\n        puVar42[(int)psVar22 * 2] = (uint)psVar17;\n        puVar42[(int)psVar22 * 2 + 1] = (uint)((ulonglong)lVar34 >> 0x20);\n        psVar9 = psVar17;\n        pcVar12 = strchr((char *)psVar25,0x2c);\n        pcVar15 = (char *)0x20;\n        pcVar13 = strchr((char *)psVar25,0x20);\n        if (pcVar12 == (char *)0x0) {\n          if (pcVar13 == (char *)0x0) {\n            local_91c = (stat64 *)((int)&psVar22->st_dev + 1);\n            if (local_93f != '\0') goto LAB_000126fa;\n            psVar22 = (stat64 *)0x0;\n            psVar17 = extraout_ECX;\n            if (local_91c != (stat64 *)0x1) goto LAB_00012a73;\n            goto LAB_00012820;\n          }\n        }\n        else if ((pcVar13 == (char *)0x0) || (pcVar12 <= pcVar13)) {\n          pcVar13 = pcVar12;\n        }\n        psVar22 = (stat64 *)((int)&psVar22->st_dev + 1);\n        psVar25 = (stat64 *)(pcVar13 + 1);\n        if (psVar22 == (stat64 *)0x80) goto LAB_00013b9f;\n      }" { (expression_statement "lVar34 = sg_get_llnum(psVar25,pcVar15,psVar17,psVar9);" (assignment_expression "lVar34 = sg_get_llnum(psVar25,pcVar15,psVar17,psVar9)" identifier = (call_expression "sg_get_llnum(psVar25,pcVar15,psVar17,psVar9)" identifier (argument_list "(psVar25,pcVar15,psVar17,psVar9)" ( identifier , identifier , identifier , identifier )))) ;) (expression_statement "psVar17 = (stat64 *)lVar34;" (assignment_expression "psVar17 = (stat64 *)lVar34" identifier = (cast_expression "(stat64 *)lVar34" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (if_statement "if (lVar34 == -1) break;" if (parenthesized_expression "(lVar34 == -1)" ( (binary_expression "lVar34 == -1" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "puVar42[(int)psVar22 * 2] = (uint)psVar17;" (assignment_expression "puVar42[(int)psVar22 * 2] = (uint)psVar17" (subscript_expression "puVar42[(int)psVar22 * 2]" identifier [ (binary_expression "(int)psVar22 * 2" (cast_expression "(int)psVar22" ( (type_descriptor "int" primitive_type) ) identifier) * number_literal) ]) = (cast_expression "(uint)psVar17" ( (type_descriptor "uint" type_identifier) ) identifier)) ;) (expression_statement "puVar42[(int)psVar22 * 2 + 1] = (uint)((ulonglong)lVar34 >> 0x20);" (assignment_expression "puVar42[(int)psVar22 * 2 + 1] = (uint)((ulonglong)lVar34 >> 0x20)" (subscript_expression "puVar42[(int)psVar22 * 2 + 1]" identifier [ (binary_expression "(int)psVar22 * 2 + 1" (binary_expression "(int)psVar22 * 2" (cast_expression "(int)psVar22" ( (type_descriptor "int" primitive_type) ) identifier) * number_literal) + number_literal) ]) = (call_expression "(uint)((ulonglong)lVar34 >> 0x20)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((ulonglong)lVar34 >> 0x20)" ( (binary_expression "(ulonglong)lVar34 >> 0x20" (cast_expression "(ulonglong)lVar34" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) )))) ;) (expression_statement "psVar9 = psVar17;" (assignment_expression "psVar9 = psVar17" identifier = identifier) ;) (expression_statement "pcVar12 = strchr((char *)psVar25,0x2c);" (assignment_expression "pcVar12 = strchr((char *)psVar25,0x2c)" identifier = (call_expression "strchr((char *)psVar25,0x2c)" identifier (argument_list "((char *)psVar25,0x2c)" ( (cast_expression "(char *)psVar25" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) , number_literal )))) ;) (expression_statement "pcVar15 = (char *)0x20;" (assignment_expression "pcVar15 = (char *)0x20" identifier = (cast_expression "(char *)0x20" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "pcVar13 = strchr((char *)psVar25,0x20);" (assignment_expression "pcVar13 = strchr((char *)psVar25,0x20)" identifier = (call_expression "strchr((char *)psVar25,0x20)" identifier (argument_list "((char *)psVar25,0x20)" ( (cast_expression "(char *)psVar25" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) , number_literal )))) ;) (if_statement "if (pcVar12 == (char *)0x0) {\n          if (pcVar13 == (char *)0x0) {\n            local_91c = (stat64 *)((int)&psVar22->st_dev + 1);\n            if (local_93f != '\0') goto LAB_000126fa;\n            psVar22 = (stat64 *)0x0;\n            psVar17 = extraout_ECX;\n            if (local_91c != (stat64 *)0x1) goto LAB_00012a73;\n            goto LAB_00012820;\n          }\n        }\n        else if ((pcVar13 == (char *)0x0) || (pcVar12 <= pcVar13)) {\n          pcVar13 = pcVar12;\n        }" if (parenthesized_expression "(pcVar12 == (char *)0x0)" ( (binary_expression "pcVar12 == (char *)0x0" identifier == (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n          if (pcVar13 == (char *)0x0) {\n            local_91c = (stat64 *)((int)&psVar22->st_dev + 1);\n            if (local_93f != '\0') goto LAB_000126fa;\n            psVar22 = (stat64 *)0x0;\n            psVar17 = extraout_ECX;\n            if (local_91c != (stat64 *)0x1) goto LAB_00012a73;\n            goto LAB_00012820;\n          }\n        }" { (if_statement "if (pcVar13 == (char *)0x0) {\n            local_91c = (stat64 *)((int)&psVar22->st_dev + 1);\n            if (local_93f != '\0') goto LAB_000126fa;\n            psVar22 = (stat64 *)0x0;\n            psVar17 = extraout_ECX;\n            if (local_91c != (stat64 *)0x1) goto LAB_00012a73;\n            goto LAB_00012820;\n          }" if (parenthesized_expression "(pcVar13 == (char *)0x0)" ( (binary_expression "pcVar13 == (char *)0x0" identifier == (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n            local_91c = (stat64 *)((int)&psVar22->st_dev + 1);\n            if (local_93f != '\0') goto LAB_000126fa;\n            psVar22 = (stat64 *)0x0;\n            psVar17 = extraout_ECX;\n            if (local_91c != (stat64 *)0x1) goto LAB_00012a73;\n            goto LAB_00012820;\n          }" { (expression_statement "local_91c = (stat64 *)((int)&psVar22->st_dev + 1);" (assignment_expression "local_91c = (stat64 *)((int)&psVar22->st_dev + 1)" identifier = (cast_expression "(stat64 *)((int)&psVar22->st_dev + 1)" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&psVar22->st_dev + 1)" ( (binary_expression "(int)&psVar22->st_dev + 1" (cast_expression "(int)&psVar22->st_dev" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&psVar22->st_dev" & (field_expression "psVar22->st_dev" identifier -> field_identifier))) + number_literal) )))) ;) (if_statement "if (local_93f != '\0') goto LAB_000126fa;" if (parenthesized_expression "(local_93f != '\0')" ( (binary_expression "local_93f != '\0'" identifier != (char_literal "'\0'" ' escape_sequence ')) )) (goto_statement "goto LAB_000126fa;" goto statement_identifier ;)) (expression_statement "psVar22 = (stat64 *)0x0;" (assignment_expression "psVar22 = (stat64 *)0x0" identifier = (cast_expression "(stat64 *)0x0" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "psVar17 = extraout_ECX;" (assignment_expression "psVar17 = extraout_ECX" identifier = identifier) ;) (if_statement "if (local_91c != (stat64 *)0x1) goto LAB_00012a73;" if (parenthesized_expression "(local_91c != (stat64 *)0x1)" ( (binary_expression "local_91c != (stat64 *)0x1" identifier != (cast_expression "(stat64 *)0x1" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_00012a73;" goto statement_identifier ;)) (goto_statement "goto LAB_00012820;" goto statement_identifier ;) })) }) (else_clause "else if ((pcVar13 == (char *)0x0) || (pcVar12 <= pcVar13)) {\n          pcVar13 = pcVar12;\n        }" else (if_statement "if ((pcVar13 == (char *)0x0) || (pcVar12 <= pcVar13)) {\n          pcVar13 = pcVar12;\n        }" if (parenthesized_expression "((pcVar13 == (char *)0x0) || (pcVar12 <= pcVar13))" ( (binary_expression "(pcVar13 == (char *)0x0) || (pcVar12 <= pcVar13)" (parenthesized_expression "(pcVar13 == (char *)0x0)" ( (binary_expression "pcVar13 == (char *)0x0" identifier == (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) || (parenthesized_expression "(pcVar12 <= pcVar13)" ( (binary_expression "pcVar12 <= pcVar13" identifier <= identifier) ))) )) (compound_statement "{\n          pcVar13 = pcVar12;\n        }" { (expression_statement "pcVar13 = pcVar12;" (assignment_expression "pcVar13 = pcVar12" identifier = identifier) ;) })))) (expression_statement "psVar22 = (stat64 *)((int)&psVar22->st_dev + 1);" (assignment_expression "psVar22 = (stat64 *)((int)&psVar22->st_dev + 1)" identifier = (cast_expression "(stat64 *)((int)&psVar22->st_dev + 1)" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&psVar22->st_dev + 1)" ( (binary_expression "(int)&psVar22->st_dev + 1" (cast_expression "(int)&psVar22->st_dev" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&psVar22->st_dev" & (field_expression "psVar22->st_dev" identifier -> field_identifier))) + number_literal) )))) ;) (expression_statement "psVar25 = (stat64 *)(pcVar13 + 1);" (assignment_expression "psVar25 = (stat64 *)(pcVar13 + 1)" identifier = (cast_expression "(stat64 *)(pcVar13 + 1)" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar13 + 1)" ( (binary_expression "pcVar13 + 1" identifier + number_literal) )))) ;) (if_statement "if (psVar22 == (stat64 *)0x80) goto LAB_00013b9f;" if (parenthesized_expression "(psVar22 == (stat64 *)0x80)" ( (binary_expression "psVar22 == (stat64 *)0x80" identifier == (cast_expression "(stat64 *)0x80" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_00013b9f;" goto statement_identifier ;)) })) (expression_statement "psVar8 = (stat64 *)((int)psVar25 - (int)local_91c);" (assignment_expression "psVar8 = (stat64 *)((int)psVar25 - (int)local_91c)" identifier = (cast_expression "(stat64 *)((int)psVar25 - (int)local_91c)" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)psVar25 - (int)local_91c)" ( (binary_expression "(int)psVar25 - (int)local_91c" (cast_expression "(int)psVar25" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)local_91c" ( (type_descriptor "int" primitive_type) ) identifier)) )))) ;) })) (expression_statement "pr2serr("build_lba_arr: error at pos %d\n",(undefined *)((int)&psVar8->st_dev + 1),psVar22,\n            psVar22);" (call_expression "pr2serr("build_lba_arr: error at pos %d\n",(undefined *)((int)&psVar8->st_dev + 1),psVar22,\n            psVar22)" identifier (argument_list "("build_lba_arr: error at pos %d\n",(undefined *)((int)&psVar8->st_dev + 1),psVar22,\n            psVar22)" ( (string_literal ""build_lba_arr: error at pos %d\n"" " string_content escape_sequence ") , (cast_expression "(undefined *)((int)&psVar8->st_dev + 1)" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&psVar8->st_dev + 1)" ( (binary_expression "(int)&psVar8->st_dev + 1" (cast_expression "(int)&psVar8->st_dev" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&psVar8->st_dev" & (field_expression "psVar8->st_dev" identifier -> field_identifier))) + number_literal) ))) , identifier , identifier ))) ;) (goto_statement "goto LAB_00012130;" goto statement_identifier ;) })) (expression_statement "local_91c = (stat64 *)0x0;" (assignment_expression "local_91c = (stat64 *)0x0" identifier = (cast_expression "(stat64 *)0x0" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (if_statement "if (bVar30) {\nLAB_000126fa:\n    psVar8 = (stat64 *)0xffffffff;\n    psVar22 = local_918;\n    do {\n      if (psVar8 == (stat64 *)0x0) break;\n      psVar8 = (stat64 *)((int)&psVar8[-1].st_ino + 7);\n      p_Var3 = &psVar22->st_dev;\n      psVar22 = (stat64 *)((int)psVar22 + (uint)bVar32 * -2 + 1);\n    } while ((char)*p_Var3 != '\0');\n    psVar25 = (stat64 *)(~(uint)psVar8 - 1);\n    if ((char)local_918->st_dev == '-') {\n      pr2serr("\'--len\' cannot be read from stdin\n");\n    }\n    else {\n      pcVar15 = "0123456789aAbBcCdDeEfFhHxXiIkKmMgGtTpP, ";\n      psVar17 = psVar8;\n      psVar22 = (stat64 *)strspn((char *)local_918,"0123456789aAbBcCdDeEfFhHxXiIkKmMgGtTpP, ");\n      psVar9 = extraout_EDX_00;\n      if (psVar25 == psVar22) {\n        psVar9 = (stat64 *)0x0;\n        psVar25 = local_918;\n        do {\n          lVar34 = sg_get_llnum(psVar25,pcVar15,psVar8,psVar17);\n          psVar8 = (stat64 *)lVar34;\n          if ((int)((ulonglong)lVar34 >> 0x20) == -1) {\n            if (psVar8 == (stat64 *)0xffffffff) {\n              psVar22 = (stat64 *)((int)psVar25 - (int)local_918);\n              goto LAB_000127bf;\n            }\n          }\n          else if (0xffffffff < lVar34) {\n            psVar17 = (stat64 *)((int)psVar25 + (1 - (int)local_918));\n            pcVar15 = "build_num_arr";\n            pr2serr("%s: number exceeds 32 bits at pos %d\n","build_num_arr",psVar17,psVar9);\n            goto LAB_000127d9;\n          }\n          ppsVar44[(int)psVar9] = psVar8;\n          psVar17 = psVar8;\n          pcVar12 = strchr((char *)psVar25,0x2c);\n          pcVar15 = (char *)0x20;\n          pcVar13 = strchr((char *)psVar25,0x20);\n          if (pcVar12 == (char *)0x0) {\n            if (pcVar13 == (char *)0x0) {\n              puVar20 = (undefined *)((int)&psVar9->st_dev + 1);\n              psVar22 = (stat64 *)0x0;\n              psVar17 = extraout_ECX_00;\n              if ((undefined *)0x1 < local_91c) {\n                if ((stat64 *)puVar20 == local_91c) goto LAB_00012820;\n                goto LAB_00012a73;\n              }\n              if (local_91c == (stat64 *)0x0) {\n                if (puVar20 != (undefined *)0x1) {\nLAB_00012a73:\n                  pr2serr("need same number of arguments to \'--lba=\' and \'--num=\' options\n");\n                  local_908 = (stat64 *)0x1f;\n                  goto LAB_00012354;\n                }\n                local_91c = (stat64 *)(undefined *)0x1;\n                if (local_778[0] != (stat64 *)0x0) {\n                  pr2serr("won\'t write %u blocks without an explicit --lba= option\n",local_778[0],\n                          extraout_ECX_00,extraout_ECX_00);\n                  local_908 = (stat64 *)0x1;\n                  goto LAB_00012354;\n                }\n              }\n              else {\n                local_91c = (stat64 *)(undefined *)0x1;\n              }\n              goto LAB_00012820;\n            }\n          }\n          else if ((pcVar13 == (char *)0x0) || (pcVar12 <= pcVar13)) {\n            pcVar13 = pcVar12;\n          }\n          psVar9 = (stat64 *)((int)&psVar9->st_dev + 1);\n          psVar25 = (stat64 *)(pcVar13 + 1);\n        } while (psVar9 != (stat64 *)0x80);\n        pcVar15 = "build_num_arr";\n        psVar17 = extraout_ECX_00;\n        psVar9 = extraout_ECX_00;\n        pr2serr("%s: array length exceeded\n","build_num_arr",extraout_ECX_00,extraout_ECX_00);\n      }\n      else {\nLAB_000127bf:\n        psVar17 = (stat64 *)((int)&psVar22->st_dev + 1);\n        pcVar15 = "build_num_arr";\n        pr2serr("%s: error at pos %d\n","build_num_arr",psVar17,psVar9);\n      }\n    }\nLAB_000127d9:\n    pr2serr("bad argument to \'--num\'\n",pcVar15,psVar17,psVar9);\n    local_908 = (stat64 *)0x0;\n    goto LAB_00012354;\n  }" if (parenthesized_expression "(bVar30)" ( identifier )) (compound_statement "{\nLAB_000126fa:\n    psVar8 = (stat64 *)0xffffffff;\n    psVar22 = local_918;\n    do {\n      if (psVar8 == (stat64 *)0x0) break;\n      psVar8 = (stat64 *)((int)&psVar8[-1].st_ino + 7);\n      p_Var3 = &psVar22->st_dev;\n      psVar22 = (stat64 *)((int)psVar22 + (uint)bVar32 * -2 + 1);\n    } while ((char)*p_Var3 != '\0');\n    psVar25 = (stat64 *)(~(uint)psVar8 - 1);\n    if ((char)local_918->st_dev == '-') {\n      pr2serr("\'--len\' cannot be read from stdin\n");\n    }\n    else {\n      pcVar15 = "0123456789aAbBcCdDeEfFhHxXiIkKmMgGtTpP, ";\n      psVar17 = psVar8;\n      psVar22 = (stat64 *)strspn((char *)local_918,"0123456789aAbBcCdDeEfFhHxXiIkKmMgGtTpP, ");\n      psVar9 = extraout_EDX_00;\n      if (psVar25 == psVar22) {\n        psVar9 = (stat64 *)0x0;\n        psVar25 = local_918;\n        do {\n          lVar34 = sg_get_llnum(psVar25,pcVar15,psVar8,psVar17);\n          psVar8 = (stat64 *)lVar34;\n          if ((int)((ulonglong)lVar34 >> 0x20) == -1) {\n            if (psVar8 == (stat64 *)0xffffffff) {\n              psVar22 = (stat64 *)((int)psVar25 - (int)local_918);\n              goto LAB_000127bf;\n            }\n          }\n          else if (0xffffffff < lVar34) {\n            psVar17 = (stat64 *)((int)psVar25 + (1 - (int)local_918));\n            pcVar15 = "build_num_arr";\n            pr2serr("%s: number exceeds 32 bits at pos %d\n","build_num_arr",psVar17,psVar9);\n            goto LAB_000127d9;\n          }\n          ppsVar44[(int)psVar9] = psVar8;\n          psVar17 = psVar8;\n          pcVar12 = strchr((char *)psVar25,0x2c);\n          pcVar15 = (char *)0x20;\n          pcVar13 = strchr((char *)psVar25,0x20);\n          if (pcVar12 == (char *)0x0) {\n            if (pcVar13 == (char *)0x0) {\n              puVar20 = (undefined *)((int)&psVar9->st_dev + 1);\n              psVar22 = (stat64 *)0x0;\n              psVar17 = extraout_ECX_00;\n              if ((undefined *)0x1 < local_91c) {\n                if ((stat64 *)puVar20 == local_91c) goto LAB_00012820;\n                goto LAB_00012a73;\n              }\n              if (local_91c == (stat64 *)0x0) {\n                if (puVar20 != (undefined *)0x1) {\nLAB_00012a73:\n                  pr2serr("need same number of arguments to \'--lba=\' and \'--num=\' options\n");\n                  local_908 = (stat64 *)0x1f;\n                  goto LAB_00012354;\n                }\n                local_91c = (stat64 *)(undefined *)0x1;\n                if (local_778[0] != (stat64 *)0x0) {\n                  pr2serr("won\'t write %u blocks without an explicit --lba= option\n",local_778[0],\n                          extraout_ECX_00,extraout_ECX_00);\n                  local_908 = (stat64 *)0x1;\n                  goto LAB_00012354;\n                }\n              }\n              else {\n                local_91c = (stat64 *)(undefined *)0x1;\n              }\n              goto LAB_00012820;\n            }\n          }\n          else if ((pcVar13 == (char *)0x0) || (pcVar12 <= pcVar13)) {\n            pcVar13 = pcVar12;\n          }\n          psVar9 = (stat64 *)((int)&psVar9->st_dev + 1);\n          psVar25 = (stat64 *)(pcVar13 + 1);\n        } while (psVar9 != (stat64 *)0x80);\n        pcVar15 = "build_num_arr";\n        psVar17 = extraout_ECX_00;\n        psVar9 = extraout_ECX_00;\n        pr2serr("%s: array length exceeded\n","build_num_arr",extraout_ECX_00,extraout_ECX_00);\n      }\n      else {\nLAB_000127bf:\n        psVar17 = (stat64 *)((int)&psVar22->st_dev + 1);\n        pcVar15 = "build_num_arr";\n        pr2serr("%s: error at pos %d\n","build_num_arr",psVar17,psVar9);\n      }\n    }\nLAB_000127d9:\n    pr2serr("bad argument to \'--num\'\n",pcVar15,psVar17,psVar9);\n    local_908 = (stat64 *)0x0;\n    goto LAB_00012354;\n  }" { (labeled_statement "LAB_000126fa:\n    psVar8 = (stat64 *)0xffffffff;" statement_identifier : (expression_statement "psVar8 = (stat64 *)0xffffffff;" (assignment_expression "psVar8 = (stat64 *)0xffffffff" identifier = (cast_expression "(stat64 *)0xffffffff" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;)) (expression_statement "psVar22 = local_918;" (assignment_expression "psVar22 = local_918" identifier = identifier) ;) (do_statement "do {\n      if (psVar8 == (stat64 *)0x0) break;\n      psVar8 = (stat64 *)((int)&psVar8[-1].st_ino + 7);\n      p_Var3 = &psVar22->st_dev;\n      psVar22 = (stat64 *)((int)psVar22 + (uint)bVar32 * -2 + 1);\n    } while ((char)*p_Var3 != '\0');" do (compound_statement "{\n      if (psVar8 == (stat64 *)0x0) break;\n      psVar8 = (stat64 *)((int)&psVar8[-1].st_ino + 7);\n      p_Var3 = &psVar22->st_dev;\n      psVar22 = (stat64 *)((int)psVar22 + (uint)bVar32 * -2 + 1);\n    }" { (if_statement "if (psVar8 == (stat64 *)0x0) break;" if (parenthesized_expression "(psVar8 == (stat64 *)0x0)" ( (binary_expression "psVar8 == (stat64 *)0x0" identifier == (cast_expression "(stat64 *)0x0" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (break_statement "break;" break ;)) (expression_statement "psVar8 = (stat64 *)((int)&psVar8[-1].st_ino + 7);" (assignment_expression "psVar8 = (stat64 *)((int)&psVar8[-1].st_ino + 7)" identifier = (cast_expression "(stat64 *)((int)&psVar8[-1].st_ino + 7)" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&psVar8[-1].st_ino + 7)" ( (binary_expression "(int)&psVar8[-1].st_ino + 7" (cast_expression "(int)&psVar8[-1].st_ino" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&psVar8[-1].st_ino" & (field_expression "psVar8[-1].st_ino" (subscript_expression "psVar8[-1]" identifier [ number_literal ]) . field_identifier))) + number_literal) )))) ;) (expression_statement "p_Var3 = &psVar22->st_dev;" (assignment_expression "p_Var3 = &psVar22->st_dev" identifier = (pointer_expression "&psVar22->st_dev" & (field_expression "psVar22->st_dev" identifier -> field_identifier))) ;) (expression_statement "psVar22 = (stat64 *)((int)psVar22 + (uint)bVar32 * -2 + 1);" (assignment_expression "psVar22 = (stat64 *)((int)psVar22 + (uint)bVar32 * -2 + 1)" identifier = (cast_expression "(stat64 *)((int)psVar22 + (uint)bVar32 * -2 + 1)" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)psVar22 + (uint)bVar32 * -2 + 1)" ( (binary_expression "(int)psVar22 + (uint)bVar32 * -2 + 1" (binary_expression "(int)psVar22 + (uint)bVar32 * -2" (cast_expression "(int)psVar22" ( (type_descriptor "int" primitive_type) ) identifier) + (binary_expression "(uint)bVar32 * -2" (cast_expression "(uint)bVar32" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal) )))) ;) }) while (parenthesized_expression "((char)*p_Var3 != '\0')" ( (binary_expression "(char)*p_Var3 != '\0'" (cast_expression "(char)*p_Var3" ( (type_descriptor "char" primitive_type) ) (pointer_expression "*p_Var3" * identifier)) != (char_literal "'\0'" ' escape_sequence ')) )) ;) (expression_statement "psVar25 = (stat64 *)(~(uint)psVar8 - 1);" (assignment_expression "psVar25 = (stat64 *)(~(uint)psVar8 - 1)" identifier = (cast_expression "(stat64 *)(~(uint)psVar8 - 1)" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(~(uint)psVar8 - 1)" ( (binary_expression "~(uint)psVar8 - 1" (unary_expression "~(uint)psVar8" ~ (cast_expression "(uint)psVar8" ( (type_descriptor "uint" type_identifier) ) identifier)) - number_literal) )))) ;) (if_statement "if ((char)local_918->st_dev == '-') {\n      pr2serr("\'--len\' cannot be read from stdin\n");\n    }\n    else {\n      pcVar15 = "0123456789aAbBcCdDeEfFhHxXiIkKmMgGtTpP, ";\n      psVar17 = psVar8;\n      psVar22 = (stat64 *)strspn((char *)local_918,"0123456789aAbBcCdDeEfFhHxXiIkKmMgGtTpP, ");\n      psVar9 = extraout_EDX_00;\n      if (psVar25 == psVar22) {\n        psVar9 = (stat64 *)0x0;\n        psVar25 = local_918;\n        do {\n          lVar34 = sg_get_llnum(psVar25,pcVar15,psVar8,psVar17);\n          psVar8 = (stat64 *)lVar34;\n          if ((int)((ulonglong)lVar34 >> 0x20) == -1) {\n            if (psVar8 == (stat64 *)0xffffffff) {\n              psVar22 = (stat64 *)((int)psVar25 - (int)local_918);\n              goto LAB_000127bf;\n            }\n          }\n          else if (0xffffffff < lVar34) {\n            psVar17 = (stat64 *)((int)psVar25 + (1 - (int)local_918));\n            pcVar15 = "build_num_arr";\n            pr2serr("%s: number exceeds 32 bits at pos %d\n","build_num_arr",psVar17,psVar9);\n            goto LAB_000127d9;\n          }\n          ppsVar44[(int)psVar9] = psVar8;\n          psVar17 = psVar8;\n          pcVar12 = strchr((char *)psVar25,0x2c);\n          pcVar15 = (char *)0x20;\n          pcVar13 = strchr((char *)psVar25,0x20);\n          if (pcVar12 == (char *)0x0) {\n            if (pcVar13 == (char *)0x0) {\n              puVar20 = (undefined *)((int)&psVar9->st_dev + 1);\n              psVar22 = (stat64 *)0x0;\n              psVar17 = extraout_ECX_00;\n              if ((undefined *)0x1 < local_91c) {\n                if ((stat64 *)puVar20 == local_91c) goto LAB_00012820;\n                goto LAB_00012a73;\n              }\n              if (local_91c == (stat64 *)0x0) {\n                if (puVar20 != (undefined *)0x1) {\nLAB_00012a73:\n                  pr2serr("need same number of arguments to \'--lba=\' and \'--num=\' options\n");\n                  local_908 = (stat64 *)0x1f;\n                  goto LAB_00012354;\n                }\n                local_91c = (stat64 *)(undefined *)0x1;\n                if (local_778[0] != (stat64 *)0x0) {\n                  pr2serr("won\'t write %u blocks without an explicit --lba= option\n",local_778[0],\n                          extraout_ECX_00,extraout_ECX_00);\n                  local_908 = (stat64 *)0x1;\n                  goto LAB_00012354;\n                }\n              }\n              else {\n                local_91c = (stat64 *)(undefined *)0x1;\n              }\n              goto LAB_00012820;\n            }\n          }\n          else if ((pcVar13 == (char *)0x0) || (pcVar12 <= pcVar13)) {\n            pcVar13 = pcVar12;\n          }\n          psVar9 = (stat64 *)((int)&psVar9->st_dev + 1);\n          psVar25 = (stat64 *)(pcVar13 + 1);\n        } while (psVar9 != (stat64 *)0x80);\n        pcVar15 = "build_num_arr";\n        psVar17 = extraout_ECX_00;\n        psVar9 = extraout_ECX_00;\n        pr2serr("%s: array length exceeded\n","build_num_arr",extraout_ECX_00,extraout_ECX_00);\n      }\n      else {\nLAB_000127bf:\n        psVar17 = (stat64 *)((int)&psVar22->st_dev + 1);\n        pcVar15 = "build_num_arr";\n        pr2serr("%s: error at pos %d\n","build_num_arr",psVar17,psVar9);\n      }\n    }" if (parenthesized_expression "((char)local_918->st_dev == '-')" ( (binary_expression "(char)local_918->st_dev == '-'" (cast_expression "(char)local_918->st_dev" ( (type_descriptor "char" primitive_type) ) (field_expression "local_918->st_dev" identifier -> field_identifier)) == (char_literal "'-'" ' character ')) )) (compound_statement "{\n      pr2serr("\'--len\' cannot be read from stdin\n");\n    }" { (expression_statement "pr2serr("\'--len\' cannot be read from stdin\n");" (call_expression "pr2serr("\'--len\' cannot be read from stdin\n")" identifier (argument_list "("\'--len\' cannot be read from stdin\n")" ( (string_literal ""\'--len\' cannot be read from stdin\n"" " escape_sequence string_content escape_sequence string_content escape_sequence ") ))) ;) }) (else_clause "else {\n      pcVar15 = "0123456789aAbBcCdDeEfFhHxXiIkKmMgGtTpP, ";\n      psVar17 = psVar8;\n      psVar22 = (stat64 *)strspn((char *)local_918,"0123456789aAbBcCdDeEfFhHxXiIkKmMgGtTpP, ");\n      psVar9 = extraout_EDX_00;\n      if (psVar25 == psVar22) {\n        psVar9 = (stat64 *)0x0;\n        psVar25 = local_918;\n        do {\n          lVar34 = sg_get_llnum(psVar25,pcVar15,psVar8,psVar17);\n          psVar8 = (stat64 *)lVar34;\n          if ((int)((ulonglong)lVar34 >> 0x20) == -1) {\n            if (psVar8 == (stat64 *)0xffffffff) {\n              psVar22 = (stat64 *)((int)psVar25 - (int)local_918);\n              goto LAB_000127bf;\n            }\n          }\n          else if (0xffffffff < lVar34) {\n            psVar17 = (stat64 *)((int)psVar25 + (1 - (int)local_918));\n            pcVar15 = "build_num_arr";\n            pr2serr("%s: number exceeds 32 bits at pos %d\n","build_num_arr",psVar17,psVar9);\n            goto LAB_000127d9;\n          }\n          ppsVar44[(int)psVar9] = psVar8;\n          psVar17 = psVar8;\n          pcVar12 = strchr((char *)psVar25,0x2c);\n          pcVar15 = (char *)0x20;\n          pcVar13 = strchr((char *)psVar25,0x20);\n          if (pcVar12 == (char *)0x0) {\n            if (pcVar13 == (char *)0x0) {\n              puVar20 = (undefined *)((int)&psVar9->st_dev + 1);\n              psVar22 = (stat64 *)0x0;\n              psVar17 = extraout_ECX_00;\n              if ((undefined *)0x1 < local_91c) {\n                if ((stat64 *)puVar20 == local_91c) goto LAB_00012820;\n                goto LAB_00012a73;\n              }\n              if (local_91c == (stat64 *)0x0) {\n                if (puVar20 != (undefined *)0x1) {\nLAB_00012a73:\n                  pr2serr("need same number of arguments to \'--lba=\' and \'--num=\' options\n");\n                  local_908 = (stat64 *)0x1f;\n                  goto LAB_00012354;\n                }\n                local_91c = (stat64 *)(undefined *)0x1;\n                if (local_778[0] != (stat64 *)0x0) {\n                  pr2serr("won\'t write %u blocks without an explicit --lba= option\n",local_778[0],\n                          extraout_ECX_00,extraout_ECX_00);\n                  local_908 = (stat64 *)0x1;\n                  goto LAB_00012354;\n                }\n              }\n              else {\n                local_91c = (stat64 *)(undefined *)0x1;\n              }\n              goto LAB_00012820;\n            }\n          }\n          else if ((pcVar13 == (char *)0x0) || (pcVar12 <= pcVar13)) {\n            pcVar13 = pcVar12;\n          }\n          psVar9 = (stat64 *)((int)&psVar9->st_dev + 1);\n          psVar25 = (stat64 *)(pcVar13 + 1);\n        } while (psVar9 != (stat64 *)0x80);\n        pcVar15 = "build_num_arr";\n        psVar17 = extraout_ECX_00;\n        psVar9 = extraout_ECX_00;\n        pr2serr("%s: array length exceeded\n","build_num_arr",extraout_ECX_00,extraout_ECX_00);\n      }\n      else {\nLAB_000127bf:\n        psVar17 = (stat64 *)((int)&psVar22->st_dev + 1);\n        pcVar15 = "build_num_arr";\n        pr2serr("%s: error at pos %d\n","build_num_arr",psVar17,psVar9);\n      }\n    }" else (compound_statement "{\n      pcVar15 = "0123456789aAbBcCdDeEfFhHxXiIkKmMgGtTpP, ";\n      psVar17 = psVar8;\n      psVar22 = (stat64 *)strspn((char *)local_918,"0123456789aAbBcCdDeEfFhHxXiIkKmMgGtTpP, ");\n      psVar9 = extraout_EDX_00;\n      if (psVar25 == psVar22) {\n        psVar9 = (stat64 *)0x0;\n        psVar25 = local_918;\n        do {\n          lVar34 = sg_get_llnum(psVar25,pcVar15,psVar8,psVar17);\n          psVar8 = (stat64 *)lVar34;\n          if ((int)((ulonglong)lVar34 >> 0x20) == -1) {\n            if (psVar8 == (stat64 *)0xffffffff) {\n              psVar22 = (stat64 *)((int)psVar25 - (int)local_918);\n              goto LAB_000127bf;\n            }\n          }\n          else if (0xffffffff < lVar34) {\n            psVar17 = (stat64 *)((int)psVar25 + (1 - (int)local_918));\n            pcVar15 = "build_num_arr";\n            pr2serr("%s: number exceeds 32 bits at pos %d\n","build_num_arr",psVar17,psVar9);\n            goto LAB_000127d9;\n          }\n          ppsVar44[(int)psVar9] = psVar8;\n          psVar17 = psVar8;\n          pcVar12 = strchr((char *)psVar25,0x2c);\n          pcVar15 = (char *)0x20;\n          pcVar13 = strchr((char *)psVar25,0x20);\n          if (pcVar12 == (char *)0x0) {\n            if (pcVar13 == (char *)0x0) {\n              puVar20 = (undefined *)((int)&psVar9->st_dev + 1);\n              psVar22 = (stat64 *)0x0;\n              psVar17 = extraout_ECX_00;\n              if ((undefined *)0x1 < local_91c) {\n                if ((stat64 *)puVar20 == local_91c) goto LAB_00012820;\n                goto LAB_00012a73;\n              }\n              if (local_91c == (stat64 *)0x0) {\n                if (puVar20 != (undefined *)0x1) {\nLAB_00012a73:\n                  pr2serr("need same number of arguments to \'--lba=\' and \'--num=\' options\n");\n                  local_908 = (stat64 *)0x1f;\n                  goto LAB_00012354;\n                }\n                local_91c = (stat64 *)(undefined *)0x1;\n                if (local_778[0] != (stat64 *)0x0) {\n                  pr2serr("won\'t write %u blocks without an explicit --lba= option\n",local_778[0],\n                          extraout_ECX_00,extraout_ECX_00);\n                  local_908 = (stat64 *)0x1;\n                  goto LAB_00012354;\n                }\n              }\n              else {\n                local_91c = (stat64 *)(undefined *)0x1;\n              }\n              goto LAB_00012820;\n            }\n          }\n          else if ((pcVar13 == (char *)0x0) || (pcVar12 <= pcVar13)) {\n            pcVar13 = pcVar12;\n          }\n          psVar9 = (stat64 *)((int)&psVar9->st_dev + 1);\n          psVar25 = (stat64 *)(pcVar13 + 1);\n        } while (psVar9 != (stat64 *)0x80);\n        pcVar15 = "build_num_arr";\n        psVar17 = extraout_ECX_00;\n        psVar9 = extraout_ECX_00;\n        pr2serr("%s: array length exceeded\n","build_num_arr",extraout_ECX_00,extraout_ECX_00);\n      }\n      else {\nLAB_000127bf:\n        psVar17 = (stat64 *)((int)&psVar22->st_dev + 1);\n        pcVar15 = "build_num_arr";\n        pr2serr("%s: error at pos %d\n","build_num_arr",psVar17,psVar9);\n      }\n    }" { (expression_statement "pcVar15 = "0123456789aAbBcCdDeEfFhHxXiIkKmMgGtTpP, ";" (assignment_expression "pcVar15 = "0123456789aAbBcCdDeEfFhHxXiIkKmMgGtTpP, "" identifier = (string_literal ""0123456789aAbBcCdDeEfFhHxXiIkKmMgGtTpP, "" " string_content ")) ;) (expression_statement "psVar17 = psVar8;" (assignment_expression "psVar17 = psVar8" identifier = identifier) ;) (expression_statement "psVar22 = (stat64 *)strspn((char *)local_918,"0123456789aAbBcCdDeEfFhHxXiIkKmMgGtTpP, ");" (assignment_expression "psVar22 = (stat64 *)strspn((char *)local_918,"0123456789aAbBcCdDeEfFhHxXiIkKmMgGtTpP, ")" identifier = (cast_expression "(stat64 *)strspn((char *)local_918,"0123456789aAbBcCdDeEfFhHxXiIkKmMgGtTpP, ")" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "strspn((char *)local_918,"0123456789aAbBcCdDeEfFhHxXiIkKmMgGtTpP, ")" identifier (argument_list "((char *)local_918,"0123456789aAbBcCdDeEfFhHxXiIkKmMgGtTpP, ")" ( (cast_expression "(char *)local_918" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) , (string_literal ""0123456789aAbBcCdDeEfFhHxXiIkKmMgGtTpP, "" " string_content ") ))))) ;) (expression_statement "psVar9 = extraout_EDX_00;" (assignment_expression "psVar9 = extraout_EDX_00" identifier = identifier) ;) (if_statement "if (psVar25 == psVar22) {\n        psVar9 = (stat64 *)0x0;\n        psVar25 = local_918;\n        do {\n          lVar34 = sg_get_llnum(psVar25,pcVar15,psVar8,psVar17);\n          psVar8 = (stat64 *)lVar34;\n          if ((int)((ulonglong)lVar34 >> 0x20) == -1) {\n            if (psVar8 == (stat64 *)0xffffffff) {\n              psVar22 = (stat64 *)((int)psVar25 - (int)local_918);\n              goto LAB_000127bf;\n            }\n          }\n          else if (0xffffffff < lVar34) {\n            psVar17 = (stat64 *)((int)psVar25 + (1 - (int)local_918));\n            pcVar15 = "build_num_arr";\n            pr2serr("%s: number exceeds 32 bits at pos %d\n","build_num_arr",psVar17,psVar9);\n            goto LAB_000127d9;\n          }\n          ppsVar44[(int)psVar9] = psVar8;\n          psVar17 = psVar8;\n          pcVar12 = strchr((char *)psVar25,0x2c);\n          pcVar15 = (char *)0x20;\n          pcVar13 = strchr((char *)psVar25,0x20);\n          if (pcVar12 == (char *)0x0) {\n            if (pcVar13 == (char *)0x0) {\n              puVar20 = (undefined *)((int)&psVar9->st_dev + 1);\n              psVar22 = (stat64 *)0x0;\n              psVar17 = extraout_ECX_00;\n              if ((undefined *)0x1 < local_91c) {\n                if ((stat64 *)puVar20 == local_91c) goto LAB_00012820;\n                goto LAB_00012a73;\n              }\n              if (local_91c == (stat64 *)0x0) {\n                if (puVar20 != (undefined *)0x1) {\nLAB_00012a73:\n                  pr2serr("need same number of arguments to \'--lba=\' and \'--num=\' options\n");\n                  local_908 = (stat64 *)0x1f;\n                  goto LAB_00012354;\n                }\n                local_91c = (stat64 *)(undefined *)0x1;\n                if (local_778[0] != (stat64 *)0x0) {\n                  pr2serr("won\'t write %u blocks without an explicit --lba= option\n",local_778[0],\n                          extraout_ECX_00,extraout_ECX_00);\n                  local_908 = (stat64 *)0x1;\n                  goto LAB_00012354;\n                }\n              }\n              else {\n                local_91c = (stat64 *)(undefined *)0x1;\n              }\n              goto LAB_00012820;\n            }\n          }\n          else if ((pcVar13 == (char *)0x0) || (pcVar12 <= pcVar13)) {\n            pcVar13 = pcVar12;\n          }\n          psVar9 = (stat64 *)((int)&psVar9->st_dev + 1);\n          psVar25 = (stat64 *)(pcVar13 + 1);\n        } while (psVar9 != (stat64 *)0x80);\n        pcVar15 = "build_num_arr";\n        psVar17 = extraout_ECX_00;\n        psVar9 = extraout_ECX_00;\n        pr2serr("%s: array length exceeded\n","build_num_arr",extraout_ECX_00,extraout_ECX_00);\n      }\n      else {\nLAB_000127bf:\n        psVar17 = (stat64 *)((int)&psVar22->st_dev + 1);\n        pcVar15 = "build_num_arr";\n        pr2serr("%s: error at pos %d\n","build_num_arr",psVar17,psVar9);\n      }" if (parenthesized_expression "(psVar25 == psVar22)" ( (binary_expression "psVar25 == psVar22" identifier == identifier) )) (compound_statement "{\n        psVar9 = (stat64 *)0x0;\n        psVar25 = local_918;\n        do {\n          lVar34 = sg_get_llnum(psVar25,pcVar15,psVar8,psVar17);\n          psVar8 = (stat64 *)lVar34;\n          if ((int)((ulonglong)lVar34 >> 0x20) == -1) {\n            if (psVar8 == (stat64 *)0xffffffff) {\n              psVar22 = (stat64 *)((int)psVar25 - (int)local_918);\n              goto LAB_000127bf;\n            }\n          }\n          else if (0xffffffff < lVar34) {\n            psVar17 = (stat64 *)((int)psVar25 + (1 - (int)local_918));\n            pcVar15 = "build_num_arr";\n            pr2serr("%s: number exceeds 32 bits at pos %d\n","build_num_arr",psVar17,psVar9);\n            goto LAB_000127d9;\n          }\n          ppsVar44[(int)psVar9] = psVar8;\n          psVar17 = psVar8;\n          pcVar12 = strchr((char *)psVar25,0x2c);\n          pcVar15 = (char *)0x20;\n          pcVar13 = strchr((char *)psVar25,0x20);\n          if (pcVar12 == (char *)0x0) {\n            if (pcVar13 == (char *)0x0) {\n              puVar20 = (undefined *)((int)&psVar9->st_dev + 1);\n              psVar22 = (stat64 *)0x0;\n              psVar17 = extraout_ECX_00;\n              if ((undefined *)0x1 < local_91c) {\n                if ((stat64 *)puVar20 == local_91c) goto LAB_00012820;\n                goto LAB_00012a73;\n              }\n              if (local_91c == (stat64 *)0x0) {\n                if (puVar20 != (undefined *)0x1) {\nLAB_00012a73:\n                  pr2serr("need same number of arguments to \'--lba=\' and \'--num=\' options\n");\n                  local_908 = (stat64 *)0x1f;\n                  goto LAB_00012354;\n                }\n                local_91c = (stat64 *)(undefined *)0x1;\n                if (local_778[0] != (stat64 *)0x0) {\n                  pr2serr("won\'t write %u blocks without an explicit --lba= option\n",local_778[0],\n                          extraout_ECX_00,extraout_ECX_00);\n                  local_908 = (stat64 *)0x1;\n                  goto LAB_00012354;\n                }\n              }\n              else {\n                local_91c = (stat64 *)(undefined *)0x1;\n              }\n              goto LAB_00012820;\n            }\n          }\n          else if ((pcVar13 == (char *)0x0) || (pcVar12 <= pcVar13)) {\n            pcVar13 = pcVar12;\n          }\n          psVar9 = (stat64 *)((int)&psVar9->st_dev + 1);\n          psVar25 = (stat64 *)(pcVar13 + 1);\n        } while (psVar9 != (stat64 *)0x80);\n        pcVar15 = "build_num_arr";\n        psVar17 = extraout_ECX_00;\n        psVar9 = extraout_ECX_00;\n        pr2serr("%s: array length exceeded\n","build_num_arr",extraout_ECX_00,extraout_ECX_00);\n      }" { (expression_statement "psVar9 = (stat64 *)0x0;" (assignment_expression "psVar9 = (stat64 *)0x0" identifier = (cast_expression "(stat64 *)0x0" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "psVar25 = local_918;" (assignment_expression "psVar25 = local_918" identifier = identifier) ;) (do_statement "do {\n          lVar34 = sg_get_llnum(psVar25,pcVar15,psVar8,psVar17);\n          psVar8 = (stat64 *)lVar34;\n          if ((int)((ulonglong)lVar34 >> 0x20) == -1) {\n            if (psVar8 == (stat64 *)0xffffffff) {\n              psVar22 = (stat64 *)((int)psVar25 - (int)local_918);\n              goto LAB_000127bf;\n            }\n          }\n          else if (0xffffffff < lVar34) {\n            psVar17 = (stat64 *)((int)psVar25 + (1 - (int)local_918));\n            pcVar15 = "build_num_arr";\n            pr2serr("%s: number exceeds 32 bits at pos %d\n","build_num_arr",psVar17,psVar9);\n            goto LAB_000127d9;\n          }\n          ppsVar44[(int)psVar9] = psVar8;\n          psVar17 = psVar8;\n          pcVar12 = strchr((char *)psVar25,0x2c);\n          pcVar15 = (char *)0x20;\n          pcVar13 = strchr((char *)psVar25,0x20);\n          if (pcVar12 == (char *)0x0) {\n            if (pcVar13 == (char *)0x0) {\n              puVar20 = (undefined *)((int)&psVar9->st_dev + 1);\n              psVar22 = (stat64 *)0x0;\n              psVar17 = extraout_ECX_00;\n              if ((undefined *)0x1 < local_91c) {\n                if ((stat64 *)puVar20 == local_91c) goto LAB_00012820;\n                goto LAB_00012a73;\n              }\n              if (local_91c == (stat64 *)0x0) {\n                if (puVar20 != (undefined *)0x1) {\nLAB_00012a73:\n                  pr2serr("need same number of arguments to \'--lba=\' and \'--num=\' options\n");\n                  local_908 = (stat64 *)0x1f;\n                  goto LAB_00012354;\n                }\n                local_91c = (stat64 *)(undefined *)0x1;\n                if (local_778[0] != (stat64 *)0x0) {\n                  pr2serr("won\'t write %u blocks without an explicit --lba= option\n",local_778[0],\n                          extraout_ECX_00,extraout_ECX_00);\n                  local_908 = (stat64 *)0x1;\n                  goto LAB_00012354;\n                }\n              }\n              else {\n                local_91c = (stat64 *)(undefined *)0x1;\n              }\n              goto LAB_00012820;\n            }\n          }\n          else if ((pcVar13 == (char *)0x0) || (pcVar12 <= pcVar13)) {\n            pcVar13 = pcVar12;\n          }\n          psVar9 = (stat64 *)((int)&psVar9->st_dev + 1);\n          psVar25 = (stat64 *)(pcVar13 + 1);\n        } while (psVar9 != (stat64 *)0x80);" do (compound_statement "{\n          lVar34 = sg_get_llnum(psVar25,pcVar15,psVar8,psVar17);\n          psVar8 = (stat64 *)lVar34;\n          if ((int)((ulonglong)lVar34 >> 0x20) == -1) {\n            if (psVar8 == (stat64 *)0xffffffff) {\n              psVar22 = (stat64 *)((int)psVar25 - (int)local_918);\n              goto LAB_000127bf;\n            }\n          }\n          else if (0xffffffff < lVar34) {\n            psVar17 = (stat64 *)((int)psVar25 + (1 - (int)local_918));\n            pcVar15 = "build_num_arr";\n            pr2serr("%s: number exceeds 32 bits at pos %d\n","build_num_arr",psVar17,psVar9);\n            goto LAB_000127d9;\n          }\n          ppsVar44[(int)psVar9] = psVar8;\n          psVar17 = psVar8;\n          pcVar12 = strchr((char *)psVar25,0x2c);\n          pcVar15 = (char *)0x20;\n          pcVar13 = strchr((char *)psVar25,0x20);\n          if (pcVar12 == (char *)0x0) {\n            if (pcVar13 == (char *)0x0) {\n              puVar20 = (undefined *)((int)&psVar9->st_dev + 1);\n              psVar22 = (stat64 *)0x0;\n              psVar17 = extraout_ECX_00;\n              if ((undefined *)0x1 < local_91c) {\n                if ((stat64 *)puVar20 == local_91c) goto LAB_00012820;\n                goto LAB_00012a73;\n              }\n              if (local_91c == (stat64 *)0x0) {\n                if (puVar20 != (undefined *)0x1) {\nLAB_00012a73:\n                  pr2serr("need same number of arguments to \'--lba=\' and \'--num=\' options\n");\n                  local_908 = (stat64 *)0x1f;\n                  goto LAB_00012354;\n                }\n                local_91c = (stat64 *)(undefined *)0x1;\n                if (local_778[0] != (stat64 *)0x0) {\n                  pr2serr("won\'t write %u blocks without an explicit --lba= option\n",local_778[0],\n                          extraout_ECX_00,extraout_ECX_00);\n                  local_908 = (stat64 *)0x1;\n                  goto LAB_00012354;\n                }\n              }\n              else {\n                local_91c = (stat64 *)(undefined *)0x1;\n              }\n              goto LAB_00012820;\n            }\n          }\n          else if ((pcVar13 == (char *)0x0) || (pcVar12 <= pcVar13)) {\n            pcVar13 = pcVar12;\n          }\n          psVar9 = (stat64 *)((int)&psVar9->st_dev + 1);\n          psVar25 = (stat64 *)(pcVar13 + 1);\n        }" { (expression_statement "lVar34 = sg_get_llnum(psVar25,pcVar15,psVar8,psVar17);" (assignment_expression "lVar34 = sg_get_llnum(psVar25,pcVar15,psVar8,psVar17)" identifier = (call_expression "sg_get_llnum(psVar25,pcVar15,psVar8,psVar17)" identifier (argument_list "(psVar25,pcVar15,psVar8,psVar17)" ( identifier , identifier , identifier , identifier )))) ;) (expression_statement "psVar8 = (stat64 *)lVar34;" (assignment_expression "psVar8 = (stat64 *)lVar34" identifier = (cast_expression "(stat64 *)lVar34" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (if_statement "if ((int)((ulonglong)lVar34 >> 0x20) == -1) {\n            if (psVar8 == (stat64 *)0xffffffff) {\n              psVar22 = (stat64 *)((int)psVar25 - (int)local_918);\n              goto LAB_000127bf;\n            }\n          }\n          else if (0xffffffff < lVar34) {\n            psVar17 = (stat64 *)((int)psVar25 + (1 - (int)local_918));\n            pcVar15 = "build_num_arr";\n            pr2serr("%s: number exceeds 32 bits at pos %d\n","build_num_arr",psVar17,psVar9);\n            goto LAB_000127d9;\n          }" if (parenthesized_expression "((int)((ulonglong)lVar34 >> 0x20) == -1)" ( (binary_expression "(int)((ulonglong)lVar34 >> 0x20) == -1" (cast_expression "(int)((ulonglong)lVar34 >> 0x20)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((ulonglong)lVar34 >> 0x20)" ( (binary_expression "(ulonglong)lVar34 >> 0x20" (cast_expression "(ulonglong)lVar34" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) ))) == number_literal) )) (compound_statement "{\n            if (psVar8 == (stat64 *)0xffffffff) {\n              psVar22 = (stat64 *)((int)psVar25 - (int)local_918);\n              goto LAB_000127bf;\n            }\n          }" { (if_statement "if (psVar8 == (stat64 *)0xffffffff) {\n              psVar22 = (stat64 *)((int)psVar25 - (int)local_918);\n              goto LAB_000127bf;\n            }" if (parenthesized_expression "(psVar8 == (stat64 *)0xffffffff)" ( (binary_expression "psVar8 == (stat64 *)0xffffffff" identifier == (cast_expression "(stat64 *)0xffffffff" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n              psVar22 = (stat64 *)((int)psVar25 - (int)local_918);\n              goto LAB_000127bf;\n            }" { (expression_statement "psVar22 = (stat64 *)((int)psVar25 - (int)local_918);" (assignment_expression "psVar22 = (stat64 *)((int)psVar25 - (int)local_918)" identifier = (cast_expression "(stat64 *)((int)psVar25 - (int)local_918)" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)psVar25 - (int)local_918)" ( (binary_expression "(int)psVar25 - (int)local_918" (cast_expression "(int)psVar25" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)local_918" ( (type_descriptor "int" primitive_type) ) identifier)) )))) ;) (goto_statement "goto LAB_000127bf;" goto statement_identifier ;) })) }) (else_clause "else if (0xffffffff < lVar34) {\n            psVar17 = (stat64 *)((int)psVar25 + (1 - (int)local_918));\n            pcVar15 = "build_num_arr";\n            pr2serr("%s: number exceeds 32 bits at pos %d\n","build_num_arr",psVar17,psVar9);\n            goto LAB_000127d9;\n          }" else (if_statement "if (0xffffffff < lVar34) {\n            psVar17 = (stat64 *)((int)psVar25 + (1 - (int)local_918));\n            pcVar15 = "build_num_arr";\n            pr2serr("%s: number exceeds 32 bits at pos %d\n","build_num_arr",psVar17,psVar9);\n            goto LAB_000127d9;\n          }" if (parenthesized_expression "(0xffffffff < lVar34)" ( (binary_expression "0xffffffff < lVar34" number_literal < identifier) )) (compound_statement "{\n            psVar17 = (stat64 *)((int)psVar25 + (1 - (int)local_918));\n            pcVar15 = "build_num_arr";\n            pr2serr("%s: number exceeds 32 bits at pos %d\n","build_num_arr",psVar17,psVar9);\n            goto LAB_000127d9;\n          }" { (expression_statement "psVar17 = (stat64 *)((int)psVar25 + (1 - (int)local_918));" (assignment_expression "psVar17 = (stat64 *)((int)psVar25 + (1 - (int)local_918))" identifier = (cast_expression "(stat64 *)((int)psVar25 + (1 - (int)local_918))" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)psVar25 + (1 - (int)local_918))" ( (binary_expression "(int)psVar25 + (1 - (int)local_918)" (cast_expression "(int)psVar25" ( (type_descriptor "int" primitive_type) ) identifier) + (parenthesized_expression "(1 - (int)local_918)" ( (binary_expression "1 - (int)local_918" number_literal - (cast_expression "(int)local_918" ( (type_descriptor "int" primitive_type) ) identifier)) ))) )))) ;) (expression_statement "pcVar15 = "build_num_arr";" (assignment_expression "pcVar15 = "build_num_arr"" identifier = (string_literal ""build_num_arr"" " string_content ")) ;) (expression_statement "pr2serr("%s: number exceeds 32 bits at pos %d\n","build_num_arr",psVar17,psVar9);" (call_expression "pr2serr("%s: number exceeds 32 bits at pos %d\n","build_num_arr",psVar17,psVar9)" identifier (argument_list "("%s: number exceeds 32 bits at pos %d\n","build_num_arr",psVar17,psVar9)" ( (string_literal ""%s: number exceeds 32 bits at pos %d\n"" " string_content escape_sequence ") , (string_literal ""build_num_arr"" " string_content ") , identifier , identifier ))) ;) (goto_statement "goto LAB_000127d9;" goto statement_identifier ;) })))) (expression_statement "ppsVar44[(int)psVar9] = psVar8;" (assignment_expression "ppsVar44[(int)psVar9] = psVar8" (subscript_expression "ppsVar44[(int)psVar9]" identifier [ (cast_expression "(int)psVar9" ( (type_descriptor "int" primitive_type) ) identifier) ]) = identifier) ;) (expression_statement "psVar17 = psVar8;" (assignment_expression "psVar17 = psVar8" identifier = identifier) ;) (expression_statement "pcVar12 = strchr((char *)psVar25,0x2c);" (assignment_expression "pcVar12 = strchr((char *)psVar25,0x2c)" identifier = (call_expression "strchr((char *)psVar25,0x2c)" identifier (argument_list "((char *)psVar25,0x2c)" ( (cast_expression "(char *)psVar25" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) , number_literal )))) ;) (expression_statement "pcVar15 = (char *)0x20;" (assignment_expression "pcVar15 = (char *)0x20" identifier = (cast_expression "(char *)0x20" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "pcVar13 = strchr((char *)psVar25,0x20);" (assignment_expression "pcVar13 = strchr((char *)psVar25,0x20)" identifier = (call_expression "strchr((char *)psVar25,0x20)" identifier (argument_list "((char *)psVar25,0x20)" ( (cast_expression "(char *)psVar25" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) , number_literal )))) ;) (if_statement "if (pcVar12 == (char *)0x0) {\n            if (pcVar13 == (char *)0x0) {\n              puVar20 = (undefined *)((int)&psVar9->st_dev + 1);\n              psVar22 = (stat64 *)0x0;\n              psVar17 = extraout_ECX_00;\n              if ((undefined *)0x1 < local_91c) {\n                if ((stat64 *)puVar20 == local_91c) goto LAB_00012820;\n                goto LAB_00012a73;\n              }\n              if (local_91c == (stat64 *)0x0) {\n                if (puVar20 != (undefined *)0x1) {\nLAB_00012a73:\n                  pr2serr("need same number of arguments to \'--lba=\' and \'--num=\' options\n");\n                  local_908 = (stat64 *)0x1f;\n                  goto LAB_00012354;\n                }\n                local_91c = (stat64 *)(undefined *)0x1;\n                if (local_778[0] != (stat64 *)0x0) {\n                  pr2serr("won\'t write %u blocks without an explicit --lba= option\n",local_778[0],\n                          extraout_ECX_00,extraout_ECX_00);\n                  local_908 = (stat64 *)0x1;\n                  goto LAB_00012354;\n                }\n              }\n              else {\n                local_91c = (stat64 *)(undefined *)0x1;\n              }\n              goto LAB_00012820;\n            }\n          }\n          else if ((pcVar13 == (char *)0x0) || (pcVar12 <= pcVar13)) {\n            pcVar13 = pcVar12;\n          }" if (parenthesized_expression "(pcVar12 == (char *)0x0)" ( (binary_expression "pcVar12 == (char *)0x0" identifier == (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n            if (pcVar13 == (char *)0x0) {\n              puVar20 = (undefined *)((int)&psVar9->st_dev + 1);\n              psVar22 = (stat64 *)0x0;\n              psVar17 = extraout_ECX_00;\n              if ((undefined *)0x1 < local_91c) {\n                if ((stat64 *)puVar20 == local_91c) goto LAB_00012820;\n                goto LAB_00012a73;\n              }\n              if (local_91c == (stat64 *)0x0) {\n                if (puVar20 != (undefined *)0x1) {\nLAB_00012a73:\n                  pr2serr("need same number of arguments to \'--lba=\' and \'--num=\' options\n");\n                  local_908 = (stat64 *)0x1f;\n                  goto LAB_00012354;\n                }\n                local_91c = (stat64 *)(undefined *)0x1;\n                if (local_778[0] != (stat64 *)0x0) {\n                  pr2serr("won\'t write %u blocks without an explicit --lba= option\n",local_778[0],\n                          extraout_ECX_00,extraout_ECX_00);\n                  local_908 = (stat64 *)0x1;\n                  goto LAB_00012354;\n                }\n              }\n              else {\n                local_91c = (stat64 *)(undefined *)0x1;\n              }\n              goto LAB_00012820;\n            }\n          }" { (if_statement "if (pcVar13 == (char *)0x0) {\n              puVar20 = (undefined *)((int)&psVar9->st_dev + 1);\n              psVar22 = (stat64 *)0x0;\n              psVar17 = extraout_ECX_00;\n              if ((undefined *)0x1 < local_91c) {\n                if ((stat64 *)puVar20 == local_91c) goto LAB_00012820;\n                goto LAB_00012a73;\n              }\n              if (local_91c == (stat64 *)0x0) {\n                if (puVar20 != (undefined *)0x1) {\nLAB_00012a73:\n                  pr2serr("need same number of arguments to \'--lba=\' and \'--num=\' options\n");\n                  local_908 = (stat64 *)0x1f;\n                  goto LAB_00012354;\n                }\n                local_91c = (stat64 *)(undefined *)0x1;\n                if (local_778[0] != (stat64 *)0x0) {\n                  pr2serr("won\'t write %u blocks without an explicit --lba= option\n",local_778[0],\n                          extraout_ECX_00,extraout_ECX_00);\n                  local_908 = (stat64 *)0x1;\n                  goto LAB_00012354;\n                }\n              }\n              else {\n                local_91c = (stat64 *)(undefined *)0x1;\n              }\n              goto LAB_00012820;\n            }" if (parenthesized_expression "(pcVar13 == (char *)0x0)" ( (binary_expression "pcVar13 == (char *)0x0" identifier == (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n              puVar20 = (undefined *)((int)&psVar9->st_dev + 1);\n              psVar22 = (stat64 *)0x0;\n              psVar17 = extraout_ECX_00;\n              if ((undefined *)0x1 < local_91c) {\n                if ((stat64 *)puVar20 == local_91c) goto LAB_00012820;\n                goto LAB_00012a73;\n              }\n              if (local_91c == (stat64 *)0x0) {\n                if (puVar20 != (undefined *)0x1) {\nLAB_00012a73:\n                  pr2serr("need same number of arguments to \'--lba=\' and \'--num=\' options\n");\n                  local_908 = (stat64 *)0x1f;\n                  goto LAB_00012354;\n                }\n                local_91c = (stat64 *)(undefined *)0x1;\n                if (local_778[0] != (stat64 *)0x0) {\n                  pr2serr("won\'t write %u blocks without an explicit --lba= option\n",local_778[0],\n                          extraout_ECX_00,extraout_ECX_00);\n                  local_908 = (stat64 *)0x1;\n                  goto LAB_00012354;\n                }\n              }\n              else {\n                local_91c = (stat64 *)(undefined *)0x1;\n              }\n              goto LAB_00012820;\n            }" { (expression_statement "puVar20 = (undefined *)((int)&psVar9->st_dev + 1);" (assignment_expression "puVar20 = (undefined *)((int)&psVar9->st_dev + 1)" identifier = (cast_expression "(undefined *)((int)&psVar9->st_dev + 1)" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&psVar9->st_dev + 1)" ( (binary_expression "(int)&psVar9->st_dev + 1" (cast_expression "(int)&psVar9->st_dev" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&psVar9->st_dev" & (field_expression "psVar9->st_dev" identifier -> field_identifier))) + number_literal) )))) ;) (expression_statement "psVar22 = (stat64 *)0x0;" (assignment_expression "psVar22 = (stat64 *)0x0" identifier = (cast_expression "(stat64 *)0x0" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "psVar17 = extraout_ECX_00;" (assignment_expression "psVar17 = extraout_ECX_00" identifier = identifier) ;) (if_statement "if ((undefined *)0x1 < local_91c) {\n                if ((stat64 *)puVar20 == local_91c) goto LAB_00012820;\n                goto LAB_00012a73;\n              }" if (parenthesized_expression "((undefined *)0x1 < local_91c)" ( (binary_expression "(undefined *)0x1 < local_91c" (cast_expression "(undefined *)0x1" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal) < identifier) )) (compound_statement "{\n                if ((stat64 *)puVar20 == local_91c) goto LAB_00012820;\n                goto LAB_00012a73;\n              }" { (if_statement "if ((stat64 *)puVar20 == local_91c) goto LAB_00012820;" if (parenthesized_expression "((stat64 *)puVar20 == local_91c)" ( (binary_expression "(stat64 *)puVar20 == local_91c" (cast_expression "(stat64 *)puVar20" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) == identifier) )) (goto_statement "goto LAB_00012820;" goto statement_identifier ;)) (goto_statement "goto LAB_00012a73;" goto statement_identifier ;) })) (if_statement "if (local_91c == (stat64 *)0x0) {\n                if (puVar20 != (undefined *)0x1) {\nLAB_00012a73:\n                  pr2serr("need same number of arguments to \'--lba=\' and \'--num=\' options\n");\n                  local_908 = (stat64 *)0x1f;\n                  goto LAB_00012354;\n                }\n                local_91c = (stat64 *)(undefined *)0x1;\n                if (local_778[0] != (stat64 *)0x0) {\n                  pr2serr("won\'t write %u blocks without an explicit --lba= option\n",local_778[0],\n                          extraout_ECX_00,extraout_ECX_00);\n                  local_908 = (stat64 *)0x1;\n                  goto LAB_00012354;\n                }\n              }\n              else {\n                local_91c = (stat64 *)(undefined *)0x1;\n              }" if (parenthesized_expression "(local_91c == (stat64 *)0x0)" ( (binary_expression "local_91c == (stat64 *)0x0" identifier == (cast_expression "(stat64 *)0x0" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n                if (puVar20 != (undefined *)0x1) {\nLAB_00012a73:\n                  pr2serr("need same number of arguments to \'--lba=\' and \'--num=\' options\n");\n                  local_908 = (stat64 *)0x1f;\n                  goto LAB_00012354;\n                }\n                local_91c = (stat64 *)(undefined *)0x1;\n                if (local_778[0] != (stat64 *)0x0) {\n                  pr2serr("won\'t write %u blocks without an explicit --lba= option\n",local_778[0],\n                          extraout_ECX_00,extraout_ECX_00);\n                  local_908 = (stat64 *)0x1;\n                  goto LAB_00012354;\n                }\n              }" { (if_statement "if (puVar20 != (undefined *)0x1) {\nLAB_00012a73:\n                  pr2serr("need same number of arguments to \'--lba=\' and \'--num=\' options\n");\n                  local_908 = (stat64 *)0x1f;\n                  goto LAB_00012354;\n                }" if (parenthesized_expression "(puVar20 != (undefined *)0x1)" ( (binary_expression "puVar20 != (undefined *)0x1" identifier != (cast_expression "(undefined *)0x1" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\nLAB_00012a73:\n                  pr2serr("need same number of arguments to \'--lba=\' and \'--num=\' options\n");\n                  local_908 = (stat64 *)0x1f;\n                  goto LAB_00012354;\n                }" { (labeled_statement "LAB_00012a73:\n                  pr2serr("need same number of arguments to \'--lba=\' and \'--num=\' options\n");" statement_identifier : (expression_statement "pr2serr("need same number of arguments to \'--lba=\' and \'--num=\' options\n");" (call_expression "pr2serr("need same number of arguments to \'--lba=\' and \'--num=\' options\n")" identifier (argument_list "("need same number of arguments to \'--lba=\' and \'--num=\' options\n")" ( (string_literal ""need same number of arguments to \'--lba=\' and \'--num=\' options\n"" " string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence ") ))) ;)) (expression_statement "local_908 = (stat64 *)0x1f;" (assignment_expression "local_908 = (stat64 *)0x1f" identifier = (cast_expression "(stat64 *)0x1f" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (goto_statement "goto LAB_00012354;" goto statement_identifier ;) })) (expression_statement "local_91c = (stat64 *)(undefined *)0x1;" (assignment_expression "local_91c = (stat64 *)(undefined *)0x1" identifier = (cast_expression "(stat64 *)(undefined *)0x1" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) (cast_expression "(undefined *)0x1" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal))) ;) (if_statement "if (local_778[0] != (stat64 *)0x0) {\n                  pr2serr("won\'t write %u blocks without an explicit --lba= option\n",local_778[0],\n                          extraout_ECX_00,extraout_ECX_00);\n                  local_908 = (stat64 *)0x1;\n                  goto LAB_00012354;\n                }" if (parenthesized_expression "(local_778[0] != (stat64 *)0x0)" ( (binary_expression "local_778[0] != (stat64 *)0x0" (subscript_expression "local_778[0]" identifier [ number_literal ]) != (cast_expression "(stat64 *)0x0" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n                  pr2serr("won\'t write %u blocks without an explicit --lba= option\n",local_778[0],\n                          extraout_ECX_00,extraout_ECX_00);\n                  local_908 = (stat64 *)0x1;\n                  goto LAB_00012354;\n                }" { (expression_statement "pr2serr("won\'t write %u blocks without an explicit --lba= option\n",local_778[0],\n                          extraout_ECX_00,extraout_ECX_00);" (call_expression "pr2serr("won\'t write %u blocks without an explicit --lba= option\n",local_778[0],\n                          extraout_ECX_00,extraout_ECX_00)" identifier (argument_list "("won\'t write %u blocks without an explicit --lba= option\n",local_778[0],\n                          extraout_ECX_00,extraout_ECX_00)" ( (string_literal ""won\'t write %u blocks without an explicit --lba= option\n"" " string_content escape_sequence string_content escape_sequence ") , (subscript_expression "local_778[0]" identifier [ number_literal ]) , identifier , identifier ))) ;) (expression_statement "local_908 = (stat64 *)0x1;" (assignment_expression "local_908 = (stat64 *)0x1" identifier = (cast_expression "(stat64 *)0x1" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (goto_statement "goto LAB_00012354;" goto statement_identifier ;) })) }) (else_clause "else {\n                local_91c = (stat64 *)(undefined *)0x1;\n              }" else (compound_statement "{\n                local_91c = (stat64 *)(undefined *)0x1;\n              }" { (expression_statement "local_91c = (stat64 *)(undefined *)0x1;" (assignment_expression "local_91c = (stat64 *)(undefined *)0x1" identifier = (cast_expression "(stat64 *)(undefined *)0x1" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) (cast_expression "(undefined *)0x1" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal))) ;) }))) (goto_statement "goto LAB_00012820;" goto statement_identifier ;) })) }) (else_clause "else if ((pcVar13 == (char *)0x0) || (pcVar12 <= pcVar13)) {\n            pcVar13 = pcVar12;\n          }" else (if_statement "if ((pcVar13 == (char *)0x0) || (pcVar12 <= pcVar13)) {\n            pcVar13 = pcVar12;\n          }" if (parenthesized_expression "((pcVar13 == (char *)0x0) || (pcVar12 <= pcVar13))" ( (binary_expression "(pcVar13 == (char *)0x0) || (pcVar12 <= pcVar13)" (parenthesized_expression "(pcVar13 == (char *)0x0)" ( (binary_expression "pcVar13 == (char *)0x0" identifier == (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) || (parenthesized_expression "(pcVar12 <= pcVar13)" ( (binary_expression "pcVar12 <= pcVar13" identifier <= identifier) ))) )) (compound_statement "{\n            pcVar13 = pcVar12;\n          }" { (expression_statement "pcVar13 = pcVar12;" (assignment_expression "pcVar13 = pcVar12" identifier = identifier) ;) })))) (expression_statement "psVar9 = (stat64 *)((int)&psVar9->st_dev + 1);" (assignment_expression "psVar9 = (stat64 *)((int)&psVar9->st_dev + 1)" identifier = (cast_expression "(stat64 *)((int)&psVar9->st_dev + 1)" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&psVar9->st_dev + 1)" ( (binary_expression "(int)&psVar9->st_dev + 1" (cast_expression "(int)&psVar9->st_dev" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&psVar9->st_dev" & (field_expression "psVar9->st_dev" identifier -> field_identifier))) + number_literal) )))) ;) (expression_statement "psVar25 = (stat64 *)(pcVar13 + 1);" (assignment_expression "psVar25 = (stat64 *)(pcVar13 + 1)" identifier = (cast_expression "(stat64 *)(pcVar13 + 1)" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar13 + 1)" ( (binary_expression "pcVar13 + 1" identifier + number_literal) )))) ;) }) while (parenthesized_expression "(psVar9 != (stat64 *)0x80)" ( (binary_expression "psVar9 != (stat64 *)0x80" identifier != (cast_expression "(stat64 *)0x80" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) ;) (expression_statement "pcVar15 = "build_num_arr";" (assignment_expression "pcVar15 = "build_num_arr"" identifier = (string_literal ""build_num_arr"" " string_content ")) ;) (expression_statement "psVar17 = extraout_ECX_00;" (assignment_expression "psVar17 = extraout_ECX_00" identifier = identifier) ;) (expression_statement "psVar9 = extraout_ECX_00;" (assignment_expression "psVar9 = extraout_ECX_00" identifier = identifier) ;) (expression_statement "pr2serr("%s: array length exceeded\n","build_num_arr",extraout_ECX_00,extraout_ECX_00);" (call_expression "pr2serr("%s: array length exceeded\n","build_num_arr",extraout_ECX_00,extraout_ECX_00)" identifier (argument_list "("%s: array length exceeded\n","build_num_arr",extraout_ECX_00,extraout_ECX_00)" ( (string_literal ""%s: array length exceeded\n"" " string_content escape_sequence ") , (string_literal ""build_num_arr"" " string_content ") , identifier , identifier ))) ;) }) (else_clause "else {\nLAB_000127bf:\n        psVar17 = (stat64 *)((int)&psVar22->st_dev + 1);\n        pcVar15 = "build_num_arr";\n        pr2serr("%s: error at pos %d\n","build_num_arr",psVar17,psVar9);\n      }" else (compound_statement "{\nLAB_000127bf:\n        psVar17 = (stat64 *)((int)&psVar22->st_dev + 1);\n        pcVar15 = "build_num_arr";\n        pr2serr("%s: error at pos %d\n","build_num_arr",psVar17,psVar9);\n      }" { (labeled_statement "LAB_000127bf:\n        psVar17 = (stat64 *)((int)&psVar22->st_dev + 1);" statement_identifier : (expression_statement "psVar17 = (stat64 *)((int)&psVar22->st_dev + 1);" (assignment_expression "psVar17 = (stat64 *)((int)&psVar22->st_dev + 1)" identifier = (cast_expression "(stat64 *)((int)&psVar22->st_dev + 1)" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&psVar22->st_dev + 1)" ( (binary_expression "(int)&psVar22->st_dev + 1" (cast_expression "(int)&psVar22->st_dev" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&psVar22->st_dev" & (field_expression "psVar22->st_dev" identifier -> field_identifier))) + number_literal) )))) ;)) (expression_statement "pcVar15 = "build_num_arr";" (assignment_expression "pcVar15 = "build_num_arr"" identifier = (string_literal ""build_num_arr"" " string_content ")) ;) (expression_statement "pr2serr("%s: error at pos %d\n","build_num_arr",psVar17,psVar9);" (call_expression "pr2serr("%s: error at pos %d\n","build_num_arr",psVar17,psVar9)" identifier (argument_list "("%s: error at pos %d\n","build_num_arr",psVar17,psVar9)" ( (string_literal ""%s: error at pos %d\n"" " string_content escape_sequence ") , (string_literal ""build_num_arr"" " string_content ") , identifier , identifier ))) ;) }))) }))) (labeled_statement "LAB_000127d9:\n    pr2serr("bad argument to \'--num\'\n",pcVar15,psVar17,psVar9);" statement_identifier : (expression_statement "pr2serr("bad argument to \'--num\'\n",pcVar15,psVar17,psVar9);" (call_expression "pr2serr("bad argument to \'--num\'\n",pcVar15,psVar17,psVar9)" identifier (argument_list "("bad argument to \'--num\'\n",pcVar15,psVar17,psVar9)" ( (string_literal ""bad argument to \'--num\'\n"" " string_content escape_sequence string_content escape_sequence escape_sequence ") , identifier , identifier , identifier ))) ;)) (expression_statement "local_908 = (stat64 *)0x0;" (assignment_expression "local_908 = (stat64 *)0x0" identifier = (cast_expression "(stat64 *)0x0" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (goto_statement "goto LAB_00012354;" goto statement_identifier ;) })) (expression_statement "psVar17 = (stat64 *)0x0;" (assignment_expression "psVar17 = (stat64 *)0x0" identifier = (cast_expression "(stat64 *)0x0" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_91c = (stat64 *)(undefined *)0x0;" (assignment_expression "local_91c = (stat64 *)(undefined *)0x0" identifier = (cast_expression "(stat64 *)(undefined *)0x0" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) (cast_expression "(undefined *)0x0" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal))) ;) (labeled_statement "LAB_00012820:\n  if (local_798 == (char *)0x0) {\nLAB_00012ce5:\n    local_908 = (stat64 *)0x0;\n    local_880._44_4_ = psVar25;\n  }\n  else {\n    pcVar15 = local_798;\n    iVar14 = __xstat64(3,local_798,psVar18);\n    if (iVar14 < 0) {\n      piVar19 = __errno_location();\n      psVar25 = (stat64 *)*piVar19;\n      uVar16 = safe_strerror(psVar25);\n      pcVar15 = "Unable to stat(%s) as SF: %s\n";\nLAB_000136f9:\n      pr2serr(pcVar15,local_798,uVar16);\n      local_908 = (stat64 *)sg_convert_errno(psVar25);\n      goto LAB_00012354;\n    }\n    if (local_819 == '\0') {\n      iVar14 = 0;\n      if (local_7e0 != 0) {\n        iVar14 = (local_7e0 + 1) * 0x20;\n      }\n      local_908 = (stat64 *)FUN_000156d0(0,&local_8f8,&local_8f4,iVar14);\n      if (local_908 != (stat64 *)0x0) goto LAB_00012354;\n      psVar17 = extraout_ECX_04;\n      if ((local_7e0 != 0) && (local_7e0 != local_8f8)) {\n        if (local_8f8 < local_7e0) {\n          pr2serr("RD (%u) %s number of %ss (%u) found in SF\n",local_7e0,&DAT_000170dd,\n                  "LBA range descriptor",local_8f8);\n          local_908 = (stat64 *)0xf;\n          goto LAB_00012354;\n        }\n        psVar25 = (stat64 *)((uint)psVar38 | local_7f8);\n        if ((psVar25 != (stat64 *)0x0) &&\n           (pr2serr("RD (%u) %s number of %ss (%u) found in SF\n",local_7e0,&DAT_00017110,\n                    "LBA range descriptor",local_8f8), psVar17 = extraout_ECX_01, local_7f8 != 0))\n        goto LAB_00012ef5;\n      }\n      goto LAB_00012ce5;\n    }\n    if ((local_880._16_4_ & 0xf000) != 0x8000) {\n      pr2serr("Expect scatter file to be a regular file\n",pcVar15,psVar18,psVar22);\n      local_908 = (stat64 *)0xf;\n      goto LAB_00012354;\n    }\n    local_908 = (stat64 *)local_880._44_4_;\n    local_920 = (stat64 *)open64(local_798,0,0x8000,0x8000);\n    if ((int)local_920 < 0) {\n      piVar19 = __errno_location();\n      psVar25 = (stat64 *)*piVar19;\n      uVar16 = safe_strerror(psVar25);\n      pcVar15 = "Failed to open %s for raw read: %s\n";\n      goto LAB_000136f9;\n    }\n    iVar14 = sg_set_binary_mode(local_920);\n    psVar17 = extraout_ECX_05;\n    if (iVar14 < 0) {\n      perror("sg_set_binary_mode");\n      local_908 = (stat64 *)0xf;\n      psVar25 = (stat64 *)local_880._44_4_;\n      goto LAB_00012354;\n    }\n  }" statement_identifier : (if_statement "if (local_798 == (char *)0x0) {\nLAB_00012ce5:\n    local_908 = (stat64 *)0x0;\n    local_880._44_4_ = psVar25;\n  }\n  else {\n    pcVar15 = local_798;\n    iVar14 = __xstat64(3,local_798,psVar18);\n    if (iVar14 < 0) {\n      piVar19 = __errno_location();\n      psVar25 = (stat64 *)*piVar19;\n      uVar16 = safe_strerror(psVar25);\n      pcVar15 = "Unable to stat(%s) as SF: %s\n";\nLAB_000136f9:\n      pr2serr(pcVar15,local_798,uVar16);\n      local_908 = (stat64 *)sg_convert_errno(psVar25);\n      goto LAB_00012354;\n    }\n    if (local_819 == '\0') {\n      iVar14 = 0;\n      if (local_7e0 != 0) {\n        iVar14 = (local_7e0 + 1) * 0x20;\n      }\n      local_908 = (stat64 *)FUN_000156d0(0,&local_8f8,&local_8f4,iVar14);\n      if (local_908 != (stat64 *)0x0) goto LAB_00012354;\n      psVar17 = extraout_ECX_04;\n      if ((local_7e0 != 0) && (local_7e0 != local_8f8)) {\n        if (local_8f8 < local_7e0) {\n          pr2serr("RD (%u) %s number of %ss (%u) found in SF\n",local_7e0,&DAT_000170dd,\n                  "LBA range descriptor",local_8f8);\n          local_908 = (stat64 *)0xf;\n          goto LAB_00012354;\n        }\n        psVar25 = (stat64 *)((uint)psVar38 | local_7f8);\n        if ((psVar25 != (stat64 *)0x0) &&\n           (pr2serr("RD (%u) %s number of %ss (%u) found in SF\n",local_7e0,&DAT_00017110,\n                    "LBA range descriptor",local_8f8), psVar17 = extraout_ECX_01, local_7f8 != 0))\n        goto LAB_00012ef5;\n      }\n      goto LAB_00012ce5;\n    }\n    if ((local_880._16_4_ & 0xf000) != 0x8000) {\n      pr2serr("Expect scatter file to be a regular file\n",pcVar15,psVar18,psVar22);\n      local_908 = (stat64 *)0xf;\n      goto LAB_00012354;\n    }\n    local_908 = (stat64 *)local_880._44_4_;\n    local_920 = (stat64 *)open64(local_798,0,0x8000,0x8000);\n    if ((int)local_920 < 0) {\n      piVar19 = __errno_location();\n      psVar25 = (stat64 *)*piVar19;\n      uVar16 = safe_strerror(psVar25);\n      pcVar15 = "Failed to open %s for raw read: %s\n";\n      goto LAB_000136f9;\n    }\n    iVar14 = sg_set_binary_mode(local_920);\n    psVar17 = extraout_ECX_05;\n    if (iVar14 < 0) {\n      perror("sg_set_binary_mode");\n      local_908 = (stat64 *)0xf;\n      psVar25 = (stat64 *)local_880._44_4_;\n      goto LAB_00012354;\n    }\n  }" if (parenthesized_expression "(local_798 == (char *)0x0)" ( (binary_expression "local_798 == (char *)0x0" identifier == (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\nLAB_00012ce5:\n    local_908 = (stat64 *)0x0;\n    local_880._44_4_ = psVar25;\n  }" { (labeled_statement "LAB_00012ce5:\n    local_908 = (stat64 *)0x0;" statement_identifier : (expression_statement "local_908 = (stat64 *)0x0;" (assignment_expression "local_908 = (stat64 *)0x0" identifier = (cast_expression "(stat64 *)0x0" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;)) (expression_statement "local_880._44_4_ = psVar25;" (assignment_expression "local_880._44_4_ = psVar25" (field_expression "local_880._44_4_" identifier . field_identifier) = identifier) ;) }) (else_clause "else {\n    pcVar15 = local_798;\n    iVar14 = __xstat64(3,local_798,psVar18);\n    if (iVar14 < 0) {\n      piVar19 = __errno_location();\n      psVar25 = (stat64 *)*piVar19;\n      uVar16 = safe_strerror(psVar25);\n      pcVar15 = "Unable to stat(%s) as SF: %s\n";\nLAB_000136f9:\n      pr2serr(pcVar15,local_798,uVar16);\n      local_908 = (stat64 *)sg_convert_errno(psVar25);\n      goto LAB_00012354;\n    }\n    if (local_819 == '\0') {\n      iVar14 = 0;\n      if (local_7e0 != 0) {\n        iVar14 = (local_7e0 + 1) * 0x20;\n      }\n      local_908 = (stat64 *)FUN_000156d0(0,&local_8f8,&local_8f4,iVar14);\n      if (local_908 != (stat64 *)0x0) goto LAB_00012354;\n      psVar17 = extraout_ECX_04;\n      if ((local_7e0 != 0) && (local_7e0 != local_8f8)) {\n        if (local_8f8 < local_7e0) {\n          pr2serr("RD (%u) %s number of %ss (%u) found in SF\n",local_7e0,&DAT_000170dd,\n                  "LBA range descriptor",local_8f8);\n          local_908 = (stat64 *)0xf;\n          goto LAB_00012354;\n        }\n        psVar25 = (stat64 *)((uint)psVar38 | local_7f8);\n        if ((psVar25 != (stat64 *)0x0) &&\n           (pr2serr("RD (%u) %s number of %ss (%u) found in SF\n",local_7e0,&DAT_00017110,\n                    "LBA range descriptor",local_8f8), psVar17 = extraout_ECX_01, local_7f8 != 0))\n        goto LAB_00012ef5;\n      }\n      goto LAB_00012ce5;\n    }\n    if ((local_880._16_4_ & 0xf000) != 0x8000) {\n      pr2serr("Expect scatter file to be a regular file\n",pcVar15,psVar18,psVar22);\n      local_908 = (stat64 *)0xf;\n      goto LAB_00012354;\n    }\n    local_908 = (stat64 *)local_880._44_4_;\n    local_920 = (stat64 *)open64(local_798,0,0x8000,0x8000);\n    if ((int)local_920 < 0) {\n      piVar19 = __errno_location();\n      psVar25 = (stat64 *)*piVar19;\n      uVar16 = safe_strerror(psVar25);\n      pcVar15 = "Failed to open %s for raw read: %s\n";\n      goto LAB_000136f9;\n    }\n    iVar14 = sg_set_binary_mode(local_920);\n    psVar17 = extraout_ECX_05;\n    if (iVar14 < 0) {\n      perror("sg_set_binary_mode");\n      local_908 = (stat64 *)0xf;\n      psVar25 = (stat64 *)local_880._44_4_;\n      goto LAB_00012354;\n    }\n  }" else (compound_statement "{\n    pcVar15 = local_798;\n    iVar14 = __xstat64(3,local_798,psVar18);\n    if (iVar14 < 0) {\n      piVar19 = __errno_location();\n      psVar25 = (stat64 *)*piVar19;\n      uVar16 = safe_strerror(psVar25);\n      pcVar15 = "Unable to stat(%s) as SF: %s\n";\nLAB_000136f9:\n      pr2serr(pcVar15,local_798,uVar16);\n      local_908 = (stat64 *)sg_convert_errno(psVar25);\n      goto LAB_00012354;\n    }\n    if (local_819 == '\0') {\n      iVar14 = 0;\n      if (local_7e0 != 0) {\n        iVar14 = (local_7e0 + 1) * 0x20;\n      }\n      local_908 = (stat64 *)FUN_000156d0(0,&local_8f8,&local_8f4,iVar14);\n      if (local_908 != (stat64 *)0x0) goto LAB_00012354;\n      psVar17 = extraout_ECX_04;\n      if ((local_7e0 != 0) && (local_7e0 != local_8f8)) {\n        if (local_8f8 < local_7e0) {\n          pr2serr("RD (%u) %s number of %ss (%u) found in SF\n",local_7e0,&DAT_000170dd,\n                  "LBA range descriptor",local_8f8);\n          local_908 = (stat64 *)0xf;\n          goto LAB_00012354;\n        }\n        psVar25 = (stat64 *)((uint)psVar38 | local_7f8);\n        if ((psVar25 != (stat64 *)0x0) &&\n           (pr2serr("RD (%u) %s number of %ss (%u) found in SF\n",local_7e0,&DAT_00017110,\n                    "LBA range descriptor",local_8f8), psVar17 = extraout_ECX_01, local_7f8 != 0))\n        goto LAB_00012ef5;\n      }\n      goto LAB_00012ce5;\n    }\n    if ((local_880._16_4_ & 0xf000) != 0x8000) {\n      pr2serr("Expect scatter file to be a regular file\n",pcVar15,psVar18,psVar22);\n      local_908 = (stat64 *)0xf;\n      goto LAB_00012354;\n    }\n    local_908 = (stat64 *)local_880._44_4_;\n    local_920 = (stat64 *)open64(local_798,0,0x8000,0x8000);\n    if ((int)local_920 < 0) {\n      piVar19 = __errno_location();\n      psVar25 = (stat64 *)*piVar19;\n      uVar16 = safe_strerror(psVar25);\n      pcVar15 = "Failed to open %s for raw read: %s\n";\n      goto LAB_000136f9;\n    }\n    iVar14 = sg_set_binary_mode(local_920);\n    psVar17 = extraout_ECX_05;\n    if (iVar14 < 0) {\n      perror("sg_set_binary_mode");\n      local_908 = (stat64 *)0xf;\n      psVar25 = (stat64 *)local_880._44_4_;\n      goto LAB_00012354;\n    }\n  }" { (expression_statement "pcVar15 = local_798;" (assignment_expression "pcVar15 = local_798" identifier = identifier) ;) (expression_statement "iVar14 = __xstat64(3,local_798,psVar18);" (assignment_expression "iVar14 = __xstat64(3,local_798,psVar18)" identifier = (call_expression "__xstat64(3,local_798,psVar18)" identifier (argument_list "(3,local_798,psVar18)" ( number_literal , identifier , identifier )))) ;) (if_statement "if (iVar14 < 0) {\n      piVar19 = __errno_location();\n      psVar25 = (stat64 *)*piVar19;\n      uVar16 = safe_strerror(psVar25);\n      pcVar15 = "Unable to stat(%s) as SF: %s\n";\nLAB_000136f9:\n      pr2serr(pcVar15,local_798,uVar16);\n      local_908 = (stat64 *)sg_convert_errno(psVar25);\n      goto LAB_00012354;\n    }" if (parenthesized_expression "(iVar14 < 0)" ( (binary_expression "iVar14 < 0" identifier < number_literal) )) (compound_statement "{\n      piVar19 = __errno_location();\n      psVar25 = (stat64 *)*piVar19;\n      uVar16 = safe_strerror(psVar25);\n      pcVar15 = "Unable to stat(%s) as SF: %s\n";\nLAB_000136f9:\n      pr2serr(pcVar15,local_798,uVar16);\n      local_908 = (stat64 *)sg_convert_errno(psVar25);\n      goto LAB_00012354;\n    }" { (expression_statement "piVar19 = __errno_location();" (assignment_expression "piVar19 = __errno_location()" identifier = (call_expression "__errno_location()" identifier (argument_list "()" ( )))) ;) (expression_statement "psVar25 = (stat64 *)*piVar19;" (assignment_expression "psVar25 = (stat64 *)*piVar19" identifier = (cast_expression "(stat64 *)*piVar19" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*piVar19" * identifier))) ;) (expression_statement "uVar16 = safe_strerror(psVar25);" (assignment_expression "uVar16 = safe_strerror(psVar25)" identifier = (call_expression "safe_strerror(psVar25)" identifier (argument_list "(psVar25)" ( identifier )))) ;) (expression_statement "pcVar15 = "Unable to stat(%s) as SF: %s\n";" (assignment_expression "pcVar15 = "Unable to stat(%s) as SF: %s\n"" identifier = (string_literal ""Unable to stat(%s) as SF: %s\n"" " string_content escape_sequence ")) ;) (labeled_statement "LAB_000136f9:\n      pr2serr(pcVar15,local_798,uVar16);" statement_identifier : (expression_statement "pr2serr(pcVar15,local_798,uVar16);" (call_expression "pr2serr(pcVar15,local_798,uVar16)" identifier (argument_list "(pcVar15,local_798,uVar16)" ( identifier , identifier , identifier ))) ;)) (expression_statement "local_908 = (stat64 *)sg_convert_errno(psVar25);" (assignment_expression "local_908 = (stat64 *)sg_convert_errno(psVar25)" identifier = (cast_expression "(stat64 *)sg_convert_errno(psVar25)" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "sg_convert_errno(psVar25)" identifier (argument_list "(psVar25)" ( identifier ))))) ;) (goto_statement "goto LAB_00012354;" goto statement_identifier ;) })) (if_statement "if (local_819 == '\0') {\n      iVar14 = 0;\n      if (local_7e0 != 0) {\n        iVar14 = (local_7e0 + 1) * 0x20;\n      }\n      local_908 = (stat64 *)FUN_000156d0(0,&local_8f8,&local_8f4,iVar14);\n      if (local_908 != (stat64 *)0x0) goto LAB_00012354;\n      psVar17 = extraout_ECX_04;\n      if ((local_7e0 != 0) && (local_7e0 != local_8f8)) {\n        if (local_8f8 < local_7e0) {\n          pr2serr("RD (%u) %s number of %ss (%u) found in SF\n",local_7e0,&DAT_000170dd,\n                  "LBA range descriptor",local_8f8);\n          local_908 = (stat64 *)0xf;\n          goto LAB_00012354;\n        }\n        psVar25 = (stat64 *)((uint)psVar38 | local_7f8);\n        if ((psVar25 != (stat64 *)0x0) &&\n           (pr2serr("RD (%u) %s number of %ss (%u) found in SF\n",local_7e0,&DAT_00017110,\n                    "LBA range descriptor",local_8f8), psVar17 = extraout_ECX_01, local_7f8 != 0))\n        goto LAB_00012ef5;\n      }\n      goto LAB_00012ce5;\n    }" if (parenthesized_expression "(local_819 == '\0')" ( (binary_expression "local_819 == '\0'" identifier == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n      iVar14 = 0;\n      if (local_7e0 != 0) {\n        iVar14 = (local_7e0 + 1) * 0x20;\n      }\n      local_908 = (stat64 *)FUN_000156d0(0,&local_8f8,&local_8f4,iVar14);\n      if (local_908 != (stat64 *)0x0) goto LAB_00012354;\n      psVar17 = extraout_ECX_04;\n      if ((local_7e0 != 0) && (local_7e0 != local_8f8)) {\n        if (local_8f8 < local_7e0) {\n          pr2serr("RD (%u) %s number of %ss (%u) found in SF\n",local_7e0,&DAT_000170dd,\n                  "LBA range descriptor",local_8f8);\n          local_908 = (stat64 *)0xf;\n          goto LAB_00012354;\n        }\n        psVar25 = (stat64 *)((uint)psVar38 | local_7f8);\n        if ((psVar25 != (stat64 *)0x0) &&\n           (pr2serr("RD (%u) %s number of %ss (%u) found in SF\n",local_7e0,&DAT_00017110,\n                    "LBA range descriptor",local_8f8), psVar17 = extraout_ECX_01, local_7f8 != 0))\n        goto LAB_00012ef5;\n      }\n      goto LAB_00012ce5;\n    }" { (expression_statement "iVar14 = 0;" (assignment_expression "iVar14 = 0" identifier = number_literal) ;) (if_statement "if (local_7e0 != 0) {\n        iVar14 = (local_7e0 + 1) * 0x20;\n      }" if (parenthesized_expression "(local_7e0 != 0)" ( (binary_expression "local_7e0 != 0" identifier != number_literal) )) (compound_statement "{\n        iVar14 = (local_7e0 + 1) * 0x20;\n      }" { (expression_statement "iVar14 = (local_7e0 + 1) * 0x20;" (assignment_expression "iVar14 = (local_7e0 + 1) * 0x20" identifier = (binary_expression "(local_7e0 + 1) * 0x20" (parenthesized_expression "(local_7e0 + 1)" ( (binary_expression "local_7e0 + 1" identifier + number_literal) )) * number_literal)) ;) })) (expression_statement "local_908 = (stat64 *)FUN_000156d0(0,&local_8f8,&local_8f4,iVar14);" (assignment_expression "local_908 = (stat64 *)FUN_000156d0(0,&local_8f8,&local_8f4,iVar14)" identifier = (cast_expression "(stat64 *)FUN_000156d0(0,&local_8f8,&local_8f4,iVar14)" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_000156d0(0,&local_8f8,&local_8f4,iVar14)" identifier (argument_list "(0,&local_8f8,&local_8f4,iVar14)" ( number_literal , (pointer_expression "&local_8f8" & identifier) , (pointer_expression "&local_8f4" & identifier) , identifier ))))) ;) (if_statement "if (local_908 != (stat64 *)0x0) goto LAB_00012354;" if (parenthesized_expression "(local_908 != (stat64 *)0x0)" ( (binary_expression "local_908 != (stat64 *)0x0" identifier != (cast_expression "(stat64 *)0x0" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_00012354;" goto statement_identifier ;)) (expression_statement "psVar17 = extraout_ECX_04;" (assignment_expression "psVar17 = extraout_ECX_04" identifier = identifier) ;) (if_statement "if ((local_7e0 != 0) && (local_7e0 != local_8f8)) {\n        if (local_8f8 < local_7e0) {\n          pr2serr("RD (%u) %s number of %ss (%u) found in SF\n",local_7e0,&DAT_000170dd,\n                  "LBA range descriptor",local_8f8);\n          local_908 = (stat64 *)0xf;\n          goto LAB_00012354;\n        }\n        psVar25 = (stat64 *)((uint)psVar38 | local_7f8);\n        if ((psVar25 != (stat64 *)0x0) &&\n           (pr2serr("RD (%u) %s number of %ss (%u) found in SF\n",local_7e0,&DAT_00017110,\n                    "LBA range descriptor",local_8f8), psVar17 = extraout_ECX_01, local_7f8 != 0))\n        goto LAB_00012ef5;\n      }" if (parenthesized_expression "((local_7e0 != 0) && (local_7e0 != local_8f8))" ( (binary_expression "(local_7e0 != 0) && (local_7e0 != local_8f8)" (parenthesized_expression "(local_7e0 != 0)" ( (binary_expression "local_7e0 != 0" identifier != number_literal) )) && (parenthesized_expression "(local_7e0 != local_8f8)" ( (binary_expression "local_7e0 != local_8f8" identifier != identifier) ))) )) (compound_statement "{\n        if (local_8f8 < local_7e0) {\n          pr2serr("RD (%u) %s number of %ss (%u) found in SF\n",local_7e0,&DAT_000170dd,\n                  "LBA range descriptor",local_8f8);\n          local_908 = (stat64 *)0xf;\n          goto LAB_00012354;\n        }\n        psVar25 = (stat64 *)((uint)psVar38 | local_7f8);\n        if ((psVar25 != (stat64 *)0x0) &&\n           (pr2serr("RD (%u) %s number of %ss (%u) found in SF\n",local_7e0,&DAT_00017110,\n                    "LBA range descriptor",local_8f8), psVar17 = extraout_ECX_01, local_7f8 != 0))\n        goto LAB_00012ef5;\n      }" { (if_statement "if (local_8f8 < local_7e0) {\n          pr2serr("RD (%u) %s number of %ss (%u) found in SF\n",local_7e0,&DAT_000170dd,\n                  "LBA range descriptor",local_8f8);\n          local_908 = (stat64 *)0xf;\n          goto LAB_00012354;\n        }" if (parenthesized_expression "(local_8f8 < local_7e0)" ( (binary_expression "local_8f8 < local_7e0" identifier < identifier) )) (compound_statement "{\n          pr2serr("RD (%u) %s number of %ss (%u) found in SF\n",local_7e0,&DAT_000170dd,\n                  "LBA range descriptor",local_8f8);\n          local_908 = (stat64 *)0xf;\n          goto LAB_00012354;\n        }" { (expression_statement "pr2serr("RD (%u) %s number of %ss (%u) found in SF\n",local_7e0,&DAT_000170dd,\n                  "LBA range descriptor",local_8f8);" (call_expression "pr2serr("RD (%u) %s number of %ss (%u) found in SF\n",local_7e0,&DAT_000170dd,\n                  "LBA range descriptor",local_8f8)" identifier (argument_list "("RD (%u) %s number of %ss (%u) found in SF\n",local_7e0,&DAT_000170dd,\n                  "LBA range descriptor",local_8f8)" ( (string_literal ""RD (%u) %s number of %ss (%u) found in SF\n"" " string_content escape_sequence ") , identifier , (pointer_expression "&DAT_000170dd" & identifier) , (string_literal ""LBA range descriptor"" " string_content ") , identifier ))) ;) (expression_statement "local_908 = (stat64 *)0xf;" (assignment_expression "local_908 = (stat64 *)0xf" identifier = (cast_expression "(stat64 *)0xf" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (goto_statement "goto LAB_00012354;" goto statement_identifier ;) })) (expression_statement "psVar25 = (stat64 *)((uint)psVar38 | local_7f8);" (assignment_expression "psVar25 = (stat64 *)((uint)psVar38 | local_7f8)" identifier = (cast_expression "(stat64 *)((uint)psVar38 | local_7f8)" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((uint)psVar38 | local_7f8)" ( (binary_expression "(uint)psVar38 | local_7f8" (cast_expression "(uint)psVar38" ( (type_descriptor "uint" type_identifier) ) identifier) | identifier) )))) ;) (if_statement "if ((psVar25 != (stat64 *)0x0) &&\n           (pr2serr("RD (%u) %s number of %ss (%u) found in SF\n",local_7e0,&DAT_00017110,\n                    "LBA range descriptor",local_8f8), psVar17 = extraout_ECX_01, local_7f8 != 0))\n        goto LAB_00012ef5;" if (parenthesized_expression "((psVar25 != (stat64 *)0x0) &&\n           (pr2serr("RD (%u) %s number of %ss (%u) found in SF\n",local_7e0,&DAT_00017110,\n                    "LBA range descriptor",local_8f8), psVar17 = extraout_ECX_01, local_7f8 != 0))" ( (binary_expression "(psVar25 != (stat64 *)0x0) &&\n           (pr2serr("RD (%u) %s number of %ss (%u) found in SF\n",local_7e0,&DAT_00017110,\n                    "LBA range descriptor",local_8f8), psVar17 = extraout_ECX_01, local_7f8 != 0)" (parenthesized_expression "(psVar25 != (stat64 *)0x0)" ( (binary_expression "psVar25 != (stat64 *)0x0" identifier != (cast_expression "(stat64 *)0x0" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) && (parenthesized_expression "(pr2serr("RD (%u) %s number of %ss (%u) found in SF\n",local_7e0,&DAT_00017110,\n                    "LBA range descriptor",local_8f8), psVar17 = extraout_ECX_01, local_7f8 != 0)" ( (comma_expression "pr2serr("RD (%u) %s number of %ss (%u) found in SF\n",local_7e0,&DAT_00017110,\n                    "LBA range descriptor",local_8f8), psVar17 = extraout_ECX_01, local_7f8 != 0" (call_expression "pr2serr("RD (%u) %s number of %ss (%u) found in SF\n",local_7e0,&DAT_00017110,\n                    "LBA range descriptor",local_8f8)" identifier (argument_list "("RD (%u) %s number of %ss (%u) found in SF\n",local_7e0,&DAT_00017110,\n                    "LBA range descriptor",local_8f8)" ( (string_literal ""RD (%u) %s number of %ss (%u) found in SF\n"" " string_content escape_sequence ") , identifier , (pointer_expression "&DAT_00017110" & identifier) , (string_literal ""LBA range descriptor"" " string_content ") , identifier ))) , (comma_expression "psVar17 = extraout_ECX_01, local_7f8 != 0" (assignment_expression "psVar17 = extraout_ECX_01" identifier = identifier) , (binary_expression "local_7f8 != 0" identifier != number_literal))) ))) )) (goto_statement "goto LAB_00012ef5;" goto statement_identifier ;)) })) (goto_statement "goto LAB_00012ce5;" goto statement_identifier ;) })) (if_statement "if ((local_880._16_4_ & 0xf000) != 0x8000) {\n      pr2serr("Expect scatter file to be a regular file\n",pcVar15,psVar18,psVar22);\n      local_908 = (stat64 *)0xf;\n      goto LAB_00012354;\n    }" if (parenthesized_expression "((local_880._16_4_ & 0xf000) != 0x8000)" ( (binary_expression "(local_880._16_4_ & 0xf000) != 0x8000" (parenthesized_expression "(local_880._16_4_ & 0xf000)" ( (binary_expression "local_880._16_4_ & 0xf000" (field_expression "local_880._16_4_" identifier . field_identifier) & number_literal) )) != number_literal) )) (compound_statement "{\n      pr2serr("Expect scatter file to be a regular file\n",pcVar15,psVar18,psVar22);\n      local_908 = (stat64 *)0xf;\n      goto LAB_00012354;\n    }" { (expression_statement "pr2serr("Expect scatter file to be a regular file\n",pcVar15,psVar18,psVar22);" (call_expression "pr2serr("Expect scatter file to be a regular file\n",pcVar15,psVar18,psVar22)" identifier (argument_list "("Expect scatter file to be a regular file\n",pcVar15,psVar18,psVar22)" ( (string_literal ""Expect scatter file to be a regular file\n"" " string_content escape_sequence ") , identifier , identifier , identifier ))) ;) (expression_statement "local_908 = (stat64 *)0xf;" (assignment_expression "local_908 = (stat64 *)0xf" identifier = (cast_expression "(stat64 *)0xf" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (goto_statement "goto LAB_00012354;" goto statement_identifier ;) })) (expression_statement "local_908 = (stat64 *)local_880._44_4_;" (assignment_expression "local_908 = (stat64 *)local_880._44_4_" identifier = (cast_expression "(stat64 *)local_880._44_4_" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "local_880._44_4_" identifier . field_identifier))) ;) (expression_statement "local_920 = (stat64 *)open64(local_798,0,0x8000,0x8000);" (assignment_expression "local_920 = (stat64 *)open64(local_798,0,0x8000,0x8000)" identifier = (cast_expression "(stat64 *)open64(local_798,0,0x8000,0x8000)" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "open64(local_798,0,0x8000,0x8000)" identifier (argument_list "(local_798,0,0x8000,0x8000)" ( identifier , number_literal , number_literal , number_literal ))))) ;) (if_statement "if ((int)local_920 < 0) {\n      piVar19 = __errno_location();\n      psVar25 = (stat64 *)*piVar19;\n      uVar16 = safe_strerror(psVar25);\n      pcVar15 = "Failed to open %s for raw read: %s\n";\n      goto LAB_000136f9;\n    }" if (parenthesized_expression "((int)local_920 < 0)" ( (binary_expression "(int)local_920 < 0" (cast_expression "(int)local_920" ( (type_descriptor "int" primitive_type) ) identifier) < number_literal) )) (compound_statement "{\n      piVar19 = __errno_location();\n      psVar25 = (stat64 *)*piVar19;\n      uVar16 = safe_strerror(psVar25);\n      pcVar15 = "Failed to open %s for raw read: %s\n";\n      goto LAB_000136f9;\n    }" { (expression_statement "piVar19 = __errno_location();" (assignment_expression "piVar19 = __errno_location()" identifier = (call_expression "__errno_location()" identifier (argument_list "()" ( )))) ;) (expression_statement "psVar25 = (stat64 *)*piVar19;" (assignment_expression "psVar25 = (stat64 *)*piVar19" identifier = (cast_expression "(stat64 *)*piVar19" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*piVar19" * identifier))) ;) (expression_statement "uVar16 = safe_strerror(psVar25);" (assignment_expression "uVar16 = safe_strerror(psVar25)" identifier = (call_expression "safe_strerror(psVar25)" identifier (argument_list "(psVar25)" ( identifier )))) ;) (expression_statement "pcVar15 = "Failed to open %s for raw read: %s\n";" (assignment_expression "pcVar15 = "Failed to open %s for raw read: %s\n"" identifier = (string_literal ""Failed to open %s for raw read: %s\n"" " string_content escape_sequence ")) ;) (goto_statement "goto LAB_000136f9;" goto statement_identifier ;) })) (expression_statement "iVar14 = sg_set_binary_mode(local_920);" (assignment_expression "iVar14 = sg_set_binary_mode(local_920)" identifier = (call_expression "sg_set_binary_mode(local_920)" identifier (argument_list "(local_920)" ( identifier )))) ;) (expression_statement "psVar17 = extraout_ECX_05;" (assignment_expression "psVar17 = extraout_ECX_05" identifier = identifier) ;) (if_statement "if (iVar14 < 0) {\n      perror("sg_set_binary_mode");\n      local_908 = (stat64 *)0xf;\n      psVar25 = (stat64 *)local_880._44_4_;\n      goto LAB_00012354;\n    }" if (parenthesized_expression "(iVar14 < 0)" ( (binary_expression "iVar14 < 0" identifier < number_literal) )) (compound_statement "{\n      perror("sg_set_binary_mode");\n      local_908 = (stat64 *)0xf;\n      psVar25 = (stat64 *)local_880._44_4_;\n      goto LAB_00012354;\n    }" { (expression_statement "perror("sg_set_binary_mode");" (call_expression "perror("sg_set_binary_mode")" identifier (argument_list "("sg_set_binary_mode")" ( (string_literal ""sg_set_binary_mode"" " string_content ") ))) ;) (expression_statement "local_908 = (stat64 *)0xf;" (assignment_expression "local_908 = (stat64 *)0xf" identifier = (cast_expression "(stat64 *)0xf" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "psVar25 = (stat64 *)local_880._44_4_;" (assignment_expression "psVar25 = (stat64 *)local_880._44_4_" identifier = (cast_expression "(stat64 *)local_880._44_4_" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "local_880._44_4_" identifier . field_identifier))) ;) (goto_statement "goto LAB_00012354;" goto statement_identifier ;) })) })))) (expression_statement "psVar18 = local_7f0;" (assignment_expression "psVar18 = local_7f0" identifier = identifier) ;) (expression_statement "psVar25 = local_8f4;" (assignment_expression "psVar25 = local_8f4" identifier = identifier) ;) (if_statement "if (local_817 == 0) {\n    if (local_91c == (stat64 *)0x0) {\n      psVar25 = (stat64 *)local_880._44_4_;\n      if (local_798 == (char *)0x0) {\n        if (local_819 == '\0') {\n          pr2serr("No LBA or number_of_blocks given, try using --lba= and --num=\n");\n          local_908 = (stat64 *)0x1;\n          goto LAB_00012354;\n        }\n      }\n      else if (local_819 == '\0') {\n        local_8f4 = (stat64 *)0x0;\n        uVar33 = FUN_000156d0(local_174 + 0x50,&local_8f8,&local_8f4,0x60);\n        uVar16 = (undefined4)((ulonglong)uVar33 >> 0x20);\n        local_908 = (stat64 *)uVar33;\n        if (local_908 != (stat64 *)0x0) goto LAB_00012354;\n        if (psVar38 != (stat64 *)0x0) {\n          uVar7 = (uint)local_8f8;\n          if (1 < local_8f8) {\n            uVar7 = pr2serr("warning: %d LBA,number_of_blocks pairs found, only taking first\n",\n                            uVar7,uVar16,uVar16);\n          }\n          if (2 < (int)psVar38) {\n            pr2serr("after build_t10_scat, num_lbard=%u, sum_num=%u\n",local_8f8,local_8f4,uVar7);\n          }\n        }\n        if (local_8f8 != 1) {\n          pr2serr("Unable to decode one LBA range descriptor from %s\n",local_798,0,0);\n          local_908 = (stat64 *)0xf;\n          goto LAB_00012354;\n        }\n        local_7b8 = local_104 >> 0x18 | (local_104 & 0xff0000) >> 8 | (local_104 & 0xff00) << 8 |\n                    local_104 << 0x18;\n        local_7bc = local_100 >> 0x18 | (local_100 & 0xff0000) >> 8 | (local_100 & 0xff00) << 8 |\n                    local_100 << 0x18;\n        local_7cc = (stat64 *)\n                    (local_fc >> 0x18 | (local_fc & 0xff0000) >> 8 | (local_fc & 0xff00) << 8 |\n                    local_fc << 0x18);\n        if (local_81f != '\0') {\n          local_7c0 = local_f8 >> 0x18 | (local_f8 & 0xff0000) >> 8 | (local_f8 & 0xff00) << 8 |\n                      local_f8 << 0x18;\n          local_7e6 = local_f4 << 8 | local_f4 >> 8;\n          local_7dc = local_f2 << 8 | local_f2 >> 8;\n        }\n        goto LAB_00012d48;\n      }\n      if (local_908 < (stat64 *)0x40) {\n        pr2serr("raw scatter file must be at least 64 bytes long (length: %u)\n",local_908,\n                local_880._44_4_,local_880._44_4_);\nLAB_00012ef5:\n        local_908 = (stat64 *)0xf;\n        goto LAB_00012354;\n      }\n      psVar25 = (stat64 *)(local_174 + 0x50);\n      local_908 = (stat64 *)FUN_00014a80(&DAT_00017365);\n      if (local_908 != (stat64 *)0x0) goto LAB_00012354;\n      cVar6 = FUN_000146a0(&local_8f8,&local_8f4,extraout_ECX_03,extraout_ECX_03);\n      if (cVar6 == '\0') goto LAB_00012ef5;\n      if (local_8f8 != 1) {\n        pr2serr("No %ss found in SF (num=%u)\n","LBA range descriptor",local_8f8,extraout_EDX_01);\n        goto LAB_00012ef5;\n      }\n      local_7b8 = local_114 >> 0x18 | (local_114 & 0xff0000) >> 8 | (local_114 & 0xff00) << 8 |\n                  local_114 << 0x18;\n      local_7bc = local_110 >> 0x18 | (local_110 & 0xff0000) >> 8 | (local_110 & 0xff00) << 8 |\n                  local_110 << 0x18;\n      local_7cc = (stat64 *)\n                  (local_10c >> 0x18 | (local_10c & 0xff0000) >> 8 | (local_10c & 0xff00) << 8 |\n                  local_10c << 0x18);\n    }\n    else {\n      local_7bc = local_578;\n      local_7b8 = local_574;\n      local_7cc = local_778[0];\n      if ((psVar38 != (stat64 *)0x0) && (local_91c != (stat64 *)0x1)) {\n        pr2serr("warning: %d LBA,number_of_blocks pairs found, only taking first\n",local_91c,\n                psVar17,psVar17);\n      }\n    }\nLAB_00012d48:\n    if (local_818 == 0) {\n      psVar25 = (stat64 *)((int)local_7cc * (int)local_7d4);\n    }\n    else {\n      psVar25 = (stat64 *)0x0;\n      if (local_810 == 0) {\n        psVar25 = local_7d4;\n      }\n    }\n    local_7a4 = psVar25;\n    if (psVar25 != (stat64 *)0x0) {\n      iVar14 = sg_memalign(psVar25,0,&local_8f0,0);\n      if (iVar14 == 0) {\n        pcVar15 = "unable to allocate %u bytes of memory\n";\n        ppvVar39 = (void **)0x0;\n        uVar16 = 0;\n        psVar38 = psVar25;\nLAB_00013bea:\n        pr2serr(pcVar15,psVar38,ppvVar39,uVar16);\n        local_908 = (stat64 *)sg_convert_errno(0xc);\n        goto LAB_00012354;\n      }\n      local_908 = (stat64 *)FUN_00014a80(&DAT_000173c6);\n      if (local_908 != (stat64 *)0x0) goto LAB_00012354;\n    }\n    local_908 = (stat64 *)FUN_00014b00(&local_820);\n    if (local_908 == (stat64 *)0x0) goto LAB_00012354;\n    if (local_81a != '\0') goto LAB_00012354;\n    puVar43 = local_174;\n    psVar25 = (stat64 *)"OS error";\n    puVar29 = puVar43;\n    for (iVar14 = 9; iVar14 != 0; iVar14 = iVar14 + -1) {\n      *puVar29 = (char)psVar25->st_dev;\n      psVar25 = (stat64 *)((int)psVar25 + (uint)bVar32 * -2 + 1);\n      puVar29 = puVar29 + (uint)bVar32 * -2 + 1;\n    }\n    uVar16 = 0;\n    if (0 < (int)local_908) {\n      sg_get_category_sense_str(local_908,0x50,puVar43,psVar38);\n      uVar16 = extraout_ECX_02;\n    }\n    pr2serr("%s: %s\n",local_790,puVar43,uVar16);\n    goto LAB_00012354;\n  }" if (parenthesized_expression "(local_817 == 0)" ( (binary_expression "local_817 == 0" identifier == number_literal) )) (compound_statement "{\n    if (local_91c == (stat64 *)0x0) {\n      psVar25 = (stat64 *)local_880._44_4_;\n      if (local_798 == (char *)0x0) {\n        if (local_819 == '\0') {\n          pr2serr("No LBA or number_of_blocks given, try using --lba= and --num=\n");\n          local_908 = (stat64 *)0x1;\n          goto LAB_00012354;\n        }\n      }\n      else if (local_819 == '\0') {\n        local_8f4 = (stat64 *)0x0;\n        uVar33 = FUN_000156d0(local_174 + 0x50,&local_8f8,&local_8f4,0x60);\n        uVar16 = (undefined4)((ulonglong)uVar33 >> 0x20);\n        local_908 = (stat64 *)uVar33;\n        if (local_908 != (stat64 *)0x0) goto LAB_00012354;\n        if (psVar38 != (stat64 *)0x0) {\n          uVar7 = (uint)local_8f8;\n          if (1 < local_8f8) {\n            uVar7 = pr2serr("warning: %d LBA,number_of_blocks pairs found, only taking first\n",\n                            uVar7,uVar16,uVar16);\n          }\n          if (2 < (int)psVar38) {\n            pr2serr("after build_t10_scat, num_lbard=%u, sum_num=%u\n",local_8f8,local_8f4,uVar7);\n          }\n        }\n        if (local_8f8 != 1) {\n          pr2serr("Unable to decode one LBA range descriptor from %s\n",local_798,0,0);\n          local_908 = (stat64 *)0xf;\n          goto LAB_00012354;\n        }\n        local_7b8 = local_104 >> 0x18 | (local_104 & 0xff0000) >> 8 | (local_104 & 0xff00) << 8 |\n                    local_104 << 0x18;\n        local_7bc = local_100 >> 0x18 | (local_100 & 0xff0000) >> 8 | (local_100 & 0xff00) << 8 |\n                    local_100 << 0x18;\n        local_7cc = (stat64 *)\n                    (local_fc >> 0x18 | (local_fc & 0xff0000) >> 8 | (local_fc & 0xff00) << 8 |\n                    local_fc << 0x18);\n        if (local_81f != '\0') {\n          local_7c0 = local_f8 >> 0x18 | (local_f8 & 0xff0000) >> 8 | (local_f8 & 0xff00) << 8 |\n                      local_f8 << 0x18;\n          local_7e6 = local_f4 << 8 | local_f4 >> 8;\n          local_7dc = local_f2 << 8 | local_f2 >> 8;\n        }\n        goto LAB_00012d48;\n      }\n      if (local_908 < (stat64 *)0x40) {\n        pr2serr("raw scatter file must be at least 64 bytes long (length: %u)\n",local_908,\n                local_880._44_4_,local_880._44_4_);\nLAB_00012ef5:\n        local_908 = (stat64 *)0xf;\n        goto LAB_00012354;\n      }\n      psVar25 = (stat64 *)(local_174 + 0x50);\n      local_908 = (stat64 *)FUN_00014a80(&DAT_00017365);\n      if (local_908 != (stat64 *)0x0) goto LAB_00012354;\n      cVar6 = FUN_000146a0(&local_8f8,&local_8f4,extraout_ECX_03,extraout_ECX_03);\n      if (cVar6 == '\0') goto LAB_00012ef5;\n      if (local_8f8 != 1) {\n        pr2serr("No %ss found in SF (num=%u)\n","LBA range descriptor",local_8f8,extraout_EDX_01);\n        goto LAB_00012ef5;\n      }\n      local_7b8 = local_114 >> 0x18 | (local_114 & 0xff0000) >> 8 | (local_114 & 0xff00) << 8 |\n                  local_114 << 0x18;\n      local_7bc = local_110 >> 0x18 | (local_110 & 0xff0000) >> 8 | (local_110 & 0xff00) << 8 |\n                  local_110 << 0x18;\n      local_7cc = (stat64 *)\n                  (local_10c >> 0x18 | (local_10c & 0xff0000) >> 8 | (local_10c & 0xff00) << 8 |\n                  local_10c << 0x18);\n    }\n    else {\n      local_7bc = local_578;\n      local_7b8 = local_574;\n      local_7cc = local_778[0];\n      if ((psVar38 != (stat64 *)0x0) && (local_91c != (stat64 *)0x1)) {\n        pr2serr("warning: %d LBA,number_of_blocks pairs found, only taking first\n",local_91c,\n                psVar17,psVar17);\n      }\n    }\nLAB_00012d48:\n    if (local_818 == 0) {\n      psVar25 = (stat64 *)((int)local_7cc * (int)local_7d4);\n    }\n    else {\n      psVar25 = (stat64 *)0x0;\n      if (local_810 == 0) {\n        psVar25 = local_7d4;\n      }\n    }\n    local_7a4 = psVar25;\n    if (psVar25 != (stat64 *)0x0) {\n      iVar14 = sg_memalign(psVar25,0,&local_8f0,0);\n      if (iVar14 == 0) {\n        pcVar15 = "unable to allocate %u bytes of memory\n";\n        ppvVar39 = (void **)0x0;\n        uVar16 = 0;\n        psVar38 = psVar25;\nLAB_00013bea:\n        pr2serr(pcVar15,psVar38,ppvVar39,uVar16);\n        local_908 = (stat64 *)sg_convert_errno(0xc);\n        goto LAB_00012354;\n      }\n      local_908 = (stat64 *)FUN_00014a80(&DAT_000173c6);\n      if (local_908 != (stat64 *)0x0) goto LAB_00012354;\n    }\n    local_908 = (stat64 *)FUN_00014b00(&local_820);\n    if (local_908 == (stat64 *)0x0) goto LAB_00012354;\n    if (local_81a != '\0') goto LAB_00012354;\n    puVar43 = local_174;\n    psVar25 = (stat64 *)"OS error";\n    puVar29 = puVar43;\n    for (iVar14 = 9; iVar14 != 0; iVar14 = iVar14 + -1) {\n      *puVar29 = (char)psVar25->st_dev;\n      psVar25 = (stat64 *)((int)psVar25 + (uint)bVar32 * -2 + 1);\n      puVar29 = puVar29 + (uint)bVar32 * -2 + 1;\n    }\n    uVar16 = 0;\n    if (0 < (int)local_908) {\n      sg_get_category_sense_str(local_908,0x50,puVar43,psVar38);\n      uVar16 = extraout_ECX_02;\n    }\n    pr2serr("%s: %s\n",local_790,puVar43,uVar16);\n    goto LAB_00012354;\n  }" { (if_statement "if (local_91c == (stat64 *)0x0) {\n      psVar25 = (stat64 *)local_880._44_4_;\n      if (local_798 == (char *)0x0) {\n        if (local_819 == '\0') {\n          pr2serr("No LBA or number_of_blocks given, try using --lba= and --num=\n");\n          local_908 = (stat64 *)0x1;\n          goto LAB_00012354;\n        }\n      }\n      else if (local_819 == '\0') {\n        local_8f4 = (stat64 *)0x0;\n        uVar33 = FUN_000156d0(local_174 + 0x50,&local_8f8,&local_8f4,0x60);\n        uVar16 = (undefined4)((ulonglong)uVar33 >> 0x20);\n        local_908 = (stat64 *)uVar33;\n        if (local_908 != (stat64 *)0x0) goto LAB_00012354;\n        if (psVar38 != (stat64 *)0x0) {\n          uVar7 = (uint)local_8f8;\n          if (1 < local_8f8) {\n            uVar7 = pr2serr("warning: %d LBA,number_of_blocks pairs found, only taking first\n",\n                            uVar7,uVar16,uVar16);\n          }\n          if (2 < (int)psVar38) {\n            pr2serr("after build_t10_scat, num_lbard=%u, sum_num=%u\n",local_8f8,local_8f4,uVar7);\n          }\n        }\n        if (local_8f8 != 1) {\n          pr2serr("Unable to decode one LBA range descriptor from %s\n",local_798,0,0);\n          local_908 = (stat64 *)0xf;\n          goto LAB_00012354;\n        }\n        local_7b8 = local_104 >> 0x18 | (local_104 & 0xff0000) >> 8 | (local_104 & 0xff00) << 8 |\n                    local_104 << 0x18;\n        local_7bc = local_100 >> 0x18 | (local_100 & 0xff0000) >> 8 | (local_100 & 0xff00) << 8 |\n                    local_100 << 0x18;\n        local_7cc = (stat64 *)\n                    (local_fc >> 0x18 | (local_fc & 0xff0000) >> 8 | (local_fc & 0xff00) << 8 |\n                    local_fc << 0x18);\n        if (local_81f != '\0') {\n          local_7c0 = local_f8 >> 0x18 | (local_f8 & 0xff0000) >> 8 | (local_f8 & 0xff00) << 8 |\n                      local_f8 << 0x18;\n          local_7e6 = local_f4 << 8 | local_f4 >> 8;\n          local_7dc = local_f2 << 8 | local_f2 >> 8;\n        }\n        goto LAB_00012d48;\n      }\n      if (local_908 < (stat64 *)0x40) {\n        pr2serr("raw scatter file must be at least 64 bytes long (length: %u)\n",local_908,\n                local_880._44_4_,local_880._44_4_);\nLAB_00012ef5:\n        local_908 = (stat64 *)0xf;\n        goto LAB_00012354;\n      }\n      psVar25 = (stat64 *)(local_174 + 0x50);\n      local_908 = (stat64 *)FUN_00014a80(&DAT_00017365);\n      if (local_908 != (stat64 *)0x0) goto LAB_00012354;\n      cVar6 = FUN_000146a0(&local_8f8,&local_8f4,extraout_ECX_03,extraout_ECX_03);\n      if (cVar6 == '\0') goto LAB_00012ef5;\n      if (local_8f8 != 1) {\n        pr2serr("No %ss found in SF (num=%u)\n","LBA range descriptor",local_8f8,extraout_EDX_01);\n        goto LAB_00012ef5;\n      }\n      local_7b8 = local_114 >> 0x18 | (local_114 & 0xff0000) >> 8 | (local_114 & 0xff00) << 8 |\n                  local_114 << 0x18;\n      local_7bc = local_110 >> 0x18 | (local_110 & 0xff0000) >> 8 | (local_110 & 0xff00) << 8 |\n                  local_110 << 0x18;\n      local_7cc = (stat64 *)\n                  (local_10c >> 0x18 | (local_10c & 0xff0000) >> 8 | (local_10c & 0xff00) << 8 |\n                  local_10c << 0x18);\n    }\n    else {\n      local_7bc = local_578;\n      local_7b8 = local_574;\n      local_7cc = local_778[0];\n      if ((psVar38 != (stat64 *)0x0) && (local_91c != (stat64 *)0x1)) {\n        pr2serr("warning: %d LBA,number_of_blocks pairs found, only taking first\n",local_91c,\n                psVar17,psVar17);\n      }\n    }" if (parenthesized_expression "(local_91c == (stat64 *)0x0)" ( (binary_expression "local_91c == (stat64 *)0x0" identifier == (cast_expression "(stat64 *)0x0" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      psVar25 = (stat64 *)local_880._44_4_;\n      if (local_798 == (char *)0x0) {\n        if (local_819 == '\0') {\n          pr2serr("No LBA or number_of_blocks given, try using --lba= and --num=\n");\n          local_908 = (stat64 *)0x1;\n          goto LAB_00012354;\n        }\n      }\n      else if (local_819 == '\0') {\n        local_8f4 = (stat64 *)0x0;\n        uVar33 = FUN_000156d0(local_174 + 0x50,&local_8f8,&local_8f4,0x60);\n        uVar16 = (undefined4)((ulonglong)uVar33 >> 0x20);\n        local_908 = (stat64 *)uVar33;\n        if (local_908 != (stat64 *)0x0) goto LAB_00012354;\n        if (psVar38 != (stat64 *)0x0) {\n          uVar7 = (uint)local_8f8;\n          if (1 < local_8f8) {\n            uVar7 = pr2serr("warning: %d LBA,number_of_blocks pairs found, only taking first\n",\n                            uVar7,uVar16,uVar16);\n          }\n          if (2 < (int)psVar38) {\n            pr2serr("after build_t10_scat, num_lbard=%u, sum_num=%u\n",local_8f8,local_8f4,uVar7);\n          }\n        }\n        if (local_8f8 != 1) {\n          pr2serr("Unable to decode one LBA range descriptor from %s\n",local_798,0,0);\n          local_908 = (stat64 *)0xf;\n          goto LAB_00012354;\n        }\n        local_7b8 = local_104 >> 0x18 | (local_104 & 0xff0000) >> 8 | (local_104 & 0xff00) << 8 |\n                    local_104 << 0x18;\n        local_7bc = local_100 >> 0x18 | (local_100 & 0xff0000) >> 8 | (local_100 & 0xff00) << 8 |\n                    local_100 << 0x18;\n        local_7cc = (stat64 *)\n                    (local_fc >> 0x18 | (local_fc & 0xff0000) >> 8 | (local_fc & 0xff00) << 8 |\n                    local_fc << 0x18);\n        if (local_81f != '\0') {\n          local_7c0 = local_f8 >> 0x18 | (local_f8 & 0xff0000) >> 8 | (local_f8 & 0xff00) << 8 |\n                      local_f8 << 0x18;\n          local_7e6 = local_f4 << 8 | local_f4 >> 8;\n          local_7dc = local_f2 << 8 | local_f2 >> 8;\n        }\n        goto LAB_00012d48;\n      }\n      if (local_908 < (stat64 *)0x40) {\n        pr2serr("raw scatter file must be at least 64 bytes long (length: %u)\n",local_908,\n                local_880._44_4_,local_880._44_4_);\nLAB_00012ef5:\n        local_908 = (stat64 *)0xf;\n        goto LAB_00012354;\n      }\n      psVar25 = (stat64 *)(local_174 + 0x50);\n      local_908 = (stat64 *)FUN_00014a80(&DAT_00017365);\n      if (local_908 != (stat64 *)0x0) goto LAB_00012354;\n      cVar6 = FUN_000146a0(&local_8f8,&local_8f4,extraout_ECX_03,extraout_ECX_03);\n      if (cVar6 == '\0') goto LAB_00012ef5;\n      if (local_8f8 != 1) {\n        pr2serr("No %ss found in SF (num=%u)\n","LBA range descriptor",local_8f8,extraout_EDX_01);\n        goto LAB_00012ef5;\n      }\n      local_7b8 = local_114 >> 0x18 | (local_114 & 0xff0000) >> 8 | (local_114 & 0xff00) << 8 |\n                  local_114 << 0x18;\n      local_7bc = local_110 >> 0x18 | (local_110 & 0xff0000) >> 8 | (local_110 & 0xff00) << 8 |\n                  local_110 << 0x18;\n      local_7cc = (stat64 *)\n                  (local_10c >> 0x18 | (local_10c & 0xff0000) >> 8 | (local_10c & 0xff00) << 8 |\n                  local_10c << 0x18);\n    }" { (expression_statement "psVar25 = (stat64 *)local_880._44_4_;" (assignment_expression "psVar25 = (stat64 *)local_880._44_4_" identifier = (cast_expression "(stat64 *)local_880._44_4_" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "local_880._44_4_" identifier . field_identifier))) ;) (if_statement "if (local_798 == (char *)0x0) {\n        if (local_819 == '\0') {\n          pr2serr("No LBA or number_of_blocks given, try using --lba= and --num=\n");\n          local_908 = (stat64 *)0x1;\n          goto LAB_00012354;\n        }\n      }\n      else if (local_819 == '\0') {\n        local_8f4 = (stat64 *)0x0;\n        uVar33 = FUN_000156d0(local_174 + 0x50,&local_8f8,&local_8f4,0x60);\n        uVar16 = (undefined4)((ulonglong)uVar33 >> 0x20);\n        local_908 = (stat64 *)uVar33;\n        if (local_908 != (stat64 *)0x0) goto LAB_00012354;\n        if (psVar38 != (stat64 *)0x0) {\n          uVar7 = (uint)local_8f8;\n          if (1 < local_8f8) {\n            uVar7 = pr2serr("warning: %d LBA,number_of_blocks pairs found, only taking first\n",\n                            uVar7,uVar16,uVar16);\n          }\n          if (2 < (int)psVar38) {\n            pr2serr("after build_t10_scat, num_lbard=%u, sum_num=%u\n",local_8f8,local_8f4,uVar7);\n          }\n        }\n        if (local_8f8 != 1) {\n          pr2serr("Unable to decode one LBA range descriptor from %s\n",local_798,0,0);\n          local_908 = (stat64 *)0xf;\n          goto LAB_00012354;\n        }\n        local_7b8 = local_104 >> 0x18 | (local_104 & 0xff0000) >> 8 | (local_104 & 0xff00) << 8 |\n                    local_104 << 0x18;\n        local_7bc = local_100 >> 0x18 | (local_100 & 0xff0000) >> 8 | (local_100 & 0xff00) << 8 |\n                    local_100 << 0x18;\n        local_7cc = (stat64 *)\n                    (local_fc >> 0x18 | (local_fc & 0xff0000) >> 8 | (local_fc & 0xff00) << 8 |\n                    local_fc << 0x18);\n        if (local_81f != '\0') {\n          local_7c0 = local_f8 >> 0x18 | (local_f8 & 0xff0000) >> 8 | (local_f8 & 0xff00) << 8 |\n                      local_f8 << 0x18;\n          local_7e6 = local_f4 << 8 | local_f4 >> 8;\n          local_7dc = local_f2 << 8 | local_f2 >> 8;\n        }\n        goto LAB_00012d48;\n      }" if (parenthesized_expression "(local_798 == (char *)0x0)" ( (binary_expression "local_798 == (char *)0x0" identifier == (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        if (local_819 == '\0') {\n          pr2serr("No LBA or number_of_blocks given, try using --lba= and --num=\n");\n          local_908 = (stat64 *)0x1;\n          goto LAB_00012354;\n        }\n      }" { (if_statement "if (local_819 == '\0') {\n          pr2serr("No LBA or number_of_blocks given, try using --lba= and --num=\n");\n          local_908 = (stat64 *)0x1;\n          goto LAB_00012354;\n        }" if (parenthesized_expression "(local_819 == '\0')" ( (binary_expression "local_819 == '\0'" identifier == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n          pr2serr("No LBA or number_of_blocks given, try using --lba= and --num=\n");\n          local_908 = (stat64 *)0x1;\n          goto LAB_00012354;\n        }" { (expression_statement "pr2serr("No LBA or number_of_blocks given, try using --lba= and --num=\n");" (call_expression "pr2serr("No LBA or number_of_blocks given, try using --lba= and --num=\n")" identifier (argument_list "("No LBA or number_of_blocks given, try using --lba= and --num=\n")" ( (string_literal ""No LBA or number_of_blocks given, try using --lba= and --num=\n"" " string_content escape_sequence ") ))) ;) (expression_statement "local_908 = (stat64 *)0x1;" (assignment_expression "local_908 = (stat64 *)0x1" identifier = (cast_expression "(stat64 *)0x1" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (goto_statement "goto LAB_00012354;" goto statement_identifier ;) })) }) (else_clause "else if (local_819 == '\0') {\n        local_8f4 = (stat64 *)0x0;\n        uVar33 = FUN_000156d0(local_174 + 0x50,&local_8f8,&local_8f4,0x60);\n        uVar16 = (undefined4)((ulonglong)uVar33 >> 0x20);\n        local_908 = (stat64 *)uVar33;\n        if (local_908 != (stat64 *)0x0) goto LAB_00012354;\n        if (psVar38 != (stat64 *)0x0) {\n          uVar7 = (uint)local_8f8;\n          if (1 < local_8f8) {\n            uVar7 = pr2serr("warning: %d LBA,number_of_blocks pairs found, only taking first\n",\n                            uVar7,uVar16,uVar16);\n          }\n          if (2 < (int)psVar38) {\n            pr2serr("after build_t10_scat, num_lbard=%u, sum_num=%u\n",local_8f8,local_8f4,uVar7);\n          }\n        }\n        if (local_8f8 != 1) {\n          pr2serr("Unable to decode one LBA range descriptor from %s\n",local_798,0,0);\n          local_908 = (stat64 *)0xf;\n          goto LAB_00012354;\n        }\n        local_7b8 = local_104 >> 0x18 | (local_104 & 0xff0000) >> 8 | (local_104 & 0xff00) << 8 |\n                    local_104 << 0x18;\n        local_7bc = local_100 >> 0x18 | (local_100 & 0xff0000) >> 8 | (local_100 & 0xff00) << 8 |\n                    local_100 << 0x18;\n        local_7cc = (stat64 *)\n                    (local_fc >> 0x18 | (local_fc & 0xff0000) >> 8 | (local_fc & 0xff00) << 8 |\n                    local_fc << 0x18);\n        if (local_81f != '\0') {\n          local_7c0 = local_f8 >> 0x18 | (local_f8 & 0xff0000) >> 8 | (local_f8 & 0xff00) << 8 |\n                      local_f8 << 0x18;\n          local_7e6 = local_f4 << 8 | local_f4 >> 8;\n          local_7dc = local_f2 << 8 | local_f2 >> 8;\n        }\n        goto LAB_00012d48;\n      }" else (if_statement "if (local_819 == '\0') {\n        local_8f4 = (stat64 *)0x0;\n        uVar33 = FUN_000156d0(local_174 + 0x50,&local_8f8,&local_8f4,0x60);\n        uVar16 = (undefined4)((ulonglong)uVar33 >> 0x20);\n        local_908 = (stat64 *)uVar33;\n        if (local_908 != (stat64 *)0x0) goto LAB_00012354;\n        if (psVar38 != (stat64 *)0x0) {\n          uVar7 = (uint)local_8f8;\n          if (1 < local_8f8) {\n            uVar7 = pr2serr("warning: %d LBA,number_of_blocks pairs found, only taking first\n",\n                            uVar7,uVar16,uVar16);\n          }\n          if (2 < (int)psVar38) {\n            pr2serr("after build_t10_scat, num_lbard=%u, sum_num=%u\n",local_8f8,local_8f4,uVar7);\n          }\n        }\n        if (local_8f8 != 1) {\n          pr2serr("Unable to decode one LBA range descriptor from %s\n",local_798,0,0);\n          local_908 = (stat64 *)0xf;\n          goto LAB_00012354;\n        }\n        local_7b8 = local_104 >> 0x18 | (local_104 & 0xff0000) >> 8 | (local_104 & 0xff00) << 8 |\n                    local_104 << 0x18;\n        local_7bc = local_100 >> 0x18 | (local_100 & 0xff0000) >> 8 | (local_100 & 0xff00) << 8 |\n                    local_100 << 0x18;\n        local_7cc = (stat64 *)\n                    (local_fc >> 0x18 | (local_fc & 0xff0000) >> 8 | (local_fc & 0xff00) << 8 |\n                    local_fc << 0x18);\n        if (local_81f != '\0') {\n          local_7c0 = local_f8 >> 0x18 | (local_f8 & 0xff0000) >> 8 | (local_f8 & 0xff00) << 8 |\n                      local_f8 << 0x18;\n          local_7e6 = local_f4 << 8 | local_f4 >> 8;\n          local_7dc = local_f2 << 8 | local_f2 >> 8;\n        }\n        goto LAB_00012d48;\n      }" if (parenthesized_expression "(local_819 == '\0')" ( (binary_expression "local_819 == '\0'" identifier == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n        local_8f4 = (stat64 *)0x0;\n        uVar33 = FUN_000156d0(local_174 + 0x50,&local_8f8,&local_8f4,0x60);\n        uVar16 = (undefined4)((ulonglong)uVar33 >> 0x20);\n        local_908 = (stat64 *)uVar33;\n        if (local_908 != (stat64 *)0x0) goto LAB_00012354;\n        if (psVar38 != (stat64 *)0x0) {\n          uVar7 = (uint)local_8f8;\n          if (1 < local_8f8) {\n            uVar7 = pr2serr("warning: %d LBA,number_of_blocks pairs found, only taking first\n",\n                            uVar7,uVar16,uVar16);\n          }\n          if (2 < (int)psVar38) {\n            pr2serr("after build_t10_scat, num_lbard=%u, sum_num=%u\n",local_8f8,local_8f4,uVar7);\n          }\n        }\n        if (local_8f8 != 1) {\n          pr2serr("Unable to decode one LBA range descriptor from %s\n",local_798,0,0);\n          local_908 = (stat64 *)0xf;\n          goto LAB_00012354;\n        }\n        local_7b8 = local_104 >> 0x18 | (local_104 & 0xff0000) >> 8 | (local_104 & 0xff00) << 8 |\n                    local_104 << 0x18;\n        local_7bc = local_100 >> 0x18 | (local_100 & 0xff0000) >> 8 | (local_100 & 0xff00) << 8 |\n                    local_100 << 0x18;\n        local_7cc = (stat64 *)\n                    (local_fc >> 0x18 | (local_fc & 0xff0000) >> 8 | (local_fc & 0xff00) << 8 |\n                    local_fc << 0x18);\n        if (local_81f != '\0') {\n          local_7c0 = local_f8 >> 0x18 | (local_f8 & 0xff0000) >> 8 | (local_f8 & 0xff00) << 8 |\n                      local_f8 << 0x18;\n          local_7e6 = local_f4 << 8 | local_f4 >> 8;\n          local_7dc = local_f2 << 8 | local_f2 >> 8;\n        }\n        goto LAB_00012d48;\n      }" { (expression_statement "local_8f4 = (stat64 *)0x0;" (assignment_expression "local_8f4 = (stat64 *)0x0" identifier = (cast_expression "(stat64 *)0x0" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "uVar33 = FUN_000156d0(local_174 + 0x50,&local_8f8,&local_8f4,0x60);" (assignment_expression "uVar33 = FUN_000156d0(local_174 + 0x50,&local_8f8,&local_8f4,0x60)" identifier = (call_expression "FUN_000156d0(local_174 + 0x50,&local_8f8,&local_8f4,0x60)" identifier (argument_list "(local_174 + 0x50,&local_8f8,&local_8f4,0x60)" ( (binary_expression "local_174 + 0x50" identifier + number_literal) , (pointer_expression "&local_8f8" & identifier) , (pointer_expression "&local_8f4" & identifier) , number_literal )))) ;) (expression_statement "uVar16 = (undefined4)((ulonglong)uVar33 >> 0x20);" (assignment_expression "uVar16 = (undefined4)((ulonglong)uVar33 >> 0x20)" identifier = (call_expression "(undefined4)((ulonglong)uVar33 >> 0x20)" (parenthesized_expression "(undefined4)" ( identifier )) (argument_list "((ulonglong)uVar33 >> 0x20)" ( (binary_expression "(ulonglong)uVar33 >> 0x20" (cast_expression "(ulonglong)uVar33" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) )))) ;) (expression_statement "local_908 = (stat64 *)uVar33;" (assignment_expression "local_908 = (stat64 *)uVar33" identifier = (cast_expression "(stat64 *)uVar33" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (if_statement "if (local_908 != (stat64 *)0x0) goto LAB_00012354;" if (parenthesized_expression "(local_908 != (stat64 *)0x0)" ( (binary_expression "local_908 != (stat64 *)0x0" identifier != (cast_expression "(stat64 *)0x0" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_00012354;" goto statement_identifier ;)) (if_statement "if (psVar38 != (stat64 *)0x0) {\n          uVar7 = (uint)local_8f8;\n          if (1 < local_8f8) {\n            uVar7 = pr2serr("warning: %d LBA,number_of_blocks pairs found, only taking first\n",\n                            uVar7,uVar16,uVar16);\n          }\n          if (2 < (int)psVar38) {\n            pr2serr("after build_t10_scat, num_lbard=%u, sum_num=%u\n",local_8f8,local_8f4,uVar7);\n          }\n        }" if (parenthesized_expression "(psVar38 != (stat64 *)0x0)" ( (binary_expression "psVar38 != (stat64 *)0x0" identifier != (cast_expression "(stat64 *)0x0" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n          uVar7 = (uint)local_8f8;\n          if (1 < local_8f8) {\n            uVar7 = pr2serr("warning: %d LBA,number_of_blocks pairs found, only taking first\n",\n                            uVar7,uVar16,uVar16);\n          }\n          if (2 < (int)psVar38) {\n            pr2serr("after build_t10_scat, num_lbard=%u, sum_num=%u\n",local_8f8,local_8f4,uVar7);\n          }\n        }" { (expression_statement "uVar7 = (uint)local_8f8;" (assignment_expression "uVar7 = (uint)local_8f8" identifier = (cast_expression "(uint)local_8f8" ( (type_descriptor "uint" type_identifier) ) identifier)) ;) (if_statement "if (1 < local_8f8) {\n            uVar7 = pr2serr("warning: %d LBA,number_of_blocks pairs found, only taking first\n",\n                            uVar7,uVar16,uVar16);\n          }" if (parenthesized_expression "(1 < local_8f8)" ( (binary_expression "1 < local_8f8" number_literal < identifier) )) (compound_statement "{\n            uVar7 = pr2serr("warning: %d LBA,number_of_blocks pairs found, only taking first\n",\n                            uVar7,uVar16,uVar16);\n          }" { (expression_statement "uVar7 = pr2serr("warning: %d LBA,number_of_blocks pairs found, only taking first\n",\n                            uVar7,uVar16,uVar16);" (assignment_expression "uVar7 = pr2serr("warning: %d LBA,number_of_blocks pairs found, only taking first\n",\n                            uVar7,uVar16,uVar16)" identifier = (call_expression "pr2serr("warning: %d LBA,number_of_blocks pairs found, only taking first\n",\n                            uVar7,uVar16,uVar16)" identifier (argument_list "("warning: %d LBA,number_of_blocks pairs found, only taking first\n",\n                            uVar7,uVar16,uVar16)" ( (string_literal ""warning: %d LBA,number_of_blocks pairs found, only taking first\n"" " string_content escape_sequence ") , identifier , identifier , identifier )))) ;) })) (if_statement "if (2 < (int)psVar38) {\n            pr2serr("after build_t10_scat, num_lbard=%u, sum_num=%u\n",local_8f8,local_8f4,uVar7);\n          }" if (parenthesized_expression "(2 < (int)psVar38)" ( (binary_expression "2 < (int)psVar38" number_literal < (cast_expression "(int)psVar38" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n            pr2serr("after build_t10_scat, num_lbard=%u, sum_num=%u\n",local_8f8,local_8f4,uVar7);\n          }" { (expression_statement "pr2serr("after build_t10_scat, num_lbard=%u, sum_num=%u\n",local_8f8,local_8f4,uVar7);" (call_expression "pr2serr("after build_t10_scat, num_lbard=%u, sum_num=%u\n",local_8f8,local_8f4,uVar7)" identifier (argument_list "("after build_t10_scat, num_lbard=%u, sum_num=%u\n",local_8f8,local_8f4,uVar7)" ( (string_literal ""after build_t10_scat, num_lbard=%u, sum_num=%u\n"" " string_content escape_sequence ") , identifier , identifier , identifier ))) ;) })) })) (if_statement "if (local_8f8 != 1) {\n          pr2serr("Unable to decode one LBA range descriptor from %s\n",local_798,0,0);\n          local_908 = (stat64 *)0xf;\n          goto LAB_00012354;\n        }" if (parenthesized_expression "(local_8f8 != 1)" ( (binary_expression "local_8f8 != 1" identifier != number_literal) )) (compound_statement "{\n          pr2serr("Unable to decode one LBA range descriptor from %s\n",local_798,0,0);\n          local_908 = (stat64 *)0xf;\n          goto LAB_00012354;\n        }" { (expression_statement "pr2serr("Unable to decode one LBA range descriptor from %s\n",local_798,0,0);" (call_expression "pr2serr("Unable to decode one LBA range descriptor from %s\n",local_798,0,0)" identifier (argument_list "("Unable to decode one LBA range descriptor from %s\n",local_798,0,0)" ( (string_literal ""Unable to decode one LBA range descriptor from %s\n"" " string_content escape_sequence ") , identifier , number_literal , number_literal ))) ;) (expression_statement "local_908 = (stat64 *)0xf;" (assignment_expression "local_908 = (stat64 *)0xf" identifier = (cast_expression "(stat64 *)0xf" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (goto_statement "goto LAB_00012354;" goto statement_identifier ;) })) (expression_statement "local_7b8 = local_104 >> 0x18 | (local_104 & 0xff0000) >> 8 | (local_104 & 0xff00) << 8 |\n                    local_104 << 0x18;" (assignment_expression "local_7b8 = local_104 >> 0x18 | (local_104 & 0xff0000) >> 8 | (local_104 & 0xff00) << 8 |\n                    local_104 << 0x18" identifier = (binary_expression "local_104 >> 0x18 | (local_104 & 0xff0000) >> 8 | (local_104 & 0xff00) << 8 |\n                    local_104 << 0x18" (binary_expression "local_104 >> 0x18 | (local_104 & 0xff0000) >> 8 | (local_104 & 0xff00) << 8" (binary_expression "local_104 >> 0x18 | (local_104 & 0xff0000) >> 8" (binary_expression "local_104 >> 0x18" identifier >> number_literal) | (binary_expression "(local_104 & 0xff0000) >> 8" (parenthesized_expression "(local_104 & 0xff0000)" ( (binary_expression "local_104 & 0xff0000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(local_104 & 0xff00) << 8" (parenthesized_expression "(local_104 & 0xff00)" ( (binary_expression "local_104 & 0xff00" identifier & number_literal) )) << number_literal)) | (binary_expression "local_104 << 0x18" identifier << number_literal))) ;) (expression_statement "local_7bc = local_100 >> 0x18 | (local_100 & 0xff0000) >> 8 | (local_100 & 0xff00) << 8 |\n                    local_100 << 0x18;" (assignment_expression "local_7bc = local_100 >> 0x18 | (local_100 & 0xff0000) >> 8 | (local_100 & 0xff00) << 8 |\n                    local_100 << 0x18" identifier = (binary_expression "local_100 >> 0x18 | (local_100 & 0xff0000) >> 8 | (local_100 & 0xff00) << 8 |\n                    local_100 << 0x18" (binary_expression "local_100 >> 0x18 | (local_100 & 0xff0000) >> 8 | (local_100 & 0xff00) << 8" (binary_expression "local_100 >> 0x18 | (local_100 & 0xff0000) >> 8" (binary_expression "local_100 >> 0x18" identifier >> number_literal) | (binary_expression "(local_100 & 0xff0000) >> 8" (parenthesized_expression "(local_100 & 0xff0000)" ( (binary_expression "local_100 & 0xff0000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(local_100 & 0xff00) << 8" (parenthesized_expression "(local_100 & 0xff00)" ( (binary_expression "local_100 & 0xff00" identifier & number_literal) )) << number_literal)) | (binary_expression "local_100 << 0x18" identifier << number_literal))) ;) (expression_statement "local_7cc = (stat64 *)\n                    (local_fc >> 0x18 | (local_fc & 0xff0000) >> 8 | (local_fc & 0xff00) << 8 |\n                    local_fc << 0x18);" (assignment_expression "local_7cc = (stat64 *)\n                    (local_fc >> 0x18 | (local_fc & 0xff0000) >> 8 | (local_fc & 0xff00) << 8 |\n                    local_fc << 0x18)" identifier = (cast_expression "(stat64 *)\n                    (local_fc >> 0x18 | (local_fc & 0xff0000) >> 8 | (local_fc & 0xff00) << 8 |\n                    local_fc << 0x18)" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_fc >> 0x18 | (local_fc & 0xff0000) >> 8 | (local_fc & 0xff00) << 8 |\n                    local_fc << 0x18)" ( (binary_expression "local_fc >> 0x18 | (local_fc & 0xff0000) >> 8 | (local_fc & 0xff00) << 8 |\n                    local_fc << 0x18" (binary_expression "local_fc >> 0x18 | (local_fc & 0xff0000) >> 8 | (local_fc & 0xff00) << 8" (binary_expression "local_fc >> 0x18 | (local_fc & 0xff0000) >> 8" (binary_expression "local_fc >> 0x18" identifier >> number_literal) | (binary_expression "(local_fc & 0xff0000) >> 8" (parenthesized_expression "(local_fc & 0xff0000)" ( (binary_expression "local_fc & 0xff0000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(local_fc & 0xff00) << 8" (parenthesized_expression "(local_fc & 0xff00)" ( (binary_expression "local_fc & 0xff00" identifier & number_literal) )) << number_literal)) | (binary_expression "local_fc << 0x18" identifier << number_literal)) )))) ;) (if_statement "if (local_81f != '\0') {\n          local_7c0 = local_f8 >> 0x18 | (local_f8 & 0xff0000) >> 8 | (local_f8 & 0xff00) << 8 |\n                      local_f8 << 0x18;\n          local_7e6 = local_f4 << 8 | local_f4 >> 8;\n          local_7dc = local_f2 << 8 | local_f2 >> 8;\n        }" if (parenthesized_expression "(local_81f != '\0')" ( (binary_expression "local_81f != '\0'" identifier != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n          local_7c0 = local_f8 >> 0x18 | (local_f8 & 0xff0000) >> 8 | (local_f8 & 0xff00) << 8 |\n                      local_f8 << 0x18;\n          local_7e6 = local_f4 << 8 | local_f4 >> 8;\n          local_7dc = local_f2 << 8 | local_f2 >> 8;\n        }" { (expression_statement "local_7c0 = local_f8 >> 0x18 | (local_f8 & 0xff0000) >> 8 | (local_f8 & 0xff00) << 8 |\n                      local_f8 << 0x18;" (assignment_expression "local_7c0 = local_f8 >> 0x18 | (local_f8 & 0xff0000) >> 8 | (local_f8 & 0xff00) << 8 |\n                      local_f8 << 0x18" identifier = (binary_expression "local_f8 >> 0x18 | (local_f8 & 0xff0000) >> 8 | (local_f8 & 0xff00) << 8 |\n                      local_f8 << 0x18" (binary_expression "local_f8 >> 0x18 | (local_f8 & 0xff0000) >> 8 | (local_f8 & 0xff00) << 8" (binary_expression "local_f8 >> 0x18 | (local_f8 & 0xff0000) >> 8" (binary_expression "local_f8 >> 0x18" identifier >> number_literal) | (binary_expression "(local_f8 & 0xff0000) >> 8" (parenthesized_expression "(local_f8 & 0xff0000)" ( (binary_expression "local_f8 & 0xff0000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(local_f8 & 0xff00) << 8" (parenthesized_expression "(local_f8 & 0xff00)" ( (binary_expression "local_f8 & 0xff00" identifier & number_literal) )) << number_literal)) | (binary_expression "local_f8 << 0x18" identifier << number_literal))) ;) (expression_statement "local_7e6 = local_f4 << 8 | local_f4 >> 8;" (assignment_expression "local_7e6 = local_f4 << 8 | local_f4 >> 8" identifier = (binary_expression "local_f4 << 8 | local_f4 >> 8" (binary_expression "local_f4 << 8" identifier << number_literal) | (binary_expression "local_f4 >> 8" identifier >> number_literal))) ;) (expression_statement "local_7dc = local_f2 << 8 | local_f2 >> 8;" (assignment_expression "local_7dc = local_f2 << 8 | local_f2 >> 8" identifier = (binary_expression "local_f2 << 8 | local_f2 >> 8" (binary_expression "local_f2 << 8" identifier << number_literal) | (binary_expression "local_f2 >> 8" identifier >> number_literal))) ;) })) (goto_statement "goto LAB_00012d48;" goto statement_identifier ;) })))) (if_statement "if (local_908 < (stat64 *)0x40) {\n        pr2serr("raw scatter file must be at least 64 bytes long (length: %u)\n",local_908,\n                local_880._44_4_,local_880._44_4_);\nLAB_00012ef5:\n        local_908 = (stat64 *)0xf;\n        goto LAB_00012354;\n      }" if (parenthesized_expression "(local_908 < (stat64 *)0x40)" ( (binary_expression "local_908 < (stat64 *)0x40" identifier < (cast_expression "(stat64 *)0x40" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        pr2serr("raw scatter file must be at least 64 bytes long (length: %u)\n",local_908,\n                local_880._44_4_,local_880._44_4_);\nLAB_00012ef5:\n        local_908 = (stat64 *)0xf;\n        goto LAB_00012354;\n      }" { (expression_statement "pr2serr("raw scatter file must be at least 64 bytes long (length: %u)\n",local_908,\n                local_880._44_4_,local_880._44_4_);" (call_expression "pr2serr("raw scatter file must be at least 64 bytes long (length: %u)\n",local_908,\n                local_880._44_4_,local_880._44_4_)" identifier (argument_list "("raw scatter file must be at least 64 bytes long (length: %u)\n",local_908,\n                local_880._44_4_,local_880._44_4_)" ( (string_literal ""raw scatter file must be at least 64 bytes long (length: %u)\n"" " string_content escape_sequence ") , identifier , (field_expression "local_880._44_4_" identifier . field_identifier) , (field_expression "local_880._44_4_" identifier . field_identifier) ))) ;) (labeled_statement "LAB_00012ef5:\n        local_908 = (stat64 *)0xf;" statement_identifier : (expression_statement "local_908 = (stat64 *)0xf;" (assignment_expression "local_908 = (stat64 *)0xf" identifier = (cast_expression "(stat64 *)0xf" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;)) (goto_statement "goto LAB_00012354;" goto statement_identifier ;) })) (expression_statement "psVar25 = (stat64 *)(local_174 + 0x50);" (assignment_expression "psVar25 = (stat64 *)(local_174 + 0x50)" identifier = (cast_expression "(stat64 *)(local_174 + 0x50)" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_174 + 0x50)" ( (binary_expression "local_174 + 0x50" identifier + number_literal) )))) ;) (expression_statement "local_908 = (stat64 *)FUN_00014a80(&DAT_00017365);" (assignment_expression "local_908 = (stat64 *)FUN_00014a80(&DAT_00017365)" identifier = (cast_expression "(stat64 *)FUN_00014a80(&DAT_00017365)" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_00014a80(&DAT_00017365)" identifier (argument_list "(&DAT_00017365)" ( (pointer_expression "&DAT_00017365" & identifier) ))))) ;) (if_statement "if (local_908 != (stat64 *)0x0) goto LAB_00012354;" if (parenthesized_expression "(local_908 != (stat64 *)0x0)" ( (binary_expression "local_908 != (stat64 *)0x0" identifier != (cast_expression "(stat64 *)0x0" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_00012354;" goto statement_identifier ;)) (expression_statement "cVar6 = FUN_000146a0(&local_8f8,&local_8f4,extraout_ECX_03,extraout_ECX_03);" (assignment_expression "cVar6 = FUN_000146a0(&local_8f8,&local_8f4,extraout_ECX_03,extraout_ECX_03)" identifier = (call_expression "FUN_000146a0(&local_8f8,&local_8f4,extraout_ECX_03,extraout_ECX_03)" identifier (argument_list "(&local_8f8,&local_8f4,extraout_ECX_03,extraout_ECX_03)" ( (pointer_expression "&local_8f8" & identifier) , (pointer_expression "&local_8f4" & identifier) , identifier , identifier )))) ;) (if_statement "if (cVar6 == '\0') goto LAB_00012ef5;" if (parenthesized_expression "(cVar6 == '\0')" ( (binary_expression "cVar6 == '\0'" identifier == (char_literal "'\0'" ' escape_sequence ')) )) (goto_statement "goto LAB_00012ef5;" goto statement_identifier ;)) (if_statement "if (local_8f8 != 1) {\n        pr2serr("No %ss found in SF (num=%u)\n","LBA range descriptor",local_8f8,extraout_EDX_01);\n        goto LAB_00012ef5;\n      }" if (parenthesized_expression "(local_8f8 != 1)" ( (binary_expression "local_8f8 != 1" identifier != number_literal) )) (compound_statement "{\n        pr2serr("No %ss found in SF (num=%u)\n","LBA range descriptor",local_8f8,extraout_EDX_01);\n        goto LAB_00012ef5;\n      }" { (expression_statement "pr2serr("No %ss found in SF (num=%u)\n","LBA range descriptor",local_8f8,extraout_EDX_01);" (call_expression "pr2serr("No %ss found in SF (num=%u)\n","LBA range descriptor",local_8f8,extraout_EDX_01)" identifier (argument_list "("No %ss found in SF (num=%u)\n","LBA range descriptor",local_8f8,extraout_EDX_01)" ( (string_literal ""No %ss found in SF (num=%u)\n"" " string_content escape_sequence ") , (string_literal ""LBA range descriptor"" " string_content ") , identifier , identifier ))) ;) (goto_statement "goto LAB_00012ef5;" goto statement_identifier ;) })) (expression_statement "local_7b8 = local_114 >> 0x18 | (local_114 & 0xff0000) >> 8 | (local_114 & 0xff00) << 8 |\n                  local_114 << 0x18;" (assignment_expression "local_7b8 = local_114 >> 0x18 | (local_114 & 0xff0000) >> 8 | (local_114 & 0xff00) << 8 |\n                  local_114 << 0x18" identifier = (binary_expression "local_114 >> 0x18 | (local_114 & 0xff0000) >> 8 | (local_114 & 0xff00) << 8 |\n                  local_114 << 0x18" (binary_expression "local_114 >> 0x18 | (local_114 & 0xff0000) >> 8 | (local_114 & 0xff00) << 8" (binary_expression "local_114 >> 0x18 | (local_114 & 0xff0000) >> 8" (binary_expression "local_114 >> 0x18" identifier >> number_literal) | (binary_expression "(local_114 & 0xff0000) >> 8" (parenthesized_expression "(local_114 & 0xff0000)" ( (binary_expression "local_114 & 0xff0000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(local_114 & 0xff00) << 8" (parenthesized_expression "(local_114 & 0xff00)" ( (binary_expression "local_114 & 0xff00" identifier & number_literal) )) << number_literal)) | (binary_expression "local_114 << 0x18" identifier << number_literal))) ;) (expression_statement "local_7bc = local_110 >> 0x18 | (local_110 & 0xff0000) >> 8 | (local_110 & 0xff00) << 8 |\n                  local_110 << 0x18;" (assignment_expression "local_7bc = local_110 >> 0x18 | (local_110 & 0xff0000) >> 8 | (local_110 & 0xff00) << 8 |\n                  local_110 << 0x18" identifier = (binary_expression "local_110 >> 0x18 | (local_110 & 0xff0000) >> 8 | (local_110 & 0xff00) << 8 |\n                  local_110 << 0x18" (binary_expression "local_110 >> 0x18 | (local_110 & 0xff0000) >> 8 | (local_110 & 0xff00) << 8" (binary_expression "local_110 >> 0x18 | (local_110 & 0xff0000) >> 8" (binary_expression "local_110 >> 0x18" identifier >> number_literal) | (binary_expression "(local_110 & 0xff0000) >> 8" (parenthesized_expression "(local_110 & 0xff0000)" ( (binary_expression "local_110 & 0xff0000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(local_110 & 0xff00) << 8" (parenthesized_expression "(local_110 & 0xff00)" ( (binary_expression "local_110 & 0xff00" identifier & number_literal) )) << number_literal)) | (binary_expression "local_110 << 0x18" identifier << number_literal))) ;) (expression_statement "local_7cc = (stat64 *)\n                  (local_10c >> 0x18 | (local_10c & 0xff0000) >> 8 | (local_10c & 0xff00) << 8 |\n                  local_10c << 0x18);" (assignment_expression "local_7cc = (stat64 *)\n                  (local_10c >> 0x18 | (local_10c & 0xff0000) >> 8 | (local_10c & 0xff00) << 8 |\n                  local_10c << 0x18)" identifier = (cast_expression "(stat64 *)\n                  (local_10c >> 0x18 | (local_10c & 0xff0000) >> 8 | (local_10c & 0xff00) << 8 |\n                  local_10c << 0x18)" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_10c >> 0x18 | (local_10c & 0xff0000) >> 8 | (local_10c & 0xff00) << 8 |\n                  local_10c << 0x18)" ( (binary_expression "local_10c >> 0x18 | (local_10c & 0xff0000) >> 8 | (local_10c & 0xff00) << 8 |\n                  local_10c << 0x18" (binary_expression "local_10c >> 0x18 | (local_10c & 0xff0000) >> 8 | (local_10c & 0xff00) << 8" (binary_expression "local_10c >> 0x18 | (local_10c & 0xff0000) >> 8" (binary_expression "local_10c >> 0x18" identifier >> number_literal) | (binary_expression "(local_10c & 0xff0000) >> 8" (parenthesized_expression "(local_10c & 0xff0000)" ( (binary_expression "local_10c & 0xff0000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(local_10c & 0xff00) << 8" (parenthesized_expression "(local_10c & 0xff00)" ( (binary_expression "local_10c & 0xff00" identifier & number_literal) )) << number_literal)) | (binary_expression "local_10c << 0x18" identifier << number_literal)) )))) ;) }) (else_clause "else {\n      local_7bc = local_578;\n      local_7b8 = local_574;\n      local_7cc = local_778[0];\n      if ((psVar38 != (stat64 *)0x0) && (local_91c != (stat64 *)0x1)) {\n        pr2serr("warning: %d LBA,number_of_blocks pairs found, only taking first\n",local_91c,\n                psVar17,psVar17);\n      }\n    }" else (compound_statement "{\n      local_7bc = local_578;\n      local_7b8 = local_574;\n      local_7cc = local_778[0];\n      if ((psVar38 != (stat64 *)0x0) && (local_91c != (stat64 *)0x1)) {\n        pr2serr("warning: %d LBA,number_of_blocks pairs found, only taking first\n",local_91c,\n                psVar17,psVar17);\n      }\n    }" { (expression_statement "local_7bc = local_578;" (assignment_expression "local_7bc = local_578" identifier = identifier) ;) (expression_statement "local_7b8 = local_574;" (assignment_expression "local_7b8 = local_574" identifier = identifier) ;) (expression_statement "local_7cc = local_778[0];" (assignment_expression "local_7cc = local_778[0]" identifier = (subscript_expression "local_778[0]" identifier [ number_literal ])) ;) (if_statement "if ((psVar38 != (stat64 *)0x0) && (local_91c != (stat64 *)0x1)) {\n        pr2serr("warning: %d LBA,number_of_blocks pairs found, only taking first\n",local_91c,\n                psVar17,psVar17);\n      }" if (parenthesized_expression "((psVar38 != (stat64 *)0x0) && (local_91c != (stat64 *)0x1))" ( (binary_expression "(psVar38 != (stat64 *)0x0) && (local_91c != (stat64 *)0x1)" (parenthesized_expression "(psVar38 != (stat64 *)0x0)" ( (binary_expression "psVar38 != (stat64 *)0x0" identifier != (cast_expression "(stat64 *)0x0" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) && (parenthesized_expression "(local_91c != (stat64 *)0x1)" ( (binary_expression "local_91c != (stat64 *)0x1" identifier != (cast_expression "(stat64 *)0x1" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ))) )) (compound_statement "{\n        pr2serr("warning: %d LBA,number_of_blocks pairs found, only taking first\n",local_91c,\n                psVar17,psVar17);\n      }" { (expression_statement "pr2serr("warning: %d LBA,number_of_blocks pairs found, only taking first\n",local_91c,\n                psVar17,psVar17);" (call_expression "pr2serr("warning: %d LBA,number_of_blocks pairs found, only taking first\n",local_91c,\n                psVar17,psVar17)" identifier (argument_list "("warning: %d LBA,number_of_blocks pairs found, only taking first\n",local_91c,\n                psVar17,psVar17)" ( (string_literal ""warning: %d LBA,number_of_blocks pairs found, only taking first\n"" " string_content escape_sequence ") , identifier , identifier , identifier ))) ;) })) }))) (labeled_statement "LAB_00012d48:\n    if (local_818 == 0) {\n      psVar25 = (stat64 *)((int)local_7cc * (int)local_7d4);\n    }\n    else {\n      psVar25 = (stat64 *)0x0;\n      if (local_810 == 0) {\n        psVar25 = local_7d4;\n      }\n    }" statement_identifier : (if_statement "if (local_818 == 0) {\n      psVar25 = (stat64 *)((int)local_7cc * (int)local_7d4);\n    }\n    else {\n      psVar25 = (stat64 *)0x0;\n      if (local_810 == 0) {\n        psVar25 = local_7d4;\n      }\n    }" if (parenthesized_expression "(local_818 == 0)" ( (binary_expression "local_818 == 0" identifier == number_literal) )) (compound_statement "{\n      psVar25 = (stat64 *)((int)local_7cc * (int)local_7d4);\n    }" { (expression_statement "psVar25 = (stat64 *)((int)local_7cc * (int)local_7d4);" (assignment_expression "psVar25 = (stat64 *)((int)local_7cc * (int)local_7d4)" identifier = (cast_expression "(stat64 *)((int)local_7cc * (int)local_7d4)" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_7cc * (int)local_7d4)" ( (binary_expression "(int)local_7cc * (int)local_7d4" (cast_expression "(int)local_7cc" ( (type_descriptor "int" primitive_type) ) identifier) * (cast_expression "(int)local_7d4" ( (type_descriptor "int" primitive_type) ) identifier)) )))) ;) }) (else_clause "else {\n      psVar25 = (stat64 *)0x0;\n      if (local_810 == 0) {\n        psVar25 = local_7d4;\n      }\n    }" else (compound_statement "{\n      psVar25 = (stat64 *)0x0;\n      if (local_810 == 0) {\n        psVar25 = local_7d4;\n      }\n    }" { (expression_statement "psVar25 = (stat64 *)0x0;" (assignment_expression "psVar25 = (stat64 *)0x0" identifier = (cast_expression "(stat64 *)0x0" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (if_statement "if (local_810 == 0) {\n        psVar25 = local_7d4;\n      }" if (parenthesized_expression "(local_810 == 0)" ( (binary_expression "local_810 == 0" identifier == number_literal) )) (compound_statement "{\n        psVar25 = local_7d4;\n      }" { (expression_statement "psVar25 = local_7d4;" (assignment_expression "psVar25 = local_7d4" identifier = identifier) ;) })) })))) (expression_statement "local_7a4 = psVar25;" (assignment_expression "local_7a4 = psVar25" identifier = identifier) ;) (if_statement "if (psVar25 != (stat64 *)0x0) {\n      iVar14 = sg_memalign(psVar25,0,&local_8f0,0);\n      if (iVar14 == 0) {\n        pcVar15 = "unable to allocate %u bytes of memory\n";\n        ppvVar39 = (void **)0x0;\n        uVar16 = 0;\n        psVar38 = psVar25;\nLAB_00013bea:\n        pr2serr(pcVar15,psVar38,ppvVar39,uVar16);\n        local_908 = (stat64 *)sg_convert_errno(0xc);\n        goto LAB_00012354;\n      }\n      local_908 = (stat64 *)FUN_00014a80(&DAT_000173c6);\n      if (local_908 != (stat64 *)0x0) goto LAB_00012354;\n    }" if (parenthesized_expression "(psVar25 != (stat64 *)0x0)" ( (binary_expression "psVar25 != (stat64 *)0x0" identifier != (cast_expression "(stat64 *)0x0" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      iVar14 = sg_memalign(psVar25,0,&local_8f0,0);\n      if (iVar14 == 0) {\n        pcVar15 = "unable to allocate %u bytes of memory\n";\n        ppvVar39 = (void **)0x0;\n        uVar16 = 0;\n        psVar38 = psVar25;\nLAB_00013bea:\n        pr2serr(pcVar15,psVar38,ppvVar39,uVar16);\n        local_908 = (stat64 *)sg_convert_errno(0xc);\n        goto LAB_00012354;\n      }\n      local_908 = (stat64 *)FUN_00014a80(&DAT_000173c6);\n      if (local_908 != (stat64 *)0x0) goto LAB_00012354;\n    }" { (expression_statement "iVar14 = sg_memalign(psVar25,0,&local_8f0,0);" (assignment_expression "iVar14 = sg_memalign(psVar25,0,&local_8f0,0)" identifier = (call_expression "sg_memalign(psVar25,0,&local_8f0,0)" identifier (argument_list "(psVar25,0,&local_8f0,0)" ( identifier , number_literal , (pointer_expression "&local_8f0" & identifier) , number_literal )))) ;) (if_statement "if (iVar14 == 0) {\n        pcVar15 = "unable to allocate %u bytes of memory\n";\n        ppvVar39 = (void **)0x0;\n        uVar16 = 0;\n        psVar38 = psVar25;\nLAB_00013bea:\n        pr2serr(pcVar15,psVar38,ppvVar39,uVar16);\n        local_908 = (stat64 *)sg_convert_errno(0xc);\n        goto LAB_00012354;\n      }" if (parenthesized_expression "(iVar14 == 0)" ( (binary_expression "iVar14 == 0" identifier == number_literal) )) (compound_statement "{\n        pcVar15 = "unable to allocate %u bytes of memory\n";\n        ppvVar39 = (void **)0x0;\n        uVar16 = 0;\n        psVar38 = psVar25;\nLAB_00013bea:\n        pr2serr(pcVar15,psVar38,ppvVar39,uVar16);\n        local_908 = (stat64 *)sg_convert_errno(0xc);\n        goto LAB_00012354;\n      }" { (expression_statement "pcVar15 = "unable to allocate %u bytes of memory\n";" (assignment_expression "pcVar15 = "unable to allocate %u bytes of memory\n"" identifier = (string_literal ""unable to allocate %u bytes of memory\n"" " string_content escape_sequence ")) ;) (expression_statement "ppvVar39 = (void **)0x0;" (assignment_expression "ppvVar39 = (void **)0x0" identifier = (cast_expression "(void **)0x0" ( (type_descriptor "void **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) ;) (expression_statement "uVar16 = 0;" (assignment_expression "uVar16 = 0" identifier = number_literal) ;) (expression_statement "psVar38 = psVar25;" (assignment_expression "psVar38 = psVar25" identifier = identifier) ;) (labeled_statement "LAB_00013bea:\n        pr2serr(pcVar15,psVar38,ppvVar39,uVar16);" statement_identifier : (expression_statement "pr2serr(pcVar15,psVar38,ppvVar39,uVar16);" (call_expression "pr2serr(pcVar15,psVar38,ppvVar39,uVar16)" identifier (argument_list "(pcVar15,psVar38,ppvVar39,uVar16)" ( identifier , identifier , identifier , identifier ))) ;)) (expression_statement "local_908 = (stat64 *)sg_convert_errno(0xc);" (assignment_expression "local_908 = (stat64 *)sg_convert_errno(0xc)" identifier = (cast_expression "(stat64 *)sg_convert_errno(0xc)" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "sg_convert_errno(0xc)" identifier (argument_list "(0xc)" ( number_literal ))))) ;) (goto_statement "goto LAB_00012354;" goto statement_identifier ;) })) (expression_statement "local_908 = (stat64 *)FUN_00014a80(&DAT_000173c6);" (assignment_expression "local_908 = (stat64 *)FUN_00014a80(&DAT_000173c6)" identifier = (cast_expression "(stat64 *)FUN_00014a80(&DAT_000173c6)" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_00014a80(&DAT_000173c6)" identifier (argument_list "(&DAT_000173c6)" ( (pointer_expression "&DAT_000173c6" & identifier) ))))) ;) (if_statement "if (local_908 != (stat64 *)0x0) goto LAB_00012354;" if (parenthesized_expression "(local_908 != (stat64 *)0x0)" ( (binary_expression "local_908 != (stat64 *)0x0" identifier != (cast_expression "(stat64 *)0x0" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_00012354;" goto statement_identifier ;)) })) (expression_statement "local_908 = (stat64 *)FUN_00014b00(&local_820);" (assignment_expression "local_908 = (stat64 *)FUN_00014b00(&local_820)" identifier = (cast_expression "(stat64 *)FUN_00014b00(&local_820)" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_00014b00(&local_820)" identifier (argument_list "(&local_820)" ( (pointer_expression "&local_820" & identifier) ))))) ;) (if_statement "if (local_908 == (stat64 *)0x0) goto LAB_00012354;" if (parenthesized_expression "(local_908 == (stat64 *)0x0)" ( (binary_expression "local_908 == (stat64 *)0x0" identifier == (cast_expression "(stat64 *)0x0" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_00012354;" goto statement_identifier ;)) (if_statement "if (local_81a != '\0') goto LAB_00012354;" if (parenthesized_expression "(local_81a != '\0')" ( (binary_expression "local_81a != '\0'" identifier != (char_literal "'\0'" ' escape_sequence ')) )) (goto_statement "goto LAB_00012354;" goto statement_identifier ;)) (expression_statement "puVar43 = local_174;" (assignment_expression "puVar43 = local_174" identifier = identifier) ;) (expression_statement "psVar25 = (stat64 *)"OS error";" (assignment_expression "psVar25 = (stat64 *)"OS error"" identifier = (cast_expression "(stat64 *)"OS error"" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) (string_literal ""OS error"" " string_content "))) ;) (expression_statement "puVar29 = puVar43;" (assignment_expression "puVar29 = puVar43" identifier = identifier) ;) (for_statement "for (iVar14 = 9; iVar14 != 0; iVar14 = iVar14 + -1) {\n      *puVar29 = (char)psVar25->st_dev;\n      psVar25 = (stat64 *)((int)psVar25 + (uint)bVar32 * -2 + 1);\n      puVar29 = puVar29 + (uint)bVar32 * -2 + 1;\n    }" for ( (assignment_expression "iVar14 = 9" identifier = number_literal) ; (binary_expression "iVar14 != 0" identifier != number_literal) ; (assignment_expression "iVar14 = iVar14 + -1" identifier = (binary_expression "iVar14 + -1" identifier + number_literal)) ) (compound_statement "{\n      *puVar29 = (char)psVar25->st_dev;\n      psVar25 = (stat64 *)((int)psVar25 + (uint)bVar32 * -2 + 1);\n      puVar29 = puVar29 + (uint)bVar32 * -2 + 1;\n    }" { (expression_statement "*puVar29 = (char)psVar25->st_dev;" (assignment_expression "*puVar29 = (char)psVar25->st_dev" (pointer_expression "*puVar29" * identifier) = (cast_expression "(char)psVar25->st_dev" ( (type_descriptor "char" primitive_type) ) (field_expression "psVar25->st_dev" identifier -> field_identifier))) ;) (expression_statement "psVar25 = (stat64 *)((int)psVar25 + (uint)bVar32 * -2 + 1);" (assignment_expression "psVar25 = (stat64 *)((int)psVar25 + (uint)bVar32 * -2 + 1)" identifier = (cast_expression "(stat64 *)((int)psVar25 + (uint)bVar32 * -2 + 1)" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)psVar25 + (uint)bVar32 * -2 + 1)" ( (binary_expression "(int)psVar25 + (uint)bVar32 * -2 + 1" (binary_expression "(int)psVar25 + (uint)bVar32 * -2" (cast_expression "(int)psVar25" ( (type_descriptor "int" primitive_type) ) identifier) + (binary_expression "(uint)bVar32 * -2" (cast_expression "(uint)bVar32" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal) )))) ;) (expression_statement "puVar29 = puVar29 + (uint)bVar32 * -2 + 1;" (assignment_expression "puVar29 = puVar29 + (uint)bVar32 * -2 + 1" identifier = (binary_expression "puVar29 + (uint)bVar32 * -2 + 1" (binary_expression "puVar29 + (uint)bVar32 * -2" identifier + (binary_expression "(uint)bVar32 * -2" (cast_expression "(uint)bVar32" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) })) (expression_statement "uVar16 = 0;" (assignment_expression "uVar16 = 0" identifier = number_literal) ;) (if_statement "if (0 < (int)local_908) {\n      sg_get_category_sense_str(local_908,0x50,puVar43,psVar38);\n      uVar16 = extraout_ECX_02;\n    }" if (parenthesized_expression "(0 < (int)local_908)" ( (binary_expression "0 < (int)local_908" number_literal < (cast_expression "(int)local_908" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n      sg_get_category_sense_str(local_908,0x50,puVar43,psVar38);\n      uVar16 = extraout_ECX_02;\n    }" { (expression_statement "sg_get_category_sense_str(local_908,0x50,puVar43,psVar38);" (call_expression "sg_get_category_sense_str(local_908,0x50,puVar43,psVar38)" identifier (argument_list "(local_908,0x50,puVar43,psVar38)" ( identifier , number_literal , identifier , identifier ))) ;) (expression_statement "uVar16 = extraout_ECX_02;" (assignment_expression "uVar16 = extraout_ECX_02" identifier = identifier) ;) })) (expression_statement "pr2serr("%s: %s\n",local_790,puVar43,uVar16);" (call_expression "pr2serr("%s: %s\n",local_790,puVar43,uVar16)" identifier (argument_list "("%s: %s\n",local_790,puVar43,uVar16)" ( (string_literal ""%s: %s\n"" " string_content escape_sequence ") , identifier , identifier , identifier ))) ;) (goto_statement "goto LAB_00012354;" goto statement_identifier ;) })) (expression_statement "local_8e8 = (void *)0x0;" (assignment_expression "local_8e8 = (void *)0x0" identifier = (cast_expression "(void *)0x0" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_8f6 = local_8f8;" (assignment_expression "local_8f6 = local_8f8" identifier = identifier) ;) (expression_statement "local_8ec = (undefined1  [4])local_8f4;" (assignment_expression "local_8ec = (undefined1  [4])local_8f4" identifier = (cast_expression "(undefined1  [4])local_8f4" ( (type_descriptor "undefined1  [4]" type_identifier (abstract_array_declarator "[4]" [ number_literal ])) ) identifier)) ;) (if_statement "if (local_81c != '\0') {\n    if (local_7e2 == 0) {\n      if (local_7e0 == 0) {\n        psVar17 = local_93c;\n        if (local_93c == (stat64 *)0x0) {\n          pr2serr("With --combined= if DOF, RD are 0 and IF has an unknown length\nthen give up\n");\n          local_908 = (stat64 *)0x1f;\n          goto LAB_00012354;\n        }\n      }\n      else {\n        psVar17 = (stat64 *)((local_7e0 + 1) * 0x20);\n      }\n      if ((uint)psVar17 % (uint)local_7d4 != 0) {\n        psVar17 = (stat64 *)(((uint)psVar17 / (uint)local_7d4 + 1) * (int)local_7d4);\n      }\n    }\n    else {\n      psVar17 = (stat64 *)((uint)local_7e2 * (int)local_7d4);\n    }\n    ppvVar39 = &local_8e8;\n    uVar16 = 0;\n    psVar38 = (stat64 *)0x0;\n    psVar25 = (stat64 *)sg_memalign(psVar17,0,ppvVar39,0);\n    if (psVar25 == (stat64 *)0x0) {\nLAB_000141a6:\n      pcVar15 = "unable to allocate aligned memory for scatterlist+data\n";\n      goto LAB_00013bea;\n    }\n    local_908 = (stat64 *)FUN_00014a80("IF c1");\n    if (local_908 != (stat64 *)0x0) goto LAB_000133fd;\n    cVar6 = FUN_000146a0(&local_8f6,local_8ec,0,0);\n    if (cVar6 != '\0') {\n      if ((local_7e0 == 0) || (local_7e0 == local_8f6)) {\n        local_7e0 = local_8f6;\nLAB_00013fe3:\n        local_908 = (stat64 *)((local_7e0 + 1) * 0x20);\n        if ((uint)local_908 % (uint)local_7d4 != 0) {\n          local_908 = (stat64 *)(((uint)local_908 / (uint)local_7d4 + 1) * (int)local_7d4);\n        }\n        uVar7 = (uint)local_7e2;\n        uVar24 = uVar7 * (int)local_7d4;\n        psVar38 = local_908;\n        local_8f6 = local_7e0;\n        if (uVar24 - (int)local_908 != 0) {\n          if (uVar24 < local_908) {\n            pr2serr("%s: Cannot fit %ss (%u) in given LB data offset (%u)\n","process_scattered",\n                    "LBA range descriptor",(uint)local_7e0,uVar7);\n            goto LAB_000133f3;\n          }\n          psVar38 = (stat64 *)uVar24;\n          if ((((uint)psVar18 | local_7f8) != 0) &&\n             (pr2serr("%s: empty blocks before LB data offset (%u), could be okay\n",\n                      "process_scattered",uVar7,(uint)psVar18 | local_7f8), local_7f8 != 0)) {\n            pr2serr("Exiting due to --strict; perhaps try again with --combined=%u\n",\n                    (uint)local_908 / (uint)local_7d4,psVar25,psVar25);\n            local_908 = (stat64 *)0xf;\n            goto LAB_000133fd;\n          }\n        }\n        psVar38 = (stat64 *)((int)local_8ec * (int)local_7d4 + (int)psVar38);\n        if (psVar38 <= psVar17) {\nLAB_0001418c:\n          local_7cc = (stat64 *)local_8ec;\n          local_7a4 = (stat64 *)((int)local_8ec * (int)local_7d4);\n          goto LAB_00013962;\n        }\n        if (local_93c != psVar38) {\n          if (local_93c < psVar38) {\n            pr2serr("Calculated dout length (%u) %s bytes available in IF (%u)\n",psVar38,\n                    &DAT_000170dd,local_93c);\n          }\n          else if ((psVar18 == (stat64 *)0x0 && local_7f8 == 0) ||\n                  (pr2serr("Calculated dout length (%u) %s bytes available in IF (%u)\n",psVar38,\n                           &DAT_00017110,local_93c), local_7f8 == 0)) goto LAB_00014113;\n          goto LAB_000133f3;\n        }\nLAB_00014113:\n        uVar33 = sg_memalign(psVar38,0,&local_8e4,0);\n        uVar16 = (undefined4)((ulonglong)uVar33 >> 0x20);\n        psVar38 = (stat64 *)uVar33;\n        if (psVar38 != (stat64 *)0x0) {\n          memcpy(psVar38,psVar25,(size_t)psVar17);\n          free(local_8e8);\n          local_8e8 = local_8e4;\n          local_908 = (stat64 *)FUN_00014a80("IF c2",psVar25,psVar17,uVar16);\n          psVar25 = psVar38;\n          if (local_908 != (stat64 *)0x0) goto LAB_000133fd;\n          goto LAB_0001418c;\n        }\nLAB_00014273:\n        pcVar15 = "unable to allocate memory for final scatterlist+data\n";\n        goto LAB_00013fbc;\n      }\n      if (local_8f6 < local_7e0) {\n        pr2serr("RD (%u) %s number of %ss (%u) found in IF\n",local_7e0,&DAT_000170dd,\n                "LBA range descriptor",local_8f6);\n      }\n      else if ((psVar18 == (stat64 *)0x0 && local_7f8 == 0) ||\n              (pr2serr("RD (%u) %s number of %ss (%u) found in IF\n",local_7e0,&DAT_00017110,\n                       "LBA range descriptor",local_8f6), local_7f8 == 0)) {\n        local_908 = (stat64 *)0x0;\n        for (psVar38 = psVar25; (stat64 *)(&psVar25->st_dev + (uint)local_7e0 * 4) != psVar38;\n            psVar38 = (stat64 *)&psVar38->st_rdev) {\n          uVar7 = psVar38->__pad2;\n          local_908 = (stat64 *)\n                      ((int)&local_908->st_dev +\n                      (uVar7 >> 0x18 | (uVar7 & 0xff0000) >> 8 | (uVar7 & 0xff00) << 8 |\n                      uVar7 << 0x18));\n        }\n        local_8ec = (undefined1  [4])local_908;\n        goto LAB_00013fe3;\n      }\n    }\nLAB_000133f3:\n    local_908 = (stat64 *)0xf;\n    goto LAB_000133fd;\n  }" if (parenthesized_expression "(local_81c != '\0')" ( (binary_expression "local_81c != '\0'" identifier != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n    if (local_7e2 == 0) {\n      if (local_7e0 == 0) {\n        psVar17 = local_93c;\n        if (local_93c == (stat64 *)0x0) {\n          pr2serr("With --combined= if DOF, RD are 0 and IF has an unknown length\nthen give up\n");\n          local_908 = (stat64 *)0x1f;\n          goto LAB_00012354;\n        }\n      }\n      else {\n        psVar17 = (stat64 *)((local_7e0 + 1) * 0x20);\n      }\n      if ((uint)psVar17 % (uint)local_7d4 != 0) {\n        psVar17 = (stat64 *)(((uint)psVar17 / (uint)local_7d4 + 1) * (int)local_7d4);\n      }\n    }\n    else {\n      psVar17 = (stat64 *)((uint)local_7e2 * (int)local_7d4);\n    }\n    ppvVar39 = &local_8e8;\n    uVar16 = 0;\n    psVar38 = (stat64 *)0x0;\n    psVar25 = (stat64 *)sg_memalign(psVar17,0,ppvVar39,0);\n    if (psVar25 == (stat64 *)0x0) {\nLAB_000141a6:\n      pcVar15 = "unable to allocate aligned memory for scatterlist+data\n";\n      goto LAB_00013bea;\n    }\n    local_908 = (stat64 *)FUN_00014a80("IF c1");\n    if (local_908 != (stat64 *)0x0) goto LAB_000133fd;\n    cVar6 = FUN_000146a0(&local_8f6,local_8ec,0,0);\n    if (cVar6 != '\0') {\n      if ((local_7e0 == 0) || (local_7e0 == local_8f6)) {\n        local_7e0 = local_8f6;\nLAB_00013fe3:\n        local_908 = (stat64 *)((local_7e0 + 1) * 0x20);\n        if ((uint)local_908 % (uint)local_7d4 != 0) {\n          local_908 = (stat64 *)(((uint)local_908 / (uint)local_7d4 + 1) * (int)local_7d4);\n        }\n        uVar7 = (uint)local_7e2;\n        uVar24 = uVar7 * (int)local_7d4;\n        psVar38 = local_908;\n        local_8f6 = local_7e0;\n        if (uVar24 - (int)local_908 != 0) {\n          if (uVar24 < local_908) {\n            pr2serr("%s: Cannot fit %ss (%u) in given LB data offset (%u)\n","process_scattered",\n                    "LBA range descriptor",(uint)local_7e0,uVar7);\n            goto LAB_000133f3;\n          }\n          psVar38 = (stat64 *)uVar24;\n          if ((((uint)psVar18 | local_7f8) != 0) &&\n             (pr2serr("%s: empty blocks before LB data offset (%u), could be okay\n",\n                      "process_scattered",uVar7,(uint)psVar18 | local_7f8), local_7f8 != 0)) {\n            pr2serr("Exiting due to --strict; perhaps try again with --combined=%u\n",\n                    (uint)local_908 / (uint)local_7d4,psVar25,psVar25);\n            local_908 = (stat64 *)0xf;\n            goto LAB_000133fd;\n          }\n        }\n        psVar38 = (stat64 *)((int)local_8ec * (int)local_7d4 + (int)psVar38);\n        if (psVar38 <= psVar17) {\nLAB_0001418c:\n          local_7cc = (stat64 *)local_8ec;\n          local_7a4 = (stat64 *)((int)local_8ec * (int)local_7d4);\n          goto LAB_00013962;\n        }\n        if (local_93c != psVar38) {\n          if (local_93c < psVar38) {\n            pr2serr("Calculated dout length (%u) %s bytes available in IF (%u)\n",psVar38,\n                    &DAT_000170dd,local_93c);\n          }\n          else if ((psVar18 == (stat64 *)0x0 && local_7f8 == 0) ||\n                  (pr2serr("Calculated dout length (%u) %s bytes available in IF (%u)\n",psVar38,\n                           &DAT_00017110,local_93c), local_7f8 == 0)) goto LAB_00014113;\n          goto LAB_000133f3;\n        }\nLAB_00014113:\n        uVar33 = sg_memalign(psVar38,0,&local_8e4,0);\n        uVar16 = (undefined4)((ulonglong)uVar33 >> 0x20);\n        psVar38 = (stat64 *)uVar33;\n        if (psVar38 != (stat64 *)0x0) {\n          memcpy(psVar38,psVar25,(size_t)psVar17);\n          free(local_8e8);\n          local_8e8 = local_8e4;\n          local_908 = (stat64 *)FUN_00014a80("IF c2",psVar25,psVar17,uVar16);\n          psVar25 = psVar38;\n          if (local_908 != (stat64 *)0x0) goto LAB_000133fd;\n          goto LAB_0001418c;\n        }\nLAB_00014273:\n        pcVar15 = "unable to allocate memory for final scatterlist+data\n";\n        goto LAB_00013fbc;\n      }\n      if (local_8f6 < local_7e0) {\n        pr2serr("RD (%u) %s number of %ss (%u) found in IF\n",local_7e0,&DAT_000170dd,\n                "LBA range descriptor",local_8f6);\n      }\n      else if ((psVar18 == (stat64 *)0x0 && local_7f8 == 0) ||\n              (pr2serr("RD (%u) %s number of %ss (%u) found in IF\n",local_7e0,&DAT_00017110,\n                       "LBA range descriptor",local_8f6), local_7f8 == 0)) {\n        local_908 = (stat64 *)0x0;\n        for (psVar38 = psVar25; (stat64 *)(&psVar25->st_dev + (uint)local_7e0 * 4) != psVar38;\n            psVar38 = (stat64 *)&psVar38->st_rdev) {\n          uVar7 = psVar38->__pad2;\n          local_908 = (stat64 *)\n                      ((int)&local_908->st_dev +\n                      (uVar7 >> 0x18 | (uVar7 & 0xff0000) >> 8 | (uVar7 & 0xff00) << 8 |\n                      uVar7 << 0x18));\n        }\n        local_8ec = (undefined1  [4])local_908;\n        goto LAB_00013fe3;\n      }\n    }\nLAB_000133f3:\n    local_908 = (stat64 *)0xf;\n    goto LAB_000133fd;\n  }" { (if_statement "if (local_7e2 == 0) {\n      if (local_7e0 == 0) {\n        psVar17 = local_93c;\n        if (local_93c == (stat64 *)0x0) {\n          pr2serr("With --combined= if DOF, RD are 0 and IF has an unknown length\nthen give up\n");\n          local_908 = (stat64 *)0x1f;\n          goto LAB_00012354;\n        }\n      }\n      else {\n        psVar17 = (stat64 *)((local_7e0 + 1) * 0x20);\n      }\n      if ((uint)psVar17 % (uint)local_7d4 != 0) {\n        psVar17 = (stat64 *)(((uint)psVar17 / (uint)local_7d4 + 1) * (int)local_7d4);\n      }\n    }\n    else {\n      psVar17 = (stat64 *)((uint)local_7e2 * (int)local_7d4);\n    }" if (parenthesized_expression "(local_7e2 == 0)" ( (binary_expression "local_7e2 == 0" identifier == number_literal) )) (compound_statement "{\n      if (local_7e0 == 0) {\n        psVar17 = local_93c;\n        if (local_93c == (stat64 *)0x0) {\n          pr2serr("With --combined= if DOF, RD are 0 and IF has an unknown length\nthen give up\n");\n          local_908 = (stat64 *)0x1f;\n          goto LAB_00012354;\n        }\n      }\n      else {\n        psVar17 = (stat64 *)((local_7e0 + 1) * 0x20);\n      }\n      if ((uint)psVar17 % (uint)local_7d4 != 0) {\n        psVar17 = (stat64 *)(((uint)psVar17 / (uint)local_7d4 + 1) * (int)local_7d4);\n      }\n    }" { (if_statement "if (local_7e0 == 0) {\n        psVar17 = local_93c;\n        if (local_93c == (stat64 *)0x0) {\n          pr2serr("With --combined= if DOF, RD are 0 and IF has an unknown length\nthen give up\n");\n          local_908 = (stat64 *)0x1f;\n          goto LAB_00012354;\n        }\n      }\n      else {\n        psVar17 = (stat64 *)((local_7e0 + 1) * 0x20);\n      }" if (parenthesized_expression "(local_7e0 == 0)" ( (binary_expression "local_7e0 == 0" identifier == number_literal) )) (compound_statement "{\n        psVar17 = local_93c;\n        if (local_93c == (stat64 *)0x0) {\n          pr2serr("With --combined= if DOF, RD are 0 and IF has an unknown length\nthen give up\n");\n          local_908 = (stat64 *)0x1f;\n          goto LAB_00012354;\n        }\n      }" { (expression_statement "psVar17 = local_93c;" (assignment_expression "psVar17 = local_93c" identifier = identifier) ;) (if_statement "if (local_93c == (stat64 *)0x0) {\n          pr2serr("With --combined= if DOF, RD are 0 and IF has an unknown length\nthen give up\n");\n          local_908 = (stat64 *)0x1f;\n          goto LAB_00012354;\n        }" if (parenthesized_expression "(local_93c == (stat64 *)0x0)" ( (binary_expression "local_93c == (stat64 *)0x0" identifier == (cast_expression "(stat64 *)0x0" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n          pr2serr("With --combined= if DOF, RD are 0 and IF has an unknown length\nthen give up\n");\n          local_908 = (stat64 *)0x1f;\n          goto LAB_00012354;\n        }" { (expression_statement "pr2serr("With --combined= if DOF, RD are 0 and IF has an unknown length\nthen give up\n");" (call_expression "pr2serr("With --combined= if DOF, RD are 0 and IF has an unknown length\nthen give up\n")" identifier (argument_list "("With --combined= if DOF, RD are 0 and IF has an unknown length\nthen give up\n")" ( (string_literal ""With --combined= if DOF, RD are 0 and IF has an unknown length\nthen give up\n"" " string_content escape_sequence string_content escape_sequence ") ))) ;) (expression_statement "local_908 = (stat64 *)0x1f;" (assignment_expression "local_908 = (stat64 *)0x1f" identifier = (cast_expression "(stat64 *)0x1f" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (goto_statement "goto LAB_00012354;" goto statement_identifier ;) })) }) (else_clause "else {\n        psVar17 = (stat64 *)((local_7e0 + 1) * 0x20);\n      }" else (compound_statement "{\n        psVar17 = (stat64 *)((local_7e0 + 1) * 0x20);\n      }" { (expression_statement "psVar17 = (stat64 *)((local_7e0 + 1) * 0x20);" (assignment_expression "psVar17 = (stat64 *)((local_7e0 + 1) * 0x20)" identifier = (cast_expression "(stat64 *)((local_7e0 + 1) * 0x20)" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((local_7e0 + 1) * 0x20)" ( (binary_expression "(local_7e0 + 1) * 0x20" (parenthesized_expression "(local_7e0 + 1)" ( (binary_expression "local_7e0 + 1" identifier + number_literal) )) * number_literal) )))) ;) }))) (if_statement "if ((uint)psVar17 % (uint)local_7d4 != 0) {\n        psVar17 = (stat64 *)(((uint)psVar17 / (uint)local_7d4 + 1) * (int)local_7d4);\n      }" if (parenthesized_expression "((uint)psVar17 % (uint)local_7d4 != 0)" ( (binary_expression "(uint)psVar17 % (uint)local_7d4 != 0" (binary_expression "(uint)psVar17 % (uint)local_7d4" (cast_expression "(uint)psVar17" ( (type_descriptor "uint" type_identifier) ) identifier) % (cast_expression "(uint)local_7d4" ( (type_descriptor "uint" type_identifier) ) identifier)) != number_literal) )) (compound_statement "{\n        psVar17 = (stat64 *)(((uint)psVar17 / (uint)local_7d4 + 1) * (int)local_7d4);\n      }" { (expression_statement "psVar17 = (stat64 *)(((uint)psVar17 / (uint)local_7d4 + 1) * (int)local_7d4);" (assignment_expression "psVar17 = (stat64 *)(((uint)psVar17 / (uint)local_7d4 + 1) * (int)local_7d4)" identifier = (cast_expression "(stat64 *)(((uint)psVar17 / (uint)local_7d4 + 1) * (int)local_7d4)" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(((uint)psVar17 / (uint)local_7d4 + 1) * (int)local_7d4)" ( (binary_expression "((uint)psVar17 / (uint)local_7d4 + 1) * (int)local_7d4" (parenthesized_expression "((uint)psVar17 / (uint)local_7d4 + 1)" ( (binary_expression "(uint)psVar17 / (uint)local_7d4 + 1" (binary_expression "(uint)psVar17 / (uint)local_7d4" (cast_expression "(uint)psVar17" ( (type_descriptor "uint" type_identifier) ) identifier) / (cast_expression "(uint)local_7d4" ( (type_descriptor "uint" type_identifier) ) identifier)) + number_literal) )) * (cast_expression "(int)local_7d4" ( (type_descriptor "int" primitive_type) ) identifier)) )))) ;) })) }) (else_clause "else {\n      psVar17 = (stat64 *)((uint)local_7e2 * (int)local_7d4);\n    }" else (compound_statement "{\n      psVar17 = (stat64 *)((uint)local_7e2 * (int)local_7d4);\n    }" { (expression_statement "psVar17 = (stat64 *)((uint)local_7e2 * (int)local_7d4);" (assignment_expression "psVar17 = (stat64 *)((uint)local_7e2 * (int)local_7d4)" identifier = (cast_expression "(stat64 *)((uint)local_7e2 * (int)local_7d4)" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((uint)local_7e2 * (int)local_7d4)" ( (binary_expression "(uint)local_7e2 * (int)local_7d4" (cast_expression "(uint)local_7e2" ( (type_descriptor "uint" type_identifier) ) identifier) * (cast_expression "(int)local_7d4" ( (type_descriptor "int" primitive_type) ) identifier)) )))) ;) }))) (expression_statement "ppvVar39 = &local_8e8;" (assignment_expression "ppvVar39 = &local_8e8" identifier = (pointer_expression "&local_8e8" & identifier)) ;) (expression_statement "uVar16 = 0;" (assignment_expression "uVar16 = 0" identifier = number_literal) ;) (expression_statement "psVar38 = (stat64 *)0x0;" (assignment_expression "psVar38 = (stat64 *)0x0" identifier = (cast_expression "(stat64 *)0x0" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "psVar25 = (stat64 *)sg_memalign(psVar17,0,ppvVar39,0);" (assignment_expression "psVar25 = (stat64 *)sg_memalign(psVar17,0,ppvVar39,0)" identifier = (cast_expression "(stat64 *)sg_memalign(psVar17,0,ppvVar39,0)" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "sg_memalign(psVar17,0,ppvVar39,0)" identifier (argument_list "(psVar17,0,ppvVar39,0)" ( identifier , number_literal , identifier , number_literal ))))) ;) (if_statement "if (psVar25 == (stat64 *)0x0) {\nLAB_000141a6:\n      pcVar15 = "unable to allocate aligned memory for scatterlist+data\n";\n      goto LAB_00013bea;\n    }" if (parenthesized_expression "(psVar25 == (stat64 *)0x0)" ( (binary_expression "psVar25 == (stat64 *)0x0" identifier == (cast_expression "(stat64 *)0x0" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\nLAB_000141a6:\n      pcVar15 = "unable to allocate aligned memory for scatterlist+data\n";\n      goto LAB_00013bea;\n    }" { (labeled_statement "LAB_000141a6:\n      pcVar15 = "unable to allocate aligned memory for scatterlist+data\n";" statement_identifier : (expression_statement "pcVar15 = "unable to allocate aligned memory for scatterlist+data\n";" (assignment_expression "pcVar15 = "unable to allocate aligned memory for scatterlist+data\n"" identifier = (string_literal ""unable to allocate aligned memory for scatterlist+data\n"" " string_content escape_sequence ")) ;)) (goto_statement "goto LAB_00013bea;" goto statement_identifier ;) })) (expression_statement "local_908 = (stat64 *)FUN_00014a80("IF c1");" (assignment_expression "local_908 = (stat64 *)FUN_00014a80("IF c1")" identifier = (cast_expression "(stat64 *)FUN_00014a80("IF c1")" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_00014a80("IF c1")" identifier (argument_list "("IF c1")" ( (string_literal ""IF c1"" " string_content ") ))))) ;) (if_statement "if (local_908 != (stat64 *)0x0) goto LAB_000133fd;" if (parenthesized_expression "(local_908 != (stat64 *)0x0)" ( (binary_expression "local_908 != (stat64 *)0x0" identifier != (cast_expression "(stat64 *)0x0" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_000133fd;" goto statement_identifier ;)) (expression_statement "cVar6 = FUN_000146a0(&local_8f6,local_8ec,0,0);" (assignment_expression "cVar6 = FUN_000146a0(&local_8f6,local_8ec,0,0)" identifier = (call_expression "FUN_000146a0(&local_8f6,local_8ec,0,0)" identifier (argument_list "(&local_8f6,local_8ec,0,0)" ( (pointer_expression "&local_8f6" & identifier) , identifier , number_literal , number_literal )))) ;) (if_statement "if (cVar6 != '\0') {\n      if ((local_7e0 == 0) || (local_7e0 == local_8f6)) {\n        local_7e0 = local_8f6;\nLAB_00013fe3:\n        local_908 = (stat64 *)((local_7e0 + 1) * 0x20);\n        if ((uint)local_908 % (uint)local_7d4 != 0) {\n          local_908 = (stat64 *)(((uint)local_908 / (uint)local_7d4 + 1) * (int)local_7d4);\n        }\n        uVar7 = (uint)local_7e2;\n        uVar24 = uVar7 * (int)local_7d4;\n        psVar38 = local_908;\n        local_8f6 = local_7e0;\n        if (uVar24 - (int)local_908 != 0) {\n          if (uVar24 < local_908) {\n            pr2serr("%s: Cannot fit %ss (%u) in given LB data offset (%u)\n","process_scattered",\n                    "LBA range descriptor",(uint)local_7e0,uVar7);\n            goto LAB_000133f3;\n          }\n          psVar38 = (stat64 *)uVar24;\n          if ((((uint)psVar18 | local_7f8) != 0) &&\n             (pr2serr("%s: empty blocks before LB data offset (%u), could be okay\n",\n                      "process_scattered",uVar7,(uint)psVar18 | local_7f8), local_7f8 != 0)) {\n            pr2serr("Exiting due to --strict; perhaps try again with --combined=%u\n",\n                    (uint)local_908 / (uint)local_7d4,psVar25,psVar25);\n            local_908 = (stat64 *)0xf;\n            goto LAB_000133fd;\n          }\n        }\n        psVar38 = (stat64 *)((int)local_8ec * (int)local_7d4 + (int)psVar38);\n        if (psVar38 <= psVar17) {\nLAB_0001418c:\n          local_7cc = (stat64 *)local_8ec;\n          local_7a4 = (stat64 *)((int)local_8ec * (int)local_7d4);\n          goto LAB_00013962;\n        }\n        if (local_93c != psVar38) {\n          if (local_93c < psVar38) {\n            pr2serr("Calculated dout length (%u) %s bytes available in IF (%u)\n",psVar38,\n                    &DAT_000170dd,local_93c);\n          }\n          else if ((psVar18 == (stat64 *)0x0 && local_7f8 == 0) ||\n                  (pr2serr("Calculated dout length (%u) %s bytes available in IF (%u)\n",psVar38,\n                           &DAT_00017110,local_93c), local_7f8 == 0)) goto LAB_00014113;\n          goto LAB_000133f3;\n        }\nLAB_00014113:\n        uVar33 = sg_memalign(psVar38,0,&local_8e4,0);\n        uVar16 = (undefined4)((ulonglong)uVar33 >> 0x20);\n        psVar38 = (stat64 *)uVar33;\n        if (psVar38 != (stat64 *)0x0) {\n          memcpy(psVar38,psVar25,(size_t)psVar17);\n          free(local_8e8);\n          local_8e8 = local_8e4;\n          local_908 = (stat64 *)FUN_00014a80("IF c2",psVar25,psVar17,uVar16);\n          psVar25 = psVar38;\n          if (local_908 != (stat64 *)0x0) goto LAB_000133fd;\n          goto LAB_0001418c;\n        }\nLAB_00014273:\n        pcVar15 = "unable to allocate memory for final scatterlist+data\n";\n        goto LAB_00013fbc;\n      }\n      if (local_8f6 < local_7e0) {\n        pr2serr("RD (%u) %s number of %ss (%u) found in IF\n",local_7e0,&DAT_000170dd,\n                "LBA range descriptor",local_8f6);\n      }\n      else if ((psVar18 == (stat64 *)0x0 && local_7f8 == 0) ||\n              (pr2serr("RD (%u) %s number of %ss (%u) found in IF\n",local_7e0,&DAT_00017110,\n                       "LBA range descriptor",local_8f6), local_7f8 == 0)) {\n        local_908 = (stat64 *)0x0;\n        for (psVar38 = psVar25; (stat64 *)(&psVar25->st_dev + (uint)local_7e0 * 4) != psVar38;\n            psVar38 = (stat64 *)&psVar38->st_rdev) {\n          uVar7 = psVar38->__pad2;\n          local_908 = (stat64 *)\n                      ((int)&local_908->st_dev +\n                      (uVar7 >> 0x18 | (uVar7 & 0xff0000) >> 8 | (uVar7 & 0xff00) << 8 |\n                      uVar7 << 0x18));\n        }\n        local_8ec = (undefined1  [4])local_908;\n        goto LAB_00013fe3;\n      }\n    }" if (parenthesized_expression "(cVar6 != '\0')" ( (binary_expression "cVar6 != '\0'" identifier != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n      if ((local_7e0 == 0) || (local_7e0 == local_8f6)) {\n        local_7e0 = local_8f6;\nLAB_00013fe3:\n        local_908 = (stat64 *)((local_7e0 + 1) * 0x20);\n        if ((uint)local_908 % (uint)local_7d4 != 0) {\n          local_908 = (stat64 *)(((uint)local_908 / (uint)local_7d4 + 1) * (int)local_7d4);\n        }\n        uVar7 = (uint)local_7e2;\n        uVar24 = uVar7 * (int)local_7d4;\n        psVar38 = local_908;\n        local_8f6 = local_7e0;\n        if (uVar24 - (int)local_908 != 0) {\n          if (uVar24 < local_908) {\n            pr2serr("%s: Cannot fit %ss (%u) in given LB data offset (%u)\n","process_scattered",\n                    "LBA range descriptor",(uint)local_7e0,uVar7);\n            goto LAB_000133f3;\n          }\n          psVar38 = (stat64 *)uVar24;\n          if ((((uint)psVar18 | local_7f8) != 0) &&\n             (pr2serr("%s: empty blocks before LB data offset (%u), could be okay\n",\n                      "process_scattered",uVar7,(uint)psVar18 | local_7f8), local_7f8 != 0)) {\n            pr2serr("Exiting due to --strict; perhaps try again with --combined=%u\n",\n                    (uint)local_908 / (uint)local_7d4,psVar25,psVar25);\n            local_908 = (stat64 *)0xf;\n            goto LAB_000133fd;\n          }\n        }\n        psVar38 = (stat64 *)((int)local_8ec * (int)local_7d4 + (int)psVar38);\n        if (psVar38 <= psVar17) {\nLAB_0001418c:\n          local_7cc = (stat64 *)local_8ec;\n          local_7a4 = (stat64 *)((int)local_8ec * (int)local_7d4);\n          goto LAB_00013962;\n        }\n        if (local_93c != psVar38) {\n          if (local_93c < psVar38) {\n            pr2serr("Calculated dout length (%u) %s bytes available in IF (%u)\n",psVar38,\n                    &DAT_000170dd,local_93c);\n          }\n          else if ((psVar18 == (stat64 *)0x0 && local_7f8 == 0) ||\n                  (pr2serr("Calculated dout length (%u) %s bytes available in IF (%u)\n",psVar38,\n                           &DAT_00017110,local_93c), local_7f8 == 0)) goto LAB_00014113;\n          goto LAB_000133f3;\n        }\nLAB_00014113:\n        uVar33 = sg_memalign(psVar38,0,&local_8e4,0);\n        uVar16 = (undefined4)((ulonglong)uVar33 >> 0x20);\n        psVar38 = (stat64 *)uVar33;\n        if (psVar38 != (stat64 *)0x0) {\n          memcpy(psVar38,psVar25,(size_t)psVar17);\n          free(local_8e8);\n          local_8e8 = local_8e4;\n          local_908 = (stat64 *)FUN_00014a80("IF c2",psVar25,psVar17,uVar16);\n          psVar25 = psVar38;\n          if (local_908 != (stat64 *)0x0) goto LAB_000133fd;\n          goto LAB_0001418c;\n        }\nLAB_00014273:\n        pcVar15 = "unable to allocate memory for final scatterlist+data\n";\n        goto LAB_00013fbc;\n      }\n      if (local_8f6 < local_7e0) {\n        pr2serr("RD (%u) %s number of %ss (%u) found in IF\n",local_7e0,&DAT_000170dd,\n                "LBA range descriptor",local_8f6);\n      }\n      else if ((psVar18 == (stat64 *)0x0 && local_7f8 == 0) ||\n              (pr2serr("RD (%u) %s number of %ss (%u) found in IF\n",local_7e0,&DAT_00017110,\n                       "LBA range descriptor",local_8f6), local_7f8 == 0)) {\n        local_908 = (stat64 *)0x0;\n        for (psVar38 = psVar25; (stat64 *)(&psVar25->st_dev + (uint)local_7e0 * 4) != psVar38;\n            psVar38 = (stat64 *)&psVar38->st_rdev) {\n          uVar7 = psVar38->__pad2;\n          local_908 = (stat64 *)\n                      ((int)&local_908->st_dev +\n                      (uVar7 >> 0x18 | (uVar7 & 0xff0000) >> 8 | (uVar7 & 0xff00) << 8 |\n                      uVar7 << 0x18));\n        }\n        local_8ec = (undefined1  [4])local_908;\n        goto LAB_00013fe3;\n      }\n    }" { (if_statement "if ((local_7e0 == 0) || (local_7e0 == local_8f6)) {\n        local_7e0 = local_8f6;\nLAB_00013fe3:\n        local_908 = (stat64 *)((local_7e0 + 1) * 0x20);\n        if ((uint)local_908 % (uint)local_7d4 != 0) {\n          local_908 = (stat64 *)(((uint)local_908 / (uint)local_7d4 + 1) * (int)local_7d4);\n        }\n        uVar7 = (uint)local_7e2;\n        uVar24 = uVar7 * (int)local_7d4;\n        psVar38 = local_908;\n        local_8f6 = local_7e0;\n        if (uVar24 - (int)local_908 != 0) {\n          if (uVar24 < local_908) {\n            pr2serr("%s: Cannot fit %ss (%u) in given LB data offset (%u)\n","process_scattered",\n                    "LBA range descriptor",(uint)local_7e0,uVar7);\n            goto LAB_000133f3;\n          }\n          psVar38 = (stat64 *)uVar24;\n          if ((((uint)psVar18 | local_7f8) != 0) &&\n             (pr2serr("%s: empty blocks before LB data offset (%u), could be okay\n",\n                      "process_scattered",uVar7,(uint)psVar18 | local_7f8), local_7f8 != 0)) {\n            pr2serr("Exiting due to --strict; perhaps try again with --combined=%u\n",\n                    (uint)local_908 / (uint)local_7d4,psVar25,psVar25);\n            local_908 = (stat64 *)0xf;\n            goto LAB_000133fd;\n          }\n        }\n        psVar38 = (stat64 *)((int)local_8ec * (int)local_7d4 + (int)psVar38);\n        if (psVar38 <= psVar17) {\nLAB_0001418c:\n          local_7cc = (stat64 *)local_8ec;\n          local_7a4 = (stat64 *)((int)local_8ec * (int)local_7d4);\n          goto LAB_00013962;\n        }\n        if (local_93c != psVar38) {\n          if (local_93c < psVar38) {\n            pr2serr("Calculated dout length (%u) %s bytes available in IF (%u)\n",psVar38,\n                    &DAT_000170dd,local_93c);\n          }\n          else if ((psVar18 == (stat64 *)0x0 && local_7f8 == 0) ||\n                  (pr2serr("Calculated dout length (%u) %s bytes available in IF (%u)\n",psVar38,\n                           &DAT_00017110,local_93c), local_7f8 == 0)) goto LAB_00014113;\n          goto LAB_000133f3;\n        }\nLAB_00014113:\n        uVar33 = sg_memalign(psVar38,0,&local_8e4,0);\n        uVar16 = (undefined4)((ulonglong)uVar33 >> 0x20);\n        psVar38 = (stat64 *)uVar33;\n        if (psVar38 != (stat64 *)0x0) {\n          memcpy(psVar38,psVar25,(size_t)psVar17);\n          free(local_8e8);\n          local_8e8 = local_8e4;\n          local_908 = (stat64 *)FUN_00014a80("IF c2",psVar25,psVar17,uVar16);\n          psVar25 = psVar38;\n          if (local_908 != (stat64 *)0x0) goto LAB_000133fd;\n          goto LAB_0001418c;\n        }\nLAB_00014273:\n        pcVar15 = "unable to allocate memory for final scatterlist+data\n";\n        goto LAB_00013fbc;\n      }" if (parenthesized_expression "((local_7e0 == 0) || (local_7e0 == local_8f6))" ( (binary_expression "(local_7e0 == 0) || (local_7e0 == local_8f6)" (parenthesized_expression "(local_7e0 == 0)" ( (binary_expression "local_7e0 == 0" identifier == number_literal) )) || (parenthesized_expression "(local_7e0 == local_8f6)" ( (binary_expression "local_7e0 == local_8f6" identifier == identifier) ))) )) (compound_statement "{\n        local_7e0 = local_8f6;\nLAB_00013fe3:\n        local_908 = (stat64 *)((local_7e0 + 1) * 0x20);\n        if ((uint)local_908 % (uint)local_7d4 != 0) {\n          local_908 = (stat64 *)(((uint)local_908 / (uint)local_7d4 + 1) * (int)local_7d4);\n        }\n        uVar7 = (uint)local_7e2;\n        uVar24 = uVar7 * (int)local_7d4;\n        psVar38 = local_908;\n        local_8f6 = local_7e0;\n        if (uVar24 - (int)local_908 != 0) {\n          if (uVar24 < local_908) {\n            pr2serr("%s: Cannot fit %ss (%u) in given LB data offset (%u)\n","process_scattered",\n                    "LBA range descriptor",(uint)local_7e0,uVar7);\n            goto LAB_000133f3;\n          }\n          psVar38 = (stat64 *)uVar24;\n          if ((((uint)psVar18 | local_7f8) != 0) &&\n             (pr2serr("%s: empty blocks before LB data offset (%u), could be okay\n",\n                      "process_scattered",uVar7,(uint)psVar18 | local_7f8), local_7f8 != 0)) {\n            pr2serr("Exiting due to --strict; perhaps try again with --combined=%u\n",\n                    (uint)local_908 / (uint)local_7d4,psVar25,psVar25);\n            local_908 = (stat64 *)0xf;\n            goto LAB_000133fd;\n          }\n        }\n        psVar38 = (stat64 *)((int)local_8ec * (int)local_7d4 + (int)psVar38);\n        if (psVar38 <= psVar17) {\nLAB_0001418c:\n          local_7cc = (stat64 *)local_8ec;\n          local_7a4 = (stat64 *)((int)local_8ec * (int)local_7d4);\n          goto LAB_00013962;\n        }\n        if (local_93c != psVar38) {\n          if (local_93c < psVar38) {\n            pr2serr("Calculated dout length (%u) %s bytes available in IF (%u)\n",psVar38,\n                    &DAT_000170dd,local_93c);\n          }\n          else if ((psVar18 == (stat64 *)0x0 && local_7f8 == 0) ||\n                  (pr2serr("Calculated dout length (%u) %s bytes available in IF (%u)\n",psVar38,\n                           &DAT_00017110,local_93c), local_7f8 == 0)) goto LAB_00014113;\n          goto LAB_000133f3;\n        }\nLAB_00014113:\n        uVar33 = sg_memalign(psVar38,0,&local_8e4,0);\n        uVar16 = (undefined4)((ulonglong)uVar33 >> 0x20);\n        psVar38 = (stat64 *)uVar33;\n        if (psVar38 != (stat64 *)0x0) {\n          memcpy(psVar38,psVar25,(size_t)psVar17);\n          free(local_8e8);\n          local_8e8 = local_8e4;\n          local_908 = (stat64 *)FUN_00014a80("IF c2",psVar25,psVar17,uVar16);\n          psVar25 = psVar38;\n          if (local_908 != (stat64 *)0x0) goto LAB_000133fd;\n          goto LAB_0001418c;\n        }\nLAB_00014273:\n        pcVar15 = "unable to allocate memory for final scatterlist+data\n";\n        goto LAB_00013fbc;\n      }" { (expression_statement "local_7e0 = local_8f6;" (assignment_expression "local_7e0 = local_8f6" identifier = identifier) ;) (labeled_statement "LAB_00013fe3:\n        local_908 = (stat64 *)((local_7e0 + 1) * 0x20);" statement_identifier : (expression_statement "local_908 = (stat64 *)((local_7e0 + 1) * 0x20);" (assignment_expression "local_908 = (stat64 *)((local_7e0 + 1) * 0x20)" identifier = (cast_expression "(stat64 *)((local_7e0 + 1) * 0x20)" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((local_7e0 + 1) * 0x20)" ( (binary_expression "(local_7e0 + 1) * 0x20" (parenthesized_expression "(local_7e0 + 1)" ( (binary_expression "local_7e0 + 1" identifier + number_literal) )) * number_literal) )))) ;)) (if_statement "if ((uint)local_908 % (uint)local_7d4 != 0) {\n          local_908 = (stat64 *)(((uint)local_908 / (uint)local_7d4 + 1) * (int)local_7d4);\n        }" if (parenthesized_expression "((uint)local_908 % (uint)local_7d4 != 0)" ( (binary_expression "(uint)local_908 % (uint)local_7d4 != 0" (binary_expression "(uint)local_908 % (uint)local_7d4" (cast_expression "(uint)local_908" ( (type_descriptor "uint" type_identifier) ) identifier) % (cast_expression "(uint)local_7d4" ( (type_descriptor "uint" type_identifier) ) identifier)) != number_literal) )) (compound_statement "{\n          local_908 = (stat64 *)(((uint)local_908 / (uint)local_7d4 + 1) * (int)local_7d4);\n        }" { (expression_statement "local_908 = (stat64 *)(((uint)local_908 / (uint)local_7d4 + 1) * (int)local_7d4);" (assignment_expression "local_908 = (stat64 *)(((uint)local_908 / (uint)local_7d4 + 1) * (int)local_7d4)" identifier = (cast_expression "(stat64 *)(((uint)local_908 / (uint)local_7d4 + 1) * (int)local_7d4)" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(((uint)local_908 / (uint)local_7d4 + 1) * (int)local_7d4)" ( (binary_expression "((uint)local_908 / (uint)local_7d4 + 1) * (int)local_7d4" (parenthesized_expression "((uint)local_908 / (uint)local_7d4 + 1)" ( (binary_expression "(uint)local_908 / (uint)local_7d4 + 1" (binary_expression "(uint)local_908 / (uint)local_7d4" (cast_expression "(uint)local_908" ( (type_descriptor "uint" type_identifier) ) identifier) / (cast_expression "(uint)local_7d4" ( (type_descriptor "uint" type_identifier) ) identifier)) + number_literal) )) * (cast_expression "(int)local_7d4" ( (type_descriptor "int" primitive_type) ) identifier)) )))) ;) })) (expression_statement "uVar7 = (uint)local_7e2;" (assignment_expression "uVar7 = (uint)local_7e2" identifier = (cast_expression "(uint)local_7e2" ( (type_descriptor "uint" type_identifier) ) identifier)) ;) (expression_statement "uVar24 = uVar7 * (int)local_7d4;" (assignment_expression "uVar24 = uVar7 * (int)local_7d4" identifier = (binary_expression "uVar7 * (int)local_7d4" identifier * (cast_expression "(int)local_7d4" ( (type_descriptor "int" primitive_type) ) identifier))) ;) (expression_statement "psVar38 = local_908;" (assignment_expression "psVar38 = local_908" identifier = identifier) ;) (expression_statement "local_8f6 = local_7e0;" (assignment_expression "local_8f6 = local_7e0" identifier = identifier) ;) (if_statement "if (uVar24 - (int)local_908 != 0) {\n          if (uVar24 < local_908) {\n            pr2serr("%s: Cannot fit %ss (%u) in given LB data offset (%u)\n","process_scattered",\n                    "LBA range descriptor",(uint)local_7e0,uVar7);\n            goto LAB_000133f3;\n          }\n          psVar38 = (stat64 *)uVar24;\n          if ((((uint)psVar18 | local_7f8) != 0) &&\n             (pr2serr("%s: empty blocks before LB data offset (%u), could be okay\n",\n                      "process_scattered",uVar7,(uint)psVar18 | local_7f8), local_7f8 != 0)) {\n            pr2serr("Exiting due to --strict; perhaps try again with --combined=%u\n",\n                    (uint)local_908 / (uint)local_7d4,psVar25,psVar25);\n            local_908 = (stat64 *)0xf;\n            goto LAB_000133fd;\n          }\n        }" if (parenthesized_expression "(uVar24 - (int)local_908 != 0)" ( (binary_expression "uVar24 - (int)local_908 != 0" (binary_expression "uVar24 - (int)local_908" identifier - (cast_expression "(int)local_908" ( (type_descriptor "int" primitive_type) ) identifier)) != number_literal) )) (compound_statement "{\n          if (uVar24 < local_908) {\n            pr2serr("%s: Cannot fit %ss (%u) in given LB data offset (%u)\n","process_scattered",\n                    "LBA range descriptor",(uint)local_7e0,uVar7);\n            goto LAB_000133f3;\n          }\n          psVar38 = (stat64 *)uVar24;\n          if ((((uint)psVar18 | local_7f8) != 0) &&\n             (pr2serr("%s: empty blocks before LB data offset (%u), could be okay\n",\n                      "process_scattered",uVar7,(uint)psVar18 | local_7f8), local_7f8 != 0)) {\n            pr2serr("Exiting due to --strict; perhaps try again with --combined=%u\n",\n                    (uint)local_908 / (uint)local_7d4,psVar25,psVar25);\n            local_908 = (stat64 *)0xf;\n            goto LAB_000133fd;\n          }\n        }" { (if_statement "if (uVar24 < local_908) {\n            pr2serr("%s: Cannot fit %ss (%u) in given LB data offset (%u)\n","process_scattered",\n                    "LBA range descriptor",(uint)local_7e0,uVar7);\n            goto LAB_000133f3;\n          }" if (parenthesized_expression "(uVar24 < local_908)" ( (binary_expression "uVar24 < local_908" identifier < identifier) )) (compound_statement "{\n            pr2serr("%s: Cannot fit %ss (%u) in given LB data offset (%u)\n","process_scattered",\n                    "LBA range descriptor",(uint)local_7e0,uVar7);\n            goto LAB_000133f3;\n          }" { (expression_statement "pr2serr("%s: Cannot fit %ss (%u) in given LB data offset (%u)\n","process_scattered",\n                    "LBA range descriptor",(uint)local_7e0,uVar7);" (call_expression "pr2serr("%s: Cannot fit %ss (%u) in given LB data offset (%u)\n","process_scattered",\n                    "LBA range descriptor",(uint)local_7e0,uVar7)" identifier (argument_list "("%s: Cannot fit %ss (%u) in given LB data offset (%u)\n","process_scattered",\n                    "LBA range descriptor",(uint)local_7e0,uVar7)" ( (string_literal ""%s: Cannot fit %ss (%u) in given LB data offset (%u)\n"" " string_content escape_sequence ") , (string_literal ""process_scattered"" " string_content ") , (string_literal ""LBA range descriptor"" " string_content ") , (cast_expression "(uint)local_7e0" ( (type_descriptor "uint" type_identifier) ) identifier) , identifier ))) ;) (goto_statement "goto LAB_000133f3;" goto statement_identifier ;) })) (expression_statement "psVar38 = (stat64 *)uVar24;" (assignment_expression "psVar38 = (stat64 *)uVar24" identifier = (cast_expression "(stat64 *)uVar24" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (if_statement "if ((((uint)psVar18 | local_7f8) != 0) &&\n             (pr2serr("%s: empty blocks before LB data offset (%u), could be okay\n",\n                      "process_scattered",uVar7,(uint)psVar18 | local_7f8), local_7f8 != 0)) {\n            pr2serr("Exiting due to --strict; perhaps try again with --combined=%u\n",\n                    (uint)local_908 / (uint)local_7d4,psVar25,psVar25);\n            local_908 = (stat64 *)0xf;\n            goto LAB_000133fd;\n          }" if (parenthesized_expression "((((uint)psVar18 | local_7f8) != 0) &&\n             (pr2serr("%s: empty blocks before LB data offset (%u), could be okay\n",\n                      "process_scattered",uVar7,(uint)psVar18 | local_7f8), local_7f8 != 0))" ( (binary_expression "(((uint)psVar18 | local_7f8) != 0) &&\n             (pr2serr("%s: empty blocks before LB data offset (%u), could be okay\n",\n                      "process_scattered",uVar7,(uint)psVar18 | local_7f8), local_7f8 != 0)" (parenthesized_expression "(((uint)psVar18 | local_7f8) != 0)" ( (binary_expression "((uint)psVar18 | local_7f8) != 0" (parenthesized_expression "((uint)psVar18 | local_7f8)" ( (binary_expression "(uint)psVar18 | local_7f8" (cast_expression "(uint)psVar18" ( (type_descriptor "uint" type_identifier) ) identifier) | identifier) )) != number_literal) )) && (parenthesized_expression "(pr2serr("%s: empty blocks before LB data offset (%u), could be okay\n",\n                      "process_scattered",uVar7,(uint)psVar18 | local_7f8), local_7f8 != 0)" ( (comma_expression "pr2serr("%s: empty blocks before LB data offset (%u), could be okay\n",\n                      "process_scattered",uVar7,(uint)psVar18 | local_7f8), local_7f8 != 0" (call_expression "pr2serr("%s: empty blocks before LB data offset (%u), could be okay\n",\n                      "process_scattered",uVar7,(uint)psVar18 | local_7f8)" identifier (argument_list "("%s: empty blocks before LB data offset (%u), could be okay\n",\n                      "process_scattered",uVar7,(uint)psVar18 | local_7f8)" ( (string_literal ""%s: empty blocks before LB data offset (%u), could be okay\n"" " string_content escape_sequence ") , (string_literal ""process_scattered"" " string_content ") , identifier , (binary_expression "(uint)psVar18 | local_7f8" (cast_expression "(uint)psVar18" ( (type_descriptor "uint" type_identifier) ) identifier) | identifier) ))) , (binary_expression "local_7f8 != 0" identifier != number_literal)) ))) )) (compound_statement "{\n            pr2serr("Exiting due to --strict; perhaps try again with --combined=%u\n",\n                    (uint)local_908 / (uint)local_7d4,psVar25,psVar25);\n            local_908 = (stat64 *)0xf;\n            goto LAB_000133fd;\n          }" { (expression_statement "pr2serr("Exiting due to --strict; perhaps try again with --combined=%u\n",\n                    (uint)local_908 / (uint)local_7d4,psVar25,psVar25);" (call_expression "pr2serr("Exiting due to --strict; perhaps try again with --combined=%u\n",\n                    (uint)local_908 / (uint)local_7d4,psVar25,psVar25)" identifier (argument_list "("Exiting due to --strict; perhaps try again with --combined=%u\n",\n                    (uint)local_908 / (uint)local_7d4,psVar25,psVar25)" ( (string_literal ""Exiting due to --strict; perhaps try again with --combined=%u\n"" " string_content escape_sequence ") , (binary_expression "(uint)local_908 / (uint)local_7d4" (cast_expression "(uint)local_908" ( (type_descriptor "uint" type_identifier) ) identifier) / (cast_expression "(uint)local_7d4" ( (type_descriptor "uint" type_identifier) ) identifier)) , identifier , identifier ))) ;) (expression_statement "local_908 = (stat64 *)0xf;" (assignment_expression "local_908 = (stat64 *)0xf" identifier = (cast_expression "(stat64 *)0xf" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (goto_statement "goto LAB_000133fd;" goto statement_identifier ;) })) })) (expression_statement "psVar38 = (stat64 *)((int)local_8ec * (int)local_7d4 + (int)psVar38);" (assignment_expression "psVar38 = (stat64 *)((int)local_8ec * (int)local_7d4 + (int)psVar38)" identifier = (cast_expression "(stat64 *)((int)local_8ec * (int)local_7d4 + (int)psVar38)" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_8ec * (int)local_7d4 + (int)psVar38)" ( (binary_expression "(int)local_8ec * (int)local_7d4 + (int)psVar38" (binary_expression "(int)local_8ec * (int)local_7d4" (cast_expression "(int)local_8ec" ( (type_descriptor "int" primitive_type) ) identifier) * (cast_expression "(int)local_7d4" ( (type_descriptor "int" primitive_type) ) identifier)) + (cast_expression "(int)psVar38" ( (type_descriptor "int" primitive_type) ) identifier)) )))) ;) (if_statement "if (psVar38 <= psVar17) {\nLAB_0001418c:\n          local_7cc = (stat64 *)local_8ec;\n          local_7a4 = (stat64 *)((int)local_8ec * (int)local_7d4);\n          goto LAB_00013962;\n        }" if (parenthesized_expression "(psVar38 <= psVar17)" ( (binary_expression "psVar38 <= psVar17" identifier <= identifier) )) (compound_statement "{\nLAB_0001418c:\n          local_7cc = (stat64 *)local_8ec;\n          local_7a4 = (stat64 *)((int)local_8ec * (int)local_7d4);\n          goto LAB_00013962;\n        }" { (labeled_statement "LAB_0001418c:\n          local_7cc = (stat64 *)local_8ec;" statement_identifier : (expression_statement "local_7cc = (stat64 *)local_8ec;" (assignment_expression "local_7cc = (stat64 *)local_8ec" identifier = (cast_expression "(stat64 *)local_8ec" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;)) (expression_statement "local_7a4 = (stat64 *)((int)local_8ec * (int)local_7d4);" (assignment_expression "local_7a4 = (stat64 *)((int)local_8ec * (int)local_7d4)" identifier = (cast_expression "(stat64 *)((int)local_8ec * (int)local_7d4)" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_8ec * (int)local_7d4)" ( (binary_expression "(int)local_8ec * (int)local_7d4" (cast_expression "(int)local_8ec" ( (type_descriptor "int" primitive_type) ) identifier) * (cast_expression "(int)local_7d4" ( (type_descriptor "int" primitive_type) ) identifier)) )))) ;) (goto_statement "goto LAB_00013962;" goto statement_identifier ;) })) (if_statement "if (local_93c != psVar38) {\n          if (local_93c < psVar38) {\n            pr2serr("Calculated dout length (%u) %s bytes available in IF (%u)\n",psVar38,\n                    &DAT_000170dd,local_93c);\n          }\n          else if ((psVar18 == (stat64 *)0x0 && local_7f8 == 0) ||\n                  (pr2serr("Calculated dout length (%u) %s bytes available in IF (%u)\n",psVar38,\n                           &DAT_00017110,local_93c), local_7f8 == 0)) goto LAB_00014113;\n          goto LAB_000133f3;\n        }" if (parenthesized_expression "(local_93c != psVar38)" ( (binary_expression "local_93c != psVar38" identifier != identifier) )) (compound_statement "{\n          if (local_93c < psVar38) {\n            pr2serr("Calculated dout length (%u) %s bytes available in IF (%u)\n",psVar38,\n                    &DAT_000170dd,local_93c);\n          }\n          else if ((psVar18 == (stat64 *)0x0 && local_7f8 == 0) ||\n                  (pr2serr("Calculated dout length (%u) %s bytes available in IF (%u)\n",psVar38,\n                           &DAT_00017110,local_93c), local_7f8 == 0)) goto LAB_00014113;\n          goto LAB_000133f3;\n        }" { (if_statement "if (local_93c < psVar38) {\n            pr2serr("Calculated dout length (%u) %s bytes available in IF (%u)\n",psVar38,\n                    &DAT_000170dd,local_93c);\n          }\n          else if ((psVar18 == (stat64 *)0x0 && local_7f8 == 0) ||\n                  (pr2serr("Calculated dout length (%u) %s bytes available in IF (%u)\n",psVar38,\n                           &DAT_00017110,local_93c), local_7f8 == 0)) goto LAB_00014113;" if (parenthesized_expression "(local_93c < psVar38)" ( (binary_expression "local_93c < psVar38" identifier < identifier) )) (compound_statement "{\n            pr2serr("Calculated dout length (%u) %s bytes available in IF (%u)\n",psVar38,\n                    &DAT_000170dd,local_93c);\n          }" { (expression_statement "pr2serr("Calculated dout length (%u) %s bytes available in IF (%u)\n",psVar38,\n                    &DAT_000170dd,local_93c);" (call_expression "pr2serr("Calculated dout length (%u) %s bytes available in IF (%u)\n",psVar38,\n                    &DAT_000170dd,local_93c)" identifier (argument_list "("Calculated dout length (%u) %s bytes available in IF (%u)\n",psVar38,\n                    &DAT_000170dd,local_93c)" ( (string_literal ""Calculated dout length (%u) %s bytes available in IF (%u)\n"" " string_content escape_sequence ") , identifier , (pointer_expression "&DAT_000170dd" & identifier) , identifier ))) ;) }) (else_clause "else if ((psVar18 == (stat64 *)0x0 && local_7f8 == 0) ||\n                  (pr2serr("Calculated dout length (%u) %s bytes available in IF (%u)\n",psVar38,\n                           &DAT_00017110,local_93c), local_7f8 == 0)) goto LAB_00014113;" else (if_statement "if ((psVar18 == (stat64 *)0x0 && local_7f8 == 0) ||\n                  (pr2serr("Calculated dout length (%u) %s bytes available in IF (%u)\n",psVar38,\n                           &DAT_00017110,local_93c), local_7f8 == 0)) goto LAB_00014113;" if (parenthesized_expression "((psVar18 == (stat64 *)0x0 && local_7f8 == 0) ||\n                  (pr2serr("Calculated dout length (%u) %s bytes available in IF (%u)\n",psVar38,\n                           &DAT_00017110,local_93c), local_7f8 == 0))" ( (binary_expression "(psVar18 == (stat64 *)0x0 && local_7f8 == 0) ||\n                  (pr2serr("Calculated dout length (%u) %s bytes available in IF (%u)\n",psVar38,\n                           &DAT_00017110,local_93c), local_7f8 == 0)" (parenthesized_expression "(psVar18 == (stat64 *)0x0 && local_7f8 == 0)" ( (binary_expression "psVar18 == (stat64 *)0x0 && local_7f8 == 0" (binary_expression "psVar18 == (stat64 *)0x0" identifier == (cast_expression "(stat64 *)0x0" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) && (binary_expression "local_7f8 == 0" identifier == number_literal)) )) || (parenthesized_expression "(pr2serr("Calculated dout length (%u) %s bytes available in IF (%u)\n",psVar38,\n                           &DAT_00017110,local_93c), local_7f8 == 0)" ( (comma_expression "pr2serr("Calculated dout length (%u) %s bytes available in IF (%u)\n",psVar38,\n                           &DAT_00017110,local_93c), local_7f8 == 0" (call_expression "pr2serr("Calculated dout length (%u) %s bytes available in IF (%u)\n",psVar38,\n                           &DAT_00017110,local_93c)" identifier (argument_list "("Calculated dout length (%u) %s bytes available in IF (%u)\n",psVar38,\n                           &DAT_00017110,local_93c)" ( (string_literal ""Calculated dout length (%u) %s bytes available in IF (%u)\n"" " string_content escape_sequence ") , identifier , (pointer_expression "&DAT_00017110" & identifier) , identifier ))) , (binary_expression "local_7f8 == 0" identifier == number_literal)) ))) )) (goto_statement "goto LAB_00014113;" goto statement_identifier ;)))) (goto_statement "goto LAB_000133f3;" goto statement_identifier ;) })) (labeled_statement "LAB_00014113:\n        uVar33 = sg_memalign(psVar38,0,&local_8e4,0);" statement_identifier : (expression_statement "uVar33 = sg_memalign(psVar38,0,&local_8e4,0);" (assignment_expression "uVar33 = sg_memalign(psVar38,0,&local_8e4,0)" identifier = (call_expression "sg_memalign(psVar38,0,&local_8e4,0)" identifier (argument_list "(psVar38,0,&local_8e4,0)" ( identifier , number_literal , (pointer_expression "&local_8e4" & identifier) , number_literal )))) ;)) (expression_statement "uVar16 = (undefined4)((ulonglong)uVar33 >> 0x20);" (assignment_expression "uVar16 = (undefined4)((ulonglong)uVar33 >> 0x20)" identifier = (call_expression "(undefined4)((ulonglong)uVar33 >> 0x20)" (parenthesized_expression "(undefined4)" ( identifier )) (argument_list "((ulonglong)uVar33 >> 0x20)" ( (binary_expression "(ulonglong)uVar33 >> 0x20" (cast_expression "(ulonglong)uVar33" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) )))) ;) (expression_statement "psVar38 = (stat64 *)uVar33;" (assignment_expression "psVar38 = (stat64 *)uVar33" identifier = (cast_expression "(stat64 *)uVar33" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (if_statement "if (psVar38 != (stat64 *)0x0) {\n          memcpy(psVar38,psVar25,(size_t)psVar17);\n          free(local_8e8);\n          local_8e8 = local_8e4;\n          local_908 = (stat64 *)FUN_00014a80("IF c2",psVar25,psVar17,uVar16);\n          psVar25 = psVar38;\n          if (local_908 != (stat64 *)0x0) goto LAB_000133fd;\n          goto LAB_0001418c;\n        }" if (parenthesized_expression "(psVar38 != (stat64 *)0x0)" ( (binary_expression "psVar38 != (stat64 *)0x0" identifier != (cast_expression "(stat64 *)0x0" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n          memcpy(psVar38,psVar25,(size_t)psVar17);\n          free(local_8e8);\n          local_8e8 = local_8e4;\n          local_908 = (stat64 *)FUN_00014a80("IF c2",psVar25,psVar17,uVar16);\n          psVar25 = psVar38;\n          if (local_908 != (stat64 *)0x0) goto LAB_000133fd;\n          goto LAB_0001418c;\n        }" { (expression_statement "memcpy(psVar38,psVar25,(size_t)psVar17);" (call_expression "memcpy(psVar38,psVar25,(size_t)psVar17)" identifier (argument_list "(psVar38,psVar25,(size_t)psVar17)" ( identifier , identifier , (cast_expression "(size_t)psVar17" ( (type_descriptor "size_t" primitive_type) ) identifier) ))) ;) (expression_statement "free(local_8e8);" (call_expression "free(local_8e8)" identifier (argument_list "(local_8e8)" ( identifier ))) ;) (expression_statement "local_8e8 = local_8e4;" (assignment_expression "local_8e8 = local_8e4" identifier = identifier) ;) (expression_statement "local_908 = (stat64 *)FUN_00014a80("IF c2",psVar25,psVar17,uVar16);" (assignment_expression "local_908 = (stat64 *)FUN_00014a80("IF c2",psVar25,psVar17,uVar16)" identifier = (cast_expression "(stat64 *)FUN_00014a80("IF c2",psVar25,psVar17,uVar16)" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_00014a80("IF c2",psVar25,psVar17,uVar16)" identifier (argument_list "("IF c2",psVar25,psVar17,uVar16)" ( (string_literal ""IF c2"" " string_content ") , identifier , identifier , identifier ))))) ;) (expression_statement "psVar25 = psVar38;" (assignment_expression "psVar25 = psVar38" identifier = identifier) ;) (if_statement "if (local_908 != (stat64 *)0x0) goto LAB_000133fd;" if (parenthesized_expression "(local_908 != (stat64 *)0x0)" ( (binary_expression "local_908 != (stat64 *)0x0" identifier != (cast_expression "(stat64 *)0x0" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_000133fd;" goto statement_identifier ;)) (goto_statement "goto LAB_0001418c;" goto statement_identifier ;) })) (labeled_statement "LAB_00014273:\n        pcVar15 = "unable to allocate memory for final scatterlist+data\n";" statement_identifier : (expression_statement "pcVar15 = "unable to allocate memory for final scatterlist+data\n";" (assignment_expression "pcVar15 = "unable to allocate memory for final scatterlist+data\n"" identifier = (string_literal ""unable to allocate memory for final scatterlist+data\n"" " string_content escape_sequence ")) ;)) (goto_statement "goto LAB_00013fbc;" goto statement_identifier ;) })) (if_statement "if (local_8f6 < local_7e0) {\n        pr2serr("RD (%u) %s number of %ss (%u) found in IF\n",local_7e0,&DAT_000170dd,\n                "LBA range descriptor",local_8f6);\n      }\n      else if ((psVar18 == (stat64 *)0x0 && local_7f8 == 0) ||\n              (pr2serr("RD (%u) %s number of %ss (%u) found in IF\n",local_7e0,&DAT_00017110,\n                       "LBA range descriptor",local_8f6), local_7f8 == 0)) {\n        local_908 = (stat64 *)0x0;\n        for (psVar38 = psVar25; (stat64 *)(&psVar25->st_dev + (uint)local_7e0 * 4) != psVar38;\n            psVar38 = (stat64 *)&psVar38->st_rdev) {\n          uVar7 = psVar38->__pad2;\n          local_908 = (stat64 *)\n                      ((int)&local_908->st_dev +\n                      (uVar7 >> 0x18 | (uVar7 & 0xff0000) >> 8 | (uVar7 & 0xff00) << 8 |\n                      uVar7 << 0x18));\n        }\n        local_8ec = (undefined1  [4])local_908;\n        goto LAB_00013fe3;\n      }" if (parenthesized_expression "(local_8f6 < local_7e0)" ( (binary_expression "local_8f6 < local_7e0" identifier < identifier) )) (compound_statement "{\n        pr2serr("RD (%u) %s number of %ss (%u) found in IF\n",local_7e0,&DAT_000170dd,\n                "LBA range descriptor",local_8f6);\n      }" { (expression_statement "pr2serr("RD (%u) %s number of %ss (%u) found in IF\n",local_7e0,&DAT_000170dd,\n                "LBA range descriptor",local_8f6);" (call_expression "pr2serr("RD (%u) %s number of %ss (%u) found in IF\n",local_7e0,&DAT_000170dd,\n                "LBA range descriptor",local_8f6)" identifier (argument_list "("RD (%u) %s number of %ss (%u) found in IF\n",local_7e0,&DAT_000170dd,\n                "LBA range descriptor",local_8f6)" ( (string_literal ""RD (%u) %s number of %ss (%u) found in IF\n"" " string_content escape_sequence ") , identifier , (pointer_expression "&DAT_000170dd" & identifier) , (string_literal ""LBA range descriptor"" " string_content ") , identifier ))) ;) }) (else_clause "else if ((psVar18 == (stat64 *)0x0 && local_7f8 == 0) ||\n              (pr2serr("RD (%u) %s number of %ss (%u) found in IF\n",local_7e0,&DAT_00017110,\n                       "LBA range descriptor",local_8f6), local_7f8 == 0)) {\n        local_908 = (stat64 *)0x0;\n        for (psVar38 = psVar25; (stat64 *)(&psVar25->st_dev + (uint)local_7e0 * 4) != psVar38;\n            psVar38 = (stat64 *)&psVar38->st_rdev) {\n          uVar7 = psVar38->__pad2;\n          local_908 = (stat64 *)\n                      ((int)&local_908->st_dev +\n                      (uVar7 >> 0x18 | (uVar7 & 0xff0000) >> 8 | (uVar7 & 0xff00) << 8 |\n                      uVar7 << 0x18));\n        }\n        local_8ec = (undefined1  [4])local_908;\n        goto LAB_00013fe3;\n      }" else (if_statement "if ((psVar18 == (stat64 *)0x0 && local_7f8 == 0) ||\n              (pr2serr("RD (%u) %s number of %ss (%u) found in IF\n",local_7e0,&DAT_00017110,\n                       "LBA range descriptor",local_8f6), local_7f8 == 0)) {\n        local_908 = (stat64 *)0x0;\n        for (psVar38 = psVar25; (stat64 *)(&psVar25->st_dev + (uint)local_7e0 * 4) != psVar38;\n            psVar38 = (stat64 *)&psVar38->st_rdev) {\n          uVar7 = psVar38->__pad2;\n          local_908 = (stat64 *)\n                      ((int)&local_908->st_dev +\n                      (uVar7 >> 0x18 | (uVar7 & 0xff0000) >> 8 | (uVar7 & 0xff00) << 8 |\n                      uVar7 << 0x18));\n        }\n        local_8ec = (undefined1  [4])local_908;\n        goto LAB_00013fe3;\n      }" if (parenthesized_expression "((psVar18 == (stat64 *)0x0 && local_7f8 == 0) ||\n              (pr2serr("RD (%u) %s number of %ss (%u) found in IF\n",local_7e0,&DAT_00017110,\n                       "LBA range descriptor",local_8f6), local_7f8 == 0))" ( (binary_expression "(psVar18 == (stat64 *)0x0 && local_7f8 == 0) ||\n              (pr2serr("RD (%u) %s number of %ss (%u) found in IF\n",local_7e0,&DAT_00017110,\n                       "LBA range descriptor",local_8f6), local_7f8 == 0)" (parenthesized_expression "(psVar18 == (stat64 *)0x0 && local_7f8 == 0)" ( (binary_expression "psVar18 == (stat64 *)0x0 && local_7f8 == 0" (binary_expression "psVar18 == (stat64 *)0x0" identifier == (cast_expression "(stat64 *)0x0" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) && (binary_expression "local_7f8 == 0" identifier == number_literal)) )) || (parenthesized_expression "(pr2serr("RD (%u) %s number of %ss (%u) found in IF\n",local_7e0,&DAT_00017110,\n                       "LBA range descriptor",local_8f6), local_7f8 == 0)" ( (comma_expression "pr2serr("RD (%u) %s number of %ss (%u) found in IF\n",local_7e0,&DAT_00017110,\n                       "LBA range descriptor",local_8f6), local_7f8 == 0" (call_expression "pr2serr("RD (%u) %s number of %ss (%u) found in IF\n",local_7e0,&DAT_00017110,\n                       "LBA range descriptor",local_8f6)" identifier (argument_list "("RD (%u) %s number of %ss (%u) found in IF\n",local_7e0,&DAT_00017110,\n                       "LBA range descriptor",local_8f6)" ( (string_literal ""RD (%u) %s number of %ss (%u) found in IF\n"" " string_content escape_sequence ") , identifier , (pointer_expression "&DAT_00017110" & identifier) , (string_literal ""LBA range descriptor"" " string_content ") , identifier ))) , (binary_expression "local_7f8 == 0" identifier == number_literal)) ))) )) (compound_statement "{\n        local_908 = (stat64 *)0x0;\n        for (psVar38 = psVar25; (stat64 *)(&psVar25->st_dev + (uint)local_7e0 * 4) != psVar38;\n            psVar38 = (stat64 *)&psVar38->st_rdev) {\n          uVar7 = psVar38->__pad2;\n          local_908 = (stat64 *)\n                      ((int)&local_908->st_dev +\n                      (uVar7 >> 0x18 | (uVar7 & 0xff0000) >> 8 | (uVar7 & 0xff00) << 8 |\n                      uVar7 << 0x18));\n        }\n        local_8ec = (undefined1  [4])local_908;\n        goto LAB_00013fe3;\n      }" { (expression_statement "local_908 = (stat64 *)0x0;" (assignment_expression "local_908 = (stat64 *)0x0" identifier = (cast_expression "(stat64 *)0x0" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (for_statement "for (psVar38 = psVar25; (stat64 *)(&psVar25->st_dev + (uint)local_7e0 * 4) != psVar38;\n            psVar38 = (stat64 *)&psVar38->st_rdev) {\n          uVar7 = psVar38->__pad2;\n          local_908 = (stat64 *)\n                      ((int)&local_908->st_dev +\n                      (uVar7 >> 0x18 | (uVar7 & 0xff0000) >> 8 | (uVar7 & 0xff00) << 8 |\n                      uVar7 << 0x18));\n        }" for ( (assignment_expression "psVar38 = psVar25" identifier = identifier) ; (binary_expression "(stat64 *)(&psVar25->st_dev + (uint)local_7e0 * 4) != psVar38" (cast_expression "(stat64 *)(&psVar25->st_dev + (uint)local_7e0 * 4)" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&psVar25->st_dev + (uint)local_7e0 * 4)" ( (binary_expression "&psVar25->st_dev + (uint)local_7e0 * 4" (pointer_expression "&psVar25->st_dev" & (field_expression "psVar25->st_dev" identifier -> field_identifier)) + (binary_expression "(uint)local_7e0 * 4" (cast_expression "(uint)local_7e0" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) ))) != identifier) ; (assignment_expression "psVar38 = (stat64 *)&psVar38->st_rdev" identifier = (cast_expression "(stat64 *)&psVar38->st_rdev" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&psVar38->st_rdev" & (field_expression "psVar38->st_rdev" identifier -> field_identifier)))) ) (compound_statement "{\n          uVar7 = psVar38->__pad2;\n          local_908 = (stat64 *)\n                      ((int)&local_908->st_dev +\n                      (uVar7 >> 0x18 | (uVar7 & 0xff0000) >> 8 | (uVar7 & 0xff00) << 8 |\n                      uVar7 << 0x18));\n        }" { (expression_statement "uVar7 = psVar38->__pad2;" (assignment_expression "uVar7 = psVar38->__pad2" identifier = (field_expression "psVar38->__pad2" identifier -> field_identifier)) ;) (expression_statement "local_908 = (stat64 *)\n                      ((int)&local_908->st_dev +\n                      (uVar7 >> 0x18 | (uVar7 & 0xff0000) >> 8 | (uVar7 & 0xff00) << 8 |\n                      uVar7 << 0x18));" (assignment_expression "local_908 = (stat64 *)\n                      ((int)&local_908->st_dev +\n                      (uVar7 >> 0x18 | (uVar7 & 0xff0000) >> 8 | (uVar7 & 0xff00) << 8 |\n                      uVar7 << 0x18))" identifier = (cast_expression "(stat64 *)\n                      ((int)&local_908->st_dev +\n                      (uVar7 >> 0x18 | (uVar7 & 0xff0000) >> 8 | (uVar7 & 0xff00) << 8 |\n                      uVar7 << 0x18))" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&local_908->st_dev +\n                      (uVar7 >> 0x18 | (uVar7 & 0xff0000) >> 8 | (uVar7 & 0xff00) << 8 |\n                      uVar7 << 0x18))" ( (binary_expression "(int)&local_908->st_dev +\n                      (uVar7 >> 0x18 | (uVar7 & 0xff0000) >> 8 | (uVar7 & 0xff00) << 8 |\n                      uVar7 << 0x18)" (cast_expression "(int)&local_908->st_dev" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&local_908->st_dev" & (field_expression "local_908->st_dev" identifier -> field_identifier))) + (parenthesized_expression "(uVar7 >> 0x18 | (uVar7 & 0xff0000) >> 8 | (uVar7 & 0xff00) << 8 |\n                      uVar7 << 0x18)" ( (binary_expression "uVar7 >> 0x18 | (uVar7 & 0xff0000) >> 8 | (uVar7 & 0xff00) << 8 |\n                      uVar7 << 0x18" (binary_expression "uVar7 >> 0x18 | (uVar7 & 0xff0000) >> 8 | (uVar7 & 0xff00) << 8" (binary_expression "uVar7 >> 0x18 | (uVar7 & 0xff0000) >> 8" (binary_expression "uVar7 >> 0x18" identifier >> number_literal) | (binary_expression "(uVar7 & 0xff0000) >> 8" (parenthesized_expression "(uVar7 & 0xff0000)" ( (binary_expression "uVar7 & 0xff0000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(uVar7 & 0xff00) << 8" (parenthesized_expression "(uVar7 & 0xff00)" ( (binary_expression "uVar7 & 0xff00" identifier & number_literal) )) << number_literal)) | (binary_expression "uVar7 << 0x18" identifier << number_literal)) ))) )))) ;) })) (expression_statement "local_8ec = (undefined1  [4])local_908;" (assignment_expression "local_8ec = (undefined1  [4])local_908" identifier = (cast_expression "(undefined1  [4])local_908" ( (type_descriptor "undefined1  [4]" type_identifier (abstract_array_declarator "[4]" [ number_literal ])) ) identifier)) ;) (goto_statement "goto LAB_00013fe3;" goto statement_identifier ;) })))) })) (labeled_statement "LAB_000133f3:\n    local_908 = (stat64 *)0xf;" statement_identifier : (expression_statement "local_908 = (stat64 *)0xf;" (assignment_expression "local_908 = (stat64 *)0xf" identifier = (cast_expression "(stat64 *)0xf" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;)) (goto_statement "goto LAB_000133fd;" goto statement_identifier ;) })) (if_statement "if (local_91c != (stat64 *)0x0) {\n    local_8f6 = (ushort)local_91c;\n  }" if (parenthesized_expression "(local_91c != (stat64 *)0x0)" ( (binary_expression "local_91c != (stat64 *)0x0" identifier != (cast_expression "(stat64 *)0x0" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    local_8f6 = (ushort)local_91c;\n  }" { (expression_statement "local_8f6 = (ushort)local_91c;" (assignment_expression "local_8f6 = (ushort)local_91c" identifier = (cast_expression "(ushort)local_91c" ( (type_descriptor "ushort" type_identifier) ) identifier)) ;) })) (if_statement "if (local_798 == (char *)0x0) {\n    if (local_819 != '\0') goto LAB_00013dcd;\n    if (local_91c == (stat64 *)0x0) {\n      pr2serr("How did we get here??\n");\n      local_908 = (stat64 *)0x1;\n      goto LAB_000133fd;\n    }\n    if ((local_7e0 != 0) && (local_91c < (undefined *)(uint)local_7e0)) {\n      pr2serr("%s: number given to --scattered= (%u) exceeds number of --lba= elements (%u)\n",\n              "process_scattered",(undefined *)(uint)local_7e0,local_91c);\n      local_908 = (stat64 *)0x1f;\n      goto LAB_00012354;\n    }\n    uVar7 = (local_8f6 + 1) * 0x20;\n    local_7e2 = (ushort)(uVar7 / (uint)local_7d4);\n    if (uVar7 % (uint)local_7d4 != 0) {\n      local_7e2 = local_7e2 + 1;\n    }\n    iVar14 = 0;\n    local_8ec = (undefined1  [4])0x0;\n    do {\n      local_8ec = (undefined1  [4])((int)&((stat64 *)local_8ec)->st_dev + (int)ppsVar44[iVar14]);\n      iVar14 = iVar14 + 1;\n    } while (iVar14 < (int)local_91c);\n    psVar25 = (stat64 *)\n              sg_memalign((int)((int)&((stat64 *)local_8ec)->st_dev + (uint)local_7e2) *\n                          (int)local_7d4,0,&local_8e8,0);\n    if (psVar25 == (stat64 *)0x0) goto LAB_00013fb3;\n    iVar14 = 0;\n    psVar38 = psVar25;\n    do {\n      uVar7 = puVar42[iVar14 * 2];\n      uVar24 = puVar42[iVar14 * 2 + 1];\n      *(uint *)&psVar38->st_rdev =\n           uVar24 >> 0x18 | (uVar24 & 0xff0000) >> 8 | (uVar24 & 0xff00) << 8 | uVar24 << 0x18;\n      *(uint *)((int)&psVar38->st_rdev + 4) =\n           uVar7 >> 0x18 | (uVar7 & 0xff0000) >> 8 | (uVar7 & 0xff00) << 8 | uVar7 << 0x18;\n      psVar17 = ppsVar44[iVar14];\n      psVar38->__pad2 =\n           (uint)psVar17 >> 0x18 | ((uint)psVar17 & 0xff0000) >> 8 | ((uint)psVar17 & 0xff00) << 8 |\n           (int)psVar17 << 0x18;\n      if (local_81f != '\0') {\n        if (iVar14 == 0) {\n          *(uint *)&psVar38->st_size =\n               local_7c0 >> 0x18 | (local_7c0 & 0xff0000) >> 8 | (local_7c0 & 0xff00) << 8 |\n               local_7c0 << 0x18;\n          *(ushort *)((int)&psVar38->st_size + 4) = local_7e6 << 8 | local_7e6 >> 8;\n          *(ushort *)((int)&psVar38->st_size + 6) = local_7dc << 8 | local_7dc >> 8;\n        }\n        else {\n          *(undefined4 *)&psVar38->st_size = 0xffffffff;\n          *(undefined2 *)((int)&psVar38->st_size + 4) = 0xffff;\n          *(undefined2 *)((int)&psVar38->st_size + 6) = 0xffff;\n        }\n      }\n      iVar14 = iVar14 + 1;\n      psVar38 = (stat64 *)&psVar38->st_rdev;\n    } while (iVar14 < (int)local_91c);\n    local_7cc = (stat64 *)local_8ec;\n  }\n  else {\n    if (local_819 == '\0') {\n      uVar7 = (uint)local_8f6;\n      uVar16 = 0;\n      uVar24 = (uVar7 + 1) * 0x20;\n      local_7e2 = (ushort)(uVar24 / (uint)local_7d4);\n      ppvVar39 = &local_8e8;\n      if (uVar24 % (uint)local_7d4 != 0) {\n        local_7e2 = local_7e2 + 1;\n      }\n      psVar38 = (stat64 *)0x0;\n      psVar25 = (stat64 *)\n                sg_memalign((int)((int)&local_8f4->st_dev + (uint)local_7e2) * (int)local_7d4,0,\n                            ppvVar39,0);\n      if (psVar25 == (stat64 *)0x0) goto LAB_000141a6;\n      local_8f6 = 0;\n      local_8ec = (undefined1  [4])0x0;\n      if (uVar7 + 1 == 1) {\n        uVar24 = (uint)local_7e2 * (int)local_7d4;\n      }\n      local_908 = (stat64 *)FUN_000156d0(psVar25,&local_8f6,local_8ec,uVar24);\n      if (local_908 != (stat64 *)0x0) goto LAB_000133fd;\n      psVar38 = (stat64 *)((int)local_7d4 * (int)local_8ec);\n      if (local_7d0 <= psVar38) {\n        if ((local_7d0 <= psVar38 && (int)psVar38 - (int)local_7d0 != 0) &&\n           (local_7d0 != (stat64 *)0x0)) {\n          psVar38 = local_7d0;\n        }\nLAB_00014208:\n        if ((psVar45 != (stat64 *)0x0) && (psVar45 != psVar38)) {\n          if (psVar18 != (stat64 *)0x0) {\n            puVar20 = &DAT_00017110;\n            if (psVar38 <= psVar45) {\n              puVar20 = &DAT_000170dd;\n            }\n            pr2serr("readable length (%u) of IF %s bytes implied by sum of\nscatter list NUMs (%u) and DLEN\n"\n                    ,psVar45,puVar20,psVar38);\n          }\n          if ((local_7f8 != 0) && ((psVar38 <= psVar45 || (1 < (int)local_7f8)))) goto LAB_000133f3;\nLAB_0001387e:\n          if (psVar45 < psVar38) {\n            psVar38 = psVar45;\n          }\n        }\n        psVar17 = (stat64 *)((uint)psVar38 / (uint)local_7d4);\n        if (((uint)psVar38 % (uint)local_7d4 != 0) &&\n           ((psVar18 != (stat64 *)0x0 || (1 < (int)local_7f8)))) {\n          psVar22 = local_7d8;\n          pr2serr("Calculated data-out length (0x%x) not a multiple of BS (%u",psVar38,local_7d8,\n                  psVar17);\n          if (local_7d8 != local_7d4) {\n            psVar38 = (stat64 *)((int)local_7d4 - (int)local_7d8);\n            psVar22 = extraout_ECX_07;\n            psVar17 = extraout_ECX_07;\n            pr2serr(" + %d(PI)",psVar38,extraout_ECX_07,extraout_ECX_07);\n          }\n          if (1 < (int)local_7f8) {\n            pr2serr(")\nexiting ...\n",psVar38,psVar22,psVar17);\n            local_908 = (stat64 *)0xf;\n            goto LAB_000133fd;\n          }\n          pr2serr(")\nzero pad and continue ...\n",psVar38,psVar22,psVar17);\n        }\n      }\n      else {\n        uVar7 = (uint)psVar18 | local_7f8;\n        if (uVar7 != 0) {\n          pr2serr("DLEN > than bytes implied by sum of scatter list NUMs (%u)\n",psVar38,uVar7,uVar7\n                 );\n          if (1 < (int)psVar18) {\n            pr2serr("  num_lbard=%u, sum_num=%u actual_bs=%u",local_8f6,local_8ec,local_7d4);\n          }\n          if (local_7f8 != 0) goto LAB_000133f3;\n          goto LAB_00014208;\n        }\n        if ((psVar45 != (stat64 *)0x0) && (psVar45 != psVar38)) goto LAB_0001387e;\n      }\n      local_908 = (stat64 *)FUN_00014a80(&DAT_00017360);\n    }\n    else {\nLAB_00013dcd:\n      psVar38 = local_7d4;\n      if (local_7e0 != 0) {\n        psVar38 = (stat64 *)((local_7e0 + 1) * 0x20);\n        if (local_908 < psVar38) {\n          pr2serr("SF not long enough (%u bytes) to provide RD (%u) %ss\n",local_908,psVar38,\n                  "LBA range descriptor");\n          local_908 = (stat64 *)0xf;\n          goto LAB_000133fd;\n        }\n        psVar38 = (stat64 *)\n                  ((((uint)psVar38 / (uint)local_7d4 + 1) -\n                   (uint)((uint)psVar38 % (uint)local_7d4 == 0)) * (int)local_7d4);\n      }\n      local_918 = local_7d4;\n      if (local_93c != (stat64 *)0x0) {\n        local_918 = (stat64 *)\n                    ((((uint)local_93c / (uint)local_7d4 + 1) -\n                     (uint)((uint)local_93c % (uint)local_7d4 == 0)) * (int)local_7d4);\n      }\n      psVar25 = (stat64 *)\n                sg_memalign((undefined *)((int)&psVar38->st_dev + (int)&local_918->st_dev),0,\n                            &local_8e8,0);\n      if (psVar25 == (stat64 *)0x0) {\nLAB_00013fb3:\n        pcVar15 = "unable to allocate aligned memory for scatterlist+data\n";\nLAB_00013fbc:\n        pr2serr(pcVar15);\n        local_908 = (stat64 *)sg_convert_errno(0xc);\n        goto LAB_000133fd;\n      }\n      local_908 = (stat64 *)FUN_00014a80(&DAT_00017365);\n      if (local_908 != (stat64 *)0x0) goto LAB_000133fd;\n      psVar17 = (stat64 *)local_8ec;\n      psVar22 = extraout_ECX_08;\n      psVar8 = extraout_ECX_08;\n      cVar6 = FUN_000146a0(&local_8f6,psVar17,extraout_ECX_08,extraout_ECX_08);\n      if (cVar6 == '\0') goto LAB_000133f3;\n      if (local_7e0 != local_8f6) {\n        pr2serr("Try again with --scattered=%u\n",local_8f6,extraout_EDX_05,extraout_EDX_05);\n        local_908 = (stat64 *)0xf;\n        goto LAB_000133fd;\n      }\n      if (local_918 < (stat64 *)((int)local_7d4 * (int)local_8ec)) {\n        psVar9 = (stat64 *)\n                 sg_memalign((undefined *)\n                             ((int)&psVar38->st_dev +\n                             (int)&((stat64 *)((int)local_7d4 * (int)local_8ec))->st_dev),0,\n                             &local_8e4,0);\n        if (psVar9 == (stat64 *)0x0) goto LAB_00014273;\n        psVar22 = psVar38;\n        psVar8 = psVar9;\n        memcpy(psVar9,psVar25,(size_t)psVar38);\n        psVar17 = psVar25;\n        free(local_8e8);\n        local_8e8 = local_8e4;\n        psVar25 = psVar9;\n      }\n      if ((local_93c != psVar38) && (psVar18 != (stat64 *)0x0 || local_7f8 != 0)) {\n        psVar22 = (stat64 *)&DAT_000170dd;\n        if (local_93c <= psVar38) {\n          psVar22 = (stat64 *)&DAT_00017110;\n        }\n        psVar8 = psVar38;\n        pr2serr("IF length (%u) %s \'sum_num\' bytes (%u), ",local_93c,psVar22,psVar38);\n        if (1 < (int)local_7f8) {\n          pr2serr("exiting (strict=%d)\n",local_7f8,psVar38,psVar38);\n          local_908 = (stat64 *)0xf;\n          goto LAB_000133fd;\n        }\n        pr2serr("continuing ...\n",local_93c,psVar22,psVar8);\n        psVar17 = local_93c;\n      }\n      local_908 = (stat64 *)FUN_00014a80(&DAT_0001738d,psVar17,psVar22,psVar8);\n    }\n    if (local_908 != (stat64 *)0x0) goto LAB_000133fd;\n    local_7a4 = (stat64 *)((int)local_8ec * (int)local_7d4);\n    local_7cc = (stat64 *)local_8ec;\n  }" if (parenthesized_expression "(local_798 == (char *)0x0)" ( (binary_expression "local_798 == (char *)0x0" identifier == (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    if (local_819 != '\0') goto LAB_00013dcd;\n    if (local_91c == (stat64 *)0x0) {\n      pr2serr("How did we get here??\n");\n      local_908 = (stat64 *)0x1;\n      goto LAB_000133fd;\n    }\n    if ((local_7e0 != 0) && (local_91c < (undefined *)(uint)local_7e0)) {\n      pr2serr("%s: number given to --scattered= (%u) exceeds number of --lba= elements (%u)\n",\n              "process_scattered",(undefined *)(uint)local_7e0,local_91c);\n      local_908 = (stat64 *)0x1f;\n      goto LAB_00012354;\n    }\n    uVar7 = (local_8f6 + 1) * 0x20;\n    local_7e2 = (ushort)(uVar7 / (uint)local_7d4);\n    if (uVar7 % (uint)local_7d4 != 0) {\n      local_7e2 = local_7e2 + 1;\n    }\n    iVar14 = 0;\n    local_8ec = (undefined1  [4])0x0;\n    do {\n      local_8ec = (undefined1  [4])((int)&((stat64 *)local_8ec)->st_dev + (int)ppsVar44[iVar14]);\n      iVar14 = iVar14 + 1;\n    } while (iVar14 < (int)local_91c);\n    psVar25 = (stat64 *)\n              sg_memalign((int)((int)&((stat64 *)local_8ec)->st_dev + (uint)local_7e2) *\n                          (int)local_7d4,0,&local_8e8,0);\n    if (psVar25 == (stat64 *)0x0) goto LAB_00013fb3;\n    iVar14 = 0;\n    psVar38 = psVar25;\n    do {\n      uVar7 = puVar42[iVar14 * 2];\n      uVar24 = puVar42[iVar14 * 2 + 1];\n      *(uint *)&psVar38->st_rdev =\n           uVar24 >> 0x18 | (uVar24 & 0xff0000) >> 8 | (uVar24 & 0xff00) << 8 | uVar24 << 0x18;\n      *(uint *)((int)&psVar38->st_rdev + 4) =\n           uVar7 >> 0x18 | (uVar7 & 0xff0000) >> 8 | (uVar7 & 0xff00) << 8 | uVar7 << 0x18;\n      psVar17 = ppsVar44[iVar14];\n      psVar38->__pad2 =\n           (uint)psVar17 >> 0x18 | ((uint)psVar17 & 0xff0000) >> 8 | ((uint)psVar17 & 0xff00) << 8 |\n           (int)psVar17 << 0x18;\n      if (local_81f != '\0') {\n        if (iVar14 == 0) {\n          *(uint *)&psVar38->st_size =\n               local_7c0 >> 0x18 | (local_7c0 & 0xff0000) >> 8 | (local_7c0 & 0xff00) << 8 |\n               local_7c0 << 0x18;\n          *(ushort *)((int)&psVar38->st_size + 4) = local_7e6 << 8 | local_7e6 >> 8;\n          *(ushort *)((int)&psVar38->st_size + 6) = local_7dc << 8 | local_7dc >> 8;\n        }\n        else {\n          *(undefined4 *)&psVar38->st_size = 0xffffffff;\n          *(undefined2 *)((int)&psVar38->st_size + 4) = 0xffff;\n          *(undefined2 *)((int)&psVar38->st_size + 6) = 0xffff;\n        }\n      }\n      iVar14 = iVar14 + 1;\n      psVar38 = (stat64 *)&psVar38->st_rdev;\n    } while (iVar14 < (int)local_91c);\n    local_7cc = (stat64 *)local_8ec;\n  }" { (if_statement "if (local_819 != '\0') goto LAB_00013dcd;" if (parenthesized_expression "(local_819 != '\0')" ( (binary_expression "local_819 != '\0'" identifier != (char_literal "'\0'" ' escape_sequence ')) )) (goto_statement "goto LAB_00013dcd;" goto statement_identifier ;)) (if_statement "if (local_91c == (stat64 *)0x0) {\n      pr2serr("How did we get here??\n");\n      local_908 = (stat64 *)0x1;\n      goto LAB_000133fd;\n    }" if (parenthesized_expression "(local_91c == (stat64 *)0x0)" ( (binary_expression "local_91c == (stat64 *)0x0" identifier == (cast_expression "(stat64 *)0x0" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      pr2serr("How did we get here??\n");\n      local_908 = (stat64 *)0x1;\n      goto LAB_000133fd;\n    }" { (expression_statement "pr2serr("How did we get here??\n");" (call_expression "pr2serr("How did we get here??\n")" identifier (argument_list "("How did we get here??\n")" ( (string_literal ""How did we get here??\n"" " string_content escape_sequence ") ))) ;) (expression_statement "local_908 = (stat64 *)0x1;" (assignment_expression "local_908 = (stat64 *)0x1" identifier = (cast_expression "(stat64 *)0x1" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (goto_statement "goto LAB_000133fd;" goto statement_identifier ;) })) (if_statement "if ((local_7e0 != 0) && (local_91c < (undefined *)(uint)local_7e0)) {\n      pr2serr("%s: number given to --scattered= (%u) exceeds number of --lba= elements (%u)\n",\n              "process_scattered",(undefined *)(uint)local_7e0,local_91c);\n      local_908 = (stat64 *)0x1f;\n      goto LAB_00012354;\n    }" if (parenthesized_expression "((local_7e0 != 0) && (local_91c < (undefined *)(uint)local_7e0))" ( (binary_expression "(local_7e0 != 0) && (local_91c < (undefined *)(uint)local_7e0)" (parenthesized_expression "(local_7e0 != 0)" ( (binary_expression "local_7e0 != 0" identifier != number_literal) )) && (parenthesized_expression "(local_91c < (undefined *)(uint)local_7e0)" ( (binary_expression "local_91c < (undefined *)(uint)local_7e0" identifier < (cast_expression "(undefined *)(uint)local_7e0" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) (cast_expression "(uint)local_7e0" ( (type_descriptor "uint" type_identifier) ) identifier))) ))) )) (compound_statement "{\n      pr2serr("%s: number given to --scattered= (%u) exceeds number of --lba= elements (%u)\n",\n              "process_scattered",(undefined *)(uint)local_7e0,local_91c);\n      local_908 = (stat64 *)0x1f;\n      goto LAB_00012354;\n    }" { (expression_statement "pr2serr("%s: number given to --scattered= (%u) exceeds number of --lba= elements (%u)\n",\n              "process_scattered",(undefined *)(uint)local_7e0,local_91c);" (call_expression "pr2serr("%s: number given to --scattered= (%u) exceeds number of --lba= elements (%u)\n",\n              "process_scattered",(undefined *)(uint)local_7e0,local_91c)" identifier (argument_list "("%s: number given to --scattered= (%u) exceeds number of --lba= elements (%u)\n",\n              "process_scattered",(undefined *)(uint)local_7e0,local_91c)" ( (string_literal ""%s: number given to --scattered= (%u) exceeds number of --lba= elements (%u)\n"" " string_content escape_sequence ") , (string_literal ""process_scattered"" " string_content ") , (cast_expression "(undefined *)(uint)local_7e0" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) (cast_expression "(uint)local_7e0" ( (type_descriptor "uint" type_identifier) ) identifier)) , identifier ))) ;) (expression_statement "local_908 = (stat64 *)0x1f;" (assignment_expression "local_908 = (stat64 *)0x1f" identifier = (cast_expression "(stat64 *)0x1f" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (goto_statement "goto LAB_00012354;" goto statement_identifier ;) })) (expression_statement "uVar7 = (local_8f6 + 1) * 0x20;" (assignment_expression "uVar7 = (local_8f6 + 1) * 0x20" identifier = (binary_expression "(local_8f6 + 1) * 0x20" (parenthesized_expression "(local_8f6 + 1)" ( (binary_expression "local_8f6 + 1" identifier + number_literal) )) * number_literal)) ;) (expression_statement "local_7e2 = (ushort)(uVar7 / (uint)local_7d4);" (assignment_expression "local_7e2 = (ushort)(uVar7 / (uint)local_7d4)" identifier = (call_expression "(ushort)(uVar7 / (uint)local_7d4)" (parenthesized_expression "(ushort)" ( identifier )) (argument_list "(uVar7 / (uint)local_7d4)" ( (binary_expression "uVar7 / (uint)local_7d4" identifier / (cast_expression "(uint)local_7d4" ( (type_descriptor "uint" type_identifier) ) identifier)) )))) ;) (if_statement "if (uVar7 % (uint)local_7d4 != 0) {\n      local_7e2 = local_7e2 + 1;\n    }" if (parenthesized_expression "(uVar7 % (uint)local_7d4 != 0)" ( (binary_expression "uVar7 % (uint)local_7d4 != 0" (binary_expression "uVar7 % (uint)local_7d4" identifier % (cast_expression "(uint)local_7d4" ( (type_descriptor "uint" type_identifier) ) identifier)) != number_literal) )) (compound_statement "{\n      local_7e2 = local_7e2 + 1;\n    }" { (expression_statement "local_7e2 = local_7e2 + 1;" (assignment_expression "local_7e2 = local_7e2 + 1" identifier = (binary_expression "local_7e2 + 1" identifier + number_literal)) ;) })) (expression_statement "iVar14 = 0;" (assignment_expression "iVar14 = 0" identifier = number_literal) ;) (expression_statement "local_8ec = (undefined1  [4])0x0;" (assignment_expression "local_8ec = (undefined1  [4])0x0" identifier = (cast_expression "(undefined1  [4])0x0" ( (type_descriptor "undefined1  [4]" type_identifier (abstract_array_declarator "[4]" [ number_literal ])) ) number_literal)) ;) (do_statement "do {\n      local_8ec = (undefined1  [4])((int)&((stat64 *)local_8ec)->st_dev + (int)ppsVar44[iVar14]);\n      iVar14 = iVar14 + 1;\n    } while (iVar14 < (int)local_91c);" do (compound_statement "{\n      local_8ec = (undefined1  [4])((int)&((stat64 *)local_8ec)->st_dev + (int)ppsVar44[iVar14]);\n      iVar14 = iVar14 + 1;\n    }" { (expression_statement "local_8ec = (undefined1  [4])((int)&((stat64 *)local_8ec)->st_dev + (int)ppsVar44[iVar14]);" (assignment_expression "local_8ec = (undefined1  [4])((int)&((stat64 *)local_8ec)->st_dev + (int)ppsVar44[iVar14])" identifier = (call_expression "(undefined1  [4])((int)&((stat64 *)local_8ec)->st_dev + (int)ppsVar44[iVar14])" (parenthesized_expression "(undefined1  [4])" ( (subscript_expression "undefined1  [4]" identifier [ number_literal ]) )) (argument_list "((int)&((stat64 *)local_8ec)->st_dev + (int)ppsVar44[iVar14])" ( (binary_expression "(int)&((stat64 *)local_8ec)->st_dev + (int)ppsVar44[iVar14]" (cast_expression "(int)&((stat64 *)local_8ec)->st_dev" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&((stat64 *)local_8ec)->st_dev" & (field_expression "((stat64 *)local_8ec)->st_dev" (parenthesized_expression "((stat64 *)local_8ec)" ( (cast_expression "(stat64 *)local_8ec" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) )) -> field_identifier))) + (cast_expression "(int)ppsVar44[iVar14]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "ppsVar44[iVar14]" identifier [ identifier ]))) )))) ;) (expression_statement "iVar14 = iVar14 + 1;" (assignment_expression "iVar14 = iVar14 + 1" identifier = (binary_expression "iVar14 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(iVar14 < (int)local_91c)" ( (binary_expression "iVar14 < (int)local_91c" identifier < (cast_expression "(int)local_91c" ( (type_descriptor "int" primitive_type) ) identifier)) )) ;) (expression_statement "psVar25 = (stat64 *)\n              sg_memalign((int)((int)&((stat64 *)local_8ec)->st_dev + (uint)local_7e2) *\n                          (int)local_7d4,0,&local_8e8,0);" (assignment_expression "psVar25 = (stat64 *)\n              sg_memalign((int)((int)&((stat64 *)local_8ec)->st_dev + (uint)local_7e2) *\n                          (int)local_7d4,0,&local_8e8,0)" identifier = (cast_expression "(stat64 *)\n              sg_memalign((int)((int)&((stat64 *)local_8ec)->st_dev + (uint)local_7e2) *\n                          (int)local_7d4,0,&local_8e8,0)" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "sg_memalign((int)((int)&((stat64 *)local_8ec)->st_dev + (uint)local_7e2) *\n                          (int)local_7d4,0,&local_8e8,0)" identifier (argument_list "((int)((int)&((stat64 *)local_8ec)->st_dev + (uint)local_7e2) *\n                          (int)local_7d4,0,&local_8e8,0)" ( (binary_expression "(int)((int)&((stat64 *)local_8ec)->st_dev + (uint)local_7e2) *\n                          (int)local_7d4" (cast_expression "(int)((int)&((stat64 *)local_8ec)->st_dev + (uint)local_7e2)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((int)&((stat64 *)local_8ec)->st_dev + (uint)local_7e2)" ( (binary_expression "(int)&((stat64 *)local_8ec)->st_dev + (uint)local_7e2" (cast_expression "(int)&((stat64 *)local_8ec)->st_dev" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&((stat64 *)local_8ec)->st_dev" & (field_expression "((stat64 *)local_8ec)->st_dev" (parenthesized_expression "((stat64 *)local_8ec)" ( (cast_expression "(stat64 *)local_8ec" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) )) -> field_identifier))) + (cast_expression "(uint)local_7e2" ( (type_descriptor "uint" type_identifier) ) identifier)) ))) * (cast_expression "(int)local_7d4" ( (type_descriptor "int" primitive_type) ) identifier)) , number_literal , (pointer_expression "&local_8e8" & identifier) , number_literal ))))) ;) (if_statement "if (psVar25 == (stat64 *)0x0) goto LAB_00013fb3;" if (parenthesized_expression "(psVar25 == (stat64 *)0x0)" ( (binary_expression "psVar25 == (stat64 *)0x0" identifier == (cast_expression "(stat64 *)0x0" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_00013fb3;" goto statement_identifier ;)) (expression_statement "iVar14 = 0;" (assignment_expression "iVar14 = 0" identifier = number_literal) ;) (expression_statement "psVar38 = psVar25;" (assignment_expression "psVar38 = psVar25" identifier = identifier) ;) (do_statement "do {\n      uVar7 = puVar42[iVar14 * 2];\n      uVar24 = puVar42[iVar14 * 2 + 1];\n      *(uint *)&psVar38->st_rdev =\n           uVar24 >> 0x18 | (uVar24 & 0xff0000) >> 8 | (uVar24 & 0xff00) << 8 | uVar24 << 0x18;\n      *(uint *)((int)&psVar38->st_rdev + 4) =\n           uVar7 >> 0x18 | (uVar7 & 0xff0000) >> 8 | (uVar7 & 0xff00) << 8 | uVar7 << 0x18;\n      psVar17 = ppsVar44[iVar14];\n      psVar38->__pad2 =\n           (uint)psVar17 >> 0x18 | ((uint)psVar17 & 0xff0000) >> 8 | ((uint)psVar17 & 0xff00) << 8 |\n           (int)psVar17 << 0x18;\n      if (local_81f != '\0') {\n        if (iVar14 == 0) {\n          *(uint *)&psVar38->st_size =\n               local_7c0 >> 0x18 | (local_7c0 & 0xff0000) >> 8 | (local_7c0 & 0xff00) << 8 |\n               local_7c0 << 0x18;\n          *(ushort *)((int)&psVar38->st_size + 4) = local_7e6 << 8 | local_7e6 >> 8;\n          *(ushort *)((int)&psVar38->st_size + 6) = local_7dc << 8 | local_7dc >> 8;\n        }\n        else {\n          *(undefined4 *)&psVar38->st_size = 0xffffffff;\n          *(undefined2 *)((int)&psVar38->st_size + 4) = 0xffff;\n          *(undefined2 *)((int)&psVar38->st_size + 6) = 0xffff;\n        }\n      }\n      iVar14 = iVar14 + 1;\n      psVar38 = (stat64 *)&psVar38->st_rdev;\n    } while (iVar14 < (int)local_91c);" do (compound_statement "{\n      uVar7 = puVar42[iVar14 * 2];\n      uVar24 = puVar42[iVar14 * 2 + 1];\n      *(uint *)&psVar38->st_rdev =\n           uVar24 >> 0x18 | (uVar24 & 0xff0000) >> 8 | (uVar24 & 0xff00) << 8 | uVar24 << 0x18;\n      *(uint *)((int)&psVar38->st_rdev + 4) =\n           uVar7 >> 0x18 | (uVar7 & 0xff0000) >> 8 | (uVar7 & 0xff00) << 8 | uVar7 << 0x18;\n      psVar17 = ppsVar44[iVar14];\n      psVar38->__pad2 =\n           (uint)psVar17 >> 0x18 | ((uint)psVar17 & 0xff0000) >> 8 | ((uint)psVar17 & 0xff00) << 8 |\n           (int)psVar17 << 0x18;\n      if (local_81f != '\0') {\n        if (iVar14 == 0) {\n          *(uint *)&psVar38->st_size =\n               local_7c0 >> 0x18 | (local_7c0 & 0xff0000) >> 8 | (local_7c0 & 0xff00) << 8 |\n               local_7c0 << 0x18;\n          *(ushort *)((int)&psVar38->st_size + 4) = local_7e6 << 8 | local_7e6 >> 8;\n          *(ushort *)((int)&psVar38->st_size + 6) = local_7dc << 8 | local_7dc >> 8;\n        }\n        else {\n          *(undefined4 *)&psVar38->st_size = 0xffffffff;\n          *(undefined2 *)((int)&psVar38->st_size + 4) = 0xffff;\n          *(undefined2 *)((int)&psVar38->st_size + 6) = 0xffff;\n        }\n      }\n      iVar14 = iVar14 + 1;\n      psVar38 = (stat64 *)&psVar38->st_rdev;\n    }" { (expression_statement "uVar7 = puVar42[iVar14 * 2];" (assignment_expression "uVar7 = puVar42[iVar14 * 2]" identifier = (subscript_expression "puVar42[iVar14 * 2]" identifier [ (binary_expression "iVar14 * 2" identifier * number_literal) ])) ;) (expression_statement "uVar24 = puVar42[iVar14 * 2 + 1];" (assignment_expression "uVar24 = puVar42[iVar14 * 2 + 1]" identifier = (subscript_expression "puVar42[iVar14 * 2 + 1]" identifier [ (binary_expression "iVar14 * 2 + 1" (binary_expression "iVar14 * 2" identifier * number_literal) + number_literal) ])) ;) (expression_statement "*(uint *)&psVar38->st_rdev =\n           uVar24 >> 0x18 | (uVar24 & 0xff0000) >> 8 | (uVar24 & 0xff00) << 8 | uVar24 << 0x18;" (assignment_expression "*(uint *)&psVar38->st_rdev =\n           uVar24 >> 0x18 | (uVar24 & 0xff0000) >> 8 | (uVar24 & 0xff00) << 8 | uVar24 << 0x18" (pointer_expression "*(uint *)&psVar38->st_rdev" * (cast_expression "(uint *)&psVar38->st_rdev" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&psVar38->st_rdev" & (field_expression "psVar38->st_rdev" identifier -> field_identifier)))) = (binary_expression "uVar24 >> 0x18 | (uVar24 & 0xff0000) >> 8 | (uVar24 & 0xff00) << 8 | uVar24 << 0x18" (binary_expression "uVar24 >> 0x18 | (uVar24 & 0xff0000) >> 8 | (uVar24 & 0xff00) << 8" (binary_expression "uVar24 >> 0x18 | (uVar24 & 0xff0000) >> 8" (binary_expression "uVar24 >> 0x18" identifier >> number_literal) | (binary_expression "(uVar24 & 0xff0000) >> 8" (parenthesized_expression "(uVar24 & 0xff0000)" ( (binary_expression "uVar24 & 0xff0000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(uVar24 & 0xff00) << 8" (parenthesized_expression "(uVar24 & 0xff00)" ( (binary_expression "uVar24 & 0xff00" identifier & number_literal) )) << number_literal)) | (binary_expression "uVar24 << 0x18" identifier << number_literal))) ;) (expression_statement "*(uint *)((int)&psVar38->st_rdev + 4) =\n           uVar7 >> 0x18 | (uVar7 & 0xff0000) >> 8 | (uVar7 & 0xff00) << 8 | uVar7 << 0x18;" (assignment_expression "*(uint *)((int)&psVar38->st_rdev + 4) =\n           uVar7 >> 0x18 | (uVar7 & 0xff0000) >> 8 | (uVar7 & 0xff00) << 8 | uVar7 << 0x18" (pointer_expression "*(uint *)((int)&psVar38->st_rdev + 4)" * (cast_expression "(uint *)((int)&psVar38->st_rdev + 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&psVar38->st_rdev + 4)" ( (binary_expression "(int)&psVar38->st_rdev + 4" (cast_expression "(int)&psVar38->st_rdev" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&psVar38->st_rdev" & (field_expression "psVar38->st_rdev" identifier -> field_identifier))) + number_literal) )))) = (binary_expression "uVar7 >> 0x18 | (uVar7 & 0xff0000) >> 8 | (uVar7 & 0xff00) << 8 | uVar7 << 0x18" (binary_expression "uVar7 >> 0x18 | (uVar7 & 0xff0000) >> 8 | (uVar7 & 0xff00) << 8" (binary_expression "uVar7 >> 0x18 | (uVar7 & 0xff0000) >> 8" (binary_expression "uVar7 >> 0x18" identifier >> number_literal) | (binary_expression "(uVar7 & 0xff0000) >> 8" (parenthesized_expression "(uVar7 & 0xff0000)" ( (binary_expression "uVar7 & 0xff0000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(uVar7 & 0xff00) << 8" (parenthesized_expression "(uVar7 & 0xff00)" ( (binary_expression "uVar7 & 0xff00" identifier & number_literal) )) << number_literal)) | (binary_expression "uVar7 << 0x18" identifier << number_literal))) ;) (expression_statement "psVar17 = ppsVar44[iVar14];" (assignment_expression "psVar17 = ppsVar44[iVar14]" identifier = (subscript_expression "ppsVar44[iVar14]" identifier [ identifier ])) ;) (expression_statement "psVar38->__pad2 =\n           (uint)psVar17 >> 0x18 | ((uint)psVar17 & 0xff0000) >> 8 | ((uint)psVar17 & 0xff00) << 8 |\n           (int)psVar17 << 0x18;" (assignment_expression "psVar38->__pad2 =\n           (uint)psVar17 >> 0x18 | ((uint)psVar17 & 0xff0000) >> 8 | ((uint)psVar17 & 0xff00) << 8 |\n           (int)psVar17 << 0x18" (field_expression "psVar38->__pad2" identifier -> field_identifier) = (binary_expression "(uint)psVar17 >> 0x18 | ((uint)psVar17 & 0xff0000) >> 8 | ((uint)psVar17 & 0xff00) << 8 |\n           (int)psVar17 << 0x18" (binary_expression "(uint)psVar17 >> 0x18 | ((uint)psVar17 & 0xff0000) >> 8 | ((uint)psVar17 & 0xff00) << 8" (binary_expression "(uint)psVar17 >> 0x18 | ((uint)psVar17 & 0xff0000) >> 8" (binary_expression "(uint)psVar17 >> 0x18" (cast_expression "(uint)psVar17" ( (type_descriptor "uint" type_identifier) ) identifier) >> number_literal) | (binary_expression "((uint)psVar17 & 0xff0000) >> 8" (parenthesized_expression "((uint)psVar17 & 0xff0000)" ( (binary_expression "(uint)psVar17 & 0xff0000" (cast_expression "(uint)psVar17" ( (type_descriptor "uint" type_identifier) ) identifier) & number_literal) )) >> number_literal)) | (binary_expression "((uint)psVar17 & 0xff00) << 8" (parenthesized_expression "((uint)psVar17 & 0xff00)" ( (binary_expression "(uint)psVar17 & 0xff00" (cast_expression "(uint)psVar17" ( (type_descriptor "uint" type_identifier) ) identifier) & number_literal) )) << number_literal)) | (binary_expression "(int)psVar17 << 0x18" (cast_expression "(int)psVar17" ( (type_descriptor "int" primitive_type) ) identifier) << number_literal))) ;) (if_statement "if (local_81f != '\0') {\n        if (iVar14 == 0) {\n          *(uint *)&psVar38->st_size =\n               local_7c0 >> 0x18 | (local_7c0 & 0xff0000) >> 8 | (local_7c0 & 0xff00) << 8 |\n               local_7c0 << 0x18;\n          *(ushort *)((int)&psVar38->st_size + 4) = local_7e6 << 8 | local_7e6 >> 8;\n          *(ushort *)((int)&psVar38->st_size + 6) = local_7dc << 8 | local_7dc >> 8;\n        }\n        else {\n          *(undefined4 *)&psVar38->st_size = 0xffffffff;\n          *(undefined2 *)((int)&psVar38->st_size + 4) = 0xffff;\n          *(undefined2 *)((int)&psVar38->st_size + 6) = 0xffff;\n        }\n      }" if (parenthesized_expression "(local_81f != '\0')" ( (binary_expression "local_81f != '\0'" identifier != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n        if (iVar14 == 0) {\n          *(uint *)&psVar38->st_size =\n               local_7c0 >> 0x18 | (local_7c0 & 0xff0000) >> 8 | (local_7c0 & 0xff00) << 8 |\n               local_7c0 << 0x18;\n          *(ushort *)((int)&psVar38->st_size + 4) = local_7e6 << 8 | local_7e6 >> 8;\n          *(ushort *)((int)&psVar38->st_size + 6) = local_7dc << 8 | local_7dc >> 8;\n        }\n        else {\n          *(undefined4 *)&psVar38->st_size = 0xffffffff;\n          *(undefined2 *)((int)&psVar38->st_size + 4) = 0xffff;\n          *(undefined2 *)((int)&psVar38->st_size + 6) = 0xffff;\n        }\n      }" { (if_statement "if (iVar14 == 0) {\n          *(uint *)&psVar38->st_size =\n               local_7c0 >> 0x18 | (local_7c0 & 0xff0000) >> 8 | (local_7c0 & 0xff00) << 8 |\n               local_7c0 << 0x18;\n          *(ushort *)((int)&psVar38->st_size + 4) = local_7e6 << 8 | local_7e6 >> 8;\n          *(ushort *)((int)&psVar38->st_size + 6) = local_7dc << 8 | local_7dc >> 8;\n        }\n        else {\n          *(undefined4 *)&psVar38->st_size = 0xffffffff;\n          *(undefined2 *)((int)&psVar38->st_size + 4) = 0xffff;\n          *(undefined2 *)((int)&psVar38->st_size + 6) = 0xffff;\n        }" if (parenthesized_expression "(iVar14 == 0)" ( (binary_expression "iVar14 == 0" identifier == number_literal) )) (compound_statement "{\n          *(uint *)&psVar38->st_size =\n               local_7c0 >> 0x18 | (local_7c0 & 0xff0000) >> 8 | (local_7c0 & 0xff00) << 8 |\n               local_7c0 << 0x18;\n          *(ushort *)((int)&psVar38->st_size + 4) = local_7e6 << 8 | local_7e6 >> 8;\n          *(ushort *)((int)&psVar38->st_size + 6) = local_7dc << 8 | local_7dc >> 8;\n        }" { (expression_statement "*(uint *)&psVar38->st_size =\n               local_7c0 >> 0x18 | (local_7c0 & 0xff0000) >> 8 | (local_7c0 & 0xff00) << 8 |\n               local_7c0 << 0x18;" (assignment_expression "*(uint *)&psVar38->st_size =\n               local_7c0 >> 0x18 | (local_7c0 & 0xff0000) >> 8 | (local_7c0 & 0xff00) << 8 |\n               local_7c0 << 0x18" (pointer_expression "*(uint *)&psVar38->st_size" * (cast_expression "(uint *)&psVar38->st_size" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&psVar38->st_size" & (field_expression "psVar38->st_size" identifier -> field_identifier)))) = (binary_expression "local_7c0 >> 0x18 | (local_7c0 & 0xff0000) >> 8 | (local_7c0 & 0xff00) << 8 |\n               local_7c0 << 0x18" (binary_expression "local_7c0 >> 0x18 | (local_7c0 & 0xff0000) >> 8 | (local_7c0 & 0xff00) << 8" (binary_expression "local_7c0 >> 0x18 | (local_7c0 & 0xff0000) >> 8" (binary_expression "local_7c0 >> 0x18" identifier >> number_literal) | (binary_expression "(local_7c0 & 0xff0000) >> 8" (parenthesized_expression "(local_7c0 & 0xff0000)" ( (binary_expression "local_7c0 & 0xff0000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(local_7c0 & 0xff00) << 8" (parenthesized_expression "(local_7c0 & 0xff00)" ( (binary_expression "local_7c0 & 0xff00" identifier & number_literal) )) << number_literal)) | (binary_expression "local_7c0 << 0x18" identifier << number_literal))) ;) (expression_statement "*(ushort *)((int)&psVar38->st_size + 4) = local_7e6 << 8 | local_7e6 >> 8;" (assignment_expression "*(ushort *)((int)&psVar38->st_size + 4) = local_7e6 << 8 | local_7e6 >> 8" (pointer_expression "*(ushort *)((int)&psVar38->st_size + 4)" * (cast_expression "(ushort *)((int)&psVar38->st_size + 4)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&psVar38->st_size + 4)" ( (binary_expression "(int)&psVar38->st_size + 4" (cast_expression "(int)&psVar38->st_size" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&psVar38->st_size" & (field_expression "psVar38->st_size" identifier -> field_identifier))) + number_literal) )))) = (binary_expression "local_7e6 << 8 | local_7e6 >> 8" (binary_expression "local_7e6 << 8" identifier << number_literal) | (binary_expression "local_7e6 >> 8" identifier >> number_literal))) ;) (expression_statement "*(ushort *)((int)&psVar38->st_size + 6) = local_7dc << 8 | local_7dc >> 8;" (assignment_expression "*(ushort *)((int)&psVar38->st_size + 6) = local_7dc << 8 | local_7dc >> 8" (pointer_expression "*(ushort *)((int)&psVar38->st_size + 6)" * (cast_expression "(ushort *)((int)&psVar38->st_size + 6)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&psVar38->st_size + 6)" ( (binary_expression "(int)&psVar38->st_size + 6" (cast_expression "(int)&psVar38->st_size" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&psVar38->st_size" & (field_expression "psVar38->st_size" identifier -> field_identifier))) + number_literal) )))) = (binary_expression "local_7dc << 8 | local_7dc >> 8" (binary_expression "local_7dc << 8" identifier << number_literal) | (binary_expression "local_7dc >> 8" identifier >> number_literal))) ;) }) (else_clause "else {\n          *(undefined4 *)&psVar38->st_size = 0xffffffff;\n          *(undefined2 *)((int)&psVar38->st_size + 4) = 0xffff;\n          *(undefined2 *)((int)&psVar38->st_size + 6) = 0xffff;\n        }" else (compound_statement "{\n          *(undefined4 *)&psVar38->st_size = 0xffffffff;\n          *(undefined2 *)((int)&psVar38->st_size + 4) = 0xffff;\n          *(undefined2 *)((int)&psVar38->st_size + 6) = 0xffff;\n        }" { (expression_statement "*(undefined4 *)&psVar38->st_size = 0xffffffff;" (assignment_expression "*(undefined4 *)&psVar38->st_size = 0xffffffff" (pointer_expression "*(undefined4 *)&psVar38->st_size" * (cast_expression "(undefined4 *)&psVar38->st_size" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&psVar38->st_size" & (field_expression "psVar38->st_size" identifier -> field_identifier)))) = number_literal) ;) (expression_statement "*(undefined2 *)((int)&psVar38->st_size + 4) = 0xffff;" (assignment_expression "*(undefined2 *)((int)&psVar38->st_size + 4) = 0xffff" (pointer_expression "*(undefined2 *)((int)&psVar38->st_size + 4)" * (cast_expression "(undefined2 *)((int)&psVar38->st_size + 4)" ( (type_descriptor "undefined2 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&psVar38->st_size + 4)" ( (binary_expression "(int)&psVar38->st_size + 4" (cast_expression "(int)&psVar38->st_size" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&psVar38->st_size" & (field_expression "psVar38->st_size" identifier -> field_identifier))) + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined2 *)((int)&psVar38->st_size + 6) = 0xffff;" (assignment_expression "*(undefined2 *)((int)&psVar38->st_size + 6) = 0xffff" (pointer_expression "*(undefined2 *)((int)&psVar38->st_size + 6)" * (cast_expression "(undefined2 *)((int)&psVar38->st_size + 6)" ( (type_descriptor "undefined2 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&psVar38->st_size + 6)" ( (binary_expression "(int)&psVar38->st_size + 6" (cast_expression "(int)&psVar38->st_size" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&psVar38->st_size" & (field_expression "psVar38->st_size" identifier -> field_identifier))) + number_literal) )))) = number_literal) ;) }))) })) (expression_statement "iVar14 = iVar14 + 1;" (assignment_expression "iVar14 = iVar14 + 1" identifier = (binary_expression "iVar14 + 1" identifier + number_literal)) ;) (expression_statement "psVar38 = (stat64 *)&psVar38->st_rdev;" (assignment_expression "psVar38 = (stat64 *)&psVar38->st_rdev" identifier = (cast_expression "(stat64 *)&psVar38->st_rdev" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&psVar38->st_rdev" & (field_expression "psVar38->st_rdev" identifier -> field_identifier)))) ;) }) while (parenthesized_expression "(iVar14 < (int)local_91c)" ( (binary_expression "iVar14 < (int)local_91c" identifier < (cast_expression "(int)local_91c" ( (type_descriptor "int" primitive_type) ) identifier)) )) ;) (expression_statement "local_7cc = (stat64 *)local_8ec;" (assignment_expression "local_7cc = (stat64 *)local_8ec" identifier = (cast_expression "(stat64 *)local_8ec" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) }) (else_clause "else {\n    if (local_819 == '\0') {\n      uVar7 = (uint)local_8f6;\n      uVar16 = 0;\n      uVar24 = (uVar7 + 1) * 0x20;\n      local_7e2 = (ushort)(uVar24 / (uint)local_7d4);\n      ppvVar39 = &local_8e8;\n      if (uVar24 % (uint)local_7d4 != 0) {\n        local_7e2 = local_7e2 + 1;\n      }\n      psVar38 = (stat64 *)0x0;\n      psVar25 = (stat64 *)\n                sg_memalign((int)((int)&local_8f4->st_dev + (uint)local_7e2) * (int)local_7d4,0,\n                            ppvVar39,0);\n      if (psVar25 == (stat64 *)0x0) goto LAB_000141a6;\n      local_8f6 = 0;\n      local_8ec = (undefined1  [4])0x0;\n      if (uVar7 + 1 == 1) {\n        uVar24 = (uint)local_7e2 * (int)local_7d4;\n      }\n      local_908 = (stat64 *)FUN_000156d0(psVar25,&local_8f6,local_8ec,uVar24);\n      if (local_908 != (stat64 *)0x0) goto LAB_000133fd;\n      psVar38 = (stat64 *)((int)local_7d4 * (int)local_8ec);\n      if (local_7d0 <= psVar38) {\n        if ((local_7d0 <= psVar38 && (int)psVar38 - (int)local_7d0 != 0) &&\n           (local_7d0 != (stat64 *)0x0)) {\n          psVar38 = local_7d0;\n        }\nLAB_00014208:\n        if ((psVar45 != (stat64 *)0x0) && (psVar45 != psVar38)) {\n          if (psVar18 != (stat64 *)0x0) {\n            puVar20 = &DAT_00017110;\n            if (psVar38 <= psVar45) {\n              puVar20 = &DAT_000170dd;\n            }\n            pr2serr("readable length (%u) of IF %s bytes implied by sum of\nscatter list NUMs (%u) and DLEN\n"\n                    ,psVar45,puVar20,psVar38);\n          }\n          if ((local_7f8 != 0) && ((psVar38 <= psVar45 || (1 < (int)local_7f8)))) goto LAB_000133f3;\nLAB_0001387e:\n          if (psVar45 < psVar38) {\n            psVar38 = psVar45;\n          }\n        }\n        psVar17 = (stat64 *)((uint)psVar38 / (uint)local_7d4);\n        if (((uint)psVar38 % (uint)local_7d4 != 0) &&\n           ((psVar18 != (stat64 *)0x0 || (1 < (int)local_7f8)))) {\n          psVar22 = local_7d8;\n          pr2serr("Calculated data-out length (0x%x) not a multiple of BS (%u",psVar38,local_7d8,\n                  psVar17);\n          if (local_7d8 != local_7d4) {\n            psVar38 = (stat64 *)((int)local_7d4 - (int)local_7d8);\n            psVar22 = extraout_ECX_07;\n            psVar17 = extraout_ECX_07;\n            pr2serr(" + %d(PI)",psVar38,extraout_ECX_07,extraout_ECX_07);\n          }\n          if (1 < (int)local_7f8) {\n            pr2serr(")\nexiting ...\n",psVar38,psVar22,psVar17);\n            local_908 = (stat64 *)0xf;\n            goto LAB_000133fd;\n          }\n          pr2serr(")\nzero pad and continue ...\n",psVar38,psVar22,psVar17);\n        }\n      }\n      else {\n        uVar7 = (uint)psVar18 | local_7f8;\n        if (uVar7 != 0) {\n          pr2serr("DLEN > than bytes implied by sum of scatter list NUMs (%u)\n",psVar38,uVar7,uVar7\n                 );\n          if (1 < (int)psVar18) {\n            pr2serr("  num_lbard=%u, sum_num=%u actual_bs=%u",local_8f6,local_8ec,local_7d4);\n          }\n          if (local_7f8 != 0) goto LAB_000133f3;\n          goto LAB_00014208;\n        }\n        if ((psVar45 != (stat64 *)0x0) && (psVar45 != psVar38)) goto LAB_0001387e;\n      }\n      local_908 = (stat64 *)FUN_00014a80(&DAT_00017360);\n    }\n    else {\nLAB_00013dcd:\n      psVar38 = local_7d4;\n      if (local_7e0 != 0) {\n        psVar38 = (stat64 *)((local_7e0 + 1) * 0x20);\n        if (local_908 < psVar38) {\n          pr2serr("SF not long enough (%u bytes) to provide RD (%u) %ss\n",local_908,psVar38,\n                  "LBA range descriptor");\n          local_908 = (stat64 *)0xf;\n          goto LAB_000133fd;\n        }\n        psVar38 = (stat64 *)\n                  ((((uint)psVar38 / (uint)local_7d4 + 1) -\n                   (uint)((uint)psVar38 % (uint)local_7d4 == 0)) * (int)local_7d4);\n      }\n      local_918 = local_7d4;\n      if (local_93c != (stat64 *)0x0) {\n        local_918 = (stat64 *)\n                    ((((uint)local_93c / (uint)local_7d4 + 1) -\n                     (uint)((uint)local_93c % (uint)local_7d4 == 0)) * (int)local_7d4);\n      }\n      psVar25 = (stat64 *)\n                sg_memalign((undefined *)((int)&psVar38->st_dev + (int)&local_918->st_dev),0,\n                            &local_8e8,0);\n      if (psVar25 == (stat64 *)0x0) {\nLAB_00013fb3:\n        pcVar15 = "unable to allocate aligned memory for scatterlist+data\n";\nLAB_00013fbc:\n        pr2serr(pcVar15);\n        local_908 = (stat64 *)sg_convert_errno(0xc);\n        goto LAB_000133fd;\n      }\n      local_908 = (stat64 *)FUN_00014a80(&DAT_00017365);\n      if (local_908 != (stat64 *)0x0) goto LAB_000133fd;\n      psVar17 = (stat64 *)local_8ec;\n      psVar22 = extraout_ECX_08;\n      psVar8 = extraout_ECX_08;\n      cVar6 = FUN_000146a0(&local_8f6,psVar17,extraout_ECX_08,extraout_ECX_08);\n      if (cVar6 == '\0') goto LAB_000133f3;\n      if (local_7e0 != local_8f6) {\n        pr2serr("Try again with --scattered=%u\n",local_8f6,extraout_EDX_05,extraout_EDX_05);\n        local_908 = (stat64 *)0xf;\n        goto LAB_000133fd;\n      }\n      if (local_918 < (stat64 *)((int)local_7d4 * (int)local_8ec)) {\n        psVar9 = (stat64 *)\n                 sg_memalign((undefined *)\n                             ((int)&psVar38->st_dev +\n                             (int)&((stat64 *)((int)local_7d4 * (int)local_8ec))->st_dev),0,\n                             &local_8e4,0);\n        if (psVar9 == (stat64 *)0x0) goto LAB_00014273;\n        psVar22 = psVar38;\n        psVar8 = psVar9;\n        memcpy(psVar9,psVar25,(size_t)psVar38);\n        psVar17 = psVar25;\n        free(local_8e8);\n        local_8e8 = local_8e4;\n        psVar25 = psVar9;\n      }\n      if ((local_93c != psVar38) && (psVar18 != (stat64 *)0x0 || local_7f8 != 0)) {\n        psVar22 = (stat64 *)&DAT_000170dd;\n        if (local_93c <= psVar38) {\n          psVar22 = (stat64 *)&DAT_00017110;\n        }\n        psVar8 = psVar38;\n        pr2serr("IF length (%u) %s \'sum_num\' bytes (%u), ",local_93c,psVar22,psVar38);\n        if (1 < (int)local_7f8) {\n          pr2serr("exiting (strict=%d)\n",local_7f8,psVar38,psVar38);\n          local_908 = (stat64 *)0xf;\n          goto LAB_000133fd;\n        }\n        pr2serr("continuing ...\n",local_93c,psVar22,psVar8);\n        psVar17 = local_93c;\n      }\n      local_908 = (stat64 *)FUN_00014a80(&DAT_0001738d,psVar17,psVar22,psVar8);\n    }\n    if (local_908 != (stat64 *)0x0) goto LAB_000133fd;\n    local_7a4 = (stat64 *)((int)local_8ec * (int)local_7d4);\n    local_7cc = (stat64 *)local_8ec;\n  }" else (compound_statement "{\n    if (local_819 == '\0') {\n      uVar7 = (uint)local_8f6;\n      uVar16 = 0;\n      uVar24 = (uVar7 + 1) * 0x20;\n      local_7e2 = (ushort)(uVar24 / (uint)local_7d4);\n      ppvVar39 = &local_8e8;\n      if (uVar24 % (uint)local_7d4 != 0) {\n        local_7e2 = local_7e2 + 1;\n      }\n      psVar38 = (stat64 *)0x0;\n      psVar25 = (stat64 *)\n                sg_memalign((int)((int)&local_8f4->st_dev + (uint)local_7e2) * (int)local_7d4,0,\n                            ppvVar39,0);\n      if (psVar25 == (stat64 *)0x0) goto LAB_000141a6;\n      local_8f6 = 0;\n      local_8ec = (undefined1  [4])0x0;\n      if (uVar7 + 1 == 1) {\n        uVar24 = (uint)local_7e2 * (int)local_7d4;\n      }\n      local_908 = (stat64 *)FUN_000156d0(psVar25,&local_8f6,local_8ec,uVar24);\n      if (local_908 != (stat64 *)0x0) goto LAB_000133fd;\n      psVar38 = (stat64 *)((int)local_7d4 * (int)local_8ec);\n      if (local_7d0 <= psVar38) {\n        if ((local_7d0 <= psVar38 && (int)psVar38 - (int)local_7d0 != 0) &&\n           (local_7d0 != (stat64 *)0x0)) {\n          psVar38 = local_7d0;\n        }\nLAB_00014208:\n        if ((psVar45 != (stat64 *)0x0) && (psVar45 != psVar38)) {\n          if (psVar18 != (stat64 *)0x0) {\n            puVar20 = &DAT_00017110;\n            if (psVar38 <= psVar45) {\n              puVar20 = &DAT_000170dd;\n            }\n            pr2serr("readable length (%u) of IF %s bytes implied by sum of\nscatter list NUMs (%u) and DLEN\n"\n                    ,psVar45,puVar20,psVar38);\n          }\n          if ((local_7f8 != 0) && ((psVar38 <= psVar45 || (1 < (int)local_7f8)))) goto LAB_000133f3;\nLAB_0001387e:\n          if (psVar45 < psVar38) {\n            psVar38 = psVar45;\n          }\n        }\n        psVar17 = (stat64 *)((uint)psVar38 / (uint)local_7d4);\n        if (((uint)psVar38 % (uint)local_7d4 != 0) &&\n           ((psVar18 != (stat64 *)0x0 || (1 < (int)local_7f8)))) {\n          psVar22 = local_7d8;\n          pr2serr("Calculated data-out length (0x%x) not a multiple of BS (%u",psVar38,local_7d8,\n                  psVar17);\n          if (local_7d8 != local_7d4) {\n            psVar38 = (stat64 *)((int)local_7d4 - (int)local_7d8);\n            psVar22 = extraout_ECX_07;\n            psVar17 = extraout_ECX_07;\n            pr2serr(" + %d(PI)",psVar38,extraout_ECX_07,extraout_ECX_07);\n          }\n          if (1 < (int)local_7f8) {\n            pr2serr(")\nexiting ...\n",psVar38,psVar22,psVar17);\n            local_908 = (stat64 *)0xf;\n            goto LAB_000133fd;\n          }\n          pr2serr(")\nzero pad and continue ...\n",psVar38,psVar22,psVar17);\n        }\n      }\n      else {\n        uVar7 = (uint)psVar18 | local_7f8;\n        if (uVar7 != 0) {\n          pr2serr("DLEN > than bytes implied by sum of scatter list NUMs (%u)\n",psVar38,uVar7,uVar7\n                 );\n          if (1 < (int)psVar18) {\n            pr2serr("  num_lbard=%u, sum_num=%u actual_bs=%u",local_8f6,local_8ec,local_7d4);\n          }\n          if (local_7f8 != 0) goto LAB_000133f3;\n          goto LAB_00014208;\n        }\n        if ((psVar45 != (stat64 *)0x0) && (psVar45 != psVar38)) goto LAB_0001387e;\n      }\n      local_908 = (stat64 *)FUN_00014a80(&DAT_00017360);\n    }\n    else {\nLAB_00013dcd:\n      psVar38 = local_7d4;\n      if (local_7e0 != 0) {\n        psVar38 = (stat64 *)((local_7e0 + 1) * 0x20);\n        if (local_908 < psVar38) {\n          pr2serr("SF not long enough (%u bytes) to provide RD (%u) %ss\n",local_908,psVar38,\n                  "LBA range descriptor");\n          local_908 = (stat64 *)0xf;\n          goto LAB_000133fd;\n        }\n        psVar38 = (stat64 *)\n                  ((((uint)psVar38 / (uint)local_7d4 + 1) -\n                   (uint)((uint)psVar38 % (uint)local_7d4 == 0)) * (int)local_7d4);\n      }\n      local_918 = local_7d4;\n      if (local_93c != (stat64 *)0x0) {\n        local_918 = (stat64 *)\n                    ((((uint)local_93c / (uint)local_7d4 + 1) -\n                     (uint)((uint)local_93c % (uint)local_7d4 == 0)) * (int)local_7d4);\n      }\n      psVar25 = (stat64 *)\n                sg_memalign((undefined *)((int)&psVar38->st_dev + (int)&local_918->st_dev),0,\n                            &local_8e8,0);\n      if (psVar25 == (stat64 *)0x0) {\nLAB_00013fb3:\n        pcVar15 = "unable to allocate aligned memory for scatterlist+data\n";\nLAB_00013fbc:\n        pr2serr(pcVar15);\n        local_908 = (stat64 *)sg_convert_errno(0xc);\n        goto LAB_000133fd;\n      }\n      local_908 = (stat64 *)FUN_00014a80(&DAT_00017365);\n      if (local_908 != (stat64 *)0x0) goto LAB_000133fd;\n      psVar17 = (stat64 *)local_8ec;\n      psVar22 = extraout_ECX_08;\n      psVar8 = extraout_ECX_08;\n      cVar6 = FUN_000146a0(&local_8f6,psVar17,extraout_ECX_08,extraout_ECX_08);\n      if (cVar6 == '\0') goto LAB_000133f3;\n      if (local_7e0 != local_8f6) {\n        pr2serr("Try again with --scattered=%u\n",local_8f6,extraout_EDX_05,extraout_EDX_05);\n        local_908 = (stat64 *)0xf;\n        goto LAB_000133fd;\n      }\n      if (local_918 < (stat64 *)((int)local_7d4 * (int)local_8ec)) {\n        psVar9 = (stat64 *)\n                 sg_memalign((undefined *)\n                             ((int)&psVar38->st_dev +\n                             (int)&((stat64 *)((int)local_7d4 * (int)local_8ec))->st_dev),0,\n                             &local_8e4,0);\n        if (psVar9 == (stat64 *)0x0) goto LAB_00014273;\n        psVar22 = psVar38;\n        psVar8 = psVar9;\n        memcpy(psVar9,psVar25,(size_t)psVar38);\n        psVar17 = psVar25;\n        free(local_8e8);\n        local_8e8 = local_8e4;\n        psVar25 = psVar9;\n      }\n      if ((local_93c != psVar38) && (psVar18 != (stat64 *)0x0 || local_7f8 != 0)) {\n        psVar22 = (stat64 *)&DAT_000170dd;\n        if (local_93c <= psVar38) {\n          psVar22 = (stat64 *)&DAT_00017110;\n        }\n        psVar8 = psVar38;\n        pr2serr("IF length (%u) %s \'sum_num\' bytes (%u), ",local_93c,psVar22,psVar38);\n        if (1 < (int)local_7f8) {\n          pr2serr("exiting (strict=%d)\n",local_7f8,psVar38,psVar38);\n          local_908 = (stat64 *)0xf;\n          goto LAB_000133fd;\n        }\n        pr2serr("continuing ...\n",local_93c,psVar22,psVar8);\n        psVar17 = local_93c;\n      }\n      local_908 = (stat64 *)FUN_00014a80(&DAT_0001738d,psVar17,psVar22,psVar8);\n    }\n    if (local_908 != (stat64 *)0x0) goto LAB_000133fd;\n    local_7a4 = (stat64 *)((int)local_8ec * (int)local_7d4);\n    local_7cc = (stat64 *)local_8ec;\n  }" { (if_statement "if (local_819 == '\0') {\n      uVar7 = (uint)local_8f6;\n      uVar16 = 0;\n      uVar24 = (uVar7 + 1) * 0x20;\n      local_7e2 = (ushort)(uVar24 / (uint)local_7d4);\n      ppvVar39 = &local_8e8;\n      if (uVar24 % (uint)local_7d4 != 0) {\n        local_7e2 = local_7e2 + 1;\n      }\n      psVar38 = (stat64 *)0x0;\n      psVar25 = (stat64 *)\n                sg_memalign((int)((int)&local_8f4->st_dev + (uint)local_7e2) * (int)local_7d4,0,\n                            ppvVar39,0);\n      if (psVar25 == (stat64 *)0x0) goto LAB_000141a6;\n      local_8f6 = 0;\n      local_8ec = (undefined1  [4])0x0;\n      if (uVar7 + 1 == 1) {\n        uVar24 = (uint)local_7e2 * (int)local_7d4;\n      }\n      local_908 = (stat64 *)FUN_000156d0(psVar25,&local_8f6,local_8ec,uVar24);\n      if (local_908 != (stat64 *)0x0) goto LAB_000133fd;\n      psVar38 = (stat64 *)((int)local_7d4 * (int)local_8ec);\n      if (local_7d0 <= psVar38) {\n        if ((local_7d0 <= psVar38 && (int)psVar38 - (int)local_7d0 != 0) &&\n           (local_7d0 != (stat64 *)0x0)) {\n          psVar38 = local_7d0;\n        }\nLAB_00014208:\n        if ((psVar45 != (stat64 *)0x0) && (psVar45 != psVar38)) {\n          if (psVar18 != (stat64 *)0x0) {\n            puVar20 = &DAT_00017110;\n            if (psVar38 <= psVar45) {\n              puVar20 = &DAT_000170dd;\n            }\n            pr2serr("readable length (%u) of IF %s bytes implied by sum of\nscatter list NUMs (%u) and DLEN\n"\n                    ,psVar45,puVar20,psVar38);\n          }\n          if ((local_7f8 != 0) && ((psVar38 <= psVar45 || (1 < (int)local_7f8)))) goto LAB_000133f3;\nLAB_0001387e:\n          if (psVar45 < psVar38) {\n            psVar38 = psVar45;\n          }\n        }\n        psVar17 = (stat64 *)((uint)psVar38 / (uint)local_7d4);\n        if (((uint)psVar38 % (uint)local_7d4 != 0) &&\n           ((psVar18 != (stat64 *)0x0 || (1 < (int)local_7f8)))) {\n          psVar22 = local_7d8;\n          pr2serr("Calculated data-out length (0x%x) not a multiple of BS (%u",psVar38,local_7d8,\n                  psVar17);\n          if (local_7d8 != local_7d4) {\n            psVar38 = (stat64 *)((int)local_7d4 - (int)local_7d8);\n            psVar22 = extraout_ECX_07;\n            psVar17 = extraout_ECX_07;\n            pr2serr(" + %d(PI)",psVar38,extraout_ECX_07,extraout_ECX_07);\n          }\n          if (1 < (int)local_7f8) {\n            pr2serr(")\nexiting ...\n",psVar38,psVar22,psVar17);\n            local_908 = (stat64 *)0xf;\n            goto LAB_000133fd;\n          }\n          pr2serr(")\nzero pad and continue ...\n",psVar38,psVar22,psVar17);\n        }\n      }\n      else {\n        uVar7 = (uint)psVar18 | local_7f8;\n        if (uVar7 != 0) {\n          pr2serr("DLEN > than bytes implied by sum of scatter list NUMs (%u)\n",psVar38,uVar7,uVar7\n                 );\n          if (1 < (int)psVar18) {\n            pr2serr("  num_lbard=%u, sum_num=%u actual_bs=%u",local_8f6,local_8ec,local_7d4);\n          }\n          if (local_7f8 != 0) goto LAB_000133f3;\n          goto LAB_00014208;\n        }\n        if ((psVar45 != (stat64 *)0x0) && (psVar45 != psVar38)) goto LAB_0001387e;\n      }\n      local_908 = (stat64 *)FUN_00014a80(&DAT_00017360);\n    }\n    else {\nLAB_00013dcd:\n      psVar38 = local_7d4;\n      if (local_7e0 != 0) {\n        psVar38 = (stat64 *)((local_7e0 + 1) * 0x20);\n        if (local_908 < psVar38) {\n          pr2serr("SF not long enough (%u bytes) to provide RD (%u) %ss\n",local_908,psVar38,\n                  "LBA range descriptor");\n          local_908 = (stat64 *)0xf;\n          goto LAB_000133fd;\n        }\n        psVar38 = (stat64 *)\n                  ((((uint)psVar38 / (uint)local_7d4 + 1) -\n                   (uint)((uint)psVar38 % (uint)local_7d4 == 0)) * (int)local_7d4);\n      }\n      local_918 = local_7d4;\n      if (local_93c != (stat64 *)0x0) {\n        local_918 = (stat64 *)\n                    ((((uint)local_93c / (uint)local_7d4 + 1) -\n                     (uint)((uint)local_93c % (uint)local_7d4 == 0)) * (int)local_7d4);\n      }\n      psVar25 = (stat64 *)\n                sg_memalign((undefined *)((int)&psVar38->st_dev + (int)&local_918->st_dev),0,\n                            &local_8e8,0);\n      if (psVar25 == (stat64 *)0x0) {\nLAB_00013fb3:\n        pcVar15 = "unable to allocate aligned memory for scatterlist+data\n";\nLAB_00013fbc:\n        pr2serr(pcVar15);\n        local_908 = (stat64 *)sg_convert_errno(0xc);\n        goto LAB_000133fd;\n      }\n      local_908 = (stat64 *)FUN_00014a80(&DAT_00017365);\n      if (local_908 != (stat64 *)0x0) goto LAB_000133fd;\n      psVar17 = (stat64 *)local_8ec;\n      psVar22 = extraout_ECX_08;\n      psVar8 = extraout_ECX_08;\n      cVar6 = FUN_000146a0(&local_8f6,psVar17,extraout_ECX_08,extraout_ECX_08);\n      if (cVar6 == '\0') goto LAB_000133f3;\n      if (local_7e0 != local_8f6) {\n        pr2serr("Try again with --scattered=%u\n",local_8f6,extraout_EDX_05,extraout_EDX_05);\n        local_908 = (stat64 *)0xf;\n        goto LAB_000133fd;\n      }\n      if (local_918 < (stat64 *)((int)local_7d4 * (int)local_8ec)) {\n        psVar9 = (stat64 *)\n                 sg_memalign((undefined *)\n                             ((int)&psVar38->st_dev +\n                             (int)&((stat64 *)((int)local_7d4 * (int)local_8ec))->st_dev),0,\n                             &local_8e4,0);\n        if (psVar9 == (stat64 *)0x0) goto LAB_00014273;\n        psVar22 = psVar38;\n        psVar8 = psVar9;\n        memcpy(psVar9,psVar25,(size_t)psVar38);\n        psVar17 = psVar25;\n        free(local_8e8);\n        local_8e8 = local_8e4;\n        psVar25 = psVar9;\n      }\n      if ((local_93c != psVar38) && (psVar18 != (stat64 *)0x0 || local_7f8 != 0)) {\n        psVar22 = (stat64 *)&DAT_000170dd;\n        if (local_93c <= psVar38) {\n          psVar22 = (stat64 *)&DAT_00017110;\n        }\n        psVar8 = psVar38;\n        pr2serr("IF length (%u) %s \'sum_num\' bytes (%u), ",local_93c,psVar22,psVar38);\n        if (1 < (int)local_7f8) {\n          pr2serr("exiting (strict=%d)\n",local_7f8,psVar38,psVar38);\n          local_908 = (stat64 *)0xf;\n          goto LAB_000133fd;\n        }\n        pr2serr("continuing ...\n",local_93c,psVar22,psVar8);\n        psVar17 = local_93c;\n      }\n      local_908 = (stat64 *)FUN_00014a80(&DAT_0001738d,psVar17,psVar22,psVar8);\n    }" if (parenthesized_expression "(local_819 == '\0')" ( (binary_expression "local_819 == '\0'" identifier == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n      uVar7 = (uint)local_8f6;\n      uVar16 = 0;\n      uVar24 = (uVar7 + 1) * 0x20;\n      local_7e2 = (ushort)(uVar24 / (uint)local_7d4);\n      ppvVar39 = &local_8e8;\n      if (uVar24 % (uint)local_7d4 != 0) {\n        local_7e2 = local_7e2 + 1;\n      }\n      psVar38 = (stat64 *)0x0;\n      psVar25 = (stat64 *)\n                sg_memalign((int)((int)&local_8f4->st_dev + (uint)local_7e2) * (int)local_7d4,0,\n                            ppvVar39,0);\n      if (psVar25 == (stat64 *)0x0) goto LAB_000141a6;\n      local_8f6 = 0;\n      local_8ec = (undefined1  [4])0x0;\n      if (uVar7 + 1 == 1) {\n        uVar24 = (uint)local_7e2 * (int)local_7d4;\n      }\n      local_908 = (stat64 *)FUN_000156d0(psVar25,&local_8f6,local_8ec,uVar24);\n      if (local_908 != (stat64 *)0x0) goto LAB_000133fd;\n      psVar38 = (stat64 *)((int)local_7d4 * (int)local_8ec);\n      if (local_7d0 <= psVar38) {\n        if ((local_7d0 <= psVar38 && (int)psVar38 - (int)local_7d0 != 0) &&\n           (local_7d0 != (stat64 *)0x0)) {\n          psVar38 = local_7d0;\n        }\nLAB_00014208:\n        if ((psVar45 != (stat64 *)0x0) && (psVar45 != psVar38)) {\n          if (psVar18 != (stat64 *)0x0) {\n            puVar20 = &DAT_00017110;\n            if (psVar38 <= psVar45) {\n              puVar20 = &DAT_000170dd;\n            }\n            pr2serr("readable length (%u) of IF %s bytes implied by sum of\nscatter list NUMs (%u) and DLEN\n"\n                    ,psVar45,puVar20,psVar38);\n          }\n          if ((local_7f8 != 0) && ((psVar38 <= psVar45 || (1 < (int)local_7f8)))) goto LAB_000133f3;\nLAB_0001387e:\n          if (psVar45 < psVar38) {\n            psVar38 = psVar45;\n          }\n        }\n        psVar17 = (stat64 *)((uint)psVar38 / (uint)local_7d4);\n        if (((uint)psVar38 % (uint)local_7d4 != 0) &&\n           ((psVar18 != (stat64 *)0x0 || (1 < (int)local_7f8)))) {\n          psVar22 = local_7d8;\n          pr2serr("Calculated data-out length (0x%x) not a multiple of BS (%u",psVar38,local_7d8,\n                  psVar17);\n          if (local_7d8 != local_7d4) {\n            psVar38 = (stat64 *)((int)local_7d4 - (int)local_7d8);\n            psVar22 = extraout_ECX_07;\n            psVar17 = extraout_ECX_07;\n            pr2serr(" + %d(PI)",psVar38,extraout_ECX_07,extraout_ECX_07);\n          }\n          if (1 < (int)local_7f8) {\n            pr2serr(")\nexiting ...\n",psVar38,psVar22,psVar17);\n            local_908 = (stat64 *)0xf;\n            goto LAB_000133fd;\n          }\n          pr2serr(")\nzero pad and continue ...\n",psVar38,psVar22,psVar17);\n        }\n      }\n      else {\n        uVar7 = (uint)psVar18 | local_7f8;\n        if (uVar7 != 0) {\n          pr2serr("DLEN > than bytes implied by sum of scatter list NUMs (%u)\n",psVar38,uVar7,uVar7\n                 );\n          if (1 < (int)psVar18) {\n            pr2serr("  num_lbard=%u, sum_num=%u actual_bs=%u",local_8f6,local_8ec,local_7d4);\n          }\n          if (local_7f8 != 0) goto LAB_000133f3;\n          goto LAB_00014208;\n        }\n        if ((psVar45 != (stat64 *)0x0) && (psVar45 != psVar38)) goto LAB_0001387e;\n      }\n      local_908 = (stat64 *)FUN_00014a80(&DAT_00017360);\n    }" { (expression_statement "uVar7 = (uint)local_8f6;" (assignment_expression "uVar7 = (uint)local_8f6" identifier = (cast_expression "(uint)local_8f6" ( (type_descriptor "uint" type_identifier) ) identifier)) ;) (expression_statement "uVar16 = 0;" (assignment_expression "uVar16 = 0" identifier = number_literal) ;) (expression_statement "uVar24 = (uVar7 + 1) * 0x20;" (assignment_expression "uVar24 = (uVar7 + 1) * 0x20" identifier = (binary_expression "(uVar7 + 1) * 0x20" (parenthesized_expression "(uVar7 + 1)" ( (binary_expression "uVar7 + 1" identifier + number_literal) )) * number_literal)) ;) (expression_statement "local_7e2 = (ushort)(uVar24 / (uint)local_7d4);" (assignment_expression "local_7e2 = (ushort)(uVar24 / (uint)local_7d4)" identifier = (call_expression "(ushort)(uVar24 / (uint)local_7d4)" (parenthesized_expression "(ushort)" ( identifier )) (argument_list "(uVar24 / (uint)local_7d4)" ( (binary_expression "uVar24 / (uint)local_7d4" identifier / (cast_expression "(uint)local_7d4" ( (type_descriptor "uint" type_identifier) ) identifier)) )))) ;) (expression_statement "ppvVar39 = &local_8e8;" (assignment_expression "ppvVar39 = &local_8e8" identifier = (pointer_expression "&local_8e8" & identifier)) ;) (if_statement "if (uVar24 % (uint)local_7d4 != 0) {\n        local_7e2 = local_7e2 + 1;\n      }" if (parenthesized_expression "(uVar24 % (uint)local_7d4 != 0)" ( (binary_expression "uVar24 % (uint)local_7d4 != 0" (binary_expression "uVar24 % (uint)local_7d4" identifier % (cast_expression "(uint)local_7d4" ( (type_descriptor "uint" type_identifier) ) identifier)) != number_literal) )) (compound_statement "{\n        local_7e2 = local_7e2 + 1;\n      }" { (expression_statement "local_7e2 = local_7e2 + 1;" (assignment_expression "local_7e2 = local_7e2 + 1" identifier = (binary_expression "local_7e2 + 1" identifier + number_literal)) ;) })) (expression_statement "psVar38 = (stat64 *)0x0;" (assignment_expression "psVar38 = (stat64 *)0x0" identifier = (cast_expression "(stat64 *)0x0" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "psVar25 = (stat64 *)\n                sg_memalign((int)((int)&local_8f4->st_dev + (uint)local_7e2) * (int)local_7d4,0,\n                            ppvVar39,0);" (assignment_expression "psVar25 = (stat64 *)\n                sg_memalign((int)((int)&local_8f4->st_dev + (uint)local_7e2) * (int)local_7d4,0,\n                            ppvVar39,0)" identifier = (cast_expression "(stat64 *)\n                sg_memalign((int)((int)&local_8f4->st_dev + (uint)local_7e2) * (int)local_7d4,0,\n                            ppvVar39,0)" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "sg_memalign((int)((int)&local_8f4->st_dev + (uint)local_7e2) * (int)local_7d4,0,\n                            ppvVar39,0)" identifier (argument_list "((int)((int)&local_8f4->st_dev + (uint)local_7e2) * (int)local_7d4,0,\n                            ppvVar39,0)" ( (binary_expression "(int)((int)&local_8f4->st_dev + (uint)local_7e2) * (int)local_7d4" (cast_expression "(int)((int)&local_8f4->st_dev + (uint)local_7e2)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((int)&local_8f4->st_dev + (uint)local_7e2)" ( (binary_expression "(int)&local_8f4->st_dev + (uint)local_7e2" (cast_expression "(int)&local_8f4->st_dev" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&local_8f4->st_dev" & (field_expression "local_8f4->st_dev" identifier -> field_identifier))) + (cast_expression "(uint)local_7e2" ( (type_descriptor "uint" type_identifier) ) identifier)) ))) * (cast_expression "(int)local_7d4" ( (type_descriptor "int" primitive_type) ) identifier)) , number_literal , identifier , number_literal ))))) ;) (if_statement "if (psVar25 == (stat64 *)0x0) goto LAB_000141a6;" if (parenthesized_expression "(psVar25 == (stat64 *)0x0)" ( (binary_expression "psVar25 == (stat64 *)0x0" identifier == (cast_expression "(stat64 *)0x0" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_000141a6;" goto statement_identifier ;)) (expression_statement "local_8f6 = 0;" (assignment_expression "local_8f6 = 0" identifier = number_literal) ;) (expression_statement "local_8ec = (undefined1  [4])0x0;" (assignment_expression "local_8ec = (undefined1  [4])0x0" identifier = (cast_expression "(undefined1  [4])0x0" ( (type_descriptor "undefined1  [4]" type_identifier (abstract_array_declarator "[4]" [ number_literal ])) ) number_literal)) ;) (if_statement "if (uVar7 + 1 == 1) {\n        uVar24 = (uint)local_7e2 * (int)local_7d4;\n      }" if (parenthesized_expression "(uVar7 + 1 == 1)" ( (binary_expression "uVar7 + 1 == 1" (binary_expression "uVar7 + 1" identifier + number_literal) == number_literal) )) (compound_statement "{\n        uVar24 = (uint)local_7e2 * (int)local_7d4;\n      }" { (expression_statement "uVar24 = (uint)local_7e2 * (int)local_7d4;" (assignment_expression "uVar24 = (uint)local_7e2 * (int)local_7d4" identifier = (binary_expression "(uint)local_7e2 * (int)local_7d4" (cast_expression "(uint)local_7e2" ( (type_descriptor "uint" type_identifier) ) identifier) * (cast_expression "(int)local_7d4" ( (type_descriptor "int" primitive_type) ) identifier))) ;) })) (expression_statement "local_908 = (stat64 *)FUN_000156d0(psVar25,&local_8f6,local_8ec,uVar24);" (assignment_expression "local_908 = (stat64 *)FUN_000156d0(psVar25,&local_8f6,local_8ec,uVar24)" identifier = (cast_expression "(stat64 *)FUN_000156d0(psVar25,&local_8f6,local_8ec,uVar24)" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_000156d0(psVar25,&local_8f6,local_8ec,uVar24)" identifier (argument_list "(psVar25,&local_8f6,local_8ec,uVar24)" ( identifier , (pointer_expression "&local_8f6" & identifier) , identifier , identifier ))))) ;) (if_statement "if (local_908 != (stat64 *)0x0) goto LAB_000133fd;" if (parenthesized_expression "(local_908 != (stat64 *)0x0)" ( (binary_expression "local_908 != (stat64 *)0x0" identifier != (cast_expression "(stat64 *)0x0" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_000133fd;" goto statement_identifier ;)) (expression_statement "psVar38 = (stat64 *)((int)local_7d4 * (int)local_8ec);" (assignment_expression "psVar38 = (stat64 *)((int)local_7d4 * (int)local_8ec)" identifier = (cast_expression "(stat64 *)((int)local_7d4 * (int)local_8ec)" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_7d4 * (int)local_8ec)" ( (binary_expression "(int)local_7d4 * (int)local_8ec" (cast_expression "(int)local_7d4" ( (type_descriptor "int" primitive_type) ) identifier) * (cast_expression "(int)local_8ec" ( (type_descriptor "int" primitive_type) ) identifier)) )))) ;) (if_statement "if (local_7d0 <= psVar38) {\n        if ((local_7d0 <= psVar38 && (int)psVar38 - (int)local_7d0 != 0) &&\n           (local_7d0 != (stat64 *)0x0)) {\n          psVar38 = local_7d0;\n        }\nLAB_00014208:\n        if ((psVar45 != (stat64 *)0x0) && (psVar45 != psVar38)) {\n          if (psVar18 != (stat64 *)0x0) {\n            puVar20 = &DAT_00017110;\n            if (psVar38 <= psVar45) {\n              puVar20 = &DAT_000170dd;\n            }\n            pr2serr("readable length (%u) of IF %s bytes implied by sum of\nscatter list NUMs (%u) and DLEN\n"\n                    ,psVar45,puVar20,psVar38);\n          }\n          if ((local_7f8 != 0) && ((psVar38 <= psVar45 || (1 < (int)local_7f8)))) goto LAB_000133f3;\nLAB_0001387e:\n          if (psVar45 < psVar38) {\n            psVar38 = psVar45;\n          }\n        }\n        psVar17 = (stat64 *)((uint)psVar38 / (uint)local_7d4);\n        if (((uint)psVar38 % (uint)local_7d4 != 0) &&\n           ((psVar18 != (stat64 *)0x0 || (1 < (int)local_7f8)))) {\n          psVar22 = local_7d8;\n          pr2serr("Calculated data-out length (0x%x) not a multiple of BS (%u",psVar38,local_7d8,\n                  psVar17);\n          if (local_7d8 != local_7d4) {\n            psVar38 = (stat64 *)((int)local_7d4 - (int)local_7d8);\n            psVar22 = extraout_ECX_07;\n            psVar17 = extraout_ECX_07;\n            pr2serr(" + %d(PI)",psVar38,extraout_ECX_07,extraout_ECX_07);\n          }\n          if (1 < (int)local_7f8) {\n            pr2serr(")\nexiting ...\n",psVar38,psVar22,psVar17);\n            local_908 = (stat64 *)0xf;\n            goto LAB_000133fd;\n          }\n          pr2serr(")\nzero pad and continue ...\n",psVar38,psVar22,psVar17);\n        }\n      }\n      else {\n        uVar7 = (uint)psVar18 | local_7f8;\n        if (uVar7 != 0) {\n          pr2serr("DLEN > than bytes implied by sum of scatter list NUMs (%u)\n",psVar38,uVar7,uVar7\n                 );\n          if (1 < (int)psVar18) {\n            pr2serr("  num_lbard=%u, sum_num=%u actual_bs=%u",local_8f6,local_8ec,local_7d4);\n          }\n          if (local_7f8 != 0) goto LAB_000133f3;\n          goto LAB_00014208;\n        }\n        if ((psVar45 != (stat64 *)0x0) && (psVar45 != psVar38)) goto LAB_0001387e;\n      }" if (parenthesized_expression "(local_7d0 <= psVar38)" ( (binary_expression "local_7d0 <= psVar38" identifier <= identifier) )) (compound_statement "{\n        if ((local_7d0 <= psVar38 && (int)psVar38 - (int)local_7d0 != 0) &&\n           (local_7d0 != (stat64 *)0x0)) {\n          psVar38 = local_7d0;\n        }\nLAB_00014208:\n        if ((psVar45 != (stat64 *)0x0) && (psVar45 != psVar38)) {\n          if (psVar18 != (stat64 *)0x0) {\n            puVar20 = &DAT_00017110;\n            if (psVar38 <= psVar45) {\n              puVar20 = &DAT_000170dd;\n            }\n            pr2serr("readable length (%u) of IF %s bytes implied by sum of\nscatter list NUMs (%u) and DLEN\n"\n                    ,psVar45,puVar20,psVar38);\n          }\n          if ((local_7f8 != 0) && ((psVar38 <= psVar45 || (1 < (int)local_7f8)))) goto LAB_000133f3;\nLAB_0001387e:\n          if (psVar45 < psVar38) {\n            psVar38 = psVar45;\n          }\n        }\n        psVar17 = (stat64 *)((uint)psVar38 / (uint)local_7d4);\n        if (((uint)psVar38 % (uint)local_7d4 != 0) &&\n           ((psVar18 != (stat64 *)0x0 || (1 < (int)local_7f8)))) {\n          psVar22 = local_7d8;\n          pr2serr("Calculated data-out length (0x%x) not a multiple of BS (%u",psVar38,local_7d8,\n                  psVar17);\n          if (local_7d8 != local_7d4) {\n            psVar38 = (stat64 *)((int)local_7d4 - (int)local_7d8);\n            psVar22 = extraout_ECX_07;\n            psVar17 = extraout_ECX_07;\n            pr2serr(" + %d(PI)",psVar38,extraout_ECX_07,extraout_ECX_07);\n          }\n          if (1 < (int)local_7f8) {\n            pr2serr(")\nexiting ...\n",psVar38,psVar22,psVar17);\n            local_908 = (stat64 *)0xf;\n            goto LAB_000133fd;\n          }\n          pr2serr(")\nzero pad and continue ...\n",psVar38,psVar22,psVar17);\n        }\n      }" { (if_statement "if ((local_7d0 <= psVar38 && (int)psVar38 - (int)local_7d0 != 0) &&\n           (local_7d0 != (stat64 *)0x0)) {\n          psVar38 = local_7d0;\n        }" if (parenthesized_expression "((local_7d0 <= psVar38 && (int)psVar38 - (int)local_7d0 != 0) &&\n           (local_7d0 != (stat64 *)0x0))" ( (binary_expression "(local_7d0 <= psVar38 && (int)psVar38 - (int)local_7d0 != 0) &&\n           (local_7d0 != (stat64 *)0x0)" (parenthesized_expression "(local_7d0 <= psVar38 && (int)psVar38 - (int)local_7d0 != 0)" ( (binary_expression "local_7d0 <= psVar38 && (int)psVar38 - (int)local_7d0 != 0" (binary_expression "local_7d0 <= psVar38" identifier <= identifier) && (binary_expression "(int)psVar38 - (int)local_7d0 != 0" (binary_expression "(int)psVar38 - (int)local_7d0" (cast_expression "(int)psVar38" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)local_7d0" ( (type_descriptor "int" primitive_type) ) identifier)) != number_literal)) )) && (parenthesized_expression "(local_7d0 != (stat64 *)0x0)" ( (binary_expression "local_7d0 != (stat64 *)0x0" identifier != (cast_expression "(stat64 *)0x0" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ))) )) (compound_statement "{\n          psVar38 = local_7d0;\n        }" { (expression_statement "psVar38 = local_7d0;" (assignment_expression "psVar38 = local_7d0" identifier = identifier) ;) })) (labeled_statement "LAB_00014208:\n        if ((psVar45 != (stat64 *)0x0) && (psVar45 != psVar38)) {\n          if (psVar18 != (stat64 *)0x0) {\n            puVar20 = &DAT_00017110;\n            if (psVar38 <= psVar45) {\n              puVar20 = &DAT_000170dd;\n            }\n            pr2serr("readable length (%u) of IF %s bytes implied by sum of\nscatter list NUMs (%u) and DLEN\n"\n                    ,psVar45,puVar20,psVar38);\n          }\n          if ((local_7f8 != 0) && ((psVar38 <= psVar45 || (1 < (int)local_7f8)))) goto LAB_000133f3;\nLAB_0001387e:\n          if (psVar45 < psVar38) {\n            psVar38 = psVar45;\n          }\n        }" statement_identifier : (if_statement "if ((psVar45 != (stat64 *)0x0) && (psVar45 != psVar38)) {\n          if (psVar18 != (stat64 *)0x0) {\n            puVar20 = &DAT_00017110;\n            if (psVar38 <= psVar45) {\n              puVar20 = &DAT_000170dd;\n            }\n            pr2serr("readable length (%u) of IF %s bytes implied by sum of\nscatter list NUMs (%u) and DLEN\n"\n                    ,psVar45,puVar20,psVar38);\n          }\n          if ((local_7f8 != 0) && ((psVar38 <= psVar45 || (1 < (int)local_7f8)))) goto LAB_000133f3;\nLAB_0001387e:\n          if (psVar45 < psVar38) {\n            psVar38 = psVar45;\n          }\n        }" if (parenthesized_expression "((psVar45 != (stat64 *)0x0) && (psVar45 != psVar38))" ( (binary_expression "(psVar45 != (stat64 *)0x0) && (psVar45 != psVar38)" (parenthesized_expression "(psVar45 != (stat64 *)0x0)" ( (binary_expression "psVar45 != (stat64 *)0x0" identifier != (cast_expression "(stat64 *)0x0" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) && (parenthesized_expression "(psVar45 != psVar38)" ( (binary_expression "psVar45 != psVar38" identifier != identifier) ))) )) (compound_statement "{\n          if (psVar18 != (stat64 *)0x0) {\n            puVar20 = &DAT_00017110;\n            if (psVar38 <= psVar45) {\n              puVar20 = &DAT_000170dd;\n            }\n            pr2serr("readable length (%u) of IF %s bytes implied by sum of\nscatter list NUMs (%u) and DLEN\n"\n                    ,psVar45,puVar20,psVar38);\n          }\n          if ((local_7f8 != 0) && ((psVar38 <= psVar45 || (1 < (int)local_7f8)))) goto LAB_000133f3;\nLAB_0001387e:\n          if (psVar45 < psVar38) {\n            psVar38 = psVar45;\n          }\n        }" { (if_statement "if (psVar18 != (stat64 *)0x0) {\n            puVar20 = &DAT_00017110;\n            if (psVar38 <= psVar45) {\n              puVar20 = &DAT_000170dd;\n            }\n            pr2serr("readable length (%u) of IF %s bytes implied by sum of\nscatter list NUMs (%u) and DLEN\n"\n                    ,psVar45,puVar20,psVar38);\n          }" if (parenthesized_expression "(psVar18 != (stat64 *)0x0)" ( (binary_expression "psVar18 != (stat64 *)0x0" identifier != (cast_expression "(stat64 *)0x0" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n            puVar20 = &DAT_00017110;\n            if (psVar38 <= psVar45) {\n              puVar20 = &DAT_000170dd;\n            }\n            pr2serr("readable length (%u) of IF %s bytes implied by sum of\nscatter list NUMs (%u) and DLEN\n"\n                    ,psVar45,puVar20,psVar38);\n          }" { (expression_statement "puVar20 = &DAT_00017110;" (assignment_expression "puVar20 = &DAT_00017110" identifier = (pointer_expression "&DAT_00017110" & identifier)) ;) (if_statement "if (psVar38 <= psVar45) {\n              puVar20 = &DAT_000170dd;\n            }" if (parenthesized_expression "(psVar38 <= psVar45)" ( (binary_expression "psVar38 <= psVar45" identifier <= identifier) )) (compound_statement "{\n              puVar20 = &DAT_000170dd;\n            }" { (expression_statement "puVar20 = &DAT_000170dd;" (assignment_expression "puVar20 = &DAT_000170dd" identifier = (pointer_expression "&DAT_000170dd" & identifier)) ;) })) (expression_statement "pr2serr("readable length (%u) of IF %s bytes implied by sum of\nscatter list NUMs (%u) and DLEN\n"\n                    ,psVar45,puVar20,psVar38);" (call_expression "pr2serr("readable length (%u) of IF %s bytes implied by sum of\nscatter list NUMs (%u) and DLEN\n"\n                    ,psVar45,puVar20,psVar38)" identifier (argument_list "("readable length (%u) of IF %s bytes implied by sum of\nscatter list NUMs (%u) and DLEN\n"\n                    ,psVar45,puVar20,psVar38)" ( (string_literal ""readable length (%u) of IF %s bytes implied by sum of\nscatter list NUMs (%u) and DLEN\n"" " string_content escape_sequence string_content escape_sequence ") , identifier , identifier , identifier ))) ;) })) (if_statement "if ((local_7f8 != 0) && ((psVar38 <= psVar45 || (1 < (int)local_7f8)))) goto LAB_000133f3;" if (parenthesized_expression "((local_7f8 != 0) && ((psVar38 <= psVar45 || (1 < (int)local_7f8))))" ( (binary_expression "(local_7f8 != 0) && ((psVar38 <= psVar45 || (1 < (int)local_7f8)))" (parenthesized_expression "(local_7f8 != 0)" ( (binary_expression "local_7f8 != 0" identifier != number_literal) )) && (parenthesized_expression "((psVar38 <= psVar45 || (1 < (int)local_7f8)))" ( (parenthesized_expression "(psVar38 <= psVar45 || (1 < (int)local_7f8))" ( (binary_expression "psVar38 <= psVar45 || (1 < (int)local_7f8)" (binary_expression "psVar38 <= psVar45" identifier <= identifier) || (parenthesized_expression "(1 < (int)local_7f8)" ( (binary_expression "1 < (int)local_7f8" number_literal < (cast_expression "(int)local_7f8" ( (type_descriptor "int" primitive_type) ) identifier)) ))) )) ))) )) (goto_statement "goto LAB_000133f3;" goto statement_identifier ;)) (labeled_statement "LAB_0001387e:\n          if (psVar45 < psVar38) {\n            psVar38 = psVar45;\n          }" statement_identifier : (if_statement "if (psVar45 < psVar38) {\n            psVar38 = psVar45;\n          }" if (parenthesized_expression "(psVar45 < psVar38)" ( (binary_expression "psVar45 < psVar38" identifier < identifier) )) (compound_statement "{\n            psVar38 = psVar45;\n          }" { (expression_statement "psVar38 = psVar45;" (assignment_expression "psVar38 = psVar45" identifier = identifier) ;) }))) }))) (expression_statement "psVar17 = (stat64 *)((uint)psVar38 / (uint)local_7d4);" (assignment_expression "psVar17 = (stat64 *)((uint)psVar38 / (uint)local_7d4)" identifier = (cast_expression "(stat64 *)((uint)psVar38 / (uint)local_7d4)" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((uint)psVar38 / (uint)local_7d4)" ( (binary_expression "(uint)psVar38 / (uint)local_7d4" (cast_expression "(uint)psVar38" ( (type_descriptor "uint" type_identifier) ) identifier) / (cast_expression "(uint)local_7d4" ( (type_descriptor "uint" type_identifier) ) identifier)) )))) ;) (if_statement "if (((uint)psVar38 % (uint)local_7d4 != 0) &&\n           ((psVar18 != (stat64 *)0x0 || (1 < (int)local_7f8)))) {\n          psVar22 = local_7d8;\n          pr2serr("Calculated data-out length (0x%x) not a multiple of BS (%u",psVar38,local_7d8,\n                  psVar17);\n          if (local_7d8 != local_7d4) {\n            psVar38 = (stat64 *)((int)local_7d4 - (int)local_7d8);\n            psVar22 = extraout_ECX_07;\n            psVar17 = extraout_ECX_07;\n            pr2serr(" + %d(PI)",psVar38,extraout_ECX_07,extraout_ECX_07);\n          }\n          if (1 < (int)local_7f8) {\n            pr2serr(")\nexiting ...\n",psVar38,psVar22,psVar17);\n            local_908 = (stat64 *)0xf;\n            goto LAB_000133fd;\n          }\n          pr2serr(")\nzero pad and continue ...\n",psVar38,psVar22,psVar17);\n        }" if (parenthesized_expression "(((uint)psVar38 % (uint)local_7d4 != 0) &&\n           ((psVar18 != (stat64 *)0x0 || (1 < (int)local_7f8))))" ( (binary_expression "((uint)psVar38 % (uint)local_7d4 != 0) &&\n           ((psVar18 != (stat64 *)0x0 || (1 < (int)local_7f8)))" (parenthesized_expression "((uint)psVar38 % (uint)local_7d4 != 0)" ( (binary_expression "(uint)psVar38 % (uint)local_7d4 != 0" (binary_expression "(uint)psVar38 % (uint)local_7d4" (cast_expression "(uint)psVar38" ( (type_descriptor "uint" type_identifier) ) identifier) % (cast_expression "(uint)local_7d4" ( (type_descriptor "uint" type_identifier) ) identifier)) != number_literal) )) && (parenthesized_expression "((psVar18 != (stat64 *)0x0 || (1 < (int)local_7f8)))" ( (parenthesized_expression "(psVar18 != (stat64 *)0x0 || (1 < (int)local_7f8))" ( (binary_expression "psVar18 != (stat64 *)0x0 || (1 < (int)local_7f8)" (binary_expression "psVar18 != (stat64 *)0x0" identifier != (cast_expression "(stat64 *)0x0" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) || (parenthesized_expression "(1 < (int)local_7f8)" ( (binary_expression "1 < (int)local_7f8" number_literal < (cast_expression "(int)local_7f8" ( (type_descriptor "int" primitive_type) ) identifier)) ))) )) ))) )) (compound_statement "{\n          psVar22 = local_7d8;\n          pr2serr("Calculated data-out length (0x%x) not a multiple of BS (%u",psVar38,local_7d8,\n                  psVar17);\n          if (local_7d8 != local_7d4) {\n            psVar38 = (stat64 *)((int)local_7d4 - (int)local_7d8);\n            psVar22 = extraout_ECX_07;\n            psVar17 = extraout_ECX_07;\n            pr2serr(" + %d(PI)",psVar38,extraout_ECX_07,extraout_ECX_07);\n          }\n          if (1 < (int)local_7f8) {\n            pr2serr(")\nexiting ...\n",psVar38,psVar22,psVar17);\n            local_908 = (stat64 *)0xf;\n            goto LAB_000133fd;\n          }\n          pr2serr(")\nzero pad and continue ...\n",psVar38,psVar22,psVar17);\n        }" { (expression_statement "psVar22 = local_7d8;" (assignment_expression "psVar22 = local_7d8" identifier = identifier) ;) (expression_statement "pr2serr("Calculated data-out length (0x%x) not a multiple of BS (%u",psVar38,local_7d8,\n                  psVar17);" (call_expression "pr2serr("Calculated data-out length (0x%x) not a multiple of BS (%u",psVar38,local_7d8,\n                  psVar17)" identifier (argument_list "("Calculated data-out length (0x%x) not a multiple of BS (%u",psVar38,local_7d8,\n                  psVar17)" ( (string_literal ""Calculated data-out length (0x%x) not a multiple of BS (%u"" " string_content ") , identifier , identifier , identifier ))) ;) (if_statement "if (local_7d8 != local_7d4) {\n            psVar38 = (stat64 *)((int)local_7d4 - (int)local_7d8);\n            psVar22 = extraout_ECX_07;\n            psVar17 = extraout_ECX_07;\n            pr2serr(" + %d(PI)",psVar38,extraout_ECX_07,extraout_ECX_07);\n          }" if (parenthesized_expression "(local_7d8 != local_7d4)" ( (binary_expression "local_7d8 != local_7d4" identifier != identifier) )) (compound_statement "{\n            psVar38 = (stat64 *)((int)local_7d4 - (int)local_7d8);\n            psVar22 = extraout_ECX_07;\n            psVar17 = extraout_ECX_07;\n            pr2serr(" + %d(PI)",psVar38,extraout_ECX_07,extraout_ECX_07);\n          }" { (expression_statement "psVar38 = (stat64 *)((int)local_7d4 - (int)local_7d8);" (assignment_expression "psVar38 = (stat64 *)((int)local_7d4 - (int)local_7d8)" identifier = (cast_expression "(stat64 *)((int)local_7d4 - (int)local_7d8)" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_7d4 - (int)local_7d8)" ( (binary_expression "(int)local_7d4 - (int)local_7d8" (cast_expression "(int)local_7d4" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)local_7d8" ( (type_descriptor "int" primitive_type) ) identifier)) )))) ;) (expression_statement "psVar22 = extraout_ECX_07;" (assignment_expression "psVar22 = extraout_ECX_07" identifier = identifier) ;) (expression_statement "psVar17 = extraout_ECX_07;" (assignment_expression "psVar17 = extraout_ECX_07" identifier = identifier) ;) (expression_statement "pr2serr(" + %d(PI)",psVar38,extraout_ECX_07,extraout_ECX_07);" (call_expression "pr2serr(" + %d(PI)",psVar38,extraout_ECX_07,extraout_ECX_07)" identifier (argument_list "(" + %d(PI)",psVar38,extraout_ECX_07,extraout_ECX_07)" ( (string_literal "" + %d(PI)"" " string_content ") , identifier , identifier , identifier ))) ;) })) (if_statement "if (1 < (int)local_7f8) {\n            pr2serr(")\nexiting ...\n",psVar38,psVar22,psVar17);\n            local_908 = (stat64 *)0xf;\n            goto LAB_000133fd;\n          }" if (parenthesized_expression "(1 < (int)local_7f8)" ( (binary_expression "1 < (int)local_7f8" number_literal < (cast_expression "(int)local_7f8" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n            pr2serr(")\nexiting ...\n",psVar38,psVar22,psVar17);\n            local_908 = (stat64 *)0xf;\n            goto LAB_000133fd;\n          }" { (expression_statement "pr2serr(")\nexiting ...\n",psVar38,psVar22,psVar17);" (call_expression "pr2serr(")\nexiting ...\n",psVar38,psVar22,psVar17)" identifier (argument_list "(")\nexiting ...\n",psVar38,psVar22,psVar17)" ( (string_literal "")\nexiting ...\n"" " string_content escape_sequence string_content escape_sequence ") , identifier , identifier , identifier ))) ;) (expression_statement "local_908 = (stat64 *)0xf;" (assignment_expression "local_908 = (stat64 *)0xf" identifier = (cast_expression "(stat64 *)0xf" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (goto_statement "goto LAB_000133fd;" goto statement_identifier ;) })) (expression_statement "pr2serr(")\nzero pad and continue ...\n",psVar38,psVar22,psVar17);" (call_expression "pr2serr(")\nzero pad and continue ...\n",psVar38,psVar22,psVar17)" identifier (argument_list "(")\nzero pad and continue ...\n",psVar38,psVar22,psVar17)" ( (string_literal "")\nzero pad and continue ...\n"" " string_content escape_sequence string_content escape_sequence ") , identifier , identifier , identifier ))) ;) })) }) (else_clause "else {\n        uVar7 = (uint)psVar18 | local_7f8;\n        if (uVar7 != 0) {\n          pr2serr("DLEN > than bytes implied by sum of scatter list NUMs (%u)\n",psVar38,uVar7,uVar7\n                 );\n          if (1 < (int)psVar18) {\n            pr2serr("  num_lbard=%u, sum_num=%u actual_bs=%u",local_8f6,local_8ec,local_7d4);\n          }\n          if (local_7f8 != 0) goto LAB_000133f3;\n          goto LAB_00014208;\n        }\n        if ((psVar45 != (stat64 *)0x0) && (psVar45 != psVar38)) goto LAB_0001387e;\n      }" else (compound_statement "{\n        uVar7 = (uint)psVar18 | local_7f8;\n        if (uVar7 != 0) {\n          pr2serr("DLEN > than bytes implied by sum of scatter list NUMs (%u)\n",psVar38,uVar7,uVar7\n                 );\n          if (1 < (int)psVar18) {\n            pr2serr("  num_lbard=%u, sum_num=%u actual_bs=%u",local_8f6,local_8ec,local_7d4);\n          }\n          if (local_7f8 != 0) goto LAB_000133f3;\n          goto LAB_00014208;\n        }\n        if ((psVar45 != (stat64 *)0x0) && (psVar45 != psVar38)) goto LAB_0001387e;\n      }" { (expression_statement "uVar7 = (uint)psVar18 | local_7f8;" (assignment_expression "uVar7 = (uint)psVar18 | local_7f8" identifier = (binary_expression "(uint)psVar18 | local_7f8" (cast_expression "(uint)psVar18" ( (type_descriptor "uint" type_identifier) ) identifier) | identifier)) ;) (if_statement "if (uVar7 != 0) {\n          pr2serr("DLEN > than bytes implied by sum of scatter list NUMs (%u)\n",psVar38,uVar7,uVar7\n                 );\n          if (1 < (int)psVar18) {\n            pr2serr("  num_lbard=%u, sum_num=%u actual_bs=%u",local_8f6,local_8ec,local_7d4);\n          }\n          if (local_7f8 != 0) goto LAB_000133f3;\n          goto LAB_00014208;\n        }" if (parenthesized_expression "(uVar7 != 0)" ( (binary_expression "uVar7 != 0" identifier != number_literal) )) (compound_statement "{\n          pr2serr("DLEN > than bytes implied by sum of scatter list NUMs (%u)\n",psVar38,uVar7,uVar7\n                 );\n          if (1 < (int)psVar18) {\n            pr2serr("  num_lbard=%u, sum_num=%u actual_bs=%u",local_8f6,local_8ec,local_7d4);\n          }\n          if (local_7f8 != 0) goto LAB_000133f3;\n          goto LAB_00014208;\n        }" { (expression_statement "pr2serr("DLEN > than bytes implied by sum of scatter list NUMs (%u)\n",psVar38,uVar7,uVar7\n                 );" (call_expression "pr2serr("DLEN > than bytes implied by sum of scatter list NUMs (%u)\n",psVar38,uVar7,uVar7\n                 )" identifier (argument_list "("DLEN > than bytes implied by sum of scatter list NUMs (%u)\n",psVar38,uVar7,uVar7\n                 )" ( (string_literal ""DLEN > than bytes implied by sum of scatter list NUMs (%u)\n"" " string_content escape_sequence ") , identifier , identifier , identifier ))) ;) (if_statement "if (1 < (int)psVar18) {\n            pr2serr("  num_lbard=%u, sum_num=%u actual_bs=%u",local_8f6,local_8ec,local_7d4);\n          }" if (parenthesized_expression "(1 < (int)psVar18)" ( (binary_expression "1 < (int)psVar18" number_literal < (cast_expression "(int)psVar18" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n            pr2serr("  num_lbard=%u, sum_num=%u actual_bs=%u",local_8f6,local_8ec,local_7d4);\n          }" { (expression_statement "pr2serr("  num_lbard=%u, sum_num=%u actual_bs=%u",local_8f6,local_8ec,local_7d4);" (call_expression "pr2serr("  num_lbard=%u, sum_num=%u actual_bs=%u",local_8f6,local_8ec,local_7d4)" identifier (argument_list "("  num_lbard=%u, sum_num=%u actual_bs=%u",local_8f6,local_8ec,local_7d4)" ( (string_literal ""  num_lbard=%u, sum_num=%u actual_bs=%u"" " string_content ") , identifier , identifier , identifier ))) ;) })) (if_statement "if (local_7f8 != 0) goto LAB_000133f3;" if (parenthesized_expression "(local_7f8 != 0)" ( (binary_expression "local_7f8 != 0" identifier != number_literal) )) (goto_statement "goto LAB_000133f3;" goto statement_identifier ;)) (goto_statement "goto LAB_00014208;" goto statement_identifier ;) })) (if_statement "if ((psVar45 != (stat64 *)0x0) && (psVar45 != psVar38)) goto LAB_0001387e;" if (parenthesized_expression "((psVar45 != (stat64 *)0x0) && (psVar45 != psVar38))" ( (binary_expression "(psVar45 != (stat64 *)0x0) && (psVar45 != psVar38)" (parenthesized_expression "(psVar45 != (stat64 *)0x0)" ( (binary_expression "psVar45 != (stat64 *)0x0" identifier != (cast_expression "(stat64 *)0x0" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) && (parenthesized_expression "(psVar45 != psVar38)" ( (binary_expression "psVar45 != psVar38" identifier != identifier) ))) )) (goto_statement "goto LAB_0001387e;" goto statement_identifier ;)) }))) (expression_statement "local_908 = (stat64 *)FUN_00014a80(&DAT_00017360);" (assignment_expression "local_908 = (stat64 *)FUN_00014a80(&DAT_00017360)" identifier = (cast_expression "(stat64 *)FUN_00014a80(&DAT_00017360)" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_00014a80(&DAT_00017360)" identifier (argument_list "(&DAT_00017360)" ( (pointer_expression "&DAT_00017360" & identifier) ))))) ;) }) (else_clause "else {\nLAB_00013dcd:\n      psVar38 = local_7d4;\n      if (local_7e0 != 0) {\n        psVar38 = (stat64 *)((local_7e0 + 1) * 0x20);\n        if (local_908 < psVar38) {\n          pr2serr("SF not long enough (%u bytes) to provide RD (%u) %ss\n",local_908,psVar38,\n                  "LBA range descriptor");\n          local_908 = (stat64 *)0xf;\n          goto LAB_000133fd;\n        }\n        psVar38 = (stat64 *)\n                  ((((uint)psVar38 / (uint)local_7d4 + 1) -\n                   (uint)((uint)psVar38 % (uint)local_7d4 == 0)) * (int)local_7d4);\n      }\n      local_918 = local_7d4;\n      if (local_93c != (stat64 *)0x0) {\n        local_918 = (stat64 *)\n                    ((((uint)local_93c / (uint)local_7d4 + 1) -\n                     (uint)((uint)local_93c % (uint)local_7d4 == 0)) * (int)local_7d4);\n      }\n      psVar25 = (stat64 *)\n                sg_memalign((undefined *)((int)&psVar38->st_dev + (int)&local_918->st_dev),0,\n                            &local_8e8,0);\n      if (psVar25 == (stat64 *)0x0) {\nLAB_00013fb3:\n        pcVar15 = "unable to allocate aligned memory for scatterlist+data\n";\nLAB_00013fbc:\n        pr2serr(pcVar15);\n        local_908 = (stat64 *)sg_convert_errno(0xc);\n        goto LAB_000133fd;\n      }\n      local_908 = (stat64 *)FUN_00014a80(&DAT_00017365);\n      if (local_908 != (stat64 *)0x0) goto LAB_000133fd;\n      psVar17 = (stat64 *)local_8ec;\n      psVar22 = extraout_ECX_08;\n      psVar8 = extraout_ECX_08;\n      cVar6 = FUN_000146a0(&local_8f6,psVar17,extraout_ECX_08,extraout_ECX_08);\n      if (cVar6 == '\0') goto LAB_000133f3;\n      if (local_7e0 != local_8f6) {\n        pr2serr("Try again with --scattered=%u\n",local_8f6,extraout_EDX_05,extraout_EDX_05);\n        local_908 = (stat64 *)0xf;\n        goto LAB_000133fd;\n      }\n      if (local_918 < (stat64 *)((int)local_7d4 * (int)local_8ec)) {\n        psVar9 = (stat64 *)\n                 sg_memalign((undefined *)\n                             ((int)&psVar38->st_dev +\n                             (int)&((stat64 *)((int)local_7d4 * (int)local_8ec))->st_dev),0,\n                             &local_8e4,0);\n        if (psVar9 == (stat64 *)0x0) goto LAB_00014273;\n        psVar22 = psVar38;\n        psVar8 = psVar9;\n        memcpy(psVar9,psVar25,(size_t)psVar38);\n        psVar17 = psVar25;\n        free(local_8e8);\n        local_8e8 = local_8e4;\n        psVar25 = psVar9;\n      }\n      if ((local_93c != psVar38) && (psVar18 != (stat64 *)0x0 || local_7f8 != 0)) {\n        psVar22 = (stat64 *)&DAT_000170dd;\n        if (local_93c <= psVar38) {\n          psVar22 = (stat64 *)&DAT_00017110;\n        }\n        psVar8 = psVar38;\n        pr2serr("IF length (%u) %s \'sum_num\' bytes (%u), ",local_93c,psVar22,psVar38);\n        if (1 < (int)local_7f8) {\n          pr2serr("exiting (strict=%d)\n",local_7f8,psVar38,psVar38);\n          local_908 = (stat64 *)0xf;\n          goto LAB_000133fd;\n        }\n        pr2serr("continuing ...\n",local_93c,psVar22,psVar8);\n        psVar17 = local_93c;\n      }\n      local_908 = (stat64 *)FUN_00014a80(&DAT_0001738d,psVar17,psVar22,psVar8);\n    }" else (compound_statement "{\nLAB_00013dcd:\n      psVar38 = local_7d4;\n      if (local_7e0 != 0) {\n        psVar38 = (stat64 *)((local_7e0 + 1) * 0x20);\n        if (local_908 < psVar38) {\n          pr2serr("SF not long enough (%u bytes) to provide RD (%u) %ss\n",local_908,psVar38,\n                  "LBA range descriptor");\n          local_908 = (stat64 *)0xf;\n          goto LAB_000133fd;\n        }\n        psVar38 = (stat64 *)\n                  ((((uint)psVar38 / (uint)local_7d4 + 1) -\n                   (uint)((uint)psVar38 % (uint)local_7d4 == 0)) * (int)local_7d4);\n      }\n      local_918 = local_7d4;\n      if (local_93c != (stat64 *)0x0) {\n        local_918 = (stat64 *)\n                    ((((uint)local_93c / (uint)local_7d4 + 1) -\n                     (uint)((uint)local_93c % (uint)local_7d4 == 0)) * (int)local_7d4);\n      }\n      psVar25 = (stat64 *)\n                sg_memalign((undefined *)((int)&psVar38->st_dev + (int)&local_918->st_dev),0,\n                            &local_8e8,0);\n      if (psVar25 == (stat64 *)0x0) {\nLAB_00013fb3:\n        pcVar15 = "unable to allocate aligned memory for scatterlist+data\n";\nLAB_00013fbc:\n        pr2serr(pcVar15);\n        local_908 = (stat64 *)sg_convert_errno(0xc);\n        goto LAB_000133fd;\n      }\n      local_908 = (stat64 *)FUN_00014a80(&DAT_00017365);\n      if (local_908 != (stat64 *)0x0) goto LAB_000133fd;\n      psVar17 = (stat64 *)local_8ec;\n      psVar22 = extraout_ECX_08;\n      psVar8 = extraout_ECX_08;\n      cVar6 = FUN_000146a0(&local_8f6,psVar17,extraout_ECX_08,extraout_ECX_08);\n      if (cVar6 == '\0') goto LAB_000133f3;\n      if (local_7e0 != local_8f6) {\n        pr2serr("Try again with --scattered=%u\n",local_8f6,extraout_EDX_05,extraout_EDX_05);\n        local_908 = (stat64 *)0xf;\n        goto LAB_000133fd;\n      }\n      if (local_918 < (stat64 *)((int)local_7d4 * (int)local_8ec)) {\n        psVar9 = (stat64 *)\n                 sg_memalign((undefined *)\n                             ((int)&psVar38->st_dev +\n                             (int)&((stat64 *)((int)local_7d4 * (int)local_8ec))->st_dev),0,\n                             &local_8e4,0);\n        if (psVar9 == (stat64 *)0x0) goto LAB_00014273;\n        psVar22 = psVar38;\n        psVar8 = psVar9;\n        memcpy(psVar9,psVar25,(size_t)psVar38);\n        psVar17 = psVar25;\n        free(local_8e8);\n        local_8e8 = local_8e4;\n        psVar25 = psVar9;\n      }\n      if ((local_93c != psVar38) && (psVar18 != (stat64 *)0x0 || local_7f8 != 0)) {\n        psVar22 = (stat64 *)&DAT_000170dd;\n        if (local_93c <= psVar38) {\n          psVar22 = (stat64 *)&DAT_00017110;\n        }\n        psVar8 = psVar38;\n        pr2serr("IF length (%u) %s \'sum_num\' bytes (%u), ",local_93c,psVar22,psVar38);\n        if (1 < (int)local_7f8) {\n          pr2serr("exiting (strict=%d)\n",local_7f8,psVar38,psVar38);\n          local_908 = (stat64 *)0xf;\n          goto LAB_000133fd;\n        }\n        pr2serr("continuing ...\n",local_93c,psVar22,psVar8);\n        psVar17 = local_93c;\n      }\n      local_908 = (stat64 *)FUN_00014a80(&DAT_0001738d,psVar17,psVar22,psVar8);\n    }" { (labeled_statement "LAB_00013dcd:\n      psVar38 = local_7d4;" statement_identifier : (expression_statement "psVar38 = local_7d4;" (assignment_expression "psVar38 = local_7d4" identifier = identifier) ;)) (if_statement "if (local_7e0 != 0) {\n        psVar38 = (stat64 *)((local_7e0 + 1) * 0x20);\n        if (local_908 < psVar38) {\n          pr2serr("SF not long enough (%u bytes) to provide RD (%u) %ss\n",local_908,psVar38,\n                  "LBA range descriptor");\n          local_908 = (stat64 *)0xf;\n          goto LAB_000133fd;\n        }\n        psVar38 = (stat64 *)\n                  ((((uint)psVar38 / (uint)local_7d4 + 1) -\n                   (uint)((uint)psVar38 % (uint)local_7d4 == 0)) * (int)local_7d4);\n      }" if (parenthesized_expression "(local_7e0 != 0)" ( (binary_expression "local_7e0 != 0" identifier != number_literal) )) (compound_statement "{\n        psVar38 = (stat64 *)((local_7e0 + 1) * 0x20);\n        if (local_908 < psVar38) {\n          pr2serr("SF not long enough (%u bytes) to provide RD (%u) %ss\n",local_908,psVar38,\n                  "LBA range descriptor");\n          local_908 = (stat64 *)0xf;\n          goto LAB_000133fd;\n        }\n        psVar38 = (stat64 *)\n                  ((((uint)psVar38 / (uint)local_7d4 + 1) -\n                   (uint)((uint)psVar38 % (uint)local_7d4 == 0)) * (int)local_7d4);\n      }" { (expression_statement "psVar38 = (stat64 *)((local_7e0 + 1) * 0x20);" (assignment_expression "psVar38 = (stat64 *)((local_7e0 + 1) * 0x20)" identifier = (cast_expression "(stat64 *)((local_7e0 + 1) * 0x20)" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((local_7e0 + 1) * 0x20)" ( (binary_expression "(local_7e0 + 1) * 0x20" (parenthesized_expression "(local_7e0 + 1)" ( (binary_expression "local_7e0 + 1" identifier + number_literal) )) * number_literal) )))) ;) (if_statement "if (local_908 < psVar38) {\n          pr2serr("SF not long enough (%u bytes) to provide RD (%u) %ss\n",local_908,psVar38,\n                  "LBA range descriptor");\n          local_908 = (stat64 *)0xf;\n          goto LAB_000133fd;\n        }" if (parenthesized_expression "(local_908 < psVar38)" ( (binary_expression "local_908 < psVar38" identifier < identifier) )) (compound_statement "{\n          pr2serr("SF not long enough (%u bytes) to provide RD (%u) %ss\n",local_908,psVar38,\n                  "LBA range descriptor");\n          local_908 = (stat64 *)0xf;\n          goto LAB_000133fd;\n        }" { (expression_statement "pr2serr("SF not long enough (%u bytes) to provide RD (%u) %ss\n",local_908,psVar38,\n                  "LBA range descriptor");" (call_expression "pr2serr("SF not long enough (%u bytes) to provide RD (%u) %ss\n",local_908,psVar38,\n                  "LBA range descriptor")" identifier (argument_list "("SF not long enough (%u bytes) to provide RD (%u) %ss\n",local_908,psVar38,\n                  "LBA range descriptor")" ( (string_literal ""SF not long enough (%u bytes) to provide RD (%u) %ss\n"" " string_content escape_sequence ") , identifier , identifier , (string_literal ""LBA range descriptor"" " string_content ") ))) ;) (expression_statement "local_908 = (stat64 *)0xf;" (assignment_expression "local_908 = (stat64 *)0xf" identifier = (cast_expression "(stat64 *)0xf" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (goto_statement "goto LAB_000133fd;" goto statement_identifier ;) })) (expression_statement "psVar38 = (stat64 *)\n                  ((((uint)psVar38 / (uint)local_7d4 + 1) -\n                   (uint)((uint)psVar38 % (uint)local_7d4 == 0)) * (int)local_7d4);" (assignment_expression "psVar38 = (stat64 *)\n                  ((((uint)psVar38 / (uint)local_7d4 + 1) -\n                   (uint)((uint)psVar38 % (uint)local_7d4 == 0)) * (int)local_7d4)" identifier = (cast_expression "(stat64 *)\n                  ((((uint)psVar38 / (uint)local_7d4 + 1) -\n                   (uint)((uint)psVar38 % (uint)local_7d4 == 0)) * (int)local_7d4)" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((((uint)psVar38 / (uint)local_7d4 + 1) -\n                   (uint)((uint)psVar38 % (uint)local_7d4 == 0)) * (int)local_7d4)" ( (binary_expression "(((uint)psVar38 / (uint)local_7d4 + 1) -\n                   (uint)((uint)psVar38 % (uint)local_7d4 == 0)) * (int)local_7d4" (parenthesized_expression "(((uint)psVar38 / (uint)local_7d4 + 1) -\n                   (uint)((uint)psVar38 % (uint)local_7d4 == 0))" ( (binary_expression "((uint)psVar38 / (uint)local_7d4 + 1) -\n                   (uint)((uint)psVar38 % (uint)local_7d4 == 0)" (parenthesized_expression "((uint)psVar38 / (uint)local_7d4 + 1)" ( (binary_expression "(uint)psVar38 / (uint)local_7d4 + 1" (binary_expression "(uint)psVar38 / (uint)local_7d4" (cast_expression "(uint)psVar38" ( (type_descriptor "uint" type_identifier) ) identifier) / (cast_expression "(uint)local_7d4" ( (type_descriptor "uint" type_identifier) ) identifier)) + number_literal) )) - (call_expression "(uint)((uint)psVar38 % (uint)local_7d4 == 0)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((uint)psVar38 % (uint)local_7d4 == 0)" ( (binary_expression "(uint)psVar38 % (uint)local_7d4 == 0" (binary_expression "(uint)psVar38 % (uint)local_7d4" (cast_expression "(uint)psVar38" ( (type_descriptor "uint" type_identifier) ) identifier) % (cast_expression "(uint)local_7d4" ( (type_descriptor "uint" type_identifier) ) identifier)) == number_literal) )))) )) * (cast_expression "(int)local_7d4" ( (type_descriptor "int" primitive_type) ) identifier)) )))) ;) })) (expression_statement "local_918 = local_7d4;" (assignment_expression "local_918 = local_7d4" identifier = identifier) ;) (if_statement "if (local_93c != (stat64 *)0x0) {\n        local_918 = (stat64 *)\n                    ((((uint)local_93c / (uint)local_7d4 + 1) -\n                     (uint)((uint)local_93c % (uint)local_7d4 == 0)) * (int)local_7d4);\n      }" if (parenthesized_expression "(local_93c != (stat64 *)0x0)" ( (binary_expression "local_93c != (stat64 *)0x0" identifier != (cast_expression "(stat64 *)0x0" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        local_918 = (stat64 *)\n                    ((((uint)local_93c / (uint)local_7d4 + 1) -\n                     (uint)((uint)local_93c % (uint)local_7d4 == 0)) * (int)local_7d4);\n      }" { (expression_statement "local_918 = (stat64 *)\n                    ((((uint)local_93c / (uint)local_7d4 + 1) -\n                     (uint)((uint)local_93c % (uint)local_7d4 == 0)) * (int)local_7d4);" (assignment_expression "local_918 = (stat64 *)\n                    ((((uint)local_93c / (uint)local_7d4 + 1) -\n                     (uint)((uint)local_93c % (uint)local_7d4 == 0)) * (int)local_7d4)" identifier = (cast_expression "(stat64 *)\n                    ((((uint)local_93c / (uint)local_7d4 + 1) -\n                     (uint)((uint)local_93c % (uint)local_7d4 == 0)) * (int)local_7d4)" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((((uint)local_93c / (uint)local_7d4 + 1) -\n                     (uint)((uint)local_93c % (uint)local_7d4 == 0)) * (int)local_7d4)" ( (binary_expression "(((uint)local_93c / (uint)local_7d4 + 1) -\n                     (uint)((uint)local_93c % (uint)local_7d4 == 0)) * (int)local_7d4" (parenthesized_expression "(((uint)local_93c / (uint)local_7d4 + 1) -\n                     (uint)((uint)local_93c % (uint)local_7d4 == 0))" ( (binary_expression "((uint)local_93c / (uint)local_7d4 + 1) -\n                     (uint)((uint)local_93c % (uint)local_7d4 == 0)" (parenthesized_expression "((uint)local_93c / (uint)local_7d4 + 1)" ( (binary_expression "(uint)local_93c / (uint)local_7d4 + 1" (binary_expression "(uint)local_93c / (uint)local_7d4" (cast_expression "(uint)local_93c" ( (type_descriptor "uint" type_identifier) ) identifier) / (cast_expression "(uint)local_7d4" ( (type_descriptor "uint" type_identifier) ) identifier)) + number_literal) )) - (call_expression "(uint)((uint)local_93c % (uint)local_7d4 == 0)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((uint)local_93c % (uint)local_7d4 == 0)" ( (binary_expression "(uint)local_93c % (uint)local_7d4 == 0" (binary_expression "(uint)local_93c % (uint)local_7d4" (cast_expression "(uint)local_93c" ( (type_descriptor "uint" type_identifier) ) identifier) % (cast_expression "(uint)local_7d4" ( (type_descriptor "uint" type_identifier) ) identifier)) == number_literal) )))) )) * (cast_expression "(int)local_7d4" ( (type_descriptor "int" primitive_type) ) identifier)) )))) ;) })) (expression_statement "psVar25 = (stat64 *)\n                sg_memalign((undefined *)((int)&psVar38->st_dev + (int)&local_918->st_dev),0,\n                            &local_8e8,0);" (assignment_expression "psVar25 = (stat64 *)\n                sg_memalign((undefined *)((int)&psVar38->st_dev + (int)&local_918->st_dev),0,\n                            &local_8e8,0)" identifier = (cast_expression "(stat64 *)\n                sg_memalign((undefined *)((int)&psVar38->st_dev + (int)&local_918->st_dev),0,\n                            &local_8e8,0)" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "sg_memalign((undefined *)((int)&psVar38->st_dev + (int)&local_918->st_dev),0,\n                            &local_8e8,0)" identifier (argument_list "((undefined *)((int)&psVar38->st_dev + (int)&local_918->st_dev),0,\n                            &local_8e8,0)" ( (cast_expression "(undefined *)((int)&psVar38->st_dev + (int)&local_918->st_dev)" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&psVar38->st_dev + (int)&local_918->st_dev)" ( (binary_expression "(int)&psVar38->st_dev + (int)&local_918->st_dev" (cast_expression "(int)&psVar38->st_dev" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&psVar38->st_dev" & (field_expression "psVar38->st_dev" identifier -> field_identifier))) + (cast_expression "(int)&local_918->st_dev" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&local_918->st_dev" & (field_expression "local_918->st_dev" identifier -> field_identifier)))) ))) , number_literal , (pointer_expression "&local_8e8" & identifier) , number_literal ))))) ;) (if_statement "if (psVar25 == (stat64 *)0x0) {\nLAB_00013fb3:\n        pcVar15 = "unable to allocate aligned memory for scatterlist+data\n";\nLAB_00013fbc:\n        pr2serr(pcVar15);\n        local_908 = (stat64 *)sg_convert_errno(0xc);\n        goto LAB_000133fd;\n      }" if (parenthesized_expression "(psVar25 == (stat64 *)0x0)" ( (binary_expression "psVar25 == (stat64 *)0x0" identifier == (cast_expression "(stat64 *)0x0" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\nLAB_00013fb3:\n        pcVar15 = "unable to allocate aligned memory for scatterlist+data\n";\nLAB_00013fbc:\n        pr2serr(pcVar15);\n        local_908 = (stat64 *)sg_convert_errno(0xc);\n        goto LAB_000133fd;\n      }" { (labeled_statement "LAB_00013fb3:\n        pcVar15 = "unable to allocate aligned memory for scatterlist+data\n";" statement_identifier : (expression_statement "pcVar15 = "unable to allocate aligned memory for scatterlist+data\n";" (assignment_expression "pcVar15 = "unable to allocate aligned memory for scatterlist+data\n"" identifier = (string_literal ""unable to allocate aligned memory for scatterlist+data\n"" " string_content escape_sequence ")) ;)) (labeled_statement "LAB_00013fbc:\n        pr2serr(pcVar15);" statement_identifier : (expression_statement "pr2serr(pcVar15);" (call_expression "pr2serr(pcVar15)" identifier (argument_list "(pcVar15)" ( identifier ))) ;)) (expression_statement "local_908 = (stat64 *)sg_convert_errno(0xc);" (assignment_expression "local_908 = (stat64 *)sg_convert_errno(0xc)" identifier = (cast_expression "(stat64 *)sg_convert_errno(0xc)" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "sg_convert_errno(0xc)" identifier (argument_list "(0xc)" ( number_literal ))))) ;) (goto_statement "goto LAB_000133fd;" goto statement_identifier ;) })) (expression_statement "local_908 = (stat64 *)FUN_00014a80(&DAT_00017365);" (assignment_expression "local_908 = (stat64 *)FUN_00014a80(&DAT_00017365)" identifier = (cast_expression "(stat64 *)FUN_00014a80(&DAT_00017365)" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_00014a80(&DAT_00017365)" identifier (argument_list "(&DAT_00017365)" ( (pointer_expression "&DAT_00017365" & identifier) ))))) ;) (if_statement "if (local_908 != (stat64 *)0x0) goto LAB_000133fd;" if (parenthesized_expression "(local_908 != (stat64 *)0x0)" ( (binary_expression "local_908 != (stat64 *)0x0" identifier != (cast_expression "(stat64 *)0x0" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_000133fd;" goto statement_identifier ;)) (expression_statement "psVar17 = (stat64 *)local_8ec;" (assignment_expression "psVar17 = (stat64 *)local_8ec" identifier = (cast_expression "(stat64 *)local_8ec" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "psVar22 = extraout_ECX_08;" (assignment_expression "psVar22 = extraout_ECX_08" identifier = identifier) ;) (expression_statement "psVar8 = extraout_ECX_08;" (assignment_expression "psVar8 = extraout_ECX_08" identifier = identifier) ;) (expression_statement "cVar6 = FUN_000146a0(&local_8f6,psVar17,extraout_ECX_08,extraout_ECX_08);" (assignment_expression "cVar6 = FUN_000146a0(&local_8f6,psVar17,extraout_ECX_08,extraout_ECX_08)" identifier = (call_expression "FUN_000146a0(&local_8f6,psVar17,extraout_ECX_08,extraout_ECX_08)" identifier (argument_list "(&local_8f6,psVar17,extraout_ECX_08,extraout_ECX_08)" ( (pointer_expression "&local_8f6" & identifier) , identifier , identifier , identifier )))) ;) (if_statement "if (cVar6 == '\0') goto LAB_000133f3;" if (parenthesized_expression "(cVar6 == '\0')" ( (binary_expression "cVar6 == '\0'" identifier == (char_literal "'\0'" ' escape_sequence ')) )) (goto_statement "goto LAB_000133f3;" goto statement_identifier ;)) (if_statement "if (local_7e0 != local_8f6) {\n        pr2serr("Try again with --scattered=%u\n",local_8f6,extraout_EDX_05,extraout_EDX_05);\n        local_908 = (stat64 *)0xf;\n        goto LAB_000133fd;\n      }" if (parenthesized_expression "(local_7e0 != local_8f6)" ( (binary_expression "local_7e0 != local_8f6" identifier != identifier) )) (compound_statement "{\n        pr2serr("Try again with --scattered=%u\n",local_8f6,extraout_EDX_05,extraout_EDX_05);\n        local_908 = (stat64 *)0xf;\n        goto LAB_000133fd;\n      }" { (expression_statement "pr2serr("Try again with --scattered=%u\n",local_8f6,extraout_EDX_05,extraout_EDX_05);" (call_expression "pr2serr("Try again with --scattered=%u\n",local_8f6,extraout_EDX_05,extraout_EDX_05)" identifier (argument_list "("Try again with --scattered=%u\n",local_8f6,extraout_EDX_05,extraout_EDX_05)" ( (string_literal ""Try again with --scattered=%u\n"" " string_content escape_sequence ") , identifier , identifier , identifier ))) ;) (expression_statement "local_908 = (stat64 *)0xf;" (assignment_expression "local_908 = (stat64 *)0xf" identifier = (cast_expression "(stat64 *)0xf" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (goto_statement "goto LAB_000133fd;" goto statement_identifier ;) })) (if_statement "if (local_918 < (stat64 *)((int)local_7d4 * (int)local_8ec)) {\n        psVar9 = (stat64 *)\n                 sg_memalign((undefined *)\n                             ((int)&psVar38->st_dev +\n                             (int)&((stat64 *)((int)local_7d4 * (int)local_8ec))->st_dev),0,\n                             &local_8e4,0);\n        if (psVar9 == (stat64 *)0x0) goto LAB_00014273;\n        psVar22 = psVar38;\n        psVar8 = psVar9;\n        memcpy(psVar9,psVar25,(size_t)psVar38);\n        psVar17 = psVar25;\n        free(local_8e8);\n        local_8e8 = local_8e4;\n        psVar25 = psVar9;\n      }" if (parenthesized_expression "(local_918 < (stat64 *)((int)local_7d4 * (int)local_8ec))" ( (binary_expression "local_918 < (stat64 *)((int)local_7d4 * (int)local_8ec)" identifier < (cast_expression "(stat64 *)((int)local_7d4 * (int)local_8ec)" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_7d4 * (int)local_8ec)" ( (binary_expression "(int)local_7d4 * (int)local_8ec" (cast_expression "(int)local_7d4" ( (type_descriptor "int" primitive_type) ) identifier) * (cast_expression "(int)local_8ec" ( (type_descriptor "int" primitive_type) ) identifier)) )))) )) (compound_statement "{\n        psVar9 = (stat64 *)\n                 sg_memalign((undefined *)\n                             ((int)&psVar38->st_dev +\n                             (int)&((stat64 *)((int)local_7d4 * (int)local_8ec))->st_dev),0,\n                             &local_8e4,0);\n        if (psVar9 == (stat64 *)0x0) goto LAB_00014273;\n        psVar22 = psVar38;\n        psVar8 = psVar9;\n        memcpy(psVar9,psVar25,(size_t)psVar38);\n        psVar17 = psVar25;\n        free(local_8e8);\n        local_8e8 = local_8e4;\n        psVar25 = psVar9;\n      }" { (expression_statement "psVar9 = (stat64 *)\n                 sg_memalign((undefined *)\n                             ((int)&psVar38->st_dev +\n                             (int)&((stat64 *)((int)local_7d4 * (int)local_8ec))->st_dev),0,\n                             &local_8e4,0);" (assignment_expression "psVar9 = (stat64 *)\n                 sg_memalign((undefined *)\n                             ((int)&psVar38->st_dev +\n                             (int)&((stat64 *)((int)local_7d4 * (int)local_8ec))->st_dev),0,\n                             &local_8e4,0)" identifier = (cast_expression "(stat64 *)\n                 sg_memalign((undefined *)\n                             ((int)&psVar38->st_dev +\n                             (int)&((stat64 *)((int)local_7d4 * (int)local_8ec))->st_dev),0,\n                             &local_8e4,0)" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "sg_memalign((undefined *)\n                             ((int)&psVar38->st_dev +\n                             (int)&((stat64 *)((int)local_7d4 * (int)local_8ec))->st_dev),0,\n                             &local_8e4,0)" identifier (argument_list "((undefined *)\n                             ((int)&psVar38->st_dev +\n                             (int)&((stat64 *)((int)local_7d4 * (int)local_8ec))->st_dev),0,\n                             &local_8e4,0)" ( (cast_expression "(undefined *)\n                             ((int)&psVar38->st_dev +\n                             (int)&((stat64 *)((int)local_7d4 * (int)local_8ec))->st_dev)" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&psVar38->st_dev +\n                             (int)&((stat64 *)((int)local_7d4 * (int)local_8ec))->st_dev)" ( (binary_expression "(int)&psVar38->st_dev +\n                             (int)&((stat64 *)((int)local_7d4 * (int)local_8ec))->st_dev" (cast_expression "(int)&psVar38->st_dev" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&psVar38->st_dev" & (field_expression "psVar38->st_dev" identifier -> field_identifier))) + (cast_expression "(int)&((stat64 *)((int)local_7d4 * (int)local_8ec))->st_dev" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&((stat64 *)((int)local_7d4 * (int)local_8ec))->st_dev" & (field_expression "((stat64 *)((int)local_7d4 * (int)local_8ec))->st_dev" (parenthesized_expression "((stat64 *)((int)local_7d4 * (int)local_8ec))" ( (cast_expression "(stat64 *)((int)local_7d4 * (int)local_8ec)" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_7d4 * (int)local_8ec)" ( (binary_expression "(int)local_7d4 * (int)local_8ec" (cast_expression "(int)local_7d4" ( (type_descriptor "int" primitive_type) ) identifier) * (cast_expression "(int)local_8ec" ( (type_descriptor "int" primitive_type) ) identifier)) ))) )) -> field_identifier)))) ))) , number_literal , (pointer_expression "&local_8e4" & identifier) , number_literal ))))) ;) (if_statement "if (psVar9 == (stat64 *)0x0) goto LAB_00014273;" if (parenthesized_expression "(psVar9 == (stat64 *)0x0)" ( (binary_expression "psVar9 == (stat64 *)0x0" identifier == (cast_expression "(stat64 *)0x0" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_00014273;" goto statement_identifier ;)) (expression_statement "psVar22 = psVar38;" (assignment_expression "psVar22 = psVar38" identifier = identifier) ;) (expression_statement "psVar8 = psVar9;" (assignment_expression "psVar8 = psVar9" identifier = identifier) ;) (expression_statement "memcpy(psVar9,psVar25,(size_t)psVar38);" (call_expression "memcpy(psVar9,psVar25,(size_t)psVar38)" identifier (argument_list "(psVar9,psVar25,(size_t)psVar38)" ( identifier , identifier , (cast_expression "(size_t)psVar38" ( (type_descriptor "size_t" primitive_type) ) identifier) ))) ;) (expression_statement "psVar17 = psVar25;" (assignment_expression "psVar17 = psVar25" identifier = identifier) ;) (expression_statement "free(local_8e8);" (call_expression "free(local_8e8)" identifier (argument_list "(local_8e8)" ( identifier ))) ;) (expression_statement "local_8e8 = local_8e4;" (assignment_expression "local_8e8 = local_8e4" identifier = identifier) ;) (expression_statement "psVar25 = psVar9;" (assignment_expression "psVar25 = psVar9" identifier = identifier) ;) })) (if_statement "if ((local_93c != psVar38) && (psVar18 != (stat64 *)0x0 || local_7f8 != 0)) {\n        psVar22 = (stat64 *)&DAT_000170dd;\n        if (local_93c <= psVar38) {\n          psVar22 = (stat64 *)&DAT_00017110;\n        }\n        psVar8 = psVar38;\n        pr2serr("IF length (%u) %s \'sum_num\' bytes (%u), ",local_93c,psVar22,psVar38);\n        if (1 < (int)local_7f8) {\n          pr2serr("exiting (strict=%d)\n",local_7f8,psVar38,psVar38);\n          local_908 = (stat64 *)0xf;\n          goto LAB_000133fd;\n        }\n        pr2serr("continuing ...\n",local_93c,psVar22,psVar8);\n        psVar17 = local_93c;\n      }" if (parenthesized_expression "((local_93c != psVar38) && (psVar18 != (stat64 *)0x0 || local_7f8 != 0))" ( (binary_expression "(local_93c != psVar38) && (psVar18 != (stat64 *)0x0 || local_7f8 != 0)" (parenthesized_expression "(local_93c != psVar38)" ( (binary_expression "local_93c != psVar38" identifier != identifier) )) && (parenthesized_expression "(psVar18 != (stat64 *)0x0 || local_7f8 != 0)" ( (binary_expression "psVar18 != (stat64 *)0x0 || local_7f8 != 0" (binary_expression "psVar18 != (stat64 *)0x0" identifier != (cast_expression "(stat64 *)0x0" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) || (binary_expression "local_7f8 != 0" identifier != number_literal)) ))) )) (compound_statement "{\n        psVar22 = (stat64 *)&DAT_000170dd;\n        if (local_93c <= psVar38) {\n          psVar22 = (stat64 *)&DAT_00017110;\n        }\n        psVar8 = psVar38;\n        pr2serr("IF length (%u) %s \'sum_num\' bytes (%u), ",local_93c,psVar22,psVar38);\n        if (1 < (int)local_7f8) {\n          pr2serr("exiting (strict=%d)\n",local_7f8,psVar38,psVar38);\n          local_908 = (stat64 *)0xf;\n          goto LAB_000133fd;\n        }\n        pr2serr("continuing ...\n",local_93c,psVar22,psVar8);\n        psVar17 = local_93c;\n      }" { (expression_statement "psVar22 = (stat64 *)&DAT_000170dd;" (assignment_expression "psVar22 = (stat64 *)&DAT_000170dd" identifier = (cast_expression "(stat64 *)&DAT_000170dd" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&DAT_000170dd" & identifier))) ;) (if_statement "if (local_93c <= psVar38) {\n          psVar22 = (stat64 *)&DAT_00017110;\n        }" if (parenthesized_expression "(local_93c <= psVar38)" ( (binary_expression "local_93c <= psVar38" identifier <= identifier) )) (compound_statement "{\n          psVar22 = (stat64 *)&DAT_00017110;\n        }" { (expression_statement "psVar22 = (stat64 *)&DAT_00017110;" (assignment_expression "psVar22 = (stat64 *)&DAT_00017110" identifier = (cast_expression "(stat64 *)&DAT_00017110" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&DAT_00017110" & identifier))) ;) })) (expression_statement "psVar8 = psVar38;" (assignment_expression "psVar8 = psVar38" identifier = identifier) ;) (expression_statement "pr2serr("IF length (%u) %s \'sum_num\' bytes (%u), ",local_93c,psVar22,psVar38);" (call_expression "pr2serr("IF length (%u) %s \'sum_num\' bytes (%u), ",local_93c,psVar22,psVar38)" identifier (argument_list "("IF length (%u) %s \'sum_num\' bytes (%u), ",local_93c,psVar22,psVar38)" ( (string_literal ""IF length (%u) %s \'sum_num\' bytes (%u), "" " string_content escape_sequence string_content escape_sequence string_content ") , identifier , identifier , identifier ))) ;) (if_statement "if (1 < (int)local_7f8) {\n          pr2serr("exiting (strict=%d)\n",local_7f8,psVar38,psVar38);\n          local_908 = (stat64 *)0xf;\n          goto LAB_000133fd;\n        }" if (parenthesized_expression "(1 < (int)local_7f8)" ( (binary_expression "1 < (int)local_7f8" number_literal < (cast_expression "(int)local_7f8" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n          pr2serr("exiting (strict=%d)\n",local_7f8,psVar38,psVar38);\n          local_908 = (stat64 *)0xf;\n          goto LAB_000133fd;\n        }" { (expression_statement "pr2serr("exiting (strict=%d)\n",local_7f8,psVar38,psVar38);" (call_expression "pr2serr("exiting (strict=%d)\n",local_7f8,psVar38,psVar38)" identifier (argument_list "("exiting (strict=%d)\n",local_7f8,psVar38,psVar38)" ( (string_literal ""exiting (strict=%d)\n"" " string_content escape_sequence ") , identifier , identifier , identifier ))) ;) (expression_statement "local_908 = (stat64 *)0xf;" (assignment_expression "local_908 = (stat64 *)0xf" identifier = (cast_expression "(stat64 *)0xf" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (goto_statement "goto LAB_000133fd;" goto statement_identifier ;) })) (expression_statement "pr2serr("continuing ...\n",local_93c,psVar22,psVar8);" (call_expression "pr2serr("continuing ...\n",local_93c,psVar22,psVar8)" identifier (argument_list "("continuing ...\n",local_93c,psVar22,psVar8)" ( (string_literal ""continuing ...\n"" " string_content escape_sequence ") , identifier , identifier , identifier ))) ;) (expression_statement "psVar17 = local_93c;" (assignment_expression "psVar17 = local_93c" identifier = identifier) ;) })) (expression_statement "local_908 = (stat64 *)FUN_00014a80(&DAT_0001738d,psVar17,psVar22,psVar8);" (assignment_expression "local_908 = (stat64 *)FUN_00014a80(&DAT_0001738d,psVar17,psVar22,psVar8)" identifier = (cast_expression "(stat64 *)FUN_00014a80(&DAT_0001738d,psVar17,psVar22,psVar8)" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_00014a80(&DAT_0001738d,psVar17,psVar22,psVar8)" identifier (argument_list "(&DAT_0001738d,psVar17,psVar22,psVar8)" ( (pointer_expression "&DAT_0001738d" & identifier) , identifier , identifier , identifier ))))) ;) }))) (if_statement "if (local_908 != (stat64 *)0x0) goto LAB_000133fd;" if (parenthesized_expression "(local_908 != (stat64 *)0x0)" ( (binary_expression "local_908 != (stat64 *)0x0" identifier != (cast_expression "(stat64 *)0x0" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_000133fd;" goto statement_identifier ;)) (expression_statement "local_7a4 = (stat64 *)((int)local_8ec * (int)local_7d4);" (assignment_expression "local_7a4 = (stat64 *)((int)local_8ec * (int)local_7d4)" identifier = (cast_expression "(stat64 *)((int)local_8ec * (int)local_7d4)" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_8ec * (int)local_7d4)" ( (binary_expression "(int)local_8ec * (int)local_7d4" (cast_expression "(int)local_8ec" ( (type_descriptor "int" primitive_type) ) identifier) * (cast_expression "(int)local_7d4" ( (type_descriptor "int" primitive_type) ) identifier)) )))) ;) (expression_statement "local_7cc = (stat64 *)local_8ec;" (assignment_expression "local_7cc = (stat64 *)local_8ec" identifier = (cast_expression "(stat64 *)local_8ec" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) }))) (labeled_statement "LAB_00013962:\n  local_8ec = (undefined1  [4])local_7cc;" statement_identifier : (expression_statement "local_8ec = (undefined1  [4])local_7cc;" (assignment_expression "local_8ec = (undefined1  [4])local_7cc" identifier = (cast_expression "(undefined1  [4])local_7cc" ( (type_descriptor "undefined1  [4]" type_identifier (abstract_array_declarator "[4]" [ number_literal ])) ) identifier)) ;)) (expression_statement "local_908 = (stat64 *)FUN_00014b00(&local_820);" (assignment_expression "local_908 = (stat64 *)FUN_00014b00(&local_820)" identifier = (cast_expression "(stat64 *)FUN_00014b00(&local_820)" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_00014b00(&local_820)" identifier (argument_list "(&local_820)" ( (pointer_expression "&local_820" & identifier) ))))) ;) (if_statement "if (local_908 != (stat64 *)0x0) {\n    puVar43 = local_174 + 0x50;\n    psVar25 = (stat64 *)"OS error";\n    puVar29 = puVar43;\n    for (iVar14 = 9; iVar14 != 0; iVar14 = iVar14 + -1) {\n      *puVar29 = (char)psVar25->st_dev;\n      psVar25 = (stat64 *)((int)psVar25 + (uint)bVar32 * -2 + 1);\n      puVar29 = puVar29 + (uint)bVar32 * -2 + 1;\n    }\n    if (0 < (int)local_908) {\n      sg_get_category_sense_str(local_908,0x50,puVar43,psVar18);\n    }\n    pr2serr("%s: %s\n",local_790,puVar43,psVar25);\n  }" if (parenthesized_expression "(local_908 != (stat64 *)0x0)" ( (binary_expression "local_908 != (stat64 *)0x0" identifier != (cast_expression "(stat64 *)0x0" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    puVar43 = local_174 + 0x50;\n    psVar25 = (stat64 *)"OS error";\n    puVar29 = puVar43;\n    for (iVar14 = 9; iVar14 != 0; iVar14 = iVar14 + -1) {\n      *puVar29 = (char)psVar25->st_dev;\n      psVar25 = (stat64 *)((int)psVar25 + (uint)bVar32 * -2 + 1);\n      puVar29 = puVar29 + (uint)bVar32 * -2 + 1;\n    }\n    if (0 < (int)local_908) {\n      sg_get_category_sense_str(local_908,0x50,puVar43,psVar18);\n    }\n    pr2serr("%s: %s\n",local_790,puVar43,psVar25);\n  }" { (expression_statement "puVar43 = local_174 + 0x50;" (assignment_expression "puVar43 = local_174 + 0x50" identifier = (binary_expression "local_174 + 0x50" identifier + number_literal)) ;) (expression_statement "psVar25 = (stat64 *)"OS error";" (assignment_expression "psVar25 = (stat64 *)"OS error"" identifier = (cast_expression "(stat64 *)"OS error"" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) (string_literal ""OS error"" " string_content "))) ;) (expression_statement "puVar29 = puVar43;" (assignment_expression "puVar29 = puVar43" identifier = identifier) ;) (for_statement "for (iVar14 = 9; iVar14 != 0; iVar14 = iVar14 + -1) {\n      *puVar29 = (char)psVar25->st_dev;\n      psVar25 = (stat64 *)((int)psVar25 + (uint)bVar32 * -2 + 1);\n      puVar29 = puVar29 + (uint)bVar32 * -2 + 1;\n    }" for ( (assignment_expression "iVar14 = 9" identifier = number_literal) ; (binary_expression "iVar14 != 0" identifier != number_literal) ; (assignment_expression "iVar14 = iVar14 + -1" identifier = (binary_expression "iVar14 + -1" identifier + number_literal)) ) (compound_statement "{\n      *puVar29 = (char)psVar25->st_dev;\n      psVar25 = (stat64 *)((int)psVar25 + (uint)bVar32 * -2 + 1);\n      puVar29 = puVar29 + (uint)bVar32 * -2 + 1;\n    }" { (expression_statement "*puVar29 = (char)psVar25->st_dev;" (assignment_expression "*puVar29 = (char)psVar25->st_dev" (pointer_expression "*puVar29" * identifier) = (cast_expression "(char)psVar25->st_dev" ( (type_descriptor "char" primitive_type) ) (field_expression "psVar25->st_dev" identifier -> field_identifier))) ;) (expression_statement "psVar25 = (stat64 *)((int)psVar25 + (uint)bVar32 * -2 + 1);" (assignment_expression "psVar25 = (stat64 *)((int)psVar25 + (uint)bVar32 * -2 + 1)" identifier = (cast_expression "(stat64 *)((int)psVar25 + (uint)bVar32 * -2 + 1)" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)psVar25 + (uint)bVar32 * -2 + 1)" ( (binary_expression "(int)psVar25 + (uint)bVar32 * -2 + 1" (binary_expression "(int)psVar25 + (uint)bVar32 * -2" (cast_expression "(int)psVar25" ( (type_descriptor "int" primitive_type) ) identifier) + (binary_expression "(uint)bVar32 * -2" (cast_expression "(uint)bVar32" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal) )))) ;) (expression_statement "puVar29 = puVar29 + (uint)bVar32 * -2 + 1;" (assignment_expression "puVar29 = puVar29 + (uint)bVar32 * -2 + 1" identifier = (binary_expression "puVar29 + (uint)bVar32 * -2 + 1" (binary_expression "puVar29 + (uint)bVar32 * -2" identifier + (binary_expression "(uint)bVar32 * -2" (cast_expression "(uint)bVar32" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) })) (if_statement "if (0 < (int)local_908) {\n      sg_get_category_sense_str(local_908,0x50,puVar43,psVar18);\n    }" if (parenthesized_expression "(0 < (int)local_908)" ( (binary_expression "0 < (int)local_908" number_literal < (cast_expression "(int)local_908" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n      sg_get_category_sense_str(local_908,0x50,puVar43,psVar18);\n    }" { (expression_statement "sg_get_category_sense_str(local_908,0x50,puVar43,psVar18);" (call_expression "sg_get_category_sense_str(local_908,0x50,puVar43,psVar18)" identifier (argument_list "(local_908,0x50,puVar43,psVar18)" ( identifier , number_literal , identifier , identifier ))) ;) })) (expression_statement "pr2serr("%s: %s\n",local_790,puVar43,psVar25);" (call_expression "pr2serr("%s: %s\n",local_790,puVar43,psVar25)" identifier (argument_list "("%s: %s\n",local_790,puVar43,psVar25)" ( (string_literal ""%s: %s\n"" " string_content escape_sequence ") , identifier , identifier , identifier ))) ;) })) (labeled_statement "LAB_000133fd:\n  if (local_8e8 == (void *)0x0) goto LAB_00012354;" statement_identifier : (if_statement "if (local_8e8 == (void *)0x0) goto LAB_00012354;" if (parenthesized_expression "(local_8e8 == (void *)0x0)" ( (binary_expression "local_8e8 == (void *)0x0" identifier == (cast_expression "(void *)0x0" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_00012354;" goto statement_identifier ;))) (expression_statement "free(local_8e8);" (call_expression "free(local_8e8)" identifier (argument_list "(local_8e8)" ( identifier ))) ;) (goto_statement "goto LAB_00012354;" goto statement_identifier ;) (labeled_statement "code_r0x000115f1:\n  uVar33 = sg_get_llnum(*(undefined4 *)PTR_optarg_0001dffc);" statement_identifier : (expression_statement "uVar33 = sg_get_llnum(*(undefined4 *)PTR_optarg_0001dffc);" (assignment_expression "uVar33 = sg_get_llnum(*(undefined4 *)PTR_optarg_0001dffc)" identifier = (call_expression "sg_get_llnum(*(undefined4 *)PTR_optarg_0001dffc)" identifier (argument_list "(*(undefined4 *)PTR_optarg_0001dffc)" ( (pointer_expression "*(undefined4 *)PTR_optarg_0001dffc" * (cast_expression "(undefined4 *)PTR_optarg_0001dffc" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )))) ;)) (expression_statement "psVar38 = local_7d0;" (assignment_expression "psVar38 = local_7d0" identifier = identifier) ;) (expression_statement "uVar16 = uStack_7c4;" (assignment_expression "uVar16 = uStack_7c4" identifier = identifier) ;) (expression_statement "uVar7 = (uint)uVar33;" (assignment_expression "uVar7 = (uint)uVar33" identifier = (cast_expression "(uint)uVar33" ( (type_descriptor "uint" type_identifier) ) identifier)) ;) (if_statement "if ((int)((ulonglong)uVar33 >> 0x20) != 0) goto code_r0x00012b94;" if (parenthesized_expression "((int)((ulonglong)uVar33 >> 0x20) != 0)" ( (binary_expression "(int)((ulonglong)uVar33 >> 0x20) != 0" (cast_expression "(int)((ulonglong)uVar33 >> 0x20)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((ulonglong)uVar33 >> 0x20)" ( (binary_expression "(ulonglong)uVar33 >> 0x20" (cast_expression "(ulonglong)uVar33" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) ))) != number_literal) )) (goto_statement "goto code_r0x00012b94;" goto statement_identifier ;)) (goto_statement "goto code_r0x000114e8;" goto statement_identifier ;) (labeled_statement "code_r0x00012b94:\n  pr2serr("bad argument to \'--ref-tag=\'. Expect 0 to 0xffffffff inclusive\n");" statement_identifier : (expression_statement "pr2serr("bad argument to \'--ref-tag=\'. Expect 0 to 0xffffffff inclusive\n");" (call_expression "pr2serr("bad argument to \'--ref-tag=\'. Expect 0 to 0xffffffff inclusive\n")" identifier (argument_list "("bad argument to \'--ref-tag=\'. Expect 0 to 0xffffffff inclusive\n")" ( (string_literal ""bad argument to \'--ref-tag=\'. Expect 0 to 0xffffffff inclusive\n"" " string_content escape_sequence string_content escape_sequence string_content escape_sequence ") ))) ;)) (labeled_statement "LAB_00011a7a:\n  local_908 = (stat64 *)0x1;" statement_identifier : (expression_statement "local_908 = (stat64 *)0x1;" (assignment_expression "local_908 = (stat64 *)0x1" identifier = (cast_expression "(stat64 *)0x1" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;)) (labeled_statement "LAB_00011a84:\n  do {\n    psVar25 = (stat64 *)(local_24 ^ *(uint *)(in_GS_OFFSET + 0x14));\n    if (psVar25 == (stat64 *)0x0) {\n      return (int)local_908;\n    }\n    FUN_000162b0();\nLAB_00013b9f:\n    pr2serr("build_lba_arr: array length exceeded\n");\nLAB_00012130:\n    pr2serr("bad argument to \'--lba\'\n");\n    local_908 = (stat64 *)0x1;\nLAB_00012354:\n    if (local_8f0 != (void *)0x0) {\n      free(local_8f0);\n    }\n    iVar14 = sg_cmds_close_device(local_930);\n    if (iVar14 < 0) {\n      if (local_81a == '\0') {\n        uVar16 = safe_strerror(-iVar14);\n        pr2serr("sg_fd close error: %s\n",uVar16);\n      }\n      if (local_908 == (stat64 *)0x0) {\n        local_908 = (stat64 *)0xf;\n      }\n    }\n    if ((-1 < (int)local_920) && (iVar14 = close((int)local_920), iVar14 < 0)) {\n      if (local_81a == '\0') {\n        perror("sfr_fd close error");\n      }\n      if (local_908 == (stat64 *)0x0) {\n        local_908 = (stat64 *)0xf;\n      }\n    }\nLAB_000123a1:\n    if (((cVar2 == '\x01') || ((int)local_924 < 0)) ||\n       (pcVar15 = (char *)close((int)local_924), -1 < (int)pcVar15)) {\nLAB_000123cc:\n      if (((local_7f0 == (stat64 *)0x0) && (local_81a == '\0')) &&\n         (cVar6 = sg_if_can2stderr("sg_write_x failed: ",local_908,psVar25,psVar25), cVar6 == '\0'))\n      goto LAB_0001260b;\n      goto LAB_000123e2;\n    }\n    if (local_81a == '\0') {\n      pcVar15 = "infd close error";\n      perror("infd close error");\n    }\n    if (local_908 != (stat64 *)0x0) goto LAB_000123cc;\n    local_908 = (stat64 *)0xf;\n    if (((local_7f0 == (stat64 *)0x0) && (local_81a == '\0')) &&\n       (cVar6 = sg_if_can2stderr("sg_write_x failed: ",0xf,pcVar15,pcVar15), cVar6 == '\0')) {\nLAB_0001260b:\n      pr2serr("Some error occurred, try again with \'-v\' or \'-vv\' for more information\n");\nLAB_000123e2:\n      if ((int)local_908 < 0) {\n        local_908 = (stat64 *)0x63;\n      }\n    }\n  } while( true );" statement_identifier : (do_statement "do {\n    psVar25 = (stat64 *)(local_24 ^ *(uint *)(in_GS_OFFSET + 0x14));\n    if (psVar25 == (stat64 *)0x0) {\n      return (int)local_908;\n    }\n    FUN_000162b0();\nLAB_00013b9f:\n    pr2serr("build_lba_arr: array length exceeded\n");\nLAB_00012130:\n    pr2serr("bad argument to \'--lba\'\n");\n    local_908 = (stat64 *)0x1;\nLAB_00012354:\n    if (local_8f0 != (void *)0x0) {\n      free(local_8f0);\n    }\n    iVar14 = sg_cmds_close_device(local_930);\n    if (iVar14 < 0) {\n      if (local_81a == '\0') {\n        uVar16 = safe_strerror(-iVar14);\n        pr2serr("sg_fd close error: %s\n",uVar16);\n      }\n      if (local_908 == (stat64 *)0x0) {\n        local_908 = (stat64 *)0xf;\n      }\n    }\n    if ((-1 < (int)local_920) && (iVar14 = close((int)local_920), iVar14 < 0)) {\n      if (local_81a == '\0') {\n        perror("sfr_fd close error");\n      }\n      if (local_908 == (stat64 *)0x0) {\n        local_908 = (stat64 *)0xf;\n      }\n    }\nLAB_000123a1:\n    if (((cVar2 == '\x01') || ((int)local_924 < 0)) ||\n       (pcVar15 = (char *)close((int)local_924), -1 < (int)pcVar15)) {\nLAB_000123cc:\n      if (((local_7f0 == (stat64 *)0x0) && (local_81a == '\0')) &&\n         (cVar6 = sg_if_can2stderr("sg_write_x failed: ",local_908,psVar25,psVar25), cVar6 == '\0'))\n      goto LAB_0001260b;\n      goto LAB_000123e2;\n    }\n    if (local_81a == '\0') {\n      pcVar15 = "infd close error";\n      perror("infd close error");\n    }\n    if (local_908 != (stat64 *)0x0) goto LAB_000123cc;\n    local_908 = (stat64 *)0xf;\n    if (((local_7f0 == (stat64 *)0x0) && (local_81a == '\0')) &&\n       (cVar6 = sg_if_can2stderr("sg_write_x failed: ",0xf,pcVar15,pcVar15), cVar6 == '\0')) {\nLAB_0001260b:\n      pr2serr("Some error occurred, try again with \'-v\' or \'-vv\' for more information\n");\nLAB_000123e2:\n      if ((int)local_908 < 0) {\n        local_908 = (stat64 *)0x63;\n      }\n    }\n  } while( true );" do (compound_statement "{\n    psVar25 = (stat64 *)(local_24 ^ *(uint *)(in_GS_OFFSET + 0x14));\n    if (psVar25 == (stat64 *)0x0) {\n      return (int)local_908;\n    }\n    FUN_000162b0();\nLAB_00013b9f:\n    pr2serr("build_lba_arr: array length exceeded\n");\nLAB_00012130:\n    pr2serr("bad argument to \'--lba\'\n");\n    local_908 = (stat64 *)0x1;\nLAB_00012354:\n    if (local_8f0 != (void *)0x0) {\n      free(local_8f0);\n    }\n    iVar14 = sg_cmds_close_device(local_930);\n    if (iVar14 < 0) {\n      if (local_81a == '\0') {\n        uVar16 = safe_strerror(-iVar14);\n        pr2serr("sg_fd close error: %s\n",uVar16);\n      }\n      if (local_908 == (stat64 *)0x0) {\n        local_908 = (stat64 *)0xf;\n      }\n    }\n    if ((-1 < (int)local_920) && (iVar14 = close((int)local_920), iVar14 < 0)) {\n      if (local_81a == '\0') {\n        perror("sfr_fd close error");\n      }\n      if (local_908 == (stat64 *)0x0) {\n        local_908 = (stat64 *)0xf;\n      }\n    }\nLAB_000123a1:\n    if (((cVar2 == '\x01') || ((int)local_924 < 0)) ||\n       (pcVar15 = (char *)close((int)local_924), -1 < (int)pcVar15)) {\nLAB_000123cc:\n      if (((local_7f0 == (stat64 *)0x0) && (local_81a == '\0')) &&\n         (cVar6 = sg_if_can2stderr("sg_write_x failed: ",local_908,psVar25,psVar25), cVar6 == '\0'))\n      goto LAB_0001260b;\n      goto LAB_000123e2;\n    }\n    if (local_81a == '\0') {\n      pcVar15 = "infd close error";\n      perror("infd close error");\n    }\n    if (local_908 != (stat64 *)0x0) goto LAB_000123cc;\n    local_908 = (stat64 *)0xf;\n    if (((local_7f0 == (stat64 *)0x0) && (local_81a == '\0')) &&\n       (cVar6 = sg_if_can2stderr("sg_write_x failed: ",0xf,pcVar15,pcVar15), cVar6 == '\0')) {\nLAB_0001260b:\n      pr2serr("Some error occurred, try again with \'-v\' or \'-vv\' for more information\n");\nLAB_000123e2:\n      if ((int)local_908 < 0) {\n        local_908 = (stat64 *)0x63;\n      }\n    }\n  }" { (expression_statement "psVar25 = (stat64 *)(local_24 ^ *(uint *)(in_GS_OFFSET + 0x14));" (assignment_expression "psVar25 = (stat64 *)(local_24 ^ *(uint *)(in_GS_OFFSET + 0x14))" identifier = (cast_expression "(stat64 *)(local_24 ^ *(uint *)(in_GS_OFFSET + 0x14))" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_24 ^ *(uint *)(in_GS_OFFSET + 0x14))" ( (binary_expression "local_24 ^ *(uint *)(in_GS_OFFSET + 0x14)" identifier ^ (pointer_expression "*(uint *)(in_GS_OFFSET + 0x14)" * (cast_expression "(uint *)(in_GS_OFFSET + 0x14)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_GS_OFFSET + 0x14)" ( (binary_expression "in_GS_OFFSET + 0x14" identifier + number_literal) ))))) )))) ;) (if_statement "if (psVar25 == (stat64 *)0x0) {\n      return (int)local_908;\n    }" if (parenthesized_expression "(psVar25 == (stat64 *)0x0)" ( (binary_expression "psVar25 == (stat64 *)0x0" identifier == (cast_expression "(stat64 *)0x0" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      return (int)local_908;\n    }" { (return_statement "return (int)local_908;" return (cast_expression "(int)local_908" ( (type_descriptor "int" primitive_type) ) identifier) ;) })) (expression_statement "FUN_000162b0();" (call_expression "FUN_000162b0()" identifier (argument_list "()" ( ))) ;) (labeled_statement "LAB_00013b9f:\n    pr2serr("build_lba_arr: array length exceeded\n");" statement_identifier : (expression_statement "pr2serr("build_lba_arr: array length exceeded\n");" (call_expression "pr2serr("build_lba_arr: array length exceeded\n")" identifier (argument_list "("build_lba_arr: array length exceeded\n")" ( (string_literal ""build_lba_arr: array length exceeded\n"" " string_content escape_sequence ") ))) ;)) (labeled_statement "LAB_00012130:\n    pr2serr("bad argument to \'--lba\'\n");" statement_identifier : (expression_statement "pr2serr("bad argument to \'--lba\'\n");" (call_expression "pr2serr("bad argument to \'--lba\'\n")" identifier (argument_list "("bad argument to \'--lba\'\n")" ( (string_literal ""bad argument to \'--lba\'\n"" " string_content escape_sequence string_content escape_sequence escape_sequence ") ))) ;)) (expression_statement "local_908 = (stat64 *)0x1;" (assignment_expression "local_908 = (stat64 *)0x1" identifier = (cast_expression "(stat64 *)0x1" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (labeled_statement "LAB_00012354:\n    if (local_8f0 != (void *)0x0) {\n      free(local_8f0);\n    }" statement_identifier : (if_statement "if (local_8f0 != (void *)0x0) {\n      free(local_8f0);\n    }" if (parenthesized_expression "(local_8f0 != (void *)0x0)" ( (binary_expression "local_8f0 != (void *)0x0" identifier != (cast_expression "(void *)0x0" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      free(local_8f0);\n    }" { (expression_statement "free(local_8f0);" (call_expression "free(local_8f0)" identifier (argument_list "(local_8f0)" ( identifier ))) ;) }))) (expression_statement "iVar14 = sg_cmds_close_device(local_930);" (assignment_expression "iVar14 = sg_cmds_close_device(local_930)" identifier = (call_expression "sg_cmds_close_device(local_930)" identifier (argument_list "(local_930)" ( identifier )))) ;) (if_statement "if (iVar14 < 0) {\n      if (local_81a == '\0') {\n        uVar16 = safe_strerror(-iVar14);\n        pr2serr("sg_fd close error: %s\n",uVar16);\n      }\n      if (local_908 == (stat64 *)0x0) {\n        local_908 = (stat64 *)0xf;\n      }\n    }" if (parenthesized_expression "(iVar14 < 0)" ( (binary_expression "iVar14 < 0" identifier < number_literal) )) (compound_statement "{\n      if (local_81a == '\0') {\n        uVar16 = safe_strerror(-iVar14);\n        pr2serr("sg_fd close error: %s\n",uVar16);\n      }\n      if (local_908 == (stat64 *)0x0) {\n        local_908 = (stat64 *)0xf;\n      }\n    }" { (if_statement "if (local_81a == '\0') {\n        uVar16 = safe_strerror(-iVar14);\n        pr2serr("sg_fd close error: %s\n",uVar16);\n      }" if (parenthesized_expression "(local_81a == '\0')" ( (binary_expression "local_81a == '\0'" identifier == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n        uVar16 = safe_strerror(-iVar14);\n        pr2serr("sg_fd close error: %s\n",uVar16);\n      }" { (expression_statement "uVar16 = safe_strerror(-iVar14);" (assignment_expression "uVar16 = safe_strerror(-iVar14)" identifier = (call_expression "safe_strerror(-iVar14)" identifier (argument_list "(-iVar14)" ( (unary_expression "-iVar14" - identifier) )))) ;) (expression_statement "pr2serr("sg_fd close error: %s\n",uVar16);" (call_expression "pr2serr("sg_fd close error: %s\n",uVar16)" identifier (argument_list "("sg_fd close error: %s\n",uVar16)" ( (string_literal ""sg_fd close error: %s\n"" " string_content escape_sequence ") , identifier ))) ;) })) (if_statement "if (local_908 == (stat64 *)0x0) {\n        local_908 = (stat64 *)0xf;\n      }" if (parenthesized_expression "(local_908 == (stat64 *)0x0)" ( (binary_expression "local_908 == (stat64 *)0x0" identifier == (cast_expression "(stat64 *)0x0" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        local_908 = (stat64 *)0xf;\n      }" { (expression_statement "local_908 = (stat64 *)0xf;" (assignment_expression "local_908 = (stat64 *)0xf" identifier = (cast_expression "(stat64 *)0xf" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) })) })) (if_statement "if ((-1 < (int)local_920) && (iVar14 = close((int)local_920), iVar14 < 0)) {\n      if (local_81a == '\0') {\n        perror("sfr_fd close error");\n      }\n      if (local_908 == (stat64 *)0x0) {\n        local_908 = (stat64 *)0xf;\n      }\n    }" if (parenthesized_expression "((-1 < (int)local_920) && (iVar14 = close((int)local_920), iVar14 < 0))" ( (binary_expression "(-1 < (int)local_920) && (iVar14 = close((int)local_920), iVar14 < 0)" (parenthesized_expression "(-1 < (int)local_920)" ( (binary_expression "-1 < (int)local_920" number_literal < (cast_expression "(int)local_920" ( (type_descriptor "int" primitive_type) ) identifier)) )) && (parenthesized_expression "(iVar14 = close((int)local_920), iVar14 < 0)" ( (comma_expression "iVar14 = close((int)local_920), iVar14 < 0" (assignment_expression "iVar14 = close((int)local_920)" identifier = (call_expression "close((int)local_920)" identifier (argument_list "((int)local_920)" ( (cast_expression "(int)local_920" ( (type_descriptor "int" primitive_type) ) identifier) )))) , (binary_expression "iVar14 < 0" identifier < number_literal)) ))) )) (compound_statement "{\n      if (local_81a == '\0') {\n        perror("sfr_fd close error");\n      }\n      if (local_908 == (stat64 *)0x0) {\n        local_908 = (stat64 *)0xf;\n      }\n    }" { (if_statement "if (local_81a == '\0') {\n        perror("sfr_fd close error");\n      }" if (parenthesized_expression "(local_81a == '\0')" ( (binary_expression "local_81a == '\0'" identifier == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n        perror("sfr_fd close error");\n      }" { (expression_statement "perror("sfr_fd close error");" (call_expression "perror("sfr_fd close error")" identifier (argument_list "("sfr_fd close error")" ( (string_literal ""sfr_fd close error"" " string_content ") ))) ;) })) (if_statement "if (local_908 == (stat64 *)0x0) {\n        local_908 = (stat64 *)0xf;\n      }" if (parenthesized_expression "(local_908 == (stat64 *)0x0)" ( (binary_expression "local_908 == (stat64 *)0x0" identifier == (cast_expression "(stat64 *)0x0" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        local_908 = (stat64 *)0xf;\n      }" { (expression_statement "local_908 = (stat64 *)0xf;" (assignment_expression "local_908 = (stat64 *)0xf" identifier = (cast_expression "(stat64 *)0xf" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) })) })) (labeled_statement "LAB_000123a1:\n    if (((cVar2 == '\x01') || ((int)local_924 < 0)) ||\n       (pcVar15 = (char *)close((int)local_924), -1 < (int)pcVar15)) {\nLAB_000123cc:\n      if (((local_7f0 == (stat64 *)0x0) && (local_81a == '\0')) &&\n         (cVar6 = sg_if_can2stderr("sg_write_x failed: ",local_908,psVar25,psVar25), cVar6 == '\0'))\n      goto LAB_0001260b;\n      goto LAB_000123e2;\n    }" statement_identifier : (if_statement "if (((cVar2 == '\x01') || ((int)local_924 < 0)) ||\n       (pcVar15 = (char *)close((int)local_924), -1 < (int)pcVar15)) {\nLAB_000123cc:\n      if (((local_7f0 == (stat64 *)0x0) && (local_81a == '\0')) &&\n         (cVar6 = sg_if_can2stderr("sg_write_x failed: ",local_908,psVar25,psVar25), cVar6 == '\0'))\n      goto LAB_0001260b;\n      goto LAB_000123e2;\n    }" if (parenthesized_expression "(((cVar2 == '\x01') || ((int)local_924 < 0)) ||\n       (pcVar15 = (char *)close((int)local_924), -1 < (int)pcVar15))" ( (binary_expression "((cVar2 == '\x01') || ((int)local_924 < 0)) ||\n       (pcVar15 = (char *)close((int)local_924), -1 < (int)pcVar15)" (parenthesized_expression "((cVar2 == '\x01') || ((int)local_924 < 0))" ( (binary_expression "(cVar2 == '\x01') || ((int)local_924 < 0)" (parenthesized_expression "(cVar2 == '\x01')" ( (binary_expression "cVar2 == '\x01'" identifier == (char_literal "'\x01'" ' escape_sequence ')) )) || (parenthesized_expression "((int)local_924 < 0)" ( (binary_expression "(int)local_924 < 0" (cast_expression "(int)local_924" ( (type_descriptor "int" primitive_type) ) identifier) < number_literal) ))) )) || (parenthesized_expression "(pcVar15 = (char *)close((int)local_924), -1 < (int)pcVar15)" ( (comma_expression "pcVar15 = (char *)close((int)local_924), -1 < (int)pcVar15" (assignment_expression "pcVar15 = (char *)close((int)local_924)" identifier = (cast_expression "(char *)close((int)local_924)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "close((int)local_924)" identifier (argument_list "((int)local_924)" ( (cast_expression "(int)local_924" ( (type_descriptor "int" primitive_type) ) identifier) ))))) , (binary_expression "-1 < (int)pcVar15" number_literal < (cast_expression "(int)pcVar15" ( (type_descriptor "int" primitive_type) ) identifier))) ))) )) (compound_statement "{\nLAB_000123cc:\n      if (((local_7f0 == (stat64 *)0x0) && (local_81a == '\0')) &&\n         (cVar6 = sg_if_can2stderr("sg_write_x failed: ",local_908,psVar25,psVar25), cVar6 == '\0'))\n      goto LAB_0001260b;\n      goto LAB_000123e2;\n    }" { (labeled_statement "LAB_000123cc:\n      if (((local_7f0 == (stat64 *)0x0) && (local_81a == '\0')) &&\n         (cVar6 = sg_if_can2stderr("sg_write_x failed: ",local_908,psVar25,psVar25), cVar6 == '\0'))\n      goto LAB_0001260b;" statement_identifier : (if_statement "if (((local_7f0 == (stat64 *)0x0) && (local_81a == '\0')) &&\n         (cVar6 = sg_if_can2stderr("sg_write_x failed: ",local_908,psVar25,psVar25), cVar6 == '\0'))\n      goto LAB_0001260b;" if (parenthesized_expression "(((local_7f0 == (stat64 *)0x0) && (local_81a == '\0')) &&\n         (cVar6 = sg_if_can2stderr("sg_write_x failed: ",local_908,psVar25,psVar25), cVar6 == '\0'))" ( (binary_expression "((local_7f0 == (stat64 *)0x0) && (local_81a == '\0')) &&\n         (cVar6 = sg_if_can2stderr("sg_write_x failed: ",local_908,psVar25,psVar25), cVar6 == '\0')" (parenthesized_expression "((local_7f0 == (stat64 *)0x0) && (local_81a == '\0'))" ( (binary_expression "(local_7f0 == (stat64 *)0x0) && (local_81a == '\0')" (parenthesized_expression "(local_7f0 == (stat64 *)0x0)" ( (binary_expression "local_7f0 == (stat64 *)0x0" identifier == (cast_expression "(stat64 *)0x0" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) && (parenthesized_expression "(local_81a == '\0')" ( (binary_expression "local_81a == '\0'" identifier == (char_literal "'\0'" ' escape_sequence ')) ))) )) && (parenthesized_expression "(cVar6 = sg_if_can2stderr("sg_write_x failed: ",local_908,psVar25,psVar25), cVar6 == '\0')" ( (comma_expression "cVar6 = sg_if_can2stderr("sg_write_x failed: ",local_908,psVar25,psVar25), cVar6 == '\0'" (assignment_expression "cVar6 = sg_if_can2stderr("sg_write_x failed: ",local_908,psVar25,psVar25)" identifier = (call_expression "sg_if_can2stderr("sg_write_x failed: ",local_908,psVar25,psVar25)" identifier (argument_list "("sg_write_x failed: ",local_908,psVar25,psVar25)" ( (string_literal ""sg_write_x failed: "" " string_content ") , identifier , identifier , identifier )))) , (binary_expression "cVar6 == '\0'" identifier == (char_literal "'\0'" ' escape_sequence '))) ))) )) (goto_statement "goto LAB_0001260b;" goto statement_identifier ;))) (goto_statement "goto LAB_000123e2;" goto statement_identifier ;) }))) (if_statement "if (local_81a == '\0') {\n      pcVar15 = "infd close error";\n      perror("infd close error");\n    }" if (parenthesized_expression "(local_81a == '\0')" ( (binary_expression "local_81a == '\0'" identifier == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n      pcVar15 = "infd close error";\n      perror("infd close error");\n    }" { (expression_statement "pcVar15 = "infd close error";" (assignment_expression "pcVar15 = "infd close error"" identifier = (string_literal ""infd close error"" " string_content ")) ;) (expression_statement "perror("infd close error");" (call_expression "perror("infd close error")" identifier (argument_list "("infd close error")" ( (string_literal ""infd close error"" " string_content ") ))) ;) })) (if_statement "if (local_908 != (stat64 *)0x0) goto LAB_000123cc;" if (parenthesized_expression "(local_908 != (stat64 *)0x0)" ( (binary_expression "local_908 != (stat64 *)0x0" identifier != (cast_expression "(stat64 *)0x0" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_000123cc;" goto statement_identifier ;)) (expression_statement "local_908 = (stat64 *)0xf;" (assignment_expression "local_908 = (stat64 *)0xf" identifier = (cast_expression "(stat64 *)0xf" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (if_statement "if (((local_7f0 == (stat64 *)0x0) && (local_81a == '\0')) &&\n       (cVar6 = sg_if_can2stderr("sg_write_x failed: ",0xf,pcVar15,pcVar15), cVar6 == '\0')) {\nLAB_0001260b:\n      pr2serr("Some error occurred, try again with \'-v\' or \'-vv\' for more information\n");\nLAB_000123e2:\n      if ((int)local_908 < 0) {\n        local_908 = (stat64 *)0x63;\n      }\n    }" if (parenthesized_expression "(((local_7f0 == (stat64 *)0x0) && (local_81a == '\0')) &&\n       (cVar6 = sg_if_can2stderr("sg_write_x failed: ",0xf,pcVar15,pcVar15), cVar6 == '\0'))" ( (binary_expression "((local_7f0 == (stat64 *)0x0) && (local_81a == '\0')) &&\n       (cVar6 = sg_if_can2stderr("sg_write_x failed: ",0xf,pcVar15,pcVar15), cVar6 == '\0')" (parenthesized_expression "((local_7f0 == (stat64 *)0x0) && (local_81a == '\0'))" ( (binary_expression "(local_7f0 == (stat64 *)0x0) && (local_81a == '\0')" (parenthesized_expression "(local_7f0 == (stat64 *)0x0)" ( (binary_expression "local_7f0 == (stat64 *)0x0" identifier == (cast_expression "(stat64 *)0x0" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) && (parenthesized_expression "(local_81a == '\0')" ( (binary_expression "local_81a == '\0'" identifier == (char_literal "'\0'" ' escape_sequence ')) ))) )) && (parenthesized_expression "(cVar6 = sg_if_can2stderr("sg_write_x failed: ",0xf,pcVar15,pcVar15), cVar6 == '\0')" ( (comma_expression "cVar6 = sg_if_can2stderr("sg_write_x failed: ",0xf,pcVar15,pcVar15), cVar6 == '\0'" (assignment_expression "cVar6 = sg_if_can2stderr("sg_write_x failed: ",0xf,pcVar15,pcVar15)" identifier = (call_expression "sg_if_can2stderr("sg_write_x failed: ",0xf,pcVar15,pcVar15)" identifier (argument_list "("sg_write_x failed: ",0xf,pcVar15,pcVar15)" ( (string_literal ""sg_write_x failed: "" " string_content ") , number_literal , identifier , identifier )))) , (binary_expression "cVar6 == '\0'" identifier == (char_literal "'\0'" ' escape_sequence '))) ))) )) (compound_statement "{\nLAB_0001260b:\n      pr2serr("Some error occurred, try again with \'-v\' or \'-vv\' for more information\n");\nLAB_000123e2:\n      if ((int)local_908 < 0) {\n        local_908 = (stat64 *)0x63;\n      }\n    }" { (labeled_statement "LAB_0001260b:\n      pr2serr("Some error occurred, try again with \'-v\' or \'-vv\' for more information\n");" statement_identifier : (expression_statement "pr2serr("Some error occurred, try again with \'-v\' or \'-vv\' for more information\n");" (call_expression "pr2serr("Some error occurred, try again with \'-v\' or \'-vv\' for more information\n")" identifier (argument_list "("Some error occurred, try again with \'-v\' or \'-vv\' for more information\n")" ( (string_literal ""Some error occurred, try again with \'-v\' or \'-vv\' for more information\n"" " string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence ") ))) ;)) (labeled_statement "LAB_000123e2:\n      if ((int)local_908 < 0) {\n        local_908 = (stat64 *)0x63;\n      }" statement_identifier : (if_statement "if ((int)local_908 < 0) {\n        local_908 = (stat64 *)0x63;\n      }" if (parenthesized_expression "((int)local_908 < 0)" ( (binary_expression "(int)local_908 < 0" (cast_expression "(int)local_908" ( (type_descriptor "int" primitive_type) ) identifier) < number_literal) )) (compound_statement "{\n        local_908 = (stat64 *)0x63;\n      }" { (expression_statement "local_908 = (stat64 *)0x63;" (assignment_expression "local_908 = (stat64 *)0x63" identifier = (cast_expression "(stat64 *)0x63" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) }))) })) }) while (parenthesized_expression "( true )" ( true )) ;)) })))
(translation_unit "/* WARNING: Function: __x86.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */\n\nint main(int argc,char **argv)\n\n{\n  byte bVar1;\n  char cVar2;\n  __dev_t *p_Var3;\n  ushort uVar4;\n  undefined *puVar5;\n  undefined *puVar6;\n  char **ppcVar7;\n  char cVar8;\n  _Bool _Var9;\n  uint uVar10;\n  stat64 *psVar11;\n  stat64 *psVar12;\n  int iVar13;\n  stat64 *psVar14;\n  char *pcVar15;\n  char *pcVar16;\n  int iVar17;\n  char *pcVar18;\n  uint8_t *up;\n  undefined4 uVar19;\n  stat64 *psVar20;\n  int *piVar21;\n  undefined *puVar22;\n  int iVar23;\n  stat64 *extraout_ECX;\n  stat64 *extraout_ECX_00;\n  stat64 *extraout_ECX_01;\n  undefined4 extraout_ECX_02;\n  undefined4 uVar24;\n  stat64 *extraout_ECX_03;\n  stat64 *extraout_ECX_04;\n  stat64 *extraout_ECX_05;\n  stat64 *extraout_ECX_06;\n  char **extraout_EDX;\n  char **ppcVar25;\n  stat64 *psVar26;\n  stat64 *psVar27;\n  stat64 *extraout_EDX_00;\n  undefined4 extraout_EDX_01;\n  stat64 *extraout_EDX_02;\n  stat64 *extraout_EDX_03;\n  stat64 *extraout_EDX_04;\n  undefined4 extraout_EDX_05;\n  undefined4 extraout_EDX_06;\n  uint uVar28;\n  stat64 *psVar29;\n  opts_t *poVar30;\n  uint *puVar31;\n  stat64 **ppsVar32;\n  undefined1 *puVar33;\n  uint32_t uVar34;\n  int in_GS_OFFSET;\n  bool bVar35;\n  bool bVar36;\n  byte bVar37;\n  undefined8 uVar38;\n  longlong lVar39;\n  __off64_t _Var40;\n  stat64 *psVar41;\n  stat64 **ppsVar42;\n  uint32_t uVar43;\n  void **ppvVar44;\n  uint32_t uVar45;\n  uint uVar46;\n  uint *puVar47;\n  undefined1 *puVar48;\n  stat64 *psVar49;\n  char local_93f;\n  stat64 *local_93c;\n  stat64 *local_930;\n  stat64 *local_924;\n  stat64 *local_920;\n  stat64 *local_91c;\n  stat64 *local_918;\n  stat64 *local_908;\n  uint16_t local_8f8;\n  uint16_t local_8f6;\n  stat64 *local_8f4;\n  void *local_8f0;\n  stat64 *local_8ec;\n  void *local_8e8;\n  void *local_8e4;\n  undefined1 local_8e0 [48];\n  int local_8b0;\n  undefined1 local_880 [96];\n  undefined1 local_820 [112];\n  stat64 *local_7b0;\n  int local_7ac;\n  int local_7a8;\n  stat64 *local_7a4;\n  stat64 *local_7a0;\n  char *local_79c;\n  char *local_798;\n  stat64 *local_794;\n  undefined1 local_790 [24];\n  stat64 *local_778 [128];\n  uint local_578;\n  uint local_574;\n  undefined1 local_174 [96];\n  uint local_114;\n  uint local_110;\n  uint local_10c;\n  uint local_104;\n  uint local_100;\n  uint local_fc;\n  uint local_f8;\n  ushort local_f4;\n  ushort local_f2;\n  uint local_24;\n  int *local_18;\n  \n  ppcVar7 = argv;\n  iVar17 = argc;\n  puVar22 = PTR_optarg_0001dffc;\n  bVar37 = 0;\n  local_18 = &argc;\n  local_24 = *(uint *)(in_GS_OFFSET + 0x14);\n  local_8f8 = 0;\n  local_8f4 = (stat64 *)0x0;\n  local_8f0 = (void *)0x0;\n  local_918 = (stat64 *)0x0;\n  local_91c = (stat64 *)0x0;\n  poVar30 = (opts_t *)local_820;\n  for (iVar23 = 0x2a; iVar23 != 0; iVar23 = iVar23 + -1) {\n    poVar30->do_16 = false;\n    poVar30->do_32 = false;\n    poVar30->do_anchor = false;\n    poVar30->do_atomic = false;\n    poVar30 = (opts_t *)&poVar30->do_combined;\n  }\n  local_930 = (stat64 *)local_8e0;\n  local_820._36_4_ = -1;\n  psVar41 = local_930;\n  for (iVar23 = 0x18; iVar23 != 0; iVar23 = iVar23 + -1) {\n    *(undefined4 *)&psVar41->st_dev = 0;\n    psVar41 = (stat64 *)((int)&psVar41->st_dev + 4);\n  }\n  psVar41 = (stat64 *)local_880;\n  local_820._96_4_ = 0xffffffff;\n  psVar20 = psVar41;\n  for (iVar23 = 0x18; iVar23 != 0; iVar23 = iVar23 + -1) {\n    *(undefined4 *)&psVar20->st_dev = 0;\n    psVar20 = (stat64 *)((int)&psVar20->st_dev + 4);\n  }\n  cVar2 = ' ';\n  local_820._58_2_ = 0xffff;\n  local_820._68_2_ = 0xffff;\n  local_820._44_4_ = 0x78;\n  bVar1 = 0;\n  local_924 = (stat64 *)PTR_optarg_0001dffc;\n  psVar20 = (stat64 *)local_820._80_4_;\n  uVar34 = local_820._92_4_;\n  uVar10 = local_820._96_4_;\nLAB_000114e8:\n  local_820._96_4_ = uVar10;\n  local_820._92_4_ = uVar34;\n  local_820._80_4_ = psVar20;\n  local_8e4 = (void *)0x0;\n  uVar38 = getopt_long(iVar17,ppcVar7,"36a:A:b:B:c:dD:Efg:G:hi:I:l:M:n:No:Oq:Qr:RsS:t:T:u:vVw:x",\n                       long_options,&local_8e4);\n  puVar6 = PTR_optarg_0001dffc;\n  puVar5 = PTR_optind_0001dfe4;\n  if ((int)uVar38 == -1) {\n    iVar23 = *(int *)PTR_optind_0001dfe4;\n    local_920 = (stat64 *)0xffffffff;\n    if (iVar23 < iVar17) {\n      ppcVar25 = (char **)((ulonglong)uVar38 >> 0x20);\n      if (local_7a0 != (stat64 *)0x0) goto LAB_00011c60;\n      local_7a0 = (stat64 *)ppcVar7[iVar23];\n      *(int *)PTR_optind_0001dfe4 = iVar23 + 1;\n      ppcVar25 = ppcVar7;\n      if (iVar23 + 1 < iVar17) goto LAB_00011c60;\n    }\n    if ((bool)(bVar1 & local_820._40_4_ != 0)) goto LAB_00011a7a;\n    if (0 < (int)local_820._32_4_) {\n      usage(local_820._32_4_);\n      local_908 = (stat64 *)0x0;\n      goto LAB_00011a84;\n    }\n    if ((_Bool)local_820[0x11] == false) {\nLAB_00011c9f:\n      if ((_Bool)local_820[0x12] != false) {\n        pr2serr("sg_write_x version: %s\n","1.19 20180628",puVar5,puVar5);\n        local_908 = (stat64 *)0x270f;\n        goto LAB_00011a84;\n      }\n    }\n    else if ((_Bool)local_820[0x12] != false) {\n      pr2serr("Not in DEBUG mode, so \'-vV\' has no special action\n");\n      goto LAB_00011c9f;\n    }\n    uVar19 = local_820._48_4_;\n    psVar20 = (stat64 *)uVar19;\n    if ((_Bool)local_820[0] == false) {\n      if ((_Bool)local_820[1] == false) {\n        psVar20 = (stat64 *)((int)&((stat64 *)(local_820._48_4_ + -0x60))->st_ino + 7);\n        local_820[0] = true;\n        if (psVar20 != (stat64 *)0x0 && 0 < (int)local_820._48_4_) {\n          pr2serr("Since neither --16 nor --32 given, choose --16\n");\n        }\n      }\n    }\n    else if (((_Bool)local_820[1] != false) && (local_820[0] = false, 1 < (int)local_820._48_4_)) {\n      pr2serr("Since both --16 and --32 given, choose --32\n");\n    }\n    uVar10 = (uint)local_820[3] + (uint)local_820[0xc] + (uint)local_820[5] + (uint)local_820[8] +\n             (uint)local_820[9] + (uint)local_820[10];\n    if (1 < uVar10) {\n      pr2serr(\n             "Can only select one command; so only one of --atomic, --normal, --or,\n--same=, --scattered= or --stream=\n"\n             );\n      local_908 = (stat64 *)0x1f;\n      goto LAB_00011a84;\n    }\n    if (uVar10 == 0) {\n      if (local_820._40_4_ != 0) {\n        pr2serr("With --strict won\'t default to a normal WRITE, add --normal\n");\n        local_908 = (stat64 *)0x1f;\n        goto LAB_00011a84;\n      }\n      local_794 = (stat64 *)0x17164;\n      local_820[0xc] = true;\n      if ((stat64 *)uVar19 != (stat64 *)0x0) {\n        pr2serr("No command selected so choose \'normal\' WRITE\n");\n      }\n    }\n    psVar11 = (stat64 *)((-(uint)((_Bool)local_820[0] == false) & 0x10) + 0x10);\n    psVar26 = local_794;\n    __snprintf_chk(local_790,0x18,1,0x18,"%s(%d)",local_794,psVar11,psVar20);\n    if ((_Bool)local_820[4] == false) {\n      if (local_798 != (char *)0x0) {\n        local_93f = local_918 != (stat64 *)0x0;\n        bVar35 = local_91c != (stat64 *)0x0 || local_918 != (stat64 *)0x0;\n        bVar36 = local_91c != (stat64 *)0x0;\n        if (local_91c == (stat64 *)0x0 && local_918 == (stat64 *)0x0) {\n          iVar17 = -1;\n          pcVar18 = local_798;\n          goto code_r0x00011d5c;\n        }\n        pr2serr(\n               "want one and only one of: (--lba=LBA and/or --num=NUM), or\n--scat-file=SF, or --combined=DOF\n"\n               );\n        local_908 = (stat64 *)0x1f;\n        goto LAB_00011a84;\n      }\n      if ((_Bool)local_820[7] == false) {\n        local_93f = local_918 != (stat64 *)0x0;\n        bVar35 = local_91c != (stat64 *)0x0 || local_918 != (stat64 *)0x0;\n        bVar36 = local_91c != (stat64 *)0x0;\n        goto LAB_00011d67;\n      }\n      pr2serr(\n             "--scat-raw only applies to the --scat-file=SF option\n--scat-raw without the --scat-file=SF option is an error\n"\n             );\n      local_908 = (stat64 *)0x1f;\n      goto LAB_00011a84;\n    }\n    if ((_Bool)local_820[9] == false) {\n      pr2serr(\n             "--combined=DOF only allowed with --scattered=RD (i.e. only with\nWRITE SCATTERED command)\n"\n             );\n      local_908 = (stat64 *)0x1f;\n      goto LAB_00011a84;\n    }\n    if (local_798 != (char *)0x0) {\n      pr2serr("Ambiguous: got --combined=DOF and --scat-file=SF .\nGive one, the other or neither\n"\n             );\n      local_908 = (stat64 *)0x1f;\n      goto LAB_00011a84;\n    }\n    if (local_91c == (stat64 *)0x0 && local_918 == (stat64 *)0x0) {\n      local_93f = local_820[7];\n      bVar35 = false;\n      bVar36 = false;\n      if ((_Bool)local_820[7] == false) goto LAB_00011d67;\n      pr2serr("Ambiguous: don\'t expect --combined=DOF and --scat-raw\nGive one or the other\n");\n      local_908 = (stat64 *)0x1f;\n    }\n    else {\n      pr2serr("--scattered=RD --combined=DOF does not use --lba= or --num=\nPlease remove.\n");\n      local_908 = (stat64 *)0x1f;\n    }\n    goto LAB_00011a84;\n  }\n  local_920 = local_924;\n  psVar20 = (stat64 *)local_820._80_4_;\n  uVar34 = local_820._92_4_;\n  uVar10 = local_820._96_4_;\n  switch((int)uVar38) {\n  case 0x33:\n    local_820[1] = true;\n    goto LAB_000114e8;\n  default:\n    pcVar18 = "unrecognised option code 0x%x ??\n";\n    break;\n  case 0x36:\n    local_820[0] = true;\n    goto LAB_000114e8;\n  case 0x3f:\n    pcVar18 = "\n";\n    break;\n  case 0x41:\n    uVar10 = sg_get_num(*(undefined4 *)PTR_optarg_0001dffc);\n    if (0xffff < uVar10) {\n      pr2serr("bad argument to \'--atomic=\'. Expect 0 to 0xffff inclusive\n");\n      goto LAB_00011a7a;\n    }\n    local_820._60_2_ = (undefined2)uVar10;\n    local_820[3] = true;\n    local_794 = (stat64 *)0x17112;\n    psVar20 = (stat64 *)local_820._80_4_;\n    uVar34 = local_820._92_4_;\n    uVar10 = local_820._96_4_;\n    goto LAB_000114e8;\n  case 0x42:\n    uVar28 = sg_get_num(*(undefined4 *)PTR_optarg_0001dffc);\n    if (7 < uVar28) {\n      pr2serr("bad first argument to \'--bmop=\'\n");\n      goto LAB_00011a7a;\n    }\n    local_820[0x38] = (uint8_t)uVar28;\n    uVar19 = 0x2c;\n    uVar46 = uVar28;\n    pcVar18 = strchr(*(char **)puVar6,0x2c);\n    psVar20 = (stat64 *)local_820._80_4_;\n    uVar34 = local_820._92_4_;\n    uVar10 = local_820._96_4_;\n    if (pcVar18 != (char *)0x0) {\n      uVar10 = sg_get_num(pcVar18 + 1,uVar19,uVar28,uVar46);\n      if (0xf < uVar10) {\n        pr2serr("bad second argument to \'--bmop=\'\n");\n        goto LAB_00011a7a;\n      }\n      local_820[0x39] = (uint8_t)uVar10;\n      psVar20 = (stat64 *)local_820._80_4_;\n      uVar34 = local_820._92_4_;\n      uVar10 = local_820._96_4_;\n    }\n    goto LAB_000114e8;\n  case 0x44:\n    local_820._20_4_ = sg_get_num(*(undefined4 *)PTR_optarg_0001dffc);\n    psVar20 = (stat64 *)local_820._80_4_;\n    uVar34 = local_820._92_4_;\n    uVar10 = local_820._96_4_;\n    if (7 < (uint)local_820._20_4_) {\n      pr2serr("bad argument to \'--dld=\', expect 0 to 7 inclusive\n");\n      goto LAB_00011a7a;\n    }\n    goto LAB_000114e8;\n  case 0x47:\n    uVar38 = sg_get_llnum(*(undefined4 *)PTR_optarg_0001dffc);\n    uVar43 = (uint32_t)uVar38;\n    if ((int)((ulonglong)uVar38 >> 0x20) != 0) {\n      pr2serr("bad first argument to \'--generation=\'\n");\n      goto LAB_00011a7a;\n    }\n    uVar19 = 0x2c;\n    uVar45 = uVar43;\n    local_820._88_4_ = uVar43;\n    pcVar18 = strchr(*(char **)puVar6,0x2c);\n    if (pcVar18 == (char *)0x0) {\n      pr2serr("need two arguments with --generation=EOG,NOG and they must be comma separated\n",\n              uVar19,uVar43,uVar45);\n      goto LAB_00011a7a;\n    }\n    uVar38 = sg_get_llnum(pcVar18 + 1);\n    psVar20 = (stat64 *)local_820._80_4_;\n    uVar34 = (uint32_t)uVar38;\n    uVar10 = local_820._96_4_;\n    if ((int)((ulonglong)uVar38 >> 0x20) != 0) {\n      pr2serr("bad second argument to \'--generation=\'\n",uVar19,uVar43,uVar45);\n      goto LAB_00011a7a;\n    }\n    goto LAB_000114e8;\n  case 0x49:\n    local_820._44_4_ = sg_get_num(*(undefined4 *)PTR_optarg_0001dffc);\n    psVar20 = (stat64 *)local_820._80_4_;\n    uVar34 = local_820._92_4_;\n    uVar10 = local_820._96_4_;\n    if ((int)local_820._44_4_ < 0) {\n      pr2serr("bad argument to \'--timeout=\'\n");\n      goto LAB_00011a7a;\n    }\n    goto LAB_000114e8;\n  case 0x4d:\n    uVar10 = sg_get_num(*(undefined4 *)PTR_optarg_0001dffc);\n    if (1 < uVar10) {\n      pr2serr("bad argument to \'--same\', expect 0 or 1\n");\n      goto LAB_00011a7a;\n    }\n    local_820[0x10] = (byte)uVar10 & 1;\n    local_820[8] = true;\n    local_794 = (stat64 *)0x17159;\n    psVar20 = (stat64 *)local_820._80_4_;\n    uVar34 = local_820._92_4_;\n    uVar10 = local_820._96_4_;\n    goto LAB_000114e8;\n  case 0x4e:\n    local_820[0xc] = true;\n    local_794 = (stat64 *)0x17164;\n    goto LAB_000114e8;\n  case 0x4f:\n    local_820[5] = true;\n    local_794 = (stat64 *)0x1716a;\n    goto LAB_000114e8;\n  case 0x51:\n    local_820[6] = true;\n    goto LAB_000114e8;\n  case 0x52:\n    local_820[7] = true;\n    goto LAB_000114e8;\n  case 0x53:\n    uVar10 = sg_get_num(*(undefined4 *)PTR_optarg_0001dffc);\n    if (0xffff < uVar10) {\n      pr2serr("bad argument to \'--scattered=\'. Expect 0 to 0xffff inclusive\n");\n      goto LAB_00011a7a;\n    }\n    local_820._64_2_ = (undefined2)uVar10;\n    local_794 = (stat64 *)0x17172;\n    local_820[9] = true;\n    psVar20 = (stat64 *)local_820._80_4_;\n    uVar34 = local_820._92_4_;\n    uVar10 = local_820._96_4_;\n    goto LAB_000114e8;\n  case 0x54:\n    uVar10 = sg_get_num(*(undefined4 *)PTR_optarg_0001dffc);\n    if (0xffff < uVar10) {\n      pr2serr("bad argument to \'--stream=\', expect 0 to 65535\n");\n      goto LAB_00011a7a;\n    }\n    local_820._66_2_ = (undefined2)uVar10;\n    local_794 = (stat64 *)0x17182;\n    local_820[10] = true;\n    psVar20 = (stat64 *)local_820._80_4_;\n    uVar34 = local_820._92_4_;\n    uVar10 = local_820._96_4_;\n    goto LAB_000114e8;\n  case 0x56:\n    local_820[0x12] = true;\n    goto LAB_000114e8;\n  case 0x61:\n    uVar10 = sg_get_num(*(undefined4 *)PTR_optarg_0001dffc);\n    if (0xffff < uVar10) {\n      pr2serr("bad argument to \'--app-tag=\'. Expect 0 to 0xffff inclusive\n");\n      goto LAB_00011a7a;\n    }\n    local_820._58_2_ = (undefined2)uVar10;\n    psVar20 = (stat64 *)local_820._80_4_;\n    uVar34 = local_820._92_4_;\n    uVar10 = local_820._96_4_;\n    goto LAB_000114e8;\n  case 0x62:\n    psVar26 = (stat64 *)sg_get_num(*(undefined4 *)PTR_optarg_0001dffc);\n    if ((stat64 *)0x10000000 < psVar26) {\n      pr2serr("bad argument to \'--bs=\'. Expect 0 or greater\n");\n      goto LAB_00011a7a;\n    }\n    if (psVar26 == (stat64 *)0x0) {\n      local_820._72_4_ = (stat64 *)0x0;\n      local_820._76_4_ = (stat64 *)0x0;\n      psVar20 = (stat64 *)local_820._80_4_;\n      uVar34 = local_820._92_4_;\n      uVar10 = local_820._96_4_;\n    }\n    else {\n      if ((int)psVar26 < 0x200) {\n        pr2serr("warning: --bs=BS value is < 512 which seems too small, continue\n");\n        bVar1 = 1;\n      }\n      if (((uint)psVar26 & 7) != 0) {\n        pr2serr("warning: --bs=BS value is not a multiple of 8, unexpected, continue\n");\n        bVar1 = 1;\n      }\n      iVar23 = 0;\n      iVar13 = 0;\n      psVar20 = psVar26;\n      do {\n        if (((uint)psVar20 & 1) != 0) {\n          iVar23 = iVar13;\n        }\n        iVar13 = iVar13 + 1;\n        psVar20 = (stat64 *)((int)psVar20 >> 1);\n      } while (iVar13 != 0x1c);\n      psVar11 = (stat64 *)(1 << ((byte)iVar23 & 0x1f));\n      local_820._72_4_ = psVar26;\n      local_820._76_4_ = psVar26;\n      psVar20 = (stat64 *)local_820._80_4_;\n      uVar34 = local_820._92_4_;\n      uVar10 = local_820._96_4_;\n      if (psVar26 != psVar11) {\n        local_820._72_4_ = psVar11;\n      }\n    }\n    goto LAB_000114e8;\n  case 99:\n    iVar23 = sg_get_num(*(undefined4 *)PTR_optarg_0001dffc);\n    if (iVar23 < 0) {\n      pr2serr("bad argument to \'--combined=\'. Expect 0 to 0x7fffffff\n");\n      goto LAB_00011a7a;\n    }\n    local_820._62_2_ = (undefined2)iVar23;\n    local_820[4] = true;\n    psVar20 = (stat64 *)local_820._80_4_;\n    uVar34 = local_820._92_4_;\n    uVar10 = local_820._96_4_;\n    goto LAB_000114e8;\n  case 100:\n    local_820[0xe] = true;\n    goto LAB_000114e8;\n  case 0x66:\n    local_820[0xf] = true;\n    goto LAB_000114e8;\n  case 0x67:\n    local_820._28_4_ = sg_get_num(*(undefined4 *)PTR_optarg_0001dffc);\n    psVar20 = (stat64 *)local_820._80_4_;\n    uVar34 = local_820._92_4_;\n    uVar10 = local_820._96_4_;\n    if (0x3f < (uint)local_820._28_4_) {\n      pr2serr("bad argument to \'--grpnum\'\n");\n      goto LAB_00011a7a;\n    }\n    goto LAB_000114e8;\n  case 0x68:\n    local_820._32_4_ = local_820._32_4_ + 1;\n    goto LAB_000114e8;\n  case 0x69:\n    local_79c = *(char **)PTR_optarg_0001dffc;\n    goto LAB_000114e8;\n  case 0x6c:\n    if (local_91c != (stat64 *)0x0) {\n      pr2serr("only expect \'--lba=\' option once\n");\n      goto LAB_00011a7a;\n    }\n    local_91c = *(stat64 **)PTR_optarg_0001dffc;\n    goto LAB_000114e8;\n  case 0x6e:\n    if (local_918 != (stat64 *)0x0) {\n      pr2serr("only expect \'--num=\' option once\n");\n      goto LAB_00011a7a;\n    }\n    local_918 = *(stat64 **)PTR_optarg_0001dffc;\n    goto LAB_000114e8;\n  case 0x6f:\n    lVar39 = sg_get_llnum(*(undefined4 *)PTR_optarg_0001dffc);\n    psVar26 = (stat64 *)lVar39;\n    if (lVar39 == -1) {\n      pr2serr("bad first argument to \'--offset=\'\n");\n      goto LAB_00011a7a;\n    }\n    uVar19 = 0x2c;\n    psVar11 = psVar26;\n    local_820._108_4_ = psVar26;\n    local_7b0 = (stat64 *)((ulonglong)lVar39 >> 0x20);\n    pcVar18 = strchr(*(char **)puVar6,0x2c);\n    psVar20 = (stat64 *)local_820._80_4_;\n    uVar34 = local_820._92_4_;\n    uVar10 = local_820._96_4_;\n    if (pcVar18 != (char *)0x0) {\n      lVar39 = sg_get_llnum(pcVar18 + 1,uVar19,psVar26,psVar11);\n      psVar20 = (stat64 *)lVar39;\n      uVar34 = local_820._92_4_;\n      uVar10 = local_820._96_4_;\n      if ((int)((ulonglong)lVar39 >> 0x20) == -1) {\n        if (psVar20 == (stat64 *)0xffffffff) {\n          pr2serr("bad second argument to \'--offset=\'\n");\n          goto LAB_00011a7a;\n        }\n      }\n      else if (0xffffffff < lVar39) {\n        pr2serr("bad second argument to \'--offset=\', cannot exceed 32 bits\n");\n        goto LAB_00011a7a;\n      }\n    }\n    goto LAB_000114e8;\n  case 0x71:\n    local_798 = *(char **)PTR_optarg_0001dffc;\n    goto LAB_000114e8;\n  case 0x72:\n    goto _L476;\n  case 0x73:\n    local_820._40_4_ = local_820._40_4_ + 1;\n    goto LAB_000114e8;\n  case 0x74:\n    uVar10 = sg_get_num(*(undefined4 *)PTR_optarg_0001dffc);\n    if (0xffff < uVar10) {\n      pr2serr("bad argument to \'--tag-mask=\'. Expect 0 to 0xffff inclusive\n");\n      goto LAB_00011a7a;\n    }\n    local_820._68_2_ = (undefined2)uVar10;\n    psVar20 = (stat64 *)local_820._80_4_;\n    uVar34 = local_820._92_4_;\n    uVar10 = local_820._96_4_;\n    goto LAB_000114e8;\n  case 0x75:\n    uVar10 = sg_get_num(*(undefined4 *)puVar22);\n    if (3 < uVar10) {\n      pr2serr("bad argument to \'--unmap=\', expect 0 to 3\n");\n      goto LAB_00011a7a;\n    }\n    local_820[2] = (byte)(uVar10 >> 1) & 1;\n    local_820[0xb] = (byte)uVar10 & 1;\n    psVar20 = (stat64 *)local_820._80_4_;\n    uVar34 = local_820._92_4_;\n    uVar10 = local_820._96_4_;\n    goto LAB_000114e8;\n  case 0x76:\n    local_820[0x11] = true;\n    local_820._48_4_ = (int)(__dev_t *)local_820._48_4_ + 1;\n    goto LAB_000114e8;\n  case 0x77:\n    local_820._52_4_ = sg_get_num(*(undefined4 *)puVar22);\n    if ((stat64 *)0x7 < (uint)local_820._52_4_) {\n      pr2serr("bad argument to \'--wrprotect\'\n");\n      goto LAB_00011a7a;\n    }\n    local_820[0xd] = 0 < (int)local_820._52_4_;\n    psVar20 = (stat64 *)local_820._80_4_;\n    uVar34 = local_820._92_4_;\n    uVar10 = local_820._96_4_;\n    goto LAB_000114e8;\n  case 0x78:\n    local_820._24_4_ = local_820._24_4_ + 1;\n    goto LAB_000114e8;\n  }\n  pr2serr(pcVar18);\n  iVar17 = 0;\n  if (-1 < (int)local_820._32_4_) {\n    iVar17 = local_820._32_4_;\n  }\n  usage(iVar17);\n  goto LAB_00011a7a;\nLAB_00011c60:\n  while (*(int *)puVar5 < iVar17) {\n    pr2serr("Unexpected extra argument: %s\n",ppcVar7[*(int *)puVar5],ppcVar25,ppcVar25);\n    *(int *)puVar5 = *(int *)puVar5 + 1;\n    ppcVar25 = extraout_EDX;\n  }\n  iVar17 = 0;\n  if (-1 < (int)local_820._32_4_) {\n    iVar17 = local_820._32_4_;\n  }\n  usage(iVar17);\n  local_908 = (stat64 *)0x1;\n  goto LAB_00011a84;\n  while( true ) {\n    iVar17 = iVar17 + -1;\n    cVar8 = *pcVar18;\n    pcVar18 = pcVar18 + (uint)bVar37 * -2 + 1;\n    if (cVar8 == '\0') break;\ncode_r0x00011d5c:\n    if (iVar17 == 0) break;\n  }\n  if ((iVar17 == -3) && (*local_798 == '-')) {\n    pr2serr("don\'t accept \'-\' (implying stdin) as a filename in --scat-file=SF\n");\n    local_908 = (stat64 *)0x1f;\n    goto LAB_00011a84;\n  }\nLAB_00011d67:\n  if ((((stat64 *)uVar19 != (stat64 *)0x0) && ((_Bool)local_820[0] != false)) &&\n     ((local_820._96_4_ != 0xffffffff || ((local_820._58_2_ & local_820._68_2_) != 0xffff)))) {\n    pr2serr("--app-tag=, --ref-tag= and --tag-mask= options ignored with 16 byte commands\n");\n  }\n  uVar24 = local_820._80_4_;\n  psVar12 = (stat64 *)(uint)local_820[0x10];\n  if ((_Bool)local_820[0x10] == false) {\n    local_93c = (stat64 *)local_820._80_4_;\n    cVar2 = '\0';\n    if (local_79c == (char *)0x0) {\n      pr2serr("Need --if=FN option to be given, exiting.\n");\n      if (1 < (int)uVar19) {\n        pr2serr("To write zeros use --in=/dev/zero\n");\n      }\n      pr2serr("\n");\n      iVar17 = 0;\n      if (-1 < (int)local_820._32_4_) {\n        iVar17 = local_820._32_4_;\n      }\n      usage(iVar17);\n      local_908 = (stat64 *)0x1;\n      goto LAB_00011a84;\n    }\n    iVar17 = -1;\n    pcVar18 = local_79c;\n    do {\n      if (iVar17 == 0) break;\n      iVar17 = iVar17 + -1;\n      cVar8 = *pcVar18;\n      pcVar18 = pcVar18 + (uint)bVar37 * -2 + 1;\n    } while (cVar8 != '\0');\n    if ((iVar17 != -3) || (*local_79c != '-')) {\n      local_924 = (stat64 *)open64(local_79c,0,iVar17,iVar17);\n      if ((int)local_924 < 0) {\n        piVar21 = __errno_location();\n        iVar17 = *piVar21;\n        pcVar18 = "could not open %s for reading";\n      }\n      else {\n        psVar20 = (stat64 *)sg_set_binary_mode(local_924);\n        if ((int)psVar20 < 0) goto LAB_00011dea;\n        psVar26 = local_924;\n        psVar11 = local_930;\n        iVar17 = __fxstat64(3,(int)local_924,local_930);\n        if (-1 < iVar17) {\n          if ((local_8e0._16_4_ & 0xf000) == 0x8000) {\n            local_93c = (stat64 *)local_8e0._44_4_;\n            if ((stat64 *)uVar24 != (stat64 *)0x0) {\n              local_93c = (stat64 *)uVar24;\n            }\n            if ((local_8b0 != 0 || (stat64 *)local_8e0._44_4_ != (stat64 *)0x0) &&\n               (psVar29 = (stat64 *)((int)&((stat64 *)(local_8e0._44_4_ + -0x60))->st_ino + 7),\n               iVar23 = local_8b0 + -1 + (uint)((stat64 *)local_8e0._44_4_ != (stat64 *)0x0),\n               iVar17 = (int)local_7b0 - iVar23,\n               (SBORROW4((int)local_7b0,iVar23) !=\n               SBORROW4(iVar17,(uint)((uint)local_820._108_4_ < psVar29))) ==\n               (int)(iVar17 - (uint)((uint)local_820._108_4_ < psVar29)) < 0)) {\n              pr2serr("Offset (%llu) is at or beyond IF byte length (%llu)\n",local_820._108_4_,\n                      local_7b0,local_8e0._44_4_,local_8b0,psVar26,psVar11,psVar20);\n              local_908 = (stat64 *)0xf;\n              goto LAB_00012527;\n            }\n            psVar12 = (stat64 *)local_820._108_4_;\n            psVar49 = (stat64 *)local_8e0._44_4_;\n            iVar17 = local_8b0;\n            if (local_7b0 != (stat64 *)0x0 || (stat64 *)local_820._108_4_ != (stat64 *)0x0) {\n              psVar20 = (stat64 *)0x0;\n              psVar26 = (stat64 *)local_820._108_4_;\n              psVar11 = local_7b0;\n              _Var40 = lseek64((int)local_924,CONCAT44(local_7b0,local_820._108_4_),0);\n              psVar29 = (stat64 *)local_820._108_4_;\n              if (_Var40 < 0) {\n                piVar21 = __errno_location();\n                psVar29 = (stat64 *)(local_174 + 0x50);\n                iVar17 = *piVar21;\n                __snprintf_chk(psVar29,0x100,1,0x100,"couldn\'t offset to required position on %s",\n                               local_79c,piVar21,piVar21);\n                perror((char *)psVar29);\n                local_908 = (stat64 *)sg_convert_errno(iVar17);\n                goto LAB_00012527;\n              }\n              psVar12 = (stat64 *)((int)psVar49 - local_820._108_4_);\n              iVar17 = (local_8b0 - (int)local_7b0) - (uint)(psVar49 < (uint)local_820._108_4_);\n              local_930 = psVar49;\n              if ((int)(uint)(psVar12 != (stat64 *)0x0) <= -iVar17) {\n                pr2serr("--offset [0x%llx] at or beyond file length[0x%llx]\n",local_820._108_4_,\n                        local_7b0,psVar49,local_8b0);\n                local_908 = (stat64 *)0xf;\n                goto LAB_00012527;\n              }\n              if ((local_820._40_4_ != 0) &&\n                 (local_930 = (stat64 *)local_820._80_4_,\n                 iVar17 < (int)(uint)(psVar12 < (uint)local_820._80_4_))) {\n                pr2serr("after accounting for OFF, DLEN exceeds %s remaining length (%u bytes)\n",\n                        local_79c,psVar12,psVar12);\n                local_908 = (stat64 *)0xf;\n                psVar29 = psVar12;\n                goto LAB_00012527;\n              }\n              if (iVar17 < (int)(uint)(psVar12 < local_93c)) {\n                local_93c = psVar12;\n              }\n              psVar49 = psVar12;\n              if (2 < (int)uVar19) {\n                psVar26 = (stat64 *)local_820._108_4_;\n                psVar11 = local_93c;\n                psVar20 = psVar12;\n                psVar12 = (stat64 *)\n                          pr2serr("Moved IF byte pointer to %u, if_len=%u, if_readable_len=%u\n",\n                                  local_820._108_4_,local_93c,psVar12);\n              }\n            }\n            goto LAB_00011fa8;\n          }\n          goto LAB_00011e6c;\n        }\n        piVar21 = __errno_location();\n        iVar17 = *piVar21;\n        pcVar18 = "could not fstat %s";\n      }\n      __snprintf_chk(local_174 + 0x50,0x100,1,0x100,pcVar18,local_79c,piVar21,piVar21);\n      perror(local_174 + 0x50);\n      local_908 = (stat64 *)sg_convert_errno(iVar17);\n      goto LAB_00011a84;\n    }\n    iVar17 = sg_set_binary_mode(0);\n    cVar2 = '\x01';\n    local_924 = (stat64 *)0x0;\n    if (iVar17 < 0) {\nLAB_00011dea:\n      perror("sg_set_binary_mode");\n      local_908 = (stat64 *)0xf;\n      goto LAB_00011a84;\n    }\nLAB_00011e6c:\n    if (((stat64 *)((uint)local_7b0 | local_820._108_4_) == (stat64 *)0x0) ||\n       ((stat64 *)uVar19 == (stat64 *)0x0)) {\n      psVar12 = (stat64 *)((uint)local_7b0 | local_820._108_4_);\n      psVar49 = (stat64 *)0x0;\n      iVar17 = 0;\n    }\n    else {\n      psVar12 = (stat64 *)\n                pr2serr(\n                       "--offset=OFF ignored when IF is stdin, pipe, socket, etc\nDLEN, if given, is used\n"\n                       );\n      psVar49 = (stat64 *)0x0;\n      iVar17 = 0;\n    }\n  }\n  else {\n    local_924 = (stat64 *)0xffffffff;\n    cVar2 = '\0';\n    psVar49 = (stat64 *)0x0;\n    iVar17 = 0;\n    local_93c = (stat64 *)0x0;\n  }\nLAB_00011fa8:\n  if (local_7a0 == (stat64 *)0x0) {\n    pr2serr("missing device name!\n",psVar26,psVar11,psVar20);\n    iVar17 = 0;\n    if (-1 < (int)local_820._32_4_) {\n      iVar17 = local_820._32_4_;\n    }\n    usage(iVar17);\n    local_908 = (stat64 *)0x1;\n    psVar29 = (stat64 *)0x0;\nLAB_00012527:\n    if (local_8f0 == (void *)0x0) goto LAB_000123a1;\n    free(local_8f0);\n    goto LAB_000123a1;\n  }\n  pcVar18 = (char *)0x0;\n  psVar20 = (stat64 *)uVar19;\n  uVar38 = sg_cmds_open_device(local_7a0,0,uVar19,psVar12);\n  psVar29 = (stat64 *)local_820._72_4_;\n  psVar26 = (stat64 *)((ulonglong)uVar38 >> 0x20);\n  local_930 = (stat64 *)uVar38;\n  if ((int)local_930 < 0) {\n    psVar29 = (stat64 *)-(int)local_930;\n    if ((stat64 *)local_820._48_4_ != (stat64 *)0x0) {\n      uVar19 = safe_strerror(psVar29);\n      pr2serr("open error: %s: %s\n",local_7a0,uVar19);\n    }\n    local_908 = (stat64 *)sg_convert_errno(psVar29);\n    goto LAB_00012527;\n  }\n  psVar11 = (stat64 *)local_820._76_4_;\n  psVar14 = (stat64 *)local_820._76_4_;\n  if ((stat64 *)local_820._72_4_ == (stat64 *)0x0) {\n    psVar20 = (stat64 *)0x0;\n    if ((stat64 *)local_820._48_4_ != (stat64 *)0x0) {\n      psVar20 = (stat64 *)((int)&((stat64 *)(local_820._48_4_ + -0x60))->st_ino + 7);\n    }\n    psVar26 = (stat64 *)local_174;\n    psVar14 = (stat64 *)0x1;\n    pcVar18 = (char *)0x20;\n    psVar12 = psVar20;\n    psVar11 = (stat64 *)local_820._48_4_;\n    uVar38 = sg_ll_readcap_16(local_930,0,0,0,psVar26,0x20,1,psVar20,psVar26,local_820._48_4_,\n                              psVar49,iVar17);\n    if ((int)uVar38 == 6) {\n      pr2serr("Read capacity(16) unit attention, try again\n");\n      uVar38 = sg_ll_readcap_16(local_930,0,0,0,psVar26,0x20,1,psVar20);\n    }\n    psVar27 = (stat64 *)((ulonglong)uVar38 >> 0x20);\n    local_908 = (stat64 *)uVar38;\n    if (local_908 == (stat64 *)0x0) {\n      psVar20 = psVar14;\n      if (3 < (int)psVar11) {\n        pr2serr("Read capacity(16) response:\n");\n        psVar20 = (stat64 *)0x1;\n        pcVar18 = (char *)0x20;\n        hex2stderr(psVar26,0x20,1);\n      }\n      bVar1 = local_174[0xc];\n      psVar14 = (stat64 *)\n                ((uint)local_174._8_4_ >> 0x18 | (local_174._8_4_ & 0xff0000) >> 8 |\n                 (local_174._8_4_ & 0xff00) << 8 | local_174._8_4_ << 0x18);\n      uVar10 = (uint)local_174._4_4_ >> 0x18 | (local_174._4_4_ & 0xff0000) >> 8 |\n               (local_174._4_4_ & 0xff00) << 8 | local_174._4_4_ << 0x18;\n      local_7ac = uVar10 + 1;\n      local_7a8 = ((uint)local_174._0_4_ >> 0x18 | (local_174._0_4_ & 0xff0000) >> 8 |\n                   (local_174._0_4_ & 0xff00) << 8 | local_174._0_4_ << 0x18) +\n                  (uint)(0xfffffffe < uVar10);\n      psVar26 = (stat64 *)(uint)local_174[0xc];\n      local_820._72_4_ = psVar14;\n      if ((local_174[0xc] & 1) == 0) {\n        local_820._36_4_ = 0;\n        if ((int)local_820._52_4_ < 1) goto LAB_00012305;\n        if (psVar11 != (stat64 *)0x0) {\n          pcVar18 = (char *)local_820._52_4_;\n          psVar26 = local_7a0;\n          pr2serr("--wrprotect (%d) expects PI but %s says it has none\n",local_820._52_4_,local_7a0\n                  ,psVar14);\n          if (local_820._40_4_ != 0) goto LAB_00012ef5;\n          pcVar16 = "  ... continue but could be dangerous\n";\n          psVar29 = (stat64 *)0x0;\n          psVar12 = psVar14;\n          goto LAB_00013516;\n        }\n        if (local_820._40_4_ != 0) goto LAB_00012ef5;\n      }\n      else {\n        local_820._36_4_ = (local_174[0xc] >> 1 & 7) + 1;\n        psVar29 = (stat64 *)(8 << (local_174[0xd] >> 4));\n        psVar26 = (stat64 *)(uint)(local_174[0xd] >> 4);\n        if (((int)local_820._52_4_ < 1) ||\n           (local_820._76_4_ = (int)&psVar29->st_dev + (int)&psVar14->st_dev, (int)psVar11 < 2)) {\nLAB_00012305:\n          if (psVar11 == (stat64 *)0x0) goto LAB_00012312;\n        }\n        else {\n          pcVar16 = \n          "  For data out buffer purposes the effective block size is %u (lb size\n  is %u) because PROT_EN=1, PI_EXP=%u and WRPROTECT>0\n"\n          ;\n          pcVar18 = (char *)psVar14;\n          psVar12 = (stat64 *)local_820._76_4_;\nLAB_00013516:\n          pr2serr(pcVar16,pcVar18,psVar26,psVar12);\n          psVar20 = psVar26;\n        }\n        pr2serr("Read capacity(16) response fields:\n",pcVar18,psVar20,psVar12);\n        psVar29 = (stat64 *)((int)(__dev_t *)local_820._72_4_ + (int)&psVar29->st_dev);\n        psVar12 = extraout_ECX_05;\n        pr2serr("  Last_LBA=0x%llx  LB size: %u (with PI: %u) bytes  p_type=%u\n",local_7ac + -1,\n                local_7a8 + -1 + (uint)(local_7ac != 0),local_820._72_4_,psVar29,\n                local_174[0xc] >> 1 & 7,extraout_ECX_05,extraout_ECX_05);\n        pr2serr("  prot_en=%u [PI type=%u] p_i_exp=%u  lbppb_exp=%u  lbpme,rz=%u,",bVar1 & 1,\n                local_820._36_4_,local_174[0xd] >> 4,local_174[0xd] & 0xf,\n                (uint)(int)(char)local_174[0xe] >> 0x1f);\n        psVar20 = (stat64 *)\n                  ((ushort)(local_174._14_2_ << 8 | (ushort)local_174._14_2_ >> 8) & 0x3fff);\n        pcVar18 = (char *)(local_174[0xe] >> 6 & 1);\n        pr2serr("%u  low_ali_lba=%u\n",pcVar18,psVar20);\n        psVar26 = extraout_EDX_04;\n      }\n    }\n    else {\n      if (((int)local_908 - 5U & 0xfffffffb) != 0) {\n        if (psVar11 != (stat64 *)0x0) {\n          puVar48 = local_174 + 0x50;\n          psVar29 = (stat64 *)"OS error";\n          puVar33 = puVar48;\n          for (iVar17 = 9; iVar17 != 0; iVar17 = iVar17 + -1) {\n            *puVar33 = (char)psVar29->st_dev;\n            psVar29 = (stat64 *)((int)psVar29 + (uint)bVar37 * -2 + 1);\n            puVar33 = puVar33 + (uint)bVar37 * -2 + 1;\n          }\n          psVar41 = local_908;\n          if (0 < (int)local_908) {\n            psVar41 = (stat64 *)sg_get_category_sense_str(local_908,0x50,puVar48,psVar11);\n          }\n          pr2serr("Read capacity(16): %s\n",puVar48,psVar41,psVar41);\n          pr2serr("Unable to calculate block size\n");\n        }\n        if (0 < (int)local_908) goto LAB_00012354;\n        goto LAB_00012ef5;\n      }\n      if (psVar11 == (stat64 *)0x0) {\n        pcVar18 = (char *)0x1;\n        uVar38 = sg_ll_readcap_10(local_930,0,0,psVar26,8,1,psVar20,psVar27);\n        psVar26 = (stat64 *)((ulonglong)uVar38 >> 0x20);\n        local_908 = (stat64 *)uVar38;\n        psVar12 = psVar27;\n        if (local_908 != (stat64 *)0x0) {\nLAB_00013444:\n          puVar48 = local_174 + 0x50;\n          psVar29 = (stat64 *)"OS error";\n          puVar33 = puVar48;\n          for (iVar17 = 9; iVar17 != 0; iVar17 = iVar17 + -1) {\n            *puVar33 = (char)psVar29->st_dev;\n            psVar29 = (stat64 *)((int)psVar29 + (uint)bVar37 * -2 + 1);\n            puVar33 = puVar33 + (uint)bVar37 * -2 + 1;\n          }\n          if (0 < (int)local_908) {\n            sg_get_category_sense_str(local_908,0x50,puVar48,psVar11);\n            pr2serr("Read capacity(10): %s\n",puVar48);\n            pr2serr("Unable to calculate block size\n");\n            goto LAB_00012354;\n          }\n          __snprintf_chk(puVar48,0x50,1,0x50,"error: %d",local_908,local_908,local_908);\n          pr2serr("Read capacity(10): %s\n",puVar48);\n          pr2serr("Unable to calculate block size\n");\n          local_908 = (stat64 *)0xf;\n          goto LAB_00012354;\n        }\n      }\n      else {\n        psVar29 = psVar26;\n        pr2serr("Read capacity(16) not supported, try Read capacity(10)\n");\n        pcVar18 = (char *)0x1;\n        uVar38 = sg_ll_readcap_10(local_930,0,0,psVar29,8,1,psVar20);\n        psVar26 = (stat64 *)((ulonglong)uVar38 >> 0x20);\n        local_908 = (stat64 *)uVar38;\n        if (local_908 != (stat64 *)0x0) goto LAB_00013444;\n        if (3 < (int)psVar11) {\n          pr2serr("Read capacity(10) response:\n");\n          psVar20 = (stat64 *)0x1;\n          pcVar18 = (char *)0x8;\n          hex2stderr(psVar29,8,1);\n          psVar26 = extraout_EDX_03;\n        }\n      }\n      local_7a8 = 0;\n      local_7ac = ((uint)local_174._0_4_ >> 0x18 | (local_174._0_4_ & 0xff0000) >> 8 |\n                   (local_174._0_4_ & 0xff00) << 8 | local_174._0_4_ << 0x18) + 1;\n      local_820._72_4_ =\n           (uint)local_174._4_4_ >> 0x18 | (local_174._4_4_ & 0xff0000) >> 8 |\n           (local_174._4_4_ & 0xff00) << 8 | local_174._4_4_ << 0x18;\n    }\nLAB_00012312:\n    local_820._76_4_ = local_820._72_4_;\n    if ((_Bool)local_820[0xd] != false) {\n      local_820._76_4_ = local_820._72_4_ + 8;\n    }\n    psVar11 = (stat64 *)local_820._76_4_;\n    psVar14 = (stat64 *)local_820._72_4_;\n    if ((stat64 *)local_820._76_4_ == (stat64 *)0x0) goto LAB_00012338;\n  }\n  local_820._76_4_ = psVar11;\n  if (psVar14 == (stat64 *)0x0) {\nLAB_00012338:\n    pr2serr("Logic error, need block size by now\n",pcVar18,psVar20);\n    local_908 = (stat64 *)0x1;\n    goto LAB_00012354;\n  }\n  if ((local_820[0x10] == 0) &&\n     (psVar26 = (stat64 *)((uint)local_93c % (uint)psVar11), psVar26 != (stat64 *)0x0)) {\n    if (1 < (int)local_820._40_4_) {\n      pr2serr("Error: number of bytes to read from IF [%u] is not a multiple\nblock size %u (including protection information)\n"\n              ,local_93c,psVar11,local_820._40_4_);\n      local_908 = (stat64 *)0xf;\n      goto LAB_00012354;\n    }\n    psVar14 = (stat64 *)(local_820._40_4_ | uVar19);\n    if (psVar14 != (stat64 *)0x0) {\n      pcVar18 = (char *)local_93c;\n      pr2serr("Warning: number of bytes to read from IF [%u] is not a multiple\nof actual block size %u; pad with zeros\n"\n              ,local_93c,psVar11,psVar14);\n      psVar26 = extraout_EDX_02;\n      psVar20 = psVar11;\n      psVar12 = psVar14;\n    }\n  }\n  puVar47 = &local_578;\n  puVar31 = puVar47;\n  for (iVar17 = 0x100; iVar17 != 0; iVar17 = iVar17 + -1) {\n    *puVar31 = 0;\n    puVar31 = puVar31 + (uint)bVar37 * -2 + 1;\n  }\n  ppsVar42 = local_778;\n  ppsVar32 = ppsVar42;\n  for (iVar17 = 0x80; iVar17 != 0; iVar17 = iVar17 + -1) {\n    *ppsVar32 = (stat64 *)0x0;\n    ppsVar32 = ppsVar32 + (uint)bVar37 * -2 + 1;\n  }\n  if (bVar36) {\n    uVar10 = 0xffffffff;\n    psVar26 = local_91c;\n    do {\n      if (uVar10 == 0) break;\n      uVar10 = uVar10 - 1;\n      p_Var3 = &psVar26->st_dev;\n      psVar26 = (stat64 *)((int)psVar26 + (uint)bVar37 * -2 + 1);\n    } while ((char)*p_Var3 != '\0');\n    psVar29 = (stat64 *)(~uVar10 - 1);\n    if ((char)local_91c->st_dev == '-') {\n      pr2serr("\'--lba\' cannot be read from stdin\n",pcVar18,psVar20,psVar12);\n      goto LAB_00012130;\n    }\n    pcVar18 = "0123456789aAbBcCdDeEfFhHxXiIkKmMgGtTpP, ";\n    psVar20 = local_91c;\n    psVar12 = local_91c;\n    psVar11 = (stat64 *)strspn((char *)local_91c,"0123456789aAbBcCdDeEfFhHxXiIkKmMgGtTpP, ");\n    psVar26 = psVar29;\n    if (psVar29 == psVar11) {\n      psVar26 = (stat64 *)0x0;\n      psVar29 = local_91c;\n      while( true ) {\n        lVar39 = sg_get_llnum(psVar29,pcVar18,psVar20,psVar12);\n        psVar20 = (stat64 *)lVar39;\n        if (lVar39 == -1) break;\n        puVar47[(int)psVar26 * 2] = (uint)psVar20;\n        puVar47[(int)psVar26 * 2 + 1] = (uint)((ulonglong)lVar39 >> 0x20);\n        psVar12 = psVar20;\n        pcVar15 = strchr((char *)psVar29,0x2c);\n        pcVar18 = (char *)0x20;\n        pcVar16 = strchr((char *)psVar29,0x20);\n        if (pcVar15 == (char *)0x0) {\n          if (pcVar16 == (char *)0x0) {\n            local_91c = (stat64 *)((int)&psVar26->st_dev + 1);\n            if (local_93f != '\0') goto LAB_000126fa;\n            psVar26 = (stat64 *)0x0;\n            psVar20 = extraout_ECX;\n            if (local_91c != (stat64 *)0x1) goto LAB_00012a73;\n            goto LAB_00012820;\n          }\n        }\n        else if ((pcVar16 == (char *)0x0) || (pcVar15 <= pcVar16)) {\n          pcVar16 = pcVar15;\n        }\n        psVar26 = (stat64 *)((int)&psVar26->st_dev + 1);\n        psVar29 = (stat64 *)(pcVar16 + 1);\n        if (psVar26 == (stat64 *)0x80) goto LAB_00013b9f;\n      }\n      psVar11 = (stat64 *)((int)psVar29 - (int)local_91c);\n    }\n    pr2serr("build_lba_arr: error at pos %d\n",(undefined1 *)((int)&psVar11->st_dev + 1),psVar26,\n            psVar26);\n    goto LAB_00012130;\n  }\n  local_91c = (stat64 *)0x0;\n  if (bVar35) {\nLAB_000126fa:\n    psVar11 = (stat64 *)0xffffffff;\n    psVar26 = local_918;\n    do {\n      if (psVar11 == (stat64 *)0x0) break;\n      psVar11 = (stat64 *)((int)&psVar11[-1].st_ino + 7);\n      p_Var3 = &psVar26->st_dev;\n      psVar26 = (stat64 *)((int)psVar26 + (uint)bVar37 * -2 + 1);\n    } while ((char)*p_Var3 != '\0');\n    psVar29 = (stat64 *)(~(uint)psVar11 - 1);\n    if ((char)local_918->st_dev == '-') {\n      pr2serr("\'--len\' cannot be read from stdin\n");\n    }\n    else {\n      pcVar18 = "0123456789aAbBcCdDeEfFhHxXiIkKmMgGtTpP, ";\n      psVar20 = psVar11;\n      psVar26 = (stat64 *)strspn((char *)local_918,"0123456789aAbBcCdDeEfFhHxXiIkKmMgGtTpP, ");\n      psVar12 = extraout_EDX_00;\n      if (psVar29 == psVar26) {\n        psVar12 = (stat64 *)0x0;\n        psVar29 = local_918;\n        do {\n          lVar39 = sg_get_llnum(psVar29,pcVar18,psVar11,psVar20);\n          psVar11 = (stat64 *)lVar39;\n          if ((int)((ulonglong)lVar39 >> 0x20) == -1) {\n            if (psVar11 == (stat64 *)0xffffffff) {\n              psVar26 = (stat64 *)((int)psVar29 - (int)local_918);\n              goto LAB_000127bf;\n            }\n          }\n          else if (0xffffffff < lVar39) {\n            psVar20 = (stat64 *)((int)psVar29 + (1 - (int)local_918));\n            pcVar18 = "build_num_arr";\n            pr2serr("%s: number exceeds 32 bits at pos %d\n","build_num_arr",psVar20,psVar12);\n            goto LAB_000127d9;\n          }\n          ppsVar42[(int)psVar12] = psVar11;\n          psVar20 = psVar11;\n          pcVar15 = strchr((char *)psVar29,0x2c);\n          pcVar18 = (char *)0x20;\n          pcVar16 = strchr((char *)psVar29,0x20);\n          if (pcVar15 == (char *)0x0) {\n            if (pcVar16 == (char *)0x0) {\n              puVar48 = (undefined1 *)((int)&psVar12->st_dev + 1);\n              psVar26 = (stat64 *)0x0;\n              psVar20 = extraout_ECX_00;\n              if ((undefined1 *)0x1 < local_91c) {\n                if ((stat64 *)puVar48 == local_91c) goto LAB_00012820;\n                goto LAB_00012a73;\n              }\n              if (local_91c == (stat64 *)0x0) {\n                if (puVar48 != (undefined1 *)0x1) {\nLAB_00012a73:\n                  pr2serr("need same number of arguments to \'--lba=\' and \'--num=\' options\n");\n                  local_908 = (stat64 *)0x1f;\n                  goto LAB_00012354;\n                }\n                local_91c = (stat64 *)(undefined1 *)0x1;\n                if (local_778[0] != (stat64 *)0x0) {\n                  pr2serr("won\'t write %u blocks without an explicit --lba= option\n",local_778[0],\n                          extraout_ECX_00,extraout_ECX_00);\n                  local_908 = (stat64 *)0x1;\n                  goto LAB_00012354;\n                }\n              }\n              else {\n                local_91c = (stat64 *)(undefined1 *)0x1;\n              }\n              goto LAB_00012820;\n            }\n          }\n          else if ((pcVar16 == (char *)0x0) || (pcVar15 <= pcVar16)) {\n            pcVar16 = pcVar15;\n          }\n          psVar12 = (stat64 *)((int)&psVar12->st_dev + 1);\n          psVar29 = (stat64 *)(pcVar16 + 1);\n        } while (psVar12 != (stat64 *)0x80);\n        pcVar18 = "build_num_arr";\n        psVar20 = extraout_ECX_00;\n        psVar12 = extraout_ECX_00;\n        pr2serr("%s: array length exceeded\n","build_num_arr",extraout_ECX_00,extraout_ECX_00);\n      }\n      else {\nLAB_000127bf:\n        psVar20 = (stat64 *)((int)&psVar26->st_dev + 1);\n        pcVar18 = "build_num_arr";\n        pr2serr("%s: error at pos %d\n","build_num_arr",psVar20,psVar12);\n      }\n    }\nLAB_000127d9:\n    pr2serr("bad argument to \'--num\'\n",pcVar18,psVar20,psVar12);\n    local_908 = (stat64 *)0x0;\n    goto LAB_00012354;\n  }\n  psVar20 = (stat64 *)0x0;\n  local_91c = (stat64 *)(undefined1 *)0x0;\nLAB_00012820:\n  if (local_798 == (char *)0x0) {\nLAB_00012ce5:\n    local_908 = (stat64 *)0x0;\n    local_880._44_4_ = psVar29;\n  }\n  else {\n    pcVar18 = local_798;\n    iVar17 = __xstat64(3,local_798,psVar41);\n    if (iVar17 < 0) {\n      piVar21 = __errno_location();\n      psVar29 = (stat64 *)*piVar21;\n      uVar19 = safe_strerror(psVar29);\n      pcVar18 = "Unable to stat(%s) as SF: %s\n";\nLAB_000136f9:\n      pr2serr(pcVar18,local_798,uVar19);\n      local_908 = (stat64 *)sg_convert_errno(psVar29);\n      goto LAB_00012354;\n    }\n    if ((_Bool)local_820[7] == false) {\n      uVar34 = 0;\n      if (local_820._64_2_ != 0) {\n        uVar34 = ((ushort)local_820._64_2_ + 1) * 0x20;\n      }\n      local_908 = (stat64 *)\n                  build_t10_scat(local_798,(_Bool)local_820[0],(_Bool)(local_820[9] ^ 1),\n                                 (uint8_t *)0x0,&local_8f8,(uint32_t *)&local_8f4,uVar34);\n      if (local_908 != (stat64 *)0x0) goto LAB_00012354;\n      psVar20 = extraout_ECX_03;\n      if ((local_820._64_2_ != 0) && (local_820._64_2_ != local_8f8)) {\n        if (local_8f8 < (ushort)local_820._64_2_) {\n          pr2serr("RD (%u) %s number of %ss (%u) found in SF\n",local_820._64_2_,&DAT_000170dd,\n                  "LBA range descriptor",local_8f8);\n          local_908 = (stat64 *)0xf;\n          goto LAB_00012354;\n        }\n        psVar29 = (stat64 *)(uVar19 | local_820._40_4_);\n        if ((psVar29 != (stat64 *)0x0) &&\n           (pr2serr("RD (%u) %s number of %ss (%u) found in SF\n",local_820._64_2_,&DAT_00017110,\n                    "LBA range descriptor",local_8f8), psVar20 = extraout_ECX_01,\n           local_820._40_4_ != 0)) goto LAB_00012ef5;\n      }\n      goto LAB_00012ce5;\n    }\n    if ((local_880._16_4_ & 0xf000) != 0x8000) {\n      pr2serr("Expect scatter file to be a regular file\n",pcVar18,psVar41,psVar26);\n      local_908 = (stat64 *)0xf;\n      goto LAB_00012354;\n    }\n    local_908 = (stat64 *)local_880._44_4_;\n    local_920 = (stat64 *)open64(local_798,0,0x8000,0x8000);\n    if ((int)local_920 < 0) {\n      piVar21 = __errno_location();\n      psVar29 = (stat64 *)*piVar21;\n      uVar19 = safe_strerror(psVar29);\n      pcVar18 = "Failed to open %s for raw read: %s\n";\n      goto LAB_000136f9;\n    }\n    iVar17 = sg_set_binary_mode(local_920);\n    psVar20 = extraout_ECX_04;\n    if (iVar17 < 0) {\n      perror("sg_set_binary_mode");\n      local_908 = (stat64 *)0xf;\n      psVar29 = (stat64 *)local_880._44_4_;\n      goto LAB_00012354;\n    }\n  }\n  uVar24 = local_820._48_4_;\n  psVar29 = local_8f4;\n  if ((_Bool)local_820[9] == false) {\n    if (local_91c == (stat64 *)0x0) {\n      psVar29 = (stat64 *)local_880._44_4_;\n      if (local_798 == (char *)0x0) {\n        if ((_Bool)local_820[7] == false) {\n          pr2serr("No LBA or number_of_blocks given, try using --lba= and --num=\n");\n          local_908 = (stat64 *)0x1;\n          goto LAB_00012354;\n        }\n      }\n      else if ((_Bool)local_820[7] == false) {\n        local_8f4 = (stat64 *)0x0;\n        local_908 = (stat64 *)\n                    build_t10_scat(local_798,(_Bool)local_820[0],true,local_174 + 0x50,&local_8f8,\n                                   (uint32_t *)&local_8f4,0x60);\n        if (local_908 != (stat64 *)0x0) goto LAB_00012354;\n        if ((stat64 *)uVar19 != (stat64 *)0x0) {\n          uVar10 = (uint)local_8f8;\n          if (1 < local_8f8) {\n            uVar10 = pr2serr("warning: %d LBA,number_of_blocks pairs found, only taking first\n",\n                             uVar10,extraout_EDX_05,extraout_EDX_05);\n          }\n          if (2 < (int)uVar19) {\n            pr2serr("after build_t10_scat, num_lbard=%u, sum_num=%u\n",local_8f8,local_8f4,uVar10);\n          }\n        }\n        if (local_8f8 != 1) {\n          pr2serr("Unable to decode one LBA range descriptor from %s\n",local_798,0,0);\n          local_908 = (stat64 *)0xf;\n          goto LAB_00012354;\n        }\n        local_820._104_4_ =\n             local_104 >> 0x18 | (local_104 & 0xff0000) >> 8 | (local_104 & 0xff00) << 8 |\n             local_104 << 0x18;\n        local_820._100_4_ =\n             local_100 >> 0x18 | (local_100 & 0xff0000) >> 8 | (local_100 & 0xff00) << 8 |\n             local_100 << 0x18;\n        local_820._84_4_ =\n             local_fc >> 0x18 | (local_fc & 0xff0000) >> 8 | (local_fc & 0xff00) << 8 |\n             local_fc << 0x18;\n        if ((_Bool)local_820[1] != false) {\n          local_820._96_4_ =\n               local_f8 >> 0x18 | (local_f8 & 0xff0000) >> 8 | (local_f8 & 0xff00) << 8 |\n               local_f8 << 0x18;\n          local_820._58_2_ = local_f4 << 8 | local_f4 >> 8;\n          local_820._68_2_ = local_f2 << 8 | local_f2 >> 8;\n        }\n        goto LAB_00012d48;\n      }\n      if (local_908 < (stat64 *)0x40) {\n        pr2serr("raw scatter file must be at least 64 bytes long (length: %u)\n",local_908,\n                local_880._44_4_,local_880._44_4_);\nLAB_00012ef5:\n        local_908 = (stat64 *)0xf;\n        goto LAB_00012354;\n      }\n      psVar29 = (stat64 *)(local_174 + 0x50);\n      local_908 = (stat64 *)bin_read((int)local_920,(uint8_t *)psVar29,0x40,"SF");\n      if (local_908 != (stat64 *)0x0) goto LAB_00012354;\n      _Var9 = check_lbrds((uint8_t *)psVar29,0x40,(opts_t *)local_820,&local_8f8,\n                          (uint32_t *)&local_8f4);\n      if (!_Var9) goto LAB_00012ef5;\n      if (local_8f8 != 1) {\n        pr2serr("No %ss found in SF (num=%u)\n","LBA range descriptor",local_8f8,extraout_EDX_01);\n        goto LAB_00012ef5;\n      }\n      local_820._104_4_ =\n           local_114 >> 0x18 | (local_114 & 0xff0000) >> 8 | (local_114 & 0xff00) << 8 |\n           local_114 << 0x18;\n      local_820._100_4_ =\n           local_110 >> 0x18 | (local_110 & 0xff0000) >> 8 | (local_110 & 0xff00) << 8 |\n           local_110 << 0x18;\n      local_820._84_4_ =\n           local_10c >> 0x18 | (local_10c & 0xff0000) >> 8 | (local_10c & 0xff00) << 8 |\n           local_10c << 0x18;\n    }\n    else {\n      local_820._100_4_ = local_578;\n      local_820._104_4_ = local_574;\n      local_820._84_4_ = local_778[0];\n      if (((stat64 *)uVar19 != (stat64 *)0x0) && (local_91c != (stat64 *)0x1)) {\n        pr2serr("warning: %d LBA,number_of_blocks pairs found, only taking first\n",local_91c,\n                psVar20,psVar20);\n      }\n    }\nLAB_00012d48:\n    if ((_Bool)local_820[8] == false) {\n      psVar29 = (stat64 *)(local_820._84_4_ * local_820._76_4_);\n    }\n    else {\n      psVar29 = (stat64 *)0x0;\n      if ((_Bool)local_820[0x10] == false) {\n        psVar29 = (stat64 *)local_820._76_4_;\n      }\n    }\n    local_7a4 = psVar29;\n    if (psVar29 == (stat64 *)0x0) {\n      up = (uint8_t *)0x0;\n    }\n    else {\n      up = (uint8_t *)sg_memalign(psVar29,0,&local_8f0,0);\n      if (up == (uint8_t *)0x0) {\n        pcVar18 = "unable to allocate %u bytes of memory\n";\n        ppvVar44 = (void **)0x0;\n        uVar19 = 0;\n        psVar41 = psVar29;\nLAB_00013bea:\n        pr2serr(pcVar18,psVar41,ppvVar44,uVar19);\n        local_908 = (stat64 *)sg_convert_errno(0xc);\n        goto LAB_00012354;\n      }\n      if (psVar29 < local_93c) {\n        local_93c = psVar29;\n      }\n      local_908 = (stat64 *)bin_read((int)local_924,up,(uint32_t)local_93c,"IF 5");\n      if (local_908 != (stat64 *)0x0) goto LAB_00012354;\n    }\n    local_908 = (stat64 *)do_write_x((int)local_930,up,(int)psVar29,(opts_t *)local_820);\n    if (local_908 == (stat64 *)0x0) goto LAB_00012354;\n    if ((_Bool)local_820[6] != false) goto LAB_00012354;\n    puVar48 = local_174;\n    psVar29 = (stat64 *)"OS error";\n    puVar33 = puVar48;\n    for (iVar17 = 9; iVar17 != 0; iVar17 = iVar17 + -1) {\n      *puVar33 = (char)psVar29->st_dev;\n      psVar29 = (stat64 *)((int)psVar29 + (uint)bVar37 * -2 + 1);\n      puVar33 = puVar33 + (uint)bVar37 * -2 + 1;\n    }\n    uVar24 = 0;\n    if (0 < (int)local_908) {\n      sg_get_category_sense_str(local_908,0x50,puVar48,uVar19);\n      uVar24 = extraout_ECX_02;\n    }\n    pr2serr("%s: %s\n",local_790,puVar48,uVar24);\n    goto LAB_00012354;\n  }\n  local_8e8 = (void *)0x0;\n  local_8f6 = local_8f8;\n  local_8ec = local_8f4;\n  if ((_Bool)local_820[4] != false) {\n    if (local_820._62_2_ == 0) {\n      if (local_820._64_2_ == 0) {\n        psVar20 = local_93c;\n        if (local_93c == (stat64 *)0x0) {\n          pr2serr("With --combined= if DOF, RD are 0 and IF has an unknown length\nthen give up\n");\n          local_908 = (stat64 *)0x1f;\n          goto LAB_00012354;\n        }\n      }\n      else {\n        psVar20 = (stat64 *)(((ushort)local_820._64_2_ + 1) * 0x20);\n      }\n      if ((uint)psVar20 % (uint)local_820._76_4_ != 0) {\n        psVar20 = (stat64 *)(((uint)psVar20 / (uint)local_820._76_4_ + 1) * local_820._76_4_);\n      }\n    }\n    else {\n      psVar20 = (stat64 *)((uint)(ushort)local_820._62_2_ * local_820._76_4_);\n    }\n    ppvVar44 = &local_8e8;\n    uVar19 = 0;\n    psVar41 = (stat64 *)0x0;\n    psVar29 = (stat64 *)sg_memalign(psVar20,0,ppvVar44,0);\n    if (psVar29 == (stat64 *)0x0) {\nLAB_000141a6:\n      pcVar18 = "unable to allocate aligned memory for scatterlist+data\n";\n      goto LAB_00013bea;\n    }\n    psVar41 = local_93c;\n    if (psVar20 < local_93c) {\n      psVar41 = psVar20;\n    }\n    iVar17 = bin_read((int)local_924,(uint8_t *)psVar29,(uint32_t)psVar41,"IF c1");\n    local_908 = (stat64 *)iVar17;\n    if (iVar17 != 0) goto LAB_000133fd;\n    ppsVar42 = &local_8ec;\n    iVar23 = iVar17;\n    _Var9 = check_lbrds((uint8_t *)psVar29,(uint32_t)psVar20,(opts_t *)local_820,&local_8f6,\n                        (uint32_t *)ppsVar42);\n    if (_Var9) {\n      if ((local_820._64_2_ == 0) || (local_820._64_2_ == local_8f6)) {\n        local_820._64_2_ = local_8f6;\nLAB_00013fe3:\n        local_908 = (stat64 *)(((ushort)local_820._64_2_ + 1) * 0x20);\n        if ((uint)local_908 % (uint)local_820._76_4_ != 0) {\n          local_908 = (stat64 *)(((uint)local_908 / (uint)local_820._76_4_ + 1) * local_820._76_4_);\n        }\n        uVar10 = (uint)(ushort)local_820._62_2_;\n        uVar28 = uVar10 * local_820._76_4_;\n        local_918 = local_908;\n        local_8f6 = local_820._64_2_;\n        if (uVar28 - (int)local_908 != 0) {\n          if (uVar28 < local_908) {\n            pr2serr("%s: Cannot fit %ss (%u) in given LB data offset (%u)\n","process_scattered",\n                    "LBA range descriptor",(uint)(ushort)local_820._64_2_,uVar10,ppsVar42,iVar17,\n                    iVar23);\n            goto LAB_000133f3;\n          }\n          local_918 = (stat64 *)uVar28;\n          if (((uVar24 | local_820._40_4_) != 0) &&\n             (pr2serr("%s: empty blocks before LB data offset (%u), could be okay\n",\n                      "process_scattered",uVar10,uVar24 | local_820._40_4_), local_820._40_4_ != 0))\n          {\n            pr2serr("Exiting due to --strict; perhaps try again with --combined=%u\n",\n                    (uint)local_908 / (uint)local_820._76_4_,psVar29,psVar29);\n            local_908 = (stat64 *)0xf;\n            goto LAB_000133fd;\n          }\n        }\n        local_918 = (stat64 *)((int)local_8ec * local_820._76_4_ + (int)local_918);\n        if (local_918 <= psVar20) {\nLAB_0001418c:\n          local_820._84_4_ = local_8ec;\n          local_7a4 = (stat64 *)((int)local_8ec * local_820._76_4_);\n          goto LAB_00013962;\n        }\n        if (local_93c != local_918) {\n          if (local_93c < local_918) {\n            pr2serr("Calculated dout length (%u) %s bytes available in IF (%u)\n",local_918,\n                    &DAT_000170dd,local_93c);\n          }\n          else if (((stat64 *)uVar24 == (stat64 *)0x0 && local_820._40_4_ == 0) ||\n                  (pr2serr("Calculated dout length (%u) %s bytes available in IF (%u)\n",local_918,\n                           &DAT_00017110,local_93c), local_820._40_4_ == 0)) goto LAB_00014113;\n          goto LAB_000133f3;\n        }\nLAB_00014113:\n        psVar41 = (stat64 *)sg_memalign(local_918,0,&local_8e4,0);\n        if (psVar41 != (stat64 *)0x0) {\n          memcpy(psVar41,psVar29,(size_t)psVar20);\n          free(local_8e8);\n          local_8e8 = local_8e4;\n          local_908 = (stat64 *)\n                      bin_read((int)local_924,\n                               (uint8_t *)((int)&psVar20->st_dev + (int)&psVar41->st_dev),\n                               (int)local_918 - (int)psVar20,"IF c2");\n          psVar29 = psVar41;\n          if (local_908 != (stat64 *)0x0) goto LAB_000133fd;\n          goto LAB_0001418c;\n        }\nLAB_00014273:\n        pcVar18 = "unable to allocate memory for final scatterlist+data\n";\n        goto LAB_00013fbc;\n      }\n      if (local_8f6 < (ushort)local_820._64_2_) {\n        pr2serr("RD (%u) %s number of %ss (%u) found in IF\n",local_820._64_2_,&DAT_000170dd,\n                "LBA range descriptor",local_8f6,ppsVar42,iVar17,iVar23);\n      }\n      else if (((stat64 *)uVar24 == (stat64 *)0x0 && local_820._40_4_ == 0) ||\n              (pr2serr("RD (%u) %s number of %ss (%u) found in IF\n",local_820._64_2_,&DAT_00017110,\n                       "LBA range descriptor",local_8f6,ppsVar42,iVar17,iVar23),\n              local_820._40_4_ == 0)) {\n        local_908 = (stat64 *)0x0;\n        for (psVar41 = psVar29;\n            (stat64 *)(&psVar29->st_dev + (uint)(ushort)local_820._64_2_ * 4) != psVar41;\n            psVar41 = (stat64 *)&psVar41->st_rdev) {\n          uVar10 = psVar41->__pad2;\n          local_908 = (stat64 *)\n                      ((int)&local_908->st_dev +\n                      (uVar10 >> 0x18 | (uVar10 & 0xff0000) >> 8 | (uVar10 & 0xff00) << 8 |\n                      uVar10 << 0x18));\n        }\n        local_8ec = local_908;\n        goto LAB_00013fe3;\n      }\n    }\nLAB_000133f3:\n    local_908 = (stat64 *)0xf;\n    goto LAB_000133fd;\n  }\n  if (local_91c != (stat64 *)0x0) {\n    local_8f6 = (uint16_t)local_91c;\n  }\n  if (local_798 == (char *)0x0) {\n    if ((_Bool)local_820[7] != false) goto LAB_00013dcd;\n    if (local_91c == (stat64 *)0x0) {\n      pr2serr("How did we get here??\n");\n      local_908 = (stat64 *)0x1;\n      goto LAB_000133fd;\n    }\n    if ((local_820._64_2_ != 0) && (local_91c < (undefined1 *)(uint)(ushort)local_820._64_2_)) {\n      pr2serr("%s: number given to --scattered= (%u) exceeds number of --lba= elements (%u)\n",\n              "process_scattered",(undefined1 *)(uint)(ushort)local_820._64_2_,local_91c);\n      local_908 = (stat64 *)0x1f;\n      goto LAB_00012354;\n    }\n    uVar10 = (local_8f6 + 1) * 0x20;\n    local_820._62_2_ = (undefined2)(uVar10 / (uint)local_820._76_4_);\n    if (uVar10 % (uint)local_820._76_4_ != 0) {\n      local_820._62_2_ = local_820._62_2_ + 1;\n    }\n    iVar17 = 0;\n    local_8ec = (stat64 *)0x0;\n    do {\n      local_8ec = (stat64 *)((int)&local_8ec->st_dev + (int)ppsVar42[iVar17]);\n      iVar17 = iVar17 + 1;\n    } while (iVar17 < (int)local_91c);\n    local_918 = (stat64 *)\n                (((int)&local_8ec->st_dev + (uint)(ushort)local_820._62_2_) * local_820._76_4_);\n    psVar29 = (stat64 *)sg_memalign(local_918,0,&local_8e8,0);\n    if (psVar29 == (stat64 *)0x0) goto LAB_00013fb3;\n    iVar17 = 0;\n    psVar41 = psVar29;\n    do {\n      uVar10 = puVar47[iVar17 * 2];\n      uVar28 = puVar47[iVar17 * 2 + 1];\n      *(uint *)&psVar41->st_rdev =\n           uVar28 >> 0x18 | (uVar28 & 0xff0000) >> 8 | (uVar28 & 0xff00) << 8 | uVar28 << 0x18;\n      *(uint *)((int)&psVar41->st_rdev + 4) =\n           uVar10 >> 0x18 | (uVar10 & 0xff0000) >> 8 | (uVar10 & 0xff00) << 8 | uVar10 << 0x18;\n      psVar20 = ppsVar42[iVar17];\n      psVar41->__pad2 =\n           (uint)psVar20 >> 0x18 | ((uint)psVar20 & 0xff0000) >> 8 | ((uint)psVar20 & 0xff00) << 8 |\n           (int)psVar20 << 0x18;\n      if ((_Bool)local_820[1] != false) {\n        if (iVar17 == 0) {\n          *(uint *)&psVar41->st_size =\n               (uint)local_820._96_4_ >> 0x18 | (local_820._96_4_ & 0xff0000) >> 8 |\n               (local_820._96_4_ & 0xff00) << 8 | local_820._96_4_ << 0x18;\n          *(ushort *)((int)&psVar41->st_size + 4) =\n               local_820._58_2_ << 8 | (ushort)local_820._58_2_ >> 8;\n          *(ushort *)((int)&psVar41->st_size + 6) =\n               local_820._68_2_ << 8 | (ushort)local_820._68_2_ >> 8;\n        }\n        else {\n          *(undefined4 *)&psVar41->st_size = 0xffffffff;\n          *(undefined2 *)((int)&psVar41->st_size + 4) = 0xffff;\n          *(undefined2 *)((int)&psVar41->st_size + 6) = 0xffff;\n        }\n      }\n      iVar17 = iVar17 + 1;\n      psVar41 = (stat64 *)&psVar41->st_rdev;\n    } while (iVar17 < (int)local_91c);\n    local_820._84_4_ = local_8ec;\n  }\n  else {\n    if ((_Bool)local_820[7] == false) {\n      uVar10 = (uint)local_8f6;\n      uVar19 = 0;\n      uVar34 = (uVar10 + 1) * 0x20;\n      local_820._62_2_ = (undefined2)(uVar34 / (uint)local_820._76_4_);\n      ppvVar44 = &local_8e8;\n      if (uVar34 % (uint)local_820._76_4_ != 0) {\n        local_820._62_2_ = local_820._62_2_ + 1;\n      }\n      psVar41 = (stat64 *)0x0;\n      psVar29 = (stat64 *)\n                sg_memalign(((int)&local_8f4->st_dev + (uint)(ushort)local_820._62_2_) *\n                            local_820._76_4_,0,ppvVar44,0);\n      if (psVar29 == (stat64 *)0x0) goto LAB_000141a6;\n      local_8f6 = 0;\n      local_8ec = (stat64 *)0x0;\n      if (uVar10 + 1 == 1) {\n        uVar34 = (uint)(ushort)local_820._62_2_ * local_820._76_4_;\n      }\n      local_908 = (stat64 *)\n                  build_t10_scat(local_798,(_Bool)local_820[0],(_Bool)(local_820[9] ^ 1),\n                                 (uint8_t *)psVar29,&local_8f6,(uint32_t *)&local_8ec,uVar34);\n      if (local_908 != (stat64 *)0x0) goto LAB_000133fd;\n      psVar41 = (stat64 *)(local_820._76_4_ * (int)local_8ec);\n      if ((uint)local_820._80_4_ <= psVar41) {\n        if (((uint)local_820._80_4_ <= psVar41 && (int)psVar41 - local_820._80_4_ != 0) &&\n           ((stat64 *)local_820._80_4_ != (stat64 *)0x0)) {\n          psVar41 = (stat64 *)local_820._80_4_;\n        }\nLAB_00014208:\n        if ((psVar49 != (stat64 *)0x0) && (psVar49 != psVar41)) {\n          if ((stat64 *)uVar24 != (stat64 *)0x0) {\n            puVar22 = &DAT_00017110;\n            if (psVar41 <= psVar49) {\n              puVar22 = &DAT_000170dd;\n            }\n            pr2serr("readable length (%u) of IF %s bytes implied by sum of\nscatter list NUMs (%u) and DLEN\n"\n                    ,psVar49,puVar22,psVar41);\n          }\n          if ((local_820._40_4_ != 0) && ((psVar41 <= psVar49 || (1 < (int)local_820._40_4_))))\n          goto LAB_000133f3;\nLAB_0001387e:\n          if (psVar49 < psVar41) {\n            psVar41 = psVar49;\n          }\n        }\n        psVar20 = (stat64 *)((uint)psVar41 / (uint)local_820._76_4_);\n        if (((uint)psVar41 % (uint)local_820._76_4_ != 0) &&\n           (((stat64 *)uVar24 != (stat64 *)0x0 || (1 < (int)local_820._40_4_)))) {\n          psVar26 = psVar41;\n          psVar11 = (stat64 *)local_820._72_4_;\n          pr2serr("Calculated data-out length (0x%x) not a multiple of BS (%u",psVar41,\n                  local_820._72_4_,psVar20);\n          if (local_820._72_4_ != local_820._76_4_) {\n            psVar26 = (stat64 *)(local_820._76_4_ - local_820._72_4_);\n            psVar11 = extraout_ECX_06;\n            psVar20 = extraout_ECX_06;\n            pr2serr(" + %d(PI)",psVar26,extraout_ECX_06,extraout_ECX_06);\n          }\n          if (1 < (int)local_820._40_4_) {\n            pr2serr(")\nexiting ...\n",psVar26,psVar11,psVar20);\n            local_908 = (stat64 *)0xf;\n            goto LAB_000133fd;\n          }\n          pr2serr(")\nzero pad and continue ...\n",psVar26,psVar11,psVar20);\n        }\n      }\n      else {\n        uVar10 = uVar24 | local_820._40_4_;\n        if (uVar10 != 0) {\n          pr2serr("DLEN > than bytes implied by sum of scatter list NUMs (%u)\n",psVar41,uVar10,\n                  uVar10);\n          if (1 < (int)uVar24) {\n            pr2serr("  num_lbard=%u, sum_num=%u actual_bs=%u",local_8f6,local_8ec,local_820._76_4_);\n          }\n          if (local_820._40_4_ != 0) goto LAB_000133f3;\n          goto LAB_00014208;\n        }\n        if ((psVar49 != (stat64 *)0x0) && (psVar49 != psVar41)) goto LAB_0001387e;\n      }\n      local_908 = (stat64 *)\n                  bin_read((int)local_924,\n                           (uint8_t *)\n                           ((int)&psVar29->st_dev +\n                           (uint)(ushort)local_820._62_2_ * local_820._76_4_),(uint32_t)psVar41,\n                           "IF 3");\n      uVar4 = local_820._62_2_;\n    }\n    else {\nLAB_00013dcd:\n      psVar41 = (stat64 *)local_820._76_4_;\n      if (local_820._64_2_ != 0) {\n        psVar41 = (stat64 *)(((ushort)local_820._64_2_ + 1) * 0x20);\n        if (local_908 < psVar41) {\n          pr2serr("SF not long enough (%u bytes) to provide RD (%u) %ss\n",local_908,psVar41,\n                  "LBA range descriptor");\n          local_908 = (stat64 *)0xf;\n          goto LAB_000133fd;\n        }\n        psVar41 = (stat64 *)\n                  ((((uint)psVar41 / (uint)local_820._76_4_ + 1) -\n                   (uint)((uint)psVar41 % (uint)local_820._76_4_ == 0)) * local_820._76_4_);\n      }\n      local_918 = (stat64 *)local_820._76_4_;\n      if (local_93c != (stat64 *)0x0) {\n        local_918 = (stat64 *)\n                    ((((uint)local_93c / (uint)local_820._76_4_ + 1) -\n                     (uint)((uint)local_93c % (uint)local_820._76_4_ == 0)) * local_820._76_4_);\n      }\n      psVar29 = (stat64 *)\n                sg_memalign((int)&psVar41->st_dev + (int)&local_918->st_dev,0,&local_8e8,0);\n      if (psVar29 == (stat64 *)0x0) {\nLAB_00013fb3:\n        pcVar18 = "unable to allocate aligned memory for scatterlist+data\n";\nLAB_00013fbc:\n        pr2serr(pcVar18);\n        local_908 = (stat64 *)sg_convert_errno(0xc);\n        goto LAB_000133fd;\n      }\n      local_908 = (stat64 *)bin_read((int)local_920,(uint8_t *)psVar29,(uint32_t)local_908,"SF");\n      if (local_908 != (stat64 *)0x0) goto LAB_000133fd;\n      _Var9 = check_lbrds((uint8_t *)psVar29,(uint32_t)psVar41,(opts_t *)local_820,&local_8f6,\n                          (uint32_t *)&local_8ec);\n      if (!_Var9) goto LAB_000133f3;\n      if (local_820._64_2_ != local_8f6) {\n        pr2serr("Try again with --scattered=%u\n",local_8f6,extraout_EDX_06,extraout_EDX_06);\n        local_908 = (stat64 *)0xf;\n        goto LAB_000133fd;\n      }\n      psVar20 = (stat64 *)(local_820._76_4_ * (int)local_8ec);\n      if (local_918 < psVar20) {\n        psVar26 = (stat64 *)\n                  sg_memalign((int)&psVar41->st_dev + (int)&psVar20->st_dev,0,&local_8e4,0);\n        if (psVar26 == (stat64 *)0x0) goto LAB_00014273;\n        memcpy(psVar26,psVar29,(size_t)psVar41);\n        free(local_8e8);\n        local_8e8 = local_8e4;\n        psVar29 = psVar26;\n        local_918 = psVar20;\n      }\n      psVar20 = psVar41;\n      if ((local_93c != psVar41) &&\n         (psVar20 = local_93c, (stat64 *)uVar24 != (stat64 *)0x0 || local_820._40_4_ != 0)) {\n        puVar22 = &DAT_000170dd;\n        if (local_93c <= psVar41) {\n          puVar22 = &DAT_00017110;\n        }\n        psVar26 = psVar41;\n        pr2serr("IF length (%u) %s \'sum_num\' bytes (%u), ",local_93c,puVar22,psVar41);\n        if (1 < (int)local_820._40_4_) {\n          pr2serr("exiting (strict=%d)\n",local_820._40_4_,psVar41,psVar41);\n          local_908 = (stat64 *)0xf;\n          goto LAB_000133fd;\n        }\n        pr2serr("continuing ...\n",psVar20,puVar22,psVar26);\n        psVar20 = psVar41;\n        if (local_93c < psVar41) {\n          psVar20 = local_93c;\n        }\n      }\n      local_908 = (stat64 *)\n                  bin_read((int)local_924,\n                           (uint8_t *)((int)&psVar29->st_dev + (int)&local_918->st_dev),\n                           (uint32_t)psVar20,"IF 4");\n      uVar4 = local_8f6;\n    }\n    if (local_908 != (stat64 *)0x0) goto LAB_000133fd;\n    local_7a4 = (stat64 *)((int)local_8ec * local_820._76_4_);\n    local_918 = (stat64 *)(((int)&local_8ec->st_dev + (uint)uVar4) * local_820._76_4_);\n    local_820._84_4_ = local_8ec;\n  }\nLAB_00013962:\n  local_8ec = (stat64 *)local_820._84_4_;\n  local_908 = (stat64 *)do_write_x((int)local_930,psVar29,(int)local_918,(opts_t *)local_820);\n  if (local_908 != (stat64 *)0x0) {\n    puVar48 = local_174 + 0x50;\n    psVar29 = (stat64 *)"OS error";\n    puVar33 = puVar48;\n    for (iVar17 = 9; iVar17 != 0; iVar17 = iVar17 + -1) {\n      *puVar33 = (char)psVar29->st_dev;\n      psVar29 = (stat64 *)((int)psVar29 + (uint)bVar37 * -2 + 1);\n      puVar33 = puVar33 + (uint)bVar37 * -2 + 1;\n    }\n    if (0 < (int)local_908) {\n      sg_get_category_sense_str(local_908,0x50,puVar48,uVar24);\n    }\n    pr2serr("%s: %s\n",local_790,puVar48,psVar29);\n  }\nLAB_000133fd:\n  if (local_8e8 == (void *)0x0) goto LAB_00012354;\n  free(local_8e8);\n  goto LAB_00012354;\n_L476:\n  uVar38 = sg_get_llnum(*(undefined4 *)PTR_optarg_0001dffc);\n  psVar20 = (stat64 *)local_820._80_4_;\n  uVar34 = local_820._92_4_;\n  uVar10 = (uint)uVar38;\n  if ((int)((ulonglong)uVar38 >> 0x20) != 0) goto LAB_00012b94;\n  goto LAB_000114e8;\nLAB_00012b94:\n  pr2serr("bad argument to \'--ref-tag=\'. Expect 0 to 0xffffffff inclusive\n");\nLAB_00011a7a:\n  local_908 = (stat64 *)0x1;\nLAB_00011a84:\n  do {\n    psVar29 = (stat64 *)(local_24 ^ *(uint *)(in_GS_OFFSET + 0x14));\n    if (psVar29 == (stat64 *)0x0) {\n      return (int)local_908;\n    }\n    __stack_chk_fail_local();\nLAB_00013b9f:\n    pr2serr("build_lba_arr: array length exceeded\n");\nLAB_00012130:\n    pr2serr("bad argument to \'--lba\'\n");\n    local_908 = (stat64 *)0x1;\nLAB_00012354:\n    if (local_8f0 != (void *)0x0) {\n      free(local_8f0);\n    }\n    iVar17 = sg_cmds_close_device(local_930);\n    if (iVar17 < 0) {\n      if ((_Bool)local_820[6] == false) {\n        uVar19 = safe_strerror(-iVar17);\n        pr2serr("sg_fd close error: %s\n",uVar19);\n      }\n      if (local_908 == (stat64 *)0x0) {\n        local_908 = (stat64 *)0xf;\n      }\n    }\n    if ((-1 < (int)local_920) && (iVar17 = close((int)local_920), iVar17 < 0)) {\n      if ((_Bool)local_820[6] == false) {\n        perror("sfr_fd close error");\n      }\n      if (local_908 == (stat64 *)0x0) {\n        local_908 = (stat64 *)0xf;\n      }\n    }\nLAB_000123a1:\n    if (((cVar2 == '\x01') || ((int)local_924 < 0)) ||\n       (pcVar18 = (char *)close((int)local_924), -1 < (int)pcVar18)) {\nLAB_000123cc:\n      if ((((stat64 *)local_820._48_4_ == (stat64 *)0x0) && ((_Bool)local_820[6] == false)) &&\n         (cVar8 = sg_if_can2stderr("sg_write_x failed: ",local_908,psVar29,psVar29), cVar8 == '\0'))\n      goto LAB_0001260b;\n      goto LAB_000123e2;\n    }\n    if ((_Bool)local_820[6] == false) {\n      pcVar18 = "infd close error";\n      perror("infd close error");\n    }\n    if (local_908 != (stat64 *)0x0) goto LAB_000123cc;\n    local_908 = (stat64 *)0xf;\n    if ((((stat64 *)local_820._48_4_ == (stat64 *)0x0) && ((_Bool)local_820[6] == false)) &&\n       (cVar8 = sg_if_can2stderr("sg_write_x failed: ",0xf,pcVar18,pcVar18), cVar8 == '\0')) {\nLAB_0001260b:\n      pr2serr("Some error occurred, try again with \'-v\' or \'-vv\' for more information\n");\nLAB_000123e2:\n      if ((int)local_908 < 0) {\n        local_908 = (stat64 *)0x63;\n      }\n    }\n  } while( true );\n}\n\n" comment (function_definition "int main(int argc,char **argv)\n\n{\n  byte bVar1;\n  char cVar2;\n  __dev_t *p_Var3;\n  ushort uVar4;\n  undefined *puVar5;\n  undefined *puVar6;\n  char **ppcVar7;\n  char cVar8;\n  _Bool _Var9;\n  uint uVar10;\n  stat64 *psVar11;\n  stat64 *psVar12;\n  int iVar13;\n  stat64 *psVar14;\n  char *pcVar15;\n  char *pcVar16;\n  int iVar17;\n  char *pcVar18;\n  uint8_t *up;\n  undefined4 uVar19;\n  stat64 *psVar20;\n  int *piVar21;\n  undefined *puVar22;\n  int iVar23;\n  stat64 *extraout_ECX;\n  stat64 *extraout_ECX_00;\n  stat64 *extraout_ECX_01;\n  undefined4 extraout_ECX_02;\n  undefined4 uVar24;\n  stat64 *extraout_ECX_03;\n  stat64 *extraout_ECX_04;\n  stat64 *extraout_ECX_05;\n  stat64 *extraout_ECX_06;\n  char **extraout_EDX;\n  char **ppcVar25;\n  stat64 *psVar26;\n  stat64 *psVar27;\n  stat64 *extraout_EDX_00;\n  undefined4 extraout_EDX_01;\n  stat64 *extraout_EDX_02;\n  stat64 *extraout_EDX_03;\n  stat64 *extraout_EDX_04;\n  undefined4 extraout_EDX_05;\n  undefined4 extraout_EDX_06;\n  uint uVar28;\n  stat64 *psVar29;\n  opts_t *poVar30;\n  uint *puVar31;\n  stat64 **ppsVar32;\n  undefined1 *puVar33;\n  uint32_t uVar34;\n  int in_GS_OFFSET;\n  bool bVar35;\n  bool bVar36;\n  byte bVar37;\n  undefined8 uVar38;\n  longlong lVar39;\n  __off64_t _Var40;\n  stat64 *psVar41;\n  stat64 **ppsVar42;\n  uint32_t uVar43;\n  void **ppvVar44;\n  uint32_t uVar45;\n  uint uVar46;\n  uint *puVar47;\n  undefined1 *puVar48;\n  stat64 *psVar49;\n  char local_93f;\n  stat64 *local_93c;\n  stat64 *local_930;\n  stat64 *local_924;\n  stat64 *local_920;\n  stat64 *local_91c;\n  stat64 *local_918;\n  stat64 *local_908;\n  uint16_t local_8f8;\n  uint16_t local_8f6;\n  stat64 *local_8f4;\n  void *local_8f0;\n  stat64 *local_8ec;\n  void *local_8e8;\n  void *local_8e4;\n  undefined1 local_8e0 [48];\n  int local_8b0;\n  undefined1 local_880 [96];\n  undefined1 local_820 [112];\n  stat64 *local_7b0;\n  int local_7ac;\n  int local_7a8;\n  stat64 *local_7a4;\n  stat64 *local_7a0;\n  char *local_79c;\n  char *local_798;\n  stat64 *local_794;\n  undefined1 local_790 [24];\n  stat64 *local_778 [128];\n  uint local_578;\n  uint local_574;\n  undefined1 local_174 [96];\n  uint local_114;\n  uint local_110;\n  uint local_10c;\n  uint local_104;\n  uint local_100;\n  uint local_fc;\n  uint local_f8;\n  ushort local_f4;\n  ushort local_f2;\n  uint local_24;\n  int *local_18;\n  \n  ppcVar7 = argv;\n  iVar17 = argc;\n  puVar22 = PTR_optarg_0001dffc;\n  bVar37 = 0;\n  local_18 = &argc;\n  local_24 = *(uint *)(in_GS_OFFSET + 0x14);\n  local_8f8 = 0;\n  local_8f4 = (stat64 *)0x0;\n  local_8f0 = (void *)0x0;\n  local_918 = (stat64 *)0x0;\n  local_91c = (stat64 *)0x0;\n  poVar30 = (opts_t *)local_820;\n  for (iVar23 = 0x2a; iVar23 != 0; iVar23 = iVar23 + -1) {\n    poVar30->do_16 = false;\n    poVar30->do_32 = false;\n    poVar30->do_anchor = false;\n    poVar30->do_atomic = false;\n    poVar30 = (opts_t *)&poVar30->do_combined;\n  }\n  local_930 = (stat64 *)local_8e0;\n  local_820._36_4_ = -1;\n  psVar41 = local_930;\n  for (iVar23 = 0x18; iVar23 != 0; iVar23 = iVar23 + -1) {\n    *(undefined4 *)&psVar41->st_dev = 0;\n    psVar41 = (stat64 *)((int)&psVar41->st_dev + 4);\n  }\n  psVar41 = (stat64 *)local_880;\n  local_820._96_4_ = 0xffffffff;\n  psVar20 = psVar41;\n  for (iVar23 = 0x18; iVar23 != 0; iVar23 = iVar23 + -1) {\n    *(undefined4 *)&psVar20->st_dev = 0;\n    psVar20 = (stat64 *)((int)&psVar20->st_dev + 4);\n  }\n  cVar2 = ' ';\n  local_820._58_2_ = 0xffff;\n  local_820._68_2_ = 0xffff;\n  local_820._44_4_ = 0x78;\n  bVar1 = 0;\n  local_924 = (stat64 *)PTR_optarg_0001dffc;\n  psVar20 = (stat64 *)local_820._80_4_;\n  uVar34 = local_820._92_4_;\n  uVar10 = local_820._96_4_;\nLAB_000114e8:\n  local_820._96_4_ = uVar10;\n  local_820._92_4_ = uVar34;\n  local_820._80_4_ = psVar20;\n  local_8e4 = (void *)0x0;\n  uVar38 = getopt_long(iVar17,ppcVar7,"36a:A:b:B:c:dD:Efg:G:hi:I:l:M:n:No:Oq:Qr:RsS:t:T:u:vVw:x",\n                       long_options,&local_8e4);\n  puVar6 = PTR_optarg_0001dffc;\n  puVar5 = PTR_optind_0001dfe4;\n  if ((int)uVar38 == -1) {\n    iVar23 = *(int *)PTR_optind_0001dfe4;\n    local_920 = (stat64 *)0xffffffff;\n    if (iVar23 < iVar17) {\n      ppcVar25 = (char **)((ulonglong)uVar38 >> 0x20);\n      if (local_7a0 != (stat64 *)0x0) goto LAB_00011c60;\n      local_7a0 = (stat64 *)ppcVar7[iVar23];\n      *(int *)PTR_optind_0001dfe4 = iVar23 + 1;\n      ppcVar25 = ppcVar7;\n      if (iVar23 + 1 < iVar17) goto LAB_00011c60;\n    }\n    if ((bool)(bVar1 & local_820._40_4_ != 0)) goto LAB_00011a7a;\n    if (0 < (int)local_820._32_4_) {\n      usage(local_820._32_4_);\n      local_908 = (stat64 *)0x0;\n      goto LAB_00011a84;\n    }\n    if ((_Bool)local_820[0x11] == false) {\nLAB_00011c9f:\n      if ((_Bool)local_820[0x12] != false) {\n        pr2serr("sg_write_x version: %s\n","1.19 20180628",puVar5,puVar5);\n        local_908 = (stat64 *)0x270f;\n        goto LAB_00011a84;\n      }\n    }\n    else if ((_Bool)local_820[0x12] != false) {\n      pr2serr("Not in DEBUG mode, so \'-vV\' has no special action\n");\n      goto LAB_00011c9f;\n    }\n    uVar19 = local_820._48_4_;\n    psVar20 = (stat64 *)uVar19;\n    if ((_Bool)local_820[0] == false) {\n      if ((_Bool)local_820[1] == false) {\n        psVar20 = (stat64 *)((int)&((stat64 *)(local_820._48_4_ + -0x60))->st_ino + 7);\n        local_820[0] = true;\n        if (psVar20 != (stat64 *)0x0 && 0 < (int)local_820._48_4_) {\n          pr2serr("Since neither --16 nor --32 given, choose --16\n");\n        }\n      }\n    }\n    else if (((_Bool)local_820[1] != false) && (local_820[0] = false, 1 < (int)local_820._48_4_)) {\n      pr2serr("Since both --16 and --32 given, choose --32\n");\n    }\n    uVar10 = (uint)local_820[3] + (uint)local_820[0xc] + (uint)local_820[5] + (uint)local_820[8] +\n             (uint)local_820[9] + (uint)local_820[10];\n    if (1 < uVar10) {\n      pr2serr(\n             "Can only select one command; so only one of --atomic, --normal, --or,\n--same=, --scattered= or --stream=\n"\n             );\n      local_908 = (stat64 *)0x1f;\n      goto LAB_00011a84;\n    }\n    if (uVar10 == 0) {\n      if (local_820._40_4_ != 0) {\n        pr2serr("With --strict won\'t default to a normal WRITE, add --normal\n");\n        local_908 = (stat64 *)0x1f;\n        goto LAB_00011a84;\n      }\n      local_794 = (stat64 *)0x17164;\n      local_820[0xc] = true;\n      if ((stat64 *)uVar19 != (stat64 *)0x0) {\n        pr2serr("No command selected so choose \'normal\' WRITE\n");\n      }\n    }\n    psVar11 = (stat64 *)((-(uint)((_Bool)local_820[0] == false) & 0x10) + 0x10);\n    psVar26 = local_794;\n    __snprintf_chk(local_790,0x18,1,0x18,"%s(%d)",local_794,psVar11,psVar20);\n    if ((_Bool)local_820[4] == false) {\n      if (local_798 != (char *)0x0) {\n        local_93f = local_918 != (stat64 *)0x0;\n        bVar35 = local_91c != (stat64 *)0x0 || local_918 != (stat64 *)0x0;\n        bVar36 = local_91c != (stat64 *)0x0;\n        if (local_91c == (stat64 *)0x0 && local_918 == (stat64 *)0x0) {\n          iVar17 = -1;\n          pcVar18 = local_798;\n          goto code_r0x00011d5c;\n        }\n        pr2serr(\n               "want one and only one of: (--lba=LBA and/or --num=NUM), or\n--scat-file=SF, or --combined=DOF\n"\n               );\n        local_908 = (stat64 *)0x1f;\n        goto LAB_00011a84;\n      }\n      if ((_Bool)local_820[7] == false) {\n        local_93f = local_918 != (stat64 *)0x0;\n        bVar35 = local_91c != (stat64 *)0x0 || local_918 != (stat64 *)0x0;\n        bVar36 = local_91c != (stat64 *)0x0;\n        goto LAB_00011d67;\n      }\n      pr2serr(\n             "--scat-raw only applies to the --scat-file=SF option\n--scat-raw without the --scat-file=SF option is an error\n"\n             );\n      local_908 = (stat64 *)0x1f;\n      goto LAB_00011a84;\n    }\n    if ((_Bool)local_820[9] == false) {\n      pr2serr(\n             "--combined=DOF only allowed with --scattered=RD (i.e. only with\nWRITE SCATTERED command)\n"\n             );\n      local_908 = (stat64 *)0x1f;\n      goto LAB_00011a84;\n    }\n    if (local_798 != (char *)0x0) {\n      pr2serr("Ambiguous: got --combined=DOF and --scat-file=SF .\nGive one, the other or neither\n"\n             );\n      local_908 = (stat64 *)0x1f;\n      goto LAB_00011a84;\n    }\n    if (local_91c == (stat64 *)0x0 && local_918 == (stat64 *)0x0) {\n      local_93f = local_820[7];\n      bVar35 = false;\n      bVar36 = false;\n      if ((_Bool)local_820[7] == false) goto LAB_00011d67;\n      pr2serr("Ambiguous: don\'t expect --combined=DOF and --scat-raw\nGive one or the other\n");\n      local_908 = (stat64 *)0x1f;\n    }\n    else {\n      pr2serr("--scattered=RD --combined=DOF does not use --lba= or --num=\nPlease remove.\n");\n      local_908 = (stat64 *)0x1f;\n    }\n    goto LAB_00011a84;\n  }\n  local_920 = local_924;\n  psVar20 = (stat64 *)local_820._80_4_;\n  uVar34 = local_820._92_4_;\n  uVar10 = local_820._96_4_;\n  switch((int)uVar38) {\n  case 0x33:\n    local_820[1] = true;\n    goto LAB_000114e8;\n  default:\n    pcVar18 = "unrecognised option code 0x%x ??\n";\n    break;\n  case 0x36:\n    local_820[0] = true;\n    goto LAB_000114e8;\n  case 0x3f:\n    pcVar18 = "\n";\n    break;\n  case 0x41:\n    uVar10 = sg_get_num(*(undefined4 *)PTR_optarg_0001dffc);\n    if (0xffff < uVar10) {\n      pr2serr("bad argument to \'--atomic=\'. Expect 0 to 0xffff inclusive\n");\n      goto LAB_00011a7a;\n    }\n    local_820._60_2_ = (undefined2)uVar10;\n    local_820[3] = true;\n    local_794 = (stat64 *)0x17112;\n    psVar20 = (stat64 *)local_820._80_4_;\n    uVar34 = local_820._92_4_;\n    uVar10 = local_820._96_4_;\n    goto LAB_000114e8;\n  case 0x42:\n    uVar28 = sg_get_num(*(undefined4 *)PTR_optarg_0001dffc);\n    if (7 < uVar28) {\n      pr2serr("bad first argument to \'--bmop=\'\n");\n      goto LAB_00011a7a;\n    }\n    local_820[0x38] = (uint8_t)uVar28;\n    uVar19 = 0x2c;\n    uVar46 = uVar28;\n    pcVar18 = strchr(*(char **)puVar6,0x2c);\n    psVar20 = (stat64 *)local_820._80_4_;\n    uVar34 = local_820._92_4_;\n    uVar10 = local_820._96_4_;\n    if (pcVar18 != (char *)0x0) {\n      uVar10 = sg_get_num(pcVar18 + 1,uVar19,uVar28,uVar46);\n      if (0xf < uVar10) {\n        pr2serr("bad second argument to \'--bmop=\'\n");\n        goto LAB_00011a7a;\n      }\n      local_820[0x39] = (uint8_t)uVar10;\n      psVar20 = (stat64 *)local_820._80_4_;\n      uVar34 = local_820._92_4_;\n      uVar10 = local_820._96_4_;\n    }\n    goto LAB_000114e8;\n  case 0x44:\n    local_820._20_4_ = sg_get_num(*(undefined4 *)PTR_optarg_0001dffc);\n    psVar20 = (stat64 *)local_820._80_4_;\n    uVar34 = local_820._92_4_;\n    uVar10 = local_820._96_4_;\n    if (7 < (uint)local_820._20_4_) {\n      pr2serr("bad argument to \'--dld=\', expect 0 to 7 inclusive\n");\n      goto LAB_00011a7a;\n    }\n    goto LAB_000114e8;\n  case 0x47:\n    uVar38 = sg_get_llnum(*(undefined4 *)PTR_optarg_0001dffc);\n    uVar43 = (uint32_t)uVar38;\n    if ((int)((ulonglong)uVar38 >> 0x20) != 0) {\n      pr2serr("bad first argument to \'--generation=\'\n");\n      goto LAB_00011a7a;\n    }\n    uVar19 = 0x2c;\n    uVar45 = uVar43;\n    local_820._88_4_ = uVar43;\n    pcVar18 = strchr(*(char **)puVar6,0x2c);\n    if (pcVar18 == (char *)0x0) {\n      pr2serr("need two arguments with --generation=EOG,NOG and they must be comma separated\n",\n              uVar19,uVar43,uVar45);\n      goto LAB_00011a7a;\n    }\n    uVar38 = sg_get_llnum(pcVar18 + 1);\n    psVar20 = (stat64 *)local_820._80_4_;\n    uVar34 = (uint32_t)uVar38;\n    uVar10 = local_820._96_4_;\n    if ((int)((ulonglong)uVar38 >> 0x20) != 0) {\n      pr2serr("bad second argument to \'--generation=\'\n",uVar19,uVar43,uVar45);\n      goto LAB_00011a7a;\n    }\n    goto LAB_000114e8;\n  case 0x49:\n    local_820._44_4_ = sg_get_num(*(undefined4 *)PTR_optarg_0001dffc);\n    psVar20 = (stat64 *)local_820._80_4_;\n    uVar34 = local_820._92_4_;\n    uVar10 = local_820._96_4_;\n    if ((int)local_820._44_4_ < 0) {\n      pr2serr("bad argument to \'--timeout=\'\n");\n      goto LAB_00011a7a;\n    }\n    goto LAB_000114e8;\n  case 0x4d:\n    uVar10 = sg_get_num(*(undefined4 *)PTR_optarg_0001dffc);\n    if (1 < uVar10) {\n      pr2serr("bad argument to \'--same\', expect 0 or 1\n");\n      goto LAB_00011a7a;\n    }\n    local_820[0x10] = (byte)uVar10 & 1;\n    local_820[8] = true;\n    local_794 = (stat64 *)0x17159;\n    psVar20 = (stat64 *)local_820._80_4_;\n    uVar34 = local_820._92_4_;\n    uVar10 = local_820._96_4_;\n    goto LAB_000114e8;\n  case 0x4e:\n    local_820[0xc] = true;\n    local_794 = (stat64 *)0x17164;\n    goto LAB_000114e8;\n  case 0x4f:\n    local_820[5] = true;\n    local_794 = (stat64 *)0x1716a;\n    goto LAB_000114e8;\n  case 0x51:\n    local_820[6] = true;\n    goto LAB_000114e8;\n  case 0x52:\n    local_820[7] = true;\n    goto LAB_000114e8;\n  case 0x53:\n    uVar10 = sg_get_num(*(undefined4 *)PTR_optarg_0001dffc);\n    if (0xffff < uVar10) {\n      pr2serr("bad argument to \'--scattered=\'. Expect 0 to 0xffff inclusive\n");\n      goto LAB_00011a7a;\n    }\n    local_820._64_2_ = (undefined2)uVar10;\n    local_794 = (stat64 *)0x17172;\n    local_820[9] = true;\n    psVar20 = (stat64 *)local_820._80_4_;\n    uVar34 = local_820._92_4_;\n    uVar10 = local_820._96_4_;\n    goto LAB_000114e8;\n  case 0x54:\n    uVar10 = sg_get_num(*(undefined4 *)PTR_optarg_0001dffc);\n    if (0xffff < uVar10) {\n      pr2serr("bad argument to \'--stream=\', expect 0 to 65535\n");\n      goto LAB_00011a7a;\n    }\n    local_820._66_2_ = (undefined2)uVar10;\n    local_794 = (stat64 *)0x17182;\n    local_820[10] = true;\n    psVar20 = (stat64 *)local_820._80_4_;\n    uVar34 = local_820._92_4_;\n    uVar10 = local_820._96_4_;\n    goto LAB_000114e8;\n  case 0x56:\n    local_820[0x12] = true;\n    goto LAB_000114e8;\n  case 0x61:\n    uVar10 = sg_get_num(*(undefined4 *)PTR_optarg_0001dffc);\n    if (0xffff < uVar10) {\n      pr2serr("bad argument to \'--app-tag=\'. Expect 0 to 0xffff inclusive\n");\n      goto LAB_00011a7a;\n    }\n    local_820._58_2_ = (undefined2)uVar10;\n    psVar20 = (stat64 *)local_820._80_4_;\n    uVar34 = local_820._92_4_;\n    uVar10 = local_820._96_4_;\n    goto LAB_000114e8;\n  case 0x62:\n    psVar26 = (stat64 *)sg_get_num(*(undefined4 *)PTR_optarg_0001dffc);\n    if ((stat64 *)0x10000000 < psVar26) {\n      pr2serr("bad argument to \'--bs=\'. Expect 0 or greater\n");\n      goto LAB_00011a7a;\n    }\n    if (psVar26 == (stat64 *)0x0) {\n      local_820._72_4_ = (stat64 *)0x0;\n      local_820._76_4_ = (stat64 *)0x0;\n      psVar20 = (stat64 *)local_820._80_4_;\n      uVar34 = local_820._92_4_;\n      uVar10 = local_820._96_4_;\n    }\n    else {\n      if ((int)psVar26 < 0x200) {\n        pr2serr("warning: --bs=BS value is < 512 which seems too small, continue\n");\n        bVar1 = 1;\n      }\n      if (((uint)psVar26 & 7) != 0) {\n        pr2serr("warning: --bs=BS value is not a multiple of 8, unexpected, continue\n");\n        bVar1 = 1;\n      }\n      iVar23 = 0;\n      iVar13 = 0;\n      psVar20 = psVar26;\n      do {\n        if (((uint)psVar20 & 1) != 0) {\n          iVar23 = iVar13;\n        }\n        iVar13 = iVar13 + 1;\n        psVar20 = (stat64 *)((int)psVar20 >> 1);\n      } while (iVar13 != 0x1c);\n      psVar11 = (stat64 *)(1 << ((byte)iVar23 & 0x1f));\n      local_820._72_4_ = psVar26;\n      local_820._76_4_ = psVar26;\n      psVar20 = (stat64 *)local_820._80_4_;\n      uVar34 = local_820._92_4_;\n      uVar10 = local_820._96_4_;\n      if (psVar26 != psVar11) {\n        local_820._72_4_ = psVar11;\n      }\n    }\n    goto LAB_000114e8;\n  case 99:\n    iVar23 = sg_get_num(*(undefined4 *)PTR_optarg_0001dffc);\n    if (iVar23 < 0) {\n      pr2serr("bad argument to \'--combined=\'. Expect 0 to 0x7fffffff\n");\n      goto LAB_00011a7a;\n    }\n    local_820._62_2_ = (undefined2)iVar23;\n    local_820[4] = true;\n    psVar20 = (stat64 *)local_820._80_4_;\n    uVar34 = local_820._92_4_;\n    uVar10 = local_820._96_4_;\n    goto LAB_000114e8;\n  case 100:\n    local_820[0xe] = true;\n    goto LAB_000114e8;\n  case 0x66:\n    local_820[0xf] = true;\n    goto LAB_000114e8;\n  case 0x67:\n    local_820._28_4_ = sg_get_num(*(undefined4 *)PTR_optarg_0001dffc);\n    psVar20 = (stat64 *)local_820._80_4_;\n    uVar34 = local_820._92_4_;\n    uVar10 = local_820._96_4_;\n    if (0x3f < (uint)local_820._28_4_) {\n      pr2serr("bad argument to \'--grpnum\'\n");\n      goto LAB_00011a7a;\n    }\n    goto LAB_000114e8;\n  case 0x68:\n    local_820._32_4_ = local_820._32_4_ + 1;\n    goto LAB_000114e8;\n  case 0x69:\n    local_79c = *(char **)PTR_optarg_0001dffc;\n    goto LAB_000114e8;\n  case 0x6c:\n    if (local_91c != (stat64 *)0x0) {\n      pr2serr("only expect \'--lba=\' option once\n");\n      goto LAB_00011a7a;\n    }\n    local_91c = *(stat64 **)PTR_optarg_0001dffc;\n    goto LAB_000114e8;\n  case 0x6e:\n    if (local_918 != (stat64 *)0x0) {\n      pr2serr("only expect \'--num=\' option once\n");\n      goto LAB_00011a7a;\n    }\n    local_918 = *(stat64 **)PTR_optarg_0001dffc;\n    goto LAB_000114e8;\n  case 0x6f:\n    lVar39 = sg_get_llnum(*(undefined4 *)PTR_optarg_0001dffc);\n    psVar26 = (stat64 *)lVar39;\n    if (lVar39 == -1) {\n      pr2serr("bad first argument to \'--offset=\'\n");\n      goto LAB_00011a7a;\n    }\n    uVar19 = 0x2c;\n    psVar11 = psVar26;\n    local_820._108_4_ = psVar26;\n    local_7b0 = (stat64 *)((ulonglong)lVar39 >> 0x20);\n    pcVar18 = strchr(*(char **)puVar6,0x2c);\n    psVar20 = (stat64 *)local_820._80_4_;\n    uVar34 = local_820._92_4_;\n    uVar10 = local_820._96_4_;\n    if (pcVar18 != (char *)0x0) {\n      lVar39 = sg_get_llnum(pcVar18 + 1,uVar19,psVar26,psVar11);\n      psVar20 = (stat64 *)lVar39;\n      uVar34 = local_820._92_4_;\n      uVar10 = local_820._96_4_;\n      if ((int)((ulonglong)lVar39 >> 0x20) == -1) {\n        if (psVar20 == (stat64 *)0xffffffff) {\n          pr2serr("bad second argument to \'--offset=\'\n");\n          goto LAB_00011a7a;\n        }\n      }\n      else if (0xffffffff < lVar39) {\n        pr2serr("bad second argument to \'--offset=\', cannot exceed 32 bits\n");\n        goto LAB_00011a7a;\n      }\n    }\n    goto LAB_000114e8;\n  case 0x71:\n    local_798 = *(char **)PTR_optarg_0001dffc;\n    goto LAB_000114e8;\n  case 0x72:\n    goto _L476;\n  case 0x73:\n    local_820._40_4_ = local_820._40_4_ + 1;\n    goto LAB_000114e8;\n  case 0x74:\n    uVar10 = sg_get_num(*(undefined4 *)PTR_optarg_0001dffc);\n    if (0xffff < uVar10) {\n      pr2serr("bad argument to \'--tag-mask=\'. Expect 0 to 0xffff inclusive\n");\n      goto LAB_00011a7a;\n    }\n    local_820._68_2_ = (undefined2)uVar10;\n    psVar20 = (stat64 *)local_820._80_4_;\n    uVar34 = local_820._92_4_;\n    uVar10 = local_820._96_4_;\n    goto LAB_000114e8;\n  case 0x75:\n    uVar10 = sg_get_num(*(undefined4 *)puVar22);\n    if (3 < uVar10) {\n      pr2serr("bad argument to \'--unmap=\', expect 0 to 3\n");\n      goto LAB_00011a7a;\n    }\n    local_820[2] = (byte)(uVar10 >> 1) & 1;\n    local_820[0xb] = (byte)uVar10 & 1;\n    psVar20 = (stat64 *)local_820._80_4_;\n    uVar34 = local_820._92_4_;\n    uVar10 = local_820._96_4_;\n    goto LAB_000114e8;\n  case 0x76:\n    local_820[0x11] = true;\n    local_820._48_4_ = (int)(__dev_t *)local_820._48_4_ + 1;\n    goto LAB_000114e8;\n  case 0x77:\n    local_820._52_4_ = sg_get_num(*(undefined4 *)puVar22);\n    if ((stat64 *)0x7 < (uint)local_820._52_4_) {\n      pr2serr("bad argument to \'--wrprotect\'\n");\n      goto LAB_00011a7a;\n    }\n    local_820[0xd] = 0 < (int)local_820._52_4_;\n    psVar20 = (stat64 *)local_820._80_4_;\n    uVar34 = local_820._92_4_;\n    uVar10 = local_820._96_4_;\n    goto LAB_000114e8;\n  case 0x78:\n    local_820._24_4_ = local_820._24_4_ + 1;\n    goto LAB_000114e8;\n  }\n  pr2serr(pcVar18);\n  iVar17 = 0;\n  if (-1 < (int)local_820._32_4_) {\n    iVar17 = local_820._32_4_;\n  }\n  usage(iVar17);\n  goto LAB_00011a7a;\nLAB_00011c60:\n  while (*(int *)puVar5 < iVar17) {\n    pr2serr("Unexpected extra argument: %s\n",ppcVar7[*(int *)puVar5],ppcVar25,ppcVar25);\n    *(int *)puVar5 = *(int *)puVar5 + 1;\n    ppcVar25 = extraout_EDX;\n  }\n  iVar17 = 0;\n  if (-1 < (int)local_820._32_4_) {\n    iVar17 = local_820._32_4_;\n  }\n  usage(iVar17);\n  local_908 = (stat64 *)0x1;\n  goto LAB_00011a84;\n  while( true ) {\n    iVar17 = iVar17 + -1;\n    cVar8 = *pcVar18;\n    pcVar18 = pcVar18 + (uint)bVar37 * -2 + 1;\n    if (cVar8 == '\0') break;\ncode_r0x00011d5c:\n    if (iVar17 == 0) break;\n  }\n  if ((iVar17 == -3) && (*local_798 == '-')) {\n    pr2serr("don\'t accept \'-\' (implying stdin) as a filename in --scat-file=SF\n");\n    local_908 = (stat64 *)0x1f;\n    goto LAB_00011a84;\n  }\nLAB_00011d67:\n  if ((((stat64 *)uVar19 != (stat64 *)0x0) && ((_Bool)local_820[0] != false)) &&\n     ((local_820._96_4_ != 0xffffffff || ((local_820._58_2_ & local_820._68_2_) != 0xffff)))) {\n    pr2serr("--app-tag=, --ref-tag= and --tag-mask= options ignored with 16 byte commands\n");\n  }\n  uVar24 = local_820._80_4_;\n  psVar12 = (stat64 *)(uint)local_820[0x10];\n  if ((_Bool)local_820[0x10] == false) {\n    local_93c = (stat64 *)local_820._80_4_;\n    cVar2 = '\0';\n    if (local_79c == (char *)0x0) {\n      pr2serr("Need --if=FN option to be given, exiting.\n");\n      if (1 < (int)uVar19) {\n        pr2serr("To write zeros use --in=/dev/zero\n");\n      }\n      pr2serr("\n");\n      iVar17 = 0;\n      if (-1 < (int)local_820._32_4_) {\n        iVar17 = local_820._32_4_;\n      }\n      usage(iVar17);\n      local_908 = (stat64 *)0x1;\n      goto LAB_00011a84;\n    }\n    iVar17 = -1;\n    pcVar18 = local_79c;\n    do {\n      if (iVar17 == 0) break;\n      iVar17 = iVar17 + -1;\n      cVar8 = *pcVar18;\n      pcVar18 = pcVar18 + (uint)bVar37 * -2 + 1;\n    } while (cVar8 != '\0');\n    if ((iVar17 != -3) || (*local_79c != '-')) {\n      local_924 = (stat64 *)open64(local_79c,0,iVar17,iVar17);\n      if ((int)local_924 < 0) {\n        piVar21 = __errno_location();\n        iVar17 = *piVar21;\n        pcVar18 = "could not open %s for reading";\n      }\n      else {\n        psVar20 = (stat64 *)sg_set_binary_mode(local_924);\n        if ((int)psVar20 < 0) goto LAB_00011dea;\n        psVar26 = local_924;\n        psVar11 = local_930;\n        iVar17 = __fxstat64(3,(int)local_924,local_930);\n        if (-1 < iVar17) {\n          if ((local_8e0._16_4_ & 0xf000) == 0x8000) {\n            local_93c = (stat64 *)local_8e0._44_4_;\n            if ((stat64 *)uVar24 != (stat64 *)0x0) {\n              local_93c = (stat64 *)uVar24;\n            }\n            if ((local_8b0 != 0 || (stat64 *)local_8e0._44_4_ != (stat64 *)0x0) &&\n               (psVar29 = (stat64 *)((int)&((stat64 *)(local_8e0._44_4_ + -0x60))->st_ino + 7),\n               iVar23 = local_8b0 + -1 + (uint)((stat64 *)local_8e0._44_4_ != (stat64 *)0x0),\n               iVar17 = (int)local_7b0 - iVar23,\n               (SBORROW4((int)local_7b0,iVar23) !=\n               SBORROW4(iVar17,(uint)((uint)local_820._108_4_ < psVar29))) ==\n               (int)(iVar17 - (uint)((uint)local_820._108_4_ < psVar29)) < 0)) {\n              pr2serr("Offset (%llu) is at or beyond IF byte length (%llu)\n",local_820._108_4_,\n                      local_7b0,local_8e0._44_4_,local_8b0,psVar26,psVar11,psVar20);\n              local_908 = (stat64 *)0xf;\n              goto LAB_00012527;\n            }\n            psVar12 = (stat64 *)local_820._108_4_;\n            psVar49 = (stat64 *)local_8e0._44_4_;\n            iVar17 = local_8b0;\n            if (local_7b0 != (stat64 *)0x0 || (stat64 *)local_820._108_4_ != (stat64 *)0x0) {\n              psVar20 = (stat64 *)0x0;\n              psVar26 = (stat64 *)local_820._108_4_;\n              psVar11 = local_7b0;\n              _Var40 = lseek64((int)local_924,CONCAT44(local_7b0,local_820._108_4_),0);\n              psVar29 = (stat64 *)local_820._108_4_;\n              if (_Var40 < 0) {\n                piVar21 = __errno_location();\n                psVar29 = (stat64 *)(local_174 + 0x50);\n                iVar17 = *piVar21;\n                __snprintf_chk(psVar29,0x100,1,0x100,"couldn\'t offset to required position on %s",\n                               local_79c,piVar21,piVar21);\n                perror((char *)psVar29);\n                local_908 = (stat64 *)sg_convert_errno(iVar17);\n                goto LAB_00012527;\n              }\n              psVar12 = (stat64 *)((int)psVar49 - local_820._108_4_);\n              iVar17 = (local_8b0 - (int)local_7b0) - (uint)(psVar49 < (uint)local_820._108_4_);\n              local_930 = psVar49;\n              if ((int)(uint)(psVar12 != (stat64 *)0x0) <= -iVar17) {\n                pr2serr("--offset [0x%llx] at or beyond file length[0x%llx]\n",local_820._108_4_,\n                        local_7b0,psVar49,local_8b0);\n                local_908 = (stat64 *)0xf;\n                goto LAB_00012527;\n              }\n              if ((local_820._40_4_ != 0) &&\n                 (local_930 = (stat64 *)local_820._80_4_,\n                 iVar17 < (int)(uint)(psVar12 < (uint)local_820._80_4_))) {\n                pr2serr("after accounting for OFF, DLEN exceeds %s remaining length (%u bytes)\n",\n                        local_79c,psVar12,psVar12);\n                local_908 = (stat64 *)0xf;\n                psVar29 = psVar12;\n                goto LAB_00012527;\n              }\n              if (iVar17 < (int)(uint)(psVar12 < local_93c)) {\n                local_93c = psVar12;\n              }\n              psVar49 = psVar12;\n              if (2 < (int)uVar19) {\n                psVar26 = (stat64 *)local_820._108_4_;\n                psVar11 = local_93c;\n                psVar20 = psVar12;\n                psVar12 = (stat64 *)\n                          pr2serr("Moved IF byte pointer to %u, if_len=%u, if_readable_len=%u\n",\n                                  local_820._108_4_,local_93c,psVar12);\n              }\n            }\n            goto LAB_00011fa8;\n          }\n          goto LAB_00011e6c;\n        }\n        piVar21 = __errno_location();\n        iVar17 = *piVar21;\n        pcVar18 = "could not fstat %s";\n      }\n      __snprintf_chk(local_174 + 0x50,0x100,1,0x100,pcVar18,local_79c,piVar21,piVar21);\n      perror(local_174 + 0x50);\n      local_908 = (stat64 *)sg_convert_errno(iVar17);\n      goto LAB_00011a84;\n    }\n    iVar17 = sg_set_binary_mode(0);\n    cVar2 = '\x01';\n    local_924 = (stat64 *)0x0;\n    if (iVar17 < 0) {\nLAB_00011dea:\n      perror("sg_set_binary_mode");\n      local_908 = (stat64 *)0xf;\n      goto LAB_00011a84;\n    }\nLAB_00011e6c:\n    if (((stat64 *)((uint)local_7b0 | local_820._108_4_) == (stat64 *)0x0) ||\n       ((stat64 *)uVar19 == (stat64 *)0x0)) {\n      psVar12 = (stat64 *)((uint)local_7b0 | local_820._108_4_);\n      psVar49 = (stat64 *)0x0;\n      iVar17 = 0;\n    }\n    else {\n      psVar12 = (stat64 *)\n                pr2serr(\n                       "--offset=OFF ignored when IF is stdin, pipe, socket, etc\nDLEN, if given, is used\n"\n                       );\n      psVar49 = (stat64 *)0x0;\n      iVar17 = 0;\n    }\n  }\n  else {\n    local_924 = (stat64 *)0xffffffff;\n    cVar2 = '\0';\n    psVar49 = (stat64 *)0x0;\n    iVar17 = 0;\n    local_93c = (stat64 *)0x0;\n  }\nLAB_00011fa8:\n  if (local_7a0 == (stat64 *)0x0) {\n    pr2serr("missing device name!\n",psVar26,psVar11,psVar20);\n    iVar17 = 0;\n    if (-1 < (int)local_820._32_4_) {\n      iVar17 = local_820._32_4_;\n    }\n    usage(iVar17);\n    local_908 = (stat64 *)0x1;\n    psVar29 = (stat64 *)0x0;\nLAB_00012527:\n    if (local_8f0 == (void *)0x0) goto LAB_000123a1;\n    free(local_8f0);\n    goto LAB_000123a1;\n  }\n  pcVar18 = (char *)0x0;\n  psVar20 = (stat64 *)uVar19;\n  uVar38 = sg_cmds_open_device(local_7a0,0,uVar19,psVar12);\n  psVar29 = (stat64 *)local_820._72_4_;\n  psVar26 = (stat64 *)((ulonglong)uVar38 >> 0x20);\n  local_930 = (stat64 *)uVar38;\n  if ((int)local_930 < 0) {\n    psVar29 = (stat64 *)-(int)local_930;\n    if ((stat64 *)local_820._48_4_ != (stat64 *)0x0) {\n      uVar19 = safe_strerror(psVar29);\n      pr2serr("open error: %s: %s\n",local_7a0,uVar19);\n    }\n    local_908 = (stat64 *)sg_convert_errno(psVar29);\n    goto LAB_00012527;\n  }\n  psVar11 = (stat64 *)local_820._76_4_;\n  psVar14 = (stat64 *)local_820._76_4_;\n  if ((stat64 *)local_820._72_4_ == (stat64 *)0x0) {\n    psVar20 = (stat64 *)0x0;\n    if ((stat64 *)local_820._48_4_ != (stat64 *)0x0) {\n      psVar20 = (stat64 *)((int)&((stat64 *)(local_820._48_4_ + -0x60))->st_ino + 7);\n    }\n    psVar26 = (stat64 *)local_174;\n    psVar14 = (stat64 *)0x1;\n    pcVar18 = (char *)0x20;\n    psVar12 = psVar20;\n    psVar11 = (stat64 *)local_820._48_4_;\n    uVar38 = sg_ll_readcap_16(local_930,0,0,0,psVar26,0x20,1,psVar20,psVar26,local_820._48_4_,\n                              psVar49,iVar17);\n    if ((int)uVar38 == 6) {\n      pr2serr("Read capacity(16) unit attention, try again\n");\n      uVar38 = sg_ll_readcap_16(local_930,0,0,0,psVar26,0x20,1,psVar20);\n    }\n    psVar27 = (stat64 *)((ulonglong)uVar38 >> 0x20);\n    local_908 = (stat64 *)uVar38;\n    if (local_908 == (stat64 *)0x0) {\n      psVar20 = psVar14;\n      if (3 < (int)psVar11) {\n        pr2serr("Read capacity(16) response:\n");\n        psVar20 = (stat64 *)0x1;\n        pcVar18 = (char *)0x20;\n        hex2stderr(psVar26,0x20,1);\n      }\n      bVar1 = local_174[0xc];\n      psVar14 = (stat64 *)\n                ((uint)local_174._8_4_ >> 0x18 | (local_174._8_4_ & 0xff0000) >> 8 |\n                 (local_174._8_4_ & 0xff00) << 8 | local_174._8_4_ << 0x18);\n      uVar10 = (uint)local_174._4_4_ >> 0x18 | (local_174._4_4_ & 0xff0000) >> 8 |\n               (local_174._4_4_ & 0xff00) << 8 | local_174._4_4_ << 0x18;\n      local_7ac = uVar10 + 1;\n      local_7a8 = ((uint)local_174._0_4_ >> 0x18 | (local_174._0_4_ & 0xff0000) >> 8 |\n                   (local_174._0_4_ & 0xff00) << 8 | local_174._0_4_ << 0x18) +\n                  (uint)(0xfffffffe < uVar10);\n      psVar26 = (stat64 *)(uint)local_174[0xc];\n      local_820._72_4_ = psVar14;\n      if ((local_174[0xc] & 1) == 0) {\n        local_820._36_4_ = 0;\n        if ((int)local_820._52_4_ < 1) goto LAB_00012305;\n        if (psVar11 != (stat64 *)0x0) {\n          pcVar18 = (char *)local_820._52_4_;\n          psVar26 = local_7a0;\n          pr2serr("--wrprotect (%d) expects PI but %s says it has none\n",local_820._52_4_,local_7a0\n                  ,psVar14);\n          if (local_820._40_4_ != 0) goto LAB_00012ef5;\n          pcVar16 = "  ... continue but could be dangerous\n";\n          psVar29 = (stat64 *)0x0;\n          psVar12 = psVar14;\n          goto LAB_00013516;\n        }\n        if (local_820._40_4_ != 0) goto LAB_00012ef5;\n      }\n      else {\n        local_820._36_4_ = (local_174[0xc] >> 1 & 7) + 1;\n        psVar29 = (stat64 *)(8 << (local_174[0xd] >> 4));\n        psVar26 = (stat64 *)(uint)(local_174[0xd] >> 4);\n        if (((int)local_820._52_4_ < 1) ||\n           (local_820._76_4_ = (int)&psVar29->st_dev + (int)&psVar14->st_dev, (int)psVar11 < 2)) {\nLAB_00012305:\n          if (psVar11 == (stat64 *)0x0) goto LAB_00012312;\n        }\n        else {\n          pcVar16 = \n          "  For data out buffer purposes the effective block size is %u (lb size\n  is %u) because PROT_EN=1, PI_EXP=%u and WRPROTECT>0\n"\n          ;\n          pcVar18 = (char *)psVar14;\n          psVar12 = (stat64 *)local_820._76_4_;\nLAB_00013516:\n          pr2serr(pcVar16,pcVar18,psVar26,psVar12);\n          psVar20 = psVar26;\n        }\n        pr2serr("Read capacity(16) response fields:\n",pcVar18,psVar20,psVar12);\n        psVar29 = (stat64 *)((int)(__dev_t *)local_820._72_4_ + (int)&psVar29->st_dev);\n        psVar12 = extraout_ECX_05;\n        pr2serr("  Last_LBA=0x%llx  LB size: %u (with PI: %u) bytes  p_type=%u\n",local_7ac + -1,\n                local_7a8 + -1 + (uint)(local_7ac != 0),local_820._72_4_,psVar29,\n                local_174[0xc] >> 1 & 7,extraout_ECX_05,extraout_ECX_05);\n        pr2serr("  prot_en=%u [PI type=%u] p_i_exp=%u  lbppb_exp=%u  lbpme,rz=%u,",bVar1 & 1,\n                local_820._36_4_,local_174[0xd] >> 4,local_174[0xd] & 0xf,\n                (uint)(int)(char)local_174[0xe] >> 0x1f);\n        psVar20 = (stat64 *)\n                  ((ushort)(local_174._14_2_ << 8 | (ushort)local_174._14_2_ >> 8) & 0x3fff);\n        pcVar18 = (char *)(local_174[0xe] >> 6 & 1);\n        pr2serr("%u  low_ali_lba=%u\n",pcVar18,psVar20);\n        psVar26 = extraout_EDX_04;\n      }\n    }\n    else {\n      if (((int)local_908 - 5U & 0xfffffffb) != 0) {\n        if (psVar11 != (stat64 *)0x0) {\n          puVar48 = local_174 + 0x50;\n          psVar29 = (stat64 *)"OS error";\n          puVar33 = puVar48;\n          for (iVar17 = 9; iVar17 != 0; iVar17 = iVar17 + -1) {\n            *puVar33 = (char)psVar29->st_dev;\n            psVar29 = (stat64 *)((int)psVar29 + (uint)bVar37 * -2 + 1);\n            puVar33 = puVar33 + (uint)bVar37 * -2 + 1;\n          }\n          psVar41 = local_908;\n          if (0 < (int)local_908) {\n            psVar41 = (stat64 *)sg_get_category_sense_str(local_908,0x50,puVar48,psVar11);\n          }\n          pr2serr("Read capacity(16): %s\n",puVar48,psVar41,psVar41);\n          pr2serr("Unable to calculate block size\n");\n        }\n        if (0 < (int)local_908) goto LAB_00012354;\n        goto LAB_00012ef5;\n      }\n      if (psVar11 == (stat64 *)0x0) {\n        pcVar18 = (char *)0x1;\n        uVar38 = sg_ll_readcap_10(local_930,0,0,psVar26,8,1,psVar20,psVar27);\n        psVar26 = (stat64 *)((ulonglong)uVar38 >> 0x20);\n        local_908 = (stat64 *)uVar38;\n        psVar12 = psVar27;\n        if (local_908 != (stat64 *)0x0) {\nLAB_00013444:\n          puVar48 = local_174 + 0x50;\n          psVar29 = (stat64 *)"OS error";\n          puVar33 = puVar48;\n          for (iVar17 = 9; iVar17 != 0; iVar17 = iVar17 + -1) {\n            *puVar33 = (char)psVar29->st_dev;\n            psVar29 = (stat64 *)((int)psVar29 + (uint)bVar37 * -2 + 1);\n            puVar33 = puVar33 + (uint)bVar37 * -2 + 1;\n          }\n          if (0 < (int)local_908) {\n            sg_get_category_sense_str(local_908,0x50,puVar48,psVar11);\n            pr2serr("Read capacity(10): %s\n",puVar48);\n            pr2serr("Unable to calculate block size\n");\n            goto LAB_00012354;\n          }\n          __snprintf_chk(puVar48,0x50,1,0x50,"error: %d",local_908,local_908,local_908);\n          pr2serr("Read capacity(10): %s\n",puVar48);\n          pr2serr("Unable to calculate block size\n");\n          local_908 = (stat64 *)0xf;\n          goto LAB_00012354;\n        }\n      }\n      else {\n        psVar29 = psVar26;\n        pr2serr("Read capacity(16) not supported, try Read capacity(10)\n");\n        pcVar18 = (char *)0x1;\n        uVar38 = sg_ll_readcap_10(local_930,0,0,psVar29,8,1,psVar20);\n        psVar26 = (stat64 *)((ulonglong)uVar38 >> 0x20);\n        local_908 = (stat64 *)uVar38;\n        if (local_908 != (stat64 *)0x0) goto LAB_00013444;\n        if (3 < (int)psVar11) {\n          pr2serr("Read capacity(10) response:\n");\n          psVar20 = (stat64 *)0x1;\n          pcVar18 = (char *)0x8;\n          hex2stderr(psVar29,8,1);\n          psVar26 = extraout_EDX_03;\n        }\n      }\n      local_7a8 = 0;\n      local_7ac = ((uint)local_174._0_4_ >> 0x18 | (local_174._0_4_ & 0xff0000) >> 8 |\n                   (local_174._0_4_ & 0xff00) << 8 | local_174._0_4_ << 0x18) + 1;\n      local_820._72_4_ =\n           (uint)local_174._4_4_ >> 0x18 | (local_174._4_4_ & 0xff0000) >> 8 |\n           (local_174._4_4_ & 0xff00) << 8 | local_174._4_4_ << 0x18;\n    }\nLAB_00012312:\n    local_820._76_4_ = local_820._72_4_;\n    if ((_Bool)local_820[0xd] != false) {\n      local_820._76_4_ = local_820._72_4_ + 8;\n    }\n    psVar11 = (stat64 *)local_820._76_4_;\n    psVar14 = (stat64 *)local_820._72_4_;\n    if ((stat64 *)local_820._76_4_ == (stat64 *)0x0) goto LAB_00012338;\n  }\n  local_820._76_4_ = psVar11;\n  if (psVar14 == (stat64 *)0x0) {\nLAB_00012338:\n    pr2serr("Logic error, need block size by now\n",pcVar18,psVar20);\n    local_908 = (stat64 *)0x1;\n    goto LAB_00012354;\n  }\n  if ((local_820[0x10] == 0) &&\n     (psVar26 = (stat64 *)((uint)local_93c % (uint)psVar11), psVar26 != (stat64 *)0x0)) {\n    if (1 < (int)local_820._40_4_) {\n      pr2serr("Error: number of bytes to read from IF [%u] is not a multiple\nblock size %u (including protection information)\n"\n              ,local_93c,psVar11,local_820._40_4_);\n      local_908 = (stat64 *)0xf;\n      goto LAB_00012354;\n    }\n    psVar14 = (stat64 *)(local_820._40_4_ | uVar19);\n    if (psVar14 != (stat64 *)0x0) {\n      pcVar18 = (char *)local_93c;\n      pr2serr("Warning: number of bytes to read from IF [%u] is not a multiple\nof actual block size %u; pad with zeros\n"\n              ,local_93c,psVar11,psVar14);\n      psVar26 = extraout_EDX_02;\n      psVar20 = psVar11;\n      psVar12 = psVar14;\n    }\n  }\n  puVar47 = &local_578;\n  puVar31 = puVar47;\n  for (iVar17 = 0x100; iVar17 != 0; iVar17 = iVar17 + -1) {\n    *puVar31 = 0;\n    puVar31 = puVar31 + (uint)bVar37 * -2 + 1;\n  }\n  ppsVar42 = local_778;\n  ppsVar32 = ppsVar42;\n  for (iVar17 = 0x80; iVar17 != 0; iVar17 = iVar17 + -1) {\n    *ppsVar32 = (stat64 *)0x0;\n    ppsVar32 = ppsVar32 + (uint)bVar37 * -2 + 1;\n  }\n  if (bVar36) {\n    uVar10 = 0xffffffff;\n    psVar26 = local_91c;\n    do {\n      if (uVar10 == 0) break;\n      uVar10 = uVar10 - 1;\n      p_Var3 = &psVar26->st_dev;\n      psVar26 = (stat64 *)((int)psVar26 + (uint)bVar37 * -2 + 1);\n    } while ((char)*p_Var3 != '\0');\n    psVar29 = (stat64 *)(~uVar10 - 1);\n    if ((char)local_91c->st_dev == '-') {\n      pr2serr("\'--lba\' cannot be read from stdin\n",pcVar18,psVar20,psVar12);\n      goto LAB_00012130;\n    }\n    pcVar18 = "0123456789aAbBcCdDeEfFhHxXiIkKmMgGtTpP, ";\n    psVar20 = local_91c;\n    psVar12 = local_91c;\n    psVar11 = (stat64 *)strspn((char *)local_91c,"0123456789aAbBcCdDeEfFhHxXiIkKmMgGtTpP, ");\n    psVar26 = psVar29;\n    if (psVar29 == psVar11) {\n      psVar26 = (stat64 *)0x0;\n      psVar29 = local_91c;\n      while( true ) {\n        lVar39 = sg_get_llnum(psVar29,pcVar18,psVar20,psVar12);\n        psVar20 = (stat64 *)lVar39;\n        if (lVar39 == -1) break;\n        puVar47[(int)psVar26 * 2] = (uint)psVar20;\n        puVar47[(int)psVar26 * 2 + 1] = (uint)((ulonglong)lVar39 >> 0x20);\n        psVar12 = psVar20;\n        pcVar15 = strchr((char *)psVar29,0x2c);\n        pcVar18 = (char *)0x20;\n        pcVar16 = strchr((char *)psVar29,0x20);\n        if (pcVar15 == (char *)0x0) {\n          if (pcVar16 == (char *)0x0) {\n            local_91c = (stat64 *)((int)&psVar26->st_dev + 1);\n            if (local_93f != '\0') goto LAB_000126fa;\n            psVar26 = (stat64 *)0x0;\n            psVar20 = extraout_ECX;\n            if (local_91c != (stat64 *)0x1) goto LAB_00012a73;\n            goto LAB_00012820;\n          }\n        }\n        else if ((pcVar16 == (char *)0x0) || (pcVar15 <= pcVar16)) {\n          pcVar16 = pcVar15;\n        }\n        psVar26 = (stat64 *)((int)&psVar26->st_dev + 1);\n        psVar29 = (stat64 *)(pcVar16 + 1);\n        if (psVar26 == (stat64 *)0x80) goto LAB_00013b9f;\n      }\n      psVar11 = (stat64 *)((int)psVar29 - (int)local_91c);\n    }\n    pr2serr("build_lba_arr: error at pos %d\n",(undefined1 *)((int)&psVar11->st_dev + 1),psVar26,\n            psVar26);\n    goto LAB_00012130;\n  }\n  local_91c = (stat64 *)0x0;\n  if (bVar35) {\nLAB_000126fa:\n    psVar11 = (stat64 *)0xffffffff;\n    psVar26 = local_918;\n    do {\n      if (psVar11 == (stat64 *)0x0) break;\n      psVar11 = (stat64 *)((int)&psVar11[-1].st_ino + 7);\n      p_Var3 = &psVar26->st_dev;\n      psVar26 = (stat64 *)((int)psVar26 + (uint)bVar37 * -2 + 1);\n    } while ((char)*p_Var3 != '\0');\n    psVar29 = (stat64 *)(~(uint)psVar11 - 1);\n    if ((char)local_918->st_dev == '-') {\n      pr2serr("\'--len\' cannot be read from stdin\n");\n    }\n    else {\n      pcVar18 = "0123456789aAbBcCdDeEfFhHxXiIkKmMgGtTpP, ";\n      psVar20 = psVar11;\n      psVar26 = (stat64 *)strspn((char *)local_918,"0123456789aAbBcCdDeEfFhHxXiIkKmMgGtTpP, ");\n      psVar12 = extraout_EDX_00;\n      if (psVar29 == psVar26) {\n        psVar12 = (stat64 *)0x0;\n        psVar29 = local_918;\n        do {\n          lVar39 = sg_get_llnum(psVar29,pcVar18,psVar11,psVar20);\n          psVar11 = (stat64 *)lVar39;\n          if ((int)((ulonglong)lVar39 >> 0x20) == -1) {\n            if (psVar11 == (stat64 *)0xffffffff) {\n              psVar26 = (stat64 *)((int)psVar29 - (int)local_918);\n              goto LAB_000127bf;\n            }\n          }\n          else if (0xffffffff < lVar39) {\n            psVar20 = (stat64 *)((int)psVar29 + (1 - (int)local_918));\n            pcVar18 = "build_num_arr";\n            pr2serr("%s: number exceeds 32 bits at pos %d\n","build_num_arr",psVar20,psVar12);\n            goto LAB_000127d9;\n          }\n          ppsVar42[(int)psVar12] = psVar11;\n          psVar20 = psVar11;\n          pcVar15 = strchr((char *)psVar29,0x2c);\n          pcVar18 = (char *)0x20;\n          pcVar16 = strchr((char *)psVar29,0x20);\n          if (pcVar15 == (char *)0x0) {\n            if (pcVar16 == (char *)0x0) {\n              puVar48 = (undefined1 *)((int)&psVar12->st_dev + 1);\n              psVar26 = (stat64 *)0x0;\n              psVar20 = extraout_ECX_00;\n              if ((undefined1 *)0x1 < local_91c) {\n                if ((stat64 *)puVar48 == local_91c) goto LAB_00012820;\n                goto LAB_00012a73;\n              }\n              if (local_91c == (stat64 *)0x0) {\n                if (puVar48 != (undefined1 *)0x1) {\nLAB_00012a73:\n                  pr2serr("need same number of arguments to \'--lba=\' and \'--num=\' options\n");\n                  local_908 = (stat64 *)0x1f;\n                  goto LAB_00012354;\n                }\n                local_91c = (stat64 *)(undefined1 *)0x1;\n                if (local_778[0] != (stat64 *)0x0) {\n                  pr2serr("won\'t write %u blocks without an explicit --lba= option\n",local_778[0],\n                          extraout_ECX_00,extraout_ECX_00);\n                  local_908 = (stat64 *)0x1;\n                  goto LAB_00012354;\n                }\n              }\n              else {\n                local_91c = (stat64 *)(undefined1 *)0x1;\n              }\n              goto LAB_00012820;\n            }\n          }\n          else if ((pcVar16 == (char *)0x0) || (pcVar15 <= pcVar16)) {\n            pcVar16 = pcVar15;\n          }\n          psVar12 = (stat64 *)((int)&psVar12->st_dev + 1);\n          psVar29 = (stat64 *)(pcVar16 + 1);\n        } while (psVar12 != (stat64 *)0x80);\n        pcVar18 = "build_num_arr";\n        psVar20 = extraout_ECX_00;\n        psVar12 = extraout_ECX_00;\n        pr2serr("%s: array length exceeded\n","build_num_arr",extraout_ECX_00,extraout_ECX_00);\n      }\n      else {\nLAB_000127bf:\n        psVar20 = (stat64 *)((int)&psVar26->st_dev + 1);\n        pcVar18 = "build_num_arr";\n        pr2serr("%s: error at pos %d\n","build_num_arr",psVar20,psVar12);\n      }\n    }\nLAB_000127d9:\n    pr2serr("bad argument to \'--num\'\n",pcVar18,psVar20,psVar12);\n    local_908 = (stat64 *)0x0;\n    goto LAB_00012354;\n  }\n  psVar20 = (stat64 *)0x0;\n  local_91c = (stat64 *)(undefined1 *)0x0;\nLAB_00012820:\n  if (local_798 == (char *)0x0) {\nLAB_00012ce5:\n    local_908 = (stat64 *)0x0;\n    local_880._44_4_ = psVar29;\n  }\n  else {\n    pcVar18 = local_798;\n    iVar17 = __xstat64(3,local_798,psVar41);\n    if (iVar17 < 0) {\n      piVar21 = __errno_location();\n      psVar29 = (stat64 *)*piVar21;\n      uVar19 = safe_strerror(psVar29);\n      pcVar18 = "Unable to stat(%s) as SF: %s\n";\nLAB_000136f9:\n      pr2serr(pcVar18,local_798,uVar19);\n      local_908 = (stat64 *)sg_convert_errno(psVar29);\n      goto LAB_00012354;\n    }\n    if ((_Bool)local_820[7] == false) {\n      uVar34 = 0;\n      if (local_820._64_2_ != 0) {\n        uVar34 = ((ushort)local_820._64_2_ + 1) * 0x20;\n      }\n      local_908 = (stat64 *)\n                  build_t10_scat(local_798,(_Bool)local_820[0],(_Bool)(local_820[9] ^ 1),\n                                 (uint8_t *)0x0,&local_8f8,(uint32_t *)&local_8f4,uVar34);\n      if (local_908 != (stat64 *)0x0) goto LAB_00012354;\n      psVar20 = extraout_ECX_03;\n      if ((local_820._64_2_ != 0) && (local_820._64_2_ != local_8f8)) {\n        if (local_8f8 < (ushort)local_820._64_2_) {\n          pr2serr("RD (%u) %s number of %ss (%u) found in SF\n",local_820._64_2_,&DAT_000170dd,\n                  "LBA range descriptor",local_8f8);\n          local_908 = (stat64 *)0xf;\n          goto LAB_00012354;\n        }\n        psVar29 = (stat64 *)(uVar19 | local_820._40_4_);\n        if ((psVar29 != (stat64 *)0x0) &&\n           (pr2serr("RD (%u) %s number of %ss (%u) found in SF\n",local_820._64_2_,&DAT_00017110,\n                    "LBA range descriptor",local_8f8), psVar20 = extraout_ECX_01,\n           local_820._40_4_ != 0)) goto LAB_00012ef5;\n      }\n      goto LAB_00012ce5;\n    }\n    if ((local_880._16_4_ & 0xf000) != 0x8000) {\n      pr2serr("Expect scatter file to be a regular file\n",pcVar18,psVar41,psVar26);\n      local_908 = (stat64 *)0xf;\n      goto LAB_00012354;\n    }\n    local_908 = (stat64 *)local_880._44_4_;\n    local_920 = (stat64 *)open64(local_798,0,0x8000,0x8000);\n    if ((int)local_920 < 0) {\n      piVar21 = __errno_location();\n      psVar29 = (stat64 *)*piVar21;\n      uVar19 = safe_strerror(psVar29);\n      pcVar18 = "Failed to open %s for raw read: %s\n";\n      goto LAB_000136f9;\n    }\n    iVar17 = sg_set_binary_mode(local_920);\n    psVar20 = extraout_ECX_04;\n    if (iVar17 < 0) {\n      perror("sg_set_binary_mode");\n      local_908 = (stat64 *)0xf;\n      psVar29 = (stat64 *)local_880._44_4_;\n      goto LAB_00012354;\n    }\n  }\n  uVar24 = local_820._48_4_;\n  psVar29 = local_8f4;\n  if ((_Bool)local_820[9] == false) {\n    if (local_91c == (stat64 *)0x0) {\n      psVar29 = (stat64 *)local_880._44_4_;\n      if (local_798 == (char *)0x0) {\n        if ((_Bool)local_820[7] == false) {\n          pr2serr("No LBA or number_of_blocks given, try using --lba= and --num=\n");\n          local_908 = (stat64 *)0x1;\n          goto LAB_00012354;\n        }\n      }\n      else if ((_Bool)local_820[7] == false) {\n        local_8f4 = (stat64 *)0x0;\n        local_908 = (stat64 *)\n                    build_t10_scat(local_798,(_Bool)local_820[0],true,local_174 + 0x50,&local_8f8,\n                                   (uint32_t *)&local_8f4,0x60);\n        if (local_908 != (stat64 *)0x0) goto LAB_00012354;\n        if ((stat64 *)uVar19 != (stat64 *)0x0) {\n          uVar10 = (uint)local_8f8;\n          if (1 < local_8f8) {\n            uVar10 = pr2serr("warning: %d LBA,number_of_blocks pairs found, only taking first\n",\n                             uVar10,extraout_EDX_05,extraout_EDX_05);\n          }\n          if (2 < (int)uVar19) {\n            pr2serr("after build_t10_scat, num_lbard=%u, sum_num=%u\n",local_8f8,local_8f4,uVar10);\n          }\n        }\n        if (local_8f8 != 1) {\n          pr2serr("Unable to decode one LBA range descriptor from %s\n",local_798,0,0);\n          local_908 = (stat64 *)0xf;\n          goto LAB_00012354;\n        }\n        local_820._104_4_ =\n             local_104 >> 0x18 | (local_104 & 0xff0000) >> 8 | (local_104 & 0xff00) << 8 |\n             local_104 << 0x18;\n        local_820._100_4_ =\n             local_100 >> 0x18 | (local_100 & 0xff0000) >> 8 | (local_100 & 0xff00) << 8 |\n             local_100 << 0x18;\n        local_820._84_4_ =\n             local_fc >> 0x18 | (local_fc & 0xff0000) >> 8 | (local_fc & 0xff00) << 8 |\n             local_fc << 0x18;\n        if ((_Bool)local_820[1] != false) {\n          local_820._96_4_ =\n               local_f8 >> 0x18 | (local_f8 & 0xff0000) >> 8 | (local_f8 & 0xff00) << 8 |\n               local_f8 << 0x18;\n          local_820._58_2_ = local_f4 << 8 | local_f4 >> 8;\n          local_820._68_2_ = local_f2 << 8 | local_f2 >> 8;\n        }\n        goto LAB_00012d48;\n      }\n      if (local_908 < (stat64 *)0x40) {\n        pr2serr("raw scatter file must be at least 64 bytes long (length: %u)\n",local_908,\n                local_880._44_4_,local_880._44_4_);\nLAB_00012ef5:\n        local_908 = (stat64 *)0xf;\n        goto LAB_00012354;\n      }\n      psVar29 = (stat64 *)(local_174 + 0x50);\n      local_908 = (stat64 *)bin_read((int)local_920,(uint8_t *)psVar29,0x40,"SF");\n      if (local_908 != (stat64 *)0x0) goto LAB_00012354;\n      _Var9 = check_lbrds((uint8_t *)psVar29,0x40,(opts_t *)local_820,&local_8f8,\n                          (uint32_t *)&local_8f4);\n      if (!_Var9) goto LAB_00012ef5;\n      if (local_8f8 != 1) {\n        pr2serr("No %ss found in SF (num=%u)\n","LBA range descriptor",local_8f8,extraout_EDX_01);\n        goto LAB_00012ef5;\n      }\n      local_820._104_4_ =\n           local_114 >> 0x18 | (local_114 & 0xff0000) >> 8 | (local_114 & 0xff00) << 8 |\n           local_114 << 0x18;\n      local_820._100_4_ =\n           local_110 >> 0x18 | (local_110 & 0xff0000) >> 8 | (local_110 & 0xff00) << 8 |\n           local_110 << 0x18;\n      local_820._84_4_ =\n           local_10c >> 0x18 | (local_10c & 0xff0000) >> 8 | (local_10c & 0xff00) << 8 |\n           local_10c << 0x18;\n    }\n    else {\n      local_820._100_4_ = local_578;\n      local_820._104_4_ = local_574;\n      local_820._84_4_ = local_778[0];\n      if (((stat64 *)uVar19 != (stat64 *)0x0) && (local_91c != (stat64 *)0x1)) {\n        pr2serr("warning: %d LBA,number_of_blocks pairs found, only taking first\n",local_91c,\n                psVar20,psVar20);\n      }\n    }\nLAB_00012d48:\n    if ((_Bool)local_820[8] == false) {\n      psVar29 = (stat64 *)(local_820._84_4_ * local_820._76_4_);\n    }\n    else {\n      psVar29 = (stat64 *)0x0;\n      if ((_Bool)local_820[0x10] == false) {\n        psVar29 = (stat64 *)local_820._76_4_;\n      }\n    }\n    local_7a4 = psVar29;\n    if (psVar29 == (stat64 *)0x0) {\n      up = (uint8_t *)0x0;\n    }\n    else {\n      up = (uint8_t *)sg_memalign(psVar29,0,&local_8f0,0);\n      if (up == (uint8_t *)0x0) {\n        pcVar18 = "unable to allocate %u bytes of memory\n";\n        ppvVar44 = (void **)0x0;\n        uVar19 = 0;\n        psVar41 = psVar29;\nLAB_00013bea:\n        pr2serr(pcVar18,psVar41,ppvVar44,uVar19);\n        local_908 = (stat64 *)sg_convert_errno(0xc);\n        goto LAB_00012354;\n      }\n      if (psVar29 < local_93c) {\n        local_93c = psVar29;\n      }\n      local_908 = (stat64 *)bin_read((int)local_924,up,(uint32_t)local_93c,"IF 5");\n      if (local_908 != (stat64 *)0x0) goto LAB_00012354;\n    }\n    local_908 = (stat64 *)do_write_x((int)local_930,up,(int)psVar29,(opts_t *)local_820);\n    if (local_908 == (stat64 *)0x0) goto LAB_00012354;\n    if ((_Bool)local_820[6] != false) goto LAB_00012354;\n    puVar48 = local_174;\n    psVar29 = (stat64 *)"OS error";\n    puVar33 = puVar48;\n    for (iVar17 = 9; iVar17 != 0; iVar17 = iVar17 + -1) {\n      *puVar33 = (char)psVar29->st_dev;\n      psVar29 = (stat64 *)((int)psVar29 + (uint)bVar37 * -2 + 1);\n      puVar33 = puVar33 + (uint)bVar37 * -2 + 1;\n    }\n    uVar24 = 0;\n    if (0 < (int)local_908) {\n      sg_get_category_sense_str(local_908,0x50,puVar48,uVar19);\n      uVar24 = extraout_ECX_02;\n    }\n    pr2serr("%s: %s\n",local_790,puVar48,uVar24);\n    goto LAB_00012354;\n  }\n  local_8e8 = (void *)0x0;\n  local_8f6 = local_8f8;\n  local_8ec = local_8f4;\n  if ((_Bool)local_820[4] != false) {\n    if (local_820._62_2_ == 0) {\n      if (local_820._64_2_ == 0) {\n        psVar20 = local_93c;\n        if (local_93c == (stat64 *)0x0) {\n          pr2serr("With --combined= if DOF, RD are 0 and IF has an unknown length\nthen give up\n");\n          local_908 = (stat64 *)0x1f;\n          goto LAB_00012354;\n        }\n      }\n      else {\n        psVar20 = (stat64 *)(((ushort)local_820._64_2_ + 1) * 0x20);\n      }\n      if ((uint)psVar20 % (uint)local_820._76_4_ != 0) {\n        psVar20 = (stat64 *)(((uint)psVar20 / (uint)local_820._76_4_ + 1) * local_820._76_4_);\n      }\n    }\n    else {\n      psVar20 = (stat64 *)((uint)(ushort)local_820._62_2_ * local_820._76_4_);\n    }\n    ppvVar44 = &local_8e8;\n    uVar19 = 0;\n    psVar41 = (stat64 *)0x0;\n    psVar29 = (stat64 *)sg_memalign(psVar20,0,ppvVar44,0);\n    if (psVar29 == (stat64 *)0x0) {\nLAB_000141a6:\n      pcVar18 = "unable to allocate aligned memory for scatterlist+data\n";\n      goto LAB_00013bea;\n    }\n    psVar41 = local_93c;\n    if (psVar20 < local_93c) {\n      psVar41 = psVar20;\n    }\n    iVar17 = bin_read((int)local_924,(uint8_t *)psVar29,(uint32_t)psVar41,"IF c1");\n    local_908 = (stat64 *)iVar17;\n    if (iVar17 != 0) goto LAB_000133fd;\n    ppsVar42 = &local_8ec;\n    iVar23 = iVar17;\n    _Var9 = check_lbrds((uint8_t *)psVar29,(uint32_t)psVar20,(opts_t *)local_820,&local_8f6,\n                        (uint32_t *)ppsVar42);\n    if (_Var9) {\n      if ((local_820._64_2_ == 0) || (local_820._64_2_ == local_8f6)) {\n        local_820._64_2_ = local_8f6;\nLAB_00013fe3:\n        local_908 = (stat64 *)(((ushort)local_820._64_2_ + 1) * 0x20);\n        if ((uint)local_908 % (uint)local_820._76_4_ != 0) {\n          local_908 = (stat64 *)(((uint)local_908 / (uint)local_820._76_4_ + 1) * local_820._76_4_);\n        }\n        uVar10 = (uint)(ushort)local_820._62_2_;\n        uVar28 = uVar10 * local_820._76_4_;\n        local_918 = local_908;\n        local_8f6 = local_820._64_2_;\n        if (uVar28 - (int)local_908 != 0) {\n          if (uVar28 < local_908) {\n            pr2serr("%s: Cannot fit %ss (%u) in given LB data offset (%u)\n","process_scattered",\n                    "LBA range descriptor",(uint)(ushort)local_820._64_2_,uVar10,ppsVar42,iVar17,\n                    iVar23);\n            goto LAB_000133f3;\n          }\n          local_918 = (stat64 *)uVar28;\n          if (((uVar24 | local_820._40_4_) != 0) &&\n             (pr2serr("%s: empty blocks before LB data offset (%u), could be okay\n",\n                      "process_scattered",uVar10,uVar24 | local_820._40_4_), local_820._40_4_ != 0))\n          {\n            pr2serr("Exiting due to --strict; perhaps try again with --combined=%u\n",\n                    (uint)local_908 / (uint)local_820._76_4_,psVar29,psVar29);\n            local_908 = (stat64 *)0xf;\n            goto LAB_000133fd;\n          }\n        }\n        local_918 = (stat64 *)((int)local_8ec * local_820._76_4_ + (int)local_918);\n        if (local_918 <= psVar20) {\nLAB_0001418c:\n          local_820._84_4_ = local_8ec;\n          local_7a4 = (stat64 *)((int)local_8ec * local_820._76_4_);\n          goto LAB_00013962;\n        }\n        if (local_93c != local_918) {\n          if (local_93c < local_918) {\n            pr2serr("Calculated dout length (%u) %s bytes available in IF (%u)\n",local_918,\n                    &DAT_000170dd,local_93c);\n          }\n          else if (((stat64 *)uVar24 == (stat64 *)0x0 && local_820._40_4_ == 0) ||\n                  (pr2serr("Calculated dout length (%u) %s bytes available in IF (%u)\n",local_918,\n                           &DAT_00017110,local_93c), local_820._40_4_ == 0)) goto LAB_00014113;\n          goto LAB_000133f3;\n        }\nLAB_00014113:\n        psVar41 = (stat64 *)sg_memalign(local_918,0,&local_8e4,0);\n        if (psVar41 != (stat64 *)0x0) {\n          memcpy(psVar41,psVar29,(size_t)psVar20);\n          free(local_8e8);\n          local_8e8 = local_8e4;\n          local_908 = (stat64 *)\n                      bin_read((int)local_924,\n                               (uint8_t *)((int)&psVar20->st_dev + (int)&psVar41->st_dev),\n                               (int)local_918 - (int)psVar20,"IF c2");\n          psVar29 = psVar41;\n          if (local_908 != (stat64 *)0x0) goto LAB_000133fd;\n          goto LAB_0001418c;\n        }\nLAB_00014273:\n        pcVar18 = "unable to allocate memory for final scatterlist+data\n";\n        goto LAB_00013fbc;\n      }\n      if (local_8f6 < (ushort)local_820._64_2_) {\n        pr2serr("RD (%u) %s number of %ss (%u) found in IF\n",local_820._64_2_,&DAT_000170dd,\n                "LBA range descriptor",local_8f6,ppsVar42,iVar17,iVar23);\n      }\n      else if (((stat64 *)uVar24 == (stat64 *)0x0 && local_820._40_4_ == 0) ||\n              (pr2serr("RD (%u) %s number of %ss (%u) found in IF\n",local_820._64_2_,&DAT_00017110,\n                       "LBA range descriptor",local_8f6,ppsVar42,iVar17,iVar23),\n              local_820._40_4_ == 0)) {\n        local_908 = (stat64 *)0x0;\n        for (psVar41 = psVar29;\n            (stat64 *)(&psVar29->st_dev + (uint)(ushort)local_820._64_2_ * 4) != psVar41;\n            psVar41 = (stat64 *)&psVar41->st_rdev) {\n          uVar10 = psVar41->__pad2;\n          local_908 = (stat64 *)\n                      ((int)&local_908->st_dev +\n                      (uVar10 >> 0x18 | (uVar10 & 0xff0000) >> 8 | (uVar10 & 0xff00) << 8 |\n                      uVar10 << 0x18));\n        }\n        local_8ec = local_908;\n        goto LAB_00013fe3;\n      }\n    }\nLAB_000133f3:\n    local_908 = (stat64 *)0xf;\n    goto LAB_000133fd;\n  }\n  if (local_91c != (stat64 *)0x0) {\n    local_8f6 = (uint16_t)local_91c;\n  }\n  if (local_798 == (char *)0x0) {\n    if ((_Bool)local_820[7] != false) goto LAB_00013dcd;\n    if (local_91c == (stat64 *)0x0) {\n      pr2serr("How did we get here??\n");\n      local_908 = (stat64 *)0x1;\n      goto LAB_000133fd;\n    }\n    if ((local_820._64_2_ != 0) && (local_91c < (undefined1 *)(uint)(ushort)local_820._64_2_)) {\n      pr2serr("%s: number given to --scattered= (%u) exceeds number of --lba= elements (%u)\n",\n              "process_scattered",(undefined1 *)(uint)(ushort)local_820._64_2_,local_91c);\n      local_908 = (stat64 *)0x1f;\n      goto LAB_00012354;\n    }\n    uVar10 = (local_8f6 + 1) * 0x20;\n    local_820._62_2_ = (undefined2)(uVar10 / (uint)local_820._76_4_);\n    if (uVar10 % (uint)local_820._76_4_ != 0) {\n      local_820._62_2_ = local_820._62_2_ + 1;\n    }\n    iVar17 = 0;\n    local_8ec = (stat64 *)0x0;\n    do {\n      local_8ec = (stat64 *)((int)&local_8ec->st_dev + (int)ppsVar42[iVar17]);\n      iVar17 = iVar17 + 1;\n    } while (iVar17 < (int)local_91c);\n    local_918 = (stat64 *)\n                (((int)&local_8ec->st_dev + (uint)(ushort)local_820._62_2_) * local_820._76_4_);\n    psVar29 = (stat64 *)sg_memalign(local_918,0,&local_8e8,0);\n    if (psVar29 == (stat64 *)0x0) goto LAB_00013fb3;\n    iVar17 = 0;\n    psVar41 = psVar29;\n    do {\n      uVar10 = puVar47[iVar17 * 2];\n      uVar28 = puVar47[iVar17 * 2 + 1];\n      *(uint *)&psVar41->st_rdev =\n           uVar28 >> 0x18 | (uVar28 & 0xff0000) >> 8 | (uVar28 & 0xff00) << 8 | uVar28 << 0x18;\n      *(uint *)((int)&psVar41->st_rdev + 4) =\n           uVar10 >> 0x18 | (uVar10 & 0xff0000) >> 8 | (uVar10 & 0xff00) << 8 | uVar10 << 0x18;\n      psVar20 = ppsVar42[iVar17];\n      psVar41->__pad2 =\n           (uint)psVar20 >> 0x18 | ((uint)psVar20 & 0xff0000) >> 8 | ((uint)psVar20 & 0xff00) << 8 |\n           (int)psVar20 << 0x18;\n      if ((_Bool)local_820[1] != false) {\n        if (iVar17 == 0) {\n          *(uint *)&psVar41->st_size =\n               (uint)local_820._96_4_ >> 0x18 | (local_820._96_4_ & 0xff0000) >> 8 |\n               (local_820._96_4_ & 0xff00) << 8 | local_820._96_4_ << 0x18;\n          *(ushort *)((int)&psVar41->st_size + 4) =\n               local_820._58_2_ << 8 | (ushort)local_820._58_2_ >> 8;\n          *(ushort *)((int)&psVar41->st_size + 6) =\n               local_820._68_2_ << 8 | (ushort)local_820._68_2_ >> 8;\n        }\n        else {\n          *(undefined4 *)&psVar41->st_size = 0xffffffff;\n          *(undefined2 *)((int)&psVar41->st_size + 4) = 0xffff;\n          *(undefined2 *)((int)&psVar41->st_size + 6) = 0xffff;\n        }\n      }\n      iVar17 = iVar17 + 1;\n      psVar41 = (stat64 *)&psVar41->st_rdev;\n    } while (iVar17 < (int)local_91c);\n    local_820._84_4_ = local_8ec;\n  }\n  else {\n    if ((_Bool)local_820[7] == false) {\n      uVar10 = (uint)local_8f6;\n      uVar19 = 0;\n      uVar34 = (uVar10 + 1) * 0x20;\n      local_820._62_2_ = (undefined2)(uVar34 / (uint)local_820._76_4_);\n      ppvVar44 = &local_8e8;\n      if (uVar34 % (uint)local_820._76_4_ != 0) {\n        local_820._62_2_ = local_820._62_2_ + 1;\n      }\n      psVar41 = (stat64 *)0x0;\n      psVar29 = (stat64 *)\n                sg_memalign(((int)&local_8f4->st_dev + (uint)(ushort)local_820._62_2_) *\n                            local_820._76_4_,0,ppvVar44,0);\n      if (psVar29 == (stat64 *)0x0) goto LAB_000141a6;\n      local_8f6 = 0;\n      local_8ec = (stat64 *)0x0;\n      if (uVar10 + 1 == 1) {\n        uVar34 = (uint)(ushort)local_820._62_2_ * local_820._76_4_;\n      }\n      local_908 = (stat64 *)\n                  build_t10_scat(local_798,(_Bool)local_820[0],(_Bool)(local_820[9] ^ 1),\n                                 (uint8_t *)psVar29,&local_8f6,(uint32_t *)&local_8ec,uVar34);\n      if (local_908 != (stat64 *)0x0) goto LAB_000133fd;\n      psVar41 = (stat64 *)(local_820._76_4_ * (int)local_8ec);\n      if ((uint)local_820._80_4_ <= psVar41) {\n        if (((uint)local_820._80_4_ <= psVar41 && (int)psVar41 - local_820._80_4_ != 0) &&\n           ((stat64 *)local_820._80_4_ != (stat64 *)0x0)) {\n          psVar41 = (stat64 *)local_820._80_4_;\n        }\nLAB_00014208:\n        if ((psVar49 != (stat64 *)0x0) && (psVar49 != psVar41)) {\n          if ((stat64 *)uVar24 != (stat64 *)0x0) {\n            puVar22 = &DAT_00017110;\n            if (psVar41 <= psVar49) {\n              puVar22 = &DAT_000170dd;\n            }\n            pr2serr("readable length (%u) of IF %s bytes implied by sum of\nscatter list NUMs (%u) and DLEN\n"\n                    ,psVar49,puVar22,psVar41);\n          }\n          if ((local_820._40_4_ != 0) && ((psVar41 <= psVar49 || (1 < (int)local_820._40_4_))))\n          goto LAB_000133f3;\nLAB_0001387e:\n          if (psVar49 < psVar41) {\n            psVar41 = psVar49;\n          }\n        }\n        psVar20 = (stat64 *)((uint)psVar41 / (uint)local_820._76_4_);\n        if (((uint)psVar41 % (uint)local_820._76_4_ != 0) &&\n           (((stat64 *)uVar24 != (stat64 *)0x0 || (1 < (int)local_820._40_4_)))) {\n          psVar26 = psVar41;\n          psVar11 = (stat64 *)local_820._72_4_;\n          pr2serr("Calculated data-out length (0x%x) not a multiple of BS (%u",psVar41,\n                  local_820._72_4_,psVar20);\n          if (local_820._72_4_ != local_820._76_4_) {\n            psVar26 = (stat64 *)(local_820._76_4_ - local_820._72_4_);\n            psVar11 = extraout_ECX_06;\n            psVar20 = extraout_ECX_06;\n            pr2serr(" + %d(PI)",psVar26,extraout_ECX_06,extraout_ECX_06);\n          }\n          if (1 < (int)local_820._40_4_) {\n            pr2serr(")\nexiting ...\n",psVar26,psVar11,psVar20);\n            local_908 = (stat64 *)0xf;\n            goto LAB_000133fd;\n          }\n          pr2serr(")\nzero pad and continue ...\n",psVar26,psVar11,psVar20);\n        }\n      }\n      else {\n        uVar10 = uVar24 | local_820._40_4_;\n        if (uVar10 != 0) {\n          pr2serr("DLEN > than bytes implied by sum of scatter list NUMs (%u)\n",psVar41,uVar10,\n                  uVar10);\n          if (1 < (int)uVar24) {\n            pr2serr("  num_lbard=%u, sum_num=%u actual_bs=%u",local_8f6,local_8ec,local_820._76_4_);\n          }\n          if (local_820._40_4_ != 0) goto LAB_000133f3;\n          goto LAB_00014208;\n        }\n        if ((psVar49 != (stat64 *)0x0) && (psVar49 != psVar41)) goto LAB_0001387e;\n      }\n      local_908 = (stat64 *)\n                  bin_read((int)local_924,\n                           (uint8_t *)\n                           ((int)&psVar29->st_dev +\n                           (uint)(ushort)local_820._62_2_ * local_820._76_4_),(uint32_t)psVar41,\n                           "IF 3");\n      uVar4 = local_820._62_2_;\n    }\n    else {\nLAB_00013dcd:\n      psVar41 = (stat64 *)local_820._76_4_;\n      if (local_820._64_2_ != 0) {\n        psVar41 = (stat64 *)(((ushort)local_820._64_2_ + 1) * 0x20);\n        if (local_908 < psVar41) {\n          pr2serr("SF not long enough (%u bytes) to provide RD (%u) %ss\n",local_908,psVar41,\n                  "LBA range descriptor");\n          local_908 = (stat64 *)0xf;\n          goto LAB_000133fd;\n        }\n        psVar41 = (stat64 *)\n                  ((((uint)psVar41 / (uint)local_820._76_4_ + 1) -\n                   (uint)((uint)psVar41 % (uint)local_820._76_4_ == 0)) * local_820._76_4_);\n      }\n      local_918 = (stat64 *)local_820._76_4_;\n      if (local_93c != (stat64 *)0x0) {\n        local_918 = (stat64 *)\n                    ((((uint)local_93c / (uint)local_820._76_4_ + 1) -\n                     (uint)((uint)local_93c % (uint)local_820._76_4_ == 0)) * local_820._76_4_);\n      }\n      psVar29 = (stat64 *)\n                sg_memalign((int)&psVar41->st_dev + (int)&local_918->st_dev,0,&local_8e8,0);\n      if (psVar29 == (stat64 *)0x0) {\nLAB_00013fb3:\n        pcVar18 = "unable to allocate aligned memory for scatterlist+data\n";\nLAB_00013fbc:\n        pr2serr(pcVar18);\n        local_908 = (stat64 *)sg_convert_errno(0xc);\n        goto LAB_000133fd;\n      }\n      local_908 = (stat64 *)bin_read((int)local_920,(uint8_t *)psVar29,(uint32_t)local_908,"SF");\n      if (local_908 != (stat64 *)0x0) goto LAB_000133fd;\n      _Var9 = check_lbrds((uint8_t *)psVar29,(uint32_t)psVar41,(opts_t *)local_820,&local_8f6,\n                          (uint32_t *)&local_8ec);\n      if (!_Var9) goto LAB_000133f3;\n      if (local_820._64_2_ != local_8f6) {\n        pr2serr("Try again with --scattered=%u\n",local_8f6,extraout_EDX_06,extraout_EDX_06);\n        local_908 = (stat64 *)0xf;\n        goto LAB_000133fd;\n      }\n      psVar20 = (stat64 *)(local_820._76_4_ * (int)local_8ec);\n      if (local_918 < psVar20) {\n        psVar26 = (stat64 *)\n                  sg_memalign((int)&psVar41->st_dev + (int)&psVar20->st_dev,0,&local_8e4,0);\n        if (psVar26 == (stat64 *)0x0) goto LAB_00014273;\n        memcpy(psVar26,psVar29,(size_t)psVar41);\n        free(local_8e8);\n        local_8e8 = local_8e4;\n        psVar29 = psVar26;\n        local_918 = psVar20;\n      }\n      psVar20 = psVar41;\n      if ((local_93c != psVar41) &&\n         (psVar20 = local_93c, (stat64 *)uVar24 != (stat64 *)0x0 || local_820._40_4_ != 0)) {\n        puVar22 = &DAT_000170dd;\n        if (local_93c <= psVar41) {\n          puVar22 = &DAT_00017110;\n        }\n        psVar26 = psVar41;\n        pr2serr("IF length (%u) %s \'sum_num\' bytes (%u), ",local_93c,puVar22,psVar41);\n        if (1 < (int)local_820._40_4_) {\n          pr2serr("exiting (strict=%d)\n",local_820._40_4_,psVar41,psVar41);\n          local_908 = (stat64 *)0xf;\n          goto LAB_000133fd;\n        }\n        pr2serr("continuing ...\n",psVar20,puVar22,psVar26);\n        psVar20 = psVar41;\n        if (local_93c < psVar41) {\n          psVar20 = local_93c;\n        }\n      }\n      local_908 = (stat64 *)\n                  bin_read((int)local_924,\n                           (uint8_t *)((int)&psVar29->st_dev + (int)&local_918->st_dev),\n                           (uint32_t)psVar20,"IF 4");\n      uVar4 = local_8f6;\n    }\n    if (local_908 != (stat64 *)0x0) goto LAB_000133fd;\n    local_7a4 = (stat64 *)((int)local_8ec * local_820._76_4_);\n    local_918 = (stat64 *)(((int)&local_8ec->st_dev + (uint)uVar4) * local_820._76_4_);\n    local_820._84_4_ = local_8ec;\n  }\nLAB_00013962:\n  local_8ec = (stat64 *)local_820._84_4_;\n  local_908 = (stat64 *)do_write_x((int)local_930,psVar29,(int)local_918,(opts_t *)local_820);\n  if (local_908 != (stat64 *)0x0) {\n    puVar48 = local_174 + 0x50;\n    psVar29 = (stat64 *)"OS error";\n    puVar33 = puVar48;\n    for (iVar17 = 9; iVar17 != 0; iVar17 = iVar17 + -1) {\n      *puVar33 = (char)psVar29->st_dev;\n      psVar29 = (stat64 *)((int)psVar29 + (uint)bVar37 * -2 + 1);\n      puVar33 = puVar33 + (uint)bVar37 * -2 + 1;\n    }\n    if (0 < (int)local_908) {\n      sg_get_category_sense_str(local_908,0x50,puVar48,uVar24);\n    }\n    pr2serr("%s: %s\n",local_790,puVar48,psVar29);\n  }\nLAB_000133fd:\n  if (local_8e8 == (void *)0x0) goto LAB_00012354;\n  free(local_8e8);\n  goto LAB_00012354;\n_L476:\n  uVar38 = sg_get_llnum(*(undefined4 *)PTR_optarg_0001dffc);\n  psVar20 = (stat64 *)local_820._80_4_;\n  uVar34 = local_820._92_4_;\n  uVar10 = (uint)uVar38;\n  if ((int)((ulonglong)uVar38 >> 0x20) != 0) goto LAB_00012b94;\n  goto LAB_000114e8;\nLAB_00012b94:\n  pr2serr("bad argument to \'--ref-tag=\'. Expect 0 to 0xffffffff inclusive\n");\nLAB_00011a7a:\n  local_908 = (stat64 *)0x1;\nLAB_00011a84:\n  do {\n    psVar29 = (stat64 *)(local_24 ^ *(uint *)(in_GS_OFFSET + 0x14));\n    if (psVar29 == (stat64 *)0x0) {\n      return (int)local_908;\n    }\n    __stack_chk_fail_local();\nLAB_00013b9f:\n    pr2serr("build_lba_arr: array length exceeded\n");\nLAB_00012130:\n    pr2serr("bad argument to \'--lba\'\n");\n    local_908 = (stat64 *)0x1;\nLAB_00012354:\n    if (local_8f0 != (void *)0x0) {\n      free(local_8f0);\n    }\n    iVar17 = sg_cmds_close_device(local_930);\n    if (iVar17 < 0) {\n      if ((_Bool)local_820[6] == false) {\n        uVar19 = safe_strerror(-iVar17);\n        pr2serr("sg_fd close error: %s\n",uVar19);\n      }\n      if (local_908 == (stat64 *)0x0) {\n        local_908 = (stat64 *)0xf;\n      }\n    }\n    if ((-1 < (int)local_920) && (iVar17 = close((int)local_920), iVar17 < 0)) {\n      if ((_Bool)local_820[6] == false) {\n        perror("sfr_fd close error");\n      }\n      if (local_908 == (stat64 *)0x0) {\n        local_908 = (stat64 *)0xf;\n      }\n    }\nLAB_000123a1:\n    if (((cVar2 == '\x01') || ((int)local_924 < 0)) ||\n       (pcVar18 = (char *)close((int)local_924), -1 < (int)pcVar18)) {\nLAB_000123cc:\n      if ((((stat64 *)local_820._48_4_ == (stat64 *)0x0) && ((_Bool)local_820[6] == false)) &&\n         (cVar8 = sg_if_can2stderr("sg_write_x failed: ",local_908,psVar29,psVar29), cVar8 == '\0'))\n      goto LAB_0001260b;\n      goto LAB_000123e2;\n    }\n    if ((_Bool)local_820[6] == false) {\n      pcVar18 = "infd close error";\n      perror("infd close error");\n    }\n    if (local_908 != (stat64 *)0x0) goto LAB_000123cc;\n    local_908 = (stat64 *)0xf;\n    if ((((stat64 *)local_820._48_4_ == (stat64 *)0x0) && ((_Bool)local_820[6] == false)) &&\n       (cVar8 = sg_if_can2stderr("sg_write_x failed: ",0xf,pcVar18,pcVar18), cVar8 == '\0')) {\nLAB_0001260b:\n      pr2serr("Some error occurred, try again with \'-v\' or \'-vv\' for more information\n");\nLAB_000123e2:\n      if ((int)local_908 < 0) {\n        local_908 = (stat64 *)0x63;\n      }\n    }\n  } while( true );\n}" primitive_type (function_declarator "main(int argc,char **argv)" identifier (parameter_list "(int argc,char **argv)" ( (parameter_declaration "int argc" primitive_type identifier) , (parameter_declaration "char **argv" primitive_type (pointer_declarator "**argv" * (pointer_declarator "*argv" * identifier))) ))) (compound_statement "{\n  byte bVar1;\n  char cVar2;\n  __dev_t *p_Var3;\n  ushort uVar4;\n  undefined *puVar5;\n  undefined *puVar6;\n  char **ppcVar7;\n  char cVar8;\n  _Bool _Var9;\n  uint uVar10;\n  stat64 *psVar11;\n  stat64 *psVar12;\n  int iVar13;\n  stat64 *psVar14;\n  char *pcVar15;\n  char *pcVar16;\n  int iVar17;\n  char *pcVar18;\n  uint8_t *up;\n  undefined4 uVar19;\n  stat64 *psVar20;\n  int *piVar21;\n  undefined *puVar22;\n  int iVar23;\n  stat64 *extraout_ECX;\n  stat64 *extraout_ECX_00;\n  stat64 *extraout_ECX_01;\n  undefined4 extraout_ECX_02;\n  undefined4 uVar24;\n  stat64 *extraout_ECX_03;\n  stat64 *extraout_ECX_04;\n  stat64 *extraout_ECX_05;\n  stat64 *extraout_ECX_06;\n  char **extraout_EDX;\n  char **ppcVar25;\n  stat64 *psVar26;\n  stat64 *psVar27;\n  stat64 *extraout_EDX_00;\n  undefined4 extraout_EDX_01;\n  stat64 *extraout_EDX_02;\n  stat64 *extraout_EDX_03;\n  stat64 *extraout_EDX_04;\n  undefined4 extraout_EDX_05;\n  undefined4 extraout_EDX_06;\n  uint uVar28;\n  stat64 *psVar29;\n  opts_t *poVar30;\n  uint *puVar31;\n  stat64 **ppsVar32;\n  undefined1 *puVar33;\n  uint32_t uVar34;\n  int in_GS_OFFSET;\n  bool bVar35;\n  bool bVar36;\n  byte bVar37;\n  undefined8 uVar38;\n  longlong lVar39;\n  __off64_t _Var40;\n  stat64 *psVar41;\n  stat64 **ppsVar42;\n  uint32_t uVar43;\n  void **ppvVar44;\n  uint32_t uVar45;\n  uint uVar46;\n  uint *puVar47;\n  undefined1 *puVar48;\n  stat64 *psVar49;\n  char local_93f;\n  stat64 *local_93c;\n  stat64 *local_930;\n  stat64 *local_924;\n  stat64 *local_920;\n  stat64 *local_91c;\n  stat64 *local_918;\n  stat64 *local_908;\n  uint16_t local_8f8;\n  uint16_t local_8f6;\n  stat64 *local_8f4;\n  void *local_8f0;\n  stat64 *local_8ec;\n  void *local_8e8;\n  void *local_8e4;\n  undefined1 local_8e0 [48];\n  int local_8b0;\n  undefined1 local_880 [96];\n  undefined1 local_820 [112];\n  stat64 *local_7b0;\n  int local_7ac;\n  int local_7a8;\n  stat64 *local_7a4;\n  stat64 *local_7a0;\n  char *local_79c;\n  char *local_798;\n  stat64 *local_794;\n  undefined1 local_790 [24];\n  stat64 *local_778 [128];\n  uint local_578;\n  uint local_574;\n  undefined1 local_174 [96];\n  uint local_114;\n  uint local_110;\n  uint local_10c;\n  uint local_104;\n  uint local_100;\n  uint local_fc;\n  uint local_f8;\n  ushort local_f4;\n  ushort local_f2;\n  uint local_24;\n  int *local_18;\n  \n  ppcVar7 = argv;\n  iVar17 = argc;\n  puVar22 = PTR_optarg_0001dffc;\n  bVar37 = 0;\n  local_18 = &argc;\n  local_24 = *(uint *)(in_GS_OFFSET + 0x14);\n  local_8f8 = 0;\n  local_8f4 = (stat64 *)0x0;\n  local_8f0 = (void *)0x0;\n  local_918 = (stat64 *)0x0;\n  local_91c = (stat64 *)0x0;\n  poVar30 = (opts_t *)local_820;\n  for (iVar23 = 0x2a; iVar23 != 0; iVar23 = iVar23 + -1) {\n    poVar30->do_16 = false;\n    poVar30->do_32 = false;\n    poVar30->do_anchor = false;\n    poVar30->do_atomic = false;\n    poVar30 = (opts_t *)&poVar30->do_combined;\n  }\n  local_930 = (stat64 *)local_8e0;\n  local_820._36_4_ = -1;\n  psVar41 = local_930;\n  for (iVar23 = 0x18; iVar23 != 0; iVar23 = iVar23 + -1) {\n    *(undefined4 *)&psVar41->st_dev = 0;\n    psVar41 = (stat64 *)((int)&psVar41->st_dev + 4);\n  }\n  psVar41 = (stat64 *)local_880;\n  local_820._96_4_ = 0xffffffff;\n  psVar20 = psVar41;\n  for (iVar23 = 0x18; iVar23 != 0; iVar23 = iVar23 + -1) {\n    *(undefined4 *)&psVar20->st_dev = 0;\n    psVar20 = (stat64 *)((int)&psVar20->st_dev + 4);\n  }\n  cVar2 = ' ';\n  local_820._58_2_ = 0xffff;\n  local_820._68_2_ = 0xffff;\n  local_820._44_4_ = 0x78;\n  bVar1 = 0;\n  local_924 = (stat64 *)PTR_optarg_0001dffc;\n  psVar20 = (stat64 *)local_820._80_4_;\n  uVar34 = local_820._92_4_;\n  uVar10 = local_820._96_4_;\nLAB_000114e8:\n  local_820._96_4_ = uVar10;\n  local_820._92_4_ = uVar34;\n  local_820._80_4_ = psVar20;\n  local_8e4 = (void *)0x0;\n  uVar38 = getopt_long(iVar17,ppcVar7,"36a:A:b:B:c:dD:Efg:G:hi:I:l:M:n:No:Oq:Qr:RsS:t:T:u:vVw:x",\n                       long_options,&local_8e4);\n  puVar6 = PTR_optarg_0001dffc;\n  puVar5 = PTR_optind_0001dfe4;\n  if ((int)uVar38 == -1) {\n    iVar23 = *(int *)PTR_optind_0001dfe4;\n    local_920 = (stat64 *)0xffffffff;\n    if (iVar23 < iVar17) {\n      ppcVar25 = (char **)((ulonglong)uVar38 >> 0x20);\n      if (local_7a0 != (stat64 *)0x0) goto LAB_00011c60;\n      local_7a0 = (stat64 *)ppcVar7[iVar23];\n      *(int *)PTR_optind_0001dfe4 = iVar23 + 1;\n      ppcVar25 = ppcVar7;\n      if (iVar23 + 1 < iVar17) goto LAB_00011c60;\n    }\n    if ((bool)(bVar1 & local_820._40_4_ != 0)) goto LAB_00011a7a;\n    if (0 < (int)local_820._32_4_) {\n      usage(local_820._32_4_);\n      local_908 = (stat64 *)0x0;\n      goto LAB_00011a84;\n    }\n    if ((_Bool)local_820[0x11] == false) {\nLAB_00011c9f:\n      if ((_Bool)local_820[0x12] != false) {\n        pr2serr("sg_write_x version: %s\n","1.19 20180628",puVar5,puVar5);\n        local_908 = (stat64 *)0x270f;\n        goto LAB_00011a84;\n      }\n    }\n    else if ((_Bool)local_820[0x12] != false) {\n      pr2serr("Not in DEBUG mode, so \'-vV\' has no special action\n");\n      goto LAB_00011c9f;\n    }\n    uVar19 = local_820._48_4_;\n    psVar20 = (stat64 *)uVar19;\n    if ((_Bool)local_820[0] == false) {\n      if ((_Bool)local_820[1] == false) {\n        psVar20 = (stat64 *)((int)&((stat64 *)(local_820._48_4_ + -0x60))->st_ino + 7);\n        local_820[0] = true;\n        if (psVar20 != (stat64 *)0x0 && 0 < (int)local_820._48_4_) {\n          pr2serr("Since neither --16 nor --32 given, choose --16\n");\n        }\n      }\n    }\n    else if (((_Bool)local_820[1] != false) && (local_820[0] = false, 1 < (int)local_820._48_4_)) {\n      pr2serr("Since both --16 and --32 given, choose --32\n");\n    }\n    uVar10 = (uint)local_820[3] + (uint)local_820[0xc] + (uint)local_820[5] + (uint)local_820[8] +\n             (uint)local_820[9] + (uint)local_820[10];\n    if (1 < uVar10) {\n      pr2serr(\n             "Can only select one command; so only one of --atomic, --normal, --or,\n--same=, --scattered= or --stream=\n"\n             );\n      local_908 = (stat64 *)0x1f;\n      goto LAB_00011a84;\n    }\n    if (uVar10 == 0) {\n      if (local_820._40_4_ != 0) {\n        pr2serr("With --strict won\'t default to a normal WRITE, add --normal\n");\n        local_908 = (stat64 *)0x1f;\n        goto LAB_00011a84;\n      }\n      local_794 = (stat64 *)0x17164;\n      local_820[0xc] = true;\n      if ((stat64 *)uVar19 != (stat64 *)0x0) {\n        pr2serr("No command selected so choose \'normal\' WRITE\n");\n      }\n    }\n    psVar11 = (stat64 *)((-(uint)((_Bool)local_820[0] == false) & 0x10) + 0x10);\n    psVar26 = local_794;\n    __snprintf_chk(local_790,0x18,1,0x18,"%s(%d)",local_794,psVar11,psVar20);\n    if ((_Bool)local_820[4] == false) {\n      if (local_798 != (char *)0x0) {\n        local_93f = local_918 != (stat64 *)0x0;\n        bVar35 = local_91c != (stat64 *)0x0 || local_918 != (stat64 *)0x0;\n        bVar36 = local_91c != (stat64 *)0x0;\n        if (local_91c == (stat64 *)0x0 && local_918 == (stat64 *)0x0) {\n          iVar17 = -1;\n          pcVar18 = local_798;\n          goto code_r0x00011d5c;\n        }\n        pr2serr(\n               "want one and only one of: (--lba=LBA and/or --num=NUM), or\n--scat-file=SF, or --combined=DOF\n"\n               );\n        local_908 = (stat64 *)0x1f;\n        goto LAB_00011a84;\n      }\n      if ((_Bool)local_820[7] == false) {\n        local_93f = local_918 != (stat64 *)0x0;\n        bVar35 = local_91c != (stat64 *)0x0 || local_918 != (stat64 *)0x0;\n        bVar36 = local_91c != (stat64 *)0x0;\n        goto LAB_00011d67;\n      }\n      pr2serr(\n             "--scat-raw only applies to the --scat-file=SF option\n--scat-raw without the --scat-file=SF option is an error\n"\n             );\n      local_908 = (stat64 *)0x1f;\n      goto LAB_00011a84;\n    }\n    if ((_Bool)local_820[9] == false) {\n      pr2serr(\n             "--combined=DOF only allowed with --scattered=RD (i.e. only with\nWRITE SCATTERED command)\n"\n             );\n      local_908 = (stat64 *)0x1f;\n      goto LAB_00011a84;\n    }\n    if (local_798 != (char *)0x0) {\n      pr2serr("Ambiguous: got --combined=DOF and --scat-file=SF .\nGive one, the other or neither\n"\n             );\n      local_908 = (stat64 *)0x1f;\n      goto LAB_00011a84;\n    }\n    if (local_91c == (stat64 *)0x0 && local_918 == (stat64 *)0x0) {\n      local_93f = local_820[7];\n      bVar35 = false;\n      bVar36 = false;\n      if ((_Bool)local_820[7] == false) goto LAB_00011d67;\n      pr2serr("Ambiguous: don\'t expect --combined=DOF and --scat-raw\nGive one or the other\n");\n      local_908 = (stat64 *)0x1f;\n    }\n    else {\n      pr2serr("--scattered=RD --combined=DOF does not use --lba= or --num=\nPlease remove.\n");\n      local_908 = (stat64 *)0x1f;\n    }\n    goto LAB_00011a84;\n  }\n  local_920 = local_924;\n  psVar20 = (stat64 *)local_820._80_4_;\n  uVar34 = local_820._92_4_;\n  uVar10 = local_820._96_4_;\n  switch((int)uVar38) {\n  case 0x33:\n    local_820[1] = true;\n    goto LAB_000114e8;\n  default:\n    pcVar18 = "unrecognised option code 0x%x ??\n";\n    break;\n  case 0x36:\n    local_820[0] = true;\n    goto LAB_000114e8;\n  case 0x3f:\n    pcVar18 = "\n";\n    break;\n  case 0x41:\n    uVar10 = sg_get_num(*(undefined4 *)PTR_optarg_0001dffc);\n    if (0xffff < uVar10) {\n      pr2serr("bad argument to \'--atomic=\'. Expect 0 to 0xffff inclusive\n");\n      goto LAB_00011a7a;\n    }\n    local_820._60_2_ = (undefined2)uVar10;\n    local_820[3] = true;\n    local_794 = (stat64 *)0x17112;\n    psVar20 = (stat64 *)local_820._80_4_;\n    uVar34 = local_820._92_4_;\n    uVar10 = local_820._96_4_;\n    goto LAB_000114e8;\n  case 0x42:\n    uVar28 = sg_get_num(*(undefined4 *)PTR_optarg_0001dffc);\n    if (7 < uVar28) {\n      pr2serr("bad first argument to \'--bmop=\'\n");\n      goto LAB_00011a7a;\n    }\n    local_820[0x38] = (uint8_t)uVar28;\n    uVar19 = 0x2c;\n    uVar46 = uVar28;\n    pcVar18 = strchr(*(char **)puVar6,0x2c);\n    psVar20 = (stat64 *)local_820._80_4_;\n    uVar34 = local_820._92_4_;\n    uVar10 = local_820._96_4_;\n    if (pcVar18 != (char *)0x0) {\n      uVar10 = sg_get_num(pcVar18 + 1,uVar19,uVar28,uVar46);\n      if (0xf < uVar10) {\n        pr2serr("bad second argument to \'--bmop=\'\n");\n        goto LAB_00011a7a;\n      }\n      local_820[0x39] = (uint8_t)uVar10;\n      psVar20 = (stat64 *)local_820._80_4_;\n      uVar34 = local_820._92_4_;\n      uVar10 = local_820._96_4_;\n    }\n    goto LAB_000114e8;\n  case 0x44:\n    local_820._20_4_ = sg_get_num(*(undefined4 *)PTR_optarg_0001dffc);\n    psVar20 = (stat64 *)local_820._80_4_;\n    uVar34 = local_820._92_4_;\n    uVar10 = local_820._96_4_;\n    if (7 < (uint)local_820._20_4_) {\n      pr2serr("bad argument to \'--dld=\', expect 0 to 7 inclusive\n");\n      goto LAB_00011a7a;\n    }\n    goto LAB_000114e8;\n  case 0x47:\n    uVar38 = sg_get_llnum(*(undefined4 *)PTR_optarg_0001dffc);\n    uVar43 = (uint32_t)uVar38;\n    if ((int)((ulonglong)uVar38 >> 0x20) != 0) {\n      pr2serr("bad first argument to \'--generation=\'\n");\n      goto LAB_00011a7a;\n    }\n    uVar19 = 0x2c;\n    uVar45 = uVar43;\n    local_820._88_4_ = uVar43;\n    pcVar18 = strchr(*(char **)puVar6,0x2c);\n    if (pcVar18 == (char *)0x0) {\n      pr2serr("need two arguments with --generation=EOG,NOG and they must be comma separated\n",\n              uVar19,uVar43,uVar45);\n      goto LAB_00011a7a;\n    }\n    uVar38 = sg_get_llnum(pcVar18 + 1);\n    psVar20 = (stat64 *)local_820._80_4_;\n    uVar34 = (uint32_t)uVar38;\n    uVar10 = local_820._96_4_;\n    if ((int)((ulonglong)uVar38 >> 0x20) != 0) {\n      pr2serr("bad second argument to \'--generation=\'\n",uVar19,uVar43,uVar45);\n      goto LAB_00011a7a;\n    }\n    goto LAB_000114e8;\n  case 0x49:\n    local_820._44_4_ = sg_get_num(*(undefined4 *)PTR_optarg_0001dffc);\n    psVar20 = (stat64 *)local_820._80_4_;\n    uVar34 = local_820._92_4_;\n    uVar10 = local_820._96_4_;\n    if ((int)local_820._44_4_ < 0) {\n      pr2serr("bad argument to \'--timeout=\'\n");\n      goto LAB_00011a7a;\n    }\n    goto LAB_000114e8;\n  case 0x4d:\n    uVar10 = sg_get_num(*(undefined4 *)PTR_optarg_0001dffc);\n    if (1 < uVar10) {\n      pr2serr("bad argument to \'--same\', expect 0 or 1\n");\n      goto LAB_00011a7a;\n    }\n    local_820[0x10] = (byte)uVar10 & 1;\n    local_820[8] = true;\n    local_794 = (stat64 *)0x17159;\n    psVar20 = (stat64 *)local_820._80_4_;\n    uVar34 = local_820._92_4_;\n    uVar10 = local_820._96_4_;\n    goto LAB_000114e8;\n  case 0x4e:\n    local_820[0xc] = true;\n    local_794 = (stat64 *)0x17164;\n    goto LAB_000114e8;\n  case 0x4f:\n    local_820[5] = true;\n    local_794 = (stat64 *)0x1716a;\n    goto LAB_000114e8;\n  case 0x51:\n    local_820[6] = true;\n    goto LAB_000114e8;\n  case 0x52:\n    local_820[7] = true;\n    goto LAB_000114e8;\n  case 0x53:\n    uVar10 = sg_get_num(*(undefined4 *)PTR_optarg_0001dffc);\n    if (0xffff < uVar10) {\n      pr2serr("bad argument to \'--scattered=\'. Expect 0 to 0xffff inclusive\n");\n      goto LAB_00011a7a;\n    }\n    local_820._64_2_ = (undefined2)uVar10;\n    local_794 = (stat64 *)0x17172;\n    local_820[9] = true;\n    psVar20 = (stat64 *)local_820._80_4_;\n    uVar34 = local_820._92_4_;\n    uVar10 = local_820._96_4_;\n    goto LAB_000114e8;\n  case 0x54:\n    uVar10 = sg_get_num(*(undefined4 *)PTR_optarg_0001dffc);\n    if (0xffff < uVar10) {\n      pr2serr("bad argument to \'--stream=\', expect 0 to 65535\n");\n      goto LAB_00011a7a;\n    }\n    local_820._66_2_ = (undefined2)uVar10;\n    local_794 = (stat64 *)0x17182;\n    local_820[10] = true;\n    psVar20 = (stat64 *)local_820._80_4_;\n    uVar34 = local_820._92_4_;\n    uVar10 = local_820._96_4_;\n    goto LAB_000114e8;\n  case 0x56:\n    local_820[0x12] = true;\n    goto LAB_000114e8;\n  case 0x61:\n    uVar10 = sg_get_num(*(undefined4 *)PTR_optarg_0001dffc);\n    if (0xffff < uVar10) {\n      pr2serr("bad argument to \'--app-tag=\'. Expect 0 to 0xffff inclusive\n");\n      goto LAB_00011a7a;\n    }\n    local_820._58_2_ = (undefined2)uVar10;\n    psVar20 = (stat64 *)local_820._80_4_;\n    uVar34 = local_820._92_4_;\n    uVar10 = local_820._96_4_;\n    goto LAB_000114e8;\n  case 0x62:\n    psVar26 = (stat64 *)sg_get_num(*(undefined4 *)PTR_optarg_0001dffc);\n    if ((stat64 *)0x10000000 < psVar26) {\n      pr2serr("bad argument to \'--bs=\'. Expect 0 or greater\n");\n      goto LAB_00011a7a;\n    }\n    if (psVar26 == (stat64 *)0x0) {\n      local_820._72_4_ = (stat64 *)0x0;\n      local_820._76_4_ = (stat64 *)0x0;\n      psVar20 = (stat64 *)local_820._80_4_;\n      uVar34 = local_820._92_4_;\n      uVar10 = local_820._96_4_;\n    }\n    else {\n      if ((int)psVar26 < 0x200) {\n        pr2serr("warning: --bs=BS value is < 512 which seems too small, continue\n");\n        bVar1 = 1;\n      }\n      if (((uint)psVar26 & 7) != 0) {\n        pr2serr("warning: --bs=BS value is not a multiple of 8, unexpected, continue\n");\n        bVar1 = 1;\n      }\n      iVar23 = 0;\n      iVar13 = 0;\n      psVar20 = psVar26;\n      do {\n        if (((uint)psVar20 & 1) != 0) {\n          iVar23 = iVar13;\n        }\n        iVar13 = iVar13 + 1;\n        psVar20 = (stat64 *)((int)psVar20 >> 1);\n      } while (iVar13 != 0x1c);\n      psVar11 = (stat64 *)(1 << ((byte)iVar23 & 0x1f));\n      local_820._72_4_ = psVar26;\n      local_820._76_4_ = psVar26;\n      psVar20 = (stat64 *)local_820._80_4_;\n      uVar34 = local_820._92_4_;\n      uVar10 = local_820._96_4_;\n      if (psVar26 != psVar11) {\n        local_820._72_4_ = psVar11;\n      }\n    }\n    goto LAB_000114e8;\n  case 99:\n    iVar23 = sg_get_num(*(undefined4 *)PTR_optarg_0001dffc);\n    if (iVar23 < 0) {\n      pr2serr("bad argument to \'--combined=\'. Expect 0 to 0x7fffffff\n");\n      goto LAB_00011a7a;\n    }\n    local_820._62_2_ = (undefined2)iVar23;\n    local_820[4] = true;\n    psVar20 = (stat64 *)local_820._80_4_;\n    uVar34 = local_820._92_4_;\n    uVar10 = local_820._96_4_;\n    goto LAB_000114e8;\n  case 100:\n    local_820[0xe] = true;\n    goto LAB_000114e8;\n  case 0x66:\n    local_820[0xf] = true;\n    goto LAB_000114e8;\n  case 0x67:\n    local_820._28_4_ = sg_get_num(*(undefined4 *)PTR_optarg_0001dffc);\n    psVar20 = (stat64 *)local_820._80_4_;\n    uVar34 = local_820._92_4_;\n    uVar10 = local_820._96_4_;\n    if (0x3f < (uint)local_820._28_4_) {\n      pr2serr("bad argument to \'--grpnum\'\n");\n      goto LAB_00011a7a;\n    }\n    goto LAB_000114e8;\n  case 0x68:\n    local_820._32_4_ = local_820._32_4_ + 1;\n    goto LAB_000114e8;\n  case 0x69:\n    local_79c = *(char **)PTR_optarg_0001dffc;\n    goto LAB_000114e8;\n  case 0x6c:\n    if (local_91c != (stat64 *)0x0) {\n      pr2serr("only expect \'--lba=\' option once\n");\n      goto LAB_00011a7a;\n    }\n    local_91c = *(stat64 **)PTR_optarg_0001dffc;\n    goto LAB_000114e8;\n  case 0x6e:\n    if (local_918 != (stat64 *)0x0) {\n      pr2serr("only expect \'--num=\' option once\n");\n      goto LAB_00011a7a;\n    }\n    local_918 = *(stat64 **)PTR_optarg_0001dffc;\n    goto LAB_000114e8;\n  case 0x6f:\n    lVar39 = sg_get_llnum(*(undefined4 *)PTR_optarg_0001dffc);\n    psVar26 = (stat64 *)lVar39;\n    if (lVar39 == -1) {\n      pr2serr("bad first argument to \'--offset=\'\n");\n      goto LAB_00011a7a;\n    }\n    uVar19 = 0x2c;\n    psVar11 = psVar26;\n    local_820._108_4_ = psVar26;\n    local_7b0 = (stat64 *)((ulonglong)lVar39 >> 0x20);\n    pcVar18 = strchr(*(char **)puVar6,0x2c);\n    psVar20 = (stat64 *)local_820._80_4_;\n    uVar34 = local_820._92_4_;\n    uVar10 = local_820._96_4_;\n    if (pcVar18 != (char *)0x0) {\n      lVar39 = sg_get_llnum(pcVar18 + 1,uVar19,psVar26,psVar11);\n      psVar20 = (stat64 *)lVar39;\n      uVar34 = local_820._92_4_;\n      uVar10 = local_820._96_4_;\n      if ((int)((ulonglong)lVar39 >> 0x20) == -1) {\n        if (psVar20 == (stat64 *)0xffffffff) {\n          pr2serr("bad second argument to \'--offset=\'\n");\n          goto LAB_00011a7a;\n        }\n      }\n      else if (0xffffffff < lVar39) {\n        pr2serr("bad second argument to \'--offset=\', cannot exceed 32 bits\n");\n        goto LAB_00011a7a;\n      }\n    }\n    goto LAB_000114e8;\n  case 0x71:\n    local_798 = *(char **)PTR_optarg_0001dffc;\n    goto LAB_000114e8;\n  case 0x72:\n    goto _L476;\n  case 0x73:\n    local_820._40_4_ = local_820._40_4_ + 1;\n    goto LAB_000114e8;\n  case 0x74:\n    uVar10 = sg_get_num(*(undefined4 *)PTR_optarg_0001dffc);\n    if (0xffff < uVar10) {\n      pr2serr("bad argument to \'--tag-mask=\'. Expect 0 to 0xffff inclusive\n");\n      goto LAB_00011a7a;\n    }\n    local_820._68_2_ = (undefined2)uVar10;\n    psVar20 = (stat64 *)local_820._80_4_;\n    uVar34 = local_820._92_4_;\n    uVar10 = local_820._96_4_;\n    goto LAB_000114e8;\n  case 0x75:\n    uVar10 = sg_get_num(*(undefined4 *)puVar22);\n    if (3 < uVar10) {\n      pr2serr("bad argument to \'--unmap=\', expect 0 to 3\n");\n      goto LAB_00011a7a;\n    }\n    local_820[2] = (byte)(uVar10 >> 1) & 1;\n    local_820[0xb] = (byte)uVar10 & 1;\n    psVar20 = (stat64 *)local_820._80_4_;\n    uVar34 = local_820._92_4_;\n    uVar10 = local_820._96_4_;\n    goto LAB_000114e8;\n  case 0x76:\n    local_820[0x11] = true;\n    local_820._48_4_ = (int)(__dev_t *)local_820._48_4_ + 1;\n    goto LAB_000114e8;\n  case 0x77:\n    local_820._52_4_ = sg_get_num(*(undefined4 *)puVar22);\n    if ((stat64 *)0x7 < (uint)local_820._52_4_) {\n      pr2serr("bad argument to \'--wrprotect\'\n");\n      goto LAB_00011a7a;\n    }\n    local_820[0xd] = 0 < (int)local_820._52_4_;\n    psVar20 = (stat64 *)local_820._80_4_;\n    uVar34 = local_820._92_4_;\n    uVar10 = local_820._96_4_;\n    goto LAB_000114e8;\n  case 0x78:\n    local_820._24_4_ = local_820._24_4_ + 1;\n    goto LAB_000114e8;\n  }\n  pr2serr(pcVar18);\n  iVar17 = 0;\n  if (-1 < (int)local_820._32_4_) {\n    iVar17 = local_820._32_4_;\n  }\n  usage(iVar17);\n  goto LAB_00011a7a;\nLAB_00011c60:\n  while (*(int *)puVar5 < iVar17) {\n    pr2serr("Unexpected extra argument: %s\n",ppcVar7[*(int *)puVar5],ppcVar25,ppcVar25);\n    *(int *)puVar5 = *(int *)puVar5 + 1;\n    ppcVar25 = extraout_EDX;\n  }\n  iVar17 = 0;\n  if (-1 < (int)local_820._32_4_) {\n    iVar17 = local_820._32_4_;\n  }\n  usage(iVar17);\n  local_908 = (stat64 *)0x1;\n  goto LAB_00011a84;\n  while( true ) {\n    iVar17 = iVar17 + -1;\n    cVar8 = *pcVar18;\n    pcVar18 = pcVar18 + (uint)bVar37 * -2 + 1;\n    if (cVar8 == '\0') break;\ncode_r0x00011d5c:\n    if (iVar17 == 0) break;\n  }\n  if ((iVar17 == -3) && (*local_798 == '-')) {\n    pr2serr("don\'t accept \'-\' (implying stdin) as a filename in --scat-file=SF\n");\n    local_908 = (stat64 *)0x1f;\n    goto LAB_00011a84;\n  }\nLAB_00011d67:\n  if ((((stat64 *)uVar19 != (stat64 *)0x0) && ((_Bool)local_820[0] != false)) &&\n     ((local_820._96_4_ != 0xffffffff || ((local_820._58_2_ & local_820._68_2_) != 0xffff)))) {\n    pr2serr("--app-tag=, --ref-tag= and --tag-mask= options ignored with 16 byte commands\n");\n  }\n  uVar24 = local_820._80_4_;\n  psVar12 = (stat64 *)(uint)local_820[0x10];\n  if ((_Bool)local_820[0x10] == false) {\n    local_93c = (stat64 *)local_820._80_4_;\n    cVar2 = '\0';\n    if (local_79c == (char *)0x0) {\n      pr2serr("Need --if=FN option to be given, exiting.\n");\n      if (1 < (int)uVar19) {\n        pr2serr("To write zeros use --in=/dev/zero\n");\n      }\n      pr2serr("\n");\n      iVar17 = 0;\n      if (-1 < (int)local_820._32_4_) {\n        iVar17 = local_820._32_4_;\n      }\n      usage(iVar17);\n      local_908 = (stat64 *)0x1;\n      goto LAB_00011a84;\n    }\n    iVar17 = -1;\n    pcVar18 = local_79c;\n    do {\n      if (iVar17 == 0) break;\n      iVar17 = iVar17 + -1;\n      cVar8 = *pcVar18;\n      pcVar18 = pcVar18 + (uint)bVar37 * -2 + 1;\n    } while (cVar8 != '\0');\n    if ((iVar17 != -3) || (*local_79c != '-')) {\n      local_924 = (stat64 *)open64(local_79c,0,iVar17,iVar17);\n      if ((int)local_924 < 0) {\n        piVar21 = __errno_location();\n        iVar17 = *piVar21;\n        pcVar18 = "could not open %s for reading";\n      }\n      else {\n        psVar20 = (stat64 *)sg_set_binary_mode(local_924);\n        if ((int)psVar20 < 0) goto LAB_00011dea;\n        psVar26 = local_924;\n        psVar11 = local_930;\n        iVar17 = __fxstat64(3,(int)local_924,local_930);\n        if (-1 < iVar17) {\n          if ((local_8e0._16_4_ & 0xf000) == 0x8000) {\n            local_93c = (stat64 *)local_8e0._44_4_;\n            if ((stat64 *)uVar24 != (stat64 *)0x0) {\n              local_93c = (stat64 *)uVar24;\n            }\n            if ((local_8b0 != 0 || (stat64 *)local_8e0._44_4_ != (stat64 *)0x0) &&\n               (psVar29 = (stat64 *)((int)&((stat64 *)(local_8e0._44_4_ + -0x60))->st_ino + 7),\n               iVar23 = local_8b0 + -1 + (uint)((stat64 *)local_8e0._44_4_ != (stat64 *)0x0),\n               iVar17 = (int)local_7b0 - iVar23,\n               (SBORROW4((int)local_7b0,iVar23) !=\n               SBORROW4(iVar17,(uint)((uint)local_820._108_4_ < psVar29))) ==\n               (int)(iVar17 - (uint)((uint)local_820._108_4_ < psVar29)) < 0)) {\n              pr2serr("Offset (%llu) is at or beyond IF byte length (%llu)\n",local_820._108_4_,\n                      local_7b0,local_8e0._44_4_,local_8b0,psVar26,psVar11,psVar20);\n              local_908 = (stat64 *)0xf;\n              goto LAB_00012527;\n            }\n            psVar12 = (stat64 *)local_820._108_4_;\n            psVar49 = (stat64 *)local_8e0._44_4_;\n            iVar17 = local_8b0;\n            if (local_7b0 != (stat64 *)0x0 || (stat64 *)local_820._108_4_ != (stat64 *)0x0) {\n              psVar20 = (stat64 *)0x0;\n              psVar26 = (stat64 *)local_820._108_4_;\n              psVar11 = local_7b0;\n              _Var40 = lseek64((int)local_924,CONCAT44(local_7b0,local_820._108_4_),0);\n              psVar29 = (stat64 *)local_820._108_4_;\n              if (_Var40 < 0) {\n                piVar21 = __errno_location();\n                psVar29 = (stat64 *)(local_174 + 0x50);\n                iVar17 = *piVar21;\n                __snprintf_chk(psVar29,0x100,1,0x100,"couldn\'t offset to required position on %s",\n                               local_79c,piVar21,piVar21);\n                perror((char *)psVar29);\n                local_908 = (stat64 *)sg_convert_errno(iVar17);\n                goto LAB_00012527;\n              }\n              psVar12 = (stat64 *)((int)psVar49 - local_820._108_4_);\n              iVar17 = (local_8b0 - (int)local_7b0) - (uint)(psVar49 < (uint)local_820._108_4_);\n              local_930 = psVar49;\n              if ((int)(uint)(psVar12 != (stat64 *)0x0) <= -iVar17) {\n                pr2serr("--offset [0x%llx] at or beyond file length[0x%llx]\n",local_820._108_4_,\n                        local_7b0,psVar49,local_8b0);\n                local_908 = (stat64 *)0xf;\n                goto LAB_00012527;\n              }\n              if ((local_820._40_4_ != 0) &&\n                 (local_930 = (stat64 *)local_820._80_4_,\n                 iVar17 < (int)(uint)(psVar12 < (uint)local_820._80_4_))) {\n                pr2serr("after accounting for OFF, DLEN exceeds %s remaining length (%u bytes)\n",\n                        local_79c,psVar12,psVar12);\n                local_908 = (stat64 *)0xf;\n                psVar29 = psVar12;\n                goto LAB_00012527;\n              }\n              if (iVar17 < (int)(uint)(psVar12 < local_93c)) {\n                local_93c = psVar12;\n              }\n              psVar49 = psVar12;\n              if (2 < (int)uVar19) {\n                psVar26 = (stat64 *)local_820._108_4_;\n                psVar11 = local_93c;\n                psVar20 = psVar12;\n                psVar12 = (stat64 *)\n                          pr2serr("Moved IF byte pointer to %u, if_len=%u, if_readable_len=%u\n",\n                                  local_820._108_4_,local_93c,psVar12);\n              }\n            }\n            goto LAB_00011fa8;\n          }\n          goto LAB_00011e6c;\n        }\n        piVar21 = __errno_location();\n        iVar17 = *piVar21;\n        pcVar18 = "could not fstat %s";\n      }\n      __snprintf_chk(local_174 + 0x50,0x100,1,0x100,pcVar18,local_79c,piVar21,piVar21);\n      perror(local_174 + 0x50);\n      local_908 = (stat64 *)sg_convert_errno(iVar17);\n      goto LAB_00011a84;\n    }\n    iVar17 = sg_set_binary_mode(0);\n    cVar2 = '\x01';\n    local_924 = (stat64 *)0x0;\n    if (iVar17 < 0) {\nLAB_00011dea:\n      perror("sg_set_binary_mode");\n      local_908 = (stat64 *)0xf;\n      goto LAB_00011a84;\n    }\nLAB_00011e6c:\n    if (((stat64 *)((uint)local_7b0 | local_820._108_4_) == (stat64 *)0x0) ||\n       ((stat64 *)uVar19 == (stat64 *)0x0)) {\n      psVar12 = (stat64 *)((uint)local_7b0 | local_820._108_4_);\n      psVar49 = (stat64 *)0x0;\n      iVar17 = 0;\n    }\n    else {\n      psVar12 = (stat64 *)\n                pr2serr(\n                       "--offset=OFF ignored when IF is stdin, pipe, socket, etc\nDLEN, if given, is used\n"\n                       );\n      psVar49 = (stat64 *)0x0;\n      iVar17 = 0;\n    }\n  }\n  else {\n    local_924 = (stat64 *)0xffffffff;\n    cVar2 = '\0';\n    psVar49 = (stat64 *)0x0;\n    iVar17 = 0;\n    local_93c = (stat64 *)0x0;\n  }\nLAB_00011fa8:\n  if (local_7a0 == (stat64 *)0x0) {\n    pr2serr("missing device name!\n",psVar26,psVar11,psVar20);\n    iVar17 = 0;\n    if (-1 < (int)local_820._32_4_) {\n      iVar17 = local_820._32_4_;\n    }\n    usage(iVar17);\n    local_908 = (stat64 *)0x1;\n    psVar29 = (stat64 *)0x0;\nLAB_00012527:\n    if (local_8f0 == (void *)0x0) goto LAB_000123a1;\n    free(local_8f0);\n    goto LAB_000123a1;\n  }\n  pcVar18 = (char *)0x0;\n  psVar20 = (stat64 *)uVar19;\n  uVar38 = sg_cmds_open_device(local_7a0,0,uVar19,psVar12);\n  psVar29 = (stat64 *)local_820._72_4_;\n  psVar26 = (stat64 *)((ulonglong)uVar38 >> 0x20);\n  local_930 = (stat64 *)uVar38;\n  if ((int)local_930 < 0) {\n    psVar29 = (stat64 *)-(int)local_930;\n    if ((stat64 *)local_820._48_4_ != (stat64 *)0x0) {\n      uVar19 = safe_strerror(psVar29);\n      pr2serr("open error: %s: %s\n",local_7a0,uVar19);\n    }\n    local_908 = (stat64 *)sg_convert_errno(psVar29);\n    goto LAB_00012527;\n  }\n  psVar11 = (stat64 *)local_820._76_4_;\n  psVar14 = (stat64 *)local_820._76_4_;\n  if ((stat64 *)local_820._72_4_ == (stat64 *)0x0) {\n    psVar20 = (stat64 *)0x0;\n    if ((stat64 *)local_820._48_4_ != (stat64 *)0x0) {\n      psVar20 = (stat64 *)((int)&((stat64 *)(local_820._48_4_ + -0x60))->st_ino + 7);\n    }\n    psVar26 = (stat64 *)local_174;\n    psVar14 = (stat64 *)0x1;\n    pcVar18 = (char *)0x20;\n    psVar12 = psVar20;\n    psVar11 = (stat64 *)local_820._48_4_;\n    uVar38 = sg_ll_readcap_16(local_930,0,0,0,psVar26,0x20,1,psVar20,psVar26,local_820._48_4_,\n                              psVar49,iVar17);\n    if ((int)uVar38 == 6) {\n      pr2serr("Read capacity(16) unit attention, try again\n");\n      uVar38 = sg_ll_readcap_16(local_930,0,0,0,psVar26,0x20,1,psVar20);\n    }\n    psVar27 = (stat64 *)((ulonglong)uVar38 >> 0x20);\n    local_908 = (stat64 *)uVar38;\n    if (local_908 == (stat64 *)0x0) {\n      psVar20 = psVar14;\n      if (3 < (int)psVar11) {\n        pr2serr("Read capacity(16) response:\n");\n        psVar20 = (stat64 *)0x1;\n        pcVar18 = (char *)0x20;\n        hex2stderr(psVar26,0x20,1);\n      }\n      bVar1 = local_174[0xc];\n      psVar14 = (stat64 *)\n                ((uint)local_174._8_4_ >> 0x18 | (local_174._8_4_ & 0xff0000) >> 8 |\n                 (local_174._8_4_ & 0xff00) << 8 | local_174._8_4_ << 0x18);\n      uVar10 = (uint)local_174._4_4_ >> 0x18 | (local_174._4_4_ & 0xff0000) >> 8 |\n               (local_174._4_4_ & 0xff00) << 8 | local_174._4_4_ << 0x18;\n      local_7ac = uVar10 + 1;\n      local_7a8 = ((uint)local_174._0_4_ >> 0x18 | (local_174._0_4_ & 0xff0000) >> 8 |\n                   (local_174._0_4_ & 0xff00) << 8 | local_174._0_4_ << 0x18) +\n                  (uint)(0xfffffffe < uVar10);\n      psVar26 = (stat64 *)(uint)local_174[0xc];\n      local_820._72_4_ = psVar14;\n      if ((local_174[0xc] & 1) == 0) {\n        local_820._36_4_ = 0;\n        if ((int)local_820._52_4_ < 1) goto LAB_00012305;\n        if (psVar11 != (stat64 *)0x0) {\n          pcVar18 = (char *)local_820._52_4_;\n          psVar26 = local_7a0;\n          pr2serr("--wrprotect (%d) expects PI but %s says it has none\n",local_820._52_4_,local_7a0\n                  ,psVar14);\n          if (local_820._40_4_ != 0) goto LAB_00012ef5;\n          pcVar16 = "  ... continue but could be dangerous\n";\n          psVar29 = (stat64 *)0x0;\n          psVar12 = psVar14;\n          goto LAB_00013516;\n        }\n        if (local_820._40_4_ != 0) goto LAB_00012ef5;\n      }\n      else {\n        local_820._36_4_ = (local_174[0xc] >> 1 & 7) + 1;\n        psVar29 = (stat64 *)(8 << (local_174[0xd] >> 4));\n        psVar26 = (stat64 *)(uint)(local_174[0xd] >> 4);\n        if (((int)local_820._52_4_ < 1) ||\n           (local_820._76_4_ = (int)&psVar29->st_dev + (int)&psVar14->st_dev, (int)psVar11 < 2)) {\nLAB_00012305:\n          if (psVar11 == (stat64 *)0x0) goto LAB_00012312;\n        }\n        else {\n          pcVar16 = \n          "  For data out buffer purposes the effective block size is %u (lb size\n  is %u) because PROT_EN=1, PI_EXP=%u and WRPROTECT>0\n"\n          ;\n          pcVar18 = (char *)psVar14;\n          psVar12 = (stat64 *)local_820._76_4_;\nLAB_00013516:\n          pr2serr(pcVar16,pcVar18,psVar26,psVar12);\n          psVar20 = psVar26;\n        }\n        pr2serr("Read capacity(16) response fields:\n",pcVar18,psVar20,psVar12);\n        psVar29 = (stat64 *)((int)(__dev_t *)local_820._72_4_ + (int)&psVar29->st_dev);\n        psVar12 = extraout_ECX_05;\n        pr2serr("  Last_LBA=0x%llx  LB size: %u (with PI: %u) bytes  p_type=%u\n",local_7ac + -1,\n                local_7a8 + -1 + (uint)(local_7ac != 0),local_820._72_4_,psVar29,\n                local_174[0xc] >> 1 & 7,extraout_ECX_05,extraout_ECX_05);\n        pr2serr("  prot_en=%u [PI type=%u] p_i_exp=%u  lbppb_exp=%u  lbpme,rz=%u,",bVar1 & 1,\n                local_820._36_4_,local_174[0xd] >> 4,local_174[0xd] & 0xf,\n                (uint)(int)(char)local_174[0xe] >> 0x1f);\n        psVar20 = (stat64 *)\n                  ((ushort)(local_174._14_2_ << 8 | (ushort)local_174._14_2_ >> 8) & 0x3fff);\n        pcVar18 = (char *)(local_174[0xe] >> 6 & 1);\n        pr2serr("%u  low_ali_lba=%u\n",pcVar18,psVar20);\n        psVar26 = extraout_EDX_04;\n      }\n    }\n    else {\n      if (((int)local_908 - 5U & 0xfffffffb) != 0) {\n        if (psVar11 != (stat64 *)0x0) {\n          puVar48 = local_174 + 0x50;\n          psVar29 = (stat64 *)"OS error";\n          puVar33 = puVar48;\n          for (iVar17 = 9; iVar17 != 0; iVar17 = iVar17 + -1) {\n            *puVar33 = (char)psVar29->st_dev;\n            psVar29 = (stat64 *)((int)psVar29 + (uint)bVar37 * -2 + 1);\n            puVar33 = puVar33 + (uint)bVar37 * -2 + 1;\n          }\n          psVar41 = local_908;\n          if (0 < (int)local_908) {\n            psVar41 = (stat64 *)sg_get_category_sense_str(local_908,0x50,puVar48,psVar11);\n          }\n          pr2serr("Read capacity(16): %s\n",puVar48,psVar41,psVar41);\n          pr2serr("Unable to calculate block size\n");\n        }\n        if (0 < (int)local_908) goto LAB_00012354;\n        goto LAB_00012ef5;\n      }\n      if (psVar11 == (stat64 *)0x0) {\n        pcVar18 = (char *)0x1;\n        uVar38 = sg_ll_readcap_10(local_930,0,0,psVar26,8,1,psVar20,psVar27);\n        psVar26 = (stat64 *)((ulonglong)uVar38 >> 0x20);\n        local_908 = (stat64 *)uVar38;\n        psVar12 = psVar27;\n        if (local_908 != (stat64 *)0x0) {\nLAB_00013444:\n          puVar48 = local_174 + 0x50;\n          psVar29 = (stat64 *)"OS error";\n          puVar33 = puVar48;\n          for (iVar17 = 9; iVar17 != 0; iVar17 = iVar17 + -1) {\n            *puVar33 = (char)psVar29->st_dev;\n            psVar29 = (stat64 *)((int)psVar29 + (uint)bVar37 * -2 + 1);\n            puVar33 = puVar33 + (uint)bVar37 * -2 + 1;\n          }\n          if (0 < (int)local_908) {\n            sg_get_category_sense_str(local_908,0x50,puVar48,psVar11);\n            pr2serr("Read capacity(10): %s\n",puVar48);\n            pr2serr("Unable to calculate block size\n");\n            goto LAB_00012354;\n          }\n          __snprintf_chk(puVar48,0x50,1,0x50,"error: %d",local_908,local_908,local_908);\n          pr2serr("Read capacity(10): %s\n",puVar48);\n          pr2serr("Unable to calculate block size\n");\n          local_908 = (stat64 *)0xf;\n          goto LAB_00012354;\n        }\n      }\n      else {\n        psVar29 = psVar26;\n        pr2serr("Read capacity(16) not supported, try Read capacity(10)\n");\n        pcVar18 = (char *)0x1;\n        uVar38 = sg_ll_readcap_10(local_930,0,0,psVar29,8,1,psVar20);\n        psVar26 = (stat64 *)((ulonglong)uVar38 >> 0x20);\n        local_908 = (stat64 *)uVar38;\n        if (local_908 != (stat64 *)0x0) goto LAB_00013444;\n        if (3 < (int)psVar11) {\n          pr2serr("Read capacity(10) response:\n");\n          psVar20 = (stat64 *)0x1;\n          pcVar18 = (char *)0x8;\n          hex2stderr(psVar29,8,1);\n          psVar26 = extraout_EDX_03;\n        }\n      }\n      local_7a8 = 0;\n      local_7ac = ((uint)local_174._0_4_ >> 0x18 | (local_174._0_4_ & 0xff0000) >> 8 |\n                   (local_174._0_4_ & 0xff00) << 8 | local_174._0_4_ << 0x18) + 1;\n      local_820._72_4_ =\n           (uint)local_174._4_4_ >> 0x18 | (local_174._4_4_ & 0xff0000) >> 8 |\n           (local_174._4_4_ & 0xff00) << 8 | local_174._4_4_ << 0x18;\n    }\nLAB_00012312:\n    local_820._76_4_ = local_820._72_4_;\n    if ((_Bool)local_820[0xd] != false) {\n      local_820._76_4_ = local_820._72_4_ + 8;\n    }\n    psVar11 = (stat64 *)local_820._76_4_;\n    psVar14 = (stat64 *)local_820._72_4_;\n    if ((stat64 *)local_820._76_4_ == (stat64 *)0x0) goto LAB_00012338;\n  }\n  local_820._76_4_ = psVar11;\n  if (psVar14 == (stat64 *)0x0) {\nLAB_00012338:\n    pr2serr("Logic error, need block size by now\n",pcVar18,psVar20);\n    local_908 = (stat64 *)0x1;\n    goto LAB_00012354;\n  }\n  if ((local_820[0x10] == 0) &&\n     (psVar26 = (stat64 *)((uint)local_93c % (uint)psVar11), psVar26 != (stat64 *)0x0)) {\n    if (1 < (int)local_820._40_4_) {\n      pr2serr("Error: number of bytes to read from IF [%u] is not a multiple\nblock size %u (including protection information)\n"\n              ,local_93c,psVar11,local_820._40_4_);\n      local_908 = (stat64 *)0xf;\n      goto LAB_00012354;\n    }\n    psVar14 = (stat64 *)(local_820._40_4_ | uVar19);\n    if (psVar14 != (stat64 *)0x0) {\n      pcVar18 = (char *)local_93c;\n      pr2serr("Warning: number of bytes to read from IF [%u] is not a multiple\nof actual block size %u; pad with zeros\n"\n              ,local_93c,psVar11,psVar14);\n      psVar26 = extraout_EDX_02;\n      psVar20 = psVar11;\n      psVar12 = psVar14;\n    }\n  }\n  puVar47 = &local_578;\n  puVar31 = puVar47;\n  for (iVar17 = 0x100; iVar17 != 0; iVar17 = iVar17 + -1) {\n    *puVar31 = 0;\n    puVar31 = puVar31 + (uint)bVar37 * -2 + 1;\n  }\n  ppsVar42 = local_778;\n  ppsVar32 = ppsVar42;\n  for (iVar17 = 0x80; iVar17 != 0; iVar17 = iVar17 + -1) {\n    *ppsVar32 = (stat64 *)0x0;\n    ppsVar32 = ppsVar32 + (uint)bVar37 * -2 + 1;\n  }\n  if (bVar36) {\n    uVar10 = 0xffffffff;\n    psVar26 = local_91c;\n    do {\n      if (uVar10 == 0) break;\n      uVar10 = uVar10 - 1;\n      p_Var3 = &psVar26->st_dev;\n      psVar26 = (stat64 *)((int)psVar26 + (uint)bVar37 * -2 + 1);\n    } while ((char)*p_Var3 != '\0');\n    psVar29 = (stat64 *)(~uVar10 - 1);\n    if ((char)local_91c->st_dev == '-') {\n      pr2serr("\'--lba\' cannot be read from stdin\n",pcVar18,psVar20,psVar12);\n      goto LAB_00012130;\n    }\n    pcVar18 = "0123456789aAbBcCdDeEfFhHxXiIkKmMgGtTpP, ";\n    psVar20 = local_91c;\n    psVar12 = local_91c;\n    psVar11 = (stat64 *)strspn((char *)local_91c,"0123456789aAbBcCdDeEfFhHxXiIkKmMgGtTpP, ");\n    psVar26 = psVar29;\n    if (psVar29 == psVar11) {\n      psVar26 = (stat64 *)0x0;\n      psVar29 = local_91c;\n      while( true ) {\n        lVar39 = sg_get_llnum(psVar29,pcVar18,psVar20,psVar12);\n        psVar20 = (stat64 *)lVar39;\n        if (lVar39 == -1) break;\n        puVar47[(int)psVar26 * 2] = (uint)psVar20;\n        puVar47[(int)psVar26 * 2 + 1] = (uint)((ulonglong)lVar39 >> 0x20);\n        psVar12 = psVar20;\n        pcVar15 = strchr((char *)psVar29,0x2c);\n        pcVar18 = (char *)0x20;\n        pcVar16 = strchr((char *)psVar29,0x20);\n        if (pcVar15 == (char *)0x0) {\n          if (pcVar16 == (char *)0x0) {\n            local_91c = (stat64 *)((int)&psVar26->st_dev + 1);\n            if (local_93f != '\0') goto LAB_000126fa;\n            psVar26 = (stat64 *)0x0;\n            psVar20 = extraout_ECX;\n            if (local_91c != (stat64 *)0x1) goto LAB_00012a73;\n            goto LAB_00012820;\n          }\n        }\n        else if ((pcVar16 == (char *)0x0) || (pcVar15 <= pcVar16)) {\n          pcVar16 = pcVar15;\n        }\n        psVar26 = (stat64 *)((int)&psVar26->st_dev + 1);\n        psVar29 = (stat64 *)(pcVar16 + 1);\n        if (psVar26 == (stat64 *)0x80) goto LAB_00013b9f;\n      }\n      psVar11 = (stat64 *)((int)psVar29 - (int)local_91c);\n    }\n    pr2serr("build_lba_arr: error at pos %d\n",(undefined1 *)((int)&psVar11->st_dev + 1),psVar26,\n            psVar26);\n    goto LAB_00012130;\n  }\n  local_91c = (stat64 *)0x0;\n  if (bVar35) {\nLAB_000126fa:\n    psVar11 = (stat64 *)0xffffffff;\n    psVar26 = local_918;\n    do {\n      if (psVar11 == (stat64 *)0x0) break;\n      psVar11 = (stat64 *)((int)&psVar11[-1].st_ino + 7);\n      p_Var3 = &psVar26->st_dev;\n      psVar26 = (stat64 *)((int)psVar26 + (uint)bVar37 * -2 + 1);\n    } while ((char)*p_Var3 != '\0');\n    psVar29 = (stat64 *)(~(uint)psVar11 - 1);\n    if ((char)local_918->st_dev == '-') {\n      pr2serr("\'--len\' cannot be read from stdin\n");\n    }\n    else {\n      pcVar18 = "0123456789aAbBcCdDeEfFhHxXiIkKmMgGtTpP, ";\n      psVar20 = psVar11;\n      psVar26 = (stat64 *)strspn((char *)local_918,"0123456789aAbBcCdDeEfFhHxXiIkKmMgGtTpP, ");\n      psVar12 = extraout_EDX_00;\n      if (psVar29 == psVar26) {\n        psVar12 = (stat64 *)0x0;\n        psVar29 = local_918;\n        do {\n          lVar39 = sg_get_llnum(psVar29,pcVar18,psVar11,psVar20);\n          psVar11 = (stat64 *)lVar39;\n          if ((int)((ulonglong)lVar39 >> 0x20) == -1) {\n            if (psVar11 == (stat64 *)0xffffffff) {\n              psVar26 = (stat64 *)((int)psVar29 - (int)local_918);\n              goto LAB_000127bf;\n            }\n          }\n          else if (0xffffffff < lVar39) {\n            psVar20 = (stat64 *)((int)psVar29 + (1 - (int)local_918));\n            pcVar18 = "build_num_arr";\n            pr2serr("%s: number exceeds 32 bits at pos %d\n","build_num_arr",psVar20,psVar12);\n            goto LAB_000127d9;\n          }\n          ppsVar42[(int)psVar12] = psVar11;\n          psVar20 = psVar11;\n          pcVar15 = strchr((char *)psVar29,0x2c);\n          pcVar18 = (char *)0x20;\n          pcVar16 = strchr((char *)psVar29,0x20);\n          if (pcVar15 == (char *)0x0) {\n            if (pcVar16 == (char *)0x0) {\n              puVar48 = (undefined1 *)((int)&psVar12->st_dev + 1);\n              psVar26 = (stat64 *)0x0;\n              psVar20 = extraout_ECX_00;\n              if ((undefined1 *)0x1 < local_91c) {\n                if ((stat64 *)puVar48 == local_91c) goto LAB_00012820;\n                goto LAB_00012a73;\n              }\n              if (local_91c == (stat64 *)0x0) {\n                if (puVar48 != (undefined1 *)0x1) {\nLAB_00012a73:\n                  pr2serr("need same number of arguments to \'--lba=\' and \'--num=\' options\n");\n                  local_908 = (stat64 *)0x1f;\n                  goto LAB_00012354;\n                }\n                local_91c = (stat64 *)(undefined1 *)0x1;\n                if (local_778[0] != (stat64 *)0x0) {\n                  pr2serr("won\'t write %u blocks without an explicit --lba= option\n",local_778[0],\n                          extraout_ECX_00,extraout_ECX_00);\n                  local_908 = (stat64 *)0x1;\n                  goto LAB_00012354;\n                }\n              }\n              else {\n                local_91c = (stat64 *)(undefined1 *)0x1;\n              }\n              goto LAB_00012820;\n            }\n          }\n          else if ((pcVar16 == (char *)0x0) || (pcVar15 <= pcVar16)) {\n            pcVar16 = pcVar15;\n          }\n          psVar12 = (stat64 *)((int)&psVar12->st_dev + 1);\n          psVar29 = (stat64 *)(pcVar16 + 1);\n        } while (psVar12 != (stat64 *)0x80);\n        pcVar18 = "build_num_arr";\n        psVar20 = extraout_ECX_00;\n        psVar12 = extraout_ECX_00;\n        pr2serr("%s: array length exceeded\n","build_num_arr",extraout_ECX_00,extraout_ECX_00);\n      }\n      else {\nLAB_000127bf:\n        psVar20 = (stat64 *)((int)&psVar26->st_dev + 1);\n        pcVar18 = "build_num_arr";\n        pr2serr("%s: error at pos %d\n","build_num_arr",psVar20,psVar12);\n      }\n    }\nLAB_000127d9:\n    pr2serr("bad argument to \'--num\'\n",pcVar18,psVar20,psVar12);\n    local_908 = (stat64 *)0x0;\n    goto LAB_00012354;\n  }\n  psVar20 = (stat64 *)0x0;\n  local_91c = (stat64 *)(undefined1 *)0x0;\nLAB_00012820:\n  if (local_798 == (char *)0x0) {\nLAB_00012ce5:\n    local_908 = (stat64 *)0x0;\n    local_880._44_4_ = psVar29;\n  }\n  else {\n    pcVar18 = local_798;\n    iVar17 = __xstat64(3,local_798,psVar41);\n    if (iVar17 < 0) {\n      piVar21 = __errno_location();\n      psVar29 = (stat64 *)*piVar21;\n      uVar19 = safe_strerror(psVar29);\n      pcVar18 = "Unable to stat(%s) as SF: %s\n";\nLAB_000136f9:\n      pr2serr(pcVar18,local_798,uVar19);\n      local_908 = (stat64 *)sg_convert_errno(psVar29);\n      goto LAB_00012354;\n    }\n    if ((_Bool)local_820[7] == false) {\n      uVar34 = 0;\n      if (local_820._64_2_ != 0) {\n        uVar34 = ((ushort)local_820._64_2_ + 1) * 0x20;\n      }\n      local_908 = (stat64 *)\n                  build_t10_scat(local_798,(_Bool)local_820[0],(_Bool)(local_820[9] ^ 1),\n                                 (uint8_t *)0x0,&local_8f8,(uint32_t *)&local_8f4,uVar34);\n      if (local_908 != (stat64 *)0x0) goto LAB_00012354;\n      psVar20 = extraout_ECX_03;\n      if ((local_820._64_2_ != 0) && (local_820._64_2_ != local_8f8)) {\n        if (local_8f8 < (ushort)local_820._64_2_) {\n          pr2serr("RD (%u) %s number of %ss (%u) found in SF\n",local_820._64_2_,&DAT_000170dd,\n                  "LBA range descriptor",local_8f8);\n          local_908 = (stat64 *)0xf;\n          goto LAB_00012354;\n        }\n        psVar29 = (stat64 *)(uVar19 | local_820._40_4_);\n        if ((psVar29 != (stat64 *)0x0) &&\n           (pr2serr("RD (%u) %s number of %ss (%u) found in SF\n",local_820._64_2_,&DAT_00017110,\n                    "LBA range descriptor",local_8f8), psVar20 = extraout_ECX_01,\n           local_820._40_4_ != 0)) goto LAB_00012ef5;\n      }\n      goto LAB_00012ce5;\n    }\n    if ((local_880._16_4_ & 0xf000) != 0x8000) {\n      pr2serr("Expect scatter file to be a regular file\n",pcVar18,psVar41,psVar26);\n      local_908 = (stat64 *)0xf;\n      goto LAB_00012354;\n    }\n    local_908 = (stat64 *)local_880._44_4_;\n    local_920 = (stat64 *)open64(local_798,0,0x8000,0x8000);\n    if ((int)local_920 < 0) {\n      piVar21 = __errno_location();\n      psVar29 = (stat64 *)*piVar21;\n      uVar19 = safe_strerror(psVar29);\n      pcVar18 = "Failed to open %s for raw read: %s\n";\n      goto LAB_000136f9;\n    }\n    iVar17 = sg_set_binary_mode(local_920);\n    psVar20 = extraout_ECX_04;\n    if (iVar17 < 0) {\n      perror("sg_set_binary_mode");\n      local_908 = (stat64 *)0xf;\n      psVar29 = (stat64 *)local_880._44_4_;\n      goto LAB_00012354;\n    }\n  }\n  uVar24 = local_820._48_4_;\n  psVar29 = local_8f4;\n  if ((_Bool)local_820[9] == false) {\n    if (local_91c == (stat64 *)0x0) {\n      psVar29 = (stat64 *)local_880._44_4_;\n      if (local_798 == (char *)0x0) {\n        if ((_Bool)local_820[7] == false) {\n          pr2serr("No LBA or number_of_blocks given, try using --lba= and --num=\n");\n          local_908 = (stat64 *)0x1;\n          goto LAB_00012354;\n        }\n      }\n      else if ((_Bool)local_820[7] == false) {\n        local_8f4 = (stat64 *)0x0;\n        local_908 = (stat64 *)\n                    build_t10_scat(local_798,(_Bool)local_820[0],true,local_174 + 0x50,&local_8f8,\n                                   (uint32_t *)&local_8f4,0x60);\n        if (local_908 != (stat64 *)0x0) goto LAB_00012354;\n        if ((stat64 *)uVar19 != (stat64 *)0x0) {\n          uVar10 = (uint)local_8f8;\n          if (1 < local_8f8) {\n            uVar10 = pr2serr("warning: %d LBA,number_of_blocks pairs found, only taking first\n",\n                             uVar10,extraout_EDX_05,extraout_EDX_05);\n          }\n          if (2 < (int)uVar19) {\n            pr2serr("after build_t10_scat, num_lbard=%u, sum_num=%u\n",local_8f8,local_8f4,uVar10);\n          }\n        }\n        if (local_8f8 != 1) {\n          pr2serr("Unable to decode one LBA range descriptor from %s\n",local_798,0,0);\n          local_908 = (stat64 *)0xf;\n          goto LAB_00012354;\n        }\n        local_820._104_4_ =\n             local_104 >> 0x18 | (local_104 & 0xff0000) >> 8 | (local_104 & 0xff00) << 8 |\n             local_104 << 0x18;\n        local_820._100_4_ =\n             local_100 >> 0x18 | (local_100 & 0xff0000) >> 8 | (local_100 & 0xff00) << 8 |\n             local_100 << 0x18;\n        local_820._84_4_ =\n             local_fc >> 0x18 | (local_fc & 0xff0000) >> 8 | (local_fc & 0xff00) << 8 |\n             local_fc << 0x18;\n        if ((_Bool)local_820[1] != false) {\n          local_820._96_4_ =\n               local_f8 >> 0x18 | (local_f8 & 0xff0000) >> 8 | (local_f8 & 0xff00) << 8 |\n               local_f8 << 0x18;\n          local_820._58_2_ = local_f4 << 8 | local_f4 >> 8;\n          local_820._68_2_ = local_f2 << 8 | local_f2 >> 8;\n        }\n        goto LAB_00012d48;\n      }\n      if (local_908 < (stat64 *)0x40) {\n        pr2serr("raw scatter file must be at least 64 bytes long (length: %u)\n",local_908,\n                local_880._44_4_,local_880._44_4_);\nLAB_00012ef5:\n        local_908 = (stat64 *)0xf;\n        goto LAB_00012354;\n      }\n      psVar29 = (stat64 *)(local_174 + 0x50);\n      local_908 = (stat64 *)bin_read((int)local_920,(uint8_t *)psVar29,0x40,"SF");\n      if (local_908 != (stat64 *)0x0) goto LAB_00012354;\n      _Var9 = check_lbrds((uint8_t *)psVar29,0x40,(opts_t *)local_820,&local_8f8,\n                          (uint32_t *)&local_8f4);\n      if (!_Var9) goto LAB_00012ef5;\n      if (local_8f8 != 1) {\n        pr2serr("No %ss found in SF (num=%u)\n","LBA range descriptor",local_8f8,extraout_EDX_01);\n        goto LAB_00012ef5;\n      }\n      local_820._104_4_ =\n           local_114 >> 0x18 | (local_114 & 0xff0000) >> 8 | (local_114 & 0xff00) << 8 |\n           local_114 << 0x18;\n      local_820._100_4_ =\n           local_110 >> 0x18 | (local_110 & 0xff0000) >> 8 | (local_110 & 0xff00) << 8 |\n           local_110 << 0x18;\n      local_820._84_4_ =\n           local_10c >> 0x18 | (local_10c & 0xff0000) >> 8 | (local_10c & 0xff00) << 8 |\n           local_10c << 0x18;\n    }\n    else {\n      local_820._100_4_ = local_578;\n      local_820._104_4_ = local_574;\n      local_820._84_4_ = local_778[0];\n      if (((stat64 *)uVar19 != (stat64 *)0x0) && (local_91c != (stat64 *)0x1)) {\n        pr2serr("warning: %d LBA,number_of_blocks pairs found, only taking first\n",local_91c,\n                psVar20,psVar20);\n      }\n    }\nLAB_00012d48:\n    if ((_Bool)local_820[8] == false) {\n      psVar29 = (stat64 *)(local_820._84_4_ * local_820._76_4_);\n    }\n    else {\n      psVar29 = (stat64 *)0x0;\n      if ((_Bool)local_820[0x10] == false) {\n        psVar29 = (stat64 *)local_820._76_4_;\n      }\n    }\n    local_7a4 = psVar29;\n    if (psVar29 == (stat64 *)0x0) {\n      up = (uint8_t *)0x0;\n    }\n    else {\n      up = (uint8_t *)sg_memalign(psVar29,0,&local_8f0,0);\n      if (up == (uint8_t *)0x0) {\n        pcVar18 = "unable to allocate %u bytes of memory\n";\n        ppvVar44 = (void **)0x0;\n        uVar19 = 0;\n        psVar41 = psVar29;\nLAB_00013bea:\n        pr2serr(pcVar18,psVar41,ppvVar44,uVar19);\n        local_908 = (stat64 *)sg_convert_errno(0xc);\n        goto LAB_00012354;\n      }\n      if (psVar29 < local_93c) {\n        local_93c = psVar29;\n      }\n      local_908 = (stat64 *)bin_read((int)local_924,up,(uint32_t)local_93c,"IF 5");\n      if (local_908 != (stat64 *)0x0) goto LAB_00012354;\n    }\n    local_908 = (stat64 *)do_write_x((int)local_930,up,(int)psVar29,(opts_t *)local_820);\n    if (local_908 == (stat64 *)0x0) goto LAB_00012354;\n    if ((_Bool)local_820[6] != false) goto LAB_00012354;\n    puVar48 = local_174;\n    psVar29 = (stat64 *)"OS error";\n    puVar33 = puVar48;\n    for (iVar17 = 9; iVar17 != 0; iVar17 = iVar17 + -1) {\n      *puVar33 = (char)psVar29->st_dev;\n      psVar29 = (stat64 *)((int)psVar29 + (uint)bVar37 * -2 + 1);\n      puVar33 = puVar33 + (uint)bVar37 * -2 + 1;\n    }\n    uVar24 = 0;\n    if (0 < (int)local_908) {\n      sg_get_category_sense_str(local_908,0x50,puVar48,uVar19);\n      uVar24 = extraout_ECX_02;\n    }\n    pr2serr("%s: %s\n",local_790,puVar48,uVar24);\n    goto LAB_00012354;\n  }\n  local_8e8 = (void *)0x0;\n  local_8f6 = local_8f8;\n  local_8ec = local_8f4;\n  if ((_Bool)local_820[4] != false) {\n    if (local_820._62_2_ == 0) {\n      if (local_820._64_2_ == 0) {\n        psVar20 = local_93c;\n        if (local_93c == (stat64 *)0x0) {\n          pr2serr("With --combined= if DOF, RD are 0 and IF has an unknown length\nthen give up\n");\n          local_908 = (stat64 *)0x1f;\n          goto LAB_00012354;\n        }\n      }\n      else {\n        psVar20 = (stat64 *)(((ushort)local_820._64_2_ + 1) * 0x20);\n      }\n      if ((uint)psVar20 % (uint)local_820._76_4_ != 0) {\n        psVar20 = (stat64 *)(((uint)psVar20 / (uint)local_820._76_4_ + 1) * local_820._76_4_);\n      }\n    }\n    else {\n      psVar20 = (stat64 *)((uint)(ushort)local_820._62_2_ * local_820._76_4_);\n    }\n    ppvVar44 = &local_8e8;\n    uVar19 = 0;\n    psVar41 = (stat64 *)0x0;\n    psVar29 = (stat64 *)sg_memalign(psVar20,0,ppvVar44,0);\n    if (psVar29 == (stat64 *)0x0) {\nLAB_000141a6:\n      pcVar18 = "unable to allocate aligned memory for scatterlist+data\n";\n      goto LAB_00013bea;\n    }\n    psVar41 = local_93c;\n    if (psVar20 < local_93c) {\n      psVar41 = psVar20;\n    }\n    iVar17 = bin_read((int)local_924,(uint8_t *)psVar29,(uint32_t)psVar41,"IF c1");\n    local_908 = (stat64 *)iVar17;\n    if (iVar17 != 0) goto LAB_000133fd;\n    ppsVar42 = &local_8ec;\n    iVar23 = iVar17;\n    _Var9 = check_lbrds((uint8_t *)psVar29,(uint32_t)psVar20,(opts_t *)local_820,&local_8f6,\n                        (uint32_t *)ppsVar42);\n    if (_Var9) {\n      if ((local_820._64_2_ == 0) || (local_820._64_2_ == local_8f6)) {\n        local_820._64_2_ = local_8f6;\nLAB_00013fe3:\n        local_908 = (stat64 *)(((ushort)local_820._64_2_ + 1) * 0x20);\n        if ((uint)local_908 % (uint)local_820._76_4_ != 0) {\n          local_908 = (stat64 *)(((uint)local_908 / (uint)local_820._76_4_ + 1) * local_820._76_4_);\n        }\n        uVar10 = (uint)(ushort)local_820._62_2_;\n        uVar28 = uVar10 * local_820._76_4_;\n        local_918 = local_908;\n        local_8f6 = local_820._64_2_;\n        if (uVar28 - (int)local_908 != 0) {\n          if (uVar28 < local_908) {\n            pr2serr("%s: Cannot fit %ss (%u) in given LB data offset (%u)\n","process_scattered",\n                    "LBA range descriptor",(uint)(ushort)local_820._64_2_,uVar10,ppsVar42,iVar17,\n                    iVar23);\n            goto LAB_000133f3;\n          }\n          local_918 = (stat64 *)uVar28;\n          if (((uVar24 | local_820._40_4_) != 0) &&\n             (pr2serr("%s: empty blocks before LB data offset (%u), could be okay\n",\n                      "process_scattered",uVar10,uVar24 | local_820._40_4_), local_820._40_4_ != 0))\n          {\n            pr2serr("Exiting due to --strict; perhaps try again with --combined=%u\n",\n                    (uint)local_908 / (uint)local_820._76_4_,psVar29,psVar29);\n            local_908 = (stat64 *)0xf;\n            goto LAB_000133fd;\n          }\n        }\n        local_918 = (stat64 *)((int)local_8ec * local_820._76_4_ + (int)local_918);\n        if (local_918 <= psVar20) {\nLAB_0001418c:\n          local_820._84_4_ = local_8ec;\n          local_7a4 = (stat64 *)((int)local_8ec * local_820._76_4_);\n          goto LAB_00013962;\n        }\n        if (local_93c != local_918) {\n          if (local_93c < local_918) {\n            pr2serr("Calculated dout length (%u) %s bytes available in IF (%u)\n",local_918,\n                    &DAT_000170dd,local_93c);\n          }\n          else if (((stat64 *)uVar24 == (stat64 *)0x0 && local_820._40_4_ == 0) ||\n                  (pr2serr("Calculated dout length (%u) %s bytes available in IF (%u)\n",local_918,\n                           &DAT_00017110,local_93c), local_820._40_4_ == 0)) goto LAB_00014113;\n          goto LAB_000133f3;\n        }\nLAB_00014113:\n        psVar41 = (stat64 *)sg_memalign(local_918,0,&local_8e4,0);\n        if (psVar41 != (stat64 *)0x0) {\n          memcpy(psVar41,psVar29,(size_t)psVar20);\n          free(local_8e8);\n          local_8e8 = local_8e4;\n          local_908 = (stat64 *)\n                      bin_read((int)local_924,\n                               (uint8_t *)((int)&psVar20->st_dev + (int)&psVar41->st_dev),\n                               (int)local_918 - (int)psVar20,"IF c2");\n          psVar29 = psVar41;\n          if (local_908 != (stat64 *)0x0) goto LAB_000133fd;\n          goto LAB_0001418c;\n        }\nLAB_00014273:\n        pcVar18 = "unable to allocate memory for final scatterlist+data\n";\n        goto LAB_00013fbc;\n      }\n      if (local_8f6 < (ushort)local_820._64_2_) {\n        pr2serr("RD (%u) %s number of %ss (%u) found in IF\n",local_820._64_2_,&DAT_000170dd,\n                "LBA range descriptor",local_8f6,ppsVar42,iVar17,iVar23);\n      }\n      else if (((stat64 *)uVar24 == (stat64 *)0x0 && local_820._40_4_ == 0) ||\n              (pr2serr("RD (%u) %s number of %ss (%u) found in IF\n",local_820._64_2_,&DAT_00017110,\n                       "LBA range descriptor",local_8f6,ppsVar42,iVar17,iVar23),\n              local_820._40_4_ == 0)) {\n        local_908 = (stat64 *)0x0;\n        for (psVar41 = psVar29;\n            (stat64 *)(&psVar29->st_dev + (uint)(ushort)local_820._64_2_ * 4) != psVar41;\n            psVar41 = (stat64 *)&psVar41->st_rdev) {\n          uVar10 = psVar41->__pad2;\n          local_908 = (stat64 *)\n                      ((int)&local_908->st_dev +\n                      (uVar10 >> 0x18 | (uVar10 & 0xff0000) >> 8 | (uVar10 & 0xff00) << 8 |\n                      uVar10 << 0x18));\n        }\n        local_8ec = local_908;\n        goto LAB_00013fe3;\n      }\n    }\nLAB_000133f3:\n    local_908 = (stat64 *)0xf;\n    goto LAB_000133fd;\n  }\n  if (local_91c != (stat64 *)0x0) {\n    local_8f6 = (uint16_t)local_91c;\n  }\n  if (local_798 == (char *)0x0) {\n    if ((_Bool)local_820[7] != false) goto LAB_00013dcd;\n    if (local_91c == (stat64 *)0x0) {\n      pr2serr("How did we get here??\n");\n      local_908 = (stat64 *)0x1;\n      goto LAB_000133fd;\n    }\n    if ((local_820._64_2_ != 0) && (local_91c < (undefined1 *)(uint)(ushort)local_820._64_2_)) {\n      pr2serr("%s: number given to --scattered= (%u) exceeds number of --lba= elements (%u)\n",\n              "process_scattered",(undefined1 *)(uint)(ushort)local_820._64_2_,local_91c);\n      local_908 = (stat64 *)0x1f;\n      goto LAB_00012354;\n    }\n    uVar10 = (local_8f6 + 1) * 0x20;\n    local_820._62_2_ = (undefined2)(uVar10 / (uint)local_820._76_4_);\n    if (uVar10 % (uint)local_820._76_4_ != 0) {\n      local_820._62_2_ = local_820._62_2_ + 1;\n    }\n    iVar17 = 0;\n    local_8ec = (stat64 *)0x0;\n    do {\n      local_8ec = (stat64 *)((int)&local_8ec->st_dev + (int)ppsVar42[iVar17]);\n      iVar17 = iVar17 + 1;\n    } while (iVar17 < (int)local_91c);\n    local_918 = (stat64 *)\n                (((int)&local_8ec->st_dev + (uint)(ushort)local_820._62_2_) * local_820._76_4_);\n    psVar29 = (stat64 *)sg_memalign(local_918,0,&local_8e8,0);\n    if (psVar29 == (stat64 *)0x0) goto LAB_00013fb3;\n    iVar17 = 0;\n    psVar41 = psVar29;\n    do {\n      uVar10 = puVar47[iVar17 * 2];\n      uVar28 = puVar47[iVar17 * 2 + 1];\n      *(uint *)&psVar41->st_rdev =\n           uVar28 >> 0x18 | (uVar28 & 0xff0000) >> 8 | (uVar28 & 0xff00) << 8 | uVar28 << 0x18;\n      *(uint *)((int)&psVar41->st_rdev + 4) =\n           uVar10 >> 0x18 | (uVar10 & 0xff0000) >> 8 | (uVar10 & 0xff00) << 8 | uVar10 << 0x18;\n      psVar20 = ppsVar42[iVar17];\n      psVar41->__pad2 =\n           (uint)psVar20 >> 0x18 | ((uint)psVar20 & 0xff0000) >> 8 | ((uint)psVar20 & 0xff00) << 8 |\n           (int)psVar20 << 0x18;\n      if ((_Bool)local_820[1] != false) {\n        if (iVar17 == 0) {\n          *(uint *)&psVar41->st_size =\n               (uint)local_820._96_4_ >> 0x18 | (local_820._96_4_ & 0xff0000) >> 8 |\n               (local_820._96_4_ & 0xff00) << 8 | local_820._96_4_ << 0x18;\n          *(ushort *)((int)&psVar41->st_size + 4) =\n               local_820._58_2_ << 8 | (ushort)local_820._58_2_ >> 8;\n          *(ushort *)((int)&psVar41->st_size + 6) =\n               local_820._68_2_ << 8 | (ushort)local_820._68_2_ >> 8;\n        }\n        else {\n          *(undefined4 *)&psVar41->st_size = 0xffffffff;\n          *(undefined2 *)((int)&psVar41->st_size + 4) = 0xffff;\n          *(undefined2 *)((int)&psVar41->st_size + 6) = 0xffff;\n        }\n      }\n      iVar17 = iVar17 + 1;\n      psVar41 = (stat64 *)&psVar41->st_rdev;\n    } while (iVar17 < (int)local_91c);\n    local_820._84_4_ = local_8ec;\n  }\n  else {\n    if ((_Bool)local_820[7] == false) {\n      uVar10 = (uint)local_8f6;\n      uVar19 = 0;\n      uVar34 = (uVar10 + 1) * 0x20;\n      local_820._62_2_ = (undefined2)(uVar34 / (uint)local_820._76_4_);\n      ppvVar44 = &local_8e8;\n      if (uVar34 % (uint)local_820._76_4_ != 0) {\n        local_820._62_2_ = local_820._62_2_ + 1;\n      }\n      psVar41 = (stat64 *)0x0;\n      psVar29 = (stat64 *)\n                sg_memalign(((int)&local_8f4->st_dev + (uint)(ushort)local_820._62_2_) *\n                            local_820._76_4_,0,ppvVar44,0);\n      if (psVar29 == (stat64 *)0x0) goto LAB_000141a6;\n      local_8f6 = 0;\n      local_8ec = (stat64 *)0x0;\n      if (uVar10 + 1 == 1) {\n        uVar34 = (uint)(ushort)local_820._62_2_ * local_820._76_4_;\n      }\n      local_908 = (stat64 *)\n                  build_t10_scat(local_798,(_Bool)local_820[0],(_Bool)(local_820[9] ^ 1),\n                                 (uint8_t *)psVar29,&local_8f6,(uint32_t *)&local_8ec,uVar34);\n      if (local_908 != (stat64 *)0x0) goto LAB_000133fd;\n      psVar41 = (stat64 *)(local_820._76_4_ * (int)local_8ec);\n      if ((uint)local_820._80_4_ <= psVar41) {\n        if (((uint)local_820._80_4_ <= psVar41 && (int)psVar41 - local_820._80_4_ != 0) &&\n           ((stat64 *)local_820._80_4_ != (stat64 *)0x0)) {\n          psVar41 = (stat64 *)local_820._80_4_;\n        }\nLAB_00014208:\n        if ((psVar49 != (stat64 *)0x0) && (psVar49 != psVar41)) {\n          if ((stat64 *)uVar24 != (stat64 *)0x0) {\n            puVar22 = &DAT_00017110;\n            if (psVar41 <= psVar49) {\n              puVar22 = &DAT_000170dd;\n            }\n            pr2serr("readable length (%u) of IF %s bytes implied by sum of\nscatter list NUMs (%u) and DLEN\n"\n                    ,psVar49,puVar22,psVar41);\n          }\n          if ((local_820._40_4_ != 0) && ((psVar41 <= psVar49 || (1 < (int)local_820._40_4_))))\n          goto LAB_000133f3;\nLAB_0001387e:\n          if (psVar49 < psVar41) {\n            psVar41 = psVar49;\n          }\n        }\n        psVar20 = (stat64 *)((uint)psVar41 / (uint)local_820._76_4_);\n        if (((uint)psVar41 % (uint)local_820._76_4_ != 0) &&\n           (((stat64 *)uVar24 != (stat64 *)0x0 || (1 < (int)local_820._40_4_)))) {\n          psVar26 = psVar41;\n          psVar11 = (stat64 *)local_820._72_4_;\n          pr2serr("Calculated data-out length (0x%x) not a multiple of BS (%u",psVar41,\n                  local_820._72_4_,psVar20);\n          if (local_820._72_4_ != local_820._76_4_) {\n            psVar26 = (stat64 *)(local_820._76_4_ - local_820._72_4_);\n            psVar11 = extraout_ECX_06;\n            psVar20 = extraout_ECX_06;\n            pr2serr(" + %d(PI)",psVar26,extraout_ECX_06,extraout_ECX_06);\n          }\n          if (1 < (int)local_820._40_4_) {\n            pr2serr(")\nexiting ...\n",psVar26,psVar11,psVar20);\n            local_908 = (stat64 *)0xf;\n            goto LAB_000133fd;\n          }\n          pr2serr(")\nzero pad and continue ...\n",psVar26,psVar11,psVar20);\n        }\n      }\n      else {\n        uVar10 = uVar24 | local_820._40_4_;\n        if (uVar10 != 0) {\n          pr2serr("DLEN > than bytes implied by sum of scatter list NUMs (%u)\n",psVar41,uVar10,\n                  uVar10);\n          if (1 < (int)uVar24) {\n            pr2serr("  num_lbard=%u, sum_num=%u actual_bs=%u",local_8f6,local_8ec,local_820._76_4_);\n          }\n          if (local_820._40_4_ != 0) goto LAB_000133f3;\n          goto LAB_00014208;\n        }\n        if ((psVar49 != (stat64 *)0x0) && (psVar49 != psVar41)) goto LAB_0001387e;\n      }\n      local_908 = (stat64 *)\n                  bin_read((int)local_924,\n                           (uint8_t *)\n                           ((int)&psVar29->st_dev +\n                           (uint)(ushort)local_820._62_2_ * local_820._76_4_),(uint32_t)psVar41,\n                           "IF 3");\n      uVar4 = local_820._62_2_;\n    }\n    else {\nLAB_00013dcd:\n      psVar41 = (stat64 *)local_820._76_4_;\n      if (local_820._64_2_ != 0) {\n        psVar41 = (stat64 *)(((ushort)local_820._64_2_ + 1) * 0x20);\n        if (local_908 < psVar41) {\n          pr2serr("SF not long enough (%u bytes) to provide RD (%u) %ss\n",local_908,psVar41,\n                  "LBA range descriptor");\n          local_908 = (stat64 *)0xf;\n          goto LAB_000133fd;\n        }\n        psVar41 = (stat64 *)\n                  ((((uint)psVar41 / (uint)local_820._76_4_ + 1) -\n                   (uint)((uint)psVar41 % (uint)local_820._76_4_ == 0)) * local_820._76_4_);\n      }\n      local_918 = (stat64 *)local_820._76_4_;\n      if (local_93c != (stat64 *)0x0) {\n        local_918 = (stat64 *)\n                    ((((uint)local_93c / (uint)local_820._76_4_ + 1) -\n                     (uint)((uint)local_93c % (uint)local_820._76_4_ == 0)) * local_820._76_4_);\n      }\n      psVar29 = (stat64 *)\n                sg_memalign((int)&psVar41->st_dev + (int)&local_918->st_dev,0,&local_8e8,0);\n      if (psVar29 == (stat64 *)0x0) {\nLAB_00013fb3:\n        pcVar18 = "unable to allocate aligned memory for scatterlist+data\n";\nLAB_00013fbc:\n        pr2serr(pcVar18);\n        local_908 = (stat64 *)sg_convert_errno(0xc);\n        goto LAB_000133fd;\n      }\n      local_908 = (stat64 *)bin_read((int)local_920,(uint8_t *)psVar29,(uint32_t)local_908,"SF");\n      if (local_908 != (stat64 *)0x0) goto LAB_000133fd;\n      _Var9 = check_lbrds((uint8_t *)psVar29,(uint32_t)psVar41,(opts_t *)local_820,&local_8f6,\n                          (uint32_t *)&local_8ec);\n      if (!_Var9) goto LAB_000133f3;\n      if (local_820._64_2_ != local_8f6) {\n        pr2serr("Try again with --scattered=%u\n",local_8f6,extraout_EDX_06,extraout_EDX_06);\n        local_908 = (stat64 *)0xf;\n        goto LAB_000133fd;\n      }\n      psVar20 = (stat64 *)(local_820._76_4_ * (int)local_8ec);\n      if (local_918 < psVar20) {\n        psVar26 = (stat64 *)\n                  sg_memalign((int)&psVar41->st_dev + (int)&psVar20->st_dev,0,&local_8e4,0);\n        if (psVar26 == (stat64 *)0x0) goto LAB_00014273;\n        memcpy(psVar26,psVar29,(size_t)psVar41);\n        free(local_8e8);\n        local_8e8 = local_8e4;\n        psVar29 = psVar26;\n        local_918 = psVar20;\n      }\n      psVar20 = psVar41;\n      if ((local_93c != psVar41) &&\n         (psVar20 = local_93c, (stat64 *)uVar24 != (stat64 *)0x0 || local_820._40_4_ != 0)) {\n        puVar22 = &DAT_000170dd;\n        if (local_93c <= psVar41) {\n          puVar22 = &DAT_00017110;\n        }\n        psVar26 = psVar41;\n        pr2serr("IF length (%u) %s \'sum_num\' bytes (%u), ",local_93c,puVar22,psVar41);\n        if (1 < (int)local_820._40_4_) {\n          pr2serr("exiting (strict=%d)\n",local_820._40_4_,psVar41,psVar41);\n          local_908 = (stat64 *)0xf;\n          goto LAB_000133fd;\n        }\n        pr2serr("continuing ...\n",psVar20,puVar22,psVar26);\n        psVar20 = psVar41;\n        if (local_93c < psVar41) {\n          psVar20 = local_93c;\n        }\n      }\n      local_908 = (stat64 *)\n                  bin_read((int)local_924,\n                           (uint8_t *)((int)&psVar29->st_dev + (int)&local_918->st_dev),\n                           (uint32_t)psVar20,"IF 4");\n      uVar4 = local_8f6;\n    }\n    if (local_908 != (stat64 *)0x0) goto LAB_000133fd;\n    local_7a4 = (stat64 *)((int)local_8ec * local_820._76_4_);\n    local_918 = (stat64 *)(((int)&local_8ec->st_dev + (uint)uVar4) * local_820._76_4_);\n    local_820._84_4_ = local_8ec;\n  }\nLAB_00013962:\n  local_8ec = (stat64 *)local_820._84_4_;\n  local_908 = (stat64 *)do_write_x((int)local_930,psVar29,(int)local_918,(opts_t *)local_820);\n  if (local_908 != (stat64 *)0x0) {\n    puVar48 = local_174 + 0x50;\n    psVar29 = (stat64 *)"OS error";\n    puVar33 = puVar48;\n    for (iVar17 = 9; iVar17 != 0; iVar17 = iVar17 + -1) {\n      *puVar33 = (char)psVar29->st_dev;\n      psVar29 = (stat64 *)((int)psVar29 + (uint)bVar37 * -2 + 1);\n      puVar33 = puVar33 + (uint)bVar37 * -2 + 1;\n    }\n    if (0 < (int)local_908) {\n      sg_get_category_sense_str(local_908,0x50,puVar48,uVar24);\n    }\n    pr2serr("%s: %s\n",local_790,puVar48,psVar29);\n  }\nLAB_000133fd:\n  if (local_8e8 == (void *)0x0) goto LAB_00012354;\n  free(local_8e8);\n  goto LAB_00012354;\n_L476:\n  uVar38 = sg_get_llnum(*(undefined4 *)PTR_optarg_0001dffc);\n  psVar20 = (stat64 *)local_820._80_4_;\n  uVar34 = local_820._92_4_;\n  uVar10 = (uint)uVar38;\n  if ((int)((ulonglong)uVar38 >> 0x20) != 0) goto LAB_00012b94;\n  goto LAB_000114e8;\nLAB_00012b94:\n  pr2serr("bad argument to \'--ref-tag=\'. Expect 0 to 0xffffffff inclusive\n");\nLAB_00011a7a:\n  local_908 = (stat64 *)0x1;\nLAB_00011a84:\n  do {\n    psVar29 = (stat64 *)(local_24 ^ *(uint *)(in_GS_OFFSET + 0x14));\n    if (psVar29 == (stat64 *)0x0) {\n      return (int)local_908;\n    }\n    __stack_chk_fail_local();\nLAB_00013b9f:\n    pr2serr("build_lba_arr: array length exceeded\n");\nLAB_00012130:\n    pr2serr("bad argument to \'--lba\'\n");\n    local_908 = (stat64 *)0x1;\nLAB_00012354:\n    if (local_8f0 != (void *)0x0) {\n      free(local_8f0);\n    }\n    iVar17 = sg_cmds_close_device(local_930);\n    if (iVar17 < 0) {\n      if ((_Bool)local_820[6] == false) {\n        uVar19 = safe_strerror(-iVar17);\n        pr2serr("sg_fd close error: %s\n",uVar19);\n      }\n      if (local_908 == (stat64 *)0x0) {\n        local_908 = (stat64 *)0xf;\n      }\n    }\n    if ((-1 < (int)local_920) && (iVar17 = close((int)local_920), iVar17 < 0)) {\n      if ((_Bool)local_820[6] == false) {\n        perror("sfr_fd close error");\n      }\n      if (local_908 == (stat64 *)0x0) {\n        local_908 = (stat64 *)0xf;\n      }\n    }\nLAB_000123a1:\n    if (((cVar2 == '\x01') || ((int)local_924 < 0)) ||\n       (pcVar18 = (char *)close((int)local_924), -1 < (int)pcVar18)) {\nLAB_000123cc:\n      if ((((stat64 *)local_820._48_4_ == (stat64 *)0x0) && ((_Bool)local_820[6] == false)) &&\n         (cVar8 = sg_if_can2stderr("sg_write_x failed: ",local_908,psVar29,psVar29), cVar8 == '\0'))\n      goto LAB_0001260b;\n      goto LAB_000123e2;\n    }\n    if ((_Bool)local_820[6] == false) {\n      pcVar18 = "infd close error";\n      perror("infd close error");\n    }\n    if (local_908 != (stat64 *)0x0) goto LAB_000123cc;\n    local_908 = (stat64 *)0xf;\n    if ((((stat64 *)local_820._48_4_ == (stat64 *)0x0) && ((_Bool)local_820[6] == false)) &&\n       (cVar8 = sg_if_can2stderr("sg_write_x failed: ",0xf,pcVar18,pcVar18), cVar8 == '\0')) {\nLAB_0001260b:\n      pr2serr("Some error occurred, try again with \'-v\' or \'-vv\' for more information\n");\nLAB_000123e2:\n      if ((int)local_908 < 0) {\n        local_908 = (stat64 *)0x63;\n      }\n    }\n  } while( true );\n}" { (declaration "byte bVar1;" type_identifier identifier ;) (declaration "char cVar2;" primitive_type identifier ;) (declaration "__dev_t *p_Var3;" type_identifier (pointer_declarator "*p_Var3" * identifier) ;) (declaration "ushort uVar4;" type_identifier identifier ;) (declaration "undefined *puVar5;" type_identifier (pointer_declarator "*puVar5" * identifier) ;) (declaration "undefined *puVar6;" type_identifier (pointer_declarator "*puVar6" * identifier) ;) (declaration "char **ppcVar7;" primitive_type (pointer_declarator "**ppcVar7" * (pointer_declarator "*ppcVar7" * identifier)) ;) (declaration "char cVar8;" primitive_type identifier ;) (declaration "_Bool _Var9;" type_identifier identifier ;) (declaration "uint uVar10;" type_identifier identifier ;) (declaration "stat64 *psVar11;" type_identifier (pointer_declarator "*psVar11" * identifier) ;) (declaration "stat64 *psVar12;" type_identifier (pointer_declarator "*psVar12" * identifier) ;) (declaration "int iVar13;" primitive_type identifier ;) (declaration "stat64 *psVar14;" type_identifier (pointer_declarator "*psVar14" * identifier) ;) (declaration "char *pcVar15;" primitive_type (pointer_declarator "*pcVar15" * identifier) ;) (declaration "char *pcVar16;" primitive_type (pointer_declarator "*pcVar16" * identifier) ;) (declaration "int iVar17;" primitive_type identifier ;) (declaration "char *pcVar18;" primitive_type (pointer_declarator "*pcVar18" * identifier) ;) (declaration "uint8_t *up;" primitive_type (pointer_declarator "*up" * identifier) ;) (declaration "undefined4 uVar19;" type_identifier identifier ;) (declaration "stat64 *psVar20;" type_identifier (pointer_declarator "*psVar20" * identifier) ;) (declaration "int *piVar21;" primitive_type (pointer_declarator "*piVar21" * identifier) ;) (declaration "undefined *puVar22;" type_identifier (pointer_declarator "*puVar22" * identifier) ;) (declaration "int iVar23;" primitive_type identifier ;) (declaration "stat64 *extraout_ECX;" type_identifier (pointer_declarator "*extraout_ECX" * identifier) ;) (declaration "stat64 *extraout_ECX_00;" type_identifier (pointer_declarator "*extraout_ECX_00" * identifier) ;) (declaration "stat64 *extraout_ECX_01;" type_identifier (pointer_declarator "*extraout_ECX_01" * identifier) ;) (declaration "undefined4 extraout_ECX_02;" type_identifier identifier ;) (declaration "undefined4 uVar24;" type_identifier identifier ;) (declaration "stat64 *extraout_ECX_03;" type_identifier (pointer_declarator "*extraout_ECX_03" * identifier) ;) (declaration "stat64 *extraout_ECX_04;" type_identifier (pointer_declarator "*extraout_ECX_04" * identifier) ;) (declaration "stat64 *extraout_ECX_05;" type_identifier (pointer_declarator "*extraout_ECX_05" * identifier) ;) (declaration "stat64 *extraout_ECX_06;" type_identifier (pointer_declarator "*extraout_ECX_06" * identifier) ;) (declaration "char **extraout_EDX;" primitive_type (pointer_declarator "**extraout_EDX" * (pointer_declarator "*extraout_EDX" * identifier)) ;) (declaration "char **ppcVar25;" primitive_type (pointer_declarator "**ppcVar25" * (pointer_declarator "*ppcVar25" * identifier)) ;) (declaration "stat64 *psVar26;" type_identifier (pointer_declarator "*psVar26" * identifier) ;) (declaration "stat64 *psVar27;" type_identifier (pointer_declarator "*psVar27" * identifier) ;) (declaration "stat64 *extraout_EDX_00;" type_identifier (pointer_declarator "*extraout_EDX_00" * identifier) ;) (declaration "undefined4 extraout_EDX_01;" type_identifier identifier ;) (declaration "stat64 *extraout_EDX_02;" type_identifier (pointer_declarator "*extraout_EDX_02" * identifier) ;) (declaration "stat64 *extraout_EDX_03;" type_identifier (pointer_declarator "*extraout_EDX_03" * identifier) ;) (declaration "stat64 *extraout_EDX_04;" type_identifier (pointer_declarator "*extraout_EDX_04" * identifier) ;) (declaration "undefined4 extraout_EDX_05;" type_identifier identifier ;) (declaration "undefined4 extraout_EDX_06;" type_identifier identifier ;) (declaration "uint uVar28;" type_identifier identifier ;) (declaration "stat64 *psVar29;" type_identifier (pointer_declarator "*psVar29" * identifier) ;) (declaration "opts_t *poVar30;" type_identifier (pointer_declarator "*poVar30" * identifier) ;) (declaration "uint *puVar31;" type_identifier (pointer_declarator "*puVar31" * identifier) ;) (declaration "stat64 **ppsVar32;" type_identifier (pointer_declarator "**ppsVar32" * (pointer_declarator "*ppsVar32" * identifier)) ;) (declaration "undefined1 *puVar33;" type_identifier (pointer_declarator "*puVar33" * identifier) ;) (declaration "uint32_t uVar34;" primitive_type identifier ;) (declaration "int in_GS_OFFSET;" primitive_type identifier ;) (declaration "bool bVar35;" primitive_type identifier ;) (declaration "bool bVar36;" primitive_type identifier ;) (declaration "byte bVar37;" type_identifier identifier ;) (declaration "undefined8 uVar38;" type_identifier identifier ;) (declaration "longlong lVar39;" type_identifier identifier ;) (declaration "__off64_t _Var40;" type_identifier identifier ;) (declaration "stat64 *psVar41;" type_identifier (pointer_declarator "*psVar41" * identifier) ;) (declaration "stat64 **ppsVar42;" type_identifier (pointer_declarator "**ppsVar42" * (pointer_declarator "*ppsVar42" * identifier)) ;) (declaration "uint32_t uVar43;" primitive_type identifier ;) (declaration "void **ppvVar44;" primitive_type (pointer_declarator "**ppvVar44" * (pointer_declarator "*ppvVar44" * identifier)) ;) (declaration "uint32_t uVar45;" primitive_type identifier ;) (declaration "uint uVar46;" type_identifier identifier ;) (declaration "uint *puVar47;" type_identifier (pointer_declarator "*puVar47" * identifier) ;) (declaration "undefined1 *puVar48;" type_identifier (pointer_declarator "*puVar48" * identifier) ;) (declaration "stat64 *psVar49;" type_identifier (pointer_declarator "*psVar49" * identifier) ;) (declaration "char local_93f;" primitive_type identifier ;) (declaration "stat64 *local_93c;" type_identifier (pointer_declarator "*local_93c" * identifier) ;) (declaration "stat64 *local_930;" type_identifier (pointer_declarator "*local_930" * identifier) ;) (declaration "stat64 *local_924;" type_identifier (pointer_declarator "*local_924" * identifier) ;) (declaration "stat64 *local_920;" type_identifier (pointer_declarator "*local_920" * identifier) ;) (declaration "stat64 *local_91c;" type_identifier (pointer_declarator "*local_91c" * identifier) ;) (declaration "stat64 *local_918;" type_identifier (pointer_declarator "*local_918" * identifier) ;) (declaration "stat64 *local_908;" type_identifier (pointer_declarator "*local_908" * identifier) ;) (declaration "uint16_t local_8f8;" primitive_type identifier ;) (declaration "uint16_t local_8f6;" primitive_type identifier ;) (declaration "stat64 *local_8f4;" type_identifier (pointer_declarator "*local_8f4" * identifier) ;) (declaration "void *local_8f0;" primitive_type (pointer_declarator "*local_8f0" * identifier) ;) (declaration "stat64 *local_8ec;" type_identifier (pointer_declarator "*local_8ec" * identifier) ;) (declaration "void *local_8e8;" primitive_type (pointer_declarator "*local_8e8" * identifier) ;) (declaration "void *local_8e4;" primitive_type (pointer_declarator "*local_8e4" * identifier) ;) (declaration "undefined1 local_8e0 [48];" type_identifier (array_declarator "local_8e0 [48]" identifier [ number_literal ]) ;) (declaration "int local_8b0;" primitive_type identifier ;) (declaration "undefined1 local_880 [96];" type_identifier (array_declarator "local_880 [96]" identifier [ number_literal ]) ;) (declaration "undefined1 local_820 [112];" type_identifier (array_declarator "local_820 [112]" identifier [ number_literal ]) ;) (declaration "stat64 *local_7b0;" type_identifier (pointer_declarator "*local_7b0" * identifier) ;) (declaration "int local_7ac;" primitive_type identifier ;) (declaration "int local_7a8;" primitive_type identifier ;) (declaration "stat64 *local_7a4;" type_identifier (pointer_declarator "*local_7a4" * identifier) ;) (declaration "stat64 *local_7a0;" type_identifier (pointer_declarator "*local_7a0" * identifier) ;) (declaration "char *local_79c;" primitive_type (pointer_declarator "*local_79c" * identifier) ;) (declaration "char *local_798;" primitive_type (pointer_declarator "*local_798" * identifier) ;) (declaration "stat64 *local_794;" type_identifier (pointer_declarator "*local_794" * identifier) ;) (declaration "undefined1 local_790 [24];" type_identifier (array_declarator "local_790 [24]" identifier [ number_literal ]) ;) (declaration "stat64 *local_778 [128];" type_identifier (pointer_declarator "*local_778 [128]" * (array_declarator "local_778 [128]" identifier [ number_literal ])) ;) (declaration "uint local_578;" type_identifier identifier ;) (declaration "uint local_574;" type_identifier identifier ;) (declaration "undefined1 local_174 [96];" type_identifier (array_declarator "local_174 [96]" identifier [ number_literal ]) ;) (declaration "uint local_114;" type_identifier identifier ;) (declaration "uint local_110;" type_identifier identifier ;) (declaration "uint local_10c;" type_identifier identifier ;) (declaration "uint local_104;" type_identifier identifier ;) (declaration "uint local_100;" type_identifier identifier ;) (declaration "uint local_fc;" type_identifier identifier ;) (declaration "uint local_f8;" type_identifier identifier ;) (declaration "ushort local_f4;" type_identifier identifier ;) (declaration "ushort local_f2;" type_identifier identifier ;) (declaration "uint local_24;" type_identifier identifier ;) (declaration "int *local_18;" primitive_type (pointer_declarator "*local_18" * identifier) ;) (expression_statement "ppcVar7 = argv;" (assignment_expression "ppcVar7 = argv" identifier = identifier) ;) (expression_statement "iVar17 = argc;" (assignment_expression "iVar17 = argc" identifier = identifier) ;) (expression_statement "puVar22 = PTR_optarg_0001dffc;" (assignment_expression "puVar22 = PTR_optarg_0001dffc" identifier = identifier) ;) (expression_statement "bVar37 = 0;" (assignment_expression "bVar37 = 0" identifier = number_literal) ;) (expression_statement "local_18 = &argc;" (assignment_expression "local_18 = &argc" identifier = (pointer_expression "&argc" & identifier)) ;) (expression_statement "local_24 = *(uint *)(in_GS_OFFSET + 0x14);" (assignment_expression "local_24 = *(uint *)(in_GS_OFFSET + 0x14)" identifier = (pointer_expression "*(uint *)(in_GS_OFFSET + 0x14)" * (cast_expression "(uint *)(in_GS_OFFSET + 0x14)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_GS_OFFSET + 0x14)" ( (binary_expression "in_GS_OFFSET + 0x14" identifier + number_literal) ))))) ;) (expression_statement "local_8f8 = 0;" (assignment_expression "local_8f8 = 0" identifier = number_literal) ;) (expression_statement "local_8f4 = (stat64 *)0x0;" (assignment_expression "local_8f4 = (stat64 *)0x0" identifier = (cast_expression "(stat64 *)0x0" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_8f0 = (void *)0x0;" (assignment_expression "local_8f0 = (void *)0x0" identifier = (cast_expression "(void *)0x0" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_918 = (stat64 *)0x0;" (assignment_expression "local_918 = (stat64 *)0x0" identifier = (cast_expression "(stat64 *)0x0" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_91c = (stat64 *)0x0;" (assignment_expression "local_91c = (stat64 *)0x0" identifier = (cast_expression "(stat64 *)0x0" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "poVar30 = (opts_t *)local_820;" (assignment_expression "poVar30 = (opts_t *)local_820" identifier = (cast_expression "(opts_t *)local_820" ( (type_descriptor "opts_t *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (for_statement "for (iVar23 = 0x2a; iVar23 != 0; iVar23 = iVar23 + -1) {\n    poVar30->do_16 = false;\n    poVar30->do_32 = false;\n    poVar30->do_anchor = false;\n    poVar30->do_atomic = false;\n    poVar30 = (opts_t *)&poVar30->do_combined;\n  }" for ( (assignment_expression "iVar23 = 0x2a" identifier = number_literal) ; (binary_expression "iVar23 != 0" identifier != number_literal) ; (assignment_expression "iVar23 = iVar23 + -1" identifier = (binary_expression "iVar23 + -1" identifier + number_literal)) ) (compound_statement "{\n    poVar30->do_16 = false;\n    poVar30->do_32 = false;\n    poVar30->do_anchor = false;\n    poVar30->do_atomic = false;\n    poVar30 = (opts_t *)&poVar30->do_combined;\n  }" { (expression_statement "poVar30->do_16 = false;" (assignment_expression "poVar30->do_16 = false" (field_expression "poVar30->do_16" identifier -> field_identifier) = false) ;) (expression_statement "poVar30->do_32 = false;" (assignment_expression "poVar30->do_32 = false" (field_expression "poVar30->do_32" identifier -> field_identifier) = false) ;) (expression_statement "poVar30->do_anchor = false;" (assignment_expression "poVar30->do_anchor = false" (field_expression "poVar30->do_anchor" identifier -> field_identifier) = false) ;) (expression_statement "poVar30->do_atomic = false;" (assignment_expression "poVar30->do_atomic = false" (field_expression "poVar30->do_atomic" identifier -> field_identifier) = false) ;) (expression_statement "poVar30 = (opts_t *)&poVar30->do_combined;" (assignment_expression "poVar30 = (opts_t *)&poVar30->do_combined" identifier = (cast_expression "(opts_t *)&poVar30->do_combined" ( (type_descriptor "opts_t *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&poVar30->do_combined" & (field_expression "poVar30->do_combined" identifier -> field_identifier)))) ;) })) (expression_statement "local_930 = (stat64 *)local_8e0;" (assignment_expression "local_930 = (stat64 *)local_8e0" identifier = (cast_expression "(stat64 *)local_8e0" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "local_820._36_4_ = -1;" (assignment_expression "local_820._36_4_ = -1" (field_expression "local_820._36_4_" identifier . field_identifier) = number_literal) ;) (expression_statement "psVar41 = local_930;" (assignment_expression "psVar41 = local_930" identifier = identifier) ;) (for_statement "for (iVar23 = 0x18; iVar23 != 0; iVar23 = iVar23 + -1) {\n    *(undefined4 *)&psVar41->st_dev = 0;\n    psVar41 = (stat64 *)((int)&psVar41->st_dev + 4);\n  }" for ( (assignment_expression "iVar23 = 0x18" identifier = number_literal) ; (binary_expression "iVar23 != 0" identifier != number_literal) ; (assignment_expression "iVar23 = iVar23 + -1" identifier = (binary_expression "iVar23 + -1" identifier + number_literal)) ) (compound_statement "{\n    *(undefined4 *)&psVar41->st_dev = 0;\n    psVar41 = (stat64 *)((int)&psVar41->st_dev + 4);\n  }" { (expression_statement "*(undefined4 *)&psVar41->st_dev = 0;" (assignment_expression "*(undefined4 *)&psVar41->st_dev = 0" (pointer_expression "*(undefined4 *)&psVar41->st_dev" * (cast_expression "(undefined4 *)&psVar41->st_dev" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&psVar41->st_dev" & (field_expression "psVar41->st_dev" identifier -> field_identifier)))) = number_literal) ;) (expression_statement "psVar41 = (stat64 *)((int)&psVar41->st_dev + 4);" (assignment_expression "psVar41 = (stat64 *)((int)&psVar41->st_dev + 4)" identifier = (cast_expression "(stat64 *)((int)&psVar41->st_dev + 4)" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&psVar41->st_dev + 4)" ( (binary_expression "(int)&psVar41->st_dev + 4" (cast_expression "(int)&psVar41->st_dev" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&psVar41->st_dev" & (field_expression "psVar41->st_dev" identifier -> field_identifier))) + number_literal) )))) ;) })) (expression_statement "psVar41 = (stat64 *)local_880;" (assignment_expression "psVar41 = (stat64 *)local_880" identifier = (cast_expression "(stat64 *)local_880" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "local_820._96_4_ = 0xffffffff;" (assignment_expression "local_820._96_4_ = 0xffffffff" (field_expression "local_820._96_4_" identifier . field_identifier) = number_literal) ;) (expression_statement "psVar20 = psVar41;" (assignment_expression "psVar20 = psVar41" identifier = identifier) ;) (for_statement "for (iVar23 = 0x18; iVar23 != 0; iVar23 = iVar23 + -1) {\n    *(undefined4 *)&psVar20->st_dev = 0;\n    psVar20 = (stat64 *)((int)&psVar20->st_dev + 4);\n  }" for ( (assignment_expression "iVar23 = 0x18" identifier = number_literal) ; (binary_expression "iVar23 != 0" identifier != number_literal) ; (assignment_expression "iVar23 = iVar23 + -1" identifier = (binary_expression "iVar23 + -1" identifier + number_literal)) ) (compound_statement "{\n    *(undefined4 *)&psVar20->st_dev = 0;\n    psVar20 = (stat64 *)((int)&psVar20->st_dev + 4);\n  }" { (expression_statement "*(undefined4 *)&psVar20->st_dev = 0;" (assignment_expression "*(undefined4 *)&psVar20->st_dev = 0" (pointer_expression "*(undefined4 *)&psVar20->st_dev" * (cast_expression "(undefined4 *)&psVar20->st_dev" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&psVar20->st_dev" & (field_expression "psVar20->st_dev" identifier -> field_identifier)))) = number_literal) ;) (expression_statement "psVar20 = (stat64 *)((int)&psVar20->st_dev + 4);" (assignment_expression "psVar20 = (stat64 *)((int)&psVar20->st_dev + 4)" identifier = (cast_expression "(stat64 *)((int)&psVar20->st_dev + 4)" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&psVar20->st_dev + 4)" ( (binary_expression "(int)&psVar20->st_dev + 4" (cast_expression "(int)&psVar20->st_dev" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&psVar20->st_dev" & (field_expression "psVar20->st_dev" identifier -> field_identifier))) + number_literal) )))) ;) })) (expression_statement "cVar2 = ' ';" (assignment_expression "cVar2 = ' '" identifier = (char_literal "' '" ' character ')) ;) (expression_statement "local_820._58_2_ = 0xffff;" (assignment_expression "local_820._58_2_ = 0xffff" (field_expression "local_820._58_2_" identifier . field_identifier) = number_literal) ;) (expression_statement "local_820._68_2_ = 0xffff;" (assignment_expression "local_820._68_2_ = 0xffff" (field_expression "local_820._68_2_" identifier . field_identifier) = number_literal) ;) (expression_statement "local_820._44_4_ = 0x78;" (assignment_expression "local_820._44_4_ = 0x78" (field_expression "local_820._44_4_" identifier . field_identifier) = number_literal) ;) (expression_statement "bVar1 = 0;" (assignment_expression "bVar1 = 0" identifier = number_literal) ;) (expression_statement "local_924 = (stat64 *)PTR_optarg_0001dffc;" (assignment_expression "local_924 = (stat64 *)PTR_optarg_0001dffc" identifier = (cast_expression "(stat64 *)PTR_optarg_0001dffc" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "psVar20 = (stat64 *)local_820._80_4_;" (assignment_expression "psVar20 = (stat64 *)local_820._80_4_" identifier = (cast_expression "(stat64 *)local_820._80_4_" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "local_820._80_4_" identifier . field_identifier))) ;) (expression_statement "uVar34 = local_820._92_4_;" (assignment_expression "uVar34 = local_820._92_4_" identifier = (field_expression "local_820._92_4_" identifier . field_identifier)) ;) (expression_statement "uVar10 = local_820._96_4_;" (assignment_expression "uVar10 = local_820._96_4_" identifier = (field_expression "local_820._96_4_" identifier . field_identifier)) ;) (labeled_statement "LAB_000114e8:\n  local_820._96_4_ = uVar10;" statement_identifier : (expression_statement "local_820._96_4_ = uVar10;" (assignment_expression "local_820._96_4_ = uVar10" (field_expression "local_820._96_4_" identifier . field_identifier) = identifier) ;)) (expression_statement "local_820._92_4_ = uVar34;" (assignment_expression "local_820._92_4_ = uVar34" (field_expression "local_820._92_4_" identifier . field_identifier) = identifier) ;) (expression_statement "local_820._80_4_ = psVar20;" (assignment_expression "local_820._80_4_ = psVar20" (field_expression "local_820._80_4_" identifier . field_identifier) = identifier) ;) (expression_statement "local_8e4 = (void *)0x0;" (assignment_expression "local_8e4 = (void *)0x0" identifier = (cast_expression "(void *)0x0" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "uVar38 = getopt_long(iVar17,ppcVar7,"36a:A:b:B:c:dD:Efg:G:hi:I:l:M:n:No:Oq:Qr:RsS:t:T:u:vVw:x",\n                       long_options,&local_8e4);" (assignment_expression "uVar38 = getopt_long(iVar17,ppcVar7,"36a:A:b:B:c:dD:Efg:G:hi:I:l:M:n:No:Oq:Qr:RsS:t:T:u:vVw:x",\n                       long_options,&local_8e4)" identifier = (call_expression "getopt_long(iVar17,ppcVar7,"36a:A:b:B:c:dD:Efg:G:hi:I:l:M:n:No:Oq:Qr:RsS:t:T:u:vVw:x",\n                       long_options,&local_8e4)" identifier (argument_list "(iVar17,ppcVar7,"36a:A:b:B:c:dD:Efg:G:hi:I:l:M:n:No:Oq:Qr:RsS:t:T:u:vVw:x",\n                       long_options,&local_8e4)" ( identifier , identifier , (string_literal ""36a:A:b:B:c:dD:Efg:G:hi:I:l:M:n:No:Oq:Qr:RsS:t:T:u:vVw:x"" " string_content ") , identifier , (pointer_expression "&local_8e4" & identifier) )))) ;) (expression_statement "puVar6 = PTR_optarg_0001dffc;" (assignment_expression "puVar6 = PTR_optarg_0001dffc" identifier = identifier) ;) (expression_statement "puVar5 = PTR_optind_0001dfe4;" (assignment_expression "puVar5 = PTR_optind_0001dfe4" identifier = identifier) ;) (if_statement "if ((int)uVar38 == -1) {\n    iVar23 = *(int *)PTR_optind_0001dfe4;\n    local_920 = (stat64 *)0xffffffff;\n    if (iVar23 < iVar17) {\n      ppcVar25 = (char **)((ulonglong)uVar38 >> 0x20);\n      if (local_7a0 != (stat64 *)0x0) goto LAB_00011c60;\n      local_7a0 = (stat64 *)ppcVar7[iVar23];\n      *(int *)PTR_optind_0001dfe4 = iVar23 + 1;\n      ppcVar25 = ppcVar7;\n      if (iVar23 + 1 < iVar17) goto LAB_00011c60;\n    }\n    if ((bool)(bVar1 & local_820._40_4_ != 0)) goto LAB_00011a7a;\n    if (0 < (int)local_820._32_4_) {\n      usage(local_820._32_4_);\n      local_908 = (stat64 *)0x0;\n      goto LAB_00011a84;\n    }\n    if ((_Bool)local_820[0x11] == false) {\nLAB_00011c9f:\n      if ((_Bool)local_820[0x12] != false) {\n        pr2serr("sg_write_x version: %s\n","1.19 20180628",puVar5,puVar5);\n        local_908 = (stat64 *)0x270f;\n        goto LAB_00011a84;\n      }\n    }\n    else if ((_Bool)local_820[0x12] != false) {\n      pr2serr("Not in DEBUG mode, so \'-vV\' has no special action\n");\n      goto LAB_00011c9f;\n    }\n    uVar19 = local_820._48_4_;\n    psVar20 = (stat64 *)uVar19;\n    if ((_Bool)local_820[0] == false) {\n      if ((_Bool)local_820[1] == false) {\n        psVar20 = (stat64 *)((int)&((stat64 *)(local_820._48_4_ + -0x60))->st_ino + 7);\n        local_820[0] = true;\n        if (psVar20 != (stat64 *)0x0 && 0 < (int)local_820._48_4_) {\n          pr2serr("Since neither --16 nor --32 given, choose --16\n");\n        }\n      }\n    }\n    else if (((_Bool)local_820[1] != false) && (local_820[0] = false, 1 < (int)local_820._48_4_)) {\n      pr2serr("Since both --16 and --32 given, choose --32\n");\n    }\n    uVar10 = (uint)local_820[3] + (uint)local_820[0xc] + (uint)local_820[5] + (uint)local_820[8] +\n             (uint)local_820[9] + (uint)local_820[10];\n    if (1 < uVar10) {\n      pr2serr(\n             "Can only select one command; so only one of --atomic, --normal, --or,\n--same=, --scattered= or --stream=\n"\n             );\n      local_908 = (stat64 *)0x1f;\n      goto LAB_00011a84;\n    }\n    if (uVar10 == 0) {\n      if (local_820._40_4_ != 0) {\n        pr2serr("With --strict won\'t default to a normal WRITE, add --normal\n");\n        local_908 = (stat64 *)0x1f;\n        goto LAB_00011a84;\n      }\n      local_794 = (stat64 *)0x17164;\n      local_820[0xc] = true;\n      if ((stat64 *)uVar19 != (stat64 *)0x0) {\n        pr2serr("No command selected so choose \'normal\' WRITE\n");\n      }\n    }\n    psVar11 = (stat64 *)((-(uint)((_Bool)local_820[0] == false) & 0x10) + 0x10);\n    psVar26 = local_794;\n    __snprintf_chk(local_790,0x18,1,0x18,"%s(%d)",local_794,psVar11,psVar20);\n    if ((_Bool)local_820[4] == false) {\n      if (local_798 != (char *)0x0) {\n        local_93f = local_918 != (stat64 *)0x0;\n        bVar35 = local_91c != (stat64 *)0x0 || local_918 != (stat64 *)0x0;\n        bVar36 = local_91c != (stat64 *)0x0;\n        if (local_91c == (stat64 *)0x0 && local_918 == (stat64 *)0x0) {\n          iVar17 = -1;\n          pcVar18 = local_798;\n          goto code_r0x00011d5c;\n        }\n        pr2serr(\n               "want one and only one of: (--lba=LBA and/or --num=NUM), or\n--scat-file=SF, or --combined=DOF\n"\n               );\n        local_908 = (stat64 *)0x1f;\n        goto LAB_00011a84;\n      }\n      if ((_Bool)local_820[7] == false) {\n        local_93f = local_918 != (stat64 *)0x0;\n        bVar35 = local_91c != (stat64 *)0x0 || local_918 != (stat64 *)0x0;\n        bVar36 = local_91c != (stat64 *)0x0;\n        goto LAB_00011d67;\n      }\n      pr2serr(\n             "--scat-raw only applies to the --scat-file=SF option\n--scat-raw without the --scat-file=SF option is an error\n"\n             );\n      local_908 = (stat64 *)0x1f;\n      goto LAB_00011a84;\n    }\n    if ((_Bool)local_820[9] == false) {\n      pr2serr(\n             "--combined=DOF only allowed with --scattered=RD (i.e. only with\nWRITE SCATTERED command)\n"\n             );\n      local_908 = (stat64 *)0x1f;\n      goto LAB_00011a84;\n    }\n    if (local_798 != (char *)0x0) {\n      pr2serr("Ambiguous: got --combined=DOF and --scat-file=SF .\nGive one, the other or neither\n"\n             );\n      local_908 = (stat64 *)0x1f;\n      goto LAB_00011a84;\n    }\n    if (local_91c == (stat64 *)0x0 && local_918 == (stat64 *)0x0) {\n      local_93f = local_820[7];\n      bVar35 = false;\n      bVar36 = false;\n      if ((_Bool)local_820[7] == false) goto LAB_00011d67;\n      pr2serr("Ambiguous: don\'t expect --combined=DOF and --scat-raw\nGive one or the other\n");\n      local_908 = (stat64 *)0x1f;\n    }\n    else {\n      pr2serr("--scattered=RD --combined=DOF does not use --lba= or --num=\nPlease remove.\n");\n      local_908 = (stat64 *)0x1f;\n    }\n    goto LAB_00011a84;\n  }" if (parenthesized_expression "((int)uVar38 == -1)" ( (binary_expression "(int)uVar38 == -1" (cast_expression "(int)uVar38" ( (type_descriptor "int" primitive_type) ) identifier) == number_literal) )) (compound_statement "{\n    iVar23 = *(int *)PTR_optind_0001dfe4;\n    local_920 = (stat64 *)0xffffffff;\n    if (iVar23 < iVar17) {\n      ppcVar25 = (char **)((ulonglong)uVar38 >> 0x20);\n      if (local_7a0 != (stat64 *)0x0) goto LAB_00011c60;\n      local_7a0 = (stat64 *)ppcVar7[iVar23];\n      *(int *)PTR_optind_0001dfe4 = iVar23 + 1;\n      ppcVar25 = ppcVar7;\n      if (iVar23 + 1 < iVar17) goto LAB_00011c60;\n    }\n    if ((bool)(bVar1 & local_820._40_4_ != 0)) goto LAB_00011a7a;\n    if (0 < (int)local_820._32_4_) {\n      usage(local_820._32_4_);\n      local_908 = (stat64 *)0x0;\n      goto LAB_00011a84;\n    }\n    if ((_Bool)local_820[0x11] == false) {\nLAB_00011c9f:\n      if ((_Bool)local_820[0x12] != false) {\n        pr2serr("sg_write_x version: %s\n","1.19 20180628",puVar5,puVar5);\n        local_908 = (stat64 *)0x270f;\n        goto LAB_00011a84;\n      }\n    }\n    else if ((_Bool)local_820[0x12] != false) {\n      pr2serr("Not in DEBUG mode, so \'-vV\' has no special action\n");\n      goto LAB_00011c9f;\n    }\n    uVar19 = local_820._48_4_;\n    psVar20 = (stat64 *)uVar19;\n    if ((_Bool)local_820[0] == false) {\n      if ((_Bool)local_820[1] == false) {\n        psVar20 = (stat64 *)((int)&((stat64 *)(local_820._48_4_ + -0x60))->st_ino + 7);\n        local_820[0] = true;\n        if (psVar20 != (stat64 *)0x0 && 0 < (int)local_820._48_4_) {\n          pr2serr("Since neither --16 nor --32 given, choose --16\n");\n        }\n      }\n    }\n    else if (((_Bool)local_820[1] != false) && (local_820[0] = false, 1 < (int)local_820._48_4_)) {\n      pr2serr("Since both --16 and --32 given, choose --32\n");\n    }\n    uVar10 = (uint)local_820[3] + (uint)local_820[0xc] + (uint)local_820[5] + (uint)local_820[8] +\n             (uint)local_820[9] + (uint)local_820[10];\n    if (1 < uVar10) {\n      pr2serr(\n             "Can only select one command; so only one of --atomic, --normal, --or,\n--same=, --scattered= or --stream=\n"\n             );\n      local_908 = (stat64 *)0x1f;\n      goto LAB_00011a84;\n    }\n    if (uVar10 == 0) {\n      if (local_820._40_4_ != 0) {\n        pr2serr("With --strict won\'t default to a normal WRITE, add --normal\n");\n        local_908 = (stat64 *)0x1f;\n        goto LAB_00011a84;\n      }\n      local_794 = (stat64 *)0x17164;\n      local_820[0xc] = true;\n      if ((stat64 *)uVar19 != (stat64 *)0x0) {\n        pr2serr("No command selected so choose \'normal\' WRITE\n");\n      }\n    }\n    psVar11 = (stat64 *)((-(uint)((_Bool)local_820[0] == false) & 0x10) + 0x10);\n    psVar26 = local_794;\n    __snprintf_chk(local_790,0x18,1,0x18,"%s(%d)",local_794,psVar11,psVar20);\n    if ((_Bool)local_820[4] == false) {\n      if (local_798 != (char *)0x0) {\n        local_93f = local_918 != (stat64 *)0x0;\n        bVar35 = local_91c != (stat64 *)0x0 || local_918 != (stat64 *)0x0;\n        bVar36 = local_91c != (stat64 *)0x0;\n        if (local_91c == (stat64 *)0x0 && local_918 == (stat64 *)0x0) {\n          iVar17 = -1;\n          pcVar18 = local_798;\n          goto code_r0x00011d5c;\n        }\n        pr2serr(\n               "want one and only one of: (--lba=LBA and/or --num=NUM), or\n--scat-file=SF, or --combined=DOF\n"\n               );\n        local_908 = (stat64 *)0x1f;\n        goto LAB_00011a84;\n      }\n      if ((_Bool)local_820[7] == false) {\n        local_93f = local_918 != (stat64 *)0x0;\n        bVar35 = local_91c != (stat64 *)0x0 || local_918 != (stat64 *)0x0;\n        bVar36 = local_91c != (stat64 *)0x0;\n        goto LAB_00011d67;\n      }\n      pr2serr(\n             "--scat-raw only applies to the --scat-file=SF option\n--scat-raw without the --scat-file=SF option is an error\n"\n             );\n      local_908 = (stat64 *)0x1f;\n      goto LAB_00011a84;\n    }\n    if ((_Bool)local_820[9] == false) {\n      pr2serr(\n             "--combined=DOF only allowed with --scattered=RD (i.e. only with\nWRITE SCATTERED command)\n"\n             );\n      local_908 = (stat64 *)0x1f;\n      goto LAB_00011a84;\n    }\n    if (local_798 != (char *)0x0) {\n      pr2serr("Ambiguous: got --combined=DOF and --scat-file=SF .\nGive one, the other or neither\n"\n             );\n      local_908 = (stat64 *)0x1f;\n      goto LAB_00011a84;\n    }\n    if (local_91c == (stat64 *)0x0 && local_918 == (stat64 *)0x0) {\n      local_93f = local_820[7];\n      bVar35 = false;\n      bVar36 = false;\n      if ((_Bool)local_820[7] == false) goto LAB_00011d67;\n      pr2serr("Ambiguous: don\'t expect --combined=DOF and --scat-raw\nGive one or the other\n");\n      local_908 = (stat64 *)0x1f;\n    }\n    else {\n      pr2serr("--scattered=RD --combined=DOF does not use --lba= or --num=\nPlease remove.\n");\n      local_908 = (stat64 *)0x1f;\n    }\n    goto LAB_00011a84;\n  }" { (expression_statement "iVar23 = *(int *)PTR_optind_0001dfe4;" (assignment_expression "iVar23 = *(int *)PTR_optind_0001dfe4" identifier = (pointer_expression "*(int *)PTR_optind_0001dfe4" * (cast_expression "(int *)PTR_optind_0001dfe4" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) ;) (expression_statement "local_920 = (stat64 *)0xffffffff;" (assignment_expression "local_920 = (stat64 *)0xffffffff" identifier = (cast_expression "(stat64 *)0xffffffff" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (if_statement "if (iVar23 < iVar17) {\n      ppcVar25 = (char **)((ulonglong)uVar38 >> 0x20);\n      if (local_7a0 != (stat64 *)0x0) goto LAB_00011c60;\n      local_7a0 = (stat64 *)ppcVar7[iVar23];\n      *(int *)PTR_optind_0001dfe4 = iVar23 + 1;\n      ppcVar25 = ppcVar7;\n      if (iVar23 + 1 < iVar17) goto LAB_00011c60;\n    }" if (parenthesized_expression "(iVar23 < iVar17)" ( (binary_expression "iVar23 < iVar17" identifier < identifier) )) (compound_statement "{\n      ppcVar25 = (char **)((ulonglong)uVar38 >> 0x20);\n      if (local_7a0 != (stat64 *)0x0) goto LAB_00011c60;\n      local_7a0 = (stat64 *)ppcVar7[iVar23];\n      *(int *)PTR_optind_0001dfe4 = iVar23 + 1;\n      ppcVar25 = ppcVar7;\n      if (iVar23 + 1 < iVar17) goto LAB_00011c60;\n    }" { (expression_statement "ppcVar25 = (char **)((ulonglong)uVar38 >> 0x20);" (assignment_expression "ppcVar25 = (char **)((ulonglong)uVar38 >> 0x20)" identifier = (cast_expression "(char **)((ulonglong)uVar38 >> 0x20)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((ulonglong)uVar38 >> 0x20)" ( (binary_expression "(ulonglong)uVar38 >> 0x20" (cast_expression "(ulonglong)uVar38" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) )))) ;) (if_statement "if (local_7a0 != (stat64 *)0x0) goto LAB_00011c60;" if (parenthesized_expression "(local_7a0 != (stat64 *)0x0)" ( (binary_expression "local_7a0 != (stat64 *)0x0" identifier != (cast_expression "(stat64 *)0x0" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_00011c60;" goto statement_identifier ;)) (expression_statement "local_7a0 = (stat64 *)ppcVar7[iVar23];" (assignment_expression "local_7a0 = (stat64 *)ppcVar7[iVar23]" identifier = (cast_expression "(stat64 *)ppcVar7[iVar23]" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "ppcVar7[iVar23]" identifier [ identifier ]))) ;) (expression_statement "*(int *)PTR_optind_0001dfe4 = iVar23 + 1;" (assignment_expression "*(int *)PTR_optind_0001dfe4 = iVar23 + 1" (pointer_expression "*(int *)PTR_optind_0001dfe4" * (cast_expression "(int *)PTR_optind_0001dfe4" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) = (binary_expression "iVar23 + 1" identifier + number_literal)) ;) (expression_statement "ppcVar25 = ppcVar7;" (assignment_expression "ppcVar25 = ppcVar7" identifier = identifier) ;) (if_statement "if (iVar23 + 1 < iVar17) goto LAB_00011c60;" if (parenthesized_expression "(iVar23 + 1 < iVar17)" ( (binary_expression "iVar23 + 1 < iVar17" (binary_expression "iVar23 + 1" identifier + number_literal) < identifier) )) (goto_statement "goto LAB_00011c60;" goto statement_identifier ;)) })) (if_statement "if ((bool)(bVar1 & local_820._40_4_ != 0)) goto LAB_00011a7a;" if (parenthesized_expression "((bool)(bVar1 & local_820._40_4_ != 0))" ( (cast_expression "(bool)(bVar1 & local_820._40_4_ != 0)" ( (type_descriptor "bool" primitive_type) ) (parenthesized_expression "(bVar1 & local_820._40_4_ != 0)" ( (binary_expression "bVar1 & local_820._40_4_ != 0" identifier & (binary_expression "local_820._40_4_ != 0" (field_expression "local_820._40_4_" identifier . field_identifier) != number_literal)) ))) )) (goto_statement "goto LAB_00011a7a;" goto statement_identifier ;)) (if_statement "if (0 < (int)local_820._32_4_) {\n      usage(local_820._32_4_);\n      local_908 = (stat64 *)0x0;\n      goto LAB_00011a84;\n    }" if (parenthesized_expression "(0 < (int)local_820._32_4_)" ( (binary_expression "0 < (int)local_820._32_4_" number_literal < (cast_expression "(int)local_820._32_4_" ( (type_descriptor "int" primitive_type) ) (field_expression "local_820._32_4_" identifier . field_identifier))) )) (compound_statement "{\n      usage(local_820._32_4_);\n      local_908 = (stat64 *)0x0;\n      goto LAB_00011a84;\n    }" { (expression_statement "usage(local_820._32_4_);" (call_expression "usage(local_820._32_4_)" identifier (argument_list "(local_820._32_4_)" ( (field_expression "local_820._32_4_" identifier . field_identifier) ))) ;) (expression_statement "local_908 = (stat64 *)0x0;" (assignment_expression "local_908 = (stat64 *)0x0" identifier = (cast_expression "(stat64 *)0x0" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (goto_statement "goto LAB_00011a84;" goto statement_identifier ;) })) (if_statement "if ((_Bool)local_820[0x11] == false) {\nLAB_00011c9f:\n      if ((_Bool)local_820[0x12] != false) {\n        pr2serr("sg_write_x version: %s\n","1.19 20180628",puVar5,puVar5);\n        local_908 = (stat64 *)0x270f;\n        goto LAB_00011a84;\n      }\n    }\n    else if ((_Bool)local_820[0x12] != false) {\n      pr2serr("Not in DEBUG mode, so \'-vV\' has no special action\n");\n      goto LAB_00011c9f;\n    }" if (parenthesized_expression "((_Bool)local_820[0x11] == false)" ( (binary_expression "(_Bool)local_820[0x11] == false" (cast_expression "(_Bool)local_820[0x11]" ( (type_descriptor "_Bool" type_identifier) ) (subscript_expression "local_820[0x11]" identifier [ number_literal ])) == false) )) (compound_statement "{\nLAB_00011c9f:\n      if ((_Bool)local_820[0x12] != false) {\n        pr2serr("sg_write_x version: %s\n","1.19 20180628",puVar5,puVar5);\n        local_908 = (stat64 *)0x270f;\n        goto LAB_00011a84;\n      }\n    }" { (labeled_statement "LAB_00011c9f:\n      if ((_Bool)local_820[0x12] != false) {\n        pr2serr("sg_write_x version: %s\n","1.19 20180628",puVar5,puVar5);\n        local_908 = (stat64 *)0x270f;\n        goto LAB_00011a84;\n      }" statement_identifier : (if_statement "if ((_Bool)local_820[0x12] != false) {\n        pr2serr("sg_write_x version: %s\n","1.19 20180628",puVar5,puVar5);\n        local_908 = (stat64 *)0x270f;\n        goto LAB_00011a84;\n      }" if (parenthesized_expression "((_Bool)local_820[0x12] != false)" ( (binary_expression "(_Bool)local_820[0x12] != false" (cast_expression "(_Bool)local_820[0x12]" ( (type_descriptor "_Bool" type_identifier) ) (subscript_expression "local_820[0x12]" identifier [ number_literal ])) != false) )) (compound_statement "{\n        pr2serr("sg_write_x version: %s\n","1.19 20180628",puVar5,puVar5);\n        local_908 = (stat64 *)0x270f;\n        goto LAB_00011a84;\n      }" { (expression_statement "pr2serr("sg_write_x version: %s\n","1.19 20180628",puVar5,puVar5);" (call_expression "pr2serr("sg_write_x version: %s\n","1.19 20180628",puVar5,puVar5)" identifier (argument_list "("sg_write_x version: %s\n","1.19 20180628",puVar5,puVar5)" ( (string_literal ""sg_write_x version: %s\n"" " string_content escape_sequence ") , (string_literal ""1.19 20180628"" " string_content ") , identifier , identifier ))) ;) (expression_statement "local_908 = (stat64 *)0x270f;" (assignment_expression "local_908 = (stat64 *)0x270f" identifier = (cast_expression "(stat64 *)0x270f" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (goto_statement "goto LAB_00011a84;" goto statement_identifier ;) }))) }) (else_clause "else if ((_Bool)local_820[0x12] != false) {\n      pr2serr("Not in DEBUG mode, so \'-vV\' has no special action\n");\n      goto LAB_00011c9f;\n    }" else (if_statement "if ((_Bool)local_820[0x12] != false) {\n      pr2serr("Not in DEBUG mode, so \'-vV\' has no special action\n");\n      goto LAB_00011c9f;\n    }" if (parenthesized_expression "((_Bool)local_820[0x12] != false)" ( (binary_expression "(_Bool)local_820[0x12] != false" (cast_expression "(_Bool)local_820[0x12]" ( (type_descriptor "_Bool" type_identifier) ) (subscript_expression "local_820[0x12]" identifier [ number_literal ])) != false) )) (compound_statement "{\n      pr2serr("Not in DEBUG mode, so \'-vV\' has no special action\n");\n      goto LAB_00011c9f;\n    }" { (expression_statement "pr2serr("Not in DEBUG mode, so \'-vV\' has no special action\n");" (call_expression "pr2serr("Not in DEBUG mode, so \'-vV\' has no special action\n")" identifier (argument_list "("Not in DEBUG mode, so \'-vV\' has no special action\n")" ( (string_literal ""Not in DEBUG mode, so \'-vV\' has no special action\n"" " string_content escape_sequence string_content escape_sequence string_content escape_sequence ") ))) ;) (goto_statement "goto LAB_00011c9f;" goto statement_identifier ;) })))) (expression_statement "uVar19 = local_820._48_4_;" (assignment_expression "uVar19 = local_820._48_4_" identifier = (field_expression "local_820._48_4_" identifier . field_identifier)) ;) (expression_statement "psVar20 = (stat64 *)uVar19;" (assignment_expression "psVar20 = (stat64 *)uVar19" identifier = (cast_expression "(stat64 *)uVar19" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (if_statement "if ((_Bool)local_820[0] == false) {\n      if ((_Bool)local_820[1] == false) {\n        psVar20 = (stat64 *)((int)&((stat64 *)(local_820._48_4_ + -0x60))->st_ino + 7);\n        local_820[0] = true;\n        if (psVar20 != (stat64 *)0x0 && 0 < (int)local_820._48_4_) {\n          pr2serr("Since neither --16 nor --32 given, choose --16\n");\n        }\n      }\n    }\n    else if (((_Bool)local_820[1] != false) && (local_820[0] = false, 1 < (int)local_820._48_4_)) {\n      pr2serr("Since both --16 and --32 given, choose --32\n");\n    }" if (parenthesized_expression "((_Bool)local_820[0] == false)" ( (binary_expression "(_Bool)local_820[0] == false" (cast_expression "(_Bool)local_820[0]" ( (type_descriptor "_Bool" type_identifier) ) (subscript_expression "local_820[0]" identifier [ number_literal ])) == false) )) (compound_statement "{\n      if ((_Bool)local_820[1] == false) {\n        psVar20 = (stat64 *)((int)&((stat64 *)(local_820._48_4_ + -0x60))->st_ino + 7);\n        local_820[0] = true;\n        if (psVar20 != (stat64 *)0x0 && 0 < (int)local_820._48_4_) {\n          pr2serr("Since neither --16 nor --32 given, choose --16\n");\n        }\n      }\n    }" { (if_statement "if ((_Bool)local_820[1] == false) {\n        psVar20 = (stat64 *)((int)&((stat64 *)(local_820._48_4_ + -0x60))->st_ino + 7);\n        local_820[0] = true;\n        if (psVar20 != (stat64 *)0x0 && 0 < (int)local_820._48_4_) {\n          pr2serr("Since neither --16 nor --32 given, choose --16\n");\n        }\n      }" if (parenthesized_expression "((_Bool)local_820[1] == false)" ( (binary_expression "(_Bool)local_820[1] == false" (cast_expression "(_Bool)local_820[1]" ( (type_descriptor "_Bool" type_identifier) ) (subscript_expression "local_820[1]" identifier [ number_literal ])) == false) )) (compound_statement "{\n        psVar20 = (stat64 *)((int)&((stat64 *)(local_820._48_4_ + -0x60))->st_ino + 7);\n        local_820[0] = true;\n        if (psVar20 != (stat64 *)0x0 && 0 < (int)local_820._48_4_) {\n          pr2serr("Since neither --16 nor --32 given, choose --16\n");\n        }\n      }" { (expression_statement "psVar20 = (stat64 *)((int)&((stat64 *)(local_820._48_4_ + -0x60))->st_ino + 7);" (assignment_expression "psVar20 = (stat64 *)((int)&((stat64 *)(local_820._48_4_ + -0x60))->st_ino + 7)" identifier = (cast_expression "(stat64 *)((int)&((stat64 *)(local_820._48_4_ + -0x60))->st_ino + 7)" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&((stat64 *)(local_820._48_4_ + -0x60))->st_ino + 7)" ( (binary_expression "(int)&((stat64 *)(local_820._48_4_ + -0x60))->st_ino + 7" (cast_expression "(int)&((stat64 *)(local_820._48_4_ + -0x60))->st_ino" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&((stat64 *)(local_820._48_4_ + -0x60))->st_ino" & (field_expression "((stat64 *)(local_820._48_4_ + -0x60))->st_ino" (parenthesized_expression "((stat64 *)(local_820._48_4_ + -0x60))" ( (cast_expression "(stat64 *)(local_820._48_4_ + -0x60)" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_820._48_4_ + -0x60)" ( (binary_expression "local_820._48_4_ + -0x60" (field_expression "local_820._48_4_" identifier . field_identifier) + number_literal) ))) )) -> field_identifier))) + number_literal) )))) ;) (expression_statement "local_820[0] = true;" (assignment_expression "local_820[0] = true" (subscript_expression "local_820[0]" identifier [ number_literal ]) = true) ;) (if_statement "if (psVar20 != (stat64 *)0x0 && 0 < (int)local_820._48_4_) {\n          pr2serr("Since neither --16 nor --32 given, choose --16\n");\n        }" if (parenthesized_expression "(psVar20 != (stat64 *)0x0 && 0 < (int)local_820._48_4_)" ( (binary_expression "psVar20 != (stat64 *)0x0 && 0 < (int)local_820._48_4_" (binary_expression "psVar20 != (stat64 *)0x0" identifier != (cast_expression "(stat64 *)0x0" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) && (binary_expression "0 < (int)local_820._48_4_" number_literal < (cast_expression "(int)local_820._48_4_" ( (type_descriptor "int" primitive_type) ) (field_expression "local_820._48_4_" identifier . field_identifier)))) )) (compound_statement "{\n          pr2serr("Since neither --16 nor --32 given, choose --16\n");\n        }" { (expression_statement "pr2serr("Since neither --16 nor --32 given, choose --16\n");" (call_expression "pr2serr("Since neither --16 nor --32 given, choose --16\n")" identifier (argument_list "("Since neither --16 nor --32 given, choose --16\n")" ( (string_literal ""Since neither --16 nor --32 given, choose --16\n"" " string_content escape_sequence ") ))) ;) })) })) }) (else_clause "else if (((_Bool)local_820[1] != false) && (local_820[0] = false, 1 < (int)local_820._48_4_)) {\n      pr2serr("Since both --16 and --32 given, choose --32\n");\n    }" else (if_statement "if (((_Bool)local_820[1] != false) && (local_820[0] = false, 1 < (int)local_820._48_4_)) {\n      pr2serr("Since both --16 and --32 given, choose --32\n");\n    }" if (parenthesized_expression "(((_Bool)local_820[1] != false) && (local_820[0] = false, 1 < (int)local_820._48_4_))" ( (binary_expression "((_Bool)local_820[1] != false) && (local_820[0] = false, 1 < (int)local_820._48_4_)" (parenthesized_expression "((_Bool)local_820[1] != false)" ( (binary_expression "(_Bool)local_820[1] != false" (cast_expression "(_Bool)local_820[1]" ( (type_descriptor "_Bool" type_identifier) ) (subscript_expression "local_820[1]" identifier [ number_literal ])) != false) )) && (parenthesized_expression "(local_820[0] = false, 1 < (int)local_820._48_4_)" ( (comma_expression "local_820[0] = false, 1 < (int)local_820._48_4_" (assignment_expression "local_820[0] = false" (subscript_expression "local_820[0]" identifier [ number_literal ]) = false) , (binary_expression "1 < (int)local_820._48_4_" number_literal < (cast_expression "(int)local_820._48_4_" ( (type_descriptor "int" primitive_type) ) (field_expression "local_820._48_4_" identifier . field_identifier)))) ))) )) (compound_statement "{\n      pr2serr("Since both --16 and --32 given, choose --32\n");\n    }" { (expression_statement "pr2serr("Since both --16 and --32 given, choose --32\n");" (call_expression "pr2serr("Since both --16 and --32 given, choose --32\n")" identifier (argument_list "("Since both --16 and --32 given, choose --32\n")" ( (string_literal ""Since both --16 and --32 given, choose --32\n"" " string_content escape_sequence ") ))) ;) })))) (expression_statement "uVar10 = (uint)local_820[3] + (uint)local_820[0xc] + (uint)local_820[5] + (uint)local_820[8] +\n             (uint)local_820[9] + (uint)local_820[10];" (assignment_expression "uVar10 = (uint)local_820[3] + (uint)local_820[0xc] + (uint)local_820[5] + (uint)local_820[8] +\n             (uint)local_820[9] + (uint)local_820[10]" identifier = (binary_expression "(uint)local_820[3] + (uint)local_820[0xc] + (uint)local_820[5] + (uint)local_820[8] +\n             (uint)local_820[9] + (uint)local_820[10]" (binary_expression "(uint)local_820[3] + (uint)local_820[0xc] + (uint)local_820[5] + (uint)local_820[8] +\n             (uint)local_820[9]" (binary_expression "(uint)local_820[3] + (uint)local_820[0xc] + (uint)local_820[5] + (uint)local_820[8]" (binary_expression "(uint)local_820[3] + (uint)local_820[0xc] + (uint)local_820[5]" (binary_expression "(uint)local_820[3] + (uint)local_820[0xc]" (cast_expression "(uint)local_820[3]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "local_820[3]" identifier [ number_literal ])) + (cast_expression "(uint)local_820[0xc]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "local_820[0xc]" identifier [ number_literal ]))) + (cast_expression "(uint)local_820[5]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "local_820[5]" identifier [ number_literal ]))) + (cast_expression "(uint)local_820[8]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "local_820[8]" identifier [ number_literal ]))) + (cast_expression "(uint)local_820[9]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "local_820[9]" identifier [ number_literal ]))) + (cast_expression "(uint)local_820[10]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "local_820[10]" identifier [ number_literal ])))) ;) (if_statement "if (1 < uVar10) {\n      pr2serr(\n             "Can only select one command; so only one of --atomic, --normal, --or,\n--same=, --scattered= or --stream=\n"\n             );\n      local_908 = (stat64 *)0x1f;\n      goto LAB_00011a84;\n    }" if (parenthesized_expression "(1 < uVar10)" ( (binary_expression "1 < uVar10" number_literal < identifier) )) (compound_statement "{\n      pr2serr(\n             "Can only select one command; so only one of --atomic, --normal, --or,\n--same=, --scattered= or --stream=\n"\n             );\n      local_908 = (stat64 *)0x1f;\n      goto LAB_00011a84;\n    }" { (expression_statement "pr2serr(\n             "Can only select one command; so only one of --atomic, --normal, --or,\n--same=, --scattered= or --stream=\n"\n             );" (call_expression "pr2serr(\n             "Can only select one command; so only one of --atomic, --normal, --or,\n--same=, --scattered= or --stream=\n"\n             )" identifier (argument_list "(\n             "Can only select one command; so only one of --atomic, --normal, --or,\n--same=, --scattered= or --stream=\n"\n             )" ( (string_literal ""Can only select one command; so only one of --atomic, --normal, --or,\n--same=, --scattered= or --stream=\n"" " string_content escape_sequence string_content escape_sequence ") ))) ;) (expression_statement "local_908 = (stat64 *)0x1f;" (assignment_expression "local_908 = (stat64 *)0x1f" identifier = (cast_expression "(stat64 *)0x1f" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (goto_statement "goto LAB_00011a84;" goto statement_identifier ;) })) (if_statement "if (uVar10 == 0) {\n      if (local_820._40_4_ != 0) {\n        pr2serr("With --strict won\'t default to a normal WRITE, add --normal\n");\n        local_908 = (stat64 *)0x1f;\n        goto LAB_00011a84;\n      }\n      local_794 = (stat64 *)0x17164;\n      local_820[0xc] = true;\n      if ((stat64 *)uVar19 != (stat64 *)0x0) {\n        pr2serr("No command selected so choose \'normal\' WRITE\n");\n      }\n    }" if (parenthesized_expression "(uVar10 == 0)" ( (binary_expression "uVar10 == 0" identifier == number_literal) )) (compound_statement "{\n      if (local_820._40_4_ != 0) {\n        pr2serr("With --strict won\'t default to a normal WRITE, add --normal\n");\n        local_908 = (stat64 *)0x1f;\n        goto LAB_00011a84;\n      }\n      local_794 = (stat64 *)0x17164;\n      local_820[0xc] = true;\n      if ((stat64 *)uVar19 != (stat64 *)0x0) {\n        pr2serr("No command selected so choose \'normal\' WRITE\n");\n      }\n    }" { (if_statement "if (local_820._40_4_ != 0) {\n        pr2serr("With --strict won\'t default to a normal WRITE, add --normal\n");\n        local_908 = (stat64 *)0x1f;\n        goto LAB_00011a84;\n      }" if (parenthesized_expression "(local_820._40_4_ != 0)" ( (binary_expression "local_820._40_4_ != 0" (field_expression "local_820._40_4_" identifier . field_identifier) != number_literal) )) (compound_statement "{\n        pr2serr("With --strict won\'t default to a normal WRITE, add --normal\n");\n        local_908 = (stat64 *)0x1f;\n        goto LAB_00011a84;\n      }" { (expression_statement "pr2serr("With --strict won\'t default to a normal WRITE, add --normal\n");" (call_expression "pr2serr("With --strict won\'t default to a normal WRITE, add --normal\n")" identifier (argument_list "("With --strict won\'t default to a normal WRITE, add --normal\n")" ( (string_literal ""With --strict won\'t default to a normal WRITE, add --normal\n"" " string_content escape_sequence string_content escape_sequence ") ))) ;) (expression_statement "local_908 = (stat64 *)0x1f;" (assignment_expression "local_908 = (stat64 *)0x1f" identifier = (cast_expression "(stat64 *)0x1f" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (goto_statement "goto LAB_00011a84;" goto statement_identifier ;) })) (expression_statement "local_794 = (stat64 *)0x17164;" (assignment_expression "local_794 = (stat64 *)0x17164" identifier = (cast_expression "(stat64 *)0x17164" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_820[0xc] = true;" (assignment_expression "local_820[0xc] = true" (subscript_expression "local_820[0xc]" identifier [ number_literal ]) = true) ;) (if_statement "if ((stat64 *)uVar19 != (stat64 *)0x0) {\n        pr2serr("No command selected so choose \'normal\' WRITE\n");\n      }" if (parenthesized_expression "((stat64 *)uVar19 != (stat64 *)0x0)" ( (binary_expression "(stat64 *)uVar19 != (stat64 *)0x0" (cast_expression "(stat64 *)uVar19" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) != (cast_expression "(stat64 *)0x0" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        pr2serr("No command selected so choose \'normal\' WRITE\n");\n      }" { (expression_statement "pr2serr("No command selected so choose \'normal\' WRITE\n");" (call_expression "pr2serr("No command selected so choose \'normal\' WRITE\n")" identifier (argument_list "("No command selected so choose \'normal\' WRITE\n")" ( (string_literal ""No command selected so choose \'normal\' WRITE\n"" " string_content escape_sequence string_content escape_sequence string_content escape_sequence ") ))) ;) })) })) (expression_statement "psVar11 = (stat64 *)((-(uint)((_Bool)local_820[0] == false) & 0x10) + 0x10);" (assignment_expression "psVar11 = (stat64 *)((-(uint)((_Bool)local_820[0] == false) & 0x10) + 0x10)" identifier = (cast_expression "(stat64 *)((-(uint)((_Bool)local_820[0] == false) & 0x10) + 0x10)" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((-(uint)((_Bool)local_820[0] == false) & 0x10) + 0x10)" ( (binary_expression "(-(uint)((_Bool)local_820[0] == false) & 0x10) + 0x10" (parenthesized_expression "(-(uint)((_Bool)local_820[0] == false) & 0x10)" ( (binary_expression "-(uint)((_Bool)local_820[0] == false) & 0x10" (unary_expression "-(uint)((_Bool)local_820[0] == false)" - (call_expression "(uint)((_Bool)local_820[0] == false)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((_Bool)local_820[0] == false)" ( (binary_expression "(_Bool)local_820[0] == false" (cast_expression "(_Bool)local_820[0]" ( (type_descriptor "_Bool" type_identifier) ) (subscript_expression "local_820[0]" identifier [ number_literal ])) == false) )))) & number_literal) )) + number_literal) )))) ;) (expression_statement "psVar26 = local_794;" (assignment_expression "psVar26 = local_794" identifier = identifier) ;) (expression_statement "__snprintf_chk(local_790,0x18,1,0x18,"%s(%d)",local_794,psVar11,psVar20);" (call_expression "__snprintf_chk(local_790,0x18,1,0x18,"%s(%d)",local_794,psVar11,psVar20)" identifier (argument_list "(local_790,0x18,1,0x18,"%s(%d)",local_794,psVar11,psVar20)" ( identifier , number_literal , number_literal , number_literal , (string_literal ""%s(%d)"" " string_content ") , identifier , identifier , identifier ))) ;) (if_statement "if ((_Bool)local_820[4] == false) {\n      if (local_798 != (char *)0x0) {\n        local_93f = local_918 != (stat64 *)0x0;\n        bVar35 = local_91c != (stat64 *)0x0 || local_918 != (stat64 *)0x0;\n        bVar36 = local_91c != (stat64 *)0x0;\n        if (local_91c == (stat64 *)0x0 && local_918 == (stat64 *)0x0) {\n          iVar17 = -1;\n          pcVar18 = local_798;\n          goto code_r0x00011d5c;\n        }\n        pr2serr(\n               "want one and only one of: (--lba=LBA and/or --num=NUM), or\n--scat-file=SF, or --combined=DOF\n"\n               );\n        local_908 = (stat64 *)0x1f;\n        goto LAB_00011a84;\n      }\n      if ((_Bool)local_820[7] == false) {\n        local_93f = local_918 != (stat64 *)0x0;\n        bVar35 = local_91c != (stat64 *)0x0 || local_918 != (stat64 *)0x0;\n        bVar36 = local_91c != (stat64 *)0x0;\n        goto LAB_00011d67;\n      }\n      pr2serr(\n             "--scat-raw only applies to the --scat-file=SF option\n--scat-raw without the --scat-file=SF option is an error\n"\n             );\n      local_908 = (stat64 *)0x1f;\n      goto LAB_00011a84;\n    }" if (parenthesized_expression "((_Bool)local_820[4] == false)" ( (binary_expression "(_Bool)local_820[4] == false" (cast_expression "(_Bool)local_820[4]" ( (type_descriptor "_Bool" type_identifier) ) (subscript_expression "local_820[4]" identifier [ number_literal ])) == false) )) (compound_statement "{\n      if (local_798 != (char *)0x0) {\n        local_93f = local_918 != (stat64 *)0x0;\n        bVar35 = local_91c != (stat64 *)0x0 || local_918 != (stat64 *)0x0;\n        bVar36 = local_91c != (stat64 *)0x0;\n        if (local_91c == (stat64 *)0x0 && local_918 == (stat64 *)0x0) {\n          iVar17 = -1;\n          pcVar18 = local_798;\n          goto code_r0x00011d5c;\n        }\n        pr2serr(\n               "want one and only one of: (--lba=LBA and/or --num=NUM), or\n--scat-file=SF, or --combined=DOF\n"\n               );\n        local_908 = (stat64 *)0x1f;\n        goto LAB_00011a84;\n      }\n      if ((_Bool)local_820[7] == false) {\n        local_93f = local_918 != (stat64 *)0x0;\n        bVar35 = local_91c != (stat64 *)0x0 || local_918 != (stat64 *)0x0;\n        bVar36 = local_91c != (stat64 *)0x0;\n        goto LAB_00011d67;\n      }\n      pr2serr(\n             "--scat-raw only applies to the --scat-file=SF option\n--scat-raw without the --scat-file=SF option is an error\n"\n             );\n      local_908 = (stat64 *)0x1f;\n      goto LAB_00011a84;\n    }" { (if_statement "if (local_798 != (char *)0x0) {\n        local_93f = local_918 != (stat64 *)0x0;\n        bVar35 = local_91c != (stat64 *)0x0 || local_918 != (stat64 *)0x0;\n        bVar36 = local_91c != (stat64 *)0x0;\n        if (local_91c == (stat64 *)0x0 && local_918 == (stat64 *)0x0) {\n          iVar17 = -1;\n          pcVar18 = local_798;\n          goto code_r0x00011d5c;\n        }\n        pr2serr(\n               "want one and only one of: (--lba=LBA and/or --num=NUM), or\n--scat-file=SF, or --combined=DOF\n"\n               );\n        local_908 = (stat64 *)0x1f;\n        goto LAB_00011a84;\n      }" if (parenthesized_expression "(local_798 != (char *)0x0)" ( (binary_expression "local_798 != (char *)0x0" identifier != (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        local_93f = local_918 != (stat64 *)0x0;\n        bVar35 = local_91c != (stat64 *)0x0 || local_918 != (stat64 *)0x0;\n        bVar36 = local_91c != (stat64 *)0x0;\n        if (local_91c == (stat64 *)0x0 && local_918 == (stat64 *)0x0) {\n          iVar17 = -1;\n          pcVar18 = local_798;\n          goto code_r0x00011d5c;\n        }\n        pr2serr(\n               "want one and only one of: (--lba=LBA and/or --num=NUM), or\n--scat-file=SF, or --combined=DOF\n"\n               );\n        local_908 = (stat64 *)0x1f;\n        goto LAB_00011a84;\n      }" { (expression_statement "local_93f = local_918 != (stat64 *)0x0;" (assignment_expression "local_93f = local_918 != (stat64 *)0x0" identifier = (binary_expression "local_918 != (stat64 *)0x0" identifier != (cast_expression "(stat64 *)0x0" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal))) ;) (expression_statement "bVar35 = local_91c != (stat64 *)0x0 || local_918 != (stat64 *)0x0;" (assignment_expression "bVar35 = local_91c != (stat64 *)0x0 || local_918 != (stat64 *)0x0" identifier = (binary_expression "local_91c != (stat64 *)0x0 || local_918 != (stat64 *)0x0" (binary_expression "local_91c != (stat64 *)0x0" identifier != (cast_expression "(stat64 *)0x0" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) || (binary_expression "local_918 != (stat64 *)0x0" identifier != (cast_expression "(stat64 *)0x0" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)))) ;) (expression_statement "bVar36 = local_91c != (stat64 *)0x0;" (assignment_expression "bVar36 = local_91c != (stat64 *)0x0" identifier = (binary_expression "local_91c != (stat64 *)0x0" identifier != (cast_expression "(stat64 *)0x0" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal))) ;) (if_statement "if (local_91c == (stat64 *)0x0 && local_918 == (stat64 *)0x0) {\n          iVar17 = -1;\n          pcVar18 = local_798;\n          goto code_r0x00011d5c;\n        }" if (parenthesized_expression "(local_91c == (stat64 *)0x0 && local_918 == (stat64 *)0x0)" ( (binary_expression "local_91c == (stat64 *)0x0 && local_918 == (stat64 *)0x0" (binary_expression "local_91c == (stat64 *)0x0" identifier == (cast_expression "(stat64 *)0x0" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) && (binary_expression "local_918 == (stat64 *)0x0" identifier == (cast_expression "(stat64 *)0x0" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal))) )) (compound_statement "{\n          iVar17 = -1;\n          pcVar18 = local_798;\n          goto code_r0x00011d5c;\n        }" { (expression_statement "iVar17 = -1;" (assignment_expression "iVar17 = -1" identifier = number_literal) ;) (expression_statement "pcVar18 = local_798;" (assignment_expression "pcVar18 = local_798" identifier = identifier) ;) (goto_statement "goto code_r0x00011d5c;" goto statement_identifier ;) })) (expression_statement "pr2serr(\n               "want one and only one of: (--lba=LBA and/or --num=NUM), or\n--scat-file=SF, or --combined=DOF\n"\n               );" (call_expression "pr2serr(\n               "want one and only one of: (--lba=LBA and/or --num=NUM), or\n--scat-file=SF, or --combined=DOF\n"\n               )" identifier (argument_list "(\n               "want one and only one of: (--lba=LBA and/or --num=NUM), or\n--scat-file=SF, or --combined=DOF\n"\n               )" ( (string_literal ""want one and only one of: (--lba=LBA and/or --num=NUM), or\n--scat-file=SF, or --combined=DOF\n"" " string_content escape_sequence string_content escape_sequence ") ))) ;) (expression_statement "local_908 = (stat64 *)0x1f;" (assignment_expression "local_908 = (stat64 *)0x1f" identifier = (cast_expression "(stat64 *)0x1f" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (goto_statement "goto LAB_00011a84;" goto statement_identifier ;) })) (if_statement "if ((_Bool)local_820[7] == false) {\n        local_93f = local_918 != (stat64 *)0x0;\n        bVar35 = local_91c != (stat64 *)0x0 || local_918 != (stat64 *)0x0;\n        bVar36 = local_91c != (stat64 *)0x0;\n        goto LAB_00011d67;\n      }" if (parenthesized_expression "((_Bool)local_820[7] == false)" ( (binary_expression "(_Bool)local_820[7] == false" (cast_expression "(_Bool)local_820[7]" ( (type_descriptor "_Bool" type_identifier) ) (subscript_expression "local_820[7]" identifier [ number_literal ])) == false) )) (compound_statement "{\n        local_93f = local_918 != (stat64 *)0x0;\n        bVar35 = local_91c != (stat64 *)0x0 || local_918 != (stat64 *)0x0;\n        bVar36 = local_91c != (stat64 *)0x0;\n        goto LAB_00011d67;\n      }" { (expression_statement "local_93f = local_918 != (stat64 *)0x0;" (assignment_expression "local_93f = local_918 != (stat64 *)0x0" identifier = (binary_expression "local_918 != (stat64 *)0x0" identifier != (cast_expression "(stat64 *)0x0" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal))) ;) (expression_statement "bVar35 = local_91c != (stat64 *)0x0 || local_918 != (stat64 *)0x0;" (assignment_expression "bVar35 = local_91c != (stat64 *)0x0 || local_918 != (stat64 *)0x0" identifier = (binary_expression "local_91c != (stat64 *)0x0 || local_918 != (stat64 *)0x0" (binary_expression "local_91c != (stat64 *)0x0" identifier != (cast_expression "(stat64 *)0x0" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) || (binary_expression "local_918 != (stat64 *)0x0" identifier != (cast_expression "(stat64 *)0x0" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)))) ;) (expression_statement "bVar36 = local_91c != (stat64 *)0x0;" (assignment_expression "bVar36 = local_91c != (stat64 *)0x0" identifier = (binary_expression "local_91c != (stat64 *)0x0" identifier != (cast_expression "(stat64 *)0x0" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal))) ;) (goto_statement "goto LAB_00011d67;" goto statement_identifier ;) })) (expression_statement "pr2serr(\n             "--scat-raw only applies to the --scat-file=SF option\n--scat-raw without the --scat-file=SF option is an error\n"\n             );" (call_expression "pr2serr(\n             "--scat-raw only applies to the --scat-file=SF option\n--scat-raw without the --scat-file=SF option is an error\n"\n             )" identifier (argument_list "(\n             "--scat-raw only applies to the --scat-file=SF option\n--scat-raw without the --scat-file=SF option is an error\n"\n             )" ( (string_literal ""--scat-raw only applies to the --scat-file=SF option\n--scat-raw without the --scat-file=SF option is an error\n"" " string_content escape_sequence string_content escape_sequence ") ))) ;) (expression_statement "local_908 = (stat64 *)0x1f;" (assignment_expression "local_908 = (stat64 *)0x1f" identifier = (cast_expression "(stat64 *)0x1f" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (goto_statement "goto LAB_00011a84;" goto statement_identifier ;) })) (if_statement "if ((_Bool)local_820[9] == false) {\n      pr2serr(\n             "--combined=DOF only allowed with --scattered=RD (i.e. only with\nWRITE SCATTERED command)\n"\n             );\n      local_908 = (stat64 *)0x1f;\n      goto LAB_00011a84;\n    }" if (parenthesized_expression "((_Bool)local_820[9] == false)" ( (binary_expression "(_Bool)local_820[9] == false" (cast_expression "(_Bool)local_820[9]" ( (type_descriptor "_Bool" type_identifier) ) (subscript_expression "local_820[9]" identifier [ number_literal ])) == false) )) (compound_statement "{\n      pr2serr(\n             "--combined=DOF only allowed with --scattered=RD (i.e. only with\nWRITE SCATTERED command)\n"\n             );\n      local_908 = (stat64 *)0x1f;\n      goto LAB_00011a84;\n    }" { (expression_statement "pr2serr(\n             "--combined=DOF only allowed with --scattered=RD (i.e. only with\nWRITE SCATTERED command)\n"\n             );" (call_expression "pr2serr(\n             "--combined=DOF only allowed with --scattered=RD (i.e. only with\nWRITE SCATTERED command)\n"\n             )" identifier (argument_list "(\n             "--combined=DOF only allowed with --scattered=RD (i.e. only with\nWRITE SCATTERED command)\n"\n             )" ( (string_literal ""--combined=DOF only allowed with --scattered=RD (i.e. only with\nWRITE SCATTERED command)\n"" " string_content escape_sequence string_content escape_sequence ") ))) ;) (expression_statement "local_908 = (stat64 *)0x1f;" (assignment_expression "local_908 = (stat64 *)0x1f" identifier = (cast_expression "(stat64 *)0x1f" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (goto_statement "goto LAB_00011a84;" goto statement_identifier ;) })) (if_statement "if (local_798 != (char *)0x0) {\n      pr2serr("Ambiguous: got --combined=DOF and --scat-file=SF .\nGive one, the other or neither\n"\n             );\n      local_908 = (stat64 *)0x1f;\n      goto LAB_00011a84;\n    }" if (parenthesized_expression "(local_798 != (char *)0x0)" ( (binary_expression "local_798 != (char *)0x0" identifier != (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      pr2serr("Ambiguous: got --combined=DOF and --scat-file=SF .\nGive one, the other or neither\n"\n             );\n      local_908 = (stat64 *)0x1f;\n      goto LAB_00011a84;\n    }" { (expression_statement "pr2serr("Ambiguous: got --combined=DOF and --scat-file=SF .\nGive one, the other or neither\n"\n             );" (call_expression "pr2serr("Ambiguous: got --combined=DOF and --scat-file=SF .\nGive one, the other or neither\n"\n             )" identifier (argument_list "("Ambiguous: got --combined=DOF and --scat-file=SF .\nGive one, the other or neither\n"\n             )" ( (string_literal ""Ambiguous: got --combined=DOF and --scat-file=SF .\nGive one, the other or neither\n"" " string_content escape_sequence string_content escape_sequence ") ))) ;) (expression_statement "local_908 = (stat64 *)0x1f;" (assignment_expression "local_908 = (stat64 *)0x1f" identifier = (cast_expression "(stat64 *)0x1f" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (goto_statement "goto LAB_00011a84;" goto statement_identifier ;) })) (if_statement "if (local_91c == (stat64 *)0x0 && local_918 == (stat64 *)0x0) {\n      local_93f = local_820[7];\n      bVar35 = false;\n      bVar36 = false;\n      if ((_Bool)local_820[7] == false) goto LAB_00011d67;\n      pr2serr("Ambiguous: don\'t expect --combined=DOF and --scat-raw\nGive one or the other\n");\n      local_908 = (stat64 *)0x1f;\n    }\n    else {\n      pr2serr("--scattered=RD --combined=DOF does not use --lba= or --num=\nPlease remove.\n");\n      local_908 = (stat64 *)0x1f;\n    }" if (parenthesized_expression "(local_91c == (stat64 *)0x0 && local_918 == (stat64 *)0x0)" ( (binary_expression "local_91c == (stat64 *)0x0 && local_918 == (stat64 *)0x0" (binary_expression "local_91c == (stat64 *)0x0" identifier == (cast_expression "(stat64 *)0x0" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) && (binary_expression "local_918 == (stat64 *)0x0" identifier == (cast_expression "(stat64 *)0x0" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal))) )) (compound_statement "{\n      local_93f = local_820[7];\n      bVar35 = false;\n      bVar36 = false;\n      if ((_Bool)local_820[7] == false) goto LAB_00011d67;\n      pr2serr("Ambiguous: don\'t expect --combined=DOF and --scat-raw\nGive one or the other\n");\n      local_908 = (stat64 *)0x1f;\n    }" { (expression_statement "local_93f = local_820[7];" (assignment_expression "local_93f = local_820[7]" identifier = (subscript_expression "local_820[7]" identifier [ number_literal ])) ;) (expression_statement "bVar35 = false;" (assignment_expression "bVar35 = false" identifier = false) ;) (expression_statement "bVar36 = false;" (assignment_expression "bVar36 = false" identifier = false) ;) (if_statement "if ((_Bool)local_820[7] == false) goto LAB_00011d67;" if (parenthesized_expression "((_Bool)local_820[7] == false)" ( (binary_expression "(_Bool)local_820[7] == false" (cast_expression "(_Bool)local_820[7]" ( (type_descriptor "_Bool" type_identifier) ) (subscript_expression "local_820[7]" identifier [ number_literal ])) == false) )) (goto_statement "goto LAB_00011d67;" goto statement_identifier ;)) (expression_statement "pr2serr("Ambiguous: don\'t expect --combined=DOF and --scat-raw\nGive one or the other\n");" (call_expression "pr2serr("Ambiguous: don\'t expect --combined=DOF and --scat-raw\nGive one or the other\n")" identifier (argument_list "("Ambiguous: don\'t expect --combined=DOF and --scat-raw\nGive one or the other\n")" ( (string_literal ""Ambiguous: don\'t expect --combined=DOF and --scat-raw\nGive one or the other\n"" " string_content escape_sequence string_content escape_sequence string_content escape_sequence ") ))) ;) (expression_statement "local_908 = (stat64 *)0x1f;" (assignment_expression "local_908 = (stat64 *)0x1f" identifier = (cast_expression "(stat64 *)0x1f" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) }) (else_clause "else {\n      pr2serr("--scattered=RD --combined=DOF does not use --lba= or --num=\nPlease remove.\n");\n      local_908 = (stat64 *)0x1f;\n    }" else (compound_statement "{\n      pr2serr("--scattered=RD --combined=DOF does not use --lba= or --num=\nPlease remove.\n");\n      local_908 = (stat64 *)0x1f;\n    }" { (expression_statement "pr2serr("--scattered=RD --combined=DOF does not use --lba= or --num=\nPlease remove.\n");" (call_expression "pr2serr("--scattered=RD --combined=DOF does not use --lba= or --num=\nPlease remove.\n")" identifier (argument_list "("--scattered=RD --combined=DOF does not use --lba= or --num=\nPlease remove.\n")" ( (string_literal ""--scattered=RD --combined=DOF does not use --lba= or --num=\nPlease remove.\n"" " string_content escape_sequence string_content escape_sequence ") ))) ;) (expression_statement "local_908 = (stat64 *)0x1f;" (assignment_expression "local_908 = (stat64 *)0x1f" identifier = (cast_expression "(stat64 *)0x1f" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) }))) (goto_statement "goto LAB_00011a84;" goto statement_identifier ;) })) (expression_statement "local_920 = local_924;" (assignment_expression "local_920 = local_924" identifier = identifier) ;) (expression_statement "psVar20 = (stat64 *)local_820._80_4_;" (assignment_expression "psVar20 = (stat64 *)local_820._80_4_" identifier = (cast_expression "(stat64 *)local_820._80_4_" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "local_820._80_4_" identifier . field_identifier))) ;) (expression_statement "uVar34 = local_820._92_4_;" (assignment_expression "uVar34 = local_820._92_4_" identifier = (field_expression "local_820._92_4_" identifier . field_identifier)) ;) (expression_statement "uVar10 = local_820._96_4_;" (assignment_expression "uVar10 = local_820._96_4_" identifier = (field_expression "local_820._96_4_" identifier . field_identifier)) ;) (switch_statement "switch((int)uVar38) {\n  case 0x33:\n    local_820[1] = true;\n    goto LAB_000114e8;\n  default:\n    pcVar18 = "unrecognised option code 0x%x ??\n";\n    break;\n  case 0x36:\n    local_820[0] = true;\n    goto LAB_000114e8;\n  case 0x3f:\n    pcVar18 = "\n";\n    break;\n  case 0x41:\n    uVar10 = sg_get_num(*(undefined4 *)PTR_optarg_0001dffc);\n    if (0xffff < uVar10) {\n      pr2serr("bad argument to \'--atomic=\'. Expect 0 to 0xffff inclusive\n");\n      goto LAB_00011a7a;\n    }\n    local_820._60_2_ = (undefined2)uVar10;\n    local_820[3] = true;\n    local_794 = (stat64 *)0x17112;\n    psVar20 = (stat64 *)local_820._80_4_;\n    uVar34 = local_820._92_4_;\n    uVar10 = local_820._96_4_;\n    goto LAB_000114e8;\n  case 0x42:\n    uVar28 = sg_get_num(*(undefined4 *)PTR_optarg_0001dffc);\n    if (7 < uVar28) {\n      pr2serr("bad first argument to \'--bmop=\'\n");\n      goto LAB_00011a7a;\n    }\n    local_820[0x38] = (uint8_t)uVar28;\n    uVar19 = 0x2c;\n    uVar46 = uVar28;\n    pcVar18 = strchr(*(char **)puVar6,0x2c);\n    psVar20 = (stat64 *)local_820._80_4_;\n    uVar34 = local_820._92_4_;\n    uVar10 = local_820._96_4_;\n    if (pcVar18 != (char *)0x0) {\n      uVar10 = sg_get_num(pcVar18 + 1,uVar19,uVar28,uVar46);\n      if (0xf < uVar10) {\n        pr2serr("bad second argument to \'--bmop=\'\n");\n        goto LAB_00011a7a;\n      }\n      local_820[0x39] = (uint8_t)uVar10;\n      psVar20 = (stat64 *)local_820._80_4_;\n      uVar34 = local_820._92_4_;\n      uVar10 = local_820._96_4_;\n    }\n    goto LAB_000114e8;\n  case 0x44:\n    local_820._20_4_ = sg_get_num(*(undefined4 *)PTR_optarg_0001dffc);\n    psVar20 = (stat64 *)local_820._80_4_;\n    uVar34 = local_820._92_4_;\n    uVar10 = local_820._96_4_;\n    if (7 < (uint)local_820._20_4_) {\n      pr2serr("bad argument to \'--dld=\', expect 0 to 7 inclusive\n");\n      goto LAB_00011a7a;\n    }\n    goto LAB_000114e8;\n  case 0x47:\n    uVar38 = sg_get_llnum(*(undefined4 *)PTR_optarg_0001dffc);\n    uVar43 = (uint32_t)uVar38;\n    if ((int)((ulonglong)uVar38 >> 0x20) != 0) {\n      pr2serr("bad first argument to \'--generation=\'\n");\n      goto LAB_00011a7a;\n    }\n    uVar19 = 0x2c;\n    uVar45 = uVar43;\n    local_820._88_4_ = uVar43;\n    pcVar18 = strchr(*(char **)puVar6,0x2c);\n    if (pcVar18 == (char *)0x0) {\n      pr2serr("need two arguments with --generation=EOG,NOG and they must be comma separated\n",\n              uVar19,uVar43,uVar45);\n      goto LAB_00011a7a;\n    }\n    uVar38 = sg_get_llnum(pcVar18 + 1);\n    psVar20 = (stat64 *)local_820._80_4_;\n    uVar34 = (uint32_t)uVar38;\n    uVar10 = local_820._96_4_;\n    if ((int)((ulonglong)uVar38 >> 0x20) != 0) {\n      pr2serr("bad second argument to \'--generation=\'\n",uVar19,uVar43,uVar45);\n      goto LAB_00011a7a;\n    }\n    goto LAB_000114e8;\n  case 0x49:\n    local_820._44_4_ = sg_get_num(*(undefined4 *)PTR_optarg_0001dffc);\n    psVar20 = (stat64 *)local_820._80_4_;\n    uVar34 = local_820._92_4_;\n    uVar10 = local_820._96_4_;\n    if ((int)local_820._44_4_ < 0) {\n      pr2serr("bad argument to \'--timeout=\'\n");\n      goto LAB_00011a7a;\n    }\n    goto LAB_000114e8;\n  case 0x4d:\n    uVar10 = sg_get_num(*(undefined4 *)PTR_optarg_0001dffc);\n    if (1 < uVar10) {\n      pr2serr("bad argument to \'--same\', expect 0 or 1\n");\n      goto LAB_00011a7a;\n    }\n    local_820[0x10] = (byte)uVar10 & 1;\n    local_820[8] = true;\n    local_794 = (stat64 *)0x17159;\n    psVar20 = (stat64 *)local_820._80_4_;\n    uVar34 = local_820._92_4_;\n    uVar10 = local_820._96_4_;\n    goto LAB_000114e8;\n  case 0x4e:\n    local_820[0xc] = true;\n    local_794 = (stat64 *)0x17164;\n    goto LAB_000114e8;\n  case 0x4f:\n    local_820[5] = true;\n    local_794 = (stat64 *)0x1716a;\n    goto LAB_000114e8;\n  case 0x51:\n    local_820[6] = true;\n    goto LAB_000114e8;\n  case 0x52:\n    local_820[7] = true;\n    goto LAB_000114e8;\n  case 0x53:\n    uVar10 = sg_get_num(*(undefined4 *)PTR_optarg_0001dffc);\n    if (0xffff < uVar10) {\n      pr2serr("bad argument to \'--scattered=\'. Expect 0 to 0xffff inclusive\n");\n      goto LAB_00011a7a;\n    }\n    local_820._64_2_ = (undefined2)uVar10;\n    local_794 = (stat64 *)0x17172;\n    local_820[9] = true;\n    psVar20 = (stat64 *)local_820._80_4_;\n    uVar34 = local_820._92_4_;\n    uVar10 = local_820._96_4_;\n    goto LAB_000114e8;\n  case 0x54:\n    uVar10 = sg_get_num(*(undefined4 *)PTR_optarg_0001dffc);\n    if (0xffff < uVar10) {\n      pr2serr("bad argument to \'--stream=\', expect 0 to 65535\n");\n      goto LAB_00011a7a;\n    }\n    local_820._66_2_ = (undefined2)uVar10;\n    local_794 = (stat64 *)0x17182;\n    local_820[10] = true;\n    psVar20 = (stat64 *)local_820._80_4_;\n    uVar34 = local_820._92_4_;\n    uVar10 = local_820._96_4_;\n    goto LAB_000114e8;\n  case 0x56:\n    local_820[0x12] = true;\n    goto LAB_000114e8;\n  case 0x61:\n    uVar10 = sg_get_num(*(undefined4 *)PTR_optarg_0001dffc);\n    if (0xffff < uVar10) {\n      pr2serr("bad argument to \'--app-tag=\'. Expect 0 to 0xffff inclusive\n");\n      goto LAB_00011a7a;\n    }\n    local_820._58_2_ = (undefined2)uVar10;\n    psVar20 = (stat64 *)local_820._80_4_;\n    uVar34 = local_820._92_4_;\n    uVar10 = local_820._96_4_;\n    goto LAB_000114e8;\n  case 0x62:\n    psVar26 = (stat64 *)sg_get_num(*(undefined4 *)PTR_optarg_0001dffc);\n    if ((stat64 *)0x10000000 < psVar26) {\n      pr2serr("bad argument to \'--bs=\'. Expect 0 or greater\n");\n      goto LAB_00011a7a;\n    }\n    if (psVar26 == (stat64 *)0x0) {\n      local_820._72_4_ = (stat64 *)0x0;\n      local_820._76_4_ = (stat64 *)0x0;\n      psVar20 = (stat64 *)local_820._80_4_;\n      uVar34 = local_820._92_4_;\n      uVar10 = local_820._96_4_;\n    }\n    else {\n      if ((int)psVar26 < 0x200) {\n        pr2serr("warning: --bs=BS value is < 512 which seems too small, continue\n");\n        bVar1 = 1;\n      }\n      if (((uint)psVar26 & 7) != 0) {\n        pr2serr("warning: --bs=BS value is not a multiple of 8, unexpected, continue\n");\n        bVar1 = 1;\n      }\n      iVar23 = 0;\n      iVar13 = 0;\n      psVar20 = psVar26;\n      do {\n        if (((uint)psVar20 & 1) != 0) {\n          iVar23 = iVar13;\n        }\n        iVar13 = iVar13 + 1;\n        psVar20 = (stat64 *)((int)psVar20 >> 1);\n      } while (iVar13 != 0x1c);\n      psVar11 = (stat64 *)(1 << ((byte)iVar23 & 0x1f));\n      local_820._72_4_ = psVar26;\n      local_820._76_4_ = psVar26;\n      psVar20 = (stat64 *)local_820._80_4_;\n      uVar34 = local_820._92_4_;\n      uVar10 = local_820._96_4_;\n      if (psVar26 != psVar11) {\n        local_820._72_4_ = psVar11;\n      }\n    }\n    goto LAB_000114e8;\n  case 99:\n    iVar23 = sg_get_num(*(undefined4 *)PTR_optarg_0001dffc);\n    if (iVar23 < 0) {\n      pr2serr("bad argument to \'--combined=\'. Expect 0 to 0x7fffffff\n");\n      goto LAB_00011a7a;\n    }\n    local_820._62_2_ = (undefined2)iVar23;\n    local_820[4] = true;\n    psVar20 = (stat64 *)local_820._80_4_;\n    uVar34 = local_820._92_4_;\n    uVar10 = local_820._96_4_;\n    goto LAB_000114e8;\n  case 100:\n    local_820[0xe] = true;\n    goto LAB_000114e8;\n  case 0x66:\n    local_820[0xf] = true;\n    goto LAB_000114e8;\n  case 0x67:\n    local_820._28_4_ = sg_get_num(*(undefined4 *)PTR_optarg_0001dffc);\n    psVar20 = (stat64 *)local_820._80_4_;\n    uVar34 = local_820._92_4_;\n    uVar10 = local_820._96_4_;\n    if (0x3f < (uint)local_820._28_4_) {\n      pr2serr("bad argument to \'--grpnum\'\n");\n      goto LAB_00011a7a;\n    }\n    goto LAB_000114e8;\n  case 0x68:\n    local_820._32_4_ = local_820._32_4_ + 1;\n    goto LAB_000114e8;\n  case 0x69:\n    local_79c = *(char **)PTR_optarg_0001dffc;\n    goto LAB_000114e8;\n  case 0x6c:\n    if (local_91c != (stat64 *)0x0) {\n      pr2serr("only expect \'--lba=\' option once\n");\n      goto LAB_00011a7a;\n    }\n    local_91c = *(stat64 **)PTR_optarg_0001dffc;\n    goto LAB_000114e8;\n  case 0x6e:\n    if (local_918 != (stat64 *)0x0) {\n      pr2serr("only expect \'--num=\' option once\n");\n      goto LAB_00011a7a;\n    }\n    local_918 = *(stat64 **)PTR_optarg_0001dffc;\n    goto LAB_000114e8;\n  case 0x6f:\n    lVar39 = sg_get_llnum(*(undefined4 *)PTR_optarg_0001dffc);\n    psVar26 = (stat64 *)lVar39;\n    if (lVar39 == -1) {\n      pr2serr("bad first argument to \'--offset=\'\n");\n      goto LAB_00011a7a;\n    }\n    uVar19 = 0x2c;\n    psVar11 = psVar26;\n    local_820._108_4_ = psVar26;\n    local_7b0 = (stat64 *)((ulonglong)lVar39 >> 0x20);\n    pcVar18 = strchr(*(char **)puVar6,0x2c);\n    psVar20 = (stat64 *)local_820._80_4_;\n    uVar34 = local_820._92_4_;\n    uVar10 = local_820._96_4_;\n    if (pcVar18 != (char *)0x0) {\n      lVar39 = sg_get_llnum(pcVar18 + 1,uVar19,psVar26,psVar11);\n      psVar20 = (stat64 *)lVar39;\n      uVar34 = local_820._92_4_;\n      uVar10 = local_820._96_4_;\n      if ((int)((ulonglong)lVar39 >> 0x20) == -1) {\n        if (psVar20 == (stat64 *)0xffffffff) {\n          pr2serr("bad second argument to \'--offset=\'\n");\n          goto LAB_00011a7a;\n        }\n      }\n      else if (0xffffffff < lVar39) {\n        pr2serr("bad second argument to \'--offset=\', cannot exceed 32 bits\n");\n        goto LAB_00011a7a;\n      }\n    }\n    goto LAB_000114e8;\n  case 0x71:\n    local_798 = *(char **)PTR_optarg_0001dffc;\n    goto LAB_000114e8;\n  case 0x72:\n    goto _L476;\n  case 0x73:\n    local_820._40_4_ = local_820._40_4_ + 1;\n    goto LAB_000114e8;\n  case 0x74:\n    uVar10 = sg_get_num(*(undefined4 *)PTR_optarg_0001dffc);\n    if (0xffff < uVar10) {\n      pr2serr("bad argument to \'--tag-mask=\'. Expect 0 to 0xffff inclusive\n");\n      goto LAB_00011a7a;\n    }\n    local_820._68_2_ = (undefined2)uVar10;\n    psVar20 = (stat64 *)local_820._80_4_;\n    uVar34 = local_820._92_4_;\n    uVar10 = local_820._96_4_;\n    goto LAB_000114e8;\n  case 0x75:\n    uVar10 = sg_get_num(*(undefined4 *)puVar22);\n    if (3 < uVar10) {\n      pr2serr("bad argument to \'--unmap=\', expect 0 to 3\n");\n      goto LAB_00011a7a;\n    }\n    local_820[2] = (byte)(uVar10 >> 1) & 1;\n    local_820[0xb] = (byte)uVar10 & 1;\n    psVar20 = (stat64 *)local_820._80_4_;\n    uVar34 = local_820._92_4_;\n    uVar10 = local_820._96_4_;\n    goto LAB_000114e8;\n  case 0x76:\n    local_820[0x11] = true;\n    local_820._48_4_ = (int)(__dev_t *)local_820._48_4_ + 1;\n    goto LAB_000114e8;\n  case 0x77:\n    local_820._52_4_ = sg_get_num(*(undefined4 *)puVar22);\n    if ((stat64 *)0x7 < (uint)local_820._52_4_) {\n      pr2serr("bad argument to \'--wrprotect\'\n");\n      goto LAB_00011a7a;\n    }\n    local_820[0xd] = 0 < (int)local_820._52_4_;\n    psVar20 = (stat64 *)local_820._80_4_;\n    uVar34 = local_820._92_4_;\n    uVar10 = local_820._96_4_;\n    goto LAB_000114e8;\n  case 0x78:\n    local_820._24_4_ = local_820._24_4_ + 1;\n    goto LAB_000114e8;\n  }" switch (parenthesized_expression "((int)uVar38)" ( (cast_expression "(int)uVar38" ( (type_descriptor "int" primitive_type) ) identifier) )) (compound_statement "{\n  case 0x33:\n    local_820[1] = true;\n    goto LAB_000114e8;\n  default:\n    pcVar18 = "unrecognised option code 0x%x ??\n";\n    break;\n  case 0x36:\n    local_820[0] = true;\n    goto LAB_000114e8;\n  case 0x3f:\n    pcVar18 = "\n";\n    break;\n  case 0x41:\n    uVar10 = sg_get_num(*(undefined4 *)PTR_optarg_0001dffc);\n    if (0xffff < uVar10) {\n      pr2serr("bad argument to \'--atomic=\'. Expect 0 to 0xffff inclusive\n");\n      goto LAB_00011a7a;\n    }\n    local_820._60_2_ = (undefined2)uVar10;\n    local_820[3] = true;\n    local_794 = (stat64 *)0x17112;\n    psVar20 = (stat64 *)local_820._80_4_;\n    uVar34 = local_820._92_4_;\n    uVar10 = local_820._96_4_;\n    goto LAB_000114e8;\n  case 0x42:\n    uVar28 = sg_get_num(*(undefined4 *)PTR_optarg_0001dffc);\n    if (7 < uVar28) {\n      pr2serr("bad first argument to \'--bmop=\'\n");\n      goto LAB_00011a7a;\n    }\n    local_820[0x38] = (uint8_t)uVar28;\n    uVar19 = 0x2c;\n    uVar46 = uVar28;\n    pcVar18 = strchr(*(char **)puVar6,0x2c);\n    psVar20 = (stat64 *)local_820._80_4_;\n    uVar34 = local_820._92_4_;\n    uVar10 = local_820._96_4_;\n    if (pcVar18 != (char *)0x0) {\n      uVar10 = sg_get_num(pcVar18 + 1,uVar19,uVar28,uVar46);\n      if (0xf < uVar10) {\n        pr2serr("bad second argument to \'--bmop=\'\n");\n        goto LAB_00011a7a;\n      }\n      local_820[0x39] = (uint8_t)uVar10;\n      psVar20 = (stat64 *)local_820._80_4_;\n      uVar34 = local_820._92_4_;\n      uVar10 = local_820._96_4_;\n    }\n    goto LAB_000114e8;\n  case 0x44:\n    local_820._20_4_ = sg_get_num(*(undefined4 *)PTR_optarg_0001dffc);\n    psVar20 = (stat64 *)local_820._80_4_;\n    uVar34 = local_820._92_4_;\n    uVar10 = local_820._96_4_;\n    if (7 < (uint)local_820._20_4_) {\n      pr2serr("bad argument to \'--dld=\', expect 0 to 7 inclusive\n");\n      goto LAB_00011a7a;\n    }\n    goto LAB_000114e8;\n  case 0x47:\n    uVar38 = sg_get_llnum(*(undefined4 *)PTR_optarg_0001dffc);\n    uVar43 = (uint32_t)uVar38;\n    if ((int)((ulonglong)uVar38 >> 0x20) != 0) {\n      pr2serr("bad first argument to \'--generation=\'\n");\n      goto LAB_00011a7a;\n    }\n    uVar19 = 0x2c;\n    uVar45 = uVar43;\n    local_820._88_4_ = uVar43;\n    pcVar18 = strchr(*(char **)puVar6,0x2c);\n    if (pcVar18 == (char *)0x0) {\n      pr2serr("need two arguments with --generation=EOG,NOG and they must be comma separated\n",\n              uVar19,uVar43,uVar45);\n      goto LAB_00011a7a;\n    }\n    uVar38 = sg_get_llnum(pcVar18 + 1);\n    psVar20 = (stat64 *)local_820._80_4_;\n    uVar34 = (uint32_t)uVar38;\n    uVar10 = local_820._96_4_;\n    if ((int)((ulonglong)uVar38 >> 0x20) != 0) {\n      pr2serr("bad second argument to \'--generation=\'\n",uVar19,uVar43,uVar45);\n      goto LAB_00011a7a;\n    }\n    goto LAB_000114e8;\n  case 0x49:\n    local_820._44_4_ = sg_get_num(*(undefined4 *)PTR_optarg_0001dffc);\n    psVar20 = (stat64 *)local_820._80_4_;\n    uVar34 = local_820._92_4_;\n    uVar10 = local_820._96_4_;\n    if ((int)local_820._44_4_ < 0) {\n      pr2serr("bad argument to \'--timeout=\'\n");\n      goto LAB_00011a7a;\n    }\n    goto LAB_000114e8;\n  case 0x4d:\n    uVar10 = sg_get_num(*(undefined4 *)PTR_optarg_0001dffc);\n    if (1 < uVar10) {\n      pr2serr("bad argument to \'--same\', expect 0 or 1\n");\n      goto LAB_00011a7a;\n    }\n    local_820[0x10] = (byte)uVar10 & 1;\n    local_820[8] = true;\n    local_794 = (stat64 *)0x17159;\n    psVar20 = (stat64 *)local_820._80_4_;\n    uVar34 = local_820._92_4_;\n    uVar10 = local_820._96_4_;\n    goto LAB_000114e8;\n  case 0x4e:\n    local_820[0xc] = true;\n    local_794 = (stat64 *)0x17164;\n    goto LAB_000114e8;\n  case 0x4f:\n    local_820[5] = true;\n    local_794 = (stat64 *)0x1716a;\n    goto LAB_000114e8;\n  case 0x51:\n    local_820[6] = true;\n    goto LAB_000114e8;\n  case 0x52:\n    local_820[7] = true;\n    goto LAB_000114e8;\n  case 0x53:\n    uVar10 = sg_get_num(*(undefined4 *)PTR_optarg_0001dffc);\n    if (0xffff < uVar10) {\n      pr2serr("bad argument to \'--scattered=\'. Expect 0 to 0xffff inclusive\n");\n      goto LAB_00011a7a;\n    }\n    local_820._64_2_ = (undefined2)uVar10;\n    local_794 = (stat64 *)0x17172;\n    local_820[9] = true;\n    psVar20 = (stat64 *)local_820._80_4_;\n    uVar34 = local_820._92_4_;\n    uVar10 = local_820._96_4_;\n    goto LAB_000114e8;\n  case 0x54:\n    uVar10 = sg_get_num(*(undefined4 *)PTR_optarg_0001dffc);\n    if (0xffff < uVar10) {\n      pr2serr("bad argument to \'--stream=\', expect 0 to 65535\n");\n      goto LAB_00011a7a;\n    }\n    local_820._66_2_ = (undefined2)uVar10;\n    local_794 = (stat64 *)0x17182;\n    local_820[10] = true;\n    psVar20 = (stat64 *)local_820._80_4_;\n    uVar34 = local_820._92_4_;\n    uVar10 = local_820._96_4_;\n    goto LAB_000114e8;\n  case 0x56:\n    local_820[0x12] = true;\n    goto LAB_000114e8;\n  case 0x61:\n    uVar10 = sg_get_num(*(undefined4 *)PTR_optarg_0001dffc);\n    if (0xffff < uVar10) {\n      pr2serr("bad argument to \'--app-tag=\'. Expect 0 to 0xffff inclusive\n");\n      goto LAB_00011a7a;\n    }\n    local_820._58_2_ = (undefined2)uVar10;\n    psVar20 = (stat64 *)local_820._80_4_;\n    uVar34 = local_820._92_4_;\n    uVar10 = local_820._96_4_;\n    goto LAB_000114e8;\n  case 0x62:\n    psVar26 = (stat64 *)sg_get_num(*(undefined4 *)PTR_optarg_0001dffc);\n    if ((stat64 *)0x10000000 < psVar26) {\n      pr2serr("bad argument to \'--bs=\'. Expect 0 or greater\n");\n      goto LAB_00011a7a;\n    }\n    if (psVar26 == (stat64 *)0x0) {\n      local_820._72_4_ = (stat64 *)0x0;\n      local_820._76_4_ = (stat64 *)0x0;\n      psVar20 = (stat64 *)local_820._80_4_;\n      uVar34 = local_820._92_4_;\n      uVar10 = local_820._96_4_;\n    }\n    else {\n      if ((int)psVar26 < 0x200) {\n        pr2serr("warning: --bs=BS value is < 512 which seems too small, continue\n");\n        bVar1 = 1;\n      }\n      if (((uint)psVar26 & 7) != 0) {\n        pr2serr("warning: --bs=BS value is not a multiple of 8, unexpected, continue\n");\n        bVar1 = 1;\n      }\n      iVar23 = 0;\n      iVar13 = 0;\n      psVar20 = psVar26;\n      do {\n        if (((uint)psVar20 & 1) != 0) {\n          iVar23 = iVar13;\n        }\n        iVar13 = iVar13 + 1;\n        psVar20 = (stat64 *)((int)psVar20 >> 1);\n      } while (iVar13 != 0x1c);\n      psVar11 = (stat64 *)(1 << ((byte)iVar23 & 0x1f));\n      local_820._72_4_ = psVar26;\n      local_820._76_4_ = psVar26;\n      psVar20 = (stat64 *)local_820._80_4_;\n      uVar34 = local_820._92_4_;\n      uVar10 = local_820._96_4_;\n      if (psVar26 != psVar11) {\n        local_820._72_4_ = psVar11;\n      }\n    }\n    goto LAB_000114e8;\n  case 99:\n    iVar23 = sg_get_num(*(undefined4 *)PTR_optarg_0001dffc);\n    if (iVar23 < 0) {\n      pr2serr("bad argument to \'--combined=\'. Expect 0 to 0x7fffffff\n");\n      goto LAB_00011a7a;\n    }\n    local_820._62_2_ = (undefined2)iVar23;\n    local_820[4] = true;\n    psVar20 = (stat64 *)local_820._80_4_;\n    uVar34 = local_820._92_4_;\n    uVar10 = local_820._96_4_;\n    goto LAB_000114e8;\n  case 100:\n    local_820[0xe] = true;\n    goto LAB_000114e8;\n  case 0x66:\n    local_820[0xf] = true;\n    goto LAB_000114e8;\n  case 0x67:\n    local_820._28_4_ = sg_get_num(*(undefined4 *)PTR_optarg_0001dffc);\n    psVar20 = (stat64 *)local_820._80_4_;\n    uVar34 = local_820._92_4_;\n    uVar10 = local_820._96_4_;\n    if (0x3f < (uint)local_820._28_4_) {\n      pr2serr("bad argument to \'--grpnum\'\n");\n      goto LAB_00011a7a;\n    }\n    goto LAB_000114e8;\n  case 0x68:\n    local_820._32_4_ = local_820._32_4_ + 1;\n    goto LAB_000114e8;\n  case 0x69:\n    local_79c = *(char **)PTR_optarg_0001dffc;\n    goto LAB_000114e8;\n  case 0x6c:\n    if (local_91c != (stat64 *)0x0) {\n      pr2serr("only expect \'--lba=\' option once\n");\n      goto LAB_00011a7a;\n    }\n    local_91c = *(stat64 **)PTR_optarg_0001dffc;\n    goto LAB_000114e8;\n  case 0x6e:\n    if (local_918 != (stat64 *)0x0) {\n      pr2serr("only expect \'--num=\' option once\n");\n      goto LAB_00011a7a;\n    }\n    local_918 = *(stat64 **)PTR_optarg_0001dffc;\n    goto LAB_000114e8;\n  case 0x6f:\n    lVar39 = sg_get_llnum(*(undefined4 *)PTR_optarg_0001dffc);\n    psVar26 = (stat64 *)lVar39;\n    if (lVar39 == -1) {\n      pr2serr("bad first argument to \'--offset=\'\n");\n      goto LAB_00011a7a;\n    }\n    uVar19 = 0x2c;\n    psVar11 = psVar26;\n    local_820._108_4_ = psVar26;\n    local_7b0 = (stat64 *)((ulonglong)lVar39 >> 0x20);\n    pcVar18 = strchr(*(char **)puVar6,0x2c);\n    psVar20 = (stat64 *)local_820._80_4_;\n    uVar34 = local_820._92_4_;\n    uVar10 = local_820._96_4_;\n    if (pcVar18 != (char *)0x0) {\n      lVar39 = sg_get_llnum(pcVar18 + 1,uVar19,psVar26,psVar11);\n      psVar20 = (stat64 *)lVar39;\n      uVar34 = local_820._92_4_;\n      uVar10 = local_820._96_4_;\n      if ((int)((ulonglong)lVar39 >> 0x20) == -1) {\n        if (psVar20 == (stat64 *)0xffffffff) {\n          pr2serr("bad second argument to \'--offset=\'\n");\n          goto LAB_00011a7a;\n        }\n      }\n      else if (0xffffffff < lVar39) {\n        pr2serr("bad second argument to \'--offset=\', cannot exceed 32 bits\n");\n        goto LAB_00011a7a;\n      }\n    }\n    goto LAB_000114e8;\n  case 0x71:\n    local_798 = *(char **)PTR_optarg_0001dffc;\n    goto LAB_000114e8;\n  case 0x72:\n    goto _L476;\n  case 0x73:\n    local_820._40_4_ = local_820._40_4_ + 1;\n    goto LAB_000114e8;\n  case 0x74:\n    uVar10 = sg_get_num(*(undefined4 *)PTR_optarg_0001dffc);\n    if (0xffff < uVar10) {\n      pr2serr("bad argument to \'--tag-mask=\'. Expect 0 to 0xffff inclusive\n");\n      goto LAB_00011a7a;\n    }\n    local_820._68_2_ = (undefined2)uVar10;\n    psVar20 = (stat64 *)local_820._80_4_;\n    uVar34 = local_820._92_4_;\n    uVar10 = local_820._96_4_;\n    goto LAB_000114e8;\n  case 0x75:\n    uVar10 = sg_get_num(*(undefined4 *)puVar22);\n    if (3 < uVar10) {\n      pr2serr("bad argument to \'--unmap=\', expect 0 to 3\n");\n      goto LAB_00011a7a;\n    }\n    local_820[2] = (byte)(uVar10 >> 1) & 1;\n    local_820[0xb] = (byte)uVar10 & 1;\n    psVar20 = (stat64 *)local_820._80_4_;\n    uVar34 = local_820._92_4_;\n    uVar10 = local_820._96_4_;\n    goto LAB_000114e8;\n  case 0x76:\n    local_820[0x11] = true;\n    local_820._48_4_ = (int)(__dev_t *)local_820._48_4_ + 1;\n    goto LAB_000114e8;\n  case 0x77:\n    local_820._52_4_ = sg_get_num(*(undefined4 *)puVar22);\n    if ((stat64 *)0x7 < (uint)local_820._52_4_) {\n      pr2serr("bad argument to \'--wrprotect\'\n");\n      goto LAB_00011a7a;\n    }\n    local_820[0xd] = 0 < (int)local_820._52_4_;\n    psVar20 = (stat64 *)local_820._80_4_;\n    uVar34 = local_820._92_4_;\n    uVar10 = local_820._96_4_;\n    goto LAB_000114e8;\n  case 0x78:\n    local_820._24_4_ = local_820._24_4_ + 1;\n    goto LAB_000114e8;\n  }" { (case_statement "case 0x33:\n    local_820[1] = true;\n    goto LAB_000114e8;" case number_literal : (expression_statement "local_820[1] = true;" (assignment_expression "local_820[1] = true" (subscript_expression "local_820[1]" identifier [ number_literal ]) = true) ;) (goto_statement "goto LAB_000114e8;" goto statement_identifier ;)) (case_statement "default:\n    pcVar18 = "unrecognised option code 0x%x ??\n";\n    break;" default : (expression_statement "pcVar18 = "unrecognised option code 0x%x ??\n";" (assignment_expression "pcVar18 = "unrecognised option code 0x%x ??\n"" identifier = (string_literal ""unrecognised option code 0x%x ??\n"" " string_content escape_sequence ")) ;) (break_statement "break;" break ;)) (case_statement "case 0x36:\n    local_820[0] = true;\n    goto LAB_000114e8;" case number_literal : (expression_statement "local_820[0] = true;" (assignment_expression "local_820[0] = true" (subscript_expression "local_820[0]" identifier [ number_literal ]) = true) ;) (goto_statement "goto LAB_000114e8;" goto statement_identifier ;)) (case_statement "case 0x3f:\n    pcVar18 = "\n";\n    break;" case number_literal : (expression_statement "pcVar18 = "\n";" (assignment_expression "pcVar18 = "\n"" identifier = (string_literal ""\n"" " escape_sequence ")) ;) (break_statement "break;" break ;)) (case_statement "case 0x41:\n    uVar10 = sg_get_num(*(undefined4 *)PTR_optarg_0001dffc);\n    if (0xffff < uVar10) {\n      pr2serr("bad argument to \'--atomic=\'. Expect 0 to 0xffff inclusive\n");\n      goto LAB_00011a7a;\n    }\n    local_820._60_2_ = (undefined2)uVar10;\n    local_820[3] = true;\n    local_794 = (stat64 *)0x17112;\n    psVar20 = (stat64 *)local_820._80_4_;\n    uVar34 = local_820._92_4_;\n    uVar10 = local_820._96_4_;\n    goto LAB_000114e8;" case number_literal : (expression_statement "uVar10 = sg_get_num(*(undefined4 *)PTR_optarg_0001dffc);" (assignment_expression "uVar10 = sg_get_num(*(undefined4 *)PTR_optarg_0001dffc)" identifier = (call_expression "sg_get_num(*(undefined4 *)PTR_optarg_0001dffc)" identifier (argument_list "(*(undefined4 *)PTR_optarg_0001dffc)" ( (pointer_expression "*(undefined4 *)PTR_optarg_0001dffc" * (cast_expression "(undefined4 *)PTR_optarg_0001dffc" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )))) ;) (if_statement "if (0xffff < uVar10) {\n      pr2serr("bad argument to \'--atomic=\'. Expect 0 to 0xffff inclusive\n");\n      goto LAB_00011a7a;\n    }" if (parenthesized_expression "(0xffff < uVar10)" ( (binary_expression "0xffff < uVar10" number_literal < identifier) )) (compound_statement "{\n      pr2serr("bad argument to \'--atomic=\'. Expect 0 to 0xffff inclusive\n");\n      goto LAB_00011a7a;\n    }" { (expression_statement "pr2serr("bad argument to \'--atomic=\'. Expect 0 to 0xffff inclusive\n");" (call_expression "pr2serr("bad argument to \'--atomic=\'. Expect 0 to 0xffff inclusive\n")" identifier (argument_list "("bad argument to \'--atomic=\'. Expect 0 to 0xffff inclusive\n")" ( (string_literal ""bad argument to \'--atomic=\'. Expect 0 to 0xffff inclusive\n"" " string_content escape_sequence string_content escape_sequence string_content escape_sequence ") ))) ;) (goto_statement "goto LAB_00011a7a;" goto statement_identifier ;) })) (expression_statement "local_820._60_2_ = (undefined2)uVar10;" (assignment_expression "local_820._60_2_ = (undefined2)uVar10" (field_expression "local_820._60_2_" identifier . field_identifier) = (cast_expression "(undefined2)uVar10" ( (type_descriptor "undefined2" type_identifier) ) identifier)) ;) (expression_statement "local_820[3] = true;" (assignment_expression "local_820[3] = true" (subscript_expression "local_820[3]" identifier [ number_literal ]) = true) ;) (expression_statement "local_794 = (stat64 *)0x17112;" (assignment_expression "local_794 = (stat64 *)0x17112" identifier = (cast_expression "(stat64 *)0x17112" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "psVar20 = (stat64 *)local_820._80_4_;" (assignment_expression "psVar20 = (stat64 *)local_820._80_4_" identifier = (cast_expression "(stat64 *)local_820._80_4_" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "local_820._80_4_" identifier . field_identifier))) ;) (expression_statement "uVar34 = local_820._92_4_;" (assignment_expression "uVar34 = local_820._92_4_" identifier = (field_expression "local_820._92_4_" identifier . field_identifier)) ;) (expression_statement "uVar10 = local_820._96_4_;" (assignment_expression "uVar10 = local_820._96_4_" identifier = (field_expression "local_820._96_4_" identifier . field_identifier)) ;) (goto_statement "goto LAB_000114e8;" goto statement_identifier ;)) (case_statement "case 0x42:\n    uVar28 = sg_get_num(*(undefined4 *)PTR_optarg_0001dffc);\n    if (7 < uVar28) {\n      pr2serr("bad first argument to \'--bmop=\'\n");\n      goto LAB_00011a7a;\n    }\n    local_820[0x38] = (uint8_t)uVar28;\n    uVar19 = 0x2c;\n    uVar46 = uVar28;\n    pcVar18 = strchr(*(char **)puVar6,0x2c);\n    psVar20 = (stat64 *)local_820._80_4_;\n    uVar34 = local_820._92_4_;\n    uVar10 = local_820._96_4_;\n    if (pcVar18 != (char *)0x0) {\n      uVar10 = sg_get_num(pcVar18 + 1,uVar19,uVar28,uVar46);\n      if (0xf < uVar10) {\n        pr2serr("bad second argument to \'--bmop=\'\n");\n        goto LAB_00011a7a;\n      }\n      local_820[0x39] = (uint8_t)uVar10;\n      psVar20 = (stat64 *)local_820._80_4_;\n      uVar34 = local_820._92_4_;\n      uVar10 = local_820._96_4_;\n    }\n    goto LAB_000114e8;" case number_literal : (expression_statement "uVar28 = sg_get_num(*(undefined4 *)PTR_optarg_0001dffc);" (assignment_expression "uVar28 = sg_get_num(*(undefined4 *)PTR_optarg_0001dffc)" identifier = (call_expression "sg_get_num(*(undefined4 *)PTR_optarg_0001dffc)" identifier (argument_list "(*(undefined4 *)PTR_optarg_0001dffc)" ( (pointer_expression "*(undefined4 *)PTR_optarg_0001dffc" * (cast_expression "(undefined4 *)PTR_optarg_0001dffc" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )))) ;) (if_statement "if (7 < uVar28) {\n      pr2serr("bad first argument to \'--bmop=\'\n");\n      goto LAB_00011a7a;\n    }" if (parenthesized_expression "(7 < uVar28)" ( (binary_expression "7 < uVar28" number_literal < identifier) )) (compound_statement "{\n      pr2serr("bad first argument to \'--bmop=\'\n");\n      goto LAB_00011a7a;\n    }" { (expression_statement "pr2serr("bad first argument to \'--bmop=\'\n");" (call_expression "pr2serr("bad first argument to \'--bmop=\'\n")" identifier (argument_list "("bad first argument to \'--bmop=\'\n")" ( (string_literal ""bad first argument to \'--bmop=\'\n"" " string_content escape_sequence string_content escape_sequence escape_sequence ") ))) ;) (goto_statement "goto LAB_00011a7a;" goto statement_identifier ;) })) (expression_statement "local_820[0x38] = (uint8_t)uVar28;" (assignment_expression "local_820[0x38] = (uint8_t)uVar28" (subscript_expression "local_820[0x38]" identifier [ number_literal ]) = (cast_expression "(uint8_t)uVar28" ( (type_descriptor "uint8_t" primitive_type) ) identifier)) ;) (expression_statement "uVar19 = 0x2c;" (assignment_expression "uVar19 = 0x2c" identifier = number_literal) ;) (expression_statement "uVar46 = uVar28;" (assignment_expression "uVar46 = uVar28" identifier = identifier) ;) (expression_statement "pcVar18 = strchr(*(char **)puVar6,0x2c);" (assignment_expression "pcVar18 = strchr(*(char **)puVar6,0x2c)" identifier = (call_expression "strchr(*(char **)puVar6,0x2c)" identifier (argument_list "(*(char **)puVar6,0x2c)" ( (pointer_expression "*(char **)puVar6" * (cast_expression "(char **)puVar6" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier)) , number_literal )))) ;) (expression_statement "psVar20 = (stat64 *)local_820._80_4_;" (assignment_expression "psVar20 = (stat64 *)local_820._80_4_" identifier = (cast_expression "(stat64 *)local_820._80_4_" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "local_820._80_4_" identifier . field_identifier))) ;) (expression_statement "uVar34 = local_820._92_4_;" (assignment_expression "uVar34 = local_820._92_4_" identifier = (field_expression "local_820._92_4_" identifier . field_identifier)) ;) (expression_statement "uVar10 = local_820._96_4_;" (assignment_expression "uVar10 = local_820._96_4_" identifier = (field_expression "local_820._96_4_" identifier . field_identifier)) ;) (if_statement "if (pcVar18 != (char *)0x0) {\n      uVar10 = sg_get_num(pcVar18 + 1,uVar19,uVar28,uVar46);\n      if (0xf < uVar10) {\n        pr2serr("bad second argument to \'--bmop=\'\n");\n        goto LAB_00011a7a;\n      }\n      local_820[0x39] = (uint8_t)uVar10;\n      psVar20 = (stat64 *)local_820._80_4_;\n      uVar34 = local_820._92_4_;\n      uVar10 = local_820._96_4_;\n    }" if (parenthesized_expression "(pcVar18 != (char *)0x0)" ( (binary_expression "pcVar18 != (char *)0x0" identifier != (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      uVar10 = sg_get_num(pcVar18 + 1,uVar19,uVar28,uVar46);\n      if (0xf < uVar10) {\n        pr2serr("bad second argument to \'--bmop=\'\n");\n        goto LAB_00011a7a;\n      }\n      local_820[0x39] = (uint8_t)uVar10;\n      psVar20 = (stat64 *)local_820._80_4_;\n      uVar34 = local_820._92_4_;\n      uVar10 = local_820._96_4_;\n    }" { (expression_statement "uVar10 = sg_get_num(pcVar18 + 1,uVar19,uVar28,uVar46);" (assignment_expression "uVar10 = sg_get_num(pcVar18 + 1,uVar19,uVar28,uVar46)" identifier = (call_expression "sg_get_num(pcVar18 + 1,uVar19,uVar28,uVar46)" identifier (argument_list "(pcVar18 + 1,uVar19,uVar28,uVar46)" ( (binary_expression "pcVar18 + 1" identifier + number_literal) , identifier , identifier , identifier )))) ;) (if_statement "if (0xf < uVar10) {\n        pr2serr("bad second argument to \'--bmop=\'\n");\n        goto LAB_00011a7a;\n      }" if (parenthesized_expression "(0xf < uVar10)" ( (binary_expression "0xf < uVar10" number_literal < identifier) )) (compound_statement "{\n        pr2serr("bad second argument to \'--bmop=\'\n");\n        goto LAB_00011a7a;\n      }" { (expression_statement "pr2serr("bad second argument to \'--bmop=\'\n");" (call_expression "pr2serr("bad second argument to \'--bmop=\'\n")" identifier (argument_list "("bad second argument to \'--bmop=\'\n")" ( (string_literal ""bad second argument to \'--bmop=\'\n"" " string_content escape_sequence string_content escape_sequence escape_sequence ") ))) ;) (goto_statement "goto LAB_00011a7a;" goto statement_identifier ;) })) (expression_statement "local_820[0x39] = (uint8_t)uVar10;" (assignment_expression "local_820[0x39] = (uint8_t)uVar10" (subscript_expression "local_820[0x39]" identifier [ number_literal ]) = (cast_expression "(uint8_t)uVar10" ( (type_descriptor "uint8_t" primitive_type) ) identifier)) ;) (expression_statement "psVar20 = (stat64 *)local_820._80_4_;" (assignment_expression "psVar20 = (stat64 *)local_820._80_4_" identifier = (cast_expression "(stat64 *)local_820._80_4_" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "local_820._80_4_" identifier . field_identifier))) ;) (expression_statement "uVar34 = local_820._92_4_;" (assignment_expression "uVar34 = local_820._92_4_" identifier = (field_expression "local_820._92_4_" identifier . field_identifier)) ;) (expression_statement "uVar10 = local_820._96_4_;" (assignment_expression "uVar10 = local_820._96_4_" identifier = (field_expression "local_820._96_4_" identifier . field_identifier)) ;) })) (goto_statement "goto LAB_000114e8;" goto statement_identifier ;)) (case_statement "case 0x44:\n    local_820._20_4_ = sg_get_num(*(undefined4 *)PTR_optarg_0001dffc);\n    psVar20 = (stat64 *)local_820._80_4_;\n    uVar34 = local_820._92_4_;\n    uVar10 = local_820._96_4_;\n    if (7 < (uint)local_820._20_4_) {\n      pr2serr("bad argument to \'--dld=\', expect 0 to 7 inclusive\n");\n      goto LAB_00011a7a;\n    }\n    goto LAB_000114e8;" case number_literal : (expression_statement "local_820._20_4_ = sg_get_num(*(undefined4 *)PTR_optarg_0001dffc);" (assignment_expression "local_820._20_4_ = sg_get_num(*(undefined4 *)PTR_optarg_0001dffc)" (field_expression "local_820._20_4_" identifier . field_identifier) = (call_expression "sg_get_num(*(undefined4 *)PTR_optarg_0001dffc)" identifier (argument_list "(*(undefined4 *)PTR_optarg_0001dffc)" ( (pointer_expression "*(undefined4 *)PTR_optarg_0001dffc" * (cast_expression "(undefined4 *)PTR_optarg_0001dffc" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )))) ;) (expression_statement "psVar20 = (stat64 *)local_820._80_4_;" (assignment_expression "psVar20 = (stat64 *)local_820._80_4_" identifier = (cast_expression "(stat64 *)local_820._80_4_" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "local_820._80_4_" identifier . field_identifier))) ;) (expression_statement "uVar34 = local_820._92_4_;" (assignment_expression "uVar34 = local_820._92_4_" identifier = (field_expression "local_820._92_4_" identifier . field_identifier)) ;) (expression_statement "uVar10 = local_820._96_4_;" (assignment_expression "uVar10 = local_820._96_4_" identifier = (field_expression "local_820._96_4_" identifier . field_identifier)) ;) (if_statement "if (7 < (uint)local_820._20_4_) {\n      pr2serr("bad argument to \'--dld=\', expect 0 to 7 inclusive\n");\n      goto LAB_00011a7a;\n    }" if (parenthesized_expression "(7 < (uint)local_820._20_4_)" ( (binary_expression "7 < (uint)local_820._20_4_" number_literal < (cast_expression "(uint)local_820._20_4_" ( (type_descriptor "uint" type_identifier) ) (field_expression "local_820._20_4_" identifier . field_identifier))) )) (compound_statement "{\n      pr2serr("bad argument to \'--dld=\', expect 0 to 7 inclusive\n");\n      goto LAB_00011a7a;\n    }" { (expression_statement "pr2serr("bad argument to \'--dld=\', expect 0 to 7 inclusive\n");" (call_expression "pr2serr("bad argument to \'--dld=\', expect 0 to 7 inclusive\n")" identifier (argument_list "("bad argument to \'--dld=\', expect 0 to 7 inclusive\n")" ( (string_literal ""bad argument to \'--dld=\', expect 0 to 7 inclusive\n"" " string_content escape_sequence string_content escape_sequence string_content escape_sequence ") ))) ;) (goto_statement "goto LAB_00011a7a;" goto statement_identifier ;) })) (goto_statement "goto LAB_000114e8;" goto statement_identifier ;)) (case_statement "case 0x47:\n    uVar38 = sg_get_llnum(*(undefined4 *)PTR_optarg_0001dffc);\n    uVar43 = (uint32_t)uVar38;\n    if ((int)((ulonglong)uVar38 >> 0x20) != 0) {\n      pr2serr("bad first argument to \'--generation=\'\n");\n      goto LAB_00011a7a;\n    }\n    uVar19 = 0x2c;\n    uVar45 = uVar43;\n    local_820._88_4_ = uVar43;\n    pcVar18 = strchr(*(char **)puVar6,0x2c);\n    if (pcVar18 == (char *)0x0) {\n      pr2serr("need two arguments with --generation=EOG,NOG and they must be comma separated\n",\n              uVar19,uVar43,uVar45);\n      goto LAB_00011a7a;\n    }\n    uVar38 = sg_get_llnum(pcVar18 + 1);\n    psVar20 = (stat64 *)local_820._80_4_;\n    uVar34 = (uint32_t)uVar38;\n    uVar10 = local_820._96_4_;\n    if ((int)((ulonglong)uVar38 >> 0x20) != 0) {\n      pr2serr("bad second argument to \'--generation=\'\n",uVar19,uVar43,uVar45);\n      goto LAB_00011a7a;\n    }\n    goto LAB_000114e8;" case number_literal : (expression_statement "uVar38 = sg_get_llnum(*(undefined4 *)PTR_optarg_0001dffc);" (assignment_expression "uVar38 = sg_get_llnum(*(undefined4 *)PTR_optarg_0001dffc)" identifier = (call_expression "sg_get_llnum(*(undefined4 *)PTR_optarg_0001dffc)" identifier (argument_list "(*(undefined4 *)PTR_optarg_0001dffc)" ( (pointer_expression "*(undefined4 *)PTR_optarg_0001dffc" * (cast_expression "(undefined4 *)PTR_optarg_0001dffc" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )))) ;) (expression_statement "uVar43 = (uint32_t)uVar38;" (assignment_expression "uVar43 = (uint32_t)uVar38" identifier = (cast_expression "(uint32_t)uVar38" ( (type_descriptor "uint32_t" primitive_type) ) identifier)) ;) (if_statement "if ((int)((ulonglong)uVar38 >> 0x20) != 0) {\n      pr2serr("bad first argument to \'--generation=\'\n");\n      goto LAB_00011a7a;\n    }" if (parenthesized_expression "((int)((ulonglong)uVar38 >> 0x20) != 0)" ( (binary_expression "(int)((ulonglong)uVar38 >> 0x20) != 0" (cast_expression "(int)((ulonglong)uVar38 >> 0x20)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((ulonglong)uVar38 >> 0x20)" ( (binary_expression "(ulonglong)uVar38 >> 0x20" (cast_expression "(ulonglong)uVar38" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) ))) != number_literal) )) (compound_statement "{\n      pr2serr("bad first argument to \'--generation=\'\n");\n      goto LAB_00011a7a;\n    }" { (expression_statement "pr2serr("bad first argument to \'--generation=\'\n");" (call_expression "pr2serr("bad first argument to \'--generation=\'\n")" identifier (argument_list "("bad first argument to \'--generation=\'\n")" ( (string_literal ""bad first argument to \'--generation=\'\n"" " string_content escape_sequence string_content escape_sequence escape_sequence ") ))) ;) (goto_statement "goto LAB_00011a7a;" goto statement_identifier ;) })) (expression_statement "uVar19 = 0x2c;" (assignment_expression "uVar19 = 0x2c" identifier = number_literal) ;) (expression_statement "uVar45 = uVar43;" (assignment_expression "uVar45 = uVar43" identifier = identifier) ;) (expression_statement "local_820._88_4_ = uVar43;" (assignment_expression "local_820._88_4_ = uVar43" (field_expression "local_820._88_4_" identifier . field_identifier) = identifier) ;) (expression_statement "pcVar18 = strchr(*(char **)puVar6,0x2c);" (assignment_expression "pcVar18 = strchr(*(char **)puVar6,0x2c)" identifier = (call_expression "strchr(*(char **)puVar6,0x2c)" identifier (argument_list "(*(char **)puVar6,0x2c)" ( (pointer_expression "*(char **)puVar6" * (cast_expression "(char **)puVar6" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier)) , number_literal )))) ;) (if_statement "if (pcVar18 == (char *)0x0) {\n      pr2serr("need two arguments with --generation=EOG,NOG and they must be comma separated\n",\n              uVar19,uVar43,uVar45);\n      goto LAB_00011a7a;\n    }" if (parenthesized_expression "(pcVar18 == (char *)0x0)" ( (binary_expression "pcVar18 == (char *)0x0" identifier == (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      pr2serr("need two arguments with --generation=EOG,NOG and they must be comma separated\n",\n              uVar19,uVar43,uVar45);\n      goto LAB_00011a7a;\n    }" { (expression_statement "pr2serr("need two arguments with --generation=EOG,NOG and they must be comma separated\n",\n              uVar19,uVar43,uVar45);" (call_expression "pr2serr("need two arguments with --generation=EOG,NOG and they must be comma separated\n",\n              uVar19,uVar43,uVar45)" identifier (argument_list "("need two arguments with --generation=EOG,NOG and they must be comma separated\n",\n              uVar19,uVar43,uVar45)" ( (string_literal ""need two arguments with --generation=EOG,NOG and they must be comma separated\n"" " string_content escape_sequence ") , identifier , identifier , identifier ))) ;) (goto_statement "goto LAB_00011a7a;" goto statement_identifier ;) })) (expression_statement "uVar38 = sg_get_llnum(pcVar18 + 1);" (assignment_expression "uVar38 = sg_get_llnum(pcVar18 + 1)" identifier = (call_expression "sg_get_llnum(pcVar18 + 1)" identifier (argument_list "(pcVar18 + 1)" ( (binary_expression "pcVar18 + 1" identifier + number_literal) )))) ;) (expression_statement "psVar20 = (stat64 *)local_820._80_4_;" (assignment_expression "psVar20 = (stat64 *)local_820._80_4_" identifier = (cast_expression "(stat64 *)local_820._80_4_" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "local_820._80_4_" identifier . field_identifier))) ;) (expression_statement "uVar34 = (uint32_t)uVar38;" (assignment_expression "uVar34 = (uint32_t)uVar38" identifier = (cast_expression "(uint32_t)uVar38" ( (type_descriptor "uint32_t" primitive_type) ) identifier)) ;) (expression_statement "uVar10 = local_820._96_4_;" (assignment_expression "uVar10 = local_820._96_4_" identifier = (field_expression "local_820._96_4_" identifier . field_identifier)) ;) (if_statement "if ((int)((ulonglong)uVar38 >> 0x20) != 0) {\n      pr2serr("bad second argument to \'--generation=\'\n",uVar19,uVar43,uVar45);\n      goto LAB_00011a7a;\n    }" if (parenthesized_expression "((int)((ulonglong)uVar38 >> 0x20) != 0)" ( (binary_expression "(int)((ulonglong)uVar38 >> 0x20) != 0" (cast_expression "(int)((ulonglong)uVar38 >> 0x20)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((ulonglong)uVar38 >> 0x20)" ( (binary_expression "(ulonglong)uVar38 >> 0x20" (cast_expression "(ulonglong)uVar38" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) ))) != number_literal) )) (compound_statement "{\n      pr2serr("bad second argument to \'--generation=\'\n",uVar19,uVar43,uVar45);\n      goto LAB_00011a7a;\n    }" { (expression_statement "pr2serr("bad second argument to \'--generation=\'\n",uVar19,uVar43,uVar45);" (call_expression "pr2serr("bad second argument to \'--generation=\'\n",uVar19,uVar43,uVar45)" identifier (argument_list "("bad second argument to \'--generation=\'\n",uVar19,uVar43,uVar45)" ( (string_literal ""bad second argument to \'--generation=\'\n"" " string_content escape_sequence string_content escape_sequence escape_sequence ") , identifier , identifier , identifier ))) ;) (goto_statement "goto LAB_00011a7a;" goto statement_identifier ;) })) (goto_statement "goto LAB_000114e8;" goto statement_identifier ;)) (case_statement "case 0x49:\n    local_820._44_4_ = sg_get_num(*(undefined4 *)PTR_optarg_0001dffc);\n    psVar20 = (stat64 *)local_820._80_4_;\n    uVar34 = local_820._92_4_;\n    uVar10 = local_820._96_4_;\n    if ((int)local_820._44_4_ < 0) {\n      pr2serr("bad argument to \'--timeout=\'\n");\n      goto LAB_00011a7a;\n    }\n    goto LAB_000114e8;" case number_literal : (expression_statement "local_820._44_4_ = sg_get_num(*(undefined4 *)PTR_optarg_0001dffc);" (assignment_expression "local_820._44_4_ = sg_get_num(*(undefined4 *)PTR_optarg_0001dffc)" (field_expression "local_820._44_4_" identifier . field_identifier) = (call_expression "sg_get_num(*(undefined4 *)PTR_optarg_0001dffc)" identifier (argument_list "(*(undefined4 *)PTR_optarg_0001dffc)" ( (pointer_expression "*(undefined4 *)PTR_optarg_0001dffc" * (cast_expression "(undefined4 *)PTR_optarg_0001dffc" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )))) ;) (expression_statement "psVar20 = (stat64 *)local_820._80_4_;" (assignment_expression "psVar20 = (stat64 *)local_820._80_4_" identifier = (cast_expression "(stat64 *)local_820._80_4_" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "local_820._80_4_" identifier . field_identifier))) ;) (expression_statement "uVar34 = local_820._92_4_;" (assignment_expression "uVar34 = local_820._92_4_" identifier = (field_expression "local_820._92_4_" identifier . field_identifier)) ;) (expression_statement "uVar10 = local_820._96_4_;" (assignment_expression "uVar10 = local_820._96_4_" identifier = (field_expression "local_820._96_4_" identifier . field_identifier)) ;) (if_statement "if ((int)local_820._44_4_ < 0) {\n      pr2serr("bad argument to \'--timeout=\'\n");\n      goto LAB_00011a7a;\n    }" if (parenthesized_expression "((int)local_820._44_4_ < 0)" ( (binary_expression "(int)local_820._44_4_ < 0" (cast_expression "(int)local_820._44_4_" ( (type_descriptor "int" primitive_type) ) (field_expression "local_820._44_4_" identifier . field_identifier)) < number_literal) )) (compound_statement "{\n      pr2serr("bad argument to \'--timeout=\'\n");\n      goto LAB_00011a7a;\n    }" { (expression_statement "pr2serr("bad argument to \'--timeout=\'\n");" (call_expression "pr2serr("bad argument to \'--timeout=\'\n")" identifier (argument_list "("bad argument to \'--timeout=\'\n")" ( (string_literal ""bad argument to \'--timeout=\'\n"" " string_content escape_sequence string_content escape_sequence escape_sequence ") ))) ;) (goto_statement "goto LAB_00011a7a;" goto statement_identifier ;) })) (goto_statement "goto LAB_000114e8;" goto statement_identifier ;)) (case_statement "case 0x4d:\n    uVar10 = sg_get_num(*(undefined4 *)PTR_optarg_0001dffc);\n    if (1 < uVar10) {\n      pr2serr("bad argument to \'--same\', expect 0 or 1\n");\n      goto LAB_00011a7a;\n    }\n    local_820[0x10] = (byte)uVar10 & 1;\n    local_820[8] = true;\n    local_794 = (stat64 *)0x17159;\n    psVar20 = (stat64 *)local_820._80_4_;\n    uVar34 = local_820._92_4_;\n    uVar10 = local_820._96_4_;\n    goto LAB_000114e8;" case number_literal : (expression_statement "uVar10 = sg_get_num(*(undefined4 *)PTR_optarg_0001dffc);" (assignment_expression "uVar10 = sg_get_num(*(undefined4 *)PTR_optarg_0001dffc)" identifier = (call_expression "sg_get_num(*(undefined4 *)PTR_optarg_0001dffc)" identifier (argument_list "(*(undefined4 *)PTR_optarg_0001dffc)" ( (pointer_expression "*(undefined4 *)PTR_optarg_0001dffc" * (cast_expression "(undefined4 *)PTR_optarg_0001dffc" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )))) ;) (if_statement "if (1 < uVar10) {\n      pr2serr("bad argument to \'--same\', expect 0 or 1\n");\n      goto LAB_00011a7a;\n    }" if (parenthesized_expression "(1 < uVar10)" ( (binary_expression "1 < uVar10" number_literal < identifier) )) (compound_statement "{\n      pr2serr("bad argument to \'--same\', expect 0 or 1\n");\n      goto LAB_00011a7a;\n    }" { (expression_statement "pr2serr("bad argument to \'--same\', expect 0 or 1\n");" (call_expression "pr2serr("bad argument to \'--same\', expect 0 or 1\n")" identifier (argument_list "("bad argument to \'--same\', expect 0 or 1\n")" ( (string_literal ""bad argument to \'--same\', expect 0 or 1\n"" " string_content escape_sequence string_content escape_sequence string_content escape_sequence ") ))) ;) (goto_statement "goto LAB_00011a7a;" goto statement_identifier ;) })) (expression_statement "local_820[0x10] = (byte)uVar10 & 1;" (assignment_expression "local_820[0x10] = (byte)uVar10 & 1" (subscript_expression "local_820[0x10]" identifier [ number_literal ]) = (binary_expression "(byte)uVar10 & 1" (cast_expression "(byte)uVar10" ( (type_descriptor "byte" type_identifier) ) identifier) & number_literal)) ;) (expression_statement "local_820[8] = true;" (assignment_expression "local_820[8] = true" (subscript_expression "local_820[8]" identifier [ number_literal ]) = true) ;) (expression_statement "local_794 = (stat64 *)0x17159;" (assignment_expression "local_794 = (stat64 *)0x17159" identifier = (cast_expression "(stat64 *)0x17159" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "psVar20 = (stat64 *)local_820._80_4_;" (assignment_expression "psVar20 = (stat64 *)local_820._80_4_" identifier = (cast_expression "(stat64 *)local_820._80_4_" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "local_820._80_4_" identifier . field_identifier))) ;) (expression_statement "uVar34 = local_820._92_4_;" (assignment_expression "uVar34 = local_820._92_4_" identifier = (field_expression "local_820._92_4_" identifier . field_identifier)) ;) (expression_statement "uVar10 = local_820._96_4_;" (assignment_expression "uVar10 = local_820._96_4_" identifier = (field_expression "local_820._96_4_" identifier . field_identifier)) ;) (goto_statement "goto LAB_000114e8;" goto statement_identifier ;)) (case_statement "case 0x4e:\n    local_820[0xc] = true;\n    local_794 = (stat64 *)0x17164;\n    goto LAB_000114e8;" case number_literal : (expression_statement "local_820[0xc] = true;" (assignment_expression "local_820[0xc] = true" (subscript_expression "local_820[0xc]" identifier [ number_literal ]) = true) ;) (expression_statement "local_794 = (stat64 *)0x17164;" (assignment_expression "local_794 = (stat64 *)0x17164" identifier = (cast_expression "(stat64 *)0x17164" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (goto_statement "goto LAB_000114e8;" goto statement_identifier ;)) (case_statement "case 0x4f:\n    local_820[5] = true;\n    local_794 = (stat64 *)0x1716a;\n    goto LAB_000114e8;" case number_literal : (expression_statement "local_820[5] = true;" (assignment_expression "local_820[5] = true" (subscript_expression "local_820[5]" identifier [ number_literal ]) = true) ;) (expression_statement "local_794 = (stat64 *)0x1716a;" (assignment_expression "local_794 = (stat64 *)0x1716a" identifier = (cast_expression "(stat64 *)0x1716a" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (goto_statement "goto LAB_000114e8;" goto statement_identifier ;)) (case_statement "case 0x51:\n    local_820[6] = true;\n    goto LAB_000114e8;" case number_literal : (expression_statement "local_820[6] = true;" (assignment_expression "local_820[6] = true" (subscript_expression "local_820[6]" identifier [ number_literal ]) = true) ;) (goto_statement "goto LAB_000114e8;" goto statement_identifier ;)) (case_statement "case 0x52:\n    local_820[7] = true;\n    goto LAB_000114e8;" case number_literal : (expression_statement "local_820[7] = true;" (assignment_expression "local_820[7] = true" (subscript_expression "local_820[7]" identifier [ number_literal ]) = true) ;) (goto_statement "goto LAB_000114e8;" goto statement_identifier ;)) (case_statement "case 0x53:\n    uVar10 = sg_get_num(*(undefined4 *)PTR_optarg_0001dffc);\n    if (0xffff < uVar10) {\n      pr2serr("bad argument to \'--scattered=\'. Expect 0 to 0xffff inclusive\n");\n      goto LAB_00011a7a;\n    }\n    local_820._64_2_ = (undefined2)uVar10;\n    local_794 = (stat64 *)0x17172;\n    local_820[9] = true;\n    psVar20 = (stat64 *)local_820._80_4_;\n    uVar34 = local_820._92_4_;\n    uVar10 = local_820._96_4_;\n    goto LAB_000114e8;" case number_literal : (expression_statement "uVar10 = sg_get_num(*(undefined4 *)PTR_optarg_0001dffc);" (assignment_expression "uVar10 = sg_get_num(*(undefined4 *)PTR_optarg_0001dffc)" identifier = (call_expression "sg_get_num(*(undefined4 *)PTR_optarg_0001dffc)" identifier (argument_list "(*(undefined4 *)PTR_optarg_0001dffc)" ( (pointer_expression "*(undefined4 *)PTR_optarg_0001dffc" * (cast_expression "(undefined4 *)PTR_optarg_0001dffc" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )))) ;) (if_statement "if (0xffff < uVar10) {\n      pr2serr("bad argument to \'--scattered=\'. Expect 0 to 0xffff inclusive\n");\n      goto LAB_00011a7a;\n    }" if (parenthesized_expression "(0xffff < uVar10)" ( (binary_expression "0xffff < uVar10" number_literal < identifier) )) (compound_statement "{\n      pr2serr("bad argument to \'--scattered=\'. Expect 0 to 0xffff inclusive\n");\n      goto LAB_00011a7a;\n    }" { (expression_statement "pr2serr("bad argument to \'--scattered=\'. Expect 0 to 0xffff inclusive\n");" (call_expression "pr2serr("bad argument to \'--scattered=\'. Expect 0 to 0xffff inclusive\n")" identifier (argument_list "("bad argument to \'--scattered=\'. Expect 0 to 0xffff inclusive\n")" ( (string_literal ""bad argument to \'--scattered=\'. Expect 0 to 0xffff inclusive\n"" " string_content escape_sequence string_content escape_sequence string_content escape_sequence ") ))) ;) (goto_statement "goto LAB_00011a7a;" goto statement_identifier ;) })) (expression_statement "local_820._64_2_ = (undefined2)uVar10;" (assignment_expression "local_820._64_2_ = (undefined2)uVar10" (field_expression "local_820._64_2_" identifier . field_identifier) = (cast_expression "(undefined2)uVar10" ( (type_descriptor "undefined2" type_identifier) ) identifier)) ;) (expression_statement "local_794 = (stat64 *)0x17172;" (assignment_expression "local_794 = (stat64 *)0x17172" identifier = (cast_expression "(stat64 *)0x17172" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_820[9] = true;" (assignment_expression "local_820[9] = true" (subscript_expression "local_820[9]" identifier [ number_literal ]) = true) ;) (expression_statement "psVar20 = (stat64 *)local_820._80_4_;" (assignment_expression "psVar20 = (stat64 *)local_820._80_4_" identifier = (cast_expression "(stat64 *)local_820._80_4_" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "local_820._80_4_" identifier . field_identifier))) ;) (expression_statement "uVar34 = local_820._92_4_;" (assignment_expression "uVar34 = local_820._92_4_" identifier = (field_expression "local_820._92_4_" identifier . field_identifier)) ;) (expression_statement "uVar10 = local_820._96_4_;" (assignment_expression "uVar10 = local_820._96_4_" identifier = (field_expression "local_820._96_4_" identifier . field_identifier)) ;) (goto_statement "goto LAB_000114e8;" goto statement_identifier ;)) (case_statement "case 0x54:\n    uVar10 = sg_get_num(*(undefined4 *)PTR_optarg_0001dffc);\n    if (0xffff < uVar10) {\n      pr2serr("bad argument to \'--stream=\', expect 0 to 65535\n");\n      goto LAB_00011a7a;\n    }\n    local_820._66_2_ = (undefined2)uVar10;\n    local_794 = (stat64 *)0x17182;\n    local_820[10] = true;\n    psVar20 = (stat64 *)local_820._80_4_;\n    uVar34 = local_820._92_4_;\n    uVar10 = local_820._96_4_;\n    goto LAB_000114e8;" case number_literal : (expression_statement "uVar10 = sg_get_num(*(undefined4 *)PTR_optarg_0001dffc);" (assignment_expression "uVar10 = sg_get_num(*(undefined4 *)PTR_optarg_0001dffc)" identifier = (call_expression "sg_get_num(*(undefined4 *)PTR_optarg_0001dffc)" identifier (argument_list "(*(undefined4 *)PTR_optarg_0001dffc)" ( (pointer_expression "*(undefined4 *)PTR_optarg_0001dffc" * (cast_expression "(undefined4 *)PTR_optarg_0001dffc" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )))) ;) (if_statement "if (0xffff < uVar10) {\n      pr2serr("bad argument to \'--stream=\', expect 0 to 65535\n");\n      goto LAB_00011a7a;\n    }" if (parenthesized_expression "(0xffff < uVar10)" ( (binary_expression "0xffff < uVar10" number_literal < identifier) )) (compound_statement "{\n      pr2serr("bad argument to \'--stream=\', expect 0 to 65535\n");\n      goto LAB_00011a7a;\n    }" { (expression_statement "pr2serr("bad argument to \'--stream=\', expect 0 to 65535\n");" (call_expression "pr2serr("bad argument to \'--stream=\', expect 0 to 65535\n")" identifier (argument_list "("bad argument to \'--stream=\', expect 0 to 65535\n")" ( (string_literal ""bad argument to \'--stream=\', expect 0 to 65535\n"" " string_content escape_sequence string_content escape_sequence string_content escape_sequence ") ))) ;) (goto_statement "goto LAB_00011a7a;" goto statement_identifier ;) })) (expression_statement "local_820._66_2_ = (undefined2)uVar10;" (assignment_expression "local_820._66_2_ = (undefined2)uVar10" (field_expression "local_820._66_2_" identifier . field_identifier) = (cast_expression "(undefined2)uVar10" ( (type_descriptor "undefined2" type_identifier) ) identifier)) ;) (expression_statement "local_794 = (stat64 *)0x17182;" (assignment_expression "local_794 = (stat64 *)0x17182" identifier = (cast_expression "(stat64 *)0x17182" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_820[10] = true;" (assignment_expression "local_820[10] = true" (subscript_expression "local_820[10]" identifier [ number_literal ]) = true) ;) (expression_statement "psVar20 = (stat64 *)local_820._80_4_;" (assignment_expression "psVar20 = (stat64 *)local_820._80_4_" identifier = (cast_expression "(stat64 *)local_820._80_4_" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "local_820._80_4_" identifier . field_identifier))) ;) (expression_statement "uVar34 = local_820._92_4_;" (assignment_expression "uVar34 = local_820._92_4_" identifier = (field_expression "local_820._92_4_" identifier . field_identifier)) ;) (expression_statement "uVar10 = local_820._96_4_;" (assignment_expression "uVar10 = local_820._96_4_" identifier = (field_expression "local_820._96_4_" identifier . field_identifier)) ;) (goto_statement "goto LAB_000114e8;" goto statement_identifier ;)) (case_statement "case 0x56:\n    local_820[0x12] = true;\n    goto LAB_000114e8;" case number_literal : (expression_statement "local_820[0x12] = true;" (assignment_expression "local_820[0x12] = true" (subscript_expression "local_820[0x12]" identifier [ number_literal ]) = true) ;) (goto_statement "goto LAB_000114e8;" goto statement_identifier ;)) (case_statement "case 0x61:\n    uVar10 = sg_get_num(*(undefined4 *)PTR_optarg_0001dffc);\n    if (0xffff < uVar10) {\n      pr2serr("bad argument to \'--app-tag=\'. Expect 0 to 0xffff inclusive\n");\n      goto LAB_00011a7a;\n    }\n    local_820._58_2_ = (undefined2)uVar10;\n    psVar20 = (stat64 *)local_820._80_4_;\n    uVar34 = local_820._92_4_;\n    uVar10 = local_820._96_4_;\n    goto LAB_000114e8;" case number_literal : (expression_statement "uVar10 = sg_get_num(*(undefined4 *)PTR_optarg_0001dffc);" (assignment_expression "uVar10 = sg_get_num(*(undefined4 *)PTR_optarg_0001dffc)" identifier = (call_expression "sg_get_num(*(undefined4 *)PTR_optarg_0001dffc)" identifier (argument_list "(*(undefined4 *)PTR_optarg_0001dffc)" ( (pointer_expression "*(undefined4 *)PTR_optarg_0001dffc" * (cast_expression "(undefined4 *)PTR_optarg_0001dffc" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )))) ;) (if_statement "if (0xffff < uVar10) {\n      pr2serr("bad argument to \'--app-tag=\'. Expect 0 to 0xffff inclusive\n");\n      goto LAB_00011a7a;\n    }" if (parenthesized_expression "(0xffff < uVar10)" ( (binary_expression "0xffff < uVar10" number_literal < identifier) )) (compound_statement "{\n      pr2serr("bad argument to \'--app-tag=\'. Expect 0 to 0xffff inclusive\n");\n      goto LAB_00011a7a;\n    }" { (expression_statement "pr2serr("bad argument to \'--app-tag=\'. Expect 0 to 0xffff inclusive\n");" (call_expression "pr2serr("bad argument to \'--app-tag=\'. Expect 0 to 0xffff inclusive\n")" identifier (argument_list "("bad argument to \'--app-tag=\'. Expect 0 to 0xffff inclusive\n")" ( (string_literal ""bad argument to \'--app-tag=\'. Expect 0 to 0xffff inclusive\n"" " string_content escape_sequence string_content escape_sequence string_content escape_sequence ") ))) ;) (goto_statement "goto LAB_00011a7a;" goto statement_identifier ;) })) (expression_statement "local_820._58_2_ = (undefined2)uVar10;" (assignment_expression "local_820._58_2_ = (undefined2)uVar10" (field_expression "local_820._58_2_" identifier . field_identifier) = (cast_expression "(undefined2)uVar10" ( (type_descriptor "undefined2" type_identifier) ) identifier)) ;) (expression_statement "psVar20 = (stat64 *)local_820._80_4_;" (assignment_expression "psVar20 = (stat64 *)local_820._80_4_" identifier = (cast_expression "(stat64 *)local_820._80_4_" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "local_820._80_4_" identifier . field_identifier))) ;) (expression_statement "uVar34 = local_820._92_4_;" (assignment_expression "uVar34 = local_820._92_4_" identifier = (field_expression "local_820._92_4_" identifier . field_identifier)) ;) (expression_statement "uVar10 = local_820._96_4_;" (assignment_expression "uVar10 = local_820._96_4_" identifier = (field_expression "local_820._96_4_" identifier . field_identifier)) ;) (goto_statement "goto LAB_000114e8;" goto statement_identifier ;)) (case_statement "case 0x62:\n    psVar26 = (stat64 *)sg_get_num(*(undefined4 *)PTR_optarg_0001dffc);\n    if ((stat64 *)0x10000000 < psVar26) {\n      pr2serr("bad argument to \'--bs=\'. Expect 0 or greater\n");\n      goto LAB_00011a7a;\n    }\n    if (psVar26 == (stat64 *)0x0) {\n      local_820._72_4_ = (stat64 *)0x0;\n      local_820._76_4_ = (stat64 *)0x0;\n      psVar20 = (stat64 *)local_820._80_4_;\n      uVar34 = local_820._92_4_;\n      uVar10 = local_820._96_4_;\n    }\n    else {\n      if ((int)psVar26 < 0x200) {\n        pr2serr("warning: --bs=BS value is < 512 which seems too small, continue\n");\n        bVar1 = 1;\n      }\n      if (((uint)psVar26 & 7) != 0) {\n        pr2serr("warning: --bs=BS value is not a multiple of 8, unexpected, continue\n");\n        bVar1 = 1;\n      }\n      iVar23 = 0;\n      iVar13 = 0;\n      psVar20 = psVar26;\n      do {\n        if (((uint)psVar20 & 1) != 0) {\n          iVar23 = iVar13;\n        }\n        iVar13 = iVar13 + 1;\n        psVar20 = (stat64 *)((int)psVar20 >> 1);\n      } while (iVar13 != 0x1c);\n      psVar11 = (stat64 *)(1 << ((byte)iVar23 & 0x1f));\n      local_820._72_4_ = psVar26;\n      local_820._76_4_ = psVar26;\n      psVar20 = (stat64 *)local_820._80_4_;\n      uVar34 = local_820._92_4_;\n      uVar10 = local_820._96_4_;\n      if (psVar26 != psVar11) {\n        local_820._72_4_ = psVar11;\n      }\n    }\n    goto LAB_000114e8;" case number_literal : (expression_statement "psVar26 = (stat64 *)sg_get_num(*(undefined4 *)PTR_optarg_0001dffc);" (assignment_expression "psVar26 = (stat64 *)sg_get_num(*(undefined4 *)PTR_optarg_0001dffc)" identifier = (cast_expression "(stat64 *)sg_get_num(*(undefined4 *)PTR_optarg_0001dffc)" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "sg_get_num(*(undefined4 *)PTR_optarg_0001dffc)" identifier (argument_list "(*(undefined4 *)PTR_optarg_0001dffc)" ( (pointer_expression "*(undefined4 *)PTR_optarg_0001dffc" * (cast_expression "(undefined4 *)PTR_optarg_0001dffc" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ))))) ;) (if_statement "if ((stat64 *)0x10000000 < psVar26) {\n      pr2serr("bad argument to \'--bs=\'. Expect 0 or greater\n");\n      goto LAB_00011a7a;\n    }" if (parenthesized_expression "((stat64 *)0x10000000 < psVar26)" ( (binary_expression "(stat64 *)0x10000000 < psVar26" (cast_expression "(stat64 *)0x10000000" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal) < identifier) )) (compound_statement "{\n      pr2serr("bad argument to \'--bs=\'. Expect 0 or greater\n");\n      goto LAB_00011a7a;\n    }" { (expression_statement "pr2serr("bad argument to \'--bs=\'. Expect 0 or greater\n");" (call_expression "pr2serr("bad argument to \'--bs=\'. Expect 0 or greater\n")" identifier (argument_list "("bad argument to \'--bs=\'. Expect 0 or greater\n")" ( (string_literal ""bad argument to \'--bs=\'. Expect 0 or greater\n"" " string_content escape_sequence string_content escape_sequence string_content escape_sequence ") ))) ;) (goto_statement "goto LAB_00011a7a;" goto statement_identifier ;) })) (if_statement "if (psVar26 == (stat64 *)0x0) {\n      local_820._72_4_ = (stat64 *)0x0;\n      local_820._76_4_ = (stat64 *)0x0;\n      psVar20 = (stat64 *)local_820._80_4_;\n      uVar34 = local_820._92_4_;\n      uVar10 = local_820._96_4_;\n    }\n    else {\n      if ((int)psVar26 < 0x200) {\n        pr2serr("warning: --bs=BS value is < 512 which seems too small, continue\n");\n        bVar1 = 1;\n      }\n      if (((uint)psVar26 & 7) != 0) {\n        pr2serr("warning: --bs=BS value is not a multiple of 8, unexpected, continue\n");\n        bVar1 = 1;\n      }\n      iVar23 = 0;\n      iVar13 = 0;\n      psVar20 = psVar26;\n      do {\n        if (((uint)psVar20 & 1) != 0) {\n          iVar23 = iVar13;\n        }\n        iVar13 = iVar13 + 1;\n        psVar20 = (stat64 *)((int)psVar20 >> 1);\n      } while (iVar13 != 0x1c);\n      psVar11 = (stat64 *)(1 << ((byte)iVar23 & 0x1f));\n      local_820._72_4_ = psVar26;\n      local_820._76_4_ = psVar26;\n      psVar20 = (stat64 *)local_820._80_4_;\n      uVar34 = local_820._92_4_;\n      uVar10 = local_820._96_4_;\n      if (psVar26 != psVar11) {\n        local_820._72_4_ = psVar11;\n      }\n    }" if (parenthesized_expression "(psVar26 == (stat64 *)0x0)" ( (binary_expression "psVar26 == (stat64 *)0x0" identifier == (cast_expression "(stat64 *)0x0" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      local_820._72_4_ = (stat64 *)0x0;\n      local_820._76_4_ = (stat64 *)0x0;\n      psVar20 = (stat64 *)local_820._80_4_;\n      uVar34 = local_820._92_4_;\n      uVar10 = local_820._96_4_;\n    }" { (expression_statement "local_820._72_4_ = (stat64 *)0x0;" (assignment_expression "local_820._72_4_ = (stat64 *)0x0" (field_expression "local_820._72_4_" identifier . field_identifier) = (cast_expression "(stat64 *)0x0" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_820._76_4_ = (stat64 *)0x0;" (assignment_expression "local_820._76_4_ = (stat64 *)0x0" (field_expression "local_820._76_4_" identifier . field_identifier) = (cast_expression "(stat64 *)0x0" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "psVar20 = (stat64 *)local_820._80_4_;" (assignment_expression "psVar20 = (stat64 *)local_820._80_4_" identifier = (cast_expression "(stat64 *)local_820._80_4_" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "local_820._80_4_" identifier . field_identifier))) ;) (expression_statement "uVar34 = local_820._92_4_;" (assignment_expression "uVar34 = local_820._92_4_" identifier = (field_expression "local_820._92_4_" identifier . field_identifier)) ;) (expression_statement "uVar10 = local_820._96_4_;" (assignment_expression "uVar10 = local_820._96_4_" identifier = (field_expression "local_820._96_4_" identifier . field_identifier)) ;) }) (else_clause "else {\n      if ((int)psVar26 < 0x200) {\n        pr2serr("warning: --bs=BS value is < 512 which seems too small, continue\n");\n        bVar1 = 1;\n      }\n      if (((uint)psVar26 & 7) != 0) {\n        pr2serr("warning: --bs=BS value is not a multiple of 8, unexpected, continue\n");\n        bVar1 = 1;\n      }\n      iVar23 = 0;\n      iVar13 = 0;\n      psVar20 = psVar26;\n      do {\n        if (((uint)psVar20 & 1) != 0) {\n          iVar23 = iVar13;\n        }\n        iVar13 = iVar13 + 1;\n        psVar20 = (stat64 *)((int)psVar20 >> 1);\n      } while (iVar13 != 0x1c);\n      psVar11 = (stat64 *)(1 << ((byte)iVar23 & 0x1f));\n      local_820._72_4_ = psVar26;\n      local_820._76_4_ = psVar26;\n      psVar20 = (stat64 *)local_820._80_4_;\n      uVar34 = local_820._92_4_;\n      uVar10 = local_820._96_4_;\n      if (psVar26 != psVar11) {\n        local_820._72_4_ = psVar11;\n      }\n    }" else (compound_statement "{\n      if ((int)psVar26 < 0x200) {\n        pr2serr("warning: --bs=BS value is < 512 which seems too small, continue\n");\n        bVar1 = 1;\n      }\n      if (((uint)psVar26 & 7) != 0) {\n        pr2serr("warning: --bs=BS value is not a multiple of 8, unexpected, continue\n");\n        bVar1 = 1;\n      }\n      iVar23 = 0;\n      iVar13 = 0;\n      psVar20 = psVar26;\n      do {\n        if (((uint)psVar20 & 1) != 0) {\n          iVar23 = iVar13;\n        }\n        iVar13 = iVar13 + 1;\n        psVar20 = (stat64 *)((int)psVar20 >> 1);\n      } while (iVar13 != 0x1c);\n      psVar11 = (stat64 *)(1 << ((byte)iVar23 & 0x1f));\n      local_820._72_4_ = psVar26;\n      local_820._76_4_ = psVar26;\n      psVar20 = (stat64 *)local_820._80_4_;\n      uVar34 = local_820._92_4_;\n      uVar10 = local_820._96_4_;\n      if (psVar26 != psVar11) {\n        local_820._72_4_ = psVar11;\n      }\n    }" { (if_statement "if ((int)psVar26 < 0x200) {\n        pr2serr("warning: --bs=BS value is < 512 which seems too small, continue\n");\n        bVar1 = 1;\n      }" if (parenthesized_expression "((int)psVar26 < 0x200)" ( (binary_expression "(int)psVar26 < 0x200" (cast_expression "(int)psVar26" ( (type_descriptor "int" primitive_type) ) identifier) < number_literal) )) (compound_statement "{\n        pr2serr("warning: --bs=BS value is < 512 which seems too small, continue\n");\n        bVar1 = 1;\n      }" { (expression_statement "pr2serr("warning: --bs=BS value is < 512 which seems too small, continue\n");" (call_expression "pr2serr("warning: --bs=BS value is < 512 which seems too small, continue\n")" identifier (argument_list "("warning: --bs=BS value is < 512 which seems too small, continue\n")" ( (string_literal ""warning: --bs=BS value is < 512 which seems too small, continue\n"" " string_content escape_sequence ") ))) ;) (expression_statement "bVar1 = 1;" (assignment_expression "bVar1 = 1" identifier = number_literal) ;) })) (if_statement "if (((uint)psVar26 & 7) != 0) {\n        pr2serr("warning: --bs=BS value is not a multiple of 8, unexpected, continue\n");\n        bVar1 = 1;\n      }" if (parenthesized_expression "(((uint)psVar26 & 7) != 0)" ( (binary_expression "((uint)psVar26 & 7) != 0" (parenthesized_expression "((uint)psVar26 & 7)" ( (binary_expression "(uint)psVar26 & 7" (cast_expression "(uint)psVar26" ( (type_descriptor "uint" type_identifier) ) identifier) & number_literal) )) != number_literal) )) (compound_statement "{\n        pr2serr("warning: --bs=BS value is not a multiple of 8, unexpected, continue\n");\n        bVar1 = 1;\n      }" { (expression_statement "pr2serr("warning: --bs=BS value is not a multiple of 8, unexpected, continue\n");" (call_expression "pr2serr("warning: --bs=BS value is not a multiple of 8, unexpected, continue\n")" identifier (argument_list "("warning: --bs=BS value is not a multiple of 8, unexpected, continue\n")" ( (string_literal ""warning: --bs=BS value is not a multiple of 8, unexpected, continue\n"" " string_content escape_sequence ") ))) ;) (expression_statement "bVar1 = 1;" (assignment_expression "bVar1 = 1" identifier = number_literal) ;) })) (expression_statement "iVar23 = 0;" (assignment_expression "iVar23 = 0" identifier = number_literal) ;) (expression_statement "iVar13 = 0;" (assignment_expression "iVar13 = 0" identifier = number_literal) ;) (expression_statement "psVar20 = psVar26;" (assignment_expression "psVar20 = psVar26" identifier = identifier) ;) (do_statement "do {\n        if (((uint)psVar20 & 1) != 0) {\n          iVar23 = iVar13;\n        }\n        iVar13 = iVar13 + 1;\n        psVar20 = (stat64 *)((int)psVar20 >> 1);\n      } while (iVar13 != 0x1c);" do (compound_statement "{\n        if (((uint)psVar20 & 1) != 0) {\n          iVar23 = iVar13;\n        }\n        iVar13 = iVar13 + 1;\n        psVar20 = (stat64 *)((int)psVar20 >> 1);\n      }" { (if_statement "if (((uint)psVar20 & 1) != 0) {\n          iVar23 = iVar13;\n        }" if (parenthesized_expression "(((uint)psVar20 & 1) != 0)" ( (binary_expression "((uint)psVar20 & 1) != 0" (parenthesized_expression "((uint)psVar20 & 1)" ( (binary_expression "(uint)psVar20 & 1" (cast_expression "(uint)psVar20" ( (type_descriptor "uint" type_identifier) ) identifier) & number_literal) )) != number_literal) )) (compound_statement "{\n          iVar23 = iVar13;\n        }" { (expression_statement "iVar23 = iVar13;" (assignment_expression "iVar23 = iVar13" identifier = identifier) ;) })) (expression_statement "iVar13 = iVar13 + 1;" (assignment_expression "iVar13 = iVar13 + 1" identifier = (binary_expression "iVar13 + 1" identifier + number_literal)) ;) (expression_statement "psVar20 = (stat64 *)((int)psVar20 >> 1);" (assignment_expression "psVar20 = (stat64 *)((int)psVar20 >> 1)" identifier = (cast_expression "(stat64 *)((int)psVar20 >> 1)" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)psVar20 >> 1)" ( (binary_expression "(int)psVar20 >> 1" (cast_expression "(int)psVar20" ( (type_descriptor "int" primitive_type) ) identifier) >> number_literal) )))) ;) }) while (parenthesized_expression "(iVar13 != 0x1c)" ( (binary_expression "iVar13 != 0x1c" identifier != number_literal) )) ;) (expression_statement "psVar11 = (stat64 *)(1 << ((byte)iVar23 & 0x1f));" (assignment_expression "psVar11 = (stat64 *)(1 << ((byte)iVar23 & 0x1f))" identifier = (cast_expression "(stat64 *)(1 << ((byte)iVar23 & 0x1f))" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(1 << ((byte)iVar23 & 0x1f))" ( (binary_expression "1 << ((byte)iVar23 & 0x1f)" number_literal << (parenthesized_expression "((byte)iVar23 & 0x1f)" ( (binary_expression "(byte)iVar23 & 0x1f" (cast_expression "(byte)iVar23" ( (type_descriptor "byte" type_identifier) ) identifier) & number_literal) ))) )))) ;) (expression_statement "local_820._72_4_ = psVar26;" (assignment_expression "local_820._72_4_ = psVar26" (field_expression "local_820._72_4_" identifier . field_identifier) = identifier) ;) (expression_statement "local_820._76_4_ = psVar26;" (assignment_expression "local_820._76_4_ = psVar26" (field_expression "local_820._76_4_" identifier . field_identifier) = identifier) ;) (expression_statement "psVar20 = (stat64 *)local_820._80_4_;" (assignment_expression "psVar20 = (stat64 *)local_820._80_4_" identifier = (cast_expression "(stat64 *)local_820._80_4_" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "local_820._80_4_" identifier . field_identifier))) ;) (expression_statement "uVar34 = local_820._92_4_;" (assignment_expression "uVar34 = local_820._92_4_" identifier = (field_expression "local_820._92_4_" identifier . field_identifier)) ;) (expression_statement "uVar10 = local_820._96_4_;" (assignment_expression "uVar10 = local_820._96_4_" identifier = (field_expression "local_820._96_4_" identifier . field_identifier)) ;) (if_statement "if (psVar26 != psVar11) {\n        local_820._72_4_ = psVar11;\n      }" if (parenthesized_expression "(psVar26 != psVar11)" ( (binary_expression "psVar26 != psVar11" identifier != identifier) )) (compound_statement "{\n        local_820._72_4_ = psVar11;\n      }" { (expression_statement "local_820._72_4_ = psVar11;" (assignment_expression "local_820._72_4_ = psVar11" (field_expression "local_820._72_4_" identifier . field_identifier) = identifier) ;) })) }))) (goto_statement "goto LAB_000114e8;" goto statement_identifier ;)) (case_statement "case 99:\n    iVar23 = sg_get_num(*(undefined4 *)PTR_optarg_0001dffc);\n    if (iVar23 < 0) {\n      pr2serr("bad argument to \'--combined=\'. Expect 0 to 0x7fffffff\n");\n      goto LAB_00011a7a;\n    }\n    local_820._62_2_ = (undefined2)iVar23;\n    local_820[4] = true;\n    psVar20 = (stat64 *)local_820._80_4_;\n    uVar34 = local_820._92_4_;\n    uVar10 = local_820._96_4_;\n    goto LAB_000114e8;" case number_literal : (expression_statement "iVar23 = sg_get_num(*(undefined4 *)PTR_optarg_0001dffc);" (assignment_expression "iVar23 = sg_get_num(*(undefined4 *)PTR_optarg_0001dffc)" identifier = (call_expression "sg_get_num(*(undefined4 *)PTR_optarg_0001dffc)" identifier (argument_list "(*(undefined4 *)PTR_optarg_0001dffc)" ( (pointer_expression "*(undefined4 *)PTR_optarg_0001dffc" * (cast_expression "(undefined4 *)PTR_optarg_0001dffc" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )))) ;) (if_statement "if (iVar23 < 0) {\n      pr2serr("bad argument to \'--combined=\'. Expect 0 to 0x7fffffff\n");\n      goto LAB_00011a7a;\n    }" if (parenthesized_expression "(iVar23 < 0)" ( (binary_expression "iVar23 < 0" identifier < number_literal) )) (compound_statement "{\n      pr2serr("bad argument to \'--combined=\'. Expect 0 to 0x7fffffff\n");\n      goto LAB_00011a7a;\n    }" { (expression_statement "pr2serr("bad argument to \'--combined=\'. Expect 0 to 0x7fffffff\n");" (call_expression "pr2serr("bad argument to \'--combined=\'. Expect 0 to 0x7fffffff\n")" identifier (argument_list "("bad argument to \'--combined=\'. Expect 0 to 0x7fffffff\n")" ( (string_literal ""bad argument to \'--combined=\'. Expect 0 to 0x7fffffff\n"" " string_content escape_sequence string_content escape_sequence string_content escape_sequence ") ))) ;) (goto_statement "goto LAB_00011a7a;" goto statement_identifier ;) })) (expression_statement "local_820._62_2_ = (undefined2)iVar23;" (assignment_expression "local_820._62_2_ = (undefined2)iVar23" (field_expression "local_820._62_2_" identifier . field_identifier) = (cast_expression "(undefined2)iVar23" ( (type_descriptor "undefined2" type_identifier) ) identifier)) ;) (expression_statement "local_820[4] = true;" (assignment_expression "local_820[4] = true" (subscript_expression "local_820[4]" identifier [ number_literal ]) = true) ;) (expression_statement "psVar20 = (stat64 *)local_820._80_4_;" (assignment_expression "psVar20 = (stat64 *)local_820._80_4_" identifier = (cast_expression "(stat64 *)local_820._80_4_" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "local_820._80_4_" identifier . field_identifier))) ;) (expression_statement "uVar34 = local_820._92_4_;" (assignment_expression "uVar34 = local_820._92_4_" identifier = (field_expression "local_820._92_4_" identifier . field_identifier)) ;) (expression_statement "uVar10 = local_820._96_4_;" (assignment_expression "uVar10 = local_820._96_4_" identifier = (field_expression "local_820._96_4_" identifier . field_identifier)) ;) (goto_statement "goto LAB_000114e8;" goto statement_identifier ;)) (case_statement "case 100:\n    local_820[0xe] = true;\n    goto LAB_000114e8;" case number_literal : (expression_statement "local_820[0xe] = true;" (assignment_expression "local_820[0xe] = true" (subscript_expression "local_820[0xe]" identifier [ number_literal ]) = true) ;) (goto_statement "goto LAB_000114e8;" goto statement_identifier ;)) (case_statement "case 0x66:\n    local_820[0xf] = true;\n    goto LAB_000114e8;" case number_literal : (expression_statement "local_820[0xf] = true;" (assignment_expression "local_820[0xf] = true" (subscript_expression "local_820[0xf]" identifier [ number_literal ]) = true) ;) (goto_statement "goto LAB_000114e8;" goto statement_identifier ;)) (case_statement "case 0x67:\n    local_820._28_4_ = sg_get_num(*(undefined4 *)PTR_optarg_0001dffc);\n    psVar20 = (stat64 *)local_820._80_4_;\n    uVar34 = local_820._92_4_;\n    uVar10 = local_820._96_4_;\n    if (0x3f < (uint)local_820._28_4_) {\n      pr2serr("bad argument to \'--grpnum\'\n");\n      goto LAB_00011a7a;\n    }\n    goto LAB_000114e8;" case number_literal : (expression_statement "local_820._28_4_ = sg_get_num(*(undefined4 *)PTR_optarg_0001dffc);" (assignment_expression "local_820._28_4_ = sg_get_num(*(undefined4 *)PTR_optarg_0001dffc)" (field_expression "local_820._28_4_" identifier . field_identifier) = (call_expression "sg_get_num(*(undefined4 *)PTR_optarg_0001dffc)" identifier (argument_list "(*(undefined4 *)PTR_optarg_0001dffc)" ( (pointer_expression "*(undefined4 *)PTR_optarg_0001dffc" * (cast_expression "(undefined4 *)PTR_optarg_0001dffc" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )))) ;) (expression_statement "psVar20 = (stat64 *)local_820._80_4_;" (assignment_expression "psVar20 = (stat64 *)local_820._80_4_" identifier = (cast_expression "(stat64 *)local_820._80_4_" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "local_820._80_4_" identifier . field_identifier))) ;) (expression_statement "uVar34 = local_820._92_4_;" (assignment_expression "uVar34 = local_820._92_4_" identifier = (field_expression "local_820._92_4_" identifier . field_identifier)) ;) (expression_statement "uVar10 = local_820._96_4_;" (assignment_expression "uVar10 = local_820._96_4_" identifier = (field_expression "local_820._96_4_" identifier . field_identifier)) ;) (if_statement "if (0x3f < (uint)local_820._28_4_) {\n      pr2serr("bad argument to \'--grpnum\'\n");\n      goto LAB_00011a7a;\n    }" if (parenthesized_expression "(0x3f < (uint)local_820._28_4_)" ( (binary_expression "0x3f < (uint)local_820._28_4_" number_literal < (cast_expression "(uint)local_820._28_4_" ( (type_descriptor "uint" type_identifier) ) (field_expression "local_820._28_4_" identifier . field_identifier))) )) (compound_statement "{\n      pr2serr("bad argument to \'--grpnum\'\n");\n      goto LAB_00011a7a;\n    }" { (expression_statement "pr2serr("bad argument to \'--grpnum\'\n");" (call_expression "pr2serr("bad argument to \'--grpnum\'\n")" identifier (argument_list "("bad argument to \'--grpnum\'\n")" ( (string_literal ""bad argument to \'--grpnum\'\n"" " string_content escape_sequence string_content escape_sequence escape_sequence ") ))) ;) (goto_statement "goto LAB_00011a7a;" goto statement_identifier ;) })) (goto_statement "goto LAB_000114e8;" goto statement_identifier ;)) (case_statement "case 0x68:\n    local_820._32_4_ = local_820._32_4_ + 1;\n    goto LAB_000114e8;" case number_literal : (expression_statement "local_820._32_4_ = local_820._32_4_ + 1;" (assignment_expression "local_820._32_4_ = local_820._32_4_ + 1" (field_expression "local_820._32_4_" identifier . field_identifier) = (binary_expression "local_820._32_4_ + 1" (field_expression "local_820._32_4_" identifier . field_identifier) + number_literal)) ;) (goto_statement "goto LAB_000114e8;" goto statement_identifier ;)) (case_statement "case 0x69:\n    local_79c = *(char **)PTR_optarg_0001dffc;\n    goto LAB_000114e8;" case number_literal : (expression_statement "local_79c = *(char **)PTR_optarg_0001dffc;" (assignment_expression "local_79c = *(char **)PTR_optarg_0001dffc" identifier = (pointer_expression "*(char **)PTR_optarg_0001dffc" * (cast_expression "(char **)PTR_optarg_0001dffc" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier))) ;) (goto_statement "goto LAB_000114e8;" goto statement_identifier ;)) (case_statement "case 0x6c:\n    if (local_91c != (stat64 *)0x0) {\n      pr2serr("only expect \'--lba=\' option once\n");\n      goto LAB_00011a7a;\n    }\n    local_91c = *(stat64 **)PTR_optarg_0001dffc;\n    goto LAB_000114e8;" case number_literal : (if_statement "if (local_91c != (stat64 *)0x0) {\n      pr2serr("only expect \'--lba=\' option once\n");\n      goto LAB_00011a7a;\n    }" if (parenthesized_expression "(local_91c != (stat64 *)0x0)" ( (binary_expression "local_91c != (stat64 *)0x0" identifier != (cast_expression "(stat64 *)0x0" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      pr2serr("only expect \'--lba=\' option once\n");\n      goto LAB_00011a7a;\n    }" { (expression_statement "pr2serr("only expect \'--lba=\' option once\n");" (call_expression "pr2serr("only expect \'--lba=\' option once\n")" identifier (argument_list "("only expect \'--lba=\' option once\n")" ( (string_literal ""only expect \'--lba=\' option once\n"" " string_content escape_sequence string_content escape_sequence string_content escape_sequence ") ))) ;) (goto_statement "goto LAB_00011a7a;" goto statement_identifier ;) })) (expression_statement "local_91c = *(stat64 **)PTR_optarg_0001dffc;" (assignment_expression "local_91c = *(stat64 **)PTR_optarg_0001dffc" identifier = (pointer_expression "*(stat64 **)PTR_optarg_0001dffc" * (cast_expression "(stat64 **)PTR_optarg_0001dffc" ( (type_descriptor "stat64 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier))) ;) (goto_statement "goto LAB_000114e8;" goto statement_identifier ;)) (case_statement "case 0x6e:\n    if (local_918 != (stat64 *)0x0) {\n      pr2serr("only expect \'--num=\' option once\n");\n      goto LAB_00011a7a;\n    }\n    local_918 = *(stat64 **)PTR_optarg_0001dffc;\n    goto LAB_000114e8;" case number_literal : (if_statement "if (local_918 != (stat64 *)0x0) {\n      pr2serr("only expect \'--num=\' option once\n");\n      goto LAB_00011a7a;\n    }" if (parenthesized_expression "(local_918 != (stat64 *)0x0)" ( (binary_expression "local_918 != (stat64 *)0x0" identifier != (cast_expression "(stat64 *)0x0" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      pr2serr("only expect \'--num=\' option once\n");\n      goto LAB_00011a7a;\n    }" { (expression_statement "pr2serr("only expect \'--num=\' option once\n");" (call_expression "pr2serr("only expect \'--num=\' option once\n")" identifier (argument_list "("only expect \'--num=\' option once\n")" ( (string_literal ""only expect \'--num=\' option once\n"" " string_content escape_sequence string_content escape_sequence string_content escape_sequence ") ))) ;) (goto_statement "goto LAB_00011a7a;" goto statement_identifier ;) })) (expression_statement "local_918 = *(stat64 **)PTR_optarg_0001dffc;" (assignment_expression "local_918 = *(stat64 **)PTR_optarg_0001dffc" identifier = (pointer_expression "*(stat64 **)PTR_optarg_0001dffc" * (cast_expression "(stat64 **)PTR_optarg_0001dffc" ( (type_descriptor "stat64 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier))) ;) (goto_statement "goto LAB_000114e8;" goto statement_identifier ;)) (case_statement "case 0x6f:\n    lVar39 = sg_get_llnum(*(undefined4 *)PTR_optarg_0001dffc);\n    psVar26 = (stat64 *)lVar39;\n    if (lVar39 == -1) {\n      pr2serr("bad first argument to \'--offset=\'\n");\n      goto LAB_00011a7a;\n    }\n    uVar19 = 0x2c;\n    psVar11 = psVar26;\n    local_820._108_4_ = psVar26;\n    local_7b0 = (stat64 *)((ulonglong)lVar39 >> 0x20);\n    pcVar18 = strchr(*(char **)puVar6,0x2c);\n    psVar20 = (stat64 *)local_820._80_4_;\n    uVar34 = local_820._92_4_;\n    uVar10 = local_820._96_4_;\n    if (pcVar18 != (char *)0x0) {\n      lVar39 = sg_get_llnum(pcVar18 + 1,uVar19,psVar26,psVar11);\n      psVar20 = (stat64 *)lVar39;\n      uVar34 = local_820._92_4_;\n      uVar10 = local_820._96_4_;\n      if ((int)((ulonglong)lVar39 >> 0x20) == -1) {\n        if (psVar20 == (stat64 *)0xffffffff) {\n          pr2serr("bad second argument to \'--offset=\'\n");\n          goto LAB_00011a7a;\n        }\n      }\n      else if (0xffffffff < lVar39) {\n        pr2serr("bad second argument to \'--offset=\', cannot exceed 32 bits\n");\n        goto LAB_00011a7a;\n      }\n    }\n    goto LAB_000114e8;" case number_literal : (expression_statement "lVar39 = sg_get_llnum(*(undefined4 *)PTR_optarg_0001dffc);" (assignment_expression "lVar39 = sg_get_llnum(*(undefined4 *)PTR_optarg_0001dffc)" identifier = (call_expression "sg_get_llnum(*(undefined4 *)PTR_optarg_0001dffc)" identifier (argument_list "(*(undefined4 *)PTR_optarg_0001dffc)" ( (pointer_expression "*(undefined4 *)PTR_optarg_0001dffc" * (cast_expression "(undefined4 *)PTR_optarg_0001dffc" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )))) ;) (expression_statement "psVar26 = (stat64 *)lVar39;" (assignment_expression "psVar26 = (stat64 *)lVar39" identifier = (cast_expression "(stat64 *)lVar39" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (if_statement "if (lVar39 == -1) {\n      pr2serr("bad first argument to \'--offset=\'\n");\n      goto LAB_00011a7a;\n    }" if (parenthesized_expression "(lVar39 == -1)" ( (binary_expression "lVar39 == -1" identifier == number_literal) )) (compound_statement "{\n      pr2serr("bad first argument to \'--offset=\'\n");\n      goto LAB_00011a7a;\n    }" { (expression_statement "pr2serr("bad first argument to \'--offset=\'\n");" (call_expression "pr2serr("bad first argument to \'--offset=\'\n")" identifier (argument_list "("bad first argument to \'--offset=\'\n")" ( (string_literal ""bad first argument to \'--offset=\'\n"" " string_content escape_sequence string_content escape_sequence escape_sequence ") ))) ;) (goto_statement "goto LAB_00011a7a;" goto statement_identifier ;) })) (expression_statement "uVar19 = 0x2c;" (assignment_expression "uVar19 = 0x2c" identifier = number_literal) ;) (expression_statement "psVar11 = psVar26;" (assignment_expression "psVar11 = psVar26" identifier = identifier) ;) (expression_statement "local_820._108_4_ = psVar26;" (assignment_expression "local_820._108_4_ = psVar26" (field_expression "local_820._108_4_" identifier . field_identifier) = identifier) ;) (expression_statement "local_7b0 = (stat64 *)((ulonglong)lVar39 >> 0x20);" (assignment_expression "local_7b0 = (stat64 *)((ulonglong)lVar39 >> 0x20)" identifier = (cast_expression "(stat64 *)((ulonglong)lVar39 >> 0x20)" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((ulonglong)lVar39 >> 0x20)" ( (binary_expression "(ulonglong)lVar39 >> 0x20" (cast_expression "(ulonglong)lVar39" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) )))) ;) (expression_statement "pcVar18 = strchr(*(char **)puVar6,0x2c);" (assignment_expression "pcVar18 = strchr(*(char **)puVar6,0x2c)" identifier = (call_expression "strchr(*(char **)puVar6,0x2c)" identifier (argument_list "(*(char **)puVar6,0x2c)" ( (pointer_expression "*(char **)puVar6" * (cast_expression "(char **)puVar6" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier)) , number_literal )))) ;) (expression_statement "psVar20 = (stat64 *)local_820._80_4_;" (assignment_expression "psVar20 = (stat64 *)local_820._80_4_" identifier = (cast_expression "(stat64 *)local_820._80_4_" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "local_820._80_4_" identifier . field_identifier))) ;) (expression_statement "uVar34 = local_820._92_4_;" (assignment_expression "uVar34 = local_820._92_4_" identifier = (field_expression "local_820._92_4_" identifier . field_identifier)) ;) (expression_statement "uVar10 = local_820._96_4_;" (assignment_expression "uVar10 = local_820._96_4_" identifier = (field_expression "local_820._96_4_" identifier . field_identifier)) ;) (if_statement "if (pcVar18 != (char *)0x0) {\n      lVar39 = sg_get_llnum(pcVar18 + 1,uVar19,psVar26,psVar11);\n      psVar20 = (stat64 *)lVar39;\n      uVar34 = local_820._92_4_;\n      uVar10 = local_820._96_4_;\n      if ((int)((ulonglong)lVar39 >> 0x20) == -1) {\n        if (psVar20 == (stat64 *)0xffffffff) {\n          pr2serr("bad second argument to \'--offset=\'\n");\n          goto LAB_00011a7a;\n        }\n      }\n      else if (0xffffffff < lVar39) {\n        pr2serr("bad second argument to \'--offset=\', cannot exceed 32 bits\n");\n        goto LAB_00011a7a;\n      }\n    }" if (parenthesized_expression "(pcVar18 != (char *)0x0)" ( (binary_expression "pcVar18 != (char *)0x0" identifier != (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      lVar39 = sg_get_llnum(pcVar18 + 1,uVar19,psVar26,psVar11);\n      psVar20 = (stat64 *)lVar39;\n      uVar34 = local_820._92_4_;\n      uVar10 = local_820._96_4_;\n      if ((int)((ulonglong)lVar39 >> 0x20) == -1) {\n        if (psVar20 == (stat64 *)0xffffffff) {\n          pr2serr("bad second argument to \'--offset=\'\n");\n          goto LAB_00011a7a;\n        }\n      }\n      else if (0xffffffff < lVar39) {\n        pr2serr("bad second argument to \'--offset=\', cannot exceed 32 bits\n");\n        goto LAB_00011a7a;\n      }\n    }" { (expression_statement "lVar39 = sg_get_llnum(pcVar18 + 1,uVar19,psVar26,psVar11);" (assignment_expression "lVar39 = sg_get_llnum(pcVar18 + 1,uVar19,psVar26,psVar11)" identifier = (call_expression "sg_get_llnum(pcVar18 + 1,uVar19,psVar26,psVar11)" identifier (argument_list "(pcVar18 + 1,uVar19,psVar26,psVar11)" ( (binary_expression "pcVar18 + 1" identifier + number_literal) , identifier , identifier , identifier )))) ;) (expression_statement "psVar20 = (stat64 *)lVar39;" (assignment_expression "psVar20 = (stat64 *)lVar39" identifier = (cast_expression "(stat64 *)lVar39" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "uVar34 = local_820._92_4_;" (assignment_expression "uVar34 = local_820._92_4_" identifier = (field_expression "local_820._92_4_" identifier . field_identifier)) ;) (expression_statement "uVar10 = local_820._96_4_;" (assignment_expression "uVar10 = local_820._96_4_" identifier = (field_expression "local_820._96_4_" identifier . field_identifier)) ;) (if_statement "if ((int)((ulonglong)lVar39 >> 0x20) == -1) {\n        if (psVar20 == (stat64 *)0xffffffff) {\n          pr2serr("bad second argument to \'--offset=\'\n");\n          goto LAB_00011a7a;\n        }\n      }\n      else if (0xffffffff < lVar39) {\n        pr2serr("bad second argument to \'--offset=\', cannot exceed 32 bits\n");\n        goto LAB_00011a7a;\n      }" if (parenthesized_expression "((int)((ulonglong)lVar39 >> 0x20) == -1)" ( (binary_expression "(int)((ulonglong)lVar39 >> 0x20) == -1" (cast_expression "(int)((ulonglong)lVar39 >> 0x20)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((ulonglong)lVar39 >> 0x20)" ( (binary_expression "(ulonglong)lVar39 >> 0x20" (cast_expression "(ulonglong)lVar39" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) ))) == number_literal) )) (compound_statement "{\n        if (psVar20 == (stat64 *)0xffffffff) {\n          pr2serr("bad second argument to \'--offset=\'\n");\n          goto LAB_00011a7a;\n        }\n      }" { (if_statement "if (psVar20 == (stat64 *)0xffffffff) {\n          pr2serr("bad second argument to \'--offset=\'\n");\n          goto LAB_00011a7a;\n        }" if (parenthesized_expression "(psVar20 == (stat64 *)0xffffffff)" ( (binary_expression "psVar20 == (stat64 *)0xffffffff" identifier == (cast_expression "(stat64 *)0xffffffff" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n          pr2serr("bad second argument to \'--offset=\'\n");\n          goto LAB_00011a7a;\n        }" { (expression_statement "pr2serr("bad second argument to \'--offset=\'\n");" (call_expression "pr2serr("bad second argument to \'--offset=\'\n")" identifier (argument_list "("bad second argument to \'--offset=\'\n")" ( (string_literal ""bad second argument to \'--offset=\'\n"" " string_content escape_sequence string_content escape_sequence escape_sequence ") ))) ;) (goto_statement "goto LAB_00011a7a;" goto statement_identifier ;) })) }) (else_clause "else if (0xffffffff < lVar39) {\n        pr2serr("bad second argument to \'--offset=\', cannot exceed 32 bits\n");\n        goto LAB_00011a7a;\n      }" else (if_statement "if (0xffffffff < lVar39) {\n        pr2serr("bad second argument to \'--offset=\', cannot exceed 32 bits\n");\n        goto LAB_00011a7a;\n      }" if (parenthesized_expression "(0xffffffff < lVar39)" ( (binary_expression "0xffffffff < lVar39" number_literal < identifier) )) (compound_statement "{\n        pr2serr("bad second argument to \'--offset=\', cannot exceed 32 bits\n");\n        goto LAB_00011a7a;\n      }" { (expression_statement "pr2serr("bad second argument to \'--offset=\', cannot exceed 32 bits\n");" (call_expression "pr2serr("bad second argument to \'--offset=\', cannot exceed 32 bits\n")" identifier (argument_list "("bad second argument to \'--offset=\', cannot exceed 32 bits\n")" ( (string_literal ""bad second argument to \'--offset=\', cannot exceed 32 bits\n"" " string_content escape_sequence string_content escape_sequence string_content escape_sequence ") ))) ;) (goto_statement "goto LAB_00011a7a;" goto statement_identifier ;) })))) })) (goto_statement "goto LAB_000114e8;" goto statement_identifier ;)) (case_statement "case 0x71:\n    local_798 = *(char **)PTR_optarg_0001dffc;\n    goto LAB_000114e8;" case number_literal : (expression_statement "local_798 = *(char **)PTR_optarg_0001dffc;" (assignment_expression "local_798 = *(char **)PTR_optarg_0001dffc" identifier = (pointer_expression "*(char **)PTR_optarg_0001dffc" * (cast_expression "(char **)PTR_optarg_0001dffc" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier))) ;) (goto_statement "goto LAB_000114e8;" goto statement_identifier ;)) (case_statement "case 0x72:\n    goto _L476;" case number_literal : (goto_statement "goto _L476;" goto statement_identifier ;)) (case_statement "case 0x73:\n    local_820._40_4_ = local_820._40_4_ + 1;\n    goto LAB_000114e8;" case number_literal : (expression_statement "local_820._40_4_ = local_820._40_4_ + 1;" (assignment_expression "local_820._40_4_ = local_820._40_4_ + 1" (field_expression "local_820._40_4_" identifier . field_identifier) = (binary_expression "local_820._40_4_ + 1" (field_expression "local_820._40_4_" identifier . field_identifier) + number_literal)) ;) (goto_statement "goto LAB_000114e8;" goto statement_identifier ;)) (case_statement "case 0x74:\n    uVar10 = sg_get_num(*(undefined4 *)PTR_optarg_0001dffc);\n    if (0xffff < uVar10) {\n      pr2serr("bad argument to \'--tag-mask=\'. Expect 0 to 0xffff inclusive\n");\n      goto LAB_00011a7a;\n    }\n    local_820._68_2_ = (undefined2)uVar10;\n    psVar20 = (stat64 *)local_820._80_4_;\n    uVar34 = local_820._92_4_;\n    uVar10 = local_820._96_4_;\n    goto LAB_000114e8;" case number_literal : (expression_statement "uVar10 = sg_get_num(*(undefined4 *)PTR_optarg_0001dffc);" (assignment_expression "uVar10 = sg_get_num(*(undefined4 *)PTR_optarg_0001dffc)" identifier = (call_expression "sg_get_num(*(undefined4 *)PTR_optarg_0001dffc)" identifier (argument_list "(*(undefined4 *)PTR_optarg_0001dffc)" ( (pointer_expression "*(undefined4 *)PTR_optarg_0001dffc" * (cast_expression "(undefined4 *)PTR_optarg_0001dffc" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )))) ;) (if_statement "if (0xffff < uVar10) {\n      pr2serr("bad argument to \'--tag-mask=\'. Expect 0 to 0xffff inclusive\n");\n      goto LAB_00011a7a;\n    }" if (parenthesized_expression "(0xffff < uVar10)" ( (binary_expression "0xffff < uVar10" number_literal < identifier) )) (compound_statement "{\n      pr2serr("bad argument to \'--tag-mask=\'. Expect 0 to 0xffff inclusive\n");\n      goto LAB_00011a7a;\n    }" { (expression_statement "pr2serr("bad argument to \'--tag-mask=\'. Expect 0 to 0xffff inclusive\n");" (call_expression "pr2serr("bad argument to \'--tag-mask=\'. Expect 0 to 0xffff inclusive\n")" identifier (argument_list "("bad argument to \'--tag-mask=\'. Expect 0 to 0xffff inclusive\n")" ( (string_literal ""bad argument to \'--tag-mask=\'. Expect 0 to 0xffff inclusive\n"" " string_content escape_sequence string_content escape_sequence string_content escape_sequence ") ))) ;) (goto_statement "goto LAB_00011a7a;" goto statement_identifier ;) })) (expression_statement "local_820._68_2_ = (undefined2)uVar10;" (assignment_expression "local_820._68_2_ = (undefined2)uVar10" (field_expression "local_820._68_2_" identifier . field_identifier) = (cast_expression "(undefined2)uVar10" ( (type_descriptor "undefined2" type_identifier) ) identifier)) ;) (expression_statement "psVar20 = (stat64 *)local_820._80_4_;" (assignment_expression "psVar20 = (stat64 *)local_820._80_4_" identifier = (cast_expression "(stat64 *)local_820._80_4_" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "local_820._80_4_" identifier . field_identifier))) ;) (expression_statement "uVar34 = local_820._92_4_;" (assignment_expression "uVar34 = local_820._92_4_" identifier = (field_expression "local_820._92_4_" identifier . field_identifier)) ;) (expression_statement "uVar10 = local_820._96_4_;" (assignment_expression "uVar10 = local_820._96_4_" identifier = (field_expression "local_820._96_4_" identifier . field_identifier)) ;) (goto_statement "goto LAB_000114e8;" goto statement_identifier ;)) (case_statement "case 0x75:\n    uVar10 = sg_get_num(*(undefined4 *)puVar22);\n    if (3 < uVar10) {\n      pr2serr("bad argument to \'--unmap=\', expect 0 to 3\n");\n      goto LAB_00011a7a;\n    }\n    local_820[2] = (byte)(uVar10 >> 1) & 1;\n    local_820[0xb] = (byte)uVar10 & 1;\n    psVar20 = (stat64 *)local_820._80_4_;\n    uVar34 = local_820._92_4_;\n    uVar10 = local_820._96_4_;\n    goto LAB_000114e8;" case number_literal : (expression_statement "uVar10 = sg_get_num(*(undefined4 *)puVar22);" (assignment_expression "uVar10 = sg_get_num(*(undefined4 *)puVar22)" identifier = (call_expression "sg_get_num(*(undefined4 *)puVar22)" identifier (argument_list "(*(undefined4 *)puVar22)" ( (pointer_expression "*(undefined4 *)puVar22" * (cast_expression "(undefined4 *)puVar22" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )))) ;) (if_statement "if (3 < uVar10) {\n      pr2serr("bad argument to \'--unmap=\', expect 0 to 3\n");\n      goto LAB_00011a7a;\n    }" if (parenthesized_expression "(3 < uVar10)" ( (binary_expression "3 < uVar10" number_literal < identifier) )) (compound_statement "{\n      pr2serr("bad argument to \'--unmap=\', expect 0 to 3\n");\n      goto LAB_00011a7a;\n    }" { (expression_statement "pr2serr("bad argument to \'--unmap=\', expect 0 to 3\n");" (call_expression "pr2serr("bad argument to \'--unmap=\', expect 0 to 3\n")" identifier (argument_list "("bad argument to \'--unmap=\', expect 0 to 3\n")" ( (string_literal ""bad argument to \'--unmap=\', expect 0 to 3\n"" " string_content escape_sequence string_content escape_sequence string_content escape_sequence ") ))) ;) (goto_statement "goto LAB_00011a7a;" goto statement_identifier ;) })) (expression_statement "local_820[2] = (byte)(uVar10 >> 1) & 1;" (assignment_expression "local_820[2] = (byte)(uVar10 >> 1) & 1" (subscript_expression "local_820[2]" identifier [ number_literal ]) = (binary_expression "(byte)(uVar10 >> 1) & 1" (call_expression "(byte)(uVar10 >> 1)" (parenthesized_expression "(byte)" ( identifier )) (argument_list "(uVar10 >> 1)" ( (binary_expression "uVar10 >> 1" identifier >> number_literal) ))) & number_literal)) ;) (expression_statement "local_820[0xb] = (byte)uVar10 & 1;" (assignment_expression "local_820[0xb] = (byte)uVar10 & 1" (subscript_expression "local_820[0xb]" identifier [ number_literal ]) = (binary_expression "(byte)uVar10 & 1" (cast_expression "(byte)uVar10" ( (type_descriptor "byte" type_identifier) ) identifier) & number_literal)) ;) (expression_statement "psVar20 = (stat64 *)local_820._80_4_;" (assignment_expression "psVar20 = (stat64 *)local_820._80_4_" identifier = (cast_expression "(stat64 *)local_820._80_4_" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "local_820._80_4_" identifier . field_identifier))) ;) (expression_statement "uVar34 = local_820._92_4_;" (assignment_expression "uVar34 = local_820._92_4_" identifier = (field_expression "local_820._92_4_" identifier . field_identifier)) ;) (expression_statement "uVar10 = local_820._96_4_;" (assignment_expression "uVar10 = local_820._96_4_" identifier = (field_expression "local_820._96_4_" identifier . field_identifier)) ;) (goto_statement "goto LAB_000114e8;" goto statement_identifier ;)) (case_statement "case 0x76:\n    local_820[0x11] = true;\n    local_820._48_4_ = (int)(__dev_t *)local_820._48_4_ + 1;\n    goto LAB_000114e8;" case number_literal : (expression_statement "local_820[0x11] = true;" (assignment_expression "local_820[0x11] = true" (subscript_expression "local_820[0x11]" identifier [ number_literal ]) = true) ;) (expression_statement "local_820._48_4_ = (int)(__dev_t *)local_820._48_4_ + 1;" (assignment_expression "local_820._48_4_ = (int)(__dev_t *)local_820._48_4_ + 1" (field_expression "local_820._48_4_" identifier . field_identifier) = (binary_expression "(int)(__dev_t *)local_820._48_4_ + 1" (cast_expression "(int)(__dev_t *)local_820._48_4_" ( (type_descriptor "int" primitive_type) ) (cast_expression "(__dev_t *)local_820._48_4_" ( (type_descriptor "__dev_t *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "local_820._48_4_" identifier . field_identifier))) + number_literal)) ;) (goto_statement "goto LAB_000114e8;" goto statement_identifier ;)) (case_statement "case 0x77:\n    local_820._52_4_ = sg_get_num(*(undefined4 *)puVar22);\n    if ((stat64 *)0x7 < (uint)local_820._52_4_) {\n      pr2serr("bad argument to \'--wrprotect\'\n");\n      goto LAB_00011a7a;\n    }\n    local_820[0xd] = 0 < (int)local_820._52_4_;\n    psVar20 = (stat64 *)local_820._80_4_;\n    uVar34 = local_820._92_4_;\n    uVar10 = local_820._96_4_;\n    goto LAB_000114e8;" case number_literal : (expression_statement "local_820._52_4_ = sg_get_num(*(undefined4 *)puVar22);" (assignment_expression "local_820._52_4_ = sg_get_num(*(undefined4 *)puVar22)" (field_expression "local_820._52_4_" identifier . field_identifier) = (call_expression "sg_get_num(*(undefined4 *)puVar22)" identifier (argument_list "(*(undefined4 *)puVar22)" ( (pointer_expression "*(undefined4 *)puVar22" * (cast_expression "(undefined4 *)puVar22" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )))) ;) (if_statement "if ((stat64 *)0x7 < (uint)local_820._52_4_) {\n      pr2serr("bad argument to \'--wrprotect\'\n");\n      goto LAB_00011a7a;\n    }" if (parenthesized_expression "((stat64 *)0x7 < (uint)local_820._52_4_)" ( (binary_expression "(stat64 *)0x7 < (uint)local_820._52_4_" (cast_expression "(stat64 *)0x7" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal) < (cast_expression "(uint)local_820._52_4_" ( (type_descriptor "uint" type_identifier) ) (field_expression "local_820._52_4_" identifier . field_identifier))) )) (compound_statement "{\n      pr2serr("bad argument to \'--wrprotect\'\n");\n      goto LAB_00011a7a;\n    }" { (expression_statement "pr2serr("bad argument to \'--wrprotect\'\n");" (call_expression "pr2serr("bad argument to \'--wrprotect\'\n")" identifier (argument_list "("bad argument to \'--wrprotect\'\n")" ( (string_literal ""bad argument to \'--wrprotect\'\n"" " string_content escape_sequence string_content escape_sequence escape_sequence ") ))) ;) (goto_statement "goto LAB_00011a7a;" goto statement_identifier ;) })) (expression_statement "local_820[0xd] = 0 < (int)local_820._52_4_;" (assignment_expression "local_820[0xd] = 0 < (int)local_820._52_4_" (subscript_expression "local_820[0xd]" identifier [ number_literal ]) = (binary_expression "0 < (int)local_820._52_4_" number_literal < (cast_expression "(int)local_820._52_4_" ( (type_descriptor "int" primitive_type) ) (field_expression "local_820._52_4_" identifier . field_identifier)))) ;) (expression_statement "psVar20 = (stat64 *)local_820._80_4_;" (assignment_expression "psVar20 = (stat64 *)local_820._80_4_" identifier = (cast_expression "(stat64 *)local_820._80_4_" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "local_820._80_4_" identifier . field_identifier))) ;) (expression_statement "uVar34 = local_820._92_4_;" (assignment_expression "uVar34 = local_820._92_4_" identifier = (field_expression "local_820._92_4_" identifier . field_identifier)) ;) (expression_statement "uVar10 = local_820._96_4_;" (assignment_expression "uVar10 = local_820._96_4_" identifier = (field_expression "local_820._96_4_" identifier . field_identifier)) ;) (goto_statement "goto LAB_000114e8;" goto statement_identifier ;)) (case_statement "case 0x78:\n    local_820._24_4_ = local_820._24_4_ + 1;\n    goto LAB_000114e8;" case number_literal : (expression_statement "local_820._24_4_ = local_820._24_4_ + 1;" (assignment_expression "local_820._24_4_ = local_820._24_4_ + 1" (field_expression "local_820._24_4_" identifier . field_identifier) = (binary_expression "local_820._24_4_ + 1" (field_expression "local_820._24_4_" identifier . field_identifier) + number_literal)) ;) (goto_statement "goto LAB_000114e8;" goto statement_identifier ;)) })) (expression_statement "pr2serr(pcVar18);" (call_expression "pr2serr(pcVar18)" identifier (argument_list "(pcVar18)" ( identifier ))) ;) (expression_statement "iVar17 = 0;" (assignment_expression "iVar17 = 0" identifier = number_literal) ;) (if_statement "if (-1 < (int)local_820._32_4_) {\n    iVar17 = local_820._32_4_;\n  }" if (parenthesized_expression "(-1 < (int)local_820._32_4_)" ( (binary_expression "-1 < (int)local_820._32_4_" number_literal < (cast_expression "(int)local_820._32_4_" ( (type_descriptor "int" primitive_type) ) (field_expression "local_820._32_4_" identifier . field_identifier))) )) (compound_statement "{\n    iVar17 = local_820._32_4_;\n  }" { (expression_statement "iVar17 = local_820._32_4_;" (assignment_expression "iVar17 = local_820._32_4_" identifier = (field_expression "local_820._32_4_" identifier . field_identifier)) ;) })) (expression_statement "usage(iVar17);" (call_expression "usage(iVar17)" identifier (argument_list "(iVar17)" ( identifier ))) ;) (goto_statement "goto LAB_00011a7a;" goto statement_identifier ;) (labeled_statement "LAB_00011c60:\n  while (*(int *)puVar5 < iVar17) {\n    pr2serr("Unexpected extra argument: %s\n",ppcVar7[*(int *)puVar5],ppcVar25,ppcVar25);\n    *(int *)puVar5 = *(int *)puVar5 + 1;\n    ppcVar25 = extraout_EDX;\n  }" statement_identifier : (while_statement "while (*(int *)puVar5 < iVar17) {\n    pr2serr("Unexpected extra argument: %s\n",ppcVar7[*(int *)puVar5],ppcVar25,ppcVar25);\n    *(int *)puVar5 = *(int *)puVar5 + 1;\n    ppcVar25 = extraout_EDX;\n  }" while (parenthesized_expression "(*(int *)puVar5 < iVar17)" ( (binary_expression "*(int *)puVar5 < iVar17" (pointer_expression "*(int *)puVar5" * (cast_expression "(int *)puVar5" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) < identifier) )) (compound_statement "{\n    pr2serr("Unexpected extra argument: %s\n",ppcVar7[*(int *)puVar5],ppcVar25,ppcVar25);\n    *(int *)puVar5 = *(int *)puVar5 + 1;\n    ppcVar25 = extraout_EDX;\n  }" { (expression_statement "pr2serr("Unexpected extra argument: %s\n",ppcVar7[*(int *)puVar5],ppcVar25,ppcVar25);" (call_expression "pr2serr("Unexpected extra argument: %s\n",ppcVar7[*(int *)puVar5],ppcVar25,ppcVar25)" identifier (argument_list "("Unexpected extra argument: %s\n",ppcVar7[*(int *)puVar5],ppcVar25,ppcVar25)" ( (string_literal ""Unexpected extra argument: %s\n"" " string_content escape_sequence ") , (subscript_expression "ppcVar7[*(int *)puVar5]" identifier [ (pointer_expression "*(int *)puVar5" * (cast_expression "(int *)puVar5" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) ]) , identifier , identifier ))) ;) (expression_statement "*(int *)puVar5 = *(int *)puVar5 + 1;" (assignment_expression "*(int *)puVar5 = *(int *)puVar5 + 1" (pointer_expression "*(int *)puVar5" * (cast_expression "(int *)puVar5" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) = (binary_expression "*(int *)puVar5 + 1" (pointer_expression "*(int *)puVar5" * (cast_expression "(int *)puVar5" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) + number_literal)) ;) (expression_statement "ppcVar25 = extraout_EDX;" (assignment_expression "ppcVar25 = extraout_EDX" identifier = identifier) ;) }))) (expression_statement "iVar17 = 0;" (assignment_expression "iVar17 = 0" identifier = number_literal) ;) (if_statement "if (-1 < (int)local_820._32_4_) {\n    iVar17 = local_820._32_4_;\n  }" if (parenthesized_expression "(-1 < (int)local_820._32_4_)" ( (binary_expression "-1 < (int)local_820._32_4_" number_literal < (cast_expression "(int)local_820._32_4_" ( (type_descriptor "int" primitive_type) ) (field_expression "local_820._32_4_" identifier . field_identifier))) )) (compound_statement "{\n    iVar17 = local_820._32_4_;\n  }" { (expression_statement "iVar17 = local_820._32_4_;" (assignment_expression "iVar17 = local_820._32_4_" identifier = (field_expression "local_820._32_4_" identifier . field_identifier)) ;) })) (expression_statement "usage(iVar17);" (call_expression "usage(iVar17)" identifier (argument_list "(iVar17)" ( identifier ))) ;) (expression_statement "local_908 = (stat64 *)0x1;" (assignment_expression "local_908 = (stat64 *)0x1" identifier = (cast_expression "(stat64 *)0x1" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (goto_statement "goto LAB_00011a84;" goto statement_identifier ;) (while_statement "while( true ) {\n    iVar17 = iVar17 + -1;\n    cVar8 = *pcVar18;\n    pcVar18 = pcVar18 + (uint)bVar37 * -2 + 1;\n    if (cVar8 == '\0') break;\ncode_r0x00011d5c:\n    if (iVar17 == 0) break;\n  }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n    iVar17 = iVar17 + -1;\n    cVar8 = *pcVar18;\n    pcVar18 = pcVar18 + (uint)bVar37 * -2 + 1;\n    if (cVar8 == '\0') break;\ncode_r0x00011d5c:\n    if (iVar17 == 0) break;\n  }" { (expression_statement "iVar17 = iVar17 + -1;" (assignment_expression "iVar17 = iVar17 + -1" identifier = (binary_expression "iVar17 + -1" identifier + number_literal)) ;) (expression_statement "cVar8 = *pcVar18;" (assignment_expression "cVar8 = *pcVar18" identifier = (pointer_expression "*pcVar18" * identifier)) ;) (expression_statement "pcVar18 = pcVar18 + (uint)bVar37 * -2 + 1;" (assignment_expression "pcVar18 = pcVar18 + (uint)bVar37 * -2 + 1" identifier = (binary_expression "pcVar18 + (uint)bVar37 * -2 + 1" (binary_expression "pcVar18 + (uint)bVar37 * -2" identifier + (binary_expression "(uint)bVar37 * -2" (cast_expression "(uint)bVar37" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) (if_statement "if (cVar8 == '\0') break;" if (parenthesized_expression "(cVar8 == '\0')" ( (binary_expression "cVar8 == '\0'" identifier == (char_literal "'\0'" ' escape_sequence ')) )) (break_statement "break;" break ;)) (labeled_statement "code_r0x00011d5c:\n    if (iVar17 == 0) break;" statement_identifier : (if_statement "if (iVar17 == 0) break;" if (parenthesized_expression "(iVar17 == 0)" ( (binary_expression "iVar17 == 0" identifier == number_literal) )) (break_statement "break;" break ;))) })) (if_statement "if ((iVar17 == -3) && (*local_798 == '-')) {\n    pr2serr("don\'t accept \'-\' (implying stdin) as a filename in --scat-file=SF\n");\n    local_908 = (stat64 *)0x1f;\n    goto LAB_00011a84;\n  }" if (parenthesized_expression "((iVar17 == -3) && (*local_798 == '-'))" ( (binary_expression "(iVar17 == -3) && (*local_798 == '-')" (parenthesized_expression "(iVar17 == -3)" ( (binary_expression "iVar17 == -3" identifier == number_literal) )) && (parenthesized_expression "(*local_798 == '-')" ( (binary_expression "*local_798 == '-'" (pointer_expression "*local_798" * identifier) == (char_literal "'-'" ' character ')) ))) )) (compound_statement "{\n    pr2serr("don\'t accept \'-\' (implying stdin) as a filename in --scat-file=SF\n");\n    local_908 = (stat64 *)0x1f;\n    goto LAB_00011a84;\n  }" { (expression_statement "pr2serr("don\'t accept \'-\' (implying stdin) as a filename in --scat-file=SF\n");" (call_expression "pr2serr("don\'t accept \'-\' (implying stdin) as a filename in --scat-file=SF\n")" identifier (argument_list "("don\'t accept \'-\' (implying stdin) as a filename in --scat-file=SF\n")" ( (string_literal ""don\'t accept \'-\' (implying stdin) as a filename in --scat-file=SF\n"" " string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence ") ))) ;) (expression_statement "local_908 = (stat64 *)0x1f;" (assignment_expression "local_908 = (stat64 *)0x1f" identifier = (cast_expression "(stat64 *)0x1f" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (goto_statement "goto LAB_00011a84;" goto statement_identifier ;) })) (labeled_statement "LAB_00011d67:\n  if ((((stat64 *)uVar19 != (stat64 *)0x0) && ((_Bool)local_820[0] != false)) &&\n     ((local_820._96_4_ != 0xffffffff || ((local_820._58_2_ & local_820._68_2_) != 0xffff)))) {\n    pr2serr("--app-tag=, --ref-tag= and --tag-mask= options ignored with 16 byte commands\n");\n  }" statement_identifier : (if_statement "if ((((stat64 *)uVar19 != (stat64 *)0x0) && ((_Bool)local_820[0] != false)) &&\n     ((local_820._96_4_ != 0xffffffff || ((local_820._58_2_ & local_820._68_2_) != 0xffff)))) {\n    pr2serr("--app-tag=, --ref-tag= and --tag-mask= options ignored with 16 byte commands\n");\n  }" if (parenthesized_expression "((((stat64 *)uVar19 != (stat64 *)0x0) && ((_Bool)local_820[0] != false)) &&\n     ((local_820._96_4_ != 0xffffffff || ((local_820._58_2_ & local_820._68_2_) != 0xffff))))" ( (binary_expression "(((stat64 *)uVar19 != (stat64 *)0x0) && ((_Bool)local_820[0] != false)) &&\n     ((local_820._96_4_ != 0xffffffff || ((local_820._58_2_ & local_820._68_2_) != 0xffff)))" (parenthesized_expression "(((stat64 *)uVar19 != (stat64 *)0x0) && ((_Bool)local_820[0] != false))" ( (binary_expression "((stat64 *)uVar19 != (stat64 *)0x0) && ((_Bool)local_820[0] != false)" (parenthesized_expression "((stat64 *)uVar19 != (stat64 *)0x0)" ( (binary_expression "(stat64 *)uVar19 != (stat64 *)0x0" (cast_expression "(stat64 *)uVar19" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) != (cast_expression "(stat64 *)0x0" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) && (parenthesized_expression "((_Bool)local_820[0] != false)" ( (binary_expression "(_Bool)local_820[0] != false" (cast_expression "(_Bool)local_820[0]" ( (type_descriptor "_Bool" type_identifier) ) (subscript_expression "local_820[0]" identifier [ number_literal ])) != false) ))) )) && (parenthesized_expression "((local_820._96_4_ != 0xffffffff || ((local_820._58_2_ & local_820._68_2_) != 0xffff)))" ( (parenthesized_expression "(local_820._96_4_ != 0xffffffff || ((local_820._58_2_ & local_820._68_2_) != 0xffff))" ( (binary_expression "local_820._96_4_ != 0xffffffff || ((local_820._58_2_ & local_820._68_2_) != 0xffff)" (binary_expression "local_820._96_4_ != 0xffffffff" (field_expression "local_820._96_4_" identifier . field_identifier) != number_literal) || (parenthesized_expression "((local_820._58_2_ & local_820._68_2_) != 0xffff)" ( (binary_expression "(local_820._58_2_ & local_820._68_2_) != 0xffff" (parenthesized_expression "(local_820._58_2_ & local_820._68_2_)" ( (binary_expression "local_820._58_2_ & local_820._68_2_" (field_expression "local_820._58_2_" identifier . field_identifier) & (field_expression "local_820._68_2_" identifier . field_identifier)) )) != number_literal) ))) )) ))) )) (compound_statement "{\n    pr2serr("--app-tag=, --ref-tag= and --tag-mask= options ignored with 16 byte commands\n");\n  }" { (expression_statement "pr2serr("--app-tag=, --ref-tag= and --tag-mask= options ignored with 16 byte commands\n");" (call_expression "pr2serr("--app-tag=, --ref-tag= and --tag-mask= options ignored with 16 byte commands\n")" identifier (argument_list "("--app-tag=, --ref-tag= and --tag-mask= options ignored with 16 byte commands\n")" ( (string_literal ""--app-tag=, --ref-tag= and --tag-mask= options ignored with 16 byte commands\n"" " string_content escape_sequence ") ))) ;) }))) (expression_statement "uVar24 = local_820._80_4_;" (assignment_expression "uVar24 = local_820._80_4_" identifier = (field_expression "local_820._80_4_" identifier . field_identifier)) ;) (expression_statement "psVar12 = (stat64 *)(uint)local_820[0x10];" (assignment_expression "psVar12 = (stat64 *)(uint)local_820[0x10]" identifier = (cast_expression "(stat64 *)(uint)local_820[0x10]" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) (cast_expression "(uint)local_820[0x10]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "local_820[0x10]" identifier [ number_literal ])))) ;) (if_statement "if ((_Bool)local_820[0x10] == false) {\n    local_93c = (stat64 *)local_820._80_4_;\n    cVar2 = '\0';\n    if (local_79c == (char *)0x0) {\n      pr2serr("Need --if=FN option to be given, exiting.\n");\n      if (1 < (int)uVar19) {\n        pr2serr("To write zeros use --in=/dev/zero\n");\n      }\n      pr2serr("\n");\n      iVar17 = 0;\n      if (-1 < (int)local_820._32_4_) {\n        iVar17 = local_820._32_4_;\n      }\n      usage(iVar17);\n      local_908 = (stat64 *)0x1;\n      goto LAB_00011a84;\n    }\n    iVar17 = -1;\n    pcVar18 = local_79c;\n    do {\n      if (iVar17 == 0) break;\n      iVar17 = iVar17 + -1;\n      cVar8 = *pcVar18;\n      pcVar18 = pcVar18 + (uint)bVar37 * -2 + 1;\n    } while (cVar8 != '\0');\n    if ((iVar17 != -3) || (*local_79c != '-')) {\n      local_924 = (stat64 *)open64(local_79c,0,iVar17,iVar17);\n      if ((int)local_924 < 0) {\n        piVar21 = __errno_location();\n        iVar17 = *piVar21;\n        pcVar18 = "could not open %s for reading";\n      }\n      else {\n        psVar20 = (stat64 *)sg_set_binary_mode(local_924);\n        if ((int)psVar20 < 0) goto LAB_00011dea;\n        psVar26 = local_924;\n        psVar11 = local_930;\n        iVar17 = __fxstat64(3,(int)local_924,local_930);\n        if (-1 < iVar17) {\n          if ((local_8e0._16_4_ & 0xf000) == 0x8000) {\n            local_93c = (stat64 *)local_8e0._44_4_;\n            if ((stat64 *)uVar24 != (stat64 *)0x0) {\n              local_93c = (stat64 *)uVar24;\n            }\n            if ((local_8b0 != 0 || (stat64 *)local_8e0._44_4_ != (stat64 *)0x0) &&\n               (psVar29 = (stat64 *)((int)&((stat64 *)(local_8e0._44_4_ + -0x60))->st_ino + 7),\n               iVar23 = local_8b0 + -1 + (uint)((stat64 *)local_8e0._44_4_ != (stat64 *)0x0),\n               iVar17 = (int)local_7b0 - iVar23,\n               (SBORROW4((int)local_7b0,iVar23) !=\n               SBORROW4(iVar17,(uint)((uint)local_820._108_4_ < psVar29))) ==\n               (int)(iVar17 - (uint)((uint)local_820._108_4_ < psVar29)) < 0)) {\n              pr2serr("Offset (%llu) is at or beyond IF byte length (%llu)\n",local_820._108_4_,\n                      local_7b0,local_8e0._44_4_,local_8b0,psVar26,psVar11,psVar20);\n              local_908 = (stat64 *)0xf;\n              goto LAB_00012527;\n            }\n            psVar12 = (stat64 *)local_820._108_4_;\n            psVar49 = (stat64 *)local_8e0._44_4_;\n            iVar17 = local_8b0;\n            if (local_7b0 != (stat64 *)0x0 || (stat64 *)local_820._108_4_ != (stat64 *)0x0) {\n              psVar20 = (stat64 *)0x0;\n              psVar26 = (stat64 *)local_820._108_4_;\n              psVar11 = local_7b0;\n              _Var40 = lseek64((int)local_924,CONCAT44(local_7b0,local_820._108_4_),0);\n              psVar29 = (stat64 *)local_820._108_4_;\n              if (_Var40 < 0) {\n                piVar21 = __errno_location();\n                psVar29 = (stat64 *)(local_174 + 0x50);\n                iVar17 = *piVar21;\n                __snprintf_chk(psVar29,0x100,1,0x100,"couldn\'t offset to required position on %s",\n                               local_79c,piVar21,piVar21);\n                perror((char *)psVar29);\n                local_908 = (stat64 *)sg_convert_errno(iVar17);\n                goto LAB_00012527;\n              }\n              psVar12 = (stat64 *)((int)psVar49 - local_820._108_4_);\n              iVar17 = (local_8b0 - (int)local_7b0) - (uint)(psVar49 < (uint)local_820._108_4_);\n              local_930 = psVar49;\n              if ((int)(uint)(psVar12 != (stat64 *)0x0) <= -iVar17) {\n                pr2serr("--offset [0x%llx] at or beyond file length[0x%llx]\n",local_820._108_4_,\n                        local_7b0,psVar49,local_8b0);\n                local_908 = (stat64 *)0xf;\n                goto LAB_00012527;\n              }\n              if ((local_820._40_4_ != 0) &&\n                 (local_930 = (stat64 *)local_820._80_4_,\n                 iVar17 < (int)(uint)(psVar12 < (uint)local_820._80_4_))) {\n                pr2serr("after accounting for OFF, DLEN exceeds %s remaining length (%u bytes)\n",\n                        local_79c,psVar12,psVar12);\n                local_908 = (stat64 *)0xf;\n                psVar29 = psVar12;\n                goto LAB_00012527;\n              }\n              if (iVar17 < (int)(uint)(psVar12 < local_93c)) {\n                local_93c = psVar12;\n              }\n              psVar49 = psVar12;\n              if (2 < (int)uVar19) {\n                psVar26 = (stat64 *)local_820._108_4_;\n                psVar11 = local_93c;\n                psVar20 = psVar12;\n                psVar12 = (stat64 *)\n                          pr2serr("Moved IF byte pointer to %u, if_len=%u, if_readable_len=%u\n",\n                                  local_820._108_4_,local_93c,psVar12);\n              }\n            }\n            goto LAB_00011fa8;\n          }\n          goto LAB_00011e6c;\n        }\n        piVar21 = __errno_location();\n        iVar17 = *piVar21;\n        pcVar18 = "could not fstat %s";\n      }\n      __snprintf_chk(local_174 + 0x50,0x100,1,0x100,pcVar18,local_79c,piVar21,piVar21);\n      perror(local_174 + 0x50);\n      local_908 = (stat64 *)sg_convert_errno(iVar17);\n      goto LAB_00011a84;\n    }\n    iVar17 = sg_set_binary_mode(0);\n    cVar2 = '\x01';\n    local_924 = (stat64 *)0x0;\n    if (iVar17 < 0) {\nLAB_00011dea:\n      perror("sg_set_binary_mode");\n      local_908 = (stat64 *)0xf;\n      goto LAB_00011a84;\n    }\nLAB_00011e6c:\n    if (((stat64 *)((uint)local_7b0 | local_820._108_4_) == (stat64 *)0x0) ||\n       ((stat64 *)uVar19 == (stat64 *)0x0)) {\n      psVar12 = (stat64 *)((uint)local_7b0 | local_820._108_4_);\n      psVar49 = (stat64 *)0x0;\n      iVar17 = 0;\n    }\n    else {\n      psVar12 = (stat64 *)\n                pr2serr(\n                       "--offset=OFF ignored when IF is stdin, pipe, socket, etc\nDLEN, if given, is used\n"\n                       );\n      psVar49 = (stat64 *)0x0;\n      iVar17 = 0;\n    }\n  }\n  else {\n    local_924 = (stat64 *)0xffffffff;\n    cVar2 = '\0';\n    psVar49 = (stat64 *)0x0;\n    iVar17 = 0;\n    local_93c = (stat64 *)0x0;\n  }" if (parenthesized_expression "((_Bool)local_820[0x10] == false)" ( (binary_expression "(_Bool)local_820[0x10] == false" (cast_expression "(_Bool)local_820[0x10]" ( (type_descriptor "_Bool" type_identifier) ) (subscript_expression "local_820[0x10]" identifier [ number_literal ])) == false) )) (compound_statement "{\n    local_93c = (stat64 *)local_820._80_4_;\n    cVar2 = '\0';\n    if (local_79c == (char *)0x0) {\n      pr2serr("Need --if=FN option to be given, exiting.\n");\n      if (1 < (int)uVar19) {\n        pr2serr("To write zeros use --in=/dev/zero\n");\n      }\n      pr2serr("\n");\n      iVar17 = 0;\n      if (-1 < (int)local_820._32_4_) {\n        iVar17 = local_820._32_4_;\n      }\n      usage(iVar17);\n      local_908 = (stat64 *)0x1;\n      goto LAB_00011a84;\n    }\n    iVar17 = -1;\n    pcVar18 = local_79c;\n    do {\n      if (iVar17 == 0) break;\n      iVar17 = iVar17 + -1;\n      cVar8 = *pcVar18;\n      pcVar18 = pcVar18 + (uint)bVar37 * -2 + 1;\n    } while (cVar8 != '\0');\n    if ((iVar17 != -3) || (*local_79c != '-')) {\n      local_924 = (stat64 *)open64(local_79c,0,iVar17,iVar17);\n      if ((int)local_924 < 0) {\n        piVar21 = __errno_location();\n        iVar17 = *piVar21;\n        pcVar18 = "could not open %s for reading";\n      }\n      else {\n        psVar20 = (stat64 *)sg_set_binary_mode(local_924);\n        if ((int)psVar20 < 0) goto LAB_00011dea;\n        psVar26 = local_924;\n        psVar11 = local_930;\n        iVar17 = __fxstat64(3,(int)local_924,local_930);\n        if (-1 < iVar17) {\n          if ((local_8e0._16_4_ & 0xf000) == 0x8000) {\n            local_93c = (stat64 *)local_8e0._44_4_;\n            if ((stat64 *)uVar24 != (stat64 *)0x0) {\n              local_93c = (stat64 *)uVar24;\n            }\n            if ((local_8b0 != 0 || (stat64 *)local_8e0._44_4_ != (stat64 *)0x0) &&\n               (psVar29 = (stat64 *)((int)&((stat64 *)(local_8e0._44_4_ + -0x60))->st_ino + 7),\n               iVar23 = local_8b0 + -1 + (uint)((stat64 *)local_8e0._44_4_ != (stat64 *)0x0),\n               iVar17 = (int)local_7b0 - iVar23,\n               (SBORROW4((int)local_7b0,iVar23) !=\n               SBORROW4(iVar17,(uint)((uint)local_820._108_4_ < psVar29))) ==\n               (int)(iVar17 - (uint)((uint)local_820._108_4_ < psVar29)) < 0)) {\n              pr2serr("Offset (%llu) is at or beyond IF byte length (%llu)\n",local_820._108_4_,\n                      local_7b0,local_8e0._44_4_,local_8b0,psVar26,psVar11,psVar20);\n              local_908 = (stat64 *)0xf;\n              goto LAB_00012527;\n            }\n            psVar12 = (stat64 *)local_820._108_4_;\n            psVar49 = (stat64 *)local_8e0._44_4_;\n            iVar17 = local_8b0;\n            if (local_7b0 != (stat64 *)0x0 || (stat64 *)local_820._108_4_ != (stat64 *)0x0) {\n              psVar20 = (stat64 *)0x0;\n              psVar26 = (stat64 *)local_820._108_4_;\n              psVar11 = local_7b0;\n              _Var40 = lseek64((int)local_924,CONCAT44(local_7b0,local_820._108_4_),0);\n              psVar29 = (stat64 *)local_820._108_4_;\n              if (_Var40 < 0) {\n                piVar21 = __errno_location();\n                psVar29 = (stat64 *)(local_174 + 0x50);\n                iVar17 = *piVar21;\n                __snprintf_chk(psVar29,0x100,1,0x100,"couldn\'t offset to required position on %s",\n                               local_79c,piVar21,piVar21);\n                perror((char *)psVar29);\n                local_908 = (stat64 *)sg_convert_errno(iVar17);\n                goto LAB_00012527;\n              }\n              psVar12 = (stat64 *)((int)psVar49 - local_820._108_4_);\n              iVar17 = (local_8b0 - (int)local_7b0) - (uint)(psVar49 < (uint)local_820._108_4_);\n              local_930 = psVar49;\n              if ((int)(uint)(psVar12 != (stat64 *)0x0) <= -iVar17) {\n                pr2serr("--offset [0x%llx] at or beyond file length[0x%llx]\n",local_820._108_4_,\n                        local_7b0,psVar49,local_8b0);\n                local_908 = (stat64 *)0xf;\n                goto LAB_00012527;\n              }\n              if ((local_820._40_4_ != 0) &&\n                 (local_930 = (stat64 *)local_820._80_4_,\n                 iVar17 < (int)(uint)(psVar12 < (uint)local_820._80_4_))) {\n                pr2serr("after accounting for OFF, DLEN exceeds %s remaining length (%u bytes)\n",\n                        local_79c,psVar12,psVar12);\n                local_908 = (stat64 *)0xf;\n                psVar29 = psVar12;\n                goto LAB_00012527;\n              }\n              if (iVar17 < (int)(uint)(psVar12 < local_93c)) {\n                local_93c = psVar12;\n              }\n              psVar49 = psVar12;\n              if (2 < (int)uVar19) {\n                psVar26 = (stat64 *)local_820._108_4_;\n                psVar11 = local_93c;\n                psVar20 = psVar12;\n                psVar12 = (stat64 *)\n                          pr2serr("Moved IF byte pointer to %u, if_len=%u, if_readable_len=%u\n",\n                                  local_820._108_4_,local_93c,psVar12);\n              }\n            }\n            goto LAB_00011fa8;\n          }\n          goto LAB_00011e6c;\n        }\n        piVar21 = __errno_location();\n        iVar17 = *piVar21;\n        pcVar18 = "could not fstat %s";\n      }\n      __snprintf_chk(local_174 + 0x50,0x100,1,0x100,pcVar18,local_79c,piVar21,piVar21);\n      perror(local_174 + 0x50);\n      local_908 = (stat64 *)sg_convert_errno(iVar17);\n      goto LAB_00011a84;\n    }\n    iVar17 = sg_set_binary_mode(0);\n    cVar2 = '\x01';\n    local_924 = (stat64 *)0x0;\n    if (iVar17 < 0) {\nLAB_00011dea:\n      perror("sg_set_binary_mode");\n      local_908 = (stat64 *)0xf;\n      goto LAB_00011a84;\n    }\nLAB_00011e6c:\n    if (((stat64 *)((uint)local_7b0 | local_820._108_4_) == (stat64 *)0x0) ||\n       ((stat64 *)uVar19 == (stat64 *)0x0)) {\n      psVar12 = (stat64 *)((uint)local_7b0 | local_820._108_4_);\n      psVar49 = (stat64 *)0x0;\n      iVar17 = 0;\n    }\n    else {\n      psVar12 = (stat64 *)\n                pr2serr(\n                       "--offset=OFF ignored when IF is stdin, pipe, socket, etc\nDLEN, if given, is used\n"\n                       );\n      psVar49 = (stat64 *)0x0;\n      iVar17 = 0;\n    }\n  }" { (expression_statement "local_93c = (stat64 *)local_820._80_4_;" (assignment_expression "local_93c = (stat64 *)local_820._80_4_" identifier = (cast_expression "(stat64 *)local_820._80_4_" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "local_820._80_4_" identifier . field_identifier))) ;) (expression_statement "cVar2 = '\0';" (assignment_expression "cVar2 = '\0'" identifier = (char_literal "'\0'" ' escape_sequence ')) ;) (if_statement "if (local_79c == (char *)0x0) {\n      pr2serr("Need --if=FN option to be given, exiting.\n");\n      if (1 < (int)uVar19) {\n        pr2serr("To write zeros use --in=/dev/zero\n");\n      }\n      pr2serr("\n");\n      iVar17 = 0;\n      if (-1 < (int)local_820._32_4_) {\n        iVar17 = local_820._32_4_;\n      }\n      usage(iVar17);\n      local_908 = (stat64 *)0x1;\n      goto LAB_00011a84;\n    }" if (parenthesized_expression "(local_79c == (char *)0x0)" ( (binary_expression "local_79c == (char *)0x0" identifier == (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      pr2serr("Need --if=FN option to be given, exiting.\n");\n      if (1 < (int)uVar19) {\n        pr2serr("To write zeros use --in=/dev/zero\n");\n      }\n      pr2serr("\n");\n      iVar17 = 0;\n      if (-1 < (int)local_820._32_4_) {\n        iVar17 = local_820._32_4_;\n      }\n      usage(iVar17);\n      local_908 = (stat64 *)0x1;\n      goto LAB_00011a84;\n    }" { (expression_statement "pr2serr("Need --if=FN option to be given, exiting.\n");" (call_expression "pr2serr("Need --if=FN option to be given, exiting.\n")" identifier (argument_list "("Need --if=FN option to be given, exiting.\n")" ( (string_literal ""Need --if=FN option to be given, exiting.\n"" " string_content escape_sequence ") ))) ;) (if_statement "if (1 < (int)uVar19) {\n        pr2serr("To write zeros use --in=/dev/zero\n");\n      }" if (parenthesized_expression "(1 < (int)uVar19)" ( (binary_expression "1 < (int)uVar19" number_literal < (cast_expression "(int)uVar19" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n        pr2serr("To write zeros use --in=/dev/zero\n");\n      }" { (expression_statement "pr2serr("To write zeros use --in=/dev/zero\n");" (call_expression "pr2serr("To write zeros use --in=/dev/zero\n")" identifier (argument_list "("To write zeros use --in=/dev/zero\n")" ( (string_literal ""To write zeros use --in=/dev/zero\n"" " string_content escape_sequence ") ))) ;) })) (expression_statement "pr2serr("\n");" (call_expression "pr2serr("\n")" identifier (argument_list "("\n")" ( (string_literal ""\n"" " escape_sequence ") ))) ;) (expression_statement "iVar17 = 0;" (assignment_expression "iVar17 = 0" identifier = number_literal) ;) (if_statement "if (-1 < (int)local_820._32_4_) {\n        iVar17 = local_820._32_4_;\n      }" if (parenthesized_expression "(-1 < (int)local_820._32_4_)" ( (binary_expression "-1 < (int)local_820._32_4_" number_literal < (cast_expression "(int)local_820._32_4_" ( (type_descriptor "int" primitive_type) ) (field_expression "local_820._32_4_" identifier . field_identifier))) )) (compound_statement "{\n        iVar17 = local_820._32_4_;\n      }" { (expression_statement "iVar17 = local_820._32_4_;" (assignment_expression "iVar17 = local_820._32_4_" identifier = (field_expression "local_820._32_4_" identifier . field_identifier)) ;) })) (expression_statement "usage(iVar17);" (call_expression "usage(iVar17)" identifier (argument_list "(iVar17)" ( identifier ))) ;) (expression_statement "local_908 = (stat64 *)0x1;" (assignment_expression "local_908 = (stat64 *)0x1" identifier = (cast_expression "(stat64 *)0x1" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (goto_statement "goto LAB_00011a84;" goto statement_identifier ;) })) (expression_statement "iVar17 = -1;" (assignment_expression "iVar17 = -1" identifier = number_literal) ;) (expression_statement "pcVar18 = local_79c;" (assignment_expression "pcVar18 = local_79c" identifier = identifier) ;) (do_statement "do {\n      if (iVar17 == 0) break;\n      iVar17 = iVar17 + -1;\n      cVar8 = *pcVar18;\n      pcVar18 = pcVar18 + (uint)bVar37 * -2 + 1;\n    } while (cVar8 != '\0');" do (compound_statement "{\n      if (iVar17 == 0) break;\n      iVar17 = iVar17 + -1;\n      cVar8 = *pcVar18;\n      pcVar18 = pcVar18 + (uint)bVar37 * -2 + 1;\n    }" { (if_statement "if (iVar17 == 0) break;" if (parenthesized_expression "(iVar17 == 0)" ( (binary_expression "iVar17 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "iVar17 = iVar17 + -1;" (assignment_expression "iVar17 = iVar17 + -1" identifier = (binary_expression "iVar17 + -1" identifier + number_literal)) ;) (expression_statement "cVar8 = *pcVar18;" (assignment_expression "cVar8 = *pcVar18" identifier = (pointer_expression "*pcVar18" * identifier)) ;) (expression_statement "pcVar18 = pcVar18 + (uint)bVar37 * -2 + 1;" (assignment_expression "pcVar18 = pcVar18 + (uint)bVar37 * -2 + 1" identifier = (binary_expression "pcVar18 + (uint)bVar37 * -2 + 1" (binary_expression "pcVar18 + (uint)bVar37 * -2" identifier + (binary_expression "(uint)bVar37 * -2" (cast_expression "(uint)bVar37" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) }) while (parenthesized_expression "(cVar8 != '\0')" ( (binary_expression "cVar8 != '\0'" identifier != (char_literal "'\0'" ' escape_sequence ')) )) ;) (if_statement "if ((iVar17 != -3) || (*local_79c != '-')) {\n      local_924 = (stat64 *)open64(local_79c,0,iVar17,iVar17);\n      if ((int)local_924 < 0) {\n        piVar21 = __errno_location();\n        iVar17 = *piVar21;\n        pcVar18 = "could not open %s for reading";\n      }\n      else {\n        psVar20 = (stat64 *)sg_set_binary_mode(local_924);\n        if ((int)psVar20 < 0) goto LAB_00011dea;\n        psVar26 = local_924;\n        psVar11 = local_930;\n        iVar17 = __fxstat64(3,(int)local_924,local_930);\n        if (-1 < iVar17) {\n          if ((local_8e0._16_4_ & 0xf000) == 0x8000) {\n            local_93c = (stat64 *)local_8e0._44_4_;\n            if ((stat64 *)uVar24 != (stat64 *)0x0) {\n              local_93c = (stat64 *)uVar24;\n            }\n            if ((local_8b0 != 0 || (stat64 *)local_8e0._44_4_ != (stat64 *)0x0) &&\n               (psVar29 = (stat64 *)((int)&((stat64 *)(local_8e0._44_4_ + -0x60))->st_ino + 7),\n               iVar23 = local_8b0 + -1 + (uint)((stat64 *)local_8e0._44_4_ != (stat64 *)0x0),\n               iVar17 = (int)local_7b0 - iVar23,\n               (SBORROW4((int)local_7b0,iVar23) !=\n               SBORROW4(iVar17,(uint)((uint)local_820._108_4_ < psVar29))) ==\n               (int)(iVar17 - (uint)((uint)local_820._108_4_ < psVar29)) < 0)) {\n              pr2serr("Offset (%llu) is at or beyond IF byte length (%llu)\n",local_820._108_4_,\n                      local_7b0,local_8e0._44_4_,local_8b0,psVar26,psVar11,psVar20);\n              local_908 = (stat64 *)0xf;\n              goto LAB_00012527;\n            }\n            psVar12 = (stat64 *)local_820._108_4_;\n            psVar49 = (stat64 *)local_8e0._44_4_;\n            iVar17 = local_8b0;\n            if (local_7b0 != (stat64 *)0x0 || (stat64 *)local_820._108_4_ != (stat64 *)0x0) {\n              psVar20 = (stat64 *)0x0;\n              psVar26 = (stat64 *)local_820._108_4_;\n              psVar11 = local_7b0;\n              _Var40 = lseek64((int)local_924,CONCAT44(local_7b0,local_820._108_4_),0);\n              psVar29 = (stat64 *)local_820._108_4_;\n              if (_Var40 < 0) {\n                piVar21 = __errno_location();\n                psVar29 = (stat64 *)(local_174 + 0x50);\n                iVar17 = *piVar21;\n                __snprintf_chk(psVar29,0x100,1,0x100,"couldn\'t offset to required position on %s",\n                               local_79c,piVar21,piVar21);\n                perror((char *)psVar29);\n                local_908 = (stat64 *)sg_convert_errno(iVar17);\n                goto LAB_00012527;\n              }\n              psVar12 = (stat64 *)((int)psVar49 - local_820._108_4_);\n              iVar17 = (local_8b0 - (int)local_7b0) - (uint)(psVar49 < (uint)local_820._108_4_);\n              local_930 = psVar49;\n              if ((int)(uint)(psVar12 != (stat64 *)0x0) <= -iVar17) {\n                pr2serr("--offset [0x%llx] at or beyond file length[0x%llx]\n",local_820._108_4_,\n                        local_7b0,psVar49,local_8b0);\n                local_908 = (stat64 *)0xf;\n                goto LAB_00012527;\n              }\n              if ((local_820._40_4_ != 0) &&\n                 (local_930 = (stat64 *)local_820._80_4_,\n                 iVar17 < (int)(uint)(psVar12 < (uint)local_820._80_4_))) {\n                pr2serr("after accounting for OFF, DLEN exceeds %s remaining length (%u bytes)\n",\n                        local_79c,psVar12,psVar12);\n                local_908 = (stat64 *)0xf;\n                psVar29 = psVar12;\n                goto LAB_00012527;\n              }\n              if (iVar17 < (int)(uint)(psVar12 < local_93c)) {\n                local_93c = psVar12;\n              }\n              psVar49 = psVar12;\n              if (2 < (int)uVar19) {\n                psVar26 = (stat64 *)local_820._108_4_;\n                psVar11 = local_93c;\n                psVar20 = psVar12;\n                psVar12 = (stat64 *)\n                          pr2serr("Moved IF byte pointer to %u, if_len=%u, if_readable_len=%u\n",\n                                  local_820._108_4_,local_93c,psVar12);\n              }\n            }\n            goto LAB_00011fa8;\n          }\n          goto LAB_00011e6c;\n        }\n        piVar21 = __errno_location();\n        iVar17 = *piVar21;\n        pcVar18 = "could not fstat %s";\n      }\n      __snprintf_chk(local_174 + 0x50,0x100,1,0x100,pcVar18,local_79c,piVar21,piVar21);\n      perror(local_174 + 0x50);\n      local_908 = (stat64 *)sg_convert_errno(iVar17);\n      goto LAB_00011a84;\n    }" if (parenthesized_expression "((iVar17 != -3) || (*local_79c != '-'))" ( (binary_expression "(iVar17 != -3) || (*local_79c != '-')" (parenthesized_expression "(iVar17 != -3)" ( (binary_expression "iVar17 != -3" identifier != number_literal) )) || (parenthesized_expression "(*local_79c != '-')" ( (binary_expression "*local_79c != '-'" (pointer_expression "*local_79c" * identifier) != (char_literal "'-'" ' character ')) ))) )) (compound_statement "{\n      local_924 = (stat64 *)open64(local_79c,0,iVar17,iVar17);\n      if ((int)local_924 < 0) {\n        piVar21 = __errno_location();\n        iVar17 = *piVar21;\n        pcVar18 = "could not open %s for reading";\n      }\n      else {\n        psVar20 = (stat64 *)sg_set_binary_mode(local_924);\n        if ((int)psVar20 < 0) goto LAB_00011dea;\n        psVar26 = local_924;\n        psVar11 = local_930;\n        iVar17 = __fxstat64(3,(int)local_924,local_930);\n        if (-1 < iVar17) {\n          if ((local_8e0._16_4_ & 0xf000) == 0x8000) {\n            local_93c = (stat64 *)local_8e0._44_4_;\n            if ((stat64 *)uVar24 != (stat64 *)0x0) {\n              local_93c = (stat64 *)uVar24;\n            }\n            if ((local_8b0 != 0 || (stat64 *)local_8e0._44_4_ != (stat64 *)0x0) &&\n               (psVar29 = (stat64 *)((int)&((stat64 *)(local_8e0._44_4_ + -0x60))->st_ino + 7),\n               iVar23 = local_8b0 + -1 + (uint)((stat64 *)local_8e0._44_4_ != (stat64 *)0x0),\n               iVar17 = (int)local_7b0 - iVar23,\n               (SBORROW4((int)local_7b0,iVar23) !=\n               SBORROW4(iVar17,(uint)((uint)local_820._108_4_ < psVar29))) ==\n               (int)(iVar17 - (uint)((uint)local_820._108_4_ < psVar29)) < 0)) {\n              pr2serr("Offset (%llu) is at or beyond IF byte length (%llu)\n",local_820._108_4_,\n                      local_7b0,local_8e0._44_4_,local_8b0,psVar26,psVar11,psVar20);\n              local_908 = (stat64 *)0xf;\n              goto LAB_00012527;\n            }\n            psVar12 = (stat64 *)local_820._108_4_;\n            psVar49 = (stat64 *)local_8e0._44_4_;\n            iVar17 = local_8b0;\n            if (local_7b0 != (stat64 *)0x0 || (stat64 *)local_820._108_4_ != (stat64 *)0x0) {\n              psVar20 = (stat64 *)0x0;\n              psVar26 = (stat64 *)local_820._108_4_;\n              psVar11 = local_7b0;\n              _Var40 = lseek64((int)local_924,CONCAT44(local_7b0,local_820._108_4_),0);\n              psVar29 = (stat64 *)local_820._108_4_;\n              if (_Var40 < 0) {\n                piVar21 = __errno_location();\n                psVar29 = (stat64 *)(local_174 + 0x50);\n                iVar17 = *piVar21;\n                __snprintf_chk(psVar29,0x100,1,0x100,"couldn\'t offset to required position on %s",\n                               local_79c,piVar21,piVar21);\n                perror((char *)psVar29);\n                local_908 = (stat64 *)sg_convert_errno(iVar17);\n                goto LAB_00012527;\n              }\n              psVar12 = (stat64 *)((int)psVar49 - local_820._108_4_);\n              iVar17 = (local_8b0 - (int)local_7b0) - (uint)(psVar49 < (uint)local_820._108_4_);\n              local_930 = psVar49;\n              if ((int)(uint)(psVar12 != (stat64 *)0x0) <= -iVar17) {\n                pr2serr("--offset [0x%llx] at or beyond file length[0x%llx]\n",local_820._108_4_,\n                        local_7b0,psVar49,local_8b0);\n                local_908 = (stat64 *)0xf;\n                goto LAB_00012527;\n              }\n              if ((local_820._40_4_ != 0) &&\n                 (local_930 = (stat64 *)local_820._80_4_,\n                 iVar17 < (int)(uint)(psVar12 < (uint)local_820._80_4_))) {\n                pr2serr("after accounting for OFF, DLEN exceeds %s remaining length (%u bytes)\n",\n                        local_79c,psVar12,psVar12);\n                local_908 = (stat64 *)0xf;\n                psVar29 = psVar12;\n                goto LAB_00012527;\n              }\n              if (iVar17 < (int)(uint)(psVar12 < local_93c)) {\n                local_93c = psVar12;\n              }\n              psVar49 = psVar12;\n              if (2 < (int)uVar19) {\n                psVar26 = (stat64 *)local_820._108_4_;\n                psVar11 = local_93c;\n                psVar20 = psVar12;\n                psVar12 = (stat64 *)\n                          pr2serr("Moved IF byte pointer to %u, if_len=%u, if_readable_len=%u\n",\n                                  local_820._108_4_,local_93c,psVar12);\n              }\n            }\n            goto LAB_00011fa8;\n          }\n          goto LAB_00011e6c;\n        }\n        piVar21 = __errno_location();\n        iVar17 = *piVar21;\n        pcVar18 = "could not fstat %s";\n      }\n      __snprintf_chk(local_174 + 0x50,0x100,1,0x100,pcVar18,local_79c,piVar21,piVar21);\n      perror(local_174 + 0x50);\n      local_908 = (stat64 *)sg_convert_errno(iVar17);\n      goto LAB_00011a84;\n    }" { (expression_statement "local_924 = (stat64 *)open64(local_79c,0,iVar17,iVar17);" (assignment_expression "local_924 = (stat64 *)open64(local_79c,0,iVar17,iVar17)" identifier = (cast_expression "(stat64 *)open64(local_79c,0,iVar17,iVar17)" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "open64(local_79c,0,iVar17,iVar17)" identifier (argument_list "(local_79c,0,iVar17,iVar17)" ( identifier , number_literal , identifier , identifier ))))) ;) (if_statement "if ((int)local_924 < 0) {\n        piVar21 = __errno_location();\n        iVar17 = *piVar21;\n        pcVar18 = "could not open %s for reading";\n      }\n      else {\n        psVar20 = (stat64 *)sg_set_binary_mode(local_924);\n        if ((int)psVar20 < 0) goto LAB_00011dea;\n        psVar26 = local_924;\n        psVar11 = local_930;\n        iVar17 = __fxstat64(3,(int)local_924,local_930);\n        if (-1 < iVar17) {\n          if ((local_8e0._16_4_ & 0xf000) == 0x8000) {\n            local_93c = (stat64 *)local_8e0._44_4_;\n            if ((stat64 *)uVar24 != (stat64 *)0x0) {\n              local_93c = (stat64 *)uVar24;\n            }\n            if ((local_8b0 != 0 || (stat64 *)local_8e0._44_4_ != (stat64 *)0x0) &&\n               (psVar29 = (stat64 *)((int)&((stat64 *)(local_8e0._44_4_ + -0x60))->st_ino + 7),\n               iVar23 = local_8b0 + -1 + (uint)((stat64 *)local_8e0._44_4_ != (stat64 *)0x0),\n               iVar17 = (int)local_7b0 - iVar23,\n               (SBORROW4((int)local_7b0,iVar23) !=\n               SBORROW4(iVar17,(uint)((uint)local_820._108_4_ < psVar29))) ==\n               (int)(iVar17 - (uint)((uint)local_820._108_4_ < psVar29)) < 0)) {\n              pr2serr("Offset (%llu) is at or beyond IF byte length (%llu)\n",local_820._108_4_,\n                      local_7b0,local_8e0._44_4_,local_8b0,psVar26,psVar11,psVar20);\n              local_908 = (stat64 *)0xf;\n              goto LAB_00012527;\n            }\n            psVar12 = (stat64 *)local_820._108_4_;\n            psVar49 = (stat64 *)local_8e0._44_4_;\n            iVar17 = local_8b0;\n            if (local_7b0 != (stat64 *)0x0 || (stat64 *)local_820._108_4_ != (stat64 *)0x0) {\n              psVar20 = (stat64 *)0x0;\n              psVar26 = (stat64 *)local_820._108_4_;\n              psVar11 = local_7b0;\n              _Var40 = lseek64((int)local_924,CONCAT44(local_7b0,local_820._108_4_),0);\n              psVar29 = (stat64 *)local_820._108_4_;\n              if (_Var40 < 0) {\n                piVar21 = __errno_location();\n                psVar29 = (stat64 *)(local_174 + 0x50);\n                iVar17 = *piVar21;\n                __snprintf_chk(psVar29,0x100,1,0x100,"couldn\'t offset to required position on %s",\n                               local_79c,piVar21,piVar21);\n                perror((char *)psVar29);\n                local_908 = (stat64 *)sg_convert_errno(iVar17);\n                goto LAB_00012527;\n              }\n              psVar12 = (stat64 *)((int)psVar49 - local_820._108_4_);\n              iVar17 = (local_8b0 - (int)local_7b0) - (uint)(psVar49 < (uint)local_820._108_4_);\n              local_930 = psVar49;\n              if ((int)(uint)(psVar12 != (stat64 *)0x0) <= -iVar17) {\n                pr2serr("--offset [0x%llx] at or beyond file length[0x%llx]\n",local_820._108_4_,\n                        local_7b0,psVar49,local_8b0);\n                local_908 = (stat64 *)0xf;\n                goto LAB_00012527;\n              }\n              if ((local_820._40_4_ != 0) &&\n                 (local_930 = (stat64 *)local_820._80_4_,\n                 iVar17 < (int)(uint)(psVar12 < (uint)local_820._80_4_))) {\n                pr2serr("after accounting for OFF, DLEN exceeds %s remaining length (%u bytes)\n",\n                        local_79c,psVar12,psVar12);\n                local_908 = (stat64 *)0xf;\n                psVar29 = psVar12;\n                goto LAB_00012527;\n              }\n              if (iVar17 < (int)(uint)(psVar12 < local_93c)) {\n                local_93c = psVar12;\n              }\n              psVar49 = psVar12;\n              if (2 < (int)uVar19) {\n                psVar26 = (stat64 *)local_820._108_4_;\n                psVar11 = local_93c;\n                psVar20 = psVar12;\n                psVar12 = (stat64 *)\n                          pr2serr("Moved IF byte pointer to %u, if_len=%u, if_readable_len=%u\n",\n                                  local_820._108_4_,local_93c,psVar12);\n              }\n            }\n            goto LAB_00011fa8;\n          }\n          goto LAB_00011e6c;\n        }\n        piVar21 = __errno_location();\n        iVar17 = *piVar21;\n        pcVar18 = "could not fstat %s";\n      }" if (parenthesized_expression "((int)local_924 < 0)" ( (binary_expression "(int)local_924 < 0" (cast_expression "(int)local_924" ( (type_descriptor "int" primitive_type) ) identifier) < number_literal) )) (compound_statement "{\n        piVar21 = __errno_location();\n        iVar17 = *piVar21;\n        pcVar18 = "could not open %s for reading";\n      }" { (expression_statement "piVar21 = __errno_location();" (assignment_expression "piVar21 = __errno_location()" identifier = (call_expression "__errno_location()" identifier (argument_list "()" ( )))) ;) (expression_statement "iVar17 = *piVar21;" (assignment_expression "iVar17 = *piVar21" identifier = (pointer_expression "*piVar21" * identifier)) ;) (expression_statement "pcVar18 = "could not open %s for reading";" (assignment_expression "pcVar18 = "could not open %s for reading"" identifier = (string_literal ""could not open %s for reading"" " string_content ")) ;) }) (else_clause "else {\n        psVar20 = (stat64 *)sg_set_binary_mode(local_924);\n        if ((int)psVar20 < 0) goto LAB_00011dea;\n        psVar26 = local_924;\n        psVar11 = local_930;\n        iVar17 = __fxstat64(3,(int)local_924,local_930);\n        if (-1 < iVar17) {\n          if ((local_8e0._16_4_ & 0xf000) == 0x8000) {\n            local_93c = (stat64 *)local_8e0._44_4_;\n            if ((stat64 *)uVar24 != (stat64 *)0x0) {\n              local_93c = (stat64 *)uVar24;\n            }\n            if ((local_8b0 != 0 || (stat64 *)local_8e0._44_4_ != (stat64 *)0x0) &&\n               (psVar29 = (stat64 *)((int)&((stat64 *)(local_8e0._44_4_ + -0x60))->st_ino + 7),\n               iVar23 = local_8b0 + -1 + (uint)((stat64 *)local_8e0._44_4_ != (stat64 *)0x0),\n               iVar17 = (int)local_7b0 - iVar23,\n               (SBORROW4((int)local_7b0,iVar23) !=\n               SBORROW4(iVar17,(uint)((uint)local_820._108_4_ < psVar29))) ==\n               (int)(iVar17 - (uint)((uint)local_820._108_4_ < psVar29)) < 0)) {\n              pr2serr("Offset (%llu) is at or beyond IF byte length (%llu)\n",local_820._108_4_,\n                      local_7b0,local_8e0._44_4_,local_8b0,psVar26,psVar11,psVar20);\n              local_908 = (stat64 *)0xf;\n              goto LAB_00012527;\n            }\n            psVar12 = (stat64 *)local_820._108_4_;\n            psVar49 = (stat64 *)local_8e0._44_4_;\n            iVar17 = local_8b0;\n            if (local_7b0 != (stat64 *)0x0 || (stat64 *)local_820._108_4_ != (stat64 *)0x0) {\n              psVar20 = (stat64 *)0x0;\n              psVar26 = (stat64 *)local_820._108_4_;\n              psVar11 = local_7b0;\n              _Var40 = lseek64((int)local_924,CONCAT44(local_7b0,local_820._108_4_),0);\n              psVar29 = (stat64 *)local_820._108_4_;\n              if (_Var40 < 0) {\n                piVar21 = __errno_location();\n                psVar29 = (stat64 *)(local_174 + 0x50);\n                iVar17 = *piVar21;\n                __snprintf_chk(psVar29,0x100,1,0x100,"couldn\'t offset to required position on %s",\n                               local_79c,piVar21,piVar21);\n                perror((char *)psVar29);\n                local_908 = (stat64 *)sg_convert_errno(iVar17);\n                goto LAB_00012527;\n              }\n              psVar12 = (stat64 *)((int)psVar49 - local_820._108_4_);\n              iVar17 = (local_8b0 - (int)local_7b0) - (uint)(psVar49 < (uint)local_820._108_4_);\n              local_930 = psVar49;\n              if ((int)(uint)(psVar12 != (stat64 *)0x0) <= -iVar17) {\n                pr2serr("--offset [0x%llx] at or beyond file length[0x%llx]\n",local_820._108_4_,\n                        local_7b0,psVar49,local_8b0);\n                local_908 = (stat64 *)0xf;\n                goto LAB_00012527;\n              }\n              if ((local_820._40_4_ != 0) &&\n                 (local_930 = (stat64 *)local_820._80_4_,\n                 iVar17 < (int)(uint)(psVar12 < (uint)local_820._80_4_))) {\n                pr2serr("after accounting for OFF, DLEN exceeds %s remaining length (%u bytes)\n",\n                        local_79c,psVar12,psVar12);\n                local_908 = (stat64 *)0xf;\n                psVar29 = psVar12;\n                goto LAB_00012527;\n              }\n              if (iVar17 < (int)(uint)(psVar12 < local_93c)) {\n                local_93c = psVar12;\n              }\n              psVar49 = psVar12;\n              if (2 < (int)uVar19) {\n                psVar26 = (stat64 *)local_820._108_4_;\n                psVar11 = local_93c;\n                psVar20 = psVar12;\n                psVar12 = (stat64 *)\n                          pr2serr("Moved IF byte pointer to %u, if_len=%u, if_readable_len=%u\n",\n                                  local_820._108_4_,local_93c,psVar12);\n              }\n            }\n            goto LAB_00011fa8;\n          }\n          goto LAB_00011e6c;\n        }\n        piVar21 = __errno_location();\n        iVar17 = *piVar21;\n        pcVar18 = "could not fstat %s";\n      }" else (compound_statement "{\n        psVar20 = (stat64 *)sg_set_binary_mode(local_924);\n        if ((int)psVar20 < 0) goto LAB_00011dea;\n        psVar26 = local_924;\n        psVar11 = local_930;\n        iVar17 = __fxstat64(3,(int)local_924,local_930);\n        if (-1 < iVar17) {\n          if ((local_8e0._16_4_ & 0xf000) == 0x8000) {\n            local_93c = (stat64 *)local_8e0._44_4_;\n            if ((stat64 *)uVar24 != (stat64 *)0x0) {\n              local_93c = (stat64 *)uVar24;\n            }\n            if ((local_8b0 != 0 || (stat64 *)local_8e0._44_4_ != (stat64 *)0x0) &&\n               (psVar29 = (stat64 *)((int)&((stat64 *)(local_8e0._44_4_ + -0x60))->st_ino + 7),\n               iVar23 = local_8b0 + -1 + (uint)((stat64 *)local_8e0._44_4_ != (stat64 *)0x0),\n               iVar17 = (int)local_7b0 - iVar23,\n               (SBORROW4((int)local_7b0,iVar23) !=\n               SBORROW4(iVar17,(uint)((uint)local_820._108_4_ < psVar29))) ==\n               (int)(iVar17 - (uint)((uint)local_820._108_4_ < psVar29)) < 0)) {\n              pr2serr("Offset (%llu) is at or beyond IF byte length (%llu)\n",local_820._108_4_,\n                      local_7b0,local_8e0._44_4_,local_8b0,psVar26,psVar11,psVar20);\n              local_908 = (stat64 *)0xf;\n              goto LAB_00012527;\n            }\n            psVar12 = (stat64 *)local_820._108_4_;\n            psVar49 = (stat64 *)local_8e0._44_4_;\n            iVar17 = local_8b0;\n            if (local_7b0 != (stat64 *)0x0 || (stat64 *)local_820._108_4_ != (stat64 *)0x0) {\n              psVar20 = (stat64 *)0x0;\n              psVar26 = (stat64 *)local_820._108_4_;\n              psVar11 = local_7b0;\n              _Var40 = lseek64((int)local_924,CONCAT44(local_7b0,local_820._108_4_),0);\n              psVar29 = (stat64 *)local_820._108_4_;\n              if (_Var40 < 0) {\n                piVar21 = __errno_location();\n                psVar29 = (stat64 *)(local_174 + 0x50);\n                iVar17 = *piVar21;\n                __snprintf_chk(psVar29,0x100,1,0x100,"couldn\'t offset to required position on %s",\n                               local_79c,piVar21,piVar21);\n                perror((char *)psVar29);\n                local_908 = (stat64 *)sg_convert_errno(iVar17);\n                goto LAB_00012527;\n              }\n              psVar12 = (stat64 *)((int)psVar49 - local_820._108_4_);\n              iVar17 = (local_8b0 - (int)local_7b0) - (uint)(psVar49 < (uint)local_820._108_4_);\n              local_930 = psVar49;\n              if ((int)(uint)(psVar12 != (stat64 *)0x0) <= -iVar17) {\n                pr2serr("--offset [0x%llx] at or beyond file length[0x%llx]\n",local_820._108_4_,\n                        local_7b0,psVar49,local_8b0);\n                local_908 = (stat64 *)0xf;\n                goto LAB_00012527;\n              }\n              if ((local_820._40_4_ != 0) &&\n                 (local_930 = (stat64 *)local_820._80_4_,\n                 iVar17 < (int)(uint)(psVar12 < (uint)local_820._80_4_))) {\n                pr2serr("after accounting for OFF, DLEN exceeds %s remaining length (%u bytes)\n",\n                        local_79c,psVar12,psVar12);\n                local_908 = (stat64 *)0xf;\n                psVar29 = psVar12;\n                goto LAB_00012527;\n              }\n              if (iVar17 < (int)(uint)(psVar12 < local_93c)) {\n                local_93c = psVar12;\n              }\n              psVar49 = psVar12;\n              if (2 < (int)uVar19) {\n                psVar26 = (stat64 *)local_820._108_4_;\n                psVar11 = local_93c;\n                psVar20 = psVar12;\n                psVar12 = (stat64 *)\n                          pr2serr("Moved IF byte pointer to %u, if_len=%u, if_readable_len=%u\n",\n                                  local_820._108_4_,local_93c,psVar12);\n              }\n            }\n            goto LAB_00011fa8;\n          }\n          goto LAB_00011e6c;\n        }\n        piVar21 = __errno_location();\n        iVar17 = *piVar21;\n        pcVar18 = "could not fstat %s";\n      }" { (expression_statement "psVar20 = (stat64 *)sg_set_binary_mode(local_924);" (assignment_expression "psVar20 = (stat64 *)sg_set_binary_mode(local_924)" identifier = (cast_expression "(stat64 *)sg_set_binary_mode(local_924)" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "sg_set_binary_mode(local_924)" identifier (argument_list "(local_924)" ( identifier ))))) ;) (if_statement "if ((int)psVar20 < 0) goto LAB_00011dea;" if (parenthesized_expression "((int)psVar20 < 0)" ( (binary_expression "(int)psVar20 < 0" (cast_expression "(int)psVar20" ( (type_descriptor "int" primitive_type) ) identifier) < number_literal) )) (goto_statement "goto LAB_00011dea;" goto statement_identifier ;)) (expression_statement "psVar26 = local_924;" (assignment_expression "psVar26 = local_924" identifier = identifier) ;) (expression_statement "psVar11 = local_930;" (assignment_expression "psVar11 = local_930" identifier = identifier) ;) (expression_statement "iVar17 = __fxstat64(3,(int)local_924,local_930);" (assignment_expression "iVar17 = __fxstat64(3,(int)local_924,local_930)" identifier = (call_expression "__fxstat64(3,(int)local_924,local_930)" identifier (argument_list "(3,(int)local_924,local_930)" ( number_literal , (cast_expression "(int)local_924" ( (type_descriptor "int" primitive_type) ) identifier) , identifier )))) ;) (if_statement "if (-1 < iVar17) {\n          if ((local_8e0._16_4_ & 0xf000) == 0x8000) {\n            local_93c = (stat64 *)local_8e0._44_4_;\n            if ((stat64 *)uVar24 != (stat64 *)0x0) {\n              local_93c = (stat64 *)uVar24;\n            }\n            if ((local_8b0 != 0 || (stat64 *)local_8e0._44_4_ != (stat64 *)0x0) &&\n               (psVar29 = (stat64 *)((int)&((stat64 *)(local_8e0._44_4_ + -0x60))->st_ino + 7),\n               iVar23 = local_8b0 + -1 + (uint)((stat64 *)local_8e0._44_4_ != (stat64 *)0x0),\n               iVar17 = (int)local_7b0 - iVar23,\n               (SBORROW4((int)local_7b0,iVar23) !=\n               SBORROW4(iVar17,(uint)((uint)local_820._108_4_ < psVar29))) ==\n               (int)(iVar17 - (uint)((uint)local_820._108_4_ < psVar29)) < 0)) {\n              pr2serr("Offset (%llu) is at or beyond IF byte length (%llu)\n",local_820._108_4_,\n                      local_7b0,local_8e0._44_4_,local_8b0,psVar26,psVar11,psVar20);\n              local_908 = (stat64 *)0xf;\n              goto LAB_00012527;\n            }\n            psVar12 = (stat64 *)local_820._108_4_;\n            psVar49 = (stat64 *)local_8e0._44_4_;\n            iVar17 = local_8b0;\n            if (local_7b0 != (stat64 *)0x0 || (stat64 *)local_820._108_4_ != (stat64 *)0x0) {\n              psVar20 = (stat64 *)0x0;\n              psVar26 = (stat64 *)local_820._108_4_;\n              psVar11 = local_7b0;\n              _Var40 = lseek64((int)local_924,CONCAT44(local_7b0,local_820._108_4_),0);\n              psVar29 = (stat64 *)local_820._108_4_;\n              if (_Var40 < 0) {\n                piVar21 = __errno_location();\n                psVar29 = (stat64 *)(local_174 + 0x50);\n                iVar17 = *piVar21;\n                __snprintf_chk(psVar29,0x100,1,0x100,"couldn\'t offset to required position on %s",\n                               local_79c,piVar21,piVar21);\n                perror((char *)psVar29);\n                local_908 = (stat64 *)sg_convert_errno(iVar17);\n                goto LAB_00012527;\n              }\n              psVar12 = (stat64 *)((int)psVar49 - local_820._108_4_);\n              iVar17 = (local_8b0 - (int)local_7b0) - (uint)(psVar49 < (uint)local_820._108_4_);\n              local_930 = psVar49;\n              if ((int)(uint)(psVar12 != (stat64 *)0x0) <= -iVar17) {\n                pr2serr("--offset [0x%llx] at or beyond file length[0x%llx]\n",local_820._108_4_,\n                        local_7b0,psVar49,local_8b0);\n                local_908 = (stat64 *)0xf;\n                goto LAB_00012527;\n              }\n              if ((local_820._40_4_ != 0) &&\n                 (local_930 = (stat64 *)local_820._80_4_,\n                 iVar17 < (int)(uint)(psVar12 < (uint)local_820._80_4_))) {\n                pr2serr("after accounting for OFF, DLEN exceeds %s remaining length (%u bytes)\n",\n                        local_79c,psVar12,psVar12);\n                local_908 = (stat64 *)0xf;\n                psVar29 = psVar12;\n                goto LAB_00012527;\n              }\n              if (iVar17 < (int)(uint)(psVar12 < local_93c)) {\n                local_93c = psVar12;\n              }\n              psVar49 = psVar12;\n              if (2 < (int)uVar19) {\n                psVar26 = (stat64 *)local_820._108_4_;\n                psVar11 = local_93c;\n                psVar20 = psVar12;\n                psVar12 = (stat64 *)\n                          pr2serr("Moved IF byte pointer to %u, if_len=%u, if_readable_len=%u\n",\n                                  local_820._108_4_,local_93c,psVar12);\n              }\n            }\n            goto LAB_00011fa8;\n          }\n          goto LAB_00011e6c;\n        }" if (parenthesized_expression "(-1 < iVar17)" ( (binary_expression "-1 < iVar17" number_literal < identifier) )) (compound_statement "{\n          if ((local_8e0._16_4_ & 0xf000) == 0x8000) {\n            local_93c = (stat64 *)local_8e0._44_4_;\n            if ((stat64 *)uVar24 != (stat64 *)0x0) {\n              local_93c = (stat64 *)uVar24;\n            }\n            if ((local_8b0 != 0 || (stat64 *)local_8e0._44_4_ != (stat64 *)0x0) &&\n               (psVar29 = (stat64 *)((int)&((stat64 *)(local_8e0._44_4_ + -0x60))->st_ino + 7),\n               iVar23 = local_8b0 + -1 + (uint)((stat64 *)local_8e0._44_4_ != (stat64 *)0x0),\n               iVar17 = (int)local_7b0 - iVar23,\n               (SBORROW4((int)local_7b0,iVar23) !=\n               SBORROW4(iVar17,(uint)((uint)local_820._108_4_ < psVar29))) ==\n               (int)(iVar17 - (uint)((uint)local_820._108_4_ < psVar29)) < 0)) {\n              pr2serr("Offset (%llu) is at or beyond IF byte length (%llu)\n",local_820._108_4_,\n                      local_7b0,local_8e0._44_4_,local_8b0,psVar26,psVar11,psVar20);\n              local_908 = (stat64 *)0xf;\n              goto LAB_00012527;\n            }\n            psVar12 = (stat64 *)local_820._108_4_;\n            psVar49 = (stat64 *)local_8e0._44_4_;\n            iVar17 = local_8b0;\n            if (local_7b0 != (stat64 *)0x0 || (stat64 *)local_820._108_4_ != (stat64 *)0x0) {\n              psVar20 = (stat64 *)0x0;\n              psVar26 = (stat64 *)local_820._108_4_;\n              psVar11 = local_7b0;\n              _Var40 = lseek64((int)local_924,CONCAT44(local_7b0,local_820._108_4_),0);\n              psVar29 = (stat64 *)local_820._108_4_;\n              if (_Var40 < 0) {\n                piVar21 = __errno_location();\n                psVar29 = (stat64 *)(local_174 + 0x50);\n                iVar17 = *piVar21;\n                __snprintf_chk(psVar29,0x100,1,0x100,"couldn\'t offset to required position on %s",\n                               local_79c,piVar21,piVar21);\n                perror((char *)psVar29);\n                local_908 = (stat64 *)sg_convert_errno(iVar17);\n                goto LAB_00012527;\n              }\n              psVar12 = (stat64 *)((int)psVar49 - local_820._108_4_);\n              iVar17 = (local_8b0 - (int)local_7b0) - (uint)(psVar49 < (uint)local_820._108_4_);\n              local_930 = psVar49;\n              if ((int)(uint)(psVar12 != (stat64 *)0x0) <= -iVar17) {\n                pr2serr("--offset [0x%llx] at or beyond file length[0x%llx]\n",local_820._108_4_,\n                        local_7b0,psVar49,local_8b0);\n                local_908 = (stat64 *)0xf;\n                goto LAB_00012527;\n              }\n              if ((local_820._40_4_ != 0) &&\n                 (local_930 = (stat64 *)local_820._80_4_,\n                 iVar17 < (int)(uint)(psVar12 < (uint)local_820._80_4_))) {\n                pr2serr("after accounting for OFF, DLEN exceeds %s remaining length (%u bytes)\n",\n                        local_79c,psVar12,psVar12);\n                local_908 = (stat64 *)0xf;\n                psVar29 = psVar12;\n                goto LAB_00012527;\n              }\n              if (iVar17 < (int)(uint)(psVar12 < local_93c)) {\n                local_93c = psVar12;\n              }\n              psVar49 = psVar12;\n              if (2 < (int)uVar19) {\n                psVar26 = (stat64 *)local_820._108_4_;\n                psVar11 = local_93c;\n                psVar20 = psVar12;\n                psVar12 = (stat64 *)\n                          pr2serr("Moved IF byte pointer to %u, if_len=%u, if_readable_len=%u\n",\n                                  local_820._108_4_,local_93c,psVar12);\n              }\n            }\n            goto LAB_00011fa8;\n          }\n          goto LAB_00011e6c;\n        }" { (if_statement "if ((local_8e0._16_4_ & 0xf000) == 0x8000) {\n            local_93c = (stat64 *)local_8e0._44_4_;\n            if ((stat64 *)uVar24 != (stat64 *)0x0) {\n              local_93c = (stat64 *)uVar24;\n            }\n            if ((local_8b0 != 0 || (stat64 *)local_8e0._44_4_ != (stat64 *)0x0) &&\n               (psVar29 = (stat64 *)((int)&((stat64 *)(local_8e0._44_4_ + -0x60))->st_ino + 7),\n               iVar23 = local_8b0 + -1 + (uint)((stat64 *)local_8e0._44_4_ != (stat64 *)0x0),\n               iVar17 = (int)local_7b0 - iVar23,\n               (SBORROW4((int)local_7b0,iVar23) !=\n               SBORROW4(iVar17,(uint)((uint)local_820._108_4_ < psVar29))) ==\n               (int)(iVar17 - (uint)((uint)local_820._108_4_ < psVar29)) < 0)) {\n              pr2serr("Offset (%llu) is at or beyond IF byte length (%llu)\n",local_820._108_4_,\n                      local_7b0,local_8e0._44_4_,local_8b0,psVar26,psVar11,psVar20);\n              local_908 = (stat64 *)0xf;\n              goto LAB_00012527;\n            }\n            psVar12 = (stat64 *)local_820._108_4_;\n            psVar49 = (stat64 *)local_8e0._44_4_;\n            iVar17 = local_8b0;\n            if (local_7b0 != (stat64 *)0x0 || (stat64 *)local_820._108_4_ != (stat64 *)0x0) {\n              psVar20 = (stat64 *)0x0;\n              psVar26 = (stat64 *)local_820._108_4_;\n              psVar11 = local_7b0;\n              _Var40 = lseek64((int)local_924,CONCAT44(local_7b0,local_820._108_4_),0);\n              psVar29 = (stat64 *)local_820._108_4_;\n              if (_Var40 < 0) {\n                piVar21 = __errno_location();\n                psVar29 = (stat64 *)(local_174 + 0x50);\n                iVar17 = *piVar21;\n                __snprintf_chk(psVar29,0x100,1,0x100,"couldn\'t offset to required position on %s",\n                               local_79c,piVar21,piVar21);\n                perror((char *)psVar29);\n                local_908 = (stat64 *)sg_convert_errno(iVar17);\n                goto LAB_00012527;\n              }\n              psVar12 = (stat64 *)((int)psVar49 - local_820._108_4_);\n              iVar17 = (local_8b0 - (int)local_7b0) - (uint)(psVar49 < (uint)local_820._108_4_);\n              local_930 = psVar49;\n              if ((int)(uint)(psVar12 != (stat64 *)0x0) <= -iVar17) {\n                pr2serr("--offset [0x%llx] at or beyond file length[0x%llx]\n",local_820._108_4_,\n                        local_7b0,psVar49,local_8b0);\n                local_908 = (stat64 *)0xf;\n                goto LAB_00012527;\n              }\n              if ((local_820._40_4_ != 0) &&\n                 (local_930 = (stat64 *)local_820._80_4_,\n                 iVar17 < (int)(uint)(psVar12 < (uint)local_820._80_4_))) {\n                pr2serr("after accounting for OFF, DLEN exceeds %s remaining length (%u bytes)\n",\n                        local_79c,psVar12,psVar12);\n                local_908 = (stat64 *)0xf;\n                psVar29 = psVar12;\n                goto LAB_00012527;\n              }\n              if (iVar17 < (int)(uint)(psVar12 < local_93c)) {\n                local_93c = psVar12;\n              }\n              psVar49 = psVar12;\n              if (2 < (int)uVar19) {\n                psVar26 = (stat64 *)local_820._108_4_;\n                psVar11 = local_93c;\n                psVar20 = psVar12;\n                psVar12 = (stat64 *)\n                          pr2serr("Moved IF byte pointer to %u, if_len=%u, if_readable_len=%u\n",\n                                  local_820._108_4_,local_93c,psVar12);\n              }\n            }\n            goto LAB_00011fa8;\n          }" if (parenthesized_expression "((local_8e0._16_4_ & 0xf000) == 0x8000)" ( (binary_expression "(local_8e0._16_4_ & 0xf000) == 0x8000" (parenthesized_expression "(local_8e0._16_4_ & 0xf000)" ( (binary_expression "local_8e0._16_4_ & 0xf000" (field_expression "local_8e0._16_4_" identifier . field_identifier) & number_literal) )) == number_literal) )) (compound_statement "{\n            local_93c = (stat64 *)local_8e0._44_4_;\n            if ((stat64 *)uVar24 != (stat64 *)0x0) {\n              local_93c = (stat64 *)uVar24;\n            }\n            if ((local_8b0 != 0 || (stat64 *)local_8e0._44_4_ != (stat64 *)0x0) &&\n               (psVar29 = (stat64 *)((int)&((stat64 *)(local_8e0._44_4_ + -0x60))->st_ino + 7),\n               iVar23 = local_8b0 + -1 + (uint)((stat64 *)local_8e0._44_4_ != (stat64 *)0x0),\n               iVar17 = (int)local_7b0 - iVar23,\n               (SBORROW4((int)local_7b0,iVar23) !=\n               SBORROW4(iVar17,(uint)((uint)local_820._108_4_ < psVar29))) ==\n               (int)(iVar17 - (uint)((uint)local_820._108_4_ < psVar29)) < 0)) {\n              pr2serr("Offset (%llu) is at or beyond IF byte length (%llu)\n",local_820._108_4_,\n                      local_7b0,local_8e0._44_4_,local_8b0,psVar26,psVar11,psVar20);\n              local_908 = (stat64 *)0xf;\n              goto LAB_00012527;\n            }\n            psVar12 = (stat64 *)local_820._108_4_;\n            psVar49 = (stat64 *)local_8e0._44_4_;\n            iVar17 = local_8b0;\n            if (local_7b0 != (stat64 *)0x0 || (stat64 *)local_820._108_4_ != (stat64 *)0x0) {\n              psVar20 = (stat64 *)0x0;\n              psVar26 = (stat64 *)local_820._108_4_;\n              psVar11 = local_7b0;\n              _Var40 = lseek64((int)local_924,CONCAT44(local_7b0,local_820._108_4_),0);\n              psVar29 = (stat64 *)local_820._108_4_;\n              if (_Var40 < 0) {\n                piVar21 = __errno_location();\n                psVar29 = (stat64 *)(local_174 + 0x50);\n                iVar17 = *piVar21;\n                __snprintf_chk(psVar29,0x100,1,0x100,"couldn\'t offset to required position on %s",\n                               local_79c,piVar21,piVar21);\n                perror((char *)psVar29);\n                local_908 = (stat64 *)sg_convert_errno(iVar17);\n                goto LAB_00012527;\n              }\n              psVar12 = (stat64 *)((int)psVar49 - local_820._108_4_);\n              iVar17 = (local_8b0 - (int)local_7b0) - (uint)(psVar49 < (uint)local_820._108_4_);\n              local_930 = psVar49;\n              if ((int)(uint)(psVar12 != (stat64 *)0x0) <= -iVar17) {\n                pr2serr("--offset [0x%llx] at or beyond file length[0x%llx]\n",local_820._108_4_,\n                        local_7b0,psVar49,local_8b0);\n                local_908 = (stat64 *)0xf;\n                goto LAB_00012527;\n              }\n              if ((local_820._40_4_ != 0) &&\n                 (local_930 = (stat64 *)local_820._80_4_,\n                 iVar17 < (int)(uint)(psVar12 < (uint)local_820._80_4_))) {\n                pr2serr("after accounting for OFF, DLEN exceeds %s remaining length (%u bytes)\n",\n                        local_79c,psVar12,psVar12);\n                local_908 = (stat64 *)0xf;\n                psVar29 = psVar12;\n                goto LAB_00012527;\n              }\n              if (iVar17 < (int)(uint)(psVar12 < local_93c)) {\n                local_93c = psVar12;\n              }\n              psVar49 = psVar12;\n              if (2 < (int)uVar19) {\n                psVar26 = (stat64 *)local_820._108_4_;\n                psVar11 = local_93c;\n                psVar20 = psVar12;\n                psVar12 = (stat64 *)\n                          pr2serr("Moved IF byte pointer to %u, if_len=%u, if_readable_len=%u\n",\n                                  local_820._108_4_,local_93c,psVar12);\n              }\n            }\n            goto LAB_00011fa8;\n          }" { (expression_statement "local_93c = (stat64 *)local_8e0._44_4_;" (assignment_expression "local_93c = (stat64 *)local_8e0._44_4_" identifier = (cast_expression "(stat64 *)local_8e0._44_4_" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "local_8e0._44_4_" identifier . field_identifier))) ;) (if_statement "if ((stat64 *)uVar24 != (stat64 *)0x0) {\n              local_93c = (stat64 *)uVar24;\n            }" if (parenthesized_expression "((stat64 *)uVar24 != (stat64 *)0x0)" ( (binary_expression "(stat64 *)uVar24 != (stat64 *)0x0" (cast_expression "(stat64 *)uVar24" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) != (cast_expression "(stat64 *)0x0" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n              local_93c = (stat64 *)uVar24;\n            }" { (expression_statement "local_93c = (stat64 *)uVar24;" (assignment_expression "local_93c = (stat64 *)uVar24" identifier = (cast_expression "(stat64 *)uVar24" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) })) (if_statement "if ((local_8b0 != 0 || (stat64 *)local_8e0._44_4_ != (stat64 *)0x0) &&\n               (psVar29 = (stat64 *)((int)&((stat64 *)(local_8e0._44_4_ + -0x60))->st_ino + 7),\n               iVar23 = local_8b0 + -1 + (uint)((stat64 *)local_8e0._44_4_ != (stat64 *)0x0),\n               iVar17 = (int)local_7b0 - iVar23,\n               (SBORROW4((int)local_7b0,iVar23) !=\n               SBORROW4(iVar17,(uint)((uint)local_820._108_4_ < psVar29))) ==\n               (int)(iVar17 - (uint)((uint)local_820._108_4_ < psVar29)) < 0)) {\n              pr2serr("Offset (%llu) is at or beyond IF byte length (%llu)\n",local_820._108_4_,\n                      local_7b0,local_8e0._44_4_,local_8b0,psVar26,psVar11,psVar20);\n              local_908 = (stat64 *)0xf;\n              goto LAB_00012527;\n            }" if (parenthesized_expression "((local_8b0 != 0 || (stat64 *)local_8e0._44_4_ != (stat64 *)0x0) &&\n               (psVar29 = (stat64 *)((int)&((stat64 *)(local_8e0._44_4_ + -0x60))->st_ino + 7),\n               iVar23 = local_8b0 + -1 + (uint)((stat64 *)local_8e0._44_4_ != (stat64 *)0x0),\n               iVar17 = (int)local_7b0 - iVar23,\n               (SBORROW4((int)local_7b0,iVar23) !=\n               SBORROW4(iVar17,(uint)((uint)local_820._108_4_ < psVar29))) ==\n               (int)(iVar17 - (uint)((uint)local_820._108_4_ < psVar29)) < 0))" ( (binary_expression "(local_8b0 != 0 || (stat64 *)local_8e0._44_4_ != (stat64 *)0x0) &&\n               (psVar29 = (stat64 *)((int)&((stat64 *)(local_8e0._44_4_ + -0x60))->st_ino + 7),\n               iVar23 = local_8b0 + -1 + (uint)((stat64 *)local_8e0._44_4_ != (stat64 *)0x0),\n               iVar17 = (int)local_7b0 - iVar23,\n               (SBORROW4((int)local_7b0,iVar23) !=\n               SBORROW4(iVar17,(uint)((uint)local_820._108_4_ < psVar29))) ==\n               (int)(iVar17 - (uint)((uint)local_820._108_4_ < psVar29)) < 0)" (parenthesized_expression "(local_8b0 != 0 || (stat64 *)local_8e0._44_4_ != (stat64 *)0x0)" ( (binary_expression "local_8b0 != 0 || (stat64 *)local_8e0._44_4_ != (stat64 *)0x0" (binary_expression "local_8b0 != 0" identifier != number_literal) || (binary_expression "(stat64 *)local_8e0._44_4_ != (stat64 *)0x0" (cast_expression "(stat64 *)local_8e0._44_4_" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "local_8e0._44_4_" identifier . field_identifier)) != (cast_expression "(stat64 *)0x0" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal))) )) && (parenthesized_expression "(psVar29 = (stat64 *)((int)&((stat64 *)(local_8e0._44_4_ + -0x60))->st_ino + 7),\n               iVar23 = local_8b0 + -1 + (uint)((stat64 *)local_8e0._44_4_ != (stat64 *)0x0),\n               iVar17 = (int)local_7b0 - iVar23,\n               (SBORROW4((int)local_7b0,iVar23) !=\n               SBORROW4(iVar17,(uint)((uint)local_820._108_4_ < psVar29))) ==\n               (int)(iVar17 - (uint)((uint)local_820._108_4_ < psVar29)) < 0)" ( (comma_expression "psVar29 = (stat64 *)((int)&((stat64 *)(local_8e0._44_4_ + -0x60))->st_ino + 7),\n               iVar23 = local_8b0 + -1 + (uint)((stat64 *)local_8e0._44_4_ != (stat64 *)0x0),\n               iVar17 = (int)local_7b0 - iVar23,\n               (SBORROW4((int)local_7b0,iVar23) !=\n               SBORROW4(iVar17,(uint)((uint)local_820._108_4_ < psVar29))) ==\n               (int)(iVar17 - (uint)((uint)local_820._108_4_ < psVar29)) < 0" (assignment_expression "psVar29 = (stat64 *)((int)&((stat64 *)(local_8e0._44_4_ + -0x60))->st_ino + 7)" identifier = (cast_expression "(stat64 *)((int)&((stat64 *)(local_8e0._44_4_ + -0x60))->st_ino + 7)" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&((stat64 *)(local_8e0._44_4_ + -0x60))->st_ino + 7)" ( (binary_expression "(int)&((stat64 *)(local_8e0._44_4_ + -0x60))->st_ino + 7" (cast_expression "(int)&((stat64 *)(local_8e0._44_4_ + -0x60))->st_ino" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&((stat64 *)(local_8e0._44_4_ + -0x60))->st_ino" & (field_expression "((stat64 *)(local_8e0._44_4_ + -0x60))->st_ino" (parenthesized_expression "((stat64 *)(local_8e0._44_4_ + -0x60))" ( (cast_expression "(stat64 *)(local_8e0._44_4_ + -0x60)" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_8e0._44_4_ + -0x60)" ( (binary_expression "local_8e0._44_4_ + -0x60" (field_expression "local_8e0._44_4_" identifier . field_identifier) + number_literal) ))) )) -> field_identifier))) + number_literal) )))) , (comma_expression "iVar23 = local_8b0 + -1 + (uint)((stat64 *)local_8e0._44_4_ != (stat64 *)0x0),\n               iVar17 = (int)local_7b0 - iVar23,\n               (SBORROW4((int)local_7b0,iVar23) !=\n               SBORROW4(iVar17,(uint)((uint)local_820._108_4_ < psVar29))) ==\n               (int)(iVar17 - (uint)((uint)local_820._108_4_ < psVar29)) < 0" (assignment_expression "iVar23 = local_8b0 + -1 + (uint)((stat64 *)local_8e0._44_4_ != (stat64 *)0x0)" identifier = (binary_expression "local_8b0 + -1 + (uint)((stat64 *)local_8e0._44_4_ != (stat64 *)0x0)" (binary_expression "local_8b0 + -1" identifier + number_literal) + (call_expression "(uint)((stat64 *)local_8e0._44_4_ != (stat64 *)0x0)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((stat64 *)local_8e0._44_4_ != (stat64 *)0x0)" ( (binary_expression "(stat64 *)local_8e0._44_4_ != (stat64 *)0x0" (cast_expression "(stat64 *)local_8e0._44_4_" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "local_8e0._44_4_" identifier . field_identifier)) != (cast_expression "(stat64 *)0x0" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ))))) , (comma_expression "iVar17 = (int)local_7b0 - iVar23,\n               (SBORROW4((int)local_7b0,iVar23) !=\n               SBORROW4(iVar17,(uint)((uint)local_820._108_4_ < psVar29))) ==\n               (int)(iVar17 - (uint)((uint)local_820._108_4_ < psVar29)) < 0" (assignment_expression "iVar17 = (int)local_7b0 - iVar23" identifier = (binary_expression "(int)local_7b0 - iVar23" (cast_expression "(int)local_7b0" ( (type_descriptor "int" primitive_type) ) identifier) - identifier)) , (binary_expression "(SBORROW4((int)local_7b0,iVar23) !=\n               SBORROW4(iVar17,(uint)((uint)local_820._108_4_ < psVar29))) ==\n               (int)(iVar17 - (uint)((uint)local_820._108_4_ < psVar29)) < 0" (parenthesized_expression "(SBORROW4((int)local_7b0,iVar23) !=\n               SBORROW4(iVar17,(uint)((uint)local_820._108_4_ < psVar29)))" ( (binary_expression "SBORROW4((int)local_7b0,iVar23) !=\n               SBORROW4(iVar17,(uint)((uint)local_820._108_4_ < psVar29))" (call_expression "SBORROW4((int)local_7b0,iVar23)" identifier (argument_list "((int)local_7b0,iVar23)" ( (cast_expression "(int)local_7b0" ( (type_descriptor "int" primitive_type) ) identifier) , identifier ))) != (call_expression "SBORROW4(iVar17,(uint)((uint)local_820._108_4_ < psVar29))" identifier (argument_list "(iVar17,(uint)((uint)local_820._108_4_ < psVar29))" ( identifier , (call_expression "(uint)((uint)local_820._108_4_ < psVar29)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((uint)local_820._108_4_ < psVar29)" ( (binary_expression "(uint)local_820._108_4_ < psVar29" (cast_expression "(uint)local_820._108_4_" ( (type_descriptor "uint" type_identifier) ) (field_expression "local_820._108_4_" identifier . field_identifier)) < identifier) ))) )))) )) == (binary_expression "(int)(iVar17 - (uint)((uint)local_820._108_4_ < psVar29)) < 0" (cast_expression "(int)(iVar17 - (uint)((uint)local_820._108_4_ < psVar29))" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(iVar17 - (uint)((uint)local_820._108_4_ < psVar29))" ( (binary_expression "iVar17 - (uint)((uint)local_820._108_4_ < psVar29)" identifier - (call_expression "(uint)((uint)local_820._108_4_ < psVar29)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((uint)local_820._108_4_ < psVar29)" ( (binary_expression "(uint)local_820._108_4_ < psVar29" (cast_expression "(uint)local_820._108_4_" ( (type_descriptor "uint" type_identifier) ) (field_expression "local_820._108_4_" identifier . field_identifier)) < identifier) )))) ))) < number_literal))))) ))) )) (compound_statement "{\n              pr2serr("Offset (%llu) is at or beyond IF byte length (%llu)\n",local_820._108_4_,\n                      local_7b0,local_8e0._44_4_,local_8b0,psVar26,psVar11,psVar20);\n              local_908 = (stat64 *)0xf;\n              goto LAB_00012527;\n            }" { (expression_statement "pr2serr("Offset (%llu) is at or beyond IF byte length (%llu)\n",local_820._108_4_,\n                      local_7b0,local_8e0._44_4_,local_8b0,psVar26,psVar11,psVar20);" (call_expression "pr2serr("Offset (%llu) is at or beyond IF byte length (%llu)\n",local_820._108_4_,\n                      local_7b0,local_8e0._44_4_,local_8b0,psVar26,psVar11,psVar20)" identifier (argument_list "("Offset (%llu) is at or beyond IF byte length (%llu)\n",local_820._108_4_,\n                      local_7b0,local_8e0._44_4_,local_8b0,psVar26,psVar11,psVar20)" ( (string_literal ""Offset (%llu) is at or beyond IF byte length (%llu)\n"" " string_content escape_sequence ") , (field_expression "local_820._108_4_" identifier . field_identifier) , identifier , (field_expression "local_8e0._44_4_" identifier . field_identifier) , identifier , identifier , identifier , identifier ))) ;) (expression_statement "local_908 = (stat64 *)0xf;" (assignment_expression "local_908 = (stat64 *)0xf" identifier = (cast_expression "(stat64 *)0xf" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (goto_statement "goto LAB_00012527;" goto statement_identifier ;) })) (expression_statement "psVar12 = (stat64 *)local_820._108_4_;" (assignment_expression "psVar12 = (stat64 *)local_820._108_4_" identifier = (cast_expression "(stat64 *)local_820._108_4_" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "local_820._108_4_" identifier . field_identifier))) ;) (expression_statement "psVar49 = (stat64 *)local_8e0._44_4_;" (assignment_expression "psVar49 = (stat64 *)local_8e0._44_4_" identifier = (cast_expression "(stat64 *)local_8e0._44_4_" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "local_8e0._44_4_" identifier . field_identifier))) ;) (expression_statement "iVar17 = local_8b0;" (assignment_expression "iVar17 = local_8b0" identifier = identifier) ;) (if_statement "if (local_7b0 != (stat64 *)0x0 || (stat64 *)local_820._108_4_ != (stat64 *)0x0) {\n              psVar20 = (stat64 *)0x0;\n              psVar26 = (stat64 *)local_820._108_4_;\n              psVar11 = local_7b0;\n              _Var40 = lseek64((int)local_924,CONCAT44(local_7b0,local_820._108_4_),0);\n              psVar29 = (stat64 *)local_820._108_4_;\n              if (_Var40 < 0) {\n                piVar21 = __errno_location();\n                psVar29 = (stat64 *)(local_174 + 0x50);\n                iVar17 = *piVar21;\n                __snprintf_chk(psVar29,0x100,1,0x100,"couldn\'t offset to required position on %s",\n                               local_79c,piVar21,piVar21);\n                perror((char *)psVar29);\n                local_908 = (stat64 *)sg_convert_errno(iVar17);\n                goto LAB_00012527;\n              }\n              psVar12 = (stat64 *)((int)psVar49 - local_820._108_4_);\n              iVar17 = (local_8b0 - (int)local_7b0) - (uint)(psVar49 < (uint)local_820._108_4_);\n              local_930 = psVar49;\n              if ((int)(uint)(psVar12 != (stat64 *)0x0) <= -iVar17) {\n                pr2serr("--offset [0x%llx] at or beyond file length[0x%llx]\n",local_820._108_4_,\n                        local_7b0,psVar49,local_8b0);\n                local_908 = (stat64 *)0xf;\n                goto LAB_00012527;\n              }\n              if ((local_820._40_4_ != 0) &&\n                 (local_930 = (stat64 *)local_820._80_4_,\n                 iVar17 < (int)(uint)(psVar12 < (uint)local_820._80_4_))) {\n                pr2serr("after accounting for OFF, DLEN exceeds %s remaining length (%u bytes)\n",\n                        local_79c,psVar12,psVar12);\n                local_908 = (stat64 *)0xf;\n                psVar29 = psVar12;\n                goto LAB_00012527;\n              }\n              if (iVar17 < (int)(uint)(psVar12 < local_93c)) {\n                local_93c = psVar12;\n              }\n              psVar49 = psVar12;\n              if (2 < (int)uVar19) {\n                psVar26 = (stat64 *)local_820._108_4_;\n                psVar11 = local_93c;\n                psVar20 = psVar12;\n                psVar12 = (stat64 *)\n                          pr2serr("Moved IF byte pointer to %u, if_len=%u, if_readable_len=%u\n",\n                                  local_820._108_4_,local_93c,psVar12);\n              }\n            }" if (parenthesized_expression "(local_7b0 != (stat64 *)0x0 || (stat64 *)local_820._108_4_ != (stat64 *)0x0)" ( (binary_expression "local_7b0 != (stat64 *)0x0 || (stat64 *)local_820._108_4_ != (stat64 *)0x0" (binary_expression "local_7b0 != (stat64 *)0x0" identifier != (cast_expression "(stat64 *)0x0" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) || (binary_expression "(stat64 *)local_820._108_4_ != (stat64 *)0x0" (cast_expression "(stat64 *)local_820._108_4_" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "local_820._108_4_" identifier . field_identifier)) != (cast_expression "(stat64 *)0x0" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal))) )) (compound_statement "{\n              psVar20 = (stat64 *)0x0;\n              psVar26 = (stat64 *)local_820._108_4_;\n              psVar11 = local_7b0;\n              _Var40 = lseek64((int)local_924,CONCAT44(local_7b0,local_820._108_4_),0);\n              psVar29 = (stat64 *)local_820._108_4_;\n              if (_Var40 < 0) {\n                piVar21 = __errno_location();\n                psVar29 = (stat64 *)(local_174 + 0x50);\n                iVar17 = *piVar21;\n                __snprintf_chk(psVar29,0x100,1,0x100,"couldn\'t offset to required position on %s",\n                               local_79c,piVar21,piVar21);\n                perror((char *)psVar29);\n                local_908 = (stat64 *)sg_convert_errno(iVar17);\n                goto LAB_00012527;\n              }\n              psVar12 = (stat64 *)((int)psVar49 - local_820._108_4_);\n              iVar17 = (local_8b0 - (int)local_7b0) - (uint)(psVar49 < (uint)local_820._108_4_);\n              local_930 = psVar49;\n              if ((int)(uint)(psVar12 != (stat64 *)0x0) <= -iVar17) {\n                pr2serr("--offset [0x%llx] at or beyond file length[0x%llx]\n",local_820._108_4_,\n                        local_7b0,psVar49,local_8b0);\n                local_908 = (stat64 *)0xf;\n                goto LAB_00012527;\n              }\n              if ((local_820._40_4_ != 0) &&\n                 (local_930 = (stat64 *)local_820._80_4_,\n                 iVar17 < (int)(uint)(psVar12 < (uint)local_820._80_4_))) {\n                pr2serr("after accounting for OFF, DLEN exceeds %s remaining length (%u bytes)\n",\n                        local_79c,psVar12,psVar12);\n                local_908 = (stat64 *)0xf;\n                psVar29 = psVar12;\n                goto LAB_00012527;\n              }\n              if (iVar17 < (int)(uint)(psVar12 < local_93c)) {\n                local_93c = psVar12;\n              }\n              psVar49 = psVar12;\n              if (2 < (int)uVar19) {\n                psVar26 = (stat64 *)local_820._108_4_;\n                psVar11 = local_93c;\n                psVar20 = psVar12;\n                psVar12 = (stat64 *)\n                          pr2serr("Moved IF byte pointer to %u, if_len=%u, if_readable_len=%u\n",\n                                  local_820._108_4_,local_93c,psVar12);\n              }\n            }" { (expression_statement "psVar20 = (stat64 *)0x0;" (assignment_expression "psVar20 = (stat64 *)0x0" identifier = (cast_expression "(stat64 *)0x0" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "psVar26 = (stat64 *)local_820._108_4_;" (assignment_expression "psVar26 = (stat64 *)local_820._108_4_" identifier = (cast_expression "(stat64 *)local_820._108_4_" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "local_820._108_4_" identifier . field_identifier))) ;) (expression_statement "psVar11 = local_7b0;" (assignment_expression "psVar11 = local_7b0" identifier = identifier) ;) (expression_statement "_Var40 = lseek64((int)local_924,CONCAT44(local_7b0,local_820._108_4_),0);" (assignment_expression "_Var40 = lseek64((int)local_924,CONCAT44(local_7b0,local_820._108_4_),0)" identifier = (call_expression "lseek64((int)local_924,CONCAT44(local_7b0,local_820._108_4_),0)" identifier (argument_list "((int)local_924,CONCAT44(local_7b0,local_820._108_4_),0)" ( (cast_expression "(int)local_924" ( (type_descriptor "int" primitive_type) ) identifier) , (call_expression "CONCAT44(local_7b0,local_820._108_4_)" identifier (argument_list "(local_7b0,local_820._108_4_)" ( identifier , (field_expression "local_820._108_4_" identifier . field_identifier) ))) , number_literal )))) ;) (expression_statement "psVar29 = (stat64 *)local_820._108_4_;" (assignment_expression "psVar29 = (stat64 *)local_820._108_4_" identifier = (cast_expression "(stat64 *)local_820._108_4_" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "local_820._108_4_" identifier . field_identifier))) ;) (if_statement "if (_Var40 < 0) {\n                piVar21 = __errno_location();\n                psVar29 = (stat64 *)(local_174 + 0x50);\n                iVar17 = *piVar21;\n                __snprintf_chk(psVar29,0x100,1,0x100,"couldn\'t offset to required position on %s",\n                               local_79c,piVar21,piVar21);\n                perror((char *)psVar29);\n                local_908 = (stat64 *)sg_convert_errno(iVar17);\n                goto LAB_00012527;\n              }" if (parenthesized_expression "(_Var40 < 0)" ( (binary_expression "_Var40 < 0" identifier < number_literal) )) (compound_statement "{\n                piVar21 = __errno_location();\n                psVar29 = (stat64 *)(local_174 + 0x50);\n                iVar17 = *piVar21;\n                __snprintf_chk(psVar29,0x100,1,0x100,"couldn\'t offset to required position on %s",\n                               local_79c,piVar21,piVar21);\n                perror((char *)psVar29);\n                local_908 = (stat64 *)sg_convert_errno(iVar17);\n                goto LAB_00012527;\n              }" { (expression_statement "piVar21 = __errno_location();" (assignment_expression "piVar21 = __errno_location()" identifier = (call_expression "__errno_location()" identifier (argument_list "()" ( )))) ;) (expression_statement "psVar29 = (stat64 *)(local_174 + 0x50);" (assignment_expression "psVar29 = (stat64 *)(local_174 + 0x50)" identifier = (cast_expression "(stat64 *)(local_174 + 0x50)" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_174 + 0x50)" ( (binary_expression "local_174 + 0x50" identifier + number_literal) )))) ;) (expression_statement "iVar17 = *piVar21;" (assignment_expression "iVar17 = *piVar21" identifier = (pointer_expression "*piVar21" * identifier)) ;) (expression_statement "__snprintf_chk(psVar29,0x100,1,0x100,"couldn\'t offset to required position on %s",\n                               local_79c,piVar21,piVar21);" (call_expression "__snprintf_chk(psVar29,0x100,1,0x100,"couldn\'t offset to required position on %s",\n                               local_79c,piVar21,piVar21)" identifier (argument_list "(psVar29,0x100,1,0x100,"couldn\'t offset to required position on %s",\n                               local_79c,piVar21,piVar21)" ( identifier , number_literal , number_literal , number_literal , (string_literal ""couldn\'t offset to required position on %s"" " string_content escape_sequence string_content ") , identifier , identifier , identifier ))) ;) (expression_statement "perror((char *)psVar29);" (call_expression "perror((char *)psVar29)" identifier (argument_list "((char *)psVar29)" ( (cast_expression "(char *)psVar29" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) ))) ;) (expression_statement "local_908 = (stat64 *)sg_convert_errno(iVar17);" (assignment_expression "local_908 = (stat64 *)sg_convert_errno(iVar17)" identifier = (cast_expression "(stat64 *)sg_convert_errno(iVar17)" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "sg_convert_errno(iVar17)" identifier (argument_list "(iVar17)" ( identifier ))))) ;) (goto_statement "goto LAB_00012527;" goto statement_identifier ;) })) (expression_statement "psVar12 = (stat64 *)((int)psVar49 - local_820._108_4_);" (assignment_expression "psVar12 = (stat64 *)((int)psVar49 - local_820._108_4_)" identifier = (cast_expression "(stat64 *)((int)psVar49 - local_820._108_4_)" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)psVar49 - local_820._108_4_)" ( (binary_expression "(int)psVar49 - local_820._108_4_" (cast_expression "(int)psVar49" ( (type_descriptor "int" primitive_type) ) identifier) - (field_expression "local_820._108_4_" identifier . field_identifier)) )))) ;) (expression_statement "iVar17 = (local_8b0 - (int)local_7b0) - (uint)(psVar49 < (uint)local_820._108_4_);" (assignment_expression "iVar17 = (local_8b0 - (int)local_7b0) - (uint)(psVar49 < (uint)local_820._108_4_)" identifier = (binary_expression "(local_8b0 - (int)local_7b0) - (uint)(psVar49 < (uint)local_820._108_4_)" (parenthesized_expression "(local_8b0 - (int)local_7b0)" ( (binary_expression "local_8b0 - (int)local_7b0" identifier - (cast_expression "(int)local_7b0" ( (type_descriptor "int" primitive_type) ) identifier)) )) - (call_expression "(uint)(psVar49 < (uint)local_820._108_4_)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(psVar49 < (uint)local_820._108_4_)" ( (binary_expression "psVar49 < (uint)local_820._108_4_" identifier < (cast_expression "(uint)local_820._108_4_" ( (type_descriptor "uint" type_identifier) ) (field_expression "local_820._108_4_" identifier . field_identifier))) ))))) ;) (expression_statement "local_930 = psVar49;" (assignment_expression "local_930 = psVar49" identifier = identifier) ;) (if_statement "if ((int)(uint)(psVar12 != (stat64 *)0x0) <= -iVar17) {\n                pr2serr("--offset [0x%llx] at or beyond file length[0x%llx]\n",local_820._108_4_,\n                        local_7b0,psVar49,local_8b0);\n                local_908 = (stat64 *)0xf;\n                goto LAB_00012527;\n              }" if (parenthesized_expression "((int)(uint)(psVar12 != (stat64 *)0x0) <= -iVar17)" ( (binary_expression "(int)(uint)(psVar12 != (stat64 *)0x0) <= -iVar17" (cast_expression "(int)(uint)(psVar12 != (stat64 *)0x0)" ( (type_descriptor "int" primitive_type) ) (call_expression "(uint)(psVar12 != (stat64 *)0x0)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(psVar12 != (stat64 *)0x0)" ( (binary_expression "psVar12 != (stat64 *)0x0" identifier != (cast_expression "(stat64 *)0x0" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )))) <= (unary_expression "-iVar17" - identifier)) )) (compound_statement "{\n                pr2serr("--offset [0x%llx] at or beyond file length[0x%llx]\n",local_820._108_4_,\n                        local_7b0,psVar49,local_8b0);\n                local_908 = (stat64 *)0xf;\n                goto LAB_00012527;\n              }" { (expression_statement "pr2serr("--offset [0x%llx] at or beyond file length[0x%llx]\n",local_820._108_4_,\n                        local_7b0,psVar49,local_8b0);" (call_expression "pr2serr("--offset [0x%llx] at or beyond file length[0x%llx]\n",local_820._108_4_,\n                        local_7b0,psVar49,local_8b0)" identifier (argument_list "("--offset [0x%llx] at or beyond file length[0x%llx]\n",local_820._108_4_,\n                        local_7b0,psVar49,local_8b0)" ( (string_literal ""--offset [0x%llx] at or beyond file length[0x%llx]\n"" " string_content escape_sequence ") , (field_expression "local_820._108_4_" identifier . field_identifier) , identifier , identifier , identifier ))) ;) (expression_statement "local_908 = (stat64 *)0xf;" (assignment_expression "local_908 = (stat64 *)0xf" identifier = (cast_expression "(stat64 *)0xf" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (goto_statement "goto LAB_00012527;" goto statement_identifier ;) })) (if_statement "if ((local_820._40_4_ != 0) &&\n                 (local_930 = (stat64 *)local_820._80_4_,\n                 iVar17 < (int)(uint)(psVar12 < (uint)local_820._80_4_))) {\n                pr2serr("after accounting for OFF, DLEN exceeds %s remaining length (%u bytes)\n",\n                        local_79c,psVar12,psVar12);\n                local_908 = (stat64 *)0xf;\n                psVar29 = psVar12;\n                goto LAB_00012527;\n              }" if (parenthesized_expression "((local_820._40_4_ != 0) &&\n                 (local_930 = (stat64 *)local_820._80_4_,\n                 iVar17 < (int)(uint)(psVar12 < (uint)local_820._80_4_)))" ( (binary_expression "(local_820._40_4_ != 0) &&\n                 (local_930 = (stat64 *)local_820._80_4_,\n                 iVar17 < (int)(uint)(psVar12 < (uint)local_820._80_4_))" (parenthesized_expression "(local_820._40_4_ != 0)" ( (binary_expression "local_820._40_4_ != 0" (field_expression "local_820._40_4_" identifier . field_identifier) != number_literal) )) && (parenthesized_expression "(local_930 = (stat64 *)local_820._80_4_,\n                 iVar17 < (int)(uint)(psVar12 < (uint)local_820._80_4_))" ( (comma_expression "local_930 = (stat64 *)local_820._80_4_,\n                 iVar17 < (int)(uint)(psVar12 < (uint)local_820._80_4_)" (assignment_expression "local_930 = (stat64 *)local_820._80_4_" identifier = (cast_expression "(stat64 *)local_820._80_4_" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "local_820._80_4_" identifier . field_identifier))) , (binary_expression "iVar17 < (int)(uint)(psVar12 < (uint)local_820._80_4_)" identifier < (cast_expression "(int)(uint)(psVar12 < (uint)local_820._80_4_)" ( (type_descriptor "int" primitive_type) ) (call_expression "(uint)(psVar12 < (uint)local_820._80_4_)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(psVar12 < (uint)local_820._80_4_)" ( (binary_expression "psVar12 < (uint)local_820._80_4_" identifier < (cast_expression "(uint)local_820._80_4_" ( (type_descriptor "uint" type_identifier) ) (field_expression "local_820._80_4_" identifier . field_identifier))) )))))) ))) )) (compound_statement "{\n                pr2serr("after accounting for OFF, DLEN exceeds %s remaining length (%u bytes)\n",\n                        local_79c,psVar12,psVar12);\n                local_908 = (stat64 *)0xf;\n                psVar29 = psVar12;\n                goto LAB_00012527;\n              }" { (expression_statement "pr2serr("after accounting for OFF, DLEN exceeds %s remaining length (%u bytes)\n",\n                        local_79c,psVar12,psVar12);" (call_expression "pr2serr("after accounting for OFF, DLEN exceeds %s remaining length (%u bytes)\n",\n                        local_79c,psVar12,psVar12)" identifier (argument_list "("after accounting for OFF, DLEN exceeds %s remaining length (%u bytes)\n",\n                        local_79c,psVar12,psVar12)" ( (string_literal ""after accounting for OFF, DLEN exceeds %s remaining length (%u bytes)\n"" " string_content escape_sequence ") , identifier , identifier , identifier ))) ;) (expression_statement "local_908 = (stat64 *)0xf;" (assignment_expression "local_908 = (stat64 *)0xf" identifier = (cast_expression "(stat64 *)0xf" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "psVar29 = psVar12;" (assignment_expression "psVar29 = psVar12" identifier = identifier) ;) (goto_statement "goto LAB_00012527;" goto statement_identifier ;) })) (if_statement "if (iVar17 < (int)(uint)(psVar12 < local_93c)) {\n                local_93c = psVar12;\n              }" if (parenthesized_expression "(iVar17 < (int)(uint)(psVar12 < local_93c))" ( (binary_expression "iVar17 < (int)(uint)(psVar12 < local_93c)" identifier < (cast_expression "(int)(uint)(psVar12 < local_93c)" ( (type_descriptor "int" primitive_type) ) (call_expression "(uint)(psVar12 < local_93c)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(psVar12 < local_93c)" ( (binary_expression "psVar12 < local_93c" identifier < identifier) ))))) )) (compound_statement "{\n                local_93c = psVar12;\n              }" { (expression_statement "local_93c = psVar12;" (assignment_expression "local_93c = psVar12" identifier = identifier) ;) })) (expression_statement "psVar49 = psVar12;" (assignment_expression "psVar49 = psVar12" identifier = identifier) ;) (if_statement "if (2 < (int)uVar19) {\n                psVar26 = (stat64 *)local_820._108_4_;\n                psVar11 = local_93c;\n                psVar20 = psVar12;\n                psVar12 = (stat64 *)\n                          pr2serr("Moved IF byte pointer to %u, if_len=%u, if_readable_len=%u\n",\n                                  local_820._108_4_,local_93c,psVar12);\n              }" if (parenthesized_expression "(2 < (int)uVar19)" ( (binary_expression "2 < (int)uVar19" number_literal < (cast_expression "(int)uVar19" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n                psVar26 = (stat64 *)local_820._108_4_;\n                psVar11 = local_93c;\n                psVar20 = psVar12;\n                psVar12 = (stat64 *)\n                          pr2serr("Moved IF byte pointer to %u, if_len=%u, if_readable_len=%u\n",\n                                  local_820._108_4_,local_93c,psVar12);\n              }" { (expression_statement "psVar26 = (stat64 *)local_820._108_4_;" (assignment_expression "psVar26 = (stat64 *)local_820._108_4_" identifier = (cast_expression "(stat64 *)local_820._108_4_" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "local_820._108_4_" identifier . field_identifier))) ;) (expression_statement "psVar11 = local_93c;" (assignment_expression "psVar11 = local_93c" identifier = identifier) ;) (expression_statement "psVar20 = psVar12;" (assignment_expression "psVar20 = psVar12" identifier = identifier) ;) (expression_statement "psVar12 = (stat64 *)\n                          pr2serr("Moved IF byte pointer to %u, if_len=%u, if_readable_len=%u\n",\n                                  local_820._108_4_,local_93c,psVar12);" (assignment_expression "psVar12 = (stat64 *)\n                          pr2serr("Moved IF byte pointer to %u, if_len=%u, if_readable_len=%u\n",\n                                  local_820._108_4_,local_93c,psVar12)" identifier = (cast_expression "(stat64 *)\n                          pr2serr("Moved IF byte pointer to %u, if_len=%u, if_readable_len=%u\n",\n                                  local_820._108_4_,local_93c,psVar12)" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "pr2serr("Moved IF byte pointer to %u, if_len=%u, if_readable_len=%u\n",\n                                  local_820._108_4_,local_93c,psVar12)" identifier (argument_list "("Moved IF byte pointer to %u, if_len=%u, if_readable_len=%u\n",\n                                  local_820._108_4_,local_93c,psVar12)" ( (string_literal ""Moved IF byte pointer to %u, if_len=%u, if_readable_len=%u\n"" " string_content escape_sequence ") , (field_expression "local_820._108_4_" identifier . field_identifier) , identifier , identifier ))))) ;) })) })) (goto_statement "goto LAB_00011fa8;" goto statement_identifier ;) })) (goto_statement "goto LAB_00011e6c;" goto statement_identifier ;) })) (expression_statement "piVar21 = __errno_location();" (assignment_expression "piVar21 = __errno_location()" identifier = (call_expression "__errno_location()" identifier (argument_list "()" ( )))) ;) (expression_statement "iVar17 = *piVar21;" (assignment_expression "iVar17 = *piVar21" identifier = (pointer_expression "*piVar21" * identifier)) ;) (expression_statement "pcVar18 = "could not fstat %s";" (assignment_expression "pcVar18 = "could not fstat %s"" identifier = (string_literal ""could not fstat %s"" " string_content ")) ;) }))) (expression_statement "__snprintf_chk(local_174 + 0x50,0x100,1,0x100,pcVar18,local_79c,piVar21,piVar21);" (call_expression "__snprintf_chk(local_174 + 0x50,0x100,1,0x100,pcVar18,local_79c,piVar21,piVar21)" identifier (argument_list "(local_174 + 0x50,0x100,1,0x100,pcVar18,local_79c,piVar21,piVar21)" ( (binary_expression "local_174 + 0x50" identifier + number_literal) , number_literal , number_literal , number_literal , identifier , identifier , identifier , identifier ))) ;) (expression_statement "perror(local_174 + 0x50);" (call_expression "perror(local_174 + 0x50)" identifier (argument_list "(local_174 + 0x50)" ( (binary_expression "local_174 + 0x50" identifier + number_literal) ))) ;) (expression_statement "local_908 = (stat64 *)sg_convert_errno(iVar17);" (assignment_expression "local_908 = (stat64 *)sg_convert_errno(iVar17)" identifier = (cast_expression "(stat64 *)sg_convert_errno(iVar17)" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "sg_convert_errno(iVar17)" identifier (argument_list "(iVar17)" ( identifier ))))) ;) (goto_statement "goto LAB_00011a84;" goto statement_identifier ;) })) (expression_statement "iVar17 = sg_set_binary_mode(0);" (assignment_expression "iVar17 = sg_set_binary_mode(0)" identifier = (call_expression "sg_set_binary_mode(0)" identifier (argument_list "(0)" ( number_literal )))) ;) (expression_statement "cVar2 = '\x01';" (assignment_expression "cVar2 = '\x01'" identifier = (char_literal "'\x01'" ' escape_sequence ')) ;) (expression_statement "local_924 = (stat64 *)0x0;" (assignment_expression "local_924 = (stat64 *)0x0" identifier = (cast_expression "(stat64 *)0x0" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (if_statement "if (iVar17 < 0) {\nLAB_00011dea:\n      perror("sg_set_binary_mode");\n      local_908 = (stat64 *)0xf;\n      goto LAB_00011a84;\n    }" if (parenthesized_expression "(iVar17 < 0)" ( (binary_expression "iVar17 < 0" identifier < number_literal) )) (compound_statement "{\nLAB_00011dea:\n      perror("sg_set_binary_mode");\n      local_908 = (stat64 *)0xf;\n      goto LAB_00011a84;\n    }" { (labeled_statement "LAB_00011dea:\n      perror("sg_set_binary_mode");" statement_identifier : (expression_statement "perror("sg_set_binary_mode");" (call_expression "perror("sg_set_binary_mode")" identifier (argument_list "("sg_set_binary_mode")" ( (string_literal ""sg_set_binary_mode"" " string_content ") ))) ;)) (expression_statement "local_908 = (stat64 *)0xf;" (assignment_expression "local_908 = (stat64 *)0xf" identifier = (cast_expression "(stat64 *)0xf" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (goto_statement "goto LAB_00011a84;" goto statement_identifier ;) })) (labeled_statement "LAB_00011e6c:\n    if (((stat64 *)((uint)local_7b0 | local_820._108_4_) == (stat64 *)0x0) ||\n       ((stat64 *)uVar19 == (stat64 *)0x0)) {\n      psVar12 = (stat64 *)((uint)local_7b0 | local_820._108_4_);\n      psVar49 = (stat64 *)0x0;\n      iVar17 = 0;\n    }\n    else {\n      psVar12 = (stat64 *)\n                pr2serr(\n                       "--offset=OFF ignored when IF is stdin, pipe, socket, etc\nDLEN, if given, is used\n"\n                       );\n      psVar49 = (stat64 *)0x0;\n      iVar17 = 0;\n    }" statement_identifier : (if_statement "if (((stat64 *)((uint)local_7b0 | local_820._108_4_) == (stat64 *)0x0) ||\n       ((stat64 *)uVar19 == (stat64 *)0x0)) {\n      psVar12 = (stat64 *)((uint)local_7b0 | local_820._108_4_);\n      psVar49 = (stat64 *)0x0;\n      iVar17 = 0;\n    }\n    else {\n      psVar12 = (stat64 *)\n                pr2serr(\n                       "--offset=OFF ignored when IF is stdin, pipe, socket, etc\nDLEN, if given, is used\n"\n                       );\n      psVar49 = (stat64 *)0x0;\n      iVar17 = 0;\n    }" if (parenthesized_expression "(((stat64 *)((uint)local_7b0 | local_820._108_4_) == (stat64 *)0x0) ||\n       ((stat64 *)uVar19 == (stat64 *)0x0))" ( (binary_expression "((stat64 *)((uint)local_7b0 | local_820._108_4_) == (stat64 *)0x0) ||\n       ((stat64 *)uVar19 == (stat64 *)0x0)" (parenthesized_expression "((stat64 *)((uint)local_7b0 | local_820._108_4_) == (stat64 *)0x0)" ( (binary_expression "(stat64 *)((uint)local_7b0 | local_820._108_4_) == (stat64 *)0x0" (cast_expression "(stat64 *)((uint)local_7b0 | local_820._108_4_)" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((uint)local_7b0 | local_820._108_4_)" ( (binary_expression "(uint)local_7b0 | local_820._108_4_" (cast_expression "(uint)local_7b0" ( (type_descriptor "uint" type_identifier) ) identifier) | (field_expression "local_820._108_4_" identifier . field_identifier)) ))) == (cast_expression "(stat64 *)0x0" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) || (parenthesized_expression "((stat64 *)uVar19 == (stat64 *)0x0)" ( (binary_expression "(stat64 *)uVar19 == (stat64 *)0x0" (cast_expression "(stat64 *)uVar19" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) == (cast_expression "(stat64 *)0x0" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ))) )) (compound_statement "{\n      psVar12 = (stat64 *)((uint)local_7b0 | local_820._108_4_);\n      psVar49 = (stat64 *)0x0;\n      iVar17 = 0;\n    }" { (expression_statement "psVar12 = (stat64 *)((uint)local_7b0 | local_820._108_4_);" (assignment_expression "psVar12 = (stat64 *)((uint)local_7b0 | local_820._108_4_)" identifier = (cast_expression "(stat64 *)((uint)local_7b0 | local_820._108_4_)" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((uint)local_7b0 | local_820._108_4_)" ( (binary_expression "(uint)local_7b0 | local_820._108_4_" (cast_expression "(uint)local_7b0" ( (type_descriptor "uint" type_identifier) ) identifier) | (field_expression "local_820._108_4_" identifier . field_identifier)) )))) ;) (expression_statement "psVar49 = (stat64 *)0x0;" (assignment_expression "psVar49 = (stat64 *)0x0" identifier = (cast_expression "(stat64 *)0x0" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "iVar17 = 0;" (assignment_expression "iVar17 = 0" identifier = number_literal) ;) }) (else_clause "else {\n      psVar12 = (stat64 *)\n                pr2serr(\n                       "--offset=OFF ignored when IF is stdin, pipe, socket, etc\nDLEN, if given, is used\n"\n                       );\n      psVar49 = (stat64 *)0x0;\n      iVar17 = 0;\n    }" else (compound_statement "{\n      psVar12 = (stat64 *)\n                pr2serr(\n                       "--offset=OFF ignored when IF is stdin, pipe, socket, etc\nDLEN, if given, is used\n"\n                       );\n      psVar49 = (stat64 *)0x0;\n      iVar17 = 0;\n    }" { (expression_statement "psVar12 = (stat64 *)\n                pr2serr(\n                       "--offset=OFF ignored when IF is stdin, pipe, socket, etc\nDLEN, if given, is used\n"\n                       );" (assignment_expression "psVar12 = (stat64 *)\n                pr2serr(\n                       "--offset=OFF ignored when IF is stdin, pipe, socket, etc\nDLEN, if given, is used\n"\n                       )" identifier = (cast_expression "(stat64 *)\n                pr2serr(\n                       "--offset=OFF ignored when IF is stdin, pipe, socket, etc\nDLEN, if given, is used\n"\n                       )" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "pr2serr(\n                       "--offset=OFF ignored when IF is stdin, pipe, socket, etc\nDLEN, if given, is used\n"\n                       )" identifier (argument_list "(\n                       "--offset=OFF ignored when IF is stdin, pipe, socket, etc\nDLEN, if given, is used\n"\n                       )" ( (string_literal ""--offset=OFF ignored when IF is stdin, pipe, socket, etc\nDLEN, if given, is used\n"" " string_content escape_sequence string_content escape_sequence ") ))))) ;) (expression_statement "psVar49 = (stat64 *)0x0;" (assignment_expression "psVar49 = (stat64 *)0x0" identifier = (cast_expression "(stat64 *)0x0" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "iVar17 = 0;" (assignment_expression "iVar17 = 0" identifier = number_literal) ;) })))) }) (else_clause "else {\n    local_924 = (stat64 *)0xffffffff;\n    cVar2 = '\0';\n    psVar49 = (stat64 *)0x0;\n    iVar17 = 0;\n    local_93c = (stat64 *)0x0;\n  }" else (compound_statement "{\n    local_924 = (stat64 *)0xffffffff;\n    cVar2 = '\0';\n    psVar49 = (stat64 *)0x0;\n    iVar17 = 0;\n    local_93c = (stat64 *)0x0;\n  }" { (expression_statement "local_924 = (stat64 *)0xffffffff;" (assignment_expression "local_924 = (stat64 *)0xffffffff" identifier = (cast_expression "(stat64 *)0xffffffff" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "cVar2 = '\0';" (assignment_expression "cVar2 = '\0'" identifier = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "psVar49 = (stat64 *)0x0;" (assignment_expression "psVar49 = (stat64 *)0x0" identifier = (cast_expression "(stat64 *)0x0" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "iVar17 = 0;" (assignment_expression "iVar17 = 0" identifier = number_literal) ;) (expression_statement "local_93c = (stat64 *)0x0;" (assignment_expression "local_93c = (stat64 *)0x0" identifier = (cast_expression "(stat64 *)0x0" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) }))) (labeled_statement "LAB_00011fa8:\n  if (local_7a0 == (stat64 *)0x0) {\n    pr2serr("missing device name!\n",psVar26,psVar11,psVar20);\n    iVar17 = 0;\n    if (-1 < (int)local_820._32_4_) {\n      iVar17 = local_820._32_4_;\n    }\n    usage(iVar17);\n    local_908 = (stat64 *)0x1;\n    psVar29 = (stat64 *)0x0;\nLAB_00012527:\n    if (local_8f0 == (void *)0x0) goto LAB_000123a1;\n    free(local_8f0);\n    goto LAB_000123a1;\n  }" statement_identifier : (if_statement "if (local_7a0 == (stat64 *)0x0) {\n    pr2serr("missing device name!\n",psVar26,psVar11,psVar20);\n    iVar17 = 0;\n    if (-1 < (int)local_820._32_4_) {\n      iVar17 = local_820._32_4_;\n    }\n    usage(iVar17);\n    local_908 = (stat64 *)0x1;\n    psVar29 = (stat64 *)0x0;\nLAB_00012527:\n    if (local_8f0 == (void *)0x0) goto LAB_000123a1;\n    free(local_8f0);\n    goto LAB_000123a1;\n  }" if (parenthesized_expression "(local_7a0 == (stat64 *)0x0)" ( (binary_expression "local_7a0 == (stat64 *)0x0" identifier == (cast_expression "(stat64 *)0x0" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    pr2serr("missing device name!\n",psVar26,psVar11,psVar20);\n    iVar17 = 0;\n    if (-1 < (int)local_820._32_4_) {\n      iVar17 = local_820._32_4_;\n    }\n    usage(iVar17);\n    local_908 = (stat64 *)0x1;\n    psVar29 = (stat64 *)0x0;\nLAB_00012527:\n    if (local_8f0 == (void *)0x0) goto LAB_000123a1;\n    free(local_8f0);\n    goto LAB_000123a1;\n  }" { (expression_statement "pr2serr("missing device name!\n",psVar26,psVar11,psVar20);" (call_expression "pr2serr("missing device name!\n",psVar26,psVar11,psVar20)" identifier (argument_list "("missing device name!\n",psVar26,psVar11,psVar20)" ( (string_literal ""missing device name!\n"" " string_content escape_sequence ") , identifier , identifier , identifier ))) ;) (expression_statement "iVar17 = 0;" (assignment_expression "iVar17 = 0" identifier = number_literal) ;) (if_statement "if (-1 < (int)local_820._32_4_) {\n      iVar17 = local_820._32_4_;\n    }" if (parenthesized_expression "(-1 < (int)local_820._32_4_)" ( (binary_expression "-1 < (int)local_820._32_4_" number_literal < (cast_expression "(int)local_820._32_4_" ( (type_descriptor "int" primitive_type) ) (field_expression "local_820._32_4_" identifier . field_identifier))) )) (compound_statement "{\n      iVar17 = local_820._32_4_;\n    }" { (expression_statement "iVar17 = local_820._32_4_;" (assignment_expression "iVar17 = local_820._32_4_" identifier = (field_expression "local_820._32_4_" identifier . field_identifier)) ;) })) (expression_statement "usage(iVar17);" (call_expression "usage(iVar17)" identifier (argument_list "(iVar17)" ( identifier ))) ;) (expression_statement "local_908 = (stat64 *)0x1;" (assignment_expression "local_908 = (stat64 *)0x1" identifier = (cast_expression "(stat64 *)0x1" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "psVar29 = (stat64 *)0x0;" (assignment_expression "psVar29 = (stat64 *)0x0" identifier = (cast_expression "(stat64 *)0x0" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (labeled_statement "LAB_00012527:\n    if (local_8f0 == (void *)0x0) goto LAB_000123a1;" statement_identifier : (if_statement "if (local_8f0 == (void *)0x0) goto LAB_000123a1;" if (parenthesized_expression "(local_8f0 == (void *)0x0)" ( (binary_expression "local_8f0 == (void *)0x0" identifier == (cast_expression "(void *)0x0" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_000123a1;" goto statement_identifier ;))) (expression_statement "free(local_8f0);" (call_expression "free(local_8f0)" identifier (argument_list "(local_8f0)" ( identifier ))) ;) (goto_statement "goto LAB_000123a1;" goto statement_identifier ;) }))) (expression_statement "pcVar18 = (char *)0x0;" (assignment_expression "pcVar18 = (char *)0x0" identifier = (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "psVar20 = (stat64 *)uVar19;" (assignment_expression "psVar20 = (stat64 *)uVar19" identifier = (cast_expression "(stat64 *)uVar19" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "uVar38 = sg_cmds_open_device(local_7a0,0,uVar19,psVar12);" (assignment_expression "uVar38 = sg_cmds_open_device(local_7a0,0,uVar19,psVar12)" identifier = (call_expression "sg_cmds_open_device(local_7a0,0,uVar19,psVar12)" identifier (argument_list "(local_7a0,0,uVar19,psVar12)" ( identifier , number_literal , identifier , identifier )))) ;) (expression_statement "psVar29 = (stat64 *)local_820._72_4_;" (assignment_expression "psVar29 = (stat64 *)local_820._72_4_" identifier = (cast_expression "(stat64 *)local_820._72_4_" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "local_820._72_4_" identifier . field_identifier))) ;) (expression_statement "psVar26 = (stat64 *)((ulonglong)uVar38 >> 0x20);" (assignment_expression "psVar26 = (stat64 *)((ulonglong)uVar38 >> 0x20)" identifier = (cast_expression "(stat64 *)((ulonglong)uVar38 >> 0x20)" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((ulonglong)uVar38 >> 0x20)" ( (binary_expression "(ulonglong)uVar38 >> 0x20" (cast_expression "(ulonglong)uVar38" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) )))) ;) (expression_statement "local_930 = (stat64 *)uVar38;" (assignment_expression "local_930 = (stat64 *)uVar38" identifier = (cast_expression "(stat64 *)uVar38" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (if_statement "if ((int)local_930 < 0) {\n    psVar29 = (stat64 *)-(int)local_930;\n    if ((stat64 *)local_820._48_4_ != (stat64 *)0x0) {\n      uVar19 = safe_strerror(psVar29);\n      pr2serr("open error: %s: %s\n",local_7a0,uVar19);\n    }\n    local_908 = (stat64 *)sg_convert_errno(psVar29);\n    goto LAB_00012527;\n  }" if (parenthesized_expression "((int)local_930 < 0)" ( (binary_expression "(int)local_930 < 0" (cast_expression "(int)local_930" ( (type_descriptor "int" primitive_type) ) identifier) < number_literal) )) (compound_statement "{\n    psVar29 = (stat64 *)-(int)local_930;\n    if ((stat64 *)local_820._48_4_ != (stat64 *)0x0) {\n      uVar19 = safe_strerror(psVar29);\n      pr2serr("open error: %s: %s\n",local_7a0,uVar19);\n    }\n    local_908 = (stat64 *)sg_convert_errno(psVar29);\n    goto LAB_00012527;\n  }" { (expression_statement "psVar29 = (stat64 *)-(int)local_930;" (assignment_expression "psVar29 = (stat64 *)-(int)local_930" identifier = (cast_expression "(stat64 *)-(int)local_930" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) (unary_expression "-(int)local_930" - (cast_expression "(int)local_930" ( (type_descriptor "int" primitive_type) ) identifier)))) ;) (if_statement "if ((stat64 *)local_820._48_4_ != (stat64 *)0x0) {\n      uVar19 = safe_strerror(psVar29);\n      pr2serr("open error: %s: %s\n",local_7a0,uVar19);\n    }" if (parenthesized_expression "((stat64 *)local_820._48_4_ != (stat64 *)0x0)" ( (binary_expression "(stat64 *)local_820._48_4_ != (stat64 *)0x0" (cast_expression "(stat64 *)local_820._48_4_" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "local_820._48_4_" identifier . field_identifier)) != (cast_expression "(stat64 *)0x0" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      uVar19 = safe_strerror(psVar29);\n      pr2serr("open error: %s: %s\n",local_7a0,uVar19);\n    }" { (expression_statement "uVar19 = safe_strerror(psVar29);" (assignment_expression "uVar19 = safe_strerror(psVar29)" identifier = (call_expression "safe_strerror(psVar29)" identifier (argument_list "(psVar29)" ( identifier )))) ;) (expression_statement "pr2serr("open error: %s: %s\n",local_7a0,uVar19);" (call_expression "pr2serr("open error: %s: %s\n",local_7a0,uVar19)" identifier (argument_list "("open error: %s: %s\n",local_7a0,uVar19)" ( (string_literal ""open error: %s: %s\n"" " string_content escape_sequence ") , identifier , identifier ))) ;) })) (expression_statement "local_908 = (stat64 *)sg_convert_errno(psVar29);" (assignment_expression "local_908 = (stat64 *)sg_convert_errno(psVar29)" identifier = (cast_expression "(stat64 *)sg_convert_errno(psVar29)" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "sg_convert_errno(psVar29)" identifier (argument_list "(psVar29)" ( identifier ))))) ;) (goto_statement "goto LAB_00012527;" goto statement_identifier ;) })) (expression_statement "psVar11 = (stat64 *)local_820._76_4_;" (assignment_expression "psVar11 = (stat64 *)local_820._76_4_" identifier = (cast_expression "(stat64 *)local_820._76_4_" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "local_820._76_4_" identifier . field_identifier))) ;) (expression_statement "psVar14 = (stat64 *)local_820._76_4_;" (assignment_expression "psVar14 = (stat64 *)local_820._76_4_" identifier = (cast_expression "(stat64 *)local_820._76_4_" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "local_820._76_4_" identifier . field_identifier))) ;) (if_statement "if ((stat64 *)local_820._72_4_ == (stat64 *)0x0) {\n    psVar20 = (stat64 *)0x0;\n    if ((stat64 *)local_820._48_4_ != (stat64 *)0x0) {\n      psVar20 = (stat64 *)((int)&((stat64 *)(local_820._48_4_ + -0x60))->st_ino + 7);\n    }\n    psVar26 = (stat64 *)local_174;\n    psVar14 = (stat64 *)0x1;\n    pcVar18 = (char *)0x20;\n    psVar12 = psVar20;\n    psVar11 = (stat64 *)local_820._48_4_;\n    uVar38 = sg_ll_readcap_16(local_930,0,0,0,psVar26,0x20,1,psVar20,psVar26,local_820._48_4_,\n                              psVar49,iVar17);\n    if ((int)uVar38 == 6) {\n      pr2serr("Read capacity(16) unit attention, try again\n");\n      uVar38 = sg_ll_readcap_16(local_930,0,0,0,psVar26,0x20,1,psVar20);\n    }\n    psVar27 = (stat64 *)((ulonglong)uVar38 >> 0x20);\n    local_908 = (stat64 *)uVar38;\n    if (local_908 == (stat64 *)0x0) {\n      psVar20 = psVar14;\n      if (3 < (int)psVar11) {\n        pr2serr("Read capacity(16) response:\n");\n        psVar20 = (stat64 *)0x1;\n        pcVar18 = (char *)0x20;\n        hex2stderr(psVar26,0x20,1);\n      }\n      bVar1 = local_174[0xc];\n      psVar14 = (stat64 *)\n                ((uint)local_174._8_4_ >> 0x18 | (local_174._8_4_ & 0xff0000) >> 8 |\n                 (local_174._8_4_ & 0xff00) << 8 | local_174._8_4_ << 0x18);\n      uVar10 = (uint)local_174._4_4_ >> 0x18 | (local_174._4_4_ & 0xff0000) >> 8 |\n               (local_174._4_4_ & 0xff00) << 8 | local_174._4_4_ << 0x18;\n      local_7ac = uVar10 + 1;\n      local_7a8 = ((uint)local_174._0_4_ >> 0x18 | (local_174._0_4_ & 0xff0000) >> 8 |\n                   (local_174._0_4_ & 0xff00) << 8 | local_174._0_4_ << 0x18) +\n                  (uint)(0xfffffffe < uVar10);\n      psVar26 = (stat64 *)(uint)local_174[0xc];\n      local_820._72_4_ = psVar14;\n      if ((local_174[0xc] & 1) == 0) {\n        local_820._36_4_ = 0;\n        if ((int)local_820._52_4_ < 1) goto LAB_00012305;\n        if (psVar11 != (stat64 *)0x0) {\n          pcVar18 = (char *)local_820._52_4_;\n          psVar26 = local_7a0;\n          pr2serr("--wrprotect (%d) expects PI but %s says it has none\n",local_820._52_4_,local_7a0\n                  ,psVar14);\n          if (local_820._40_4_ != 0) goto LAB_00012ef5;\n          pcVar16 = "  ... continue but could be dangerous\n";\n          psVar29 = (stat64 *)0x0;\n          psVar12 = psVar14;\n          goto LAB_00013516;\n        }\n        if (local_820._40_4_ != 0) goto LAB_00012ef5;\n      }\n      else {\n        local_820._36_4_ = (local_174[0xc] >> 1 & 7) + 1;\n        psVar29 = (stat64 *)(8 << (local_174[0xd] >> 4));\n        psVar26 = (stat64 *)(uint)(local_174[0xd] >> 4);\n        if (((int)local_820._52_4_ < 1) ||\n           (local_820._76_4_ = (int)&psVar29->st_dev + (int)&psVar14->st_dev, (int)psVar11 < 2)) {\nLAB_00012305:\n          if (psVar11 == (stat64 *)0x0) goto LAB_00012312;\n        }\n        else {\n          pcVar16 = \n          "  For data out buffer purposes the effective block size is %u (lb size\n  is %u) because PROT_EN=1, PI_EXP=%u and WRPROTECT>0\n"\n          ;\n          pcVar18 = (char *)psVar14;\n          psVar12 = (stat64 *)local_820._76_4_;\nLAB_00013516:\n          pr2serr(pcVar16,pcVar18,psVar26,psVar12);\n          psVar20 = psVar26;\n        }\n        pr2serr("Read capacity(16) response fields:\n",pcVar18,psVar20,psVar12);\n        psVar29 = (stat64 *)((int)(__dev_t *)local_820._72_4_ + (int)&psVar29->st_dev);\n        psVar12 = extraout_ECX_05;\n        pr2serr("  Last_LBA=0x%llx  LB size: %u (with PI: %u) bytes  p_type=%u\n",local_7ac + -1,\n                local_7a8 + -1 + (uint)(local_7ac != 0),local_820._72_4_,psVar29,\n                local_174[0xc] >> 1 & 7,extraout_ECX_05,extraout_ECX_05);\n        pr2serr("  prot_en=%u [PI type=%u] p_i_exp=%u  lbppb_exp=%u  lbpme,rz=%u,",bVar1 & 1,\n                local_820._36_4_,local_174[0xd] >> 4,local_174[0xd] & 0xf,\n                (uint)(int)(char)local_174[0xe] >> 0x1f);\n        psVar20 = (stat64 *)\n                  ((ushort)(local_174._14_2_ << 8 | (ushort)local_174._14_2_ >> 8) & 0x3fff);\n        pcVar18 = (char *)(local_174[0xe] >> 6 & 1);\n        pr2serr("%u  low_ali_lba=%u\n",pcVar18,psVar20);\n        psVar26 = extraout_EDX_04;\n      }\n    }\n    else {\n      if (((int)local_908 - 5U & 0xfffffffb) != 0) {\n        if (psVar11 != (stat64 *)0x0) {\n          puVar48 = local_174 + 0x50;\n          psVar29 = (stat64 *)"OS error";\n          puVar33 = puVar48;\n          for (iVar17 = 9; iVar17 != 0; iVar17 = iVar17 + -1) {\n            *puVar33 = (char)psVar29->st_dev;\n            psVar29 = (stat64 *)((int)psVar29 + (uint)bVar37 * -2 + 1);\n            puVar33 = puVar33 + (uint)bVar37 * -2 + 1;\n          }\n          psVar41 = local_908;\n          if (0 < (int)local_908) {\n            psVar41 = (stat64 *)sg_get_category_sense_str(local_908,0x50,puVar48,psVar11);\n          }\n          pr2serr("Read capacity(16): %s\n",puVar48,psVar41,psVar41);\n          pr2serr("Unable to calculate block size\n");\n        }\n        if (0 < (int)local_908) goto LAB_00012354;\n        goto LAB_00012ef5;\n      }\n      if (psVar11 == (stat64 *)0x0) {\n        pcVar18 = (char *)0x1;\n        uVar38 = sg_ll_readcap_10(local_930,0,0,psVar26,8,1,psVar20,psVar27);\n        psVar26 = (stat64 *)((ulonglong)uVar38 >> 0x20);\n        local_908 = (stat64 *)uVar38;\n        psVar12 = psVar27;\n        if (local_908 != (stat64 *)0x0) {\nLAB_00013444:\n          puVar48 = local_174 + 0x50;\n          psVar29 = (stat64 *)"OS error";\n          puVar33 = puVar48;\n          for (iVar17 = 9; iVar17 != 0; iVar17 = iVar17 + -1) {\n            *puVar33 = (char)psVar29->st_dev;\n            psVar29 = (stat64 *)((int)psVar29 + (uint)bVar37 * -2 + 1);\n            puVar33 = puVar33 + (uint)bVar37 * -2 + 1;\n          }\n          if (0 < (int)local_908) {\n            sg_get_category_sense_str(local_908,0x50,puVar48,psVar11);\n            pr2serr("Read capacity(10): %s\n",puVar48);\n            pr2serr("Unable to calculate block size\n");\n            goto LAB_00012354;\n          }\n          __snprintf_chk(puVar48,0x50,1,0x50,"error: %d",local_908,local_908,local_908);\n          pr2serr("Read capacity(10): %s\n",puVar48);\n          pr2serr("Unable to calculate block size\n");\n          local_908 = (stat64 *)0xf;\n          goto LAB_00012354;\n        }\n      }\n      else {\n        psVar29 = psVar26;\n        pr2serr("Read capacity(16) not supported, try Read capacity(10)\n");\n        pcVar18 = (char *)0x1;\n        uVar38 = sg_ll_readcap_10(local_930,0,0,psVar29,8,1,psVar20);\n        psVar26 = (stat64 *)((ulonglong)uVar38 >> 0x20);\n        local_908 = (stat64 *)uVar38;\n        if (local_908 != (stat64 *)0x0) goto LAB_00013444;\n        if (3 < (int)psVar11) {\n          pr2serr("Read capacity(10) response:\n");\n          psVar20 = (stat64 *)0x1;\n          pcVar18 = (char *)0x8;\n          hex2stderr(psVar29,8,1);\n          psVar26 = extraout_EDX_03;\n        }\n      }\n      local_7a8 = 0;\n      local_7ac = ((uint)local_174._0_4_ >> 0x18 | (local_174._0_4_ & 0xff0000) >> 8 |\n                   (local_174._0_4_ & 0xff00) << 8 | local_174._0_4_ << 0x18) + 1;\n      local_820._72_4_ =\n           (uint)local_174._4_4_ >> 0x18 | (local_174._4_4_ & 0xff0000) >> 8 |\n           (local_174._4_4_ & 0xff00) << 8 | local_174._4_4_ << 0x18;\n    }\nLAB_00012312:\n    local_820._76_4_ = local_820._72_4_;\n    if ((_Bool)local_820[0xd] != false) {\n      local_820._76_4_ = local_820._72_4_ + 8;\n    }\n    psVar11 = (stat64 *)local_820._76_4_;\n    psVar14 = (stat64 *)local_820._72_4_;\n    if ((stat64 *)local_820._76_4_ == (stat64 *)0x0) goto LAB_00012338;\n  }" if (parenthesized_expression "((stat64 *)local_820._72_4_ == (stat64 *)0x0)" ( (binary_expression "(stat64 *)local_820._72_4_ == (stat64 *)0x0" (cast_expression "(stat64 *)local_820._72_4_" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "local_820._72_4_" identifier . field_identifier)) == (cast_expression "(stat64 *)0x0" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    psVar20 = (stat64 *)0x0;\n    if ((stat64 *)local_820._48_4_ != (stat64 *)0x0) {\n      psVar20 = (stat64 *)((int)&((stat64 *)(local_820._48_4_ + -0x60))->st_ino + 7);\n    }\n    psVar26 = (stat64 *)local_174;\n    psVar14 = (stat64 *)0x1;\n    pcVar18 = (char *)0x20;\n    psVar12 = psVar20;\n    psVar11 = (stat64 *)local_820._48_4_;\n    uVar38 = sg_ll_readcap_16(local_930,0,0,0,psVar26,0x20,1,psVar20,psVar26,local_820._48_4_,\n                              psVar49,iVar17);\n    if ((int)uVar38 == 6) {\n      pr2serr("Read capacity(16) unit attention, try again\n");\n      uVar38 = sg_ll_readcap_16(local_930,0,0,0,psVar26,0x20,1,psVar20);\n    }\n    psVar27 = (stat64 *)((ulonglong)uVar38 >> 0x20);\n    local_908 = (stat64 *)uVar38;\n    if (local_908 == (stat64 *)0x0) {\n      psVar20 = psVar14;\n      if (3 < (int)psVar11) {\n        pr2serr("Read capacity(16) response:\n");\n        psVar20 = (stat64 *)0x1;\n        pcVar18 = (char *)0x20;\n        hex2stderr(psVar26,0x20,1);\n      }\n      bVar1 = local_174[0xc];\n      psVar14 = (stat64 *)\n                ((uint)local_174._8_4_ >> 0x18 | (local_174._8_4_ & 0xff0000) >> 8 |\n                 (local_174._8_4_ & 0xff00) << 8 | local_174._8_4_ << 0x18);\n      uVar10 = (uint)local_174._4_4_ >> 0x18 | (local_174._4_4_ & 0xff0000) >> 8 |\n               (local_174._4_4_ & 0xff00) << 8 | local_174._4_4_ << 0x18;\n      local_7ac = uVar10 + 1;\n      local_7a8 = ((uint)local_174._0_4_ >> 0x18 | (local_174._0_4_ & 0xff0000) >> 8 |\n                   (local_174._0_4_ & 0xff00) << 8 | local_174._0_4_ << 0x18) +\n                  (uint)(0xfffffffe < uVar10);\n      psVar26 = (stat64 *)(uint)local_174[0xc];\n      local_820._72_4_ = psVar14;\n      if ((local_174[0xc] & 1) == 0) {\n        local_820._36_4_ = 0;\n        if ((int)local_820._52_4_ < 1) goto LAB_00012305;\n        if (psVar11 != (stat64 *)0x0) {\n          pcVar18 = (char *)local_820._52_4_;\n          psVar26 = local_7a0;\n          pr2serr("--wrprotect (%d) expects PI but %s says it has none\n",local_820._52_4_,local_7a0\n                  ,psVar14);\n          if (local_820._40_4_ != 0) goto LAB_00012ef5;\n          pcVar16 = "  ... continue but could be dangerous\n";\n          psVar29 = (stat64 *)0x0;\n          psVar12 = psVar14;\n          goto LAB_00013516;\n        }\n        if (local_820._40_4_ != 0) goto LAB_00012ef5;\n      }\n      else {\n        local_820._36_4_ = (local_174[0xc] >> 1 & 7) + 1;\n        psVar29 = (stat64 *)(8 << (local_174[0xd] >> 4));\n        psVar26 = (stat64 *)(uint)(local_174[0xd] >> 4);\n        if (((int)local_820._52_4_ < 1) ||\n           (local_820._76_4_ = (int)&psVar29->st_dev + (int)&psVar14->st_dev, (int)psVar11 < 2)) {\nLAB_00012305:\n          if (psVar11 == (stat64 *)0x0) goto LAB_00012312;\n        }\n        else {\n          pcVar16 = \n          "  For data out buffer purposes the effective block size is %u (lb size\n  is %u) because PROT_EN=1, PI_EXP=%u and WRPROTECT>0\n"\n          ;\n          pcVar18 = (char *)psVar14;\n          psVar12 = (stat64 *)local_820._76_4_;\nLAB_00013516:\n          pr2serr(pcVar16,pcVar18,psVar26,psVar12);\n          psVar20 = psVar26;\n        }\n        pr2serr("Read capacity(16) response fields:\n",pcVar18,psVar20,psVar12);\n        psVar29 = (stat64 *)((int)(__dev_t *)local_820._72_4_ + (int)&psVar29->st_dev);\n        psVar12 = extraout_ECX_05;\n        pr2serr("  Last_LBA=0x%llx  LB size: %u (with PI: %u) bytes  p_type=%u\n",local_7ac + -1,\n                local_7a8 + -1 + (uint)(local_7ac != 0),local_820._72_4_,psVar29,\n                local_174[0xc] >> 1 & 7,extraout_ECX_05,extraout_ECX_05);\n        pr2serr("  prot_en=%u [PI type=%u] p_i_exp=%u  lbppb_exp=%u  lbpme,rz=%u,",bVar1 & 1,\n                local_820._36_4_,local_174[0xd] >> 4,local_174[0xd] & 0xf,\n                (uint)(int)(char)local_174[0xe] >> 0x1f);\n        psVar20 = (stat64 *)\n                  ((ushort)(local_174._14_2_ << 8 | (ushort)local_174._14_2_ >> 8) & 0x3fff);\n        pcVar18 = (char *)(local_174[0xe] >> 6 & 1);\n        pr2serr("%u  low_ali_lba=%u\n",pcVar18,psVar20);\n        psVar26 = extraout_EDX_04;\n      }\n    }\n    else {\n      if (((int)local_908 - 5U & 0xfffffffb) != 0) {\n        if (psVar11 != (stat64 *)0x0) {\n          puVar48 = local_174 + 0x50;\n          psVar29 = (stat64 *)"OS error";\n          puVar33 = puVar48;\n          for (iVar17 = 9; iVar17 != 0; iVar17 = iVar17 + -1) {\n            *puVar33 = (char)psVar29->st_dev;\n            psVar29 = (stat64 *)((int)psVar29 + (uint)bVar37 * -2 + 1);\n            puVar33 = puVar33 + (uint)bVar37 * -2 + 1;\n          }\n          psVar41 = local_908;\n          if (0 < (int)local_908) {\n            psVar41 = (stat64 *)sg_get_category_sense_str(local_908,0x50,puVar48,psVar11);\n          }\n          pr2serr("Read capacity(16): %s\n",puVar48,psVar41,psVar41);\n          pr2serr("Unable to calculate block size\n");\n        }\n        if (0 < (int)local_908) goto LAB_00012354;\n        goto LAB_00012ef5;\n      }\n      if (psVar11 == (stat64 *)0x0) {\n        pcVar18 = (char *)0x1;\n        uVar38 = sg_ll_readcap_10(local_930,0,0,psVar26,8,1,psVar20,psVar27);\n        psVar26 = (stat64 *)((ulonglong)uVar38 >> 0x20);\n        local_908 = (stat64 *)uVar38;\n        psVar12 = psVar27;\n        if (local_908 != (stat64 *)0x0) {\nLAB_00013444:\n          puVar48 = local_174 + 0x50;\n          psVar29 = (stat64 *)"OS error";\n          puVar33 = puVar48;\n          for (iVar17 = 9; iVar17 != 0; iVar17 = iVar17 + -1) {\n            *puVar33 = (char)psVar29->st_dev;\n            psVar29 = (stat64 *)((int)psVar29 + (uint)bVar37 * -2 + 1);\n            puVar33 = puVar33 + (uint)bVar37 * -2 + 1;\n          }\n          if (0 < (int)local_908) {\n            sg_get_category_sense_str(local_908,0x50,puVar48,psVar11);\n            pr2serr("Read capacity(10): %s\n",puVar48);\n            pr2serr("Unable to calculate block size\n");\n            goto LAB_00012354;\n          }\n          __snprintf_chk(puVar48,0x50,1,0x50,"error: %d",local_908,local_908,local_908);\n          pr2serr("Read capacity(10): %s\n",puVar48);\n          pr2serr("Unable to calculate block size\n");\n          local_908 = (stat64 *)0xf;\n          goto LAB_00012354;\n        }\n      }\n      else {\n        psVar29 = psVar26;\n        pr2serr("Read capacity(16) not supported, try Read capacity(10)\n");\n        pcVar18 = (char *)0x1;\n        uVar38 = sg_ll_readcap_10(local_930,0,0,psVar29,8,1,psVar20);\n        psVar26 = (stat64 *)((ulonglong)uVar38 >> 0x20);\n        local_908 = (stat64 *)uVar38;\n        if (local_908 != (stat64 *)0x0) goto LAB_00013444;\n        if (3 < (int)psVar11) {\n          pr2serr("Read capacity(10) response:\n");\n          psVar20 = (stat64 *)0x1;\n          pcVar18 = (char *)0x8;\n          hex2stderr(psVar29,8,1);\n          psVar26 = extraout_EDX_03;\n        }\n      }\n      local_7a8 = 0;\n      local_7ac = ((uint)local_174._0_4_ >> 0x18 | (local_174._0_4_ & 0xff0000) >> 8 |\n                   (local_174._0_4_ & 0xff00) << 8 | local_174._0_4_ << 0x18) + 1;\n      local_820._72_4_ =\n           (uint)local_174._4_4_ >> 0x18 | (local_174._4_4_ & 0xff0000) >> 8 |\n           (local_174._4_4_ & 0xff00) << 8 | local_174._4_4_ << 0x18;\n    }\nLAB_00012312:\n    local_820._76_4_ = local_820._72_4_;\n    if ((_Bool)local_820[0xd] != false) {\n      local_820._76_4_ = local_820._72_4_ + 8;\n    }\n    psVar11 = (stat64 *)local_820._76_4_;\n    psVar14 = (stat64 *)local_820._72_4_;\n    if ((stat64 *)local_820._76_4_ == (stat64 *)0x0) goto LAB_00012338;\n  }" { (expression_statement "psVar20 = (stat64 *)0x0;" (assignment_expression "psVar20 = (stat64 *)0x0" identifier = (cast_expression "(stat64 *)0x0" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (if_statement "if ((stat64 *)local_820._48_4_ != (stat64 *)0x0) {\n      psVar20 = (stat64 *)((int)&((stat64 *)(local_820._48_4_ + -0x60))->st_ino + 7);\n    }" if (parenthesized_expression "((stat64 *)local_820._48_4_ != (stat64 *)0x0)" ( (binary_expression "(stat64 *)local_820._48_4_ != (stat64 *)0x0" (cast_expression "(stat64 *)local_820._48_4_" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "local_820._48_4_" identifier . field_identifier)) != (cast_expression "(stat64 *)0x0" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      psVar20 = (stat64 *)((int)&((stat64 *)(local_820._48_4_ + -0x60))->st_ino + 7);\n    }" { (expression_statement "psVar20 = (stat64 *)((int)&((stat64 *)(local_820._48_4_ + -0x60))->st_ino + 7);" (assignment_expression "psVar20 = (stat64 *)((int)&((stat64 *)(local_820._48_4_ + -0x60))->st_ino + 7)" identifier = (cast_expression "(stat64 *)((int)&((stat64 *)(local_820._48_4_ + -0x60))->st_ino + 7)" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&((stat64 *)(local_820._48_4_ + -0x60))->st_ino + 7)" ( (binary_expression "(int)&((stat64 *)(local_820._48_4_ + -0x60))->st_ino + 7" (cast_expression "(int)&((stat64 *)(local_820._48_4_ + -0x60))->st_ino" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&((stat64 *)(local_820._48_4_ + -0x60))->st_ino" & (field_expression "((stat64 *)(local_820._48_4_ + -0x60))->st_ino" (parenthesized_expression "((stat64 *)(local_820._48_4_ + -0x60))" ( (cast_expression "(stat64 *)(local_820._48_4_ + -0x60)" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_820._48_4_ + -0x60)" ( (binary_expression "local_820._48_4_ + -0x60" (field_expression "local_820._48_4_" identifier . field_identifier) + number_literal) ))) )) -> field_identifier))) + number_literal) )))) ;) })) (expression_statement "psVar26 = (stat64 *)local_174;" (assignment_expression "psVar26 = (stat64 *)local_174" identifier = (cast_expression "(stat64 *)local_174" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "psVar14 = (stat64 *)0x1;" (assignment_expression "psVar14 = (stat64 *)0x1" identifier = (cast_expression "(stat64 *)0x1" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "pcVar18 = (char *)0x20;" (assignment_expression "pcVar18 = (char *)0x20" identifier = (cast_expression "(char *)0x20" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "psVar12 = psVar20;" (assignment_expression "psVar12 = psVar20" identifier = identifier) ;) (expression_statement "psVar11 = (stat64 *)local_820._48_4_;" (assignment_expression "psVar11 = (stat64 *)local_820._48_4_" identifier = (cast_expression "(stat64 *)local_820._48_4_" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "local_820._48_4_" identifier . field_identifier))) ;) (expression_statement "uVar38 = sg_ll_readcap_16(local_930,0,0,0,psVar26,0x20,1,psVar20,psVar26,local_820._48_4_,\n                              psVar49,iVar17);" (assignment_expression "uVar38 = sg_ll_readcap_16(local_930,0,0,0,psVar26,0x20,1,psVar20,psVar26,local_820._48_4_,\n                              psVar49,iVar17)" identifier = (call_expression "sg_ll_readcap_16(local_930,0,0,0,psVar26,0x20,1,psVar20,psVar26,local_820._48_4_,\n                              psVar49,iVar17)" identifier (argument_list "(local_930,0,0,0,psVar26,0x20,1,psVar20,psVar26,local_820._48_4_,\n                              psVar49,iVar17)" ( identifier , number_literal , number_literal , number_literal , identifier , number_literal , number_literal , identifier , identifier , (field_expression "local_820._48_4_" identifier . field_identifier) , identifier , identifier )))) ;) (if_statement "if ((int)uVar38 == 6) {\n      pr2serr("Read capacity(16) unit attention, try again\n");\n      uVar38 = sg_ll_readcap_16(local_930,0,0,0,psVar26,0x20,1,psVar20);\n    }" if (parenthesized_expression "((int)uVar38 == 6)" ( (binary_expression "(int)uVar38 == 6" (cast_expression "(int)uVar38" ( (type_descriptor "int" primitive_type) ) identifier) == number_literal) )) (compound_statement "{\n      pr2serr("Read capacity(16) unit attention, try again\n");\n      uVar38 = sg_ll_readcap_16(local_930,0,0,0,psVar26,0x20,1,psVar20);\n    }" { (expression_statement "pr2serr("Read capacity(16) unit attention, try again\n");" (call_expression "pr2serr("Read capacity(16) unit attention, try again\n")" identifier (argument_list "("Read capacity(16) unit attention, try again\n")" ( (string_literal ""Read capacity(16) unit attention, try again\n"" " string_content escape_sequence ") ))) ;) (expression_statement "uVar38 = sg_ll_readcap_16(local_930,0,0,0,psVar26,0x20,1,psVar20);" (assignment_expression "uVar38 = sg_ll_readcap_16(local_930,0,0,0,psVar26,0x20,1,psVar20)" identifier = (call_expression "sg_ll_readcap_16(local_930,0,0,0,psVar26,0x20,1,psVar20)" identifier (argument_list "(local_930,0,0,0,psVar26,0x20,1,psVar20)" ( identifier , number_literal , number_literal , number_literal , identifier , number_literal , number_literal , identifier )))) ;) })) (expression_statement "psVar27 = (stat64 *)((ulonglong)uVar38 >> 0x20);" (assignment_expression "psVar27 = (stat64 *)((ulonglong)uVar38 >> 0x20)" identifier = (cast_expression "(stat64 *)((ulonglong)uVar38 >> 0x20)" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((ulonglong)uVar38 >> 0x20)" ( (binary_expression "(ulonglong)uVar38 >> 0x20" (cast_expression "(ulonglong)uVar38" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) )))) ;) (expression_statement "local_908 = (stat64 *)uVar38;" (assignment_expression "local_908 = (stat64 *)uVar38" identifier = (cast_expression "(stat64 *)uVar38" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (if_statement "if (local_908 == (stat64 *)0x0) {\n      psVar20 = psVar14;\n      if (3 < (int)psVar11) {\n        pr2serr("Read capacity(16) response:\n");\n        psVar20 = (stat64 *)0x1;\n        pcVar18 = (char *)0x20;\n        hex2stderr(psVar26,0x20,1);\n      }\n      bVar1 = local_174[0xc];\n      psVar14 = (stat64 *)\n                ((uint)local_174._8_4_ >> 0x18 | (local_174._8_4_ & 0xff0000) >> 8 |\n                 (local_174._8_4_ & 0xff00) << 8 | local_174._8_4_ << 0x18);\n      uVar10 = (uint)local_174._4_4_ >> 0x18 | (local_174._4_4_ & 0xff0000) >> 8 |\n               (local_174._4_4_ & 0xff00) << 8 | local_174._4_4_ << 0x18;\n      local_7ac = uVar10 + 1;\n      local_7a8 = ((uint)local_174._0_4_ >> 0x18 | (local_174._0_4_ & 0xff0000) >> 8 |\n                   (local_174._0_4_ & 0xff00) << 8 | local_174._0_4_ << 0x18) +\n                  (uint)(0xfffffffe < uVar10);\n      psVar26 = (stat64 *)(uint)local_174[0xc];\n      local_820._72_4_ = psVar14;\n      if ((local_174[0xc] & 1) == 0) {\n        local_820._36_4_ = 0;\n        if ((int)local_820._52_4_ < 1) goto LAB_00012305;\n        if (psVar11 != (stat64 *)0x0) {\n          pcVar18 = (char *)local_820._52_4_;\n          psVar26 = local_7a0;\n          pr2serr("--wrprotect (%d) expects PI but %s says it has none\n",local_820._52_4_,local_7a0\n                  ,psVar14);\n          if (local_820._40_4_ != 0) goto LAB_00012ef5;\n          pcVar16 = "  ... continue but could be dangerous\n";\n          psVar29 = (stat64 *)0x0;\n          psVar12 = psVar14;\n          goto LAB_00013516;\n        }\n        if (local_820._40_4_ != 0) goto LAB_00012ef5;\n      }\n      else {\n        local_820._36_4_ = (local_174[0xc] >> 1 & 7) + 1;\n        psVar29 = (stat64 *)(8 << (local_174[0xd] >> 4));\n        psVar26 = (stat64 *)(uint)(local_174[0xd] >> 4);\n        if (((int)local_820._52_4_ < 1) ||\n           (local_820._76_4_ = (int)&psVar29->st_dev + (int)&psVar14->st_dev, (int)psVar11 < 2)) {\nLAB_00012305:\n          if (psVar11 == (stat64 *)0x0) goto LAB_00012312;\n        }\n        else {\n          pcVar16 = \n          "  For data out buffer purposes the effective block size is %u (lb size\n  is %u) because PROT_EN=1, PI_EXP=%u and WRPROTECT>0\n"\n          ;\n          pcVar18 = (char *)psVar14;\n          psVar12 = (stat64 *)local_820._76_4_;\nLAB_00013516:\n          pr2serr(pcVar16,pcVar18,psVar26,psVar12);\n          psVar20 = psVar26;\n        }\n        pr2serr("Read capacity(16) response fields:\n",pcVar18,psVar20,psVar12);\n        psVar29 = (stat64 *)((int)(__dev_t *)local_820._72_4_ + (int)&psVar29->st_dev);\n        psVar12 = extraout_ECX_05;\n        pr2serr("  Last_LBA=0x%llx  LB size: %u (with PI: %u) bytes  p_type=%u\n",local_7ac + -1,\n                local_7a8 + -1 + (uint)(local_7ac != 0),local_820._72_4_,psVar29,\n                local_174[0xc] >> 1 & 7,extraout_ECX_05,extraout_ECX_05);\n        pr2serr("  prot_en=%u [PI type=%u] p_i_exp=%u  lbppb_exp=%u  lbpme,rz=%u,",bVar1 & 1,\n                local_820._36_4_,local_174[0xd] >> 4,local_174[0xd] & 0xf,\n                (uint)(int)(char)local_174[0xe] >> 0x1f);\n        psVar20 = (stat64 *)\n                  ((ushort)(local_174._14_2_ << 8 | (ushort)local_174._14_2_ >> 8) & 0x3fff);\n        pcVar18 = (char *)(local_174[0xe] >> 6 & 1);\n        pr2serr("%u  low_ali_lba=%u\n",pcVar18,psVar20);\n        psVar26 = extraout_EDX_04;\n      }\n    }\n    else {\n      if (((int)local_908 - 5U & 0xfffffffb) != 0) {\n        if (psVar11 != (stat64 *)0x0) {\n          puVar48 = local_174 + 0x50;\n          psVar29 = (stat64 *)"OS error";\n          puVar33 = puVar48;\n          for (iVar17 = 9; iVar17 != 0; iVar17 = iVar17 + -1) {\n            *puVar33 = (char)psVar29->st_dev;\n            psVar29 = (stat64 *)((int)psVar29 + (uint)bVar37 * -2 + 1);\n            puVar33 = puVar33 + (uint)bVar37 * -2 + 1;\n          }\n          psVar41 = local_908;\n          if (0 < (int)local_908) {\n            psVar41 = (stat64 *)sg_get_category_sense_str(local_908,0x50,puVar48,psVar11);\n          }\n          pr2serr("Read capacity(16): %s\n",puVar48,psVar41,psVar41);\n          pr2serr("Unable to calculate block size\n");\n        }\n        if (0 < (int)local_908) goto LAB_00012354;\n        goto LAB_00012ef5;\n      }\n      if (psVar11 == (stat64 *)0x0) {\n        pcVar18 = (char *)0x1;\n        uVar38 = sg_ll_readcap_10(local_930,0,0,psVar26,8,1,psVar20,psVar27);\n        psVar26 = (stat64 *)((ulonglong)uVar38 >> 0x20);\n        local_908 = (stat64 *)uVar38;\n        psVar12 = psVar27;\n        if (local_908 != (stat64 *)0x0) {\nLAB_00013444:\n          puVar48 = local_174 + 0x50;\n          psVar29 = (stat64 *)"OS error";\n          puVar33 = puVar48;\n          for (iVar17 = 9; iVar17 != 0; iVar17 = iVar17 + -1) {\n            *puVar33 = (char)psVar29->st_dev;\n            psVar29 = (stat64 *)((int)psVar29 + (uint)bVar37 * -2 + 1);\n            puVar33 = puVar33 + (uint)bVar37 * -2 + 1;\n          }\n          if (0 < (int)local_908) {\n            sg_get_category_sense_str(local_908,0x50,puVar48,psVar11);\n            pr2serr("Read capacity(10): %s\n",puVar48);\n            pr2serr("Unable to calculate block size\n");\n            goto LAB_00012354;\n          }\n          __snprintf_chk(puVar48,0x50,1,0x50,"error: %d",local_908,local_908,local_908);\n          pr2serr("Read capacity(10): %s\n",puVar48);\n          pr2serr("Unable to calculate block size\n");\n          local_908 = (stat64 *)0xf;\n          goto LAB_00012354;\n        }\n      }\n      else {\n        psVar29 = psVar26;\n        pr2serr("Read capacity(16) not supported, try Read capacity(10)\n");\n        pcVar18 = (char *)0x1;\n        uVar38 = sg_ll_readcap_10(local_930,0,0,psVar29,8,1,psVar20);\n        psVar26 = (stat64 *)((ulonglong)uVar38 >> 0x20);\n        local_908 = (stat64 *)uVar38;\n        if (local_908 != (stat64 *)0x0) goto LAB_00013444;\n        if (3 < (int)psVar11) {\n          pr2serr("Read capacity(10) response:\n");\n          psVar20 = (stat64 *)0x1;\n          pcVar18 = (char *)0x8;\n          hex2stderr(psVar29,8,1);\n          psVar26 = extraout_EDX_03;\n        }\n      }\n      local_7a8 = 0;\n      local_7ac = ((uint)local_174._0_4_ >> 0x18 | (local_174._0_4_ & 0xff0000) >> 8 |\n                   (local_174._0_4_ & 0xff00) << 8 | local_174._0_4_ << 0x18) + 1;\n      local_820._72_4_ =\n           (uint)local_174._4_4_ >> 0x18 | (local_174._4_4_ & 0xff0000) >> 8 |\n           (local_174._4_4_ & 0xff00) << 8 | local_174._4_4_ << 0x18;\n    }" if (parenthesized_expression "(local_908 == (stat64 *)0x0)" ( (binary_expression "local_908 == (stat64 *)0x0" identifier == (cast_expression "(stat64 *)0x0" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      psVar20 = psVar14;\n      if (3 < (int)psVar11) {\n        pr2serr("Read capacity(16) response:\n");\n        psVar20 = (stat64 *)0x1;\n        pcVar18 = (char *)0x20;\n        hex2stderr(psVar26,0x20,1);\n      }\n      bVar1 = local_174[0xc];\n      psVar14 = (stat64 *)\n                ((uint)local_174._8_4_ >> 0x18 | (local_174._8_4_ & 0xff0000) >> 8 |\n                 (local_174._8_4_ & 0xff00) << 8 | local_174._8_4_ << 0x18);\n      uVar10 = (uint)local_174._4_4_ >> 0x18 | (local_174._4_4_ & 0xff0000) >> 8 |\n               (local_174._4_4_ & 0xff00) << 8 | local_174._4_4_ << 0x18;\n      local_7ac = uVar10 + 1;\n      local_7a8 = ((uint)local_174._0_4_ >> 0x18 | (local_174._0_4_ & 0xff0000) >> 8 |\n                   (local_174._0_4_ & 0xff00) << 8 | local_174._0_4_ << 0x18) +\n                  (uint)(0xfffffffe < uVar10);\n      psVar26 = (stat64 *)(uint)local_174[0xc];\n      local_820._72_4_ = psVar14;\n      if ((local_174[0xc] & 1) == 0) {\n        local_820._36_4_ = 0;\n        if ((int)local_820._52_4_ < 1) goto LAB_00012305;\n        if (psVar11 != (stat64 *)0x0) {\n          pcVar18 = (char *)local_820._52_4_;\n          psVar26 = local_7a0;\n          pr2serr("--wrprotect (%d) expects PI but %s says it has none\n",local_820._52_4_,local_7a0\n                  ,psVar14);\n          if (local_820._40_4_ != 0) goto LAB_00012ef5;\n          pcVar16 = "  ... continue but could be dangerous\n";\n          psVar29 = (stat64 *)0x0;\n          psVar12 = psVar14;\n          goto LAB_00013516;\n        }\n        if (local_820._40_4_ != 0) goto LAB_00012ef5;\n      }\n      else {\n        local_820._36_4_ = (local_174[0xc] >> 1 & 7) + 1;\n        psVar29 = (stat64 *)(8 << (local_174[0xd] >> 4));\n        psVar26 = (stat64 *)(uint)(local_174[0xd] >> 4);\n        if (((int)local_820._52_4_ < 1) ||\n           (local_820._76_4_ = (int)&psVar29->st_dev + (int)&psVar14->st_dev, (int)psVar11 < 2)) {\nLAB_00012305:\n          if (psVar11 == (stat64 *)0x0) goto LAB_00012312;\n        }\n        else {\n          pcVar16 = \n          "  For data out buffer purposes the effective block size is %u (lb size\n  is %u) because PROT_EN=1, PI_EXP=%u and WRPROTECT>0\n"\n          ;\n          pcVar18 = (char *)psVar14;\n          psVar12 = (stat64 *)local_820._76_4_;\nLAB_00013516:\n          pr2serr(pcVar16,pcVar18,psVar26,psVar12);\n          psVar20 = psVar26;\n        }\n        pr2serr("Read capacity(16) response fields:\n",pcVar18,psVar20,psVar12);\n        psVar29 = (stat64 *)((int)(__dev_t *)local_820._72_4_ + (int)&psVar29->st_dev);\n        psVar12 = extraout_ECX_05;\n        pr2serr("  Last_LBA=0x%llx  LB size: %u (with PI: %u) bytes  p_type=%u\n",local_7ac + -1,\n                local_7a8 + -1 + (uint)(local_7ac != 0),local_820._72_4_,psVar29,\n                local_174[0xc] >> 1 & 7,extraout_ECX_05,extraout_ECX_05);\n        pr2serr("  prot_en=%u [PI type=%u] p_i_exp=%u  lbppb_exp=%u  lbpme,rz=%u,",bVar1 & 1,\n                local_820._36_4_,local_174[0xd] >> 4,local_174[0xd] & 0xf,\n                (uint)(int)(char)local_174[0xe] >> 0x1f);\n        psVar20 = (stat64 *)\n                  ((ushort)(local_174._14_2_ << 8 | (ushort)local_174._14_2_ >> 8) & 0x3fff);\n        pcVar18 = (char *)(local_174[0xe] >> 6 & 1);\n        pr2serr("%u  low_ali_lba=%u\n",pcVar18,psVar20);\n        psVar26 = extraout_EDX_04;\n      }\n    }" { (expression_statement "psVar20 = psVar14;" (assignment_expression "psVar20 = psVar14" identifier = identifier) ;) (if_statement "if (3 < (int)psVar11) {\n        pr2serr("Read capacity(16) response:\n");\n        psVar20 = (stat64 *)0x1;\n        pcVar18 = (char *)0x20;\n        hex2stderr(psVar26,0x20,1);\n      }" if (parenthesized_expression "(3 < (int)psVar11)" ( (binary_expression "3 < (int)psVar11" number_literal < (cast_expression "(int)psVar11" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n        pr2serr("Read capacity(16) response:\n");\n        psVar20 = (stat64 *)0x1;\n        pcVar18 = (char *)0x20;\n        hex2stderr(psVar26,0x20,1);\n      }" { (expression_statement "pr2serr("Read capacity(16) response:\n");" (call_expression "pr2serr("Read capacity(16) response:\n")" identifier (argument_list "("Read capacity(16) response:\n")" ( (string_literal ""Read capacity(16) response:\n"" " string_content escape_sequence ") ))) ;) (expression_statement "psVar20 = (stat64 *)0x1;" (assignment_expression "psVar20 = (stat64 *)0x1" identifier = (cast_expression "(stat64 *)0x1" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "pcVar18 = (char *)0x20;" (assignment_expression "pcVar18 = (char *)0x20" identifier = (cast_expression "(char *)0x20" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "hex2stderr(psVar26,0x20,1);" (call_expression "hex2stderr(psVar26,0x20,1)" identifier (argument_list "(psVar26,0x20,1)" ( identifier , number_literal , number_literal ))) ;) })) (expression_statement "bVar1 = local_174[0xc];" (assignment_expression "bVar1 = local_174[0xc]" identifier = (subscript_expression "local_174[0xc]" identifier [ number_literal ])) ;) (expression_statement "psVar14 = (stat64 *)\n                ((uint)local_174._8_4_ >> 0x18 | (local_174._8_4_ & 0xff0000) >> 8 |\n                 (local_174._8_4_ & 0xff00) << 8 | local_174._8_4_ << 0x18);" (assignment_expression "psVar14 = (stat64 *)\n                ((uint)local_174._8_4_ >> 0x18 | (local_174._8_4_ & 0xff0000) >> 8 |\n                 (local_174._8_4_ & 0xff00) << 8 | local_174._8_4_ << 0x18)" identifier = (cast_expression "(stat64 *)\n                ((uint)local_174._8_4_ >> 0x18 | (local_174._8_4_ & 0xff0000) >> 8 |\n                 (local_174._8_4_ & 0xff00) << 8 | local_174._8_4_ << 0x18)" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((uint)local_174._8_4_ >> 0x18 | (local_174._8_4_ & 0xff0000) >> 8 |\n                 (local_174._8_4_ & 0xff00) << 8 | local_174._8_4_ << 0x18)" ( (binary_expression "(uint)local_174._8_4_ >> 0x18 | (local_174._8_4_ & 0xff0000) >> 8 |\n                 (local_174._8_4_ & 0xff00) << 8 | local_174._8_4_ << 0x18" (binary_expression "(uint)local_174._8_4_ >> 0x18 | (local_174._8_4_ & 0xff0000) >> 8 |\n                 (local_174._8_4_ & 0xff00) << 8" (binary_expression "(uint)local_174._8_4_ >> 0x18 | (local_174._8_4_ & 0xff0000) >> 8" (binary_expression "(uint)local_174._8_4_ >> 0x18" (cast_expression "(uint)local_174._8_4_" ( (type_descriptor "uint" type_identifier) ) (field_expression "local_174._8_4_" identifier . field_identifier)) >> number_literal) | (binary_expression "(local_174._8_4_ & 0xff0000) >> 8" (parenthesized_expression "(local_174._8_4_ & 0xff0000)" ( (binary_expression "local_174._8_4_ & 0xff0000" (field_expression "local_174._8_4_" identifier . field_identifier) & number_literal) )) >> number_literal)) | (binary_expression "(local_174._8_4_ & 0xff00) << 8" (parenthesized_expression "(local_174._8_4_ & 0xff00)" ( (binary_expression "local_174._8_4_ & 0xff00" (field_expression "local_174._8_4_" identifier . field_identifier) & number_literal) )) << number_literal)) | (binary_expression "local_174._8_4_ << 0x18" (field_expression "local_174._8_4_" identifier . field_identifier) << number_literal)) )))) ;) (expression_statement "uVar10 = (uint)local_174._4_4_ >> 0x18 | (local_174._4_4_ & 0xff0000) >> 8 |\n               (local_174._4_4_ & 0xff00) << 8 | local_174._4_4_ << 0x18;" (assignment_expression "uVar10 = (uint)local_174._4_4_ >> 0x18 | (local_174._4_4_ & 0xff0000) >> 8 |\n               (local_174._4_4_ & 0xff00) << 8 | local_174._4_4_ << 0x18" identifier = (binary_expression "(uint)local_174._4_4_ >> 0x18 | (local_174._4_4_ & 0xff0000) >> 8 |\n               (local_174._4_4_ & 0xff00) << 8 | local_174._4_4_ << 0x18" (binary_expression "(uint)local_174._4_4_ >> 0x18 | (local_174._4_4_ & 0xff0000) >> 8 |\n               (local_174._4_4_ & 0xff00) << 8" (binary_expression "(uint)local_174._4_4_ >> 0x18 | (local_174._4_4_ & 0xff0000) >> 8" (binary_expression "(uint)local_174._4_4_ >> 0x18" (cast_expression "(uint)local_174._4_4_" ( (type_descriptor "uint" type_identifier) ) (field_expression "local_174._4_4_" identifier . field_identifier)) >> number_literal) | (binary_expression "(local_174._4_4_ & 0xff0000) >> 8" (parenthesized_expression "(local_174._4_4_ & 0xff0000)" ( (binary_expression "local_174._4_4_ & 0xff0000" (field_expression "local_174._4_4_" identifier . field_identifier) & number_literal) )) >> number_literal)) | (binary_expression "(local_174._4_4_ & 0xff00) << 8" (parenthesized_expression "(local_174._4_4_ & 0xff00)" ( (binary_expression "local_174._4_4_ & 0xff00" (field_expression "local_174._4_4_" identifier . field_identifier) & number_literal) )) << number_literal)) | (binary_expression "local_174._4_4_ << 0x18" (field_expression "local_174._4_4_" identifier . field_identifier) << number_literal))) ;) (expression_statement "local_7ac = uVar10 + 1;" (assignment_expression "local_7ac = uVar10 + 1" identifier = (binary_expression "uVar10 + 1" identifier + number_literal)) ;) (expression_statement "local_7a8 = ((uint)local_174._0_4_ >> 0x18 | (local_174._0_4_ & 0xff0000) >> 8 |\n                   (local_174._0_4_ & 0xff00) << 8 | local_174._0_4_ << 0x18) +\n                  (uint)(0xfffffffe < uVar10);" (assignment_expression "local_7a8 = ((uint)local_174._0_4_ >> 0x18 | (local_174._0_4_ & 0xff0000) >> 8 |\n                   (local_174._0_4_ & 0xff00) << 8 | local_174._0_4_ << 0x18) +\n                  (uint)(0xfffffffe < uVar10)" identifier = (binary_expression "((uint)local_174._0_4_ >> 0x18 | (local_174._0_4_ & 0xff0000) >> 8 |\n                   (local_174._0_4_ & 0xff00) << 8 | local_174._0_4_ << 0x18) +\n                  (uint)(0xfffffffe < uVar10)" (parenthesized_expression "((uint)local_174._0_4_ >> 0x18 | (local_174._0_4_ & 0xff0000) >> 8 |\n                   (local_174._0_4_ & 0xff00) << 8 | local_174._0_4_ << 0x18)" ( (binary_expression "(uint)local_174._0_4_ >> 0x18 | (local_174._0_4_ & 0xff0000) >> 8 |\n                   (local_174._0_4_ & 0xff00) << 8 | local_174._0_4_ << 0x18" (binary_expression "(uint)local_174._0_4_ >> 0x18 | (local_174._0_4_ & 0xff0000) >> 8 |\n                   (local_174._0_4_ & 0xff00) << 8" (binary_expression "(uint)local_174._0_4_ >> 0x18 | (local_174._0_4_ & 0xff0000) >> 8" (binary_expression "(uint)local_174._0_4_ >> 0x18" (cast_expression "(uint)local_174._0_4_" ( (type_descriptor "uint" type_identifier) ) (field_expression "local_174._0_4_" identifier . field_identifier)) >> number_literal) | (binary_expression "(local_174._0_4_ & 0xff0000) >> 8" (parenthesized_expression "(local_174._0_4_ & 0xff0000)" ( (binary_expression "local_174._0_4_ & 0xff0000" (field_expression "local_174._0_4_" identifier . field_identifier) & number_literal) )) >> number_literal)) | (binary_expression "(local_174._0_4_ & 0xff00) << 8" (parenthesized_expression "(local_174._0_4_ & 0xff00)" ( (binary_expression "local_174._0_4_ & 0xff00" (field_expression "local_174._0_4_" identifier . field_identifier) & number_literal) )) << number_literal)) | (binary_expression "local_174._0_4_ << 0x18" (field_expression "local_174._0_4_" identifier . field_identifier) << number_literal)) )) + (call_expression "(uint)(0xfffffffe < uVar10)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(0xfffffffe < uVar10)" ( (binary_expression "0xfffffffe < uVar10" number_literal < identifier) ))))) ;) (expression_statement "psVar26 = (stat64 *)(uint)local_174[0xc];" (assignment_expression "psVar26 = (stat64 *)(uint)local_174[0xc]" identifier = (cast_expression "(stat64 *)(uint)local_174[0xc]" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) (cast_expression "(uint)local_174[0xc]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "local_174[0xc]" identifier [ number_literal ])))) ;) (expression_statement "local_820._72_4_ = psVar14;" (assignment_expression "local_820._72_4_ = psVar14" (field_expression "local_820._72_4_" identifier . field_identifier) = identifier) ;) (if_statement "if ((local_174[0xc] & 1) == 0) {\n        local_820._36_4_ = 0;\n        if ((int)local_820._52_4_ < 1) goto LAB_00012305;\n        if (psVar11 != (stat64 *)0x0) {\n          pcVar18 = (char *)local_820._52_4_;\n          psVar26 = local_7a0;\n          pr2serr("--wrprotect (%d) expects PI but %s says it has none\n",local_820._52_4_,local_7a0\n                  ,psVar14);\n          if (local_820._40_4_ != 0) goto LAB_00012ef5;\n          pcVar16 = "  ... continue but could be dangerous\n";\n          psVar29 = (stat64 *)0x0;\n          psVar12 = psVar14;\n          goto LAB_00013516;\n        }\n        if (local_820._40_4_ != 0) goto LAB_00012ef5;\n      }\n      else {\n        local_820._36_4_ = (local_174[0xc] >> 1 & 7) + 1;\n        psVar29 = (stat64 *)(8 << (local_174[0xd] >> 4));\n        psVar26 = (stat64 *)(uint)(local_174[0xd] >> 4);\n        if (((int)local_820._52_4_ < 1) ||\n           (local_820._76_4_ = (int)&psVar29->st_dev + (int)&psVar14->st_dev, (int)psVar11 < 2)) {\nLAB_00012305:\n          if (psVar11 == (stat64 *)0x0) goto LAB_00012312;\n        }\n        else {\n          pcVar16 = \n          "  For data out buffer purposes the effective block size is %u (lb size\n  is %u) because PROT_EN=1, PI_EXP=%u and WRPROTECT>0\n"\n          ;\n          pcVar18 = (char *)psVar14;\n          psVar12 = (stat64 *)local_820._76_4_;\nLAB_00013516:\n          pr2serr(pcVar16,pcVar18,psVar26,psVar12);\n          psVar20 = psVar26;\n        }\n        pr2serr("Read capacity(16) response fields:\n",pcVar18,psVar20,psVar12);\n        psVar29 = (stat64 *)((int)(__dev_t *)local_820._72_4_ + (int)&psVar29->st_dev);\n        psVar12 = extraout_ECX_05;\n        pr2serr("  Last_LBA=0x%llx  LB size: %u (with PI: %u) bytes  p_type=%u\n",local_7ac + -1,\n                local_7a8 + -1 + (uint)(local_7ac != 0),local_820._72_4_,psVar29,\n                local_174[0xc] >> 1 & 7,extraout_ECX_05,extraout_ECX_05);\n        pr2serr("  prot_en=%u [PI type=%u] p_i_exp=%u  lbppb_exp=%u  lbpme,rz=%u,",bVar1 & 1,\n                local_820._36_4_,local_174[0xd] >> 4,local_174[0xd] & 0xf,\n                (uint)(int)(char)local_174[0xe] >> 0x1f);\n        psVar20 = (stat64 *)\n                  ((ushort)(local_174._14_2_ << 8 | (ushort)local_174._14_2_ >> 8) & 0x3fff);\n        pcVar18 = (char *)(local_174[0xe] >> 6 & 1);\n        pr2serr("%u  low_ali_lba=%u\n",pcVar18,psVar20);\n        psVar26 = extraout_EDX_04;\n      }" if (parenthesized_expression "((local_174[0xc] & 1) == 0)" ( (binary_expression "(local_174[0xc] & 1) == 0" (parenthesized_expression "(local_174[0xc] & 1)" ( (binary_expression "local_174[0xc] & 1" (subscript_expression "local_174[0xc]" identifier [ number_literal ]) & number_literal) )) == number_literal) )) (compound_statement "{\n        local_820._36_4_ = 0;\n        if ((int)local_820._52_4_ < 1) goto LAB_00012305;\n        if (psVar11 != (stat64 *)0x0) {\n          pcVar18 = (char *)local_820._52_4_;\n          psVar26 = local_7a0;\n          pr2serr("--wrprotect (%d) expects PI but %s says it has none\n",local_820._52_4_,local_7a0\n                  ,psVar14);\n          if (local_820._40_4_ != 0) goto LAB_00012ef5;\n          pcVar16 = "  ... continue but could be dangerous\n";\n          psVar29 = (stat64 *)0x0;\n          psVar12 = psVar14;\n          goto LAB_00013516;\n        }\n        if (local_820._40_4_ != 0) goto LAB_00012ef5;\n      }" { (expression_statement "local_820._36_4_ = 0;" (assignment_expression "local_820._36_4_ = 0" (field_expression "local_820._36_4_" identifier . field_identifier) = number_literal) ;) (if_statement "if ((int)local_820._52_4_ < 1) goto LAB_00012305;" if (parenthesized_expression "((int)local_820._52_4_ < 1)" ( (binary_expression "(int)local_820._52_4_ < 1" (cast_expression "(int)local_820._52_4_" ( (type_descriptor "int" primitive_type) ) (field_expression "local_820._52_4_" identifier . field_identifier)) < number_literal) )) (goto_statement "goto LAB_00012305;" goto statement_identifier ;)) (if_statement "if (psVar11 != (stat64 *)0x0) {\n          pcVar18 = (char *)local_820._52_4_;\n          psVar26 = local_7a0;\n          pr2serr("--wrprotect (%d) expects PI but %s says it has none\n",local_820._52_4_,local_7a0\n                  ,psVar14);\n          if (local_820._40_4_ != 0) goto LAB_00012ef5;\n          pcVar16 = "  ... continue but could be dangerous\n";\n          psVar29 = (stat64 *)0x0;\n          psVar12 = psVar14;\n          goto LAB_00013516;\n        }" if (parenthesized_expression "(psVar11 != (stat64 *)0x0)" ( (binary_expression "psVar11 != (stat64 *)0x0" identifier != (cast_expression "(stat64 *)0x0" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n          pcVar18 = (char *)local_820._52_4_;\n          psVar26 = local_7a0;\n          pr2serr("--wrprotect (%d) expects PI but %s says it has none\n",local_820._52_4_,local_7a0\n                  ,psVar14);\n          if (local_820._40_4_ != 0) goto LAB_00012ef5;\n          pcVar16 = "  ... continue but could be dangerous\n";\n          psVar29 = (stat64 *)0x0;\n          psVar12 = psVar14;\n          goto LAB_00013516;\n        }" { (expression_statement "pcVar18 = (char *)local_820._52_4_;" (assignment_expression "pcVar18 = (char *)local_820._52_4_" identifier = (cast_expression "(char *)local_820._52_4_" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (field_expression "local_820._52_4_" identifier . field_identifier))) ;) (expression_statement "psVar26 = local_7a0;" (assignment_expression "psVar26 = local_7a0" identifier = identifier) ;) (expression_statement "pr2serr("--wrprotect (%d) expects PI but %s says it has none\n",local_820._52_4_,local_7a0\n                  ,psVar14);" (call_expression "pr2serr("--wrprotect (%d) expects PI but %s says it has none\n",local_820._52_4_,local_7a0\n                  ,psVar14)" identifier (argument_list "("--wrprotect (%d) expects PI but %s says it has none\n",local_820._52_4_,local_7a0\n                  ,psVar14)" ( (string_literal ""--wrprotect (%d) expects PI but %s says it has none\n"" " string_content escape_sequence ") , (field_expression "local_820._52_4_" identifier . field_identifier) , identifier , identifier ))) ;) (if_statement "if (local_820._40_4_ != 0) goto LAB_00012ef5;" if (parenthesized_expression "(local_820._40_4_ != 0)" ( (binary_expression "local_820._40_4_ != 0" (field_expression "local_820._40_4_" identifier . field_identifier) != number_literal) )) (goto_statement "goto LAB_00012ef5;" goto statement_identifier ;)) (expression_statement "pcVar16 = "  ... continue but could be dangerous\n";" (assignment_expression "pcVar16 = "  ... continue but could be dangerous\n"" identifier = (string_literal ""  ... continue but could be dangerous\n"" " string_content escape_sequence ")) ;) (expression_statement "psVar29 = (stat64 *)0x0;" (assignment_expression "psVar29 = (stat64 *)0x0" identifier = (cast_expression "(stat64 *)0x0" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "psVar12 = psVar14;" (assignment_expression "psVar12 = psVar14" identifier = identifier) ;) (goto_statement "goto LAB_00013516;" goto statement_identifier ;) })) (if_statement "if (local_820._40_4_ != 0) goto LAB_00012ef5;" if (parenthesized_expression "(local_820._40_4_ != 0)" ( (binary_expression "local_820._40_4_ != 0" (field_expression "local_820._40_4_" identifier . field_identifier) != number_literal) )) (goto_statement "goto LAB_00012ef5;" goto statement_identifier ;)) }) (else_clause "else {\n        local_820._36_4_ = (local_174[0xc] >> 1 & 7) + 1;\n        psVar29 = (stat64 *)(8 << (local_174[0xd] >> 4));\n        psVar26 = (stat64 *)(uint)(local_174[0xd] >> 4);\n        if (((int)local_820._52_4_ < 1) ||\n           (local_820._76_4_ = (int)&psVar29->st_dev + (int)&psVar14->st_dev, (int)psVar11 < 2)) {\nLAB_00012305:\n          if (psVar11 == (stat64 *)0x0) goto LAB_00012312;\n        }\n        else {\n          pcVar16 = \n          "  For data out buffer purposes the effective block size is %u (lb size\n  is %u) because PROT_EN=1, PI_EXP=%u and WRPROTECT>0\n"\n          ;\n          pcVar18 = (char *)psVar14;\n          psVar12 = (stat64 *)local_820._76_4_;\nLAB_00013516:\n          pr2serr(pcVar16,pcVar18,psVar26,psVar12);\n          psVar20 = psVar26;\n        }\n        pr2serr("Read capacity(16) response fields:\n",pcVar18,psVar20,psVar12);\n        psVar29 = (stat64 *)((int)(__dev_t *)local_820._72_4_ + (int)&psVar29->st_dev);\n        psVar12 = extraout_ECX_05;\n        pr2serr("  Last_LBA=0x%llx  LB size: %u (with PI: %u) bytes  p_type=%u\n",local_7ac + -1,\n                local_7a8 + -1 + (uint)(local_7ac != 0),local_820._72_4_,psVar29,\n                local_174[0xc] >> 1 & 7,extraout_ECX_05,extraout_ECX_05);\n        pr2serr("  prot_en=%u [PI type=%u] p_i_exp=%u  lbppb_exp=%u  lbpme,rz=%u,",bVar1 & 1,\n                local_820._36_4_,local_174[0xd] >> 4,local_174[0xd] & 0xf,\n                (uint)(int)(char)local_174[0xe] >> 0x1f);\n        psVar20 = (stat64 *)\n                  ((ushort)(local_174._14_2_ << 8 | (ushort)local_174._14_2_ >> 8) & 0x3fff);\n        pcVar18 = (char *)(local_174[0xe] >> 6 & 1);\n        pr2serr("%u  low_ali_lba=%u\n",pcVar18,psVar20);\n        psVar26 = extraout_EDX_04;\n      }" else (compound_statement "{\n        local_820._36_4_ = (local_174[0xc] >> 1 & 7) + 1;\n        psVar29 = (stat64 *)(8 << (local_174[0xd] >> 4));\n        psVar26 = (stat64 *)(uint)(local_174[0xd] >> 4);\n        if (((int)local_820._52_4_ < 1) ||\n           (local_820._76_4_ = (int)&psVar29->st_dev + (int)&psVar14->st_dev, (int)psVar11 < 2)) {\nLAB_00012305:\n          if (psVar11 == (stat64 *)0x0) goto LAB_00012312;\n        }\n        else {\n          pcVar16 = \n          "  For data out buffer purposes the effective block size is %u (lb size\n  is %u) because PROT_EN=1, PI_EXP=%u and WRPROTECT>0\n"\n          ;\n          pcVar18 = (char *)psVar14;\n          psVar12 = (stat64 *)local_820._76_4_;\nLAB_00013516:\n          pr2serr(pcVar16,pcVar18,psVar26,psVar12);\n          psVar20 = psVar26;\n        }\n        pr2serr("Read capacity(16) response fields:\n",pcVar18,psVar20,psVar12);\n        psVar29 = (stat64 *)((int)(__dev_t *)local_820._72_4_ + (int)&psVar29->st_dev);\n        psVar12 = extraout_ECX_05;\n        pr2serr("  Last_LBA=0x%llx  LB size: %u (with PI: %u) bytes  p_type=%u\n",local_7ac + -1,\n                local_7a8 + -1 + (uint)(local_7ac != 0),local_820._72_4_,psVar29,\n                local_174[0xc] >> 1 & 7,extraout_ECX_05,extraout_ECX_05);\n        pr2serr("  prot_en=%u [PI type=%u] p_i_exp=%u  lbppb_exp=%u  lbpme,rz=%u,",bVar1 & 1,\n                local_820._36_4_,local_174[0xd] >> 4,local_174[0xd] & 0xf,\n                (uint)(int)(char)local_174[0xe] >> 0x1f);\n        psVar20 = (stat64 *)\n                  ((ushort)(local_174._14_2_ << 8 | (ushort)local_174._14_2_ >> 8) & 0x3fff);\n        pcVar18 = (char *)(local_174[0xe] >> 6 & 1);\n        pr2serr("%u  low_ali_lba=%u\n",pcVar18,psVar20);\n        psVar26 = extraout_EDX_04;\n      }" { (expression_statement "local_820._36_4_ = (local_174[0xc] >> 1 & 7) + 1;" (assignment_expression "local_820._36_4_ = (local_174[0xc] >> 1 & 7) + 1" (field_expression "local_820._36_4_" identifier . field_identifier) = (binary_expression "(local_174[0xc] >> 1 & 7) + 1" (parenthesized_expression "(local_174[0xc] >> 1 & 7)" ( (binary_expression "local_174[0xc] >> 1 & 7" (binary_expression "local_174[0xc] >> 1" (subscript_expression "local_174[0xc]" identifier [ number_literal ]) >> number_literal) & number_literal) )) + number_literal)) ;) (expression_statement "psVar29 = (stat64 *)(8 << (local_174[0xd] >> 4));" (assignment_expression "psVar29 = (stat64 *)(8 << (local_174[0xd] >> 4))" identifier = (cast_expression "(stat64 *)(8 << (local_174[0xd] >> 4))" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(8 << (local_174[0xd] >> 4))" ( (binary_expression "8 << (local_174[0xd] >> 4)" number_literal << (parenthesized_expression "(local_174[0xd] >> 4)" ( (binary_expression "local_174[0xd] >> 4" (subscript_expression "local_174[0xd]" identifier [ number_literal ]) >> number_literal) ))) )))) ;) (expression_statement "psVar26 = (stat64 *)(uint)(local_174[0xd] >> 4);" (assignment_expression "psVar26 = (stat64 *)(uint)(local_174[0xd] >> 4)" identifier = (cast_expression "(stat64 *)(uint)(local_174[0xd] >> 4)" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(uint)(local_174[0xd] >> 4)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(local_174[0xd] >> 4)" ( (binary_expression "local_174[0xd] >> 4" (subscript_expression "local_174[0xd]" identifier [ number_literal ]) >> number_literal) ))))) ;) (if_statement "if (((int)local_820._52_4_ < 1) ||\n           (local_820._76_4_ = (int)&psVar29->st_dev + (int)&psVar14->st_dev, (int)psVar11 < 2)) {\nLAB_00012305:\n          if (psVar11 == (stat64 *)0x0) goto LAB_00012312;\n        }\n        else {\n          pcVar16 = \n          "  For data out buffer purposes the effective block size is %u (lb size\n  is %u) because PROT_EN=1, PI_EXP=%u and WRPROTECT>0\n"\n          ;\n          pcVar18 = (char *)psVar14;\n          psVar12 = (stat64 *)local_820._76_4_;\nLAB_00013516:\n          pr2serr(pcVar16,pcVar18,psVar26,psVar12);\n          psVar20 = psVar26;\n        }" if (parenthesized_expression "(((int)local_820._52_4_ < 1) ||\n           (local_820._76_4_ = (int)&psVar29->st_dev + (int)&psVar14->st_dev, (int)psVar11 < 2))" ( (binary_expression "((int)local_820._52_4_ < 1) ||\n           (local_820._76_4_ = (int)&psVar29->st_dev + (int)&psVar14->st_dev, (int)psVar11 < 2)" (parenthesized_expression "((int)local_820._52_4_ < 1)" ( (binary_expression "(int)local_820._52_4_ < 1" (cast_expression "(int)local_820._52_4_" ( (type_descriptor "int" primitive_type) ) (field_expression "local_820._52_4_" identifier . field_identifier)) < number_literal) )) || (parenthesized_expression "(local_820._76_4_ = (int)&psVar29->st_dev + (int)&psVar14->st_dev, (int)psVar11 < 2)" ( (comma_expression "local_820._76_4_ = (int)&psVar29->st_dev + (int)&psVar14->st_dev, (int)psVar11 < 2" (assignment_expression "local_820._76_4_ = (int)&psVar29->st_dev + (int)&psVar14->st_dev" (field_expression "local_820._76_4_" identifier . field_identifier) = (binary_expression "(int)&psVar29->st_dev + (int)&psVar14->st_dev" (cast_expression "(int)&psVar29->st_dev" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&psVar29->st_dev" & (field_expression "psVar29->st_dev" identifier -> field_identifier))) + (cast_expression "(int)&psVar14->st_dev" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&psVar14->st_dev" & (field_expression "psVar14->st_dev" identifier -> field_identifier))))) , (binary_expression "(int)psVar11 < 2" (cast_expression "(int)psVar11" ( (type_descriptor "int" primitive_type) ) identifier) < number_literal)) ))) )) (compound_statement "{\nLAB_00012305:\n          if (psVar11 == (stat64 *)0x0) goto LAB_00012312;\n        }" { (labeled_statement "LAB_00012305:\n          if (psVar11 == (stat64 *)0x0) goto LAB_00012312;" statement_identifier : (if_statement "if (psVar11 == (stat64 *)0x0) goto LAB_00012312;" if (parenthesized_expression "(psVar11 == (stat64 *)0x0)" ( (binary_expression "psVar11 == (stat64 *)0x0" identifier == (cast_expression "(stat64 *)0x0" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_00012312;" goto statement_identifier ;))) }) (else_clause "else {\n          pcVar16 = \n          "  For data out buffer purposes the effective block size is %u (lb size\n  is %u) because PROT_EN=1, PI_EXP=%u and WRPROTECT>0\n"\n          ;\n          pcVar18 = (char *)psVar14;\n          psVar12 = (stat64 *)local_820._76_4_;\nLAB_00013516:\n          pr2serr(pcVar16,pcVar18,psVar26,psVar12);\n          psVar20 = psVar26;\n        }" else (compound_statement "{\n          pcVar16 = \n          "  For data out buffer purposes the effective block size is %u (lb size\n  is %u) because PROT_EN=1, PI_EXP=%u and WRPROTECT>0\n"\n          ;\n          pcVar18 = (char *)psVar14;\n          psVar12 = (stat64 *)local_820._76_4_;\nLAB_00013516:\n          pr2serr(pcVar16,pcVar18,psVar26,psVar12);\n          psVar20 = psVar26;\n        }" { (expression_statement "pcVar16 = \n          "  For data out buffer purposes the effective block size is %u (lb size\n  is %u) because PROT_EN=1, PI_EXP=%u and WRPROTECT>0\n"\n          ;" (assignment_expression "pcVar16 = \n          "  For data out buffer purposes the effective block size is %u (lb size\n  is %u) because PROT_EN=1, PI_EXP=%u and WRPROTECT>0\n"" identifier = (string_literal ""  For data out buffer purposes the effective block size is %u (lb size\n  is %u) because PROT_EN=1, PI_EXP=%u and WRPROTECT>0\n"" " string_content escape_sequence string_content escape_sequence ")) ;) (expression_statement "pcVar18 = (char *)psVar14;" (assignment_expression "pcVar18 = (char *)psVar14" identifier = (cast_expression "(char *)psVar14" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "psVar12 = (stat64 *)local_820._76_4_;" (assignment_expression "psVar12 = (stat64 *)local_820._76_4_" identifier = (cast_expression "(stat64 *)local_820._76_4_" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "local_820._76_4_" identifier . field_identifier))) ;) (labeled_statement "LAB_00013516:\n          pr2serr(pcVar16,pcVar18,psVar26,psVar12);" statement_identifier : (expression_statement "pr2serr(pcVar16,pcVar18,psVar26,psVar12);" (call_expression "pr2serr(pcVar16,pcVar18,psVar26,psVar12)" identifier (argument_list "(pcVar16,pcVar18,psVar26,psVar12)" ( identifier , identifier , identifier , identifier ))) ;)) (expression_statement "psVar20 = psVar26;" (assignment_expression "psVar20 = psVar26" identifier = identifier) ;) }))) (expression_statement "pr2serr("Read capacity(16) response fields:\n",pcVar18,psVar20,psVar12);" (call_expression "pr2serr("Read capacity(16) response fields:\n",pcVar18,psVar20,psVar12)" identifier (argument_list "("Read capacity(16) response fields:\n",pcVar18,psVar20,psVar12)" ( (string_literal ""Read capacity(16) response fields:\n"" " string_content escape_sequence ") , identifier , identifier , identifier ))) ;) (expression_statement "psVar29 = (stat64 *)((int)(__dev_t *)local_820._72_4_ + (int)&psVar29->st_dev);" (assignment_expression "psVar29 = (stat64 *)((int)(__dev_t *)local_820._72_4_ + (int)&psVar29->st_dev)" identifier = (cast_expression "(stat64 *)((int)(__dev_t *)local_820._72_4_ + (int)&psVar29->st_dev)" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)(__dev_t *)local_820._72_4_ + (int)&psVar29->st_dev)" ( (binary_expression "(int)(__dev_t *)local_820._72_4_ + (int)&psVar29->st_dev" (cast_expression "(int)(__dev_t *)local_820._72_4_" ( (type_descriptor "int" primitive_type) ) (cast_expression "(__dev_t *)local_820._72_4_" ( (type_descriptor "__dev_t *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "local_820._72_4_" identifier . field_identifier))) + (cast_expression "(int)&psVar29->st_dev" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&psVar29->st_dev" & (field_expression "psVar29->st_dev" identifier -> field_identifier)))) )))) ;) (expression_statement "psVar12 = extraout_ECX_05;" (assignment_expression "psVar12 = extraout_ECX_05" identifier = identifier) ;) (expression_statement "pr2serr("  Last_LBA=0x%llx  LB size: %u (with PI: %u) bytes  p_type=%u\n",local_7ac + -1,\n                local_7a8 + -1 + (uint)(local_7ac != 0),local_820._72_4_,psVar29,\n                local_174[0xc] >> 1 & 7,extraout_ECX_05,extraout_ECX_05);" (call_expression "pr2serr("  Last_LBA=0x%llx  LB size: %u (with PI: %u) bytes  p_type=%u\n",local_7ac + -1,\n                local_7a8 + -1 + (uint)(local_7ac != 0),local_820._72_4_,psVar29,\n                local_174[0xc] >> 1 & 7,extraout_ECX_05,extraout_ECX_05)" identifier (argument_list "("  Last_LBA=0x%llx  LB size: %u (with PI: %u) bytes  p_type=%u\n",local_7ac + -1,\n                local_7a8 + -1 + (uint)(local_7ac != 0),local_820._72_4_,psVar29,\n                local_174[0xc] >> 1 & 7,extraout_ECX_05,extraout_ECX_05)" ( (string_literal ""  Last_LBA=0x%llx  LB size: %u (with PI: %u) bytes  p_type=%u\n"" " string_content escape_sequence ") , (binary_expression "local_7ac + -1" identifier + number_literal) , (binary_expression "local_7a8 + -1 + (uint)(local_7ac != 0)" (binary_expression "local_7a8 + -1" identifier + number_literal) + (call_expression "(uint)(local_7ac != 0)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(local_7ac != 0)" ( (binary_expression "local_7ac != 0" identifier != number_literal) )))) , (field_expression "local_820._72_4_" identifier . field_identifier) , identifier , (binary_expression "local_174[0xc] >> 1 & 7" (binary_expression "local_174[0xc] >> 1" (subscript_expression "local_174[0xc]" identifier [ number_literal ]) >> number_literal) & number_literal) , identifier , identifier ))) ;) (expression_statement "pr2serr("  prot_en=%u [PI type=%u] p_i_exp=%u  lbppb_exp=%u  lbpme,rz=%u,",bVar1 & 1,\n                local_820._36_4_,local_174[0xd] >> 4,local_174[0xd] & 0xf,\n                (uint)(int)(char)local_174[0xe] >> 0x1f);" (call_expression "pr2serr("  prot_en=%u [PI type=%u] p_i_exp=%u  lbppb_exp=%u  lbpme,rz=%u,",bVar1 & 1,\n                local_820._36_4_,local_174[0xd] >> 4,local_174[0xd] & 0xf,\n                (uint)(int)(char)local_174[0xe] >> 0x1f)" identifier (argument_list "("  prot_en=%u [PI type=%u] p_i_exp=%u  lbppb_exp=%u  lbpme,rz=%u,",bVar1 & 1,\n                local_820._36_4_,local_174[0xd] >> 4,local_174[0xd] & 0xf,\n                (uint)(int)(char)local_174[0xe] >> 0x1f)" ( (string_literal ""  prot_en=%u [PI type=%u] p_i_exp=%u  lbppb_exp=%u  lbpme,rz=%u,"" " string_content ") , (binary_expression "bVar1 & 1" identifier & number_literal) , (field_expression "local_820._36_4_" identifier . field_identifier) , (binary_expression "local_174[0xd] >> 4" (subscript_expression "local_174[0xd]" identifier [ number_literal ]) >> number_literal) , (binary_expression "local_174[0xd] & 0xf" (subscript_expression "local_174[0xd]" identifier [ number_literal ]) & number_literal) , (binary_expression "(uint)(int)(char)local_174[0xe] >> 0x1f" (cast_expression "(uint)(int)(char)local_174[0xe]" ( (type_descriptor "uint" type_identifier) ) (cast_expression "(int)(char)local_174[0xe]" ( (type_descriptor "int" primitive_type) ) (cast_expression "(char)local_174[0xe]" ( (type_descriptor "char" primitive_type) ) (subscript_expression "local_174[0xe]" identifier [ number_literal ])))) >> number_literal) ))) ;) (expression_statement "psVar20 = (stat64 *)\n                  ((ushort)(local_174._14_2_ << 8 | (ushort)local_174._14_2_ >> 8) & 0x3fff);" (assignment_expression "psVar20 = (stat64 *)\n                  ((ushort)(local_174._14_2_ << 8 | (ushort)local_174._14_2_ >> 8) & 0x3fff)" identifier = (cast_expression "(stat64 *)\n                  ((ushort)(local_174._14_2_ << 8 | (ushort)local_174._14_2_ >> 8) & 0x3fff)" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((ushort)(local_174._14_2_ << 8 | (ushort)local_174._14_2_ >> 8) & 0x3fff)" ( (binary_expression "(ushort)(local_174._14_2_ << 8 | (ushort)local_174._14_2_ >> 8) & 0x3fff" (call_expression "(ushort)(local_174._14_2_ << 8 | (ushort)local_174._14_2_ >> 8)" (parenthesized_expression "(ushort)" ( identifier )) (argument_list "(local_174._14_2_ << 8 | (ushort)local_174._14_2_ >> 8)" ( (binary_expression "local_174._14_2_ << 8 | (ushort)local_174._14_2_ >> 8" (binary_expression "local_174._14_2_ << 8" (field_expression "local_174._14_2_" identifier . field_identifier) << number_literal) | (binary_expression "(ushort)local_174._14_2_ >> 8" (cast_expression "(ushort)local_174._14_2_" ( (type_descriptor "ushort" type_identifier) ) (field_expression "local_174._14_2_" identifier . field_identifier)) >> number_literal)) ))) & number_literal) )))) ;) (expression_statement "pcVar18 = (char *)(local_174[0xe] >> 6 & 1);" (assignment_expression "pcVar18 = (char *)(local_174[0xe] >> 6 & 1)" identifier = (cast_expression "(char *)(local_174[0xe] >> 6 & 1)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_174[0xe] >> 6 & 1)" ( (binary_expression "local_174[0xe] >> 6 & 1" (binary_expression "local_174[0xe] >> 6" (subscript_expression "local_174[0xe]" identifier [ number_literal ]) >> number_literal) & number_literal) )))) ;) (expression_statement "pr2serr("%u  low_ali_lba=%u\n",pcVar18,psVar20);" (call_expression "pr2serr("%u  low_ali_lba=%u\n",pcVar18,psVar20)" identifier (argument_list "("%u  low_ali_lba=%u\n",pcVar18,psVar20)" ( (string_literal ""%u  low_ali_lba=%u\n"" " string_content escape_sequence ") , identifier , identifier ))) ;) (expression_statement "psVar26 = extraout_EDX_04;" (assignment_expression "psVar26 = extraout_EDX_04" identifier = identifier) ;) }))) }) (else_clause "else {\n      if (((int)local_908 - 5U & 0xfffffffb) != 0) {\n        if (psVar11 != (stat64 *)0x0) {\n          puVar48 = local_174 + 0x50;\n          psVar29 = (stat64 *)"OS error";\n          puVar33 = puVar48;\n          for (iVar17 = 9; iVar17 != 0; iVar17 = iVar17 + -1) {\n            *puVar33 = (char)psVar29->st_dev;\n            psVar29 = (stat64 *)((int)psVar29 + (uint)bVar37 * -2 + 1);\n            puVar33 = puVar33 + (uint)bVar37 * -2 + 1;\n          }\n          psVar41 = local_908;\n          if (0 < (int)local_908) {\n            psVar41 = (stat64 *)sg_get_category_sense_str(local_908,0x50,puVar48,psVar11);\n          }\n          pr2serr("Read capacity(16): %s\n",puVar48,psVar41,psVar41);\n          pr2serr("Unable to calculate block size\n");\n        }\n        if (0 < (int)local_908) goto LAB_00012354;\n        goto LAB_00012ef5;\n      }\n      if (psVar11 == (stat64 *)0x0) {\n        pcVar18 = (char *)0x1;\n        uVar38 = sg_ll_readcap_10(local_930,0,0,psVar26,8,1,psVar20,psVar27);\n        psVar26 = (stat64 *)((ulonglong)uVar38 >> 0x20);\n        local_908 = (stat64 *)uVar38;\n        psVar12 = psVar27;\n        if (local_908 != (stat64 *)0x0) {\nLAB_00013444:\n          puVar48 = local_174 + 0x50;\n          psVar29 = (stat64 *)"OS error";\n          puVar33 = puVar48;\n          for (iVar17 = 9; iVar17 != 0; iVar17 = iVar17 + -1) {\n            *puVar33 = (char)psVar29->st_dev;\n            psVar29 = (stat64 *)((int)psVar29 + (uint)bVar37 * -2 + 1);\n            puVar33 = puVar33 + (uint)bVar37 * -2 + 1;\n          }\n          if (0 < (int)local_908) {\n            sg_get_category_sense_str(local_908,0x50,puVar48,psVar11);\n            pr2serr("Read capacity(10): %s\n",puVar48);\n            pr2serr("Unable to calculate block size\n");\n            goto LAB_00012354;\n          }\n          __snprintf_chk(puVar48,0x50,1,0x50,"error: %d",local_908,local_908,local_908);\n          pr2serr("Read capacity(10): %s\n",puVar48);\n          pr2serr("Unable to calculate block size\n");\n          local_908 = (stat64 *)0xf;\n          goto LAB_00012354;\n        }\n      }\n      else {\n        psVar29 = psVar26;\n        pr2serr("Read capacity(16) not supported, try Read capacity(10)\n");\n        pcVar18 = (char *)0x1;\n        uVar38 = sg_ll_readcap_10(local_930,0,0,psVar29,8,1,psVar20);\n        psVar26 = (stat64 *)((ulonglong)uVar38 >> 0x20);\n        local_908 = (stat64 *)uVar38;\n        if (local_908 != (stat64 *)0x0) goto LAB_00013444;\n        if (3 < (int)psVar11) {\n          pr2serr("Read capacity(10) response:\n");\n          psVar20 = (stat64 *)0x1;\n          pcVar18 = (char *)0x8;\n          hex2stderr(psVar29,8,1);\n          psVar26 = extraout_EDX_03;\n        }\n      }\n      local_7a8 = 0;\n      local_7ac = ((uint)local_174._0_4_ >> 0x18 | (local_174._0_4_ & 0xff0000) >> 8 |\n                   (local_174._0_4_ & 0xff00) << 8 | local_174._0_4_ << 0x18) + 1;\n      local_820._72_4_ =\n           (uint)local_174._4_4_ >> 0x18 | (local_174._4_4_ & 0xff0000) >> 8 |\n           (local_174._4_4_ & 0xff00) << 8 | local_174._4_4_ << 0x18;\n    }" else (compound_statement "{\n      if (((int)local_908 - 5U & 0xfffffffb) != 0) {\n        if (psVar11 != (stat64 *)0x0) {\n          puVar48 = local_174 + 0x50;\n          psVar29 = (stat64 *)"OS error";\n          puVar33 = puVar48;\n          for (iVar17 = 9; iVar17 != 0; iVar17 = iVar17 + -1) {\n            *puVar33 = (char)psVar29->st_dev;\n            psVar29 = (stat64 *)((int)psVar29 + (uint)bVar37 * -2 + 1);\n            puVar33 = puVar33 + (uint)bVar37 * -2 + 1;\n          }\n          psVar41 = local_908;\n          if (0 < (int)local_908) {\n            psVar41 = (stat64 *)sg_get_category_sense_str(local_908,0x50,puVar48,psVar11);\n          }\n          pr2serr("Read capacity(16): %s\n",puVar48,psVar41,psVar41);\n          pr2serr("Unable to calculate block size\n");\n        }\n        if (0 < (int)local_908) goto LAB_00012354;\n        goto LAB_00012ef5;\n      }\n      if (psVar11 == (stat64 *)0x0) {\n        pcVar18 = (char *)0x1;\n        uVar38 = sg_ll_readcap_10(local_930,0,0,psVar26,8,1,psVar20,psVar27);\n        psVar26 = (stat64 *)((ulonglong)uVar38 >> 0x20);\n        local_908 = (stat64 *)uVar38;\n        psVar12 = psVar27;\n        if (local_908 != (stat64 *)0x0) {\nLAB_00013444:\n          puVar48 = local_174 + 0x50;\n          psVar29 = (stat64 *)"OS error";\n          puVar33 = puVar48;\n          for (iVar17 = 9; iVar17 != 0; iVar17 = iVar17 + -1) {\n            *puVar33 = (char)psVar29->st_dev;\n            psVar29 = (stat64 *)((int)psVar29 + (uint)bVar37 * -2 + 1);\n            puVar33 = puVar33 + (uint)bVar37 * -2 + 1;\n          }\n          if (0 < (int)local_908) {\n            sg_get_category_sense_str(local_908,0x50,puVar48,psVar11);\n            pr2serr("Read capacity(10): %s\n",puVar48);\n            pr2serr("Unable to calculate block size\n");\n            goto LAB_00012354;\n          }\n          __snprintf_chk(puVar48,0x50,1,0x50,"error: %d",local_908,local_908,local_908);\n          pr2serr("Read capacity(10): %s\n",puVar48);\n          pr2serr("Unable to calculate block size\n");\n          local_908 = (stat64 *)0xf;\n          goto LAB_00012354;\n        }\n      }\n      else {\n        psVar29 = psVar26;\n        pr2serr("Read capacity(16) not supported, try Read capacity(10)\n");\n        pcVar18 = (char *)0x1;\n        uVar38 = sg_ll_readcap_10(local_930,0,0,psVar29,8,1,psVar20);\n        psVar26 = (stat64 *)((ulonglong)uVar38 >> 0x20);\n        local_908 = (stat64 *)uVar38;\n        if (local_908 != (stat64 *)0x0) goto LAB_00013444;\n        if (3 < (int)psVar11) {\n          pr2serr("Read capacity(10) response:\n");\n          psVar20 = (stat64 *)0x1;\n          pcVar18 = (char *)0x8;\n          hex2stderr(psVar29,8,1);\n          psVar26 = extraout_EDX_03;\n        }\n      }\n      local_7a8 = 0;\n      local_7ac = ((uint)local_174._0_4_ >> 0x18 | (local_174._0_4_ & 0xff0000) >> 8 |\n                   (local_174._0_4_ & 0xff00) << 8 | local_174._0_4_ << 0x18) + 1;\n      local_820._72_4_ =\n           (uint)local_174._4_4_ >> 0x18 | (local_174._4_4_ & 0xff0000) >> 8 |\n           (local_174._4_4_ & 0xff00) << 8 | local_174._4_4_ << 0x18;\n    }" { (if_statement "if (((int)local_908 - 5U & 0xfffffffb) != 0) {\n        if (psVar11 != (stat64 *)0x0) {\n          puVar48 = local_174 + 0x50;\n          psVar29 = (stat64 *)"OS error";\n          puVar33 = puVar48;\n          for (iVar17 = 9; iVar17 != 0; iVar17 = iVar17 + -1) {\n            *puVar33 = (char)psVar29->st_dev;\n            psVar29 = (stat64 *)((int)psVar29 + (uint)bVar37 * -2 + 1);\n            puVar33 = puVar33 + (uint)bVar37 * -2 + 1;\n          }\n          psVar41 = local_908;\n          if (0 < (int)local_908) {\n            psVar41 = (stat64 *)sg_get_category_sense_str(local_908,0x50,puVar48,psVar11);\n          }\n          pr2serr("Read capacity(16): %s\n",puVar48,psVar41,psVar41);\n          pr2serr("Unable to calculate block size\n");\n        }\n        if (0 < (int)local_908) goto LAB_00012354;\n        goto LAB_00012ef5;\n      }" if (parenthesized_expression "(((int)local_908 - 5U & 0xfffffffb) != 0)" ( (binary_expression "((int)local_908 - 5U & 0xfffffffb) != 0" (parenthesized_expression "((int)local_908 - 5U & 0xfffffffb)" ( (binary_expression "(int)local_908 - 5U & 0xfffffffb" (binary_expression "(int)local_908 - 5U" (cast_expression "(int)local_908" ( (type_descriptor "int" primitive_type) ) identifier) - number_literal) & number_literal) )) != number_literal) )) (compound_statement "{\n        if (psVar11 != (stat64 *)0x0) {\n          puVar48 = local_174 + 0x50;\n          psVar29 = (stat64 *)"OS error";\n          puVar33 = puVar48;\n          for (iVar17 = 9; iVar17 != 0; iVar17 = iVar17 + -1) {\n            *puVar33 = (char)psVar29->st_dev;\n            psVar29 = (stat64 *)((int)psVar29 + (uint)bVar37 * -2 + 1);\n            puVar33 = puVar33 + (uint)bVar37 * -2 + 1;\n          }\n          psVar41 = local_908;\n          if (0 < (int)local_908) {\n            psVar41 = (stat64 *)sg_get_category_sense_str(local_908,0x50,puVar48,psVar11);\n          }\n          pr2serr("Read capacity(16): %s\n",puVar48,psVar41,psVar41);\n          pr2serr("Unable to calculate block size\n");\n        }\n        if (0 < (int)local_908) goto LAB_00012354;\n        goto LAB_00012ef5;\n      }" { (if_statement "if (psVar11 != (stat64 *)0x0) {\n          puVar48 = local_174 + 0x50;\n          psVar29 = (stat64 *)"OS error";\n          puVar33 = puVar48;\n          for (iVar17 = 9; iVar17 != 0; iVar17 = iVar17 + -1) {\n            *puVar33 = (char)psVar29->st_dev;\n            psVar29 = (stat64 *)((int)psVar29 + (uint)bVar37 * -2 + 1);\n            puVar33 = puVar33 + (uint)bVar37 * -2 + 1;\n          }\n          psVar41 = local_908;\n          if (0 < (int)local_908) {\n            psVar41 = (stat64 *)sg_get_category_sense_str(local_908,0x50,puVar48,psVar11);\n          }\n          pr2serr("Read capacity(16): %s\n",puVar48,psVar41,psVar41);\n          pr2serr("Unable to calculate block size\n");\n        }" if (parenthesized_expression "(psVar11 != (stat64 *)0x0)" ( (binary_expression "psVar11 != (stat64 *)0x0" identifier != (cast_expression "(stat64 *)0x0" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n          puVar48 = local_174 + 0x50;\n          psVar29 = (stat64 *)"OS error";\n          puVar33 = puVar48;\n          for (iVar17 = 9; iVar17 != 0; iVar17 = iVar17 + -1) {\n            *puVar33 = (char)psVar29->st_dev;\n            psVar29 = (stat64 *)((int)psVar29 + (uint)bVar37 * -2 + 1);\n            puVar33 = puVar33 + (uint)bVar37 * -2 + 1;\n          }\n          psVar41 = local_908;\n          if (0 < (int)local_908) {\n            psVar41 = (stat64 *)sg_get_category_sense_str(local_908,0x50,puVar48,psVar11);\n          }\n          pr2serr("Read capacity(16): %s\n",puVar48,psVar41,psVar41);\n          pr2serr("Unable to calculate block size\n");\n        }" { (expression_statement "puVar48 = local_174 + 0x50;" (assignment_expression "puVar48 = local_174 + 0x50" identifier = (binary_expression "local_174 + 0x50" identifier + number_literal)) ;) (expression_statement "psVar29 = (stat64 *)"OS error";" (assignment_expression "psVar29 = (stat64 *)"OS error"" identifier = (cast_expression "(stat64 *)"OS error"" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) (string_literal ""OS error"" " string_content "))) ;) (expression_statement "puVar33 = puVar48;" (assignment_expression "puVar33 = puVar48" identifier = identifier) ;) (for_statement "for (iVar17 = 9; iVar17 != 0; iVar17 = iVar17 + -1) {\n            *puVar33 = (char)psVar29->st_dev;\n            psVar29 = (stat64 *)((int)psVar29 + (uint)bVar37 * -2 + 1);\n            puVar33 = puVar33 + (uint)bVar37 * -2 + 1;\n          }" for ( (assignment_expression "iVar17 = 9" identifier = number_literal) ; (binary_expression "iVar17 != 0" identifier != number_literal) ; (assignment_expression "iVar17 = iVar17 + -1" identifier = (binary_expression "iVar17 + -1" identifier + number_literal)) ) (compound_statement "{\n            *puVar33 = (char)psVar29->st_dev;\n            psVar29 = (stat64 *)((int)psVar29 + (uint)bVar37 * -2 + 1);\n            puVar33 = puVar33 + (uint)bVar37 * -2 + 1;\n          }" { (expression_statement "*puVar33 = (char)psVar29->st_dev;" (assignment_expression "*puVar33 = (char)psVar29->st_dev" (pointer_expression "*puVar33" * identifier) = (cast_expression "(char)psVar29->st_dev" ( (type_descriptor "char" primitive_type) ) (field_expression "psVar29->st_dev" identifier -> field_identifier))) ;) (expression_statement "psVar29 = (stat64 *)((int)psVar29 + (uint)bVar37 * -2 + 1);" (assignment_expression "psVar29 = (stat64 *)((int)psVar29 + (uint)bVar37 * -2 + 1)" identifier = (cast_expression "(stat64 *)((int)psVar29 + (uint)bVar37 * -2 + 1)" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)psVar29 + (uint)bVar37 * -2 + 1)" ( (binary_expression "(int)psVar29 + (uint)bVar37 * -2 + 1" (binary_expression "(int)psVar29 + (uint)bVar37 * -2" (cast_expression "(int)psVar29" ( (type_descriptor "int" primitive_type) ) identifier) + (binary_expression "(uint)bVar37 * -2" (cast_expression "(uint)bVar37" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal) )))) ;) (expression_statement "puVar33 = puVar33 + (uint)bVar37 * -2 + 1;" (assignment_expression "puVar33 = puVar33 + (uint)bVar37 * -2 + 1" identifier = (binary_expression "puVar33 + (uint)bVar37 * -2 + 1" (binary_expression "puVar33 + (uint)bVar37 * -2" identifier + (binary_expression "(uint)bVar37 * -2" (cast_expression "(uint)bVar37" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) })) (expression_statement "psVar41 = local_908;" (assignment_expression "psVar41 = local_908" identifier = identifier) ;) (if_statement "if (0 < (int)local_908) {\n            psVar41 = (stat64 *)sg_get_category_sense_str(local_908,0x50,puVar48,psVar11);\n          }" if (parenthesized_expression "(0 < (int)local_908)" ( (binary_expression "0 < (int)local_908" number_literal < (cast_expression "(int)local_908" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n            psVar41 = (stat64 *)sg_get_category_sense_str(local_908,0x50,puVar48,psVar11);\n          }" { (expression_statement "psVar41 = (stat64 *)sg_get_category_sense_str(local_908,0x50,puVar48,psVar11);" (assignment_expression "psVar41 = (stat64 *)sg_get_category_sense_str(local_908,0x50,puVar48,psVar11)" identifier = (cast_expression "(stat64 *)sg_get_category_sense_str(local_908,0x50,puVar48,psVar11)" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "sg_get_category_sense_str(local_908,0x50,puVar48,psVar11)" identifier (argument_list "(local_908,0x50,puVar48,psVar11)" ( identifier , number_literal , identifier , identifier ))))) ;) })) (expression_statement "pr2serr("Read capacity(16): %s\n",puVar48,psVar41,psVar41);" (call_expression "pr2serr("Read capacity(16): %s\n",puVar48,psVar41,psVar41)" identifier (argument_list "("Read capacity(16): %s\n",puVar48,psVar41,psVar41)" ( (string_literal ""Read capacity(16): %s\n"" " string_content escape_sequence ") , identifier , identifier , identifier ))) ;) (expression_statement "pr2serr("Unable to calculate block size\n");" (call_expression "pr2serr("Unable to calculate block size\n")" identifier (argument_list "("Unable to calculate block size\n")" ( (string_literal ""Unable to calculate block size\n"" " string_content escape_sequence ") ))) ;) })) (if_statement "if (0 < (int)local_908) goto LAB_00012354;" if (parenthesized_expression "(0 < (int)local_908)" ( (binary_expression "0 < (int)local_908" number_literal < (cast_expression "(int)local_908" ( (type_descriptor "int" primitive_type) ) identifier)) )) (goto_statement "goto LAB_00012354;" goto statement_identifier ;)) (goto_statement "goto LAB_00012ef5;" goto statement_identifier ;) })) (if_statement "if (psVar11 == (stat64 *)0x0) {\n        pcVar18 = (char *)0x1;\n        uVar38 = sg_ll_readcap_10(local_930,0,0,psVar26,8,1,psVar20,psVar27);\n        psVar26 = (stat64 *)((ulonglong)uVar38 >> 0x20);\n        local_908 = (stat64 *)uVar38;\n        psVar12 = psVar27;\n        if (local_908 != (stat64 *)0x0) {\nLAB_00013444:\n          puVar48 = local_174 + 0x50;\n          psVar29 = (stat64 *)"OS error";\n          puVar33 = puVar48;\n          for (iVar17 = 9; iVar17 != 0; iVar17 = iVar17 + -1) {\n            *puVar33 = (char)psVar29->st_dev;\n            psVar29 = (stat64 *)((int)psVar29 + (uint)bVar37 * -2 + 1);\n            puVar33 = puVar33 + (uint)bVar37 * -2 + 1;\n          }\n          if (0 < (int)local_908) {\n            sg_get_category_sense_str(local_908,0x50,puVar48,psVar11);\n            pr2serr("Read capacity(10): %s\n",puVar48);\n            pr2serr("Unable to calculate block size\n");\n            goto LAB_00012354;\n          }\n          __snprintf_chk(puVar48,0x50,1,0x50,"error: %d",local_908,local_908,local_908);\n          pr2serr("Read capacity(10): %s\n",puVar48);\n          pr2serr("Unable to calculate block size\n");\n          local_908 = (stat64 *)0xf;\n          goto LAB_00012354;\n        }\n      }\n      else {\n        psVar29 = psVar26;\n        pr2serr("Read capacity(16) not supported, try Read capacity(10)\n");\n        pcVar18 = (char *)0x1;\n        uVar38 = sg_ll_readcap_10(local_930,0,0,psVar29,8,1,psVar20);\n        psVar26 = (stat64 *)((ulonglong)uVar38 >> 0x20);\n        local_908 = (stat64 *)uVar38;\n        if (local_908 != (stat64 *)0x0) goto LAB_00013444;\n        if (3 < (int)psVar11) {\n          pr2serr("Read capacity(10) response:\n");\n          psVar20 = (stat64 *)0x1;\n          pcVar18 = (char *)0x8;\n          hex2stderr(psVar29,8,1);\n          psVar26 = extraout_EDX_03;\n        }\n      }" if (parenthesized_expression "(psVar11 == (stat64 *)0x0)" ( (binary_expression "psVar11 == (stat64 *)0x0" identifier == (cast_expression "(stat64 *)0x0" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        pcVar18 = (char *)0x1;\n        uVar38 = sg_ll_readcap_10(local_930,0,0,psVar26,8,1,psVar20,psVar27);\n        psVar26 = (stat64 *)((ulonglong)uVar38 >> 0x20);\n        local_908 = (stat64 *)uVar38;\n        psVar12 = psVar27;\n        if (local_908 != (stat64 *)0x0) {\nLAB_00013444:\n          puVar48 = local_174 + 0x50;\n          psVar29 = (stat64 *)"OS error";\n          puVar33 = puVar48;\n          for (iVar17 = 9; iVar17 != 0; iVar17 = iVar17 + -1) {\n            *puVar33 = (char)psVar29->st_dev;\n            psVar29 = (stat64 *)((int)psVar29 + (uint)bVar37 * -2 + 1);\n            puVar33 = puVar33 + (uint)bVar37 * -2 + 1;\n          }\n          if (0 < (int)local_908) {\n            sg_get_category_sense_str(local_908,0x50,puVar48,psVar11);\n            pr2serr("Read capacity(10): %s\n",puVar48);\n            pr2serr("Unable to calculate block size\n");\n            goto LAB_00012354;\n          }\n          __snprintf_chk(puVar48,0x50,1,0x50,"error: %d",local_908,local_908,local_908);\n          pr2serr("Read capacity(10): %s\n",puVar48);\n          pr2serr("Unable to calculate block size\n");\n          local_908 = (stat64 *)0xf;\n          goto LAB_00012354;\n        }\n      }" { (expression_statement "pcVar18 = (char *)0x1;" (assignment_expression "pcVar18 = (char *)0x1" identifier = (cast_expression "(char *)0x1" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "uVar38 = sg_ll_readcap_10(local_930,0,0,psVar26,8,1,psVar20,psVar27);" (assignment_expression "uVar38 = sg_ll_readcap_10(local_930,0,0,psVar26,8,1,psVar20,psVar27)" identifier = (call_expression "sg_ll_readcap_10(local_930,0,0,psVar26,8,1,psVar20,psVar27)" identifier (argument_list "(local_930,0,0,psVar26,8,1,psVar20,psVar27)" ( identifier , number_literal , number_literal , identifier , number_literal , number_literal , identifier , identifier )))) ;) (expression_statement "psVar26 = (stat64 *)((ulonglong)uVar38 >> 0x20);" (assignment_expression "psVar26 = (stat64 *)((ulonglong)uVar38 >> 0x20)" identifier = (cast_expression "(stat64 *)((ulonglong)uVar38 >> 0x20)" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((ulonglong)uVar38 >> 0x20)" ( (binary_expression "(ulonglong)uVar38 >> 0x20" (cast_expression "(ulonglong)uVar38" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) )))) ;) (expression_statement "local_908 = (stat64 *)uVar38;" (assignment_expression "local_908 = (stat64 *)uVar38" identifier = (cast_expression "(stat64 *)uVar38" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "psVar12 = psVar27;" (assignment_expression "psVar12 = psVar27" identifier = identifier) ;) (if_statement "if (local_908 != (stat64 *)0x0) {\nLAB_00013444:\n          puVar48 = local_174 + 0x50;\n          psVar29 = (stat64 *)"OS error";\n          puVar33 = puVar48;\n          for (iVar17 = 9; iVar17 != 0; iVar17 = iVar17 + -1) {\n            *puVar33 = (char)psVar29->st_dev;\n            psVar29 = (stat64 *)((int)psVar29 + (uint)bVar37 * -2 + 1);\n            puVar33 = puVar33 + (uint)bVar37 * -2 + 1;\n          }\n          if (0 < (int)local_908) {\n            sg_get_category_sense_str(local_908,0x50,puVar48,psVar11);\n            pr2serr("Read capacity(10): %s\n",puVar48);\n            pr2serr("Unable to calculate block size\n");\n            goto LAB_00012354;\n          }\n          __snprintf_chk(puVar48,0x50,1,0x50,"error: %d",local_908,local_908,local_908);\n          pr2serr("Read capacity(10): %s\n",puVar48);\n          pr2serr("Unable to calculate block size\n");\n          local_908 = (stat64 *)0xf;\n          goto LAB_00012354;\n        }" if (parenthesized_expression "(local_908 != (stat64 *)0x0)" ( (binary_expression "local_908 != (stat64 *)0x0" identifier != (cast_expression "(stat64 *)0x0" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\nLAB_00013444:\n          puVar48 = local_174 + 0x50;\n          psVar29 = (stat64 *)"OS error";\n          puVar33 = puVar48;\n          for (iVar17 = 9; iVar17 != 0; iVar17 = iVar17 + -1) {\n            *puVar33 = (char)psVar29->st_dev;\n            psVar29 = (stat64 *)((int)psVar29 + (uint)bVar37 * -2 + 1);\n            puVar33 = puVar33 + (uint)bVar37 * -2 + 1;\n          }\n          if (0 < (int)local_908) {\n            sg_get_category_sense_str(local_908,0x50,puVar48,psVar11);\n            pr2serr("Read capacity(10): %s\n",puVar48);\n            pr2serr("Unable to calculate block size\n");\n            goto LAB_00012354;\n          }\n          __snprintf_chk(puVar48,0x50,1,0x50,"error: %d",local_908,local_908,local_908);\n          pr2serr("Read capacity(10): %s\n",puVar48);\n          pr2serr("Unable to calculate block size\n");\n          local_908 = (stat64 *)0xf;\n          goto LAB_00012354;\n        }" { (labeled_statement "LAB_00013444:\n          puVar48 = local_174 + 0x50;" statement_identifier : (expression_statement "puVar48 = local_174 + 0x50;" (assignment_expression "puVar48 = local_174 + 0x50" identifier = (binary_expression "local_174 + 0x50" identifier + number_literal)) ;)) (expression_statement "psVar29 = (stat64 *)"OS error";" (assignment_expression "psVar29 = (stat64 *)"OS error"" identifier = (cast_expression "(stat64 *)"OS error"" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) (string_literal ""OS error"" " string_content "))) ;) (expression_statement "puVar33 = puVar48;" (assignment_expression "puVar33 = puVar48" identifier = identifier) ;) (for_statement "for (iVar17 = 9; iVar17 != 0; iVar17 = iVar17 + -1) {\n            *puVar33 = (char)psVar29->st_dev;\n            psVar29 = (stat64 *)((int)psVar29 + (uint)bVar37 * -2 + 1);\n            puVar33 = puVar33 + (uint)bVar37 * -2 + 1;\n          }" for ( (assignment_expression "iVar17 = 9" identifier = number_literal) ; (binary_expression "iVar17 != 0" identifier != number_literal) ; (assignment_expression "iVar17 = iVar17 + -1" identifier = (binary_expression "iVar17 + -1" identifier + number_literal)) ) (compound_statement "{\n            *puVar33 = (char)psVar29->st_dev;\n            psVar29 = (stat64 *)((int)psVar29 + (uint)bVar37 * -2 + 1);\n            puVar33 = puVar33 + (uint)bVar37 * -2 + 1;\n          }" { (expression_statement "*puVar33 = (char)psVar29->st_dev;" (assignment_expression "*puVar33 = (char)psVar29->st_dev" (pointer_expression "*puVar33" * identifier) = (cast_expression "(char)psVar29->st_dev" ( (type_descriptor "char" primitive_type) ) (field_expression "psVar29->st_dev" identifier -> field_identifier))) ;) (expression_statement "psVar29 = (stat64 *)((int)psVar29 + (uint)bVar37 * -2 + 1);" (assignment_expression "psVar29 = (stat64 *)((int)psVar29 + (uint)bVar37 * -2 + 1)" identifier = (cast_expression "(stat64 *)((int)psVar29 + (uint)bVar37 * -2 + 1)" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)psVar29 + (uint)bVar37 * -2 + 1)" ( (binary_expression "(int)psVar29 + (uint)bVar37 * -2 + 1" (binary_expression "(int)psVar29 + (uint)bVar37 * -2" (cast_expression "(int)psVar29" ( (type_descriptor "int" primitive_type) ) identifier) + (binary_expression "(uint)bVar37 * -2" (cast_expression "(uint)bVar37" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal) )))) ;) (expression_statement "puVar33 = puVar33 + (uint)bVar37 * -2 + 1;" (assignment_expression "puVar33 = puVar33 + (uint)bVar37 * -2 + 1" identifier = (binary_expression "puVar33 + (uint)bVar37 * -2 + 1" (binary_expression "puVar33 + (uint)bVar37 * -2" identifier + (binary_expression "(uint)bVar37 * -2" (cast_expression "(uint)bVar37" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) })) (if_statement "if (0 < (int)local_908) {\n            sg_get_category_sense_str(local_908,0x50,puVar48,psVar11);\n            pr2serr("Read capacity(10): %s\n",puVar48);\n            pr2serr("Unable to calculate block size\n");\n            goto LAB_00012354;\n          }" if (parenthesized_expression "(0 < (int)local_908)" ( (binary_expression "0 < (int)local_908" number_literal < (cast_expression "(int)local_908" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n            sg_get_category_sense_str(local_908,0x50,puVar48,psVar11);\n            pr2serr("Read capacity(10): %s\n",puVar48);\n            pr2serr("Unable to calculate block size\n");\n            goto LAB_00012354;\n          }" { (expression_statement "sg_get_category_sense_str(local_908,0x50,puVar48,psVar11);" (call_expression "sg_get_category_sense_str(local_908,0x50,puVar48,psVar11)" identifier (argument_list "(local_908,0x50,puVar48,psVar11)" ( identifier , number_literal , identifier , identifier ))) ;) (expression_statement "pr2serr("Read capacity(10): %s\n",puVar48);" (call_expression "pr2serr("Read capacity(10): %s\n",puVar48)" identifier (argument_list "("Read capacity(10): %s\n",puVar48)" ( (string_literal ""Read capacity(10): %s\n"" " string_content escape_sequence ") , identifier ))) ;) (expression_statement "pr2serr("Unable to calculate block size\n");" (call_expression "pr2serr("Unable to calculate block size\n")" identifier (argument_list "("Unable to calculate block size\n")" ( (string_literal ""Unable to calculate block size\n"" " string_content escape_sequence ") ))) ;) (goto_statement "goto LAB_00012354;" goto statement_identifier ;) })) (expression_statement "__snprintf_chk(puVar48,0x50,1,0x50,"error: %d",local_908,local_908,local_908);" (call_expression "__snprintf_chk(puVar48,0x50,1,0x50,"error: %d",local_908,local_908,local_908)" identifier (argument_list "(puVar48,0x50,1,0x50,"error: %d",local_908,local_908,local_908)" ( identifier , number_literal , number_literal , number_literal , (string_literal ""error: %d"" " string_content ") , identifier , identifier , identifier ))) ;) (expression_statement "pr2serr("Read capacity(10): %s\n",puVar48);" (call_expression "pr2serr("Read capacity(10): %s\n",puVar48)" identifier (argument_list "("Read capacity(10): %s\n",puVar48)" ( (string_literal ""Read capacity(10): %s\n"" " string_content escape_sequence ") , identifier ))) ;) (expression_statement "pr2serr("Unable to calculate block size\n");" (call_expression "pr2serr("Unable to calculate block size\n")" identifier (argument_list "("Unable to calculate block size\n")" ( (string_literal ""Unable to calculate block size\n"" " string_content escape_sequence ") ))) ;) (expression_statement "local_908 = (stat64 *)0xf;" (assignment_expression "local_908 = (stat64 *)0xf" identifier = (cast_expression "(stat64 *)0xf" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (goto_statement "goto LAB_00012354;" goto statement_identifier ;) })) }) (else_clause "else {\n        psVar29 = psVar26;\n        pr2serr("Read capacity(16) not supported, try Read capacity(10)\n");\n        pcVar18 = (char *)0x1;\n        uVar38 = sg_ll_readcap_10(local_930,0,0,psVar29,8,1,psVar20);\n        psVar26 = (stat64 *)((ulonglong)uVar38 >> 0x20);\n        local_908 = (stat64 *)uVar38;\n        if (local_908 != (stat64 *)0x0) goto LAB_00013444;\n        if (3 < (int)psVar11) {\n          pr2serr("Read capacity(10) response:\n");\n          psVar20 = (stat64 *)0x1;\n          pcVar18 = (char *)0x8;\n          hex2stderr(psVar29,8,1);\n          psVar26 = extraout_EDX_03;\n        }\n      }" else (compound_statement "{\n        psVar29 = psVar26;\n        pr2serr("Read capacity(16) not supported, try Read capacity(10)\n");\n        pcVar18 = (char *)0x1;\n        uVar38 = sg_ll_readcap_10(local_930,0,0,psVar29,8,1,psVar20);\n        psVar26 = (stat64 *)((ulonglong)uVar38 >> 0x20);\n        local_908 = (stat64 *)uVar38;\n        if (local_908 != (stat64 *)0x0) goto LAB_00013444;\n        if (3 < (int)psVar11) {\n          pr2serr("Read capacity(10) response:\n");\n          psVar20 = (stat64 *)0x1;\n          pcVar18 = (char *)0x8;\n          hex2stderr(psVar29,8,1);\n          psVar26 = extraout_EDX_03;\n        }\n      }" { (expression_statement "psVar29 = psVar26;" (assignment_expression "psVar29 = psVar26" identifier = identifier) ;) (expression_statement "pr2serr("Read capacity(16) not supported, try Read capacity(10)\n");" (call_expression "pr2serr("Read capacity(16) not supported, try Read capacity(10)\n")" identifier (argument_list "("Read capacity(16) not supported, try Read capacity(10)\n")" ( (string_literal ""Read capacity(16) not supported, try Read capacity(10)\n"" " string_content escape_sequence ") ))) ;) (expression_statement "pcVar18 = (char *)0x1;" (assignment_expression "pcVar18 = (char *)0x1" identifier = (cast_expression "(char *)0x1" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "uVar38 = sg_ll_readcap_10(local_930,0,0,psVar29,8,1,psVar20);" (assignment_expression "uVar38 = sg_ll_readcap_10(local_930,0,0,psVar29,8,1,psVar20)" identifier = (call_expression "sg_ll_readcap_10(local_930,0,0,psVar29,8,1,psVar20)" identifier (argument_list "(local_930,0,0,psVar29,8,1,psVar20)" ( identifier , number_literal , number_literal , identifier , number_literal , number_literal , identifier )))) ;) (expression_statement "psVar26 = (stat64 *)((ulonglong)uVar38 >> 0x20);" (assignment_expression "psVar26 = (stat64 *)((ulonglong)uVar38 >> 0x20)" identifier = (cast_expression "(stat64 *)((ulonglong)uVar38 >> 0x20)" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((ulonglong)uVar38 >> 0x20)" ( (binary_expression "(ulonglong)uVar38 >> 0x20" (cast_expression "(ulonglong)uVar38" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) )))) ;) (expression_statement "local_908 = (stat64 *)uVar38;" (assignment_expression "local_908 = (stat64 *)uVar38" identifier = (cast_expression "(stat64 *)uVar38" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (if_statement "if (local_908 != (stat64 *)0x0) goto LAB_00013444;" if (parenthesized_expression "(local_908 != (stat64 *)0x0)" ( (binary_expression "local_908 != (stat64 *)0x0" identifier != (cast_expression "(stat64 *)0x0" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_00013444;" goto statement_identifier ;)) (if_statement "if (3 < (int)psVar11) {\n          pr2serr("Read capacity(10) response:\n");\n          psVar20 = (stat64 *)0x1;\n          pcVar18 = (char *)0x8;\n          hex2stderr(psVar29,8,1);\n          psVar26 = extraout_EDX_03;\n        }" if (parenthesized_expression "(3 < (int)psVar11)" ( (binary_expression "3 < (int)psVar11" number_literal < (cast_expression "(int)psVar11" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n          pr2serr("Read capacity(10) response:\n");\n          psVar20 = (stat64 *)0x1;\n          pcVar18 = (char *)0x8;\n          hex2stderr(psVar29,8,1);\n          psVar26 = extraout_EDX_03;\n        }" { (expression_statement "pr2serr("Read capacity(10) response:\n");" (call_expression "pr2serr("Read capacity(10) response:\n")" identifier (argument_list "("Read capacity(10) response:\n")" ( (string_literal ""Read capacity(10) response:\n"" " string_content escape_sequence ") ))) ;) (expression_statement "psVar20 = (stat64 *)0x1;" (assignment_expression "psVar20 = (stat64 *)0x1" identifier = (cast_expression "(stat64 *)0x1" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "pcVar18 = (char *)0x8;" (assignment_expression "pcVar18 = (char *)0x8" identifier = (cast_expression "(char *)0x8" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "hex2stderr(psVar29,8,1);" (call_expression "hex2stderr(psVar29,8,1)" identifier (argument_list "(psVar29,8,1)" ( identifier , number_literal , number_literal ))) ;) (expression_statement "psVar26 = extraout_EDX_03;" (assignment_expression "psVar26 = extraout_EDX_03" identifier = identifier) ;) })) }))) (expression_statement "local_7a8 = 0;" (assignment_expression "local_7a8 = 0" identifier = number_literal) ;) (expression_statement "local_7ac = ((uint)local_174._0_4_ >> 0x18 | (local_174._0_4_ & 0xff0000) >> 8 |\n                   (local_174._0_4_ & 0xff00) << 8 | local_174._0_4_ << 0x18) + 1;" (assignment_expression "local_7ac = ((uint)local_174._0_4_ >> 0x18 | (local_174._0_4_ & 0xff0000) >> 8 |\n                   (local_174._0_4_ & 0xff00) << 8 | local_174._0_4_ << 0x18) + 1" identifier = (binary_expression "((uint)local_174._0_4_ >> 0x18 | (local_174._0_4_ & 0xff0000) >> 8 |\n                   (local_174._0_4_ & 0xff00) << 8 | local_174._0_4_ << 0x18) + 1" (parenthesized_expression "((uint)local_174._0_4_ >> 0x18 | (local_174._0_4_ & 0xff0000) >> 8 |\n                   (local_174._0_4_ & 0xff00) << 8 | local_174._0_4_ << 0x18)" ( (binary_expression "(uint)local_174._0_4_ >> 0x18 | (local_174._0_4_ & 0xff0000) >> 8 |\n                   (local_174._0_4_ & 0xff00) << 8 | local_174._0_4_ << 0x18" (binary_expression "(uint)local_174._0_4_ >> 0x18 | (local_174._0_4_ & 0xff0000) >> 8 |\n                   (local_174._0_4_ & 0xff00) << 8" (binary_expression "(uint)local_174._0_4_ >> 0x18 | (local_174._0_4_ & 0xff0000) >> 8" (binary_expression "(uint)local_174._0_4_ >> 0x18" (cast_expression "(uint)local_174._0_4_" ( (type_descriptor "uint" type_identifier) ) (field_expression "local_174._0_4_" identifier . field_identifier)) >> number_literal) | (binary_expression "(local_174._0_4_ & 0xff0000) >> 8" (parenthesized_expression "(local_174._0_4_ & 0xff0000)" ( (binary_expression "local_174._0_4_ & 0xff0000" (field_expression "local_174._0_4_" identifier . field_identifier) & number_literal) )) >> number_literal)) | (binary_expression "(local_174._0_4_ & 0xff00) << 8" (parenthesized_expression "(local_174._0_4_ & 0xff00)" ( (binary_expression "local_174._0_4_ & 0xff00" (field_expression "local_174._0_4_" identifier . field_identifier) & number_literal) )) << number_literal)) | (binary_expression "local_174._0_4_ << 0x18" (field_expression "local_174._0_4_" identifier . field_identifier) << number_literal)) )) + number_literal)) ;) (expression_statement "local_820._72_4_ =\n           (uint)local_174._4_4_ >> 0x18 | (local_174._4_4_ & 0xff0000) >> 8 |\n           (local_174._4_4_ & 0xff00) << 8 | local_174._4_4_ << 0x18;" (assignment_expression "local_820._72_4_ =\n           (uint)local_174._4_4_ >> 0x18 | (local_174._4_4_ & 0xff0000) >> 8 |\n           (local_174._4_4_ & 0xff00) << 8 | local_174._4_4_ << 0x18" (field_expression "local_820._72_4_" identifier . field_identifier) = (binary_expression "(uint)local_174._4_4_ >> 0x18 | (local_174._4_4_ & 0xff0000) >> 8 |\n           (local_174._4_4_ & 0xff00) << 8 | local_174._4_4_ << 0x18" (binary_expression "(uint)local_174._4_4_ >> 0x18 | (local_174._4_4_ & 0xff0000) >> 8 |\n           (local_174._4_4_ & 0xff00) << 8" (binary_expression "(uint)local_174._4_4_ >> 0x18 | (local_174._4_4_ & 0xff0000) >> 8" (binary_expression "(uint)local_174._4_4_ >> 0x18" (cast_expression "(uint)local_174._4_4_" ( (type_descriptor "uint" type_identifier) ) (field_expression "local_174._4_4_" identifier . field_identifier)) >> number_literal) | (binary_expression "(local_174._4_4_ & 0xff0000) >> 8" (parenthesized_expression "(local_174._4_4_ & 0xff0000)" ( (binary_expression "local_174._4_4_ & 0xff0000" (field_expression "local_174._4_4_" identifier . field_identifier) & number_literal) )) >> number_literal)) | (binary_expression "(local_174._4_4_ & 0xff00) << 8" (parenthesized_expression "(local_174._4_4_ & 0xff00)" ( (binary_expression "local_174._4_4_ & 0xff00" (field_expression "local_174._4_4_" identifier . field_identifier) & number_literal) )) << number_literal)) | (binary_expression "local_174._4_4_ << 0x18" (field_expression "local_174._4_4_" identifier . field_identifier) << number_literal))) ;) }))) (labeled_statement "LAB_00012312:\n    local_820._76_4_ = local_820._72_4_;" statement_identifier : (expression_statement "local_820._76_4_ = local_820._72_4_;" (assignment_expression "local_820._76_4_ = local_820._72_4_" (field_expression "local_820._76_4_" identifier . field_identifier) = (field_expression "local_820._72_4_" identifier . field_identifier)) ;)) (if_statement "if ((_Bool)local_820[0xd] != false) {\n      local_820._76_4_ = local_820._72_4_ + 8;\n    }" if (parenthesized_expression "((_Bool)local_820[0xd] != false)" ( (binary_expression "(_Bool)local_820[0xd] != false" (cast_expression "(_Bool)local_820[0xd]" ( (type_descriptor "_Bool" type_identifier) ) (subscript_expression "local_820[0xd]" identifier [ number_literal ])) != false) )) (compound_statement "{\n      local_820._76_4_ = local_820._72_4_ + 8;\n    }" { (expression_statement "local_820._76_4_ = local_820._72_4_ + 8;" (assignment_expression "local_820._76_4_ = local_820._72_4_ + 8" (field_expression "local_820._76_4_" identifier . field_identifier) = (binary_expression "local_820._72_4_ + 8" (field_expression "local_820._72_4_" identifier . field_identifier) + number_literal)) ;) })) (expression_statement "psVar11 = (stat64 *)local_820._76_4_;" (assignment_expression "psVar11 = (stat64 *)local_820._76_4_" identifier = (cast_expression "(stat64 *)local_820._76_4_" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "local_820._76_4_" identifier . field_identifier))) ;) (expression_statement "psVar14 = (stat64 *)local_820._72_4_;" (assignment_expression "psVar14 = (stat64 *)local_820._72_4_" identifier = (cast_expression "(stat64 *)local_820._72_4_" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "local_820._72_4_" identifier . field_identifier))) ;) (if_statement "if ((stat64 *)local_820._76_4_ == (stat64 *)0x0) goto LAB_00012338;" if (parenthesized_expression "((stat64 *)local_820._76_4_ == (stat64 *)0x0)" ( (binary_expression "(stat64 *)local_820._76_4_ == (stat64 *)0x0" (cast_expression "(stat64 *)local_820._76_4_" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "local_820._76_4_" identifier . field_identifier)) == (cast_expression "(stat64 *)0x0" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_00012338;" goto statement_identifier ;)) })) (expression_statement "local_820._76_4_ = psVar11;" (assignment_expression "local_820._76_4_ = psVar11" (field_expression "local_820._76_4_" identifier . field_identifier) = identifier) ;) (if_statement "if (psVar14 == (stat64 *)0x0) {\nLAB_00012338:\n    pr2serr("Logic error, need block size by now\n",pcVar18,psVar20);\n    local_908 = (stat64 *)0x1;\n    goto LAB_00012354;\n  }" if (parenthesized_expression "(psVar14 == (stat64 *)0x0)" ( (binary_expression "psVar14 == (stat64 *)0x0" identifier == (cast_expression "(stat64 *)0x0" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\nLAB_00012338:\n    pr2serr("Logic error, need block size by now\n",pcVar18,psVar20);\n    local_908 = (stat64 *)0x1;\n    goto LAB_00012354;\n  }" { (labeled_statement "LAB_00012338:\n    pr2serr("Logic error, need block size by now\n",pcVar18,psVar20);" statement_identifier : (expression_statement "pr2serr("Logic error, need block size by now\n",pcVar18,psVar20);" (call_expression "pr2serr("Logic error, need block size by now\n",pcVar18,psVar20)" identifier (argument_list "("Logic error, need block size by now\n",pcVar18,psVar20)" ( (string_literal ""Logic error, need block size by now\n"" " string_content escape_sequence ") , identifier , identifier ))) ;)) (expression_statement "local_908 = (stat64 *)0x1;" (assignment_expression "local_908 = (stat64 *)0x1" identifier = (cast_expression "(stat64 *)0x1" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (goto_statement "goto LAB_00012354;" goto statement_identifier ;) })) (if_statement "if ((local_820[0x10] == 0) &&\n     (psVar26 = (stat64 *)((uint)local_93c % (uint)psVar11), psVar26 != (stat64 *)0x0)) {\n    if (1 < (int)local_820._40_4_) {\n      pr2serr("Error: number of bytes to read from IF [%u] is not a multiple\nblock size %u (including protection information)\n"\n              ,local_93c,psVar11,local_820._40_4_);\n      local_908 = (stat64 *)0xf;\n      goto LAB_00012354;\n    }\n    psVar14 = (stat64 *)(local_820._40_4_ | uVar19);\n    if (psVar14 != (stat64 *)0x0) {\n      pcVar18 = (char *)local_93c;\n      pr2serr("Warning: number of bytes to read from IF [%u] is not a multiple\nof actual block size %u; pad with zeros\n"\n              ,local_93c,psVar11,psVar14);\n      psVar26 = extraout_EDX_02;\n      psVar20 = psVar11;\n      psVar12 = psVar14;\n    }\n  }" if (parenthesized_expression "((local_820[0x10] == 0) &&\n     (psVar26 = (stat64 *)((uint)local_93c % (uint)psVar11), psVar26 != (stat64 *)0x0))" ( (binary_expression "(local_820[0x10] == 0) &&\n     (psVar26 = (stat64 *)((uint)local_93c % (uint)psVar11), psVar26 != (stat64 *)0x0)" (parenthesized_expression "(local_820[0x10] == 0)" ( (binary_expression "local_820[0x10] == 0" (subscript_expression "local_820[0x10]" identifier [ number_literal ]) == number_literal) )) && (parenthesized_expression "(psVar26 = (stat64 *)((uint)local_93c % (uint)psVar11), psVar26 != (stat64 *)0x0)" ( (comma_expression "psVar26 = (stat64 *)((uint)local_93c % (uint)psVar11), psVar26 != (stat64 *)0x0" (assignment_expression "psVar26 = (stat64 *)((uint)local_93c % (uint)psVar11)" identifier = (cast_expression "(stat64 *)((uint)local_93c % (uint)psVar11)" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((uint)local_93c % (uint)psVar11)" ( (binary_expression "(uint)local_93c % (uint)psVar11" (cast_expression "(uint)local_93c" ( (type_descriptor "uint" type_identifier) ) identifier) % (cast_expression "(uint)psVar11" ( (type_descriptor "uint" type_identifier) ) identifier)) )))) , (binary_expression "psVar26 != (stat64 *)0x0" identifier != (cast_expression "(stat64 *)0x0" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal))) ))) )) (compound_statement "{\n    if (1 < (int)local_820._40_4_) {\n      pr2serr("Error: number of bytes to read from IF [%u] is not a multiple\nblock size %u (including protection information)\n"\n              ,local_93c,psVar11,local_820._40_4_);\n      local_908 = (stat64 *)0xf;\n      goto LAB_00012354;\n    }\n    psVar14 = (stat64 *)(local_820._40_4_ | uVar19);\n    if (psVar14 != (stat64 *)0x0) {\n      pcVar18 = (char *)local_93c;\n      pr2serr("Warning: number of bytes to read from IF [%u] is not a multiple\nof actual block size %u; pad with zeros\n"\n              ,local_93c,psVar11,psVar14);\n      psVar26 = extraout_EDX_02;\n      psVar20 = psVar11;\n      psVar12 = psVar14;\n    }\n  }" { (if_statement "if (1 < (int)local_820._40_4_) {\n      pr2serr("Error: number of bytes to read from IF [%u] is not a multiple\nblock size %u (including protection information)\n"\n              ,local_93c,psVar11,local_820._40_4_);\n      local_908 = (stat64 *)0xf;\n      goto LAB_00012354;\n    }" if (parenthesized_expression "(1 < (int)local_820._40_4_)" ( (binary_expression "1 < (int)local_820._40_4_" number_literal < (cast_expression "(int)local_820._40_4_" ( (type_descriptor "int" primitive_type) ) (field_expression "local_820._40_4_" identifier . field_identifier))) )) (compound_statement "{\n      pr2serr("Error: number of bytes to read from IF [%u] is not a multiple\nblock size %u (including protection information)\n"\n              ,local_93c,psVar11,local_820._40_4_);\n      local_908 = (stat64 *)0xf;\n      goto LAB_00012354;\n    }" { (expression_statement "pr2serr("Error: number of bytes to read from IF [%u] is not a multiple\nblock size %u (including protection information)\n"\n              ,local_93c,psVar11,local_820._40_4_);" (call_expression "pr2serr("Error: number of bytes to read from IF [%u] is not a multiple\nblock size %u (including protection information)\n"\n              ,local_93c,psVar11,local_820._40_4_)" identifier (argument_list "("Error: number of bytes to read from IF [%u] is not a multiple\nblock size %u (including protection information)\n"\n              ,local_93c,psVar11,local_820._40_4_)" ( (string_literal ""Error: number of bytes to read from IF [%u] is not a multiple\nblock size %u (including protection information)\n"" " string_content escape_sequence string_content escape_sequence ") , identifier , identifier , (field_expression "local_820._40_4_" identifier . field_identifier) ))) ;) (expression_statement "local_908 = (stat64 *)0xf;" (assignment_expression "local_908 = (stat64 *)0xf" identifier = (cast_expression "(stat64 *)0xf" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (goto_statement "goto LAB_00012354;" goto statement_identifier ;) })) (expression_statement "psVar14 = (stat64 *)(local_820._40_4_ | uVar19);" (assignment_expression "psVar14 = (stat64 *)(local_820._40_4_ | uVar19)" identifier = (cast_expression "(stat64 *)(local_820._40_4_ | uVar19)" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_820._40_4_ | uVar19)" ( (binary_expression "local_820._40_4_ | uVar19" (field_expression "local_820._40_4_" identifier . field_identifier) | identifier) )))) ;) (if_statement "if (psVar14 != (stat64 *)0x0) {\n      pcVar18 = (char *)local_93c;\n      pr2serr("Warning: number of bytes to read from IF [%u] is not a multiple\nof actual block size %u; pad with zeros\n"\n              ,local_93c,psVar11,psVar14);\n      psVar26 = extraout_EDX_02;\n      psVar20 = psVar11;\n      psVar12 = psVar14;\n    }" if (parenthesized_expression "(psVar14 != (stat64 *)0x0)" ( (binary_expression "psVar14 != (stat64 *)0x0" identifier != (cast_expression "(stat64 *)0x0" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      pcVar18 = (char *)local_93c;\n      pr2serr("Warning: number of bytes to read from IF [%u] is not a multiple\nof actual block size %u; pad with zeros\n"\n              ,local_93c,psVar11,psVar14);\n      psVar26 = extraout_EDX_02;\n      psVar20 = psVar11;\n      psVar12 = psVar14;\n    }" { (expression_statement "pcVar18 = (char *)local_93c;" (assignment_expression "pcVar18 = (char *)local_93c" identifier = (cast_expression "(char *)local_93c" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "pr2serr("Warning: number of bytes to read from IF [%u] is not a multiple\nof actual block size %u; pad with zeros\n"\n              ,local_93c,psVar11,psVar14);" (call_expression "pr2serr("Warning: number of bytes to read from IF [%u] is not a multiple\nof actual block size %u; pad with zeros\n"\n              ,local_93c,psVar11,psVar14)" identifier (argument_list "("Warning: number of bytes to read from IF [%u] is not a multiple\nof actual block size %u; pad with zeros\n"\n              ,local_93c,psVar11,psVar14)" ( (string_literal ""Warning: number of bytes to read from IF [%u] is not a multiple\nof actual block size %u; pad with zeros\n"" " string_content escape_sequence string_content escape_sequence ") , identifier , identifier , identifier ))) ;) (expression_statement "psVar26 = extraout_EDX_02;" (assignment_expression "psVar26 = extraout_EDX_02" identifier = identifier) ;) (expression_statement "psVar20 = psVar11;" (assignment_expression "psVar20 = psVar11" identifier = identifier) ;) (expression_statement "psVar12 = psVar14;" (assignment_expression "psVar12 = psVar14" identifier = identifier) ;) })) })) (expression_statement "puVar47 = &local_578;" (assignment_expression "puVar47 = &local_578" identifier = (pointer_expression "&local_578" & identifier)) ;) (expression_statement "puVar31 = puVar47;" (assignment_expression "puVar31 = puVar47" identifier = identifier) ;) (for_statement "for (iVar17 = 0x100; iVar17 != 0; iVar17 = iVar17 + -1) {\n    *puVar31 = 0;\n    puVar31 = puVar31 + (uint)bVar37 * -2 + 1;\n  }" for ( (assignment_expression "iVar17 = 0x100" identifier = number_literal) ; (binary_expression "iVar17 != 0" identifier != number_literal) ; (assignment_expression "iVar17 = iVar17 + -1" identifier = (binary_expression "iVar17 + -1" identifier + number_literal)) ) (compound_statement "{\n    *puVar31 = 0;\n    puVar31 = puVar31 + (uint)bVar37 * -2 + 1;\n  }" { (expression_statement "*puVar31 = 0;" (assignment_expression "*puVar31 = 0" (pointer_expression "*puVar31" * identifier) = number_literal) ;) (expression_statement "puVar31 = puVar31 + (uint)bVar37 * -2 + 1;" (assignment_expression "puVar31 = puVar31 + (uint)bVar37 * -2 + 1" identifier = (binary_expression "puVar31 + (uint)bVar37 * -2 + 1" (binary_expression "puVar31 + (uint)bVar37 * -2" identifier + (binary_expression "(uint)bVar37 * -2" (cast_expression "(uint)bVar37" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) })) (expression_statement "ppsVar42 = local_778;" (assignment_expression "ppsVar42 = local_778" identifier = identifier) ;) (expression_statement "ppsVar32 = ppsVar42;" (assignment_expression "ppsVar32 = ppsVar42" identifier = identifier) ;) (for_statement "for (iVar17 = 0x80; iVar17 != 0; iVar17 = iVar17 + -1) {\n    *ppsVar32 = (stat64 *)0x0;\n    ppsVar32 = ppsVar32 + (uint)bVar37 * -2 + 1;\n  }" for ( (assignment_expression "iVar17 = 0x80" identifier = number_literal) ; (binary_expression "iVar17 != 0" identifier != number_literal) ; (assignment_expression "iVar17 = iVar17 + -1" identifier = (binary_expression "iVar17 + -1" identifier + number_literal)) ) (compound_statement "{\n    *ppsVar32 = (stat64 *)0x0;\n    ppsVar32 = ppsVar32 + (uint)bVar37 * -2 + 1;\n  }" { (expression_statement "*ppsVar32 = (stat64 *)0x0;" (assignment_expression "*ppsVar32 = (stat64 *)0x0" (pointer_expression "*ppsVar32" * identifier) = (cast_expression "(stat64 *)0x0" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "ppsVar32 = ppsVar32 + (uint)bVar37 * -2 + 1;" (assignment_expression "ppsVar32 = ppsVar32 + (uint)bVar37 * -2 + 1" identifier = (binary_expression "ppsVar32 + (uint)bVar37 * -2 + 1" (binary_expression "ppsVar32 + (uint)bVar37 * -2" identifier + (binary_expression "(uint)bVar37 * -2" (cast_expression "(uint)bVar37" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) })) (if_statement "if (bVar36) {\n    uVar10 = 0xffffffff;\n    psVar26 = local_91c;\n    do {\n      if (uVar10 == 0) break;\n      uVar10 = uVar10 - 1;\n      p_Var3 = &psVar26->st_dev;\n      psVar26 = (stat64 *)((int)psVar26 + (uint)bVar37 * -2 + 1);\n    } while ((char)*p_Var3 != '\0');\n    psVar29 = (stat64 *)(~uVar10 - 1);\n    if ((char)local_91c->st_dev == '-') {\n      pr2serr("\'--lba\' cannot be read from stdin\n",pcVar18,psVar20,psVar12);\n      goto LAB_00012130;\n    }\n    pcVar18 = "0123456789aAbBcCdDeEfFhHxXiIkKmMgGtTpP, ";\n    psVar20 = local_91c;\n    psVar12 = local_91c;\n    psVar11 = (stat64 *)strspn((char *)local_91c,"0123456789aAbBcCdDeEfFhHxXiIkKmMgGtTpP, ");\n    psVar26 = psVar29;\n    if (psVar29 == psVar11) {\n      psVar26 = (stat64 *)0x0;\n      psVar29 = local_91c;\n      while( true ) {\n        lVar39 = sg_get_llnum(psVar29,pcVar18,psVar20,psVar12);\n        psVar20 = (stat64 *)lVar39;\n        if (lVar39 == -1) break;\n        puVar47[(int)psVar26 * 2] = (uint)psVar20;\n        puVar47[(int)psVar26 * 2 + 1] = (uint)((ulonglong)lVar39 >> 0x20);\n        psVar12 = psVar20;\n        pcVar15 = strchr((char *)psVar29,0x2c);\n        pcVar18 = (char *)0x20;\n        pcVar16 = strchr((char *)psVar29,0x20);\n        if (pcVar15 == (char *)0x0) {\n          if (pcVar16 == (char *)0x0) {\n            local_91c = (stat64 *)((int)&psVar26->st_dev + 1);\n            if (local_93f != '\0') goto LAB_000126fa;\n            psVar26 = (stat64 *)0x0;\n            psVar20 = extraout_ECX;\n            if (local_91c != (stat64 *)0x1) goto LAB_00012a73;\n            goto LAB_00012820;\n          }\n        }\n        else if ((pcVar16 == (char *)0x0) || (pcVar15 <= pcVar16)) {\n          pcVar16 = pcVar15;\n        }\n        psVar26 = (stat64 *)((int)&psVar26->st_dev + 1);\n        psVar29 = (stat64 *)(pcVar16 + 1);\n        if (psVar26 == (stat64 *)0x80) goto LAB_00013b9f;\n      }\n      psVar11 = (stat64 *)((int)psVar29 - (int)local_91c);\n    }\n    pr2serr("build_lba_arr: error at pos %d\n",(undefined1 *)((int)&psVar11->st_dev + 1),psVar26,\n            psVar26);\n    goto LAB_00012130;\n  }" if (parenthesized_expression "(bVar36)" ( identifier )) (compound_statement "{\n    uVar10 = 0xffffffff;\n    psVar26 = local_91c;\n    do {\n      if (uVar10 == 0) break;\n      uVar10 = uVar10 - 1;\n      p_Var3 = &psVar26->st_dev;\n      psVar26 = (stat64 *)((int)psVar26 + (uint)bVar37 * -2 + 1);\n    } while ((char)*p_Var3 != '\0');\n    psVar29 = (stat64 *)(~uVar10 - 1);\n    if ((char)local_91c->st_dev == '-') {\n      pr2serr("\'--lba\' cannot be read from stdin\n",pcVar18,psVar20,psVar12);\n      goto LAB_00012130;\n    }\n    pcVar18 = "0123456789aAbBcCdDeEfFhHxXiIkKmMgGtTpP, ";\n    psVar20 = local_91c;\n    psVar12 = local_91c;\n    psVar11 = (stat64 *)strspn((char *)local_91c,"0123456789aAbBcCdDeEfFhHxXiIkKmMgGtTpP, ");\n    psVar26 = psVar29;\n    if (psVar29 == psVar11) {\n      psVar26 = (stat64 *)0x0;\n      psVar29 = local_91c;\n      while( true ) {\n        lVar39 = sg_get_llnum(psVar29,pcVar18,psVar20,psVar12);\n        psVar20 = (stat64 *)lVar39;\n        if (lVar39 == -1) break;\n        puVar47[(int)psVar26 * 2] = (uint)psVar20;\n        puVar47[(int)psVar26 * 2 + 1] = (uint)((ulonglong)lVar39 >> 0x20);\n        psVar12 = psVar20;\n        pcVar15 = strchr((char *)psVar29,0x2c);\n        pcVar18 = (char *)0x20;\n        pcVar16 = strchr((char *)psVar29,0x20);\n        if (pcVar15 == (char *)0x0) {\n          if (pcVar16 == (char *)0x0) {\n            local_91c = (stat64 *)((int)&psVar26->st_dev + 1);\n            if (local_93f != '\0') goto LAB_000126fa;\n            psVar26 = (stat64 *)0x0;\n            psVar20 = extraout_ECX;\n            if (local_91c != (stat64 *)0x1) goto LAB_00012a73;\n            goto LAB_00012820;\n          }\n        }\n        else if ((pcVar16 == (char *)0x0) || (pcVar15 <= pcVar16)) {\n          pcVar16 = pcVar15;\n        }\n        psVar26 = (stat64 *)((int)&psVar26->st_dev + 1);\n        psVar29 = (stat64 *)(pcVar16 + 1);\n        if (psVar26 == (stat64 *)0x80) goto LAB_00013b9f;\n      }\n      psVar11 = (stat64 *)((int)psVar29 - (int)local_91c);\n    }\n    pr2serr("build_lba_arr: error at pos %d\n",(undefined1 *)((int)&psVar11->st_dev + 1),psVar26,\n            psVar26);\n    goto LAB_00012130;\n  }" { (expression_statement "uVar10 = 0xffffffff;" (assignment_expression "uVar10 = 0xffffffff" identifier = number_literal) ;) (expression_statement "psVar26 = local_91c;" (assignment_expression "psVar26 = local_91c" identifier = identifier) ;) (do_statement "do {\n      if (uVar10 == 0) break;\n      uVar10 = uVar10 - 1;\n      p_Var3 = &psVar26->st_dev;\n      psVar26 = (stat64 *)((int)psVar26 + (uint)bVar37 * -2 + 1);\n    } while ((char)*p_Var3 != '\0');" do (compound_statement "{\n      if (uVar10 == 0) break;\n      uVar10 = uVar10 - 1;\n      p_Var3 = &psVar26->st_dev;\n      psVar26 = (stat64 *)((int)psVar26 + (uint)bVar37 * -2 + 1);\n    }" { (if_statement "if (uVar10 == 0) break;" if (parenthesized_expression "(uVar10 == 0)" ( (binary_expression "uVar10 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "uVar10 = uVar10 - 1;" (assignment_expression "uVar10 = uVar10 - 1" identifier = (binary_expression "uVar10 - 1" identifier - number_literal)) ;) (expression_statement "p_Var3 = &psVar26->st_dev;" (assignment_expression "p_Var3 = &psVar26->st_dev" identifier = (pointer_expression "&psVar26->st_dev" & (field_expression "psVar26->st_dev" identifier -> field_identifier))) ;) (expression_statement "psVar26 = (stat64 *)((int)psVar26 + (uint)bVar37 * -2 + 1);" (assignment_expression "psVar26 = (stat64 *)((int)psVar26 + (uint)bVar37 * -2 + 1)" identifier = (cast_expression "(stat64 *)((int)psVar26 + (uint)bVar37 * -2 + 1)" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)psVar26 + (uint)bVar37 * -2 + 1)" ( (binary_expression "(int)psVar26 + (uint)bVar37 * -2 + 1" (binary_expression "(int)psVar26 + (uint)bVar37 * -2" (cast_expression "(int)psVar26" ( (type_descriptor "int" primitive_type) ) identifier) + (binary_expression "(uint)bVar37 * -2" (cast_expression "(uint)bVar37" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal) )))) ;) }) while (parenthesized_expression "((char)*p_Var3 != '\0')" ( (binary_expression "(char)*p_Var3 != '\0'" (cast_expression "(char)*p_Var3" ( (type_descriptor "char" primitive_type) ) (pointer_expression "*p_Var3" * identifier)) != (char_literal "'\0'" ' escape_sequence ')) )) ;) (expression_statement "psVar29 = (stat64 *)(~uVar10 - 1);" (assignment_expression "psVar29 = (stat64 *)(~uVar10 - 1)" identifier = (cast_expression "(stat64 *)(~uVar10 - 1)" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(~uVar10 - 1)" ( (binary_expression "~uVar10 - 1" (unary_expression "~uVar10" ~ identifier) - number_literal) )))) ;) (if_statement "if ((char)local_91c->st_dev == '-') {\n      pr2serr("\'--lba\' cannot be read from stdin\n",pcVar18,psVar20,psVar12);\n      goto LAB_00012130;\n    }" if (parenthesized_expression "((char)local_91c->st_dev == '-')" ( (binary_expression "(char)local_91c->st_dev == '-'" (cast_expression "(char)local_91c->st_dev" ( (type_descriptor "char" primitive_type) ) (field_expression "local_91c->st_dev" identifier -> field_identifier)) == (char_literal "'-'" ' character ')) )) (compound_statement "{\n      pr2serr("\'--lba\' cannot be read from stdin\n",pcVar18,psVar20,psVar12);\n      goto LAB_00012130;\n    }" { (expression_statement "pr2serr("\'--lba\' cannot be read from stdin\n",pcVar18,psVar20,psVar12);" (call_expression "pr2serr("\'--lba\' cannot be read from stdin\n",pcVar18,psVar20,psVar12)" identifier (argument_list "("\'--lba\' cannot be read from stdin\n",pcVar18,psVar20,psVar12)" ( (string_literal ""\'--lba\' cannot be read from stdin\n"" " escape_sequence string_content escape_sequence string_content escape_sequence ") , identifier , identifier , identifier ))) ;) (goto_statement "goto LAB_00012130;" goto statement_identifier ;) })) (expression_statement "pcVar18 = "0123456789aAbBcCdDeEfFhHxXiIkKmMgGtTpP, ";" (assignment_expression "pcVar18 = "0123456789aAbBcCdDeEfFhHxXiIkKmMgGtTpP, "" identifier = (string_literal ""0123456789aAbBcCdDeEfFhHxXiIkKmMgGtTpP, "" " string_content ")) ;) (expression_statement "psVar20 = local_91c;" (assignment_expression "psVar20 = local_91c" identifier = identifier) ;) (expression_statement "psVar12 = local_91c;" (assignment_expression "psVar12 = local_91c" identifier = identifier) ;) (expression_statement "psVar11 = (stat64 *)strspn((char *)local_91c,"0123456789aAbBcCdDeEfFhHxXiIkKmMgGtTpP, ");" (assignment_expression "psVar11 = (stat64 *)strspn((char *)local_91c,"0123456789aAbBcCdDeEfFhHxXiIkKmMgGtTpP, ")" identifier = (cast_expression "(stat64 *)strspn((char *)local_91c,"0123456789aAbBcCdDeEfFhHxXiIkKmMgGtTpP, ")" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "strspn((char *)local_91c,"0123456789aAbBcCdDeEfFhHxXiIkKmMgGtTpP, ")" identifier (argument_list "((char *)local_91c,"0123456789aAbBcCdDeEfFhHxXiIkKmMgGtTpP, ")" ( (cast_expression "(char *)local_91c" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) , (string_literal ""0123456789aAbBcCdDeEfFhHxXiIkKmMgGtTpP, "" " string_content ") ))))) ;) (expression_statement "psVar26 = psVar29;" (assignment_expression "psVar26 = psVar29" identifier = identifier) ;) (if_statement "if (psVar29 == psVar11) {\n      psVar26 = (stat64 *)0x0;\n      psVar29 = local_91c;\n      while( true ) {\n        lVar39 = sg_get_llnum(psVar29,pcVar18,psVar20,psVar12);\n        psVar20 = (stat64 *)lVar39;\n        if (lVar39 == -1) break;\n        puVar47[(int)psVar26 * 2] = (uint)psVar20;\n        puVar47[(int)psVar26 * 2 + 1] = (uint)((ulonglong)lVar39 >> 0x20);\n        psVar12 = psVar20;\n        pcVar15 = strchr((char *)psVar29,0x2c);\n        pcVar18 = (char *)0x20;\n        pcVar16 = strchr((char *)psVar29,0x20);\n        if (pcVar15 == (char *)0x0) {\n          if (pcVar16 == (char *)0x0) {\n            local_91c = (stat64 *)((int)&psVar26->st_dev + 1);\n            if (local_93f != '\0') goto LAB_000126fa;\n            psVar26 = (stat64 *)0x0;\n            psVar20 = extraout_ECX;\n            if (local_91c != (stat64 *)0x1) goto LAB_00012a73;\n            goto LAB_00012820;\n          }\n        }\n        else if ((pcVar16 == (char *)0x0) || (pcVar15 <= pcVar16)) {\n          pcVar16 = pcVar15;\n        }\n        psVar26 = (stat64 *)((int)&psVar26->st_dev + 1);\n        psVar29 = (stat64 *)(pcVar16 + 1);\n        if (psVar26 == (stat64 *)0x80) goto LAB_00013b9f;\n      }\n      psVar11 = (stat64 *)((int)psVar29 - (int)local_91c);\n    }" if (parenthesized_expression "(psVar29 == psVar11)" ( (binary_expression "psVar29 == psVar11" identifier == identifier) )) (compound_statement "{\n      psVar26 = (stat64 *)0x0;\n      psVar29 = local_91c;\n      while( true ) {\n        lVar39 = sg_get_llnum(psVar29,pcVar18,psVar20,psVar12);\n        psVar20 = (stat64 *)lVar39;\n        if (lVar39 == -1) break;\n        puVar47[(int)psVar26 * 2] = (uint)psVar20;\n        puVar47[(int)psVar26 * 2 + 1] = (uint)((ulonglong)lVar39 >> 0x20);\n        psVar12 = psVar20;\n        pcVar15 = strchr((char *)psVar29,0x2c);\n        pcVar18 = (char *)0x20;\n        pcVar16 = strchr((char *)psVar29,0x20);\n        if (pcVar15 == (char *)0x0) {\n          if (pcVar16 == (char *)0x0) {\n            local_91c = (stat64 *)((int)&psVar26->st_dev + 1);\n            if (local_93f != '\0') goto LAB_000126fa;\n            psVar26 = (stat64 *)0x0;\n            psVar20 = extraout_ECX;\n            if (local_91c != (stat64 *)0x1) goto LAB_00012a73;\n            goto LAB_00012820;\n          }\n        }\n        else if ((pcVar16 == (char *)0x0) || (pcVar15 <= pcVar16)) {\n          pcVar16 = pcVar15;\n        }\n        psVar26 = (stat64 *)((int)&psVar26->st_dev + 1);\n        psVar29 = (stat64 *)(pcVar16 + 1);\n        if (psVar26 == (stat64 *)0x80) goto LAB_00013b9f;\n      }\n      psVar11 = (stat64 *)((int)psVar29 - (int)local_91c);\n    }" { (expression_statement "psVar26 = (stat64 *)0x0;" (assignment_expression "psVar26 = (stat64 *)0x0" identifier = (cast_expression "(stat64 *)0x0" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "psVar29 = local_91c;" (assignment_expression "psVar29 = local_91c" identifier = identifier) ;) (while_statement "while( true ) {\n        lVar39 = sg_get_llnum(psVar29,pcVar18,psVar20,psVar12);\n        psVar20 = (stat64 *)lVar39;\n        if (lVar39 == -1) break;\n        puVar47[(int)psVar26 * 2] = (uint)psVar20;\n        puVar47[(int)psVar26 * 2 + 1] = (uint)((ulonglong)lVar39 >> 0x20);\n        psVar12 = psVar20;\n        pcVar15 = strchr((char *)psVar29,0x2c);\n        pcVar18 = (char *)0x20;\n        pcVar16 = strchr((char *)psVar29,0x20);\n        if (pcVar15 == (char *)0x0) {\n          if (pcVar16 == (char *)0x0) {\n            local_91c = (stat64 *)((int)&psVar26->st_dev + 1);\n            if (local_93f != '\0') goto LAB_000126fa;\n            psVar26 = (stat64 *)0x0;\n            psVar20 = extraout_ECX;\n            if (local_91c != (stat64 *)0x1) goto LAB_00012a73;\n            goto LAB_00012820;\n          }\n        }\n        else if ((pcVar16 == (char *)0x0) || (pcVar15 <= pcVar16)) {\n          pcVar16 = pcVar15;\n        }\n        psVar26 = (stat64 *)((int)&psVar26->st_dev + 1);\n        psVar29 = (stat64 *)(pcVar16 + 1);\n        if (psVar26 == (stat64 *)0x80) goto LAB_00013b9f;\n      }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n        lVar39 = sg_get_llnum(psVar29,pcVar18,psVar20,psVar12);\n        psVar20 = (stat64 *)lVar39;\n        if (lVar39 == -1) break;\n        puVar47[(int)psVar26 * 2] = (uint)psVar20;\n        puVar47[(int)psVar26 * 2 + 1] = (uint)((ulonglong)lVar39 >> 0x20);\n        psVar12 = psVar20;\n        pcVar15 = strchr((char *)psVar29,0x2c);\n        pcVar18 = (char *)0x20;\n        pcVar16 = strchr((char *)psVar29,0x20);\n        if (pcVar15 == (char *)0x0) {\n          if (pcVar16 == (char *)0x0) {\n            local_91c = (stat64 *)((int)&psVar26->st_dev + 1);\n            if (local_93f != '\0') goto LAB_000126fa;\n            psVar26 = (stat64 *)0x0;\n            psVar20 = extraout_ECX;\n            if (local_91c != (stat64 *)0x1) goto LAB_00012a73;\n            goto LAB_00012820;\n          }\n        }\n        else if ((pcVar16 == (char *)0x0) || (pcVar15 <= pcVar16)) {\n          pcVar16 = pcVar15;\n        }\n        psVar26 = (stat64 *)((int)&psVar26->st_dev + 1);\n        psVar29 = (stat64 *)(pcVar16 + 1);\n        if (psVar26 == (stat64 *)0x80) goto LAB_00013b9f;\n      }" { (expression_statement "lVar39 = sg_get_llnum(psVar29,pcVar18,psVar20,psVar12);" (assignment_expression "lVar39 = sg_get_llnum(psVar29,pcVar18,psVar20,psVar12)" identifier = (call_expression "sg_get_llnum(psVar29,pcVar18,psVar20,psVar12)" identifier (argument_list "(psVar29,pcVar18,psVar20,psVar12)" ( identifier , identifier , identifier , identifier )))) ;) (expression_statement "psVar20 = (stat64 *)lVar39;" (assignment_expression "psVar20 = (stat64 *)lVar39" identifier = (cast_expression "(stat64 *)lVar39" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (if_statement "if (lVar39 == -1) break;" if (parenthesized_expression "(lVar39 == -1)" ( (binary_expression "lVar39 == -1" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "puVar47[(int)psVar26 * 2] = (uint)psVar20;" (assignment_expression "puVar47[(int)psVar26 * 2] = (uint)psVar20" (subscript_expression "puVar47[(int)psVar26 * 2]" identifier [ (binary_expression "(int)psVar26 * 2" (cast_expression "(int)psVar26" ( (type_descriptor "int" primitive_type) ) identifier) * number_literal) ]) = (cast_expression "(uint)psVar20" ( (type_descriptor "uint" type_identifier) ) identifier)) ;) (expression_statement "puVar47[(int)psVar26 * 2 + 1] = (uint)((ulonglong)lVar39 >> 0x20);" (assignment_expression "puVar47[(int)psVar26 * 2 + 1] = (uint)((ulonglong)lVar39 >> 0x20)" (subscript_expression "puVar47[(int)psVar26 * 2 + 1]" identifier [ (binary_expression "(int)psVar26 * 2 + 1" (binary_expression "(int)psVar26 * 2" (cast_expression "(int)psVar26" ( (type_descriptor "int" primitive_type) ) identifier) * number_literal) + number_literal) ]) = (call_expression "(uint)((ulonglong)lVar39 >> 0x20)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((ulonglong)lVar39 >> 0x20)" ( (binary_expression "(ulonglong)lVar39 >> 0x20" (cast_expression "(ulonglong)lVar39" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) )))) ;) (expression_statement "psVar12 = psVar20;" (assignment_expression "psVar12 = psVar20" identifier = identifier) ;) (expression_statement "pcVar15 = strchr((char *)psVar29,0x2c);" (assignment_expression "pcVar15 = strchr((char *)psVar29,0x2c)" identifier = (call_expression "strchr((char *)psVar29,0x2c)" identifier (argument_list "((char *)psVar29,0x2c)" ( (cast_expression "(char *)psVar29" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) , number_literal )))) ;) (expression_statement "pcVar18 = (char *)0x20;" (assignment_expression "pcVar18 = (char *)0x20" identifier = (cast_expression "(char *)0x20" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "pcVar16 = strchr((char *)psVar29,0x20);" (assignment_expression "pcVar16 = strchr((char *)psVar29,0x20)" identifier = (call_expression "strchr((char *)psVar29,0x20)" identifier (argument_list "((char *)psVar29,0x20)" ( (cast_expression "(char *)psVar29" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) , number_literal )))) ;) (if_statement "if (pcVar15 == (char *)0x0) {\n          if (pcVar16 == (char *)0x0) {\n            local_91c = (stat64 *)((int)&psVar26->st_dev + 1);\n            if (local_93f != '\0') goto LAB_000126fa;\n            psVar26 = (stat64 *)0x0;\n            psVar20 = extraout_ECX;\n            if (local_91c != (stat64 *)0x1) goto LAB_00012a73;\n            goto LAB_00012820;\n          }\n        }\n        else if ((pcVar16 == (char *)0x0) || (pcVar15 <= pcVar16)) {\n          pcVar16 = pcVar15;\n        }" if (parenthesized_expression "(pcVar15 == (char *)0x0)" ( (binary_expression "pcVar15 == (char *)0x0" identifier == (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n          if (pcVar16 == (char *)0x0) {\n            local_91c = (stat64 *)((int)&psVar26->st_dev + 1);\n            if (local_93f != '\0') goto LAB_000126fa;\n            psVar26 = (stat64 *)0x0;\n            psVar20 = extraout_ECX;\n            if (local_91c != (stat64 *)0x1) goto LAB_00012a73;\n            goto LAB_00012820;\n          }\n        }" { (if_statement "if (pcVar16 == (char *)0x0) {\n            local_91c = (stat64 *)((int)&psVar26->st_dev + 1);\n            if (local_93f != '\0') goto LAB_000126fa;\n            psVar26 = (stat64 *)0x0;\n            psVar20 = extraout_ECX;\n            if (local_91c != (stat64 *)0x1) goto LAB_00012a73;\n            goto LAB_00012820;\n          }" if (parenthesized_expression "(pcVar16 == (char *)0x0)" ( (binary_expression "pcVar16 == (char *)0x0" identifier == (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n            local_91c = (stat64 *)((int)&psVar26->st_dev + 1);\n            if (local_93f != '\0') goto LAB_000126fa;\n            psVar26 = (stat64 *)0x0;\n            psVar20 = extraout_ECX;\n            if (local_91c != (stat64 *)0x1) goto LAB_00012a73;\n            goto LAB_00012820;\n          }" { (expression_statement "local_91c = (stat64 *)((int)&psVar26->st_dev + 1);" (assignment_expression "local_91c = (stat64 *)((int)&psVar26->st_dev + 1)" identifier = (cast_expression "(stat64 *)((int)&psVar26->st_dev + 1)" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&psVar26->st_dev + 1)" ( (binary_expression "(int)&psVar26->st_dev + 1" (cast_expression "(int)&psVar26->st_dev" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&psVar26->st_dev" & (field_expression "psVar26->st_dev" identifier -> field_identifier))) + number_literal) )))) ;) (if_statement "if (local_93f != '\0') goto LAB_000126fa;" if (parenthesized_expression "(local_93f != '\0')" ( (binary_expression "local_93f != '\0'" identifier != (char_literal "'\0'" ' escape_sequence ')) )) (goto_statement "goto LAB_000126fa;" goto statement_identifier ;)) (expression_statement "psVar26 = (stat64 *)0x0;" (assignment_expression "psVar26 = (stat64 *)0x0" identifier = (cast_expression "(stat64 *)0x0" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "psVar20 = extraout_ECX;" (assignment_expression "psVar20 = extraout_ECX" identifier = identifier) ;) (if_statement "if (local_91c != (stat64 *)0x1) goto LAB_00012a73;" if (parenthesized_expression "(local_91c != (stat64 *)0x1)" ( (binary_expression "local_91c != (stat64 *)0x1" identifier != (cast_expression "(stat64 *)0x1" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_00012a73;" goto statement_identifier ;)) (goto_statement "goto LAB_00012820;" goto statement_identifier ;) })) }) (else_clause "else if ((pcVar16 == (char *)0x0) || (pcVar15 <= pcVar16)) {\n          pcVar16 = pcVar15;\n        }" else (if_statement "if ((pcVar16 == (char *)0x0) || (pcVar15 <= pcVar16)) {\n          pcVar16 = pcVar15;\n        }" if (parenthesized_expression "((pcVar16 == (char *)0x0) || (pcVar15 <= pcVar16))" ( (binary_expression "(pcVar16 == (char *)0x0) || (pcVar15 <= pcVar16)" (parenthesized_expression "(pcVar16 == (char *)0x0)" ( (binary_expression "pcVar16 == (char *)0x0" identifier == (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) || (parenthesized_expression "(pcVar15 <= pcVar16)" ( (binary_expression "pcVar15 <= pcVar16" identifier <= identifier) ))) )) (compound_statement "{\n          pcVar16 = pcVar15;\n        }" { (expression_statement "pcVar16 = pcVar15;" (assignment_expression "pcVar16 = pcVar15" identifier = identifier) ;) })))) (expression_statement "psVar26 = (stat64 *)((int)&psVar26->st_dev + 1);" (assignment_expression "psVar26 = (stat64 *)((int)&psVar26->st_dev + 1)" identifier = (cast_expression "(stat64 *)((int)&psVar26->st_dev + 1)" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&psVar26->st_dev + 1)" ( (binary_expression "(int)&psVar26->st_dev + 1" (cast_expression "(int)&psVar26->st_dev" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&psVar26->st_dev" & (field_expression "psVar26->st_dev" identifier -> field_identifier))) + number_literal) )))) ;) (expression_statement "psVar29 = (stat64 *)(pcVar16 + 1);" (assignment_expression "psVar29 = (stat64 *)(pcVar16 + 1)" identifier = (cast_expression "(stat64 *)(pcVar16 + 1)" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar16 + 1)" ( (binary_expression "pcVar16 + 1" identifier + number_literal) )))) ;) (if_statement "if (psVar26 == (stat64 *)0x80) goto LAB_00013b9f;" if (parenthesized_expression "(psVar26 == (stat64 *)0x80)" ( (binary_expression "psVar26 == (stat64 *)0x80" identifier == (cast_expression "(stat64 *)0x80" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_00013b9f;" goto statement_identifier ;)) })) (expression_statement "psVar11 = (stat64 *)((int)psVar29 - (int)local_91c);" (assignment_expression "psVar11 = (stat64 *)((int)psVar29 - (int)local_91c)" identifier = (cast_expression "(stat64 *)((int)psVar29 - (int)local_91c)" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)psVar29 - (int)local_91c)" ( (binary_expression "(int)psVar29 - (int)local_91c" (cast_expression "(int)psVar29" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)local_91c" ( (type_descriptor "int" primitive_type) ) identifier)) )))) ;) })) (expression_statement "pr2serr("build_lba_arr: error at pos %d\n",(undefined1 *)((int)&psVar11->st_dev + 1),psVar26,\n            psVar26);" (call_expression "pr2serr("build_lba_arr: error at pos %d\n",(undefined1 *)((int)&psVar11->st_dev + 1),psVar26,\n            psVar26)" identifier (argument_list "("build_lba_arr: error at pos %d\n",(undefined1 *)((int)&psVar11->st_dev + 1),psVar26,\n            psVar26)" ( (string_literal ""build_lba_arr: error at pos %d\n"" " string_content escape_sequence ") , (cast_expression "(undefined1 *)((int)&psVar11->st_dev + 1)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&psVar11->st_dev + 1)" ( (binary_expression "(int)&psVar11->st_dev + 1" (cast_expression "(int)&psVar11->st_dev" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&psVar11->st_dev" & (field_expression "psVar11->st_dev" identifier -> field_identifier))) + number_literal) ))) , identifier , identifier ))) ;) (goto_statement "goto LAB_00012130;" goto statement_identifier ;) })) (expression_statement "local_91c = (stat64 *)0x0;" (assignment_expression "local_91c = (stat64 *)0x0" identifier = (cast_expression "(stat64 *)0x0" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (if_statement "if (bVar35) {\nLAB_000126fa:\n    psVar11 = (stat64 *)0xffffffff;\n    psVar26 = local_918;\n    do {\n      if (psVar11 == (stat64 *)0x0) break;\n      psVar11 = (stat64 *)((int)&psVar11[-1].st_ino + 7);\n      p_Var3 = &psVar26->st_dev;\n      psVar26 = (stat64 *)((int)psVar26 + (uint)bVar37 * -2 + 1);\n    } while ((char)*p_Var3 != '\0');\n    psVar29 = (stat64 *)(~(uint)psVar11 - 1);\n    if ((char)local_918->st_dev == '-') {\n      pr2serr("\'--len\' cannot be read from stdin\n");\n    }\n    else {\n      pcVar18 = "0123456789aAbBcCdDeEfFhHxXiIkKmMgGtTpP, ";\n      psVar20 = psVar11;\n      psVar26 = (stat64 *)strspn((char *)local_918,"0123456789aAbBcCdDeEfFhHxXiIkKmMgGtTpP, ");\n      psVar12 = extraout_EDX_00;\n      if (psVar29 == psVar26) {\n        psVar12 = (stat64 *)0x0;\n        psVar29 = local_918;\n        do {\n          lVar39 = sg_get_llnum(psVar29,pcVar18,psVar11,psVar20);\n          psVar11 = (stat64 *)lVar39;\n          if ((int)((ulonglong)lVar39 >> 0x20) == -1) {\n            if (psVar11 == (stat64 *)0xffffffff) {\n              psVar26 = (stat64 *)((int)psVar29 - (int)local_918);\n              goto LAB_000127bf;\n            }\n          }\n          else if (0xffffffff < lVar39) {\n            psVar20 = (stat64 *)((int)psVar29 + (1 - (int)local_918));\n            pcVar18 = "build_num_arr";\n            pr2serr("%s: number exceeds 32 bits at pos %d\n","build_num_arr",psVar20,psVar12);\n            goto LAB_000127d9;\n          }\n          ppsVar42[(int)psVar12] = psVar11;\n          psVar20 = psVar11;\n          pcVar15 = strchr((char *)psVar29,0x2c);\n          pcVar18 = (char *)0x20;\n          pcVar16 = strchr((char *)psVar29,0x20);\n          if (pcVar15 == (char *)0x0) {\n            if (pcVar16 == (char *)0x0) {\n              puVar48 = (undefined1 *)((int)&psVar12->st_dev + 1);\n              psVar26 = (stat64 *)0x0;\n              psVar20 = extraout_ECX_00;\n              if ((undefined1 *)0x1 < local_91c) {\n                if ((stat64 *)puVar48 == local_91c) goto LAB_00012820;\n                goto LAB_00012a73;\n              }\n              if (local_91c == (stat64 *)0x0) {\n                if (puVar48 != (undefined1 *)0x1) {\nLAB_00012a73:\n                  pr2serr("need same number of arguments to \'--lba=\' and \'--num=\' options\n");\n                  local_908 = (stat64 *)0x1f;\n                  goto LAB_00012354;\n                }\n                local_91c = (stat64 *)(undefined1 *)0x1;\n                if (local_778[0] != (stat64 *)0x0) {\n                  pr2serr("won\'t write %u blocks without an explicit --lba= option\n",local_778[0],\n                          extraout_ECX_00,extraout_ECX_00);\n                  local_908 = (stat64 *)0x1;\n                  goto LAB_00012354;\n                }\n              }\n              else {\n                local_91c = (stat64 *)(undefined1 *)0x1;\n              }\n              goto LAB_00012820;\n            }\n          }\n          else if ((pcVar16 == (char *)0x0) || (pcVar15 <= pcVar16)) {\n            pcVar16 = pcVar15;\n          }\n          psVar12 = (stat64 *)((int)&psVar12->st_dev + 1);\n          psVar29 = (stat64 *)(pcVar16 + 1);\n        } while (psVar12 != (stat64 *)0x80);\n        pcVar18 = "build_num_arr";\n        psVar20 = extraout_ECX_00;\n        psVar12 = extraout_ECX_00;\n        pr2serr("%s: array length exceeded\n","build_num_arr",extraout_ECX_00,extraout_ECX_00);\n      }\n      else {\nLAB_000127bf:\n        psVar20 = (stat64 *)((int)&psVar26->st_dev + 1);\n        pcVar18 = "build_num_arr";\n        pr2serr("%s: error at pos %d\n","build_num_arr",psVar20,psVar12);\n      }\n    }\nLAB_000127d9:\n    pr2serr("bad argument to \'--num\'\n",pcVar18,psVar20,psVar12);\n    local_908 = (stat64 *)0x0;\n    goto LAB_00012354;\n  }" if (parenthesized_expression "(bVar35)" ( identifier )) (compound_statement "{\nLAB_000126fa:\n    psVar11 = (stat64 *)0xffffffff;\n    psVar26 = local_918;\n    do {\n      if (psVar11 == (stat64 *)0x0) break;\n      psVar11 = (stat64 *)((int)&psVar11[-1].st_ino + 7);\n      p_Var3 = &psVar26->st_dev;\n      psVar26 = (stat64 *)((int)psVar26 + (uint)bVar37 * -2 + 1);\n    } while ((char)*p_Var3 != '\0');\n    psVar29 = (stat64 *)(~(uint)psVar11 - 1);\n    if ((char)local_918->st_dev == '-') {\n      pr2serr("\'--len\' cannot be read from stdin\n");\n    }\n    else {\n      pcVar18 = "0123456789aAbBcCdDeEfFhHxXiIkKmMgGtTpP, ";\n      psVar20 = psVar11;\n      psVar26 = (stat64 *)strspn((char *)local_918,"0123456789aAbBcCdDeEfFhHxXiIkKmMgGtTpP, ");\n      psVar12 = extraout_EDX_00;\n      if (psVar29 == psVar26) {\n        psVar12 = (stat64 *)0x0;\n        psVar29 = local_918;\n        do {\n          lVar39 = sg_get_llnum(psVar29,pcVar18,psVar11,psVar20);\n          psVar11 = (stat64 *)lVar39;\n          if ((int)((ulonglong)lVar39 >> 0x20) == -1) {\n            if (psVar11 == (stat64 *)0xffffffff) {\n              psVar26 = (stat64 *)((int)psVar29 - (int)local_918);\n              goto LAB_000127bf;\n            }\n          }\n          else if (0xffffffff < lVar39) {\n            psVar20 = (stat64 *)((int)psVar29 + (1 - (int)local_918));\n            pcVar18 = "build_num_arr";\n            pr2serr("%s: number exceeds 32 bits at pos %d\n","build_num_arr",psVar20,psVar12);\n            goto LAB_000127d9;\n          }\n          ppsVar42[(int)psVar12] = psVar11;\n          psVar20 = psVar11;\n          pcVar15 = strchr((char *)psVar29,0x2c);\n          pcVar18 = (char *)0x20;\n          pcVar16 = strchr((char *)psVar29,0x20);\n          if (pcVar15 == (char *)0x0) {\n            if (pcVar16 == (char *)0x0) {\n              puVar48 = (undefined1 *)((int)&psVar12->st_dev + 1);\n              psVar26 = (stat64 *)0x0;\n              psVar20 = extraout_ECX_00;\n              if ((undefined1 *)0x1 < local_91c) {\n                if ((stat64 *)puVar48 == local_91c) goto LAB_00012820;\n                goto LAB_00012a73;\n              }\n              if (local_91c == (stat64 *)0x0) {\n                if (puVar48 != (undefined1 *)0x1) {\nLAB_00012a73:\n                  pr2serr("need same number of arguments to \'--lba=\' and \'--num=\' options\n");\n                  local_908 = (stat64 *)0x1f;\n                  goto LAB_00012354;\n                }\n                local_91c = (stat64 *)(undefined1 *)0x1;\n                if (local_778[0] != (stat64 *)0x0) {\n                  pr2serr("won\'t write %u blocks without an explicit --lba= option\n",local_778[0],\n                          extraout_ECX_00,extraout_ECX_00);\n                  local_908 = (stat64 *)0x1;\n                  goto LAB_00012354;\n                }\n              }\n              else {\n                local_91c = (stat64 *)(undefined1 *)0x1;\n              }\n              goto LAB_00012820;\n            }\n          }\n          else if ((pcVar16 == (char *)0x0) || (pcVar15 <= pcVar16)) {\n            pcVar16 = pcVar15;\n          }\n          psVar12 = (stat64 *)((int)&psVar12->st_dev + 1);\n          psVar29 = (stat64 *)(pcVar16 + 1);\n        } while (psVar12 != (stat64 *)0x80);\n        pcVar18 = "build_num_arr";\n        psVar20 = extraout_ECX_00;\n        psVar12 = extraout_ECX_00;\n        pr2serr("%s: array length exceeded\n","build_num_arr",extraout_ECX_00,extraout_ECX_00);\n      }\n      else {\nLAB_000127bf:\n        psVar20 = (stat64 *)((int)&psVar26->st_dev + 1);\n        pcVar18 = "build_num_arr";\n        pr2serr("%s: error at pos %d\n","build_num_arr",psVar20,psVar12);\n      }\n    }\nLAB_000127d9:\n    pr2serr("bad argument to \'--num\'\n",pcVar18,psVar20,psVar12);\n    local_908 = (stat64 *)0x0;\n    goto LAB_00012354;\n  }" { (labeled_statement "LAB_000126fa:\n    psVar11 = (stat64 *)0xffffffff;" statement_identifier : (expression_statement "psVar11 = (stat64 *)0xffffffff;" (assignment_expression "psVar11 = (stat64 *)0xffffffff" identifier = (cast_expression "(stat64 *)0xffffffff" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;)) (expression_statement "psVar26 = local_918;" (assignment_expression "psVar26 = local_918" identifier = identifier) ;) (do_statement "do {\n      if (psVar11 == (stat64 *)0x0) break;\n      psVar11 = (stat64 *)((int)&psVar11[-1].st_ino + 7);\n      p_Var3 = &psVar26->st_dev;\n      psVar26 = (stat64 *)((int)psVar26 + (uint)bVar37 * -2 + 1);\n    } while ((char)*p_Var3 != '\0');" do (compound_statement "{\n      if (psVar11 == (stat64 *)0x0) break;\n      psVar11 = (stat64 *)((int)&psVar11[-1].st_ino + 7);\n      p_Var3 = &psVar26->st_dev;\n      psVar26 = (stat64 *)((int)psVar26 + (uint)bVar37 * -2 + 1);\n    }" { (if_statement "if (psVar11 == (stat64 *)0x0) break;" if (parenthesized_expression "(psVar11 == (stat64 *)0x0)" ( (binary_expression "psVar11 == (stat64 *)0x0" identifier == (cast_expression "(stat64 *)0x0" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (break_statement "break;" break ;)) (expression_statement "psVar11 = (stat64 *)((int)&psVar11[-1].st_ino + 7);" (assignment_expression "psVar11 = (stat64 *)((int)&psVar11[-1].st_ino + 7)" identifier = (cast_expression "(stat64 *)((int)&psVar11[-1].st_ino + 7)" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&psVar11[-1].st_ino + 7)" ( (binary_expression "(int)&psVar11[-1].st_ino + 7" (cast_expression "(int)&psVar11[-1].st_ino" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&psVar11[-1].st_ino" & (field_expression "psVar11[-1].st_ino" (subscript_expression "psVar11[-1]" identifier [ number_literal ]) . field_identifier))) + number_literal) )))) ;) (expression_statement "p_Var3 = &psVar26->st_dev;" (assignment_expression "p_Var3 = &psVar26->st_dev" identifier = (pointer_expression "&psVar26->st_dev" & (field_expression "psVar26->st_dev" identifier -> field_identifier))) ;) (expression_statement "psVar26 = (stat64 *)((int)psVar26 + (uint)bVar37 * -2 + 1);" (assignment_expression "psVar26 = (stat64 *)((int)psVar26 + (uint)bVar37 * -2 + 1)" identifier = (cast_expression "(stat64 *)((int)psVar26 + (uint)bVar37 * -2 + 1)" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)psVar26 + (uint)bVar37 * -2 + 1)" ( (binary_expression "(int)psVar26 + (uint)bVar37 * -2 + 1" (binary_expression "(int)psVar26 + (uint)bVar37 * -2" (cast_expression "(int)psVar26" ( (type_descriptor "int" primitive_type) ) identifier) + (binary_expression "(uint)bVar37 * -2" (cast_expression "(uint)bVar37" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal) )))) ;) }) while (parenthesized_expression "((char)*p_Var3 != '\0')" ( (binary_expression "(char)*p_Var3 != '\0'" (cast_expression "(char)*p_Var3" ( (type_descriptor "char" primitive_type) ) (pointer_expression "*p_Var3" * identifier)) != (char_literal "'\0'" ' escape_sequence ')) )) ;) (expression_statement "psVar29 = (stat64 *)(~(uint)psVar11 - 1);" (assignment_expression "psVar29 = (stat64 *)(~(uint)psVar11 - 1)" identifier = (cast_expression "(stat64 *)(~(uint)psVar11 - 1)" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(~(uint)psVar11 - 1)" ( (binary_expression "~(uint)psVar11 - 1" (unary_expression "~(uint)psVar11" ~ (cast_expression "(uint)psVar11" ( (type_descriptor "uint" type_identifier) ) identifier)) - number_literal) )))) ;) (if_statement "if ((char)local_918->st_dev == '-') {\n      pr2serr("\'--len\' cannot be read from stdin\n");\n    }\n    else {\n      pcVar18 = "0123456789aAbBcCdDeEfFhHxXiIkKmMgGtTpP, ";\n      psVar20 = psVar11;\n      psVar26 = (stat64 *)strspn((char *)local_918,"0123456789aAbBcCdDeEfFhHxXiIkKmMgGtTpP, ");\n      psVar12 = extraout_EDX_00;\n      if (psVar29 == psVar26) {\n        psVar12 = (stat64 *)0x0;\n        psVar29 = local_918;\n        do {\n          lVar39 = sg_get_llnum(psVar29,pcVar18,psVar11,psVar20);\n          psVar11 = (stat64 *)lVar39;\n          if ((int)((ulonglong)lVar39 >> 0x20) == -1) {\n            if (psVar11 == (stat64 *)0xffffffff) {\n              psVar26 = (stat64 *)((int)psVar29 - (int)local_918);\n              goto LAB_000127bf;\n            }\n          }\n          else if (0xffffffff < lVar39) {\n            psVar20 = (stat64 *)((int)psVar29 + (1 - (int)local_918));\n            pcVar18 = "build_num_arr";\n            pr2serr("%s: number exceeds 32 bits at pos %d\n","build_num_arr",psVar20,psVar12);\n            goto LAB_000127d9;\n          }\n          ppsVar42[(int)psVar12] = psVar11;\n          psVar20 = psVar11;\n          pcVar15 = strchr((char *)psVar29,0x2c);\n          pcVar18 = (char *)0x20;\n          pcVar16 = strchr((char *)psVar29,0x20);\n          if (pcVar15 == (char *)0x0) {\n            if (pcVar16 == (char *)0x0) {\n              puVar48 = (undefined1 *)((int)&psVar12->st_dev + 1);\n              psVar26 = (stat64 *)0x0;\n              psVar20 = extraout_ECX_00;\n              if ((undefined1 *)0x1 < local_91c) {\n                if ((stat64 *)puVar48 == local_91c) goto LAB_00012820;\n                goto LAB_00012a73;\n              }\n              if (local_91c == (stat64 *)0x0) {\n                if (puVar48 != (undefined1 *)0x1) {\nLAB_00012a73:\n                  pr2serr("need same number of arguments to \'--lba=\' and \'--num=\' options\n");\n                  local_908 = (stat64 *)0x1f;\n                  goto LAB_00012354;\n                }\n                local_91c = (stat64 *)(undefined1 *)0x1;\n                if (local_778[0] != (stat64 *)0x0) {\n                  pr2serr("won\'t write %u blocks without an explicit --lba= option\n",local_778[0],\n                          extraout_ECX_00,extraout_ECX_00);\n                  local_908 = (stat64 *)0x1;\n                  goto LAB_00012354;\n                }\n              }\n              else {\n                local_91c = (stat64 *)(undefined1 *)0x1;\n              }\n              goto LAB_00012820;\n            }\n          }\n          else if ((pcVar16 == (char *)0x0) || (pcVar15 <= pcVar16)) {\n            pcVar16 = pcVar15;\n          }\n          psVar12 = (stat64 *)((int)&psVar12->st_dev + 1);\n          psVar29 = (stat64 *)(pcVar16 + 1);\n        } while (psVar12 != (stat64 *)0x80);\n        pcVar18 = "build_num_arr";\n        psVar20 = extraout_ECX_00;\n        psVar12 = extraout_ECX_00;\n        pr2serr("%s: array length exceeded\n","build_num_arr",extraout_ECX_00,extraout_ECX_00);\n      }\n      else {\nLAB_000127bf:\n        psVar20 = (stat64 *)((int)&psVar26->st_dev + 1);\n        pcVar18 = "build_num_arr";\n        pr2serr("%s: error at pos %d\n","build_num_arr",psVar20,psVar12);\n      }\n    }" if (parenthesized_expression "((char)local_918->st_dev == '-')" ( (binary_expression "(char)local_918->st_dev == '-'" (cast_expression "(char)local_918->st_dev" ( (type_descriptor "char" primitive_type) ) (field_expression "local_918->st_dev" identifier -> field_identifier)) == (char_literal "'-'" ' character ')) )) (compound_statement "{\n      pr2serr("\'--len\' cannot be read from stdin\n");\n    }" { (expression_statement "pr2serr("\'--len\' cannot be read from stdin\n");" (call_expression "pr2serr("\'--len\' cannot be read from stdin\n")" identifier (argument_list "("\'--len\' cannot be read from stdin\n")" ( (string_literal ""\'--len\' cannot be read from stdin\n"" " escape_sequence string_content escape_sequence string_content escape_sequence ") ))) ;) }) (else_clause "else {\n      pcVar18 = "0123456789aAbBcCdDeEfFhHxXiIkKmMgGtTpP, ";\n      psVar20 = psVar11;\n      psVar26 = (stat64 *)strspn((char *)local_918,"0123456789aAbBcCdDeEfFhHxXiIkKmMgGtTpP, ");\n      psVar12 = extraout_EDX_00;\n      if (psVar29 == psVar26) {\n        psVar12 = (stat64 *)0x0;\n        psVar29 = local_918;\n        do {\n          lVar39 = sg_get_llnum(psVar29,pcVar18,psVar11,psVar20);\n          psVar11 = (stat64 *)lVar39;\n          if ((int)((ulonglong)lVar39 >> 0x20) == -1) {\n            if (psVar11 == (stat64 *)0xffffffff) {\n              psVar26 = (stat64 *)((int)psVar29 - (int)local_918);\n              goto LAB_000127bf;\n            }\n          }\n          else if (0xffffffff < lVar39) {\n            psVar20 = (stat64 *)((int)psVar29 + (1 - (int)local_918));\n            pcVar18 = "build_num_arr";\n            pr2serr("%s: number exceeds 32 bits at pos %d\n","build_num_arr",psVar20,psVar12);\n            goto LAB_000127d9;\n          }\n          ppsVar42[(int)psVar12] = psVar11;\n          psVar20 = psVar11;\n          pcVar15 = strchr((char *)psVar29,0x2c);\n          pcVar18 = (char *)0x20;\n          pcVar16 = strchr((char *)psVar29,0x20);\n          if (pcVar15 == (char *)0x0) {\n            if (pcVar16 == (char *)0x0) {\n              puVar48 = (undefined1 *)((int)&psVar12->st_dev + 1);\n              psVar26 = (stat64 *)0x0;\n              psVar20 = extraout_ECX_00;\n              if ((undefined1 *)0x1 < local_91c) {\n                if ((stat64 *)puVar48 == local_91c) goto LAB_00012820;\n                goto LAB_00012a73;\n              }\n              if (local_91c == (stat64 *)0x0) {\n                if (puVar48 != (undefined1 *)0x1) {\nLAB_00012a73:\n                  pr2serr("need same number of arguments to \'--lba=\' and \'--num=\' options\n");\n                  local_908 = (stat64 *)0x1f;\n                  goto LAB_00012354;\n                }\n                local_91c = (stat64 *)(undefined1 *)0x1;\n                if (local_778[0] != (stat64 *)0x0) {\n                  pr2serr("won\'t write %u blocks without an explicit --lba= option\n",local_778[0],\n                          extraout_ECX_00,extraout_ECX_00);\n                  local_908 = (stat64 *)0x1;\n                  goto LAB_00012354;\n                }\n              }\n              else {\n                local_91c = (stat64 *)(undefined1 *)0x1;\n              }\n              goto LAB_00012820;\n            }\n          }\n          else if ((pcVar16 == (char *)0x0) || (pcVar15 <= pcVar16)) {\n            pcVar16 = pcVar15;\n          }\n          psVar12 = (stat64 *)((int)&psVar12->st_dev + 1);\n          psVar29 = (stat64 *)(pcVar16 + 1);\n        } while (psVar12 != (stat64 *)0x80);\n        pcVar18 = "build_num_arr";\n        psVar20 = extraout_ECX_00;\n        psVar12 = extraout_ECX_00;\n        pr2serr("%s: array length exceeded\n","build_num_arr",extraout_ECX_00,extraout_ECX_00);\n      }\n      else {\nLAB_000127bf:\n        psVar20 = (stat64 *)((int)&psVar26->st_dev + 1);\n        pcVar18 = "build_num_arr";\n        pr2serr("%s: error at pos %d\n","build_num_arr",psVar20,psVar12);\n      }\n    }" else (compound_statement "{\n      pcVar18 = "0123456789aAbBcCdDeEfFhHxXiIkKmMgGtTpP, ";\n      psVar20 = psVar11;\n      psVar26 = (stat64 *)strspn((char *)local_918,"0123456789aAbBcCdDeEfFhHxXiIkKmMgGtTpP, ");\n      psVar12 = extraout_EDX_00;\n      if (psVar29 == psVar26) {\n        psVar12 = (stat64 *)0x0;\n        psVar29 = local_918;\n        do {\n          lVar39 = sg_get_llnum(psVar29,pcVar18,psVar11,psVar20);\n          psVar11 = (stat64 *)lVar39;\n          if ((int)((ulonglong)lVar39 >> 0x20) == -1) {\n            if (psVar11 == (stat64 *)0xffffffff) {\n              psVar26 = (stat64 *)((int)psVar29 - (int)local_918);\n              goto LAB_000127bf;\n            }\n          }\n          else if (0xffffffff < lVar39) {\n            psVar20 = (stat64 *)((int)psVar29 + (1 - (int)local_918));\n            pcVar18 = "build_num_arr";\n            pr2serr("%s: number exceeds 32 bits at pos %d\n","build_num_arr",psVar20,psVar12);\n            goto LAB_000127d9;\n          }\n          ppsVar42[(int)psVar12] = psVar11;\n          psVar20 = psVar11;\n          pcVar15 = strchr((char *)psVar29,0x2c);\n          pcVar18 = (char *)0x20;\n          pcVar16 = strchr((char *)psVar29,0x20);\n          if (pcVar15 == (char *)0x0) {\n            if (pcVar16 == (char *)0x0) {\n              puVar48 = (undefined1 *)((int)&psVar12->st_dev + 1);\n              psVar26 = (stat64 *)0x0;\n              psVar20 = extraout_ECX_00;\n              if ((undefined1 *)0x1 < local_91c) {\n                if ((stat64 *)puVar48 == local_91c) goto LAB_00012820;\n                goto LAB_00012a73;\n              }\n              if (local_91c == (stat64 *)0x0) {\n                if (puVar48 != (undefined1 *)0x1) {\nLAB_00012a73:\n                  pr2serr("need same number of arguments to \'--lba=\' and \'--num=\' options\n");\n                  local_908 = (stat64 *)0x1f;\n                  goto LAB_00012354;\n                }\n                local_91c = (stat64 *)(undefined1 *)0x1;\n                if (local_778[0] != (stat64 *)0x0) {\n                  pr2serr("won\'t write %u blocks without an explicit --lba= option\n",local_778[0],\n                          extraout_ECX_00,extraout_ECX_00);\n                  local_908 = (stat64 *)0x1;\n                  goto LAB_00012354;\n                }\n              }\n              else {\n                local_91c = (stat64 *)(undefined1 *)0x1;\n              }\n              goto LAB_00012820;\n            }\n          }\n          else if ((pcVar16 == (char *)0x0) || (pcVar15 <= pcVar16)) {\n            pcVar16 = pcVar15;\n          }\n          psVar12 = (stat64 *)((int)&psVar12->st_dev + 1);\n          psVar29 = (stat64 *)(pcVar16 + 1);\n        } while (psVar12 != (stat64 *)0x80);\n        pcVar18 = "build_num_arr";\n        psVar20 = extraout_ECX_00;\n        psVar12 = extraout_ECX_00;\n        pr2serr("%s: array length exceeded\n","build_num_arr",extraout_ECX_00,extraout_ECX_00);\n      }\n      else {\nLAB_000127bf:\n        psVar20 = (stat64 *)((int)&psVar26->st_dev + 1);\n        pcVar18 = "build_num_arr";\n        pr2serr("%s: error at pos %d\n","build_num_arr",psVar20,psVar12);\n      }\n    }" { (expression_statement "pcVar18 = "0123456789aAbBcCdDeEfFhHxXiIkKmMgGtTpP, ";" (assignment_expression "pcVar18 = "0123456789aAbBcCdDeEfFhHxXiIkKmMgGtTpP, "" identifier = (string_literal ""0123456789aAbBcCdDeEfFhHxXiIkKmMgGtTpP, "" " string_content ")) ;) (expression_statement "psVar20 = psVar11;" (assignment_expression "psVar20 = psVar11" identifier = identifier) ;) (expression_statement "psVar26 = (stat64 *)strspn((char *)local_918,"0123456789aAbBcCdDeEfFhHxXiIkKmMgGtTpP, ");" (assignment_expression "psVar26 = (stat64 *)strspn((char *)local_918,"0123456789aAbBcCdDeEfFhHxXiIkKmMgGtTpP, ")" identifier = (cast_expression "(stat64 *)strspn((char *)local_918,"0123456789aAbBcCdDeEfFhHxXiIkKmMgGtTpP, ")" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "strspn((char *)local_918,"0123456789aAbBcCdDeEfFhHxXiIkKmMgGtTpP, ")" identifier (argument_list "((char *)local_918,"0123456789aAbBcCdDeEfFhHxXiIkKmMgGtTpP, ")" ( (cast_expression "(char *)local_918" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) , (string_literal ""0123456789aAbBcCdDeEfFhHxXiIkKmMgGtTpP, "" " string_content ") ))))) ;) (expression_statement "psVar12 = extraout_EDX_00;" (assignment_expression "psVar12 = extraout_EDX_00" identifier = identifier) ;) (if_statement "if (psVar29 == psVar26) {\n        psVar12 = (stat64 *)0x0;\n        psVar29 = local_918;\n        do {\n          lVar39 = sg_get_llnum(psVar29,pcVar18,psVar11,psVar20);\n          psVar11 = (stat64 *)lVar39;\n          if ((int)((ulonglong)lVar39 >> 0x20) == -1) {\n            if (psVar11 == (stat64 *)0xffffffff) {\n              psVar26 = (stat64 *)((int)psVar29 - (int)local_918);\n              goto LAB_000127bf;\n            }\n          }\n          else if (0xffffffff < lVar39) {\n            psVar20 = (stat64 *)((int)psVar29 + (1 - (int)local_918));\n            pcVar18 = "build_num_arr";\n            pr2serr("%s: number exceeds 32 bits at pos %d\n","build_num_arr",psVar20,psVar12);\n            goto LAB_000127d9;\n          }\n          ppsVar42[(int)psVar12] = psVar11;\n          psVar20 = psVar11;\n          pcVar15 = strchr((char *)psVar29,0x2c);\n          pcVar18 = (char *)0x20;\n          pcVar16 = strchr((char *)psVar29,0x20);\n          if (pcVar15 == (char *)0x0) {\n            if (pcVar16 == (char *)0x0) {\n              puVar48 = (undefined1 *)((int)&psVar12->st_dev + 1);\n              psVar26 = (stat64 *)0x0;\n              psVar20 = extraout_ECX_00;\n              if ((undefined1 *)0x1 < local_91c) {\n                if ((stat64 *)puVar48 == local_91c) goto LAB_00012820;\n                goto LAB_00012a73;\n              }\n              if (local_91c == (stat64 *)0x0) {\n                if (puVar48 != (undefined1 *)0x1) {\nLAB_00012a73:\n                  pr2serr("need same number of arguments to \'--lba=\' and \'--num=\' options\n");\n                  local_908 = (stat64 *)0x1f;\n                  goto LAB_00012354;\n                }\n                local_91c = (stat64 *)(undefined1 *)0x1;\n                if (local_778[0] != (stat64 *)0x0) {\n                  pr2serr("won\'t write %u blocks without an explicit --lba= option\n",local_778[0],\n                          extraout_ECX_00,extraout_ECX_00);\n                  local_908 = (stat64 *)0x1;\n                  goto LAB_00012354;\n                }\n              }\n              else {\n                local_91c = (stat64 *)(undefined1 *)0x1;\n              }\n              goto LAB_00012820;\n            }\n          }\n          else if ((pcVar16 == (char *)0x0) || (pcVar15 <= pcVar16)) {\n            pcVar16 = pcVar15;\n          }\n          psVar12 = (stat64 *)((int)&psVar12->st_dev + 1);\n          psVar29 = (stat64 *)(pcVar16 + 1);\n        } while (psVar12 != (stat64 *)0x80);\n        pcVar18 = "build_num_arr";\n        psVar20 = extraout_ECX_00;\n        psVar12 = extraout_ECX_00;\n        pr2serr("%s: array length exceeded\n","build_num_arr",extraout_ECX_00,extraout_ECX_00);\n      }\n      else {\nLAB_000127bf:\n        psVar20 = (stat64 *)((int)&psVar26->st_dev + 1);\n        pcVar18 = "build_num_arr";\n        pr2serr("%s: error at pos %d\n","build_num_arr",psVar20,psVar12);\n      }" if (parenthesized_expression "(psVar29 == psVar26)" ( (binary_expression "psVar29 == psVar26" identifier == identifier) )) (compound_statement "{\n        psVar12 = (stat64 *)0x0;\n        psVar29 = local_918;\n        do {\n          lVar39 = sg_get_llnum(psVar29,pcVar18,psVar11,psVar20);\n          psVar11 = (stat64 *)lVar39;\n          if ((int)((ulonglong)lVar39 >> 0x20) == -1) {\n            if (psVar11 == (stat64 *)0xffffffff) {\n              psVar26 = (stat64 *)((int)psVar29 - (int)local_918);\n              goto LAB_000127bf;\n            }\n          }\n          else if (0xffffffff < lVar39) {\n            psVar20 = (stat64 *)((int)psVar29 + (1 - (int)local_918));\n            pcVar18 = "build_num_arr";\n            pr2serr("%s: number exceeds 32 bits at pos %d\n","build_num_arr",psVar20,psVar12);\n            goto LAB_000127d9;\n          }\n          ppsVar42[(int)psVar12] = psVar11;\n          psVar20 = psVar11;\n          pcVar15 = strchr((char *)psVar29,0x2c);\n          pcVar18 = (char *)0x20;\n          pcVar16 = strchr((char *)psVar29,0x20);\n          if (pcVar15 == (char *)0x0) {\n            if (pcVar16 == (char *)0x0) {\n              puVar48 = (undefined1 *)((int)&psVar12->st_dev + 1);\n              psVar26 = (stat64 *)0x0;\n              psVar20 = extraout_ECX_00;\n              if ((undefined1 *)0x1 < local_91c) {\n                if ((stat64 *)puVar48 == local_91c) goto LAB_00012820;\n                goto LAB_00012a73;\n              }\n              if (local_91c == (stat64 *)0x0) {\n                if (puVar48 != (undefined1 *)0x1) {\nLAB_00012a73:\n                  pr2serr("need same number of arguments to \'--lba=\' and \'--num=\' options\n");\n                  local_908 = (stat64 *)0x1f;\n                  goto LAB_00012354;\n                }\n                local_91c = (stat64 *)(undefined1 *)0x1;\n                if (local_778[0] != (stat64 *)0x0) {\n                  pr2serr("won\'t write %u blocks without an explicit --lba= option\n",local_778[0],\n                          extraout_ECX_00,extraout_ECX_00);\n                  local_908 = (stat64 *)0x1;\n                  goto LAB_00012354;\n                }\n              }\n              else {\n                local_91c = (stat64 *)(undefined1 *)0x1;\n              }\n              goto LAB_00012820;\n            }\n          }\n          else if ((pcVar16 == (char *)0x0) || (pcVar15 <= pcVar16)) {\n            pcVar16 = pcVar15;\n          }\n          psVar12 = (stat64 *)((int)&psVar12->st_dev + 1);\n          psVar29 = (stat64 *)(pcVar16 + 1);\n        } while (psVar12 != (stat64 *)0x80);\n        pcVar18 = "build_num_arr";\n        psVar20 = extraout_ECX_00;\n        psVar12 = extraout_ECX_00;\n        pr2serr("%s: array length exceeded\n","build_num_arr",extraout_ECX_00,extraout_ECX_00);\n      }" { (expression_statement "psVar12 = (stat64 *)0x0;" (assignment_expression "psVar12 = (stat64 *)0x0" identifier = (cast_expression "(stat64 *)0x0" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "psVar29 = local_918;" (assignment_expression "psVar29 = local_918" identifier = identifier) ;) (do_statement "do {\n          lVar39 = sg_get_llnum(psVar29,pcVar18,psVar11,psVar20);\n          psVar11 = (stat64 *)lVar39;\n          if ((int)((ulonglong)lVar39 >> 0x20) == -1) {\n            if (psVar11 == (stat64 *)0xffffffff) {\n              psVar26 = (stat64 *)((int)psVar29 - (int)local_918);\n              goto LAB_000127bf;\n            }\n          }\n          else if (0xffffffff < lVar39) {\n            psVar20 = (stat64 *)((int)psVar29 + (1 - (int)local_918));\n            pcVar18 = "build_num_arr";\n            pr2serr("%s: number exceeds 32 bits at pos %d\n","build_num_arr",psVar20,psVar12);\n            goto LAB_000127d9;\n          }\n          ppsVar42[(int)psVar12] = psVar11;\n          psVar20 = psVar11;\n          pcVar15 = strchr((char *)psVar29,0x2c);\n          pcVar18 = (char *)0x20;\n          pcVar16 = strchr((char *)psVar29,0x20);\n          if (pcVar15 == (char *)0x0) {\n            if (pcVar16 == (char *)0x0) {\n              puVar48 = (undefined1 *)((int)&psVar12->st_dev + 1);\n              psVar26 = (stat64 *)0x0;\n              psVar20 = extraout_ECX_00;\n              if ((undefined1 *)0x1 < local_91c) {\n                if ((stat64 *)puVar48 == local_91c) goto LAB_00012820;\n                goto LAB_00012a73;\n              }\n              if (local_91c == (stat64 *)0x0) {\n                if (puVar48 != (undefined1 *)0x1) {\nLAB_00012a73:\n                  pr2serr("need same number of arguments to \'--lba=\' and \'--num=\' options\n");\n                  local_908 = (stat64 *)0x1f;\n                  goto LAB_00012354;\n                }\n                local_91c = (stat64 *)(undefined1 *)0x1;\n                if (local_778[0] != (stat64 *)0x0) {\n                  pr2serr("won\'t write %u blocks without an explicit --lba= option\n",local_778[0],\n                          extraout_ECX_00,extraout_ECX_00);\n                  local_908 = (stat64 *)0x1;\n                  goto LAB_00012354;\n                }\n              }\n              else {\n                local_91c = (stat64 *)(undefined1 *)0x1;\n              }\n              goto LAB_00012820;\n            }\n          }\n          else if ((pcVar16 == (char *)0x0) || (pcVar15 <= pcVar16)) {\n            pcVar16 = pcVar15;\n          }\n          psVar12 = (stat64 *)((int)&psVar12->st_dev + 1);\n          psVar29 = (stat64 *)(pcVar16 + 1);\n        } while (psVar12 != (stat64 *)0x80);" do (compound_statement "{\n          lVar39 = sg_get_llnum(psVar29,pcVar18,psVar11,psVar20);\n          psVar11 = (stat64 *)lVar39;\n          if ((int)((ulonglong)lVar39 >> 0x20) == -1) {\n            if (psVar11 == (stat64 *)0xffffffff) {\n              psVar26 = (stat64 *)((int)psVar29 - (int)local_918);\n              goto LAB_000127bf;\n            }\n          }\n          else if (0xffffffff < lVar39) {\n            psVar20 = (stat64 *)((int)psVar29 + (1 - (int)local_918));\n            pcVar18 = "build_num_arr";\n            pr2serr("%s: number exceeds 32 bits at pos %d\n","build_num_arr",psVar20,psVar12);\n            goto LAB_000127d9;\n          }\n          ppsVar42[(int)psVar12] = psVar11;\n          psVar20 = psVar11;\n          pcVar15 = strchr((char *)psVar29,0x2c);\n          pcVar18 = (char *)0x20;\n          pcVar16 = strchr((char *)psVar29,0x20);\n          if (pcVar15 == (char *)0x0) {\n            if (pcVar16 == (char *)0x0) {\n              puVar48 = (undefined1 *)((int)&psVar12->st_dev + 1);\n              psVar26 = (stat64 *)0x0;\n              psVar20 = extraout_ECX_00;\n              if ((undefined1 *)0x1 < local_91c) {\n                if ((stat64 *)puVar48 == local_91c) goto LAB_00012820;\n                goto LAB_00012a73;\n              }\n              if (local_91c == (stat64 *)0x0) {\n                if (puVar48 != (undefined1 *)0x1) {\nLAB_00012a73:\n                  pr2serr("need same number of arguments to \'--lba=\' and \'--num=\' options\n");\n                  local_908 = (stat64 *)0x1f;\n                  goto LAB_00012354;\n                }\n                local_91c = (stat64 *)(undefined1 *)0x1;\n                if (local_778[0] != (stat64 *)0x0) {\n                  pr2serr("won\'t write %u blocks without an explicit --lba= option\n",local_778[0],\n                          extraout_ECX_00,extraout_ECX_00);\n                  local_908 = (stat64 *)0x1;\n                  goto LAB_00012354;\n                }\n              }\n              else {\n                local_91c = (stat64 *)(undefined1 *)0x1;\n              }\n              goto LAB_00012820;\n            }\n          }\n          else if ((pcVar16 == (char *)0x0) || (pcVar15 <= pcVar16)) {\n            pcVar16 = pcVar15;\n          }\n          psVar12 = (stat64 *)((int)&psVar12->st_dev + 1);\n          psVar29 = (stat64 *)(pcVar16 + 1);\n        }" { (expression_statement "lVar39 = sg_get_llnum(psVar29,pcVar18,psVar11,psVar20);" (assignment_expression "lVar39 = sg_get_llnum(psVar29,pcVar18,psVar11,psVar20)" identifier = (call_expression "sg_get_llnum(psVar29,pcVar18,psVar11,psVar20)" identifier (argument_list "(psVar29,pcVar18,psVar11,psVar20)" ( identifier , identifier , identifier , identifier )))) ;) (expression_statement "psVar11 = (stat64 *)lVar39;" (assignment_expression "psVar11 = (stat64 *)lVar39" identifier = (cast_expression "(stat64 *)lVar39" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (if_statement "if ((int)((ulonglong)lVar39 >> 0x20) == -1) {\n            if (psVar11 == (stat64 *)0xffffffff) {\n              psVar26 = (stat64 *)((int)psVar29 - (int)local_918);\n              goto LAB_000127bf;\n            }\n          }\n          else if (0xffffffff < lVar39) {\n            psVar20 = (stat64 *)((int)psVar29 + (1 - (int)local_918));\n            pcVar18 = "build_num_arr";\n            pr2serr("%s: number exceeds 32 bits at pos %d\n","build_num_arr",psVar20,psVar12);\n            goto LAB_000127d9;\n          }" if (parenthesized_expression "((int)((ulonglong)lVar39 >> 0x20) == -1)" ( (binary_expression "(int)((ulonglong)lVar39 >> 0x20) == -1" (cast_expression "(int)((ulonglong)lVar39 >> 0x20)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((ulonglong)lVar39 >> 0x20)" ( (binary_expression "(ulonglong)lVar39 >> 0x20" (cast_expression "(ulonglong)lVar39" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) ))) == number_literal) )) (compound_statement "{\n            if (psVar11 == (stat64 *)0xffffffff) {\n              psVar26 = (stat64 *)((int)psVar29 - (int)local_918);\n              goto LAB_000127bf;\n            }\n          }" { (if_statement "if (psVar11 == (stat64 *)0xffffffff) {\n              psVar26 = (stat64 *)((int)psVar29 - (int)local_918);\n              goto LAB_000127bf;\n            }" if (parenthesized_expression "(psVar11 == (stat64 *)0xffffffff)" ( (binary_expression "psVar11 == (stat64 *)0xffffffff" identifier == (cast_expression "(stat64 *)0xffffffff" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n              psVar26 = (stat64 *)((int)psVar29 - (int)local_918);\n              goto LAB_000127bf;\n            }" { (expression_statement "psVar26 = (stat64 *)((int)psVar29 - (int)local_918);" (assignment_expression "psVar26 = (stat64 *)((int)psVar29 - (int)local_918)" identifier = (cast_expression "(stat64 *)((int)psVar29 - (int)local_918)" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)psVar29 - (int)local_918)" ( (binary_expression "(int)psVar29 - (int)local_918" (cast_expression "(int)psVar29" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)local_918" ( (type_descriptor "int" primitive_type) ) identifier)) )))) ;) (goto_statement "goto LAB_000127bf;" goto statement_identifier ;) })) }) (else_clause "else if (0xffffffff < lVar39) {\n            psVar20 = (stat64 *)((int)psVar29 + (1 - (int)local_918));\n            pcVar18 = "build_num_arr";\n            pr2serr("%s: number exceeds 32 bits at pos %d\n","build_num_arr",psVar20,psVar12);\n            goto LAB_000127d9;\n          }" else (if_statement "if (0xffffffff < lVar39) {\n            psVar20 = (stat64 *)((int)psVar29 + (1 - (int)local_918));\n            pcVar18 = "build_num_arr";\n            pr2serr("%s: number exceeds 32 bits at pos %d\n","build_num_arr",psVar20,psVar12);\n            goto LAB_000127d9;\n          }" if (parenthesized_expression "(0xffffffff < lVar39)" ( (binary_expression "0xffffffff < lVar39" number_literal < identifier) )) (compound_statement "{\n            psVar20 = (stat64 *)((int)psVar29 + (1 - (int)local_918));\n            pcVar18 = "build_num_arr";\n            pr2serr("%s: number exceeds 32 bits at pos %d\n","build_num_arr",psVar20,psVar12);\n            goto LAB_000127d9;\n          }" { (expression_statement "psVar20 = (stat64 *)((int)psVar29 + (1 - (int)local_918));" (assignment_expression "psVar20 = (stat64 *)((int)psVar29 + (1 - (int)local_918))" identifier = (cast_expression "(stat64 *)((int)psVar29 + (1 - (int)local_918))" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)psVar29 + (1 - (int)local_918))" ( (binary_expression "(int)psVar29 + (1 - (int)local_918)" (cast_expression "(int)psVar29" ( (type_descriptor "int" primitive_type) ) identifier) + (parenthesized_expression "(1 - (int)local_918)" ( (binary_expression "1 - (int)local_918" number_literal - (cast_expression "(int)local_918" ( (type_descriptor "int" primitive_type) ) identifier)) ))) )))) ;) (expression_statement "pcVar18 = "build_num_arr";" (assignment_expression "pcVar18 = "build_num_arr"" identifier = (string_literal ""build_num_arr"" " string_content ")) ;) (expression_statement "pr2serr("%s: number exceeds 32 bits at pos %d\n","build_num_arr",psVar20,psVar12);" (call_expression "pr2serr("%s: number exceeds 32 bits at pos %d\n","build_num_arr",psVar20,psVar12)" identifier (argument_list "("%s: number exceeds 32 bits at pos %d\n","build_num_arr",psVar20,psVar12)" ( (string_literal ""%s: number exceeds 32 bits at pos %d\n"" " string_content escape_sequence ") , (string_literal ""build_num_arr"" " string_content ") , identifier , identifier ))) ;) (goto_statement "goto LAB_000127d9;" goto statement_identifier ;) })))) (expression_statement "ppsVar42[(int)psVar12] = psVar11;" (assignment_expression "ppsVar42[(int)psVar12] = psVar11" (subscript_expression "ppsVar42[(int)psVar12]" identifier [ (cast_expression "(int)psVar12" ( (type_descriptor "int" primitive_type) ) identifier) ]) = identifier) ;) (expression_statement "psVar20 = psVar11;" (assignment_expression "psVar20 = psVar11" identifier = identifier) ;) (expression_statement "pcVar15 = strchr((char *)psVar29,0x2c);" (assignment_expression "pcVar15 = strchr((char *)psVar29,0x2c)" identifier = (call_expression "strchr((char *)psVar29,0x2c)" identifier (argument_list "((char *)psVar29,0x2c)" ( (cast_expression "(char *)psVar29" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) , number_literal )))) ;) (expression_statement "pcVar18 = (char *)0x20;" (assignment_expression "pcVar18 = (char *)0x20" identifier = (cast_expression "(char *)0x20" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "pcVar16 = strchr((char *)psVar29,0x20);" (assignment_expression "pcVar16 = strchr((char *)psVar29,0x20)" identifier = (call_expression "strchr((char *)psVar29,0x20)" identifier (argument_list "((char *)psVar29,0x20)" ( (cast_expression "(char *)psVar29" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) , number_literal )))) ;) (if_statement "if (pcVar15 == (char *)0x0) {\n            if (pcVar16 == (char *)0x0) {\n              puVar48 = (undefined1 *)((int)&psVar12->st_dev + 1);\n              psVar26 = (stat64 *)0x0;\n              psVar20 = extraout_ECX_00;\n              if ((undefined1 *)0x1 < local_91c) {\n                if ((stat64 *)puVar48 == local_91c) goto LAB_00012820;\n                goto LAB_00012a73;\n              }\n              if (local_91c == (stat64 *)0x0) {\n                if (puVar48 != (undefined1 *)0x1) {\nLAB_00012a73:\n                  pr2serr("need same number of arguments to \'--lba=\' and \'--num=\' options\n");\n                  local_908 = (stat64 *)0x1f;\n                  goto LAB_00012354;\n                }\n                local_91c = (stat64 *)(undefined1 *)0x1;\n                if (local_778[0] != (stat64 *)0x0) {\n                  pr2serr("won\'t write %u blocks without an explicit --lba= option\n",local_778[0],\n                          extraout_ECX_00,extraout_ECX_00);\n                  local_908 = (stat64 *)0x1;\n                  goto LAB_00012354;\n                }\n              }\n              else {\n                local_91c = (stat64 *)(undefined1 *)0x1;\n              }\n              goto LAB_00012820;\n            }\n          }\n          else if ((pcVar16 == (char *)0x0) || (pcVar15 <= pcVar16)) {\n            pcVar16 = pcVar15;\n          }" if (parenthesized_expression "(pcVar15 == (char *)0x0)" ( (binary_expression "pcVar15 == (char *)0x0" identifier == (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n            if (pcVar16 == (char *)0x0) {\n              puVar48 = (undefined1 *)((int)&psVar12->st_dev + 1);\n              psVar26 = (stat64 *)0x0;\n              psVar20 = extraout_ECX_00;\n              if ((undefined1 *)0x1 < local_91c) {\n                if ((stat64 *)puVar48 == local_91c) goto LAB_00012820;\n                goto LAB_00012a73;\n              }\n              if (local_91c == (stat64 *)0x0) {\n                if (puVar48 != (undefined1 *)0x1) {\nLAB_00012a73:\n                  pr2serr("need same number of arguments to \'--lba=\' and \'--num=\' options\n");\n                  local_908 = (stat64 *)0x1f;\n                  goto LAB_00012354;\n                }\n                local_91c = (stat64 *)(undefined1 *)0x1;\n                if (local_778[0] != (stat64 *)0x0) {\n                  pr2serr("won\'t write %u blocks without an explicit --lba= option\n",local_778[0],\n                          extraout_ECX_00,extraout_ECX_00);\n                  local_908 = (stat64 *)0x1;\n                  goto LAB_00012354;\n                }\n              }\n              else {\n                local_91c = (stat64 *)(undefined1 *)0x1;\n              }\n              goto LAB_00012820;\n            }\n          }" { (if_statement "if (pcVar16 == (char *)0x0) {\n              puVar48 = (undefined1 *)((int)&psVar12->st_dev + 1);\n              psVar26 = (stat64 *)0x0;\n              psVar20 = extraout_ECX_00;\n              if ((undefined1 *)0x1 < local_91c) {\n                if ((stat64 *)puVar48 == local_91c) goto LAB_00012820;\n                goto LAB_00012a73;\n              }\n              if (local_91c == (stat64 *)0x0) {\n                if (puVar48 != (undefined1 *)0x1) {\nLAB_00012a73:\n                  pr2serr("need same number of arguments to \'--lba=\' and \'--num=\' options\n");\n                  local_908 = (stat64 *)0x1f;\n                  goto LAB_00012354;\n                }\n                local_91c = (stat64 *)(undefined1 *)0x1;\n                if (local_778[0] != (stat64 *)0x0) {\n                  pr2serr("won\'t write %u blocks without an explicit --lba= option\n",local_778[0],\n                          extraout_ECX_00,extraout_ECX_00);\n                  local_908 = (stat64 *)0x1;\n                  goto LAB_00012354;\n                }\n              }\n              else {\n                local_91c = (stat64 *)(undefined1 *)0x1;\n              }\n              goto LAB_00012820;\n            }" if (parenthesized_expression "(pcVar16 == (char *)0x0)" ( (binary_expression "pcVar16 == (char *)0x0" identifier == (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n              puVar48 = (undefined1 *)((int)&psVar12->st_dev + 1);\n              psVar26 = (stat64 *)0x0;\n              psVar20 = extraout_ECX_00;\n              if ((undefined1 *)0x1 < local_91c) {\n                if ((stat64 *)puVar48 == local_91c) goto LAB_00012820;\n                goto LAB_00012a73;\n              }\n              if (local_91c == (stat64 *)0x0) {\n                if (puVar48 != (undefined1 *)0x1) {\nLAB_00012a73:\n                  pr2serr("need same number of arguments to \'--lba=\' and \'--num=\' options\n");\n                  local_908 = (stat64 *)0x1f;\n                  goto LAB_00012354;\n                }\n                local_91c = (stat64 *)(undefined1 *)0x1;\n                if (local_778[0] != (stat64 *)0x0) {\n                  pr2serr("won\'t write %u blocks without an explicit --lba= option\n",local_778[0],\n                          extraout_ECX_00,extraout_ECX_00);\n                  local_908 = (stat64 *)0x1;\n                  goto LAB_00012354;\n                }\n              }\n              else {\n                local_91c = (stat64 *)(undefined1 *)0x1;\n              }\n              goto LAB_00012820;\n            }" { (expression_statement "puVar48 = (undefined1 *)((int)&psVar12->st_dev + 1);" (assignment_expression "puVar48 = (undefined1 *)((int)&psVar12->st_dev + 1)" identifier = (cast_expression "(undefined1 *)((int)&psVar12->st_dev + 1)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&psVar12->st_dev + 1)" ( (binary_expression "(int)&psVar12->st_dev + 1" (cast_expression "(int)&psVar12->st_dev" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&psVar12->st_dev" & (field_expression "psVar12->st_dev" identifier -> field_identifier))) + number_literal) )))) ;) (expression_statement "psVar26 = (stat64 *)0x0;" (assignment_expression "psVar26 = (stat64 *)0x0" identifier = (cast_expression "(stat64 *)0x0" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "psVar20 = extraout_ECX_00;" (assignment_expression "psVar20 = extraout_ECX_00" identifier = identifier) ;) (if_statement "if ((undefined1 *)0x1 < local_91c) {\n                if ((stat64 *)puVar48 == local_91c) goto LAB_00012820;\n                goto LAB_00012a73;\n              }" if (parenthesized_expression "((undefined1 *)0x1 < local_91c)" ( (binary_expression "(undefined1 *)0x1 < local_91c" (cast_expression "(undefined1 *)0x1" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal) < identifier) )) (compound_statement "{\n                if ((stat64 *)puVar48 == local_91c) goto LAB_00012820;\n                goto LAB_00012a73;\n              }" { (if_statement "if ((stat64 *)puVar48 == local_91c) goto LAB_00012820;" if (parenthesized_expression "((stat64 *)puVar48 == local_91c)" ( (binary_expression "(stat64 *)puVar48 == local_91c" (cast_expression "(stat64 *)puVar48" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) == identifier) )) (goto_statement "goto LAB_00012820;" goto statement_identifier ;)) (goto_statement "goto LAB_00012a73;" goto statement_identifier ;) })) (if_statement "if (local_91c == (stat64 *)0x0) {\n                if (puVar48 != (undefined1 *)0x1) {\nLAB_00012a73:\n                  pr2serr("need same number of arguments to \'--lba=\' and \'--num=\' options\n");\n                  local_908 = (stat64 *)0x1f;\n                  goto LAB_00012354;\n                }\n                local_91c = (stat64 *)(undefined1 *)0x1;\n                if (local_778[0] != (stat64 *)0x0) {\n                  pr2serr("won\'t write %u blocks without an explicit --lba= option\n",local_778[0],\n                          extraout_ECX_00,extraout_ECX_00);\n                  local_908 = (stat64 *)0x1;\n                  goto LAB_00012354;\n                }\n              }\n              else {\n                local_91c = (stat64 *)(undefined1 *)0x1;\n              }" if (parenthesized_expression "(local_91c == (stat64 *)0x0)" ( (binary_expression "local_91c == (stat64 *)0x0" identifier == (cast_expression "(stat64 *)0x0" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n                if (puVar48 != (undefined1 *)0x1) {\nLAB_00012a73:\n                  pr2serr("need same number of arguments to \'--lba=\' and \'--num=\' options\n");\n                  local_908 = (stat64 *)0x1f;\n                  goto LAB_00012354;\n                }\n                local_91c = (stat64 *)(undefined1 *)0x1;\n                if (local_778[0] != (stat64 *)0x0) {\n                  pr2serr("won\'t write %u blocks without an explicit --lba= option\n",local_778[0],\n                          extraout_ECX_00,extraout_ECX_00);\n                  local_908 = (stat64 *)0x1;\n                  goto LAB_00012354;\n                }\n              }" { (if_statement "if (puVar48 != (undefined1 *)0x1) {\nLAB_00012a73:\n                  pr2serr("need same number of arguments to \'--lba=\' and \'--num=\' options\n");\n                  local_908 = (stat64 *)0x1f;\n                  goto LAB_00012354;\n                }" if (parenthesized_expression "(puVar48 != (undefined1 *)0x1)" ( (binary_expression "puVar48 != (undefined1 *)0x1" identifier != (cast_expression "(undefined1 *)0x1" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\nLAB_00012a73:\n                  pr2serr("need same number of arguments to \'--lba=\' and \'--num=\' options\n");\n                  local_908 = (stat64 *)0x1f;\n                  goto LAB_00012354;\n                }" { (labeled_statement "LAB_00012a73:\n                  pr2serr("need same number of arguments to \'--lba=\' and \'--num=\' options\n");" statement_identifier : (expression_statement "pr2serr("need same number of arguments to \'--lba=\' and \'--num=\' options\n");" (call_expression "pr2serr("need same number of arguments to \'--lba=\' and \'--num=\' options\n")" identifier (argument_list "("need same number of arguments to \'--lba=\' and \'--num=\' options\n")" ( (string_literal ""need same number of arguments to \'--lba=\' and \'--num=\' options\n"" " string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence ") ))) ;)) (expression_statement "local_908 = (stat64 *)0x1f;" (assignment_expression "local_908 = (stat64 *)0x1f" identifier = (cast_expression "(stat64 *)0x1f" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (goto_statement "goto LAB_00012354;" goto statement_identifier ;) })) (expression_statement "local_91c = (stat64 *)(undefined1 *)0x1;" (assignment_expression "local_91c = (stat64 *)(undefined1 *)0x1" identifier = (cast_expression "(stat64 *)(undefined1 *)0x1" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) (cast_expression "(undefined1 *)0x1" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal))) ;) (if_statement "if (local_778[0] != (stat64 *)0x0) {\n                  pr2serr("won\'t write %u blocks without an explicit --lba= option\n",local_778[0],\n                          extraout_ECX_00,extraout_ECX_00);\n                  local_908 = (stat64 *)0x1;\n                  goto LAB_00012354;\n                }" if (parenthesized_expression "(local_778[0] != (stat64 *)0x0)" ( (binary_expression "local_778[0] != (stat64 *)0x0" (subscript_expression "local_778[0]" identifier [ number_literal ]) != (cast_expression "(stat64 *)0x0" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n                  pr2serr("won\'t write %u blocks without an explicit --lba= option\n",local_778[0],\n                          extraout_ECX_00,extraout_ECX_00);\n                  local_908 = (stat64 *)0x1;\n                  goto LAB_00012354;\n                }" { (expression_statement "pr2serr("won\'t write %u blocks without an explicit --lba= option\n",local_778[0],\n                          extraout_ECX_00,extraout_ECX_00);" (call_expression "pr2serr("won\'t write %u blocks without an explicit --lba= option\n",local_778[0],\n                          extraout_ECX_00,extraout_ECX_00)" identifier (argument_list "("won\'t write %u blocks without an explicit --lba= option\n",local_778[0],\n                          extraout_ECX_00,extraout_ECX_00)" ( (string_literal ""won\'t write %u blocks without an explicit --lba= option\n"" " string_content escape_sequence string_content escape_sequence ") , (subscript_expression "local_778[0]" identifier [ number_literal ]) , identifier , identifier ))) ;) (expression_statement "local_908 = (stat64 *)0x1;" (assignment_expression "local_908 = (stat64 *)0x1" identifier = (cast_expression "(stat64 *)0x1" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (goto_statement "goto LAB_00012354;" goto statement_identifier ;) })) }) (else_clause "else {\n                local_91c = (stat64 *)(undefined1 *)0x1;\n              }" else (compound_statement "{\n                local_91c = (stat64 *)(undefined1 *)0x1;\n              }" { (expression_statement "local_91c = (stat64 *)(undefined1 *)0x1;" (assignment_expression "local_91c = (stat64 *)(undefined1 *)0x1" identifier = (cast_expression "(stat64 *)(undefined1 *)0x1" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) (cast_expression "(undefined1 *)0x1" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal))) ;) }))) (goto_statement "goto LAB_00012820;" goto statement_identifier ;) })) }) (else_clause "else if ((pcVar16 == (char *)0x0) || (pcVar15 <= pcVar16)) {\n            pcVar16 = pcVar15;\n          }" else (if_statement "if ((pcVar16 == (char *)0x0) || (pcVar15 <= pcVar16)) {\n            pcVar16 = pcVar15;\n          }" if (parenthesized_expression "((pcVar16 == (char *)0x0) || (pcVar15 <= pcVar16))" ( (binary_expression "(pcVar16 == (char *)0x0) || (pcVar15 <= pcVar16)" (parenthesized_expression "(pcVar16 == (char *)0x0)" ( (binary_expression "pcVar16 == (char *)0x0" identifier == (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) || (parenthesized_expression "(pcVar15 <= pcVar16)" ( (binary_expression "pcVar15 <= pcVar16" identifier <= identifier) ))) )) (compound_statement "{\n            pcVar16 = pcVar15;\n          }" { (expression_statement "pcVar16 = pcVar15;" (assignment_expression "pcVar16 = pcVar15" identifier = identifier) ;) })))) (expression_statement "psVar12 = (stat64 *)((int)&psVar12->st_dev + 1);" (assignment_expression "psVar12 = (stat64 *)((int)&psVar12->st_dev + 1)" identifier = (cast_expression "(stat64 *)((int)&psVar12->st_dev + 1)" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&psVar12->st_dev + 1)" ( (binary_expression "(int)&psVar12->st_dev + 1" (cast_expression "(int)&psVar12->st_dev" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&psVar12->st_dev" & (field_expression "psVar12->st_dev" identifier -> field_identifier))) + number_literal) )))) ;) (expression_statement "psVar29 = (stat64 *)(pcVar16 + 1);" (assignment_expression "psVar29 = (stat64 *)(pcVar16 + 1)" identifier = (cast_expression "(stat64 *)(pcVar16 + 1)" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar16 + 1)" ( (binary_expression "pcVar16 + 1" identifier + number_literal) )))) ;) }) while (parenthesized_expression "(psVar12 != (stat64 *)0x80)" ( (binary_expression "psVar12 != (stat64 *)0x80" identifier != (cast_expression "(stat64 *)0x80" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) ;) (expression_statement "pcVar18 = "build_num_arr";" (assignment_expression "pcVar18 = "build_num_arr"" identifier = (string_literal ""build_num_arr"" " string_content ")) ;) (expression_statement "psVar20 = extraout_ECX_00;" (assignment_expression "psVar20 = extraout_ECX_00" identifier = identifier) ;) (expression_statement "psVar12 = extraout_ECX_00;" (assignment_expression "psVar12 = extraout_ECX_00" identifier = identifier) ;) (expression_statement "pr2serr("%s: array length exceeded\n","build_num_arr",extraout_ECX_00,extraout_ECX_00);" (call_expression "pr2serr("%s: array length exceeded\n","build_num_arr",extraout_ECX_00,extraout_ECX_00)" identifier (argument_list "("%s: array length exceeded\n","build_num_arr",extraout_ECX_00,extraout_ECX_00)" ( (string_literal ""%s: array length exceeded\n"" " string_content escape_sequence ") , (string_literal ""build_num_arr"" " string_content ") , identifier , identifier ))) ;) }) (else_clause "else {\nLAB_000127bf:\n        psVar20 = (stat64 *)((int)&psVar26->st_dev + 1);\n        pcVar18 = "build_num_arr";\n        pr2serr("%s: error at pos %d\n","build_num_arr",psVar20,psVar12);\n      }" else (compound_statement "{\nLAB_000127bf:\n        psVar20 = (stat64 *)((int)&psVar26->st_dev + 1);\n        pcVar18 = "build_num_arr";\n        pr2serr("%s: error at pos %d\n","build_num_arr",psVar20,psVar12);\n      }" { (labeled_statement "LAB_000127bf:\n        psVar20 = (stat64 *)((int)&psVar26->st_dev + 1);" statement_identifier : (expression_statement "psVar20 = (stat64 *)((int)&psVar26->st_dev + 1);" (assignment_expression "psVar20 = (stat64 *)((int)&psVar26->st_dev + 1)" identifier = (cast_expression "(stat64 *)((int)&psVar26->st_dev + 1)" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&psVar26->st_dev + 1)" ( (binary_expression "(int)&psVar26->st_dev + 1" (cast_expression "(int)&psVar26->st_dev" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&psVar26->st_dev" & (field_expression "psVar26->st_dev" identifier -> field_identifier))) + number_literal) )))) ;)) (expression_statement "pcVar18 = "build_num_arr";" (assignment_expression "pcVar18 = "build_num_arr"" identifier = (string_literal ""build_num_arr"" " string_content ")) ;) (expression_statement "pr2serr("%s: error at pos %d\n","build_num_arr",psVar20,psVar12);" (call_expression "pr2serr("%s: error at pos %d\n","build_num_arr",psVar20,psVar12)" identifier (argument_list "("%s: error at pos %d\n","build_num_arr",psVar20,psVar12)" ( (string_literal ""%s: error at pos %d\n"" " string_content escape_sequence ") , (string_literal ""build_num_arr"" " string_content ") , identifier , identifier ))) ;) }))) }))) (labeled_statement "LAB_000127d9:\n    pr2serr("bad argument to \'--num\'\n",pcVar18,psVar20,psVar12);" statement_identifier : (expression_statement "pr2serr("bad argument to \'--num\'\n",pcVar18,psVar20,psVar12);" (call_expression "pr2serr("bad argument to \'--num\'\n",pcVar18,psVar20,psVar12)" identifier (argument_list "("bad argument to \'--num\'\n",pcVar18,psVar20,psVar12)" ( (string_literal ""bad argument to \'--num\'\n"" " string_content escape_sequence string_content escape_sequence escape_sequence ") , identifier , identifier , identifier ))) ;)) (expression_statement "local_908 = (stat64 *)0x0;" (assignment_expression "local_908 = (stat64 *)0x0" identifier = (cast_expression "(stat64 *)0x0" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (goto_statement "goto LAB_00012354;" goto statement_identifier ;) })) (expression_statement "psVar20 = (stat64 *)0x0;" (assignment_expression "psVar20 = (stat64 *)0x0" identifier = (cast_expression "(stat64 *)0x0" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_91c = (stat64 *)(undefined1 *)0x0;" (assignment_expression "local_91c = (stat64 *)(undefined1 *)0x0" identifier = (cast_expression "(stat64 *)(undefined1 *)0x0" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) (cast_expression "(undefined1 *)0x0" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal))) ;) (labeled_statement "LAB_00012820:\n  if (local_798 == (char *)0x0) {\nLAB_00012ce5:\n    local_908 = (stat64 *)0x0;\n    local_880._44_4_ = psVar29;\n  }\n  else {\n    pcVar18 = local_798;\n    iVar17 = __xstat64(3,local_798,psVar41);\n    if (iVar17 < 0) {\n      piVar21 = __errno_location();\n      psVar29 = (stat64 *)*piVar21;\n      uVar19 = safe_strerror(psVar29);\n      pcVar18 = "Unable to stat(%s) as SF: %s\n";\nLAB_000136f9:\n      pr2serr(pcVar18,local_798,uVar19);\n      local_908 = (stat64 *)sg_convert_errno(psVar29);\n      goto LAB_00012354;\n    }\n    if ((_Bool)local_820[7] == false) {\n      uVar34 = 0;\n      if (local_820._64_2_ != 0) {\n        uVar34 = ((ushort)local_820._64_2_ + 1) * 0x20;\n      }\n      local_908 = (stat64 *)\n                  build_t10_scat(local_798,(_Bool)local_820[0],(_Bool)(local_820[9] ^ 1),\n                                 (uint8_t *)0x0,&local_8f8,(uint32_t *)&local_8f4,uVar34);\n      if (local_908 != (stat64 *)0x0) goto LAB_00012354;\n      psVar20 = extraout_ECX_03;\n      if ((local_820._64_2_ != 0) && (local_820._64_2_ != local_8f8)) {\n        if (local_8f8 < (ushort)local_820._64_2_) {\n          pr2serr("RD (%u) %s number of %ss (%u) found in SF\n",local_820._64_2_,&DAT_000170dd,\n                  "LBA range descriptor",local_8f8);\n          local_908 = (stat64 *)0xf;\n          goto LAB_00012354;\n        }\n        psVar29 = (stat64 *)(uVar19 | local_820._40_4_);\n        if ((psVar29 != (stat64 *)0x0) &&\n           (pr2serr("RD (%u) %s number of %ss (%u) found in SF\n",local_820._64_2_,&DAT_00017110,\n                    "LBA range descriptor",local_8f8), psVar20 = extraout_ECX_01,\n           local_820._40_4_ != 0)) goto LAB_00012ef5;\n      }\n      goto LAB_00012ce5;\n    }\n    if ((local_880._16_4_ & 0xf000) != 0x8000) {\n      pr2serr("Expect scatter file to be a regular file\n",pcVar18,psVar41,psVar26);\n      local_908 = (stat64 *)0xf;\n      goto LAB_00012354;\n    }\n    local_908 = (stat64 *)local_880._44_4_;\n    local_920 = (stat64 *)open64(local_798,0,0x8000,0x8000);\n    if ((int)local_920 < 0) {\n      piVar21 = __errno_location();\n      psVar29 = (stat64 *)*piVar21;\n      uVar19 = safe_strerror(psVar29);\n      pcVar18 = "Failed to open %s for raw read: %s\n";\n      goto LAB_000136f9;\n    }\n    iVar17 = sg_set_binary_mode(local_920);\n    psVar20 = extraout_ECX_04;\n    if (iVar17 < 0) {\n      perror("sg_set_binary_mode");\n      local_908 = (stat64 *)0xf;\n      psVar29 = (stat64 *)local_880._44_4_;\n      goto LAB_00012354;\n    }\n  }" statement_identifier : (if_statement "if (local_798 == (char *)0x0) {\nLAB_00012ce5:\n    local_908 = (stat64 *)0x0;\n    local_880._44_4_ = psVar29;\n  }\n  else {\n    pcVar18 = local_798;\n    iVar17 = __xstat64(3,local_798,psVar41);\n    if (iVar17 < 0) {\n      piVar21 = __errno_location();\n      psVar29 = (stat64 *)*piVar21;\n      uVar19 = safe_strerror(psVar29);\n      pcVar18 = "Unable to stat(%s) as SF: %s\n";\nLAB_000136f9:\n      pr2serr(pcVar18,local_798,uVar19);\n      local_908 = (stat64 *)sg_convert_errno(psVar29);\n      goto LAB_00012354;\n    }\n    if ((_Bool)local_820[7] == false) {\n      uVar34 = 0;\n      if (local_820._64_2_ != 0) {\n        uVar34 = ((ushort)local_820._64_2_ + 1) * 0x20;\n      }\n      local_908 = (stat64 *)\n                  build_t10_scat(local_798,(_Bool)local_820[0],(_Bool)(local_820[9] ^ 1),\n                                 (uint8_t *)0x0,&local_8f8,(uint32_t *)&local_8f4,uVar34);\n      if (local_908 != (stat64 *)0x0) goto LAB_00012354;\n      psVar20 = extraout_ECX_03;\n      if ((local_820._64_2_ != 0) && (local_820._64_2_ != local_8f8)) {\n        if (local_8f8 < (ushort)local_820._64_2_) {\n          pr2serr("RD (%u) %s number of %ss (%u) found in SF\n",local_820._64_2_,&DAT_000170dd,\n                  "LBA range descriptor",local_8f8);\n          local_908 = (stat64 *)0xf;\n          goto LAB_00012354;\n        }\n        psVar29 = (stat64 *)(uVar19 | local_820._40_4_);\n        if ((psVar29 != (stat64 *)0x0) &&\n           (pr2serr("RD (%u) %s number of %ss (%u) found in SF\n",local_820._64_2_,&DAT_00017110,\n                    "LBA range descriptor",local_8f8), psVar20 = extraout_ECX_01,\n           local_820._40_4_ != 0)) goto LAB_00012ef5;\n      }\n      goto LAB_00012ce5;\n    }\n    if ((local_880._16_4_ & 0xf000) != 0x8000) {\n      pr2serr("Expect scatter file to be a regular file\n",pcVar18,psVar41,psVar26);\n      local_908 = (stat64 *)0xf;\n      goto LAB_00012354;\n    }\n    local_908 = (stat64 *)local_880._44_4_;\n    local_920 = (stat64 *)open64(local_798,0,0x8000,0x8000);\n    if ((int)local_920 < 0) {\n      piVar21 = __errno_location();\n      psVar29 = (stat64 *)*piVar21;\n      uVar19 = safe_strerror(psVar29);\n      pcVar18 = "Failed to open %s for raw read: %s\n";\n      goto LAB_000136f9;\n    }\n    iVar17 = sg_set_binary_mode(local_920);\n    psVar20 = extraout_ECX_04;\n    if (iVar17 < 0) {\n      perror("sg_set_binary_mode");\n      local_908 = (stat64 *)0xf;\n      psVar29 = (stat64 *)local_880._44_4_;\n      goto LAB_00012354;\n    }\n  }" if (parenthesized_expression "(local_798 == (char *)0x0)" ( (binary_expression "local_798 == (char *)0x0" identifier == (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\nLAB_00012ce5:\n    local_908 = (stat64 *)0x0;\n    local_880._44_4_ = psVar29;\n  }" { (labeled_statement "LAB_00012ce5:\n    local_908 = (stat64 *)0x0;" statement_identifier : (expression_statement "local_908 = (stat64 *)0x0;" (assignment_expression "local_908 = (stat64 *)0x0" identifier = (cast_expression "(stat64 *)0x0" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;)) (expression_statement "local_880._44_4_ = psVar29;" (assignment_expression "local_880._44_4_ = psVar29" (field_expression "local_880._44_4_" identifier . field_identifier) = identifier) ;) }) (else_clause "else {\n    pcVar18 = local_798;\n    iVar17 = __xstat64(3,local_798,psVar41);\n    if (iVar17 < 0) {\n      piVar21 = __errno_location();\n      psVar29 = (stat64 *)*piVar21;\n      uVar19 = safe_strerror(psVar29);\n      pcVar18 = "Unable to stat(%s) as SF: %s\n";\nLAB_000136f9:\n      pr2serr(pcVar18,local_798,uVar19);\n      local_908 = (stat64 *)sg_convert_errno(psVar29);\n      goto LAB_00012354;\n    }\n    if ((_Bool)local_820[7] == false) {\n      uVar34 = 0;\n      if (local_820._64_2_ != 0) {\n        uVar34 = ((ushort)local_820._64_2_ + 1) * 0x20;\n      }\n      local_908 = (stat64 *)\n                  build_t10_scat(local_798,(_Bool)local_820[0],(_Bool)(local_820[9] ^ 1),\n                                 (uint8_t *)0x0,&local_8f8,(uint32_t *)&local_8f4,uVar34);\n      if (local_908 != (stat64 *)0x0) goto LAB_00012354;\n      psVar20 = extraout_ECX_03;\n      if ((local_820._64_2_ != 0) && (local_820._64_2_ != local_8f8)) {\n        if (local_8f8 < (ushort)local_820._64_2_) {\n          pr2serr("RD (%u) %s number of %ss (%u) found in SF\n",local_820._64_2_,&DAT_000170dd,\n                  "LBA range descriptor",local_8f8);\n          local_908 = (stat64 *)0xf;\n          goto LAB_00012354;\n        }\n        psVar29 = (stat64 *)(uVar19 | local_820._40_4_);\n        if ((psVar29 != (stat64 *)0x0) &&\n           (pr2serr("RD (%u) %s number of %ss (%u) found in SF\n",local_820._64_2_,&DAT_00017110,\n                    "LBA range descriptor",local_8f8), psVar20 = extraout_ECX_01,\n           local_820._40_4_ != 0)) goto LAB_00012ef5;\n      }\n      goto LAB_00012ce5;\n    }\n    if ((local_880._16_4_ & 0xf000) != 0x8000) {\n      pr2serr("Expect scatter file to be a regular file\n",pcVar18,psVar41,psVar26);\n      local_908 = (stat64 *)0xf;\n      goto LAB_00012354;\n    }\n    local_908 = (stat64 *)local_880._44_4_;\n    local_920 = (stat64 *)open64(local_798,0,0x8000,0x8000);\n    if ((int)local_920 < 0) {\n      piVar21 = __errno_location();\n      psVar29 = (stat64 *)*piVar21;\n      uVar19 = safe_strerror(psVar29);\n      pcVar18 = "Failed to open %s for raw read: %s\n";\n      goto LAB_000136f9;\n    }\n    iVar17 = sg_set_binary_mode(local_920);\n    psVar20 = extraout_ECX_04;\n    if (iVar17 < 0) {\n      perror("sg_set_binary_mode");\n      local_908 = (stat64 *)0xf;\n      psVar29 = (stat64 *)local_880._44_4_;\n      goto LAB_00012354;\n    }\n  }" else (compound_statement "{\n    pcVar18 = local_798;\n    iVar17 = __xstat64(3,local_798,psVar41);\n    if (iVar17 < 0) {\n      piVar21 = __errno_location();\n      psVar29 = (stat64 *)*piVar21;\n      uVar19 = safe_strerror(psVar29);\n      pcVar18 = "Unable to stat(%s) as SF: %s\n";\nLAB_000136f9:\n      pr2serr(pcVar18,local_798,uVar19);\n      local_908 = (stat64 *)sg_convert_errno(psVar29);\n      goto LAB_00012354;\n    }\n    if ((_Bool)local_820[7] == false) {\n      uVar34 = 0;\n      if (local_820._64_2_ != 0) {\n        uVar34 = ((ushort)local_820._64_2_ + 1) * 0x20;\n      }\n      local_908 = (stat64 *)\n                  build_t10_scat(local_798,(_Bool)local_820[0],(_Bool)(local_820[9] ^ 1),\n                                 (uint8_t *)0x0,&local_8f8,(uint32_t *)&local_8f4,uVar34);\n      if (local_908 != (stat64 *)0x0) goto LAB_00012354;\n      psVar20 = extraout_ECX_03;\n      if ((local_820._64_2_ != 0) && (local_820._64_2_ != local_8f8)) {\n        if (local_8f8 < (ushort)local_820._64_2_) {\n          pr2serr("RD (%u) %s number of %ss (%u) found in SF\n",local_820._64_2_,&DAT_000170dd,\n                  "LBA range descriptor",local_8f8);\n          local_908 = (stat64 *)0xf;\n          goto LAB_00012354;\n        }\n        psVar29 = (stat64 *)(uVar19 | local_820._40_4_);\n        if ((psVar29 != (stat64 *)0x0) &&\n           (pr2serr("RD (%u) %s number of %ss (%u) found in SF\n",local_820._64_2_,&DAT_00017110,\n                    "LBA range descriptor",local_8f8), psVar20 = extraout_ECX_01,\n           local_820._40_4_ != 0)) goto LAB_00012ef5;\n      }\n      goto LAB_00012ce5;\n    }\n    if ((local_880._16_4_ & 0xf000) != 0x8000) {\n      pr2serr("Expect scatter file to be a regular file\n",pcVar18,psVar41,psVar26);\n      local_908 = (stat64 *)0xf;\n      goto LAB_00012354;\n    }\n    local_908 = (stat64 *)local_880._44_4_;\n    local_920 = (stat64 *)open64(local_798,0,0x8000,0x8000);\n    if ((int)local_920 < 0) {\n      piVar21 = __errno_location();\n      psVar29 = (stat64 *)*piVar21;\n      uVar19 = safe_strerror(psVar29);\n      pcVar18 = "Failed to open %s for raw read: %s\n";\n      goto LAB_000136f9;\n    }\n    iVar17 = sg_set_binary_mode(local_920);\n    psVar20 = extraout_ECX_04;\n    if (iVar17 < 0) {\n      perror("sg_set_binary_mode");\n      local_908 = (stat64 *)0xf;\n      psVar29 = (stat64 *)local_880._44_4_;\n      goto LAB_00012354;\n    }\n  }" { (expression_statement "pcVar18 = local_798;" (assignment_expression "pcVar18 = local_798" identifier = identifier) ;) (expression_statement "iVar17 = __xstat64(3,local_798,psVar41);" (assignment_expression "iVar17 = __xstat64(3,local_798,psVar41)" identifier = (call_expression "__xstat64(3,local_798,psVar41)" identifier (argument_list "(3,local_798,psVar41)" ( number_literal , identifier , identifier )))) ;) (if_statement "if (iVar17 < 0) {\n      piVar21 = __errno_location();\n      psVar29 = (stat64 *)*piVar21;\n      uVar19 = safe_strerror(psVar29);\n      pcVar18 = "Unable to stat(%s) as SF: %s\n";\nLAB_000136f9:\n      pr2serr(pcVar18,local_798,uVar19);\n      local_908 = (stat64 *)sg_convert_errno(psVar29);\n      goto LAB_00012354;\n    }" if (parenthesized_expression "(iVar17 < 0)" ( (binary_expression "iVar17 < 0" identifier < number_literal) )) (compound_statement "{\n      piVar21 = __errno_location();\n      psVar29 = (stat64 *)*piVar21;\n      uVar19 = safe_strerror(psVar29);\n      pcVar18 = "Unable to stat(%s) as SF: %s\n";\nLAB_000136f9:\n      pr2serr(pcVar18,local_798,uVar19);\n      local_908 = (stat64 *)sg_convert_errno(psVar29);\n      goto LAB_00012354;\n    }" { (expression_statement "piVar21 = __errno_location();" (assignment_expression "piVar21 = __errno_location()" identifier = (call_expression "__errno_location()" identifier (argument_list "()" ( )))) ;) (expression_statement "psVar29 = (stat64 *)*piVar21;" (assignment_expression "psVar29 = (stat64 *)*piVar21" identifier = (cast_expression "(stat64 *)*piVar21" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*piVar21" * identifier))) ;) (expression_statement "uVar19 = safe_strerror(psVar29);" (assignment_expression "uVar19 = safe_strerror(psVar29)" identifier = (call_expression "safe_strerror(psVar29)" identifier (argument_list "(psVar29)" ( identifier )))) ;) (expression_statement "pcVar18 = "Unable to stat(%s) as SF: %s\n";" (assignment_expression "pcVar18 = "Unable to stat(%s) as SF: %s\n"" identifier = (string_literal ""Unable to stat(%s) as SF: %s\n"" " string_content escape_sequence ")) ;) (labeled_statement "LAB_000136f9:\n      pr2serr(pcVar18,local_798,uVar19);" statement_identifier : (expression_statement "pr2serr(pcVar18,local_798,uVar19);" (call_expression "pr2serr(pcVar18,local_798,uVar19)" identifier (argument_list "(pcVar18,local_798,uVar19)" ( identifier , identifier , identifier ))) ;)) (expression_statement "local_908 = (stat64 *)sg_convert_errno(psVar29);" (assignment_expression "local_908 = (stat64 *)sg_convert_errno(psVar29)" identifier = (cast_expression "(stat64 *)sg_convert_errno(psVar29)" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "sg_convert_errno(psVar29)" identifier (argument_list "(psVar29)" ( identifier ))))) ;) (goto_statement "goto LAB_00012354;" goto statement_identifier ;) })) (if_statement "if ((_Bool)local_820[7] == false) {\n      uVar34 = 0;\n      if (local_820._64_2_ != 0) {\n        uVar34 = ((ushort)local_820._64_2_ + 1) * 0x20;\n      }\n      local_908 = (stat64 *)\n                  build_t10_scat(local_798,(_Bool)local_820[0],(_Bool)(local_820[9] ^ 1),\n                                 (uint8_t *)0x0,&local_8f8,(uint32_t *)&local_8f4,uVar34);\n      if (local_908 != (stat64 *)0x0) goto LAB_00012354;\n      psVar20 = extraout_ECX_03;\n      if ((local_820._64_2_ != 0) && (local_820._64_2_ != local_8f8)) {\n        if (local_8f8 < (ushort)local_820._64_2_) {\n          pr2serr("RD (%u) %s number of %ss (%u) found in SF\n",local_820._64_2_,&DAT_000170dd,\n                  "LBA range descriptor",local_8f8);\n          local_908 = (stat64 *)0xf;\n          goto LAB_00012354;\n        }\n        psVar29 = (stat64 *)(uVar19 | local_820._40_4_);\n        if ((psVar29 != (stat64 *)0x0) &&\n           (pr2serr("RD (%u) %s number of %ss (%u) found in SF\n",local_820._64_2_,&DAT_00017110,\n                    "LBA range descriptor",local_8f8), psVar20 = extraout_ECX_01,\n           local_820._40_4_ != 0)) goto LAB_00012ef5;\n      }\n      goto LAB_00012ce5;\n    }" if (parenthesized_expression "((_Bool)local_820[7] == false)" ( (binary_expression "(_Bool)local_820[7] == false" (cast_expression "(_Bool)local_820[7]" ( (type_descriptor "_Bool" type_identifier) ) (subscript_expression "local_820[7]" identifier [ number_literal ])) == false) )) (compound_statement "{\n      uVar34 = 0;\n      if (local_820._64_2_ != 0) {\n        uVar34 = ((ushort)local_820._64_2_ + 1) * 0x20;\n      }\n      local_908 = (stat64 *)\n                  build_t10_scat(local_798,(_Bool)local_820[0],(_Bool)(local_820[9] ^ 1),\n                                 (uint8_t *)0x0,&local_8f8,(uint32_t *)&local_8f4,uVar34);\n      if (local_908 != (stat64 *)0x0) goto LAB_00012354;\n      psVar20 = extraout_ECX_03;\n      if ((local_820._64_2_ != 0) && (local_820._64_2_ != local_8f8)) {\n        if (local_8f8 < (ushort)local_820._64_2_) {\n          pr2serr("RD (%u) %s number of %ss (%u) found in SF\n",local_820._64_2_,&DAT_000170dd,\n                  "LBA range descriptor",local_8f8);\n          local_908 = (stat64 *)0xf;\n          goto LAB_00012354;\n        }\n        psVar29 = (stat64 *)(uVar19 | local_820._40_4_);\n        if ((psVar29 != (stat64 *)0x0) &&\n           (pr2serr("RD (%u) %s number of %ss (%u) found in SF\n",local_820._64_2_,&DAT_00017110,\n                    "LBA range descriptor",local_8f8), psVar20 = extraout_ECX_01,\n           local_820._40_4_ != 0)) goto LAB_00012ef5;\n      }\n      goto LAB_00012ce5;\n    }" { (expression_statement "uVar34 = 0;" (assignment_expression "uVar34 = 0" identifier = number_literal) ;) (if_statement "if (local_820._64_2_ != 0) {\n        uVar34 = ((ushort)local_820._64_2_ + 1) * 0x20;\n      }" if (parenthesized_expression "(local_820._64_2_ != 0)" ( (binary_expression "local_820._64_2_ != 0" (field_expression "local_820._64_2_" identifier . field_identifier) != number_literal) )) (compound_statement "{\n        uVar34 = ((ushort)local_820._64_2_ + 1) * 0x20;\n      }" { (expression_statement "uVar34 = ((ushort)local_820._64_2_ + 1) * 0x20;" (assignment_expression "uVar34 = ((ushort)local_820._64_2_ + 1) * 0x20" identifier = (binary_expression "((ushort)local_820._64_2_ + 1) * 0x20" (parenthesized_expression "((ushort)local_820._64_2_ + 1)" ( (binary_expression "(ushort)local_820._64_2_ + 1" (cast_expression "(ushort)local_820._64_2_" ( (type_descriptor "ushort" type_identifier) ) (field_expression "local_820._64_2_" identifier . field_identifier)) + number_literal) )) * number_literal)) ;) })) (expression_statement "local_908 = (stat64 *)\n                  build_t10_scat(local_798,(_Bool)local_820[0],(_Bool)(local_820[9] ^ 1),\n                                 (uint8_t *)0x0,&local_8f8,(uint32_t *)&local_8f4,uVar34);" (assignment_expression "local_908 = (stat64 *)\n                  build_t10_scat(local_798,(_Bool)local_820[0],(_Bool)(local_820[9] ^ 1),\n                                 (uint8_t *)0x0,&local_8f8,(uint32_t *)&local_8f4,uVar34)" identifier = (cast_expression "(stat64 *)\n                  build_t10_scat(local_798,(_Bool)local_820[0],(_Bool)(local_820[9] ^ 1),\n                                 (uint8_t *)0x0,&local_8f8,(uint32_t *)&local_8f4,uVar34)" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "build_t10_scat(local_798,(_Bool)local_820[0],(_Bool)(local_820[9] ^ 1),\n                                 (uint8_t *)0x0,&local_8f8,(uint32_t *)&local_8f4,uVar34)" identifier (argument_list "(local_798,(_Bool)local_820[0],(_Bool)(local_820[9] ^ 1),\n                                 (uint8_t *)0x0,&local_8f8,(uint32_t *)&local_8f4,uVar34)" ( identifier , (cast_expression "(_Bool)local_820[0]" ( (type_descriptor "_Bool" type_identifier) ) (subscript_expression "local_820[0]" identifier [ number_literal ])) , (call_expression "(_Bool)(local_820[9] ^ 1)" (parenthesized_expression "(_Bool)" ( identifier )) (argument_list "(local_820[9] ^ 1)" ( (binary_expression "local_820[9] ^ 1" (subscript_expression "local_820[9]" identifier [ number_literal ]) ^ number_literal) ))) , (cast_expression "(uint8_t *)0x0" ( (type_descriptor "uint8_t *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal) , (pointer_expression "&local_8f8" & identifier) , (cast_expression "(uint32_t *)&local_8f4" ( (type_descriptor "uint32_t *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "&local_8f4" & identifier)) , identifier ))))) ;) (if_statement "if (local_908 != (stat64 *)0x0) goto LAB_00012354;" if (parenthesized_expression "(local_908 != (stat64 *)0x0)" ( (binary_expression "local_908 != (stat64 *)0x0" identifier != (cast_expression "(stat64 *)0x0" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_00012354;" goto statement_identifier ;)) (expression_statement "psVar20 = extraout_ECX_03;" (assignment_expression "psVar20 = extraout_ECX_03" identifier = identifier) ;) (if_statement "if ((local_820._64_2_ != 0) && (local_820._64_2_ != local_8f8)) {\n        if (local_8f8 < (ushort)local_820._64_2_) {\n          pr2serr("RD (%u) %s number of %ss (%u) found in SF\n",local_820._64_2_,&DAT_000170dd,\n                  "LBA range descriptor",local_8f8);\n          local_908 = (stat64 *)0xf;\n          goto LAB_00012354;\n        }\n        psVar29 = (stat64 *)(uVar19 | local_820._40_4_);\n        if ((psVar29 != (stat64 *)0x0) &&\n           (pr2serr("RD (%u) %s number of %ss (%u) found in SF\n",local_820._64_2_,&DAT_00017110,\n                    "LBA range descriptor",local_8f8), psVar20 = extraout_ECX_01,\n           local_820._40_4_ != 0)) goto LAB_00012ef5;\n      }" if (parenthesized_expression "((local_820._64_2_ != 0) && (local_820._64_2_ != local_8f8))" ( (binary_expression "(local_820._64_2_ != 0) && (local_820._64_2_ != local_8f8)" (parenthesized_expression "(local_820._64_2_ != 0)" ( (binary_expression "local_820._64_2_ != 0" (field_expression "local_820._64_2_" identifier . field_identifier) != number_literal) )) && (parenthesized_expression "(local_820._64_2_ != local_8f8)" ( (binary_expression "local_820._64_2_ != local_8f8" (field_expression "local_820._64_2_" identifier . field_identifier) != identifier) ))) )) (compound_statement "{\n        if (local_8f8 < (ushort)local_820._64_2_) {\n          pr2serr("RD (%u) %s number of %ss (%u) found in SF\n",local_820._64_2_,&DAT_000170dd,\n                  "LBA range descriptor",local_8f8);\n          local_908 = (stat64 *)0xf;\n          goto LAB_00012354;\n        }\n        psVar29 = (stat64 *)(uVar19 | local_820._40_4_);\n        if ((psVar29 != (stat64 *)0x0) &&\n           (pr2serr("RD (%u) %s number of %ss (%u) found in SF\n",local_820._64_2_,&DAT_00017110,\n                    "LBA range descriptor",local_8f8), psVar20 = extraout_ECX_01,\n           local_820._40_4_ != 0)) goto LAB_00012ef5;\n      }" { (if_statement "if (local_8f8 < (ushort)local_820._64_2_) {\n          pr2serr("RD (%u) %s number of %ss (%u) found in SF\n",local_820._64_2_,&DAT_000170dd,\n                  "LBA range descriptor",local_8f8);\n          local_908 = (stat64 *)0xf;\n          goto LAB_00012354;\n        }" if (parenthesized_expression "(local_8f8 < (ushort)local_820._64_2_)" ( (binary_expression "local_8f8 < (ushort)local_820._64_2_" identifier < (cast_expression "(ushort)local_820._64_2_" ( (type_descriptor "ushort" type_identifier) ) (field_expression "local_820._64_2_" identifier . field_identifier))) )) (compound_statement "{\n          pr2serr("RD (%u) %s number of %ss (%u) found in SF\n",local_820._64_2_,&DAT_000170dd,\n                  "LBA range descriptor",local_8f8);\n          local_908 = (stat64 *)0xf;\n          goto LAB_00012354;\n        }" { (expression_statement "pr2serr("RD (%u) %s number of %ss (%u) found in SF\n",local_820._64_2_,&DAT_000170dd,\n                  "LBA range descriptor",local_8f8);" (call_expression "pr2serr("RD (%u) %s number of %ss (%u) found in SF\n",local_820._64_2_,&DAT_000170dd,\n                  "LBA range descriptor",local_8f8)" identifier (argument_list "("RD (%u) %s number of %ss (%u) found in SF\n",local_820._64_2_,&DAT_000170dd,\n                  "LBA range descriptor",local_8f8)" ( (string_literal ""RD (%u) %s number of %ss (%u) found in SF\n"" " string_content escape_sequence ") , (field_expression "local_820._64_2_" identifier . field_identifier) , (pointer_expression "&DAT_000170dd" & identifier) , (string_literal ""LBA range descriptor"" " string_content ") , identifier ))) ;) (expression_statement "local_908 = (stat64 *)0xf;" (assignment_expression "local_908 = (stat64 *)0xf" identifier = (cast_expression "(stat64 *)0xf" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (goto_statement "goto LAB_00012354;" goto statement_identifier ;) })) (expression_statement "psVar29 = (stat64 *)(uVar19 | local_820._40_4_);" (assignment_expression "psVar29 = (stat64 *)(uVar19 | local_820._40_4_)" identifier = (cast_expression "(stat64 *)(uVar19 | local_820._40_4_)" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(uVar19 | local_820._40_4_)" ( (binary_expression "uVar19 | local_820._40_4_" identifier | (field_expression "local_820._40_4_" identifier . field_identifier)) )))) ;) (if_statement "if ((psVar29 != (stat64 *)0x0) &&\n           (pr2serr("RD (%u) %s number of %ss (%u) found in SF\n",local_820._64_2_,&DAT_00017110,\n                    "LBA range descriptor",local_8f8), psVar20 = extraout_ECX_01,\n           local_820._40_4_ != 0)) goto LAB_00012ef5;" if (parenthesized_expression "((psVar29 != (stat64 *)0x0) &&\n           (pr2serr("RD (%u) %s number of %ss (%u) found in SF\n",local_820._64_2_,&DAT_00017110,\n                    "LBA range descriptor",local_8f8), psVar20 = extraout_ECX_01,\n           local_820._40_4_ != 0))" ( (binary_expression "(psVar29 != (stat64 *)0x0) &&\n           (pr2serr("RD (%u) %s number of %ss (%u) found in SF\n",local_820._64_2_,&DAT_00017110,\n                    "LBA range descriptor",local_8f8), psVar20 = extraout_ECX_01,\n           local_820._40_4_ != 0)" (parenthesized_expression "(psVar29 != (stat64 *)0x0)" ( (binary_expression "psVar29 != (stat64 *)0x0" identifier != (cast_expression "(stat64 *)0x0" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) && (parenthesized_expression "(pr2serr("RD (%u) %s number of %ss (%u) found in SF\n",local_820._64_2_,&DAT_00017110,\n                    "LBA range descriptor",local_8f8), psVar20 = extraout_ECX_01,\n           local_820._40_4_ != 0)" ( (comma_expression "pr2serr("RD (%u) %s number of %ss (%u) found in SF\n",local_820._64_2_,&DAT_00017110,\n                    "LBA range descriptor",local_8f8), psVar20 = extraout_ECX_01,\n           local_820._40_4_ != 0" (call_expression "pr2serr("RD (%u) %s number of %ss (%u) found in SF\n",local_820._64_2_,&DAT_00017110,\n                    "LBA range descriptor",local_8f8)" identifier (argument_list "("RD (%u) %s number of %ss (%u) found in SF\n",local_820._64_2_,&DAT_00017110,\n                    "LBA range descriptor",local_8f8)" ( (string_literal ""RD (%u) %s number of %ss (%u) found in SF\n"" " string_content escape_sequence ") , (field_expression "local_820._64_2_" identifier . field_identifier) , (pointer_expression "&DAT_00017110" & identifier) , (string_literal ""LBA range descriptor"" " string_content ") , identifier ))) , (comma_expression "psVar20 = extraout_ECX_01,\n           local_820._40_4_ != 0" (assignment_expression "psVar20 = extraout_ECX_01" identifier = identifier) , (binary_expression "local_820._40_4_ != 0" (field_expression "local_820._40_4_" identifier . field_identifier) != number_literal))) ))) )) (goto_statement "goto LAB_00012ef5;" goto statement_identifier ;)) })) (goto_statement "goto LAB_00012ce5;" goto statement_identifier ;) })) (if_statement "if ((local_880._16_4_ & 0xf000) != 0x8000) {\n      pr2serr("Expect scatter file to be a regular file\n",pcVar18,psVar41,psVar26);\n      local_908 = (stat64 *)0xf;\n      goto LAB_00012354;\n    }" if (parenthesized_expression "((local_880._16_4_ & 0xf000) != 0x8000)" ( (binary_expression "(local_880._16_4_ & 0xf000) != 0x8000" (parenthesized_expression "(local_880._16_4_ & 0xf000)" ( (binary_expression "local_880._16_4_ & 0xf000" (field_expression "local_880._16_4_" identifier . field_identifier) & number_literal) )) != number_literal) )) (compound_statement "{\n      pr2serr("Expect scatter file to be a regular file\n",pcVar18,psVar41,psVar26);\n      local_908 = (stat64 *)0xf;\n      goto LAB_00012354;\n    }" { (expression_statement "pr2serr("Expect scatter file to be a regular file\n",pcVar18,psVar41,psVar26);" (call_expression "pr2serr("Expect scatter file to be a regular file\n",pcVar18,psVar41,psVar26)" identifier (argument_list "("Expect scatter file to be a regular file\n",pcVar18,psVar41,psVar26)" ( (string_literal ""Expect scatter file to be a regular file\n"" " string_content escape_sequence ") , identifier , identifier , identifier ))) ;) (expression_statement "local_908 = (stat64 *)0xf;" (assignment_expression "local_908 = (stat64 *)0xf" identifier = (cast_expression "(stat64 *)0xf" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (goto_statement "goto LAB_00012354;" goto statement_identifier ;) })) (expression_statement "local_908 = (stat64 *)local_880._44_4_;" (assignment_expression "local_908 = (stat64 *)local_880._44_4_" identifier = (cast_expression "(stat64 *)local_880._44_4_" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "local_880._44_4_" identifier . field_identifier))) ;) (expression_statement "local_920 = (stat64 *)open64(local_798,0,0x8000,0x8000);" (assignment_expression "local_920 = (stat64 *)open64(local_798,0,0x8000,0x8000)" identifier = (cast_expression "(stat64 *)open64(local_798,0,0x8000,0x8000)" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "open64(local_798,0,0x8000,0x8000)" identifier (argument_list "(local_798,0,0x8000,0x8000)" ( identifier , number_literal , number_literal , number_literal ))))) ;) (if_statement "if ((int)local_920 < 0) {\n      piVar21 = __errno_location();\n      psVar29 = (stat64 *)*piVar21;\n      uVar19 = safe_strerror(psVar29);\n      pcVar18 = "Failed to open %s for raw read: %s\n";\n      goto LAB_000136f9;\n    }" if (parenthesized_expression "((int)local_920 < 0)" ( (binary_expression "(int)local_920 < 0" (cast_expression "(int)local_920" ( (type_descriptor "int" primitive_type) ) identifier) < number_literal) )) (compound_statement "{\n      piVar21 = __errno_location();\n      psVar29 = (stat64 *)*piVar21;\n      uVar19 = safe_strerror(psVar29);\n      pcVar18 = "Failed to open %s for raw read: %s\n";\n      goto LAB_000136f9;\n    }" { (expression_statement "piVar21 = __errno_location();" (assignment_expression "piVar21 = __errno_location()" identifier = (call_expression "__errno_location()" identifier (argument_list "()" ( )))) ;) (expression_statement "psVar29 = (stat64 *)*piVar21;" (assignment_expression "psVar29 = (stat64 *)*piVar21" identifier = (cast_expression "(stat64 *)*piVar21" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*piVar21" * identifier))) ;) (expression_statement "uVar19 = safe_strerror(psVar29);" (assignment_expression "uVar19 = safe_strerror(psVar29)" identifier = (call_expression "safe_strerror(psVar29)" identifier (argument_list "(psVar29)" ( identifier )))) ;) (expression_statement "pcVar18 = "Failed to open %s for raw read: %s\n";" (assignment_expression "pcVar18 = "Failed to open %s for raw read: %s\n"" identifier = (string_literal ""Failed to open %s for raw read: %s\n"" " string_content escape_sequence ")) ;) (goto_statement "goto LAB_000136f9;" goto statement_identifier ;) })) (expression_statement "iVar17 = sg_set_binary_mode(local_920);" (assignment_expression "iVar17 = sg_set_binary_mode(local_920)" identifier = (call_expression "sg_set_binary_mode(local_920)" identifier (argument_list "(local_920)" ( identifier )))) ;) (expression_statement "psVar20 = extraout_ECX_04;" (assignment_expression "psVar20 = extraout_ECX_04" identifier = identifier) ;) (if_statement "if (iVar17 < 0) {\n      perror("sg_set_binary_mode");\n      local_908 = (stat64 *)0xf;\n      psVar29 = (stat64 *)local_880._44_4_;\n      goto LAB_00012354;\n    }" if (parenthesized_expression "(iVar17 < 0)" ( (binary_expression "iVar17 < 0" identifier < number_literal) )) (compound_statement "{\n      perror("sg_set_binary_mode");\n      local_908 = (stat64 *)0xf;\n      psVar29 = (stat64 *)local_880._44_4_;\n      goto LAB_00012354;\n    }" { (expression_statement "perror("sg_set_binary_mode");" (call_expression "perror("sg_set_binary_mode")" identifier (argument_list "("sg_set_binary_mode")" ( (string_literal ""sg_set_binary_mode"" " string_content ") ))) ;) (expression_statement "local_908 = (stat64 *)0xf;" (assignment_expression "local_908 = (stat64 *)0xf" identifier = (cast_expression "(stat64 *)0xf" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "psVar29 = (stat64 *)local_880._44_4_;" (assignment_expression "psVar29 = (stat64 *)local_880._44_4_" identifier = (cast_expression "(stat64 *)local_880._44_4_" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "local_880._44_4_" identifier . field_identifier))) ;) (goto_statement "goto LAB_00012354;" goto statement_identifier ;) })) })))) (expression_statement "uVar24 = local_820._48_4_;" (assignment_expression "uVar24 = local_820._48_4_" identifier = (field_expression "local_820._48_4_" identifier . field_identifier)) ;) (expression_statement "psVar29 = local_8f4;" (assignment_expression "psVar29 = local_8f4" identifier = identifier) ;) (if_statement "if ((_Bool)local_820[9] == false) {\n    if (local_91c == (stat64 *)0x0) {\n      psVar29 = (stat64 *)local_880._44_4_;\n      if (local_798 == (char *)0x0) {\n        if ((_Bool)local_820[7] == false) {\n          pr2serr("No LBA or number_of_blocks given, try using --lba= and --num=\n");\n          local_908 = (stat64 *)0x1;\n          goto LAB_00012354;\n        }\n      }\n      else if ((_Bool)local_820[7] == false) {\n        local_8f4 = (stat64 *)0x0;\n        local_908 = (stat64 *)\n                    build_t10_scat(local_798,(_Bool)local_820[0],true,local_174 + 0x50,&local_8f8,\n                                   (uint32_t *)&local_8f4,0x60);\n        if (local_908 != (stat64 *)0x0) goto LAB_00012354;\n        if ((stat64 *)uVar19 != (stat64 *)0x0) {\n          uVar10 = (uint)local_8f8;\n          if (1 < local_8f8) {\n            uVar10 = pr2serr("warning: %d LBA,number_of_blocks pairs found, only taking first\n",\n                             uVar10,extraout_EDX_05,extraout_EDX_05);\n          }\n          if (2 < (int)uVar19) {\n            pr2serr("after build_t10_scat, num_lbard=%u, sum_num=%u\n",local_8f8,local_8f4,uVar10);\n          }\n        }\n        if (local_8f8 != 1) {\n          pr2serr("Unable to decode one LBA range descriptor from %s\n",local_798,0,0);\n          local_908 = (stat64 *)0xf;\n          goto LAB_00012354;\n        }\n        local_820._104_4_ =\n             local_104 >> 0x18 | (local_104 & 0xff0000) >> 8 | (local_104 & 0xff00) << 8 |\n             local_104 << 0x18;\n        local_820._100_4_ =\n             local_100 >> 0x18 | (local_100 & 0xff0000) >> 8 | (local_100 & 0xff00) << 8 |\n             local_100 << 0x18;\n        local_820._84_4_ =\n             local_fc >> 0x18 | (local_fc & 0xff0000) >> 8 | (local_fc & 0xff00) << 8 |\n             local_fc << 0x18;\n        if ((_Bool)local_820[1] != false) {\n          local_820._96_4_ =\n               local_f8 >> 0x18 | (local_f8 & 0xff0000) >> 8 | (local_f8 & 0xff00) << 8 |\n               local_f8 << 0x18;\n          local_820._58_2_ = local_f4 << 8 | local_f4 >> 8;\n          local_820._68_2_ = local_f2 << 8 | local_f2 >> 8;\n        }\n        goto LAB_00012d48;\n      }\n      if (local_908 < (stat64 *)0x40) {\n        pr2serr("raw scatter file must be at least 64 bytes long (length: %u)\n",local_908,\n                local_880._44_4_,local_880._44_4_);\nLAB_00012ef5:\n        local_908 = (stat64 *)0xf;\n        goto LAB_00012354;\n      }\n      psVar29 = (stat64 *)(local_174 + 0x50);\n      local_908 = (stat64 *)bin_read((int)local_920,(uint8_t *)psVar29,0x40,"SF");\n      if (local_908 != (stat64 *)0x0) goto LAB_00012354;\n      _Var9 = check_lbrds((uint8_t *)psVar29,0x40,(opts_t *)local_820,&local_8f8,\n                          (uint32_t *)&local_8f4);\n      if (!_Var9) goto LAB_00012ef5;\n      if (local_8f8 != 1) {\n        pr2serr("No %ss found in SF (num=%u)\n","LBA range descriptor",local_8f8,extraout_EDX_01);\n        goto LAB_00012ef5;\n      }\n      local_820._104_4_ =\n           local_114 >> 0x18 | (local_114 & 0xff0000) >> 8 | (local_114 & 0xff00) << 8 |\n           local_114 << 0x18;\n      local_820._100_4_ =\n           local_110 >> 0x18 | (local_110 & 0xff0000) >> 8 | (local_110 & 0xff00) << 8 |\n           local_110 << 0x18;\n      local_820._84_4_ =\n           local_10c >> 0x18 | (local_10c & 0xff0000) >> 8 | (local_10c & 0xff00) << 8 |\n           local_10c << 0x18;\n    }\n    else {\n      local_820._100_4_ = local_578;\n      local_820._104_4_ = local_574;\n      local_820._84_4_ = local_778[0];\n      if (((stat64 *)uVar19 != (stat64 *)0x0) && (local_91c != (stat64 *)0x1)) {\n        pr2serr("warning: %d LBA,number_of_blocks pairs found, only taking first\n",local_91c,\n                psVar20,psVar20);\n      }\n    }\nLAB_00012d48:\n    if ((_Bool)local_820[8] == false) {\n      psVar29 = (stat64 *)(local_820._84_4_ * local_820._76_4_);\n    }\n    else {\n      psVar29 = (stat64 *)0x0;\n      if ((_Bool)local_820[0x10] == false) {\n        psVar29 = (stat64 *)local_820._76_4_;\n      }\n    }\n    local_7a4 = psVar29;\n    if (psVar29 == (stat64 *)0x0) {\n      up = (uint8_t *)0x0;\n    }\n    else {\n      up = (uint8_t *)sg_memalign(psVar29,0,&local_8f0,0);\n      if (up == (uint8_t *)0x0) {\n        pcVar18 = "unable to allocate %u bytes of memory\n";\n        ppvVar44 = (void **)0x0;\n        uVar19 = 0;\n        psVar41 = psVar29;\nLAB_00013bea:\n        pr2serr(pcVar18,psVar41,ppvVar44,uVar19);\n        local_908 = (stat64 *)sg_convert_errno(0xc);\n        goto LAB_00012354;\n      }\n      if (psVar29 < local_93c) {\n        local_93c = psVar29;\n      }\n      local_908 = (stat64 *)bin_read((int)local_924,up,(uint32_t)local_93c,"IF 5");\n      if (local_908 != (stat64 *)0x0) goto LAB_00012354;\n    }\n    local_908 = (stat64 *)do_write_x((int)local_930,up,(int)psVar29,(opts_t *)local_820);\n    if (local_908 == (stat64 *)0x0) goto LAB_00012354;\n    if ((_Bool)local_820[6] != false) goto LAB_00012354;\n    puVar48 = local_174;\n    psVar29 = (stat64 *)"OS error";\n    puVar33 = puVar48;\n    for (iVar17 = 9; iVar17 != 0; iVar17 = iVar17 + -1) {\n      *puVar33 = (char)psVar29->st_dev;\n      psVar29 = (stat64 *)((int)psVar29 + (uint)bVar37 * -2 + 1);\n      puVar33 = puVar33 + (uint)bVar37 * -2 + 1;\n    }\n    uVar24 = 0;\n    if (0 < (int)local_908) {\n      sg_get_category_sense_str(local_908,0x50,puVar48,uVar19);\n      uVar24 = extraout_ECX_02;\n    }\n    pr2serr("%s: %s\n",local_790,puVar48,uVar24);\n    goto LAB_00012354;\n  }" if (parenthesized_expression "((_Bool)local_820[9] == false)" ( (binary_expression "(_Bool)local_820[9] == false" (cast_expression "(_Bool)local_820[9]" ( (type_descriptor "_Bool" type_identifier) ) (subscript_expression "local_820[9]" identifier [ number_literal ])) == false) )) (compound_statement "{\n    if (local_91c == (stat64 *)0x0) {\n      psVar29 = (stat64 *)local_880._44_4_;\n      if (local_798 == (char *)0x0) {\n        if ((_Bool)local_820[7] == false) {\n          pr2serr("No LBA or number_of_blocks given, try using --lba= and --num=\n");\n          local_908 = (stat64 *)0x1;\n          goto LAB_00012354;\n        }\n      }\n      else if ((_Bool)local_820[7] == false) {\n        local_8f4 = (stat64 *)0x0;\n        local_908 = (stat64 *)\n                    build_t10_scat(local_798,(_Bool)local_820[0],true,local_174 + 0x50,&local_8f8,\n                                   (uint32_t *)&local_8f4,0x60);\n        if (local_908 != (stat64 *)0x0) goto LAB_00012354;\n        if ((stat64 *)uVar19 != (stat64 *)0x0) {\n          uVar10 = (uint)local_8f8;\n          if (1 < local_8f8) {\n            uVar10 = pr2serr("warning: %d LBA,number_of_blocks pairs found, only taking first\n",\n                             uVar10,extraout_EDX_05,extraout_EDX_05);\n          }\n          if (2 < (int)uVar19) {\n            pr2serr("after build_t10_scat, num_lbard=%u, sum_num=%u\n",local_8f8,local_8f4,uVar10);\n          }\n        }\n        if (local_8f8 != 1) {\n          pr2serr("Unable to decode one LBA range descriptor from %s\n",local_798,0,0);\n          local_908 = (stat64 *)0xf;\n          goto LAB_00012354;\n        }\n        local_820._104_4_ =\n             local_104 >> 0x18 | (local_104 & 0xff0000) >> 8 | (local_104 & 0xff00) << 8 |\n             local_104 << 0x18;\n        local_820._100_4_ =\n             local_100 >> 0x18 | (local_100 & 0xff0000) >> 8 | (local_100 & 0xff00) << 8 |\n             local_100 << 0x18;\n        local_820._84_4_ =\n             local_fc >> 0x18 | (local_fc & 0xff0000) >> 8 | (local_fc & 0xff00) << 8 |\n             local_fc << 0x18;\n        if ((_Bool)local_820[1] != false) {\n          local_820._96_4_ =\n               local_f8 >> 0x18 | (local_f8 & 0xff0000) >> 8 | (local_f8 & 0xff00) << 8 |\n               local_f8 << 0x18;\n          local_820._58_2_ = local_f4 << 8 | local_f4 >> 8;\n          local_820._68_2_ = local_f2 << 8 | local_f2 >> 8;\n        }\n        goto LAB_00012d48;\n      }\n      if (local_908 < (stat64 *)0x40) {\n        pr2serr("raw scatter file must be at least 64 bytes long (length: %u)\n",local_908,\n                local_880._44_4_,local_880._44_4_);\nLAB_00012ef5:\n        local_908 = (stat64 *)0xf;\n        goto LAB_00012354;\n      }\n      psVar29 = (stat64 *)(local_174 + 0x50);\n      local_908 = (stat64 *)bin_read((int)local_920,(uint8_t *)psVar29,0x40,"SF");\n      if (local_908 != (stat64 *)0x0) goto LAB_00012354;\n      _Var9 = check_lbrds((uint8_t *)psVar29,0x40,(opts_t *)local_820,&local_8f8,\n                          (uint32_t *)&local_8f4);\n      if (!_Var9) goto LAB_00012ef5;\n      if (local_8f8 != 1) {\n        pr2serr("No %ss found in SF (num=%u)\n","LBA range descriptor",local_8f8,extraout_EDX_01);\n        goto LAB_00012ef5;\n      }\n      local_820._104_4_ =\n           local_114 >> 0x18 | (local_114 & 0xff0000) >> 8 | (local_114 & 0xff00) << 8 |\n           local_114 << 0x18;\n      local_820._100_4_ =\n           local_110 >> 0x18 | (local_110 & 0xff0000) >> 8 | (local_110 & 0xff00) << 8 |\n           local_110 << 0x18;\n      local_820._84_4_ =\n           local_10c >> 0x18 | (local_10c & 0xff0000) >> 8 | (local_10c & 0xff00) << 8 |\n           local_10c << 0x18;\n    }\n    else {\n      local_820._100_4_ = local_578;\n      local_820._104_4_ = local_574;\n      local_820._84_4_ = local_778[0];\n      if (((stat64 *)uVar19 != (stat64 *)0x0) && (local_91c != (stat64 *)0x1)) {\n        pr2serr("warning: %d LBA,number_of_blocks pairs found, only taking first\n",local_91c,\n                psVar20,psVar20);\n      }\n    }\nLAB_00012d48:\n    if ((_Bool)local_820[8] == false) {\n      psVar29 = (stat64 *)(local_820._84_4_ * local_820._76_4_);\n    }\n    else {\n      psVar29 = (stat64 *)0x0;\n      if ((_Bool)local_820[0x10] == false) {\n        psVar29 = (stat64 *)local_820._76_4_;\n      }\n    }\n    local_7a4 = psVar29;\n    if (psVar29 == (stat64 *)0x0) {\n      up = (uint8_t *)0x0;\n    }\n    else {\n      up = (uint8_t *)sg_memalign(psVar29,0,&local_8f0,0);\n      if (up == (uint8_t *)0x0) {\n        pcVar18 = "unable to allocate %u bytes of memory\n";\n        ppvVar44 = (void **)0x0;\n        uVar19 = 0;\n        psVar41 = psVar29;\nLAB_00013bea:\n        pr2serr(pcVar18,psVar41,ppvVar44,uVar19);\n        local_908 = (stat64 *)sg_convert_errno(0xc);\n        goto LAB_00012354;\n      }\n      if (psVar29 < local_93c) {\n        local_93c = psVar29;\n      }\n      local_908 = (stat64 *)bin_read((int)local_924,up,(uint32_t)local_93c,"IF 5");\n      if (local_908 != (stat64 *)0x0) goto LAB_00012354;\n    }\n    local_908 = (stat64 *)do_write_x((int)local_930,up,(int)psVar29,(opts_t *)local_820);\n    if (local_908 == (stat64 *)0x0) goto LAB_00012354;\n    if ((_Bool)local_820[6] != false) goto LAB_00012354;\n    puVar48 = local_174;\n    psVar29 = (stat64 *)"OS error";\n    puVar33 = puVar48;\n    for (iVar17 = 9; iVar17 != 0; iVar17 = iVar17 + -1) {\n      *puVar33 = (char)psVar29->st_dev;\n      psVar29 = (stat64 *)((int)psVar29 + (uint)bVar37 * -2 + 1);\n      puVar33 = puVar33 + (uint)bVar37 * -2 + 1;\n    }\n    uVar24 = 0;\n    if (0 < (int)local_908) {\n      sg_get_category_sense_str(local_908,0x50,puVar48,uVar19);\n      uVar24 = extraout_ECX_02;\n    }\n    pr2serr("%s: %s\n",local_790,puVar48,uVar24);\n    goto LAB_00012354;\n  }" { (if_statement "if (local_91c == (stat64 *)0x0) {\n      psVar29 = (stat64 *)local_880._44_4_;\n      if (local_798 == (char *)0x0) {\n        if ((_Bool)local_820[7] == false) {\n          pr2serr("No LBA or number_of_blocks given, try using --lba= and --num=\n");\n          local_908 = (stat64 *)0x1;\n          goto LAB_00012354;\n        }\n      }\n      else if ((_Bool)local_820[7] == false) {\n        local_8f4 = (stat64 *)0x0;\n        local_908 = (stat64 *)\n                    build_t10_scat(local_798,(_Bool)local_820[0],true,local_174 + 0x50,&local_8f8,\n                                   (uint32_t *)&local_8f4,0x60);\n        if (local_908 != (stat64 *)0x0) goto LAB_00012354;\n        if ((stat64 *)uVar19 != (stat64 *)0x0) {\n          uVar10 = (uint)local_8f8;\n          if (1 < local_8f8) {\n            uVar10 = pr2serr("warning: %d LBA,number_of_blocks pairs found, only taking first\n",\n                             uVar10,extraout_EDX_05,extraout_EDX_05);\n          }\n          if (2 < (int)uVar19) {\n            pr2serr("after build_t10_scat, num_lbard=%u, sum_num=%u\n",local_8f8,local_8f4,uVar10);\n          }\n        }\n        if (local_8f8 != 1) {\n          pr2serr("Unable to decode one LBA range descriptor from %s\n",local_798,0,0);\n          local_908 = (stat64 *)0xf;\n          goto LAB_00012354;\n        }\n        local_820._104_4_ =\n             local_104 >> 0x18 | (local_104 & 0xff0000) >> 8 | (local_104 & 0xff00) << 8 |\n             local_104 << 0x18;\n        local_820._100_4_ =\n             local_100 >> 0x18 | (local_100 & 0xff0000) >> 8 | (local_100 & 0xff00) << 8 |\n             local_100 << 0x18;\n        local_820._84_4_ =\n             local_fc >> 0x18 | (local_fc & 0xff0000) >> 8 | (local_fc & 0xff00) << 8 |\n             local_fc << 0x18;\n        if ((_Bool)local_820[1] != false) {\n          local_820._96_4_ =\n               local_f8 >> 0x18 | (local_f8 & 0xff0000) >> 8 | (local_f8 & 0xff00) << 8 |\n               local_f8 << 0x18;\n          local_820._58_2_ = local_f4 << 8 | local_f4 >> 8;\n          local_820._68_2_ = local_f2 << 8 | local_f2 >> 8;\n        }\n        goto LAB_00012d48;\n      }\n      if (local_908 < (stat64 *)0x40) {\n        pr2serr("raw scatter file must be at least 64 bytes long (length: %u)\n",local_908,\n                local_880._44_4_,local_880._44_4_);\nLAB_00012ef5:\n        local_908 = (stat64 *)0xf;\n        goto LAB_00012354;\n      }\n      psVar29 = (stat64 *)(local_174 + 0x50);\n      local_908 = (stat64 *)bin_read((int)local_920,(uint8_t *)psVar29,0x40,"SF");\n      if (local_908 != (stat64 *)0x0) goto LAB_00012354;\n      _Var9 = check_lbrds((uint8_t *)psVar29,0x40,(opts_t *)local_820,&local_8f8,\n                          (uint32_t *)&local_8f4);\n      if (!_Var9) goto LAB_00012ef5;\n      if (local_8f8 != 1) {\n        pr2serr("No %ss found in SF (num=%u)\n","LBA range descriptor",local_8f8,extraout_EDX_01);\n        goto LAB_00012ef5;\n      }\n      local_820._104_4_ =\n           local_114 >> 0x18 | (local_114 & 0xff0000) >> 8 | (local_114 & 0xff00) << 8 |\n           local_114 << 0x18;\n      local_820._100_4_ =\n           local_110 >> 0x18 | (local_110 & 0xff0000) >> 8 | (local_110 & 0xff00) << 8 |\n           local_110 << 0x18;\n      local_820._84_4_ =\n           local_10c >> 0x18 | (local_10c & 0xff0000) >> 8 | (local_10c & 0xff00) << 8 |\n           local_10c << 0x18;\n    }\n    else {\n      local_820._100_4_ = local_578;\n      local_820._104_4_ = local_574;\n      local_820._84_4_ = local_778[0];\n      if (((stat64 *)uVar19 != (stat64 *)0x0) && (local_91c != (stat64 *)0x1)) {\n        pr2serr("warning: %d LBA,number_of_blocks pairs found, only taking first\n",local_91c,\n                psVar20,psVar20);\n      }\n    }" if (parenthesized_expression "(local_91c == (stat64 *)0x0)" ( (binary_expression "local_91c == (stat64 *)0x0" identifier == (cast_expression "(stat64 *)0x0" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      psVar29 = (stat64 *)local_880._44_4_;\n      if (local_798 == (char *)0x0) {\n        if ((_Bool)local_820[7] == false) {\n          pr2serr("No LBA or number_of_blocks given, try using --lba= and --num=\n");\n          local_908 = (stat64 *)0x1;\n          goto LAB_00012354;\n        }\n      }\n      else if ((_Bool)local_820[7] == false) {\n        local_8f4 = (stat64 *)0x0;\n        local_908 = (stat64 *)\n                    build_t10_scat(local_798,(_Bool)local_820[0],true,local_174 + 0x50,&local_8f8,\n                                   (uint32_t *)&local_8f4,0x60);\n        if (local_908 != (stat64 *)0x0) goto LAB_00012354;\n        if ((stat64 *)uVar19 != (stat64 *)0x0) {\n          uVar10 = (uint)local_8f8;\n          if (1 < local_8f8) {\n            uVar10 = pr2serr("warning: %d LBA,number_of_blocks pairs found, only taking first\n",\n                             uVar10,extraout_EDX_05,extraout_EDX_05);\n          }\n          if (2 < (int)uVar19) {\n            pr2serr("after build_t10_scat, num_lbard=%u, sum_num=%u\n",local_8f8,local_8f4,uVar10);\n          }\n        }\n        if (local_8f8 != 1) {\n          pr2serr("Unable to decode one LBA range descriptor from %s\n",local_798,0,0);\n          local_908 = (stat64 *)0xf;\n          goto LAB_00012354;\n        }\n        local_820._104_4_ =\n             local_104 >> 0x18 | (local_104 & 0xff0000) >> 8 | (local_104 & 0xff00) << 8 |\n             local_104 << 0x18;\n        local_820._100_4_ =\n             local_100 >> 0x18 | (local_100 & 0xff0000) >> 8 | (local_100 & 0xff00) << 8 |\n             local_100 << 0x18;\n        local_820._84_4_ =\n             local_fc >> 0x18 | (local_fc & 0xff0000) >> 8 | (local_fc & 0xff00) << 8 |\n             local_fc << 0x18;\n        if ((_Bool)local_820[1] != false) {\n          local_820._96_4_ =\n               local_f8 >> 0x18 | (local_f8 & 0xff0000) >> 8 | (local_f8 & 0xff00) << 8 |\n               local_f8 << 0x18;\n          local_820._58_2_ = local_f4 << 8 | local_f4 >> 8;\n          local_820._68_2_ = local_f2 << 8 | local_f2 >> 8;\n        }\n        goto LAB_00012d48;\n      }\n      if (local_908 < (stat64 *)0x40) {\n        pr2serr("raw scatter file must be at least 64 bytes long (length: %u)\n",local_908,\n                local_880._44_4_,local_880._44_4_);\nLAB_00012ef5:\n        local_908 = (stat64 *)0xf;\n        goto LAB_00012354;\n      }\n      psVar29 = (stat64 *)(local_174 + 0x50);\n      local_908 = (stat64 *)bin_read((int)local_920,(uint8_t *)psVar29,0x40,"SF");\n      if (local_908 != (stat64 *)0x0) goto LAB_00012354;\n      _Var9 = check_lbrds((uint8_t *)psVar29,0x40,(opts_t *)local_820,&local_8f8,\n                          (uint32_t *)&local_8f4);\n      if (!_Var9) goto LAB_00012ef5;\n      if (local_8f8 != 1) {\n        pr2serr("No %ss found in SF (num=%u)\n","LBA range descriptor",local_8f8,extraout_EDX_01);\n        goto LAB_00012ef5;\n      }\n      local_820._104_4_ =\n           local_114 >> 0x18 | (local_114 & 0xff0000) >> 8 | (local_114 & 0xff00) << 8 |\n           local_114 << 0x18;\n      local_820._100_4_ =\n           local_110 >> 0x18 | (local_110 & 0xff0000) >> 8 | (local_110 & 0xff00) << 8 |\n           local_110 << 0x18;\n      local_820._84_4_ =\n           local_10c >> 0x18 | (local_10c & 0xff0000) >> 8 | (local_10c & 0xff00) << 8 |\n           local_10c << 0x18;\n    }" { (expression_statement "psVar29 = (stat64 *)local_880._44_4_;" (assignment_expression "psVar29 = (stat64 *)local_880._44_4_" identifier = (cast_expression "(stat64 *)local_880._44_4_" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "local_880._44_4_" identifier . field_identifier))) ;) (if_statement "if (local_798 == (char *)0x0) {\n        if ((_Bool)local_820[7] == false) {\n          pr2serr("No LBA or number_of_blocks given, try using --lba= and --num=\n");\n          local_908 = (stat64 *)0x1;\n          goto LAB_00012354;\n        }\n      }\n      else if ((_Bool)local_820[7] == false) {\n        local_8f4 = (stat64 *)0x0;\n        local_908 = (stat64 *)\n                    build_t10_scat(local_798,(_Bool)local_820[0],true,local_174 + 0x50,&local_8f8,\n                                   (uint32_t *)&local_8f4,0x60);\n        if (local_908 != (stat64 *)0x0) goto LAB_00012354;\n        if ((stat64 *)uVar19 != (stat64 *)0x0) {\n          uVar10 = (uint)local_8f8;\n          if (1 < local_8f8) {\n            uVar10 = pr2serr("warning: %d LBA,number_of_blocks pairs found, only taking first\n",\n                             uVar10,extraout_EDX_05,extraout_EDX_05);\n          }\n          if (2 < (int)uVar19) {\n            pr2serr("after build_t10_scat, num_lbard=%u, sum_num=%u\n",local_8f8,local_8f4,uVar10);\n          }\n        }\n        if (local_8f8 != 1) {\n          pr2serr("Unable to decode one LBA range descriptor from %s\n",local_798,0,0);\n          local_908 = (stat64 *)0xf;\n          goto LAB_00012354;\n        }\n        local_820._104_4_ =\n             local_104 >> 0x18 | (local_104 & 0xff0000) >> 8 | (local_104 & 0xff00) << 8 |\n             local_104 << 0x18;\n        local_820._100_4_ =\n             local_100 >> 0x18 | (local_100 & 0xff0000) >> 8 | (local_100 & 0xff00) << 8 |\n             local_100 << 0x18;\n        local_820._84_4_ =\n             local_fc >> 0x18 | (local_fc & 0xff0000) >> 8 | (local_fc & 0xff00) << 8 |\n             local_fc << 0x18;\n        if ((_Bool)local_820[1] != false) {\n          local_820._96_4_ =\n               local_f8 >> 0x18 | (local_f8 & 0xff0000) >> 8 | (local_f8 & 0xff00) << 8 |\n               local_f8 << 0x18;\n          local_820._58_2_ = local_f4 << 8 | local_f4 >> 8;\n          local_820._68_2_ = local_f2 << 8 | local_f2 >> 8;\n        }\n        goto LAB_00012d48;\n      }" if (parenthesized_expression "(local_798 == (char *)0x0)" ( (binary_expression "local_798 == (char *)0x0" identifier == (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        if ((_Bool)local_820[7] == false) {\n          pr2serr("No LBA or number_of_blocks given, try using --lba= and --num=\n");\n          local_908 = (stat64 *)0x1;\n          goto LAB_00012354;\n        }\n      }" { (if_statement "if ((_Bool)local_820[7] == false) {\n          pr2serr("No LBA or number_of_blocks given, try using --lba= and --num=\n");\n          local_908 = (stat64 *)0x1;\n          goto LAB_00012354;\n        }" if (parenthesized_expression "((_Bool)local_820[7] == false)" ( (binary_expression "(_Bool)local_820[7] == false" (cast_expression "(_Bool)local_820[7]" ( (type_descriptor "_Bool" type_identifier) ) (subscript_expression "local_820[7]" identifier [ number_literal ])) == false) )) (compound_statement "{\n          pr2serr("No LBA or number_of_blocks given, try using --lba= and --num=\n");\n          local_908 = (stat64 *)0x1;\n          goto LAB_00012354;\n        }" { (expression_statement "pr2serr("No LBA or number_of_blocks given, try using --lba= and --num=\n");" (call_expression "pr2serr("No LBA or number_of_blocks given, try using --lba= and --num=\n")" identifier (argument_list "("No LBA or number_of_blocks given, try using --lba= and --num=\n")" ( (string_literal ""No LBA or number_of_blocks given, try using --lba= and --num=\n"" " string_content escape_sequence ") ))) ;) (expression_statement "local_908 = (stat64 *)0x1;" (assignment_expression "local_908 = (stat64 *)0x1" identifier = (cast_expression "(stat64 *)0x1" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (goto_statement "goto LAB_00012354;" goto statement_identifier ;) })) }) (else_clause "else if ((_Bool)local_820[7] == false) {\n        local_8f4 = (stat64 *)0x0;\n        local_908 = (stat64 *)\n                    build_t10_scat(local_798,(_Bool)local_820[0],true,local_174 + 0x50,&local_8f8,\n                                   (uint32_t *)&local_8f4,0x60);\n        if (local_908 != (stat64 *)0x0) goto LAB_00012354;\n        if ((stat64 *)uVar19 != (stat64 *)0x0) {\n          uVar10 = (uint)local_8f8;\n          if (1 < local_8f8) {\n            uVar10 = pr2serr("warning: %d LBA,number_of_blocks pairs found, only taking first\n",\n                             uVar10,extraout_EDX_05,extraout_EDX_05);\n          }\n          if (2 < (int)uVar19) {\n            pr2serr("after build_t10_scat, num_lbard=%u, sum_num=%u\n",local_8f8,local_8f4,uVar10);\n          }\n        }\n        if (local_8f8 != 1) {\n          pr2serr("Unable to decode one LBA range descriptor from %s\n",local_798,0,0);\n          local_908 = (stat64 *)0xf;\n          goto LAB_00012354;\n        }\n        local_820._104_4_ =\n             local_104 >> 0x18 | (local_104 & 0xff0000) >> 8 | (local_104 & 0xff00) << 8 |\n             local_104 << 0x18;\n        local_820._100_4_ =\n             local_100 >> 0x18 | (local_100 & 0xff0000) >> 8 | (local_100 & 0xff00) << 8 |\n             local_100 << 0x18;\n        local_820._84_4_ =\n             local_fc >> 0x18 | (local_fc & 0xff0000) >> 8 | (local_fc & 0xff00) << 8 |\n             local_fc << 0x18;\n        if ((_Bool)local_820[1] != false) {\n          local_820._96_4_ =\n               local_f8 >> 0x18 | (local_f8 & 0xff0000) >> 8 | (local_f8 & 0xff00) << 8 |\n               local_f8 << 0x18;\n          local_820._58_2_ = local_f4 << 8 | local_f4 >> 8;\n          local_820._68_2_ = local_f2 << 8 | local_f2 >> 8;\n        }\n        goto LAB_00012d48;\n      }" else (if_statement "if ((_Bool)local_820[7] == false) {\n        local_8f4 = (stat64 *)0x0;\n        local_908 = (stat64 *)\n                    build_t10_scat(local_798,(_Bool)local_820[0],true,local_174 + 0x50,&local_8f8,\n                                   (uint32_t *)&local_8f4,0x60);\n        if (local_908 != (stat64 *)0x0) goto LAB_00012354;\n        if ((stat64 *)uVar19 != (stat64 *)0x0) {\n          uVar10 = (uint)local_8f8;\n          if (1 < local_8f8) {\n            uVar10 = pr2serr("warning: %d LBA,number_of_blocks pairs found, only taking first\n",\n                             uVar10,extraout_EDX_05,extraout_EDX_05);\n          }\n          if (2 < (int)uVar19) {\n            pr2serr("after build_t10_scat, num_lbard=%u, sum_num=%u\n",local_8f8,local_8f4,uVar10);\n          }\n        }\n        if (local_8f8 != 1) {\n          pr2serr("Unable to decode one LBA range descriptor from %s\n",local_798,0,0);\n          local_908 = (stat64 *)0xf;\n          goto LAB_00012354;\n        }\n        local_820._104_4_ =\n             local_104 >> 0x18 | (local_104 & 0xff0000) >> 8 | (local_104 & 0xff00) << 8 |\n             local_104 << 0x18;\n        local_820._100_4_ =\n             local_100 >> 0x18 | (local_100 & 0xff0000) >> 8 | (local_100 & 0xff00) << 8 |\n             local_100 << 0x18;\n        local_820._84_4_ =\n             local_fc >> 0x18 | (local_fc & 0xff0000) >> 8 | (local_fc & 0xff00) << 8 |\n             local_fc << 0x18;\n        if ((_Bool)local_820[1] != false) {\n          local_820._96_4_ =\n               local_f8 >> 0x18 | (local_f8 & 0xff0000) >> 8 | (local_f8 & 0xff00) << 8 |\n               local_f8 << 0x18;\n          local_820._58_2_ = local_f4 << 8 | local_f4 >> 8;\n          local_820._68_2_ = local_f2 << 8 | local_f2 >> 8;\n        }\n        goto LAB_00012d48;\n      }" if (parenthesized_expression "((_Bool)local_820[7] == false)" ( (binary_expression "(_Bool)local_820[7] == false" (cast_expression "(_Bool)local_820[7]" ( (type_descriptor "_Bool" type_identifier) ) (subscript_expression "local_820[7]" identifier [ number_literal ])) == false) )) (compound_statement "{\n        local_8f4 = (stat64 *)0x0;\n        local_908 = (stat64 *)\n                    build_t10_scat(local_798,(_Bool)local_820[0],true,local_174 + 0x50,&local_8f8,\n                                   (uint32_t *)&local_8f4,0x60);\n        if (local_908 != (stat64 *)0x0) goto LAB_00012354;\n        if ((stat64 *)uVar19 != (stat64 *)0x0) {\n          uVar10 = (uint)local_8f8;\n          if (1 < local_8f8) {\n            uVar10 = pr2serr("warning: %d LBA,number_of_blocks pairs found, only taking first\n",\n                             uVar10,extraout_EDX_05,extraout_EDX_05);\n          }\n          if (2 < (int)uVar19) {\n            pr2serr("after build_t10_scat, num_lbard=%u, sum_num=%u\n",local_8f8,local_8f4,uVar10);\n          }\n        }\n        if (local_8f8 != 1) {\n          pr2serr("Unable to decode one LBA range descriptor from %s\n",local_798,0,0);\n          local_908 = (stat64 *)0xf;\n          goto LAB_00012354;\n        }\n        local_820._104_4_ =\n             local_104 >> 0x18 | (local_104 & 0xff0000) >> 8 | (local_104 & 0xff00) << 8 |\n             local_104 << 0x18;\n        local_820._100_4_ =\n             local_100 >> 0x18 | (local_100 & 0xff0000) >> 8 | (local_100 & 0xff00) << 8 |\n             local_100 << 0x18;\n        local_820._84_4_ =\n             local_fc >> 0x18 | (local_fc & 0xff0000) >> 8 | (local_fc & 0xff00) << 8 |\n             local_fc << 0x18;\n        if ((_Bool)local_820[1] != false) {\n          local_820._96_4_ =\n               local_f8 >> 0x18 | (local_f8 & 0xff0000) >> 8 | (local_f8 & 0xff00) << 8 |\n               local_f8 << 0x18;\n          local_820._58_2_ = local_f4 << 8 | local_f4 >> 8;\n          local_820._68_2_ = local_f2 << 8 | local_f2 >> 8;\n        }\n        goto LAB_00012d48;\n      }" { (expression_statement "local_8f4 = (stat64 *)0x0;" (assignment_expression "local_8f4 = (stat64 *)0x0" identifier = (cast_expression "(stat64 *)0x0" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_908 = (stat64 *)\n                    build_t10_scat(local_798,(_Bool)local_820[0],true,local_174 + 0x50,&local_8f8,\n                                   (uint32_t *)&local_8f4,0x60);" (assignment_expression "local_908 = (stat64 *)\n                    build_t10_scat(local_798,(_Bool)local_820[0],true,local_174 + 0x50,&local_8f8,\n                                   (uint32_t *)&local_8f4,0x60)" identifier = (cast_expression "(stat64 *)\n                    build_t10_scat(local_798,(_Bool)local_820[0],true,local_174 + 0x50,&local_8f8,\n                                   (uint32_t *)&local_8f4,0x60)" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "build_t10_scat(local_798,(_Bool)local_820[0],true,local_174 + 0x50,&local_8f8,\n                                   (uint32_t *)&local_8f4,0x60)" identifier (argument_list "(local_798,(_Bool)local_820[0],true,local_174 + 0x50,&local_8f8,\n                                   (uint32_t *)&local_8f4,0x60)" ( identifier , (cast_expression "(_Bool)local_820[0]" ( (type_descriptor "_Bool" type_identifier) ) (subscript_expression "local_820[0]" identifier [ number_literal ])) , true , (binary_expression "local_174 + 0x50" identifier + number_literal) , (pointer_expression "&local_8f8" & identifier) , (cast_expression "(uint32_t *)&local_8f4" ( (type_descriptor "uint32_t *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "&local_8f4" & identifier)) , number_literal ))))) ;) (if_statement "if (local_908 != (stat64 *)0x0) goto LAB_00012354;" if (parenthesized_expression "(local_908 != (stat64 *)0x0)" ( (binary_expression "local_908 != (stat64 *)0x0" identifier != (cast_expression "(stat64 *)0x0" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_00012354;" goto statement_identifier ;)) (if_statement "if ((stat64 *)uVar19 != (stat64 *)0x0) {\n          uVar10 = (uint)local_8f8;\n          if (1 < local_8f8) {\n            uVar10 = pr2serr("warning: %d LBA,number_of_blocks pairs found, only taking first\n",\n                             uVar10,extraout_EDX_05,extraout_EDX_05);\n          }\n          if (2 < (int)uVar19) {\n            pr2serr("after build_t10_scat, num_lbard=%u, sum_num=%u\n",local_8f8,local_8f4,uVar10);\n          }\n        }" if (parenthesized_expression "((stat64 *)uVar19 != (stat64 *)0x0)" ( (binary_expression "(stat64 *)uVar19 != (stat64 *)0x0" (cast_expression "(stat64 *)uVar19" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) != (cast_expression "(stat64 *)0x0" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n          uVar10 = (uint)local_8f8;\n          if (1 < local_8f8) {\n            uVar10 = pr2serr("warning: %d LBA,number_of_blocks pairs found, only taking first\n",\n                             uVar10,extraout_EDX_05,extraout_EDX_05);\n          }\n          if (2 < (int)uVar19) {\n            pr2serr("after build_t10_scat, num_lbard=%u, sum_num=%u\n",local_8f8,local_8f4,uVar10);\n          }\n        }" { (expression_statement "uVar10 = (uint)local_8f8;" (assignment_expression "uVar10 = (uint)local_8f8" identifier = (cast_expression "(uint)local_8f8" ( (type_descriptor "uint" type_identifier) ) identifier)) ;) (if_statement "if (1 < local_8f8) {\n            uVar10 = pr2serr("warning: %d LBA,number_of_blocks pairs found, only taking first\n",\n                             uVar10,extraout_EDX_05,extraout_EDX_05);\n          }" if (parenthesized_expression "(1 < local_8f8)" ( (binary_expression "1 < local_8f8" number_literal < identifier) )) (compound_statement "{\n            uVar10 = pr2serr("warning: %d LBA,number_of_blocks pairs found, only taking first\n",\n                             uVar10,extraout_EDX_05,extraout_EDX_05);\n          }" { (expression_statement "uVar10 = pr2serr("warning: %d LBA,number_of_blocks pairs found, only taking first\n",\n                             uVar10,extraout_EDX_05,extraout_EDX_05);" (assignment_expression "uVar10 = pr2serr("warning: %d LBA,number_of_blocks pairs found, only taking first\n",\n                             uVar10,extraout_EDX_05,extraout_EDX_05)" identifier = (call_expression "pr2serr("warning: %d LBA,number_of_blocks pairs found, only taking first\n",\n                             uVar10,extraout_EDX_05,extraout_EDX_05)" identifier (argument_list "("warning: %d LBA,number_of_blocks pairs found, only taking first\n",\n                             uVar10,extraout_EDX_05,extraout_EDX_05)" ( (string_literal ""warning: %d LBA,number_of_blocks pairs found, only taking first\n"" " string_content escape_sequence ") , identifier , identifier , identifier )))) ;) })) (if_statement "if (2 < (int)uVar19) {\n            pr2serr("after build_t10_scat, num_lbard=%u, sum_num=%u\n",local_8f8,local_8f4,uVar10);\n          }" if (parenthesized_expression "(2 < (int)uVar19)" ( (binary_expression "2 < (int)uVar19" number_literal < (cast_expression "(int)uVar19" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n            pr2serr("after build_t10_scat, num_lbard=%u, sum_num=%u\n",local_8f8,local_8f4,uVar10);\n          }" { (expression_statement "pr2serr("after build_t10_scat, num_lbard=%u, sum_num=%u\n",local_8f8,local_8f4,uVar10);" (call_expression "pr2serr("after build_t10_scat, num_lbard=%u, sum_num=%u\n",local_8f8,local_8f4,uVar10)" identifier (argument_list "("after build_t10_scat, num_lbard=%u, sum_num=%u\n",local_8f8,local_8f4,uVar10)" ( (string_literal ""after build_t10_scat, num_lbard=%u, sum_num=%u\n"" " string_content escape_sequence ") , identifier , identifier , identifier ))) ;) })) })) (if_statement "if (local_8f8 != 1) {\n          pr2serr("Unable to decode one LBA range descriptor from %s\n",local_798,0,0);\n          local_908 = (stat64 *)0xf;\n          goto LAB_00012354;\n        }" if (parenthesized_expression "(local_8f8 != 1)" ( (binary_expression "local_8f8 != 1" identifier != number_literal) )) (compound_statement "{\n          pr2serr("Unable to decode one LBA range descriptor from %s\n",local_798,0,0);\n          local_908 = (stat64 *)0xf;\n          goto LAB_00012354;\n        }" { (expression_statement "pr2serr("Unable to decode one LBA range descriptor from %s\n",local_798,0,0);" (call_expression "pr2serr("Unable to decode one LBA range descriptor from %s\n",local_798,0,0)" identifier (argument_list "("Unable to decode one LBA range descriptor from %s\n",local_798,0,0)" ( (string_literal ""Unable to decode one LBA range descriptor from %s\n"" " string_content escape_sequence ") , identifier , number_literal , number_literal ))) ;) (expression_statement "local_908 = (stat64 *)0xf;" (assignment_expression "local_908 = (stat64 *)0xf" identifier = (cast_expression "(stat64 *)0xf" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (goto_statement "goto LAB_00012354;" goto statement_identifier ;) })) (expression_statement "local_820._104_4_ =\n             local_104 >> 0x18 | (local_104 & 0xff0000) >> 8 | (local_104 & 0xff00) << 8 |\n             local_104 << 0x18;" (assignment_expression "local_820._104_4_ =\n             local_104 >> 0x18 | (local_104 & 0xff0000) >> 8 | (local_104 & 0xff00) << 8 |\n             local_104 << 0x18" (field_expression "local_820._104_4_" identifier . field_identifier) = (binary_expression "local_104 >> 0x18 | (local_104 & 0xff0000) >> 8 | (local_104 & 0xff00) << 8 |\n             local_104 << 0x18" (binary_expression "local_104 >> 0x18 | (local_104 & 0xff0000) >> 8 | (local_104 & 0xff00) << 8" (binary_expression "local_104 >> 0x18 | (local_104 & 0xff0000) >> 8" (binary_expression "local_104 >> 0x18" identifier >> number_literal) | (binary_expression "(local_104 & 0xff0000) >> 8" (parenthesized_expression "(local_104 & 0xff0000)" ( (binary_expression "local_104 & 0xff0000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(local_104 & 0xff00) << 8" (parenthesized_expression "(local_104 & 0xff00)" ( (binary_expression "local_104 & 0xff00" identifier & number_literal) )) << number_literal)) | (binary_expression "local_104 << 0x18" identifier << number_literal))) ;) (expression_statement "local_820._100_4_ =\n             local_100 >> 0x18 | (local_100 & 0xff0000) >> 8 | (local_100 & 0xff00) << 8 |\n             local_100 << 0x18;" (assignment_expression "local_820._100_4_ =\n             local_100 >> 0x18 | (local_100 & 0xff0000) >> 8 | (local_100 & 0xff00) << 8 |\n             local_100 << 0x18" (field_expression "local_820._100_4_" identifier . field_identifier) = (binary_expression "local_100 >> 0x18 | (local_100 & 0xff0000) >> 8 | (local_100 & 0xff00) << 8 |\n             local_100 << 0x18" (binary_expression "local_100 >> 0x18 | (local_100 & 0xff0000) >> 8 | (local_100 & 0xff00) << 8" (binary_expression "local_100 >> 0x18 | (local_100 & 0xff0000) >> 8" (binary_expression "local_100 >> 0x18" identifier >> number_literal) | (binary_expression "(local_100 & 0xff0000) >> 8" (parenthesized_expression "(local_100 & 0xff0000)" ( (binary_expression "local_100 & 0xff0000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(local_100 & 0xff00) << 8" (parenthesized_expression "(local_100 & 0xff00)" ( (binary_expression "local_100 & 0xff00" identifier & number_literal) )) << number_literal)) | (binary_expression "local_100 << 0x18" identifier << number_literal))) ;) (expression_statement "local_820._84_4_ =\n             local_fc >> 0x18 | (local_fc & 0xff0000) >> 8 | (local_fc & 0xff00) << 8 |\n             local_fc << 0x18;" (assignment_expression "local_820._84_4_ =\n             local_fc >> 0x18 | (local_fc & 0xff0000) >> 8 | (local_fc & 0xff00) << 8 |\n             local_fc << 0x18" (field_expression "local_820._84_4_" identifier . field_identifier) = (binary_expression "local_fc >> 0x18 | (local_fc & 0xff0000) >> 8 | (local_fc & 0xff00) << 8 |\n             local_fc << 0x18" (binary_expression "local_fc >> 0x18 | (local_fc & 0xff0000) >> 8 | (local_fc & 0xff00) << 8" (binary_expression "local_fc >> 0x18 | (local_fc & 0xff0000) >> 8" (binary_expression "local_fc >> 0x18" identifier >> number_literal) | (binary_expression "(local_fc & 0xff0000) >> 8" (parenthesized_expression "(local_fc & 0xff0000)" ( (binary_expression "local_fc & 0xff0000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(local_fc & 0xff00) << 8" (parenthesized_expression "(local_fc & 0xff00)" ( (binary_expression "local_fc & 0xff00" identifier & number_literal) )) << number_literal)) | (binary_expression "local_fc << 0x18" identifier << number_literal))) ;) (if_statement "if ((_Bool)local_820[1] != false) {\n          local_820._96_4_ =\n               local_f8 >> 0x18 | (local_f8 & 0xff0000) >> 8 | (local_f8 & 0xff00) << 8 |\n               local_f8 << 0x18;\n          local_820._58_2_ = local_f4 << 8 | local_f4 >> 8;\n          local_820._68_2_ = local_f2 << 8 | local_f2 >> 8;\n        }" if (parenthesized_expression "((_Bool)local_820[1] != false)" ( (binary_expression "(_Bool)local_820[1] != false" (cast_expression "(_Bool)local_820[1]" ( (type_descriptor "_Bool" type_identifier) ) (subscript_expression "local_820[1]" identifier [ number_literal ])) != false) )) (compound_statement "{\n          local_820._96_4_ =\n               local_f8 >> 0x18 | (local_f8 & 0xff0000) >> 8 | (local_f8 & 0xff00) << 8 |\n               local_f8 << 0x18;\n          local_820._58_2_ = local_f4 << 8 | local_f4 >> 8;\n          local_820._68_2_ = local_f2 << 8 | local_f2 >> 8;\n        }" { (expression_statement "local_820._96_4_ =\n               local_f8 >> 0x18 | (local_f8 & 0xff0000) >> 8 | (local_f8 & 0xff00) << 8 |\n               local_f8 << 0x18;" (assignment_expression "local_820._96_4_ =\n               local_f8 >> 0x18 | (local_f8 & 0xff0000) >> 8 | (local_f8 & 0xff00) << 8 |\n               local_f8 << 0x18" (field_expression "local_820._96_4_" identifier . field_identifier) = (binary_expression "local_f8 >> 0x18 | (local_f8 & 0xff0000) >> 8 | (local_f8 & 0xff00) << 8 |\n               local_f8 << 0x18" (binary_expression "local_f8 >> 0x18 | (local_f8 & 0xff0000) >> 8 | (local_f8 & 0xff00) << 8" (binary_expression "local_f8 >> 0x18 | (local_f8 & 0xff0000) >> 8" (binary_expression "local_f8 >> 0x18" identifier >> number_literal) | (binary_expression "(local_f8 & 0xff0000) >> 8" (parenthesized_expression "(local_f8 & 0xff0000)" ( (binary_expression "local_f8 & 0xff0000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(local_f8 & 0xff00) << 8" (parenthesized_expression "(local_f8 & 0xff00)" ( (binary_expression "local_f8 & 0xff00" identifier & number_literal) )) << number_literal)) | (binary_expression "local_f8 << 0x18" identifier << number_literal))) ;) (expression_statement "local_820._58_2_ = local_f4 << 8 | local_f4 >> 8;" (assignment_expression "local_820._58_2_ = local_f4 << 8 | local_f4 >> 8" (field_expression "local_820._58_2_" identifier . field_identifier) = (binary_expression "local_f4 << 8 | local_f4 >> 8" (binary_expression "local_f4 << 8" identifier << number_literal) | (binary_expression "local_f4 >> 8" identifier >> number_literal))) ;) (expression_statement "local_820._68_2_ = local_f2 << 8 | local_f2 >> 8;" (assignment_expression "local_820._68_2_ = local_f2 << 8 | local_f2 >> 8" (field_expression "local_820._68_2_" identifier . field_identifier) = (binary_expression "local_f2 << 8 | local_f2 >> 8" (binary_expression "local_f2 << 8" identifier << number_literal) | (binary_expression "local_f2 >> 8" identifier >> number_literal))) ;) })) (goto_statement "goto LAB_00012d48;" goto statement_identifier ;) })))) (if_statement "if (local_908 < (stat64 *)0x40) {\n        pr2serr("raw scatter file must be at least 64 bytes long (length: %u)\n",local_908,\n                local_880._44_4_,local_880._44_4_);\nLAB_00012ef5:\n        local_908 = (stat64 *)0xf;\n        goto LAB_00012354;\n      }" if (parenthesized_expression "(local_908 < (stat64 *)0x40)" ( (binary_expression "local_908 < (stat64 *)0x40" identifier < (cast_expression "(stat64 *)0x40" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        pr2serr("raw scatter file must be at least 64 bytes long (length: %u)\n",local_908,\n                local_880._44_4_,local_880._44_4_);\nLAB_00012ef5:\n        local_908 = (stat64 *)0xf;\n        goto LAB_00012354;\n      }" { (expression_statement "pr2serr("raw scatter file must be at least 64 bytes long (length: %u)\n",local_908,\n                local_880._44_4_,local_880._44_4_);" (call_expression "pr2serr("raw scatter file must be at least 64 bytes long (length: %u)\n",local_908,\n                local_880._44_4_,local_880._44_4_)" identifier (argument_list "("raw scatter file must be at least 64 bytes long (length: %u)\n",local_908,\n                local_880._44_4_,local_880._44_4_)" ( (string_literal ""raw scatter file must be at least 64 bytes long (length: %u)\n"" " string_content escape_sequence ") , identifier , (field_expression "local_880._44_4_" identifier . field_identifier) , (field_expression "local_880._44_4_" identifier . field_identifier) ))) ;) (labeled_statement "LAB_00012ef5:\n        local_908 = (stat64 *)0xf;" statement_identifier : (expression_statement "local_908 = (stat64 *)0xf;" (assignment_expression "local_908 = (stat64 *)0xf" identifier = (cast_expression "(stat64 *)0xf" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;)) (goto_statement "goto LAB_00012354;" goto statement_identifier ;) })) (expression_statement "psVar29 = (stat64 *)(local_174 + 0x50);" (assignment_expression "psVar29 = (stat64 *)(local_174 + 0x50)" identifier = (cast_expression "(stat64 *)(local_174 + 0x50)" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_174 + 0x50)" ( (binary_expression "local_174 + 0x50" identifier + number_literal) )))) ;) (expression_statement "local_908 = (stat64 *)bin_read((int)local_920,(uint8_t *)psVar29,0x40,"SF");" (assignment_expression "local_908 = (stat64 *)bin_read((int)local_920,(uint8_t *)psVar29,0x40,"SF")" identifier = (cast_expression "(stat64 *)bin_read((int)local_920,(uint8_t *)psVar29,0x40,"SF")" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "bin_read((int)local_920,(uint8_t *)psVar29,0x40,"SF")" identifier (argument_list "((int)local_920,(uint8_t *)psVar29,0x40,"SF")" ( (cast_expression "(int)local_920" ( (type_descriptor "int" primitive_type) ) identifier) , (cast_expression "(uint8_t *)psVar29" ( (type_descriptor "uint8_t *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) , number_literal , (string_literal ""SF"" " string_content ") ))))) ;) (if_statement "if (local_908 != (stat64 *)0x0) goto LAB_00012354;" if (parenthesized_expression "(local_908 != (stat64 *)0x0)" ( (binary_expression "local_908 != (stat64 *)0x0" identifier != (cast_expression "(stat64 *)0x0" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_00012354;" goto statement_identifier ;)) (expression_statement "_Var9 = check_lbrds((uint8_t *)psVar29,0x40,(opts_t *)local_820,&local_8f8,\n                          (uint32_t *)&local_8f4);" (assignment_expression "_Var9 = check_lbrds((uint8_t *)psVar29,0x40,(opts_t *)local_820,&local_8f8,\n                          (uint32_t *)&local_8f4)" identifier = (call_expression "check_lbrds((uint8_t *)psVar29,0x40,(opts_t *)local_820,&local_8f8,\n                          (uint32_t *)&local_8f4)" identifier (argument_list "((uint8_t *)psVar29,0x40,(opts_t *)local_820,&local_8f8,\n                          (uint32_t *)&local_8f4)" ( (cast_expression "(uint8_t *)psVar29" ( (type_descriptor "uint8_t *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) , number_literal , (cast_expression "(opts_t *)local_820" ( (type_descriptor "opts_t *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) , (pointer_expression "&local_8f8" & identifier) , (cast_expression "(uint32_t *)&local_8f4" ( (type_descriptor "uint32_t *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "&local_8f4" & identifier)) )))) ;) (if_statement "if (!_Var9) goto LAB_00012ef5;" if (parenthesized_expression "(!_Var9)" ( (unary_expression "!_Var9" ! identifier) )) (goto_statement "goto LAB_00012ef5;" goto statement_identifier ;)) (if_statement "if (local_8f8 != 1) {\n        pr2serr("No %ss found in SF (num=%u)\n","LBA range descriptor",local_8f8,extraout_EDX_01);\n        goto LAB_00012ef5;\n      }" if (parenthesized_expression "(local_8f8 != 1)" ( (binary_expression "local_8f8 != 1" identifier != number_literal) )) (compound_statement "{\n        pr2serr("No %ss found in SF (num=%u)\n","LBA range descriptor",local_8f8,extraout_EDX_01);\n        goto LAB_00012ef5;\n      }" { (expression_statement "pr2serr("No %ss found in SF (num=%u)\n","LBA range descriptor",local_8f8,extraout_EDX_01);" (call_expression "pr2serr("No %ss found in SF (num=%u)\n","LBA range descriptor",local_8f8,extraout_EDX_01)" identifier (argument_list "("No %ss found in SF (num=%u)\n","LBA range descriptor",local_8f8,extraout_EDX_01)" ( (string_literal ""No %ss found in SF (num=%u)\n"" " string_content escape_sequence ") , (string_literal ""LBA range descriptor"" " string_content ") , identifier , identifier ))) ;) (goto_statement "goto LAB_00012ef5;" goto statement_identifier ;) })) (expression_statement "local_820._104_4_ =\n           local_114 >> 0x18 | (local_114 & 0xff0000) >> 8 | (local_114 & 0xff00) << 8 |\n           local_114 << 0x18;" (assignment_expression "local_820._104_4_ =\n           local_114 >> 0x18 | (local_114 & 0xff0000) >> 8 | (local_114 & 0xff00) << 8 |\n           local_114 << 0x18" (field_expression "local_820._104_4_" identifier . field_identifier) = (binary_expression "local_114 >> 0x18 | (local_114 & 0xff0000) >> 8 | (local_114 & 0xff00) << 8 |\n           local_114 << 0x18" (binary_expression "local_114 >> 0x18 | (local_114 & 0xff0000) >> 8 | (local_114 & 0xff00) << 8" (binary_expression "local_114 >> 0x18 | (local_114 & 0xff0000) >> 8" (binary_expression "local_114 >> 0x18" identifier >> number_literal) | (binary_expression "(local_114 & 0xff0000) >> 8" (parenthesized_expression "(local_114 & 0xff0000)" ( (binary_expression "local_114 & 0xff0000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(local_114 & 0xff00) << 8" (parenthesized_expression "(local_114 & 0xff00)" ( (binary_expression "local_114 & 0xff00" identifier & number_literal) )) << number_literal)) | (binary_expression "local_114 << 0x18" identifier << number_literal))) ;) (expression_statement "local_820._100_4_ =\n           local_110 >> 0x18 | (local_110 & 0xff0000) >> 8 | (local_110 & 0xff00) << 8 |\n           local_110 << 0x18;" (assignment_expression "local_820._100_4_ =\n           local_110 >> 0x18 | (local_110 & 0xff0000) >> 8 | (local_110 & 0xff00) << 8 |\n           local_110 << 0x18" (field_expression "local_820._100_4_" identifier . field_identifier) = (binary_expression "local_110 >> 0x18 | (local_110 & 0xff0000) >> 8 | (local_110 & 0xff00) << 8 |\n           local_110 << 0x18" (binary_expression "local_110 >> 0x18 | (local_110 & 0xff0000) >> 8 | (local_110 & 0xff00) << 8" (binary_expression "local_110 >> 0x18 | (local_110 & 0xff0000) >> 8" (binary_expression "local_110 >> 0x18" identifier >> number_literal) | (binary_expression "(local_110 & 0xff0000) >> 8" (parenthesized_expression "(local_110 & 0xff0000)" ( (binary_expression "local_110 & 0xff0000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(local_110 & 0xff00) << 8" (parenthesized_expression "(local_110 & 0xff00)" ( (binary_expression "local_110 & 0xff00" identifier & number_literal) )) << number_literal)) | (binary_expression "local_110 << 0x18" identifier << number_literal))) ;) (expression_statement "local_820._84_4_ =\n           local_10c >> 0x18 | (local_10c & 0xff0000) >> 8 | (local_10c & 0xff00) << 8 |\n           local_10c << 0x18;" (assignment_expression "local_820._84_4_ =\n           local_10c >> 0x18 | (local_10c & 0xff0000) >> 8 | (local_10c & 0xff00) << 8 |\n           local_10c << 0x18" (field_expression "local_820._84_4_" identifier . field_identifier) = (binary_expression "local_10c >> 0x18 | (local_10c & 0xff0000) >> 8 | (local_10c & 0xff00) << 8 |\n           local_10c << 0x18" (binary_expression "local_10c >> 0x18 | (local_10c & 0xff0000) >> 8 | (local_10c & 0xff00) << 8" (binary_expression "local_10c >> 0x18 | (local_10c & 0xff0000) >> 8" (binary_expression "local_10c >> 0x18" identifier >> number_literal) | (binary_expression "(local_10c & 0xff0000) >> 8" (parenthesized_expression "(local_10c & 0xff0000)" ( (binary_expression "local_10c & 0xff0000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(local_10c & 0xff00) << 8" (parenthesized_expression "(local_10c & 0xff00)" ( (binary_expression "local_10c & 0xff00" identifier & number_literal) )) << number_literal)) | (binary_expression "local_10c << 0x18" identifier << number_literal))) ;) }) (else_clause "else {\n      local_820._100_4_ = local_578;\n      local_820._104_4_ = local_574;\n      local_820._84_4_ = local_778[0];\n      if (((stat64 *)uVar19 != (stat64 *)0x0) && (local_91c != (stat64 *)0x1)) {\n        pr2serr("warning: %d LBA,number_of_blocks pairs found, only taking first\n",local_91c,\n                psVar20,psVar20);\n      }\n    }" else (compound_statement "{\n      local_820._100_4_ = local_578;\n      local_820._104_4_ = local_574;\n      local_820._84_4_ = local_778[0];\n      if (((stat64 *)uVar19 != (stat64 *)0x0) && (local_91c != (stat64 *)0x1)) {\n        pr2serr("warning: %d LBA,number_of_blocks pairs found, only taking first\n",local_91c,\n                psVar20,psVar20);\n      }\n    }" { (expression_statement "local_820._100_4_ = local_578;" (assignment_expression "local_820._100_4_ = local_578" (field_expression "local_820._100_4_" identifier . field_identifier) = identifier) ;) (expression_statement "local_820._104_4_ = local_574;" (assignment_expression "local_820._104_4_ = local_574" (field_expression "local_820._104_4_" identifier . field_identifier) = identifier) ;) (expression_statement "local_820._84_4_ = local_778[0];" (assignment_expression "local_820._84_4_ = local_778[0]" (field_expression "local_820._84_4_" identifier . field_identifier) = (subscript_expression "local_778[0]" identifier [ number_literal ])) ;) (if_statement "if (((stat64 *)uVar19 != (stat64 *)0x0) && (local_91c != (stat64 *)0x1)) {\n        pr2serr("warning: %d LBA,number_of_blocks pairs found, only taking first\n",local_91c,\n                psVar20,psVar20);\n      }" if (parenthesized_expression "(((stat64 *)uVar19 != (stat64 *)0x0) && (local_91c != (stat64 *)0x1))" ( (binary_expression "((stat64 *)uVar19 != (stat64 *)0x0) && (local_91c != (stat64 *)0x1)" (parenthesized_expression "((stat64 *)uVar19 != (stat64 *)0x0)" ( (binary_expression "(stat64 *)uVar19 != (stat64 *)0x0" (cast_expression "(stat64 *)uVar19" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) != (cast_expression "(stat64 *)0x0" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) && (parenthesized_expression "(local_91c != (stat64 *)0x1)" ( (binary_expression "local_91c != (stat64 *)0x1" identifier != (cast_expression "(stat64 *)0x1" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ))) )) (compound_statement "{\n        pr2serr("warning: %d LBA,number_of_blocks pairs found, only taking first\n",local_91c,\n                psVar20,psVar20);\n      }" { (expression_statement "pr2serr("warning: %d LBA,number_of_blocks pairs found, only taking first\n",local_91c,\n                psVar20,psVar20);" (call_expression "pr2serr("warning: %d LBA,number_of_blocks pairs found, only taking first\n",local_91c,\n                psVar20,psVar20)" identifier (argument_list "("warning: %d LBA,number_of_blocks pairs found, only taking first\n",local_91c,\n                psVar20,psVar20)" ( (string_literal ""warning: %d LBA,number_of_blocks pairs found, only taking first\n"" " string_content escape_sequence ") , identifier , identifier , identifier ))) ;) })) }))) (labeled_statement "LAB_00012d48:\n    if ((_Bool)local_820[8] == false) {\n      psVar29 = (stat64 *)(local_820._84_4_ * local_820._76_4_);\n    }\n    else {\n      psVar29 = (stat64 *)0x0;\n      if ((_Bool)local_820[0x10] == false) {\n        psVar29 = (stat64 *)local_820._76_4_;\n      }\n    }" statement_identifier : (if_statement "if ((_Bool)local_820[8] == false) {\n      psVar29 = (stat64 *)(local_820._84_4_ * local_820._76_4_);\n    }\n    else {\n      psVar29 = (stat64 *)0x0;\n      if ((_Bool)local_820[0x10] == false) {\n        psVar29 = (stat64 *)local_820._76_4_;\n      }\n    }" if (parenthesized_expression "((_Bool)local_820[8] == false)" ( (binary_expression "(_Bool)local_820[8] == false" (cast_expression "(_Bool)local_820[8]" ( (type_descriptor "_Bool" type_identifier) ) (subscript_expression "local_820[8]" identifier [ number_literal ])) == false) )) (compound_statement "{\n      psVar29 = (stat64 *)(local_820._84_4_ * local_820._76_4_);\n    }" { (expression_statement "psVar29 = (stat64 *)(local_820._84_4_ * local_820._76_4_);" (assignment_expression "psVar29 = (stat64 *)(local_820._84_4_ * local_820._76_4_)" identifier = (cast_expression "(stat64 *)(local_820._84_4_ * local_820._76_4_)" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_820._84_4_ * local_820._76_4_)" ( (binary_expression "local_820._84_4_ * local_820._76_4_" (field_expression "local_820._84_4_" identifier . field_identifier) * (field_expression "local_820._76_4_" identifier . field_identifier)) )))) ;) }) (else_clause "else {\n      psVar29 = (stat64 *)0x0;\n      if ((_Bool)local_820[0x10] == false) {\n        psVar29 = (stat64 *)local_820._76_4_;\n      }\n    }" else (compound_statement "{\n      psVar29 = (stat64 *)0x0;\n      if ((_Bool)local_820[0x10] == false) {\n        psVar29 = (stat64 *)local_820._76_4_;\n      }\n    }" { (expression_statement "psVar29 = (stat64 *)0x0;" (assignment_expression "psVar29 = (stat64 *)0x0" identifier = (cast_expression "(stat64 *)0x0" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (if_statement "if ((_Bool)local_820[0x10] == false) {\n        psVar29 = (stat64 *)local_820._76_4_;\n      }" if (parenthesized_expression "((_Bool)local_820[0x10] == false)" ( (binary_expression "(_Bool)local_820[0x10] == false" (cast_expression "(_Bool)local_820[0x10]" ( (type_descriptor "_Bool" type_identifier) ) (subscript_expression "local_820[0x10]" identifier [ number_literal ])) == false) )) (compound_statement "{\n        psVar29 = (stat64 *)local_820._76_4_;\n      }" { (expression_statement "psVar29 = (stat64 *)local_820._76_4_;" (assignment_expression "psVar29 = (stat64 *)local_820._76_4_" identifier = (cast_expression "(stat64 *)local_820._76_4_" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "local_820._76_4_" identifier . field_identifier))) ;) })) })))) (expression_statement "local_7a4 = psVar29;" (assignment_expression "local_7a4 = psVar29" identifier = identifier) ;) (if_statement "if (psVar29 == (stat64 *)0x0) {\n      up = (uint8_t *)0x0;\n    }\n    else {\n      up = (uint8_t *)sg_memalign(psVar29,0,&local_8f0,0);\n      if (up == (uint8_t *)0x0) {\n        pcVar18 = "unable to allocate %u bytes of memory\n";\n        ppvVar44 = (void **)0x0;\n        uVar19 = 0;\n        psVar41 = psVar29;\nLAB_00013bea:\n        pr2serr(pcVar18,psVar41,ppvVar44,uVar19);\n        local_908 = (stat64 *)sg_convert_errno(0xc);\n        goto LAB_00012354;\n      }\n      if (psVar29 < local_93c) {\n        local_93c = psVar29;\n      }\n      local_908 = (stat64 *)bin_read((int)local_924,up,(uint32_t)local_93c,"IF 5");\n      if (local_908 != (stat64 *)0x0) goto LAB_00012354;\n    }" if (parenthesized_expression "(psVar29 == (stat64 *)0x0)" ( (binary_expression "psVar29 == (stat64 *)0x0" identifier == (cast_expression "(stat64 *)0x0" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      up = (uint8_t *)0x0;\n    }" { (expression_statement "up = (uint8_t *)0x0;" (assignment_expression "up = (uint8_t *)0x0" identifier = (cast_expression "(uint8_t *)0x0" ( (type_descriptor "uint8_t *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) }) (else_clause "else {\n      up = (uint8_t *)sg_memalign(psVar29,0,&local_8f0,0);\n      if (up == (uint8_t *)0x0) {\n        pcVar18 = "unable to allocate %u bytes of memory\n";\n        ppvVar44 = (void **)0x0;\n        uVar19 = 0;\n        psVar41 = psVar29;\nLAB_00013bea:\n        pr2serr(pcVar18,psVar41,ppvVar44,uVar19);\n        local_908 = (stat64 *)sg_convert_errno(0xc);\n        goto LAB_00012354;\n      }\n      if (psVar29 < local_93c) {\n        local_93c = psVar29;\n      }\n      local_908 = (stat64 *)bin_read((int)local_924,up,(uint32_t)local_93c,"IF 5");\n      if (local_908 != (stat64 *)0x0) goto LAB_00012354;\n    }" else (compound_statement "{\n      up = (uint8_t *)sg_memalign(psVar29,0,&local_8f0,0);\n      if (up == (uint8_t *)0x0) {\n        pcVar18 = "unable to allocate %u bytes of memory\n";\n        ppvVar44 = (void **)0x0;\n        uVar19 = 0;\n        psVar41 = psVar29;\nLAB_00013bea:\n        pr2serr(pcVar18,psVar41,ppvVar44,uVar19);\n        local_908 = (stat64 *)sg_convert_errno(0xc);\n        goto LAB_00012354;\n      }\n      if (psVar29 < local_93c) {\n        local_93c = psVar29;\n      }\n      local_908 = (stat64 *)bin_read((int)local_924,up,(uint32_t)local_93c,"IF 5");\n      if (local_908 != (stat64 *)0x0) goto LAB_00012354;\n    }" { (expression_statement "up = (uint8_t *)sg_memalign(psVar29,0,&local_8f0,0);" (assignment_expression "up = (uint8_t *)sg_memalign(psVar29,0,&local_8f0,0)" identifier = (cast_expression "(uint8_t *)sg_memalign(psVar29,0,&local_8f0,0)" ( (type_descriptor "uint8_t *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "sg_memalign(psVar29,0,&local_8f0,0)" identifier (argument_list "(psVar29,0,&local_8f0,0)" ( identifier , number_literal , (pointer_expression "&local_8f0" & identifier) , number_literal ))))) ;) (if_statement "if (up == (uint8_t *)0x0) {\n        pcVar18 = "unable to allocate %u bytes of memory\n";\n        ppvVar44 = (void **)0x0;\n        uVar19 = 0;\n        psVar41 = psVar29;\nLAB_00013bea:\n        pr2serr(pcVar18,psVar41,ppvVar44,uVar19);\n        local_908 = (stat64 *)sg_convert_errno(0xc);\n        goto LAB_00012354;\n      }" if (parenthesized_expression "(up == (uint8_t *)0x0)" ( (binary_expression "up == (uint8_t *)0x0" identifier == (cast_expression "(uint8_t *)0x0" ( (type_descriptor "uint8_t *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        pcVar18 = "unable to allocate %u bytes of memory\n";\n        ppvVar44 = (void **)0x0;\n        uVar19 = 0;\n        psVar41 = psVar29;\nLAB_00013bea:\n        pr2serr(pcVar18,psVar41,ppvVar44,uVar19);\n        local_908 = (stat64 *)sg_convert_errno(0xc);\n        goto LAB_00012354;\n      }" { (expression_statement "pcVar18 = "unable to allocate %u bytes of memory\n";" (assignment_expression "pcVar18 = "unable to allocate %u bytes of memory\n"" identifier = (string_literal ""unable to allocate %u bytes of memory\n"" " string_content escape_sequence ")) ;) (expression_statement "ppvVar44 = (void **)0x0;" (assignment_expression "ppvVar44 = (void **)0x0" identifier = (cast_expression "(void **)0x0" ( (type_descriptor "void **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) ;) (expression_statement "uVar19 = 0;" (assignment_expression "uVar19 = 0" identifier = number_literal) ;) (expression_statement "psVar41 = psVar29;" (assignment_expression "psVar41 = psVar29" identifier = identifier) ;) (labeled_statement "LAB_00013bea:\n        pr2serr(pcVar18,psVar41,ppvVar44,uVar19);" statement_identifier : (expression_statement "pr2serr(pcVar18,psVar41,ppvVar44,uVar19);" (call_expression "pr2serr(pcVar18,psVar41,ppvVar44,uVar19)" identifier (argument_list "(pcVar18,psVar41,ppvVar44,uVar19)" ( identifier , identifier , identifier , identifier ))) ;)) (expression_statement "local_908 = (stat64 *)sg_convert_errno(0xc);" (assignment_expression "local_908 = (stat64 *)sg_convert_errno(0xc)" identifier = (cast_expression "(stat64 *)sg_convert_errno(0xc)" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "sg_convert_errno(0xc)" identifier (argument_list "(0xc)" ( number_literal ))))) ;) (goto_statement "goto LAB_00012354;" goto statement_identifier ;) })) (if_statement "if (psVar29 < local_93c) {\n        local_93c = psVar29;\n      }" if (parenthesized_expression "(psVar29 < local_93c)" ( (binary_expression "psVar29 < local_93c" identifier < identifier) )) (compound_statement "{\n        local_93c = psVar29;\n      }" { (expression_statement "local_93c = psVar29;" (assignment_expression "local_93c = psVar29" identifier = identifier) ;) })) (expression_statement "local_908 = (stat64 *)bin_read((int)local_924,up,(uint32_t)local_93c,"IF 5");" (assignment_expression "local_908 = (stat64 *)bin_read((int)local_924,up,(uint32_t)local_93c,"IF 5")" identifier = (cast_expression "(stat64 *)bin_read((int)local_924,up,(uint32_t)local_93c,"IF 5")" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "bin_read((int)local_924,up,(uint32_t)local_93c,"IF 5")" identifier (argument_list "((int)local_924,up,(uint32_t)local_93c,"IF 5")" ( (cast_expression "(int)local_924" ( (type_descriptor "int" primitive_type) ) identifier) , identifier , (cast_expression "(uint32_t)local_93c" ( (type_descriptor "uint32_t" primitive_type) ) identifier) , (string_literal ""IF 5"" " string_content ") ))))) ;) (if_statement "if (local_908 != (stat64 *)0x0) goto LAB_00012354;" if (parenthesized_expression "(local_908 != (stat64 *)0x0)" ( (binary_expression "local_908 != (stat64 *)0x0" identifier != (cast_expression "(stat64 *)0x0" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_00012354;" goto statement_identifier ;)) }))) (expression_statement "local_908 = (stat64 *)do_write_x((int)local_930,up,(int)psVar29,(opts_t *)local_820);" (assignment_expression "local_908 = (stat64 *)do_write_x((int)local_930,up,(int)psVar29,(opts_t *)local_820)" identifier = (cast_expression "(stat64 *)do_write_x((int)local_930,up,(int)psVar29,(opts_t *)local_820)" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "do_write_x((int)local_930,up,(int)psVar29,(opts_t *)local_820)" identifier (argument_list "((int)local_930,up,(int)psVar29,(opts_t *)local_820)" ( (cast_expression "(int)local_930" ( (type_descriptor "int" primitive_type) ) identifier) , identifier , (cast_expression "(int)psVar29" ( (type_descriptor "int" primitive_type) ) identifier) , (cast_expression "(opts_t *)local_820" ( (type_descriptor "opts_t *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) ))))) ;) (if_statement "if (local_908 == (stat64 *)0x0) goto LAB_00012354;" if (parenthesized_expression "(local_908 == (stat64 *)0x0)" ( (binary_expression "local_908 == (stat64 *)0x0" identifier == (cast_expression "(stat64 *)0x0" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_00012354;" goto statement_identifier ;)) (if_statement "if ((_Bool)local_820[6] != false) goto LAB_00012354;" if (parenthesized_expression "((_Bool)local_820[6] != false)" ( (binary_expression "(_Bool)local_820[6] != false" (cast_expression "(_Bool)local_820[6]" ( (type_descriptor "_Bool" type_identifier) ) (subscript_expression "local_820[6]" identifier [ number_literal ])) != false) )) (goto_statement "goto LAB_00012354;" goto statement_identifier ;)) (expression_statement "puVar48 = local_174;" (assignment_expression "puVar48 = local_174" identifier = identifier) ;) (expression_statement "psVar29 = (stat64 *)"OS error";" (assignment_expression "psVar29 = (stat64 *)"OS error"" identifier = (cast_expression "(stat64 *)"OS error"" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) (string_literal ""OS error"" " string_content "))) ;) (expression_statement "puVar33 = puVar48;" (assignment_expression "puVar33 = puVar48" identifier = identifier) ;) (for_statement "for (iVar17 = 9; iVar17 != 0; iVar17 = iVar17 + -1) {\n      *puVar33 = (char)psVar29->st_dev;\n      psVar29 = (stat64 *)((int)psVar29 + (uint)bVar37 * -2 + 1);\n      puVar33 = puVar33 + (uint)bVar37 * -2 + 1;\n    }" for ( (assignment_expression "iVar17 = 9" identifier = number_literal) ; (binary_expression "iVar17 != 0" identifier != number_literal) ; (assignment_expression "iVar17 = iVar17 + -1" identifier = (binary_expression "iVar17 + -1" identifier + number_literal)) ) (compound_statement "{\n      *puVar33 = (char)psVar29->st_dev;\n      psVar29 = (stat64 *)((int)psVar29 + (uint)bVar37 * -2 + 1);\n      puVar33 = puVar33 + (uint)bVar37 * -2 + 1;\n    }" { (expression_statement "*puVar33 = (char)psVar29->st_dev;" (assignment_expression "*puVar33 = (char)psVar29->st_dev" (pointer_expression "*puVar33" * identifier) = (cast_expression "(char)psVar29->st_dev" ( (type_descriptor "char" primitive_type) ) (field_expression "psVar29->st_dev" identifier -> field_identifier))) ;) (expression_statement "psVar29 = (stat64 *)((int)psVar29 + (uint)bVar37 * -2 + 1);" (assignment_expression "psVar29 = (stat64 *)((int)psVar29 + (uint)bVar37 * -2 + 1)" identifier = (cast_expression "(stat64 *)((int)psVar29 + (uint)bVar37 * -2 + 1)" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)psVar29 + (uint)bVar37 * -2 + 1)" ( (binary_expression "(int)psVar29 + (uint)bVar37 * -2 + 1" (binary_expression "(int)psVar29 + (uint)bVar37 * -2" (cast_expression "(int)psVar29" ( (type_descriptor "int" primitive_type) ) identifier) + (binary_expression "(uint)bVar37 * -2" (cast_expression "(uint)bVar37" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal) )))) ;) (expression_statement "puVar33 = puVar33 + (uint)bVar37 * -2 + 1;" (assignment_expression "puVar33 = puVar33 + (uint)bVar37 * -2 + 1" identifier = (binary_expression "puVar33 + (uint)bVar37 * -2 + 1" (binary_expression "puVar33 + (uint)bVar37 * -2" identifier + (binary_expression "(uint)bVar37 * -2" (cast_expression "(uint)bVar37" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) })) (expression_statement "uVar24 = 0;" (assignment_expression "uVar24 = 0" identifier = number_literal) ;) (if_statement "if (0 < (int)local_908) {\n      sg_get_category_sense_str(local_908,0x50,puVar48,uVar19);\n      uVar24 = extraout_ECX_02;\n    }" if (parenthesized_expression "(0 < (int)local_908)" ( (binary_expression "0 < (int)local_908" number_literal < (cast_expression "(int)local_908" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n      sg_get_category_sense_str(local_908,0x50,puVar48,uVar19);\n      uVar24 = extraout_ECX_02;\n    }" { (expression_statement "sg_get_category_sense_str(local_908,0x50,puVar48,uVar19);" (call_expression "sg_get_category_sense_str(local_908,0x50,puVar48,uVar19)" identifier (argument_list "(local_908,0x50,puVar48,uVar19)" ( identifier , number_literal , identifier , identifier ))) ;) (expression_statement "uVar24 = extraout_ECX_02;" (assignment_expression "uVar24 = extraout_ECX_02" identifier = identifier) ;) })) (expression_statement "pr2serr("%s: %s\n",local_790,puVar48,uVar24);" (call_expression "pr2serr("%s: %s\n",local_790,puVar48,uVar24)" identifier (argument_list "("%s: %s\n",local_790,puVar48,uVar24)" ( (string_literal ""%s: %s\n"" " string_content escape_sequence ") , identifier , identifier , identifier ))) ;) (goto_statement "goto LAB_00012354;" goto statement_identifier ;) })) (expression_statement "local_8e8 = (void *)0x0;" (assignment_expression "local_8e8 = (void *)0x0" identifier = (cast_expression "(void *)0x0" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_8f6 = local_8f8;" (assignment_expression "local_8f6 = local_8f8" identifier = identifier) ;) (expression_statement "local_8ec = local_8f4;" (assignment_expression "local_8ec = local_8f4" identifier = identifier) ;) (if_statement "if ((_Bool)local_820[4] != false) {\n    if (local_820._62_2_ == 0) {\n      if (local_820._64_2_ == 0) {\n        psVar20 = local_93c;\n        if (local_93c == (stat64 *)0x0) {\n          pr2serr("With --combined= if DOF, RD are 0 and IF has an unknown length\nthen give up\n");\n          local_908 = (stat64 *)0x1f;\n          goto LAB_00012354;\n        }\n      }\n      else {\n        psVar20 = (stat64 *)(((ushort)local_820._64_2_ + 1) * 0x20);\n      }\n      if ((uint)psVar20 % (uint)local_820._76_4_ != 0) {\n        psVar20 = (stat64 *)(((uint)psVar20 / (uint)local_820._76_4_ + 1) * local_820._76_4_);\n      }\n    }\n    else {\n      psVar20 = (stat64 *)((uint)(ushort)local_820._62_2_ * local_820._76_4_);\n    }\n    ppvVar44 = &local_8e8;\n    uVar19 = 0;\n    psVar41 = (stat64 *)0x0;\n    psVar29 = (stat64 *)sg_memalign(psVar20,0,ppvVar44,0);\n    if (psVar29 == (stat64 *)0x0) {\nLAB_000141a6:\n      pcVar18 = "unable to allocate aligned memory for scatterlist+data\n";\n      goto LAB_00013bea;\n    }\n    psVar41 = local_93c;\n    if (psVar20 < local_93c) {\n      psVar41 = psVar20;\n    }\n    iVar17 = bin_read((int)local_924,(uint8_t *)psVar29,(uint32_t)psVar41,"IF c1");\n    local_908 = (stat64 *)iVar17;\n    if (iVar17 != 0) goto LAB_000133fd;\n    ppsVar42 = &local_8ec;\n    iVar23 = iVar17;\n    _Var9 = check_lbrds((uint8_t *)psVar29,(uint32_t)psVar20,(opts_t *)local_820,&local_8f6,\n                        (uint32_t *)ppsVar42);\n    if (_Var9) {\n      if ((local_820._64_2_ == 0) || (local_820._64_2_ == local_8f6)) {\n        local_820._64_2_ = local_8f6;\nLAB_00013fe3:\n        local_908 = (stat64 *)(((ushort)local_820._64_2_ + 1) * 0x20);\n        if ((uint)local_908 % (uint)local_820._76_4_ != 0) {\n          local_908 = (stat64 *)(((uint)local_908 / (uint)local_820._76_4_ + 1) * local_820._76_4_);\n        }\n        uVar10 = (uint)(ushort)local_820._62_2_;\n        uVar28 = uVar10 * local_820._76_4_;\n        local_918 = local_908;\n        local_8f6 = local_820._64_2_;\n        if (uVar28 - (int)local_908 != 0) {\n          if (uVar28 < local_908) {\n            pr2serr("%s: Cannot fit %ss (%u) in given LB data offset (%u)\n","process_scattered",\n                    "LBA range descriptor",(uint)(ushort)local_820._64_2_,uVar10,ppsVar42,iVar17,\n                    iVar23);\n            goto LAB_000133f3;\n          }\n          local_918 = (stat64 *)uVar28;\n          if (((uVar24 | local_820._40_4_) != 0) &&\n             (pr2serr("%s: empty blocks before LB data offset (%u), could be okay\n",\n                      "process_scattered",uVar10,uVar24 | local_820._40_4_), local_820._40_4_ != 0))\n          {\n            pr2serr("Exiting due to --strict; perhaps try again with --combined=%u\n",\n                    (uint)local_908 / (uint)local_820._76_4_,psVar29,psVar29);\n            local_908 = (stat64 *)0xf;\n            goto LAB_000133fd;\n          }\n        }\n        local_918 = (stat64 *)((int)local_8ec * local_820._76_4_ + (int)local_918);\n        if (local_918 <= psVar20) {\nLAB_0001418c:\n          local_820._84_4_ = local_8ec;\n          local_7a4 = (stat64 *)((int)local_8ec * local_820._76_4_);\n          goto LAB_00013962;\n        }\n        if (local_93c != local_918) {\n          if (local_93c < local_918) {\n            pr2serr("Calculated dout length (%u) %s bytes available in IF (%u)\n",local_918,\n                    &DAT_000170dd,local_93c);\n          }\n          else if (((stat64 *)uVar24 == (stat64 *)0x0 && local_820._40_4_ == 0) ||\n                  (pr2serr("Calculated dout length (%u) %s bytes available in IF (%u)\n",local_918,\n                           &DAT_00017110,local_93c), local_820._40_4_ == 0)) goto LAB_00014113;\n          goto LAB_000133f3;\n        }\nLAB_00014113:\n        psVar41 = (stat64 *)sg_memalign(local_918,0,&local_8e4,0);\n        if (psVar41 != (stat64 *)0x0) {\n          memcpy(psVar41,psVar29,(size_t)psVar20);\n          free(local_8e8);\n          local_8e8 = local_8e4;\n          local_908 = (stat64 *)\n                      bin_read((int)local_924,\n                               (uint8_t *)((int)&psVar20->st_dev + (int)&psVar41->st_dev),\n                               (int)local_918 - (int)psVar20,"IF c2");\n          psVar29 = psVar41;\n          if (local_908 != (stat64 *)0x0) goto LAB_000133fd;\n          goto LAB_0001418c;\n        }\nLAB_00014273:\n        pcVar18 = "unable to allocate memory for final scatterlist+data\n";\n        goto LAB_00013fbc;\n      }\n      if (local_8f6 < (ushort)local_820._64_2_) {\n        pr2serr("RD (%u) %s number of %ss (%u) found in IF\n",local_820._64_2_,&DAT_000170dd,\n                "LBA range descriptor",local_8f6,ppsVar42,iVar17,iVar23);\n      }\n      else if (((stat64 *)uVar24 == (stat64 *)0x0 && local_820._40_4_ == 0) ||\n              (pr2serr("RD (%u) %s number of %ss (%u) found in IF\n",local_820._64_2_,&DAT_00017110,\n                       "LBA range descriptor",local_8f6,ppsVar42,iVar17,iVar23),\n              local_820._40_4_ == 0)) {\n        local_908 = (stat64 *)0x0;\n        for (psVar41 = psVar29;\n            (stat64 *)(&psVar29->st_dev + (uint)(ushort)local_820._64_2_ * 4) != psVar41;\n            psVar41 = (stat64 *)&psVar41->st_rdev) {\n          uVar10 = psVar41->__pad2;\n          local_908 = (stat64 *)\n                      ((int)&local_908->st_dev +\n                      (uVar10 >> 0x18 | (uVar10 & 0xff0000) >> 8 | (uVar10 & 0xff00) << 8 |\n                      uVar10 << 0x18));\n        }\n        local_8ec = local_908;\n        goto LAB_00013fe3;\n      }\n    }\nLAB_000133f3:\n    local_908 = (stat64 *)0xf;\n    goto LAB_000133fd;\n  }" if (parenthesized_expression "((_Bool)local_820[4] != false)" ( (binary_expression "(_Bool)local_820[4] != false" (cast_expression "(_Bool)local_820[4]" ( (type_descriptor "_Bool" type_identifier) ) (subscript_expression "local_820[4]" identifier [ number_literal ])) != false) )) (compound_statement "{\n    if (local_820._62_2_ == 0) {\n      if (local_820._64_2_ == 0) {\n        psVar20 = local_93c;\n        if (local_93c == (stat64 *)0x0) {\n          pr2serr("With --combined= if DOF, RD are 0 and IF has an unknown length\nthen give up\n");\n          local_908 = (stat64 *)0x1f;\n          goto LAB_00012354;\n        }\n      }\n      else {\n        psVar20 = (stat64 *)(((ushort)local_820._64_2_ + 1) * 0x20);\n      }\n      if ((uint)psVar20 % (uint)local_820._76_4_ != 0) {\n        psVar20 = (stat64 *)(((uint)psVar20 / (uint)local_820._76_4_ + 1) * local_820._76_4_);\n      }\n    }\n    else {\n      psVar20 = (stat64 *)((uint)(ushort)local_820._62_2_ * local_820._76_4_);\n    }\n    ppvVar44 = &local_8e8;\n    uVar19 = 0;\n    psVar41 = (stat64 *)0x0;\n    psVar29 = (stat64 *)sg_memalign(psVar20,0,ppvVar44,0);\n    if (psVar29 == (stat64 *)0x0) {\nLAB_000141a6:\n      pcVar18 = "unable to allocate aligned memory for scatterlist+data\n";\n      goto LAB_00013bea;\n    }\n    psVar41 = local_93c;\n    if (psVar20 < local_93c) {\n      psVar41 = psVar20;\n    }\n    iVar17 = bin_read((int)local_924,(uint8_t *)psVar29,(uint32_t)psVar41,"IF c1");\n    local_908 = (stat64 *)iVar17;\n    if (iVar17 != 0) goto LAB_000133fd;\n    ppsVar42 = &local_8ec;\n    iVar23 = iVar17;\n    _Var9 = check_lbrds((uint8_t *)psVar29,(uint32_t)psVar20,(opts_t *)local_820,&local_8f6,\n                        (uint32_t *)ppsVar42);\n    if (_Var9) {\n      if ((local_820._64_2_ == 0) || (local_820._64_2_ == local_8f6)) {\n        local_820._64_2_ = local_8f6;\nLAB_00013fe3:\n        local_908 = (stat64 *)(((ushort)local_820._64_2_ + 1) * 0x20);\n        if ((uint)local_908 % (uint)local_820._76_4_ != 0) {\n          local_908 = (stat64 *)(((uint)local_908 / (uint)local_820._76_4_ + 1) * local_820._76_4_);\n        }\n        uVar10 = (uint)(ushort)local_820._62_2_;\n        uVar28 = uVar10 * local_820._76_4_;\n        local_918 = local_908;\n        local_8f6 = local_820._64_2_;\n        if (uVar28 - (int)local_908 != 0) {\n          if (uVar28 < local_908) {\n            pr2serr("%s: Cannot fit %ss (%u) in given LB data offset (%u)\n","process_scattered",\n                    "LBA range descriptor",(uint)(ushort)local_820._64_2_,uVar10,ppsVar42,iVar17,\n                    iVar23);\n            goto LAB_000133f3;\n          }\n          local_918 = (stat64 *)uVar28;\n          if (((uVar24 | local_820._40_4_) != 0) &&\n             (pr2serr("%s: empty blocks before LB data offset (%u), could be okay\n",\n                      "process_scattered",uVar10,uVar24 | local_820._40_4_), local_820._40_4_ != 0))\n          {\n            pr2serr("Exiting due to --strict; perhaps try again with --combined=%u\n",\n                    (uint)local_908 / (uint)local_820._76_4_,psVar29,psVar29);\n            local_908 = (stat64 *)0xf;\n            goto LAB_000133fd;\n          }\n        }\n        local_918 = (stat64 *)((int)local_8ec * local_820._76_4_ + (int)local_918);\n        if (local_918 <= psVar20) {\nLAB_0001418c:\n          local_820._84_4_ = local_8ec;\n          local_7a4 = (stat64 *)((int)local_8ec * local_820._76_4_);\n          goto LAB_00013962;\n        }\n        if (local_93c != local_918) {\n          if (local_93c < local_918) {\n            pr2serr("Calculated dout length (%u) %s bytes available in IF (%u)\n",local_918,\n                    &DAT_000170dd,local_93c);\n          }\n          else if (((stat64 *)uVar24 == (stat64 *)0x0 && local_820._40_4_ == 0) ||\n                  (pr2serr("Calculated dout length (%u) %s bytes available in IF (%u)\n",local_918,\n                           &DAT_00017110,local_93c), local_820._40_4_ == 0)) goto LAB_00014113;\n          goto LAB_000133f3;\n        }\nLAB_00014113:\n        psVar41 = (stat64 *)sg_memalign(local_918,0,&local_8e4,0);\n        if (psVar41 != (stat64 *)0x0) {\n          memcpy(psVar41,psVar29,(size_t)psVar20);\n          free(local_8e8);\n          local_8e8 = local_8e4;\n          local_908 = (stat64 *)\n                      bin_read((int)local_924,\n                               (uint8_t *)((int)&psVar20->st_dev + (int)&psVar41->st_dev),\n                               (int)local_918 - (int)psVar20,"IF c2");\n          psVar29 = psVar41;\n          if (local_908 != (stat64 *)0x0) goto LAB_000133fd;\n          goto LAB_0001418c;\n        }\nLAB_00014273:\n        pcVar18 = "unable to allocate memory for final scatterlist+data\n";\n        goto LAB_00013fbc;\n      }\n      if (local_8f6 < (ushort)local_820._64_2_) {\n        pr2serr("RD (%u) %s number of %ss (%u) found in IF\n",local_820._64_2_,&DAT_000170dd,\n                "LBA range descriptor",local_8f6,ppsVar42,iVar17,iVar23);\n      }\n      else if (((stat64 *)uVar24 == (stat64 *)0x0 && local_820._40_4_ == 0) ||\n              (pr2serr("RD (%u) %s number of %ss (%u) found in IF\n",local_820._64_2_,&DAT_00017110,\n                       "LBA range descriptor",local_8f6,ppsVar42,iVar17,iVar23),\n              local_820._40_4_ == 0)) {\n        local_908 = (stat64 *)0x0;\n        for (psVar41 = psVar29;\n            (stat64 *)(&psVar29->st_dev + (uint)(ushort)local_820._64_2_ * 4) != psVar41;\n            psVar41 = (stat64 *)&psVar41->st_rdev) {\n          uVar10 = psVar41->__pad2;\n          local_908 = (stat64 *)\n                      ((int)&local_908->st_dev +\n                      (uVar10 >> 0x18 | (uVar10 & 0xff0000) >> 8 | (uVar10 & 0xff00) << 8 |\n                      uVar10 << 0x18));\n        }\n        local_8ec = local_908;\n        goto LAB_00013fe3;\n      }\n    }\nLAB_000133f3:\n    local_908 = (stat64 *)0xf;\n    goto LAB_000133fd;\n  }" { (if_statement "if (local_820._62_2_ == 0) {\n      if (local_820._64_2_ == 0) {\n        psVar20 = local_93c;\n        if (local_93c == (stat64 *)0x0) {\n          pr2serr("With --combined= if DOF, RD are 0 and IF has an unknown length\nthen give up\n");\n          local_908 = (stat64 *)0x1f;\n          goto LAB_00012354;\n        }\n      }\n      else {\n        psVar20 = (stat64 *)(((ushort)local_820._64_2_ + 1) * 0x20);\n      }\n      if ((uint)psVar20 % (uint)local_820._76_4_ != 0) {\n        psVar20 = (stat64 *)(((uint)psVar20 / (uint)local_820._76_4_ + 1) * local_820._76_4_);\n      }\n    }\n    else {\n      psVar20 = (stat64 *)((uint)(ushort)local_820._62_2_ * local_820._76_4_);\n    }" if (parenthesized_expression "(local_820._62_2_ == 0)" ( (binary_expression "local_820._62_2_ == 0" (field_expression "local_820._62_2_" identifier . field_identifier) == number_literal) )) (compound_statement "{\n      if (local_820._64_2_ == 0) {\n        psVar20 = local_93c;\n        if (local_93c == (stat64 *)0x0) {\n          pr2serr("With --combined= if DOF, RD are 0 and IF has an unknown length\nthen give up\n");\n          local_908 = (stat64 *)0x1f;\n          goto LAB_00012354;\n        }\n      }\n      else {\n        psVar20 = (stat64 *)(((ushort)local_820._64_2_ + 1) * 0x20);\n      }\n      if ((uint)psVar20 % (uint)local_820._76_4_ != 0) {\n        psVar20 = (stat64 *)(((uint)psVar20 / (uint)local_820._76_4_ + 1) * local_820._76_4_);\n      }\n    }" { (if_statement "if (local_820._64_2_ == 0) {\n        psVar20 = local_93c;\n        if (local_93c == (stat64 *)0x0) {\n          pr2serr("With --combined= if DOF, RD are 0 and IF has an unknown length\nthen give up\n");\n          local_908 = (stat64 *)0x1f;\n          goto LAB_00012354;\n        }\n      }\n      else {\n        psVar20 = (stat64 *)(((ushort)local_820._64_2_ + 1) * 0x20);\n      }" if (parenthesized_expression "(local_820._64_2_ == 0)" ( (binary_expression "local_820._64_2_ == 0" (field_expression "local_820._64_2_" identifier . field_identifier) == number_literal) )) (compound_statement "{\n        psVar20 = local_93c;\n        if (local_93c == (stat64 *)0x0) {\n          pr2serr("With --combined= if DOF, RD are 0 and IF has an unknown length\nthen give up\n");\n          local_908 = (stat64 *)0x1f;\n          goto LAB_00012354;\n        }\n      }" { (expression_statement "psVar20 = local_93c;" (assignment_expression "psVar20 = local_93c" identifier = identifier) ;) (if_statement "if (local_93c == (stat64 *)0x0) {\n          pr2serr("With --combined= if DOF, RD are 0 and IF has an unknown length\nthen give up\n");\n          local_908 = (stat64 *)0x1f;\n          goto LAB_00012354;\n        }" if (parenthesized_expression "(local_93c == (stat64 *)0x0)" ( (binary_expression "local_93c == (stat64 *)0x0" identifier == (cast_expression "(stat64 *)0x0" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n          pr2serr("With --combined= if DOF, RD are 0 and IF has an unknown length\nthen give up\n");\n          local_908 = (stat64 *)0x1f;\n          goto LAB_00012354;\n        }" { (expression_statement "pr2serr("With --combined= if DOF, RD are 0 and IF has an unknown length\nthen give up\n");" (call_expression "pr2serr("With --combined= if DOF, RD are 0 and IF has an unknown length\nthen give up\n")" identifier (argument_list "("With --combined= if DOF, RD are 0 and IF has an unknown length\nthen give up\n")" ( (string_literal ""With --combined= if DOF, RD are 0 and IF has an unknown length\nthen give up\n"" " string_content escape_sequence string_content escape_sequence ") ))) ;) (expression_statement "local_908 = (stat64 *)0x1f;" (assignment_expression "local_908 = (stat64 *)0x1f" identifier = (cast_expression "(stat64 *)0x1f" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (goto_statement "goto LAB_00012354;" goto statement_identifier ;) })) }) (else_clause "else {\n        psVar20 = (stat64 *)(((ushort)local_820._64_2_ + 1) * 0x20);\n      }" else (compound_statement "{\n        psVar20 = (stat64 *)(((ushort)local_820._64_2_ + 1) * 0x20);\n      }" { (expression_statement "psVar20 = (stat64 *)(((ushort)local_820._64_2_ + 1) * 0x20);" (assignment_expression "psVar20 = (stat64 *)(((ushort)local_820._64_2_ + 1) * 0x20)" identifier = (cast_expression "(stat64 *)(((ushort)local_820._64_2_ + 1) * 0x20)" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(((ushort)local_820._64_2_ + 1) * 0x20)" ( (binary_expression "((ushort)local_820._64_2_ + 1) * 0x20" (parenthesized_expression "((ushort)local_820._64_2_ + 1)" ( (binary_expression "(ushort)local_820._64_2_ + 1" (cast_expression "(ushort)local_820._64_2_" ( (type_descriptor "ushort" type_identifier) ) (field_expression "local_820._64_2_" identifier . field_identifier)) + number_literal) )) * number_literal) )))) ;) }))) (if_statement "if ((uint)psVar20 % (uint)local_820._76_4_ != 0) {\n        psVar20 = (stat64 *)(((uint)psVar20 / (uint)local_820._76_4_ + 1) * local_820._76_4_);\n      }" if (parenthesized_expression "((uint)psVar20 % (uint)local_820._76_4_ != 0)" ( (binary_expression "(uint)psVar20 % (uint)local_820._76_4_ != 0" (binary_expression "(uint)psVar20 % (uint)local_820._76_4_" (cast_expression "(uint)psVar20" ( (type_descriptor "uint" type_identifier) ) identifier) % (cast_expression "(uint)local_820._76_4_" ( (type_descriptor "uint" type_identifier) ) (field_expression "local_820._76_4_" identifier . field_identifier))) != number_literal) )) (compound_statement "{\n        psVar20 = (stat64 *)(((uint)psVar20 / (uint)local_820._76_4_ + 1) * local_820._76_4_);\n      }" { (expression_statement "psVar20 = (stat64 *)(((uint)psVar20 / (uint)local_820._76_4_ + 1) * local_820._76_4_);" (assignment_expression "psVar20 = (stat64 *)(((uint)psVar20 / (uint)local_820._76_4_ + 1) * local_820._76_4_)" identifier = (cast_expression "(stat64 *)(((uint)psVar20 / (uint)local_820._76_4_ + 1) * local_820._76_4_)" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(((uint)psVar20 / (uint)local_820._76_4_ + 1) * local_820._76_4_)" ( (binary_expression "((uint)psVar20 / (uint)local_820._76_4_ + 1) * local_820._76_4_" (parenthesized_expression "((uint)psVar20 / (uint)local_820._76_4_ + 1)" ( (binary_expression "(uint)psVar20 / (uint)local_820._76_4_ + 1" (binary_expression "(uint)psVar20 / (uint)local_820._76_4_" (cast_expression "(uint)psVar20" ( (type_descriptor "uint" type_identifier) ) identifier) / (cast_expression "(uint)local_820._76_4_" ( (type_descriptor "uint" type_identifier) ) (field_expression "local_820._76_4_" identifier . field_identifier))) + number_literal) )) * (field_expression "local_820._76_4_" identifier . field_identifier)) )))) ;) })) }) (else_clause "else {\n      psVar20 = (stat64 *)((uint)(ushort)local_820._62_2_ * local_820._76_4_);\n    }" else (compound_statement "{\n      psVar20 = (stat64 *)((uint)(ushort)local_820._62_2_ * local_820._76_4_);\n    }" { (expression_statement "psVar20 = (stat64 *)((uint)(ushort)local_820._62_2_ * local_820._76_4_);" (assignment_expression "psVar20 = (stat64 *)((uint)(ushort)local_820._62_2_ * local_820._76_4_)" identifier = (cast_expression "(stat64 *)((uint)(ushort)local_820._62_2_ * local_820._76_4_)" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((uint)(ushort)local_820._62_2_ * local_820._76_4_)" ( (binary_expression "(uint)(ushort)local_820._62_2_ * local_820._76_4_" (cast_expression "(uint)(ushort)local_820._62_2_" ( (type_descriptor "uint" type_identifier) ) (cast_expression "(ushort)local_820._62_2_" ( (type_descriptor "ushort" type_identifier) ) (field_expression "local_820._62_2_" identifier . field_identifier))) * (field_expression "local_820._76_4_" identifier . field_identifier)) )))) ;) }))) (expression_statement "ppvVar44 = &local_8e8;" (assignment_expression "ppvVar44 = &local_8e8" identifier = (pointer_expression "&local_8e8" & identifier)) ;) (expression_statement "uVar19 = 0;" (assignment_expression "uVar19 = 0" identifier = number_literal) ;) (expression_statement "psVar41 = (stat64 *)0x0;" (assignment_expression "psVar41 = (stat64 *)0x0" identifier = (cast_expression "(stat64 *)0x0" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "psVar29 = (stat64 *)sg_memalign(psVar20,0,ppvVar44,0);" (assignment_expression "psVar29 = (stat64 *)sg_memalign(psVar20,0,ppvVar44,0)" identifier = (cast_expression "(stat64 *)sg_memalign(psVar20,0,ppvVar44,0)" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "sg_memalign(psVar20,0,ppvVar44,0)" identifier (argument_list "(psVar20,0,ppvVar44,0)" ( identifier , number_literal , identifier , number_literal ))))) ;) (if_statement "if (psVar29 == (stat64 *)0x0) {\nLAB_000141a6:\n      pcVar18 = "unable to allocate aligned memory for scatterlist+data\n";\n      goto LAB_00013bea;\n    }" if (parenthesized_expression "(psVar29 == (stat64 *)0x0)" ( (binary_expression "psVar29 == (stat64 *)0x0" identifier == (cast_expression "(stat64 *)0x0" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\nLAB_000141a6:\n      pcVar18 = "unable to allocate aligned memory for scatterlist+data\n";\n      goto LAB_00013bea;\n    }" { (labeled_statement "LAB_000141a6:\n      pcVar18 = "unable to allocate aligned memory for scatterlist+data\n";" statement_identifier : (expression_statement "pcVar18 = "unable to allocate aligned memory for scatterlist+data\n";" (assignment_expression "pcVar18 = "unable to allocate aligned memory for scatterlist+data\n"" identifier = (string_literal ""unable to allocate aligned memory for scatterlist+data\n"" " string_content escape_sequence ")) ;)) (goto_statement "goto LAB_00013bea;" goto statement_identifier ;) })) (expression_statement "psVar41 = local_93c;" (assignment_expression "psVar41 = local_93c" identifier = identifier) ;) (if_statement "if (psVar20 < local_93c) {\n      psVar41 = psVar20;\n    }" if (parenthesized_expression "(psVar20 < local_93c)" ( (binary_expression "psVar20 < local_93c" identifier < identifier) )) (compound_statement "{\n      psVar41 = psVar20;\n    }" { (expression_statement "psVar41 = psVar20;" (assignment_expression "psVar41 = psVar20" identifier = identifier) ;) })) (expression_statement "iVar17 = bin_read((int)local_924,(uint8_t *)psVar29,(uint32_t)psVar41,"IF c1");" (assignment_expression "iVar17 = bin_read((int)local_924,(uint8_t *)psVar29,(uint32_t)psVar41,"IF c1")" identifier = (call_expression "bin_read((int)local_924,(uint8_t *)psVar29,(uint32_t)psVar41,"IF c1")" identifier (argument_list "((int)local_924,(uint8_t *)psVar29,(uint32_t)psVar41,"IF c1")" ( (cast_expression "(int)local_924" ( (type_descriptor "int" primitive_type) ) identifier) , (cast_expression "(uint8_t *)psVar29" ( (type_descriptor "uint8_t *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) , (cast_expression "(uint32_t)psVar41" ( (type_descriptor "uint32_t" primitive_type) ) identifier) , (string_literal ""IF c1"" " string_content ") )))) ;) (expression_statement "local_908 = (stat64 *)iVar17;" (assignment_expression "local_908 = (stat64 *)iVar17" identifier = (cast_expression "(stat64 *)iVar17" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (if_statement "if (iVar17 != 0) goto LAB_000133fd;" if (parenthesized_expression "(iVar17 != 0)" ( (binary_expression "iVar17 != 0" identifier != number_literal) )) (goto_statement "goto LAB_000133fd;" goto statement_identifier ;)) (expression_statement "ppsVar42 = &local_8ec;" (assignment_expression "ppsVar42 = &local_8ec" identifier = (pointer_expression "&local_8ec" & identifier)) ;) (expression_statement "iVar23 = iVar17;" (assignment_expression "iVar23 = iVar17" identifier = identifier) ;) (expression_statement "_Var9 = check_lbrds((uint8_t *)psVar29,(uint32_t)psVar20,(opts_t *)local_820,&local_8f6,\n                        (uint32_t *)ppsVar42);" (assignment_expression "_Var9 = check_lbrds((uint8_t *)psVar29,(uint32_t)psVar20,(opts_t *)local_820,&local_8f6,\n                        (uint32_t *)ppsVar42)" identifier = (call_expression "check_lbrds((uint8_t *)psVar29,(uint32_t)psVar20,(opts_t *)local_820,&local_8f6,\n                        (uint32_t *)ppsVar42)" identifier (argument_list "((uint8_t *)psVar29,(uint32_t)psVar20,(opts_t *)local_820,&local_8f6,\n                        (uint32_t *)ppsVar42)" ( (cast_expression "(uint8_t *)psVar29" ( (type_descriptor "uint8_t *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) , (cast_expression "(uint32_t)psVar20" ( (type_descriptor "uint32_t" primitive_type) ) identifier) , (cast_expression "(opts_t *)local_820" ( (type_descriptor "opts_t *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) , (pointer_expression "&local_8f6" & identifier) , (cast_expression "(uint32_t *)ppsVar42" ( (type_descriptor "uint32_t *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) )))) ;) (if_statement "if (_Var9) {\n      if ((local_820._64_2_ == 0) || (local_820._64_2_ == local_8f6)) {\n        local_820._64_2_ = local_8f6;\nLAB_00013fe3:\n        local_908 = (stat64 *)(((ushort)local_820._64_2_ + 1) * 0x20);\n        if ((uint)local_908 % (uint)local_820._76_4_ != 0) {\n          local_908 = (stat64 *)(((uint)local_908 / (uint)local_820._76_4_ + 1) * local_820._76_4_);\n        }\n        uVar10 = (uint)(ushort)local_820._62_2_;\n        uVar28 = uVar10 * local_820._76_4_;\n        local_918 = local_908;\n        local_8f6 = local_820._64_2_;\n        if (uVar28 - (int)local_908 != 0) {\n          if (uVar28 < local_908) {\n            pr2serr("%s: Cannot fit %ss (%u) in given LB data offset (%u)\n","process_scattered",\n                    "LBA range descriptor",(uint)(ushort)local_820._64_2_,uVar10,ppsVar42,iVar17,\n                    iVar23);\n            goto LAB_000133f3;\n          }\n          local_918 = (stat64 *)uVar28;\n          if (((uVar24 | local_820._40_4_) != 0) &&\n             (pr2serr("%s: empty blocks before LB data offset (%u), could be okay\n",\n                      "process_scattered",uVar10,uVar24 | local_820._40_4_), local_820._40_4_ != 0))\n          {\n            pr2serr("Exiting due to --strict; perhaps try again with --combined=%u\n",\n                    (uint)local_908 / (uint)local_820._76_4_,psVar29,psVar29);\n            local_908 = (stat64 *)0xf;\n            goto LAB_000133fd;\n          }\n        }\n        local_918 = (stat64 *)((int)local_8ec * local_820._76_4_ + (int)local_918);\n        if (local_918 <= psVar20) {\nLAB_0001418c:\n          local_820._84_4_ = local_8ec;\n          local_7a4 = (stat64 *)((int)local_8ec * local_820._76_4_);\n          goto LAB_00013962;\n        }\n        if (local_93c != local_918) {\n          if (local_93c < local_918) {\n            pr2serr("Calculated dout length (%u) %s bytes available in IF (%u)\n",local_918,\n                    &DAT_000170dd,local_93c);\n          }\n          else if (((stat64 *)uVar24 == (stat64 *)0x0 && local_820._40_4_ == 0) ||\n                  (pr2serr("Calculated dout length (%u) %s bytes available in IF (%u)\n",local_918,\n                           &DAT_00017110,local_93c), local_820._40_4_ == 0)) goto LAB_00014113;\n          goto LAB_000133f3;\n        }\nLAB_00014113:\n        psVar41 = (stat64 *)sg_memalign(local_918,0,&local_8e4,0);\n        if (psVar41 != (stat64 *)0x0) {\n          memcpy(psVar41,psVar29,(size_t)psVar20);\n          free(local_8e8);\n          local_8e8 = local_8e4;\n          local_908 = (stat64 *)\n                      bin_read((int)local_924,\n                               (uint8_t *)((int)&psVar20->st_dev + (int)&psVar41->st_dev),\n                               (int)local_918 - (int)psVar20,"IF c2");\n          psVar29 = psVar41;\n          if (local_908 != (stat64 *)0x0) goto LAB_000133fd;\n          goto LAB_0001418c;\n        }\nLAB_00014273:\n        pcVar18 = "unable to allocate memory for final scatterlist+data\n";\n        goto LAB_00013fbc;\n      }\n      if (local_8f6 < (ushort)local_820._64_2_) {\n        pr2serr("RD (%u) %s number of %ss (%u) found in IF\n",local_820._64_2_,&DAT_000170dd,\n                "LBA range descriptor",local_8f6,ppsVar42,iVar17,iVar23);\n      }\n      else if (((stat64 *)uVar24 == (stat64 *)0x0 && local_820._40_4_ == 0) ||\n              (pr2serr("RD (%u) %s number of %ss (%u) found in IF\n",local_820._64_2_,&DAT_00017110,\n                       "LBA range descriptor",local_8f6,ppsVar42,iVar17,iVar23),\n              local_820._40_4_ == 0)) {\n        local_908 = (stat64 *)0x0;\n        for (psVar41 = psVar29;\n            (stat64 *)(&psVar29->st_dev + (uint)(ushort)local_820._64_2_ * 4) != psVar41;\n            psVar41 = (stat64 *)&psVar41->st_rdev) {\n          uVar10 = psVar41->__pad2;\n          local_908 = (stat64 *)\n                      ((int)&local_908->st_dev +\n                      (uVar10 >> 0x18 | (uVar10 & 0xff0000) >> 8 | (uVar10 & 0xff00) << 8 |\n                      uVar10 << 0x18));\n        }\n        local_8ec = local_908;\n        goto LAB_00013fe3;\n      }\n    }" if (parenthesized_expression "(_Var9)" ( identifier )) (compound_statement "{\n      if ((local_820._64_2_ == 0) || (local_820._64_2_ == local_8f6)) {\n        local_820._64_2_ = local_8f6;\nLAB_00013fe3:\n        local_908 = (stat64 *)(((ushort)local_820._64_2_ + 1) * 0x20);\n        if ((uint)local_908 % (uint)local_820._76_4_ != 0) {\n          local_908 = (stat64 *)(((uint)local_908 / (uint)local_820._76_4_ + 1) * local_820._76_4_);\n        }\n        uVar10 = (uint)(ushort)local_820._62_2_;\n        uVar28 = uVar10 * local_820._76_4_;\n        local_918 = local_908;\n        local_8f6 = local_820._64_2_;\n        if (uVar28 - (int)local_908 != 0) {\n          if (uVar28 < local_908) {\n            pr2serr("%s: Cannot fit %ss (%u) in given LB data offset (%u)\n","process_scattered",\n                    "LBA range descriptor",(uint)(ushort)local_820._64_2_,uVar10,ppsVar42,iVar17,\n                    iVar23);\n            goto LAB_000133f3;\n          }\n          local_918 = (stat64 *)uVar28;\n          if (((uVar24 | local_820._40_4_) != 0) &&\n             (pr2serr("%s: empty blocks before LB data offset (%u), could be okay\n",\n                      "process_scattered",uVar10,uVar24 | local_820._40_4_), local_820._40_4_ != 0))\n          {\n            pr2serr("Exiting due to --strict; perhaps try again with --combined=%u\n",\n                    (uint)local_908 / (uint)local_820._76_4_,psVar29,psVar29);\n            local_908 = (stat64 *)0xf;\n            goto LAB_000133fd;\n          }\n        }\n        local_918 = (stat64 *)((int)local_8ec * local_820._76_4_ + (int)local_918);\n        if (local_918 <= psVar20) {\nLAB_0001418c:\n          local_820._84_4_ = local_8ec;\n          local_7a4 = (stat64 *)((int)local_8ec * local_820._76_4_);\n          goto LAB_00013962;\n        }\n        if (local_93c != local_918) {\n          if (local_93c < local_918) {\n            pr2serr("Calculated dout length (%u) %s bytes available in IF (%u)\n",local_918,\n                    &DAT_000170dd,local_93c);\n          }\n          else if (((stat64 *)uVar24 == (stat64 *)0x0 && local_820._40_4_ == 0) ||\n                  (pr2serr("Calculated dout length (%u) %s bytes available in IF (%u)\n",local_918,\n                           &DAT_00017110,local_93c), local_820._40_4_ == 0)) goto LAB_00014113;\n          goto LAB_000133f3;\n        }\nLAB_00014113:\n        psVar41 = (stat64 *)sg_memalign(local_918,0,&local_8e4,0);\n        if (psVar41 != (stat64 *)0x0) {\n          memcpy(psVar41,psVar29,(size_t)psVar20);\n          free(local_8e8);\n          local_8e8 = local_8e4;\n          local_908 = (stat64 *)\n                      bin_read((int)local_924,\n                               (uint8_t *)((int)&psVar20->st_dev + (int)&psVar41->st_dev),\n                               (int)local_918 - (int)psVar20,"IF c2");\n          psVar29 = psVar41;\n          if (local_908 != (stat64 *)0x0) goto LAB_000133fd;\n          goto LAB_0001418c;\n        }\nLAB_00014273:\n        pcVar18 = "unable to allocate memory for final scatterlist+data\n";\n        goto LAB_00013fbc;\n      }\n      if (local_8f6 < (ushort)local_820._64_2_) {\n        pr2serr("RD (%u) %s number of %ss (%u) found in IF\n",local_820._64_2_,&DAT_000170dd,\n                "LBA range descriptor",local_8f6,ppsVar42,iVar17,iVar23);\n      }\n      else if (((stat64 *)uVar24 == (stat64 *)0x0 && local_820._40_4_ == 0) ||\n              (pr2serr("RD (%u) %s number of %ss (%u) found in IF\n",local_820._64_2_,&DAT_00017110,\n                       "LBA range descriptor",local_8f6,ppsVar42,iVar17,iVar23),\n              local_820._40_4_ == 0)) {\n        local_908 = (stat64 *)0x0;\n        for (psVar41 = psVar29;\n            (stat64 *)(&psVar29->st_dev + (uint)(ushort)local_820._64_2_ * 4) != psVar41;\n            psVar41 = (stat64 *)&psVar41->st_rdev) {\n          uVar10 = psVar41->__pad2;\n          local_908 = (stat64 *)\n                      ((int)&local_908->st_dev +\n                      (uVar10 >> 0x18 | (uVar10 & 0xff0000) >> 8 | (uVar10 & 0xff00) << 8 |\n                      uVar10 << 0x18));\n        }\n        local_8ec = local_908;\n        goto LAB_00013fe3;\n      }\n    }" { (if_statement "if ((local_820._64_2_ == 0) || (local_820._64_2_ == local_8f6)) {\n        local_820._64_2_ = local_8f6;\nLAB_00013fe3:\n        local_908 = (stat64 *)(((ushort)local_820._64_2_ + 1) * 0x20);\n        if ((uint)local_908 % (uint)local_820._76_4_ != 0) {\n          local_908 = (stat64 *)(((uint)local_908 / (uint)local_820._76_4_ + 1) * local_820._76_4_);\n        }\n        uVar10 = (uint)(ushort)local_820._62_2_;\n        uVar28 = uVar10 * local_820._76_4_;\n        local_918 = local_908;\n        local_8f6 = local_820._64_2_;\n        if (uVar28 - (int)local_908 != 0) {\n          if (uVar28 < local_908) {\n            pr2serr("%s: Cannot fit %ss (%u) in given LB data offset (%u)\n","process_scattered",\n                    "LBA range descriptor",(uint)(ushort)local_820._64_2_,uVar10,ppsVar42,iVar17,\n                    iVar23);\n            goto LAB_000133f3;\n          }\n          local_918 = (stat64 *)uVar28;\n          if (((uVar24 | local_820._40_4_) != 0) &&\n             (pr2serr("%s: empty blocks before LB data offset (%u), could be okay\n",\n                      "process_scattered",uVar10,uVar24 | local_820._40_4_), local_820._40_4_ != 0))\n          {\n            pr2serr("Exiting due to --strict; perhaps try again with --combined=%u\n",\n                    (uint)local_908 / (uint)local_820._76_4_,psVar29,psVar29);\n            local_908 = (stat64 *)0xf;\n            goto LAB_000133fd;\n          }\n        }\n        local_918 = (stat64 *)((int)local_8ec * local_820._76_4_ + (int)local_918);\n        if (local_918 <= psVar20) {\nLAB_0001418c:\n          local_820._84_4_ = local_8ec;\n          local_7a4 = (stat64 *)((int)local_8ec * local_820._76_4_);\n          goto LAB_00013962;\n        }\n        if (local_93c != local_918) {\n          if (local_93c < local_918) {\n            pr2serr("Calculated dout length (%u) %s bytes available in IF (%u)\n",local_918,\n                    &DAT_000170dd,local_93c);\n          }\n          else if (((stat64 *)uVar24 == (stat64 *)0x0 && local_820._40_4_ == 0) ||\n                  (pr2serr("Calculated dout length (%u) %s bytes available in IF (%u)\n",local_918,\n                           &DAT_00017110,local_93c), local_820._40_4_ == 0)) goto LAB_00014113;\n          goto LAB_000133f3;\n        }\nLAB_00014113:\n        psVar41 = (stat64 *)sg_memalign(local_918,0,&local_8e4,0);\n        if (psVar41 != (stat64 *)0x0) {\n          memcpy(psVar41,psVar29,(size_t)psVar20);\n          free(local_8e8);\n          local_8e8 = local_8e4;\n          local_908 = (stat64 *)\n                      bin_read((int)local_924,\n                               (uint8_t *)((int)&psVar20->st_dev + (int)&psVar41->st_dev),\n                               (int)local_918 - (int)psVar20,"IF c2");\n          psVar29 = psVar41;\n          if (local_908 != (stat64 *)0x0) goto LAB_000133fd;\n          goto LAB_0001418c;\n        }\nLAB_00014273:\n        pcVar18 = "unable to allocate memory for final scatterlist+data\n";\n        goto LAB_00013fbc;\n      }" if (parenthesized_expression "((local_820._64_2_ == 0) || (local_820._64_2_ == local_8f6))" ( (binary_expression "(local_820._64_2_ == 0) || (local_820._64_2_ == local_8f6)" (parenthesized_expression "(local_820._64_2_ == 0)" ( (binary_expression "local_820._64_2_ == 0" (field_expression "local_820._64_2_" identifier . field_identifier) == number_literal) )) || (parenthesized_expression "(local_820._64_2_ == local_8f6)" ( (binary_expression "local_820._64_2_ == local_8f6" (field_expression "local_820._64_2_" identifier . field_identifier) == identifier) ))) )) (compound_statement "{\n        local_820._64_2_ = local_8f6;\nLAB_00013fe3:\n        local_908 = (stat64 *)(((ushort)local_820._64_2_ + 1) * 0x20);\n        if ((uint)local_908 % (uint)local_820._76_4_ != 0) {\n          local_908 = (stat64 *)(((uint)local_908 / (uint)local_820._76_4_ + 1) * local_820._76_4_);\n        }\n        uVar10 = (uint)(ushort)local_820._62_2_;\n        uVar28 = uVar10 * local_820._76_4_;\n        local_918 = local_908;\n        local_8f6 = local_820._64_2_;\n        if (uVar28 - (int)local_908 != 0) {\n          if (uVar28 < local_908) {\n            pr2serr("%s: Cannot fit %ss (%u) in given LB data offset (%u)\n","process_scattered",\n                    "LBA range descriptor",(uint)(ushort)local_820._64_2_,uVar10,ppsVar42,iVar17,\n                    iVar23);\n            goto LAB_000133f3;\n          }\n          local_918 = (stat64 *)uVar28;\n          if (((uVar24 | local_820._40_4_) != 0) &&\n             (pr2serr("%s: empty blocks before LB data offset (%u), could be okay\n",\n                      "process_scattered",uVar10,uVar24 | local_820._40_4_), local_820._40_4_ != 0))\n          {\n            pr2serr("Exiting due to --strict; perhaps try again with --combined=%u\n",\n                    (uint)local_908 / (uint)local_820._76_4_,psVar29,psVar29);\n            local_908 = (stat64 *)0xf;\n            goto LAB_000133fd;\n          }\n        }\n        local_918 = (stat64 *)((int)local_8ec * local_820._76_4_ + (int)local_918);\n        if (local_918 <= psVar20) {\nLAB_0001418c:\n          local_820._84_4_ = local_8ec;\n          local_7a4 = (stat64 *)((int)local_8ec * local_820._76_4_);\n          goto LAB_00013962;\n        }\n        if (local_93c != local_918) {\n          if (local_93c < local_918) {\n            pr2serr("Calculated dout length (%u) %s bytes available in IF (%u)\n",local_918,\n                    &DAT_000170dd,local_93c);\n          }\n          else if (((stat64 *)uVar24 == (stat64 *)0x0 && local_820._40_4_ == 0) ||\n                  (pr2serr("Calculated dout length (%u) %s bytes available in IF (%u)\n",local_918,\n                           &DAT_00017110,local_93c), local_820._40_4_ == 0)) goto LAB_00014113;\n          goto LAB_000133f3;\n        }\nLAB_00014113:\n        psVar41 = (stat64 *)sg_memalign(local_918,0,&local_8e4,0);\n        if (psVar41 != (stat64 *)0x0) {\n          memcpy(psVar41,psVar29,(size_t)psVar20);\n          free(local_8e8);\n          local_8e8 = local_8e4;\n          local_908 = (stat64 *)\n                      bin_read((int)local_924,\n                               (uint8_t *)((int)&psVar20->st_dev + (int)&psVar41->st_dev),\n                               (int)local_918 - (int)psVar20,"IF c2");\n          psVar29 = psVar41;\n          if (local_908 != (stat64 *)0x0) goto LAB_000133fd;\n          goto LAB_0001418c;\n        }\nLAB_00014273:\n        pcVar18 = "unable to allocate memory for final scatterlist+data\n";\n        goto LAB_00013fbc;\n      }" { (expression_statement "local_820._64_2_ = local_8f6;" (assignment_expression "local_820._64_2_ = local_8f6" (field_expression "local_820._64_2_" identifier . field_identifier) = identifier) ;) (labeled_statement "LAB_00013fe3:\n        local_908 = (stat64 *)(((ushort)local_820._64_2_ + 1) * 0x20);" statement_identifier : (expression_statement "local_908 = (stat64 *)(((ushort)local_820._64_2_ + 1) * 0x20);" (assignment_expression "local_908 = (stat64 *)(((ushort)local_820._64_2_ + 1) * 0x20)" identifier = (cast_expression "(stat64 *)(((ushort)local_820._64_2_ + 1) * 0x20)" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(((ushort)local_820._64_2_ + 1) * 0x20)" ( (binary_expression "((ushort)local_820._64_2_ + 1) * 0x20" (parenthesized_expression "((ushort)local_820._64_2_ + 1)" ( (binary_expression "(ushort)local_820._64_2_ + 1" (cast_expression "(ushort)local_820._64_2_" ( (type_descriptor "ushort" type_identifier) ) (field_expression "local_820._64_2_" identifier . field_identifier)) + number_literal) )) * number_literal) )))) ;)) (if_statement "if ((uint)local_908 % (uint)local_820._76_4_ != 0) {\n          local_908 = (stat64 *)(((uint)local_908 / (uint)local_820._76_4_ + 1) * local_820._76_4_);\n        }" if (parenthesized_expression "((uint)local_908 % (uint)local_820._76_4_ != 0)" ( (binary_expression "(uint)local_908 % (uint)local_820._76_4_ != 0" (binary_expression "(uint)local_908 % (uint)local_820._76_4_" (cast_expression "(uint)local_908" ( (type_descriptor "uint" type_identifier) ) identifier) % (cast_expression "(uint)local_820._76_4_" ( (type_descriptor "uint" type_identifier) ) (field_expression "local_820._76_4_" identifier . field_identifier))) != number_literal) )) (compound_statement "{\n          local_908 = (stat64 *)(((uint)local_908 / (uint)local_820._76_4_ + 1) * local_820._76_4_);\n        }" { (expression_statement "local_908 = (stat64 *)(((uint)local_908 / (uint)local_820._76_4_ + 1) * local_820._76_4_);" (assignment_expression "local_908 = (stat64 *)(((uint)local_908 / (uint)local_820._76_4_ + 1) * local_820._76_4_)" identifier = (cast_expression "(stat64 *)(((uint)local_908 / (uint)local_820._76_4_ + 1) * local_820._76_4_)" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(((uint)local_908 / (uint)local_820._76_4_ + 1) * local_820._76_4_)" ( (binary_expression "((uint)local_908 / (uint)local_820._76_4_ + 1) * local_820._76_4_" (parenthesized_expression "((uint)local_908 / (uint)local_820._76_4_ + 1)" ( (binary_expression "(uint)local_908 / (uint)local_820._76_4_ + 1" (binary_expression "(uint)local_908 / (uint)local_820._76_4_" (cast_expression "(uint)local_908" ( (type_descriptor "uint" type_identifier) ) identifier) / (cast_expression "(uint)local_820._76_4_" ( (type_descriptor "uint" type_identifier) ) (field_expression "local_820._76_4_" identifier . field_identifier))) + number_literal) )) * (field_expression "local_820._76_4_" identifier . field_identifier)) )))) ;) })) (expression_statement "uVar10 = (uint)(ushort)local_820._62_2_;" (assignment_expression "uVar10 = (uint)(ushort)local_820._62_2_" identifier = (cast_expression "(uint)(ushort)local_820._62_2_" ( (type_descriptor "uint" type_identifier) ) (cast_expression "(ushort)local_820._62_2_" ( (type_descriptor "ushort" type_identifier) ) (field_expression "local_820._62_2_" identifier . field_identifier)))) ;) (expression_statement "uVar28 = uVar10 * local_820._76_4_;" (assignment_expression "uVar28 = uVar10 * local_820._76_4_" identifier = (binary_expression "uVar10 * local_820._76_4_" identifier * (field_expression "local_820._76_4_" identifier . field_identifier))) ;) (expression_statement "local_918 = local_908;" (assignment_expression "local_918 = local_908" identifier = identifier) ;) (expression_statement "local_8f6 = local_820._64_2_;" (assignment_expression "local_8f6 = local_820._64_2_" identifier = (field_expression "local_820._64_2_" identifier . field_identifier)) ;) (if_statement "if (uVar28 - (int)local_908 != 0) {\n          if (uVar28 < local_908) {\n            pr2serr("%s: Cannot fit %ss (%u) in given LB data offset (%u)\n","process_scattered",\n                    "LBA range descriptor",(uint)(ushort)local_820._64_2_,uVar10,ppsVar42,iVar17,\n                    iVar23);\n            goto LAB_000133f3;\n          }\n          local_918 = (stat64 *)uVar28;\n          if (((uVar24 | local_820._40_4_) != 0) &&\n             (pr2serr("%s: empty blocks before LB data offset (%u), could be okay\n",\n                      "process_scattered",uVar10,uVar24 | local_820._40_4_), local_820._40_4_ != 0))\n          {\n            pr2serr("Exiting due to --strict; perhaps try again with --combined=%u\n",\n                    (uint)local_908 / (uint)local_820._76_4_,psVar29,psVar29);\n            local_908 = (stat64 *)0xf;\n            goto LAB_000133fd;\n          }\n        }" if (parenthesized_expression "(uVar28 - (int)local_908 != 0)" ( (binary_expression "uVar28 - (int)local_908 != 0" (binary_expression "uVar28 - (int)local_908" identifier - (cast_expression "(int)local_908" ( (type_descriptor "int" primitive_type) ) identifier)) != number_literal) )) (compound_statement "{\n          if (uVar28 < local_908) {\n            pr2serr("%s: Cannot fit %ss (%u) in given LB data offset (%u)\n","process_scattered",\n                    "LBA range descriptor",(uint)(ushort)local_820._64_2_,uVar10,ppsVar42,iVar17,\n                    iVar23);\n            goto LAB_000133f3;\n          }\n          local_918 = (stat64 *)uVar28;\n          if (((uVar24 | local_820._40_4_) != 0) &&\n             (pr2serr("%s: empty blocks before LB data offset (%u), could be okay\n",\n                      "process_scattered",uVar10,uVar24 | local_820._40_4_), local_820._40_4_ != 0))\n          {\n            pr2serr("Exiting due to --strict; perhaps try again with --combined=%u\n",\n                    (uint)local_908 / (uint)local_820._76_4_,psVar29,psVar29);\n            local_908 = (stat64 *)0xf;\n            goto LAB_000133fd;\n          }\n        }" { (if_statement "if (uVar28 < local_908) {\n            pr2serr("%s: Cannot fit %ss (%u) in given LB data offset (%u)\n","process_scattered",\n                    "LBA range descriptor",(uint)(ushort)local_820._64_2_,uVar10,ppsVar42,iVar17,\n                    iVar23);\n            goto LAB_000133f3;\n          }" if (parenthesized_expression "(uVar28 < local_908)" ( (binary_expression "uVar28 < local_908" identifier < identifier) )) (compound_statement "{\n            pr2serr("%s: Cannot fit %ss (%u) in given LB data offset (%u)\n","process_scattered",\n                    "LBA range descriptor",(uint)(ushort)local_820._64_2_,uVar10,ppsVar42,iVar17,\n                    iVar23);\n            goto LAB_000133f3;\n          }" { (expression_statement "pr2serr("%s: Cannot fit %ss (%u) in given LB data offset (%u)\n","process_scattered",\n                    "LBA range descriptor",(uint)(ushort)local_820._64_2_,uVar10,ppsVar42,iVar17,\n                    iVar23);" (call_expression "pr2serr("%s: Cannot fit %ss (%u) in given LB data offset (%u)\n","process_scattered",\n                    "LBA range descriptor",(uint)(ushort)local_820._64_2_,uVar10,ppsVar42,iVar17,\n                    iVar23)" identifier (argument_list "("%s: Cannot fit %ss (%u) in given LB data offset (%u)\n","process_scattered",\n                    "LBA range descriptor",(uint)(ushort)local_820._64_2_,uVar10,ppsVar42,iVar17,\n                    iVar23)" ( (string_literal ""%s: Cannot fit %ss (%u) in given LB data offset (%u)\n"" " string_content escape_sequence ") , (string_literal ""process_scattered"" " string_content ") , (string_literal ""LBA range descriptor"" " string_content ") , (cast_expression "(uint)(ushort)local_820._64_2_" ( (type_descriptor "uint" type_identifier) ) (cast_expression "(ushort)local_820._64_2_" ( (type_descriptor "ushort" type_identifier) ) (field_expression "local_820._64_2_" identifier . field_identifier))) , identifier , identifier , identifier , identifier ))) ;) (goto_statement "goto LAB_000133f3;" goto statement_identifier ;) })) (expression_statement "local_918 = (stat64 *)uVar28;" (assignment_expression "local_918 = (stat64 *)uVar28" identifier = (cast_expression "(stat64 *)uVar28" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (if_statement "if (((uVar24 | local_820._40_4_) != 0) &&\n             (pr2serr("%s: empty blocks before LB data offset (%u), could be okay\n",\n                      "process_scattered",uVar10,uVar24 | local_820._40_4_), local_820._40_4_ != 0))\n          {\n            pr2serr("Exiting due to --strict; perhaps try again with --combined=%u\n",\n                    (uint)local_908 / (uint)local_820._76_4_,psVar29,psVar29);\n            local_908 = (stat64 *)0xf;\n            goto LAB_000133fd;\n          }" if (parenthesized_expression "(((uVar24 | local_820._40_4_) != 0) &&\n             (pr2serr("%s: empty blocks before LB data offset (%u), could be okay\n",\n                      "process_scattered",uVar10,uVar24 | local_820._40_4_), local_820._40_4_ != 0))" ( (binary_expression "((uVar24 | local_820._40_4_) != 0) &&\n             (pr2serr("%s: empty blocks before LB data offset (%u), could be okay\n",\n                      "process_scattered",uVar10,uVar24 | local_820._40_4_), local_820._40_4_ != 0)" (parenthesized_expression "((uVar24 | local_820._40_4_) != 0)" ( (binary_expression "(uVar24 | local_820._40_4_) != 0" (parenthesized_expression "(uVar24 | local_820._40_4_)" ( (binary_expression "uVar24 | local_820._40_4_" identifier | (field_expression "local_820._40_4_" identifier . field_identifier)) )) != number_literal) )) && (parenthesized_expression "(pr2serr("%s: empty blocks before LB data offset (%u), could be okay\n",\n                      "process_scattered",uVar10,uVar24 | local_820._40_4_), local_820._40_4_ != 0)" ( (comma_expression "pr2serr("%s: empty blocks before LB data offset (%u), could be okay\n",\n                      "process_scattered",uVar10,uVar24 | local_820._40_4_), local_820._40_4_ != 0" (call_expression "pr2serr("%s: empty blocks before LB data offset (%u), could be okay\n",\n                      "process_scattered",uVar10,uVar24 | local_820._40_4_)" identifier (argument_list "("%s: empty blocks before LB data offset (%u), could be okay\n",\n                      "process_scattered",uVar10,uVar24 | local_820._40_4_)" ( (string_literal ""%s: empty blocks before LB data offset (%u), could be okay\n"" " string_content escape_sequence ") , (string_literal ""process_scattered"" " string_content ") , identifier , (binary_expression "uVar24 | local_820._40_4_" identifier | (field_expression "local_820._40_4_" identifier . field_identifier)) ))) , (binary_expression "local_820._40_4_ != 0" (field_expression "local_820._40_4_" identifier . field_identifier) != number_literal)) ))) )) (compound_statement "{\n            pr2serr("Exiting due to --strict; perhaps try again with --combined=%u\n",\n                    (uint)local_908 / (uint)local_820._76_4_,psVar29,psVar29);\n            local_908 = (stat64 *)0xf;\n            goto LAB_000133fd;\n          }" { (expression_statement "pr2serr("Exiting due to --strict; perhaps try again with --combined=%u\n",\n                    (uint)local_908 / (uint)local_820._76_4_,psVar29,psVar29);" (call_expression "pr2serr("Exiting due to --strict; perhaps try again with --combined=%u\n",\n                    (uint)local_908 / (uint)local_820._76_4_,psVar29,psVar29)" identifier (argument_list "("Exiting due to --strict; perhaps try again with --combined=%u\n",\n                    (uint)local_908 / (uint)local_820._76_4_,psVar29,psVar29)" ( (string_literal ""Exiting due to --strict; perhaps try again with --combined=%u\n"" " string_content escape_sequence ") , (binary_expression "(uint)local_908 / (uint)local_820._76_4_" (cast_expression "(uint)local_908" ( (type_descriptor "uint" type_identifier) ) identifier) / (cast_expression "(uint)local_820._76_4_" ( (type_descriptor "uint" type_identifier) ) (field_expression "local_820._76_4_" identifier . field_identifier))) , identifier , identifier ))) ;) (expression_statement "local_908 = (stat64 *)0xf;" (assignment_expression "local_908 = (stat64 *)0xf" identifier = (cast_expression "(stat64 *)0xf" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (goto_statement "goto LAB_000133fd;" goto statement_identifier ;) })) })) (expression_statement "local_918 = (stat64 *)((int)local_8ec * local_820._76_4_ + (int)local_918);" (assignment_expression "local_918 = (stat64 *)((int)local_8ec * local_820._76_4_ + (int)local_918)" identifier = (cast_expression "(stat64 *)((int)local_8ec * local_820._76_4_ + (int)local_918)" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_8ec * local_820._76_4_ + (int)local_918)" ( (binary_expression "(int)local_8ec * local_820._76_4_ + (int)local_918" (binary_expression "(int)local_8ec * local_820._76_4_" (cast_expression "(int)local_8ec" ( (type_descriptor "int" primitive_type) ) identifier) * (field_expression "local_820._76_4_" identifier . field_identifier)) + (cast_expression "(int)local_918" ( (type_descriptor "int" primitive_type) ) identifier)) )))) ;) (if_statement "if (local_918 <= psVar20) {\nLAB_0001418c:\n          local_820._84_4_ = local_8ec;\n          local_7a4 = (stat64 *)((int)local_8ec * local_820._76_4_);\n          goto LAB_00013962;\n        }" if (parenthesized_expression "(local_918 <= psVar20)" ( (binary_expression "local_918 <= psVar20" identifier <= identifier) )) (compound_statement "{\nLAB_0001418c:\n          local_820._84_4_ = local_8ec;\n          local_7a4 = (stat64 *)((int)local_8ec * local_820._76_4_);\n          goto LAB_00013962;\n        }" { (labeled_statement "LAB_0001418c:\n          local_820._84_4_ = local_8ec;" statement_identifier : (expression_statement "local_820._84_4_ = local_8ec;" (assignment_expression "local_820._84_4_ = local_8ec" (field_expression "local_820._84_4_" identifier . field_identifier) = identifier) ;)) (expression_statement "local_7a4 = (stat64 *)((int)local_8ec * local_820._76_4_);" (assignment_expression "local_7a4 = (stat64 *)((int)local_8ec * local_820._76_4_)" identifier = (cast_expression "(stat64 *)((int)local_8ec * local_820._76_4_)" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_8ec * local_820._76_4_)" ( (binary_expression "(int)local_8ec * local_820._76_4_" (cast_expression "(int)local_8ec" ( (type_descriptor "int" primitive_type) ) identifier) * (field_expression "local_820._76_4_" identifier . field_identifier)) )))) ;) (goto_statement "goto LAB_00013962;" goto statement_identifier ;) })) (if_statement "if (local_93c != local_918) {\n          if (local_93c < local_918) {\n            pr2serr("Calculated dout length (%u) %s bytes available in IF (%u)\n",local_918,\n                    &DAT_000170dd,local_93c);\n          }\n          else if (((stat64 *)uVar24 == (stat64 *)0x0 && local_820._40_4_ == 0) ||\n                  (pr2serr("Calculated dout length (%u) %s bytes available in IF (%u)\n",local_918,\n                           &DAT_00017110,local_93c), local_820._40_4_ == 0)) goto LAB_00014113;\n          goto LAB_000133f3;\n        }" if (parenthesized_expression "(local_93c != local_918)" ( (binary_expression "local_93c != local_918" identifier != identifier) )) (compound_statement "{\n          if (local_93c < local_918) {\n            pr2serr("Calculated dout length (%u) %s bytes available in IF (%u)\n",local_918,\n                    &DAT_000170dd,local_93c);\n          }\n          else if (((stat64 *)uVar24 == (stat64 *)0x0 && local_820._40_4_ == 0) ||\n                  (pr2serr("Calculated dout length (%u) %s bytes available in IF (%u)\n",local_918,\n                           &DAT_00017110,local_93c), local_820._40_4_ == 0)) goto LAB_00014113;\n          goto LAB_000133f3;\n        }" { (if_statement "if (local_93c < local_918) {\n            pr2serr("Calculated dout length (%u) %s bytes available in IF (%u)\n",local_918,\n                    &DAT_000170dd,local_93c);\n          }\n          else if (((stat64 *)uVar24 == (stat64 *)0x0 && local_820._40_4_ == 0) ||\n                  (pr2serr("Calculated dout length (%u) %s bytes available in IF (%u)\n",local_918,\n                           &DAT_00017110,local_93c), local_820._40_4_ == 0)) goto LAB_00014113;" if (parenthesized_expression "(local_93c < local_918)" ( (binary_expression "local_93c < local_918" identifier < identifier) )) (compound_statement "{\n            pr2serr("Calculated dout length (%u) %s bytes available in IF (%u)\n",local_918,\n                    &DAT_000170dd,local_93c);\n          }" { (expression_statement "pr2serr("Calculated dout length (%u) %s bytes available in IF (%u)\n",local_918,\n                    &DAT_000170dd,local_93c);" (call_expression "pr2serr("Calculated dout length (%u) %s bytes available in IF (%u)\n",local_918,\n                    &DAT_000170dd,local_93c)" identifier (argument_list "("Calculated dout length (%u) %s bytes available in IF (%u)\n",local_918,\n                    &DAT_000170dd,local_93c)" ( (string_literal ""Calculated dout length (%u) %s bytes available in IF (%u)\n"" " string_content escape_sequence ") , identifier , (pointer_expression "&DAT_000170dd" & identifier) , identifier ))) ;) }) (else_clause "else if (((stat64 *)uVar24 == (stat64 *)0x0 && local_820._40_4_ == 0) ||\n                  (pr2serr("Calculated dout length (%u) %s bytes available in IF (%u)\n",local_918,\n                           &DAT_00017110,local_93c), local_820._40_4_ == 0)) goto LAB_00014113;" else (if_statement "if (((stat64 *)uVar24 == (stat64 *)0x0 && local_820._40_4_ == 0) ||\n                  (pr2serr("Calculated dout length (%u) %s bytes available in IF (%u)\n",local_918,\n                           &DAT_00017110,local_93c), local_820._40_4_ == 0)) goto LAB_00014113;" if (parenthesized_expression "(((stat64 *)uVar24 == (stat64 *)0x0 && local_820._40_4_ == 0) ||\n                  (pr2serr("Calculated dout length (%u) %s bytes available in IF (%u)\n",local_918,\n                           &DAT_00017110,local_93c), local_820._40_4_ == 0))" ( (binary_expression "((stat64 *)uVar24 == (stat64 *)0x0 && local_820._40_4_ == 0) ||\n                  (pr2serr("Calculated dout length (%u) %s bytes available in IF (%u)\n",local_918,\n                           &DAT_00017110,local_93c), local_820._40_4_ == 0)" (parenthesized_expression "((stat64 *)uVar24 == (stat64 *)0x0 && local_820._40_4_ == 0)" ( (binary_expression "(stat64 *)uVar24 == (stat64 *)0x0 && local_820._40_4_ == 0" (binary_expression "(stat64 *)uVar24 == (stat64 *)0x0" (cast_expression "(stat64 *)uVar24" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) == (cast_expression "(stat64 *)0x0" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) && (binary_expression "local_820._40_4_ == 0" (field_expression "local_820._40_4_" identifier . field_identifier) == number_literal)) )) || (parenthesized_expression "(pr2serr("Calculated dout length (%u) %s bytes available in IF (%u)\n",local_918,\n                           &DAT_00017110,local_93c), local_820._40_4_ == 0)" ( (comma_expression "pr2serr("Calculated dout length (%u) %s bytes available in IF (%u)\n",local_918,\n                           &DAT_00017110,local_93c), local_820._40_4_ == 0" (call_expression "pr2serr("Calculated dout length (%u) %s bytes available in IF (%u)\n",local_918,\n                           &DAT_00017110,local_93c)" identifier (argument_list "("Calculated dout length (%u) %s bytes available in IF (%u)\n",local_918,\n                           &DAT_00017110,local_93c)" ( (string_literal ""Calculated dout length (%u) %s bytes available in IF (%u)\n"" " string_content escape_sequence ") , identifier , (pointer_expression "&DAT_00017110" & identifier) , identifier ))) , (binary_expression "local_820._40_4_ == 0" (field_expression "local_820._40_4_" identifier . field_identifier) == number_literal)) ))) )) (goto_statement "goto LAB_00014113;" goto statement_identifier ;)))) (goto_statement "goto LAB_000133f3;" goto statement_identifier ;) })) (labeled_statement "LAB_00014113:\n        psVar41 = (stat64 *)sg_memalign(local_918,0,&local_8e4,0);" statement_identifier : (expression_statement "psVar41 = (stat64 *)sg_memalign(local_918,0,&local_8e4,0);" (assignment_expression "psVar41 = (stat64 *)sg_memalign(local_918,0,&local_8e4,0)" identifier = (cast_expression "(stat64 *)sg_memalign(local_918,0,&local_8e4,0)" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "sg_memalign(local_918,0,&local_8e4,0)" identifier (argument_list "(local_918,0,&local_8e4,0)" ( identifier , number_literal , (pointer_expression "&local_8e4" & identifier) , number_literal ))))) ;)) (if_statement "if (psVar41 != (stat64 *)0x0) {\n          memcpy(psVar41,psVar29,(size_t)psVar20);\n          free(local_8e8);\n          local_8e8 = local_8e4;\n          local_908 = (stat64 *)\n                      bin_read((int)local_924,\n                               (uint8_t *)((int)&psVar20->st_dev + (int)&psVar41->st_dev),\n                               (int)local_918 - (int)psVar20,"IF c2");\n          psVar29 = psVar41;\n          if (local_908 != (stat64 *)0x0) goto LAB_000133fd;\n          goto LAB_0001418c;\n        }" if (parenthesized_expression "(psVar41 != (stat64 *)0x0)" ( (binary_expression "psVar41 != (stat64 *)0x0" identifier != (cast_expression "(stat64 *)0x0" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n          memcpy(psVar41,psVar29,(size_t)psVar20);\n          free(local_8e8);\n          local_8e8 = local_8e4;\n          local_908 = (stat64 *)\n                      bin_read((int)local_924,\n                               (uint8_t *)((int)&psVar20->st_dev + (int)&psVar41->st_dev),\n                               (int)local_918 - (int)psVar20,"IF c2");\n          psVar29 = psVar41;\n          if (local_908 != (stat64 *)0x0) goto LAB_000133fd;\n          goto LAB_0001418c;\n        }" { (expression_statement "memcpy(psVar41,psVar29,(size_t)psVar20);" (call_expression "memcpy(psVar41,psVar29,(size_t)psVar20)" identifier (argument_list "(psVar41,psVar29,(size_t)psVar20)" ( identifier , identifier , (cast_expression "(size_t)psVar20" ( (type_descriptor "size_t" primitive_type) ) identifier) ))) ;) (expression_statement "free(local_8e8);" (call_expression "free(local_8e8)" identifier (argument_list "(local_8e8)" ( identifier ))) ;) (expression_statement "local_8e8 = local_8e4;" (assignment_expression "local_8e8 = local_8e4" identifier = identifier) ;) (expression_statement "local_908 = (stat64 *)\n                      bin_read((int)local_924,\n                               (uint8_t *)((int)&psVar20->st_dev + (int)&psVar41->st_dev),\n                               (int)local_918 - (int)psVar20,"IF c2");" (assignment_expression "local_908 = (stat64 *)\n                      bin_read((int)local_924,\n                               (uint8_t *)((int)&psVar20->st_dev + (int)&psVar41->st_dev),\n                               (int)local_918 - (int)psVar20,"IF c2")" identifier = (cast_expression "(stat64 *)\n                      bin_read((int)local_924,\n                               (uint8_t *)((int)&psVar20->st_dev + (int)&psVar41->st_dev),\n                               (int)local_918 - (int)psVar20,"IF c2")" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "bin_read((int)local_924,\n                               (uint8_t *)((int)&psVar20->st_dev + (int)&psVar41->st_dev),\n                               (int)local_918 - (int)psVar20,"IF c2")" identifier (argument_list "((int)local_924,\n                               (uint8_t *)((int)&psVar20->st_dev + (int)&psVar41->st_dev),\n                               (int)local_918 - (int)psVar20,"IF c2")" ( (cast_expression "(int)local_924" ( (type_descriptor "int" primitive_type) ) identifier) , (cast_expression "(uint8_t *)((int)&psVar20->st_dev + (int)&psVar41->st_dev)" ( (type_descriptor "uint8_t *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&psVar20->st_dev + (int)&psVar41->st_dev)" ( (binary_expression "(int)&psVar20->st_dev + (int)&psVar41->st_dev" (cast_expression "(int)&psVar20->st_dev" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&psVar20->st_dev" & (field_expression "psVar20->st_dev" identifier -> field_identifier))) + (cast_expression "(int)&psVar41->st_dev" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&psVar41->st_dev" & (field_expression "psVar41->st_dev" identifier -> field_identifier)))) ))) , (binary_expression "(int)local_918 - (int)psVar20" (cast_expression "(int)local_918" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)psVar20" ( (type_descriptor "int" primitive_type) ) identifier)) , (string_literal ""IF c2"" " string_content ") ))))) ;) (expression_statement "psVar29 = psVar41;" (assignment_expression "psVar29 = psVar41" identifier = identifier) ;) (if_statement "if (local_908 != (stat64 *)0x0) goto LAB_000133fd;" if (parenthesized_expression "(local_908 != (stat64 *)0x0)" ( (binary_expression "local_908 != (stat64 *)0x0" identifier != (cast_expression "(stat64 *)0x0" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_000133fd;" goto statement_identifier ;)) (goto_statement "goto LAB_0001418c;" goto statement_identifier ;) })) (labeled_statement "LAB_00014273:\n        pcVar18 = "unable to allocate memory for final scatterlist+data\n";" statement_identifier : (expression_statement "pcVar18 = "unable to allocate memory for final scatterlist+data\n";" (assignment_expression "pcVar18 = "unable to allocate memory for final scatterlist+data\n"" identifier = (string_literal ""unable to allocate memory for final scatterlist+data\n"" " string_content escape_sequence ")) ;)) (goto_statement "goto LAB_00013fbc;" goto statement_identifier ;) })) (if_statement "if (local_8f6 < (ushort)local_820._64_2_) {\n        pr2serr("RD (%u) %s number of %ss (%u) found in IF\n",local_820._64_2_,&DAT_000170dd,\n                "LBA range descriptor",local_8f6,ppsVar42,iVar17,iVar23);\n      }\n      else if (((stat64 *)uVar24 == (stat64 *)0x0 && local_820._40_4_ == 0) ||\n              (pr2serr("RD (%u) %s number of %ss (%u) found in IF\n",local_820._64_2_,&DAT_00017110,\n                       "LBA range descriptor",local_8f6,ppsVar42,iVar17,iVar23),\n              local_820._40_4_ == 0)) {\n        local_908 = (stat64 *)0x0;\n        for (psVar41 = psVar29;\n            (stat64 *)(&psVar29->st_dev + (uint)(ushort)local_820._64_2_ * 4) != psVar41;\n            psVar41 = (stat64 *)&psVar41->st_rdev) {\n          uVar10 = psVar41->__pad2;\n          local_908 = (stat64 *)\n                      ((int)&local_908->st_dev +\n                      (uVar10 >> 0x18 | (uVar10 & 0xff0000) >> 8 | (uVar10 & 0xff00) << 8 |\n                      uVar10 << 0x18));\n        }\n        local_8ec = local_908;\n        goto LAB_00013fe3;\n      }" if (parenthesized_expression "(local_8f6 < (ushort)local_820._64_2_)" ( (binary_expression "local_8f6 < (ushort)local_820._64_2_" identifier < (cast_expression "(ushort)local_820._64_2_" ( (type_descriptor "ushort" type_identifier) ) (field_expression "local_820._64_2_" identifier . field_identifier))) )) (compound_statement "{\n        pr2serr("RD (%u) %s number of %ss (%u) found in IF\n",local_820._64_2_,&DAT_000170dd,\n                "LBA range descriptor",local_8f6,ppsVar42,iVar17,iVar23);\n      }" { (expression_statement "pr2serr("RD (%u) %s number of %ss (%u) found in IF\n",local_820._64_2_,&DAT_000170dd,\n                "LBA range descriptor",local_8f6,ppsVar42,iVar17,iVar23);" (call_expression "pr2serr("RD (%u) %s number of %ss (%u) found in IF\n",local_820._64_2_,&DAT_000170dd,\n                "LBA range descriptor",local_8f6,ppsVar42,iVar17,iVar23)" identifier (argument_list "("RD (%u) %s number of %ss (%u) found in IF\n",local_820._64_2_,&DAT_000170dd,\n                "LBA range descriptor",local_8f6,ppsVar42,iVar17,iVar23)" ( (string_literal ""RD (%u) %s number of %ss (%u) found in IF\n"" " string_content escape_sequence ") , (field_expression "local_820._64_2_" identifier . field_identifier) , (pointer_expression "&DAT_000170dd" & identifier) , (string_literal ""LBA range descriptor"" " string_content ") , identifier , identifier , identifier , identifier ))) ;) }) (else_clause "else if (((stat64 *)uVar24 == (stat64 *)0x0 && local_820._40_4_ == 0) ||\n              (pr2serr("RD (%u) %s number of %ss (%u) found in IF\n",local_820._64_2_,&DAT_00017110,\n                       "LBA range descriptor",local_8f6,ppsVar42,iVar17,iVar23),\n              local_820._40_4_ == 0)) {\n        local_908 = (stat64 *)0x0;\n        for (psVar41 = psVar29;\n            (stat64 *)(&psVar29->st_dev + (uint)(ushort)local_820._64_2_ * 4) != psVar41;\n            psVar41 = (stat64 *)&psVar41->st_rdev) {\n          uVar10 = psVar41->__pad2;\n          local_908 = (stat64 *)\n                      ((int)&local_908->st_dev +\n                      (uVar10 >> 0x18 | (uVar10 & 0xff0000) >> 8 | (uVar10 & 0xff00) << 8 |\n                      uVar10 << 0x18));\n        }\n        local_8ec = local_908;\n        goto LAB_00013fe3;\n      }" else (if_statement "if (((stat64 *)uVar24 == (stat64 *)0x0 && local_820._40_4_ == 0) ||\n              (pr2serr("RD (%u) %s number of %ss (%u) found in IF\n",local_820._64_2_,&DAT_00017110,\n                       "LBA range descriptor",local_8f6,ppsVar42,iVar17,iVar23),\n              local_820._40_4_ == 0)) {\n        local_908 = (stat64 *)0x0;\n        for (psVar41 = psVar29;\n            (stat64 *)(&psVar29->st_dev + (uint)(ushort)local_820._64_2_ * 4) != psVar41;\n            psVar41 = (stat64 *)&psVar41->st_rdev) {\n          uVar10 = psVar41->__pad2;\n          local_908 = (stat64 *)\n                      ((int)&local_908->st_dev +\n                      (uVar10 >> 0x18 | (uVar10 & 0xff0000) >> 8 | (uVar10 & 0xff00) << 8 |\n                      uVar10 << 0x18));\n        }\n        local_8ec = local_908;\n        goto LAB_00013fe3;\n      }" if (parenthesized_expression "(((stat64 *)uVar24 == (stat64 *)0x0 && local_820._40_4_ == 0) ||\n              (pr2serr("RD (%u) %s number of %ss (%u) found in IF\n",local_820._64_2_,&DAT_00017110,\n                       "LBA range descriptor",local_8f6,ppsVar42,iVar17,iVar23),\n              local_820._40_4_ == 0))" ( (binary_expression "((stat64 *)uVar24 == (stat64 *)0x0 && local_820._40_4_ == 0) ||\n              (pr2serr("RD (%u) %s number of %ss (%u) found in IF\n",local_820._64_2_,&DAT_00017110,\n                       "LBA range descriptor",local_8f6,ppsVar42,iVar17,iVar23),\n              local_820._40_4_ == 0)" (parenthesized_expression "((stat64 *)uVar24 == (stat64 *)0x0 && local_820._40_4_ == 0)" ( (binary_expression "(stat64 *)uVar24 == (stat64 *)0x0 && local_820._40_4_ == 0" (binary_expression "(stat64 *)uVar24 == (stat64 *)0x0" (cast_expression "(stat64 *)uVar24" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) == (cast_expression "(stat64 *)0x0" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) && (binary_expression "local_820._40_4_ == 0" (field_expression "local_820._40_4_" identifier . field_identifier) == number_literal)) )) || (parenthesized_expression "(pr2serr("RD (%u) %s number of %ss (%u) found in IF\n",local_820._64_2_,&DAT_00017110,\n                       "LBA range descriptor",local_8f6,ppsVar42,iVar17,iVar23),\n              local_820._40_4_ == 0)" ( (comma_expression "pr2serr("RD (%u) %s number of %ss (%u) found in IF\n",local_820._64_2_,&DAT_00017110,\n                       "LBA range descriptor",local_8f6,ppsVar42,iVar17,iVar23),\n              local_820._40_4_ == 0" (call_expression "pr2serr("RD (%u) %s number of %ss (%u) found in IF\n",local_820._64_2_,&DAT_00017110,\n                       "LBA range descriptor",local_8f6,ppsVar42,iVar17,iVar23)" identifier (argument_list "("RD (%u) %s number of %ss (%u) found in IF\n",local_820._64_2_,&DAT_00017110,\n                       "LBA range descriptor",local_8f6,ppsVar42,iVar17,iVar23)" ( (string_literal ""RD (%u) %s number of %ss (%u) found in IF\n"" " string_content escape_sequence ") , (field_expression "local_820._64_2_" identifier . field_identifier) , (pointer_expression "&DAT_00017110" & identifier) , (string_literal ""LBA range descriptor"" " string_content ") , identifier , identifier , identifier , identifier ))) , (binary_expression "local_820._40_4_ == 0" (field_expression "local_820._40_4_" identifier . field_identifier) == number_literal)) ))) )) (compound_statement "{\n        local_908 = (stat64 *)0x0;\n        for (psVar41 = psVar29;\n            (stat64 *)(&psVar29->st_dev + (uint)(ushort)local_820._64_2_ * 4) != psVar41;\n            psVar41 = (stat64 *)&psVar41->st_rdev) {\n          uVar10 = psVar41->__pad2;\n          local_908 = (stat64 *)\n                      ((int)&local_908->st_dev +\n                      (uVar10 >> 0x18 | (uVar10 & 0xff0000) >> 8 | (uVar10 & 0xff00) << 8 |\n                      uVar10 << 0x18));\n        }\n        local_8ec = local_908;\n        goto LAB_00013fe3;\n      }" { (expression_statement "local_908 = (stat64 *)0x0;" (assignment_expression "local_908 = (stat64 *)0x0" identifier = (cast_expression "(stat64 *)0x0" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (for_statement "for (psVar41 = psVar29;\n            (stat64 *)(&psVar29->st_dev + (uint)(ushort)local_820._64_2_ * 4) != psVar41;\n            psVar41 = (stat64 *)&psVar41->st_rdev) {\n          uVar10 = psVar41->__pad2;\n          local_908 = (stat64 *)\n                      ((int)&local_908->st_dev +\n                      (uVar10 >> 0x18 | (uVar10 & 0xff0000) >> 8 | (uVar10 & 0xff00) << 8 |\n                      uVar10 << 0x18));\n        }" for ( (assignment_expression "psVar41 = psVar29" identifier = identifier) ; (binary_expression "(stat64 *)(&psVar29->st_dev + (uint)(ushort)local_820._64_2_ * 4) != psVar41" (cast_expression "(stat64 *)(&psVar29->st_dev + (uint)(ushort)local_820._64_2_ * 4)" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&psVar29->st_dev + (uint)(ushort)local_820._64_2_ * 4)" ( (binary_expression "&psVar29->st_dev + (uint)(ushort)local_820._64_2_ * 4" (pointer_expression "&psVar29->st_dev" & (field_expression "psVar29->st_dev" identifier -> field_identifier)) + (binary_expression "(uint)(ushort)local_820._64_2_ * 4" (cast_expression "(uint)(ushort)local_820._64_2_" ( (type_descriptor "uint" type_identifier) ) (cast_expression "(ushort)local_820._64_2_" ( (type_descriptor "ushort" type_identifier) ) (field_expression "local_820._64_2_" identifier . field_identifier))) * number_literal)) ))) != identifier) ; (assignment_expression "psVar41 = (stat64 *)&psVar41->st_rdev" identifier = (cast_expression "(stat64 *)&psVar41->st_rdev" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&psVar41->st_rdev" & (field_expression "psVar41->st_rdev" identifier -> field_identifier)))) ) (compound_statement "{\n          uVar10 = psVar41->__pad2;\n          local_908 = (stat64 *)\n                      ((int)&local_908->st_dev +\n                      (uVar10 >> 0x18 | (uVar10 & 0xff0000) >> 8 | (uVar10 & 0xff00) << 8 |\n                      uVar10 << 0x18));\n        }" { (expression_statement "uVar10 = psVar41->__pad2;" (assignment_expression "uVar10 = psVar41->__pad2" identifier = (field_expression "psVar41->__pad2" identifier -> field_identifier)) ;) (expression_statement "local_908 = (stat64 *)\n                      ((int)&local_908->st_dev +\n                      (uVar10 >> 0x18 | (uVar10 & 0xff0000) >> 8 | (uVar10 & 0xff00) << 8 |\n                      uVar10 << 0x18));" (assignment_expression "local_908 = (stat64 *)\n                      ((int)&local_908->st_dev +\n                      (uVar10 >> 0x18 | (uVar10 & 0xff0000) >> 8 | (uVar10 & 0xff00) << 8 |\n                      uVar10 << 0x18))" identifier = (cast_expression "(stat64 *)\n                      ((int)&local_908->st_dev +\n                      (uVar10 >> 0x18 | (uVar10 & 0xff0000) >> 8 | (uVar10 & 0xff00) << 8 |\n                      uVar10 << 0x18))" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&local_908->st_dev +\n                      (uVar10 >> 0x18 | (uVar10 & 0xff0000) >> 8 | (uVar10 & 0xff00) << 8 |\n                      uVar10 << 0x18))" ( (binary_expression "(int)&local_908->st_dev +\n                      (uVar10 >> 0x18 | (uVar10 & 0xff0000) >> 8 | (uVar10 & 0xff00) << 8 |\n                      uVar10 << 0x18)" (cast_expression "(int)&local_908->st_dev" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&local_908->st_dev" & (field_expression "local_908->st_dev" identifier -> field_identifier))) + (parenthesized_expression "(uVar10 >> 0x18 | (uVar10 & 0xff0000) >> 8 | (uVar10 & 0xff00) << 8 |\n                      uVar10 << 0x18)" ( (binary_expression "uVar10 >> 0x18 | (uVar10 & 0xff0000) >> 8 | (uVar10 & 0xff00) << 8 |\n                      uVar10 << 0x18" (binary_expression "uVar10 >> 0x18 | (uVar10 & 0xff0000) >> 8 | (uVar10 & 0xff00) << 8" (binary_expression "uVar10 >> 0x18 | (uVar10 & 0xff0000) >> 8" (binary_expression "uVar10 >> 0x18" identifier >> number_literal) | (binary_expression "(uVar10 & 0xff0000) >> 8" (parenthesized_expression "(uVar10 & 0xff0000)" ( (binary_expression "uVar10 & 0xff0000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(uVar10 & 0xff00) << 8" (parenthesized_expression "(uVar10 & 0xff00)" ( (binary_expression "uVar10 & 0xff00" identifier & number_literal) )) << number_literal)) | (binary_expression "uVar10 << 0x18" identifier << number_literal)) ))) )))) ;) })) (expression_statement "local_8ec = local_908;" (assignment_expression "local_8ec = local_908" identifier = identifier) ;) (goto_statement "goto LAB_00013fe3;" goto statement_identifier ;) })))) })) (labeled_statement "LAB_000133f3:\n    local_908 = (stat64 *)0xf;" statement_identifier : (expression_statement "local_908 = (stat64 *)0xf;" (assignment_expression "local_908 = (stat64 *)0xf" identifier = (cast_expression "(stat64 *)0xf" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;)) (goto_statement "goto LAB_000133fd;" goto statement_identifier ;) })) (if_statement "if (local_91c != (stat64 *)0x0) {\n    local_8f6 = (uint16_t)local_91c;\n  }" if (parenthesized_expression "(local_91c != (stat64 *)0x0)" ( (binary_expression "local_91c != (stat64 *)0x0" identifier != (cast_expression "(stat64 *)0x0" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    local_8f6 = (uint16_t)local_91c;\n  }" { (expression_statement "local_8f6 = (uint16_t)local_91c;" (assignment_expression "local_8f6 = (uint16_t)local_91c" identifier = (cast_expression "(uint16_t)local_91c" ( (type_descriptor "uint16_t" primitive_type) ) identifier)) ;) })) (if_statement "if (local_798 == (char *)0x0) {\n    if ((_Bool)local_820[7] != false) goto LAB_00013dcd;\n    if (local_91c == (stat64 *)0x0) {\n      pr2serr("How did we get here??\n");\n      local_908 = (stat64 *)0x1;\n      goto LAB_000133fd;\n    }\n    if ((local_820._64_2_ != 0) && (local_91c < (undefined1 *)(uint)(ushort)local_820._64_2_)) {\n      pr2serr("%s: number given to --scattered= (%u) exceeds number of --lba= elements (%u)\n",\n              "process_scattered",(undefined1 *)(uint)(ushort)local_820._64_2_,local_91c);\n      local_908 = (stat64 *)0x1f;\n      goto LAB_00012354;\n    }\n    uVar10 = (local_8f6 + 1) * 0x20;\n    local_820._62_2_ = (undefined2)(uVar10 / (uint)local_820._76_4_);\n    if (uVar10 % (uint)local_820._76_4_ != 0) {\n      local_820._62_2_ = local_820._62_2_ + 1;\n    }\n    iVar17 = 0;\n    local_8ec = (stat64 *)0x0;\n    do {\n      local_8ec = (stat64 *)((int)&local_8ec->st_dev + (int)ppsVar42[iVar17]);\n      iVar17 = iVar17 + 1;\n    } while (iVar17 < (int)local_91c);\n    local_918 = (stat64 *)\n                (((int)&local_8ec->st_dev + (uint)(ushort)local_820._62_2_) * local_820._76_4_);\n    psVar29 = (stat64 *)sg_memalign(local_918,0,&local_8e8,0);\n    if (psVar29 == (stat64 *)0x0) goto LAB_00013fb3;\n    iVar17 = 0;\n    psVar41 = psVar29;\n    do {\n      uVar10 = puVar47[iVar17 * 2];\n      uVar28 = puVar47[iVar17 * 2 + 1];\n      *(uint *)&psVar41->st_rdev =\n           uVar28 >> 0x18 | (uVar28 & 0xff0000) >> 8 | (uVar28 & 0xff00) << 8 | uVar28 << 0x18;\n      *(uint *)((int)&psVar41->st_rdev + 4) =\n           uVar10 >> 0x18 | (uVar10 & 0xff0000) >> 8 | (uVar10 & 0xff00) << 8 | uVar10 << 0x18;\n      psVar20 = ppsVar42[iVar17];\n      psVar41->__pad2 =\n           (uint)psVar20 >> 0x18 | ((uint)psVar20 & 0xff0000) >> 8 | ((uint)psVar20 & 0xff00) << 8 |\n           (int)psVar20 << 0x18;\n      if ((_Bool)local_820[1] != false) {\n        if (iVar17 == 0) {\n          *(uint *)&psVar41->st_size =\n               (uint)local_820._96_4_ >> 0x18 | (local_820._96_4_ & 0xff0000) >> 8 |\n               (local_820._96_4_ & 0xff00) << 8 | local_820._96_4_ << 0x18;\n          *(ushort *)((int)&psVar41->st_size + 4) =\n               local_820._58_2_ << 8 | (ushort)local_820._58_2_ >> 8;\n          *(ushort *)((int)&psVar41->st_size + 6) =\n               local_820._68_2_ << 8 | (ushort)local_820._68_2_ >> 8;\n        }\n        else {\n          *(undefined4 *)&psVar41->st_size = 0xffffffff;\n          *(undefined2 *)((int)&psVar41->st_size + 4) = 0xffff;\n          *(undefined2 *)((int)&psVar41->st_size + 6) = 0xffff;\n        }\n      }\n      iVar17 = iVar17 + 1;\n      psVar41 = (stat64 *)&psVar41->st_rdev;\n    } while (iVar17 < (int)local_91c);\n    local_820._84_4_ = local_8ec;\n  }\n  else {\n    if ((_Bool)local_820[7] == false) {\n      uVar10 = (uint)local_8f6;\n      uVar19 = 0;\n      uVar34 = (uVar10 + 1) * 0x20;\n      local_820._62_2_ = (undefined2)(uVar34 / (uint)local_820._76_4_);\n      ppvVar44 = &local_8e8;\n      if (uVar34 % (uint)local_820._76_4_ != 0) {\n        local_820._62_2_ = local_820._62_2_ + 1;\n      }\n      psVar41 = (stat64 *)0x0;\n      psVar29 = (stat64 *)\n                sg_memalign(((int)&local_8f4->st_dev + (uint)(ushort)local_820._62_2_) *\n                            local_820._76_4_,0,ppvVar44,0);\n      if (psVar29 == (stat64 *)0x0) goto LAB_000141a6;\n      local_8f6 = 0;\n      local_8ec = (stat64 *)0x0;\n      if (uVar10 + 1 == 1) {\n        uVar34 = (uint)(ushort)local_820._62_2_ * local_820._76_4_;\n      }\n      local_908 = (stat64 *)\n                  build_t10_scat(local_798,(_Bool)local_820[0],(_Bool)(local_820[9] ^ 1),\n                                 (uint8_t *)psVar29,&local_8f6,(uint32_t *)&local_8ec,uVar34);\n      if (local_908 != (stat64 *)0x0) goto LAB_000133fd;\n      psVar41 = (stat64 *)(local_820._76_4_ * (int)local_8ec);\n      if ((uint)local_820._80_4_ <= psVar41) {\n        if (((uint)local_820._80_4_ <= psVar41 && (int)psVar41 - local_820._80_4_ != 0) &&\n           ((stat64 *)local_820._80_4_ != (stat64 *)0x0)) {\n          psVar41 = (stat64 *)local_820._80_4_;\n        }\nLAB_00014208:\n        if ((psVar49 != (stat64 *)0x0) && (psVar49 != psVar41)) {\n          if ((stat64 *)uVar24 != (stat64 *)0x0) {\n            puVar22 = &DAT_00017110;\n            if (psVar41 <= psVar49) {\n              puVar22 = &DAT_000170dd;\n            }\n            pr2serr("readable length (%u) of IF %s bytes implied by sum of\nscatter list NUMs (%u) and DLEN\n"\n                    ,psVar49,puVar22,psVar41);\n          }\n          if ((local_820._40_4_ != 0) && ((psVar41 <= psVar49 || (1 < (int)local_820._40_4_))))\n          goto LAB_000133f3;\nLAB_0001387e:\n          if (psVar49 < psVar41) {\n            psVar41 = psVar49;\n          }\n        }\n        psVar20 = (stat64 *)((uint)psVar41 / (uint)local_820._76_4_);\n        if (((uint)psVar41 % (uint)local_820._76_4_ != 0) &&\n           (((stat64 *)uVar24 != (stat64 *)0x0 || (1 < (int)local_820._40_4_)))) {\n          psVar26 = psVar41;\n          psVar11 = (stat64 *)local_820._72_4_;\n          pr2serr("Calculated data-out length (0x%x) not a multiple of BS (%u",psVar41,\n                  local_820._72_4_,psVar20);\n          if (local_820._72_4_ != local_820._76_4_) {\n            psVar26 = (stat64 *)(local_820._76_4_ - local_820._72_4_);\n            psVar11 = extraout_ECX_06;\n            psVar20 = extraout_ECX_06;\n            pr2serr(" + %d(PI)",psVar26,extraout_ECX_06,extraout_ECX_06);\n          }\n          if (1 < (int)local_820._40_4_) {\n            pr2serr(")\nexiting ...\n",psVar26,psVar11,psVar20);\n            local_908 = (stat64 *)0xf;\n            goto LAB_000133fd;\n          }\n          pr2serr(")\nzero pad and continue ...\n",psVar26,psVar11,psVar20);\n        }\n      }\n      else {\n        uVar10 = uVar24 | local_820._40_4_;\n        if (uVar10 != 0) {\n          pr2serr("DLEN > than bytes implied by sum of scatter list NUMs (%u)\n",psVar41,uVar10,\n                  uVar10);\n          if (1 < (int)uVar24) {\n            pr2serr("  num_lbard=%u, sum_num=%u actual_bs=%u",local_8f6,local_8ec,local_820._76_4_);\n          }\n          if (local_820._40_4_ != 0) goto LAB_000133f3;\n          goto LAB_00014208;\n        }\n        if ((psVar49 != (stat64 *)0x0) && (psVar49 != psVar41)) goto LAB_0001387e;\n      }\n      local_908 = (stat64 *)\n                  bin_read((int)local_924,\n                           (uint8_t *)\n                           ((int)&psVar29->st_dev +\n                           (uint)(ushort)local_820._62_2_ * local_820._76_4_),(uint32_t)psVar41,\n                           "IF 3");\n      uVar4 = local_820._62_2_;\n    }\n    else {\nLAB_00013dcd:\n      psVar41 = (stat64 *)local_820._76_4_;\n      if (local_820._64_2_ != 0) {\n        psVar41 = (stat64 *)(((ushort)local_820._64_2_ + 1) * 0x20);\n        if (local_908 < psVar41) {\n          pr2serr("SF not long enough (%u bytes) to provide RD (%u) %ss\n",local_908,psVar41,\n                  "LBA range descriptor");\n          local_908 = (stat64 *)0xf;\n          goto LAB_000133fd;\n        }\n        psVar41 = (stat64 *)\n                  ((((uint)psVar41 / (uint)local_820._76_4_ + 1) -\n                   (uint)((uint)psVar41 % (uint)local_820._76_4_ == 0)) * local_820._76_4_);\n      }\n      local_918 = (stat64 *)local_820._76_4_;\n      if (local_93c != (stat64 *)0x0) {\n        local_918 = (stat64 *)\n                    ((((uint)local_93c / (uint)local_820._76_4_ + 1) -\n                     (uint)((uint)local_93c % (uint)local_820._76_4_ == 0)) * local_820._76_4_);\n      }\n      psVar29 = (stat64 *)\n                sg_memalign((int)&psVar41->st_dev + (int)&local_918->st_dev,0,&local_8e8,0);\n      if (psVar29 == (stat64 *)0x0) {\nLAB_00013fb3:\n        pcVar18 = "unable to allocate aligned memory for scatterlist+data\n";\nLAB_00013fbc:\n        pr2serr(pcVar18);\n        local_908 = (stat64 *)sg_convert_errno(0xc);\n        goto LAB_000133fd;\n      }\n      local_908 = (stat64 *)bin_read((int)local_920,(uint8_t *)psVar29,(uint32_t)local_908,"SF");\n      if (local_908 != (stat64 *)0x0) goto LAB_000133fd;\n      _Var9 = check_lbrds((uint8_t *)psVar29,(uint32_t)psVar41,(opts_t *)local_820,&local_8f6,\n                          (uint32_t *)&local_8ec);\n      if (!_Var9) goto LAB_000133f3;\n      if (local_820._64_2_ != local_8f6) {\n        pr2serr("Try again with --scattered=%u\n",local_8f6,extraout_EDX_06,extraout_EDX_06);\n        local_908 = (stat64 *)0xf;\n        goto LAB_000133fd;\n      }\n      psVar20 = (stat64 *)(local_820._76_4_ * (int)local_8ec);\n      if (local_918 < psVar20) {\n        psVar26 = (stat64 *)\n                  sg_memalign((int)&psVar41->st_dev + (int)&psVar20->st_dev,0,&local_8e4,0);\n        if (psVar26 == (stat64 *)0x0) goto LAB_00014273;\n        memcpy(psVar26,psVar29,(size_t)psVar41);\n        free(local_8e8);\n        local_8e8 = local_8e4;\n        psVar29 = psVar26;\n        local_918 = psVar20;\n      }\n      psVar20 = psVar41;\n      if ((local_93c != psVar41) &&\n         (psVar20 = local_93c, (stat64 *)uVar24 != (stat64 *)0x0 || local_820._40_4_ != 0)) {\n        puVar22 = &DAT_000170dd;\n        if (local_93c <= psVar41) {\n          puVar22 = &DAT_00017110;\n        }\n        psVar26 = psVar41;\n        pr2serr("IF length (%u) %s \'sum_num\' bytes (%u), ",local_93c,puVar22,psVar41);\n        if (1 < (int)local_820._40_4_) {\n          pr2serr("exiting (strict=%d)\n",local_820._40_4_,psVar41,psVar41);\n          local_908 = (stat64 *)0xf;\n          goto LAB_000133fd;\n        }\n        pr2serr("continuing ...\n",psVar20,puVar22,psVar26);\n        psVar20 = psVar41;\n        if (local_93c < psVar41) {\n          psVar20 = local_93c;\n        }\n      }\n      local_908 = (stat64 *)\n                  bin_read((int)local_924,\n                           (uint8_t *)((int)&psVar29->st_dev + (int)&local_918->st_dev),\n                           (uint32_t)psVar20,"IF 4");\n      uVar4 = local_8f6;\n    }\n    if (local_908 != (stat64 *)0x0) goto LAB_000133fd;\n    local_7a4 = (stat64 *)((int)local_8ec * local_820._76_4_);\n    local_918 = (stat64 *)(((int)&local_8ec->st_dev + (uint)uVar4) * local_820._76_4_);\n    local_820._84_4_ = local_8ec;\n  }" if (parenthesized_expression "(local_798 == (char *)0x0)" ( (binary_expression "local_798 == (char *)0x0" identifier == (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    if ((_Bool)local_820[7] != false) goto LAB_00013dcd;\n    if (local_91c == (stat64 *)0x0) {\n      pr2serr("How did we get here??\n");\n      local_908 = (stat64 *)0x1;\n      goto LAB_000133fd;\n    }\n    if ((local_820._64_2_ != 0) && (local_91c < (undefined1 *)(uint)(ushort)local_820._64_2_)) {\n      pr2serr("%s: number given to --scattered= (%u) exceeds number of --lba= elements (%u)\n",\n              "process_scattered",(undefined1 *)(uint)(ushort)local_820._64_2_,local_91c);\n      local_908 = (stat64 *)0x1f;\n      goto LAB_00012354;\n    }\n    uVar10 = (local_8f6 + 1) * 0x20;\n    local_820._62_2_ = (undefined2)(uVar10 / (uint)local_820._76_4_);\n    if (uVar10 % (uint)local_820._76_4_ != 0) {\n      local_820._62_2_ = local_820._62_2_ + 1;\n    }\n    iVar17 = 0;\n    local_8ec = (stat64 *)0x0;\n    do {\n      local_8ec = (stat64 *)((int)&local_8ec->st_dev + (int)ppsVar42[iVar17]);\n      iVar17 = iVar17 + 1;\n    } while (iVar17 < (int)local_91c);\n    local_918 = (stat64 *)\n                (((int)&local_8ec->st_dev + (uint)(ushort)local_820._62_2_) * local_820._76_4_);\n    psVar29 = (stat64 *)sg_memalign(local_918,0,&local_8e8,0);\n    if (psVar29 == (stat64 *)0x0) goto LAB_00013fb3;\n    iVar17 = 0;\n    psVar41 = psVar29;\n    do {\n      uVar10 = puVar47[iVar17 * 2];\n      uVar28 = puVar47[iVar17 * 2 + 1];\n      *(uint *)&psVar41->st_rdev =\n           uVar28 >> 0x18 | (uVar28 & 0xff0000) >> 8 | (uVar28 & 0xff00) << 8 | uVar28 << 0x18;\n      *(uint *)((int)&psVar41->st_rdev + 4) =\n           uVar10 >> 0x18 | (uVar10 & 0xff0000) >> 8 | (uVar10 & 0xff00) << 8 | uVar10 << 0x18;\n      psVar20 = ppsVar42[iVar17];\n      psVar41->__pad2 =\n           (uint)psVar20 >> 0x18 | ((uint)psVar20 & 0xff0000) >> 8 | ((uint)psVar20 & 0xff00) << 8 |\n           (int)psVar20 << 0x18;\n      if ((_Bool)local_820[1] != false) {\n        if (iVar17 == 0) {\n          *(uint *)&psVar41->st_size =\n               (uint)local_820._96_4_ >> 0x18 | (local_820._96_4_ & 0xff0000) >> 8 |\n               (local_820._96_4_ & 0xff00) << 8 | local_820._96_4_ << 0x18;\n          *(ushort *)((int)&psVar41->st_size + 4) =\n               local_820._58_2_ << 8 | (ushort)local_820._58_2_ >> 8;\n          *(ushort *)((int)&psVar41->st_size + 6) =\n               local_820._68_2_ << 8 | (ushort)local_820._68_2_ >> 8;\n        }\n        else {\n          *(undefined4 *)&psVar41->st_size = 0xffffffff;\n          *(undefined2 *)((int)&psVar41->st_size + 4) = 0xffff;\n          *(undefined2 *)((int)&psVar41->st_size + 6) = 0xffff;\n        }\n      }\n      iVar17 = iVar17 + 1;\n      psVar41 = (stat64 *)&psVar41->st_rdev;\n    } while (iVar17 < (int)local_91c);\n    local_820._84_4_ = local_8ec;\n  }" { (if_statement "if ((_Bool)local_820[7] != false) goto LAB_00013dcd;" if (parenthesized_expression "((_Bool)local_820[7] != false)" ( (binary_expression "(_Bool)local_820[7] != false" (cast_expression "(_Bool)local_820[7]" ( (type_descriptor "_Bool" type_identifier) ) (subscript_expression "local_820[7]" identifier [ number_literal ])) != false) )) (goto_statement "goto LAB_00013dcd;" goto statement_identifier ;)) (if_statement "if (local_91c == (stat64 *)0x0) {\n      pr2serr("How did we get here??\n");\n      local_908 = (stat64 *)0x1;\n      goto LAB_000133fd;\n    }" if (parenthesized_expression "(local_91c == (stat64 *)0x0)" ( (binary_expression "local_91c == (stat64 *)0x0" identifier == (cast_expression "(stat64 *)0x0" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      pr2serr("How did we get here??\n");\n      local_908 = (stat64 *)0x1;\n      goto LAB_000133fd;\n    }" { (expression_statement "pr2serr("How did we get here??\n");" (call_expression "pr2serr("How did we get here??\n")" identifier (argument_list "("How did we get here??\n")" ( (string_literal ""How did we get here??\n"" " string_content escape_sequence ") ))) ;) (expression_statement "local_908 = (stat64 *)0x1;" (assignment_expression "local_908 = (stat64 *)0x1" identifier = (cast_expression "(stat64 *)0x1" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (goto_statement "goto LAB_000133fd;" goto statement_identifier ;) })) (if_statement "if ((local_820._64_2_ != 0) && (local_91c < (undefined1 *)(uint)(ushort)local_820._64_2_)) {\n      pr2serr("%s: number given to --scattered= (%u) exceeds number of --lba= elements (%u)\n",\n              "process_scattered",(undefined1 *)(uint)(ushort)local_820._64_2_,local_91c);\n      local_908 = (stat64 *)0x1f;\n      goto LAB_00012354;\n    }" if (parenthesized_expression "((local_820._64_2_ != 0) && (local_91c < (undefined1 *)(uint)(ushort)local_820._64_2_))" ( (binary_expression "(local_820._64_2_ != 0) && (local_91c < (undefined1 *)(uint)(ushort)local_820._64_2_)" (parenthesized_expression "(local_820._64_2_ != 0)" ( (binary_expression "local_820._64_2_ != 0" (field_expression "local_820._64_2_" identifier . field_identifier) != number_literal) )) && (parenthesized_expression "(local_91c < (undefined1 *)(uint)(ushort)local_820._64_2_)" ( (binary_expression "local_91c < (undefined1 *)(uint)(ushort)local_820._64_2_" identifier < (cast_expression "(undefined1 *)(uint)(ushort)local_820._64_2_" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (cast_expression "(uint)(ushort)local_820._64_2_" ( (type_descriptor "uint" type_identifier) ) (cast_expression "(ushort)local_820._64_2_" ( (type_descriptor "ushort" type_identifier) ) (field_expression "local_820._64_2_" identifier . field_identifier))))) ))) )) (compound_statement "{\n      pr2serr("%s: number given to --scattered= (%u) exceeds number of --lba= elements (%u)\n",\n              "process_scattered",(undefined1 *)(uint)(ushort)local_820._64_2_,local_91c);\n      local_908 = (stat64 *)0x1f;\n      goto LAB_00012354;\n    }" { (expression_statement "pr2serr("%s: number given to --scattered= (%u) exceeds number of --lba= elements (%u)\n",\n              "process_scattered",(undefined1 *)(uint)(ushort)local_820._64_2_,local_91c);" (call_expression "pr2serr("%s: number given to --scattered= (%u) exceeds number of --lba= elements (%u)\n",\n              "process_scattered",(undefined1 *)(uint)(ushort)local_820._64_2_,local_91c)" identifier (argument_list "("%s: number given to --scattered= (%u) exceeds number of --lba= elements (%u)\n",\n              "process_scattered",(undefined1 *)(uint)(ushort)local_820._64_2_,local_91c)" ( (string_literal ""%s: number given to --scattered= (%u) exceeds number of --lba= elements (%u)\n"" " string_content escape_sequence ") , (string_literal ""process_scattered"" " string_content ") , (cast_expression "(undefined1 *)(uint)(ushort)local_820._64_2_" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (cast_expression "(uint)(ushort)local_820._64_2_" ( (type_descriptor "uint" type_identifier) ) (cast_expression "(ushort)local_820._64_2_" ( (type_descriptor "ushort" type_identifier) ) (field_expression "local_820._64_2_" identifier . field_identifier)))) , identifier ))) ;) (expression_statement "local_908 = (stat64 *)0x1f;" (assignment_expression "local_908 = (stat64 *)0x1f" identifier = (cast_expression "(stat64 *)0x1f" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (goto_statement "goto LAB_00012354;" goto statement_identifier ;) })) (expression_statement "uVar10 = (local_8f6 + 1) * 0x20;" (assignment_expression "uVar10 = (local_8f6 + 1) * 0x20" identifier = (binary_expression "(local_8f6 + 1) * 0x20" (parenthesized_expression "(local_8f6 + 1)" ( (binary_expression "local_8f6 + 1" identifier + number_literal) )) * number_literal)) ;) (expression_statement "local_820._62_2_ = (undefined2)(uVar10 / (uint)local_820._76_4_);" (assignment_expression "local_820._62_2_ = (undefined2)(uVar10 / (uint)local_820._76_4_)" (field_expression "local_820._62_2_" identifier . field_identifier) = (call_expression "(undefined2)(uVar10 / (uint)local_820._76_4_)" (parenthesized_expression "(undefined2)" ( identifier )) (argument_list "(uVar10 / (uint)local_820._76_4_)" ( (binary_expression "uVar10 / (uint)local_820._76_4_" identifier / (cast_expression "(uint)local_820._76_4_" ( (type_descriptor "uint" type_identifier) ) (field_expression "local_820._76_4_" identifier . field_identifier))) )))) ;) (if_statement "if (uVar10 % (uint)local_820._76_4_ != 0) {\n      local_820._62_2_ = local_820._62_2_ + 1;\n    }" if (parenthesized_expression "(uVar10 % (uint)local_820._76_4_ != 0)" ( (binary_expression "uVar10 % (uint)local_820._76_4_ != 0" (binary_expression "uVar10 % (uint)local_820._76_4_" identifier % (cast_expression "(uint)local_820._76_4_" ( (type_descriptor "uint" type_identifier) ) (field_expression "local_820._76_4_" identifier . field_identifier))) != number_literal) )) (compound_statement "{\n      local_820._62_2_ = local_820._62_2_ + 1;\n    }" { (expression_statement "local_820._62_2_ = local_820._62_2_ + 1;" (assignment_expression "local_820._62_2_ = local_820._62_2_ + 1" (field_expression "local_820._62_2_" identifier . field_identifier) = (binary_expression "local_820._62_2_ + 1" (field_expression "local_820._62_2_" identifier . field_identifier) + number_literal)) ;) })) (expression_statement "iVar17 = 0;" (assignment_expression "iVar17 = 0" identifier = number_literal) ;) (expression_statement "local_8ec = (stat64 *)0x0;" (assignment_expression "local_8ec = (stat64 *)0x0" identifier = (cast_expression "(stat64 *)0x0" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (do_statement "do {\n      local_8ec = (stat64 *)((int)&local_8ec->st_dev + (int)ppsVar42[iVar17]);\n      iVar17 = iVar17 + 1;\n    } while (iVar17 < (int)local_91c);" do (compound_statement "{\n      local_8ec = (stat64 *)((int)&local_8ec->st_dev + (int)ppsVar42[iVar17]);\n      iVar17 = iVar17 + 1;\n    }" { (expression_statement "local_8ec = (stat64 *)((int)&local_8ec->st_dev + (int)ppsVar42[iVar17]);" (assignment_expression "local_8ec = (stat64 *)((int)&local_8ec->st_dev + (int)ppsVar42[iVar17])" identifier = (cast_expression "(stat64 *)((int)&local_8ec->st_dev + (int)ppsVar42[iVar17])" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&local_8ec->st_dev + (int)ppsVar42[iVar17])" ( (binary_expression "(int)&local_8ec->st_dev + (int)ppsVar42[iVar17]" (cast_expression "(int)&local_8ec->st_dev" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&local_8ec->st_dev" & (field_expression "local_8ec->st_dev" identifier -> field_identifier))) + (cast_expression "(int)ppsVar42[iVar17]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "ppsVar42[iVar17]" identifier [ identifier ]))) )))) ;) (expression_statement "iVar17 = iVar17 + 1;" (assignment_expression "iVar17 = iVar17 + 1" identifier = (binary_expression "iVar17 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(iVar17 < (int)local_91c)" ( (binary_expression "iVar17 < (int)local_91c" identifier < (cast_expression "(int)local_91c" ( (type_descriptor "int" primitive_type) ) identifier)) )) ;) (expression_statement "local_918 = (stat64 *)\n                (((int)&local_8ec->st_dev + (uint)(ushort)local_820._62_2_) * local_820._76_4_);" (assignment_expression "local_918 = (stat64 *)\n                (((int)&local_8ec->st_dev + (uint)(ushort)local_820._62_2_) * local_820._76_4_)" identifier = (cast_expression "(stat64 *)\n                (((int)&local_8ec->st_dev + (uint)(ushort)local_820._62_2_) * local_820._76_4_)" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(((int)&local_8ec->st_dev + (uint)(ushort)local_820._62_2_) * local_820._76_4_)" ( (binary_expression "((int)&local_8ec->st_dev + (uint)(ushort)local_820._62_2_) * local_820._76_4_" (parenthesized_expression "((int)&local_8ec->st_dev + (uint)(ushort)local_820._62_2_)" ( (binary_expression "(int)&local_8ec->st_dev + (uint)(ushort)local_820._62_2_" (cast_expression "(int)&local_8ec->st_dev" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&local_8ec->st_dev" & (field_expression "local_8ec->st_dev" identifier -> field_identifier))) + (cast_expression "(uint)(ushort)local_820._62_2_" ( (type_descriptor "uint" type_identifier) ) (cast_expression "(ushort)local_820._62_2_" ( (type_descriptor "ushort" type_identifier) ) (field_expression "local_820._62_2_" identifier . field_identifier)))) )) * (field_expression "local_820._76_4_" identifier . field_identifier)) )))) ;) (expression_statement "psVar29 = (stat64 *)sg_memalign(local_918,0,&local_8e8,0);" (assignment_expression "psVar29 = (stat64 *)sg_memalign(local_918,0,&local_8e8,0)" identifier = (cast_expression "(stat64 *)sg_memalign(local_918,0,&local_8e8,0)" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "sg_memalign(local_918,0,&local_8e8,0)" identifier (argument_list "(local_918,0,&local_8e8,0)" ( identifier , number_literal , (pointer_expression "&local_8e8" & identifier) , number_literal ))))) ;) (if_statement "if (psVar29 == (stat64 *)0x0) goto LAB_00013fb3;" if (parenthesized_expression "(psVar29 == (stat64 *)0x0)" ( (binary_expression "psVar29 == (stat64 *)0x0" identifier == (cast_expression "(stat64 *)0x0" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_00013fb3;" goto statement_identifier ;)) (expression_statement "iVar17 = 0;" (assignment_expression "iVar17 = 0" identifier = number_literal) ;) (expression_statement "psVar41 = psVar29;" (assignment_expression "psVar41 = psVar29" identifier = identifier) ;) (do_statement "do {\n      uVar10 = puVar47[iVar17 * 2];\n      uVar28 = puVar47[iVar17 * 2 + 1];\n      *(uint *)&psVar41->st_rdev =\n           uVar28 >> 0x18 | (uVar28 & 0xff0000) >> 8 | (uVar28 & 0xff00) << 8 | uVar28 << 0x18;\n      *(uint *)((int)&psVar41->st_rdev + 4) =\n           uVar10 >> 0x18 | (uVar10 & 0xff0000) >> 8 | (uVar10 & 0xff00) << 8 | uVar10 << 0x18;\n      psVar20 = ppsVar42[iVar17];\n      psVar41->__pad2 =\n           (uint)psVar20 >> 0x18 | ((uint)psVar20 & 0xff0000) >> 8 | ((uint)psVar20 & 0xff00) << 8 |\n           (int)psVar20 << 0x18;\n      if ((_Bool)local_820[1] != false) {\n        if (iVar17 == 0) {\n          *(uint *)&psVar41->st_size =\n               (uint)local_820._96_4_ >> 0x18 | (local_820._96_4_ & 0xff0000) >> 8 |\n               (local_820._96_4_ & 0xff00) << 8 | local_820._96_4_ << 0x18;\n          *(ushort *)((int)&psVar41->st_size + 4) =\n               local_820._58_2_ << 8 | (ushort)local_820._58_2_ >> 8;\n          *(ushort *)((int)&psVar41->st_size + 6) =\n               local_820._68_2_ << 8 | (ushort)local_820._68_2_ >> 8;\n        }\n        else {\n          *(undefined4 *)&psVar41->st_size = 0xffffffff;\n          *(undefined2 *)((int)&psVar41->st_size + 4) = 0xffff;\n          *(undefined2 *)((int)&psVar41->st_size + 6) = 0xffff;\n        }\n      }\n      iVar17 = iVar17 + 1;\n      psVar41 = (stat64 *)&psVar41->st_rdev;\n    } while (iVar17 < (int)local_91c);" do (compound_statement "{\n      uVar10 = puVar47[iVar17 * 2];\n      uVar28 = puVar47[iVar17 * 2 + 1];\n      *(uint *)&psVar41->st_rdev =\n           uVar28 >> 0x18 | (uVar28 & 0xff0000) >> 8 | (uVar28 & 0xff00) << 8 | uVar28 << 0x18;\n      *(uint *)((int)&psVar41->st_rdev + 4) =\n           uVar10 >> 0x18 | (uVar10 & 0xff0000) >> 8 | (uVar10 & 0xff00) << 8 | uVar10 << 0x18;\n      psVar20 = ppsVar42[iVar17];\n      psVar41->__pad2 =\n           (uint)psVar20 >> 0x18 | ((uint)psVar20 & 0xff0000) >> 8 | ((uint)psVar20 & 0xff00) << 8 |\n           (int)psVar20 << 0x18;\n      if ((_Bool)local_820[1] != false) {\n        if (iVar17 == 0) {\n          *(uint *)&psVar41->st_size =\n               (uint)local_820._96_4_ >> 0x18 | (local_820._96_4_ & 0xff0000) >> 8 |\n               (local_820._96_4_ & 0xff00) << 8 | local_820._96_4_ << 0x18;\n          *(ushort *)((int)&psVar41->st_size + 4) =\n               local_820._58_2_ << 8 | (ushort)local_820._58_2_ >> 8;\n          *(ushort *)((int)&psVar41->st_size + 6) =\n               local_820._68_2_ << 8 | (ushort)local_820._68_2_ >> 8;\n        }\n        else {\n          *(undefined4 *)&psVar41->st_size = 0xffffffff;\n          *(undefined2 *)((int)&psVar41->st_size + 4) = 0xffff;\n          *(undefined2 *)((int)&psVar41->st_size + 6) = 0xffff;\n        }\n      }\n      iVar17 = iVar17 + 1;\n      psVar41 = (stat64 *)&psVar41->st_rdev;\n    }" { (expression_statement "uVar10 = puVar47[iVar17 * 2];" (assignment_expression "uVar10 = puVar47[iVar17 * 2]" identifier = (subscript_expression "puVar47[iVar17 * 2]" identifier [ (binary_expression "iVar17 * 2" identifier * number_literal) ])) ;) (expression_statement "uVar28 = puVar47[iVar17 * 2 + 1];" (assignment_expression "uVar28 = puVar47[iVar17 * 2 + 1]" identifier = (subscript_expression "puVar47[iVar17 * 2 + 1]" identifier [ (binary_expression "iVar17 * 2 + 1" (binary_expression "iVar17 * 2" identifier * number_literal) + number_literal) ])) ;) (expression_statement "*(uint *)&psVar41->st_rdev =\n           uVar28 >> 0x18 | (uVar28 & 0xff0000) >> 8 | (uVar28 & 0xff00) << 8 | uVar28 << 0x18;" (assignment_expression "*(uint *)&psVar41->st_rdev =\n           uVar28 >> 0x18 | (uVar28 & 0xff0000) >> 8 | (uVar28 & 0xff00) << 8 | uVar28 << 0x18" (pointer_expression "*(uint *)&psVar41->st_rdev" * (cast_expression "(uint *)&psVar41->st_rdev" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&psVar41->st_rdev" & (field_expression "psVar41->st_rdev" identifier -> field_identifier)))) = (binary_expression "uVar28 >> 0x18 | (uVar28 & 0xff0000) >> 8 | (uVar28 & 0xff00) << 8 | uVar28 << 0x18" (binary_expression "uVar28 >> 0x18 | (uVar28 & 0xff0000) >> 8 | (uVar28 & 0xff00) << 8" (binary_expression "uVar28 >> 0x18 | (uVar28 & 0xff0000) >> 8" (binary_expression "uVar28 >> 0x18" identifier >> number_literal) | (binary_expression "(uVar28 & 0xff0000) >> 8" (parenthesized_expression "(uVar28 & 0xff0000)" ( (binary_expression "uVar28 & 0xff0000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(uVar28 & 0xff00) << 8" (parenthesized_expression "(uVar28 & 0xff00)" ( (binary_expression "uVar28 & 0xff00" identifier & number_literal) )) << number_literal)) | (binary_expression "uVar28 << 0x18" identifier << number_literal))) ;) (expression_statement "*(uint *)((int)&psVar41->st_rdev + 4) =\n           uVar10 >> 0x18 | (uVar10 & 0xff0000) >> 8 | (uVar10 & 0xff00) << 8 | uVar10 << 0x18;" (assignment_expression "*(uint *)((int)&psVar41->st_rdev + 4) =\n           uVar10 >> 0x18 | (uVar10 & 0xff0000) >> 8 | (uVar10 & 0xff00) << 8 | uVar10 << 0x18" (pointer_expression "*(uint *)((int)&psVar41->st_rdev + 4)" * (cast_expression "(uint *)((int)&psVar41->st_rdev + 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&psVar41->st_rdev + 4)" ( (binary_expression "(int)&psVar41->st_rdev + 4" (cast_expression "(int)&psVar41->st_rdev" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&psVar41->st_rdev" & (field_expression "psVar41->st_rdev" identifier -> field_identifier))) + number_literal) )))) = (binary_expression "uVar10 >> 0x18 | (uVar10 & 0xff0000) >> 8 | (uVar10 & 0xff00) << 8 | uVar10 << 0x18" (binary_expression "uVar10 >> 0x18 | (uVar10 & 0xff0000) >> 8 | (uVar10 & 0xff00) << 8" (binary_expression "uVar10 >> 0x18 | (uVar10 & 0xff0000) >> 8" (binary_expression "uVar10 >> 0x18" identifier >> number_literal) | (binary_expression "(uVar10 & 0xff0000) >> 8" (parenthesized_expression "(uVar10 & 0xff0000)" ( (binary_expression "uVar10 & 0xff0000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(uVar10 & 0xff00) << 8" (parenthesized_expression "(uVar10 & 0xff00)" ( (binary_expression "uVar10 & 0xff00" identifier & number_literal) )) << number_literal)) | (binary_expression "uVar10 << 0x18" identifier << number_literal))) ;) (expression_statement "psVar20 = ppsVar42[iVar17];" (assignment_expression "psVar20 = ppsVar42[iVar17]" identifier = (subscript_expression "ppsVar42[iVar17]" identifier [ identifier ])) ;) (expression_statement "psVar41->__pad2 =\n           (uint)psVar20 >> 0x18 | ((uint)psVar20 & 0xff0000) >> 8 | ((uint)psVar20 & 0xff00) << 8 |\n           (int)psVar20 << 0x18;" (assignment_expression "psVar41->__pad2 =\n           (uint)psVar20 >> 0x18 | ((uint)psVar20 & 0xff0000) >> 8 | ((uint)psVar20 & 0xff00) << 8 |\n           (int)psVar20 << 0x18" (field_expression "psVar41->__pad2" identifier -> field_identifier) = (binary_expression "(uint)psVar20 >> 0x18 | ((uint)psVar20 & 0xff0000) >> 8 | ((uint)psVar20 & 0xff00) << 8 |\n           (int)psVar20 << 0x18" (binary_expression "(uint)psVar20 >> 0x18 | ((uint)psVar20 & 0xff0000) >> 8 | ((uint)psVar20 & 0xff00) << 8" (binary_expression "(uint)psVar20 >> 0x18 | ((uint)psVar20 & 0xff0000) >> 8" (binary_expression "(uint)psVar20 >> 0x18" (cast_expression "(uint)psVar20" ( (type_descriptor "uint" type_identifier) ) identifier) >> number_literal) | (binary_expression "((uint)psVar20 & 0xff0000) >> 8" (parenthesized_expression "((uint)psVar20 & 0xff0000)" ( (binary_expression "(uint)psVar20 & 0xff0000" (cast_expression "(uint)psVar20" ( (type_descriptor "uint" type_identifier) ) identifier) & number_literal) )) >> number_literal)) | (binary_expression "((uint)psVar20 & 0xff00) << 8" (parenthesized_expression "((uint)psVar20 & 0xff00)" ( (binary_expression "(uint)psVar20 & 0xff00" (cast_expression "(uint)psVar20" ( (type_descriptor "uint" type_identifier) ) identifier) & number_literal) )) << number_literal)) | (binary_expression "(int)psVar20 << 0x18" (cast_expression "(int)psVar20" ( (type_descriptor "int" primitive_type) ) identifier) << number_literal))) ;) (if_statement "if ((_Bool)local_820[1] != false) {\n        if (iVar17 == 0) {\n          *(uint *)&psVar41->st_size =\n               (uint)local_820._96_4_ >> 0x18 | (local_820._96_4_ & 0xff0000) >> 8 |\n               (local_820._96_4_ & 0xff00) << 8 | local_820._96_4_ << 0x18;\n          *(ushort *)((int)&psVar41->st_size + 4) =\n               local_820._58_2_ << 8 | (ushort)local_820._58_2_ >> 8;\n          *(ushort *)((int)&psVar41->st_size + 6) =\n               local_820._68_2_ << 8 | (ushort)local_820._68_2_ >> 8;\n        }\n        else {\n          *(undefined4 *)&psVar41->st_size = 0xffffffff;\n          *(undefined2 *)((int)&psVar41->st_size + 4) = 0xffff;\n          *(undefined2 *)((int)&psVar41->st_size + 6) = 0xffff;\n        }\n      }" if (parenthesized_expression "((_Bool)local_820[1] != false)" ( (binary_expression "(_Bool)local_820[1] != false" (cast_expression "(_Bool)local_820[1]" ( (type_descriptor "_Bool" type_identifier) ) (subscript_expression "local_820[1]" identifier [ number_literal ])) != false) )) (compound_statement "{\n        if (iVar17 == 0) {\n          *(uint *)&psVar41->st_size =\n               (uint)local_820._96_4_ >> 0x18 | (local_820._96_4_ & 0xff0000) >> 8 |\n               (local_820._96_4_ & 0xff00) << 8 | local_820._96_4_ << 0x18;\n          *(ushort *)((int)&psVar41->st_size + 4) =\n               local_820._58_2_ << 8 | (ushort)local_820._58_2_ >> 8;\n          *(ushort *)((int)&psVar41->st_size + 6) =\n               local_820._68_2_ << 8 | (ushort)local_820._68_2_ >> 8;\n        }\n        else {\n          *(undefined4 *)&psVar41->st_size = 0xffffffff;\n          *(undefined2 *)((int)&psVar41->st_size + 4) = 0xffff;\n          *(undefined2 *)((int)&psVar41->st_size + 6) = 0xffff;\n        }\n      }" { (if_statement "if (iVar17 == 0) {\n          *(uint *)&psVar41->st_size =\n               (uint)local_820._96_4_ >> 0x18 | (local_820._96_4_ & 0xff0000) >> 8 |\n               (local_820._96_4_ & 0xff00) << 8 | local_820._96_4_ << 0x18;\n          *(ushort *)((int)&psVar41->st_size + 4) =\n               local_820._58_2_ << 8 | (ushort)local_820._58_2_ >> 8;\n          *(ushort *)((int)&psVar41->st_size + 6) =\n               local_820._68_2_ << 8 | (ushort)local_820._68_2_ >> 8;\n        }\n        else {\n          *(undefined4 *)&psVar41->st_size = 0xffffffff;\n          *(undefined2 *)((int)&psVar41->st_size + 4) = 0xffff;\n          *(undefined2 *)((int)&psVar41->st_size + 6) = 0xffff;\n        }" if (parenthesized_expression "(iVar17 == 0)" ( (binary_expression "iVar17 == 0" identifier == number_literal) )) (compound_statement "{\n          *(uint *)&psVar41->st_size =\n               (uint)local_820._96_4_ >> 0x18 | (local_820._96_4_ & 0xff0000) >> 8 |\n               (local_820._96_4_ & 0xff00) << 8 | local_820._96_4_ << 0x18;\n          *(ushort *)((int)&psVar41->st_size + 4) =\n               local_820._58_2_ << 8 | (ushort)local_820._58_2_ >> 8;\n          *(ushort *)((int)&psVar41->st_size + 6) =\n               local_820._68_2_ << 8 | (ushort)local_820._68_2_ >> 8;\n        }" { (expression_statement "*(uint *)&psVar41->st_size =\n               (uint)local_820._96_4_ >> 0x18 | (local_820._96_4_ & 0xff0000) >> 8 |\n               (local_820._96_4_ & 0xff00) << 8 | local_820._96_4_ << 0x18;" (assignment_expression "*(uint *)&psVar41->st_size =\n               (uint)local_820._96_4_ >> 0x18 | (local_820._96_4_ & 0xff0000) >> 8 |\n               (local_820._96_4_ & 0xff00) << 8 | local_820._96_4_ << 0x18" (pointer_expression "*(uint *)&psVar41->st_size" * (cast_expression "(uint *)&psVar41->st_size" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&psVar41->st_size" & (field_expression "psVar41->st_size" identifier -> field_identifier)))) = (binary_expression "(uint)local_820._96_4_ >> 0x18 | (local_820._96_4_ & 0xff0000) >> 8 |\n               (local_820._96_4_ & 0xff00) << 8 | local_820._96_4_ << 0x18" (binary_expression "(uint)local_820._96_4_ >> 0x18 | (local_820._96_4_ & 0xff0000) >> 8 |\n               (local_820._96_4_ & 0xff00) << 8" (binary_expression "(uint)local_820._96_4_ >> 0x18 | (local_820._96_4_ & 0xff0000) >> 8" (binary_expression "(uint)local_820._96_4_ >> 0x18" (cast_expression "(uint)local_820._96_4_" ( (type_descriptor "uint" type_identifier) ) (field_expression "local_820._96_4_" identifier . field_identifier)) >> number_literal) | (binary_expression "(local_820._96_4_ & 0xff0000) >> 8" (parenthesized_expression "(local_820._96_4_ & 0xff0000)" ( (binary_expression "local_820._96_4_ & 0xff0000" (field_expression "local_820._96_4_" identifier . field_identifier) & number_literal) )) >> number_literal)) | (binary_expression "(local_820._96_4_ & 0xff00) << 8" (parenthesized_expression "(local_820._96_4_ & 0xff00)" ( (binary_expression "local_820._96_4_ & 0xff00" (field_expression "local_820._96_4_" identifier . field_identifier) & number_literal) )) << number_literal)) | (binary_expression "local_820._96_4_ << 0x18" (field_expression "local_820._96_4_" identifier . field_identifier) << number_literal))) ;) (expression_statement "*(ushort *)((int)&psVar41->st_size + 4) =\n               local_820._58_2_ << 8 | (ushort)local_820._58_2_ >> 8;" (assignment_expression "*(ushort *)((int)&psVar41->st_size + 4) =\n               local_820._58_2_ << 8 | (ushort)local_820._58_2_ >> 8" (pointer_expression "*(ushort *)((int)&psVar41->st_size + 4)" * (cast_expression "(ushort *)((int)&psVar41->st_size + 4)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&psVar41->st_size + 4)" ( (binary_expression "(int)&psVar41->st_size + 4" (cast_expression "(int)&psVar41->st_size" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&psVar41->st_size" & (field_expression "psVar41->st_size" identifier -> field_identifier))) + number_literal) )))) = (binary_expression "local_820._58_2_ << 8 | (ushort)local_820._58_2_ >> 8" (binary_expression "local_820._58_2_ << 8" (field_expression "local_820._58_2_" identifier . field_identifier) << number_literal) | (binary_expression "(ushort)local_820._58_2_ >> 8" (cast_expression "(ushort)local_820._58_2_" ( (type_descriptor "ushort" type_identifier) ) (field_expression "local_820._58_2_" identifier . field_identifier)) >> number_literal))) ;) (expression_statement "*(ushort *)((int)&psVar41->st_size + 6) =\n               local_820._68_2_ << 8 | (ushort)local_820._68_2_ >> 8;" (assignment_expression "*(ushort *)((int)&psVar41->st_size + 6) =\n               local_820._68_2_ << 8 | (ushort)local_820._68_2_ >> 8" (pointer_expression "*(ushort *)((int)&psVar41->st_size + 6)" * (cast_expression "(ushort *)((int)&psVar41->st_size + 6)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&psVar41->st_size + 6)" ( (binary_expression "(int)&psVar41->st_size + 6" (cast_expression "(int)&psVar41->st_size" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&psVar41->st_size" & (field_expression "psVar41->st_size" identifier -> field_identifier))) + number_literal) )))) = (binary_expression "local_820._68_2_ << 8 | (ushort)local_820._68_2_ >> 8" (binary_expression "local_820._68_2_ << 8" (field_expression "local_820._68_2_" identifier . field_identifier) << number_literal) | (binary_expression "(ushort)local_820._68_2_ >> 8" (cast_expression "(ushort)local_820._68_2_" ( (type_descriptor "ushort" type_identifier) ) (field_expression "local_820._68_2_" identifier . field_identifier)) >> number_literal))) ;) }) (else_clause "else {\n          *(undefined4 *)&psVar41->st_size = 0xffffffff;\n          *(undefined2 *)((int)&psVar41->st_size + 4) = 0xffff;\n          *(undefined2 *)((int)&psVar41->st_size + 6) = 0xffff;\n        }" else (compound_statement "{\n          *(undefined4 *)&psVar41->st_size = 0xffffffff;\n          *(undefined2 *)((int)&psVar41->st_size + 4) = 0xffff;\n          *(undefined2 *)((int)&psVar41->st_size + 6) = 0xffff;\n        }" { (expression_statement "*(undefined4 *)&psVar41->st_size = 0xffffffff;" (assignment_expression "*(undefined4 *)&psVar41->st_size = 0xffffffff" (pointer_expression "*(undefined4 *)&psVar41->st_size" * (cast_expression "(undefined4 *)&psVar41->st_size" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&psVar41->st_size" & (field_expression "psVar41->st_size" identifier -> field_identifier)))) = number_literal) ;) (expression_statement "*(undefined2 *)((int)&psVar41->st_size + 4) = 0xffff;" (assignment_expression "*(undefined2 *)((int)&psVar41->st_size + 4) = 0xffff" (pointer_expression "*(undefined2 *)((int)&psVar41->st_size + 4)" * (cast_expression "(undefined2 *)((int)&psVar41->st_size + 4)" ( (type_descriptor "undefined2 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&psVar41->st_size + 4)" ( (binary_expression "(int)&psVar41->st_size + 4" (cast_expression "(int)&psVar41->st_size" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&psVar41->st_size" & (field_expression "psVar41->st_size" identifier -> field_identifier))) + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined2 *)((int)&psVar41->st_size + 6) = 0xffff;" (assignment_expression "*(undefined2 *)((int)&psVar41->st_size + 6) = 0xffff" (pointer_expression "*(undefined2 *)((int)&psVar41->st_size + 6)" * (cast_expression "(undefined2 *)((int)&psVar41->st_size + 6)" ( (type_descriptor "undefined2 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&psVar41->st_size + 6)" ( (binary_expression "(int)&psVar41->st_size + 6" (cast_expression "(int)&psVar41->st_size" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&psVar41->st_size" & (field_expression "psVar41->st_size" identifier -> field_identifier))) + number_literal) )))) = number_literal) ;) }))) })) (expression_statement "iVar17 = iVar17 + 1;" (assignment_expression "iVar17 = iVar17 + 1" identifier = (binary_expression "iVar17 + 1" identifier + number_literal)) ;) (expression_statement "psVar41 = (stat64 *)&psVar41->st_rdev;" (assignment_expression "psVar41 = (stat64 *)&psVar41->st_rdev" identifier = (cast_expression "(stat64 *)&psVar41->st_rdev" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&psVar41->st_rdev" & (field_expression "psVar41->st_rdev" identifier -> field_identifier)))) ;) }) while (parenthesized_expression "(iVar17 < (int)local_91c)" ( (binary_expression "iVar17 < (int)local_91c" identifier < (cast_expression "(int)local_91c" ( (type_descriptor "int" primitive_type) ) identifier)) )) ;) (expression_statement "local_820._84_4_ = local_8ec;" (assignment_expression "local_820._84_4_ = local_8ec" (field_expression "local_820._84_4_" identifier . field_identifier) = identifier) ;) }) (else_clause "else {\n    if ((_Bool)local_820[7] == false) {\n      uVar10 = (uint)local_8f6;\n      uVar19 = 0;\n      uVar34 = (uVar10 + 1) * 0x20;\n      local_820._62_2_ = (undefined2)(uVar34 / (uint)local_820._76_4_);\n      ppvVar44 = &local_8e8;\n      if (uVar34 % (uint)local_820._76_4_ != 0) {\n        local_820._62_2_ = local_820._62_2_ + 1;\n      }\n      psVar41 = (stat64 *)0x0;\n      psVar29 = (stat64 *)\n                sg_memalign(((int)&local_8f4->st_dev + (uint)(ushort)local_820._62_2_) *\n                            local_820._76_4_,0,ppvVar44,0);\n      if (psVar29 == (stat64 *)0x0) goto LAB_000141a6;\n      local_8f6 = 0;\n      local_8ec = (stat64 *)0x0;\n      if (uVar10 + 1 == 1) {\n        uVar34 = (uint)(ushort)local_820._62_2_ * local_820._76_4_;\n      }\n      local_908 = (stat64 *)\n                  build_t10_scat(local_798,(_Bool)local_820[0],(_Bool)(local_820[9] ^ 1),\n                                 (uint8_t *)psVar29,&local_8f6,(uint32_t *)&local_8ec,uVar34);\n      if (local_908 != (stat64 *)0x0) goto LAB_000133fd;\n      psVar41 = (stat64 *)(local_820._76_4_ * (int)local_8ec);\n      if ((uint)local_820._80_4_ <= psVar41) {\n        if (((uint)local_820._80_4_ <= psVar41 && (int)psVar41 - local_820._80_4_ != 0) &&\n           ((stat64 *)local_820._80_4_ != (stat64 *)0x0)) {\n          psVar41 = (stat64 *)local_820._80_4_;\n        }\nLAB_00014208:\n        if ((psVar49 != (stat64 *)0x0) && (psVar49 != psVar41)) {\n          if ((stat64 *)uVar24 != (stat64 *)0x0) {\n            puVar22 = &DAT_00017110;\n            if (psVar41 <= psVar49) {\n              puVar22 = &DAT_000170dd;\n            }\n            pr2serr("readable length (%u) of IF %s bytes implied by sum of\nscatter list NUMs (%u) and DLEN\n"\n                    ,psVar49,puVar22,psVar41);\n          }\n          if ((local_820._40_4_ != 0) && ((psVar41 <= psVar49 || (1 < (int)local_820._40_4_))))\n          goto LAB_000133f3;\nLAB_0001387e:\n          if (psVar49 < psVar41) {\n            psVar41 = psVar49;\n          }\n        }\n        psVar20 = (stat64 *)((uint)psVar41 / (uint)local_820._76_4_);\n        if (((uint)psVar41 % (uint)local_820._76_4_ != 0) &&\n           (((stat64 *)uVar24 != (stat64 *)0x0 || (1 < (int)local_820._40_4_)))) {\n          psVar26 = psVar41;\n          psVar11 = (stat64 *)local_820._72_4_;\n          pr2serr("Calculated data-out length (0x%x) not a multiple of BS (%u",psVar41,\n                  local_820._72_4_,psVar20);\n          if (local_820._72_4_ != local_820._76_4_) {\n            psVar26 = (stat64 *)(local_820._76_4_ - local_820._72_4_);\n            psVar11 = extraout_ECX_06;\n            psVar20 = extraout_ECX_06;\n            pr2serr(" + %d(PI)",psVar26,extraout_ECX_06,extraout_ECX_06);\n          }\n          if (1 < (int)local_820._40_4_) {\n            pr2serr(")\nexiting ...\n",psVar26,psVar11,psVar20);\n            local_908 = (stat64 *)0xf;\n            goto LAB_000133fd;\n          }\n          pr2serr(")\nzero pad and continue ...\n",psVar26,psVar11,psVar20);\n        }\n      }\n      else {\n        uVar10 = uVar24 | local_820._40_4_;\n        if (uVar10 != 0) {\n          pr2serr("DLEN > than bytes implied by sum of scatter list NUMs (%u)\n",psVar41,uVar10,\n                  uVar10);\n          if (1 < (int)uVar24) {\n            pr2serr("  num_lbard=%u, sum_num=%u actual_bs=%u",local_8f6,local_8ec,local_820._76_4_);\n          }\n          if (local_820._40_4_ != 0) goto LAB_000133f3;\n          goto LAB_00014208;\n        }\n        if ((psVar49 != (stat64 *)0x0) && (psVar49 != psVar41)) goto LAB_0001387e;\n      }\n      local_908 = (stat64 *)\n                  bin_read((int)local_924,\n                           (uint8_t *)\n                           ((int)&psVar29->st_dev +\n                           (uint)(ushort)local_820._62_2_ * local_820._76_4_),(uint32_t)psVar41,\n                           "IF 3");\n      uVar4 = local_820._62_2_;\n    }\n    else {\nLAB_00013dcd:\n      psVar41 = (stat64 *)local_820._76_4_;\n      if (local_820._64_2_ != 0) {\n        psVar41 = (stat64 *)(((ushort)local_820._64_2_ + 1) * 0x20);\n        if (local_908 < psVar41) {\n          pr2serr("SF not long enough (%u bytes) to provide RD (%u) %ss\n",local_908,psVar41,\n                  "LBA range descriptor");\n          local_908 = (stat64 *)0xf;\n          goto LAB_000133fd;\n        }\n        psVar41 = (stat64 *)\n                  ((((uint)psVar41 / (uint)local_820._76_4_ + 1) -\n                   (uint)((uint)psVar41 % (uint)local_820._76_4_ == 0)) * local_820._76_4_);\n      }\n      local_918 = (stat64 *)local_820._76_4_;\n      if (local_93c != (stat64 *)0x0) {\n        local_918 = (stat64 *)\n                    ((((uint)local_93c / (uint)local_820._76_4_ + 1) -\n                     (uint)((uint)local_93c % (uint)local_820._76_4_ == 0)) * local_820._76_4_);\n      }\n      psVar29 = (stat64 *)\n                sg_memalign((int)&psVar41->st_dev + (int)&local_918->st_dev,0,&local_8e8,0);\n      if (psVar29 == (stat64 *)0x0) {\nLAB_00013fb3:\n        pcVar18 = "unable to allocate aligned memory for scatterlist+data\n";\nLAB_00013fbc:\n        pr2serr(pcVar18);\n        local_908 = (stat64 *)sg_convert_errno(0xc);\n        goto LAB_000133fd;\n      }\n      local_908 = (stat64 *)bin_read((int)local_920,(uint8_t *)psVar29,(uint32_t)local_908,"SF");\n      if (local_908 != (stat64 *)0x0) goto LAB_000133fd;\n      _Var9 = check_lbrds((uint8_t *)psVar29,(uint32_t)psVar41,(opts_t *)local_820,&local_8f6,\n                          (uint32_t *)&local_8ec);\n      if (!_Var9) goto LAB_000133f3;\n      if (local_820._64_2_ != local_8f6) {\n        pr2serr("Try again with --scattered=%u\n",local_8f6,extraout_EDX_06,extraout_EDX_06);\n        local_908 = (stat64 *)0xf;\n        goto LAB_000133fd;\n      }\n      psVar20 = (stat64 *)(local_820._76_4_ * (int)local_8ec);\n      if (local_918 < psVar20) {\n        psVar26 = (stat64 *)\n                  sg_memalign((int)&psVar41->st_dev + (int)&psVar20->st_dev,0,&local_8e4,0);\n        if (psVar26 == (stat64 *)0x0) goto LAB_00014273;\n        memcpy(psVar26,psVar29,(size_t)psVar41);\n        free(local_8e8);\n        local_8e8 = local_8e4;\n        psVar29 = psVar26;\n        local_918 = psVar20;\n      }\n      psVar20 = psVar41;\n      if ((local_93c != psVar41) &&\n         (psVar20 = local_93c, (stat64 *)uVar24 != (stat64 *)0x0 || local_820._40_4_ != 0)) {\n        puVar22 = &DAT_000170dd;\n        if (local_93c <= psVar41) {\n          puVar22 = &DAT_00017110;\n        }\n        psVar26 = psVar41;\n        pr2serr("IF length (%u) %s \'sum_num\' bytes (%u), ",local_93c,puVar22,psVar41);\n        if (1 < (int)local_820._40_4_) {\n          pr2serr("exiting (strict=%d)\n",local_820._40_4_,psVar41,psVar41);\n          local_908 = (stat64 *)0xf;\n          goto LAB_000133fd;\n        }\n        pr2serr("continuing ...\n",psVar20,puVar22,psVar26);\n        psVar20 = psVar41;\n        if (local_93c < psVar41) {\n          psVar20 = local_93c;\n        }\n      }\n      local_908 = (stat64 *)\n                  bin_read((int)local_924,\n                           (uint8_t *)((int)&psVar29->st_dev + (int)&local_918->st_dev),\n                           (uint32_t)psVar20,"IF 4");\n      uVar4 = local_8f6;\n    }\n    if (local_908 != (stat64 *)0x0) goto LAB_000133fd;\n    local_7a4 = (stat64 *)((int)local_8ec * local_820._76_4_);\n    local_918 = (stat64 *)(((int)&local_8ec->st_dev + (uint)uVar4) * local_820._76_4_);\n    local_820._84_4_ = local_8ec;\n  }" else (compound_statement "{\n    if ((_Bool)local_820[7] == false) {\n      uVar10 = (uint)local_8f6;\n      uVar19 = 0;\n      uVar34 = (uVar10 + 1) * 0x20;\n      local_820._62_2_ = (undefined2)(uVar34 / (uint)local_820._76_4_);\n      ppvVar44 = &local_8e8;\n      if (uVar34 % (uint)local_820._76_4_ != 0) {\n        local_820._62_2_ = local_820._62_2_ + 1;\n      }\n      psVar41 = (stat64 *)0x0;\n      psVar29 = (stat64 *)\n                sg_memalign(((int)&local_8f4->st_dev + (uint)(ushort)local_820._62_2_) *\n                            local_820._76_4_,0,ppvVar44,0);\n      if (psVar29 == (stat64 *)0x0) goto LAB_000141a6;\n      local_8f6 = 0;\n      local_8ec = (stat64 *)0x0;\n      if (uVar10 + 1 == 1) {\n        uVar34 = (uint)(ushort)local_820._62_2_ * local_820._76_4_;\n      }\n      local_908 = (stat64 *)\n                  build_t10_scat(local_798,(_Bool)local_820[0],(_Bool)(local_820[9] ^ 1),\n                                 (uint8_t *)psVar29,&local_8f6,(uint32_t *)&local_8ec,uVar34);\n      if (local_908 != (stat64 *)0x0) goto LAB_000133fd;\n      psVar41 = (stat64 *)(local_820._76_4_ * (int)local_8ec);\n      if ((uint)local_820._80_4_ <= psVar41) {\n        if (((uint)local_820._80_4_ <= psVar41 && (int)psVar41 - local_820._80_4_ != 0) &&\n           ((stat64 *)local_820._80_4_ != (stat64 *)0x0)) {\n          psVar41 = (stat64 *)local_820._80_4_;\n        }\nLAB_00014208:\n        if ((psVar49 != (stat64 *)0x0) && (psVar49 != psVar41)) {\n          if ((stat64 *)uVar24 != (stat64 *)0x0) {\n            puVar22 = &DAT_00017110;\n            if (psVar41 <= psVar49) {\n              puVar22 = &DAT_000170dd;\n            }\n            pr2serr("readable length (%u) of IF %s bytes implied by sum of\nscatter list NUMs (%u) and DLEN\n"\n                    ,psVar49,puVar22,psVar41);\n          }\n          if ((local_820._40_4_ != 0) && ((psVar41 <= psVar49 || (1 < (int)local_820._40_4_))))\n          goto LAB_000133f3;\nLAB_0001387e:\n          if (psVar49 < psVar41) {\n            psVar41 = psVar49;\n          }\n        }\n        psVar20 = (stat64 *)((uint)psVar41 / (uint)local_820._76_4_);\n        if (((uint)psVar41 % (uint)local_820._76_4_ != 0) &&\n           (((stat64 *)uVar24 != (stat64 *)0x0 || (1 < (int)local_820._40_4_)))) {\n          psVar26 = psVar41;\n          psVar11 = (stat64 *)local_820._72_4_;\n          pr2serr("Calculated data-out length (0x%x) not a multiple of BS (%u",psVar41,\n                  local_820._72_4_,psVar20);\n          if (local_820._72_4_ != local_820._76_4_) {\n            psVar26 = (stat64 *)(local_820._76_4_ - local_820._72_4_);\n            psVar11 = extraout_ECX_06;\n            psVar20 = extraout_ECX_06;\n            pr2serr(" + %d(PI)",psVar26,extraout_ECX_06,extraout_ECX_06);\n          }\n          if (1 < (int)local_820._40_4_) {\n            pr2serr(")\nexiting ...\n",psVar26,psVar11,psVar20);\n            local_908 = (stat64 *)0xf;\n            goto LAB_000133fd;\n          }\n          pr2serr(")\nzero pad and continue ...\n",psVar26,psVar11,psVar20);\n        }\n      }\n      else {\n        uVar10 = uVar24 | local_820._40_4_;\n        if (uVar10 != 0) {\n          pr2serr("DLEN > than bytes implied by sum of scatter list NUMs (%u)\n",psVar41,uVar10,\n                  uVar10);\n          if (1 < (int)uVar24) {\n            pr2serr("  num_lbard=%u, sum_num=%u actual_bs=%u",local_8f6,local_8ec,local_820._76_4_);\n          }\n          if (local_820._40_4_ != 0) goto LAB_000133f3;\n          goto LAB_00014208;\n        }\n        if ((psVar49 != (stat64 *)0x0) && (psVar49 != psVar41)) goto LAB_0001387e;\n      }\n      local_908 = (stat64 *)\n                  bin_read((int)local_924,\n                           (uint8_t *)\n                           ((int)&psVar29->st_dev +\n                           (uint)(ushort)local_820._62_2_ * local_820._76_4_),(uint32_t)psVar41,\n                           "IF 3");\n      uVar4 = local_820._62_2_;\n    }\n    else {\nLAB_00013dcd:\n      psVar41 = (stat64 *)local_820._76_4_;\n      if (local_820._64_2_ != 0) {\n        psVar41 = (stat64 *)(((ushort)local_820._64_2_ + 1) * 0x20);\n        if (local_908 < psVar41) {\n          pr2serr("SF not long enough (%u bytes) to provide RD (%u) %ss\n",local_908,psVar41,\n                  "LBA range descriptor");\n          local_908 = (stat64 *)0xf;\n          goto LAB_000133fd;\n        }\n        psVar41 = (stat64 *)\n                  ((((uint)psVar41 / (uint)local_820._76_4_ + 1) -\n                   (uint)((uint)psVar41 % (uint)local_820._76_4_ == 0)) * local_820._76_4_);\n      }\n      local_918 = (stat64 *)local_820._76_4_;\n      if (local_93c != (stat64 *)0x0) {\n        local_918 = (stat64 *)\n                    ((((uint)local_93c / (uint)local_820._76_4_ + 1) -\n                     (uint)((uint)local_93c % (uint)local_820._76_4_ == 0)) * local_820._76_4_);\n      }\n      psVar29 = (stat64 *)\n                sg_memalign((int)&psVar41->st_dev + (int)&local_918->st_dev,0,&local_8e8,0);\n      if (psVar29 == (stat64 *)0x0) {\nLAB_00013fb3:\n        pcVar18 = "unable to allocate aligned memory for scatterlist+data\n";\nLAB_00013fbc:\n        pr2serr(pcVar18);\n        local_908 = (stat64 *)sg_convert_errno(0xc);\n        goto LAB_000133fd;\n      }\n      local_908 = (stat64 *)bin_read((int)local_920,(uint8_t *)psVar29,(uint32_t)local_908,"SF");\n      if (local_908 != (stat64 *)0x0) goto LAB_000133fd;\n      _Var9 = check_lbrds((uint8_t *)psVar29,(uint32_t)psVar41,(opts_t *)local_820,&local_8f6,\n                          (uint32_t *)&local_8ec);\n      if (!_Var9) goto LAB_000133f3;\n      if (local_820._64_2_ != local_8f6) {\n        pr2serr("Try again with --scattered=%u\n",local_8f6,extraout_EDX_06,extraout_EDX_06);\n        local_908 = (stat64 *)0xf;\n        goto LAB_000133fd;\n      }\n      psVar20 = (stat64 *)(local_820._76_4_ * (int)local_8ec);\n      if (local_918 < psVar20) {\n        psVar26 = (stat64 *)\n                  sg_memalign((int)&psVar41->st_dev + (int)&psVar20->st_dev,0,&local_8e4,0);\n        if (psVar26 == (stat64 *)0x0) goto LAB_00014273;\n        memcpy(psVar26,psVar29,(size_t)psVar41);\n        free(local_8e8);\n        local_8e8 = local_8e4;\n        psVar29 = psVar26;\n        local_918 = psVar20;\n      }\n      psVar20 = psVar41;\n      if ((local_93c != psVar41) &&\n         (psVar20 = local_93c, (stat64 *)uVar24 != (stat64 *)0x0 || local_820._40_4_ != 0)) {\n        puVar22 = &DAT_000170dd;\n        if (local_93c <= psVar41) {\n          puVar22 = &DAT_00017110;\n        }\n        psVar26 = psVar41;\n        pr2serr("IF length (%u) %s \'sum_num\' bytes (%u), ",local_93c,puVar22,psVar41);\n        if (1 < (int)local_820._40_4_) {\n          pr2serr("exiting (strict=%d)\n",local_820._40_4_,psVar41,psVar41);\n          local_908 = (stat64 *)0xf;\n          goto LAB_000133fd;\n        }\n        pr2serr("continuing ...\n",psVar20,puVar22,psVar26);\n        psVar20 = psVar41;\n        if (local_93c < psVar41) {\n          psVar20 = local_93c;\n        }\n      }\n      local_908 = (stat64 *)\n                  bin_read((int)local_924,\n                           (uint8_t *)((int)&psVar29->st_dev + (int)&local_918->st_dev),\n                           (uint32_t)psVar20,"IF 4");\n      uVar4 = local_8f6;\n    }\n    if (local_908 != (stat64 *)0x0) goto LAB_000133fd;\n    local_7a4 = (stat64 *)((int)local_8ec * local_820._76_4_);\n    local_918 = (stat64 *)(((int)&local_8ec->st_dev + (uint)uVar4) * local_820._76_4_);\n    local_820._84_4_ = local_8ec;\n  }" { (if_statement "if ((_Bool)local_820[7] == false) {\n      uVar10 = (uint)local_8f6;\n      uVar19 = 0;\n      uVar34 = (uVar10 + 1) * 0x20;\n      local_820._62_2_ = (undefined2)(uVar34 / (uint)local_820._76_4_);\n      ppvVar44 = &local_8e8;\n      if (uVar34 % (uint)local_820._76_4_ != 0) {\n        local_820._62_2_ = local_820._62_2_ + 1;\n      }\n      psVar41 = (stat64 *)0x0;\n      psVar29 = (stat64 *)\n                sg_memalign(((int)&local_8f4->st_dev + (uint)(ushort)local_820._62_2_) *\n                            local_820._76_4_,0,ppvVar44,0);\n      if (psVar29 == (stat64 *)0x0) goto LAB_000141a6;\n      local_8f6 = 0;\n      local_8ec = (stat64 *)0x0;\n      if (uVar10 + 1 == 1) {\n        uVar34 = (uint)(ushort)local_820._62_2_ * local_820._76_4_;\n      }\n      local_908 = (stat64 *)\n                  build_t10_scat(local_798,(_Bool)local_820[0],(_Bool)(local_820[9] ^ 1),\n                                 (uint8_t *)psVar29,&local_8f6,(uint32_t *)&local_8ec,uVar34);\n      if (local_908 != (stat64 *)0x0) goto LAB_000133fd;\n      psVar41 = (stat64 *)(local_820._76_4_ * (int)local_8ec);\n      if ((uint)local_820._80_4_ <= psVar41) {\n        if (((uint)local_820._80_4_ <= psVar41 && (int)psVar41 - local_820._80_4_ != 0) &&\n           ((stat64 *)local_820._80_4_ != (stat64 *)0x0)) {\n          psVar41 = (stat64 *)local_820._80_4_;\n        }\nLAB_00014208:\n        if ((psVar49 != (stat64 *)0x0) && (psVar49 != psVar41)) {\n          if ((stat64 *)uVar24 != (stat64 *)0x0) {\n            puVar22 = &DAT_00017110;\n            if (psVar41 <= psVar49) {\n              puVar22 = &DAT_000170dd;\n            }\n            pr2serr("readable length (%u) of IF %s bytes implied by sum of\nscatter list NUMs (%u) and DLEN\n"\n                    ,psVar49,puVar22,psVar41);\n          }\n          if ((local_820._40_4_ != 0) && ((psVar41 <= psVar49 || (1 < (int)local_820._40_4_))))\n          goto LAB_000133f3;\nLAB_0001387e:\n          if (psVar49 < psVar41) {\n            psVar41 = psVar49;\n          }\n        }\n        psVar20 = (stat64 *)((uint)psVar41 / (uint)local_820._76_4_);\n        if (((uint)psVar41 % (uint)local_820._76_4_ != 0) &&\n           (((stat64 *)uVar24 != (stat64 *)0x0 || (1 < (int)local_820._40_4_)))) {\n          psVar26 = psVar41;\n          psVar11 = (stat64 *)local_820._72_4_;\n          pr2serr("Calculated data-out length (0x%x) not a multiple of BS (%u",psVar41,\n                  local_820._72_4_,psVar20);\n          if (local_820._72_4_ != local_820._76_4_) {\n            psVar26 = (stat64 *)(local_820._76_4_ - local_820._72_4_);\n            psVar11 = extraout_ECX_06;\n            psVar20 = extraout_ECX_06;\n            pr2serr(" + %d(PI)",psVar26,extraout_ECX_06,extraout_ECX_06);\n          }\n          if (1 < (int)local_820._40_4_) {\n            pr2serr(")\nexiting ...\n",psVar26,psVar11,psVar20);\n            local_908 = (stat64 *)0xf;\n            goto LAB_000133fd;\n          }\n          pr2serr(")\nzero pad and continue ...\n",psVar26,psVar11,psVar20);\n        }\n      }\n      else {\n        uVar10 = uVar24 | local_820._40_4_;\n        if (uVar10 != 0) {\n          pr2serr("DLEN > than bytes implied by sum of scatter list NUMs (%u)\n",psVar41,uVar10,\n                  uVar10);\n          if (1 < (int)uVar24) {\n            pr2serr("  num_lbard=%u, sum_num=%u actual_bs=%u",local_8f6,local_8ec,local_820._76_4_);\n          }\n          if (local_820._40_4_ != 0) goto LAB_000133f3;\n          goto LAB_00014208;\n        }\n        if ((psVar49 != (stat64 *)0x0) && (psVar49 != psVar41)) goto LAB_0001387e;\n      }\n      local_908 = (stat64 *)\n                  bin_read((int)local_924,\n                           (uint8_t *)\n                           ((int)&psVar29->st_dev +\n                           (uint)(ushort)local_820._62_2_ * local_820._76_4_),(uint32_t)psVar41,\n                           "IF 3");\n      uVar4 = local_820._62_2_;\n    }\n    else {\nLAB_00013dcd:\n      psVar41 = (stat64 *)local_820._76_4_;\n      if (local_820._64_2_ != 0) {\n        psVar41 = (stat64 *)(((ushort)local_820._64_2_ + 1) * 0x20);\n        if (local_908 < psVar41) {\n          pr2serr("SF not long enough (%u bytes) to provide RD (%u) %ss\n",local_908,psVar41,\n                  "LBA range descriptor");\n          local_908 = (stat64 *)0xf;\n          goto LAB_000133fd;\n        }\n        psVar41 = (stat64 *)\n                  ((((uint)psVar41 / (uint)local_820._76_4_ + 1) -\n                   (uint)((uint)psVar41 % (uint)local_820._76_4_ == 0)) * local_820._76_4_);\n      }\n      local_918 = (stat64 *)local_820._76_4_;\n      if (local_93c != (stat64 *)0x0) {\n        local_918 = (stat64 *)\n                    ((((uint)local_93c / (uint)local_820._76_4_ + 1) -\n                     (uint)((uint)local_93c % (uint)local_820._76_4_ == 0)) * local_820._76_4_);\n      }\n      psVar29 = (stat64 *)\n                sg_memalign((int)&psVar41->st_dev + (int)&local_918->st_dev,0,&local_8e8,0);\n      if (psVar29 == (stat64 *)0x0) {\nLAB_00013fb3:\n        pcVar18 = "unable to allocate aligned memory for scatterlist+data\n";\nLAB_00013fbc:\n        pr2serr(pcVar18);\n        local_908 = (stat64 *)sg_convert_errno(0xc);\n        goto LAB_000133fd;\n      }\n      local_908 = (stat64 *)bin_read((int)local_920,(uint8_t *)psVar29,(uint32_t)local_908,"SF");\n      if (local_908 != (stat64 *)0x0) goto LAB_000133fd;\n      _Var9 = check_lbrds((uint8_t *)psVar29,(uint32_t)psVar41,(opts_t *)local_820,&local_8f6,\n                          (uint32_t *)&local_8ec);\n      if (!_Var9) goto LAB_000133f3;\n      if (local_820._64_2_ != local_8f6) {\n        pr2serr("Try again with --scattered=%u\n",local_8f6,extraout_EDX_06,extraout_EDX_06);\n        local_908 = (stat64 *)0xf;\n        goto LAB_000133fd;\n      }\n      psVar20 = (stat64 *)(local_820._76_4_ * (int)local_8ec);\n      if (local_918 < psVar20) {\n        psVar26 = (stat64 *)\n                  sg_memalign((int)&psVar41->st_dev + (int)&psVar20->st_dev,0,&local_8e4,0);\n        if (psVar26 == (stat64 *)0x0) goto LAB_00014273;\n        memcpy(psVar26,psVar29,(size_t)psVar41);\n        free(local_8e8);\n        local_8e8 = local_8e4;\n        psVar29 = psVar26;\n        local_918 = psVar20;\n      }\n      psVar20 = psVar41;\n      if ((local_93c != psVar41) &&\n         (psVar20 = local_93c, (stat64 *)uVar24 != (stat64 *)0x0 || local_820._40_4_ != 0)) {\n        puVar22 = &DAT_000170dd;\n        if (local_93c <= psVar41) {\n          puVar22 = &DAT_00017110;\n        }\n        psVar26 = psVar41;\n        pr2serr("IF length (%u) %s \'sum_num\' bytes (%u), ",local_93c,puVar22,psVar41);\n        if (1 < (int)local_820._40_4_) {\n          pr2serr("exiting (strict=%d)\n",local_820._40_4_,psVar41,psVar41);\n          local_908 = (stat64 *)0xf;\n          goto LAB_000133fd;\n        }\n        pr2serr("continuing ...\n",psVar20,puVar22,psVar26);\n        psVar20 = psVar41;\n        if (local_93c < psVar41) {\n          psVar20 = local_93c;\n        }\n      }\n      local_908 = (stat64 *)\n                  bin_read((int)local_924,\n                           (uint8_t *)((int)&psVar29->st_dev + (int)&local_918->st_dev),\n                           (uint32_t)psVar20,"IF 4");\n      uVar4 = local_8f6;\n    }" if (parenthesized_expression "((_Bool)local_820[7] == false)" ( (binary_expression "(_Bool)local_820[7] == false" (cast_expression "(_Bool)local_820[7]" ( (type_descriptor "_Bool" type_identifier) ) (subscript_expression "local_820[7]" identifier [ number_literal ])) == false) )) (compound_statement "{\n      uVar10 = (uint)local_8f6;\n      uVar19 = 0;\n      uVar34 = (uVar10 + 1) * 0x20;\n      local_820._62_2_ = (undefined2)(uVar34 / (uint)local_820._76_4_);\n      ppvVar44 = &local_8e8;\n      if (uVar34 % (uint)local_820._76_4_ != 0) {\n        local_820._62_2_ = local_820._62_2_ + 1;\n      }\n      psVar41 = (stat64 *)0x0;\n      psVar29 = (stat64 *)\n                sg_memalign(((int)&local_8f4->st_dev + (uint)(ushort)local_820._62_2_) *\n                            local_820._76_4_,0,ppvVar44,0);\n      if (psVar29 == (stat64 *)0x0) goto LAB_000141a6;\n      local_8f6 = 0;\n      local_8ec = (stat64 *)0x0;\n      if (uVar10 + 1 == 1) {\n        uVar34 = (uint)(ushort)local_820._62_2_ * local_820._76_4_;\n      }\n      local_908 = (stat64 *)\n                  build_t10_scat(local_798,(_Bool)local_820[0],(_Bool)(local_820[9] ^ 1),\n                                 (uint8_t *)psVar29,&local_8f6,(uint32_t *)&local_8ec,uVar34);\n      if (local_908 != (stat64 *)0x0) goto LAB_000133fd;\n      psVar41 = (stat64 *)(local_820._76_4_ * (int)local_8ec);\n      if ((uint)local_820._80_4_ <= psVar41) {\n        if (((uint)local_820._80_4_ <= psVar41 && (int)psVar41 - local_820._80_4_ != 0) &&\n           ((stat64 *)local_820._80_4_ != (stat64 *)0x0)) {\n          psVar41 = (stat64 *)local_820._80_4_;\n        }\nLAB_00014208:\n        if ((psVar49 != (stat64 *)0x0) && (psVar49 != psVar41)) {\n          if ((stat64 *)uVar24 != (stat64 *)0x0) {\n            puVar22 = &DAT_00017110;\n            if (psVar41 <= psVar49) {\n              puVar22 = &DAT_000170dd;\n            }\n            pr2serr("readable length (%u) of IF %s bytes implied by sum of\nscatter list NUMs (%u) and DLEN\n"\n                    ,psVar49,puVar22,psVar41);\n          }\n          if ((local_820._40_4_ != 0) && ((psVar41 <= psVar49 || (1 < (int)local_820._40_4_))))\n          goto LAB_000133f3;\nLAB_0001387e:\n          if (psVar49 < psVar41) {\n            psVar41 = psVar49;\n          }\n        }\n        psVar20 = (stat64 *)((uint)psVar41 / (uint)local_820._76_4_);\n        if (((uint)psVar41 % (uint)local_820._76_4_ != 0) &&\n           (((stat64 *)uVar24 != (stat64 *)0x0 || (1 < (int)local_820._40_4_)))) {\n          psVar26 = psVar41;\n          psVar11 = (stat64 *)local_820._72_4_;\n          pr2serr("Calculated data-out length (0x%x) not a multiple of BS (%u",psVar41,\n                  local_820._72_4_,psVar20);\n          if (local_820._72_4_ != local_820._76_4_) {\n            psVar26 = (stat64 *)(local_820._76_4_ - local_820._72_4_);\n            psVar11 = extraout_ECX_06;\n            psVar20 = extraout_ECX_06;\n            pr2serr(" + %d(PI)",psVar26,extraout_ECX_06,extraout_ECX_06);\n          }\n          if (1 < (int)local_820._40_4_) {\n            pr2serr(")\nexiting ...\n",psVar26,psVar11,psVar20);\n            local_908 = (stat64 *)0xf;\n            goto LAB_000133fd;\n          }\n          pr2serr(")\nzero pad and continue ...\n",psVar26,psVar11,psVar20);\n        }\n      }\n      else {\n        uVar10 = uVar24 | local_820._40_4_;\n        if (uVar10 != 0) {\n          pr2serr("DLEN > than bytes implied by sum of scatter list NUMs (%u)\n",psVar41,uVar10,\n                  uVar10);\n          if (1 < (int)uVar24) {\n            pr2serr("  num_lbard=%u, sum_num=%u actual_bs=%u",local_8f6,local_8ec,local_820._76_4_);\n          }\n          if (local_820._40_4_ != 0) goto LAB_000133f3;\n          goto LAB_00014208;\n        }\n        if ((psVar49 != (stat64 *)0x0) && (psVar49 != psVar41)) goto LAB_0001387e;\n      }\n      local_908 = (stat64 *)\n                  bin_read((int)local_924,\n                           (uint8_t *)\n                           ((int)&psVar29->st_dev +\n                           (uint)(ushort)local_820._62_2_ * local_820._76_4_),(uint32_t)psVar41,\n                           "IF 3");\n      uVar4 = local_820._62_2_;\n    }" { (expression_statement "uVar10 = (uint)local_8f6;" (assignment_expression "uVar10 = (uint)local_8f6" identifier = (cast_expression "(uint)local_8f6" ( (type_descriptor "uint" type_identifier) ) identifier)) ;) (expression_statement "uVar19 = 0;" (assignment_expression "uVar19 = 0" identifier = number_literal) ;) (expression_statement "uVar34 = (uVar10 + 1) * 0x20;" (assignment_expression "uVar34 = (uVar10 + 1) * 0x20" identifier = (binary_expression "(uVar10 + 1) * 0x20" (parenthesized_expression "(uVar10 + 1)" ( (binary_expression "uVar10 + 1" identifier + number_literal) )) * number_literal)) ;) (expression_statement "local_820._62_2_ = (undefined2)(uVar34 / (uint)local_820._76_4_);" (assignment_expression "local_820._62_2_ = (undefined2)(uVar34 / (uint)local_820._76_4_)" (field_expression "local_820._62_2_" identifier . field_identifier) = (call_expression "(undefined2)(uVar34 / (uint)local_820._76_4_)" (parenthesized_expression "(undefined2)" ( identifier )) (argument_list "(uVar34 / (uint)local_820._76_4_)" ( (binary_expression "uVar34 / (uint)local_820._76_4_" identifier / (cast_expression "(uint)local_820._76_4_" ( (type_descriptor "uint" type_identifier) ) (field_expression "local_820._76_4_" identifier . field_identifier))) )))) ;) (expression_statement "ppvVar44 = &local_8e8;" (assignment_expression "ppvVar44 = &local_8e8" identifier = (pointer_expression "&local_8e8" & identifier)) ;) (if_statement "if (uVar34 % (uint)local_820._76_4_ != 0) {\n        local_820._62_2_ = local_820._62_2_ + 1;\n      }" if (parenthesized_expression "(uVar34 % (uint)local_820._76_4_ != 0)" ( (binary_expression "uVar34 % (uint)local_820._76_4_ != 0" (binary_expression "uVar34 % (uint)local_820._76_4_" identifier % (cast_expression "(uint)local_820._76_4_" ( (type_descriptor "uint" type_identifier) ) (field_expression "local_820._76_4_" identifier . field_identifier))) != number_literal) )) (compound_statement "{\n        local_820._62_2_ = local_820._62_2_ + 1;\n      }" { (expression_statement "local_820._62_2_ = local_820._62_2_ + 1;" (assignment_expression "local_820._62_2_ = local_820._62_2_ + 1" (field_expression "local_820._62_2_" identifier . field_identifier) = (binary_expression "local_820._62_2_ + 1" (field_expression "local_820._62_2_" identifier . field_identifier) + number_literal)) ;) })) (expression_statement "psVar41 = (stat64 *)0x0;" (assignment_expression "psVar41 = (stat64 *)0x0" identifier = (cast_expression "(stat64 *)0x0" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "psVar29 = (stat64 *)\n                sg_memalign(((int)&local_8f4->st_dev + (uint)(ushort)local_820._62_2_) *\n                            local_820._76_4_,0,ppvVar44,0);" (assignment_expression "psVar29 = (stat64 *)\n                sg_memalign(((int)&local_8f4->st_dev + (uint)(ushort)local_820._62_2_) *\n                            local_820._76_4_,0,ppvVar44,0)" identifier = (cast_expression "(stat64 *)\n                sg_memalign(((int)&local_8f4->st_dev + (uint)(ushort)local_820._62_2_) *\n                            local_820._76_4_,0,ppvVar44,0)" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "sg_memalign(((int)&local_8f4->st_dev + (uint)(ushort)local_820._62_2_) *\n                            local_820._76_4_,0,ppvVar44,0)" identifier (argument_list "(((int)&local_8f4->st_dev + (uint)(ushort)local_820._62_2_) *\n                            local_820._76_4_,0,ppvVar44,0)" ( (binary_expression "((int)&local_8f4->st_dev + (uint)(ushort)local_820._62_2_) *\n                            local_820._76_4_" (parenthesized_expression "((int)&local_8f4->st_dev + (uint)(ushort)local_820._62_2_)" ( (binary_expression "(int)&local_8f4->st_dev + (uint)(ushort)local_820._62_2_" (cast_expression "(int)&local_8f4->st_dev" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&local_8f4->st_dev" & (field_expression "local_8f4->st_dev" identifier -> field_identifier))) + (cast_expression "(uint)(ushort)local_820._62_2_" ( (type_descriptor "uint" type_identifier) ) (cast_expression "(ushort)local_820._62_2_" ( (type_descriptor "ushort" type_identifier) ) (field_expression "local_820._62_2_" identifier . field_identifier)))) )) * (field_expression "local_820._76_4_" identifier . field_identifier)) , number_literal , identifier , number_literal ))))) ;) (if_statement "if (psVar29 == (stat64 *)0x0) goto LAB_000141a6;" if (parenthesized_expression "(psVar29 == (stat64 *)0x0)" ( (binary_expression "psVar29 == (stat64 *)0x0" identifier == (cast_expression "(stat64 *)0x0" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_000141a6;" goto statement_identifier ;)) (expression_statement "local_8f6 = 0;" (assignment_expression "local_8f6 = 0" identifier = number_literal) ;) (expression_statement "local_8ec = (stat64 *)0x0;" (assignment_expression "local_8ec = (stat64 *)0x0" identifier = (cast_expression "(stat64 *)0x0" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (if_statement "if (uVar10 + 1 == 1) {\n        uVar34 = (uint)(ushort)local_820._62_2_ * local_820._76_4_;\n      }" if (parenthesized_expression "(uVar10 + 1 == 1)" ( (binary_expression "uVar10 + 1 == 1" (binary_expression "uVar10 + 1" identifier + number_literal) == number_literal) )) (compound_statement "{\n        uVar34 = (uint)(ushort)local_820._62_2_ * local_820._76_4_;\n      }" { (expression_statement "uVar34 = (uint)(ushort)local_820._62_2_ * local_820._76_4_;" (assignment_expression "uVar34 = (uint)(ushort)local_820._62_2_ * local_820._76_4_" identifier = (binary_expression "(uint)(ushort)local_820._62_2_ * local_820._76_4_" (cast_expression "(uint)(ushort)local_820._62_2_" ( (type_descriptor "uint" type_identifier) ) (cast_expression "(ushort)local_820._62_2_" ( (type_descriptor "ushort" type_identifier) ) (field_expression "local_820._62_2_" identifier . field_identifier))) * (field_expression "local_820._76_4_" identifier . field_identifier))) ;) })) (expression_statement "local_908 = (stat64 *)\n                  build_t10_scat(local_798,(_Bool)local_820[0],(_Bool)(local_820[9] ^ 1),\n                                 (uint8_t *)psVar29,&local_8f6,(uint32_t *)&local_8ec,uVar34);" (assignment_expression "local_908 = (stat64 *)\n                  build_t10_scat(local_798,(_Bool)local_820[0],(_Bool)(local_820[9] ^ 1),\n                                 (uint8_t *)psVar29,&local_8f6,(uint32_t *)&local_8ec,uVar34)" identifier = (cast_expression "(stat64 *)\n                  build_t10_scat(local_798,(_Bool)local_820[0],(_Bool)(local_820[9] ^ 1),\n                                 (uint8_t *)psVar29,&local_8f6,(uint32_t *)&local_8ec,uVar34)" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "build_t10_scat(local_798,(_Bool)local_820[0],(_Bool)(local_820[9] ^ 1),\n                                 (uint8_t *)psVar29,&local_8f6,(uint32_t *)&local_8ec,uVar34)" identifier (argument_list "(local_798,(_Bool)local_820[0],(_Bool)(local_820[9] ^ 1),\n                                 (uint8_t *)psVar29,&local_8f6,(uint32_t *)&local_8ec,uVar34)" ( identifier , (cast_expression "(_Bool)local_820[0]" ( (type_descriptor "_Bool" type_identifier) ) (subscript_expression "local_820[0]" identifier [ number_literal ])) , (call_expression "(_Bool)(local_820[9] ^ 1)" (parenthesized_expression "(_Bool)" ( identifier )) (argument_list "(local_820[9] ^ 1)" ( (binary_expression "local_820[9] ^ 1" (subscript_expression "local_820[9]" identifier [ number_literal ]) ^ number_literal) ))) , (cast_expression "(uint8_t *)psVar29" ( (type_descriptor "uint8_t *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) , (pointer_expression "&local_8f6" & identifier) , (cast_expression "(uint32_t *)&local_8ec" ( (type_descriptor "uint32_t *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "&local_8ec" & identifier)) , identifier ))))) ;) (if_statement "if (local_908 != (stat64 *)0x0) goto LAB_000133fd;" if (parenthesized_expression "(local_908 != (stat64 *)0x0)" ( (binary_expression "local_908 != (stat64 *)0x0" identifier != (cast_expression "(stat64 *)0x0" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_000133fd;" goto statement_identifier ;)) (expression_statement "psVar41 = (stat64 *)(local_820._76_4_ * (int)local_8ec);" (assignment_expression "psVar41 = (stat64 *)(local_820._76_4_ * (int)local_8ec)" identifier = (cast_expression "(stat64 *)(local_820._76_4_ * (int)local_8ec)" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_820._76_4_ * (int)local_8ec)" ( (binary_expression "local_820._76_4_ * (int)local_8ec" (field_expression "local_820._76_4_" identifier . field_identifier) * (cast_expression "(int)local_8ec" ( (type_descriptor "int" primitive_type) ) identifier)) )))) ;) (if_statement "if ((uint)local_820._80_4_ <= psVar41) {\n        if (((uint)local_820._80_4_ <= psVar41 && (int)psVar41 - local_820._80_4_ != 0) &&\n           ((stat64 *)local_820._80_4_ != (stat64 *)0x0)) {\n          psVar41 = (stat64 *)local_820._80_4_;\n        }\nLAB_00014208:\n        if ((psVar49 != (stat64 *)0x0) && (psVar49 != psVar41)) {\n          if ((stat64 *)uVar24 != (stat64 *)0x0) {\n            puVar22 = &DAT_00017110;\n            if (psVar41 <= psVar49) {\n              puVar22 = &DAT_000170dd;\n            }\n            pr2serr("readable length (%u) of IF %s bytes implied by sum of\nscatter list NUMs (%u) and DLEN\n"\n                    ,psVar49,puVar22,psVar41);\n          }\n          if ((local_820._40_4_ != 0) && ((psVar41 <= psVar49 || (1 < (int)local_820._40_4_))))\n          goto LAB_000133f3;\nLAB_0001387e:\n          if (psVar49 < psVar41) {\n            psVar41 = psVar49;\n          }\n        }\n        psVar20 = (stat64 *)((uint)psVar41 / (uint)local_820._76_4_);\n        if (((uint)psVar41 % (uint)local_820._76_4_ != 0) &&\n           (((stat64 *)uVar24 != (stat64 *)0x0 || (1 < (int)local_820._40_4_)))) {\n          psVar26 = psVar41;\n          psVar11 = (stat64 *)local_820._72_4_;\n          pr2serr("Calculated data-out length (0x%x) not a multiple of BS (%u",psVar41,\n                  local_820._72_4_,psVar20);\n          if (local_820._72_4_ != local_820._76_4_) {\n            psVar26 = (stat64 *)(local_820._76_4_ - local_820._72_4_);\n            psVar11 = extraout_ECX_06;\n            psVar20 = extraout_ECX_06;\n            pr2serr(" + %d(PI)",psVar26,extraout_ECX_06,extraout_ECX_06);\n          }\n          if (1 < (int)local_820._40_4_) {\n            pr2serr(")\nexiting ...\n",psVar26,psVar11,psVar20);\n            local_908 = (stat64 *)0xf;\n            goto LAB_000133fd;\n          }\n          pr2serr(")\nzero pad and continue ...\n",psVar26,psVar11,psVar20);\n        }\n      }\n      else {\n        uVar10 = uVar24 | local_820._40_4_;\n        if (uVar10 != 0) {\n          pr2serr("DLEN > than bytes implied by sum of scatter list NUMs (%u)\n",psVar41,uVar10,\n                  uVar10);\n          if (1 < (int)uVar24) {\n            pr2serr("  num_lbard=%u, sum_num=%u actual_bs=%u",local_8f6,local_8ec,local_820._76_4_);\n          }\n          if (local_820._40_4_ != 0) goto LAB_000133f3;\n          goto LAB_00014208;\n        }\n        if ((psVar49 != (stat64 *)0x0) && (psVar49 != psVar41)) goto LAB_0001387e;\n      }" if (parenthesized_expression "((uint)local_820._80_4_ <= psVar41)" ( (binary_expression "(uint)local_820._80_4_ <= psVar41" (cast_expression "(uint)local_820._80_4_" ( (type_descriptor "uint" type_identifier) ) (field_expression "local_820._80_4_" identifier . field_identifier)) <= identifier) )) (compound_statement "{\n        if (((uint)local_820._80_4_ <= psVar41 && (int)psVar41 - local_820._80_4_ != 0) &&\n           ((stat64 *)local_820._80_4_ != (stat64 *)0x0)) {\n          psVar41 = (stat64 *)local_820._80_4_;\n        }\nLAB_00014208:\n        if ((psVar49 != (stat64 *)0x0) && (psVar49 != psVar41)) {\n          if ((stat64 *)uVar24 != (stat64 *)0x0) {\n            puVar22 = &DAT_00017110;\n            if (psVar41 <= psVar49) {\n              puVar22 = &DAT_000170dd;\n            }\n            pr2serr("readable length (%u) of IF %s bytes implied by sum of\nscatter list NUMs (%u) and DLEN\n"\n                    ,psVar49,puVar22,psVar41);\n          }\n          if ((local_820._40_4_ != 0) && ((psVar41 <= psVar49 || (1 < (int)local_820._40_4_))))\n          goto LAB_000133f3;\nLAB_0001387e:\n          if (psVar49 < psVar41) {\n            psVar41 = psVar49;\n          }\n        }\n        psVar20 = (stat64 *)((uint)psVar41 / (uint)local_820._76_4_);\n        if (((uint)psVar41 % (uint)local_820._76_4_ != 0) &&\n           (((stat64 *)uVar24 != (stat64 *)0x0 || (1 < (int)local_820._40_4_)))) {\n          psVar26 = psVar41;\n          psVar11 = (stat64 *)local_820._72_4_;\n          pr2serr("Calculated data-out length (0x%x) not a multiple of BS (%u",psVar41,\n                  local_820._72_4_,psVar20);\n          if (local_820._72_4_ != local_820._76_4_) {\n            psVar26 = (stat64 *)(local_820._76_4_ - local_820._72_4_);\n            psVar11 = extraout_ECX_06;\n            psVar20 = extraout_ECX_06;\n            pr2serr(" + %d(PI)",psVar26,extraout_ECX_06,extraout_ECX_06);\n          }\n          if (1 < (int)local_820._40_4_) {\n            pr2serr(")\nexiting ...\n",psVar26,psVar11,psVar20);\n            local_908 = (stat64 *)0xf;\n            goto LAB_000133fd;\n          }\n          pr2serr(")\nzero pad and continue ...\n",psVar26,psVar11,psVar20);\n        }\n      }" { (if_statement "if (((uint)local_820._80_4_ <= psVar41 && (int)psVar41 - local_820._80_4_ != 0) &&\n           ((stat64 *)local_820._80_4_ != (stat64 *)0x0)) {\n          psVar41 = (stat64 *)local_820._80_4_;\n        }" if (parenthesized_expression "(((uint)local_820._80_4_ <= psVar41 && (int)psVar41 - local_820._80_4_ != 0) &&\n           ((stat64 *)local_820._80_4_ != (stat64 *)0x0))" ( (binary_expression "((uint)local_820._80_4_ <= psVar41 && (int)psVar41 - local_820._80_4_ != 0) &&\n           ((stat64 *)local_820._80_4_ != (stat64 *)0x0)" (parenthesized_expression "((uint)local_820._80_4_ <= psVar41 && (int)psVar41 - local_820._80_4_ != 0)" ( (binary_expression "(uint)local_820._80_4_ <= psVar41 && (int)psVar41 - local_820._80_4_ != 0" (binary_expression "(uint)local_820._80_4_ <= psVar41" (cast_expression "(uint)local_820._80_4_" ( (type_descriptor "uint" type_identifier) ) (field_expression "local_820._80_4_" identifier . field_identifier)) <= identifier) && (binary_expression "(int)psVar41 - local_820._80_4_ != 0" (binary_expression "(int)psVar41 - local_820._80_4_" (cast_expression "(int)psVar41" ( (type_descriptor "int" primitive_type) ) identifier) - (field_expression "local_820._80_4_" identifier . field_identifier)) != number_literal)) )) && (parenthesized_expression "((stat64 *)local_820._80_4_ != (stat64 *)0x0)" ( (binary_expression "(stat64 *)local_820._80_4_ != (stat64 *)0x0" (cast_expression "(stat64 *)local_820._80_4_" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "local_820._80_4_" identifier . field_identifier)) != (cast_expression "(stat64 *)0x0" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ))) )) (compound_statement "{\n          psVar41 = (stat64 *)local_820._80_4_;\n        }" { (expression_statement "psVar41 = (stat64 *)local_820._80_4_;" (assignment_expression "psVar41 = (stat64 *)local_820._80_4_" identifier = (cast_expression "(stat64 *)local_820._80_4_" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "local_820._80_4_" identifier . field_identifier))) ;) })) (labeled_statement "LAB_00014208:\n        if ((psVar49 != (stat64 *)0x0) && (psVar49 != psVar41)) {\n          if ((stat64 *)uVar24 != (stat64 *)0x0) {\n            puVar22 = &DAT_00017110;\n            if (psVar41 <= psVar49) {\n              puVar22 = &DAT_000170dd;\n            }\n            pr2serr("readable length (%u) of IF %s bytes implied by sum of\nscatter list NUMs (%u) and DLEN\n"\n                    ,psVar49,puVar22,psVar41);\n          }\n          if ((local_820._40_4_ != 0) && ((psVar41 <= psVar49 || (1 < (int)local_820._40_4_))))\n          goto LAB_000133f3;\nLAB_0001387e:\n          if (psVar49 < psVar41) {\n            psVar41 = psVar49;\n          }\n        }" statement_identifier : (if_statement "if ((psVar49 != (stat64 *)0x0) && (psVar49 != psVar41)) {\n          if ((stat64 *)uVar24 != (stat64 *)0x0) {\n            puVar22 = &DAT_00017110;\n            if (psVar41 <= psVar49) {\n              puVar22 = &DAT_000170dd;\n            }\n            pr2serr("readable length (%u) of IF %s bytes implied by sum of\nscatter list NUMs (%u) and DLEN\n"\n                    ,psVar49,puVar22,psVar41);\n          }\n          if ((local_820._40_4_ != 0) && ((psVar41 <= psVar49 || (1 < (int)local_820._40_4_))))\n          goto LAB_000133f3;\nLAB_0001387e:\n          if (psVar49 < psVar41) {\n            psVar41 = psVar49;\n          }\n        }" if (parenthesized_expression "((psVar49 != (stat64 *)0x0) && (psVar49 != psVar41))" ( (binary_expression "(psVar49 != (stat64 *)0x0) && (psVar49 != psVar41)" (parenthesized_expression "(psVar49 != (stat64 *)0x0)" ( (binary_expression "psVar49 != (stat64 *)0x0" identifier != (cast_expression "(stat64 *)0x0" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) && (parenthesized_expression "(psVar49 != psVar41)" ( (binary_expression "psVar49 != psVar41" identifier != identifier) ))) )) (compound_statement "{\n          if ((stat64 *)uVar24 != (stat64 *)0x0) {\n            puVar22 = &DAT_00017110;\n            if (psVar41 <= psVar49) {\n              puVar22 = &DAT_000170dd;\n            }\n            pr2serr("readable length (%u) of IF %s bytes implied by sum of\nscatter list NUMs (%u) and DLEN\n"\n                    ,psVar49,puVar22,psVar41);\n          }\n          if ((local_820._40_4_ != 0) && ((psVar41 <= psVar49 || (1 < (int)local_820._40_4_))))\n          goto LAB_000133f3;\nLAB_0001387e:\n          if (psVar49 < psVar41) {\n            psVar41 = psVar49;\n          }\n        }" { (if_statement "if ((stat64 *)uVar24 != (stat64 *)0x0) {\n            puVar22 = &DAT_00017110;\n            if (psVar41 <= psVar49) {\n              puVar22 = &DAT_000170dd;\n            }\n            pr2serr("readable length (%u) of IF %s bytes implied by sum of\nscatter list NUMs (%u) and DLEN\n"\n                    ,psVar49,puVar22,psVar41);\n          }" if (parenthesized_expression "((stat64 *)uVar24 != (stat64 *)0x0)" ( (binary_expression "(stat64 *)uVar24 != (stat64 *)0x0" (cast_expression "(stat64 *)uVar24" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) != (cast_expression "(stat64 *)0x0" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n            puVar22 = &DAT_00017110;\n            if (psVar41 <= psVar49) {\n              puVar22 = &DAT_000170dd;\n            }\n            pr2serr("readable length (%u) of IF %s bytes implied by sum of\nscatter list NUMs (%u) and DLEN\n"\n                    ,psVar49,puVar22,psVar41);\n          }" { (expression_statement "puVar22 = &DAT_00017110;" (assignment_expression "puVar22 = &DAT_00017110" identifier = (pointer_expression "&DAT_00017110" & identifier)) ;) (if_statement "if (psVar41 <= psVar49) {\n              puVar22 = &DAT_000170dd;\n            }" if (parenthesized_expression "(psVar41 <= psVar49)" ( (binary_expression "psVar41 <= psVar49" identifier <= identifier) )) (compound_statement "{\n              puVar22 = &DAT_000170dd;\n            }" { (expression_statement "puVar22 = &DAT_000170dd;" (assignment_expression "puVar22 = &DAT_000170dd" identifier = (pointer_expression "&DAT_000170dd" & identifier)) ;) })) (expression_statement "pr2serr("readable length (%u) of IF %s bytes implied by sum of\nscatter list NUMs (%u) and DLEN\n"\n                    ,psVar49,puVar22,psVar41);" (call_expression "pr2serr("readable length (%u) of IF %s bytes implied by sum of\nscatter list NUMs (%u) and DLEN\n"\n                    ,psVar49,puVar22,psVar41)" identifier (argument_list "("readable length (%u) of IF %s bytes implied by sum of\nscatter list NUMs (%u) and DLEN\n"\n                    ,psVar49,puVar22,psVar41)" ( (string_literal ""readable length (%u) of IF %s bytes implied by sum of\nscatter list NUMs (%u) and DLEN\n"" " string_content escape_sequence string_content escape_sequence ") , identifier , identifier , identifier ))) ;) })) (if_statement "if ((local_820._40_4_ != 0) && ((psVar41 <= psVar49 || (1 < (int)local_820._40_4_))))\n          goto LAB_000133f3;" if (parenthesized_expression "((local_820._40_4_ != 0) && ((psVar41 <= psVar49 || (1 < (int)local_820._40_4_))))" ( (binary_expression "(local_820._40_4_ != 0) && ((psVar41 <= psVar49 || (1 < (int)local_820._40_4_)))" (parenthesized_expression "(local_820._40_4_ != 0)" ( (binary_expression "local_820._40_4_ != 0" (field_expression "local_820._40_4_" identifier . field_identifier) != number_literal) )) && (parenthesized_expression "((psVar41 <= psVar49 || (1 < (int)local_820._40_4_)))" ( (parenthesized_expression "(psVar41 <= psVar49 || (1 < (int)local_820._40_4_))" ( (binary_expression "psVar41 <= psVar49 || (1 < (int)local_820._40_4_)" (binary_expression "psVar41 <= psVar49" identifier <= identifier) || (parenthesized_expression "(1 < (int)local_820._40_4_)" ( (binary_expression "1 < (int)local_820._40_4_" number_literal < (cast_expression "(int)local_820._40_4_" ( (type_descriptor "int" primitive_type) ) (field_expression "local_820._40_4_" identifier . field_identifier))) ))) )) ))) )) (goto_statement "goto LAB_000133f3;" goto statement_identifier ;)) (labeled_statement "LAB_0001387e:\n          if (psVar49 < psVar41) {\n            psVar41 = psVar49;\n          }" statement_identifier : (if_statement "if (psVar49 < psVar41) {\n            psVar41 = psVar49;\n          }" if (parenthesized_expression "(psVar49 < psVar41)" ( (binary_expression "psVar49 < psVar41" identifier < identifier) )) (compound_statement "{\n            psVar41 = psVar49;\n          }" { (expression_statement "psVar41 = psVar49;" (assignment_expression "psVar41 = psVar49" identifier = identifier) ;) }))) }))) (expression_statement "psVar20 = (stat64 *)((uint)psVar41 / (uint)local_820._76_4_);" (assignment_expression "psVar20 = (stat64 *)((uint)psVar41 / (uint)local_820._76_4_)" identifier = (cast_expression "(stat64 *)((uint)psVar41 / (uint)local_820._76_4_)" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((uint)psVar41 / (uint)local_820._76_4_)" ( (binary_expression "(uint)psVar41 / (uint)local_820._76_4_" (cast_expression "(uint)psVar41" ( (type_descriptor "uint" type_identifier) ) identifier) / (cast_expression "(uint)local_820._76_4_" ( (type_descriptor "uint" type_identifier) ) (field_expression "local_820._76_4_" identifier . field_identifier))) )))) ;) (if_statement "if (((uint)psVar41 % (uint)local_820._76_4_ != 0) &&\n           (((stat64 *)uVar24 != (stat64 *)0x0 || (1 < (int)local_820._40_4_)))) {\n          psVar26 = psVar41;\n          psVar11 = (stat64 *)local_820._72_4_;\n          pr2serr("Calculated data-out length (0x%x) not a multiple of BS (%u",psVar41,\n                  local_820._72_4_,psVar20);\n          if (local_820._72_4_ != local_820._76_4_) {\n            psVar26 = (stat64 *)(local_820._76_4_ - local_820._72_4_);\n            psVar11 = extraout_ECX_06;\n            psVar20 = extraout_ECX_06;\n            pr2serr(" + %d(PI)",psVar26,extraout_ECX_06,extraout_ECX_06);\n          }\n          if (1 < (int)local_820._40_4_) {\n            pr2serr(")\nexiting ...\n",psVar26,psVar11,psVar20);\n            local_908 = (stat64 *)0xf;\n            goto LAB_000133fd;\n          }\n          pr2serr(")\nzero pad and continue ...\n",psVar26,psVar11,psVar20);\n        }" if (parenthesized_expression "(((uint)psVar41 % (uint)local_820._76_4_ != 0) &&\n           (((stat64 *)uVar24 != (stat64 *)0x0 || (1 < (int)local_820._40_4_))))" ( (binary_expression "((uint)psVar41 % (uint)local_820._76_4_ != 0) &&\n           (((stat64 *)uVar24 != (stat64 *)0x0 || (1 < (int)local_820._40_4_)))" (parenthesized_expression "((uint)psVar41 % (uint)local_820._76_4_ != 0)" ( (binary_expression "(uint)psVar41 % (uint)local_820._76_4_ != 0" (binary_expression "(uint)psVar41 % (uint)local_820._76_4_" (cast_expression "(uint)psVar41" ( (type_descriptor "uint" type_identifier) ) identifier) % (cast_expression "(uint)local_820._76_4_" ( (type_descriptor "uint" type_identifier) ) (field_expression "local_820._76_4_" identifier . field_identifier))) != number_literal) )) && (parenthesized_expression "(((stat64 *)uVar24 != (stat64 *)0x0 || (1 < (int)local_820._40_4_)))" ( (parenthesized_expression "((stat64 *)uVar24 != (stat64 *)0x0 || (1 < (int)local_820._40_4_))" ( (binary_expression "(stat64 *)uVar24 != (stat64 *)0x0 || (1 < (int)local_820._40_4_)" (binary_expression "(stat64 *)uVar24 != (stat64 *)0x0" (cast_expression "(stat64 *)uVar24" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) != (cast_expression "(stat64 *)0x0" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) || (parenthesized_expression "(1 < (int)local_820._40_4_)" ( (binary_expression "1 < (int)local_820._40_4_" number_literal < (cast_expression "(int)local_820._40_4_" ( (type_descriptor "int" primitive_type) ) (field_expression "local_820._40_4_" identifier . field_identifier))) ))) )) ))) )) (compound_statement "{\n          psVar26 = psVar41;\n          psVar11 = (stat64 *)local_820._72_4_;\n          pr2serr("Calculated data-out length (0x%x) not a multiple of BS (%u",psVar41,\n                  local_820._72_4_,psVar20);\n          if (local_820._72_4_ != local_820._76_4_) {\n            psVar26 = (stat64 *)(local_820._76_4_ - local_820._72_4_);\n            psVar11 = extraout_ECX_06;\n            psVar20 = extraout_ECX_06;\n            pr2serr(" + %d(PI)",psVar26,extraout_ECX_06,extraout_ECX_06);\n          }\n          if (1 < (int)local_820._40_4_) {\n            pr2serr(")\nexiting ...\n",psVar26,psVar11,psVar20);\n            local_908 = (stat64 *)0xf;\n            goto LAB_000133fd;\n          }\n          pr2serr(")\nzero pad and continue ...\n",psVar26,psVar11,psVar20);\n        }" { (expression_statement "psVar26 = psVar41;" (assignment_expression "psVar26 = psVar41" identifier = identifier) ;) (expression_statement "psVar11 = (stat64 *)local_820._72_4_;" (assignment_expression "psVar11 = (stat64 *)local_820._72_4_" identifier = (cast_expression "(stat64 *)local_820._72_4_" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "local_820._72_4_" identifier . field_identifier))) ;) (expression_statement "pr2serr("Calculated data-out length (0x%x) not a multiple of BS (%u",psVar41,\n                  local_820._72_4_,psVar20);" (call_expression "pr2serr("Calculated data-out length (0x%x) not a multiple of BS (%u",psVar41,\n                  local_820._72_4_,psVar20)" identifier (argument_list "("Calculated data-out length (0x%x) not a multiple of BS (%u",psVar41,\n                  local_820._72_4_,psVar20)" ( (string_literal ""Calculated data-out length (0x%x) not a multiple of BS (%u"" " string_content ") , identifier , (field_expression "local_820._72_4_" identifier . field_identifier) , identifier ))) ;) (if_statement "if (local_820._72_4_ != local_820._76_4_) {\n            psVar26 = (stat64 *)(local_820._76_4_ - local_820._72_4_);\n            psVar11 = extraout_ECX_06;\n            psVar20 = extraout_ECX_06;\n            pr2serr(" + %d(PI)",psVar26,extraout_ECX_06,extraout_ECX_06);\n          }" if (parenthesized_expression "(local_820._72_4_ != local_820._76_4_)" ( (binary_expression "local_820._72_4_ != local_820._76_4_" (field_expression "local_820._72_4_" identifier . field_identifier) != (field_expression "local_820._76_4_" identifier . field_identifier)) )) (compound_statement "{\n            psVar26 = (stat64 *)(local_820._76_4_ - local_820._72_4_);\n            psVar11 = extraout_ECX_06;\n            psVar20 = extraout_ECX_06;\n            pr2serr(" + %d(PI)",psVar26,extraout_ECX_06,extraout_ECX_06);\n          }" { (expression_statement "psVar26 = (stat64 *)(local_820._76_4_ - local_820._72_4_);" (assignment_expression "psVar26 = (stat64 *)(local_820._76_4_ - local_820._72_4_)" identifier = (cast_expression "(stat64 *)(local_820._76_4_ - local_820._72_4_)" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_820._76_4_ - local_820._72_4_)" ( (binary_expression "local_820._76_4_ - local_820._72_4_" (field_expression "local_820._76_4_" identifier . field_identifier) - (field_expression "local_820._72_4_" identifier . field_identifier)) )))) ;) (expression_statement "psVar11 = extraout_ECX_06;" (assignment_expression "psVar11 = extraout_ECX_06" identifier = identifier) ;) (expression_statement "psVar20 = extraout_ECX_06;" (assignment_expression "psVar20 = extraout_ECX_06" identifier = identifier) ;) (expression_statement "pr2serr(" + %d(PI)",psVar26,extraout_ECX_06,extraout_ECX_06);" (call_expression "pr2serr(" + %d(PI)",psVar26,extraout_ECX_06,extraout_ECX_06)" identifier (argument_list "(" + %d(PI)",psVar26,extraout_ECX_06,extraout_ECX_06)" ( (string_literal "" + %d(PI)"" " string_content ") , identifier , identifier , identifier ))) ;) })) (if_statement "if (1 < (int)local_820._40_4_) {\n            pr2serr(")\nexiting ...\n",psVar26,psVar11,psVar20);\n            local_908 = (stat64 *)0xf;\n            goto LAB_000133fd;\n          }" if (parenthesized_expression "(1 < (int)local_820._40_4_)" ( (binary_expression "1 < (int)local_820._40_4_" number_literal < (cast_expression "(int)local_820._40_4_" ( (type_descriptor "int" primitive_type) ) (field_expression "local_820._40_4_" identifier . field_identifier))) )) (compound_statement "{\n            pr2serr(")\nexiting ...\n",psVar26,psVar11,psVar20);\n            local_908 = (stat64 *)0xf;\n            goto LAB_000133fd;\n          }" { (expression_statement "pr2serr(")\nexiting ...\n",psVar26,psVar11,psVar20);" (call_expression "pr2serr(")\nexiting ...\n",psVar26,psVar11,psVar20)" identifier (argument_list "(")\nexiting ...\n",psVar26,psVar11,psVar20)" ( (string_literal "")\nexiting ...\n"" " string_content escape_sequence string_content escape_sequence ") , identifier , identifier , identifier ))) ;) (expression_statement "local_908 = (stat64 *)0xf;" (assignment_expression "local_908 = (stat64 *)0xf" identifier = (cast_expression "(stat64 *)0xf" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (goto_statement "goto LAB_000133fd;" goto statement_identifier ;) })) (expression_statement "pr2serr(")\nzero pad and continue ...\n",psVar26,psVar11,psVar20);" (call_expression "pr2serr(")\nzero pad and continue ...\n",psVar26,psVar11,psVar20)" identifier (argument_list "(")\nzero pad and continue ...\n",psVar26,psVar11,psVar20)" ( (string_literal "")\nzero pad and continue ...\n"" " string_content escape_sequence string_content escape_sequence ") , identifier , identifier , identifier ))) ;) })) }) (else_clause "else {\n        uVar10 = uVar24 | local_820._40_4_;\n        if (uVar10 != 0) {\n          pr2serr("DLEN > than bytes implied by sum of scatter list NUMs (%u)\n",psVar41,uVar10,\n                  uVar10);\n          if (1 < (int)uVar24) {\n            pr2serr("  num_lbard=%u, sum_num=%u actual_bs=%u",local_8f6,local_8ec,local_820._76_4_);\n          }\n          if (local_820._40_4_ != 0) goto LAB_000133f3;\n          goto LAB_00014208;\n        }\n        if ((psVar49 != (stat64 *)0x0) && (psVar49 != psVar41)) goto LAB_0001387e;\n      }" else (compound_statement "{\n        uVar10 = uVar24 | local_820._40_4_;\n        if (uVar10 != 0) {\n          pr2serr("DLEN > than bytes implied by sum of scatter list NUMs (%u)\n",psVar41,uVar10,\n                  uVar10);\n          if (1 < (int)uVar24) {\n            pr2serr("  num_lbard=%u, sum_num=%u actual_bs=%u",local_8f6,local_8ec,local_820._76_4_);\n          }\n          if (local_820._40_4_ != 0) goto LAB_000133f3;\n          goto LAB_00014208;\n        }\n        if ((psVar49 != (stat64 *)0x0) && (psVar49 != psVar41)) goto LAB_0001387e;\n      }" { (expression_statement "uVar10 = uVar24 | local_820._40_4_;" (assignment_expression "uVar10 = uVar24 | local_820._40_4_" identifier = (binary_expression "uVar24 | local_820._40_4_" identifier | (field_expression "local_820._40_4_" identifier . field_identifier))) ;) (if_statement "if (uVar10 != 0) {\n          pr2serr("DLEN > than bytes implied by sum of scatter list NUMs (%u)\n",psVar41,uVar10,\n                  uVar10);\n          if (1 < (int)uVar24) {\n            pr2serr("  num_lbard=%u, sum_num=%u actual_bs=%u",local_8f6,local_8ec,local_820._76_4_);\n          }\n          if (local_820._40_4_ != 0) goto LAB_000133f3;\n          goto LAB_00014208;\n        }" if (parenthesized_expression "(uVar10 != 0)" ( (binary_expression "uVar10 != 0" identifier != number_literal) )) (compound_statement "{\n          pr2serr("DLEN > than bytes implied by sum of scatter list NUMs (%u)\n",psVar41,uVar10,\n                  uVar10);\n          if (1 < (int)uVar24) {\n            pr2serr("  num_lbard=%u, sum_num=%u actual_bs=%u",local_8f6,local_8ec,local_820._76_4_);\n          }\n          if (local_820._40_4_ != 0) goto LAB_000133f3;\n          goto LAB_00014208;\n        }" { (expression_statement "pr2serr("DLEN > than bytes implied by sum of scatter list NUMs (%u)\n",psVar41,uVar10,\n                  uVar10);" (call_expression "pr2serr("DLEN > than bytes implied by sum of scatter list NUMs (%u)\n",psVar41,uVar10,\n                  uVar10)" identifier (argument_list "("DLEN > than bytes implied by sum of scatter list NUMs (%u)\n",psVar41,uVar10,\n                  uVar10)" ( (string_literal ""DLEN > than bytes implied by sum of scatter list NUMs (%u)\n"" " string_content escape_sequence ") , identifier , identifier , identifier ))) ;) (if_statement "if (1 < (int)uVar24) {\n            pr2serr("  num_lbard=%u, sum_num=%u actual_bs=%u",local_8f6,local_8ec,local_820._76_4_);\n          }" if (parenthesized_expression "(1 < (int)uVar24)" ( (binary_expression "1 < (int)uVar24" number_literal < (cast_expression "(int)uVar24" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n            pr2serr("  num_lbard=%u, sum_num=%u actual_bs=%u",local_8f6,local_8ec,local_820._76_4_);\n          }" { (expression_statement "pr2serr("  num_lbard=%u, sum_num=%u actual_bs=%u",local_8f6,local_8ec,local_820._76_4_);" (call_expression "pr2serr("  num_lbard=%u, sum_num=%u actual_bs=%u",local_8f6,local_8ec,local_820._76_4_)" identifier (argument_list "("  num_lbard=%u, sum_num=%u actual_bs=%u",local_8f6,local_8ec,local_820._76_4_)" ( (string_literal ""  num_lbard=%u, sum_num=%u actual_bs=%u"" " string_content ") , identifier , identifier , (field_expression "local_820._76_4_" identifier . field_identifier) ))) ;) })) (if_statement "if (local_820._40_4_ != 0) goto LAB_000133f3;" if (parenthesized_expression "(local_820._40_4_ != 0)" ( (binary_expression "local_820._40_4_ != 0" (field_expression "local_820._40_4_" identifier . field_identifier) != number_literal) )) (goto_statement "goto LAB_000133f3;" goto statement_identifier ;)) (goto_statement "goto LAB_00014208;" goto statement_identifier ;) })) (if_statement "if ((psVar49 != (stat64 *)0x0) && (psVar49 != psVar41)) goto LAB_0001387e;" if (parenthesized_expression "((psVar49 != (stat64 *)0x0) && (psVar49 != psVar41))" ( (binary_expression "(psVar49 != (stat64 *)0x0) && (psVar49 != psVar41)" (parenthesized_expression "(psVar49 != (stat64 *)0x0)" ( (binary_expression "psVar49 != (stat64 *)0x0" identifier != (cast_expression "(stat64 *)0x0" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) && (parenthesized_expression "(psVar49 != psVar41)" ( (binary_expression "psVar49 != psVar41" identifier != identifier) ))) )) (goto_statement "goto LAB_0001387e;" goto statement_identifier ;)) }))) (expression_statement "local_908 = (stat64 *)\n                  bin_read((int)local_924,\n                           (uint8_t *)\n                           ((int)&psVar29->st_dev +\n                           (uint)(ushort)local_820._62_2_ * local_820._76_4_),(uint32_t)psVar41,\n                           "IF 3");" (assignment_expression "local_908 = (stat64 *)\n                  bin_read((int)local_924,\n                           (uint8_t *)\n                           ((int)&psVar29->st_dev +\n                           (uint)(ushort)local_820._62_2_ * local_820._76_4_),(uint32_t)psVar41,\n                           "IF 3")" identifier = (cast_expression "(stat64 *)\n                  bin_read((int)local_924,\n                           (uint8_t *)\n                           ((int)&psVar29->st_dev +\n                           (uint)(ushort)local_820._62_2_ * local_820._76_4_),(uint32_t)psVar41,\n                           "IF 3")" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "bin_read((int)local_924,\n                           (uint8_t *)\n                           ((int)&psVar29->st_dev +\n                           (uint)(ushort)local_820._62_2_ * local_820._76_4_),(uint32_t)psVar41,\n                           "IF 3")" identifier (argument_list "((int)local_924,\n                           (uint8_t *)\n                           ((int)&psVar29->st_dev +\n                           (uint)(ushort)local_820._62_2_ * local_820._76_4_),(uint32_t)psVar41,\n                           "IF 3")" ( (cast_expression "(int)local_924" ( (type_descriptor "int" primitive_type) ) identifier) , (cast_expression "(uint8_t *)\n                           ((int)&psVar29->st_dev +\n                           (uint)(ushort)local_820._62_2_ * local_820._76_4_)" ( (type_descriptor "uint8_t *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&psVar29->st_dev +\n                           (uint)(ushort)local_820._62_2_ * local_820._76_4_)" ( (binary_expression "(int)&psVar29->st_dev +\n                           (uint)(ushort)local_820._62_2_ * local_820._76_4_" (cast_expression "(int)&psVar29->st_dev" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&psVar29->st_dev" & (field_expression "psVar29->st_dev" identifier -> field_identifier))) + (binary_expression "(uint)(ushort)local_820._62_2_ * local_820._76_4_" (cast_expression "(uint)(ushort)local_820._62_2_" ( (type_descriptor "uint" type_identifier) ) (cast_expression "(ushort)local_820._62_2_" ( (type_descriptor "ushort" type_identifier) ) (field_expression "local_820._62_2_" identifier . field_identifier))) * (field_expression "local_820._76_4_" identifier . field_identifier))) ))) , (cast_expression "(uint32_t)psVar41" ( (type_descriptor "uint32_t" primitive_type) ) identifier) , (string_literal ""IF 3"" " string_content ") ))))) ;) (expression_statement "uVar4 = local_820._62_2_;" (assignment_expression "uVar4 = local_820._62_2_" identifier = (field_expression "local_820._62_2_" identifier . field_identifier)) ;) }) (else_clause "else {\nLAB_00013dcd:\n      psVar41 = (stat64 *)local_820._76_4_;\n      if (local_820._64_2_ != 0) {\n        psVar41 = (stat64 *)(((ushort)local_820._64_2_ + 1) * 0x20);\n        if (local_908 < psVar41) {\n          pr2serr("SF not long enough (%u bytes) to provide RD (%u) %ss\n",local_908,psVar41,\n                  "LBA range descriptor");\n          local_908 = (stat64 *)0xf;\n          goto LAB_000133fd;\n        }\n        psVar41 = (stat64 *)\n                  ((((uint)psVar41 / (uint)local_820._76_4_ + 1) -\n                   (uint)((uint)psVar41 % (uint)local_820._76_4_ == 0)) * local_820._76_4_);\n      }\n      local_918 = (stat64 *)local_820._76_4_;\n      if (local_93c != (stat64 *)0x0) {\n        local_918 = (stat64 *)\n                    ((((uint)local_93c / (uint)local_820._76_4_ + 1) -\n                     (uint)((uint)local_93c % (uint)local_820._76_4_ == 0)) * local_820._76_4_);\n      }\n      psVar29 = (stat64 *)\n                sg_memalign((int)&psVar41->st_dev + (int)&local_918->st_dev,0,&local_8e8,0);\n      if (psVar29 == (stat64 *)0x0) {\nLAB_00013fb3:\n        pcVar18 = "unable to allocate aligned memory for scatterlist+data\n";\nLAB_00013fbc:\n        pr2serr(pcVar18);\n        local_908 = (stat64 *)sg_convert_errno(0xc);\n        goto LAB_000133fd;\n      }\n      local_908 = (stat64 *)bin_read((int)local_920,(uint8_t *)psVar29,(uint32_t)local_908,"SF");\n      if (local_908 != (stat64 *)0x0) goto LAB_000133fd;\n      _Var9 = check_lbrds((uint8_t *)psVar29,(uint32_t)psVar41,(opts_t *)local_820,&local_8f6,\n                          (uint32_t *)&local_8ec);\n      if (!_Var9) goto LAB_000133f3;\n      if (local_820._64_2_ != local_8f6) {\n        pr2serr("Try again with --scattered=%u\n",local_8f6,extraout_EDX_06,extraout_EDX_06);\n        local_908 = (stat64 *)0xf;\n        goto LAB_000133fd;\n      }\n      psVar20 = (stat64 *)(local_820._76_4_ * (int)local_8ec);\n      if (local_918 < psVar20) {\n        psVar26 = (stat64 *)\n                  sg_memalign((int)&psVar41->st_dev + (int)&psVar20->st_dev,0,&local_8e4,0);\n        if (psVar26 == (stat64 *)0x0) goto LAB_00014273;\n        memcpy(psVar26,psVar29,(size_t)psVar41);\n        free(local_8e8);\n        local_8e8 = local_8e4;\n        psVar29 = psVar26;\n        local_918 = psVar20;\n      }\n      psVar20 = psVar41;\n      if ((local_93c != psVar41) &&\n         (psVar20 = local_93c, (stat64 *)uVar24 != (stat64 *)0x0 || local_820._40_4_ != 0)) {\n        puVar22 = &DAT_000170dd;\n        if (local_93c <= psVar41) {\n          puVar22 = &DAT_00017110;\n        }\n        psVar26 = psVar41;\n        pr2serr("IF length (%u) %s \'sum_num\' bytes (%u), ",local_93c,puVar22,psVar41);\n        if (1 < (int)local_820._40_4_) {\n          pr2serr("exiting (strict=%d)\n",local_820._40_4_,psVar41,psVar41);\n          local_908 = (stat64 *)0xf;\n          goto LAB_000133fd;\n        }\n        pr2serr("continuing ...\n",psVar20,puVar22,psVar26);\n        psVar20 = psVar41;\n        if (local_93c < psVar41) {\n          psVar20 = local_93c;\n        }\n      }\n      local_908 = (stat64 *)\n                  bin_read((int)local_924,\n                           (uint8_t *)((int)&psVar29->st_dev + (int)&local_918->st_dev),\n                           (uint32_t)psVar20,"IF 4");\n      uVar4 = local_8f6;\n    }" else (compound_statement "{\nLAB_00013dcd:\n      psVar41 = (stat64 *)local_820._76_4_;\n      if (local_820._64_2_ != 0) {\n        psVar41 = (stat64 *)(((ushort)local_820._64_2_ + 1) * 0x20);\n        if (local_908 < psVar41) {\n          pr2serr("SF not long enough (%u bytes) to provide RD (%u) %ss\n",local_908,psVar41,\n                  "LBA range descriptor");\n          local_908 = (stat64 *)0xf;\n          goto LAB_000133fd;\n        }\n        psVar41 = (stat64 *)\n                  ((((uint)psVar41 / (uint)local_820._76_4_ + 1) -\n                   (uint)((uint)psVar41 % (uint)local_820._76_4_ == 0)) * local_820._76_4_);\n      }\n      local_918 = (stat64 *)local_820._76_4_;\n      if (local_93c != (stat64 *)0x0) {\n        local_918 = (stat64 *)\n                    ((((uint)local_93c / (uint)local_820._76_4_ + 1) -\n                     (uint)((uint)local_93c % (uint)local_820._76_4_ == 0)) * local_820._76_4_);\n      }\n      psVar29 = (stat64 *)\n                sg_memalign((int)&psVar41->st_dev + (int)&local_918->st_dev,0,&local_8e8,0);\n      if (psVar29 == (stat64 *)0x0) {\nLAB_00013fb3:\n        pcVar18 = "unable to allocate aligned memory for scatterlist+data\n";\nLAB_00013fbc:\n        pr2serr(pcVar18);\n        local_908 = (stat64 *)sg_convert_errno(0xc);\n        goto LAB_000133fd;\n      }\n      local_908 = (stat64 *)bin_read((int)local_920,(uint8_t *)psVar29,(uint32_t)local_908,"SF");\n      if (local_908 != (stat64 *)0x0) goto LAB_000133fd;\n      _Var9 = check_lbrds((uint8_t *)psVar29,(uint32_t)psVar41,(opts_t *)local_820,&local_8f6,\n                          (uint32_t *)&local_8ec);\n      if (!_Var9) goto LAB_000133f3;\n      if (local_820._64_2_ != local_8f6) {\n        pr2serr("Try again with --scattered=%u\n",local_8f6,extraout_EDX_06,extraout_EDX_06);\n        local_908 = (stat64 *)0xf;\n        goto LAB_000133fd;\n      }\n      psVar20 = (stat64 *)(local_820._76_4_ * (int)local_8ec);\n      if (local_918 < psVar20) {\n        psVar26 = (stat64 *)\n                  sg_memalign((int)&psVar41->st_dev + (int)&psVar20->st_dev,0,&local_8e4,0);\n        if (psVar26 == (stat64 *)0x0) goto LAB_00014273;\n        memcpy(psVar26,psVar29,(size_t)psVar41);\n        free(local_8e8);\n        local_8e8 = local_8e4;\n        psVar29 = psVar26;\n        local_918 = psVar20;\n      }\n      psVar20 = psVar41;\n      if ((local_93c != psVar41) &&\n         (psVar20 = local_93c, (stat64 *)uVar24 != (stat64 *)0x0 || local_820._40_4_ != 0)) {\n        puVar22 = &DAT_000170dd;\n        if (local_93c <= psVar41) {\n          puVar22 = &DAT_00017110;\n        }\n        psVar26 = psVar41;\n        pr2serr("IF length (%u) %s \'sum_num\' bytes (%u), ",local_93c,puVar22,psVar41);\n        if (1 < (int)local_820._40_4_) {\n          pr2serr("exiting (strict=%d)\n",local_820._40_4_,psVar41,psVar41);\n          local_908 = (stat64 *)0xf;\n          goto LAB_000133fd;\n        }\n        pr2serr("continuing ...\n",psVar20,puVar22,psVar26);\n        psVar20 = psVar41;\n        if (local_93c < psVar41) {\n          psVar20 = local_93c;\n        }\n      }\n      local_908 = (stat64 *)\n                  bin_read((int)local_924,\n                           (uint8_t *)((int)&psVar29->st_dev + (int)&local_918->st_dev),\n                           (uint32_t)psVar20,"IF 4");\n      uVar4 = local_8f6;\n    }" { (labeled_statement "LAB_00013dcd:\n      psVar41 = (stat64 *)local_820._76_4_;" statement_identifier : (expression_statement "psVar41 = (stat64 *)local_820._76_4_;" (assignment_expression "psVar41 = (stat64 *)local_820._76_4_" identifier = (cast_expression "(stat64 *)local_820._76_4_" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "local_820._76_4_" identifier . field_identifier))) ;)) (if_statement "if (local_820._64_2_ != 0) {\n        psVar41 = (stat64 *)(((ushort)local_820._64_2_ + 1) * 0x20);\n        if (local_908 < psVar41) {\n          pr2serr("SF not long enough (%u bytes) to provide RD (%u) %ss\n",local_908,psVar41,\n                  "LBA range descriptor");\n          local_908 = (stat64 *)0xf;\n          goto LAB_000133fd;\n        }\n        psVar41 = (stat64 *)\n                  ((((uint)psVar41 / (uint)local_820._76_4_ + 1) -\n                   (uint)((uint)psVar41 % (uint)local_820._76_4_ == 0)) * local_820._76_4_);\n      }" if (parenthesized_expression "(local_820._64_2_ != 0)" ( (binary_expression "local_820._64_2_ != 0" (field_expression "local_820._64_2_" identifier . field_identifier) != number_literal) )) (compound_statement "{\n        psVar41 = (stat64 *)(((ushort)local_820._64_2_ + 1) * 0x20);\n        if (local_908 < psVar41) {\n          pr2serr("SF not long enough (%u bytes) to provide RD (%u) %ss\n",local_908,psVar41,\n                  "LBA range descriptor");\n          local_908 = (stat64 *)0xf;\n          goto LAB_000133fd;\n        }\n        psVar41 = (stat64 *)\n                  ((((uint)psVar41 / (uint)local_820._76_4_ + 1) -\n                   (uint)((uint)psVar41 % (uint)local_820._76_4_ == 0)) * local_820._76_4_);\n      }" { (expression_statement "psVar41 = (stat64 *)(((ushort)local_820._64_2_ + 1) * 0x20);" (assignment_expression "psVar41 = (stat64 *)(((ushort)local_820._64_2_ + 1) * 0x20)" identifier = (cast_expression "(stat64 *)(((ushort)local_820._64_2_ + 1) * 0x20)" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(((ushort)local_820._64_2_ + 1) * 0x20)" ( (binary_expression "((ushort)local_820._64_2_ + 1) * 0x20" (parenthesized_expression "((ushort)local_820._64_2_ + 1)" ( (binary_expression "(ushort)local_820._64_2_ + 1" (cast_expression "(ushort)local_820._64_2_" ( (type_descriptor "ushort" type_identifier) ) (field_expression "local_820._64_2_" identifier . field_identifier)) + number_literal) )) * number_literal) )))) ;) (if_statement "if (local_908 < psVar41) {\n          pr2serr("SF not long enough (%u bytes) to provide RD (%u) %ss\n",local_908,psVar41,\n                  "LBA range descriptor");\n          local_908 = (stat64 *)0xf;\n          goto LAB_000133fd;\n        }" if (parenthesized_expression "(local_908 < psVar41)" ( (binary_expression "local_908 < psVar41" identifier < identifier) )) (compound_statement "{\n          pr2serr("SF not long enough (%u bytes) to provide RD (%u) %ss\n",local_908,psVar41,\n                  "LBA range descriptor");\n          local_908 = (stat64 *)0xf;\n          goto LAB_000133fd;\n        }" { (expression_statement "pr2serr("SF not long enough (%u bytes) to provide RD (%u) %ss\n",local_908,psVar41,\n                  "LBA range descriptor");" (call_expression "pr2serr("SF not long enough (%u bytes) to provide RD (%u) %ss\n",local_908,psVar41,\n                  "LBA range descriptor")" identifier (argument_list "("SF not long enough (%u bytes) to provide RD (%u) %ss\n",local_908,psVar41,\n                  "LBA range descriptor")" ( (string_literal ""SF not long enough (%u bytes) to provide RD (%u) %ss\n"" " string_content escape_sequence ") , identifier , identifier , (string_literal ""LBA range descriptor"" " string_content ") ))) ;) (expression_statement "local_908 = (stat64 *)0xf;" (assignment_expression "local_908 = (stat64 *)0xf" identifier = (cast_expression "(stat64 *)0xf" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (goto_statement "goto LAB_000133fd;" goto statement_identifier ;) })) (expression_statement "psVar41 = (stat64 *)\n                  ((((uint)psVar41 / (uint)local_820._76_4_ + 1) -\n                   (uint)((uint)psVar41 % (uint)local_820._76_4_ == 0)) * local_820._76_4_);" (assignment_expression "psVar41 = (stat64 *)\n                  ((((uint)psVar41 / (uint)local_820._76_4_ + 1) -\n                   (uint)((uint)psVar41 % (uint)local_820._76_4_ == 0)) * local_820._76_4_)" identifier = (cast_expression "(stat64 *)\n                  ((((uint)psVar41 / (uint)local_820._76_4_ + 1) -\n                   (uint)((uint)psVar41 % (uint)local_820._76_4_ == 0)) * local_820._76_4_)" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((((uint)psVar41 / (uint)local_820._76_4_ + 1) -\n                   (uint)((uint)psVar41 % (uint)local_820._76_4_ == 0)) * local_820._76_4_)" ( (binary_expression "(((uint)psVar41 / (uint)local_820._76_4_ + 1) -\n                   (uint)((uint)psVar41 % (uint)local_820._76_4_ == 0)) * local_820._76_4_" (parenthesized_expression "(((uint)psVar41 / (uint)local_820._76_4_ + 1) -\n                   (uint)((uint)psVar41 % (uint)local_820._76_4_ == 0))" ( (binary_expression "((uint)psVar41 / (uint)local_820._76_4_ + 1) -\n                   (uint)((uint)psVar41 % (uint)local_820._76_4_ == 0)" (parenthesized_expression "((uint)psVar41 / (uint)local_820._76_4_ + 1)" ( (binary_expression "(uint)psVar41 / (uint)local_820._76_4_ + 1" (binary_expression "(uint)psVar41 / (uint)local_820._76_4_" (cast_expression "(uint)psVar41" ( (type_descriptor "uint" type_identifier) ) identifier) / (cast_expression "(uint)local_820._76_4_" ( (type_descriptor "uint" type_identifier) ) (field_expression "local_820._76_4_" identifier . field_identifier))) + number_literal) )) - (call_expression "(uint)((uint)psVar41 % (uint)local_820._76_4_ == 0)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((uint)psVar41 % (uint)local_820._76_4_ == 0)" ( (binary_expression "(uint)psVar41 % (uint)local_820._76_4_ == 0" (binary_expression "(uint)psVar41 % (uint)local_820._76_4_" (cast_expression "(uint)psVar41" ( (type_descriptor "uint" type_identifier) ) identifier) % (cast_expression "(uint)local_820._76_4_" ( (type_descriptor "uint" type_identifier) ) (field_expression "local_820._76_4_" identifier . field_identifier))) == number_literal) )))) )) * (field_expression "local_820._76_4_" identifier . field_identifier)) )))) ;) })) (expression_statement "local_918 = (stat64 *)local_820._76_4_;" (assignment_expression "local_918 = (stat64 *)local_820._76_4_" identifier = (cast_expression "(stat64 *)local_820._76_4_" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "local_820._76_4_" identifier . field_identifier))) ;) (if_statement "if (local_93c != (stat64 *)0x0) {\n        local_918 = (stat64 *)\n                    ((((uint)local_93c / (uint)local_820._76_4_ + 1) -\n                     (uint)((uint)local_93c % (uint)local_820._76_4_ == 0)) * local_820._76_4_);\n      }" if (parenthesized_expression "(local_93c != (stat64 *)0x0)" ( (binary_expression "local_93c != (stat64 *)0x0" identifier != (cast_expression "(stat64 *)0x0" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        local_918 = (stat64 *)\n                    ((((uint)local_93c / (uint)local_820._76_4_ + 1) -\n                     (uint)((uint)local_93c % (uint)local_820._76_4_ == 0)) * local_820._76_4_);\n      }" { (expression_statement "local_918 = (stat64 *)\n                    ((((uint)local_93c / (uint)local_820._76_4_ + 1) -\n                     (uint)((uint)local_93c % (uint)local_820._76_4_ == 0)) * local_820._76_4_);" (assignment_expression "local_918 = (stat64 *)\n                    ((((uint)local_93c / (uint)local_820._76_4_ + 1) -\n                     (uint)((uint)local_93c % (uint)local_820._76_4_ == 0)) * local_820._76_4_)" identifier = (cast_expression "(stat64 *)\n                    ((((uint)local_93c / (uint)local_820._76_4_ + 1) -\n                     (uint)((uint)local_93c % (uint)local_820._76_4_ == 0)) * local_820._76_4_)" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((((uint)local_93c / (uint)local_820._76_4_ + 1) -\n                     (uint)((uint)local_93c % (uint)local_820._76_4_ == 0)) * local_820._76_4_)" ( (binary_expression "(((uint)local_93c / (uint)local_820._76_4_ + 1) -\n                     (uint)((uint)local_93c % (uint)local_820._76_4_ == 0)) * local_820._76_4_" (parenthesized_expression "(((uint)local_93c / (uint)local_820._76_4_ + 1) -\n                     (uint)((uint)local_93c % (uint)local_820._76_4_ == 0))" ( (binary_expression "((uint)local_93c / (uint)local_820._76_4_ + 1) -\n                     (uint)((uint)local_93c % (uint)local_820._76_4_ == 0)" (parenthesized_expression "((uint)local_93c / (uint)local_820._76_4_ + 1)" ( (binary_expression "(uint)local_93c / (uint)local_820._76_4_ + 1" (binary_expression "(uint)local_93c / (uint)local_820._76_4_" (cast_expression "(uint)local_93c" ( (type_descriptor "uint" type_identifier) ) identifier) / (cast_expression "(uint)local_820._76_4_" ( (type_descriptor "uint" type_identifier) ) (field_expression "local_820._76_4_" identifier . field_identifier))) + number_literal) )) - (call_expression "(uint)((uint)local_93c % (uint)local_820._76_4_ == 0)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((uint)local_93c % (uint)local_820._76_4_ == 0)" ( (binary_expression "(uint)local_93c % (uint)local_820._76_4_ == 0" (binary_expression "(uint)local_93c % (uint)local_820._76_4_" (cast_expression "(uint)local_93c" ( (type_descriptor "uint" type_identifier) ) identifier) % (cast_expression "(uint)local_820._76_4_" ( (type_descriptor "uint" type_identifier) ) (field_expression "local_820._76_4_" identifier . field_identifier))) == number_literal) )))) )) * (field_expression "local_820._76_4_" identifier . field_identifier)) )))) ;) })) (expression_statement "psVar29 = (stat64 *)\n                sg_memalign((int)&psVar41->st_dev + (int)&local_918->st_dev,0,&local_8e8,0);" (assignment_expression "psVar29 = (stat64 *)\n                sg_memalign((int)&psVar41->st_dev + (int)&local_918->st_dev,0,&local_8e8,0)" identifier = (cast_expression "(stat64 *)\n                sg_memalign((int)&psVar41->st_dev + (int)&local_918->st_dev,0,&local_8e8,0)" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "sg_memalign((int)&psVar41->st_dev + (int)&local_918->st_dev,0,&local_8e8,0)" identifier (argument_list "((int)&psVar41->st_dev + (int)&local_918->st_dev,0,&local_8e8,0)" ( (binary_expression "(int)&psVar41->st_dev + (int)&local_918->st_dev" (cast_expression "(int)&psVar41->st_dev" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&psVar41->st_dev" & (field_expression "psVar41->st_dev" identifier -> field_identifier))) + (cast_expression "(int)&local_918->st_dev" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&local_918->st_dev" & (field_expression "local_918->st_dev" identifier -> field_identifier)))) , number_literal , (pointer_expression "&local_8e8" & identifier) , number_literal ))))) ;) (if_statement "if (psVar29 == (stat64 *)0x0) {\nLAB_00013fb3:\n        pcVar18 = "unable to allocate aligned memory for scatterlist+data\n";\nLAB_00013fbc:\n        pr2serr(pcVar18);\n        local_908 = (stat64 *)sg_convert_errno(0xc);\n        goto LAB_000133fd;\n      }" if (parenthesized_expression "(psVar29 == (stat64 *)0x0)" ( (binary_expression "psVar29 == (stat64 *)0x0" identifier == (cast_expression "(stat64 *)0x0" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\nLAB_00013fb3:\n        pcVar18 = "unable to allocate aligned memory for scatterlist+data\n";\nLAB_00013fbc:\n        pr2serr(pcVar18);\n        local_908 = (stat64 *)sg_convert_errno(0xc);\n        goto LAB_000133fd;\n      }" { (labeled_statement "LAB_00013fb3:\n        pcVar18 = "unable to allocate aligned memory for scatterlist+data\n";" statement_identifier : (expression_statement "pcVar18 = "unable to allocate aligned memory for scatterlist+data\n";" (assignment_expression "pcVar18 = "unable to allocate aligned memory for scatterlist+data\n"" identifier = (string_literal ""unable to allocate aligned memory for scatterlist+data\n"" " string_content escape_sequence ")) ;)) (labeled_statement "LAB_00013fbc:\n        pr2serr(pcVar18);" statement_identifier : (expression_statement "pr2serr(pcVar18);" (call_expression "pr2serr(pcVar18)" identifier (argument_list "(pcVar18)" ( identifier ))) ;)) (expression_statement "local_908 = (stat64 *)sg_convert_errno(0xc);" (assignment_expression "local_908 = (stat64 *)sg_convert_errno(0xc)" identifier = (cast_expression "(stat64 *)sg_convert_errno(0xc)" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "sg_convert_errno(0xc)" identifier (argument_list "(0xc)" ( number_literal ))))) ;) (goto_statement "goto LAB_000133fd;" goto statement_identifier ;) })) (expression_statement "local_908 = (stat64 *)bin_read((int)local_920,(uint8_t *)psVar29,(uint32_t)local_908,"SF");" (assignment_expression "local_908 = (stat64 *)bin_read((int)local_920,(uint8_t *)psVar29,(uint32_t)local_908,"SF")" identifier = (cast_expression "(stat64 *)bin_read((int)local_920,(uint8_t *)psVar29,(uint32_t)local_908,"SF")" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "bin_read((int)local_920,(uint8_t *)psVar29,(uint32_t)local_908,"SF")" identifier (argument_list "((int)local_920,(uint8_t *)psVar29,(uint32_t)local_908,"SF")" ( (cast_expression "(int)local_920" ( (type_descriptor "int" primitive_type) ) identifier) , (cast_expression "(uint8_t *)psVar29" ( (type_descriptor "uint8_t *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) , (cast_expression "(uint32_t)local_908" ( (type_descriptor "uint32_t" primitive_type) ) identifier) , (string_literal ""SF"" " string_content ") ))))) ;) (if_statement "if (local_908 != (stat64 *)0x0) goto LAB_000133fd;" if (parenthesized_expression "(local_908 != (stat64 *)0x0)" ( (binary_expression "local_908 != (stat64 *)0x0" identifier != (cast_expression "(stat64 *)0x0" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_000133fd;" goto statement_identifier ;)) (expression_statement "_Var9 = check_lbrds((uint8_t *)psVar29,(uint32_t)psVar41,(opts_t *)local_820,&local_8f6,\n                          (uint32_t *)&local_8ec);" (assignment_expression "_Var9 = check_lbrds((uint8_t *)psVar29,(uint32_t)psVar41,(opts_t *)local_820,&local_8f6,\n                          (uint32_t *)&local_8ec)" identifier = (call_expression "check_lbrds((uint8_t *)psVar29,(uint32_t)psVar41,(opts_t *)local_820,&local_8f6,\n                          (uint32_t *)&local_8ec)" identifier (argument_list "((uint8_t *)psVar29,(uint32_t)psVar41,(opts_t *)local_820,&local_8f6,\n                          (uint32_t *)&local_8ec)" ( (cast_expression "(uint8_t *)psVar29" ( (type_descriptor "uint8_t *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) , (cast_expression "(uint32_t)psVar41" ( (type_descriptor "uint32_t" primitive_type) ) identifier) , (cast_expression "(opts_t *)local_820" ( (type_descriptor "opts_t *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) , (pointer_expression "&local_8f6" & identifier) , (cast_expression "(uint32_t *)&local_8ec" ( (type_descriptor "uint32_t *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "&local_8ec" & identifier)) )))) ;) (if_statement "if (!_Var9) goto LAB_000133f3;" if (parenthesized_expression "(!_Var9)" ( (unary_expression "!_Var9" ! identifier) )) (goto_statement "goto LAB_000133f3;" goto statement_identifier ;)) (if_statement "if (local_820._64_2_ != local_8f6) {\n        pr2serr("Try again with --scattered=%u\n",local_8f6,extraout_EDX_06,extraout_EDX_06);\n        local_908 = (stat64 *)0xf;\n        goto LAB_000133fd;\n      }" if (parenthesized_expression "(local_820._64_2_ != local_8f6)" ( (binary_expression "local_820._64_2_ != local_8f6" (field_expression "local_820._64_2_" identifier . field_identifier) != identifier) )) (compound_statement "{\n        pr2serr("Try again with --scattered=%u\n",local_8f6,extraout_EDX_06,extraout_EDX_06);\n        local_908 = (stat64 *)0xf;\n        goto LAB_000133fd;\n      }" { (expression_statement "pr2serr("Try again with --scattered=%u\n",local_8f6,extraout_EDX_06,extraout_EDX_06);" (call_expression "pr2serr("Try again with --scattered=%u\n",local_8f6,extraout_EDX_06,extraout_EDX_06)" identifier (argument_list "("Try again with --scattered=%u\n",local_8f6,extraout_EDX_06,extraout_EDX_06)" ( (string_literal ""Try again with --scattered=%u\n"" " string_content escape_sequence ") , identifier , identifier , identifier ))) ;) (expression_statement "local_908 = (stat64 *)0xf;" (assignment_expression "local_908 = (stat64 *)0xf" identifier = (cast_expression "(stat64 *)0xf" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (goto_statement "goto LAB_000133fd;" goto statement_identifier ;) })) (expression_statement "psVar20 = (stat64 *)(local_820._76_4_ * (int)local_8ec);" (assignment_expression "psVar20 = (stat64 *)(local_820._76_4_ * (int)local_8ec)" identifier = (cast_expression "(stat64 *)(local_820._76_4_ * (int)local_8ec)" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_820._76_4_ * (int)local_8ec)" ( (binary_expression "local_820._76_4_ * (int)local_8ec" (field_expression "local_820._76_4_" identifier . field_identifier) * (cast_expression "(int)local_8ec" ( (type_descriptor "int" primitive_type) ) identifier)) )))) ;) (if_statement "if (local_918 < psVar20) {\n        psVar26 = (stat64 *)\n                  sg_memalign((int)&psVar41->st_dev + (int)&psVar20->st_dev,0,&local_8e4,0);\n        if (psVar26 == (stat64 *)0x0) goto LAB_00014273;\n        memcpy(psVar26,psVar29,(size_t)psVar41);\n        free(local_8e8);\n        local_8e8 = local_8e4;\n        psVar29 = psVar26;\n        local_918 = psVar20;\n      }" if (parenthesized_expression "(local_918 < psVar20)" ( (binary_expression "local_918 < psVar20" identifier < identifier) )) (compound_statement "{\n        psVar26 = (stat64 *)\n                  sg_memalign((int)&psVar41->st_dev + (int)&psVar20->st_dev,0,&local_8e4,0);\n        if (psVar26 == (stat64 *)0x0) goto LAB_00014273;\n        memcpy(psVar26,psVar29,(size_t)psVar41);\n        free(local_8e8);\n        local_8e8 = local_8e4;\n        psVar29 = psVar26;\n        local_918 = psVar20;\n      }" { (expression_statement "psVar26 = (stat64 *)\n                  sg_memalign((int)&psVar41->st_dev + (int)&psVar20->st_dev,0,&local_8e4,0);" (assignment_expression "psVar26 = (stat64 *)\n                  sg_memalign((int)&psVar41->st_dev + (int)&psVar20->st_dev,0,&local_8e4,0)" identifier = (cast_expression "(stat64 *)\n                  sg_memalign((int)&psVar41->st_dev + (int)&psVar20->st_dev,0,&local_8e4,0)" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "sg_memalign((int)&psVar41->st_dev + (int)&psVar20->st_dev,0,&local_8e4,0)" identifier (argument_list "((int)&psVar41->st_dev + (int)&psVar20->st_dev,0,&local_8e4,0)" ( (binary_expression "(int)&psVar41->st_dev + (int)&psVar20->st_dev" (cast_expression "(int)&psVar41->st_dev" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&psVar41->st_dev" & (field_expression "psVar41->st_dev" identifier -> field_identifier))) + (cast_expression "(int)&psVar20->st_dev" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&psVar20->st_dev" & (field_expression "psVar20->st_dev" identifier -> field_identifier)))) , number_literal , (pointer_expression "&local_8e4" & identifier) , number_literal ))))) ;) (if_statement "if (psVar26 == (stat64 *)0x0) goto LAB_00014273;" if (parenthesized_expression "(psVar26 == (stat64 *)0x0)" ( (binary_expression "psVar26 == (stat64 *)0x0" identifier == (cast_expression "(stat64 *)0x0" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_00014273;" goto statement_identifier ;)) (expression_statement "memcpy(psVar26,psVar29,(size_t)psVar41);" (call_expression "memcpy(psVar26,psVar29,(size_t)psVar41)" identifier (argument_list "(psVar26,psVar29,(size_t)psVar41)" ( identifier , identifier , (cast_expression "(size_t)psVar41" ( (type_descriptor "size_t" primitive_type) ) identifier) ))) ;) (expression_statement "free(local_8e8);" (call_expression "free(local_8e8)" identifier (argument_list "(local_8e8)" ( identifier ))) ;) (expression_statement "local_8e8 = local_8e4;" (assignment_expression "local_8e8 = local_8e4" identifier = identifier) ;) (expression_statement "psVar29 = psVar26;" (assignment_expression "psVar29 = psVar26" identifier = identifier) ;) (expression_statement "local_918 = psVar20;" (assignment_expression "local_918 = psVar20" identifier = identifier) ;) })) (expression_statement "psVar20 = psVar41;" (assignment_expression "psVar20 = psVar41" identifier = identifier) ;) (if_statement "if ((local_93c != psVar41) &&\n         (psVar20 = local_93c, (stat64 *)uVar24 != (stat64 *)0x0 || local_820._40_4_ != 0)) {\n        puVar22 = &DAT_000170dd;\n        if (local_93c <= psVar41) {\n          puVar22 = &DAT_00017110;\n        }\n        psVar26 = psVar41;\n        pr2serr("IF length (%u) %s \'sum_num\' bytes (%u), ",local_93c,puVar22,psVar41);\n        if (1 < (int)local_820._40_4_) {\n          pr2serr("exiting (strict=%d)\n",local_820._40_4_,psVar41,psVar41);\n          local_908 = (stat64 *)0xf;\n          goto LAB_000133fd;\n        }\n        pr2serr("continuing ...\n",psVar20,puVar22,psVar26);\n        psVar20 = psVar41;\n        if (local_93c < psVar41) {\n          psVar20 = local_93c;\n        }\n      }" if (parenthesized_expression "((local_93c != psVar41) &&\n         (psVar20 = local_93c, (stat64 *)uVar24 != (stat64 *)0x0 || local_820._40_4_ != 0))" ( (binary_expression "(local_93c != psVar41) &&\n         (psVar20 = local_93c, (stat64 *)uVar24 != (stat64 *)0x0 || local_820._40_4_ != 0)" (parenthesized_expression "(local_93c != psVar41)" ( (binary_expression "local_93c != psVar41" identifier != identifier) )) && (parenthesized_expression "(psVar20 = local_93c, (stat64 *)uVar24 != (stat64 *)0x0 || local_820._40_4_ != 0)" ( (comma_expression "psVar20 = local_93c, (stat64 *)uVar24 != (stat64 *)0x0 || local_820._40_4_ != 0" (assignment_expression "psVar20 = local_93c" identifier = identifier) , (binary_expression "(stat64 *)uVar24 != (stat64 *)0x0 || local_820._40_4_ != 0" (binary_expression "(stat64 *)uVar24 != (stat64 *)0x0" (cast_expression "(stat64 *)uVar24" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) != (cast_expression "(stat64 *)0x0" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) || (binary_expression "local_820._40_4_ != 0" (field_expression "local_820._40_4_" identifier . field_identifier) != number_literal))) ))) )) (compound_statement "{\n        puVar22 = &DAT_000170dd;\n        if (local_93c <= psVar41) {\n          puVar22 = &DAT_00017110;\n        }\n        psVar26 = psVar41;\n        pr2serr("IF length (%u) %s \'sum_num\' bytes (%u), ",local_93c,puVar22,psVar41);\n        if (1 < (int)local_820._40_4_) {\n          pr2serr("exiting (strict=%d)\n",local_820._40_4_,psVar41,psVar41);\n          local_908 = (stat64 *)0xf;\n          goto LAB_000133fd;\n        }\n        pr2serr("continuing ...\n",psVar20,puVar22,psVar26);\n        psVar20 = psVar41;\n        if (local_93c < psVar41) {\n          psVar20 = local_93c;\n        }\n      }" { (expression_statement "puVar22 = &DAT_000170dd;" (assignment_expression "puVar22 = &DAT_000170dd" identifier = (pointer_expression "&DAT_000170dd" & identifier)) ;) (if_statement "if (local_93c <= psVar41) {\n          puVar22 = &DAT_00017110;\n        }" if (parenthesized_expression "(local_93c <= psVar41)" ( (binary_expression "local_93c <= psVar41" identifier <= identifier) )) (compound_statement "{\n          puVar22 = &DAT_00017110;\n        }" { (expression_statement "puVar22 = &DAT_00017110;" (assignment_expression "puVar22 = &DAT_00017110" identifier = (pointer_expression "&DAT_00017110" & identifier)) ;) })) (expression_statement "psVar26 = psVar41;" (assignment_expression "psVar26 = psVar41" identifier = identifier) ;) (expression_statement "pr2serr("IF length (%u) %s \'sum_num\' bytes (%u), ",local_93c,puVar22,psVar41);" (call_expression "pr2serr("IF length (%u) %s \'sum_num\' bytes (%u), ",local_93c,puVar22,psVar41)" identifier (argument_list "("IF length (%u) %s \'sum_num\' bytes (%u), ",local_93c,puVar22,psVar41)" ( (string_literal ""IF length (%u) %s \'sum_num\' bytes (%u), "" " string_content escape_sequence string_content escape_sequence string_content ") , identifier , identifier , identifier ))) ;) (if_statement "if (1 < (int)local_820._40_4_) {\n          pr2serr("exiting (strict=%d)\n",local_820._40_4_,psVar41,psVar41);\n          local_908 = (stat64 *)0xf;\n          goto LAB_000133fd;\n        }" if (parenthesized_expression "(1 < (int)local_820._40_4_)" ( (binary_expression "1 < (int)local_820._40_4_" number_literal < (cast_expression "(int)local_820._40_4_" ( (type_descriptor "int" primitive_type) ) (field_expression "local_820._40_4_" identifier . field_identifier))) )) (compound_statement "{\n          pr2serr("exiting (strict=%d)\n",local_820._40_4_,psVar41,psVar41);\n          local_908 = (stat64 *)0xf;\n          goto LAB_000133fd;\n        }" { (expression_statement "pr2serr("exiting (strict=%d)\n",local_820._40_4_,psVar41,psVar41);" (call_expression "pr2serr("exiting (strict=%d)\n",local_820._40_4_,psVar41,psVar41)" identifier (argument_list "("exiting (strict=%d)\n",local_820._40_4_,psVar41,psVar41)" ( (string_literal ""exiting (strict=%d)\n"" " string_content escape_sequence ") , (field_expression "local_820._40_4_" identifier . field_identifier) , identifier , identifier ))) ;) (expression_statement "local_908 = (stat64 *)0xf;" (assignment_expression "local_908 = (stat64 *)0xf" identifier = (cast_expression "(stat64 *)0xf" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (goto_statement "goto LAB_000133fd;" goto statement_identifier ;) })) (expression_statement "pr2serr("continuing ...\n",psVar20,puVar22,psVar26);" (call_expression "pr2serr("continuing ...\n",psVar20,puVar22,psVar26)" identifier (argument_list "("continuing ...\n",psVar20,puVar22,psVar26)" ( (string_literal ""continuing ...\n"" " string_content escape_sequence ") , identifier , identifier , identifier ))) ;) (expression_statement "psVar20 = psVar41;" (assignment_expression "psVar20 = psVar41" identifier = identifier) ;) (if_statement "if (local_93c < psVar41) {\n          psVar20 = local_93c;\n        }" if (parenthesized_expression "(local_93c < psVar41)" ( (binary_expression "local_93c < psVar41" identifier < identifier) )) (compound_statement "{\n          psVar20 = local_93c;\n        }" { (expression_statement "psVar20 = local_93c;" (assignment_expression "psVar20 = local_93c" identifier = identifier) ;) })) })) (expression_statement "local_908 = (stat64 *)\n                  bin_read((int)local_924,\n                           (uint8_t *)((int)&psVar29->st_dev + (int)&local_918->st_dev),\n                           (uint32_t)psVar20,"IF 4");" (assignment_expression "local_908 = (stat64 *)\n                  bin_read((int)local_924,\n                           (uint8_t *)((int)&psVar29->st_dev + (int)&local_918->st_dev),\n                           (uint32_t)psVar20,"IF 4")" identifier = (cast_expression "(stat64 *)\n                  bin_read((int)local_924,\n                           (uint8_t *)((int)&psVar29->st_dev + (int)&local_918->st_dev),\n                           (uint32_t)psVar20,"IF 4")" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "bin_read((int)local_924,\n                           (uint8_t *)((int)&psVar29->st_dev + (int)&local_918->st_dev),\n                           (uint32_t)psVar20,"IF 4")" identifier (argument_list "((int)local_924,\n                           (uint8_t *)((int)&psVar29->st_dev + (int)&local_918->st_dev),\n                           (uint32_t)psVar20,"IF 4")" ( (cast_expression "(int)local_924" ( (type_descriptor "int" primitive_type) ) identifier) , (cast_expression "(uint8_t *)((int)&psVar29->st_dev + (int)&local_918->st_dev)" ( (type_descriptor "uint8_t *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&psVar29->st_dev + (int)&local_918->st_dev)" ( (binary_expression "(int)&psVar29->st_dev + (int)&local_918->st_dev" (cast_expression "(int)&psVar29->st_dev" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&psVar29->st_dev" & (field_expression "psVar29->st_dev" identifier -> field_identifier))) + (cast_expression "(int)&local_918->st_dev" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&local_918->st_dev" & (field_expression "local_918->st_dev" identifier -> field_identifier)))) ))) , (cast_expression "(uint32_t)psVar20" ( (type_descriptor "uint32_t" primitive_type) ) identifier) , (string_literal ""IF 4"" " string_content ") ))))) ;) (expression_statement "uVar4 = local_8f6;" (assignment_expression "uVar4 = local_8f6" identifier = identifier) ;) }))) (if_statement "if (local_908 != (stat64 *)0x0) goto LAB_000133fd;" if (parenthesized_expression "(local_908 != (stat64 *)0x0)" ( (binary_expression "local_908 != (stat64 *)0x0" identifier != (cast_expression "(stat64 *)0x0" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_000133fd;" goto statement_identifier ;)) (expression_statement "local_7a4 = (stat64 *)((int)local_8ec * local_820._76_4_);" (assignment_expression "local_7a4 = (stat64 *)((int)local_8ec * local_820._76_4_)" identifier = (cast_expression "(stat64 *)((int)local_8ec * local_820._76_4_)" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_8ec * local_820._76_4_)" ( (binary_expression "(int)local_8ec * local_820._76_4_" (cast_expression "(int)local_8ec" ( (type_descriptor "int" primitive_type) ) identifier) * (field_expression "local_820._76_4_" identifier . field_identifier)) )))) ;) (expression_statement "local_918 = (stat64 *)(((int)&local_8ec->st_dev + (uint)uVar4) * local_820._76_4_);" (assignment_expression "local_918 = (stat64 *)(((int)&local_8ec->st_dev + (uint)uVar4) * local_820._76_4_)" identifier = (cast_expression "(stat64 *)(((int)&local_8ec->st_dev + (uint)uVar4) * local_820._76_4_)" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(((int)&local_8ec->st_dev + (uint)uVar4) * local_820._76_4_)" ( (binary_expression "((int)&local_8ec->st_dev + (uint)uVar4) * local_820._76_4_" (parenthesized_expression "((int)&local_8ec->st_dev + (uint)uVar4)" ( (binary_expression "(int)&local_8ec->st_dev + (uint)uVar4" (cast_expression "(int)&local_8ec->st_dev" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&local_8ec->st_dev" & (field_expression "local_8ec->st_dev" identifier -> field_identifier))) + (cast_expression "(uint)uVar4" ( (type_descriptor "uint" type_identifier) ) identifier)) )) * (field_expression "local_820._76_4_" identifier . field_identifier)) )))) ;) (expression_statement "local_820._84_4_ = local_8ec;" (assignment_expression "local_820._84_4_ = local_8ec" (field_expression "local_820._84_4_" identifier . field_identifier) = identifier) ;) }))) (labeled_statement "LAB_00013962:\n  local_8ec = (stat64 *)local_820._84_4_;" statement_identifier : (expression_statement "local_8ec = (stat64 *)local_820._84_4_;" (assignment_expression "local_8ec = (stat64 *)local_820._84_4_" identifier = (cast_expression "(stat64 *)local_820._84_4_" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "local_820._84_4_" identifier . field_identifier))) ;)) (expression_statement "local_908 = (stat64 *)do_write_x((int)local_930,psVar29,(int)local_918,(opts_t *)local_820);" (assignment_expression "local_908 = (stat64 *)do_write_x((int)local_930,psVar29,(int)local_918,(opts_t *)local_820)" identifier = (cast_expression "(stat64 *)do_write_x((int)local_930,psVar29,(int)local_918,(opts_t *)local_820)" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "do_write_x((int)local_930,psVar29,(int)local_918,(opts_t *)local_820)" identifier (argument_list "((int)local_930,psVar29,(int)local_918,(opts_t *)local_820)" ( (cast_expression "(int)local_930" ( (type_descriptor "int" primitive_type) ) identifier) , identifier , (cast_expression "(int)local_918" ( (type_descriptor "int" primitive_type) ) identifier) , (cast_expression "(opts_t *)local_820" ( (type_descriptor "opts_t *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) ))))) ;) (if_statement "if (local_908 != (stat64 *)0x0) {\n    puVar48 = local_174 + 0x50;\n    psVar29 = (stat64 *)"OS error";\n    puVar33 = puVar48;\n    for (iVar17 = 9; iVar17 != 0; iVar17 = iVar17 + -1) {\n      *puVar33 = (char)psVar29->st_dev;\n      psVar29 = (stat64 *)((int)psVar29 + (uint)bVar37 * -2 + 1);\n      puVar33 = puVar33 + (uint)bVar37 * -2 + 1;\n    }\n    if (0 < (int)local_908) {\n      sg_get_category_sense_str(local_908,0x50,puVar48,uVar24);\n    }\n    pr2serr("%s: %s\n",local_790,puVar48,psVar29);\n  }" if (parenthesized_expression "(local_908 != (stat64 *)0x0)" ( (binary_expression "local_908 != (stat64 *)0x0" identifier != (cast_expression "(stat64 *)0x0" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    puVar48 = local_174 + 0x50;\n    psVar29 = (stat64 *)"OS error";\n    puVar33 = puVar48;\n    for (iVar17 = 9; iVar17 != 0; iVar17 = iVar17 + -1) {\n      *puVar33 = (char)psVar29->st_dev;\n      psVar29 = (stat64 *)((int)psVar29 + (uint)bVar37 * -2 + 1);\n      puVar33 = puVar33 + (uint)bVar37 * -2 + 1;\n    }\n    if (0 < (int)local_908) {\n      sg_get_category_sense_str(local_908,0x50,puVar48,uVar24);\n    }\n    pr2serr("%s: %s\n",local_790,puVar48,psVar29);\n  }" { (expression_statement "puVar48 = local_174 + 0x50;" (assignment_expression "puVar48 = local_174 + 0x50" identifier = (binary_expression "local_174 + 0x50" identifier + number_literal)) ;) (expression_statement "psVar29 = (stat64 *)"OS error";" (assignment_expression "psVar29 = (stat64 *)"OS error"" identifier = (cast_expression "(stat64 *)"OS error"" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) (string_literal ""OS error"" " string_content "))) ;) (expression_statement "puVar33 = puVar48;" (assignment_expression "puVar33 = puVar48" identifier = identifier) ;) (for_statement "for (iVar17 = 9; iVar17 != 0; iVar17 = iVar17 + -1) {\n      *puVar33 = (char)psVar29->st_dev;\n      psVar29 = (stat64 *)((int)psVar29 + (uint)bVar37 * -2 + 1);\n      puVar33 = puVar33 + (uint)bVar37 * -2 + 1;\n    }" for ( (assignment_expression "iVar17 = 9" identifier = number_literal) ; (binary_expression "iVar17 != 0" identifier != number_literal) ; (assignment_expression "iVar17 = iVar17 + -1" identifier = (binary_expression "iVar17 + -1" identifier + number_literal)) ) (compound_statement "{\n      *puVar33 = (char)psVar29->st_dev;\n      psVar29 = (stat64 *)((int)psVar29 + (uint)bVar37 * -2 + 1);\n      puVar33 = puVar33 + (uint)bVar37 * -2 + 1;\n    }" { (expression_statement "*puVar33 = (char)psVar29->st_dev;" (assignment_expression "*puVar33 = (char)psVar29->st_dev" (pointer_expression "*puVar33" * identifier) = (cast_expression "(char)psVar29->st_dev" ( (type_descriptor "char" primitive_type) ) (field_expression "psVar29->st_dev" identifier -> field_identifier))) ;) (expression_statement "psVar29 = (stat64 *)((int)psVar29 + (uint)bVar37 * -2 + 1);" (assignment_expression "psVar29 = (stat64 *)((int)psVar29 + (uint)bVar37 * -2 + 1)" identifier = (cast_expression "(stat64 *)((int)psVar29 + (uint)bVar37 * -2 + 1)" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)psVar29 + (uint)bVar37 * -2 + 1)" ( (binary_expression "(int)psVar29 + (uint)bVar37 * -2 + 1" (binary_expression "(int)psVar29 + (uint)bVar37 * -2" (cast_expression "(int)psVar29" ( (type_descriptor "int" primitive_type) ) identifier) + (binary_expression "(uint)bVar37 * -2" (cast_expression "(uint)bVar37" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal) )))) ;) (expression_statement "puVar33 = puVar33 + (uint)bVar37 * -2 + 1;" (assignment_expression "puVar33 = puVar33 + (uint)bVar37 * -2 + 1" identifier = (binary_expression "puVar33 + (uint)bVar37 * -2 + 1" (binary_expression "puVar33 + (uint)bVar37 * -2" identifier + (binary_expression "(uint)bVar37 * -2" (cast_expression "(uint)bVar37" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) })) (if_statement "if (0 < (int)local_908) {\n      sg_get_category_sense_str(local_908,0x50,puVar48,uVar24);\n    }" if (parenthesized_expression "(0 < (int)local_908)" ( (binary_expression "0 < (int)local_908" number_literal < (cast_expression "(int)local_908" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n      sg_get_category_sense_str(local_908,0x50,puVar48,uVar24);\n    }" { (expression_statement "sg_get_category_sense_str(local_908,0x50,puVar48,uVar24);" (call_expression "sg_get_category_sense_str(local_908,0x50,puVar48,uVar24)" identifier (argument_list "(local_908,0x50,puVar48,uVar24)" ( identifier , number_literal , identifier , identifier ))) ;) })) (expression_statement "pr2serr("%s: %s\n",local_790,puVar48,psVar29);" (call_expression "pr2serr("%s: %s\n",local_790,puVar48,psVar29)" identifier (argument_list "("%s: %s\n",local_790,puVar48,psVar29)" ( (string_literal ""%s: %s\n"" " string_content escape_sequence ") , identifier , identifier , identifier ))) ;) })) (labeled_statement "LAB_000133fd:\n  if (local_8e8 == (void *)0x0) goto LAB_00012354;" statement_identifier : (if_statement "if (local_8e8 == (void *)0x0) goto LAB_00012354;" if (parenthesized_expression "(local_8e8 == (void *)0x0)" ( (binary_expression "local_8e8 == (void *)0x0" identifier == (cast_expression "(void *)0x0" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_00012354;" goto statement_identifier ;))) (expression_statement "free(local_8e8);" (call_expression "free(local_8e8)" identifier (argument_list "(local_8e8)" ( identifier ))) ;) (goto_statement "goto LAB_00012354;" goto statement_identifier ;) (labeled_statement "_L476:\n  uVar38 = sg_get_llnum(*(undefined4 *)PTR_optarg_0001dffc);" statement_identifier : (expression_statement "uVar38 = sg_get_llnum(*(undefined4 *)PTR_optarg_0001dffc);" (assignment_expression "uVar38 = sg_get_llnum(*(undefined4 *)PTR_optarg_0001dffc)" identifier = (call_expression "sg_get_llnum(*(undefined4 *)PTR_optarg_0001dffc)" identifier (argument_list "(*(undefined4 *)PTR_optarg_0001dffc)" ( (pointer_expression "*(undefined4 *)PTR_optarg_0001dffc" * (cast_expression "(undefined4 *)PTR_optarg_0001dffc" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )))) ;)) (expression_statement "psVar20 = (stat64 *)local_820._80_4_;" (assignment_expression "psVar20 = (stat64 *)local_820._80_4_" identifier = (cast_expression "(stat64 *)local_820._80_4_" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "local_820._80_4_" identifier . field_identifier))) ;) (expression_statement "uVar34 = local_820._92_4_;" (assignment_expression "uVar34 = local_820._92_4_" identifier = (field_expression "local_820._92_4_" identifier . field_identifier)) ;) (expression_statement "uVar10 = (uint)uVar38;" (assignment_expression "uVar10 = (uint)uVar38" identifier = (cast_expression "(uint)uVar38" ( (type_descriptor "uint" type_identifier) ) identifier)) ;) (if_statement "if ((int)((ulonglong)uVar38 >> 0x20) != 0) goto LAB_00012b94;" if (parenthesized_expression "((int)((ulonglong)uVar38 >> 0x20) != 0)" ( (binary_expression "(int)((ulonglong)uVar38 >> 0x20) != 0" (cast_expression "(int)((ulonglong)uVar38 >> 0x20)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((ulonglong)uVar38 >> 0x20)" ( (binary_expression "(ulonglong)uVar38 >> 0x20" (cast_expression "(ulonglong)uVar38" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) ))) != number_literal) )) (goto_statement "goto LAB_00012b94;" goto statement_identifier ;)) (goto_statement "goto LAB_000114e8;" goto statement_identifier ;) (labeled_statement "LAB_00012b94:\n  pr2serr("bad argument to \'--ref-tag=\'. Expect 0 to 0xffffffff inclusive\n");" statement_identifier : (expression_statement "pr2serr("bad argument to \'--ref-tag=\'. Expect 0 to 0xffffffff inclusive\n");" (call_expression "pr2serr("bad argument to \'--ref-tag=\'. Expect 0 to 0xffffffff inclusive\n")" identifier (argument_list "("bad argument to \'--ref-tag=\'. Expect 0 to 0xffffffff inclusive\n")" ( (string_literal ""bad argument to \'--ref-tag=\'. Expect 0 to 0xffffffff inclusive\n"" " string_content escape_sequence string_content escape_sequence string_content escape_sequence ") ))) ;)) (labeled_statement "LAB_00011a7a:\n  local_908 = (stat64 *)0x1;" statement_identifier : (expression_statement "local_908 = (stat64 *)0x1;" (assignment_expression "local_908 = (stat64 *)0x1" identifier = (cast_expression "(stat64 *)0x1" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;)) (labeled_statement "LAB_00011a84:\n  do {\n    psVar29 = (stat64 *)(local_24 ^ *(uint *)(in_GS_OFFSET + 0x14));\n    if (psVar29 == (stat64 *)0x0) {\n      return (int)local_908;\n    }\n    __stack_chk_fail_local();\nLAB_00013b9f:\n    pr2serr("build_lba_arr: array length exceeded\n");\nLAB_00012130:\n    pr2serr("bad argument to \'--lba\'\n");\n    local_908 = (stat64 *)0x1;\nLAB_00012354:\n    if (local_8f0 != (void *)0x0) {\n      free(local_8f0);\n    }\n    iVar17 = sg_cmds_close_device(local_930);\n    if (iVar17 < 0) {\n      if ((_Bool)local_820[6] == false) {\n        uVar19 = safe_strerror(-iVar17);\n        pr2serr("sg_fd close error: %s\n",uVar19);\n      }\n      if (local_908 == (stat64 *)0x0) {\n        local_908 = (stat64 *)0xf;\n      }\n    }\n    if ((-1 < (int)local_920) && (iVar17 = close((int)local_920), iVar17 < 0)) {\n      if ((_Bool)local_820[6] == false) {\n        perror("sfr_fd close error");\n      }\n      if (local_908 == (stat64 *)0x0) {\n        local_908 = (stat64 *)0xf;\n      }\n    }\nLAB_000123a1:\n    if (((cVar2 == '\x01') || ((int)local_924 < 0)) ||\n       (pcVar18 = (char *)close((int)local_924), -1 < (int)pcVar18)) {\nLAB_000123cc:\n      if ((((stat64 *)local_820._48_4_ == (stat64 *)0x0) && ((_Bool)local_820[6] == false)) &&\n         (cVar8 = sg_if_can2stderr("sg_write_x failed: ",local_908,psVar29,psVar29), cVar8 == '\0'))\n      goto LAB_0001260b;\n      goto LAB_000123e2;\n    }\n    if ((_Bool)local_820[6] == false) {\n      pcVar18 = "infd close error";\n      perror("infd close error");\n    }\n    if (local_908 != (stat64 *)0x0) goto LAB_000123cc;\n    local_908 = (stat64 *)0xf;\n    if ((((stat64 *)local_820._48_4_ == (stat64 *)0x0) && ((_Bool)local_820[6] == false)) &&\n       (cVar8 = sg_if_can2stderr("sg_write_x failed: ",0xf,pcVar18,pcVar18), cVar8 == '\0')) {\nLAB_0001260b:\n      pr2serr("Some error occurred, try again with \'-v\' or \'-vv\' for more information\n");\nLAB_000123e2:\n      if ((int)local_908 < 0) {\n        local_908 = (stat64 *)0x63;\n      }\n    }\n  } while( true );" statement_identifier : (do_statement "do {\n    psVar29 = (stat64 *)(local_24 ^ *(uint *)(in_GS_OFFSET + 0x14));\n    if (psVar29 == (stat64 *)0x0) {\n      return (int)local_908;\n    }\n    __stack_chk_fail_local();\nLAB_00013b9f:\n    pr2serr("build_lba_arr: array length exceeded\n");\nLAB_00012130:\n    pr2serr("bad argument to \'--lba\'\n");\n    local_908 = (stat64 *)0x1;\nLAB_00012354:\n    if (local_8f0 != (void *)0x0) {\n      free(local_8f0);\n    }\n    iVar17 = sg_cmds_close_device(local_930);\n    if (iVar17 < 0) {\n      if ((_Bool)local_820[6] == false) {\n        uVar19 = safe_strerror(-iVar17);\n        pr2serr("sg_fd close error: %s\n",uVar19);\n      }\n      if (local_908 == (stat64 *)0x0) {\n        local_908 = (stat64 *)0xf;\n      }\n    }\n    if ((-1 < (int)local_920) && (iVar17 = close((int)local_920), iVar17 < 0)) {\n      if ((_Bool)local_820[6] == false) {\n        perror("sfr_fd close error");\n      }\n      if (local_908 == (stat64 *)0x0) {\n        local_908 = (stat64 *)0xf;\n      }\n    }\nLAB_000123a1:\n    if (((cVar2 == '\x01') || ((int)local_924 < 0)) ||\n       (pcVar18 = (char *)close((int)local_924), -1 < (int)pcVar18)) {\nLAB_000123cc:\n      if ((((stat64 *)local_820._48_4_ == (stat64 *)0x0) && ((_Bool)local_820[6] == false)) &&\n         (cVar8 = sg_if_can2stderr("sg_write_x failed: ",local_908,psVar29,psVar29), cVar8 == '\0'))\n      goto LAB_0001260b;\n      goto LAB_000123e2;\n    }\n    if ((_Bool)local_820[6] == false) {\n      pcVar18 = "infd close error";\n      perror("infd close error");\n    }\n    if (local_908 != (stat64 *)0x0) goto LAB_000123cc;\n    local_908 = (stat64 *)0xf;\n    if ((((stat64 *)local_820._48_4_ == (stat64 *)0x0) && ((_Bool)local_820[6] == false)) &&\n       (cVar8 = sg_if_can2stderr("sg_write_x failed: ",0xf,pcVar18,pcVar18), cVar8 == '\0')) {\nLAB_0001260b:\n      pr2serr("Some error occurred, try again with \'-v\' or \'-vv\' for more information\n");\nLAB_000123e2:\n      if ((int)local_908 < 0) {\n        local_908 = (stat64 *)0x63;\n      }\n    }\n  } while( true );" do (compound_statement "{\n    psVar29 = (stat64 *)(local_24 ^ *(uint *)(in_GS_OFFSET + 0x14));\n    if (psVar29 == (stat64 *)0x0) {\n      return (int)local_908;\n    }\n    __stack_chk_fail_local();\nLAB_00013b9f:\n    pr2serr("build_lba_arr: array length exceeded\n");\nLAB_00012130:\n    pr2serr("bad argument to \'--lba\'\n");\n    local_908 = (stat64 *)0x1;\nLAB_00012354:\n    if (local_8f0 != (void *)0x0) {\n      free(local_8f0);\n    }\n    iVar17 = sg_cmds_close_device(local_930);\n    if (iVar17 < 0) {\n      if ((_Bool)local_820[6] == false) {\n        uVar19 = safe_strerror(-iVar17);\n        pr2serr("sg_fd close error: %s\n",uVar19);\n      }\n      if (local_908 == (stat64 *)0x0) {\n        local_908 = (stat64 *)0xf;\n      }\n    }\n    if ((-1 < (int)local_920) && (iVar17 = close((int)local_920), iVar17 < 0)) {\n      if ((_Bool)local_820[6] == false) {\n        perror("sfr_fd close error");\n      }\n      if (local_908 == (stat64 *)0x0) {\n        local_908 = (stat64 *)0xf;\n      }\n    }\nLAB_000123a1:\n    if (((cVar2 == '\x01') || ((int)local_924 < 0)) ||\n       (pcVar18 = (char *)close((int)local_924), -1 < (int)pcVar18)) {\nLAB_000123cc:\n      if ((((stat64 *)local_820._48_4_ == (stat64 *)0x0) && ((_Bool)local_820[6] == false)) &&\n         (cVar8 = sg_if_can2stderr("sg_write_x failed: ",local_908,psVar29,psVar29), cVar8 == '\0'))\n      goto LAB_0001260b;\n      goto LAB_000123e2;\n    }\n    if ((_Bool)local_820[6] == false) {\n      pcVar18 = "infd close error";\n      perror("infd close error");\n    }\n    if (local_908 != (stat64 *)0x0) goto LAB_000123cc;\n    local_908 = (stat64 *)0xf;\n    if ((((stat64 *)local_820._48_4_ == (stat64 *)0x0) && ((_Bool)local_820[6] == false)) &&\n       (cVar8 = sg_if_can2stderr("sg_write_x failed: ",0xf,pcVar18,pcVar18), cVar8 == '\0')) {\nLAB_0001260b:\n      pr2serr("Some error occurred, try again with \'-v\' or \'-vv\' for more information\n");\nLAB_000123e2:\n      if ((int)local_908 < 0) {\n        local_908 = (stat64 *)0x63;\n      }\n    }\n  }" { (expression_statement "psVar29 = (stat64 *)(local_24 ^ *(uint *)(in_GS_OFFSET + 0x14));" (assignment_expression "psVar29 = (stat64 *)(local_24 ^ *(uint *)(in_GS_OFFSET + 0x14))" identifier = (cast_expression "(stat64 *)(local_24 ^ *(uint *)(in_GS_OFFSET + 0x14))" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_24 ^ *(uint *)(in_GS_OFFSET + 0x14))" ( (binary_expression "local_24 ^ *(uint *)(in_GS_OFFSET + 0x14)" identifier ^ (pointer_expression "*(uint *)(in_GS_OFFSET + 0x14)" * (cast_expression "(uint *)(in_GS_OFFSET + 0x14)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_GS_OFFSET + 0x14)" ( (binary_expression "in_GS_OFFSET + 0x14" identifier + number_literal) ))))) )))) ;) (if_statement "if (psVar29 == (stat64 *)0x0) {\n      return (int)local_908;\n    }" if (parenthesized_expression "(psVar29 == (stat64 *)0x0)" ( (binary_expression "psVar29 == (stat64 *)0x0" identifier == (cast_expression "(stat64 *)0x0" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      return (int)local_908;\n    }" { (return_statement "return (int)local_908;" return (cast_expression "(int)local_908" ( (type_descriptor "int" primitive_type) ) identifier) ;) })) (expression_statement "__stack_chk_fail_local();" (call_expression "__stack_chk_fail_local()" identifier (argument_list "()" ( ))) ;) (labeled_statement "LAB_00013b9f:\n    pr2serr("build_lba_arr: array length exceeded\n");" statement_identifier : (expression_statement "pr2serr("build_lba_arr: array length exceeded\n");" (call_expression "pr2serr("build_lba_arr: array length exceeded\n")" identifier (argument_list "("build_lba_arr: array length exceeded\n")" ( (string_literal ""build_lba_arr: array length exceeded\n"" " string_content escape_sequence ") ))) ;)) (labeled_statement "LAB_00012130:\n    pr2serr("bad argument to \'--lba\'\n");" statement_identifier : (expression_statement "pr2serr("bad argument to \'--lba\'\n");" (call_expression "pr2serr("bad argument to \'--lba\'\n")" identifier (argument_list "("bad argument to \'--lba\'\n")" ( (string_literal ""bad argument to \'--lba\'\n"" " string_content escape_sequence string_content escape_sequence escape_sequence ") ))) ;)) (expression_statement "local_908 = (stat64 *)0x1;" (assignment_expression "local_908 = (stat64 *)0x1" identifier = (cast_expression "(stat64 *)0x1" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (labeled_statement "LAB_00012354:\n    if (local_8f0 != (void *)0x0) {\n      free(local_8f0);\n    }" statement_identifier : (if_statement "if (local_8f0 != (void *)0x0) {\n      free(local_8f0);\n    }" if (parenthesized_expression "(local_8f0 != (void *)0x0)" ( (binary_expression "local_8f0 != (void *)0x0" identifier != (cast_expression "(void *)0x0" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      free(local_8f0);\n    }" { (expression_statement "free(local_8f0);" (call_expression "free(local_8f0)" identifier (argument_list "(local_8f0)" ( identifier ))) ;) }))) (expression_statement "iVar17 = sg_cmds_close_device(local_930);" (assignment_expression "iVar17 = sg_cmds_close_device(local_930)" identifier = (call_expression "sg_cmds_close_device(local_930)" identifier (argument_list "(local_930)" ( identifier )))) ;) (if_statement "if (iVar17 < 0) {\n      if ((_Bool)local_820[6] == false) {\n        uVar19 = safe_strerror(-iVar17);\n        pr2serr("sg_fd close error: %s\n",uVar19);\n      }\n      if (local_908 == (stat64 *)0x0) {\n        local_908 = (stat64 *)0xf;\n      }\n    }" if (parenthesized_expression "(iVar17 < 0)" ( (binary_expression "iVar17 < 0" identifier < number_literal) )) (compound_statement "{\n      if ((_Bool)local_820[6] == false) {\n        uVar19 = safe_strerror(-iVar17);\n        pr2serr("sg_fd close error: %s\n",uVar19);\n      }\n      if (local_908 == (stat64 *)0x0) {\n        local_908 = (stat64 *)0xf;\n      }\n    }" { (if_statement "if ((_Bool)local_820[6] == false) {\n        uVar19 = safe_strerror(-iVar17);\n        pr2serr("sg_fd close error: %s\n",uVar19);\n      }" if (parenthesized_expression "((_Bool)local_820[6] == false)" ( (binary_expression "(_Bool)local_820[6] == false" (cast_expression "(_Bool)local_820[6]" ( (type_descriptor "_Bool" type_identifier) ) (subscript_expression "local_820[6]" identifier [ number_literal ])) == false) )) (compound_statement "{\n        uVar19 = safe_strerror(-iVar17);\n        pr2serr("sg_fd close error: %s\n",uVar19);\n      }" { (expression_statement "uVar19 = safe_strerror(-iVar17);" (assignment_expression "uVar19 = safe_strerror(-iVar17)" identifier = (call_expression "safe_strerror(-iVar17)" identifier (argument_list "(-iVar17)" ( (unary_expression "-iVar17" - identifier) )))) ;) (expression_statement "pr2serr("sg_fd close error: %s\n",uVar19);" (call_expression "pr2serr("sg_fd close error: %s\n",uVar19)" identifier (argument_list "("sg_fd close error: %s\n",uVar19)" ( (string_literal ""sg_fd close error: %s\n"" " string_content escape_sequence ") , identifier ))) ;) })) (if_statement "if (local_908 == (stat64 *)0x0) {\n        local_908 = (stat64 *)0xf;\n      }" if (parenthesized_expression "(local_908 == (stat64 *)0x0)" ( (binary_expression "local_908 == (stat64 *)0x0" identifier == (cast_expression "(stat64 *)0x0" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        local_908 = (stat64 *)0xf;\n      }" { (expression_statement "local_908 = (stat64 *)0xf;" (assignment_expression "local_908 = (stat64 *)0xf" identifier = (cast_expression "(stat64 *)0xf" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) })) })) (if_statement "if ((-1 < (int)local_920) && (iVar17 = close((int)local_920), iVar17 < 0)) {\n      if ((_Bool)local_820[6] == false) {\n        perror("sfr_fd close error");\n      }\n      if (local_908 == (stat64 *)0x0) {\n        local_908 = (stat64 *)0xf;\n      }\n    }" if (parenthesized_expression "((-1 < (int)local_920) && (iVar17 = close((int)local_920), iVar17 < 0))" ( (binary_expression "(-1 < (int)local_920) && (iVar17 = close((int)local_920), iVar17 < 0)" (parenthesized_expression "(-1 < (int)local_920)" ( (binary_expression "-1 < (int)local_920" number_literal < (cast_expression "(int)local_920" ( (type_descriptor "int" primitive_type) ) identifier)) )) && (parenthesized_expression "(iVar17 = close((int)local_920), iVar17 < 0)" ( (comma_expression "iVar17 = close((int)local_920), iVar17 < 0" (assignment_expression "iVar17 = close((int)local_920)" identifier = (call_expression "close((int)local_920)" identifier (argument_list "((int)local_920)" ( (cast_expression "(int)local_920" ( (type_descriptor "int" primitive_type) ) identifier) )))) , (binary_expression "iVar17 < 0" identifier < number_literal)) ))) )) (compound_statement "{\n      if ((_Bool)local_820[6] == false) {\n        perror("sfr_fd close error");\n      }\n      if (local_908 == (stat64 *)0x0) {\n        local_908 = (stat64 *)0xf;\n      }\n    }" { (if_statement "if ((_Bool)local_820[6] == false) {\n        perror("sfr_fd close error");\n      }" if (parenthesized_expression "((_Bool)local_820[6] == false)" ( (binary_expression "(_Bool)local_820[6] == false" (cast_expression "(_Bool)local_820[6]" ( (type_descriptor "_Bool" type_identifier) ) (subscript_expression "local_820[6]" identifier [ number_literal ])) == false) )) (compound_statement "{\n        perror("sfr_fd close error");\n      }" { (expression_statement "perror("sfr_fd close error");" (call_expression "perror("sfr_fd close error")" identifier (argument_list "("sfr_fd close error")" ( (string_literal ""sfr_fd close error"" " string_content ") ))) ;) })) (if_statement "if (local_908 == (stat64 *)0x0) {\n        local_908 = (stat64 *)0xf;\n      }" if (parenthesized_expression "(local_908 == (stat64 *)0x0)" ( (binary_expression "local_908 == (stat64 *)0x0" identifier == (cast_expression "(stat64 *)0x0" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        local_908 = (stat64 *)0xf;\n      }" { (expression_statement "local_908 = (stat64 *)0xf;" (assignment_expression "local_908 = (stat64 *)0xf" identifier = (cast_expression "(stat64 *)0xf" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) })) })) (labeled_statement "LAB_000123a1:\n    if (((cVar2 == '\x01') || ((int)local_924 < 0)) ||\n       (pcVar18 = (char *)close((int)local_924), -1 < (int)pcVar18)) {\nLAB_000123cc:\n      if ((((stat64 *)local_820._48_4_ == (stat64 *)0x0) && ((_Bool)local_820[6] == false)) &&\n         (cVar8 = sg_if_can2stderr("sg_write_x failed: ",local_908,psVar29,psVar29), cVar8 == '\0'))\n      goto LAB_0001260b;\n      goto LAB_000123e2;\n    }" statement_identifier : (if_statement "if (((cVar2 == '\x01') || ((int)local_924 < 0)) ||\n       (pcVar18 = (char *)close((int)local_924), -1 < (int)pcVar18)) {\nLAB_000123cc:\n      if ((((stat64 *)local_820._48_4_ == (stat64 *)0x0) && ((_Bool)local_820[6] == false)) &&\n         (cVar8 = sg_if_can2stderr("sg_write_x failed: ",local_908,psVar29,psVar29), cVar8 == '\0'))\n      goto LAB_0001260b;\n      goto LAB_000123e2;\n    }" if (parenthesized_expression "(((cVar2 == '\x01') || ((int)local_924 < 0)) ||\n       (pcVar18 = (char *)close((int)local_924), -1 < (int)pcVar18))" ( (binary_expression "((cVar2 == '\x01') || ((int)local_924 < 0)) ||\n       (pcVar18 = (char *)close((int)local_924), -1 < (int)pcVar18)" (parenthesized_expression "((cVar2 == '\x01') || ((int)local_924 < 0))" ( (binary_expression "(cVar2 == '\x01') || ((int)local_924 < 0)" (parenthesized_expression "(cVar2 == '\x01')" ( (binary_expression "cVar2 == '\x01'" identifier == (char_literal "'\x01'" ' escape_sequence ')) )) || (parenthesized_expression "((int)local_924 < 0)" ( (binary_expression "(int)local_924 < 0" (cast_expression "(int)local_924" ( (type_descriptor "int" primitive_type) ) identifier) < number_literal) ))) )) || (parenthesized_expression "(pcVar18 = (char *)close((int)local_924), -1 < (int)pcVar18)" ( (comma_expression "pcVar18 = (char *)close((int)local_924), -1 < (int)pcVar18" (assignment_expression "pcVar18 = (char *)close((int)local_924)" identifier = (cast_expression "(char *)close((int)local_924)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "close((int)local_924)" identifier (argument_list "((int)local_924)" ( (cast_expression "(int)local_924" ( (type_descriptor "int" primitive_type) ) identifier) ))))) , (binary_expression "-1 < (int)pcVar18" number_literal < (cast_expression "(int)pcVar18" ( (type_descriptor "int" primitive_type) ) identifier))) ))) )) (compound_statement "{\nLAB_000123cc:\n      if ((((stat64 *)local_820._48_4_ == (stat64 *)0x0) && ((_Bool)local_820[6] == false)) &&\n         (cVar8 = sg_if_can2stderr("sg_write_x failed: ",local_908,psVar29,psVar29), cVar8 == '\0'))\n      goto LAB_0001260b;\n      goto LAB_000123e2;\n    }" { (labeled_statement "LAB_000123cc:\n      if ((((stat64 *)local_820._48_4_ == (stat64 *)0x0) && ((_Bool)local_820[6] == false)) &&\n         (cVar8 = sg_if_can2stderr("sg_write_x failed: ",local_908,psVar29,psVar29), cVar8 == '\0'))\n      goto LAB_0001260b;" statement_identifier : (if_statement "if ((((stat64 *)local_820._48_4_ == (stat64 *)0x0) && ((_Bool)local_820[6] == false)) &&\n         (cVar8 = sg_if_can2stderr("sg_write_x failed: ",local_908,psVar29,psVar29), cVar8 == '\0'))\n      goto LAB_0001260b;" if (parenthesized_expression "((((stat64 *)local_820._48_4_ == (stat64 *)0x0) && ((_Bool)local_820[6] == false)) &&\n         (cVar8 = sg_if_can2stderr("sg_write_x failed: ",local_908,psVar29,psVar29), cVar8 == '\0'))" ( (binary_expression "(((stat64 *)local_820._48_4_ == (stat64 *)0x0) && ((_Bool)local_820[6] == false)) &&\n         (cVar8 = sg_if_can2stderr("sg_write_x failed: ",local_908,psVar29,psVar29), cVar8 == '\0')" (parenthesized_expression "(((stat64 *)local_820._48_4_ == (stat64 *)0x0) && ((_Bool)local_820[6] == false))" ( (binary_expression "((stat64 *)local_820._48_4_ == (stat64 *)0x0) && ((_Bool)local_820[6] == false)" (parenthesized_expression "((stat64 *)local_820._48_4_ == (stat64 *)0x0)" ( (binary_expression "(stat64 *)local_820._48_4_ == (stat64 *)0x0" (cast_expression "(stat64 *)local_820._48_4_" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "local_820._48_4_" identifier . field_identifier)) == (cast_expression "(stat64 *)0x0" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) && (parenthesized_expression "((_Bool)local_820[6] == false)" ( (binary_expression "(_Bool)local_820[6] == false" (cast_expression "(_Bool)local_820[6]" ( (type_descriptor "_Bool" type_identifier) ) (subscript_expression "local_820[6]" identifier [ number_literal ])) == false) ))) )) && (parenthesized_expression "(cVar8 = sg_if_can2stderr("sg_write_x failed: ",local_908,psVar29,psVar29), cVar8 == '\0')" ( (comma_expression "cVar8 = sg_if_can2stderr("sg_write_x failed: ",local_908,psVar29,psVar29), cVar8 == '\0'" (assignment_expression "cVar8 = sg_if_can2stderr("sg_write_x failed: ",local_908,psVar29,psVar29)" identifier = (call_expression "sg_if_can2stderr("sg_write_x failed: ",local_908,psVar29,psVar29)" identifier (argument_list "("sg_write_x failed: ",local_908,psVar29,psVar29)" ( (string_literal ""sg_write_x failed: "" " string_content ") , identifier , identifier , identifier )))) , (binary_expression "cVar8 == '\0'" identifier == (char_literal "'\0'" ' escape_sequence '))) ))) )) (goto_statement "goto LAB_0001260b;" goto statement_identifier ;))) (goto_statement "goto LAB_000123e2;" goto statement_identifier ;) }))) (if_statement "if ((_Bool)local_820[6] == false) {\n      pcVar18 = "infd close error";\n      perror("infd close error");\n    }" if (parenthesized_expression "((_Bool)local_820[6] == false)" ( (binary_expression "(_Bool)local_820[6] == false" (cast_expression "(_Bool)local_820[6]" ( (type_descriptor "_Bool" type_identifier) ) (subscript_expression "local_820[6]" identifier [ number_literal ])) == false) )) (compound_statement "{\n      pcVar18 = "infd close error";\n      perror("infd close error");\n    }" { (expression_statement "pcVar18 = "infd close error";" (assignment_expression "pcVar18 = "infd close error"" identifier = (string_literal ""infd close error"" " string_content ")) ;) (expression_statement "perror("infd close error");" (call_expression "perror("infd close error")" identifier (argument_list "("infd close error")" ( (string_literal ""infd close error"" " string_content ") ))) ;) })) (if_statement "if (local_908 != (stat64 *)0x0) goto LAB_000123cc;" if (parenthesized_expression "(local_908 != (stat64 *)0x0)" ( (binary_expression "local_908 != (stat64 *)0x0" identifier != (cast_expression "(stat64 *)0x0" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_000123cc;" goto statement_identifier ;)) (expression_statement "local_908 = (stat64 *)0xf;" (assignment_expression "local_908 = (stat64 *)0xf" identifier = (cast_expression "(stat64 *)0xf" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (if_statement "if ((((stat64 *)local_820._48_4_ == (stat64 *)0x0) && ((_Bool)local_820[6] == false)) &&\n       (cVar8 = sg_if_can2stderr("sg_write_x failed: ",0xf,pcVar18,pcVar18), cVar8 == '\0')) {\nLAB_0001260b:\n      pr2serr("Some error occurred, try again with \'-v\' or \'-vv\' for more information\n");\nLAB_000123e2:\n      if ((int)local_908 < 0) {\n        local_908 = (stat64 *)0x63;\n      }\n    }" if (parenthesized_expression "((((stat64 *)local_820._48_4_ == (stat64 *)0x0) && ((_Bool)local_820[6] == false)) &&\n       (cVar8 = sg_if_can2stderr("sg_write_x failed: ",0xf,pcVar18,pcVar18), cVar8 == '\0'))" ( (binary_expression "(((stat64 *)local_820._48_4_ == (stat64 *)0x0) && ((_Bool)local_820[6] == false)) &&\n       (cVar8 = sg_if_can2stderr("sg_write_x failed: ",0xf,pcVar18,pcVar18), cVar8 == '\0')" (parenthesized_expression "(((stat64 *)local_820._48_4_ == (stat64 *)0x0) && ((_Bool)local_820[6] == false))" ( (binary_expression "((stat64 *)local_820._48_4_ == (stat64 *)0x0) && ((_Bool)local_820[6] == false)" (parenthesized_expression "((stat64 *)local_820._48_4_ == (stat64 *)0x0)" ( (binary_expression "(stat64 *)local_820._48_4_ == (stat64 *)0x0" (cast_expression "(stat64 *)local_820._48_4_" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "local_820._48_4_" identifier . field_identifier)) == (cast_expression "(stat64 *)0x0" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) && (parenthesized_expression "((_Bool)local_820[6] == false)" ( (binary_expression "(_Bool)local_820[6] == false" (cast_expression "(_Bool)local_820[6]" ( (type_descriptor "_Bool" type_identifier) ) (subscript_expression "local_820[6]" identifier [ number_literal ])) == false) ))) )) && (parenthesized_expression "(cVar8 = sg_if_can2stderr("sg_write_x failed: ",0xf,pcVar18,pcVar18), cVar8 == '\0')" ( (comma_expression "cVar8 = sg_if_can2stderr("sg_write_x failed: ",0xf,pcVar18,pcVar18), cVar8 == '\0'" (assignment_expression "cVar8 = sg_if_can2stderr("sg_write_x failed: ",0xf,pcVar18,pcVar18)" identifier = (call_expression "sg_if_can2stderr("sg_write_x failed: ",0xf,pcVar18,pcVar18)" identifier (argument_list "("sg_write_x failed: ",0xf,pcVar18,pcVar18)" ( (string_literal ""sg_write_x failed: "" " string_content ") , number_literal , identifier , identifier )))) , (binary_expression "cVar8 == '\0'" identifier == (char_literal "'\0'" ' escape_sequence '))) ))) )) (compound_statement "{\nLAB_0001260b:\n      pr2serr("Some error occurred, try again with \'-v\' or \'-vv\' for more information\n");\nLAB_000123e2:\n      if ((int)local_908 < 0) {\n        local_908 = (stat64 *)0x63;\n      }\n    }" { (labeled_statement "LAB_0001260b:\n      pr2serr("Some error occurred, try again with \'-v\' or \'-vv\' for more information\n");" statement_identifier : (expression_statement "pr2serr("Some error occurred, try again with \'-v\' or \'-vv\' for more information\n");" (call_expression "pr2serr("Some error occurred, try again with \'-v\' or \'-vv\' for more information\n")" identifier (argument_list "("Some error occurred, try again with \'-v\' or \'-vv\' for more information\n")" ( (string_literal ""Some error occurred, try again with \'-v\' or \'-vv\' for more information\n"" " string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence ") ))) ;)) (labeled_statement "LAB_000123e2:\n      if ((int)local_908 < 0) {\n        local_908 = (stat64 *)0x63;\n      }" statement_identifier : (if_statement "if ((int)local_908 < 0) {\n        local_908 = (stat64 *)0x63;\n      }" if (parenthesized_expression "((int)local_908 < 0)" ( (binary_expression "(int)local_908 < 0" (cast_expression "(int)local_908" ( (type_descriptor "int" primitive_type) ) identifier) < number_literal) )) (compound_statement "{\n        local_908 = (stat64 *)0x63;\n      }" { (expression_statement "local_908 = (stat64 *)0x63;" (assignment_expression "local_908 = (stat64 *)0x63" identifier = (cast_expression "(stat64 *)0x63" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) }))) })) }) while (parenthesized_expression "( true )" ( true )) ;)) })))
(translation_unit "int FUN_000113d0(int param_1,int param_2)\n\n{\n  byte bVar1;\n  char cVar2;\n  __dev_t *p_Var3;\n  undefined *puVar4;\n  undefined *puVar5;\n  char cVar6;\n  uint uVar7;\n  stat64 *psVar8;\n  stat64 *psVar9;\n  int iVar10;\n  stat64 *psVar11;\n  char *pcVar12;\n  char *pcVar13;\n  int iVar14;\n  char *pcVar15;\n  undefined4 uVar16;\n  stat64 *psVar17;\n  stat64 *psVar18;\n  int *piVar19;\n  undefined *puVar20;\n  int iVar21;\n  stat64 *extraout_ECX;\n  stat64 *extraout_ECX_00;\n  stat64 *extraout_ECX_01;\n  undefined4 extraout_ECX_02;\n  undefined4 extraout_ECX_03;\n  stat64 *extraout_ECX_04;\n  stat64 *extraout_ECX_05;\n  stat64 *extraout_ECX_06;\n  stat64 *extraout_ECX_07;\n  stat64 *extraout_ECX_08;\n  int extraout_EDX;\n  stat64 *psVar22;\n  stat64 *psVar23;\n  stat64 *extraout_EDX_00;\n  undefined4 extraout_EDX_01;\n  stat64 *extraout_EDX_02;\n  stat64 *extraout_EDX_03;\n  stat64 *extraout_EDX_04;\n  undefined4 extraout_EDX_05;\n  uint uVar24;\n  stat64 *psVar25;\n  uint *puVar26;\n  stat64 **ppsVar27;\n  int iVar28;\n  undefined1 *puVar29;\n  int in_GS_OFFSET;\n  bool bVar30;\n  bool bVar31;\n  byte bVar32;\n  undefined8 uVar33;\n  longlong lVar34;\n  __off64_t _Var35;\n  undefined4 uVar36;\n  undefined4 uVar37;\n  stat64 *psVar38;\n  void **ppvVar39;\n  undefined4 uVar40;\n  uint uVar41;\n  uint *puVar42;\n  undefined1 *puVar43;\n  stat64 **ppsVar44;\n  stat64 *psVar45;\n  char local_93f;\n  stat64 *local_93c;\n  stat64 *local_930;\n  stat64 *local_924;\n  stat64 *local_920;\n  stat64 *local_91c;\n  stat64 *local_918;\n  stat64 *local_908;\n  ushort local_8f8;\n  ushort local_8f6;\n  stat64 *local_8f4;\n  void *local_8f0;\n  undefined1 local_8ec [4];\n  void *local_8e8;\n  void *local_8e4;\n  undefined1 local_8e0 [48];\n  int local_8b0;\n  undefined1 local_880 [96];\n  char local_820;\n  char local_81f;\n  byte bStack_81e;\n  byte local_81d;\n  char local_81c;\n  byte local_81b;\n  char local_81a;\n  char local_819;\n  byte local_818;\n  byte local_817;\n  byte local_816;\n  byte bStack_815;\n  byte local_814;\n  char local_813;\n  undefined1 uStack_812;\n  undefined1 uStack_811;\n  byte local_810;\n  char local_80f;\n  char local_80e;\n  uint uStack_80c;\n  int iStack_808;\n  uint uStack_804;\n  int local_800;\n  int local_7fc;\n  uint local_7f8;\n  int local_7f4;\n  stat64 *local_7f0;\n  stat64 *local_7ec;\n  undefined1 uStack_7e8;\n  undefined1 uStack_7e7;\n  ushort local_7e6;\n  undefined2 uStack_7e4;\n  ushort local_7e2;\n  ushort local_7e0;\n  undefined2 uStack_7de;\n  ushort local_7dc;\n  undefined2 uStack_7da;\n  stat64 *local_7d8;\n  stat64 *local_7d4;\n  stat64 *local_7d0;\n  stat64 *local_7cc;\n  undefined4 uStack_7c8;\n  undefined4 uStack_7c4;\n  uint local_7c0;\n  uint local_7bc;\n  uint local_7b8;\n  stat64 *local_7b4;\n  stat64 *local_7b0;\n  int local_7ac;\n  int local_7a8;\n  stat64 *local_7a4;\n  stat64 *local_7a0;\n  char *local_79c;\n  char *local_798;\n  stat64 *local_794;\n  undefined1 local_790 [24];\n  stat64 *local_778 [128];\n  uint local_578;\n  uint local_574;\n  undefined1 local_174 [96];\n  uint local_114;\n  uint local_110;\n  uint local_10c;\n  uint local_104;\n  uint local_100;\n  uint local_fc;\n  uint local_f8;\n  ushort local_f4;\n  ushort local_f2;\n  uint local_24;\n  undefined4 *local_18;\n  \n  iVar28 = param_2;\n  iVar14 = param_1;\n  puVar20 = PTR_optarg_0001dffc;\n  bVar32 = 0;\n  local_18 = &param_1;\n  local_24 = *(uint *)(in_GS_OFFSET + 0x14);\n  local_8f8 = 0;\n  local_8f4 = (stat64 *)0x0;\n  local_8f0 = (void *)0x0;\n  local_918 = (stat64 *)0x0;\n  local_91c = (stat64 *)0x0;\n  pcVar15 = &local_820;\n  for (iVar21 = 0x2a; iVar21 != 0; iVar21 = iVar21 + -1) {\n    pcVar15[0] = '\0';\n    pcVar15[1] = '\0';\n    pcVar15[2] = '\0';\n    pcVar15[3] = '\0';\n    pcVar15 = pcVar15 + 4;\n  }\n  local_930 = (stat64 *)local_8e0;\n  local_7fc = -1;\n  psVar18 = local_930;\n  for (iVar21 = 0x18; iVar21 != 0; iVar21 = iVar21 + -1) {\n    *(undefined4 *)&psVar18->st_dev = 0;\n    psVar18 = (stat64 *)((int)&psVar18->st_dev + 4);\n  }\n  psVar18 = (stat64 *)local_880;\n  local_7c0 = 0xffffffff;\n  psVar38 = psVar18;\n  for (iVar21 = 0x18; iVar21 != 0; iVar21 = iVar21 + -1) {\n    *(undefined4 *)&psVar38->st_dev = 0;\n    psVar38 = (stat64 *)((int)&psVar38->st_dev + 4);\n  }\n  cVar2 = ' ';\n  local_7e6 = 0xffff;\n  local_7dc = 0xffff;\n  local_7f4 = 0x78;\n  bVar1 = 0;\n  local_924 = (stat64 *)PTR_optarg_0001dffc;\n  psVar38 = local_7d0;\n  uVar16 = uStack_7c4;\n  uVar7 = local_7c0;\ncode_r0x000114e8:\n  local_7c0 = uVar7;\n  uStack_7c4 = uVar16;\n  local_7d0 = psVar38;\n  local_8e4 = (void *)0x0;\n  uVar33 = getopt_long(iVar14,iVar28,"36a:A:b:B:c:dD:Efg:G:hi:I:l:M:n:No:Oq:Qr:RsS:t:T:u:vVw:x",\n                       &PTR_DAT_0001e020,&local_8e4);\n  puVar5 = PTR_optarg_0001dffc;\n  puVar4 = PTR_optind_0001dfe4;\n  if ((int)uVar33 == -1) {\n    iVar21 = *(int *)PTR_optind_0001dfe4;\n    local_920 = (stat64 *)0xffffffff;\n    if (iVar21 < iVar14) {\n      iVar10 = (int)((ulonglong)uVar33 >> 0x20);\n      if (local_7a0 != (stat64 *)0x0) goto LAB_00011c60;\n      local_7a0 = *(stat64 **)(iVar28 + iVar21 * 4);\n      *(int *)PTR_optind_0001dfe4 = iVar21 + 1;\n      iVar10 = iVar28;\n      if (iVar21 + 1 < iVar14) goto LAB_00011c60;\n    }\n    if ((bool)(bVar1 & local_7f8 != 0)) goto LAB_00011a7a;\n    if (0 < local_800) {\n      FUN_000149b0();\n      local_908 = (stat64 *)0x0;\n      goto LAB_00011a84;\n    }\n    if (local_80f == '\0') {\nLAB_00011c9f:\n      if (local_80e != '\0') {\n        pr2serr("sg_write_x version: %s\n","1.19 20180628",puVar4,puVar4);\n        local_908 = (stat64 *)0x270f;\n        goto LAB_00011a84;\n      }\n    }\n    else if (local_80e != '\0') {\n      pr2serr("Not in DEBUG mode, so \'-vV\' has no special action\n");\n      goto LAB_00011c9f;\n    }\n    psVar38 = local_7f0;\n    psVar17 = psVar38;\n    if (local_820 == '\0') {\n      if (local_81f == '\0') {\n        psVar17 = (stat64 *)((int)&local_7f0[-1].st_ino + 7);\n        local_820 = '\x01';\n        if (psVar17 != (stat64 *)0x0 && 0 < (int)local_7f0) {\n          pr2serr("Since neither --16 nor --32 given, choose --16\n");\n        }\n      }\n    }\n    else if ((local_81f != '\0') && (local_820 = '\0', 1 < (int)local_7f0)) {\n      pr2serr("Since both --16 and --32 given, choose --32\n");\n    }\n    uVar7 = (uint)local_81d + (uint)local_814 + (uint)local_81b + (uint)local_818 + (uint)local_817\n            + (uint)local_816;\n    if (1 < uVar7) {\n      pr2serr(\n             "Can only select one command; so only one of --atomic, --normal, --or,\n--same=, --scattered= or --stream=\n"\n             );\n      local_908 = (stat64 *)0x1f;\n      goto LAB_00011a84;\n    }\n    if (uVar7 == 0) {\n      if (local_7f8 != 0) {\n        pr2serr("With --strict won\'t default to a normal WRITE, add --normal\n");\n        local_908 = (stat64 *)0x1f;\n        goto LAB_00011a84;\n      }\n      local_794 = (stat64 *)0x17164;\n      local_814 = 1;\n      if (psVar38 != (stat64 *)0x0) {\n        pr2serr("No command selected so choose \'normal\' WRITE\n");\n      }\n    }\n    psVar8 = (stat64 *)((-(uint)(local_820 == '\0') & 0x10) + 0x10);\n    psVar22 = local_794;\n    __snprintf_chk(local_790,0x18,1,0x18,"%s(%d)",local_794,psVar8,psVar17);\n    if (local_81c == '\0') {\n      if (local_798 != (char *)0x0) {\n        local_93f = local_918 != (stat64 *)0x0;\n        bVar30 = local_91c != (stat64 *)0x0 || local_918 != (stat64 *)0x0;\n        bVar31 = local_91c != (stat64 *)0x0;\n        if (local_91c == (stat64 *)0x0 && local_918 == (stat64 *)0x0) {\n          iVar14 = -1;\n          pcVar15 = local_798;\n          goto code_r0x00011d5c;\n        }\n        pr2serr(\n               "want one and only one of: (--lba=LBA and/or --num=NUM), or\n--scat-file=SF, or --combined=DOF\n"\n               );\n        local_908 = (stat64 *)0x1f;\n        goto LAB_00011a84;\n      }\n      if (local_819 == '\0') {\n        local_93f = local_918 != (stat64 *)0x0;\n        bVar30 = local_91c != (stat64 *)0x0 || local_918 != (stat64 *)0x0;\n        bVar31 = local_91c != (stat64 *)0x0;\n        goto LAB_00011d67;\n      }\n      pr2serr(\n             "--scat-raw only applies to the --scat-file=SF option\n--scat-raw without the --scat-file=SF option is an error\n"\n             );\n      local_908 = (stat64 *)0x1f;\n      goto LAB_00011a84;\n    }\n    if (local_817 == 0) {\n      pr2serr(\n             "--combined=DOF only allowed with --scattered=RD (i.e. only with\nWRITE SCATTERED command)\n"\n             );\n      local_908 = (stat64 *)0x1f;\n      goto LAB_00011a84;\n    }\n    if (local_798 != (char *)0x0) {\n      pr2serr("Ambiguous: got --combined=DOF and --scat-file=SF .\nGive one, the other or neither\n"\n             );\n      local_908 = (stat64 *)0x1f;\n      goto LAB_00011a84;\n    }\n    if (local_91c == (stat64 *)0x0 && local_918 == (stat64 *)0x0) {\n      local_93f = local_819;\n      bVar30 = false;\n      bVar31 = false;\n      if (local_819 == '\0') goto LAB_00011d67;\n      pr2serr("Ambiguous: don\'t expect --combined=DOF and --scat-raw\nGive one or the other\n");\n      local_908 = (stat64 *)0x1f;\n    }\n    else {\n      pr2serr("--scattered=RD --combined=DOF does not use --lba= or --num=\nPlease remove.\n");\n      local_908 = (stat64 *)0x1f;\n    }\n    goto LAB_00011a84;\n  }\n  local_920 = local_924;\n  psVar38 = local_7d0;\n  uVar16 = uStack_7c4;\n  uVar7 = local_7c0;\n  switch((int)uVar33) {\n  case 0x33:\n    local_81f = '\x01';\n    goto code_r0x000114e8;\n  default:\n    pcVar15 = "unrecognised option code 0x%x ??\n";\n    break;\n  case 0x36:\n    local_820 = '\x01';\n    goto code_r0x000114e8;\n  case 0x3f:\n    pcVar15 = "\n";\n    break;\n  case 0x41:\n    uVar7 = func_0x00011320(*(undefined4 *)PTR_optarg_0001dffc);\n    if (0xffff < uVar7) {\n      pr2serr("bad argument to \'--atomic=\'. Expect 0 to 0xffff inclusive\n");\n      goto LAB_00011a7a;\n    }\n    uStack_7e4 = (undefined2)uVar7;\n    local_81d = 1;\n    local_794 = (stat64 *)0x17112;\n    psVar38 = local_7d0;\n    uVar16 = uStack_7c4;\n    uVar7 = local_7c0;\n    goto code_r0x000114e8;\n  case 0x42:\n    uVar24 = func_0x00011320(*(undefined4 *)PTR_optarg_0001dffc);\n    if (7 < uVar24) {\n      pr2serr("bad first argument to \'--bmop=\'\n");\n      goto LAB_00011a7a;\n    }\n    uStack_7e8 = (undefined1)uVar24;\n    uVar36 = 0x2c;\n    uVar41 = uVar24;\n    pcVar15 = strchr(*(char **)puVar5,0x2c);\n    psVar38 = local_7d0;\n    uVar16 = uStack_7c4;\n    uVar7 = local_7c0;\n    if (pcVar15 != (char *)0x0) {\n      uVar7 = func_0x00011320(pcVar15 + 1,uVar36,uVar24,uVar41);\n      if (0xf < uVar7) {\n        pr2serr("bad second argument to \'--bmop=\'\n");\n        goto LAB_00011a7a;\n      }\n      uStack_7e7 = (undefined1)uVar7;\n      psVar38 = local_7d0;\n      uVar16 = uStack_7c4;\n      uVar7 = local_7c0;\n    }\n    goto code_r0x000114e8;\n  case 0x44:\n    uStack_80c = func_0x00011320(*(undefined4 *)PTR_optarg_0001dffc);\n    psVar38 = local_7d0;\n    uVar16 = uStack_7c4;\n    uVar7 = local_7c0;\n    if (7 < uStack_80c) {\n      pr2serr("bad argument to \'--dld=\', expect 0 to 7 inclusive\n");\n      goto LAB_00011a7a;\n    }\n    goto code_r0x000114e8;\n  case 0x47:\n    uVar33 = sg_get_llnum(*(undefined4 *)PTR_optarg_0001dffc);\n    uVar36 = (undefined4)uVar33;\n    if ((int)((ulonglong)uVar33 >> 0x20) != 0) {\n      pr2serr("bad first argument to \'--generation=\'\n");\n      goto LAB_00011a7a;\n    }\n    uVar37 = 0x2c;\n    uVar40 = uVar36;\n    uStack_7c8 = uVar36;\n    pcVar15 = strchr(*(char **)puVar5,0x2c);\n    if (pcVar15 == (char *)0x0) {\n      pr2serr("need two arguments with --generation=EOG,NOG and they must be comma separated\n",\n              uVar37,uVar36,uVar40);\n      goto LAB_00011a7a;\n    }\n    uVar33 = sg_get_llnum(pcVar15 + 1);\n    psVar38 = local_7d0;\n    uVar16 = (int)uVar33;\n    uVar7 = local_7c0;\n    if ((int)((ulonglong)uVar33 >> 0x20) != 0) {\n      pr2serr("bad second argument to \'--generation=\'\n",uVar37,uVar36,uVar40);\n      goto LAB_00011a7a;\n    }\n    goto code_r0x000114e8;\n  case 0x49:\n    local_7f4 = func_0x00011320(*(undefined4 *)PTR_optarg_0001dffc);\n    psVar38 = local_7d0;\n    uVar16 = uStack_7c4;\n    uVar7 = local_7c0;\n    if (local_7f4 < 0) {\n      pr2serr("bad argument to \'--timeout=\'\n");\n      goto LAB_00011a7a;\n    }\n    goto code_r0x000114e8;\n  case 0x4d:\n    uVar7 = func_0x00011320(*(undefined4 *)PTR_optarg_0001dffc);\n    if (1 < uVar7) {\n      pr2serr("bad argument to \'--same\', expect 0 or 1\n");\n      goto LAB_00011a7a;\n    }\n    local_810 = (byte)uVar7 & 1;\n    local_818 = 1;\n    local_794 = (stat64 *)0x17159;\n    psVar38 = local_7d0;\n    uVar16 = uStack_7c4;\n    uVar7 = local_7c0;\n    goto code_r0x000114e8;\n  case 0x4e:\n    local_814 = 1;\n    local_794 = (stat64 *)0x17164;\n    goto code_r0x000114e8;\n  case 0x4f:\n    local_81b = 1;\n    local_794 = (stat64 *)0x1716a;\n    goto code_r0x000114e8;\n  case 0x51:\n    local_81a = '\x01';\n    goto code_r0x000114e8;\n  case 0x52:\n    local_819 = '\x01';\n    goto code_r0x000114e8;\n  case 0x53:\n    uVar7 = func_0x00011320(*(undefined4 *)PTR_optarg_0001dffc);\n    if (0xffff < uVar7) {\n      pr2serr("bad argument to \'--scattered=\'. Expect 0 to 0xffff inclusive\n");\n      goto LAB_00011a7a;\n    }\n    local_7e0 = (ushort)uVar7;\n    local_794 = (stat64 *)0x17172;\n    local_817 = 1;\n    psVar38 = local_7d0;\n    uVar16 = uStack_7c4;\n    uVar7 = local_7c0;\n    goto code_r0x000114e8;\n  case 0x54:\n    uVar7 = func_0x00011320(*(undefined4 *)PTR_optarg_0001dffc);\n    if (0xffff < uVar7) {\n      pr2serr("bad argument to \'--stream=\', expect 0 to 65535\n");\n      goto LAB_00011a7a;\n    }\n    uStack_7de = (undefined2)uVar7;\n    local_794 = (stat64 *)0x17182;\n    local_816 = 1;\n    psVar38 = local_7d0;\n    uVar16 = uStack_7c4;\n    uVar7 = local_7c0;\n    goto code_r0x000114e8;\n  case 0x56:\n    local_80e = '\x01';\n    goto code_r0x000114e8;\n  case 0x61:\n    uVar7 = func_0x00011320(*(undefined4 *)PTR_optarg_0001dffc);\n    if (0xffff < uVar7) {\n      pr2serr("bad argument to \'--app-tag=\'. Expect 0 to 0xffff inclusive\n");\n      goto LAB_00011a7a;\n    }\n    local_7e6 = (ushort)uVar7;\n    psVar38 = local_7d0;\n    uVar16 = uStack_7c4;\n    uVar7 = local_7c0;\n    goto code_r0x000114e8;\n  case 0x62:\n    psVar17 = (stat64 *)func_0x00011320(*(undefined4 *)PTR_optarg_0001dffc);\n    if ((stat64 *)0x10000000 < psVar17) {\n      pr2serr("bad argument to \'--bs=\'. Expect 0 or greater\n");\n      goto LAB_00011a7a;\n    }\n    if (psVar17 == (stat64 *)0x0) {\n      local_7d8 = (stat64 *)0x0;\n      local_7d4 = (stat64 *)0x0;\n      psVar38 = local_7d0;\n      uVar16 = uStack_7c4;\n      uVar7 = local_7c0;\n    }\n    else {\n      if ((int)psVar17 < 0x200) {\n        pr2serr("warning: --bs=BS value is < 512 which seems too small, continue\n");\n        bVar1 = 1;\n      }\n      if (((uint)psVar17 & 7) != 0) {\n        pr2serr("warning: --bs=BS value is not a multiple of 8, unexpected, continue\n");\n        bVar1 = 1;\n      }\n      iVar21 = 0;\n      iVar10 = 0;\n      psVar38 = psVar17;\n      do {\n        if (((uint)psVar38 & 1) != 0) {\n          iVar21 = iVar10;\n        }\n        iVar10 = iVar10 + 1;\n        psVar38 = (stat64 *)((int)psVar38 >> 1);\n      } while (iVar10 != 0x1c);\n      psVar22 = (stat64 *)(1 << ((byte)iVar21 & 0x1f));\n      local_7d8 = psVar17;\n      local_7d4 = psVar17;\n      psVar38 = local_7d0;\n      uVar16 = uStack_7c4;\n      uVar7 = local_7c0;\n      if (psVar17 != psVar22) {\n        local_7d8 = psVar22;\n      }\n    }\n    goto code_r0x000114e8;\n  case 99:\n    iVar21 = func_0x00011320(*(undefined4 *)PTR_optarg_0001dffc);\n    if (iVar21 < 0) {\n      pr2serr("bad argument to \'--combined=\'. Expect 0 to 0x7fffffff\n");\n      goto LAB_00011a7a;\n    }\n    local_7e2 = (ushort)iVar21;\n    local_81c = '\x01';\n    psVar38 = local_7d0;\n    uVar16 = uStack_7c4;\n    uVar7 = local_7c0;\n    goto code_r0x000114e8;\n  case 100:\n    uStack_812 = 1;\n    goto code_r0x000114e8;\n  case 0x66:\n    uStack_811 = 1;\n    goto code_r0x000114e8;\n  case 0x67:\n    uStack_804 = func_0x00011320(*(undefined4 *)PTR_optarg_0001dffc);\n    psVar38 = local_7d0;\n    uVar16 = uStack_7c4;\n    uVar7 = local_7c0;\n    if (0x3f < uStack_804) {\n      pr2serr("bad argument to \'--grpnum\'\n");\n      goto LAB_00011a7a;\n    }\n    goto code_r0x000114e8;\n  case 0x68:\n    local_800 = local_800 + 1;\n    goto code_r0x000114e8;\n  case 0x69:\n    local_79c = *(char **)PTR_optarg_0001dffc;\n    goto code_r0x000114e8;\n  case 0x6c:\n    if (local_91c != (stat64 *)0x0) {\n      pr2serr("only expect \'--lba=\' option once\n");\n      goto LAB_00011a7a;\n    }\n    local_91c = *(stat64 **)PTR_optarg_0001dffc;\n    goto code_r0x000114e8;\n  case 0x6e:\n    if (local_918 != (stat64 *)0x0) {\n      pr2serr("only expect \'--num=\' option once\n");\n      goto LAB_00011a7a;\n    }\n    local_918 = *(stat64 **)PTR_optarg_0001dffc;\n    goto code_r0x000114e8;\n  case 0x6f:\n    lVar34 = sg_get_llnum(*(undefined4 *)PTR_optarg_0001dffc);\n    psVar17 = (stat64 *)lVar34;\n    if (lVar34 == -1) {\n      pr2serr("bad first argument to \'--offset=\'\n");\n      goto LAB_00011a7a;\n    }\n    uVar36 = 0x2c;\n    psVar22 = psVar17;\n    local_7b4 = psVar17;\n    local_7b0 = (stat64 *)((ulonglong)lVar34 >> 0x20);\n    pcVar15 = strchr(*(char **)puVar5,0x2c);\n    psVar38 = local_7d0;\n    uVar16 = uStack_7c4;\n    uVar7 = local_7c0;\n    if (pcVar15 != (char *)0x0) {\n      lVar34 = sg_get_llnum(pcVar15 + 1,uVar36,psVar17,psVar22);\n      psVar38 = (stat64 *)lVar34;\n      uVar16 = uStack_7c4;\n      uVar7 = local_7c0;\n      if ((int)((ulonglong)lVar34 >> 0x20) == -1) {\n        if (psVar38 == (stat64 *)0xffffffff) {\n          pr2serr("bad second argument to \'--offset=\'\n");\n          goto LAB_00011a7a;\n        }\n      }\n      else if (0xffffffff < lVar34) {\n        pr2serr("bad second argument to \'--offset=\', cannot exceed 32 bits\n");\n        goto LAB_00011a7a;\n      }\n    }\n    goto code_r0x000114e8;\n  case 0x71:\n    local_798 = *(char **)PTR_optarg_0001dffc;\n    goto code_r0x000114e8;\n  case 0x72:\n    goto code_r0x000115f1;\n  case 0x73:\n    local_7f8 = local_7f8 + 1;\n    goto code_r0x000114e8;\n  case 0x74:\n    uVar7 = func_0x00011320(*(undefined4 *)PTR_optarg_0001dffc);\n    if (0xffff < uVar7) {\n      pr2serr("bad argument to \'--tag-mask=\'. Expect 0 to 0xffff inclusive\n");\n      goto LAB_00011a7a;\n    }\n    local_7dc = (ushort)uVar7;\n    psVar38 = local_7d0;\n    uVar16 = uStack_7c4;\n    uVar7 = local_7c0;\n    goto code_r0x000114e8;\n  case 0x75:\n    uVar7 = func_0x00011320(*(undefined4 *)puVar20);\n    if (3 < uVar7) {\n      pr2serr("bad argument to \'--unmap=\', expect 0 to 3\n");\n      goto LAB_00011a7a;\n    }\n    bStack_81e = (byte)(uVar7 >> 1) & 1;\n    bStack_815 = (byte)uVar7 & 1;\n    psVar38 = local_7d0;\n    uVar16 = uStack_7c4;\n    uVar7 = local_7c0;\n    goto code_r0x000114e8;\n  case 0x76:\n    local_80f = '\x01';\n    local_7f0 = (stat64 *)((int)&local_7f0->st_dev + 1);\n    goto code_r0x000114e8;\n  case 0x77:\n    local_7ec = (stat64 *)func_0x00011320(*(undefined4 *)puVar20);\n    if ((stat64 *)0x7 < local_7ec) {\n      pr2serr("bad argument to \'--wrprotect\'\n");\n      goto LAB_00011a7a;\n    }\n    local_813 = 0 < (int)local_7ec;\n    psVar38 = local_7d0;\n    uVar16 = uStack_7c4;\n    uVar7 = local_7c0;\n    goto code_r0x000114e8;\n  case 0x78:\n    iStack_808 = iStack_808 + 1;\n    goto code_r0x000114e8;\n  }\n  pr2serr(pcVar15);\n  FUN_000149b0();\n  goto LAB_00011a7a;\nLAB_00011c60:\n  while (*(int *)puVar4 < iVar14) {\n    pr2serr("Unexpected extra argument: %s\n",*(undefined4 *)(iVar28 + *(int *)puVar4 * 4),iVar10,\n            iVar10);\n    *(int *)puVar4 = *(int *)puVar4 + 1;\n    iVar10 = extraout_EDX;\n  }\n  FUN_000149b0();\n  local_908 = (stat64 *)0x1;\n  goto LAB_00011a84;\n  while( true ) {\n    iVar14 = iVar14 + -1;\n    cVar6 = *pcVar15;\n    pcVar15 = pcVar15 + (uint)bVar32 * -2 + 1;\n    if (cVar6 == '\0') break;\ncode_r0x00011d5c:\n    if (iVar14 == 0) break;\n  }\n  if ((iVar14 == -3) && (*local_798 == '-')) {\n    pr2serr("don\'t accept \'-\' (implying stdin) as a filename in --scat-file=SF\n");\n    local_908 = (stat64 *)0x1f;\n    goto LAB_00011a84;\n  }\nLAB_00011d67:\n  if (((psVar38 != (stat64 *)0x0) && (local_820 != '\0')) &&\n     ((local_7c0 != 0xffffffff || ((local_7e6 & local_7dc) != 0xffff)))) {\n    pr2serr("--app-tag=, --ref-tag= and --tag-mask= options ignored with 16 byte commands\n");\n  }\n  psVar45 = local_7d0;\n  psVar9 = (stat64 *)(uint)local_810;\n  if (local_810 == 0) {\n    local_93c = local_7d0;\n    cVar2 = '\0';\n    if (local_79c == (char *)0x0) {\n      pr2serr("Need --if=FN option to be given, exiting.\n");\n      if (1 < (int)psVar38) {\n        pr2serr("To write zeros use --in=/dev/zero\n");\n      }\n      pr2serr("\n");\n      FUN_000149b0();\n      local_908 = (stat64 *)0x1;\n      goto LAB_00011a84;\n    }\n    iVar14 = -1;\n    pcVar15 = local_79c;\n    do {\n      if (iVar14 == 0) break;\n      iVar14 = iVar14 + -1;\n      cVar6 = *pcVar15;\n      pcVar15 = pcVar15 + (uint)bVar32 * -2 + 1;\n    } while (cVar6 != '\0');\n    if ((iVar14 != -3) || (*local_79c != '-')) {\n      local_924 = (stat64 *)open64(local_79c,0,iVar14,iVar14);\n      if ((int)local_924 < 0) {\n        piVar19 = __errno_location();\n        iVar14 = *piVar19;\n        pcVar15 = "could not open %s for reading";\n      }\n      else {\n        psVar17 = (stat64 *)sg_set_binary_mode(local_924);\n        if ((int)psVar17 < 0) goto LAB_00011dea;\n        psVar22 = local_924;\n        psVar8 = local_930;\n        iVar14 = __fxstat64(3,(int)local_924,local_930);\n        if (-1 < iVar14) {\n          if ((local_8e0._16_4_ & 0xf000) == 0x8000) {\n            local_93c = (stat64 *)local_8e0._44_4_;\n            if (psVar45 != (stat64 *)0x0) {\n              local_93c = psVar45;\n            }\n            if ((local_8b0 != 0 || (stat64 *)local_8e0._44_4_ != (stat64 *)0x0) &&\n               (psVar25 = (stat64 *)((int)&((stat64 *)(local_8e0._44_4_ + -0x60))->st_ino + 7),\n               iVar28 = local_8b0 + -1 + (uint)((stat64 *)local_8e0._44_4_ != (stat64 *)0x0),\n               iVar14 = (int)local_7b0 - iVar28,\n               (SBORROW4((int)local_7b0,iVar28) != SBORROW4(iVar14,(uint)(local_7b4 < psVar25))) ==\n               (int)(iVar14 - (uint)(local_7b4 < psVar25)) < 0)) {\n              pr2serr("Offset (%llu) is at or beyond IF byte length (%llu)\n",local_7b4,local_7b0,\n                      local_8e0._44_4_,local_8b0,psVar22,psVar8,psVar17);\n              local_908 = (stat64 *)0xf;\n              goto LAB_00012527;\n            }\n            psVar9 = local_7b4;\n            psVar45 = (stat64 *)local_8e0._44_4_;\n            iVar14 = local_8b0;\n            if (local_7b0 != (stat64 *)0x0 || local_7b4 != (stat64 *)0x0) {\n              psVar17 = (stat64 *)0x0;\n              psVar22 = local_7b4;\n              psVar8 = local_7b0;\n              _Var35 = lseek64((int)local_924,CONCAT44(local_7b0,local_7b4),0);\n              psVar25 = local_7b4;\n              if (_Var35 < 0) {\n                piVar19 = __errno_location();\n                psVar25 = (stat64 *)(local_174 + 0x50);\n                iVar14 = *piVar19;\n                __snprintf_chk(psVar25,0x100,1,0x100,"couldn\'t offset to required position on %s",\n                               local_79c,piVar19,piVar19);\n                perror((char *)psVar25);\n                local_908 = (stat64 *)sg_convert_errno(iVar14);\n                goto LAB_00012527;\n              }\n              psVar9 = (stat64 *)((int)psVar45 - (int)local_7b4);\n              iVar14 = (local_8b0 - (int)local_7b0) - (uint)(psVar45 < local_7b4);\n              local_930 = psVar45;\n              if ((int)(uint)(psVar9 != (stat64 *)0x0) <= -iVar14) {\n                pr2serr("--offset [0x%llx] at or beyond file length[0x%llx]\n",local_7b4,local_7b0,\n                        psVar45,local_8b0);\n                local_908 = (stat64 *)0xf;\n                goto LAB_00012527;\n              }\n              if ((local_7f8 != 0) &&\n                 (local_930 = local_7d0, iVar14 < (int)(uint)(psVar9 < local_7d0))) {\n                pr2serr("after accounting for OFF, DLEN exceeds %s remaining length (%u bytes)\n",\n                        local_79c,psVar9,psVar9);\n                local_908 = (stat64 *)0xf;\n                psVar25 = psVar9;\n                goto LAB_00012527;\n              }\n              if (iVar14 < (int)(uint)(psVar9 < local_93c)) {\n                local_93c = psVar9;\n              }\n              psVar45 = psVar9;\n              if (2 < (int)psVar38) {\n                psVar22 = local_7b4;\n                psVar8 = local_93c;\n                psVar17 = psVar9;\n                psVar9 = (stat64 *)\n                         pr2serr("Moved IF byte pointer to %u, if_len=%u, if_readable_len=%u\n",\n                                 local_7b4,local_93c,psVar9);\n              }\n            }\n            goto LAB_00011fa8;\n          }\n          goto LAB_00011e6c;\n        }\n        piVar19 = __errno_location();\n        iVar14 = *piVar19;\n        pcVar15 = "could not fstat %s";\n      }\n      __snprintf_chk(local_174 + 0x50,0x100,1,0x100,pcVar15,local_79c,piVar19,piVar19);\n      perror(local_174 + 0x50);\n      local_908 = (stat64 *)sg_convert_errno(iVar14);\n      goto LAB_00011a84;\n    }\n    iVar14 = sg_set_binary_mode(0);\n    cVar2 = '\x01';\n    local_924 = (stat64 *)0x0;\n    if (iVar14 < 0) {\nLAB_00011dea:\n      perror("sg_set_binary_mode");\n      local_908 = (stat64 *)0xf;\n      goto LAB_00011a84;\n    }\nLAB_00011e6c:\n    if (((stat64 *)((uint)local_7b0 | (uint)local_7b4) == (stat64 *)0x0) ||\n       (psVar38 == (stat64 *)0x0)) {\n      psVar9 = (stat64 *)((uint)local_7b0 | (uint)local_7b4);\n      psVar45 = (stat64 *)0x0;\n      iVar14 = 0;\n    }\n    else {\n      psVar9 = (stat64 *)\n               pr2serr(\n                      "--offset=OFF ignored when IF is stdin, pipe, socket, etc\nDLEN, if given, is used\n"\n                      );\n      psVar45 = (stat64 *)0x0;\n      iVar14 = 0;\n    }\n  }\n  else {\n    local_924 = (stat64 *)0xffffffff;\n    cVar2 = '\0';\n    psVar45 = (stat64 *)0x0;\n    iVar14 = 0;\n    local_93c = (stat64 *)0x0;\n  }\nLAB_00011fa8:\n  if (local_7a0 == (stat64 *)0x0) {\n    pr2serr("missing device name!\n",psVar22,psVar8,psVar17);\n    FUN_000149b0();\n    local_908 = (stat64 *)0x1;\n    psVar25 = (stat64 *)0x0;\nLAB_00012527:\n    if (local_8f0 == (void *)0x0) goto LAB_000123a1;\n    free(local_8f0);\n    goto LAB_000123a1;\n  }\n  pcVar15 = (char *)0x0;\n  psVar17 = psVar38;\n  uVar33 = sg_cmds_open_device(local_7a0,0,psVar38,psVar9);\n  psVar25 = local_7d8;\n  psVar22 = (stat64 *)((ulonglong)uVar33 >> 0x20);\n  local_930 = (stat64 *)uVar33;\n  if ((int)local_930 < 0) {\n    psVar25 = (stat64 *)-(int)local_930;\n    if (local_7f0 != (stat64 *)0x0) {\n      uVar16 = safe_strerror(psVar25);\n      pr2serr("open error: %s: %s\n",local_7a0,uVar16);\n    }\n    local_908 = (stat64 *)sg_convert_errno(psVar25);\n    goto LAB_00012527;\n  }\n  psVar8 = local_7d4;\n  psVar11 = local_7d4;\n  if (local_7d8 == (stat64 *)0x0) {\n    psVar17 = (stat64 *)0x0;\n    if (local_7f0 != (stat64 *)0x0) {\n      psVar17 = (stat64 *)((int)&local_7f0[-1].st_ino + 7);\n    }\n    psVar22 = (stat64 *)local_174;\n    psVar11 = (stat64 *)0x1;\n    pcVar15 = (char *)0x20;\n    psVar9 = psVar17;\n    psVar8 = local_7f0;\n    uVar33 = sg_ll_readcap_16(local_930,0,0,0,psVar22,0x20,1,psVar17,psVar22,local_7f0,psVar45,\n                              iVar14);\n    if ((int)uVar33 == 6) {\n      pr2serr("Read capacity(16) unit attention, try again\n");\n      uVar33 = sg_ll_readcap_16(local_930,0,0,0,psVar22,0x20,1,psVar17);\n    }\n    psVar23 = (stat64 *)((ulonglong)uVar33 >> 0x20);\n    local_908 = (stat64 *)uVar33;\n    if (local_908 == (stat64 *)0x0) {\n      psVar17 = psVar11;\n      if (3 < (int)psVar8) {\n        pr2serr("Read capacity(16) response:\n");\n        psVar17 = (stat64 *)0x1;\n        pcVar15 = (char *)0x20;\n        hex2stderr(psVar22,0x20,1);\n      }\n      bVar1 = local_174[0xc];\n      psVar11 = (stat64 *)\n                ((uint)local_174._8_4_ >> 0x18 | (local_174._8_4_ & 0xff0000) >> 8 |\n                 (local_174._8_4_ & 0xff00) << 8 | local_174._8_4_ << 0x18);\n      uVar7 = (uint)local_174._4_4_ >> 0x18 | (local_174._4_4_ & 0xff0000) >> 8 |\n              (local_174._4_4_ & 0xff00) << 8 | local_174._4_4_ << 0x18;\n      local_7ac = uVar7 + 1;\n      local_7a8 = ((uint)local_174._0_4_ >> 0x18 | (local_174._0_4_ & 0xff0000) >> 8 |\n                   (local_174._0_4_ & 0xff00) << 8 | local_174._0_4_ << 0x18) +\n                  (uint)(0xfffffffe < uVar7);\n      psVar22 = (stat64 *)(uint)local_174[0xc];\n      local_7d8 = psVar11;\n      if ((local_174[0xc] & 1) == 0) {\n        local_7fc = 0;\n        if ((int)local_7ec < 1) goto LAB_00012305;\n        if (psVar8 != (stat64 *)0x0) {\n          pcVar15 = (char *)local_7ec;\n          psVar22 = local_7a0;\n          pr2serr("--wrprotect (%d) expects PI but %s says it has none\n",local_7ec,local_7a0,\n                  psVar11);\n          if (local_7f8 != 0) goto LAB_00012ef5;\n          pcVar13 = "  ... continue but could be dangerous\n";\n          psVar25 = (stat64 *)0x0;\n          psVar9 = psVar11;\n          goto LAB_00013516;\n        }\n        if (local_7f8 != 0) goto LAB_00012ef5;\n      }\n      else {\n        local_7fc = (local_174[0xc] >> 1 & 7) + 1;\n        psVar25 = (stat64 *)(8 << (local_174[0xd] >> 4));\n        psVar22 = (stat64 *)(uint)(local_174[0xd] >> 4);\n        if (((int)local_7ec < 1) ||\n           (local_7d4 = (stat64 *)((int)&psVar25->st_dev + (int)&psVar11->st_dev), (int)psVar8 < 2))\n        {\nLAB_00012305:\n          if (psVar8 == (stat64 *)0x0) goto LAB_00012312;\n        }\n        else {\n          pcVar13 = \n          "  For data out buffer purposes the effective block size is %u (lb size\n  is %u) because PROT_EN=1, PI_EXP=%u and WRPROTECT>0\n"\n          ;\n          pcVar15 = (char *)psVar11;\n          psVar9 = local_7d4;\nLAB_00013516:\n          pr2serr(pcVar13,pcVar15,psVar22,psVar9);\n          psVar17 = psVar22;\n        }\n        pr2serr("Read capacity(16) response fields:\n",pcVar15,psVar17,psVar9);\n        psVar25 = (stat64 *)((int)&local_7d8->st_dev + (int)&psVar25->st_dev);\n        psVar9 = extraout_ECX_06;\n        pr2serr("  Last_LBA=0x%llx  LB size: %u (with PI: %u) bytes  p_type=%u\n",local_7ac + -1,\n                local_7a8 + -1 + (uint)(local_7ac != 0),local_7d8,psVar25,local_174[0xc] >> 1 & 7,\n                extraout_ECX_06,extraout_ECX_06);\n        pr2serr("  prot_en=%u [PI type=%u] p_i_exp=%u  lbppb_exp=%u  lbpme,rz=%u,",bVar1 & 1,\n                local_7fc,local_174[0xd] >> 4,local_174[0xd] & 0xf,\n                (uint)(int)(char)local_174[0xe] >> 0x1f);\n        psVar17 = (stat64 *)\n                  ((ushort)(local_174._14_2_ << 8 | (ushort)local_174._14_2_ >> 8) & 0x3fff);\n        pcVar15 = (char *)(local_174[0xe] >> 6 & 1);\n        pr2serr("%u  low_ali_lba=%u\n",pcVar15,psVar17);\n        psVar22 = extraout_EDX_04;\n      }\n    }\n    else {\n      if (((int)local_908 - 5U & 0xfffffffb) != 0) {\n        if (psVar8 != (stat64 *)0x0) {\n          puVar43 = local_174 + 0x50;\n          psVar25 = (stat64 *)"OS error";\n          puVar29 = puVar43;\n          for (iVar14 = 9; iVar14 != 0; iVar14 = iVar14 + -1) {\n            *puVar29 = (char)psVar25->st_dev;\n            psVar25 = (stat64 *)((int)psVar25 + (uint)bVar32 * -2 + 1);\n            puVar29 = puVar29 + (uint)bVar32 * -2 + 1;\n          }\n          psVar18 = local_908;\n          if (0 < (int)local_908) {\n            psVar18 = (stat64 *)sg_get_category_sense_str(local_908,0x50,puVar43,psVar8);\n          }\n          pr2serr("Read capacity(16): %s\n",puVar43,psVar18,psVar18);\n          pr2serr("Unable to calculate block size\n");\n        }\n        if (0 < (int)local_908) goto LAB_00012354;\n        goto LAB_00012ef5;\n      }\n      if (psVar8 == (stat64 *)0x0) {\n        pcVar15 = (char *)0x1;\n        uVar33 = sg_ll_readcap_10(local_930,0,0,psVar22,8,1,psVar17,psVar23);\n        psVar22 = (stat64 *)((ulonglong)uVar33 >> 0x20);\n        local_908 = (stat64 *)uVar33;\n        psVar9 = psVar23;\n        if (local_908 != (stat64 *)0x0) {\nLAB_00013444:\n          puVar43 = local_174 + 0x50;\n          psVar25 = (stat64 *)"OS error";\n          puVar29 = puVar43;\n          for (iVar14 = 9; iVar14 != 0; iVar14 = iVar14 + -1) {\n            *puVar29 = (char)psVar25->st_dev;\n            psVar25 = (stat64 *)((int)psVar25 + (uint)bVar32 * -2 + 1);\n            puVar29 = puVar29 + (uint)bVar32 * -2 + 1;\n          }\n          if (0 < (int)local_908) {\n            sg_get_category_sense_str(local_908,0x50,puVar43,psVar8);\n            pr2serr("Read capacity(10): %s\n",puVar43);\n            pr2serr("Unable to calculate block size\n");\n            goto LAB_00012354;\n          }\n          __snprintf_chk(puVar43,0x50,1,0x50,"error: %d",local_908,local_908,local_908);\n          pr2serr("Read capacity(10): %s\n",puVar43);\n          pr2serr("Unable to calculate block size\n");\n          local_908 = (stat64 *)0xf;\n          goto LAB_00012354;\n        }\n      }\n      else {\n        psVar25 = psVar22;\n        pr2serr("Read capacity(16) not supported, try Read capacity(10)\n");\n        pcVar15 = (char *)0x1;\n        uVar33 = sg_ll_readcap_10(local_930,0,0,psVar25,8,1,psVar17);\n        psVar22 = (stat64 *)((ulonglong)uVar33 >> 0x20);\n        local_908 = (stat64 *)uVar33;\n        if (local_908 != (stat64 *)0x0) goto LAB_00013444;\n        if (3 < (int)psVar8) {\n          pr2serr("Read capacity(10) response:\n");\n          psVar17 = (stat64 *)0x1;\n          pcVar15 = (char *)0x8;\n          hex2stderr(psVar25,8,1);\n          psVar22 = extraout_EDX_03;\n        }\n      }\n      local_7a8 = 0;\n      local_7ac = ((uint)local_174._0_4_ >> 0x18 | (local_174._0_4_ & 0xff0000) >> 8 |\n                   (local_174._0_4_ & 0xff00) << 8 | local_174._0_4_ << 0x18) + 1;\n      local_7d8 = (stat64 *)\n                  ((uint)local_174._4_4_ >> 0x18 | (local_174._4_4_ & 0xff0000) >> 8 |\n                   (local_174._4_4_ & 0xff00) << 8 | local_174._4_4_ << 0x18);\n    }\nLAB_00012312:\n    local_7d4 = local_7d8;\n    if (local_813 != '\0') {\n      local_7d4 = (stat64 *)&local_7d8->__pad1;\n    }\n    psVar8 = local_7d4;\n    psVar11 = local_7d8;\n    if (local_7d4 == (stat64 *)0x0) goto LAB_00012338;\n  }\n  local_7d4 = psVar8;\n  if (psVar11 == (stat64 *)0x0) {\nLAB_00012338:\n    pr2serr("Logic error, need block size by now\n",pcVar15,psVar17);\n    local_908 = (stat64 *)0x1;\n    goto LAB_00012354;\n  }\n  if ((local_810 == 0) &&\n     (psVar22 = (stat64 *)((uint)local_93c % (uint)psVar8), psVar22 != (stat64 *)0x0)) {\n    if (1 < (int)local_7f8) {\n      pr2serr("Error: number of bytes to read from IF [%u] is not a multiple\nblock size %u (including protection information)\n"\n              ,local_93c,psVar8,local_7f8);\n      local_908 = (stat64 *)0xf;\n      goto LAB_00012354;\n    }\n    psVar11 = (stat64 *)(local_7f8 | (uint)psVar38);\n    if (psVar11 != (stat64 *)0x0) {\n      pcVar15 = (char *)local_93c;\n      pr2serr("Warning: number of bytes to read from IF [%u] is not a multiple\nof actual block size %u; pad with zeros\n"\n              ,local_93c,psVar8,psVar11);\n      psVar22 = extraout_EDX_02;\n      psVar17 = psVar8;\n      psVar9 = psVar11;\n    }\n  }\n  puVar42 = &local_578;\n  puVar26 = puVar42;\n  for (iVar14 = 0x100; iVar14 != 0; iVar14 = iVar14 + -1) {\n    *puVar26 = 0;\n    puVar26 = puVar26 + (uint)bVar32 * -2 + 1;\n  }\n  ppsVar44 = local_778;\n  ppsVar27 = ppsVar44;\n  for (iVar14 = 0x80; iVar14 != 0; iVar14 = iVar14 + -1) {\n    *ppsVar27 = (stat64 *)0x0;\n    ppsVar27 = ppsVar27 + (uint)bVar32 * -2 + 1;\n  }\n  if (bVar31) {\n    uVar7 = 0xffffffff;\n    psVar22 = local_91c;\n    do {\n      if (uVar7 == 0) break;\n      uVar7 = uVar7 - 1;\n      p_Var3 = &psVar22->st_dev;\n      psVar22 = (stat64 *)((int)psVar22 + (uint)bVar32 * -2 + 1);\n    } while ((char)*p_Var3 != '\0');\n    psVar25 = (stat64 *)(~uVar7 - 1);\n    if ((char)local_91c->st_dev == '-') {\n      pr2serr("\'--lba\' cannot be read from stdin\n",pcVar15,psVar17,psVar9);\n      goto LAB_00012130;\n    }\n    pcVar15 = "0123456789aAbBcCdDeEfFhHxXiIkKmMgGtTpP, ";\n    psVar17 = local_91c;\n    psVar9 = local_91c;\n    psVar8 = (stat64 *)strspn((char *)local_91c,"0123456789aAbBcCdDeEfFhHxXiIkKmMgGtTpP, ");\n    psVar22 = psVar25;\n    if (psVar25 == psVar8) {\n      psVar22 = (stat64 *)0x0;\n      psVar25 = local_91c;\n      while( true ) {\n        lVar34 = sg_get_llnum(psVar25,pcVar15,psVar17,psVar9);\n        psVar17 = (stat64 *)lVar34;\n        if (lVar34 == -1) break;\n        puVar42[(int)psVar22 * 2] = (uint)psVar17;\n        puVar42[(int)psVar22 * 2 + 1] = (uint)((ulonglong)lVar34 >> 0x20);\n        psVar9 = psVar17;\n        pcVar12 = strchr((char *)psVar25,0x2c);\n        pcVar15 = (char *)0x20;\n        pcVar13 = strchr((char *)psVar25,0x20);\n        if (pcVar12 == (char *)0x0) {\n          if (pcVar13 == (char *)0x0) {\n            local_91c = (stat64 *)((int)&psVar22->st_dev + 1);\n            if (local_93f != '\0') goto LAB_000126fa;\n            psVar22 = (stat64 *)0x0;\n            psVar17 = extraout_ECX;\n            if (local_91c != (stat64 *)0x1) goto LAB_00012a73;\n            goto LAB_00012820;\n          }\n        }\n        else if ((pcVar13 == (char *)0x0) || (pcVar12 <= pcVar13)) {\n          pcVar13 = pcVar12;\n        }\n        psVar22 = (stat64 *)((int)&psVar22->st_dev + 1);\n        psVar25 = (stat64 *)(pcVar13 + 1);\n        if (psVar22 == (stat64 *)0x80) goto LAB_00013b9f;\n      }\n      psVar8 = (stat64 *)((int)psVar25 - (int)local_91c);\n    }\n    pr2serr("build_lba_arr: error at pos %d\n",(undefined *)((int)&psVar8->st_dev + 1),psVar22,\n            psVar22);\n    goto LAB_00012130;\n  }\n  local_91c = (stat64 *)0x0;\n  if (bVar30) {\nLAB_000126fa:\n    psVar8 = (stat64 *)0xffffffff;\n    psVar22 = local_918;\n    do {\n      if (psVar8 == (stat64 *)0x0) break;\n      psVar8 = (stat64 *)((int)&psVar8[-1].st_ino + 7);\n      p_Var3 = &psVar22->st_dev;\n      psVar22 = (stat64 *)((int)psVar22 + (uint)bVar32 * -2 + 1);\n    } while ((char)*p_Var3 != '\0');\n    psVar25 = (stat64 *)(~(uint)psVar8 - 1);\n    if ((char)local_918->st_dev == '-') {\n      pr2serr("\'--len\' cannot be read from stdin\n");\n    }\n    else {\n      pcVar15 = "0123456789aAbBcCdDeEfFhHxXiIkKmMgGtTpP, ";\n      psVar17 = psVar8;\n      psVar22 = (stat64 *)strspn((char *)local_918,"0123456789aAbBcCdDeEfFhHxXiIkKmMgGtTpP, ");\n      psVar9 = extraout_EDX_00;\n      if (psVar25 == psVar22) {\n        psVar9 = (stat64 *)0x0;\n        psVar25 = local_918;\n        do {\n          lVar34 = sg_get_llnum(psVar25,pcVar15,psVar8,psVar17);\n          psVar8 = (stat64 *)lVar34;\n          if ((int)((ulonglong)lVar34 >> 0x20) == -1) {\n            if (psVar8 == (stat64 *)0xffffffff) {\n              psVar22 = (stat64 *)((int)psVar25 - (int)local_918);\n              goto LAB_000127bf;\n            }\n          }\n          else if (0xffffffff < lVar34) {\n            psVar17 = (stat64 *)((int)psVar25 + (1 - (int)local_918));\n            pcVar15 = "build_num_arr";\n            pr2serr("%s: number exceeds 32 bits at pos %d\n","build_num_arr",psVar17,psVar9);\n            goto LAB_000127d9;\n          }\n          ppsVar44[(int)psVar9] = psVar8;\n          psVar17 = psVar8;\n          pcVar12 = strchr((char *)psVar25,0x2c);\n          pcVar15 = (char *)0x20;\n          pcVar13 = strchr((char *)psVar25,0x20);\n          if (pcVar12 == (char *)0x0) {\n            if (pcVar13 == (char *)0x0) {\n              puVar20 = (undefined *)((int)&psVar9->st_dev + 1);\n              psVar22 = (stat64 *)0x0;\n              psVar17 = extraout_ECX_00;\n              if ((undefined *)0x1 < local_91c) {\n                if ((stat64 *)puVar20 == local_91c) goto LAB_00012820;\n                goto LAB_00012a73;\n              }\n              if (local_91c == (stat64 *)0x0) {\n                if (puVar20 != (undefined *)0x1) {\nLAB_00012a73:\n                  pr2serr("need same number of arguments to \'--lba=\' and \'--num=\' options\n");\n                  local_908 = (stat64 *)0x1f;\n                  goto LAB_00012354;\n                }\n                local_91c = (stat64 *)(undefined *)0x1;\n                if (local_778[0] != (stat64 *)0x0) {\n                  pr2serr("won\'t write %u blocks without an explicit --lba= option\n",local_778[0],\n                          extraout_ECX_00,extraout_ECX_00);\n                  local_908 = (stat64 *)0x1;\n                  goto LAB_00012354;\n                }\n              }\n              else {\n                local_91c = (stat64 *)(undefined *)0x1;\n              }\n              goto LAB_00012820;\n            }\n          }\n          else if ((pcVar13 == (char *)0x0) || (pcVar12 <= pcVar13)) {\n            pcVar13 = pcVar12;\n          }\n          psVar9 = (stat64 *)((int)&psVar9->st_dev + 1);\n          psVar25 = (stat64 *)(pcVar13 + 1);\n        } while (psVar9 != (stat64 *)0x80);\n        pcVar15 = "build_num_arr";\n        psVar17 = extraout_ECX_00;\n        psVar9 = extraout_ECX_00;\n        pr2serr("%s: array length exceeded\n","build_num_arr",extraout_ECX_00,extraout_ECX_00);\n      }\n      else {\nLAB_000127bf:\n        psVar17 = (stat64 *)((int)&psVar22->st_dev + 1);\n        pcVar15 = "build_num_arr";\n        pr2serr("%s: error at pos %d\n","build_num_arr",psVar17,psVar9);\n      }\n    }\nLAB_000127d9:\n    pr2serr("bad argument to \'--num\'\n",pcVar15,psVar17,psVar9);\n    local_908 = (stat64 *)0x0;\n    goto LAB_00012354;\n  }\n  psVar17 = (stat64 *)0x0;\n  local_91c = (stat64 *)(undefined *)0x0;\nLAB_00012820:\n  if (local_798 == (char *)0x0) {\nLAB_00012ce5:\n    local_908 = (stat64 *)0x0;\n    local_880._44_4_ = psVar25;\n  }\n  else {\n    pcVar15 = local_798;\n    iVar14 = __xstat64(3,local_798,psVar18);\n    if (iVar14 < 0) {\n      piVar19 = __errno_location();\n      psVar25 = (stat64 *)*piVar19;\n      uVar16 = safe_strerror(psVar25);\n      pcVar15 = "Unable to stat(%s) as SF: %s\n";\nLAB_000136f9:\n      pr2serr(pcVar15,local_798,uVar16);\n      local_908 = (stat64 *)sg_convert_errno(psVar25);\n      goto LAB_00012354;\n    }\n    if (local_819 == '\0') {\n      iVar14 = 0;\n      if (local_7e0 != 0) {\n        iVar14 = (local_7e0 + 1) * 0x20;\n      }\n      local_908 = (stat64 *)FUN_000156d0(0,&local_8f8,&local_8f4,iVar14);\n      if (local_908 != (stat64 *)0x0) goto LAB_00012354;\n      psVar17 = extraout_ECX_04;\n      if ((local_7e0 != 0) && (local_7e0 != local_8f8)) {\n        if (local_8f8 < local_7e0) {\n          pr2serr("RD (%u) %s number of %ss (%u) found in SF\n",local_7e0,&DAT_000170dd,\n                  "LBA range descriptor",local_8f8);\n          local_908 = (stat64 *)0xf;\n          goto LAB_00012354;\n        }\n        psVar25 = (stat64 *)((uint)psVar38 | local_7f8);\n        if ((psVar25 != (stat64 *)0x0) &&\n           (pr2serr("RD (%u) %s number of %ss (%u) found in SF\n",local_7e0,&DAT_00017110,\n                    "LBA range descriptor",local_8f8), psVar17 = extraout_ECX_01, local_7f8 != 0))\n        goto LAB_00012ef5;\n      }\n      goto LAB_00012ce5;\n    }\n    if ((local_880._16_4_ & 0xf000) != 0x8000) {\n      pr2serr("Expect scatter file to be a regular file\n",pcVar15,psVar18,psVar22);\n      local_908 = (stat64 *)0xf;\n      goto LAB_00012354;\n    }\n    local_908 = (stat64 *)local_880._44_4_;\n    local_920 = (stat64 *)open64(local_798,0,0x8000,0x8000);\n    if ((int)local_920 < 0) {\n      piVar19 = __errno_location();\n      psVar25 = (stat64 *)*piVar19;\n      uVar16 = safe_strerror(psVar25);\n      pcVar15 = "Failed to open %s for raw read: %s\n";\n      goto LAB_000136f9;\n    }\n    iVar14 = sg_set_binary_mode(local_920);\n    psVar17 = extraout_ECX_05;\n    if (iVar14 < 0) {\n      perror("sg_set_binary_mode");\n      local_908 = (stat64 *)0xf;\n      psVar25 = (stat64 *)local_880._44_4_;\n      goto LAB_00012354;\n    }\n  }\n  psVar18 = local_7f0;\n  psVar25 = local_8f4;\n  if (local_817 == 0) {\n    if (local_91c == (stat64 *)0x0) {\n      psVar25 = (stat64 *)local_880._44_4_;\n      if (local_798 == (char *)0x0) {\n        if (local_819 == '\0') {\n          pr2serr("No LBA or number_of_blocks given, try using --lba= and --num=\n");\n          local_908 = (stat64 *)0x1;\n          goto LAB_00012354;\n        }\n      }\n      else if (local_819 == '\0') {\n        local_8f4 = (stat64 *)0x0;\n        uVar33 = FUN_000156d0(local_174 + 0x50,&local_8f8,&local_8f4,0x60);\n        uVar16 = (undefined4)((ulonglong)uVar33 >> 0x20);\n        local_908 = (stat64 *)uVar33;\n        if (local_908 != (stat64 *)0x0) goto LAB_00012354;\n        if (psVar38 != (stat64 *)0x0) {\n          uVar7 = (uint)local_8f8;\n          if (1 < local_8f8) {\n            uVar7 = pr2serr("warning: %d LBA,number_of_blocks pairs found, only taking first\n",\n                            uVar7,uVar16,uVar16);\n          }\n          if (2 < (int)psVar38) {\n            pr2serr("after build_t10_scat, num_lbard=%u, sum_num=%u\n",local_8f8,local_8f4,uVar7);\n          }\n        }\n        if (local_8f8 != 1) {\n          pr2serr("Unable to decode one LBA range descriptor from %s\n",local_798,0,0);\n          local_908 = (stat64 *)0xf;\n          goto LAB_00012354;\n        }\n        local_7b8 = local_104 >> 0x18 | (local_104 & 0xff0000) >> 8 | (local_104 & 0xff00) << 8 |\n                    local_104 << 0x18;\n        local_7bc = local_100 >> 0x18 | (local_100 & 0xff0000) >> 8 | (local_100 & 0xff00) << 8 |\n                    local_100 << 0x18;\n        local_7cc = (stat64 *)\n                    (local_fc >> 0x18 | (local_fc & 0xff0000) >> 8 | (local_fc & 0xff00) << 8 |\n                    local_fc << 0x18);\n        if (local_81f != '\0') {\n          local_7c0 = local_f8 >> 0x18 | (local_f8 & 0xff0000) >> 8 | (local_f8 & 0xff00) << 8 |\n                      local_f8 << 0x18;\n          local_7e6 = local_f4 << 8 | local_f4 >> 8;\n          local_7dc = local_f2 << 8 | local_f2 >> 8;\n        }\n        goto LAB_00012d48;\n      }\n      if (local_908 < (stat64 *)0x40) {\n        pr2serr("raw scatter file must be at least 64 bytes long (length: %u)\n",local_908,\n                local_880._44_4_,local_880._44_4_);\nLAB_00012ef5:\n        local_908 = (stat64 *)0xf;\n        goto LAB_00012354;\n      }\n      psVar25 = (stat64 *)(local_174 + 0x50);\n      local_908 = (stat64 *)FUN_00014a80(&DAT_00017365);\n      if (local_908 != (stat64 *)0x0) goto LAB_00012354;\n      cVar6 = FUN_000146a0(&local_8f8,&local_8f4,extraout_ECX_03,extraout_ECX_03);\n      if (cVar6 == '\0') goto LAB_00012ef5;\n      if (local_8f8 != 1) {\n        pr2serr("No %ss found in SF (num=%u)\n","LBA range descriptor",local_8f8,extraout_EDX_01);\n        goto LAB_00012ef5;\n      }\n      local_7b8 = local_114 >> 0x18 | (local_114 & 0xff0000) >> 8 | (local_114 & 0xff00) << 8 |\n                  local_114 << 0x18;\n      local_7bc = local_110 >> 0x18 | (local_110 & 0xff0000) >> 8 | (local_110 & 0xff00) << 8 |\n                  local_110 << 0x18;\n      local_7cc = (stat64 *)\n                  (local_10c >> 0x18 | (local_10c & 0xff0000) >> 8 | (local_10c & 0xff00) << 8 |\n                  local_10c << 0x18);\n    }\n    else {\n      local_7bc = local_578;\n      local_7b8 = local_574;\n      local_7cc = local_778[0];\n      if ((psVar38 != (stat64 *)0x0) && (local_91c != (stat64 *)0x1)) {\n        pr2serr("warning: %d LBA,number_of_blocks pairs found, only taking first\n",local_91c,\n                psVar17,psVar17);\n      }\n    }\nLAB_00012d48:\n    if (local_818 == 0) {\n      psVar25 = (stat64 *)((int)local_7cc * (int)local_7d4);\n    }\n    else {\n      psVar25 = (stat64 *)0x0;\n      if (local_810 == 0) {\n        psVar25 = local_7d4;\n      }\n    }\n    local_7a4 = psVar25;\n    if (psVar25 != (stat64 *)0x0) {\n      iVar14 = sg_memalign(psVar25,0,&local_8f0,0);\n      if (iVar14 == 0) {\n        pcVar15 = "unable to allocate %u bytes of memory\n";\n        ppvVar39 = (void **)0x0;\n        uVar16 = 0;\n        psVar38 = psVar25;\nLAB_00013bea:\n        pr2serr(pcVar15,psVar38,ppvVar39,uVar16);\n        local_908 = (stat64 *)sg_convert_errno(0xc);\n        goto LAB_00012354;\n      }\n      local_908 = (stat64 *)FUN_00014a80(&DAT_000173c6);\n      if (local_908 != (stat64 *)0x0) goto LAB_00012354;\n    }\n    local_908 = (stat64 *)FUN_00014b00(&local_820);\n    if (local_908 == (stat64 *)0x0) goto LAB_00012354;\n    if (local_81a != '\0') goto LAB_00012354;\n    puVar43 = local_174;\n    psVar25 = (stat64 *)"OS error";\n    puVar29 = puVar43;\n    for (iVar14 = 9; iVar14 != 0; iVar14 = iVar14 + -1) {\n      *puVar29 = (char)psVar25->st_dev;\n      psVar25 = (stat64 *)((int)psVar25 + (uint)bVar32 * -2 + 1);\n      puVar29 = puVar29 + (uint)bVar32 * -2 + 1;\n    }\n    uVar16 = 0;\n    if (0 < (int)local_908) {\n      sg_get_category_sense_str(local_908,0x50,puVar43,psVar38);\n      uVar16 = extraout_ECX_02;\n    }\n    pr2serr("%s: %s\n",local_790,puVar43,uVar16);\n    goto LAB_00012354;\n  }\n  local_8e8 = (void *)0x0;\n  local_8f6 = local_8f8;\n  local_8ec = (undefined1  [4])local_8f4;\n  if (local_81c != '\0') {\n    if (local_7e2 == 0) {\n      if (local_7e0 == 0) {\n        psVar17 = local_93c;\n        if (local_93c == (stat64 *)0x0) {\n          pr2serr("With --combined= if DOF, RD are 0 and IF has an unknown length\nthen give up\n");\n          local_908 = (stat64 *)0x1f;\n          goto LAB_00012354;\n        }\n      }\n      else {\n        psVar17 = (stat64 *)((local_7e0 + 1) * 0x20);\n      }\n      if ((uint)psVar17 % (uint)local_7d4 != 0) {\n        psVar17 = (stat64 *)(((uint)psVar17 / (uint)local_7d4 + 1) * (int)local_7d4);\n      }\n    }\n    else {\n      psVar17 = (stat64 *)((uint)local_7e2 * (int)local_7d4);\n    }\n    ppvVar39 = &local_8e8;\n    uVar16 = 0;\n    psVar38 = (stat64 *)0x0;\n    psVar25 = (stat64 *)sg_memalign(psVar17,0,ppvVar39,0);\n    if (psVar25 == (stat64 *)0x0) {\nLAB_000141a6:\n      pcVar15 = "unable to allocate aligned memory for scatterlist+data\n";\n      goto LAB_00013bea;\n    }\n    local_908 = (stat64 *)FUN_00014a80("IF c1");\n    if (local_908 != (stat64 *)0x0) goto LAB_000133fd;\n    cVar6 = FUN_000146a0(&local_8f6,local_8ec,0,0);\n    if (cVar6 != '\0') {\n      if ((local_7e0 == 0) || (local_7e0 == local_8f6)) {\n        local_7e0 = local_8f6;\nLAB_00013fe3:\n        local_908 = (stat64 *)((local_7e0 + 1) * 0x20);\n        if ((uint)local_908 % (uint)local_7d4 != 0) {\n          local_908 = (stat64 *)(((uint)local_908 / (uint)local_7d4 + 1) * (int)local_7d4);\n        }\n        uVar7 = (uint)local_7e2;\n        uVar24 = uVar7 * (int)local_7d4;\n        psVar38 = local_908;\n        local_8f6 = local_7e0;\n        if (uVar24 - (int)local_908 != 0) {\n          if (uVar24 < local_908) {\n            pr2serr("%s: Cannot fit %ss (%u) in given LB data offset (%u)\n","process_scattered",\n                    "LBA range descriptor",(uint)local_7e0,uVar7);\n            goto LAB_000133f3;\n          }\n          psVar38 = (stat64 *)uVar24;\n          if ((((uint)psVar18 | local_7f8) != 0) &&\n             (pr2serr("%s: empty blocks before LB data offset (%u), could be okay\n",\n                      "process_scattered",uVar7,(uint)psVar18 | local_7f8), local_7f8 != 0)) {\n            pr2serr("Exiting due to --strict; perhaps try again with --combined=%u\n",\n                    (uint)local_908 / (uint)local_7d4,psVar25,psVar25);\n            local_908 = (stat64 *)0xf;\n            goto LAB_000133fd;\n          }\n        }\n        psVar38 = (stat64 *)((int)local_8ec * (int)local_7d4 + (int)psVar38);\n        if (psVar38 <= psVar17) {\nLAB_0001418c:\n          local_7cc = (stat64 *)local_8ec;\n          local_7a4 = (stat64 *)((int)local_8ec * (int)local_7d4);\n          goto LAB_00013962;\n        }\n        if (local_93c != psVar38) {\n          if (local_93c < psVar38) {\n            pr2serr("Calculated dout length (%u) %s bytes available in IF (%u)\n",psVar38,\n                    &DAT_000170dd,local_93c);\n          }\n          else if ((psVar18 == (stat64 *)0x0 && local_7f8 == 0) ||\n                  (pr2serr("Calculated dout length (%u) %s bytes available in IF (%u)\n",psVar38,\n                           &DAT_00017110,local_93c), local_7f8 == 0)) goto LAB_00014113;\n          goto LAB_000133f3;\n        }\nLAB_00014113:\n        uVar33 = sg_memalign(psVar38,0,&local_8e4,0);\n        uVar16 = (undefined4)((ulonglong)uVar33 >> 0x20);\n        psVar38 = (stat64 *)uVar33;\n        if (psVar38 != (stat64 *)0x0) {\n          memcpy(psVar38,psVar25,(size_t)psVar17);\n          free(local_8e8);\n          local_8e8 = local_8e4;\n          local_908 = (stat64 *)FUN_00014a80("IF c2",psVar25,psVar17,uVar16);\n          psVar25 = psVar38;\n          if (local_908 != (stat64 *)0x0) goto LAB_000133fd;\n          goto LAB_0001418c;\n        }\nLAB_00014273:\n        pcVar15 = "unable to allocate memory for final scatterlist+data\n";\n        goto LAB_00013fbc;\n      }\n      if (local_8f6 < local_7e0) {\n        pr2serr("RD (%u) %s number of %ss (%u) found in IF\n",local_7e0,&DAT_000170dd,\n                "LBA range descriptor",local_8f6);\n      }\n      else if ((psVar18 == (stat64 *)0x0 && local_7f8 == 0) ||\n              (pr2serr("RD (%u) %s number of %ss (%u) found in IF\n",local_7e0,&DAT_00017110,\n                       "LBA range descriptor",local_8f6), local_7f8 == 0)) {\n        local_908 = (stat64 *)0x0;\n        for (psVar38 = psVar25; (stat64 *)(&psVar25->st_dev + (uint)local_7e0 * 4) != psVar38;\n            psVar38 = (stat64 *)&psVar38->st_rdev) {\n          uVar7 = psVar38->__pad2;\n          local_908 = (stat64 *)\n                      ((int)&local_908->st_dev +\n                      (uVar7 >> 0x18 | (uVar7 & 0xff0000) >> 8 | (uVar7 & 0xff00) << 8 |\n                      uVar7 << 0x18));\n        }\n        local_8ec = (undefined1  [4])local_908;\n        goto LAB_00013fe3;\n      }\n    }\nLAB_000133f3:\n    local_908 = (stat64 *)0xf;\n    goto LAB_000133fd;\n  }\n  if (local_91c != (stat64 *)0x0) {\n    local_8f6 = (ushort)local_91c;\n  }\n  if (local_798 == (char *)0x0) {\n    if (local_819 != '\0') goto LAB_00013dcd;\n    if (local_91c == (stat64 *)0x0) {\n      pr2serr("How did we get here??\n");\n      local_908 = (stat64 *)0x1;\n      goto LAB_000133fd;\n    }\n    if ((local_7e0 != 0) && (local_91c < (undefined *)(uint)local_7e0)) {\n      pr2serr("%s: number given to --scattered= (%u) exceeds number of --lba= elements (%u)\n",\n              "process_scattered",(undefined *)(uint)local_7e0,local_91c);\n      local_908 = (stat64 *)0x1f;\n      goto LAB_00012354;\n    }\n    uVar7 = (local_8f6 + 1) * 0x20;\n    local_7e2 = (ushort)(uVar7 / (uint)local_7d4);\n    if (uVar7 % (uint)local_7d4 != 0) {\n      local_7e2 = local_7e2 + 1;\n    }\n    iVar14 = 0;\n    local_8ec = (undefined1  [4])0x0;\n    do {\n      local_8ec = (undefined1  [4])((int)&((stat64 *)local_8ec)->st_dev + (int)ppsVar44[iVar14]);\n      iVar14 = iVar14 + 1;\n    } while (iVar14 < (int)local_91c);\n    psVar25 = (stat64 *)\n              sg_memalign((int)((int)&((stat64 *)local_8ec)->st_dev + (uint)local_7e2) *\n                          (int)local_7d4,0,&local_8e8,0);\n    if (psVar25 == (stat64 *)0x0) goto LAB_00013fb3;\n    iVar14 = 0;\n    psVar38 = psVar25;\n    do {\n      uVar7 = puVar42[iVar14 * 2];\n      uVar24 = puVar42[iVar14 * 2 + 1];\n      *(uint *)&psVar38->st_rdev =\n           uVar24 >> 0x18 | (uVar24 & 0xff0000) >> 8 | (uVar24 & 0xff00) << 8 | uVar24 << 0x18;\n      *(uint *)((int)&psVar38->st_rdev + 4) =\n           uVar7 >> 0x18 | (uVar7 & 0xff0000) >> 8 | (uVar7 & 0xff00) << 8 | uVar7 << 0x18;\n      psVar17 = ppsVar44[iVar14];\n      psVar38->__pad2 =\n           (uint)psVar17 >> 0x18 | ((uint)psVar17 & 0xff0000) >> 8 | ((uint)psVar17 & 0xff00) << 8 |\n           (int)psVar17 << 0x18;\n      if (local_81f != '\0') {\n        if (iVar14 == 0) {\n          *(uint *)&psVar38->st_size =\n               local_7c0 >> 0x18 | (local_7c0 & 0xff0000) >> 8 | (local_7c0 & 0xff00) << 8 |\n               local_7c0 << 0x18;\n          *(ushort *)((int)&psVar38->st_size + 4) = local_7e6 << 8 | local_7e6 >> 8;\n          *(ushort *)((int)&psVar38->st_size + 6) = local_7dc << 8 | local_7dc >> 8;\n        }\n        else {\n          *(undefined4 *)&psVar38->st_size = 0xffffffff;\n          *(undefined2 *)((int)&psVar38->st_size + 4) = 0xffff;\n          *(undefined2 *)((int)&psVar38->st_size + 6) = 0xffff;\n        }\n      }\n      iVar14 = iVar14 + 1;\n      psVar38 = (stat64 *)&psVar38->st_rdev;\n    } while (iVar14 < (int)local_91c);\n    local_7cc = (stat64 *)local_8ec;\n  }\n  else {\n    if (local_819 == '\0') {\n      uVar7 = (uint)local_8f6;\n      uVar16 = 0;\n      uVar24 = (uVar7 + 1) * 0x20;\n      local_7e2 = (ushort)(uVar24 / (uint)local_7d4);\n      ppvVar39 = &local_8e8;\n      if (uVar24 % (uint)local_7d4 != 0) {\n        local_7e2 = local_7e2 + 1;\n      }\n      psVar38 = (stat64 *)0x0;\n      psVar25 = (stat64 *)\n                sg_memalign((int)((int)&local_8f4->st_dev + (uint)local_7e2) * (int)local_7d4,0,\n                            ppvVar39,0);\n      if (psVar25 == (stat64 *)0x0) goto LAB_000141a6;\n      local_8f6 = 0;\n      local_8ec = (undefined1  [4])0x0;\n      if (uVar7 + 1 == 1) {\n        uVar24 = (uint)local_7e2 * (int)local_7d4;\n      }\n      local_908 = (stat64 *)FUN_000156d0(psVar25,&local_8f6,local_8ec,uVar24);\n      if (local_908 != (stat64 *)0x0) goto LAB_000133fd;\n      psVar38 = (stat64 *)((int)local_7d4 * (int)local_8ec);\n      if (local_7d0 <= psVar38) {\n        if ((local_7d0 <= psVar38 && (int)psVar38 - (int)local_7d0 != 0) &&\n           (local_7d0 != (stat64 *)0x0)) {\n          psVar38 = local_7d0;\n        }\nLAB_00014208:\n        if ((psVar45 != (stat64 *)0x0) && (psVar45 != psVar38)) {\n          if (psVar18 != (stat64 *)0x0) {\n            puVar20 = &DAT_00017110;\n            if (psVar38 <= psVar45) {\n              puVar20 = &DAT_000170dd;\n            }\n            pr2serr("readable length (%u) of IF %s bytes implied by sum of\nscatter list NUMs (%u) and DLEN\n"\n                    ,psVar45,puVar20,psVar38);\n          }\n          if ((local_7f8 != 0) && ((psVar38 <= psVar45 || (1 < (int)local_7f8)))) goto LAB_000133f3;\nLAB_0001387e:\n          if (psVar45 < psVar38) {\n            psVar38 = psVar45;\n          }\n        }\n        psVar17 = (stat64 *)((uint)psVar38 / (uint)local_7d4);\n        if (((uint)psVar38 % (uint)local_7d4 != 0) &&\n           ((psVar18 != (stat64 *)0x0 || (1 < (int)local_7f8)))) {\n          psVar22 = local_7d8;\n          pr2serr("Calculated data-out length (0x%x) not a multiple of BS (%u",psVar38,local_7d8,\n                  psVar17);\n          if (local_7d8 != local_7d4) {\n            psVar38 = (stat64 *)((int)local_7d4 - (int)local_7d8);\n            psVar22 = extraout_ECX_07;\n            psVar17 = extraout_ECX_07;\n            pr2serr(" + %d(PI)",psVar38,extraout_ECX_07,extraout_ECX_07);\n          }\n          if (1 < (int)local_7f8) {\n            pr2serr(")\nexiting ...\n",psVar38,psVar22,psVar17);\n            local_908 = (stat64 *)0xf;\n            goto LAB_000133fd;\n          }\n          pr2serr(")\nzero pad and continue ...\n",psVar38,psVar22,psVar17);\n        }\n      }\n      else {\n        uVar7 = (uint)psVar18 | local_7f8;\n        if (uVar7 != 0) {\n          pr2serr("DLEN > than bytes implied by sum of scatter list NUMs (%u)\n",psVar38,uVar7,uVar7\n                 );\n          if (1 < (int)psVar18) {\n            pr2serr("  num_lbard=%u, sum_num=%u actual_bs=%u",local_8f6,local_8ec,local_7d4);\n          }\n          if (local_7f8 != 0) goto LAB_000133f3;\n          goto LAB_00014208;\n        }\n        if ((psVar45 != (stat64 *)0x0) && (psVar45 != psVar38)) goto LAB_0001387e;\n      }\n      local_908 = (stat64 *)FUN_00014a80(&DAT_00017360);\n    }\n    else {\nLAB_00013dcd:\n      psVar38 = local_7d4;\n      if (local_7e0 != 0) {\n        psVar38 = (stat64 *)((local_7e0 + 1) * 0x20);\n        if (local_908 < psVar38) {\n          pr2serr("SF not long enough (%u bytes) to provide RD (%u) %ss\n",local_908,psVar38,\n                  "LBA range descriptor");\n          local_908 = (stat64 *)0xf;\n          goto LAB_000133fd;\n        }\n        psVar38 = (stat64 *)\n                  ((((uint)psVar38 / (uint)local_7d4 + 1) -\n                   (uint)((uint)psVar38 % (uint)local_7d4 == 0)) * (int)local_7d4);\n      }\n      local_918 = local_7d4;\n      if (local_93c != (stat64 *)0x0) {\n        local_918 = (stat64 *)\n                    ((((uint)local_93c / (uint)local_7d4 + 1) -\n                     (uint)((uint)local_93c % (uint)local_7d4 == 0)) * (int)local_7d4);\n      }\n      psVar25 = (stat64 *)\n                sg_memalign((undefined *)((int)&psVar38->st_dev + (int)&local_918->st_dev),0,\n                            &local_8e8,0);\n      if (psVar25 == (stat64 *)0x0) {\nLAB_00013fb3:\n        pcVar15 = "unable to allocate aligned memory for scatterlist+data\n";\nLAB_00013fbc:\n        pr2serr(pcVar15);\n        local_908 = (stat64 *)sg_convert_errno(0xc);\n        goto LAB_000133fd;\n      }\n      local_908 = (stat64 *)FUN_00014a80(&DAT_00017365);\n      if (local_908 != (stat64 *)0x0) goto LAB_000133fd;\n      psVar17 = (stat64 *)local_8ec;\n      psVar22 = extraout_ECX_08;\n      psVar8 = extraout_ECX_08;\n      cVar6 = FUN_000146a0(&local_8f6,psVar17,extraout_ECX_08,extraout_ECX_08);\n      if (cVar6 == '\0') goto LAB_000133f3;\n      if (local_7e0 != local_8f6) {\n        pr2serr("Try again with --scattered=%u\n",local_8f6,extraout_EDX_05,extraout_EDX_05);\n        local_908 = (stat64 *)0xf;\n        goto LAB_000133fd;\n      }\n      if (local_918 < (stat64 *)((int)local_7d4 * (int)local_8ec)) {\n        psVar9 = (stat64 *)\n                 sg_memalign((undefined *)\n                             ((int)&psVar38->st_dev +\n                             (int)&((stat64 *)((int)local_7d4 * (int)local_8ec))->st_dev),0,\n                             &local_8e4,0);\n        if (psVar9 == (stat64 *)0x0) goto LAB_00014273;\n        psVar22 = psVar38;\n        psVar8 = psVar9;\n        memcpy(psVar9,psVar25,(size_t)psVar38);\n        psVar17 = psVar25;\n        free(local_8e8);\n        local_8e8 = local_8e4;\n        psVar25 = psVar9;\n      }\n      if ((local_93c != psVar38) && (psVar18 != (stat64 *)0x0 || local_7f8 != 0)) {\n        psVar22 = (stat64 *)&DAT_000170dd;\n        if (local_93c <= psVar38) {\n          psVar22 = (stat64 *)&DAT_00017110;\n        }\n        psVar8 = psVar38;\n        pr2serr("IF length (%u) %s \'sum_num\' bytes (%u), ",local_93c,psVar22,psVar38);\n        if (1 < (int)local_7f8) {\n          pr2serr("exiting (strict=%d)\n",local_7f8,psVar38,psVar38);\n          local_908 = (stat64 *)0xf;\n          goto LAB_000133fd;\n        }\n        pr2serr("continuing ...\n",local_93c,psVar22,psVar8);\n        psVar17 = local_93c;\n      }\n      local_908 = (stat64 *)FUN_00014a80(&DAT_0001738d,psVar17,psVar22,psVar8);\n    }\n    if (local_908 != (stat64 *)0x0) goto LAB_000133fd;\n    local_7a4 = (stat64 *)((int)local_8ec * (int)local_7d4);\n    local_7cc = (stat64 *)local_8ec;\n  }\nLAB_00013962:\n  local_8ec = (undefined1  [4])local_7cc;\n  local_908 = (stat64 *)FUN_00014b00(&local_820);\n  if (local_908 != (stat64 *)0x0) {\n    puVar43 = local_174 + 0x50;\n    psVar25 = (stat64 *)"OS error";\n    puVar29 = puVar43;\n    for (iVar14 = 9; iVar14 != 0; iVar14 = iVar14 + -1) {\n      *puVar29 = (char)psVar25->st_dev;\n      psVar25 = (stat64 *)((int)psVar25 + (uint)bVar32 * -2 + 1);\n      puVar29 = puVar29 + (uint)bVar32 * -2 + 1;\n    }\n    if (0 < (int)local_908) {\n      sg_get_category_sense_str(local_908,0x50,puVar43,psVar18);\n    }\n    pr2serr("%s: %s\n",local_790,puVar43,psVar25);\n  }\nLAB_000133fd:\n  if (local_8e8 == (void *)0x0) goto LAB_00012354;\n  free(local_8e8);\n  goto LAB_00012354;\ncode_r0x000115f1:\n  uVar33 = sg_get_llnum(*(undefined4 *)PTR_optarg_0001dffc);\n  psVar38 = local_7d0;\n  uVar16 = uStack_7c4;\n  uVar7 = (uint)uVar33;\n  if ((int)((ulonglong)uVar33 >> 0x20) != 0) goto code_r0x00012b94;\n  goto code_r0x000114e8;\ncode_r0x00012b94:\n  pr2serr("bad argument to \'--ref-tag=\'. Expect 0 to 0xffffffff inclusive\n");\nLAB_00011a7a:\n  local_908 = (stat64 *)0x1;\nLAB_00011a84:\n  do {\n    psVar25 = (stat64 *)(local_24 ^ *(uint *)(in_GS_OFFSET + 0x14));\n    if (psVar25 == (stat64 *)0x0) {\n      return (int)local_908;\n    }\n    FUN_000162b0();\nLAB_00013b9f:\n    pr2serr("build_lba_arr: array length exceeded\n");\nLAB_00012130:\n    pr2serr("bad argument to \'--lba\'\n");\n    local_908 = (stat64 *)0x1;\nLAB_00012354:\n    if (local_8f0 != (void *)0x0) {\n      free(local_8f0);\n    }\n    iVar14 = sg_cmds_close_device(local_930);\n    if (iVar14 < 0) {\n      if (local_81a == '\0') {\n        uVar16 = safe_strerror(-iVar14);\n        pr2serr("sg_fd close error: %s\n",uVar16);\n      }\n      if (local_908 == (stat64 *)0x0) {\n        local_908 = (stat64 *)0xf;\n      }\n    }\n    if ((-1 < (int)local_920) && (iVar14 = close((int)local_920), iVar14 < 0)) {\n      if (local_81a == '\0') {\n        perror("sfr_fd close error");\n      }\n      if (local_908 == (stat64 *)0x0) {\n        local_908 = (stat64 *)0xf;\n      }\n    }\nLAB_000123a1:\n    if (((cVar2 == '\x01') || ((int)local_924 < 0)) ||\n       (pcVar15 = (char *)close((int)local_924), -1 < (int)pcVar15)) {\nLAB_000123cc:\n      if (((local_7f0 == (stat64 *)0x0) && (local_81a == '\0')) &&\n         (cVar6 = sg_if_can2stderr("sg_write_x failed: ",local_908,psVar25,psVar25), cVar6 == '\0'))\n      goto LAB_0001260b;\n      goto LAB_000123e2;\n    }\n    if (local_81a == '\0') {\n      pcVar15 = "infd close error";\n      perror("infd close error");\n    }\n    if (local_908 != (stat64 *)0x0) goto LAB_000123cc;\n    local_908 = (stat64 *)0xf;\n    if (((local_7f0 == (stat64 *)0x0) && (local_81a == '\0')) &&\n       (cVar6 = sg_if_can2stderr("sg_write_x failed: ",0xf,pcVar15,pcVar15), cVar6 == '\0')) {\nLAB_0001260b:\n      pr2serr("Some error occurred, try again with \'-v\' or \'-vv\' for more information\n");\nLAB_000123e2:\n      if ((int)local_908 < 0) {\n        local_908 = (stat64 *)0x63;\n      }\n    }\n  } while( true );\n}\n\n" (function_definition "int FUN_000113d0(int param_1,int param_2)\n\n{\n  byte bVar1;\n  char cVar2;\n  __dev_t *p_Var3;\n  undefined *puVar4;\n  undefined *puVar5;\n  char cVar6;\n  uint uVar7;\n  stat64 *psVar8;\n  stat64 *psVar9;\n  int iVar10;\n  stat64 *psVar11;\n  char *pcVar12;\n  char *pcVar13;\n  int iVar14;\n  char *pcVar15;\n  undefined4 uVar16;\n  stat64 *psVar17;\n  stat64 *psVar18;\n  int *piVar19;\n  undefined *puVar20;\n  int iVar21;\n  stat64 *extraout_ECX;\n  stat64 *extraout_ECX_00;\n  stat64 *extraout_ECX_01;\n  undefined4 extraout_ECX_02;\n  undefined4 extraout_ECX_03;\n  stat64 *extraout_ECX_04;\n  stat64 *extraout_ECX_05;\n  stat64 *extraout_ECX_06;\n  stat64 *extraout_ECX_07;\n  stat64 *extraout_ECX_08;\n  int extraout_EDX;\n  stat64 *psVar22;\n  stat64 *psVar23;\n  stat64 *extraout_EDX_00;\n  undefined4 extraout_EDX_01;\n  stat64 *extraout_EDX_02;\n  stat64 *extraout_EDX_03;\n  stat64 *extraout_EDX_04;\n  undefined4 extraout_EDX_05;\n  uint uVar24;\n  stat64 *psVar25;\n  uint *puVar26;\n  stat64 **ppsVar27;\n  int iVar28;\n  undefined1 *puVar29;\n  int in_GS_OFFSET;\n  bool bVar30;\n  bool bVar31;\n  byte bVar32;\n  undefined8 uVar33;\n  longlong lVar34;\n  __off64_t _Var35;\n  undefined4 uVar36;\n  undefined4 uVar37;\n  stat64 *psVar38;\n  void **ppvVar39;\n  undefined4 uVar40;\n  uint uVar41;\n  uint *puVar42;\n  undefined1 *puVar43;\n  stat64 **ppsVar44;\n  stat64 *psVar45;\n  char local_93f;\n  stat64 *local_93c;\n  stat64 *local_930;\n  stat64 *local_924;\n  stat64 *local_920;\n  stat64 *local_91c;\n  stat64 *local_918;\n  stat64 *local_908;\n  ushort local_8f8;\n  ushort local_8f6;\n  stat64 *local_8f4;\n  void *local_8f0;\n  undefined1 local_8ec [4];\n  void *local_8e8;\n  void *local_8e4;\n  undefined1 local_8e0 [48];\n  int local_8b0;\n  undefined1 local_880 [96];\n  char local_820;\n  char local_81f;\n  byte bStack_81e;\n  byte local_81d;\n  char local_81c;\n  byte local_81b;\n  char local_81a;\n  char local_819;\n  byte local_818;\n  byte local_817;\n  byte local_816;\n  byte bStack_815;\n  byte local_814;\n  char local_813;\n  undefined1 uStack_812;\n  undefined1 uStack_811;\n  byte local_810;\n  char local_80f;\n  char local_80e;\n  uint uStack_80c;\n  int iStack_808;\n  uint uStack_804;\n  int local_800;\n  int local_7fc;\n  uint local_7f8;\n  int local_7f4;\n  stat64 *local_7f0;\n  stat64 *local_7ec;\n  undefined1 uStack_7e8;\n  undefined1 uStack_7e7;\n  ushort local_7e6;\n  undefined2 uStack_7e4;\n  ushort local_7e2;\n  ushort local_7e0;\n  undefined2 uStack_7de;\n  ushort local_7dc;\n  undefined2 uStack_7da;\n  stat64 *local_7d8;\n  stat64 *local_7d4;\n  stat64 *local_7d0;\n  stat64 *local_7cc;\n  undefined4 uStack_7c8;\n  undefined4 uStack_7c4;\n  uint local_7c0;\n  uint local_7bc;\n  uint local_7b8;\n  stat64 *local_7b4;\n  stat64 *local_7b0;\n  int local_7ac;\n  int local_7a8;\n  stat64 *local_7a4;\n  stat64 *local_7a0;\n  char *local_79c;\n  char *local_798;\n  stat64 *local_794;\n  undefined1 local_790 [24];\n  stat64 *local_778 [128];\n  uint local_578;\n  uint local_574;\n  undefined1 local_174 [96];\n  uint local_114;\n  uint local_110;\n  uint local_10c;\n  uint local_104;\n  uint local_100;\n  uint local_fc;\n  uint local_f8;\n  ushort local_f4;\n  ushort local_f2;\n  uint local_24;\n  undefined4 *local_18;\n  \n  iVar28 = param_2;\n  iVar14 = param_1;\n  puVar20 = PTR_optarg_0001dffc;\n  bVar32 = 0;\n  local_18 = &param_1;\n  local_24 = *(uint *)(in_GS_OFFSET + 0x14);\n  local_8f8 = 0;\n  local_8f4 = (stat64 *)0x0;\n  local_8f0 = (void *)0x0;\n  local_918 = (stat64 *)0x0;\n  local_91c = (stat64 *)0x0;\n  pcVar15 = &local_820;\n  for (iVar21 = 0x2a; iVar21 != 0; iVar21 = iVar21 + -1) {\n    pcVar15[0] = '\0';\n    pcVar15[1] = '\0';\n    pcVar15[2] = '\0';\n    pcVar15[3] = '\0';\n    pcVar15 = pcVar15 + 4;\n  }\n  local_930 = (stat64 *)local_8e0;\n  local_7fc = -1;\n  psVar18 = local_930;\n  for (iVar21 = 0x18; iVar21 != 0; iVar21 = iVar21 + -1) {\n    *(undefined4 *)&psVar18->st_dev = 0;\n    psVar18 = (stat64 *)((int)&psVar18->st_dev + 4);\n  }\n  psVar18 = (stat64 *)local_880;\n  local_7c0 = 0xffffffff;\n  psVar38 = psVar18;\n  for (iVar21 = 0x18; iVar21 != 0; iVar21 = iVar21 + -1) {\n    *(undefined4 *)&psVar38->st_dev = 0;\n    psVar38 = (stat64 *)((int)&psVar38->st_dev + 4);\n  }\n  cVar2 = ' ';\n  local_7e6 = 0xffff;\n  local_7dc = 0xffff;\n  local_7f4 = 0x78;\n  bVar1 = 0;\n  local_924 = (stat64 *)PTR_optarg_0001dffc;\n  psVar38 = local_7d0;\n  uVar16 = uStack_7c4;\n  uVar7 = local_7c0;\ncode_r0x000114e8:\n  local_7c0 = uVar7;\n  uStack_7c4 = uVar16;\n  local_7d0 = psVar38;\n  local_8e4 = (void *)0x0;\n  uVar33 = getopt_long(iVar14,iVar28,"36a:A:b:B:c:dD:Efg:G:hi:I:l:M:n:No:Oq:Qr:RsS:t:T:u:vVw:x",\n                       &PTR_DAT_0001e020,&local_8e4);\n  puVar5 = PTR_optarg_0001dffc;\n  puVar4 = PTR_optind_0001dfe4;\n  if ((int)uVar33 == -1) {\n    iVar21 = *(int *)PTR_optind_0001dfe4;\n    local_920 = (stat64 *)0xffffffff;\n    if (iVar21 < iVar14) {\n      iVar10 = (int)((ulonglong)uVar33 >> 0x20);\n      if (local_7a0 != (stat64 *)0x0) goto LAB_00011c60;\n      local_7a0 = *(stat64 **)(iVar28 + iVar21 * 4);\n      *(int *)PTR_optind_0001dfe4 = iVar21 + 1;\n      iVar10 = iVar28;\n      if (iVar21 + 1 < iVar14) goto LAB_00011c60;\n    }\n    if ((bool)(bVar1 & local_7f8 != 0)) goto LAB_00011a7a;\n    if (0 < local_800) {\n      FUN_000149b0();\n      local_908 = (stat64 *)0x0;\n      goto LAB_00011a84;\n    }\n    if (local_80f == '\0') {\nLAB_00011c9f:\n      if (local_80e != '\0') {\n        pr2serr("sg_write_x version: %s\n","1.19 20180628",puVar4,puVar4);\n        local_908 = (stat64 *)0x270f;\n        goto LAB_00011a84;\n      }\n    }\n    else if (local_80e != '\0') {\n      pr2serr("Not in DEBUG mode, so \'-vV\' has no special action\n");\n      goto LAB_00011c9f;\n    }\n    psVar38 = local_7f0;\n    psVar17 = psVar38;\n    if (local_820 == '\0') {\n      if (local_81f == '\0') {\n        psVar17 = (stat64 *)((int)&local_7f0[-1].st_ino + 7);\n        local_820 = '\x01';\n        if (psVar17 != (stat64 *)0x0 && 0 < (int)local_7f0) {\n          pr2serr("Since neither --16 nor --32 given, choose --16\n");\n        }\n      }\n    }\n    else if ((local_81f != '\0') && (local_820 = '\0', 1 < (int)local_7f0)) {\n      pr2serr("Since both --16 and --32 given, choose --32\n");\n    }\n    uVar7 = (uint)local_81d + (uint)local_814 + (uint)local_81b + (uint)local_818 + (uint)local_817\n            + (uint)local_816;\n    if (1 < uVar7) {\n      pr2serr(\n             "Can only select one command; so only one of --atomic, --normal, --or,\n--same=, --scattered= or --stream=\n"\n             );\n      local_908 = (stat64 *)0x1f;\n      goto LAB_00011a84;\n    }\n    if (uVar7 == 0) {\n      if (local_7f8 != 0) {\n        pr2serr("With --strict won\'t default to a normal WRITE, add --normal\n");\n        local_908 = (stat64 *)0x1f;\n        goto LAB_00011a84;\n      }\n      local_794 = (stat64 *)0x17164;\n      local_814 = 1;\n      if (psVar38 != (stat64 *)0x0) {\n        pr2serr("No command selected so choose \'normal\' WRITE\n");\n      }\n    }\n    psVar8 = (stat64 *)((-(uint)(local_820 == '\0') & 0x10) + 0x10);\n    psVar22 = local_794;\n    __snprintf_chk(local_790,0x18,1,0x18,"%s(%d)",local_794,psVar8,psVar17);\n    if (local_81c == '\0') {\n      if (local_798 != (char *)0x0) {\n        local_93f = local_918 != (stat64 *)0x0;\n        bVar30 = local_91c != (stat64 *)0x0 || local_918 != (stat64 *)0x0;\n        bVar31 = local_91c != (stat64 *)0x0;\n        if (local_91c == (stat64 *)0x0 && local_918 == (stat64 *)0x0) {\n          iVar14 = -1;\n          pcVar15 = local_798;\n          goto code_r0x00011d5c;\n        }\n        pr2serr(\n               "want one and only one of: (--lba=LBA and/or --num=NUM), or\n--scat-file=SF, or --combined=DOF\n"\n               );\n        local_908 = (stat64 *)0x1f;\n        goto LAB_00011a84;\n      }\n      if (local_819 == '\0') {\n        local_93f = local_918 != (stat64 *)0x0;\n        bVar30 = local_91c != (stat64 *)0x0 || local_918 != (stat64 *)0x0;\n        bVar31 = local_91c != (stat64 *)0x0;\n        goto LAB_00011d67;\n      }\n      pr2serr(\n             "--scat-raw only applies to the --scat-file=SF option\n--scat-raw without the --scat-file=SF option is an error\n"\n             );\n      local_908 = (stat64 *)0x1f;\n      goto LAB_00011a84;\n    }\n    if (local_817 == 0) {\n      pr2serr(\n             "--combined=DOF only allowed with --scattered=RD (i.e. only with\nWRITE SCATTERED command)\n"\n             );\n      local_908 = (stat64 *)0x1f;\n      goto LAB_00011a84;\n    }\n    if (local_798 != (char *)0x0) {\n      pr2serr("Ambiguous: got --combined=DOF and --scat-file=SF .\nGive one, the other or neither\n"\n             );\n      local_908 = (stat64 *)0x1f;\n      goto LAB_00011a84;\n    }\n    if (local_91c == (stat64 *)0x0 && local_918 == (stat64 *)0x0) {\n      local_93f = local_819;\n      bVar30 = false;\n      bVar31 = false;\n      if (local_819 == '\0') goto LAB_00011d67;\n      pr2serr("Ambiguous: don\'t expect --combined=DOF and --scat-raw\nGive one or the other\n");\n      local_908 = (stat64 *)0x1f;\n    }\n    else {\n      pr2serr("--scattered=RD --combined=DOF does not use --lba= or --num=\nPlease remove.\n");\n      local_908 = (stat64 *)0x1f;\n    }\n    goto LAB_00011a84;\n  }\n  local_920 = local_924;\n  psVar38 = local_7d0;\n  uVar16 = uStack_7c4;\n  uVar7 = local_7c0;\n  switch((int)uVar33) {\n  case 0x33:\n    local_81f = '\x01';\n    goto code_r0x000114e8;\n  default:\n    pcVar15 = "unrecognised option code 0x%x ??\n";\n    break;\n  case 0x36:\n    local_820 = '\x01';\n    goto code_r0x000114e8;\n  case 0x3f:\n    pcVar15 = "\n";\n    break;\n  case 0x41:\n    uVar7 = func_0x00011320(*(undefined4 *)PTR_optarg_0001dffc);\n    if (0xffff < uVar7) {\n      pr2serr("bad argument to \'--atomic=\'. Expect 0 to 0xffff inclusive\n");\n      goto LAB_00011a7a;\n    }\n    uStack_7e4 = (undefined2)uVar7;\n    local_81d = 1;\n    local_794 = (stat64 *)0x17112;\n    psVar38 = local_7d0;\n    uVar16 = uStack_7c4;\n    uVar7 = local_7c0;\n    goto code_r0x000114e8;\n  case 0x42:\n    uVar24 = func_0x00011320(*(undefined4 *)PTR_optarg_0001dffc);\n    if (7 < uVar24) {\n      pr2serr("bad first argument to \'--bmop=\'\n");\n      goto LAB_00011a7a;\n    }\n    uStack_7e8 = (undefined1)uVar24;\n    uVar36 = 0x2c;\n    uVar41 = uVar24;\n    pcVar15 = strchr(*(char **)puVar5,0x2c);\n    psVar38 = local_7d0;\n    uVar16 = uStack_7c4;\n    uVar7 = local_7c0;\n    if (pcVar15 != (char *)0x0) {\n      uVar7 = func_0x00011320(pcVar15 + 1,uVar36,uVar24,uVar41);\n      if (0xf < uVar7) {\n        pr2serr("bad second argument to \'--bmop=\'\n");\n        goto LAB_00011a7a;\n      }\n      uStack_7e7 = (undefined1)uVar7;\n      psVar38 = local_7d0;\n      uVar16 = uStack_7c4;\n      uVar7 = local_7c0;\n    }\n    goto code_r0x000114e8;\n  case 0x44:\n    uStack_80c = func_0x00011320(*(undefined4 *)PTR_optarg_0001dffc);\n    psVar38 = local_7d0;\n    uVar16 = uStack_7c4;\n    uVar7 = local_7c0;\n    if (7 < uStack_80c) {\n      pr2serr("bad argument to \'--dld=\', expect 0 to 7 inclusive\n");\n      goto LAB_00011a7a;\n    }\n    goto code_r0x000114e8;\n  case 0x47:\n    uVar33 = sg_get_llnum(*(undefined4 *)PTR_optarg_0001dffc);\n    uVar36 = (undefined4)uVar33;\n    if ((int)((ulonglong)uVar33 >> 0x20) != 0) {\n      pr2serr("bad first argument to \'--generation=\'\n");\n      goto LAB_00011a7a;\n    }\n    uVar37 = 0x2c;\n    uVar40 = uVar36;\n    uStack_7c8 = uVar36;\n    pcVar15 = strchr(*(char **)puVar5,0x2c);\n    if (pcVar15 == (char *)0x0) {\n      pr2serr("need two arguments with --generation=EOG,NOG and they must be comma separated\n",\n              uVar37,uVar36,uVar40);\n      goto LAB_00011a7a;\n    }\n    uVar33 = sg_get_llnum(pcVar15 + 1);\n    psVar38 = local_7d0;\n    uVar16 = (int)uVar33;\n    uVar7 = local_7c0;\n    if ((int)((ulonglong)uVar33 >> 0x20) != 0) {\n      pr2serr("bad second argument to \'--generation=\'\n",uVar37,uVar36,uVar40);\n      goto LAB_00011a7a;\n    }\n    goto code_r0x000114e8;\n  case 0x49:\n    local_7f4 = func_0x00011320(*(undefined4 *)PTR_optarg_0001dffc);\n    psVar38 = local_7d0;\n    uVar16 = uStack_7c4;\n    uVar7 = local_7c0;\n    if (local_7f4 < 0) {\n      pr2serr("bad argument to \'--timeout=\'\n");\n      goto LAB_00011a7a;\n    }\n    goto code_r0x000114e8;\n  case 0x4d:\n    uVar7 = func_0x00011320(*(undefined4 *)PTR_optarg_0001dffc);\n    if (1 < uVar7) {\n      pr2serr("bad argument to \'--same\', expect 0 or 1\n");\n      goto LAB_00011a7a;\n    }\n    local_810 = (byte)uVar7 & 1;\n    local_818 = 1;\n    local_794 = (stat64 *)0x17159;\n    psVar38 = local_7d0;\n    uVar16 = uStack_7c4;\n    uVar7 = local_7c0;\n    goto code_r0x000114e8;\n  case 0x4e:\n    local_814 = 1;\n    local_794 = (stat64 *)0x17164;\n    goto code_r0x000114e8;\n  case 0x4f:\n    local_81b = 1;\n    local_794 = (stat64 *)0x1716a;\n    goto code_r0x000114e8;\n  case 0x51:\n    local_81a = '\x01';\n    goto code_r0x000114e8;\n  case 0x52:\n    local_819 = '\x01';\n    goto code_r0x000114e8;\n  case 0x53:\n    uVar7 = func_0x00011320(*(undefined4 *)PTR_optarg_0001dffc);\n    if (0xffff < uVar7) {\n      pr2serr("bad argument to \'--scattered=\'. Expect 0 to 0xffff inclusive\n");\n      goto LAB_00011a7a;\n    }\n    local_7e0 = (ushort)uVar7;\n    local_794 = (stat64 *)0x17172;\n    local_817 = 1;\n    psVar38 = local_7d0;\n    uVar16 = uStack_7c4;\n    uVar7 = local_7c0;\n    goto code_r0x000114e8;\n  case 0x54:\n    uVar7 = func_0x00011320(*(undefined4 *)PTR_optarg_0001dffc);\n    if (0xffff < uVar7) {\n      pr2serr("bad argument to \'--stream=\', expect 0 to 65535\n");\n      goto LAB_00011a7a;\n    }\n    uStack_7de = (undefined2)uVar7;\n    local_794 = (stat64 *)0x17182;\n    local_816 = 1;\n    psVar38 = local_7d0;\n    uVar16 = uStack_7c4;\n    uVar7 = local_7c0;\n    goto code_r0x000114e8;\n  case 0x56:\n    local_80e = '\x01';\n    goto code_r0x000114e8;\n  case 0x61:\n    uVar7 = func_0x00011320(*(undefined4 *)PTR_optarg_0001dffc);\n    if (0xffff < uVar7) {\n      pr2serr("bad argument to \'--app-tag=\'. Expect 0 to 0xffff inclusive\n");\n      goto LAB_00011a7a;\n    }\n    local_7e6 = (ushort)uVar7;\n    psVar38 = local_7d0;\n    uVar16 = uStack_7c4;\n    uVar7 = local_7c0;\n    goto code_r0x000114e8;\n  case 0x62:\n    psVar17 = (stat64 *)func_0x00011320(*(undefined4 *)PTR_optarg_0001dffc);\n    if ((stat64 *)0x10000000 < psVar17) {\n      pr2serr("bad argument to \'--bs=\'. Expect 0 or greater\n");\n      goto LAB_00011a7a;\n    }\n    if (psVar17 == (stat64 *)0x0) {\n      local_7d8 = (stat64 *)0x0;\n      local_7d4 = (stat64 *)0x0;\n      psVar38 = local_7d0;\n      uVar16 = uStack_7c4;\n      uVar7 = local_7c0;\n    }\n    else {\n      if ((int)psVar17 < 0x200) {\n        pr2serr("warning: --bs=BS value is < 512 which seems too small, continue\n");\n        bVar1 = 1;\n      }\n      if (((uint)psVar17 & 7) != 0) {\n        pr2serr("warning: --bs=BS value is not a multiple of 8, unexpected, continue\n");\n        bVar1 = 1;\n      }\n      iVar21 = 0;\n      iVar10 = 0;\n      psVar38 = psVar17;\n      do {\n        if (((uint)psVar38 & 1) != 0) {\n          iVar21 = iVar10;\n        }\n        iVar10 = iVar10 + 1;\n        psVar38 = (stat64 *)((int)psVar38 >> 1);\n      } while (iVar10 != 0x1c);\n      psVar22 = (stat64 *)(1 << ((byte)iVar21 & 0x1f));\n      local_7d8 = psVar17;\n      local_7d4 = psVar17;\n      psVar38 = local_7d0;\n      uVar16 = uStack_7c4;\n      uVar7 = local_7c0;\n      if (psVar17 != psVar22) {\n        local_7d8 = psVar22;\n      }\n    }\n    goto code_r0x000114e8;\n  case 99:\n    iVar21 = func_0x00011320(*(undefined4 *)PTR_optarg_0001dffc);\n    if (iVar21 < 0) {\n      pr2serr("bad argument to \'--combined=\'. Expect 0 to 0x7fffffff\n");\n      goto LAB_00011a7a;\n    }\n    local_7e2 = (ushort)iVar21;\n    local_81c = '\x01';\n    psVar38 = local_7d0;\n    uVar16 = uStack_7c4;\n    uVar7 = local_7c0;\n    goto code_r0x000114e8;\n  case 100:\n    uStack_812 = 1;\n    goto code_r0x000114e8;\n  case 0x66:\n    uStack_811 = 1;\n    goto code_r0x000114e8;\n  case 0x67:\n    uStack_804 = func_0x00011320(*(undefined4 *)PTR_optarg_0001dffc);\n    psVar38 = local_7d0;\n    uVar16 = uStack_7c4;\n    uVar7 = local_7c0;\n    if (0x3f < uStack_804) {\n      pr2serr("bad argument to \'--grpnum\'\n");\n      goto LAB_00011a7a;\n    }\n    goto code_r0x000114e8;\n  case 0x68:\n    local_800 = local_800 + 1;\n    goto code_r0x000114e8;\n  case 0x69:\n    local_79c = *(char **)PTR_optarg_0001dffc;\n    goto code_r0x000114e8;\n  case 0x6c:\n    if (local_91c != (stat64 *)0x0) {\n      pr2serr("only expect \'--lba=\' option once\n");\n      goto LAB_00011a7a;\n    }\n    local_91c = *(stat64 **)PTR_optarg_0001dffc;\n    goto code_r0x000114e8;\n  case 0x6e:\n    if (local_918 != (stat64 *)0x0) {\n      pr2serr("only expect \'--num=\' option once\n");\n      goto LAB_00011a7a;\n    }\n    local_918 = *(stat64 **)PTR_optarg_0001dffc;\n    goto code_r0x000114e8;\n  case 0x6f:\n    lVar34 = sg_get_llnum(*(undefined4 *)PTR_optarg_0001dffc);\n    psVar17 = (stat64 *)lVar34;\n    if (lVar34 == -1) {\n      pr2serr("bad first argument to \'--offset=\'\n");\n      goto LAB_00011a7a;\n    }\n    uVar36 = 0x2c;\n    psVar22 = psVar17;\n    local_7b4 = psVar17;\n    local_7b0 = (stat64 *)((ulonglong)lVar34 >> 0x20);\n    pcVar15 = strchr(*(char **)puVar5,0x2c);\n    psVar38 = local_7d0;\n    uVar16 = uStack_7c4;\n    uVar7 = local_7c0;\n    if (pcVar15 != (char *)0x0) {\n      lVar34 = sg_get_llnum(pcVar15 + 1,uVar36,psVar17,psVar22);\n      psVar38 = (stat64 *)lVar34;\n      uVar16 = uStack_7c4;\n      uVar7 = local_7c0;\n      if ((int)((ulonglong)lVar34 >> 0x20) == -1) {\n        if (psVar38 == (stat64 *)0xffffffff) {\n          pr2serr("bad second argument to \'--offset=\'\n");\n          goto LAB_00011a7a;\n        }\n      }\n      else if (0xffffffff < lVar34) {\n        pr2serr("bad second argument to \'--offset=\', cannot exceed 32 bits\n");\n        goto LAB_00011a7a;\n      }\n    }\n    goto code_r0x000114e8;\n  case 0x71:\n    local_798 = *(char **)PTR_optarg_0001dffc;\n    goto code_r0x000114e8;\n  case 0x72:\n    goto code_r0x000115f1;\n  case 0x73:\n    local_7f8 = local_7f8 + 1;\n    goto code_r0x000114e8;\n  case 0x74:\n    uVar7 = func_0x00011320(*(undefined4 *)PTR_optarg_0001dffc);\n    if (0xffff < uVar7) {\n      pr2serr("bad argument to \'--tag-mask=\'. Expect 0 to 0xffff inclusive\n");\n      goto LAB_00011a7a;\n    }\n    local_7dc = (ushort)uVar7;\n    psVar38 = local_7d0;\n    uVar16 = uStack_7c4;\n    uVar7 = local_7c0;\n    goto code_r0x000114e8;\n  case 0x75:\n    uVar7 = func_0x00011320(*(undefined4 *)puVar20);\n    if (3 < uVar7) {\n      pr2serr("bad argument to \'--unmap=\', expect 0 to 3\n");\n      goto LAB_00011a7a;\n    }\n    bStack_81e = (byte)(uVar7 >> 1) & 1;\n    bStack_815 = (byte)uVar7 & 1;\n    psVar38 = local_7d0;\n    uVar16 = uStack_7c4;\n    uVar7 = local_7c0;\n    goto code_r0x000114e8;\n  case 0x76:\n    local_80f = '\x01';\n    local_7f0 = (stat64 *)((int)&local_7f0->st_dev + 1);\n    goto code_r0x000114e8;\n  case 0x77:\n    local_7ec = (stat64 *)func_0x00011320(*(undefined4 *)puVar20);\n    if ((stat64 *)0x7 < local_7ec) {\n      pr2serr("bad argument to \'--wrprotect\'\n");\n      goto LAB_00011a7a;\n    }\n    local_813 = 0 < (int)local_7ec;\n    psVar38 = local_7d0;\n    uVar16 = uStack_7c4;\n    uVar7 = local_7c0;\n    goto code_r0x000114e8;\n  case 0x78:\n    iStack_808 = iStack_808 + 1;\n    goto code_r0x000114e8;\n  }\n  pr2serr(pcVar15);\n  FUN_000149b0();\n  goto LAB_00011a7a;\nLAB_00011c60:\n  while (*(int *)puVar4 < iVar14) {\n    pr2serr("Unexpected extra argument: %s\n",*(undefined4 *)(iVar28 + *(int *)puVar4 * 4),iVar10,\n            iVar10);\n    *(int *)puVar4 = *(int *)puVar4 + 1;\n    iVar10 = extraout_EDX;\n  }\n  FUN_000149b0();\n  local_908 = (stat64 *)0x1;\n  goto LAB_00011a84;\n  while( true ) {\n    iVar14 = iVar14 + -1;\n    cVar6 = *pcVar15;\n    pcVar15 = pcVar15 + (uint)bVar32 * -2 + 1;\n    if (cVar6 == '\0') break;\ncode_r0x00011d5c:\n    if (iVar14 == 0) break;\n  }\n  if ((iVar14 == -3) && (*local_798 == '-')) {\n    pr2serr("don\'t accept \'-\' (implying stdin) as a filename in --scat-file=SF\n");\n    local_908 = (stat64 *)0x1f;\n    goto LAB_00011a84;\n  }\nLAB_00011d67:\n  if (((psVar38 != (stat64 *)0x0) && (local_820 != '\0')) &&\n     ((local_7c0 != 0xffffffff || ((local_7e6 & local_7dc) != 0xffff)))) {\n    pr2serr("--app-tag=, --ref-tag= and --tag-mask= options ignored with 16 byte commands\n");\n  }\n  psVar45 = local_7d0;\n  psVar9 = (stat64 *)(uint)local_810;\n  if (local_810 == 0) {\n    local_93c = local_7d0;\n    cVar2 = '\0';\n    if (local_79c == (char *)0x0) {\n      pr2serr("Need --if=FN option to be given, exiting.\n");\n      if (1 < (int)psVar38) {\n        pr2serr("To write zeros use --in=/dev/zero\n");\n      }\n      pr2serr("\n");\n      FUN_000149b0();\n      local_908 = (stat64 *)0x1;\n      goto LAB_00011a84;\n    }\n    iVar14 = -1;\n    pcVar15 = local_79c;\n    do {\n      if (iVar14 == 0) break;\n      iVar14 = iVar14 + -1;\n      cVar6 = *pcVar15;\n      pcVar15 = pcVar15 + (uint)bVar32 * -2 + 1;\n    } while (cVar6 != '\0');\n    if ((iVar14 != -3) || (*local_79c != '-')) {\n      local_924 = (stat64 *)open64(local_79c,0,iVar14,iVar14);\n      if ((int)local_924 < 0) {\n        piVar19 = __errno_location();\n        iVar14 = *piVar19;\n        pcVar15 = "could not open %s for reading";\n      }\n      else {\n        psVar17 = (stat64 *)sg_set_binary_mode(local_924);\n        if ((int)psVar17 < 0) goto LAB_00011dea;\n        psVar22 = local_924;\n        psVar8 = local_930;\n        iVar14 = __fxstat64(3,(int)local_924,local_930);\n        if (-1 < iVar14) {\n          if ((local_8e0._16_4_ & 0xf000) == 0x8000) {\n            local_93c = (stat64 *)local_8e0._44_4_;\n            if (psVar45 != (stat64 *)0x0) {\n              local_93c = psVar45;\n            }\n            if ((local_8b0 != 0 || (stat64 *)local_8e0._44_4_ != (stat64 *)0x0) &&\n               (psVar25 = (stat64 *)((int)&((stat64 *)(local_8e0._44_4_ + -0x60))->st_ino + 7),\n               iVar28 = local_8b0 + -1 + (uint)((stat64 *)local_8e0._44_4_ != (stat64 *)0x0),\n               iVar14 = (int)local_7b0 - iVar28,\n               (SBORROW4((int)local_7b0,iVar28) != SBORROW4(iVar14,(uint)(local_7b4 < psVar25))) ==\n               (int)(iVar14 - (uint)(local_7b4 < psVar25)) < 0)) {\n              pr2serr("Offset (%llu) is at or beyond IF byte length (%llu)\n",local_7b4,local_7b0,\n                      local_8e0._44_4_,local_8b0,psVar22,psVar8,psVar17);\n              local_908 = (stat64 *)0xf;\n              goto LAB_00012527;\n            }\n            psVar9 = local_7b4;\n            psVar45 = (stat64 *)local_8e0._44_4_;\n            iVar14 = local_8b0;\n            if (local_7b0 != (stat64 *)0x0 || local_7b4 != (stat64 *)0x0) {\n              psVar17 = (stat64 *)0x0;\n              psVar22 = local_7b4;\n              psVar8 = local_7b0;\n              _Var35 = lseek64((int)local_924,CONCAT44(local_7b0,local_7b4),0);\n              psVar25 = local_7b4;\n              if (_Var35 < 0) {\n                piVar19 = __errno_location();\n                psVar25 = (stat64 *)(local_174 + 0x50);\n                iVar14 = *piVar19;\n                __snprintf_chk(psVar25,0x100,1,0x100,"couldn\'t offset to required position on %s",\n                               local_79c,piVar19,piVar19);\n                perror((char *)psVar25);\n                local_908 = (stat64 *)sg_convert_errno(iVar14);\n                goto LAB_00012527;\n              }\n              psVar9 = (stat64 *)((int)psVar45 - (int)local_7b4);\n              iVar14 = (local_8b0 - (int)local_7b0) - (uint)(psVar45 < local_7b4);\n              local_930 = psVar45;\n              if ((int)(uint)(psVar9 != (stat64 *)0x0) <= -iVar14) {\n                pr2serr("--offset [0x%llx] at or beyond file length[0x%llx]\n",local_7b4,local_7b0,\n                        psVar45,local_8b0);\n                local_908 = (stat64 *)0xf;\n                goto LAB_00012527;\n              }\n              if ((local_7f8 != 0) &&\n                 (local_930 = local_7d0, iVar14 < (int)(uint)(psVar9 < local_7d0))) {\n                pr2serr("after accounting for OFF, DLEN exceeds %s remaining length (%u bytes)\n",\n                        local_79c,psVar9,psVar9);\n                local_908 = (stat64 *)0xf;\n                psVar25 = psVar9;\n                goto LAB_00012527;\n              }\n              if (iVar14 < (int)(uint)(psVar9 < local_93c)) {\n                local_93c = psVar9;\n              }\n              psVar45 = psVar9;\n              if (2 < (int)psVar38) {\n                psVar22 = local_7b4;\n                psVar8 = local_93c;\n                psVar17 = psVar9;\n                psVar9 = (stat64 *)\n                         pr2serr("Moved IF byte pointer to %u, if_len=%u, if_readable_len=%u\n",\n                                 local_7b4,local_93c,psVar9);\n              }\n            }\n            goto LAB_00011fa8;\n          }\n          goto LAB_00011e6c;\n        }\n        piVar19 = __errno_location();\n        iVar14 = *piVar19;\n        pcVar15 = "could not fstat %s";\n      }\n      __snprintf_chk(local_174 + 0x50,0x100,1,0x100,pcVar15,local_79c,piVar19,piVar19);\n      perror(local_174 + 0x50);\n      local_908 = (stat64 *)sg_convert_errno(iVar14);\n      goto LAB_00011a84;\n    }\n    iVar14 = sg_set_binary_mode(0);\n    cVar2 = '\x01';\n    local_924 = (stat64 *)0x0;\n    if (iVar14 < 0) {\nLAB_00011dea:\n      perror("sg_set_binary_mode");\n      local_908 = (stat64 *)0xf;\n      goto LAB_00011a84;\n    }\nLAB_00011e6c:\n    if (((stat64 *)((uint)local_7b0 | (uint)local_7b4) == (stat64 *)0x0) ||\n       (psVar38 == (stat64 *)0x0)) {\n      psVar9 = (stat64 *)((uint)local_7b0 | (uint)local_7b4);\n      psVar45 = (stat64 *)0x0;\n      iVar14 = 0;\n    }\n    else {\n      psVar9 = (stat64 *)\n               pr2serr(\n                      "--offset=OFF ignored when IF is stdin, pipe, socket, etc\nDLEN, if given, is used\n"\n                      );\n      psVar45 = (stat64 *)0x0;\n      iVar14 = 0;\n    }\n  }\n  else {\n    local_924 = (stat64 *)0xffffffff;\n    cVar2 = '\0';\n    psVar45 = (stat64 *)0x0;\n    iVar14 = 0;\n    local_93c = (stat64 *)0x0;\n  }\nLAB_00011fa8:\n  if (local_7a0 == (stat64 *)0x0) {\n    pr2serr("missing device name!\n",psVar22,psVar8,psVar17);\n    FUN_000149b0();\n    local_908 = (stat64 *)0x1;\n    psVar25 = (stat64 *)0x0;\nLAB_00012527:\n    if (local_8f0 == (void *)0x0) goto LAB_000123a1;\n    free(local_8f0);\n    goto LAB_000123a1;\n  }\n  pcVar15 = (char *)0x0;\n  psVar17 = psVar38;\n  uVar33 = sg_cmds_open_device(local_7a0,0,psVar38,psVar9);\n  psVar25 = local_7d8;\n  psVar22 = (stat64 *)((ulonglong)uVar33 >> 0x20);\n  local_930 = (stat64 *)uVar33;\n  if ((int)local_930 < 0) {\n    psVar25 = (stat64 *)-(int)local_930;\n    if (local_7f0 != (stat64 *)0x0) {\n      uVar16 = safe_strerror(psVar25);\n      pr2serr("open error: %s: %s\n",local_7a0,uVar16);\n    }\n    local_908 = (stat64 *)sg_convert_errno(psVar25);\n    goto LAB_00012527;\n  }\n  psVar8 = local_7d4;\n  psVar11 = local_7d4;\n  if (local_7d8 == (stat64 *)0x0) {\n    psVar17 = (stat64 *)0x0;\n    if (local_7f0 != (stat64 *)0x0) {\n      psVar17 = (stat64 *)((int)&local_7f0[-1].st_ino + 7);\n    }\n    psVar22 = (stat64 *)local_174;\n    psVar11 = (stat64 *)0x1;\n    pcVar15 = (char *)0x20;\n    psVar9 = psVar17;\n    psVar8 = local_7f0;\n    uVar33 = sg_ll_readcap_16(local_930,0,0,0,psVar22,0x20,1,psVar17,psVar22,local_7f0,psVar45,\n                              iVar14);\n    if ((int)uVar33 == 6) {\n      pr2serr("Read capacity(16) unit attention, try again\n");\n      uVar33 = sg_ll_readcap_16(local_930,0,0,0,psVar22,0x20,1,psVar17);\n    }\n    psVar23 = (stat64 *)((ulonglong)uVar33 >> 0x20);\n    local_908 = (stat64 *)uVar33;\n    if (local_908 == (stat64 *)0x0) {\n      psVar17 = psVar11;\n      if (3 < (int)psVar8) {\n        pr2serr("Read capacity(16) response:\n");\n        psVar17 = (stat64 *)0x1;\n        pcVar15 = (char *)0x20;\n        hex2stderr(psVar22,0x20,1);\n      }\n      bVar1 = local_174[0xc];\n      psVar11 = (stat64 *)\n                ((uint)local_174._8_4_ >> 0x18 | (local_174._8_4_ & 0xff0000) >> 8 |\n                 (local_174._8_4_ & 0xff00) << 8 | local_174._8_4_ << 0x18);\n      uVar7 = (uint)local_174._4_4_ >> 0x18 | (local_174._4_4_ & 0xff0000) >> 8 |\n              (local_174._4_4_ & 0xff00) << 8 | local_174._4_4_ << 0x18;\n      local_7ac = uVar7 + 1;\n      local_7a8 = ((uint)local_174._0_4_ >> 0x18 | (local_174._0_4_ & 0xff0000) >> 8 |\n                   (local_174._0_4_ & 0xff00) << 8 | local_174._0_4_ << 0x18) +\n                  (uint)(0xfffffffe < uVar7);\n      psVar22 = (stat64 *)(uint)local_174[0xc];\n      local_7d8 = psVar11;\n      if ((local_174[0xc] & 1) == 0) {\n        local_7fc = 0;\n        if ((int)local_7ec < 1) goto LAB_00012305;\n        if (psVar8 != (stat64 *)0x0) {\n          pcVar15 = (char *)local_7ec;\n          psVar22 = local_7a0;\n          pr2serr("--wrprotect (%d) expects PI but %s says it has none\n",local_7ec,local_7a0,\n                  psVar11);\n          if (local_7f8 != 0) goto LAB_00012ef5;\n          pcVar13 = "  ... continue but could be dangerous\n";\n          psVar25 = (stat64 *)0x0;\n          psVar9 = psVar11;\n          goto LAB_00013516;\n        }\n        if (local_7f8 != 0) goto LAB_00012ef5;\n      }\n      else {\n        local_7fc = (local_174[0xc] >> 1 & 7) + 1;\n        psVar25 = (stat64 *)(8 << (local_174[0xd] >> 4));\n        psVar22 = (stat64 *)(uint)(local_174[0xd] >> 4);\n        if (((int)local_7ec < 1) ||\n           (local_7d4 = (stat64 *)((int)&psVar25->st_dev + (int)&psVar11->st_dev), (int)psVar8 < 2))\n        {\nLAB_00012305:\n          if (psVar8 == (stat64 *)0x0) goto LAB_00012312;\n        }\n        else {\n          pcVar13 = \n          "  For data out buffer purposes the effective block size is %u (lb size\n  is %u) because PROT_EN=1, PI_EXP=%u and WRPROTECT>0\n"\n          ;\n          pcVar15 = (char *)psVar11;\n          psVar9 = local_7d4;\nLAB_00013516:\n          pr2serr(pcVar13,pcVar15,psVar22,psVar9);\n          psVar17 = psVar22;\n        }\n        pr2serr("Read capacity(16) response fields:\n",pcVar15,psVar17,psVar9);\n        psVar25 = (stat64 *)((int)&local_7d8->st_dev + (int)&psVar25->st_dev);\n        psVar9 = extraout_ECX_06;\n        pr2serr("  Last_LBA=0x%llx  LB size: %u (with PI: %u) bytes  p_type=%u\n",local_7ac + -1,\n                local_7a8 + -1 + (uint)(local_7ac != 0),local_7d8,psVar25,local_174[0xc] >> 1 & 7,\n                extraout_ECX_06,extraout_ECX_06);\n        pr2serr("  prot_en=%u [PI type=%u] p_i_exp=%u  lbppb_exp=%u  lbpme,rz=%u,",bVar1 & 1,\n                local_7fc,local_174[0xd] >> 4,local_174[0xd] & 0xf,\n                (uint)(int)(char)local_174[0xe] >> 0x1f);\n        psVar17 = (stat64 *)\n                  ((ushort)(local_174._14_2_ << 8 | (ushort)local_174._14_2_ >> 8) & 0x3fff);\n        pcVar15 = (char *)(local_174[0xe] >> 6 & 1);\n        pr2serr("%u  low_ali_lba=%u\n",pcVar15,psVar17);\n        psVar22 = extraout_EDX_04;\n      }\n    }\n    else {\n      if (((int)local_908 - 5U & 0xfffffffb) != 0) {\n        if (psVar8 != (stat64 *)0x0) {\n          puVar43 = local_174 + 0x50;\n          psVar25 = (stat64 *)"OS error";\n          puVar29 = puVar43;\n          for (iVar14 = 9; iVar14 != 0; iVar14 = iVar14 + -1) {\n            *puVar29 = (char)psVar25->st_dev;\n            psVar25 = (stat64 *)((int)psVar25 + (uint)bVar32 * -2 + 1);\n            puVar29 = puVar29 + (uint)bVar32 * -2 + 1;\n          }\n          psVar18 = local_908;\n          if (0 < (int)local_908) {\n            psVar18 = (stat64 *)sg_get_category_sense_str(local_908,0x50,puVar43,psVar8);\n          }\n          pr2serr("Read capacity(16): %s\n",puVar43,psVar18,psVar18);\n          pr2serr("Unable to calculate block size\n");\n        }\n        if (0 < (int)local_908) goto LAB_00012354;\n        goto LAB_00012ef5;\n      }\n      if (psVar8 == (stat64 *)0x0) {\n        pcVar15 = (char *)0x1;\n        uVar33 = sg_ll_readcap_10(local_930,0,0,psVar22,8,1,psVar17,psVar23);\n        psVar22 = (stat64 *)((ulonglong)uVar33 >> 0x20);\n        local_908 = (stat64 *)uVar33;\n        psVar9 = psVar23;\n        if (local_908 != (stat64 *)0x0) {\nLAB_00013444:\n          puVar43 = local_174 + 0x50;\n          psVar25 = (stat64 *)"OS error";\n          puVar29 = puVar43;\n          for (iVar14 = 9; iVar14 != 0; iVar14 = iVar14 + -1) {\n            *puVar29 = (char)psVar25->st_dev;\n            psVar25 = (stat64 *)((int)psVar25 + (uint)bVar32 * -2 + 1);\n            puVar29 = puVar29 + (uint)bVar32 * -2 + 1;\n          }\n          if (0 < (int)local_908) {\n            sg_get_category_sense_str(local_908,0x50,puVar43,psVar8);\n            pr2serr("Read capacity(10): %s\n",puVar43);\n            pr2serr("Unable to calculate block size\n");\n            goto LAB_00012354;\n          }\n          __snprintf_chk(puVar43,0x50,1,0x50,"error: %d",local_908,local_908,local_908);\n          pr2serr("Read capacity(10): %s\n",puVar43);\n          pr2serr("Unable to calculate block size\n");\n          local_908 = (stat64 *)0xf;\n          goto LAB_00012354;\n        }\n      }\n      else {\n        psVar25 = psVar22;\n        pr2serr("Read capacity(16) not supported, try Read capacity(10)\n");\n        pcVar15 = (char *)0x1;\n        uVar33 = sg_ll_readcap_10(local_930,0,0,psVar25,8,1,psVar17);\n        psVar22 = (stat64 *)((ulonglong)uVar33 >> 0x20);\n        local_908 = (stat64 *)uVar33;\n        if (local_908 != (stat64 *)0x0) goto LAB_00013444;\n        if (3 < (int)psVar8) {\n          pr2serr("Read capacity(10) response:\n");\n          psVar17 = (stat64 *)0x1;\n          pcVar15 = (char *)0x8;\n          hex2stderr(psVar25,8,1);\n          psVar22 = extraout_EDX_03;\n        }\n      }\n      local_7a8 = 0;\n      local_7ac = ((uint)local_174._0_4_ >> 0x18 | (local_174._0_4_ & 0xff0000) >> 8 |\n                   (local_174._0_4_ & 0xff00) << 8 | local_174._0_4_ << 0x18) + 1;\n      local_7d8 = (stat64 *)\n                  ((uint)local_174._4_4_ >> 0x18 | (local_174._4_4_ & 0xff0000) >> 8 |\n                   (local_174._4_4_ & 0xff00) << 8 | local_174._4_4_ << 0x18);\n    }\nLAB_00012312:\n    local_7d4 = local_7d8;\n    if (local_813 != '\0') {\n      local_7d4 = (stat64 *)&local_7d8->__pad1;\n    }\n    psVar8 = local_7d4;\n    psVar11 = local_7d8;\n    if (local_7d4 == (stat64 *)0x0) goto LAB_00012338;\n  }\n  local_7d4 = psVar8;\n  if (psVar11 == (stat64 *)0x0) {\nLAB_00012338:\n    pr2serr("Logic error, need block size by now\n",pcVar15,psVar17);\n    local_908 = (stat64 *)0x1;\n    goto LAB_00012354;\n  }\n  if ((local_810 == 0) &&\n     (psVar22 = (stat64 *)((uint)local_93c % (uint)psVar8), psVar22 != (stat64 *)0x0)) {\n    if (1 < (int)local_7f8) {\n      pr2serr("Error: number of bytes to read from IF [%u] is not a multiple\nblock size %u (including protection information)\n"\n              ,local_93c,psVar8,local_7f8);\n      local_908 = (stat64 *)0xf;\n      goto LAB_00012354;\n    }\n    psVar11 = (stat64 *)(local_7f8 | (uint)psVar38);\n    if (psVar11 != (stat64 *)0x0) {\n      pcVar15 = (char *)local_93c;\n      pr2serr("Warning: number of bytes to read from IF [%u] is not a multiple\nof actual block size %u; pad with zeros\n"\n              ,local_93c,psVar8,psVar11);\n      psVar22 = extraout_EDX_02;\n      psVar17 = psVar8;\n      psVar9 = psVar11;\n    }\n  }\n  puVar42 = &local_578;\n  puVar26 = puVar42;\n  for (iVar14 = 0x100; iVar14 != 0; iVar14 = iVar14 + -1) {\n    *puVar26 = 0;\n    puVar26 = puVar26 + (uint)bVar32 * -2 + 1;\n  }\n  ppsVar44 = local_778;\n  ppsVar27 = ppsVar44;\n  for (iVar14 = 0x80; iVar14 != 0; iVar14 = iVar14 + -1) {\n    *ppsVar27 = (stat64 *)0x0;\n    ppsVar27 = ppsVar27 + (uint)bVar32 * -2 + 1;\n  }\n  if (bVar31) {\n    uVar7 = 0xffffffff;\n    psVar22 = local_91c;\n    do {\n      if (uVar7 == 0) break;\n      uVar7 = uVar7 - 1;\n      p_Var3 = &psVar22->st_dev;\n      psVar22 = (stat64 *)((int)psVar22 + (uint)bVar32 * -2 + 1);\n    } while ((char)*p_Var3 != '\0');\n    psVar25 = (stat64 *)(~uVar7 - 1);\n    if ((char)local_91c->st_dev == '-') {\n      pr2serr("\'--lba\' cannot be read from stdin\n",pcVar15,psVar17,psVar9);\n      goto LAB_00012130;\n    }\n    pcVar15 = "0123456789aAbBcCdDeEfFhHxXiIkKmMgGtTpP, ";\n    psVar17 = local_91c;\n    psVar9 = local_91c;\n    psVar8 = (stat64 *)strspn((char *)local_91c,"0123456789aAbBcCdDeEfFhHxXiIkKmMgGtTpP, ");\n    psVar22 = psVar25;\n    if (psVar25 == psVar8) {\n      psVar22 = (stat64 *)0x0;\n      psVar25 = local_91c;\n      while( true ) {\n        lVar34 = sg_get_llnum(psVar25,pcVar15,psVar17,psVar9);\n        psVar17 = (stat64 *)lVar34;\n        if (lVar34 == -1) break;\n        puVar42[(int)psVar22 * 2] = (uint)psVar17;\n        puVar42[(int)psVar22 * 2 + 1] = (uint)((ulonglong)lVar34 >> 0x20);\n        psVar9 = psVar17;\n        pcVar12 = strchr((char *)psVar25,0x2c);\n        pcVar15 = (char *)0x20;\n        pcVar13 = strchr((char *)psVar25,0x20);\n        if (pcVar12 == (char *)0x0) {\n          if (pcVar13 == (char *)0x0) {\n            local_91c = (stat64 *)((int)&psVar22->st_dev + 1);\n            if (local_93f != '\0') goto LAB_000126fa;\n            psVar22 = (stat64 *)0x0;\n            psVar17 = extraout_ECX;\n            if (local_91c != (stat64 *)0x1) goto LAB_00012a73;\n            goto LAB_00012820;\n          }\n        }\n        else if ((pcVar13 == (char *)0x0) || (pcVar12 <= pcVar13)) {\n          pcVar13 = pcVar12;\n        }\n        psVar22 = (stat64 *)((int)&psVar22->st_dev + 1);\n        psVar25 = (stat64 *)(pcVar13 + 1);\n        if (psVar22 == (stat64 *)0x80) goto LAB_00013b9f;\n      }\n      psVar8 = (stat64 *)((int)psVar25 - (int)local_91c);\n    }\n    pr2serr("build_lba_arr: error at pos %d\n",(undefined *)((int)&psVar8->st_dev + 1),psVar22,\n            psVar22);\n    goto LAB_00012130;\n  }\n  local_91c = (stat64 *)0x0;\n  if (bVar30) {\nLAB_000126fa:\n    psVar8 = (stat64 *)0xffffffff;\n    psVar22 = local_918;\n    do {\n      if (psVar8 == (stat64 *)0x0) break;\n      psVar8 = (stat64 *)((int)&psVar8[-1].st_ino + 7);\n      p_Var3 = &psVar22->st_dev;\n      psVar22 = (stat64 *)((int)psVar22 + (uint)bVar32 * -2 + 1);\n    } while ((char)*p_Var3 != '\0');\n    psVar25 = (stat64 *)(~(uint)psVar8 - 1);\n    if ((char)local_918->st_dev == '-') {\n      pr2serr("\'--len\' cannot be read from stdin\n");\n    }\n    else {\n      pcVar15 = "0123456789aAbBcCdDeEfFhHxXiIkKmMgGtTpP, ";\n      psVar17 = psVar8;\n      psVar22 = (stat64 *)strspn((char *)local_918,"0123456789aAbBcCdDeEfFhHxXiIkKmMgGtTpP, ");\n      psVar9 = extraout_EDX_00;\n      if (psVar25 == psVar22) {\n        psVar9 = (stat64 *)0x0;\n        psVar25 = local_918;\n        do {\n          lVar34 = sg_get_llnum(psVar25,pcVar15,psVar8,psVar17);\n          psVar8 = (stat64 *)lVar34;\n          if ((int)((ulonglong)lVar34 >> 0x20) == -1) {\n            if (psVar8 == (stat64 *)0xffffffff) {\n              psVar22 = (stat64 *)((int)psVar25 - (int)local_918);\n              goto LAB_000127bf;\n            }\n          }\n          else if (0xffffffff < lVar34) {\n            psVar17 = (stat64 *)((int)psVar25 + (1 - (int)local_918));\n            pcVar15 = "build_num_arr";\n            pr2serr("%s: number exceeds 32 bits at pos %d\n","build_num_arr",psVar17,psVar9);\n            goto LAB_000127d9;\n          }\n          ppsVar44[(int)psVar9] = psVar8;\n          psVar17 = psVar8;\n          pcVar12 = strchr((char *)psVar25,0x2c);\n          pcVar15 = (char *)0x20;\n          pcVar13 = strchr((char *)psVar25,0x20);\n          if (pcVar12 == (char *)0x0) {\n            if (pcVar13 == (char *)0x0) {\n              puVar20 = (undefined *)((int)&psVar9->st_dev + 1);\n              psVar22 = (stat64 *)0x0;\n              psVar17 = extraout_ECX_00;\n              if ((undefined *)0x1 < local_91c) {\n                if ((stat64 *)puVar20 == local_91c) goto LAB_00012820;\n                goto LAB_00012a73;\n              }\n              if (local_91c == (stat64 *)0x0) {\n                if (puVar20 != (undefined *)0x1) {\nLAB_00012a73:\n                  pr2serr("need same number of arguments to \'--lba=\' and \'--num=\' options\n");\n                  local_908 = (stat64 *)0x1f;\n                  goto LAB_00012354;\n                }\n                local_91c = (stat64 *)(undefined *)0x1;\n                if (local_778[0] != (stat64 *)0x0) {\n                  pr2serr("won\'t write %u blocks without an explicit --lba= option\n",local_778[0],\n                          extraout_ECX_00,extraout_ECX_00);\n                  local_908 = (stat64 *)0x1;\n                  goto LAB_00012354;\n                }\n              }\n              else {\n                local_91c = (stat64 *)(undefined *)0x1;\n              }\n              goto LAB_00012820;\n            }\n          }\n          else if ((pcVar13 == (char *)0x0) || (pcVar12 <= pcVar13)) {\n            pcVar13 = pcVar12;\n          }\n          psVar9 = (stat64 *)((int)&psVar9->st_dev + 1);\n          psVar25 = (stat64 *)(pcVar13 + 1);\n        } while (psVar9 != (stat64 *)0x80);\n        pcVar15 = "build_num_arr";\n        psVar17 = extraout_ECX_00;\n        psVar9 = extraout_ECX_00;\n        pr2serr("%s: array length exceeded\n","build_num_arr",extraout_ECX_00,extraout_ECX_00);\n      }\n      else {\nLAB_000127bf:\n        psVar17 = (stat64 *)((int)&psVar22->st_dev + 1);\n        pcVar15 = "build_num_arr";\n        pr2serr("%s: error at pos %d\n","build_num_arr",psVar17,psVar9);\n      }\n    }\nLAB_000127d9:\n    pr2serr("bad argument to \'--num\'\n",pcVar15,psVar17,psVar9);\n    local_908 = (stat64 *)0x0;\n    goto LAB_00012354;\n  }\n  psVar17 = (stat64 *)0x0;\n  local_91c = (stat64 *)(undefined *)0x0;\nLAB_00012820:\n  if (local_798 == (char *)0x0) {\nLAB_00012ce5:\n    local_908 = (stat64 *)0x0;\n    local_880._44_4_ = psVar25;\n  }\n  else {\n    pcVar15 = local_798;\n    iVar14 = __xstat64(3,local_798,psVar18);\n    if (iVar14 < 0) {\n      piVar19 = __errno_location();\n      psVar25 = (stat64 *)*piVar19;\n      uVar16 = safe_strerror(psVar25);\n      pcVar15 = "Unable to stat(%s) as SF: %s\n";\nLAB_000136f9:\n      pr2serr(pcVar15,local_798,uVar16);\n      local_908 = (stat64 *)sg_convert_errno(psVar25);\n      goto LAB_00012354;\n    }\n    if (local_819 == '\0') {\n      iVar14 = 0;\n      if (local_7e0 != 0) {\n        iVar14 = (local_7e0 + 1) * 0x20;\n      }\n      local_908 = (stat64 *)FUN_000156d0(0,&local_8f8,&local_8f4,iVar14);\n      if (local_908 != (stat64 *)0x0) goto LAB_00012354;\n      psVar17 = extraout_ECX_04;\n      if ((local_7e0 != 0) && (local_7e0 != local_8f8)) {\n        if (local_8f8 < local_7e0) {\n          pr2serr("RD (%u) %s number of %ss (%u) found in SF\n",local_7e0,&DAT_000170dd,\n                  "LBA range descriptor",local_8f8);\n          local_908 = (stat64 *)0xf;\n          goto LAB_00012354;\n        }\n        psVar25 = (stat64 *)((uint)psVar38 | local_7f8);\n        if ((psVar25 != (stat64 *)0x0) &&\n           (pr2serr("RD (%u) %s number of %ss (%u) found in SF\n",local_7e0,&DAT_00017110,\n                    "LBA range descriptor",local_8f8), psVar17 = extraout_ECX_01, local_7f8 != 0))\n        goto LAB_00012ef5;\n      }\n      goto LAB_00012ce5;\n    }\n    if ((local_880._16_4_ & 0xf000) != 0x8000) {\n      pr2serr("Expect scatter file to be a regular file\n",pcVar15,psVar18,psVar22);\n      local_908 = (stat64 *)0xf;\n      goto LAB_00012354;\n    }\n    local_908 = (stat64 *)local_880._44_4_;\n    local_920 = (stat64 *)open64(local_798,0,0x8000,0x8000);\n    if ((int)local_920 < 0) {\n      piVar19 = __errno_location();\n      psVar25 = (stat64 *)*piVar19;\n      uVar16 = safe_strerror(psVar25);\n      pcVar15 = "Failed to open %s for raw read: %s\n";\n      goto LAB_000136f9;\n    }\n    iVar14 = sg_set_binary_mode(local_920);\n    psVar17 = extraout_ECX_05;\n    if (iVar14 < 0) {\n      perror("sg_set_binary_mode");\n      local_908 = (stat64 *)0xf;\n      psVar25 = (stat64 *)local_880._44_4_;\n      goto LAB_00012354;\n    }\n  }\n  psVar18 = local_7f0;\n  psVar25 = local_8f4;\n  if (local_817 == 0) {\n    if (local_91c == (stat64 *)0x0) {\n      psVar25 = (stat64 *)local_880._44_4_;\n      if (local_798 == (char *)0x0) {\n        if (local_819 == '\0') {\n          pr2serr("No LBA or number_of_blocks given, try using --lba= and --num=\n");\n          local_908 = (stat64 *)0x1;\n          goto LAB_00012354;\n        }\n      }\n      else if (local_819 == '\0') {\n        local_8f4 = (stat64 *)0x0;\n        uVar33 = FUN_000156d0(local_174 + 0x50,&local_8f8,&local_8f4,0x60);\n        uVar16 = (undefined4)((ulonglong)uVar33 >> 0x20);\n        local_908 = (stat64 *)uVar33;\n        if (local_908 != (stat64 *)0x0) goto LAB_00012354;\n        if (psVar38 != (stat64 *)0x0) {\n          uVar7 = (uint)local_8f8;\n          if (1 < local_8f8) {\n            uVar7 = pr2serr("warning: %d LBA,number_of_blocks pairs found, only taking first\n",\n                            uVar7,uVar16,uVar16);\n          }\n          if (2 < (int)psVar38) {\n            pr2serr("after build_t10_scat, num_lbard=%u, sum_num=%u\n",local_8f8,local_8f4,uVar7);\n          }\n        }\n        if (local_8f8 != 1) {\n          pr2serr("Unable to decode one LBA range descriptor from %s\n",local_798,0,0);\n          local_908 = (stat64 *)0xf;\n          goto LAB_00012354;\n        }\n        local_7b8 = local_104 >> 0x18 | (local_104 & 0xff0000) >> 8 | (local_104 & 0xff00) << 8 |\n                    local_104 << 0x18;\n        local_7bc = local_100 >> 0x18 | (local_100 & 0xff0000) >> 8 | (local_100 & 0xff00) << 8 |\n                    local_100 << 0x18;\n        local_7cc = (stat64 *)\n                    (local_fc >> 0x18 | (local_fc & 0xff0000) >> 8 | (local_fc & 0xff00) << 8 |\n                    local_fc << 0x18);\n        if (local_81f != '\0') {\n          local_7c0 = local_f8 >> 0x18 | (local_f8 & 0xff0000) >> 8 | (local_f8 & 0xff00) << 8 |\n                      local_f8 << 0x18;\n          local_7e6 = local_f4 << 8 | local_f4 >> 8;\n          local_7dc = local_f2 << 8 | local_f2 >> 8;\n        }\n        goto LAB_00012d48;\n      }\n      if (local_908 < (stat64 *)0x40) {\n        pr2serr("raw scatter file must be at least 64 bytes long (length: %u)\n",local_908,\n                local_880._44_4_,local_880._44_4_);\nLAB_00012ef5:\n        local_908 = (stat64 *)0xf;\n        goto LAB_00012354;\n      }\n      psVar25 = (stat64 *)(local_174 + 0x50);\n      local_908 = (stat64 *)FUN_00014a80(&DAT_00017365);\n      if (local_908 != (stat64 *)0x0) goto LAB_00012354;\n      cVar6 = FUN_000146a0(&local_8f8,&local_8f4,extraout_ECX_03,extraout_ECX_03);\n      if (cVar6 == '\0') goto LAB_00012ef5;\n      if (local_8f8 != 1) {\n        pr2serr("No %ss found in SF (num=%u)\n","LBA range descriptor",local_8f8,extraout_EDX_01);\n        goto LAB_00012ef5;\n      }\n      local_7b8 = local_114 >> 0x18 | (local_114 & 0xff0000) >> 8 | (local_114 & 0xff00) << 8 |\n                  local_114 << 0x18;\n      local_7bc = local_110 >> 0x18 | (local_110 & 0xff0000) >> 8 | (local_110 & 0xff00) << 8 |\n                  local_110 << 0x18;\n      local_7cc = (stat64 *)\n                  (local_10c >> 0x18 | (local_10c & 0xff0000) >> 8 | (local_10c & 0xff00) << 8 |\n                  local_10c << 0x18);\n    }\n    else {\n      local_7bc = local_578;\n      local_7b8 = local_574;\n      local_7cc = local_778[0];\n      if ((psVar38 != (stat64 *)0x0) && (local_91c != (stat64 *)0x1)) {\n        pr2serr("warning: %d LBA,number_of_blocks pairs found, only taking first\n",local_91c,\n                psVar17,psVar17);\n      }\n    }\nLAB_00012d48:\n    if (local_818 == 0) {\n      psVar25 = (stat64 *)((int)local_7cc * (int)local_7d4);\n    }\n    else {\n      psVar25 = (stat64 *)0x0;\n      if (local_810 == 0) {\n        psVar25 = local_7d4;\n      }\n    }\n    local_7a4 = psVar25;\n    if (psVar25 != (stat64 *)0x0) {\n      iVar14 = sg_memalign(psVar25,0,&local_8f0,0);\n      if (iVar14 == 0) {\n        pcVar15 = "unable to allocate %u bytes of memory\n";\n        ppvVar39 = (void **)0x0;\n        uVar16 = 0;\n        psVar38 = psVar25;\nLAB_00013bea:\n        pr2serr(pcVar15,psVar38,ppvVar39,uVar16);\n        local_908 = (stat64 *)sg_convert_errno(0xc);\n        goto LAB_00012354;\n      }\n      local_908 = (stat64 *)FUN_00014a80(&DAT_000173c6);\n      if (local_908 != (stat64 *)0x0) goto LAB_00012354;\n    }\n    local_908 = (stat64 *)FUN_00014b00(&local_820);\n    if (local_908 == (stat64 *)0x0) goto LAB_00012354;\n    if (local_81a != '\0') goto LAB_00012354;\n    puVar43 = local_174;\n    psVar25 = (stat64 *)"OS error";\n    puVar29 = puVar43;\n    for (iVar14 = 9; iVar14 != 0; iVar14 = iVar14 + -1) {\n      *puVar29 = (char)psVar25->st_dev;\n      psVar25 = (stat64 *)((int)psVar25 + (uint)bVar32 * -2 + 1);\n      puVar29 = puVar29 + (uint)bVar32 * -2 + 1;\n    }\n    uVar16 = 0;\n    if (0 < (int)local_908) {\n      sg_get_category_sense_str(local_908,0x50,puVar43,psVar38);\n      uVar16 = extraout_ECX_02;\n    }\n    pr2serr("%s: %s\n",local_790,puVar43,uVar16);\n    goto LAB_00012354;\n  }\n  local_8e8 = (void *)0x0;\n  local_8f6 = local_8f8;\n  local_8ec = (undefined1  [4])local_8f4;\n  if (local_81c != '\0') {\n    if (local_7e2 == 0) {\n      if (local_7e0 == 0) {\n        psVar17 = local_93c;\n        if (local_93c == (stat64 *)0x0) {\n          pr2serr("With --combined= if DOF, RD are 0 and IF has an unknown length\nthen give up\n");\n          local_908 = (stat64 *)0x1f;\n          goto LAB_00012354;\n        }\n      }\n      else {\n        psVar17 = (stat64 *)((local_7e0 + 1) * 0x20);\n      }\n      if ((uint)psVar17 % (uint)local_7d4 != 0) {\n        psVar17 = (stat64 *)(((uint)psVar17 / (uint)local_7d4 + 1) * (int)local_7d4);\n      }\n    }\n    else {\n      psVar17 = (stat64 *)((uint)local_7e2 * (int)local_7d4);\n    }\n    ppvVar39 = &local_8e8;\n    uVar16 = 0;\n    psVar38 = (stat64 *)0x0;\n    psVar25 = (stat64 *)sg_memalign(psVar17,0,ppvVar39,0);\n    if (psVar25 == (stat64 *)0x0) {\nLAB_000141a6:\n      pcVar15 = "unable to allocate aligned memory for scatterlist+data\n";\n      goto LAB_00013bea;\n    }\n    local_908 = (stat64 *)FUN_00014a80("IF c1");\n    if (local_908 != (stat64 *)0x0) goto LAB_000133fd;\n    cVar6 = FUN_000146a0(&local_8f6,local_8ec,0,0);\n    if (cVar6 != '\0') {\n      if ((local_7e0 == 0) || (local_7e0 == local_8f6)) {\n        local_7e0 = local_8f6;\nLAB_00013fe3:\n        local_908 = (stat64 *)((local_7e0 + 1) * 0x20);\n        if ((uint)local_908 % (uint)local_7d4 != 0) {\n          local_908 = (stat64 *)(((uint)local_908 / (uint)local_7d4 + 1) * (int)local_7d4);\n        }\n        uVar7 = (uint)local_7e2;\n        uVar24 = uVar7 * (int)local_7d4;\n        psVar38 = local_908;\n        local_8f6 = local_7e0;\n        if (uVar24 - (int)local_908 != 0) {\n          if (uVar24 < local_908) {\n            pr2serr("%s: Cannot fit %ss (%u) in given LB data offset (%u)\n","process_scattered",\n                    "LBA range descriptor",(uint)local_7e0,uVar7);\n            goto LAB_000133f3;\n          }\n          psVar38 = (stat64 *)uVar24;\n          if ((((uint)psVar18 | local_7f8) != 0) &&\n             (pr2serr("%s: empty blocks before LB data offset (%u), could be okay\n",\n                      "process_scattered",uVar7,(uint)psVar18 | local_7f8), local_7f8 != 0)) {\n            pr2serr("Exiting due to --strict; perhaps try again with --combined=%u\n",\n                    (uint)local_908 / (uint)local_7d4,psVar25,psVar25);\n            local_908 = (stat64 *)0xf;\n            goto LAB_000133fd;\n          }\n        }\n        psVar38 = (stat64 *)((int)local_8ec * (int)local_7d4 + (int)psVar38);\n        if (psVar38 <= psVar17) {\nLAB_0001418c:\n          local_7cc = (stat64 *)local_8ec;\n          local_7a4 = (stat64 *)((int)local_8ec * (int)local_7d4);\n          goto LAB_00013962;\n        }\n        if (local_93c != psVar38) {\n          if (local_93c < psVar38) {\n            pr2serr("Calculated dout length (%u) %s bytes available in IF (%u)\n",psVar38,\n                    &DAT_000170dd,local_93c);\n          }\n          else if ((psVar18 == (stat64 *)0x0 && local_7f8 == 0) ||\n                  (pr2serr("Calculated dout length (%u) %s bytes available in IF (%u)\n",psVar38,\n                           &DAT_00017110,local_93c), local_7f8 == 0)) goto LAB_00014113;\n          goto LAB_000133f3;\n        }\nLAB_00014113:\n        uVar33 = sg_memalign(psVar38,0,&local_8e4,0);\n        uVar16 = (undefined4)((ulonglong)uVar33 >> 0x20);\n        psVar38 = (stat64 *)uVar33;\n        if (psVar38 != (stat64 *)0x0) {\n          memcpy(psVar38,psVar25,(size_t)psVar17);\n          free(local_8e8);\n          local_8e8 = local_8e4;\n          local_908 = (stat64 *)FUN_00014a80("IF c2",psVar25,psVar17,uVar16);\n          psVar25 = psVar38;\n          if (local_908 != (stat64 *)0x0) goto LAB_000133fd;\n          goto LAB_0001418c;\n        }\nLAB_00014273:\n        pcVar15 = "unable to allocate memory for final scatterlist+data\n";\n        goto LAB_00013fbc;\n      }\n      if (local_8f6 < local_7e0) {\n        pr2serr("RD (%u) %s number of %ss (%u) found in IF\n",local_7e0,&DAT_000170dd,\n                "LBA range descriptor",local_8f6);\n      }\n      else if ((psVar18 == (stat64 *)0x0 && local_7f8 == 0) ||\n              (pr2serr("RD (%u) %s number of %ss (%u) found in IF\n",local_7e0,&DAT_00017110,\n                       "LBA range descriptor",local_8f6), local_7f8 == 0)) {\n        local_908 = (stat64 *)0x0;\n        for (psVar38 = psVar25; (stat64 *)(&psVar25->st_dev + (uint)local_7e0 * 4) != psVar38;\n            psVar38 = (stat64 *)&psVar38->st_rdev) {\n          uVar7 = psVar38->__pad2;\n          local_908 = (stat64 *)\n                      ((int)&local_908->st_dev +\n                      (uVar7 >> 0x18 | (uVar7 & 0xff0000) >> 8 | (uVar7 & 0xff00) << 8 |\n                      uVar7 << 0x18));\n        }\n        local_8ec = (undefined1  [4])local_908;\n        goto LAB_00013fe3;\n      }\n    }\nLAB_000133f3:\n    local_908 = (stat64 *)0xf;\n    goto LAB_000133fd;\n  }\n  if (local_91c != (stat64 *)0x0) {\n    local_8f6 = (ushort)local_91c;\n  }\n  if (local_798 == (char *)0x0) {\n    if (local_819 != '\0') goto LAB_00013dcd;\n    if (local_91c == (stat64 *)0x0) {\n      pr2serr("How did we get here??\n");\n      local_908 = (stat64 *)0x1;\n      goto LAB_000133fd;\n    }\n    if ((local_7e0 != 0) && (local_91c < (undefined *)(uint)local_7e0)) {\n      pr2serr("%s: number given to --scattered= (%u) exceeds number of --lba= elements (%u)\n",\n              "process_scattered",(undefined *)(uint)local_7e0,local_91c);\n      local_908 = (stat64 *)0x1f;\n      goto LAB_00012354;\n    }\n    uVar7 = (local_8f6 + 1) * 0x20;\n    local_7e2 = (ushort)(uVar7 / (uint)local_7d4);\n    if (uVar7 % (uint)local_7d4 != 0) {\n      local_7e2 = local_7e2 + 1;\n    }\n    iVar14 = 0;\n    local_8ec = (undefined1  [4])0x0;\n    do {\n      local_8ec = (undefined1  [4])((int)&((stat64 *)local_8ec)->st_dev + (int)ppsVar44[iVar14]);\n      iVar14 = iVar14 + 1;\n    } while (iVar14 < (int)local_91c);\n    psVar25 = (stat64 *)\n              sg_memalign((int)((int)&((stat64 *)local_8ec)->st_dev + (uint)local_7e2) *\n                          (int)local_7d4,0,&local_8e8,0);\n    if (psVar25 == (stat64 *)0x0) goto LAB_00013fb3;\n    iVar14 = 0;\n    psVar38 = psVar25;\n    do {\n      uVar7 = puVar42[iVar14 * 2];\n      uVar24 = puVar42[iVar14 * 2 + 1];\n      *(uint *)&psVar38->st_rdev =\n           uVar24 >> 0x18 | (uVar24 & 0xff0000) >> 8 | (uVar24 & 0xff00) << 8 | uVar24 << 0x18;\n      *(uint *)((int)&psVar38->st_rdev + 4) =\n           uVar7 >> 0x18 | (uVar7 & 0xff0000) >> 8 | (uVar7 & 0xff00) << 8 | uVar7 << 0x18;\n      psVar17 = ppsVar44[iVar14];\n      psVar38->__pad2 =\n           (uint)psVar17 >> 0x18 | ((uint)psVar17 & 0xff0000) >> 8 | ((uint)psVar17 & 0xff00) << 8 |\n           (int)psVar17 << 0x18;\n      if (local_81f != '\0') {\n        if (iVar14 == 0) {\n          *(uint *)&psVar38->st_size =\n               local_7c0 >> 0x18 | (local_7c0 & 0xff0000) >> 8 | (local_7c0 & 0xff00) << 8 |\n               local_7c0 << 0x18;\n          *(ushort *)((int)&psVar38->st_size + 4) = local_7e6 << 8 | local_7e6 >> 8;\n          *(ushort *)((int)&psVar38->st_size + 6) = local_7dc << 8 | local_7dc >> 8;\n        }\n        else {\n          *(undefined4 *)&psVar38->st_size = 0xffffffff;\n          *(undefined2 *)((int)&psVar38->st_size + 4) = 0xffff;\n          *(undefined2 *)((int)&psVar38->st_size + 6) = 0xffff;\n        }\n      }\n      iVar14 = iVar14 + 1;\n      psVar38 = (stat64 *)&psVar38->st_rdev;\n    } while (iVar14 < (int)local_91c);\n    local_7cc = (stat64 *)local_8ec;\n  }\n  else {\n    if (local_819 == '\0') {\n      uVar7 = (uint)local_8f6;\n      uVar16 = 0;\n      uVar24 = (uVar7 + 1) * 0x20;\n      local_7e2 = (ushort)(uVar24 / (uint)local_7d4);\n      ppvVar39 = &local_8e8;\n      if (uVar24 % (uint)local_7d4 != 0) {\n        local_7e2 = local_7e2 + 1;\n      }\n      psVar38 = (stat64 *)0x0;\n      psVar25 = (stat64 *)\n                sg_memalign((int)((int)&local_8f4->st_dev + (uint)local_7e2) * (int)local_7d4,0,\n                            ppvVar39,0);\n      if (psVar25 == (stat64 *)0x0) goto LAB_000141a6;\n      local_8f6 = 0;\n      local_8ec = (undefined1  [4])0x0;\n      if (uVar7 + 1 == 1) {\n        uVar24 = (uint)local_7e2 * (int)local_7d4;\n      }\n      local_908 = (stat64 *)FUN_000156d0(psVar25,&local_8f6,local_8ec,uVar24);\n      if (local_908 != (stat64 *)0x0) goto LAB_000133fd;\n      psVar38 = (stat64 *)((int)local_7d4 * (int)local_8ec);\n      if (local_7d0 <= psVar38) {\n        if ((local_7d0 <= psVar38 && (int)psVar38 - (int)local_7d0 != 0) &&\n           (local_7d0 != (stat64 *)0x0)) {\n          psVar38 = local_7d0;\n        }\nLAB_00014208:\n        if ((psVar45 != (stat64 *)0x0) && (psVar45 != psVar38)) {\n          if (psVar18 != (stat64 *)0x0) {\n            puVar20 = &DAT_00017110;\n            if (psVar38 <= psVar45) {\n              puVar20 = &DAT_000170dd;\n            }\n            pr2serr("readable length (%u) of IF %s bytes implied by sum of\nscatter list NUMs (%u) and DLEN\n"\n                    ,psVar45,puVar20,psVar38);\n          }\n          if ((local_7f8 != 0) && ((psVar38 <= psVar45 || (1 < (int)local_7f8)))) goto LAB_000133f3;\nLAB_0001387e:\n          if (psVar45 < psVar38) {\n            psVar38 = psVar45;\n          }\n        }\n        psVar17 = (stat64 *)((uint)psVar38 / (uint)local_7d4);\n        if (((uint)psVar38 % (uint)local_7d4 != 0) &&\n           ((psVar18 != (stat64 *)0x0 || (1 < (int)local_7f8)))) {\n          psVar22 = local_7d8;\n          pr2serr("Calculated data-out length (0x%x) not a multiple of BS (%u",psVar38,local_7d8,\n                  psVar17);\n          if (local_7d8 != local_7d4) {\n            psVar38 = (stat64 *)((int)local_7d4 - (int)local_7d8);\n            psVar22 = extraout_ECX_07;\n            psVar17 = extraout_ECX_07;\n            pr2serr(" + %d(PI)",psVar38,extraout_ECX_07,extraout_ECX_07);\n          }\n          if (1 < (int)local_7f8) {\n            pr2serr(")\nexiting ...\n",psVar38,psVar22,psVar17);\n            local_908 = (stat64 *)0xf;\n            goto LAB_000133fd;\n          }\n          pr2serr(")\nzero pad and continue ...\n",psVar38,psVar22,psVar17);\n        }\n      }\n      else {\n        uVar7 = (uint)psVar18 | local_7f8;\n        if (uVar7 != 0) {\n          pr2serr("DLEN > than bytes implied by sum of scatter list NUMs (%u)\n",psVar38,uVar7,uVar7\n                 );\n          if (1 < (int)psVar18) {\n            pr2serr("  num_lbard=%u, sum_num=%u actual_bs=%u",local_8f6,local_8ec,local_7d4);\n          }\n          if (local_7f8 != 0) goto LAB_000133f3;\n          goto LAB_00014208;\n        }\n        if ((psVar45 != (stat64 *)0x0) && (psVar45 != psVar38)) goto LAB_0001387e;\n      }\n      local_908 = (stat64 *)FUN_00014a80(&DAT_00017360);\n    }\n    else {\nLAB_00013dcd:\n      psVar38 = local_7d4;\n      if (local_7e0 != 0) {\n        psVar38 = (stat64 *)((local_7e0 + 1) * 0x20);\n        if (local_908 < psVar38) {\n          pr2serr("SF not long enough (%u bytes) to provide RD (%u) %ss\n",local_908,psVar38,\n                  "LBA range descriptor");\n          local_908 = (stat64 *)0xf;\n          goto LAB_000133fd;\n        }\n        psVar38 = (stat64 *)\n                  ((((uint)psVar38 / (uint)local_7d4 + 1) -\n                   (uint)((uint)psVar38 % (uint)local_7d4 == 0)) * (int)local_7d4);\n      }\n      local_918 = local_7d4;\n      if (local_93c != (stat64 *)0x0) {\n        local_918 = (stat64 *)\n                    ((((uint)local_93c / (uint)local_7d4 + 1) -\n                     (uint)((uint)local_93c % (uint)local_7d4 == 0)) * (int)local_7d4);\n      }\n      psVar25 = (stat64 *)\n                sg_memalign((undefined *)((int)&psVar38->st_dev + (int)&local_918->st_dev),0,\n                            &local_8e8,0);\n      if (psVar25 == (stat64 *)0x0) {\nLAB_00013fb3:\n        pcVar15 = "unable to allocate aligned memory for scatterlist+data\n";\nLAB_00013fbc:\n        pr2serr(pcVar15);\n        local_908 = (stat64 *)sg_convert_errno(0xc);\n        goto LAB_000133fd;\n      }\n      local_908 = (stat64 *)FUN_00014a80(&DAT_00017365);\n      if (local_908 != (stat64 *)0x0) goto LAB_000133fd;\n      psVar17 = (stat64 *)local_8ec;\n      psVar22 = extraout_ECX_08;\n      psVar8 = extraout_ECX_08;\n      cVar6 = FUN_000146a0(&local_8f6,psVar17,extraout_ECX_08,extraout_ECX_08);\n      if (cVar6 == '\0') goto LAB_000133f3;\n      if (local_7e0 != local_8f6) {\n        pr2serr("Try again with --scattered=%u\n",local_8f6,extraout_EDX_05,extraout_EDX_05);\n        local_908 = (stat64 *)0xf;\n        goto LAB_000133fd;\n      }\n      if (local_918 < (stat64 *)((int)local_7d4 * (int)local_8ec)) {\n        psVar9 = (stat64 *)\n                 sg_memalign((undefined *)\n                             ((int)&psVar38->st_dev +\n                             (int)&((stat64 *)((int)local_7d4 * (int)local_8ec))->st_dev),0,\n                             &local_8e4,0);\n        if (psVar9 == (stat64 *)0x0) goto LAB_00014273;\n        psVar22 = psVar38;\n        psVar8 = psVar9;\n        memcpy(psVar9,psVar25,(size_t)psVar38);\n        psVar17 = psVar25;\n        free(local_8e8);\n        local_8e8 = local_8e4;\n        psVar25 = psVar9;\n      }\n      if ((local_93c != psVar38) && (psVar18 != (stat64 *)0x0 || local_7f8 != 0)) {\n        psVar22 = (stat64 *)&DAT_000170dd;\n        if (local_93c <= psVar38) {\n          psVar22 = (stat64 *)&DAT_00017110;\n        }\n        psVar8 = psVar38;\n        pr2serr("IF length (%u) %s \'sum_num\' bytes (%u), ",local_93c,psVar22,psVar38);\n        if (1 < (int)local_7f8) {\n          pr2serr("exiting (strict=%d)\n",local_7f8,psVar38,psVar38);\n          local_908 = (stat64 *)0xf;\n          goto LAB_000133fd;\n        }\n        pr2serr("continuing ...\n",local_93c,psVar22,psVar8);\n        psVar17 = local_93c;\n      }\n      local_908 = (stat64 *)FUN_00014a80(&DAT_0001738d,psVar17,psVar22,psVar8);\n    }\n    if (local_908 != (stat64 *)0x0) goto LAB_000133fd;\n    local_7a4 = (stat64 *)((int)local_8ec * (int)local_7d4);\n    local_7cc = (stat64 *)local_8ec;\n  }\nLAB_00013962:\n  local_8ec = (undefined1  [4])local_7cc;\n  local_908 = (stat64 *)FUN_00014b00(&local_820);\n  if (local_908 != (stat64 *)0x0) {\n    puVar43 = local_174 + 0x50;\n    psVar25 = (stat64 *)"OS error";\n    puVar29 = puVar43;\n    for (iVar14 = 9; iVar14 != 0; iVar14 = iVar14 + -1) {\n      *puVar29 = (char)psVar25->st_dev;\n      psVar25 = (stat64 *)((int)psVar25 + (uint)bVar32 * -2 + 1);\n      puVar29 = puVar29 + (uint)bVar32 * -2 + 1;\n    }\n    if (0 < (int)local_908) {\n      sg_get_category_sense_str(local_908,0x50,puVar43,psVar18);\n    }\n    pr2serr("%s: %s\n",local_790,puVar43,psVar25);\n  }\nLAB_000133fd:\n  if (local_8e8 == (void *)0x0) goto LAB_00012354;\n  free(local_8e8);\n  goto LAB_00012354;\ncode_r0x000115f1:\n  uVar33 = sg_get_llnum(*(undefined4 *)PTR_optarg_0001dffc);\n  psVar38 = local_7d0;\n  uVar16 = uStack_7c4;\n  uVar7 = (uint)uVar33;\n  if ((int)((ulonglong)uVar33 >> 0x20) != 0) goto code_r0x00012b94;\n  goto code_r0x000114e8;\ncode_r0x00012b94:\n  pr2serr("bad argument to \'--ref-tag=\'. Expect 0 to 0xffffffff inclusive\n");\nLAB_00011a7a:\n  local_908 = (stat64 *)0x1;\nLAB_00011a84:\n  do {\n    psVar25 = (stat64 *)(local_24 ^ *(uint *)(in_GS_OFFSET + 0x14));\n    if (psVar25 == (stat64 *)0x0) {\n      return (int)local_908;\n    }\n    FUN_000162b0();\nLAB_00013b9f:\n    pr2serr("build_lba_arr: array length exceeded\n");\nLAB_00012130:\n    pr2serr("bad argument to \'--lba\'\n");\n    local_908 = (stat64 *)0x1;\nLAB_00012354:\n    if (local_8f0 != (void *)0x0) {\n      free(local_8f0);\n    }\n    iVar14 = sg_cmds_close_device(local_930);\n    if (iVar14 < 0) {\n      if (local_81a == '\0') {\n        uVar16 = safe_strerror(-iVar14);\n        pr2serr("sg_fd close error: %s\n",uVar16);\n      }\n      if (local_908 == (stat64 *)0x0) {\n        local_908 = (stat64 *)0xf;\n      }\n    }\n    if ((-1 < (int)local_920) && (iVar14 = close((int)local_920), iVar14 < 0)) {\n      if (local_81a == '\0') {\n        perror("sfr_fd close error");\n      }\n      if (local_908 == (stat64 *)0x0) {\n        local_908 = (stat64 *)0xf;\n      }\n    }\nLAB_000123a1:\n    if (((cVar2 == '\x01') || ((int)local_924 < 0)) ||\n       (pcVar15 = (char *)close((int)local_924), -1 < (int)pcVar15)) {\nLAB_000123cc:\n      if (((local_7f0 == (stat64 *)0x0) && (local_81a == '\0')) &&\n         (cVar6 = sg_if_can2stderr("sg_write_x failed: ",local_908,psVar25,psVar25), cVar6 == '\0'))\n      goto LAB_0001260b;\n      goto LAB_000123e2;\n    }\n    if (local_81a == '\0') {\n      pcVar15 = "infd close error";\n      perror("infd close error");\n    }\n    if (local_908 != (stat64 *)0x0) goto LAB_000123cc;\n    local_908 = (stat64 *)0xf;\n    if (((local_7f0 == (stat64 *)0x0) && (local_81a == '\0')) &&\n       (cVar6 = sg_if_can2stderr("sg_write_x failed: ",0xf,pcVar15,pcVar15), cVar6 == '\0')) {\nLAB_0001260b:\n      pr2serr("Some error occurred, try again with \'-v\' or \'-vv\' for more information\n");\nLAB_000123e2:\n      if ((int)local_908 < 0) {\n        local_908 = (stat64 *)0x63;\n      }\n    }\n  } while( true );\n}" primitive_type (function_declarator "FUN_000113d0(int param_1,int param_2)" identifier (parameter_list "(int param_1,int param_2)" ( (parameter_declaration "int param_1" primitive_type identifier) , (parameter_declaration "int param_2" primitive_type identifier) ))) (compound_statement "{\n  byte bVar1;\n  char cVar2;\n  __dev_t *p_Var3;\n  undefined *puVar4;\n  undefined *puVar5;\n  char cVar6;\n  uint uVar7;\n  stat64 *psVar8;\n  stat64 *psVar9;\n  int iVar10;\n  stat64 *psVar11;\n  char *pcVar12;\n  char *pcVar13;\n  int iVar14;\n  char *pcVar15;\n  undefined4 uVar16;\n  stat64 *psVar17;\n  stat64 *psVar18;\n  int *piVar19;\n  undefined *puVar20;\n  int iVar21;\n  stat64 *extraout_ECX;\n  stat64 *extraout_ECX_00;\n  stat64 *extraout_ECX_01;\n  undefined4 extraout_ECX_02;\n  undefined4 extraout_ECX_03;\n  stat64 *extraout_ECX_04;\n  stat64 *extraout_ECX_05;\n  stat64 *extraout_ECX_06;\n  stat64 *extraout_ECX_07;\n  stat64 *extraout_ECX_08;\n  int extraout_EDX;\n  stat64 *psVar22;\n  stat64 *psVar23;\n  stat64 *extraout_EDX_00;\n  undefined4 extraout_EDX_01;\n  stat64 *extraout_EDX_02;\n  stat64 *extraout_EDX_03;\n  stat64 *extraout_EDX_04;\n  undefined4 extraout_EDX_05;\n  uint uVar24;\n  stat64 *psVar25;\n  uint *puVar26;\n  stat64 **ppsVar27;\n  int iVar28;\n  undefined1 *puVar29;\n  int in_GS_OFFSET;\n  bool bVar30;\n  bool bVar31;\n  byte bVar32;\n  undefined8 uVar33;\n  longlong lVar34;\n  __off64_t _Var35;\n  undefined4 uVar36;\n  undefined4 uVar37;\n  stat64 *psVar38;\n  void **ppvVar39;\n  undefined4 uVar40;\n  uint uVar41;\n  uint *puVar42;\n  undefined1 *puVar43;\n  stat64 **ppsVar44;\n  stat64 *psVar45;\n  char local_93f;\n  stat64 *local_93c;\n  stat64 *local_930;\n  stat64 *local_924;\n  stat64 *local_920;\n  stat64 *local_91c;\n  stat64 *local_918;\n  stat64 *local_908;\n  ushort local_8f8;\n  ushort local_8f6;\n  stat64 *local_8f4;\n  void *local_8f0;\n  undefined1 local_8ec [4];\n  void *local_8e8;\n  void *local_8e4;\n  undefined1 local_8e0 [48];\n  int local_8b0;\n  undefined1 local_880 [96];\n  char local_820;\n  char local_81f;\n  byte bStack_81e;\n  byte local_81d;\n  char local_81c;\n  byte local_81b;\n  char local_81a;\n  char local_819;\n  byte local_818;\n  byte local_817;\n  byte local_816;\n  byte bStack_815;\n  byte local_814;\n  char local_813;\n  undefined1 uStack_812;\n  undefined1 uStack_811;\n  byte local_810;\n  char local_80f;\n  char local_80e;\n  uint uStack_80c;\n  int iStack_808;\n  uint uStack_804;\n  int local_800;\n  int local_7fc;\n  uint local_7f8;\n  int local_7f4;\n  stat64 *local_7f0;\n  stat64 *local_7ec;\n  undefined1 uStack_7e8;\n  undefined1 uStack_7e7;\n  ushort local_7e6;\n  undefined2 uStack_7e4;\n  ushort local_7e2;\n  ushort local_7e0;\n  undefined2 uStack_7de;\n  ushort local_7dc;\n  undefined2 uStack_7da;\n  stat64 *local_7d8;\n  stat64 *local_7d4;\n  stat64 *local_7d0;\n  stat64 *local_7cc;\n  undefined4 uStack_7c8;\n  undefined4 uStack_7c4;\n  uint local_7c0;\n  uint local_7bc;\n  uint local_7b8;\n  stat64 *local_7b4;\n  stat64 *local_7b0;\n  int local_7ac;\n  int local_7a8;\n  stat64 *local_7a4;\n  stat64 *local_7a0;\n  char *local_79c;\n  char *local_798;\n  stat64 *local_794;\n  undefined1 local_790 [24];\n  stat64 *local_778 [128];\n  uint local_578;\n  uint local_574;\n  undefined1 local_174 [96];\n  uint local_114;\n  uint local_110;\n  uint local_10c;\n  uint local_104;\n  uint local_100;\n  uint local_fc;\n  uint local_f8;\n  ushort local_f4;\n  ushort local_f2;\n  uint local_24;\n  undefined4 *local_18;\n  \n  iVar28 = param_2;\n  iVar14 = param_1;\n  puVar20 = PTR_optarg_0001dffc;\n  bVar32 = 0;\n  local_18 = &param_1;\n  local_24 = *(uint *)(in_GS_OFFSET + 0x14);\n  local_8f8 = 0;\n  local_8f4 = (stat64 *)0x0;\n  local_8f0 = (void *)0x0;\n  local_918 = (stat64 *)0x0;\n  local_91c = (stat64 *)0x0;\n  pcVar15 = &local_820;\n  for (iVar21 = 0x2a; iVar21 != 0; iVar21 = iVar21 + -1) {\n    pcVar15[0] = '\0';\n    pcVar15[1] = '\0';\n    pcVar15[2] = '\0';\n    pcVar15[3] = '\0';\n    pcVar15 = pcVar15 + 4;\n  }\n  local_930 = (stat64 *)local_8e0;\n  local_7fc = -1;\n  psVar18 = local_930;\n  for (iVar21 = 0x18; iVar21 != 0; iVar21 = iVar21 + -1) {\n    *(undefined4 *)&psVar18->st_dev = 0;\n    psVar18 = (stat64 *)((int)&psVar18->st_dev + 4);\n  }\n  psVar18 = (stat64 *)local_880;\n  local_7c0 = 0xffffffff;\n  psVar38 = psVar18;\n  for (iVar21 = 0x18; iVar21 != 0; iVar21 = iVar21 + -1) {\n    *(undefined4 *)&psVar38->st_dev = 0;\n    psVar38 = (stat64 *)((int)&psVar38->st_dev + 4);\n  }\n  cVar2 = ' ';\n  local_7e6 = 0xffff;\n  local_7dc = 0xffff;\n  local_7f4 = 0x78;\n  bVar1 = 0;\n  local_924 = (stat64 *)PTR_optarg_0001dffc;\n  psVar38 = local_7d0;\n  uVar16 = uStack_7c4;\n  uVar7 = local_7c0;\ncode_r0x000114e8:\n  local_7c0 = uVar7;\n  uStack_7c4 = uVar16;\n  local_7d0 = psVar38;\n  local_8e4 = (void *)0x0;\n  uVar33 = getopt_long(iVar14,iVar28,"36a:A:b:B:c:dD:Efg:G:hi:I:l:M:n:No:Oq:Qr:RsS:t:T:u:vVw:x",\n                       &PTR_DAT_0001e020,&local_8e4);\n  puVar5 = PTR_optarg_0001dffc;\n  puVar4 = PTR_optind_0001dfe4;\n  if ((int)uVar33 == -1) {\n    iVar21 = *(int *)PTR_optind_0001dfe4;\n    local_920 = (stat64 *)0xffffffff;\n    if (iVar21 < iVar14) {\n      iVar10 = (int)((ulonglong)uVar33 >> 0x20);\n      if (local_7a0 != (stat64 *)0x0) goto LAB_00011c60;\n      local_7a0 = *(stat64 **)(iVar28 + iVar21 * 4);\n      *(int *)PTR_optind_0001dfe4 = iVar21 + 1;\n      iVar10 = iVar28;\n      if (iVar21 + 1 < iVar14) goto LAB_00011c60;\n    }\n    if ((bool)(bVar1 & local_7f8 != 0)) goto LAB_00011a7a;\n    if (0 < local_800) {\n      FUN_000149b0();\n      local_908 = (stat64 *)0x0;\n      goto LAB_00011a84;\n    }\n    if (local_80f == '\0') {\nLAB_00011c9f:\n      if (local_80e != '\0') {\n        pr2serr("sg_write_x version: %s\n","1.19 20180628",puVar4,puVar4);\n        local_908 = (stat64 *)0x270f;\n        goto LAB_00011a84;\n      }\n    }\n    else if (local_80e != '\0') {\n      pr2serr("Not in DEBUG mode, so \'-vV\' has no special action\n");\n      goto LAB_00011c9f;\n    }\n    psVar38 = local_7f0;\n    psVar17 = psVar38;\n    if (local_820 == '\0') {\n      if (local_81f == '\0') {\n        psVar17 = (stat64 *)((int)&local_7f0[-1].st_ino + 7);\n        local_820 = '\x01';\n        if (psVar17 != (stat64 *)0x0 && 0 < (int)local_7f0) {\n          pr2serr("Since neither --16 nor --32 given, choose --16\n");\n        }\n      }\n    }\n    else if ((local_81f != '\0') && (local_820 = '\0', 1 < (int)local_7f0)) {\n      pr2serr("Since both --16 and --32 given, choose --32\n");\n    }\n    uVar7 = (uint)local_81d + (uint)local_814 + (uint)local_81b + (uint)local_818 + (uint)local_817\n            + (uint)local_816;\n    if (1 < uVar7) {\n      pr2serr(\n             "Can only select one command; so only one of --atomic, --normal, --or,\n--same=, --scattered= or --stream=\n"\n             );\n      local_908 = (stat64 *)0x1f;\n      goto LAB_00011a84;\n    }\n    if (uVar7 == 0) {\n      if (local_7f8 != 0) {\n        pr2serr("With --strict won\'t default to a normal WRITE, add --normal\n");\n        local_908 = (stat64 *)0x1f;\n        goto LAB_00011a84;\n      }\n      local_794 = (stat64 *)0x17164;\n      local_814 = 1;\n      if (psVar38 != (stat64 *)0x0) {\n        pr2serr("No command selected so choose \'normal\' WRITE\n");\n      }\n    }\n    psVar8 = (stat64 *)((-(uint)(local_820 == '\0') & 0x10) + 0x10);\n    psVar22 = local_794;\n    __snprintf_chk(local_790,0x18,1,0x18,"%s(%d)",local_794,psVar8,psVar17);\n    if (local_81c == '\0') {\n      if (local_798 != (char *)0x0) {\n        local_93f = local_918 != (stat64 *)0x0;\n        bVar30 = local_91c != (stat64 *)0x0 || local_918 != (stat64 *)0x0;\n        bVar31 = local_91c != (stat64 *)0x0;\n        if (local_91c == (stat64 *)0x0 && local_918 == (stat64 *)0x0) {\n          iVar14 = -1;\n          pcVar15 = local_798;\n          goto code_r0x00011d5c;\n        }\n        pr2serr(\n               "want one and only one of: (--lba=LBA and/or --num=NUM), or\n--scat-file=SF, or --combined=DOF\n"\n               );\n        local_908 = (stat64 *)0x1f;\n        goto LAB_00011a84;\n      }\n      if (local_819 == '\0') {\n        local_93f = local_918 != (stat64 *)0x0;\n        bVar30 = local_91c != (stat64 *)0x0 || local_918 != (stat64 *)0x0;\n        bVar31 = local_91c != (stat64 *)0x0;\n        goto LAB_00011d67;\n      }\n      pr2serr(\n             "--scat-raw only applies to the --scat-file=SF option\n--scat-raw without the --scat-file=SF option is an error\n"\n             );\n      local_908 = (stat64 *)0x1f;\n      goto LAB_00011a84;\n    }\n    if (local_817 == 0) {\n      pr2serr(\n             "--combined=DOF only allowed with --scattered=RD (i.e. only with\nWRITE SCATTERED command)\n"\n             );\n      local_908 = (stat64 *)0x1f;\n      goto LAB_00011a84;\n    }\n    if (local_798 != (char *)0x0) {\n      pr2serr("Ambiguous: got --combined=DOF and --scat-file=SF .\nGive one, the other or neither\n"\n             );\n      local_908 = (stat64 *)0x1f;\n      goto LAB_00011a84;\n    }\n    if (local_91c == (stat64 *)0x0 && local_918 == (stat64 *)0x0) {\n      local_93f = local_819;\n      bVar30 = false;\n      bVar31 = false;\n      if (local_819 == '\0') goto LAB_00011d67;\n      pr2serr("Ambiguous: don\'t expect --combined=DOF and --scat-raw\nGive one or the other\n");\n      local_908 = (stat64 *)0x1f;\n    }\n    else {\n      pr2serr("--scattered=RD --combined=DOF does not use --lba= or --num=\nPlease remove.\n");\n      local_908 = (stat64 *)0x1f;\n    }\n    goto LAB_00011a84;\n  }\n  local_920 = local_924;\n  psVar38 = local_7d0;\n  uVar16 = uStack_7c4;\n  uVar7 = local_7c0;\n  switch((int)uVar33) {\n  case 0x33:\n    local_81f = '\x01';\n    goto code_r0x000114e8;\n  default:\n    pcVar15 = "unrecognised option code 0x%x ??\n";\n    break;\n  case 0x36:\n    local_820 = '\x01';\n    goto code_r0x000114e8;\n  case 0x3f:\n    pcVar15 = "\n";\n    break;\n  case 0x41:\n    uVar7 = func_0x00011320(*(undefined4 *)PTR_optarg_0001dffc);\n    if (0xffff < uVar7) {\n      pr2serr("bad argument to \'--atomic=\'. Expect 0 to 0xffff inclusive\n");\n      goto LAB_00011a7a;\n    }\n    uStack_7e4 = (undefined2)uVar7;\n    local_81d = 1;\n    local_794 = (stat64 *)0x17112;\n    psVar38 = local_7d0;\n    uVar16 = uStack_7c4;\n    uVar7 = local_7c0;\n    goto code_r0x000114e8;\n  case 0x42:\n    uVar24 = func_0x00011320(*(undefined4 *)PTR_optarg_0001dffc);\n    if (7 < uVar24) {\n      pr2serr("bad first argument to \'--bmop=\'\n");\n      goto LAB_00011a7a;\n    }\n    uStack_7e8 = (undefined1)uVar24;\n    uVar36 = 0x2c;\n    uVar41 = uVar24;\n    pcVar15 = strchr(*(char **)puVar5,0x2c);\n    psVar38 = local_7d0;\n    uVar16 = uStack_7c4;\n    uVar7 = local_7c0;\n    if (pcVar15 != (char *)0x0) {\n      uVar7 = func_0x00011320(pcVar15 + 1,uVar36,uVar24,uVar41);\n      if (0xf < uVar7) {\n        pr2serr("bad second argument to \'--bmop=\'\n");\n        goto LAB_00011a7a;\n      }\n      uStack_7e7 = (undefined1)uVar7;\n      psVar38 = local_7d0;\n      uVar16 = uStack_7c4;\n      uVar7 = local_7c0;\n    }\n    goto code_r0x000114e8;\n  case 0x44:\n    uStack_80c = func_0x00011320(*(undefined4 *)PTR_optarg_0001dffc);\n    psVar38 = local_7d0;\n    uVar16 = uStack_7c4;\n    uVar7 = local_7c0;\n    if (7 < uStack_80c) {\n      pr2serr("bad argument to \'--dld=\', expect 0 to 7 inclusive\n");\n      goto LAB_00011a7a;\n    }\n    goto code_r0x000114e8;\n  case 0x47:\n    uVar33 = sg_get_llnum(*(undefined4 *)PTR_optarg_0001dffc);\n    uVar36 = (undefined4)uVar33;\n    if ((int)((ulonglong)uVar33 >> 0x20) != 0) {\n      pr2serr("bad first argument to \'--generation=\'\n");\n      goto LAB_00011a7a;\n    }\n    uVar37 = 0x2c;\n    uVar40 = uVar36;\n    uStack_7c8 = uVar36;\n    pcVar15 = strchr(*(char **)puVar5,0x2c);\n    if (pcVar15 == (char *)0x0) {\n      pr2serr("need two arguments with --generation=EOG,NOG and they must be comma separated\n",\n              uVar37,uVar36,uVar40);\n      goto LAB_00011a7a;\n    }\n    uVar33 = sg_get_llnum(pcVar15 + 1);\n    psVar38 = local_7d0;\n    uVar16 = (int)uVar33;\n    uVar7 = local_7c0;\n    if ((int)((ulonglong)uVar33 >> 0x20) != 0) {\n      pr2serr("bad second argument to \'--generation=\'\n",uVar37,uVar36,uVar40);\n      goto LAB_00011a7a;\n    }\n    goto code_r0x000114e8;\n  case 0x49:\n    local_7f4 = func_0x00011320(*(undefined4 *)PTR_optarg_0001dffc);\n    psVar38 = local_7d0;\n    uVar16 = uStack_7c4;\n    uVar7 = local_7c0;\n    if (local_7f4 < 0) {\n      pr2serr("bad argument to \'--timeout=\'\n");\n      goto LAB_00011a7a;\n    }\n    goto code_r0x000114e8;\n  case 0x4d:\n    uVar7 = func_0x00011320(*(undefined4 *)PTR_optarg_0001dffc);\n    if (1 < uVar7) {\n      pr2serr("bad argument to \'--same\', expect 0 or 1\n");\n      goto LAB_00011a7a;\n    }\n    local_810 = (byte)uVar7 & 1;\n    local_818 = 1;\n    local_794 = (stat64 *)0x17159;\n    psVar38 = local_7d0;\n    uVar16 = uStack_7c4;\n    uVar7 = local_7c0;\n    goto code_r0x000114e8;\n  case 0x4e:\n    local_814 = 1;\n    local_794 = (stat64 *)0x17164;\n    goto code_r0x000114e8;\n  case 0x4f:\n    local_81b = 1;\n    local_794 = (stat64 *)0x1716a;\n    goto code_r0x000114e8;\n  case 0x51:\n    local_81a = '\x01';\n    goto code_r0x000114e8;\n  case 0x52:\n    local_819 = '\x01';\n    goto code_r0x000114e8;\n  case 0x53:\n    uVar7 = func_0x00011320(*(undefined4 *)PTR_optarg_0001dffc);\n    if (0xffff < uVar7) {\n      pr2serr("bad argument to \'--scattered=\'. Expect 0 to 0xffff inclusive\n");\n      goto LAB_00011a7a;\n    }\n    local_7e0 = (ushort)uVar7;\n    local_794 = (stat64 *)0x17172;\n    local_817 = 1;\n    psVar38 = local_7d0;\n    uVar16 = uStack_7c4;\n    uVar7 = local_7c0;\n    goto code_r0x000114e8;\n  case 0x54:\n    uVar7 = func_0x00011320(*(undefined4 *)PTR_optarg_0001dffc);\n    if (0xffff < uVar7) {\n      pr2serr("bad argument to \'--stream=\', expect 0 to 65535\n");\n      goto LAB_00011a7a;\n    }\n    uStack_7de = (undefined2)uVar7;\n    local_794 = (stat64 *)0x17182;\n    local_816 = 1;\n    psVar38 = local_7d0;\n    uVar16 = uStack_7c4;\n    uVar7 = local_7c0;\n    goto code_r0x000114e8;\n  case 0x56:\n    local_80e = '\x01';\n    goto code_r0x000114e8;\n  case 0x61:\n    uVar7 = func_0x00011320(*(undefined4 *)PTR_optarg_0001dffc);\n    if (0xffff < uVar7) {\n      pr2serr("bad argument to \'--app-tag=\'. Expect 0 to 0xffff inclusive\n");\n      goto LAB_00011a7a;\n    }\n    local_7e6 = (ushort)uVar7;\n    psVar38 = local_7d0;\n    uVar16 = uStack_7c4;\n    uVar7 = local_7c0;\n    goto code_r0x000114e8;\n  case 0x62:\n    psVar17 = (stat64 *)func_0x00011320(*(undefined4 *)PTR_optarg_0001dffc);\n    if ((stat64 *)0x10000000 < psVar17) {\n      pr2serr("bad argument to \'--bs=\'. Expect 0 or greater\n");\n      goto LAB_00011a7a;\n    }\n    if (psVar17 == (stat64 *)0x0) {\n      local_7d8 = (stat64 *)0x0;\n      local_7d4 = (stat64 *)0x0;\n      psVar38 = local_7d0;\n      uVar16 = uStack_7c4;\n      uVar7 = local_7c0;\n    }\n    else {\n      if ((int)psVar17 < 0x200) {\n        pr2serr("warning: --bs=BS value is < 512 which seems too small, continue\n");\n        bVar1 = 1;\n      }\n      if (((uint)psVar17 & 7) != 0) {\n        pr2serr("warning: --bs=BS value is not a multiple of 8, unexpected, continue\n");\n        bVar1 = 1;\n      }\n      iVar21 = 0;\n      iVar10 = 0;\n      psVar38 = psVar17;\n      do {\n        if (((uint)psVar38 & 1) != 0) {\n          iVar21 = iVar10;\n        }\n        iVar10 = iVar10 + 1;\n        psVar38 = (stat64 *)((int)psVar38 >> 1);\n      } while (iVar10 != 0x1c);\n      psVar22 = (stat64 *)(1 << ((byte)iVar21 & 0x1f));\n      local_7d8 = psVar17;\n      local_7d4 = psVar17;\n      psVar38 = local_7d0;\n      uVar16 = uStack_7c4;\n      uVar7 = local_7c0;\n      if (psVar17 != psVar22) {\n        local_7d8 = psVar22;\n      }\n    }\n    goto code_r0x000114e8;\n  case 99:\n    iVar21 = func_0x00011320(*(undefined4 *)PTR_optarg_0001dffc);\n    if (iVar21 < 0) {\n      pr2serr("bad argument to \'--combined=\'. Expect 0 to 0x7fffffff\n");\n      goto LAB_00011a7a;\n    }\n    local_7e2 = (ushort)iVar21;\n    local_81c = '\x01';\n    psVar38 = local_7d0;\n    uVar16 = uStack_7c4;\n    uVar7 = local_7c0;\n    goto code_r0x000114e8;\n  case 100:\n    uStack_812 = 1;\n    goto code_r0x000114e8;\n  case 0x66:\n    uStack_811 = 1;\n    goto code_r0x000114e8;\n  case 0x67:\n    uStack_804 = func_0x00011320(*(undefined4 *)PTR_optarg_0001dffc);\n    psVar38 = local_7d0;\n    uVar16 = uStack_7c4;\n    uVar7 = local_7c0;\n    if (0x3f < uStack_804) {\n      pr2serr("bad argument to \'--grpnum\'\n");\n      goto LAB_00011a7a;\n    }\n    goto code_r0x000114e8;\n  case 0x68:\n    local_800 = local_800 + 1;\n    goto code_r0x000114e8;\n  case 0x69:\n    local_79c = *(char **)PTR_optarg_0001dffc;\n    goto code_r0x000114e8;\n  case 0x6c:\n    if (local_91c != (stat64 *)0x0) {\n      pr2serr("only expect \'--lba=\' option once\n");\n      goto LAB_00011a7a;\n    }\n    local_91c = *(stat64 **)PTR_optarg_0001dffc;\n    goto code_r0x000114e8;\n  case 0x6e:\n    if (local_918 != (stat64 *)0x0) {\n      pr2serr("only expect \'--num=\' option once\n");\n      goto LAB_00011a7a;\n    }\n    local_918 = *(stat64 **)PTR_optarg_0001dffc;\n    goto code_r0x000114e8;\n  case 0x6f:\n    lVar34 = sg_get_llnum(*(undefined4 *)PTR_optarg_0001dffc);\n    psVar17 = (stat64 *)lVar34;\n    if (lVar34 == -1) {\n      pr2serr("bad first argument to \'--offset=\'\n");\n      goto LAB_00011a7a;\n    }\n    uVar36 = 0x2c;\n    psVar22 = psVar17;\n    local_7b4 = psVar17;\n    local_7b0 = (stat64 *)((ulonglong)lVar34 >> 0x20);\n    pcVar15 = strchr(*(char **)puVar5,0x2c);\n    psVar38 = local_7d0;\n    uVar16 = uStack_7c4;\n    uVar7 = local_7c0;\n    if (pcVar15 != (char *)0x0) {\n      lVar34 = sg_get_llnum(pcVar15 + 1,uVar36,psVar17,psVar22);\n      psVar38 = (stat64 *)lVar34;\n      uVar16 = uStack_7c4;\n      uVar7 = local_7c0;\n      if ((int)((ulonglong)lVar34 >> 0x20) == -1) {\n        if (psVar38 == (stat64 *)0xffffffff) {\n          pr2serr("bad second argument to \'--offset=\'\n");\n          goto LAB_00011a7a;\n        }\n      }\n      else if (0xffffffff < lVar34) {\n        pr2serr("bad second argument to \'--offset=\', cannot exceed 32 bits\n");\n        goto LAB_00011a7a;\n      }\n    }\n    goto code_r0x000114e8;\n  case 0x71:\n    local_798 = *(char **)PTR_optarg_0001dffc;\n    goto code_r0x000114e8;\n  case 0x72:\n    goto code_r0x000115f1;\n  case 0x73:\n    local_7f8 = local_7f8 + 1;\n    goto code_r0x000114e8;\n  case 0x74:\n    uVar7 = func_0x00011320(*(undefined4 *)PTR_optarg_0001dffc);\n    if (0xffff < uVar7) {\n      pr2serr("bad argument to \'--tag-mask=\'. Expect 0 to 0xffff inclusive\n");\n      goto LAB_00011a7a;\n    }\n    local_7dc = (ushort)uVar7;\n    psVar38 = local_7d0;\n    uVar16 = uStack_7c4;\n    uVar7 = local_7c0;\n    goto code_r0x000114e8;\n  case 0x75:\n    uVar7 = func_0x00011320(*(undefined4 *)puVar20);\n    if (3 < uVar7) {\n      pr2serr("bad argument to \'--unmap=\', expect 0 to 3\n");\n      goto LAB_00011a7a;\n    }\n    bStack_81e = (byte)(uVar7 >> 1) & 1;\n    bStack_815 = (byte)uVar7 & 1;\n    psVar38 = local_7d0;\n    uVar16 = uStack_7c4;\n    uVar7 = local_7c0;\n    goto code_r0x000114e8;\n  case 0x76:\n    local_80f = '\x01';\n    local_7f0 = (stat64 *)((int)&local_7f0->st_dev + 1);\n    goto code_r0x000114e8;\n  case 0x77:\n    local_7ec = (stat64 *)func_0x00011320(*(undefined4 *)puVar20);\n    if ((stat64 *)0x7 < local_7ec) {\n      pr2serr("bad argument to \'--wrprotect\'\n");\n      goto LAB_00011a7a;\n    }\n    local_813 = 0 < (int)local_7ec;\n    psVar38 = local_7d0;\n    uVar16 = uStack_7c4;\n    uVar7 = local_7c0;\n    goto code_r0x000114e8;\n  case 0x78:\n    iStack_808 = iStack_808 + 1;\n    goto code_r0x000114e8;\n  }\n  pr2serr(pcVar15);\n  FUN_000149b0();\n  goto LAB_00011a7a;\nLAB_00011c60:\n  while (*(int *)puVar4 < iVar14) {\n    pr2serr("Unexpected extra argument: %s\n",*(undefined4 *)(iVar28 + *(int *)puVar4 * 4),iVar10,\n            iVar10);\n    *(int *)puVar4 = *(int *)puVar4 + 1;\n    iVar10 = extraout_EDX;\n  }\n  FUN_000149b0();\n  local_908 = (stat64 *)0x1;\n  goto LAB_00011a84;\n  while( true ) {\n    iVar14 = iVar14 + -1;\n    cVar6 = *pcVar15;\n    pcVar15 = pcVar15 + (uint)bVar32 * -2 + 1;\n    if (cVar6 == '\0') break;\ncode_r0x00011d5c:\n    if (iVar14 == 0) break;\n  }\n  if ((iVar14 == -3) && (*local_798 == '-')) {\n    pr2serr("don\'t accept \'-\' (implying stdin) as a filename in --scat-file=SF\n");\n    local_908 = (stat64 *)0x1f;\n    goto LAB_00011a84;\n  }\nLAB_00011d67:\n  if (((psVar38 != (stat64 *)0x0) && (local_820 != '\0')) &&\n     ((local_7c0 != 0xffffffff || ((local_7e6 & local_7dc) != 0xffff)))) {\n    pr2serr("--app-tag=, --ref-tag= and --tag-mask= options ignored with 16 byte commands\n");\n  }\n  psVar45 = local_7d0;\n  psVar9 = (stat64 *)(uint)local_810;\n  if (local_810 == 0) {\n    local_93c = local_7d0;\n    cVar2 = '\0';\n    if (local_79c == (char *)0x0) {\n      pr2serr("Need --if=FN option to be given, exiting.\n");\n      if (1 < (int)psVar38) {\n        pr2serr("To write zeros use --in=/dev/zero\n");\n      }\n      pr2serr("\n");\n      FUN_000149b0();\n      local_908 = (stat64 *)0x1;\n      goto LAB_00011a84;\n    }\n    iVar14 = -1;\n    pcVar15 = local_79c;\n    do {\n      if (iVar14 == 0) break;\n      iVar14 = iVar14 + -1;\n      cVar6 = *pcVar15;\n      pcVar15 = pcVar15 + (uint)bVar32 * -2 + 1;\n    } while (cVar6 != '\0');\n    if ((iVar14 != -3) || (*local_79c != '-')) {\n      local_924 = (stat64 *)open64(local_79c,0,iVar14,iVar14);\n      if ((int)local_924 < 0) {\n        piVar19 = __errno_location();\n        iVar14 = *piVar19;\n        pcVar15 = "could not open %s for reading";\n      }\n      else {\n        psVar17 = (stat64 *)sg_set_binary_mode(local_924);\n        if ((int)psVar17 < 0) goto LAB_00011dea;\n        psVar22 = local_924;\n        psVar8 = local_930;\n        iVar14 = __fxstat64(3,(int)local_924,local_930);\n        if (-1 < iVar14) {\n          if ((local_8e0._16_4_ & 0xf000) == 0x8000) {\n            local_93c = (stat64 *)local_8e0._44_4_;\n            if (psVar45 != (stat64 *)0x0) {\n              local_93c = psVar45;\n            }\n            if ((local_8b0 != 0 || (stat64 *)local_8e0._44_4_ != (stat64 *)0x0) &&\n               (psVar25 = (stat64 *)((int)&((stat64 *)(local_8e0._44_4_ + -0x60))->st_ino + 7),\n               iVar28 = local_8b0 + -1 + (uint)((stat64 *)local_8e0._44_4_ != (stat64 *)0x0),\n               iVar14 = (int)local_7b0 - iVar28,\n               (SBORROW4((int)local_7b0,iVar28) != SBORROW4(iVar14,(uint)(local_7b4 < psVar25))) ==\n               (int)(iVar14 - (uint)(local_7b4 < psVar25)) < 0)) {\n              pr2serr("Offset (%llu) is at or beyond IF byte length (%llu)\n",local_7b4,local_7b0,\n                      local_8e0._44_4_,local_8b0,psVar22,psVar8,psVar17);\n              local_908 = (stat64 *)0xf;\n              goto LAB_00012527;\n            }\n            psVar9 = local_7b4;\n            psVar45 = (stat64 *)local_8e0._44_4_;\n            iVar14 = local_8b0;\n            if (local_7b0 != (stat64 *)0x0 || local_7b4 != (stat64 *)0x0) {\n              psVar17 = (stat64 *)0x0;\n              psVar22 = local_7b4;\n              psVar8 = local_7b0;\n              _Var35 = lseek64((int)local_924,CONCAT44(local_7b0,local_7b4),0);\n              psVar25 = local_7b4;\n              if (_Var35 < 0) {\n                piVar19 = __errno_location();\n                psVar25 = (stat64 *)(local_174 + 0x50);\n                iVar14 = *piVar19;\n                __snprintf_chk(psVar25,0x100,1,0x100,"couldn\'t offset to required position on %s",\n                               local_79c,piVar19,piVar19);\n                perror((char *)psVar25);\n                local_908 = (stat64 *)sg_convert_errno(iVar14);\n                goto LAB_00012527;\n              }\n              psVar9 = (stat64 *)((int)psVar45 - (int)local_7b4);\n              iVar14 = (local_8b0 - (int)local_7b0) - (uint)(psVar45 < local_7b4);\n              local_930 = psVar45;\n              if ((int)(uint)(psVar9 != (stat64 *)0x0) <= -iVar14) {\n                pr2serr("--offset [0x%llx] at or beyond file length[0x%llx]\n",local_7b4,local_7b0,\n                        psVar45,local_8b0);\n                local_908 = (stat64 *)0xf;\n                goto LAB_00012527;\n              }\n              if ((local_7f8 != 0) &&\n                 (local_930 = local_7d0, iVar14 < (int)(uint)(psVar9 < local_7d0))) {\n                pr2serr("after accounting for OFF, DLEN exceeds %s remaining length (%u bytes)\n",\n                        local_79c,psVar9,psVar9);\n                local_908 = (stat64 *)0xf;\n                psVar25 = psVar9;\n                goto LAB_00012527;\n              }\n              if (iVar14 < (int)(uint)(psVar9 < local_93c)) {\n                local_93c = psVar9;\n              }\n              psVar45 = psVar9;\n              if (2 < (int)psVar38) {\n                psVar22 = local_7b4;\n                psVar8 = local_93c;\n                psVar17 = psVar9;\n                psVar9 = (stat64 *)\n                         pr2serr("Moved IF byte pointer to %u, if_len=%u, if_readable_len=%u\n",\n                                 local_7b4,local_93c,psVar9);\n              }\n            }\n            goto LAB_00011fa8;\n          }\n          goto LAB_00011e6c;\n        }\n        piVar19 = __errno_location();\n        iVar14 = *piVar19;\n        pcVar15 = "could not fstat %s";\n      }\n      __snprintf_chk(local_174 + 0x50,0x100,1,0x100,pcVar15,local_79c,piVar19,piVar19);\n      perror(local_174 + 0x50);\n      local_908 = (stat64 *)sg_convert_errno(iVar14);\n      goto LAB_00011a84;\n    }\n    iVar14 = sg_set_binary_mode(0);\n    cVar2 = '\x01';\n    local_924 = (stat64 *)0x0;\n    if (iVar14 < 0) {\nLAB_00011dea:\n      perror("sg_set_binary_mode");\n      local_908 = (stat64 *)0xf;\n      goto LAB_00011a84;\n    }\nLAB_00011e6c:\n    if (((stat64 *)((uint)local_7b0 | (uint)local_7b4) == (stat64 *)0x0) ||\n       (psVar38 == (stat64 *)0x0)) {\n      psVar9 = (stat64 *)((uint)local_7b0 | (uint)local_7b4);\n      psVar45 = (stat64 *)0x0;\n      iVar14 = 0;\n    }\n    else {\n      psVar9 = (stat64 *)\n               pr2serr(\n                      "--offset=OFF ignored when IF is stdin, pipe, socket, etc\nDLEN, if given, is used\n"\n                      );\n      psVar45 = (stat64 *)0x0;\n      iVar14 = 0;\n    }\n  }\n  else {\n    local_924 = (stat64 *)0xffffffff;\n    cVar2 = '\0';\n    psVar45 = (stat64 *)0x0;\n    iVar14 = 0;\n    local_93c = (stat64 *)0x0;\n  }\nLAB_00011fa8:\n  if (local_7a0 == (stat64 *)0x0) {\n    pr2serr("missing device name!\n",psVar22,psVar8,psVar17);\n    FUN_000149b0();\n    local_908 = (stat64 *)0x1;\n    psVar25 = (stat64 *)0x0;\nLAB_00012527:\n    if (local_8f0 == (void *)0x0) goto LAB_000123a1;\n    free(local_8f0);\n    goto LAB_000123a1;\n  }\n  pcVar15 = (char *)0x0;\n  psVar17 = psVar38;\n  uVar33 = sg_cmds_open_device(local_7a0,0,psVar38,psVar9);\n  psVar25 = local_7d8;\n  psVar22 = (stat64 *)((ulonglong)uVar33 >> 0x20);\n  local_930 = (stat64 *)uVar33;\n  if ((int)local_930 < 0) {\n    psVar25 = (stat64 *)-(int)local_930;\n    if (local_7f0 != (stat64 *)0x0) {\n      uVar16 = safe_strerror(psVar25);\n      pr2serr("open error: %s: %s\n",local_7a0,uVar16);\n    }\n    local_908 = (stat64 *)sg_convert_errno(psVar25);\n    goto LAB_00012527;\n  }\n  psVar8 = local_7d4;\n  psVar11 = local_7d4;\n  if (local_7d8 == (stat64 *)0x0) {\n    psVar17 = (stat64 *)0x0;\n    if (local_7f0 != (stat64 *)0x0) {\n      psVar17 = (stat64 *)((int)&local_7f0[-1].st_ino + 7);\n    }\n    psVar22 = (stat64 *)local_174;\n    psVar11 = (stat64 *)0x1;\n    pcVar15 = (char *)0x20;\n    psVar9 = psVar17;\n    psVar8 = local_7f0;\n    uVar33 = sg_ll_readcap_16(local_930,0,0,0,psVar22,0x20,1,psVar17,psVar22,local_7f0,psVar45,\n                              iVar14);\n    if ((int)uVar33 == 6) {\n      pr2serr("Read capacity(16) unit attention, try again\n");\n      uVar33 = sg_ll_readcap_16(local_930,0,0,0,psVar22,0x20,1,psVar17);\n    }\n    psVar23 = (stat64 *)((ulonglong)uVar33 >> 0x20);\n    local_908 = (stat64 *)uVar33;\n    if (local_908 == (stat64 *)0x0) {\n      psVar17 = psVar11;\n      if (3 < (int)psVar8) {\n        pr2serr("Read capacity(16) response:\n");\n        psVar17 = (stat64 *)0x1;\n        pcVar15 = (char *)0x20;\n        hex2stderr(psVar22,0x20,1);\n      }\n      bVar1 = local_174[0xc];\n      psVar11 = (stat64 *)\n                ((uint)local_174._8_4_ >> 0x18 | (local_174._8_4_ & 0xff0000) >> 8 |\n                 (local_174._8_4_ & 0xff00) << 8 | local_174._8_4_ << 0x18);\n      uVar7 = (uint)local_174._4_4_ >> 0x18 | (local_174._4_4_ & 0xff0000) >> 8 |\n              (local_174._4_4_ & 0xff00) << 8 | local_174._4_4_ << 0x18;\n      local_7ac = uVar7 + 1;\n      local_7a8 = ((uint)local_174._0_4_ >> 0x18 | (local_174._0_4_ & 0xff0000) >> 8 |\n                   (local_174._0_4_ & 0xff00) << 8 | local_174._0_4_ << 0x18) +\n                  (uint)(0xfffffffe < uVar7);\n      psVar22 = (stat64 *)(uint)local_174[0xc];\n      local_7d8 = psVar11;\n      if ((local_174[0xc] & 1) == 0) {\n        local_7fc = 0;\n        if ((int)local_7ec < 1) goto LAB_00012305;\n        if (psVar8 != (stat64 *)0x0) {\n          pcVar15 = (char *)local_7ec;\n          psVar22 = local_7a0;\n          pr2serr("--wrprotect (%d) expects PI but %s says it has none\n",local_7ec,local_7a0,\n                  psVar11);\n          if (local_7f8 != 0) goto LAB_00012ef5;\n          pcVar13 = "  ... continue but could be dangerous\n";\n          psVar25 = (stat64 *)0x0;\n          psVar9 = psVar11;\n          goto LAB_00013516;\n        }\n        if (local_7f8 != 0) goto LAB_00012ef5;\n      }\n      else {\n        local_7fc = (local_174[0xc] >> 1 & 7) + 1;\n        psVar25 = (stat64 *)(8 << (local_174[0xd] >> 4));\n        psVar22 = (stat64 *)(uint)(local_174[0xd] >> 4);\n        if (((int)local_7ec < 1) ||\n           (local_7d4 = (stat64 *)((int)&psVar25->st_dev + (int)&psVar11->st_dev), (int)psVar8 < 2))\n        {\nLAB_00012305:\n          if (psVar8 == (stat64 *)0x0) goto LAB_00012312;\n        }\n        else {\n          pcVar13 = \n          "  For data out buffer purposes the effective block size is %u (lb size\n  is %u) because PROT_EN=1, PI_EXP=%u and WRPROTECT>0\n"\n          ;\n          pcVar15 = (char *)psVar11;\n          psVar9 = local_7d4;\nLAB_00013516:\n          pr2serr(pcVar13,pcVar15,psVar22,psVar9);\n          psVar17 = psVar22;\n        }\n        pr2serr("Read capacity(16) response fields:\n",pcVar15,psVar17,psVar9);\n        psVar25 = (stat64 *)((int)&local_7d8->st_dev + (int)&psVar25->st_dev);\n        psVar9 = extraout_ECX_06;\n        pr2serr("  Last_LBA=0x%llx  LB size: %u (with PI: %u) bytes  p_type=%u\n",local_7ac + -1,\n                local_7a8 + -1 + (uint)(local_7ac != 0),local_7d8,psVar25,local_174[0xc] >> 1 & 7,\n                extraout_ECX_06,extraout_ECX_06);\n        pr2serr("  prot_en=%u [PI type=%u] p_i_exp=%u  lbppb_exp=%u  lbpme,rz=%u,",bVar1 & 1,\n                local_7fc,local_174[0xd] >> 4,local_174[0xd] & 0xf,\n                (uint)(int)(char)local_174[0xe] >> 0x1f);\n        psVar17 = (stat64 *)\n                  ((ushort)(local_174._14_2_ << 8 | (ushort)local_174._14_2_ >> 8) & 0x3fff);\n        pcVar15 = (char *)(local_174[0xe] >> 6 & 1);\n        pr2serr("%u  low_ali_lba=%u\n",pcVar15,psVar17);\n        psVar22 = extraout_EDX_04;\n      }\n    }\n    else {\n      if (((int)local_908 - 5U & 0xfffffffb) != 0) {\n        if (psVar8 != (stat64 *)0x0) {\n          puVar43 = local_174 + 0x50;\n          psVar25 = (stat64 *)"OS error";\n          puVar29 = puVar43;\n          for (iVar14 = 9; iVar14 != 0; iVar14 = iVar14 + -1) {\n            *puVar29 = (char)psVar25->st_dev;\n            psVar25 = (stat64 *)((int)psVar25 + (uint)bVar32 * -2 + 1);\n            puVar29 = puVar29 + (uint)bVar32 * -2 + 1;\n          }\n          psVar18 = local_908;\n          if (0 < (int)local_908) {\n            psVar18 = (stat64 *)sg_get_category_sense_str(local_908,0x50,puVar43,psVar8);\n          }\n          pr2serr("Read capacity(16): %s\n",puVar43,psVar18,psVar18);\n          pr2serr("Unable to calculate block size\n");\n        }\n        if (0 < (int)local_908) goto LAB_00012354;\n        goto LAB_00012ef5;\n      }\n      if (psVar8 == (stat64 *)0x0) {\n        pcVar15 = (char *)0x1;\n        uVar33 = sg_ll_readcap_10(local_930,0,0,psVar22,8,1,psVar17,psVar23);\n        psVar22 = (stat64 *)((ulonglong)uVar33 >> 0x20);\n        local_908 = (stat64 *)uVar33;\n        psVar9 = psVar23;\n        if (local_908 != (stat64 *)0x0) {\nLAB_00013444:\n          puVar43 = local_174 + 0x50;\n          psVar25 = (stat64 *)"OS error";\n          puVar29 = puVar43;\n          for (iVar14 = 9; iVar14 != 0; iVar14 = iVar14 + -1) {\n            *puVar29 = (char)psVar25->st_dev;\n            psVar25 = (stat64 *)((int)psVar25 + (uint)bVar32 * -2 + 1);\n            puVar29 = puVar29 + (uint)bVar32 * -2 + 1;\n          }\n          if (0 < (int)local_908) {\n            sg_get_category_sense_str(local_908,0x50,puVar43,psVar8);\n            pr2serr("Read capacity(10): %s\n",puVar43);\n            pr2serr("Unable to calculate block size\n");\n            goto LAB_00012354;\n          }\n          __snprintf_chk(puVar43,0x50,1,0x50,"error: %d",local_908,local_908,local_908);\n          pr2serr("Read capacity(10): %s\n",puVar43);\n          pr2serr("Unable to calculate block size\n");\n          local_908 = (stat64 *)0xf;\n          goto LAB_00012354;\n        }\n      }\n      else {\n        psVar25 = psVar22;\n        pr2serr("Read capacity(16) not supported, try Read capacity(10)\n");\n        pcVar15 = (char *)0x1;\n        uVar33 = sg_ll_readcap_10(local_930,0,0,psVar25,8,1,psVar17);\n        psVar22 = (stat64 *)((ulonglong)uVar33 >> 0x20);\n        local_908 = (stat64 *)uVar33;\n        if (local_908 != (stat64 *)0x0) goto LAB_00013444;\n        if (3 < (int)psVar8) {\n          pr2serr("Read capacity(10) response:\n");\n          psVar17 = (stat64 *)0x1;\n          pcVar15 = (char *)0x8;\n          hex2stderr(psVar25,8,1);\n          psVar22 = extraout_EDX_03;\n        }\n      }\n      local_7a8 = 0;\n      local_7ac = ((uint)local_174._0_4_ >> 0x18 | (local_174._0_4_ & 0xff0000) >> 8 |\n                   (local_174._0_4_ & 0xff00) << 8 | local_174._0_4_ << 0x18) + 1;\n      local_7d8 = (stat64 *)\n                  ((uint)local_174._4_4_ >> 0x18 | (local_174._4_4_ & 0xff0000) >> 8 |\n                   (local_174._4_4_ & 0xff00) << 8 | local_174._4_4_ << 0x18);\n    }\nLAB_00012312:\n    local_7d4 = local_7d8;\n    if (local_813 != '\0') {\n      local_7d4 = (stat64 *)&local_7d8->__pad1;\n    }\n    psVar8 = local_7d4;\n    psVar11 = local_7d8;\n    if (local_7d4 == (stat64 *)0x0) goto LAB_00012338;\n  }\n  local_7d4 = psVar8;\n  if (psVar11 == (stat64 *)0x0) {\nLAB_00012338:\n    pr2serr("Logic error, need block size by now\n",pcVar15,psVar17);\n    local_908 = (stat64 *)0x1;\n    goto LAB_00012354;\n  }\n  if ((local_810 == 0) &&\n     (psVar22 = (stat64 *)((uint)local_93c % (uint)psVar8), psVar22 != (stat64 *)0x0)) {\n    if (1 < (int)local_7f8) {\n      pr2serr("Error: number of bytes to read from IF [%u] is not a multiple\nblock size %u (including protection information)\n"\n              ,local_93c,psVar8,local_7f8);\n      local_908 = (stat64 *)0xf;\n      goto LAB_00012354;\n    }\n    psVar11 = (stat64 *)(local_7f8 | (uint)psVar38);\n    if (psVar11 != (stat64 *)0x0) {\n      pcVar15 = (char *)local_93c;\n      pr2serr("Warning: number of bytes to read from IF [%u] is not a multiple\nof actual block size %u; pad with zeros\n"\n              ,local_93c,psVar8,psVar11);\n      psVar22 = extraout_EDX_02;\n      psVar17 = psVar8;\n      psVar9 = psVar11;\n    }\n  }\n  puVar42 = &local_578;\n  puVar26 = puVar42;\n  for (iVar14 = 0x100; iVar14 != 0; iVar14 = iVar14 + -1) {\n    *puVar26 = 0;\n    puVar26 = puVar26 + (uint)bVar32 * -2 + 1;\n  }\n  ppsVar44 = local_778;\n  ppsVar27 = ppsVar44;\n  for (iVar14 = 0x80; iVar14 != 0; iVar14 = iVar14 + -1) {\n    *ppsVar27 = (stat64 *)0x0;\n    ppsVar27 = ppsVar27 + (uint)bVar32 * -2 + 1;\n  }\n  if (bVar31) {\n    uVar7 = 0xffffffff;\n    psVar22 = local_91c;\n    do {\n      if (uVar7 == 0) break;\n      uVar7 = uVar7 - 1;\n      p_Var3 = &psVar22->st_dev;\n      psVar22 = (stat64 *)((int)psVar22 + (uint)bVar32 * -2 + 1);\n    } while ((char)*p_Var3 != '\0');\n    psVar25 = (stat64 *)(~uVar7 - 1);\n    if ((char)local_91c->st_dev == '-') {\n      pr2serr("\'--lba\' cannot be read from stdin\n",pcVar15,psVar17,psVar9);\n      goto LAB_00012130;\n    }\n    pcVar15 = "0123456789aAbBcCdDeEfFhHxXiIkKmMgGtTpP, ";\n    psVar17 = local_91c;\n    psVar9 = local_91c;\n    psVar8 = (stat64 *)strspn((char *)local_91c,"0123456789aAbBcCdDeEfFhHxXiIkKmMgGtTpP, ");\n    psVar22 = psVar25;\n    if (psVar25 == psVar8) {\n      psVar22 = (stat64 *)0x0;\n      psVar25 = local_91c;\n      while( true ) {\n        lVar34 = sg_get_llnum(psVar25,pcVar15,psVar17,psVar9);\n        psVar17 = (stat64 *)lVar34;\n        if (lVar34 == -1) break;\n        puVar42[(int)psVar22 * 2] = (uint)psVar17;\n        puVar42[(int)psVar22 * 2 + 1] = (uint)((ulonglong)lVar34 >> 0x20);\n        psVar9 = psVar17;\n        pcVar12 = strchr((char *)psVar25,0x2c);\n        pcVar15 = (char *)0x20;\n        pcVar13 = strchr((char *)psVar25,0x20);\n        if (pcVar12 == (char *)0x0) {\n          if (pcVar13 == (char *)0x0) {\n            local_91c = (stat64 *)((int)&psVar22->st_dev + 1);\n            if (local_93f != '\0') goto LAB_000126fa;\n            psVar22 = (stat64 *)0x0;\n            psVar17 = extraout_ECX;\n            if (local_91c != (stat64 *)0x1) goto LAB_00012a73;\n            goto LAB_00012820;\n          }\n        }\n        else if ((pcVar13 == (char *)0x0) || (pcVar12 <= pcVar13)) {\n          pcVar13 = pcVar12;\n        }\n        psVar22 = (stat64 *)((int)&psVar22->st_dev + 1);\n        psVar25 = (stat64 *)(pcVar13 + 1);\n        if (psVar22 == (stat64 *)0x80) goto LAB_00013b9f;\n      }\n      psVar8 = (stat64 *)((int)psVar25 - (int)local_91c);\n    }\n    pr2serr("build_lba_arr: error at pos %d\n",(undefined *)((int)&psVar8->st_dev + 1),psVar22,\n            psVar22);\n    goto LAB_00012130;\n  }\n  local_91c = (stat64 *)0x0;\n  if (bVar30) {\nLAB_000126fa:\n    psVar8 = (stat64 *)0xffffffff;\n    psVar22 = local_918;\n    do {\n      if (psVar8 == (stat64 *)0x0) break;\n      psVar8 = (stat64 *)((int)&psVar8[-1].st_ino + 7);\n      p_Var3 = &psVar22->st_dev;\n      psVar22 = (stat64 *)((int)psVar22 + (uint)bVar32 * -2 + 1);\n    } while ((char)*p_Var3 != '\0');\n    psVar25 = (stat64 *)(~(uint)psVar8 - 1);\n    if ((char)local_918->st_dev == '-') {\n      pr2serr("\'--len\' cannot be read from stdin\n");\n    }\n    else {\n      pcVar15 = "0123456789aAbBcCdDeEfFhHxXiIkKmMgGtTpP, ";\n      psVar17 = psVar8;\n      psVar22 = (stat64 *)strspn((char *)local_918,"0123456789aAbBcCdDeEfFhHxXiIkKmMgGtTpP, ");\n      psVar9 = extraout_EDX_00;\n      if (psVar25 == psVar22) {\n        psVar9 = (stat64 *)0x0;\n        psVar25 = local_918;\n        do {\n          lVar34 = sg_get_llnum(psVar25,pcVar15,psVar8,psVar17);\n          psVar8 = (stat64 *)lVar34;\n          if ((int)((ulonglong)lVar34 >> 0x20) == -1) {\n            if (psVar8 == (stat64 *)0xffffffff) {\n              psVar22 = (stat64 *)((int)psVar25 - (int)local_918);\n              goto LAB_000127bf;\n            }\n          }\n          else if (0xffffffff < lVar34) {\n            psVar17 = (stat64 *)((int)psVar25 + (1 - (int)local_918));\n            pcVar15 = "build_num_arr";\n            pr2serr("%s: number exceeds 32 bits at pos %d\n","build_num_arr",psVar17,psVar9);\n            goto LAB_000127d9;\n          }\n          ppsVar44[(int)psVar9] = psVar8;\n          psVar17 = psVar8;\n          pcVar12 = strchr((char *)psVar25,0x2c);\n          pcVar15 = (char *)0x20;\n          pcVar13 = strchr((char *)psVar25,0x20);\n          if (pcVar12 == (char *)0x0) {\n            if (pcVar13 == (char *)0x0) {\n              puVar20 = (undefined *)((int)&psVar9->st_dev + 1);\n              psVar22 = (stat64 *)0x0;\n              psVar17 = extraout_ECX_00;\n              if ((undefined *)0x1 < local_91c) {\n                if ((stat64 *)puVar20 == local_91c) goto LAB_00012820;\n                goto LAB_00012a73;\n              }\n              if (local_91c == (stat64 *)0x0) {\n                if (puVar20 != (undefined *)0x1) {\nLAB_00012a73:\n                  pr2serr("need same number of arguments to \'--lba=\' and \'--num=\' options\n");\n                  local_908 = (stat64 *)0x1f;\n                  goto LAB_00012354;\n                }\n                local_91c = (stat64 *)(undefined *)0x1;\n                if (local_778[0] != (stat64 *)0x0) {\n                  pr2serr("won\'t write %u blocks without an explicit --lba= option\n",local_778[0],\n                          extraout_ECX_00,extraout_ECX_00);\n                  local_908 = (stat64 *)0x1;\n                  goto LAB_00012354;\n                }\n              }\n              else {\n                local_91c = (stat64 *)(undefined *)0x1;\n              }\n              goto LAB_00012820;\n            }\n          }\n          else if ((pcVar13 == (char *)0x0) || (pcVar12 <= pcVar13)) {\n            pcVar13 = pcVar12;\n          }\n          psVar9 = (stat64 *)((int)&psVar9->st_dev + 1);\n          psVar25 = (stat64 *)(pcVar13 + 1);\n        } while (psVar9 != (stat64 *)0x80);\n        pcVar15 = "build_num_arr";\n        psVar17 = extraout_ECX_00;\n        psVar9 = extraout_ECX_00;\n        pr2serr("%s: array length exceeded\n","build_num_arr",extraout_ECX_00,extraout_ECX_00);\n      }\n      else {\nLAB_000127bf:\n        psVar17 = (stat64 *)((int)&psVar22->st_dev + 1);\n        pcVar15 = "build_num_arr";\n        pr2serr("%s: error at pos %d\n","build_num_arr",psVar17,psVar9);\n      }\n    }\nLAB_000127d9:\n    pr2serr("bad argument to \'--num\'\n",pcVar15,psVar17,psVar9);\n    local_908 = (stat64 *)0x0;\n    goto LAB_00012354;\n  }\n  psVar17 = (stat64 *)0x0;\n  local_91c = (stat64 *)(undefined *)0x0;\nLAB_00012820:\n  if (local_798 == (char *)0x0) {\nLAB_00012ce5:\n    local_908 = (stat64 *)0x0;\n    local_880._44_4_ = psVar25;\n  }\n  else {\n    pcVar15 = local_798;\n    iVar14 = __xstat64(3,local_798,psVar18);\n    if (iVar14 < 0) {\n      piVar19 = __errno_location();\n      psVar25 = (stat64 *)*piVar19;\n      uVar16 = safe_strerror(psVar25);\n      pcVar15 = "Unable to stat(%s) as SF: %s\n";\nLAB_000136f9:\n      pr2serr(pcVar15,local_798,uVar16);\n      local_908 = (stat64 *)sg_convert_errno(psVar25);\n      goto LAB_00012354;\n    }\n    if (local_819 == '\0') {\n      iVar14 = 0;\n      if (local_7e0 != 0) {\n        iVar14 = (local_7e0 + 1) * 0x20;\n      }\n      local_908 = (stat64 *)FUN_000156d0(0,&local_8f8,&local_8f4,iVar14);\n      if (local_908 != (stat64 *)0x0) goto LAB_00012354;\n      psVar17 = extraout_ECX_04;\n      if ((local_7e0 != 0) && (local_7e0 != local_8f8)) {\n        if (local_8f8 < local_7e0) {\n          pr2serr("RD (%u) %s number of %ss (%u) found in SF\n",local_7e0,&DAT_000170dd,\n                  "LBA range descriptor",local_8f8);\n          local_908 = (stat64 *)0xf;\n          goto LAB_00012354;\n        }\n        psVar25 = (stat64 *)((uint)psVar38 | local_7f8);\n        if ((psVar25 != (stat64 *)0x0) &&\n           (pr2serr("RD (%u) %s number of %ss (%u) found in SF\n",local_7e0,&DAT_00017110,\n                    "LBA range descriptor",local_8f8), psVar17 = extraout_ECX_01, local_7f8 != 0))\n        goto LAB_00012ef5;\n      }\n      goto LAB_00012ce5;\n    }\n    if ((local_880._16_4_ & 0xf000) != 0x8000) {\n      pr2serr("Expect scatter file to be a regular file\n",pcVar15,psVar18,psVar22);\n      local_908 = (stat64 *)0xf;\n      goto LAB_00012354;\n    }\n    local_908 = (stat64 *)local_880._44_4_;\n    local_920 = (stat64 *)open64(local_798,0,0x8000,0x8000);\n    if ((int)local_920 < 0) {\n      piVar19 = __errno_location();\n      psVar25 = (stat64 *)*piVar19;\n      uVar16 = safe_strerror(psVar25);\n      pcVar15 = "Failed to open %s for raw read: %s\n";\n      goto LAB_000136f9;\n    }\n    iVar14 = sg_set_binary_mode(local_920);\n    psVar17 = extraout_ECX_05;\n    if (iVar14 < 0) {\n      perror("sg_set_binary_mode");\n      local_908 = (stat64 *)0xf;\n      psVar25 = (stat64 *)local_880._44_4_;\n      goto LAB_00012354;\n    }\n  }\n  psVar18 = local_7f0;\n  psVar25 = local_8f4;\n  if (local_817 == 0) {\n    if (local_91c == (stat64 *)0x0) {\n      psVar25 = (stat64 *)local_880._44_4_;\n      if (local_798 == (char *)0x0) {\n        if (local_819 == '\0') {\n          pr2serr("No LBA or number_of_blocks given, try using --lba= and --num=\n");\n          local_908 = (stat64 *)0x1;\n          goto LAB_00012354;\n        }\n      }\n      else if (local_819 == '\0') {\n        local_8f4 = (stat64 *)0x0;\n        uVar33 = FUN_000156d0(local_174 + 0x50,&local_8f8,&local_8f4,0x60);\n        uVar16 = (undefined4)((ulonglong)uVar33 >> 0x20);\n        local_908 = (stat64 *)uVar33;\n        if (local_908 != (stat64 *)0x0) goto LAB_00012354;\n        if (psVar38 != (stat64 *)0x0) {\n          uVar7 = (uint)local_8f8;\n          if (1 < local_8f8) {\n            uVar7 = pr2serr("warning: %d LBA,number_of_blocks pairs found, only taking first\n",\n                            uVar7,uVar16,uVar16);\n          }\n          if (2 < (int)psVar38) {\n            pr2serr("after build_t10_scat, num_lbard=%u, sum_num=%u\n",local_8f8,local_8f4,uVar7);\n          }\n        }\n        if (local_8f8 != 1) {\n          pr2serr("Unable to decode one LBA range descriptor from %s\n",local_798,0,0);\n          local_908 = (stat64 *)0xf;\n          goto LAB_00012354;\n        }\n        local_7b8 = local_104 >> 0x18 | (local_104 & 0xff0000) >> 8 | (local_104 & 0xff00) << 8 |\n                    local_104 << 0x18;\n        local_7bc = local_100 >> 0x18 | (local_100 & 0xff0000) >> 8 | (local_100 & 0xff00) << 8 |\n                    local_100 << 0x18;\n        local_7cc = (stat64 *)\n                    (local_fc >> 0x18 | (local_fc & 0xff0000) >> 8 | (local_fc & 0xff00) << 8 |\n                    local_fc << 0x18);\n        if (local_81f != '\0') {\n          local_7c0 = local_f8 >> 0x18 | (local_f8 & 0xff0000) >> 8 | (local_f8 & 0xff00) << 8 |\n                      local_f8 << 0x18;\n          local_7e6 = local_f4 << 8 | local_f4 >> 8;\n          local_7dc = local_f2 << 8 | local_f2 >> 8;\n        }\n        goto LAB_00012d48;\n      }\n      if (local_908 < (stat64 *)0x40) {\n        pr2serr("raw scatter file must be at least 64 bytes long (length: %u)\n",local_908,\n                local_880._44_4_,local_880._44_4_);\nLAB_00012ef5:\n        local_908 = (stat64 *)0xf;\n        goto LAB_00012354;\n      }\n      psVar25 = (stat64 *)(local_174 + 0x50);\n      local_908 = (stat64 *)FUN_00014a80(&DAT_00017365);\n      if (local_908 != (stat64 *)0x0) goto LAB_00012354;\n      cVar6 = FUN_000146a0(&local_8f8,&local_8f4,extraout_ECX_03,extraout_ECX_03);\n      if (cVar6 == '\0') goto LAB_00012ef5;\n      if (local_8f8 != 1) {\n        pr2serr("No %ss found in SF (num=%u)\n","LBA range descriptor",local_8f8,extraout_EDX_01);\n        goto LAB_00012ef5;\n      }\n      local_7b8 = local_114 >> 0x18 | (local_114 & 0xff0000) >> 8 | (local_114 & 0xff00) << 8 |\n                  local_114 << 0x18;\n      local_7bc = local_110 >> 0x18 | (local_110 & 0xff0000) >> 8 | (local_110 & 0xff00) << 8 |\n                  local_110 << 0x18;\n      local_7cc = (stat64 *)\n                  (local_10c >> 0x18 | (local_10c & 0xff0000) >> 8 | (local_10c & 0xff00) << 8 |\n                  local_10c << 0x18);\n    }\n    else {\n      local_7bc = local_578;\n      local_7b8 = local_574;\n      local_7cc = local_778[0];\n      if ((psVar38 != (stat64 *)0x0) && (local_91c != (stat64 *)0x1)) {\n        pr2serr("warning: %d LBA,number_of_blocks pairs found, only taking first\n",local_91c,\n                psVar17,psVar17);\n      }\n    }\nLAB_00012d48:\n    if (local_818 == 0) {\n      psVar25 = (stat64 *)((int)local_7cc * (int)local_7d4);\n    }\n    else {\n      psVar25 = (stat64 *)0x0;\n      if (local_810 == 0) {\n        psVar25 = local_7d4;\n      }\n    }\n    local_7a4 = psVar25;\n    if (psVar25 != (stat64 *)0x0) {\n      iVar14 = sg_memalign(psVar25,0,&local_8f0,0);\n      if (iVar14 == 0) {\n        pcVar15 = "unable to allocate %u bytes of memory\n";\n        ppvVar39 = (void **)0x0;\n        uVar16 = 0;\n        psVar38 = psVar25;\nLAB_00013bea:\n        pr2serr(pcVar15,psVar38,ppvVar39,uVar16);\n        local_908 = (stat64 *)sg_convert_errno(0xc);\n        goto LAB_00012354;\n      }\n      local_908 = (stat64 *)FUN_00014a80(&DAT_000173c6);\n      if (local_908 != (stat64 *)0x0) goto LAB_00012354;\n    }\n    local_908 = (stat64 *)FUN_00014b00(&local_820);\n    if (local_908 == (stat64 *)0x0) goto LAB_00012354;\n    if (local_81a != '\0') goto LAB_00012354;\n    puVar43 = local_174;\n    psVar25 = (stat64 *)"OS error";\n    puVar29 = puVar43;\n    for (iVar14 = 9; iVar14 != 0; iVar14 = iVar14 + -1) {\n      *puVar29 = (char)psVar25->st_dev;\n      psVar25 = (stat64 *)((int)psVar25 + (uint)bVar32 * -2 + 1);\n      puVar29 = puVar29 + (uint)bVar32 * -2 + 1;\n    }\n    uVar16 = 0;\n    if (0 < (int)local_908) {\n      sg_get_category_sense_str(local_908,0x50,puVar43,psVar38);\n      uVar16 = extraout_ECX_02;\n    }\n    pr2serr("%s: %s\n",local_790,puVar43,uVar16);\n    goto LAB_00012354;\n  }\n  local_8e8 = (void *)0x0;\n  local_8f6 = local_8f8;\n  local_8ec = (undefined1  [4])local_8f4;\n  if (local_81c != '\0') {\n    if (local_7e2 == 0) {\n      if (local_7e0 == 0) {\n        psVar17 = local_93c;\n        if (local_93c == (stat64 *)0x0) {\n          pr2serr("With --combined= if DOF, RD are 0 and IF has an unknown length\nthen give up\n");\n          local_908 = (stat64 *)0x1f;\n          goto LAB_00012354;\n        }\n      }\n      else {\n        psVar17 = (stat64 *)((local_7e0 + 1) * 0x20);\n      }\n      if ((uint)psVar17 % (uint)local_7d4 != 0) {\n        psVar17 = (stat64 *)(((uint)psVar17 / (uint)local_7d4 + 1) * (int)local_7d4);\n      }\n    }\n    else {\n      psVar17 = (stat64 *)((uint)local_7e2 * (int)local_7d4);\n    }\n    ppvVar39 = &local_8e8;\n    uVar16 = 0;\n    psVar38 = (stat64 *)0x0;\n    psVar25 = (stat64 *)sg_memalign(psVar17,0,ppvVar39,0);\n    if (psVar25 == (stat64 *)0x0) {\nLAB_000141a6:\n      pcVar15 = "unable to allocate aligned memory for scatterlist+data\n";\n      goto LAB_00013bea;\n    }\n    local_908 = (stat64 *)FUN_00014a80("IF c1");\n    if (local_908 != (stat64 *)0x0) goto LAB_000133fd;\n    cVar6 = FUN_000146a0(&local_8f6,local_8ec,0,0);\n    if (cVar6 != '\0') {\n      if ((local_7e0 == 0) || (local_7e0 == local_8f6)) {\n        local_7e0 = local_8f6;\nLAB_00013fe3:\n        local_908 = (stat64 *)((local_7e0 + 1) * 0x20);\n        if ((uint)local_908 % (uint)local_7d4 != 0) {\n          local_908 = (stat64 *)(((uint)local_908 / (uint)local_7d4 + 1) * (int)local_7d4);\n        }\n        uVar7 = (uint)local_7e2;\n        uVar24 = uVar7 * (int)local_7d4;\n        psVar38 = local_908;\n        local_8f6 = local_7e0;\n        if (uVar24 - (int)local_908 != 0) {\n          if (uVar24 < local_908) {\n            pr2serr("%s: Cannot fit %ss (%u) in given LB data offset (%u)\n","process_scattered",\n                    "LBA range descriptor",(uint)local_7e0,uVar7);\n            goto LAB_000133f3;\n          }\n          psVar38 = (stat64 *)uVar24;\n          if ((((uint)psVar18 | local_7f8) != 0) &&\n             (pr2serr("%s: empty blocks before LB data offset (%u), could be okay\n",\n                      "process_scattered",uVar7,(uint)psVar18 | local_7f8), local_7f8 != 0)) {\n            pr2serr("Exiting due to --strict; perhaps try again with --combined=%u\n",\n                    (uint)local_908 / (uint)local_7d4,psVar25,psVar25);\n            local_908 = (stat64 *)0xf;\n            goto LAB_000133fd;\n          }\n        }\n        psVar38 = (stat64 *)((int)local_8ec * (int)local_7d4 + (int)psVar38);\n        if (psVar38 <= psVar17) {\nLAB_0001418c:\n          local_7cc = (stat64 *)local_8ec;\n          local_7a4 = (stat64 *)((int)local_8ec * (int)local_7d4);\n          goto LAB_00013962;\n        }\n        if (local_93c != psVar38) {\n          if (local_93c < psVar38) {\n            pr2serr("Calculated dout length (%u) %s bytes available in IF (%u)\n",psVar38,\n                    &DAT_000170dd,local_93c);\n          }\n          else if ((psVar18 == (stat64 *)0x0 && local_7f8 == 0) ||\n                  (pr2serr("Calculated dout length (%u) %s bytes available in IF (%u)\n",psVar38,\n                           &DAT_00017110,local_93c), local_7f8 == 0)) goto LAB_00014113;\n          goto LAB_000133f3;\n        }\nLAB_00014113:\n        uVar33 = sg_memalign(psVar38,0,&local_8e4,0);\n        uVar16 = (undefined4)((ulonglong)uVar33 >> 0x20);\n        psVar38 = (stat64 *)uVar33;\n        if (psVar38 != (stat64 *)0x0) {\n          memcpy(psVar38,psVar25,(size_t)psVar17);\n          free(local_8e8);\n          local_8e8 = local_8e4;\n          local_908 = (stat64 *)FUN_00014a80("IF c2",psVar25,psVar17,uVar16);\n          psVar25 = psVar38;\n          if (local_908 != (stat64 *)0x0) goto LAB_000133fd;\n          goto LAB_0001418c;\n        }\nLAB_00014273:\n        pcVar15 = "unable to allocate memory for final scatterlist+data\n";\n        goto LAB_00013fbc;\n      }\n      if (local_8f6 < local_7e0) {\n        pr2serr("RD (%u) %s number of %ss (%u) found in IF\n",local_7e0,&DAT_000170dd,\n                "LBA range descriptor",local_8f6);\n      }\n      else if ((psVar18 == (stat64 *)0x0 && local_7f8 == 0) ||\n              (pr2serr("RD (%u) %s number of %ss (%u) found in IF\n",local_7e0,&DAT_00017110,\n                       "LBA range descriptor",local_8f6), local_7f8 == 0)) {\n        local_908 = (stat64 *)0x0;\n        for (psVar38 = psVar25; (stat64 *)(&psVar25->st_dev + (uint)local_7e0 * 4) != psVar38;\n            psVar38 = (stat64 *)&psVar38->st_rdev) {\n          uVar7 = psVar38->__pad2;\n          local_908 = (stat64 *)\n                      ((int)&local_908->st_dev +\n                      (uVar7 >> 0x18 | (uVar7 & 0xff0000) >> 8 | (uVar7 & 0xff00) << 8 |\n                      uVar7 << 0x18));\n        }\n        local_8ec = (undefined1  [4])local_908;\n        goto LAB_00013fe3;\n      }\n    }\nLAB_000133f3:\n    local_908 = (stat64 *)0xf;\n    goto LAB_000133fd;\n  }\n  if (local_91c != (stat64 *)0x0) {\n    local_8f6 = (ushort)local_91c;\n  }\n  if (local_798 == (char *)0x0) {\n    if (local_819 != '\0') goto LAB_00013dcd;\n    if (local_91c == (stat64 *)0x0) {\n      pr2serr("How did we get here??\n");\n      local_908 = (stat64 *)0x1;\n      goto LAB_000133fd;\n    }\n    if ((local_7e0 != 0) && (local_91c < (undefined *)(uint)local_7e0)) {\n      pr2serr("%s: number given to --scattered= (%u) exceeds number of --lba= elements (%u)\n",\n              "process_scattered",(undefined *)(uint)local_7e0,local_91c);\n      local_908 = (stat64 *)0x1f;\n      goto LAB_00012354;\n    }\n    uVar7 = (local_8f6 + 1) * 0x20;\n    local_7e2 = (ushort)(uVar7 / (uint)local_7d4);\n    if (uVar7 % (uint)local_7d4 != 0) {\n      local_7e2 = local_7e2 + 1;\n    }\n    iVar14 = 0;\n    local_8ec = (undefined1  [4])0x0;\n    do {\n      local_8ec = (undefined1  [4])((int)&((stat64 *)local_8ec)->st_dev + (int)ppsVar44[iVar14]);\n      iVar14 = iVar14 + 1;\n    } while (iVar14 < (int)local_91c);\n    psVar25 = (stat64 *)\n              sg_memalign((int)((int)&((stat64 *)local_8ec)->st_dev + (uint)local_7e2) *\n                          (int)local_7d4,0,&local_8e8,0);\n    if (psVar25 == (stat64 *)0x0) goto LAB_00013fb3;\n    iVar14 = 0;\n    psVar38 = psVar25;\n    do {\n      uVar7 = puVar42[iVar14 * 2];\n      uVar24 = puVar42[iVar14 * 2 + 1];\n      *(uint *)&psVar38->st_rdev =\n           uVar24 >> 0x18 | (uVar24 & 0xff0000) >> 8 | (uVar24 & 0xff00) << 8 | uVar24 << 0x18;\n      *(uint *)((int)&psVar38->st_rdev + 4) =\n           uVar7 >> 0x18 | (uVar7 & 0xff0000) >> 8 | (uVar7 & 0xff00) << 8 | uVar7 << 0x18;\n      psVar17 = ppsVar44[iVar14];\n      psVar38->__pad2 =\n           (uint)psVar17 >> 0x18 | ((uint)psVar17 & 0xff0000) >> 8 | ((uint)psVar17 & 0xff00) << 8 |\n           (int)psVar17 << 0x18;\n      if (local_81f != '\0') {\n        if (iVar14 == 0) {\n          *(uint *)&psVar38->st_size =\n               local_7c0 >> 0x18 | (local_7c0 & 0xff0000) >> 8 | (local_7c0 & 0xff00) << 8 |\n               local_7c0 << 0x18;\n          *(ushort *)((int)&psVar38->st_size + 4) = local_7e6 << 8 | local_7e6 >> 8;\n          *(ushort *)((int)&psVar38->st_size + 6) = local_7dc << 8 | local_7dc >> 8;\n        }\n        else {\n          *(undefined4 *)&psVar38->st_size = 0xffffffff;\n          *(undefined2 *)((int)&psVar38->st_size + 4) = 0xffff;\n          *(undefined2 *)((int)&psVar38->st_size + 6) = 0xffff;\n        }\n      }\n      iVar14 = iVar14 + 1;\n      psVar38 = (stat64 *)&psVar38->st_rdev;\n    } while (iVar14 < (int)local_91c);\n    local_7cc = (stat64 *)local_8ec;\n  }\n  else {\n    if (local_819 == '\0') {\n      uVar7 = (uint)local_8f6;\n      uVar16 = 0;\n      uVar24 = (uVar7 + 1) * 0x20;\n      local_7e2 = (ushort)(uVar24 / (uint)local_7d4);\n      ppvVar39 = &local_8e8;\n      if (uVar24 % (uint)local_7d4 != 0) {\n        local_7e2 = local_7e2 + 1;\n      }\n      psVar38 = (stat64 *)0x0;\n      psVar25 = (stat64 *)\n                sg_memalign((int)((int)&local_8f4->st_dev + (uint)local_7e2) * (int)local_7d4,0,\n                            ppvVar39,0);\n      if (psVar25 == (stat64 *)0x0) goto LAB_000141a6;\n      local_8f6 = 0;\n      local_8ec = (undefined1  [4])0x0;\n      if (uVar7 + 1 == 1) {\n        uVar24 = (uint)local_7e2 * (int)local_7d4;\n      }\n      local_908 = (stat64 *)FUN_000156d0(psVar25,&local_8f6,local_8ec,uVar24);\n      if (local_908 != (stat64 *)0x0) goto LAB_000133fd;\n      psVar38 = (stat64 *)((int)local_7d4 * (int)local_8ec);\n      if (local_7d0 <= psVar38) {\n        if ((local_7d0 <= psVar38 && (int)psVar38 - (int)local_7d0 != 0) &&\n           (local_7d0 != (stat64 *)0x0)) {\n          psVar38 = local_7d0;\n        }\nLAB_00014208:\n        if ((psVar45 != (stat64 *)0x0) && (psVar45 != psVar38)) {\n          if (psVar18 != (stat64 *)0x0) {\n            puVar20 = &DAT_00017110;\n            if (psVar38 <= psVar45) {\n              puVar20 = &DAT_000170dd;\n            }\n            pr2serr("readable length (%u) of IF %s bytes implied by sum of\nscatter list NUMs (%u) and DLEN\n"\n                    ,psVar45,puVar20,psVar38);\n          }\n          if ((local_7f8 != 0) && ((psVar38 <= psVar45 || (1 < (int)local_7f8)))) goto LAB_000133f3;\nLAB_0001387e:\n          if (psVar45 < psVar38) {\n            psVar38 = psVar45;\n          }\n        }\n        psVar17 = (stat64 *)((uint)psVar38 / (uint)local_7d4);\n        if (((uint)psVar38 % (uint)local_7d4 != 0) &&\n           ((psVar18 != (stat64 *)0x0 || (1 < (int)local_7f8)))) {\n          psVar22 = local_7d8;\n          pr2serr("Calculated data-out length (0x%x) not a multiple of BS (%u",psVar38,local_7d8,\n                  psVar17);\n          if (local_7d8 != local_7d4) {\n            psVar38 = (stat64 *)((int)local_7d4 - (int)local_7d8);\n            psVar22 = extraout_ECX_07;\n            psVar17 = extraout_ECX_07;\n            pr2serr(" + %d(PI)",psVar38,extraout_ECX_07,extraout_ECX_07);\n          }\n          if (1 < (int)local_7f8) {\n            pr2serr(")\nexiting ...\n",psVar38,psVar22,psVar17);\n            local_908 = (stat64 *)0xf;\n            goto LAB_000133fd;\n          }\n          pr2serr(")\nzero pad and continue ...\n",psVar38,psVar22,psVar17);\n        }\n      }\n      else {\n        uVar7 = (uint)psVar18 | local_7f8;\n        if (uVar7 != 0) {\n          pr2serr("DLEN > than bytes implied by sum of scatter list NUMs (%u)\n",psVar38,uVar7,uVar7\n                 );\n          if (1 < (int)psVar18) {\n            pr2serr("  num_lbard=%u, sum_num=%u actual_bs=%u",local_8f6,local_8ec,local_7d4);\n          }\n          if (local_7f8 != 0) goto LAB_000133f3;\n          goto LAB_00014208;\n        }\n        if ((psVar45 != (stat64 *)0x0) && (psVar45 != psVar38)) goto LAB_0001387e;\n      }\n      local_908 = (stat64 *)FUN_00014a80(&DAT_00017360);\n    }\n    else {\nLAB_00013dcd:\n      psVar38 = local_7d4;\n      if (local_7e0 != 0) {\n        psVar38 = (stat64 *)((local_7e0 + 1) * 0x20);\n        if (local_908 < psVar38) {\n          pr2serr("SF not long enough (%u bytes) to provide RD (%u) %ss\n",local_908,psVar38,\n                  "LBA range descriptor");\n          local_908 = (stat64 *)0xf;\n          goto LAB_000133fd;\n        }\n        psVar38 = (stat64 *)\n                  ((((uint)psVar38 / (uint)local_7d4 + 1) -\n                   (uint)((uint)psVar38 % (uint)local_7d4 == 0)) * (int)local_7d4);\n      }\n      local_918 = local_7d4;\n      if (local_93c != (stat64 *)0x0) {\n        local_918 = (stat64 *)\n                    ((((uint)local_93c / (uint)local_7d4 + 1) -\n                     (uint)((uint)local_93c % (uint)local_7d4 == 0)) * (int)local_7d4);\n      }\n      psVar25 = (stat64 *)\n                sg_memalign((undefined *)((int)&psVar38->st_dev + (int)&local_918->st_dev),0,\n                            &local_8e8,0);\n      if (psVar25 == (stat64 *)0x0) {\nLAB_00013fb3:\n        pcVar15 = "unable to allocate aligned memory for scatterlist+data\n";\nLAB_00013fbc:\n        pr2serr(pcVar15);\n        local_908 = (stat64 *)sg_convert_errno(0xc);\n        goto LAB_000133fd;\n      }\n      local_908 = (stat64 *)FUN_00014a80(&DAT_00017365);\n      if (local_908 != (stat64 *)0x0) goto LAB_000133fd;\n      psVar17 = (stat64 *)local_8ec;\n      psVar22 = extraout_ECX_08;\n      psVar8 = extraout_ECX_08;\n      cVar6 = FUN_000146a0(&local_8f6,psVar17,extraout_ECX_08,extraout_ECX_08);\n      if (cVar6 == '\0') goto LAB_000133f3;\n      if (local_7e0 != local_8f6) {\n        pr2serr("Try again with --scattered=%u\n",local_8f6,extraout_EDX_05,extraout_EDX_05);\n        local_908 = (stat64 *)0xf;\n        goto LAB_000133fd;\n      }\n      if (local_918 < (stat64 *)((int)local_7d4 * (int)local_8ec)) {\n        psVar9 = (stat64 *)\n                 sg_memalign((undefined *)\n                             ((int)&psVar38->st_dev +\n                             (int)&((stat64 *)((int)local_7d4 * (int)local_8ec))->st_dev),0,\n                             &local_8e4,0);\n        if (psVar9 == (stat64 *)0x0) goto LAB_00014273;\n        psVar22 = psVar38;\n        psVar8 = psVar9;\n        memcpy(psVar9,psVar25,(size_t)psVar38);\n        psVar17 = psVar25;\n        free(local_8e8);\n        local_8e8 = local_8e4;\n        psVar25 = psVar9;\n      }\n      if ((local_93c != psVar38) && (psVar18 != (stat64 *)0x0 || local_7f8 != 0)) {\n        psVar22 = (stat64 *)&DAT_000170dd;\n        if (local_93c <= psVar38) {\n          psVar22 = (stat64 *)&DAT_00017110;\n        }\n        psVar8 = psVar38;\n        pr2serr("IF length (%u) %s \'sum_num\' bytes (%u), ",local_93c,psVar22,psVar38);\n        if (1 < (int)local_7f8) {\n          pr2serr("exiting (strict=%d)\n",local_7f8,psVar38,psVar38);\n          local_908 = (stat64 *)0xf;\n          goto LAB_000133fd;\n        }\n        pr2serr("continuing ...\n",local_93c,psVar22,psVar8);\n        psVar17 = local_93c;\n      }\n      local_908 = (stat64 *)FUN_00014a80(&DAT_0001738d,psVar17,psVar22,psVar8);\n    }\n    if (local_908 != (stat64 *)0x0) goto LAB_000133fd;\n    local_7a4 = (stat64 *)((int)local_8ec * (int)local_7d4);\n    local_7cc = (stat64 *)local_8ec;\n  }\nLAB_00013962:\n  local_8ec = (undefined1  [4])local_7cc;\n  local_908 = (stat64 *)FUN_00014b00(&local_820);\n  if (local_908 != (stat64 *)0x0) {\n    puVar43 = local_174 + 0x50;\n    psVar25 = (stat64 *)"OS error";\n    puVar29 = puVar43;\n    for (iVar14 = 9; iVar14 != 0; iVar14 = iVar14 + -1) {\n      *puVar29 = (char)psVar25->st_dev;\n      psVar25 = (stat64 *)((int)psVar25 + (uint)bVar32 * -2 + 1);\n      puVar29 = puVar29 + (uint)bVar32 * -2 + 1;\n    }\n    if (0 < (int)local_908) {\n      sg_get_category_sense_str(local_908,0x50,puVar43,psVar18);\n    }\n    pr2serr("%s: %s\n",local_790,puVar43,psVar25);\n  }\nLAB_000133fd:\n  if (local_8e8 == (void *)0x0) goto LAB_00012354;\n  free(local_8e8);\n  goto LAB_00012354;\ncode_r0x000115f1:\n  uVar33 = sg_get_llnum(*(undefined4 *)PTR_optarg_0001dffc);\n  psVar38 = local_7d0;\n  uVar16 = uStack_7c4;\n  uVar7 = (uint)uVar33;\n  if ((int)((ulonglong)uVar33 >> 0x20) != 0) goto code_r0x00012b94;\n  goto code_r0x000114e8;\ncode_r0x00012b94:\n  pr2serr("bad argument to \'--ref-tag=\'. Expect 0 to 0xffffffff inclusive\n");\nLAB_00011a7a:\n  local_908 = (stat64 *)0x1;\nLAB_00011a84:\n  do {\n    psVar25 = (stat64 *)(local_24 ^ *(uint *)(in_GS_OFFSET + 0x14));\n    if (psVar25 == (stat64 *)0x0) {\n      return (int)local_908;\n    }\n    FUN_000162b0();\nLAB_00013b9f:\n    pr2serr("build_lba_arr: array length exceeded\n");\nLAB_00012130:\n    pr2serr("bad argument to \'--lba\'\n");\n    local_908 = (stat64 *)0x1;\nLAB_00012354:\n    if (local_8f0 != (void *)0x0) {\n      free(local_8f0);\n    }\n    iVar14 = sg_cmds_close_device(local_930);\n    if (iVar14 < 0) {\n      if (local_81a == '\0') {\n        uVar16 = safe_strerror(-iVar14);\n        pr2serr("sg_fd close error: %s\n",uVar16);\n      }\n      if (local_908 == (stat64 *)0x0) {\n        local_908 = (stat64 *)0xf;\n      }\n    }\n    if ((-1 < (int)local_920) && (iVar14 = close((int)local_920), iVar14 < 0)) {\n      if (local_81a == '\0') {\n        perror("sfr_fd close error");\n      }\n      if (local_908 == (stat64 *)0x0) {\n        local_908 = (stat64 *)0xf;\n      }\n    }\nLAB_000123a1:\n    if (((cVar2 == '\x01') || ((int)local_924 < 0)) ||\n       (pcVar15 = (char *)close((int)local_924), -1 < (int)pcVar15)) {\nLAB_000123cc:\n      if (((local_7f0 == (stat64 *)0x0) && (local_81a == '\0')) &&\n         (cVar6 = sg_if_can2stderr("sg_write_x failed: ",local_908,psVar25,psVar25), cVar6 == '\0'))\n      goto LAB_0001260b;\n      goto LAB_000123e2;\n    }\n    if (local_81a == '\0') {\n      pcVar15 = "infd close error";\n      perror("infd close error");\n    }\n    if (local_908 != (stat64 *)0x0) goto LAB_000123cc;\n    local_908 = (stat64 *)0xf;\n    if (((local_7f0 == (stat64 *)0x0) && (local_81a == '\0')) &&\n       (cVar6 = sg_if_can2stderr("sg_write_x failed: ",0xf,pcVar15,pcVar15), cVar6 == '\0')) {\nLAB_0001260b:\n      pr2serr("Some error occurred, try again with \'-v\' or \'-vv\' for more information\n");\nLAB_000123e2:\n      if ((int)local_908 < 0) {\n        local_908 = (stat64 *)0x63;\n      }\n    }\n  } while( true );\n}" { (declaration "byte bVar1;" type_identifier identifier ;) (declaration "char cVar2;" primitive_type identifier ;) (declaration "__dev_t *p_Var3;" type_identifier (pointer_declarator "*p_Var3" * identifier) ;) (declaration "undefined *puVar4;" type_identifier (pointer_declarator "*puVar4" * identifier) ;) (declaration "undefined *puVar5;" type_identifier (pointer_declarator "*puVar5" * identifier) ;) (declaration "char cVar6;" primitive_type identifier ;) (declaration "uint uVar7;" type_identifier identifier ;) (declaration "stat64 *psVar8;" type_identifier (pointer_declarator "*psVar8" * identifier) ;) (declaration "stat64 *psVar9;" type_identifier (pointer_declarator "*psVar9" * identifier) ;) (declaration "int iVar10;" primitive_type identifier ;) (declaration "stat64 *psVar11;" type_identifier (pointer_declarator "*psVar11" * identifier) ;) (declaration "char *pcVar12;" primitive_type (pointer_declarator "*pcVar12" * identifier) ;) (declaration "char *pcVar13;" primitive_type (pointer_declarator "*pcVar13" * identifier) ;) (declaration "int iVar14;" primitive_type identifier ;) (declaration "char *pcVar15;" primitive_type (pointer_declarator "*pcVar15" * identifier) ;) (declaration "undefined4 uVar16;" type_identifier identifier ;) (declaration "stat64 *psVar17;" type_identifier (pointer_declarator "*psVar17" * identifier) ;) (declaration "stat64 *psVar18;" type_identifier (pointer_declarator "*psVar18" * identifier) ;) (declaration "int *piVar19;" primitive_type (pointer_declarator "*piVar19" * identifier) ;) (declaration "undefined *puVar20;" type_identifier (pointer_declarator "*puVar20" * identifier) ;) (declaration "int iVar21;" primitive_type identifier ;) (declaration "stat64 *extraout_ECX;" type_identifier (pointer_declarator "*extraout_ECX" * identifier) ;) (declaration "stat64 *extraout_ECX_00;" type_identifier (pointer_declarator "*extraout_ECX_00" * identifier) ;) (declaration "stat64 *extraout_ECX_01;" type_identifier (pointer_declarator "*extraout_ECX_01" * identifier) ;) (declaration "undefined4 extraout_ECX_02;" type_identifier identifier ;) (declaration "undefined4 extraout_ECX_03;" type_identifier identifier ;) (declaration "stat64 *extraout_ECX_04;" type_identifier (pointer_declarator "*extraout_ECX_04" * identifier) ;) (declaration "stat64 *extraout_ECX_05;" type_identifier (pointer_declarator "*extraout_ECX_05" * identifier) ;) (declaration "stat64 *extraout_ECX_06;" type_identifier (pointer_declarator "*extraout_ECX_06" * identifier) ;) (declaration "stat64 *extraout_ECX_07;" type_identifier (pointer_declarator "*extraout_ECX_07" * identifier) ;) (declaration "stat64 *extraout_ECX_08;" type_identifier (pointer_declarator "*extraout_ECX_08" * identifier) ;) (declaration "int extraout_EDX;" primitive_type identifier ;) (declaration "stat64 *psVar22;" type_identifier (pointer_declarator "*psVar22" * identifier) ;) (declaration "stat64 *psVar23;" type_identifier (pointer_declarator "*psVar23" * identifier) ;) (declaration "stat64 *extraout_EDX_00;" type_identifier (pointer_declarator "*extraout_EDX_00" * identifier) ;) (declaration "undefined4 extraout_EDX_01;" type_identifier identifier ;) (declaration "stat64 *extraout_EDX_02;" type_identifier (pointer_declarator "*extraout_EDX_02" * identifier) ;) (declaration "stat64 *extraout_EDX_03;" type_identifier (pointer_declarator "*extraout_EDX_03" * identifier) ;) (declaration "stat64 *extraout_EDX_04;" type_identifier (pointer_declarator "*extraout_EDX_04" * identifier) ;) (declaration "undefined4 extraout_EDX_05;" type_identifier identifier ;) (declaration "uint uVar24;" type_identifier identifier ;) (declaration "stat64 *psVar25;" type_identifier (pointer_declarator "*psVar25" * identifier) ;) (declaration "uint *puVar26;" type_identifier (pointer_declarator "*puVar26" * identifier) ;) (declaration "stat64 **ppsVar27;" type_identifier (pointer_declarator "**ppsVar27" * (pointer_declarator "*ppsVar27" * identifier)) ;) (declaration "int iVar28;" primitive_type identifier ;) (declaration "undefined1 *puVar29;" type_identifier (pointer_declarator "*puVar29" * identifier) ;) (declaration "int in_GS_OFFSET;" primitive_type identifier ;) (declaration "bool bVar30;" primitive_type identifier ;) (declaration "bool bVar31;" primitive_type identifier ;) (declaration "byte bVar32;" type_identifier identifier ;) (declaration "undefined8 uVar33;" type_identifier identifier ;) (declaration "longlong lVar34;" type_identifier identifier ;) (declaration "__off64_t _Var35;" type_identifier identifier ;) (declaration "undefined4 uVar36;" type_identifier identifier ;) (declaration "undefined4 uVar37;" type_identifier identifier ;) (declaration "stat64 *psVar38;" type_identifier (pointer_declarator "*psVar38" * identifier) ;) (declaration "void **ppvVar39;" primitive_type (pointer_declarator "**ppvVar39" * (pointer_declarator "*ppvVar39" * identifier)) ;) (declaration "undefined4 uVar40;" type_identifier identifier ;) (declaration "uint uVar41;" type_identifier identifier ;) (declaration "uint *puVar42;" type_identifier (pointer_declarator "*puVar42" * identifier) ;) (declaration "undefined1 *puVar43;" type_identifier (pointer_declarator "*puVar43" * identifier) ;) (declaration "stat64 **ppsVar44;" type_identifier (pointer_declarator "**ppsVar44" * (pointer_declarator "*ppsVar44" * identifier)) ;) (declaration "stat64 *psVar45;" type_identifier (pointer_declarator "*psVar45" * identifier) ;) (declaration "char local_93f;" primitive_type identifier ;) (declaration "stat64 *local_93c;" type_identifier (pointer_declarator "*local_93c" * identifier) ;) (declaration "stat64 *local_930;" type_identifier (pointer_declarator "*local_930" * identifier) ;) (declaration "stat64 *local_924;" type_identifier (pointer_declarator "*local_924" * identifier) ;) (declaration "stat64 *local_920;" type_identifier (pointer_declarator "*local_920" * identifier) ;) (declaration "stat64 *local_91c;" type_identifier (pointer_declarator "*local_91c" * identifier) ;) (declaration "stat64 *local_918;" type_identifier (pointer_declarator "*local_918" * identifier) ;) (declaration "stat64 *local_908;" type_identifier (pointer_declarator "*local_908" * identifier) ;) (declaration "ushort local_8f8;" type_identifier identifier ;) (declaration "ushort local_8f6;" type_identifier identifier ;) (declaration "stat64 *local_8f4;" type_identifier (pointer_declarator "*local_8f4" * identifier) ;) (declaration "void *local_8f0;" primitive_type (pointer_declarator "*local_8f0" * identifier) ;) (declaration "undefined1 local_8ec [4];" type_identifier (array_declarator "local_8ec [4]" identifier [ number_literal ]) ;) (declaration "void *local_8e8;" primitive_type (pointer_declarator "*local_8e8" * identifier) ;) (declaration "void *local_8e4;" primitive_type (pointer_declarator "*local_8e4" * identifier) ;) (declaration "undefined1 local_8e0 [48];" type_identifier (array_declarator "local_8e0 [48]" identifier [ number_literal ]) ;) (declaration "int local_8b0;" primitive_type identifier ;) (declaration "undefined1 local_880 [96];" type_identifier (array_declarator "local_880 [96]" identifier [ number_literal ]) ;) (declaration "char local_820;" primitive_type identifier ;) (declaration "char local_81f;" primitive_type identifier ;) (declaration "byte bStack_81e;" type_identifier identifier ;) (declaration "byte local_81d;" type_identifier identifier ;) (declaration "char local_81c;" primitive_type identifier ;) (declaration "byte local_81b;" type_identifier identifier ;) (declaration "char local_81a;" primitive_type identifier ;) (declaration "char local_819;" primitive_type identifier ;) (declaration "byte local_818;" type_identifier identifier ;) (declaration "byte local_817;" type_identifier identifier ;) (declaration "byte local_816;" type_identifier identifier ;) (declaration "byte bStack_815;" type_identifier identifier ;) (declaration "byte local_814;" type_identifier identifier ;) (declaration "char local_813;" primitive_type identifier ;) (declaration "undefined1 uStack_812;" type_identifier identifier ;) (declaration "undefined1 uStack_811;" type_identifier identifier ;) (declaration "byte local_810;" type_identifier identifier ;) (declaration "char local_80f;" primitive_type identifier ;) (declaration "char local_80e;" primitive_type identifier ;) (declaration "uint uStack_80c;" type_identifier identifier ;) (declaration "int iStack_808;" primitive_type identifier ;) (declaration "uint uStack_804;" type_identifier identifier ;) (declaration "int local_800;" primitive_type identifier ;) (declaration "int local_7fc;" primitive_type identifier ;) (declaration "uint local_7f8;" type_identifier identifier ;) (declaration "int local_7f4;" primitive_type identifier ;) (declaration "stat64 *local_7f0;" type_identifier (pointer_declarator "*local_7f0" * identifier) ;) (declaration "stat64 *local_7ec;" type_identifier (pointer_declarator "*local_7ec" * identifier) ;) (declaration "undefined1 uStack_7e8;" type_identifier identifier ;) (declaration "undefined1 uStack_7e7;" type_identifier identifier ;) (declaration "ushort local_7e6;" type_identifier identifier ;) (declaration "undefined2 uStack_7e4;" type_identifier identifier ;) (declaration "ushort local_7e2;" type_identifier identifier ;) (declaration "ushort local_7e0;" type_identifier identifier ;) (declaration "undefined2 uStack_7de;" type_identifier identifier ;) (declaration "ushort local_7dc;" type_identifier identifier ;) (declaration "undefined2 uStack_7da;" type_identifier identifier ;) (declaration "stat64 *local_7d8;" type_identifier (pointer_declarator "*local_7d8" * identifier) ;) (declaration "stat64 *local_7d4;" type_identifier (pointer_declarator "*local_7d4" * identifier) ;) (declaration "stat64 *local_7d0;" type_identifier (pointer_declarator "*local_7d0" * identifier) ;) (declaration "stat64 *local_7cc;" type_identifier (pointer_declarator "*local_7cc" * identifier) ;) (declaration "undefined4 uStack_7c8;" type_identifier identifier ;) (declaration "undefined4 uStack_7c4;" type_identifier identifier ;) (declaration "uint local_7c0;" type_identifier identifier ;) (declaration "uint local_7bc;" type_identifier identifier ;) (declaration "uint local_7b8;" type_identifier identifier ;) (declaration "stat64 *local_7b4;" type_identifier (pointer_declarator "*local_7b4" * identifier) ;) (declaration "stat64 *local_7b0;" type_identifier (pointer_declarator "*local_7b0" * identifier) ;) (declaration "int local_7ac;" primitive_type identifier ;) (declaration "int local_7a8;" primitive_type identifier ;) (declaration "stat64 *local_7a4;" type_identifier (pointer_declarator "*local_7a4" * identifier) ;) (declaration "stat64 *local_7a0;" type_identifier (pointer_declarator "*local_7a0" * identifier) ;) (declaration "char *local_79c;" primitive_type (pointer_declarator "*local_79c" * identifier) ;) (declaration "char *local_798;" primitive_type (pointer_declarator "*local_798" * identifier) ;) (declaration "stat64 *local_794;" type_identifier (pointer_declarator "*local_794" * identifier) ;) (declaration "undefined1 local_790 [24];" type_identifier (array_declarator "local_790 [24]" identifier [ number_literal ]) ;) (declaration "stat64 *local_778 [128];" type_identifier (pointer_declarator "*local_778 [128]" * (array_declarator "local_778 [128]" identifier [ number_literal ])) ;) (declaration "uint local_578;" type_identifier identifier ;) (declaration "uint local_574;" type_identifier identifier ;) (declaration "undefined1 local_174 [96];" type_identifier (array_declarator "local_174 [96]" identifier [ number_literal ]) ;) (declaration "uint local_114;" type_identifier identifier ;) (declaration "uint local_110;" type_identifier identifier ;) (declaration "uint local_10c;" type_identifier identifier ;) (declaration "uint local_104;" type_identifier identifier ;) (declaration "uint local_100;" type_identifier identifier ;) (declaration "uint local_fc;" type_identifier identifier ;) (declaration "uint local_f8;" type_identifier identifier ;) (declaration "ushort local_f4;" type_identifier identifier ;) (declaration "ushort local_f2;" type_identifier identifier ;) (declaration "uint local_24;" type_identifier identifier ;) (declaration "undefined4 *local_18;" type_identifier (pointer_declarator "*local_18" * identifier) ;) (expression_statement "iVar28 = param_2;" (assignment_expression "iVar28 = param_2" identifier = identifier) ;) (expression_statement "iVar14 = param_1;" (assignment_expression "iVar14 = param_1" identifier = identifier) ;) (expression_statement "puVar20 = PTR_optarg_0001dffc;" (assignment_expression "puVar20 = PTR_optarg_0001dffc" identifier = identifier) ;) (expression_statement "bVar32 = 0;" (assignment_expression "bVar32 = 0" identifier = number_literal) ;) (expression_statement "local_18 = &param_1;" (assignment_expression "local_18 = &param_1" identifier = (pointer_expression "&param_1" & identifier)) ;) (expression_statement "local_24 = *(uint *)(in_GS_OFFSET + 0x14);" (assignment_expression "local_24 = *(uint *)(in_GS_OFFSET + 0x14)" identifier = (pointer_expression "*(uint *)(in_GS_OFFSET + 0x14)" * (cast_expression "(uint *)(in_GS_OFFSET + 0x14)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_GS_OFFSET + 0x14)" ( (binary_expression "in_GS_OFFSET + 0x14" identifier + number_literal) ))))) ;) (expression_statement "local_8f8 = 0;" (assignment_expression "local_8f8 = 0" identifier = number_literal) ;) (expression_statement "local_8f4 = (stat64 *)0x0;" (assignment_expression "local_8f4 = (stat64 *)0x0" identifier = (cast_expression "(stat64 *)0x0" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_8f0 = (void *)0x0;" (assignment_expression "local_8f0 = (void *)0x0" identifier = (cast_expression "(void *)0x0" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_918 = (stat64 *)0x0;" (assignment_expression "local_918 = (stat64 *)0x0" identifier = (cast_expression "(stat64 *)0x0" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_91c = (stat64 *)0x0;" (assignment_expression "local_91c = (stat64 *)0x0" identifier = (cast_expression "(stat64 *)0x0" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "pcVar15 = &local_820;" (assignment_expression "pcVar15 = &local_820" identifier = (pointer_expression "&local_820" & identifier)) ;) (for_statement "for (iVar21 = 0x2a; iVar21 != 0; iVar21 = iVar21 + -1) {\n    pcVar15[0] = '\0';\n    pcVar15[1] = '\0';\n    pcVar15[2] = '\0';\n    pcVar15[3] = '\0';\n    pcVar15 = pcVar15 + 4;\n  }" for ( (assignment_expression "iVar21 = 0x2a" identifier = number_literal) ; (binary_expression "iVar21 != 0" identifier != number_literal) ; (assignment_expression "iVar21 = iVar21 + -1" identifier = (binary_expression "iVar21 + -1" identifier + number_literal)) ) (compound_statement "{\n    pcVar15[0] = '\0';\n    pcVar15[1] = '\0';\n    pcVar15[2] = '\0';\n    pcVar15[3] = '\0';\n    pcVar15 = pcVar15 + 4;\n  }" { (expression_statement "pcVar15[0] = '\0';" (assignment_expression "pcVar15[0] = '\0'" (subscript_expression "pcVar15[0]" identifier [ number_literal ]) = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "pcVar15[1] = '\0';" (assignment_expression "pcVar15[1] = '\0'" (subscript_expression "pcVar15[1]" identifier [ number_literal ]) = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "pcVar15[2] = '\0';" (assignment_expression "pcVar15[2] = '\0'" (subscript_expression "pcVar15[2]" identifier [ number_literal ]) = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "pcVar15[3] = '\0';" (assignment_expression "pcVar15[3] = '\0'" (subscript_expression "pcVar15[3]" identifier [ number_literal ]) = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "pcVar15 = pcVar15 + 4;" (assignment_expression "pcVar15 = pcVar15 + 4" identifier = (binary_expression "pcVar15 + 4" identifier + number_literal)) ;) })) (expression_statement "local_930 = (stat64 *)local_8e0;" (assignment_expression "local_930 = (stat64 *)local_8e0" identifier = (cast_expression "(stat64 *)local_8e0" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "local_7fc = -1;" (assignment_expression "local_7fc = -1" identifier = number_literal) ;) (expression_statement "psVar18 = local_930;" (assignment_expression "psVar18 = local_930" identifier = identifier) ;) (for_statement "for (iVar21 = 0x18; iVar21 != 0; iVar21 = iVar21 + -1) {\n    *(undefined4 *)&psVar18->st_dev = 0;\n    psVar18 = (stat64 *)((int)&psVar18->st_dev + 4);\n  }" for ( (assignment_expression "iVar21 = 0x18" identifier = number_literal) ; (binary_expression "iVar21 != 0" identifier != number_literal) ; (assignment_expression "iVar21 = iVar21 + -1" identifier = (binary_expression "iVar21 + -1" identifier + number_literal)) ) (compound_statement "{\n    *(undefined4 *)&psVar18->st_dev = 0;\n    psVar18 = (stat64 *)((int)&psVar18->st_dev + 4);\n  }" { (expression_statement "*(undefined4 *)&psVar18->st_dev = 0;" (assignment_expression "*(undefined4 *)&psVar18->st_dev = 0" (pointer_expression "*(undefined4 *)&psVar18->st_dev" * (cast_expression "(undefined4 *)&psVar18->st_dev" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&psVar18->st_dev" & (field_expression "psVar18->st_dev" identifier -> field_identifier)))) = number_literal) ;) (expression_statement "psVar18 = (stat64 *)((int)&psVar18->st_dev + 4);" (assignment_expression "psVar18 = (stat64 *)((int)&psVar18->st_dev + 4)" identifier = (cast_expression "(stat64 *)((int)&psVar18->st_dev + 4)" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&psVar18->st_dev + 4)" ( (binary_expression "(int)&psVar18->st_dev + 4" (cast_expression "(int)&psVar18->st_dev" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&psVar18->st_dev" & (field_expression "psVar18->st_dev" identifier -> field_identifier))) + number_literal) )))) ;) })) (expression_statement "psVar18 = (stat64 *)local_880;" (assignment_expression "psVar18 = (stat64 *)local_880" identifier = (cast_expression "(stat64 *)local_880" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "local_7c0 = 0xffffffff;" (assignment_expression "local_7c0 = 0xffffffff" identifier = number_literal) ;) (expression_statement "psVar38 = psVar18;" (assignment_expression "psVar38 = psVar18" identifier = identifier) ;) (for_statement "for (iVar21 = 0x18; iVar21 != 0; iVar21 = iVar21 + -1) {\n    *(undefined4 *)&psVar38->st_dev = 0;\n    psVar38 = (stat64 *)((int)&psVar38->st_dev + 4);\n  }" for ( (assignment_expression "iVar21 = 0x18" identifier = number_literal) ; (binary_expression "iVar21 != 0" identifier != number_literal) ; (assignment_expression "iVar21 = iVar21 + -1" identifier = (binary_expression "iVar21 + -1" identifier + number_literal)) ) (compound_statement "{\n    *(undefined4 *)&psVar38->st_dev = 0;\n    psVar38 = (stat64 *)((int)&psVar38->st_dev + 4);\n  }" { (expression_statement "*(undefined4 *)&psVar38->st_dev = 0;" (assignment_expression "*(undefined4 *)&psVar38->st_dev = 0" (pointer_expression "*(undefined4 *)&psVar38->st_dev" * (cast_expression "(undefined4 *)&psVar38->st_dev" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&psVar38->st_dev" & (field_expression "psVar38->st_dev" identifier -> field_identifier)))) = number_literal) ;) (expression_statement "psVar38 = (stat64 *)((int)&psVar38->st_dev + 4);" (assignment_expression "psVar38 = (stat64 *)((int)&psVar38->st_dev + 4)" identifier = (cast_expression "(stat64 *)((int)&psVar38->st_dev + 4)" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&psVar38->st_dev + 4)" ( (binary_expression "(int)&psVar38->st_dev + 4" (cast_expression "(int)&psVar38->st_dev" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&psVar38->st_dev" & (field_expression "psVar38->st_dev" identifier -> field_identifier))) + number_literal) )))) ;) })) (expression_statement "cVar2 = ' ';" (assignment_expression "cVar2 = ' '" identifier = (char_literal "' '" ' character ')) ;) (expression_statement "local_7e6 = 0xffff;" (assignment_expression "local_7e6 = 0xffff" identifier = number_literal) ;) (expression_statement "local_7dc = 0xffff;" (assignment_expression "local_7dc = 0xffff" identifier = number_literal) ;) (expression_statement "local_7f4 = 0x78;" (assignment_expression "local_7f4 = 0x78" identifier = number_literal) ;) (expression_statement "bVar1 = 0;" (assignment_expression "bVar1 = 0" identifier = number_literal) ;) (expression_statement "local_924 = (stat64 *)PTR_optarg_0001dffc;" (assignment_expression "local_924 = (stat64 *)PTR_optarg_0001dffc" identifier = (cast_expression "(stat64 *)PTR_optarg_0001dffc" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "psVar38 = local_7d0;" (assignment_expression "psVar38 = local_7d0" identifier = identifier) ;) (expression_statement "uVar16 = uStack_7c4;" (assignment_expression "uVar16 = uStack_7c4" identifier = identifier) ;) (expression_statement "uVar7 = local_7c0;" (assignment_expression "uVar7 = local_7c0" identifier = identifier) ;) (labeled_statement "code_r0x000114e8:\n  local_7c0 = uVar7;" statement_identifier : (expression_statement "local_7c0 = uVar7;" (assignment_expression "local_7c0 = uVar7" identifier = identifier) ;)) (expression_statement "uStack_7c4 = uVar16;" (assignment_expression "uStack_7c4 = uVar16" identifier = identifier) ;) (expression_statement "local_7d0 = psVar38;" (assignment_expression "local_7d0 = psVar38" identifier = identifier) ;) (expression_statement "local_8e4 = (void *)0x0;" (assignment_expression "local_8e4 = (void *)0x0" identifier = (cast_expression "(void *)0x0" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "uVar33 = getopt_long(iVar14,iVar28,"36a:A:b:B:c:dD:Efg:G:hi:I:l:M:n:No:Oq:Qr:RsS:t:T:u:vVw:x",\n                       &PTR_DAT_0001e020,&local_8e4);" (assignment_expression "uVar33 = getopt_long(iVar14,iVar28,"36a:A:b:B:c:dD:Efg:G:hi:I:l:M:n:No:Oq:Qr:RsS:t:T:u:vVw:x",\n                       &PTR_DAT_0001e020,&local_8e4)" identifier = (call_expression "getopt_long(iVar14,iVar28,"36a:A:b:B:c:dD:Efg:G:hi:I:l:M:n:No:Oq:Qr:RsS:t:T:u:vVw:x",\n                       &PTR_DAT_0001e020,&local_8e4)" identifier (argument_list "(iVar14,iVar28,"36a:A:b:B:c:dD:Efg:G:hi:I:l:M:n:No:Oq:Qr:RsS:t:T:u:vVw:x",\n                       &PTR_DAT_0001e020,&local_8e4)" ( identifier , identifier , (string_literal ""36a:A:b:B:c:dD:Efg:G:hi:I:l:M:n:No:Oq:Qr:RsS:t:T:u:vVw:x"" " string_content ") , (pointer_expression "&PTR_DAT_0001e020" & identifier) , (pointer_expression "&local_8e4" & identifier) )))) ;) (expression_statement "puVar5 = PTR_optarg_0001dffc;" (assignment_expression "puVar5 = PTR_optarg_0001dffc" identifier = identifier) ;) (expression_statement "puVar4 = PTR_optind_0001dfe4;" (assignment_expression "puVar4 = PTR_optind_0001dfe4" identifier = identifier) ;) (if_statement "if ((int)uVar33 == -1) {\n    iVar21 = *(int *)PTR_optind_0001dfe4;\n    local_920 = (stat64 *)0xffffffff;\n    if (iVar21 < iVar14) {\n      iVar10 = (int)((ulonglong)uVar33 >> 0x20);\n      if (local_7a0 != (stat64 *)0x0) goto LAB_00011c60;\n      local_7a0 = *(stat64 **)(iVar28 + iVar21 * 4);\n      *(int *)PTR_optind_0001dfe4 = iVar21 + 1;\n      iVar10 = iVar28;\n      if (iVar21 + 1 < iVar14) goto LAB_00011c60;\n    }\n    if ((bool)(bVar1 & local_7f8 != 0)) goto LAB_00011a7a;\n    if (0 < local_800) {\n      FUN_000149b0();\n      local_908 = (stat64 *)0x0;\n      goto LAB_00011a84;\n    }\n    if (local_80f == '\0') {\nLAB_00011c9f:\n      if (local_80e != '\0') {\n        pr2serr("sg_write_x version: %s\n","1.19 20180628",puVar4,puVar4);\n        local_908 = (stat64 *)0x270f;\n        goto LAB_00011a84;\n      }\n    }\n    else if (local_80e != '\0') {\n      pr2serr("Not in DEBUG mode, so \'-vV\' has no special action\n");\n      goto LAB_00011c9f;\n    }\n    psVar38 = local_7f0;\n    psVar17 = psVar38;\n    if (local_820 == '\0') {\n      if (local_81f == '\0') {\n        psVar17 = (stat64 *)((int)&local_7f0[-1].st_ino + 7);\n        local_820 = '\x01';\n        if (psVar17 != (stat64 *)0x0 && 0 < (int)local_7f0) {\n          pr2serr("Since neither --16 nor --32 given, choose --16\n");\n        }\n      }\n    }\n    else if ((local_81f != '\0') && (local_820 = '\0', 1 < (int)local_7f0)) {\n      pr2serr("Since both --16 and --32 given, choose --32\n");\n    }\n    uVar7 = (uint)local_81d + (uint)local_814 + (uint)local_81b + (uint)local_818 + (uint)local_817\n            + (uint)local_816;\n    if (1 < uVar7) {\n      pr2serr(\n             "Can only select one command; so only one of --atomic, --normal, --or,\n--same=, --scattered= or --stream=\n"\n             );\n      local_908 = (stat64 *)0x1f;\n      goto LAB_00011a84;\n    }\n    if (uVar7 == 0) {\n      if (local_7f8 != 0) {\n        pr2serr("With --strict won\'t default to a normal WRITE, add --normal\n");\n        local_908 = (stat64 *)0x1f;\n        goto LAB_00011a84;\n      }\n      local_794 = (stat64 *)0x17164;\n      local_814 = 1;\n      if (psVar38 != (stat64 *)0x0) {\n        pr2serr("No command selected so choose \'normal\' WRITE\n");\n      }\n    }\n    psVar8 = (stat64 *)((-(uint)(local_820 == '\0') & 0x10) + 0x10);\n    psVar22 = local_794;\n    __snprintf_chk(local_790,0x18,1,0x18,"%s(%d)",local_794,psVar8,psVar17);\n    if (local_81c == '\0') {\n      if (local_798 != (char *)0x0) {\n        local_93f = local_918 != (stat64 *)0x0;\n        bVar30 = local_91c != (stat64 *)0x0 || local_918 != (stat64 *)0x0;\n        bVar31 = local_91c != (stat64 *)0x0;\n        if (local_91c == (stat64 *)0x0 && local_918 == (stat64 *)0x0) {\n          iVar14 = -1;\n          pcVar15 = local_798;\n          goto code_r0x00011d5c;\n        }\n        pr2serr(\n               "want one and only one of: (--lba=LBA and/or --num=NUM), or\n--scat-file=SF, or --combined=DOF\n"\n               );\n        local_908 = (stat64 *)0x1f;\n        goto LAB_00011a84;\n      }\n      if (local_819 == '\0') {\n        local_93f = local_918 != (stat64 *)0x0;\n        bVar30 = local_91c != (stat64 *)0x0 || local_918 != (stat64 *)0x0;\n        bVar31 = local_91c != (stat64 *)0x0;\n        goto LAB_00011d67;\n      }\n      pr2serr(\n             "--scat-raw only applies to the --scat-file=SF option\n--scat-raw without the --scat-file=SF option is an error\n"\n             );\n      local_908 = (stat64 *)0x1f;\n      goto LAB_00011a84;\n    }\n    if (local_817 == 0) {\n      pr2serr(\n             "--combined=DOF only allowed with --scattered=RD (i.e. only with\nWRITE SCATTERED command)\n"\n             );\n      local_908 = (stat64 *)0x1f;\n      goto LAB_00011a84;\n    }\n    if (local_798 != (char *)0x0) {\n      pr2serr("Ambiguous: got --combined=DOF and --scat-file=SF .\nGive one, the other or neither\n"\n             );\n      local_908 = (stat64 *)0x1f;\n      goto LAB_00011a84;\n    }\n    if (local_91c == (stat64 *)0x0 && local_918 == (stat64 *)0x0) {\n      local_93f = local_819;\n      bVar30 = false;\n      bVar31 = false;\n      if (local_819 == '\0') goto LAB_00011d67;\n      pr2serr("Ambiguous: don\'t expect --combined=DOF and --scat-raw\nGive one or the other\n");\n      local_908 = (stat64 *)0x1f;\n    }\n    else {\n      pr2serr("--scattered=RD --combined=DOF does not use --lba= or --num=\nPlease remove.\n");\n      local_908 = (stat64 *)0x1f;\n    }\n    goto LAB_00011a84;\n  }" if (parenthesized_expression "((int)uVar33 == -1)" ( (binary_expression "(int)uVar33 == -1" (cast_expression "(int)uVar33" ( (type_descriptor "int" primitive_type) ) identifier) == number_literal) )) (compound_statement "{\n    iVar21 = *(int *)PTR_optind_0001dfe4;\n    local_920 = (stat64 *)0xffffffff;\n    if (iVar21 < iVar14) {\n      iVar10 = (int)((ulonglong)uVar33 >> 0x20);\n      if (local_7a0 != (stat64 *)0x0) goto LAB_00011c60;\n      local_7a0 = *(stat64 **)(iVar28 + iVar21 * 4);\n      *(int *)PTR_optind_0001dfe4 = iVar21 + 1;\n      iVar10 = iVar28;\n      if (iVar21 + 1 < iVar14) goto LAB_00011c60;\n    }\n    if ((bool)(bVar1 & local_7f8 != 0)) goto LAB_00011a7a;\n    if (0 < local_800) {\n      FUN_000149b0();\n      local_908 = (stat64 *)0x0;\n      goto LAB_00011a84;\n    }\n    if (local_80f == '\0') {\nLAB_00011c9f:\n      if (local_80e != '\0') {\n        pr2serr("sg_write_x version: %s\n","1.19 20180628",puVar4,puVar4);\n        local_908 = (stat64 *)0x270f;\n        goto LAB_00011a84;\n      }\n    }\n    else if (local_80e != '\0') {\n      pr2serr("Not in DEBUG mode, so \'-vV\' has no special action\n");\n      goto LAB_00011c9f;\n    }\n    psVar38 = local_7f0;\n    psVar17 = psVar38;\n    if (local_820 == '\0') {\n      if (local_81f == '\0') {\n        psVar17 = (stat64 *)((int)&local_7f0[-1].st_ino + 7);\n        local_820 = '\x01';\n        if (psVar17 != (stat64 *)0x0 && 0 < (int)local_7f0) {\n          pr2serr("Since neither --16 nor --32 given, choose --16\n");\n        }\n      }\n    }\n    else if ((local_81f != '\0') && (local_820 = '\0', 1 < (int)local_7f0)) {\n      pr2serr("Since both --16 and --32 given, choose --32\n");\n    }\n    uVar7 = (uint)local_81d + (uint)local_814 + (uint)local_81b + (uint)local_818 + (uint)local_817\n            + (uint)local_816;\n    if (1 < uVar7) {\n      pr2serr(\n             "Can only select one command; so only one of --atomic, --normal, --or,\n--same=, --scattered= or --stream=\n"\n             );\n      local_908 = (stat64 *)0x1f;\n      goto LAB_00011a84;\n    }\n    if (uVar7 == 0) {\n      if (local_7f8 != 0) {\n        pr2serr("With --strict won\'t default to a normal WRITE, add --normal\n");\n        local_908 = (stat64 *)0x1f;\n        goto LAB_00011a84;\n      }\n      local_794 = (stat64 *)0x17164;\n      local_814 = 1;\n      if (psVar38 != (stat64 *)0x0) {\n        pr2serr("No command selected so choose \'normal\' WRITE\n");\n      }\n    }\n    psVar8 = (stat64 *)((-(uint)(local_820 == '\0') & 0x10) + 0x10);\n    psVar22 = local_794;\n    __snprintf_chk(local_790,0x18,1,0x18,"%s(%d)",local_794,psVar8,psVar17);\n    if (local_81c == '\0') {\n      if (local_798 != (char *)0x0) {\n        local_93f = local_918 != (stat64 *)0x0;\n        bVar30 = local_91c != (stat64 *)0x0 || local_918 != (stat64 *)0x0;\n        bVar31 = local_91c != (stat64 *)0x0;\n        if (local_91c == (stat64 *)0x0 && local_918 == (stat64 *)0x0) {\n          iVar14 = -1;\n          pcVar15 = local_798;\n          goto code_r0x00011d5c;\n        }\n        pr2serr(\n               "want one and only one of: (--lba=LBA and/or --num=NUM), or\n--scat-file=SF, or --combined=DOF\n"\n               );\n        local_908 = (stat64 *)0x1f;\n        goto LAB_00011a84;\n      }\n      if (local_819 == '\0') {\n        local_93f = local_918 != (stat64 *)0x0;\n        bVar30 = local_91c != (stat64 *)0x0 || local_918 != (stat64 *)0x0;\n        bVar31 = local_91c != (stat64 *)0x0;\n        goto LAB_00011d67;\n      }\n      pr2serr(\n             "--scat-raw only applies to the --scat-file=SF option\n--scat-raw without the --scat-file=SF option is an error\n"\n             );\n      local_908 = (stat64 *)0x1f;\n      goto LAB_00011a84;\n    }\n    if (local_817 == 0) {\n      pr2serr(\n             "--combined=DOF only allowed with --scattered=RD (i.e. only with\nWRITE SCATTERED command)\n"\n             );\n      local_908 = (stat64 *)0x1f;\n      goto LAB_00011a84;\n    }\n    if (local_798 != (char *)0x0) {\n      pr2serr("Ambiguous: got --combined=DOF and --scat-file=SF .\nGive one, the other or neither\n"\n             );\n      local_908 = (stat64 *)0x1f;\n      goto LAB_00011a84;\n    }\n    if (local_91c == (stat64 *)0x0 && local_918 == (stat64 *)0x0) {\n      local_93f = local_819;\n      bVar30 = false;\n      bVar31 = false;\n      if (local_819 == '\0') goto LAB_00011d67;\n      pr2serr("Ambiguous: don\'t expect --combined=DOF and --scat-raw\nGive one or the other\n");\n      local_908 = (stat64 *)0x1f;\n    }\n    else {\n      pr2serr("--scattered=RD --combined=DOF does not use --lba= or --num=\nPlease remove.\n");\n      local_908 = (stat64 *)0x1f;\n    }\n    goto LAB_00011a84;\n  }" { (expression_statement "iVar21 = *(int *)PTR_optind_0001dfe4;" (assignment_expression "iVar21 = *(int *)PTR_optind_0001dfe4" identifier = (pointer_expression "*(int *)PTR_optind_0001dfe4" * (cast_expression "(int *)PTR_optind_0001dfe4" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) ;) (expression_statement "local_920 = (stat64 *)0xffffffff;" (assignment_expression "local_920 = (stat64 *)0xffffffff" identifier = (cast_expression "(stat64 *)0xffffffff" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (if_statement "if (iVar21 < iVar14) {\n      iVar10 = (int)((ulonglong)uVar33 >> 0x20);\n      if (local_7a0 != (stat64 *)0x0) goto LAB_00011c60;\n      local_7a0 = *(stat64 **)(iVar28 + iVar21 * 4);\n      *(int *)PTR_optind_0001dfe4 = iVar21 + 1;\n      iVar10 = iVar28;\n      if (iVar21 + 1 < iVar14) goto LAB_00011c60;\n    }" if (parenthesized_expression "(iVar21 < iVar14)" ( (binary_expression "iVar21 < iVar14" identifier < identifier) )) (compound_statement "{\n      iVar10 = (int)((ulonglong)uVar33 >> 0x20);\n      if (local_7a0 != (stat64 *)0x0) goto LAB_00011c60;\n      local_7a0 = *(stat64 **)(iVar28 + iVar21 * 4);\n      *(int *)PTR_optind_0001dfe4 = iVar21 + 1;\n      iVar10 = iVar28;\n      if (iVar21 + 1 < iVar14) goto LAB_00011c60;\n    }" { (expression_statement "iVar10 = (int)((ulonglong)uVar33 >> 0x20);" (assignment_expression "iVar10 = (int)((ulonglong)uVar33 >> 0x20)" identifier = (cast_expression "(int)((ulonglong)uVar33 >> 0x20)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((ulonglong)uVar33 >> 0x20)" ( (binary_expression "(ulonglong)uVar33 >> 0x20" (cast_expression "(ulonglong)uVar33" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) )))) ;) (if_statement "if (local_7a0 != (stat64 *)0x0) goto LAB_00011c60;" if (parenthesized_expression "(local_7a0 != (stat64 *)0x0)" ( (binary_expression "local_7a0 != (stat64 *)0x0" identifier != (cast_expression "(stat64 *)0x0" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_00011c60;" goto statement_identifier ;)) (expression_statement "local_7a0 = *(stat64 **)(iVar28 + iVar21 * 4);" (assignment_expression "local_7a0 = *(stat64 **)(iVar28 + iVar21 * 4)" identifier = (pointer_expression "*(stat64 **)(iVar28 + iVar21 * 4)" * (cast_expression "(stat64 **)(iVar28 + iVar21 * 4)" ( (type_descriptor "stat64 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar28 + iVar21 * 4)" ( (binary_expression "iVar28 + iVar21 * 4" identifier + (binary_expression "iVar21 * 4" identifier * number_literal)) ))))) ;) (expression_statement "*(int *)PTR_optind_0001dfe4 = iVar21 + 1;" (assignment_expression "*(int *)PTR_optind_0001dfe4 = iVar21 + 1" (pointer_expression "*(int *)PTR_optind_0001dfe4" * (cast_expression "(int *)PTR_optind_0001dfe4" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) = (binary_expression "iVar21 + 1" identifier + number_literal)) ;) (expression_statement "iVar10 = iVar28;" (assignment_expression "iVar10 = iVar28" identifier = identifier) ;) (if_statement "if (iVar21 + 1 < iVar14) goto LAB_00011c60;" if (parenthesized_expression "(iVar21 + 1 < iVar14)" ( (binary_expression "iVar21 + 1 < iVar14" (binary_expression "iVar21 + 1" identifier + number_literal) < identifier) )) (goto_statement "goto LAB_00011c60;" goto statement_identifier ;)) })) (if_statement "if ((bool)(bVar1 & local_7f8 != 0)) goto LAB_00011a7a;" if (parenthesized_expression "((bool)(bVar1 & local_7f8 != 0))" ( (cast_expression "(bool)(bVar1 & local_7f8 != 0)" ( (type_descriptor "bool" primitive_type) ) (parenthesized_expression "(bVar1 & local_7f8 != 0)" ( (binary_expression "bVar1 & local_7f8 != 0" identifier & (binary_expression "local_7f8 != 0" identifier != number_literal)) ))) )) (goto_statement "goto LAB_00011a7a;" goto statement_identifier ;)) (if_statement "if (0 < local_800) {\n      FUN_000149b0();\n      local_908 = (stat64 *)0x0;\n      goto LAB_00011a84;\n    }" if (parenthesized_expression "(0 < local_800)" ( (binary_expression "0 < local_800" number_literal < identifier) )) (compound_statement "{\n      FUN_000149b0();\n      local_908 = (stat64 *)0x0;\n      goto LAB_00011a84;\n    }" { (expression_statement "FUN_000149b0();" (call_expression "FUN_000149b0()" identifier (argument_list "()" ( ))) ;) (expression_statement "local_908 = (stat64 *)0x0;" (assignment_expression "local_908 = (stat64 *)0x0" identifier = (cast_expression "(stat64 *)0x0" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (goto_statement "goto LAB_00011a84;" goto statement_identifier ;) })) (if_statement "if (local_80f == '\0') {\nLAB_00011c9f:\n      if (local_80e != '\0') {\n        pr2serr("sg_write_x version: %s\n","1.19 20180628",puVar4,puVar4);\n        local_908 = (stat64 *)0x270f;\n        goto LAB_00011a84;\n      }\n    }\n    else if (local_80e != '\0') {\n      pr2serr("Not in DEBUG mode, so \'-vV\' has no special action\n");\n      goto LAB_00011c9f;\n    }" if (parenthesized_expression "(local_80f == '\0')" ( (binary_expression "local_80f == '\0'" identifier == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\nLAB_00011c9f:\n      if (local_80e != '\0') {\n        pr2serr("sg_write_x version: %s\n","1.19 20180628",puVar4,puVar4);\n        local_908 = (stat64 *)0x270f;\n        goto LAB_00011a84;\n      }\n    }" { (labeled_statement "LAB_00011c9f:\n      if (local_80e != '\0') {\n        pr2serr("sg_write_x version: %s\n","1.19 20180628",puVar4,puVar4);\n        local_908 = (stat64 *)0x270f;\n        goto LAB_00011a84;\n      }" statement_identifier : (if_statement "if (local_80e != '\0') {\n        pr2serr("sg_write_x version: %s\n","1.19 20180628",puVar4,puVar4);\n        local_908 = (stat64 *)0x270f;\n        goto LAB_00011a84;\n      }" if (parenthesized_expression "(local_80e != '\0')" ( (binary_expression "local_80e != '\0'" identifier != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n        pr2serr("sg_write_x version: %s\n","1.19 20180628",puVar4,puVar4);\n        local_908 = (stat64 *)0x270f;\n        goto LAB_00011a84;\n      }" { (expression_statement "pr2serr("sg_write_x version: %s\n","1.19 20180628",puVar4,puVar4);" (call_expression "pr2serr("sg_write_x version: %s\n","1.19 20180628",puVar4,puVar4)" identifier (argument_list "("sg_write_x version: %s\n","1.19 20180628",puVar4,puVar4)" ( (string_literal ""sg_write_x version: %s\n"" " string_content escape_sequence ") , (string_literal ""1.19 20180628"" " string_content ") , identifier , identifier ))) ;) (expression_statement "local_908 = (stat64 *)0x270f;" (assignment_expression "local_908 = (stat64 *)0x270f" identifier = (cast_expression "(stat64 *)0x270f" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (goto_statement "goto LAB_00011a84;" goto statement_identifier ;) }))) }) (else_clause "else if (local_80e != '\0') {\n      pr2serr("Not in DEBUG mode, so \'-vV\' has no special action\n");\n      goto LAB_00011c9f;\n    }" else (if_statement "if (local_80e != '\0') {\n      pr2serr("Not in DEBUG mode, so \'-vV\' has no special action\n");\n      goto LAB_00011c9f;\n    }" if (parenthesized_expression "(local_80e != '\0')" ( (binary_expression "local_80e != '\0'" identifier != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n      pr2serr("Not in DEBUG mode, so \'-vV\' has no special action\n");\n      goto LAB_00011c9f;\n    }" { (expression_statement "pr2serr("Not in DEBUG mode, so \'-vV\' has no special action\n");" (call_expression "pr2serr("Not in DEBUG mode, so \'-vV\' has no special action\n")" identifier (argument_list "("Not in DEBUG mode, so \'-vV\' has no special action\n")" ( (string_literal ""Not in DEBUG mode, so \'-vV\' has no special action\n"" " string_content escape_sequence string_content escape_sequence string_content escape_sequence ") ))) ;) (goto_statement "goto LAB_00011c9f;" goto statement_identifier ;) })))) (expression_statement "psVar38 = local_7f0;" (assignment_expression "psVar38 = local_7f0" identifier = identifier) ;) (expression_statement "psVar17 = psVar38;" (assignment_expression "psVar17 = psVar38" identifier = identifier) ;) (if_statement "if (local_820 == '\0') {\n      if (local_81f == '\0') {\n        psVar17 = (stat64 *)((int)&local_7f0[-1].st_ino + 7);\n        local_820 = '\x01';\n        if (psVar17 != (stat64 *)0x0 && 0 < (int)local_7f0) {\n          pr2serr("Since neither --16 nor --32 given, choose --16\n");\n        }\n      }\n    }\n    else if ((local_81f != '\0') && (local_820 = '\0', 1 < (int)local_7f0)) {\n      pr2serr("Since both --16 and --32 given, choose --32\n");\n    }" if (parenthesized_expression "(local_820 == '\0')" ( (binary_expression "local_820 == '\0'" identifier == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n      if (local_81f == '\0') {\n        psVar17 = (stat64 *)((int)&local_7f0[-1].st_ino + 7);\n        local_820 = '\x01';\n        if (psVar17 != (stat64 *)0x0 && 0 < (int)local_7f0) {\n          pr2serr("Since neither --16 nor --32 given, choose --16\n");\n        }\n      }\n    }" { (if_statement "if (local_81f == '\0') {\n        psVar17 = (stat64 *)((int)&local_7f0[-1].st_ino + 7);\n        local_820 = '\x01';\n        if (psVar17 != (stat64 *)0x0 && 0 < (int)local_7f0) {\n          pr2serr("Since neither --16 nor --32 given, choose --16\n");\n        }\n      }" if (parenthesized_expression "(local_81f == '\0')" ( (binary_expression "local_81f == '\0'" identifier == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n        psVar17 = (stat64 *)((int)&local_7f0[-1].st_ino + 7);\n        local_820 = '\x01';\n        if (psVar17 != (stat64 *)0x0 && 0 < (int)local_7f0) {\n          pr2serr("Since neither --16 nor --32 given, choose --16\n");\n        }\n      }" { (expression_statement "psVar17 = (stat64 *)((int)&local_7f0[-1].st_ino + 7);" (assignment_expression "psVar17 = (stat64 *)((int)&local_7f0[-1].st_ino + 7)" identifier = (cast_expression "(stat64 *)((int)&local_7f0[-1].st_ino + 7)" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&local_7f0[-1].st_ino + 7)" ( (binary_expression "(int)&local_7f0[-1].st_ino + 7" (cast_expression "(int)&local_7f0[-1].st_ino" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&local_7f0[-1].st_ino" & (field_expression "local_7f0[-1].st_ino" (subscript_expression "local_7f0[-1]" identifier [ number_literal ]) . field_identifier))) + number_literal) )))) ;) (expression_statement "local_820 = '\x01';" (assignment_expression "local_820 = '\x01'" identifier = (char_literal "'\x01'" ' escape_sequence ')) ;) (if_statement "if (psVar17 != (stat64 *)0x0 && 0 < (int)local_7f0) {\n          pr2serr("Since neither --16 nor --32 given, choose --16\n");\n        }" if (parenthesized_expression "(psVar17 != (stat64 *)0x0 && 0 < (int)local_7f0)" ( (binary_expression "psVar17 != (stat64 *)0x0 && 0 < (int)local_7f0" (binary_expression "psVar17 != (stat64 *)0x0" identifier != (cast_expression "(stat64 *)0x0" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) && (binary_expression "0 < (int)local_7f0" number_literal < (cast_expression "(int)local_7f0" ( (type_descriptor "int" primitive_type) ) identifier))) )) (compound_statement "{\n          pr2serr("Since neither --16 nor --32 given, choose --16\n");\n        }" { (expression_statement "pr2serr("Since neither --16 nor --32 given, choose --16\n");" (call_expression "pr2serr("Since neither --16 nor --32 given, choose --16\n")" identifier (argument_list "("Since neither --16 nor --32 given, choose --16\n")" ( (string_literal ""Since neither --16 nor --32 given, choose --16\n"" " string_content escape_sequence ") ))) ;) })) })) }) (else_clause "else if ((local_81f != '\0') && (local_820 = '\0', 1 < (int)local_7f0)) {\n      pr2serr("Since both --16 and --32 given, choose --32\n");\n    }" else (if_statement "if ((local_81f != '\0') && (local_820 = '\0', 1 < (int)local_7f0)) {\n      pr2serr("Since both --16 and --32 given, choose --32\n");\n    }" if (parenthesized_expression "((local_81f != '\0') && (local_820 = '\0', 1 < (int)local_7f0))" ( (binary_expression "(local_81f != '\0') && (local_820 = '\0', 1 < (int)local_7f0)" (parenthesized_expression "(local_81f != '\0')" ( (binary_expression "local_81f != '\0'" identifier != (char_literal "'\0'" ' escape_sequence ')) )) && (parenthesized_expression "(local_820 = '\0', 1 < (int)local_7f0)" ( (comma_expression "local_820 = '\0', 1 < (int)local_7f0" (assignment_expression "local_820 = '\0'" identifier = (char_literal "'\0'" ' escape_sequence ')) , (binary_expression "1 < (int)local_7f0" number_literal < (cast_expression "(int)local_7f0" ( (type_descriptor "int" primitive_type) ) identifier))) ))) )) (compound_statement "{\n      pr2serr("Since both --16 and --32 given, choose --32\n");\n    }" { (expression_statement "pr2serr("Since both --16 and --32 given, choose --32\n");" (call_expression "pr2serr("Since both --16 and --32 given, choose --32\n")" identifier (argument_list "("Since both --16 and --32 given, choose --32\n")" ( (string_literal ""Since both --16 and --32 given, choose --32\n"" " string_content escape_sequence ") ))) ;) })))) (expression_statement "uVar7 = (uint)local_81d + (uint)local_814 + (uint)local_81b + (uint)local_818 + (uint)local_817\n            + (uint)local_816;" (assignment_expression "uVar7 = (uint)local_81d + (uint)local_814 + (uint)local_81b + (uint)local_818 + (uint)local_817\n            + (uint)local_816" identifier = (binary_expression "(uint)local_81d + (uint)local_814 + (uint)local_81b + (uint)local_818 + (uint)local_817\n            + (uint)local_816" (binary_expression "(uint)local_81d + (uint)local_814 + (uint)local_81b + (uint)local_818 + (uint)local_817" (binary_expression "(uint)local_81d + (uint)local_814 + (uint)local_81b + (uint)local_818" (binary_expression "(uint)local_81d + (uint)local_814 + (uint)local_81b" (binary_expression "(uint)local_81d + (uint)local_814" (cast_expression "(uint)local_81d" ( (type_descriptor "uint" type_identifier) ) identifier) + (cast_expression "(uint)local_814" ( (type_descriptor "uint" type_identifier) ) identifier)) + (cast_expression "(uint)local_81b" ( (type_descriptor "uint" type_identifier) ) identifier)) + (cast_expression "(uint)local_818" ( (type_descriptor "uint" type_identifier) ) identifier)) + (cast_expression "(uint)local_817" ( (type_descriptor "uint" type_identifier) ) identifier)) + (cast_expression "(uint)local_816" ( (type_descriptor "uint" type_identifier) ) identifier))) ;) (if_statement "if (1 < uVar7) {\n      pr2serr(\n             "Can only select one command; so only one of --atomic, --normal, --or,\n--same=, --scattered= or --stream=\n"\n             );\n      local_908 = (stat64 *)0x1f;\n      goto LAB_00011a84;\n    }" if (parenthesized_expression "(1 < uVar7)" ( (binary_expression "1 < uVar7" number_literal < identifier) )) (compound_statement "{\n      pr2serr(\n             "Can only select one command; so only one of --atomic, --normal, --or,\n--same=, --scattered= or --stream=\n"\n             );\n      local_908 = (stat64 *)0x1f;\n      goto LAB_00011a84;\n    }" { (expression_statement "pr2serr(\n             "Can only select one command; so only one of --atomic, --normal, --or,\n--same=, --scattered= or --stream=\n"\n             );" (call_expression "pr2serr(\n             "Can only select one command; so only one of --atomic, --normal, --or,\n--same=, --scattered= or --stream=\n"\n             )" identifier (argument_list "(\n             "Can only select one command; so only one of --atomic, --normal, --or,\n--same=, --scattered= or --stream=\n"\n             )" ( (string_literal ""Can only select one command; so only one of --atomic, --normal, --or,\n--same=, --scattered= or --stream=\n"" " string_content escape_sequence string_content escape_sequence ") ))) ;) (expression_statement "local_908 = (stat64 *)0x1f;" (assignment_expression "local_908 = (stat64 *)0x1f" identifier = (cast_expression "(stat64 *)0x1f" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (goto_statement "goto LAB_00011a84;" goto statement_identifier ;) })) (if_statement "if (uVar7 == 0) {\n      if (local_7f8 != 0) {\n        pr2serr("With --strict won\'t default to a normal WRITE, add --normal\n");\n        local_908 = (stat64 *)0x1f;\n        goto LAB_00011a84;\n      }\n      local_794 = (stat64 *)0x17164;\n      local_814 = 1;\n      if (psVar38 != (stat64 *)0x0) {\n        pr2serr("No command selected so choose \'normal\' WRITE\n");\n      }\n    }" if (parenthesized_expression "(uVar7 == 0)" ( (binary_expression "uVar7 == 0" identifier == number_literal) )) (compound_statement "{\n      if (local_7f8 != 0) {\n        pr2serr("With --strict won\'t default to a normal WRITE, add --normal\n");\n        local_908 = (stat64 *)0x1f;\n        goto LAB_00011a84;\n      }\n      local_794 = (stat64 *)0x17164;\n      local_814 = 1;\n      if (psVar38 != (stat64 *)0x0) {\n        pr2serr("No command selected so choose \'normal\' WRITE\n");\n      }\n    }" { (if_statement "if (local_7f8 != 0) {\n        pr2serr("With --strict won\'t default to a normal WRITE, add --normal\n");\n        local_908 = (stat64 *)0x1f;\n        goto LAB_00011a84;\n      }" if (parenthesized_expression "(local_7f8 != 0)" ( (binary_expression "local_7f8 != 0" identifier != number_literal) )) (compound_statement "{\n        pr2serr("With --strict won\'t default to a normal WRITE, add --normal\n");\n        local_908 = (stat64 *)0x1f;\n        goto LAB_00011a84;\n      }" { (expression_statement "pr2serr("With --strict won\'t default to a normal WRITE, add --normal\n");" (call_expression "pr2serr("With --strict won\'t default to a normal WRITE, add --normal\n")" identifier (argument_list "("With --strict won\'t default to a normal WRITE, add --normal\n")" ( (string_literal ""With --strict won\'t default to a normal WRITE, add --normal\n"" " string_content escape_sequence string_content escape_sequence ") ))) ;) (expression_statement "local_908 = (stat64 *)0x1f;" (assignment_expression "local_908 = (stat64 *)0x1f" identifier = (cast_expression "(stat64 *)0x1f" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (goto_statement "goto LAB_00011a84;" goto statement_identifier ;) })) (expression_statement "local_794 = (stat64 *)0x17164;" (assignment_expression "local_794 = (stat64 *)0x17164" identifier = (cast_expression "(stat64 *)0x17164" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_814 = 1;" (assignment_expression "local_814 = 1" identifier = number_literal) ;) (if_statement "if (psVar38 != (stat64 *)0x0) {\n        pr2serr("No command selected so choose \'normal\' WRITE\n");\n      }" if (parenthesized_expression "(psVar38 != (stat64 *)0x0)" ( (binary_expression "psVar38 != (stat64 *)0x0" identifier != (cast_expression "(stat64 *)0x0" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        pr2serr("No command selected so choose \'normal\' WRITE\n");\n      }" { (expression_statement "pr2serr("No command selected so choose \'normal\' WRITE\n");" (call_expression "pr2serr("No command selected so choose \'normal\' WRITE\n")" identifier (argument_list "("No command selected so choose \'normal\' WRITE\n")" ( (string_literal ""No command selected so choose \'normal\' WRITE\n"" " string_content escape_sequence string_content escape_sequence string_content escape_sequence ") ))) ;) })) })) (expression_statement "psVar8 = (stat64 *)((-(uint)(local_820 == '\0') & 0x10) + 0x10);" (assignment_expression "psVar8 = (stat64 *)((-(uint)(local_820 == '\0') & 0x10) + 0x10)" identifier = (cast_expression "(stat64 *)((-(uint)(local_820 == '\0') & 0x10) + 0x10)" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((-(uint)(local_820 == '\0') & 0x10) + 0x10)" ( (binary_expression "(-(uint)(local_820 == '\0') & 0x10) + 0x10" (parenthesized_expression "(-(uint)(local_820 == '\0') & 0x10)" ( (binary_expression "-(uint)(local_820 == '\0') & 0x10" (unary_expression "-(uint)(local_820 == '\0')" - (call_expression "(uint)(local_820 == '\0')" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(local_820 == '\0')" ( (binary_expression "local_820 == '\0'" identifier == (char_literal "'\0'" ' escape_sequence ')) )))) & number_literal) )) + number_literal) )))) ;) (expression_statement "psVar22 = local_794;" (assignment_expression "psVar22 = local_794" identifier = identifier) ;) (expression_statement "__snprintf_chk(local_790,0x18,1,0x18,"%s(%d)",local_794,psVar8,psVar17);" (call_expression "__snprintf_chk(local_790,0x18,1,0x18,"%s(%d)",local_794,psVar8,psVar17)" identifier (argument_list "(local_790,0x18,1,0x18,"%s(%d)",local_794,psVar8,psVar17)" ( identifier , number_literal , number_literal , number_literal , (string_literal ""%s(%d)"" " string_content ") , identifier , identifier , identifier ))) ;) (if_statement "if (local_81c == '\0') {\n      if (local_798 != (char *)0x0) {\n        local_93f = local_918 != (stat64 *)0x0;\n        bVar30 = local_91c != (stat64 *)0x0 || local_918 != (stat64 *)0x0;\n        bVar31 = local_91c != (stat64 *)0x0;\n        if (local_91c == (stat64 *)0x0 && local_918 == (stat64 *)0x0) {\n          iVar14 = -1;\n          pcVar15 = local_798;\n          goto code_r0x00011d5c;\n        }\n        pr2serr(\n               "want one and only one of: (--lba=LBA and/or --num=NUM), or\n--scat-file=SF, or --combined=DOF\n"\n               );\n        local_908 = (stat64 *)0x1f;\n        goto LAB_00011a84;\n      }\n      if (local_819 == '\0') {\n        local_93f = local_918 != (stat64 *)0x0;\n        bVar30 = local_91c != (stat64 *)0x0 || local_918 != (stat64 *)0x0;\n        bVar31 = local_91c != (stat64 *)0x0;\n        goto LAB_00011d67;\n      }\n      pr2serr(\n             "--scat-raw only applies to the --scat-file=SF option\n--scat-raw without the --scat-file=SF option is an error\n"\n             );\n      local_908 = (stat64 *)0x1f;\n      goto LAB_00011a84;\n    }" if (parenthesized_expression "(local_81c == '\0')" ( (binary_expression "local_81c == '\0'" identifier == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n      if (local_798 != (char *)0x0) {\n        local_93f = local_918 != (stat64 *)0x0;\n        bVar30 = local_91c != (stat64 *)0x0 || local_918 != (stat64 *)0x0;\n        bVar31 = local_91c != (stat64 *)0x0;\n        if (local_91c == (stat64 *)0x0 && local_918 == (stat64 *)0x0) {\n          iVar14 = -1;\n          pcVar15 = local_798;\n          goto code_r0x00011d5c;\n        }\n        pr2serr(\n               "want one and only one of: (--lba=LBA and/or --num=NUM), or\n--scat-file=SF, or --combined=DOF\n"\n               );\n        local_908 = (stat64 *)0x1f;\n        goto LAB_00011a84;\n      }\n      if (local_819 == '\0') {\n        local_93f = local_918 != (stat64 *)0x0;\n        bVar30 = local_91c != (stat64 *)0x0 || local_918 != (stat64 *)0x0;\n        bVar31 = local_91c != (stat64 *)0x0;\n        goto LAB_00011d67;\n      }\n      pr2serr(\n             "--scat-raw only applies to the --scat-file=SF option\n--scat-raw without the --scat-file=SF option is an error\n"\n             );\n      local_908 = (stat64 *)0x1f;\n      goto LAB_00011a84;\n    }" { (if_statement "if (local_798 != (char *)0x0) {\n        local_93f = local_918 != (stat64 *)0x0;\n        bVar30 = local_91c != (stat64 *)0x0 || local_918 != (stat64 *)0x0;\n        bVar31 = local_91c != (stat64 *)0x0;\n        if (local_91c == (stat64 *)0x0 && local_918 == (stat64 *)0x0) {\n          iVar14 = -1;\n          pcVar15 = local_798;\n          goto code_r0x00011d5c;\n        }\n        pr2serr(\n               "want one and only one of: (--lba=LBA and/or --num=NUM), or\n--scat-file=SF, or --combined=DOF\n"\n               );\n        local_908 = (stat64 *)0x1f;\n        goto LAB_00011a84;\n      }" if (parenthesized_expression "(local_798 != (char *)0x0)" ( (binary_expression "local_798 != (char *)0x0" identifier != (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        local_93f = local_918 != (stat64 *)0x0;\n        bVar30 = local_91c != (stat64 *)0x0 || local_918 != (stat64 *)0x0;\n        bVar31 = local_91c != (stat64 *)0x0;\n        if (local_91c == (stat64 *)0x0 && local_918 == (stat64 *)0x0) {\n          iVar14 = -1;\n          pcVar15 = local_798;\n          goto code_r0x00011d5c;\n        }\n        pr2serr(\n               "want one and only one of: (--lba=LBA and/or --num=NUM), or\n--scat-file=SF, or --combined=DOF\n"\n               );\n        local_908 = (stat64 *)0x1f;\n        goto LAB_00011a84;\n      }" { (expression_statement "local_93f = local_918 != (stat64 *)0x0;" (assignment_expression "local_93f = local_918 != (stat64 *)0x0" identifier = (binary_expression "local_918 != (stat64 *)0x0" identifier != (cast_expression "(stat64 *)0x0" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal))) ;) (expression_statement "bVar30 = local_91c != (stat64 *)0x0 || local_918 != (stat64 *)0x0;" (assignment_expression "bVar30 = local_91c != (stat64 *)0x0 || local_918 != (stat64 *)0x0" identifier = (binary_expression "local_91c != (stat64 *)0x0 || local_918 != (stat64 *)0x0" (binary_expression "local_91c != (stat64 *)0x0" identifier != (cast_expression "(stat64 *)0x0" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) || (binary_expression "local_918 != (stat64 *)0x0" identifier != (cast_expression "(stat64 *)0x0" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)))) ;) (expression_statement "bVar31 = local_91c != (stat64 *)0x0;" (assignment_expression "bVar31 = local_91c != (stat64 *)0x0" identifier = (binary_expression "local_91c != (stat64 *)0x0" identifier != (cast_expression "(stat64 *)0x0" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal))) ;) (if_statement "if (local_91c == (stat64 *)0x0 && local_918 == (stat64 *)0x0) {\n          iVar14 = -1;\n          pcVar15 = local_798;\n          goto code_r0x00011d5c;\n        }" if (parenthesized_expression "(local_91c == (stat64 *)0x0 && local_918 == (stat64 *)0x0)" ( (binary_expression "local_91c == (stat64 *)0x0 && local_918 == (stat64 *)0x0" (binary_expression "local_91c == (stat64 *)0x0" identifier == (cast_expression "(stat64 *)0x0" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) && (binary_expression "local_918 == (stat64 *)0x0" identifier == (cast_expression "(stat64 *)0x0" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal))) )) (compound_statement "{\n          iVar14 = -1;\n          pcVar15 = local_798;\n          goto code_r0x00011d5c;\n        }" { (expression_statement "iVar14 = -1;" (assignment_expression "iVar14 = -1" identifier = number_literal) ;) (expression_statement "pcVar15 = local_798;" (assignment_expression "pcVar15 = local_798" identifier = identifier) ;) (goto_statement "goto code_r0x00011d5c;" goto statement_identifier ;) })) (expression_statement "pr2serr(\n               "want one and only one of: (--lba=LBA and/or --num=NUM), or\n--scat-file=SF, or --combined=DOF\n"\n               );" (call_expression "pr2serr(\n               "want one and only one of: (--lba=LBA and/or --num=NUM), or\n--scat-file=SF, or --combined=DOF\n"\n               )" identifier (argument_list "(\n               "want one and only one of: (--lba=LBA and/or --num=NUM), or\n--scat-file=SF, or --combined=DOF\n"\n               )" ( (string_literal ""want one and only one of: (--lba=LBA and/or --num=NUM), or\n--scat-file=SF, or --combined=DOF\n"" " string_content escape_sequence string_content escape_sequence ") ))) ;) (expression_statement "local_908 = (stat64 *)0x1f;" (assignment_expression "local_908 = (stat64 *)0x1f" identifier = (cast_expression "(stat64 *)0x1f" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (goto_statement "goto LAB_00011a84;" goto statement_identifier ;) })) (if_statement "if (local_819 == '\0') {\n        local_93f = local_918 != (stat64 *)0x0;\n        bVar30 = local_91c != (stat64 *)0x0 || local_918 != (stat64 *)0x0;\n        bVar31 = local_91c != (stat64 *)0x0;\n        goto LAB_00011d67;\n      }" if (parenthesized_expression "(local_819 == '\0')" ( (binary_expression "local_819 == '\0'" identifier == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n        local_93f = local_918 != (stat64 *)0x0;\n        bVar30 = local_91c != (stat64 *)0x0 || local_918 != (stat64 *)0x0;\n        bVar31 = local_91c != (stat64 *)0x0;\n        goto LAB_00011d67;\n      }" { (expression_statement "local_93f = local_918 != (stat64 *)0x0;" (assignment_expression "local_93f = local_918 != (stat64 *)0x0" identifier = (binary_expression "local_918 != (stat64 *)0x0" identifier != (cast_expression "(stat64 *)0x0" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal))) ;) (expression_statement "bVar30 = local_91c != (stat64 *)0x0 || local_918 != (stat64 *)0x0;" (assignment_expression "bVar30 = local_91c != (stat64 *)0x0 || local_918 != (stat64 *)0x0" identifier = (binary_expression "local_91c != (stat64 *)0x0 || local_918 != (stat64 *)0x0" (binary_expression "local_91c != (stat64 *)0x0" identifier != (cast_expression "(stat64 *)0x0" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) || (binary_expression "local_918 != (stat64 *)0x0" identifier != (cast_expression "(stat64 *)0x0" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)))) ;) (expression_statement "bVar31 = local_91c != (stat64 *)0x0;" (assignment_expression "bVar31 = local_91c != (stat64 *)0x0" identifier = (binary_expression "local_91c != (stat64 *)0x0" identifier != (cast_expression "(stat64 *)0x0" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal))) ;) (goto_statement "goto LAB_00011d67;" goto statement_identifier ;) })) (expression_statement "pr2serr(\n             "--scat-raw only applies to the --scat-file=SF option\n--scat-raw without the --scat-file=SF option is an error\n"\n             );" (call_expression "pr2serr(\n             "--scat-raw only applies to the --scat-file=SF option\n--scat-raw without the --scat-file=SF option is an error\n"\n             )" identifier (argument_list "(\n             "--scat-raw only applies to the --scat-file=SF option\n--scat-raw without the --scat-file=SF option is an error\n"\n             )" ( (string_literal ""--scat-raw only applies to the --scat-file=SF option\n--scat-raw without the --scat-file=SF option is an error\n"" " string_content escape_sequence string_content escape_sequence ") ))) ;) (expression_statement "local_908 = (stat64 *)0x1f;" (assignment_expression "local_908 = (stat64 *)0x1f" identifier = (cast_expression "(stat64 *)0x1f" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (goto_statement "goto LAB_00011a84;" goto statement_identifier ;) })) (if_statement "if (local_817 == 0) {\n      pr2serr(\n             "--combined=DOF only allowed with --scattered=RD (i.e. only with\nWRITE SCATTERED command)\n"\n             );\n      local_908 = (stat64 *)0x1f;\n      goto LAB_00011a84;\n    }" if (parenthesized_expression "(local_817 == 0)" ( (binary_expression "local_817 == 0" identifier == number_literal) )) (compound_statement "{\n      pr2serr(\n             "--combined=DOF only allowed with --scattered=RD (i.e. only with\nWRITE SCATTERED command)\n"\n             );\n      local_908 = (stat64 *)0x1f;\n      goto LAB_00011a84;\n    }" { (expression_statement "pr2serr(\n             "--combined=DOF only allowed with --scattered=RD (i.e. only with\nWRITE SCATTERED command)\n"\n             );" (call_expression "pr2serr(\n             "--combined=DOF only allowed with --scattered=RD (i.e. only with\nWRITE SCATTERED command)\n"\n             )" identifier (argument_list "(\n             "--combined=DOF only allowed with --scattered=RD (i.e. only with\nWRITE SCATTERED command)\n"\n             )" ( (string_literal ""--combined=DOF only allowed with --scattered=RD (i.e. only with\nWRITE SCATTERED command)\n"" " string_content escape_sequence string_content escape_sequence ") ))) ;) (expression_statement "local_908 = (stat64 *)0x1f;" (assignment_expression "local_908 = (stat64 *)0x1f" identifier = (cast_expression "(stat64 *)0x1f" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (goto_statement "goto LAB_00011a84;" goto statement_identifier ;) })) (if_statement "if (local_798 != (char *)0x0) {\n      pr2serr("Ambiguous: got --combined=DOF and --scat-file=SF .\nGive one, the other or neither\n"\n             );\n      local_908 = (stat64 *)0x1f;\n      goto LAB_00011a84;\n    }" if (parenthesized_expression "(local_798 != (char *)0x0)" ( (binary_expression "local_798 != (char *)0x0" identifier != (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      pr2serr("Ambiguous: got --combined=DOF and --scat-file=SF .\nGive one, the other or neither\n"\n             );\n      local_908 = (stat64 *)0x1f;\n      goto LAB_00011a84;\n    }" { (expression_statement "pr2serr("Ambiguous: got --combined=DOF and --scat-file=SF .\nGive one, the other or neither\n"\n             );" (call_expression "pr2serr("Ambiguous: got --combined=DOF and --scat-file=SF .\nGive one, the other or neither\n"\n             )" identifier (argument_list "("Ambiguous: got --combined=DOF and --scat-file=SF .\nGive one, the other or neither\n"\n             )" ( (string_literal ""Ambiguous: got --combined=DOF and --scat-file=SF .\nGive one, the other or neither\n"" " string_content escape_sequence string_content escape_sequence ") ))) ;) (expression_statement "local_908 = (stat64 *)0x1f;" (assignment_expression "local_908 = (stat64 *)0x1f" identifier = (cast_expression "(stat64 *)0x1f" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (goto_statement "goto LAB_00011a84;" goto statement_identifier ;) })) (if_statement "if (local_91c == (stat64 *)0x0 && local_918 == (stat64 *)0x0) {\n      local_93f = local_819;\n      bVar30 = false;\n      bVar31 = false;\n      if (local_819 == '\0') goto LAB_00011d67;\n      pr2serr("Ambiguous: don\'t expect --combined=DOF and --scat-raw\nGive one or the other\n");\n      local_908 = (stat64 *)0x1f;\n    }\n    else {\n      pr2serr("--scattered=RD --combined=DOF does not use --lba= or --num=\nPlease remove.\n");\n      local_908 = (stat64 *)0x1f;\n    }" if (parenthesized_expression "(local_91c == (stat64 *)0x0 && local_918 == (stat64 *)0x0)" ( (binary_expression "local_91c == (stat64 *)0x0 && local_918 == (stat64 *)0x0" (binary_expression "local_91c == (stat64 *)0x0" identifier == (cast_expression "(stat64 *)0x0" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) && (binary_expression "local_918 == (stat64 *)0x0" identifier == (cast_expression "(stat64 *)0x0" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal))) )) (compound_statement "{\n      local_93f = local_819;\n      bVar30 = false;\n      bVar31 = false;\n      if (local_819 == '\0') goto LAB_00011d67;\n      pr2serr("Ambiguous: don\'t expect --combined=DOF and --scat-raw\nGive one or the other\n");\n      local_908 = (stat64 *)0x1f;\n    }" { (expression_statement "local_93f = local_819;" (assignment_expression "local_93f = local_819" identifier = identifier) ;) (expression_statement "bVar30 = false;" (assignment_expression "bVar30 = false" identifier = false) ;) (expression_statement "bVar31 = false;" (assignment_expression "bVar31 = false" identifier = false) ;) (if_statement "if (local_819 == '\0') goto LAB_00011d67;" if (parenthesized_expression "(local_819 == '\0')" ( (binary_expression "local_819 == '\0'" identifier == (char_literal "'\0'" ' escape_sequence ')) )) (goto_statement "goto LAB_00011d67;" goto statement_identifier ;)) (expression_statement "pr2serr("Ambiguous: don\'t expect --combined=DOF and --scat-raw\nGive one or the other\n");" (call_expression "pr2serr("Ambiguous: don\'t expect --combined=DOF and --scat-raw\nGive one or the other\n")" identifier (argument_list "("Ambiguous: don\'t expect --combined=DOF and --scat-raw\nGive one or the other\n")" ( (string_literal ""Ambiguous: don\'t expect --combined=DOF and --scat-raw\nGive one or the other\n"" " string_content escape_sequence string_content escape_sequence string_content escape_sequence ") ))) ;) (expression_statement "local_908 = (stat64 *)0x1f;" (assignment_expression "local_908 = (stat64 *)0x1f" identifier = (cast_expression "(stat64 *)0x1f" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) }) (else_clause "else {\n      pr2serr("--scattered=RD --combined=DOF does not use --lba= or --num=\nPlease remove.\n");\n      local_908 = (stat64 *)0x1f;\n    }" else (compound_statement "{\n      pr2serr("--scattered=RD --combined=DOF does not use --lba= or --num=\nPlease remove.\n");\n      local_908 = (stat64 *)0x1f;\n    }" { (expression_statement "pr2serr("--scattered=RD --combined=DOF does not use --lba= or --num=\nPlease remove.\n");" (call_expression "pr2serr("--scattered=RD --combined=DOF does not use --lba= or --num=\nPlease remove.\n")" identifier (argument_list "("--scattered=RD --combined=DOF does not use --lba= or --num=\nPlease remove.\n")" ( (string_literal ""--scattered=RD --combined=DOF does not use --lba= or --num=\nPlease remove.\n"" " string_content escape_sequence string_content escape_sequence ") ))) ;) (expression_statement "local_908 = (stat64 *)0x1f;" (assignment_expression "local_908 = (stat64 *)0x1f" identifier = (cast_expression "(stat64 *)0x1f" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) }))) (goto_statement "goto LAB_00011a84;" goto statement_identifier ;) })) (expression_statement "local_920 = local_924;" (assignment_expression "local_920 = local_924" identifier = identifier) ;) (expression_statement "psVar38 = local_7d0;" (assignment_expression "psVar38 = local_7d0" identifier = identifier) ;) (expression_statement "uVar16 = uStack_7c4;" (assignment_expression "uVar16 = uStack_7c4" identifier = identifier) ;) (expression_statement "uVar7 = local_7c0;" (assignment_expression "uVar7 = local_7c0" identifier = identifier) ;) (switch_statement "switch((int)uVar33) {\n  case 0x33:\n    local_81f = '\x01';\n    goto code_r0x000114e8;\n  default:\n    pcVar15 = "unrecognised option code 0x%x ??\n";\n    break;\n  case 0x36:\n    local_820 = '\x01';\n    goto code_r0x000114e8;\n  case 0x3f:\n    pcVar15 = "\n";\n    break;\n  case 0x41:\n    uVar7 = func_0x00011320(*(undefined4 *)PTR_optarg_0001dffc);\n    if (0xffff < uVar7) {\n      pr2serr("bad argument to \'--atomic=\'. Expect 0 to 0xffff inclusive\n");\n      goto LAB_00011a7a;\n    }\n    uStack_7e4 = (undefined2)uVar7;\n    local_81d = 1;\n    local_794 = (stat64 *)0x17112;\n    psVar38 = local_7d0;\n    uVar16 = uStack_7c4;\n    uVar7 = local_7c0;\n    goto code_r0x000114e8;\n  case 0x42:\n    uVar24 = func_0x00011320(*(undefined4 *)PTR_optarg_0001dffc);\n    if (7 < uVar24) {\n      pr2serr("bad first argument to \'--bmop=\'\n");\n      goto LAB_00011a7a;\n    }\n    uStack_7e8 = (undefined1)uVar24;\n    uVar36 = 0x2c;\n    uVar41 = uVar24;\n    pcVar15 = strchr(*(char **)puVar5,0x2c);\n    psVar38 = local_7d0;\n    uVar16 = uStack_7c4;\n    uVar7 = local_7c0;\n    if (pcVar15 != (char *)0x0) {\n      uVar7 = func_0x00011320(pcVar15 + 1,uVar36,uVar24,uVar41);\n      if (0xf < uVar7) {\n        pr2serr("bad second argument to \'--bmop=\'\n");\n        goto LAB_00011a7a;\n      }\n      uStack_7e7 = (undefined1)uVar7;\n      psVar38 = local_7d0;\n      uVar16 = uStack_7c4;\n      uVar7 = local_7c0;\n    }\n    goto code_r0x000114e8;\n  case 0x44:\n    uStack_80c = func_0x00011320(*(undefined4 *)PTR_optarg_0001dffc);\n    psVar38 = local_7d0;\n    uVar16 = uStack_7c4;\n    uVar7 = local_7c0;\n    if (7 < uStack_80c) {\n      pr2serr("bad argument to \'--dld=\', expect 0 to 7 inclusive\n");\n      goto LAB_00011a7a;\n    }\n    goto code_r0x000114e8;\n  case 0x47:\n    uVar33 = sg_get_llnum(*(undefined4 *)PTR_optarg_0001dffc);\n    uVar36 = (undefined4)uVar33;\n    if ((int)((ulonglong)uVar33 >> 0x20) != 0) {\n      pr2serr("bad first argument to \'--generation=\'\n");\n      goto LAB_00011a7a;\n    }\n    uVar37 = 0x2c;\n    uVar40 = uVar36;\n    uStack_7c8 = uVar36;\n    pcVar15 = strchr(*(char **)puVar5,0x2c);\n    if (pcVar15 == (char *)0x0) {\n      pr2serr("need two arguments with --generation=EOG,NOG and they must be comma separated\n",\n              uVar37,uVar36,uVar40);\n      goto LAB_00011a7a;\n    }\n    uVar33 = sg_get_llnum(pcVar15 + 1);\n    psVar38 = local_7d0;\n    uVar16 = (int)uVar33;\n    uVar7 = local_7c0;\n    if ((int)((ulonglong)uVar33 >> 0x20) != 0) {\n      pr2serr("bad second argument to \'--generation=\'\n",uVar37,uVar36,uVar40);\n      goto LAB_00011a7a;\n    }\n    goto code_r0x000114e8;\n  case 0x49:\n    local_7f4 = func_0x00011320(*(undefined4 *)PTR_optarg_0001dffc);\n    psVar38 = local_7d0;\n    uVar16 = uStack_7c4;\n    uVar7 = local_7c0;\n    if (local_7f4 < 0) {\n      pr2serr("bad argument to \'--timeout=\'\n");\n      goto LAB_00011a7a;\n    }\n    goto code_r0x000114e8;\n  case 0x4d:\n    uVar7 = func_0x00011320(*(undefined4 *)PTR_optarg_0001dffc);\n    if (1 < uVar7) {\n      pr2serr("bad argument to \'--same\', expect 0 or 1\n");\n      goto LAB_00011a7a;\n    }\n    local_810 = (byte)uVar7 & 1;\n    local_818 = 1;\n    local_794 = (stat64 *)0x17159;\n    psVar38 = local_7d0;\n    uVar16 = uStack_7c4;\n    uVar7 = local_7c0;\n    goto code_r0x000114e8;\n  case 0x4e:\n    local_814 = 1;\n    local_794 = (stat64 *)0x17164;\n    goto code_r0x000114e8;\n  case 0x4f:\n    local_81b = 1;\n    local_794 = (stat64 *)0x1716a;\n    goto code_r0x000114e8;\n  case 0x51:\n    local_81a = '\x01';\n    goto code_r0x000114e8;\n  case 0x52:\n    local_819 = '\x01';\n    goto code_r0x000114e8;\n  case 0x53:\n    uVar7 = func_0x00011320(*(undefined4 *)PTR_optarg_0001dffc);\n    if (0xffff < uVar7) {\n      pr2serr("bad argument to \'--scattered=\'. Expect 0 to 0xffff inclusive\n");\n      goto LAB_00011a7a;\n    }\n    local_7e0 = (ushort)uVar7;\n    local_794 = (stat64 *)0x17172;\n    local_817 = 1;\n    psVar38 = local_7d0;\n    uVar16 = uStack_7c4;\n    uVar7 = local_7c0;\n    goto code_r0x000114e8;\n  case 0x54:\n    uVar7 = func_0x00011320(*(undefined4 *)PTR_optarg_0001dffc);\n    if (0xffff < uVar7) {\n      pr2serr("bad argument to \'--stream=\', expect 0 to 65535\n");\n      goto LAB_00011a7a;\n    }\n    uStack_7de = (undefined2)uVar7;\n    local_794 = (stat64 *)0x17182;\n    local_816 = 1;\n    psVar38 = local_7d0;\n    uVar16 = uStack_7c4;\n    uVar7 = local_7c0;\n    goto code_r0x000114e8;\n  case 0x56:\n    local_80e = '\x01';\n    goto code_r0x000114e8;\n  case 0x61:\n    uVar7 = func_0x00011320(*(undefined4 *)PTR_optarg_0001dffc);\n    if (0xffff < uVar7) {\n      pr2serr("bad argument to \'--app-tag=\'. Expect 0 to 0xffff inclusive\n");\n      goto LAB_00011a7a;\n    }\n    local_7e6 = (ushort)uVar7;\n    psVar38 = local_7d0;\n    uVar16 = uStack_7c4;\n    uVar7 = local_7c0;\n    goto code_r0x000114e8;\n  case 0x62:\n    psVar17 = (stat64 *)func_0x00011320(*(undefined4 *)PTR_optarg_0001dffc);\n    if ((stat64 *)0x10000000 < psVar17) {\n      pr2serr("bad argument to \'--bs=\'. Expect 0 or greater\n");\n      goto LAB_00011a7a;\n    }\n    if (psVar17 == (stat64 *)0x0) {\n      local_7d8 = (stat64 *)0x0;\n      local_7d4 = (stat64 *)0x0;\n      psVar38 = local_7d0;\n      uVar16 = uStack_7c4;\n      uVar7 = local_7c0;\n    }\n    else {\n      if ((int)psVar17 < 0x200) {\n        pr2serr("warning: --bs=BS value is < 512 which seems too small, continue\n");\n        bVar1 = 1;\n      }\n      if (((uint)psVar17 & 7) != 0) {\n        pr2serr("warning: --bs=BS value is not a multiple of 8, unexpected, continue\n");\n        bVar1 = 1;\n      }\n      iVar21 = 0;\n      iVar10 = 0;\n      psVar38 = psVar17;\n      do {\n        if (((uint)psVar38 & 1) != 0) {\n          iVar21 = iVar10;\n        }\n        iVar10 = iVar10 + 1;\n        psVar38 = (stat64 *)((int)psVar38 >> 1);\n      } while (iVar10 != 0x1c);\n      psVar22 = (stat64 *)(1 << ((byte)iVar21 & 0x1f));\n      local_7d8 = psVar17;\n      local_7d4 = psVar17;\n      psVar38 = local_7d0;\n      uVar16 = uStack_7c4;\n      uVar7 = local_7c0;\n      if (psVar17 != psVar22) {\n        local_7d8 = psVar22;\n      }\n    }\n    goto code_r0x000114e8;\n  case 99:\n    iVar21 = func_0x00011320(*(undefined4 *)PTR_optarg_0001dffc);\n    if (iVar21 < 0) {\n      pr2serr("bad argument to \'--combined=\'. Expect 0 to 0x7fffffff\n");\n      goto LAB_00011a7a;\n    }\n    local_7e2 = (ushort)iVar21;\n    local_81c = '\x01';\n    psVar38 = local_7d0;\n    uVar16 = uStack_7c4;\n    uVar7 = local_7c0;\n    goto code_r0x000114e8;\n  case 100:\n    uStack_812 = 1;\n    goto code_r0x000114e8;\n  case 0x66:\n    uStack_811 = 1;\n    goto code_r0x000114e8;\n  case 0x67:\n    uStack_804 = func_0x00011320(*(undefined4 *)PTR_optarg_0001dffc);\n    psVar38 = local_7d0;\n    uVar16 = uStack_7c4;\n    uVar7 = local_7c0;\n    if (0x3f < uStack_804) {\n      pr2serr("bad argument to \'--grpnum\'\n");\n      goto LAB_00011a7a;\n    }\n    goto code_r0x000114e8;\n  case 0x68:\n    local_800 = local_800 + 1;\n    goto code_r0x000114e8;\n  case 0x69:\n    local_79c = *(char **)PTR_optarg_0001dffc;\n    goto code_r0x000114e8;\n  case 0x6c:\n    if (local_91c != (stat64 *)0x0) {\n      pr2serr("only expect \'--lba=\' option once\n");\n      goto LAB_00011a7a;\n    }\n    local_91c = *(stat64 **)PTR_optarg_0001dffc;\n    goto code_r0x000114e8;\n  case 0x6e:\n    if (local_918 != (stat64 *)0x0) {\n      pr2serr("only expect \'--num=\' option once\n");\n      goto LAB_00011a7a;\n    }\n    local_918 = *(stat64 **)PTR_optarg_0001dffc;\n    goto code_r0x000114e8;\n  case 0x6f:\n    lVar34 = sg_get_llnum(*(undefined4 *)PTR_optarg_0001dffc);\n    psVar17 = (stat64 *)lVar34;\n    if (lVar34 == -1) {\n      pr2serr("bad first argument to \'--offset=\'\n");\n      goto LAB_00011a7a;\n    }\n    uVar36 = 0x2c;\n    psVar22 = psVar17;\n    local_7b4 = psVar17;\n    local_7b0 = (stat64 *)((ulonglong)lVar34 >> 0x20);\n    pcVar15 = strchr(*(char **)puVar5,0x2c);\n    psVar38 = local_7d0;\n    uVar16 = uStack_7c4;\n    uVar7 = local_7c0;\n    if (pcVar15 != (char *)0x0) {\n      lVar34 = sg_get_llnum(pcVar15 + 1,uVar36,psVar17,psVar22);\n      psVar38 = (stat64 *)lVar34;\n      uVar16 = uStack_7c4;\n      uVar7 = local_7c0;\n      if ((int)((ulonglong)lVar34 >> 0x20) == -1) {\n        if (psVar38 == (stat64 *)0xffffffff) {\n          pr2serr("bad second argument to \'--offset=\'\n");\n          goto LAB_00011a7a;\n        }\n      }\n      else if (0xffffffff < lVar34) {\n        pr2serr("bad second argument to \'--offset=\', cannot exceed 32 bits\n");\n        goto LAB_00011a7a;\n      }\n    }\n    goto code_r0x000114e8;\n  case 0x71:\n    local_798 = *(char **)PTR_optarg_0001dffc;\n    goto code_r0x000114e8;\n  case 0x72:\n    goto code_r0x000115f1;\n  case 0x73:\n    local_7f8 = local_7f8 + 1;\n    goto code_r0x000114e8;\n  case 0x74:\n    uVar7 = func_0x00011320(*(undefined4 *)PTR_optarg_0001dffc);\n    if (0xffff < uVar7) {\n      pr2serr("bad argument to \'--tag-mask=\'. Expect 0 to 0xffff inclusive\n");\n      goto LAB_00011a7a;\n    }\n    local_7dc = (ushort)uVar7;\n    psVar38 = local_7d0;\n    uVar16 = uStack_7c4;\n    uVar7 = local_7c0;\n    goto code_r0x000114e8;\n  case 0x75:\n    uVar7 = func_0x00011320(*(undefined4 *)puVar20);\n    if (3 < uVar7) {\n      pr2serr("bad argument to \'--unmap=\', expect 0 to 3\n");\n      goto LAB_00011a7a;\n    }\n    bStack_81e = (byte)(uVar7 >> 1) & 1;\n    bStack_815 = (byte)uVar7 & 1;\n    psVar38 = local_7d0;\n    uVar16 = uStack_7c4;\n    uVar7 = local_7c0;\n    goto code_r0x000114e8;\n  case 0x76:\n    local_80f = '\x01';\n    local_7f0 = (stat64 *)((int)&local_7f0->st_dev + 1);\n    goto code_r0x000114e8;\n  case 0x77:\n    local_7ec = (stat64 *)func_0x00011320(*(undefined4 *)puVar20);\n    if ((stat64 *)0x7 < local_7ec) {\n      pr2serr("bad argument to \'--wrprotect\'\n");\n      goto LAB_00011a7a;\n    }\n    local_813 = 0 < (int)local_7ec;\n    psVar38 = local_7d0;\n    uVar16 = uStack_7c4;\n    uVar7 = local_7c0;\n    goto code_r0x000114e8;\n  case 0x78:\n    iStack_808 = iStack_808 + 1;\n    goto code_r0x000114e8;\n  }" switch (parenthesized_expression "((int)uVar33)" ( (cast_expression "(int)uVar33" ( (type_descriptor "int" primitive_type) ) identifier) )) (compound_statement "{\n  case 0x33:\n    local_81f = '\x01';\n    goto code_r0x000114e8;\n  default:\n    pcVar15 = "unrecognised option code 0x%x ??\n";\n    break;\n  case 0x36:\n    local_820 = '\x01';\n    goto code_r0x000114e8;\n  case 0x3f:\n    pcVar15 = "\n";\n    break;\n  case 0x41:\n    uVar7 = func_0x00011320(*(undefined4 *)PTR_optarg_0001dffc);\n    if (0xffff < uVar7) {\n      pr2serr("bad argument to \'--atomic=\'. Expect 0 to 0xffff inclusive\n");\n      goto LAB_00011a7a;\n    }\n    uStack_7e4 = (undefined2)uVar7;\n    local_81d = 1;\n    local_794 = (stat64 *)0x17112;\n    psVar38 = local_7d0;\n    uVar16 = uStack_7c4;\n    uVar7 = local_7c0;\n    goto code_r0x000114e8;\n  case 0x42:\n    uVar24 = func_0x00011320(*(undefined4 *)PTR_optarg_0001dffc);\n    if (7 < uVar24) {\n      pr2serr("bad first argument to \'--bmop=\'\n");\n      goto LAB_00011a7a;\n    }\n    uStack_7e8 = (undefined1)uVar24;\n    uVar36 = 0x2c;\n    uVar41 = uVar24;\n    pcVar15 = strchr(*(char **)puVar5,0x2c);\n    psVar38 = local_7d0;\n    uVar16 = uStack_7c4;\n    uVar7 = local_7c0;\n    if (pcVar15 != (char *)0x0) {\n      uVar7 = func_0x00011320(pcVar15 + 1,uVar36,uVar24,uVar41);\n      if (0xf < uVar7) {\n        pr2serr("bad second argument to \'--bmop=\'\n");\n        goto LAB_00011a7a;\n      }\n      uStack_7e7 = (undefined1)uVar7;\n      psVar38 = local_7d0;\n      uVar16 = uStack_7c4;\n      uVar7 = local_7c0;\n    }\n    goto code_r0x000114e8;\n  case 0x44:\n    uStack_80c = func_0x00011320(*(undefined4 *)PTR_optarg_0001dffc);\n    psVar38 = local_7d0;\n    uVar16 = uStack_7c4;\n    uVar7 = local_7c0;\n    if (7 < uStack_80c) {\n      pr2serr("bad argument to \'--dld=\', expect 0 to 7 inclusive\n");\n      goto LAB_00011a7a;\n    }\n    goto code_r0x000114e8;\n  case 0x47:\n    uVar33 = sg_get_llnum(*(undefined4 *)PTR_optarg_0001dffc);\n    uVar36 = (undefined4)uVar33;\n    if ((int)((ulonglong)uVar33 >> 0x20) != 0) {\n      pr2serr("bad first argument to \'--generation=\'\n");\n      goto LAB_00011a7a;\n    }\n    uVar37 = 0x2c;\n    uVar40 = uVar36;\n    uStack_7c8 = uVar36;\n    pcVar15 = strchr(*(char **)puVar5,0x2c);\n    if (pcVar15 == (char *)0x0) {\n      pr2serr("need two arguments with --generation=EOG,NOG and they must be comma separated\n",\n              uVar37,uVar36,uVar40);\n      goto LAB_00011a7a;\n    }\n    uVar33 = sg_get_llnum(pcVar15 + 1);\n    psVar38 = local_7d0;\n    uVar16 = (int)uVar33;\n    uVar7 = local_7c0;\n    if ((int)((ulonglong)uVar33 >> 0x20) != 0) {\n      pr2serr("bad second argument to \'--generation=\'\n",uVar37,uVar36,uVar40);\n      goto LAB_00011a7a;\n    }\n    goto code_r0x000114e8;\n  case 0x49:\n    local_7f4 = func_0x00011320(*(undefined4 *)PTR_optarg_0001dffc);\n    psVar38 = local_7d0;\n    uVar16 = uStack_7c4;\n    uVar7 = local_7c0;\n    if (local_7f4 < 0) {\n      pr2serr("bad argument to \'--timeout=\'\n");\n      goto LAB_00011a7a;\n    }\n    goto code_r0x000114e8;\n  case 0x4d:\n    uVar7 = func_0x00011320(*(undefined4 *)PTR_optarg_0001dffc);\n    if (1 < uVar7) {\n      pr2serr("bad argument to \'--same\', expect 0 or 1\n");\n      goto LAB_00011a7a;\n    }\n    local_810 = (byte)uVar7 & 1;\n    local_818 = 1;\n    local_794 = (stat64 *)0x17159;\n    psVar38 = local_7d0;\n    uVar16 = uStack_7c4;\n    uVar7 = local_7c0;\n    goto code_r0x000114e8;\n  case 0x4e:\n    local_814 = 1;\n    local_794 = (stat64 *)0x17164;\n    goto code_r0x000114e8;\n  case 0x4f:\n    local_81b = 1;\n    local_794 = (stat64 *)0x1716a;\n    goto code_r0x000114e8;\n  case 0x51:\n    local_81a = '\x01';\n    goto code_r0x000114e8;\n  case 0x52:\n    local_819 = '\x01';\n    goto code_r0x000114e8;\n  case 0x53:\n    uVar7 = func_0x00011320(*(undefined4 *)PTR_optarg_0001dffc);\n    if (0xffff < uVar7) {\n      pr2serr("bad argument to \'--scattered=\'. Expect 0 to 0xffff inclusive\n");\n      goto LAB_00011a7a;\n    }\n    local_7e0 = (ushort)uVar7;\n    local_794 = (stat64 *)0x17172;\n    local_817 = 1;\n    psVar38 = local_7d0;\n    uVar16 = uStack_7c4;\n    uVar7 = local_7c0;\n    goto code_r0x000114e8;\n  case 0x54:\n    uVar7 = func_0x00011320(*(undefined4 *)PTR_optarg_0001dffc);\n    if (0xffff < uVar7) {\n      pr2serr("bad argument to \'--stream=\', expect 0 to 65535\n");\n      goto LAB_00011a7a;\n    }\n    uStack_7de = (undefined2)uVar7;\n    local_794 = (stat64 *)0x17182;\n    local_816 = 1;\n    psVar38 = local_7d0;\n    uVar16 = uStack_7c4;\n    uVar7 = local_7c0;\n    goto code_r0x000114e8;\n  case 0x56:\n    local_80e = '\x01';\n    goto code_r0x000114e8;\n  case 0x61:\n    uVar7 = func_0x00011320(*(undefined4 *)PTR_optarg_0001dffc);\n    if (0xffff < uVar7) {\n      pr2serr("bad argument to \'--app-tag=\'. Expect 0 to 0xffff inclusive\n");\n      goto LAB_00011a7a;\n    }\n    local_7e6 = (ushort)uVar7;\n    psVar38 = local_7d0;\n    uVar16 = uStack_7c4;\n    uVar7 = local_7c0;\n    goto code_r0x000114e8;\n  case 0x62:\n    psVar17 = (stat64 *)func_0x00011320(*(undefined4 *)PTR_optarg_0001dffc);\n    if ((stat64 *)0x10000000 < psVar17) {\n      pr2serr("bad argument to \'--bs=\'. Expect 0 or greater\n");\n      goto LAB_00011a7a;\n    }\n    if (psVar17 == (stat64 *)0x0) {\n      local_7d8 = (stat64 *)0x0;\n      local_7d4 = (stat64 *)0x0;\n      psVar38 = local_7d0;\n      uVar16 = uStack_7c4;\n      uVar7 = local_7c0;\n    }\n    else {\n      if ((int)psVar17 < 0x200) {\n        pr2serr("warning: --bs=BS value is < 512 which seems too small, continue\n");\n        bVar1 = 1;\n      }\n      if (((uint)psVar17 & 7) != 0) {\n        pr2serr("warning: --bs=BS value is not a multiple of 8, unexpected, continue\n");\n        bVar1 = 1;\n      }\n      iVar21 = 0;\n      iVar10 = 0;\n      psVar38 = psVar17;\n      do {\n        if (((uint)psVar38 & 1) != 0) {\n          iVar21 = iVar10;\n        }\n        iVar10 = iVar10 + 1;\n        psVar38 = (stat64 *)((int)psVar38 >> 1);\n      } while (iVar10 != 0x1c);\n      psVar22 = (stat64 *)(1 << ((byte)iVar21 & 0x1f));\n      local_7d8 = psVar17;\n      local_7d4 = psVar17;\n      psVar38 = local_7d0;\n      uVar16 = uStack_7c4;\n      uVar7 = local_7c0;\n      if (psVar17 != psVar22) {\n        local_7d8 = psVar22;\n      }\n    }\n    goto code_r0x000114e8;\n  case 99:\n    iVar21 = func_0x00011320(*(undefined4 *)PTR_optarg_0001dffc);\n    if (iVar21 < 0) {\n      pr2serr("bad argument to \'--combined=\'. Expect 0 to 0x7fffffff\n");\n      goto LAB_00011a7a;\n    }\n    local_7e2 = (ushort)iVar21;\n    local_81c = '\x01';\n    psVar38 = local_7d0;\n    uVar16 = uStack_7c4;\n    uVar7 = local_7c0;\n    goto code_r0x000114e8;\n  case 100:\n    uStack_812 = 1;\n    goto code_r0x000114e8;\n  case 0x66:\n    uStack_811 = 1;\n    goto code_r0x000114e8;\n  case 0x67:\n    uStack_804 = func_0x00011320(*(undefined4 *)PTR_optarg_0001dffc);\n    psVar38 = local_7d0;\n    uVar16 = uStack_7c4;\n    uVar7 = local_7c0;\n    if (0x3f < uStack_804) {\n      pr2serr("bad argument to \'--grpnum\'\n");\n      goto LAB_00011a7a;\n    }\n    goto code_r0x000114e8;\n  case 0x68:\n    local_800 = local_800 + 1;\n    goto code_r0x000114e8;\n  case 0x69:\n    local_79c = *(char **)PTR_optarg_0001dffc;\n    goto code_r0x000114e8;\n  case 0x6c:\n    if (local_91c != (stat64 *)0x0) {\n      pr2serr("only expect \'--lba=\' option once\n");\n      goto LAB_00011a7a;\n    }\n    local_91c = *(stat64 **)PTR_optarg_0001dffc;\n    goto code_r0x000114e8;\n  case 0x6e:\n    if (local_918 != (stat64 *)0x0) {\n      pr2serr("only expect \'--num=\' option once\n");\n      goto LAB_00011a7a;\n    }\n    local_918 = *(stat64 **)PTR_optarg_0001dffc;\n    goto code_r0x000114e8;\n  case 0x6f:\n    lVar34 = sg_get_llnum(*(undefined4 *)PTR_optarg_0001dffc);\n    psVar17 = (stat64 *)lVar34;\n    if (lVar34 == -1) {\n      pr2serr("bad first argument to \'--offset=\'\n");\n      goto LAB_00011a7a;\n    }\n    uVar36 = 0x2c;\n    psVar22 = psVar17;\n    local_7b4 = psVar17;\n    local_7b0 = (stat64 *)((ulonglong)lVar34 >> 0x20);\n    pcVar15 = strchr(*(char **)puVar5,0x2c);\n    psVar38 = local_7d0;\n    uVar16 = uStack_7c4;\n    uVar7 = local_7c0;\n    if (pcVar15 != (char *)0x0) {\n      lVar34 = sg_get_llnum(pcVar15 + 1,uVar36,psVar17,psVar22);\n      psVar38 = (stat64 *)lVar34;\n      uVar16 = uStack_7c4;\n      uVar7 = local_7c0;\n      if ((int)((ulonglong)lVar34 >> 0x20) == -1) {\n        if (psVar38 == (stat64 *)0xffffffff) {\n          pr2serr("bad second argument to \'--offset=\'\n");\n          goto LAB_00011a7a;\n        }\n      }\n      else if (0xffffffff < lVar34) {\n        pr2serr("bad second argument to \'--offset=\', cannot exceed 32 bits\n");\n        goto LAB_00011a7a;\n      }\n    }\n    goto code_r0x000114e8;\n  case 0x71:\n    local_798 = *(char **)PTR_optarg_0001dffc;\n    goto code_r0x000114e8;\n  case 0x72:\n    goto code_r0x000115f1;\n  case 0x73:\n    local_7f8 = local_7f8 + 1;\n    goto code_r0x000114e8;\n  case 0x74:\n    uVar7 = func_0x00011320(*(undefined4 *)PTR_optarg_0001dffc);\n    if (0xffff < uVar7) {\n      pr2serr("bad argument to \'--tag-mask=\'. Expect 0 to 0xffff inclusive\n");\n      goto LAB_00011a7a;\n    }\n    local_7dc = (ushort)uVar7;\n    psVar38 = local_7d0;\n    uVar16 = uStack_7c4;\n    uVar7 = local_7c0;\n    goto code_r0x000114e8;\n  case 0x75:\n    uVar7 = func_0x00011320(*(undefined4 *)puVar20);\n    if (3 < uVar7) {\n      pr2serr("bad argument to \'--unmap=\', expect 0 to 3\n");\n      goto LAB_00011a7a;\n    }\n    bStack_81e = (byte)(uVar7 >> 1) & 1;\n    bStack_815 = (byte)uVar7 & 1;\n    psVar38 = local_7d0;\n    uVar16 = uStack_7c4;\n    uVar7 = local_7c0;\n    goto code_r0x000114e8;\n  case 0x76:\n    local_80f = '\x01';\n    local_7f0 = (stat64 *)((int)&local_7f0->st_dev + 1);\n    goto code_r0x000114e8;\n  case 0x77:\n    local_7ec = (stat64 *)func_0x00011320(*(undefined4 *)puVar20);\n    if ((stat64 *)0x7 < local_7ec) {\n      pr2serr("bad argument to \'--wrprotect\'\n");\n      goto LAB_00011a7a;\n    }\n    local_813 = 0 < (int)local_7ec;\n    psVar38 = local_7d0;\n    uVar16 = uStack_7c4;\n    uVar7 = local_7c0;\n    goto code_r0x000114e8;\n  case 0x78:\n    iStack_808 = iStack_808 + 1;\n    goto code_r0x000114e8;\n  }" { (case_statement "case 0x33:\n    local_81f = '\x01';\n    goto code_r0x000114e8;" case number_literal : (expression_statement "local_81f = '\x01';" (assignment_expression "local_81f = '\x01'" identifier = (char_literal "'\x01'" ' escape_sequence ')) ;) (goto_statement "goto code_r0x000114e8;" goto statement_identifier ;)) (case_statement "default:\n    pcVar15 = "unrecognised option code 0x%x ??\n";\n    break;" default : (expression_statement "pcVar15 = "unrecognised option code 0x%x ??\n";" (assignment_expression "pcVar15 = "unrecognised option code 0x%x ??\n"" identifier = (string_literal ""unrecognised option code 0x%x ??\n"" " string_content escape_sequence ")) ;) (break_statement "break;" break ;)) (case_statement "case 0x36:\n    local_820 = '\x01';\n    goto code_r0x000114e8;" case number_literal : (expression_statement "local_820 = '\x01';" (assignment_expression "local_820 = '\x01'" identifier = (char_literal "'\x01'" ' escape_sequence ')) ;) (goto_statement "goto code_r0x000114e8;" goto statement_identifier ;)) (case_statement "case 0x3f:\n    pcVar15 = "\n";\n    break;" case number_literal : (expression_statement "pcVar15 = "\n";" (assignment_expression "pcVar15 = "\n"" identifier = (string_literal ""\n"" " escape_sequence ")) ;) (break_statement "break;" break ;)) (case_statement "case 0x41:\n    uVar7 = func_0x00011320(*(undefined4 *)PTR_optarg_0001dffc);\n    if (0xffff < uVar7) {\n      pr2serr("bad argument to \'--atomic=\'. Expect 0 to 0xffff inclusive\n");\n      goto LAB_00011a7a;\n    }\n    uStack_7e4 = (undefined2)uVar7;\n    local_81d = 1;\n    local_794 = (stat64 *)0x17112;\n    psVar38 = local_7d0;\n    uVar16 = uStack_7c4;\n    uVar7 = local_7c0;\n    goto code_r0x000114e8;" case number_literal : (expression_statement "uVar7 = func_0x00011320(*(undefined4 *)PTR_optarg_0001dffc);" (assignment_expression "uVar7 = func_0x00011320(*(undefined4 *)PTR_optarg_0001dffc)" identifier = (call_expression "func_0x00011320(*(undefined4 *)PTR_optarg_0001dffc)" identifier (argument_list "(*(undefined4 *)PTR_optarg_0001dffc)" ( (pointer_expression "*(undefined4 *)PTR_optarg_0001dffc" * (cast_expression "(undefined4 *)PTR_optarg_0001dffc" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )))) ;) (if_statement "if (0xffff < uVar7) {\n      pr2serr("bad argument to \'--atomic=\'. Expect 0 to 0xffff inclusive\n");\n      goto LAB_00011a7a;\n    }" if (parenthesized_expression "(0xffff < uVar7)" ( (binary_expression "0xffff < uVar7" number_literal < identifier) )) (compound_statement "{\n      pr2serr("bad argument to \'--atomic=\'. Expect 0 to 0xffff inclusive\n");\n      goto LAB_00011a7a;\n    }" { (expression_statement "pr2serr("bad argument to \'--atomic=\'. Expect 0 to 0xffff inclusive\n");" (call_expression "pr2serr("bad argument to \'--atomic=\'. Expect 0 to 0xffff inclusive\n")" identifier (argument_list "("bad argument to \'--atomic=\'. Expect 0 to 0xffff inclusive\n")" ( (string_literal ""bad argument to \'--atomic=\'. Expect 0 to 0xffff inclusive\n"" " string_content escape_sequence string_content escape_sequence string_content escape_sequence ") ))) ;) (goto_statement "goto LAB_00011a7a;" goto statement_identifier ;) })) (expression_statement "uStack_7e4 = (undefined2)uVar7;" (assignment_expression "uStack_7e4 = (undefined2)uVar7" identifier = (cast_expression "(undefined2)uVar7" ( (type_descriptor "undefined2" type_identifier) ) identifier)) ;) (expression_statement "local_81d = 1;" (assignment_expression "local_81d = 1" identifier = number_literal) ;) (expression_statement "local_794 = (stat64 *)0x17112;" (assignment_expression "local_794 = (stat64 *)0x17112" identifier = (cast_expression "(stat64 *)0x17112" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "psVar38 = local_7d0;" (assignment_expression "psVar38 = local_7d0" identifier = identifier) ;) (expression_statement "uVar16 = uStack_7c4;" (assignment_expression "uVar16 = uStack_7c4" identifier = identifier) ;) (expression_statement "uVar7 = local_7c0;" (assignment_expression "uVar7 = local_7c0" identifier = identifier) ;) (goto_statement "goto code_r0x000114e8;" goto statement_identifier ;)) (case_statement "case 0x42:\n    uVar24 = func_0x00011320(*(undefined4 *)PTR_optarg_0001dffc);\n    if (7 < uVar24) {\n      pr2serr("bad first argument to \'--bmop=\'\n");\n      goto LAB_00011a7a;\n    }\n    uStack_7e8 = (undefined1)uVar24;\n    uVar36 = 0x2c;\n    uVar41 = uVar24;\n    pcVar15 = strchr(*(char **)puVar5,0x2c);\n    psVar38 = local_7d0;\n    uVar16 = uStack_7c4;\n    uVar7 = local_7c0;\n    if (pcVar15 != (char *)0x0) {\n      uVar7 = func_0x00011320(pcVar15 + 1,uVar36,uVar24,uVar41);\n      if (0xf < uVar7) {\n        pr2serr("bad second argument to \'--bmop=\'\n");\n        goto LAB_00011a7a;\n      }\n      uStack_7e7 = (undefined1)uVar7;\n      psVar38 = local_7d0;\n      uVar16 = uStack_7c4;\n      uVar7 = local_7c0;\n    }\n    goto code_r0x000114e8;" case number_literal : (expression_statement "uVar24 = func_0x00011320(*(undefined4 *)PTR_optarg_0001dffc);" (assignment_expression "uVar24 = func_0x00011320(*(undefined4 *)PTR_optarg_0001dffc)" identifier = (call_expression "func_0x00011320(*(undefined4 *)PTR_optarg_0001dffc)" identifier (argument_list "(*(undefined4 *)PTR_optarg_0001dffc)" ( (pointer_expression "*(undefined4 *)PTR_optarg_0001dffc" * (cast_expression "(undefined4 *)PTR_optarg_0001dffc" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )))) ;) (if_statement "if (7 < uVar24) {\n      pr2serr("bad first argument to \'--bmop=\'\n");\n      goto LAB_00011a7a;\n    }" if (parenthesized_expression "(7 < uVar24)" ( (binary_expression "7 < uVar24" number_literal < identifier) )) (compound_statement "{\n      pr2serr("bad first argument to \'--bmop=\'\n");\n      goto LAB_00011a7a;\n    }" { (expression_statement "pr2serr("bad first argument to \'--bmop=\'\n");" (call_expression "pr2serr("bad first argument to \'--bmop=\'\n")" identifier (argument_list "("bad first argument to \'--bmop=\'\n")" ( (string_literal ""bad first argument to \'--bmop=\'\n"" " string_content escape_sequence string_content escape_sequence escape_sequence ") ))) ;) (goto_statement "goto LAB_00011a7a;" goto statement_identifier ;) })) (expression_statement "uStack_7e8 = (undefined1)uVar24;" (assignment_expression "uStack_7e8 = (undefined1)uVar24" identifier = (cast_expression "(undefined1)uVar24" ( (type_descriptor "undefined1" type_identifier) ) identifier)) ;) (expression_statement "uVar36 = 0x2c;" (assignment_expression "uVar36 = 0x2c" identifier = number_literal) ;) (expression_statement "uVar41 = uVar24;" (assignment_expression "uVar41 = uVar24" identifier = identifier) ;) (expression_statement "pcVar15 = strchr(*(char **)puVar5,0x2c);" (assignment_expression "pcVar15 = strchr(*(char **)puVar5,0x2c)" identifier = (call_expression "strchr(*(char **)puVar5,0x2c)" identifier (argument_list "(*(char **)puVar5,0x2c)" ( (pointer_expression "*(char **)puVar5" * (cast_expression "(char **)puVar5" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier)) , number_literal )))) ;) (expression_statement "psVar38 = local_7d0;" (assignment_expression "psVar38 = local_7d0" identifier = identifier) ;) (expression_statement "uVar16 = uStack_7c4;" (assignment_expression "uVar16 = uStack_7c4" identifier = identifier) ;) (expression_statement "uVar7 = local_7c0;" (assignment_expression "uVar7 = local_7c0" identifier = identifier) ;) (if_statement "if (pcVar15 != (char *)0x0) {\n      uVar7 = func_0x00011320(pcVar15 + 1,uVar36,uVar24,uVar41);\n      if (0xf < uVar7) {\n        pr2serr("bad second argument to \'--bmop=\'\n");\n        goto LAB_00011a7a;\n      }\n      uStack_7e7 = (undefined1)uVar7;\n      psVar38 = local_7d0;\n      uVar16 = uStack_7c4;\n      uVar7 = local_7c0;\n    }" if (parenthesized_expression "(pcVar15 != (char *)0x0)" ( (binary_expression "pcVar15 != (char *)0x0" identifier != (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      uVar7 = func_0x00011320(pcVar15 + 1,uVar36,uVar24,uVar41);\n      if (0xf < uVar7) {\n        pr2serr("bad second argument to \'--bmop=\'\n");\n        goto LAB_00011a7a;\n      }\n      uStack_7e7 = (undefined1)uVar7;\n      psVar38 = local_7d0;\n      uVar16 = uStack_7c4;\n      uVar7 = local_7c0;\n    }" { (expression_statement "uVar7 = func_0x00011320(pcVar15 + 1,uVar36,uVar24,uVar41);" (assignment_expression "uVar7 = func_0x00011320(pcVar15 + 1,uVar36,uVar24,uVar41)" identifier = (call_expression "func_0x00011320(pcVar15 + 1,uVar36,uVar24,uVar41)" identifier (argument_list "(pcVar15 + 1,uVar36,uVar24,uVar41)" ( (binary_expression "pcVar15 + 1" identifier + number_literal) , identifier , identifier , identifier )))) ;) (if_statement "if (0xf < uVar7) {\n        pr2serr("bad second argument to \'--bmop=\'\n");\n        goto LAB_00011a7a;\n      }" if (parenthesized_expression "(0xf < uVar7)" ( (binary_expression "0xf < uVar7" number_literal < identifier) )) (compound_statement "{\n        pr2serr("bad second argument to \'--bmop=\'\n");\n        goto LAB_00011a7a;\n      }" { (expression_statement "pr2serr("bad second argument to \'--bmop=\'\n");" (call_expression "pr2serr("bad second argument to \'--bmop=\'\n")" identifier (argument_list "("bad second argument to \'--bmop=\'\n")" ( (string_literal ""bad second argument to \'--bmop=\'\n"" " string_content escape_sequence string_content escape_sequence escape_sequence ") ))) ;) (goto_statement "goto LAB_00011a7a;" goto statement_identifier ;) })) (expression_statement "uStack_7e7 = (undefined1)uVar7;" (assignment_expression "uStack_7e7 = (undefined1)uVar7" identifier = (cast_expression "(undefined1)uVar7" ( (type_descriptor "undefined1" type_identifier) ) identifier)) ;) (expression_statement "psVar38 = local_7d0;" (assignment_expression "psVar38 = local_7d0" identifier = identifier) ;) (expression_statement "uVar16 = uStack_7c4;" (assignment_expression "uVar16 = uStack_7c4" identifier = identifier) ;) (expression_statement "uVar7 = local_7c0;" (assignment_expression "uVar7 = local_7c0" identifier = identifier) ;) })) (goto_statement "goto code_r0x000114e8;" goto statement_identifier ;)) (case_statement "case 0x44:\n    uStack_80c = func_0x00011320(*(undefined4 *)PTR_optarg_0001dffc);\n    psVar38 = local_7d0;\n    uVar16 = uStack_7c4;\n    uVar7 = local_7c0;\n    if (7 < uStack_80c) {\n      pr2serr("bad argument to \'--dld=\', expect 0 to 7 inclusive\n");\n      goto LAB_00011a7a;\n    }\n    goto code_r0x000114e8;" case number_literal : (expression_statement "uStack_80c = func_0x00011320(*(undefined4 *)PTR_optarg_0001dffc);" (assignment_expression "uStack_80c = func_0x00011320(*(undefined4 *)PTR_optarg_0001dffc)" identifier = (call_expression "func_0x00011320(*(undefined4 *)PTR_optarg_0001dffc)" identifier (argument_list "(*(undefined4 *)PTR_optarg_0001dffc)" ( (pointer_expression "*(undefined4 *)PTR_optarg_0001dffc" * (cast_expression "(undefined4 *)PTR_optarg_0001dffc" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )))) ;) (expression_statement "psVar38 = local_7d0;" (assignment_expression "psVar38 = local_7d0" identifier = identifier) ;) (expression_statement "uVar16 = uStack_7c4;" (assignment_expression "uVar16 = uStack_7c4" identifier = identifier) ;) (expression_statement "uVar7 = local_7c0;" (assignment_expression "uVar7 = local_7c0" identifier = identifier) ;) (if_statement "if (7 < uStack_80c) {\n      pr2serr("bad argument to \'--dld=\', expect 0 to 7 inclusive\n");\n      goto LAB_00011a7a;\n    }" if (parenthesized_expression "(7 < uStack_80c)" ( (binary_expression "7 < uStack_80c" number_literal < identifier) )) (compound_statement "{\n      pr2serr("bad argument to \'--dld=\', expect 0 to 7 inclusive\n");\n      goto LAB_00011a7a;\n    }" { (expression_statement "pr2serr("bad argument to \'--dld=\', expect 0 to 7 inclusive\n");" (call_expression "pr2serr("bad argument to \'--dld=\', expect 0 to 7 inclusive\n")" identifier (argument_list "("bad argument to \'--dld=\', expect 0 to 7 inclusive\n")" ( (string_literal ""bad argument to \'--dld=\', expect 0 to 7 inclusive\n"" " string_content escape_sequence string_content escape_sequence string_content escape_sequence ") ))) ;) (goto_statement "goto LAB_00011a7a;" goto statement_identifier ;) })) (goto_statement "goto code_r0x000114e8;" goto statement_identifier ;)) (case_statement "case 0x47:\n    uVar33 = sg_get_llnum(*(undefined4 *)PTR_optarg_0001dffc);\n    uVar36 = (undefined4)uVar33;\n    if ((int)((ulonglong)uVar33 >> 0x20) != 0) {\n      pr2serr("bad first argument to \'--generation=\'\n");\n      goto LAB_00011a7a;\n    }\n    uVar37 = 0x2c;\n    uVar40 = uVar36;\n    uStack_7c8 = uVar36;\n    pcVar15 = strchr(*(char **)puVar5,0x2c);\n    if (pcVar15 == (char *)0x0) {\n      pr2serr("need two arguments with --generation=EOG,NOG and they must be comma separated\n",\n              uVar37,uVar36,uVar40);\n      goto LAB_00011a7a;\n    }\n    uVar33 = sg_get_llnum(pcVar15 + 1);\n    psVar38 = local_7d0;\n    uVar16 = (int)uVar33;\n    uVar7 = local_7c0;\n    if ((int)((ulonglong)uVar33 >> 0x20) != 0) {\n      pr2serr("bad second argument to \'--generation=\'\n",uVar37,uVar36,uVar40);\n      goto LAB_00011a7a;\n    }\n    goto code_r0x000114e8;" case number_literal : (expression_statement "uVar33 = sg_get_llnum(*(undefined4 *)PTR_optarg_0001dffc);" (assignment_expression "uVar33 = sg_get_llnum(*(undefined4 *)PTR_optarg_0001dffc)" identifier = (call_expression "sg_get_llnum(*(undefined4 *)PTR_optarg_0001dffc)" identifier (argument_list "(*(undefined4 *)PTR_optarg_0001dffc)" ( (pointer_expression "*(undefined4 *)PTR_optarg_0001dffc" * (cast_expression "(undefined4 *)PTR_optarg_0001dffc" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )))) ;) (expression_statement "uVar36 = (undefined4)uVar33;" (assignment_expression "uVar36 = (undefined4)uVar33" identifier = (cast_expression "(undefined4)uVar33" ( (type_descriptor "undefined4" type_identifier) ) identifier)) ;) (if_statement "if ((int)((ulonglong)uVar33 >> 0x20) != 0) {\n      pr2serr("bad first argument to \'--generation=\'\n");\n      goto LAB_00011a7a;\n    }" if (parenthesized_expression "((int)((ulonglong)uVar33 >> 0x20) != 0)" ( (binary_expression "(int)((ulonglong)uVar33 >> 0x20) != 0" (cast_expression "(int)((ulonglong)uVar33 >> 0x20)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((ulonglong)uVar33 >> 0x20)" ( (binary_expression "(ulonglong)uVar33 >> 0x20" (cast_expression "(ulonglong)uVar33" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) ))) != number_literal) )) (compound_statement "{\n      pr2serr("bad first argument to \'--generation=\'\n");\n      goto LAB_00011a7a;\n    }" { (expression_statement "pr2serr("bad first argument to \'--generation=\'\n");" (call_expression "pr2serr("bad first argument to \'--generation=\'\n")" identifier (argument_list "("bad first argument to \'--generation=\'\n")" ( (string_literal ""bad first argument to \'--generation=\'\n"" " string_content escape_sequence string_content escape_sequence escape_sequence ") ))) ;) (goto_statement "goto LAB_00011a7a;" goto statement_identifier ;) })) (expression_statement "uVar37 = 0x2c;" (assignment_expression "uVar37 = 0x2c" identifier = number_literal) ;) (expression_statement "uVar40 = uVar36;" (assignment_expression "uVar40 = uVar36" identifier = identifier) ;) (expression_statement "uStack_7c8 = uVar36;" (assignment_expression "uStack_7c8 = uVar36" identifier = identifier) ;) (expression_statement "pcVar15 = strchr(*(char **)puVar5,0x2c);" (assignment_expression "pcVar15 = strchr(*(char **)puVar5,0x2c)" identifier = (call_expression "strchr(*(char **)puVar5,0x2c)" identifier (argument_list "(*(char **)puVar5,0x2c)" ( (pointer_expression "*(char **)puVar5" * (cast_expression "(char **)puVar5" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier)) , number_literal )))) ;) (if_statement "if (pcVar15 == (char *)0x0) {\n      pr2serr("need two arguments with --generation=EOG,NOG and they must be comma separated\n",\n              uVar37,uVar36,uVar40);\n      goto LAB_00011a7a;\n    }" if (parenthesized_expression "(pcVar15 == (char *)0x0)" ( (binary_expression "pcVar15 == (char *)0x0" identifier == (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      pr2serr("need two arguments with --generation=EOG,NOG and they must be comma separated\n",\n              uVar37,uVar36,uVar40);\n      goto LAB_00011a7a;\n    }" { (expression_statement "pr2serr("need two arguments with --generation=EOG,NOG and they must be comma separated\n",\n              uVar37,uVar36,uVar40);" (call_expression "pr2serr("need two arguments with --generation=EOG,NOG and they must be comma separated\n",\n              uVar37,uVar36,uVar40)" identifier (argument_list "("need two arguments with --generation=EOG,NOG and they must be comma separated\n",\n              uVar37,uVar36,uVar40)" ( (string_literal ""need two arguments with --generation=EOG,NOG and they must be comma separated\n"" " string_content escape_sequence ") , identifier , identifier , identifier ))) ;) (goto_statement "goto LAB_00011a7a;" goto statement_identifier ;) })) (expression_statement "uVar33 = sg_get_llnum(pcVar15 + 1);" (assignment_expression "uVar33 = sg_get_llnum(pcVar15 + 1)" identifier = (call_expression "sg_get_llnum(pcVar15 + 1)" identifier (argument_list "(pcVar15 + 1)" ( (binary_expression "pcVar15 + 1" identifier + number_literal) )))) ;) (expression_statement "psVar38 = local_7d0;" (assignment_expression "psVar38 = local_7d0" identifier = identifier) ;) (expression_statement "uVar16 = (int)uVar33;" (assignment_expression "uVar16 = (int)uVar33" identifier = (cast_expression "(int)uVar33" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (expression_statement "uVar7 = local_7c0;" (assignment_expression "uVar7 = local_7c0" identifier = identifier) ;) (if_statement "if ((int)((ulonglong)uVar33 >> 0x20) != 0) {\n      pr2serr("bad second argument to \'--generation=\'\n",uVar37,uVar36,uVar40);\n      goto LAB_00011a7a;\n    }" if (parenthesized_expression "((int)((ulonglong)uVar33 >> 0x20) != 0)" ( (binary_expression "(int)((ulonglong)uVar33 >> 0x20) != 0" (cast_expression "(int)((ulonglong)uVar33 >> 0x20)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((ulonglong)uVar33 >> 0x20)" ( (binary_expression "(ulonglong)uVar33 >> 0x20" (cast_expression "(ulonglong)uVar33" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) ))) != number_literal) )) (compound_statement "{\n      pr2serr("bad second argument to \'--generation=\'\n",uVar37,uVar36,uVar40);\n      goto LAB_00011a7a;\n    }" { (expression_statement "pr2serr("bad second argument to \'--generation=\'\n",uVar37,uVar36,uVar40);" (call_expression "pr2serr("bad second argument to \'--generation=\'\n",uVar37,uVar36,uVar40)" identifier (argument_list "("bad second argument to \'--generation=\'\n",uVar37,uVar36,uVar40)" ( (string_literal ""bad second argument to \'--generation=\'\n"" " string_content escape_sequence string_content escape_sequence escape_sequence ") , identifier , identifier , identifier ))) ;) (goto_statement "goto LAB_00011a7a;" goto statement_identifier ;) })) (goto_statement "goto code_r0x000114e8;" goto statement_identifier ;)) (case_statement "case 0x49:\n    local_7f4 = func_0x00011320(*(undefined4 *)PTR_optarg_0001dffc);\n    psVar38 = local_7d0;\n    uVar16 = uStack_7c4;\n    uVar7 = local_7c0;\n    if (local_7f4 < 0) {\n      pr2serr("bad argument to \'--timeout=\'\n");\n      goto LAB_00011a7a;\n    }\n    goto code_r0x000114e8;" case number_literal : (expression_statement "local_7f4 = func_0x00011320(*(undefined4 *)PTR_optarg_0001dffc);" (assignment_expression "local_7f4 = func_0x00011320(*(undefined4 *)PTR_optarg_0001dffc)" identifier = (call_expression "func_0x00011320(*(undefined4 *)PTR_optarg_0001dffc)" identifier (argument_list "(*(undefined4 *)PTR_optarg_0001dffc)" ( (pointer_expression "*(undefined4 *)PTR_optarg_0001dffc" * (cast_expression "(undefined4 *)PTR_optarg_0001dffc" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )))) ;) (expression_statement "psVar38 = local_7d0;" (assignment_expression "psVar38 = local_7d0" identifier = identifier) ;) (expression_statement "uVar16 = uStack_7c4;" (assignment_expression "uVar16 = uStack_7c4" identifier = identifier) ;) (expression_statement "uVar7 = local_7c0;" (assignment_expression "uVar7 = local_7c0" identifier = identifier) ;) (if_statement "if (local_7f4 < 0) {\n      pr2serr("bad argument to \'--timeout=\'\n");\n      goto LAB_00011a7a;\n    }" if (parenthesized_expression "(local_7f4 < 0)" ( (binary_expression "local_7f4 < 0" identifier < number_literal) )) (compound_statement "{\n      pr2serr("bad argument to \'--timeout=\'\n");\n      goto LAB_00011a7a;\n    }" { (expression_statement "pr2serr("bad argument to \'--timeout=\'\n");" (call_expression "pr2serr("bad argument to \'--timeout=\'\n")" identifier (argument_list "("bad argument to \'--timeout=\'\n")" ( (string_literal ""bad argument to \'--timeout=\'\n"" " string_content escape_sequence string_content escape_sequence escape_sequence ") ))) ;) (goto_statement "goto LAB_00011a7a;" goto statement_identifier ;) })) (goto_statement "goto code_r0x000114e8;" goto statement_identifier ;)) (case_statement "case 0x4d:\n    uVar7 = func_0x00011320(*(undefined4 *)PTR_optarg_0001dffc);\n    if (1 < uVar7) {\n      pr2serr("bad argument to \'--same\', expect 0 or 1\n");\n      goto LAB_00011a7a;\n    }\n    local_810 = (byte)uVar7 & 1;\n    local_818 = 1;\n    local_794 = (stat64 *)0x17159;\n    psVar38 = local_7d0;\n    uVar16 = uStack_7c4;\n    uVar7 = local_7c0;\n    goto code_r0x000114e8;" case number_literal : (expression_statement "uVar7 = func_0x00011320(*(undefined4 *)PTR_optarg_0001dffc);" (assignment_expression "uVar7 = func_0x00011320(*(undefined4 *)PTR_optarg_0001dffc)" identifier = (call_expression "func_0x00011320(*(undefined4 *)PTR_optarg_0001dffc)" identifier (argument_list "(*(undefined4 *)PTR_optarg_0001dffc)" ( (pointer_expression "*(undefined4 *)PTR_optarg_0001dffc" * (cast_expression "(undefined4 *)PTR_optarg_0001dffc" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )))) ;) (if_statement "if (1 < uVar7) {\n      pr2serr("bad argument to \'--same\', expect 0 or 1\n");\n      goto LAB_00011a7a;\n    }" if (parenthesized_expression "(1 < uVar7)" ( (binary_expression "1 < uVar7" number_literal < identifier) )) (compound_statement "{\n      pr2serr("bad argument to \'--same\', expect 0 or 1\n");\n      goto LAB_00011a7a;\n    }" { (expression_statement "pr2serr("bad argument to \'--same\', expect 0 or 1\n");" (call_expression "pr2serr("bad argument to \'--same\', expect 0 or 1\n")" identifier (argument_list "("bad argument to \'--same\', expect 0 or 1\n")" ( (string_literal ""bad argument to \'--same\', expect 0 or 1\n"" " string_content escape_sequence string_content escape_sequence string_content escape_sequence ") ))) ;) (goto_statement "goto LAB_00011a7a;" goto statement_identifier ;) })) (expression_statement "local_810 = (byte)uVar7 & 1;" (assignment_expression "local_810 = (byte)uVar7 & 1" identifier = (binary_expression "(byte)uVar7 & 1" (cast_expression "(byte)uVar7" ( (type_descriptor "byte" type_identifier) ) identifier) & number_literal)) ;) (expression_statement "local_818 = 1;" (assignment_expression "local_818 = 1" identifier = number_literal) ;) (expression_statement "local_794 = (stat64 *)0x17159;" (assignment_expression "local_794 = (stat64 *)0x17159" identifier = (cast_expression "(stat64 *)0x17159" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "psVar38 = local_7d0;" (assignment_expression "psVar38 = local_7d0" identifier = identifier) ;) (expression_statement "uVar16 = uStack_7c4;" (assignment_expression "uVar16 = uStack_7c4" identifier = identifier) ;) (expression_statement "uVar7 = local_7c0;" (assignment_expression "uVar7 = local_7c0" identifier = identifier) ;) (goto_statement "goto code_r0x000114e8;" goto statement_identifier ;)) (case_statement "case 0x4e:\n    local_814 = 1;\n    local_794 = (stat64 *)0x17164;\n    goto code_r0x000114e8;" case number_literal : (expression_statement "local_814 = 1;" (assignment_expression "local_814 = 1" identifier = number_literal) ;) (expression_statement "local_794 = (stat64 *)0x17164;" (assignment_expression "local_794 = (stat64 *)0x17164" identifier = (cast_expression "(stat64 *)0x17164" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (goto_statement "goto code_r0x000114e8;" goto statement_identifier ;)) (case_statement "case 0x4f:\n    local_81b = 1;\n    local_794 = (stat64 *)0x1716a;\n    goto code_r0x000114e8;" case number_literal : (expression_statement "local_81b = 1;" (assignment_expression "local_81b = 1" identifier = number_literal) ;) (expression_statement "local_794 = (stat64 *)0x1716a;" (assignment_expression "local_794 = (stat64 *)0x1716a" identifier = (cast_expression "(stat64 *)0x1716a" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (goto_statement "goto code_r0x000114e8;" goto statement_identifier ;)) (case_statement "case 0x51:\n    local_81a = '\x01';\n    goto code_r0x000114e8;" case number_literal : (expression_statement "local_81a = '\x01';" (assignment_expression "local_81a = '\x01'" identifier = (char_literal "'\x01'" ' escape_sequence ')) ;) (goto_statement "goto code_r0x000114e8;" goto statement_identifier ;)) (case_statement "case 0x52:\n    local_819 = '\x01';\n    goto code_r0x000114e8;" case number_literal : (expression_statement "local_819 = '\x01';" (assignment_expression "local_819 = '\x01'" identifier = (char_literal "'\x01'" ' escape_sequence ')) ;) (goto_statement "goto code_r0x000114e8;" goto statement_identifier ;)) (case_statement "case 0x53:\n    uVar7 = func_0x00011320(*(undefined4 *)PTR_optarg_0001dffc);\n    if (0xffff < uVar7) {\n      pr2serr("bad argument to \'--scattered=\'. Expect 0 to 0xffff inclusive\n");\n      goto LAB_00011a7a;\n    }\n    local_7e0 = (ushort)uVar7;\n    local_794 = (stat64 *)0x17172;\n    local_817 = 1;\n    psVar38 = local_7d0;\n    uVar16 = uStack_7c4;\n    uVar7 = local_7c0;\n    goto code_r0x000114e8;" case number_literal : (expression_statement "uVar7 = func_0x00011320(*(undefined4 *)PTR_optarg_0001dffc);" (assignment_expression "uVar7 = func_0x00011320(*(undefined4 *)PTR_optarg_0001dffc)" identifier = (call_expression "func_0x00011320(*(undefined4 *)PTR_optarg_0001dffc)" identifier (argument_list "(*(undefined4 *)PTR_optarg_0001dffc)" ( (pointer_expression "*(undefined4 *)PTR_optarg_0001dffc" * (cast_expression "(undefined4 *)PTR_optarg_0001dffc" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )))) ;) (if_statement "if (0xffff < uVar7) {\n      pr2serr("bad argument to \'--scattered=\'. Expect 0 to 0xffff inclusive\n");\n      goto LAB_00011a7a;\n    }" if (parenthesized_expression "(0xffff < uVar7)" ( (binary_expression "0xffff < uVar7" number_literal < identifier) )) (compound_statement "{\n      pr2serr("bad argument to \'--scattered=\'. Expect 0 to 0xffff inclusive\n");\n      goto LAB_00011a7a;\n    }" { (expression_statement "pr2serr("bad argument to \'--scattered=\'. Expect 0 to 0xffff inclusive\n");" (call_expression "pr2serr("bad argument to \'--scattered=\'. Expect 0 to 0xffff inclusive\n")" identifier (argument_list "("bad argument to \'--scattered=\'. Expect 0 to 0xffff inclusive\n")" ( (string_literal ""bad argument to \'--scattered=\'. Expect 0 to 0xffff inclusive\n"" " string_content escape_sequence string_content escape_sequence string_content escape_sequence ") ))) ;) (goto_statement "goto LAB_00011a7a;" goto statement_identifier ;) })) (expression_statement "local_7e0 = (ushort)uVar7;" (assignment_expression "local_7e0 = (ushort)uVar7" identifier = (cast_expression "(ushort)uVar7" ( (type_descriptor "ushort" type_identifier) ) identifier)) ;) (expression_statement "local_794 = (stat64 *)0x17172;" (assignment_expression "local_794 = (stat64 *)0x17172" identifier = (cast_expression "(stat64 *)0x17172" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_817 = 1;" (assignment_expression "local_817 = 1" identifier = number_literal) ;) (expression_statement "psVar38 = local_7d0;" (assignment_expression "psVar38 = local_7d0" identifier = identifier) ;) (expression_statement "uVar16 = uStack_7c4;" (assignment_expression "uVar16 = uStack_7c4" identifier = identifier) ;) (expression_statement "uVar7 = local_7c0;" (assignment_expression "uVar7 = local_7c0" identifier = identifier) ;) (goto_statement "goto code_r0x000114e8;" goto statement_identifier ;)) (case_statement "case 0x54:\n    uVar7 = func_0x00011320(*(undefined4 *)PTR_optarg_0001dffc);\n    if (0xffff < uVar7) {\n      pr2serr("bad argument to \'--stream=\', expect 0 to 65535\n");\n      goto LAB_00011a7a;\n    }\n    uStack_7de = (undefined2)uVar7;\n    local_794 = (stat64 *)0x17182;\n    local_816 = 1;\n    psVar38 = local_7d0;\n    uVar16 = uStack_7c4;\n    uVar7 = local_7c0;\n    goto code_r0x000114e8;" case number_literal : (expression_statement "uVar7 = func_0x00011320(*(undefined4 *)PTR_optarg_0001dffc);" (assignment_expression "uVar7 = func_0x00011320(*(undefined4 *)PTR_optarg_0001dffc)" identifier = (call_expression "func_0x00011320(*(undefined4 *)PTR_optarg_0001dffc)" identifier (argument_list "(*(undefined4 *)PTR_optarg_0001dffc)" ( (pointer_expression "*(undefined4 *)PTR_optarg_0001dffc" * (cast_expression "(undefined4 *)PTR_optarg_0001dffc" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )))) ;) (if_statement "if (0xffff < uVar7) {\n      pr2serr("bad argument to \'--stream=\', expect 0 to 65535\n");\n      goto LAB_00011a7a;\n    }" if (parenthesized_expression "(0xffff < uVar7)" ( (binary_expression "0xffff < uVar7" number_literal < identifier) )) (compound_statement "{\n      pr2serr("bad argument to \'--stream=\', expect 0 to 65535\n");\n      goto LAB_00011a7a;\n    }" { (expression_statement "pr2serr("bad argument to \'--stream=\', expect 0 to 65535\n");" (call_expression "pr2serr("bad argument to \'--stream=\', expect 0 to 65535\n")" identifier (argument_list "("bad argument to \'--stream=\', expect 0 to 65535\n")" ( (string_literal ""bad argument to \'--stream=\', expect 0 to 65535\n"" " string_content escape_sequence string_content escape_sequence string_content escape_sequence ") ))) ;) (goto_statement "goto LAB_00011a7a;" goto statement_identifier ;) })) (expression_statement "uStack_7de = (undefined2)uVar7;" (assignment_expression "uStack_7de = (undefined2)uVar7" identifier = (cast_expression "(undefined2)uVar7" ( (type_descriptor "undefined2" type_identifier) ) identifier)) ;) (expression_statement "local_794 = (stat64 *)0x17182;" (assignment_expression "local_794 = (stat64 *)0x17182" identifier = (cast_expression "(stat64 *)0x17182" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_816 = 1;" (assignment_expression "local_816 = 1" identifier = number_literal) ;) (expression_statement "psVar38 = local_7d0;" (assignment_expression "psVar38 = local_7d0" identifier = identifier) ;) (expression_statement "uVar16 = uStack_7c4;" (assignment_expression "uVar16 = uStack_7c4" identifier = identifier) ;) (expression_statement "uVar7 = local_7c0;" (assignment_expression "uVar7 = local_7c0" identifier = identifier) ;) (goto_statement "goto code_r0x000114e8;" goto statement_identifier ;)) (case_statement "case 0x56:\n    local_80e = '\x01';\n    goto code_r0x000114e8;" case number_literal : (expression_statement "local_80e = '\x01';" (assignment_expression "local_80e = '\x01'" identifier = (char_literal "'\x01'" ' escape_sequence ')) ;) (goto_statement "goto code_r0x000114e8;" goto statement_identifier ;)) (case_statement "case 0x61:\n    uVar7 = func_0x00011320(*(undefined4 *)PTR_optarg_0001dffc);\n    if (0xffff < uVar7) {\n      pr2serr("bad argument to \'--app-tag=\'. Expect 0 to 0xffff inclusive\n");\n      goto LAB_00011a7a;\n    }\n    local_7e6 = (ushort)uVar7;\n    psVar38 = local_7d0;\n    uVar16 = uStack_7c4;\n    uVar7 = local_7c0;\n    goto code_r0x000114e8;" case number_literal : (expression_statement "uVar7 = func_0x00011320(*(undefined4 *)PTR_optarg_0001dffc);" (assignment_expression "uVar7 = func_0x00011320(*(undefined4 *)PTR_optarg_0001dffc)" identifier = (call_expression "func_0x00011320(*(undefined4 *)PTR_optarg_0001dffc)" identifier (argument_list "(*(undefined4 *)PTR_optarg_0001dffc)" ( (pointer_expression "*(undefined4 *)PTR_optarg_0001dffc" * (cast_expression "(undefined4 *)PTR_optarg_0001dffc" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )))) ;) (if_statement "if (0xffff < uVar7) {\n      pr2serr("bad argument to \'--app-tag=\'. Expect 0 to 0xffff inclusive\n");\n      goto LAB_00011a7a;\n    }" if (parenthesized_expression "(0xffff < uVar7)" ( (binary_expression "0xffff < uVar7" number_literal < identifier) )) (compound_statement "{\n      pr2serr("bad argument to \'--app-tag=\'. Expect 0 to 0xffff inclusive\n");\n      goto LAB_00011a7a;\n    }" { (expression_statement "pr2serr("bad argument to \'--app-tag=\'. Expect 0 to 0xffff inclusive\n");" (call_expression "pr2serr("bad argument to \'--app-tag=\'. Expect 0 to 0xffff inclusive\n")" identifier (argument_list "("bad argument to \'--app-tag=\'. Expect 0 to 0xffff inclusive\n")" ( (string_literal ""bad argument to \'--app-tag=\'. Expect 0 to 0xffff inclusive\n"" " string_content escape_sequence string_content escape_sequence string_content escape_sequence ") ))) ;) (goto_statement "goto LAB_00011a7a;" goto statement_identifier ;) })) (expression_statement "local_7e6 = (ushort)uVar7;" (assignment_expression "local_7e6 = (ushort)uVar7" identifier = (cast_expression "(ushort)uVar7" ( (type_descriptor "ushort" type_identifier) ) identifier)) ;) (expression_statement "psVar38 = local_7d0;" (assignment_expression "psVar38 = local_7d0" identifier = identifier) ;) (expression_statement "uVar16 = uStack_7c4;" (assignment_expression "uVar16 = uStack_7c4" identifier = identifier) ;) (expression_statement "uVar7 = local_7c0;" (assignment_expression "uVar7 = local_7c0" identifier = identifier) ;) (goto_statement "goto code_r0x000114e8;" goto statement_identifier ;)) (case_statement "case 0x62:\n    psVar17 = (stat64 *)func_0x00011320(*(undefined4 *)PTR_optarg_0001dffc);\n    if ((stat64 *)0x10000000 < psVar17) {\n      pr2serr("bad argument to \'--bs=\'. Expect 0 or greater\n");\n      goto LAB_00011a7a;\n    }\n    if (psVar17 == (stat64 *)0x0) {\n      local_7d8 = (stat64 *)0x0;\n      local_7d4 = (stat64 *)0x0;\n      psVar38 = local_7d0;\n      uVar16 = uStack_7c4;\n      uVar7 = local_7c0;\n    }\n    else {\n      if ((int)psVar17 < 0x200) {\n        pr2serr("warning: --bs=BS value is < 512 which seems too small, continue\n");\n        bVar1 = 1;\n      }\n      if (((uint)psVar17 & 7) != 0) {\n        pr2serr("warning: --bs=BS value is not a multiple of 8, unexpected, continue\n");\n        bVar1 = 1;\n      }\n      iVar21 = 0;\n      iVar10 = 0;\n      psVar38 = psVar17;\n      do {\n        if (((uint)psVar38 & 1) != 0) {\n          iVar21 = iVar10;\n        }\n        iVar10 = iVar10 + 1;\n        psVar38 = (stat64 *)((int)psVar38 >> 1);\n      } while (iVar10 != 0x1c);\n      psVar22 = (stat64 *)(1 << ((byte)iVar21 & 0x1f));\n      local_7d8 = psVar17;\n      local_7d4 = psVar17;\n      psVar38 = local_7d0;\n      uVar16 = uStack_7c4;\n      uVar7 = local_7c0;\n      if (psVar17 != psVar22) {\n        local_7d8 = psVar22;\n      }\n    }\n    goto code_r0x000114e8;" case number_literal : (expression_statement "psVar17 = (stat64 *)func_0x00011320(*(undefined4 *)PTR_optarg_0001dffc);" (assignment_expression "psVar17 = (stat64 *)func_0x00011320(*(undefined4 *)PTR_optarg_0001dffc)" identifier = (cast_expression "(stat64 *)func_0x00011320(*(undefined4 *)PTR_optarg_0001dffc)" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "func_0x00011320(*(undefined4 *)PTR_optarg_0001dffc)" identifier (argument_list "(*(undefined4 *)PTR_optarg_0001dffc)" ( (pointer_expression "*(undefined4 *)PTR_optarg_0001dffc" * (cast_expression "(undefined4 *)PTR_optarg_0001dffc" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ))))) ;) (if_statement "if ((stat64 *)0x10000000 < psVar17) {\n      pr2serr("bad argument to \'--bs=\'. Expect 0 or greater\n");\n      goto LAB_00011a7a;\n    }" if (parenthesized_expression "((stat64 *)0x10000000 < psVar17)" ( (binary_expression "(stat64 *)0x10000000 < psVar17" (cast_expression "(stat64 *)0x10000000" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal) < identifier) )) (compound_statement "{\n      pr2serr("bad argument to \'--bs=\'. Expect 0 or greater\n");\n      goto LAB_00011a7a;\n    }" { (expression_statement "pr2serr("bad argument to \'--bs=\'. Expect 0 or greater\n");" (call_expression "pr2serr("bad argument to \'--bs=\'. Expect 0 or greater\n")" identifier (argument_list "("bad argument to \'--bs=\'. Expect 0 or greater\n")" ( (string_literal ""bad argument to \'--bs=\'. Expect 0 or greater\n"" " string_content escape_sequence string_content escape_sequence string_content escape_sequence ") ))) ;) (goto_statement "goto LAB_00011a7a;" goto statement_identifier ;) })) (if_statement "if (psVar17 == (stat64 *)0x0) {\n      local_7d8 = (stat64 *)0x0;\n      local_7d4 = (stat64 *)0x0;\n      psVar38 = local_7d0;\n      uVar16 = uStack_7c4;\n      uVar7 = local_7c0;\n    }\n    else {\n      if ((int)psVar17 < 0x200) {\n        pr2serr("warning: --bs=BS value is < 512 which seems too small, continue\n");\n        bVar1 = 1;\n      }\n      if (((uint)psVar17 & 7) != 0) {\n        pr2serr("warning: --bs=BS value is not a multiple of 8, unexpected, continue\n");\n        bVar1 = 1;\n      }\n      iVar21 = 0;\n      iVar10 = 0;\n      psVar38 = psVar17;\n      do {\n        if (((uint)psVar38 & 1) != 0) {\n          iVar21 = iVar10;\n        }\n        iVar10 = iVar10 + 1;\n        psVar38 = (stat64 *)((int)psVar38 >> 1);\n      } while (iVar10 != 0x1c);\n      psVar22 = (stat64 *)(1 << ((byte)iVar21 & 0x1f));\n      local_7d8 = psVar17;\n      local_7d4 = psVar17;\n      psVar38 = local_7d0;\n      uVar16 = uStack_7c4;\n      uVar7 = local_7c0;\n      if (psVar17 != psVar22) {\n        local_7d8 = psVar22;\n      }\n    }" if (parenthesized_expression "(psVar17 == (stat64 *)0x0)" ( (binary_expression "psVar17 == (stat64 *)0x0" identifier == (cast_expression "(stat64 *)0x0" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      local_7d8 = (stat64 *)0x0;\n      local_7d4 = (stat64 *)0x0;\n      psVar38 = local_7d0;\n      uVar16 = uStack_7c4;\n      uVar7 = local_7c0;\n    }" { (expression_statement "local_7d8 = (stat64 *)0x0;" (assignment_expression "local_7d8 = (stat64 *)0x0" identifier = (cast_expression "(stat64 *)0x0" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_7d4 = (stat64 *)0x0;" (assignment_expression "local_7d4 = (stat64 *)0x0" identifier = (cast_expression "(stat64 *)0x0" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "psVar38 = local_7d0;" (assignment_expression "psVar38 = local_7d0" identifier = identifier) ;) (expression_statement "uVar16 = uStack_7c4;" (assignment_expression "uVar16 = uStack_7c4" identifier = identifier) ;) (expression_statement "uVar7 = local_7c0;" (assignment_expression "uVar7 = local_7c0" identifier = identifier) ;) }) (else_clause "else {\n      if ((int)psVar17 < 0x200) {\n        pr2serr("warning: --bs=BS value is < 512 which seems too small, continue\n");\n        bVar1 = 1;\n      }\n      if (((uint)psVar17 & 7) != 0) {\n        pr2serr("warning: --bs=BS value is not a multiple of 8, unexpected, continue\n");\n        bVar1 = 1;\n      }\n      iVar21 = 0;\n      iVar10 = 0;\n      psVar38 = psVar17;\n      do {\n        if (((uint)psVar38 & 1) != 0) {\n          iVar21 = iVar10;\n        }\n        iVar10 = iVar10 + 1;\n        psVar38 = (stat64 *)((int)psVar38 >> 1);\n      } while (iVar10 != 0x1c);\n      psVar22 = (stat64 *)(1 << ((byte)iVar21 & 0x1f));\n      local_7d8 = psVar17;\n      local_7d4 = psVar17;\n      psVar38 = local_7d0;\n      uVar16 = uStack_7c4;\n      uVar7 = local_7c0;\n      if (psVar17 != psVar22) {\n        local_7d8 = psVar22;\n      }\n    }" else (compound_statement "{\n      if ((int)psVar17 < 0x200) {\n        pr2serr("warning: --bs=BS value is < 512 which seems too small, continue\n");\n        bVar1 = 1;\n      }\n      if (((uint)psVar17 & 7) != 0) {\n        pr2serr("warning: --bs=BS value is not a multiple of 8, unexpected, continue\n");\n        bVar1 = 1;\n      }\n      iVar21 = 0;\n      iVar10 = 0;\n      psVar38 = psVar17;\n      do {\n        if (((uint)psVar38 & 1) != 0) {\n          iVar21 = iVar10;\n        }\n        iVar10 = iVar10 + 1;\n        psVar38 = (stat64 *)((int)psVar38 >> 1);\n      } while (iVar10 != 0x1c);\n      psVar22 = (stat64 *)(1 << ((byte)iVar21 & 0x1f));\n      local_7d8 = psVar17;\n      local_7d4 = psVar17;\n      psVar38 = local_7d0;\n      uVar16 = uStack_7c4;\n      uVar7 = local_7c0;\n      if (psVar17 != psVar22) {\n        local_7d8 = psVar22;\n      }\n    }" { (if_statement "if ((int)psVar17 < 0x200) {\n        pr2serr("warning: --bs=BS value is < 512 which seems too small, continue\n");\n        bVar1 = 1;\n      }" if (parenthesized_expression "((int)psVar17 < 0x200)" ( (binary_expression "(int)psVar17 < 0x200" (cast_expression "(int)psVar17" ( (type_descriptor "int" primitive_type) ) identifier) < number_literal) )) (compound_statement "{\n        pr2serr("warning: --bs=BS value is < 512 which seems too small, continue\n");\n        bVar1 = 1;\n      }" { (expression_statement "pr2serr("warning: --bs=BS value is < 512 which seems too small, continue\n");" (call_expression "pr2serr("warning: --bs=BS value is < 512 which seems too small, continue\n")" identifier (argument_list "("warning: --bs=BS value is < 512 which seems too small, continue\n")" ( (string_literal ""warning: --bs=BS value is < 512 which seems too small, continue\n"" " string_content escape_sequence ") ))) ;) (expression_statement "bVar1 = 1;" (assignment_expression "bVar1 = 1" identifier = number_literal) ;) })) (if_statement "if (((uint)psVar17 & 7) != 0) {\n        pr2serr("warning: --bs=BS value is not a multiple of 8, unexpected, continue\n");\n        bVar1 = 1;\n      }" if (parenthesized_expression "(((uint)psVar17 & 7) != 0)" ( (binary_expression "((uint)psVar17 & 7) != 0" (parenthesized_expression "((uint)psVar17 & 7)" ( (binary_expression "(uint)psVar17 & 7" (cast_expression "(uint)psVar17" ( (type_descriptor "uint" type_identifier) ) identifier) & number_literal) )) != number_literal) )) (compound_statement "{\n        pr2serr("warning: --bs=BS value is not a multiple of 8, unexpected, continue\n");\n        bVar1 = 1;\n      }" { (expression_statement "pr2serr("warning: --bs=BS value is not a multiple of 8, unexpected, continue\n");" (call_expression "pr2serr("warning: --bs=BS value is not a multiple of 8, unexpected, continue\n")" identifier (argument_list "("warning: --bs=BS value is not a multiple of 8, unexpected, continue\n")" ( (string_literal ""warning: --bs=BS value is not a multiple of 8, unexpected, continue\n"" " string_content escape_sequence ") ))) ;) (expression_statement "bVar1 = 1;" (assignment_expression "bVar1 = 1" identifier = number_literal) ;) })) (expression_statement "iVar21 = 0;" (assignment_expression "iVar21 = 0" identifier = number_literal) ;) (expression_statement "iVar10 = 0;" (assignment_expression "iVar10 = 0" identifier = number_literal) ;) (expression_statement "psVar38 = psVar17;" (assignment_expression "psVar38 = psVar17" identifier = identifier) ;) (do_statement "do {\n        if (((uint)psVar38 & 1) != 0) {\n          iVar21 = iVar10;\n        }\n        iVar10 = iVar10 + 1;\n        psVar38 = (stat64 *)((int)psVar38 >> 1);\n      } while (iVar10 != 0x1c);" do (compound_statement "{\n        if (((uint)psVar38 & 1) != 0) {\n          iVar21 = iVar10;\n        }\n        iVar10 = iVar10 + 1;\n        psVar38 = (stat64 *)((int)psVar38 >> 1);\n      }" { (if_statement "if (((uint)psVar38 & 1) != 0) {\n          iVar21 = iVar10;\n        }" if (parenthesized_expression "(((uint)psVar38 & 1) != 0)" ( (binary_expression "((uint)psVar38 & 1) != 0" (parenthesized_expression "((uint)psVar38 & 1)" ( (binary_expression "(uint)psVar38 & 1" (cast_expression "(uint)psVar38" ( (type_descriptor "uint" type_identifier) ) identifier) & number_literal) )) != number_literal) )) (compound_statement "{\n          iVar21 = iVar10;\n        }" { (expression_statement "iVar21 = iVar10;" (assignment_expression "iVar21 = iVar10" identifier = identifier) ;) })) (expression_statement "iVar10 = iVar10 + 1;" (assignment_expression "iVar10 = iVar10 + 1" identifier = (binary_expression "iVar10 + 1" identifier + number_literal)) ;) (expression_statement "psVar38 = (stat64 *)((int)psVar38 >> 1);" (assignment_expression "psVar38 = (stat64 *)((int)psVar38 >> 1)" identifier = (cast_expression "(stat64 *)((int)psVar38 >> 1)" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)psVar38 >> 1)" ( (binary_expression "(int)psVar38 >> 1" (cast_expression "(int)psVar38" ( (type_descriptor "int" primitive_type) ) identifier) >> number_literal) )))) ;) }) while (parenthesized_expression "(iVar10 != 0x1c)" ( (binary_expression "iVar10 != 0x1c" identifier != number_literal) )) ;) (expression_statement "psVar22 = (stat64 *)(1 << ((byte)iVar21 & 0x1f));" (assignment_expression "psVar22 = (stat64 *)(1 << ((byte)iVar21 & 0x1f))" identifier = (cast_expression "(stat64 *)(1 << ((byte)iVar21 & 0x1f))" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(1 << ((byte)iVar21 & 0x1f))" ( (binary_expression "1 << ((byte)iVar21 & 0x1f)" number_literal << (parenthesized_expression "((byte)iVar21 & 0x1f)" ( (binary_expression "(byte)iVar21 & 0x1f" (cast_expression "(byte)iVar21" ( (type_descriptor "byte" type_identifier) ) identifier) & number_literal) ))) )))) ;) (expression_statement "local_7d8 = psVar17;" (assignment_expression "local_7d8 = psVar17" identifier = identifier) ;) (expression_statement "local_7d4 = psVar17;" (assignment_expression "local_7d4 = psVar17" identifier = identifier) ;) (expression_statement "psVar38 = local_7d0;" (assignment_expression "psVar38 = local_7d0" identifier = identifier) ;) (expression_statement "uVar16 = uStack_7c4;" (assignment_expression "uVar16 = uStack_7c4" identifier = identifier) ;) (expression_statement "uVar7 = local_7c0;" (assignment_expression "uVar7 = local_7c0" identifier = identifier) ;) (if_statement "if (psVar17 != psVar22) {\n        local_7d8 = psVar22;\n      }" if (parenthesized_expression "(psVar17 != psVar22)" ( (binary_expression "psVar17 != psVar22" identifier != identifier) )) (compound_statement "{\n        local_7d8 = psVar22;\n      }" { (expression_statement "local_7d8 = psVar22;" (assignment_expression "local_7d8 = psVar22" identifier = identifier) ;) })) }))) (goto_statement "goto code_r0x000114e8;" goto statement_identifier ;)) (case_statement "case 99:\n    iVar21 = func_0x00011320(*(undefined4 *)PTR_optarg_0001dffc);\n    if (iVar21 < 0) {\n      pr2serr("bad argument to \'--combined=\'. Expect 0 to 0x7fffffff\n");\n      goto LAB_00011a7a;\n    }\n    local_7e2 = (ushort)iVar21;\n    local_81c = '\x01';\n    psVar38 = local_7d0;\n    uVar16 = uStack_7c4;\n    uVar7 = local_7c0;\n    goto code_r0x000114e8;" case number_literal : (expression_statement "iVar21 = func_0x00011320(*(undefined4 *)PTR_optarg_0001dffc);" (assignment_expression "iVar21 = func_0x00011320(*(undefined4 *)PTR_optarg_0001dffc)" identifier = (call_expression "func_0x00011320(*(undefined4 *)PTR_optarg_0001dffc)" identifier (argument_list "(*(undefined4 *)PTR_optarg_0001dffc)" ( (pointer_expression "*(undefined4 *)PTR_optarg_0001dffc" * (cast_expression "(undefined4 *)PTR_optarg_0001dffc" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )))) ;) (if_statement "if (iVar21 < 0) {\n      pr2serr("bad argument to \'--combined=\'. Expect 0 to 0x7fffffff\n");\n      goto LAB_00011a7a;\n    }" if (parenthesized_expression "(iVar21 < 0)" ( (binary_expression "iVar21 < 0" identifier < number_literal) )) (compound_statement "{\n      pr2serr("bad argument to \'--combined=\'. Expect 0 to 0x7fffffff\n");\n      goto LAB_00011a7a;\n    }" { (expression_statement "pr2serr("bad argument to \'--combined=\'. Expect 0 to 0x7fffffff\n");" (call_expression "pr2serr("bad argument to \'--combined=\'. Expect 0 to 0x7fffffff\n")" identifier (argument_list "("bad argument to \'--combined=\'. Expect 0 to 0x7fffffff\n")" ( (string_literal ""bad argument to \'--combined=\'. Expect 0 to 0x7fffffff\n"" " string_content escape_sequence string_content escape_sequence string_content escape_sequence ") ))) ;) (goto_statement "goto LAB_00011a7a;" goto statement_identifier ;) })) (expression_statement "local_7e2 = (ushort)iVar21;" (assignment_expression "local_7e2 = (ushort)iVar21" identifier = (cast_expression "(ushort)iVar21" ( (type_descriptor "ushort" type_identifier) ) identifier)) ;) (expression_statement "local_81c = '\x01';" (assignment_expression "local_81c = '\x01'" identifier = (char_literal "'\x01'" ' escape_sequence ')) ;) (expression_statement "psVar38 = local_7d0;" (assignment_expression "psVar38 = local_7d0" identifier = identifier) ;) (expression_statement "uVar16 = uStack_7c4;" (assignment_expression "uVar16 = uStack_7c4" identifier = identifier) ;) (expression_statement "uVar7 = local_7c0;" (assignment_expression "uVar7 = local_7c0" identifier = identifier) ;) (goto_statement "goto code_r0x000114e8;" goto statement_identifier ;)) (case_statement "case 100:\n    uStack_812 = 1;\n    goto code_r0x000114e8;" case number_literal : (expression_statement "uStack_812 = 1;" (assignment_expression "uStack_812 = 1" identifier = number_literal) ;) (goto_statement "goto code_r0x000114e8;" goto statement_identifier ;)) (case_statement "case 0x66:\n    uStack_811 = 1;\n    goto code_r0x000114e8;" case number_literal : (expression_statement "uStack_811 = 1;" (assignment_expression "uStack_811 = 1" identifier = number_literal) ;) (goto_statement "goto code_r0x000114e8;" goto statement_identifier ;)) (case_statement "case 0x67:\n    uStack_804 = func_0x00011320(*(undefined4 *)PTR_optarg_0001dffc);\n    psVar38 = local_7d0;\n    uVar16 = uStack_7c4;\n    uVar7 = local_7c0;\n    if (0x3f < uStack_804) {\n      pr2serr("bad argument to \'--grpnum\'\n");\n      goto LAB_00011a7a;\n    }\n    goto code_r0x000114e8;" case number_literal : (expression_statement "uStack_804 = func_0x00011320(*(undefined4 *)PTR_optarg_0001dffc);" (assignment_expression "uStack_804 = func_0x00011320(*(undefined4 *)PTR_optarg_0001dffc)" identifier = (call_expression "func_0x00011320(*(undefined4 *)PTR_optarg_0001dffc)" identifier (argument_list "(*(undefined4 *)PTR_optarg_0001dffc)" ( (pointer_expression "*(undefined4 *)PTR_optarg_0001dffc" * (cast_expression "(undefined4 *)PTR_optarg_0001dffc" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )))) ;) (expression_statement "psVar38 = local_7d0;" (assignment_expression "psVar38 = local_7d0" identifier = identifier) ;) (expression_statement "uVar16 = uStack_7c4;" (assignment_expression "uVar16 = uStack_7c4" identifier = identifier) ;) (expression_statement "uVar7 = local_7c0;" (assignment_expression "uVar7 = local_7c0" identifier = identifier) ;) (if_statement "if (0x3f < uStack_804) {\n      pr2serr("bad argument to \'--grpnum\'\n");\n      goto LAB_00011a7a;\n    }" if (parenthesized_expression "(0x3f < uStack_804)" ( (binary_expression "0x3f < uStack_804" number_literal < identifier) )) (compound_statement "{\n      pr2serr("bad argument to \'--grpnum\'\n");\n      goto LAB_00011a7a;\n    }" { (expression_statement "pr2serr("bad argument to \'--grpnum\'\n");" (call_expression "pr2serr("bad argument to \'--grpnum\'\n")" identifier (argument_list "("bad argument to \'--grpnum\'\n")" ( (string_literal ""bad argument to \'--grpnum\'\n"" " string_content escape_sequence string_content escape_sequence escape_sequence ") ))) ;) (goto_statement "goto LAB_00011a7a;" goto statement_identifier ;) })) (goto_statement "goto code_r0x000114e8;" goto statement_identifier ;)) (case_statement "case 0x68:\n    local_800 = local_800 + 1;\n    goto code_r0x000114e8;" case number_literal : (expression_statement "local_800 = local_800 + 1;" (assignment_expression "local_800 = local_800 + 1" identifier = (binary_expression "local_800 + 1" identifier + number_literal)) ;) (goto_statement "goto code_r0x000114e8;" goto statement_identifier ;)) (case_statement "case 0x69:\n    local_79c = *(char **)PTR_optarg_0001dffc;\n    goto code_r0x000114e8;" case number_literal : (expression_statement "local_79c = *(char **)PTR_optarg_0001dffc;" (assignment_expression "local_79c = *(char **)PTR_optarg_0001dffc" identifier = (pointer_expression "*(char **)PTR_optarg_0001dffc" * (cast_expression "(char **)PTR_optarg_0001dffc" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier))) ;) (goto_statement "goto code_r0x000114e8;" goto statement_identifier ;)) (case_statement "case 0x6c:\n    if (local_91c != (stat64 *)0x0) {\n      pr2serr("only expect \'--lba=\' option once\n");\n      goto LAB_00011a7a;\n    }\n    local_91c = *(stat64 **)PTR_optarg_0001dffc;\n    goto code_r0x000114e8;" case number_literal : (if_statement "if (local_91c != (stat64 *)0x0) {\n      pr2serr("only expect \'--lba=\' option once\n");\n      goto LAB_00011a7a;\n    }" if (parenthesized_expression "(local_91c != (stat64 *)0x0)" ( (binary_expression "local_91c != (stat64 *)0x0" identifier != (cast_expression "(stat64 *)0x0" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      pr2serr("only expect \'--lba=\' option once\n");\n      goto LAB_00011a7a;\n    }" { (expression_statement "pr2serr("only expect \'--lba=\' option once\n");" (call_expression "pr2serr("only expect \'--lba=\' option once\n")" identifier (argument_list "("only expect \'--lba=\' option once\n")" ( (string_literal ""only expect \'--lba=\' option once\n"" " string_content escape_sequence string_content escape_sequence string_content escape_sequence ") ))) ;) (goto_statement "goto LAB_00011a7a;" goto statement_identifier ;) })) (expression_statement "local_91c = *(stat64 **)PTR_optarg_0001dffc;" (assignment_expression "local_91c = *(stat64 **)PTR_optarg_0001dffc" identifier = (pointer_expression "*(stat64 **)PTR_optarg_0001dffc" * (cast_expression "(stat64 **)PTR_optarg_0001dffc" ( (type_descriptor "stat64 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier))) ;) (goto_statement "goto code_r0x000114e8;" goto statement_identifier ;)) (case_statement "case 0x6e:\n    if (local_918 != (stat64 *)0x0) {\n      pr2serr("only expect \'--num=\' option once\n");\n      goto LAB_00011a7a;\n    }\n    local_918 = *(stat64 **)PTR_optarg_0001dffc;\n    goto code_r0x000114e8;" case number_literal : (if_statement "if (local_918 != (stat64 *)0x0) {\n      pr2serr("only expect \'--num=\' option once\n");\n      goto LAB_00011a7a;\n    }" if (parenthesized_expression "(local_918 != (stat64 *)0x0)" ( (binary_expression "local_918 != (stat64 *)0x0" identifier != (cast_expression "(stat64 *)0x0" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      pr2serr("only expect \'--num=\' option once\n");\n      goto LAB_00011a7a;\n    }" { (expression_statement "pr2serr("only expect \'--num=\' option once\n");" (call_expression "pr2serr("only expect \'--num=\' option once\n")" identifier (argument_list "("only expect \'--num=\' option once\n")" ( (string_literal ""only expect \'--num=\' option once\n"" " string_content escape_sequence string_content escape_sequence string_content escape_sequence ") ))) ;) (goto_statement "goto LAB_00011a7a;" goto statement_identifier ;) })) (expression_statement "local_918 = *(stat64 **)PTR_optarg_0001dffc;" (assignment_expression "local_918 = *(stat64 **)PTR_optarg_0001dffc" identifier = (pointer_expression "*(stat64 **)PTR_optarg_0001dffc" * (cast_expression "(stat64 **)PTR_optarg_0001dffc" ( (type_descriptor "stat64 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier))) ;) (goto_statement "goto code_r0x000114e8;" goto statement_identifier ;)) (case_statement "case 0x6f:\n    lVar34 = sg_get_llnum(*(undefined4 *)PTR_optarg_0001dffc);\n    psVar17 = (stat64 *)lVar34;\n    if (lVar34 == -1) {\n      pr2serr("bad first argument to \'--offset=\'\n");\n      goto LAB_00011a7a;\n    }\n    uVar36 = 0x2c;\n    psVar22 = psVar17;\n    local_7b4 = psVar17;\n    local_7b0 = (stat64 *)((ulonglong)lVar34 >> 0x20);\n    pcVar15 = strchr(*(char **)puVar5,0x2c);\n    psVar38 = local_7d0;\n    uVar16 = uStack_7c4;\n    uVar7 = local_7c0;\n    if (pcVar15 != (char *)0x0) {\n      lVar34 = sg_get_llnum(pcVar15 + 1,uVar36,psVar17,psVar22);\n      psVar38 = (stat64 *)lVar34;\n      uVar16 = uStack_7c4;\n      uVar7 = local_7c0;\n      if ((int)((ulonglong)lVar34 >> 0x20) == -1) {\n        if (psVar38 == (stat64 *)0xffffffff) {\n          pr2serr("bad second argument to \'--offset=\'\n");\n          goto LAB_00011a7a;\n        }\n      }\n      else if (0xffffffff < lVar34) {\n        pr2serr("bad second argument to \'--offset=\', cannot exceed 32 bits\n");\n        goto LAB_00011a7a;\n      }\n    }\n    goto code_r0x000114e8;" case number_literal : (expression_statement "lVar34 = sg_get_llnum(*(undefined4 *)PTR_optarg_0001dffc);" (assignment_expression "lVar34 = sg_get_llnum(*(undefined4 *)PTR_optarg_0001dffc)" identifier = (call_expression "sg_get_llnum(*(undefined4 *)PTR_optarg_0001dffc)" identifier (argument_list "(*(undefined4 *)PTR_optarg_0001dffc)" ( (pointer_expression "*(undefined4 *)PTR_optarg_0001dffc" * (cast_expression "(undefined4 *)PTR_optarg_0001dffc" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )))) ;) (expression_statement "psVar17 = (stat64 *)lVar34;" (assignment_expression "psVar17 = (stat64 *)lVar34" identifier = (cast_expression "(stat64 *)lVar34" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (if_statement "if (lVar34 == -1) {\n      pr2serr("bad first argument to \'--offset=\'\n");\n      goto LAB_00011a7a;\n    }" if (parenthesized_expression "(lVar34 == -1)" ( (binary_expression "lVar34 == -1" identifier == number_literal) )) (compound_statement "{\n      pr2serr("bad first argument to \'--offset=\'\n");\n      goto LAB_00011a7a;\n    }" { (expression_statement "pr2serr("bad first argument to \'--offset=\'\n");" (call_expression "pr2serr("bad first argument to \'--offset=\'\n")" identifier (argument_list "("bad first argument to \'--offset=\'\n")" ( (string_literal ""bad first argument to \'--offset=\'\n"" " string_content escape_sequence string_content escape_sequence escape_sequence ") ))) ;) (goto_statement "goto LAB_00011a7a;" goto statement_identifier ;) })) (expression_statement "uVar36 = 0x2c;" (assignment_expression "uVar36 = 0x2c" identifier = number_literal) ;) (expression_statement "psVar22 = psVar17;" (assignment_expression "psVar22 = psVar17" identifier = identifier) ;) (expression_statement "local_7b4 = psVar17;" (assignment_expression "local_7b4 = psVar17" identifier = identifier) ;) (expression_statement "local_7b0 = (stat64 *)((ulonglong)lVar34 >> 0x20);" (assignment_expression "local_7b0 = (stat64 *)((ulonglong)lVar34 >> 0x20)" identifier = (cast_expression "(stat64 *)((ulonglong)lVar34 >> 0x20)" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((ulonglong)lVar34 >> 0x20)" ( (binary_expression "(ulonglong)lVar34 >> 0x20" (cast_expression "(ulonglong)lVar34" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) )))) ;) (expression_statement "pcVar15 = strchr(*(char **)puVar5,0x2c);" (assignment_expression "pcVar15 = strchr(*(char **)puVar5,0x2c)" identifier = (call_expression "strchr(*(char **)puVar5,0x2c)" identifier (argument_list "(*(char **)puVar5,0x2c)" ( (pointer_expression "*(char **)puVar5" * (cast_expression "(char **)puVar5" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier)) , number_literal )))) ;) (expression_statement "psVar38 = local_7d0;" (assignment_expression "psVar38 = local_7d0" identifier = identifier) ;) (expression_statement "uVar16 = uStack_7c4;" (assignment_expression "uVar16 = uStack_7c4" identifier = identifier) ;) (expression_statement "uVar7 = local_7c0;" (assignment_expression "uVar7 = local_7c0" identifier = identifier) ;) (if_statement "if (pcVar15 != (char *)0x0) {\n      lVar34 = sg_get_llnum(pcVar15 + 1,uVar36,psVar17,psVar22);\n      psVar38 = (stat64 *)lVar34;\n      uVar16 = uStack_7c4;\n      uVar7 = local_7c0;\n      if ((int)((ulonglong)lVar34 >> 0x20) == -1) {\n        if (psVar38 == (stat64 *)0xffffffff) {\n          pr2serr("bad second argument to \'--offset=\'\n");\n          goto LAB_00011a7a;\n        }\n      }\n      else if (0xffffffff < lVar34) {\n        pr2serr("bad second argument to \'--offset=\', cannot exceed 32 bits\n");\n        goto LAB_00011a7a;\n      }\n    }" if (parenthesized_expression "(pcVar15 != (char *)0x0)" ( (binary_expression "pcVar15 != (char *)0x0" identifier != (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      lVar34 = sg_get_llnum(pcVar15 + 1,uVar36,psVar17,psVar22);\n      psVar38 = (stat64 *)lVar34;\n      uVar16 = uStack_7c4;\n      uVar7 = local_7c0;\n      if ((int)((ulonglong)lVar34 >> 0x20) == -1) {\n        if (psVar38 == (stat64 *)0xffffffff) {\n          pr2serr("bad second argument to \'--offset=\'\n");\n          goto LAB_00011a7a;\n        }\n      }\n      else if (0xffffffff < lVar34) {\n        pr2serr("bad second argument to \'--offset=\', cannot exceed 32 bits\n");\n        goto LAB_00011a7a;\n      }\n    }" { (expression_statement "lVar34 = sg_get_llnum(pcVar15 + 1,uVar36,psVar17,psVar22);" (assignment_expression "lVar34 = sg_get_llnum(pcVar15 + 1,uVar36,psVar17,psVar22)" identifier = (call_expression "sg_get_llnum(pcVar15 + 1,uVar36,psVar17,psVar22)" identifier (argument_list "(pcVar15 + 1,uVar36,psVar17,psVar22)" ( (binary_expression "pcVar15 + 1" identifier + number_literal) , identifier , identifier , identifier )))) ;) (expression_statement "psVar38 = (stat64 *)lVar34;" (assignment_expression "psVar38 = (stat64 *)lVar34" identifier = (cast_expression "(stat64 *)lVar34" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "uVar16 = uStack_7c4;" (assignment_expression "uVar16 = uStack_7c4" identifier = identifier) ;) (expression_statement "uVar7 = local_7c0;" (assignment_expression "uVar7 = local_7c0" identifier = identifier) ;) (if_statement "if ((int)((ulonglong)lVar34 >> 0x20) == -1) {\n        if (psVar38 == (stat64 *)0xffffffff) {\n          pr2serr("bad second argument to \'--offset=\'\n");\n          goto LAB_00011a7a;\n        }\n      }\n      else if (0xffffffff < lVar34) {\n        pr2serr("bad second argument to \'--offset=\', cannot exceed 32 bits\n");\n        goto LAB_00011a7a;\n      }" if (parenthesized_expression "((int)((ulonglong)lVar34 >> 0x20) == -1)" ( (binary_expression "(int)((ulonglong)lVar34 >> 0x20) == -1" (cast_expression "(int)((ulonglong)lVar34 >> 0x20)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((ulonglong)lVar34 >> 0x20)" ( (binary_expression "(ulonglong)lVar34 >> 0x20" (cast_expression "(ulonglong)lVar34" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) ))) == number_literal) )) (compound_statement "{\n        if (psVar38 == (stat64 *)0xffffffff) {\n          pr2serr("bad second argument to \'--offset=\'\n");\n          goto LAB_00011a7a;\n        }\n      }" { (if_statement "if (psVar38 == (stat64 *)0xffffffff) {\n          pr2serr("bad second argument to \'--offset=\'\n");\n          goto LAB_00011a7a;\n        }" if (parenthesized_expression "(psVar38 == (stat64 *)0xffffffff)" ( (binary_expression "psVar38 == (stat64 *)0xffffffff" identifier == (cast_expression "(stat64 *)0xffffffff" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n          pr2serr("bad second argument to \'--offset=\'\n");\n          goto LAB_00011a7a;\n        }" { (expression_statement "pr2serr("bad second argument to \'--offset=\'\n");" (call_expression "pr2serr("bad second argument to \'--offset=\'\n")" identifier (argument_list "("bad second argument to \'--offset=\'\n")" ( (string_literal ""bad second argument to \'--offset=\'\n"" " string_content escape_sequence string_content escape_sequence escape_sequence ") ))) ;) (goto_statement "goto LAB_00011a7a;" goto statement_identifier ;) })) }) (else_clause "else if (0xffffffff < lVar34) {\n        pr2serr("bad second argument to \'--offset=\', cannot exceed 32 bits\n");\n        goto LAB_00011a7a;\n      }" else (if_statement "if (0xffffffff < lVar34) {\n        pr2serr("bad second argument to \'--offset=\', cannot exceed 32 bits\n");\n        goto LAB_00011a7a;\n      }" if (parenthesized_expression "(0xffffffff < lVar34)" ( (binary_expression "0xffffffff < lVar34" number_literal < identifier) )) (compound_statement "{\n        pr2serr("bad second argument to \'--offset=\', cannot exceed 32 bits\n");\n        goto LAB_00011a7a;\n      }" { (expression_statement "pr2serr("bad second argument to \'--offset=\', cannot exceed 32 bits\n");" (call_expression "pr2serr("bad second argument to \'--offset=\', cannot exceed 32 bits\n")" identifier (argument_list "("bad second argument to \'--offset=\', cannot exceed 32 bits\n")" ( (string_literal ""bad second argument to \'--offset=\', cannot exceed 32 bits\n"" " string_content escape_sequence string_content escape_sequence string_content escape_sequence ") ))) ;) (goto_statement "goto LAB_00011a7a;" goto statement_identifier ;) })))) })) (goto_statement "goto code_r0x000114e8;" goto statement_identifier ;)) (case_statement "case 0x71:\n    local_798 = *(char **)PTR_optarg_0001dffc;\n    goto code_r0x000114e8;" case number_literal : (expression_statement "local_798 = *(char **)PTR_optarg_0001dffc;" (assignment_expression "local_798 = *(char **)PTR_optarg_0001dffc" identifier = (pointer_expression "*(char **)PTR_optarg_0001dffc" * (cast_expression "(char **)PTR_optarg_0001dffc" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier))) ;) (goto_statement "goto code_r0x000114e8;" goto statement_identifier ;)) (case_statement "case 0x72:\n    goto code_r0x000115f1;" case number_literal : (goto_statement "goto code_r0x000115f1;" goto statement_identifier ;)) (case_statement "case 0x73:\n    local_7f8 = local_7f8 + 1;\n    goto code_r0x000114e8;" case number_literal : (expression_statement "local_7f8 = local_7f8 + 1;" (assignment_expression "local_7f8 = local_7f8 + 1" identifier = (binary_expression "local_7f8 + 1" identifier + number_literal)) ;) (goto_statement "goto code_r0x000114e8;" goto statement_identifier ;)) (case_statement "case 0x74:\n    uVar7 = func_0x00011320(*(undefined4 *)PTR_optarg_0001dffc);\n    if (0xffff < uVar7) {\n      pr2serr("bad argument to \'--tag-mask=\'. Expect 0 to 0xffff inclusive\n");\n      goto LAB_00011a7a;\n    }\n    local_7dc = (ushort)uVar7;\n    psVar38 = local_7d0;\n    uVar16 = uStack_7c4;\n    uVar7 = local_7c0;\n    goto code_r0x000114e8;" case number_literal : (expression_statement "uVar7 = func_0x00011320(*(undefined4 *)PTR_optarg_0001dffc);" (assignment_expression "uVar7 = func_0x00011320(*(undefined4 *)PTR_optarg_0001dffc)" identifier = (call_expression "func_0x00011320(*(undefined4 *)PTR_optarg_0001dffc)" identifier (argument_list "(*(undefined4 *)PTR_optarg_0001dffc)" ( (pointer_expression "*(undefined4 *)PTR_optarg_0001dffc" * (cast_expression "(undefined4 *)PTR_optarg_0001dffc" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )))) ;) (if_statement "if (0xffff < uVar7) {\n      pr2serr("bad argument to \'--tag-mask=\'. Expect 0 to 0xffff inclusive\n");\n      goto LAB_00011a7a;\n    }" if (parenthesized_expression "(0xffff < uVar7)" ( (binary_expression "0xffff < uVar7" number_literal < identifier) )) (compound_statement "{\n      pr2serr("bad argument to \'--tag-mask=\'. Expect 0 to 0xffff inclusive\n");\n      goto LAB_00011a7a;\n    }" { (expression_statement "pr2serr("bad argument to \'--tag-mask=\'. Expect 0 to 0xffff inclusive\n");" (call_expression "pr2serr("bad argument to \'--tag-mask=\'. Expect 0 to 0xffff inclusive\n")" identifier (argument_list "("bad argument to \'--tag-mask=\'. Expect 0 to 0xffff inclusive\n")" ( (string_literal ""bad argument to \'--tag-mask=\'. Expect 0 to 0xffff inclusive\n"" " string_content escape_sequence string_content escape_sequence string_content escape_sequence ") ))) ;) (goto_statement "goto LAB_00011a7a;" goto statement_identifier ;) })) (expression_statement "local_7dc = (ushort)uVar7;" (assignment_expression "local_7dc = (ushort)uVar7" identifier = (cast_expression "(ushort)uVar7" ( (type_descriptor "ushort" type_identifier) ) identifier)) ;) (expression_statement "psVar38 = local_7d0;" (assignment_expression "psVar38 = local_7d0" identifier = identifier) ;) (expression_statement "uVar16 = uStack_7c4;" (assignment_expression "uVar16 = uStack_7c4" identifier = identifier) ;) (expression_statement "uVar7 = local_7c0;" (assignment_expression "uVar7 = local_7c0" identifier = identifier) ;) (goto_statement "goto code_r0x000114e8;" goto statement_identifier ;)) (case_statement "case 0x75:\n    uVar7 = func_0x00011320(*(undefined4 *)puVar20);\n    if (3 < uVar7) {\n      pr2serr("bad argument to \'--unmap=\', expect 0 to 3\n");\n      goto LAB_00011a7a;\n    }\n    bStack_81e = (byte)(uVar7 >> 1) & 1;\n    bStack_815 = (byte)uVar7 & 1;\n    psVar38 = local_7d0;\n    uVar16 = uStack_7c4;\n    uVar7 = local_7c0;\n    goto code_r0x000114e8;" case number_literal : (expression_statement "uVar7 = func_0x00011320(*(undefined4 *)puVar20);" (assignment_expression "uVar7 = func_0x00011320(*(undefined4 *)puVar20)" identifier = (call_expression "func_0x00011320(*(undefined4 *)puVar20)" identifier (argument_list "(*(undefined4 *)puVar20)" ( (pointer_expression "*(undefined4 *)puVar20" * (cast_expression "(undefined4 *)puVar20" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )))) ;) (if_statement "if (3 < uVar7) {\n      pr2serr("bad argument to \'--unmap=\', expect 0 to 3\n");\n      goto LAB_00011a7a;\n    }" if (parenthesized_expression "(3 < uVar7)" ( (binary_expression "3 < uVar7" number_literal < identifier) )) (compound_statement "{\n      pr2serr("bad argument to \'--unmap=\', expect 0 to 3\n");\n      goto LAB_00011a7a;\n    }" { (expression_statement "pr2serr("bad argument to \'--unmap=\', expect 0 to 3\n");" (call_expression "pr2serr("bad argument to \'--unmap=\', expect 0 to 3\n")" identifier (argument_list "("bad argument to \'--unmap=\', expect 0 to 3\n")" ( (string_literal ""bad argument to \'--unmap=\', expect 0 to 3\n"" " string_content escape_sequence string_content escape_sequence string_content escape_sequence ") ))) ;) (goto_statement "goto LAB_00011a7a;" goto statement_identifier ;) })) (expression_statement "bStack_81e = (byte)(uVar7 >> 1) & 1;" (assignment_expression "bStack_81e = (byte)(uVar7 >> 1) & 1" identifier = (binary_expression "(byte)(uVar7 >> 1) & 1" (call_expression "(byte)(uVar7 >> 1)" (parenthesized_expression "(byte)" ( identifier )) (argument_list "(uVar7 >> 1)" ( (binary_expression "uVar7 >> 1" identifier >> number_literal) ))) & number_literal)) ;) (expression_statement "bStack_815 = (byte)uVar7 & 1;" (assignment_expression "bStack_815 = (byte)uVar7 & 1" identifier = (binary_expression "(byte)uVar7 & 1" (cast_expression "(byte)uVar7" ( (type_descriptor "byte" type_identifier) ) identifier) & number_literal)) ;) (expression_statement "psVar38 = local_7d0;" (assignment_expression "psVar38 = local_7d0" identifier = identifier) ;) (expression_statement "uVar16 = uStack_7c4;" (assignment_expression "uVar16 = uStack_7c4" identifier = identifier) ;) (expression_statement "uVar7 = local_7c0;" (assignment_expression "uVar7 = local_7c0" identifier = identifier) ;) (goto_statement "goto code_r0x000114e8;" goto statement_identifier ;)) (case_statement "case 0x76:\n    local_80f = '\x01';\n    local_7f0 = (stat64 *)((int)&local_7f0->st_dev + 1);\n    goto code_r0x000114e8;" case number_literal : (expression_statement "local_80f = '\x01';" (assignment_expression "local_80f = '\x01'" identifier = (char_literal "'\x01'" ' escape_sequence ')) ;) (expression_statement "local_7f0 = (stat64 *)((int)&local_7f0->st_dev + 1);" (assignment_expression "local_7f0 = (stat64 *)((int)&local_7f0->st_dev + 1)" identifier = (cast_expression "(stat64 *)((int)&local_7f0->st_dev + 1)" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&local_7f0->st_dev + 1)" ( (binary_expression "(int)&local_7f0->st_dev + 1" (cast_expression "(int)&local_7f0->st_dev" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&local_7f0->st_dev" & (field_expression "local_7f0->st_dev" identifier -> field_identifier))) + number_literal) )))) ;) (goto_statement "goto code_r0x000114e8;" goto statement_identifier ;)) (case_statement "case 0x77:\n    local_7ec = (stat64 *)func_0x00011320(*(undefined4 *)puVar20);\n    if ((stat64 *)0x7 < local_7ec) {\n      pr2serr("bad argument to \'--wrprotect\'\n");\n      goto LAB_00011a7a;\n    }\n    local_813 = 0 < (int)local_7ec;\n    psVar38 = local_7d0;\n    uVar16 = uStack_7c4;\n    uVar7 = local_7c0;\n    goto code_r0x000114e8;" case number_literal : (expression_statement "local_7ec = (stat64 *)func_0x00011320(*(undefined4 *)puVar20);" (assignment_expression "local_7ec = (stat64 *)func_0x00011320(*(undefined4 *)puVar20)" identifier = (cast_expression "(stat64 *)func_0x00011320(*(undefined4 *)puVar20)" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "func_0x00011320(*(undefined4 *)puVar20)" identifier (argument_list "(*(undefined4 *)puVar20)" ( (pointer_expression "*(undefined4 *)puVar20" * (cast_expression "(undefined4 *)puVar20" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ))))) ;) (if_statement "if ((stat64 *)0x7 < local_7ec) {\n      pr2serr("bad argument to \'--wrprotect\'\n");\n      goto LAB_00011a7a;\n    }" if (parenthesized_expression "((stat64 *)0x7 < local_7ec)" ( (binary_expression "(stat64 *)0x7 < local_7ec" (cast_expression "(stat64 *)0x7" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal) < identifier) )) (compound_statement "{\n      pr2serr("bad argument to \'--wrprotect\'\n");\n      goto LAB_00011a7a;\n    }" { (expression_statement "pr2serr("bad argument to \'--wrprotect\'\n");" (call_expression "pr2serr("bad argument to \'--wrprotect\'\n")" identifier (argument_list "("bad argument to \'--wrprotect\'\n")" ( (string_literal ""bad argument to \'--wrprotect\'\n"" " string_content escape_sequence string_content escape_sequence escape_sequence ") ))) ;) (goto_statement "goto LAB_00011a7a;" goto statement_identifier ;) })) (expression_statement "local_813 = 0 < (int)local_7ec;" (assignment_expression "local_813 = 0 < (int)local_7ec" identifier = (binary_expression "0 < (int)local_7ec" number_literal < (cast_expression "(int)local_7ec" ( (type_descriptor "int" primitive_type) ) identifier))) ;) (expression_statement "psVar38 = local_7d0;" (assignment_expression "psVar38 = local_7d0" identifier = identifier) ;) (expression_statement "uVar16 = uStack_7c4;" (assignment_expression "uVar16 = uStack_7c4" identifier = identifier) ;) (expression_statement "uVar7 = local_7c0;" (assignment_expression "uVar7 = local_7c0" identifier = identifier) ;) (goto_statement "goto code_r0x000114e8;" goto statement_identifier ;)) (case_statement "case 0x78:\n    iStack_808 = iStack_808 + 1;\n    goto code_r0x000114e8;" case number_literal : (expression_statement "iStack_808 = iStack_808 + 1;" (assignment_expression "iStack_808 = iStack_808 + 1" identifier = (binary_expression "iStack_808 + 1" identifier + number_literal)) ;) (goto_statement "goto code_r0x000114e8;" goto statement_identifier ;)) })) (expression_statement "pr2serr(pcVar15);" (call_expression "pr2serr(pcVar15)" identifier (argument_list "(pcVar15)" ( identifier ))) ;) (expression_statement "FUN_000149b0();" (call_expression "FUN_000149b0()" identifier (argument_list "()" ( ))) ;) (goto_statement "goto LAB_00011a7a;" goto statement_identifier ;) (labeled_statement "LAB_00011c60:\n  while (*(int *)puVar4 < iVar14) {\n    pr2serr("Unexpected extra argument: %s\n",*(undefined4 *)(iVar28 + *(int *)puVar4 * 4),iVar10,\n            iVar10);\n    *(int *)puVar4 = *(int *)puVar4 + 1;\n    iVar10 = extraout_EDX;\n  }" statement_identifier : (while_statement "while (*(int *)puVar4 < iVar14) {\n    pr2serr("Unexpected extra argument: %s\n",*(undefined4 *)(iVar28 + *(int *)puVar4 * 4),iVar10,\n            iVar10);\n    *(int *)puVar4 = *(int *)puVar4 + 1;\n    iVar10 = extraout_EDX;\n  }" while (parenthesized_expression "(*(int *)puVar4 < iVar14)" ( (binary_expression "*(int *)puVar4 < iVar14" (pointer_expression "*(int *)puVar4" * (cast_expression "(int *)puVar4" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) < identifier) )) (compound_statement "{\n    pr2serr("Unexpected extra argument: %s\n",*(undefined4 *)(iVar28 + *(int *)puVar4 * 4),iVar10,\n            iVar10);\n    *(int *)puVar4 = *(int *)puVar4 + 1;\n    iVar10 = extraout_EDX;\n  }" { (expression_statement "pr2serr("Unexpected extra argument: %s\n",*(undefined4 *)(iVar28 + *(int *)puVar4 * 4),iVar10,\n            iVar10);" (call_expression "pr2serr("Unexpected extra argument: %s\n",*(undefined4 *)(iVar28 + *(int *)puVar4 * 4),iVar10,\n            iVar10)" identifier (argument_list "("Unexpected extra argument: %s\n",*(undefined4 *)(iVar28 + *(int *)puVar4 * 4),iVar10,\n            iVar10)" ( (string_literal ""Unexpected extra argument: %s\n"" " string_content escape_sequence ") , (pointer_expression "*(undefined4 *)(iVar28 + *(int *)puVar4 * 4)" * (cast_expression "(undefined4 *)(iVar28 + *(int *)puVar4 * 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar28 + *(int *)puVar4 * 4)" ( (binary_expression "iVar28 + *(int *)puVar4 * 4" identifier + (binary_expression "*(int *)puVar4 * 4" (pointer_expression "*(int *)puVar4" * (cast_expression "(int *)puVar4" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) * number_literal)) )))) , identifier , identifier ))) ;) (expression_statement "*(int *)puVar4 = *(int *)puVar4 + 1;" (assignment_expression "*(int *)puVar4 = *(int *)puVar4 + 1" (pointer_expression "*(int *)puVar4" * (cast_expression "(int *)puVar4" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) = (binary_expression "*(int *)puVar4 + 1" (pointer_expression "*(int *)puVar4" * (cast_expression "(int *)puVar4" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) + number_literal)) ;) (expression_statement "iVar10 = extraout_EDX;" (assignment_expression "iVar10 = extraout_EDX" identifier = identifier) ;) }))) (expression_statement "FUN_000149b0();" (call_expression "FUN_000149b0()" identifier (argument_list "()" ( ))) ;) (expression_statement "local_908 = (stat64 *)0x1;" (assignment_expression "local_908 = (stat64 *)0x1" identifier = (cast_expression "(stat64 *)0x1" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (goto_statement "goto LAB_00011a84;" goto statement_identifier ;) (while_statement "while( true ) {\n    iVar14 = iVar14 + -1;\n    cVar6 = *pcVar15;\n    pcVar15 = pcVar15 + (uint)bVar32 * -2 + 1;\n    if (cVar6 == '\0') break;\ncode_r0x00011d5c:\n    if (iVar14 == 0) break;\n  }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n    iVar14 = iVar14 + -1;\n    cVar6 = *pcVar15;\n    pcVar15 = pcVar15 + (uint)bVar32 * -2 + 1;\n    if (cVar6 == '\0') break;\ncode_r0x00011d5c:\n    if (iVar14 == 0) break;\n  }" { (expression_statement "iVar14 = iVar14 + -1;" (assignment_expression "iVar14 = iVar14 + -1" identifier = (binary_expression "iVar14 + -1" identifier + number_literal)) ;) (expression_statement "cVar6 = *pcVar15;" (assignment_expression "cVar6 = *pcVar15" identifier = (pointer_expression "*pcVar15" * identifier)) ;) (expression_statement "pcVar15 = pcVar15 + (uint)bVar32 * -2 + 1;" (assignment_expression "pcVar15 = pcVar15 + (uint)bVar32 * -2 + 1" identifier = (binary_expression "pcVar15 + (uint)bVar32 * -2 + 1" (binary_expression "pcVar15 + (uint)bVar32 * -2" identifier + (binary_expression "(uint)bVar32 * -2" (cast_expression "(uint)bVar32" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) (if_statement "if (cVar6 == '\0') break;" if (parenthesized_expression "(cVar6 == '\0')" ( (binary_expression "cVar6 == '\0'" identifier == (char_literal "'\0'" ' escape_sequence ')) )) (break_statement "break;" break ;)) (labeled_statement "code_r0x00011d5c:\n    if (iVar14 == 0) break;" statement_identifier : (if_statement "if (iVar14 == 0) break;" if (parenthesized_expression "(iVar14 == 0)" ( (binary_expression "iVar14 == 0" identifier == number_literal) )) (break_statement "break;" break ;))) })) (if_statement "if ((iVar14 == -3) && (*local_798 == '-')) {\n    pr2serr("don\'t accept \'-\' (implying stdin) as a filename in --scat-file=SF\n");\n    local_908 = (stat64 *)0x1f;\n    goto LAB_00011a84;\n  }" if (parenthesized_expression "((iVar14 == -3) && (*local_798 == '-'))" ( (binary_expression "(iVar14 == -3) && (*local_798 == '-')" (parenthesized_expression "(iVar14 == -3)" ( (binary_expression "iVar14 == -3" identifier == number_literal) )) && (parenthesized_expression "(*local_798 == '-')" ( (binary_expression "*local_798 == '-'" (pointer_expression "*local_798" * identifier) == (char_literal "'-'" ' character ')) ))) )) (compound_statement "{\n    pr2serr("don\'t accept \'-\' (implying stdin) as a filename in --scat-file=SF\n");\n    local_908 = (stat64 *)0x1f;\n    goto LAB_00011a84;\n  }" { (expression_statement "pr2serr("don\'t accept \'-\' (implying stdin) as a filename in --scat-file=SF\n");" (call_expression "pr2serr("don\'t accept \'-\' (implying stdin) as a filename in --scat-file=SF\n")" identifier (argument_list "("don\'t accept \'-\' (implying stdin) as a filename in --scat-file=SF\n")" ( (string_literal ""don\'t accept \'-\' (implying stdin) as a filename in --scat-file=SF\n"" " string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence ") ))) ;) (expression_statement "local_908 = (stat64 *)0x1f;" (assignment_expression "local_908 = (stat64 *)0x1f" identifier = (cast_expression "(stat64 *)0x1f" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (goto_statement "goto LAB_00011a84;" goto statement_identifier ;) })) (labeled_statement "LAB_00011d67:\n  if (((psVar38 != (stat64 *)0x0) && (local_820 != '\0')) &&\n     ((local_7c0 != 0xffffffff || ((local_7e6 & local_7dc) != 0xffff)))) {\n    pr2serr("--app-tag=, --ref-tag= and --tag-mask= options ignored with 16 byte commands\n");\n  }" statement_identifier : (if_statement "if (((psVar38 != (stat64 *)0x0) && (local_820 != '\0')) &&\n     ((local_7c0 != 0xffffffff || ((local_7e6 & local_7dc) != 0xffff)))) {\n    pr2serr("--app-tag=, --ref-tag= and --tag-mask= options ignored with 16 byte commands\n");\n  }" if (parenthesized_expression "(((psVar38 != (stat64 *)0x0) && (local_820 != '\0')) &&\n     ((local_7c0 != 0xffffffff || ((local_7e6 & local_7dc) != 0xffff))))" ( (binary_expression "((psVar38 != (stat64 *)0x0) && (local_820 != '\0')) &&\n     ((local_7c0 != 0xffffffff || ((local_7e6 & local_7dc) != 0xffff)))" (parenthesized_expression "((psVar38 != (stat64 *)0x0) && (local_820 != '\0'))" ( (binary_expression "(psVar38 != (stat64 *)0x0) && (local_820 != '\0')" (parenthesized_expression "(psVar38 != (stat64 *)0x0)" ( (binary_expression "psVar38 != (stat64 *)0x0" identifier != (cast_expression "(stat64 *)0x0" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) && (parenthesized_expression "(local_820 != '\0')" ( (binary_expression "local_820 != '\0'" identifier != (char_literal "'\0'" ' escape_sequence ')) ))) )) && (parenthesized_expression "((local_7c0 != 0xffffffff || ((local_7e6 & local_7dc) != 0xffff)))" ( (parenthesized_expression "(local_7c0 != 0xffffffff || ((local_7e6 & local_7dc) != 0xffff))" ( (binary_expression "local_7c0 != 0xffffffff || ((local_7e6 & local_7dc) != 0xffff)" (binary_expression "local_7c0 != 0xffffffff" identifier != number_literal) || (parenthesized_expression "((local_7e6 & local_7dc) != 0xffff)" ( (binary_expression "(local_7e6 & local_7dc) != 0xffff" (parenthesized_expression "(local_7e6 & local_7dc)" ( (binary_expression "local_7e6 & local_7dc" identifier & identifier) )) != number_literal) ))) )) ))) )) (compound_statement "{\n    pr2serr("--app-tag=, --ref-tag= and --tag-mask= options ignored with 16 byte commands\n");\n  }" { (expression_statement "pr2serr("--app-tag=, --ref-tag= and --tag-mask= options ignored with 16 byte commands\n");" (call_expression "pr2serr("--app-tag=, --ref-tag= and --tag-mask= options ignored with 16 byte commands\n")" identifier (argument_list "("--app-tag=, --ref-tag= and --tag-mask= options ignored with 16 byte commands\n")" ( (string_literal ""--app-tag=, --ref-tag= and --tag-mask= options ignored with 16 byte commands\n"" " string_content escape_sequence ") ))) ;) }))) (expression_statement "psVar45 = local_7d0;" (assignment_expression "psVar45 = local_7d0" identifier = identifier) ;) (expression_statement "psVar9 = (stat64 *)(uint)local_810;" (assignment_expression "psVar9 = (stat64 *)(uint)local_810" identifier = (cast_expression "(stat64 *)(uint)local_810" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) (cast_expression "(uint)local_810" ( (type_descriptor "uint" type_identifier) ) identifier))) ;) (if_statement "if (local_810 == 0) {\n    local_93c = local_7d0;\n    cVar2 = '\0';\n    if (local_79c == (char *)0x0) {\n      pr2serr("Need --if=FN option to be given, exiting.\n");\n      if (1 < (int)psVar38) {\n        pr2serr("To write zeros use --in=/dev/zero\n");\n      }\n      pr2serr("\n");\n      FUN_000149b0();\n      local_908 = (stat64 *)0x1;\n      goto LAB_00011a84;\n    }\n    iVar14 = -1;\n    pcVar15 = local_79c;\n    do {\n      if (iVar14 == 0) break;\n      iVar14 = iVar14 + -1;\n      cVar6 = *pcVar15;\n      pcVar15 = pcVar15 + (uint)bVar32 * -2 + 1;\n    } while (cVar6 != '\0');\n    if ((iVar14 != -3) || (*local_79c != '-')) {\n      local_924 = (stat64 *)open64(local_79c,0,iVar14,iVar14);\n      if ((int)local_924 < 0) {\n        piVar19 = __errno_location();\n        iVar14 = *piVar19;\n        pcVar15 = "could not open %s for reading";\n      }\n      else {\n        psVar17 = (stat64 *)sg_set_binary_mode(local_924);\n        if ((int)psVar17 < 0) goto LAB_00011dea;\n        psVar22 = local_924;\n        psVar8 = local_930;\n        iVar14 = __fxstat64(3,(int)local_924,local_930);\n        if (-1 < iVar14) {\n          if ((local_8e0._16_4_ & 0xf000) == 0x8000) {\n            local_93c = (stat64 *)local_8e0._44_4_;\n            if (psVar45 != (stat64 *)0x0) {\n              local_93c = psVar45;\n            }\n            if ((local_8b0 != 0 || (stat64 *)local_8e0._44_4_ != (stat64 *)0x0) &&\n               (psVar25 = (stat64 *)((int)&((stat64 *)(local_8e0._44_4_ + -0x60))->st_ino + 7),\n               iVar28 = local_8b0 + -1 + (uint)((stat64 *)local_8e0._44_4_ != (stat64 *)0x0),\n               iVar14 = (int)local_7b0 - iVar28,\n               (SBORROW4((int)local_7b0,iVar28) != SBORROW4(iVar14,(uint)(local_7b4 < psVar25))) ==\n               (int)(iVar14 - (uint)(local_7b4 < psVar25)) < 0)) {\n              pr2serr("Offset (%llu) is at or beyond IF byte length (%llu)\n",local_7b4,local_7b0,\n                      local_8e0._44_4_,local_8b0,psVar22,psVar8,psVar17);\n              local_908 = (stat64 *)0xf;\n              goto LAB_00012527;\n            }\n            psVar9 = local_7b4;\n            psVar45 = (stat64 *)local_8e0._44_4_;\n            iVar14 = local_8b0;\n            if (local_7b0 != (stat64 *)0x0 || local_7b4 != (stat64 *)0x0) {\n              psVar17 = (stat64 *)0x0;\n              psVar22 = local_7b4;\n              psVar8 = local_7b0;\n              _Var35 = lseek64((int)local_924,CONCAT44(local_7b0,local_7b4),0);\n              psVar25 = local_7b4;\n              if (_Var35 < 0) {\n                piVar19 = __errno_location();\n                psVar25 = (stat64 *)(local_174 + 0x50);\n                iVar14 = *piVar19;\n                __snprintf_chk(psVar25,0x100,1,0x100,"couldn\'t offset to required position on %s",\n                               local_79c,piVar19,piVar19);\n                perror((char *)psVar25);\n                local_908 = (stat64 *)sg_convert_errno(iVar14);\n                goto LAB_00012527;\n              }\n              psVar9 = (stat64 *)((int)psVar45 - (int)local_7b4);\n              iVar14 = (local_8b0 - (int)local_7b0) - (uint)(psVar45 < local_7b4);\n              local_930 = psVar45;\n              if ((int)(uint)(psVar9 != (stat64 *)0x0) <= -iVar14) {\n                pr2serr("--offset [0x%llx] at or beyond file length[0x%llx]\n",local_7b4,local_7b0,\n                        psVar45,local_8b0);\n                local_908 = (stat64 *)0xf;\n                goto LAB_00012527;\n              }\n              if ((local_7f8 != 0) &&\n                 (local_930 = local_7d0, iVar14 < (int)(uint)(psVar9 < local_7d0))) {\n                pr2serr("after accounting for OFF, DLEN exceeds %s remaining length (%u bytes)\n",\n                        local_79c,psVar9,psVar9);\n                local_908 = (stat64 *)0xf;\n                psVar25 = psVar9;\n                goto LAB_00012527;\n              }\n              if (iVar14 < (int)(uint)(psVar9 < local_93c)) {\n                local_93c = psVar9;\n              }\n              psVar45 = psVar9;\n              if (2 < (int)psVar38) {\n                psVar22 = local_7b4;\n                psVar8 = local_93c;\n                psVar17 = psVar9;\n                psVar9 = (stat64 *)\n                         pr2serr("Moved IF byte pointer to %u, if_len=%u, if_readable_len=%u\n",\n                                 local_7b4,local_93c,psVar9);\n              }\n            }\n            goto LAB_00011fa8;\n          }\n          goto LAB_00011e6c;\n        }\n        piVar19 = __errno_location();\n        iVar14 = *piVar19;\n        pcVar15 = "could not fstat %s";\n      }\n      __snprintf_chk(local_174 + 0x50,0x100,1,0x100,pcVar15,local_79c,piVar19,piVar19);\n      perror(local_174 + 0x50);\n      local_908 = (stat64 *)sg_convert_errno(iVar14);\n      goto LAB_00011a84;\n    }\n    iVar14 = sg_set_binary_mode(0);\n    cVar2 = '\x01';\n    local_924 = (stat64 *)0x0;\n    if (iVar14 < 0) {\nLAB_00011dea:\n      perror("sg_set_binary_mode");\n      local_908 = (stat64 *)0xf;\n      goto LAB_00011a84;\n    }\nLAB_00011e6c:\n    if (((stat64 *)((uint)local_7b0 | (uint)local_7b4) == (stat64 *)0x0) ||\n       (psVar38 == (stat64 *)0x0)) {\n      psVar9 = (stat64 *)((uint)local_7b0 | (uint)local_7b4);\n      psVar45 = (stat64 *)0x0;\n      iVar14 = 0;\n    }\n    else {\n      psVar9 = (stat64 *)\n               pr2serr(\n                      "--offset=OFF ignored when IF is stdin, pipe, socket, etc\nDLEN, if given, is used\n"\n                      );\n      psVar45 = (stat64 *)0x0;\n      iVar14 = 0;\n    }\n  }\n  else {\n    local_924 = (stat64 *)0xffffffff;\n    cVar2 = '\0';\n    psVar45 = (stat64 *)0x0;\n    iVar14 = 0;\n    local_93c = (stat64 *)0x0;\n  }" if (parenthesized_expression "(local_810 == 0)" ( (binary_expression "local_810 == 0" identifier == number_literal) )) (compound_statement "{\n    local_93c = local_7d0;\n    cVar2 = '\0';\n    if (local_79c == (char *)0x0) {\n      pr2serr("Need --if=FN option to be given, exiting.\n");\n      if (1 < (int)psVar38) {\n        pr2serr("To write zeros use --in=/dev/zero\n");\n      }\n      pr2serr("\n");\n      FUN_000149b0();\n      local_908 = (stat64 *)0x1;\n      goto LAB_00011a84;\n    }\n    iVar14 = -1;\n    pcVar15 = local_79c;\n    do {\n      if (iVar14 == 0) break;\n      iVar14 = iVar14 + -1;\n      cVar6 = *pcVar15;\n      pcVar15 = pcVar15 + (uint)bVar32 * -2 + 1;\n    } while (cVar6 != '\0');\n    if ((iVar14 != -3) || (*local_79c != '-')) {\n      local_924 = (stat64 *)open64(local_79c,0,iVar14,iVar14);\n      if ((int)local_924 < 0) {\n        piVar19 = __errno_location();\n        iVar14 = *piVar19;\n        pcVar15 = "could not open %s for reading";\n      }\n      else {\n        psVar17 = (stat64 *)sg_set_binary_mode(local_924);\n        if ((int)psVar17 < 0) goto LAB_00011dea;\n        psVar22 = local_924;\n        psVar8 = local_930;\n        iVar14 = __fxstat64(3,(int)local_924,local_930);\n        if (-1 < iVar14) {\n          if ((local_8e0._16_4_ & 0xf000) == 0x8000) {\n            local_93c = (stat64 *)local_8e0._44_4_;\n            if (psVar45 != (stat64 *)0x0) {\n              local_93c = psVar45;\n            }\n            if ((local_8b0 != 0 || (stat64 *)local_8e0._44_4_ != (stat64 *)0x0) &&\n               (psVar25 = (stat64 *)((int)&((stat64 *)(local_8e0._44_4_ + -0x60))->st_ino + 7),\n               iVar28 = local_8b0 + -1 + (uint)((stat64 *)local_8e0._44_4_ != (stat64 *)0x0),\n               iVar14 = (int)local_7b0 - iVar28,\n               (SBORROW4((int)local_7b0,iVar28) != SBORROW4(iVar14,(uint)(local_7b4 < psVar25))) ==\n               (int)(iVar14 - (uint)(local_7b4 < psVar25)) < 0)) {\n              pr2serr("Offset (%llu) is at or beyond IF byte length (%llu)\n",local_7b4,local_7b0,\n                      local_8e0._44_4_,local_8b0,psVar22,psVar8,psVar17);\n              local_908 = (stat64 *)0xf;\n              goto LAB_00012527;\n            }\n            psVar9 = local_7b4;\n            psVar45 = (stat64 *)local_8e0._44_4_;\n            iVar14 = local_8b0;\n            if (local_7b0 != (stat64 *)0x0 || local_7b4 != (stat64 *)0x0) {\n              psVar17 = (stat64 *)0x0;\n              psVar22 = local_7b4;\n              psVar8 = local_7b0;\n              _Var35 = lseek64((int)local_924,CONCAT44(local_7b0,local_7b4),0);\n              psVar25 = local_7b4;\n              if (_Var35 < 0) {\n                piVar19 = __errno_location();\n                psVar25 = (stat64 *)(local_174 + 0x50);\n                iVar14 = *piVar19;\n                __snprintf_chk(psVar25,0x100,1,0x100,"couldn\'t offset to required position on %s",\n                               local_79c,piVar19,piVar19);\n                perror((char *)psVar25);\n                local_908 = (stat64 *)sg_convert_errno(iVar14);\n                goto LAB_00012527;\n              }\n              psVar9 = (stat64 *)((int)psVar45 - (int)local_7b4);\n              iVar14 = (local_8b0 - (int)local_7b0) - (uint)(psVar45 < local_7b4);\n              local_930 = psVar45;\n              if ((int)(uint)(psVar9 != (stat64 *)0x0) <= -iVar14) {\n                pr2serr("--offset [0x%llx] at or beyond file length[0x%llx]\n",local_7b4,local_7b0,\n                        psVar45,local_8b0);\n                local_908 = (stat64 *)0xf;\n                goto LAB_00012527;\n              }\n              if ((local_7f8 != 0) &&\n                 (local_930 = local_7d0, iVar14 < (int)(uint)(psVar9 < local_7d0))) {\n                pr2serr("after accounting for OFF, DLEN exceeds %s remaining length (%u bytes)\n",\n                        local_79c,psVar9,psVar9);\n                local_908 = (stat64 *)0xf;\n                psVar25 = psVar9;\n                goto LAB_00012527;\n              }\n              if (iVar14 < (int)(uint)(psVar9 < local_93c)) {\n                local_93c = psVar9;\n              }\n              psVar45 = psVar9;\n              if (2 < (int)psVar38) {\n                psVar22 = local_7b4;\n                psVar8 = local_93c;\n                psVar17 = psVar9;\n                psVar9 = (stat64 *)\n                         pr2serr("Moved IF byte pointer to %u, if_len=%u, if_readable_len=%u\n",\n                                 local_7b4,local_93c,psVar9);\n              }\n            }\n            goto LAB_00011fa8;\n          }\n          goto LAB_00011e6c;\n        }\n        piVar19 = __errno_location();\n        iVar14 = *piVar19;\n        pcVar15 = "could not fstat %s";\n      }\n      __snprintf_chk(local_174 + 0x50,0x100,1,0x100,pcVar15,local_79c,piVar19,piVar19);\n      perror(local_174 + 0x50);\n      local_908 = (stat64 *)sg_convert_errno(iVar14);\n      goto LAB_00011a84;\n    }\n    iVar14 = sg_set_binary_mode(0);\n    cVar2 = '\x01';\n    local_924 = (stat64 *)0x0;\n    if (iVar14 < 0) {\nLAB_00011dea:\n      perror("sg_set_binary_mode");\n      local_908 = (stat64 *)0xf;\n      goto LAB_00011a84;\n    }\nLAB_00011e6c:\n    if (((stat64 *)((uint)local_7b0 | (uint)local_7b4) == (stat64 *)0x0) ||\n       (psVar38 == (stat64 *)0x0)) {\n      psVar9 = (stat64 *)((uint)local_7b0 | (uint)local_7b4);\n      psVar45 = (stat64 *)0x0;\n      iVar14 = 0;\n    }\n    else {\n      psVar9 = (stat64 *)\n               pr2serr(\n                      "--offset=OFF ignored when IF is stdin, pipe, socket, etc\nDLEN, if given, is used\n"\n                      );\n      psVar45 = (stat64 *)0x0;\n      iVar14 = 0;\n    }\n  }" { (expression_statement "local_93c = local_7d0;" (assignment_expression "local_93c = local_7d0" identifier = identifier) ;) (expression_statement "cVar2 = '\0';" (assignment_expression "cVar2 = '\0'" identifier = (char_literal "'\0'" ' escape_sequence ')) ;) (if_statement "if (local_79c == (char *)0x0) {\n      pr2serr("Need --if=FN option to be given, exiting.\n");\n      if (1 < (int)psVar38) {\n        pr2serr("To write zeros use --in=/dev/zero\n");\n      }\n      pr2serr("\n");\n      FUN_000149b0();\n      local_908 = (stat64 *)0x1;\n      goto LAB_00011a84;\n    }" if (parenthesized_expression "(local_79c == (char *)0x0)" ( (binary_expression "local_79c == (char *)0x0" identifier == (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      pr2serr("Need --if=FN option to be given, exiting.\n");\n      if (1 < (int)psVar38) {\n        pr2serr("To write zeros use --in=/dev/zero\n");\n      }\n      pr2serr("\n");\n      FUN_000149b0();\n      local_908 = (stat64 *)0x1;\n      goto LAB_00011a84;\n    }" { (expression_statement "pr2serr("Need --if=FN option to be given, exiting.\n");" (call_expression "pr2serr("Need --if=FN option to be given, exiting.\n")" identifier (argument_list "("Need --if=FN option to be given, exiting.\n")" ( (string_literal ""Need --if=FN option to be given, exiting.\n"" " string_content escape_sequence ") ))) ;) (if_statement "if (1 < (int)psVar38) {\n        pr2serr("To write zeros use --in=/dev/zero\n");\n      }" if (parenthesized_expression "(1 < (int)psVar38)" ( (binary_expression "1 < (int)psVar38" number_literal < (cast_expression "(int)psVar38" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n        pr2serr("To write zeros use --in=/dev/zero\n");\n      }" { (expression_statement "pr2serr("To write zeros use --in=/dev/zero\n");" (call_expression "pr2serr("To write zeros use --in=/dev/zero\n")" identifier (argument_list "("To write zeros use --in=/dev/zero\n")" ( (string_literal ""To write zeros use --in=/dev/zero\n"" " string_content escape_sequence ") ))) ;) })) (expression_statement "pr2serr("\n");" (call_expression "pr2serr("\n")" identifier (argument_list "("\n")" ( (string_literal ""\n"" " escape_sequence ") ))) ;) (expression_statement "FUN_000149b0();" (call_expression "FUN_000149b0()" identifier (argument_list "()" ( ))) ;) (expression_statement "local_908 = (stat64 *)0x1;" (assignment_expression "local_908 = (stat64 *)0x1" identifier = (cast_expression "(stat64 *)0x1" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (goto_statement "goto LAB_00011a84;" goto statement_identifier ;) })) (expression_statement "iVar14 = -1;" (assignment_expression "iVar14 = -1" identifier = number_literal) ;) (expression_statement "pcVar15 = local_79c;" (assignment_expression "pcVar15 = local_79c" identifier = identifier) ;) (do_statement "do {\n      if (iVar14 == 0) break;\n      iVar14 = iVar14 + -1;\n      cVar6 = *pcVar15;\n      pcVar15 = pcVar15 + (uint)bVar32 * -2 + 1;\n    } while (cVar6 != '\0');" do (compound_statement "{\n      if (iVar14 == 0) break;\n      iVar14 = iVar14 + -1;\n      cVar6 = *pcVar15;\n      pcVar15 = pcVar15 + (uint)bVar32 * -2 + 1;\n    }" { (if_statement "if (iVar14 == 0) break;" if (parenthesized_expression "(iVar14 == 0)" ( (binary_expression "iVar14 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "iVar14 = iVar14 + -1;" (assignment_expression "iVar14 = iVar14 + -1" identifier = (binary_expression "iVar14 + -1" identifier + number_literal)) ;) (expression_statement "cVar6 = *pcVar15;" (assignment_expression "cVar6 = *pcVar15" identifier = (pointer_expression "*pcVar15" * identifier)) ;) (expression_statement "pcVar15 = pcVar15 + (uint)bVar32 * -2 + 1;" (assignment_expression "pcVar15 = pcVar15 + (uint)bVar32 * -2 + 1" identifier = (binary_expression "pcVar15 + (uint)bVar32 * -2 + 1" (binary_expression "pcVar15 + (uint)bVar32 * -2" identifier + (binary_expression "(uint)bVar32 * -2" (cast_expression "(uint)bVar32" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) }) while (parenthesized_expression "(cVar6 != '\0')" ( (binary_expression "cVar6 != '\0'" identifier != (char_literal "'\0'" ' escape_sequence ')) )) ;) (if_statement "if ((iVar14 != -3) || (*local_79c != '-')) {\n      local_924 = (stat64 *)open64(local_79c,0,iVar14,iVar14);\n      if ((int)local_924 < 0) {\n        piVar19 = __errno_location();\n        iVar14 = *piVar19;\n        pcVar15 = "could not open %s for reading";\n      }\n      else {\n        psVar17 = (stat64 *)sg_set_binary_mode(local_924);\n        if ((int)psVar17 < 0) goto LAB_00011dea;\n        psVar22 = local_924;\n        psVar8 = local_930;\n        iVar14 = __fxstat64(3,(int)local_924,local_930);\n        if (-1 < iVar14) {\n          if ((local_8e0._16_4_ & 0xf000) == 0x8000) {\n            local_93c = (stat64 *)local_8e0._44_4_;\n            if (psVar45 != (stat64 *)0x0) {\n              local_93c = psVar45;\n            }\n            if ((local_8b0 != 0 || (stat64 *)local_8e0._44_4_ != (stat64 *)0x0) &&\n               (psVar25 = (stat64 *)((int)&((stat64 *)(local_8e0._44_4_ + -0x60))->st_ino + 7),\n               iVar28 = local_8b0 + -1 + (uint)((stat64 *)local_8e0._44_4_ != (stat64 *)0x0),\n               iVar14 = (int)local_7b0 - iVar28,\n               (SBORROW4((int)local_7b0,iVar28) != SBORROW4(iVar14,(uint)(local_7b4 < psVar25))) ==\n               (int)(iVar14 - (uint)(local_7b4 < psVar25)) < 0)) {\n              pr2serr("Offset (%llu) is at or beyond IF byte length (%llu)\n",local_7b4,local_7b0,\n                      local_8e0._44_4_,local_8b0,psVar22,psVar8,psVar17);\n              local_908 = (stat64 *)0xf;\n              goto LAB_00012527;\n            }\n            psVar9 = local_7b4;\n            psVar45 = (stat64 *)local_8e0._44_4_;\n            iVar14 = local_8b0;\n            if (local_7b0 != (stat64 *)0x0 || local_7b4 != (stat64 *)0x0) {\n              psVar17 = (stat64 *)0x0;\n              psVar22 = local_7b4;\n              psVar8 = local_7b0;\n              _Var35 = lseek64((int)local_924,CONCAT44(local_7b0,local_7b4),0);\n              psVar25 = local_7b4;\n              if (_Var35 < 0) {\n                piVar19 = __errno_location();\n                psVar25 = (stat64 *)(local_174 + 0x50);\n                iVar14 = *piVar19;\n                __snprintf_chk(psVar25,0x100,1,0x100,"couldn\'t offset to required position on %s",\n                               local_79c,piVar19,piVar19);\n                perror((char *)psVar25);\n                local_908 = (stat64 *)sg_convert_errno(iVar14);\n                goto LAB_00012527;\n              }\n              psVar9 = (stat64 *)((int)psVar45 - (int)local_7b4);\n              iVar14 = (local_8b0 - (int)local_7b0) - (uint)(psVar45 < local_7b4);\n              local_930 = psVar45;\n              if ((int)(uint)(psVar9 != (stat64 *)0x0) <= -iVar14) {\n                pr2serr("--offset [0x%llx] at or beyond file length[0x%llx]\n",local_7b4,local_7b0,\n                        psVar45,local_8b0);\n                local_908 = (stat64 *)0xf;\n                goto LAB_00012527;\n              }\n              if ((local_7f8 != 0) &&\n                 (local_930 = local_7d0, iVar14 < (int)(uint)(psVar9 < local_7d0))) {\n                pr2serr("after accounting for OFF, DLEN exceeds %s remaining length (%u bytes)\n",\n                        local_79c,psVar9,psVar9);\n                local_908 = (stat64 *)0xf;\n                psVar25 = psVar9;\n                goto LAB_00012527;\n              }\n              if (iVar14 < (int)(uint)(psVar9 < local_93c)) {\n                local_93c = psVar9;\n              }\n              psVar45 = psVar9;\n              if (2 < (int)psVar38) {\n                psVar22 = local_7b4;\n                psVar8 = local_93c;\n                psVar17 = psVar9;\n                psVar9 = (stat64 *)\n                         pr2serr("Moved IF byte pointer to %u, if_len=%u, if_readable_len=%u\n",\n                                 local_7b4,local_93c,psVar9);\n              }\n            }\n            goto LAB_00011fa8;\n          }\n          goto LAB_00011e6c;\n        }\n        piVar19 = __errno_location();\n        iVar14 = *piVar19;\n        pcVar15 = "could not fstat %s";\n      }\n      __snprintf_chk(local_174 + 0x50,0x100,1,0x100,pcVar15,local_79c,piVar19,piVar19);\n      perror(local_174 + 0x50);\n      local_908 = (stat64 *)sg_convert_errno(iVar14);\n      goto LAB_00011a84;\n    }" if (parenthesized_expression "((iVar14 != -3) || (*local_79c != '-'))" ( (binary_expression "(iVar14 != -3) || (*local_79c != '-')" (parenthesized_expression "(iVar14 != -3)" ( (binary_expression "iVar14 != -3" identifier != number_literal) )) || (parenthesized_expression "(*local_79c != '-')" ( (binary_expression "*local_79c != '-'" (pointer_expression "*local_79c" * identifier) != (char_literal "'-'" ' character ')) ))) )) (compound_statement "{\n      local_924 = (stat64 *)open64(local_79c,0,iVar14,iVar14);\n      if ((int)local_924 < 0) {\n        piVar19 = __errno_location();\n        iVar14 = *piVar19;\n        pcVar15 = "could not open %s for reading";\n      }\n      else {\n        psVar17 = (stat64 *)sg_set_binary_mode(local_924);\n        if ((int)psVar17 < 0) goto LAB_00011dea;\n        psVar22 = local_924;\n        psVar8 = local_930;\n        iVar14 = __fxstat64(3,(int)local_924,local_930);\n        if (-1 < iVar14) {\n          if ((local_8e0._16_4_ & 0xf000) == 0x8000) {\n            local_93c = (stat64 *)local_8e0._44_4_;\n            if (psVar45 != (stat64 *)0x0) {\n              local_93c = psVar45;\n            }\n            if ((local_8b0 != 0 || (stat64 *)local_8e0._44_4_ != (stat64 *)0x0) &&\n               (psVar25 = (stat64 *)((int)&((stat64 *)(local_8e0._44_4_ + -0x60))->st_ino + 7),\n               iVar28 = local_8b0 + -1 + (uint)((stat64 *)local_8e0._44_4_ != (stat64 *)0x0),\n               iVar14 = (int)local_7b0 - iVar28,\n               (SBORROW4((int)local_7b0,iVar28) != SBORROW4(iVar14,(uint)(local_7b4 < psVar25))) ==\n               (int)(iVar14 - (uint)(local_7b4 < psVar25)) < 0)) {\n              pr2serr("Offset (%llu) is at or beyond IF byte length (%llu)\n",local_7b4,local_7b0,\n                      local_8e0._44_4_,local_8b0,psVar22,psVar8,psVar17);\n              local_908 = (stat64 *)0xf;\n              goto LAB_00012527;\n            }\n            psVar9 = local_7b4;\n            psVar45 = (stat64 *)local_8e0._44_4_;\n            iVar14 = local_8b0;\n            if (local_7b0 != (stat64 *)0x0 || local_7b4 != (stat64 *)0x0) {\n              psVar17 = (stat64 *)0x0;\n              psVar22 = local_7b4;\n              psVar8 = local_7b0;\n              _Var35 = lseek64((int)local_924,CONCAT44(local_7b0,local_7b4),0);\n              psVar25 = local_7b4;\n              if (_Var35 < 0) {\n                piVar19 = __errno_location();\n                psVar25 = (stat64 *)(local_174 + 0x50);\n                iVar14 = *piVar19;\n                __snprintf_chk(psVar25,0x100,1,0x100,"couldn\'t offset to required position on %s",\n                               local_79c,piVar19,piVar19);\n                perror((char *)psVar25);\n                local_908 = (stat64 *)sg_convert_errno(iVar14);\n                goto LAB_00012527;\n              }\n              psVar9 = (stat64 *)((int)psVar45 - (int)local_7b4);\n              iVar14 = (local_8b0 - (int)local_7b0) - (uint)(psVar45 < local_7b4);\n              local_930 = psVar45;\n              if ((int)(uint)(psVar9 != (stat64 *)0x0) <= -iVar14) {\n                pr2serr("--offset [0x%llx] at or beyond file length[0x%llx]\n",local_7b4,local_7b0,\n                        psVar45,local_8b0);\n                local_908 = (stat64 *)0xf;\n                goto LAB_00012527;\n              }\n              if ((local_7f8 != 0) &&\n                 (local_930 = local_7d0, iVar14 < (int)(uint)(psVar9 < local_7d0))) {\n                pr2serr("after accounting for OFF, DLEN exceeds %s remaining length (%u bytes)\n",\n                        local_79c,psVar9,psVar9);\n                local_908 = (stat64 *)0xf;\n                psVar25 = psVar9;\n                goto LAB_00012527;\n              }\n              if (iVar14 < (int)(uint)(psVar9 < local_93c)) {\n                local_93c = psVar9;\n              }\n              psVar45 = psVar9;\n              if (2 < (int)psVar38) {\n                psVar22 = local_7b4;\n                psVar8 = local_93c;\n                psVar17 = psVar9;\n                psVar9 = (stat64 *)\n                         pr2serr("Moved IF byte pointer to %u, if_len=%u, if_readable_len=%u\n",\n                                 local_7b4,local_93c,psVar9);\n              }\n            }\n            goto LAB_00011fa8;\n          }\n          goto LAB_00011e6c;\n        }\n        piVar19 = __errno_location();\n        iVar14 = *piVar19;\n        pcVar15 = "could not fstat %s";\n      }\n      __snprintf_chk(local_174 + 0x50,0x100,1,0x100,pcVar15,local_79c,piVar19,piVar19);\n      perror(local_174 + 0x50);\n      local_908 = (stat64 *)sg_convert_errno(iVar14);\n      goto LAB_00011a84;\n    }" { (expression_statement "local_924 = (stat64 *)open64(local_79c,0,iVar14,iVar14);" (assignment_expression "local_924 = (stat64 *)open64(local_79c,0,iVar14,iVar14)" identifier = (cast_expression "(stat64 *)open64(local_79c,0,iVar14,iVar14)" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "open64(local_79c,0,iVar14,iVar14)" identifier (argument_list "(local_79c,0,iVar14,iVar14)" ( identifier , number_literal , identifier , identifier ))))) ;) (if_statement "if ((int)local_924 < 0) {\n        piVar19 = __errno_location();\n        iVar14 = *piVar19;\n        pcVar15 = "could not open %s for reading";\n      }\n      else {\n        psVar17 = (stat64 *)sg_set_binary_mode(local_924);\n        if ((int)psVar17 < 0) goto LAB_00011dea;\n        psVar22 = local_924;\n        psVar8 = local_930;\n        iVar14 = __fxstat64(3,(int)local_924,local_930);\n        if (-1 < iVar14) {\n          if ((local_8e0._16_4_ & 0xf000) == 0x8000) {\n            local_93c = (stat64 *)local_8e0._44_4_;\n            if (psVar45 != (stat64 *)0x0) {\n              local_93c = psVar45;\n            }\n            if ((local_8b0 != 0 || (stat64 *)local_8e0._44_4_ != (stat64 *)0x0) &&\n               (psVar25 = (stat64 *)((int)&((stat64 *)(local_8e0._44_4_ + -0x60))->st_ino + 7),\n               iVar28 = local_8b0 + -1 + (uint)((stat64 *)local_8e0._44_4_ != (stat64 *)0x0),\n               iVar14 = (int)local_7b0 - iVar28,\n               (SBORROW4((int)local_7b0,iVar28) != SBORROW4(iVar14,(uint)(local_7b4 < psVar25))) ==\n               (int)(iVar14 - (uint)(local_7b4 < psVar25)) < 0)) {\n              pr2serr("Offset (%llu) is at or beyond IF byte length (%llu)\n",local_7b4,local_7b0,\n                      local_8e0._44_4_,local_8b0,psVar22,psVar8,psVar17);\n              local_908 = (stat64 *)0xf;\n              goto LAB_00012527;\n            }\n            psVar9 = local_7b4;\n            psVar45 = (stat64 *)local_8e0._44_4_;\n            iVar14 = local_8b0;\n            if (local_7b0 != (stat64 *)0x0 || local_7b4 != (stat64 *)0x0) {\n              psVar17 = (stat64 *)0x0;\n              psVar22 = local_7b4;\n              psVar8 = local_7b0;\n              _Var35 = lseek64((int)local_924,CONCAT44(local_7b0,local_7b4),0);\n              psVar25 = local_7b4;\n              if (_Var35 < 0) {\n                piVar19 = __errno_location();\n                psVar25 = (stat64 *)(local_174 + 0x50);\n                iVar14 = *piVar19;\n                __snprintf_chk(psVar25,0x100,1,0x100,"couldn\'t offset to required position on %s",\n                               local_79c,piVar19,piVar19);\n                perror((char *)psVar25);\n                local_908 = (stat64 *)sg_convert_errno(iVar14);\n                goto LAB_00012527;\n              }\n              psVar9 = (stat64 *)((int)psVar45 - (int)local_7b4);\n              iVar14 = (local_8b0 - (int)local_7b0) - (uint)(psVar45 < local_7b4);\n              local_930 = psVar45;\n              if ((int)(uint)(psVar9 != (stat64 *)0x0) <= -iVar14) {\n                pr2serr("--offset [0x%llx] at or beyond file length[0x%llx]\n",local_7b4,local_7b0,\n                        psVar45,local_8b0);\n                local_908 = (stat64 *)0xf;\n                goto LAB_00012527;\n              }\n              if ((local_7f8 != 0) &&\n                 (local_930 = local_7d0, iVar14 < (int)(uint)(psVar9 < local_7d0))) {\n                pr2serr("after accounting for OFF, DLEN exceeds %s remaining length (%u bytes)\n",\n                        local_79c,psVar9,psVar9);\n                local_908 = (stat64 *)0xf;\n                psVar25 = psVar9;\n                goto LAB_00012527;\n              }\n              if (iVar14 < (int)(uint)(psVar9 < local_93c)) {\n                local_93c = psVar9;\n              }\n              psVar45 = psVar9;\n              if (2 < (int)psVar38) {\n                psVar22 = local_7b4;\n                psVar8 = local_93c;\n                psVar17 = psVar9;\n                psVar9 = (stat64 *)\n                         pr2serr("Moved IF byte pointer to %u, if_len=%u, if_readable_len=%u\n",\n                                 local_7b4,local_93c,psVar9);\n              }\n            }\n            goto LAB_00011fa8;\n          }\n          goto LAB_00011e6c;\n        }\n        piVar19 = __errno_location();\n        iVar14 = *piVar19;\n        pcVar15 = "could not fstat %s";\n      }" if (parenthesized_expression "((int)local_924 < 0)" ( (binary_expression "(int)local_924 < 0" (cast_expression "(int)local_924" ( (type_descriptor "int" primitive_type) ) identifier) < number_literal) )) (compound_statement "{\n        piVar19 = __errno_location();\n        iVar14 = *piVar19;\n        pcVar15 = "could not open %s for reading";\n      }" { (expression_statement "piVar19 = __errno_location();" (assignment_expression "piVar19 = __errno_location()" identifier = (call_expression "__errno_location()" identifier (argument_list "()" ( )))) ;) (expression_statement "iVar14 = *piVar19;" (assignment_expression "iVar14 = *piVar19" identifier = (pointer_expression "*piVar19" * identifier)) ;) (expression_statement "pcVar15 = "could not open %s for reading";" (assignment_expression "pcVar15 = "could not open %s for reading"" identifier = (string_literal ""could not open %s for reading"" " string_content ")) ;) }) (else_clause "else {\n        psVar17 = (stat64 *)sg_set_binary_mode(local_924);\n        if ((int)psVar17 < 0) goto LAB_00011dea;\n        psVar22 = local_924;\n        psVar8 = local_930;\n        iVar14 = __fxstat64(3,(int)local_924,local_930);\n        if (-1 < iVar14) {\n          if ((local_8e0._16_4_ & 0xf000) == 0x8000) {\n            local_93c = (stat64 *)local_8e0._44_4_;\n            if (psVar45 != (stat64 *)0x0) {\n              local_93c = psVar45;\n            }\n            if ((local_8b0 != 0 || (stat64 *)local_8e0._44_4_ != (stat64 *)0x0) &&\n               (psVar25 = (stat64 *)((int)&((stat64 *)(local_8e0._44_4_ + -0x60))->st_ino + 7),\n               iVar28 = local_8b0 + -1 + (uint)((stat64 *)local_8e0._44_4_ != (stat64 *)0x0),\n               iVar14 = (int)local_7b0 - iVar28,\n               (SBORROW4((int)local_7b0,iVar28) != SBORROW4(iVar14,(uint)(local_7b4 < psVar25))) ==\n               (int)(iVar14 - (uint)(local_7b4 < psVar25)) < 0)) {\n              pr2serr("Offset (%llu) is at or beyond IF byte length (%llu)\n",local_7b4,local_7b0,\n                      local_8e0._44_4_,local_8b0,psVar22,psVar8,psVar17);\n              local_908 = (stat64 *)0xf;\n              goto LAB_00012527;\n            }\n            psVar9 = local_7b4;\n            psVar45 = (stat64 *)local_8e0._44_4_;\n            iVar14 = local_8b0;\n            if (local_7b0 != (stat64 *)0x0 || local_7b4 != (stat64 *)0x0) {\n              psVar17 = (stat64 *)0x0;\n              psVar22 = local_7b4;\n              psVar8 = local_7b0;\n              _Var35 = lseek64((int)local_924,CONCAT44(local_7b0,local_7b4),0);\n              psVar25 = local_7b4;\n              if (_Var35 < 0) {\n                piVar19 = __errno_location();\n                psVar25 = (stat64 *)(local_174 + 0x50);\n                iVar14 = *piVar19;\n                __snprintf_chk(psVar25,0x100,1,0x100,"couldn\'t offset to required position on %s",\n                               local_79c,piVar19,piVar19);\n                perror((char *)psVar25);\n                local_908 = (stat64 *)sg_convert_errno(iVar14);\n                goto LAB_00012527;\n              }\n              psVar9 = (stat64 *)((int)psVar45 - (int)local_7b4);\n              iVar14 = (local_8b0 - (int)local_7b0) - (uint)(psVar45 < local_7b4);\n              local_930 = psVar45;\n              if ((int)(uint)(psVar9 != (stat64 *)0x0) <= -iVar14) {\n                pr2serr("--offset [0x%llx] at or beyond file length[0x%llx]\n",local_7b4,local_7b0,\n                        psVar45,local_8b0);\n                local_908 = (stat64 *)0xf;\n                goto LAB_00012527;\n              }\n              if ((local_7f8 != 0) &&\n                 (local_930 = local_7d0, iVar14 < (int)(uint)(psVar9 < local_7d0))) {\n                pr2serr("after accounting for OFF, DLEN exceeds %s remaining length (%u bytes)\n",\n                        local_79c,psVar9,psVar9);\n                local_908 = (stat64 *)0xf;\n                psVar25 = psVar9;\n                goto LAB_00012527;\n              }\n              if (iVar14 < (int)(uint)(psVar9 < local_93c)) {\n                local_93c = psVar9;\n              }\n              psVar45 = psVar9;\n              if (2 < (int)psVar38) {\n                psVar22 = local_7b4;\n                psVar8 = local_93c;\n                psVar17 = psVar9;\n                psVar9 = (stat64 *)\n                         pr2serr("Moved IF byte pointer to %u, if_len=%u, if_readable_len=%u\n",\n                                 local_7b4,local_93c,psVar9);\n              }\n            }\n            goto LAB_00011fa8;\n          }\n          goto LAB_00011e6c;\n        }\n        piVar19 = __errno_location();\n        iVar14 = *piVar19;\n        pcVar15 = "could not fstat %s";\n      }" else (compound_statement "{\n        psVar17 = (stat64 *)sg_set_binary_mode(local_924);\n        if ((int)psVar17 < 0) goto LAB_00011dea;\n        psVar22 = local_924;\n        psVar8 = local_930;\n        iVar14 = __fxstat64(3,(int)local_924,local_930);\n        if (-1 < iVar14) {\n          if ((local_8e0._16_4_ & 0xf000) == 0x8000) {\n            local_93c = (stat64 *)local_8e0._44_4_;\n            if (psVar45 != (stat64 *)0x0) {\n              local_93c = psVar45;\n            }\n            if ((local_8b0 != 0 || (stat64 *)local_8e0._44_4_ != (stat64 *)0x0) &&\n               (psVar25 = (stat64 *)((int)&((stat64 *)(local_8e0._44_4_ + -0x60))->st_ino + 7),\n               iVar28 = local_8b0 + -1 + (uint)((stat64 *)local_8e0._44_4_ != (stat64 *)0x0),\n               iVar14 = (int)local_7b0 - iVar28,\n               (SBORROW4((int)local_7b0,iVar28) != SBORROW4(iVar14,(uint)(local_7b4 < psVar25))) ==\n               (int)(iVar14 - (uint)(local_7b4 < psVar25)) < 0)) {\n              pr2serr("Offset (%llu) is at or beyond IF byte length (%llu)\n",local_7b4,local_7b0,\n                      local_8e0._44_4_,local_8b0,psVar22,psVar8,psVar17);\n              local_908 = (stat64 *)0xf;\n              goto LAB_00012527;\n            }\n            psVar9 = local_7b4;\n            psVar45 = (stat64 *)local_8e0._44_4_;\n            iVar14 = local_8b0;\n            if (local_7b0 != (stat64 *)0x0 || local_7b4 != (stat64 *)0x0) {\n              psVar17 = (stat64 *)0x0;\n              psVar22 = local_7b4;\n              psVar8 = local_7b0;\n              _Var35 = lseek64((int)local_924,CONCAT44(local_7b0,local_7b4),0);\n              psVar25 = local_7b4;\n              if (_Var35 < 0) {\n                piVar19 = __errno_location();\n                psVar25 = (stat64 *)(local_174 + 0x50);\n                iVar14 = *piVar19;\n                __snprintf_chk(psVar25,0x100,1,0x100,"couldn\'t offset to required position on %s",\n                               local_79c,piVar19,piVar19);\n                perror((char *)psVar25);\n                local_908 = (stat64 *)sg_convert_errno(iVar14);\n                goto LAB_00012527;\n              }\n              psVar9 = (stat64 *)((int)psVar45 - (int)local_7b4);\n              iVar14 = (local_8b0 - (int)local_7b0) - (uint)(psVar45 < local_7b4);\n              local_930 = psVar45;\n              if ((int)(uint)(psVar9 != (stat64 *)0x0) <= -iVar14) {\n                pr2serr("--offset [0x%llx] at or beyond file length[0x%llx]\n",local_7b4,local_7b0,\n                        psVar45,local_8b0);\n                local_908 = (stat64 *)0xf;\n                goto LAB_00012527;\n              }\n              if ((local_7f8 != 0) &&\n                 (local_930 = local_7d0, iVar14 < (int)(uint)(psVar9 < local_7d0))) {\n                pr2serr("after accounting for OFF, DLEN exceeds %s remaining length (%u bytes)\n",\n                        local_79c,psVar9,psVar9);\n                local_908 = (stat64 *)0xf;\n                psVar25 = psVar9;\n                goto LAB_00012527;\n              }\n              if (iVar14 < (int)(uint)(psVar9 < local_93c)) {\n                local_93c = psVar9;\n              }\n              psVar45 = psVar9;\n              if (2 < (int)psVar38) {\n                psVar22 = local_7b4;\n                psVar8 = local_93c;\n                psVar17 = psVar9;\n                psVar9 = (stat64 *)\n                         pr2serr("Moved IF byte pointer to %u, if_len=%u, if_readable_len=%u\n",\n                                 local_7b4,local_93c,psVar9);\n              }\n            }\n            goto LAB_00011fa8;\n          }\n          goto LAB_00011e6c;\n        }\n        piVar19 = __errno_location();\n        iVar14 = *piVar19;\n        pcVar15 = "could not fstat %s";\n      }" { (expression_statement "psVar17 = (stat64 *)sg_set_binary_mode(local_924);" (assignment_expression "psVar17 = (stat64 *)sg_set_binary_mode(local_924)" identifier = (cast_expression "(stat64 *)sg_set_binary_mode(local_924)" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "sg_set_binary_mode(local_924)" identifier (argument_list "(local_924)" ( identifier ))))) ;) (if_statement "if ((int)psVar17 < 0) goto LAB_00011dea;" if (parenthesized_expression "((int)psVar17 < 0)" ( (binary_expression "(int)psVar17 < 0" (cast_expression "(int)psVar17" ( (type_descriptor "int" primitive_type) ) identifier) < number_literal) )) (goto_statement "goto LAB_00011dea;" goto statement_identifier ;)) (expression_statement "psVar22 = local_924;" (assignment_expression "psVar22 = local_924" identifier = identifier) ;) (expression_statement "psVar8 = local_930;" (assignment_expression "psVar8 = local_930" identifier = identifier) ;) (expression_statement "iVar14 = __fxstat64(3,(int)local_924,local_930);" (assignment_expression "iVar14 = __fxstat64(3,(int)local_924,local_930)" identifier = (call_expression "__fxstat64(3,(int)local_924,local_930)" identifier (argument_list "(3,(int)local_924,local_930)" ( number_literal , (cast_expression "(int)local_924" ( (type_descriptor "int" primitive_type) ) identifier) , identifier )))) ;) (if_statement "if (-1 < iVar14) {\n          if ((local_8e0._16_4_ & 0xf000) == 0x8000) {\n            local_93c = (stat64 *)local_8e0._44_4_;\n            if (psVar45 != (stat64 *)0x0) {\n              local_93c = psVar45;\n            }\n            if ((local_8b0 != 0 || (stat64 *)local_8e0._44_4_ != (stat64 *)0x0) &&\n               (psVar25 = (stat64 *)((int)&((stat64 *)(local_8e0._44_4_ + -0x60))->st_ino + 7),\n               iVar28 = local_8b0 + -1 + (uint)((stat64 *)local_8e0._44_4_ != (stat64 *)0x0),\n               iVar14 = (int)local_7b0 - iVar28,\n               (SBORROW4((int)local_7b0,iVar28) != SBORROW4(iVar14,(uint)(local_7b4 < psVar25))) ==\n               (int)(iVar14 - (uint)(local_7b4 < psVar25)) < 0)) {\n              pr2serr("Offset (%llu) is at or beyond IF byte length (%llu)\n",local_7b4,local_7b0,\n                      local_8e0._44_4_,local_8b0,psVar22,psVar8,psVar17);\n              local_908 = (stat64 *)0xf;\n              goto LAB_00012527;\n            }\n            psVar9 = local_7b4;\n            psVar45 = (stat64 *)local_8e0._44_4_;\n            iVar14 = local_8b0;\n            if (local_7b0 != (stat64 *)0x0 || local_7b4 != (stat64 *)0x0) {\n              psVar17 = (stat64 *)0x0;\n              psVar22 = local_7b4;\n              psVar8 = local_7b0;\n              _Var35 = lseek64((int)local_924,CONCAT44(local_7b0,local_7b4),0);\n              psVar25 = local_7b4;\n              if (_Var35 < 0) {\n                piVar19 = __errno_location();\n                psVar25 = (stat64 *)(local_174 + 0x50);\n                iVar14 = *piVar19;\n                __snprintf_chk(psVar25,0x100,1,0x100,"couldn\'t offset to required position on %s",\n                               local_79c,piVar19,piVar19);\n                perror((char *)psVar25);\n                local_908 = (stat64 *)sg_convert_errno(iVar14);\n                goto LAB_00012527;\n              }\n              psVar9 = (stat64 *)((int)psVar45 - (int)local_7b4);\n              iVar14 = (local_8b0 - (int)local_7b0) - (uint)(psVar45 < local_7b4);\n              local_930 = psVar45;\n              if ((int)(uint)(psVar9 != (stat64 *)0x0) <= -iVar14) {\n                pr2serr("--offset [0x%llx] at or beyond file length[0x%llx]\n",local_7b4,local_7b0,\n                        psVar45,local_8b0);\n                local_908 = (stat64 *)0xf;\n                goto LAB_00012527;\n              }\n              if ((local_7f8 != 0) &&\n                 (local_930 = local_7d0, iVar14 < (int)(uint)(psVar9 < local_7d0))) {\n                pr2serr("after accounting for OFF, DLEN exceeds %s remaining length (%u bytes)\n",\n                        local_79c,psVar9,psVar9);\n                local_908 = (stat64 *)0xf;\n                psVar25 = psVar9;\n                goto LAB_00012527;\n              }\n              if (iVar14 < (int)(uint)(psVar9 < local_93c)) {\n                local_93c = psVar9;\n              }\n              psVar45 = psVar9;\n              if (2 < (int)psVar38) {\n                psVar22 = local_7b4;\n                psVar8 = local_93c;\n                psVar17 = psVar9;\n                psVar9 = (stat64 *)\n                         pr2serr("Moved IF byte pointer to %u, if_len=%u, if_readable_len=%u\n",\n                                 local_7b4,local_93c,psVar9);\n              }\n            }\n            goto LAB_00011fa8;\n          }\n          goto LAB_00011e6c;\n        }" if (parenthesized_expression "(-1 < iVar14)" ( (binary_expression "-1 < iVar14" number_literal < identifier) )) (compound_statement "{\n          if ((local_8e0._16_4_ & 0xf000) == 0x8000) {\n            local_93c = (stat64 *)local_8e0._44_4_;\n            if (psVar45 != (stat64 *)0x0) {\n              local_93c = psVar45;\n            }\n            if ((local_8b0 != 0 || (stat64 *)local_8e0._44_4_ != (stat64 *)0x0) &&\n               (psVar25 = (stat64 *)((int)&((stat64 *)(local_8e0._44_4_ + -0x60))->st_ino + 7),\n               iVar28 = local_8b0 + -1 + (uint)((stat64 *)local_8e0._44_4_ != (stat64 *)0x0),\n               iVar14 = (int)local_7b0 - iVar28,\n               (SBORROW4((int)local_7b0,iVar28) != SBORROW4(iVar14,(uint)(local_7b4 < psVar25))) ==\n               (int)(iVar14 - (uint)(local_7b4 < psVar25)) < 0)) {\n              pr2serr("Offset (%llu) is at or beyond IF byte length (%llu)\n",local_7b4,local_7b0,\n                      local_8e0._44_4_,local_8b0,psVar22,psVar8,psVar17);\n              local_908 = (stat64 *)0xf;\n              goto LAB_00012527;\n            }\n            psVar9 = local_7b4;\n            psVar45 = (stat64 *)local_8e0._44_4_;\n            iVar14 = local_8b0;\n            if (local_7b0 != (stat64 *)0x0 || local_7b4 != (stat64 *)0x0) {\n              psVar17 = (stat64 *)0x0;\n              psVar22 = local_7b4;\n              psVar8 = local_7b0;\n              _Var35 = lseek64((int)local_924,CONCAT44(local_7b0,local_7b4),0);\n              psVar25 = local_7b4;\n              if (_Var35 < 0) {\n                piVar19 = __errno_location();\n                psVar25 = (stat64 *)(local_174 + 0x50);\n                iVar14 = *piVar19;\n                __snprintf_chk(psVar25,0x100,1,0x100,"couldn\'t offset to required position on %s",\n                               local_79c,piVar19,piVar19);\n                perror((char *)psVar25);\n                local_908 = (stat64 *)sg_convert_errno(iVar14);\n                goto LAB_00012527;\n              }\n              psVar9 = (stat64 *)((int)psVar45 - (int)local_7b4);\n              iVar14 = (local_8b0 - (int)local_7b0) - (uint)(psVar45 < local_7b4);\n              local_930 = psVar45;\n              if ((int)(uint)(psVar9 != (stat64 *)0x0) <= -iVar14) {\n                pr2serr("--offset [0x%llx] at or beyond file length[0x%llx]\n",local_7b4,local_7b0,\n                        psVar45,local_8b0);\n                local_908 = (stat64 *)0xf;\n                goto LAB_00012527;\n              }\n              if ((local_7f8 != 0) &&\n                 (local_930 = local_7d0, iVar14 < (int)(uint)(psVar9 < local_7d0))) {\n                pr2serr("after accounting for OFF, DLEN exceeds %s remaining length (%u bytes)\n",\n                        local_79c,psVar9,psVar9);\n                local_908 = (stat64 *)0xf;\n                psVar25 = psVar9;\n                goto LAB_00012527;\n              }\n              if (iVar14 < (int)(uint)(psVar9 < local_93c)) {\n                local_93c = psVar9;\n              }\n              psVar45 = psVar9;\n              if (2 < (int)psVar38) {\n                psVar22 = local_7b4;\n                psVar8 = local_93c;\n                psVar17 = psVar9;\n                psVar9 = (stat64 *)\n                         pr2serr("Moved IF byte pointer to %u, if_len=%u, if_readable_len=%u\n",\n                                 local_7b4,local_93c,psVar9);\n              }\n            }\n            goto LAB_00011fa8;\n          }\n          goto LAB_00011e6c;\n        }" { (if_statement "if ((local_8e0._16_4_ & 0xf000) == 0x8000) {\n            local_93c = (stat64 *)local_8e0._44_4_;\n            if (psVar45 != (stat64 *)0x0) {\n              local_93c = psVar45;\n            }\n            if ((local_8b0 != 0 || (stat64 *)local_8e0._44_4_ != (stat64 *)0x0) &&\n               (psVar25 = (stat64 *)((int)&((stat64 *)(local_8e0._44_4_ + -0x60))->st_ino + 7),\n               iVar28 = local_8b0 + -1 + (uint)((stat64 *)local_8e0._44_4_ != (stat64 *)0x0),\n               iVar14 = (int)local_7b0 - iVar28,\n               (SBORROW4((int)local_7b0,iVar28) != SBORROW4(iVar14,(uint)(local_7b4 < psVar25))) ==\n               (int)(iVar14 - (uint)(local_7b4 < psVar25)) < 0)) {\n              pr2serr("Offset (%llu) is at or beyond IF byte length (%llu)\n",local_7b4,local_7b0,\n                      local_8e0._44_4_,local_8b0,psVar22,psVar8,psVar17);\n              local_908 = (stat64 *)0xf;\n              goto LAB_00012527;\n            }\n            psVar9 = local_7b4;\n            psVar45 = (stat64 *)local_8e0._44_4_;\n            iVar14 = local_8b0;\n            if (local_7b0 != (stat64 *)0x0 || local_7b4 != (stat64 *)0x0) {\n              psVar17 = (stat64 *)0x0;\n              psVar22 = local_7b4;\n              psVar8 = local_7b0;\n              _Var35 = lseek64((int)local_924,CONCAT44(local_7b0,local_7b4),0);\n              psVar25 = local_7b4;\n              if (_Var35 < 0) {\n                piVar19 = __errno_location();\n                psVar25 = (stat64 *)(local_174 + 0x50);\n                iVar14 = *piVar19;\n                __snprintf_chk(psVar25,0x100,1,0x100,"couldn\'t offset to required position on %s",\n                               local_79c,piVar19,piVar19);\n                perror((char *)psVar25);\n                local_908 = (stat64 *)sg_convert_errno(iVar14);\n                goto LAB_00012527;\n              }\n              psVar9 = (stat64 *)((int)psVar45 - (int)local_7b4);\n              iVar14 = (local_8b0 - (int)local_7b0) - (uint)(psVar45 < local_7b4);\n              local_930 = psVar45;\n              if ((int)(uint)(psVar9 != (stat64 *)0x0) <= -iVar14) {\n                pr2serr("--offset [0x%llx] at or beyond file length[0x%llx]\n",local_7b4,local_7b0,\n                        psVar45,local_8b0);\n                local_908 = (stat64 *)0xf;\n                goto LAB_00012527;\n              }\n              if ((local_7f8 != 0) &&\n                 (local_930 = local_7d0, iVar14 < (int)(uint)(psVar9 < local_7d0))) {\n                pr2serr("after accounting for OFF, DLEN exceeds %s remaining length (%u bytes)\n",\n                        local_79c,psVar9,psVar9);\n                local_908 = (stat64 *)0xf;\n                psVar25 = psVar9;\n                goto LAB_00012527;\n              }\n              if (iVar14 < (int)(uint)(psVar9 < local_93c)) {\n                local_93c = psVar9;\n              }\n              psVar45 = psVar9;\n              if (2 < (int)psVar38) {\n                psVar22 = local_7b4;\n                psVar8 = local_93c;\n                psVar17 = psVar9;\n                psVar9 = (stat64 *)\n                         pr2serr("Moved IF byte pointer to %u, if_len=%u, if_readable_len=%u\n",\n                                 local_7b4,local_93c,psVar9);\n              }\n            }\n            goto LAB_00011fa8;\n          }" if (parenthesized_expression "((local_8e0._16_4_ & 0xf000) == 0x8000)" ( (binary_expression "(local_8e0._16_4_ & 0xf000) == 0x8000" (parenthesized_expression "(local_8e0._16_4_ & 0xf000)" ( (binary_expression "local_8e0._16_4_ & 0xf000" (field_expression "local_8e0._16_4_" identifier . field_identifier) & number_literal) )) == number_literal) )) (compound_statement "{\n            local_93c = (stat64 *)local_8e0._44_4_;\n            if (psVar45 != (stat64 *)0x0) {\n              local_93c = psVar45;\n            }\n            if ((local_8b0 != 0 || (stat64 *)local_8e0._44_4_ != (stat64 *)0x0) &&\n               (psVar25 = (stat64 *)((int)&((stat64 *)(local_8e0._44_4_ + -0x60))->st_ino + 7),\n               iVar28 = local_8b0 + -1 + (uint)((stat64 *)local_8e0._44_4_ != (stat64 *)0x0),\n               iVar14 = (int)local_7b0 - iVar28,\n               (SBORROW4((int)local_7b0,iVar28) != SBORROW4(iVar14,(uint)(local_7b4 < psVar25))) ==\n               (int)(iVar14 - (uint)(local_7b4 < psVar25)) < 0)) {\n              pr2serr("Offset (%llu) is at or beyond IF byte length (%llu)\n",local_7b4,local_7b0,\n                      local_8e0._44_4_,local_8b0,psVar22,psVar8,psVar17);\n              local_908 = (stat64 *)0xf;\n              goto LAB_00012527;\n            }\n            psVar9 = local_7b4;\n            psVar45 = (stat64 *)local_8e0._44_4_;\n            iVar14 = local_8b0;\n            if (local_7b0 != (stat64 *)0x0 || local_7b4 != (stat64 *)0x0) {\n              psVar17 = (stat64 *)0x0;\n              psVar22 = local_7b4;\n              psVar8 = local_7b0;\n              _Var35 = lseek64((int)local_924,CONCAT44(local_7b0,local_7b4),0);\n              psVar25 = local_7b4;\n              if (_Var35 < 0) {\n                piVar19 = __errno_location();\n                psVar25 = (stat64 *)(local_174 + 0x50);\n                iVar14 = *piVar19;\n                __snprintf_chk(psVar25,0x100,1,0x100,"couldn\'t offset to required position on %s",\n                               local_79c,piVar19,piVar19);\n                perror((char *)psVar25);\n                local_908 = (stat64 *)sg_convert_errno(iVar14);\n                goto LAB_00012527;\n              }\n              psVar9 = (stat64 *)((int)psVar45 - (int)local_7b4);\n              iVar14 = (local_8b0 - (int)local_7b0) - (uint)(psVar45 < local_7b4);\n              local_930 = psVar45;\n              if ((int)(uint)(psVar9 != (stat64 *)0x0) <= -iVar14) {\n                pr2serr("--offset [0x%llx] at or beyond file length[0x%llx]\n",local_7b4,local_7b0,\n                        psVar45,local_8b0);\n                local_908 = (stat64 *)0xf;\n                goto LAB_00012527;\n              }\n              if ((local_7f8 != 0) &&\n                 (local_930 = local_7d0, iVar14 < (int)(uint)(psVar9 < local_7d0))) {\n                pr2serr("after accounting for OFF, DLEN exceeds %s remaining length (%u bytes)\n",\n                        local_79c,psVar9,psVar9);\n                local_908 = (stat64 *)0xf;\n                psVar25 = psVar9;\n                goto LAB_00012527;\n              }\n              if (iVar14 < (int)(uint)(psVar9 < local_93c)) {\n                local_93c = psVar9;\n              }\n              psVar45 = psVar9;\n              if (2 < (int)psVar38) {\n                psVar22 = local_7b4;\n                psVar8 = local_93c;\n                psVar17 = psVar9;\n                psVar9 = (stat64 *)\n                         pr2serr("Moved IF byte pointer to %u, if_len=%u, if_readable_len=%u\n",\n                                 local_7b4,local_93c,psVar9);\n              }\n            }\n            goto LAB_00011fa8;\n          }" { (expression_statement "local_93c = (stat64 *)local_8e0._44_4_;" (assignment_expression "local_93c = (stat64 *)local_8e0._44_4_" identifier = (cast_expression "(stat64 *)local_8e0._44_4_" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "local_8e0._44_4_" identifier . field_identifier))) ;) (if_statement "if (psVar45 != (stat64 *)0x0) {\n              local_93c = psVar45;\n            }" if (parenthesized_expression "(psVar45 != (stat64 *)0x0)" ( (binary_expression "psVar45 != (stat64 *)0x0" identifier != (cast_expression "(stat64 *)0x0" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n              local_93c = psVar45;\n            }" { (expression_statement "local_93c = psVar45;" (assignment_expression "local_93c = psVar45" identifier = identifier) ;) })) (if_statement "if ((local_8b0 != 0 || (stat64 *)local_8e0._44_4_ != (stat64 *)0x0) &&\n               (psVar25 = (stat64 *)((int)&((stat64 *)(local_8e0._44_4_ + -0x60))->st_ino + 7),\n               iVar28 = local_8b0 + -1 + (uint)((stat64 *)local_8e0._44_4_ != (stat64 *)0x0),\n               iVar14 = (int)local_7b0 - iVar28,\n               (SBORROW4((int)local_7b0,iVar28) != SBORROW4(iVar14,(uint)(local_7b4 < psVar25))) ==\n               (int)(iVar14 - (uint)(local_7b4 < psVar25)) < 0)) {\n              pr2serr("Offset (%llu) is at or beyond IF byte length (%llu)\n",local_7b4,local_7b0,\n                      local_8e0._44_4_,local_8b0,psVar22,psVar8,psVar17);\n              local_908 = (stat64 *)0xf;\n              goto LAB_00012527;\n            }" if (parenthesized_expression "((local_8b0 != 0 || (stat64 *)local_8e0._44_4_ != (stat64 *)0x0) &&\n               (psVar25 = (stat64 *)((int)&((stat64 *)(local_8e0._44_4_ + -0x60))->st_ino + 7),\n               iVar28 = local_8b0 + -1 + (uint)((stat64 *)local_8e0._44_4_ != (stat64 *)0x0),\n               iVar14 = (int)local_7b0 - iVar28,\n               (SBORROW4((int)local_7b0,iVar28) != SBORROW4(iVar14,(uint)(local_7b4 < psVar25))) ==\n               (int)(iVar14 - (uint)(local_7b4 < psVar25)) < 0))" ( (binary_expression "(local_8b0 != 0 || (stat64 *)local_8e0._44_4_ != (stat64 *)0x0) &&\n               (psVar25 = (stat64 *)((int)&((stat64 *)(local_8e0._44_4_ + -0x60))->st_ino + 7),\n               iVar28 = local_8b0 + -1 + (uint)((stat64 *)local_8e0._44_4_ != (stat64 *)0x0),\n               iVar14 = (int)local_7b0 - iVar28,\n               (SBORROW4((int)local_7b0,iVar28) != SBORROW4(iVar14,(uint)(local_7b4 < psVar25))) ==\n               (int)(iVar14 - (uint)(local_7b4 < psVar25)) < 0)" (parenthesized_expression "(local_8b0 != 0 || (stat64 *)local_8e0._44_4_ != (stat64 *)0x0)" ( (binary_expression "local_8b0 != 0 || (stat64 *)local_8e0._44_4_ != (stat64 *)0x0" (binary_expression "local_8b0 != 0" identifier != number_literal) || (binary_expression "(stat64 *)local_8e0._44_4_ != (stat64 *)0x0" (cast_expression "(stat64 *)local_8e0._44_4_" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "local_8e0._44_4_" identifier . field_identifier)) != (cast_expression "(stat64 *)0x0" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal))) )) && (parenthesized_expression "(psVar25 = (stat64 *)((int)&((stat64 *)(local_8e0._44_4_ + -0x60))->st_ino + 7),\n               iVar28 = local_8b0 + -1 + (uint)((stat64 *)local_8e0._44_4_ != (stat64 *)0x0),\n               iVar14 = (int)local_7b0 - iVar28,\n               (SBORROW4((int)local_7b0,iVar28) != SBORROW4(iVar14,(uint)(local_7b4 < psVar25))) ==\n               (int)(iVar14 - (uint)(local_7b4 < psVar25)) < 0)" ( (comma_expression "psVar25 = (stat64 *)((int)&((stat64 *)(local_8e0._44_4_ + -0x60))->st_ino + 7),\n               iVar28 = local_8b0 + -1 + (uint)((stat64 *)local_8e0._44_4_ != (stat64 *)0x0),\n               iVar14 = (int)local_7b0 - iVar28,\n               (SBORROW4((int)local_7b0,iVar28) != SBORROW4(iVar14,(uint)(local_7b4 < psVar25))) ==\n               (int)(iVar14 - (uint)(local_7b4 < psVar25)) < 0" (assignment_expression "psVar25 = (stat64 *)((int)&((stat64 *)(local_8e0._44_4_ + -0x60))->st_ino + 7)" identifier = (cast_expression "(stat64 *)((int)&((stat64 *)(local_8e0._44_4_ + -0x60))->st_ino + 7)" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&((stat64 *)(local_8e0._44_4_ + -0x60))->st_ino + 7)" ( (binary_expression "(int)&((stat64 *)(local_8e0._44_4_ + -0x60))->st_ino + 7" (cast_expression "(int)&((stat64 *)(local_8e0._44_4_ + -0x60))->st_ino" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&((stat64 *)(local_8e0._44_4_ + -0x60))->st_ino" & (field_expression "((stat64 *)(local_8e0._44_4_ + -0x60))->st_ino" (parenthesized_expression "((stat64 *)(local_8e0._44_4_ + -0x60))" ( (cast_expression "(stat64 *)(local_8e0._44_4_ + -0x60)" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_8e0._44_4_ + -0x60)" ( (binary_expression "local_8e0._44_4_ + -0x60" (field_expression "local_8e0._44_4_" identifier . field_identifier) + number_literal) ))) )) -> field_identifier))) + number_literal) )))) , (comma_expression "iVar28 = local_8b0 + -1 + (uint)((stat64 *)local_8e0._44_4_ != (stat64 *)0x0),\n               iVar14 = (int)local_7b0 - iVar28,\n               (SBORROW4((int)local_7b0,iVar28) != SBORROW4(iVar14,(uint)(local_7b4 < psVar25))) ==\n               (int)(iVar14 - (uint)(local_7b4 < psVar25)) < 0" (assignment_expression "iVar28 = local_8b0 + -1 + (uint)((stat64 *)local_8e0._44_4_ != (stat64 *)0x0)" identifier = (binary_expression "local_8b0 + -1 + (uint)((stat64 *)local_8e0._44_4_ != (stat64 *)0x0)" (binary_expression "local_8b0 + -1" identifier + number_literal) + (call_expression "(uint)((stat64 *)local_8e0._44_4_ != (stat64 *)0x0)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((stat64 *)local_8e0._44_4_ != (stat64 *)0x0)" ( (binary_expression "(stat64 *)local_8e0._44_4_ != (stat64 *)0x0" (cast_expression "(stat64 *)local_8e0._44_4_" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "local_8e0._44_4_" identifier . field_identifier)) != (cast_expression "(stat64 *)0x0" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ))))) , (comma_expression "iVar14 = (int)local_7b0 - iVar28,\n               (SBORROW4((int)local_7b0,iVar28) != SBORROW4(iVar14,(uint)(local_7b4 < psVar25))) ==\n               (int)(iVar14 - (uint)(local_7b4 < psVar25)) < 0" (assignment_expression "iVar14 = (int)local_7b0 - iVar28" identifier = (binary_expression "(int)local_7b0 - iVar28" (cast_expression "(int)local_7b0" ( (type_descriptor "int" primitive_type) ) identifier) - identifier)) , (binary_expression "(SBORROW4((int)local_7b0,iVar28) != SBORROW4(iVar14,(uint)(local_7b4 < psVar25))) ==\n               (int)(iVar14 - (uint)(local_7b4 < psVar25)) < 0" (parenthesized_expression "(SBORROW4((int)local_7b0,iVar28) != SBORROW4(iVar14,(uint)(local_7b4 < psVar25)))" ( (binary_expression "SBORROW4((int)local_7b0,iVar28) != SBORROW4(iVar14,(uint)(local_7b4 < psVar25))" (call_expression "SBORROW4((int)local_7b0,iVar28)" identifier (argument_list "((int)local_7b0,iVar28)" ( (cast_expression "(int)local_7b0" ( (type_descriptor "int" primitive_type) ) identifier) , identifier ))) != (call_expression "SBORROW4(iVar14,(uint)(local_7b4 < psVar25))" identifier (argument_list "(iVar14,(uint)(local_7b4 < psVar25))" ( identifier , (call_expression "(uint)(local_7b4 < psVar25)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(local_7b4 < psVar25)" ( (binary_expression "local_7b4 < psVar25" identifier < identifier) ))) )))) )) == (binary_expression "(int)(iVar14 - (uint)(local_7b4 < psVar25)) < 0" (cast_expression "(int)(iVar14 - (uint)(local_7b4 < psVar25))" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(iVar14 - (uint)(local_7b4 < psVar25))" ( (binary_expression "iVar14 - (uint)(local_7b4 < psVar25)" identifier - (call_expression "(uint)(local_7b4 < psVar25)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(local_7b4 < psVar25)" ( (binary_expression "local_7b4 < psVar25" identifier < identifier) )))) ))) < number_literal))))) ))) )) (compound_statement "{\n              pr2serr("Offset (%llu) is at or beyond IF byte length (%llu)\n",local_7b4,local_7b0,\n                      local_8e0._44_4_,local_8b0,psVar22,psVar8,psVar17);\n              local_908 = (stat64 *)0xf;\n              goto LAB_00012527;\n            }" { (expression_statement "pr2serr("Offset (%llu) is at or beyond IF byte length (%llu)\n",local_7b4,local_7b0,\n                      local_8e0._44_4_,local_8b0,psVar22,psVar8,psVar17);" (call_expression "pr2serr("Offset (%llu) is at or beyond IF byte length (%llu)\n",local_7b4,local_7b0,\n                      local_8e0._44_4_,local_8b0,psVar22,psVar8,psVar17)" identifier (argument_list "("Offset (%llu) is at or beyond IF byte length (%llu)\n",local_7b4,local_7b0,\n                      local_8e0._44_4_,local_8b0,psVar22,psVar8,psVar17)" ( (string_literal ""Offset (%llu) is at or beyond IF byte length (%llu)\n"" " string_content escape_sequence ") , identifier , identifier , (field_expression "local_8e0._44_4_" identifier . field_identifier) , identifier , identifier , identifier , identifier ))) ;) (expression_statement "local_908 = (stat64 *)0xf;" (assignment_expression "local_908 = (stat64 *)0xf" identifier = (cast_expression "(stat64 *)0xf" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (goto_statement "goto LAB_00012527;" goto statement_identifier ;) })) (expression_statement "psVar9 = local_7b4;" (assignment_expression "psVar9 = local_7b4" identifier = identifier) ;) (expression_statement "psVar45 = (stat64 *)local_8e0._44_4_;" (assignment_expression "psVar45 = (stat64 *)local_8e0._44_4_" identifier = (cast_expression "(stat64 *)local_8e0._44_4_" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "local_8e0._44_4_" identifier . field_identifier))) ;) (expression_statement "iVar14 = local_8b0;" (assignment_expression "iVar14 = local_8b0" identifier = identifier) ;) (if_statement "if (local_7b0 != (stat64 *)0x0 || local_7b4 != (stat64 *)0x0) {\n              psVar17 = (stat64 *)0x0;\n              psVar22 = local_7b4;\n              psVar8 = local_7b0;\n              _Var35 = lseek64((int)local_924,CONCAT44(local_7b0,local_7b4),0);\n              psVar25 = local_7b4;\n              if (_Var35 < 0) {\n                piVar19 = __errno_location();\n                psVar25 = (stat64 *)(local_174 + 0x50);\n                iVar14 = *piVar19;\n                __snprintf_chk(psVar25,0x100,1,0x100,"couldn\'t offset to required position on %s",\n                               local_79c,piVar19,piVar19);\n                perror((char *)psVar25);\n                local_908 = (stat64 *)sg_convert_errno(iVar14);\n                goto LAB_00012527;\n              }\n              psVar9 = (stat64 *)((int)psVar45 - (int)local_7b4);\n              iVar14 = (local_8b0 - (int)local_7b0) - (uint)(psVar45 < local_7b4);\n              local_930 = psVar45;\n              if ((int)(uint)(psVar9 != (stat64 *)0x0) <= -iVar14) {\n                pr2serr("--offset [0x%llx] at or beyond file length[0x%llx]\n",local_7b4,local_7b0,\n                        psVar45,local_8b0);\n                local_908 = (stat64 *)0xf;\n                goto LAB_00012527;\n              }\n              if ((local_7f8 != 0) &&\n                 (local_930 = local_7d0, iVar14 < (int)(uint)(psVar9 < local_7d0))) {\n                pr2serr("after accounting for OFF, DLEN exceeds %s remaining length (%u bytes)\n",\n                        local_79c,psVar9,psVar9);\n                local_908 = (stat64 *)0xf;\n                psVar25 = psVar9;\n                goto LAB_00012527;\n              }\n              if (iVar14 < (int)(uint)(psVar9 < local_93c)) {\n                local_93c = psVar9;\n              }\n              psVar45 = psVar9;\n              if (2 < (int)psVar38) {\n                psVar22 = local_7b4;\n                psVar8 = local_93c;\n                psVar17 = psVar9;\n                psVar9 = (stat64 *)\n                         pr2serr("Moved IF byte pointer to %u, if_len=%u, if_readable_len=%u\n",\n                                 local_7b4,local_93c,psVar9);\n              }\n            }" if (parenthesized_expression "(local_7b0 != (stat64 *)0x0 || local_7b4 != (stat64 *)0x0)" ( (binary_expression "local_7b0 != (stat64 *)0x0 || local_7b4 != (stat64 *)0x0" (binary_expression "local_7b0 != (stat64 *)0x0" identifier != (cast_expression "(stat64 *)0x0" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) || (binary_expression "local_7b4 != (stat64 *)0x0" identifier != (cast_expression "(stat64 *)0x0" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal))) )) (compound_statement "{\n              psVar17 = (stat64 *)0x0;\n              psVar22 = local_7b4;\n              psVar8 = local_7b0;\n              _Var35 = lseek64((int)local_924,CONCAT44(local_7b0,local_7b4),0);\n              psVar25 = local_7b4;\n              if (_Var35 < 0) {\n                piVar19 = __errno_location();\n                psVar25 = (stat64 *)(local_174 + 0x50);\n                iVar14 = *piVar19;\n                __snprintf_chk(psVar25,0x100,1,0x100,"couldn\'t offset to required position on %s",\n                               local_79c,piVar19,piVar19);\n                perror((char *)psVar25);\n                local_908 = (stat64 *)sg_convert_errno(iVar14);\n                goto LAB_00012527;\n              }\n              psVar9 = (stat64 *)((int)psVar45 - (int)local_7b4);\n              iVar14 = (local_8b0 - (int)local_7b0) - (uint)(psVar45 < local_7b4);\n              local_930 = psVar45;\n              if ((int)(uint)(psVar9 != (stat64 *)0x0) <= -iVar14) {\n                pr2serr("--offset [0x%llx] at or beyond file length[0x%llx]\n",local_7b4,local_7b0,\n                        psVar45,local_8b0);\n                local_908 = (stat64 *)0xf;\n                goto LAB_00012527;\n              }\n              if ((local_7f8 != 0) &&\n                 (local_930 = local_7d0, iVar14 < (int)(uint)(psVar9 < local_7d0))) {\n                pr2serr("after accounting for OFF, DLEN exceeds %s remaining length (%u bytes)\n",\n                        local_79c,psVar9,psVar9);\n                local_908 = (stat64 *)0xf;\n                psVar25 = psVar9;\n                goto LAB_00012527;\n              }\n              if (iVar14 < (int)(uint)(psVar9 < local_93c)) {\n                local_93c = psVar9;\n              }\n              psVar45 = psVar9;\n              if (2 < (int)psVar38) {\n                psVar22 = local_7b4;\n                psVar8 = local_93c;\n                psVar17 = psVar9;\n                psVar9 = (stat64 *)\n                         pr2serr("Moved IF byte pointer to %u, if_len=%u, if_readable_len=%u\n",\n                                 local_7b4,local_93c,psVar9);\n              }\n            }" { (expression_statement "psVar17 = (stat64 *)0x0;" (assignment_expression "psVar17 = (stat64 *)0x0" identifier = (cast_expression "(stat64 *)0x0" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "psVar22 = local_7b4;" (assignment_expression "psVar22 = local_7b4" identifier = identifier) ;) (expression_statement "psVar8 = local_7b0;" (assignment_expression "psVar8 = local_7b0" identifier = identifier) ;) (expression_statement "_Var35 = lseek64((int)local_924,CONCAT44(local_7b0,local_7b4),0);" (assignment_expression "_Var35 = lseek64((int)local_924,CONCAT44(local_7b0,local_7b4),0)" identifier = (call_expression "lseek64((int)local_924,CONCAT44(local_7b0,local_7b4),0)" identifier (argument_list "((int)local_924,CONCAT44(local_7b0,local_7b4),0)" ( (cast_expression "(int)local_924" ( (type_descriptor "int" primitive_type) ) identifier) , (call_expression "CONCAT44(local_7b0,local_7b4)" identifier (argument_list "(local_7b0,local_7b4)" ( identifier , identifier ))) , number_literal )))) ;) (expression_statement "psVar25 = local_7b4;" (assignment_expression "psVar25 = local_7b4" identifier = identifier) ;) (if_statement "if (_Var35 < 0) {\n                piVar19 = __errno_location();\n                psVar25 = (stat64 *)(local_174 + 0x50);\n                iVar14 = *piVar19;\n                __snprintf_chk(psVar25,0x100,1,0x100,"couldn\'t offset to required position on %s",\n                               local_79c,piVar19,piVar19);\n                perror((char *)psVar25);\n                local_908 = (stat64 *)sg_convert_errno(iVar14);\n                goto LAB_00012527;\n              }" if (parenthesized_expression "(_Var35 < 0)" ( (binary_expression "_Var35 < 0" identifier < number_literal) )) (compound_statement "{\n                piVar19 = __errno_location();\n                psVar25 = (stat64 *)(local_174 + 0x50);\n                iVar14 = *piVar19;\n                __snprintf_chk(psVar25,0x100,1,0x100,"couldn\'t offset to required position on %s",\n                               local_79c,piVar19,piVar19);\n                perror((char *)psVar25);\n                local_908 = (stat64 *)sg_convert_errno(iVar14);\n                goto LAB_00012527;\n              }" { (expression_statement "piVar19 = __errno_location();" (assignment_expression "piVar19 = __errno_location()" identifier = (call_expression "__errno_location()" identifier (argument_list "()" ( )))) ;) (expression_statement "psVar25 = (stat64 *)(local_174 + 0x50);" (assignment_expression "psVar25 = (stat64 *)(local_174 + 0x50)" identifier = (cast_expression "(stat64 *)(local_174 + 0x50)" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_174 + 0x50)" ( (binary_expression "local_174 + 0x50" identifier + number_literal) )))) ;) (expression_statement "iVar14 = *piVar19;" (assignment_expression "iVar14 = *piVar19" identifier = (pointer_expression "*piVar19" * identifier)) ;) (expression_statement "__snprintf_chk(psVar25,0x100,1,0x100,"couldn\'t offset to required position on %s",\n                               local_79c,piVar19,piVar19);" (call_expression "__snprintf_chk(psVar25,0x100,1,0x100,"couldn\'t offset to required position on %s",\n                               local_79c,piVar19,piVar19)" identifier (argument_list "(psVar25,0x100,1,0x100,"couldn\'t offset to required position on %s",\n                               local_79c,piVar19,piVar19)" ( identifier , number_literal , number_literal , number_literal , (string_literal ""couldn\'t offset to required position on %s"" " string_content escape_sequence string_content ") , identifier , identifier , identifier ))) ;) (expression_statement "perror((char *)psVar25);" (call_expression "perror((char *)psVar25)" identifier (argument_list "((char *)psVar25)" ( (cast_expression "(char *)psVar25" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) ))) ;) (expression_statement "local_908 = (stat64 *)sg_convert_errno(iVar14);" (assignment_expression "local_908 = (stat64 *)sg_convert_errno(iVar14)" identifier = (cast_expression "(stat64 *)sg_convert_errno(iVar14)" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "sg_convert_errno(iVar14)" identifier (argument_list "(iVar14)" ( identifier ))))) ;) (goto_statement "goto LAB_00012527;" goto statement_identifier ;) })) (expression_statement "psVar9 = (stat64 *)((int)psVar45 - (int)local_7b4);" (assignment_expression "psVar9 = (stat64 *)((int)psVar45 - (int)local_7b4)" identifier = (cast_expression "(stat64 *)((int)psVar45 - (int)local_7b4)" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)psVar45 - (int)local_7b4)" ( (binary_expression "(int)psVar45 - (int)local_7b4" (cast_expression "(int)psVar45" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)local_7b4" ( (type_descriptor "int" primitive_type) ) identifier)) )))) ;) (expression_statement "iVar14 = (local_8b0 - (int)local_7b0) - (uint)(psVar45 < local_7b4);" (assignment_expression "iVar14 = (local_8b0 - (int)local_7b0) - (uint)(psVar45 < local_7b4)" identifier = (binary_expression "(local_8b0 - (int)local_7b0) - (uint)(psVar45 < local_7b4)" (parenthesized_expression "(local_8b0 - (int)local_7b0)" ( (binary_expression "local_8b0 - (int)local_7b0" identifier - (cast_expression "(int)local_7b0" ( (type_descriptor "int" primitive_type) ) identifier)) )) - (call_expression "(uint)(psVar45 < local_7b4)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(psVar45 < local_7b4)" ( (binary_expression "psVar45 < local_7b4" identifier < identifier) ))))) ;) (expression_statement "local_930 = psVar45;" (assignment_expression "local_930 = psVar45" identifier = identifier) ;) (if_statement "if ((int)(uint)(psVar9 != (stat64 *)0x0) <= -iVar14) {\n                pr2serr("--offset [0x%llx] at or beyond file length[0x%llx]\n",local_7b4,local_7b0,\n                        psVar45,local_8b0);\n                local_908 = (stat64 *)0xf;\n                goto LAB_00012527;\n              }" if (parenthesized_expression "((int)(uint)(psVar9 != (stat64 *)0x0) <= -iVar14)" ( (binary_expression "(int)(uint)(psVar9 != (stat64 *)0x0) <= -iVar14" (cast_expression "(int)(uint)(psVar9 != (stat64 *)0x0)" ( (type_descriptor "int" primitive_type) ) (call_expression "(uint)(psVar9 != (stat64 *)0x0)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(psVar9 != (stat64 *)0x0)" ( (binary_expression "psVar9 != (stat64 *)0x0" identifier != (cast_expression "(stat64 *)0x0" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )))) <= (unary_expression "-iVar14" - identifier)) )) (compound_statement "{\n                pr2serr("--offset [0x%llx] at or beyond file length[0x%llx]\n",local_7b4,local_7b0,\n                        psVar45,local_8b0);\n                local_908 = (stat64 *)0xf;\n                goto LAB_00012527;\n              }" { (expression_statement "pr2serr("--offset [0x%llx] at or beyond file length[0x%llx]\n",local_7b4,local_7b0,\n                        psVar45,local_8b0);" (call_expression "pr2serr("--offset [0x%llx] at or beyond file length[0x%llx]\n",local_7b4,local_7b0,\n                        psVar45,local_8b0)" identifier (argument_list "("--offset [0x%llx] at or beyond file length[0x%llx]\n",local_7b4,local_7b0,\n                        psVar45,local_8b0)" ( (string_literal ""--offset [0x%llx] at or beyond file length[0x%llx]\n"" " string_content escape_sequence ") , identifier , identifier , identifier , identifier ))) ;) (expression_statement "local_908 = (stat64 *)0xf;" (assignment_expression "local_908 = (stat64 *)0xf" identifier = (cast_expression "(stat64 *)0xf" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (goto_statement "goto LAB_00012527;" goto statement_identifier ;) })) (if_statement "if ((local_7f8 != 0) &&\n                 (local_930 = local_7d0, iVar14 < (int)(uint)(psVar9 < local_7d0))) {\n                pr2serr("after accounting for OFF, DLEN exceeds %s remaining length (%u bytes)\n",\n                        local_79c,psVar9,psVar9);\n                local_908 = (stat64 *)0xf;\n                psVar25 = psVar9;\n                goto LAB_00012527;\n              }" if (parenthesized_expression "((local_7f8 != 0) &&\n                 (local_930 = local_7d0, iVar14 < (int)(uint)(psVar9 < local_7d0)))" ( (binary_expression "(local_7f8 != 0) &&\n                 (local_930 = local_7d0, iVar14 < (int)(uint)(psVar9 < local_7d0))" (parenthesized_expression "(local_7f8 != 0)" ( (binary_expression "local_7f8 != 0" identifier != number_literal) )) && (parenthesized_expression "(local_930 = local_7d0, iVar14 < (int)(uint)(psVar9 < local_7d0))" ( (comma_expression "local_930 = local_7d0, iVar14 < (int)(uint)(psVar9 < local_7d0)" (assignment_expression "local_930 = local_7d0" identifier = identifier) , (binary_expression "iVar14 < (int)(uint)(psVar9 < local_7d0)" identifier < (cast_expression "(int)(uint)(psVar9 < local_7d0)" ( (type_descriptor "int" primitive_type) ) (call_expression "(uint)(psVar9 < local_7d0)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(psVar9 < local_7d0)" ( (binary_expression "psVar9 < local_7d0" identifier < identifier) )))))) ))) )) (compound_statement "{\n                pr2serr("after accounting for OFF, DLEN exceeds %s remaining length (%u bytes)\n",\n                        local_79c,psVar9,psVar9);\n                local_908 = (stat64 *)0xf;\n                psVar25 = psVar9;\n                goto LAB_00012527;\n              }" { (expression_statement "pr2serr("after accounting for OFF, DLEN exceeds %s remaining length (%u bytes)\n",\n                        local_79c,psVar9,psVar9);" (call_expression "pr2serr("after accounting for OFF, DLEN exceeds %s remaining length (%u bytes)\n",\n                        local_79c,psVar9,psVar9)" identifier (argument_list "("after accounting for OFF, DLEN exceeds %s remaining length (%u bytes)\n",\n                        local_79c,psVar9,psVar9)" ( (string_literal ""after accounting for OFF, DLEN exceeds %s remaining length (%u bytes)\n"" " string_content escape_sequence ") , identifier , identifier , identifier ))) ;) (expression_statement "local_908 = (stat64 *)0xf;" (assignment_expression "local_908 = (stat64 *)0xf" identifier = (cast_expression "(stat64 *)0xf" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "psVar25 = psVar9;" (assignment_expression "psVar25 = psVar9" identifier = identifier) ;) (goto_statement "goto LAB_00012527;" goto statement_identifier ;) })) (if_statement "if (iVar14 < (int)(uint)(psVar9 < local_93c)) {\n                local_93c = psVar9;\n              }" if (parenthesized_expression "(iVar14 < (int)(uint)(psVar9 < local_93c))" ( (binary_expression "iVar14 < (int)(uint)(psVar9 < local_93c)" identifier < (cast_expression "(int)(uint)(psVar9 < local_93c)" ( (type_descriptor "int" primitive_type) ) (call_expression "(uint)(psVar9 < local_93c)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(psVar9 < local_93c)" ( (binary_expression "psVar9 < local_93c" identifier < identifier) ))))) )) (compound_statement "{\n                local_93c = psVar9;\n              }" { (expression_statement "local_93c = psVar9;" (assignment_expression "local_93c = psVar9" identifier = identifier) ;) })) (expression_statement "psVar45 = psVar9;" (assignment_expression "psVar45 = psVar9" identifier = identifier) ;) (if_statement "if (2 < (int)psVar38) {\n                psVar22 = local_7b4;\n                psVar8 = local_93c;\n                psVar17 = psVar9;\n                psVar9 = (stat64 *)\n                         pr2serr("Moved IF byte pointer to %u, if_len=%u, if_readable_len=%u\n",\n                                 local_7b4,local_93c,psVar9);\n              }" if (parenthesized_expression "(2 < (int)psVar38)" ( (binary_expression "2 < (int)psVar38" number_literal < (cast_expression "(int)psVar38" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n                psVar22 = local_7b4;\n                psVar8 = local_93c;\n                psVar17 = psVar9;\n                psVar9 = (stat64 *)\n                         pr2serr("Moved IF byte pointer to %u, if_len=%u, if_readable_len=%u\n",\n                                 local_7b4,local_93c,psVar9);\n              }" { (expression_statement "psVar22 = local_7b4;" (assignment_expression "psVar22 = local_7b4" identifier = identifier) ;) (expression_statement "psVar8 = local_93c;" (assignment_expression "psVar8 = local_93c" identifier = identifier) ;) (expression_statement "psVar17 = psVar9;" (assignment_expression "psVar17 = psVar9" identifier = identifier) ;) (expression_statement "psVar9 = (stat64 *)\n                         pr2serr("Moved IF byte pointer to %u, if_len=%u, if_readable_len=%u\n",\n                                 local_7b4,local_93c,psVar9);" (assignment_expression "psVar9 = (stat64 *)\n                         pr2serr("Moved IF byte pointer to %u, if_len=%u, if_readable_len=%u\n",\n                                 local_7b4,local_93c,psVar9)" identifier = (cast_expression "(stat64 *)\n                         pr2serr("Moved IF byte pointer to %u, if_len=%u, if_readable_len=%u\n",\n                                 local_7b4,local_93c,psVar9)" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "pr2serr("Moved IF byte pointer to %u, if_len=%u, if_readable_len=%u\n",\n                                 local_7b4,local_93c,psVar9)" identifier (argument_list "("Moved IF byte pointer to %u, if_len=%u, if_readable_len=%u\n",\n                                 local_7b4,local_93c,psVar9)" ( (string_literal ""Moved IF byte pointer to %u, if_len=%u, if_readable_len=%u\n"" " string_content escape_sequence ") , identifier , identifier , identifier ))))) ;) })) })) (goto_statement "goto LAB_00011fa8;" goto statement_identifier ;) })) (goto_statement "goto LAB_00011e6c;" goto statement_identifier ;) })) (expression_statement "piVar19 = __errno_location();" (assignment_expression "piVar19 = __errno_location()" identifier = (call_expression "__errno_location()" identifier (argument_list "()" ( )))) ;) (expression_statement "iVar14 = *piVar19;" (assignment_expression "iVar14 = *piVar19" identifier = (pointer_expression "*piVar19" * identifier)) ;) (expression_statement "pcVar15 = "could not fstat %s";" (assignment_expression "pcVar15 = "could not fstat %s"" identifier = (string_literal ""could not fstat %s"" " string_content ")) ;) }))) (expression_statement "__snprintf_chk(local_174 + 0x50,0x100,1,0x100,pcVar15,local_79c,piVar19,piVar19);" (call_expression "__snprintf_chk(local_174 + 0x50,0x100,1,0x100,pcVar15,local_79c,piVar19,piVar19)" identifier (argument_list "(local_174 + 0x50,0x100,1,0x100,pcVar15,local_79c,piVar19,piVar19)" ( (binary_expression "local_174 + 0x50" identifier + number_literal) , number_literal , number_literal , number_literal , identifier , identifier , identifier , identifier ))) ;) (expression_statement "perror(local_174 + 0x50);" (call_expression "perror(local_174 + 0x50)" identifier (argument_list "(local_174 + 0x50)" ( (binary_expression "local_174 + 0x50" identifier + number_literal) ))) ;) (expression_statement "local_908 = (stat64 *)sg_convert_errno(iVar14);" (assignment_expression "local_908 = (stat64 *)sg_convert_errno(iVar14)" identifier = (cast_expression "(stat64 *)sg_convert_errno(iVar14)" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "sg_convert_errno(iVar14)" identifier (argument_list "(iVar14)" ( identifier ))))) ;) (goto_statement "goto LAB_00011a84;" goto statement_identifier ;) })) (expression_statement "iVar14 = sg_set_binary_mode(0);" (assignment_expression "iVar14 = sg_set_binary_mode(0)" identifier = (call_expression "sg_set_binary_mode(0)" identifier (argument_list "(0)" ( number_literal )))) ;) (expression_statement "cVar2 = '\x01';" (assignment_expression "cVar2 = '\x01'" identifier = (char_literal "'\x01'" ' escape_sequence ')) ;) (expression_statement "local_924 = (stat64 *)0x0;" (assignment_expression "local_924 = (stat64 *)0x0" identifier = (cast_expression "(stat64 *)0x0" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (if_statement "if (iVar14 < 0) {\nLAB_00011dea:\n      perror("sg_set_binary_mode");\n      local_908 = (stat64 *)0xf;\n      goto LAB_00011a84;\n    }" if (parenthesized_expression "(iVar14 < 0)" ( (binary_expression "iVar14 < 0" identifier < number_literal) )) (compound_statement "{\nLAB_00011dea:\n      perror("sg_set_binary_mode");\n      local_908 = (stat64 *)0xf;\n      goto LAB_00011a84;\n    }" { (labeled_statement "LAB_00011dea:\n      perror("sg_set_binary_mode");" statement_identifier : (expression_statement "perror("sg_set_binary_mode");" (call_expression "perror("sg_set_binary_mode")" identifier (argument_list "("sg_set_binary_mode")" ( (string_literal ""sg_set_binary_mode"" " string_content ") ))) ;)) (expression_statement "local_908 = (stat64 *)0xf;" (assignment_expression "local_908 = (stat64 *)0xf" identifier = (cast_expression "(stat64 *)0xf" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (goto_statement "goto LAB_00011a84;" goto statement_identifier ;) })) (labeled_statement "LAB_00011e6c:\n    if (((stat64 *)((uint)local_7b0 | (uint)local_7b4) == (stat64 *)0x0) ||\n       (psVar38 == (stat64 *)0x0)) {\n      psVar9 = (stat64 *)((uint)local_7b0 | (uint)local_7b4);\n      psVar45 = (stat64 *)0x0;\n      iVar14 = 0;\n    }\n    else {\n      psVar9 = (stat64 *)\n               pr2serr(\n                      "--offset=OFF ignored when IF is stdin, pipe, socket, etc\nDLEN, if given, is used\n"\n                      );\n      psVar45 = (stat64 *)0x0;\n      iVar14 = 0;\n    }" statement_identifier : (if_statement "if (((stat64 *)((uint)local_7b0 | (uint)local_7b4) == (stat64 *)0x0) ||\n       (psVar38 == (stat64 *)0x0)) {\n      psVar9 = (stat64 *)((uint)local_7b0 | (uint)local_7b4);\n      psVar45 = (stat64 *)0x0;\n      iVar14 = 0;\n    }\n    else {\n      psVar9 = (stat64 *)\n               pr2serr(\n                      "--offset=OFF ignored when IF is stdin, pipe, socket, etc\nDLEN, if given, is used\n"\n                      );\n      psVar45 = (stat64 *)0x0;\n      iVar14 = 0;\n    }" if (parenthesized_expression "(((stat64 *)((uint)local_7b0 | (uint)local_7b4) == (stat64 *)0x0) ||\n       (psVar38 == (stat64 *)0x0))" ( (binary_expression "((stat64 *)((uint)local_7b0 | (uint)local_7b4) == (stat64 *)0x0) ||\n       (psVar38 == (stat64 *)0x0)" (parenthesized_expression "((stat64 *)((uint)local_7b0 | (uint)local_7b4) == (stat64 *)0x0)" ( (binary_expression "(stat64 *)((uint)local_7b0 | (uint)local_7b4) == (stat64 *)0x0" (cast_expression "(stat64 *)((uint)local_7b0 | (uint)local_7b4)" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((uint)local_7b0 | (uint)local_7b4)" ( (binary_expression "(uint)local_7b0 | (uint)local_7b4" (cast_expression "(uint)local_7b0" ( (type_descriptor "uint" type_identifier) ) identifier) | (cast_expression "(uint)local_7b4" ( (type_descriptor "uint" type_identifier) ) identifier)) ))) == (cast_expression "(stat64 *)0x0" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) || (parenthesized_expression "(psVar38 == (stat64 *)0x0)" ( (binary_expression "psVar38 == (stat64 *)0x0" identifier == (cast_expression "(stat64 *)0x0" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ))) )) (compound_statement "{\n      psVar9 = (stat64 *)((uint)local_7b0 | (uint)local_7b4);\n      psVar45 = (stat64 *)0x0;\n      iVar14 = 0;\n    }" { (expression_statement "psVar9 = (stat64 *)((uint)local_7b0 | (uint)local_7b4);" (assignment_expression "psVar9 = (stat64 *)((uint)local_7b0 | (uint)local_7b4)" identifier = (cast_expression "(stat64 *)((uint)local_7b0 | (uint)local_7b4)" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((uint)local_7b0 | (uint)local_7b4)" ( (binary_expression "(uint)local_7b0 | (uint)local_7b4" (cast_expression "(uint)local_7b0" ( (type_descriptor "uint" type_identifier) ) identifier) | (cast_expression "(uint)local_7b4" ( (type_descriptor "uint" type_identifier) ) identifier)) )))) ;) (expression_statement "psVar45 = (stat64 *)0x0;" (assignment_expression "psVar45 = (stat64 *)0x0" identifier = (cast_expression "(stat64 *)0x0" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "iVar14 = 0;" (assignment_expression "iVar14 = 0" identifier = number_literal) ;) }) (else_clause "else {\n      psVar9 = (stat64 *)\n               pr2serr(\n                      "--offset=OFF ignored when IF is stdin, pipe, socket, etc\nDLEN, if given, is used\n"\n                      );\n      psVar45 = (stat64 *)0x0;\n      iVar14 = 0;\n    }" else (compound_statement "{\n      psVar9 = (stat64 *)\n               pr2serr(\n                      "--offset=OFF ignored when IF is stdin, pipe, socket, etc\nDLEN, if given, is used\n"\n                      );\n      psVar45 = (stat64 *)0x0;\n      iVar14 = 0;\n    }" { (expression_statement "psVar9 = (stat64 *)\n               pr2serr(\n                      "--offset=OFF ignored when IF is stdin, pipe, socket, etc\nDLEN, if given, is used\n"\n                      );" (assignment_expression "psVar9 = (stat64 *)\n               pr2serr(\n                      "--offset=OFF ignored when IF is stdin, pipe, socket, etc\nDLEN, if given, is used\n"\n                      )" identifier = (cast_expression "(stat64 *)\n               pr2serr(\n                      "--offset=OFF ignored when IF is stdin, pipe, socket, etc\nDLEN, if given, is used\n"\n                      )" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "pr2serr(\n                      "--offset=OFF ignored when IF is stdin, pipe, socket, etc\nDLEN, if given, is used\n"\n                      )" identifier (argument_list "(\n                      "--offset=OFF ignored when IF is stdin, pipe, socket, etc\nDLEN, if given, is used\n"\n                      )" ( (string_literal ""--offset=OFF ignored when IF is stdin, pipe, socket, etc\nDLEN, if given, is used\n"" " string_content escape_sequence string_content escape_sequence ") ))))) ;) (expression_statement "psVar45 = (stat64 *)0x0;" (assignment_expression "psVar45 = (stat64 *)0x0" identifier = (cast_expression "(stat64 *)0x0" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "iVar14 = 0;" (assignment_expression "iVar14 = 0" identifier = number_literal) ;) })))) }) (else_clause "else {\n    local_924 = (stat64 *)0xffffffff;\n    cVar2 = '\0';\n    psVar45 = (stat64 *)0x0;\n    iVar14 = 0;\n    local_93c = (stat64 *)0x0;\n  }" else (compound_statement "{\n    local_924 = (stat64 *)0xffffffff;\n    cVar2 = '\0';\n    psVar45 = (stat64 *)0x0;\n    iVar14 = 0;\n    local_93c = (stat64 *)0x0;\n  }" { (expression_statement "local_924 = (stat64 *)0xffffffff;" (assignment_expression "local_924 = (stat64 *)0xffffffff" identifier = (cast_expression "(stat64 *)0xffffffff" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "cVar2 = '\0';" (assignment_expression "cVar2 = '\0'" identifier = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "psVar45 = (stat64 *)0x0;" (assignment_expression "psVar45 = (stat64 *)0x0" identifier = (cast_expression "(stat64 *)0x0" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "iVar14 = 0;" (assignment_expression "iVar14 = 0" identifier = number_literal) ;) (expression_statement "local_93c = (stat64 *)0x0;" (assignment_expression "local_93c = (stat64 *)0x0" identifier = (cast_expression "(stat64 *)0x0" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) }))) (labeled_statement "LAB_00011fa8:\n  if (local_7a0 == (stat64 *)0x0) {\n    pr2serr("missing device name!\n",psVar22,psVar8,psVar17);\n    FUN_000149b0();\n    local_908 = (stat64 *)0x1;\n    psVar25 = (stat64 *)0x0;\nLAB_00012527:\n    if (local_8f0 == (void *)0x0) goto LAB_000123a1;\n    free(local_8f0);\n    goto LAB_000123a1;\n  }" statement_identifier : (if_statement "if (local_7a0 == (stat64 *)0x0) {\n    pr2serr("missing device name!\n",psVar22,psVar8,psVar17);\n    FUN_000149b0();\n    local_908 = (stat64 *)0x1;\n    psVar25 = (stat64 *)0x0;\nLAB_00012527:\n    if (local_8f0 == (void *)0x0) goto LAB_000123a1;\n    free(local_8f0);\n    goto LAB_000123a1;\n  }" if (parenthesized_expression "(local_7a0 == (stat64 *)0x0)" ( (binary_expression "local_7a0 == (stat64 *)0x0" identifier == (cast_expression "(stat64 *)0x0" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    pr2serr("missing device name!\n",psVar22,psVar8,psVar17);\n    FUN_000149b0();\n    local_908 = (stat64 *)0x1;\n    psVar25 = (stat64 *)0x0;\nLAB_00012527:\n    if (local_8f0 == (void *)0x0) goto LAB_000123a1;\n    free(local_8f0);\n    goto LAB_000123a1;\n  }" { (expression_statement "pr2serr("missing device name!\n",psVar22,psVar8,psVar17);" (call_expression "pr2serr("missing device name!\n",psVar22,psVar8,psVar17)" identifier (argument_list "("missing device name!\n",psVar22,psVar8,psVar17)" ( (string_literal ""missing device name!\n"" " string_content escape_sequence ") , identifier , identifier , identifier ))) ;) (expression_statement "FUN_000149b0();" (call_expression "FUN_000149b0()" identifier (argument_list "()" ( ))) ;) (expression_statement "local_908 = (stat64 *)0x1;" (assignment_expression "local_908 = (stat64 *)0x1" identifier = (cast_expression "(stat64 *)0x1" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "psVar25 = (stat64 *)0x0;" (assignment_expression "psVar25 = (stat64 *)0x0" identifier = (cast_expression "(stat64 *)0x0" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (labeled_statement "LAB_00012527:\n    if (local_8f0 == (void *)0x0) goto LAB_000123a1;" statement_identifier : (if_statement "if (local_8f0 == (void *)0x0) goto LAB_000123a1;" if (parenthesized_expression "(local_8f0 == (void *)0x0)" ( (binary_expression "local_8f0 == (void *)0x0" identifier == (cast_expression "(void *)0x0" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_000123a1;" goto statement_identifier ;))) (expression_statement "free(local_8f0);" (call_expression "free(local_8f0)" identifier (argument_list "(local_8f0)" ( identifier ))) ;) (goto_statement "goto LAB_000123a1;" goto statement_identifier ;) }))) (expression_statement "pcVar15 = (char *)0x0;" (assignment_expression "pcVar15 = (char *)0x0" identifier = (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "psVar17 = psVar38;" (assignment_expression "psVar17 = psVar38" identifier = identifier) ;) (expression_statement "uVar33 = sg_cmds_open_device(local_7a0,0,psVar38,psVar9);" (assignment_expression "uVar33 = sg_cmds_open_device(local_7a0,0,psVar38,psVar9)" identifier = (call_expression "sg_cmds_open_device(local_7a0,0,psVar38,psVar9)" identifier (argument_list "(local_7a0,0,psVar38,psVar9)" ( identifier , number_literal , identifier , identifier )))) ;) (expression_statement "psVar25 = local_7d8;" (assignment_expression "psVar25 = local_7d8" identifier = identifier) ;) (expression_statement "psVar22 = (stat64 *)((ulonglong)uVar33 >> 0x20);" (assignment_expression "psVar22 = (stat64 *)((ulonglong)uVar33 >> 0x20)" identifier = (cast_expression "(stat64 *)((ulonglong)uVar33 >> 0x20)" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((ulonglong)uVar33 >> 0x20)" ( (binary_expression "(ulonglong)uVar33 >> 0x20" (cast_expression "(ulonglong)uVar33" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) )))) ;) (expression_statement "local_930 = (stat64 *)uVar33;" (assignment_expression "local_930 = (stat64 *)uVar33" identifier = (cast_expression "(stat64 *)uVar33" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (if_statement "if ((int)local_930 < 0) {\n    psVar25 = (stat64 *)-(int)local_930;\n    if (local_7f0 != (stat64 *)0x0) {\n      uVar16 = safe_strerror(psVar25);\n      pr2serr("open error: %s: %s\n",local_7a0,uVar16);\n    }\n    local_908 = (stat64 *)sg_convert_errno(psVar25);\n    goto LAB_00012527;\n  }" if (parenthesized_expression "((int)local_930 < 0)" ( (binary_expression "(int)local_930 < 0" (cast_expression "(int)local_930" ( (type_descriptor "int" primitive_type) ) identifier) < number_literal) )) (compound_statement "{\n    psVar25 = (stat64 *)-(int)local_930;\n    if (local_7f0 != (stat64 *)0x0) {\n      uVar16 = safe_strerror(psVar25);\n      pr2serr("open error: %s: %s\n",local_7a0,uVar16);\n    }\n    local_908 = (stat64 *)sg_convert_errno(psVar25);\n    goto LAB_00012527;\n  }" { (expression_statement "psVar25 = (stat64 *)-(int)local_930;" (assignment_expression "psVar25 = (stat64 *)-(int)local_930" identifier = (cast_expression "(stat64 *)-(int)local_930" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) (unary_expression "-(int)local_930" - (cast_expression "(int)local_930" ( (type_descriptor "int" primitive_type) ) identifier)))) ;) (if_statement "if (local_7f0 != (stat64 *)0x0) {\n      uVar16 = safe_strerror(psVar25);\n      pr2serr("open error: %s: %s\n",local_7a0,uVar16);\n    }" if (parenthesized_expression "(local_7f0 != (stat64 *)0x0)" ( (binary_expression "local_7f0 != (stat64 *)0x0" identifier != (cast_expression "(stat64 *)0x0" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      uVar16 = safe_strerror(psVar25);\n      pr2serr("open error: %s: %s\n",local_7a0,uVar16);\n    }" { (expression_statement "uVar16 = safe_strerror(psVar25);" (assignment_expression "uVar16 = safe_strerror(psVar25)" identifier = (call_expression "safe_strerror(psVar25)" identifier (argument_list "(psVar25)" ( identifier )))) ;) (expression_statement "pr2serr("open error: %s: %s\n",local_7a0,uVar16);" (call_expression "pr2serr("open error: %s: %s\n",local_7a0,uVar16)" identifier (argument_list "("open error: %s: %s\n",local_7a0,uVar16)" ( (string_literal ""open error: %s: %s\n"" " string_content escape_sequence ") , identifier , identifier ))) ;) })) (expression_statement "local_908 = (stat64 *)sg_convert_errno(psVar25);" (assignment_expression "local_908 = (stat64 *)sg_convert_errno(psVar25)" identifier = (cast_expression "(stat64 *)sg_convert_errno(psVar25)" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "sg_convert_errno(psVar25)" identifier (argument_list "(psVar25)" ( identifier ))))) ;) (goto_statement "goto LAB_00012527;" goto statement_identifier ;) })) (expression_statement "psVar8 = local_7d4;" (assignment_expression "psVar8 = local_7d4" identifier = identifier) ;) (expression_statement "psVar11 = local_7d4;" (assignment_expression "psVar11 = local_7d4" identifier = identifier) ;) (if_statement "if (local_7d8 == (stat64 *)0x0) {\n    psVar17 = (stat64 *)0x0;\n    if (local_7f0 != (stat64 *)0x0) {\n      psVar17 = (stat64 *)((int)&local_7f0[-1].st_ino + 7);\n    }\n    psVar22 = (stat64 *)local_174;\n    psVar11 = (stat64 *)0x1;\n    pcVar15 = (char *)0x20;\n    psVar9 = psVar17;\n    psVar8 = local_7f0;\n    uVar33 = sg_ll_readcap_16(local_930,0,0,0,psVar22,0x20,1,psVar17,psVar22,local_7f0,psVar45,\n                              iVar14);\n    if ((int)uVar33 == 6) {\n      pr2serr("Read capacity(16) unit attention, try again\n");\n      uVar33 = sg_ll_readcap_16(local_930,0,0,0,psVar22,0x20,1,psVar17);\n    }\n    psVar23 = (stat64 *)((ulonglong)uVar33 >> 0x20);\n    local_908 = (stat64 *)uVar33;\n    if (local_908 == (stat64 *)0x0) {\n      psVar17 = psVar11;\n      if (3 < (int)psVar8) {\n        pr2serr("Read capacity(16) response:\n");\n        psVar17 = (stat64 *)0x1;\n        pcVar15 = (char *)0x20;\n        hex2stderr(psVar22,0x20,1);\n      }\n      bVar1 = local_174[0xc];\n      psVar11 = (stat64 *)\n                ((uint)local_174._8_4_ >> 0x18 | (local_174._8_4_ & 0xff0000) >> 8 |\n                 (local_174._8_4_ & 0xff00) << 8 | local_174._8_4_ << 0x18);\n      uVar7 = (uint)local_174._4_4_ >> 0x18 | (local_174._4_4_ & 0xff0000) >> 8 |\n              (local_174._4_4_ & 0xff00) << 8 | local_174._4_4_ << 0x18;\n      local_7ac = uVar7 + 1;\n      local_7a8 = ((uint)local_174._0_4_ >> 0x18 | (local_174._0_4_ & 0xff0000) >> 8 |\n                   (local_174._0_4_ & 0xff00) << 8 | local_174._0_4_ << 0x18) +\n                  (uint)(0xfffffffe < uVar7);\n      psVar22 = (stat64 *)(uint)local_174[0xc];\n      local_7d8 = psVar11;\n      if ((local_174[0xc] & 1) == 0) {\n        local_7fc = 0;\n        if ((int)local_7ec < 1) goto LAB_00012305;\n        if (psVar8 != (stat64 *)0x0) {\n          pcVar15 = (char *)local_7ec;\n          psVar22 = local_7a0;\n          pr2serr("--wrprotect (%d) expects PI but %s says it has none\n",local_7ec,local_7a0,\n                  psVar11);\n          if (local_7f8 != 0) goto LAB_00012ef5;\n          pcVar13 = "  ... continue but could be dangerous\n";\n          psVar25 = (stat64 *)0x0;\n          psVar9 = psVar11;\n          goto LAB_00013516;\n        }\n        if (local_7f8 != 0) goto LAB_00012ef5;\n      }\n      else {\n        local_7fc = (local_174[0xc] >> 1 & 7) + 1;\n        psVar25 = (stat64 *)(8 << (local_174[0xd] >> 4));\n        psVar22 = (stat64 *)(uint)(local_174[0xd] >> 4);\n        if (((int)local_7ec < 1) ||\n           (local_7d4 = (stat64 *)((int)&psVar25->st_dev + (int)&psVar11->st_dev), (int)psVar8 < 2))\n        {\nLAB_00012305:\n          if (psVar8 == (stat64 *)0x0) goto LAB_00012312;\n        }\n        else {\n          pcVar13 = \n          "  For data out buffer purposes the effective block size is %u (lb size\n  is %u) because PROT_EN=1, PI_EXP=%u and WRPROTECT>0\n"\n          ;\n          pcVar15 = (char *)psVar11;\n          psVar9 = local_7d4;\nLAB_00013516:\n          pr2serr(pcVar13,pcVar15,psVar22,psVar9);\n          psVar17 = psVar22;\n        }\n        pr2serr("Read capacity(16) response fields:\n",pcVar15,psVar17,psVar9);\n        psVar25 = (stat64 *)((int)&local_7d8->st_dev + (int)&psVar25->st_dev);\n        psVar9 = extraout_ECX_06;\n        pr2serr("  Last_LBA=0x%llx  LB size: %u (with PI: %u) bytes  p_type=%u\n",local_7ac + -1,\n                local_7a8 + -1 + (uint)(local_7ac != 0),local_7d8,psVar25,local_174[0xc] >> 1 & 7,\n                extraout_ECX_06,extraout_ECX_06);\n        pr2serr("  prot_en=%u [PI type=%u] p_i_exp=%u  lbppb_exp=%u  lbpme,rz=%u,",bVar1 & 1,\n                local_7fc,local_174[0xd] >> 4,local_174[0xd] & 0xf,\n                (uint)(int)(char)local_174[0xe] >> 0x1f);\n        psVar17 = (stat64 *)\n                  ((ushort)(local_174._14_2_ << 8 | (ushort)local_174._14_2_ >> 8) & 0x3fff);\n        pcVar15 = (char *)(local_174[0xe] >> 6 & 1);\n        pr2serr("%u  low_ali_lba=%u\n",pcVar15,psVar17);\n        psVar22 = extraout_EDX_04;\n      }\n    }\n    else {\n      if (((int)local_908 - 5U & 0xfffffffb) != 0) {\n        if (psVar8 != (stat64 *)0x0) {\n          puVar43 = local_174 + 0x50;\n          psVar25 = (stat64 *)"OS error";\n          puVar29 = puVar43;\n          for (iVar14 = 9; iVar14 != 0; iVar14 = iVar14 + -1) {\n            *puVar29 = (char)psVar25->st_dev;\n            psVar25 = (stat64 *)((int)psVar25 + (uint)bVar32 * -2 + 1);\n            puVar29 = puVar29 + (uint)bVar32 * -2 + 1;\n          }\n          psVar18 = local_908;\n          if (0 < (int)local_908) {\n            psVar18 = (stat64 *)sg_get_category_sense_str(local_908,0x50,puVar43,psVar8);\n          }\n          pr2serr("Read capacity(16): %s\n",puVar43,psVar18,psVar18);\n          pr2serr("Unable to calculate block size\n");\n        }\n        if (0 < (int)local_908) goto LAB_00012354;\n        goto LAB_00012ef5;\n      }\n      if (psVar8 == (stat64 *)0x0) {\n        pcVar15 = (char *)0x1;\n        uVar33 = sg_ll_readcap_10(local_930,0,0,psVar22,8,1,psVar17,psVar23);\n        psVar22 = (stat64 *)((ulonglong)uVar33 >> 0x20);\n        local_908 = (stat64 *)uVar33;\n        psVar9 = psVar23;\n        if (local_908 != (stat64 *)0x0) {\nLAB_00013444:\n          puVar43 = local_174 + 0x50;\n          psVar25 = (stat64 *)"OS error";\n          puVar29 = puVar43;\n          for (iVar14 = 9; iVar14 != 0; iVar14 = iVar14 + -1) {\n            *puVar29 = (char)psVar25->st_dev;\n            psVar25 = (stat64 *)((int)psVar25 + (uint)bVar32 * -2 + 1);\n            puVar29 = puVar29 + (uint)bVar32 * -2 + 1;\n          }\n          if (0 < (int)local_908) {\n            sg_get_category_sense_str(local_908,0x50,puVar43,psVar8);\n            pr2serr("Read capacity(10): %s\n",puVar43);\n            pr2serr("Unable to calculate block size\n");\n            goto LAB_00012354;\n          }\n          __snprintf_chk(puVar43,0x50,1,0x50,"error: %d",local_908,local_908,local_908);\n          pr2serr("Read capacity(10): %s\n",puVar43);\n          pr2serr("Unable to calculate block size\n");\n          local_908 = (stat64 *)0xf;\n          goto LAB_00012354;\n        }\n      }\n      else {\n        psVar25 = psVar22;\n        pr2serr("Read capacity(16) not supported, try Read capacity(10)\n");\n        pcVar15 = (char *)0x1;\n        uVar33 = sg_ll_readcap_10(local_930,0,0,psVar25,8,1,psVar17);\n        psVar22 = (stat64 *)((ulonglong)uVar33 >> 0x20);\n        local_908 = (stat64 *)uVar33;\n        if (local_908 != (stat64 *)0x0) goto LAB_00013444;\n        if (3 < (int)psVar8) {\n          pr2serr("Read capacity(10) response:\n");\n          psVar17 = (stat64 *)0x1;\n          pcVar15 = (char *)0x8;\n          hex2stderr(psVar25,8,1);\n          psVar22 = extraout_EDX_03;\n        }\n      }\n      local_7a8 = 0;\n      local_7ac = ((uint)local_174._0_4_ >> 0x18 | (local_174._0_4_ & 0xff0000) >> 8 |\n                   (local_174._0_4_ & 0xff00) << 8 | local_174._0_4_ << 0x18) + 1;\n      local_7d8 = (stat64 *)\n                  ((uint)local_174._4_4_ >> 0x18 | (local_174._4_4_ & 0xff0000) >> 8 |\n                   (local_174._4_4_ & 0xff00) << 8 | local_174._4_4_ << 0x18);\n    }\nLAB_00012312:\n    local_7d4 = local_7d8;\n    if (local_813 != '\0') {\n      local_7d4 = (stat64 *)&local_7d8->__pad1;\n    }\n    psVar8 = local_7d4;\n    psVar11 = local_7d8;\n    if (local_7d4 == (stat64 *)0x0) goto LAB_00012338;\n  }" if (parenthesized_expression "(local_7d8 == (stat64 *)0x0)" ( (binary_expression "local_7d8 == (stat64 *)0x0" identifier == (cast_expression "(stat64 *)0x0" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    psVar17 = (stat64 *)0x0;\n    if (local_7f0 != (stat64 *)0x0) {\n      psVar17 = (stat64 *)((int)&local_7f0[-1].st_ino + 7);\n    }\n    psVar22 = (stat64 *)local_174;\n    psVar11 = (stat64 *)0x1;\n    pcVar15 = (char *)0x20;\n    psVar9 = psVar17;\n    psVar8 = local_7f0;\n    uVar33 = sg_ll_readcap_16(local_930,0,0,0,psVar22,0x20,1,psVar17,psVar22,local_7f0,psVar45,\n                              iVar14);\n    if ((int)uVar33 == 6) {\n      pr2serr("Read capacity(16) unit attention, try again\n");\n      uVar33 = sg_ll_readcap_16(local_930,0,0,0,psVar22,0x20,1,psVar17);\n    }\n    psVar23 = (stat64 *)((ulonglong)uVar33 >> 0x20);\n    local_908 = (stat64 *)uVar33;\n    if (local_908 == (stat64 *)0x0) {\n      psVar17 = psVar11;\n      if (3 < (int)psVar8) {\n        pr2serr("Read capacity(16) response:\n");\n        psVar17 = (stat64 *)0x1;\n        pcVar15 = (char *)0x20;\n        hex2stderr(psVar22,0x20,1);\n      }\n      bVar1 = local_174[0xc];\n      psVar11 = (stat64 *)\n                ((uint)local_174._8_4_ >> 0x18 | (local_174._8_4_ & 0xff0000) >> 8 |\n                 (local_174._8_4_ & 0xff00) << 8 | local_174._8_4_ << 0x18);\n      uVar7 = (uint)local_174._4_4_ >> 0x18 | (local_174._4_4_ & 0xff0000) >> 8 |\n              (local_174._4_4_ & 0xff00) << 8 | local_174._4_4_ << 0x18;\n      local_7ac = uVar7 + 1;\n      local_7a8 = ((uint)local_174._0_4_ >> 0x18 | (local_174._0_4_ & 0xff0000) >> 8 |\n                   (local_174._0_4_ & 0xff00) << 8 | local_174._0_4_ << 0x18) +\n                  (uint)(0xfffffffe < uVar7);\n      psVar22 = (stat64 *)(uint)local_174[0xc];\n      local_7d8 = psVar11;\n      if ((local_174[0xc] & 1) == 0) {\n        local_7fc = 0;\n        if ((int)local_7ec < 1) goto LAB_00012305;\n        if (psVar8 != (stat64 *)0x0) {\n          pcVar15 = (char *)local_7ec;\n          psVar22 = local_7a0;\n          pr2serr("--wrprotect (%d) expects PI but %s says it has none\n",local_7ec,local_7a0,\n                  psVar11);\n          if (local_7f8 != 0) goto LAB_00012ef5;\n          pcVar13 = "  ... continue but could be dangerous\n";\n          psVar25 = (stat64 *)0x0;\n          psVar9 = psVar11;\n          goto LAB_00013516;\n        }\n        if (local_7f8 != 0) goto LAB_00012ef5;\n      }\n      else {\n        local_7fc = (local_174[0xc] >> 1 & 7) + 1;\n        psVar25 = (stat64 *)(8 << (local_174[0xd] >> 4));\n        psVar22 = (stat64 *)(uint)(local_174[0xd] >> 4);\n        if (((int)local_7ec < 1) ||\n           (local_7d4 = (stat64 *)((int)&psVar25->st_dev + (int)&psVar11->st_dev), (int)psVar8 < 2))\n        {\nLAB_00012305:\n          if (psVar8 == (stat64 *)0x0) goto LAB_00012312;\n        }\n        else {\n          pcVar13 = \n          "  For data out buffer purposes the effective block size is %u (lb size\n  is %u) because PROT_EN=1, PI_EXP=%u and WRPROTECT>0\n"\n          ;\n          pcVar15 = (char *)psVar11;\n          psVar9 = local_7d4;\nLAB_00013516:\n          pr2serr(pcVar13,pcVar15,psVar22,psVar9);\n          psVar17 = psVar22;\n        }\n        pr2serr("Read capacity(16) response fields:\n",pcVar15,psVar17,psVar9);\n        psVar25 = (stat64 *)((int)&local_7d8->st_dev + (int)&psVar25->st_dev);\n        psVar9 = extraout_ECX_06;\n        pr2serr("  Last_LBA=0x%llx  LB size: %u (with PI: %u) bytes  p_type=%u\n",local_7ac + -1,\n                local_7a8 + -1 + (uint)(local_7ac != 0),local_7d8,psVar25,local_174[0xc] >> 1 & 7,\n                extraout_ECX_06,extraout_ECX_06);\n        pr2serr("  prot_en=%u [PI type=%u] p_i_exp=%u  lbppb_exp=%u  lbpme,rz=%u,",bVar1 & 1,\n                local_7fc,local_174[0xd] >> 4,local_174[0xd] & 0xf,\n                (uint)(int)(char)local_174[0xe] >> 0x1f);\n        psVar17 = (stat64 *)\n                  ((ushort)(local_174._14_2_ << 8 | (ushort)local_174._14_2_ >> 8) & 0x3fff);\n        pcVar15 = (char *)(local_174[0xe] >> 6 & 1);\n        pr2serr("%u  low_ali_lba=%u\n",pcVar15,psVar17);\n        psVar22 = extraout_EDX_04;\n      }\n    }\n    else {\n      if (((int)local_908 - 5U & 0xfffffffb) != 0) {\n        if (psVar8 != (stat64 *)0x0) {\n          puVar43 = local_174 + 0x50;\n          psVar25 = (stat64 *)"OS error";\n          puVar29 = puVar43;\n          for (iVar14 = 9; iVar14 != 0; iVar14 = iVar14 + -1) {\n            *puVar29 = (char)psVar25->st_dev;\n            psVar25 = (stat64 *)((int)psVar25 + (uint)bVar32 * -2 + 1);\n            puVar29 = puVar29 + (uint)bVar32 * -2 + 1;\n          }\n          psVar18 = local_908;\n          if (0 < (int)local_908) {\n            psVar18 = (stat64 *)sg_get_category_sense_str(local_908,0x50,puVar43,psVar8);\n          }\n          pr2serr("Read capacity(16): %s\n",puVar43,psVar18,psVar18);\n          pr2serr("Unable to calculate block size\n");\n        }\n        if (0 < (int)local_908) goto LAB_00012354;\n        goto LAB_00012ef5;\n      }\n      if (psVar8 == (stat64 *)0x0) {\n        pcVar15 = (char *)0x1;\n        uVar33 = sg_ll_readcap_10(local_930,0,0,psVar22,8,1,psVar17,psVar23);\n        psVar22 = (stat64 *)((ulonglong)uVar33 >> 0x20);\n        local_908 = (stat64 *)uVar33;\n        psVar9 = psVar23;\n        if (local_908 != (stat64 *)0x0) {\nLAB_00013444:\n          puVar43 = local_174 + 0x50;\n          psVar25 = (stat64 *)"OS error";\n          puVar29 = puVar43;\n          for (iVar14 = 9; iVar14 != 0; iVar14 = iVar14 + -1) {\n            *puVar29 = (char)psVar25->st_dev;\n            psVar25 = (stat64 *)((int)psVar25 + (uint)bVar32 * -2 + 1);\n            puVar29 = puVar29 + (uint)bVar32 * -2 + 1;\n          }\n          if (0 < (int)local_908) {\n            sg_get_category_sense_str(local_908,0x50,puVar43,psVar8);\n            pr2serr("Read capacity(10): %s\n",puVar43);\n            pr2serr("Unable to calculate block size\n");\n            goto LAB_00012354;\n          }\n          __snprintf_chk(puVar43,0x50,1,0x50,"error: %d",local_908,local_908,local_908);\n          pr2serr("Read capacity(10): %s\n",puVar43);\n          pr2serr("Unable to calculate block size\n");\n          local_908 = (stat64 *)0xf;\n          goto LAB_00012354;\n        }\n      }\n      else {\n        psVar25 = psVar22;\n        pr2serr("Read capacity(16) not supported, try Read capacity(10)\n");\n        pcVar15 = (char *)0x1;\n        uVar33 = sg_ll_readcap_10(local_930,0,0,psVar25,8,1,psVar17);\n        psVar22 = (stat64 *)((ulonglong)uVar33 >> 0x20);\n        local_908 = (stat64 *)uVar33;\n        if (local_908 != (stat64 *)0x0) goto LAB_00013444;\n        if (3 < (int)psVar8) {\n          pr2serr("Read capacity(10) response:\n");\n          psVar17 = (stat64 *)0x1;\n          pcVar15 = (char *)0x8;\n          hex2stderr(psVar25,8,1);\n          psVar22 = extraout_EDX_03;\n        }\n      }\n      local_7a8 = 0;\n      local_7ac = ((uint)local_174._0_4_ >> 0x18 | (local_174._0_4_ & 0xff0000) >> 8 |\n                   (local_174._0_4_ & 0xff00) << 8 | local_174._0_4_ << 0x18) + 1;\n      local_7d8 = (stat64 *)\n                  ((uint)local_174._4_4_ >> 0x18 | (local_174._4_4_ & 0xff0000) >> 8 |\n                   (local_174._4_4_ & 0xff00) << 8 | local_174._4_4_ << 0x18);\n    }\nLAB_00012312:\n    local_7d4 = local_7d8;\n    if (local_813 != '\0') {\n      local_7d4 = (stat64 *)&local_7d8->__pad1;\n    }\n    psVar8 = local_7d4;\n    psVar11 = local_7d8;\n    if (local_7d4 == (stat64 *)0x0) goto LAB_00012338;\n  }" { (expression_statement "psVar17 = (stat64 *)0x0;" (assignment_expression "psVar17 = (stat64 *)0x0" identifier = (cast_expression "(stat64 *)0x0" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (if_statement "if (local_7f0 != (stat64 *)0x0) {\n      psVar17 = (stat64 *)((int)&local_7f0[-1].st_ino + 7);\n    }" if (parenthesized_expression "(local_7f0 != (stat64 *)0x0)" ( (binary_expression "local_7f0 != (stat64 *)0x0" identifier != (cast_expression "(stat64 *)0x0" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      psVar17 = (stat64 *)((int)&local_7f0[-1].st_ino + 7);\n    }" { (expression_statement "psVar17 = (stat64 *)((int)&local_7f0[-1].st_ino + 7);" (assignment_expression "psVar17 = (stat64 *)((int)&local_7f0[-1].st_ino + 7)" identifier = (cast_expression "(stat64 *)((int)&local_7f0[-1].st_ino + 7)" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&local_7f0[-1].st_ino + 7)" ( (binary_expression "(int)&local_7f0[-1].st_ino + 7" (cast_expression "(int)&local_7f0[-1].st_ino" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&local_7f0[-1].st_ino" & (field_expression "local_7f0[-1].st_ino" (subscript_expression "local_7f0[-1]" identifier [ number_literal ]) . field_identifier))) + number_literal) )))) ;) })) (expression_statement "psVar22 = (stat64 *)local_174;" (assignment_expression "psVar22 = (stat64 *)local_174" identifier = (cast_expression "(stat64 *)local_174" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "psVar11 = (stat64 *)0x1;" (assignment_expression "psVar11 = (stat64 *)0x1" identifier = (cast_expression "(stat64 *)0x1" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "pcVar15 = (char *)0x20;" (assignment_expression "pcVar15 = (char *)0x20" identifier = (cast_expression "(char *)0x20" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "psVar9 = psVar17;" (assignment_expression "psVar9 = psVar17" identifier = identifier) ;) (expression_statement "psVar8 = local_7f0;" (assignment_expression "psVar8 = local_7f0" identifier = identifier) ;) (expression_statement "uVar33 = sg_ll_readcap_16(local_930,0,0,0,psVar22,0x20,1,psVar17,psVar22,local_7f0,psVar45,\n                              iVar14);" (assignment_expression "uVar33 = sg_ll_readcap_16(local_930,0,0,0,psVar22,0x20,1,psVar17,psVar22,local_7f0,psVar45,\n                              iVar14)" identifier = (call_expression "sg_ll_readcap_16(local_930,0,0,0,psVar22,0x20,1,psVar17,psVar22,local_7f0,psVar45,\n                              iVar14)" identifier (argument_list "(local_930,0,0,0,psVar22,0x20,1,psVar17,psVar22,local_7f0,psVar45,\n                              iVar14)" ( identifier , number_literal , number_literal , number_literal , identifier , number_literal , number_literal , identifier , identifier , identifier , identifier , identifier )))) ;) (if_statement "if ((int)uVar33 == 6) {\n      pr2serr("Read capacity(16) unit attention, try again\n");\n      uVar33 = sg_ll_readcap_16(local_930,0,0,0,psVar22,0x20,1,psVar17);\n    }" if (parenthesized_expression "((int)uVar33 == 6)" ( (binary_expression "(int)uVar33 == 6" (cast_expression "(int)uVar33" ( (type_descriptor "int" primitive_type) ) identifier) == number_literal) )) (compound_statement "{\n      pr2serr("Read capacity(16) unit attention, try again\n");\n      uVar33 = sg_ll_readcap_16(local_930,0,0,0,psVar22,0x20,1,psVar17);\n    }" { (expression_statement "pr2serr("Read capacity(16) unit attention, try again\n");" (call_expression "pr2serr("Read capacity(16) unit attention, try again\n")" identifier (argument_list "("Read capacity(16) unit attention, try again\n")" ( (string_literal ""Read capacity(16) unit attention, try again\n"" " string_content escape_sequence ") ))) ;) (expression_statement "uVar33 = sg_ll_readcap_16(local_930,0,0,0,psVar22,0x20,1,psVar17);" (assignment_expression "uVar33 = sg_ll_readcap_16(local_930,0,0,0,psVar22,0x20,1,psVar17)" identifier = (call_expression "sg_ll_readcap_16(local_930,0,0,0,psVar22,0x20,1,psVar17)" identifier (argument_list "(local_930,0,0,0,psVar22,0x20,1,psVar17)" ( identifier , number_literal , number_literal , number_literal , identifier , number_literal , number_literal , identifier )))) ;) })) (expression_statement "psVar23 = (stat64 *)((ulonglong)uVar33 >> 0x20);" (assignment_expression "psVar23 = (stat64 *)((ulonglong)uVar33 >> 0x20)" identifier = (cast_expression "(stat64 *)((ulonglong)uVar33 >> 0x20)" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((ulonglong)uVar33 >> 0x20)" ( (binary_expression "(ulonglong)uVar33 >> 0x20" (cast_expression "(ulonglong)uVar33" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) )))) ;) (expression_statement "local_908 = (stat64 *)uVar33;" (assignment_expression "local_908 = (stat64 *)uVar33" identifier = (cast_expression "(stat64 *)uVar33" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (if_statement "if (local_908 == (stat64 *)0x0) {\n      psVar17 = psVar11;\n      if (3 < (int)psVar8) {\n        pr2serr("Read capacity(16) response:\n");\n        psVar17 = (stat64 *)0x1;\n        pcVar15 = (char *)0x20;\n        hex2stderr(psVar22,0x20,1);\n      }\n      bVar1 = local_174[0xc];\n      psVar11 = (stat64 *)\n                ((uint)local_174._8_4_ >> 0x18 | (local_174._8_4_ & 0xff0000) >> 8 |\n                 (local_174._8_4_ & 0xff00) << 8 | local_174._8_4_ << 0x18);\n      uVar7 = (uint)local_174._4_4_ >> 0x18 | (local_174._4_4_ & 0xff0000) >> 8 |\n              (local_174._4_4_ & 0xff00) << 8 | local_174._4_4_ << 0x18;\n      local_7ac = uVar7 + 1;\n      local_7a8 = ((uint)local_174._0_4_ >> 0x18 | (local_174._0_4_ & 0xff0000) >> 8 |\n                   (local_174._0_4_ & 0xff00) << 8 | local_174._0_4_ << 0x18) +\n                  (uint)(0xfffffffe < uVar7);\n      psVar22 = (stat64 *)(uint)local_174[0xc];\n      local_7d8 = psVar11;\n      if ((local_174[0xc] & 1) == 0) {\n        local_7fc = 0;\n        if ((int)local_7ec < 1) goto LAB_00012305;\n        if (psVar8 != (stat64 *)0x0) {\n          pcVar15 = (char *)local_7ec;\n          psVar22 = local_7a0;\n          pr2serr("--wrprotect (%d) expects PI but %s says it has none\n",local_7ec,local_7a0,\n                  psVar11);\n          if (local_7f8 != 0) goto LAB_00012ef5;\n          pcVar13 = "  ... continue but could be dangerous\n";\n          psVar25 = (stat64 *)0x0;\n          psVar9 = psVar11;\n          goto LAB_00013516;\n        }\n        if (local_7f8 != 0) goto LAB_00012ef5;\n      }\n      else {\n        local_7fc = (local_174[0xc] >> 1 & 7) + 1;\n        psVar25 = (stat64 *)(8 << (local_174[0xd] >> 4));\n        psVar22 = (stat64 *)(uint)(local_174[0xd] >> 4);\n        if (((int)local_7ec < 1) ||\n           (local_7d4 = (stat64 *)((int)&psVar25->st_dev + (int)&psVar11->st_dev), (int)psVar8 < 2))\n        {\nLAB_00012305:\n          if (psVar8 == (stat64 *)0x0) goto LAB_00012312;\n        }\n        else {\n          pcVar13 = \n          "  For data out buffer purposes the effective block size is %u (lb size\n  is %u) because PROT_EN=1, PI_EXP=%u and WRPROTECT>0\n"\n          ;\n          pcVar15 = (char *)psVar11;\n          psVar9 = local_7d4;\nLAB_00013516:\n          pr2serr(pcVar13,pcVar15,psVar22,psVar9);\n          psVar17 = psVar22;\n        }\n        pr2serr("Read capacity(16) response fields:\n",pcVar15,psVar17,psVar9);\n        psVar25 = (stat64 *)((int)&local_7d8->st_dev + (int)&psVar25->st_dev);\n        psVar9 = extraout_ECX_06;\n        pr2serr("  Last_LBA=0x%llx  LB size: %u (with PI: %u) bytes  p_type=%u\n",local_7ac + -1,\n                local_7a8 + -1 + (uint)(local_7ac != 0),local_7d8,psVar25,local_174[0xc] >> 1 & 7,\n                extraout_ECX_06,extraout_ECX_06);\n        pr2serr("  prot_en=%u [PI type=%u] p_i_exp=%u  lbppb_exp=%u  lbpme,rz=%u,",bVar1 & 1,\n                local_7fc,local_174[0xd] >> 4,local_174[0xd] & 0xf,\n                (uint)(int)(char)local_174[0xe] >> 0x1f);\n        psVar17 = (stat64 *)\n                  ((ushort)(local_174._14_2_ << 8 | (ushort)local_174._14_2_ >> 8) & 0x3fff);\n        pcVar15 = (char *)(local_174[0xe] >> 6 & 1);\n        pr2serr("%u  low_ali_lba=%u\n",pcVar15,psVar17);\n        psVar22 = extraout_EDX_04;\n      }\n    }\n    else {\n      if (((int)local_908 - 5U & 0xfffffffb) != 0) {\n        if (psVar8 != (stat64 *)0x0) {\n          puVar43 = local_174 + 0x50;\n          psVar25 = (stat64 *)"OS error";\n          puVar29 = puVar43;\n          for (iVar14 = 9; iVar14 != 0; iVar14 = iVar14 + -1) {\n            *puVar29 = (char)psVar25->st_dev;\n            psVar25 = (stat64 *)((int)psVar25 + (uint)bVar32 * -2 + 1);\n            puVar29 = puVar29 + (uint)bVar32 * -2 + 1;\n          }\n          psVar18 = local_908;\n          if (0 < (int)local_908) {\n            psVar18 = (stat64 *)sg_get_category_sense_str(local_908,0x50,puVar43,psVar8);\n          }\n          pr2serr("Read capacity(16): %s\n",puVar43,psVar18,psVar18);\n          pr2serr("Unable to calculate block size\n");\n        }\n        if (0 < (int)local_908) goto LAB_00012354;\n        goto LAB_00012ef5;\n      }\n      if (psVar8 == (stat64 *)0x0) {\n        pcVar15 = (char *)0x1;\n        uVar33 = sg_ll_readcap_10(local_930,0,0,psVar22,8,1,psVar17,psVar23);\n        psVar22 = (stat64 *)((ulonglong)uVar33 >> 0x20);\n        local_908 = (stat64 *)uVar33;\n        psVar9 = psVar23;\n        if (local_908 != (stat64 *)0x0) {\nLAB_00013444:\n          puVar43 = local_174 + 0x50;\n          psVar25 = (stat64 *)"OS error";\n          puVar29 = puVar43;\n          for (iVar14 = 9; iVar14 != 0; iVar14 = iVar14 + -1) {\n            *puVar29 = (char)psVar25->st_dev;\n            psVar25 = (stat64 *)((int)psVar25 + (uint)bVar32 * -2 + 1);\n            puVar29 = puVar29 + (uint)bVar32 * -2 + 1;\n          }\n          if (0 < (int)local_908) {\n            sg_get_category_sense_str(local_908,0x50,puVar43,psVar8);\n            pr2serr("Read capacity(10): %s\n",puVar43);\n            pr2serr("Unable to calculate block size\n");\n            goto LAB_00012354;\n          }\n          __snprintf_chk(puVar43,0x50,1,0x50,"error: %d",local_908,local_908,local_908);\n          pr2serr("Read capacity(10): %s\n",puVar43);\n          pr2serr("Unable to calculate block size\n");\n          local_908 = (stat64 *)0xf;\n          goto LAB_00012354;\n        }\n      }\n      else {\n        psVar25 = psVar22;\n        pr2serr("Read capacity(16) not supported, try Read capacity(10)\n");\n        pcVar15 = (char *)0x1;\n        uVar33 = sg_ll_readcap_10(local_930,0,0,psVar25,8,1,psVar17);\n        psVar22 = (stat64 *)((ulonglong)uVar33 >> 0x20);\n        local_908 = (stat64 *)uVar33;\n        if (local_908 != (stat64 *)0x0) goto LAB_00013444;\n        if (3 < (int)psVar8) {\n          pr2serr("Read capacity(10) response:\n");\n          psVar17 = (stat64 *)0x1;\n          pcVar15 = (char *)0x8;\n          hex2stderr(psVar25,8,1);\n          psVar22 = extraout_EDX_03;\n        }\n      }\n      local_7a8 = 0;\n      local_7ac = ((uint)local_174._0_4_ >> 0x18 | (local_174._0_4_ & 0xff0000) >> 8 |\n                   (local_174._0_4_ & 0xff00) << 8 | local_174._0_4_ << 0x18) + 1;\n      local_7d8 = (stat64 *)\n                  ((uint)local_174._4_4_ >> 0x18 | (local_174._4_4_ & 0xff0000) >> 8 |\n                   (local_174._4_4_ & 0xff00) << 8 | local_174._4_4_ << 0x18);\n    }" if (parenthesized_expression "(local_908 == (stat64 *)0x0)" ( (binary_expression "local_908 == (stat64 *)0x0" identifier == (cast_expression "(stat64 *)0x0" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      psVar17 = psVar11;\n      if (3 < (int)psVar8) {\n        pr2serr("Read capacity(16) response:\n");\n        psVar17 = (stat64 *)0x1;\n        pcVar15 = (char *)0x20;\n        hex2stderr(psVar22,0x20,1);\n      }\n      bVar1 = local_174[0xc];\n      psVar11 = (stat64 *)\n                ((uint)local_174._8_4_ >> 0x18 | (local_174._8_4_ & 0xff0000) >> 8 |\n                 (local_174._8_4_ & 0xff00) << 8 | local_174._8_4_ << 0x18);\n      uVar7 = (uint)local_174._4_4_ >> 0x18 | (local_174._4_4_ & 0xff0000) >> 8 |\n              (local_174._4_4_ & 0xff00) << 8 | local_174._4_4_ << 0x18;\n      local_7ac = uVar7 + 1;\n      local_7a8 = ((uint)local_174._0_4_ >> 0x18 | (local_174._0_4_ & 0xff0000) >> 8 |\n                   (local_174._0_4_ & 0xff00) << 8 | local_174._0_4_ << 0x18) +\n                  (uint)(0xfffffffe < uVar7);\n      psVar22 = (stat64 *)(uint)local_174[0xc];\n      local_7d8 = psVar11;\n      if ((local_174[0xc] & 1) == 0) {\n        local_7fc = 0;\n        if ((int)local_7ec < 1) goto LAB_00012305;\n        if (psVar8 != (stat64 *)0x0) {\n          pcVar15 = (char *)local_7ec;\n          psVar22 = local_7a0;\n          pr2serr("--wrprotect (%d) expects PI but %s says it has none\n",local_7ec,local_7a0,\n                  psVar11);\n          if (local_7f8 != 0) goto LAB_00012ef5;\n          pcVar13 = "  ... continue but could be dangerous\n";\n          psVar25 = (stat64 *)0x0;\n          psVar9 = psVar11;\n          goto LAB_00013516;\n        }\n        if (local_7f8 != 0) goto LAB_00012ef5;\n      }\n      else {\n        local_7fc = (local_174[0xc] >> 1 & 7) + 1;\n        psVar25 = (stat64 *)(8 << (local_174[0xd] >> 4));\n        psVar22 = (stat64 *)(uint)(local_174[0xd] >> 4);\n        if (((int)local_7ec < 1) ||\n           (local_7d4 = (stat64 *)((int)&psVar25->st_dev + (int)&psVar11->st_dev), (int)psVar8 < 2))\n        {\nLAB_00012305:\n          if (psVar8 == (stat64 *)0x0) goto LAB_00012312;\n        }\n        else {\n          pcVar13 = \n          "  For data out buffer purposes the effective block size is %u (lb size\n  is %u) because PROT_EN=1, PI_EXP=%u and WRPROTECT>0\n"\n          ;\n          pcVar15 = (char *)psVar11;\n          psVar9 = local_7d4;\nLAB_00013516:\n          pr2serr(pcVar13,pcVar15,psVar22,psVar9);\n          psVar17 = psVar22;\n        }\n        pr2serr("Read capacity(16) response fields:\n",pcVar15,psVar17,psVar9);\n        psVar25 = (stat64 *)((int)&local_7d8->st_dev + (int)&psVar25->st_dev);\n        psVar9 = extraout_ECX_06;\n        pr2serr("  Last_LBA=0x%llx  LB size: %u (with PI: %u) bytes  p_type=%u\n",local_7ac + -1,\n                local_7a8 + -1 + (uint)(local_7ac != 0),local_7d8,psVar25,local_174[0xc] >> 1 & 7,\n                extraout_ECX_06,extraout_ECX_06);\n        pr2serr("  prot_en=%u [PI type=%u] p_i_exp=%u  lbppb_exp=%u  lbpme,rz=%u,",bVar1 & 1,\n                local_7fc,local_174[0xd] >> 4,local_174[0xd] & 0xf,\n                (uint)(int)(char)local_174[0xe] >> 0x1f);\n        psVar17 = (stat64 *)\n                  ((ushort)(local_174._14_2_ << 8 | (ushort)local_174._14_2_ >> 8) & 0x3fff);\n        pcVar15 = (char *)(local_174[0xe] >> 6 & 1);\n        pr2serr("%u  low_ali_lba=%u\n",pcVar15,psVar17);\n        psVar22 = extraout_EDX_04;\n      }\n    }" { (expression_statement "psVar17 = psVar11;" (assignment_expression "psVar17 = psVar11" identifier = identifier) ;) (if_statement "if (3 < (int)psVar8) {\n        pr2serr("Read capacity(16) response:\n");\n        psVar17 = (stat64 *)0x1;\n        pcVar15 = (char *)0x20;\n        hex2stderr(psVar22,0x20,1);\n      }" if (parenthesized_expression "(3 < (int)psVar8)" ( (binary_expression "3 < (int)psVar8" number_literal < (cast_expression "(int)psVar8" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n        pr2serr("Read capacity(16) response:\n");\n        psVar17 = (stat64 *)0x1;\n        pcVar15 = (char *)0x20;\n        hex2stderr(psVar22,0x20,1);\n      }" { (expression_statement "pr2serr("Read capacity(16) response:\n");" (call_expression "pr2serr("Read capacity(16) response:\n")" identifier (argument_list "("Read capacity(16) response:\n")" ( (string_literal ""Read capacity(16) response:\n"" " string_content escape_sequence ") ))) ;) (expression_statement "psVar17 = (stat64 *)0x1;" (assignment_expression "psVar17 = (stat64 *)0x1" identifier = (cast_expression "(stat64 *)0x1" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "pcVar15 = (char *)0x20;" (assignment_expression "pcVar15 = (char *)0x20" identifier = (cast_expression "(char *)0x20" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "hex2stderr(psVar22,0x20,1);" (call_expression "hex2stderr(psVar22,0x20,1)" identifier (argument_list "(psVar22,0x20,1)" ( identifier , number_literal , number_literal ))) ;) })) (expression_statement "bVar1 = local_174[0xc];" (assignment_expression "bVar1 = local_174[0xc]" identifier = (subscript_expression "local_174[0xc]" identifier [ number_literal ])) ;) (expression_statement "psVar11 = (stat64 *)\n                ((uint)local_174._8_4_ >> 0x18 | (local_174._8_4_ & 0xff0000) >> 8 |\n                 (local_174._8_4_ & 0xff00) << 8 | local_174._8_4_ << 0x18);" (assignment_expression "psVar11 = (stat64 *)\n                ((uint)local_174._8_4_ >> 0x18 | (local_174._8_4_ & 0xff0000) >> 8 |\n                 (local_174._8_4_ & 0xff00) << 8 | local_174._8_4_ << 0x18)" identifier = (cast_expression "(stat64 *)\n                ((uint)local_174._8_4_ >> 0x18 | (local_174._8_4_ & 0xff0000) >> 8 |\n                 (local_174._8_4_ & 0xff00) << 8 | local_174._8_4_ << 0x18)" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((uint)local_174._8_4_ >> 0x18 | (local_174._8_4_ & 0xff0000) >> 8 |\n                 (local_174._8_4_ & 0xff00) << 8 | local_174._8_4_ << 0x18)" ( (binary_expression "(uint)local_174._8_4_ >> 0x18 | (local_174._8_4_ & 0xff0000) >> 8 |\n                 (local_174._8_4_ & 0xff00) << 8 | local_174._8_4_ << 0x18" (binary_expression "(uint)local_174._8_4_ >> 0x18 | (local_174._8_4_ & 0xff0000) >> 8 |\n                 (local_174._8_4_ & 0xff00) << 8" (binary_expression "(uint)local_174._8_4_ >> 0x18 | (local_174._8_4_ & 0xff0000) >> 8" (binary_expression "(uint)local_174._8_4_ >> 0x18" (cast_expression "(uint)local_174._8_4_" ( (type_descriptor "uint" type_identifier) ) (field_expression "local_174._8_4_" identifier . field_identifier)) >> number_literal) | (binary_expression "(local_174._8_4_ & 0xff0000) >> 8" (parenthesized_expression "(local_174._8_4_ & 0xff0000)" ( (binary_expression "local_174._8_4_ & 0xff0000" (field_expression "local_174._8_4_" identifier . field_identifier) & number_literal) )) >> number_literal)) | (binary_expression "(local_174._8_4_ & 0xff00) << 8" (parenthesized_expression "(local_174._8_4_ & 0xff00)" ( (binary_expression "local_174._8_4_ & 0xff00" (field_expression "local_174._8_4_" identifier . field_identifier) & number_literal) )) << number_literal)) | (binary_expression "local_174._8_4_ << 0x18" (field_expression "local_174._8_4_" identifier . field_identifier) << number_literal)) )))) ;) (expression_statement "uVar7 = (uint)local_174._4_4_ >> 0x18 | (local_174._4_4_ & 0xff0000) >> 8 |\n              (local_174._4_4_ & 0xff00) << 8 | local_174._4_4_ << 0x18;" (assignment_expression "uVar7 = (uint)local_174._4_4_ >> 0x18 | (local_174._4_4_ & 0xff0000) >> 8 |\n              (local_174._4_4_ & 0xff00) << 8 | local_174._4_4_ << 0x18" identifier = (binary_expression "(uint)local_174._4_4_ >> 0x18 | (local_174._4_4_ & 0xff0000) >> 8 |\n              (local_174._4_4_ & 0xff00) << 8 | local_174._4_4_ << 0x18" (binary_expression "(uint)local_174._4_4_ >> 0x18 | (local_174._4_4_ & 0xff0000) >> 8 |\n              (local_174._4_4_ & 0xff00) << 8" (binary_expression "(uint)local_174._4_4_ >> 0x18 | (local_174._4_4_ & 0xff0000) >> 8" (binary_expression "(uint)local_174._4_4_ >> 0x18" (cast_expression "(uint)local_174._4_4_" ( (type_descriptor "uint" type_identifier) ) (field_expression "local_174._4_4_" identifier . field_identifier)) >> number_literal) | (binary_expression "(local_174._4_4_ & 0xff0000) >> 8" (parenthesized_expression "(local_174._4_4_ & 0xff0000)" ( (binary_expression "local_174._4_4_ & 0xff0000" (field_expression "local_174._4_4_" identifier . field_identifier) & number_literal) )) >> number_literal)) | (binary_expression "(local_174._4_4_ & 0xff00) << 8" (parenthesized_expression "(local_174._4_4_ & 0xff00)" ( (binary_expression "local_174._4_4_ & 0xff00" (field_expression "local_174._4_4_" identifier . field_identifier) & number_literal) )) << number_literal)) | (binary_expression "local_174._4_4_ << 0x18" (field_expression "local_174._4_4_" identifier . field_identifier) << number_literal))) ;) (expression_statement "local_7ac = uVar7 + 1;" (assignment_expression "local_7ac = uVar7 + 1" identifier = (binary_expression "uVar7 + 1" identifier + number_literal)) ;) (expression_statement "local_7a8 = ((uint)local_174._0_4_ >> 0x18 | (local_174._0_4_ & 0xff0000) >> 8 |\n                   (local_174._0_4_ & 0xff00) << 8 | local_174._0_4_ << 0x18) +\n                  (uint)(0xfffffffe < uVar7);" (assignment_expression "local_7a8 = ((uint)local_174._0_4_ >> 0x18 | (local_174._0_4_ & 0xff0000) >> 8 |\n                   (local_174._0_4_ & 0xff00) << 8 | local_174._0_4_ << 0x18) +\n                  (uint)(0xfffffffe < uVar7)" identifier = (binary_expression "((uint)local_174._0_4_ >> 0x18 | (local_174._0_4_ & 0xff0000) >> 8 |\n                   (local_174._0_4_ & 0xff00) << 8 | local_174._0_4_ << 0x18) +\n                  (uint)(0xfffffffe < uVar7)" (parenthesized_expression "((uint)local_174._0_4_ >> 0x18 | (local_174._0_4_ & 0xff0000) >> 8 |\n                   (local_174._0_4_ & 0xff00) << 8 | local_174._0_4_ << 0x18)" ( (binary_expression "(uint)local_174._0_4_ >> 0x18 | (local_174._0_4_ & 0xff0000) >> 8 |\n                   (local_174._0_4_ & 0xff00) << 8 | local_174._0_4_ << 0x18" (binary_expression "(uint)local_174._0_4_ >> 0x18 | (local_174._0_4_ & 0xff0000) >> 8 |\n                   (local_174._0_4_ & 0xff00) << 8" (binary_expression "(uint)local_174._0_4_ >> 0x18 | (local_174._0_4_ & 0xff0000) >> 8" (binary_expression "(uint)local_174._0_4_ >> 0x18" (cast_expression "(uint)local_174._0_4_" ( (type_descriptor "uint" type_identifier) ) (field_expression "local_174._0_4_" identifier . field_identifier)) >> number_literal) | (binary_expression "(local_174._0_4_ & 0xff0000) >> 8" (parenthesized_expression "(local_174._0_4_ & 0xff0000)" ( (binary_expression "local_174._0_4_ & 0xff0000" (field_expression "local_174._0_4_" identifier . field_identifier) & number_literal) )) >> number_literal)) | (binary_expression "(local_174._0_4_ & 0xff00) << 8" (parenthesized_expression "(local_174._0_4_ & 0xff00)" ( (binary_expression "local_174._0_4_ & 0xff00" (field_expression "local_174._0_4_" identifier . field_identifier) & number_literal) )) << number_literal)) | (binary_expression "local_174._0_4_ << 0x18" (field_expression "local_174._0_4_" identifier . field_identifier) << number_literal)) )) + (call_expression "(uint)(0xfffffffe < uVar7)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(0xfffffffe < uVar7)" ( (binary_expression "0xfffffffe < uVar7" number_literal < identifier) ))))) ;) (expression_statement "psVar22 = (stat64 *)(uint)local_174[0xc];" (assignment_expression "psVar22 = (stat64 *)(uint)local_174[0xc]" identifier = (cast_expression "(stat64 *)(uint)local_174[0xc]" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) (cast_expression "(uint)local_174[0xc]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "local_174[0xc]" identifier [ number_literal ])))) ;) (expression_statement "local_7d8 = psVar11;" (assignment_expression "local_7d8 = psVar11" identifier = identifier) ;) (if_statement "if ((local_174[0xc] & 1) == 0) {\n        local_7fc = 0;\n        if ((int)local_7ec < 1) goto LAB_00012305;\n        if (psVar8 != (stat64 *)0x0) {\n          pcVar15 = (char *)local_7ec;\n          psVar22 = local_7a0;\n          pr2serr("--wrprotect (%d) expects PI but %s says it has none\n",local_7ec,local_7a0,\n                  psVar11);\n          if (local_7f8 != 0) goto LAB_00012ef5;\n          pcVar13 = "  ... continue but could be dangerous\n";\n          psVar25 = (stat64 *)0x0;\n          psVar9 = psVar11;\n          goto LAB_00013516;\n        }\n        if (local_7f8 != 0) goto LAB_00012ef5;\n      }\n      else {\n        local_7fc = (local_174[0xc] >> 1 & 7) + 1;\n        psVar25 = (stat64 *)(8 << (local_174[0xd] >> 4));\n        psVar22 = (stat64 *)(uint)(local_174[0xd] >> 4);\n        if (((int)local_7ec < 1) ||\n           (local_7d4 = (stat64 *)((int)&psVar25->st_dev + (int)&psVar11->st_dev), (int)psVar8 < 2))\n        {\nLAB_00012305:\n          if (psVar8 == (stat64 *)0x0) goto LAB_00012312;\n        }\n        else {\n          pcVar13 = \n          "  For data out buffer purposes the effective block size is %u (lb size\n  is %u) because PROT_EN=1, PI_EXP=%u and WRPROTECT>0\n"\n          ;\n          pcVar15 = (char *)psVar11;\n          psVar9 = local_7d4;\nLAB_00013516:\n          pr2serr(pcVar13,pcVar15,psVar22,psVar9);\n          psVar17 = psVar22;\n        }\n        pr2serr("Read capacity(16) response fields:\n",pcVar15,psVar17,psVar9);\n        psVar25 = (stat64 *)((int)&local_7d8->st_dev + (int)&psVar25->st_dev);\n        psVar9 = extraout_ECX_06;\n        pr2serr("  Last_LBA=0x%llx  LB size: %u (with PI: %u) bytes  p_type=%u\n",local_7ac + -1,\n                local_7a8 + -1 + (uint)(local_7ac != 0),local_7d8,psVar25,local_174[0xc] >> 1 & 7,\n                extraout_ECX_06,extraout_ECX_06);\n        pr2serr("  prot_en=%u [PI type=%u] p_i_exp=%u  lbppb_exp=%u  lbpme,rz=%u,",bVar1 & 1,\n                local_7fc,local_174[0xd] >> 4,local_174[0xd] & 0xf,\n                (uint)(int)(char)local_174[0xe] >> 0x1f);\n        psVar17 = (stat64 *)\n                  ((ushort)(local_174._14_2_ << 8 | (ushort)local_174._14_2_ >> 8) & 0x3fff);\n        pcVar15 = (char *)(local_174[0xe] >> 6 & 1);\n        pr2serr("%u  low_ali_lba=%u\n",pcVar15,psVar17);\n        psVar22 = extraout_EDX_04;\n      }" if (parenthesized_expression "((local_174[0xc] & 1) == 0)" ( (binary_expression "(local_174[0xc] & 1) == 0" (parenthesized_expression "(local_174[0xc] & 1)" ( (binary_expression "local_174[0xc] & 1" (subscript_expression "local_174[0xc]" identifier [ number_literal ]) & number_literal) )) == number_literal) )) (compound_statement "{\n        local_7fc = 0;\n        if ((int)local_7ec < 1) goto LAB_00012305;\n        if (psVar8 != (stat64 *)0x0) {\n          pcVar15 = (char *)local_7ec;\n          psVar22 = local_7a0;\n          pr2serr("--wrprotect (%d) expects PI but %s says it has none\n",local_7ec,local_7a0,\n                  psVar11);\n          if (local_7f8 != 0) goto LAB_00012ef5;\n          pcVar13 = "  ... continue but could be dangerous\n";\n          psVar25 = (stat64 *)0x0;\n          psVar9 = psVar11;\n          goto LAB_00013516;\n        }\n        if (local_7f8 != 0) goto LAB_00012ef5;\n      }" { (expression_statement "local_7fc = 0;" (assignment_expression "local_7fc = 0" identifier = number_literal) ;) (if_statement "if ((int)local_7ec < 1) goto LAB_00012305;" if (parenthesized_expression "((int)local_7ec < 1)" ( (binary_expression "(int)local_7ec < 1" (cast_expression "(int)local_7ec" ( (type_descriptor "int" primitive_type) ) identifier) < number_literal) )) (goto_statement "goto LAB_00012305;" goto statement_identifier ;)) (if_statement "if (psVar8 != (stat64 *)0x0) {\n          pcVar15 = (char *)local_7ec;\n          psVar22 = local_7a0;\n          pr2serr("--wrprotect (%d) expects PI but %s says it has none\n",local_7ec,local_7a0,\n                  psVar11);\n          if (local_7f8 != 0) goto LAB_00012ef5;\n          pcVar13 = "  ... continue but could be dangerous\n";\n          psVar25 = (stat64 *)0x0;\n          psVar9 = psVar11;\n          goto LAB_00013516;\n        }" if (parenthesized_expression "(psVar8 != (stat64 *)0x0)" ( (binary_expression "psVar8 != (stat64 *)0x0" identifier != (cast_expression "(stat64 *)0x0" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n          pcVar15 = (char *)local_7ec;\n          psVar22 = local_7a0;\n          pr2serr("--wrprotect (%d) expects PI but %s says it has none\n",local_7ec,local_7a0,\n                  psVar11);\n          if (local_7f8 != 0) goto LAB_00012ef5;\n          pcVar13 = "  ... continue but could be dangerous\n";\n          psVar25 = (stat64 *)0x0;\n          psVar9 = psVar11;\n          goto LAB_00013516;\n        }" { (expression_statement "pcVar15 = (char *)local_7ec;" (assignment_expression "pcVar15 = (char *)local_7ec" identifier = (cast_expression "(char *)local_7ec" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "psVar22 = local_7a0;" (assignment_expression "psVar22 = local_7a0" identifier = identifier) ;) (expression_statement "pr2serr("--wrprotect (%d) expects PI but %s says it has none\n",local_7ec,local_7a0,\n                  psVar11);" (call_expression "pr2serr("--wrprotect (%d) expects PI but %s says it has none\n",local_7ec,local_7a0,\n                  psVar11)" identifier (argument_list "("--wrprotect (%d) expects PI but %s says it has none\n",local_7ec,local_7a0,\n                  psVar11)" ( (string_literal ""--wrprotect (%d) expects PI but %s says it has none\n"" " string_content escape_sequence ") , identifier , identifier , identifier ))) ;) (if_statement "if (local_7f8 != 0) goto LAB_00012ef5;" if (parenthesized_expression "(local_7f8 != 0)" ( (binary_expression "local_7f8 != 0" identifier != number_literal) )) (goto_statement "goto LAB_00012ef5;" goto statement_identifier ;)) (expression_statement "pcVar13 = "  ... continue but could be dangerous\n";" (assignment_expression "pcVar13 = "  ... continue but could be dangerous\n"" identifier = (string_literal ""  ... continue but could be dangerous\n"" " string_content escape_sequence ")) ;) (expression_statement "psVar25 = (stat64 *)0x0;" (assignment_expression "psVar25 = (stat64 *)0x0" identifier = (cast_expression "(stat64 *)0x0" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "psVar9 = psVar11;" (assignment_expression "psVar9 = psVar11" identifier = identifier) ;) (goto_statement "goto LAB_00013516;" goto statement_identifier ;) })) (if_statement "if (local_7f8 != 0) goto LAB_00012ef5;" if (parenthesized_expression "(local_7f8 != 0)" ( (binary_expression "local_7f8 != 0" identifier != number_literal) )) (goto_statement "goto LAB_00012ef5;" goto statement_identifier ;)) }) (else_clause "else {\n        local_7fc = (local_174[0xc] >> 1 & 7) + 1;\n        psVar25 = (stat64 *)(8 << (local_174[0xd] >> 4));\n        psVar22 = (stat64 *)(uint)(local_174[0xd] >> 4);\n        if (((int)local_7ec < 1) ||\n           (local_7d4 = (stat64 *)((int)&psVar25->st_dev + (int)&psVar11->st_dev), (int)psVar8 < 2))\n        {\nLAB_00012305:\n          if (psVar8 == (stat64 *)0x0) goto LAB_00012312;\n        }\n        else {\n          pcVar13 = \n          "  For data out buffer purposes the effective block size is %u (lb size\n  is %u) because PROT_EN=1, PI_EXP=%u and WRPROTECT>0\n"\n          ;\n          pcVar15 = (char *)psVar11;\n          psVar9 = local_7d4;\nLAB_00013516:\n          pr2serr(pcVar13,pcVar15,psVar22,psVar9);\n          psVar17 = psVar22;\n        }\n        pr2serr("Read capacity(16) response fields:\n",pcVar15,psVar17,psVar9);\n        psVar25 = (stat64 *)((int)&local_7d8->st_dev + (int)&psVar25->st_dev);\n        psVar9 = extraout_ECX_06;\n        pr2serr("  Last_LBA=0x%llx  LB size: %u (with PI: %u) bytes  p_type=%u\n",local_7ac + -1,\n                local_7a8 + -1 + (uint)(local_7ac != 0),local_7d8,psVar25,local_174[0xc] >> 1 & 7,\n                extraout_ECX_06,extraout_ECX_06);\n        pr2serr("  prot_en=%u [PI type=%u] p_i_exp=%u  lbppb_exp=%u  lbpme,rz=%u,",bVar1 & 1,\n                local_7fc,local_174[0xd] >> 4,local_174[0xd] & 0xf,\n                (uint)(int)(char)local_174[0xe] >> 0x1f);\n        psVar17 = (stat64 *)\n                  ((ushort)(local_174._14_2_ << 8 | (ushort)local_174._14_2_ >> 8) & 0x3fff);\n        pcVar15 = (char *)(local_174[0xe] >> 6 & 1);\n        pr2serr("%u  low_ali_lba=%u\n",pcVar15,psVar17);\n        psVar22 = extraout_EDX_04;\n      }" else (compound_statement "{\n        local_7fc = (local_174[0xc] >> 1 & 7) + 1;\n        psVar25 = (stat64 *)(8 << (local_174[0xd] >> 4));\n        psVar22 = (stat64 *)(uint)(local_174[0xd] >> 4);\n        if (((int)local_7ec < 1) ||\n           (local_7d4 = (stat64 *)((int)&psVar25->st_dev + (int)&psVar11->st_dev), (int)psVar8 < 2))\n        {\nLAB_00012305:\n          if (psVar8 == (stat64 *)0x0) goto LAB_00012312;\n        }\n        else {\n          pcVar13 = \n          "  For data out buffer purposes the effective block size is %u (lb size\n  is %u) because PROT_EN=1, PI_EXP=%u and WRPROTECT>0\n"\n          ;\n          pcVar15 = (char *)psVar11;\n          psVar9 = local_7d4;\nLAB_00013516:\n          pr2serr(pcVar13,pcVar15,psVar22,psVar9);\n          psVar17 = psVar22;\n        }\n        pr2serr("Read capacity(16) response fields:\n",pcVar15,psVar17,psVar9);\n        psVar25 = (stat64 *)((int)&local_7d8->st_dev + (int)&psVar25->st_dev);\n        psVar9 = extraout_ECX_06;\n        pr2serr("  Last_LBA=0x%llx  LB size: %u (with PI: %u) bytes  p_type=%u\n",local_7ac + -1,\n                local_7a8 + -1 + (uint)(local_7ac != 0),local_7d8,psVar25,local_174[0xc] >> 1 & 7,\n                extraout_ECX_06,extraout_ECX_06);\n        pr2serr("  prot_en=%u [PI type=%u] p_i_exp=%u  lbppb_exp=%u  lbpme,rz=%u,",bVar1 & 1,\n                local_7fc,local_174[0xd] >> 4,local_174[0xd] & 0xf,\n                (uint)(int)(char)local_174[0xe] >> 0x1f);\n        psVar17 = (stat64 *)\n                  ((ushort)(local_174._14_2_ << 8 | (ushort)local_174._14_2_ >> 8) & 0x3fff);\n        pcVar15 = (char *)(local_174[0xe] >> 6 & 1);\n        pr2serr("%u  low_ali_lba=%u\n",pcVar15,psVar17);\n        psVar22 = extraout_EDX_04;\n      }" { (expression_statement "local_7fc = (local_174[0xc] >> 1 & 7) + 1;" (assignment_expression "local_7fc = (local_174[0xc] >> 1 & 7) + 1" identifier = (binary_expression "(local_174[0xc] >> 1 & 7) + 1" (parenthesized_expression "(local_174[0xc] >> 1 & 7)" ( (binary_expression "local_174[0xc] >> 1 & 7" (binary_expression "local_174[0xc] >> 1" (subscript_expression "local_174[0xc]" identifier [ number_literal ]) >> number_literal) & number_literal) )) + number_literal)) ;) (expression_statement "psVar25 = (stat64 *)(8 << (local_174[0xd] >> 4));" (assignment_expression "psVar25 = (stat64 *)(8 << (local_174[0xd] >> 4))" identifier = (cast_expression "(stat64 *)(8 << (local_174[0xd] >> 4))" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(8 << (local_174[0xd] >> 4))" ( (binary_expression "8 << (local_174[0xd] >> 4)" number_literal << (parenthesized_expression "(local_174[0xd] >> 4)" ( (binary_expression "local_174[0xd] >> 4" (subscript_expression "local_174[0xd]" identifier [ number_literal ]) >> number_literal) ))) )))) ;) (expression_statement "psVar22 = (stat64 *)(uint)(local_174[0xd] >> 4);" (assignment_expression "psVar22 = (stat64 *)(uint)(local_174[0xd] >> 4)" identifier = (cast_expression "(stat64 *)(uint)(local_174[0xd] >> 4)" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(uint)(local_174[0xd] >> 4)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(local_174[0xd] >> 4)" ( (binary_expression "local_174[0xd] >> 4" (subscript_expression "local_174[0xd]" identifier [ number_literal ]) >> number_literal) ))))) ;) (if_statement "if (((int)local_7ec < 1) ||\n           (local_7d4 = (stat64 *)((int)&psVar25->st_dev + (int)&psVar11->st_dev), (int)psVar8 < 2))\n        {\nLAB_00012305:\n          if (psVar8 == (stat64 *)0x0) goto LAB_00012312;\n        }\n        else {\n          pcVar13 = \n          "  For data out buffer purposes the effective block size is %u (lb size\n  is %u) because PROT_EN=1, PI_EXP=%u and WRPROTECT>0\n"\n          ;\n          pcVar15 = (char *)psVar11;\n          psVar9 = local_7d4;\nLAB_00013516:\n          pr2serr(pcVar13,pcVar15,psVar22,psVar9);\n          psVar17 = psVar22;\n        }" if (parenthesized_expression "(((int)local_7ec < 1) ||\n           (local_7d4 = (stat64 *)((int)&psVar25->st_dev + (int)&psVar11->st_dev), (int)psVar8 < 2))" ( (binary_expression "((int)local_7ec < 1) ||\n           (local_7d4 = (stat64 *)((int)&psVar25->st_dev + (int)&psVar11->st_dev), (int)psVar8 < 2)" (parenthesized_expression "((int)local_7ec < 1)" ( (binary_expression "(int)local_7ec < 1" (cast_expression "(int)local_7ec" ( (type_descriptor "int" primitive_type) ) identifier) < number_literal) )) || (parenthesized_expression "(local_7d4 = (stat64 *)((int)&psVar25->st_dev + (int)&psVar11->st_dev), (int)psVar8 < 2)" ( (comma_expression "local_7d4 = (stat64 *)((int)&psVar25->st_dev + (int)&psVar11->st_dev), (int)psVar8 < 2" (assignment_expression "local_7d4 = (stat64 *)((int)&psVar25->st_dev + (int)&psVar11->st_dev)" identifier = (cast_expression "(stat64 *)((int)&psVar25->st_dev + (int)&psVar11->st_dev)" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&psVar25->st_dev + (int)&psVar11->st_dev)" ( (binary_expression "(int)&psVar25->st_dev + (int)&psVar11->st_dev" (cast_expression "(int)&psVar25->st_dev" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&psVar25->st_dev" & (field_expression "psVar25->st_dev" identifier -> field_identifier))) + (cast_expression "(int)&psVar11->st_dev" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&psVar11->st_dev" & (field_expression "psVar11->st_dev" identifier -> field_identifier)))) )))) , (binary_expression "(int)psVar8 < 2" (cast_expression "(int)psVar8" ( (type_descriptor "int" primitive_type) ) identifier) < number_literal)) ))) )) (compound_statement "{\nLAB_00012305:\n          if (psVar8 == (stat64 *)0x0) goto LAB_00012312;\n        }" { (labeled_statement "LAB_00012305:\n          if (psVar8 == (stat64 *)0x0) goto LAB_00012312;" statement_identifier : (if_statement "if (psVar8 == (stat64 *)0x0) goto LAB_00012312;" if (parenthesized_expression "(psVar8 == (stat64 *)0x0)" ( (binary_expression "psVar8 == (stat64 *)0x0" identifier == (cast_expression "(stat64 *)0x0" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_00012312;" goto statement_identifier ;))) }) (else_clause "else {\n          pcVar13 = \n          "  For data out buffer purposes the effective block size is %u (lb size\n  is %u) because PROT_EN=1, PI_EXP=%u and WRPROTECT>0\n"\n          ;\n          pcVar15 = (char *)psVar11;\n          psVar9 = local_7d4;\nLAB_00013516:\n          pr2serr(pcVar13,pcVar15,psVar22,psVar9);\n          psVar17 = psVar22;\n        }" else (compound_statement "{\n          pcVar13 = \n          "  For data out buffer purposes the effective block size is %u (lb size\n  is %u) because PROT_EN=1, PI_EXP=%u and WRPROTECT>0\n"\n          ;\n          pcVar15 = (char *)psVar11;\n          psVar9 = local_7d4;\nLAB_00013516:\n          pr2serr(pcVar13,pcVar15,psVar22,psVar9);\n          psVar17 = psVar22;\n        }" { (expression_statement "pcVar13 = \n          "  For data out buffer purposes the effective block size is %u (lb size\n  is %u) because PROT_EN=1, PI_EXP=%u and WRPROTECT>0\n"\n          ;" (assignment_expression "pcVar13 = \n          "  For data out buffer purposes the effective block size is %u (lb size\n  is %u) because PROT_EN=1, PI_EXP=%u and WRPROTECT>0\n"" identifier = (string_literal ""  For data out buffer purposes the effective block size is %u (lb size\n  is %u) because PROT_EN=1, PI_EXP=%u and WRPROTECT>0\n"" " string_content escape_sequence string_content escape_sequence ")) ;) (expression_statement "pcVar15 = (char *)psVar11;" (assignment_expression "pcVar15 = (char *)psVar11" identifier = (cast_expression "(char *)psVar11" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "psVar9 = local_7d4;" (assignment_expression "psVar9 = local_7d4" identifier = identifier) ;) (labeled_statement "LAB_00013516:\n          pr2serr(pcVar13,pcVar15,psVar22,psVar9);" statement_identifier : (expression_statement "pr2serr(pcVar13,pcVar15,psVar22,psVar9);" (call_expression "pr2serr(pcVar13,pcVar15,psVar22,psVar9)" identifier (argument_list "(pcVar13,pcVar15,psVar22,psVar9)" ( identifier , identifier , identifier , identifier ))) ;)) (expression_statement "psVar17 = psVar22;" (assignment_expression "psVar17 = psVar22" identifier = identifier) ;) }))) (expression_statement "pr2serr("Read capacity(16) response fields:\n",pcVar15,psVar17,psVar9);" (call_expression "pr2serr("Read capacity(16) response fields:\n",pcVar15,psVar17,psVar9)" identifier (argument_list "("Read capacity(16) response fields:\n",pcVar15,psVar17,psVar9)" ( (string_literal ""Read capacity(16) response fields:\n"" " string_content escape_sequence ") , identifier , identifier , identifier ))) ;) (expression_statement "psVar25 = (stat64 *)((int)&local_7d8->st_dev + (int)&psVar25->st_dev);" (assignment_expression "psVar25 = (stat64 *)((int)&local_7d8->st_dev + (int)&psVar25->st_dev)" identifier = (cast_expression "(stat64 *)((int)&local_7d8->st_dev + (int)&psVar25->st_dev)" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&local_7d8->st_dev + (int)&psVar25->st_dev)" ( (binary_expression "(int)&local_7d8->st_dev + (int)&psVar25->st_dev" (cast_expression "(int)&local_7d8->st_dev" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&local_7d8->st_dev" & (field_expression "local_7d8->st_dev" identifier -> field_identifier))) + (cast_expression "(int)&psVar25->st_dev" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&psVar25->st_dev" & (field_expression "psVar25->st_dev" identifier -> field_identifier)))) )))) ;) (expression_statement "psVar9 = extraout_ECX_06;" (assignment_expression "psVar9 = extraout_ECX_06" identifier = identifier) ;) (expression_statement "pr2serr("  Last_LBA=0x%llx  LB size: %u (with PI: %u) bytes  p_type=%u\n",local_7ac + -1,\n                local_7a8 + -1 + (uint)(local_7ac != 0),local_7d8,psVar25,local_174[0xc] >> 1 & 7,\n                extraout_ECX_06,extraout_ECX_06);" (call_expression "pr2serr("  Last_LBA=0x%llx  LB size: %u (with PI: %u) bytes  p_type=%u\n",local_7ac + -1,\n                local_7a8 + -1 + (uint)(local_7ac != 0),local_7d8,psVar25,local_174[0xc] >> 1 & 7,\n                extraout_ECX_06,extraout_ECX_06)" identifier (argument_list "("  Last_LBA=0x%llx  LB size: %u (with PI: %u) bytes  p_type=%u\n",local_7ac + -1,\n                local_7a8 + -1 + (uint)(local_7ac != 0),local_7d8,psVar25,local_174[0xc] >> 1 & 7,\n                extraout_ECX_06,extraout_ECX_06)" ( (string_literal ""  Last_LBA=0x%llx  LB size: %u (with PI: %u) bytes  p_type=%u\n"" " string_content escape_sequence ") , (binary_expression "local_7ac + -1" identifier + number_literal) , (binary_expression "local_7a8 + -1 + (uint)(local_7ac != 0)" (binary_expression "local_7a8 + -1" identifier + number_literal) + (call_expression "(uint)(local_7ac != 0)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(local_7ac != 0)" ( (binary_expression "local_7ac != 0" identifier != number_literal) )))) , identifier , identifier , (binary_expression "local_174[0xc] >> 1 & 7" (binary_expression "local_174[0xc] >> 1" (subscript_expression "local_174[0xc]" identifier [ number_literal ]) >> number_literal) & number_literal) , identifier , identifier ))) ;) (expression_statement "pr2serr("  prot_en=%u [PI type=%u] p_i_exp=%u  lbppb_exp=%u  lbpme,rz=%u,",bVar1 & 1,\n                local_7fc,local_174[0xd] >> 4,local_174[0xd] & 0xf,\n                (uint)(int)(char)local_174[0xe] >> 0x1f);" (call_expression "pr2serr("  prot_en=%u [PI type=%u] p_i_exp=%u  lbppb_exp=%u  lbpme,rz=%u,",bVar1 & 1,\n                local_7fc,local_174[0xd] >> 4,local_174[0xd] & 0xf,\n                (uint)(int)(char)local_174[0xe] >> 0x1f)" identifier (argument_list "("  prot_en=%u [PI type=%u] p_i_exp=%u  lbppb_exp=%u  lbpme,rz=%u,",bVar1 & 1,\n                local_7fc,local_174[0xd] >> 4,local_174[0xd] & 0xf,\n                (uint)(int)(char)local_174[0xe] >> 0x1f)" ( (string_literal ""  prot_en=%u [PI type=%u] p_i_exp=%u  lbppb_exp=%u  lbpme,rz=%u,"" " string_content ") , (binary_expression "bVar1 & 1" identifier & number_literal) , identifier , (binary_expression "local_174[0xd] >> 4" (subscript_expression "local_174[0xd]" identifier [ number_literal ]) >> number_literal) , (binary_expression "local_174[0xd] & 0xf" (subscript_expression "local_174[0xd]" identifier [ number_literal ]) & number_literal) , (binary_expression "(uint)(int)(char)local_174[0xe] >> 0x1f" (cast_expression "(uint)(int)(char)local_174[0xe]" ( (type_descriptor "uint" type_identifier) ) (cast_expression "(int)(char)local_174[0xe]" ( (type_descriptor "int" primitive_type) ) (cast_expression "(char)local_174[0xe]" ( (type_descriptor "char" primitive_type) ) (subscript_expression "local_174[0xe]" identifier [ number_literal ])))) >> number_literal) ))) ;) (expression_statement "psVar17 = (stat64 *)\n                  ((ushort)(local_174._14_2_ << 8 | (ushort)local_174._14_2_ >> 8) & 0x3fff);" (assignment_expression "psVar17 = (stat64 *)\n                  ((ushort)(local_174._14_2_ << 8 | (ushort)local_174._14_2_ >> 8) & 0x3fff)" identifier = (cast_expression "(stat64 *)\n                  ((ushort)(local_174._14_2_ << 8 | (ushort)local_174._14_2_ >> 8) & 0x3fff)" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((ushort)(local_174._14_2_ << 8 | (ushort)local_174._14_2_ >> 8) & 0x3fff)" ( (binary_expression "(ushort)(local_174._14_2_ << 8 | (ushort)local_174._14_2_ >> 8) & 0x3fff" (call_expression "(ushort)(local_174._14_2_ << 8 | (ushort)local_174._14_2_ >> 8)" (parenthesized_expression "(ushort)" ( identifier )) (argument_list "(local_174._14_2_ << 8 | (ushort)local_174._14_2_ >> 8)" ( (binary_expression "local_174._14_2_ << 8 | (ushort)local_174._14_2_ >> 8" (binary_expression "local_174._14_2_ << 8" (field_expression "local_174._14_2_" identifier . field_identifier) << number_literal) | (binary_expression "(ushort)local_174._14_2_ >> 8" (cast_expression "(ushort)local_174._14_2_" ( (type_descriptor "ushort" type_identifier) ) (field_expression "local_174._14_2_" identifier . field_identifier)) >> number_literal)) ))) & number_literal) )))) ;) (expression_statement "pcVar15 = (char *)(local_174[0xe] >> 6 & 1);" (assignment_expression "pcVar15 = (char *)(local_174[0xe] >> 6 & 1)" identifier = (cast_expression "(char *)(local_174[0xe] >> 6 & 1)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_174[0xe] >> 6 & 1)" ( (binary_expression "local_174[0xe] >> 6 & 1" (binary_expression "local_174[0xe] >> 6" (subscript_expression "local_174[0xe]" identifier [ number_literal ]) >> number_literal) & number_literal) )))) ;) (expression_statement "pr2serr("%u  low_ali_lba=%u\n",pcVar15,psVar17);" (call_expression "pr2serr("%u  low_ali_lba=%u\n",pcVar15,psVar17)" identifier (argument_list "("%u  low_ali_lba=%u\n",pcVar15,psVar17)" ( (string_literal ""%u  low_ali_lba=%u\n"" " string_content escape_sequence ") , identifier , identifier ))) ;) (expression_statement "psVar22 = extraout_EDX_04;" (assignment_expression "psVar22 = extraout_EDX_04" identifier = identifier) ;) }))) }) (else_clause "else {\n      if (((int)local_908 - 5U & 0xfffffffb) != 0) {\n        if (psVar8 != (stat64 *)0x0) {\n          puVar43 = local_174 + 0x50;\n          psVar25 = (stat64 *)"OS error";\n          puVar29 = puVar43;\n          for (iVar14 = 9; iVar14 != 0; iVar14 = iVar14 + -1) {\n            *puVar29 = (char)psVar25->st_dev;\n            psVar25 = (stat64 *)((int)psVar25 + (uint)bVar32 * -2 + 1);\n            puVar29 = puVar29 + (uint)bVar32 * -2 + 1;\n          }\n          psVar18 = local_908;\n          if (0 < (int)local_908) {\n            psVar18 = (stat64 *)sg_get_category_sense_str(local_908,0x50,puVar43,psVar8);\n          }\n          pr2serr("Read capacity(16): %s\n",puVar43,psVar18,psVar18);\n          pr2serr("Unable to calculate block size\n");\n        }\n        if (0 < (int)local_908) goto LAB_00012354;\n        goto LAB_00012ef5;\n      }\n      if (psVar8 == (stat64 *)0x0) {\n        pcVar15 = (char *)0x1;\n        uVar33 = sg_ll_readcap_10(local_930,0,0,psVar22,8,1,psVar17,psVar23);\n        psVar22 = (stat64 *)((ulonglong)uVar33 >> 0x20);\n        local_908 = (stat64 *)uVar33;\n        psVar9 = psVar23;\n        if (local_908 != (stat64 *)0x0) {\nLAB_00013444:\n          puVar43 = local_174 + 0x50;\n          psVar25 = (stat64 *)"OS error";\n          puVar29 = puVar43;\n          for (iVar14 = 9; iVar14 != 0; iVar14 = iVar14 + -1) {\n            *puVar29 = (char)psVar25->st_dev;\n            psVar25 = (stat64 *)((int)psVar25 + (uint)bVar32 * -2 + 1);\n            puVar29 = puVar29 + (uint)bVar32 * -2 + 1;\n          }\n          if (0 < (int)local_908) {\n            sg_get_category_sense_str(local_908,0x50,puVar43,psVar8);\n            pr2serr("Read capacity(10): %s\n",puVar43);\n            pr2serr("Unable to calculate block size\n");\n            goto LAB_00012354;\n          }\n          __snprintf_chk(puVar43,0x50,1,0x50,"error: %d",local_908,local_908,local_908);\n          pr2serr("Read capacity(10): %s\n",puVar43);\n          pr2serr("Unable to calculate block size\n");\n          local_908 = (stat64 *)0xf;\n          goto LAB_00012354;\n        }\n      }\n      else {\n        psVar25 = psVar22;\n        pr2serr("Read capacity(16) not supported, try Read capacity(10)\n");\n        pcVar15 = (char *)0x1;\n        uVar33 = sg_ll_readcap_10(local_930,0,0,psVar25,8,1,psVar17);\n        psVar22 = (stat64 *)((ulonglong)uVar33 >> 0x20);\n        local_908 = (stat64 *)uVar33;\n        if (local_908 != (stat64 *)0x0) goto LAB_00013444;\n        if (3 < (int)psVar8) {\n          pr2serr("Read capacity(10) response:\n");\n          psVar17 = (stat64 *)0x1;\n          pcVar15 = (char *)0x8;\n          hex2stderr(psVar25,8,1);\n          psVar22 = extraout_EDX_03;\n        }\n      }\n      local_7a8 = 0;\n      local_7ac = ((uint)local_174._0_4_ >> 0x18 | (local_174._0_4_ & 0xff0000) >> 8 |\n                   (local_174._0_4_ & 0xff00) << 8 | local_174._0_4_ << 0x18) + 1;\n      local_7d8 = (stat64 *)\n                  ((uint)local_174._4_4_ >> 0x18 | (local_174._4_4_ & 0xff0000) >> 8 |\n                   (local_174._4_4_ & 0xff00) << 8 | local_174._4_4_ << 0x18);\n    }" else (compound_statement "{\n      if (((int)local_908 - 5U & 0xfffffffb) != 0) {\n        if (psVar8 != (stat64 *)0x0) {\n          puVar43 = local_174 + 0x50;\n          psVar25 = (stat64 *)"OS error";\n          puVar29 = puVar43;\n          for (iVar14 = 9; iVar14 != 0; iVar14 = iVar14 + -1) {\n            *puVar29 = (char)psVar25->st_dev;\n            psVar25 = (stat64 *)((int)psVar25 + (uint)bVar32 * -2 + 1);\n            puVar29 = puVar29 + (uint)bVar32 * -2 + 1;\n          }\n          psVar18 = local_908;\n          if (0 < (int)local_908) {\n            psVar18 = (stat64 *)sg_get_category_sense_str(local_908,0x50,puVar43,psVar8);\n          }\n          pr2serr("Read capacity(16): %s\n",puVar43,psVar18,psVar18);\n          pr2serr("Unable to calculate block size\n");\n        }\n        if (0 < (int)local_908) goto LAB_00012354;\n        goto LAB_00012ef5;\n      }\n      if (psVar8 == (stat64 *)0x0) {\n        pcVar15 = (char *)0x1;\n        uVar33 = sg_ll_readcap_10(local_930,0,0,psVar22,8,1,psVar17,psVar23);\n        psVar22 = (stat64 *)((ulonglong)uVar33 >> 0x20);\n        local_908 = (stat64 *)uVar33;\n        psVar9 = psVar23;\n        if (local_908 != (stat64 *)0x0) {\nLAB_00013444:\n          puVar43 = local_174 + 0x50;\n          psVar25 = (stat64 *)"OS error";\n          puVar29 = puVar43;\n          for (iVar14 = 9; iVar14 != 0; iVar14 = iVar14 + -1) {\n            *puVar29 = (char)psVar25->st_dev;\n            psVar25 = (stat64 *)((int)psVar25 + (uint)bVar32 * -2 + 1);\n            puVar29 = puVar29 + (uint)bVar32 * -2 + 1;\n          }\n          if (0 < (int)local_908) {\n            sg_get_category_sense_str(local_908,0x50,puVar43,psVar8);\n            pr2serr("Read capacity(10): %s\n",puVar43);\n            pr2serr("Unable to calculate block size\n");\n            goto LAB_00012354;\n          }\n          __snprintf_chk(puVar43,0x50,1,0x50,"error: %d",local_908,local_908,local_908);\n          pr2serr("Read capacity(10): %s\n",puVar43);\n          pr2serr("Unable to calculate block size\n");\n          local_908 = (stat64 *)0xf;\n          goto LAB_00012354;\n        }\n      }\n      else {\n        psVar25 = psVar22;\n        pr2serr("Read capacity(16) not supported, try Read capacity(10)\n");\n        pcVar15 = (char *)0x1;\n        uVar33 = sg_ll_readcap_10(local_930,0,0,psVar25,8,1,psVar17);\n        psVar22 = (stat64 *)((ulonglong)uVar33 >> 0x20);\n        local_908 = (stat64 *)uVar33;\n        if (local_908 != (stat64 *)0x0) goto LAB_00013444;\n        if (3 < (int)psVar8) {\n          pr2serr("Read capacity(10) response:\n");\n          psVar17 = (stat64 *)0x1;\n          pcVar15 = (char *)0x8;\n          hex2stderr(psVar25,8,1);\n          psVar22 = extraout_EDX_03;\n        }\n      }\n      local_7a8 = 0;\n      local_7ac = ((uint)local_174._0_4_ >> 0x18 | (local_174._0_4_ & 0xff0000) >> 8 |\n                   (local_174._0_4_ & 0xff00) << 8 | local_174._0_4_ << 0x18) + 1;\n      local_7d8 = (stat64 *)\n                  ((uint)local_174._4_4_ >> 0x18 | (local_174._4_4_ & 0xff0000) >> 8 |\n                   (local_174._4_4_ & 0xff00) << 8 | local_174._4_4_ << 0x18);\n    }" { (if_statement "if (((int)local_908 - 5U & 0xfffffffb) != 0) {\n        if (psVar8 != (stat64 *)0x0) {\n          puVar43 = local_174 + 0x50;\n          psVar25 = (stat64 *)"OS error";\n          puVar29 = puVar43;\n          for (iVar14 = 9; iVar14 != 0; iVar14 = iVar14 + -1) {\n            *puVar29 = (char)psVar25->st_dev;\n            psVar25 = (stat64 *)((int)psVar25 + (uint)bVar32 * -2 + 1);\n            puVar29 = puVar29 + (uint)bVar32 * -2 + 1;\n          }\n          psVar18 = local_908;\n          if (0 < (int)local_908) {\n            psVar18 = (stat64 *)sg_get_category_sense_str(local_908,0x50,puVar43,psVar8);\n          }\n          pr2serr("Read capacity(16): %s\n",puVar43,psVar18,psVar18);\n          pr2serr("Unable to calculate block size\n");\n        }\n        if (0 < (int)local_908) goto LAB_00012354;\n        goto LAB_00012ef5;\n      }" if (parenthesized_expression "(((int)local_908 - 5U & 0xfffffffb) != 0)" ( (binary_expression "((int)local_908 - 5U & 0xfffffffb) != 0" (parenthesized_expression "((int)local_908 - 5U & 0xfffffffb)" ( (binary_expression "(int)local_908 - 5U & 0xfffffffb" (binary_expression "(int)local_908 - 5U" (cast_expression "(int)local_908" ( (type_descriptor "int" primitive_type) ) identifier) - number_literal) & number_literal) )) != number_literal) )) (compound_statement "{\n        if (psVar8 != (stat64 *)0x0) {\n          puVar43 = local_174 + 0x50;\n          psVar25 = (stat64 *)"OS error";\n          puVar29 = puVar43;\n          for (iVar14 = 9; iVar14 != 0; iVar14 = iVar14 + -1) {\n            *puVar29 = (char)psVar25->st_dev;\n            psVar25 = (stat64 *)((int)psVar25 + (uint)bVar32 * -2 + 1);\n            puVar29 = puVar29 + (uint)bVar32 * -2 + 1;\n          }\n          psVar18 = local_908;\n          if (0 < (int)local_908) {\n            psVar18 = (stat64 *)sg_get_category_sense_str(local_908,0x50,puVar43,psVar8);\n          }\n          pr2serr("Read capacity(16): %s\n",puVar43,psVar18,psVar18);\n          pr2serr("Unable to calculate block size\n");\n        }\n        if (0 < (int)local_908) goto LAB_00012354;\n        goto LAB_00012ef5;\n      }" { (if_statement "if (psVar8 != (stat64 *)0x0) {\n          puVar43 = local_174 + 0x50;\n          psVar25 = (stat64 *)"OS error";\n          puVar29 = puVar43;\n          for (iVar14 = 9; iVar14 != 0; iVar14 = iVar14 + -1) {\n            *puVar29 = (char)psVar25->st_dev;\n            psVar25 = (stat64 *)((int)psVar25 + (uint)bVar32 * -2 + 1);\n            puVar29 = puVar29 + (uint)bVar32 * -2 + 1;\n          }\n          psVar18 = local_908;\n          if (0 < (int)local_908) {\n            psVar18 = (stat64 *)sg_get_category_sense_str(local_908,0x50,puVar43,psVar8);\n          }\n          pr2serr("Read capacity(16): %s\n",puVar43,psVar18,psVar18);\n          pr2serr("Unable to calculate block size\n");\n        }" if (parenthesized_expression "(psVar8 != (stat64 *)0x0)" ( (binary_expression "psVar8 != (stat64 *)0x0" identifier != (cast_expression "(stat64 *)0x0" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n          puVar43 = local_174 + 0x50;\n          psVar25 = (stat64 *)"OS error";\n          puVar29 = puVar43;\n          for (iVar14 = 9; iVar14 != 0; iVar14 = iVar14 + -1) {\n            *puVar29 = (char)psVar25->st_dev;\n            psVar25 = (stat64 *)((int)psVar25 + (uint)bVar32 * -2 + 1);\n            puVar29 = puVar29 + (uint)bVar32 * -2 + 1;\n          }\n          psVar18 = local_908;\n          if (0 < (int)local_908) {\n            psVar18 = (stat64 *)sg_get_category_sense_str(local_908,0x50,puVar43,psVar8);\n          }\n          pr2serr("Read capacity(16): %s\n",puVar43,psVar18,psVar18);\n          pr2serr("Unable to calculate block size\n");\n        }" { (expression_statement "puVar43 = local_174 + 0x50;" (assignment_expression "puVar43 = local_174 + 0x50" identifier = (binary_expression "local_174 + 0x50" identifier + number_literal)) ;) (expression_statement "psVar25 = (stat64 *)"OS error";" (assignment_expression "psVar25 = (stat64 *)"OS error"" identifier = (cast_expression "(stat64 *)"OS error"" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) (string_literal ""OS error"" " string_content "))) ;) (expression_statement "puVar29 = puVar43;" (assignment_expression "puVar29 = puVar43" identifier = identifier) ;) (for_statement "for (iVar14 = 9; iVar14 != 0; iVar14 = iVar14 + -1) {\n            *puVar29 = (char)psVar25->st_dev;\n            psVar25 = (stat64 *)((int)psVar25 + (uint)bVar32 * -2 + 1);\n            puVar29 = puVar29 + (uint)bVar32 * -2 + 1;\n          }" for ( (assignment_expression "iVar14 = 9" identifier = number_literal) ; (binary_expression "iVar14 != 0" identifier != number_literal) ; (assignment_expression "iVar14 = iVar14 + -1" identifier = (binary_expression "iVar14 + -1" identifier + number_literal)) ) (compound_statement "{\n            *puVar29 = (char)psVar25->st_dev;\n            psVar25 = (stat64 *)((int)psVar25 + (uint)bVar32 * -2 + 1);\n            puVar29 = puVar29 + (uint)bVar32 * -2 + 1;\n          }" { (expression_statement "*puVar29 = (char)psVar25->st_dev;" (assignment_expression "*puVar29 = (char)psVar25->st_dev" (pointer_expression "*puVar29" * identifier) = (cast_expression "(char)psVar25->st_dev" ( (type_descriptor "char" primitive_type) ) (field_expression "psVar25->st_dev" identifier -> field_identifier))) ;) (expression_statement "psVar25 = (stat64 *)((int)psVar25 + (uint)bVar32 * -2 + 1);" (assignment_expression "psVar25 = (stat64 *)((int)psVar25 + (uint)bVar32 * -2 + 1)" identifier = (cast_expression "(stat64 *)((int)psVar25 + (uint)bVar32 * -2 + 1)" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)psVar25 + (uint)bVar32 * -2 + 1)" ( (binary_expression "(int)psVar25 + (uint)bVar32 * -2 + 1" (binary_expression "(int)psVar25 + (uint)bVar32 * -2" (cast_expression "(int)psVar25" ( (type_descriptor "int" primitive_type) ) identifier) + (binary_expression "(uint)bVar32 * -2" (cast_expression "(uint)bVar32" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal) )))) ;) (expression_statement "puVar29 = puVar29 + (uint)bVar32 * -2 + 1;" (assignment_expression "puVar29 = puVar29 + (uint)bVar32 * -2 + 1" identifier = (binary_expression "puVar29 + (uint)bVar32 * -2 + 1" (binary_expression "puVar29 + (uint)bVar32 * -2" identifier + (binary_expression "(uint)bVar32 * -2" (cast_expression "(uint)bVar32" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) })) (expression_statement "psVar18 = local_908;" (assignment_expression "psVar18 = local_908" identifier = identifier) ;) (if_statement "if (0 < (int)local_908) {\n            psVar18 = (stat64 *)sg_get_category_sense_str(local_908,0x50,puVar43,psVar8);\n          }" if (parenthesized_expression "(0 < (int)local_908)" ( (binary_expression "0 < (int)local_908" number_literal < (cast_expression "(int)local_908" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n            psVar18 = (stat64 *)sg_get_category_sense_str(local_908,0x50,puVar43,psVar8);\n          }" { (expression_statement "psVar18 = (stat64 *)sg_get_category_sense_str(local_908,0x50,puVar43,psVar8);" (assignment_expression "psVar18 = (stat64 *)sg_get_category_sense_str(local_908,0x50,puVar43,psVar8)" identifier = (cast_expression "(stat64 *)sg_get_category_sense_str(local_908,0x50,puVar43,psVar8)" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "sg_get_category_sense_str(local_908,0x50,puVar43,psVar8)" identifier (argument_list "(local_908,0x50,puVar43,psVar8)" ( identifier , number_literal , identifier , identifier ))))) ;) })) (expression_statement "pr2serr("Read capacity(16): %s\n",puVar43,psVar18,psVar18);" (call_expression "pr2serr("Read capacity(16): %s\n",puVar43,psVar18,psVar18)" identifier (argument_list "("Read capacity(16): %s\n",puVar43,psVar18,psVar18)" ( (string_literal ""Read capacity(16): %s\n"" " string_content escape_sequence ") , identifier , identifier , identifier ))) ;) (expression_statement "pr2serr("Unable to calculate block size\n");" (call_expression "pr2serr("Unable to calculate block size\n")" identifier (argument_list "("Unable to calculate block size\n")" ( (string_literal ""Unable to calculate block size\n"" " string_content escape_sequence ") ))) ;) })) (if_statement "if (0 < (int)local_908) goto LAB_00012354;" if (parenthesized_expression "(0 < (int)local_908)" ( (binary_expression "0 < (int)local_908" number_literal < (cast_expression "(int)local_908" ( (type_descriptor "int" primitive_type) ) identifier)) )) (goto_statement "goto LAB_00012354;" goto statement_identifier ;)) (goto_statement "goto LAB_00012ef5;" goto statement_identifier ;) })) (if_statement "if (psVar8 == (stat64 *)0x0) {\n        pcVar15 = (char *)0x1;\n        uVar33 = sg_ll_readcap_10(local_930,0,0,psVar22,8,1,psVar17,psVar23);\n        psVar22 = (stat64 *)((ulonglong)uVar33 >> 0x20);\n        local_908 = (stat64 *)uVar33;\n        psVar9 = psVar23;\n        if (local_908 != (stat64 *)0x0) {\nLAB_00013444:\n          puVar43 = local_174 + 0x50;\n          psVar25 = (stat64 *)"OS error";\n          puVar29 = puVar43;\n          for (iVar14 = 9; iVar14 != 0; iVar14 = iVar14 + -1) {\n            *puVar29 = (char)psVar25->st_dev;\n            psVar25 = (stat64 *)((int)psVar25 + (uint)bVar32 * -2 + 1);\n            puVar29 = puVar29 + (uint)bVar32 * -2 + 1;\n          }\n          if (0 < (int)local_908) {\n            sg_get_category_sense_str(local_908,0x50,puVar43,psVar8);\n            pr2serr("Read capacity(10): %s\n",puVar43);\n            pr2serr("Unable to calculate block size\n");\n            goto LAB_00012354;\n          }\n          __snprintf_chk(puVar43,0x50,1,0x50,"error: %d",local_908,local_908,local_908);\n          pr2serr("Read capacity(10): %s\n",puVar43);\n          pr2serr("Unable to calculate block size\n");\n          local_908 = (stat64 *)0xf;\n          goto LAB_00012354;\n        }\n      }\n      else {\n        psVar25 = psVar22;\n        pr2serr("Read capacity(16) not supported, try Read capacity(10)\n");\n        pcVar15 = (char *)0x1;\n        uVar33 = sg_ll_readcap_10(local_930,0,0,psVar25,8,1,psVar17);\n        psVar22 = (stat64 *)((ulonglong)uVar33 >> 0x20);\n        local_908 = (stat64 *)uVar33;\n        if (local_908 != (stat64 *)0x0) goto LAB_00013444;\n        if (3 < (int)psVar8) {\n          pr2serr("Read capacity(10) response:\n");\n          psVar17 = (stat64 *)0x1;\n          pcVar15 = (char *)0x8;\n          hex2stderr(psVar25,8,1);\n          psVar22 = extraout_EDX_03;\n        }\n      }" if (parenthesized_expression "(psVar8 == (stat64 *)0x0)" ( (binary_expression "psVar8 == (stat64 *)0x0" identifier == (cast_expression "(stat64 *)0x0" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        pcVar15 = (char *)0x1;\n        uVar33 = sg_ll_readcap_10(local_930,0,0,psVar22,8,1,psVar17,psVar23);\n        psVar22 = (stat64 *)((ulonglong)uVar33 >> 0x20);\n        local_908 = (stat64 *)uVar33;\n        psVar9 = psVar23;\n        if (local_908 != (stat64 *)0x0) {\nLAB_00013444:\n          puVar43 = local_174 + 0x50;\n          psVar25 = (stat64 *)"OS error";\n          puVar29 = puVar43;\n          for (iVar14 = 9; iVar14 != 0; iVar14 = iVar14 + -1) {\n            *puVar29 = (char)psVar25->st_dev;\n            psVar25 = (stat64 *)((int)psVar25 + (uint)bVar32 * -2 + 1);\n            puVar29 = puVar29 + (uint)bVar32 * -2 + 1;\n          }\n          if (0 < (int)local_908) {\n            sg_get_category_sense_str(local_908,0x50,puVar43,psVar8);\n            pr2serr("Read capacity(10): %s\n",puVar43);\n            pr2serr("Unable to calculate block size\n");\n            goto LAB_00012354;\n          }\n          __snprintf_chk(puVar43,0x50,1,0x50,"error: %d",local_908,local_908,local_908);\n          pr2serr("Read capacity(10): %s\n",puVar43);\n          pr2serr("Unable to calculate block size\n");\n          local_908 = (stat64 *)0xf;\n          goto LAB_00012354;\n        }\n      }" { (expression_statement "pcVar15 = (char *)0x1;" (assignment_expression "pcVar15 = (char *)0x1" identifier = (cast_expression "(char *)0x1" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "uVar33 = sg_ll_readcap_10(local_930,0,0,psVar22,8,1,psVar17,psVar23);" (assignment_expression "uVar33 = sg_ll_readcap_10(local_930,0,0,psVar22,8,1,psVar17,psVar23)" identifier = (call_expression "sg_ll_readcap_10(local_930,0,0,psVar22,8,1,psVar17,psVar23)" identifier (argument_list "(local_930,0,0,psVar22,8,1,psVar17,psVar23)" ( identifier , number_literal , number_literal , identifier , number_literal , number_literal , identifier , identifier )))) ;) (expression_statement "psVar22 = (stat64 *)((ulonglong)uVar33 >> 0x20);" (assignment_expression "psVar22 = (stat64 *)((ulonglong)uVar33 >> 0x20)" identifier = (cast_expression "(stat64 *)((ulonglong)uVar33 >> 0x20)" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((ulonglong)uVar33 >> 0x20)" ( (binary_expression "(ulonglong)uVar33 >> 0x20" (cast_expression "(ulonglong)uVar33" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) )))) ;) (expression_statement "local_908 = (stat64 *)uVar33;" (assignment_expression "local_908 = (stat64 *)uVar33" identifier = (cast_expression "(stat64 *)uVar33" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "psVar9 = psVar23;" (assignment_expression "psVar9 = psVar23" identifier = identifier) ;) (if_statement "if (local_908 != (stat64 *)0x0) {\nLAB_00013444:\n          puVar43 = local_174 + 0x50;\n          psVar25 = (stat64 *)"OS error";\n          puVar29 = puVar43;\n          for (iVar14 = 9; iVar14 != 0; iVar14 = iVar14 + -1) {\n            *puVar29 = (char)psVar25->st_dev;\n            psVar25 = (stat64 *)((int)psVar25 + (uint)bVar32 * -2 + 1);\n            puVar29 = puVar29 + (uint)bVar32 * -2 + 1;\n          }\n          if (0 < (int)local_908) {\n            sg_get_category_sense_str(local_908,0x50,puVar43,psVar8);\n            pr2serr("Read capacity(10): %s\n",puVar43);\n            pr2serr("Unable to calculate block size\n");\n            goto LAB_00012354;\n          }\n          __snprintf_chk(puVar43,0x50,1,0x50,"error: %d",local_908,local_908,local_908);\n          pr2serr("Read capacity(10): %s\n",puVar43);\n          pr2serr("Unable to calculate block size\n");\n          local_908 = (stat64 *)0xf;\n          goto LAB_00012354;\n        }" if (parenthesized_expression "(local_908 != (stat64 *)0x0)" ( (binary_expression "local_908 != (stat64 *)0x0" identifier != (cast_expression "(stat64 *)0x0" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\nLAB_00013444:\n          puVar43 = local_174 + 0x50;\n          psVar25 = (stat64 *)"OS error";\n          puVar29 = puVar43;\n          for (iVar14 = 9; iVar14 != 0; iVar14 = iVar14 + -1) {\n            *puVar29 = (char)psVar25->st_dev;\n            psVar25 = (stat64 *)((int)psVar25 + (uint)bVar32 * -2 + 1);\n            puVar29 = puVar29 + (uint)bVar32 * -2 + 1;\n          }\n          if (0 < (int)local_908) {\n            sg_get_category_sense_str(local_908,0x50,puVar43,psVar8);\n            pr2serr("Read capacity(10): %s\n",puVar43);\n            pr2serr("Unable to calculate block size\n");\n            goto LAB_00012354;\n          }\n          __snprintf_chk(puVar43,0x50,1,0x50,"error: %d",local_908,local_908,local_908);\n          pr2serr("Read capacity(10): %s\n",puVar43);\n          pr2serr("Unable to calculate block size\n");\n          local_908 = (stat64 *)0xf;\n          goto LAB_00012354;\n        }" { (labeled_statement "LAB_00013444:\n          puVar43 = local_174 + 0x50;" statement_identifier : (expression_statement "puVar43 = local_174 + 0x50;" (assignment_expression "puVar43 = local_174 + 0x50" identifier = (binary_expression "local_174 + 0x50" identifier + number_literal)) ;)) (expression_statement "psVar25 = (stat64 *)"OS error";" (assignment_expression "psVar25 = (stat64 *)"OS error"" identifier = (cast_expression "(stat64 *)"OS error"" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) (string_literal ""OS error"" " string_content "))) ;) (expression_statement "puVar29 = puVar43;" (assignment_expression "puVar29 = puVar43" identifier = identifier) ;) (for_statement "for (iVar14 = 9; iVar14 != 0; iVar14 = iVar14 + -1) {\n            *puVar29 = (char)psVar25->st_dev;\n            psVar25 = (stat64 *)((int)psVar25 + (uint)bVar32 * -2 + 1);\n            puVar29 = puVar29 + (uint)bVar32 * -2 + 1;\n          }" for ( (assignment_expression "iVar14 = 9" identifier = number_literal) ; (binary_expression "iVar14 != 0" identifier != number_literal) ; (assignment_expression "iVar14 = iVar14 + -1" identifier = (binary_expression "iVar14 + -1" identifier + number_literal)) ) (compound_statement "{\n            *puVar29 = (char)psVar25->st_dev;\n            psVar25 = (stat64 *)((int)psVar25 + (uint)bVar32 * -2 + 1);\n            puVar29 = puVar29 + (uint)bVar32 * -2 + 1;\n          }" { (expression_statement "*puVar29 = (char)psVar25->st_dev;" (assignment_expression "*puVar29 = (char)psVar25->st_dev" (pointer_expression "*puVar29" * identifier) = (cast_expression "(char)psVar25->st_dev" ( (type_descriptor "char" primitive_type) ) (field_expression "psVar25->st_dev" identifier -> field_identifier))) ;) (expression_statement "psVar25 = (stat64 *)((int)psVar25 + (uint)bVar32 * -2 + 1);" (assignment_expression "psVar25 = (stat64 *)((int)psVar25 + (uint)bVar32 * -2 + 1)" identifier = (cast_expression "(stat64 *)((int)psVar25 + (uint)bVar32 * -2 + 1)" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)psVar25 + (uint)bVar32 * -2 + 1)" ( (binary_expression "(int)psVar25 + (uint)bVar32 * -2 + 1" (binary_expression "(int)psVar25 + (uint)bVar32 * -2" (cast_expression "(int)psVar25" ( (type_descriptor "int" primitive_type) ) identifier) + (binary_expression "(uint)bVar32 * -2" (cast_expression "(uint)bVar32" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal) )))) ;) (expression_statement "puVar29 = puVar29 + (uint)bVar32 * -2 + 1;" (assignment_expression "puVar29 = puVar29 + (uint)bVar32 * -2 + 1" identifier = (binary_expression "puVar29 + (uint)bVar32 * -2 + 1" (binary_expression "puVar29 + (uint)bVar32 * -2" identifier + (binary_expression "(uint)bVar32 * -2" (cast_expression "(uint)bVar32" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) })) (if_statement "if (0 < (int)local_908) {\n            sg_get_category_sense_str(local_908,0x50,puVar43,psVar8);\n            pr2serr("Read capacity(10): %s\n",puVar43);\n            pr2serr("Unable to calculate block size\n");\n            goto LAB_00012354;\n          }" if (parenthesized_expression "(0 < (int)local_908)" ( (binary_expression "0 < (int)local_908" number_literal < (cast_expression "(int)local_908" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n            sg_get_category_sense_str(local_908,0x50,puVar43,psVar8);\n            pr2serr("Read capacity(10): %s\n",puVar43);\n            pr2serr("Unable to calculate block size\n");\n            goto LAB_00012354;\n          }" { (expression_statement "sg_get_category_sense_str(local_908,0x50,puVar43,psVar8);" (call_expression "sg_get_category_sense_str(local_908,0x50,puVar43,psVar8)" identifier (argument_list "(local_908,0x50,puVar43,psVar8)" ( identifier , number_literal , identifier , identifier ))) ;) (expression_statement "pr2serr("Read capacity(10): %s\n",puVar43);" (call_expression "pr2serr("Read capacity(10): %s\n",puVar43)" identifier (argument_list "("Read capacity(10): %s\n",puVar43)" ( (string_literal ""Read capacity(10): %s\n"" " string_content escape_sequence ") , identifier ))) ;) (expression_statement "pr2serr("Unable to calculate block size\n");" (call_expression "pr2serr("Unable to calculate block size\n")" identifier (argument_list "("Unable to calculate block size\n")" ( (string_literal ""Unable to calculate block size\n"" " string_content escape_sequence ") ))) ;) (goto_statement "goto LAB_00012354;" goto statement_identifier ;) })) (expression_statement "__snprintf_chk(puVar43,0x50,1,0x50,"error: %d",local_908,local_908,local_908);" (call_expression "__snprintf_chk(puVar43,0x50,1,0x50,"error: %d",local_908,local_908,local_908)" identifier (argument_list "(puVar43,0x50,1,0x50,"error: %d",local_908,local_908,local_908)" ( identifier , number_literal , number_literal , number_literal , (string_literal ""error: %d"" " string_content ") , identifier , identifier , identifier ))) ;) (expression_statement "pr2serr("Read capacity(10): %s\n",puVar43);" (call_expression "pr2serr("Read capacity(10): %s\n",puVar43)" identifier (argument_list "("Read capacity(10): %s\n",puVar43)" ( (string_literal ""Read capacity(10): %s\n"" " string_content escape_sequence ") , identifier ))) ;) (expression_statement "pr2serr("Unable to calculate block size\n");" (call_expression "pr2serr("Unable to calculate block size\n")" identifier (argument_list "("Unable to calculate block size\n")" ( (string_literal ""Unable to calculate block size\n"" " string_content escape_sequence ") ))) ;) (expression_statement "local_908 = (stat64 *)0xf;" (assignment_expression "local_908 = (stat64 *)0xf" identifier = (cast_expression "(stat64 *)0xf" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (goto_statement "goto LAB_00012354;" goto statement_identifier ;) })) }) (else_clause "else {\n        psVar25 = psVar22;\n        pr2serr("Read capacity(16) not supported, try Read capacity(10)\n");\n        pcVar15 = (char *)0x1;\n        uVar33 = sg_ll_readcap_10(local_930,0,0,psVar25,8,1,psVar17);\n        psVar22 = (stat64 *)((ulonglong)uVar33 >> 0x20);\n        local_908 = (stat64 *)uVar33;\n        if (local_908 != (stat64 *)0x0) goto LAB_00013444;\n        if (3 < (int)psVar8) {\n          pr2serr("Read capacity(10) response:\n");\n          psVar17 = (stat64 *)0x1;\n          pcVar15 = (char *)0x8;\n          hex2stderr(psVar25,8,1);\n          psVar22 = extraout_EDX_03;\n        }\n      }" else (compound_statement "{\n        psVar25 = psVar22;\n        pr2serr("Read capacity(16) not supported, try Read capacity(10)\n");\n        pcVar15 = (char *)0x1;\n        uVar33 = sg_ll_readcap_10(local_930,0,0,psVar25,8,1,psVar17);\n        psVar22 = (stat64 *)((ulonglong)uVar33 >> 0x20);\n        local_908 = (stat64 *)uVar33;\n        if (local_908 != (stat64 *)0x0) goto LAB_00013444;\n        if (3 < (int)psVar8) {\n          pr2serr("Read capacity(10) response:\n");\n          psVar17 = (stat64 *)0x1;\n          pcVar15 = (char *)0x8;\n          hex2stderr(psVar25,8,1);\n          psVar22 = extraout_EDX_03;\n        }\n      }" { (expression_statement "psVar25 = psVar22;" (assignment_expression "psVar25 = psVar22" identifier = identifier) ;) (expression_statement "pr2serr("Read capacity(16) not supported, try Read capacity(10)\n");" (call_expression "pr2serr("Read capacity(16) not supported, try Read capacity(10)\n")" identifier (argument_list "("Read capacity(16) not supported, try Read capacity(10)\n")" ( (string_literal ""Read capacity(16) not supported, try Read capacity(10)\n"" " string_content escape_sequence ") ))) ;) (expression_statement "pcVar15 = (char *)0x1;" (assignment_expression "pcVar15 = (char *)0x1" identifier = (cast_expression "(char *)0x1" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "uVar33 = sg_ll_readcap_10(local_930,0,0,psVar25,8,1,psVar17);" (assignment_expression "uVar33 = sg_ll_readcap_10(local_930,0,0,psVar25,8,1,psVar17)" identifier = (call_expression "sg_ll_readcap_10(local_930,0,0,psVar25,8,1,psVar17)" identifier (argument_list "(local_930,0,0,psVar25,8,1,psVar17)" ( identifier , number_literal , number_literal , identifier , number_literal , number_literal , identifier )))) ;) (expression_statement "psVar22 = (stat64 *)((ulonglong)uVar33 >> 0x20);" (assignment_expression "psVar22 = (stat64 *)((ulonglong)uVar33 >> 0x20)" identifier = (cast_expression "(stat64 *)((ulonglong)uVar33 >> 0x20)" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((ulonglong)uVar33 >> 0x20)" ( (binary_expression "(ulonglong)uVar33 >> 0x20" (cast_expression "(ulonglong)uVar33" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) )))) ;) (expression_statement "local_908 = (stat64 *)uVar33;" (assignment_expression "local_908 = (stat64 *)uVar33" identifier = (cast_expression "(stat64 *)uVar33" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (if_statement "if (local_908 != (stat64 *)0x0) goto LAB_00013444;" if (parenthesized_expression "(local_908 != (stat64 *)0x0)" ( (binary_expression "local_908 != (stat64 *)0x0" identifier != (cast_expression "(stat64 *)0x0" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_00013444;" goto statement_identifier ;)) (if_statement "if (3 < (int)psVar8) {\n          pr2serr("Read capacity(10) response:\n");\n          psVar17 = (stat64 *)0x1;\n          pcVar15 = (char *)0x8;\n          hex2stderr(psVar25,8,1);\n          psVar22 = extraout_EDX_03;\n        }" if (parenthesized_expression "(3 < (int)psVar8)" ( (binary_expression "3 < (int)psVar8" number_literal < (cast_expression "(int)psVar8" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n          pr2serr("Read capacity(10) response:\n");\n          psVar17 = (stat64 *)0x1;\n          pcVar15 = (char *)0x8;\n          hex2stderr(psVar25,8,1);\n          psVar22 = extraout_EDX_03;\n        }" { (expression_statement "pr2serr("Read capacity(10) response:\n");" (call_expression "pr2serr("Read capacity(10) response:\n")" identifier (argument_list "("Read capacity(10) response:\n")" ( (string_literal ""Read capacity(10) response:\n"" " string_content escape_sequence ") ))) ;) (expression_statement "psVar17 = (stat64 *)0x1;" (assignment_expression "psVar17 = (stat64 *)0x1" identifier = (cast_expression "(stat64 *)0x1" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "pcVar15 = (char *)0x8;" (assignment_expression "pcVar15 = (char *)0x8" identifier = (cast_expression "(char *)0x8" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "hex2stderr(psVar25,8,1);" (call_expression "hex2stderr(psVar25,8,1)" identifier (argument_list "(psVar25,8,1)" ( identifier , number_literal , number_literal ))) ;) (expression_statement "psVar22 = extraout_EDX_03;" (assignment_expression "psVar22 = extraout_EDX_03" identifier = identifier) ;) })) }))) (expression_statement "local_7a8 = 0;" (assignment_expression "local_7a8 = 0" identifier = number_literal) ;) (expression_statement "local_7ac = ((uint)local_174._0_4_ >> 0x18 | (local_174._0_4_ & 0xff0000) >> 8 |\n                   (local_174._0_4_ & 0xff00) << 8 | local_174._0_4_ << 0x18) + 1;" (assignment_expression "local_7ac = ((uint)local_174._0_4_ >> 0x18 | (local_174._0_4_ & 0xff0000) >> 8 |\n                   (local_174._0_4_ & 0xff00) << 8 | local_174._0_4_ << 0x18) + 1" identifier = (binary_expression "((uint)local_174._0_4_ >> 0x18 | (local_174._0_4_ & 0xff0000) >> 8 |\n                   (local_174._0_4_ & 0xff00) << 8 | local_174._0_4_ << 0x18) + 1" (parenthesized_expression "((uint)local_174._0_4_ >> 0x18 | (local_174._0_4_ & 0xff0000) >> 8 |\n                   (local_174._0_4_ & 0xff00) << 8 | local_174._0_4_ << 0x18)" ( (binary_expression "(uint)local_174._0_4_ >> 0x18 | (local_174._0_4_ & 0xff0000) >> 8 |\n                   (local_174._0_4_ & 0xff00) << 8 | local_174._0_4_ << 0x18" (binary_expression "(uint)local_174._0_4_ >> 0x18 | (local_174._0_4_ & 0xff0000) >> 8 |\n                   (local_174._0_4_ & 0xff00) << 8" (binary_expression "(uint)local_174._0_4_ >> 0x18 | (local_174._0_4_ & 0xff0000) >> 8" (binary_expression "(uint)local_174._0_4_ >> 0x18" (cast_expression "(uint)local_174._0_4_" ( (type_descriptor "uint" type_identifier) ) (field_expression "local_174._0_4_" identifier . field_identifier)) >> number_literal) | (binary_expression "(local_174._0_4_ & 0xff0000) >> 8" (parenthesized_expression "(local_174._0_4_ & 0xff0000)" ( (binary_expression "local_174._0_4_ & 0xff0000" (field_expression "local_174._0_4_" identifier . field_identifier) & number_literal) )) >> number_literal)) | (binary_expression "(local_174._0_4_ & 0xff00) << 8" (parenthesized_expression "(local_174._0_4_ & 0xff00)" ( (binary_expression "local_174._0_4_ & 0xff00" (field_expression "local_174._0_4_" identifier . field_identifier) & number_literal) )) << number_literal)) | (binary_expression "local_174._0_4_ << 0x18" (field_expression "local_174._0_4_" identifier . field_identifier) << number_literal)) )) + number_literal)) ;) (expression_statement "local_7d8 = (stat64 *)\n                  ((uint)local_174._4_4_ >> 0x18 | (local_174._4_4_ & 0xff0000) >> 8 |\n                   (local_174._4_4_ & 0xff00) << 8 | local_174._4_4_ << 0x18);" (assignment_expression "local_7d8 = (stat64 *)\n                  ((uint)local_174._4_4_ >> 0x18 | (local_174._4_4_ & 0xff0000) >> 8 |\n                   (local_174._4_4_ & 0xff00) << 8 | local_174._4_4_ << 0x18)" identifier = (cast_expression "(stat64 *)\n                  ((uint)local_174._4_4_ >> 0x18 | (local_174._4_4_ & 0xff0000) >> 8 |\n                   (local_174._4_4_ & 0xff00) << 8 | local_174._4_4_ << 0x18)" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((uint)local_174._4_4_ >> 0x18 | (local_174._4_4_ & 0xff0000) >> 8 |\n                   (local_174._4_4_ & 0xff00) << 8 | local_174._4_4_ << 0x18)" ( (binary_expression "(uint)local_174._4_4_ >> 0x18 | (local_174._4_4_ & 0xff0000) >> 8 |\n                   (local_174._4_4_ & 0xff00) << 8 | local_174._4_4_ << 0x18" (binary_expression "(uint)local_174._4_4_ >> 0x18 | (local_174._4_4_ & 0xff0000) >> 8 |\n                   (local_174._4_4_ & 0xff00) << 8" (binary_expression "(uint)local_174._4_4_ >> 0x18 | (local_174._4_4_ & 0xff0000) >> 8" (binary_expression "(uint)local_174._4_4_ >> 0x18" (cast_expression "(uint)local_174._4_4_" ( (type_descriptor "uint" type_identifier) ) (field_expression "local_174._4_4_" identifier . field_identifier)) >> number_literal) | (binary_expression "(local_174._4_4_ & 0xff0000) >> 8" (parenthesized_expression "(local_174._4_4_ & 0xff0000)" ( (binary_expression "local_174._4_4_ & 0xff0000" (field_expression "local_174._4_4_" identifier . field_identifier) & number_literal) )) >> number_literal)) | (binary_expression "(local_174._4_4_ & 0xff00) << 8" (parenthesized_expression "(local_174._4_4_ & 0xff00)" ( (binary_expression "local_174._4_4_ & 0xff00" (field_expression "local_174._4_4_" identifier . field_identifier) & number_literal) )) << number_literal)) | (binary_expression "local_174._4_4_ << 0x18" (field_expression "local_174._4_4_" identifier . field_identifier) << number_literal)) )))) ;) }))) (labeled_statement "LAB_00012312:\n    local_7d4 = local_7d8;" statement_identifier : (expression_statement "local_7d4 = local_7d8;" (assignment_expression "local_7d4 = local_7d8" identifier = identifier) ;)) (if_statement "if (local_813 != '\0') {\n      local_7d4 = (stat64 *)&local_7d8->__pad1;\n    }" if (parenthesized_expression "(local_813 != '\0')" ( (binary_expression "local_813 != '\0'" identifier != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n      local_7d4 = (stat64 *)&local_7d8->__pad1;\n    }" { (expression_statement "local_7d4 = (stat64 *)&local_7d8->__pad1;" (assignment_expression "local_7d4 = (stat64 *)&local_7d8->__pad1" identifier = (cast_expression "(stat64 *)&local_7d8->__pad1" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&local_7d8->__pad1" & (field_expression "local_7d8->__pad1" identifier -> field_identifier)))) ;) })) (expression_statement "psVar8 = local_7d4;" (assignment_expression "psVar8 = local_7d4" identifier = identifier) ;) (expression_statement "psVar11 = local_7d8;" (assignment_expression "psVar11 = local_7d8" identifier = identifier) ;) (if_statement "if (local_7d4 == (stat64 *)0x0) goto LAB_00012338;" if (parenthesized_expression "(local_7d4 == (stat64 *)0x0)" ( (binary_expression "local_7d4 == (stat64 *)0x0" identifier == (cast_expression "(stat64 *)0x0" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_00012338;" goto statement_identifier ;)) })) (expression_statement "local_7d4 = psVar8;" (assignment_expression "local_7d4 = psVar8" identifier = identifier) ;) (if_statement "if (psVar11 == (stat64 *)0x0) {\nLAB_00012338:\n    pr2serr("Logic error, need block size by now\n",pcVar15,psVar17);\n    local_908 = (stat64 *)0x1;\n    goto LAB_00012354;\n  }" if (parenthesized_expression "(psVar11 == (stat64 *)0x0)" ( (binary_expression "psVar11 == (stat64 *)0x0" identifier == (cast_expression "(stat64 *)0x0" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\nLAB_00012338:\n    pr2serr("Logic error, need block size by now\n",pcVar15,psVar17);\n    local_908 = (stat64 *)0x1;\n    goto LAB_00012354;\n  }" { (labeled_statement "LAB_00012338:\n    pr2serr("Logic error, need block size by now\n",pcVar15,psVar17);" statement_identifier : (expression_statement "pr2serr("Logic error, need block size by now\n",pcVar15,psVar17);" (call_expression "pr2serr("Logic error, need block size by now\n",pcVar15,psVar17)" identifier (argument_list "("Logic error, need block size by now\n",pcVar15,psVar17)" ( (string_literal ""Logic error, need block size by now\n"" " string_content escape_sequence ") , identifier , identifier ))) ;)) (expression_statement "local_908 = (stat64 *)0x1;" (assignment_expression "local_908 = (stat64 *)0x1" identifier = (cast_expression "(stat64 *)0x1" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (goto_statement "goto LAB_00012354;" goto statement_identifier ;) })) (if_statement "if ((local_810 == 0) &&\n     (psVar22 = (stat64 *)((uint)local_93c % (uint)psVar8), psVar22 != (stat64 *)0x0)) {\n    if (1 < (int)local_7f8) {\n      pr2serr("Error: number of bytes to read from IF [%u] is not a multiple\nblock size %u (including protection information)\n"\n              ,local_93c,psVar8,local_7f8);\n      local_908 = (stat64 *)0xf;\n      goto LAB_00012354;\n    }\n    psVar11 = (stat64 *)(local_7f8 | (uint)psVar38);\n    if (psVar11 != (stat64 *)0x0) {\n      pcVar15 = (char *)local_93c;\n      pr2serr("Warning: number of bytes to read from IF [%u] is not a multiple\nof actual block size %u; pad with zeros\n"\n              ,local_93c,psVar8,psVar11);\n      psVar22 = extraout_EDX_02;\n      psVar17 = psVar8;\n      psVar9 = psVar11;\n    }\n  }" if (parenthesized_expression "((local_810 == 0) &&\n     (psVar22 = (stat64 *)((uint)local_93c % (uint)psVar8), psVar22 != (stat64 *)0x0))" ( (binary_expression "(local_810 == 0) &&\n     (psVar22 = (stat64 *)((uint)local_93c % (uint)psVar8), psVar22 != (stat64 *)0x0)" (parenthesized_expression "(local_810 == 0)" ( (binary_expression "local_810 == 0" identifier == number_literal) )) && (parenthesized_expression "(psVar22 = (stat64 *)((uint)local_93c % (uint)psVar8), psVar22 != (stat64 *)0x0)" ( (comma_expression "psVar22 = (stat64 *)((uint)local_93c % (uint)psVar8), psVar22 != (stat64 *)0x0" (assignment_expression "psVar22 = (stat64 *)((uint)local_93c % (uint)psVar8)" identifier = (cast_expression "(stat64 *)((uint)local_93c % (uint)psVar8)" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((uint)local_93c % (uint)psVar8)" ( (binary_expression "(uint)local_93c % (uint)psVar8" (cast_expression "(uint)local_93c" ( (type_descriptor "uint" type_identifier) ) identifier) % (cast_expression "(uint)psVar8" ( (type_descriptor "uint" type_identifier) ) identifier)) )))) , (binary_expression "psVar22 != (stat64 *)0x0" identifier != (cast_expression "(stat64 *)0x0" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal))) ))) )) (compound_statement "{\n    if (1 < (int)local_7f8) {\n      pr2serr("Error: number of bytes to read from IF [%u] is not a multiple\nblock size %u (including protection information)\n"\n              ,local_93c,psVar8,local_7f8);\n      local_908 = (stat64 *)0xf;\n      goto LAB_00012354;\n    }\n    psVar11 = (stat64 *)(local_7f8 | (uint)psVar38);\n    if (psVar11 != (stat64 *)0x0) {\n      pcVar15 = (char *)local_93c;\n      pr2serr("Warning: number of bytes to read from IF [%u] is not a multiple\nof actual block size %u; pad with zeros\n"\n              ,local_93c,psVar8,psVar11);\n      psVar22 = extraout_EDX_02;\n      psVar17 = psVar8;\n      psVar9 = psVar11;\n    }\n  }" { (if_statement "if (1 < (int)local_7f8) {\n      pr2serr("Error: number of bytes to read from IF [%u] is not a multiple\nblock size %u (including protection information)\n"\n              ,local_93c,psVar8,local_7f8);\n      local_908 = (stat64 *)0xf;\n      goto LAB_00012354;\n    }" if (parenthesized_expression "(1 < (int)local_7f8)" ( (binary_expression "1 < (int)local_7f8" number_literal < (cast_expression "(int)local_7f8" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n      pr2serr("Error: number of bytes to read from IF [%u] is not a multiple\nblock size %u (including protection information)\n"\n              ,local_93c,psVar8,local_7f8);\n      local_908 = (stat64 *)0xf;\n      goto LAB_00012354;\n    }" { (expression_statement "pr2serr("Error: number of bytes to read from IF [%u] is not a multiple\nblock size %u (including protection information)\n"\n              ,local_93c,psVar8,local_7f8);" (call_expression "pr2serr("Error: number of bytes to read from IF [%u] is not a multiple\nblock size %u (including protection information)\n"\n              ,local_93c,psVar8,local_7f8)" identifier (argument_list "("Error: number of bytes to read from IF [%u] is not a multiple\nblock size %u (including protection information)\n"\n              ,local_93c,psVar8,local_7f8)" ( (string_literal ""Error: number of bytes to read from IF [%u] is not a multiple\nblock size %u (including protection information)\n"" " string_content escape_sequence string_content escape_sequence ") , identifier , identifier , identifier ))) ;) (expression_statement "local_908 = (stat64 *)0xf;" (assignment_expression "local_908 = (stat64 *)0xf" identifier = (cast_expression "(stat64 *)0xf" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (goto_statement "goto LAB_00012354;" goto statement_identifier ;) })) (expression_statement "psVar11 = (stat64 *)(local_7f8 | (uint)psVar38);" (assignment_expression "psVar11 = (stat64 *)(local_7f8 | (uint)psVar38)" identifier = (cast_expression "(stat64 *)(local_7f8 | (uint)psVar38)" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_7f8 | (uint)psVar38)" ( (binary_expression "local_7f8 | (uint)psVar38" identifier | (cast_expression "(uint)psVar38" ( (type_descriptor "uint" type_identifier) ) identifier)) )))) ;) (if_statement "if (psVar11 != (stat64 *)0x0) {\n      pcVar15 = (char *)local_93c;\n      pr2serr("Warning: number of bytes to read from IF [%u] is not a multiple\nof actual block size %u; pad with zeros\n"\n              ,local_93c,psVar8,psVar11);\n      psVar22 = extraout_EDX_02;\n      psVar17 = psVar8;\n      psVar9 = psVar11;\n    }" if (parenthesized_expression "(psVar11 != (stat64 *)0x0)" ( (binary_expression "psVar11 != (stat64 *)0x0" identifier != (cast_expression "(stat64 *)0x0" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      pcVar15 = (char *)local_93c;\n      pr2serr("Warning: number of bytes to read from IF [%u] is not a multiple\nof actual block size %u; pad with zeros\n"\n              ,local_93c,psVar8,psVar11);\n      psVar22 = extraout_EDX_02;\n      psVar17 = psVar8;\n      psVar9 = psVar11;\n    }" { (expression_statement "pcVar15 = (char *)local_93c;" (assignment_expression "pcVar15 = (char *)local_93c" identifier = (cast_expression "(char *)local_93c" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "pr2serr("Warning: number of bytes to read from IF [%u] is not a multiple\nof actual block size %u; pad with zeros\n"\n              ,local_93c,psVar8,psVar11);" (call_expression "pr2serr("Warning: number of bytes to read from IF [%u] is not a multiple\nof actual block size %u; pad with zeros\n"\n              ,local_93c,psVar8,psVar11)" identifier (argument_list "("Warning: number of bytes to read from IF [%u] is not a multiple\nof actual block size %u; pad with zeros\n"\n              ,local_93c,psVar8,psVar11)" ( (string_literal ""Warning: number of bytes to read from IF [%u] is not a multiple\nof actual block size %u; pad with zeros\n"" " string_content escape_sequence string_content escape_sequence ") , identifier , identifier , identifier ))) ;) (expression_statement "psVar22 = extraout_EDX_02;" (assignment_expression "psVar22 = extraout_EDX_02" identifier = identifier) ;) (expression_statement "psVar17 = psVar8;" (assignment_expression "psVar17 = psVar8" identifier = identifier) ;) (expression_statement "psVar9 = psVar11;" (assignment_expression "psVar9 = psVar11" identifier = identifier) ;) })) })) (expression_statement "puVar42 = &local_578;" (assignment_expression "puVar42 = &local_578" identifier = (pointer_expression "&local_578" & identifier)) ;) (expression_statement "puVar26 = puVar42;" (assignment_expression "puVar26 = puVar42" identifier = identifier) ;) (for_statement "for (iVar14 = 0x100; iVar14 != 0; iVar14 = iVar14 + -1) {\n    *puVar26 = 0;\n    puVar26 = puVar26 + (uint)bVar32 * -2 + 1;\n  }" for ( (assignment_expression "iVar14 = 0x100" identifier = number_literal) ; (binary_expression "iVar14 != 0" identifier != number_literal) ; (assignment_expression "iVar14 = iVar14 + -1" identifier = (binary_expression "iVar14 + -1" identifier + number_literal)) ) (compound_statement "{\n    *puVar26 = 0;\n    puVar26 = puVar26 + (uint)bVar32 * -2 + 1;\n  }" { (expression_statement "*puVar26 = 0;" (assignment_expression "*puVar26 = 0" (pointer_expression "*puVar26" * identifier) = number_literal) ;) (expression_statement "puVar26 = puVar26 + (uint)bVar32 * -2 + 1;" (assignment_expression "puVar26 = puVar26 + (uint)bVar32 * -2 + 1" identifier = (binary_expression "puVar26 + (uint)bVar32 * -2 + 1" (binary_expression "puVar26 + (uint)bVar32 * -2" identifier + (binary_expression "(uint)bVar32 * -2" (cast_expression "(uint)bVar32" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) })) (expression_statement "ppsVar44 = local_778;" (assignment_expression "ppsVar44 = local_778" identifier = identifier) ;) (expression_statement "ppsVar27 = ppsVar44;" (assignment_expression "ppsVar27 = ppsVar44" identifier = identifier) ;) (for_statement "for (iVar14 = 0x80; iVar14 != 0; iVar14 = iVar14 + -1) {\n    *ppsVar27 = (stat64 *)0x0;\n    ppsVar27 = ppsVar27 + (uint)bVar32 * -2 + 1;\n  }" for ( (assignment_expression "iVar14 = 0x80" identifier = number_literal) ; (binary_expression "iVar14 != 0" identifier != number_literal) ; (assignment_expression "iVar14 = iVar14 + -1" identifier = (binary_expression "iVar14 + -1" identifier + number_literal)) ) (compound_statement "{\n    *ppsVar27 = (stat64 *)0x0;\n    ppsVar27 = ppsVar27 + (uint)bVar32 * -2 + 1;\n  }" { (expression_statement "*ppsVar27 = (stat64 *)0x0;" (assignment_expression "*ppsVar27 = (stat64 *)0x0" (pointer_expression "*ppsVar27" * identifier) = (cast_expression "(stat64 *)0x0" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "ppsVar27 = ppsVar27 + (uint)bVar32 * -2 + 1;" (assignment_expression "ppsVar27 = ppsVar27 + (uint)bVar32 * -2 + 1" identifier = (binary_expression "ppsVar27 + (uint)bVar32 * -2 + 1" (binary_expression "ppsVar27 + (uint)bVar32 * -2" identifier + (binary_expression "(uint)bVar32 * -2" (cast_expression "(uint)bVar32" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) })) (if_statement "if (bVar31) {\n    uVar7 = 0xffffffff;\n    psVar22 = local_91c;\n    do {\n      if (uVar7 == 0) break;\n      uVar7 = uVar7 - 1;\n      p_Var3 = &psVar22->st_dev;\n      psVar22 = (stat64 *)((int)psVar22 + (uint)bVar32 * -2 + 1);\n    } while ((char)*p_Var3 != '\0');\n    psVar25 = (stat64 *)(~uVar7 - 1);\n    if ((char)local_91c->st_dev == '-') {\n      pr2serr("\'--lba\' cannot be read from stdin\n",pcVar15,psVar17,psVar9);\n      goto LAB_00012130;\n    }\n    pcVar15 = "0123456789aAbBcCdDeEfFhHxXiIkKmMgGtTpP, ";\n    psVar17 = local_91c;\n    psVar9 = local_91c;\n    psVar8 = (stat64 *)strspn((char *)local_91c,"0123456789aAbBcCdDeEfFhHxXiIkKmMgGtTpP, ");\n    psVar22 = psVar25;\n    if (psVar25 == psVar8) {\n      psVar22 = (stat64 *)0x0;\n      psVar25 = local_91c;\n      while( true ) {\n        lVar34 = sg_get_llnum(psVar25,pcVar15,psVar17,psVar9);\n        psVar17 = (stat64 *)lVar34;\n        if (lVar34 == -1) break;\n        puVar42[(int)psVar22 * 2] = (uint)psVar17;\n        puVar42[(int)psVar22 * 2 + 1] = (uint)((ulonglong)lVar34 >> 0x20);\n        psVar9 = psVar17;\n        pcVar12 = strchr((char *)psVar25,0x2c);\n        pcVar15 = (char *)0x20;\n        pcVar13 = strchr((char *)psVar25,0x20);\n        if (pcVar12 == (char *)0x0) {\n          if (pcVar13 == (char *)0x0) {\n            local_91c = (stat64 *)((int)&psVar22->st_dev + 1);\n            if (local_93f != '\0') goto LAB_000126fa;\n            psVar22 = (stat64 *)0x0;\n            psVar17 = extraout_ECX;\n            if (local_91c != (stat64 *)0x1) goto LAB_00012a73;\n            goto LAB_00012820;\n          }\n        }\n        else if ((pcVar13 == (char *)0x0) || (pcVar12 <= pcVar13)) {\n          pcVar13 = pcVar12;\n        }\n        psVar22 = (stat64 *)((int)&psVar22->st_dev + 1);\n        psVar25 = (stat64 *)(pcVar13 + 1);\n        if (psVar22 == (stat64 *)0x80) goto LAB_00013b9f;\n      }\n      psVar8 = (stat64 *)((int)psVar25 - (int)local_91c);\n    }\n    pr2serr("build_lba_arr: error at pos %d\n",(undefined *)((int)&psVar8->st_dev + 1),psVar22,\n            psVar22);\n    goto LAB_00012130;\n  }" if (parenthesized_expression "(bVar31)" ( identifier )) (compound_statement "{\n    uVar7 = 0xffffffff;\n    psVar22 = local_91c;\n    do {\n      if (uVar7 == 0) break;\n      uVar7 = uVar7 - 1;\n      p_Var3 = &psVar22->st_dev;\n      psVar22 = (stat64 *)((int)psVar22 + (uint)bVar32 * -2 + 1);\n    } while ((char)*p_Var3 != '\0');\n    psVar25 = (stat64 *)(~uVar7 - 1);\n    if ((char)local_91c->st_dev == '-') {\n      pr2serr("\'--lba\' cannot be read from stdin\n",pcVar15,psVar17,psVar9);\n      goto LAB_00012130;\n    }\n    pcVar15 = "0123456789aAbBcCdDeEfFhHxXiIkKmMgGtTpP, ";\n    psVar17 = local_91c;\n    psVar9 = local_91c;\n    psVar8 = (stat64 *)strspn((char *)local_91c,"0123456789aAbBcCdDeEfFhHxXiIkKmMgGtTpP, ");\n    psVar22 = psVar25;\n    if (psVar25 == psVar8) {\n      psVar22 = (stat64 *)0x0;\n      psVar25 = local_91c;\n      while( true ) {\n        lVar34 = sg_get_llnum(psVar25,pcVar15,psVar17,psVar9);\n        psVar17 = (stat64 *)lVar34;\n        if (lVar34 == -1) break;\n        puVar42[(int)psVar22 * 2] = (uint)psVar17;\n        puVar42[(int)psVar22 * 2 + 1] = (uint)((ulonglong)lVar34 >> 0x20);\n        psVar9 = psVar17;\n        pcVar12 = strchr((char *)psVar25,0x2c);\n        pcVar15 = (char *)0x20;\n        pcVar13 = strchr((char *)psVar25,0x20);\n        if (pcVar12 == (char *)0x0) {\n          if (pcVar13 == (char *)0x0) {\n            local_91c = (stat64 *)((int)&psVar22->st_dev + 1);\n            if (local_93f != '\0') goto LAB_000126fa;\n            psVar22 = (stat64 *)0x0;\n            psVar17 = extraout_ECX;\n            if (local_91c != (stat64 *)0x1) goto LAB_00012a73;\n            goto LAB_00012820;\n          }\n        }\n        else if ((pcVar13 == (char *)0x0) || (pcVar12 <= pcVar13)) {\n          pcVar13 = pcVar12;\n        }\n        psVar22 = (stat64 *)((int)&psVar22->st_dev + 1);\n        psVar25 = (stat64 *)(pcVar13 + 1);\n        if (psVar22 == (stat64 *)0x80) goto LAB_00013b9f;\n      }\n      psVar8 = (stat64 *)((int)psVar25 - (int)local_91c);\n    }\n    pr2serr("build_lba_arr: error at pos %d\n",(undefined *)((int)&psVar8->st_dev + 1),psVar22,\n            psVar22);\n    goto LAB_00012130;\n  }" { (expression_statement "uVar7 = 0xffffffff;" (assignment_expression "uVar7 = 0xffffffff" identifier = number_literal) ;) (expression_statement "psVar22 = local_91c;" (assignment_expression "psVar22 = local_91c" identifier = identifier) ;) (do_statement "do {\n      if (uVar7 == 0) break;\n      uVar7 = uVar7 - 1;\n      p_Var3 = &psVar22->st_dev;\n      psVar22 = (stat64 *)((int)psVar22 + (uint)bVar32 * -2 + 1);\n    } while ((char)*p_Var3 != '\0');" do (compound_statement "{\n      if (uVar7 == 0) break;\n      uVar7 = uVar7 - 1;\n      p_Var3 = &psVar22->st_dev;\n      psVar22 = (stat64 *)((int)psVar22 + (uint)bVar32 * -2 + 1);\n    }" { (if_statement "if (uVar7 == 0) break;" if (parenthesized_expression "(uVar7 == 0)" ( (binary_expression "uVar7 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "uVar7 = uVar7 - 1;" (assignment_expression "uVar7 = uVar7 - 1" identifier = (binary_expression "uVar7 - 1" identifier - number_literal)) ;) (expression_statement "p_Var3 = &psVar22->st_dev;" (assignment_expression "p_Var3 = &psVar22->st_dev" identifier = (pointer_expression "&psVar22->st_dev" & (field_expression "psVar22->st_dev" identifier -> field_identifier))) ;) (expression_statement "psVar22 = (stat64 *)((int)psVar22 + (uint)bVar32 * -2 + 1);" (assignment_expression "psVar22 = (stat64 *)((int)psVar22 + (uint)bVar32 * -2 + 1)" identifier = (cast_expression "(stat64 *)((int)psVar22 + (uint)bVar32 * -2 + 1)" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)psVar22 + (uint)bVar32 * -2 + 1)" ( (binary_expression "(int)psVar22 + (uint)bVar32 * -2 + 1" (binary_expression "(int)psVar22 + (uint)bVar32 * -2" (cast_expression "(int)psVar22" ( (type_descriptor "int" primitive_type) ) identifier) + (binary_expression "(uint)bVar32 * -2" (cast_expression "(uint)bVar32" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal) )))) ;) }) while (parenthesized_expression "((char)*p_Var3 != '\0')" ( (binary_expression "(char)*p_Var3 != '\0'" (cast_expression "(char)*p_Var3" ( (type_descriptor "char" primitive_type) ) (pointer_expression "*p_Var3" * identifier)) != (char_literal "'\0'" ' escape_sequence ')) )) ;) (expression_statement "psVar25 = (stat64 *)(~uVar7 - 1);" (assignment_expression "psVar25 = (stat64 *)(~uVar7 - 1)" identifier = (cast_expression "(stat64 *)(~uVar7 - 1)" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(~uVar7 - 1)" ( (binary_expression "~uVar7 - 1" (unary_expression "~uVar7" ~ identifier) - number_literal) )))) ;) (if_statement "if ((char)local_91c->st_dev == '-') {\n      pr2serr("\'--lba\' cannot be read from stdin\n",pcVar15,psVar17,psVar9);\n      goto LAB_00012130;\n    }" if (parenthesized_expression "((char)local_91c->st_dev == '-')" ( (binary_expression "(char)local_91c->st_dev == '-'" (cast_expression "(char)local_91c->st_dev" ( (type_descriptor "char" primitive_type) ) (field_expression "local_91c->st_dev" identifier -> field_identifier)) == (char_literal "'-'" ' character ')) )) (compound_statement "{\n      pr2serr("\'--lba\' cannot be read from stdin\n",pcVar15,psVar17,psVar9);\n      goto LAB_00012130;\n    }" { (expression_statement "pr2serr("\'--lba\' cannot be read from stdin\n",pcVar15,psVar17,psVar9);" (call_expression "pr2serr("\'--lba\' cannot be read from stdin\n",pcVar15,psVar17,psVar9)" identifier (argument_list "("\'--lba\' cannot be read from stdin\n",pcVar15,psVar17,psVar9)" ( (string_literal ""\'--lba\' cannot be read from stdin\n"" " escape_sequence string_content escape_sequence string_content escape_sequence ") , identifier , identifier , identifier ))) ;) (goto_statement "goto LAB_00012130;" goto statement_identifier ;) })) (expression_statement "pcVar15 = "0123456789aAbBcCdDeEfFhHxXiIkKmMgGtTpP, ";" (assignment_expression "pcVar15 = "0123456789aAbBcCdDeEfFhHxXiIkKmMgGtTpP, "" identifier = (string_literal ""0123456789aAbBcCdDeEfFhHxXiIkKmMgGtTpP, "" " string_content ")) ;) (expression_statement "psVar17 = local_91c;" (assignment_expression "psVar17 = local_91c" identifier = identifier) ;) (expression_statement "psVar9 = local_91c;" (assignment_expression "psVar9 = local_91c" identifier = identifier) ;) (expression_statement "psVar8 = (stat64 *)strspn((char *)local_91c,"0123456789aAbBcCdDeEfFhHxXiIkKmMgGtTpP, ");" (assignment_expression "psVar8 = (stat64 *)strspn((char *)local_91c,"0123456789aAbBcCdDeEfFhHxXiIkKmMgGtTpP, ")" identifier = (cast_expression "(stat64 *)strspn((char *)local_91c,"0123456789aAbBcCdDeEfFhHxXiIkKmMgGtTpP, ")" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "strspn((char *)local_91c,"0123456789aAbBcCdDeEfFhHxXiIkKmMgGtTpP, ")" identifier (argument_list "((char *)local_91c,"0123456789aAbBcCdDeEfFhHxXiIkKmMgGtTpP, ")" ( (cast_expression "(char *)local_91c" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) , (string_literal ""0123456789aAbBcCdDeEfFhHxXiIkKmMgGtTpP, "" " string_content ") ))))) ;) (expression_statement "psVar22 = psVar25;" (assignment_expression "psVar22 = psVar25" identifier = identifier) ;) (if_statement "if (psVar25 == psVar8) {\n      psVar22 = (stat64 *)0x0;\n      psVar25 = local_91c;\n      while( true ) {\n        lVar34 = sg_get_llnum(psVar25,pcVar15,psVar17,psVar9);\n        psVar17 = (stat64 *)lVar34;\n        if (lVar34 == -1) break;\n        puVar42[(int)psVar22 * 2] = (uint)psVar17;\n        puVar42[(int)psVar22 * 2 + 1] = (uint)((ulonglong)lVar34 >> 0x20);\n        psVar9 = psVar17;\n        pcVar12 = strchr((char *)psVar25,0x2c);\n        pcVar15 = (char *)0x20;\n        pcVar13 = strchr((char *)psVar25,0x20);\n        if (pcVar12 == (char *)0x0) {\n          if (pcVar13 == (char *)0x0) {\n            local_91c = (stat64 *)((int)&psVar22->st_dev + 1);\n            if (local_93f != '\0') goto LAB_000126fa;\n            psVar22 = (stat64 *)0x0;\n            psVar17 = extraout_ECX;\n            if (local_91c != (stat64 *)0x1) goto LAB_00012a73;\n            goto LAB_00012820;\n          }\n        }\n        else if ((pcVar13 == (char *)0x0) || (pcVar12 <= pcVar13)) {\n          pcVar13 = pcVar12;\n        }\n        psVar22 = (stat64 *)((int)&psVar22->st_dev + 1);\n        psVar25 = (stat64 *)(pcVar13 + 1);\n        if (psVar22 == (stat64 *)0x80) goto LAB_00013b9f;\n      }\n      psVar8 = (stat64 *)((int)psVar25 - (int)local_91c);\n    }" if (parenthesized_expression "(psVar25 == psVar8)" ( (binary_expression "psVar25 == psVar8" identifier == identifier) )) (compound_statement "{\n      psVar22 = (stat64 *)0x0;\n      psVar25 = local_91c;\n      while( true ) {\n        lVar34 = sg_get_llnum(psVar25,pcVar15,psVar17,psVar9);\n        psVar17 = (stat64 *)lVar34;\n        if (lVar34 == -1) break;\n        puVar42[(int)psVar22 * 2] = (uint)psVar17;\n        puVar42[(int)psVar22 * 2 + 1] = (uint)((ulonglong)lVar34 >> 0x20);\n        psVar9 = psVar17;\n        pcVar12 = strchr((char *)psVar25,0x2c);\n        pcVar15 = (char *)0x20;\n        pcVar13 = strchr((char *)psVar25,0x20);\n        if (pcVar12 == (char *)0x0) {\n          if (pcVar13 == (char *)0x0) {\n            local_91c = (stat64 *)((int)&psVar22->st_dev + 1);\n            if (local_93f != '\0') goto LAB_000126fa;\n            psVar22 = (stat64 *)0x0;\n            psVar17 = extraout_ECX;\n            if (local_91c != (stat64 *)0x1) goto LAB_00012a73;\n            goto LAB_00012820;\n          }\n        }\n        else if ((pcVar13 == (char *)0x0) || (pcVar12 <= pcVar13)) {\n          pcVar13 = pcVar12;\n        }\n        psVar22 = (stat64 *)((int)&psVar22->st_dev + 1);\n        psVar25 = (stat64 *)(pcVar13 + 1);\n        if (psVar22 == (stat64 *)0x80) goto LAB_00013b9f;\n      }\n      psVar8 = (stat64 *)((int)psVar25 - (int)local_91c);\n    }" { (expression_statement "psVar22 = (stat64 *)0x0;" (assignment_expression "psVar22 = (stat64 *)0x0" identifier = (cast_expression "(stat64 *)0x0" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "psVar25 = local_91c;" (assignment_expression "psVar25 = local_91c" identifier = identifier) ;) (while_statement "while( true ) {\n        lVar34 = sg_get_llnum(psVar25,pcVar15,psVar17,psVar9);\n        psVar17 = (stat64 *)lVar34;\n        if (lVar34 == -1) break;\n        puVar42[(int)psVar22 * 2] = (uint)psVar17;\n        puVar42[(int)psVar22 * 2 + 1] = (uint)((ulonglong)lVar34 >> 0x20);\n        psVar9 = psVar17;\n        pcVar12 = strchr((char *)psVar25,0x2c);\n        pcVar15 = (char *)0x20;\n        pcVar13 = strchr((char *)psVar25,0x20);\n        if (pcVar12 == (char *)0x0) {\n          if (pcVar13 == (char *)0x0) {\n            local_91c = (stat64 *)((int)&psVar22->st_dev + 1);\n            if (local_93f != '\0') goto LAB_000126fa;\n            psVar22 = (stat64 *)0x0;\n            psVar17 = extraout_ECX;\n            if (local_91c != (stat64 *)0x1) goto LAB_00012a73;\n            goto LAB_00012820;\n          }\n        }\n        else if ((pcVar13 == (char *)0x0) || (pcVar12 <= pcVar13)) {\n          pcVar13 = pcVar12;\n        }\n        psVar22 = (stat64 *)((int)&psVar22->st_dev + 1);\n        psVar25 = (stat64 *)(pcVar13 + 1);\n        if (psVar22 == (stat64 *)0x80) goto LAB_00013b9f;\n      }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n        lVar34 = sg_get_llnum(psVar25,pcVar15,psVar17,psVar9);\n        psVar17 = (stat64 *)lVar34;\n        if (lVar34 == -1) break;\n        puVar42[(int)psVar22 * 2] = (uint)psVar17;\n        puVar42[(int)psVar22 * 2 + 1] = (uint)((ulonglong)lVar34 >> 0x20);\n        psVar9 = psVar17;\n        pcVar12 = strchr((char *)psVar25,0x2c);\n        pcVar15 = (char *)0x20;\n        pcVar13 = strchr((char *)psVar25,0x20);\n        if (pcVar12 == (char *)0x0) {\n          if (pcVar13 == (char *)0x0) {\n            local_91c = (stat64 *)((int)&psVar22->st_dev + 1);\n            if (local_93f != '\0') goto LAB_000126fa;\n            psVar22 = (stat64 *)0x0;\n            psVar17 = extraout_ECX;\n            if (local_91c != (stat64 *)0x1) goto LAB_00012a73;\n            goto LAB_00012820;\n          }\n        }\n        else if ((pcVar13 == (char *)0x0) || (pcVar12 <= pcVar13)) {\n          pcVar13 = pcVar12;\n        }\n        psVar22 = (stat64 *)((int)&psVar22->st_dev + 1);\n        psVar25 = (stat64 *)(pcVar13 + 1);\n        if (psVar22 == (stat64 *)0x80) goto LAB_00013b9f;\n      }" { (expression_statement "lVar34 = sg_get_llnum(psVar25,pcVar15,psVar17,psVar9);" (assignment_expression "lVar34 = sg_get_llnum(psVar25,pcVar15,psVar17,psVar9)" identifier = (call_expression "sg_get_llnum(psVar25,pcVar15,psVar17,psVar9)" identifier (argument_list "(psVar25,pcVar15,psVar17,psVar9)" ( identifier , identifier , identifier , identifier )))) ;) (expression_statement "psVar17 = (stat64 *)lVar34;" (assignment_expression "psVar17 = (stat64 *)lVar34" identifier = (cast_expression "(stat64 *)lVar34" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (if_statement "if (lVar34 == -1) break;" if (parenthesized_expression "(lVar34 == -1)" ( (binary_expression "lVar34 == -1" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "puVar42[(int)psVar22 * 2] = (uint)psVar17;" (assignment_expression "puVar42[(int)psVar22 * 2] = (uint)psVar17" (subscript_expression "puVar42[(int)psVar22 * 2]" identifier [ (binary_expression "(int)psVar22 * 2" (cast_expression "(int)psVar22" ( (type_descriptor "int" primitive_type) ) identifier) * number_literal) ]) = (cast_expression "(uint)psVar17" ( (type_descriptor "uint" type_identifier) ) identifier)) ;) (expression_statement "puVar42[(int)psVar22 * 2 + 1] = (uint)((ulonglong)lVar34 >> 0x20);" (assignment_expression "puVar42[(int)psVar22 * 2 + 1] = (uint)((ulonglong)lVar34 >> 0x20)" (subscript_expression "puVar42[(int)psVar22 * 2 + 1]" identifier [ (binary_expression "(int)psVar22 * 2 + 1" (binary_expression "(int)psVar22 * 2" (cast_expression "(int)psVar22" ( (type_descriptor "int" primitive_type) ) identifier) * number_literal) + number_literal) ]) = (call_expression "(uint)((ulonglong)lVar34 >> 0x20)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((ulonglong)lVar34 >> 0x20)" ( (binary_expression "(ulonglong)lVar34 >> 0x20" (cast_expression "(ulonglong)lVar34" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) )))) ;) (expression_statement "psVar9 = psVar17;" (assignment_expression "psVar9 = psVar17" identifier = identifier) ;) (expression_statement "pcVar12 = strchr((char *)psVar25,0x2c);" (assignment_expression "pcVar12 = strchr((char *)psVar25,0x2c)" identifier = (call_expression "strchr((char *)psVar25,0x2c)" identifier (argument_list "((char *)psVar25,0x2c)" ( (cast_expression "(char *)psVar25" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) , number_literal )))) ;) (expression_statement "pcVar15 = (char *)0x20;" (assignment_expression "pcVar15 = (char *)0x20" identifier = (cast_expression "(char *)0x20" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "pcVar13 = strchr((char *)psVar25,0x20);" (assignment_expression "pcVar13 = strchr((char *)psVar25,0x20)" identifier = (call_expression "strchr((char *)psVar25,0x20)" identifier (argument_list "((char *)psVar25,0x20)" ( (cast_expression "(char *)psVar25" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) , number_literal )))) ;) (if_statement "if (pcVar12 == (char *)0x0) {\n          if (pcVar13 == (char *)0x0) {\n            local_91c = (stat64 *)((int)&psVar22->st_dev + 1);\n            if (local_93f != '\0') goto LAB_000126fa;\n            psVar22 = (stat64 *)0x0;\n            psVar17 = extraout_ECX;\n            if (local_91c != (stat64 *)0x1) goto LAB_00012a73;\n            goto LAB_00012820;\n          }\n        }\n        else if ((pcVar13 == (char *)0x0) || (pcVar12 <= pcVar13)) {\n          pcVar13 = pcVar12;\n        }" if (parenthesized_expression "(pcVar12 == (char *)0x0)" ( (binary_expression "pcVar12 == (char *)0x0" identifier == (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n          if (pcVar13 == (char *)0x0) {\n            local_91c = (stat64 *)((int)&psVar22->st_dev + 1);\n            if (local_93f != '\0') goto LAB_000126fa;\n            psVar22 = (stat64 *)0x0;\n            psVar17 = extraout_ECX;\n            if (local_91c != (stat64 *)0x1) goto LAB_00012a73;\n            goto LAB_00012820;\n          }\n        }" { (if_statement "if (pcVar13 == (char *)0x0) {\n            local_91c = (stat64 *)((int)&psVar22->st_dev + 1);\n            if (local_93f != '\0') goto LAB_000126fa;\n            psVar22 = (stat64 *)0x0;\n            psVar17 = extraout_ECX;\n            if (local_91c != (stat64 *)0x1) goto LAB_00012a73;\n            goto LAB_00012820;\n          }" if (parenthesized_expression "(pcVar13 == (char *)0x0)" ( (binary_expression "pcVar13 == (char *)0x0" identifier == (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n            local_91c = (stat64 *)((int)&psVar22->st_dev + 1);\n            if (local_93f != '\0') goto LAB_000126fa;\n            psVar22 = (stat64 *)0x0;\n            psVar17 = extraout_ECX;\n            if (local_91c != (stat64 *)0x1) goto LAB_00012a73;\n            goto LAB_00012820;\n          }" { (expression_statement "local_91c = (stat64 *)((int)&psVar22->st_dev + 1);" (assignment_expression "local_91c = (stat64 *)((int)&psVar22->st_dev + 1)" identifier = (cast_expression "(stat64 *)((int)&psVar22->st_dev + 1)" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&psVar22->st_dev + 1)" ( (binary_expression "(int)&psVar22->st_dev + 1" (cast_expression "(int)&psVar22->st_dev" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&psVar22->st_dev" & (field_expression "psVar22->st_dev" identifier -> field_identifier))) + number_literal) )))) ;) (if_statement "if (local_93f != '\0') goto LAB_000126fa;" if (parenthesized_expression "(local_93f != '\0')" ( (binary_expression "local_93f != '\0'" identifier != (char_literal "'\0'" ' escape_sequence ')) )) (goto_statement "goto LAB_000126fa;" goto statement_identifier ;)) (expression_statement "psVar22 = (stat64 *)0x0;" (assignment_expression "psVar22 = (stat64 *)0x0" identifier = (cast_expression "(stat64 *)0x0" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "psVar17 = extraout_ECX;" (assignment_expression "psVar17 = extraout_ECX" identifier = identifier) ;) (if_statement "if (local_91c != (stat64 *)0x1) goto LAB_00012a73;" if (parenthesized_expression "(local_91c != (stat64 *)0x1)" ( (binary_expression "local_91c != (stat64 *)0x1" identifier != (cast_expression "(stat64 *)0x1" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_00012a73;" goto statement_identifier ;)) (goto_statement "goto LAB_00012820;" goto statement_identifier ;) })) }) (else_clause "else if ((pcVar13 == (char *)0x0) || (pcVar12 <= pcVar13)) {\n          pcVar13 = pcVar12;\n        }" else (if_statement "if ((pcVar13 == (char *)0x0) || (pcVar12 <= pcVar13)) {\n          pcVar13 = pcVar12;\n        }" if (parenthesized_expression "((pcVar13 == (char *)0x0) || (pcVar12 <= pcVar13))" ( (binary_expression "(pcVar13 == (char *)0x0) || (pcVar12 <= pcVar13)" (parenthesized_expression "(pcVar13 == (char *)0x0)" ( (binary_expression "pcVar13 == (char *)0x0" identifier == (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) || (parenthesized_expression "(pcVar12 <= pcVar13)" ( (binary_expression "pcVar12 <= pcVar13" identifier <= identifier) ))) )) (compound_statement "{\n          pcVar13 = pcVar12;\n        }" { (expression_statement "pcVar13 = pcVar12;" (assignment_expression "pcVar13 = pcVar12" identifier = identifier) ;) })))) (expression_statement "psVar22 = (stat64 *)((int)&psVar22->st_dev + 1);" (assignment_expression "psVar22 = (stat64 *)((int)&psVar22->st_dev + 1)" identifier = (cast_expression "(stat64 *)((int)&psVar22->st_dev + 1)" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&psVar22->st_dev + 1)" ( (binary_expression "(int)&psVar22->st_dev + 1" (cast_expression "(int)&psVar22->st_dev" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&psVar22->st_dev" & (field_expression "psVar22->st_dev" identifier -> field_identifier))) + number_literal) )))) ;) (expression_statement "psVar25 = (stat64 *)(pcVar13 + 1);" (assignment_expression "psVar25 = (stat64 *)(pcVar13 + 1)" identifier = (cast_expression "(stat64 *)(pcVar13 + 1)" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar13 + 1)" ( (binary_expression "pcVar13 + 1" identifier + number_literal) )))) ;) (if_statement "if (psVar22 == (stat64 *)0x80) goto LAB_00013b9f;" if (parenthesized_expression "(psVar22 == (stat64 *)0x80)" ( (binary_expression "psVar22 == (stat64 *)0x80" identifier == (cast_expression "(stat64 *)0x80" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_00013b9f;" goto statement_identifier ;)) })) (expression_statement "psVar8 = (stat64 *)((int)psVar25 - (int)local_91c);" (assignment_expression "psVar8 = (stat64 *)((int)psVar25 - (int)local_91c)" identifier = (cast_expression "(stat64 *)((int)psVar25 - (int)local_91c)" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)psVar25 - (int)local_91c)" ( (binary_expression "(int)psVar25 - (int)local_91c" (cast_expression "(int)psVar25" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)local_91c" ( (type_descriptor "int" primitive_type) ) identifier)) )))) ;) })) (expression_statement "pr2serr("build_lba_arr: error at pos %d\n",(undefined *)((int)&psVar8->st_dev + 1),psVar22,\n            psVar22);" (call_expression "pr2serr("build_lba_arr: error at pos %d\n",(undefined *)((int)&psVar8->st_dev + 1),psVar22,\n            psVar22)" identifier (argument_list "("build_lba_arr: error at pos %d\n",(undefined *)((int)&psVar8->st_dev + 1),psVar22,\n            psVar22)" ( (string_literal ""build_lba_arr: error at pos %d\n"" " string_content escape_sequence ") , (cast_expression "(undefined *)((int)&psVar8->st_dev + 1)" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&psVar8->st_dev + 1)" ( (binary_expression "(int)&psVar8->st_dev + 1" (cast_expression "(int)&psVar8->st_dev" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&psVar8->st_dev" & (field_expression "psVar8->st_dev" identifier -> field_identifier))) + number_literal) ))) , identifier , identifier ))) ;) (goto_statement "goto LAB_00012130;" goto statement_identifier ;) })) (expression_statement "local_91c = (stat64 *)0x0;" (assignment_expression "local_91c = (stat64 *)0x0" identifier = (cast_expression "(stat64 *)0x0" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (if_statement "if (bVar30) {\nLAB_000126fa:\n    psVar8 = (stat64 *)0xffffffff;\n    psVar22 = local_918;\n    do {\n      if (psVar8 == (stat64 *)0x0) break;\n      psVar8 = (stat64 *)((int)&psVar8[-1].st_ino + 7);\n      p_Var3 = &psVar22->st_dev;\n      psVar22 = (stat64 *)((int)psVar22 + (uint)bVar32 * -2 + 1);\n    } while ((char)*p_Var3 != '\0');\n    psVar25 = (stat64 *)(~(uint)psVar8 - 1);\n    if ((char)local_918->st_dev == '-') {\n      pr2serr("\'--len\' cannot be read from stdin\n");\n    }\n    else {\n      pcVar15 = "0123456789aAbBcCdDeEfFhHxXiIkKmMgGtTpP, ";\n      psVar17 = psVar8;\n      psVar22 = (stat64 *)strspn((char *)local_918,"0123456789aAbBcCdDeEfFhHxXiIkKmMgGtTpP, ");\n      psVar9 = extraout_EDX_00;\n      if (psVar25 == psVar22) {\n        psVar9 = (stat64 *)0x0;\n        psVar25 = local_918;\n        do {\n          lVar34 = sg_get_llnum(psVar25,pcVar15,psVar8,psVar17);\n          psVar8 = (stat64 *)lVar34;\n          if ((int)((ulonglong)lVar34 >> 0x20) == -1) {\n            if (psVar8 == (stat64 *)0xffffffff) {\n              psVar22 = (stat64 *)((int)psVar25 - (int)local_918);\n              goto LAB_000127bf;\n            }\n          }\n          else if (0xffffffff < lVar34) {\n            psVar17 = (stat64 *)((int)psVar25 + (1 - (int)local_918));\n            pcVar15 = "build_num_arr";\n            pr2serr("%s: number exceeds 32 bits at pos %d\n","build_num_arr",psVar17,psVar9);\n            goto LAB_000127d9;\n          }\n          ppsVar44[(int)psVar9] = psVar8;\n          psVar17 = psVar8;\n          pcVar12 = strchr((char *)psVar25,0x2c);\n          pcVar15 = (char *)0x20;\n          pcVar13 = strchr((char *)psVar25,0x20);\n          if (pcVar12 == (char *)0x0) {\n            if (pcVar13 == (char *)0x0) {\n              puVar20 = (undefined *)((int)&psVar9->st_dev + 1);\n              psVar22 = (stat64 *)0x0;\n              psVar17 = extraout_ECX_00;\n              if ((undefined *)0x1 < local_91c) {\n                if ((stat64 *)puVar20 == local_91c) goto LAB_00012820;\n                goto LAB_00012a73;\n              }\n              if (local_91c == (stat64 *)0x0) {\n                if (puVar20 != (undefined *)0x1) {\nLAB_00012a73:\n                  pr2serr("need same number of arguments to \'--lba=\' and \'--num=\' options\n");\n                  local_908 = (stat64 *)0x1f;\n                  goto LAB_00012354;\n                }\n                local_91c = (stat64 *)(undefined *)0x1;\n                if (local_778[0] != (stat64 *)0x0) {\n                  pr2serr("won\'t write %u blocks without an explicit --lba= option\n",local_778[0],\n                          extraout_ECX_00,extraout_ECX_00);\n                  local_908 = (stat64 *)0x1;\n                  goto LAB_00012354;\n                }\n              }\n              else {\n                local_91c = (stat64 *)(undefined *)0x1;\n              }\n              goto LAB_00012820;\n            }\n          }\n          else if ((pcVar13 == (char *)0x0) || (pcVar12 <= pcVar13)) {\n            pcVar13 = pcVar12;\n          }\n          psVar9 = (stat64 *)((int)&psVar9->st_dev + 1);\n          psVar25 = (stat64 *)(pcVar13 + 1);\n        } while (psVar9 != (stat64 *)0x80);\n        pcVar15 = "build_num_arr";\n        psVar17 = extraout_ECX_00;\n        psVar9 = extraout_ECX_00;\n        pr2serr("%s: array length exceeded\n","build_num_arr",extraout_ECX_00,extraout_ECX_00);\n      }\n      else {\nLAB_000127bf:\n        psVar17 = (stat64 *)((int)&psVar22->st_dev + 1);\n        pcVar15 = "build_num_arr";\n        pr2serr("%s: error at pos %d\n","build_num_arr",psVar17,psVar9);\n      }\n    }\nLAB_000127d9:\n    pr2serr("bad argument to \'--num\'\n",pcVar15,psVar17,psVar9);\n    local_908 = (stat64 *)0x0;\n    goto LAB_00012354;\n  }" if (parenthesized_expression "(bVar30)" ( identifier )) (compound_statement "{\nLAB_000126fa:\n    psVar8 = (stat64 *)0xffffffff;\n    psVar22 = local_918;\n    do {\n      if (psVar8 == (stat64 *)0x0) break;\n      psVar8 = (stat64 *)((int)&psVar8[-1].st_ino + 7);\n      p_Var3 = &psVar22->st_dev;\n      psVar22 = (stat64 *)((int)psVar22 + (uint)bVar32 * -2 + 1);\n    } while ((char)*p_Var3 != '\0');\n    psVar25 = (stat64 *)(~(uint)psVar8 - 1);\n    if ((char)local_918->st_dev == '-') {\n      pr2serr("\'--len\' cannot be read from stdin\n");\n    }\n    else {\n      pcVar15 = "0123456789aAbBcCdDeEfFhHxXiIkKmMgGtTpP, ";\n      psVar17 = psVar8;\n      psVar22 = (stat64 *)strspn((char *)local_918,"0123456789aAbBcCdDeEfFhHxXiIkKmMgGtTpP, ");\n      psVar9 = extraout_EDX_00;\n      if (psVar25 == psVar22) {\n        psVar9 = (stat64 *)0x0;\n        psVar25 = local_918;\n        do {\n          lVar34 = sg_get_llnum(psVar25,pcVar15,psVar8,psVar17);\n          psVar8 = (stat64 *)lVar34;\n          if ((int)((ulonglong)lVar34 >> 0x20) == -1) {\n            if (psVar8 == (stat64 *)0xffffffff) {\n              psVar22 = (stat64 *)((int)psVar25 - (int)local_918);\n              goto LAB_000127bf;\n            }\n          }\n          else if (0xffffffff < lVar34) {\n            psVar17 = (stat64 *)((int)psVar25 + (1 - (int)local_918));\n            pcVar15 = "build_num_arr";\n            pr2serr("%s: number exceeds 32 bits at pos %d\n","build_num_arr",psVar17,psVar9);\n            goto LAB_000127d9;\n          }\n          ppsVar44[(int)psVar9] = psVar8;\n          psVar17 = psVar8;\n          pcVar12 = strchr((char *)psVar25,0x2c);\n          pcVar15 = (char *)0x20;\n          pcVar13 = strchr((char *)psVar25,0x20);\n          if (pcVar12 == (char *)0x0) {\n            if (pcVar13 == (char *)0x0) {\n              puVar20 = (undefined *)((int)&psVar9->st_dev + 1);\n              psVar22 = (stat64 *)0x0;\n              psVar17 = extraout_ECX_00;\n              if ((undefined *)0x1 < local_91c) {\n                if ((stat64 *)puVar20 == local_91c) goto LAB_00012820;\n                goto LAB_00012a73;\n              }\n              if (local_91c == (stat64 *)0x0) {\n                if (puVar20 != (undefined *)0x1) {\nLAB_00012a73:\n                  pr2serr("need same number of arguments to \'--lba=\' and \'--num=\' options\n");\n                  local_908 = (stat64 *)0x1f;\n                  goto LAB_00012354;\n                }\n                local_91c = (stat64 *)(undefined *)0x1;\n                if (local_778[0] != (stat64 *)0x0) {\n                  pr2serr("won\'t write %u blocks without an explicit --lba= option\n",local_778[0],\n                          extraout_ECX_00,extraout_ECX_00);\n                  local_908 = (stat64 *)0x1;\n                  goto LAB_00012354;\n                }\n              }\n              else {\n                local_91c = (stat64 *)(undefined *)0x1;\n              }\n              goto LAB_00012820;\n            }\n          }\n          else if ((pcVar13 == (char *)0x0) || (pcVar12 <= pcVar13)) {\n            pcVar13 = pcVar12;\n          }\n          psVar9 = (stat64 *)((int)&psVar9->st_dev + 1);\n          psVar25 = (stat64 *)(pcVar13 + 1);\n        } while (psVar9 != (stat64 *)0x80);\n        pcVar15 = "build_num_arr";\n        psVar17 = extraout_ECX_00;\n        psVar9 = extraout_ECX_00;\n        pr2serr("%s: array length exceeded\n","build_num_arr",extraout_ECX_00,extraout_ECX_00);\n      }\n      else {\nLAB_000127bf:\n        psVar17 = (stat64 *)((int)&psVar22->st_dev + 1);\n        pcVar15 = "build_num_arr";\n        pr2serr("%s: error at pos %d\n","build_num_arr",psVar17,psVar9);\n      }\n    }\nLAB_000127d9:\n    pr2serr("bad argument to \'--num\'\n",pcVar15,psVar17,psVar9);\n    local_908 = (stat64 *)0x0;\n    goto LAB_00012354;\n  }" { (labeled_statement "LAB_000126fa:\n    psVar8 = (stat64 *)0xffffffff;" statement_identifier : (expression_statement "psVar8 = (stat64 *)0xffffffff;" (assignment_expression "psVar8 = (stat64 *)0xffffffff" identifier = (cast_expression "(stat64 *)0xffffffff" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;)) (expression_statement "psVar22 = local_918;" (assignment_expression "psVar22 = local_918" identifier = identifier) ;) (do_statement "do {\n      if (psVar8 == (stat64 *)0x0) break;\n      psVar8 = (stat64 *)((int)&psVar8[-1].st_ino + 7);\n      p_Var3 = &psVar22->st_dev;\n      psVar22 = (stat64 *)((int)psVar22 + (uint)bVar32 * -2 + 1);\n    } while ((char)*p_Var3 != '\0');" do (compound_statement "{\n      if (psVar8 == (stat64 *)0x0) break;\n      psVar8 = (stat64 *)((int)&psVar8[-1].st_ino + 7);\n      p_Var3 = &psVar22->st_dev;\n      psVar22 = (stat64 *)((int)psVar22 + (uint)bVar32 * -2 + 1);\n    }" { (if_statement "if (psVar8 == (stat64 *)0x0) break;" if (parenthesized_expression "(psVar8 == (stat64 *)0x0)" ( (binary_expression "psVar8 == (stat64 *)0x0" identifier == (cast_expression "(stat64 *)0x0" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (break_statement "break;" break ;)) (expression_statement "psVar8 = (stat64 *)((int)&psVar8[-1].st_ino + 7);" (assignment_expression "psVar8 = (stat64 *)((int)&psVar8[-1].st_ino + 7)" identifier = (cast_expression "(stat64 *)((int)&psVar8[-1].st_ino + 7)" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&psVar8[-1].st_ino + 7)" ( (binary_expression "(int)&psVar8[-1].st_ino + 7" (cast_expression "(int)&psVar8[-1].st_ino" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&psVar8[-1].st_ino" & (field_expression "psVar8[-1].st_ino" (subscript_expression "psVar8[-1]" identifier [ number_literal ]) . field_identifier))) + number_literal) )))) ;) (expression_statement "p_Var3 = &psVar22->st_dev;" (assignment_expression "p_Var3 = &psVar22->st_dev" identifier = (pointer_expression "&psVar22->st_dev" & (field_expression "psVar22->st_dev" identifier -> field_identifier))) ;) (expression_statement "psVar22 = (stat64 *)((int)psVar22 + (uint)bVar32 * -2 + 1);" (assignment_expression "psVar22 = (stat64 *)((int)psVar22 + (uint)bVar32 * -2 + 1)" identifier = (cast_expression "(stat64 *)((int)psVar22 + (uint)bVar32 * -2 + 1)" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)psVar22 + (uint)bVar32 * -2 + 1)" ( (binary_expression "(int)psVar22 + (uint)bVar32 * -2 + 1" (binary_expression "(int)psVar22 + (uint)bVar32 * -2" (cast_expression "(int)psVar22" ( (type_descriptor "int" primitive_type) ) identifier) + (binary_expression "(uint)bVar32 * -2" (cast_expression "(uint)bVar32" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal) )))) ;) }) while (parenthesized_expression "((char)*p_Var3 != '\0')" ( (binary_expression "(char)*p_Var3 != '\0'" (cast_expression "(char)*p_Var3" ( (type_descriptor "char" primitive_type) ) (pointer_expression "*p_Var3" * identifier)) != (char_literal "'\0'" ' escape_sequence ')) )) ;) (expression_statement "psVar25 = (stat64 *)(~(uint)psVar8 - 1);" (assignment_expression "psVar25 = (stat64 *)(~(uint)psVar8 - 1)" identifier = (cast_expression "(stat64 *)(~(uint)psVar8 - 1)" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(~(uint)psVar8 - 1)" ( (binary_expression "~(uint)psVar8 - 1" (unary_expression "~(uint)psVar8" ~ (cast_expression "(uint)psVar8" ( (type_descriptor "uint" type_identifier) ) identifier)) - number_literal) )))) ;) (if_statement "if ((char)local_918->st_dev == '-') {\n      pr2serr("\'--len\' cannot be read from stdin\n");\n    }\n    else {\n      pcVar15 = "0123456789aAbBcCdDeEfFhHxXiIkKmMgGtTpP, ";\n      psVar17 = psVar8;\n      psVar22 = (stat64 *)strspn((char *)local_918,"0123456789aAbBcCdDeEfFhHxXiIkKmMgGtTpP, ");\n      psVar9 = extraout_EDX_00;\n      if (psVar25 == psVar22) {\n        psVar9 = (stat64 *)0x0;\n        psVar25 = local_918;\n        do {\n          lVar34 = sg_get_llnum(psVar25,pcVar15,psVar8,psVar17);\n          psVar8 = (stat64 *)lVar34;\n          if ((int)((ulonglong)lVar34 >> 0x20) == -1) {\n            if (psVar8 == (stat64 *)0xffffffff) {\n              psVar22 = (stat64 *)((int)psVar25 - (int)local_918);\n              goto LAB_000127bf;\n            }\n          }\n          else if (0xffffffff < lVar34) {\n            psVar17 = (stat64 *)((int)psVar25 + (1 - (int)local_918));\n            pcVar15 = "build_num_arr";\n            pr2serr("%s: number exceeds 32 bits at pos %d\n","build_num_arr",psVar17,psVar9);\n            goto LAB_000127d9;\n          }\n          ppsVar44[(int)psVar9] = psVar8;\n          psVar17 = psVar8;\n          pcVar12 = strchr((char *)psVar25,0x2c);\n          pcVar15 = (char *)0x20;\n          pcVar13 = strchr((char *)psVar25,0x20);\n          if (pcVar12 == (char *)0x0) {\n            if (pcVar13 == (char *)0x0) {\n              puVar20 = (undefined *)((int)&psVar9->st_dev + 1);\n              psVar22 = (stat64 *)0x0;\n              psVar17 = extraout_ECX_00;\n              if ((undefined *)0x1 < local_91c) {\n                if ((stat64 *)puVar20 == local_91c) goto LAB_00012820;\n                goto LAB_00012a73;\n              }\n              if (local_91c == (stat64 *)0x0) {\n                if (puVar20 != (undefined *)0x1) {\nLAB_00012a73:\n                  pr2serr("need same number of arguments to \'--lba=\' and \'--num=\' options\n");\n                  local_908 = (stat64 *)0x1f;\n                  goto LAB_00012354;\n                }\n                local_91c = (stat64 *)(undefined *)0x1;\n                if (local_778[0] != (stat64 *)0x0) {\n                  pr2serr("won\'t write %u blocks without an explicit --lba= option\n",local_778[0],\n                          extraout_ECX_00,extraout_ECX_00);\n                  local_908 = (stat64 *)0x1;\n                  goto LAB_00012354;\n                }\n              }\n              else {\n                local_91c = (stat64 *)(undefined *)0x1;\n              }\n              goto LAB_00012820;\n            }\n          }\n          else if ((pcVar13 == (char *)0x0) || (pcVar12 <= pcVar13)) {\n            pcVar13 = pcVar12;\n          }\n          psVar9 = (stat64 *)((int)&psVar9->st_dev + 1);\n          psVar25 = (stat64 *)(pcVar13 + 1);\n        } while (psVar9 != (stat64 *)0x80);\n        pcVar15 = "build_num_arr";\n        psVar17 = extraout_ECX_00;\n        psVar9 = extraout_ECX_00;\n        pr2serr("%s: array length exceeded\n","build_num_arr",extraout_ECX_00,extraout_ECX_00);\n      }\n      else {\nLAB_000127bf:\n        psVar17 = (stat64 *)((int)&psVar22->st_dev + 1);\n        pcVar15 = "build_num_arr";\n        pr2serr("%s: error at pos %d\n","build_num_arr",psVar17,psVar9);\n      }\n    }" if (parenthesized_expression "((char)local_918->st_dev == '-')" ( (binary_expression "(char)local_918->st_dev == '-'" (cast_expression "(char)local_918->st_dev" ( (type_descriptor "char" primitive_type) ) (field_expression "local_918->st_dev" identifier -> field_identifier)) == (char_literal "'-'" ' character ')) )) (compound_statement "{\n      pr2serr("\'--len\' cannot be read from stdin\n");\n    }" { (expression_statement "pr2serr("\'--len\' cannot be read from stdin\n");" (call_expression "pr2serr("\'--len\' cannot be read from stdin\n")" identifier (argument_list "("\'--len\' cannot be read from stdin\n")" ( (string_literal ""\'--len\' cannot be read from stdin\n"" " escape_sequence string_content escape_sequence string_content escape_sequence ") ))) ;) }) (else_clause "else {\n      pcVar15 = "0123456789aAbBcCdDeEfFhHxXiIkKmMgGtTpP, ";\n      psVar17 = psVar8;\n      psVar22 = (stat64 *)strspn((char *)local_918,"0123456789aAbBcCdDeEfFhHxXiIkKmMgGtTpP, ");\n      psVar9 = extraout_EDX_00;\n      if (psVar25 == psVar22) {\n        psVar9 = (stat64 *)0x0;\n        psVar25 = local_918;\n        do {\n          lVar34 = sg_get_llnum(psVar25,pcVar15,psVar8,psVar17);\n          psVar8 = (stat64 *)lVar34;\n          if ((int)((ulonglong)lVar34 >> 0x20) == -1) {\n            if (psVar8 == (stat64 *)0xffffffff) {\n              psVar22 = (stat64 *)((int)psVar25 - (int)local_918);\n              goto LAB_000127bf;\n            }\n          }\n          else if (0xffffffff < lVar34) {\n            psVar17 = (stat64 *)((int)psVar25 + (1 - (int)local_918));\n            pcVar15 = "build_num_arr";\n            pr2serr("%s: number exceeds 32 bits at pos %d\n","build_num_arr",psVar17,psVar9);\n            goto LAB_000127d9;\n          }\n          ppsVar44[(int)psVar9] = psVar8;\n          psVar17 = psVar8;\n          pcVar12 = strchr((char *)psVar25,0x2c);\n          pcVar15 = (char *)0x20;\n          pcVar13 = strchr((char *)psVar25,0x20);\n          if (pcVar12 == (char *)0x0) {\n            if (pcVar13 == (char *)0x0) {\n              puVar20 = (undefined *)((int)&psVar9->st_dev + 1);\n              psVar22 = (stat64 *)0x0;\n              psVar17 = extraout_ECX_00;\n              if ((undefined *)0x1 < local_91c) {\n                if ((stat64 *)puVar20 == local_91c) goto LAB_00012820;\n                goto LAB_00012a73;\n              }\n              if (local_91c == (stat64 *)0x0) {\n                if (puVar20 != (undefined *)0x1) {\nLAB_00012a73:\n                  pr2serr("need same number of arguments to \'--lba=\' and \'--num=\' options\n");\n                  local_908 = (stat64 *)0x1f;\n                  goto LAB_00012354;\n                }\n                local_91c = (stat64 *)(undefined *)0x1;\n                if (local_778[0] != (stat64 *)0x0) {\n                  pr2serr("won\'t write %u blocks without an explicit --lba= option\n",local_778[0],\n                          extraout_ECX_00,extraout_ECX_00);\n                  local_908 = (stat64 *)0x1;\n                  goto LAB_00012354;\n                }\n              }\n              else {\n                local_91c = (stat64 *)(undefined *)0x1;\n              }\n              goto LAB_00012820;\n            }\n          }\n          else if ((pcVar13 == (char *)0x0) || (pcVar12 <= pcVar13)) {\n            pcVar13 = pcVar12;\n          }\n          psVar9 = (stat64 *)((int)&psVar9->st_dev + 1);\n          psVar25 = (stat64 *)(pcVar13 + 1);\n        } while (psVar9 != (stat64 *)0x80);\n        pcVar15 = "build_num_arr";\n        psVar17 = extraout_ECX_00;\n        psVar9 = extraout_ECX_00;\n        pr2serr("%s: array length exceeded\n","build_num_arr",extraout_ECX_00,extraout_ECX_00);\n      }\n      else {\nLAB_000127bf:\n        psVar17 = (stat64 *)((int)&psVar22->st_dev + 1);\n        pcVar15 = "build_num_arr";\n        pr2serr("%s: error at pos %d\n","build_num_arr",psVar17,psVar9);\n      }\n    }" else (compound_statement "{\n      pcVar15 = "0123456789aAbBcCdDeEfFhHxXiIkKmMgGtTpP, ";\n      psVar17 = psVar8;\n      psVar22 = (stat64 *)strspn((char *)local_918,"0123456789aAbBcCdDeEfFhHxXiIkKmMgGtTpP, ");\n      psVar9 = extraout_EDX_00;\n      if (psVar25 == psVar22) {\n        psVar9 = (stat64 *)0x0;\n        psVar25 = local_918;\n        do {\n          lVar34 = sg_get_llnum(psVar25,pcVar15,psVar8,psVar17);\n          psVar8 = (stat64 *)lVar34;\n          if ((int)((ulonglong)lVar34 >> 0x20) == -1) {\n            if (psVar8 == (stat64 *)0xffffffff) {\n              psVar22 = (stat64 *)((int)psVar25 - (int)local_918);\n              goto LAB_000127bf;\n            }\n          }\n          else if (0xffffffff < lVar34) {\n            psVar17 = (stat64 *)((int)psVar25 + (1 - (int)local_918));\n            pcVar15 = "build_num_arr";\n            pr2serr("%s: number exceeds 32 bits at pos %d\n","build_num_arr",psVar17,psVar9);\n            goto LAB_000127d9;\n          }\n          ppsVar44[(int)psVar9] = psVar8;\n          psVar17 = psVar8;\n          pcVar12 = strchr((char *)psVar25,0x2c);\n          pcVar15 = (char *)0x20;\n          pcVar13 = strchr((char *)psVar25,0x20);\n          if (pcVar12 == (char *)0x0) {\n            if (pcVar13 == (char *)0x0) {\n              puVar20 = (undefined *)((int)&psVar9->st_dev + 1);\n              psVar22 = (stat64 *)0x0;\n              psVar17 = extraout_ECX_00;\n              if ((undefined *)0x1 < local_91c) {\n                if ((stat64 *)puVar20 == local_91c) goto LAB_00012820;\n                goto LAB_00012a73;\n              }\n              if (local_91c == (stat64 *)0x0) {\n                if (puVar20 != (undefined *)0x1) {\nLAB_00012a73:\n                  pr2serr("need same number of arguments to \'--lba=\' and \'--num=\' options\n");\n                  local_908 = (stat64 *)0x1f;\n                  goto LAB_00012354;\n                }\n                local_91c = (stat64 *)(undefined *)0x1;\n                if (local_778[0] != (stat64 *)0x0) {\n                  pr2serr("won\'t write %u blocks without an explicit --lba= option\n",local_778[0],\n                          extraout_ECX_00,extraout_ECX_00);\n                  local_908 = (stat64 *)0x1;\n                  goto LAB_00012354;\n                }\n              }\n              else {\n                local_91c = (stat64 *)(undefined *)0x1;\n              }\n              goto LAB_00012820;\n            }\n          }\n          else if ((pcVar13 == (char *)0x0) || (pcVar12 <= pcVar13)) {\n            pcVar13 = pcVar12;\n          }\n          psVar9 = (stat64 *)((int)&psVar9->st_dev + 1);\n          psVar25 = (stat64 *)(pcVar13 + 1);\n        } while (psVar9 != (stat64 *)0x80);\n        pcVar15 = "build_num_arr";\n        psVar17 = extraout_ECX_00;\n        psVar9 = extraout_ECX_00;\n        pr2serr("%s: array length exceeded\n","build_num_arr",extraout_ECX_00,extraout_ECX_00);\n      }\n      else {\nLAB_000127bf:\n        psVar17 = (stat64 *)((int)&psVar22->st_dev + 1);\n        pcVar15 = "build_num_arr";\n        pr2serr("%s: error at pos %d\n","build_num_arr",psVar17,psVar9);\n      }\n    }" { (expression_statement "pcVar15 = "0123456789aAbBcCdDeEfFhHxXiIkKmMgGtTpP, ";" (assignment_expression "pcVar15 = "0123456789aAbBcCdDeEfFhHxXiIkKmMgGtTpP, "" identifier = (string_literal ""0123456789aAbBcCdDeEfFhHxXiIkKmMgGtTpP, "" " string_content ")) ;) (expression_statement "psVar17 = psVar8;" (assignment_expression "psVar17 = psVar8" identifier = identifier) ;) (expression_statement "psVar22 = (stat64 *)strspn((char *)local_918,"0123456789aAbBcCdDeEfFhHxXiIkKmMgGtTpP, ");" (assignment_expression "psVar22 = (stat64 *)strspn((char *)local_918,"0123456789aAbBcCdDeEfFhHxXiIkKmMgGtTpP, ")" identifier = (cast_expression "(stat64 *)strspn((char *)local_918,"0123456789aAbBcCdDeEfFhHxXiIkKmMgGtTpP, ")" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "strspn((char *)local_918,"0123456789aAbBcCdDeEfFhHxXiIkKmMgGtTpP, ")" identifier (argument_list "((char *)local_918,"0123456789aAbBcCdDeEfFhHxXiIkKmMgGtTpP, ")" ( (cast_expression "(char *)local_918" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) , (string_literal ""0123456789aAbBcCdDeEfFhHxXiIkKmMgGtTpP, "" " string_content ") ))))) ;) (expression_statement "psVar9 = extraout_EDX_00;" (assignment_expression "psVar9 = extraout_EDX_00" identifier = identifier) ;) (if_statement "if (psVar25 == psVar22) {\n        psVar9 = (stat64 *)0x0;\n        psVar25 = local_918;\n        do {\n          lVar34 = sg_get_llnum(psVar25,pcVar15,psVar8,psVar17);\n          psVar8 = (stat64 *)lVar34;\n          if ((int)((ulonglong)lVar34 >> 0x20) == -1) {\n            if (psVar8 == (stat64 *)0xffffffff) {\n              psVar22 = (stat64 *)((int)psVar25 - (int)local_918);\n              goto LAB_000127bf;\n            }\n          }\n          else if (0xffffffff < lVar34) {\n            psVar17 = (stat64 *)((int)psVar25 + (1 - (int)local_918));\n            pcVar15 = "build_num_arr";\n            pr2serr("%s: number exceeds 32 bits at pos %d\n","build_num_arr",psVar17,psVar9);\n            goto LAB_000127d9;\n          }\n          ppsVar44[(int)psVar9] = psVar8;\n          psVar17 = psVar8;\n          pcVar12 = strchr((char *)psVar25,0x2c);\n          pcVar15 = (char *)0x20;\n          pcVar13 = strchr((char *)psVar25,0x20);\n          if (pcVar12 == (char *)0x0) {\n            if (pcVar13 == (char *)0x0) {\n              puVar20 = (undefined *)((int)&psVar9->st_dev + 1);\n              psVar22 = (stat64 *)0x0;\n              psVar17 = extraout_ECX_00;\n              if ((undefined *)0x1 < local_91c) {\n                if ((stat64 *)puVar20 == local_91c) goto LAB_00012820;\n                goto LAB_00012a73;\n              }\n              if (local_91c == (stat64 *)0x0) {\n                if (puVar20 != (undefined *)0x1) {\nLAB_00012a73:\n                  pr2serr("need same number of arguments to \'--lba=\' and \'--num=\' options\n");\n                  local_908 = (stat64 *)0x1f;\n                  goto LAB_00012354;\n                }\n                local_91c = (stat64 *)(undefined *)0x1;\n                if (local_778[0] != (stat64 *)0x0) {\n                  pr2serr("won\'t write %u blocks without an explicit --lba= option\n",local_778[0],\n                          extraout_ECX_00,extraout_ECX_00);\n                  local_908 = (stat64 *)0x1;\n                  goto LAB_00012354;\n                }\n              }\n              else {\n                local_91c = (stat64 *)(undefined *)0x1;\n              }\n              goto LAB_00012820;\n            }\n          }\n          else if ((pcVar13 == (char *)0x0) || (pcVar12 <= pcVar13)) {\n            pcVar13 = pcVar12;\n          }\n          psVar9 = (stat64 *)((int)&psVar9->st_dev + 1);\n          psVar25 = (stat64 *)(pcVar13 + 1);\n        } while (psVar9 != (stat64 *)0x80);\n        pcVar15 = "build_num_arr";\n        psVar17 = extraout_ECX_00;\n        psVar9 = extraout_ECX_00;\n        pr2serr("%s: array length exceeded\n","build_num_arr",extraout_ECX_00,extraout_ECX_00);\n      }\n      else {\nLAB_000127bf:\n        psVar17 = (stat64 *)((int)&psVar22->st_dev + 1);\n        pcVar15 = "build_num_arr";\n        pr2serr("%s: error at pos %d\n","build_num_arr",psVar17,psVar9);\n      }" if (parenthesized_expression "(psVar25 == psVar22)" ( (binary_expression "psVar25 == psVar22" identifier == identifier) )) (compound_statement "{\n        psVar9 = (stat64 *)0x0;\n        psVar25 = local_918;\n        do {\n          lVar34 = sg_get_llnum(psVar25,pcVar15,psVar8,psVar17);\n          psVar8 = (stat64 *)lVar34;\n          if ((int)((ulonglong)lVar34 >> 0x20) == -1) {\n            if (psVar8 == (stat64 *)0xffffffff) {\n              psVar22 = (stat64 *)((int)psVar25 - (int)local_918);\n              goto LAB_000127bf;\n            }\n          }\n          else if (0xffffffff < lVar34) {\n            psVar17 = (stat64 *)((int)psVar25 + (1 - (int)local_918));\n            pcVar15 = "build_num_arr";\n            pr2serr("%s: number exceeds 32 bits at pos %d\n","build_num_arr",psVar17,psVar9);\n            goto LAB_000127d9;\n          }\n          ppsVar44[(int)psVar9] = psVar8;\n          psVar17 = psVar8;\n          pcVar12 = strchr((char *)psVar25,0x2c);\n          pcVar15 = (char *)0x20;\n          pcVar13 = strchr((char *)psVar25,0x20);\n          if (pcVar12 == (char *)0x0) {\n            if (pcVar13 == (char *)0x0) {\n              puVar20 = (undefined *)((int)&psVar9->st_dev + 1);\n              psVar22 = (stat64 *)0x0;\n              psVar17 = extraout_ECX_00;\n              if ((undefined *)0x1 < local_91c) {\n                if ((stat64 *)puVar20 == local_91c) goto LAB_00012820;\n                goto LAB_00012a73;\n              }\n              if (local_91c == (stat64 *)0x0) {\n                if (puVar20 != (undefined *)0x1) {\nLAB_00012a73:\n                  pr2serr("need same number of arguments to \'--lba=\' and \'--num=\' options\n");\n                  local_908 = (stat64 *)0x1f;\n                  goto LAB_00012354;\n                }\n                local_91c = (stat64 *)(undefined *)0x1;\n                if (local_778[0] != (stat64 *)0x0) {\n                  pr2serr("won\'t write %u blocks without an explicit --lba= option\n",local_778[0],\n                          extraout_ECX_00,extraout_ECX_00);\n                  local_908 = (stat64 *)0x1;\n                  goto LAB_00012354;\n                }\n              }\n              else {\n                local_91c = (stat64 *)(undefined *)0x1;\n              }\n              goto LAB_00012820;\n            }\n          }\n          else if ((pcVar13 == (char *)0x0) || (pcVar12 <= pcVar13)) {\n            pcVar13 = pcVar12;\n          }\n          psVar9 = (stat64 *)((int)&psVar9->st_dev + 1);\n          psVar25 = (stat64 *)(pcVar13 + 1);\n        } while (psVar9 != (stat64 *)0x80);\n        pcVar15 = "build_num_arr";\n        psVar17 = extraout_ECX_00;\n        psVar9 = extraout_ECX_00;\n        pr2serr("%s: array length exceeded\n","build_num_arr",extraout_ECX_00,extraout_ECX_00);\n      }" { (expression_statement "psVar9 = (stat64 *)0x0;" (assignment_expression "psVar9 = (stat64 *)0x0" identifier = (cast_expression "(stat64 *)0x0" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "psVar25 = local_918;" (assignment_expression "psVar25 = local_918" identifier = identifier) ;) (do_statement "do {\n          lVar34 = sg_get_llnum(psVar25,pcVar15,psVar8,psVar17);\n          psVar8 = (stat64 *)lVar34;\n          if ((int)((ulonglong)lVar34 >> 0x20) == -1) {\n            if (psVar8 == (stat64 *)0xffffffff) {\n              psVar22 = (stat64 *)((int)psVar25 - (int)local_918);\n              goto LAB_000127bf;\n            }\n          }\n          else if (0xffffffff < lVar34) {\n            psVar17 = (stat64 *)((int)psVar25 + (1 - (int)local_918));\n            pcVar15 = "build_num_arr";\n            pr2serr("%s: number exceeds 32 bits at pos %d\n","build_num_arr",psVar17,psVar9);\n            goto LAB_000127d9;\n          }\n          ppsVar44[(int)psVar9] = psVar8;\n          psVar17 = psVar8;\n          pcVar12 = strchr((char *)psVar25,0x2c);\n          pcVar15 = (char *)0x20;\n          pcVar13 = strchr((char *)psVar25,0x20);\n          if (pcVar12 == (char *)0x0) {\n            if (pcVar13 == (char *)0x0) {\n              puVar20 = (undefined *)((int)&psVar9->st_dev + 1);\n              psVar22 = (stat64 *)0x0;\n              psVar17 = extraout_ECX_00;\n              if ((undefined *)0x1 < local_91c) {\n                if ((stat64 *)puVar20 == local_91c) goto LAB_00012820;\n                goto LAB_00012a73;\n              }\n              if (local_91c == (stat64 *)0x0) {\n                if (puVar20 != (undefined *)0x1) {\nLAB_00012a73:\n                  pr2serr("need same number of arguments to \'--lba=\' and \'--num=\' options\n");\n                  local_908 = (stat64 *)0x1f;\n                  goto LAB_00012354;\n                }\n                local_91c = (stat64 *)(undefined *)0x1;\n                if (local_778[0] != (stat64 *)0x0) {\n                  pr2serr("won\'t write %u blocks without an explicit --lba= option\n",local_778[0],\n                          extraout_ECX_00,extraout_ECX_00);\n                  local_908 = (stat64 *)0x1;\n                  goto LAB_00012354;\n                }\n              }\n              else {\n                local_91c = (stat64 *)(undefined *)0x1;\n              }\n              goto LAB_00012820;\n            }\n          }\n          else if ((pcVar13 == (char *)0x0) || (pcVar12 <= pcVar13)) {\n            pcVar13 = pcVar12;\n          }\n          psVar9 = (stat64 *)((int)&psVar9->st_dev + 1);\n          psVar25 = (stat64 *)(pcVar13 + 1);\n        } while (psVar9 != (stat64 *)0x80);" do (compound_statement "{\n          lVar34 = sg_get_llnum(psVar25,pcVar15,psVar8,psVar17);\n          psVar8 = (stat64 *)lVar34;\n          if ((int)((ulonglong)lVar34 >> 0x20) == -1) {\n            if (psVar8 == (stat64 *)0xffffffff) {\n              psVar22 = (stat64 *)((int)psVar25 - (int)local_918);\n              goto LAB_000127bf;\n            }\n          }\n          else if (0xffffffff < lVar34) {\n            psVar17 = (stat64 *)((int)psVar25 + (1 - (int)local_918));\n            pcVar15 = "build_num_arr";\n            pr2serr("%s: number exceeds 32 bits at pos %d\n","build_num_arr",psVar17,psVar9);\n            goto LAB_000127d9;\n          }\n          ppsVar44[(int)psVar9] = psVar8;\n          psVar17 = psVar8;\n          pcVar12 = strchr((char *)psVar25,0x2c);\n          pcVar15 = (char *)0x20;\n          pcVar13 = strchr((char *)psVar25,0x20);\n          if (pcVar12 == (char *)0x0) {\n            if (pcVar13 == (char *)0x0) {\n              puVar20 = (undefined *)((int)&psVar9->st_dev + 1);\n              psVar22 = (stat64 *)0x0;\n              psVar17 = extraout_ECX_00;\n              if ((undefined *)0x1 < local_91c) {\n                if ((stat64 *)puVar20 == local_91c) goto LAB_00012820;\n                goto LAB_00012a73;\n              }\n              if (local_91c == (stat64 *)0x0) {\n                if (puVar20 != (undefined *)0x1) {\nLAB_00012a73:\n                  pr2serr("need same number of arguments to \'--lba=\' and \'--num=\' options\n");\n                  local_908 = (stat64 *)0x1f;\n                  goto LAB_00012354;\n                }\n                local_91c = (stat64 *)(undefined *)0x1;\n                if (local_778[0] != (stat64 *)0x0) {\n                  pr2serr("won\'t write %u blocks without an explicit --lba= option\n",local_778[0],\n                          extraout_ECX_00,extraout_ECX_00);\n                  local_908 = (stat64 *)0x1;\n                  goto LAB_00012354;\n                }\n              }\n              else {\n                local_91c = (stat64 *)(undefined *)0x1;\n              }\n              goto LAB_00012820;\n            }\n          }\n          else if ((pcVar13 == (char *)0x0) || (pcVar12 <= pcVar13)) {\n            pcVar13 = pcVar12;\n          }\n          psVar9 = (stat64 *)((int)&psVar9->st_dev + 1);\n          psVar25 = (stat64 *)(pcVar13 + 1);\n        }" { (expression_statement "lVar34 = sg_get_llnum(psVar25,pcVar15,psVar8,psVar17);" (assignment_expression "lVar34 = sg_get_llnum(psVar25,pcVar15,psVar8,psVar17)" identifier = (call_expression "sg_get_llnum(psVar25,pcVar15,psVar8,psVar17)" identifier (argument_list "(psVar25,pcVar15,psVar8,psVar17)" ( identifier , identifier , identifier , identifier )))) ;) (expression_statement "psVar8 = (stat64 *)lVar34;" (assignment_expression "psVar8 = (stat64 *)lVar34" identifier = (cast_expression "(stat64 *)lVar34" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (if_statement "if ((int)((ulonglong)lVar34 >> 0x20) == -1) {\n            if (psVar8 == (stat64 *)0xffffffff) {\n              psVar22 = (stat64 *)((int)psVar25 - (int)local_918);\n              goto LAB_000127bf;\n            }\n          }\n          else if (0xffffffff < lVar34) {\n            psVar17 = (stat64 *)((int)psVar25 + (1 - (int)local_918));\n            pcVar15 = "build_num_arr";\n            pr2serr("%s: number exceeds 32 bits at pos %d\n","build_num_arr",psVar17,psVar9);\n            goto LAB_000127d9;\n          }" if (parenthesized_expression "((int)((ulonglong)lVar34 >> 0x20) == -1)" ( (binary_expression "(int)((ulonglong)lVar34 >> 0x20) == -1" (cast_expression "(int)((ulonglong)lVar34 >> 0x20)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((ulonglong)lVar34 >> 0x20)" ( (binary_expression "(ulonglong)lVar34 >> 0x20" (cast_expression "(ulonglong)lVar34" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) ))) == number_literal) )) (compound_statement "{\n            if (psVar8 == (stat64 *)0xffffffff) {\n              psVar22 = (stat64 *)((int)psVar25 - (int)local_918);\n              goto LAB_000127bf;\n            }\n          }" { (if_statement "if (psVar8 == (stat64 *)0xffffffff) {\n              psVar22 = (stat64 *)((int)psVar25 - (int)local_918);\n              goto LAB_000127bf;\n            }" if (parenthesized_expression "(psVar8 == (stat64 *)0xffffffff)" ( (binary_expression "psVar8 == (stat64 *)0xffffffff" identifier == (cast_expression "(stat64 *)0xffffffff" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n              psVar22 = (stat64 *)((int)psVar25 - (int)local_918);\n              goto LAB_000127bf;\n            }" { (expression_statement "psVar22 = (stat64 *)((int)psVar25 - (int)local_918);" (assignment_expression "psVar22 = (stat64 *)((int)psVar25 - (int)local_918)" identifier = (cast_expression "(stat64 *)((int)psVar25 - (int)local_918)" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)psVar25 - (int)local_918)" ( (binary_expression "(int)psVar25 - (int)local_918" (cast_expression "(int)psVar25" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)local_918" ( (type_descriptor "int" primitive_type) ) identifier)) )))) ;) (goto_statement "goto LAB_000127bf;" goto statement_identifier ;) })) }) (else_clause "else if (0xffffffff < lVar34) {\n            psVar17 = (stat64 *)((int)psVar25 + (1 - (int)local_918));\n            pcVar15 = "build_num_arr";\n            pr2serr("%s: number exceeds 32 bits at pos %d\n","build_num_arr",psVar17,psVar9);\n            goto LAB_000127d9;\n          }" else (if_statement "if (0xffffffff < lVar34) {\n            psVar17 = (stat64 *)((int)psVar25 + (1 - (int)local_918));\n            pcVar15 = "build_num_arr";\n            pr2serr("%s: number exceeds 32 bits at pos %d\n","build_num_arr",psVar17,psVar9);\n            goto LAB_000127d9;\n          }" if (parenthesized_expression "(0xffffffff < lVar34)" ( (binary_expression "0xffffffff < lVar34" number_literal < identifier) )) (compound_statement "{\n            psVar17 = (stat64 *)((int)psVar25 + (1 - (int)local_918));\n            pcVar15 = "build_num_arr";\n            pr2serr("%s: number exceeds 32 bits at pos %d\n","build_num_arr",psVar17,psVar9);\n            goto LAB_000127d9;\n          }" { (expression_statement "psVar17 = (stat64 *)((int)psVar25 + (1 - (int)local_918));" (assignment_expression "psVar17 = (stat64 *)((int)psVar25 + (1 - (int)local_918))" identifier = (cast_expression "(stat64 *)((int)psVar25 + (1 - (int)local_918))" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)psVar25 + (1 - (int)local_918))" ( (binary_expression "(int)psVar25 + (1 - (int)local_918)" (cast_expression "(int)psVar25" ( (type_descriptor "int" primitive_type) ) identifier) + (parenthesized_expression "(1 - (int)local_918)" ( (binary_expression "1 - (int)local_918" number_literal - (cast_expression "(int)local_918" ( (type_descriptor "int" primitive_type) ) identifier)) ))) )))) ;) (expression_statement "pcVar15 = "build_num_arr";" (assignment_expression "pcVar15 = "build_num_arr"" identifier = (string_literal ""build_num_arr"" " string_content ")) ;) (expression_statement "pr2serr("%s: number exceeds 32 bits at pos %d\n","build_num_arr",psVar17,psVar9);" (call_expression "pr2serr("%s: number exceeds 32 bits at pos %d\n","build_num_arr",psVar17,psVar9)" identifier (argument_list "("%s: number exceeds 32 bits at pos %d\n","build_num_arr",psVar17,psVar9)" ( (string_literal ""%s: number exceeds 32 bits at pos %d\n"" " string_content escape_sequence ") , (string_literal ""build_num_arr"" " string_content ") , identifier , identifier ))) ;) (goto_statement "goto LAB_000127d9;" goto statement_identifier ;) })))) (expression_statement "ppsVar44[(int)psVar9] = psVar8;" (assignment_expression "ppsVar44[(int)psVar9] = psVar8" (subscript_expression "ppsVar44[(int)psVar9]" identifier [ (cast_expression "(int)psVar9" ( (type_descriptor "int" primitive_type) ) identifier) ]) = identifier) ;) (expression_statement "psVar17 = psVar8;" (assignment_expression "psVar17 = psVar8" identifier = identifier) ;) (expression_statement "pcVar12 = strchr((char *)psVar25,0x2c);" (assignment_expression "pcVar12 = strchr((char *)psVar25,0x2c)" identifier = (call_expression "strchr((char *)psVar25,0x2c)" identifier (argument_list "((char *)psVar25,0x2c)" ( (cast_expression "(char *)psVar25" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) , number_literal )))) ;) (expression_statement "pcVar15 = (char *)0x20;" (assignment_expression "pcVar15 = (char *)0x20" identifier = (cast_expression "(char *)0x20" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "pcVar13 = strchr((char *)psVar25,0x20);" (assignment_expression "pcVar13 = strchr((char *)psVar25,0x20)" identifier = (call_expression "strchr((char *)psVar25,0x20)" identifier (argument_list "((char *)psVar25,0x20)" ( (cast_expression "(char *)psVar25" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) , number_literal )))) ;) (if_statement "if (pcVar12 == (char *)0x0) {\n            if (pcVar13 == (char *)0x0) {\n              puVar20 = (undefined *)((int)&psVar9->st_dev + 1);\n              psVar22 = (stat64 *)0x0;\n              psVar17 = extraout_ECX_00;\n              if ((undefined *)0x1 < local_91c) {\n                if ((stat64 *)puVar20 == local_91c) goto LAB_00012820;\n                goto LAB_00012a73;\n              }\n              if (local_91c == (stat64 *)0x0) {\n                if (puVar20 != (undefined *)0x1) {\nLAB_00012a73:\n                  pr2serr("need same number of arguments to \'--lba=\' and \'--num=\' options\n");\n                  local_908 = (stat64 *)0x1f;\n                  goto LAB_00012354;\n                }\n                local_91c = (stat64 *)(undefined *)0x1;\n                if (local_778[0] != (stat64 *)0x0) {\n                  pr2serr("won\'t write %u blocks without an explicit --lba= option\n",local_778[0],\n                          extraout_ECX_00,extraout_ECX_00);\n                  local_908 = (stat64 *)0x1;\n                  goto LAB_00012354;\n                }\n              }\n              else {\n                local_91c = (stat64 *)(undefined *)0x1;\n              }\n              goto LAB_00012820;\n            }\n          }\n          else if ((pcVar13 == (char *)0x0) || (pcVar12 <= pcVar13)) {\n            pcVar13 = pcVar12;\n          }" if (parenthesized_expression "(pcVar12 == (char *)0x0)" ( (binary_expression "pcVar12 == (char *)0x0" identifier == (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n            if (pcVar13 == (char *)0x0) {\n              puVar20 = (undefined *)((int)&psVar9->st_dev + 1);\n              psVar22 = (stat64 *)0x0;\n              psVar17 = extraout_ECX_00;\n              if ((undefined *)0x1 < local_91c) {\n                if ((stat64 *)puVar20 == local_91c) goto LAB_00012820;\n                goto LAB_00012a73;\n              }\n              if (local_91c == (stat64 *)0x0) {\n                if (puVar20 != (undefined *)0x1) {\nLAB_00012a73:\n                  pr2serr("need same number of arguments to \'--lba=\' and \'--num=\' options\n");\n                  local_908 = (stat64 *)0x1f;\n                  goto LAB_00012354;\n                }\n                local_91c = (stat64 *)(undefined *)0x1;\n                if (local_778[0] != (stat64 *)0x0) {\n                  pr2serr("won\'t write %u blocks without an explicit --lba= option\n",local_778[0],\n                          extraout_ECX_00,extraout_ECX_00);\n                  local_908 = (stat64 *)0x1;\n                  goto LAB_00012354;\n                }\n              }\n              else {\n                local_91c = (stat64 *)(undefined *)0x1;\n              }\n              goto LAB_00012820;\n            }\n          }" { (if_statement "if (pcVar13 == (char *)0x0) {\n              puVar20 = (undefined *)((int)&psVar9->st_dev + 1);\n              psVar22 = (stat64 *)0x0;\n              psVar17 = extraout_ECX_00;\n              if ((undefined *)0x1 < local_91c) {\n                if ((stat64 *)puVar20 == local_91c) goto LAB_00012820;\n                goto LAB_00012a73;\n              }\n              if (local_91c == (stat64 *)0x0) {\n                if (puVar20 != (undefined *)0x1) {\nLAB_00012a73:\n                  pr2serr("need same number of arguments to \'--lba=\' and \'--num=\' options\n");\n                  local_908 = (stat64 *)0x1f;\n                  goto LAB_00012354;\n                }\n                local_91c = (stat64 *)(undefined *)0x1;\n                if (local_778[0] != (stat64 *)0x0) {\n                  pr2serr("won\'t write %u blocks without an explicit --lba= option\n",local_778[0],\n                          extraout_ECX_00,extraout_ECX_00);\n                  local_908 = (stat64 *)0x1;\n                  goto LAB_00012354;\n                }\n              }\n              else {\n                local_91c = (stat64 *)(undefined *)0x1;\n              }\n              goto LAB_00012820;\n            }" if (parenthesized_expression "(pcVar13 == (char *)0x0)" ( (binary_expression "pcVar13 == (char *)0x0" identifier == (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n              puVar20 = (undefined *)((int)&psVar9->st_dev + 1);\n              psVar22 = (stat64 *)0x0;\n              psVar17 = extraout_ECX_00;\n              if ((undefined *)0x1 < local_91c) {\n                if ((stat64 *)puVar20 == local_91c) goto LAB_00012820;\n                goto LAB_00012a73;\n              }\n              if (local_91c == (stat64 *)0x0) {\n                if (puVar20 != (undefined *)0x1) {\nLAB_00012a73:\n                  pr2serr("need same number of arguments to \'--lba=\' and \'--num=\' options\n");\n                  local_908 = (stat64 *)0x1f;\n                  goto LAB_00012354;\n                }\n                local_91c = (stat64 *)(undefined *)0x1;\n                if (local_778[0] != (stat64 *)0x0) {\n                  pr2serr("won\'t write %u blocks without an explicit --lba= option\n",local_778[0],\n                          extraout_ECX_00,extraout_ECX_00);\n                  local_908 = (stat64 *)0x1;\n                  goto LAB_00012354;\n                }\n              }\n              else {\n                local_91c = (stat64 *)(undefined *)0x1;\n              }\n              goto LAB_00012820;\n            }" { (expression_statement "puVar20 = (undefined *)((int)&psVar9->st_dev + 1);" (assignment_expression "puVar20 = (undefined *)((int)&psVar9->st_dev + 1)" identifier = (cast_expression "(undefined *)((int)&psVar9->st_dev + 1)" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&psVar9->st_dev + 1)" ( (binary_expression "(int)&psVar9->st_dev + 1" (cast_expression "(int)&psVar9->st_dev" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&psVar9->st_dev" & (field_expression "psVar9->st_dev" identifier -> field_identifier))) + number_literal) )))) ;) (expression_statement "psVar22 = (stat64 *)0x0;" (assignment_expression "psVar22 = (stat64 *)0x0" identifier = (cast_expression "(stat64 *)0x0" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "psVar17 = extraout_ECX_00;" (assignment_expression "psVar17 = extraout_ECX_00" identifier = identifier) ;) (if_statement "if ((undefined *)0x1 < local_91c) {\n                if ((stat64 *)puVar20 == local_91c) goto LAB_00012820;\n                goto LAB_00012a73;\n              }" if (parenthesized_expression "((undefined *)0x1 < local_91c)" ( (binary_expression "(undefined *)0x1 < local_91c" (cast_expression "(undefined *)0x1" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal) < identifier) )) (compound_statement "{\n                if ((stat64 *)puVar20 == local_91c) goto LAB_00012820;\n                goto LAB_00012a73;\n              }" { (if_statement "if ((stat64 *)puVar20 == local_91c) goto LAB_00012820;" if (parenthesized_expression "((stat64 *)puVar20 == local_91c)" ( (binary_expression "(stat64 *)puVar20 == local_91c" (cast_expression "(stat64 *)puVar20" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) == identifier) )) (goto_statement "goto LAB_00012820;" goto statement_identifier ;)) (goto_statement "goto LAB_00012a73;" goto statement_identifier ;) })) (if_statement "if (local_91c == (stat64 *)0x0) {\n                if (puVar20 != (undefined *)0x1) {\nLAB_00012a73:\n                  pr2serr("need same number of arguments to \'--lba=\' and \'--num=\' options\n");\n                  local_908 = (stat64 *)0x1f;\n                  goto LAB_00012354;\n                }\n                local_91c = (stat64 *)(undefined *)0x1;\n                if (local_778[0] != (stat64 *)0x0) {\n                  pr2serr("won\'t write %u blocks without an explicit --lba= option\n",local_778[0],\n                          extraout_ECX_00,extraout_ECX_00);\n                  local_908 = (stat64 *)0x1;\n                  goto LAB_00012354;\n                }\n              }\n              else {\n                local_91c = (stat64 *)(undefined *)0x1;\n              }" if (parenthesized_expression "(local_91c == (stat64 *)0x0)" ( (binary_expression "local_91c == (stat64 *)0x0" identifier == (cast_expression "(stat64 *)0x0" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n                if (puVar20 != (undefined *)0x1) {\nLAB_00012a73:\n                  pr2serr("need same number of arguments to \'--lba=\' and \'--num=\' options\n");\n                  local_908 = (stat64 *)0x1f;\n                  goto LAB_00012354;\n                }\n                local_91c = (stat64 *)(undefined *)0x1;\n                if (local_778[0] != (stat64 *)0x0) {\n                  pr2serr("won\'t write %u blocks without an explicit --lba= option\n",local_778[0],\n                          extraout_ECX_00,extraout_ECX_00);\n                  local_908 = (stat64 *)0x1;\n                  goto LAB_00012354;\n                }\n              }" { (if_statement "if (puVar20 != (undefined *)0x1) {\nLAB_00012a73:\n                  pr2serr("need same number of arguments to \'--lba=\' and \'--num=\' options\n");\n                  local_908 = (stat64 *)0x1f;\n                  goto LAB_00012354;\n                }" if (parenthesized_expression "(puVar20 != (undefined *)0x1)" ( (binary_expression "puVar20 != (undefined *)0x1" identifier != (cast_expression "(undefined *)0x1" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\nLAB_00012a73:\n                  pr2serr("need same number of arguments to \'--lba=\' and \'--num=\' options\n");\n                  local_908 = (stat64 *)0x1f;\n                  goto LAB_00012354;\n                }" { (labeled_statement "LAB_00012a73:\n                  pr2serr("need same number of arguments to \'--lba=\' and \'--num=\' options\n");" statement_identifier : (expression_statement "pr2serr("need same number of arguments to \'--lba=\' and \'--num=\' options\n");" (call_expression "pr2serr("need same number of arguments to \'--lba=\' and \'--num=\' options\n")" identifier (argument_list "("need same number of arguments to \'--lba=\' and \'--num=\' options\n")" ( (string_literal ""need same number of arguments to \'--lba=\' and \'--num=\' options\n"" " string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence ") ))) ;)) (expression_statement "local_908 = (stat64 *)0x1f;" (assignment_expression "local_908 = (stat64 *)0x1f" identifier = (cast_expression "(stat64 *)0x1f" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (goto_statement "goto LAB_00012354;" goto statement_identifier ;) })) (expression_statement "local_91c = (stat64 *)(undefined *)0x1;" (assignment_expression "local_91c = (stat64 *)(undefined *)0x1" identifier = (cast_expression "(stat64 *)(undefined *)0x1" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) (cast_expression "(undefined *)0x1" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal))) ;) (if_statement "if (local_778[0] != (stat64 *)0x0) {\n                  pr2serr("won\'t write %u blocks without an explicit --lba= option\n",local_778[0],\n                          extraout_ECX_00,extraout_ECX_00);\n                  local_908 = (stat64 *)0x1;\n                  goto LAB_00012354;\n                }" if (parenthesized_expression "(local_778[0] != (stat64 *)0x0)" ( (binary_expression "local_778[0] != (stat64 *)0x0" (subscript_expression "local_778[0]" identifier [ number_literal ]) != (cast_expression "(stat64 *)0x0" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n                  pr2serr("won\'t write %u blocks without an explicit --lba= option\n",local_778[0],\n                          extraout_ECX_00,extraout_ECX_00);\n                  local_908 = (stat64 *)0x1;\n                  goto LAB_00012354;\n                }" { (expression_statement "pr2serr("won\'t write %u blocks without an explicit --lba= option\n",local_778[0],\n                          extraout_ECX_00,extraout_ECX_00);" (call_expression "pr2serr("won\'t write %u blocks without an explicit --lba= option\n",local_778[0],\n                          extraout_ECX_00,extraout_ECX_00)" identifier (argument_list "("won\'t write %u blocks without an explicit --lba= option\n",local_778[0],\n                          extraout_ECX_00,extraout_ECX_00)" ( (string_literal ""won\'t write %u blocks without an explicit --lba= option\n"" " string_content escape_sequence string_content escape_sequence ") , (subscript_expression "local_778[0]" identifier [ number_literal ]) , identifier , identifier ))) ;) (expression_statement "local_908 = (stat64 *)0x1;" (assignment_expression "local_908 = (stat64 *)0x1" identifier = (cast_expression "(stat64 *)0x1" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (goto_statement "goto LAB_00012354;" goto statement_identifier ;) })) }) (else_clause "else {\n                local_91c = (stat64 *)(undefined *)0x1;\n              }" else (compound_statement "{\n                local_91c = (stat64 *)(undefined *)0x1;\n              }" { (expression_statement "local_91c = (stat64 *)(undefined *)0x1;" (assignment_expression "local_91c = (stat64 *)(undefined *)0x1" identifier = (cast_expression "(stat64 *)(undefined *)0x1" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) (cast_expression "(undefined *)0x1" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal))) ;) }))) (goto_statement "goto LAB_00012820;" goto statement_identifier ;) })) }) (else_clause "else if ((pcVar13 == (char *)0x0) || (pcVar12 <= pcVar13)) {\n            pcVar13 = pcVar12;\n          }" else (if_statement "if ((pcVar13 == (char *)0x0) || (pcVar12 <= pcVar13)) {\n            pcVar13 = pcVar12;\n          }" if (parenthesized_expression "((pcVar13 == (char *)0x0) || (pcVar12 <= pcVar13))" ( (binary_expression "(pcVar13 == (char *)0x0) || (pcVar12 <= pcVar13)" (parenthesized_expression "(pcVar13 == (char *)0x0)" ( (binary_expression "pcVar13 == (char *)0x0" identifier == (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) || (parenthesized_expression "(pcVar12 <= pcVar13)" ( (binary_expression "pcVar12 <= pcVar13" identifier <= identifier) ))) )) (compound_statement "{\n            pcVar13 = pcVar12;\n          }" { (expression_statement "pcVar13 = pcVar12;" (assignment_expression "pcVar13 = pcVar12" identifier = identifier) ;) })))) (expression_statement "psVar9 = (stat64 *)((int)&psVar9->st_dev + 1);" (assignment_expression "psVar9 = (stat64 *)((int)&psVar9->st_dev + 1)" identifier = (cast_expression "(stat64 *)((int)&psVar9->st_dev + 1)" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&psVar9->st_dev + 1)" ( (binary_expression "(int)&psVar9->st_dev + 1" (cast_expression "(int)&psVar9->st_dev" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&psVar9->st_dev" & (field_expression "psVar9->st_dev" identifier -> field_identifier))) + number_literal) )))) ;) (expression_statement "psVar25 = (stat64 *)(pcVar13 + 1);" (assignment_expression "psVar25 = (stat64 *)(pcVar13 + 1)" identifier = (cast_expression "(stat64 *)(pcVar13 + 1)" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar13 + 1)" ( (binary_expression "pcVar13 + 1" identifier + number_literal) )))) ;) }) while (parenthesized_expression "(psVar9 != (stat64 *)0x80)" ( (binary_expression "psVar9 != (stat64 *)0x80" identifier != (cast_expression "(stat64 *)0x80" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) ;) (expression_statement "pcVar15 = "build_num_arr";" (assignment_expression "pcVar15 = "build_num_arr"" identifier = (string_literal ""build_num_arr"" " string_content ")) ;) (expression_statement "psVar17 = extraout_ECX_00;" (assignment_expression "psVar17 = extraout_ECX_00" identifier = identifier) ;) (expression_statement "psVar9 = extraout_ECX_00;" (assignment_expression "psVar9 = extraout_ECX_00" identifier = identifier) ;) (expression_statement "pr2serr("%s: array length exceeded\n","build_num_arr",extraout_ECX_00,extraout_ECX_00);" (call_expression "pr2serr("%s: array length exceeded\n","build_num_arr",extraout_ECX_00,extraout_ECX_00)" identifier (argument_list "("%s: array length exceeded\n","build_num_arr",extraout_ECX_00,extraout_ECX_00)" ( (string_literal ""%s: array length exceeded\n"" " string_content escape_sequence ") , (string_literal ""build_num_arr"" " string_content ") , identifier , identifier ))) ;) }) (else_clause "else {\nLAB_000127bf:\n        psVar17 = (stat64 *)((int)&psVar22->st_dev + 1);\n        pcVar15 = "build_num_arr";\n        pr2serr("%s: error at pos %d\n","build_num_arr",psVar17,psVar9);\n      }" else (compound_statement "{\nLAB_000127bf:\n        psVar17 = (stat64 *)((int)&psVar22->st_dev + 1);\n        pcVar15 = "build_num_arr";\n        pr2serr("%s: error at pos %d\n","build_num_arr",psVar17,psVar9);\n      }" { (labeled_statement "LAB_000127bf:\n        psVar17 = (stat64 *)((int)&psVar22->st_dev + 1);" statement_identifier : (expression_statement "psVar17 = (stat64 *)((int)&psVar22->st_dev + 1);" (assignment_expression "psVar17 = (stat64 *)((int)&psVar22->st_dev + 1)" identifier = (cast_expression "(stat64 *)((int)&psVar22->st_dev + 1)" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&psVar22->st_dev + 1)" ( (binary_expression "(int)&psVar22->st_dev + 1" (cast_expression "(int)&psVar22->st_dev" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&psVar22->st_dev" & (field_expression "psVar22->st_dev" identifier -> field_identifier))) + number_literal) )))) ;)) (expression_statement "pcVar15 = "build_num_arr";" (assignment_expression "pcVar15 = "build_num_arr"" identifier = (string_literal ""build_num_arr"" " string_content ")) ;) (expression_statement "pr2serr("%s: error at pos %d\n","build_num_arr",psVar17,psVar9);" (call_expression "pr2serr("%s: error at pos %d\n","build_num_arr",psVar17,psVar9)" identifier (argument_list "("%s: error at pos %d\n","build_num_arr",psVar17,psVar9)" ( (string_literal ""%s: error at pos %d\n"" " string_content escape_sequence ") , (string_literal ""build_num_arr"" " string_content ") , identifier , identifier ))) ;) }))) }))) (labeled_statement "LAB_000127d9:\n    pr2serr("bad argument to \'--num\'\n",pcVar15,psVar17,psVar9);" statement_identifier : (expression_statement "pr2serr("bad argument to \'--num\'\n",pcVar15,psVar17,psVar9);" (call_expression "pr2serr("bad argument to \'--num\'\n",pcVar15,psVar17,psVar9)" identifier (argument_list "("bad argument to \'--num\'\n",pcVar15,psVar17,psVar9)" ( (string_literal ""bad argument to \'--num\'\n"" " string_content escape_sequence string_content escape_sequence escape_sequence ") , identifier , identifier , identifier ))) ;)) (expression_statement "local_908 = (stat64 *)0x0;" (assignment_expression "local_908 = (stat64 *)0x0" identifier = (cast_expression "(stat64 *)0x0" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (goto_statement "goto LAB_00012354;" goto statement_identifier ;) })) (expression_statement "psVar17 = (stat64 *)0x0;" (assignment_expression "psVar17 = (stat64 *)0x0" identifier = (cast_expression "(stat64 *)0x0" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_91c = (stat64 *)(undefined *)0x0;" (assignment_expression "local_91c = (stat64 *)(undefined *)0x0" identifier = (cast_expression "(stat64 *)(undefined *)0x0" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) (cast_expression "(undefined *)0x0" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal))) ;) (labeled_statement "LAB_00012820:\n  if (local_798 == (char *)0x0) {\nLAB_00012ce5:\n    local_908 = (stat64 *)0x0;\n    local_880._44_4_ = psVar25;\n  }\n  else {\n    pcVar15 = local_798;\n    iVar14 = __xstat64(3,local_798,psVar18);\n    if (iVar14 < 0) {\n      piVar19 = __errno_location();\n      psVar25 = (stat64 *)*piVar19;\n      uVar16 = safe_strerror(psVar25);\n      pcVar15 = "Unable to stat(%s) as SF: %s\n";\nLAB_000136f9:\n      pr2serr(pcVar15,local_798,uVar16);\n      local_908 = (stat64 *)sg_convert_errno(psVar25);\n      goto LAB_00012354;\n    }\n    if (local_819 == '\0') {\n      iVar14 = 0;\n      if (local_7e0 != 0) {\n        iVar14 = (local_7e0 + 1) * 0x20;\n      }\n      local_908 = (stat64 *)FUN_000156d0(0,&local_8f8,&local_8f4,iVar14);\n      if (local_908 != (stat64 *)0x0) goto LAB_00012354;\n      psVar17 = extraout_ECX_04;\n      if ((local_7e0 != 0) && (local_7e0 != local_8f8)) {\n        if (local_8f8 < local_7e0) {\n          pr2serr("RD (%u) %s number of %ss (%u) found in SF\n",local_7e0,&DAT_000170dd,\n                  "LBA range descriptor",local_8f8);\n          local_908 = (stat64 *)0xf;\n          goto LAB_00012354;\n        }\n        psVar25 = (stat64 *)((uint)psVar38 | local_7f8);\n        if ((psVar25 != (stat64 *)0x0) &&\n           (pr2serr("RD (%u) %s number of %ss (%u) found in SF\n",local_7e0,&DAT_00017110,\n                    "LBA range descriptor",local_8f8), psVar17 = extraout_ECX_01, local_7f8 != 0))\n        goto LAB_00012ef5;\n      }\n      goto LAB_00012ce5;\n    }\n    if ((local_880._16_4_ & 0xf000) != 0x8000) {\n      pr2serr("Expect scatter file to be a regular file\n",pcVar15,psVar18,psVar22);\n      local_908 = (stat64 *)0xf;\n      goto LAB_00012354;\n    }\n    local_908 = (stat64 *)local_880._44_4_;\n    local_920 = (stat64 *)open64(local_798,0,0x8000,0x8000);\n    if ((int)local_920 < 0) {\n      piVar19 = __errno_location();\n      psVar25 = (stat64 *)*piVar19;\n      uVar16 = safe_strerror(psVar25);\n      pcVar15 = "Failed to open %s for raw read: %s\n";\n      goto LAB_000136f9;\n    }\n    iVar14 = sg_set_binary_mode(local_920);\n    psVar17 = extraout_ECX_05;\n    if (iVar14 < 0) {\n      perror("sg_set_binary_mode");\n      local_908 = (stat64 *)0xf;\n      psVar25 = (stat64 *)local_880._44_4_;\n      goto LAB_00012354;\n    }\n  }" statement_identifier : (if_statement "if (local_798 == (char *)0x0) {\nLAB_00012ce5:\n    local_908 = (stat64 *)0x0;\n    local_880._44_4_ = psVar25;\n  }\n  else {\n    pcVar15 = local_798;\n    iVar14 = __xstat64(3,local_798,psVar18);\n    if (iVar14 < 0) {\n      piVar19 = __errno_location();\n      psVar25 = (stat64 *)*piVar19;\n      uVar16 = safe_strerror(psVar25);\n      pcVar15 = "Unable to stat(%s) as SF: %s\n";\nLAB_000136f9:\n      pr2serr(pcVar15,local_798,uVar16);\n      local_908 = (stat64 *)sg_convert_errno(psVar25);\n      goto LAB_00012354;\n    }\n    if (local_819 == '\0') {\n      iVar14 = 0;\n      if (local_7e0 != 0) {\n        iVar14 = (local_7e0 + 1) * 0x20;\n      }\n      local_908 = (stat64 *)FUN_000156d0(0,&local_8f8,&local_8f4,iVar14);\n      if (local_908 != (stat64 *)0x0) goto LAB_00012354;\n      psVar17 = extraout_ECX_04;\n      if ((local_7e0 != 0) && (local_7e0 != local_8f8)) {\n        if (local_8f8 < local_7e0) {\n          pr2serr("RD (%u) %s number of %ss (%u) found in SF\n",local_7e0,&DAT_000170dd,\n                  "LBA range descriptor",local_8f8);\n          local_908 = (stat64 *)0xf;\n          goto LAB_00012354;\n        }\n        psVar25 = (stat64 *)((uint)psVar38 | local_7f8);\n        if ((psVar25 != (stat64 *)0x0) &&\n           (pr2serr("RD (%u) %s number of %ss (%u) found in SF\n",local_7e0,&DAT_00017110,\n                    "LBA range descriptor",local_8f8), psVar17 = extraout_ECX_01, local_7f8 != 0))\n        goto LAB_00012ef5;\n      }\n      goto LAB_00012ce5;\n    }\n    if ((local_880._16_4_ & 0xf000) != 0x8000) {\n      pr2serr("Expect scatter file to be a regular file\n",pcVar15,psVar18,psVar22);\n      local_908 = (stat64 *)0xf;\n      goto LAB_00012354;\n    }\n    local_908 = (stat64 *)local_880._44_4_;\n    local_920 = (stat64 *)open64(local_798,0,0x8000,0x8000);\n    if ((int)local_920 < 0) {\n      piVar19 = __errno_location();\n      psVar25 = (stat64 *)*piVar19;\n      uVar16 = safe_strerror(psVar25);\n      pcVar15 = "Failed to open %s for raw read: %s\n";\n      goto LAB_000136f9;\n    }\n    iVar14 = sg_set_binary_mode(local_920);\n    psVar17 = extraout_ECX_05;\n    if (iVar14 < 0) {\n      perror("sg_set_binary_mode");\n      local_908 = (stat64 *)0xf;\n      psVar25 = (stat64 *)local_880._44_4_;\n      goto LAB_00012354;\n    }\n  }" if (parenthesized_expression "(local_798 == (char *)0x0)" ( (binary_expression "local_798 == (char *)0x0" identifier == (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\nLAB_00012ce5:\n    local_908 = (stat64 *)0x0;\n    local_880._44_4_ = psVar25;\n  }" { (labeled_statement "LAB_00012ce5:\n    local_908 = (stat64 *)0x0;" statement_identifier : (expression_statement "local_908 = (stat64 *)0x0;" (assignment_expression "local_908 = (stat64 *)0x0" identifier = (cast_expression "(stat64 *)0x0" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;)) (expression_statement "local_880._44_4_ = psVar25;" (assignment_expression "local_880._44_4_ = psVar25" (field_expression "local_880._44_4_" identifier . field_identifier) = identifier) ;) }) (else_clause "else {\n    pcVar15 = local_798;\n    iVar14 = __xstat64(3,local_798,psVar18);\n    if (iVar14 < 0) {\n      piVar19 = __errno_location();\n      psVar25 = (stat64 *)*piVar19;\n      uVar16 = safe_strerror(psVar25);\n      pcVar15 = "Unable to stat(%s) as SF: %s\n";\nLAB_000136f9:\n      pr2serr(pcVar15,local_798,uVar16);\n      local_908 = (stat64 *)sg_convert_errno(psVar25);\n      goto LAB_00012354;\n    }\n    if (local_819 == '\0') {\n      iVar14 = 0;\n      if (local_7e0 != 0) {\n        iVar14 = (local_7e0 + 1) * 0x20;\n      }\n      local_908 = (stat64 *)FUN_000156d0(0,&local_8f8,&local_8f4,iVar14);\n      if (local_908 != (stat64 *)0x0) goto LAB_00012354;\n      psVar17 = extraout_ECX_04;\n      if ((local_7e0 != 0) && (local_7e0 != local_8f8)) {\n        if (local_8f8 < local_7e0) {\n          pr2serr("RD (%u) %s number of %ss (%u) found in SF\n",local_7e0,&DAT_000170dd,\n                  "LBA range descriptor",local_8f8);\n          local_908 = (stat64 *)0xf;\n          goto LAB_00012354;\n        }\n        psVar25 = (stat64 *)((uint)psVar38 | local_7f8);\n        if ((psVar25 != (stat64 *)0x0) &&\n           (pr2serr("RD (%u) %s number of %ss (%u) found in SF\n",local_7e0,&DAT_00017110,\n                    "LBA range descriptor",local_8f8), psVar17 = extraout_ECX_01, local_7f8 != 0))\n        goto LAB_00012ef5;\n      }\n      goto LAB_00012ce5;\n    }\n    if ((local_880._16_4_ & 0xf000) != 0x8000) {\n      pr2serr("Expect scatter file to be a regular file\n",pcVar15,psVar18,psVar22);\n      local_908 = (stat64 *)0xf;\n      goto LAB_00012354;\n    }\n    local_908 = (stat64 *)local_880._44_4_;\n    local_920 = (stat64 *)open64(local_798,0,0x8000,0x8000);\n    if ((int)local_920 < 0) {\n      piVar19 = __errno_location();\n      psVar25 = (stat64 *)*piVar19;\n      uVar16 = safe_strerror(psVar25);\n      pcVar15 = "Failed to open %s for raw read: %s\n";\n      goto LAB_000136f9;\n    }\n    iVar14 = sg_set_binary_mode(local_920);\n    psVar17 = extraout_ECX_05;\n    if (iVar14 < 0) {\n      perror("sg_set_binary_mode");\n      local_908 = (stat64 *)0xf;\n      psVar25 = (stat64 *)local_880._44_4_;\n      goto LAB_00012354;\n    }\n  }" else (compound_statement "{\n    pcVar15 = local_798;\n    iVar14 = __xstat64(3,local_798,psVar18);\n    if (iVar14 < 0) {\n      piVar19 = __errno_location();\n      psVar25 = (stat64 *)*piVar19;\n      uVar16 = safe_strerror(psVar25);\n      pcVar15 = "Unable to stat(%s) as SF: %s\n";\nLAB_000136f9:\n      pr2serr(pcVar15,local_798,uVar16);\n      local_908 = (stat64 *)sg_convert_errno(psVar25);\n      goto LAB_00012354;\n    }\n    if (local_819 == '\0') {\n      iVar14 = 0;\n      if (local_7e0 != 0) {\n        iVar14 = (local_7e0 + 1) * 0x20;\n      }\n      local_908 = (stat64 *)FUN_000156d0(0,&local_8f8,&local_8f4,iVar14);\n      if (local_908 != (stat64 *)0x0) goto LAB_00012354;\n      psVar17 = extraout_ECX_04;\n      if ((local_7e0 != 0) && (local_7e0 != local_8f8)) {\n        if (local_8f8 < local_7e0) {\n          pr2serr("RD (%u) %s number of %ss (%u) found in SF\n",local_7e0,&DAT_000170dd,\n                  "LBA range descriptor",local_8f8);\n          local_908 = (stat64 *)0xf;\n          goto LAB_00012354;\n        }\n        psVar25 = (stat64 *)((uint)psVar38 | local_7f8);\n        if ((psVar25 != (stat64 *)0x0) &&\n           (pr2serr("RD (%u) %s number of %ss (%u) found in SF\n",local_7e0,&DAT_00017110,\n                    "LBA range descriptor",local_8f8), psVar17 = extraout_ECX_01, local_7f8 != 0))\n        goto LAB_00012ef5;\n      }\n      goto LAB_00012ce5;\n    }\n    if ((local_880._16_4_ & 0xf000) != 0x8000) {\n      pr2serr("Expect scatter file to be a regular file\n",pcVar15,psVar18,psVar22);\n      local_908 = (stat64 *)0xf;\n      goto LAB_00012354;\n    }\n    local_908 = (stat64 *)local_880._44_4_;\n    local_920 = (stat64 *)open64(local_798,0,0x8000,0x8000);\n    if ((int)local_920 < 0) {\n      piVar19 = __errno_location();\n      psVar25 = (stat64 *)*piVar19;\n      uVar16 = safe_strerror(psVar25);\n      pcVar15 = "Failed to open %s for raw read: %s\n";\n      goto LAB_000136f9;\n    }\n    iVar14 = sg_set_binary_mode(local_920);\n    psVar17 = extraout_ECX_05;\n    if (iVar14 < 0) {\n      perror("sg_set_binary_mode");\n      local_908 = (stat64 *)0xf;\n      psVar25 = (stat64 *)local_880._44_4_;\n      goto LAB_00012354;\n    }\n  }" { (expression_statement "pcVar15 = local_798;" (assignment_expression "pcVar15 = local_798" identifier = identifier) ;) (expression_statement "iVar14 = __xstat64(3,local_798,psVar18);" (assignment_expression "iVar14 = __xstat64(3,local_798,psVar18)" identifier = (call_expression "__xstat64(3,local_798,psVar18)" identifier (argument_list "(3,local_798,psVar18)" ( number_literal , identifier , identifier )))) ;) (if_statement "if (iVar14 < 0) {\n      piVar19 = __errno_location();\n      psVar25 = (stat64 *)*piVar19;\n      uVar16 = safe_strerror(psVar25);\n      pcVar15 = "Unable to stat(%s) as SF: %s\n";\nLAB_000136f9:\n      pr2serr(pcVar15,local_798,uVar16);\n      local_908 = (stat64 *)sg_convert_errno(psVar25);\n      goto LAB_00012354;\n    }" if (parenthesized_expression "(iVar14 < 0)" ( (binary_expression "iVar14 < 0" identifier < number_literal) )) (compound_statement "{\n      piVar19 = __errno_location();\n      psVar25 = (stat64 *)*piVar19;\n      uVar16 = safe_strerror(psVar25);\n      pcVar15 = "Unable to stat(%s) as SF: %s\n";\nLAB_000136f9:\n      pr2serr(pcVar15,local_798,uVar16);\n      local_908 = (stat64 *)sg_convert_errno(psVar25);\n      goto LAB_00012354;\n    }" { (expression_statement "piVar19 = __errno_location();" (assignment_expression "piVar19 = __errno_location()" identifier = (call_expression "__errno_location()" identifier (argument_list "()" ( )))) ;) (expression_statement "psVar25 = (stat64 *)*piVar19;" (assignment_expression "psVar25 = (stat64 *)*piVar19" identifier = (cast_expression "(stat64 *)*piVar19" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*piVar19" * identifier))) ;) (expression_statement "uVar16 = safe_strerror(psVar25);" (assignment_expression "uVar16 = safe_strerror(psVar25)" identifier = (call_expression "safe_strerror(psVar25)" identifier (argument_list "(psVar25)" ( identifier )))) ;) (expression_statement "pcVar15 = "Unable to stat(%s) as SF: %s\n";" (assignment_expression "pcVar15 = "Unable to stat(%s) as SF: %s\n"" identifier = (string_literal ""Unable to stat(%s) as SF: %s\n"" " string_content escape_sequence ")) ;) (labeled_statement "LAB_000136f9:\n      pr2serr(pcVar15,local_798,uVar16);" statement_identifier : (expression_statement "pr2serr(pcVar15,local_798,uVar16);" (call_expression "pr2serr(pcVar15,local_798,uVar16)" identifier (argument_list "(pcVar15,local_798,uVar16)" ( identifier , identifier , identifier ))) ;)) (expression_statement "local_908 = (stat64 *)sg_convert_errno(psVar25);" (assignment_expression "local_908 = (stat64 *)sg_convert_errno(psVar25)" identifier = (cast_expression "(stat64 *)sg_convert_errno(psVar25)" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "sg_convert_errno(psVar25)" identifier (argument_list "(psVar25)" ( identifier ))))) ;) (goto_statement "goto LAB_00012354;" goto statement_identifier ;) })) (if_statement "if (local_819 == '\0') {\n      iVar14 = 0;\n      if (local_7e0 != 0) {\n        iVar14 = (local_7e0 + 1) * 0x20;\n      }\n      local_908 = (stat64 *)FUN_000156d0(0,&local_8f8,&local_8f4,iVar14);\n      if (local_908 != (stat64 *)0x0) goto LAB_00012354;\n      psVar17 = extraout_ECX_04;\n      if ((local_7e0 != 0) && (local_7e0 != local_8f8)) {\n        if (local_8f8 < local_7e0) {\n          pr2serr("RD (%u) %s number of %ss (%u) found in SF\n",local_7e0,&DAT_000170dd,\n                  "LBA range descriptor",local_8f8);\n          local_908 = (stat64 *)0xf;\n          goto LAB_00012354;\n        }\n        psVar25 = (stat64 *)((uint)psVar38 | local_7f8);\n        if ((psVar25 != (stat64 *)0x0) &&\n           (pr2serr("RD (%u) %s number of %ss (%u) found in SF\n",local_7e0,&DAT_00017110,\n                    "LBA range descriptor",local_8f8), psVar17 = extraout_ECX_01, local_7f8 != 0))\n        goto LAB_00012ef5;\n      }\n      goto LAB_00012ce5;\n    }" if (parenthesized_expression "(local_819 == '\0')" ( (binary_expression "local_819 == '\0'" identifier == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n      iVar14 = 0;\n      if (local_7e0 != 0) {\n        iVar14 = (local_7e0 + 1) * 0x20;\n      }\n      local_908 = (stat64 *)FUN_000156d0(0,&local_8f8,&local_8f4,iVar14);\n      if (local_908 != (stat64 *)0x0) goto LAB_00012354;\n      psVar17 = extraout_ECX_04;\n      if ((local_7e0 != 0) && (local_7e0 != local_8f8)) {\n        if (local_8f8 < local_7e0) {\n          pr2serr("RD (%u) %s number of %ss (%u) found in SF\n",local_7e0,&DAT_000170dd,\n                  "LBA range descriptor",local_8f8);\n          local_908 = (stat64 *)0xf;\n          goto LAB_00012354;\n        }\n        psVar25 = (stat64 *)((uint)psVar38 | local_7f8);\n        if ((psVar25 != (stat64 *)0x0) &&\n           (pr2serr("RD (%u) %s number of %ss (%u) found in SF\n",local_7e0,&DAT_00017110,\n                    "LBA range descriptor",local_8f8), psVar17 = extraout_ECX_01, local_7f8 != 0))\n        goto LAB_00012ef5;\n      }\n      goto LAB_00012ce5;\n    }" { (expression_statement "iVar14 = 0;" (assignment_expression "iVar14 = 0" identifier = number_literal) ;) (if_statement "if (local_7e0 != 0) {\n        iVar14 = (local_7e0 + 1) * 0x20;\n      }" if (parenthesized_expression "(local_7e0 != 0)" ( (binary_expression "local_7e0 != 0" identifier != number_literal) )) (compound_statement "{\n        iVar14 = (local_7e0 + 1) * 0x20;\n      }" { (expression_statement "iVar14 = (local_7e0 + 1) * 0x20;" (assignment_expression "iVar14 = (local_7e0 + 1) * 0x20" identifier = (binary_expression "(local_7e0 + 1) * 0x20" (parenthesized_expression "(local_7e0 + 1)" ( (binary_expression "local_7e0 + 1" identifier + number_literal) )) * number_literal)) ;) })) (expression_statement "local_908 = (stat64 *)FUN_000156d0(0,&local_8f8,&local_8f4,iVar14);" (assignment_expression "local_908 = (stat64 *)FUN_000156d0(0,&local_8f8,&local_8f4,iVar14)" identifier = (cast_expression "(stat64 *)FUN_000156d0(0,&local_8f8,&local_8f4,iVar14)" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_000156d0(0,&local_8f8,&local_8f4,iVar14)" identifier (argument_list "(0,&local_8f8,&local_8f4,iVar14)" ( number_literal , (pointer_expression "&local_8f8" & identifier) , (pointer_expression "&local_8f4" & identifier) , identifier ))))) ;) (if_statement "if (local_908 != (stat64 *)0x0) goto LAB_00012354;" if (parenthesized_expression "(local_908 != (stat64 *)0x0)" ( (binary_expression "local_908 != (stat64 *)0x0" identifier != (cast_expression "(stat64 *)0x0" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_00012354;" goto statement_identifier ;)) (expression_statement "psVar17 = extraout_ECX_04;" (assignment_expression "psVar17 = extraout_ECX_04" identifier = identifier) ;) (if_statement "if ((local_7e0 != 0) && (local_7e0 != local_8f8)) {\n        if (local_8f8 < local_7e0) {\n          pr2serr("RD (%u) %s number of %ss (%u) found in SF\n",local_7e0,&DAT_000170dd,\n                  "LBA range descriptor",local_8f8);\n          local_908 = (stat64 *)0xf;\n          goto LAB_00012354;\n        }\n        psVar25 = (stat64 *)((uint)psVar38 | local_7f8);\n        if ((psVar25 != (stat64 *)0x0) &&\n           (pr2serr("RD (%u) %s number of %ss (%u) found in SF\n",local_7e0,&DAT_00017110,\n                    "LBA range descriptor",local_8f8), psVar17 = extraout_ECX_01, local_7f8 != 0))\n        goto LAB_00012ef5;\n      }" if (parenthesized_expression "((local_7e0 != 0) && (local_7e0 != local_8f8))" ( (binary_expression "(local_7e0 != 0) && (local_7e0 != local_8f8)" (parenthesized_expression "(local_7e0 != 0)" ( (binary_expression "local_7e0 != 0" identifier != number_literal) )) && (parenthesized_expression "(local_7e0 != local_8f8)" ( (binary_expression "local_7e0 != local_8f8" identifier != identifier) ))) )) (compound_statement "{\n        if (local_8f8 < local_7e0) {\n          pr2serr("RD (%u) %s number of %ss (%u) found in SF\n",local_7e0,&DAT_000170dd,\n                  "LBA range descriptor",local_8f8);\n          local_908 = (stat64 *)0xf;\n          goto LAB_00012354;\n        }\n        psVar25 = (stat64 *)((uint)psVar38 | local_7f8);\n        if ((psVar25 != (stat64 *)0x0) &&\n           (pr2serr("RD (%u) %s number of %ss (%u) found in SF\n",local_7e0,&DAT_00017110,\n                    "LBA range descriptor",local_8f8), psVar17 = extraout_ECX_01, local_7f8 != 0))\n        goto LAB_00012ef5;\n      }" { (if_statement "if (local_8f8 < local_7e0) {\n          pr2serr("RD (%u) %s number of %ss (%u) found in SF\n",local_7e0,&DAT_000170dd,\n                  "LBA range descriptor",local_8f8);\n          local_908 = (stat64 *)0xf;\n          goto LAB_00012354;\n        }" if (parenthesized_expression "(local_8f8 < local_7e0)" ( (binary_expression "local_8f8 < local_7e0" identifier < identifier) )) (compound_statement "{\n          pr2serr("RD (%u) %s number of %ss (%u) found in SF\n",local_7e0,&DAT_000170dd,\n                  "LBA range descriptor",local_8f8);\n          local_908 = (stat64 *)0xf;\n          goto LAB_00012354;\n        }" { (expression_statement "pr2serr("RD (%u) %s number of %ss (%u) found in SF\n",local_7e0,&DAT_000170dd,\n                  "LBA range descriptor",local_8f8);" (call_expression "pr2serr("RD (%u) %s number of %ss (%u) found in SF\n",local_7e0,&DAT_000170dd,\n                  "LBA range descriptor",local_8f8)" identifier (argument_list "("RD (%u) %s number of %ss (%u) found in SF\n",local_7e0,&DAT_000170dd,\n                  "LBA range descriptor",local_8f8)" ( (string_literal ""RD (%u) %s number of %ss (%u) found in SF\n"" " string_content escape_sequence ") , identifier , (pointer_expression "&DAT_000170dd" & identifier) , (string_literal ""LBA range descriptor"" " string_content ") , identifier ))) ;) (expression_statement "local_908 = (stat64 *)0xf;" (assignment_expression "local_908 = (stat64 *)0xf" identifier = (cast_expression "(stat64 *)0xf" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (goto_statement "goto LAB_00012354;" goto statement_identifier ;) })) (expression_statement "psVar25 = (stat64 *)((uint)psVar38 | local_7f8);" (assignment_expression "psVar25 = (stat64 *)((uint)psVar38 | local_7f8)" identifier = (cast_expression "(stat64 *)((uint)psVar38 | local_7f8)" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((uint)psVar38 | local_7f8)" ( (binary_expression "(uint)psVar38 | local_7f8" (cast_expression "(uint)psVar38" ( (type_descriptor "uint" type_identifier) ) identifier) | identifier) )))) ;) (if_statement "if ((psVar25 != (stat64 *)0x0) &&\n           (pr2serr("RD (%u) %s number of %ss (%u) found in SF\n",local_7e0,&DAT_00017110,\n                    "LBA range descriptor",local_8f8), psVar17 = extraout_ECX_01, local_7f8 != 0))\n        goto LAB_00012ef5;" if (parenthesized_expression "((psVar25 != (stat64 *)0x0) &&\n           (pr2serr("RD (%u) %s number of %ss (%u) found in SF\n",local_7e0,&DAT_00017110,\n                    "LBA range descriptor",local_8f8), psVar17 = extraout_ECX_01, local_7f8 != 0))" ( (binary_expression "(psVar25 != (stat64 *)0x0) &&\n           (pr2serr("RD (%u) %s number of %ss (%u) found in SF\n",local_7e0,&DAT_00017110,\n                    "LBA range descriptor",local_8f8), psVar17 = extraout_ECX_01, local_7f8 != 0)" (parenthesized_expression "(psVar25 != (stat64 *)0x0)" ( (binary_expression "psVar25 != (stat64 *)0x0" identifier != (cast_expression "(stat64 *)0x0" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) && (parenthesized_expression "(pr2serr("RD (%u) %s number of %ss (%u) found in SF\n",local_7e0,&DAT_00017110,\n                    "LBA range descriptor",local_8f8), psVar17 = extraout_ECX_01, local_7f8 != 0)" ( (comma_expression "pr2serr("RD (%u) %s number of %ss (%u) found in SF\n",local_7e0,&DAT_00017110,\n                    "LBA range descriptor",local_8f8), psVar17 = extraout_ECX_01, local_7f8 != 0" (call_expression "pr2serr("RD (%u) %s number of %ss (%u) found in SF\n",local_7e0,&DAT_00017110,\n                    "LBA range descriptor",local_8f8)" identifier (argument_list "("RD (%u) %s number of %ss (%u) found in SF\n",local_7e0,&DAT_00017110,\n                    "LBA range descriptor",local_8f8)" ( (string_literal ""RD (%u) %s number of %ss (%u) found in SF\n"" " string_content escape_sequence ") , identifier , (pointer_expression "&DAT_00017110" & identifier) , (string_literal ""LBA range descriptor"" " string_content ") , identifier ))) , (comma_expression "psVar17 = extraout_ECX_01, local_7f8 != 0" (assignment_expression "psVar17 = extraout_ECX_01" identifier = identifier) , (binary_expression "local_7f8 != 0" identifier != number_literal))) ))) )) (goto_statement "goto LAB_00012ef5;" goto statement_identifier ;)) })) (goto_statement "goto LAB_00012ce5;" goto statement_identifier ;) })) (if_statement "if ((local_880._16_4_ & 0xf000) != 0x8000) {\n      pr2serr("Expect scatter file to be a regular file\n",pcVar15,psVar18,psVar22);\n      local_908 = (stat64 *)0xf;\n      goto LAB_00012354;\n    }" if (parenthesized_expression "((local_880._16_4_ & 0xf000) != 0x8000)" ( (binary_expression "(local_880._16_4_ & 0xf000) != 0x8000" (parenthesized_expression "(local_880._16_4_ & 0xf000)" ( (binary_expression "local_880._16_4_ & 0xf000" (field_expression "local_880._16_4_" identifier . field_identifier) & number_literal) )) != number_literal) )) (compound_statement "{\n      pr2serr("Expect scatter file to be a regular file\n",pcVar15,psVar18,psVar22);\n      local_908 = (stat64 *)0xf;\n      goto LAB_00012354;\n    }" { (expression_statement "pr2serr("Expect scatter file to be a regular file\n",pcVar15,psVar18,psVar22);" (call_expression "pr2serr("Expect scatter file to be a regular file\n",pcVar15,psVar18,psVar22)" identifier (argument_list "("Expect scatter file to be a regular file\n",pcVar15,psVar18,psVar22)" ( (string_literal ""Expect scatter file to be a regular file\n"" " string_content escape_sequence ") , identifier , identifier , identifier ))) ;) (expression_statement "local_908 = (stat64 *)0xf;" (assignment_expression "local_908 = (stat64 *)0xf" identifier = (cast_expression "(stat64 *)0xf" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (goto_statement "goto LAB_00012354;" goto statement_identifier ;) })) (expression_statement "local_908 = (stat64 *)local_880._44_4_;" (assignment_expression "local_908 = (stat64 *)local_880._44_4_" identifier = (cast_expression "(stat64 *)local_880._44_4_" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "local_880._44_4_" identifier . field_identifier))) ;) (expression_statement "local_920 = (stat64 *)open64(local_798,0,0x8000,0x8000);" (assignment_expression "local_920 = (stat64 *)open64(local_798,0,0x8000,0x8000)" identifier = (cast_expression "(stat64 *)open64(local_798,0,0x8000,0x8000)" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "open64(local_798,0,0x8000,0x8000)" identifier (argument_list "(local_798,0,0x8000,0x8000)" ( identifier , number_literal , number_literal , number_literal ))))) ;) (if_statement "if ((int)local_920 < 0) {\n      piVar19 = __errno_location();\n      psVar25 = (stat64 *)*piVar19;\n      uVar16 = safe_strerror(psVar25);\n      pcVar15 = "Failed to open %s for raw read: %s\n";\n      goto LAB_000136f9;\n    }" if (parenthesized_expression "((int)local_920 < 0)" ( (binary_expression "(int)local_920 < 0" (cast_expression "(int)local_920" ( (type_descriptor "int" primitive_type) ) identifier) < number_literal) )) (compound_statement "{\n      piVar19 = __errno_location();\n      psVar25 = (stat64 *)*piVar19;\n      uVar16 = safe_strerror(psVar25);\n      pcVar15 = "Failed to open %s for raw read: %s\n";\n      goto LAB_000136f9;\n    }" { (expression_statement "piVar19 = __errno_location();" (assignment_expression "piVar19 = __errno_location()" identifier = (call_expression "__errno_location()" identifier (argument_list "()" ( )))) ;) (expression_statement "psVar25 = (stat64 *)*piVar19;" (assignment_expression "psVar25 = (stat64 *)*piVar19" identifier = (cast_expression "(stat64 *)*piVar19" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*piVar19" * identifier))) ;) (expression_statement "uVar16 = safe_strerror(psVar25);" (assignment_expression "uVar16 = safe_strerror(psVar25)" identifier = (call_expression "safe_strerror(psVar25)" identifier (argument_list "(psVar25)" ( identifier )))) ;) (expression_statement "pcVar15 = "Failed to open %s for raw read: %s\n";" (assignment_expression "pcVar15 = "Failed to open %s for raw read: %s\n"" identifier = (string_literal ""Failed to open %s for raw read: %s\n"" " string_content escape_sequence ")) ;) (goto_statement "goto LAB_000136f9;" goto statement_identifier ;) })) (expression_statement "iVar14 = sg_set_binary_mode(local_920);" (assignment_expression "iVar14 = sg_set_binary_mode(local_920)" identifier = (call_expression "sg_set_binary_mode(local_920)" identifier (argument_list "(local_920)" ( identifier )))) ;) (expression_statement "psVar17 = extraout_ECX_05;" (assignment_expression "psVar17 = extraout_ECX_05" identifier = identifier) ;) (if_statement "if (iVar14 < 0) {\n      perror("sg_set_binary_mode");\n      local_908 = (stat64 *)0xf;\n      psVar25 = (stat64 *)local_880._44_4_;\n      goto LAB_00012354;\n    }" if (parenthesized_expression "(iVar14 < 0)" ( (binary_expression "iVar14 < 0" identifier < number_literal) )) (compound_statement "{\n      perror("sg_set_binary_mode");\n      local_908 = (stat64 *)0xf;\n      psVar25 = (stat64 *)local_880._44_4_;\n      goto LAB_00012354;\n    }" { (expression_statement "perror("sg_set_binary_mode");" (call_expression "perror("sg_set_binary_mode")" identifier (argument_list "("sg_set_binary_mode")" ( (string_literal ""sg_set_binary_mode"" " string_content ") ))) ;) (expression_statement "local_908 = (stat64 *)0xf;" (assignment_expression "local_908 = (stat64 *)0xf" identifier = (cast_expression "(stat64 *)0xf" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "psVar25 = (stat64 *)local_880._44_4_;" (assignment_expression "psVar25 = (stat64 *)local_880._44_4_" identifier = (cast_expression "(stat64 *)local_880._44_4_" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "local_880._44_4_" identifier . field_identifier))) ;) (goto_statement "goto LAB_00012354;" goto statement_identifier ;) })) })))) (expression_statement "psVar18 = local_7f0;" (assignment_expression "psVar18 = local_7f0" identifier = identifier) ;) (expression_statement "psVar25 = local_8f4;" (assignment_expression "psVar25 = local_8f4" identifier = identifier) ;) (if_statement "if (local_817 == 0) {\n    if (local_91c == (stat64 *)0x0) {\n      psVar25 = (stat64 *)local_880._44_4_;\n      if (local_798 == (char *)0x0) {\n        if (local_819 == '\0') {\n          pr2serr("No LBA or number_of_blocks given, try using --lba= and --num=\n");\n          local_908 = (stat64 *)0x1;\n          goto LAB_00012354;\n        }\n      }\n      else if (local_819 == '\0') {\n        local_8f4 = (stat64 *)0x0;\n        uVar33 = FUN_000156d0(local_174 + 0x50,&local_8f8,&local_8f4,0x60);\n        uVar16 = (undefined4)((ulonglong)uVar33 >> 0x20);\n        local_908 = (stat64 *)uVar33;\n        if (local_908 != (stat64 *)0x0) goto LAB_00012354;\n        if (psVar38 != (stat64 *)0x0) {\n          uVar7 = (uint)local_8f8;\n          if (1 < local_8f8) {\n            uVar7 = pr2serr("warning: %d LBA,number_of_blocks pairs found, only taking first\n",\n                            uVar7,uVar16,uVar16);\n          }\n          if (2 < (int)psVar38) {\n            pr2serr("after build_t10_scat, num_lbard=%u, sum_num=%u\n",local_8f8,local_8f4,uVar7);\n          }\n        }\n        if (local_8f8 != 1) {\n          pr2serr("Unable to decode one LBA range descriptor from %s\n",local_798,0,0);\n          local_908 = (stat64 *)0xf;\n          goto LAB_00012354;\n        }\n        local_7b8 = local_104 >> 0x18 | (local_104 & 0xff0000) >> 8 | (local_104 & 0xff00) << 8 |\n                    local_104 << 0x18;\n        local_7bc = local_100 >> 0x18 | (local_100 & 0xff0000) >> 8 | (local_100 & 0xff00) << 8 |\n                    local_100 << 0x18;\n        local_7cc = (stat64 *)\n                    (local_fc >> 0x18 | (local_fc & 0xff0000) >> 8 | (local_fc & 0xff00) << 8 |\n                    local_fc << 0x18);\n        if (local_81f != '\0') {\n          local_7c0 = local_f8 >> 0x18 | (local_f8 & 0xff0000) >> 8 | (local_f8 & 0xff00) << 8 |\n                      local_f8 << 0x18;\n          local_7e6 = local_f4 << 8 | local_f4 >> 8;\n          local_7dc = local_f2 << 8 | local_f2 >> 8;\n        }\n        goto LAB_00012d48;\n      }\n      if (local_908 < (stat64 *)0x40) {\n        pr2serr("raw scatter file must be at least 64 bytes long (length: %u)\n",local_908,\n                local_880._44_4_,local_880._44_4_);\nLAB_00012ef5:\n        local_908 = (stat64 *)0xf;\n        goto LAB_00012354;\n      }\n      psVar25 = (stat64 *)(local_174 + 0x50);\n      local_908 = (stat64 *)FUN_00014a80(&DAT_00017365);\n      if (local_908 != (stat64 *)0x0) goto LAB_00012354;\n      cVar6 = FUN_000146a0(&local_8f8,&local_8f4,extraout_ECX_03,extraout_ECX_03);\n      if (cVar6 == '\0') goto LAB_00012ef5;\n      if (local_8f8 != 1) {\n        pr2serr("No %ss found in SF (num=%u)\n","LBA range descriptor",local_8f8,extraout_EDX_01);\n        goto LAB_00012ef5;\n      }\n      local_7b8 = local_114 >> 0x18 | (local_114 & 0xff0000) >> 8 | (local_114 & 0xff00) << 8 |\n                  local_114 << 0x18;\n      local_7bc = local_110 >> 0x18 | (local_110 & 0xff0000) >> 8 | (local_110 & 0xff00) << 8 |\n                  local_110 << 0x18;\n      local_7cc = (stat64 *)\n                  (local_10c >> 0x18 | (local_10c & 0xff0000) >> 8 | (local_10c & 0xff00) << 8 |\n                  local_10c << 0x18);\n    }\n    else {\n      local_7bc = local_578;\n      local_7b8 = local_574;\n      local_7cc = local_778[0];\n      if ((psVar38 != (stat64 *)0x0) && (local_91c != (stat64 *)0x1)) {\n        pr2serr("warning: %d LBA,number_of_blocks pairs found, only taking first\n",local_91c,\n                psVar17,psVar17);\n      }\n    }\nLAB_00012d48:\n    if (local_818 == 0) {\n      psVar25 = (stat64 *)((int)local_7cc * (int)local_7d4);\n    }\n    else {\n      psVar25 = (stat64 *)0x0;\n      if (local_810 == 0) {\n        psVar25 = local_7d4;\n      }\n    }\n    local_7a4 = psVar25;\n    if (psVar25 != (stat64 *)0x0) {\n      iVar14 = sg_memalign(psVar25,0,&local_8f0,0);\n      if (iVar14 == 0) {\n        pcVar15 = "unable to allocate %u bytes of memory\n";\n        ppvVar39 = (void **)0x0;\n        uVar16 = 0;\n        psVar38 = psVar25;\nLAB_00013bea:\n        pr2serr(pcVar15,psVar38,ppvVar39,uVar16);\n        local_908 = (stat64 *)sg_convert_errno(0xc);\n        goto LAB_00012354;\n      }\n      local_908 = (stat64 *)FUN_00014a80(&DAT_000173c6);\n      if (local_908 != (stat64 *)0x0) goto LAB_00012354;\n    }\n    local_908 = (stat64 *)FUN_00014b00(&local_820);\n    if (local_908 == (stat64 *)0x0) goto LAB_00012354;\n    if (local_81a != '\0') goto LAB_00012354;\n    puVar43 = local_174;\n    psVar25 = (stat64 *)"OS error";\n    puVar29 = puVar43;\n    for (iVar14 = 9; iVar14 != 0; iVar14 = iVar14 + -1) {\n      *puVar29 = (char)psVar25->st_dev;\n      psVar25 = (stat64 *)((int)psVar25 + (uint)bVar32 * -2 + 1);\n      puVar29 = puVar29 + (uint)bVar32 * -2 + 1;\n    }\n    uVar16 = 0;\n    if (0 < (int)local_908) {\n      sg_get_category_sense_str(local_908,0x50,puVar43,psVar38);\n      uVar16 = extraout_ECX_02;\n    }\n    pr2serr("%s: %s\n",local_790,puVar43,uVar16);\n    goto LAB_00012354;\n  }" if (parenthesized_expression "(local_817 == 0)" ( (binary_expression "local_817 == 0" identifier == number_literal) )) (compound_statement "{\n    if (local_91c == (stat64 *)0x0) {\n      psVar25 = (stat64 *)local_880._44_4_;\n      if (local_798 == (char *)0x0) {\n        if (local_819 == '\0') {\n          pr2serr("No LBA or number_of_blocks given, try using --lba= and --num=\n");\n          local_908 = (stat64 *)0x1;\n          goto LAB_00012354;\n        }\n      }\n      else if (local_819 == '\0') {\n        local_8f4 = (stat64 *)0x0;\n        uVar33 = FUN_000156d0(local_174 + 0x50,&local_8f8,&local_8f4,0x60);\n        uVar16 = (undefined4)((ulonglong)uVar33 >> 0x20);\n        local_908 = (stat64 *)uVar33;\n        if (local_908 != (stat64 *)0x0) goto LAB_00012354;\n        if (psVar38 != (stat64 *)0x0) {\n          uVar7 = (uint)local_8f8;\n          if (1 < local_8f8) {\n            uVar7 = pr2serr("warning: %d LBA,number_of_blocks pairs found, only taking first\n",\n                            uVar7,uVar16,uVar16);\n          }\n          if (2 < (int)psVar38) {\n            pr2serr("after build_t10_scat, num_lbard=%u, sum_num=%u\n",local_8f8,local_8f4,uVar7);\n          }\n        }\n        if (local_8f8 != 1) {\n          pr2serr("Unable to decode one LBA range descriptor from %s\n",local_798,0,0);\n          local_908 = (stat64 *)0xf;\n          goto LAB_00012354;\n        }\n        local_7b8 = local_104 >> 0x18 | (local_104 & 0xff0000) >> 8 | (local_104 & 0xff00) << 8 |\n                    local_104 << 0x18;\n        local_7bc = local_100 >> 0x18 | (local_100 & 0xff0000) >> 8 | (local_100 & 0xff00) << 8 |\n                    local_100 << 0x18;\n        local_7cc = (stat64 *)\n                    (local_fc >> 0x18 | (local_fc & 0xff0000) >> 8 | (local_fc & 0xff00) << 8 |\n                    local_fc << 0x18);\n        if (local_81f != '\0') {\n          local_7c0 = local_f8 >> 0x18 | (local_f8 & 0xff0000) >> 8 | (local_f8 & 0xff00) << 8 |\n                      local_f8 << 0x18;\n          local_7e6 = local_f4 << 8 | local_f4 >> 8;\n          local_7dc = local_f2 << 8 | local_f2 >> 8;\n        }\n        goto LAB_00012d48;\n      }\n      if (local_908 < (stat64 *)0x40) {\n        pr2serr("raw scatter file must be at least 64 bytes long (length: %u)\n",local_908,\n                local_880._44_4_,local_880._44_4_);\nLAB_00012ef5:\n        local_908 = (stat64 *)0xf;\n        goto LAB_00012354;\n      }\n      psVar25 = (stat64 *)(local_174 + 0x50);\n      local_908 = (stat64 *)FUN_00014a80(&DAT_00017365);\n      if (local_908 != (stat64 *)0x0) goto LAB_00012354;\n      cVar6 = FUN_000146a0(&local_8f8,&local_8f4,extraout_ECX_03,extraout_ECX_03);\n      if (cVar6 == '\0') goto LAB_00012ef5;\n      if (local_8f8 != 1) {\n        pr2serr("No %ss found in SF (num=%u)\n","LBA range descriptor",local_8f8,extraout_EDX_01);\n        goto LAB_00012ef5;\n      }\n      local_7b8 = local_114 >> 0x18 | (local_114 & 0xff0000) >> 8 | (local_114 & 0xff00) << 8 |\n                  local_114 << 0x18;\n      local_7bc = local_110 >> 0x18 | (local_110 & 0xff0000) >> 8 | (local_110 & 0xff00) << 8 |\n                  local_110 << 0x18;\n      local_7cc = (stat64 *)\n                  (local_10c >> 0x18 | (local_10c & 0xff0000) >> 8 | (local_10c & 0xff00) << 8 |\n                  local_10c << 0x18);\n    }\n    else {\n      local_7bc = local_578;\n      local_7b8 = local_574;\n      local_7cc = local_778[0];\n      if ((psVar38 != (stat64 *)0x0) && (local_91c != (stat64 *)0x1)) {\n        pr2serr("warning: %d LBA,number_of_blocks pairs found, only taking first\n",local_91c,\n                psVar17,psVar17);\n      }\n    }\nLAB_00012d48:\n    if (local_818 == 0) {\n      psVar25 = (stat64 *)((int)local_7cc * (int)local_7d4);\n    }\n    else {\n      psVar25 = (stat64 *)0x0;\n      if (local_810 == 0) {\n        psVar25 = local_7d4;\n      }\n    }\n    local_7a4 = psVar25;\n    if (psVar25 != (stat64 *)0x0) {\n      iVar14 = sg_memalign(psVar25,0,&local_8f0,0);\n      if (iVar14 == 0) {\n        pcVar15 = "unable to allocate %u bytes of memory\n";\n        ppvVar39 = (void **)0x0;\n        uVar16 = 0;\n        psVar38 = psVar25;\nLAB_00013bea:\n        pr2serr(pcVar15,psVar38,ppvVar39,uVar16);\n        local_908 = (stat64 *)sg_convert_errno(0xc);\n        goto LAB_00012354;\n      }\n      local_908 = (stat64 *)FUN_00014a80(&DAT_000173c6);\n      if (local_908 != (stat64 *)0x0) goto LAB_00012354;\n    }\n    local_908 = (stat64 *)FUN_00014b00(&local_820);\n    if (local_908 == (stat64 *)0x0) goto LAB_00012354;\n    if (local_81a != '\0') goto LAB_00012354;\n    puVar43 = local_174;\n    psVar25 = (stat64 *)"OS error";\n    puVar29 = puVar43;\n    for (iVar14 = 9; iVar14 != 0; iVar14 = iVar14 + -1) {\n      *puVar29 = (char)psVar25->st_dev;\n      psVar25 = (stat64 *)((int)psVar25 + (uint)bVar32 * -2 + 1);\n      puVar29 = puVar29 + (uint)bVar32 * -2 + 1;\n    }\n    uVar16 = 0;\n    if (0 < (int)local_908) {\n      sg_get_category_sense_str(local_908,0x50,puVar43,psVar38);\n      uVar16 = extraout_ECX_02;\n    }\n    pr2serr("%s: %s\n",local_790,puVar43,uVar16);\n    goto LAB_00012354;\n  }" { (if_statement "if (local_91c == (stat64 *)0x0) {\n      psVar25 = (stat64 *)local_880._44_4_;\n      if (local_798 == (char *)0x0) {\n        if (local_819 == '\0') {\n          pr2serr("No LBA or number_of_blocks given, try using --lba= and --num=\n");\n          local_908 = (stat64 *)0x1;\n          goto LAB_00012354;\n        }\n      }\n      else if (local_819 == '\0') {\n        local_8f4 = (stat64 *)0x0;\n        uVar33 = FUN_000156d0(local_174 + 0x50,&local_8f8,&local_8f4,0x60);\n        uVar16 = (undefined4)((ulonglong)uVar33 >> 0x20);\n        local_908 = (stat64 *)uVar33;\n        if (local_908 != (stat64 *)0x0) goto LAB_00012354;\n        if (psVar38 != (stat64 *)0x0) {\n          uVar7 = (uint)local_8f8;\n          if (1 < local_8f8) {\n            uVar7 = pr2serr("warning: %d LBA,number_of_blocks pairs found, only taking first\n",\n                            uVar7,uVar16,uVar16);\n          }\n          if (2 < (int)psVar38) {\n            pr2serr("after build_t10_scat, num_lbard=%u, sum_num=%u\n",local_8f8,local_8f4,uVar7);\n          }\n        }\n        if (local_8f8 != 1) {\n          pr2serr("Unable to decode one LBA range descriptor from %s\n",local_798,0,0);\n          local_908 = (stat64 *)0xf;\n          goto LAB_00012354;\n        }\n        local_7b8 = local_104 >> 0x18 | (local_104 & 0xff0000) >> 8 | (local_104 & 0xff00) << 8 |\n                    local_104 << 0x18;\n        local_7bc = local_100 >> 0x18 | (local_100 & 0xff0000) >> 8 | (local_100 & 0xff00) << 8 |\n                    local_100 << 0x18;\n        local_7cc = (stat64 *)\n                    (local_fc >> 0x18 | (local_fc & 0xff0000) >> 8 | (local_fc & 0xff00) << 8 |\n                    local_fc << 0x18);\n        if (local_81f != '\0') {\n          local_7c0 = local_f8 >> 0x18 | (local_f8 & 0xff0000) >> 8 | (local_f8 & 0xff00) << 8 |\n                      local_f8 << 0x18;\n          local_7e6 = local_f4 << 8 | local_f4 >> 8;\n          local_7dc = local_f2 << 8 | local_f2 >> 8;\n        }\n        goto LAB_00012d48;\n      }\n      if (local_908 < (stat64 *)0x40) {\n        pr2serr("raw scatter file must be at least 64 bytes long (length: %u)\n",local_908,\n                local_880._44_4_,local_880._44_4_);\nLAB_00012ef5:\n        local_908 = (stat64 *)0xf;\n        goto LAB_00012354;\n      }\n      psVar25 = (stat64 *)(local_174 + 0x50);\n      local_908 = (stat64 *)FUN_00014a80(&DAT_00017365);\n      if (local_908 != (stat64 *)0x0) goto LAB_00012354;\n      cVar6 = FUN_000146a0(&local_8f8,&local_8f4,extraout_ECX_03,extraout_ECX_03);\n      if (cVar6 == '\0') goto LAB_00012ef5;\n      if (local_8f8 != 1) {\n        pr2serr("No %ss found in SF (num=%u)\n","LBA range descriptor",local_8f8,extraout_EDX_01);\n        goto LAB_00012ef5;\n      }\n      local_7b8 = local_114 >> 0x18 | (local_114 & 0xff0000) >> 8 | (local_114 & 0xff00) << 8 |\n                  local_114 << 0x18;\n      local_7bc = local_110 >> 0x18 | (local_110 & 0xff0000) >> 8 | (local_110 & 0xff00) << 8 |\n                  local_110 << 0x18;\n      local_7cc = (stat64 *)\n                  (local_10c >> 0x18 | (local_10c & 0xff0000) >> 8 | (local_10c & 0xff00) << 8 |\n                  local_10c << 0x18);\n    }\n    else {\n      local_7bc = local_578;\n      local_7b8 = local_574;\n      local_7cc = local_778[0];\n      if ((psVar38 != (stat64 *)0x0) && (local_91c != (stat64 *)0x1)) {\n        pr2serr("warning: %d LBA,number_of_blocks pairs found, only taking first\n",local_91c,\n                psVar17,psVar17);\n      }\n    }" if (parenthesized_expression "(local_91c == (stat64 *)0x0)" ( (binary_expression "local_91c == (stat64 *)0x0" identifier == (cast_expression "(stat64 *)0x0" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      psVar25 = (stat64 *)local_880._44_4_;\n      if (local_798 == (char *)0x0) {\n        if (local_819 == '\0') {\n          pr2serr("No LBA or number_of_blocks given, try using --lba= and --num=\n");\n          local_908 = (stat64 *)0x1;\n          goto LAB_00012354;\n        }\n      }\n      else if (local_819 == '\0') {\n        local_8f4 = (stat64 *)0x0;\n        uVar33 = FUN_000156d0(local_174 + 0x50,&local_8f8,&local_8f4,0x60);\n        uVar16 = (undefined4)((ulonglong)uVar33 >> 0x20);\n        local_908 = (stat64 *)uVar33;\n        if (local_908 != (stat64 *)0x0) goto LAB_00012354;\n        if (psVar38 != (stat64 *)0x0) {\n          uVar7 = (uint)local_8f8;\n          if (1 < local_8f8) {\n            uVar7 = pr2serr("warning: %d LBA,number_of_blocks pairs found, only taking first\n",\n                            uVar7,uVar16,uVar16);\n          }\n          if (2 < (int)psVar38) {\n            pr2serr("after build_t10_scat, num_lbard=%u, sum_num=%u\n",local_8f8,local_8f4,uVar7);\n          }\n        }\n        if (local_8f8 != 1) {\n          pr2serr("Unable to decode one LBA range descriptor from %s\n",local_798,0,0);\n          local_908 = (stat64 *)0xf;\n          goto LAB_00012354;\n        }\n        local_7b8 = local_104 >> 0x18 | (local_104 & 0xff0000) >> 8 | (local_104 & 0xff00) << 8 |\n                    local_104 << 0x18;\n        local_7bc = local_100 >> 0x18 | (local_100 & 0xff0000) >> 8 | (local_100 & 0xff00) << 8 |\n                    local_100 << 0x18;\n        local_7cc = (stat64 *)\n                    (local_fc >> 0x18 | (local_fc & 0xff0000) >> 8 | (local_fc & 0xff00) << 8 |\n                    local_fc << 0x18);\n        if (local_81f != '\0') {\n          local_7c0 = local_f8 >> 0x18 | (local_f8 & 0xff0000) >> 8 | (local_f8 & 0xff00) << 8 |\n                      local_f8 << 0x18;\n          local_7e6 = local_f4 << 8 | local_f4 >> 8;\n          local_7dc = local_f2 << 8 | local_f2 >> 8;\n        }\n        goto LAB_00012d48;\n      }\n      if (local_908 < (stat64 *)0x40) {\n        pr2serr("raw scatter file must be at least 64 bytes long (length: %u)\n",local_908,\n                local_880._44_4_,local_880._44_4_);\nLAB_00012ef5:\n        local_908 = (stat64 *)0xf;\n        goto LAB_00012354;\n      }\n      psVar25 = (stat64 *)(local_174 + 0x50);\n      local_908 = (stat64 *)FUN_00014a80(&DAT_00017365);\n      if (local_908 != (stat64 *)0x0) goto LAB_00012354;\n      cVar6 = FUN_000146a0(&local_8f8,&local_8f4,extraout_ECX_03,extraout_ECX_03);\n      if (cVar6 == '\0') goto LAB_00012ef5;\n      if (local_8f8 != 1) {\n        pr2serr("No %ss found in SF (num=%u)\n","LBA range descriptor",local_8f8,extraout_EDX_01);\n        goto LAB_00012ef5;\n      }\n      local_7b8 = local_114 >> 0x18 | (local_114 & 0xff0000) >> 8 | (local_114 & 0xff00) << 8 |\n                  local_114 << 0x18;\n      local_7bc = local_110 >> 0x18 | (local_110 & 0xff0000) >> 8 | (local_110 & 0xff00) << 8 |\n                  local_110 << 0x18;\n      local_7cc = (stat64 *)\n                  (local_10c >> 0x18 | (local_10c & 0xff0000) >> 8 | (local_10c & 0xff00) << 8 |\n                  local_10c << 0x18);\n    }" { (expression_statement "psVar25 = (stat64 *)local_880._44_4_;" (assignment_expression "psVar25 = (stat64 *)local_880._44_4_" identifier = (cast_expression "(stat64 *)local_880._44_4_" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "local_880._44_4_" identifier . field_identifier))) ;) (if_statement "if (local_798 == (char *)0x0) {\n        if (local_819 == '\0') {\n          pr2serr("No LBA or number_of_blocks given, try using --lba= and --num=\n");\n          local_908 = (stat64 *)0x1;\n          goto LAB_00012354;\n        }\n      }\n      else if (local_819 == '\0') {\n        local_8f4 = (stat64 *)0x0;\n        uVar33 = FUN_000156d0(local_174 + 0x50,&local_8f8,&local_8f4,0x60);\n        uVar16 = (undefined4)((ulonglong)uVar33 >> 0x20);\n        local_908 = (stat64 *)uVar33;\n        if (local_908 != (stat64 *)0x0) goto LAB_00012354;\n        if (psVar38 != (stat64 *)0x0) {\n          uVar7 = (uint)local_8f8;\n          if (1 < local_8f8) {\n            uVar7 = pr2serr("warning: %d LBA,number_of_blocks pairs found, only taking first\n",\n                            uVar7,uVar16,uVar16);\n          }\n          if (2 < (int)psVar38) {\n            pr2serr("after build_t10_scat, num_lbard=%u, sum_num=%u\n",local_8f8,local_8f4,uVar7);\n          }\n        }\n        if (local_8f8 != 1) {\n          pr2serr("Unable to decode one LBA range descriptor from %s\n",local_798,0,0);\n          local_908 = (stat64 *)0xf;\n          goto LAB_00012354;\n        }\n        local_7b8 = local_104 >> 0x18 | (local_104 & 0xff0000) >> 8 | (local_104 & 0xff00) << 8 |\n                    local_104 << 0x18;\n        local_7bc = local_100 >> 0x18 | (local_100 & 0xff0000) >> 8 | (local_100 & 0xff00) << 8 |\n                    local_100 << 0x18;\n        local_7cc = (stat64 *)\n                    (local_fc >> 0x18 | (local_fc & 0xff0000) >> 8 | (local_fc & 0xff00) << 8 |\n                    local_fc << 0x18);\n        if (local_81f != '\0') {\n          local_7c0 = local_f8 >> 0x18 | (local_f8 & 0xff0000) >> 8 | (local_f8 & 0xff00) << 8 |\n                      local_f8 << 0x18;\n          local_7e6 = local_f4 << 8 | local_f4 >> 8;\n          local_7dc = local_f2 << 8 | local_f2 >> 8;\n        }\n        goto LAB_00012d48;\n      }" if (parenthesized_expression "(local_798 == (char *)0x0)" ( (binary_expression "local_798 == (char *)0x0" identifier == (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        if (local_819 == '\0') {\n          pr2serr("No LBA or number_of_blocks given, try using --lba= and --num=\n");\n          local_908 = (stat64 *)0x1;\n          goto LAB_00012354;\n        }\n      }" { (if_statement "if (local_819 == '\0') {\n          pr2serr("No LBA or number_of_blocks given, try using --lba= and --num=\n");\n          local_908 = (stat64 *)0x1;\n          goto LAB_00012354;\n        }" if (parenthesized_expression "(local_819 == '\0')" ( (binary_expression "local_819 == '\0'" identifier == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n          pr2serr("No LBA or number_of_blocks given, try using --lba= and --num=\n");\n          local_908 = (stat64 *)0x1;\n          goto LAB_00012354;\n        }" { (expression_statement "pr2serr("No LBA or number_of_blocks given, try using --lba= and --num=\n");" (call_expression "pr2serr("No LBA or number_of_blocks given, try using --lba= and --num=\n")" identifier (argument_list "("No LBA or number_of_blocks given, try using --lba= and --num=\n")" ( (string_literal ""No LBA or number_of_blocks given, try using --lba= and --num=\n"" " string_content escape_sequence ") ))) ;) (expression_statement "local_908 = (stat64 *)0x1;" (assignment_expression "local_908 = (stat64 *)0x1" identifier = (cast_expression "(stat64 *)0x1" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (goto_statement "goto LAB_00012354;" goto statement_identifier ;) })) }) (else_clause "else if (local_819 == '\0') {\n        local_8f4 = (stat64 *)0x0;\n        uVar33 = FUN_000156d0(local_174 + 0x50,&local_8f8,&local_8f4,0x60);\n        uVar16 = (undefined4)((ulonglong)uVar33 >> 0x20);\n        local_908 = (stat64 *)uVar33;\n        if (local_908 != (stat64 *)0x0) goto LAB_00012354;\n        if (psVar38 != (stat64 *)0x0) {\n          uVar7 = (uint)local_8f8;\n          if (1 < local_8f8) {\n            uVar7 = pr2serr("warning: %d LBA,number_of_blocks pairs found, only taking first\n",\n                            uVar7,uVar16,uVar16);\n          }\n          if (2 < (int)psVar38) {\n            pr2serr("after build_t10_scat, num_lbard=%u, sum_num=%u\n",local_8f8,local_8f4,uVar7);\n          }\n        }\n        if (local_8f8 != 1) {\n          pr2serr("Unable to decode one LBA range descriptor from %s\n",local_798,0,0);\n          local_908 = (stat64 *)0xf;\n          goto LAB_00012354;\n        }\n        local_7b8 = local_104 >> 0x18 | (local_104 & 0xff0000) >> 8 | (local_104 & 0xff00) << 8 |\n                    local_104 << 0x18;\n        local_7bc = local_100 >> 0x18 | (local_100 & 0xff0000) >> 8 | (local_100 & 0xff00) << 8 |\n                    local_100 << 0x18;\n        local_7cc = (stat64 *)\n                    (local_fc >> 0x18 | (local_fc & 0xff0000) >> 8 | (local_fc & 0xff00) << 8 |\n                    local_fc << 0x18);\n        if (local_81f != '\0') {\n          local_7c0 = local_f8 >> 0x18 | (local_f8 & 0xff0000) >> 8 | (local_f8 & 0xff00) << 8 |\n                      local_f8 << 0x18;\n          local_7e6 = local_f4 << 8 | local_f4 >> 8;\n          local_7dc = local_f2 << 8 | local_f2 >> 8;\n        }\n        goto LAB_00012d48;\n      }" else (if_statement "if (local_819 == '\0') {\n        local_8f4 = (stat64 *)0x0;\n        uVar33 = FUN_000156d0(local_174 + 0x50,&local_8f8,&local_8f4,0x60);\n        uVar16 = (undefined4)((ulonglong)uVar33 >> 0x20);\n        local_908 = (stat64 *)uVar33;\n        if (local_908 != (stat64 *)0x0) goto LAB_00012354;\n        if (psVar38 != (stat64 *)0x0) {\n          uVar7 = (uint)local_8f8;\n          if (1 < local_8f8) {\n            uVar7 = pr2serr("warning: %d LBA,number_of_blocks pairs found, only taking first\n",\n                            uVar7,uVar16,uVar16);\n          }\n          if (2 < (int)psVar38) {\n            pr2serr("after build_t10_scat, num_lbard=%u, sum_num=%u\n",local_8f8,local_8f4,uVar7);\n          }\n        }\n        if (local_8f8 != 1) {\n          pr2serr("Unable to decode one LBA range descriptor from %s\n",local_798,0,0);\n          local_908 = (stat64 *)0xf;\n          goto LAB_00012354;\n        }\n        local_7b8 = local_104 >> 0x18 | (local_104 & 0xff0000) >> 8 | (local_104 & 0xff00) << 8 |\n                    local_104 << 0x18;\n        local_7bc = local_100 >> 0x18 | (local_100 & 0xff0000) >> 8 | (local_100 & 0xff00) << 8 |\n                    local_100 << 0x18;\n        local_7cc = (stat64 *)\n                    (local_fc >> 0x18 | (local_fc & 0xff0000) >> 8 | (local_fc & 0xff00) << 8 |\n                    local_fc << 0x18);\n        if (local_81f != '\0') {\n          local_7c0 = local_f8 >> 0x18 | (local_f8 & 0xff0000) >> 8 | (local_f8 & 0xff00) << 8 |\n                      local_f8 << 0x18;\n          local_7e6 = local_f4 << 8 | local_f4 >> 8;\n          local_7dc = local_f2 << 8 | local_f2 >> 8;\n        }\n        goto LAB_00012d48;\n      }" if (parenthesized_expression "(local_819 == '\0')" ( (binary_expression "local_819 == '\0'" identifier == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n        local_8f4 = (stat64 *)0x0;\n        uVar33 = FUN_000156d0(local_174 + 0x50,&local_8f8,&local_8f4,0x60);\n        uVar16 = (undefined4)((ulonglong)uVar33 >> 0x20);\n        local_908 = (stat64 *)uVar33;\n        if (local_908 != (stat64 *)0x0) goto LAB_00012354;\n        if (psVar38 != (stat64 *)0x0) {\n          uVar7 = (uint)local_8f8;\n          if (1 < local_8f8) {\n            uVar7 = pr2serr("warning: %d LBA,number_of_blocks pairs found, only taking first\n",\n                            uVar7,uVar16,uVar16);\n          }\n          if (2 < (int)psVar38) {\n            pr2serr("after build_t10_scat, num_lbard=%u, sum_num=%u\n",local_8f8,local_8f4,uVar7);\n          }\n        }\n        if (local_8f8 != 1) {\n          pr2serr("Unable to decode one LBA range descriptor from %s\n",local_798,0,0);\n          local_908 = (stat64 *)0xf;\n          goto LAB_00012354;\n        }\n        local_7b8 = local_104 >> 0x18 | (local_104 & 0xff0000) >> 8 | (local_104 & 0xff00) << 8 |\n                    local_104 << 0x18;\n        local_7bc = local_100 >> 0x18 | (local_100 & 0xff0000) >> 8 | (local_100 & 0xff00) << 8 |\n                    local_100 << 0x18;\n        local_7cc = (stat64 *)\n                    (local_fc >> 0x18 | (local_fc & 0xff0000) >> 8 | (local_fc & 0xff00) << 8 |\n                    local_fc << 0x18);\n        if (local_81f != '\0') {\n          local_7c0 = local_f8 >> 0x18 | (local_f8 & 0xff0000) >> 8 | (local_f8 & 0xff00) << 8 |\n                      local_f8 << 0x18;\n          local_7e6 = local_f4 << 8 | local_f4 >> 8;\n          local_7dc = local_f2 << 8 | local_f2 >> 8;\n        }\n        goto LAB_00012d48;\n      }" { (expression_statement "local_8f4 = (stat64 *)0x0;" (assignment_expression "local_8f4 = (stat64 *)0x0" identifier = (cast_expression "(stat64 *)0x0" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "uVar33 = FUN_000156d0(local_174 + 0x50,&local_8f8,&local_8f4,0x60);" (assignment_expression "uVar33 = FUN_000156d0(local_174 + 0x50,&local_8f8,&local_8f4,0x60)" identifier = (call_expression "FUN_000156d0(local_174 + 0x50,&local_8f8,&local_8f4,0x60)" identifier (argument_list "(local_174 + 0x50,&local_8f8,&local_8f4,0x60)" ( (binary_expression "local_174 + 0x50" identifier + number_literal) , (pointer_expression "&local_8f8" & identifier) , (pointer_expression "&local_8f4" & identifier) , number_literal )))) ;) (expression_statement "uVar16 = (undefined4)((ulonglong)uVar33 >> 0x20);" (assignment_expression "uVar16 = (undefined4)((ulonglong)uVar33 >> 0x20)" identifier = (call_expression "(undefined4)((ulonglong)uVar33 >> 0x20)" (parenthesized_expression "(undefined4)" ( identifier )) (argument_list "((ulonglong)uVar33 >> 0x20)" ( (binary_expression "(ulonglong)uVar33 >> 0x20" (cast_expression "(ulonglong)uVar33" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) )))) ;) (expression_statement "local_908 = (stat64 *)uVar33;" (assignment_expression "local_908 = (stat64 *)uVar33" identifier = (cast_expression "(stat64 *)uVar33" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (if_statement "if (local_908 != (stat64 *)0x0) goto LAB_00012354;" if (parenthesized_expression "(local_908 != (stat64 *)0x0)" ( (binary_expression "local_908 != (stat64 *)0x0" identifier != (cast_expression "(stat64 *)0x0" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_00012354;" goto statement_identifier ;)) (if_statement "if (psVar38 != (stat64 *)0x0) {\n          uVar7 = (uint)local_8f8;\n          if (1 < local_8f8) {\n            uVar7 = pr2serr("warning: %d LBA,number_of_blocks pairs found, only taking first\n",\n                            uVar7,uVar16,uVar16);\n          }\n          if (2 < (int)psVar38) {\n            pr2serr("after build_t10_scat, num_lbard=%u, sum_num=%u\n",local_8f8,local_8f4,uVar7);\n          }\n        }" if (parenthesized_expression "(psVar38 != (stat64 *)0x0)" ( (binary_expression "psVar38 != (stat64 *)0x0" identifier != (cast_expression "(stat64 *)0x0" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n          uVar7 = (uint)local_8f8;\n          if (1 < local_8f8) {\n            uVar7 = pr2serr("warning: %d LBA,number_of_blocks pairs found, only taking first\n",\n                            uVar7,uVar16,uVar16);\n          }\n          if (2 < (int)psVar38) {\n            pr2serr("after build_t10_scat, num_lbard=%u, sum_num=%u\n",local_8f8,local_8f4,uVar7);\n          }\n        }" { (expression_statement "uVar7 = (uint)local_8f8;" (assignment_expression "uVar7 = (uint)local_8f8" identifier = (cast_expression "(uint)local_8f8" ( (type_descriptor "uint" type_identifier) ) identifier)) ;) (if_statement "if (1 < local_8f8) {\n            uVar7 = pr2serr("warning: %d LBA,number_of_blocks pairs found, only taking first\n",\n                            uVar7,uVar16,uVar16);\n          }" if (parenthesized_expression "(1 < local_8f8)" ( (binary_expression "1 < local_8f8" number_literal < identifier) )) (compound_statement "{\n            uVar7 = pr2serr("warning: %d LBA,number_of_blocks pairs found, only taking first\n",\n                            uVar7,uVar16,uVar16);\n          }" { (expression_statement "uVar7 = pr2serr("warning: %d LBA,number_of_blocks pairs found, only taking first\n",\n                            uVar7,uVar16,uVar16);" (assignment_expression "uVar7 = pr2serr("warning: %d LBA,number_of_blocks pairs found, only taking first\n",\n                            uVar7,uVar16,uVar16)" identifier = (call_expression "pr2serr("warning: %d LBA,number_of_blocks pairs found, only taking first\n",\n                            uVar7,uVar16,uVar16)" identifier (argument_list "("warning: %d LBA,number_of_blocks pairs found, only taking first\n",\n                            uVar7,uVar16,uVar16)" ( (string_literal ""warning: %d LBA,number_of_blocks pairs found, only taking first\n"" " string_content escape_sequence ") , identifier , identifier , identifier )))) ;) })) (if_statement "if (2 < (int)psVar38) {\n            pr2serr("after build_t10_scat, num_lbard=%u, sum_num=%u\n",local_8f8,local_8f4,uVar7);\n          }" if (parenthesized_expression "(2 < (int)psVar38)" ( (binary_expression "2 < (int)psVar38" number_literal < (cast_expression "(int)psVar38" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n            pr2serr("after build_t10_scat, num_lbard=%u, sum_num=%u\n",local_8f8,local_8f4,uVar7);\n          }" { (expression_statement "pr2serr("after build_t10_scat, num_lbard=%u, sum_num=%u\n",local_8f8,local_8f4,uVar7);" (call_expression "pr2serr("after build_t10_scat, num_lbard=%u, sum_num=%u\n",local_8f8,local_8f4,uVar7)" identifier (argument_list "("after build_t10_scat, num_lbard=%u, sum_num=%u\n",local_8f8,local_8f4,uVar7)" ( (string_literal ""after build_t10_scat, num_lbard=%u, sum_num=%u\n"" " string_content escape_sequence ") , identifier , identifier , identifier ))) ;) })) })) (if_statement "if (local_8f8 != 1) {\n          pr2serr("Unable to decode one LBA range descriptor from %s\n",local_798,0,0);\n          local_908 = (stat64 *)0xf;\n          goto LAB_00012354;\n        }" if (parenthesized_expression "(local_8f8 != 1)" ( (binary_expression "local_8f8 != 1" identifier != number_literal) )) (compound_statement "{\n          pr2serr("Unable to decode one LBA range descriptor from %s\n",local_798,0,0);\n          local_908 = (stat64 *)0xf;\n          goto LAB_00012354;\n        }" { (expression_statement "pr2serr("Unable to decode one LBA range descriptor from %s\n",local_798,0,0);" (call_expression "pr2serr("Unable to decode one LBA range descriptor from %s\n",local_798,0,0)" identifier (argument_list "("Unable to decode one LBA range descriptor from %s\n",local_798,0,0)" ( (string_literal ""Unable to decode one LBA range descriptor from %s\n"" " string_content escape_sequence ") , identifier , number_literal , number_literal ))) ;) (expression_statement "local_908 = (stat64 *)0xf;" (assignment_expression "local_908 = (stat64 *)0xf" identifier = (cast_expression "(stat64 *)0xf" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (goto_statement "goto LAB_00012354;" goto statement_identifier ;) })) (expression_statement "local_7b8 = local_104 >> 0x18 | (local_104 & 0xff0000) >> 8 | (local_104 & 0xff00) << 8 |\n                    local_104 << 0x18;" (assignment_expression "local_7b8 = local_104 >> 0x18 | (local_104 & 0xff0000) >> 8 | (local_104 & 0xff00) << 8 |\n                    local_104 << 0x18" identifier = (binary_expression "local_104 >> 0x18 | (local_104 & 0xff0000) >> 8 | (local_104 & 0xff00) << 8 |\n                    local_104 << 0x18" (binary_expression "local_104 >> 0x18 | (local_104 & 0xff0000) >> 8 | (local_104 & 0xff00) << 8" (binary_expression "local_104 >> 0x18 | (local_104 & 0xff0000) >> 8" (binary_expression "local_104 >> 0x18" identifier >> number_literal) | (binary_expression "(local_104 & 0xff0000) >> 8" (parenthesized_expression "(local_104 & 0xff0000)" ( (binary_expression "local_104 & 0xff0000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(local_104 & 0xff00) << 8" (parenthesized_expression "(local_104 & 0xff00)" ( (binary_expression "local_104 & 0xff00" identifier & number_literal) )) << number_literal)) | (binary_expression "local_104 << 0x18" identifier << number_literal))) ;) (expression_statement "local_7bc = local_100 >> 0x18 | (local_100 & 0xff0000) >> 8 | (local_100 & 0xff00) << 8 |\n                    local_100 << 0x18;" (assignment_expression "local_7bc = local_100 >> 0x18 | (local_100 & 0xff0000) >> 8 | (local_100 & 0xff00) << 8 |\n                    local_100 << 0x18" identifier = (binary_expression "local_100 >> 0x18 | (local_100 & 0xff0000) >> 8 | (local_100 & 0xff00) << 8 |\n                    local_100 << 0x18" (binary_expression "local_100 >> 0x18 | (local_100 & 0xff0000) >> 8 | (local_100 & 0xff00) << 8" (binary_expression "local_100 >> 0x18 | (local_100 & 0xff0000) >> 8" (binary_expression "local_100 >> 0x18" identifier >> number_literal) | (binary_expression "(local_100 & 0xff0000) >> 8" (parenthesized_expression "(local_100 & 0xff0000)" ( (binary_expression "local_100 & 0xff0000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(local_100 & 0xff00) << 8" (parenthesized_expression "(local_100 & 0xff00)" ( (binary_expression "local_100 & 0xff00" identifier & number_literal) )) << number_literal)) | (binary_expression "local_100 << 0x18" identifier << number_literal))) ;) (expression_statement "local_7cc = (stat64 *)\n                    (local_fc >> 0x18 | (local_fc & 0xff0000) >> 8 | (local_fc & 0xff00) << 8 |\n                    local_fc << 0x18);" (assignment_expression "local_7cc = (stat64 *)\n                    (local_fc >> 0x18 | (local_fc & 0xff0000) >> 8 | (local_fc & 0xff00) << 8 |\n                    local_fc << 0x18)" identifier = (cast_expression "(stat64 *)\n                    (local_fc >> 0x18 | (local_fc & 0xff0000) >> 8 | (local_fc & 0xff00) << 8 |\n                    local_fc << 0x18)" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_fc >> 0x18 | (local_fc & 0xff0000) >> 8 | (local_fc & 0xff00) << 8 |\n                    local_fc << 0x18)" ( (binary_expression "local_fc >> 0x18 | (local_fc & 0xff0000) >> 8 | (local_fc & 0xff00) << 8 |\n                    local_fc << 0x18" (binary_expression "local_fc >> 0x18 | (local_fc & 0xff0000) >> 8 | (local_fc & 0xff00) << 8" (binary_expression "local_fc >> 0x18 | (local_fc & 0xff0000) >> 8" (binary_expression "local_fc >> 0x18" identifier >> number_literal) | (binary_expression "(local_fc & 0xff0000) >> 8" (parenthesized_expression "(local_fc & 0xff0000)" ( (binary_expression "local_fc & 0xff0000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(local_fc & 0xff00) << 8" (parenthesized_expression "(local_fc & 0xff00)" ( (binary_expression "local_fc & 0xff00" identifier & number_literal) )) << number_literal)) | (binary_expression "local_fc << 0x18" identifier << number_literal)) )))) ;) (if_statement "if (local_81f != '\0') {\n          local_7c0 = local_f8 >> 0x18 | (local_f8 & 0xff0000) >> 8 | (local_f8 & 0xff00) << 8 |\n                      local_f8 << 0x18;\n          local_7e6 = local_f4 << 8 | local_f4 >> 8;\n          local_7dc = local_f2 << 8 | local_f2 >> 8;\n        }" if (parenthesized_expression "(local_81f != '\0')" ( (binary_expression "local_81f != '\0'" identifier != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n          local_7c0 = local_f8 >> 0x18 | (local_f8 & 0xff0000) >> 8 | (local_f8 & 0xff00) << 8 |\n                      local_f8 << 0x18;\n          local_7e6 = local_f4 << 8 | local_f4 >> 8;\n          local_7dc = local_f2 << 8 | local_f2 >> 8;\n        }" { (expression_statement "local_7c0 = local_f8 >> 0x18 | (local_f8 & 0xff0000) >> 8 | (local_f8 & 0xff00) << 8 |\n                      local_f8 << 0x18;" (assignment_expression "local_7c0 = local_f8 >> 0x18 | (local_f8 & 0xff0000) >> 8 | (local_f8 & 0xff00) << 8 |\n                      local_f8 << 0x18" identifier = (binary_expression "local_f8 >> 0x18 | (local_f8 & 0xff0000) >> 8 | (local_f8 & 0xff00) << 8 |\n                      local_f8 << 0x18" (binary_expression "local_f8 >> 0x18 | (local_f8 & 0xff0000) >> 8 | (local_f8 & 0xff00) << 8" (binary_expression "local_f8 >> 0x18 | (local_f8 & 0xff0000) >> 8" (binary_expression "local_f8 >> 0x18" identifier >> number_literal) | (binary_expression "(local_f8 & 0xff0000) >> 8" (parenthesized_expression "(local_f8 & 0xff0000)" ( (binary_expression "local_f8 & 0xff0000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(local_f8 & 0xff00) << 8" (parenthesized_expression "(local_f8 & 0xff00)" ( (binary_expression "local_f8 & 0xff00" identifier & number_literal) )) << number_literal)) | (binary_expression "local_f8 << 0x18" identifier << number_literal))) ;) (expression_statement "local_7e6 = local_f4 << 8 | local_f4 >> 8;" (assignment_expression "local_7e6 = local_f4 << 8 | local_f4 >> 8" identifier = (binary_expression "local_f4 << 8 | local_f4 >> 8" (binary_expression "local_f4 << 8" identifier << number_literal) | (binary_expression "local_f4 >> 8" identifier >> number_literal))) ;) (expression_statement "local_7dc = local_f2 << 8 | local_f2 >> 8;" (assignment_expression "local_7dc = local_f2 << 8 | local_f2 >> 8" identifier = (binary_expression "local_f2 << 8 | local_f2 >> 8" (binary_expression "local_f2 << 8" identifier << number_literal) | (binary_expression "local_f2 >> 8" identifier >> number_literal))) ;) })) (goto_statement "goto LAB_00012d48;" goto statement_identifier ;) })))) (if_statement "if (local_908 < (stat64 *)0x40) {\n        pr2serr("raw scatter file must be at least 64 bytes long (length: %u)\n",local_908,\n                local_880._44_4_,local_880._44_4_);\nLAB_00012ef5:\n        local_908 = (stat64 *)0xf;\n        goto LAB_00012354;\n      }" if (parenthesized_expression "(local_908 < (stat64 *)0x40)" ( (binary_expression "local_908 < (stat64 *)0x40" identifier < (cast_expression "(stat64 *)0x40" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        pr2serr("raw scatter file must be at least 64 bytes long (length: %u)\n",local_908,\n                local_880._44_4_,local_880._44_4_);\nLAB_00012ef5:\n        local_908 = (stat64 *)0xf;\n        goto LAB_00012354;\n      }" { (expression_statement "pr2serr("raw scatter file must be at least 64 bytes long (length: %u)\n",local_908,\n                local_880._44_4_,local_880._44_4_);" (call_expression "pr2serr("raw scatter file must be at least 64 bytes long (length: %u)\n",local_908,\n                local_880._44_4_,local_880._44_4_)" identifier (argument_list "("raw scatter file must be at least 64 bytes long (length: %u)\n",local_908,\n                local_880._44_4_,local_880._44_4_)" ( (string_literal ""raw scatter file must be at least 64 bytes long (length: %u)\n"" " string_content escape_sequence ") , identifier , (field_expression "local_880._44_4_" identifier . field_identifier) , (field_expression "local_880._44_4_" identifier . field_identifier) ))) ;) (labeled_statement "LAB_00012ef5:\n        local_908 = (stat64 *)0xf;" statement_identifier : (expression_statement "local_908 = (stat64 *)0xf;" (assignment_expression "local_908 = (stat64 *)0xf" identifier = (cast_expression "(stat64 *)0xf" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;)) (goto_statement "goto LAB_00012354;" goto statement_identifier ;) })) (expression_statement "psVar25 = (stat64 *)(local_174 + 0x50);" (assignment_expression "psVar25 = (stat64 *)(local_174 + 0x50)" identifier = (cast_expression "(stat64 *)(local_174 + 0x50)" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_174 + 0x50)" ( (binary_expression "local_174 + 0x50" identifier + number_literal) )))) ;) (expression_statement "local_908 = (stat64 *)FUN_00014a80(&DAT_00017365);" (assignment_expression "local_908 = (stat64 *)FUN_00014a80(&DAT_00017365)" identifier = (cast_expression "(stat64 *)FUN_00014a80(&DAT_00017365)" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_00014a80(&DAT_00017365)" identifier (argument_list "(&DAT_00017365)" ( (pointer_expression "&DAT_00017365" & identifier) ))))) ;) (if_statement "if (local_908 != (stat64 *)0x0) goto LAB_00012354;" if (parenthesized_expression "(local_908 != (stat64 *)0x0)" ( (binary_expression "local_908 != (stat64 *)0x0" identifier != (cast_expression "(stat64 *)0x0" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_00012354;" goto statement_identifier ;)) (expression_statement "cVar6 = FUN_000146a0(&local_8f8,&local_8f4,extraout_ECX_03,extraout_ECX_03);" (assignment_expression "cVar6 = FUN_000146a0(&local_8f8,&local_8f4,extraout_ECX_03,extraout_ECX_03)" identifier = (call_expression "FUN_000146a0(&local_8f8,&local_8f4,extraout_ECX_03,extraout_ECX_03)" identifier (argument_list "(&local_8f8,&local_8f4,extraout_ECX_03,extraout_ECX_03)" ( (pointer_expression "&local_8f8" & identifier) , (pointer_expression "&local_8f4" & identifier) , identifier , identifier )))) ;) (if_statement "if (cVar6 == '\0') goto LAB_00012ef5;" if (parenthesized_expression "(cVar6 == '\0')" ( (binary_expression "cVar6 == '\0'" identifier == (char_literal "'\0'" ' escape_sequence ')) )) (goto_statement "goto LAB_00012ef5;" goto statement_identifier ;)) (if_statement "if (local_8f8 != 1) {\n        pr2serr("No %ss found in SF (num=%u)\n","LBA range descriptor",local_8f8,extraout_EDX_01);\n        goto LAB_00012ef5;\n      }" if (parenthesized_expression "(local_8f8 != 1)" ( (binary_expression "local_8f8 != 1" identifier != number_literal) )) (compound_statement "{\n        pr2serr("No %ss found in SF (num=%u)\n","LBA range descriptor",local_8f8,extraout_EDX_01);\n        goto LAB_00012ef5;\n      }" { (expression_statement "pr2serr("No %ss found in SF (num=%u)\n","LBA range descriptor",local_8f8,extraout_EDX_01);" (call_expression "pr2serr("No %ss found in SF (num=%u)\n","LBA range descriptor",local_8f8,extraout_EDX_01)" identifier (argument_list "("No %ss found in SF (num=%u)\n","LBA range descriptor",local_8f8,extraout_EDX_01)" ( (string_literal ""No %ss found in SF (num=%u)\n"" " string_content escape_sequence ") , (string_literal ""LBA range descriptor"" " string_content ") , identifier , identifier ))) ;) (goto_statement "goto LAB_00012ef5;" goto statement_identifier ;) })) (expression_statement "local_7b8 = local_114 >> 0x18 | (local_114 & 0xff0000) >> 8 | (local_114 & 0xff00) << 8 |\n                  local_114 << 0x18;" (assignment_expression "local_7b8 = local_114 >> 0x18 | (local_114 & 0xff0000) >> 8 | (local_114 & 0xff00) << 8 |\n                  local_114 << 0x18" identifier = (binary_expression "local_114 >> 0x18 | (local_114 & 0xff0000) >> 8 | (local_114 & 0xff00) << 8 |\n                  local_114 << 0x18" (binary_expression "local_114 >> 0x18 | (local_114 & 0xff0000) >> 8 | (local_114 & 0xff00) << 8" (binary_expression "local_114 >> 0x18 | (local_114 & 0xff0000) >> 8" (binary_expression "local_114 >> 0x18" identifier >> number_literal) | (binary_expression "(local_114 & 0xff0000) >> 8" (parenthesized_expression "(local_114 & 0xff0000)" ( (binary_expression "local_114 & 0xff0000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(local_114 & 0xff00) << 8" (parenthesized_expression "(local_114 & 0xff00)" ( (binary_expression "local_114 & 0xff00" identifier & number_literal) )) << number_literal)) | (binary_expression "local_114 << 0x18" identifier << number_literal))) ;) (expression_statement "local_7bc = local_110 >> 0x18 | (local_110 & 0xff0000) >> 8 | (local_110 & 0xff00) << 8 |\n                  local_110 << 0x18;" (assignment_expression "local_7bc = local_110 >> 0x18 | (local_110 & 0xff0000) >> 8 | (local_110 & 0xff00) << 8 |\n                  local_110 << 0x18" identifier = (binary_expression "local_110 >> 0x18 | (local_110 & 0xff0000) >> 8 | (local_110 & 0xff00) << 8 |\n                  local_110 << 0x18" (binary_expression "local_110 >> 0x18 | (local_110 & 0xff0000) >> 8 | (local_110 & 0xff00) << 8" (binary_expression "local_110 >> 0x18 | (local_110 & 0xff0000) >> 8" (binary_expression "local_110 >> 0x18" identifier >> number_literal) | (binary_expression "(local_110 & 0xff0000) >> 8" (parenthesized_expression "(local_110 & 0xff0000)" ( (binary_expression "local_110 & 0xff0000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(local_110 & 0xff00) << 8" (parenthesized_expression "(local_110 & 0xff00)" ( (binary_expression "local_110 & 0xff00" identifier & number_literal) )) << number_literal)) | (binary_expression "local_110 << 0x18" identifier << number_literal))) ;) (expression_statement "local_7cc = (stat64 *)\n                  (local_10c >> 0x18 | (local_10c & 0xff0000) >> 8 | (local_10c & 0xff00) << 8 |\n                  local_10c << 0x18);" (assignment_expression "local_7cc = (stat64 *)\n                  (local_10c >> 0x18 | (local_10c & 0xff0000) >> 8 | (local_10c & 0xff00) << 8 |\n                  local_10c << 0x18)" identifier = (cast_expression "(stat64 *)\n                  (local_10c >> 0x18 | (local_10c & 0xff0000) >> 8 | (local_10c & 0xff00) << 8 |\n                  local_10c << 0x18)" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_10c >> 0x18 | (local_10c & 0xff0000) >> 8 | (local_10c & 0xff00) << 8 |\n                  local_10c << 0x18)" ( (binary_expression "local_10c >> 0x18 | (local_10c & 0xff0000) >> 8 | (local_10c & 0xff00) << 8 |\n                  local_10c << 0x18" (binary_expression "local_10c >> 0x18 | (local_10c & 0xff0000) >> 8 | (local_10c & 0xff00) << 8" (binary_expression "local_10c >> 0x18 | (local_10c & 0xff0000) >> 8" (binary_expression "local_10c >> 0x18" identifier >> number_literal) | (binary_expression "(local_10c & 0xff0000) >> 8" (parenthesized_expression "(local_10c & 0xff0000)" ( (binary_expression "local_10c & 0xff0000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(local_10c & 0xff00) << 8" (parenthesized_expression "(local_10c & 0xff00)" ( (binary_expression "local_10c & 0xff00" identifier & number_literal) )) << number_literal)) | (binary_expression "local_10c << 0x18" identifier << number_literal)) )))) ;) }) (else_clause "else {\n      local_7bc = local_578;\n      local_7b8 = local_574;\n      local_7cc = local_778[0];\n      if ((psVar38 != (stat64 *)0x0) && (local_91c != (stat64 *)0x1)) {\n        pr2serr("warning: %d LBA,number_of_blocks pairs found, only taking first\n",local_91c,\n                psVar17,psVar17);\n      }\n    }" else (compound_statement "{\n      local_7bc = local_578;\n      local_7b8 = local_574;\n      local_7cc = local_778[0];\n      if ((psVar38 != (stat64 *)0x0) && (local_91c != (stat64 *)0x1)) {\n        pr2serr("warning: %d LBA,number_of_blocks pairs found, only taking first\n",local_91c,\n                psVar17,psVar17);\n      }\n    }" { (expression_statement "local_7bc = local_578;" (assignment_expression "local_7bc = local_578" identifier = identifier) ;) (expression_statement "local_7b8 = local_574;" (assignment_expression "local_7b8 = local_574" identifier = identifier) ;) (expression_statement "local_7cc = local_778[0];" (assignment_expression "local_7cc = local_778[0]" identifier = (subscript_expression "local_778[0]" identifier [ number_literal ])) ;) (if_statement "if ((psVar38 != (stat64 *)0x0) && (local_91c != (stat64 *)0x1)) {\n        pr2serr("warning: %d LBA,number_of_blocks pairs found, only taking first\n",local_91c,\n                psVar17,psVar17);\n      }" if (parenthesized_expression "((psVar38 != (stat64 *)0x0) && (local_91c != (stat64 *)0x1))" ( (binary_expression "(psVar38 != (stat64 *)0x0) && (local_91c != (stat64 *)0x1)" (parenthesized_expression "(psVar38 != (stat64 *)0x0)" ( (binary_expression "psVar38 != (stat64 *)0x0" identifier != (cast_expression "(stat64 *)0x0" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) && (parenthesized_expression "(local_91c != (stat64 *)0x1)" ( (binary_expression "local_91c != (stat64 *)0x1" identifier != (cast_expression "(stat64 *)0x1" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ))) )) (compound_statement "{\n        pr2serr("warning: %d LBA,number_of_blocks pairs found, only taking first\n",local_91c,\n                psVar17,psVar17);\n      }" { (expression_statement "pr2serr("warning: %d LBA,number_of_blocks pairs found, only taking first\n",local_91c,\n                psVar17,psVar17);" (call_expression "pr2serr("warning: %d LBA,number_of_blocks pairs found, only taking first\n",local_91c,\n                psVar17,psVar17)" identifier (argument_list "("warning: %d LBA,number_of_blocks pairs found, only taking first\n",local_91c,\n                psVar17,psVar17)" ( (string_literal ""warning: %d LBA,number_of_blocks pairs found, only taking first\n"" " string_content escape_sequence ") , identifier , identifier , identifier ))) ;) })) }))) (labeled_statement "LAB_00012d48:\n    if (local_818 == 0) {\n      psVar25 = (stat64 *)((int)local_7cc * (int)local_7d4);\n    }\n    else {\n      psVar25 = (stat64 *)0x0;\n      if (local_810 == 0) {\n        psVar25 = local_7d4;\n      }\n    }" statement_identifier : (if_statement "if (local_818 == 0) {\n      psVar25 = (stat64 *)((int)local_7cc * (int)local_7d4);\n    }\n    else {\n      psVar25 = (stat64 *)0x0;\n      if (local_810 == 0) {\n        psVar25 = local_7d4;\n      }\n    }" if (parenthesized_expression "(local_818 == 0)" ( (binary_expression "local_818 == 0" identifier == number_literal) )) (compound_statement "{\n      psVar25 = (stat64 *)((int)local_7cc * (int)local_7d4);\n    }" { (expression_statement "psVar25 = (stat64 *)((int)local_7cc * (int)local_7d4);" (assignment_expression "psVar25 = (stat64 *)((int)local_7cc * (int)local_7d4)" identifier = (cast_expression "(stat64 *)((int)local_7cc * (int)local_7d4)" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_7cc * (int)local_7d4)" ( (binary_expression "(int)local_7cc * (int)local_7d4" (cast_expression "(int)local_7cc" ( (type_descriptor "int" primitive_type) ) identifier) * (cast_expression "(int)local_7d4" ( (type_descriptor "int" primitive_type) ) identifier)) )))) ;) }) (else_clause "else {\n      psVar25 = (stat64 *)0x0;\n      if (local_810 == 0) {\n        psVar25 = local_7d4;\n      }\n    }" else (compound_statement "{\n      psVar25 = (stat64 *)0x0;\n      if (local_810 == 0) {\n        psVar25 = local_7d4;\n      }\n    }" { (expression_statement "psVar25 = (stat64 *)0x0;" (assignment_expression "psVar25 = (stat64 *)0x0" identifier = (cast_expression "(stat64 *)0x0" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (if_statement "if (local_810 == 0) {\n        psVar25 = local_7d4;\n      }" if (parenthesized_expression "(local_810 == 0)" ( (binary_expression "local_810 == 0" identifier == number_literal) )) (compound_statement "{\n        psVar25 = local_7d4;\n      }" { (expression_statement "psVar25 = local_7d4;" (assignment_expression "psVar25 = local_7d4" identifier = identifier) ;) })) })))) (expression_statement "local_7a4 = psVar25;" (assignment_expression "local_7a4 = psVar25" identifier = identifier) ;) (if_statement "if (psVar25 != (stat64 *)0x0) {\n      iVar14 = sg_memalign(psVar25,0,&local_8f0,0);\n      if (iVar14 == 0) {\n        pcVar15 = "unable to allocate %u bytes of memory\n";\n        ppvVar39 = (void **)0x0;\n        uVar16 = 0;\n        psVar38 = psVar25;\nLAB_00013bea:\n        pr2serr(pcVar15,psVar38,ppvVar39,uVar16);\n        local_908 = (stat64 *)sg_convert_errno(0xc);\n        goto LAB_00012354;\n      }\n      local_908 = (stat64 *)FUN_00014a80(&DAT_000173c6);\n      if (local_908 != (stat64 *)0x0) goto LAB_00012354;\n    }" if (parenthesized_expression "(psVar25 != (stat64 *)0x0)" ( (binary_expression "psVar25 != (stat64 *)0x0" identifier != (cast_expression "(stat64 *)0x0" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      iVar14 = sg_memalign(psVar25,0,&local_8f0,0);\n      if (iVar14 == 0) {\n        pcVar15 = "unable to allocate %u bytes of memory\n";\n        ppvVar39 = (void **)0x0;\n        uVar16 = 0;\n        psVar38 = psVar25;\nLAB_00013bea:\n        pr2serr(pcVar15,psVar38,ppvVar39,uVar16);\n        local_908 = (stat64 *)sg_convert_errno(0xc);\n        goto LAB_00012354;\n      }\n      local_908 = (stat64 *)FUN_00014a80(&DAT_000173c6);\n      if (local_908 != (stat64 *)0x0) goto LAB_00012354;\n    }" { (expression_statement "iVar14 = sg_memalign(psVar25,0,&local_8f0,0);" (assignment_expression "iVar14 = sg_memalign(psVar25,0,&local_8f0,0)" identifier = (call_expression "sg_memalign(psVar25,0,&local_8f0,0)" identifier (argument_list "(psVar25,0,&local_8f0,0)" ( identifier , number_literal , (pointer_expression "&local_8f0" & identifier) , number_literal )))) ;) (if_statement "if (iVar14 == 0) {\n        pcVar15 = "unable to allocate %u bytes of memory\n";\n        ppvVar39 = (void **)0x0;\n        uVar16 = 0;\n        psVar38 = psVar25;\nLAB_00013bea:\n        pr2serr(pcVar15,psVar38,ppvVar39,uVar16);\n        local_908 = (stat64 *)sg_convert_errno(0xc);\n        goto LAB_00012354;\n      }" if (parenthesized_expression "(iVar14 == 0)" ( (binary_expression "iVar14 == 0" identifier == number_literal) )) (compound_statement "{\n        pcVar15 = "unable to allocate %u bytes of memory\n";\n        ppvVar39 = (void **)0x0;\n        uVar16 = 0;\n        psVar38 = psVar25;\nLAB_00013bea:\n        pr2serr(pcVar15,psVar38,ppvVar39,uVar16);\n        local_908 = (stat64 *)sg_convert_errno(0xc);\n        goto LAB_00012354;\n      }" { (expression_statement "pcVar15 = "unable to allocate %u bytes of memory\n";" (assignment_expression "pcVar15 = "unable to allocate %u bytes of memory\n"" identifier = (string_literal ""unable to allocate %u bytes of memory\n"" " string_content escape_sequence ")) ;) (expression_statement "ppvVar39 = (void **)0x0;" (assignment_expression "ppvVar39 = (void **)0x0" identifier = (cast_expression "(void **)0x0" ( (type_descriptor "void **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) ;) (expression_statement "uVar16 = 0;" (assignment_expression "uVar16 = 0" identifier = number_literal) ;) (expression_statement "psVar38 = psVar25;" (assignment_expression "psVar38 = psVar25" identifier = identifier) ;) (labeled_statement "LAB_00013bea:\n        pr2serr(pcVar15,psVar38,ppvVar39,uVar16);" statement_identifier : (expression_statement "pr2serr(pcVar15,psVar38,ppvVar39,uVar16);" (call_expression "pr2serr(pcVar15,psVar38,ppvVar39,uVar16)" identifier (argument_list "(pcVar15,psVar38,ppvVar39,uVar16)" ( identifier , identifier , identifier , identifier ))) ;)) (expression_statement "local_908 = (stat64 *)sg_convert_errno(0xc);" (assignment_expression "local_908 = (stat64 *)sg_convert_errno(0xc)" identifier = (cast_expression "(stat64 *)sg_convert_errno(0xc)" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "sg_convert_errno(0xc)" identifier (argument_list "(0xc)" ( number_literal ))))) ;) (goto_statement "goto LAB_00012354;" goto statement_identifier ;) })) (expression_statement "local_908 = (stat64 *)FUN_00014a80(&DAT_000173c6);" (assignment_expression "local_908 = (stat64 *)FUN_00014a80(&DAT_000173c6)" identifier = (cast_expression "(stat64 *)FUN_00014a80(&DAT_000173c6)" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_00014a80(&DAT_000173c6)" identifier (argument_list "(&DAT_000173c6)" ( (pointer_expression "&DAT_000173c6" & identifier) ))))) ;) (if_statement "if (local_908 != (stat64 *)0x0) goto LAB_00012354;" if (parenthesized_expression "(local_908 != (stat64 *)0x0)" ( (binary_expression "local_908 != (stat64 *)0x0" identifier != (cast_expression "(stat64 *)0x0" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_00012354;" goto statement_identifier ;)) })) (expression_statement "local_908 = (stat64 *)FUN_00014b00(&local_820);" (assignment_expression "local_908 = (stat64 *)FUN_00014b00(&local_820)" identifier = (cast_expression "(stat64 *)FUN_00014b00(&local_820)" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_00014b00(&local_820)" identifier (argument_list "(&local_820)" ( (pointer_expression "&local_820" & identifier) ))))) ;) (if_statement "if (local_908 == (stat64 *)0x0) goto LAB_00012354;" if (parenthesized_expression "(local_908 == (stat64 *)0x0)" ( (binary_expression "local_908 == (stat64 *)0x0" identifier == (cast_expression "(stat64 *)0x0" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_00012354;" goto statement_identifier ;)) (if_statement "if (local_81a != '\0') goto LAB_00012354;" if (parenthesized_expression "(local_81a != '\0')" ( (binary_expression "local_81a != '\0'" identifier != (char_literal "'\0'" ' escape_sequence ')) )) (goto_statement "goto LAB_00012354;" goto statement_identifier ;)) (expression_statement "puVar43 = local_174;" (assignment_expression "puVar43 = local_174" identifier = identifier) ;) (expression_statement "psVar25 = (stat64 *)"OS error";" (assignment_expression "psVar25 = (stat64 *)"OS error"" identifier = (cast_expression "(stat64 *)"OS error"" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) (string_literal ""OS error"" " string_content "))) ;) (expression_statement "puVar29 = puVar43;" (assignment_expression "puVar29 = puVar43" identifier = identifier) ;) (for_statement "for (iVar14 = 9; iVar14 != 0; iVar14 = iVar14 + -1) {\n      *puVar29 = (char)psVar25->st_dev;\n      psVar25 = (stat64 *)((int)psVar25 + (uint)bVar32 * -2 + 1);\n      puVar29 = puVar29 + (uint)bVar32 * -2 + 1;\n    }" for ( (assignment_expression "iVar14 = 9" identifier = number_literal) ; (binary_expression "iVar14 != 0" identifier != number_literal) ; (assignment_expression "iVar14 = iVar14 + -1" identifier = (binary_expression "iVar14 + -1" identifier + number_literal)) ) (compound_statement "{\n      *puVar29 = (char)psVar25->st_dev;\n      psVar25 = (stat64 *)((int)psVar25 + (uint)bVar32 * -2 + 1);\n      puVar29 = puVar29 + (uint)bVar32 * -2 + 1;\n    }" { (expression_statement "*puVar29 = (char)psVar25->st_dev;" (assignment_expression "*puVar29 = (char)psVar25->st_dev" (pointer_expression "*puVar29" * identifier) = (cast_expression "(char)psVar25->st_dev" ( (type_descriptor "char" primitive_type) ) (field_expression "psVar25->st_dev" identifier -> field_identifier))) ;) (expression_statement "psVar25 = (stat64 *)((int)psVar25 + (uint)bVar32 * -2 + 1);" (assignment_expression "psVar25 = (stat64 *)((int)psVar25 + (uint)bVar32 * -2 + 1)" identifier = (cast_expression "(stat64 *)((int)psVar25 + (uint)bVar32 * -2 + 1)" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)psVar25 + (uint)bVar32 * -2 + 1)" ( (binary_expression "(int)psVar25 + (uint)bVar32 * -2 + 1" (binary_expression "(int)psVar25 + (uint)bVar32 * -2" (cast_expression "(int)psVar25" ( (type_descriptor "int" primitive_type) ) identifier) + (binary_expression "(uint)bVar32 * -2" (cast_expression "(uint)bVar32" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal) )))) ;) (expression_statement "puVar29 = puVar29 + (uint)bVar32 * -2 + 1;" (assignment_expression "puVar29 = puVar29 + (uint)bVar32 * -2 + 1" identifier = (binary_expression "puVar29 + (uint)bVar32 * -2 + 1" (binary_expression "puVar29 + (uint)bVar32 * -2" identifier + (binary_expression "(uint)bVar32 * -2" (cast_expression "(uint)bVar32" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) })) (expression_statement "uVar16 = 0;" (assignment_expression "uVar16 = 0" identifier = number_literal) ;) (if_statement "if (0 < (int)local_908) {\n      sg_get_category_sense_str(local_908,0x50,puVar43,psVar38);\n      uVar16 = extraout_ECX_02;\n    }" if (parenthesized_expression "(0 < (int)local_908)" ( (binary_expression "0 < (int)local_908" number_literal < (cast_expression "(int)local_908" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n      sg_get_category_sense_str(local_908,0x50,puVar43,psVar38);\n      uVar16 = extraout_ECX_02;\n    }" { (expression_statement "sg_get_category_sense_str(local_908,0x50,puVar43,psVar38);" (call_expression "sg_get_category_sense_str(local_908,0x50,puVar43,psVar38)" identifier (argument_list "(local_908,0x50,puVar43,psVar38)" ( identifier , number_literal , identifier , identifier ))) ;) (expression_statement "uVar16 = extraout_ECX_02;" (assignment_expression "uVar16 = extraout_ECX_02" identifier = identifier) ;) })) (expression_statement "pr2serr("%s: %s\n",local_790,puVar43,uVar16);" (call_expression "pr2serr("%s: %s\n",local_790,puVar43,uVar16)" identifier (argument_list "("%s: %s\n",local_790,puVar43,uVar16)" ( (string_literal ""%s: %s\n"" " string_content escape_sequence ") , identifier , identifier , identifier ))) ;) (goto_statement "goto LAB_00012354;" goto statement_identifier ;) })) (expression_statement "local_8e8 = (void *)0x0;" (assignment_expression "local_8e8 = (void *)0x0" identifier = (cast_expression "(void *)0x0" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_8f6 = local_8f8;" (assignment_expression "local_8f6 = local_8f8" identifier = identifier) ;) (expression_statement "local_8ec = (undefined1  [4])local_8f4;" (assignment_expression "local_8ec = (undefined1  [4])local_8f4" identifier = (cast_expression "(undefined1  [4])local_8f4" ( (type_descriptor "undefined1  [4]" type_identifier (abstract_array_declarator "[4]" [ number_literal ])) ) identifier)) ;) (if_statement "if (local_81c != '\0') {\n    if (local_7e2 == 0) {\n      if (local_7e0 == 0) {\n        psVar17 = local_93c;\n        if (local_93c == (stat64 *)0x0) {\n          pr2serr("With --combined= if DOF, RD are 0 and IF has an unknown length\nthen give up\n");\n          local_908 = (stat64 *)0x1f;\n          goto LAB_00012354;\n        }\n      }\n      else {\n        psVar17 = (stat64 *)((local_7e0 + 1) * 0x20);\n      }\n      if ((uint)psVar17 % (uint)local_7d4 != 0) {\n        psVar17 = (stat64 *)(((uint)psVar17 / (uint)local_7d4 + 1) * (int)local_7d4);\n      }\n    }\n    else {\n      psVar17 = (stat64 *)((uint)local_7e2 * (int)local_7d4);\n    }\n    ppvVar39 = &local_8e8;\n    uVar16 = 0;\n    psVar38 = (stat64 *)0x0;\n    psVar25 = (stat64 *)sg_memalign(psVar17,0,ppvVar39,0);\n    if (psVar25 == (stat64 *)0x0) {\nLAB_000141a6:\n      pcVar15 = "unable to allocate aligned memory for scatterlist+data\n";\n      goto LAB_00013bea;\n    }\n    local_908 = (stat64 *)FUN_00014a80("IF c1");\n    if (local_908 != (stat64 *)0x0) goto LAB_000133fd;\n    cVar6 = FUN_000146a0(&local_8f6,local_8ec,0,0);\n    if (cVar6 != '\0') {\n      if ((local_7e0 == 0) || (local_7e0 == local_8f6)) {\n        local_7e0 = local_8f6;\nLAB_00013fe3:\n        local_908 = (stat64 *)((local_7e0 + 1) * 0x20);\n        if ((uint)local_908 % (uint)local_7d4 != 0) {\n          local_908 = (stat64 *)(((uint)local_908 / (uint)local_7d4 + 1) * (int)local_7d4);\n        }\n        uVar7 = (uint)local_7e2;\n        uVar24 = uVar7 * (int)local_7d4;\n        psVar38 = local_908;\n        local_8f6 = local_7e0;\n        if (uVar24 - (int)local_908 != 0) {\n          if (uVar24 < local_908) {\n            pr2serr("%s: Cannot fit %ss (%u) in given LB data offset (%u)\n","process_scattered",\n                    "LBA range descriptor",(uint)local_7e0,uVar7);\n            goto LAB_000133f3;\n          }\n          psVar38 = (stat64 *)uVar24;\n          if ((((uint)psVar18 | local_7f8) != 0) &&\n             (pr2serr("%s: empty blocks before LB data offset (%u), could be okay\n",\n                      "process_scattered",uVar7,(uint)psVar18 | local_7f8), local_7f8 != 0)) {\n            pr2serr("Exiting due to --strict; perhaps try again with --combined=%u\n",\n                    (uint)local_908 / (uint)local_7d4,psVar25,psVar25);\n            local_908 = (stat64 *)0xf;\n            goto LAB_000133fd;\n          }\n        }\n        psVar38 = (stat64 *)((int)local_8ec * (int)local_7d4 + (int)psVar38);\n        if (psVar38 <= psVar17) {\nLAB_0001418c:\n          local_7cc = (stat64 *)local_8ec;\n          local_7a4 = (stat64 *)((int)local_8ec * (int)local_7d4);\n          goto LAB_00013962;\n        }\n        if (local_93c != psVar38) {\n          if (local_93c < psVar38) {\n            pr2serr("Calculated dout length (%u) %s bytes available in IF (%u)\n",psVar38,\n                    &DAT_000170dd,local_93c);\n          }\n          else if ((psVar18 == (stat64 *)0x0 && local_7f8 == 0) ||\n                  (pr2serr("Calculated dout length (%u) %s bytes available in IF (%u)\n",psVar38,\n                           &DAT_00017110,local_93c), local_7f8 == 0)) goto LAB_00014113;\n          goto LAB_000133f3;\n        }\nLAB_00014113:\n        uVar33 = sg_memalign(psVar38,0,&local_8e4,0);\n        uVar16 = (undefined4)((ulonglong)uVar33 >> 0x20);\n        psVar38 = (stat64 *)uVar33;\n        if (psVar38 != (stat64 *)0x0) {\n          memcpy(psVar38,psVar25,(size_t)psVar17);\n          free(local_8e8);\n          local_8e8 = local_8e4;\n          local_908 = (stat64 *)FUN_00014a80("IF c2",psVar25,psVar17,uVar16);\n          psVar25 = psVar38;\n          if (local_908 != (stat64 *)0x0) goto LAB_000133fd;\n          goto LAB_0001418c;\n        }\nLAB_00014273:\n        pcVar15 = "unable to allocate memory for final scatterlist+data\n";\n        goto LAB_00013fbc;\n      }\n      if (local_8f6 < local_7e0) {\n        pr2serr("RD (%u) %s number of %ss (%u) found in IF\n",local_7e0,&DAT_000170dd,\n                "LBA range descriptor",local_8f6);\n      }\n      else if ((psVar18 == (stat64 *)0x0 && local_7f8 == 0) ||\n              (pr2serr("RD (%u) %s number of %ss (%u) found in IF\n",local_7e0,&DAT_00017110,\n                       "LBA range descriptor",local_8f6), local_7f8 == 0)) {\n        local_908 = (stat64 *)0x0;\n        for (psVar38 = psVar25; (stat64 *)(&psVar25->st_dev + (uint)local_7e0 * 4) != psVar38;\n            psVar38 = (stat64 *)&psVar38->st_rdev) {\n          uVar7 = psVar38->__pad2;\n          local_908 = (stat64 *)\n                      ((int)&local_908->st_dev +\n                      (uVar7 >> 0x18 | (uVar7 & 0xff0000) >> 8 | (uVar7 & 0xff00) << 8 |\n                      uVar7 << 0x18));\n        }\n        local_8ec = (undefined1  [4])local_908;\n        goto LAB_00013fe3;\n      }\n    }\nLAB_000133f3:\n    local_908 = (stat64 *)0xf;\n    goto LAB_000133fd;\n  }" if (parenthesized_expression "(local_81c != '\0')" ( (binary_expression "local_81c != '\0'" identifier != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n    if (local_7e2 == 0) {\n      if (local_7e0 == 0) {\n        psVar17 = local_93c;\n        if (local_93c == (stat64 *)0x0) {\n          pr2serr("With --combined= if DOF, RD are 0 and IF has an unknown length\nthen give up\n");\n          local_908 = (stat64 *)0x1f;\n          goto LAB_00012354;\n        }\n      }\n      else {\n        psVar17 = (stat64 *)((local_7e0 + 1) * 0x20);\n      }\n      if ((uint)psVar17 % (uint)local_7d4 != 0) {\n        psVar17 = (stat64 *)(((uint)psVar17 / (uint)local_7d4 + 1) * (int)local_7d4);\n      }\n    }\n    else {\n      psVar17 = (stat64 *)((uint)local_7e2 * (int)local_7d4);\n    }\n    ppvVar39 = &local_8e8;\n    uVar16 = 0;\n    psVar38 = (stat64 *)0x0;\n    psVar25 = (stat64 *)sg_memalign(psVar17,0,ppvVar39,0);\n    if (psVar25 == (stat64 *)0x0) {\nLAB_000141a6:\n      pcVar15 = "unable to allocate aligned memory for scatterlist+data\n";\n      goto LAB_00013bea;\n    }\n    local_908 = (stat64 *)FUN_00014a80("IF c1");\n    if (local_908 != (stat64 *)0x0) goto LAB_000133fd;\n    cVar6 = FUN_000146a0(&local_8f6,local_8ec,0,0);\n    if (cVar6 != '\0') {\n      if ((local_7e0 == 0) || (local_7e0 == local_8f6)) {\n        local_7e0 = local_8f6;\nLAB_00013fe3:\n        local_908 = (stat64 *)((local_7e0 + 1) * 0x20);\n        if ((uint)local_908 % (uint)local_7d4 != 0) {\n          local_908 = (stat64 *)(((uint)local_908 / (uint)local_7d4 + 1) * (int)local_7d4);\n        }\n        uVar7 = (uint)local_7e2;\n        uVar24 = uVar7 * (int)local_7d4;\n        psVar38 = local_908;\n        local_8f6 = local_7e0;\n        if (uVar24 - (int)local_908 != 0) {\n          if (uVar24 < local_908) {\n            pr2serr("%s: Cannot fit %ss (%u) in given LB data offset (%u)\n","process_scattered",\n                    "LBA range descriptor",(uint)local_7e0,uVar7);\n            goto LAB_000133f3;\n          }\n          psVar38 = (stat64 *)uVar24;\n          if ((((uint)psVar18 | local_7f8) != 0) &&\n             (pr2serr("%s: empty blocks before LB data offset (%u), could be okay\n",\n                      "process_scattered",uVar7,(uint)psVar18 | local_7f8), local_7f8 != 0)) {\n            pr2serr("Exiting due to --strict; perhaps try again with --combined=%u\n",\n                    (uint)local_908 / (uint)local_7d4,psVar25,psVar25);\n            local_908 = (stat64 *)0xf;\n            goto LAB_000133fd;\n          }\n        }\n        psVar38 = (stat64 *)((int)local_8ec * (int)local_7d4 + (int)psVar38);\n        if (psVar38 <= psVar17) {\nLAB_0001418c:\n          local_7cc = (stat64 *)local_8ec;\n          local_7a4 = (stat64 *)((int)local_8ec * (int)local_7d4);\n          goto LAB_00013962;\n        }\n        if (local_93c != psVar38) {\n          if (local_93c < psVar38) {\n            pr2serr("Calculated dout length (%u) %s bytes available in IF (%u)\n",psVar38,\n                    &DAT_000170dd,local_93c);\n          }\n          else if ((psVar18 == (stat64 *)0x0 && local_7f8 == 0) ||\n                  (pr2serr("Calculated dout length (%u) %s bytes available in IF (%u)\n",psVar38,\n                           &DAT_00017110,local_93c), local_7f8 == 0)) goto LAB_00014113;\n          goto LAB_000133f3;\n        }\nLAB_00014113:\n        uVar33 = sg_memalign(psVar38,0,&local_8e4,0);\n        uVar16 = (undefined4)((ulonglong)uVar33 >> 0x20);\n        psVar38 = (stat64 *)uVar33;\n        if (psVar38 != (stat64 *)0x0) {\n          memcpy(psVar38,psVar25,(size_t)psVar17);\n          free(local_8e8);\n          local_8e8 = local_8e4;\n          local_908 = (stat64 *)FUN_00014a80("IF c2",psVar25,psVar17,uVar16);\n          psVar25 = psVar38;\n          if (local_908 != (stat64 *)0x0) goto LAB_000133fd;\n          goto LAB_0001418c;\n        }\nLAB_00014273:\n        pcVar15 = "unable to allocate memory for final scatterlist+data\n";\n        goto LAB_00013fbc;\n      }\n      if (local_8f6 < local_7e0) {\n        pr2serr("RD (%u) %s number of %ss (%u) found in IF\n",local_7e0,&DAT_000170dd,\n                "LBA range descriptor",local_8f6);\n      }\n      else if ((psVar18 == (stat64 *)0x0 && local_7f8 == 0) ||\n              (pr2serr("RD (%u) %s number of %ss (%u) found in IF\n",local_7e0,&DAT_00017110,\n                       "LBA range descriptor",local_8f6), local_7f8 == 0)) {\n        local_908 = (stat64 *)0x0;\n        for (psVar38 = psVar25; (stat64 *)(&psVar25->st_dev + (uint)local_7e0 * 4) != psVar38;\n            psVar38 = (stat64 *)&psVar38->st_rdev) {\n          uVar7 = psVar38->__pad2;\n          local_908 = (stat64 *)\n                      ((int)&local_908->st_dev +\n                      (uVar7 >> 0x18 | (uVar7 & 0xff0000) >> 8 | (uVar7 & 0xff00) << 8 |\n                      uVar7 << 0x18));\n        }\n        local_8ec = (undefined1  [4])local_908;\n        goto LAB_00013fe3;\n      }\n    }\nLAB_000133f3:\n    local_908 = (stat64 *)0xf;\n    goto LAB_000133fd;\n  }" { (if_statement "if (local_7e2 == 0) {\n      if (local_7e0 == 0) {\n        psVar17 = local_93c;\n        if (local_93c == (stat64 *)0x0) {\n          pr2serr("With --combined= if DOF, RD are 0 and IF has an unknown length\nthen give up\n");\n          local_908 = (stat64 *)0x1f;\n          goto LAB_00012354;\n        }\n      }\n      else {\n        psVar17 = (stat64 *)((local_7e0 + 1) * 0x20);\n      }\n      if ((uint)psVar17 % (uint)local_7d4 != 0) {\n        psVar17 = (stat64 *)(((uint)psVar17 / (uint)local_7d4 + 1) * (int)local_7d4);\n      }\n    }\n    else {\n      psVar17 = (stat64 *)((uint)local_7e2 * (int)local_7d4);\n    }" if (parenthesized_expression "(local_7e2 == 0)" ( (binary_expression "local_7e2 == 0" identifier == number_literal) )) (compound_statement "{\n      if (local_7e0 == 0) {\n        psVar17 = local_93c;\n        if (local_93c == (stat64 *)0x0) {\n          pr2serr("With --combined= if DOF, RD are 0 and IF has an unknown length\nthen give up\n");\n          local_908 = (stat64 *)0x1f;\n          goto LAB_00012354;\n        }\n      }\n      else {\n        psVar17 = (stat64 *)((local_7e0 + 1) * 0x20);\n      }\n      if ((uint)psVar17 % (uint)local_7d4 != 0) {\n        psVar17 = (stat64 *)(((uint)psVar17 / (uint)local_7d4 + 1) * (int)local_7d4);\n      }\n    }" { (if_statement "if (local_7e0 == 0) {\n        psVar17 = local_93c;\n        if (local_93c == (stat64 *)0x0) {\n          pr2serr("With --combined= if DOF, RD are 0 and IF has an unknown length\nthen give up\n");\n          local_908 = (stat64 *)0x1f;\n          goto LAB_00012354;\n        }\n      }\n      else {\n        psVar17 = (stat64 *)((local_7e0 + 1) * 0x20);\n      }" if (parenthesized_expression "(local_7e0 == 0)" ( (binary_expression "local_7e0 == 0" identifier == number_literal) )) (compound_statement "{\n        psVar17 = local_93c;\n        if (local_93c == (stat64 *)0x0) {\n          pr2serr("With --combined= if DOF, RD are 0 and IF has an unknown length\nthen give up\n");\n          local_908 = (stat64 *)0x1f;\n          goto LAB_00012354;\n        }\n      }" { (expression_statement "psVar17 = local_93c;" (assignment_expression "psVar17 = local_93c" identifier = identifier) ;) (if_statement "if (local_93c == (stat64 *)0x0) {\n          pr2serr("With --combined= if DOF, RD are 0 and IF has an unknown length\nthen give up\n");\n          local_908 = (stat64 *)0x1f;\n          goto LAB_00012354;\n        }" if (parenthesized_expression "(local_93c == (stat64 *)0x0)" ( (binary_expression "local_93c == (stat64 *)0x0" identifier == (cast_expression "(stat64 *)0x0" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n          pr2serr("With --combined= if DOF, RD are 0 and IF has an unknown length\nthen give up\n");\n          local_908 = (stat64 *)0x1f;\n          goto LAB_00012354;\n        }" { (expression_statement "pr2serr("With --combined= if DOF, RD are 0 and IF has an unknown length\nthen give up\n");" (call_expression "pr2serr("With --combined= if DOF, RD are 0 and IF has an unknown length\nthen give up\n")" identifier (argument_list "("With --combined= if DOF, RD are 0 and IF has an unknown length\nthen give up\n")" ( (string_literal ""With --combined= if DOF, RD are 0 and IF has an unknown length\nthen give up\n"" " string_content escape_sequence string_content escape_sequence ") ))) ;) (expression_statement "local_908 = (stat64 *)0x1f;" (assignment_expression "local_908 = (stat64 *)0x1f" identifier = (cast_expression "(stat64 *)0x1f" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (goto_statement "goto LAB_00012354;" goto statement_identifier ;) })) }) (else_clause "else {\n        psVar17 = (stat64 *)((local_7e0 + 1) * 0x20);\n      }" else (compound_statement "{\n        psVar17 = (stat64 *)((local_7e0 + 1) * 0x20);\n      }" { (expression_statement "psVar17 = (stat64 *)((local_7e0 + 1) * 0x20);" (assignment_expression "psVar17 = (stat64 *)((local_7e0 + 1) * 0x20)" identifier = (cast_expression "(stat64 *)((local_7e0 + 1) * 0x20)" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((local_7e0 + 1) * 0x20)" ( (binary_expression "(local_7e0 + 1) * 0x20" (parenthesized_expression "(local_7e0 + 1)" ( (binary_expression "local_7e0 + 1" identifier + number_literal) )) * number_literal) )))) ;) }))) (if_statement "if ((uint)psVar17 % (uint)local_7d4 != 0) {\n        psVar17 = (stat64 *)(((uint)psVar17 / (uint)local_7d4 + 1) * (int)local_7d4);\n      }" if (parenthesized_expression "((uint)psVar17 % (uint)local_7d4 != 0)" ( (binary_expression "(uint)psVar17 % (uint)local_7d4 != 0" (binary_expression "(uint)psVar17 % (uint)local_7d4" (cast_expression "(uint)psVar17" ( (type_descriptor "uint" type_identifier) ) identifier) % (cast_expression "(uint)local_7d4" ( (type_descriptor "uint" type_identifier) ) identifier)) != number_literal) )) (compound_statement "{\n        psVar17 = (stat64 *)(((uint)psVar17 / (uint)local_7d4 + 1) * (int)local_7d4);\n      }" { (expression_statement "psVar17 = (stat64 *)(((uint)psVar17 / (uint)local_7d4 + 1) * (int)local_7d4);" (assignment_expression "psVar17 = (stat64 *)(((uint)psVar17 / (uint)local_7d4 + 1) * (int)local_7d4)" identifier = (cast_expression "(stat64 *)(((uint)psVar17 / (uint)local_7d4 + 1) * (int)local_7d4)" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(((uint)psVar17 / (uint)local_7d4 + 1) * (int)local_7d4)" ( (binary_expression "((uint)psVar17 / (uint)local_7d4 + 1) * (int)local_7d4" (parenthesized_expression "((uint)psVar17 / (uint)local_7d4 + 1)" ( (binary_expression "(uint)psVar17 / (uint)local_7d4 + 1" (binary_expression "(uint)psVar17 / (uint)local_7d4" (cast_expression "(uint)psVar17" ( (type_descriptor "uint" type_identifier) ) identifier) / (cast_expression "(uint)local_7d4" ( (type_descriptor "uint" type_identifier) ) identifier)) + number_literal) )) * (cast_expression "(int)local_7d4" ( (type_descriptor "int" primitive_type) ) identifier)) )))) ;) })) }) (else_clause "else {\n      psVar17 = (stat64 *)((uint)local_7e2 * (int)local_7d4);\n    }" else (compound_statement "{\n      psVar17 = (stat64 *)((uint)local_7e2 * (int)local_7d4);\n    }" { (expression_statement "psVar17 = (stat64 *)((uint)local_7e2 * (int)local_7d4);" (assignment_expression "psVar17 = (stat64 *)((uint)local_7e2 * (int)local_7d4)" identifier = (cast_expression "(stat64 *)((uint)local_7e2 * (int)local_7d4)" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((uint)local_7e2 * (int)local_7d4)" ( (binary_expression "(uint)local_7e2 * (int)local_7d4" (cast_expression "(uint)local_7e2" ( (type_descriptor "uint" type_identifier) ) identifier) * (cast_expression "(int)local_7d4" ( (type_descriptor "int" primitive_type) ) identifier)) )))) ;) }))) (expression_statement "ppvVar39 = &local_8e8;" (assignment_expression "ppvVar39 = &local_8e8" identifier = (pointer_expression "&local_8e8" & identifier)) ;) (expression_statement "uVar16 = 0;" (assignment_expression "uVar16 = 0" identifier = number_literal) ;) (expression_statement "psVar38 = (stat64 *)0x0;" (assignment_expression "psVar38 = (stat64 *)0x0" identifier = (cast_expression "(stat64 *)0x0" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "psVar25 = (stat64 *)sg_memalign(psVar17,0,ppvVar39,0);" (assignment_expression "psVar25 = (stat64 *)sg_memalign(psVar17,0,ppvVar39,0)" identifier = (cast_expression "(stat64 *)sg_memalign(psVar17,0,ppvVar39,0)" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "sg_memalign(psVar17,0,ppvVar39,0)" identifier (argument_list "(psVar17,0,ppvVar39,0)" ( identifier , number_literal , identifier , number_literal ))))) ;) (if_statement "if (psVar25 == (stat64 *)0x0) {\nLAB_000141a6:\n      pcVar15 = "unable to allocate aligned memory for scatterlist+data\n";\n      goto LAB_00013bea;\n    }" if (parenthesized_expression "(psVar25 == (stat64 *)0x0)" ( (binary_expression "psVar25 == (stat64 *)0x0" identifier == (cast_expression "(stat64 *)0x0" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\nLAB_000141a6:\n      pcVar15 = "unable to allocate aligned memory for scatterlist+data\n";\n      goto LAB_00013bea;\n    }" { (labeled_statement "LAB_000141a6:\n      pcVar15 = "unable to allocate aligned memory for scatterlist+data\n";" statement_identifier : (expression_statement "pcVar15 = "unable to allocate aligned memory for scatterlist+data\n";" (assignment_expression "pcVar15 = "unable to allocate aligned memory for scatterlist+data\n"" identifier = (string_literal ""unable to allocate aligned memory for scatterlist+data\n"" " string_content escape_sequence ")) ;)) (goto_statement "goto LAB_00013bea;" goto statement_identifier ;) })) (expression_statement "local_908 = (stat64 *)FUN_00014a80("IF c1");" (assignment_expression "local_908 = (stat64 *)FUN_00014a80("IF c1")" identifier = (cast_expression "(stat64 *)FUN_00014a80("IF c1")" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_00014a80("IF c1")" identifier (argument_list "("IF c1")" ( (string_literal ""IF c1"" " string_content ") ))))) ;) (if_statement "if (local_908 != (stat64 *)0x0) goto LAB_000133fd;" if (parenthesized_expression "(local_908 != (stat64 *)0x0)" ( (binary_expression "local_908 != (stat64 *)0x0" identifier != (cast_expression "(stat64 *)0x0" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_000133fd;" goto statement_identifier ;)) (expression_statement "cVar6 = FUN_000146a0(&local_8f6,local_8ec,0,0);" (assignment_expression "cVar6 = FUN_000146a0(&local_8f6,local_8ec,0,0)" identifier = (call_expression "FUN_000146a0(&local_8f6,local_8ec,0,0)" identifier (argument_list "(&local_8f6,local_8ec,0,0)" ( (pointer_expression "&local_8f6" & identifier) , identifier , number_literal , number_literal )))) ;) (if_statement "if (cVar6 != '\0') {\n      if ((local_7e0 == 0) || (local_7e0 == local_8f6)) {\n        local_7e0 = local_8f6;\nLAB_00013fe3:\n        local_908 = (stat64 *)((local_7e0 + 1) * 0x20);\n        if ((uint)local_908 % (uint)local_7d4 != 0) {\n          local_908 = (stat64 *)(((uint)local_908 / (uint)local_7d4 + 1) * (int)local_7d4);\n        }\n        uVar7 = (uint)local_7e2;\n        uVar24 = uVar7 * (int)local_7d4;\n        psVar38 = local_908;\n        local_8f6 = local_7e0;\n        if (uVar24 - (int)local_908 != 0) {\n          if (uVar24 < local_908) {\n            pr2serr("%s: Cannot fit %ss (%u) in given LB data offset (%u)\n","process_scattered",\n                    "LBA range descriptor",(uint)local_7e0,uVar7);\n            goto LAB_000133f3;\n          }\n          psVar38 = (stat64 *)uVar24;\n          if ((((uint)psVar18 | local_7f8) != 0) &&\n             (pr2serr("%s: empty blocks before LB data offset (%u), could be okay\n",\n                      "process_scattered",uVar7,(uint)psVar18 | local_7f8), local_7f8 != 0)) {\n            pr2serr("Exiting due to --strict; perhaps try again with --combined=%u\n",\n                    (uint)local_908 / (uint)local_7d4,psVar25,psVar25);\n            local_908 = (stat64 *)0xf;\n            goto LAB_000133fd;\n          }\n        }\n        psVar38 = (stat64 *)((int)local_8ec * (int)local_7d4 + (int)psVar38);\n        if (psVar38 <= psVar17) {\nLAB_0001418c:\n          local_7cc = (stat64 *)local_8ec;\n          local_7a4 = (stat64 *)((int)local_8ec * (int)local_7d4);\n          goto LAB_00013962;\n        }\n        if (local_93c != psVar38) {\n          if (local_93c < psVar38) {\n            pr2serr("Calculated dout length (%u) %s bytes available in IF (%u)\n",psVar38,\n                    &DAT_000170dd,local_93c);\n          }\n          else if ((psVar18 == (stat64 *)0x0 && local_7f8 == 0) ||\n                  (pr2serr("Calculated dout length (%u) %s bytes available in IF (%u)\n",psVar38,\n                           &DAT_00017110,local_93c), local_7f8 == 0)) goto LAB_00014113;\n          goto LAB_000133f3;\n        }\nLAB_00014113:\n        uVar33 = sg_memalign(psVar38,0,&local_8e4,0);\n        uVar16 = (undefined4)((ulonglong)uVar33 >> 0x20);\n        psVar38 = (stat64 *)uVar33;\n        if (psVar38 != (stat64 *)0x0) {\n          memcpy(psVar38,psVar25,(size_t)psVar17);\n          free(local_8e8);\n          local_8e8 = local_8e4;\n          local_908 = (stat64 *)FUN_00014a80("IF c2",psVar25,psVar17,uVar16);\n          psVar25 = psVar38;\n          if (local_908 != (stat64 *)0x0) goto LAB_000133fd;\n          goto LAB_0001418c;\n        }\nLAB_00014273:\n        pcVar15 = "unable to allocate memory for final scatterlist+data\n";\n        goto LAB_00013fbc;\n      }\n      if (local_8f6 < local_7e0) {\n        pr2serr("RD (%u) %s number of %ss (%u) found in IF\n",local_7e0,&DAT_000170dd,\n                "LBA range descriptor",local_8f6);\n      }\n      else if ((psVar18 == (stat64 *)0x0 && local_7f8 == 0) ||\n              (pr2serr("RD (%u) %s number of %ss (%u) found in IF\n",local_7e0,&DAT_00017110,\n                       "LBA range descriptor",local_8f6), local_7f8 == 0)) {\n        local_908 = (stat64 *)0x0;\n        for (psVar38 = psVar25; (stat64 *)(&psVar25->st_dev + (uint)local_7e0 * 4) != psVar38;\n            psVar38 = (stat64 *)&psVar38->st_rdev) {\n          uVar7 = psVar38->__pad2;\n          local_908 = (stat64 *)\n                      ((int)&local_908->st_dev +\n                      (uVar7 >> 0x18 | (uVar7 & 0xff0000) >> 8 | (uVar7 & 0xff00) << 8 |\n                      uVar7 << 0x18));\n        }\n        local_8ec = (undefined1  [4])local_908;\n        goto LAB_00013fe3;\n      }\n    }" if (parenthesized_expression "(cVar6 != '\0')" ( (binary_expression "cVar6 != '\0'" identifier != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n      if ((local_7e0 == 0) || (local_7e0 == local_8f6)) {\n        local_7e0 = local_8f6;\nLAB_00013fe3:\n        local_908 = (stat64 *)((local_7e0 + 1) * 0x20);\n        if ((uint)local_908 % (uint)local_7d4 != 0) {\n          local_908 = (stat64 *)(((uint)local_908 / (uint)local_7d4 + 1) * (int)local_7d4);\n        }\n        uVar7 = (uint)local_7e2;\n        uVar24 = uVar7 * (int)local_7d4;\n        psVar38 = local_908;\n        local_8f6 = local_7e0;\n        if (uVar24 - (int)local_908 != 0) {\n          if (uVar24 < local_908) {\n            pr2serr("%s: Cannot fit %ss (%u) in given LB data offset (%u)\n","process_scattered",\n                    "LBA range descriptor",(uint)local_7e0,uVar7);\n            goto LAB_000133f3;\n          }\n          psVar38 = (stat64 *)uVar24;\n          if ((((uint)psVar18 | local_7f8) != 0) &&\n             (pr2serr("%s: empty blocks before LB data offset (%u), could be okay\n",\n                      "process_scattered",uVar7,(uint)psVar18 | local_7f8), local_7f8 != 0)) {\n            pr2serr("Exiting due to --strict; perhaps try again with --combined=%u\n",\n                    (uint)local_908 / (uint)local_7d4,psVar25,psVar25);\n            local_908 = (stat64 *)0xf;\n            goto LAB_000133fd;\n          }\n        }\n        psVar38 = (stat64 *)((int)local_8ec * (int)local_7d4 + (int)psVar38);\n        if (psVar38 <= psVar17) {\nLAB_0001418c:\n          local_7cc = (stat64 *)local_8ec;\n          local_7a4 = (stat64 *)((int)local_8ec * (int)local_7d4);\n          goto LAB_00013962;\n        }\n        if (local_93c != psVar38) {\n          if (local_93c < psVar38) {\n            pr2serr("Calculated dout length (%u) %s bytes available in IF (%u)\n",psVar38,\n                    &DAT_000170dd,local_93c);\n          }\n          else if ((psVar18 == (stat64 *)0x0 && local_7f8 == 0) ||\n                  (pr2serr("Calculated dout length (%u) %s bytes available in IF (%u)\n",psVar38,\n                           &DAT_00017110,local_93c), local_7f8 == 0)) goto LAB_00014113;\n          goto LAB_000133f3;\n        }\nLAB_00014113:\n        uVar33 = sg_memalign(psVar38,0,&local_8e4,0);\n        uVar16 = (undefined4)((ulonglong)uVar33 >> 0x20);\n        psVar38 = (stat64 *)uVar33;\n        if (psVar38 != (stat64 *)0x0) {\n          memcpy(psVar38,psVar25,(size_t)psVar17);\n          free(local_8e8);\n          local_8e8 = local_8e4;\n          local_908 = (stat64 *)FUN_00014a80("IF c2",psVar25,psVar17,uVar16);\n          psVar25 = psVar38;\n          if (local_908 != (stat64 *)0x0) goto LAB_000133fd;\n          goto LAB_0001418c;\n        }\nLAB_00014273:\n        pcVar15 = "unable to allocate memory for final scatterlist+data\n";\n        goto LAB_00013fbc;\n      }\n      if (local_8f6 < local_7e0) {\n        pr2serr("RD (%u) %s number of %ss (%u) found in IF\n",local_7e0,&DAT_000170dd,\n                "LBA range descriptor",local_8f6);\n      }\n      else if ((psVar18 == (stat64 *)0x0 && local_7f8 == 0) ||\n              (pr2serr("RD (%u) %s number of %ss (%u) found in IF\n",local_7e0,&DAT_00017110,\n                       "LBA range descriptor",local_8f6), local_7f8 == 0)) {\n        local_908 = (stat64 *)0x0;\n        for (psVar38 = psVar25; (stat64 *)(&psVar25->st_dev + (uint)local_7e0 * 4) != psVar38;\n            psVar38 = (stat64 *)&psVar38->st_rdev) {\n          uVar7 = psVar38->__pad2;\n          local_908 = (stat64 *)\n                      ((int)&local_908->st_dev +\n                      (uVar7 >> 0x18 | (uVar7 & 0xff0000) >> 8 | (uVar7 & 0xff00) << 8 |\n                      uVar7 << 0x18));\n        }\n        local_8ec = (undefined1  [4])local_908;\n        goto LAB_00013fe3;\n      }\n    }" { (if_statement "if ((local_7e0 == 0) || (local_7e0 == local_8f6)) {\n        local_7e0 = local_8f6;\nLAB_00013fe3:\n        local_908 = (stat64 *)((local_7e0 + 1) * 0x20);\n        if ((uint)local_908 % (uint)local_7d4 != 0) {\n          local_908 = (stat64 *)(((uint)local_908 / (uint)local_7d4 + 1) * (int)local_7d4);\n        }\n        uVar7 = (uint)local_7e2;\n        uVar24 = uVar7 * (int)local_7d4;\n        psVar38 = local_908;\n        local_8f6 = local_7e0;\n        if (uVar24 - (int)local_908 != 0) {\n          if (uVar24 < local_908) {\n            pr2serr("%s: Cannot fit %ss (%u) in given LB data offset (%u)\n","process_scattered",\n                    "LBA range descriptor",(uint)local_7e0,uVar7);\n            goto LAB_000133f3;\n          }\n          psVar38 = (stat64 *)uVar24;\n          if ((((uint)psVar18 | local_7f8) != 0) &&\n             (pr2serr("%s: empty blocks before LB data offset (%u), could be okay\n",\n                      "process_scattered",uVar7,(uint)psVar18 | local_7f8), local_7f8 != 0)) {\n            pr2serr("Exiting due to --strict; perhaps try again with --combined=%u\n",\n                    (uint)local_908 / (uint)local_7d4,psVar25,psVar25);\n            local_908 = (stat64 *)0xf;\n            goto LAB_000133fd;\n          }\n        }\n        psVar38 = (stat64 *)((int)local_8ec * (int)local_7d4 + (int)psVar38);\n        if (psVar38 <= psVar17) {\nLAB_0001418c:\n          local_7cc = (stat64 *)local_8ec;\n          local_7a4 = (stat64 *)((int)local_8ec * (int)local_7d4);\n          goto LAB_00013962;\n        }\n        if (local_93c != psVar38) {\n          if (local_93c < psVar38) {\n            pr2serr("Calculated dout length (%u) %s bytes available in IF (%u)\n",psVar38,\n                    &DAT_000170dd,local_93c);\n          }\n          else if ((psVar18 == (stat64 *)0x0 && local_7f8 == 0) ||\n                  (pr2serr("Calculated dout length (%u) %s bytes available in IF (%u)\n",psVar38,\n                           &DAT_00017110,local_93c), local_7f8 == 0)) goto LAB_00014113;\n          goto LAB_000133f3;\n        }\nLAB_00014113:\n        uVar33 = sg_memalign(psVar38,0,&local_8e4,0);\n        uVar16 = (undefined4)((ulonglong)uVar33 >> 0x20);\n        psVar38 = (stat64 *)uVar33;\n        if (psVar38 != (stat64 *)0x0) {\n          memcpy(psVar38,psVar25,(size_t)psVar17);\n          free(local_8e8);\n          local_8e8 = local_8e4;\n          local_908 = (stat64 *)FUN_00014a80("IF c2",psVar25,psVar17,uVar16);\n          psVar25 = psVar38;\n          if (local_908 != (stat64 *)0x0) goto LAB_000133fd;\n          goto LAB_0001418c;\n        }\nLAB_00014273:\n        pcVar15 = "unable to allocate memory for final scatterlist+data\n";\n        goto LAB_00013fbc;\n      }" if (parenthesized_expression "((local_7e0 == 0) || (local_7e0 == local_8f6))" ( (binary_expression "(local_7e0 == 0) || (local_7e0 == local_8f6)" (parenthesized_expression "(local_7e0 == 0)" ( (binary_expression "local_7e0 == 0" identifier == number_literal) )) || (parenthesized_expression "(local_7e0 == local_8f6)" ( (binary_expression "local_7e0 == local_8f6" identifier == identifier) ))) )) (compound_statement "{\n        local_7e0 = local_8f6;\nLAB_00013fe3:\n        local_908 = (stat64 *)((local_7e0 + 1) * 0x20);\n        if ((uint)local_908 % (uint)local_7d4 != 0) {\n          local_908 = (stat64 *)(((uint)local_908 / (uint)local_7d4 + 1) * (int)local_7d4);\n        }\n        uVar7 = (uint)local_7e2;\n        uVar24 = uVar7 * (int)local_7d4;\n        psVar38 = local_908;\n        local_8f6 = local_7e0;\n        if (uVar24 - (int)local_908 != 0) {\n          if (uVar24 < local_908) {\n            pr2serr("%s: Cannot fit %ss (%u) in given LB data offset (%u)\n","process_scattered",\n                    "LBA range descriptor",(uint)local_7e0,uVar7);\n            goto LAB_000133f3;\n          }\n          psVar38 = (stat64 *)uVar24;\n          if ((((uint)psVar18 | local_7f8) != 0) &&\n             (pr2serr("%s: empty blocks before LB data offset (%u), could be okay\n",\n                      "process_scattered",uVar7,(uint)psVar18 | local_7f8), local_7f8 != 0)) {\n            pr2serr("Exiting due to --strict; perhaps try again with --combined=%u\n",\n                    (uint)local_908 / (uint)local_7d4,psVar25,psVar25);\n            local_908 = (stat64 *)0xf;\n            goto LAB_000133fd;\n          }\n        }\n        psVar38 = (stat64 *)((int)local_8ec * (int)local_7d4 + (int)psVar38);\n        if (psVar38 <= psVar17) {\nLAB_0001418c:\n          local_7cc = (stat64 *)local_8ec;\n          local_7a4 = (stat64 *)((int)local_8ec * (int)local_7d4);\n          goto LAB_00013962;\n        }\n        if (local_93c != psVar38) {\n          if (local_93c < psVar38) {\n            pr2serr("Calculated dout length (%u) %s bytes available in IF (%u)\n",psVar38,\n                    &DAT_000170dd,local_93c);\n          }\n          else if ((psVar18 == (stat64 *)0x0 && local_7f8 == 0) ||\n                  (pr2serr("Calculated dout length (%u) %s bytes available in IF (%u)\n",psVar38,\n                           &DAT_00017110,local_93c), local_7f8 == 0)) goto LAB_00014113;\n          goto LAB_000133f3;\n        }\nLAB_00014113:\n        uVar33 = sg_memalign(psVar38,0,&local_8e4,0);\n        uVar16 = (undefined4)((ulonglong)uVar33 >> 0x20);\n        psVar38 = (stat64 *)uVar33;\n        if (psVar38 != (stat64 *)0x0) {\n          memcpy(psVar38,psVar25,(size_t)psVar17);\n          free(local_8e8);\n          local_8e8 = local_8e4;\n          local_908 = (stat64 *)FUN_00014a80("IF c2",psVar25,psVar17,uVar16);\n          psVar25 = psVar38;\n          if (local_908 != (stat64 *)0x0) goto LAB_000133fd;\n          goto LAB_0001418c;\n        }\nLAB_00014273:\n        pcVar15 = "unable to allocate memory for final scatterlist+data\n";\n        goto LAB_00013fbc;\n      }" { (expression_statement "local_7e0 = local_8f6;" (assignment_expression "local_7e0 = local_8f6" identifier = identifier) ;) (labeled_statement "LAB_00013fe3:\n        local_908 = (stat64 *)((local_7e0 + 1) * 0x20);" statement_identifier : (expression_statement "local_908 = (stat64 *)((local_7e0 + 1) * 0x20);" (assignment_expression "local_908 = (stat64 *)((local_7e0 + 1) * 0x20)" identifier = (cast_expression "(stat64 *)((local_7e0 + 1) * 0x20)" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((local_7e0 + 1) * 0x20)" ( (binary_expression "(local_7e0 + 1) * 0x20" (parenthesized_expression "(local_7e0 + 1)" ( (binary_expression "local_7e0 + 1" identifier + number_literal) )) * number_literal) )))) ;)) (if_statement "if ((uint)local_908 % (uint)local_7d4 != 0) {\n          local_908 = (stat64 *)(((uint)local_908 / (uint)local_7d4 + 1) * (int)local_7d4);\n        }" if (parenthesized_expression "((uint)local_908 % (uint)local_7d4 != 0)" ( (binary_expression "(uint)local_908 % (uint)local_7d4 != 0" (binary_expression "(uint)local_908 % (uint)local_7d4" (cast_expression "(uint)local_908" ( (type_descriptor "uint" type_identifier) ) identifier) % (cast_expression "(uint)local_7d4" ( (type_descriptor "uint" type_identifier) ) identifier)) != number_literal) )) (compound_statement "{\n          local_908 = (stat64 *)(((uint)local_908 / (uint)local_7d4 + 1) * (int)local_7d4);\n        }" { (expression_statement "local_908 = (stat64 *)(((uint)local_908 / (uint)local_7d4 + 1) * (int)local_7d4);" (assignment_expression "local_908 = (stat64 *)(((uint)local_908 / (uint)local_7d4 + 1) * (int)local_7d4)" identifier = (cast_expression "(stat64 *)(((uint)local_908 / (uint)local_7d4 + 1) * (int)local_7d4)" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(((uint)local_908 / (uint)local_7d4 + 1) * (int)local_7d4)" ( (binary_expression "((uint)local_908 / (uint)local_7d4 + 1) * (int)local_7d4" (parenthesized_expression "((uint)local_908 / (uint)local_7d4 + 1)" ( (binary_expression "(uint)local_908 / (uint)local_7d4 + 1" (binary_expression "(uint)local_908 / (uint)local_7d4" (cast_expression "(uint)local_908" ( (type_descriptor "uint" type_identifier) ) identifier) / (cast_expression "(uint)local_7d4" ( (type_descriptor "uint" type_identifier) ) identifier)) + number_literal) )) * (cast_expression "(int)local_7d4" ( (type_descriptor "int" primitive_type) ) identifier)) )))) ;) })) (expression_statement "uVar7 = (uint)local_7e2;" (assignment_expression "uVar7 = (uint)local_7e2" identifier = (cast_expression "(uint)local_7e2" ( (type_descriptor "uint" type_identifier) ) identifier)) ;) (expression_statement "uVar24 = uVar7 * (int)local_7d4;" (assignment_expression "uVar24 = uVar7 * (int)local_7d4" identifier = (binary_expression "uVar7 * (int)local_7d4" identifier * (cast_expression "(int)local_7d4" ( (type_descriptor "int" primitive_type) ) identifier))) ;) (expression_statement "psVar38 = local_908;" (assignment_expression "psVar38 = local_908" identifier = identifier) ;) (expression_statement "local_8f6 = local_7e0;" (assignment_expression "local_8f6 = local_7e0" identifier = identifier) ;) (if_statement "if (uVar24 - (int)local_908 != 0) {\n          if (uVar24 < local_908) {\n            pr2serr("%s: Cannot fit %ss (%u) in given LB data offset (%u)\n","process_scattered",\n                    "LBA range descriptor",(uint)local_7e0,uVar7);\n            goto LAB_000133f3;\n          }\n          psVar38 = (stat64 *)uVar24;\n          if ((((uint)psVar18 | local_7f8) != 0) &&\n             (pr2serr("%s: empty blocks before LB data offset (%u), could be okay\n",\n                      "process_scattered",uVar7,(uint)psVar18 | local_7f8), local_7f8 != 0)) {\n            pr2serr("Exiting due to --strict; perhaps try again with --combined=%u\n",\n                    (uint)local_908 / (uint)local_7d4,psVar25,psVar25);\n            local_908 = (stat64 *)0xf;\n            goto LAB_000133fd;\n          }\n        }" if (parenthesized_expression "(uVar24 - (int)local_908 != 0)" ( (binary_expression "uVar24 - (int)local_908 != 0" (binary_expression "uVar24 - (int)local_908" identifier - (cast_expression "(int)local_908" ( (type_descriptor "int" primitive_type) ) identifier)) != number_literal) )) (compound_statement "{\n          if (uVar24 < local_908) {\n            pr2serr("%s: Cannot fit %ss (%u) in given LB data offset (%u)\n","process_scattered",\n                    "LBA range descriptor",(uint)local_7e0,uVar7);\n            goto LAB_000133f3;\n          }\n          psVar38 = (stat64 *)uVar24;\n          if ((((uint)psVar18 | local_7f8) != 0) &&\n             (pr2serr("%s: empty blocks before LB data offset (%u), could be okay\n",\n                      "process_scattered",uVar7,(uint)psVar18 | local_7f8), local_7f8 != 0)) {\n            pr2serr("Exiting due to --strict; perhaps try again with --combined=%u\n",\n                    (uint)local_908 / (uint)local_7d4,psVar25,psVar25);\n            local_908 = (stat64 *)0xf;\n            goto LAB_000133fd;\n          }\n        }" { (if_statement "if (uVar24 < local_908) {\n            pr2serr("%s: Cannot fit %ss (%u) in given LB data offset (%u)\n","process_scattered",\n                    "LBA range descriptor",(uint)local_7e0,uVar7);\n            goto LAB_000133f3;\n          }" if (parenthesized_expression "(uVar24 < local_908)" ( (binary_expression "uVar24 < local_908" identifier < identifier) )) (compound_statement "{\n            pr2serr("%s: Cannot fit %ss (%u) in given LB data offset (%u)\n","process_scattered",\n                    "LBA range descriptor",(uint)local_7e0,uVar7);\n            goto LAB_000133f3;\n          }" { (expression_statement "pr2serr("%s: Cannot fit %ss (%u) in given LB data offset (%u)\n","process_scattered",\n                    "LBA range descriptor",(uint)local_7e0,uVar7);" (call_expression "pr2serr("%s: Cannot fit %ss (%u) in given LB data offset (%u)\n","process_scattered",\n                    "LBA range descriptor",(uint)local_7e0,uVar7)" identifier (argument_list "("%s: Cannot fit %ss (%u) in given LB data offset (%u)\n","process_scattered",\n                    "LBA range descriptor",(uint)local_7e0,uVar7)" ( (string_literal ""%s: Cannot fit %ss (%u) in given LB data offset (%u)\n"" " string_content escape_sequence ") , (string_literal ""process_scattered"" " string_content ") , (string_literal ""LBA range descriptor"" " string_content ") , (cast_expression "(uint)local_7e0" ( (type_descriptor "uint" type_identifier) ) identifier) , identifier ))) ;) (goto_statement "goto LAB_000133f3;" goto statement_identifier ;) })) (expression_statement "psVar38 = (stat64 *)uVar24;" (assignment_expression "psVar38 = (stat64 *)uVar24" identifier = (cast_expression "(stat64 *)uVar24" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (if_statement "if ((((uint)psVar18 | local_7f8) != 0) &&\n             (pr2serr("%s: empty blocks before LB data offset (%u), could be okay\n",\n                      "process_scattered",uVar7,(uint)psVar18 | local_7f8), local_7f8 != 0)) {\n            pr2serr("Exiting due to --strict; perhaps try again with --combined=%u\n",\n                    (uint)local_908 / (uint)local_7d4,psVar25,psVar25);\n            local_908 = (stat64 *)0xf;\n            goto LAB_000133fd;\n          }" if (parenthesized_expression "((((uint)psVar18 | local_7f8) != 0) &&\n             (pr2serr("%s: empty blocks before LB data offset (%u), could be okay\n",\n                      "process_scattered",uVar7,(uint)psVar18 | local_7f8), local_7f8 != 0))" ( (binary_expression "(((uint)psVar18 | local_7f8) != 0) &&\n             (pr2serr("%s: empty blocks before LB data offset (%u), could be okay\n",\n                      "process_scattered",uVar7,(uint)psVar18 | local_7f8), local_7f8 != 0)" (parenthesized_expression "(((uint)psVar18 | local_7f8) != 0)" ( (binary_expression "((uint)psVar18 | local_7f8) != 0" (parenthesized_expression "((uint)psVar18 | local_7f8)" ( (binary_expression "(uint)psVar18 | local_7f8" (cast_expression "(uint)psVar18" ( (type_descriptor "uint" type_identifier) ) identifier) | identifier) )) != number_literal) )) && (parenthesized_expression "(pr2serr("%s: empty blocks before LB data offset (%u), could be okay\n",\n                      "process_scattered",uVar7,(uint)psVar18 | local_7f8), local_7f8 != 0)" ( (comma_expression "pr2serr("%s: empty blocks before LB data offset (%u), could be okay\n",\n                      "process_scattered",uVar7,(uint)psVar18 | local_7f8), local_7f8 != 0" (call_expression "pr2serr("%s: empty blocks before LB data offset (%u), could be okay\n",\n                      "process_scattered",uVar7,(uint)psVar18 | local_7f8)" identifier (argument_list "("%s: empty blocks before LB data offset (%u), could be okay\n",\n                      "process_scattered",uVar7,(uint)psVar18 | local_7f8)" ( (string_literal ""%s: empty blocks before LB data offset (%u), could be okay\n"" " string_content escape_sequence ") , (string_literal ""process_scattered"" " string_content ") , identifier , (binary_expression "(uint)psVar18 | local_7f8" (cast_expression "(uint)psVar18" ( (type_descriptor "uint" type_identifier) ) identifier) | identifier) ))) , (binary_expression "local_7f8 != 0" identifier != number_literal)) ))) )) (compound_statement "{\n            pr2serr("Exiting due to --strict; perhaps try again with --combined=%u\n",\n                    (uint)local_908 / (uint)local_7d4,psVar25,psVar25);\n            local_908 = (stat64 *)0xf;\n            goto LAB_000133fd;\n          }" { (expression_statement "pr2serr("Exiting due to --strict; perhaps try again with --combined=%u\n",\n                    (uint)local_908 / (uint)local_7d4,psVar25,psVar25);" (call_expression "pr2serr("Exiting due to --strict; perhaps try again with --combined=%u\n",\n                    (uint)local_908 / (uint)local_7d4,psVar25,psVar25)" identifier (argument_list "("Exiting due to --strict; perhaps try again with --combined=%u\n",\n                    (uint)local_908 / (uint)local_7d4,psVar25,psVar25)" ( (string_literal ""Exiting due to --strict; perhaps try again with --combined=%u\n"" " string_content escape_sequence ") , (binary_expression "(uint)local_908 / (uint)local_7d4" (cast_expression "(uint)local_908" ( (type_descriptor "uint" type_identifier) ) identifier) / (cast_expression "(uint)local_7d4" ( (type_descriptor "uint" type_identifier) ) identifier)) , identifier , identifier ))) ;) (expression_statement "local_908 = (stat64 *)0xf;" (assignment_expression "local_908 = (stat64 *)0xf" identifier = (cast_expression "(stat64 *)0xf" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (goto_statement "goto LAB_000133fd;" goto statement_identifier ;) })) })) (expression_statement "psVar38 = (stat64 *)((int)local_8ec * (int)local_7d4 + (int)psVar38);" (assignment_expression "psVar38 = (stat64 *)((int)local_8ec * (int)local_7d4 + (int)psVar38)" identifier = (cast_expression "(stat64 *)((int)local_8ec * (int)local_7d4 + (int)psVar38)" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_8ec * (int)local_7d4 + (int)psVar38)" ( (binary_expression "(int)local_8ec * (int)local_7d4 + (int)psVar38" (binary_expression "(int)local_8ec * (int)local_7d4" (cast_expression "(int)local_8ec" ( (type_descriptor "int" primitive_type) ) identifier) * (cast_expression "(int)local_7d4" ( (type_descriptor "int" primitive_type) ) identifier)) + (cast_expression "(int)psVar38" ( (type_descriptor "int" primitive_type) ) identifier)) )))) ;) (if_statement "if (psVar38 <= psVar17) {\nLAB_0001418c:\n          local_7cc = (stat64 *)local_8ec;\n          local_7a4 = (stat64 *)((int)local_8ec * (int)local_7d4);\n          goto LAB_00013962;\n        }" if (parenthesized_expression "(psVar38 <= psVar17)" ( (binary_expression "psVar38 <= psVar17" identifier <= identifier) )) (compound_statement "{\nLAB_0001418c:\n          local_7cc = (stat64 *)local_8ec;\n          local_7a4 = (stat64 *)((int)local_8ec * (int)local_7d4);\n          goto LAB_00013962;\n        }" { (labeled_statement "LAB_0001418c:\n          local_7cc = (stat64 *)local_8ec;" statement_identifier : (expression_statement "local_7cc = (stat64 *)local_8ec;" (assignment_expression "local_7cc = (stat64 *)local_8ec" identifier = (cast_expression "(stat64 *)local_8ec" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;)) (expression_statement "local_7a4 = (stat64 *)((int)local_8ec * (int)local_7d4);" (assignment_expression "local_7a4 = (stat64 *)((int)local_8ec * (int)local_7d4)" identifier = (cast_expression "(stat64 *)((int)local_8ec * (int)local_7d4)" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_8ec * (int)local_7d4)" ( (binary_expression "(int)local_8ec * (int)local_7d4" (cast_expression "(int)local_8ec" ( (type_descriptor "int" primitive_type) ) identifier) * (cast_expression "(int)local_7d4" ( (type_descriptor "int" primitive_type) ) identifier)) )))) ;) (goto_statement "goto LAB_00013962;" goto statement_identifier ;) })) (if_statement "if (local_93c != psVar38) {\n          if (local_93c < psVar38) {\n            pr2serr("Calculated dout length (%u) %s bytes available in IF (%u)\n",psVar38,\n                    &DAT_000170dd,local_93c);\n          }\n          else if ((psVar18 == (stat64 *)0x0 && local_7f8 == 0) ||\n                  (pr2serr("Calculated dout length (%u) %s bytes available in IF (%u)\n",psVar38,\n                           &DAT_00017110,local_93c), local_7f8 == 0)) goto LAB_00014113;\n          goto LAB_000133f3;\n        }" if (parenthesized_expression "(local_93c != psVar38)" ( (binary_expression "local_93c != psVar38" identifier != identifier) )) (compound_statement "{\n          if (local_93c < psVar38) {\n            pr2serr("Calculated dout length (%u) %s bytes available in IF (%u)\n",psVar38,\n                    &DAT_000170dd,local_93c);\n          }\n          else if ((psVar18 == (stat64 *)0x0 && local_7f8 == 0) ||\n                  (pr2serr("Calculated dout length (%u) %s bytes available in IF (%u)\n",psVar38,\n                           &DAT_00017110,local_93c), local_7f8 == 0)) goto LAB_00014113;\n          goto LAB_000133f3;\n        }" { (if_statement "if (local_93c < psVar38) {\n            pr2serr("Calculated dout length (%u) %s bytes available in IF (%u)\n",psVar38,\n                    &DAT_000170dd,local_93c);\n          }\n          else if ((psVar18 == (stat64 *)0x0 && local_7f8 == 0) ||\n                  (pr2serr("Calculated dout length (%u) %s bytes available in IF (%u)\n",psVar38,\n                           &DAT_00017110,local_93c), local_7f8 == 0)) goto LAB_00014113;" if (parenthesized_expression "(local_93c < psVar38)" ( (binary_expression "local_93c < psVar38" identifier < identifier) )) (compound_statement "{\n            pr2serr("Calculated dout length (%u) %s bytes available in IF (%u)\n",psVar38,\n                    &DAT_000170dd,local_93c);\n          }" { (expression_statement "pr2serr("Calculated dout length (%u) %s bytes available in IF (%u)\n",psVar38,\n                    &DAT_000170dd,local_93c);" (call_expression "pr2serr("Calculated dout length (%u) %s bytes available in IF (%u)\n",psVar38,\n                    &DAT_000170dd,local_93c)" identifier (argument_list "("Calculated dout length (%u) %s bytes available in IF (%u)\n",psVar38,\n                    &DAT_000170dd,local_93c)" ( (string_literal ""Calculated dout length (%u) %s bytes available in IF (%u)\n"" " string_content escape_sequence ") , identifier , (pointer_expression "&DAT_000170dd" & identifier) , identifier ))) ;) }) (else_clause "else if ((psVar18 == (stat64 *)0x0 && local_7f8 == 0) ||\n                  (pr2serr("Calculated dout length (%u) %s bytes available in IF (%u)\n",psVar38,\n                           &DAT_00017110,local_93c), local_7f8 == 0)) goto LAB_00014113;" else (if_statement "if ((psVar18 == (stat64 *)0x0 && local_7f8 == 0) ||\n                  (pr2serr("Calculated dout length (%u) %s bytes available in IF (%u)\n",psVar38,\n                           &DAT_00017110,local_93c), local_7f8 == 0)) goto LAB_00014113;" if (parenthesized_expression "((psVar18 == (stat64 *)0x0 && local_7f8 == 0) ||\n                  (pr2serr("Calculated dout length (%u) %s bytes available in IF (%u)\n",psVar38,\n                           &DAT_00017110,local_93c), local_7f8 == 0))" ( (binary_expression "(psVar18 == (stat64 *)0x0 && local_7f8 == 0) ||\n                  (pr2serr("Calculated dout length (%u) %s bytes available in IF (%u)\n",psVar38,\n                           &DAT_00017110,local_93c), local_7f8 == 0)" (parenthesized_expression "(psVar18 == (stat64 *)0x0 && local_7f8 == 0)" ( (binary_expression "psVar18 == (stat64 *)0x0 && local_7f8 == 0" (binary_expression "psVar18 == (stat64 *)0x0" identifier == (cast_expression "(stat64 *)0x0" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) && (binary_expression "local_7f8 == 0" identifier == number_literal)) )) || (parenthesized_expression "(pr2serr("Calculated dout length (%u) %s bytes available in IF (%u)\n",psVar38,\n                           &DAT_00017110,local_93c), local_7f8 == 0)" ( (comma_expression "pr2serr("Calculated dout length (%u) %s bytes available in IF (%u)\n",psVar38,\n                           &DAT_00017110,local_93c), local_7f8 == 0" (call_expression "pr2serr("Calculated dout length (%u) %s bytes available in IF (%u)\n",psVar38,\n                           &DAT_00017110,local_93c)" identifier (argument_list "("Calculated dout length (%u) %s bytes available in IF (%u)\n",psVar38,\n                           &DAT_00017110,local_93c)" ( (string_literal ""Calculated dout length (%u) %s bytes available in IF (%u)\n"" " string_content escape_sequence ") , identifier , (pointer_expression "&DAT_00017110" & identifier) , identifier ))) , (binary_expression "local_7f8 == 0" identifier == number_literal)) ))) )) (goto_statement "goto LAB_00014113;" goto statement_identifier ;)))) (goto_statement "goto LAB_000133f3;" goto statement_identifier ;) })) (labeled_statement "LAB_00014113:\n        uVar33 = sg_memalign(psVar38,0,&local_8e4,0);" statement_identifier : (expression_statement "uVar33 = sg_memalign(psVar38,0,&local_8e4,0);" (assignment_expression "uVar33 = sg_memalign(psVar38,0,&local_8e4,0)" identifier = (call_expression "sg_memalign(psVar38,0,&local_8e4,0)" identifier (argument_list "(psVar38,0,&local_8e4,0)" ( identifier , number_literal , (pointer_expression "&local_8e4" & identifier) , number_literal )))) ;)) (expression_statement "uVar16 = (undefined4)((ulonglong)uVar33 >> 0x20);" (assignment_expression "uVar16 = (undefined4)((ulonglong)uVar33 >> 0x20)" identifier = (call_expression "(undefined4)((ulonglong)uVar33 >> 0x20)" (parenthesized_expression "(undefined4)" ( identifier )) (argument_list "((ulonglong)uVar33 >> 0x20)" ( (binary_expression "(ulonglong)uVar33 >> 0x20" (cast_expression "(ulonglong)uVar33" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) )))) ;) (expression_statement "psVar38 = (stat64 *)uVar33;" (assignment_expression "psVar38 = (stat64 *)uVar33" identifier = (cast_expression "(stat64 *)uVar33" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (if_statement "if (psVar38 != (stat64 *)0x0) {\n          memcpy(psVar38,psVar25,(size_t)psVar17);\n          free(local_8e8);\n          local_8e8 = local_8e4;\n          local_908 = (stat64 *)FUN_00014a80("IF c2",psVar25,psVar17,uVar16);\n          psVar25 = psVar38;\n          if (local_908 != (stat64 *)0x0) goto LAB_000133fd;\n          goto LAB_0001418c;\n        }" if (parenthesized_expression "(psVar38 != (stat64 *)0x0)" ( (binary_expression "psVar38 != (stat64 *)0x0" identifier != (cast_expression "(stat64 *)0x0" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n          memcpy(psVar38,psVar25,(size_t)psVar17);\n          free(local_8e8);\n          local_8e8 = local_8e4;\n          local_908 = (stat64 *)FUN_00014a80("IF c2",psVar25,psVar17,uVar16);\n          psVar25 = psVar38;\n          if (local_908 != (stat64 *)0x0) goto LAB_000133fd;\n          goto LAB_0001418c;\n        }" { (expression_statement "memcpy(psVar38,psVar25,(size_t)psVar17);" (call_expression "memcpy(psVar38,psVar25,(size_t)psVar17)" identifier (argument_list "(psVar38,psVar25,(size_t)psVar17)" ( identifier , identifier , (cast_expression "(size_t)psVar17" ( (type_descriptor "size_t" primitive_type) ) identifier) ))) ;) (expression_statement "free(local_8e8);" (call_expression "free(local_8e8)" identifier (argument_list "(local_8e8)" ( identifier ))) ;) (expression_statement "local_8e8 = local_8e4;" (assignment_expression "local_8e8 = local_8e4" identifier = identifier) ;) (expression_statement "local_908 = (stat64 *)FUN_00014a80("IF c2",psVar25,psVar17,uVar16);" (assignment_expression "local_908 = (stat64 *)FUN_00014a80("IF c2",psVar25,psVar17,uVar16)" identifier = (cast_expression "(stat64 *)FUN_00014a80("IF c2",psVar25,psVar17,uVar16)" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_00014a80("IF c2",psVar25,psVar17,uVar16)" identifier (argument_list "("IF c2",psVar25,psVar17,uVar16)" ( (string_literal ""IF c2"" " string_content ") , identifier , identifier , identifier ))))) ;) (expression_statement "psVar25 = psVar38;" (assignment_expression "psVar25 = psVar38" identifier = identifier) ;) (if_statement "if (local_908 != (stat64 *)0x0) goto LAB_000133fd;" if (parenthesized_expression "(local_908 != (stat64 *)0x0)" ( (binary_expression "local_908 != (stat64 *)0x0" identifier != (cast_expression "(stat64 *)0x0" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_000133fd;" goto statement_identifier ;)) (goto_statement "goto LAB_0001418c;" goto statement_identifier ;) })) (labeled_statement "LAB_00014273:\n        pcVar15 = "unable to allocate memory for final scatterlist+data\n";" statement_identifier : (expression_statement "pcVar15 = "unable to allocate memory for final scatterlist+data\n";" (assignment_expression "pcVar15 = "unable to allocate memory for final scatterlist+data\n"" identifier = (string_literal ""unable to allocate memory for final scatterlist+data\n"" " string_content escape_sequence ")) ;)) (goto_statement "goto LAB_00013fbc;" goto statement_identifier ;) })) (if_statement "if (local_8f6 < local_7e0) {\n        pr2serr("RD (%u) %s number of %ss (%u) found in IF\n",local_7e0,&DAT_000170dd,\n                "LBA range descriptor",local_8f6);\n      }\n      else if ((psVar18 == (stat64 *)0x0 && local_7f8 == 0) ||\n              (pr2serr("RD (%u) %s number of %ss (%u) found in IF\n",local_7e0,&DAT_00017110,\n                       "LBA range descriptor",local_8f6), local_7f8 == 0)) {\n        local_908 = (stat64 *)0x0;\n        for (psVar38 = psVar25; (stat64 *)(&psVar25->st_dev + (uint)local_7e0 * 4) != psVar38;\n            psVar38 = (stat64 *)&psVar38->st_rdev) {\n          uVar7 = psVar38->__pad2;\n          local_908 = (stat64 *)\n                      ((int)&local_908->st_dev +\n                      (uVar7 >> 0x18 | (uVar7 & 0xff0000) >> 8 | (uVar7 & 0xff00) << 8 |\n                      uVar7 << 0x18));\n        }\n        local_8ec = (undefined1  [4])local_908;\n        goto LAB_00013fe3;\n      }" if (parenthesized_expression "(local_8f6 < local_7e0)" ( (binary_expression "local_8f6 < local_7e0" identifier < identifier) )) (compound_statement "{\n        pr2serr("RD (%u) %s number of %ss (%u) found in IF\n",local_7e0,&DAT_000170dd,\n                "LBA range descriptor",local_8f6);\n      }" { (expression_statement "pr2serr("RD (%u) %s number of %ss (%u) found in IF\n",local_7e0,&DAT_000170dd,\n                "LBA range descriptor",local_8f6);" (call_expression "pr2serr("RD (%u) %s number of %ss (%u) found in IF\n",local_7e0,&DAT_000170dd,\n                "LBA range descriptor",local_8f6)" identifier (argument_list "("RD (%u) %s number of %ss (%u) found in IF\n",local_7e0,&DAT_000170dd,\n                "LBA range descriptor",local_8f6)" ( (string_literal ""RD (%u) %s number of %ss (%u) found in IF\n"" " string_content escape_sequence ") , identifier , (pointer_expression "&DAT_000170dd" & identifier) , (string_literal ""LBA range descriptor"" " string_content ") , identifier ))) ;) }) (else_clause "else if ((psVar18 == (stat64 *)0x0 && local_7f8 == 0) ||\n              (pr2serr("RD (%u) %s number of %ss (%u) found in IF\n",local_7e0,&DAT_00017110,\n                       "LBA range descriptor",local_8f6), local_7f8 == 0)) {\n        local_908 = (stat64 *)0x0;\n        for (psVar38 = psVar25; (stat64 *)(&psVar25->st_dev + (uint)local_7e0 * 4) != psVar38;\n            psVar38 = (stat64 *)&psVar38->st_rdev) {\n          uVar7 = psVar38->__pad2;\n          local_908 = (stat64 *)\n                      ((int)&local_908->st_dev +\n                      (uVar7 >> 0x18 | (uVar7 & 0xff0000) >> 8 | (uVar7 & 0xff00) << 8 |\n                      uVar7 << 0x18));\n        }\n        local_8ec = (undefined1  [4])local_908;\n        goto LAB_00013fe3;\n      }" else (if_statement "if ((psVar18 == (stat64 *)0x0 && local_7f8 == 0) ||\n              (pr2serr("RD (%u) %s number of %ss (%u) found in IF\n",local_7e0,&DAT_00017110,\n                       "LBA range descriptor",local_8f6), local_7f8 == 0)) {\n        local_908 = (stat64 *)0x0;\n        for (psVar38 = psVar25; (stat64 *)(&psVar25->st_dev + (uint)local_7e0 * 4) != psVar38;\n            psVar38 = (stat64 *)&psVar38->st_rdev) {\n          uVar7 = psVar38->__pad2;\n          local_908 = (stat64 *)\n                      ((int)&local_908->st_dev +\n                      (uVar7 >> 0x18 | (uVar7 & 0xff0000) >> 8 | (uVar7 & 0xff00) << 8 |\n                      uVar7 << 0x18));\n        }\n        local_8ec = (undefined1  [4])local_908;\n        goto LAB_00013fe3;\n      }" if (parenthesized_expression "((psVar18 == (stat64 *)0x0 && local_7f8 == 0) ||\n              (pr2serr("RD (%u) %s number of %ss (%u) found in IF\n",local_7e0,&DAT_00017110,\n                       "LBA range descriptor",local_8f6), local_7f8 == 0))" ( (binary_expression "(psVar18 == (stat64 *)0x0 && local_7f8 == 0) ||\n              (pr2serr("RD (%u) %s number of %ss (%u) found in IF\n",local_7e0,&DAT_00017110,\n                       "LBA range descriptor",local_8f6), local_7f8 == 0)" (parenthesized_expression "(psVar18 == (stat64 *)0x0 && local_7f8 == 0)" ( (binary_expression "psVar18 == (stat64 *)0x0 && local_7f8 == 0" (binary_expression "psVar18 == (stat64 *)0x0" identifier == (cast_expression "(stat64 *)0x0" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) && (binary_expression "local_7f8 == 0" identifier == number_literal)) )) || (parenthesized_expression "(pr2serr("RD (%u) %s number of %ss (%u) found in IF\n",local_7e0,&DAT_00017110,\n                       "LBA range descriptor",local_8f6), local_7f8 == 0)" ( (comma_expression "pr2serr("RD (%u) %s number of %ss (%u) found in IF\n",local_7e0,&DAT_00017110,\n                       "LBA range descriptor",local_8f6), local_7f8 == 0" (call_expression "pr2serr("RD (%u) %s number of %ss (%u) found in IF\n",local_7e0,&DAT_00017110,\n                       "LBA range descriptor",local_8f6)" identifier (argument_list "("RD (%u) %s number of %ss (%u) found in IF\n",local_7e0,&DAT_00017110,\n                       "LBA range descriptor",local_8f6)" ( (string_literal ""RD (%u) %s number of %ss (%u) found in IF\n"" " string_content escape_sequence ") , identifier , (pointer_expression "&DAT_00017110" & identifier) , (string_literal ""LBA range descriptor"" " string_content ") , identifier ))) , (binary_expression "local_7f8 == 0" identifier == number_literal)) ))) )) (compound_statement "{\n        local_908 = (stat64 *)0x0;\n        for (psVar38 = psVar25; (stat64 *)(&psVar25->st_dev + (uint)local_7e0 * 4) != psVar38;\n            psVar38 = (stat64 *)&psVar38->st_rdev) {\n          uVar7 = psVar38->__pad2;\n          local_908 = (stat64 *)\n                      ((int)&local_908->st_dev +\n                      (uVar7 >> 0x18 | (uVar7 & 0xff0000) >> 8 | (uVar7 & 0xff00) << 8 |\n                      uVar7 << 0x18));\n        }\n        local_8ec = (undefined1  [4])local_908;\n        goto LAB_00013fe3;\n      }" { (expression_statement "local_908 = (stat64 *)0x0;" (assignment_expression "local_908 = (stat64 *)0x0" identifier = (cast_expression "(stat64 *)0x0" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (for_statement "for (psVar38 = psVar25; (stat64 *)(&psVar25->st_dev + (uint)local_7e0 * 4) != psVar38;\n            psVar38 = (stat64 *)&psVar38->st_rdev) {\n          uVar7 = psVar38->__pad2;\n          local_908 = (stat64 *)\n                      ((int)&local_908->st_dev +\n                      (uVar7 >> 0x18 | (uVar7 & 0xff0000) >> 8 | (uVar7 & 0xff00) << 8 |\n                      uVar7 << 0x18));\n        }" for ( (assignment_expression "psVar38 = psVar25" identifier = identifier) ; (binary_expression "(stat64 *)(&psVar25->st_dev + (uint)local_7e0 * 4) != psVar38" (cast_expression "(stat64 *)(&psVar25->st_dev + (uint)local_7e0 * 4)" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&psVar25->st_dev + (uint)local_7e0 * 4)" ( (binary_expression "&psVar25->st_dev + (uint)local_7e0 * 4" (pointer_expression "&psVar25->st_dev" & (field_expression "psVar25->st_dev" identifier -> field_identifier)) + (binary_expression "(uint)local_7e0 * 4" (cast_expression "(uint)local_7e0" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) ))) != identifier) ; (assignment_expression "psVar38 = (stat64 *)&psVar38->st_rdev" identifier = (cast_expression "(stat64 *)&psVar38->st_rdev" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&psVar38->st_rdev" & (field_expression "psVar38->st_rdev" identifier -> field_identifier)))) ) (compound_statement "{\n          uVar7 = psVar38->__pad2;\n          local_908 = (stat64 *)\n                      ((int)&local_908->st_dev +\n                      (uVar7 >> 0x18 | (uVar7 & 0xff0000) >> 8 | (uVar7 & 0xff00) << 8 |\n                      uVar7 << 0x18));\n        }" { (expression_statement "uVar7 = psVar38->__pad2;" (assignment_expression "uVar7 = psVar38->__pad2" identifier = (field_expression "psVar38->__pad2" identifier -> field_identifier)) ;) (expression_statement "local_908 = (stat64 *)\n                      ((int)&local_908->st_dev +\n                      (uVar7 >> 0x18 | (uVar7 & 0xff0000) >> 8 | (uVar7 & 0xff00) << 8 |\n                      uVar7 << 0x18));" (assignment_expression "local_908 = (stat64 *)\n                      ((int)&local_908->st_dev +\n                      (uVar7 >> 0x18 | (uVar7 & 0xff0000) >> 8 | (uVar7 & 0xff00) << 8 |\n                      uVar7 << 0x18))" identifier = (cast_expression "(stat64 *)\n                      ((int)&local_908->st_dev +\n                      (uVar7 >> 0x18 | (uVar7 & 0xff0000) >> 8 | (uVar7 & 0xff00) << 8 |\n                      uVar7 << 0x18))" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&local_908->st_dev +\n                      (uVar7 >> 0x18 | (uVar7 & 0xff0000) >> 8 | (uVar7 & 0xff00) << 8 |\n                      uVar7 << 0x18))" ( (binary_expression "(int)&local_908->st_dev +\n                      (uVar7 >> 0x18 | (uVar7 & 0xff0000) >> 8 | (uVar7 & 0xff00) << 8 |\n                      uVar7 << 0x18)" (cast_expression "(int)&local_908->st_dev" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&local_908->st_dev" & (field_expression "local_908->st_dev" identifier -> field_identifier))) + (parenthesized_expression "(uVar7 >> 0x18 | (uVar7 & 0xff0000) >> 8 | (uVar7 & 0xff00) << 8 |\n                      uVar7 << 0x18)" ( (binary_expression "uVar7 >> 0x18 | (uVar7 & 0xff0000) >> 8 | (uVar7 & 0xff00) << 8 |\n                      uVar7 << 0x18" (binary_expression "uVar7 >> 0x18 | (uVar7 & 0xff0000) >> 8 | (uVar7 & 0xff00) << 8" (binary_expression "uVar7 >> 0x18 | (uVar7 & 0xff0000) >> 8" (binary_expression "uVar7 >> 0x18" identifier >> number_literal) | (binary_expression "(uVar7 & 0xff0000) >> 8" (parenthesized_expression "(uVar7 & 0xff0000)" ( (binary_expression "uVar7 & 0xff0000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(uVar7 & 0xff00) << 8" (parenthesized_expression "(uVar7 & 0xff00)" ( (binary_expression "uVar7 & 0xff00" identifier & number_literal) )) << number_literal)) | (binary_expression "uVar7 << 0x18" identifier << number_literal)) ))) )))) ;) })) (expression_statement "local_8ec = (undefined1  [4])local_908;" (assignment_expression "local_8ec = (undefined1  [4])local_908" identifier = (cast_expression "(undefined1  [4])local_908" ( (type_descriptor "undefined1  [4]" type_identifier (abstract_array_declarator "[4]" [ number_literal ])) ) identifier)) ;) (goto_statement "goto LAB_00013fe3;" goto statement_identifier ;) })))) })) (labeled_statement "LAB_000133f3:\n    local_908 = (stat64 *)0xf;" statement_identifier : (expression_statement "local_908 = (stat64 *)0xf;" (assignment_expression "local_908 = (stat64 *)0xf" identifier = (cast_expression "(stat64 *)0xf" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;)) (goto_statement "goto LAB_000133fd;" goto statement_identifier ;) })) (if_statement "if (local_91c != (stat64 *)0x0) {\n    local_8f6 = (ushort)local_91c;\n  }" if (parenthesized_expression "(local_91c != (stat64 *)0x0)" ( (binary_expression "local_91c != (stat64 *)0x0" identifier != (cast_expression "(stat64 *)0x0" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    local_8f6 = (ushort)local_91c;\n  }" { (expression_statement "local_8f6 = (ushort)local_91c;" (assignment_expression "local_8f6 = (ushort)local_91c" identifier = (cast_expression "(ushort)local_91c" ( (type_descriptor "ushort" type_identifier) ) identifier)) ;) })) (if_statement "if (local_798 == (char *)0x0) {\n    if (local_819 != '\0') goto LAB_00013dcd;\n    if (local_91c == (stat64 *)0x0) {\n      pr2serr("How did we get here??\n");\n      local_908 = (stat64 *)0x1;\n      goto LAB_000133fd;\n    }\n    if ((local_7e0 != 0) && (local_91c < (undefined *)(uint)local_7e0)) {\n      pr2serr("%s: number given to --scattered= (%u) exceeds number of --lba= elements (%u)\n",\n              "process_scattered",(undefined *)(uint)local_7e0,local_91c);\n      local_908 = (stat64 *)0x1f;\n      goto LAB_00012354;\n    }\n    uVar7 = (local_8f6 + 1) * 0x20;\n    local_7e2 = (ushort)(uVar7 / (uint)local_7d4);\n    if (uVar7 % (uint)local_7d4 != 0) {\n      local_7e2 = local_7e2 + 1;\n    }\n    iVar14 = 0;\n    local_8ec = (undefined1  [4])0x0;\n    do {\n      local_8ec = (undefined1  [4])((int)&((stat64 *)local_8ec)->st_dev + (int)ppsVar44[iVar14]);\n      iVar14 = iVar14 + 1;\n    } while (iVar14 < (int)local_91c);\n    psVar25 = (stat64 *)\n              sg_memalign((int)((int)&((stat64 *)local_8ec)->st_dev + (uint)local_7e2) *\n                          (int)local_7d4,0,&local_8e8,0);\n    if (psVar25 == (stat64 *)0x0) goto LAB_00013fb3;\n    iVar14 = 0;\n    psVar38 = psVar25;\n    do {\n      uVar7 = puVar42[iVar14 * 2];\n      uVar24 = puVar42[iVar14 * 2 + 1];\n      *(uint *)&psVar38->st_rdev =\n           uVar24 >> 0x18 | (uVar24 & 0xff0000) >> 8 | (uVar24 & 0xff00) << 8 | uVar24 << 0x18;\n      *(uint *)((int)&psVar38->st_rdev + 4) =\n           uVar7 >> 0x18 | (uVar7 & 0xff0000) >> 8 | (uVar7 & 0xff00) << 8 | uVar7 << 0x18;\n      psVar17 = ppsVar44[iVar14];\n      psVar38->__pad2 =\n           (uint)psVar17 >> 0x18 | ((uint)psVar17 & 0xff0000) >> 8 | ((uint)psVar17 & 0xff00) << 8 |\n           (int)psVar17 << 0x18;\n      if (local_81f != '\0') {\n        if (iVar14 == 0) {\n          *(uint *)&psVar38->st_size =\n               local_7c0 >> 0x18 | (local_7c0 & 0xff0000) >> 8 | (local_7c0 & 0xff00) << 8 |\n               local_7c0 << 0x18;\n          *(ushort *)((int)&psVar38->st_size + 4) = local_7e6 << 8 | local_7e6 >> 8;\n          *(ushort *)((int)&psVar38->st_size + 6) = local_7dc << 8 | local_7dc >> 8;\n        }\n        else {\n          *(undefined4 *)&psVar38->st_size = 0xffffffff;\n          *(undefined2 *)((int)&psVar38->st_size + 4) = 0xffff;\n          *(undefined2 *)((int)&psVar38->st_size + 6) = 0xffff;\n        }\n      }\n      iVar14 = iVar14 + 1;\n      psVar38 = (stat64 *)&psVar38->st_rdev;\n    } while (iVar14 < (int)local_91c);\n    local_7cc = (stat64 *)local_8ec;\n  }\n  else {\n    if (local_819 == '\0') {\n      uVar7 = (uint)local_8f6;\n      uVar16 = 0;\n      uVar24 = (uVar7 + 1) * 0x20;\n      local_7e2 = (ushort)(uVar24 / (uint)local_7d4);\n      ppvVar39 = &local_8e8;\n      if (uVar24 % (uint)local_7d4 != 0) {\n        local_7e2 = local_7e2 + 1;\n      }\n      psVar38 = (stat64 *)0x0;\n      psVar25 = (stat64 *)\n                sg_memalign((int)((int)&local_8f4->st_dev + (uint)local_7e2) * (int)local_7d4,0,\n                            ppvVar39,0);\n      if (psVar25 == (stat64 *)0x0) goto LAB_000141a6;\n      local_8f6 = 0;\n      local_8ec = (undefined1  [4])0x0;\n      if (uVar7 + 1 == 1) {\n        uVar24 = (uint)local_7e2 * (int)local_7d4;\n      }\n      local_908 = (stat64 *)FUN_000156d0(psVar25,&local_8f6,local_8ec,uVar24);\n      if (local_908 != (stat64 *)0x0) goto LAB_000133fd;\n      psVar38 = (stat64 *)((int)local_7d4 * (int)local_8ec);\n      if (local_7d0 <= psVar38) {\n        if ((local_7d0 <= psVar38 && (int)psVar38 - (int)local_7d0 != 0) &&\n           (local_7d0 != (stat64 *)0x0)) {\n          psVar38 = local_7d0;\n        }\nLAB_00014208:\n        if ((psVar45 != (stat64 *)0x0) && (psVar45 != psVar38)) {\n          if (psVar18 != (stat64 *)0x0) {\n            puVar20 = &DAT_00017110;\n            if (psVar38 <= psVar45) {\n              puVar20 = &DAT_000170dd;\n            }\n            pr2serr("readable length (%u) of IF %s bytes implied by sum of\nscatter list NUMs (%u) and DLEN\n"\n                    ,psVar45,puVar20,psVar38);\n          }\n          if ((local_7f8 != 0) && ((psVar38 <= psVar45 || (1 < (int)local_7f8)))) goto LAB_000133f3;\nLAB_0001387e:\n          if (psVar45 < psVar38) {\n            psVar38 = psVar45;\n          }\n        }\n        psVar17 = (stat64 *)((uint)psVar38 / (uint)local_7d4);\n        if (((uint)psVar38 % (uint)local_7d4 != 0) &&\n           ((psVar18 != (stat64 *)0x0 || (1 < (int)local_7f8)))) {\n          psVar22 = local_7d8;\n          pr2serr("Calculated data-out length (0x%x) not a multiple of BS (%u",psVar38,local_7d8,\n                  psVar17);\n          if (local_7d8 != local_7d4) {\n            psVar38 = (stat64 *)((int)local_7d4 - (int)local_7d8);\n            psVar22 = extraout_ECX_07;\n            psVar17 = extraout_ECX_07;\n            pr2serr(" + %d(PI)",psVar38,extraout_ECX_07,extraout_ECX_07);\n          }\n          if (1 < (int)local_7f8) {\n            pr2serr(")\nexiting ...\n",psVar38,psVar22,psVar17);\n            local_908 = (stat64 *)0xf;\n            goto LAB_000133fd;\n          }\n          pr2serr(")\nzero pad and continue ...\n",psVar38,psVar22,psVar17);\n        }\n      }\n      else {\n        uVar7 = (uint)psVar18 | local_7f8;\n        if (uVar7 != 0) {\n          pr2serr("DLEN > than bytes implied by sum of scatter list NUMs (%u)\n",psVar38,uVar7,uVar7\n                 );\n          if (1 < (int)psVar18) {\n            pr2serr("  num_lbard=%u, sum_num=%u actual_bs=%u",local_8f6,local_8ec,local_7d4);\n          }\n          if (local_7f8 != 0) goto LAB_000133f3;\n          goto LAB_00014208;\n        }\n        if ((psVar45 != (stat64 *)0x0) && (psVar45 != psVar38)) goto LAB_0001387e;\n      }\n      local_908 = (stat64 *)FUN_00014a80(&DAT_00017360);\n    }\n    else {\nLAB_00013dcd:\n      psVar38 = local_7d4;\n      if (local_7e0 != 0) {\n        psVar38 = (stat64 *)((local_7e0 + 1) * 0x20);\n        if (local_908 < psVar38) {\n          pr2serr("SF not long enough (%u bytes) to provide RD (%u) %ss\n",local_908,psVar38,\n                  "LBA range descriptor");\n          local_908 = (stat64 *)0xf;\n          goto LAB_000133fd;\n        }\n        psVar38 = (stat64 *)\n                  ((((uint)psVar38 / (uint)local_7d4 + 1) -\n                   (uint)((uint)psVar38 % (uint)local_7d4 == 0)) * (int)local_7d4);\n      }\n      local_918 = local_7d4;\n      if (local_93c != (stat64 *)0x0) {\n        local_918 = (stat64 *)\n                    ((((uint)local_93c / (uint)local_7d4 + 1) -\n                     (uint)((uint)local_93c % (uint)local_7d4 == 0)) * (int)local_7d4);\n      }\n      psVar25 = (stat64 *)\n                sg_memalign((undefined *)((int)&psVar38->st_dev + (int)&local_918->st_dev),0,\n                            &local_8e8,0);\n      if (psVar25 == (stat64 *)0x0) {\nLAB_00013fb3:\n        pcVar15 = "unable to allocate aligned memory for scatterlist+data\n";\nLAB_00013fbc:\n        pr2serr(pcVar15);\n        local_908 = (stat64 *)sg_convert_errno(0xc);\n        goto LAB_000133fd;\n      }\n      local_908 = (stat64 *)FUN_00014a80(&DAT_00017365);\n      if (local_908 != (stat64 *)0x0) goto LAB_000133fd;\n      psVar17 = (stat64 *)local_8ec;\n      psVar22 = extraout_ECX_08;\n      psVar8 = extraout_ECX_08;\n      cVar6 = FUN_000146a0(&local_8f6,psVar17,extraout_ECX_08,extraout_ECX_08);\n      if (cVar6 == '\0') goto LAB_000133f3;\n      if (local_7e0 != local_8f6) {\n        pr2serr("Try again with --scattered=%u\n",local_8f6,extraout_EDX_05,extraout_EDX_05);\n        local_908 = (stat64 *)0xf;\n        goto LAB_000133fd;\n      }\n      if (local_918 < (stat64 *)((int)local_7d4 * (int)local_8ec)) {\n        psVar9 = (stat64 *)\n                 sg_memalign((undefined *)\n                             ((int)&psVar38->st_dev +\n                             (int)&((stat64 *)((int)local_7d4 * (int)local_8ec))->st_dev),0,\n                             &local_8e4,0);\n        if (psVar9 == (stat64 *)0x0) goto LAB_00014273;\n        psVar22 = psVar38;\n        psVar8 = psVar9;\n        memcpy(psVar9,psVar25,(size_t)psVar38);\n        psVar17 = psVar25;\n        free(local_8e8);\n        local_8e8 = local_8e4;\n        psVar25 = psVar9;\n      }\n      if ((local_93c != psVar38) && (psVar18 != (stat64 *)0x0 || local_7f8 != 0)) {\n        psVar22 = (stat64 *)&DAT_000170dd;\n        if (local_93c <= psVar38) {\n          psVar22 = (stat64 *)&DAT_00017110;\n        }\n        psVar8 = psVar38;\n        pr2serr("IF length (%u) %s \'sum_num\' bytes (%u), ",local_93c,psVar22,psVar38);\n        if (1 < (int)local_7f8) {\n          pr2serr("exiting (strict=%d)\n",local_7f8,psVar38,psVar38);\n          local_908 = (stat64 *)0xf;\n          goto LAB_000133fd;\n        }\n        pr2serr("continuing ...\n",local_93c,psVar22,psVar8);\n        psVar17 = local_93c;\n      }\n      local_908 = (stat64 *)FUN_00014a80(&DAT_0001738d,psVar17,psVar22,psVar8);\n    }\n    if (local_908 != (stat64 *)0x0) goto LAB_000133fd;\n    local_7a4 = (stat64 *)((int)local_8ec * (int)local_7d4);\n    local_7cc = (stat64 *)local_8ec;\n  }" if (parenthesized_expression "(local_798 == (char *)0x0)" ( (binary_expression "local_798 == (char *)0x0" identifier == (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    if (local_819 != '\0') goto LAB_00013dcd;\n    if (local_91c == (stat64 *)0x0) {\n      pr2serr("How did we get here??\n");\n      local_908 = (stat64 *)0x1;\n      goto LAB_000133fd;\n    }\n    if ((local_7e0 != 0) && (local_91c < (undefined *)(uint)local_7e0)) {\n      pr2serr("%s: number given to --scattered= (%u) exceeds number of --lba= elements (%u)\n",\n              "process_scattered",(undefined *)(uint)local_7e0,local_91c);\n      local_908 = (stat64 *)0x1f;\n      goto LAB_00012354;\n    }\n    uVar7 = (local_8f6 + 1) * 0x20;\n    local_7e2 = (ushort)(uVar7 / (uint)local_7d4);\n    if (uVar7 % (uint)local_7d4 != 0) {\n      local_7e2 = local_7e2 + 1;\n    }\n    iVar14 = 0;\n    local_8ec = (undefined1  [4])0x0;\n    do {\n      local_8ec = (undefined1  [4])((int)&((stat64 *)local_8ec)->st_dev + (int)ppsVar44[iVar14]);\n      iVar14 = iVar14 + 1;\n    } while (iVar14 < (int)local_91c);\n    psVar25 = (stat64 *)\n              sg_memalign((int)((int)&((stat64 *)local_8ec)->st_dev + (uint)local_7e2) *\n                          (int)local_7d4,0,&local_8e8,0);\n    if (psVar25 == (stat64 *)0x0) goto LAB_00013fb3;\n    iVar14 = 0;\n    psVar38 = psVar25;\n    do {\n      uVar7 = puVar42[iVar14 * 2];\n      uVar24 = puVar42[iVar14 * 2 + 1];\n      *(uint *)&psVar38->st_rdev =\n           uVar24 >> 0x18 | (uVar24 & 0xff0000) >> 8 | (uVar24 & 0xff00) << 8 | uVar24 << 0x18;\n      *(uint *)((int)&psVar38->st_rdev + 4) =\n           uVar7 >> 0x18 | (uVar7 & 0xff0000) >> 8 | (uVar7 & 0xff00) << 8 | uVar7 << 0x18;\n      psVar17 = ppsVar44[iVar14];\n      psVar38->__pad2 =\n           (uint)psVar17 >> 0x18 | ((uint)psVar17 & 0xff0000) >> 8 | ((uint)psVar17 & 0xff00) << 8 |\n           (int)psVar17 << 0x18;\n      if (local_81f != '\0') {\n        if (iVar14 == 0) {\n          *(uint *)&psVar38->st_size =\n               local_7c0 >> 0x18 | (local_7c0 & 0xff0000) >> 8 | (local_7c0 & 0xff00) << 8 |\n               local_7c0 << 0x18;\n          *(ushort *)((int)&psVar38->st_size + 4) = local_7e6 << 8 | local_7e6 >> 8;\n          *(ushort *)((int)&psVar38->st_size + 6) = local_7dc << 8 | local_7dc >> 8;\n        }\n        else {\n          *(undefined4 *)&psVar38->st_size = 0xffffffff;\n          *(undefined2 *)((int)&psVar38->st_size + 4) = 0xffff;\n          *(undefined2 *)((int)&psVar38->st_size + 6) = 0xffff;\n        }\n      }\n      iVar14 = iVar14 + 1;\n      psVar38 = (stat64 *)&psVar38->st_rdev;\n    } while (iVar14 < (int)local_91c);\n    local_7cc = (stat64 *)local_8ec;\n  }" { (if_statement "if (local_819 != '\0') goto LAB_00013dcd;" if (parenthesized_expression "(local_819 != '\0')" ( (binary_expression "local_819 != '\0'" identifier != (char_literal "'\0'" ' escape_sequence ')) )) (goto_statement "goto LAB_00013dcd;" goto statement_identifier ;)) (if_statement "if (local_91c == (stat64 *)0x0) {\n      pr2serr("How did we get here??\n");\n      local_908 = (stat64 *)0x1;\n      goto LAB_000133fd;\n    }" if (parenthesized_expression "(local_91c == (stat64 *)0x0)" ( (binary_expression "local_91c == (stat64 *)0x0" identifier == (cast_expression "(stat64 *)0x0" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      pr2serr("How did we get here??\n");\n      local_908 = (stat64 *)0x1;\n      goto LAB_000133fd;\n    }" { (expression_statement "pr2serr("How did we get here??\n");" (call_expression "pr2serr("How did we get here??\n")" identifier (argument_list "("How did we get here??\n")" ( (string_literal ""How did we get here??\n"" " string_content escape_sequence ") ))) ;) (expression_statement "local_908 = (stat64 *)0x1;" (assignment_expression "local_908 = (stat64 *)0x1" identifier = (cast_expression "(stat64 *)0x1" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (goto_statement "goto LAB_000133fd;" goto statement_identifier ;) })) (if_statement "if ((local_7e0 != 0) && (local_91c < (undefined *)(uint)local_7e0)) {\n      pr2serr("%s: number given to --scattered= (%u) exceeds number of --lba= elements (%u)\n",\n              "process_scattered",(undefined *)(uint)local_7e0,local_91c);\n      local_908 = (stat64 *)0x1f;\n      goto LAB_00012354;\n    }" if (parenthesized_expression "((local_7e0 != 0) && (local_91c < (undefined *)(uint)local_7e0))" ( (binary_expression "(local_7e0 != 0) && (local_91c < (undefined *)(uint)local_7e0)" (parenthesized_expression "(local_7e0 != 0)" ( (binary_expression "local_7e0 != 0" identifier != number_literal) )) && (parenthesized_expression "(local_91c < (undefined *)(uint)local_7e0)" ( (binary_expression "local_91c < (undefined *)(uint)local_7e0" identifier < (cast_expression "(undefined *)(uint)local_7e0" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) (cast_expression "(uint)local_7e0" ( (type_descriptor "uint" type_identifier) ) identifier))) ))) )) (compound_statement "{\n      pr2serr("%s: number given to --scattered= (%u) exceeds number of --lba= elements (%u)\n",\n              "process_scattered",(undefined *)(uint)local_7e0,local_91c);\n      local_908 = (stat64 *)0x1f;\n      goto LAB_00012354;\n    }" { (expression_statement "pr2serr("%s: number given to --scattered= (%u) exceeds number of --lba= elements (%u)\n",\n              "process_scattered",(undefined *)(uint)local_7e0,local_91c);" (call_expression "pr2serr("%s: number given to --scattered= (%u) exceeds number of --lba= elements (%u)\n",\n              "process_scattered",(undefined *)(uint)local_7e0,local_91c)" identifier (argument_list "("%s: number given to --scattered= (%u) exceeds number of --lba= elements (%u)\n",\n              "process_scattered",(undefined *)(uint)local_7e0,local_91c)" ( (string_literal ""%s: number given to --scattered= (%u) exceeds number of --lba= elements (%u)\n"" " string_content escape_sequence ") , (string_literal ""process_scattered"" " string_content ") , (cast_expression "(undefined *)(uint)local_7e0" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) (cast_expression "(uint)local_7e0" ( (type_descriptor "uint" type_identifier) ) identifier)) , identifier ))) ;) (expression_statement "local_908 = (stat64 *)0x1f;" (assignment_expression "local_908 = (stat64 *)0x1f" identifier = (cast_expression "(stat64 *)0x1f" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (goto_statement "goto LAB_00012354;" goto statement_identifier ;) })) (expression_statement "uVar7 = (local_8f6 + 1) * 0x20;" (assignment_expression "uVar7 = (local_8f6 + 1) * 0x20" identifier = (binary_expression "(local_8f6 + 1) * 0x20" (parenthesized_expression "(local_8f6 + 1)" ( (binary_expression "local_8f6 + 1" identifier + number_literal) )) * number_literal)) ;) (expression_statement "local_7e2 = (ushort)(uVar7 / (uint)local_7d4);" (assignment_expression "local_7e2 = (ushort)(uVar7 / (uint)local_7d4)" identifier = (call_expression "(ushort)(uVar7 / (uint)local_7d4)" (parenthesized_expression "(ushort)" ( identifier )) (argument_list "(uVar7 / (uint)local_7d4)" ( (binary_expression "uVar7 / (uint)local_7d4" identifier / (cast_expression "(uint)local_7d4" ( (type_descriptor "uint" type_identifier) ) identifier)) )))) ;) (if_statement "if (uVar7 % (uint)local_7d4 != 0) {\n      local_7e2 = local_7e2 + 1;\n    }" if (parenthesized_expression "(uVar7 % (uint)local_7d4 != 0)" ( (binary_expression "uVar7 % (uint)local_7d4 != 0" (binary_expression "uVar7 % (uint)local_7d4" identifier % (cast_expression "(uint)local_7d4" ( (type_descriptor "uint" type_identifier) ) identifier)) != number_literal) )) (compound_statement "{\n      local_7e2 = local_7e2 + 1;\n    }" { (expression_statement "local_7e2 = local_7e2 + 1;" (assignment_expression "local_7e2 = local_7e2 + 1" identifier = (binary_expression "local_7e2 + 1" identifier + number_literal)) ;) })) (expression_statement "iVar14 = 0;" (assignment_expression "iVar14 = 0" identifier = number_literal) ;) (expression_statement "local_8ec = (undefined1  [4])0x0;" (assignment_expression "local_8ec = (undefined1  [4])0x0" identifier = (cast_expression "(undefined1  [4])0x0" ( (type_descriptor "undefined1  [4]" type_identifier (abstract_array_declarator "[4]" [ number_literal ])) ) number_literal)) ;) (do_statement "do {\n      local_8ec = (undefined1  [4])((int)&((stat64 *)local_8ec)->st_dev + (int)ppsVar44[iVar14]);\n      iVar14 = iVar14 + 1;\n    } while (iVar14 < (int)local_91c);" do (compound_statement "{\n      local_8ec = (undefined1  [4])((int)&((stat64 *)local_8ec)->st_dev + (int)ppsVar44[iVar14]);\n      iVar14 = iVar14 + 1;\n    }" { (expression_statement "local_8ec = (undefined1  [4])((int)&((stat64 *)local_8ec)->st_dev + (int)ppsVar44[iVar14]);" (assignment_expression "local_8ec = (undefined1  [4])((int)&((stat64 *)local_8ec)->st_dev + (int)ppsVar44[iVar14])" identifier = (call_expression "(undefined1  [4])((int)&((stat64 *)local_8ec)->st_dev + (int)ppsVar44[iVar14])" (parenthesized_expression "(undefined1  [4])" ( (subscript_expression "undefined1  [4]" identifier [ number_literal ]) )) (argument_list "((int)&((stat64 *)local_8ec)->st_dev + (int)ppsVar44[iVar14])" ( (binary_expression "(int)&((stat64 *)local_8ec)->st_dev + (int)ppsVar44[iVar14]" (cast_expression "(int)&((stat64 *)local_8ec)->st_dev" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&((stat64 *)local_8ec)->st_dev" & (field_expression "((stat64 *)local_8ec)->st_dev" (parenthesized_expression "((stat64 *)local_8ec)" ( (cast_expression "(stat64 *)local_8ec" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) )) -> field_identifier))) + (cast_expression "(int)ppsVar44[iVar14]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "ppsVar44[iVar14]" identifier [ identifier ]))) )))) ;) (expression_statement "iVar14 = iVar14 + 1;" (assignment_expression "iVar14 = iVar14 + 1" identifier = (binary_expression "iVar14 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(iVar14 < (int)local_91c)" ( (binary_expression "iVar14 < (int)local_91c" identifier < (cast_expression "(int)local_91c" ( (type_descriptor "int" primitive_type) ) identifier)) )) ;) (expression_statement "psVar25 = (stat64 *)\n              sg_memalign((int)((int)&((stat64 *)local_8ec)->st_dev + (uint)local_7e2) *\n                          (int)local_7d4,0,&local_8e8,0);" (assignment_expression "psVar25 = (stat64 *)\n              sg_memalign((int)((int)&((stat64 *)local_8ec)->st_dev + (uint)local_7e2) *\n                          (int)local_7d4,0,&local_8e8,0)" identifier = (cast_expression "(stat64 *)\n              sg_memalign((int)((int)&((stat64 *)local_8ec)->st_dev + (uint)local_7e2) *\n                          (int)local_7d4,0,&local_8e8,0)" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "sg_memalign((int)((int)&((stat64 *)local_8ec)->st_dev + (uint)local_7e2) *\n                          (int)local_7d4,0,&local_8e8,0)" identifier (argument_list "((int)((int)&((stat64 *)local_8ec)->st_dev + (uint)local_7e2) *\n                          (int)local_7d4,0,&local_8e8,0)" ( (binary_expression "(int)((int)&((stat64 *)local_8ec)->st_dev + (uint)local_7e2) *\n                          (int)local_7d4" (cast_expression "(int)((int)&((stat64 *)local_8ec)->st_dev + (uint)local_7e2)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((int)&((stat64 *)local_8ec)->st_dev + (uint)local_7e2)" ( (binary_expression "(int)&((stat64 *)local_8ec)->st_dev + (uint)local_7e2" (cast_expression "(int)&((stat64 *)local_8ec)->st_dev" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&((stat64 *)local_8ec)->st_dev" & (field_expression "((stat64 *)local_8ec)->st_dev" (parenthesized_expression "((stat64 *)local_8ec)" ( (cast_expression "(stat64 *)local_8ec" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) )) -> field_identifier))) + (cast_expression "(uint)local_7e2" ( (type_descriptor "uint" type_identifier) ) identifier)) ))) * (cast_expression "(int)local_7d4" ( (type_descriptor "int" primitive_type) ) identifier)) , number_literal , (pointer_expression "&local_8e8" & identifier) , number_literal ))))) ;) (if_statement "if (psVar25 == (stat64 *)0x0) goto LAB_00013fb3;" if (parenthesized_expression "(psVar25 == (stat64 *)0x0)" ( (binary_expression "psVar25 == (stat64 *)0x0" identifier == (cast_expression "(stat64 *)0x0" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_00013fb3;" goto statement_identifier ;)) (expression_statement "iVar14 = 0;" (assignment_expression "iVar14 = 0" identifier = number_literal) ;) (expression_statement "psVar38 = psVar25;" (assignment_expression "psVar38 = psVar25" identifier = identifier) ;) (do_statement "do {\n      uVar7 = puVar42[iVar14 * 2];\n      uVar24 = puVar42[iVar14 * 2 + 1];\n      *(uint *)&psVar38->st_rdev =\n           uVar24 >> 0x18 | (uVar24 & 0xff0000) >> 8 | (uVar24 & 0xff00) << 8 | uVar24 << 0x18;\n      *(uint *)((int)&psVar38->st_rdev + 4) =\n           uVar7 >> 0x18 | (uVar7 & 0xff0000) >> 8 | (uVar7 & 0xff00) << 8 | uVar7 << 0x18;\n      psVar17 = ppsVar44[iVar14];\n      psVar38->__pad2 =\n           (uint)psVar17 >> 0x18 | ((uint)psVar17 & 0xff0000) >> 8 | ((uint)psVar17 & 0xff00) << 8 |\n           (int)psVar17 << 0x18;\n      if (local_81f != '\0') {\n        if (iVar14 == 0) {\n          *(uint *)&psVar38->st_size =\n               local_7c0 >> 0x18 | (local_7c0 & 0xff0000) >> 8 | (local_7c0 & 0xff00) << 8 |\n               local_7c0 << 0x18;\n          *(ushort *)((int)&psVar38->st_size + 4) = local_7e6 << 8 | local_7e6 >> 8;\n          *(ushort *)((int)&psVar38->st_size + 6) = local_7dc << 8 | local_7dc >> 8;\n        }\n        else {\n          *(undefined4 *)&psVar38->st_size = 0xffffffff;\n          *(undefined2 *)((int)&psVar38->st_size + 4) = 0xffff;\n          *(undefined2 *)((int)&psVar38->st_size + 6) = 0xffff;\n        }\n      }\n      iVar14 = iVar14 + 1;\n      psVar38 = (stat64 *)&psVar38->st_rdev;\n    } while (iVar14 < (int)local_91c);" do (compound_statement "{\n      uVar7 = puVar42[iVar14 * 2];\n      uVar24 = puVar42[iVar14 * 2 + 1];\n      *(uint *)&psVar38->st_rdev =\n           uVar24 >> 0x18 | (uVar24 & 0xff0000) >> 8 | (uVar24 & 0xff00) << 8 | uVar24 << 0x18;\n      *(uint *)((int)&psVar38->st_rdev + 4) =\n           uVar7 >> 0x18 | (uVar7 & 0xff0000) >> 8 | (uVar7 & 0xff00) << 8 | uVar7 << 0x18;\n      psVar17 = ppsVar44[iVar14];\n      psVar38->__pad2 =\n           (uint)psVar17 >> 0x18 | ((uint)psVar17 & 0xff0000) >> 8 | ((uint)psVar17 & 0xff00) << 8 |\n           (int)psVar17 << 0x18;\n      if (local_81f != '\0') {\n        if (iVar14 == 0) {\n          *(uint *)&psVar38->st_size =\n               local_7c0 >> 0x18 | (local_7c0 & 0xff0000) >> 8 | (local_7c0 & 0xff00) << 8 |\n               local_7c0 << 0x18;\n          *(ushort *)((int)&psVar38->st_size + 4) = local_7e6 << 8 | local_7e6 >> 8;\n          *(ushort *)((int)&psVar38->st_size + 6) = local_7dc << 8 | local_7dc >> 8;\n        }\n        else {\n          *(undefined4 *)&psVar38->st_size = 0xffffffff;\n          *(undefined2 *)((int)&psVar38->st_size + 4) = 0xffff;\n          *(undefined2 *)((int)&psVar38->st_size + 6) = 0xffff;\n        }\n      }\n      iVar14 = iVar14 + 1;\n      psVar38 = (stat64 *)&psVar38->st_rdev;\n    }" { (expression_statement "uVar7 = puVar42[iVar14 * 2];" (assignment_expression "uVar7 = puVar42[iVar14 * 2]" identifier = (subscript_expression "puVar42[iVar14 * 2]" identifier [ (binary_expression "iVar14 * 2" identifier * number_literal) ])) ;) (expression_statement "uVar24 = puVar42[iVar14 * 2 + 1];" (assignment_expression "uVar24 = puVar42[iVar14 * 2 + 1]" identifier = (subscript_expression "puVar42[iVar14 * 2 + 1]" identifier [ (binary_expression "iVar14 * 2 + 1" (binary_expression "iVar14 * 2" identifier * number_literal) + number_literal) ])) ;) (expression_statement "*(uint *)&psVar38->st_rdev =\n           uVar24 >> 0x18 | (uVar24 & 0xff0000) >> 8 | (uVar24 & 0xff00) << 8 | uVar24 << 0x18;" (assignment_expression "*(uint *)&psVar38->st_rdev =\n           uVar24 >> 0x18 | (uVar24 & 0xff0000) >> 8 | (uVar24 & 0xff00) << 8 | uVar24 << 0x18" (pointer_expression "*(uint *)&psVar38->st_rdev" * (cast_expression "(uint *)&psVar38->st_rdev" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&psVar38->st_rdev" & (field_expression "psVar38->st_rdev" identifier -> field_identifier)))) = (binary_expression "uVar24 >> 0x18 | (uVar24 & 0xff0000) >> 8 | (uVar24 & 0xff00) << 8 | uVar24 << 0x18" (binary_expression "uVar24 >> 0x18 | (uVar24 & 0xff0000) >> 8 | (uVar24 & 0xff00) << 8" (binary_expression "uVar24 >> 0x18 | (uVar24 & 0xff0000) >> 8" (binary_expression "uVar24 >> 0x18" identifier >> number_literal) | (binary_expression "(uVar24 & 0xff0000) >> 8" (parenthesized_expression "(uVar24 & 0xff0000)" ( (binary_expression "uVar24 & 0xff0000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(uVar24 & 0xff00) << 8" (parenthesized_expression "(uVar24 & 0xff00)" ( (binary_expression "uVar24 & 0xff00" identifier & number_literal) )) << number_literal)) | (binary_expression "uVar24 << 0x18" identifier << number_literal))) ;) (expression_statement "*(uint *)((int)&psVar38->st_rdev + 4) =\n           uVar7 >> 0x18 | (uVar7 & 0xff0000) >> 8 | (uVar7 & 0xff00) << 8 | uVar7 << 0x18;" (assignment_expression "*(uint *)((int)&psVar38->st_rdev + 4) =\n           uVar7 >> 0x18 | (uVar7 & 0xff0000) >> 8 | (uVar7 & 0xff00) << 8 | uVar7 << 0x18" (pointer_expression "*(uint *)((int)&psVar38->st_rdev + 4)" * (cast_expression "(uint *)((int)&psVar38->st_rdev + 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&psVar38->st_rdev + 4)" ( (binary_expression "(int)&psVar38->st_rdev + 4" (cast_expression "(int)&psVar38->st_rdev" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&psVar38->st_rdev" & (field_expression "psVar38->st_rdev" identifier -> field_identifier))) + number_literal) )))) = (binary_expression "uVar7 >> 0x18 | (uVar7 & 0xff0000) >> 8 | (uVar7 & 0xff00) << 8 | uVar7 << 0x18" (binary_expression "uVar7 >> 0x18 | (uVar7 & 0xff0000) >> 8 | (uVar7 & 0xff00) << 8" (binary_expression "uVar7 >> 0x18 | (uVar7 & 0xff0000) >> 8" (binary_expression "uVar7 >> 0x18" identifier >> number_literal) | (binary_expression "(uVar7 & 0xff0000) >> 8" (parenthesized_expression "(uVar7 & 0xff0000)" ( (binary_expression "uVar7 & 0xff0000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(uVar7 & 0xff00) << 8" (parenthesized_expression "(uVar7 & 0xff00)" ( (binary_expression "uVar7 & 0xff00" identifier & number_literal) )) << number_literal)) | (binary_expression "uVar7 << 0x18" identifier << number_literal))) ;) (expression_statement "psVar17 = ppsVar44[iVar14];" (assignment_expression "psVar17 = ppsVar44[iVar14]" identifier = (subscript_expression "ppsVar44[iVar14]" identifier [ identifier ])) ;) (expression_statement "psVar38->__pad2 =\n           (uint)psVar17 >> 0x18 | ((uint)psVar17 & 0xff0000) >> 8 | ((uint)psVar17 & 0xff00) << 8 |\n           (int)psVar17 << 0x18;" (assignment_expression "psVar38->__pad2 =\n           (uint)psVar17 >> 0x18 | ((uint)psVar17 & 0xff0000) >> 8 | ((uint)psVar17 & 0xff00) << 8 |\n           (int)psVar17 << 0x18" (field_expression "psVar38->__pad2" identifier -> field_identifier) = (binary_expression "(uint)psVar17 >> 0x18 | ((uint)psVar17 & 0xff0000) >> 8 | ((uint)psVar17 & 0xff00) << 8 |\n           (int)psVar17 << 0x18" (binary_expression "(uint)psVar17 >> 0x18 | ((uint)psVar17 & 0xff0000) >> 8 | ((uint)psVar17 & 0xff00) << 8" (binary_expression "(uint)psVar17 >> 0x18 | ((uint)psVar17 & 0xff0000) >> 8" (binary_expression "(uint)psVar17 >> 0x18" (cast_expression "(uint)psVar17" ( (type_descriptor "uint" type_identifier) ) identifier) >> number_literal) | (binary_expression "((uint)psVar17 & 0xff0000) >> 8" (parenthesized_expression "((uint)psVar17 & 0xff0000)" ( (binary_expression "(uint)psVar17 & 0xff0000" (cast_expression "(uint)psVar17" ( (type_descriptor "uint" type_identifier) ) identifier) & number_literal) )) >> number_literal)) | (binary_expression "((uint)psVar17 & 0xff00) << 8" (parenthesized_expression "((uint)psVar17 & 0xff00)" ( (binary_expression "(uint)psVar17 & 0xff00" (cast_expression "(uint)psVar17" ( (type_descriptor "uint" type_identifier) ) identifier) & number_literal) )) << number_literal)) | (binary_expression "(int)psVar17 << 0x18" (cast_expression "(int)psVar17" ( (type_descriptor "int" primitive_type) ) identifier) << number_literal))) ;) (if_statement "if (local_81f != '\0') {\n        if (iVar14 == 0) {\n          *(uint *)&psVar38->st_size =\n               local_7c0 >> 0x18 | (local_7c0 & 0xff0000) >> 8 | (local_7c0 & 0xff00) << 8 |\n               local_7c0 << 0x18;\n          *(ushort *)((int)&psVar38->st_size + 4) = local_7e6 << 8 | local_7e6 >> 8;\n          *(ushort *)((int)&psVar38->st_size + 6) = local_7dc << 8 | local_7dc >> 8;\n        }\n        else {\n          *(undefined4 *)&psVar38->st_size = 0xffffffff;\n          *(undefined2 *)((int)&psVar38->st_size + 4) = 0xffff;\n          *(undefined2 *)((int)&psVar38->st_size + 6) = 0xffff;\n        }\n      }" if (parenthesized_expression "(local_81f != '\0')" ( (binary_expression "local_81f != '\0'" identifier != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n        if (iVar14 == 0) {\n          *(uint *)&psVar38->st_size =\n               local_7c0 >> 0x18 | (local_7c0 & 0xff0000) >> 8 | (local_7c0 & 0xff00) << 8 |\n               local_7c0 << 0x18;\n          *(ushort *)((int)&psVar38->st_size + 4) = local_7e6 << 8 | local_7e6 >> 8;\n          *(ushort *)((int)&psVar38->st_size + 6) = local_7dc << 8 | local_7dc >> 8;\n        }\n        else {\n          *(undefined4 *)&psVar38->st_size = 0xffffffff;\n          *(undefined2 *)((int)&psVar38->st_size + 4) = 0xffff;\n          *(undefined2 *)((int)&psVar38->st_size + 6) = 0xffff;\n        }\n      }" { (if_statement "if (iVar14 == 0) {\n          *(uint *)&psVar38->st_size =\n               local_7c0 >> 0x18 | (local_7c0 & 0xff0000) >> 8 | (local_7c0 & 0xff00) << 8 |\n               local_7c0 << 0x18;\n          *(ushort *)((int)&psVar38->st_size + 4) = local_7e6 << 8 | local_7e6 >> 8;\n          *(ushort *)((int)&psVar38->st_size + 6) = local_7dc << 8 | local_7dc >> 8;\n        }\n        else {\n          *(undefined4 *)&psVar38->st_size = 0xffffffff;\n          *(undefined2 *)((int)&psVar38->st_size + 4) = 0xffff;\n          *(undefined2 *)((int)&psVar38->st_size + 6) = 0xffff;\n        }" if (parenthesized_expression "(iVar14 == 0)" ( (binary_expression "iVar14 == 0" identifier == number_literal) )) (compound_statement "{\n          *(uint *)&psVar38->st_size =\n               local_7c0 >> 0x18 | (local_7c0 & 0xff0000) >> 8 | (local_7c0 & 0xff00) << 8 |\n               local_7c0 << 0x18;\n          *(ushort *)((int)&psVar38->st_size + 4) = local_7e6 << 8 | local_7e6 >> 8;\n          *(ushort *)((int)&psVar38->st_size + 6) = local_7dc << 8 | local_7dc >> 8;\n        }" { (expression_statement "*(uint *)&psVar38->st_size =\n               local_7c0 >> 0x18 | (local_7c0 & 0xff0000) >> 8 | (local_7c0 & 0xff00) << 8 |\n               local_7c0 << 0x18;" (assignment_expression "*(uint *)&psVar38->st_size =\n               local_7c0 >> 0x18 | (local_7c0 & 0xff0000) >> 8 | (local_7c0 & 0xff00) << 8 |\n               local_7c0 << 0x18" (pointer_expression "*(uint *)&psVar38->st_size" * (cast_expression "(uint *)&psVar38->st_size" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&psVar38->st_size" & (field_expression "psVar38->st_size" identifier -> field_identifier)))) = (binary_expression "local_7c0 >> 0x18 | (local_7c0 & 0xff0000) >> 8 | (local_7c0 & 0xff00) << 8 |\n               local_7c0 << 0x18" (binary_expression "local_7c0 >> 0x18 | (local_7c0 & 0xff0000) >> 8 | (local_7c0 & 0xff00) << 8" (binary_expression "local_7c0 >> 0x18 | (local_7c0 & 0xff0000) >> 8" (binary_expression "local_7c0 >> 0x18" identifier >> number_literal) | (binary_expression "(local_7c0 & 0xff0000) >> 8" (parenthesized_expression "(local_7c0 & 0xff0000)" ( (binary_expression "local_7c0 & 0xff0000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(local_7c0 & 0xff00) << 8" (parenthesized_expression "(local_7c0 & 0xff00)" ( (binary_expression "local_7c0 & 0xff00" identifier & number_literal) )) << number_literal)) | (binary_expression "local_7c0 << 0x18" identifier << number_literal))) ;) (expression_statement "*(ushort *)((int)&psVar38->st_size + 4) = local_7e6 << 8 | local_7e6 >> 8;" (assignment_expression "*(ushort *)((int)&psVar38->st_size + 4) = local_7e6 << 8 | local_7e6 >> 8" (pointer_expression "*(ushort *)((int)&psVar38->st_size + 4)" * (cast_expression "(ushort *)((int)&psVar38->st_size + 4)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&psVar38->st_size + 4)" ( (binary_expression "(int)&psVar38->st_size + 4" (cast_expression "(int)&psVar38->st_size" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&psVar38->st_size" & (field_expression "psVar38->st_size" identifier -> field_identifier))) + number_literal) )))) = (binary_expression "local_7e6 << 8 | local_7e6 >> 8" (binary_expression "local_7e6 << 8" identifier << number_literal) | (binary_expression "local_7e6 >> 8" identifier >> number_literal))) ;) (expression_statement "*(ushort *)((int)&psVar38->st_size + 6) = local_7dc << 8 | local_7dc >> 8;" (assignment_expression "*(ushort *)((int)&psVar38->st_size + 6) = local_7dc << 8 | local_7dc >> 8" (pointer_expression "*(ushort *)((int)&psVar38->st_size + 6)" * (cast_expression "(ushort *)((int)&psVar38->st_size + 6)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&psVar38->st_size + 6)" ( (binary_expression "(int)&psVar38->st_size + 6" (cast_expression "(int)&psVar38->st_size" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&psVar38->st_size" & (field_expression "psVar38->st_size" identifier -> field_identifier))) + number_literal) )))) = (binary_expression "local_7dc << 8 | local_7dc >> 8" (binary_expression "local_7dc << 8" identifier << number_literal) | (binary_expression "local_7dc >> 8" identifier >> number_literal))) ;) }) (else_clause "else {\n          *(undefined4 *)&psVar38->st_size = 0xffffffff;\n          *(undefined2 *)((int)&psVar38->st_size + 4) = 0xffff;\n          *(undefined2 *)((int)&psVar38->st_size + 6) = 0xffff;\n        }" else (compound_statement "{\n          *(undefined4 *)&psVar38->st_size = 0xffffffff;\n          *(undefined2 *)((int)&psVar38->st_size + 4) = 0xffff;\n          *(undefined2 *)((int)&psVar38->st_size + 6) = 0xffff;\n        }" { (expression_statement "*(undefined4 *)&psVar38->st_size = 0xffffffff;" (assignment_expression "*(undefined4 *)&psVar38->st_size = 0xffffffff" (pointer_expression "*(undefined4 *)&psVar38->st_size" * (cast_expression "(undefined4 *)&psVar38->st_size" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&psVar38->st_size" & (field_expression "psVar38->st_size" identifier -> field_identifier)))) = number_literal) ;) (expression_statement "*(undefined2 *)((int)&psVar38->st_size + 4) = 0xffff;" (assignment_expression "*(undefined2 *)((int)&psVar38->st_size + 4) = 0xffff" (pointer_expression "*(undefined2 *)((int)&psVar38->st_size + 4)" * (cast_expression "(undefined2 *)((int)&psVar38->st_size + 4)" ( (type_descriptor "undefined2 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&psVar38->st_size + 4)" ( (binary_expression "(int)&psVar38->st_size + 4" (cast_expression "(int)&psVar38->st_size" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&psVar38->st_size" & (field_expression "psVar38->st_size" identifier -> field_identifier))) + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined2 *)((int)&psVar38->st_size + 6) = 0xffff;" (assignment_expression "*(undefined2 *)((int)&psVar38->st_size + 6) = 0xffff" (pointer_expression "*(undefined2 *)((int)&psVar38->st_size + 6)" * (cast_expression "(undefined2 *)((int)&psVar38->st_size + 6)" ( (type_descriptor "undefined2 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&psVar38->st_size + 6)" ( (binary_expression "(int)&psVar38->st_size + 6" (cast_expression "(int)&psVar38->st_size" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&psVar38->st_size" & (field_expression "psVar38->st_size" identifier -> field_identifier))) + number_literal) )))) = number_literal) ;) }))) })) (expression_statement "iVar14 = iVar14 + 1;" (assignment_expression "iVar14 = iVar14 + 1" identifier = (binary_expression "iVar14 + 1" identifier + number_literal)) ;) (expression_statement "psVar38 = (stat64 *)&psVar38->st_rdev;" (assignment_expression "psVar38 = (stat64 *)&psVar38->st_rdev" identifier = (cast_expression "(stat64 *)&psVar38->st_rdev" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&psVar38->st_rdev" & (field_expression "psVar38->st_rdev" identifier -> field_identifier)))) ;) }) while (parenthesized_expression "(iVar14 < (int)local_91c)" ( (binary_expression "iVar14 < (int)local_91c" identifier < (cast_expression "(int)local_91c" ( (type_descriptor "int" primitive_type) ) identifier)) )) ;) (expression_statement "local_7cc = (stat64 *)local_8ec;" (assignment_expression "local_7cc = (stat64 *)local_8ec" identifier = (cast_expression "(stat64 *)local_8ec" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) }) (else_clause "else {\n    if (local_819 == '\0') {\n      uVar7 = (uint)local_8f6;\n      uVar16 = 0;\n      uVar24 = (uVar7 + 1) * 0x20;\n      local_7e2 = (ushort)(uVar24 / (uint)local_7d4);\n      ppvVar39 = &local_8e8;\n      if (uVar24 % (uint)local_7d4 != 0) {\n        local_7e2 = local_7e2 + 1;\n      }\n      psVar38 = (stat64 *)0x0;\n      psVar25 = (stat64 *)\n                sg_memalign((int)((int)&local_8f4->st_dev + (uint)local_7e2) * (int)local_7d4,0,\n                            ppvVar39,0);\n      if (psVar25 == (stat64 *)0x0) goto LAB_000141a6;\n      local_8f6 = 0;\n      local_8ec = (undefined1  [4])0x0;\n      if (uVar7 + 1 == 1) {\n        uVar24 = (uint)local_7e2 * (int)local_7d4;\n      }\n      local_908 = (stat64 *)FUN_000156d0(psVar25,&local_8f6,local_8ec,uVar24);\n      if (local_908 != (stat64 *)0x0) goto LAB_000133fd;\n      psVar38 = (stat64 *)((int)local_7d4 * (int)local_8ec);\n      if (local_7d0 <= psVar38) {\n        if ((local_7d0 <= psVar38 && (int)psVar38 - (int)local_7d0 != 0) &&\n           (local_7d0 != (stat64 *)0x0)) {\n          psVar38 = local_7d0;\n        }\nLAB_00014208:\n        if ((psVar45 != (stat64 *)0x0) && (psVar45 != psVar38)) {\n          if (psVar18 != (stat64 *)0x0) {\n            puVar20 = &DAT_00017110;\n            if (psVar38 <= psVar45) {\n              puVar20 = &DAT_000170dd;\n            }\n            pr2serr("readable length (%u) of IF %s bytes implied by sum of\nscatter list NUMs (%u) and DLEN\n"\n                    ,psVar45,puVar20,psVar38);\n          }\n          if ((local_7f8 != 0) && ((psVar38 <= psVar45 || (1 < (int)local_7f8)))) goto LAB_000133f3;\nLAB_0001387e:\n          if (psVar45 < psVar38) {\n            psVar38 = psVar45;\n          }\n        }\n        psVar17 = (stat64 *)((uint)psVar38 / (uint)local_7d4);\n        if (((uint)psVar38 % (uint)local_7d4 != 0) &&\n           ((psVar18 != (stat64 *)0x0 || (1 < (int)local_7f8)))) {\n          psVar22 = local_7d8;\n          pr2serr("Calculated data-out length (0x%x) not a multiple of BS (%u",psVar38,local_7d8,\n                  psVar17);\n          if (local_7d8 != local_7d4) {\n            psVar38 = (stat64 *)((int)local_7d4 - (int)local_7d8);\n            psVar22 = extraout_ECX_07;\n            psVar17 = extraout_ECX_07;\n            pr2serr(" + %d(PI)",psVar38,extraout_ECX_07,extraout_ECX_07);\n          }\n          if (1 < (int)local_7f8) {\n            pr2serr(")\nexiting ...\n",psVar38,psVar22,psVar17);\n            local_908 = (stat64 *)0xf;\n            goto LAB_000133fd;\n          }\n          pr2serr(")\nzero pad and continue ...\n",psVar38,psVar22,psVar17);\n        }\n      }\n      else {\n        uVar7 = (uint)psVar18 | local_7f8;\n        if (uVar7 != 0) {\n          pr2serr("DLEN > than bytes implied by sum of scatter list NUMs (%u)\n",psVar38,uVar7,uVar7\n                 );\n          if (1 < (int)psVar18) {\n            pr2serr("  num_lbard=%u, sum_num=%u actual_bs=%u",local_8f6,local_8ec,local_7d4);\n          }\n          if (local_7f8 != 0) goto LAB_000133f3;\n          goto LAB_00014208;\n        }\n        if ((psVar45 != (stat64 *)0x0) && (psVar45 != psVar38)) goto LAB_0001387e;\n      }\n      local_908 = (stat64 *)FUN_00014a80(&DAT_00017360);\n    }\n    else {\nLAB_00013dcd:\n      psVar38 = local_7d4;\n      if (local_7e0 != 0) {\n        psVar38 = (stat64 *)((local_7e0 + 1) * 0x20);\n        if (local_908 < psVar38) {\n          pr2serr("SF not long enough (%u bytes) to provide RD (%u) %ss\n",local_908,psVar38,\n                  "LBA range descriptor");\n          local_908 = (stat64 *)0xf;\n          goto LAB_000133fd;\n        }\n        psVar38 = (stat64 *)\n                  ((((uint)psVar38 / (uint)local_7d4 + 1) -\n                   (uint)((uint)psVar38 % (uint)local_7d4 == 0)) * (int)local_7d4);\n      }\n      local_918 = local_7d4;\n      if (local_93c != (stat64 *)0x0) {\n        local_918 = (stat64 *)\n                    ((((uint)local_93c / (uint)local_7d4 + 1) -\n                     (uint)((uint)local_93c % (uint)local_7d4 == 0)) * (int)local_7d4);\n      }\n      psVar25 = (stat64 *)\n                sg_memalign((undefined *)((int)&psVar38->st_dev + (int)&local_918->st_dev),0,\n                            &local_8e8,0);\n      if (psVar25 == (stat64 *)0x0) {\nLAB_00013fb3:\n        pcVar15 = "unable to allocate aligned memory for scatterlist+data\n";\nLAB_00013fbc:\n        pr2serr(pcVar15);\n        local_908 = (stat64 *)sg_convert_errno(0xc);\n        goto LAB_000133fd;\n      }\n      local_908 = (stat64 *)FUN_00014a80(&DAT_00017365);\n      if (local_908 != (stat64 *)0x0) goto LAB_000133fd;\n      psVar17 = (stat64 *)local_8ec;\n      psVar22 = extraout_ECX_08;\n      psVar8 = extraout_ECX_08;\n      cVar6 = FUN_000146a0(&local_8f6,psVar17,extraout_ECX_08,extraout_ECX_08);\n      if (cVar6 == '\0') goto LAB_000133f3;\n      if (local_7e0 != local_8f6) {\n        pr2serr("Try again with --scattered=%u\n",local_8f6,extraout_EDX_05,extraout_EDX_05);\n        local_908 = (stat64 *)0xf;\n        goto LAB_000133fd;\n      }\n      if (local_918 < (stat64 *)((int)local_7d4 * (int)local_8ec)) {\n        psVar9 = (stat64 *)\n                 sg_memalign((undefined *)\n                             ((int)&psVar38->st_dev +\n                             (int)&((stat64 *)((int)local_7d4 * (int)local_8ec))->st_dev),0,\n                             &local_8e4,0);\n        if (psVar9 == (stat64 *)0x0) goto LAB_00014273;\n        psVar22 = psVar38;\n        psVar8 = psVar9;\n        memcpy(psVar9,psVar25,(size_t)psVar38);\n        psVar17 = psVar25;\n        free(local_8e8);\n        local_8e8 = local_8e4;\n        psVar25 = psVar9;\n      }\n      if ((local_93c != psVar38) && (psVar18 != (stat64 *)0x0 || local_7f8 != 0)) {\n        psVar22 = (stat64 *)&DAT_000170dd;\n        if (local_93c <= psVar38) {\n          psVar22 = (stat64 *)&DAT_00017110;\n        }\n        psVar8 = psVar38;\n        pr2serr("IF length (%u) %s \'sum_num\' bytes (%u), ",local_93c,psVar22,psVar38);\n        if (1 < (int)local_7f8) {\n          pr2serr("exiting (strict=%d)\n",local_7f8,psVar38,psVar38);\n          local_908 = (stat64 *)0xf;\n          goto LAB_000133fd;\n        }\n        pr2serr("continuing ...\n",local_93c,psVar22,psVar8);\n        psVar17 = local_93c;\n      }\n      local_908 = (stat64 *)FUN_00014a80(&DAT_0001738d,psVar17,psVar22,psVar8);\n    }\n    if (local_908 != (stat64 *)0x0) goto LAB_000133fd;\n    local_7a4 = (stat64 *)((int)local_8ec * (int)local_7d4);\n    local_7cc = (stat64 *)local_8ec;\n  }" else (compound_statement "{\n    if (local_819 == '\0') {\n      uVar7 = (uint)local_8f6;\n      uVar16 = 0;\n      uVar24 = (uVar7 + 1) * 0x20;\n      local_7e2 = (ushort)(uVar24 / (uint)local_7d4);\n      ppvVar39 = &local_8e8;\n      if (uVar24 % (uint)local_7d4 != 0) {\n        local_7e2 = local_7e2 + 1;\n      }\n      psVar38 = (stat64 *)0x0;\n      psVar25 = (stat64 *)\n                sg_memalign((int)((int)&local_8f4->st_dev + (uint)local_7e2) * (int)local_7d4,0,\n                            ppvVar39,0);\n      if (psVar25 == (stat64 *)0x0) goto LAB_000141a6;\n      local_8f6 = 0;\n      local_8ec = (undefined1  [4])0x0;\n      if (uVar7 + 1 == 1) {\n        uVar24 = (uint)local_7e2 * (int)local_7d4;\n      }\n      local_908 = (stat64 *)FUN_000156d0(psVar25,&local_8f6,local_8ec,uVar24);\n      if (local_908 != (stat64 *)0x0) goto LAB_000133fd;\n      psVar38 = (stat64 *)((int)local_7d4 * (int)local_8ec);\n      if (local_7d0 <= psVar38) {\n        if ((local_7d0 <= psVar38 && (int)psVar38 - (int)local_7d0 != 0) &&\n           (local_7d0 != (stat64 *)0x0)) {\n          psVar38 = local_7d0;\n        }\nLAB_00014208:\n        if ((psVar45 != (stat64 *)0x0) && (psVar45 != psVar38)) {\n          if (psVar18 != (stat64 *)0x0) {\n            puVar20 = &DAT_00017110;\n            if (psVar38 <= psVar45) {\n              puVar20 = &DAT_000170dd;\n            }\n            pr2serr("readable length (%u) of IF %s bytes implied by sum of\nscatter list NUMs (%u) and DLEN\n"\n                    ,psVar45,puVar20,psVar38);\n          }\n          if ((local_7f8 != 0) && ((psVar38 <= psVar45 || (1 < (int)local_7f8)))) goto LAB_000133f3;\nLAB_0001387e:\n          if (psVar45 < psVar38) {\n            psVar38 = psVar45;\n          }\n        }\n        psVar17 = (stat64 *)((uint)psVar38 / (uint)local_7d4);\n        if (((uint)psVar38 % (uint)local_7d4 != 0) &&\n           ((psVar18 != (stat64 *)0x0 || (1 < (int)local_7f8)))) {\n          psVar22 = local_7d8;\n          pr2serr("Calculated data-out length (0x%x) not a multiple of BS (%u",psVar38,local_7d8,\n                  psVar17);\n          if (local_7d8 != local_7d4) {\n            psVar38 = (stat64 *)((int)local_7d4 - (int)local_7d8);\n            psVar22 = extraout_ECX_07;\n            psVar17 = extraout_ECX_07;\n            pr2serr(" + %d(PI)",psVar38,extraout_ECX_07,extraout_ECX_07);\n          }\n          if (1 < (int)local_7f8) {\n            pr2serr(")\nexiting ...\n",psVar38,psVar22,psVar17);\n            local_908 = (stat64 *)0xf;\n            goto LAB_000133fd;\n          }\n          pr2serr(")\nzero pad and continue ...\n",psVar38,psVar22,psVar17);\n        }\n      }\n      else {\n        uVar7 = (uint)psVar18 | local_7f8;\n        if (uVar7 != 0) {\n          pr2serr("DLEN > than bytes implied by sum of scatter list NUMs (%u)\n",psVar38,uVar7,uVar7\n                 );\n          if (1 < (int)psVar18) {\n            pr2serr("  num_lbard=%u, sum_num=%u actual_bs=%u",local_8f6,local_8ec,local_7d4);\n          }\n          if (local_7f8 != 0) goto LAB_000133f3;\n          goto LAB_00014208;\n        }\n        if ((psVar45 != (stat64 *)0x0) && (psVar45 != psVar38)) goto LAB_0001387e;\n      }\n      local_908 = (stat64 *)FUN_00014a80(&DAT_00017360);\n    }\n    else {\nLAB_00013dcd:\n      psVar38 = local_7d4;\n      if (local_7e0 != 0) {\n        psVar38 = (stat64 *)((local_7e0 + 1) * 0x20);\n        if (local_908 < psVar38) {\n          pr2serr("SF not long enough (%u bytes) to provide RD (%u) %ss\n",local_908,psVar38,\n                  "LBA range descriptor");\n          local_908 = (stat64 *)0xf;\n          goto LAB_000133fd;\n        }\n        psVar38 = (stat64 *)\n                  ((((uint)psVar38 / (uint)local_7d4 + 1) -\n                   (uint)((uint)psVar38 % (uint)local_7d4 == 0)) * (int)local_7d4);\n      }\n      local_918 = local_7d4;\n      if (local_93c != (stat64 *)0x0) {\n        local_918 = (stat64 *)\n                    ((((uint)local_93c / (uint)local_7d4 + 1) -\n                     (uint)((uint)local_93c % (uint)local_7d4 == 0)) * (int)local_7d4);\n      }\n      psVar25 = (stat64 *)\n                sg_memalign((undefined *)((int)&psVar38->st_dev + (int)&local_918->st_dev),0,\n                            &local_8e8,0);\n      if (psVar25 == (stat64 *)0x0) {\nLAB_00013fb3:\n        pcVar15 = "unable to allocate aligned memory for scatterlist+data\n";\nLAB_00013fbc:\n        pr2serr(pcVar15);\n        local_908 = (stat64 *)sg_convert_errno(0xc);\n        goto LAB_000133fd;\n      }\n      local_908 = (stat64 *)FUN_00014a80(&DAT_00017365);\n      if (local_908 != (stat64 *)0x0) goto LAB_000133fd;\n      psVar17 = (stat64 *)local_8ec;\n      psVar22 = extraout_ECX_08;\n      psVar8 = extraout_ECX_08;\n      cVar6 = FUN_000146a0(&local_8f6,psVar17,extraout_ECX_08,extraout_ECX_08);\n      if (cVar6 == '\0') goto LAB_000133f3;\n      if (local_7e0 != local_8f6) {\n        pr2serr("Try again with --scattered=%u\n",local_8f6,extraout_EDX_05,extraout_EDX_05);\n        local_908 = (stat64 *)0xf;\n        goto LAB_000133fd;\n      }\n      if (local_918 < (stat64 *)((int)local_7d4 * (int)local_8ec)) {\n        psVar9 = (stat64 *)\n                 sg_memalign((undefined *)\n                             ((int)&psVar38->st_dev +\n                             (int)&((stat64 *)((int)local_7d4 * (int)local_8ec))->st_dev),0,\n                             &local_8e4,0);\n        if (psVar9 == (stat64 *)0x0) goto LAB_00014273;\n        psVar22 = psVar38;\n        psVar8 = psVar9;\n        memcpy(psVar9,psVar25,(size_t)psVar38);\n        psVar17 = psVar25;\n        free(local_8e8);\n        local_8e8 = local_8e4;\n        psVar25 = psVar9;\n      }\n      if ((local_93c != psVar38) && (psVar18 != (stat64 *)0x0 || local_7f8 != 0)) {\n        psVar22 = (stat64 *)&DAT_000170dd;\n        if (local_93c <= psVar38) {\n          psVar22 = (stat64 *)&DAT_00017110;\n        }\n        psVar8 = psVar38;\n        pr2serr("IF length (%u) %s \'sum_num\' bytes (%u), ",local_93c,psVar22,psVar38);\n        if (1 < (int)local_7f8) {\n          pr2serr("exiting (strict=%d)\n",local_7f8,psVar38,psVar38);\n          local_908 = (stat64 *)0xf;\n          goto LAB_000133fd;\n        }\n        pr2serr("continuing ...\n",local_93c,psVar22,psVar8);\n        psVar17 = local_93c;\n      }\n      local_908 = (stat64 *)FUN_00014a80(&DAT_0001738d,psVar17,psVar22,psVar8);\n    }\n    if (local_908 != (stat64 *)0x0) goto LAB_000133fd;\n    local_7a4 = (stat64 *)((int)local_8ec * (int)local_7d4);\n    local_7cc = (stat64 *)local_8ec;\n  }" { (if_statement "if (local_819 == '\0') {\n      uVar7 = (uint)local_8f6;\n      uVar16 = 0;\n      uVar24 = (uVar7 + 1) * 0x20;\n      local_7e2 = (ushort)(uVar24 / (uint)local_7d4);\n      ppvVar39 = &local_8e8;\n      if (uVar24 % (uint)local_7d4 != 0) {\n        local_7e2 = local_7e2 + 1;\n      }\n      psVar38 = (stat64 *)0x0;\n      psVar25 = (stat64 *)\n                sg_memalign((int)((int)&local_8f4->st_dev + (uint)local_7e2) * (int)local_7d4,0,\n                            ppvVar39,0);\n      if (psVar25 == (stat64 *)0x0) goto LAB_000141a6;\n      local_8f6 = 0;\n      local_8ec = (undefined1  [4])0x0;\n      if (uVar7 + 1 == 1) {\n        uVar24 = (uint)local_7e2 * (int)local_7d4;\n      }\n      local_908 = (stat64 *)FUN_000156d0(psVar25,&local_8f6,local_8ec,uVar24);\n      if (local_908 != (stat64 *)0x0) goto LAB_000133fd;\n      psVar38 = (stat64 *)((int)local_7d4 * (int)local_8ec);\n      if (local_7d0 <= psVar38) {\n        if ((local_7d0 <= psVar38 && (int)psVar38 - (int)local_7d0 != 0) &&\n           (local_7d0 != (stat64 *)0x0)) {\n          psVar38 = local_7d0;\n        }\nLAB_00014208:\n        if ((psVar45 != (stat64 *)0x0) && (psVar45 != psVar38)) {\n          if (psVar18 != (stat64 *)0x0) {\n            puVar20 = &DAT_00017110;\n            if (psVar38 <= psVar45) {\n              puVar20 = &DAT_000170dd;\n            }\n            pr2serr("readable length (%u) of IF %s bytes implied by sum of\nscatter list NUMs (%u) and DLEN\n"\n                    ,psVar45,puVar20,psVar38);\n          }\n          if ((local_7f8 != 0) && ((psVar38 <= psVar45 || (1 < (int)local_7f8)))) goto LAB_000133f3;\nLAB_0001387e:\n          if (psVar45 < psVar38) {\n            psVar38 = psVar45;\n          }\n        }\n        psVar17 = (stat64 *)((uint)psVar38 / (uint)local_7d4);\n        if (((uint)psVar38 % (uint)local_7d4 != 0) &&\n           ((psVar18 != (stat64 *)0x0 || (1 < (int)local_7f8)))) {\n          psVar22 = local_7d8;\n          pr2serr("Calculated data-out length (0x%x) not a multiple of BS (%u",psVar38,local_7d8,\n                  psVar17);\n          if (local_7d8 != local_7d4) {\n            psVar38 = (stat64 *)((int)local_7d4 - (int)local_7d8);\n            psVar22 = extraout_ECX_07;\n            psVar17 = extraout_ECX_07;\n            pr2serr(" + %d(PI)",psVar38,extraout_ECX_07,extraout_ECX_07);\n          }\n          if (1 < (int)local_7f8) {\n            pr2serr(")\nexiting ...\n",psVar38,psVar22,psVar17);\n            local_908 = (stat64 *)0xf;\n            goto LAB_000133fd;\n          }\n          pr2serr(")\nzero pad and continue ...\n",psVar38,psVar22,psVar17);\n        }\n      }\n      else {\n        uVar7 = (uint)psVar18 | local_7f8;\n        if (uVar7 != 0) {\n          pr2serr("DLEN > than bytes implied by sum of scatter list NUMs (%u)\n",psVar38,uVar7,uVar7\n                 );\n          if (1 < (int)psVar18) {\n            pr2serr("  num_lbard=%u, sum_num=%u actual_bs=%u",local_8f6,local_8ec,local_7d4);\n          }\n          if (local_7f8 != 0) goto LAB_000133f3;\n          goto LAB_00014208;\n        }\n        if ((psVar45 != (stat64 *)0x0) && (psVar45 != psVar38)) goto LAB_0001387e;\n      }\n      local_908 = (stat64 *)FUN_00014a80(&DAT_00017360);\n    }\n    else {\nLAB_00013dcd:\n      psVar38 = local_7d4;\n      if (local_7e0 != 0) {\n        psVar38 = (stat64 *)((local_7e0 + 1) * 0x20);\n        if (local_908 < psVar38) {\n          pr2serr("SF not long enough (%u bytes) to provide RD (%u) %ss\n",local_908,psVar38,\n                  "LBA range descriptor");\n          local_908 = (stat64 *)0xf;\n          goto LAB_000133fd;\n        }\n        psVar38 = (stat64 *)\n                  ((((uint)psVar38 / (uint)local_7d4 + 1) -\n                   (uint)((uint)psVar38 % (uint)local_7d4 == 0)) * (int)local_7d4);\n      }\n      local_918 = local_7d4;\n      if (local_93c != (stat64 *)0x0) {\n        local_918 = (stat64 *)\n                    ((((uint)local_93c / (uint)local_7d4 + 1) -\n                     (uint)((uint)local_93c % (uint)local_7d4 == 0)) * (int)local_7d4);\n      }\n      psVar25 = (stat64 *)\n                sg_memalign((undefined *)((int)&psVar38->st_dev + (int)&local_918->st_dev),0,\n                            &local_8e8,0);\n      if (psVar25 == (stat64 *)0x0) {\nLAB_00013fb3:\n        pcVar15 = "unable to allocate aligned memory for scatterlist+data\n";\nLAB_00013fbc:\n        pr2serr(pcVar15);\n        local_908 = (stat64 *)sg_convert_errno(0xc);\n        goto LAB_000133fd;\n      }\n      local_908 = (stat64 *)FUN_00014a80(&DAT_00017365);\n      if (local_908 != (stat64 *)0x0) goto LAB_000133fd;\n      psVar17 = (stat64 *)local_8ec;\n      psVar22 = extraout_ECX_08;\n      psVar8 = extraout_ECX_08;\n      cVar6 = FUN_000146a0(&local_8f6,psVar17,extraout_ECX_08,extraout_ECX_08);\n      if (cVar6 == '\0') goto LAB_000133f3;\n      if (local_7e0 != local_8f6) {\n        pr2serr("Try again with --scattered=%u\n",local_8f6,extraout_EDX_05,extraout_EDX_05);\n        local_908 = (stat64 *)0xf;\n        goto LAB_000133fd;\n      }\n      if (local_918 < (stat64 *)((int)local_7d4 * (int)local_8ec)) {\n        psVar9 = (stat64 *)\n                 sg_memalign((undefined *)\n                             ((int)&psVar38->st_dev +\n                             (int)&((stat64 *)((int)local_7d4 * (int)local_8ec))->st_dev),0,\n                             &local_8e4,0);\n        if (psVar9 == (stat64 *)0x0) goto LAB_00014273;\n        psVar22 = psVar38;\n        psVar8 = psVar9;\n        memcpy(psVar9,psVar25,(size_t)psVar38);\n        psVar17 = psVar25;\n        free(local_8e8);\n        local_8e8 = local_8e4;\n        psVar25 = psVar9;\n      }\n      if ((local_93c != psVar38) && (psVar18 != (stat64 *)0x0 || local_7f8 != 0)) {\n        psVar22 = (stat64 *)&DAT_000170dd;\n        if (local_93c <= psVar38) {\n          psVar22 = (stat64 *)&DAT_00017110;\n        }\n        psVar8 = psVar38;\n        pr2serr("IF length (%u) %s \'sum_num\' bytes (%u), ",local_93c,psVar22,psVar38);\n        if (1 < (int)local_7f8) {\n          pr2serr("exiting (strict=%d)\n",local_7f8,psVar38,psVar38);\n          local_908 = (stat64 *)0xf;\n          goto LAB_000133fd;\n        }\n        pr2serr("continuing ...\n",local_93c,psVar22,psVar8);\n        psVar17 = local_93c;\n      }\n      local_908 = (stat64 *)FUN_00014a80(&DAT_0001738d,psVar17,psVar22,psVar8);\n    }" if (parenthesized_expression "(local_819 == '\0')" ( (binary_expression "local_819 == '\0'" identifier == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n      uVar7 = (uint)local_8f6;\n      uVar16 = 0;\n      uVar24 = (uVar7 + 1) * 0x20;\n      local_7e2 = (ushort)(uVar24 / (uint)local_7d4);\n      ppvVar39 = &local_8e8;\n      if (uVar24 % (uint)local_7d4 != 0) {\n        local_7e2 = local_7e2 + 1;\n      }\n      psVar38 = (stat64 *)0x0;\n      psVar25 = (stat64 *)\n                sg_memalign((int)((int)&local_8f4->st_dev + (uint)local_7e2) * (int)local_7d4,0,\n                            ppvVar39,0);\n      if (psVar25 == (stat64 *)0x0) goto LAB_000141a6;\n      local_8f6 = 0;\n      local_8ec = (undefined1  [4])0x0;\n      if (uVar7 + 1 == 1) {\n        uVar24 = (uint)local_7e2 * (int)local_7d4;\n      }\n      local_908 = (stat64 *)FUN_000156d0(psVar25,&local_8f6,local_8ec,uVar24);\n      if (local_908 != (stat64 *)0x0) goto LAB_000133fd;\n      psVar38 = (stat64 *)((int)local_7d4 * (int)local_8ec);\n      if (local_7d0 <= psVar38) {\n        if ((local_7d0 <= psVar38 && (int)psVar38 - (int)local_7d0 != 0) &&\n           (local_7d0 != (stat64 *)0x0)) {\n          psVar38 = local_7d0;\n        }\nLAB_00014208:\n        if ((psVar45 != (stat64 *)0x0) && (psVar45 != psVar38)) {\n          if (psVar18 != (stat64 *)0x0) {\n            puVar20 = &DAT_00017110;\n            if (psVar38 <= psVar45) {\n              puVar20 = &DAT_000170dd;\n            }\n            pr2serr("readable length (%u) of IF %s bytes implied by sum of\nscatter list NUMs (%u) and DLEN\n"\n                    ,psVar45,puVar20,psVar38);\n          }\n          if ((local_7f8 != 0) && ((psVar38 <= psVar45 || (1 < (int)local_7f8)))) goto LAB_000133f3;\nLAB_0001387e:\n          if (psVar45 < psVar38) {\n            psVar38 = psVar45;\n          }\n        }\n        psVar17 = (stat64 *)((uint)psVar38 / (uint)local_7d4);\n        if (((uint)psVar38 % (uint)local_7d4 != 0) &&\n           ((psVar18 != (stat64 *)0x0 || (1 < (int)local_7f8)))) {\n          psVar22 = local_7d8;\n          pr2serr("Calculated data-out length (0x%x) not a multiple of BS (%u",psVar38,local_7d8,\n                  psVar17);\n          if (local_7d8 != local_7d4) {\n            psVar38 = (stat64 *)((int)local_7d4 - (int)local_7d8);\n            psVar22 = extraout_ECX_07;\n            psVar17 = extraout_ECX_07;\n            pr2serr(" + %d(PI)",psVar38,extraout_ECX_07,extraout_ECX_07);\n          }\n          if (1 < (int)local_7f8) {\n            pr2serr(")\nexiting ...\n",psVar38,psVar22,psVar17);\n            local_908 = (stat64 *)0xf;\n            goto LAB_000133fd;\n          }\n          pr2serr(")\nzero pad and continue ...\n",psVar38,psVar22,psVar17);\n        }\n      }\n      else {\n        uVar7 = (uint)psVar18 | local_7f8;\n        if (uVar7 != 0) {\n          pr2serr("DLEN > than bytes implied by sum of scatter list NUMs (%u)\n",psVar38,uVar7,uVar7\n                 );\n          if (1 < (int)psVar18) {\n            pr2serr("  num_lbard=%u, sum_num=%u actual_bs=%u",local_8f6,local_8ec,local_7d4);\n          }\n          if (local_7f8 != 0) goto LAB_000133f3;\n          goto LAB_00014208;\n        }\n        if ((psVar45 != (stat64 *)0x0) && (psVar45 != psVar38)) goto LAB_0001387e;\n      }\n      local_908 = (stat64 *)FUN_00014a80(&DAT_00017360);\n    }" { (expression_statement "uVar7 = (uint)local_8f6;" (assignment_expression "uVar7 = (uint)local_8f6" identifier = (cast_expression "(uint)local_8f6" ( (type_descriptor "uint" type_identifier) ) identifier)) ;) (expression_statement "uVar16 = 0;" (assignment_expression "uVar16 = 0" identifier = number_literal) ;) (expression_statement "uVar24 = (uVar7 + 1) * 0x20;" (assignment_expression "uVar24 = (uVar7 + 1) * 0x20" identifier = (binary_expression "(uVar7 + 1) * 0x20" (parenthesized_expression "(uVar7 + 1)" ( (binary_expression "uVar7 + 1" identifier + number_literal) )) * number_literal)) ;) (expression_statement "local_7e2 = (ushort)(uVar24 / (uint)local_7d4);" (assignment_expression "local_7e2 = (ushort)(uVar24 / (uint)local_7d4)" identifier = (call_expression "(ushort)(uVar24 / (uint)local_7d4)" (parenthesized_expression "(ushort)" ( identifier )) (argument_list "(uVar24 / (uint)local_7d4)" ( (binary_expression "uVar24 / (uint)local_7d4" identifier / (cast_expression "(uint)local_7d4" ( (type_descriptor "uint" type_identifier) ) identifier)) )))) ;) (expression_statement "ppvVar39 = &local_8e8;" (assignment_expression "ppvVar39 = &local_8e8" identifier = (pointer_expression "&local_8e8" & identifier)) ;) (if_statement "if (uVar24 % (uint)local_7d4 != 0) {\n        local_7e2 = local_7e2 + 1;\n      }" if (parenthesized_expression "(uVar24 % (uint)local_7d4 != 0)" ( (binary_expression "uVar24 % (uint)local_7d4 != 0" (binary_expression "uVar24 % (uint)local_7d4" identifier % (cast_expression "(uint)local_7d4" ( (type_descriptor "uint" type_identifier) ) identifier)) != number_literal) )) (compound_statement "{\n        local_7e2 = local_7e2 + 1;\n      }" { (expression_statement "local_7e2 = local_7e2 + 1;" (assignment_expression "local_7e2 = local_7e2 + 1" identifier = (binary_expression "local_7e2 + 1" identifier + number_literal)) ;) })) (expression_statement "psVar38 = (stat64 *)0x0;" (assignment_expression "psVar38 = (stat64 *)0x0" identifier = (cast_expression "(stat64 *)0x0" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "psVar25 = (stat64 *)\n                sg_memalign((int)((int)&local_8f4->st_dev + (uint)local_7e2) * (int)local_7d4,0,\n                            ppvVar39,0);" (assignment_expression "psVar25 = (stat64 *)\n                sg_memalign((int)((int)&local_8f4->st_dev + (uint)local_7e2) * (int)local_7d4,0,\n                            ppvVar39,0)" identifier = (cast_expression "(stat64 *)\n                sg_memalign((int)((int)&local_8f4->st_dev + (uint)local_7e2) * (int)local_7d4,0,\n                            ppvVar39,0)" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "sg_memalign((int)((int)&local_8f4->st_dev + (uint)local_7e2) * (int)local_7d4,0,\n                            ppvVar39,0)" identifier (argument_list "((int)((int)&local_8f4->st_dev + (uint)local_7e2) * (int)local_7d4,0,\n                            ppvVar39,0)" ( (binary_expression "(int)((int)&local_8f4->st_dev + (uint)local_7e2) * (int)local_7d4" (cast_expression "(int)((int)&local_8f4->st_dev + (uint)local_7e2)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((int)&local_8f4->st_dev + (uint)local_7e2)" ( (binary_expression "(int)&local_8f4->st_dev + (uint)local_7e2" (cast_expression "(int)&local_8f4->st_dev" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&local_8f4->st_dev" & (field_expression "local_8f4->st_dev" identifier -> field_identifier))) + (cast_expression "(uint)local_7e2" ( (type_descriptor "uint" type_identifier) ) identifier)) ))) * (cast_expression "(int)local_7d4" ( (type_descriptor "int" primitive_type) ) identifier)) , number_literal , identifier , number_literal ))))) ;) (if_statement "if (psVar25 == (stat64 *)0x0) goto LAB_000141a6;" if (parenthesized_expression "(psVar25 == (stat64 *)0x0)" ( (binary_expression "psVar25 == (stat64 *)0x0" identifier == (cast_expression "(stat64 *)0x0" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_000141a6;" goto statement_identifier ;)) (expression_statement "local_8f6 = 0;" (assignment_expression "local_8f6 = 0" identifier = number_literal) ;) (expression_statement "local_8ec = (undefined1  [4])0x0;" (assignment_expression "local_8ec = (undefined1  [4])0x0" identifier = (cast_expression "(undefined1  [4])0x0" ( (type_descriptor "undefined1  [4]" type_identifier (abstract_array_declarator "[4]" [ number_literal ])) ) number_literal)) ;) (if_statement "if (uVar7 + 1 == 1) {\n        uVar24 = (uint)local_7e2 * (int)local_7d4;\n      }" if (parenthesized_expression "(uVar7 + 1 == 1)" ( (binary_expression "uVar7 + 1 == 1" (binary_expression "uVar7 + 1" identifier + number_literal) == number_literal) )) (compound_statement "{\n        uVar24 = (uint)local_7e2 * (int)local_7d4;\n      }" { (expression_statement "uVar24 = (uint)local_7e2 * (int)local_7d4;" (assignment_expression "uVar24 = (uint)local_7e2 * (int)local_7d4" identifier = (binary_expression "(uint)local_7e2 * (int)local_7d4" (cast_expression "(uint)local_7e2" ( (type_descriptor "uint" type_identifier) ) identifier) * (cast_expression "(int)local_7d4" ( (type_descriptor "int" primitive_type) ) identifier))) ;) })) (expression_statement "local_908 = (stat64 *)FUN_000156d0(psVar25,&local_8f6,local_8ec,uVar24);" (assignment_expression "local_908 = (stat64 *)FUN_000156d0(psVar25,&local_8f6,local_8ec,uVar24)" identifier = (cast_expression "(stat64 *)FUN_000156d0(psVar25,&local_8f6,local_8ec,uVar24)" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_000156d0(psVar25,&local_8f6,local_8ec,uVar24)" identifier (argument_list "(psVar25,&local_8f6,local_8ec,uVar24)" ( identifier , (pointer_expression "&local_8f6" & identifier) , identifier , identifier ))))) ;) (if_statement "if (local_908 != (stat64 *)0x0) goto LAB_000133fd;" if (parenthesized_expression "(local_908 != (stat64 *)0x0)" ( (binary_expression "local_908 != (stat64 *)0x0" identifier != (cast_expression "(stat64 *)0x0" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_000133fd;" goto statement_identifier ;)) (expression_statement "psVar38 = (stat64 *)((int)local_7d4 * (int)local_8ec);" (assignment_expression "psVar38 = (stat64 *)((int)local_7d4 * (int)local_8ec)" identifier = (cast_expression "(stat64 *)((int)local_7d4 * (int)local_8ec)" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_7d4 * (int)local_8ec)" ( (binary_expression "(int)local_7d4 * (int)local_8ec" (cast_expression "(int)local_7d4" ( (type_descriptor "int" primitive_type) ) identifier) * (cast_expression "(int)local_8ec" ( (type_descriptor "int" primitive_type) ) identifier)) )))) ;) (if_statement "if (local_7d0 <= psVar38) {\n        if ((local_7d0 <= psVar38 && (int)psVar38 - (int)local_7d0 != 0) &&\n           (local_7d0 != (stat64 *)0x0)) {\n          psVar38 = local_7d0;\n        }\nLAB_00014208:\n        if ((psVar45 != (stat64 *)0x0) && (psVar45 != psVar38)) {\n          if (psVar18 != (stat64 *)0x0) {\n            puVar20 = &DAT_00017110;\n            if (psVar38 <= psVar45) {\n              puVar20 = &DAT_000170dd;\n            }\n            pr2serr("readable length (%u) of IF %s bytes implied by sum of\nscatter list NUMs (%u) and DLEN\n"\n                    ,psVar45,puVar20,psVar38);\n          }\n          if ((local_7f8 != 0) && ((psVar38 <= psVar45 || (1 < (int)local_7f8)))) goto LAB_000133f3;\nLAB_0001387e:\n          if (psVar45 < psVar38) {\n            psVar38 = psVar45;\n          }\n        }\n        psVar17 = (stat64 *)((uint)psVar38 / (uint)local_7d4);\n        if (((uint)psVar38 % (uint)local_7d4 != 0) &&\n           ((psVar18 != (stat64 *)0x0 || (1 < (int)local_7f8)))) {\n          psVar22 = local_7d8;\n          pr2serr("Calculated data-out length (0x%x) not a multiple of BS (%u",psVar38,local_7d8,\n                  psVar17);\n          if (local_7d8 != local_7d4) {\n            psVar38 = (stat64 *)((int)local_7d4 - (int)local_7d8);\n            psVar22 = extraout_ECX_07;\n            psVar17 = extraout_ECX_07;\n            pr2serr(" + %d(PI)",psVar38,extraout_ECX_07,extraout_ECX_07);\n          }\n          if (1 < (int)local_7f8) {\n            pr2serr(")\nexiting ...\n",psVar38,psVar22,psVar17);\n            local_908 = (stat64 *)0xf;\n            goto LAB_000133fd;\n          }\n          pr2serr(")\nzero pad and continue ...\n",psVar38,psVar22,psVar17);\n        }\n      }\n      else {\n        uVar7 = (uint)psVar18 | local_7f8;\n        if (uVar7 != 0) {\n          pr2serr("DLEN > than bytes implied by sum of scatter list NUMs (%u)\n",psVar38,uVar7,uVar7\n                 );\n          if (1 < (int)psVar18) {\n            pr2serr("  num_lbard=%u, sum_num=%u actual_bs=%u",local_8f6,local_8ec,local_7d4);\n          }\n          if (local_7f8 != 0) goto LAB_000133f3;\n          goto LAB_00014208;\n        }\n        if ((psVar45 != (stat64 *)0x0) && (psVar45 != psVar38)) goto LAB_0001387e;\n      }" if (parenthesized_expression "(local_7d0 <= psVar38)" ( (binary_expression "local_7d0 <= psVar38" identifier <= identifier) )) (compound_statement "{\n        if ((local_7d0 <= psVar38 && (int)psVar38 - (int)local_7d0 != 0) &&\n           (local_7d0 != (stat64 *)0x0)) {\n          psVar38 = local_7d0;\n        }\nLAB_00014208:\n        if ((psVar45 != (stat64 *)0x0) && (psVar45 != psVar38)) {\n          if (psVar18 != (stat64 *)0x0) {\n            puVar20 = &DAT_00017110;\n            if (psVar38 <= psVar45) {\n              puVar20 = &DAT_000170dd;\n            }\n            pr2serr("readable length (%u) of IF %s bytes implied by sum of\nscatter list NUMs (%u) and DLEN\n"\n                    ,psVar45,puVar20,psVar38);\n          }\n          if ((local_7f8 != 0) && ((psVar38 <= psVar45 || (1 < (int)local_7f8)))) goto LAB_000133f3;\nLAB_0001387e:\n          if (psVar45 < psVar38) {\n            psVar38 = psVar45;\n          }\n        }\n        psVar17 = (stat64 *)((uint)psVar38 / (uint)local_7d4);\n        if (((uint)psVar38 % (uint)local_7d4 != 0) &&\n           ((psVar18 != (stat64 *)0x0 || (1 < (int)local_7f8)))) {\n          psVar22 = local_7d8;\n          pr2serr("Calculated data-out length (0x%x) not a multiple of BS (%u",psVar38,local_7d8,\n                  psVar17);\n          if (local_7d8 != local_7d4) {\n            psVar38 = (stat64 *)((int)local_7d4 - (int)local_7d8);\n            psVar22 = extraout_ECX_07;\n            psVar17 = extraout_ECX_07;\n            pr2serr(" + %d(PI)",psVar38,extraout_ECX_07,extraout_ECX_07);\n          }\n          if (1 < (int)local_7f8) {\n            pr2serr(")\nexiting ...\n",psVar38,psVar22,psVar17);\n            local_908 = (stat64 *)0xf;\n            goto LAB_000133fd;\n          }\n          pr2serr(")\nzero pad and continue ...\n",psVar38,psVar22,psVar17);\n        }\n      }" { (if_statement "if ((local_7d0 <= psVar38 && (int)psVar38 - (int)local_7d0 != 0) &&\n           (local_7d0 != (stat64 *)0x0)) {\n          psVar38 = local_7d0;\n        }" if (parenthesized_expression "((local_7d0 <= psVar38 && (int)psVar38 - (int)local_7d0 != 0) &&\n           (local_7d0 != (stat64 *)0x0))" ( (binary_expression "(local_7d0 <= psVar38 && (int)psVar38 - (int)local_7d0 != 0) &&\n           (local_7d0 != (stat64 *)0x0)" (parenthesized_expression "(local_7d0 <= psVar38 && (int)psVar38 - (int)local_7d0 != 0)" ( (binary_expression "local_7d0 <= psVar38 && (int)psVar38 - (int)local_7d0 != 0" (binary_expression "local_7d0 <= psVar38" identifier <= identifier) && (binary_expression "(int)psVar38 - (int)local_7d0 != 0" (binary_expression "(int)psVar38 - (int)local_7d0" (cast_expression "(int)psVar38" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)local_7d0" ( (type_descriptor "int" primitive_type) ) identifier)) != number_literal)) )) && (parenthesized_expression "(local_7d0 != (stat64 *)0x0)" ( (binary_expression "local_7d0 != (stat64 *)0x0" identifier != (cast_expression "(stat64 *)0x0" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ))) )) (compound_statement "{\n          psVar38 = local_7d0;\n        }" { (expression_statement "psVar38 = local_7d0;" (assignment_expression "psVar38 = local_7d0" identifier = identifier) ;) })) (labeled_statement "LAB_00014208:\n        if ((psVar45 != (stat64 *)0x0) && (psVar45 != psVar38)) {\n          if (psVar18 != (stat64 *)0x0) {\n            puVar20 = &DAT_00017110;\n            if (psVar38 <= psVar45) {\n              puVar20 = &DAT_000170dd;\n            }\n            pr2serr("readable length (%u) of IF %s bytes implied by sum of\nscatter list NUMs (%u) and DLEN\n"\n                    ,psVar45,puVar20,psVar38);\n          }\n          if ((local_7f8 != 0) && ((psVar38 <= psVar45 || (1 < (int)local_7f8)))) goto LAB_000133f3;\nLAB_0001387e:\n          if (psVar45 < psVar38) {\n            psVar38 = psVar45;\n          }\n        }" statement_identifier : (if_statement "if ((psVar45 != (stat64 *)0x0) && (psVar45 != psVar38)) {\n          if (psVar18 != (stat64 *)0x0) {\n            puVar20 = &DAT_00017110;\n            if (psVar38 <= psVar45) {\n              puVar20 = &DAT_000170dd;\n            }\n            pr2serr("readable length (%u) of IF %s bytes implied by sum of\nscatter list NUMs (%u) and DLEN\n"\n                    ,psVar45,puVar20,psVar38);\n          }\n          if ((local_7f8 != 0) && ((psVar38 <= psVar45 || (1 < (int)local_7f8)))) goto LAB_000133f3;\nLAB_0001387e:\n          if (psVar45 < psVar38) {\n            psVar38 = psVar45;\n          }\n        }" if (parenthesized_expression "((psVar45 != (stat64 *)0x0) && (psVar45 != psVar38))" ( (binary_expression "(psVar45 != (stat64 *)0x0) && (psVar45 != psVar38)" (parenthesized_expression "(psVar45 != (stat64 *)0x0)" ( (binary_expression "psVar45 != (stat64 *)0x0" identifier != (cast_expression "(stat64 *)0x0" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) && (parenthesized_expression "(psVar45 != psVar38)" ( (binary_expression "psVar45 != psVar38" identifier != identifier) ))) )) (compound_statement "{\n          if (psVar18 != (stat64 *)0x0) {\n            puVar20 = &DAT_00017110;\n            if (psVar38 <= psVar45) {\n              puVar20 = &DAT_000170dd;\n            }\n            pr2serr("readable length (%u) of IF %s bytes implied by sum of\nscatter list NUMs (%u) and DLEN\n"\n                    ,psVar45,puVar20,psVar38);\n          }\n          if ((local_7f8 != 0) && ((psVar38 <= psVar45 || (1 < (int)local_7f8)))) goto LAB_000133f3;\nLAB_0001387e:\n          if (psVar45 < psVar38) {\n            psVar38 = psVar45;\n          }\n        }" { (if_statement "if (psVar18 != (stat64 *)0x0) {\n            puVar20 = &DAT_00017110;\n            if (psVar38 <= psVar45) {\n              puVar20 = &DAT_000170dd;\n            }\n            pr2serr("readable length (%u) of IF %s bytes implied by sum of\nscatter list NUMs (%u) and DLEN\n"\n                    ,psVar45,puVar20,psVar38);\n          }" if (parenthesized_expression "(psVar18 != (stat64 *)0x0)" ( (binary_expression "psVar18 != (stat64 *)0x0" identifier != (cast_expression "(stat64 *)0x0" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n            puVar20 = &DAT_00017110;\n            if (psVar38 <= psVar45) {\n              puVar20 = &DAT_000170dd;\n            }\n            pr2serr("readable length (%u) of IF %s bytes implied by sum of\nscatter list NUMs (%u) and DLEN\n"\n                    ,psVar45,puVar20,psVar38);\n          }" { (expression_statement "puVar20 = &DAT_00017110;" (assignment_expression "puVar20 = &DAT_00017110" identifier = (pointer_expression "&DAT_00017110" & identifier)) ;) (if_statement "if (psVar38 <= psVar45) {\n              puVar20 = &DAT_000170dd;\n            }" if (parenthesized_expression "(psVar38 <= psVar45)" ( (binary_expression "psVar38 <= psVar45" identifier <= identifier) )) (compound_statement "{\n              puVar20 = &DAT_000170dd;\n            }" { (expression_statement "puVar20 = &DAT_000170dd;" (assignment_expression "puVar20 = &DAT_000170dd" identifier = (pointer_expression "&DAT_000170dd" & identifier)) ;) })) (expression_statement "pr2serr("readable length (%u) of IF %s bytes implied by sum of\nscatter list NUMs (%u) and DLEN\n"\n                    ,psVar45,puVar20,psVar38);" (call_expression "pr2serr("readable length (%u) of IF %s bytes implied by sum of\nscatter list NUMs (%u) and DLEN\n"\n                    ,psVar45,puVar20,psVar38)" identifier (argument_list "("readable length (%u) of IF %s bytes implied by sum of\nscatter list NUMs (%u) and DLEN\n"\n                    ,psVar45,puVar20,psVar38)" ( (string_literal ""readable length (%u) of IF %s bytes implied by sum of\nscatter list NUMs (%u) and DLEN\n"" " string_content escape_sequence string_content escape_sequence ") , identifier , identifier , identifier ))) ;) })) (if_statement "if ((local_7f8 != 0) && ((psVar38 <= psVar45 || (1 < (int)local_7f8)))) goto LAB_000133f3;" if (parenthesized_expression "((local_7f8 != 0) && ((psVar38 <= psVar45 || (1 < (int)local_7f8))))" ( (binary_expression "(local_7f8 != 0) && ((psVar38 <= psVar45 || (1 < (int)local_7f8)))" (parenthesized_expression "(local_7f8 != 0)" ( (binary_expression "local_7f8 != 0" identifier != number_literal) )) && (parenthesized_expression "((psVar38 <= psVar45 || (1 < (int)local_7f8)))" ( (parenthesized_expression "(psVar38 <= psVar45 || (1 < (int)local_7f8))" ( (binary_expression "psVar38 <= psVar45 || (1 < (int)local_7f8)" (binary_expression "psVar38 <= psVar45" identifier <= identifier) || (parenthesized_expression "(1 < (int)local_7f8)" ( (binary_expression "1 < (int)local_7f8" number_literal < (cast_expression "(int)local_7f8" ( (type_descriptor "int" primitive_type) ) identifier)) ))) )) ))) )) (goto_statement "goto LAB_000133f3;" goto statement_identifier ;)) (labeled_statement "LAB_0001387e:\n          if (psVar45 < psVar38) {\n            psVar38 = psVar45;\n          }" statement_identifier : (if_statement "if (psVar45 < psVar38) {\n            psVar38 = psVar45;\n          }" if (parenthesized_expression "(psVar45 < psVar38)" ( (binary_expression "psVar45 < psVar38" identifier < identifier) )) (compound_statement "{\n            psVar38 = psVar45;\n          }" { (expression_statement "psVar38 = psVar45;" (assignment_expression "psVar38 = psVar45" identifier = identifier) ;) }))) }))) (expression_statement "psVar17 = (stat64 *)((uint)psVar38 / (uint)local_7d4);" (assignment_expression "psVar17 = (stat64 *)((uint)psVar38 / (uint)local_7d4)" identifier = (cast_expression "(stat64 *)((uint)psVar38 / (uint)local_7d4)" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((uint)psVar38 / (uint)local_7d4)" ( (binary_expression "(uint)psVar38 / (uint)local_7d4" (cast_expression "(uint)psVar38" ( (type_descriptor "uint" type_identifier) ) identifier) / (cast_expression "(uint)local_7d4" ( (type_descriptor "uint" type_identifier) ) identifier)) )))) ;) (if_statement "if (((uint)psVar38 % (uint)local_7d4 != 0) &&\n           ((psVar18 != (stat64 *)0x0 || (1 < (int)local_7f8)))) {\n          psVar22 = local_7d8;\n          pr2serr("Calculated data-out length (0x%x) not a multiple of BS (%u",psVar38,local_7d8,\n                  psVar17);\n          if (local_7d8 != local_7d4) {\n            psVar38 = (stat64 *)((int)local_7d4 - (int)local_7d8);\n            psVar22 = extraout_ECX_07;\n            psVar17 = extraout_ECX_07;\n            pr2serr(" + %d(PI)",psVar38,extraout_ECX_07,extraout_ECX_07);\n          }\n          if (1 < (int)local_7f8) {\n            pr2serr(")\nexiting ...\n",psVar38,psVar22,psVar17);\n            local_908 = (stat64 *)0xf;\n            goto LAB_000133fd;\n          }\n          pr2serr(")\nzero pad and continue ...\n",psVar38,psVar22,psVar17);\n        }" if (parenthesized_expression "(((uint)psVar38 % (uint)local_7d4 != 0) &&\n           ((psVar18 != (stat64 *)0x0 || (1 < (int)local_7f8))))" ( (binary_expression "((uint)psVar38 % (uint)local_7d4 != 0) &&\n           ((psVar18 != (stat64 *)0x0 || (1 < (int)local_7f8)))" (parenthesized_expression "((uint)psVar38 % (uint)local_7d4 != 0)" ( (binary_expression "(uint)psVar38 % (uint)local_7d4 != 0" (binary_expression "(uint)psVar38 % (uint)local_7d4" (cast_expression "(uint)psVar38" ( (type_descriptor "uint" type_identifier) ) identifier) % (cast_expression "(uint)local_7d4" ( (type_descriptor "uint" type_identifier) ) identifier)) != number_literal) )) && (parenthesized_expression "((psVar18 != (stat64 *)0x0 || (1 < (int)local_7f8)))" ( (parenthesized_expression "(psVar18 != (stat64 *)0x0 || (1 < (int)local_7f8))" ( (binary_expression "psVar18 != (stat64 *)0x0 || (1 < (int)local_7f8)" (binary_expression "psVar18 != (stat64 *)0x0" identifier != (cast_expression "(stat64 *)0x0" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) || (parenthesized_expression "(1 < (int)local_7f8)" ( (binary_expression "1 < (int)local_7f8" number_literal < (cast_expression "(int)local_7f8" ( (type_descriptor "int" primitive_type) ) identifier)) ))) )) ))) )) (compound_statement "{\n          psVar22 = local_7d8;\n          pr2serr("Calculated data-out length (0x%x) not a multiple of BS (%u",psVar38,local_7d8,\n                  psVar17);\n          if (local_7d8 != local_7d4) {\n            psVar38 = (stat64 *)((int)local_7d4 - (int)local_7d8);\n            psVar22 = extraout_ECX_07;\n            psVar17 = extraout_ECX_07;\n            pr2serr(" + %d(PI)",psVar38,extraout_ECX_07,extraout_ECX_07);\n          }\n          if (1 < (int)local_7f8) {\n            pr2serr(")\nexiting ...\n",psVar38,psVar22,psVar17);\n            local_908 = (stat64 *)0xf;\n            goto LAB_000133fd;\n          }\n          pr2serr(")\nzero pad and continue ...\n",psVar38,psVar22,psVar17);\n        }" { (expression_statement "psVar22 = local_7d8;" (assignment_expression "psVar22 = local_7d8" identifier = identifier) ;) (expression_statement "pr2serr("Calculated data-out length (0x%x) not a multiple of BS (%u",psVar38,local_7d8,\n                  psVar17);" (call_expression "pr2serr("Calculated data-out length (0x%x) not a multiple of BS (%u",psVar38,local_7d8,\n                  psVar17)" identifier (argument_list "("Calculated data-out length (0x%x) not a multiple of BS (%u",psVar38,local_7d8,\n                  psVar17)" ( (string_literal ""Calculated data-out length (0x%x) not a multiple of BS (%u"" " string_content ") , identifier , identifier , identifier ))) ;) (if_statement "if (local_7d8 != local_7d4) {\n            psVar38 = (stat64 *)((int)local_7d4 - (int)local_7d8);\n            psVar22 = extraout_ECX_07;\n            psVar17 = extraout_ECX_07;\n            pr2serr(" + %d(PI)",psVar38,extraout_ECX_07,extraout_ECX_07);\n          }" if (parenthesized_expression "(local_7d8 != local_7d4)" ( (binary_expression "local_7d8 != local_7d4" identifier != identifier) )) (compound_statement "{\n            psVar38 = (stat64 *)((int)local_7d4 - (int)local_7d8);\n            psVar22 = extraout_ECX_07;\n            psVar17 = extraout_ECX_07;\n            pr2serr(" + %d(PI)",psVar38,extraout_ECX_07,extraout_ECX_07);\n          }" { (expression_statement "psVar38 = (stat64 *)((int)local_7d4 - (int)local_7d8);" (assignment_expression "psVar38 = (stat64 *)((int)local_7d4 - (int)local_7d8)" identifier = (cast_expression "(stat64 *)((int)local_7d4 - (int)local_7d8)" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_7d4 - (int)local_7d8)" ( (binary_expression "(int)local_7d4 - (int)local_7d8" (cast_expression "(int)local_7d4" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)local_7d8" ( (type_descriptor "int" primitive_type) ) identifier)) )))) ;) (expression_statement "psVar22 = extraout_ECX_07;" (assignment_expression "psVar22 = extraout_ECX_07" identifier = identifier) ;) (expression_statement "psVar17 = extraout_ECX_07;" (assignment_expression "psVar17 = extraout_ECX_07" identifier = identifier) ;) (expression_statement "pr2serr(" + %d(PI)",psVar38,extraout_ECX_07,extraout_ECX_07);" (call_expression "pr2serr(" + %d(PI)",psVar38,extraout_ECX_07,extraout_ECX_07)" identifier (argument_list "(" + %d(PI)",psVar38,extraout_ECX_07,extraout_ECX_07)" ( (string_literal "" + %d(PI)"" " string_content ") , identifier , identifier , identifier ))) ;) })) (if_statement "if (1 < (int)local_7f8) {\n            pr2serr(")\nexiting ...\n",psVar38,psVar22,psVar17);\n            local_908 = (stat64 *)0xf;\n            goto LAB_000133fd;\n          }" if (parenthesized_expression "(1 < (int)local_7f8)" ( (binary_expression "1 < (int)local_7f8" number_literal < (cast_expression "(int)local_7f8" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n            pr2serr(")\nexiting ...\n",psVar38,psVar22,psVar17);\n            local_908 = (stat64 *)0xf;\n            goto LAB_000133fd;\n          }" { (expression_statement "pr2serr(")\nexiting ...\n",psVar38,psVar22,psVar17);" (call_expression "pr2serr(")\nexiting ...\n",psVar38,psVar22,psVar17)" identifier (argument_list "(")\nexiting ...\n",psVar38,psVar22,psVar17)" ( (string_literal "")\nexiting ...\n"" " string_content escape_sequence string_content escape_sequence ") , identifier , identifier , identifier ))) ;) (expression_statement "local_908 = (stat64 *)0xf;" (assignment_expression "local_908 = (stat64 *)0xf" identifier = (cast_expression "(stat64 *)0xf" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (goto_statement "goto LAB_000133fd;" goto statement_identifier ;) })) (expression_statement "pr2serr(")\nzero pad and continue ...\n",psVar38,psVar22,psVar17);" (call_expression "pr2serr(")\nzero pad and continue ...\n",psVar38,psVar22,psVar17)" identifier (argument_list "(")\nzero pad and continue ...\n",psVar38,psVar22,psVar17)" ( (string_literal "")\nzero pad and continue ...\n"" " string_content escape_sequence string_content escape_sequence ") , identifier , identifier , identifier ))) ;) })) }) (else_clause "else {\n        uVar7 = (uint)psVar18 | local_7f8;\n        if (uVar7 != 0) {\n          pr2serr("DLEN > than bytes implied by sum of scatter list NUMs (%u)\n",psVar38,uVar7,uVar7\n                 );\n          if (1 < (int)psVar18) {\n            pr2serr("  num_lbard=%u, sum_num=%u actual_bs=%u",local_8f6,local_8ec,local_7d4);\n          }\n          if (local_7f8 != 0) goto LAB_000133f3;\n          goto LAB_00014208;\n        }\n        if ((psVar45 != (stat64 *)0x0) && (psVar45 != psVar38)) goto LAB_0001387e;\n      }" else (compound_statement "{\n        uVar7 = (uint)psVar18 | local_7f8;\n        if (uVar7 != 0) {\n          pr2serr("DLEN > than bytes implied by sum of scatter list NUMs (%u)\n",psVar38,uVar7,uVar7\n                 );\n          if (1 < (int)psVar18) {\n            pr2serr("  num_lbard=%u, sum_num=%u actual_bs=%u",local_8f6,local_8ec,local_7d4);\n          }\n          if (local_7f8 != 0) goto LAB_000133f3;\n          goto LAB_00014208;\n        }\n        if ((psVar45 != (stat64 *)0x0) && (psVar45 != psVar38)) goto LAB_0001387e;\n      }" { (expression_statement "uVar7 = (uint)psVar18 | local_7f8;" (assignment_expression "uVar7 = (uint)psVar18 | local_7f8" identifier = (binary_expression "(uint)psVar18 | local_7f8" (cast_expression "(uint)psVar18" ( (type_descriptor "uint" type_identifier) ) identifier) | identifier)) ;) (if_statement "if (uVar7 != 0) {\n          pr2serr("DLEN > than bytes implied by sum of scatter list NUMs (%u)\n",psVar38,uVar7,uVar7\n                 );\n          if (1 < (int)psVar18) {\n            pr2serr("  num_lbard=%u, sum_num=%u actual_bs=%u",local_8f6,local_8ec,local_7d4);\n          }\n          if (local_7f8 != 0) goto LAB_000133f3;\n          goto LAB_00014208;\n        }" if (parenthesized_expression "(uVar7 != 0)" ( (binary_expression "uVar7 != 0" identifier != number_literal) )) (compound_statement "{\n          pr2serr("DLEN > than bytes implied by sum of scatter list NUMs (%u)\n",psVar38,uVar7,uVar7\n                 );\n          if (1 < (int)psVar18) {\n            pr2serr("  num_lbard=%u, sum_num=%u actual_bs=%u",local_8f6,local_8ec,local_7d4);\n          }\n          if (local_7f8 != 0) goto LAB_000133f3;\n          goto LAB_00014208;\n        }" { (expression_statement "pr2serr("DLEN > than bytes implied by sum of scatter list NUMs (%u)\n",psVar38,uVar7,uVar7\n                 );" (call_expression "pr2serr("DLEN > than bytes implied by sum of scatter list NUMs (%u)\n",psVar38,uVar7,uVar7\n                 )" identifier (argument_list "("DLEN > than bytes implied by sum of scatter list NUMs (%u)\n",psVar38,uVar7,uVar7\n                 )" ( (string_literal ""DLEN > than bytes implied by sum of scatter list NUMs (%u)\n"" " string_content escape_sequence ") , identifier , identifier , identifier ))) ;) (if_statement "if (1 < (int)psVar18) {\n            pr2serr("  num_lbard=%u, sum_num=%u actual_bs=%u",local_8f6,local_8ec,local_7d4);\n          }" if (parenthesized_expression "(1 < (int)psVar18)" ( (binary_expression "1 < (int)psVar18" number_literal < (cast_expression "(int)psVar18" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n            pr2serr("  num_lbard=%u, sum_num=%u actual_bs=%u",local_8f6,local_8ec,local_7d4);\n          }" { (expression_statement "pr2serr("  num_lbard=%u, sum_num=%u actual_bs=%u",local_8f6,local_8ec,local_7d4);" (call_expression "pr2serr("  num_lbard=%u, sum_num=%u actual_bs=%u",local_8f6,local_8ec,local_7d4)" identifier (argument_list "("  num_lbard=%u, sum_num=%u actual_bs=%u",local_8f6,local_8ec,local_7d4)" ( (string_literal ""  num_lbard=%u, sum_num=%u actual_bs=%u"" " string_content ") , identifier , identifier , identifier ))) ;) })) (if_statement "if (local_7f8 != 0) goto LAB_000133f3;" if (parenthesized_expression "(local_7f8 != 0)" ( (binary_expression "local_7f8 != 0" identifier != number_literal) )) (goto_statement "goto LAB_000133f3;" goto statement_identifier ;)) (goto_statement "goto LAB_00014208;" goto statement_identifier ;) })) (if_statement "if ((psVar45 != (stat64 *)0x0) && (psVar45 != psVar38)) goto LAB_0001387e;" if (parenthesized_expression "((psVar45 != (stat64 *)0x0) && (psVar45 != psVar38))" ( (binary_expression "(psVar45 != (stat64 *)0x0) && (psVar45 != psVar38)" (parenthesized_expression "(psVar45 != (stat64 *)0x0)" ( (binary_expression "psVar45 != (stat64 *)0x0" identifier != (cast_expression "(stat64 *)0x0" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) && (parenthesized_expression "(psVar45 != psVar38)" ( (binary_expression "psVar45 != psVar38" identifier != identifier) ))) )) (goto_statement "goto LAB_0001387e;" goto statement_identifier ;)) }))) (expression_statement "local_908 = (stat64 *)FUN_00014a80(&DAT_00017360);" (assignment_expression "local_908 = (stat64 *)FUN_00014a80(&DAT_00017360)" identifier = (cast_expression "(stat64 *)FUN_00014a80(&DAT_00017360)" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_00014a80(&DAT_00017360)" identifier (argument_list "(&DAT_00017360)" ( (pointer_expression "&DAT_00017360" & identifier) ))))) ;) }) (else_clause "else {\nLAB_00013dcd:\n      psVar38 = local_7d4;\n      if (local_7e0 != 0) {\n        psVar38 = (stat64 *)((local_7e0 + 1) * 0x20);\n        if (local_908 < psVar38) {\n          pr2serr("SF not long enough (%u bytes) to provide RD (%u) %ss\n",local_908,psVar38,\n                  "LBA range descriptor");\n          local_908 = (stat64 *)0xf;\n          goto LAB_000133fd;\n        }\n        psVar38 = (stat64 *)\n                  ((((uint)psVar38 / (uint)local_7d4 + 1) -\n                   (uint)((uint)psVar38 % (uint)local_7d4 == 0)) * (int)local_7d4);\n      }\n      local_918 = local_7d4;\n      if (local_93c != (stat64 *)0x0) {\n        local_918 = (stat64 *)\n                    ((((uint)local_93c / (uint)local_7d4 + 1) -\n                     (uint)((uint)local_93c % (uint)local_7d4 == 0)) * (int)local_7d4);\n      }\n      psVar25 = (stat64 *)\n                sg_memalign((undefined *)((int)&psVar38->st_dev + (int)&local_918->st_dev),0,\n                            &local_8e8,0);\n      if (psVar25 == (stat64 *)0x0) {\nLAB_00013fb3:\n        pcVar15 = "unable to allocate aligned memory for scatterlist+data\n";\nLAB_00013fbc:\n        pr2serr(pcVar15);\n        local_908 = (stat64 *)sg_convert_errno(0xc);\n        goto LAB_000133fd;\n      }\n      local_908 = (stat64 *)FUN_00014a80(&DAT_00017365);\n      if (local_908 != (stat64 *)0x0) goto LAB_000133fd;\n      psVar17 = (stat64 *)local_8ec;\n      psVar22 = extraout_ECX_08;\n      psVar8 = extraout_ECX_08;\n      cVar6 = FUN_000146a0(&local_8f6,psVar17,extraout_ECX_08,extraout_ECX_08);\n      if (cVar6 == '\0') goto LAB_000133f3;\n      if (local_7e0 != local_8f6) {\n        pr2serr("Try again with --scattered=%u\n",local_8f6,extraout_EDX_05,extraout_EDX_05);\n        local_908 = (stat64 *)0xf;\n        goto LAB_000133fd;\n      }\n      if (local_918 < (stat64 *)((int)local_7d4 * (int)local_8ec)) {\n        psVar9 = (stat64 *)\n                 sg_memalign((undefined *)\n                             ((int)&psVar38->st_dev +\n                             (int)&((stat64 *)((int)local_7d4 * (int)local_8ec))->st_dev),0,\n                             &local_8e4,0);\n        if (psVar9 == (stat64 *)0x0) goto LAB_00014273;\n        psVar22 = psVar38;\n        psVar8 = psVar9;\n        memcpy(psVar9,psVar25,(size_t)psVar38);\n        psVar17 = psVar25;\n        free(local_8e8);\n        local_8e8 = local_8e4;\n        psVar25 = psVar9;\n      }\n      if ((local_93c != psVar38) && (psVar18 != (stat64 *)0x0 || local_7f8 != 0)) {\n        psVar22 = (stat64 *)&DAT_000170dd;\n        if (local_93c <= psVar38) {\n          psVar22 = (stat64 *)&DAT_00017110;\n        }\n        psVar8 = psVar38;\n        pr2serr("IF length (%u) %s \'sum_num\' bytes (%u), ",local_93c,psVar22,psVar38);\n        if (1 < (int)local_7f8) {\n          pr2serr("exiting (strict=%d)\n",local_7f8,psVar38,psVar38);\n          local_908 = (stat64 *)0xf;\n          goto LAB_000133fd;\n        }\n        pr2serr("continuing ...\n",local_93c,psVar22,psVar8);\n        psVar17 = local_93c;\n      }\n      local_908 = (stat64 *)FUN_00014a80(&DAT_0001738d,psVar17,psVar22,psVar8);\n    }" else (compound_statement "{\nLAB_00013dcd:\n      psVar38 = local_7d4;\n      if (local_7e0 != 0) {\n        psVar38 = (stat64 *)((local_7e0 + 1) * 0x20);\n        if (local_908 < psVar38) {\n          pr2serr("SF not long enough (%u bytes) to provide RD (%u) %ss\n",local_908,psVar38,\n                  "LBA range descriptor");\n          local_908 = (stat64 *)0xf;\n          goto LAB_000133fd;\n        }\n        psVar38 = (stat64 *)\n                  ((((uint)psVar38 / (uint)local_7d4 + 1) -\n                   (uint)((uint)psVar38 % (uint)local_7d4 == 0)) * (int)local_7d4);\n      }\n      local_918 = local_7d4;\n      if (local_93c != (stat64 *)0x0) {\n        local_918 = (stat64 *)\n                    ((((uint)local_93c / (uint)local_7d4 + 1) -\n                     (uint)((uint)local_93c % (uint)local_7d4 == 0)) * (int)local_7d4);\n      }\n      psVar25 = (stat64 *)\n                sg_memalign((undefined *)((int)&psVar38->st_dev + (int)&local_918->st_dev),0,\n                            &local_8e8,0);\n      if (psVar25 == (stat64 *)0x0) {\nLAB_00013fb3:\n        pcVar15 = "unable to allocate aligned memory for scatterlist+data\n";\nLAB_00013fbc:\n        pr2serr(pcVar15);\n        local_908 = (stat64 *)sg_convert_errno(0xc);\n        goto LAB_000133fd;\n      }\n      local_908 = (stat64 *)FUN_00014a80(&DAT_00017365);\n      if (local_908 != (stat64 *)0x0) goto LAB_000133fd;\n      psVar17 = (stat64 *)local_8ec;\n      psVar22 = extraout_ECX_08;\n      psVar8 = extraout_ECX_08;\n      cVar6 = FUN_000146a0(&local_8f6,psVar17,extraout_ECX_08,extraout_ECX_08);\n      if (cVar6 == '\0') goto LAB_000133f3;\n      if (local_7e0 != local_8f6) {\n        pr2serr("Try again with --scattered=%u\n",local_8f6,extraout_EDX_05,extraout_EDX_05);\n        local_908 = (stat64 *)0xf;\n        goto LAB_000133fd;\n      }\n      if (local_918 < (stat64 *)((int)local_7d4 * (int)local_8ec)) {\n        psVar9 = (stat64 *)\n                 sg_memalign((undefined *)\n                             ((int)&psVar38->st_dev +\n                             (int)&((stat64 *)((int)local_7d4 * (int)local_8ec))->st_dev),0,\n                             &local_8e4,0);\n        if (psVar9 == (stat64 *)0x0) goto LAB_00014273;\n        psVar22 = psVar38;\n        psVar8 = psVar9;\n        memcpy(psVar9,psVar25,(size_t)psVar38);\n        psVar17 = psVar25;\n        free(local_8e8);\n        local_8e8 = local_8e4;\n        psVar25 = psVar9;\n      }\n      if ((local_93c != psVar38) && (psVar18 != (stat64 *)0x0 || local_7f8 != 0)) {\n        psVar22 = (stat64 *)&DAT_000170dd;\n        if (local_93c <= psVar38) {\n          psVar22 = (stat64 *)&DAT_00017110;\n        }\n        psVar8 = psVar38;\n        pr2serr("IF length (%u) %s \'sum_num\' bytes (%u), ",local_93c,psVar22,psVar38);\n        if (1 < (int)local_7f8) {\n          pr2serr("exiting (strict=%d)\n",local_7f8,psVar38,psVar38);\n          local_908 = (stat64 *)0xf;\n          goto LAB_000133fd;\n        }\n        pr2serr("continuing ...\n",local_93c,psVar22,psVar8);\n        psVar17 = local_93c;\n      }\n      local_908 = (stat64 *)FUN_00014a80(&DAT_0001738d,psVar17,psVar22,psVar8);\n    }" { (labeled_statement "LAB_00013dcd:\n      psVar38 = local_7d4;" statement_identifier : (expression_statement "psVar38 = local_7d4;" (assignment_expression "psVar38 = local_7d4" identifier = identifier) ;)) (if_statement "if (local_7e0 != 0) {\n        psVar38 = (stat64 *)((local_7e0 + 1) * 0x20);\n        if (local_908 < psVar38) {\n          pr2serr("SF not long enough (%u bytes) to provide RD (%u) %ss\n",local_908,psVar38,\n                  "LBA range descriptor");\n          local_908 = (stat64 *)0xf;\n          goto LAB_000133fd;\n        }\n        psVar38 = (stat64 *)\n                  ((((uint)psVar38 / (uint)local_7d4 + 1) -\n                   (uint)((uint)psVar38 % (uint)local_7d4 == 0)) * (int)local_7d4);\n      }" if (parenthesized_expression "(local_7e0 != 0)" ( (binary_expression "local_7e0 != 0" identifier != number_literal) )) (compound_statement "{\n        psVar38 = (stat64 *)((local_7e0 + 1) * 0x20);\n        if (local_908 < psVar38) {\n          pr2serr("SF not long enough (%u bytes) to provide RD (%u) %ss\n",local_908,psVar38,\n                  "LBA range descriptor");\n          local_908 = (stat64 *)0xf;\n          goto LAB_000133fd;\n        }\n        psVar38 = (stat64 *)\n                  ((((uint)psVar38 / (uint)local_7d4 + 1) -\n                   (uint)((uint)psVar38 % (uint)local_7d4 == 0)) * (int)local_7d4);\n      }" { (expression_statement "psVar38 = (stat64 *)((local_7e0 + 1) * 0x20);" (assignment_expression "psVar38 = (stat64 *)((local_7e0 + 1) * 0x20)" identifier = (cast_expression "(stat64 *)((local_7e0 + 1) * 0x20)" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((local_7e0 + 1) * 0x20)" ( (binary_expression "(local_7e0 + 1) * 0x20" (parenthesized_expression "(local_7e0 + 1)" ( (binary_expression "local_7e0 + 1" identifier + number_literal) )) * number_literal) )))) ;) (if_statement "if (local_908 < psVar38) {\n          pr2serr("SF not long enough (%u bytes) to provide RD (%u) %ss\n",local_908,psVar38,\n                  "LBA range descriptor");\n          local_908 = (stat64 *)0xf;\n          goto LAB_000133fd;\n        }" if (parenthesized_expression "(local_908 < psVar38)" ( (binary_expression "local_908 < psVar38" identifier < identifier) )) (compound_statement "{\n          pr2serr("SF not long enough (%u bytes) to provide RD (%u) %ss\n",local_908,psVar38,\n                  "LBA range descriptor");\n          local_908 = (stat64 *)0xf;\n          goto LAB_000133fd;\n        }" { (expression_statement "pr2serr("SF not long enough (%u bytes) to provide RD (%u) %ss\n",local_908,psVar38,\n                  "LBA range descriptor");" (call_expression "pr2serr("SF not long enough (%u bytes) to provide RD (%u) %ss\n",local_908,psVar38,\n                  "LBA range descriptor")" identifier (argument_list "("SF not long enough (%u bytes) to provide RD (%u) %ss\n",local_908,psVar38,\n                  "LBA range descriptor")" ( (string_literal ""SF not long enough (%u bytes) to provide RD (%u) %ss\n"" " string_content escape_sequence ") , identifier , identifier , (string_literal ""LBA range descriptor"" " string_content ") ))) ;) (expression_statement "local_908 = (stat64 *)0xf;" (assignment_expression "local_908 = (stat64 *)0xf" identifier = (cast_expression "(stat64 *)0xf" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (goto_statement "goto LAB_000133fd;" goto statement_identifier ;) })) (expression_statement "psVar38 = (stat64 *)\n                  ((((uint)psVar38 / (uint)local_7d4 + 1) -\n                   (uint)((uint)psVar38 % (uint)local_7d4 == 0)) * (int)local_7d4);" (assignment_expression "psVar38 = (stat64 *)\n                  ((((uint)psVar38 / (uint)local_7d4 + 1) -\n                   (uint)((uint)psVar38 % (uint)local_7d4 == 0)) * (int)local_7d4)" identifier = (cast_expression "(stat64 *)\n                  ((((uint)psVar38 / (uint)local_7d4 + 1) -\n                   (uint)((uint)psVar38 % (uint)local_7d4 == 0)) * (int)local_7d4)" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((((uint)psVar38 / (uint)local_7d4 + 1) -\n                   (uint)((uint)psVar38 % (uint)local_7d4 == 0)) * (int)local_7d4)" ( (binary_expression "(((uint)psVar38 / (uint)local_7d4 + 1) -\n                   (uint)((uint)psVar38 % (uint)local_7d4 == 0)) * (int)local_7d4" (parenthesized_expression "(((uint)psVar38 / (uint)local_7d4 + 1) -\n                   (uint)((uint)psVar38 % (uint)local_7d4 == 0))" ( (binary_expression "((uint)psVar38 / (uint)local_7d4 + 1) -\n                   (uint)((uint)psVar38 % (uint)local_7d4 == 0)" (parenthesized_expression "((uint)psVar38 / (uint)local_7d4 + 1)" ( (binary_expression "(uint)psVar38 / (uint)local_7d4 + 1" (binary_expression "(uint)psVar38 / (uint)local_7d4" (cast_expression "(uint)psVar38" ( (type_descriptor "uint" type_identifier) ) identifier) / (cast_expression "(uint)local_7d4" ( (type_descriptor "uint" type_identifier) ) identifier)) + number_literal) )) - (call_expression "(uint)((uint)psVar38 % (uint)local_7d4 == 0)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((uint)psVar38 % (uint)local_7d4 == 0)" ( (binary_expression "(uint)psVar38 % (uint)local_7d4 == 0" (binary_expression "(uint)psVar38 % (uint)local_7d4" (cast_expression "(uint)psVar38" ( (type_descriptor "uint" type_identifier) ) identifier) % (cast_expression "(uint)local_7d4" ( (type_descriptor "uint" type_identifier) ) identifier)) == number_literal) )))) )) * (cast_expression "(int)local_7d4" ( (type_descriptor "int" primitive_type) ) identifier)) )))) ;) })) (expression_statement "local_918 = local_7d4;" (assignment_expression "local_918 = local_7d4" identifier = identifier) ;) (if_statement "if (local_93c != (stat64 *)0x0) {\n        local_918 = (stat64 *)\n                    ((((uint)local_93c / (uint)local_7d4 + 1) -\n                     (uint)((uint)local_93c % (uint)local_7d4 == 0)) * (int)local_7d4);\n      }" if (parenthesized_expression "(local_93c != (stat64 *)0x0)" ( (binary_expression "local_93c != (stat64 *)0x0" identifier != (cast_expression "(stat64 *)0x0" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        local_918 = (stat64 *)\n                    ((((uint)local_93c / (uint)local_7d4 + 1) -\n                     (uint)((uint)local_93c % (uint)local_7d4 == 0)) * (int)local_7d4);\n      }" { (expression_statement "local_918 = (stat64 *)\n                    ((((uint)local_93c / (uint)local_7d4 + 1) -\n                     (uint)((uint)local_93c % (uint)local_7d4 == 0)) * (int)local_7d4);" (assignment_expression "local_918 = (stat64 *)\n                    ((((uint)local_93c / (uint)local_7d4 + 1) -\n                     (uint)((uint)local_93c % (uint)local_7d4 == 0)) * (int)local_7d4)" identifier = (cast_expression "(stat64 *)\n                    ((((uint)local_93c / (uint)local_7d4 + 1) -\n                     (uint)((uint)local_93c % (uint)local_7d4 == 0)) * (int)local_7d4)" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((((uint)local_93c / (uint)local_7d4 + 1) -\n                     (uint)((uint)local_93c % (uint)local_7d4 == 0)) * (int)local_7d4)" ( (binary_expression "(((uint)local_93c / (uint)local_7d4 + 1) -\n                     (uint)((uint)local_93c % (uint)local_7d4 == 0)) * (int)local_7d4" (parenthesized_expression "(((uint)local_93c / (uint)local_7d4 + 1) -\n                     (uint)((uint)local_93c % (uint)local_7d4 == 0))" ( (binary_expression "((uint)local_93c / (uint)local_7d4 + 1) -\n                     (uint)((uint)local_93c % (uint)local_7d4 == 0)" (parenthesized_expression "((uint)local_93c / (uint)local_7d4 + 1)" ( (binary_expression "(uint)local_93c / (uint)local_7d4 + 1" (binary_expression "(uint)local_93c / (uint)local_7d4" (cast_expression "(uint)local_93c" ( (type_descriptor "uint" type_identifier) ) identifier) / (cast_expression "(uint)local_7d4" ( (type_descriptor "uint" type_identifier) ) identifier)) + number_literal) )) - (call_expression "(uint)((uint)local_93c % (uint)local_7d4 == 0)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((uint)local_93c % (uint)local_7d4 == 0)" ( (binary_expression "(uint)local_93c % (uint)local_7d4 == 0" (binary_expression "(uint)local_93c % (uint)local_7d4" (cast_expression "(uint)local_93c" ( (type_descriptor "uint" type_identifier) ) identifier) % (cast_expression "(uint)local_7d4" ( (type_descriptor "uint" type_identifier) ) identifier)) == number_literal) )))) )) * (cast_expression "(int)local_7d4" ( (type_descriptor "int" primitive_type) ) identifier)) )))) ;) })) (expression_statement "psVar25 = (stat64 *)\n                sg_memalign((undefined *)((int)&psVar38->st_dev + (int)&local_918->st_dev),0,\n                            &local_8e8,0);" (assignment_expression "psVar25 = (stat64 *)\n                sg_memalign((undefined *)((int)&psVar38->st_dev + (int)&local_918->st_dev),0,\n                            &local_8e8,0)" identifier = (cast_expression "(stat64 *)\n                sg_memalign((undefined *)((int)&psVar38->st_dev + (int)&local_918->st_dev),0,\n                            &local_8e8,0)" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "sg_memalign((undefined *)((int)&psVar38->st_dev + (int)&local_918->st_dev),0,\n                            &local_8e8,0)" identifier (argument_list "((undefined *)((int)&psVar38->st_dev + (int)&local_918->st_dev),0,\n                            &local_8e8,0)" ( (cast_expression "(undefined *)((int)&psVar38->st_dev + (int)&local_918->st_dev)" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&psVar38->st_dev + (int)&local_918->st_dev)" ( (binary_expression "(int)&psVar38->st_dev + (int)&local_918->st_dev" (cast_expression "(int)&psVar38->st_dev" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&psVar38->st_dev" & (field_expression "psVar38->st_dev" identifier -> field_identifier))) + (cast_expression "(int)&local_918->st_dev" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&local_918->st_dev" & (field_expression "local_918->st_dev" identifier -> field_identifier)))) ))) , number_literal , (pointer_expression "&local_8e8" & identifier) , number_literal ))))) ;) (if_statement "if (psVar25 == (stat64 *)0x0) {\nLAB_00013fb3:\n        pcVar15 = "unable to allocate aligned memory for scatterlist+data\n";\nLAB_00013fbc:\n        pr2serr(pcVar15);\n        local_908 = (stat64 *)sg_convert_errno(0xc);\n        goto LAB_000133fd;\n      }" if (parenthesized_expression "(psVar25 == (stat64 *)0x0)" ( (binary_expression "psVar25 == (stat64 *)0x0" identifier == (cast_expression "(stat64 *)0x0" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\nLAB_00013fb3:\n        pcVar15 = "unable to allocate aligned memory for scatterlist+data\n";\nLAB_00013fbc:\n        pr2serr(pcVar15);\n        local_908 = (stat64 *)sg_convert_errno(0xc);\n        goto LAB_000133fd;\n      }" { (labeled_statement "LAB_00013fb3:\n        pcVar15 = "unable to allocate aligned memory for scatterlist+data\n";" statement_identifier : (expression_statement "pcVar15 = "unable to allocate aligned memory for scatterlist+data\n";" (assignment_expression "pcVar15 = "unable to allocate aligned memory for scatterlist+data\n"" identifier = (string_literal ""unable to allocate aligned memory for scatterlist+data\n"" " string_content escape_sequence ")) ;)) (labeled_statement "LAB_00013fbc:\n        pr2serr(pcVar15);" statement_identifier : (expression_statement "pr2serr(pcVar15);" (call_expression "pr2serr(pcVar15)" identifier (argument_list "(pcVar15)" ( identifier ))) ;)) (expression_statement "local_908 = (stat64 *)sg_convert_errno(0xc);" (assignment_expression "local_908 = (stat64 *)sg_convert_errno(0xc)" identifier = (cast_expression "(stat64 *)sg_convert_errno(0xc)" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "sg_convert_errno(0xc)" identifier (argument_list "(0xc)" ( number_literal ))))) ;) (goto_statement "goto LAB_000133fd;" goto statement_identifier ;) })) (expression_statement "local_908 = (stat64 *)FUN_00014a80(&DAT_00017365);" (assignment_expression "local_908 = (stat64 *)FUN_00014a80(&DAT_00017365)" identifier = (cast_expression "(stat64 *)FUN_00014a80(&DAT_00017365)" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_00014a80(&DAT_00017365)" identifier (argument_list "(&DAT_00017365)" ( (pointer_expression "&DAT_00017365" & identifier) ))))) ;) (if_statement "if (local_908 != (stat64 *)0x0) goto LAB_000133fd;" if (parenthesized_expression "(local_908 != (stat64 *)0x0)" ( (binary_expression "local_908 != (stat64 *)0x0" identifier != (cast_expression "(stat64 *)0x0" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_000133fd;" goto statement_identifier ;)) (expression_statement "psVar17 = (stat64 *)local_8ec;" (assignment_expression "psVar17 = (stat64 *)local_8ec" identifier = (cast_expression "(stat64 *)local_8ec" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "psVar22 = extraout_ECX_08;" (assignment_expression "psVar22 = extraout_ECX_08" identifier = identifier) ;) (expression_statement "psVar8 = extraout_ECX_08;" (assignment_expression "psVar8 = extraout_ECX_08" identifier = identifier) ;) (expression_statement "cVar6 = FUN_000146a0(&local_8f6,psVar17,extraout_ECX_08,extraout_ECX_08);" (assignment_expression "cVar6 = FUN_000146a0(&local_8f6,psVar17,extraout_ECX_08,extraout_ECX_08)" identifier = (call_expression "FUN_000146a0(&local_8f6,psVar17,extraout_ECX_08,extraout_ECX_08)" identifier (argument_list "(&local_8f6,psVar17,extraout_ECX_08,extraout_ECX_08)" ( (pointer_expression "&local_8f6" & identifier) , identifier , identifier , identifier )))) ;) (if_statement "if (cVar6 == '\0') goto LAB_000133f3;" if (parenthesized_expression "(cVar6 == '\0')" ( (binary_expression "cVar6 == '\0'" identifier == (char_literal "'\0'" ' escape_sequence ')) )) (goto_statement "goto LAB_000133f3;" goto statement_identifier ;)) (if_statement "if (local_7e0 != local_8f6) {\n        pr2serr("Try again with --scattered=%u\n",local_8f6,extraout_EDX_05,extraout_EDX_05);\n        local_908 = (stat64 *)0xf;\n        goto LAB_000133fd;\n      }" if (parenthesized_expression "(local_7e0 != local_8f6)" ( (binary_expression "local_7e0 != local_8f6" identifier != identifier) )) (compound_statement "{\n        pr2serr("Try again with --scattered=%u\n",local_8f6,extraout_EDX_05,extraout_EDX_05);\n        local_908 = (stat64 *)0xf;\n        goto LAB_000133fd;\n      }" { (expression_statement "pr2serr("Try again with --scattered=%u\n",local_8f6,extraout_EDX_05,extraout_EDX_05);" (call_expression "pr2serr("Try again with --scattered=%u\n",local_8f6,extraout_EDX_05,extraout_EDX_05)" identifier (argument_list "("Try again with --scattered=%u\n",local_8f6,extraout_EDX_05,extraout_EDX_05)" ( (string_literal ""Try again with --scattered=%u\n"" " string_content escape_sequence ") , identifier , identifier , identifier ))) ;) (expression_statement "local_908 = (stat64 *)0xf;" (assignment_expression "local_908 = (stat64 *)0xf" identifier = (cast_expression "(stat64 *)0xf" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (goto_statement "goto LAB_000133fd;" goto statement_identifier ;) })) (if_statement "if (local_918 < (stat64 *)((int)local_7d4 * (int)local_8ec)) {\n        psVar9 = (stat64 *)\n                 sg_memalign((undefined *)\n                             ((int)&psVar38->st_dev +\n                             (int)&((stat64 *)((int)local_7d4 * (int)local_8ec))->st_dev),0,\n                             &local_8e4,0);\n        if (psVar9 == (stat64 *)0x0) goto LAB_00014273;\n        psVar22 = psVar38;\n        psVar8 = psVar9;\n        memcpy(psVar9,psVar25,(size_t)psVar38);\n        psVar17 = psVar25;\n        free(local_8e8);\n        local_8e8 = local_8e4;\n        psVar25 = psVar9;\n      }" if (parenthesized_expression "(local_918 < (stat64 *)((int)local_7d4 * (int)local_8ec))" ( (binary_expression "local_918 < (stat64 *)((int)local_7d4 * (int)local_8ec)" identifier < (cast_expression "(stat64 *)((int)local_7d4 * (int)local_8ec)" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_7d4 * (int)local_8ec)" ( (binary_expression "(int)local_7d4 * (int)local_8ec" (cast_expression "(int)local_7d4" ( (type_descriptor "int" primitive_type) ) identifier) * (cast_expression "(int)local_8ec" ( (type_descriptor "int" primitive_type) ) identifier)) )))) )) (compound_statement "{\n        psVar9 = (stat64 *)\n                 sg_memalign((undefined *)\n                             ((int)&psVar38->st_dev +\n                             (int)&((stat64 *)((int)local_7d4 * (int)local_8ec))->st_dev),0,\n                             &local_8e4,0);\n        if (psVar9 == (stat64 *)0x0) goto LAB_00014273;\n        psVar22 = psVar38;\n        psVar8 = psVar9;\n        memcpy(psVar9,psVar25,(size_t)psVar38);\n        psVar17 = psVar25;\n        free(local_8e8);\n        local_8e8 = local_8e4;\n        psVar25 = psVar9;\n      }" { (expression_statement "psVar9 = (stat64 *)\n                 sg_memalign((undefined *)\n                             ((int)&psVar38->st_dev +\n                             (int)&((stat64 *)((int)local_7d4 * (int)local_8ec))->st_dev),0,\n                             &local_8e4,0);" (assignment_expression "psVar9 = (stat64 *)\n                 sg_memalign((undefined *)\n                             ((int)&psVar38->st_dev +\n                             (int)&((stat64 *)((int)local_7d4 * (int)local_8ec))->st_dev),0,\n                             &local_8e4,0)" identifier = (cast_expression "(stat64 *)\n                 sg_memalign((undefined *)\n                             ((int)&psVar38->st_dev +\n                             (int)&((stat64 *)((int)local_7d4 * (int)local_8ec))->st_dev),0,\n                             &local_8e4,0)" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "sg_memalign((undefined *)\n                             ((int)&psVar38->st_dev +\n                             (int)&((stat64 *)((int)local_7d4 * (int)local_8ec))->st_dev),0,\n                             &local_8e4,0)" identifier (argument_list "((undefined *)\n                             ((int)&psVar38->st_dev +\n                             (int)&((stat64 *)((int)local_7d4 * (int)local_8ec))->st_dev),0,\n                             &local_8e4,0)" ( (cast_expression "(undefined *)\n                             ((int)&psVar38->st_dev +\n                             (int)&((stat64 *)((int)local_7d4 * (int)local_8ec))->st_dev)" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&psVar38->st_dev +\n                             (int)&((stat64 *)((int)local_7d4 * (int)local_8ec))->st_dev)" ( (binary_expression "(int)&psVar38->st_dev +\n                             (int)&((stat64 *)((int)local_7d4 * (int)local_8ec))->st_dev" (cast_expression "(int)&psVar38->st_dev" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&psVar38->st_dev" & (field_expression "psVar38->st_dev" identifier -> field_identifier))) + (cast_expression "(int)&((stat64 *)((int)local_7d4 * (int)local_8ec))->st_dev" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&((stat64 *)((int)local_7d4 * (int)local_8ec))->st_dev" & (field_expression "((stat64 *)((int)local_7d4 * (int)local_8ec))->st_dev" (parenthesized_expression "((stat64 *)((int)local_7d4 * (int)local_8ec))" ( (cast_expression "(stat64 *)((int)local_7d4 * (int)local_8ec)" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_7d4 * (int)local_8ec)" ( (binary_expression "(int)local_7d4 * (int)local_8ec" (cast_expression "(int)local_7d4" ( (type_descriptor "int" primitive_type) ) identifier) * (cast_expression "(int)local_8ec" ( (type_descriptor "int" primitive_type) ) identifier)) ))) )) -> field_identifier)))) ))) , number_literal , (pointer_expression "&local_8e4" & identifier) , number_literal ))))) ;) (if_statement "if (psVar9 == (stat64 *)0x0) goto LAB_00014273;" if (parenthesized_expression "(psVar9 == (stat64 *)0x0)" ( (binary_expression "psVar9 == (stat64 *)0x0" identifier == (cast_expression "(stat64 *)0x0" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_00014273;" goto statement_identifier ;)) (expression_statement "psVar22 = psVar38;" (assignment_expression "psVar22 = psVar38" identifier = identifier) ;) (expression_statement "psVar8 = psVar9;" (assignment_expression "psVar8 = psVar9" identifier = identifier) ;) (expression_statement "memcpy(psVar9,psVar25,(size_t)psVar38);" (call_expression "memcpy(psVar9,psVar25,(size_t)psVar38)" identifier (argument_list "(psVar9,psVar25,(size_t)psVar38)" ( identifier , identifier , (cast_expression "(size_t)psVar38" ( (type_descriptor "size_t" primitive_type) ) identifier) ))) ;) (expression_statement "psVar17 = psVar25;" (assignment_expression "psVar17 = psVar25" identifier = identifier) ;) (expression_statement "free(local_8e8);" (call_expression "free(local_8e8)" identifier (argument_list "(local_8e8)" ( identifier ))) ;) (expression_statement "local_8e8 = local_8e4;" (assignment_expression "local_8e8 = local_8e4" identifier = identifier) ;) (expression_statement "psVar25 = psVar9;" (assignment_expression "psVar25 = psVar9" identifier = identifier) ;) })) (if_statement "if ((local_93c != psVar38) && (psVar18 != (stat64 *)0x0 || local_7f8 != 0)) {\n        psVar22 = (stat64 *)&DAT_000170dd;\n        if (local_93c <= psVar38) {\n          psVar22 = (stat64 *)&DAT_00017110;\n        }\n        psVar8 = psVar38;\n        pr2serr("IF length (%u) %s \'sum_num\' bytes (%u), ",local_93c,psVar22,psVar38);\n        if (1 < (int)local_7f8) {\n          pr2serr("exiting (strict=%d)\n",local_7f8,psVar38,psVar38);\n          local_908 = (stat64 *)0xf;\n          goto LAB_000133fd;\n        }\n        pr2serr("continuing ...\n",local_93c,psVar22,psVar8);\n        psVar17 = local_93c;\n      }" if (parenthesized_expression "((local_93c != psVar38) && (psVar18 != (stat64 *)0x0 || local_7f8 != 0))" ( (binary_expression "(local_93c != psVar38) && (psVar18 != (stat64 *)0x0 || local_7f8 != 0)" (parenthesized_expression "(local_93c != psVar38)" ( (binary_expression "local_93c != psVar38" identifier != identifier) )) && (parenthesized_expression "(psVar18 != (stat64 *)0x0 || local_7f8 != 0)" ( (binary_expression "psVar18 != (stat64 *)0x0 || local_7f8 != 0" (binary_expression "psVar18 != (stat64 *)0x0" identifier != (cast_expression "(stat64 *)0x0" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) || (binary_expression "local_7f8 != 0" identifier != number_literal)) ))) )) (compound_statement "{\n        psVar22 = (stat64 *)&DAT_000170dd;\n        if (local_93c <= psVar38) {\n          psVar22 = (stat64 *)&DAT_00017110;\n        }\n        psVar8 = psVar38;\n        pr2serr("IF length (%u) %s \'sum_num\' bytes (%u), ",local_93c,psVar22,psVar38);\n        if (1 < (int)local_7f8) {\n          pr2serr("exiting (strict=%d)\n",local_7f8,psVar38,psVar38);\n          local_908 = (stat64 *)0xf;\n          goto LAB_000133fd;\n        }\n        pr2serr("continuing ...\n",local_93c,psVar22,psVar8);\n        psVar17 = local_93c;\n      }" { (expression_statement "psVar22 = (stat64 *)&DAT_000170dd;" (assignment_expression "psVar22 = (stat64 *)&DAT_000170dd" identifier = (cast_expression "(stat64 *)&DAT_000170dd" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&DAT_000170dd" & identifier))) ;) (if_statement "if (local_93c <= psVar38) {\n          psVar22 = (stat64 *)&DAT_00017110;\n        }" if (parenthesized_expression "(local_93c <= psVar38)" ( (binary_expression "local_93c <= psVar38" identifier <= identifier) )) (compound_statement "{\n          psVar22 = (stat64 *)&DAT_00017110;\n        }" { (expression_statement "psVar22 = (stat64 *)&DAT_00017110;" (assignment_expression "psVar22 = (stat64 *)&DAT_00017110" identifier = (cast_expression "(stat64 *)&DAT_00017110" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&DAT_00017110" & identifier))) ;) })) (expression_statement "psVar8 = psVar38;" (assignment_expression "psVar8 = psVar38" identifier = identifier) ;) (expression_statement "pr2serr("IF length (%u) %s \'sum_num\' bytes (%u), ",local_93c,psVar22,psVar38);" (call_expression "pr2serr("IF length (%u) %s \'sum_num\' bytes (%u), ",local_93c,psVar22,psVar38)" identifier (argument_list "("IF length (%u) %s \'sum_num\' bytes (%u), ",local_93c,psVar22,psVar38)" ( (string_literal ""IF length (%u) %s \'sum_num\' bytes (%u), "" " string_content escape_sequence string_content escape_sequence string_content ") , identifier , identifier , identifier ))) ;) (if_statement "if (1 < (int)local_7f8) {\n          pr2serr("exiting (strict=%d)\n",local_7f8,psVar38,psVar38);\n          local_908 = (stat64 *)0xf;\n          goto LAB_000133fd;\n        }" if (parenthesized_expression "(1 < (int)local_7f8)" ( (binary_expression "1 < (int)local_7f8" number_literal < (cast_expression "(int)local_7f8" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n          pr2serr("exiting (strict=%d)\n",local_7f8,psVar38,psVar38);\n          local_908 = (stat64 *)0xf;\n          goto LAB_000133fd;\n        }" { (expression_statement "pr2serr("exiting (strict=%d)\n",local_7f8,psVar38,psVar38);" (call_expression "pr2serr("exiting (strict=%d)\n",local_7f8,psVar38,psVar38)" identifier (argument_list "("exiting (strict=%d)\n",local_7f8,psVar38,psVar38)" ( (string_literal ""exiting (strict=%d)\n"" " string_content escape_sequence ") , identifier , identifier , identifier ))) ;) (expression_statement "local_908 = (stat64 *)0xf;" (assignment_expression "local_908 = (stat64 *)0xf" identifier = (cast_expression "(stat64 *)0xf" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (goto_statement "goto LAB_000133fd;" goto statement_identifier ;) })) (expression_statement "pr2serr("continuing ...\n",local_93c,psVar22,psVar8);" (call_expression "pr2serr("continuing ...\n",local_93c,psVar22,psVar8)" identifier (argument_list "("continuing ...\n",local_93c,psVar22,psVar8)" ( (string_literal ""continuing ...\n"" " string_content escape_sequence ") , identifier , identifier , identifier ))) ;) (expression_statement "psVar17 = local_93c;" (assignment_expression "psVar17 = local_93c" identifier = identifier) ;) })) (expression_statement "local_908 = (stat64 *)FUN_00014a80(&DAT_0001738d,psVar17,psVar22,psVar8);" (assignment_expression "local_908 = (stat64 *)FUN_00014a80(&DAT_0001738d,psVar17,psVar22,psVar8)" identifier = (cast_expression "(stat64 *)FUN_00014a80(&DAT_0001738d,psVar17,psVar22,psVar8)" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_00014a80(&DAT_0001738d,psVar17,psVar22,psVar8)" identifier (argument_list "(&DAT_0001738d,psVar17,psVar22,psVar8)" ( (pointer_expression "&DAT_0001738d" & identifier) , identifier , identifier , identifier ))))) ;) }))) (if_statement "if (local_908 != (stat64 *)0x0) goto LAB_000133fd;" if (parenthesized_expression "(local_908 != (stat64 *)0x0)" ( (binary_expression "local_908 != (stat64 *)0x0" identifier != (cast_expression "(stat64 *)0x0" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_000133fd;" goto statement_identifier ;)) (expression_statement "local_7a4 = (stat64 *)((int)local_8ec * (int)local_7d4);" (assignment_expression "local_7a4 = (stat64 *)((int)local_8ec * (int)local_7d4)" identifier = (cast_expression "(stat64 *)((int)local_8ec * (int)local_7d4)" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_8ec * (int)local_7d4)" ( (binary_expression "(int)local_8ec * (int)local_7d4" (cast_expression "(int)local_8ec" ( (type_descriptor "int" primitive_type) ) identifier) * (cast_expression "(int)local_7d4" ( (type_descriptor "int" primitive_type) ) identifier)) )))) ;) (expression_statement "local_7cc = (stat64 *)local_8ec;" (assignment_expression "local_7cc = (stat64 *)local_8ec" identifier = (cast_expression "(stat64 *)local_8ec" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) }))) (labeled_statement "LAB_00013962:\n  local_8ec = (undefined1  [4])local_7cc;" statement_identifier : (expression_statement "local_8ec = (undefined1  [4])local_7cc;" (assignment_expression "local_8ec = (undefined1  [4])local_7cc" identifier = (cast_expression "(undefined1  [4])local_7cc" ( (type_descriptor "undefined1  [4]" type_identifier (abstract_array_declarator "[4]" [ number_literal ])) ) identifier)) ;)) (expression_statement "local_908 = (stat64 *)FUN_00014b00(&local_820);" (assignment_expression "local_908 = (stat64 *)FUN_00014b00(&local_820)" identifier = (cast_expression "(stat64 *)FUN_00014b00(&local_820)" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_00014b00(&local_820)" identifier (argument_list "(&local_820)" ( (pointer_expression "&local_820" & identifier) ))))) ;) (if_statement "if (local_908 != (stat64 *)0x0) {\n    puVar43 = local_174 + 0x50;\n    psVar25 = (stat64 *)"OS error";\n    puVar29 = puVar43;\n    for (iVar14 = 9; iVar14 != 0; iVar14 = iVar14 + -1) {\n      *puVar29 = (char)psVar25->st_dev;\n      psVar25 = (stat64 *)((int)psVar25 + (uint)bVar32 * -2 + 1);\n      puVar29 = puVar29 + (uint)bVar32 * -2 + 1;\n    }\n    if (0 < (int)local_908) {\n      sg_get_category_sense_str(local_908,0x50,puVar43,psVar18);\n    }\n    pr2serr("%s: %s\n",local_790,puVar43,psVar25);\n  }" if (parenthesized_expression "(local_908 != (stat64 *)0x0)" ( (binary_expression "local_908 != (stat64 *)0x0" identifier != (cast_expression "(stat64 *)0x0" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    puVar43 = local_174 + 0x50;\n    psVar25 = (stat64 *)"OS error";\n    puVar29 = puVar43;\n    for (iVar14 = 9; iVar14 != 0; iVar14 = iVar14 + -1) {\n      *puVar29 = (char)psVar25->st_dev;\n      psVar25 = (stat64 *)((int)psVar25 + (uint)bVar32 * -2 + 1);\n      puVar29 = puVar29 + (uint)bVar32 * -2 + 1;\n    }\n    if (0 < (int)local_908) {\n      sg_get_category_sense_str(local_908,0x50,puVar43,psVar18);\n    }\n    pr2serr("%s: %s\n",local_790,puVar43,psVar25);\n  }" { (expression_statement "puVar43 = local_174 + 0x50;" (assignment_expression "puVar43 = local_174 + 0x50" identifier = (binary_expression "local_174 + 0x50" identifier + number_literal)) ;) (expression_statement "psVar25 = (stat64 *)"OS error";" (assignment_expression "psVar25 = (stat64 *)"OS error"" identifier = (cast_expression "(stat64 *)"OS error"" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) (string_literal ""OS error"" " string_content "))) ;) (expression_statement "puVar29 = puVar43;" (assignment_expression "puVar29 = puVar43" identifier = identifier) ;) (for_statement "for (iVar14 = 9; iVar14 != 0; iVar14 = iVar14 + -1) {\n      *puVar29 = (char)psVar25->st_dev;\n      psVar25 = (stat64 *)((int)psVar25 + (uint)bVar32 * -2 + 1);\n      puVar29 = puVar29 + (uint)bVar32 * -2 + 1;\n    }" for ( (assignment_expression "iVar14 = 9" identifier = number_literal) ; (binary_expression "iVar14 != 0" identifier != number_literal) ; (assignment_expression "iVar14 = iVar14 + -1" identifier = (binary_expression "iVar14 + -1" identifier + number_literal)) ) (compound_statement "{\n      *puVar29 = (char)psVar25->st_dev;\n      psVar25 = (stat64 *)((int)psVar25 + (uint)bVar32 * -2 + 1);\n      puVar29 = puVar29 + (uint)bVar32 * -2 + 1;\n    }" { (expression_statement "*puVar29 = (char)psVar25->st_dev;" (assignment_expression "*puVar29 = (char)psVar25->st_dev" (pointer_expression "*puVar29" * identifier) = (cast_expression "(char)psVar25->st_dev" ( (type_descriptor "char" primitive_type) ) (field_expression "psVar25->st_dev" identifier -> field_identifier))) ;) (expression_statement "psVar25 = (stat64 *)((int)psVar25 + (uint)bVar32 * -2 + 1);" (assignment_expression "psVar25 = (stat64 *)((int)psVar25 + (uint)bVar32 * -2 + 1)" identifier = (cast_expression "(stat64 *)((int)psVar25 + (uint)bVar32 * -2 + 1)" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)psVar25 + (uint)bVar32 * -2 + 1)" ( (binary_expression "(int)psVar25 + (uint)bVar32 * -2 + 1" (binary_expression "(int)psVar25 + (uint)bVar32 * -2" (cast_expression "(int)psVar25" ( (type_descriptor "int" primitive_type) ) identifier) + (binary_expression "(uint)bVar32 * -2" (cast_expression "(uint)bVar32" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal) )))) ;) (expression_statement "puVar29 = puVar29 + (uint)bVar32 * -2 + 1;" (assignment_expression "puVar29 = puVar29 + (uint)bVar32 * -2 + 1" identifier = (binary_expression "puVar29 + (uint)bVar32 * -2 + 1" (binary_expression "puVar29 + (uint)bVar32 * -2" identifier + (binary_expression "(uint)bVar32 * -2" (cast_expression "(uint)bVar32" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) })) (if_statement "if (0 < (int)local_908) {\n      sg_get_category_sense_str(local_908,0x50,puVar43,psVar18);\n    }" if (parenthesized_expression "(0 < (int)local_908)" ( (binary_expression "0 < (int)local_908" number_literal < (cast_expression "(int)local_908" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n      sg_get_category_sense_str(local_908,0x50,puVar43,psVar18);\n    }" { (expression_statement "sg_get_category_sense_str(local_908,0x50,puVar43,psVar18);" (call_expression "sg_get_category_sense_str(local_908,0x50,puVar43,psVar18)" identifier (argument_list "(local_908,0x50,puVar43,psVar18)" ( identifier , number_literal , identifier , identifier ))) ;) })) (expression_statement "pr2serr("%s: %s\n",local_790,puVar43,psVar25);" (call_expression "pr2serr("%s: %s\n",local_790,puVar43,psVar25)" identifier (argument_list "("%s: %s\n",local_790,puVar43,psVar25)" ( (string_literal ""%s: %s\n"" " string_content escape_sequence ") , identifier , identifier , identifier ))) ;) })) (labeled_statement "LAB_000133fd:\n  if (local_8e8 == (void *)0x0) goto LAB_00012354;" statement_identifier : (if_statement "if (local_8e8 == (void *)0x0) goto LAB_00012354;" if (parenthesized_expression "(local_8e8 == (void *)0x0)" ( (binary_expression "local_8e8 == (void *)0x0" identifier == (cast_expression "(void *)0x0" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_00012354;" goto statement_identifier ;))) (expression_statement "free(local_8e8);" (call_expression "free(local_8e8)" identifier (argument_list "(local_8e8)" ( identifier ))) ;) (goto_statement "goto LAB_00012354;" goto statement_identifier ;) (labeled_statement "code_r0x000115f1:\n  uVar33 = sg_get_llnum(*(undefined4 *)PTR_optarg_0001dffc);" statement_identifier : (expression_statement "uVar33 = sg_get_llnum(*(undefined4 *)PTR_optarg_0001dffc);" (assignment_expression "uVar33 = sg_get_llnum(*(undefined4 *)PTR_optarg_0001dffc)" identifier = (call_expression "sg_get_llnum(*(undefined4 *)PTR_optarg_0001dffc)" identifier (argument_list "(*(undefined4 *)PTR_optarg_0001dffc)" ( (pointer_expression "*(undefined4 *)PTR_optarg_0001dffc" * (cast_expression "(undefined4 *)PTR_optarg_0001dffc" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )))) ;)) (expression_statement "psVar38 = local_7d0;" (assignment_expression "psVar38 = local_7d0" identifier = identifier) ;) (expression_statement "uVar16 = uStack_7c4;" (assignment_expression "uVar16 = uStack_7c4" identifier = identifier) ;) (expression_statement "uVar7 = (uint)uVar33;" (assignment_expression "uVar7 = (uint)uVar33" identifier = (cast_expression "(uint)uVar33" ( (type_descriptor "uint" type_identifier) ) identifier)) ;) (if_statement "if ((int)((ulonglong)uVar33 >> 0x20) != 0) goto code_r0x00012b94;" if (parenthesized_expression "((int)((ulonglong)uVar33 >> 0x20) != 0)" ( (binary_expression "(int)((ulonglong)uVar33 >> 0x20) != 0" (cast_expression "(int)((ulonglong)uVar33 >> 0x20)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((ulonglong)uVar33 >> 0x20)" ( (binary_expression "(ulonglong)uVar33 >> 0x20" (cast_expression "(ulonglong)uVar33" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) ))) != number_literal) )) (goto_statement "goto code_r0x00012b94;" goto statement_identifier ;)) (goto_statement "goto code_r0x000114e8;" goto statement_identifier ;) (labeled_statement "code_r0x00012b94:\n  pr2serr("bad argument to \'--ref-tag=\'. Expect 0 to 0xffffffff inclusive\n");" statement_identifier : (expression_statement "pr2serr("bad argument to \'--ref-tag=\'. Expect 0 to 0xffffffff inclusive\n");" (call_expression "pr2serr("bad argument to \'--ref-tag=\'. Expect 0 to 0xffffffff inclusive\n")" identifier (argument_list "("bad argument to \'--ref-tag=\'. Expect 0 to 0xffffffff inclusive\n")" ( (string_literal ""bad argument to \'--ref-tag=\'. Expect 0 to 0xffffffff inclusive\n"" " string_content escape_sequence string_content escape_sequence string_content escape_sequence ") ))) ;)) (labeled_statement "LAB_00011a7a:\n  local_908 = (stat64 *)0x1;" statement_identifier : (expression_statement "local_908 = (stat64 *)0x1;" (assignment_expression "local_908 = (stat64 *)0x1" identifier = (cast_expression "(stat64 *)0x1" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;)) (labeled_statement "LAB_00011a84:\n  do {\n    psVar25 = (stat64 *)(local_24 ^ *(uint *)(in_GS_OFFSET + 0x14));\n    if (psVar25 == (stat64 *)0x0) {\n      return (int)local_908;\n    }\n    FUN_000162b0();\nLAB_00013b9f:\n    pr2serr("build_lba_arr: array length exceeded\n");\nLAB_00012130:\n    pr2serr("bad argument to \'--lba\'\n");\n    local_908 = (stat64 *)0x1;\nLAB_00012354:\n    if (local_8f0 != (void *)0x0) {\n      free(local_8f0);\n    }\n    iVar14 = sg_cmds_close_device(local_930);\n    if (iVar14 < 0) {\n      if (local_81a == '\0') {\n        uVar16 = safe_strerror(-iVar14);\n        pr2serr("sg_fd close error: %s\n",uVar16);\n      }\n      if (local_908 == (stat64 *)0x0) {\n        local_908 = (stat64 *)0xf;\n      }\n    }\n    if ((-1 < (int)local_920) && (iVar14 = close((int)local_920), iVar14 < 0)) {\n      if (local_81a == '\0') {\n        perror("sfr_fd close error");\n      }\n      if (local_908 == (stat64 *)0x0) {\n        local_908 = (stat64 *)0xf;\n      }\n    }\nLAB_000123a1:\n    if (((cVar2 == '\x01') || ((int)local_924 < 0)) ||\n       (pcVar15 = (char *)close((int)local_924), -1 < (int)pcVar15)) {\nLAB_000123cc:\n      if (((local_7f0 == (stat64 *)0x0) && (local_81a == '\0')) &&\n         (cVar6 = sg_if_can2stderr("sg_write_x failed: ",local_908,psVar25,psVar25), cVar6 == '\0'))\n      goto LAB_0001260b;\n      goto LAB_000123e2;\n    }\n    if (local_81a == '\0') {\n      pcVar15 = "infd close error";\n      perror("infd close error");\n    }\n    if (local_908 != (stat64 *)0x0) goto LAB_000123cc;\n    local_908 = (stat64 *)0xf;\n    if (((local_7f0 == (stat64 *)0x0) && (local_81a == '\0')) &&\n       (cVar6 = sg_if_can2stderr("sg_write_x failed: ",0xf,pcVar15,pcVar15), cVar6 == '\0')) {\nLAB_0001260b:\n      pr2serr("Some error occurred, try again with \'-v\' or \'-vv\' for more information\n");\nLAB_000123e2:\n      if ((int)local_908 < 0) {\n        local_908 = (stat64 *)0x63;\n      }\n    }\n  } while( true );" statement_identifier : (do_statement "do {\n    psVar25 = (stat64 *)(local_24 ^ *(uint *)(in_GS_OFFSET + 0x14));\n    if (psVar25 == (stat64 *)0x0) {\n      return (int)local_908;\n    }\n    FUN_000162b0();\nLAB_00013b9f:\n    pr2serr("build_lba_arr: array length exceeded\n");\nLAB_00012130:\n    pr2serr("bad argument to \'--lba\'\n");\n    local_908 = (stat64 *)0x1;\nLAB_00012354:\n    if (local_8f0 != (void *)0x0) {\n      free(local_8f0);\n    }\n    iVar14 = sg_cmds_close_device(local_930);\n    if (iVar14 < 0) {\n      if (local_81a == '\0') {\n        uVar16 = safe_strerror(-iVar14);\n        pr2serr("sg_fd close error: %s\n",uVar16);\n      }\n      if (local_908 == (stat64 *)0x0) {\n        local_908 = (stat64 *)0xf;\n      }\n    }\n    if ((-1 < (int)local_920) && (iVar14 = close((int)local_920), iVar14 < 0)) {\n      if (local_81a == '\0') {\n        perror("sfr_fd close error");\n      }\n      if (local_908 == (stat64 *)0x0) {\n        local_908 = (stat64 *)0xf;\n      }\n    }\nLAB_000123a1:\n    if (((cVar2 == '\x01') || ((int)local_924 < 0)) ||\n       (pcVar15 = (char *)close((int)local_924), -1 < (int)pcVar15)) {\nLAB_000123cc:\n      if (((local_7f0 == (stat64 *)0x0) && (local_81a == '\0')) &&\n         (cVar6 = sg_if_can2stderr("sg_write_x failed: ",local_908,psVar25,psVar25), cVar6 == '\0'))\n      goto LAB_0001260b;\n      goto LAB_000123e2;\n    }\n    if (local_81a == '\0') {\n      pcVar15 = "infd close error";\n      perror("infd close error");\n    }\n    if (local_908 != (stat64 *)0x0) goto LAB_000123cc;\n    local_908 = (stat64 *)0xf;\n    if (((local_7f0 == (stat64 *)0x0) && (local_81a == '\0')) &&\n       (cVar6 = sg_if_can2stderr("sg_write_x failed: ",0xf,pcVar15,pcVar15), cVar6 == '\0')) {\nLAB_0001260b:\n      pr2serr("Some error occurred, try again with \'-v\' or \'-vv\' for more information\n");\nLAB_000123e2:\n      if ((int)local_908 < 0) {\n        local_908 = (stat64 *)0x63;\n      }\n    }\n  } while( true );" do (compound_statement "{\n    psVar25 = (stat64 *)(local_24 ^ *(uint *)(in_GS_OFFSET + 0x14));\n    if (psVar25 == (stat64 *)0x0) {\n      return (int)local_908;\n    }\n    FUN_000162b0();\nLAB_00013b9f:\n    pr2serr("build_lba_arr: array length exceeded\n");\nLAB_00012130:\n    pr2serr("bad argument to \'--lba\'\n");\n    local_908 = (stat64 *)0x1;\nLAB_00012354:\n    if (local_8f0 != (void *)0x0) {\n      free(local_8f0);\n    }\n    iVar14 = sg_cmds_close_device(local_930);\n    if (iVar14 < 0) {\n      if (local_81a == '\0') {\n        uVar16 = safe_strerror(-iVar14);\n        pr2serr("sg_fd close error: %s\n",uVar16);\n      }\n      if (local_908 == (stat64 *)0x0) {\n        local_908 = (stat64 *)0xf;\n      }\n    }\n    if ((-1 < (int)local_920) && (iVar14 = close((int)local_920), iVar14 < 0)) {\n      if (local_81a == '\0') {\n        perror("sfr_fd close error");\n      }\n      if (local_908 == (stat64 *)0x0) {\n        local_908 = (stat64 *)0xf;\n      }\n    }\nLAB_000123a1:\n    if (((cVar2 == '\x01') || ((int)local_924 < 0)) ||\n       (pcVar15 = (char *)close((int)local_924), -1 < (int)pcVar15)) {\nLAB_000123cc:\n      if (((local_7f0 == (stat64 *)0x0) && (local_81a == '\0')) &&\n         (cVar6 = sg_if_can2stderr("sg_write_x failed: ",local_908,psVar25,psVar25), cVar6 == '\0'))\n      goto LAB_0001260b;\n      goto LAB_000123e2;\n    }\n    if (local_81a == '\0') {\n      pcVar15 = "infd close error";\n      perror("infd close error");\n    }\n    if (local_908 != (stat64 *)0x0) goto LAB_000123cc;\n    local_908 = (stat64 *)0xf;\n    if (((local_7f0 == (stat64 *)0x0) && (local_81a == '\0')) &&\n       (cVar6 = sg_if_can2stderr("sg_write_x failed: ",0xf,pcVar15,pcVar15), cVar6 == '\0')) {\nLAB_0001260b:\n      pr2serr("Some error occurred, try again with \'-v\' or \'-vv\' for more information\n");\nLAB_000123e2:\n      if ((int)local_908 < 0) {\n        local_908 = (stat64 *)0x63;\n      }\n    }\n  }" { (expression_statement "psVar25 = (stat64 *)(local_24 ^ *(uint *)(in_GS_OFFSET + 0x14));" (assignment_expression "psVar25 = (stat64 *)(local_24 ^ *(uint *)(in_GS_OFFSET + 0x14))" identifier = (cast_expression "(stat64 *)(local_24 ^ *(uint *)(in_GS_OFFSET + 0x14))" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_24 ^ *(uint *)(in_GS_OFFSET + 0x14))" ( (binary_expression "local_24 ^ *(uint *)(in_GS_OFFSET + 0x14)" identifier ^ (pointer_expression "*(uint *)(in_GS_OFFSET + 0x14)" * (cast_expression "(uint *)(in_GS_OFFSET + 0x14)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_GS_OFFSET + 0x14)" ( (binary_expression "in_GS_OFFSET + 0x14" identifier + number_literal) ))))) )))) ;) (if_statement "if (psVar25 == (stat64 *)0x0) {\n      return (int)local_908;\n    }" if (parenthesized_expression "(psVar25 == (stat64 *)0x0)" ( (binary_expression "psVar25 == (stat64 *)0x0" identifier == (cast_expression "(stat64 *)0x0" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      return (int)local_908;\n    }" { (return_statement "return (int)local_908;" return (cast_expression "(int)local_908" ( (type_descriptor "int" primitive_type) ) identifier) ;) })) (expression_statement "FUN_000162b0();" (call_expression "FUN_000162b0()" identifier (argument_list "()" ( ))) ;) (labeled_statement "LAB_00013b9f:\n    pr2serr("build_lba_arr: array length exceeded\n");" statement_identifier : (expression_statement "pr2serr("build_lba_arr: array length exceeded\n");" (call_expression "pr2serr("build_lba_arr: array length exceeded\n")" identifier (argument_list "("build_lba_arr: array length exceeded\n")" ( (string_literal ""build_lba_arr: array length exceeded\n"" " string_content escape_sequence ") ))) ;)) (labeled_statement "LAB_00012130:\n    pr2serr("bad argument to \'--lba\'\n");" statement_identifier : (expression_statement "pr2serr("bad argument to \'--lba\'\n");" (call_expression "pr2serr("bad argument to \'--lba\'\n")" identifier (argument_list "("bad argument to \'--lba\'\n")" ( (string_literal ""bad argument to \'--lba\'\n"" " string_content escape_sequence string_content escape_sequence escape_sequence ") ))) ;)) (expression_statement "local_908 = (stat64 *)0x1;" (assignment_expression "local_908 = (stat64 *)0x1" identifier = (cast_expression "(stat64 *)0x1" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (labeled_statement "LAB_00012354:\n    if (local_8f0 != (void *)0x0) {\n      free(local_8f0);\n    }" statement_identifier : (if_statement "if (local_8f0 != (void *)0x0) {\n      free(local_8f0);\n    }" if (parenthesized_expression "(local_8f0 != (void *)0x0)" ( (binary_expression "local_8f0 != (void *)0x0" identifier != (cast_expression "(void *)0x0" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      free(local_8f0);\n    }" { (expression_statement "free(local_8f0);" (call_expression "free(local_8f0)" identifier (argument_list "(local_8f0)" ( identifier ))) ;) }))) (expression_statement "iVar14 = sg_cmds_close_device(local_930);" (assignment_expression "iVar14 = sg_cmds_close_device(local_930)" identifier = (call_expression "sg_cmds_close_device(local_930)" identifier (argument_list "(local_930)" ( identifier )))) ;) (if_statement "if (iVar14 < 0) {\n      if (local_81a == '\0') {\n        uVar16 = safe_strerror(-iVar14);\n        pr2serr("sg_fd close error: %s\n",uVar16);\n      }\n      if (local_908 == (stat64 *)0x0) {\n        local_908 = (stat64 *)0xf;\n      }\n    }" if (parenthesized_expression "(iVar14 < 0)" ( (binary_expression "iVar14 < 0" identifier < number_literal) )) (compound_statement "{\n      if (local_81a == '\0') {\n        uVar16 = safe_strerror(-iVar14);\n        pr2serr("sg_fd close error: %s\n",uVar16);\n      }\n      if (local_908 == (stat64 *)0x0) {\n        local_908 = (stat64 *)0xf;\n      }\n    }" { (if_statement "if (local_81a == '\0') {\n        uVar16 = safe_strerror(-iVar14);\n        pr2serr("sg_fd close error: %s\n",uVar16);\n      }" if (parenthesized_expression "(local_81a == '\0')" ( (binary_expression "local_81a == '\0'" identifier == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n        uVar16 = safe_strerror(-iVar14);\n        pr2serr("sg_fd close error: %s\n",uVar16);\n      }" { (expression_statement "uVar16 = safe_strerror(-iVar14);" (assignment_expression "uVar16 = safe_strerror(-iVar14)" identifier = (call_expression "safe_strerror(-iVar14)" identifier (argument_list "(-iVar14)" ( (unary_expression "-iVar14" - identifier) )))) ;) (expression_statement "pr2serr("sg_fd close error: %s\n",uVar16);" (call_expression "pr2serr("sg_fd close error: %s\n",uVar16)" identifier (argument_list "("sg_fd close error: %s\n",uVar16)" ( (string_literal ""sg_fd close error: %s\n"" " string_content escape_sequence ") , identifier ))) ;) })) (if_statement "if (local_908 == (stat64 *)0x0) {\n        local_908 = (stat64 *)0xf;\n      }" if (parenthesized_expression "(local_908 == (stat64 *)0x0)" ( (binary_expression "local_908 == (stat64 *)0x0" identifier == (cast_expression "(stat64 *)0x0" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        local_908 = (stat64 *)0xf;\n      }" { (expression_statement "local_908 = (stat64 *)0xf;" (assignment_expression "local_908 = (stat64 *)0xf" identifier = (cast_expression "(stat64 *)0xf" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) })) })) (if_statement "if ((-1 < (int)local_920) && (iVar14 = close((int)local_920), iVar14 < 0)) {\n      if (local_81a == '\0') {\n        perror("sfr_fd close error");\n      }\n      if (local_908 == (stat64 *)0x0) {\n        local_908 = (stat64 *)0xf;\n      }\n    }" if (parenthesized_expression "((-1 < (int)local_920) && (iVar14 = close((int)local_920), iVar14 < 0))" ( (binary_expression "(-1 < (int)local_920) && (iVar14 = close((int)local_920), iVar14 < 0)" (parenthesized_expression "(-1 < (int)local_920)" ( (binary_expression "-1 < (int)local_920" number_literal < (cast_expression "(int)local_920" ( (type_descriptor "int" primitive_type) ) identifier)) )) && (parenthesized_expression "(iVar14 = close((int)local_920), iVar14 < 0)" ( (comma_expression "iVar14 = close((int)local_920), iVar14 < 0" (assignment_expression "iVar14 = close((int)local_920)" identifier = (call_expression "close((int)local_920)" identifier (argument_list "((int)local_920)" ( (cast_expression "(int)local_920" ( (type_descriptor "int" primitive_type) ) identifier) )))) , (binary_expression "iVar14 < 0" identifier < number_literal)) ))) )) (compound_statement "{\n      if (local_81a == '\0') {\n        perror("sfr_fd close error");\n      }\n      if (local_908 == (stat64 *)0x0) {\n        local_908 = (stat64 *)0xf;\n      }\n    }" { (if_statement "if (local_81a == '\0') {\n        perror("sfr_fd close error");\n      }" if (parenthesized_expression "(local_81a == '\0')" ( (binary_expression "local_81a == '\0'" identifier == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n        perror("sfr_fd close error");\n      }" { (expression_statement "perror("sfr_fd close error");" (call_expression "perror("sfr_fd close error")" identifier (argument_list "("sfr_fd close error")" ( (string_literal ""sfr_fd close error"" " string_content ") ))) ;) })) (if_statement "if (local_908 == (stat64 *)0x0) {\n        local_908 = (stat64 *)0xf;\n      }" if (parenthesized_expression "(local_908 == (stat64 *)0x0)" ( (binary_expression "local_908 == (stat64 *)0x0" identifier == (cast_expression "(stat64 *)0x0" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        local_908 = (stat64 *)0xf;\n      }" { (expression_statement "local_908 = (stat64 *)0xf;" (assignment_expression "local_908 = (stat64 *)0xf" identifier = (cast_expression "(stat64 *)0xf" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) })) })) (labeled_statement "LAB_000123a1:\n    if (((cVar2 == '\x01') || ((int)local_924 < 0)) ||\n       (pcVar15 = (char *)close((int)local_924), -1 < (int)pcVar15)) {\nLAB_000123cc:\n      if (((local_7f0 == (stat64 *)0x0) && (local_81a == '\0')) &&\n         (cVar6 = sg_if_can2stderr("sg_write_x failed: ",local_908,psVar25,psVar25), cVar6 == '\0'))\n      goto LAB_0001260b;\n      goto LAB_000123e2;\n    }" statement_identifier : (if_statement "if (((cVar2 == '\x01') || ((int)local_924 < 0)) ||\n       (pcVar15 = (char *)close((int)local_924), -1 < (int)pcVar15)) {\nLAB_000123cc:\n      if (((local_7f0 == (stat64 *)0x0) && (local_81a == '\0')) &&\n         (cVar6 = sg_if_can2stderr("sg_write_x failed: ",local_908,psVar25,psVar25), cVar6 == '\0'))\n      goto LAB_0001260b;\n      goto LAB_000123e2;\n    }" if (parenthesized_expression "(((cVar2 == '\x01') || ((int)local_924 < 0)) ||\n       (pcVar15 = (char *)close((int)local_924), -1 < (int)pcVar15))" ( (binary_expression "((cVar2 == '\x01') || ((int)local_924 < 0)) ||\n       (pcVar15 = (char *)close((int)local_924), -1 < (int)pcVar15)" (parenthesized_expression "((cVar2 == '\x01') || ((int)local_924 < 0))" ( (binary_expression "(cVar2 == '\x01') || ((int)local_924 < 0)" (parenthesized_expression "(cVar2 == '\x01')" ( (binary_expression "cVar2 == '\x01'" identifier == (char_literal "'\x01'" ' escape_sequence ')) )) || (parenthesized_expression "((int)local_924 < 0)" ( (binary_expression "(int)local_924 < 0" (cast_expression "(int)local_924" ( (type_descriptor "int" primitive_type) ) identifier) < number_literal) ))) )) || (parenthesized_expression "(pcVar15 = (char *)close((int)local_924), -1 < (int)pcVar15)" ( (comma_expression "pcVar15 = (char *)close((int)local_924), -1 < (int)pcVar15" (assignment_expression "pcVar15 = (char *)close((int)local_924)" identifier = (cast_expression "(char *)close((int)local_924)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "close((int)local_924)" identifier (argument_list "((int)local_924)" ( (cast_expression "(int)local_924" ( (type_descriptor "int" primitive_type) ) identifier) ))))) , (binary_expression "-1 < (int)pcVar15" number_literal < (cast_expression "(int)pcVar15" ( (type_descriptor "int" primitive_type) ) identifier))) ))) )) (compound_statement "{\nLAB_000123cc:\n      if (((local_7f0 == (stat64 *)0x0) && (local_81a == '\0')) &&\n         (cVar6 = sg_if_can2stderr("sg_write_x failed: ",local_908,psVar25,psVar25), cVar6 == '\0'))\n      goto LAB_0001260b;\n      goto LAB_000123e2;\n    }" { (labeled_statement "LAB_000123cc:\n      if (((local_7f0 == (stat64 *)0x0) && (local_81a == '\0')) &&\n         (cVar6 = sg_if_can2stderr("sg_write_x failed: ",local_908,psVar25,psVar25), cVar6 == '\0'))\n      goto LAB_0001260b;" statement_identifier : (if_statement "if (((local_7f0 == (stat64 *)0x0) && (local_81a == '\0')) &&\n         (cVar6 = sg_if_can2stderr("sg_write_x failed: ",local_908,psVar25,psVar25), cVar6 == '\0'))\n      goto LAB_0001260b;" if (parenthesized_expression "(((local_7f0 == (stat64 *)0x0) && (local_81a == '\0')) &&\n         (cVar6 = sg_if_can2stderr("sg_write_x failed: ",local_908,psVar25,psVar25), cVar6 == '\0'))" ( (binary_expression "((local_7f0 == (stat64 *)0x0) && (local_81a == '\0')) &&\n         (cVar6 = sg_if_can2stderr("sg_write_x failed: ",local_908,psVar25,psVar25), cVar6 == '\0')" (parenthesized_expression "((local_7f0 == (stat64 *)0x0) && (local_81a == '\0'))" ( (binary_expression "(local_7f0 == (stat64 *)0x0) && (local_81a == '\0')" (parenthesized_expression "(local_7f0 == (stat64 *)0x0)" ( (binary_expression "local_7f0 == (stat64 *)0x0" identifier == (cast_expression "(stat64 *)0x0" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) && (parenthesized_expression "(local_81a == '\0')" ( (binary_expression "local_81a == '\0'" identifier == (char_literal "'\0'" ' escape_sequence ')) ))) )) && (parenthesized_expression "(cVar6 = sg_if_can2stderr("sg_write_x failed: ",local_908,psVar25,psVar25), cVar6 == '\0')" ( (comma_expression "cVar6 = sg_if_can2stderr("sg_write_x failed: ",local_908,psVar25,psVar25), cVar6 == '\0'" (assignment_expression "cVar6 = sg_if_can2stderr("sg_write_x failed: ",local_908,psVar25,psVar25)" identifier = (call_expression "sg_if_can2stderr("sg_write_x failed: ",local_908,psVar25,psVar25)" identifier (argument_list "("sg_write_x failed: ",local_908,psVar25,psVar25)" ( (string_literal ""sg_write_x failed: "" " string_content ") , identifier , identifier , identifier )))) , (binary_expression "cVar6 == '\0'" identifier == (char_literal "'\0'" ' escape_sequence '))) ))) )) (goto_statement "goto LAB_0001260b;" goto statement_identifier ;))) (goto_statement "goto LAB_000123e2;" goto statement_identifier ;) }))) (if_statement "if (local_81a == '\0') {\n      pcVar15 = "infd close error";\n      perror("infd close error");\n    }" if (parenthesized_expression "(local_81a == '\0')" ( (binary_expression "local_81a == '\0'" identifier == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n      pcVar15 = "infd close error";\n      perror("infd close error");\n    }" { (expression_statement "pcVar15 = "infd close error";" (assignment_expression "pcVar15 = "infd close error"" identifier = (string_literal ""infd close error"" " string_content ")) ;) (expression_statement "perror("infd close error");" (call_expression "perror("infd close error")" identifier (argument_list "("infd close error")" ( (string_literal ""infd close error"" " string_content ") ))) ;) })) (if_statement "if (local_908 != (stat64 *)0x0) goto LAB_000123cc;" if (parenthesized_expression "(local_908 != (stat64 *)0x0)" ( (binary_expression "local_908 != (stat64 *)0x0" identifier != (cast_expression "(stat64 *)0x0" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_000123cc;" goto statement_identifier ;)) (expression_statement "local_908 = (stat64 *)0xf;" (assignment_expression "local_908 = (stat64 *)0xf" identifier = (cast_expression "(stat64 *)0xf" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (if_statement "if (((local_7f0 == (stat64 *)0x0) && (local_81a == '\0')) &&\n       (cVar6 = sg_if_can2stderr("sg_write_x failed: ",0xf,pcVar15,pcVar15), cVar6 == '\0')) {\nLAB_0001260b:\n      pr2serr("Some error occurred, try again with \'-v\' or \'-vv\' for more information\n");\nLAB_000123e2:\n      if ((int)local_908 < 0) {\n        local_908 = (stat64 *)0x63;\n      }\n    }" if (parenthesized_expression "(((local_7f0 == (stat64 *)0x0) && (local_81a == '\0')) &&\n       (cVar6 = sg_if_can2stderr("sg_write_x failed: ",0xf,pcVar15,pcVar15), cVar6 == '\0'))" ( (binary_expression "((local_7f0 == (stat64 *)0x0) && (local_81a == '\0')) &&\n       (cVar6 = sg_if_can2stderr("sg_write_x failed: ",0xf,pcVar15,pcVar15), cVar6 == '\0')" (parenthesized_expression "((local_7f0 == (stat64 *)0x0) && (local_81a == '\0'))" ( (binary_expression "(local_7f0 == (stat64 *)0x0) && (local_81a == '\0')" (parenthesized_expression "(local_7f0 == (stat64 *)0x0)" ( (binary_expression "local_7f0 == (stat64 *)0x0" identifier == (cast_expression "(stat64 *)0x0" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) && (parenthesized_expression "(local_81a == '\0')" ( (binary_expression "local_81a == '\0'" identifier == (char_literal "'\0'" ' escape_sequence ')) ))) )) && (parenthesized_expression "(cVar6 = sg_if_can2stderr("sg_write_x failed: ",0xf,pcVar15,pcVar15), cVar6 == '\0')" ( (comma_expression "cVar6 = sg_if_can2stderr("sg_write_x failed: ",0xf,pcVar15,pcVar15), cVar6 == '\0'" (assignment_expression "cVar6 = sg_if_can2stderr("sg_write_x failed: ",0xf,pcVar15,pcVar15)" identifier = (call_expression "sg_if_can2stderr("sg_write_x failed: ",0xf,pcVar15,pcVar15)" identifier (argument_list "("sg_write_x failed: ",0xf,pcVar15,pcVar15)" ( (string_literal ""sg_write_x failed: "" " string_content ") , number_literal , identifier , identifier )))) , (binary_expression "cVar6 == '\0'" identifier == (char_literal "'\0'" ' escape_sequence '))) ))) )) (compound_statement "{\nLAB_0001260b:\n      pr2serr("Some error occurred, try again with \'-v\' or \'-vv\' for more information\n");\nLAB_000123e2:\n      if ((int)local_908 < 0) {\n        local_908 = (stat64 *)0x63;\n      }\n    }" { (labeled_statement "LAB_0001260b:\n      pr2serr("Some error occurred, try again with \'-v\' or \'-vv\' for more information\n");" statement_identifier : (expression_statement "pr2serr("Some error occurred, try again with \'-v\' or \'-vv\' for more information\n");" (call_expression "pr2serr("Some error occurred, try again with \'-v\' or \'-vv\' for more information\n")" identifier (argument_list "("Some error occurred, try again with \'-v\' or \'-vv\' for more information\n")" ( (string_literal ""Some error occurred, try again with \'-v\' or \'-vv\' for more information\n"" " string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence ") ))) ;)) (labeled_statement "LAB_000123e2:\n      if ((int)local_908 < 0) {\n        local_908 = (stat64 *)0x63;\n      }" statement_identifier : (if_statement "if ((int)local_908 < 0) {\n        local_908 = (stat64 *)0x63;\n      }" if (parenthesized_expression "((int)local_908 < 0)" ( (binary_expression "(int)local_908 < 0" (cast_expression "(int)local_908" ( (type_descriptor "int" primitive_type) ) identifier) < number_literal) )) (compound_statement "{\n        local_908 = (stat64 *)0x63;\n      }" { (expression_statement "local_908 = (stat64 *)0x63;" (assignment_expression "local_908 = (stat64 *)0x63" identifier = (cast_expression "(stat64 *)0x63" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) }))) })) }) while (parenthesized_expression "( true )" ( true )) ;)) })))
(translation_unit (function_definition TYPE (function_declarator IDENT (parameter_list ( (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE IDENT) ))) (compound_statement { (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 (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * 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 (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * 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 (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * IDENT)) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * IDENT)) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * IDENT)) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (array_declarator IDENT [ LIT ]) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (array_declarator IDENT [ LIT ]) ;) (declaration TYPE IDENT ;) (declaration TYPE (array_declarator IDENT [ LIT ]) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (array_declarator IDENT [ LIT ]) ;) (declaration TYPE (pointer_declarator * (array_declarator IDENT [ LIT ])) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (array_declarator IDENT [ LIT ]) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) (for_statement for ( (assignment_expression IDENT = LIT) ; (binary_expression IDENT != LIT) ; (assignment_expression IDENT = (binary_expression IDENT + LIT)) ) (compound_statement { (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (char_literal ' escape_sequence ')) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (char_literal ' escape_sequence ')) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (char_literal ' escape_sequence ')) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (char_literal ' escape_sequence ')) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (for_statement for ( (assignment_expression IDENT = LIT) ; (binary_expression IDENT != LIT) ; (assignment_expression IDENT = (binary_expression IDENT + LIT)) ) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression & (field_expression IDENT -> field_identifier)))) = LIT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (pointer_expression & (field_expression IDENT -> field_identifier))) + LIT) )))) ;) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (for_statement for ( (assignment_expression IDENT = LIT) ; (binary_expression IDENT != LIT) ; (assignment_expression IDENT = (binary_expression IDENT + LIT)) ) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression & (field_expression IDENT -> field_identifier)))) = LIT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (pointer_expression & (field_expression IDENT -> field_identifier))) + LIT) )))) ;) })) (expression_statement (assignment_expression IDENT = (char_literal ' character ')) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = IDENT) ;)) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT , (string_literal " string_content ") , (pointer_expression & IDENT) , (pointer_expression & IDENT) )))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) >> LIT) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + (binary_expression IDENT * LIT)) ))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (binary_expression IDENT + LIT) < IDENT) )) (goto_statement goto statement_identifier ;)) })) (if_statement if (parenthesized_expression ( (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression IDENT & (binary_expression IDENT != LIT)) ))) )) (goto_statement goto statement_identifier ;)) (if_statement if (parenthesized_expression ( (binary_expression LIT < IDENT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (goto_statement goto statement_identifier ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (char_literal ' escape_sequence ')) )) (compound_statement { (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression IDENT != (char_literal ' escape_sequence ')) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content escape_sequence ") , (string_literal " string_content ") , IDENT , IDENT ))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (goto_statement goto statement_identifier ;) }))) }) (else_clause else (if_statement if (parenthesized_expression ( (binary_expression IDENT != (char_literal ' escape_sequence ')) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content escape_sequence string_content escape_sequence string_content escape_sequence ") ))) ;) (goto_statement goto statement_identifier ;) })))) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (char_literal ' escape_sequence ')) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == (char_literal ' escape_sequence ')) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (pointer_expression & (field_expression (subscript_expression IDENT [ LIT ]) . field_identifier))) + LIT) )))) ;) (expression_statement (assignment_expression IDENT = (char_literal ' escape_sequence ')) ;) (if_statement if (parenthesized_expression ( (binary_expression (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) && (binary_expression LIT < (cast_expression ( (type_descriptor TYPE) ) IDENT))) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content escape_sequence ") ))) ;) })) })) }) (else_clause else (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT != (char_literal ' escape_sequence ')) )) && (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (char_literal ' escape_sequence ')) , (binary_expression LIT < (cast_expression ( (type_descriptor TYPE) ) IDENT))) ))) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content escape_sequence ") ))) ;) })))) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression (binary_expression (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + (cast_expression ( (type_descriptor TYPE) ) IDENT)) + (cast_expression ( (type_descriptor TYPE) ) IDENT)) + (cast_expression ( (type_descriptor TYPE) ) IDENT)) + (cast_expression ( (type_descriptor TYPE) ) IDENT)) + (cast_expression ( (type_descriptor TYPE) ) IDENT))) ;) (if_statement if (parenthesized_expression ( (binary_expression LIT < IDENT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content escape_sequence string_content escape_sequence ") ))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (goto_statement goto statement_identifier ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content escape_sequence string_content escape_sequence ") ))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content escape_sequence string_content escape_sequence string_content escape_sequence ") ))) ;) })) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (unary_expression - (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT == (char_literal ' escape_sequence ')) )))) & LIT) )) + LIT) )))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , LIT , LIT , LIT , (string_literal " string_content ") , IDENT , IDENT , IDENT ))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (char_literal ' escape_sequence ')) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) || (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT))) ;) (if_statement if (parenthesized_expression ( (binary_expression (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) && (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT))) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content escape_sequence string_content escape_sequence ") ))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (goto_statement goto statement_identifier ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (char_literal ' escape_sequence ')) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) || (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT))) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content escape_sequence string_content escape_sequence ") ))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (goto_statement goto statement_identifier ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content escape_sequence string_content escape_sequence ") ))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (goto_statement goto statement_identifier ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content escape_sequence string_content escape_sequence ") ))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (goto_statement goto statement_identifier ;) })) (if_statement if (parenthesized_expression ( (binary_expression (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) && (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT))) )) (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = BOOL) ;) (expression_statement (assignment_expression IDENT = BOOL) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (char_literal ' escape_sequence ')) )) (goto_statement goto statement_identifier ;)) (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content escape_sequence string_content escape_sequence string_content escape_sequence ") ))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) }) (else_clause else (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content escape_sequence string_content escape_sequence ") ))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) }))) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (switch_statement switch (parenthesized_expression ( (cast_expression ( (type_descriptor TYPE) ) IDENT) )) (compound_statement { (case_statement case LIT : (expression_statement (assignment_expression IDENT = (char_literal ' escape_sequence ')) ;) (goto_statement goto statement_identifier ;)) (case_statement default : (expression_statement (assignment_expression IDENT = (string_literal " string_content escape_sequence ")) ;) (break_statement break ;)) (case_statement case LIT : (expression_statement (assignment_expression IDENT = (char_literal ' escape_sequence ')) ;) (goto_statement goto statement_identifier ;)) (case_statement case LIT : (expression_statement (assignment_expression IDENT = (string_literal " escape_sequence ")) ;) (break_statement break ;)) (case_statement case LIT : (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression LIT < IDENT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content escape_sequence string_content escape_sequence string_content escape_sequence ") ))) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (goto_statement goto statement_identifier ;)) (case_statement case LIT : (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression LIT < IDENT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content escape_sequence string_content escape_sequence escape_sequence ") ))) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) IDENT)) , LIT )))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (binary_expression IDENT + LIT) , IDENT , IDENT , IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression LIT < IDENT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content escape_sequence string_content escape_sequence escape_sequence ") ))) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) })) (goto_statement goto statement_identifier ;)) (case_statement case LIT : (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression LIT < IDENT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content escape_sequence string_content escape_sequence string_content escape_sequence ") ))) ;) (goto_statement goto statement_identifier ;) })) (goto_statement goto statement_identifier ;)) (case_statement case LIT : (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) >> LIT) ))) != LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content escape_sequence string_content escape_sequence escape_sequence ") ))) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) IDENT)) , LIT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content escape_sequence ") , IDENT , IDENT , IDENT ))) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (binary_expression IDENT + LIT) )))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) >> LIT) ))) != LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content escape_sequence string_content escape_sequence escape_sequence ") , IDENT , IDENT , IDENT ))) ;) (goto_statement goto statement_identifier ;) })) (goto_statement goto statement_identifier ;)) (case_statement case LIT : (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content escape_sequence string_content escape_sequence escape_sequence ") ))) ;) (goto_statement goto statement_identifier ;) })) (goto_statement goto statement_identifier ;)) (case_statement case LIT : (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression LIT < IDENT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content escape_sequence string_content escape_sequence string_content escape_sequence ") ))) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) & LIT)) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (goto_statement goto statement_identifier ;)) (case_statement case LIT : (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (goto_statement goto statement_identifier ;)) (case_statement case LIT : (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (goto_statement goto statement_identifier ;)) (case_statement case LIT : (expression_statement (assignment_expression IDENT = (char_literal ' escape_sequence ')) ;) (goto_statement goto statement_identifier ;)) (case_statement case LIT : (expression_statement (assignment_expression IDENT = (char_literal ' escape_sequence ')) ;) (goto_statement goto statement_identifier ;)) (case_statement case LIT : (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression LIT < IDENT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content escape_sequence string_content escape_sequence string_content escape_sequence ") ))) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (goto_statement goto statement_identifier ;)) (case_statement case LIT : (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression LIT < IDENT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content escape_sequence string_content escape_sequence string_content escape_sequence ") ))) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (goto_statement goto statement_identifier ;)) (case_statement case LIT : (expression_statement (assignment_expression IDENT = (char_literal ' escape_sequence ')) ;) (goto_statement goto statement_identifier ;)) (case_statement case LIT : (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression LIT < IDENT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content escape_sequence string_content escape_sequence string_content escape_sequence ") ))) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (goto_statement goto statement_identifier ;)) (case_statement case LIT : (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT) < IDENT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content escape_sequence string_content escape_sequence string_content escape_sequence ") ))) ;) (goto_statement goto statement_identifier ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) }) (else_clause else (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) < LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content escape_sequence ") ))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) })) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) & LIT) )) != LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content escape_sequence ") ))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) })) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (do_statement do (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) & LIT) )) != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = 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) ) IDENT) >> LIT) )))) ;) }) while (parenthesized_expression ( (binary_expression IDENT != LIT) )) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression LIT << (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) & LIT) ))) )))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) })) }))) (goto_statement goto statement_identifier ;)) (case_statement case LIT : (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content escape_sequence string_content escape_sequence string_content escape_sequence ") ))) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (expression_statement (assignment_expression IDENT = (char_literal ' escape_sequence ')) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (goto_statement goto statement_identifier ;)) (case_statement case LIT : (expression_statement (assignment_expression IDENT = LIT) ;) (goto_statement goto statement_identifier ;)) (case_statement case LIT : (expression_statement (assignment_expression IDENT = LIT) ;) (goto_statement goto statement_identifier ;)) (case_statement case LIT : (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression LIT < IDENT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content escape_sequence string_content escape_sequence escape_sequence ") ))) ;) (goto_statement goto statement_identifier ;) })) (goto_statement goto statement_identifier ;)) (case_statement case LIT : (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (goto_statement goto statement_identifier ;)) (case_statement case LIT : (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) IDENT))) ;) (goto_statement goto statement_identifier ;)) (case_statement case LIT : (if_statement if (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content escape_sequence string_content escape_sequence string_content escape_sequence ") ))) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) IDENT))) ;) (goto_statement goto statement_identifier ;)) (case_statement case LIT : (if_statement if (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content escape_sequence string_content escape_sequence string_content escape_sequence ") ))) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) IDENT))) ;) (goto_statement goto statement_identifier ;)) (case_statement case LIT : (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content escape_sequence string_content escape_sequence escape_sequence ") ))) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) >> LIT) )))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) IDENT)) , LIT )))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (binary_expression IDENT + LIT) , IDENT , IDENT , IDENT )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) >> LIT) ))) == LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content escape_sequence string_content escape_sequence escape_sequence ") ))) ;) (goto_statement goto statement_identifier ;) })) }) (else_clause else (if_statement if (parenthesized_expression ( (binary_expression LIT < IDENT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content escape_sequence string_content escape_sequence string_content escape_sequence ") ))) ;) (goto_statement goto statement_identifier ;) })))) })) (goto_statement goto statement_identifier ;)) (case_statement case LIT : (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) IDENT))) ;) (goto_statement goto statement_identifier ;)) (case_statement case LIT : (goto_statement goto statement_identifier ;)) (case_statement case LIT : (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (goto_statement goto statement_identifier ;)) (case_statement case LIT : (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression LIT < IDENT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content escape_sequence string_content escape_sequence string_content escape_sequence ") ))) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (goto_statement goto statement_identifier ;)) (case_statement case LIT : (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression LIT < IDENT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content escape_sequence string_content escape_sequence string_content escape_sequence ") ))) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT >> LIT) ))) & LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) & LIT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (goto_statement goto statement_identifier ;)) (case_statement case LIT : (expression_statement (assignment_expression IDENT = (char_literal ' escape_sequence ')) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (pointer_expression & (field_expression IDENT -> field_identifier))) + LIT) )))) ;) (goto_statement goto statement_identifier ;)) (case_statement case LIT : (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT) < IDENT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content escape_sequence string_content escape_sequence escape_sequence ") ))) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = (binary_expression LIT < (cast_expression ( (type_descriptor TYPE) ) IDENT))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (goto_statement goto statement_identifier ;)) (case_statement case LIT : (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (goto_statement goto statement_identifier ;)) })) (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (goto_statement goto statement_identifier ;) (labeled_statement statement_identifier : (while_statement while (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) < IDENT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content escape_sequence ") , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) * LIT)) )))) , IDENT , IDENT ))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) = (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) + LIT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) }))) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (goto_statement goto statement_identifier ;) (while_statement while (parenthesized_expression ( BOOL )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (char_literal ' escape_sequence ')) )) (break_statement break ;)) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (break_statement break ;))) })) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT == LIT) )) && (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) == (char_literal ' character ')) ))) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence ") ))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (goto_statement goto statement_identifier ;) })) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) && (parenthesized_expression ( (binary_expression IDENT != (char_literal ' escape_sequence ')) ))) )) && (parenthesized_expression ( (parenthesized_expression ( (binary_expression (binary_expression IDENT != LIT) || (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & IDENT) )) != LIT) ))) )) ))) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content escape_sequence ") ))) ;) }))) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (cast_expression ( (type_descriptor TYPE) ) IDENT))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (char_literal ' escape_sequence ')) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content escape_sequence ") ))) ;) (if_statement if (parenthesized_expression ( (binary_expression LIT < (cast_expression ( (type_descriptor TYPE) ) IDENT)) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content escape_sequence ") ))) ;) })) (expression_statement (call_expression IDENT (argument_list ( (string_literal " escape_sequence ") ))) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = 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 = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT)) ;) }) while (parenthesized_expression ( (binary_expression IDENT != (char_literal ' escape_sequence ')) )) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT != LIT) )) || (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) != (char_literal ' character ')) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( IDENT , LIT , IDENT , IDENT ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) < LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (string_literal " string_content ")) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( IDENT ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) < LIT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( LIT , (cast_expression ( (type_descriptor TYPE) ) IDENT) , IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression LIT < IDENT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (field_expression IDENT . field_identifier) & LIT) )) == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (field_expression IDENT . field_identifier))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) })) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (binary_expression IDENT != LIT) || (binary_expression (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (field_expression IDENT . field_identifier)) != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT))) )) && (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (pointer_expression & (field_expression (parenthesized_expression ( (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (field_expression IDENT . field_identifier) + LIT) ))) )) -> field_identifier))) + LIT) )))) , (comma_expression (assignment_expression IDENT = (binary_expression (binary_expression IDENT + LIT) + (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (field_expression IDENT . field_identifier)) != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ))))) , (comma_expression (assignment_expression IDENT = (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) - IDENT)) , (binary_expression (parenthesized_expression ( (binary_expression (call_expression IDENT (argument_list ( (cast_expression ( (type_descriptor TYPE) ) IDENT) , IDENT ))) != (call_expression IDENT (argument_list ( IDENT , (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT < IDENT) ))) )))) )) == (binary_expression (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression IDENT - (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT < IDENT) )))) ))) < LIT))))) ))) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content escape_sequence ") , IDENT , IDENT , (field_expression IDENT . field_identifier) , IDENT , IDENT , IDENT , IDENT ))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (field_expression IDENT . field_identifier))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) || (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (cast_expression ( (type_descriptor TYPE) ) IDENT) , (call_expression IDENT (argument_list ( IDENT , IDENT ))) , LIT )))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , LIT , LIT , LIT , (string_literal " string_content escape_sequence string_content ") , IDENT , IDENT , IDENT ))) ;) (expression_statement (call_expression IDENT (argument_list ( (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT) ))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( IDENT ))))) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) - (cast_expression ( (type_descriptor TYPE) ) IDENT)) )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( (binary_expression IDENT - (cast_expression ( (type_descriptor TYPE) ) IDENT)) )) - (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT < IDENT) ))))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )))) <= (unary_expression - IDENT)) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content escape_sequence ") , IDENT , IDENT , IDENT , IDENT ))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (goto_statement goto statement_identifier ;) })) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT != LIT) )) && (parenthesized_expression ( (comma_expression (assignment_expression IDENT = IDENT) , (binary_expression IDENT < (cast_expression ( (type_descriptor TYPE) ) (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT < IDENT) )))))) ))) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content escape_sequence ") , IDENT , IDENT , IDENT ))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (goto_statement goto statement_identifier ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT < (cast_expression ( (type_descriptor TYPE) ) (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT < IDENT) ))))) )) (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) })) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression LIT < (cast_expression ( (type_descriptor TYPE) ) IDENT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( (string_literal " string_content escape_sequence ") , IDENT , IDENT , IDENT ))))) ;) })) })) (goto_statement goto statement_identifier ;) })) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (string_literal " string_content ")) ;) }))) (expression_statement (call_expression IDENT (argument_list ( (binary_expression IDENT + LIT) , LIT , LIT , LIT , IDENT , IDENT , IDENT , IDENT ))) ;) (expression_statement (call_expression IDENT (argument_list ( (binary_expression IDENT + LIT) ))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( IDENT ))))) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( LIT )))) ;) (expression_statement (assignment_expression IDENT = (char_literal ' escape_sequence ')) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < LIT) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") ))) ;)) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (goto_statement goto statement_identifier ;) })) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) | (cast_expression ( (type_descriptor TYPE) ) IDENT)) ))) == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) || (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) | (cast_expression ( (type_descriptor TYPE) ) IDENT)) )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = LIT) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( (string_literal " string_content escape_sequence string_content escape_sequence ") ))))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = LIT) ;) })))) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = (char_literal ' escape_sequence ')) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) }))) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content escape_sequence ") , IDENT , IDENT , IDENT ))) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (goto_statement goto statement_identifier ;))) (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) (goto_statement goto statement_identifier ;) }))) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , LIT , IDENT , IDENT )))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) >> LIT) )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) < LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (unary_expression - (cast_expression ( (type_descriptor TYPE) ) IDENT)))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT )))) ;) (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content escape_sequence ") , IDENT , IDENT ))) ;) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( IDENT ))))) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (pointer_expression & (field_expression (subscript_expression IDENT [ LIT ]) . field_identifier))) + LIT) )))) ;) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , LIT , LIT , LIT , IDENT , LIT , LIT , IDENT , IDENT , IDENT , IDENT , IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) == LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content escape_sequence ") ))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , LIT , LIT , LIT , IDENT , LIT , LIT , IDENT )))) ;) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) >> LIT) )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression LIT < (cast_expression ( (type_descriptor TYPE) ) IDENT)) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content escape_sequence ") ))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , LIT , LIT ))) ;) })) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) (field_expression IDENT . field_identifier)) >> LIT) | (binary_expression (parenthesized_expression ( (binary_expression (field_expression IDENT . field_identifier) & LIT) )) >> LIT)) | (binary_expression (parenthesized_expression ( (binary_expression (field_expression IDENT . field_identifier) & LIT) )) << LIT)) | (binary_expression (field_expression IDENT . field_identifier) << LIT)) )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) (field_expression IDENT . field_identifier)) >> LIT) | (binary_expression (parenthesized_expression ( (binary_expression (field_expression IDENT . field_identifier) & LIT) )) >> LIT)) | (binary_expression (parenthesized_expression ( (binary_expression (field_expression IDENT . field_identifier) & LIT) )) << LIT)) | (binary_expression (field_expression IDENT . field_identifier) << LIT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( (binary_expression (binary_expression (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) (field_expression IDENT . field_identifier)) >> LIT) | (binary_expression (parenthesized_expression ( (binary_expression (field_expression IDENT . field_identifier) & LIT) )) >> LIT)) | (binary_expression (parenthesized_expression ( (binary_expression (field_expression IDENT . field_identifier) & LIT) )) << LIT)) | (binary_expression (field_expression IDENT . field_identifier) << LIT)) )) + (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression LIT < IDENT) ))))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ])))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) & LIT) )) == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) < LIT) )) (goto_statement goto statement_identifier ;)) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content escape_sequence ") , IDENT , IDENT , IDENT ))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (string_literal " string_content escape_sequence ")) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (goto_statement goto statement_identifier ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (goto_statement goto statement_identifier ;)) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( (binary_expression (binary_expression (subscript_expression IDENT [ LIT ]) >> LIT) & LIT) )) + LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression LIT << (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) >> LIT) ))) )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (subscript_expression IDENT [ LIT ]) >> LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) < LIT) )) || (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (pointer_expression & (field_expression IDENT -> field_identifier))) + (cast_expression ( (type_descriptor TYPE) ) (pointer_expression & (field_expression IDENT -> field_identifier)))) )))) , (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) < LIT)) ))) )) (compound_statement { (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (goto_statement goto statement_identifier ;))) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (string_literal " string_content escape_sequence string_content escape_sequence ")) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (labeled_statement statement_identifier : (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT , IDENT , IDENT ))) ;)) (expression_statement (assignment_expression IDENT = IDENT) ;) }))) (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content escape_sequence ") , IDENT , IDENT , IDENT ))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (pointer_expression & (field_expression IDENT -> field_identifier))) + (cast_expression ( (type_descriptor TYPE) ) (pointer_expression & (field_expression IDENT -> field_identifier)))) )))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content escape_sequence ") , (binary_expression IDENT + LIT) , (binary_expression (binary_expression IDENT + LIT) + (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT != LIT) )))) , IDENT , IDENT , (binary_expression (binary_expression (subscript_expression IDENT [ LIT ]) >> LIT) & LIT) , IDENT , IDENT ))) ;) (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") , (binary_expression IDENT & LIT) , IDENT , (binary_expression (subscript_expression IDENT [ LIT ]) >> LIT) , (binary_expression (subscript_expression IDENT [ LIT ]) & LIT) , (binary_expression (cast_expression ( (type_descriptor TYPE) ) (cast_expression ( (type_descriptor TYPE) ) (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ])))) >> LIT) ))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (binary_expression (field_expression IDENT . field_identifier) << LIT) | (binary_expression (cast_expression ( (type_descriptor TYPE) ) (field_expression IDENT . field_identifier)) >> LIT)) ))) & LIT) )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (subscript_expression IDENT [ LIT ]) >> LIT) & LIT) )))) ;) (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content escape_sequence ") , IDENT , IDENT ))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) }))) }) (else_clause else (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) - LIT) & LIT) )) != LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (string_literal " string_content "))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (for_statement for ( (assignment_expression IDENT = LIT) ; (binary_expression IDENT != LIT) ; (assignment_expression IDENT = (binary_expression IDENT + LIT)) ) (compound_statement { (expression_statement (assignment_expression (pointer_expression * IDENT) = (cast_expression ( (type_descriptor TYPE) ) (field_expression IDENT -> field_identifier))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT) )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT)) ;) })) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression LIT < (cast_expression ( (type_descriptor TYPE) ) IDENT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( IDENT , LIT , IDENT , IDENT ))))) ;) })) (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content escape_sequence ") , IDENT , IDENT , IDENT ))) ;) (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content escape_sequence ") ))) ;) })) (if_statement if (parenthesized_expression ( (binary_expression LIT < (cast_expression ( (type_descriptor TYPE) ) IDENT)) )) (goto_statement goto statement_identifier ;)) (goto_statement goto statement_identifier ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , LIT , LIT , IDENT , LIT , LIT , IDENT , IDENT )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) >> LIT) )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;)) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (string_literal " string_content "))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (for_statement for ( (assignment_expression IDENT = LIT) ; (binary_expression IDENT != LIT) ; (assignment_expression IDENT = (binary_expression IDENT + LIT)) ) (compound_statement { (expression_statement (assignment_expression (pointer_expression * IDENT) = (cast_expression ( (type_descriptor TYPE) ) (field_expression IDENT -> field_identifier))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT) )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT)) ;) })) (if_statement if (parenthesized_expression ( (binary_expression LIT < (cast_expression ( (type_descriptor TYPE) ) IDENT)) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( IDENT , LIT , IDENT , IDENT ))) ;) (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content escape_sequence ") , IDENT ))) ;) (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content escape_sequence ") ))) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (call_expression IDENT (argument_list ( IDENT , LIT , LIT , LIT , (string_literal " string_content ") , IDENT , IDENT , IDENT ))) ;) (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content escape_sequence ") , IDENT ))) ;) (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content escape_sequence ") ))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (goto_statement goto statement_identifier ;) })) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content escape_sequence ") ))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , LIT , LIT , IDENT , LIT , LIT , IDENT )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) >> LIT) )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (goto_statement goto statement_identifier ;)) (if_statement if (parenthesized_expression ( (binary_expression LIT < (cast_expression ( (type_descriptor TYPE) ) IDENT)) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content escape_sequence ") ))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , LIT , LIT ))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) })) }))) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( (binary_expression (binary_expression (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) (field_expression IDENT . field_identifier)) >> LIT) | (binary_expression (parenthesized_expression ( (binary_expression (field_expression IDENT . field_identifier) & LIT) )) >> LIT)) | (binary_expression (parenthesized_expression ( (binary_expression (field_expression IDENT . field_identifier) & LIT) )) << LIT)) | (binary_expression (field_expression IDENT . field_identifier) << LIT)) )) + LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) (field_expression IDENT . field_identifier)) >> LIT) | (binary_expression (parenthesized_expression ( (binary_expression (field_expression IDENT . field_identifier) & LIT) )) >> LIT)) | (binary_expression (parenthesized_expression ( (binary_expression (field_expression IDENT . field_identifier) & LIT) )) << LIT)) | (binary_expression (field_expression IDENT . field_identifier) << LIT)) )))) ;) }))) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = IDENT) ;)) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (char_literal ' escape_sequence ')) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression & (field_expression IDENT -> field_identifier)))) ;) })) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (goto_statement goto statement_identifier ;)) })) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content escape_sequence ") , IDENT , IDENT ))) ;)) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (goto_statement goto statement_identifier ;) })) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT == LIT) )) && (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) % (cast_expression ( (type_descriptor TYPE) ) IDENT)) )))) , (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT))) ))) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression LIT < (cast_expression ( (type_descriptor TYPE) ) IDENT)) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content escape_sequence string_content escape_sequence ") , IDENT , IDENT , IDENT ))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT | (cast_expression ( (type_descriptor TYPE) ) IDENT)) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) ;) (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content escape_sequence string_content escape_sequence ") , IDENT , IDENT , IDENT ))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) })) })) (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (for_statement for ( (assignment_expression IDENT = LIT) ; (binary_expression IDENT != LIT) ; (assignment_expression IDENT = (binary_expression IDENT + LIT)) ) (compound_statement { (expression_statement (assignment_expression (pointer_expression * IDENT) = LIT) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT)) ;) })) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (for_statement for ( (assignment_expression IDENT = LIT) ; (binary_expression IDENT != LIT) ; (assignment_expression IDENT = (binary_expression IDENT + LIT)) ) (compound_statement { (expression_statement (assignment_expression (pointer_expression * IDENT) = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT)) ;) })) (if_statement if (parenthesized_expression ( IDENT )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = 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 = (pointer_expression & (field_expression IDENT -> field_identifier))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT) )))) ;) }) while (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (pointer_expression * IDENT)) != (char_literal ' escape_sequence ')) )) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (unary_expression ~ IDENT) - LIT) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (field_expression IDENT -> field_identifier)) == (char_literal ' character ')) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (string_literal " escape_sequence string_content escape_sequence string_content escape_sequence ") , IDENT , IDENT , IDENT ))) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = (string_literal " string_content ")) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT) , (string_literal " string_content ") ))))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (while_statement while (parenthesized_expression ( BOOL )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT , IDENT , IDENT )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (break_statement break ;)) (expression_statement (assignment_expression (subscript_expression IDENT [ (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT) ]) = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT) + LIT) ]) = (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) >> LIT) )))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT) , LIT )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT) , LIT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (pointer_expression & (field_expression IDENT -> field_identifier))) + LIT) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (char_literal ' escape_sequence ')) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (goto_statement goto statement_identifier ;)) (goto_statement goto statement_identifier ;) })) }) (else_clause else (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) || (parenthesized_expression ( (binary_expression IDENT <= IDENT) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) })))) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (pointer_expression & (field_expression IDENT -> field_identifier))) + LIT) )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (goto_statement goto statement_identifier ;)) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) - (cast_expression ( (type_descriptor TYPE) ) IDENT)) )))) ;) })) (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content escape_sequence ") , (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (pointer_expression & (field_expression IDENT -> field_identifier))) + LIT) ))) , IDENT , IDENT ))) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (if_statement if (parenthesized_expression ( IDENT )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;)) (expression_statement (assignment_expression IDENT = IDENT) ;) (do_statement do (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (break_statement break ;)) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (pointer_expression & (field_expression (subscript_expression IDENT [ LIT ]) . field_identifier))) + LIT) )))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression & (field_expression IDENT -> field_identifier))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT) )))) ;) }) while (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (pointer_expression * IDENT)) != (char_literal ' escape_sequence ')) )) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (unary_expression ~ (cast_expression ( (type_descriptor TYPE) ) IDENT)) - LIT) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (field_expression IDENT -> field_identifier)) == (char_literal ' character ')) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (string_literal " escape_sequence string_content escape_sequence string_content escape_sequence ") ))) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (string_literal " string_content ")) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT) , (string_literal " string_content ") ))))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT , IDENT , IDENT )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) >> LIT) ))) == LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) - (cast_expression ( (type_descriptor TYPE) ) IDENT)) )))) ;) (goto_statement goto statement_identifier ;) })) }) (else_clause else (if_statement if (parenthesized_expression ( (binary_expression LIT < IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + (parenthesized_expression ( (binary_expression LIT - (cast_expression ( (type_descriptor TYPE) ) IDENT)) ))) )))) ;) (expression_statement (assignment_expression IDENT = (string_literal " string_content ")) ;) (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content escape_sequence ") , (string_literal " string_content ") , IDENT , IDENT ))) ;) (goto_statement goto statement_identifier ;) })))) (expression_statement (assignment_expression (subscript_expression IDENT [ (cast_expression ( (type_descriptor TYPE) ) IDENT) ]) = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT) , LIT )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT) , LIT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (pointer_expression & (field_expression IDENT -> field_identifier))) + LIT) )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT) < IDENT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT) == IDENT) )) (goto_statement goto statement_identifier ;)) (goto_statement goto statement_identifier ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence ") ))) ;)) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT))) ;) (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content escape_sequence string_content escape_sequence ") , (subscript_expression IDENT [ LIT ]) , IDENT , IDENT ))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (goto_statement goto statement_identifier ;) })) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT))) ;) }))) (goto_statement goto statement_identifier ;) })) }) (else_clause else (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) || (parenthesized_expression ( (binary_expression IDENT <= IDENT) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) })))) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (pointer_expression & (field_expression IDENT -> field_identifier))) + LIT) )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ;) }) while (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) ;) (expression_statement (assignment_expression IDENT = (string_literal " string_content ")) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content escape_sequence ") , (string_literal " string_content ") , IDENT , IDENT ))) ;) }) (else_clause else (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (pointer_expression & (field_expression IDENT -> field_identifier))) + LIT) )))) ;)) (expression_statement (assignment_expression IDENT = (string_literal " string_content ")) ;) (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content escape_sequence ") , (string_literal " string_content ") , IDENT , IDENT ))) ;) }))) }))) (labeled_statement statement_identifier : (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content escape_sequence string_content escape_sequence escape_sequence ") , IDENT , IDENT , IDENT ))) ;)) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT))) ;) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;)) (expression_statement (assignment_expression (field_expression IDENT . field_identifier) = IDENT) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( LIT , IDENT , IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression * IDENT))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT )))) ;) (expression_statement (assignment_expression IDENT = (string_literal " string_content escape_sequence ")) ;) (labeled_statement statement_identifier : (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT , IDENT ))) ;)) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( IDENT ))))) ;) (goto_statement goto statement_identifier ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (char_literal ' escape_sequence ')) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( (binary_expression IDENT + LIT) )) * LIT)) ;) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( LIT , (pointer_expression & IDENT) , (pointer_expression & IDENT) , IDENT ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT != LIT) )) && (parenthesized_expression ( (binary_expression IDENT != IDENT) ))) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT < IDENT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content escape_sequence ") , IDENT , (pointer_expression & IDENT) , (string_literal " string_content ") , IDENT ))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) | IDENT) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) && (parenthesized_expression ( (comma_expression (call_expression IDENT (argument_list ( (string_literal " string_content escape_sequence ") , IDENT , (pointer_expression & IDENT) , (string_literal " string_content ") , IDENT ))) , (comma_expression (assignment_expression IDENT = IDENT) , (binary_expression IDENT != LIT))) ))) )) (goto_statement goto statement_identifier ;)) })) (goto_statement goto statement_identifier ;) })) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (field_expression IDENT . field_identifier) & LIT) )) != LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content escape_sequence ") , IDENT , IDENT , IDENT ))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (field_expression IDENT . field_identifier))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( IDENT , LIT , LIT , LIT ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) < LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression * IDENT))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT )))) ;) (expression_statement (assignment_expression IDENT = (string_literal " string_content escape_sequence ")) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT )))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") ))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (field_expression IDENT . field_identifier))) ;) (goto_statement goto statement_identifier ;) })) })))) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (field_expression IDENT . field_identifier))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == (char_literal ' escape_sequence ')) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content escape_sequence ") ))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (goto_statement goto statement_identifier ;) })) }) (else_clause else (if_statement if (parenthesized_expression ( (binary_expression IDENT == (char_literal ' escape_sequence ')) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (binary_expression IDENT + LIT) , (pointer_expression & IDENT) , (pointer_expression & IDENT) , LIT )))) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) >> LIT) )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (goto_statement goto statement_identifier ;)) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression LIT < IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (string_literal " string_content escape_sequence ") , IDENT , IDENT , IDENT )))) ;) })) (if_statement if (parenthesized_expression ( (binary_expression LIT < (cast_expression ( (type_descriptor TYPE) ) IDENT)) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content escape_sequence ") , IDENT , IDENT , IDENT ))) ;) })) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content escape_sequence ") , IDENT , LIT , LIT ))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression (binary_expression (binary_expression IDENT >> LIT) | (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) >> LIT)) | (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) << LIT)) | (binary_expression IDENT << LIT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression (binary_expression (binary_expression IDENT >> LIT) | (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) >> LIT)) | (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) << LIT)) | (binary_expression IDENT << LIT))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (binary_expression (binary_expression IDENT >> LIT) | (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) >> LIT)) | (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) << LIT)) | (binary_expression IDENT << LIT)) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (char_literal ' escape_sequence ')) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression (binary_expression (binary_expression IDENT >> LIT) | (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) >> LIT)) | (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) << LIT)) | (binary_expression IDENT << LIT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT << LIT) | (binary_expression IDENT >> LIT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT << LIT) | (binary_expression IDENT >> LIT))) ;) })) (goto_statement goto statement_identifier ;) })))) (if_statement if (parenthesized_expression ( (binary_expression IDENT < (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content escape_sequence ") , IDENT , (field_expression IDENT . field_identifier) , (field_expression IDENT . field_identifier) ))) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;)) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( (pointer_expression & IDENT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (pointer_expression & IDENT) , (pointer_expression & IDENT) , IDENT , IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (char_literal ' escape_sequence ')) )) (goto_statement goto statement_identifier ;)) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content escape_sequence ") , (string_literal " string_content ") , IDENT , IDENT ))) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression (binary_expression (binary_expression IDENT >> LIT) | (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) >> LIT)) | (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) << LIT)) | (binary_expression IDENT << LIT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression (binary_expression (binary_expression IDENT >> LIT) | (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) >> LIT)) | (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) << LIT)) | (binary_expression IDENT << LIT))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (binary_expression (binary_expression IDENT >> LIT) | (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) >> LIT)) | (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) << LIT)) | (binary_expression IDENT << LIT)) )))) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) && (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ))) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content escape_sequence ") , IDENT , IDENT , IDENT ))) ;) })) }))) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * (cast_expression ( (type_descriptor TYPE) ) IDENT)) )))) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) })) })))) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , LIT , (pointer_expression & IDENT) , LIT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (string_literal " string_content escape_sequence ")) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) LIT)) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (labeled_statement statement_identifier : (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT , IDENT , IDENT ))) ;)) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( LIT ))))) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( (pointer_expression & IDENT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (goto_statement goto statement_identifier ;)) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( (pointer_expression & IDENT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (goto_statement goto statement_identifier ;)) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (char_literal ' escape_sequence ')) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (string_literal " string_content "))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (for_statement for ( (assignment_expression IDENT = LIT) ; (binary_expression IDENT != LIT) ; (assignment_expression IDENT = (binary_expression IDENT + LIT)) ) (compound_statement { (expression_statement (assignment_expression (pointer_expression * IDENT) = (cast_expression ( (type_descriptor TYPE) ) (field_expression IDENT -> field_identifier))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT) )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT)) ;) })) (expression_statement (assignment_expression IDENT = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression LIT < (cast_expression ( (type_descriptor TYPE) ) IDENT)) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( IDENT , LIT , IDENT , IDENT ))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) })) (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content escape_sequence ") , IDENT , IDENT , IDENT ))) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_array_declarator [ LIT ])) ) IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (char_literal ' escape_sequence ')) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content escape_sequence string_content escape_sequence ") ))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (goto_statement goto statement_identifier ;) })) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT + LIT) )) * LIT) )))) ;) }))) (if_statement if (parenthesized_expression ( (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) % (cast_expression ( (type_descriptor TYPE) ) IDENT)) != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) / (cast_expression ( (type_descriptor TYPE) ) IDENT)) + LIT) )) * (cast_expression ( (type_descriptor TYPE) ) IDENT)) )))) ;) })) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * (cast_expression ( (type_descriptor TYPE) ) IDENT)) )))) ;) }))) (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( IDENT , LIT , IDENT , LIT ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (string_literal " string_content escape_sequence ")) ;)) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( (string_literal " string_content ") ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (pointer_expression & IDENT) , IDENT , LIT , LIT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (char_literal ' escape_sequence ')) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT == LIT) )) || (parenthesized_expression ( (binary_expression IDENT == IDENT) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT + LIT) )) * LIT) )))) ;)) (if_statement if (parenthesized_expression ( (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) % (cast_expression ( (type_descriptor TYPE) ) IDENT)) != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) / (cast_expression ( (type_descriptor TYPE) ) IDENT)) + LIT) )) * (cast_expression ( (type_descriptor TYPE) ) IDENT)) )))) ;) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT * (cast_expression ( (type_descriptor TYPE) ) IDENT))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (binary_expression IDENT - (cast_expression ( (type_descriptor TYPE) ) IDENT)) != LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT < IDENT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content escape_sequence ") , (string_literal " string_content ") , (string_literal " string_content ") , (cast_expression ( (type_descriptor TYPE) ) IDENT) , IDENT ))) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) | IDENT) )) != LIT) )) && (parenthesized_expression ( (comma_expression (call_expression IDENT (argument_list ( (string_literal " string_content escape_sequence ") , (string_literal " string_content ") , IDENT , (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) | IDENT) ))) , (binary_expression IDENT != LIT)) ))) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content escape_sequence ") , (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) / (cast_expression ( (type_descriptor TYPE) ) IDENT)) , IDENT , IDENT ))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (goto_statement goto statement_identifier ;) })) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * (cast_expression ( (type_descriptor TYPE) ) IDENT)) + (cast_expression ( (type_descriptor TYPE) ) IDENT)) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT <= IDENT) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) ;)) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * (cast_expression ( (type_descriptor TYPE) ) IDENT)) )))) ;) (goto_statement goto statement_identifier ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT != IDENT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT < IDENT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content escape_sequence ") , IDENT , (pointer_expression & IDENT) , IDENT ))) ;) }) (else_clause else (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) && (binary_expression IDENT == LIT)) )) || (parenthesized_expression ( (comma_expression (call_expression IDENT (argument_list ( (string_literal " string_content escape_sequence ") , IDENT , (pointer_expression & IDENT) , IDENT ))) , (binary_expression IDENT == LIT)) ))) )) (goto_statement goto statement_identifier ;)))) (goto_statement goto statement_identifier ;) })) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , LIT , (pointer_expression & IDENT) , LIT )))) ;)) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) >> LIT) )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT , (cast_expression ( (type_descriptor TYPE) ) IDENT) ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( (string_literal " string_content ") , IDENT , IDENT , IDENT ))))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (goto_statement goto statement_identifier ;)) (goto_statement goto statement_identifier ;) })) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (string_literal " string_content escape_sequence ")) ;)) (goto_statement goto statement_identifier ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT < IDENT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content escape_sequence ") , IDENT , (pointer_expression & IDENT) , (string_literal " string_content ") , IDENT ))) ;) }) (else_clause else (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) && (binary_expression IDENT == LIT)) )) || (parenthesized_expression ( (comma_expression (call_expression IDENT (argument_list ( (string_literal " string_content escape_sequence ") , IDENT , (pointer_expression & IDENT) , (string_literal " string_content ") , IDENT ))) , (binary_expression IDENT == LIT)) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (for_statement for ( (assignment_expression IDENT = IDENT) ; (binary_expression (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression & (field_expression IDENT -> field_identifier)) + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) ))) != IDENT) ; (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression & (field_expression IDENT -> field_identifier)))) ) (compound_statement { (expression_statement (assignment_expression IDENT = (field_expression IDENT -> field_identifier)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (pointer_expression & (field_expression IDENT -> field_identifier))) + (parenthesized_expression ( (binary_expression (binary_expression (binary_expression (binary_expression IDENT >> LIT) | (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) >> LIT)) | (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) << LIT)) | (binary_expression IDENT << LIT)) ))) )))) ;) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_array_declarator [ LIT ])) ) IDENT)) ;) (goto_statement goto statement_identifier ;) })))) })) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;)) (goto_statement goto statement_identifier ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT != (char_literal ' escape_sequence ')) )) (goto_statement goto statement_identifier ;)) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content escape_sequence ") ))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (goto_statement goto statement_identifier ;) })) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT != LIT) )) && (parenthesized_expression ( (binary_expression IDENT < (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (cast_expression ( (type_descriptor TYPE) ) IDENT))) ))) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content escape_sequence ") , (string_literal " string_content ") , (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (cast_expression ( (type_descriptor TYPE) ) IDENT)) , IDENT ))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( (binary_expression IDENT + LIT) )) * LIT)) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT / (cast_expression ( (type_descriptor TYPE) ) IDENT)) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression (binary_expression IDENT % (cast_expression ( (type_descriptor TYPE) ) IDENT)) != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) })) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_array_declarator [ LIT ])) ) LIT)) ;) (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (subscript_expression IDENT [ LIT ]) )) (argument_list ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (pointer_expression & (field_expression (parenthesized_expression ( (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT) )) -> field_identifier))) + (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ IDENT ]))) )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }) while (parenthesized_expression ( (binary_expression IDENT < (cast_expression ( (type_descriptor TYPE) ) IDENT)) )) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (pointer_expression & (field_expression (parenthesized_expression ( (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT) )) -> field_identifier))) + (cast_expression ( (type_descriptor TYPE) ) IDENT)) ))) * (cast_expression ( (type_descriptor TYPE) ) IDENT)) , LIT , (pointer_expression & IDENT) , LIT ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ (binary_expression IDENT * LIT) ])) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ (binary_expression (binary_expression IDENT * LIT) + LIT) ])) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression & (field_expression IDENT -> field_identifier)))) = (binary_expression (binary_expression (binary_expression (binary_expression IDENT >> LIT) | (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) >> LIT)) | (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) << LIT)) | (binary_expression IDENT << LIT))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (pointer_expression & (field_expression IDENT -> field_identifier))) + LIT) )))) = (binary_expression (binary_expression (binary_expression (binary_expression IDENT >> LIT) | (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) >> LIT)) | (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) << LIT)) | (binary_expression IDENT << LIT))) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ IDENT ])) ;) (expression_statement (assignment_expression (field_expression IDENT -> field_identifier) = (binary_expression (binary_expression (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) >> LIT) | (binary_expression (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) & LIT) )) >> LIT)) | (binary_expression (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) & LIT) )) << LIT)) | (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) << LIT))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (char_literal ' escape_sequence ')) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression & (field_expression IDENT -> field_identifier)))) = (binary_expression (binary_expression (binary_expression (binary_expression IDENT >> LIT) | (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) >> LIT)) | (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) << LIT)) | (binary_expression IDENT << LIT))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (pointer_expression & (field_expression IDENT -> field_identifier))) + LIT) )))) = (binary_expression (binary_expression IDENT << LIT) | (binary_expression IDENT >> LIT))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (pointer_expression & (field_expression IDENT -> field_identifier))) + LIT) )))) = (binary_expression (binary_expression IDENT << LIT) | (binary_expression IDENT >> LIT))) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression & (field_expression IDENT -> field_identifier)))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (pointer_expression & (field_expression IDENT -> field_identifier))) + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (pointer_expression & (field_expression IDENT -> field_identifier))) + LIT) )))) = LIT) ;) }))) })) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression & (field_expression IDENT -> field_identifier)))) ;) }) while (parenthesized_expression ( (binary_expression IDENT < (cast_expression ( (type_descriptor TYPE) ) IDENT)) )) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) ;) }) (else_clause else (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == (char_literal ' escape_sequence ')) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( (binary_expression IDENT + LIT) )) * LIT)) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT / (cast_expression ( (type_descriptor TYPE) ) IDENT)) )))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (binary_expression IDENT % (cast_expression ( (type_descriptor TYPE) ) IDENT)) != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (pointer_expression & (field_expression IDENT -> field_identifier))) + (cast_expression ( (type_descriptor TYPE) ) IDENT)) ))) * (cast_expression ( (type_descriptor TYPE) ) IDENT)) , LIT , IDENT , LIT ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_array_declarator [ LIT ])) ) LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (binary_expression IDENT + LIT) == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * (cast_expression ( (type_descriptor TYPE) ) IDENT))) ;) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( IDENT , (pointer_expression & IDENT) , IDENT , IDENT ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * (cast_expression ( (type_descriptor TYPE) ) IDENT)) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT <= IDENT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (binary_expression IDENT <= IDENT) && (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) - (cast_expression ( (type_descriptor TYPE) ) IDENT)) != LIT)) )) && (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) })) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) && (parenthesized_expression ( (binary_expression IDENT != IDENT) ))) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT <= IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) })) (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content escape_sequence string_content escape_sequence ") , IDENT , IDENT , IDENT ))) ;) })) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT != LIT) )) && (parenthesized_expression ( (parenthesized_expression ( (binary_expression (binary_expression IDENT <= IDENT) || (parenthesized_expression ( (binary_expression LIT < (cast_expression ( (type_descriptor TYPE) ) IDENT)) ))) )) ))) )) (goto_statement goto statement_identifier ;)) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression IDENT < IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) }))) }))) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) / (cast_expression ( (type_descriptor TYPE) ) IDENT)) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) % (cast_expression ( (type_descriptor TYPE) ) IDENT)) != LIT) )) && (parenthesized_expression ( (parenthesized_expression ( (binary_expression (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) || (parenthesized_expression ( (binary_expression LIT < (cast_expression ( (type_descriptor TYPE) ) IDENT)) ))) )) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") , IDENT , IDENT , IDENT ))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) - (cast_expression ( (type_descriptor TYPE) ) IDENT)) )))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") , IDENT , IDENT , IDENT ))) ;) })) (if_statement if (parenthesized_expression ( (binary_expression LIT < (cast_expression ( (type_descriptor TYPE) ) IDENT)) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content escape_sequence string_content escape_sequence ") , IDENT , IDENT , IDENT ))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content escape_sequence string_content escape_sequence ") , IDENT , IDENT , IDENT ))) ;) })) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) | IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content escape_sequence ") , IDENT , IDENT , IDENT ))) ;) (if_statement if (parenthesized_expression ( (binary_expression LIT < (cast_expression ( (type_descriptor TYPE) ) IDENT)) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") , IDENT , IDENT , IDENT ))) ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (goto_statement goto statement_identifier ;)) (goto_statement goto statement_identifier ;) })) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) && (parenthesized_expression ( (binary_expression IDENT != IDENT) ))) )) (goto_statement goto statement_identifier ;)) }))) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( (pointer_expression & IDENT) ))))) ;) }) (else_clause else (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = IDENT) ;)) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT + LIT) )) * LIT) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < IDENT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content escape_sequence ") , IDENT , IDENT , (string_literal " string_content ") ))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) / (cast_expression ( (type_descriptor TYPE) ) IDENT)) + LIT) )) - (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) % (cast_expression ( (type_descriptor TYPE) ) IDENT)) == LIT) )))) )) * (cast_expression ( (type_descriptor TYPE) ) IDENT)) )))) ;) })) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) / (cast_expression ( (type_descriptor TYPE) ) IDENT)) + LIT) )) - (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) % (cast_expression ( (type_descriptor TYPE) ) IDENT)) == LIT) )))) )) * (cast_expression ( (type_descriptor TYPE) ) IDENT)) )))) ;) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (pointer_expression & (field_expression IDENT -> field_identifier))) + (cast_expression ( (type_descriptor TYPE) ) (pointer_expression & (field_expression IDENT -> field_identifier)))) ))) , LIT , (pointer_expression & IDENT) , LIT ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (string_literal " string_content escape_sequence ")) ;)) (labeled_statement statement_identifier : (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;)) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( LIT ))))) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( (pointer_expression & IDENT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (pointer_expression & IDENT) , IDENT , IDENT , IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (char_literal ' escape_sequence ')) )) (goto_statement goto statement_identifier ;)) (if_statement if (parenthesized_expression ( (binary_expression IDENT != IDENT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content escape_sequence ") , IDENT , IDENT , IDENT ))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (goto_statement goto statement_identifier ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT < (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * (cast_expression ( (type_descriptor TYPE) ) IDENT)) )))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (pointer_expression & (field_expression IDENT -> field_identifier))) + (cast_expression ( (type_descriptor TYPE) ) (pointer_expression & (field_expression (parenthesized_expression ( (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * (cast_expression ( (type_descriptor TYPE) ) IDENT)) ))) )) -> field_identifier)))) ))) , LIT , (pointer_expression & IDENT) , LIT ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT , (cast_expression ( (type_descriptor TYPE) ) IDENT) ))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) })) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT != IDENT) )) && (parenthesized_expression ( (binary_expression (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) || (binary_expression IDENT != LIT)) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression & IDENT))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT <= IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression & IDENT))) ;) })) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content escape_sequence string_content escape_sequence string_content ") , IDENT , IDENT , IDENT ))) ;) (if_statement if (parenthesized_expression ( (binary_expression LIT < (cast_expression ( (type_descriptor TYPE) ) IDENT)) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content escape_sequence ") , IDENT , IDENT , IDENT ))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content escape_sequence ") , IDENT , IDENT , IDENT ))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( (pointer_expression & IDENT) , IDENT , IDENT , IDENT ))))) ;) }))) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * (cast_expression ( (type_descriptor TYPE) ) IDENT)) )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) ;) }))) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_array_declarator [ LIT ])) ) IDENT)) ;)) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( (pointer_expression & IDENT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (string_literal " string_content "))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (for_statement for ( (assignment_expression IDENT = LIT) ; (binary_expression IDENT != LIT) ; (assignment_expression IDENT = (binary_expression IDENT + LIT)) ) (compound_statement { (expression_statement (assignment_expression (pointer_expression * IDENT) = (cast_expression ( (type_descriptor TYPE) ) (field_expression IDENT -> field_identifier))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT) )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT)) ;) })) (if_statement if (parenthesized_expression ( (binary_expression LIT < (cast_expression ( (type_descriptor TYPE) ) IDENT)) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( IDENT , LIT , IDENT , IDENT ))) ;) })) (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content escape_sequence ") , IDENT , IDENT , IDENT ))) ;) })) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (goto_statement goto statement_identifier ;))) (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) (goto_statement goto statement_identifier ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )))) ;)) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) >> LIT) ))) != LIT) )) (goto_statement goto statement_identifier ;)) (goto_statement goto statement_identifier ;) (labeled_statement statement_identifier : (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content escape_sequence string_content escape_sequence string_content escape_sequence ") ))) ;)) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;)) (labeled_statement statement_identifier : (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT ^ (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (return_statement return (cast_expression ( (type_descriptor TYPE) ) IDENT) ;) })) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (labeled_statement statement_identifier : (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content escape_sequence ") ))) ;)) (labeled_statement statement_identifier : (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content escape_sequence string_content escape_sequence escape_sequence ") ))) ;)) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) }))) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == (char_literal ' escape_sequence ')) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (unary_expression - IDENT) )))) ;) (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content escape_sequence ") , IDENT ))) ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) })) })) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression LIT < (cast_expression ( (type_descriptor TYPE) ) IDENT)) )) && (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (call_expression IDENT (argument_list ( (cast_expression ( (type_descriptor TYPE) ) IDENT) )))) , (binary_expression IDENT < LIT)) ))) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == (char_literal ' escape_sequence ')) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") ))) ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) })) })) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT == (char_literal ' escape_sequence ')) )) || (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) < LIT) ))) )) || (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( (cast_expression ( (type_descriptor TYPE) ) IDENT) ))))) , (binary_expression LIT < (cast_expression ( (type_descriptor TYPE) ) IDENT))) ))) )) (compound_statement { (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) && (parenthesized_expression ( (binary_expression IDENT == (char_literal ' escape_sequence ')) ))) )) && (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (call_expression IDENT (argument_list ( (string_literal " string_content ") , IDENT , IDENT , IDENT )))) , (binary_expression IDENT == (char_literal ' escape_sequence '))) ))) )) (goto_statement goto statement_identifier ;))) (goto_statement goto statement_identifier ;) }))) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (char_literal ' escape_sequence ')) )) (compound_statement { (expression_statement (assignment_expression IDENT = (string_literal " string_content ")) ;) (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") ))) ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) && (parenthesized_expression ( (binary_expression IDENT == (char_literal ' escape_sequence ')) ))) )) && (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (call_expression IDENT (argument_list ( (string_literal " string_content ") , LIT , IDENT , IDENT )))) , (binary_expression IDENT == (char_literal ' escape_sequence '))) ))) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence ") ))) ;)) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) < LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) }))) })) }) while (parenthesized_expression ( BOOL )) ;)) })))
(function_definition "int FUN_000113d0(int param_1,int param_2)\n\n{\n  byte bVar1;\n  char cVar2;\n  __dev_t *p_Var3;\n  undefined *puVar4;\n  undefined *puVar5;\n  char cVar6;\n  uint uVar7;\n  stat64 *psVar8;\n  stat64 *psVar9;\n  int iVar10;\n  stat64 *psVar11;\n  char *pcVar12;\n  char *pcVar13;\n  int iVar14;\n  char *pcVar15;\n  undefined4 uVar16;\n  stat64 *psVar17;\n  stat64 *psVar18;\n  int *piVar19;\n  undefined *puVar20;\n  int iVar21;\n  stat64 *extraout_ECX;\n  stat64 *extraout_ECX_00;\n  stat64 *extraout_ECX_01;\n  undefined4 extraout_ECX_02;\n  undefined4 extraout_ECX_03;\n  stat64 *extraout_ECX_04;\n  stat64 *extraout_ECX_05;\n  stat64 *extraout_ECX_06;\n  stat64 *extraout_ECX_07;\n  stat64 *extraout_ECX_08;\n  int extraout_EDX;\n  stat64 *psVar22;\n  stat64 *psVar23;\n  stat64 *extraout_EDX_00;\n  undefined4 extraout_EDX_01;\n  stat64 *extraout_EDX_02;\n  stat64 *extraout_EDX_03;\n  stat64 *extraout_EDX_04;\n  undefined4 extraout_EDX_05;\n  uint uVar24;\n  stat64 *psVar25;\n  uint *puVar26;\n  stat64 **ppsVar27;\n  int iVar28;\n  undefined1 *puVar29;\n  int in_GS_OFFSET;\n  bool bVar30;\n  bool bVar31;\n  byte bVar32;\n  undefined8 uVar33;\n  longlong lVar34;\n  __off64_t _Var35;\n  undefined4 uVar36;\n  undefined4 uVar37;\n  stat64 *psVar38;\n  void **ppvVar39;\n  undefined4 uVar40;\n  uint uVar41;\n  uint *puVar42;\n  undefined1 *puVar43;\n  stat64 **ppsVar44;\n  stat64 *psVar45;\n  char local_93f;\n  stat64 *local_93c;\n  stat64 *local_930;\n  stat64 *local_924;\n  stat64 *local_920;\n  stat64 *local_91c;\n  stat64 *local_918;\n  stat64 *local_908;\n  ushort local_8f8;\n  ushort local_8f6;\n  stat64 *local_8f4;\n  void *local_8f0;\n  undefined1 local_8ec [4];\n  void *local_8e8;\n  void *local_8e4;\n  undefined1 local_8e0 [48];\n  int local_8b0;\n  undefined1 local_880 [96];\n  char local_820;\n  char local_81f;\n  byte bStack_81e;\n  byte local_81d;\n  char local_81c;\n  byte local_81b;\n  char local_81a;\n  char local_819;\n  byte local_818;\n  byte local_817;\n  byte local_816;\n  byte bStack_815;\n  byte local_814;\n  char local_813;\n  undefined1 uStack_812;\n  undefined1 uStack_811;\n  byte local_810;\n  char local_80f;\n  char local_80e;\n  uint uStack_80c;\n  int iStack_808;\n  uint uStack_804;\n  int local_800;\n  int local_7fc;\n  uint local_7f8;\n  int local_7f4;\n  stat64 *local_7f0;\n  stat64 *local_7ec;\n  undefined1 uStack_7e8;\n  undefined1 uStack_7e7;\n  ushort local_7e6;\n  undefined2 uStack_7e4;\n  ushort local_7e2;\n  ushort local_7e0;\n  undefined2 uStack_7de;\n  ushort local_7dc;\n  undefined2 uStack_7da;\n  stat64 *local_7d8;\n  stat64 *local_7d4;\n  stat64 *local_7d0;\n  stat64 *local_7cc;\n  undefined4 uStack_7c8;\n  undefined4 uStack_7c4;\n  uint local_7c0;\n  uint local_7bc;\n  uint local_7b8;\n  stat64 *local_7b4;\n  stat64 *local_7b0;\n  int local_7ac;\n  int local_7a8;\n  stat64 *local_7a4;\n  stat64 *local_7a0;\n  char *local_79c;\n  char *local_798;\n  stat64 *local_794;\n  undefined1 local_790 [24];\n  stat64 *local_778 [128];\n  uint local_578;\n  uint local_574;\n  undefined1 local_174 [96];\n  uint local_114;\n  uint local_110;\n  uint local_10c;\n  uint local_104;\n  uint local_100;\n  uint local_fc;\n  uint local_f8;\n  ushort local_f4;\n  ushort local_f2;\n  uint local_24;\n  undefined4 *local_18;\n  \n  iVar28 = param_2;\n  iVar14 = param_1;\n  puVar20 = PTR_optarg_0001dffc;\n  bVar32 = 0;\n  local_18 = &param_1;\n  local_24 = *(uint *)(in_GS_OFFSET + 0x14);\n  local_8f8 = 0;\n  local_8f4 = (stat64 *)0x0;\n  local_8f0 = (void *)0x0;\n  local_918 = (stat64 *)0x0;\n  local_91c = (stat64 *)0x0;\n  pcVar15 = &local_820;\n  for (iVar21 = 0x2a; iVar21 != 0; iVar21 = iVar21 + -1) {\n    pcVar15[0] = '\0';\n    pcVar15[1] = '\0';\n    pcVar15[2] = '\0';\n    pcVar15[3] = '\0';\n    pcVar15 = pcVar15 + 4;\n  }\n  local_930 = (stat64 *)local_8e0;\n  local_7fc = -1;\n  psVar18 = local_930;\n  for (iVar21 = 0x18; iVar21 != 0; iVar21 = iVar21 + -1) {\n    *(undefined4 *)&psVar18->st_dev = 0;\n    psVar18 = (stat64 *)((int)&psVar18->st_dev + 4);\n  }\n  psVar18 = (stat64 *)local_880;\n  local_7c0 = 0xffffffff;\n  psVar38 = psVar18;\n  for (iVar21 = 0x18; iVar21 != 0; iVar21 = iVar21 + -1) {\n    *(undefined4 *)&psVar38->st_dev = 0;\n    psVar38 = (stat64 *)((int)&psVar38->st_dev + 4);\n  }\n  cVar2 = ' ';\n  local_7e6 = 0xffff;\n  local_7dc = 0xffff;\n  local_7f4 = 0x78;\n  bVar1 = 0;\n  local_924 = (stat64 *)PTR_optarg_0001dffc;\n  psVar38 = local_7d0;\n  uVar16 = uStack_7c4;\n  uVar7 = local_7c0;\ncode_r0x000114e8:\n  local_7c0 = uVar7;\n  uStack_7c4 = uVar16;\n  local_7d0 = psVar38;\n  local_8e4 = (void *)0x0;\n  uVar33 = getopt_long(iVar14,iVar28,"36a:A:b:B:c:dD:Efg:G:hi:I:l:M:n:No:Oq:Qr:RsS:t:T:u:vVw:x",\n                       &PTR_DAT_0001e020,&local_8e4);\n  puVar5 = PTR_optarg_0001dffc;\n  puVar4 = PTR_optind_0001dfe4;\n  if ((int)uVar33 == -1) {\n    iVar21 = *(int *)PTR_optind_0001dfe4;\n    local_920 = (stat64 *)0xffffffff;\n    if (iVar21 < iVar14) {\n      iVar10 = (int)((ulonglong)uVar33 >> 0x20);\n      if (local_7a0 != (stat64 *)0x0) goto LAB_00011c60;\n      local_7a0 = *(stat64 **)(iVar28 + iVar21 * 4);\n      *(int *)PTR_optind_0001dfe4 = iVar21 + 1;\n      iVar10 = iVar28;\n      if (iVar21 + 1 < iVar14) goto LAB_00011c60;\n    }\n    if ((bool)(bVar1 & local_7f8 != 0)) goto LAB_00011a7a;\n    if (0 < local_800) {\n      FUN_000149b0();\n      local_908 = (stat64 *)0x0;\n      goto LAB_00011a84;\n    }\n    if (local_80f == '\0') {\nLAB_00011c9f:\n      if (local_80e != '\0') {\n        pr2serr("sg_write_x version: %s\n","1.19 20180628",puVar4,puVar4);\n        local_908 = (stat64 *)0x270f;\n        goto LAB_00011a84;\n      }\n    }\n    else if (local_80e != '\0') {\n      pr2serr("Not in DEBUG mode, so \'-vV\' has no special action\n");\n      goto LAB_00011c9f;\n    }\n    psVar38 = local_7f0;\n    psVar17 = psVar38;\n    if (local_820 == '\0') {\n      if (local_81f == '\0') {\n        psVar17 = (stat64 *)((int)&local_7f0[-1].st_ino + 7);\n        local_820 = '\x01';\n        if (psVar17 != (stat64 *)0x0 && 0 < (int)local_7f0) {\n          pr2serr("Since neither --16 nor --32 given, choose --16\n");\n        }\n      }\n    }\n    else if ((local_81f != '\0') && (local_820 = '\0', 1 < (int)local_7f0)) {\n      pr2serr("Since both --16 and --32 given, choose --32\n");\n    }\n    uVar7 = (uint)local_81d + (uint)local_814 + (uint)local_81b + (uint)local_818 + (uint)local_817\n            + (uint)local_816;\n    if (1 < uVar7) {\n      pr2serr(\n             "Can only select one command; so only one of --atomic, --normal, --or,\n--same=, --scattered= or --stream=\n"\n             );\n      local_908 = (stat64 *)0x1f;\n      goto LAB_00011a84;\n    }\n    if (uVar7 == 0) {\n      if (local_7f8 != 0) {\n        pr2serr("With --strict won\'t default to a normal WRITE, add --normal\n");\n        local_908 = (stat64 *)0x1f;\n        goto LAB_00011a84;\n      }\n      local_794 = (stat64 *)0x17164;\n      local_814 = 1;\n      if (psVar38 != (stat64 *)0x0) {\n        pr2serr("No command selected so choose \'normal\' WRITE\n");\n      }\n    }\n    psVar8 = (stat64 *)((-(uint)(local_820 == '\0') & 0x10) + 0x10);\n    psVar22 = local_794;\n    __snprintf_chk(local_790,0x18,1,0x18,"%s(%d)",local_794,psVar8,psVar17);\n    if (local_81c == '\0') {\n      if (local_798 != (char *)0x0) {\n        local_93f = local_918 != (stat64 *)0x0;\n        bVar30 = local_91c != (stat64 *)0x0 || local_918 != (stat64 *)0x0;\n        bVar31 = local_91c != (stat64 *)0x0;\n        if (local_91c == (stat64 *)0x0 && local_918 == (stat64 *)0x0) {\n          iVar14 = -1;\n          pcVar15 = local_798;\n          goto code_r0x00011d5c;\n        }\n        pr2serr(\n               "want one and only one of: (--lba=LBA and/or --num=NUM), or\n--scat-file=SF, or --combined=DOF\n"\n               );\n        local_908 = (stat64 *)0x1f;\n        goto LAB_00011a84;\n      }\n      if (local_819 == '\0') {\n        local_93f = local_918 != (stat64 *)0x0;\n        bVar30 = local_91c != (stat64 *)0x0 || local_918 != (stat64 *)0x0;\n        bVar31 = local_91c != (stat64 *)0x0;\n        goto LAB_00011d67;\n      }\n      pr2serr(\n             "--scat-raw only applies to the --scat-file=SF option\n--scat-raw without the --scat-file=SF option is an error\n"\n             );\n      local_908 = (stat64 *)0x1f;\n      goto LAB_00011a84;\n    }\n    if (local_817 == 0) {\n      pr2serr(\n             "--combined=DOF only allowed with --scattered=RD (i.e. only with\nWRITE SCATTERED command)\n"\n             );\n      local_908 = (stat64 *)0x1f;\n      goto LAB_00011a84;\n    }\n    if (local_798 != (char *)0x0) {\n      pr2serr("Ambiguous: got --combined=DOF and --scat-file=SF .\nGive one, the other or neither\n"\n             );\n      local_908 = (stat64 *)0x1f;\n      goto LAB_00011a84;\n    }\n    if (local_91c == (stat64 *)0x0 && local_918 == (stat64 *)0x0) {\n      local_93f = local_819;\n      bVar30 = false;\n      bVar31 = false;\n      if (local_819 == '\0') goto LAB_00011d67;\n      pr2serr("Ambiguous: don\'t expect --combined=DOF and --scat-raw\nGive one or the other\n");\n      local_908 = (stat64 *)0x1f;\n    }\n    else {\n      pr2serr("--scattered=RD --combined=DOF does not use --lba= or --num=\nPlease remove.\n");\n      local_908 = (stat64 *)0x1f;\n    }\n    goto LAB_00011a84;\n  }\n  local_920 = local_924;\n  psVar38 = local_7d0;\n  uVar16 = uStack_7c4;\n  uVar7 = local_7c0;\n  switch((int)uVar33) {\n  case 0x33:\n    local_81f = '\x01';\n    goto code_r0x000114e8;\n  default:\n    pcVar15 = "unrecognised option code 0x%x ??\n";\n    break;\n  case 0x36:\n    local_820 = '\x01';\n    goto code_r0x000114e8;\n  case 0x3f:\n    pcVar15 = "\n";\n    break;\n  case 0x41:\n    uVar7 = func_0x00011320(*(undefined4 *)PTR_optarg_0001dffc);\n    if (0xffff < uVar7) {\n      pr2serr("bad argument to \'--atomic=\'. Expect 0 to 0xffff inclusive\n");\n      goto LAB_00011a7a;\n    }\n    uStack_7e4 = (undefined2)uVar7;\n    local_81d = 1;\n    local_794 = (stat64 *)0x17112;\n    psVar38 = local_7d0;\n    uVar16 = uStack_7c4;\n    uVar7 = local_7c0;\n    goto code_r0x000114e8;\n  case 0x42:\n    uVar24 = func_0x00011320(*(undefined4 *)PTR_optarg_0001dffc);\n    if (7 < uVar24) {\n      pr2serr("bad first argument to \'--bmop=\'\n");\n      goto LAB_00011a7a;\n    }\n    uStack_7e8 = (undefined1)uVar24;\n    uVar36 = 0x2c;\n    uVar41 = uVar24;\n    pcVar15 = strchr(*(char **)puVar5,0x2c);\n    psVar38 = local_7d0;\n    uVar16 = uStack_7c4;\n    uVar7 = local_7c0;\n    if (pcVar15 != (char *)0x0) {\n      uVar7 = func_0x00011320(pcVar15 + 1,uVar36,uVar24,uVar41);\n      if (0xf < uVar7) {\n        pr2serr("bad second argument to \'--bmop=\'\n");\n        goto LAB_00011a7a;\n      }\n      uStack_7e7 = (undefined1)uVar7;\n      psVar38 = local_7d0;\n      uVar16 = uStack_7c4;\n      uVar7 = local_7c0;\n    }\n    goto code_r0x000114e8;\n  case 0x44:\n    uStack_80c = func_0x00011320(*(undefined4 *)PTR_optarg_0001dffc);\n    psVar38 = local_7d0;\n    uVar16 = uStack_7c4;\n    uVar7 = local_7c0;\n    if (7 < uStack_80c) {\n      pr2serr("bad argument to \'--dld=\', expect 0 to 7 inclusive\n");\n      goto LAB_00011a7a;\n    }\n    goto code_r0x000114e8;\n  case 0x47:\n    uVar33 = sg_get_llnum(*(undefined4 *)PTR_optarg_0001dffc);\n    uVar36 = (undefined4)uVar33;\n    if ((int)((ulonglong)uVar33 >> 0x20) != 0) {\n      pr2serr("bad first argument to \'--generation=\'\n");\n      goto LAB_00011a7a;\n    }\n    uVar37 = 0x2c;\n    uVar40 = uVar36;\n    uStack_7c8 = uVar36;\n    pcVar15 = strchr(*(char **)puVar5,0x2c);\n    if (pcVar15 == (char *)0x0) {\n      pr2serr("need two arguments with --generation=EOG,NOG and they must be comma separated\n",\n              uVar37,uVar36,uVar40);\n      goto LAB_00011a7a;\n    }\n    uVar33 = sg_get_llnum(pcVar15 + 1);\n    psVar38 = local_7d0;\n    uVar16 = (int)uVar33;\n    uVar7 = local_7c0;\n    if ((int)((ulonglong)uVar33 >> 0x20) != 0) {\n      pr2serr("bad second argument to \'--generation=\'\n",uVar37,uVar36,uVar40);\n      goto LAB_00011a7a;\n    }\n    goto code_r0x000114e8;\n  case 0x49:\n    local_7f4 = func_0x00011320(*(undefined4 *)PTR_optarg_0001dffc);\n    psVar38 = local_7d0;\n    uVar16 = uStack_7c4;\n    uVar7 = local_7c0;\n    if (local_7f4 < 0) {\n      pr2serr("bad argument to \'--timeout=\'\n");\n      goto LAB_00011a7a;\n    }\n    goto code_r0x000114e8;\n  case 0x4d:\n    uVar7 = func_0x00011320(*(undefined4 *)PTR_optarg_0001dffc);\n    if (1 < uVar7) {\n      pr2serr("bad argument to \'--same\', expect 0 or 1\n");\n      goto LAB_00011a7a;\n    }\n    local_810 = (byte)uVar7 & 1;\n    local_818 = 1;\n    local_794 = (stat64 *)0x17159;\n    psVar38 = local_7d0;\n    uVar16 = uStack_7c4;\n    uVar7 = local_7c0;\n    goto code_r0x000114e8;\n  case 0x4e:\n    local_814 = 1;\n    local_794 = (stat64 *)0x17164;\n    goto code_r0x000114e8;\n  case 0x4f:\n    local_81b = 1;\n    local_794 = (stat64 *)0x1716a;\n    goto code_r0x000114e8;\n  case 0x51:\n    local_81a = '\x01';\n    goto code_r0x000114e8;\n  case 0x52:\n    local_819 = '\x01';\n    goto code_r0x000114e8;\n  case 0x53:\n    uVar7 = func_0x00011320(*(undefined4 *)PTR_optarg_0001dffc);\n    if (0xffff < uVar7) {\n      pr2serr("bad argument to \'--scattered=\'. Expect 0 to 0xffff inclusive\n");\n      goto LAB_00011a7a;\n    }\n    local_7e0 = (ushort)uVar7;\n    local_794 = (stat64 *)0x17172;\n    local_817 = 1;\n    psVar38 = local_7d0;\n    uVar16 = uStack_7c4;\n    uVar7 = local_7c0;\n    goto code_r0x000114e8;\n  case 0x54:\n    uVar7 = func_0x00011320(*(undefined4 *)PTR_optarg_0001dffc);\n    if (0xffff < uVar7) {\n      pr2serr("bad argument to \'--stream=\', expect 0 to 65535\n");\n      goto LAB_00011a7a;\n    }\n    uStack_7de = (undefined2)uVar7;\n    local_794 = (stat64 *)0x17182;\n    local_816 = 1;\n    psVar38 = local_7d0;\n    uVar16 = uStack_7c4;\n    uVar7 = local_7c0;\n    goto code_r0x000114e8;\n  case 0x56:\n    local_80e = '\x01';\n    goto code_r0x000114e8;\n  case 0x61:\n    uVar7 = func_0x00011320(*(undefined4 *)PTR_optarg_0001dffc);\n    if (0xffff < uVar7) {\n      pr2serr("bad argument to \'--app-tag=\'. Expect 0 to 0xffff inclusive\n");\n      goto LAB_00011a7a;\n    }\n    local_7e6 = (ushort)uVar7;\n    psVar38 = local_7d0;\n    uVar16 = uStack_7c4;\n    uVar7 = local_7c0;\n    goto code_r0x000114e8;\n  case 0x62:\n    psVar17 = (stat64 *)func_0x00011320(*(undefined4 *)PTR_optarg_0001dffc);\n    if ((stat64 *)0x10000000 < psVar17) {\n      pr2serr("bad argument to \'--bs=\'. Expect 0 or greater\n");\n      goto LAB_00011a7a;\n    }\n    if (psVar17 == (stat64 *)0x0) {\n      local_7d8 = (stat64 *)0x0;\n      local_7d4 = (stat64 *)0x0;\n      psVar38 = local_7d0;\n      uVar16 = uStack_7c4;\n      uVar7 = local_7c0;\n    }\n    else {\n      if ((int)psVar17 < 0x200) {\n        pr2serr("warning: --bs=BS value is < 512 which seems too small, continue\n");\n        bVar1 = 1;\n      }\n      if (((uint)psVar17 & 7) != 0) {\n        pr2serr("warning: --bs=BS value is not a multiple of 8, unexpected, continue\n");\n        bVar1 = 1;\n      }\n      iVar21 = 0;\n      iVar10 = 0;\n      psVar38 = psVar17;\n      do {\n        if (((uint)psVar38 & 1) != 0) {\n          iVar21 = iVar10;\n        }\n        iVar10 = iVar10 + 1;\n        psVar38 = (stat64 *)((int)psVar38 >> 1);\n      } while (iVar10 != 0x1c);\n      psVar22 = (stat64 *)(1 << ((byte)iVar21 & 0x1f));\n      local_7d8 = psVar17;\n      local_7d4 = psVar17;\n      psVar38 = local_7d0;\n      uVar16 = uStack_7c4;\n      uVar7 = local_7c0;\n      if (psVar17 != psVar22) {\n        local_7d8 = psVar22;\n      }\n    }\n    goto code_r0x000114e8;\n  case 99:\n    iVar21 = func_0x00011320(*(undefined4 *)PTR_optarg_0001dffc);\n    if (iVar21 < 0) {\n      pr2serr("bad argument to \'--combined=\'. Expect 0 to 0x7fffffff\n");\n      goto LAB_00011a7a;\n    }\n    local_7e2 = (ushort)iVar21;\n    local_81c = '\x01';\n    psVar38 = local_7d0;\n    uVar16 = uStack_7c4;\n    uVar7 = local_7c0;\n    goto code_r0x000114e8;\n  case 100:\n    uStack_812 = 1;\n    goto code_r0x000114e8;\n  case 0x66:\n    uStack_811 = 1;\n    goto code_r0x000114e8;\n  case 0x67:\n    uStack_804 = func_0x00011320(*(undefined4 *)PTR_optarg_0001dffc);\n    psVar38 = local_7d0;\n    uVar16 = uStack_7c4;\n    uVar7 = local_7c0;\n    if (0x3f < uStack_804) {\n      pr2serr("bad argument to \'--grpnum\'\n");\n      goto LAB_00011a7a;\n    }\n    goto code_r0x000114e8;\n  case 0x68:\n    local_800 = local_800 + 1;\n    goto code_r0x000114e8;\n  case 0x69:\n    local_79c = *(char **)PTR_optarg_0001dffc;\n    goto code_r0x000114e8;\n  case 0x6c:\n    if (local_91c != (stat64 *)0x0) {\n      pr2serr("only expect \'--lba=\' option once\n");\n      goto LAB_00011a7a;\n    }\n    local_91c = *(stat64 **)PTR_optarg_0001dffc;\n    goto code_r0x000114e8;\n  case 0x6e:\n    if (local_918 != (stat64 *)0x0) {\n      pr2serr("only expect \'--num=\' option once\n");\n      goto LAB_00011a7a;\n    }\n    local_918 = *(stat64 **)PTR_optarg_0001dffc;\n    goto code_r0x000114e8;\n  case 0x6f:\n    lVar34 = sg_get_llnum(*(undefined4 *)PTR_optarg_0001dffc);\n    psVar17 = (stat64 *)lVar34;\n    if (lVar34 == -1) {\n      pr2serr("bad first argument to \'--offset=\'\n");\n      goto LAB_00011a7a;\n    }\n    uVar36 = 0x2c;\n    psVar22 = psVar17;\n    local_7b4 = psVar17;\n    local_7b0 = (stat64 *)((ulonglong)lVar34 >> 0x20);\n    pcVar15 = strchr(*(char **)puVar5,0x2c);\n    psVar38 = local_7d0;\n    uVar16 = uStack_7c4;\n    uVar7 = local_7c0;\n    if (pcVar15 != (char *)0x0) {\n      lVar34 = sg_get_llnum(pcVar15 + 1,uVar36,psVar17,psVar22);\n      psVar38 = (stat64 *)lVar34;\n      uVar16 = uStack_7c4;\n      uVar7 = local_7c0;\n      if ((int)((ulonglong)lVar34 >> 0x20) == -1) {\n        if (psVar38 == (stat64 *)0xffffffff) {\n          pr2serr("bad second argument to \'--offset=\'\n");\n          goto LAB_00011a7a;\n        }\n      }\n      else if (0xffffffff < lVar34) {\n        pr2serr("bad second argument to \'--offset=\', cannot exceed 32 bits\n");\n        goto LAB_00011a7a;\n      }\n    }\n    goto code_r0x000114e8;\n  case 0x71:\n    local_798 = *(char **)PTR_optarg_0001dffc;\n    goto code_r0x000114e8;\n  case 0x72:\n    goto code_r0x000115f1;\n  case 0x73:\n    local_7f8 = local_7f8 + 1;\n    goto code_r0x000114e8;\n  case 0x74:\n    uVar7 = func_0x00011320(*(undefined4 *)PTR_optarg_0001dffc);\n    if (0xffff < uVar7) {\n      pr2serr("bad argument to \'--tag-mask=\'. Expect 0 to 0xffff inclusive\n");\n      goto LAB_00011a7a;\n    }\n    local_7dc = (ushort)uVar7;\n    psVar38 = local_7d0;\n    uVar16 = uStack_7c4;\n    uVar7 = local_7c0;\n    goto code_r0x000114e8;\n  case 0x75:\n    uVar7 = func_0x00011320(*(undefined4 *)puVar20);\n    if (3 < uVar7) {\n      pr2serr("bad argument to \'--unmap=\', expect 0 to 3\n");\n      goto LAB_00011a7a;\n    }\n    bStack_81e = (byte)(uVar7 >> 1) & 1;\n    bStack_815 = (byte)uVar7 & 1;\n    psVar38 = local_7d0;\n    uVar16 = uStack_7c4;\n    uVar7 = local_7c0;\n    goto code_r0x000114e8;\n  case 0x76:\n    local_80f = '\x01';\n    local_7f0 = (stat64 *)((int)&local_7f0->st_dev + 1);\n    goto code_r0x000114e8;\n  case 0x77:\n    local_7ec = (stat64 *)func_0x00011320(*(undefined4 *)puVar20);\n    if ((stat64 *)0x7 < local_7ec) {\n      pr2serr("bad argument to \'--wrprotect\'\n");\n      goto LAB_00011a7a;\n    }\n    local_813 = 0 < (int)local_7ec;\n    psVar38 = local_7d0;\n    uVar16 = uStack_7c4;\n    uVar7 = local_7c0;\n    goto code_r0x000114e8;\n  case 0x78:\n    iStack_808 = iStack_808 + 1;\n    goto code_r0x000114e8;\n  }\n  pr2serr(pcVar15);\n  FUN_000149b0();\n  goto LAB_00011a7a;\nLAB_00011c60:\n  while (*(int *)puVar4 < iVar14) {\n    pr2serr("Unexpected extra argument: %s\n",*(undefined4 *)(iVar28 + *(int *)puVar4 * 4),iVar10,\n            iVar10);\n    *(int *)puVar4 = *(int *)puVar4 + 1;\n    iVar10 = extraout_EDX;\n  }\n  FUN_000149b0();\n  local_908 = (stat64 *)0x1;\n  goto LAB_00011a84;\n  while( true ) {\n    iVar14 = iVar14 + -1;\n    cVar6 = *pcVar15;\n    pcVar15 = pcVar15 + (uint)bVar32 * -2 + 1;\n    if (cVar6 == '\0') break;\ncode_r0x00011d5c:\n    if (iVar14 == 0) break;\n  }\n  if ((iVar14 == -3) && (*local_798 == '-')) {\n    pr2serr("don\'t accept \'-\' (implying stdin) as a filename in --scat-file=SF\n");\n    local_908 = (stat64 *)0x1f;\n    goto LAB_00011a84;\n  }\nLAB_00011d67:\n  if (((psVar38 != (stat64 *)0x0) && (local_820 != '\0')) &&\n     ((local_7c0 != 0xffffffff || ((local_7e6 & local_7dc) != 0xffff)))) {\n    pr2serr("--app-tag=, --ref-tag= and --tag-mask= options ignored with 16 byte commands\n");\n  }\n  psVar45 = local_7d0;\n  psVar9 = (stat64 *)(uint)local_810;\n  if (local_810 == 0) {\n    local_93c = local_7d0;\n    cVar2 = '\0';\n    if (local_79c == (char *)0x0) {\n      pr2serr("Need --if=FN option to be given, exiting.\n");\n      if (1 < (int)psVar38) {\n        pr2serr("To write zeros use --in=/dev/zero\n");\n      }\n      pr2serr("\n");\n      FUN_000149b0();\n      local_908 = (stat64 *)0x1;\n      goto LAB_00011a84;\n    }\n    iVar14 = -1;\n    pcVar15 = local_79c;\n    do {\n      if (iVar14 == 0) break;\n      iVar14 = iVar14 + -1;\n      cVar6 = *pcVar15;\n      pcVar15 = pcVar15 + (uint)bVar32 * -2 + 1;\n    } while (cVar6 != '\0');\n    if ((iVar14 != -3) || (*local_79c != '-')) {\n      local_924 = (stat64 *)open64(local_79c,0,iVar14,iVar14);\n      if ((int)local_924 < 0) {\n        piVar19 = __errno_location();\n        iVar14 = *piVar19;\n        pcVar15 = "could not open %s for reading";\n      }\n      else {\n        psVar17 = (stat64 *)sg_set_binary_mode(local_924);\n        if ((int)psVar17 < 0) goto LAB_00011dea;\n        psVar22 = local_924;\n        psVar8 = local_930;\n        iVar14 = __fxstat64(3,(int)local_924,local_930);\n        if (-1 < iVar14) {\n          if ((local_8e0._16_4_ & 0xf000) == 0x8000) {\n            local_93c = (stat64 *)local_8e0._44_4_;\n            if (psVar45 != (stat64 *)0x0) {\n              local_93c = psVar45;\n            }\n            if ((local_8b0 != 0 || (stat64 *)local_8e0._44_4_ != (stat64 *)0x0) &&\n               (psVar25 = (stat64 *)((int)&((stat64 *)(local_8e0._44_4_ + -0x60))->st_ino + 7),\n               iVar28 = local_8b0 + -1 + (uint)((stat64 *)local_8e0._44_4_ != (stat64 *)0x0),\n               iVar14 = (int)local_7b0 - iVar28,\n               (SBORROW4((int)local_7b0,iVar28) != SBORROW4(iVar14,(uint)(local_7b4 < psVar25))) ==\n               (int)(iVar14 - (uint)(local_7b4 < psVar25)) < 0)) {\n              pr2serr("Offset (%llu) is at or beyond IF byte length (%llu)\n",local_7b4,local_7b0,\n                      local_8e0._44_4_,local_8b0,psVar22,psVar8,psVar17);\n              local_908 = (stat64 *)0xf;\n              goto LAB_00012527;\n            }\n            psVar9 = local_7b4;\n            psVar45 = (stat64 *)local_8e0._44_4_;\n            iVar14 = local_8b0;\n            if (local_7b0 != (stat64 *)0x0 || local_7b4 != (stat64 *)0x0) {\n              psVar17 = (stat64 *)0x0;\n              psVar22 = local_7b4;\n              psVar8 = local_7b0;\n              _Var35 = lseek64((int)local_924,CONCAT44(local_7b0,local_7b4),0);\n              psVar25 = local_7b4;\n              if (_Var35 < 0) {\n                piVar19 = __errno_location();\n                psVar25 = (stat64 *)(local_174 + 0x50);\n                iVar14 = *piVar19;\n                __snprintf_chk(psVar25,0x100,1,0x100,"couldn\'t offset to required position on %s",\n                               local_79c,piVar19,piVar19);\n                perror((char *)psVar25);\n                local_908 = (stat64 *)sg_convert_errno(iVar14);\n                goto LAB_00012527;\n              }\n              psVar9 = (stat64 *)((int)psVar45 - (int)local_7b4);\n              iVar14 = (local_8b0 - (int)local_7b0) - (uint)(psVar45 < local_7b4);\n              local_930 = psVar45;\n              if ((int)(uint)(psVar9 != (stat64 *)0x0) <= -iVar14) {\n                pr2serr("--offset [0x%llx] at or beyond file length[0x%llx]\n",local_7b4,local_7b0,\n                        psVar45,local_8b0);\n                local_908 = (stat64 *)0xf;\n                goto LAB_00012527;\n              }\n              if ((local_7f8 != 0) &&\n                 (local_930 = local_7d0, iVar14 < (int)(uint)(psVar9 < local_7d0))) {\n                pr2serr("after accounting for OFF, DLEN exceeds %s remaining length (%u bytes)\n",\n                        local_79c,psVar9,psVar9);\n                local_908 = (stat64 *)0xf;\n                psVar25 = psVar9;\n                goto LAB_00012527;\n              }\n              if (iVar14 < (int)(uint)(psVar9 < local_93c)) {\n                local_93c = psVar9;\n              }\n              psVar45 = psVar9;\n              if (2 < (int)psVar38) {\n                psVar22 = local_7b4;\n                psVar8 = local_93c;\n                psVar17 = psVar9;\n                psVar9 = (stat64 *)\n                         pr2serr("Moved IF byte pointer to %u, if_len=%u, if_readable_len=%u\n",\n                                 local_7b4,local_93c,psVar9);\n              }\n            }\n            goto LAB_00011fa8;\n          }\n          goto LAB_00011e6c;\n        }\n        piVar19 = __errno_location();\n        iVar14 = *piVar19;\n        pcVar15 = "could not fstat %s";\n      }\n      __snprintf_chk(local_174 + 0x50,0x100,1,0x100,pcVar15,local_79c,piVar19,piVar19);\n      perror(local_174 + 0x50);\n      local_908 = (stat64 *)sg_convert_errno(iVar14);\n      goto LAB_00011a84;\n    }\n    iVar14 = sg_set_binary_mode(0);\n    cVar2 = '\x01';\n    local_924 = (stat64 *)0x0;\n    if (iVar14 < 0) {\nLAB_00011dea:\n      perror("sg_set_binary_mode");\n      local_908 = (stat64 *)0xf;\n      goto LAB_00011a84;\n    }\nLAB_00011e6c:\n    if (((stat64 *)((uint)local_7b0 | (uint)local_7b4) == (stat64 *)0x0) ||\n       (psVar38 == (stat64 *)0x0)) {\n      psVar9 = (stat64 *)((uint)local_7b0 | (uint)local_7b4);\n      psVar45 = (stat64 *)0x0;\n      iVar14 = 0;\n    }\n    else {\n      psVar9 = (stat64 *)\n               pr2serr(\n                      "--offset=OFF ignored when IF is stdin, pipe, socket, etc\nDLEN, if given, is used\n"\n                      );\n      psVar45 = (stat64 *)0x0;\n      iVar14 = 0;\n    }\n  }\n  else {\n    local_924 = (stat64 *)0xffffffff;\n    cVar2 = '\0';\n    psVar45 = (stat64 *)0x0;\n    iVar14 = 0;\n    local_93c = (stat64 *)0x0;\n  }\nLAB_00011fa8:\n  if (local_7a0 == (stat64 *)0x0) {\n    pr2serr("missing device name!\n",psVar22,psVar8,psVar17);\n    FUN_000149b0();\n    local_908 = (stat64 *)0x1;\n    psVar25 = (stat64 *)0x0;\nLAB_00012527:\n    if (local_8f0 == (void *)0x0) goto LAB_000123a1;\n    free(local_8f0);\n    goto LAB_000123a1;\n  }\n  pcVar15 = (char *)0x0;\n  psVar17 = psVar38;\n  uVar33 = sg_cmds_open_device(local_7a0,0,psVar38,psVar9);\n  psVar25 = local_7d8;\n  psVar22 = (stat64 *)((ulonglong)uVar33 >> 0x20);\n  local_930 = (stat64 *)uVar33;\n  if ((int)local_930 < 0) {\n    psVar25 = (stat64 *)-(int)local_930;\n    if (local_7f0 != (stat64 *)0x0) {\n      uVar16 = safe_strerror(psVar25);\n      pr2serr("open error: %s: %s\n",local_7a0,uVar16);\n    }\n    local_908 = (stat64 *)sg_convert_errno(psVar25);\n    goto LAB_00012527;\n  }\n  psVar8 = local_7d4;\n  psVar11 = local_7d4;\n  if (local_7d8 == (stat64 *)0x0) {\n    psVar17 = (stat64 *)0x0;\n    if (local_7f0 != (stat64 *)0x0) {\n      psVar17 = (stat64 *)((int)&local_7f0[-1].st_ino + 7);\n    }\n    psVar22 = (stat64 *)local_174;\n    psVar11 = (stat64 *)0x1;\n    pcVar15 = (char *)0x20;\n    psVar9 = psVar17;\n    psVar8 = local_7f0;\n    uVar33 = sg_ll_readcap_16(local_930,0,0,0,psVar22,0x20,1,psVar17,psVar22,local_7f0,psVar45,\n                              iVar14);\n    if ((int)uVar33 == 6) {\n      pr2serr("Read capacity(16) unit attention, try again\n");\n      uVar33 = sg_ll_readcap_16(local_930,0,0,0,psVar22,0x20,1,psVar17);\n    }\n    psVar23 = (stat64 *)((ulonglong)uVar33 >> 0x20);\n    local_908 = (stat64 *)uVar33;\n    if (local_908 == (stat64 *)0x0) {\n      psVar17 = psVar11;\n      if (3 < (int)psVar8) {\n        pr2serr("Read capacity(16) response:\n");\n        psVar17 = (stat64 *)0x1;\n        pcVar15 = (char *)0x20;\n        hex2stderr(psVar22,0x20,1);\n      }\n      bVar1 = local_174[0xc];\n      psVar11 = (stat64 *)\n                ((uint)local_174._8_4_ >> 0x18 | (local_174._8_4_ & 0xff0000) >> 8 |\n                 (local_174._8_4_ & 0xff00) << 8 | local_174._8_4_ << 0x18);\n      uVar7 = (uint)local_174._4_4_ >> 0x18 | (local_174._4_4_ & 0xff0000) >> 8 |\n              (local_174._4_4_ & 0xff00) << 8 | local_174._4_4_ << 0x18;\n      local_7ac = uVar7 + 1;\n      local_7a8 = ((uint)local_174._0_4_ >> 0x18 | (local_174._0_4_ & 0xff0000) >> 8 |\n                   (local_174._0_4_ & 0xff00) << 8 | local_174._0_4_ << 0x18) +\n                  (uint)(0xfffffffe < uVar7);\n      psVar22 = (stat64 *)(uint)local_174[0xc];\n      local_7d8 = psVar11;\n      if ((local_174[0xc] & 1) == 0) {\n        local_7fc = 0;\n        if ((int)local_7ec < 1) goto LAB_00012305;\n        if (psVar8 != (stat64 *)0x0) {\n          pcVar15 = (char *)local_7ec;\n          psVar22 = local_7a0;\n          pr2serr("--wrprotect (%d) expects PI but %s says it has none\n",local_7ec,local_7a0,\n                  psVar11);\n          if (local_7f8 != 0) goto LAB_00012ef5;\n          pcVar13 = "  ... continue but could be dangerous\n";\n          psVar25 = (stat64 *)0x0;\n          psVar9 = psVar11;\n          goto LAB_00013516;\n        }\n        if (local_7f8 != 0) goto LAB_00012ef5;\n      }\n      else {\n        local_7fc = (local_174[0xc] >> 1 & 7) + 1;\n        psVar25 = (stat64 *)(8 << (local_174[0xd] >> 4));\n        psVar22 = (stat64 *)(uint)(local_174[0xd] >> 4);\n        if (((int)local_7ec < 1) ||\n           (local_7d4 = (stat64 *)((int)&psVar25->st_dev + (int)&psVar11->st_dev), (int)psVar8 < 2))\n        {\nLAB_00012305:\n          if (psVar8 == (stat64 *)0x0) goto LAB_00012312;\n        }\n        else {\n          pcVar13 = \n          "  For data out buffer purposes the effective block size is %u (lb size\n  is %u) because PROT_EN=1, PI_EXP=%u and WRPROTECT>0\n"\n          ;\n          pcVar15 = (char *)psVar11;\n          psVar9 = local_7d4;\nLAB_00013516:\n          pr2serr(pcVar13,pcVar15,psVar22,psVar9);\n          psVar17 = psVar22;\n        }\n        pr2serr("Read capacity(16) response fields:\n",pcVar15,psVar17,psVar9);\n        psVar25 = (stat64 *)((int)&local_7d8->st_dev + (int)&psVar25->st_dev);\n        psVar9 = extraout_ECX_06;\n        pr2serr("  Last_LBA=0x%llx  LB size: %u (with PI: %u) bytes  p_type=%u\n",local_7ac + -1,\n                local_7a8 + -1 + (uint)(local_7ac != 0),local_7d8,psVar25,local_174[0xc] >> 1 & 7,\n                extraout_ECX_06,extraout_ECX_06);\n        pr2serr("  prot_en=%u [PI type=%u] p_i_exp=%u  lbppb_exp=%u  lbpme,rz=%u,",bVar1 & 1,\n                local_7fc,local_174[0xd] >> 4,local_174[0xd] & 0xf,\n                (uint)(int)(char)local_174[0xe] >> 0x1f);\n        psVar17 = (stat64 *)\n                  ((ushort)(local_174._14_2_ << 8 | (ushort)local_174._14_2_ >> 8) & 0x3fff);\n        pcVar15 = (char *)(local_174[0xe] >> 6 & 1);\n        pr2serr("%u  low_ali_lba=%u\n",pcVar15,psVar17);\n        psVar22 = extraout_EDX_04;\n      }\n    }\n    else {\n      if (((int)local_908 - 5U & 0xfffffffb) != 0) {\n        if (psVar8 != (stat64 *)0x0) {\n          puVar43 = local_174 + 0x50;\n          psVar25 = (stat64 *)"OS error";\n          puVar29 = puVar43;\n          for (iVar14 = 9; iVar14 != 0; iVar14 = iVar14 + -1) {\n            *puVar29 = (char)psVar25->st_dev;\n            psVar25 = (stat64 *)((int)psVar25 + (uint)bVar32 * -2 + 1);\n            puVar29 = puVar29 + (uint)bVar32 * -2 + 1;\n          }\n          psVar18 = local_908;\n          if (0 < (int)local_908) {\n            psVar18 = (stat64 *)sg_get_category_sense_str(local_908,0x50,puVar43,psVar8);\n          }\n          pr2serr("Read capacity(16): %s\n",puVar43,psVar18,psVar18);\n          pr2serr("Unable to calculate block size\n");\n        }\n        if (0 < (int)local_908) goto LAB_00012354;\n        goto LAB_00012ef5;\n      }\n      if (psVar8 == (stat64 *)0x0) {\n        pcVar15 = (char *)0x1;\n        uVar33 = sg_ll_readcap_10(local_930,0,0,psVar22,8,1,psVar17,psVar23);\n        psVar22 = (stat64 *)((ulonglong)uVar33 >> 0x20);\n        local_908 = (stat64 *)uVar33;\n        psVar9 = psVar23;\n        if (local_908 != (stat64 *)0x0) {\nLAB_00013444:\n          puVar43 = local_174 + 0x50;\n          psVar25 = (stat64 *)"OS error";\n          puVar29 = puVar43;\n          for (iVar14 = 9; iVar14 != 0; iVar14 = iVar14 + -1) {\n            *puVar29 = (char)psVar25->st_dev;\n            psVar25 = (stat64 *)((int)psVar25 + (uint)bVar32 * -2 + 1);\n            puVar29 = puVar29 + (uint)bVar32 * -2 + 1;\n          }\n          if (0 < (int)local_908) {\n            sg_get_category_sense_str(local_908,0x50,puVar43,psVar8);\n            pr2serr("Read capacity(10): %s\n",puVar43);\n            pr2serr("Unable to calculate block size\n");\n            goto LAB_00012354;\n          }\n          __snprintf_chk(puVar43,0x50,1,0x50,"error: %d",local_908,local_908,local_908);\n          pr2serr("Read capacity(10): %s\n",puVar43);\n          pr2serr("Unable to calculate block size\n");\n          local_908 = (stat64 *)0xf;\n          goto LAB_00012354;\n        }\n      }\n      else {\n        psVar25 = psVar22;\n        pr2serr("Read capacity(16) not supported, try Read capacity(10)\n");\n        pcVar15 = (char *)0x1;\n        uVar33 = sg_ll_readcap_10(local_930,0,0,psVar25,8,1,psVar17);\n        psVar22 = (stat64 *)((ulonglong)uVar33 >> 0x20);\n        local_908 = (stat64 *)uVar33;\n        if (local_908 != (stat64 *)0x0) goto LAB_00013444;\n        if (3 < (int)psVar8) {\n          pr2serr("Read capacity(10) response:\n");\n          psVar17 = (stat64 *)0x1;\n          pcVar15 = (char *)0x8;\n          hex2stderr(psVar25,8,1);\n          psVar22 = extraout_EDX_03;\n        }\n      }\n      local_7a8 = 0;\n      local_7ac = ((uint)local_174._0_4_ >> 0x18 | (local_174._0_4_ & 0xff0000) >> 8 |\n                   (local_174._0_4_ & 0xff00) << 8 | local_174._0_4_ << 0x18) + 1;\n      local_7d8 = (stat64 *)\n                  ((uint)local_174._4_4_ >> 0x18 | (local_174._4_4_ & 0xff0000) >> 8 |\n                   (local_174._4_4_ & 0xff00) << 8 | local_174._4_4_ << 0x18);\n    }\nLAB_00012312:\n    local_7d4 = local_7d8;\n    if (local_813 != '\0') {\n      local_7d4 = (stat64 *)&local_7d8->__pad1;\n    }\n    psVar8 = local_7d4;\n    psVar11 = local_7d8;\n    if (local_7d4 == (stat64 *)0x0) goto LAB_00012338;\n  }\n  local_7d4 = psVar8;\n  if (psVar11 == (stat64 *)0x0) {\nLAB_00012338:\n    pr2serr("Logic error, need block size by now\n",pcVar15,psVar17);\n    local_908 = (stat64 *)0x1;\n    goto LAB_00012354;\n  }\n  if ((local_810 == 0) &&\n     (psVar22 = (stat64 *)((uint)local_93c % (uint)psVar8), psVar22 != (stat64 *)0x0)) {\n    if (1 < (int)local_7f8) {\n      pr2serr("Error: number of bytes to read from IF [%u] is not a multiple\nblock size %u (including protection information)\n"\n              ,local_93c,psVar8,local_7f8);\n      local_908 = (stat64 *)0xf;\n      goto LAB_00012354;\n    }\n    psVar11 = (stat64 *)(local_7f8 | (uint)psVar38);\n    if (psVar11 != (stat64 *)0x0) {\n      pcVar15 = (char *)local_93c;\n      pr2serr("Warning: number of bytes to read from IF [%u] is not a multiple\nof actual block size %u; pad with zeros\n"\n              ,local_93c,psVar8,psVar11);\n      psVar22 = extraout_EDX_02;\n      psVar17 = psVar8;\n      psVar9 = psVar11;\n    }\n  }\n  puVar42 = &local_578;\n  puVar26 = puVar42;\n  for (iVar14 = 0x100; iVar14 != 0; iVar14 = iVar14 + -1) {\n    *puVar26 = 0;\n    puVar26 = puVar26 + (uint)bVar32 * -2 + 1;\n  }\n  ppsVar44 = local_778;\n  ppsVar27 = ppsVar44;\n  for (iVar14 = 0x80; iVar14 != 0; iVar14 = iVar14 + -1) {\n    *ppsVar27 = (stat64 *)0x0;\n    ppsVar27 = ppsVar27 + (uint)bVar32 * -2 + 1;\n  }\n  if (bVar31) {\n    uVar7 = 0xffffffff;\n    psVar22 = local_91c;\n    do {\n      if (uVar7 == 0) break;\n      uVar7 = uVar7 - 1;\n      p_Var3 = &psVar22->st_dev;\n      psVar22 = (stat64 *)((int)psVar22 + (uint)bVar32 * -2 + 1);\n    } while ((char)*p_Var3 != '\0');\n    psVar25 = (stat64 *)(~uVar7 - 1);\n    if ((char)local_91c->st_dev == '-') {\n      pr2serr("\'--lba\' cannot be read from stdin\n",pcVar15,psVar17,psVar9);\n      goto LAB_00012130;\n    }\n    pcVar15 = "0123456789aAbBcCdDeEfFhHxXiIkKmMgGtTpP, ";\n    psVar17 = local_91c;\n    psVar9 = local_91c;\n    psVar8 = (stat64 *)strspn((char *)local_91c,"0123456789aAbBcCdDeEfFhHxXiIkKmMgGtTpP, ");\n    psVar22 = psVar25;\n    if (psVar25 == psVar8) {\n      psVar22 = (stat64 *)0x0;\n      psVar25 = local_91c;\n      while( true ) {\n        lVar34 = sg_get_llnum(psVar25,pcVar15,psVar17,psVar9);\n        psVar17 = (stat64 *)lVar34;\n        if (lVar34 == -1) break;\n        puVar42[(int)psVar22 * 2] = (uint)psVar17;\n        puVar42[(int)psVar22 * 2 + 1] = (uint)((ulonglong)lVar34 >> 0x20);\n        psVar9 = psVar17;\n        pcVar12 = strchr((char *)psVar25,0x2c);\n        pcVar15 = (char *)0x20;\n        pcVar13 = strchr((char *)psVar25,0x20);\n        if (pcVar12 == (char *)0x0) {\n          if (pcVar13 == (char *)0x0) {\n            local_91c = (stat64 *)((int)&psVar22->st_dev + 1);\n            if (local_93f != '\0') goto LAB_000126fa;\n            psVar22 = (stat64 *)0x0;\n            psVar17 = extraout_ECX;\n            if (local_91c != (stat64 *)0x1) goto LAB_00012a73;\n            goto LAB_00012820;\n          }\n        }\n        else if ((pcVar13 == (char *)0x0) || (pcVar12 <= pcVar13)) {\n          pcVar13 = pcVar12;\n        }\n        psVar22 = (stat64 *)((int)&psVar22->st_dev + 1);\n        psVar25 = (stat64 *)(pcVar13 + 1);\n        if (psVar22 == (stat64 *)0x80) goto LAB_00013b9f;\n      }\n      psVar8 = (stat64 *)((int)psVar25 - (int)local_91c);\n    }\n    pr2serr("build_lba_arr: error at pos %d\n",(undefined *)((int)&psVar8->st_dev + 1),psVar22,\n            psVar22);\n    goto LAB_00012130;\n  }\n  local_91c = (stat64 *)0x0;\n  if (bVar30) {\nLAB_000126fa:\n    psVar8 = (stat64 *)0xffffffff;\n    psVar22 = local_918;\n    do {\n      if (psVar8 == (stat64 *)0x0) break;\n      psVar8 = (stat64 *)((int)&psVar8[-1].st_ino + 7);\n      p_Var3 = &psVar22->st_dev;\n      psVar22 = (stat64 *)((int)psVar22 + (uint)bVar32 * -2 + 1);\n    } while ((char)*p_Var3 != '\0');\n    psVar25 = (stat64 *)(~(uint)psVar8 - 1);\n    if ((char)local_918->st_dev == '-') {\n      pr2serr("\'--len\' cannot be read from stdin\n");\n    }\n    else {\n      pcVar15 = "0123456789aAbBcCdDeEfFhHxXiIkKmMgGtTpP, ";\n      psVar17 = psVar8;\n      psVar22 = (stat64 *)strspn((char *)local_918,"0123456789aAbBcCdDeEfFhHxXiIkKmMgGtTpP, ");\n      psVar9 = extraout_EDX_00;\n      if (psVar25 == psVar22) {\n        psVar9 = (stat64 *)0x0;\n        psVar25 = local_918;\n        do {\n          lVar34 = sg_get_llnum(psVar25,pcVar15,psVar8,psVar17);\n          psVar8 = (stat64 *)lVar34;\n          if ((int)((ulonglong)lVar34 >> 0x20) == -1) {\n            if (psVar8 == (stat64 *)0xffffffff) {\n              psVar22 = (stat64 *)((int)psVar25 - (int)local_918);\n              goto LAB_000127bf;\n            }\n          }\n          else if (0xffffffff < lVar34) {\n            psVar17 = (stat64 *)((int)psVar25 + (1 - (int)local_918));\n            pcVar15 = "build_num_arr";\n            pr2serr("%s: number exceeds 32 bits at pos %d\n","build_num_arr",psVar17,psVar9);\n            goto LAB_000127d9;\n          }\n          ppsVar44[(int)psVar9] = psVar8;\n          psVar17 = psVar8;\n          pcVar12 = strchr((char *)psVar25,0x2c);\n          pcVar15 = (char *)0x20;\n          pcVar13 = strchr((char *)psVar25,0x20);\n          if (pcVar12 == (char *)0x0) {\n            if (pcVar13 == (char *)0x0) {\n              puVar20 = (undefined *)((int)&psVar9->st_dev + 1);\n              psVar22 = (stat64 *)0x0;\n              psVar17 = extraout_ECX_00;\n              if ((undefined *)0x1 < local_91c) {\n                if ((stat64 *)puVar20 == local_91c) goto LAB_00012820;\n                goto LAB_00012a73;\n              }\n              if (local_91c == (stat64 *)0x0) {\n                if (puVar20 != (undefined *)0x1) {\nLAB_00012a73:\n                  pr2serr("need same number of arguments to \'--lba=\' and \'--num=\' options\n");\n                  local_908 = (stat64 *)0x1f;\n                  goto LAB_00012354;\n                }\n                local_91c = (stat64 *)(undefined *)0x1;\n                if (local_778[0] != (stat64 *)0x0) {\n                  pr2serr("won\'t write %u blocks without an explicit --lba= option\n",local_778[0],\n                          extraout_ECX_00,extraout_ECX_00);\n                  local_908 = (stat64 *)0x1;\n                  goto LAB_00012354;\n                }\n              }\n              else {\n                local_91c = (stat64 *)(undefined *)0x1;\n              }\n              goto LAB_00012820;\n            }\n          }\n          else if ((pcVar13 == (char *)0x0) || (pcVar12 <= pcVar13)) {\n            pcVar13 = pcVar12;\n          }\n          psVar9 = (stat64 *)((int)&psVar9->st_dev + 1);\n          psVar25 = (stat64 *)(pcVar13 + 1);\n        } while (psVar9 != (stat64 *)0x80);\n        pcVar15 = "build_num_arr";\n        psVar17 = extraout_ECX_00;\n        psVar9 = extraout_ECX_00;\n        pr2serr("%s: array length exceeded\n","build_num_arr",extraout_ECX_00,extraout_ECX_00);\n      }\n      else {\nLAB_000127bf:\n        psVar17 = (stat64 *)((int)&psVar22->st_dev + 1);\n        pcVar15 = "build_num_arr";\n        pr2serr("%s: error at pos %d\n","build_num_arr",psVar17,psVar9);\n      }\n    }\nLAB_000127d9:\n    pr2serr("bad argument to \'--num\'\n",pcVar15,psVar17,psVar9);\n    local_908 = (stat64 *)0x0;\n    goto LAB_00012354;\n  }\n  psVar17 = (stat64 *)0x0;\n  local_91c = (stat64 *)(undefined *)0x0;\nLAB_00012820:\n  if (local_798 == (char *)0x0) {\nLAB_00012ce5:\n    local_908 = (stat64 *)0x0;\n    local_880._44_4_ = psVar25;\n  }\n  else {\n    pcVar15 = local_798;\n    iVar14 = __xstat64(3,local_798,psVar18);\n    if (iVar14 < 0) {\n      piVar19 = __errno_location();\n      psVar25 = (stat64 *)*piVar19;\n      uVar16 = safe_strerror(psVar25);\n      pcVar15 = "Unable to stat(%s) as SF: %s\n";\nLAB_000136f9:\n      pr2serr(pcVar15,local_798,uVar16);\n      local_908 = (stat64 *)sg_convert_errno(psVar25);\n      goto LAB_00012354;\n    }\n    if (local_819 == '\0') {\n      iVar14 = 0;\n      if (local_7e0 != 0) {\n        iVar14 = (local_7e0 + 1) * 0x20;\n      }\n      local_908 = (stat64 *)FUN_000156d0(0,&local_8f8,&local_8f4,iVar14);\n      if (local_908 != (stat64 *)0x0) goto LAB_00012354;\n      psVar17 = extraout_ECX_04;\n      if ((local_7e0 != 0) && (local_7e0 != local_8f8)) {\n        if (local_8f8 < local_7e0) {\n          pr2serr("RD (%u) %s number of %ss (%u) found in SF\n",local_7e0,&DAT_000170dd,\n                  "LBA range descriptor",local_8f8);\n          local_908 = (stat64 *)0xf;\n          goto LAB_00012354;\n        }\n        psVar25 = (stat64 *)((uint)psVar38 | local_7f8);\n        if ((psVar25 != (stat64 *)0x0) &&\n           (pr2serr("RD (%u) %s number of %ss (%u) found in SF\n",local_7e0,&DAT_00017110,\n                    "LBA range descriptor",local_8f8), psVar17 = extraout_ECX_01, local_7f8 != 0))\n        goto LAB_00012ef5;\n      }\n      goto LAB_00012ce5;\n    }\n    if ((local_880._16_4_ & 0xf000) != 0x8000) {\n      pr2serr("Expect scatter file to be a regular file\n",pcVar15,psVar18,psVar22);\n      local_908 = (stat64 *)0xf;\n      goto LAB_00012354;\n    }\n    local_908 = (stat64 *)local_880._44_4_;\n    local_920 = (stat64 *)open64(local_798,0,0x8000,0x8000);\n    if ((int)local_920 < 0) {\n      piVar19 = __errno_location();\n      psVar25 = (stat64 *)*piVar19;\n      uVar16 = safe_strerror(psVar25);\n      pcVar15 = "Failed to open %s for raw read: %s\n";\n      goto LAB_000136f9;\n    }\n    iVar14 = sg_set_binary_mode(local_920);\n    psVar17 = extraout_ECX_05;\n    if (iVar14 < 0) {\n      perror("sg_set_binary_mode");\n      local_908 = (stat64 *)0xf;\n      psVar25 = (stat64 *)local_880._44_4_;\n      goto LAB_00012354;\n    }\n  }\n  psVar18 = local_7f0;\n  psVar25 = local_8f4;\n  if (local_817 == 0) {\n    if (local_91c == (stat64 *)0x0) {\n      psVar25 = (stat64 *)local_880._44_4_;\n      if (local_798 == (char *)0x0) {\n        if (local_819 == '\0') {\n          pr2serr("No LBA or number_of_blocks given, try using --lba= and --num=\n");\n          local_908 = (stat64 *)0x1;\n          goto LAB_00012354;\n        }\n      }\n      else if (local_819 == '\0') {\n        local_8f4 = (stat64 *)0x0;\n        uVar33 = FUN_000156d0(local_174 + 0x50,&local_8f8,&local_8f4,0x60);\n        uVar16 = (undefined4)((ulonglong)uVar33 >> 0x20);\n        local_908 = (stat64 *)uVar33;\n        if (local_908 != (stat64 *)0x0) goto LAB_00012354;\n        if (psVar38 != (stat64 *)0x0) {\n          uVar7 = (uint)local_8f8;\n          if (1 < local_8f8) {\n            uVar7 = pr2serr("warning: %d LBA,number_of_blocks pairs found, only taking first\n",\n                            uVar7,uVar16,uVar16);\n          }\n          if (2 < (int)psVar38) {\n            pr2serr("after build_t10_scat, num_lbard=%u, sum_num=%u\n",local_8f8,local_8f4,uVar7);\n          }\n        }\n        if (local_8f8 != 1) {\n          pr2serr("Unable to decode one LBA range descriptor from %s\n",local_798,0,0);\n          local_908 = (stat64 *)0xf;\n          goto LAB_00012354;\n        }\n        local_7b8 = local_104 >> 0x18 | (local_104 & 0xff0000) >> 8 | (local_104 & 0xff00) << 8 |\n                    local_104 << 0x18;\n        local_7bc = local_100 >> 0x18 | (local_100 & 0xff0000) >> 8 | (local_100 & 0xff00) << 8 |\n                    local_100 << 0x18;\n        local_7cc = (stat64 *)\n                    (local_fc >> 0x18 | (local_fc & 0xff0000) >> 8 | (local_fc & 0xff00) << 8 |\n                    local_fc << 0x18);\n        if (local_81f != '\0') {\n          local_7c0 = local_f8 >> 0x18 | (local_f8 & 0xff0000) >> 8 | (local_f8 & 0xff00) << 8 |\n                      local_f8 << 0x18;\n          local_7e6 = local_f4 << 8 | local_f4 >> 8;\n          local_7dc = local_f2 << 8 | local_f2 >> 8;\n        }\n        goto LAB_00012d48;\n      }\n      if (local_908 < (stat64 *)0x40) {\n        pr2serr("raw scatter file must be at least 64 bytes long (length: %u)\n",local_908,\n                local_880._44_4_,local_880._44_4_);\nLAB_00012ef5:\n        local_908 = (stat64 *)0xf;\n        goto LAB_00012354;\n      }\n      psVar25 = (stat64 *)(local_174 + 0x50);\n      local_908 = (stat64 *)FUN_00014a80(&DAT_00017365);\n      if (local_908 != (stat64 *)0x0) goto LAB_00012354;\n      cVar6 = FUN_000146a0(&local_8f8,&local_8f4,extraout_ECX_03,extraout_ECX_03);\n      if (cVar6 == '\0') goto LAB_00012ef5;\n      if (local_8f8 != 1) {\n        pr2serr("No %ss found in SF (num=%u)\n","LBA range descriptor",local_8f8,extraout_EDX_01);\n        goto LAB_00012ef5;\n      }\n      local_7b8 = local_114 >> 0x18 | (local_114 & 0xff0000) >> 8 | (local_114 & 0xff00) << 8 |\n                  local_114 << 0x18;\n      local_7bc = local_110 >> 0x18 | (local_110 & 0xff0000) >> 8 | (local_110 & 0xff00) << 8 |\n                  local_110 << 0x18;\n      local_7cc = (stat64 *)\n                  (local_10c >> 0x18 | (local_10c & 0xff0000) >> 8 | (local_10c & 0xff00) << 8 |\n                  local_10c << 0x18);\n    }\n    else {\n      local_7bc = local_578;\n      local_7b8 = local_574;\n      local_7cc = local_778[0];\n      if ((psVar38 != (stat64 *)0x0) && (local_91c != (stat64 *)0x1)) {\n        pr2serr("warning: %d LBA,number_of_blocks pairs found, only taking first\n",local_91c,\n                psVar17,psVar17);\n      }\n    }\nLAB_00012d48:\n    if (local_818 == 0) {\n      psVar25 = (stat64 *)((int)local_7cc * (int)local_7d4);\n    }\n    else {\n      psVar25 = (stat64 *)0x0;\n      if (local_810 == 0) {\n        psVar25 = local_7d4;\n      }\n    }\n    local_7a4 = psVar25;\n    if (psVar25 != (stat64 *)0x0) {\n      iVar14 = sg_memalign(psVar25,0,&local_8f0,0);\n      if (iVar14 == 0) {\n        pcVar15 = "unable to allocate %u bytes of memory\n";\n        ppvVar39 = (void **)0x0;\n        uVar16 = 0;\n        psVar38 = psVar25;\nLAB_00013bea:\n        pr2serr(pcVar15,psVar38,ppvVar39,uVar16);\n        local_908 = (stat64 *)sg_convert_errno(0xc);\n        goto LAB_00012354;\n      }\n      local_908 = (stat64 *)FUN_00014a80(&DAT_000173c6);\n      if (local_908 != (stat64 *)0x0) goto LAB_00012354;\n    }\n    local_908 = (stat64 *)FUN_00014b00(&local_820);\n    if (local_908 == (stat64 *)0x0) goto LAB_00012354;\n    if (local_81a != '\0') goto LAB_00012354;\n    puVar43 = local_174;\n    psVar25 = (stat64 *)"OS error";\n    puVar29 = puVar43;\n    for (iVar14 = 9; iVar14 != 0; iVar14 = iVar14 + -1) {\n      *puVar29 = (char)psVar25->st_dev;\n      psVar25 = (stat64 *)((int)psVar25 + (uint)bVar32 * -2 + 1);\n      puVar29 = puVar29 + (uint)bVar32 * -2 + 1;\n    }\n    uVar16 = 0;\n    if (0 < (int)local_908) {\n      sg_get_category_sense_str(local_908,0x50,puVar43,psVar38);\n      uVar16 = extraout_ECX_02;\n    }\n    pr2serr("%s: %s\n",local_790,puVar43,uVar16);\n    goto LAB_00012354;\n  }\n  local_8e8 = (void *)0x0;\n  local_8f6 = local_8f8;\n  local_8ec = (undefined1  [4])local_8f4;\n  if (local_81c != '\0') {\n    if (local_7e2 == 0) {\n      if (local_7e0 == 0) {\n        psVar17 = local_93c;\n        if (local_93c == (stat64 *)0x0) {\n          pr2serr("With --combined= if DOF, RD are 0 and IF has an unknown length\nthen give up\n");\n          local_908 = (stat64 *)0x1f;\n          goto LAB_00012354;\n        }\n      }\n      else {\n        psVar17 = (stat64 *)((local_7e0 + 1) * 0x20);\n      }\n      if ((uint)psVar17 % (uint)local_7d4 != 0) {\n        psVar17 = (stat64 *)(((uint)psVar17 / (uint)local_7d4 + 1) * (int)local_7d4);\n      }\n    }\n    else {\n      psVar17 = (stat64 *)((uint)local_7e2 * (int)local_7d4);\n    }\n    ppvVar39 = &local_8e8;\n    uVar16 = 0;\n    psVar38 = (stat64 *)0x0;\n    psVar25 = (stat64 *)sg_memalign(psVar17,0,ppvVar39,0);\n    if (psVar25 == (stat64 *)0x0) {\nLAB_000141a6:\n      pcVar15 = "unable to allocate aligned memory for scatterlist+data\n";\n      goto LAB_00013bea;\n    }\n    local_908 = (stat64 *)FUN_00014a80("IF c1");\n    if (local_908 != (stat64 *)0x0) goto LAB_000133fd;\n    cVar6 = FUN_000146a0(&local_8f6,local_8ec,0,0);\n    if (cVar6 != '\0') {\n      if ((local_7e0 == 0) || (local_7e0 == local_8f6)) {\n        local_7e0 = local_8f6;\nLAB_00013fe3:\n        local_908 = (stat64 *)((local_7e0 + 1) * 0x20);\n        if ((uint)local_908 % (uint)local_7d4 != 0) {\n          local_908 = (stat64 *)(((uint)local_908 / (uint)local_7d4 + 1) * (int)local_7d4);\n        }\n        uVar7 = (uint)local_7e2;\n        uVar24 = uVar7 * (int)local_7d4;\n        psVar38 = local_908;\n        local_8f6 = local_7e0;\n        if (uVar24 - (int)local_908 != 0) {\n          if (uVar24 < local_908) {\n            pr2serr("%s: Cannot fit %ss (%u) in given LB data offset (%u)\n","process_scattered",\n                    "LBA range descriptor",(uint)local_7e0,uVar7);\n            goto LAB_000133f3;\n          }\n          psVar38 = (stat64 *)uVar24;\n          if ((((uint)psVar18 | local_7f8) != 0) &&\n             (pr2serr("%s: empty blocks before LB data offset (%u), could be okay\n",\n                      "process_scattered",uVar7,(uint)psVar18 | local_7f8), local_7f8 != 0)) {\n            pr2serr("Exiting due to --strict; perhaps try again with --combined=%u\n",\n                    (uint)local_908 / (uint)local_7d4,psVar25,psVar25);\n            local_908 = (stat64 *)0xf;\n            goto LAB_000133fd;\n          }\n        }\n        psVar38 = (stat64 *)((int)local_8ec * (int)local_7d4 + (int)psVar38);\n        if (psVar38 <= psVar17) {\nLAB_0001418c:\n          local_7cc = (stat64 *)local_8ec;\n          local_7a4 = (stat64 *)((int)local_8ec * (int)local_7d4);\n          goto LAB_00013962;\n        }\n        if (local_93c != psVar38) {\n          if (local_93c < psVar38) {\n            pr2serr("Calculated dout length (%u) %s bytes available in IF (%u)\n",psVar38,\n                    &DAT_000170dd,local_93c);\n          }\n          else if ((psVar18 == (stat64 *)0x0 && local_7f8 == 0) ||\n                  (pr2serr("Calculated dout length (%u) %s bytes available in IF (%u)\n",psVar38,\n                           &DAT_00017110,local_93c), local_7f8 == 0)) goto LAB_00014113;\n          goto LAB_000133f3;\n        }\nLAB_00014113:\n        uVar33 = sg_memalign(psVar38,0,&local_8e4,0);\n        uVar16 = (undefined4)((ulonglong)uVar33 >> 0x20);\n        psVar38 = (stat64 *)uVar33;\n        if (psVar38 != (stat64 *)0x0) {\n          memcpy(psVar38,psVar25,(size_t)psVar17);\n          free(local_8e8);\n          local_8e8 = local_8e4;\n          local_908 = (stat64 *)FUN_00014a80("IF c2",psVar25,psVar17,uVar16);\n          psVar25 = psVar38;\n          if (local_908 != (stat64 *)0x0) goto LAB_000133fd;\n          goto LAB_0001418c;\n        }\nLAB_00014273:\n        pcVar15 = "unable to allocate memory for final scatterlist+data\n";\n        goto LAB_00013fbc;\n      }\n      if (local_8f6 < local_7e0) {\n        pr2serr("RD (%u) %s number of %ss (%u) found in IF\n",local_7e0,&DAT_000170dd,\n                "LBA range descriptor",local_8f6);\n      }\n      else if ((psVar18 == (stat64 *)0x0 && local_7f8 == 0) ||\n              (pr2serr("RD (%u) %s number of %ss (%u) found in IF\n",local_7e0,&DAT_00017110,\n                       "LBA range descriptor",local_8f6), local_7f8 == 0)) {\n        local_908 = (stat64 *)0x0;\n        for (psVar38 = psVar25; (stat64 *)(&psVar25->st_dev + (uint)local_7e0 * 4) != psVar38;\n            psVar38 = (stat64 *)&psVar38->st_rdev) {\n          uVar7 = psVar38->__pad2;\n          local_908 = (stat64 *)\n                      ((int)&local_908->st_dev +\n                      (uVar7 >> 0x18 | (uVar7 & 0xff0000) >> 8 | (uVar7 & 0xff00) << 8 |\n                      uVar7 << 0x18));\n        }\n        local_8ec = (undefined1  [4])local_908;\n        goto LAB_00013fe3;\n      }\n    }\nLAB_000133f3:\n    local_908 = (stat64 *)0xf;\n    goto LAB_000133fd;\n  }\n  if (local_91c != (stat64 *)0x0) {\n    local_8f6 = (ushort)local_91c;\n  }\n  if (local_798 == (char *)0x0) {\n    if (local_819 != '\0') goto LAB_00013dcd;\n    if (local_91c == (stat64 *)0x0) {\n      pr2serr("How did we get here??\n");\n      local_908 = (stat64 *)0x1;\n      goto LAB_000133fd;\n    }\n    if ((local_7e0 != 0) && (local_91c < (undefined *)(uint)local_7e0)) {\n      pr2serr("%s: number given to --scattered= (%u) exceeds number of --lba= elements (%u)\n",\n              "process_scattered",(undefined *)(uint)local_7e0,local_91c);\n      local_908 = (stat64 *)0x1f;\n      goto LAB_00012354;\n    }\n    uVar7 = (local_8f6 + 1) * 0x20;\n    local_7e2 = (ushort)(uVar7 / (uint)local_7d4);\n    if (uVar7 % (uint)local_7d4 != 0) {\n      local_7e2 = local_7e2 + 1;\n    }\n    iVar14 = 0;\n    local_8ec = (undefined1  [4])0x0;\n    do {\n      local_8ec = (undefined1  [4])((int)&((stat64 *)local_8ec)->st_dev + (int)ppsVar44[iVar14]);\n      iVar14 = iVar14 + 1;\n    } while (iVar14 < (int)local_91c);\n    psVar25 = (stat64 *)\n              sg_memalign((int)((int)&((stat64 *)local_8ec)->st_dev + (uint)local_7e2) *\n                          (int)local_7d4,0,&local_8e8,0);\n    if (psVar25 == (stat64 *)0x0) goto LAB_00013fb3;\n    iVar14 = 0;\n    psVar38 = psVar25;\n    do {\n      uVar7 = puVar42[iVar14 * 2];\n      uVar24 = puVar42[iVar14 * 2 + 1];\n      *(uint *)&psVar38->st_rdev =\n           uVar24 >> 0x18 | (uVar24 & 0xff0000) >> 8 | (uVar24 & 0xff00) << 8 | uVar24 << 0x18;\n      *(uint *)((int)&psVar38->st_rdev + 4) =\n           uVar7 >> 0x18 | (uVar7 & 0xff0000) >> 8 | (uVar7 & 0xff00) << 8 | uVar7 << 0x18;\n      psVar17 = ppsVar44[iVar14];\n      psVar38->__pad2 =\n           (uint)psVar17 >> 0x18 | ((uint)psVar17 & 0xff0000) >> 8 | ((uint)psVar17 & 0xff00) << 8 |\n           (int)psVar17 << 0x18;\n      if (local_81f != '\0') {\n        if (iVar14 == 0) {\n          *(uint *)&psVar38->st_size =\n               local_7c0 >> 0x18 | (local_7c0 & 0xff0000) >> 8 | (local_7c0 & 0xff00) << 8 |\n               local_7c0 << 0x18;\n          *(ushort *)((int)&psVar38->st_size + 4) = local_7e6 << 8 | local_7e6 >> 8;\n          *(ushort *)((int)&psVar38->st_size + 6) = local_7dc << 8 | local_7dc >> 8;\n        }\n        else {\n          *(undefined4 *)&psVar38->st_size = 0xffffffff;\n          *(undefined2 *)((int)&psVar38->st_size + 4) = 0xffff;\n          *(undefined2 *)((int)&psVar38->st_size + 6) = 0xffff;\n        }\n      }\n      iVar14 = iVar14 + 1;\n      psVar38 = (stat64 *)&psVar38->st_rdev;\n    } while (iVar14 < (int)local_91c);\n    local_7cc = (stat64 *)local_8ec;\n  }\n  else {\n    if (local_819 == '\0') {\n      uVar7 = (uint)local_8f6;\n      uVar16 = 0;\n      uVar24 = (uVar7 + 1) * 0x20;\n      local_7e2 = (ushort)(uVar24 / (uint)local_7d4);\n      ppvVar39 = &local_8e8;\n      if (uVar24 % (uint)local_7d4 != 0) {\n        local_7e2 = local_7e2 + 1;\n      }\n      psVar38 = (stat64 *)0x0;\n      psVar25 = (stat64 *)\n                sg_memalign((int)((int)&local_8f4->st_dev + (uint)local_7e2) * (int)local_7d4,0,\n                            ppvVar39,0);\n      if (psVar25 == (stat64 *)0x0) goto LAB_000141a6;\n      local_8f6 = 0;\n      local_8ec = (undefined1  [4])0x0;\n      if (uVar7 + 1 == 1) {\n        uVar24 = (uint)local_7e2 * (int)local_7d4;\n      }\n      local_908 = (stat64 *)FUN_000156d0(psVar25,&local_8f6,local_8ec,uVar24);\n      if (local_908 != (stat64 *)0x0) goto LAB_000133fd;\n      psVar38 = (stat64 *)((int)local_7d4 * (int)local_8ec);\n      if (local_7d0 <= psVar38) {\n        if ((local_7d0 <= psVar38 && (int)psVar38 - (int)local_7d0 != 0) &&\n           (local_7d0 != (stat64 *)0x0)) {\n          psVar38 = local_7d0;\n        }\nLAB_00014208:\n        if ((psVar45 != (stat64 *)0x0) && (psVar45 != psVar38)) {\n          if (psVar18 != (stat64 *)0x0) {\n            puVar20 = &DAT_00017110;\n            if (psVar38 <= psVar45) {\n              puVar20 = &DAT_000170dd;\n            }\n            pr2serr("readable length (%u) of IF %s bytes implied by sum of\nscatter list NUMs (%u) and DLEN\n"\n                    ,psVar45,puVar20,psVar38);\n          }\n          if ((local_7f8 != 0) && ((psVar38 <= psVar45 || (1 < (int)local_7f8)))) goto LAB_000133f3;\nLAB_0001387e:\n          if (psVar45 < psVar38) {\n            psVar38 = psVar45;\n          }\n        }\n        psVar17 = (stat64 *)((uint)psVar38 / (uint)local_7d4);\n        if (((uint)psVar38 % (uint)local_7d4 != 0) &&\n           ((psVar18 != (stat64 *)0x0 || (1 < (int)local_7f8)))) {\n          psVar22 = local_7d8;\n          pr2serr("Calculated data-out length (0x%x) not a multiple of BS (%u",psVar38,local_7d8,\n                  psVar17);\n          if (local_7d8 != local_7d4) {\n            psVar38 = (stat64 *)((int)local_7d4 - (int)local_7d8);\n            psVar22 = extraout_ECX_07;\n            psVar17 = extraout_ECX_07;\n            pr2serr(" + %d(PI)",psVar38,extraout_ECX_07,extraout_ECX_07);\n          }\n          if (1 < (int)local_7f8) {\n            pr2serr(")\nexiting ...\n",psVar38,psVar22,psVar17);\n            local_908 = (stat64 *)0xf;\n            goto LAB_000133fd;\n          }\n          pr2serr(")\nzero pad and continue ...\n",psVar38,psVar22,psVar17);\n        }\n      }\n      else {\n        uVar7 = (uint)psVar18 | local_7f8;\n        if (uVar7 != 0) {\n          pr2serr("DLEN > than bytes implied by sum of scatter list NUMs (%u)\n",psVar38,uVar7,uVar7\n                 );\n          if (1 < (int)psVar18) {\n            pr2serr("  num_lbard=%u, sum_num=%u actual_bs=%u",local_8f6,local_8ec,local_7d4);\n          }\n          if (local_7f8 != 0) goto LAB_000133f3;\n          goto LAB_00014208;\n        }\n        if ((psVar45 != (stat64 *)0x0) && (psVar45 != psVar38)) goto LAB_0001387e;\n      }\n      local_908 = (stat64 *)FUN_00014a80(&DAT_00017360);\n    }\n    else {\nLAB_00013dcd:\n      psVar38 = local_7d4;\n      if (local_7e0 != 0) {\n        psVar38 = (stat64 *)((local_7e0 + 1) * 0x20);\n        if (local_908 < psVar38) {\n          pr2serr("SF not long enough (%u bytes) to provide RD (%u) %ss\n",local_908,psVar38,\n                  "LBA range descriptor");\n          local_908 = (stat64 *)0xf;\n          goto LAB_000133fd;\n        }\n        psVar38 = (stat64 *)\n                  ((((uint)psVar38 / (uint)local_7d4 + 1) -\n                   (uint)((uint)psVar38 % (uint)local_7d4 == 0)) * (int)local_7d4);\n      }\n      local_918 = local_7d4;\n      if (local_93c != (stat64 *)0x0) {\n        local_918 = (stat64 *)\n                    ((((uint)local_93c / (uint)local_7d4 + 1) -\n                     (uint)((uint)local_93c % (uint)local_7d4 == 0)) * (int)local_7d4);\n      }\n      psVar25 = (stat64 *)\n                sg_memalign((undefined *)((int)&psVar38->st_dev + (int)&local_918->st_dev),0,\n                            &local_8e8,0);\n      if (psVar25 == (stat64 *)0x0) {\nLAB_00013fb3:\n        pcVar15 = "unable to allocate aligned memory for scatterlist+data\n";\nLAB_00013fbc:\n        pr2serr(pcVar15);\n        local_908 = (stat64 *)sg_convert_errno(0xc);\n        goto LAB_000133fd;\n      }\n      local_908 = (stat64 *)FUN_00014a80(&DAT_00017365);\n      if (local_908 != (stat64 *)0x0) goto LAB_000133fd;\n      psVar17 = (stat64 *)local_8ec;\n      psVar22 = extraout_ECX_08;\n      psVar8 = extraout_ECX_08;\n      cVar6 = FUN_000146a0(&local_8f6,psVar17,extraout_ECX_08,extraout_ECX_08);\n      if (cVar6 == '\0') goto LAB_000133f3;\n      if (local_7e0 != local_8f6) {\n        pr2serr("Try again with --scattered=%u\n",local_8f6,extraout_EDX_05,extraout_EDX_05);\n        local_908 = (stat64 *)0xf;\n        goto LAB_000133fd;\n      }\n      if (local_918 < (stat64 *)((int)local_7d4 * (int)local_8ec)) {\n        psVar9 = (stat64 *)\n                 sg_memalign((undefined *)\n                             ((int)&psVar38->st_dev +\n                             (int)&((stat64 *)((int)local_7d4 * (int)local_8ec))->st_dev),0,\n                             &local_8e4,0);\n        if (psVar9 == (stat64 *)0x0) goto LAB_00014273;\n        psVar22 = psVar38;\n        psVar8 = psVar9;\n        memcpy(psVar9,psVar25,(size_t)psVar38);\n        psVar17 = psVar25;\n        free(local_8e8);\n        local_8e8 = local_8e4;\n        psVar25 = psVar9;\n      }\n      if ((local_93c != psVar38) && (psVar18 != (stat64 *)0x0 || local_7f8 != 0)) {\n        psVar22 = (stat64 *)&DAT_000170dd;\n        if (local_93c <= psVar38) {\n          psVar22 = (stat64 *)&DAT_00017110;\n        }\n        psVar8 = psVar38;\n        pr2serr("IF length (%u) %s \'sum_num\' bytes (%u), ",local_93c,psVar22,psVar38);\n        if (1 < (int)local_7f8) {\n          pr2serr("exiting (strict=%d)\n",local_7f8,psVar38,psVar38);\n          local_908 = (stat64 *)0xf;\n          goto LAB_000133fd;\n        }\n        pr2serr("continuing ...\n",local_93c,psVar22,psVar8);\n        psVar17 = local_93c;\n      }\n      local_908 = (stat64 *)FUN_00014a80(&DAT_0001738d,psVar17,psVar22,psVar8);\n    }\n    if (local_908 != (stat64 *)0x0) goto LAB_000133fd;\n    local_7a4 = (stat64 *)((int)local_8ec * (int)local_7d4);\n    local_7cc = (stat64 *)local_8ec;\n  }\nLAB_00013962:\n  local_8ec = (undefined1  [4])local_7cc;\n  local_908 = (stat64 *)FUN_00014b00(&local_820);\n  if (local_908 != (stat64 *)0x0) {\n    puVar43 = local_174 + 0x50;\n    psVar25 = (stat64 *)"OS error";\n    puVar29 = puVar43;\n    for (iVar14 = 9; iVar14 != 0; iVar14 = iVar14 + -1) {\n      *puVar29 = (char)psVar25->st_dev;\n      psVar25 = (stat64 *)((int)psVar25 + (uint)bVar32 * -2 + 1);\n      puVar29 = puVar29 + (uint)bVar32 * -2 + 1;\n    }\n    if (0 < (int)local_908) {\n      sg_get_category_sense_str(local_908,0x50,puVar43,psVar18);\n    }\n    pr2serr("%s: %s\n",local_790,puVar43,psVar25);\n  }\nLAB_000133fd:\n  if (local_8e8 == (void *)0x0) goto LAB_00012354;\n  free(local_8e8);\n  goto LAB_00012354;\ncode_r0x000115f1:\n  uVar33 = sg_get_llnum(*(undefined4 *)PTR_optarg_0001dffc);\n  psVar38 = local_7d0;\n  uVar16 = uStack_7c4;\n  uVar7 = (uint)uVar33;\n  if ((int)((ulonglong)uVar33 >> 0x20) != 0) goto code_r0x00012b94;\n  goto code_r0x000114e8;\ncode_r0x00012b94:\n  pr2serr("bad argument to \'--ref-tag=\'. Expect 0 to 0xffffffff inclusive\n");\nLAB_00011a7a:\n  local_908 = (stat64 *)0x1;\nLAB_00011a84:\n  do {\n    psVar25 = (stat64 *)(local_24 ^ *(uint *)(in_GS_OFFSET + 0x14));\n    if (psVar25 == (stat64 *)0x0) {\n      return (int)local_908;\n    }\n    FUN_000162b0();\nLAB_00013b9f:\n    pr2serr("build_lba_arr: array length exceeded\n");\nLAB_00012130:\n    pr2serr("bad argument to \'--lba\'\n");\n    local_908 = (stat64 *)0x1;\nLAB_00012354:\n    if (local_8f0 != (void *)0x0) {\n      free(local_8f0);\n    }\n    iVar14 = sg_cmds_close_device(local_930);\n    if (iVar14 < 0) {\n      if (local_81a == '\0') {\n        uVar16 = safe_strerror(-iVar14);\n        pr2serr("sg_fd close error: %s\n",uVar16);\n      }\n      if (local_908 == (stat64 *)0x0) {\n        local_908 = (stat64 *)0xf;\n      }\n    }\n    if ((-1 < (int)local_920) && (iVar14 = close((int)local_920), iVar14 < 0)) {\n      if (local_81a == '\0') {\n        perror("sfr_fd close error");\n      }\n      if (local_908 == (stat64 *)0x0) {\n        local_908 = (stat64 *)0xf;\n      }\n    }\nLAB_000123a1:\n    if (((cVar2 == '\x01') || ((int)local_924 < 0)) ||\n       (pcVar15 = (char *)close((int)local_924), -1 < (int)pcVar15)) {\nLAB_000123cc:\n      if (((local_7f0 == (stat64 *)0x0) && (local_81a == '\0')) &&\n         (cVar6 = sg_if_can2stderr("sg_write_x failed: ",local_908,psVar25,psVar25), cVar6 == '\0'))\n      goto LAB_0001260b;\n      goto LAB_000123e2;\n    }\n    if (local_81a == '\0') {\n      pcVar15 = "infd close error";\n      perror("infd close error");\n    }\n    if (local_908 != (stat64 *)0x0) goto LAB_000123cc;\n    local_908 = (stat64 *)0xf;\n    if (((local_7f0 == (stat64 *)0x0) && (local_81a == '\0')) &&\n       (cVar6 = sg_if_can2stderr("sg_write_x failed: ",0xf,pcVar15,pcVar15), cVar6 == '\0')) {\nLAB_0001260b:\n      pr2serr("Some error occurred, try again with \'-v\' or \'-vv\' for more information\n");\nLAB_000123e2:\n      if ((int)local_908 < 0) {\n        local_908 = (stat64 *)0x63;\n      }\n    }\n  } while( true );\n}" (primitive_type "int") (function_declarator "FUN_000113d0(int param_1,int param_2)" (identifier "FUN_000113d0") (parameter_list "(int param_1,int param_2)" (( "(") (parameter_declaration "int param_1" (primitive_type "int") (identifier "param_1")) (, ",") (parameter_declaration "int param_2" (primitive_type "int") (identifier "param_2")) () ")"))) (compound_statement "{\n  byte bVar1;\n  char cVar2;\n  __dev_t *p_Var3;\n  undefined *puVar4;\n  undefined *puVar5;\n  char cVar6;\n  uint uVar7;\n  stat64 *psVar8;\n  stat64 *psVar9;\n  int iVar10;\n  stat64 *psVar11;\n  char *pcVar12;\n  char *pcVar13;\n  int iVar14;\n  char *pcVar15;\n  undefined4 uVar16;\n  stat64 *psVar17;\n  stat64 *psVar18;\n  int *piVar19;\n  undefined *puVar20;\n  int iVar21;\n  stat64 *extraout_ECX;\n  stat64 *extraout_ECX_00;\n  stat64 *extraout_ECX_01;\n  undefined4 extraout_ECX_02;\n  undefined4 extraout_ECX_03;\n  stat64 *extraout_ECX_04;\n  stat64 *extraout_ECX_05;\n  stat64 *extraout_ECX_06;\n  stat64 *extraout_ECX_07;\n  stat64 *extraout_ECX_08;\n  int extraout_EDX;\n  stat64 *psVar22;\n  stat64 *psVar23;\n  stat64 *extraout_EDX_00;\n  undefined4 extraout_EDX_01;\n  stat64 *extraout_EDX_02;\n  stat64 *extraout_EDX_03;\n  stat64 *extraout_EDX_04;\n  undefined4 extraout_EDX_05;\n  uint uVar24;\n  stat64 *psVar25;\n  uint *puVar26;\n  stat64 **ppsVar27;\n  int iVar28;\n  undefined1 *puVar29;\n  int in_GS_OFFSET;\n  bool bVar30;\n  bool bVar31;\n  byte bVar32;\n  undefined8 uVar33;\n  longlong lVar34;\n  __off64_t _Var35;\n  undefined4 uVar36;\n  undefined4 uVar37;\n  stat64 *psVar38;\n  void **ppvVar39;\n  undefined4 uVar40;\n  uint uVar41;\n  uint *puVar42;\n  undefined1 *puVar43;\n  stat64 **ppsVar44;\n  stat64 *psVar45;\n  char local_93f;\n  stat64 *local_93c;\n  stat64 *local_930;\n  stat64 *local_924;\n  stat64 *local_920;\n  stat64 *local_91c;\n  stat64 *local_918;\n  stat64 *local_908;\n  ushort local_8f8;\n  ushort local_8f6;\n  stat64 *local_8f4;\n  void *local_8f0;\n  undefined1 local_8ec [4];\n  void *local_8e8;\n  void *local_8e4;\n  undefined1 local_8e0 [48];\n  int local_8b0;\n  undefined1 local_880 [96];\n  char local_820;\n  char local_81f;\n  byte bStack_81e;\n  byte local_81d;\n  char local_81c;\n  byte local_81b;\n  char local_81a;\n  char local_819;\n  byte local_818;\n  byte local_817;\n  byte local_816;\n  byte bStack_815;\n  byte local_814;\n  char local_813;\n  undefined1 uStack_812;\n  undefined1 uStack_811;\n  byte local_810;\n  char local_80f;\n  char local_80e;\n  uint uStack_80c;\n  int iStack_808;\n  uint uStack_804;\n  int local_800;\n  int local_7fc;\n  uint local_7f8;\n  int local_7f4;\n  stat64 *local_7f0;\n  stat64 *local_7ec;\n  undefined1 uStack_7e8;\n  undefined1 uStack_7e7;\n  ushort local_7e6;\n  undefined2 uStack_7e4;\n  ushort local_7e2;\n  ushort local_7e0;\n  undefined2 uStack_7de;\n  ushort local_7dc;\n  undefined2 uStack_7da;\n  stat64 *local_7d8;\n  stat64 *local_7d4;\n  stat64 *local_7d0;\n  stat64 *local_7cc;\n  undefined4 uStack_7c8;\n  undefined4 uStack_7c4;\n  uint local_7c0;\n  uint local_7bc;\n  uint local_7b8;\n  stat64 *local_7b4;\n  stat64 *local_7b0;\n  int local_7ac;\n  int local_7a8;\n  stat64 *local_7a4;\n  stat64 *local_7a0;\n  char *local_79c;\n  char *local_798;\n  stat64 *local_794;\n  undefined1 local_790 [24];\n  stat64 *local_778 [128];\n  uint local_578;\n  uint local_574;\n  undefined1 local_174 [96];\n  uint local_114;\n  uint local_110;\n  uint local_10c;\n  uint local_104;\n  uint local_100;\n  uint local_fc;\n  uint local_f8;\n  ushort local_f4;\n  ushort local_f2;\n  uint local_24;\n  undefined4 *local_18;\n  \n  iVar28 = param_2;\n  iVar14 = param_1;\n  puVar20 = PTR_optarg_0001dffc;\n  bVar32 = 0;\n  local_18 = &param_1;\n  local_24 = *(uint *)(in_GS_OFFSET + 0x14);\n  local_8f8 = 0;\n  local_8f4 = (stat64 *)0x0;\n  local_8f0 = (void *)0x0;\n  local_918 = (stat64 *)0x0;\n  local_91c = (stat64 *)0x0;\n  pcVar15 = &local_820;\n  for (iVar21 = 0x2a; iVar21 != 0; iVar21 = iVar21 + -1) {\n    pcVar15[0] = '\0';\n    pcVar15[1] = '\0';\n    pcVar15[2] = '\0';\n    pcVar15[3] = '\0';\n    pcVar15 = pcVar15 + 4;\n  }\n  local_930 = (stat64 *)local_8e0;\n  local_7fc = -1;\n  psVar18 = local_930;\n  for (iVar21 = 0x18; iVar21 != 0; iVar21 = iVar21 + -1) {\n    *(undefined4 *)&psVar18->st_dev = 0;\n    psVar18 = (stat64 *)((int)&psVar18->st_dev + 4);\n  }\n  psVar18 = (stat64 *)local_880;\n  local_7c0 = 0xffffffff;\n  psVar38 = psVar18;\n  for (iVar21 = 0x18; iVar21 != 0; iVar21 = iVar21 + -1) {\n    *(undefined4 *)&psVar38->st_dev = 0;\n    psVar38 = (stat64 *)((int)&psVar38->st_dev + 4);\n  }\n  cVar2 = ' ';\n  local_7e6 = 0xffff;\n  local_7dc = 0xffff;\n  local_7f4 = 0x78;\n  bVar1 = 0;\n  local_924 = (stat64 *)PTR_optarg_0001dffc;\n  psVar38 = local_7d0;\n  uVar16 = uStack_7c4;\n  uVar7 = local_7c0;\ncode_r0x000114e8:\n  local_7c0 = uVar7;\n  uStack_7c4 = uVar16;\n  local_7d0 = psVar38;\n  local_8e4 = (void *)0x0;\n  uVar33 = getopt_long(iVar14,iVar28,"36a:A:b:B:c:dD:Efg:G:hi:I:l:M:n:No:Oq:Qr:RsS:t:T:u:vVw:x",\n                       &PTR_DAT_0001e020,&local_8e4);\n  puVar5 = PTR_optarg_0001dffc;\n  puVar4 = PTR_optind_0001dfe4;\n  if ((int)uVar33 == -1) {\n    iVar21 = *(int *)PTR_optind_0001dfe4;\n    local_920 = (stat64 *)0xffffffff;\n    if (iVar21 < iVar14) {\n      iVar10 = (int)((ulonglong)uVar33 >> 0x20);\n      if (local_7a0 != (stat64 *)0x0) goto LAB_00011c60;\n      local_7a0 = *(stat64 **)(iVar28 + iVar21 * 4);\n      *(int *)PTR_optind_0001dfe4 = iVar21 + 1;\n      iVar10 = iVar28;\n      if (iVar21 + 1 < iVar14) goto LAB_00011c60;\n    }\n    if ((bool)(bVar1 & local_7f8 != 0)) goto LAB_00011a7a;\n    if (0 < local_800) {\n      FUN_000149b0();\n      local_908 = (stat64 *)0x0;\n      goto LAB_00011a84;\n    }\n    if (local_80f == '\0') {\nLAB_00011c9f:\n      if (local_80e != '\0') {\n        pr2serr("sg_write_x version: %s\n","1.19 20180628",puVar4,puVar4);\n        local_908 = (stat64 *)0x270f;\n        goto LAB_00011a84;\n      }\n    }\n    else if (local_80e != '\0') {\n      pr2serr("Not in DEBUG mode, so \'-vV\' has no special action\n");\n      goto LAB_00011c9f;\n    }\n    psVar38 = local_7f0;\n    psVar17 = psVar38;\n    if (local_820 == '\0') {\n      if (local_81f == '\0') {\n        psVar17 = (stat64 *)((int)&local_7f0[-1].st_ino + 7);\n        local_820 = '\x01';\n        if (psVar17 != (stat64 *)0x0 && 0 < (int)local_7f0) {\n          pr2serr("Since neither --16 nor --32 given, choose --16\n");\n        }\n      }\n    }\n    else if ((local_81f != '\0') && (local_820 = '\0', 1 < (int)local_7f0)) {\n      pr2serr("Since both --16 and --32 given, choose --32\n");\n    }\n    uVar7 = (uint)local_81d + (uint)local_814 + (uint)local_81b + (uint)local_818 + (uint)local_817\n            + (uint)local_816;\n    if (1 < uVar7) {\n      pr2serr(\n             "Can only select one command; so only one of --atomic, --normal, --or,\n--same=, --scattered= or --stream=\n"\n             );\n      local_908 = (stat64 *)0x1f;\n      goto LAB_00011a84;\n    }\n    if (uVar7 == 0) {\n      if (local_7f8 != 0) {\n        pr2serr("With --strict won\'t default to a normal WRITE, add --normal\n");\n        local_908 = (stat64 *)0x1f;\n        goto LAB_00011a84;\n      }\n      local_794 = (stat64 *)0x17164;\n      local_814 = 1;\n      if (psVar38 != (stat64 *)0x0) {\n        pr2serr("No command selected so choose \'normal\' WRITE\n");\n      }\n    }\n    psVar8 = (stat64 *)((-(uint)(local_820 == '\0') & 0x10) + 0x10);\n    psVar22 = local_794;\n    __snprintf_chk(local_790,0x18,1,0x18,"%s(%d)",local_794,psVar8,psVar17);\n    if (local_81c == '\0') {\n      if (local_798 != (char *)0x0) {\n        local_93f = local_918 != (stat64 *)0x0;\n        bVar30 = local_91c != (stat64 *)0x0 || local_918 != (stat64 *)0x0;\n        bVar31 = local_91c != (stat64 *)0x0;\n        if (local_91c == (stat64 *)0x0 && local_918 == (stat64 *)0x0) {\n          iVar14 = -1;\n          pcVar15 = local_798;\n          goto code_r0x00011d5c;\n        }\n        pr2serr(\n               "want one and only one of: (--lba=LBA and/or --num=NUM), or\n--scat-file=SF, or --combined=DOF\n"\n               );\n        local_908 = (stat64 *)0x1f;\n        goto LAB_00011a84;\n      }\n      if (local_819 == '\0') {\n        local_93f = local_918 != (stat64 *)0x0;\n        bVar30 = local_91c != (stat64 *)0x0 || local_918 != (stat64 *)0x0;\n        bVar31 = local_91c != (stat64 *)0x0;\n        goto LAB_00011d67;\n      }\n      pr2serr(\n             "--scat-raw only applies to the --scat-file=SF option\n--scat-raw without the --scat-file=SF option is an error\n"\n             );\n      local_908 = (stat64 *)0x1f;\n      goto LAB_00011a84;\n    }\n    if (local_817 == 0) {\n      pr2serr(\n             "--combined=DOF only allowed with --scattered=RD (i.e. only with\nWRITE SCATTERED command)\n"\n             );\n      local_908 = (stat64 *)0x1f;\n      goto LAB_00011a84;\n    }\n    if (local_798 != (char *)0x0) {\n      pr2serr("Ambiguous: got --combined=DOF and --scat-file=SF .\nGive one, the other or neither\n"\n             );\n      local_908 = (stat64 *)0x1f;\n      goto LAB_00011a84;\n    }\n    if (local_91c == (stat64 *)0x0 && local_918 == (stat64 *)0x0) {\n      local_93f = local_819;\n      bVar30 = false;\n      bVar31 = false;\n      if (local_819 == '\0') goto LAB_00011d67;\n      pr2serr("Ambiguous: don\'t expect --combined=DOF and --scat-raw\nGive one or the other\n");\n      local_908 = (stat64 *)0x1f;\n    }\n    else {\n      pr2serr("--scattered=RD --combined=DOF does not use --lba= or --num=\nPlease remove.\n");\n      local_908 = (stat64 *)0x1f;\n    }\n    goto LAB_00011a84;\n  }\n  local_920 = local_924;\n  psVar38 = local_7d0;\n  uVar16 = uStack_7c4;\n  uVar7 = local_7c0;\n  switch((int)uVar33) {\n  case 0x33:\n    local_81f = '\x01';\n    goto code_r0x000114e8;\n  default:\n    pcVar15 = "unrecognised option code 0x%x ??\n";\n    break;\n  case 0x36:\n    local_820 = '\x01';\n    goto code_r0x000114e8;\n  case 0x3f:\n    pcVar15 = "\n";\n    break;\n  case 0x41:\n    uVar7 = func_0x00011320(*(undefined4 *)PTR_optarg_0001dffc);\n    if (0xffff < uVar7) {\n      pr2serr("bad argument to \'--atomic=\'. Expect 0 to 0xffff inclusive\n");\n      goto LAB_00011a7a;\n    }\n    uStack_7e4 = (undefined2)uVar7;\n    local_81d = 1;\n    local_794 = (stat64 *)0x17112;\n    psVar38 = local_7d0;\n    uVar16 = uStack_7c4;\n    uVar7 = local_7c0;\n    goto code_r0x000114e8;\n  case 0x42:\n    uVar24 = func_0x00011320(*(undefined4 *)PTR_optarg_0001dffc);\n    if (7 < uVar24) {\n      pr2serr("bad first argument to \'--bmop=\'\n");\n      goto LAB_00011a7a;\n    }\n    uStack_7e8 = (undefined1)uVar24;\n    uVar36 = 0x2c;\n    uVar41 = uVar24;\n    pcVar15 = strchr(*(char **)puVar5,0x2c);\n    psVar38 = local_7d0;\n    uVar16 = uStack_7c4;\n    uVar7 = local_7c0;\n    if (pcVar15 != (char *)0x0) {\n      uVar7 = func_0x00011320(pcVar15 + 1,uVar36,uVar24,uVar41);\n      if (0xf < uVar7) {\n        pr2serr("bad second argument to \'--bmop=\'\n");\n        goto LAB_00011a7a;\n      }\n      uStack_7e7 = (undefined1)uVar7;\n      psVar38 = local_7d0;\n      uVar16 = uStack_7c4;\n      uVar7 = local_7c0;\n    }\n    goto code_r0x000114e8;\n  case 0x44:\n    uStack_80c = func_0x00011320(*(undefined4 *)PTR_optarg_0001dffc);\n    psVar38 = local_7d0;\n    uVar16 = uStack_7c4;\n    uVar7 = local_7c0;\n    if (7 < uStack_80c) {\n      pr2serr("bad argument to \'--dld=\', expect 0 to 7 inclusive\n");\n      goto LAB_00011a7a;\n    }\n    goto code_r0x000114e8;\n  case 0x47:\n    uVar33 = sg_get_llnum(*(undefined4 *)PTR_optarg_0001dffc);\n    uVar36 = (undefined4)uVar33;\n    if ((int)((ulonglong)uVar33 >> 0x20) != 0) {\n      pr2serr("bad first argument to \'--generation=\'\n");\n      goto LAB_00011a7a;\n    }\n    uVar37 = 0x2c;\n    uVar40 = uVar36;\n    uStack_7c8 = uVar36;\n    pcVar15 = strchr(*(char **)puVar5,0x2c);\n    if (pcVar15 == (char *)0x0) {\n      pr2serr("need two arguments with --generation=EOG,NOG and they must be comma separated\n",\n              uVar37,uVar36,uVar40);\n      goto LAB_00011a7a;\n    }\n    uVar33 = sg_get_llnum(pcVar15 + 1);\n    psVar38 = local_7d0;\n    uVar16 = (int)uVar33;\n    uVar7 = local_7c0;\n    if ((int)((ulonglong)uVar33 >> 0x20) != 0) {\n      pr2serr("bad second argument to \'--generation=\'\n",uVar37,uVar36,uVar40);\n      goto LAB_00011a7a;\n    }\n    goto code_r0x000114e8;\n  case 0x49:\n    local_7f4 = func_0x00011320(*(undefined4 *)PTR_optarg_0001dffc);\n    psVar38 = local_7d0;\n    uVar16 = uStack_7c4;\n    uVar7 = local_7c0;\n    if (local_7f4 < 0) {\n      pr2serr("bad argument to \'--timeout=\'\n");\n      goto LAB_00011a7a;\n    }\n    goto code_r0x000114e8;\n  case 0x4d:\n    uVar7 = func_0x00011320(*(undefined4 *)PTR_optarg_0001dffc);\n    if (1 < uVar7) {\n      pr2serr("bad argument to \'--same\', expect 0 or 1\n");\n      goto LAB_00011a7a;\n    }\n    local_810 = (byte)uVar7 & 1;\n    local_818 = 1;\n    local_794 = (stat64 *)0x17159;\n    psVar38 = local_7d0;\n    uVar16 = uStack_7c4;\n    uVar7 = local_7c0;\n    goto code_r0x000114e8;\n  case 0x4e:\n    local_814 = 1;\n    local_794 = (stat64 *)0x17164;\n    goto code_r0x000114e8;\n  case 0x4f:\n    local_81b = 1;\n    local_794 = (stat64 *)0x1716a;\n    goto code_r0x000114e8;\n  case 0x51:\n    local_81a = '\x01';\n    goto code_r0x000114e8;\n  case 0x52:\n    local_819 = '\x01';\n    goto code_r0x000114e8;\n  case 0x53:\n    uVar7 = func_0x00011320(*(undefined4 *)PTR_optarg_0001dffc);\n    if (0xffff < uVar7) {\n      pr2serr("bad argument to \'--scattered=\'. Expect 0 to 0xffff inclusive\n");\n      goto LAB_00011a7a;\n    }\n    local_7e0 = (ushort)uVar7;\n    local_794 = (stat64 *)0x17172;\n    local_817 = 1;\n    psVar38 = local_7d0;\n    uVar16 = uStack_7c4;\n    uVar7 = local_7c0;\n    goto code_r0x000114e8;\n  case 0x54:\n    uVar7 = func_0x00011320(*(undefined4 *)PTR_optarg_0001dffc);\n    if (0xffff < uVar7) {\n      pr2serr("bad argument to \'--stream=\', expect 0 to 65535\n");\n      goto LAB_00011a7a;\n    }\n    uStack_7de = (undefined2)uVar7;\n    local_794 = (stat64 *)0x17182;\n    local_816 = 1;\n    psVar38 = local_7d0;\n    uVar16 = uStack_7c4;\n    uVar7 = local_7c0;\n    goto code_r0x000114e8;\n  case 0x56:\n    local_80e = '\x01';\n    goto code_r0x000114e8;\n  case 0x61:\n    uVar7 = func_0x00011320(*(undefined4 *)PTR_optarg_0001dffc);\n    if (0xffff < uVar7) {\n      pr2serr("bad argument to \'--app-tag=\'. Expect 0 to 0xffff inclusive\n");\n      goto LAB_00011a7a;\n    }\n    local_7e6 = (ushort)uVar7;\n    psVar38 = local_7d0;\n    uVar16 = uStack_7c4;\n    uVar7 = local_7c0;\n    goto code_r0x000114e8;\n  case 0x62:\n    psVar17 = (stat64 *)func_0x00011320(*(undefined4 *)PTR_optarg_0001dffc);\n    if ((stat64 *)0x10000000 < psVar17) {\n      pr2serr("bad argument to \'--bs=\'. Expect 0 or greater\n");\n      goto LAB_00011a7a;\n    }\n    if (psVar17 == (stat64 *)0x0) {\n      local_7d8 = (stat64 *)0x0;\n      local_7d4 = (stat64 *)0x0;\n      psVar38 = local_7d0;\n      uVar16 = uStack_7c4;\n      uVar7 = local_7c0;\n    }\n    else {\n      if ((int)psVar17 < 0x200) {\n        pr2serr("warning: --bs=BS value is < 512 which seems too small, continue\n");\n        bVar1 = 1;\n      }\n      if (((uint)psVar17 & 7) != 0) {\n        pr2serr("warning: --bs=BS value is not a multiple of 8, unexpected, continue\n");\n        bVar1 = 1;\n      }\n      iVar21 = 0;\n      iVar10 = 0;\n      psVar38 = psVar17;\n      do {\n        if (((uint)psVar38 & 1) != 0) {\n          iVar21 = iVar10;\n        }\n        iVar10 = iVar10 + 1;\n        psVar38 = (stat64 *)((int)psVar38 >> 1);\n      } while (iVar10 != 0x1c);\n      psVar22 = (stat64 *)(1 << ((byte)iVar21 & 0x1f));\n      local_7d8 = psVar17;\n      local_7d4 = psVar17;\n      psVar38 = local_7d0;\n      uVar16 = uStack_7c4;\n      uVar7 = local_7c0;\n      if (psVar17 != psVar22) {\n        local_7d8 = psVar22;\n      }\n    }\n    goto code_r0x000114e8;\n  case 99:\n    iVar21 = func_0x00011320(*(undefined4 *)PTR_optarg_0001dffc);\n    if (iVar21 < 0) {\n      pr2serr("bad argument to \'--combined=\'. Expect 0 to 0x7fffffff\n");\n      goto LAB_00011a7a;\n    }\n    local_7e2 = (ushort)iVar21;\n    local_81c = '\x01';\n    psVar38 = local_7d0;\n    uVar16 = uStack_7c4;\n    uVar7 = local_7c0;\n    goto code_r0x000114e8;\n  case 100:\n    uStack_812 = 1;\n    goto code_r0x000114e8;\n  case 0x66:\n    uStack_811 = 1;\n    goto code_r0x000114e8;\n  case 0x67:\n    uStack_804 = func_0x00011320(*(undefined4 *)PTR_optarg_0001dffc);\n    psVar38 = local_7d0;\n    uVar16 = uStack_7c4;\n    uVar7 = local_7c0;\n    if (0x3f < uStack_804) {\n      pr2serr("bad argument to \'--grpnum\'\n");\n      goto LAB_00011a7a;\n    }\n    goto code_r0x000114e8;\n  case 0x68:\n    local_800 = local_800 + 1;\n    goto code_r0x000114e8;\n  case 0x69:\n    local_79c = *(char **)PTR_optarg_0001dffc;\n    goto code_r0x000114e8;\n  case 0x6c:\n    if (local_91c != (stat64 *)0x0) {\n      pr2serr("only expect \'--lba=\' option once\n");\n      goto LAB_00011a7a;\n    }\n    local_91c = *(stat64 **)PTR_optarg_0001dffc;\n    goto code_r0x000114e8;\n  case 0x6e:\n    if (local_918 != (stat64 *)0x0) {\n      pr2serr("only expect \'--num=\' option once\n");\n      goto LAB_00011a7a;\n    }\n    local_918 = *(stat64 **)PTR_optarg_0001dffc;\n    goto code_r0x000114e8;\n  case 0x6f:\n    lVar34 = sg_get_llnum(*(undefined4 *)PTR_optarg_0001dffc);\n    psVar17 = (stat64 *)lVar34;\n    if (lVar34 == -1) {\n      pr2serr("bad first argument to \'--offset=\'\n");\n      goto LAB_00011a7a;\n    }\n    uVar36 = 0x2c;\n    psVar22 = psVar17;\n    local_7b4 = psVar17;\n    local_7b0 = (stat64 *)((ulonglong)lVar34 >> 0x20);\n    pcVar15 = strchr(*(char **)puVar5,0x2c);\n    psVar38 = local_7d0;\n    uVar16 = uStack_7c4;\n    uVar7 = local_7c0;\n    if (pcVar15 != (char *)0x0) {\n      lVar34 = sg_get_llnum(pcVar15 + 1,uVar36,psVar17,psVar22);\n      psVar38 = (stat64 *)lVar34;\n      uVar16 = uStack_7c4;\n      uVar7 = local_7c0;\n      if ((int)((ulonglong)lVar34 >> 0x20) == -1) {\n        if (psVar38 == (stat64 *)0xffffffff) {\n          pr2serr("bad second argument to \'--offset=\'\n");\n          goto LAB_00011a7a;\n        }\n      }\n      else if (0xffffffff < lVar34) {\n        pr2serr("bad second argument to \'--offset=\', cannot exceed 32 bits\n");\n        goto LAB_00011a7a;\n      }\n    }\n    goto code_r0x000114e8;\n  case 0x71:\n    local_798 = *(char **)PTR_optarg_0001dffc;\n    goto code_r0x000114e8;\n  case 0x72:\n    goto code_r0x000115f1;\n  case 0x73:\n    local_7f8 = local_7f8 + 1;\n    goto code_r0x000114e8;\n  case 0x74:\n    uVar7 = func_0x00011320(*(undefined4 *)PTR_optarg_0001dffc);\n    if (0xffff < uVar7) {\n      pr2serr("bad argument to \'--tag-mask=\'. Expect 0 to 0xffff inclusive\n");\n      goto LAB_00011a7a;\n    }\n    local_7dc = (ushort)uVar7;\n    psVar38 = local_7d0;\n    uVar16 = uStack_7c4;\n    uVar7 = local_7c0;\n    goto code_r0x000114e8;\n  case 0x75:\n    uVar7 = func_0x00011320(*(undefined4 *)puVar20);\n    if (3 < uVar7) {\n      pr2serr("bad argument to \'--unmap=\', expect 0 to 3\n");\n      goto LAB_00011a7a;\n    }\n    bStack_81e = (byte)(uVar7 >> 1) & 1;\n    bStack_815 = (byte)uVar7 & 1;\n    psVar38 = local_7d0;\n    uVar16 = uStack_7c4;\n    uVar7 = local_7c0;\n    goto code_r0x000114e8;\n  case 0x76:\n    local_80f = '\x01';\n    local_7f0 = (stat64 *)((int)&local_7f0->st_dev + 1);\n    goto code_r0x000114e8;\n  case 0x77:\n    local_7ec = (stat64 *)func_0x00011320(*(undefined4 *)puVar20);\n    if ((stat64 *)0x7 < local_7ec) {\n      pr2serr("bad argument to \'--wrprotect\'\n");\n      goto LAB_00011a7a;\n    }\n    local_813 = 0 < (int)local_7ec;\n    psVar38 = local_7d0;\n    uVar16 = uStack_7c4;\n    uVar7 = local_7c0;\n    goto code_r0x000114e8;\n  case 0x78:\n    iStack_808 = iStack_808 + 1;\n    goto code_r0x000114e8;\n  }\n  pr2serr(pcVar15);\n  FUN_000149b0();\n  goto LAB_00011a7a;\nLAB_00011c60:\n  while (*(int *)puVar4 < iVar14) {\n    pr2serr("Unexpected extra argument: %s\n",*(undefined4 *)(iVar28 + *(int *)puVar4 * 4),iVar10,\n            iVar10);\n    *(int *)puVar4 = *(int *)puVar4 + 1;\n    iVar10 = extraout_EDX;\n  }\n  FUN_000149b0();\n  local_908 = (stat64 *)0x1;\n  goto LAB_00011a84;\n  while( true ) {\n    iVar14 = iVar14 + -1;\n    cVar6 = *pcVar15;\n    pcVar15 = pcVar15 + (uint)bVar32 * -2 + 1;\n    if (cVar6 == '\0') break;\ncode_r0x00011d5c:\n    if (iVar14 == 0) break;\n  }\n  if ((iVar14 == -3) && (*local_798 == '-')) {\n    pr2serr("don\'t accept \'-\' (implying stdin) as a filename in --scat-file=SF\n");\n    local_908 = (stat64 *)0x1f;\n    goto LAB_00011a84;\n  }\nLAB_00011d67:\n  if (((psVar38 != (stat64 *)0x0) && (local_820 != '\0')) &&\n     ((local_7c0 != 0xffffffff || ((local_7e6 & local_7dc) != 0xffff)))) {\n    pr2serr("--app-tag=, --ref-tag= and --tag-mask= options ignored with 16 byte commands\n");\n  }\n  psVar45 = local_7d0;\n  psVar9 = (stat64 *)(uint)local_810;\n  if (local_810 == 0) {\n    local_93c = local_7d0;\n    cVar2 = '\0';\n    if (local_79c == (char *)0x0) {\n      pr2serr("Need --if=FN option to be given, exiting.\n");\n      if (1 < (int)psVar38) {\n        pr2serr("To write zeros use --in=/dev/zero\n");\n      }\n      pr2serr("\n");\n      FUN_000149b0();\n      local_908 = (stat64 *)0x1;\n      goto LAB_00011a84;\n    }\n    iVar14 = -1;\n    pcVar15 = local_79c;\n    do {\n      if (iVar14 == 0) break;\n      iVar14 = iVar14 + -1;\n      cVar6 = *pcVar15;\n      pcVar15 = pcVar15 + (uint)bVar32 * -2 + 1;\n    } while (cVar6 != '\0');\n    if ((iVar14 != -3) || (*local_79c != '-')) {\n      local_924 = (stat64 *)open64(local_79c,0,iVar14,iVar14);\n      if ((int)local_924 < 0) {\n        piVar19 = __errno_location();\n        iVar14 = *piVar19;\n        pcVar15 = "could not open %s for reading";\n      }\n      else {\n        psVar17 = (stat64 *)sg_set_binary_mode(local_924);\n        if ((int)psVar17 < 0) goto LAB_00011dea;\n        psVar22 = local_924;\n        psVar8 = local_930;\n        iVar14 = __fxstat64(3,(int)local_924,local_930);\n        if (-1 < iVar14) {\n          if ((local_8e0._16_4_ & 0xf000) == 0x8000) {\n            local_93c = (stat64 *)local_8e0._44_4_;\n            if (psVar45 != (stat64 *)0x0) {\n              local_93c = psVar45;\n            }\n            if ((local_8b0 != 0 || (stat64 *)local_8e0._44_4_ != (stat64 *)0x0) &&\n               (psVar25 = (stat64 *)((int)&((stat64 *)(local_8e0._44_4_ + -0x60))->st_ino + 7),\n               iVar28 = local_8b0 + -1 + (uint)((stat64 *)local_8e0._44_4_ != (stat64 *)0x0),\n               iVar14 = (int)local_7b0 - iVar28,\n               (SBORROW4((int)local_7b0,iVar28) != SBORROW4(iVar14,(uint)(local_7b4 < psVar25))) ==\n               (int)(iVar14 - (uint)(local_7b4 < psVar25)) < 0)) {\n              pr2serr("Offset (%llu) is at or beyond IF byte length (%llu)\n",local_7b4,local_7b0,\n                      local_8e0._44_4_,local_8b0,psVar22,psVar8,psVar17);\n              local_908 = (stat64 *)0xf;\n              goto LAB_00012527;\n            }\n            psVar9 = local_7b4;\n            psVar45 = (stat64 *)local_8e0._44_4_;\n            iVar14 = local_8b0;\n            if (local_7b0 != (stat64 *)0x0 || local_7b4 != (stat64 *)0x0) {\n              psVar17 = (stat64 *)0x0;\n              psVar22 = local_7b4;\n              psVar8 = local_7b0;\n              _Var35 = lseek64((int)local_924,CONCAT44(local_7b0,local_7b4),0);\n              psVar25 = local_7b4;\n              if (_Var35 < 0) {\n                piVar19 = __errno_location();\n                psVar25 = (stat64 *)(local_174 + 0x50);\n                iVar14 = *piVar19;\n                __snprintf_chk(psVar25,0x100,1,0x100,"couldn\'t offset to required position on %s",\n                               local_79c,piVar19,piVar19);\n                perror((char *)psVar25);\n                local_908 = (stat64 *)sg_convert_errno(iVar14);\n                goto LAB_00012527;\n              }\n              psVar9 = (stat64 *)((int)psVar45 - (int)local_7b4);\n              iVar14 = (local_8b0 - (int)local_7b0) - (uint)(psVar45 < local_7b4);\n              local_930 = psVar45;\n              if ((int)(uint)(psVar9 != (stat64 *)0x0) <= -iVar14) {\n                pr2serr("--offset [0x%llx] at or beyond file length[0x%llx]\n",local_7b4,local_7b0,\n                        psVar45,local_8b0);\n                local_908 = (stat64 *)0xf;\n                goto LAB_00012527;\n              }\n              if ((local_7f8 != 0) &&\n                 (local_930 = local_7d0, iVar14 < (int)(uint)(psVar9 < local_7d0))) {\n                pr2serr("after accounting for OFF, DLEN exceeds %s remaining length (%u bytes)\n",\n                        local_79c,psVar9,psVar9);\n                local_908 = (stat64 *)0xf;\n                psVar25 = psVar9;\n                goto LAB_00012527;\n              }\n              if (iVar14 < (int)(uint)(psVar9 < local_93c)) {\n                local_93c = psVar9;\n              }\n              psVar45 = psVar9;\n              if (2 < (int)psVar38) {\n                psVar22 = local_7b4;\n                psVar8 = local_93c;\n                psVar17 = psVar9;\n                psVar9 = (stat64 *)\n                         pr2serr("Moved IF byte pointer to %u, if_len=%u, if_readable_len=%u\n",\n                                 local_7b4,local_93c,psVar9);\n              }\n            }\n            goto LAB_00011fa8;\n          }\n          goto LAB_00011e6c;\n        }\n        piVar19 = __errno_location();\n        iVar14 = *piVar19;\n        pcVar15 = "could not fstat %s";\n      }\n      __snprintf_chk(local_174 + 0x50,0x100,1,0x100,pcVar15,local_79c,piVar19,piVar19);\n      perror(local_174 + 0x50);\n      local_908 = (stat64 *)sg_convert_errno(iVar14);\n      goto LAB_00011a84;\n    }\n    iVar14 = sg_set_binary_mode(0);\n    cVar2 = '\x01';\n    local_924 = (stat64 *)0x0;\n    if (iVar14 < 0) {\nLAB_00011dea:\n      perror("sg_set_binary_mode");\n      local_908 = (stat64 *)0xf;\n      goto LAB_00011a84;\n    }\nLAB_00011e6c:\n    if (((stat64 *)((uint)local_7b0 | (uint)local_7b4) == (stat64 *)0x0) ||\n       (psVar38 == (stat64 *)0x0)) {\n      psVar9 = (stat64 *)((uint)local_7b0 | (uint)local_7b4);\n      psVar45 = (stat64 *)0x0;\n      iVar14 = 0;\n    }\n    else {\n      psVar9 = (stat64 *)\n               pr2serr(\n                      "--offset=OFF ignored when IF is stdin, pipe, socket, etc\nDLEN, if given, is used\n"\n                      );\n      psVar45 = (stat64 *)0x0;\n      iVar14 = 0;\n    }\n  }\n  else {\n    local_924 = (stat64 *)0xffffffff;\n    cVar2 = '\0';\n    psVar45 = (stat64 *)0x0;\n    iVar14 = 0;\n    local_93c = (stat64 *)0x0;\n  }\nLAB_00011fa8:\n  if (local_7a0 == (stat64 *)0x0) {\n    pr2serr("missing device name!\n",psVar22,psVar8,psVar17);\n    FUN_000149b0();\n    local_908 = (stat64 *)0x1;\n    psVar25 = (stat64 *)0x0;\nLAB_00012527:\n    if (local_8f0 == (void *)0x0) goto LAB_000123a1;\n    free(local_8f0);\n    goto LAB_000123a1;\n  }\n  pcVar15 = (char *)0x0;\n  psVar17 = psVar38;\n  uVar33 = sg_cmds_open_device(local_7a0,0,psVar38,psVar9);\n  psVar25 = local_7d8;\n  psVar22 = (stat64 *)((ulonglong)uVar33 >> 0x20);\n  local_930 = (stat64 *)uVar33;\n  if ((int)local_930 < 0) {\n    psVar25 = (stat64 *)-(int)local_930;\n    if (local_7f0 != (stat64 *)0x0) {\n      uVar16 = safe_strerror(psVar25);\n      pr2serr("open error: %s: %s\n",local_7a0,uVar16);\n    }\n    local_908 = (stat64 *)sg_convert_errno(psVar25);\n    goto LAB_00012527;\n  }\n  psVar8 = local_7d4;\n  psVar11 = local_7d4;\n  if (local_7d8 == (stat64 *)0x0) {\n    psVar17 = (stat64 *)0x0;\n    if (local_7f0 != (stat64 *)0x0) {\n      psVar17 = (stat64 *)((int)&local_7f0[-1].st_ino + 7);\n    }\n    psVar22 = (stat64 *)local_174;\n    psVar11 = (stat64 *)0x1;\n    pcVar15 = (char *)0x20;\n    psVar9 = psVar17;\n    psVar8 = local_7f0;\n    uVar33 = sg_ll_readcap_16(local_930,0,0,0,psVar22,0x20,1,psVar17,psVar22,local_7f0,psVar45,\n                              iVar14);\n    if ((int)uVar33 == 6) {\n      pr2serr("Read capacity(16) unit attention, try again\n");\n      uVar33 = sg_ll_readcap_16(local_930,0,0,0,psVar22,0x20,1,psVar17);\n    }\n    psVar23 = (stat64 *)((ulonglong)uVar33 >> 0x20);\n    local_908 = (stat64 *)uVar33;\n    if (local_908 == (stat64 *)0x0) {\n      psVar17 = psVar11;\n      if (3 < (int)psVar8) {\n        pr2serr("Read capacity(16) response:\n");\n        psVar17 = (stat64 *)0x1;\n        pcVar15 = (char *)0x20;\n        hex2stderr(psVar22,0x20,1);\n      }\n      bVar1 = local_174[0xc];\n      psVar11 = (stat64 *)\n                ((uint)local_174._8_4_ >> 0x18 | (local_174._8_4_ & 0xff0000) >> 8 |\n                 (local_174._8_4_ & 0xff00) << 8 | local_174._8_4_ << 0x18);\n      uVar7 = (uint)local_174._4_4_ >> 0x18 | (local_174._4_4_ & 0xff0000) >> 8 |\n              (local_174._4_4_ & 0xff00) << 8 | local_174._4_4_ << 0x18;\n      local_7ac = uVar7 + 1;\n      local_7a8 = ((uint)local_174._0_4_ >> 0x18 | (local_174._0_4_ & 0xff0000) >> 8 |\n                   (local_174._0_4_ & 0xff00) << 8 | local_174._0_4_ << 0x18) +\n                  (uint)(0xfffffffe < uVar7);\n      psVar22 = (stat64 *)(uint)local_174[0xc];\n      local_7d8 = psVar11;\n      if ((local_174[0xc] & 1) == 0) {\n        local_7fc = 0;\n        if ((int)local_7ec < 1) goto LAB_00012305;\n        if (psVar8 != (stat64 *)0x0) {\n          pcVar15 = (char *)local_7ec;\n          psVar22 = local_7a0;\n          pr2serr("--wrprotect (%d) expects PI but %s says it has none\n",local_7ec,local_7a0,\n                  psVar11);\n          if (local_7f8 != 0) goto LAB_00012ef5;\n          pcVar13 = "  ... continue but could be dangerous\n";\n          psVar25 = (stat64 *)0x0;\n          psVar9 = psVar11;\n          goto LAB_00013516;\n        }\n        if (local_7f8 != 0) goto LAB_00012ef5;\n      }\n      else {\n        local_7fc = (local_174[0xc] >> 1 & 7) + 1;\n        psVar25 = (stat64 *)(8 << (local_174[0xd] >> 4));\n        psVar22 = (stat64 *)(uint)(local_174[0xd] >> 4);\n        if (((int)local_7ec < 1) ||\n           (local_7d4 = (stat64 *)((int)&psVar25->st_dev + (int)&psVar11->st_dev), (int)psVar8 < 2))\n        {\nLAB_00012305:\n          if (psVar8 == (stat64 *)0x0) goto LAB_00012312;\n        }\n        else {\n          pcVar13 = \n          "  For data out buffer purposes the effective block size is %u (lb size\n  is %u) because PROT_EN=1, PI_EXP=%u and WRPROTECT>0\n"\n          ;\n          pcVar15 = (char *)psVar11;\n          psVar9 = local_7d4;\nLAB_00013516:\n          pr2serr(pcVar13,pcVar15,psVar22,psVar9);\n          psVar17 = psVar22;\n        }\n        pr2serr("Read capacity(16) response fields:\n",pcVar15,psVar17,psVar9);\n        psVar25 = (stat64 *)((int)&local_7d8->st_dev + (int)&psVar25->st_dev);\n        psVar9 = extraout_ECX_06;\n        pr2serr("  Last_LBA=0x%llx  LB size: %u (with PI: %u) bytes  p_type=%u\n",local_7ac + -1,\n                local_7a8 + -1 + (uint)(local_7ac != 0),local_7d8,psVar25,local_174[0xc] >> 1 & 7,\n                extraout_ECX_06,extraout_ECX_06);\n        pr2serr("  prot_en=%u [PI type=%u] p_i_exp=%u  lbppb_exp=%u  lbpme,rz=%u,",bVar1 & 1,\n                local_7fc,local_174[0xd] >> 4,local_174[0xd] & 0xf,\n                (uint)(int)(char)local_174[0xe] >> 0x1f);\n        psVar17 = (stat64 *)\n                  ((ushort)(local_174._14_2_ << 8 | (ushort)local_174._14_2_ >> 8) & 0x3fff);\n        pcVar15 = (char *)(local_174[0xe] >> 6 & 1);\n        pr2serr("%u  low_ali_lba=%u\n",pcVar15,psVar17);\n        psVar22 = extraout_EDX_04;\n      }\n    }\n    else {\n      if (((int)local_908 - 5U & 0xfffffffb) != 0) {\n        if (psVar8 != (stat64 *)0x0) {\n          puVar43 = local_174 + 0x50;\n          psVar25 = (stat64 *)"OS error";\n          puVar29 = puVar43;\n          for (iVar14 = 9; iVar14 != 0; iVar14 = iVar14 + -1) {\n            *puVar29 = (char)psVar25->st_dev;\n            psVar25 = (stat64 *)((int)psVar25 + (uint)bVar32 * -2 + 1);\n            puVar29 = puVar29 + (uint)bVar32 * -2 + 1;\n          }\n          psVar18 = local_908;\n          if (0 < (int)local_908) {\n            psVar18 = (stat64 *)sg_get_category_sense_str(local_908,0x50,puVar43,psVar8);\n          }\n          pr2serr("Read capacity(16): %s\n",puVar43,psVar18,psVar18);\n          pr2serr("Unable to calculate block size\n");\n        }\n        if (0 < (int)local_908) goto LAB_00012354;\n        goto LAB_00012ef5;\n      }\n      if (psVar8 == (stat64 *)0x0) {\n        pcVar15 = (char *)0x1;\n        uVar33 = sg_ll_readcap_10(local_930,0,0,psVar22,8,1,psVar17,psVar23);\n        psVar22 = (stat64 *)((ulonglong)uVar33 >> 0x20);\n        local_908 = (stat64 *)uVar33;\n        psVar9 = psVar23;\n        if (local_908 != (stat64 *)0x0) {\nLAB_00013444:\n          puVar43 = local_174 + 0x50;\n          psVar25 = (stat64 *)"OS error";\n          puVar29 = puVar43;\n          for (iVar14 = 9; iVar14 != 0; iVar14 = iVar14 + -1) {\n            *puVar29 = (char)psVar25->st_dev;\n            psVar25 = (stat64 *)((int)psVar25 + (uint)bVar32 * -2 + 1);\n            puVar29 = puVar29 + (uint)bVar32 * -2 + 1;\n          }\n          if (0 < (int)local_908) {\n            sg_get_category_sense_str(local_908,0x50,puVar43,psVar8);\n            pr2serr("Read capacity(10): %s\n",puVar43);\n            pr2serr("Unable to calculate block size\n");\n            goto LAB_00012354;\n          }\n          __snprintf_chk(puVar43,0x50,1,0x50,"error: %d",local_908,local_908,local_908);\n          pr2serr("Read capacity(10): %s\n",puVar43);\n          pr2serr("Unable to calculate block size\n");\n          local_908 = (stat64 *)0xf;\n          goto LAB_00012354;\n        }\n      }\n      else {\n        psVar25 = psVar22;\n        pr2serr("Read capacity(16) not supported, try Read capacity(10)\n");\n        pcVar15 = (char *)0x1;\n        uVar33 = sg_ll_readcap_10(local_930,0,0,psVar25,8,1,psVar17);\n        psVar22 = (stat64 *)((ulonglong)uVar33 >> 0x20);\n        local_908 = (stat64 *)uVar33;\n        if (local_908 != (stat64 *)0x0) goto LAB_00013444;\n        if (3 < (int)psVar8) {\n          pr2serr("Read capacity(10) response:\n");\n          psVar17 = (stat64 *)0x1;\n          pcVar15 = (char *)0x8;\n          hex2stderr(psVar25,8,1);\n          psVar22 = extraout_EDX_03;\n        }\n      }\n      local_7a8 = 0;\n      local_7ac = ((uint)local_174._0_4_ >> 0x18 | (local_174._0_4_ & 0xff0000) >> 8 |\n                   (local_174._0_4_ & 0xff00) << 8 | local_174._0_4_ << 0x18) + 1;\n      local_7d8 = (stat64 *)\n                  ((uint)local_174._4_4_ >> 0x18 | (local_174._4_4_ & 0xff0000) >> 8 |\n                   (local_174._4_4_ & 0xff00) << 8 | local_174._4_4_ << 0x18);\n    }\nLAB_00012312:\n    local_7d4 = local_7d8;\n    if (local_813 != '\0') {\n      local_7d4 = (stat64 *)&local_7d8->__pad1;\n    }\n    psVar8 = local_7d4;\n    psVar11 = local_7d8;\n    if (local_7d4 == (stat64 *)0x0) goto LAB_00012338;\n  }\n  local_7d4 = psVar8;\n  if (psVar11 == (stat64 *)0x0) {\nLAB_00012338:\n    pr2serr("Logic error, need block size by now\n",pcVar15,psVar17);\n    local_908 = (stat64 *)0x1;\n    goto LAB_00012354;\n  }\n  if ((local_810 == 0) &&\n     (psVar22 = (stat64 *)((uint)local_93c % (uint)psVar8), psVar22 != (stat64 *)0x0)) {\n    if (1 < (int)local_7f8) {\n      pr2serr("Error: number of bytes to read from IF [%u] is not a multiple\nblock size %u (including protection information)\n"\n              ,local_93c,psVar8,local_7f8);\n      local_908 = (stat64 *)0xf;\n      goto LAB_00012354;\n    }\n    psVar11 = (stat64 *)(local_7f8 | (uint)psVar38);\n    if (psVar11 != (stat64 *)0x0) {\n      pcVar15 = (char *)local_93c;\n      pr2serr("Warning: number of bytes to read from IF [%u] is not a multiple\nof actual block size %u; pad with zeros\n"\n              ,local_93c,psVar8,psVar11);\n      psVar22 = extraout_EDX_02;\n      psVar17 = psVar8;\n      psVar9 = psVar11;\n    }\n  }\n  puVar42 = &local_578;\n  puVar26 = puVar42;\n  for (iVar14 = 0x100; iVar14 != 0; iVar14 = iVar14 + -1) {\n    *puVar26 = 0;\n    puVar26 = puVar26 + (uint)bVar32 * -2 + 1;\n  }\n  ppsVar44 = local_778;\n  ppsVar27 = ppsVar44;\n  for (iVar14 = 0x80; iVar14 != 0; iVar14 = iVar14 + -1) {\n    *ppsVar27 = (stat64 *)0x0;\n    ppsVar27 = ppsVar27 + (uint)bVar32 * -2 + 1;\n  }\n  if (bVar31) {\n    uVar7 = 0xffffffff;\n    psVar22 = local_91c;\n    do {\n      if (uVar7 == 0) break;\n      uVar7 = uVar7 - 1;\n      p_Var3 = &psVar22->st_dev;\n      psVar22 = (stat64 *)((int)psVar22 + (uint)bVar32 * -2 + 1);\n    } while ((char)*p_Var3 != '\0');\n    psVar25 = (stat64 *)(~uVar7 - 1);\n    if ((char)local_91c->st_dev == '-') {\n      pr2serr("\'--lba\' cannot be read from stdin\n",pcVar15,psVar17,psVar9);\n      goto LAB_00012130;\n    }\n    pcVar15 = "0123456789aAbBcCdDeEfFhHxXiIkKmMgGtTpP, ";\n    psVar17 = local_91c;\n    psVar9 = local_91c;\n    psVar8 = (stat64 *)strspn((char *)local_91c,"0123456789aAbBcCdDeEfFhHxXiIkKmMgGtTpP, ");\n    psVar22 = psVar25;\n    if (psVar25 == psVar8) {\n      psVar22 = (stat64 *)0x0;\n      psVar25 = local_91c;\n      while( true ) {\n        lVar34 = sg_get_llnum(psVar25,pcVar15,psVar17,psVar9);\n        psVar17 = (stat64 *)lVar34;\n        if (lVar34 == -1) break;\n        puVar42[(int)psVar22 * 2] = (uint)psVar17;\n        puVar42[(int)psVar22 * 2 + 1] = (uint)((ulonglong)lVar34 >> 0x20);\n        psVar9 = psVar17;\n        pcVar12 = strchr((char *)psVar25,0x2c);\n        pcVar15 = (char *)0x20;\n        pcVar13 = strchr((char *)psVar25,0x20);\n        if (pcVar12 == (char *)0x0) {\n          if (pcVar13 == (char *)0x0) {\n            local_91c = (stat64 *)((int)&psVar22->st_dev + 1);\n            if (local_93f != '\0') goto LAB_000126fa;\n            psVar22 = (stat64 *)0x0;\n            psVar17 = extraout_ECX;\n            if (local_91c != (stat64 *)0x1) goto LAB_00012a73;\n            goto LAB_00012820;\n          }\n        }\n        else if ((pcVar13 == (char *)0x0) || (pcVar12 <= pcVar13)) {\n          pcVar13 = pcVar12;\n        }\n        psVar22 = (stat64 *)((int)&psVar22->st_dev + 1);\n        psVar25 = (stat64 *)(pcVar13 + 1);\n        if (psVar22 == (stat64 *)0x80) goto LAB_00013b9f;\n      }\n      psVar8 = (stat64 *)((int)psVar25 - (int)local_91c);\n    }\n    pr2serr("build_lba_arr: error at pos %d\n",(undefined *)((int)&psVar8->st_dev + 1),psVar22,\n            psVar22);\n    goto LAB_00012130;\n  }\n  local_91c = (stat64 *)0x0;\n  if (bVar30) {\nLAB_000126fa:\n    psVar8 = (stat64 *)0xffffffff;\n    psVar22 = local_918;\n    do {\n      if (psVar8 == (stat64 *)0x0) break;\n      psVar8 = (stat64 *)((int)&psVar8[-1].st_ino + 7);\n      p_Var3 = &psVar22->st_dev;\n      psVar22 = (stat64 *)((int)psVar22 + (uint)bVar32 * -2 + 1);\n    } while ((char)*p_Var3 != '\0');\n    psVar25 = (stat64 *)(~(uint)psVar8 - 1);\n    if ((char)local_918->st_dev == '-') {\n      pr2serr("\'--len\' cannot be read from stdin\n");\n    }\n    else {\n      pcVar15 = "0123456789aAbBcCdDeEfFhHxXiIkKmMgGtTpP, ";\n      psVar17 = psVar8;\n      psVar22 = (stat64 *)strspn((char *)local_918,"0123456789aAbBcCdDeEfFhHxXiIkKmMgGtTpP, ");\n      psVar9 = extraout_EDX_00;\n      if (psVar25 == psVar22) {\n        psVar9 = (stat64 *)0x0;\n        psVar25 = local_918;\n        do {\n          lVar34 = sg_get_llnum(psVar25,pcVar15,psVar8,psVar17);\n          psVar8 = (stat64 *)lVar34;\n          if ((int)((ulonglong)lVar34 >> 0x20) == -1) {\n            if (psVar8 == (stat64 *)0xffffffff) {\n              psVar22 = (stat64 *)((int)psVar25 - (int)local_918);\n              goto LAB_000127bf;\n            }\n          }\n          else if (0xffffffff < lVar34) {\n            psVar17 = (stat64 *)((int)psVar25 + (1 - (int)local_918));\n            pcVar15 = "build_num_arr";\n            pr2serr("%s: number exceeds 32 bits at pos %d\n","build_num_arr",psVar17,psVar9);\n            goto LAB_000127d9;\n          }\n          ppsVar44[(int)psVar9] = psVar8;\n          psVar17 = psVar8;\n          pcVar12 = strchr((char *)psVar25,0x2c);\n          pcVar15 = (char *)0x20;\n          pcVar13 = strchr((char *)psVar25,0x20);\n          if (pcVar12 == (char *)0x0) {\n            if (pcVar13 == (char *)0x0) {\n              puVar20 = (undefined *)((int)&psVar9->st_dev + 1);\n              psVar22 = (stat64 *)0x0;\n              psVar17 = extraout_ECX_00;\n              if ((undefined *)0x1 < local_91c) {\n                if ((stat64 *)puVar20 == local_91c) goto LAB_00012820;\n                goto LAB_00012a73;\n              }\n              if (local_91c == (stat64 *)0x0) {\n                if (puVar20 != (undefined *)0x1) {\nLAB_00012a73:\n                  pr2serr("need same number of arguments to \'--lba=\' and \'--num=\' options\n");\n                  local_908 = (stat64 *)0x1f;\n                  goto LAB_00012354;\n                }\n                local_91c = (stat64 *)(undefined *)0x1;\n                if (local_778[0] != (stat64 *)0x0) {\n                  pr2serr("won\'t write %u blocks without an explicit --lba= option\n",local_778[0],\n                          extraout_ECX_00,extraout_ECX_00);\n                  local_908 = (stat64 *)0x1;\n                  goto LAB_00012354;\n                }\n              }\n              else {\n                local_91c = (stat64 *)(undefined *)0x1;\n              }\n              goto LAB_00012820;\n            }\n          }\n          else if ((pcVar13 == (char *)0x0) || (pcVar12 <= pcVar13)) {\n            pcVar13 = pcVar12;\n          }\n          psVar9 = (stat64 *)((int)&psVar9->st_dev + 1);\n          psVar25 = (stat64 *)(pcVar13 + 1);\n        } while (psVar9 != (stat64 *)0x80);\n        pcVar15 = "build_num_arr";\n        psVar17 = extraout_ECX_00;\n        psVar9 = extraout_ECX_00;\n        pr2serr("%s: array length exceeded\n","build_num_arr",extraout_ECX_00,extraout_ECX_00);\n      }\n      else {\nLAB_000127bf:\n        psVar17 = (stat64 *)((int)&psVar22->st_dev + 1);\n        pcVar15 = "build_num_arr";\n        pr2serr("%s: error at pos %d\n","build_num_arr",psVar17,psVar9);\n      }\n    }\nLAB_000127d9:\n    pr2serr("bad argument to \'--num\'\n",pcVar15,psVar17,psVar9);\n    local_908 = (stat64 *)0x0;\n    goto LAB_00012354;\n  }\n  psVar17 = (stat64 *)0x0;\n  local_91c = (stat64 *)(undefined *)0x0;\nLAB_00012820:\n  if (local_798 == (char *)0x0) {\nLAB_00012ce5:\n    local_908 = (stat64 *)0x0;\n    local_880._44_4_ = psVar25;\n  }\n  else {\n    pcVar15 = local_798;\n    iVar14 = __xstat64(3,local_798,psVar18);\n    if (iVar14 < 0) {\n      piVar19 = __errno_location();\n      psVar25 = (stat64 *)*piVar19;\n      uVar16 = safe_strerror(psVar25);\n      pcVar15 = "Unable to stat(%s) as SF: %s\n";\nLAB_000136f9:\n      pr2serr(pcVar15,local_798,uVar16);\n      local_908 = (stat64 *)sg_convert_errno(psVar25);\n      goto LAB_00012354;\n    }\n    if (local_819 == '\0') {\n      iVar14 = 0;\n      if (local_7e0 != 0) {\n        iVar14 = (local_7e0 + 1) * 0x20;\n      }\n      local_908 = (stat64 *)FUN_000156d0(0,&local_8f8,&local_8f4,iVar14);\n      if (local_908 != (stat64 *)0x0) goto LAB_00012354;\n      psVar17 = extraout_ECX_04;\n      if ((local_7e0 != 0) && (local_7e0 != local_8f8)) {\n        if (local_8f8 < local_7e0) {\n          pr2serr("RD (%u) %s number of %ss (%u) found in SF\n",local_7e0,&DAT_000170dd,\n                  "LBA range descriptor",local_8f8);\n          local_908 = (stat64 *)0xf;\n          goto LAB_00012354;\n        }\n        psVar25 = (stat64 *)((uint)psVar38 | local_7f8);\n        if ((psVar25 != (stat64 *)0x0) &&\n           (pr2serr("RD (%u) %s number of %ss (%u) found in SF\n",local_7e0,&DAT_00017110,\n                    "LBA range descriptor",local_8f8), psVar17 = extraout_ECX_01, local_7f8 != 0))\n        goto LAB_00012ef5;\n      }\n      goto LAB_00012ce5;\n    }\n    if ((local_880._16_4_ & 0xf000) != 0x8000) {\n      pr2serr("Expect scatter file to be a regular file\n",pcVar15,psVar18,psVar22);\n      local_908 = (stat64 *)0xf;\n      goto LAB_00012354;\n    }\n    local_908 = (stat64 *)local_880._44_4_;\n    local_920 = (stat64 *)open64(local_798,0,0x8000,0x8000);\n    if ((int)local_920 < 0) {\n      piVar19 = __errno_location();\n      psVar25 = (stat64 *)*piVar19;\n      uVar16 = safe_strerror(psVar25);\n      pcVar15 = "Failed to open %s for raw read: %s\n";\n      goto LAB_000136f9;\n    }\n    iVar14 = sg_set_binary_mode(local_920);\n    psVar17 = extraout_ECX_05;\n    if (iVar14 < 0) {\n      perror("sg_set_binary_mode");\n      local_908 = (stat64 *)0xf;\n      psVar25 = (stat64 *)local_880._44_4_;\n      goto LAB_00012354;\n    }\n  }\n  psVar18 = local_7f0;\n  psVar25 = local_8f4;\n  if (local_817 == 0) {\n    if (local_91c == (stat64 *)0x0) {\n      psVar25 = (stat64 *)local_880._44_4_;\n      if (local_798 == (char *)0x0) {\n        if (local_819 == '\0') {\n          pr2serr("No LBA or number_of_blocks given, try using --lba= and --num=\n");\n          local_908 = (stat64 *)0x1;\n          goto LAB_00012354;\n        }\n      }\n      else if (local_819 == '\0') {\n        local_8f4 = (stat64 *)0x0;\n        uVar33 = FUN_000156d0(local_174 + 0x50,&local_8f8,&local_8f4,0x60);\n        uVar16 = (undefined4)((ulonglong)uVar33 >> 0x20);\n        local_908 = (stat64 *)uVar33;\n        if (local_908 != (stat64 *)0x0) goto LAB_00012354;\n        if (psVar38 != (stat64 *)0x0) {\n          uVar7 = (uint)local_8f8;\n          if (1 < local_8f8) {\n            uVar7 = pr2serr("warning: %d LBA,number_of_blocks pairs found, only taking first\n",\n                            uVar7,uVar16,uVar16);\n          }\n          if (2 < (int)psVar38) {\n            pr2serr("after build_t10_scat, num_lbard=%u, sum_num=%u\n",local_8f8,local_8f4,uVar7);\n          }\n        }\n        if (local_8f8 != 1) {\n          pr2serr("Unable to decode one LBA range descriptor from %s\n",local_798,0,0);\n          local_908 = (stat64 *)0xf;\n          goto LAB_00012354;\n        }\n        local_7b8 = local_104 >> 0x18 | (local_104 & 0xff0000) >> 8 | (local_104 & 0xff00) << 8 |\n                    local_104 << 0x18;\n        local_7bc = local_100 >> 0x18 | (local_100 & 0xff0000) >> 8 | (local_100 & 0xff00) << 8 |\n                    local_100 << 0x18;\n        local_7cc = (stat64 *)\n                    (local_fc >> 0x18 | (local_fc & 0xff0000) >> 8 | (local_fc & 0xff00) << 8 |\n                    local_fc << 0x18);\n        if (local_81f != '\0') {\n          local_7c0 = local_f8 >> 0x18 | (local_f8 & 0xff0000) >> 8 | (local_f8 & 0xff00) << 8 |\n                      local_f8 << 0x18;\n          local_7e6 = local_f4 << 8 | local_f4 >> 8;\n          local_7dc = local_f2 << 8 | local_f2 >> 8;\n        }\n        goto LAB_00012d48;\n      }\n      if (local_908 < (stat64 *)0x40) {\n        pr2serr("raw scatter file must be at least 64 bytes long (length: %u)\n",local_908,\n                local_880._44_4_,local_880._44_4_);\nLAB_00012ef5:\n        local_908 = (stat64 *)0xf;\n        goto LAB_00012354;\n      }\n      psVar25 = (stat64 *)(local_174 + 0x50);\n      local_908 = (stat64 *)FUN_00014a80(&DAT_00017365);\n      if (local_908 != (stat64 *)0x0) goto LAB_00012354;\n      cVar6 = FUN_000146a0(&local_8f8,&local_8f4,extraout_ECX_03,extraout_ECX_03);\n      if (cVar6 == '\0') goto LAB_00012ef5;\n      if (local_8f8 != 1) {\n        pr2serr("No %ss found in SF (num=%u)\n","LBA range descriptor",local_8f8,extraout_EDX_01);\n        goto LAB_00012ef5;\n      }\n      local_7b8 = local_114 >> 0x18 | (local_114 & 0xff0000) >> 8 | (local_114 & 0xff00) << 8 |\n                  local_114 << 0x18;\n      local_7bc = local_110 >> 0x18 | (local_110 & 0xff0000) >> 8 | (local_110 & 0xff00) << 8 |\n                  local_110 << 0x18;\n      local_7cc = (stat64 *)\n                  (local_10c >> 0x18 | (local_10c & 0xff0000) >> 8 | (local_10c & 0xff00) << 8 |\n                  local_10c << 0x18);\n    }\n    else {\n      local_7bc = local_578;\n      local_7b8 = local_574;\n      local_7cc = local_778[0];\n      if ((psVar38 != (stat64 *)0x0) && (local_91c != (stat64 *)0x1)) {\n        pr2serr("warning: %d LBA,number_of_blocks pairs found, only taking first\n",local_91c,\n                psVar17,psVar17);\n      }\n    }\nLAB_00012d48:\n    if (local_818 == 0) {\n      psVar25 = (stat64 *)((int)local_7cc * (int)local_7d4);\n    }\n    else {\n      psVar25 = (stat64 *)0x0;\n      if (local_810 == 0) {\n        psVar25 = local_7d4;\n      }\n    }\n    local_7a4 = psVar25;\n    if (psVar25 != (stat64 *)0x0) {\n      iVar14 = sg_memalign(psVar25,0,&local_8f0,0);\n      if (iVar14 == 0) {\n        pcVar15 = "unable to allocate %u bytes of memory\n";\n        ppvVar39 = (void **)0x0;\n        uVar16 = 0;\n        psVar38 = psVar25;\nLAB_00013bea:\n        pr2serr(pcVar15,psVar38,ppvVar39,uVar16);\n        local_908 = (stat64 *)sg_convert_errno(0xc);\n        goto LAB_00012354;\n      }\n      local_908 = (stat64 *)FUN_00014a80(&DAT_000173c6);\n      if (local_908 != (stat64 *)0x0) goto LAB_00012354;\n    }\n    local_908 = (stat64 *)FUN_00014b00(&local_820);\n    if (local_908 == (stat64 *)0x0) goto LAB_00012354;\n    if (local_81a != '\0') goto LAB_00012354;\n    puVar43 = local_174;\n    psVar25 = (stat64 *)"OS error";\n    puVar29 = puVar43;\n    for (iVar14 = 9; iVar14 != 0; iVar14 = iVar14 + -1) {\n      *puVar29 = (char)psVar25->st_dev;\n      psVar25 = (stat64 *)((int)psVar25 + (uint)bVar32 * -2 + 1);\n      puVar29 = puVar29 + (uint)bVar32 * -2 + 1;\n    }\n    uVar16 = 0;\n    if (0 < (int)local_908) {\n      sg_get_category_sense_str(local_908,0x50,puVar43,psVar38);\n      uVar16 = extraout_ECX_02;\n    }\n    pr2serr("%s: %s\n",local_790,puVar43,uVar16);\n    goto LAB_00012354;\n  }\n  local_8e8 = (void *)0x0;\n  local_8f6 = local_8f8;\n  local_8ec = (undefined1  [4])local_8f4;\n  if (local_81c != '\0') {\n    if (local_7e2 == 0) {\n      if (local_7e0 == 0) {\n        psVar17 = local_93c;\n        if (local_93c == (stat64 *)0x0) {\n          pr2serr("With --combined= if DOF, RD are 0 and IF has an unknown length\nthen give up\n");\n          local_908 = (stat64 *)0x1f;\n          goto LAB_00012354;\n        }\n      }\n      else {\n        psVar17 = (stat64 *)((local_7e0 + 1) * 0x20);\n      }\n      if ((uint)psVar17 % (uint)local_7d4 != 0) {\n        psVar17 = (stat64 *)(((uint)psVar17 / (uint)local_7d4 + 1) * (int)local_7d4);\n      }\n    }\n    else {\n      psVar17 = (stat64 *)((uint)local_7e2 * (int)local_7d4);\n    }\n    ppvVar39 = &local_8e8;\n    uVar16 = 0;\n    psVar38 = (stat64 *)0x0;\n    psVar25 = (stat64 *)sg_memalign(psVar17,0,ppvVar39,0);\n    if (psVar25 == (stat64 *)0x0) {\nLAB_000141a6:\n      pcVar15 = "unable to allocate aligned memory for scatterlist+data\n";\n      goto LAB_00013bea;\n    }\n    local_908 = (stat64 *)FUN_00014a80("IF c1");\n    if (local_908 != (stat64 *)0x0) goto LAB_000133fd;\n    cVar6 = FUN_000146a0(&local_8f6,local_8ec,0,0);\n    if (cVar6 != '\0') {\n      if ((local_7e0 == 0) || (local_7e0 == local_8f6)) {\n        local_7e0 = local_8f6;\nLAB_00013fe3:\n        local_908 = (stat64 *)((local_7e0 + 1) * 0x20);\n        if ((uint)local_908 % (uint)local_7d4 != 0) {\n          local_908 = (stat64 *)(((uint)local_908 / (uint)local_7d4 + 1) * (int)local_7d4);\n        }\n        uVar7 = (uint)local_7e2;\n        uVar24 = uVar7 * (int)local_7d4;\n        psVar38 = local_908;\n        local_8f6 = local_7e0;\n        if (uVar24 - (int)local_908 != 0) {\n          if (uVar24 < local_908) {\n            pr2serr("%s: Cannot fit %ss (%u) in given LB data offset (%u)\n","process_scattered",\n                    "LBA range descriptor",(uint)local_7e0,uVar7);\n            goto LAB_000133f3;\n          }\n          psVar38 = (stat64 *)uVar24;\n          if ((((uint)psVar18 | local_7f8) != 0) &&\n             (pr2serr("%s: empty blocks before LB data offset (%u), could be okay\n",\n                      "process_scattered",uVar7,(uint)psVar18 | local_7f8), local_7f8 != 0)) {\n            pr2serr("Exiting due to --strict; perhaps try again with --combined=%u\n",\n                    (uint)local_908 / (uint)local_7d4,psVar25,psVar25);\n            local_908 = (stat64 *)0xf;\n            goto LAB_000133fd;\n          }\n        }\n        psVar38 = (stat64 *)((int)local_8ec * (int)local_7d4 + (int)psVar38);\n        if (psVar38 <= psVar17) {\nLAB_0001418c:\n          local_7cc = (stat64 *)local_8ec;\n          local_7a4 = (stat64 *)((int)local_8ec * (int)local_7d4);\n          goto LAB_00013962;\n        }\n        if (local_93c != psVar38) {\n          if (local_93c < psVar38) {\n            pr2serr("Calculated dout length (%u) %s bytes available in IF (%u)\n",psVar38,\n                    &DAT_000170dd,local_93c);\n          }\n          else if ((psVar18 == (stat64 *)0x0 && local_7f8 == 0) ||\n                  (pr2serr("Calculated dout length (%u) %s bytes available in IF (%u)\n",psVar38,\n                           &DAT_00017110,local_93c), local_7f8 == 0)) goto LAB_00014113;\n          goto LAB_000133f3;\n        }\nLAB_00014113:\n        uVar33 = sg_memalign(psVar38,0,&local_8e4,0);\n        uVar16 = (undefined4)((ulonglong)uVar33 >> 0x20);\n        psVar38 = (stat64 *)uVar33;\n        if (psVar38 != (stat64 *)0x0) {\n          memcpy(psVar38,psVar25,(size_t)psVar17);\n          free(local_8e8);\n          local_8e8 = local_8e4;\n          local_908 = (stat64 *)FUN_00014a80("IF c2",psVar25,psVar17,uVar16);\n          psVar25 = psVar38;\n          if (local_908 != (stat64 *)0x0) goto LAB_000133fd;\n          goto LAB_0001418c;\n        }\nLAB_00014273:\n        pcVar15 = "unable to allocate memory for final scatterlist+data\n";\n        goto LAB_00013fbc;\n      }\n      if (local_8f6 < local_7e0) {\n        pr2serr("RD (%u) %s number of %ss (%u) found in IF\n",local_7e0,&DAT_000170dd,\n                "LBA range descriptor",local_8f6);\n      }\n      else if ((psVar18 == (stat64 *)0x0 && local_7f8 == 0) ||\n              (pr2serr("RD (%u) %s number of %ss (%u) found in IF\n",local_7e0,&DAT_00017110,\n                       "LBA range descriptor",local_8f6), local_7f8 == 0)) {\n        local_908 = (stat64 *)0x0;\n        for (psVar38 = psVar25; (stat64 *)(&psVar25->st_dev + (uint)local_7e0 * 4) != psVar38;\n            psVar38 = (stat64 *)&psVar38->st_rdev) {\n          uVar7 = psVar38->__pad2;\n          local_908 = (stat64 *)\n                      ((int)&local_908->st_dev +\n                      (uVar7 >> 0x18 | (uVar7 & 0xff0000) >> 8 | (uVar7 & 0xff00) << 8 |\n                      uVar7 << 0x18));\n        }\n        local_8ec = (undefined1  [4])local_908;\n        goto LAB_00013fe3;\n      }\n    }\nLAB_000133f3:\n    local_908 = (stat64 *)0xf;\n    goto LAB_000133fd;\n  }\n  if (local_91c != (stat64 *)0x0) {\n    local_8f6 = (ushort)local_91c;\n  }\n  if (local_798 == (char *)0x0) {\n    if (local_819 != '\0') goto LAB_00013dcd;\n    if (local_91c == (stat64 *)0x0) {\n      pr2serr("How did we get here??\n");\n      local_908 = (stat64 *)0x1;\n      goto LAB_000133fd;\n    }\n    if ((local_7e0 != 0) && (local_91c < (undefined *)(uint)local_7e0)) {\n      pr2serr("%s: number given to --scattered= (%u) exceeds number of --lba= elements (%u)\n",\n              "process_scattered",(undefined *)(uint)local_7e0,local_91c);\n      local_908 = (stat64 *)0x1f;\n      goto LAB_00012354;\n    }\n    uVar7 = (local_8f6 + 1) * 0x20;\n    local_7e2 = (ushort)(uVar7 / (uint)local_7d4);\n    if (uVar7 % (uint)local_7d4 != 0) {\n      local_7e2 = local_7e2 + 1;\n    }\n    iVar14 = 0;\n    local_8ec = (undefined1  [4])0x0;\n    do {\n      local_8ec = (undefined1  [4])((int)&((stat64 *)local_8ec)->st_dev + (int)ppsVar44[iVar14]);\n      iVar14 = iVar14 + 1;\n    } while (iVar14 < (int)local_91c);\n    psVar25 = (stat64 *)\n              sg_memalign((int)((int)&((stat64 *)local_8ec)->st_dev + (uint)local_7e2) *\n                          (int)local_7d4,0,&local_8e8,0);\n    if (psVar25 == (stat64 *)0x0) goto LAB_00013fb3;\n    iVar14 = 0;\n    psVar38 = psVar25;\n    do {\n      uVar7 = puVar42[iVar14 * 2];\n      uVar24 = puVar42[iVar14 * 2 + 1];\n      *(uint *)&psVar38->st_rdev =\n           uVar24 >> 0x18 | (uVar24 & 0xff0000) >> 8 | (uVar24 & 0xff00) << 8 | uVar24 << 0x18;\n      *(uint *)((int)&psVar38->st_rdev + 4) =\n           uVar7 >> 0x18 | (uVar7 & 0xff0000) >> 8 | (uVar7 & 0xff00) << 8 | uVar7 << 0x18;\n      psVar17 = ppsVar44[iVar14];\n      psVar38->__pad2 =\n           (uint)psVar17 >> 0x18 | ((uint)psVar17 & 0xff0000) >> 8 | ((uint)psVar17 & 0xff00) << 8 |\n           (int)psVar17 << 0x18;\n      if (local_81f != '\0') {\n        if (iVar14 == 0) {\n          *(uint *)&psVar38->st_size =\n               local_7c0 >> 0x18 | (local_7c0 & 0xff0000) >> 8 | (local_7c0 & 0xff00) << 8 |\n               local_7c0 << 0x18;\n          *(ushort *)((int)&psVar38->st_size + 4) = local_7e6 << 8 | local_7e6 >> 8;\n          *(ushort *)((int)&psVar38->st_size + 6) = local_7dc << 8 | local_7dc >> 8;\n        }\n        else {\n          *(undefined4 *)&psVar38->st_size = 0xffffffff;\n          *(undefined2 *)((int)&psVar38->st_size + 4) = 0xffff;\n          *(undefined2 *)((int)&psVar38->st_size + 6) = 0xffff;\n        }\n      }\n      iVar14 = iVar14 + 1;\n      psVar38 = (stat64 *)&psVar38->st_rdev;\n    } while (iVar14 < (int)local_91c);\n    local_7cc = (stat64 *)local_8ec;\n  }\n  else {\n    if (local_819 == '\0') {\n      uVar7 = (uint)local_8f6;\n      uVar16 = 0;\n      uVar24 = (uVar7 + 1) * 0x20;\n      local_7e2 = (ushort)(uVar24 / (uint)local_7d4);\n      ppvVar39 = &local_8e8;\n      if (uVar24 % (uint)local_7d4 != 0) {\n        local_7e2 = local_7e2 + 1;\n      }\n      psVar38 = (stat64 *)0x0;\n      psVar25 = (stat64 *)\n                sg_memalign((int)((int)&local_8f4->st_dev + (uint)local_7e2) * (int)local_7d4,0,\n                            ppvVar39,0);\n      if (psVar25 == (stat64 *)0x0) goto LAB_000141a6;\n      local_8f6 = 0;\n      local_8ec = (undefined1  [4])0x0;\n      if (uVar7 + 1 == 1) {\n        uVar24 = (uint)local_7e2 * (int)local_7d4;\n      }\n      local_908 = (stat64 *)FUN_000156d0(psVar25,&local_8f6,local_8ec,uVar24);\n      if (local_908 != (stat64 *)0x0) goto LAB_000133fd;\n      psVar38 = (stat64 *)((int)local_7d4 * (int)local_8ec);\n      if (local_7d0 <= psVar38) {\n        if ((local_7d0 <= psVar38 && (int)psVar38 - (int)local_7d0 != 0) &&\n           (local_7d0 != (stat64 *)0x0)) {\n          psVar38 = local_7d0;\n        }\nLAB_00014208:\n        if ((psVar45 != (stat64 *)0x0) && (psVar45 != psVar38)) {\n          if (psVar18 != (stat64 *)0x0) {\n            puVar20 = &DAT_00017110;\n            if (psVar38 <= psVar45) {\n              puVar20 = &DAT_000170dd;\n            }\n            pr2serr("readable length (%u) of IF %s bytes implied by sum of\nscatter list NUMs (%u) and DLEN\n"\n                    ,psVar45,puVar20,psVar38);\n          }\n          if ((local_7f8 != 0) && ((psVar38 <= psVar45 || (1 < (int)local_7f8)))) goto LAB_000133f3;\nLAB_0001387e:\n          if (psVar45 < psVar38) {\n            psVar38 = psVar45;\n          }\n        }\n        psVar17 = (stat64 *)((uint)psVar38 / (uint)local_7d4);\n        if (((uint)psVar38 % (uint)local_7d4 != 0) &&\n           ((psVar18 != (stat64 *)0x0 || (1 < (int)local_7f8)))) {\n          psVar22 = local_7d8;\n          pr2serr("Calculated data-out length (0x%x) not a multiple of BS (%u",psVar38,local_7d8,\n                  psVar17);\n          if (local_7d8 != local_7d4) {\n            psVar38 = (stat64 *)((int)local_7d4 - (int)local_7d8);\n            psVar22 = extraout_ECX_07;\n            psVar17 = extraout_ECX_07;\n            pr2serr(" + %d(PI)",psVar38,extraout_ECX_07,extraout_ECX_07);\n          }\n          if (1 < (int)local_7f8) {\n            pr2serr(")\nexiting ...\n",psVar38,psVar22,psVar17);\n            local_908 = (stat64 *)0xf;\n            goto LAB_000133fd;\n          }\n          pr2serr(")\nzero pad and continue ...\n",psVar38,psVar22,psVar17);\n        }\n      }\n      else {\n        uVar7 = (uint)psVar18 | local_7f8;\n        if (uVar7 != 0) {\n          pr2serr("DLEN > than bytes implied by sum of scatter list NUMs (%u)\n",psVar38,uVar7,uVar7\n                 );\n          if (1 < (int)psVar18) {\n            pr2serr("  num_lbard=%u, sum_num=%u actual_bs=%u",local_8f6,local_8ec,local_7d4);\n          }\n          if (local_7f8 != 0) goto LAB_000133f3;\n          goto LAB_00014208;\n        }\n        if ((psVar45 != (stat64 *)0x0) && (psVar45 != psVar38)) goto LAB_0001387e;\n      }\n      local_908 = (stat64 *)FUN_00014a80(&DAT_00017360);\n    }\n    else {\nLAB_00013dcd:\n      psVar38 = local_7d4;\n      if (local_7e0 != 0) {\n        psVar38 = (stat64 *)((local_7e0 + 1) * 0x20);\n        if (local_908 < psVar38) {\n          pr2serr("SF not long enough (%u bytes) to provide RD (%u) %ss\n",local_908,psVar38,\n                  "LBA range descriptor");\n          local_908 = (stat64 *)0xf;\n          goto LAB_000133fd;\n        }\n        psVar38 = (stat64 *)\n                  ((((uint)psVar38 / (uint)local_7d4 + 1) -\n                   (uint)((uint)psVar38 % (uint)local_7d4 == 0)) * (int)local_7d4);\n      }\n      local_918 = local_7d4;\n      if (local_93c != (stat64 *)0x0) {\n        local_918 = (stat64 *)\n                    ((((uint)local_93c / (uint)local_7d4 + 1) -\n                     (uint)((uint)local_93c % (uint)local_7d4 == 0)) * (int)local_7d4);\n      }\n      psVar25 = (stat64 *)\n                sg_memalign((undefined *)((int)&psVar38->st_dev + (int)&local_918->st_dev),0,\n                            &local_8e8,0);\n      if (psVar25 == (stat64 *)0x0) {\nLAB_00013fb3:\n        pcVar15 = "unable to allocate aligned memory for scatterlist+data\n";\nLAB_00013fbc:\n        pr2serr(pcVar15);\n        local_908 = (stat64 *)sg_convert_errno(0xc);\n        goto LAB_000133fd;\n      }\n      local_908 = (stat64 *)FUN_00014a80(&DAT_00017365);\n      if (local_908 != (stat64 *)0x0) goto LAB_000133fd;\n      psVar17 = (stat64 *)local_8ec;\n      psVar22 = extraout_ECX_08;\n      psVar8 = extraout_ECX_08;\n      cVar6 = FUN_000146a0(&local_8f6,psVar17,extraout_ECX_08,extraout_ECX_08);\n      if (cVar6 == '\0') goto LAB_000133f3;\n      if (local_7e0 != local_8f6) {\n        pr2serr("Try again with --scattered=%u\n",local_8f6,extraout_EDX_05,extraout_EDX_05);\n        local_908 = (stat64 *)0xf;\n        goto LAB_000133fd;\n      }\n      if (local_918 < (stat64 *)((int)local_7d4 * (int)local_8ec)) {\n        psVar9 = (stat64 *)\n                 sg_memalign((undefined *)\n                             ((int)&psVar38->st_dev +\n                             (int)&((stat64 *)((int)local_7d4 * (int)local_8ec))->st_dev),0,\n                             &local_8e4,0);\n        if (psVar9 == (stat64 *)0x0) goto LAB_00014273;\n        psVar22 = psVar38;\n        psVar8 = psVar9;\n        memcpy(psVar9,psVar25,(size_t)psVar38);\n        psVar17 = psVar25;\n        free(local_8e8);\n        local_8e8 = local_8e4;\n        psVar25 = psVar9;\n      }\n      if ((local_93c != psVar38) && (psVar18 != (stat64 *)0x0 || local_7f8 != 0)) {\n        psVar22 = (stat64 *)&DAT_000170dd;\n        if (local_93c <= psVar38) {\n          psVar22 = (stat64 *)&DAT_00017110;\n        }\n        psVar8 = psVar38;\n        pr2serr("IF length (%u) %s \'sum_num\' bytes (%u), ",local_93c,psVar22,psVar38);\n        if (1 < (int)local_7f8) {\n          pr2serr("exiting (strict=%d)\n",local_7f8,psVar38,psVar38);\n          local_908 = (stat64 *)0xf;\n          goto LAB_000133fd;\n        }\n        pr2serr("continuing ...\n",local_93c,psVar22,psVar8);\n        psVar17 = local_93c;\n      }\n      local_908 = (stat64 *)FUN_00014a80(&DAT_0001738d,psVar17,psVar22,psVar8);\n    }\n    if (local_908 != (stat64 *)0x0) goto LAB_000133fd;\n    local_7a4 = (stat64 *)((int)local_8ec * (int)local_7d4);\n    local_7cc = (stat64 *)local_8ec;\n  }\nLAB_00013962:\n  local_8ec = (undefined1  [4])local_7cc;\n  local_908 = (stat64 *)FUN_00014b00(&local_820);\n  if (local_908 != (stat64 *)0x0) {\n    puVar43 = local_174 + 0x50;\n    psVar25 = (stat64 *)"OS error";\n    puVar29 = puVar43;\n    for (iVar14 = 9; iVar14 != 0; iVar14 = iVar14 + -1) {\n      *puVar29 = (char)psVar25->st_dev;\n      psVar25 = (stat64 *)((int)psVar25 + (uint)bVar32 * -2 + 1);\n      puVar29 = puVar29 + (uint)bVar32 * -2 + 1;\n    }\n    if (0 < (int)local_908) {\n      sg_get_category_sense_str(local_908,0x50,puVar43,psVar18);\n    }\n    pr2serr("%s: %s\n",local_790,puVar43,psVar25);\n  }\nLAB_000133fd:\n  if (local_8e8 == (void *)0x0) goto LAB_00012354;\n  free(local_8e8);\n  goto LAB_00012354;\ncode_r0x000115f1:\n  uVar33 = sg_get_llnum(*(undefined4 *)PTR_optarg_0001dffc);\n  psVar38 = local_7d0;\n  uVar16 = uStack_7c4;\n  uVar7 = (uint)uVar33;\n  if ((int)((ulonglong)uVar33 >> 0x20) != 0) goto code_r0x00012b94;\n  goto code_r0x000114e8;\ncode_r0x00012b94:\n  pr2serr("bad argument to \'--ref-tag=\'. Expect 0 to 0xffffffff inclusive\n");\nLAB_00011a7a:\n  local_908 = (stat64 *)0x1;\nLAB_00011a84:\n  do {\n    psVar25 = (stat64 *)(local_24 ^ *(uint *)(in_GS_OFFSET + 0x14));\n    if (psVar25 == (stat64 *)0x0) {\n      return (int)local_908;\n    }\n    FUN_000162b0();\nLAB_00013b9f:\n    pr2serr("build_lba_arr: array length exceeded\n");\nLAB_00012130:\n    pr2serr("bad argument to \'--lba\'\n");\n    local_908 = (stat64 *)0x1;\nLAB_00012354:\n    if (local_8f0 != (void *)0x0) {\n      free(local_8f0);\n    }\n    iVar14 = sg_cmds_close_device(local_930);\n    if (iVar14 < 0) {\n      if (local_81a == '\0') {\n        uVar16 = safe_strerror(-iVar14);\n        pr2serr("sg_fd close error: %s\n",uVar16);\n      }\n      if (local_908 == (stat64 *)0x0) {\n        local_908 = (stat64 *)0xf;\n      }\n    }\n    if ((-1 < (int)local_920) && (iVar14 = close((int)local_920), iVar14 < 0)) {\n      if (local_81a == '\0') {\n        perror("sfr_fd close error");\n      }\n      if (local_908 == (stat64 *)0x0) {\n        local_908 = (stat64 *)0xf;\n      }\n    }\nLAB_000123a1:\n    if (((cVar2 == '\x01') || ((int)local_924 < 0)) ||\n       (pcVar15 = (char *)close((int)local_924), -1 < (int)pcVar15)) {\nLAB_000123cc:\n      if (((local_7f0 == (stat64 *)0x0) && (local_81a == '\0')) &&\n         (cVar6 = sg_if_can2stderr("sg_write_x failed: ",local_908,psVar25,psVar25), cVar6 == '\0'))\n      goto LAB_0001260b;\n      goto LAB_000123e2;\n    }\n    if (local_81a == '\0') {\n      pcVar15 = "infd close error";\n      perror("infd close error");\n    }\n    if (local_908 != (stat64 *)0x0) goto LAB_000123cc;\n    local_908 = (stat64 *)0xf;\n    if (((local_7f0 == (stat64 *)0x0) && (local_81a == '\0')) &&\n       (cVar6 = sg_if_can2stderr("sg_write_x failed: ",0xf,pcVar15,pcVar15), cVar6 == '\0')) {\nLAB_0001260b:\n      pr2serr("Some error occurred, try again with \'-v\' or \'-vv\' for more information\n");\nLAB_000123e2:\n      if ((int)local_908 < 0) {\n        local_908 = (stat64 *)0x63;\n      }\n    }\n  } while( true );\n}" ({ "{") (declaration "byte bVar1;" (type_identifier "byte") (identifier "bVar1") (; ";")) (declaration "char cVar2;" (primitive_type "char") (identifier "cVar2") (; ";")) (declaration "__dev_t *p_Var3;" (type_identifier "__dev_t") (pointer_declarator "*p_Var3" (* "*") (identifier "p_Var3")) (; ";")) (declaration "undefined *puVar4;" (type_identifier "undefined") (pointer_declarator "*puVar4" (* "*") (identifier "puVar4")) (; ";")) (declaration "undefined *puVar5;" (type_identifier "undefined") (pointer_declarator "*puVar5" (* "*") (identifier "puVar5")) (; ";")) (declaration "char cVar6;" (primitive_type "char") (identifier "cVar6") (; ";")) (declaration "uint uVar7;" (type_identifier "uint") (identifier "uVar7") (; ";")) (declaration "stat64 *psVar8;" (type_identifier "stat64") (pointer_declarator "*psVar8" (* "*") (identifier "psVar8")) (; ";")) (declaration "stat64 *psVar9;" (type_identifier "stat64") (pointer_declarator "*psVar9" (* "*") (identifier "psVar9")) (; ";")) (declaration "int iVar10;" (primitive_type "int") (identifier "iVar10") (; ";")) (declaration "stat64 *psVar11;" (type_identifier "stat64") (pointer_declarator "*psVar11" (* "*") (identifier "psVar11")) (; ";")) (declaration "char *pcVar12;" (primitive_type "char") (pointer_declarator "*pcVar12" (* "*") (identifier "pcVar12")) (; ";")) (declaration "char *pcVar13;" (primitive_type "char") (pointer_declarator "*pcVar13" (* "*") (identifier "pcVar13")) (; ";")) (declaration "int iVar14;" (primitive_type "int") (identifier "iVar14") (; ";")) (declaration "char *pcVar15;" (primitive_type "char") (pointer_declarator "*pcVar15" (* "*") (identifier "pcVar15")) (; ";")) (declaration "undefined4 uVar16;" (type_identifier "undefined4") (identifier "uVar16") (; ";")) (declaration "stat64 *psVar17;" (type_identifier "stat64") (pointer_declarator "*psVar17" (* "*") (identifier "psVar17")) (; ";")) (declaration "stat64 *psVar18;" (type_identifier "stat64") (pointer_declarator "*psVar18" (* "*") (identifier "psVar18")) (; ";")) (declaration "int *piVar19;" (primitive_type "int") (pointer_declarator "*piVar19" (* "*") (identifier "piVar19")) (; ";")) (declaration "undefined *puVar20;" (type_identifier "undefined") (pointer_declarator "*puVar20" (* "*") (identifier "puVar20")) (; ";")) (declaration "int iVar21;" (primitive_type "int") (identifier "iVar21") (; ";")) (declaration "stat64 *extraout_ECX;" (type_identifier "stat64") (pointer_declarator "*extraout_ECX" (* "*") (identifier "extraout_ECX")) (; ";")) (declaration "stat64 *extraout_ECX_00;" (type_identifier "stat64") (pointer_declarator "*extraout_ECX_00" (* "*") (identifier "extraout_ECX_00")) (; ";")) (declaration "stat64 *extraout_ECX_01;" (type_identifier "stat64") (pointer_declarator "*extraout_ECX_01" (* "*") (identifier "extraout_ECX_01")) (; ";")) (declaration "undefined4 extraout_ECX_02;" (type_identifier "undefined4") (identifier "extraout_ECX_02") (; ";")) (declaration "undefined4 extraout_ECX_03;" (type_identifier "undefined4") (identifier "extraout_ECX_03") (; ";")) (declaration "stat64 *extraout_ECX_04;" (type_identifier "stat64") (pointer_declarator "*extraout_ECX_04" (* "*") (identifier "extraout_ECX_04")) (; ";")) (declaration "stat64 *extraout_ECX_05;" (type_identifier "stat64") (pointer_declarator "*extraout_ECX_05" (* "*") (identifier "extraout_ECX_05")) (; ";")) (declaration "stat64 *extraout_ECX_06;" (type_identifier "stat64") (pointer_declarator "*extraout_ECX_06" (* "*") (identifier "extraout_ECX_06")) (; ";")) (declaration "stat64 *extraout_ECX_07;" (type_identifier "stat64") (pointer_declarator "*extraout_ECX_07" (* "*") (identifier "extraout_ECX_07")) (; ";")) (declaration "stat64 *extraout_ECX_08;" (type_identifier "stat64") (pointer_declarator "*extraout_ECX_08" (* "*") (identifier "extraout_ECX_08")) (; ";")) (declaration "int extraout_EDX;" (primitive_type "int") (identifier "extraout_EDX") (; ";")) (declaration "stat64 *psVar22;" (type_identifier "stat64") (pointer_declarator "*psVar22" (* "*") (identifier "psVar22")) (; ";")) (declaration "stat64 *psVar23;" (type_identifier "stat64") (pointer_declarator "*psVar23" (* "*") (identifier "psVar23")) (; ";")) (declaration "stat64 *extraout_EDX_00;" (type_identifier "stat64") (pointer_declarator "*extraout_EDX_00" (* "*") (identifier "extraout_EDX_00")) (; ";")) (declaration "undefined4 extraout_EDX_01;" (type_identifier "undefined4") (identifier "extraout_EDX_01") (; ";")) (declaration "stat64 *extraout_EDX_02;" (type_identifier "stat64") (pointer_declarator "*extraout_EDX_02" (* "*") (identifier "extraout_EDX_02")) (; ";")) (declaration "stat64 *extraout_EDX_03;" (type_identifier "stat64") (pointer_declarator "*extraout_EDX_03" (* "*") (identifier "extraout_EDX_03")) (; ";")) (declaration "stat64 *extraout_EDX_04;" (type_identifier "stat64") (pointer_declarator "*extraout_EDX_04" (* "*") (identifier "extraout_EDX_04")) (; ";")) (declaration "undefined4 extraout_EDX_05;" (type_identifier "undefined4") (identifier "extraout_EDX_05") (; ";")) (declaration "uint uVar24;" (type_identifier "uint") (identifier "uVar24") (; ";")) (declaration "stat64 *psVar25;" (type_identifier "stat64") (pointer_declarator "*psVar25" (* "*") (identifier "psVar25")) (; ";")) (declaration "uint *puVar26;" (type_identifier "uint") (pointer_declarator "*puVar26" (* "*") (identifier "puVar26")) (; ";")) (declaration "stat64 **ppsVar27;" (type_identifier "stat64") (pointer_declarator "**ppsVar27" (* "*") (pointer_declarator "*ppsVar27" (* "*") (identifier "ppsVar27"))) (; ";")) (declaration "int iVar28;" (primitive_type "int") (identifier "iVar28") (; ";")) (declaration "undefined1 *puVar29;" (type_identifier "undefined1") (pointer_declarator "*puVar29" (* "*") (identifier "puVar29")) (; ";")) (declaration "int in_GS_OFFSET;" (primitive_type "int") (identifier "in_GS_OFFSET") (; ";")) (declaration "bool bVar30;" (primitive_type "bool") (identifier "bVar30") (; ";")) (declaration "bool bVar31;" (primitive_type "bool") (identifier "bVar31") (; ";")) (declaration "byte bVar32;" (type_identifier "byte") (identifier "bVar32") (; ";")) (declaration "undefined8 uVar33;" (type_identifier "undefined8") (identifier "uVar33") (; ";")) (declaration "longlong lVar34;" (type_identifier "longlong") (identifier "lVar34") (; ";")) (declaration "__off64_t _Var35;" (type_identifier "__off64_t") (identifier "_Var35") (; ";")) (declaration "undefined4 uVar36;" (type_identifier "undefined4") (identifier "uVar36") (; ";")) (declaration "undefined4 uVar37;" (type_identifier "undefined4") (identifier "uVar37") (; ";")) (declaration "stat64 *psVar38;" (type_identifier "stat64") (pointer_declarator "*psVar38" (* "*") (identifier "psVar38")) (; ";")) (declaration "void **ppvVar39;" (primitive_type "void") (pointer_declarator "**ppvVar39" (* "*") (pointer_declarator "*ppvVar39" (* "*") (identifier "ppvVar39"))) (; ";")) (declaration "undefined4 uVar40;" (type_identifier "undefined4") (identifier "uVar40") (; ";")) (declaration "uint uVar41;" (type_identifier "uint") (identifier "uVar41") (; ";")) (declaration "uint *puVar42;" (type_identifier "uint") (pointer_declarator "*puVar42" (* "*") (identifier "puVar42")) (; ";")) (declaration "undefined1 *puVar43;" (type_identifier "undefined1") (pointer_declarator "*puVar43" (* "*") (identifier "puVar43")) (; ";")) (declaration "stat64 **ppsVar44;" (type_identifier "stat64") (pointer_declarator "**ppsVar44" (* "*") (pointer_declarator "*ppsVar44" (* "*") (identifier "ppsVar44"))) (; ";")) (declaration "stat64 *psVar45;" (type_identifier "stat64") (pointer_declarator "*psVar45" (* "*") (identifier "psVar45")) (; ";")) (declaration "char local_93f;" (primitive_type "char") (identifier "local_93f") (; ";")) (declaration "stat64 *local_93c;" (type_identifier "stat64") (pointer_declarator "*local_93c" (* "*") (identifier "local_93c")) (; ";")) (declaration "stat64 *local_930;" (type_identifier "stat64") (pointer_declarator "*local_930" (* "*") (identifier "local_930")) (; ";")) (declaration "stat64 *local_924;" (type_identifier "stat64") (pointer_declarator "*local_924" (* "*") (identifier "local_924")) (; ";")) (declaration "stat64 *local_920;" (type_identifier "stat64") (pointer_declarator "*local_920" (* "*") (identifier "local_920")) (; ";")) (declaration "stat64 *local_91c;" (type_identifier "stat64") (pointer_declarator "*local_91c" (* "*") (identifier "local_91c")) (; ";")) (declaration "stat64 *local_918;" (type_identifier "stat64") (pointer_declarator "*local_918" (* "*") (identifier "local_918")) (; ";")) (declaration "stat64 *local_908;" (type_identifier "stat64") (pointer_declarator "*local_908" (* "*") (identifier "local_908")) (; ";")) (declaration "ushort local_8f8;" (type_identifier "ushort") (identifier "local_8f8") (; ";")) (declaration "ushort local_8f6;" (type_identifier "ushort") (identifier "local_8f6") (; ";")) (declaration "stat64 *local_8f4;" (type_identifier "stat64") (pointer_declarator "*local_8f4" (* "*") (identifier "local_8f4")) (; ";")) (declaration "void *local_8f0;" (primitive_type "void") (pointer_declarator "*local_8f0" (* "*") (identifier "local_8f0")) (; ";")) (declaration "undefined1 local_8ec [4];" (type_identifier "undefined1") (array_declarator "local_8ec [4]" (identifier "local_8ec") ([ "[") (number_literal "4") (] "]")) (; ";")) (declaration "void *local_8e8;" (primitive_type "void") (pointer_declarator "*local_8e8" (* "*") (identifier "local_8e8")) (; ";")) (declaration "void *local_8e4;" (primitive_type "void") (pointer_declarator "*local_8e4" (* "*") (identifier "local_8e4")) (; ";")) (declaration "undefined1 local_8e0 [48];" (type_identifier "undefined1") (array_declarator "local_8e0 [48]" (identifier "local_8e0") ([ "[") (number_literal "48") (] "]")) (; ";")) (declaration "int local_8b0;" (primitive_type "int") (identifier "local_8b0") (; ";")) (declaration "undefined1 local_880 [96];" (type_identifier "undefined1") (array_declarator "local_880 [96]" (identifier "local_880") ([ "[") (number_literal "96") (] "]")) (; ";")) (declaration "char local_820;" (primitive_type "char") (identifier "local_820") (; ";")) (declaration "char local_81f;" (primitive_type "char") (identifier "local_81f") (; ";")) (declaration "byte bStack_81e;" (type_identifier "byte") (identifier "bStack_81e") (; ";")) (declaration "byte local_81d;" (type_identifier "byte") (identifier "local_81d") (; ";")) (declaration "char local_81c;" (primitive_type "char") (identifier "local_81c") (; ";")) (declaration "byte local_81b;" (type_identifier "byte") (identifier "local_81b") (; ";")) (declaration "char local_81a;" (primitive_type "char") (identifier "local_81a") (; ";")) (declaration "char local_819;" (primitive_type "char") (identifier "local_819") (; ";")) (declaration "byte local_818;" (type_identifier "byte") (identifier "local_818") (; ";")) (declaration "byte local_817;" (type_identifier "byte") (identifier "local_817") (; ";")) (declaration "byte local_816;" (type_identifier "byte") (identifier "local_816") (; ";")) (declaration "byte bStack_815;" (type_identifier "byte") (identifier "bStack_815") (; ";")) (declaration "byte local_814;" (type_identifier "byte") (identifier "local_814") (; ";")) (declaration "char local_813;" (primitive_type "char") (identifier "local_813") (; ";")) (declaration "undefined1 uStack_812;" (type_identifier "undefined1") (identifier "uStack_812") (; ";")) (declaration "undefined1 uStack_811;" (type_identifier "undefined1") (identifier "uStack_811") (; ";")) (declaration "byte local_810;" (type_identifier "byte") (identifier "local_810") (; ";")) (declaration "char local_80f;" (primitive_type "char") (identifier "local_80f") (; ";")) (declaration "char local_80e;" (primitive_type "char") (identifier "local_80e") (; ";")) (declaration "uint uStack_80c;" (type_identifier "uint") (identifier "uStack_80c") (; ";")) (declaration "int iStack_808;" (primitive_type "int") (identifier "iStack_808") (; ";")) (declaration "uint uStack_804;" (type_identifier "uint") (identifier "uStack_804") (; ";")) (declaration "int local_800;" (primitive_type "int") (identifier "local_800") (; ";")) (declaration "int local_7fc;" (primitive_type "int") (identifier "local_7fc") (; ";")) (declaration "uint local_7f8;" (type_identifier "uint") (identifier "local_7f8") (; ";")) (declaration "int local_7f4;" (primitive_type "int") (identifier "local_7f4") (; ";")) (declaration "stat64 *local_7f0;" (type_identifier "stat64") (pointer_declarator "*local_7f0" (* "*") (identifier "local_7f0")) (; ";")) (declaration "stat64 *local_7ec;" (type_identifier "stat64") (pointer_declarator "*local_7ec" (* "*") (identifier "local_7ec")) (; ";")) (declaration "undefined1 uStack_7e8;" (type_identifier "undefined1") (identifier "uStack_7e8") (; ";")) (declaration "undefined1 uStack_7e7;" (type_identifier "undefined1") (identifier "uStack_7e7") (; ";")) (declaration "ushort local_7e6;" (type_identifier "ushort") (identifier "local_7e6") (; ";")) (declaration "undefined2 uStack_7e4;" (type_identifier "undefined2") (identifier "uStack_7e4") (; ";")) (declaration "ushort local_7e2;" (type_identifier "ushort") (identifier "local_7e2") (; ";")) (declaration "ushort local_7e0;" (type_identifier "ushort") (identifier "local_7e0") (; ";")) (declaration "undefined2 uStack_7de;" (type_identifier "undefined2") (identifier "uStack_7de") (; ";")) (declaration "ushort local_7dc;" (type_identifier "ushort") (identifier "local_7dc") (; ";")) (declaration "undefined2 uStack_7da;" (type_identifier "undefined2") (identifier "uStack_7da") (; ";")) (declaration "stat64 *local_7d8;" (type_identifier "stat64") (pointer_declarator "*local_7d8" (* "*") (identifier "local_7d8")) (; ";")) (declaration "stat64 *local_7d4;" (type_identifier "stat64") (pointer_declarator "*local_7d4" (* "*") (identifier "local_7d4")) (; ";")) (declaration "stat64 *local_7d0;" (type_identifier "stat64") (pointer_declarator "*local_7d0" (* "*") (identifier "local_7d0")) (; ";")) (declaration "stat64 *local_7cc;" (type_identifier "stat64") (pointer_declarator "*local_7cc" (* "*") (identifier "local_7cc")) (; ";")) (declaration "undefined4 uStack_7c8;" (type_identifier "undefined4") (identifier "uStack_7c8") (; ";")) (declaration "undefined4 uStack_7c4;" (type_identifier "undefined4") (identifier "uStack_7c4") (; ";")) (declaration "uint local_7c0;" (type_identifier "uint") (identifier "local_7c0") (; ";")) (declaration "uint local_7bc;" (type_identifier "uint") (identifier "local_7bc") (; ";")) (declaration "uint local_7b8;" (type_identifier "uint") (identifier "local_7b8") (; ";")) (declaration "stat64 *local_7b4;" (type_identifier "stat64") (pointer_declarator "*local_7b4" (* "*") (identifier "local_7b4")) (; ";")) (declaration "stat64 *local_7b0;" (type_identifier "stat64") (pointer_declarator "*local_7b0" (* "*") (identifier "local_7b0")) (; ";")) (declaration "int local_7ac;" (primitive_type "int") (identifier "local_7ac") (; ";")) (declaration "int local_7a8;" (primitive_type "int") (identifier "local_7a8") (; ";")) (declaration "stat64 *local_7a4;" (type_identifier "stat64") (pointer_declarator "*local_7a4" (* "*") (identifier "local_7a4")) (; ";")) (declaration "stat64 *local_7a0;" (type_identifier "stat64") (pointer_declarator "*local_7a0" (* "*") (identifier "local_7a0")) (; ";")) (declaration "char *local_79c;" (primitive_type "char") (pointer_declarator "*local_79c" (* "*") (identifier "local_79c")) (; ";")) (declaration "char *local_798;" (primitive_type "char") (pointer_declarator "*local_798" (* "*") (identifier "local_798")) (; ";")) (declaration "stat64 *local_794;" (type_identifier "stat64") (pointer_declarator "*local_794" (* "*") (identifier "local_794")) (; ";")) (declaration "undefined1 local_790 [24];" (type_identifier "undefined1") (array_declarator "local_790 [24]" (identifier "local_790") ([ "[") (number_literal "24") (] "]")) (; ";")) (declaration "stat64 *local_778 [128];" (type_identifier "stat64") (pointer_declarator "*local_778 [128]" (* "*") (array_declarator "local_778 [128]" (identifier "local_778") ([ "[") (number_literal "128") (] "]"))) (; ";")) (declaration "uint local_578;" (type_identifier "uint") (identifier "local_578") (; ";")) (declaration "uint local_574;" (type_identifier "uint") (identifier "local_574") (; ";")) (declaration "undefined1 local_174 [96];" (type_identifier "undefined1") (array_declarator "local_174 [96]" (identifier "local_174") ([ "[") (number_literal "96") (] "]")) (; ";")) (declaration "uint local_114;" (type_identifier "uint") (identifier "local_114") (; ";")) (declaration "uint local_110;" (type_identifier "uint") (identifier "local_110") (; ";")) (declaration "uint local_10c;" (type_identifier "uint") (identifier "local_10c") (; ";")) (declaration "uint local_104;" (type_identifier "uint") (identifier "local_104") (; ";")) (declaration "uint local_100;" (type_identifier "uint") (identifier "local_100") (; ";")) (declaration "uint local_fc;" (type_identifier "uint") (identifier "local_fc") (; ";")) (declaration "uint local_f8;" (type_identifier "uint") (identifier "local_f8") (; ";")) (declaration "ushort local_f4;" (type_identifier "ushort") (identifier "local_f4") (; ";")) (declaration "ushort local_f2;" (type_identifier "ushort") (identifier "local_f2") (; ";")) (declaration "uint local_24;" (type_identifier "uint") (identifier "local_24") (; ";")) (declaration "undefined4 *local_18;" (type_identifier "undefined4") (pointer_declarator "*local_18" (* "*") (identifier "local_18")) (; ";")) (expression_statement "iVar28 = param_2;" (assignment_expression "iVar28 = param_2" (identifier "iVar28") (= "=") (identifier "param_2")) (; ";")) (expression_statement "iVar14 = param_1;" (assignment_expression "iVar14 = param_1" (identifier "iVar14") (= "=") (identifier "param_1")) (; ";")) (expression_statement "puVar20 = PTR_optarg_0001dffc;" (assignment_expression "puVar20 = PTR_optarg_0001dffc" (identifier "puVar20") (= "=") (identifier "PTR_optarg_0001dffc")) (; ";")) (expression_statement "bVar32 = 0;" (assignment_expression "bVar32 = 0" (identifier "bVar32") (= "=") (number_literal "0")) (; ";")) (expression_statement "local_18 = &param_1;" (assignment_expression "local_18 = &param_1" (identifier "local_18") (= "=") (pointer_expression "&param_1" (& "&") (identifier "param_1"))) (; ";")) (expression_statement "local_24 = *(uint *)(in_GS_OFFSET + 0x14);" (assignment_expression "local_24 = *(uint *)(in_GS_OFFSET + 0x14)" (identifier "local_24") (= "=") (pointer_expression "*(uint *)(in_GS_OFFSET + 0x14)" (* "*") (cast_expression "(uint *)(in_GS_OFFSET + 0x14)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(in_GS_OFFSET + 0x14)" (( "(") (binary_expression "in_GS_OFFSET + 0x14" (identifier "in_GS_OFFSET") (+ "+") (number_literal "0x14")) () ")"))))) (; ";")) (expression_statement "local_8f8 = 0;" (assignment_expression "local_8f8 = 0" (identifier "local_8f8") (= "=") (number_literal "0")) (; ";")) (expression_statement "local_8f4 = (stat64 *)0x0;" (assignment_expression "local_8f4 = (stat64 *)0x0" (identifier "local_8f4") (= "=") (cast_expression "(stat64 *)0x0" (( "(") (type_descriptor "stat64 *" (type_identifier "stat64") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "local_8f0 = (void *)0x0;" (assignment_expression "local_8f0 = (void *)0x0" (identifier "local_8f0") (= "=") (cast_expression "(void *)0x0" (( "(") (type_descriptor "void *" (primitive_type "void") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "local_918 = (stat64 *)0x0;" (assignment_expression "local_918 = (stat64 *)0x0" (identifier "local_918") (= "=") (cast_expression "(stat64 *)0x0" (( "(") (type_descriptor "stat64 *" (type_identifier "stat64") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "local_91c = (stat64 *)0x0;" (assignment_expression "local_91c = (stat64 *)0x0" (identifier "local_91c") (= "=") (cast_expression "(stat64 *)0x0" (( "(") (type_descriptor "stat64 *" (type_identifier "stat64") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "pcVar15 = &local_820;" (assignment_expression "pcVar15 = &local_820" (identifier "pcVar15") (= "=") (pointer_expression "&local_820" (& "&") (identifier "local_820"))) (; ";")) (for_statement "for (iVar21 = 0x2a; iVar21 != 0; iVar21 = iVar21 + -1) {\n    pcVar15[0] = '\0';\n    pcVar15[1] = '\0';\n    pcVar15[2] = '\0';\n    pcVar15[3] = '\0';\n    pcVar15 = pcVar15 + 4;\n  }" (for "for") (( "(") (assignment_expression "iVar21 = 0x2a" (identifier "iVar21") (= "=") (number_literal "0x2a")) (; ";") (binary_expression "iVar21 != 0" (identifier "iVar21") (!= "!=") (number_literal "0")) (; ";") (assignment_expression "iVar21 = iVar21 + -1" (identifier "iVar21") (= "=") (binary_expression "iVar21 + -1" (identifier "iVar21") (+ "+") (number_literal "-1"))) () ")") (compound_statement "{\n    pcVar15[0] = '\0';\n    pcVar15[1] = '\0';\n    pcVar15[2] = '\0';\n    pcVar15[3] = '\0';\n    pcVar15 = pcVar15 + 4;\n  }" ({ "{") (expression_statement "pcVar15[0] = '\0';" (assignment_expression "pcVar15[0] = '\0'" (subscript_expression "pcVar15[0]" (identifier "pcVar15") ([ "[") (number_literal "0") (] "]")) (= "=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) (; ";")) (expression_statement "pcVar15[1] = '\0';" (assignment_expression "pcVar15[1] = '\0'" (subscript_expression "pcVar15[1]" (identifier "pcVar15") ([ "[") (number_literal "1") (] "]")) (= "=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) (; ";")) (expression_statement "pcVar15[2] = '\0';" (assignment_expression "pcVar15[2] = '\0'" (subscript_expression "pcVar15[2]" (identifier "pcVar15") ([ "[") (number_literal "2") (] "]")) (= "=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) (; ";")) (expression_statement "pcVar15[3] = '\0';" (assignment_expression "pcVar15[3] = '\0'" (subscript_expression "pcVar15[3]" (identifier "pcVar15") ([ "[") (number_literal "3") (] "]")) (= "=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) (; ";")) (expression_statement "pcVar15 = pcVar15 + 4;" (assignment_expression "pcVar15 = pcVar15 + 4" (identifier "pcVar15") (= "=") (binary_expression "pcVar15 + 4" (identifier "pcVar15") (+ "+") (number_literal "4"))) (; ";")) (} "}"))) (expression_statement "local_930 = (stat64 *)local_8e0;" (assignment_expression "local_930 = (stat64 *)local_8e0" (identifier "local_930") (= "=") (cast_expression "(stat64 *)local_8e0" (( "(") (type_descriptor "stat64 *" (type_identifier "stat64") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "local_8e0"))) (; ";")) (expression_statement "local_7fc = -1;" (assignment_expression "local_7fc = -1" (identifier "local_7fc") (= "=") (number_literal "-1")) (; ";")) (expression_statement "psVar18 = local_930;" (assignment_expression "psVar18 = local_930" (identifier "psVar18") (= "=") (identifier "local_930")) (; ";")) (for_statement "for (iVar21 = 0x18; iVar21 != 0; iVar21 = iVar21 + -1) {\n    *(undefined4 *)&psVar18->st_dev = 0;\n    psVar18 = (stat64 *)((int)&psVar18->st_dev + 4);\n  }" (for "for") (( "(") (assignment_expression "iVar21 = 0x18" (identifier "iVar21") (= "=") (number_literal "0x18")) (; ";") (binary_expression "iVar21 != 0" (identifier "iVar21") (!= "!=") (number_literal "0")) (; ";") (assignment_expression "iVar21 = iVar21 + -1" (identifier "iVar21") (= "=") (binary_expression "iVar21 + -1" (identifier "iVar21") (+ "+") (number_literal "-1"))) () ")") (compound_statement "{\n    *(undefined4 *)&psVar18->st_dev = 0;\n    psVar18 = (stat64 *)((int)&psVar18->st_dev + 4);\n  }" ({ "{") (expression_statement "*(undefined4 *)&psVar18->st_dev = 0;" (assignment_expression "*(undefined4 *)&psVar18->st_dev = 0" (pointer_expression "*(undefined4 *)&psVar18->st_dev" (* "*") (cast_expression "(undefined4 *)&psVar18->st_dev" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "&psVar18->st_dev" (& "&") (field_expression "psVar18->st_dev" (identifier "psVar18") (-> "->") (field_identifier "st_dev"))))) (= "=") (number_literal "0")) (; ";")) (expression_statement "psVar18 = (stat64 *)((int)&psVar18->st_dev + 4);" (assignment_expression "psVar18 = (stat64 *)((int)&psVar18->st_dev + 4)" (identifier "psVar18") (= "=") (cast_expression "(stat64 *)((int)&psVar18->st_dev + 4)" (( "(") (type_descriptor "stat64 *" (type_identifier "stat64") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)&psVar18->st_dev + 4)" (( "(") (binary_expression "(int)&psVar18->st_dev + 4" (cast_expression "(int)&psVar18->st_dev" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (pointer_expression "&psVar18->st_dev" (& "&") (field_expression "psVar18->st_dev" (identifier "psVar18") (-> "->") (field_identifier "st_dev")))) (+ "+") (number_literal "4")) () ")")))) (; ";")) (} "}"))) (expression_statement "psVar18 = (stat64 *)local_880;" (assignment_expression "psVar18 = (stat64 *)local_880" (identifier "psVar18") (= "=") (cast_expression "(stat64 *)local_880" (( "(") (type_descriptor "stat64 *" (type_identifier "stat64") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "local_880"))) (; ";")) (expression_statement "local_7c0 = 0xffffffff;" (assignment_expression "local_7c0 = 0xffffffff" (identifier "local_7c0") (= "=") (number_literal "0xffffffff")) (; ";")) (expression_statement "psVar38 = psVar18;" (assignment_expression "psVar38 = psVar18" (identifier "psVar38") (= "=") (identifier "psVar18")) (; ";")) (for_statement "for (iVar21 = 0x18; iVar21 != 0; iVar21 = iVar21 + -1) {\n    *(undefined4 *)&psVar38->st_dev = 0;\n    psVar38 = (stat64 *)((int)&psVar38->st_dev + 4);\n  }" (for "for") (( "(") (assignment_expression "iVar21 = 0x18" (identifier "iVar21") (= "=") (number_literal "0x18")) (; ";") (binary_expression "iVar21 != 0" (identifier "iVar21") (!= "!=") (number_literal "0")) (; ";") (assignment_expression "iVar21 = iVar21 + -1" (identifier "iVar21") (= "=") (binary_expression "iVar21 + -1" (identifier "iVar21") (+ "+") (number_literal "-1"))) () ")") (compound_statement "{\n    *(undefined4 *)&psVar38->st_dev = 0;\n    psVar38 = (stat64 *)((int)&psVar38->st_dev + 4);\n  }" ({ "{") (expression_statement "*(undefined4 *)&psVar38->st_dev = 0;" (assignment_expression "*(undefined4 *)&psVar38->st_dev = 0" (pointer_expression "*(undefined4 *)&psVar38->st_dev" (* "*") (cast_expression "(undefined4 *)&psVar38->st_dev" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "&psVar38->st_dev" (& "&") (field_expression "psVar38->st_dev" (identifier "psVar38") (-> "->") (field_identifier "st_dev"))))) (= "=") (number_literal "0")) (; ";")) (expression_statement "psVar38 = (stat64 *)((int)&psVar38->st_dev + 4);" (assignment_expression "psVar38 = (stat64 *)((int)&psVar38->st_dev + 4)" (identifier "psVar38") (= "=") (cast_expression "(stat64 *)((int)&psVar38->st_dev + 4)" (( "(") (type_descriptor "stat64 *" (type_identifier "stat64") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)&psVar38->st_dev + 4)" (( "(") (binary_expression "(int)&psVar38->st_dev + 4" (cast_expression "(int)&psVar38->st_dev" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (pointer_expression "&psVar38->st_dev" (& "&") (field_expression "psVar38->st_dev" (identifier "psVar38") (-> "->") (field_identifier "st_dev")))) (+ "+") (number_literal "4")) () ")")))) (; ";")) (} "}"))) (expression_statement "cVar2 = ' ';" (assignment_expression "cVar2 = ' '" (identifier "cVar2") (= "=") (char_literal "' '" (' "'") (character " ") (' "'"))) (; ";")) (expression_statement "local_7e6 = 0xffff;" (assignment_expression "local_7e6 = 0xffff" (identifier "local_7e6") (= "=") (number_literal "0xffff")) (; ";")) (expression_statement "local_7dc = 0xffff;" (assignment_expression "local_7dc = 0xffff" (identifier "local_7dc") (= "=") (number_literal "0xffff")) (; ";")) (expression_statement "local_7f4 = 0x78;" (assignment_expression "local_7f4 = 0x78" (identifier "local_7f4") (= "=") (number_literal "0x78")) (; ";")) (expression_statement "bVar1 = 0;" (assignment_expression "bVar1 = 0" (identifier "bVar1") (= "=") (number_literal "0")) (; ";")) (expression_statement "local_924 = (stat64 *)PTR_optarg_0001dffc;" (assignment_expression "local_924 = (stat64 *)PTR_optarg_0001dffc" (identifier "local_924") (= "=") (cast_expression "(stat64 *)PTR_optarg_0001dffc" (( "(") (type_descriptor "stat64 *" (type_identifier "stat64") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_optarg_0001dffc"))) (; ";")) (expression_statement "psVar38 = local_7d0;" (assignment_expression "psVar38 = local_7d0" (identifier "psVar38") (= "=") (identifier "local_7d0")) (; ";")) (expression_statement "uVar16 = uStack_7c4;" (assignment_expression "uVar16 = uStack_7c4" (identifier "uVar16") (= "=") (identifier "uStack_7c4")) (; ";")) (expression_statement "uVar7 = local_7c0;" (assignment_expression "uVar7 = local_7c0" (identifier "uVar7") (= "=") (identifier "local_7c0")) (; ";")) (labeled_statement "code_r0x000114e8:\n  local_7c0 = uVar7;" (statement_identifier "code_r0x000114e8") (: ":") (expression_statement "local_7c0 = uVar7;" (assignment_expression "local_7c0 = uVar7" (identifier "local_7c0") (= "=") (identifier "uVar7")) (; ";"))) (expression_statement "uStack_7c4 = uVar16;" (assignment_expression "uStack_7c4 = uVar16" (identifier "uStack_7c4") (= "=") (identifier "uVar16")) (; ";")) (expression_statement "local_7d0 = psVar38;" (assignment_expression "local_7d0 = psVar38" (identifier "local_7d0") (= "=") (identifier "psVar38")) (; ";")) (expression_statement "local_8e4 = (void *)0x0;" (assignment_expression "local_8e4 = (void *)0x0" (identifier "local_8e4") (= "=") (cast_expression "(void *)0x0" (( "(") (type_descriptor "void *" (primitive_type "void") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "uVar33 = getopt_long(iVar14,iVar28,"36a:A:b:B:c:dD:Efg:G:hi:I:l:M:n:No:Oq:Qr:RsS:t:T:u:vVw:x",\n                       &PTR_DAT_0001e020,&local_8e4);" (assignment_expression "uVar33 = getopt_long(iVar14,iVar28,"36a:A:b:B:c:dD:Efg:G:hi:I:l:M:n:No:Oq:Qr:RsS:t:T:u:vVw:x",\n                       &PTR_DAT_0001e020,&local_8e4)" (identifier "uVar33") (= "=") (call_expression "getopt_long(iVar14,iVar28,"36a:A:b:B:c:dD:Efg:G:hi:I:l:M:n:No:Oq:Qr:RsS:t:T:u:vVw:x",\n                       &PTR_DAT_0001e020,&local_8e4)" (identifier "getopt_long") (argument_list "(iVar14,iVar28,"36a:A:b:B:c:dD:Efg:G:hi:I:l:M:n:No:Oq:Qr:RsS:t:T:u:vVw:x",\n                       &PTR_DAT_0001e020,&local_8e4)" (( "(") (identifier "iVar14") (, ",") (identifier "iVar28") (, ",") (string_literal ""36a:A:b:B:c:dD:Efg:G:hi:I:l:M:n:No:Oq:Qr:RsS:t:T:u:vVw:x"" (" """) (string_content "36a:A:b:B:c:dD:Efg:G:hi:I:l:M:n:No:Oq:Qr:RsS:t:T:u:vVw:x") (" """)) (, ",") (pointer_expression "&PTR_DAT_0001e020" (& "&") (identifier "PTR_DAT_0001e020")) (, ",") (pointer_expression "&local_8e4" (& "&") (identifier "local_8e4")) () ")")))) (; ";")) (expression_statement "puVar5 = PTR_optarg_0001dffc;" (assignment_expression "puVar5 = PTR_optarg_0001dffc" (identifier "puVar5") (= "=") (identifier "PTR_optarg_0001dffc")) (; ";")) (expression_statement "puVar4 = PTR_optind_0001dfe4;" (assignment_expression "puVar4 = PTR_optind_0001dfe4" (identifier "puVar4") (= "=") (identifier "PTR_optind_0001dfe4")) (; ";")) (if_statement "if ((int)uVar33 == -1) {\n    iVar21 = *(int *)PTR_optind_0001dfe4;\n    local_920 = (stat64 *)0xffffffff;\n    if (iVar21 < iVar14) {\n      iVar10 = (int)((ulonglong)uVar33 >> 0x20);\n      if (local_7a0 != (stat64 *)0x0) goto LAB_00011c60;\n      local_7a0 = *(stat64 **)(iVar28 + iVar21 * 4);\n      *(int *)PTR_optind_0001dfe4 = iVar21 + 1;\n      iVar10 = iVar28;\n      if (iVar21 + 1 < iVar14) goto LAB_00011c60;\n    }\n    if ((bool)(bVar1 & local_7f8 != 0)) goto LAB_00011a7a;\n    if (0 < local_800) {\n      FUN_000149b0();\n      local_908 = (stat64 *)0x0;\n      goto LAB_00011a84;\n    }\n    if (local_80f == '\0') {\nLAB_00011c9f:\n      if (local_80e != '\0') {\n        pr2serr("sg_write_x version: %s\n","1.19 20180628",puVar4,puVar4);\n        local_908 = (stat64 *)0x270f;\n        goto LAB_00011a84;\n      }\n    }\n    else if (local_80e != '\0') {\n      pr2serr("Not in DEBUG mode, so \'-vV\' has no special action\n");\n      goto LAB_00011c9f;\n    }\n    psVar38 = local_7f0;\n    psVar17 = psVar38;\n    if (local_820 == '\0') {\n      if (local_81f == '\0') {\n        psVar17 = (stat64 *)((int)&local_7f0[-1].st_ino + 7);\n        local_820 = '\x01';\n        if (psVar17 != (stat64 *)0x0 && 0 < (int)local_7f0) {\n          pr2serr("Since neither --16 nor --32 given, choose --16\n");\n        }\n      }\n    }\n    else if ((local_81f != '\0') && (local_820 = '\0', 1 < (int)local_7f0)) {\n      pr2serr("Since both --16 and --32 given, choose --32\n");\n    }\n    uVar7 = (uint)local_81d + (uint)local_814 + (uint)local_81b + (uint)local_818 + (uint)local_817\n            + (uint)local_816;\n    if (1 < uVar7) {\n      pr2serr(\n             "Can only select one command; so only one of --atomic, --normal, --or,\n--same=, --scattered= or --stream=\n"\n             );\n      local_908 = (stat64 *)0x1f;\n      goto LAB_00011a84;\n    }\n    if (uVar7 == 0) {\n      if (local_7f8 != 0) {\n        pr2serr("With --strict won\'t default to a normal WRITE, add --normal\n");\n        local_908 = (stat64 *)0x1f;\n        goto LAB_00011a84;\n      }\n      local_794 = (stat64 *)0x17164;\n      local_814 = 1;\n      if (psVar38 != (stat64 *)0x0) {\n        pr2serr("No command selected so choose \'normal\' WRITE\n");\n      }\n    }\n    psVar8 = (stat64 *)((-(uint)(local_820 == '\0') & 0x10) + 0x10);\n    psVar22 = local_794;\n    __snprintf_chk(local_790,0x18,1,0x18,"%s(%d)",local_794,psVar8,psVar17);\n    if (local_81c == '\0') {\n      if (local_798 != (char *)0x0) {\n        local_93f = local_918 != (stat64 *)0x0;\n        bVar30 = local_91c != (stat64 *)0x0 || local_918 != (stat64 *)0x0;\n        bVar31 = local_91c != (stat64 *)0x0;\n        if (local_91c == (stat64 *)0x0 && local_918 == (stat64 *)0x0) {\n          iVar14 = -1;\n          pcVar15 = local_798;\n          goto code_r0x00011d5c;\n        }\n        pr2serr(\n               "want one and only one of: (--lba=LBA and/or --num=NUM), or\n--scat-file=SF, or --combined=DOF\n"\n               );\n        local_908 = (stat64 *)0x1f;\n        goto LAB_00011a84;\n      }\n      if (local_819 == '\0') {\n        local_93f = local_918 != (stat64 *)0x0;\n        bVar30 = local_91c != (stat64 *)0x0 || local_918 != (stat64 *)0x0;\n        bVar31 = local_91c != (stat64 *)0x0;\n        goto LAB_00011d67;\n      }\n      pr2serr(\n             "--scat-raw only applies to the --scat-file=SF option\n--scat-raw without the --scat-file=SF option is an error\n"\n             );\n      local_908 = (stat64 *)0x1f;\n      goto LAB_00011a84;\n    }\n    if (local_817 == 0) {\n      pr2serr(\n             "--combined=DOF only allowed with --scattered=RD (i.e. only with\nWRITE SCATTERED command)\n"\n             );\n      local_908 = (stat64 *)0x1f;\n      goto LAB_00011a84;\n    }\n    if (local_798 != (char *)0x0) {\n      pr2serr("Ambiguous: got --combined=DOF and --scat-file=SF .\nGive one, the other or neither\n"\n             );\n      local_908 = (stat64 *)0x1f;\n      goto LAB_00011a84;\n    }\n    if (local_91c == (stat64 *)0x0 && local_918 == (stat64 *)0x0) {\n      local_93f = local_819;\n      bVar30 = false;\n      bVar31 = false;\n      if (local_819 == '\0') goto LAB_00011d67;\n      pr2serr("Ambiguous: don\'t expect --combined=DOF and --scat-raw\nGive one or the other\n");\n      local_908 = (stat64 *)0x1f;\n    }\n    else {\n      pr2serr("--scattered=RD --combined=DOF does not use --lba= or --num=\nPlease remove.\n");\n      local_908 = (stat64 *)0x1f;\n    }\n    goto LAB_00011a84;\n  }" (if "if") (parenthesized_expression "((int)uVar33 == -1)" (( "(") (binary_expression "(int)uVar33 == -1" (cast_expression "(int)uVar33" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "uVar33")) (== "==") (number_literal "-1")) () ")")) (compound_statement "{\n    iVar21 = *(int *)PTR_optind_0001dfe4;\n    local_920 = (stat64 *)0xffffffff;\n    if (iVar21 < iVar14) {\n      iVar10 = (int)((ulonglong)uVar33 >> 0x20);\n      if (local_7a0 != (stat64 *)0x0) goto LAB_00011c60;\n      local_7a0 = *(stat64 **)(iVar28 + iVar21 * 4);\n      *(int *)PTR_optind_0001dfe4 = iVar21 + 1;\n      iVar10 = iVar28;\n      if (iVar21 + 1 < iVar14) goto LAB_00011c60;\n    }\n    if ((bool)(bVar1 & local_7f8 != 0)) goto LAB_00011a7a;\n    if (0 < local_800) {\n      FUN_000149b0();\n      local_908 = (stat64 *)0x0;\n      goto LAB_00011a84;\n    }\n    if (local_80f == '\0') {\nLAB_00011c9f:\n      if (local_80e != '\0') {\n        pr2serr("sg_write_x version: %s\n","1.19 20180628",puVar4,puVar4);\n        local_908 = (stat64 *)0x270f;\n        goto LAB_00011a84;\n      }\n    }\n    else if (local_80e != '\0') {\n      pr2serr("Not in DEBUG mode, so \'-vV\' has no special action\n");\n      goto LAB_00011c9f;\n    }\n    psVar38 = local_7f0;\n    psVar17 = psVar38;\n    if (local_820 == '\0') {\n      if (local_81f == '\0') {\n        psVar17 = (stat64 *)((int)&local_7f0[-1].st_ino + 7);\n        local_820 = '\x01';\n        if (psVar17 != (stat64 *)0x0 && 0 < (int)local_7f0) {\n          pr2serr("Since neither --16 nor --32 given, choose --16\n");\n        }\n      }\n    }\n    else if ((local_81f != '\0') && (local_820 = '\0', 1 < (int)local_7f0)) {\n      pr2serr("Since both --16 and --32 given, choose --32\n");\n    }\n    uVar7 = (uint)local_81d + (uint)local_814 + (uint)local_81b + (uint)local_818 + (uint)local_817\n            + (uint)local_816;\n    if (1 < uVar7) {\n      pr2serr(\n             "Can only select one command; so only one of --atomic, --normal, --or,\n--same=, --scattered= or --stream=\n"\n             );\n      local_908 = (stat64 *)0x1f;\n      goto LAB_00011a84;\n    }\n    if (uVar7 == 0) {\n      if (local_7f8 != 0) {\n        pr2serr("With --strict won\'t default to a normal WRITE, add --normal\n");\n        local_908 = (stat64 *)0x1f;\n        goto LAB_00011a84;\n      }\n      local_794 = (stat64 *)0x17164;\n      local_814 = 1;\n      if (psVar38 != (stat64 *)0x0) {\n        pr2serr("No command selected so choose \'normal\' WRITE\n");\n      }\n    }\n    psVar8 = (stat64 *)((-(uint)(local_820 == '\0') & 0x10) + 0x10);\n    psVar22 = local_794;\n    __snprintf_chk(local_790,0x18,1,0x18,"%s(%d)",local_794,psVar8,psVar17);\n    if (local_81c == '\0') {\n      if (local_798 != (char *)0x0) {\n        local_93f = local_918 != (stat64 *)0x0;\n        bVar30 = local_91c != (stat64 *)0x0 || local_918 != (stat64 *)0x0;\n        bVar31 = local_91c != (stat64 *)0x0;\n        if (local_91c == (stat64 *)0x0 && local_918 == (stat64 *)0x0) {\n          iVar14 = -1;\n          pcVar15 = local_798;\n          goto code_r0x00011d5c;\n        }\n        pr2serr(\n               "want one and only one of: (--lba=LBA and/or --num=NUM), or\n--scat-file=SF, or --combined=DOF\n"\n               );\n        local_908 = (stat64 *)0x1f;\n        goto LAB_00011a84;\n      }\n      if (local_819 == '\0') {\n        local_93f = local_918 != (stat64 *)0x0;\n        bVar30 = local_91c != (stat64 *)0x0 || local_918 != (stat64 *)0x0;\n        bVar31 = local_91c != (stat64 *)0x0;\n        goto LAB_00011d67;\n      }\n      pr2serr(\n             "--scat-raw only applies to the --scat-file=SF option\n--scat-raw without the --scat-file=SF option is an error\n"\n             );\n      local_908 = (stat64 *)0x1f;\n      goto LAB_00011a84;\n    }\n    if (local_817 == 0) {\n      pr2serr(\n             "--combined=DOF only allowed with --scattered=RD (i.e. only with\nWRITE SCATTERED command)\n"\n             );\n      local_908 = (stat64 *)0x1f;\n      goto LAB_00011a84;\n    }\n    if (local_798 != (char *)0x0) {\n      pr2serr("Ambiguous: got --combined=DOF and --scat-file=SF .\nGive one, the other or neither\n"\n             );\n      local_908 = (stat64 *)0x1f;\n      goto LAB_00011a84;\n    }\n    if (local_91c == (stat64 *)0x0 && local_918 == (stat64 *)0x0) {\n      local_93f = local_819;\n      bVar30 = false;\n      bVar31 = false;\n      if (local_819 == '\0') goto LAB_00011d67;\n      pr2serr("Ambiguous: don\'t expect --combined=DOF and --scat-raw\nGive one or the other\n");\n      local_908 = (stat64 *)0x1f;\n    }\n    else {\n      pr2serr("--scattered=RD --combined=DOF does not use --lba= or --num=\nPlease remove.\n");\n      local_908 = (stat64 *)0x1f;\n    }\n    goto LAB_00011a84;\n  }" ({ "{") (expression_statement "iVar21 = *(int *)PTR_optind_0001dfe4;" (assignment_expression "iVar21 = *(int *)PTR_optind_0001dfe4" (identifier "iVar21") (= "=") (pointer_expression "*(int *)PTR_optind_0001dfe4" (* "*") (cast_expression "(int *)PTR_optind_0001dfe4" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_optind_0001dfe4")))) (; ";")) (expression_statement "local_920 = (stat64 *)0xffffffff;" (assignment_expression "local_920 = (stat64 *)0xffffffff" (identifier "local_920") (= "=") (cast_expression "(stat64 *)0xffffffff" (( "(") (type_descriptor "stat64 *" (type_identifier "stat64") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0xffffffff"))) (; ";")) (if_statement "if (iVar21 < iVar14) {\n      iVar10 = (int)((ulonglong)uVar33 >> 0x20);\n      if (local_7a0 != (stat64 *)0x0) goto LAB_00011c60;\n      local_7a0 = *(stat64 **)(iVar28 + iVar21 * 4);\n      *(int *)PTR_optind_0001dfe4 = iVar21 + 1;\n      iVar10 = iVar28;\n      if (iVar21 + 1 < iVar14) goto LAB_00011c60;\n    }" (if "if") (parenthesized_expression "(iVar21 < iVar14)" (( "(") (binary_expression "iVar21 < iVar14" (identifier "iVar21") (< "<") (identifier "iVar14")) () ")")) (compound_statement "{\n      iVar10 = (int)((ulonglong)uVar33 >> 0x20);\n      if (local_7a0 != (stat64 *)0x0) goto LAB_00011c60;\n      local_7a0 = *(stat64 **)(iVar28 + iVar21 * 4);\n      *(int *)PTR_optind_0001dfe4 = iVar21 + 1;\n      iVar10 = iVar28;\n      if (iVar21 + 1 < iVar14) goto LAB_00011c60;\n    }" ({ "{") (expression_statement "iVar10 = (int)((ulonglong)uVar33 >> 0x20);" (assignment_expression "iVar10 = (int)((ulonglong)uVar33 >> 0x20)" (identifier "iVar10") (= "=") (cast_expression "(int)((ulonglong)uVar33 >> 0x20)" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (parenthesized_expression "((ulonglong)uVar33 >> 0x20)" (( "(") (binary_expression "(ulonglong)uVar33 >> 0x20" (cast_expression "(ulonglong)uVar33" (( "(") (type_descriptor "ulonglong" (type_identifier "ulonglong")) () ")") (identifier "uVar33")) (>> ">>") (number_literal "0x20")) () ")")))) (; ";")) (if_statement "if (local_7a0 != (stat64 *)0x0) goto LAB_00011c60;" (if "if") (parenthesized_expression "(local_7a0 != (stat64 *)0x0)" (( "(") (binary_expression "local_7a0 != (stat64 *)0x0" (identifier "local_7a0") (!= "!=") (cast_expression "(stat64 *)0x0" (( "(") (type_descriptor "stat64 *" (type_identifier "stat64") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (goto_statement "goto LAB_00011c60;" (goto "goto") (statement_identifier "LAB_00011c60") (; ";"))) (expression_statement "local_7a0 = *(stat64 **)(iVar28 + iVar21 * 4);" (assignment_expression "local_7a0 = *(stat64 **)(iVar28 + iVar21 * 4)" (identifier "local_7a0") (= "=") (pointer_expression "*(stat64 **)(iVar28 + iVar21 * 4)" (* "*") (cast_expression "(stat64 **)(iVar28 + iVar21 * 4)" (( "(") (type_descriptor "stat64 **" (type_identifier "stat64") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(iVar28 + iVar21 * 4)" (( "(") (binary_expression "iVar28 + iVar21 * 4" (identifier "iVar28") (+ "+") (binary_expression "iVar21 * 4" (identifier "iVar21") (* "*") (number_literal "4"))) () ")"))))) (; ";")) (expression_statement "*(int *)PTR_optind_0001dfe4 = iVar21 + 1;" (assignment_expression "*(int *)PTR_optind_0001dfe4 = iVar21 + 1" (pointer_expression "*(int *)PTR_optind_0001dfe4" (* "*") (cast_expression "(int *)PTR_optind_0001dfe4" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_optind_0001dfe4"))) (= "=") (binary_expression "iVar21 + 1" (identifier "iVar21") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "iVar10 = iVar28;" (assignment_expression "iVar10 = iVar28" (identifier "iVar10") (= "=") (identifier "iVar28")) (; ";")) (if_statement "if (iVar21 + 1 < iVar14) goto LAB_00011c60;" (if "if") (parenthesized_expression "(iVar21 + 1 < iVar14)" (( "(") (binary_expression "iVar21 + 1 < iVar14" (binary_expression "iVar21 + 1" (identifier "iVar21") (+ "+") (number_literal "1")) (< "<") (identifier "iVar14")) () ")")) (goto_statement "goto LAB_00011c60;" (goto "goto") (statement_identifier "LAB_00011c60") (; ";"))) (} "}"))) (if_statement "if ((bool)(bVar1 & local_7f8 != 0)) goto LAB_00011a7a;" (if "if") (parenthesized_expression "((bool)(bVar1 & local_7f8 != 0))" (( "(") (cast_expression "(bool)(bVar1 & local_7f8 != 0)" (( "(") (type_descriptor "bool" (primitive_type "bool")) () ")") (parenthesized_expression "(bVar1 & local_7f8 != 0)" (( "(") (binary_expression "bVar1 & local_7f8 != 0" (identifier "bVar1") (& "&") (binary_expression "local_7f8 != 0" (identifier "local_7f8") (!= "!=") (number_literal "0"))) () ")"))) () ")")) (goto_statement "goto LAB_00011a7a;" (goto "goto") (statement_identifier "LAB_00011a7a") (; ";"))) (if_statement "if (0 < local_800) {\n      FUN_000149b0();\n      local_908 = (stat64 *)0x0;\n      goto LAB_00011a84;\n    }" (if "if") (parenthesized_expression "(0 < local_800)" (( "(") (binary_expression "0 < local_800" (number_literal "0") (< "<") (identifier "local_800")) () ")")) (compound_statement "{\n      FUN_000149b0();\n      local_908 = (stat64 *)0x0;\n      goto LAB_00011a84;\n    }" ({ "{") (expression_statement "FUN_000149b0();" (call_expression "FUN_000149b0()" (identifier "FUN_000149b0") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "local_908 = (stat64 *)0x0;" (assignment_expression "local_908 = (stat64 *)0x0" (identifier "local_908") (= "=") (cast_expression "(stat64 *)0x0" (( "(") (type_descriptor "stat64 *" (type_identifier "stat64") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (goto_statement "goto LAB_00011a84;" (goto "goto") (statement_identifier "LAB_00011a84") (; ";")) (} "}"))) (if_statement "if (local_80f == '\0') {\nLAB_00011c9f:\n      if (local_80e != '\0') {\n        pr2serr("sg_write_x version: %s\n","1.19 20180628",puVar4,puVar4);\n        local_908 = (stat64 *)0x270f;\n        goto LAB_00011a84;\n      }\n    }\n    else if (local_80e != '\0') {\n      pr2serr("Not in DEBUG mode, so \'-vV\' has no special action\n");\n      goto LAB_00011c9f;\n    }" (if "if") (parenthesized_expression "(local_80f == '\0')" (( "(") (binary_expression "local_80f == '\0'" (identifier "local_80f") (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\nLAB_00011c9f:\n      if (local_80e != '\0') {\n        pr2serr("sg_write_x version: %s\n","1.19 20180628",puVar4,puVar4);\n        local_908 = (stat64 *)0x270f;\n        goto LAB_00011a84;\n      }\n    }" ({ "{") (labeled_statement "LAB_00011c9f:\n      if (local_80e != '\0') {\n        pr2serr("sg_write_x version: %s\n","1.19 20180628",puVar4,puVar4);\n        local_908 = (stat64 *)0x270f;\n        goto LAB_00011a84;\n      }" (statement_identifier "LAB_00011c9f") (: ":") (if_statement "if (local_80e != '\0') {\n        pr2serr("sg_write_x version: %s\n","1.19 20180628",puVar4,puVar4);\n        local_908 = (stat64 *)0x270f;\n        goto LAB_00011a84;\n      }" (if "if") (parenthesized_expression "(local_80e != '\0')" (( "(") (binary_expression "local_80e != '\0'" (identifier "local_80e") (!= "!=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n        pr2serr("sg_write_x version: %s\n","1.19 20180628",puVar4,puVar4);\n        local_908 = (stat64 *)0x270f;\n        goto LAB_00011a84;\n      }" ({ "{") (expression_statement "pr2serr("sg_write_x version: %s\n","1.19 20180628",puVar4,puVar4);" (call_expression "pr2serr("sg_write_x version: %s\n","1.19 20180628",puVar4,puVar4)" (identifier "pr2serr") (argument_list "("sg_write_x version: %s\n","1.19 20180628",puVar4,puVar4)" (( "(") (string_literal ""sg_write_x version: %s\n"" (" """) (string_content "sg_write_x version: %s") (escape_sequence "\n") (" """)) (, ",") (string_literal ""1.19 20180628"" (" """) (string_content "1.19 20180628") (" """)) (, ",") (identifier "puVar4") (, ",") (identifier "puVar4") () ")"))) (; ";")) (expression_statement "local_908 = (stat64 *)0x270f;" (assignment_expression "local_908 = (stat64 *)0x270f" (identifier "local_908") (= "=") (cast_expression "(stat64 *)0x270f" (( "(") (type_descriptor "stat64 *" (type_identifier "stat64") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x270f"))) (; ";")) (goto_statement "goto LAB_00011a84;" (goto "goto") (statement_identifier "LAB_00011a84") (; ";")) (} "}")))) (} "}")) (else_clause "else if (local_80e != '\0') {\n      pr2serr("Not in DEBUG mode, so \'-vV\' has no special action\n");\n      goto LAB_00011c9f;\n    }" (else "else") (if_statement "if (local_80e != '\0') {\n      pr2serr("Not in DEBUG mode, so \'-vV\' has no special action\n");\n      goto LAB_00011c9f;\n    }" (if "if") (parenthesized_expression "(local_80e != '\0')" (( "(") (binary_expression "local_80e != '\0'" (identifier "local_80e") (!= "!=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n      pr2serr("Not in DEBUG mode, so \'-vV\' has no special action\n");\n      goto LAB_00011c9f;\n    }" ({ "{") (expression_statement "pr2serr("Not in DEBUG mode, so \'-vV\' has no special action\n");" (call_expression "pr2serr("Not in DEBUG mode, so \'-vV\' has no special action\n")" (identifier "pr2serr") (argument_list "("Not in DEBUG mode, so \'-vV\' has no special action\n")" (( "(") (string_literal ""Not in DEBUG mode, so \'-vV\' has no special action\n"" (" """) (string_content "Not in DEBUG mode, so ") (escape_sequence "\'") (string_content "-vV") (escape_sequence "\'") (string_content " has no special action") (escape_sequence "\n") (" """)) () ")"))) (; ";")) (goto_statement "goto LAB_00011c9f;" (goto "goto") (statement_identifier "LAB_00011c9f") (; ";")) (} "}"))))) (expression_statement "psVar38 = local_7f0;" (assignment_expression "psVar38 = local_7f0" (identifier "psVar38") (= "=") (identifier "local_7f0")) (; ";")) (expression_statement "psVar17 = psVar38;" (assignment_expression "psVar17 = psVar38" (identifier "psVar17") (= "=") (identifier "psVar38")) (; ";")) (if_statement "if (local_820 == '\0') {\n      if (local_81f == '\0') {\n        psVar17 = (stat64 *)((int)&local_7f0[-1].st_ino + 7);\n        local_820 = '\x01';\n        if (psVar17 != (stat64 *)0x0 && 0 < (int)local_7f0) {\n          pr2serr("Since neither --16 nor --32 given, choose --16\n");\n        }\n      }\n    }\n    else if ((local_81f != '\0') && (local_820 = '\0', 1 < (int)local_7f0)) {\n      pr2serr("Since both --16 and --32 given, choose --32\n");\n    }" (if "if") (parenthesized_expression "(local_820 == '\0')" (( "(") (binary_expression "local_820 == '\0'" (identifier "local_820") (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n      if (local_81f == '\0') {\n        psVar17 = (stat64 *)((int)&local_7f0[-1].st_ino + 7);\n        local_820 = '\x01';\n        if (psVar17 != (stat64 *)0x0 && 0 < (int)local_7f0) {\n          pr2serr("Since neither --16 nor --32 given, choose --16\n");\n        }\n      }\n    }" ({ "{") (if_statement "if (local_81f == '\0') {\n        psVar17 = (stat64 *)((int)&local_7f0[-1].st_ino + 7);\n        local_820 = '\x01';\n        if (psVar17 != (stat64 *)0x0 && 0 < (int)local_7f0) {\n          pr2serr("Since neither --16 nor --32 given, choose --16\n");\n        }\n      }" (if "if") (parenthesized_expression "(local_81f == '\0')" (( "(") (binary_expression "local_81f == '\0'" (identifier "local_81f") (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n        psVar17 = (stat64 *)((int)&local_7f0[-1].st_ino + 7);\n        local_820 = '\x01';\n        if (psVar17 != (stat64 *)0x0 && 0 < (int)local_7f0) {\n          pr2serr("Since neither --16 nor --32 given, choose --16\n");\n        }\n      }" ({ "{") (expression_statement "psVar17 = (stat64 *)((int)&local_7f0[-1].st_ino + 7);" (assignment_expression "psVar17 = (stat64 *)((int)&local_7f0[-1].st_ino + 7)" (identifier "psVar17") (= "=") (cast_expression "(stat64 *)((int)&local_7f0[-1].st_ino + 7)" (( "(") (type_descriptor "stat64 *" (type_identifier "stat64") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)&local_7f0[-1].st_ino + 7)" (( "(") (binary_expression "(int)&local_7f0[-1].st_ino + 7" (cast_expression "(int)&local_7f0[-1].st_ino" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (pointer_expression "&local_7f0[-1].st_ino" (& "&") (field_expression "local_7f0[-1].st_ino" (subscript_expression "local_7f0[-1]" (identifier "local_7f0") ([ "[") (number_literal "-1") (] "]")) (. ".") (field_identifier "st_ino")))) (+ "+") (number_literal "7")) () ")")))) (; ";")) (expression_statement "local_820 = '\x01';" (assignment_expression "local_820 = '\x01'" (identifier "local_820") (= "=") (char_literal "'\x01'" (' "'") (escape_sequence "\x01") (' "'"))) (; ";")) (if_statement "if (psVar17 != (stat64 *)0x0 && 0 < (int)local_7f0) {\n          pr2serr("Since neither --16 nor --32 given, choose --16\n");\n        }" (if "if") (parenthesized_expression "(psVar17 != (stat64 *)0x0 && 0 < (int)local_7f0)" (( "(") (binary_expression "psVar17 != (stat64 *)0x0 && 0 < (int)local_7f0" (binary_expression "psVar17 != (stat64 *)0x0" (identifier "psVar17") (!= "!=") (cast_expression "(stat64 *)0x0" (( "(") (type_descriptor "stat64 *" (type_identifier "stat64") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (&& "&&") (binary_expression "0 < (int)local_7f0" (number_literal "0") (< "<") (cast_expression "(int)local_7f0" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_7f0")))) () ")")) (compound_statement "{\n          pr2serr("Since neither --16 nor --32 given, choose --16\n");\n        }" ({ "{") (expression_statement "pr2serr("Since neither --16 nor --32 given, choose --16\n");" (call_expression "pr2serr("Since neither --16 nor --32 given, choose --16\n")" (identifier "pr2serr") (argument_list "("Since neither --16 nor --32 given, choose --16\n")" (( "(") (string_literal ""Since neither --16 nor --32 given, choose --16\n"" (" """) (string_content "Since neither --16 nor --32 given, choose --16") (escape_sequence "\n") (" """)) () ")"))) (; ";")) (} "}"))) (} "}"))) (} "}")) (else_clause "else if ((local_81f != '\0') && (local_820 = '\0', 1 < (int)local_7f0)) {\n      pr2serr("Since both --16 and --32 given, choose --32\n");\n    }" (else "else") (if_statement "if ((local_81f != '\0') && (local_820 = '\0', 1 < (int)local_7f0)) {\n      pr2serr("Since both --16 and --32 given, choose --32\n");\n    }" (if "if") (parenthesized_expression "((local_81f != '\0') && (local_820 = '\0', 1 < (int)local_7f0))" (( "(") (binary_expression "(local_81f != '\0') && (local_820 = '\0', 1 < (int)local_7f0)" (parenthesized_expression "(local_81f != '\0')" (( "(") (binary_expression "local_81f != '\0'" (identifier "local_81f") (!= "!=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (&& "&&") (parenthesized_expression "(local_820 = '\0', 1 < (int)local_7f0)" (( "(") (comma_expression "local_820 = '\0', 1 < (int)local_7f0" (assignment_expression "local_820 = '\0'" (identifier "local_820") (= "=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) (, ",") (binary_expression "1 < (int)local_7f0" (number_literal "1") (< "<") (cast_expression "(int)local_7f0" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_7f0")))) () ")"))) () ")")) (compound_statement "{\n      pr2serr("Since both --16 and --32 given, choose --32\n");\n    }" ({ "{") (expression_statement "pr2serr("Since both --16 and --32 given, choose --32\n");" (call_expression "pr2serr("Since both --16 and --32 given, choose --32\n")" (identifier "pr2serr") (argument_list "("Since both --16 and --32 given, choose --32\n")" (( "(") (string_literal ""Since both --16 and --32 given, choose --32\n"" (" """) (string_content "Since both --16 and --32 given, choose --32") (escape_sequence "\n") (" """)) () ")"))) (; ";")) (} "}"))))) (expression_statement "uVar7 = (uint)local_81d + (uint)local_814 + (uint)local_81b + (uint)local_818 + (uint)local_817\n            + (uint)local_816;" (assignment_expression "uVar7 = (uint)local_81d + (uint)local_814 + (uint)local_81b + (uint)local_818 + (uint)local_817\n            + (uint)local_816" (identifier "uVar7") (= "=") (binary_expression "(uint)local_81d + (uint)local_814 + (uint)local_81b + (uint)local_818 + (uint)local_817\n            + (uint)local_816" (binary_expression "(uint)local_81d + (uint)local_814 + (uint)local_81b + (uint)local_818 + (uint)local_817" (binary_expression "(uint)local_81d + (uint)local_814 + (uint)local_81b + (uint)local_818" (binary_expression "(uint)local_81d + (uint)local_814 + (uint)local_81b" (binary_expression "(uint)local_81d + (uint)local_814" (cast_expression "(uint)local_81d" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "local_81d")) (+ "+") (cast_expression "(uint)local_814" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "local_814"))) (+ "+") (cast_expression "(uint)local_81b" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "local_81b"))) (+ "+") (cast_expression "(uint)local_818" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "local_818"))) (+ "+") (cast_expression "(uint)local_817" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "local_817"))) (+ "+") (cast_expression "(uint)local_816" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "local_816")))) (; ";")) (if_statement "if (1 < uVar7) {\n      pr2serr(\n             "Can only select one command; so only one of --atomic, --normal, --or,\n--same=, --scattered= or --stream=\n"\n             );\n      local_908 = (stat64 *)0x1f;\n      goto LAB_00011a84;\n    }" (if "if") (parenthesized_expression "(1 < uVar7)" (( "(") (binary_expression "1 < uVar7" (number_literal "1") (< "<") (identifier "uVar7")) () ")")) (compound_statement "{\n      pr2serr(\n             "Can only select one command; so only one of --atomic, --normal, --or,\n--same=, --scattered= or --stream=\n"\n             );\n      local_908 = (stat64 *)0x1f;\n      goto LAB_00011a84;\n    }" ({ "{") (expression_statement "pr2serr(\n             "Can only select one command; so only one of --atomic, --normal, --or,\n--same=, --scattered= or --stream=\n"\n             );" (call_expression "pr2serr(\n             "Can only select one command; so only one of --atomic, --normal, --or,\n--same=, --scattered= or --stream=\n"\n             )" (identifier "pr2serr") (argument_list "(\n             "Can only select one command; so only one of --atomic, --normal, --or,\n--same=, --scattered= or --stream=\n"\n             )" (( "(") (string_literal ""Can only select one command; so only one of --atomic, --normal, --or,\n--same=, --scattered= or --stream=\n"" (" """) (string_content "Can only select one command; so only one of --atomic, --normal, --or,") (escape_sequence "\n") (string_content "--same=, --scattered= or --stream=") (escape_sequence "\n") (" """)) () ")"))) (; ";")) (expression_statement "local_908 = (stat64 *)0x1f;" (assignment_expression "local_908 = (stat64 *)0x1f" (identifier "local_908") (= "=") (cast_expression "(stat64 *)0x1f" (( "(") (type_descriptor "stat64 *" (type_identifier "stat64") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x1f"))) (; ";")) (goto_statement "goto LAB_00011a84;" (goto "goto") (statement_identifier "LAB_00011a84") (; ";")) (} "}"))) (if_statement "if (uVar7 == 0) {\n      if (local_7f8 != 0) {\n        pr2serr("With --strict won\'t default to a normal WRITE, add --normal\n");\n        local_908 = (stat64 *)0x1f;\n        goto LAB_00011a84;\n      }\n      local_794 = (stat64 *)0x17164;\n      local_814 = 1;\n      if (psVar38 != (stat64 *)0x0) {\n        pr2serr("No command selected so choose \'normal\' WRITE\n");\n      }\n    }" (if "if") (parenthesized_expression "(uVar7 == 0)" (( "(") (binary_expression "uVar7 == 0" (identifier "uVar7") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n      if (local_7f8 != 0) {\n        pr2serr("With --strict won\'t default to a normal WRITE, add --normal\n");\n        local_908 = (stat64 *)0x1f;\n        goto LAB_00011a84;\n      }\n      local_794 = (stat64 *)0x17164;\n      local_814 = 1;\n      if (psVar38 != (stat64 *)0x0) {\n        pr2serr("No command selected so choose \'normal\' WRITE\n");\n      }\n    }" ({ "{") (if_statement "if (local_7f8 != 0) {\n        pr2serr("With --strict won\'t default to a normal WRITE, add --normal\n");\n        local_908 = (stat64 *)0x1f;\n        goto LAB_00011a84;\n      }" (if "if") (parenthesized_expression "(local_7f8 != 0)" (( "(") (binary_expression "local_7f8 != 0" (identifier "local_7f8") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n        pr2serr("With --strict won\'t default to a normal WRITE, add --normal\n");\n        local_908 = (stat64 *)0x1f;\n        goto LAB_00011a84;\n      }" ({ "{") (expression_statement "pr2serr("With --strict won\'t default to a normal WRITE, add --normal\n");" (call_expression "pr2serr("With --strict won\'t default to a normal WRITE, add --normal\n")" (identifier "pr2serr") (argument_list "("With --strict won\'t default to a normal WRITE, add --normal\n")" (( "(") (string_literal ""With --strict won\'t default to a normal WRITE, add --normal\n"" (" """) (string_content "With --strict won") (escape_sequence "\'") (string_content "t default to a normal WRITE, add --normal") (escape_sequence "\n") (" """)) () ")"))) (; ";")) (expression_statement "local_908 = (stat64 *)0x1f;" (assignment_expression "local_908 = (stat64 *)0x1f" (identifier "local_908") (= "=") (cast_expression "(stat64 *)0x1f" (( "(") (type_descriptor "stat64 *" (type_identifier "stat64") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x1f"))) (; ";")) (goto_statement "goto LAB_00011a84;" (goto "goto") (statement_identifier "LAB_00011a84") (; ";")) (} "}"))) (expression_statement "local_794 = (stat64 *)0x17164;" (assignment_expression "local_794 = (stat64 *)0x17164" (identifier "local_794") (= "=") (cast_expression "(stat64 *)0x17164" (( "(") (type_descriptor "stat64 *" (type_identifier "stat64") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x17164"))) (; ";")) (expression_statement "local_814 = 1;" (assignment_expression "local_814 = 1" (identifier "local_814") (= "=") (number_literal "1")) (; ";")) (if_statement "if (psVar38 != (stat64 *)0x0) {\n        pr2serr("No command selected so choose \'normal\' WRITE\n");\n      }" (if "if") (parenthesized_expression "(psVar38 != (stat64 *)0x0)" (( "(") (binary_expression "psVar38 != (stat64 *)0x0" (identifier "psVar38") (!= "!=") (cast_expression "(stat64 *)0x0" (( "(") (type_descriptor "stat64 *" (type_identifier "stat64") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n        pr2serr("No command selected so choose \'normal\' WRITE\n");\n      }" ({ "{") (expression_statement "pr2serr("No command selected so choose \'normal\' WRITE\n");" (call_expression "pr2serr("No command selected so choose \'normal\' WRITE\n")" (identifier "pr2serr") (argument_list "("No command selected so choose \'normal\' WRITE\n")" (( "(") (string_literal ""No command selected so choose \'normal\' WRITE\n"" (" """) (string_content "No command selected so choose ") (escape_sequence "\'") (string_content "normal") (escape_sequence "\'") (string_content " WRITE") (escape_sequence "\n") (" """)) () ")"))) (; ";")) (} "}"))) (} "}"))) (expression_statement "psVar8 = (stat64 *)((-(uint)(local_820 == '\0') & 0x10) + 0x10);" (assignment_expression "psVar8 = (stat64 *)((-(uint)(local_820 == '\0') & 0x10) + 0x10)" (identifier "psVar8") (= "=") (cast_expression "(stat64 *)((-(uint)(local_820 == '\0') & 0x10) + 0x10)" (( "(") (type_descriptor "stat64 *" (type_identifier "stat64") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((-(uint)(local_820 == '\0') & 0x10) + 0x10)" (( "(") (binary_expression "(-(uint)(local_820 == '\0') & 0x10) + 0x10" (parenthesized_expression "(-(uint)(local_820 == '\0') & 0x10)" (( "(") (binary_expression "-(uint)(local_820 == '\0') & 0x10" (unary_expression "-(uint)(local_820 == '\0')" (- "-") (call_expression "(uint)(local_820 == '\0')" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(local_820 == '\0')" (( "(") (binary_expression "local_820 == '\0'" (identifier "local_820") (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")))) (& "&") (number_literal "0x10")) () ")")) (+ "+") (number_literal "0x10")) () ")")))) (; ";")) (expression_statement "psVar22 = local_794;" (assignment_expression "psVar22 = local_794" (identifier "psVar22") (= "=") (identifier "local_794")) (; ";")) (expression_statement "__snprintf_chk(local_790,0x18,1,0x18,"%s(%d)",local_794,psVar8,psVar17);" (call_expression "__snprintf_chk(local_790,0x18,1,0x18,"%s(%d)",local_794,psVar8,psVar17)" (identifier "__snprintf_chk") (argument_list "(local_790,0x18,1,0x18,"%s(%d)",local_794,psVar8,psVar17)" (( "(") (identifier "local_790") (, ",") (number_literal "0x18") (, ",") (number_literal "1") (, ",") (number_literal "0x18") (, ",") (string_literal ""%s(%d)"" (" """) (string_content "%s(%d)") (" """)) (, ",") (identifier "local_794") (, ",") (identifier "psVar8") (, ",") (identifier "psVar17") () ")"))) (; ";")) (if_statement "if (local_81c == '\0') {\n      if (local_798 != (char *)0x0) {\n        local_93f = local_918 != (stat64 *)0x0;\n        bVar30 = local_91c != (stat64 *)0x0 || local_918 != (stat64 *)0x0;\n        bVar31 = local_91c != (stat64 *)0x0;\n        if (local_91c == (stat64 *)0x0 && local_918 == (stat64 *)0x0) {\n          iVar14 = -1;\n          pcVar15 = local_798;\n          goto code_r0x00011d5c;\n        }\n        pr2serr(\n               "want one and only one of: (--lba=LBA and/or --num=NUM), or\n--scat-file=SF, or --combined=DOF\n"\n               );\n        local_908 = (stat64 *)0x1f;\n        goto LAB_00011a84;\n      }\n      if (local_819 == '\0') {\n        local_93f = local_918 != (stat64 *)0x0;\n        bVar30 = local_91c != (stat64 *)0x0 || local_918 != (stat64 *)0x0;\n        bVar31 = local_91c != (stat64 *)0x0;\n        goto LAB_00011d67;\n      }\n      pr2serr(\n             "--scat-raw only applies to the --scat-file=SF option\n--scat-raw without the --scat-file=SF option is an error\n"\n             );\n      local_908 = (stat64 *)0x1f;\n      goto LAB_00011a84;\n    }" (if "if") (parenthesized_expression "(local_81c == '\0')" (( "(") (binary_expression "local_81c == '\0'" (identifier "local_81c") (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n      if (local_798 != (char *)0x0) {\n        local_93f = local_918 != (stat64 *)0x0;\n        bVar30 = local_91c != (stat64 *)0x0 || local_918 != (stat64 *)0x0;\n        bVar31 = local_91c != (stat64 *)0x0;\n        if (local_91c == (stat64 *)0x0 && local_918 == (stat64 *)0x0) {\n          iVar14 = -1;\n          pcVar15 = local_798;\n          goto code_r0x00011d5c;\n        }\n        pr2serr(\n               "want one and only one of: (--lba=LBA and/or --num=NUM), or\n--scat-file=SF, or --combined=DOF\n"\n               );\n        local_908 = (stat64 *)0x1f;\n        goto LAB_00011a84;\n      }\n      if (local_819 == '\0') {\n        local_93f = local_918 != (stat64 *)0x0;\n        bVar30 = local_91c != (stat64 *)0x0 || local_918 != (stat64 *)0x0;\n        bVar31 = local_91c != (stat64 *)0x0;\n        goto LAB_00011d67;\n      }\n      pr2serr(\n             "--scat-raw only applies to the --scat-file=SF option\n--scat-raw without the --scat-file=SF option is an error\n"\n             );\n      local_908 = (stat64 *)0x1f;\n      goto LAB_00011a84;\n    }" ({ "{") (if_statement "if (local_798 != (char *)0x0) {\n        local_93f = local_918 != (stat64 *)0x0;\n        bVar30 = local_91c != (stat64 *)0x0 || local_918 != (stat64 *)0x0;\n        bVar31 = local_91c != (stat64 *)0x0;\n        if (local_91c == (stat64 *)0x0 && local_918 == (stat64 *)0x0) {\n          iVar14 = -1;\n          pcVar15 = local_798;\n          goto code_r0x00011d5c;\n        }\n        pr2serr(\n               "want one and only one of: (--lba=LBA and/or --num=NUM), or\n--scat-file=SF, or --combined=DOF\n"\n               );\n        local_908 = (stat64 *)0x1f;\n        goto LAB_00011a84;\n      }" (if "if") (parenthesized_expression "(local_798 != (char *)0x0)" (( "(") (binary_expression "local_798 != (char *)0x0" (identifier "local_798") (!= "!=") (cast_expression "(char *)0x0" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n        local_93f = local_918 != (stat64 *)0x0;\n        bVar30 = local_91c != (stat64 *)0x0 || local_918 != (stat64 *)0x0;\n        bVar31 = local_91c != (stat64 *)0x0;\n        if (local_91c == (stat64 *)0x0 && local_918 == (stat64 *)0x0) {\n          iVar14 = -1;\n          pcVar15 = local_798;\n          goto code_r0x00011d5c;\n        }\n        pr2serr(\n               "want one and only one of: (--lba=LBA and/or --num=NUM), or\n--scat-file=SF, or --combined=DOF\n"\n               );\n        local_908 = (stat64 *)0x1f;\n        goto LAB_00011a84;\n      }" ({ "{") (expression_statement "local_93f = local_918 != (stat64 *)0x0;" (assignment_expression "local_93f = local_918 != (stat64 *)0x0" (identifier "local_93f") (= "=") (binary_expression "local_918 != (stat64 *)0x0" (identifier "local_918") (!= "!=") (cast_expression "(stat64 *)0x0" (( "(") (type_descriptor "stat64 *" (type_identifier "stat64") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0")))) (; ";")) (expression_statement "bVar30 = local_91c != (stat64 *)0x0 || local_918 != (stat64 *)0x0;" (assignment_expression "bVar30 = local_91c != (stat64 *)0x0 || local_918 != (stat64 *)0x0" (identifier "bVar30") (= "=") (binary_expression "local_91c != (stat64 *)0x0 || local_918 != (stat64 *)0x0" (binary_expression "local_91c != (stat64 *)0x0" (identifier "local_91c") (!= "!=") (cast_expression "(stat64 *)0x0" (( "(") (type_descriptor "stat64 *" (type_identifier "stat64") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (|| "||") (binary_expression "local_918 != (stat64 *)0x0" (identifier "local_918") (!= "!=") (cast_expression "(stat64 *)0x0" (( "(") (type_descriptor "stat64 *" (type_identifier "stat64") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))))) (; ";")) (expression_statement "bVar31 = local_91c != (stat64 *)0x0;" (assignment_expression "bVar31 = local_91c != (stat64 *)0x0" (identifier "bVar31") (= "=") (binary_expression "local_91c != (stat64 *)0x0" (identifier "local_91c") (!= "!=") (cast_expression "(stat64 *)0x0" (( "(") (type_descriptor "stat64 *" (type_identifier "stat64") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0")))) (; ";")) (if_statement "if (local_91c == (stat64 *)0x0 && local_918 == (stat64 *)0x0) {\n          iVar14 = -1;\n          pcVar15 = local_798;\n          goto code_r0x00011d5c;\n        }" (if "if") (parenthesized_expression "(local_91c == (stat64 *)0x0 && local_918 == (stat64 *)0x0)" (( "(") (binary_expression "local_91c == (stat64 *)0x0 && local_918 == (stat64 *)0x0" (binary_expression "local_91c == (stat64 *)0x0" (identifier "local_91c") (== "==") (cast_expression "(stat64 *)0x0" (( "(") (type_descriptor "stat64 *" (type_identifier "stat64") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (&& "&&") (binary_expression "local_918 == (stat64 *)0x0" (identifier "local_918") (== "==") (cast_expression "(stat64 *)0x0" (( "(") (type_descriptor "stat64 *" (type_identifier "stat64") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0")))) () ")")) (compound_statement "{\n          iVar14 = -1;\n          pcVar15 = local_798;\n          goto code_r0x00011d5c;\n        }" ({ "{") (expression_statement "iVar14 = -1;" (assignment_expression "iVar14 = -1" (identifier "iVar14") (= "=") (number_literal "-1")) (; ";")) (expression_statement "pcVar15 = local_798;" (assignment_expression "pcVar15 = local_798" (identifier "pcVar15") (= "=") (identifier "local_798")) (; ";")) (goto_statement "goto code_r0x00011d5c;" (goto "goto") (statement_identifier "code_r0x00011d5c") (; ";")) (} "}"))) (expression_statement "pr2serr(\n               "want one and only one of: (--lba=LBA and/or --num=NUM), or\n--scat-file=SF, or --combined=DOF\n"\n               );" (call_expression "pr2serr(\n               "want one and only one of: (--lba=LBA and/or --num=NUM), or\n--scat-file=SF, or --combined=DOF\n"\n               )" (identifier "pr2serr") (argument_list "(\n               "want one and only one of: (--lba=LBA and/or --num=NUM), or\n--scat-file=SF, or --combined=DOF\n"\n               )" (( "(") (string_literal ""want one and only one of: (--lba=LBA and/or --num=NUM), or\n--scat-file=SF, or --combined=DOF\n"" (" """) (string_content "want one and only one of: (--lba=LBA and/or --num=NUM), or") (escape_sequence "\n") (string_content "--scat-file=SF, or --combined=DOF") (escape_sequence "\n") (" """)) () ")"))) (; ";")) (expression_statement "local_908 = (stat64 *)0x1f;" (assignment_expression "local_908 = (stat64 *)0x1f" (identifier "local_908") (= "=") (cast_expression "(stat64 *)0x1f" (( "(") (type_descriptor "stat64 *" (type_identifier "stat64") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x1f"))) (; ";")) (goto_statement "goto LAB_00011a84;" (goto "goto") (statement_identifier "LAB_00011a84") (; ";")) (} "}"))) (if_statement "if (local_819 == '\0') {\n        local_93f = local_918 != (stat64 *)0x0;\n        bVar30 = local_91c != (stat64 *)0x0 || local_918 != (stat64 *)0x0;\n        bVar31 = local_91c != (stat64 *)0x0;\n        goto LAB_00011d67;\n      }" (if "if") (parenthesized_expression "(local_819 == '\0')" (( "(") (binary_expression "local_819 == '\0'" (identifier "local_819") (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n        local_93f = local_918 != (stat64 *)0x0;\n        bVar30 = local_91c != (stat64 *)0x0 || local_918 != (stat64 *)0x0;\n        bVar31 = local_91c != (stat64 *)0x0;\n        goto LAB_00011d67;\n      }" ({ "{") (expression_statement "local_93f = local_918 != (stat64 *)0x0;" (assignment_expression "local_93f = local_918 != (stat64 *)0x0" (identifier "local_93f") (= "=") (binary_expression "local_918 != (stat64 *)0x0" (identifier "local_918") (!= "!=") (cast_expression "(stat64 *)0x0" (( "(") (type_descriptor "stat64 *" (type_identifier "stat64") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0")))) (; ";")) (expression_statement "bVar30 = local_91c != (stat64 *)0x0 || local_918 != (stat64 *)0x0;" (assignment_expression "bVar30 = local_91c != (stat64 *)0x0 || local_918 != (stat64 *)0x0" (identifier "bVar30") (= "=") (binary_expression "local_91c != (stat64 *)0x0 || local_918 != (stat64 *)0x0" (binary_expression "local_91c != (stat64 *)0x0" (identifier "local_91c") (!= "!=") (cast_expression "(stat64 *)0x0" (( "(") (type_descriptor "stat64 *" (type_identifier "stat64") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (|| "||") (binary_expression "local_918 != (stat64 *)0x0" (identifier "local_918") (!= "!=") (cast_expression "(stat64 *)0x0" (( "(") (type_descriptor "stat64 *" (type_identifier "stat64") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))))) (; ";")) (expression_statement "bVar31 = local_91c != (stat64 *)0x0;" (assignment_expression "bVar31 = local_91c != (stat64 *)0x0" (identifier "bVar31") (= "=") (binary_expression "local_91c != (stat64 *)0x0" (identifier "local_91c") (!= "!=") (cast_expression "(stat64 *)0x0" (( "(") (type_descriptor "stat64 *" (type_identifier "stat64") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0")))) (; ";")) (goto_statement "goto LAB_00011d67;" (goto "goto") (statement_identifier "LAB_00011d67") (; ";")) (} "}"))) (expression_statement "pr2serr(\n             "--scat-raw only applies to the --scat-file=SF option\n--scat-raw without the --scat-file=SF option is an error\n"\n             );" (call_expression "pr2serr(\n             "--scat-raw only applies to the --scat-file=SF option\n--scat-raw without the --scat-file=SF option is an error\n"\n             )" (identifier "pr2serr") (argument_list "(\n             "--scat-raw only applies to the --scat-file=SF option\n--scat-raw without the --scat-file=SF option is an error\n"\n             )" (( "(") (string_literal ""--scat-raw only applies to the --scat-file=SF option\n--scat-raw without the --scat-file=SF option is an error\n"" (" """) (string_content "--scat-raw only applies to the --scat-file=SF option") (escape_sequence "\n") (string_content "--scat-raw without the --scat-file=SF option is an error") (escape_sequence "\n") (" """)) () ")"))) (; ";")) (expression_statement "local_908 = (stat64 *)0x1f;" (assignment_expression "local_908 = (stat64 *)0x1f" (identifier "local_908") (= "=") (cast_expression "(stat64 *)0x1f" (( "(") (type_descriptor "stat64 *" (type_identifier "stat64") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x1f"))) (; ";")) (goto_statement "goto LAB_00011a84;" (goto "goto") (statement_identifier "LAB_00011a84") (; ";")) (} "}"))) (if_statement "if (local_817 == 0) {\n      pr2serr(\n             "--combined=DOF only allowed with --scattered=RD (i.e. only with\nWRITE SCATTERED command)\n"\n             );\n      local_908 = (stat64 *)0x1f;\n      goto LAB_00011a84;\n    }" (if "if") (parenthesized_expression "(local_817 == 0)" (( "(") (binary_expression "local_817 == 0" (identifier "local_817") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n      pr2serr(\n             "--combined=DOF only allowed with --scattered=RD (i.e. only with\nWRITE SCATTERED command)\n"\n             );\n      local_908 = (stat64 *)0x1f;\n      goto LAB_00011a84;\n    }" ({ "{") (expression_statement "pr2serr(\n             "--combined=DOF only allowed with --scattered=RD (i.e. only with\nWRITE SCATTERED command)\n"\n             );" (call_expression "pr2serr(\n             "--combined=DOF only allowed with --scattered=RD (i.e. only with\nWRITE SCATTERED command)\n"\n             )" (identifier "pr2serr") (argument_list "(\n             "--combined=DOF only allowed with --scattered=RD (i.e. only with\nWRITE SCATTERED command)\n"\n             )" (( "(") (string_literal ""--combined=DOF only allowed with --scattered=RD (i.e. only with\nWRITE SCATTERED command)\n"" (" """) (string_content "--combined=DOF only allowed with --scattered=RD (i.e. only with") (escape_sequence "\n") (string_content "WRITE SCATTERED command)") (escape_sequence "\n") (" """)) () ")"))) (; ";")) (expression_statement "local_908 = (stat64 *)0x1f;" (assignment_expression "local_908 = (stat64 *)0x1f" (identifier "local_908") (= "=") (cast_expression "(stat64 *)0x1f" (( "(") (type_descriptor "stat64 *" (type_identifier "stat64") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x1f"))) (; ";")) (goto_statement "goto LAB_00011a84;" (goto "goto") (statement_identifier "LAB_00011a84") (; ";")) (} "}"))) (if_statement "if (local_798 != (char *)0x0) {\n      pr2serr("Ambiguous: got --combined=DOF and --scat-file=SF .\nGive one, the other or neither\n"\n             );\n      local_908 = (stat64 *)0x1f;\n      goto LAB_00011a84;\n    }" (if "if") (parenthesized_expression "(local_798 != (char *)0x0)" (( "(") (binary_expression "local_798 != (char *)0x0" (identifier "local_798") (!= "!=") (cast_expression "(char *)0x0" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n      pr2serr("Ambiguous: got --combined=DOF and --scat-file=SF .\nGive one, the other or neither\n"\n             );\n      local_908 = (stat64 *)0x1f;\n      goto LAB_00011a84;\n    }" ({ "{") (expression_statement "pr2serr("Ambiguous: got --combined=DOF and --scat-file=SF .\nGive one, the other or neither\n"\n             );" (call_expression "pr2serr("Ambiguous: got --combined=DOF and --scat-file=SF .\nGive one, the other or neither\n"\n             )" (identifier "pr2serr") (argument_list "("Ambiguous: got --combined=DOF and --scat-file=SF .\nGive one, the other or neither\n"\n             )" (( "(") (string_literal ""Ambiguous: got --combined=DOF and --scat-file=SF .\nGive one, the other or neither\n"" (" """) (string_content "Ambiguous: got --combined=DOF and --scat-file=SF .") (escape_sequence "\n") (string_content "Give one, the other or neither") (escape_sequence "\n") (" """)) () ")"))) (; ";")) (expression_statement "local_908 = (stat64 *)0x1f;" (assignment_expression "local_908 = (stat64 *)0x1f" (identifier "local_908") (= "=") (cast_expression "(stat64 *)0x1f" (( "(") (type_descriptor "stat64 *" (type_identifier "stat64") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x1f"))) (; ";")) (goto_statement "goto LAB_00011a84;" (goto "goto") (statement_identifier "LAB_00011a84") (; ";")) (} "}"))) (if_statement "if (local_91c == (stat64 *)0x0 && local_918 == (stat64 *)0x0) {\n      local_93f = local_819;\n      bVar30 = false;\n      bVar31 = false;\n      if (local_819 == '\0') goto LAB_00011d67;\n      pr2serr("Ambiguous: don\'t expect --combined=DOF and --scat-raw\nGive one or the other\n");\n      local_908 = (stat64 *)0x1f;\n    }\n    else {\n      pr2serr("--scattered=RD --combined=DOF does not use --lba= or --num=\nPlease remove.\n");\n      local_908 = (stat64 *)0x1f;\n    }" (if "if") (parenthesized_expression "(local_91c == (stat64 *)0x0 && local_918 == (stat64 *)0x0)" (( "(") (binary_expression "local_91c == (stat64 *)0x0 && local_918 == (stat64 *)0x0" (binary_expression "local_91c == (stat64 *)0x0" (identifier "local_91c") (== "==") (cast_expression "(stat64 *)0x0" (( "(") (type_descriptor "stat64 *" (type_identifier "stat64") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (&& "&&") (binary_expression "local_918 == (stat64 *)0x0" (identifier "local_918") (== "==") (cast_expression "(stat64 *)0x0" (( "(") (type_descriptor "stat64 *" (type_identifier "stat64") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0")))) () ")")) (compound_statement "{\n      local_93f = local_819;\n      bVar30 = false;\n      bVar31 = false;\n      if (local_819 == '\0') goto LAB_00011d67;\n      pr2serr("Ambiguous: don\'t expect --combined=DOF and --scat-raw\nGive one or the other\n");\n      local_908 = (stat64 *)0x1f;\n    }" ({ "{") (expression_statement "local_93f = local_819;" (assignment_expression "local_93f = local_819" (identifier "local_93f") (= "=") (identifier "local_819")) (; ";")) (expression_statement "bVar30 = false;" (assignment_expression "bVar30 = false" (identifier "bVar30") (= "=") (false "false")) (; ";")) (expression_statement "bVar31 = false;" (assignment_expression "bVar31 = false" (identifier "bVar31") (= "=") (false "false")) (; ";")) (if_statement "if (local_819 == '\0') goto LAB_00011d67;" (if "if") (parenthesized_expression "(local_819 == '\0')" (( "(") (binary_expression "local_819 == '\0'" (identifier "local_819") (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (goto_statement "goto LAB_00011d67;" (goto "goto") (statement_identifier "LAB_00011d67") (; ";"))) (expression_statement "pr2serr("Ambiguous: don\'t expect --combined=DOF and --scat-raw\nGive one or the other\n");" (call_expression "pr2serr("Ambiguous: don\'t expect --combined=DOF and --scat-raw\nGive one or the other\n")" (identifier "pr2serr") (argument_list "("Ambiguous: don\'t expect --combined=DOF and --scat-raw\nGive one or the other\n")" (( "(") (string_literal ""Ambiguous: don\'t expect --combined=DOF and --scat-raw\nGive one or the other\n"" (" """) (string_content "Ambiguous: don") (escape_sequence "\'") (string_content "t expect --combined=DOF and --scat-raw") (escape_sequence "\n") (string_content "Give one or the other") (escape_sequence "\n") (" """)) () ")"))) (; ";")) (expression_statement "local_908 = (stat64 *)0x1f;" (assignment_expression "local_908 = (stat64 *)0x1f" (identifier "local_908") (= "=") (cast_expression "(stat64 *)0x1f" (( "(") (type_descriptor "stat64 *" (type_identifier "stat64") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x1f"))) (; ";")) (} "}")) (else_clause "else {\n      pr2serr("--scattered=RD --combined=DOF does not use --lba= or --num=\nPlease remove.\n");\n      local_908 = (stat64 *)0x1f;\n    }" (else "else") (compound_statement "{\n      pr2serr("--scattered=RD --combined=DOF does not use --lba= or --num=\nPlease remove.\n");\n      local_908 = (stat64 *)0x1f;\n    }" ({ "{") (expression_statement "pr2serr("--scattered=RD --combined=DOF does not use --lba= or --num=\nPlease remove.\n");" (call_expression "pr2serr("--scattered=RD --combined=DOF does not use --lba= or --num=\nPlease remove.\n")" (identifier "pr2serr") (argument_list "("--scattered=RD --combined=DOF does not use --lba= or --num=\nPlease remove.\n")" (( "(") (string_literal ""--scattered=RD --combined=DOF does not use --lba= or --num=\nPlease remove.\n"" (" """) (string_content "--scattered=RD --combined=DOF does not use --lba= or --num=") (escape_sequence "\n") (string_content "Please remove.") (escape_sequence "\n") (" """)) () ")"))) (; ";")) (expression_statement "local_908 = (stat64 *)0x1f;" (assignment_expression "local_908 = (stat64 *)0x1f" (identifier "local_908") (= "=") (cast_expression "(stat64 *)0x1f" (( "(") (type_descriptor "stat64 *" (type_identifier "stat64") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x1f"))) (; ";")) (} "}")))) (goto_statement "goto LAB_00011a84;" (goto "goto") (statement_identifier "LAB_00011a84") (; ";")) (} "}"))) (expression_statement "local_920 = local_924;" (assignment_expression "local_920 = local_924" (identifier "local_920") (= "=") (identifier "local_924")) (; ";")) (expression_statement "psVar38 = local_7d0;" (assignment_expression "psVar38 = local_7d0" (identifier "psVar38") (= "=") (identifier "local_7d0")) (; ";")) (expression_statement "uVar16 = uStack_7c4;" (assignment_expression "uVar16 = uStack_7c4" (identifier "uVar16") (= "=") (identifier "uStack_7c4")) (; ";")) (expression_statement "uVar7 = local_7c0;" (assignment_expression "uVar7 = local_7c0" (identifier "uVar7") (= "=") (identifier "local_7c0")) (; ";")) (switch_statement "switch((int)uVar33) {\n  case 0x33:\n    local_81f = '\x01';\n    goto code_r0x000114e8;\n  default:\n    pcVar15 = "unrecognised option code 0x%x ??\n";\n    break;\n  case 0x36:\n    local_820 = '\x01';\n    goto code_r0x000114e8;\n  case 0x3f:\n    pcVar15 = "\n";\n    break;\n  case 0x41:\n    uVar7 = func_0x00011320(*(undefined4 *)PTR_optarg_0001dffc);\n    if (0xffff < uVar7) {\n      pr2serr("bad argument to \'--atomic=\'. Expect 0 to 0xffff inclusive\n");\n      goto LAB_00011a7a;\n    }\n    uStack_7e4 = (undefined2)uVar7;\n    local_81d = 1;\n    local_794 = (stat64 *)0x17112;\n    psVar38 = local_7d0;\n    uVar16 = uStack_7c4;\n    uVar7 = local_7c0;\n    goto code_r0x000114e8;\n  case 0x42:\n    uVar24 = func_0x00011320(*(undefined4 *)PTR_optarg_0001dffc);\n    if (7 < uVar24) {\n      pr2serr("bad first argument to \'--bmop=\'\n");\n      goto LAB_00011a7a;\n    }\n    uStack_7e8 = (undefined1)uVar24;\n    uVar36 = 0x2c;\n    uVar41 = uVar24;\n    pcVar15 = strchr(*(char **)puVar5,0x2c);\n    psVar38 = local_7d0;\n    uVar16 = uStack_7c4;\n    uVar7 = local_7c0;\n    if (pcVar15 != (char *)0x0) {\n      uVar7 = func_0x00011320(pcVar15 + 1,uVar36,uVar24,uVar41);\n      if (0xf < uVar7) {\n        pr2serr("bad second argument to \'--bmop=\'\n");\n        goto LAB_00011a7a;\n      }\n      uStack_7e7 = (undefined1)uVar7;\n      psVar38 = local_7d0;\n      uVar16 = uStack_7c4;\n      uVar7 = local_7c0;\n    }\n    goto code_r0x000114e8;\n  case 0x44:\n    uStack_80c = func_0x00011320(*(undefined4 *)PTR_optarg_0001dffc);\n    psVar38 = local_7d0;\n    uVar16 = uStack_7c4;\n    uVar7 = local_7c0;\n    if (7 < uStack_80c) {\n      pr2serr("bad argument to \'--dld=\', expect 0 to 7 inclusive\n");\n      goto LAB_00011a7a;\n    }\n    goto code_r0x000114e8;\n  case 0x47:\n    uVar33 = sg_get_llnum(*(undefined4 *)PTR_optarg_0001dffc);\n    uVar36 = (undefined4)uVar33;\n    if ((int)((ulonglong)uVar33 >> 0x20) != 0) {\n      pr2serr("bad first argument to \'--generation=\'\n");\n      goto LAB_00011a7a;\n    }\n    uVar37 = 0x2c;\n    uVar40 = uVar36;\n    uStack_7c8 = uVar36;\n    pcVar15 = strchr(*(char **)puVar5,0x2c);\n    if (pcVar15 == (char *)0x0) {\n      pr2serr("need two arguments with --generation=EOG,NOG and they must be comma separated\n",\n              uVar37,uVar36,uVar40);\n      goto LAB_00011a7a;\n    }\n    uVar33 = sg_get_llnum(pcVar15 + 1);\n    psVar38 = local_7d0;\n    uVar16 = (int)uVar33;\n    uVar7 = local_7c0;\n    if ((int)((ulonglong)uVar33 >> 0x20) != 0) {\n      pr2serr("bad second argument to \'--generation=\'\n",uVar37,uVar36,uVar40);\n      goto LAB_00011a7a;\n    }\n    goto code_r0x000114e8;\n  case 0x49:\n    local_7f4 = func_0x00011320(*(undefined4 *)PTR_optarg_0001dffc);\n    psVar38 = local_7d0;\n    uVar16 = uStack_7c4;\n    uVar7 = local_7c0;\n    if (local_7f4 < 0) {\n      pr2serr("bad argument to \'--timeout=\'\n");\n      goto LAB_00011a7a;\n    }\n    goto code_r0x000114e8;\n  case 0x4d:\n    uVar7 = func_0x00011320(*(undefined4 *)PTR_optarg_0001dffc);\n    if (1 < uVar7) {\n      pr2serr("bad argument to \'--same\', expect 0 or 1\n");\n      goto LAB_00011a7a;\n    }\n    local_810 = (byte)uVar7 & 1;\n    local_818 = 1;\n    local_794 = (stat64 *)0x17159;\n    psVar38 = local_7d0;\n    uVar16 = uStack_7c4;\n    uVar7 = local_7c0;\n    goto code_r0x000114e8;\n  case 0x4e:\n    local_814 = 1;\n    local_794 = (stat64 *)0x17164;\n    goto code_r0x000114e8;\n  case 0x4f:\n    local_81b = 1;\n    local_794 = (stat64 *)0x1716a;\n    goto code_r0x000114e8;\n  case 0x51:\n    local_81a = '\x01';\n    goto code_r0x000114e8;\n  case 0x52:\n    local_819 = '\x01';\n    goto code_r0x000114e8;\n  case 0x53:\n    uVar7 = func_0x00011320(*(undefined4 *)PTR_optarg_0001dffc);\n    if (0xffff < uVar7) {\n      pr2serr("bad argument to \'--scattered=\'. Expect 0 to 0xffff inclusive\n");\n      goto LAB_00011a7a;\n    }\n    local_7e0 = (ushort)uVar7;\n    local_794 = (stat64 *)0x17172;\n    local_817 = 1;\n    psVar38 = local_7d0;\n    uVar16 = uStack_7c4;\n    uVar7 = local_7c0;\n    goto code_r0x000114e8;\n  case 0x54:\n    uVar7 = func_0x00011320(*(undefined4 *)PTR_optarg_0001dffc);\n    if (0xffff < uVar7) {\n      pr2serr("bad argument to \'--stream=\', expect 0 to 65535\n");\n      goto LAB_00011a7a;\n    }\n    uStack_7de = (undefined2)uVar7;\n    local_794 = (stat64 *)0x17182;\n    local_816 = 1;\n    psVar38 = local_7d0;\n    uVar16 = uStack_7c4;\n    uVar7 = local_7c0;\n    goto code_r0x000114e8;\n  case 0x56:\n    local_80e = '\x01';\n    goto code_r0x000114e8;\n  case 0x61:\n    uVar7 = func_0x00011320(*(undefined4 *)PTR_optarg_0001dffc);\n    if (0xffff < uVar7) {\n      pr2serr("bad argument to \'--app-tag=\'. Expect 0 to 0xffff inclusive\n");\n      goto LAB_00011a7a;\n    }\n    local_7e6 = (ushort)uVar7;\n    psVar38 = local_7d0;\n    uVar16 = uStack_7c4;\n    uVar7 = local_7c0;\n    goto code_r0x000114e8;\n  case 0x62:\n    psVar17 = (stat64 *)func_0x00011320(*(undefined4 *)PTR_optarg_0001dffc);\n    if ((stat64 *)0x10000000 < psVar17) {\n      pr2serr("bad argument to \'--bs=\'. Expect 0 or greater\n");\n      goto LAB_00011a7a;\n    }\n    if (psVar17 == (stat64 *)0x0) {\n      local_7d8 = (stat64 *)0x0;\n      local_7d4 = (stat64 *)0x0;\n      psVar38 = local_7d0;\n      uVar16 = uStack_7c4;\n      uVar7 = local_7c0;\n    }\n    else {\n      if ((int)psVar17 < 0x200) {\n        pr2serr("warning: --bs=BS value is < 512 which seems too small, continue\n");\n        bVar1 = 1;\n      }\n      if (((uint)psVar17 & 7) != 0) {\n        pr2serr("warning: --bs=BS value is not a multiple of 8, unexpected, continue\n");\n        bVar1 = 1;\n      }\n      iVar21 = 0;\n      iVar10 = 0;\n      psVar38 = psVar17;\n      do {\n        if (((uint)psVar38 & 1) != 0) {\n          iVar21 = iVar10;\n        }\n        iVar10 = iVar10 + 1;\n        psVar38 = (stat64 *)((int)psVar38 >> 1);\n      } while (iVar10 != 0x1c);\n      psVar22 = (stat64 *)(1 << ((byte)iVar21 & 0x1f));\n      local_7d8 = psVar17;\n      local_7d4 = psVar17;\n      psVar38 = local_7d0;\n      uVar16 = uStack_7c4;\n      uVar7 = local_7c0;\n      if (psVar17 != psVar22) {\n        local_7d8 = psVar22;\n      }\n    }\n    goto code_r0x000114e8;\n  case 99:\n    iVar21 = func_0x00011320(*(undefined4 *)PTR_optarg_0001dffc);\n    if (iVar21 < 0) {\n      pr2serr("bad argument to \'--combined=\'. Expect 0 to 0x7fffffff\n");\n      goto LAB_00011a7a;\n    }\n    local_7e2 = (ushort)iVar21;\n    local_81c = '\x01';\n    psVar38 = local_7d0;\n    uVar16 = uStack_7c4;\n    uVar7 = local_7c0;\n    goto code_r0x000114e8;\n  case 100:\n    uStack_812 = 1;\n    goto code_r0x000114e8;\n  case 0x66:\n    uStack_811 = 1;\n    goto code_r0x000114e8;\n  case 0x67:\n    uStack_804 = func_0x00011320(*(undefined4 *)PTR_optarg_0001dffc);\n    psVar38 = local_7d0;\n    uVar16 = uStack_7c4;\n    uVar7 = local_7c0;\n    if (0x3f < uStack_804) {\n      pr2serr("bad argument to \'--grpnum\'\n");\n      goto LAB_00011a7a;\n    }\n    goto code_r0x000114e8;\n  case 0x68:\n    local_800 = local_800 + 1;\n    goto code_r0x000114e8;\n  case 0x69:\n    local_79c = *(char **)PTR_optarg_0001dffc;\n    goto code_r0x000114e8;\n  case 0x6c:\n    if (local_91c != (stat64 *)0x0) {\n      pr2serr("only expect \'--lba=\' option once\n");\n      goto LAB_00011a7a;\n    }\n    local_91c = *(stat64 **)PTR_optarg_0001dffc;\n    goto code_r0x000114e8;\n  case 0x6e:\n    if (local_918 != (stat64 *)0x0) {\n      pr2serr("only expect \'--num=\' option once\n");\n      goto LAB_00011a7a;\n    }\n    local_918 = *(stat64 **)PTR_optarg_0001dffc;\n    goto code_r0x000114e8;\n  case 0x6f:\n    lVar34 = sg_get_llnum(*(undefined4 *)PTR_optarg_0001dffc);\n    psVar17 = (stat64 *)lVar34;\n    if (lVar34 == -1) {\n      pr2serr("bad first argument to \'--offset=\'\n");\n      goto LAB_00011a7a;\n    }\n    uVar36 = 0x2c;\n    psVar22 = psVar17;\n    local_7b4 = psVar17;\n    local_7b0 = (stat64 *)((ulonglong)lVar34 >> 0x20);\n    pcVar15 = strchr(*(char **)puVar5,0x2c);\n    psVar38 = local_7d0;\n    uVar16 = uStack_7c4;\n    uVar7 = local_7c0;\n    if (pcVar15 != (char *)0x0) {\n      lVar34 = sg_get_llnum(pcVar15 + 1,uVar36,psVar17,psVar22);\n      psVar38 = (stat64 *)lVar34;\n      uVar16 = uStack_7c4;\n      uVar7 = local_7c0;\n      if ((int)((ulonglong)lVar34 >> 0x20) == -1) {\n        if (psVar38 == (stat64 *)0xffffffff) {\n          pr2serr("bad second argument to \'--offset=\'\n");\n          goto LAB_00011a7a;\n        }\n      }\n      else if (0xffffffff < lVar34) {\n        pr2serr("bad second argument to \'--offset=\', cannot exceed 32 bits\n");\n        goto LAB_00011a7a;\n      }\n    }\n    goto code_r0x000114e8;\n  case 0x71:\n    local_798 = *(char **)PTR_optarg_0001dffc;\n    goto code_r0x000114e8;\n  case 0x72:\n    goto code_r0x000115f1;\n  case 0x73:\n    local_7f8 = local_7f8 + 1;\n    goto code_r0x000114e8;\n  case 0x74:\n    uVar7 = func_0x00011320(*(undefined4 *)PTR_optarg_0001dffc);\n    if (0xffff < uVar7) {\n      pr2serr("bad argument to \'--tag-mask=\'. Expect 0 to 0xffff inclusive\n");\n      goto LAB_00011a7a;\n    }\n    local_7dc = (ushort)uVar7;\n    psVar38 = local_7d0;\n    uVar16 = uStack_7c4;\n    uVar7 = local_7c0;\n    goto code_r0x000114e8;\n  case 0x75:\n    uVar7 = func_0x00011320(*(undefined4 *)puVar20);\n    if (3 < uVar7) {\n      pr2serr("bad argument to \'--unmap=\', expect 0 to 3\n");\n      goto LAB_00011a7a;\n    }\n    bStack_81e = (byte)(uVar7 >> 1) & 1;\n    bStack_815 = (byte)uVar7 & 1;\n    psVar38 = local_7d0;\n    uVar16 = uStack_7c4;\n    uVar7 = local_7c0;\n    goto code_r0x000114e8;\n  case 0x76:\n    local_80f = '\x01';\n    local_7f0 = (stat64 *)((int)&local_7f0->st_dev + 1);\n    goto code_r0x000114e8;\n  case 0x77:\n    local_7ec = (stat64 *)func_0x00011320(*(undefined4 *)puVar20);\n    if ((stat64 *)0x7 < local_7ec) {\n      pr2serr("bad argument to \'--wrprotect\'\n");\n      goto LAB_00011a7a;\n    }\n    local_813 = 0 < (int)local_7ec;\n    psVar38 = local_7d0;\n    uVar16 = uStack_7c4;\n    uVar7 = local_7c0;\n    goto code_r0x000114e8;\n  case 0x78:\n    iStack_808 = iStack_808 + 1;\n    goto code_r0x000114e8;\n  }" (switch "switch") (parenthesized_expression "((int)uVar33)" (( "(") (cast_expression "(int)uVar33" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "uVar33")) () ")")) (compound_statement "{\n  case 0x33:\n    local_81f = '\x01';\n    goto code_r0x000114e8;\n  default:\n    pcVar15 = "unrecognised option code 0x%x ??\n";\n    break;\n  case 0x36:\n    local_820 = '\x01';\n    goto code_r0x000114e8;\n  case 0x3f:\n    pcVar15 = "\n";\n    break;\n  case 0x41:\n    uVar7 = func_0x00011320(*(undefined4 *)PTR_optarg_0001dffc);\n    if (0xffff < uVar7) {\n      pr2serr("bad argument to \'--atomic=\'. Expect 0 to 0xffff inclusive\n");\n      goto LAB_00011a7a;\n    }\n    uStack_7e4 = (undefined2)uVar7;\n    local_81d = 1;\n    local_794 = (stat64 *)0x17112;\n    psVar38 = local_7d0;\n    uVar16 = uStack_7c4;\n    uVar7 = local_7c0;\n    goto code_r0x000114e8;\n  case 0x42:\n    uVar24 = func_0x00011320(*(undefined4 *)PTR_optarg_0001dffc);\n    if (7 < uVar24) {\n      pr2serr("bad first argument to \'--bmop=\'\n");\n      goto LAB_00011a7a;\n    }\n    uStack_7e8 = (undefined1)uVar24;\n    uVar36 = 0x2c;\n    uVar41 = uVar24;\n    pcVar15 = strchr(*(char **)puVar5,0x2c);\n    psVar38 = local_7d0;\n    uVar16 = uStack_7c4;\n    uVar7 = local_7c0;\n    if (pcVar15 != (char *)0x0) {\n      uVar7 = func_0x00011320(pcVar15 + 1,uVar36,uVar24,uVar41);\n      if (0xf < uVar7) {\n        pr2serr("bad second argument to \'--bmop=\'\n");\n        goto LAB_00011a7a;\n      }\n      uStack_7e7 = (undefined1)uVar7;\n      psVar38 = local_7d0;\n      uVar16 = uStack_7c4;\n      uVar7 = local_7c0;\n    }\n    goto code_r0x000114e8;\n  case 0x44:\n    uStack_80c = func_0x00011320(*(undefined4 *)PTR_optarg_0001dffc);\n    psVar38 = local_7d0;\n    uVar16 = uStack_7c4;\n    uVar7 = local_7c0;\n    if (7 < uStack_80c) {\n      pr2serr("bad argument to \'--dld=\', expect 0 to 7 inclusive\n");\n      goto LAB_00011a7a;\n    }\n    goto code_r0x000114e8;\n  case 0x47:\n    uVar33 = sg_get_llnum(*(undefined4 *)PTR_optarg_0001dffc);\n    uVar36 = (undefined4)uVar33;\n    if ((int)((ulonglong)uVar33 >> 0x20) != 0) {\n      pr2serr("bad first argument to \'--generation=\'\n");\n      goto LAB_00011a7a;\n    }\n    uVar37 = 0x2c;\n    uVar40 = uVar36;\n    uStack_7c8 = uVar36;\n    pcVar15 = strchr(*(char **)puVar5,0x2c);\n    if (pcVar15 == (char *)0x0) {\n      pr2serr("need two arguments with --generation=EOG,NOG and they must be comma separated\n",\n              uVar37,uVar36,uVar40);\n      goto LAB_00011a7a;\n    }\n    uVar33 = sg_get_llnum(pcVar15 + 1);\n    psVar38 = local_7d0;\n    uVar16 = (int)uVar33;\n    uVar7 = local_7c0;\n    if ((int)((ulonglong)uVar33 >> 0x20) != 0) {\n      pr2serr("bad second argument to \'--generation=\'\n",uVar37,uVar36,uVar40);\n      goto LAB_00011a7a;\n    }\n    goto code_r0x000114e8;\n  case 0x49:\n    local_7f4 = func_0x00011320(*(undefined4 *)PTR_optarg_0001dffc);\n    psVar38 = local_7d0;\n    uVar16 = uStack_7c4;\n    uVar7 = local_7c0;\n    if (local_7f4 < 0) {\n      pr2serr("bad argument to \'--timeout=\'\n");\n      goto LAB_00011a7a;\n    }\n    goto code_r0x000114e8;\n  case 0x4d:\n    uVar7 = func_0x00011320(*(undefined4 *)PTR_optarg_0001dffc);\n    if (1 < uVar7) {\n      pr2serr("bad argument to \'--same\', expect 0 or 1\n");\n      goto LAB_00011a7a;\n    }\n    local_810 = (byte)uVar7 & 1;\n    local_818 = 1;\n    local_794 = (stat64 *)0x17159;\n    psVar38 = local_7d0;\n    uVar16 = uStack_7c4;\n    uVar7 = local_7c0;\n    goto code_r0x000114e8;\n  case 0x4e:\n    local_814 = 1;\n    local_794 = (stat64 *)0x17164;\n    goto code_r0x000114e8;\n  case 0x4f:\n    local_81b = 1;\n    local_794 = (stat64 *)0x1716a;\n    goto code_r0x000114e8;\n  case 0x51:\n    local_81a = '\x01';\n    goto code_r0x000114e8;\n  case 0x52:\n    local_819 = '\x01';\n    goto code_r0x000114e8;\n  case 0x53:\n    uVar7 = func_0x00011320(*(undefined4 *)PTR_optarg_0001dffc);\n    if (0xffff < uVar7) {\n      pr2serr("bad argument to \'--scattered=\'. Expect 0 to 0xffff inclusive\n");\n      goto LAB_00011a7a;\n    }\n    local_7e0 = (ushort)uVar7;\n    local_794 = (stat64 *)0x17172;\n    local_817 = 1;\n    psVar38 = local_7d0;\n    uVar16 = uStack_7c4;\n    uVar7 = local_7c0;\n    goto code_r0x000114e8;\n  case 0x54:\n    uVar7 = func_0x00011320(*(undefined4 *)PTR_optarg_0001dffc);\n    if (0xffff < uVar7) {\n      pr2serr("bad argument to \'--stream=\', expect 0 to 65535\n");\n      goto LAB_00011a7a;\n    }\n    uStack_7de = (undefined2)uVar7;\n    local_794 = (stat64 *)0x17182;\n    local_816 = 1;\n    psVar38 = local_7d0;\n    uVar16 = uStack_7c4;\n    uVar7 = local_7c0;\n    goto code_r0x000114e8;\n  case 0x56:\n    local_80e = '\x01';\n    goto code_r0x000114e8;\n  case 0x61:\n    uVar7 = func_0x00011320(*(undefined4 *)PTR_optarg_0001dffc);\n    if (0xffff < uVar7) {\n      pr2serr("bad argument to \'--app-tag=\'. Expect 0 to 0xffff inclusive\n");\n      goto LAB_00011a7a;\n    }\n    local_7e6 = (ushort)uVar7;\n    psVar38 = local_7d0;\n    uVar16 = uStack_7c4;\n    uVar7 = local_7c0;\n    goto code_r0x000114e8;\n  case 0x62:\n    psVar17 = (stat64 *)func_0x00011320(*(undefined4 *)PTR_optarg_0001dffc);\n    if ((stat64 *)0x10000000 < psVar17) {\n      pr2serr("bad argument to \'--bs=\'. Expect 0 or greater\n");\n      goto LAB_00011a7a;\n    }\n    if (psVar17 == (stat64 *)0x0) {\n      local_7d8 = (stat64 *)0x0;\n      local_7d4 = (stat64 *)0x0;\n      psVar38 = local_7d0;\n      uVar16 = uStack_7c4;\n      uVar7 = local_7c0;\n    }\n    else {\n      if ((int)psVar17 < 0x200) {\n        pr2serr("warning: --bs=BS value is < 512 which seems too small, continue\n");\n        bVar1 = 1;\n      }\n      if (((uint)psVar17 & 7) != 0) {\n        pr2serr("warning: --bs=BS value is not a multiple of 8, unexpected, continue\n");\n        bVar1 = 1;\n      }\n      iVar21 = 0;\n      iVar10 = 0;\n      psVar38 = psVar17;\n      do {\n        if (((uint)psVar38 & 1) != 0) {\n          iVar21 = iVar10;\n        }\n        iVar10 = iVar10 + 1;\n        psVar38 = (stat64 *)((int)psVar38 >> 1);\n      } while (iVar10 != 0x1c);\n      psVar22 = (stat64 *)(1 << ((byte)iVar21 & 0x1f));\n      local_7d8 = psVar17;\n      local_7d4 = psVar17;\n      psVar38 = local_7d0;\n      uVar16 = uStack_7c4;\n      uVar7 = local_7c0;\n      if (psVar17 != psVar22) {\n        local_7d8 = psVar22;\n      }\n    }\n    goto code_r0x000114e8;\n  case 99:\n    iVar21 = func_0x00011320(*(undefined4 *)PTR_optarg_0001dffc);\n    if (iVar21 < 0) {\n      pr2serr("bad argument to \'--combined=\'. Expect 0 to 0x7fffffff\n");\n      goto LAB_00011a7a;\n    }\n    local_7e2 = (ushort)iVar21;\n    local_81c = '\x01';\n    psVar38 = local_7d0;\n    uVar16 = uStack_7c4;\n    uVar7 = local_7c0;\n    goto code_r0x000114e8;\n  case 100:\n    uStack_812 = 1;\n    goto code_r0x000114e8;\n  case 0x66:\n    uStack_811 = 1;\n    goto code_r0x000114e8;\n  case 0x67:\n    uStack_804 = func_0x00011320(*(undefined4 *)PTR_optarg_0001dffc);\n    psVar38 = local_7d0;\n    uVar16 = uStack_7c4;\n    uVar7 = local_7c0;\n    if (0x3f < uStack_804) {\n      pr2serr("bad argument to \'--grpnum\'\n");\n      goto LAB_00011a7a;\n    }\n    goto code_r0x000114e8;\n  case 0x68:\n    local_800 = local_800 + 1;\n    goto code_r0x000114e8;\n  case 0x69:\n    local_79c = *(char **)PTR_optarg_0001dffc;\n    goto code_r0x000114e8;\n  case 0x6c:\n    if (local_91c != (stat64 *)0x0) {\n      pr2serr("only expect \'--lba=\' option once\n");\n      goto LAB_00011a7a;\n    }\n    local_91c = *(stat64 **)PTR_optarg_0001dffc;\n    goto code_r0x000114e8;\n  case 0x6e:\n    if (local_918 != (stat64 *)0x0) {\n      pr2serr("only expect \'--num=\' option once\n");\n      goto LAB_00011a7a;\n    }\n    local_918 = *(stat64 **)PTR_optarg_0001dffc;\n    goto code_r0x000114e8;\n  case 0x6f:\n    lVar34 = sg_get_llnum(*(undefined4 *)PTR_optarg_0001dffc);\n    psVar17 = (stat64 *)lVar34;\n    if (lVar34 == -1) {\n      pr2serr("bad first argument to \'--offset=\'\n");\n      goto LAB_00011a7a;\n    }\n    uVar36 = 0x2c;\n    psVar22 = psVar17;\n    local_7b4 = psVar17;\n    local_7b0 = (stat64 *)((ulonglong)lVar34 >> 0x20);\n    pcVar15 = strchr(*(char **)puVar5,0x2c);\n    psVar38 = local_7d0;\n    uVar16 = uStack_7c4;\n    uVar7 = local_7c0;\n    if (pcVar15 != (char *)0x0) {\n      lVar34 = sg_get_llnum(pcVar15 + 1,uVar36,psVar17,psVar22);\n      psVar38 = (stat64 *)lVar34;\n      uVar16 = uStack_7c4;\n      uVar7 = local_7c0;\n      if ((int)((ulonglong)lVar34 >> 0x20) == -1) {\n        if (psVar38 == (stat64 *)0xffffffff) {\n          pr2serr("bad second argument to \'--offset=\'\n");\n          goto LAB_00011a7a;\n        }\n      }\n      else if (0xffffffff < lVar34) {\n        pr2serr("bad second argument to \'--offset=\', cannot exceed 32 bits\n");\n        goto LAB_00011a7a;\n      }\n    }\n    goto code_r0x000114e8;\n  case 0x71:\n    local_798 = *(char **)PTR_optarg_0001dffc;\n    goto code_r0x000114e8;\n  case 0x72:\n    goto code_r0x000115f1;\n  case 0x73:\n    local_7f8 = local_7f8 + 1;\n    goto code_r0x000114e8;\n  case 0x74:\n    uVar7 = func_0x00011320(*(undefined4 *)PTR_optarg_0001dffc);\n    if (0xffff < uVar7) {\n      pr2serr("bad argument to \'--tag-mask=\'. Expect 0 to 0xffff inclusive\n");\n      goto LAB_00011a7a;\n    }\n    local_7dc = (ushort)uVar7;\n    psVar38 = local_7d0;\n    uVar16 = uStack_7c4;\n    uVar7 = local_7c0;\n    goto code_r0x000114e8;\n  case 0x75:\n    uVar7 = func_0x00011320(*(undefined4 *)puVar20);\n    if (3 < uVar7) {\n      pr2serr("bad argument to \'--unmap=\', expect 0 to 3\n");\n      goto LAB_00011a7a;\n    }\n    bStack_81e = (byte)(uVar7 >> 1) & 1;\n    bStack_815 = (byte)uVar7 & 1;\n    psVar38 = local_7d0;\n    uVar16 = uStack_7c4;\n    uVar7 = local_7c0;\n    goto code_r0x000114e8;\n  case 0x76:\n    local_80f = '\x01';\n    local_7f0 = (stat64 *)((int)&local_7f0->st_dev + 1);\n    goto code_r0x000114e8;\n  case 0x77:\n    local_7ec = (stat64 *)func_0x00011320(*(undefined4 *)puVar20);\n    if ((stat64 *)0x7 < local_7ec) {\n      pr2serr("bad argument to \'--wrprotect\'\n");\n      goto LAB_00011a7a;\n    }\n    local_813 = 0 < (int)local_7ec;\n    psVar38 = local_7d0;\n    uVar16 = uStack_7c4;\n    uVar7 = local_7c0;\n    goto code_r0x000114e8;\n  case 0x78:\n    iStack_808 = iStack_808 + 1;\n    goto code_r0x000114e8;\n  }" ({ "{") (case_statement "case 0x33:\n    local_81f = '\x01';\n    goto code_r0x000114e8;" (case "case") (number_literal "0x33") (: ":") (expression_statement "local_81f = '\x01';" (assignment_expression "local_81f = '\x01'" (identifier "local_81f") (= "=") (char_literal "'\x01'" (' "'") (escape_sequence "\x01") (' "'"))) (; ";")) (goto_statement "goto code_r0x000114e8;" (goto "goto") (statement_identifier "code_r0x000114e8") (; ";"))) (case_statement "default:\n    pcVar15 = "unrecognised option code 0x%x ??\n";\n    break;" (default "default") (: ":") (expression_statement "pcVar15 = "unrecognised option code 0x%x ??\n";" (assignment_expression "pcVar15 = "unrecognised option code 0x%x ??\n"" (identifier "pcVar15") (= "=") (string_literal ""unrecognised option code 0x%x ??\n"" (" """) (string_content "unrecognised option code 0x%x ??") (escape_sequence "\n") (" """))) (; ";")) (break_statement "break;" (break "break") (; ";"))) (case_statement "case 0x36:\n    local_820 = '\x01';\n    goto code_r0x000114e8;" (case "case") (number_literal "0x36") (: ":") (expression_statement "local_820 = '\x01';" (assignment_expression "local_820 = '\x01'" (identifier "local_820") (= "=") (char_literal "'\x01'" (' "'") (escape_sequence "\x01") (' "'"))) (; ";")) (goto_statement "goto code_r0x000114e8;" (goto "goto") (statement_identifier "code_r0x000114e8") (; ";"))) (case_statement "case 0x3f:\n    pcVar15 = "\n";\n    break;" (case "case") (number_literal "0x3f") (: ":") (expression_statement "pcVar15 = "\n";" (assignment_expression "pcVar15 = "\n"" (identifier "pcVar15") (= "=") (string_literal ""\n"" (" """) (escape_sequence "\n") (" """))) (; ";")) (break_statement "break;" (break "break") (; ";"))) (case_statement "case 0x41:\n    uVar7 = func_0x00011320(*(undefined4 *)PTR_optarg_0001dffc);\n    if (0xffff < uVar7) {\n      pr2serr("bad argument to \'--atomic=\'. Expect 0 to 0xffff inclusive\n");\n      goto LAB_00011a7a;\n    }\n    uStack_7e4 = (undefined2)uVar7;\n    local_81d = 1;\n    local_794 = (stat64 *)0x17112;\n    psVar38 = local_7d0;\n    uVar16 = uStack_7c4;\n    uVar7 = local_7c0;\n    goto code_r0x000114e8;" (case "case") (number_literal "0x41") (: ":") (expression_statement "uVar7 = func_0x00011320(*(undefined4 *)PTR_optarg_0001dffc);" (assignment_expression "uVar7 = func_0x00011320(*(undefined4 *)PTR_optarg_0001dffc)" (identifier "uVar7") (= "=") (call_expression "func_0x00011320(*(undefined4 *)PTR_optarg_0001dffc)" (identifier "func_0x00011320") (argument_list "(*(undefined4 *)PTR_optarg_0001dffc)" (( "(") (pointer_expression "*(undefined4 *)PTR_optarg_0001dffc" (* "*") (cast_expression "(undefined4 *)PTR_optarg_0001dffc" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_optarg_0001dffc"))) () ")")))) (; ";")) (if_statement "if (0xffff < uVar7) {\n      pr2serr("bad argument to \'--atomic=\'. Expect 0 to 0xffff inclusive\n");\n      goto LAB_00011a7a;\n    }" (if "if") (parenthesized_expression "(0xffff < uVar7)" (( "(") (binary_expression "0xffff < uVar7" (number_literal "0xffff") (< "<") (identifier "uVar7")) () ")")) (compound_statement "{\n      pr2serr("bad argument to \'--atomic=\'. Expect 0 to 0xffff inclusive\n");\n      goto LAB_00011a7a;\n    }" ({ "{") (expression_statement "pr2serr("bad argument to \'--atomic=\'. Expect 0 to 0xffff inclusive\n");" (call_expression "pr2serr("bad argument to \'--atomic=\'. Expect 0 to 0xffff inclusive\n")" (identifier "pr2serr") (argument_list "("bad argument to \'--atomic=\'. Expect 0 to 0xffff inclusive\n")" (( "(") (string_literal ""bad argument to \'--atomic=\'. Expect 0 to 0xffff inclusive\n"" (" """) (string_content "bad argument to ") (escape_sequence "\'") (string_content "--atomic=") (escape_sequence "\'") (string_content ". Expect 0 to 0xffff inclusive") (escape_sequence "\n") (" """)) () ")"))) (; ";")) (goto_statement "goto LAB_00011a7a;" (goto "goto") (statement_identifier "LAB_00011a7a") (; ";")) (} "}"))) (expression_statement "uStack_7e4 = (undefined2)uVar7;" (assignment_expression "uStack_7e4 = (undefined2)uVar7" (identifier "uStack_7e4") (= "=") (cast_expression "(undefined2)uVar7" (( "(") (type_descriptor "undefined2" (type_identifier "undefined2")) () ")") (identifier "uVar7"))) (; ";")) (expression_statement "local_81d = 1;" (assignment_expression "local_81d = 1" (identifier "local_81d") (= "=") (number_literal "1")) (; ";")) (expression_statement "local_794 = (stat64 *)0x17112;" (assignment_expression "local_794 = (stat64 *)0x17112" (identifier "local_794") (= "=") (cast_expression "(stat64 *)0x17112" (( "(") (type_descriptor "stat64 *" (type_identifier "stat64") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x17112"))) (; ";")) (expression_statement "psVar38 = local_7d0;" (assignment_expression "psVar38 = local_7d0" (identifier "psVar38") (= "=") (identifier "local_7d0")) (; ";")) (expression_statement "uVar16 = uStack_7c4;" (assignment_expression "uVar16 = uStack_7c4" (identifier "uVar16") (= "=") (identifier "uStack_7c4")) (; ";")) (expression_statement "uVar7 = local_7c0;" (assignment_expression "uVar7 = local_7c0" (identifier "uVar7") (= "=") (identifier "local_7c0")) (; ";")) (goto_statement "goto code_r0x000114e8;" (goto "goto") (statement_identifier "code_r0x000114e8") (; ";"))) (case_statement "case 0x42:\n    uVar24 = func_0x00011320(*(undefined4 *)PTR_optarg_0001dffc);\n    if (7 < uVar24) {\n      pr2serr("bad first argument to \'--bmop=\'\n");\n      goto LAB_00011a7a;\n    }\n    uStack_7e8 = (undefined1)uVar24;\n    uVar36 = 0x2c;\n    uVar41 = uVar24;\n    pcVar15 = strchr(*(char **)puVar5,0x2c);\n    psVar38 = local_7d0;\n    uVar16 = uStack_7c4;\n    uVar7 = local_7c0;\n    if (pcVar15 != (char *)0x0) {\n      uVar7 = func_0x00011320(pcVar15 + 1,uVar36,uVar24,uVar41);\n      if (0xf < uVar7) {\n        pr2serr("bad second argument to \'--bmop=\'\n");\n        goto LAB_00011a7a;\n      }\n      uStack_7e7 = (undefined1)uVar7;\n      psVar38 = local_7d0;\n      uVar16 = uStack_7c4;\n      uVar7 = local_7c0;\n    }\n    goto code_r0x000114e8;" (case "case") (number_literal "0x42") (: ":") (expression_statement "uVar24 = func_0x00011320(*(undefined4 *)PTR_optarg_0001dffc);" (assignment_expression "uVar24 = func_0x00011320(*(undefined4 *)PTR_optarg_0001dffc)" (identifier "uVar24") (= "=") (call_expression "func_0x00011320(*(undefined4 *)PTR_optarg_0001dffc)" (identifier "func_0x00011320") (argument_list "(*(undefined4 *)PTR_optarg_0001dffc)" (( "(") (pointer_expression "*(undefined4 *)PTR_optarg_0001dffc" (* "*") (cast_expression "(undefined4 *)PTR_optarg_0001dffc" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_optarg_0001dffc"))) () ")")))) (; ";")) (if_statement "if (7 < uVar24) {\n      pr2serr("bad first argument to \'--bmop=\'\n");\n      goto LAB_00011a7a;\n    }" (if "if") (parenthesized_expression "(7 < uVar24)" (( "(") (binary_expression "7 < uVar24" (number_literal "7") (< "<") (identifier "uVar24")) () ")")) (compound_statement "{\n      pr2serr("bad first argument to \'--bmop=\'\n");\n      goto LAB_00011a7a;\n    }" ({ "{") (expression_statement "pr2serr("bad first argument to \'--bmop=\'\n");" (call_expression "pr2serr("bad first argument to \'--bmop=\'\n")" (identifier "pr2serr") (argument_list "("bad first argument to \'--bmop=\'\n")" (( "(") (string_literal ""bad first argument to \'--bmop=\'\n"" (" """) (string_content "bad first argument to ") (escape_sequence "\'") (string_content "--bmop=") (escape_sequence "\'") (escape_sequence "\n") (" """)) () ")"))) (; ";")) (goto_statement "goto LAB_00011a7a;" (goto "goto") (statement_identifier "LAB_00011a7a") (; ";")) (} "}"))) (expression_statement "uStack_7e8 = (undefined1)uVar24;" (assignment_expression "uStack_7e8 = (undefined1)uVar24" (identifier "uStack_7e8") (= "=") (cast_expression "(undefined1)uVar24" (( "(") (type_descriptor "undefined1" (type_identifier "undefined1")) () ")") (identifier "uVar24"))) (; ";")) (expression_statement "uVar36 = 0x2c;" (assignment_expression "uVar36 = 0x2c" (identifier "uVar36") (= "=") (number_literal "0x2c")) (; ";")) (expression_statement "uVar41 = uVar24;" (assignment_expression "uVar41 = uVar24" (identifier "uVar41") (= "=") (identifier "uVar24")) (; ";")) (expression_statement "pcVar15 = strchr(*(char **)puVar5,0x2c);" (assignment_expression "pcVar15 = strchr(*(char **)puVar5,0x2c)" (identifier "pcVar15") (= "=") (call_expression "strchr(*(char **)puVar5,0x2c)" (identifier "strchr") (argument_list "(*(char **)puVar5,0x2c)" (( "(") (pointer_expression "*(char **)puVar5" (* "*") (cast_expression "(char **)puVar5" (( "(") (type_descriptor "char **" (primitive_type "char") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (identifier "puVar5"))) (, ",") (number_literal "0x2c") () ")")))) (; ";")) (expression_statement "psVar38 = local_7d0;" (assignment_expression "psVar38 = local_7d0" (identifier "psVar38") (= "=") (identifier "local_7d0")) (; ";")) (expression_statement "uVar16 = uStack_7c4;" (assignment_expression "uVar16 = uStack_7c4" (identifier "uVar16") (= "=") (identifier "uStack_7c4")) (; ";")) (expression_statement "uVar7 = local_7c0;" (assignment_expression "uVar7 = local_7c0" (identifier "uVar7") (= "=") (identifier "local_7c0")) (; ";")) (if_statement "if (pcVar15 != (char *)0x0) {\n      uVar7 = func_0x00011320(pcVar15 + 1,uVar36,uVar24,uVar41);\n      if (0xf < uVar7) {\n        pr2serr("bad second argument to \'--bmop=\'\n");\n        goto LAB_00011a7a;\n      }\n      uStack_7e7 = (undefined1)uVar7;\n      psVar38 = local_7d0;\n      uVar16 = uStack_7c4;\n      uVar7 = local_7c0;\n    }" (if "if") (parenthesized_expression "(pcVar15 != (char *)0x0)" (( "(") (binary_expression "pcVar15 != (char *)0x0" (identifier "pcVar15") (!= "!=") (cast_expression "(char *)0x0" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n      uVar7 = func_0x00011320(pcVar15 + 1,uVar36,uVar24,uVar41);\n      if (0xf < uVar7) {\n        pr2serr("bad second argument to \'--bmop=\'\n");\n        goto LAB_00011a7a;\n      }\n      uStack_7e7 = (undefined1)uVar7;\n      psVar38 = local_7d0;\n      uVar16 = uStack_7c4;\n      uVar7 = local_7c0;\n    }" ({ "{") (expression_statement "uVar7 = func_0x00011320(pcVar15 + 1,uVar36,uVar24,uVar41);" (assignment_expression "uVar7 = func_0x00011320(pcVar15 + 1,uVar36,uVar24,uVar41)" (identifier "uVar7") (= "=") (call_expression "func_0x00011320(pcVar15 + 1,uVar36,uVar24,uVar41)" (identifier "func_0x00011320") (argument_list "(pcVar15 + 1,uVar36,uVar24,uVar41)" (( "(") (binary_expression "pcVar15 + 1" (identifier "pcVar15") (+ "+") (number_literal "1")) (, ",") (identifier "uVar36") (, ",") (identifier "uVar24") (, ",") (identifier "uVar41") () ")")))) (; ";")) (if_statement "if (0xf < uVar7) {\n        pr2serr("bad second argument to \'--bmop=\'\n");\n        goto LAB_00011a7a;\n      }" (if "if") (parenthesized_expression "(0xf < uVar7)" (( "(") (binary_expression "0xf < uVar7" (number_literal "0xf") (< "<") (identifier "uVar7")) () ")")) (compound_statement "{\n        pr2serr("bad second argument to \'--bmop=\'\n");\n        goto LAB_00011a7a;\n      }" ({ "{") (expression_statement "pr2serr("bad second argument to \'--bmop=\'\n");" (call_expression "pr2serr("bad second argument to \'--bmop=\'\n")" (identifier "pr2serr") (argument_list "("bad second argument to \'--bmop=\'\n")" (( "(") (string_literal ""bad second argument to \'--bmop=\'\n"" (" """) (string_content "bad second argument to ") (escape_sequence "\'") (string_content "--bmop=") (escape_sequence "\'") (escape_sequence "\n") (" """)) () ")"))) (; ";")) (goto_statement "goto LAB_00011a7a;" (goto "goto") (statement_identifier "LAB_00011a7a") (; ";")) (} "}"))) (expression_statement "uStack_7e7 = (undefined1)uVar7;" (assignment_expression "uStack_7e7 = (undefined1)uVar7" (identifier "uStack_7e7") (= "=") (cast_expression "(undefined1)uVar7" (( "(") (type_descriptor "undefined1" (type_identifier "undefined1")) () ")") (identifier "uVar7"))) (; ";")) (expression_statement "psVar38 = local_7d0;" (assignment_expression "psVar38 = local_7d0" (identifier "psVar38") (= "=") (identifier "local_7d0")) (; ";")) (expression_statement "uVar16 = uStack_7c4;" (assignment_expression "uVar16 = uStack_7c4" (identifier "uVar16") (= "=") (identifier "uStack_7c4")) (; ";")) (expression_statement "uVar7 = local_7c0;" (assignment_expression "uVar7 = local_7c0" (identifier "uVar7") (= "=") (identifier "local_7c0")) (; ";")) (} "}"))) (goto_statement "goto code_r0x000114e8;" (goto "goto") (statement_identifier "code_r0x000114e8") (; ";"))) (case_statement "case 0x44:\n    uStack_80c = func_0x00011320(*(undefined4 *)PTR_optarg_0001dffc);\n    psVar38 = local_7d0;\n    uVar16 = uStack_7c4;\n    uVar7 = local_7c0;\n    if (7 < uStack_80c) {\n      pr2serr("bad argument to \'--dld=\', expect 0 to 7 inclusive\n");\n      goto LAB_00011a7a;\n    }\n    goto code_r0x000114e8;" (case "case") (number_literal "0x44") (: ":") (expression_statement "uStack_80c = func_0x00011320(*(undefined4 *)PTR_optarg_0001dffc);" (assignment_expression "uStack_80c = func_0x00011320(*(undefined4 *)PTR_optarg_0001dffc)" (identifier "uStack_80c") (= "=") (call_expression "func_0x00011320(*(undefined4 *)PTR_optarg_0001dffc)" (identifier "func_0x00011320") (argument_list "(*(undefined4 *)PTR_optarg_0001dffc)" (( "(") (pointer_expression "*(undefined4 *)PTR_optarg_0001dffc" (* "*") (cast_expression "(undefined4 *)PTR_optarg_0001dffc" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_optarg_0001dffc"))) () ")")))) (; ";")) (expression_statement "psVar38 = local_7d0;" (assignment_expression "psVar38 = local_7d0" (identifier "psVar38") (= "=") (identifier "local_7d0")) (; ";")) (expression_statement "uVar16 = uStack_7c4;" (assignment_expression "uVar16 = uStack_7c4" (identifier "uVar16") (= "=") (identifier "uStack_7c4")) (; ";")) (expression_statement "uVar7 = local_7c0;" (assignment_expression "uVar7 = local_7c0" (identifier "uVar7") (= "=") (identifier "local_7c0")) (; ";")) (if_statement "if (7 < uStack_80c) {\n      pr2serr("bad argument to \'--dld=\', expect 0 to 7 inclusive\n");\n      goto LAB_00011a7a;\n    }" (if "if") (parenthesized_expression "(7 < uStack_80c)" (( "(") (binary_expression "7 < uStack_80c" (number_literal "7") (< "<") (identifier "uStack_80c")) () ")")) (compound_statement "{\n      pr2serr("bad argument to \'--dld=\', expect 0 to 7 inclusive\n");\n      goto LAB_00011a7a;\n    }" ({ "{") (expression_statement "pr2serr("bad argument to \'--dld=\', expect 0 to 7 inclusive\n");" (call_expression "pr2serr("bad argument to \'--dld=\', expect 0 to 7 inclusive\n")" (identifier "pr2serr") (argument_list "("bad argument to \'--dld=\', expect 0 to 7 inclusive\n")" (( "(") (string_literal ""bad argument to \'--dld=\', expect 0 to 7 inclusive\n"" (" """) (string_content "bad argument to ") (escape_sequence "\'") (string_content "--dld=") (escape_sequence "\'") (string_content ", expect 0 to 7 inclusive") (escape_sequence "\n") (" """)) () ")"))) (; ";")) (goto_statement "goto LAB_00011a7a;" (goto "goto") (statement_identifier "LAB_00011a7a") (; ";")) (} "}"))) (goto_statement "goto code_r0x000114e8;" (goto "goto") (statement_identifier "code_r0x000114e8") (; ";"))) (case_statement "case 0x47:\n    uVar33 = sg_get_llnum(*(undefined4 *)PTR_optarg_0001dffc);\n    uVar36 = (undefined4)uVar33;\n    if ((int)((ulonglong)uVar33 >> 0x20) != 0) {\n      pr2serr("bad first argument to \'--generation=\'\n");\n      goto LAB_00011a7a;\n    }\n    uVar37 = 0x2c;\n    uVar40 = uVar36;\n    uStack_7c8 = uVar36;\n    pcVar15 = strchr(*(char **)puVar5,0x2c);\n    if (pcVar15 == (char *)0x0) {\n      pr2serr("need two arguments with --generation=EOG,NOG and they must be comma separated\n",\n              uVar37,uVar36,uVar40);\n      goto LAB_00011a7a;\n    }\n    uVar33 = sg_get_llnum(pcVar15 + 1);\n    psVar38 = local_7d0;\n    uVar16 = (int)uVar33;\n    uVar7 = local_7c0;\n    if ((int)((ulonglong)uVar33 >> 0x20) != 0) {\n      pr2serr("bad second argument to \'--generation=\'\n",uVar37,uVar36,uVar40);\n      goto LAB_00011a7a;\n    }\n    goto code_r0x000114e8;" (case "case") (number_literal "0x47") (: ":") (expression_statement "uVar33 = sg_get_llnum(*(undefined4 *)PTR_optarg_0001dffc);" (assignment_expression "uVar33 = sg_get_llnum(*(undefined4 *)PTR_optarg_0001dffc)" (identifier "uVar33") (= "=") (call_expression "sg_get_llnum(*(undefined4 *)PTR_optarg_0001dffc)" (identifier "sg_get_llnum") (argument_list "(*(undefined4 *)PTR_optarg_0001dffc)" (( "(") (pointer_expression "*(undefined4 *)PTR_optarg_0001dffc" (* "*") (cast_expression "(undefined4 *)PTR_optarg_0001dffc" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_optarg_0001dffc"))) () ")")))) (; ";")) (expression_statement "uVar36 = (undefined4)uVar33;" (assignment_expression "uVar36 = (undefined4)uVar33" (identifier "uVar36") (= "=") (cast_expression "(undefined4)uVar33" (( "(") (type_descriptor "undefined4" (type_identifier "undefined4")) () ")") (identifier "uVar33"))) (; ";")) (if_statement "if ((int)((ulonglong)uVar33 >> 0x20) != 0) {\n      pr2serr("bad first argument to \'--generation=\'\n");\n      goto LAB_00011a7a;\n    }" (if "if") (parenthesized_expression "((int)((ulonglong)uVar33 >> 0x20) != 0)" (( "(") (binary_expression "(int)((ulonglong)uVar33 >> 0x20) != 0" (cast_expression "(int)((ulonglong)uVar33 >> 0x20)" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (parenthesized_expression "((ulonglong)uVar33 >> 0x20)" (( "(") (binary_expression "(ulonglong)uVar33 >> 0x20" (cast_expression "(ulonglong)uVar33" (( "(") (type_descriptor "ulonglong" (type_identifier "ulonglong")) () ")") (identifier "uVar33")) (>> ">>") (number_literal "0x20")) () ")"))) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n      pr2serr("bad first argument to \'--generation=\'\n");\n      goto LAB_00011a7a;\n    }" ({ "{") (expression_statement "pr2serr("bad first argument to \'--generation=\'\n");" (call_expression "pr2serr("bad first argument to \'--generation=\'\n")" (identifier "pr2serr") (argument_list "("bad first argument to \'--generation=\'\n")" (( "(") (string_literal ""bad first argument to \'--generation=\'\n"" (" """) (string_content "bad first argument to ") (escape_sequence "\'") (string_content "--generation=") (escape_sequence "\'") (escape_sequence "\n") (" """)) () ")"))) (; ";")) (goto_statement "goto LAB_00011a7a;" (goto "goto") (statement_identifier "LAB_00011a7a") (; ";")) (} "}"))) (expression_statement "uVar37 = 0x2c;" (assignment_expression "uVar37 = 0x2c" (identifier "uVar37") (= "=") (number_literal "0x2c")) (; ";")) (expression_statement "uVar40 = uVar36;" (assignment_expression "uVar40 = uVar36" (identifier "uVar40") (= "=") (identifier "uVar36")) (; ";")) (expression_statement "uStack_7c8 = uVar36;" (assignment_expression "uStack_7c8 = uVar36" (identifier "uStack_7c8") (= "=") (identifier "uVar36")) (; ";")) (expression_statement "pcVar15 = strchr(*(char **)puVar5,0x2c);" (assignment_expression "pcVar15 = strchr(*(char **)puVar5,0x2c)" (identifier "pcVar15") (= "=") (call_expression "strchr(*(char **)puVar5,0x2c)" (identifier "strchr") (argument_list "(*(char **)puVar5,0x2c)" (( "(") (pointer_expression "*(char **)puVar5" (* "*") (cast_expression "(char **)puVar5" (( "(") (type_descriptor "char **" (primitive_type "char") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (identifier "puVar5"))) (, ",") (number_literal "0x2c") () ")")))) (; ";")) (if_statement "if (pcVar15 == (char *)0x0) {\n      pr2serr("need two arguments with --generation=EOG,NOG and they must be comma separated\n",\n              uVar37,uVar36,uVar40);\n      goto LAB_00011a7a;\n    }" (if "if") (parenthesized_expression "(pcVar15 == (char *)0x0)" (( "(") (binary_expression "pcVar15 == (char *)0x0" (identifier "pcVar15") (== "==") (cast_expression "(char *)0x0" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n      pr2serr("need two arguments with --generation=EOG,NOG and they must be comma separated\n",\n              uVar37,uVar36,uVar40);\n      goto LAB_00011a7a;\n    }" ({ "{") (expression_statement "pr2serr("need two arguments with --generation=EOG,NOG and they must be comma separated\n",\n              uVar37,uVar36,uVar40);" (call_expression "pr2serr("need two arguments with --generation=EOG,NOG and they must be comma separated\n",\n              uVar37,uVar36,uVar40)" (identifier "pr2serr") (argument_list "("need two arguments with --generation=EOG,NOG and they must be comma separated\n",\n              uVar37,uVar36,uVar40)" (( "(") (string_literal ""need two arguments with --generation=EOG,NOG and they must be comma separated\n"" (" """) (string_content "need two arguments with --generation=EOG,NOG and they must be comma separated") (escape_sequence "\n") (" """)) (, ",") (identifier "uVar37") (, ",") (identifier "uVar36") (, ",") (identifier "uVar40") () ")"))) (; ";")) (goto_statement "goto LAB_00011a7a;" (goto "goto") (statement_identifier "LAB_00011a7a") (; ";")) (} "}"))) (expression_statement "uVar33 = sg_get_llnum(pcVar15 + 1);" (assignment_expression "uVar33 = sg_get_llnum(pcVar15 + 1)" (identifier "uVar33") (= "=") (call_expression "sg_get_llnum(pcVar15 + 1)" (identifier "sg_get_llnum") (argument_list "(pcVar15 + 1)" (( "(") (binary_expression "pcVar15 + 1" (identifier "pcVar15") (+ "+") (number_literal "1")) () ")")))) (; ";")) (expression_statement "psVar38 = local_7d0;" (assignment_expression "psVar38 = local_7d0" (identifier "psVar38") (= "=") (identifier "local_7d0")) (; ";")) (expression_statement "uVar16 = (int)uVar33;" (assignment_expression "uVar16 = (int)uVar33" (identifier "uVar16") (= "=") (cast_expression "(int)uVar33" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "uVar33"))) (; ";")) (expression_statement "uVar7 = local_7c0;" (assignment_expression "uVar7 = local_7c0" (identifier "uVar7") (= "=") (identifier "local_7c0")) (; ";")) (if_statement "if ((int)((ulonglong)uVar33 >> 0x20) != 0) {\n      pr2serr("bad second argument to \'--generation=\'\n",uVar37,uVar36,uVar40);\n      goto LAB_00011a7a;\n    }" (if "if") (parenthesized_expression "((int)((ulonglong)uVar33 >> 0x20) != 0)" (( "(") (binary_expression "(int)((ulonglong)uVar33 >> 0x20) != 0" (cast_expression "(int)((ulonglong)uVar33 >> 0x20)" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (parenthesized_expression "((ulonglong)uVar33 >> 0x20)" (( "(") (binary_expression "(ulonglong)uVar33 >> 0x20" (cast_expression "(ulonglong)uVar33" (( "(") (type_descriptor "ulonglong" (type_identifier "ulonglong")) () ")") (identifier "uVar33")) (>> ">>") (number_literal "0x20")) () ")"))) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n      pr2serr("bad second argument to \'--generation=\'\n",uVar37,uVar36,uVar40);\n      goto LAB_00011a7a;\n    }" ({ "{") (expression_statement "pr2serr("bad second argument to \'--generation=\'\n",uVar37,uVar36,uVar40);" (call_expression "pr2serr("bad second argument to \'--generation=\'\n",uVar37,uVar36,uVar40)" (identifier "pr2serr") (argument_list "("bad second argument to \'--generation=\'\n",uVar37,uVar36,uVar40)" (( "(") (string_literal ""bad second argument to \'--generation=\'\n"" (" """) (string_content "bad second argument to ") (escape_sequence "\'") (string_content "--generation=") (escape_sequence "\'") (escape_sequence "\n") (" """)) (, ",") (identifier "uVar37") (, ",") (identifier "uVar36") (, ",") (identifier "uVar40") () ")"))) (; ";")) (goto_statement "goto LAB_00011a7a;" (goto "goto") (statement_identifier "LAB_00011a7a") (; ";")) (} "}"))) (goto_statement "goto code_r0x000114e8;" (goto "goto") (statement_identifier "code_r0x000114e8") (; ";"))) (case_statement "case 0x49:\n    local_7f4 = func_0x00011320(*(undefined4 *)PTR_optarg_0001dffc);\n    psVar38 = local_7d0;\n    uVar16 = uStack_7c4;\n    uVar7 = local_7c0;\n    if (local_7f4 < 0) {\n      pr2serr("bad argument to \'--timeout=\'\n");\n      goto LAB_00011a7a;\n    }\n    goto code_r0x000114e8;" (case "case") (number_literal "0x49") (: ":") (expression_statement "local_7f4 = func_0x00011320(*(undefined4 *)PTR_optarg_0001dffc);" (assignment_expression "local_7f4 = func_0x00011320(*(undefined4 *)PTR_optarg_0001dffc)" (identifier "local_7f4") (= "=") (call_expression "func_0x00011320(*(undefined4 *)PTR_optarg_0001dffc)" (identifier "func_0x00011320") (argument_list "(*(undefined4 *)PTR_optarg_0001dffc)" (( "(") (pointer_expression "*(undefined4 *)PTR_optarg_0001dffc" (* "*") (cast_expression "(undefined4 *)PTR_optarg_0001dffc" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_optarg_0001dffc"))) () ")")))) (; ";")) (expression_statement "psVar38 = local_7d0;" (assignment_expression "psVar38 = local_7d0" (identifier "psVar38") (= "=") (identifier "local_7d0")) (; ";")) (expression_statement "uVar16 = uStack_7c4;" (assignment_expression "uVar16 = uStack_7c4" (identifier "uVar16") (= "=") (identifier "uStack_7c4")) (; ";")) (expression_statement "uVar7 = local_7c0;" (assignment_expression "uVar7 = local_7c0" (identifier "uVar7") (= "=") (identifier "local_7c0")) (; ";")) (if_statement "if (local_7f4 < 0) {\n      pr2serr("bad argument to \'--timeout=\'\n");\n      goto LAB_00011a7a;\n    }" (if "if") (parenthesized_expression "(local_7f4 < 0)" (( "(") (binary_expression "local_7f4 < 0" (identifier "local_7f4") (< "<") (number_literal "0")) () ")")) (compound_statement "{\n      pr2serr("bad argument to \'--timeout=\'\n");\n      goto LAB_00011a7a;\n    }" ({ "{") (expression_statement "pr2serr("bad argument to \'--timeout=\'\n");" (call_expression "pr2serr("bad argument to \'--timeout=\'\n")" (identifier "pr2serr") (argument_list "("bad argument to \'--timeout=\'\n")" (( "(") (string_literal ""bad argument to \'--timeout=\'\n"" (" """) (string_content "bad argument to ") (escape_sequence "\'") (string_content "--timeout=") (escape_sequence "\'") (escape_sequence "\n") (" """)) () ")"))) (; ";")) (goto_statement "goto LAB_00011a7a;" (goto "goto") (statement_identifier "LAB_00011a7a") (; ";")) (} "}"))) (goto_statement "goto code_r0x000114e8;" (goto "goto") (statement_identifier "code_r0x000114e8") (; ";"))) (case_statement "case 0x4d:\n    uVar7 = func_0x00011320(*(undefined4 *)PTR_optarg_0001dffc);\n    if (1 < uVar7) {\n      pr2serr("bad argument to \'--same\', expect 0 or 1\n");\n      goto LAB_00011a7a;\n    }\n    local_810 = (byte)uVar7 & 1;\n    local_818 = 1;\n    local_794 = (stat64 *)0x17159;\n    psVar38 = local_7d0;\n    uVar16 = uStack_7c4;\n    uVar7 = local_7c0;\n    goto code_r0x000114e8;" (case "case") (number_literal "0x4d") (: ":") (expression_statement "uVar7 = func_0x00011320(*(undefined4 *)PTR_optarg_0001dffc);" (assignment_expression "uVar7 = func_0x00011320(*(undefined4 *)PTR_optarg_0001dffc)" (identifier "uVar7") (= "=") (call_expression "func_0x00011320(*(undefined4 *)PTR_optarg_0001dffc)" (identifier "func_0x00011320") (argument_list "(*(undefined4 *)PTR_optarg_0001dffc)" (( "(") (pointer_expression "*(undefined4 *)PTR_optarg_0001dffc" (* "*") (cast_expression "(undefined4 *)PTR_optarg_0001dffc" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_optarg_0001dffc"))) () ")")))) (; ";")) (if_statement "if (1 < uVar7) {\n      pr2serr("bad argument to \'--same\', expect 0 or 1\n");\n      goto LAB_00011a7a;\n    }" (if "if") (parenthesized_expression "(1 < uVar7)" (( "(") (binary_expression "1 < uVar7" (number_literal "1") (< "<") (identifier "uVar7")) () ")")) (compound_statement "{\n      pr2serr("bad argument to \'--same\', expect 0 or 1\n");\n      goto LAB_00011a7a;\n    }" ({ "{") (expression_statement "pr2serr("bad argument to \'--same\', expect 0 or 1\n");" (call_expression "pr2serr("bad argument to \'--same\', expect 0 or 1\n")" (identifier "pr2serr") (argument_list "("bad argument to \'--same\', expect 0 or 1\n")" (( "(") (string_literal ""bad argument to \'--same\', expect 0 or 1\n"" (" """) (string_content "bad argument to ") (escape_sequence "\'") (string_content "--same") (escape_sequence "\'") (string_content ", expect 0 or 1") (escape_sequence "\n") (" """)) () ")"))) (; ";")) (goto_statement "goto LAB_00011a7a;" (goto "goto") (statement_identifier "LAB_00011a7a") (; ";")) (} "}"))) (expression_statement "local_810 = (byte)uVar7 & 1;" (assignment_expression "local_810 = (byte)uVar7 & 1" (identifier "local_810") (= "=") (binary_expression "(byte)uVar7 & 1" (cast_expression "(byte)uVar7" (( "(") (type_descriptor "byte" (type_identifier "byte")) () ")") (identifier "uVar7")) (& "&") (number_literal "1"))) (; ";")) (expression_statement "local_818 = 1;" (assignment_expression "local_818 = 1" (identifier "local_818") (= "=") (number_literal "1")) (; ";")) (expression_statement "local_794 = (stat64 *)0x17159;" (assignment_expression "local_794 = (stat64 *)0x17159" (identifier "local_794") (= "=") (cast_expression "(stat64 *)0x17159" (( "(") (type_descriptor "stat64 *" (type_identifier "stat64") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x17159"))) (; ";")) (expression_statement "psVar38 = local_7d0;" (assignment_expression "psVar38 = local_7d0" (identifier "psVar38") (= "=") (identifier "local_7d0")) (; ";")) (expression_statement "uVar16 = uStack_7c4;" (assignment_expression "uVar16 = uStack_7c4" (identifier "uVar16") (= "=") (identifier "uStack_7c4")) (; ";")) (expression_statement "uVar7 = local_7c0;" (assignment_expression "uVar7 = local_7c0" (identifier "uVar7") (= "=") (identifier "local_7c0")) (; ";")) (goto_statement "goto code_r0x000114e8;" (goto "goto") (statement_identifier "code_r0x000114e8") (; ";"))) (case_statement "case 0x4e:\n    local_814 = 1;\n    local_794 = (stat64 *)0x17164;\n    goto code_r0x000114e8;" (case "case") (number_literal "0x4e") (: ":") (expression_statement "local_814 = 1;" (assignment_expression "local_814 = 1" (identifier "local_814") (= "=") (number_literal "1")) (; ";")) (expression_statement "local_794 = (stat64 *)0x17164;" (assignment_expression "local_794 = (stat64 *)0x17164" (identifier "local_794") (= "=") (cast_expression "(stat64 *)0x17164" (( "(") (type_descriptor "stat64 *" (type_identifier "stat64") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x17164"))) (; ";")) (goto_statement "goto code_r0x000114e8;" (goto "goto") (statement_identifier "code_r0x000114e8") (; ";"))) (case_statement "case 0x4f:\n    local_81b = 1;\n    local_794 = (stat64 *)0x1716a;\n    goto code_r0x000114e8;" (case "case") (number_literal "0x4f") (: ":") (expression_statement "local_81b = 1;" (assignment_expression "local_81b = 1" (identifier "local_81b") (= "=") (number_literal "1")) (; ";")) (expression_statement "local_794 = (stat64 *)0x1716a;" (assignment_expression "local_794 = (stat64 *)0x1716a" (identifier "local_794") (= "=") (cast_expression "(stat64 *)0x1716a" (( "(") (type_descriptor "stat64 *" (type_identifier "stat64") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x1716a"))) (; ";")) (goto_statement "goto code_r0x000114e8;" (goto "goto") (statement_identifier "code_r0x000114e8") (; ";"))) (case_statement "case 0x51:\n    local_81a = '\x01';\n    goto code_r0x000114e8;" (case "case") (number_literal "0x51") (: ":") (expression_statement "local_81a = '\x01';" (assignment_expression "local_81a = '\x01'" (identifier "local_81a") (= "=") (char_literal "'\x01'" (' "'") (escape_sequence "\x01") (' "'"))) (; ";")) (goto_statement "goto code_r0x000114e8;" (goto "goto") (statement_identifier "code_r0x000114e8") (; ";"))) (case_statement "case 0x52:\n    local_819 = '\x01';\n    goto code_r0x000114e8;" (case "case") (number_literal "0x52") (: ":") (expression_statement "local_819 = '\x01';" (assignment_expression "local_819 = '\x01'" (identifier "local_819") (= "=") (char_literal "'\x01'" (' "'") (escape_sequence "\x01") (' "'"))) (; ";")) (goto_statement "goto code_r0x000114e8;" (goto "goto") (statement_identifier "code_r0x000114e8") (; ";"))) (case_statement "case 0x53:\n    uVar7 = func_0x00011320(*(undefined4 *)PTR_optarg_0001dffc);\n    if (0xffff < uVar7) {\n      pr2serr("bad argument to \'--scattered=\'. Expect 0 to 0xffff inclusive\n");\n      goto LAB_00011a7a;\n    }\n    local_7e0 = (ushort)uVar7;\n    local_794 = (stat64 *)0x17172;\n    local_817 = 1;\n    psVar38 = local_7d0;\n    uVar16 = uStack_7c4;\n    uVar7 = local_7c0;\n    goto code_r0x000114e8;" (case "case") (number_literal "0x53") (: ":") (expression_statement "uVar7 = func_0x00011320(*(undefined4 *)PTR_optarg_0001dffc);" (assignment_expression "uVar7 = func_0x00011320(*(undefined4 *)PTR_optarg_0001dffc)" (identifier "uVar7") (= "=") (call_expression "func_0x00011320(*(undefined4 *)PTR_optarg_0001dffc)" (identifier "func_0x00011320") (argument_list "(*(undefined4 *)PTR_optarg_0001dffc)" (( "(") (pointer_expression "*(undefined4 *)PTR_optarg_0001dffc" (* "*") (cast_expression "(undefined4 *)PTR_optarg_0001dffc" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_optarg_0001dffc"))) () ")")))) (; ";")) (if_statement "if (0xffff < uVar7) {\n      pr2serr("bad argument to \'--scattered=\'. Expect 0 to 0xffff inclusive\n");\n      goto LAB_00011a7a;\n    }" (if "if") (parenthesized_expression "(0xffff < uVar7)" (( "(") (binary_expression "0xffff < uVar7" (number_literal "0xffff") (< "<") (identifier "uVar7")) () ")")) (compound_statement "{\n      pr2serr("bad argument to \'--scattered=\'. Expect 0 to 0xffff inclusive\n");\n      goto LAB_00011a7a;\n    }" ({ "{") (expression_statement "pr2serr("bad argument to \'--scattered=\'. Expect 0 to 0xffff inclusive\n");" (call_expression "pr2serr("bad argument to \'--scattered=\'. Expect 0 to 0xffff inclusive\n")" (identifier "pr2serr") (argument_list "("bad argument to \'--scattered=\'. Expect 0 to 0xffff inclusive\n")" (( "(") (string_literal ""bad argument to \'--scattered=\'. Expect 0 to 0xffff inclusive\n"" (" """) (string_content "bad argument to ") (escape_sequence "\'") (string_content "--scattered=") (escape_sequence "\'") (string_content ". Expect 0 to 0xffff inclusive") (escape_sequence "\n") (" """)) () ")"))) (; ";")) (goto_statement "goto LAB_00011a7a;" (goto "goto") (statement_identifier "LAB_00011a7a") (; ";")) (} "}"))) (expression_statement "local_7e0 = (ushort)uVar7;" (assignment_expression "local_7e0 = (ushort)uVar7" (identifier "local_7e0") (= "=") (cast_expression "(ushort)uVar7" (( "(") (type_descriptor "ushort" (type_identifier "ushort")) () ")") (identifier "uVar7"))) (; ";")) (expression_statement "local_794 = (stat64 *)0x17172;" (assignment_expression "local_794 = (stat64 *)0x17172" (identifier "local_794") (= "=") (cast_expression "(stat64 *)0x17172" (( "(") (type_descriptor "stat64 *" (type_identifier "stat64") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x17172"))) (; ";")) (expression_statement "local_817 = 1;" (assignment_expression "local_817 = 1" (identifier "local_817") (= "=") (number_literal "1")) (; ";")) (expression_statement "psVar38 = local_7d0;" (assignment_expression "psVar38 = local_7d0" (identifier "psVar38") (= "=") (identifier "local_7d0")) (; ";")) (expression_statement "uVar16 = uStack_7c4;" (assignment_expression "uVar16 = uStack_7c4" (identifier "uVar16") (= "=") (identifier "uStack_7c4")) (; ";")) (expression_statement "uVar7 = local_7c0;" (assignment_expression "uVar7 = local_7c0" (identifier "uVar7") (= "=") (identifier "local_7c0")) (; ";")) (goto_statement "goto code_r0x000114e8;" (goto "goto") (statement_identifier "code_r0x000114e8") (; ";"))) (case_statement "case 0x54:\n    uVar7 = func_0x00011320(*(undefined4 *)PTR_optarg_0001dffc);\n    if (0xffff < uVar7) {\n      pr2serr("bad argument to \'--stream=\', expect 0 to 65535\n");\n      goto LAB_00011a7a;\n    }\n    uStack_7de = (undefined2)uVar7;\n    local_794 = (stat64 *)0x17182;\n    local_816 = 1;\n    psVar38 = local_7d0;\n    uVar16 = uStack_7c4;\n    uVar7 = local_7c0;\n    goto code_r0x000114e8;" (case "case") (number_literal "0x54") (: ":") (expression_statement "uVar7 = func_0x00011320(*(undefined4 *)PTR_optarg_0001dffc);" (assignment_expression "uVar7 = func_0x00011320(*(undefined4 *)PTR_optarg_0001dffc)" (identifier "uVar7") (= "=") (call_expression "func_0x00011320(*(undefined4 *)PTR_optarg_0001dffc)" (identifier "func_0x00011320") (argument_list "(*(undefined4 *)PTR_optarg_0001dffc)" (( "(") (pointer_expression "*(undefined4 *)PTR_optarg_0001dffc" (* "*") (cast_expression "(undefined4 *)PTR_optarg_0001dffc" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_optarg_0001dffc"))) () ")")))) (; ";")) (if_statement "if (0xffff < uVar7) {\n      pr2serr("bad argument to \'--stream=\', expect 0 to 65535\n");\n      goto LAB_00011a7a;\n    }" (if "if") (parenthesized_expression "(0xffff < uVar7)" (( "(") (binary_expression "0xffff < uVar7" (number_literal "0xffff") (< "<") (identifier "uVar7")) () ")")) (compound_statement "{\n      pr2serr("bad argument to \'--stream=\', expect 0 to 65535\n");\n      goto LAB_00011a7a;\n    }" ({ "{") (expression_statement "pr2serr("bad argument to \'--stream=\', expect 0 to 65535\n");" (call_expression "pr2serr("bad argument to \'--stream=\', expect 0 to 65535\n")" (identifier "pr2serr") (argument_list "("bad argument to \'--stream=\', expect 0 to 65535\n")" (( "(") (string_literal ""bad argument to \'--stream=\', expect 0 to 65535\n"" (" """) (string_content "bad argument to ") (escape_sequence "\'") (string_content "--stream=") (escape_sequence "\'") (string_content ", expect 0 to 65535") (escape_sequence "\n") (" """)) () ")"))) (; ";")) (goto_statement "goto LAB_00011a7a;" (goto "goto") (statement_identifier "LAB_00011a7a") (; ";")) (} "}"))) (expression_statement "uStack_7de = (undefined2)uVar7;" (assignment_expression "uStack_7de = (undefined2)uVar7" (identifier "uStack_7de") (= "=") (cast_expression "(undefined2)uVar7" (( "(") (type_descriptor "undefined2" (type_identifier "undefined2")) () ")") (identifier "uVar7"))) (; ";")) (expression_statement "local_794 = (stat64 *)0x17182;" (assignment_expression "local_794 = (stat64 *)0x17182" (identifier "local_794") (= "=") (cast_expression "(stat64 *)0x17182" (( "(") (type_descriptor "stat64 *" (type_identifier "stat64") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x17182"))) (; ";")) (expression_statement "local_816 = 1;" (assignment_expression "local_816 = 1" (identifier "local_816") (= "=") (number_literal "1")) (; ";")) (expression_statement "psVar38 = local_7d0;" (assignment_expression "psVar38 = local_7d0" (identifier "psVar38") (= "=") (identifier "local_7d0")) (; ";")) (expression_statement "uVar16 = uStack_7c4;" (assignment_expression "uVar16 = uStack_7c4" (identifier "uVar16") (= "=") (identifier "uStack_7c4")) (; ";")) (expression_statement "uVar7 = local_7c0;" (assignment_expression "uVar7 = local_7c0" (identifier "uVar7") (= "=") (identifier "local_7c0")) (; ";")) (goto_statement "goto code_r0x000114e8;" (goto "goto") (statement_identifier "code_r0x000114e8") (; ";"))) (case_statement "case 0x56:\n    local_80e = '\x01';\n    goto code_r0x000114e8;" (case "case") (number_literal "0x56") (: ":") (expression_statement "local_80e = '\x01';" (assignment_expression "local_80e = '\x01'" (identifier "local_80e") (= "=") (char_literal "'\x01'" (' "'") (escape_sequence "\x01") (' "'"))) (; ";")) (goto_statement "goto code_r0x000114e8;" (goto "goto") (statement_identifier "code_r0x000114e8") (; ";"))) (case_statement "case 0x61:\n    uVar7 = func_0x00011320(*(undefined4 *)PTR_optarg_0001dffc);\n    if (0xffff < uVar7) {\n      pr2serr("bad argument to \'--app-tag=\'. Expect 0 to 0xffff inclusive\n");\n      goto LAB_00011a7a;\n    }\n    local_7e6 = (ushort)uVar7;\n    psVar38 = local_7d0;\n    uVar16 = uStack_7c4;\n    uVar7 = local_7c0;\n    goto code_r0x000114e8;" (case "case") (number_literal "0x61") (: ":") (expression_statement "uVar7 = func_0x00011320(*(undefined4 *)PTR_optarg_0001dffc);" (assignment_expression "uVar7 = func_0x00011320(*(undefined4 *)PTR_optarg_0001dffc)" (identifier "uVar7") (= "=") (call_expression "func_0x00011320(*(undefined4 *)PTR_optarg_0001dffc)" (identifier "func_0x00011320") (argument_list "(*(undefined4 *)PTR_optarg_0001dffc)" (( "(") (pointer_expression "*(undefined4 *)PTR_optarg_0001dffc" (* "*") (cast_expression "(undefined4 *)PTR_optarg_0001dffc" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_optarg_0001dffc"))) () ")")))) (; ";")) (if_statement "if (0xffff < uVar7) {\n      pr2serr("bad argument to \'--app-tag=\'. Expect 0 to 0xffff inclusive\n");\n      goto LAB_00011a7a;\n    }" (if "if") (parenthesized_expression "(0xffff < uVar7)" (( "(") (binary_expression "0xffff < uVar7" (number_literal "0xffff") (< "<") (identifier "uVar7")) () ")")) (compound_statement "{\n      pr2serr("bad argument to \'--app-tag=\'. Expect 0 to 0xffff inclusive\n");\n      goto LAB_00011a7a;\n    }" ({ "{") (expression_statement "pr2serr("bad argument to \'--app-tag=\'. Expect 0 to 0xffff inclusive\n");" (call_expression "pr2serr("bad argument to \'--app-tag=\'. Expect 0 to 0xffff inclusive\n")" (identifier "pr2serr") (argument_list "("bad argument to \'--app-tag=\'. Expect 0 to 0xffff inclusive\n")" (( "(") (string_literal ""bad argument to \'--app-tag=\'. Expect 0 to 0xffff inclusive\n"" (" """) (string_content "bad argument to ") (escape_sequence "\'") (string_content "--app-tag=") (escape_sequence "\'") (string_content ". Expect 0 to 0xffff inclusive") (escape_sequence "\n") (" """)) () ")"))) (; ";")) (goto_statement "goto LAB_00011a7a;" (goto "goto") (statement_identifier "LAB_00011a7a") (; ";")) (} "}"))) (expression_statement "local_7e6 = (ushort)uVar7;" (assignment_expression "local_7e6 = (ushort)uVar7" (identifier "local_7e6") (= "=") (cast_expression "(ushort)uVar7" (( "(") (type_descriptor "ushort" (type_identifier "ushort")) () ")") (identifier "uVar7"))) (; ";")) (expression_statement "psVar38 = local_7d0;" (assignment_expression "psVar38 = local_7d0" (identifier "psVar38") (= "=") (identifier "local_7d0")) (; ";")) (expression_statement "uVar16 = uStack_7c4;" (assignment_expression "uVar16 = uStack_7c4" (identifier "uVar16") (= "=") (identifier "uStack_7c4")) (; ";")) (expression_statement "uVar7 = local_7c0;" (assignment_expression "uVar7 = local_7c0" (identifier "uVar7") (= "=") (identifier "local_7c0")) (; ";")) (goto_statement "goto code_r0x000114e8;" (goto "goto") (statement_identifier "code_r0x000114e8") (; ";"))) (case_statement "case 0x62:\n    psVar17 = (stat64 *)func_0x00011320(*(undefined4 *)PTR_optarg_0001dffc);\n    if ((stat64 *)0x10000000 < psVar17) {\n      pr2serr("bad argument to \'--bs=\'. Expect 0 or greater\n");\n      goto LAB_00011a7a;\n    }\n    if (psVar17 == (stat64 *)0x0) {\n      local_7d8 = (stat64 *)0x0;\n      local_7d4 = (stat64 *)0x0;\n      psVar38 = local_7d0;\n      uVar16 = uStack_7c4;\n      uVar7 = local_7c0;\n    }\n    else {\n      if ((int)psVar17 < 0x200) {\n        pr2serr("warning: --bs=BS value is < 512 which seems too small, continue\n");\n        bVar1 = 1;\n      }\n      if (((uint)psVar17 & 7) != 0) {\n        pr2serr("warning: --bs=BS value is not a multiple of 8, unexpected, continue\n");\n        bVar1 = 1;\n      }\n      iVar21 = 0;\n      iVar10 = 0;\n      psVar38 = psVar17;\n      do {\n        if (((uint)psVar38 & 1) != 0) {\n          iVar21 = iVar10;\n        }\n        iVar10 = iVar10 + 1;\n        psVar38 = (stat64 *)((int)psVar38 >> 1);\n      } while (iVar10 != 0x1c);\n      psVar22 = (stat64 *)(1 << ((byte)iVar21 & 0x1f));\n      local_7d8 = psVar17;\n      local_7d4 = psVar17;\n      psVar38 = local_7d0;\n      uVar16 = uStack_7c4;\n      uVar7 = local_7c0;\n      if (psVar17 != psVar22) {\n        local_7d8 = psVar22;\n      }\n    }\n    goto code_r0x000114e8;" (case "case") (number_literal "0x62") (: ":") (expression_statement "psVar17 = (stat64 *)func_0x00011320(*(undefined4 *)PTR_optarg_0001dffc);" (assignment_expression "psVar17 = (stat64 *)func_0x00011320(*(undefined4 *)PTR_optarg_0001dffc)" (identifier "psVar17") (= "=") (cast_expression "(stat64 *)func_0x00011320(*(undefined4 *)PTR_optarg_0001dffc)" (( "(") (type_descriptor "stat64 *" (type_identifier "stat64") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "func_0x00011320(*(undefined4 *)PTR_optarg_0001dffc)" (identifier "func_0x00011320") (argument_list "(*(undefined4 *)PTR_optarg_0001dffc)" (( "(") (pointer_expression "*(undefined4 *)PTR_optarg_0001dffc" (* "*") (cast_expression "(undefined4 *)PTR_optarg_0001dffc" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_optarg_0001dffc"))) () ")"))))) (; ";")) (if_statement "if ((stat64 *)0x10000000 < psVar17) {\n      pr2serr("bad argument to \'--bs=\'. Expect 0 or greater\n");\n      goto LAB_00011a7a;\n    }" (if "if") (parenthesized_expression "((stat64 *)0x10000000 < psVar17)" (( "(") (binary_expression "(stat64 *)0x10000000 < psVar17" (cast_expression "(stat64 *)0x10000000" (( "(") (type_descriptor "stat64 *" (type_identifier "stat64") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x10000000")) (< "<") (identifier "psVar17")) () ")")) (compound_statement "{\n      pr2serr("bad argument to \'--bs=\'. Expect 0 or greater\n");\n      goto LAB_00011a7a;\n    }" ({ "{") (expression_statement "pr2serr("bad argument to \'--bs=\'. Expect 0 or greater\n");" (call_expression "pr2serr("bad argument to \'--bs=\'. Expect 0 or greater\n")" (identifier "pr2serr") (argument_list "("bad argument to \'--bs=\'. Expect 0 or greater\n")" (( "(") (string_literal ""bad argument to \'--bs=\'. Expect 0 or greater\n"" (" """) (string_content "bad argument to ") (escape_sequence "\'") (string_content "--bs=") (escape_sequence "\'") (string_content ". Expect 0 or greater") (escape_sequence "\n") (" """)) () ")"))) (; ";")) (goto_statement "goto LAB_00011a7a;" (goto "goto") (statement_identifier "LAB_00011a7a") (; ";")) (} "}"))) (if_statement "if (psVar17 == (stat64 *)0x0) {\n      local_7d8 = (stat64 *)0x0;\n      local_7d4 = (stat64 *)0x0;\n      psVar38 = local_7d0;\n      uVar16 = uStack_7c4;\n      uVar7 = local_7c0;\n    }\n    else {\n      if ((int)psVar17 < 0x200) {\n        pr2serr("warning: --bs=BS value is < 512 which seems too small, continue\n");\n        bVar1 = 1;\n      }\n      if (((uint)psVar17 & 7) != 0) {\n        pr2serr("warning: --bs=BS value is not a multiple of 8, unexpected, continue\n");\n        bVar1 = 1;\n      }\n      iVar21 = 0;\n      iVar10 = 0;\n      psVar38 = psVar17;\n      do {\n        if (((uint)psVar38 & 1) != 0) {\n          iVar21 = iVar10;\n        }\n        iVar10 = iVar10 + 1;\n        psVar38 = (stat64 *)((int)psVar38 >> 1);\n      } while (iVar10 != 0x1c);\n      psVar22 = (stat64 *)(1 << ((byte)iVar21 & 0x1f));\n      local_7d8 = psVar17;\n      local_7d4 = psVar17;\n      psVar38 = local_7d0;\n      uVar16 = uStack_7c4;\n      uVar7 = local_7c0;\n      if (psVar17 != psVar22) {\n        local_7d8 = psVar22;\n      }\n    }" (if "if") (parenthesized_expression "(psVar17 == (stat64 *)0x0)" (( "(") (binary_expression "psVar17 == (stat64 *)0x0" (identifier "psVar17") (== "==") (cast_expression "(stat64 *)0x0" (( "(") (type_descriptor "stat64 *" (type_identifier "stat64") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n      local_7d8 = (stat64 *)0x0;\n      local_7d4 = (stat64 *)0x0;\n      psVar38 = local_7d0;\n      uVar16 = uStack_7c4;\n      uVar7 = local_7c0;\n    }" ({ "{") (expression_statement "local_7d8 = (stat64 *)0x0;" (assignment_expression "local_7d8 = (stat64 *)0x0" (identifier "local_7d8") (= "=") (cast_expression "(stat64 *)0x0" (( "(") (type_descriptor "stat64 *" (type_identifier "stat64") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "local_7d4 = (stat64 *)0x0;" (assignment_expression "local_7d4 = (stat64 *)0x0" (identifier "local_7d4") (= "=") (cast_expression "(stat64 *)0x0" (( "(") (type_descriptor "stat64 *" (type_identifier "stat64") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "psVar38 = local_7d0;" (assignment_expression "psVar38 = local_7d0" (identifier "psVar38") (= "=") (identifier "local_7d0")) (; ";")) (expression_statement "uVar16 = uStack_7c4;" (assignment_expression "uVar16 = uStack_7c4" (identifier "uVar16") (= "=") (identifier "uStack_7c4")) (; ";")) (expression_statement "uVar7 = local_7c0;" (assignment_expression "uVar7 = local_7c0" (identifier "uVar7") (= "=") (identifier "local_7c0")) (; ";")) (} "}")) (else_clause "else {\n      if ((int)psVar17 < 0x200) {\n        pr2serr("warning: --bs=BS value is < 512 which seems too small, continue\n");\n        bVar1 = 1;\n      }\n      if (((uint)psVar17 & 7) != 0) {\n        pr2serr("warning: --bs=BS value is not a multiple of 8, unexpected, continue\n");\n        bVar1 = 1;\n      }\n      iVar21 = 0;\n      iVar10 = 0;\n      psVar38 = psVar17;\n      do {\n        if (((uint)psVar38 & 1) != 0) {\n          iVar21 = iVar10;\n        }\n        iVar10 = iVar10 + 1;\n        psVar38 = (stat64 *)((int)psVar38 >> 1);\n      } while (iVar10 != 0x1c);\n      psVar22 = (stat64 *)(1 << ((byte)iVar21 & 0x1f));\n      local_7d8 = psVar17;\n      local_7d4 = psVar17;\n      psVar38 = local_7d0;\n      uVar16 = uStack_7c4;\n      uVar7 = local_7c0;\n      if (psVar17 != psVar22) {\n        local_7d8 = psVar22;\n      }\n    }" (else "else") (compound_statement "{\n      if ((int)psVar17 < 0x200) {\n        pr2serr("warning: --bs=BS value is < 512 which seems too small, continue\n");\n        bVar1 = 1;\n      }\n      if (((uint)psVar17 & 7) != 0) {\n        pr2serr("warning: --bs=BS value is not a multiple of 8, unexpected, continue\n");\n        bVar1 = 1;\n      }\n      iVar21 = 0;\n      iVar10 = 0;\n      psVar38 = psVar17;\n      do {\n        if (((uint)psVar38 & 1) != 0) {\n          iVar21 = iVar10;\n        }\n        iVar10 = iVar10 + 1;\n        psVar38 = (stat64 *)((int)psVar38 >> 1);\n      } while (iVar10 != 0x1c);\n      psVar22 = (stat64 *)(1 << ((byte)iVar21 & 0x1f));\n      local_7d8 = psVar17;\n      local_7d4 = psVar17;\n      psVar38 = local_7d0;\n      uVar16 = uStack_7c4;\n      uVar7 = local_7c0;\n      if (psVar17 != psVar22) {\n        local_7d8 = psVar22;\n      }\n    }" ({ "{") (if_statement "if ((int)psVar17 < 0x200) {\n        pr2serr("warning: --bs=BS value is < 512 which seems too small, continue\n");\n        bVar1 = 1;\n      }" (if "if") (parenthesized_expression "((int)psVar17 < 0x200)" (( "(") (binary_expression "(int)psVar17 < 0x200" (cast_expression "(int)psVar17" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "psVar17")) (< "<") (number_literal "0x200")) () ")")) (compound_statement "{\n        pr2serr("warning: --bs=BS value is < 512 which seems too small, continue\n");\n        bVar1 = 1;\n      }" ({ "{") (expression_statement "pr2serr("warning: --bs=BS value is < 512 which seems too small, continue\n");" (call_expression "pr2serr("warning: --bs=BS value is < 512 which seems too small, continue\n")" (identifier "pr2serr") (argument_list "("warning: --bs=BS value is < 512 which seems too small, continue\n")" (( "(") (string_literal ""warning: --bs=BS value is < 512 which seems too small, continue\n"" (" """) (string_content "warning: --bs=BS value is < 512 which seems too small, continue") (escape_sequence "\n") (" """)) () ")"))) (; ";")) (expression_statement "bVar1 = 1;" (assignment_expression "bVar1 = 1" (identifier "bVar1") (= "=") (number_literal "1")) (; ";")) (} "}"))) (if_statement "if (((uint)psVar17 & 7) != 0) {\n        pr2serr("warning: --bs=BS value is not a multiple of 8, unexpected, continue\n");\n        bVar1 = 1;\n      }" (if "if") (parenthesized_expression "(((uint)psVar17 & 7) != 0)" (( "(") (binary_expression "((uint)psVar17 & 7) != 0" (parenthesized_expression "((uint)psVar17 & 7)" (( "(") (binary_expression "(uint)psVar17 & 7" (cast_expression "(uint)psVar17" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "psVar17")) (& "&") (number_literal "7")) () ")")) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n        pr2serr("warning: --bs=BS value is not a multiple of 8, unexpected, continue\n");\n        bVar1 = 1;\n      }" ({ "{") (expression_statement "pr2serr("warning: --bs=BS value is not a multiple of 8, unexpected, continue\n");" (call_expression "pr2serr("warning: --bs=BS value is not a multiple of 8, unexpected, continue\n")" (identifier "pr2serr") (argument_list "("warning: --bs=BS value is not a multiple of 8, unexpected, continue\n")" (( "(") (string_literal ""warning: --bs=BS value is not a multiple of 8, unexpected, continue\n"" (" """) (string_content "warning: --bs=BS value is not a multiple of 8, unexpected, continue") (escape_sequence "\n") (" """)) () ")"))) (; ";")) (expression_statement "bVar1 = 1;" (assignment_expression "bVar1 = 1" (identifier "bVar1") (= "=") (number_literal "1")) (; ";")) (} "}"))) (expression_statement "iVar21 = 0;" (assignment_expression "iVar21 = 0" (identifier "iVar21") (= "=") (number_literal "0")) (; ";")) (expression_statement "iVar10 = 0;" (assignment_expression "iVar10 = 0" (identifier "iVar10") (= "=") (number_literal "0")) (; ";")) (expression_statement "psVar38 = psVar17;" (assignment_expression "psVar38 = psVar17" (identifier "psVar38") (= "=") (identifier "psVar17")) (; ";")) (do_statement "do {\n        if (((uint)psVar38 & 1) != 0) {\n          iVar21 = iVar10;\n        }\n        iVar10 = iVar10 + 1;\n        psVar38 = (stat64 *)((int)psVar38 >> 1);\n      } while (iVar10 != 0x1c);" (do "do") (compound_statement "{\n        if (((uint)psVar38 & 1) != 0) {\n          iVar21 = iVar10;\n        }\n        iVar10 = iVar10 + 1;\n        psVar38 = (stat64 *)((int)psVar38 >> 1);\n      }" ({ "{") (if_statement "if (((uint)psVar38 & 1) != 0) {\n          iVar21 = iVar10;\n        }" (if "if") (parenthesized_expression "(((uint)psVar38 & 1) != 0)" (( "(") (binary_expression "((uint)psVar38 & 1) != 0" (parenthesized_expression "((uint)psVar38 & 1)" (( "(") (binary_expression "(uint)psVar38 & 1" (cast_expression "(uint)psVar38" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "psVar38")) (& "&") (number_literal "1")) () ")")) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n          iVar21 = iVar10;\n        }" ({ "{") (expression_statement "iVar21 = iVar10;" (assignment_expression "iVar21 = iVar10" (identifier "iVar21") (= "=") (identifier "iVar10")) (; ";")) (} "}"))) (expression_statement "iVar10 = iVar10 + 1;" (assignment_expression "iVar10 = iVar10 + 1" (identifier "iVar10") (= "=") (binary_expression "iVar10 + 1" (identifier "iVar10") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "psVar38 = (stat64 *)((int)psVar38 >> 1);" (assignment_expression "psVar38 = (stat64 *)((int)psVar38 >> 1)" (identifier "psVar38") (= "=") (cast_expression "(stat64 *)((int)psVar38 >> 1)" (( "(") (type_descriptor "stat64 *" (type_identifier "stat64") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)psVar38 >> 1)" (( "(") (binary_expression "(int)psVar38 >> 1" (cast_expression "(int)psVar38" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "psVar38")) (>> ">>") (number_literal "1")) () ")")))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(iVar10 != 0x1c)" (( "(") (binary_expression "iVar10 != 0x1c" (identifier "iVar10") (!= "!=") (number_literal "0x1c")) () ")")) (; ";")) (expression_statement "psVar22 = (stat64 *)(1 << ((byte)iVar21 & 0x1f));" (assignment_expression "psVar22 = (stat64 *)(1 << ((byte)iVar21 & 0x1f))" (identifier "psVar22") (= "=") (cast_expression "(stat64 *)(1 << ((byte)iVar21 & 0x1f))" (( "(") (type_descriptor "stat64 *" (type_identifier "stat64") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(1 << ((byte)iVar21 & 0x1f))" (( "(") (binary_expression "1 << ((byte)iVar21 & 0x1f)" (number_literal "1") (<< "<<") (parenthesized_expression "((byte)iVar21 & 0x1f)" (( "(") (binary_expression "(byte)iVar21 & 0x1f" (cast_expression "(byte)iVar21" (( "(") (type_descriptor "byte" (type_identifier "byte")) () ")") (identifier "iVar21")) (& "&") (number_literal "0x1f")) () ")"))) () ")")))) (; ";")) (expression_statement "local_7d8 = psVar17;" (assignment_expression "local_7d8 = psVar17" (identifier "local_7d8") (= "=") (identifier "psVar17")) (; ";")) (expression_statement "local_7d4 = psVar17;" (assignment_expression "local_7d4 = psVar17" (identifier "local_7d4") (= "=") (identifier "psVar17")) (; ";")) (expression_statement "psVar38 = local_7d0;" (assignment_expression "psVar38 = local_7d0" (identifier "psVar38") (= "=") (identifier "local_7d0")) (; ";")) (expression_statement "uVar16 = uStack_7c4;" (assignment_expression "uVar16 = uStack_7c4" (identifier "uVar16") (= "=") (identifier "uStack_7c4")) (; ";")) (expression_statement "uVar7 = local_7c0;" (assignment_expression "uVar7 = local_7c0" (identifier "uVar7") (= "=") (identifier "local_7c0")) (; ";")) (if_statement "if (psVar17 != psVar22) {\n        local_7d8 = psVar22;\n      }" (if "if") (parenthesized_expression "(psVar17 != psVar22)" (( "(") (binary_expression "psVar17 != psVar22" (identifier "psVar17") (!= "!=") (identifier "psVar22")) () ")")) (compound_statement "{\n        local_7d8 = psVar22;\n      }" ({ "{") (expression_statement "local_7d8 = psVar22;" (assignment_expression "local_7d8 = psVar22" (identifier "local_7d8") (= "=") (identifier "psVar22")) (; ";")) (} "}"))) (} "}")))) (goto_statement "goto code_r0x000114e8;" (goto "goto") (statement_identifier "code_r0x000114e8") (; ";"))) (case_statement "case 99:\n    iVar21 = func_0x00011320(*(undefined4 *)PTR_optarg_0001dffc);\n    if (iVar21 < 0) {\n      pr2serr("bad argument to \'--combined=\'. Expect 0 to 0x7fffffff\n");\n      goto LAB_00011a7a;\n    }\n    local_7e2 = (ushort)iVar21;\n    local_81c = '\x01';\n    psVar38 = local_7d0;\n    uVar16 = uStack_7c4;\n    uVar7 = local_7c0;\n    goto code_r0x000114e8;" (case "case") (number_literal "99") (: ":") (expression_statement "iVar21 = func_0x00011320(*(undefined4 *)PTR_optarg_0001dffc);" (assignment_expression "iVar21 = func_0x00011320(*(undefined4 *)PTR_optarg_0001dffc)" (identifier "iVar21") (= "=") (call_expression "func_0x00011320(*(undefined4 *)PTR_optarg_0001dffc)" (identifier "func_0x00011320") (argument_list "(*(undefined4 *)PTR_optarg_0001dffc)" (( "(") (pointer_expression "*(undefined4 *)PTR_optarg_0001dffc" (* "*") (cast_expression "(undefined4 *)PTR_optarg_0001dffc" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_optarg_0001dffc"))) () ")")))) (; ";")) (if_statement "if (iVar21 < 0) {\n      pr2serr("bad argument to \'--combined=\'. Expect 0 to 0x7fffffff\n");\n      goto LAB_00011a7a;\n    }" (if "if") (parenthesized_expression "(iVar21 < 0)" (( "(") (binary_expression "iVar21 < 0" (identifier "iVar21") (< "<") (number_literal "0")) () ")")) (compound_statement "{\n      pr2serr("bad argument to \'--combined=\'. Expect 0 to 0x7fffffff\n");\n      goto LAB_00011a7a;\n    }" ({ "{") (expression_statement "pr2serr("bad argument to \'--combined=\'. Expect 0 to 0x7fffffff\n");" (call_expression "pr2serr("bad argument to \'--combined=\'. Expect 0 to 0x7fffffff\n")" (identifier "pr2serr") (argument_list "("bad argument to \'--combined=\'. Expect 0 to 0x7fffffff\n")" (( "(") (string_literal ""bad argument to \'--combined=\'. Expect 0 to 0x7fffffff\n"" (" """) (string_content "bad argument to ") (escape_sequence "\'") (string_content "--combined=") (escape_sequence "\'") (string_content ". Expect 0 to 0x7fffffff") (escape_sequence "\n") (" """)) () ")"))) (; ";")) (goto_statement "goto LAB_00011a7a;" (goto "goto") (statement_identifier "LAB_00011a7a") (; ";")) (} "}"))) (expression_statement "local_7e2 = (ushort)iVar21;" (assignment_expression "local_7e2 = (ushort)iVar21" (identifier "local_7e2") (= "=") (cast_expression "(ushort)iVar21" (( "(") (type_descriptor "ushort" (type_identifier "ushort")) () ")") (identifier "iVar21"))) (; ";")) (expression_statement "local_81c = '\x01';" (assignment_expression "local_81c = '\x01'" (identifier "local_81c") (= "=") (char_literal "'\x01'" (' "'") (escape_sequence "\x01") (' "'"))) (; ";")) (expression_statement "psVar38 = local_7d0;" (assignment_expression "psVar38 = local_7d0" (identifier "psVar38") (= "=") (identifier "local_7d0")) (; ";")) (expression_statement "uVar16 = uStack_7c4;" (assignment_expression "uVar16 = uStack_7c4" (identifier "uVar16") (= "=") (identifier "uStack_7c4")) (; ";")) (expression_statement "uVar7 = local_7c0;" (assignment_expression "uVar7 = local_7c0" (identifier "uVar7") (= "=") (identifier "local_7c0")) (; ";")) (goto_statement "goto code_r0x000114e8;" (goto "goto") (statement_identifier "code_r0x000114e8") (; ";"))) (case_statement "case 100:\n    uStack_812 = 1;\n    goto code_r0x000114e8;" (case "case") (number_literal "100") (: ":") (expression_statement "uStack_812 = 1;" (assignment_expression "uStack_812 = 1" (identifier "uStack_812") (= "=") (number_literal "1")) (; ";")) (goto_statement "goto code_r0x000114e8;" (goto "goto") (statement_identifier "code_r0x000114e8") (; ";"))) (case_statement "case 0x66:\n    uStack_811 = 1;\n    goto code_r0x000114e8;" (case "case") (number_literal "0x66") (: ":") (expression_statement "uStack_811 = 1;" (assignment_expression "uStack_811 = 1" (identifier "uStack_811") (= "=") (number_literal "1")) (; ";")) (goto_statement "goto code_r0x000114e8;" (goto "goto") (statement_identifier "code_r0x000114e8") (; ";"))) (case_statement "case 0x67:\n    uStack_804 = func_0x00011320(*(undefined4 *)PTR_optarg_0001dffc);\n    psVar38 = local_7d0;\n    uVar16 = uStack_7c4;\n    uVar7 = local_7c0;\n    if (0x3f < uStack_804) {\n      pr2serr("bad argument to \'--grpnum\'\n");\n      goto LAB_00011a7a;\n    }\n    goto code_r0x000114e8;" (case "case") (number_literal "0x67") (: ":") (expression_statement "uStack_804 = func_0x00011320(*(undefined4 *)PTR_optarg_0001dffc);" (assignment_expression "uStack_804 = func_0x00011320(*(undefined4 *)PTR_optarg_0001dffc)" (identifier "uStack_804") (= "=") (call_expression "func_0x00011320(*(undefined4 *)PTR_optarg_0001dffc)" (identifier "func_0x00011320") (argument_list "(*(undefined4 *)PTR_optarg_0001dffc)" (( "(") (pointer_expression "*(undefined4 *)PTR_optarg_0001dffc" (* "*") (cast_expression "(undefined4 *)PTR_optarg_0001dffc" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_optarg_0001dffc"))) () ")")))) (; ";")) (expression_statement "psVar38 = local_7d0;" (assignment_expression "psVar38 = local_7d0" (identifier "psVar38") (= "=") (identifier "local_7d0")) (; ";")) (expression_statement "uVar16 = uStack_7c4;" (assignment_expression "uVar16 = uStack_7c4" (identifier "uVar16") (= "=") (identifier "uStack_7c4")) (; ";")) (expression_statement "uVar7 = local_7c0;" (assignment_expression "uVar7 = local_7c0" (identifier "uVar7") (= "=") (identifier "local_7c0")) (; ";")) (if_statement "if (0x3f < uStack_804) {\n      pr2serr("bad argument to \'--grpnum\'\n");\n      goto LAB_00011a7a;\n    }" (if "if") (parenthesized_expression "(0x3f < uStack_804)" (( "(") (binary_expression "0x3f < uStack_804" (number_literal "0x3f") (< "<") (identifier "uStack_804")) () ")")) (compound_statement "{\n      pr2serr("bad argument to \'--grpnum\'\n");\n      goto LAB_00011a7a;\n    }" ({ "{") (expression_statement "pr2serr("bad argument to \'--grpnum\'\n");" (call_expression "pr2serr("bad argument to \'--grpnum\'\n")" (identifier "pr2serr") (argument_list "("bad argument to \'--grpnum\'\n")" (( "(") (string_literal ""bad argument to \'--grpnum\'\n"" (" """) (string_content "bad argument to ") (escape_sequence "\'") (string_content "--grpnum") (escape_sequence "\'") (escape_sequence "\n") (" """)) () ")"))) (; ";")) (goto_statement "goto LAB_00011a7a;" (goto "goto") (statement_identifier "LAB_00011a7a") (; ";")) (} "}"))) (goto_statement "goto code_r0x000114e8;" (goto "goto") (statement_identifier "code_r0x000114e8") (; ";"))) (case_statement "case 0x68:\n    local_800 = local_800 + 1;\n    goto code_r0x000114e8;" (case "case") (number_literal "0x68") (: ":") (expression_statement "local_800 = local_800 + 1;" (assignment_expression "local_800 = local_800 + 1" (identifier "local_800") (= "=") (binary_expression "local_800 + 1" (identifier "local_800") (+ "+") (number_literal "1"))) (; ";")) (goto_statement "goto code_r0x000114e8;" (goto "goto") (statement_identifier "code_r0x000114e8") (; ";"))) (case_statement "case 0x69:\n    local_79c = *(char **)PTR_optarg_0001dffc;\n    goto code_r0x000114e8;" (case "case") (number_literal "0x69") (: ":") (expression_statement "local_79c = *(char **)PTR_optarg_0001dffc;" (assignment_expression "local_79c = *(char **)PTR_optarg_0001dffc" (identifier "local_79c") (= "=") (pointer_expression "*(char **)PTR_optarg_0001dffc" (* "*") (cast_expression "(char **)PTR_optarg_0001dffc" (( "(") (type_descriptor "char **" (primitive_type "char") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (identifier "PTR_optarg_0001dffc")))) (; ";")) (goto_statement "goto code_r0x000114e8;" (goto "goto") (statement_identifier "code_r0x000114e8") (; ";"))) (case_statement "case 0x6c:\n    if (local_91c != (stat64 *)0x0) {\n      pr2serr("only expect \'--lba=\' option once\n");\n      goto LAB_00011a7a;\n    }\n    local_91c = *(stat64 **)PTR_optarg_0001dffc;\n    goto code_r0x000114e8;" (case "case") (number_literal "0x6c") (: ":") (if_statement "if (local_91c != (stat64 *)0x0) {\n      pr2serr("only expect \'--lba=\' option once\n");\n      goto LAB_00011a7a;\n    }" (if "if") (parenthesized_expression "(local_91c != (stat64 *)0x0)" (( "(") (binary_expression "local_91c != (stat64 *)0x0" (identifier "local_91c") (!= "!=") (cast_expression "(stat64 *)0x0" (( "(") (type_descriptor "stat64 *" (type_identifier "stat64") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n      pr2serr("only expect \'--lba=\' option once\n");\n      goto LAB_00011a7a;\n    }" ({ "{") (expression_statement "pr2serr("only expect \'--lba=\' option once\n");" (call_expression "pr2serr("only expect \'--lba=\' option once\n")" (identifier "pr2serr") (argument_list "("only expect \'--lba=\' option once\n")" (( "(") (string_literal ""only expect \'--lba=\' option once\n"" (" """) (string_content "only expect ") (escape_sequence "\'") (string_content "--lba=") (escape_sequence "\'") (string_content " option once") (escape_sequence "\n") (" """)) () ")"))) (; ";")) (goto_statement "goto LAB_00011a7a;" (goto "goto") (statement_identifier "LAB_00011a7a") (; ";")) (} "}"))) (expression_statement "local_91c = *(stat64 **)PTR_optarg_0001dffc;" (assignment_expression "local_91c = *(stat64 **)PTR_optarg_0001dffc" (identifier "local_91c") (= "=") (pointer_expression "*(stat64 **)PTR_optarg_0001dffc" (* "*") (cast_expression "(stat64 **)PTR_optarg_0001dffc" (( "(") (type_descriptor "stat64 **" (type_identifier "stat64") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (identifier "PTR_optarg_0001dffc")))) (; ";")) (goto_statement "goto code_r0x000114e8;" (goto "goto") (statement_identifier "code_r0x000114e8") (; ";"))) (case_statement "case 0x6e:\n    if (local_918 != (stat64 *)0x0) {\n      pr2serr("only expect \'--num=\' option once\n");\n      goto LAB_00011a7a;\n    }\n    local_918 = *(stat64 **)PTR_optarg_0001dffc;\n    goto code_r0x000114e8;" (case "case") (number_literal "0x6e") (: ":") (if_statement "if (local_918 != (stat64 *)0x0) {\n      pr2serr("only expect \'--num=\' option once\n");\n      goto LAB_00011a7a;\n    }" (if "if") (parenthesized_expression "(local_918 != (stat64 *)0x0)" (( "(") (binary_expression "local_918 != (stat64 *)0x0" (identifier "local_918") (!= "!=") (cast_expression "(stat64 *)0x0" (( "(") (type_descriptor "stat64 *" (type_identifier "stat64") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n      pr2serr("only expect \'--num=\' option once\n");\n      goto LAB_00011a7a;\n    }" ({ "{") (expression_statement "pr2serr("only expect \'--num=\' option once\n");" (call_expression "pr2serr("only expect \'--num=\' option once\n")" (identifier "pr2serr") (argument_list "("only expect \'--num=\' option once\n")" (( "(") (string_literal ""only expect \'--num=\' option once\n"" (" """) (string_content "only expect ") (escape_sequence "\'") (string_content "--num=") (escape_sequence "\'") (string_content " option once") (escape_sequence "\n") (" """)) () ")"))) (; ";")) (goto_statement "goto LAB_00011a7a;" (goto "goto") (statement_identifier "LAB_00011a7a") (; ";")) (} "}"))) (expression_statement "local_918 = *(stat64 **)PTR_optarg_0001dffc;" (assignment_expression "local_918 = *(stat64 **)PTR_optarg_0001dffc" (identifier "local_918") (= "=") (pointer_expression "*(stat64 **)PTR_optarg_0001dffc" (* "*") (cast_expression "(stat64 **)PTR_optarg_0001dffc" (( "(") (type_descriptor "stat64 **" (type_identifier "stat64") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (identifier "PTR_optarg_0001dffc")))) (; ";")) (goto_statement "goto code_r0x000114e8;" (goto "goto") (statement_identifier "code_r0x000114e8") (; ";"))) (case_statement "case 0x6f:\n    lVar34 = sg_get_llnum(*(undefined4 *)PTR_optarg_0001dffc);\n    psVar17 = (stat64 *)lVar34;\n    if (lVar34 == -1) {\n      pr2serr("bad first argument to \'--offset=\'\n");\n      goto LAB_00011a7a;\n    }\n    uVar36 = 0x2c;\n    psVar22 = psVar17;\n    local_7b4 = psVar17;\n    local_7b0 = (stat64 *)((ulonglong)lVar34 >> 0x20);\n    pcVar15 = strchr(*(char **)puVar5,0x2c);\n    psVar38 = local_7d0;\n    uVar16 = uStack_7c4;\n    uVar7 = local_7c0;\n    if (pcVar15 != (char *)0x0) {\n      lVar34 = sg_get_llnum(pcVar15 + 1,uVar36,psVar17,psVar22);\n      psVar38 = (stat64 *)lVar34;\n      uVar16 = uStack_7c4;\n      uVar7 = local_7c0;\n      if ((int)((ulonglong)lVar34 >> 0x20) == -1) {\n        if (psVar38 == (stat64 *)0xffffffff) {\n          pr2serr("bad second argument to \'--offset=\'\n");\n          goto LAB_00011a7a;\n        }\n      }\n      else if (0xffffffff < lVar34) {\n        pr2serr("bad second argument to \'--offset=\', cannot exceed 32 bits\n");\n        goto LAB_00011a7a;\n      }\n    }\n    goto code_r0x000114e8;" (case "case") (number_literal "0x6f") (: ":") (expression_statement "lVar34 = sg_get_llnum(*(undefined4 *)PTR_optarg_0001dffc);" (assignment_expression "lVar34 = sg_get_llnum(*(undefined4 *)PTR_optarg_0001dffc)" (identifier "lVar34") (= "=") (call_expression "sg_get_llnum(*(undefined4 *)PTR_optarg_0001dffc)" (identifier "sg_get_llnum") (argument_list "(*(undefined4 *)PTR_optarg_0001dffc)" (( "(") (pointer_expression "*(undefined4 *)PTR_optarg_0001dffc" (* "*") (cast_expression "(undefined4 *)PTR_optarg_0001dffc" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_optarg_0001dffc"))) () ")")))) (; ";")) (expression_statement "psVar17 = (stat64 *)lVar34;" (assignment_expression "psVar17 = (stat64 *)lVar34" (identifier "psVar17") (= "=") (cast_expression "(stat64 *)lVar34" (( "(") (type_descriptor "stat64 *" (type_identifier "stat64") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "lVar34"))) (; ";")) (if_statement "if (lVar34 == -1) {\n      pr2serr("bad first argument to \'--offset=\'\n");\n      goto LAB_00011a7a;\n    }" (if "if") (parenthesized_expression "(lVar34 == -1)" (( "(") (binary_expression "lVar34 == -1" (identifier "lVar34") (== "==") (number_literal "-1")) () ")")) (compound_statement "{\n      pr2serr("bad first argument to \'--offset=\'\n");\n      goto LAB_00011a7a;\n    }" ({ "{") (expression_statement "pr2serr("bad first argument to \'--offset=\'\n");" (call_expression "pr2serr("bad first argument to \'--offset=\'\n")" (identifier "pr2serr") (argument_list "("bad first argument to \'--offset=\'\n")" (( "(") (string_literal ""bad first argument to \'--offset=\'\n"" (" """) (string_content "bad first argument to ") (escape_sequence "\'") (string_content "--offset=") (escape_sequence "\'") (escape_sequence "\n") (" """)) () ")"))) (; ";")) (goto_statement "goto LAB_00011a7a;" (goto "goto") (statement_identifier "LAB_00011a7a") (; ";")) (} "}"))) (expression_statement "uVar36 = 0x2c;" (assignment_expression "uVar36 = 0x2c" (identifier "uVar36") (= "=") (number_literal "0x2c")) (; ";")) (expression_statement "psVar22 = psVar17;" (assignment_expression "psVar22 = psVar17" (identifier "psVar22") (= "=") (identifier "psVar17")) (; ";")) (expression_statement "local_7b4 = psVar17;" (assignment_expression "local_7b4 = psVar17" (identifier "local_7b4") (= "=") (identifier "psVar17")) (; ";")) (expression_statement "local_7b0 = (stat64 *)((ulonglong)lVar34 >> 0x20);" (assignment_expression "local_7b0 = (stat64 *)((ulonglong)lVar34 >> 0x20)" (identifier "local_7b0") (= "=") (cast_expression "(stat64 *)((ulonglong)lVar34 >> 0x20)" (( "(") (type_descriptor "stat64 *" (type_identifier "stat64") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((ulonglong)lVar34 >> 0x20)" (( "(") (binary_expression "(ulonglong)lVar34 >> 0x20" (cast_expression "(ulonglong)lVar34" (( "(") (type_descriptor "ulonglong" (type_identifier "ulonglong")) () ")") (identifier "lVar34")) (>> ">>") (number_literal "0x20")) () ")")))) (; ";")) (expression_statement "pcVar15 = strchr(*(char **)puVar5,0x2c);" (assignment_expression "pcVar15 = strchr(*(char **)puVar5,0x2c)" (identifier "pcVar15") (= "=") (call_expression "strchr(*(char **)puVar5,0x2c)" (identifier "strchr") (argument_list "(*(char **)puVar5,0x2c)" (( "(") (pointer_expression "*(char **)puVar5" (* "*") (cast_expression "(char **)puVar5" (( "(") (type_descriptor "char **" (primitive_type "char") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (identifier "puVar5"))) (, ",") (number_literal "0x2c") () ")")))) (; ";")) (expression_statement "psVar38 = local_7d0;" (assignment_expression "psVar38 = local_7d0" (identifier "psVar38") (= "=") (identifier "local_7d0")) (; ";")) (expression_statement "uVar16 = uStack_7c4;" (assignment_expression "uVar16 = uStack_7c4" (identifier "uVar16") (= "=") (identifier "uStack_7c4")) (; ";")) (expression_statement "uVar7 = local_7c0;" (assignment_expression "uVar7 = local_7c0" (identifier "uVar7") (= "=") (identifier "local_7c0")) (; ";")) (if_statement "if (pcVar15 != (char *)0x0) {\n      lVar34 = sg_get_llnum(pcVar15 + 1,uVar36,psVar17,psVar22);\n      psVar38 = (stat64 *)lVar34;\n      uVar16 = uStack_7c4;\n      uVar7 = local_7c0;\n      if ((int)((ulonglong)lVar34 >> 0x20) == -1) {\n        if (psVar38 == (stat64 *)0xffffffff) {\n          pr2serr("bad second argument to \'--offset=\'\n");\n          goto LAB_00011a7a;\n        }\n      }\n      else if (0xffffffff < lVar34) {\n        pr2serr("bad second argument to \'--offset=\', cannot exceed 32 bits\n");\n        goto LAB_00011a7a;\n      }\n    }" (if "if") (parenthesized_expression "(pcVar15 != (char *)0x0)" (( "(") (binary_expression "pcVar15 != (char *)0x0" (identifier "pcVar15") (!= "!=") (cast_expression "(char *)0x0" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n      lVar34 = sg_get_llnum(pcVar15 + 1,uVar36,psVar17,psVar22);\n      psVar38 = (stat64 *)lVar34;\n      uVar16 = uStack_7c4;\n      uVar7 = local_7c0;\n      if ((int)((ulonglong)lVar34 >> 0x20) == -1) {\n        if (psVar38 == (stat64 *)0xffffffff) {\n          pr2serr("bad second argument to \'--offset=\'\n");\n          goto LAB_00011a7a;\n        }\n      }\n      else if (0xffffffff < lVar34) {\n        pr2serr("bad second argument to \'--offset=\', cannot exceed 32 bits\n");\n        goto LAB_00011a7a;\n      }\n    }" ({ "{") (expression_statement "lVar34 = sg_get_llnum(pcVar15 + 1,uVar36,psVar17,psVar22);" (assignment_expression "lVar34 = sg_get_llnum(pcVar15 + 1,uVar36,psVar17,psVar22)" (identifier "lVar34") (= "=") (call_expression "sg_get_llnum(pcVar15 + 1,uVar36,psVar17,psVar22)" (identifier "sg_get_llnum") (argument_list "(pcVar15 + 1,uVar36,psVar17,psVar22)" (( "(") (binary_expression "pcVar15 + 1" (identifier "pcVar15") (+ "+") (number_literal "1")) (, ",") (identifier "uVar36") (, ",") (identifier "psVar17") (, ",") (identifier "psVar22") () ")")))) (; ";")) (expression_statement "psVar38 = (stat64 *)lVar34;" (assignment_expression "psVar38 = (stat64 *)lVar34" (identifier "psVar38") (= "=") (cast_expression "(stat64 *)lVar34" (( "(") (type_descriptor "stat64 *" (type_identifier "stat64") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "lVar34"))) (; ";")) (expression_statement "uVar16 = uStack_7c4;" (assignment_expression "uVar16 = uStack_7c4" (identifier "uVar16") (= "=") (identifier "uStack_7c4")) (; ";")) (expression_statement "uVar7 = local_7c0;" (assignment_expression "uVar7 = local_7c0" (identifier "uVar7") (= "=") (identifier "local_7c0")) (; ";")) (if_statement "if ((int)((ulonglong)lVar34 >> 0x20) == -1) {\n        if (psVar38 == (stat64 *)0xffffffff) {\n          pr2serr("bad second argument to \'--offset=\'\n");\n          goto LAB_00011a7a;\n        }\n      }\n      else if (0xffffffff < lVar34) {\n        pr2serr("bad second argument to \'--offset=\', cannot exceed 32 bits\n");\n        goto LAB_00011a7a;\n      }" (if "if") (parenthesized_expression "((int)((ulonglong)lVar34 >> 0x20) == -1)" (( "(") (binary_expression "(int)((ulonglong)lVar34 >> 0x20) == -1" (cast_expression "(int)((ulonglong)lVar34 >> 0x20)" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (parenthesized_expression "((ulonglong)lVar34 >> 0x20)" (( "(") (binary_expression "(ulonglong)lVar34 >> 0x20" (cast_expression "(ulonglong)lVar34" (( "(") (type_descriptor "ulonglong" (type_identifier "ulonglong")) () ")") (identifier "lVar34")) (>> ">>") (number_literal "0x20")) () ")"))) (== "==") (number_literal "-1")) () ")")) (compound_statement "{\n        if (psVar38 == (stat64 *)0xffffffff) {\n          pr2serr("bad second argument to \'--offset=\'\n");\n          goto LAB_00011a7a;\n        }\n      }" ({ "{") (if_statement "if (psVar38 == (stat64 *)0xffffffff) {\n          pr2serr("bad second argument to \'--offset=\'\n");\n          goto LAB_00011a7a;\n        }" (if "if") (parenthesized_expression "(psVar38 == (stat64 *)0xffffffff)" (( "(") (binary_expression "psVar38 == (stat64 *)0xffffffff" (identifier "psVar38") (== "==") (cast_expression "(stat64 *)0xffffffff" (( "(") (type_descriptor "stat64 *" (type_identifier "stat64") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0xffffffff"))) () ")")) (compound_statement "{\n          pr2serr("bad second argument to \'--offset=\'\n");\n          goto LAB_00011a7a;\n        }" ({ "{") (expression_statement "pr2serr("bad second argument to \'--offset=\'\n");" (call_expression "pr2serr("bad second argument to \'--offset=\'\n")" (identifier "pr2serr") (argument_list "("bad second argument to \'--offset=\'\n")" (( "(") (string_literal ""bad second argument to \'--offset=\'\n"" (" """) (string_content "bad second argument to ") (escape_sequence "\'") (string_content "--offset=") (escape_sequence "\'") (escape_sequence "\n") (" """)) () ")"))) (; ";")) (goto_statement "goto LAB_00011a7a;" (goto "goto") (statement_identifier "LAB_00011a7a") (; ";")) (} "}"))) (} "}")) (else_clause "else if (0xffffffff < lVar34) {\n        pr2serr("bad second argument to \'--offset=\', cannot exceed 32 bits\n");\n        goto LAB_00011a7a;\n      }" (else "else") (if_statement "if (0xffffffff < lVar34) {\n        pr2serr("bad second argument to \'--offset=\', cannot exceed 32 bits\n");\n        goto LAB_00011a7a;\n      }" (if "if") (parenthesized_expression "(0xffffffff < lVar34)" (( "(") (binary_expression "0xffffffff < lVar34" (number_literal "0xffffffff") (< "<") (identifier "lVar34")) () ")")) (compound_statement "{\n        pr2serr("bad second argument to \'--offset=\', cannot exceed 32 bits\n");\n        goto LAB_00011a7a;\n      }" ({ "{") (expression_statement "pr2serr("bad second argument to \'--offset=\', cannot exceed 32 bits\n");" (call_expression "pr2serr("bad second argument to \'--offset=\', cannot exceed 32 bits\n")" (identifier "pr2serr") (argument_list "("bad second argument to \'--offset=\', cannot exceed 32 bits\n")" (( "(") (string_literal ""bad second argument to \'--offset=\', cannot exceed 32 bits\n"" (" """) (string_content "bad second argument to ") (escape_sequence "\'") (string_content "--offset=") (escape_sequence "\'") (string_content ", cannot exceed 32 bits") (escape_sequence "\n") (" """)) () ")"))) (; ";")) (goto_statement "goto LAB_00011a7a;" (goto "goto") (statement_identifier "LAB_00011a7a") (; ";")) (} "}"))))) (} "}"))) (goto_statement "goto code_r0x000114e8;" (goto "goto") (statement_identifier "code_r0x000114e8") (; ";"))) (case_statement "case 0x71:\n    local_798 = *(char **)PTR_optarg_0001dffc;\n    goto code_r0x000114e8;" (case "case") (number_literal "0x71") (: ":") (expression_statement "local_798 = *(char **)PTR_optarg_0001dffc;" (assignment_expression "local_798 = *(char **)PTR_optarg_0001dffc" (identifier "local_798") (= "=") (pointer_expression "*(char **)PTR_optarg_0001dffc" (* "*") (cast_expression "(char **)PTR_optarg_0001dffc" (( "(") (type_descriptor "char **" (primitive_type "char") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (identifier "PTR_optarg_0001dffc")))) (; ";")) (goto_statement "goto code_r0x000114e8;" (goto "goto") (statement_identifier "code_r0x000114e8") (; ";"))) (case_statement "case 0x72:\n    goto code_r0x000115f1;" (case "case") (number_literal "0x72") (: ":") (goto_statement "goto code_r0x000115f1;" (goto "goto") (statement_identifier "code_r0x000115f1") (; ";"))) (case_statement "case 0x73:\n    local_7f8 = local_7f8 + 1;\n    goto code_r0x000114e8;" (case "case") (number_literal "0x73") (: ":") (expression_statement "local_7f8 = local_7f8 + 1;" (assignment_expression "local_7f8 = local_7f8 + 1" (identifier "local_7f8") (= "=") (binary_expression "local_7f8 + 1" (identifier "local_7f8") (+ "+") (number_literal "1"))) (; ";")) (goto_statement "goto code_r0x000114e8;" (goto "goto") (statement_identifier "code_r0x000114e8") (; ";"))) (case_statement "case 0x74:\n    uVar7 = func_0x00011320(*(undefined4 *)PTR_optarg_0001dffc);\n    if (0xffff < uVar7) {\n      pr2serr("bad argument to \'--tag-mask=\'. Expect 0 to 0xffff inclusive\n");\n      goto LAB_00011a7a;\n    }\n    local_7dc = (ushort)uVar7;\n    psVar38 = local_7d0;\n    uVar16 = uStack_7c4;\n    uVar7 = local_7c0;\n    goto code_r0x000114e8;" (case "case") (number_literal "0x74") (: ":") (expression_statement "uVar7 = func_0x00011320(*(undefined4 *)PTR_optarg_0001dffc);" (assignment_expression "uVar7 = func_0x00011320(*(undefined4 *)PTR_optarg_0001dffc)" (identifier "uVar7") (= "=") (call_expression "func_0x00011320(*(undefined4 *)PTR_optarg_0001dffc)" (identifier "func_0x00011320") (argument_list "(*(undefined4 *)PTR_optarg_0001dffc)" (( "(") (pointer_expression "*(undefined4 *)PTR_optarg_0001dffc" (* "*") (cast_expression "(undefined4 *)PTR_optarg_0001dffc" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_optarg_0001dffc"))) () ")")))) (; ";")) (if_statement "if (0xffff < uVar7) {\n      pr2serr("bad argument to \'--tag-mask=\'. Expect 0 to 0xffff inclusive\n");\n      goto LAB_00011a7a;\n    }" (if "if") (parenthesized_expression "(0xffff < uVar7)" (( "(") (binary_expression "0xffff < uVar7" (number_literal "0xffff") (< "<") (identifier "uVar7")) () ")")) (compound_statement "{\n      pr2serr("bad argument to \'--tag-mask=\'. Expect 0 to 0xffff inclusive\n");\n      goto LAB_00011a7a;\n    }" ({ "{") (expression_statement "pr2serr("bad argument to \'--tag-mask=\'. Expect 0 to 0xffff inclusive\n");" (call_expression "pr2serr("bad argument to \'--tag-mask=\'. Expect 0 to 0xffff inclusive\n")" (identifier "pr2serr") (argument_list "("bad argument to \'--tag-mask=\'. Expect 0 to 0xffff inclusive\n")" (( "(") (string_literal ""bad argument to \'--tag-mask=\'. Expect 0 to 0xffff inclusive\n"" (" """) (string_content "bad argument to ") (escape_sequence "\'") (string_content "--tag-mask=") (escape_sequence "\'") (string_content ". Expect 0 to 0xffff inclusive") (escape_sequence "\n") (" """)) () ")"))) (; ";")) (goto_statement "goto LAB_00011a7a;" (goto "goto") (statement_identifier "LAB_00011a7a") (; ";")) (} "}"))) (expression_statement "local_7dc = (ushort)uVar7;" (assignment_expression "local_7dc = (ushort)uVar7" (identifier "local_7dc") (= "=") (cast_expression "(ushort)uVar7" (( "(") (type_descriptor "ushort" (type_identifier "ushort")) () ")") (identifier "uVar7"))) (; ";")) (expression_statement "psVar38 = local_7d0;" (assignment_expression "psVar38 = local_7d0" (identifier "psVar38") (= "=") (identifier "local_7d0")) (; ";")) (expression_statement "uVar16 = uStack_7c4;" (assignment_expression "uVar16 = uStack_7c4" (identifier "uVar16") (= "=") (identifier "uStack_7c4")) (; ";")) (expression_statement "uVar7 = local_7c0;" (assignment_expression "uVar7 = local_7c0" (identifier "uVar7") (= "=") (identifier "local_7c0")) (; ";")) (goto_statement "goto code_r0x000114e8;" (goto "goto") (statement_identifier "code_r0x000114e8") (; ";"))) (case_statement "case 0x75:\n    uVar7 = func_0x00011320(*(undefined4 *)puVar20);\n    if (3 < uVar7) {\n      pr2serr("bad argument to \'--unmap=\', expect 0 to 3\n");\n      goto LAB_00011a7a;\n    }\n    bStack_81e = (byte)(uVar7 >> 1) & 1;\n    bStack_815 = (byte)uVar7 & 1;\n    psVar38 = local_7d0;\n    uVar16 = uStack_7c4;\n    uVar7 = local_7c0;\n    goto code_r0x000114e8;" (case "case") (number_literal "0x75") (: ":") (expression_statement "uVar7 = func_0x00011320(*(undefined4 *)puVar20);" (assignment_expression "uVar7 = func_0x00011320(*(undefined4 *)puVar20)" (identifier "uVar7") (= "=") (call_expression "func_0x00011320(*(undefined4 *)puVar20)" (identifier "func_0x00011320") (argument_list "(*(undefined4 *)puVar20)" (( "(") (pointer_expression "*(undefined4 *)puVar20" (* "*") (cast_expression "(undefined4 *)puVar20" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "puVar20"))) () ")")))) (; ";")) (if_statement "if (3 < uVar7) {\n      pr2serr("bad argument to \'--unmap=\', expect 0 to 3\n");\n      goto LAB_00011a7a;\n    }" (if "if") (parenthesized_expression "(3 < uVar7)" (( "(") (binary_expression "3 < uVar7" (number_literal "3") (< "<") (identifier "uVar7")) () ")")) (compound_statement "{\n      pr2serr("bad argument to \'--unmap=\', expect 0 to 3\n");\n      goto LAB_00011a7a;\n    }" ({ "{") (expression_statement "pr2serr("bad argument to \'--unmap=\', expect 0 to 3\n");" (call_expression "pr2serr("bad argument to \'--unmap=\', expect 0 to 3\n")" (identifier "pr2serr") (argument_list "("bad argument to \'--unmap=\', expect 0 to 3\n")" (( "(") (string_literal ""bad argument to \'--unmap=\', expect 0 to 3\n"" (" """) (string_content "bad argument to ") (escape_sequence "\'") (string_content "--unmap=") (escape_sequence "\'") (string_content ", expect 0 to 3") (escape_sequence "\n") (" """)) () ")"))) (; ";")) (goto_statement "goto LAB_00011a7a;" (goto "goto") (statement_identifier "LAB_00011a7a") (; ";")) (} "}"))) (expression_statement "bStack_81e = (byte)(uVar7 >> 1) & 1;" (assignment_expression "bStack_81e = (byte)(uVar7 >> 1) & 1" (identifier "bStack_81e") (= "=") (binary_expression "(byte)(uVar7 >> 1) & 1" (call_expression "(byte)(uVar7 >> 1)" (parenthesized_expression "(byte)" (( "(") (identifier "byte") () ")")) (argument_list "(uVar7 >> 1)" (( "(") (binary_expression "uVar7 >> 1" (identifier "uVar7") (>> ">>") (number_literal "1")) () ")"))) (& "&") (number_literal "1"))) (; ";")) (expression_statement "bStack_815 = (byte)uVar7 & 1;" (assignment_expression "bStack_815 = (byte)uVar7 & 1" (identifier "bStack_815") (= "=") (binary_expression "(byte)uVar7 & 1" (cast_expression "(byte)uVar7" (( "(") (type_descriptor "byte" (type_identifier "byte")) () ")") (identifier "uVar7")) (& "&") (number_literal "1"))) (; ";")) (expression_statement "psVar38 = local_7d0;" (assignment_expression "psVar38 = local_7d0" (identifier "psVar38") (= "=") (identifier "local_7d0")) (; ";")) (expression_statement "uVar16 = uStack_7c4;" (assignment_expression "uVar16 = uStack_7c4" (identifier "uVar16") (= "=") (identifier "uStack_7c4")) (; ";")) (expression_statement "uVar7 = local_7c0;" (assignment_expression "uVar7 = local_7c0" (identifier "uVar7") (= "=") (identifier "local_7c0")) (; ";")) (goto_statement "goto code_r0x000114e8;" (goto "goto") (statement_identifier "code_r0x000114e8") (; ";"))) (case_statement "case 0x76:\n    local_80f = '\x01';\n    local_7f0 = (stat64 *)((int)&local_7f0->st_dev + 1);\n    goto code_r0x000114e8;" (case "case") (number_literal "0x76") (: ":") (expression_statement "local_80f = '\x01';" (assignment_expression "local_80f = '\x01'" (identifier "local_80f") (= "=") (char_literal "'\x01'" (' "'") (escape_sequence "\x01") (' "'"))) (; ";")) (expression_statement "local_7f0 = (stat64 *)((int)&local_7f0->st_dev + 1);" (assignment_expression "local_7f0 = (stat64 *)((int)&local_7f0->st_dev + 1)" (identifier "local_7f0") (= "=") (cast_expression "(stat64 *)((int)&local_7f0->st_dev + 1)" (( "(") (type_descriptor "stat64 *" (type_identifier "stat64") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)&local_7f0->st_dev + 1)" (( "(") (binary_expression "(int)&local_7f0->st_dev + 1" (cast_expression "(int)&local_7f0->st_dev" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (pointer_expression "&local_7f0->st_dev" (& "&") (field_expression "local_7f0->st_dev" (identifier "local_7f0") (-> "->") (field_identifier "st_dev")))) (+ "+") (number_literal "1")) () ")")))) (; ";")) (goto_statement "goto code_r0x000114e8;" (goto "goto") (statement_identifier "code_r0x000114e8") (; ";"))) (case_statement "case 0x77:\n    local_7ec = (stat64 *)func_0x00011320(*(undefined4 *)puVar20);\n    if ((stat64 *)0x7 < local_7ec) {\n      pr2serr("bad argument to \'--wrprotect\'\n");\n      goto LAB_00011a7a;\n    }\n    local_813 = 0 < (int)local_7ec;\n    psVar38 = local_7d0;\n    uVar16 = uStack_7c4;\n    uVar7 = local_7c0;\n    goto code_r0x000114e8;" (case "case") (number_literal "0x77") (: ":") (expression_statement "local_7ec = (stat64 *)func_0x00011320(*(undefined4 *)puVar20);" (assignment_expression "local_7ec = (stat64 *)func_0x00011320(*(undefined4 *)puVar20)" (identifier "local_7ec") (= "=") (cast_expression "(stat64 *)func_0x00011320(*(undefined4 *)puVar20)" (( "(") (type_descriptor "stat64 *" (type_identifier "stat64") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "func_0x00011320(*(undefined4 *)puVar20)" (identifier "func_0x00011320") (argument_list "(*(undefined4 *)puVar20)" (( "(") (pointer_expression "*(undefined4 *)puVar20" (* "*") (cast_expression "(undefined4 *)puVar20" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "puVar20"))) () ")"))))) (; ";")) (if_statement "if ((stat64 *)0x7 < local_7ec) {\n      pr2serr("bad argument to \'--wrprotect\'\n");\n      goto LAB_00011a7a;\n    }" (if "if") (parenthesized_expression "((stat64 *)0x7 < local_7ec)" (( "(") (binary_expression "(stat64 *)0x7 < local_7ec" (cast_expression "(stat64 *)0x7" (( "(") (type_descriptor "stat64 *" (type_identifier "stat64") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x7")) (< "<") (identifier "local_7ec")) () ")")) (compound_statement "{\n      pr2serr("bad argument to \'--wrprotect\'\n");\n      goto LAB_00011a7a;\n    }" ({ "{") (expression_statement "pr2serr("bad argument to \'--wrprotect\'\n");" (call_expression "pr2serr("bad argument to \'--wrprotect\'\n")" (identifier "pr2serr") (argument_list "("bad argument to \'--wrprotect\'\n")" (( "(") (string_literal ""bad argument to \'--wrprotect\'\n"" (" """) (string_content "bad argument to ") (escape_sequence "\'") (string_content "--wrprotect") (escape_sequence "\'") (escape_sequence "\n") (" """)) () ")"))) (; ";")) (goto_statement "goto LAB_00011a7a;" (goto "goto") (statement_identifier "LAB_00011a7a") (; ";")) (} "}"))) (expression_statement "local_813 = 0 < (int)local_7ec;" (assignment_expression "local_813 = 0 < (int)local_7ec" (identifier "local_813") (= "=") (binary_expression "0 < (int)local_7ec" (number_literal "0") (< "<") (cast_expression "(int)local_7ec" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_7ec")))) (; ";")) (expression_statement "psVar38 = local_7d0;" (assignment_expression "psVar38 = local_7d0" (identifier "psVar38") (= "=") (identifier "local_7d0")) (; ";")) (expression_statement "uVar16 = uStack_7c4;" (assignment_expression "uVar16 = uStack_7c4" (identifier "uVar16") (= "=") (identifier "uStack_7c4")) (; ";")) (expression_statement "uVar7 = local_7c0;" (assignment_expression "uVar7 = local_7c0" (identifier "uVar7") (= "=") (identifier "local_7c0")) (; ";")) (goto_statement "goto code_r0x000114e8;" (goto "goto") (statement_identifier "code_r0x000114e8") (; ";"))) (case_statement "case 0x78:\n    iStack_808 = iStack_808 + 1;\n    goto code_r0x000114e8;" (case "case") (number_literal "0x78") (: ":") (expression_statement "iStack_808 = iStack_808 + 1;" (assignment_expression "iStack_808 = iStack_808 + 1" (identifier "iStack_808") (= "=") (binary_expression "iStack_808 + 1" (identifier "iStack_808") (+ "+") (number_literal "1"))) (; ";")) (goto_statement "goto code_r0x000114e8;" (goto "goto") (statement_identifier "code_r0x000114e8") (; ";"))) (} "}"))) (expression_statement "pr2serr(pcVar15);" (call_expression "pr2serr(pcVar15)" (identifier "pr2serr") (argument_list "(pcVar15)" (( "(") (identifier "pcVar15") () ")"))) (; ";")) (expression_statement "FUN_000149b0();" (call_expression "FUN_000149b0()" (identifier "FUN_000149b0") (argument_list "()" (( "(") () ")"))) (; ";")) (goto_statement "goto LAB_00011a7a;" (goto "goto") (statement_identifier "LAB_00011a7a") (; ";")) (labeled_statement "LAB_00011c60:\n  while (*(int *)puVar4 < iVar14) {\n    pr2serr("Unexpected extra argument: %s\n",*(undefined4 *)(iVar28 + *(int *)puVar4 * 4),iVar10,\n            iVar10);\n    *(int *)puVar4 = *(int *)puVar4 + 1;\n    iVar10 = extraout_EDX;\n  }" (statement_identifier "LAB_00011c60") (: ":") (while_statement "while (*(int *)puVar4 < iVar14) {\n    pr2serr("Unexpected extra argument: %s\n",*(undefined4 *)(iVar28 + *(int *)puVar4 * 4),iVar10,\n            iVar10);\n    *(int *)puVar4 = *(int *)puVar4 + 1;\n    iVar10 = extraout_EDX;\n  }" (while "while") (parenthesized_expression "(*(int *)puVar4 < iVar14)" (( "(") (binary_expression "*(int *)puVar4 < iVar14" (pointer_expression "*(int *)puVar4" (* "*") (cast_expression "(int *)puVar4" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "puVar4"))) (< "<") (identifier "iVar14")) () ")")) (compound_statement "{\n    pr2serr("Unexpected extra argument: %s\n",*(undefined4 *)(iVar28 + *(int *)puVar4 * 4),iVar10,\n            iVar10);\n    *(int *)puVar4 = *(int *)puVar4 + 1;\n    iVar10 = extraout_EDX;\n  }" ({ "{") (expression_statement "pr2serr("Unexpected extra argument: %s\n",*(undefined4 *)(iVar28 + *(int *)puVar4 * 4),iVar10,\n            iVar10);" (call_expression "pr2serr("Unexpected extra argument: %s\n",*(undefined4 *)(iVar28 + *(int *)puVar4 * 4),iVar10,\n            iVar10)" (identifier "pr2serr") (argument_list "("Unexpected extra argument: %s\n",*(undefined4 *)(iVar28 + *(int *)puVar4 * 4),iVar10,\n            iVar10)" (( "(") (string_literal ""Unexpected extra argument: %s\n"" (" """) (string_content "Unexpected extra argument: %s") (escape_sequence "\n") (" """)) (, ",") (pointer_expression "*(undefined4 *)(iVar28 + *(int *)puVar4 * 4)" (* "*") (cast_expression "(undefined4 *)(iVar28 + *(int *)puVar4 * 4)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar28 + *(int *)puVar4 * 4)" (( "(") (binary_expression "iVar28 + *(int *)puVar4 * 4" (identifier "iVar28") (+ "+") (binary_expression "*(int *)puVar4 * 4" (pointer_expression "*(int *)puVar4" (* "*") (cast_expression "(int *)puVar4" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "puVar4"))) (* "*") (number_literal "4"))) () ")")))) (, ",") (identifier "iVar10") (, ",") (identifier "iVar10") () ")"))) (; ";")) (expression_statement "*(int *)puVar4 = *(int *)puVar4 + 1;" (assignment_expression "*(int *)puVar4 = *(int *)puVar4 + 1" (pointer_expression "*(int *)puVar4" (* "*") (cast_expression "(int *)puVar4" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "puVar4"))) (= "=") (binary_expression "*(int *)puVar4 + 1" (pointer_expression "*(int *)puVar4" (* "*") (cast_expression "(int *)puVar4" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "puVar4"))) (+ "+") (number_literal "1"))) (; ";")) (expression_statement "iVar10 = extraout_EDX;" (assignment_expression "iVar10 = extraout_EDX" (identifier "iVar10") (= "=") (identifier "extraout_EDX")) (; ";")) (} "}")))) (expression_statement "FUN_000149b0();" (call_expression "FUN_000149b0()" (identifier "FUN_000149b0") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "local_908 = (stat64 *)0x1;" (assignment_expression "local_908 = (stat64 *)0x1" (identifier "local_908") (= "=") (cast_expression "(stat64 *)0x1" (( "(") (type_descriptor "stat64 *" (type_identifier "stat64") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x1"))) (; ";")) (goto_statement "goto LAB_00011a84;" (goto "goto") (statement_identifier "LAB_00011a84") (; ";")) (while_statement "while( true ) {\n    iVar14 = iVar14 + -1;\n    cVar6 = *pcVar15;\n    pcVar15 = pcVar15 + (uint)bVar32 * -2 + 1;\n    if (cVar6 == '\0') break;\ncode_r0x00011d5c:\n    if (iVar14 == 0) break;\n  }" (while "while") (parenthesized_expression "( true )" (( "(") (true "true") () ")")) (compound_statement "{\n    iVar14 = iVar14 + -1;\n    cVar6 = *pcVar15;\n    pcVar15 = pcVar15 + (uint)bVar32 * -2 + 1;\n    if (cVar6 == '\0') break;\ncode_r0x00011d5c:\n    if (iVar14 == 0) break;\n  }" ({ "{") (expression_statement "iVar14 = iVar14 + -1;" (assignment_expression "iVar14 = iVar14 + -1" (identifier "iVar14") (= "=") (binary_expression "iVar14 + -1" (identifier "iVar14") (+ "+") (number_literal "-1"))) (; ";")) (expression_statement "cVar6 = *pcVar15;" (assignment_expression "cVar6 = *pcVar15" (identifier "cVar6") (= "=") (pointer_expression "*pcVar15" (* "*") (identifier "pcVar15"))) (; ";")) (expression_statement "pcVar15 = pcVar15 + (uint)bVar32 * -2 + 1;" (assignment_expression "pcVar15 = pcVar15 + (uint)bVar32 * -2 + 1" (identifier "pcVar15") (= "=") (binary_expression "pcVar15 + (uint)bVar32 * -2 + 1" (binary_expression "pcVar15 + (uint)bVar32 * -2" (identifier "pcVar15") (+ "+") (binary_expression "(uint)bVar32 * -2" (cast_expression "(uint)bVar32" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "bVar32")) (* "*") (number_literal "-2"))) (+ "+") (number_literal "1"))) (; ";")) (if_statement "if (cVar6 == '\0') break;" (if "if") (parenthesized_expression "(cVar6 == '\0')" (( "(") (binary_expression "cVar6 == '\0'" (identifier "cVar6") (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (break_statement "break;" (break "break") (; ";"))) (labeled_statement "code_r0x00011d5c:\n    if (iVar14 == 0) break;" (statement_identifier "code_r0x00011d5c") (: ":") (if_statement "if (iVar14 == 0) break;" (if "if") (parenthesized_expression "(iVar14 == 0)" (( "(") (binary_expression "iVar14 == 0" (identifier "iVar14") (== "==") (number_literal "0")) () ")")) (break_statement "break;" (break "break") (; ";")))) (} "}"))) (if_statement "if ((iVar14 == -3) && (*local_798 == '-')) {\n    pr2serr("don\'t accept \'-\' (implying stdin) as a filename in --scat-file=SF\n");\n    local_908 = (stat64 *)0x1f;\n    goto LAB_00011a84;\n  }" (if "if") (parenthesized_expression "((iVar14 == -3) && (*local_798 == '-'))" (( "(") (binary_expression "(iVar14 == -3) && (*local_798 == '-')" (parenthesized_expression "(iVar14 == -3)" (( "(") (binary_expression "iVar14 == -3" (identifier "iVar14") (== "==") (number_literal "-3")) () ")")) (&& "&&") (parenthesized_expression "(*local_798 == '-')" (( "(") (binary_expression "*local_798 == '-'" (pointer_expression "*local_798" (* "*") (identifier "local_798")) (== "==") (char_literal "'-'" (' "'") (character "-") (' "'"))) () ")"))) () ")")) (compound_statement "{\n    pr2serr("don\'t accept \'-\' (implying stdin) as a filename in --scat-file=SF\n");\n    local_908 = (stat64 *)0x1f;\n    goto LAB_00011a84;\n  }" ({ "{") (expression_statement "pr2serr("don\'t accept \'-\' (implying stdin) as a filename in --scat-file=SF\n");" (call_expression "pr2serr("don\'t accept \'-\' (implying stdin) as a filename in --scat-file=SF\n")" (identifier "pr2serr") (argument_list "("don\'t accept \'-\' (implying stdin) as a filename in --scat-file=SF\n")" (( "(") (string_literal ""don\'t accept \'-\' (implying stdin) as a filename in --scat-file=SF\n"" (" """) (string_content "don") (escape_sequence "\'") (string_content "t accept ") (escape_sequence "\'") (string_content "-") (escape_sequence "\'") (string_content " (implying stdin) as a filename in --scat-file=SF") (escape_sequence "\n") (" """)) () ")"))) (; ";")) (expression_statement "local_908 = (stat64 *)0x1f;" (assignment_expression "local_908 = (stat64 *)0x1f" (identifier "local_908") (= "=") (cast_expression "(stat64 *)0x1f" (( "(") (type_descriptor "stat64 *" (type_identifier "stat64") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x1f"))) (; ";")) (goto_statement "goto LAB_00011a84;" (goto "goto") (statement_identifier "LAB_00011a84") (; ";")) (} "}"))) (labeled_statement "LAB_00011d67:\n  if (((psVar38 != (stat64 *)0x0) && (local_820 != '\0')) &&\n     ((local_7c0 != 0xffffffff || ((local_7e6 & local_7dc) != 0xffff)))) {\n    pr2serr("--app-tag=, --ref-tag= and --tag-mask= options ignored with 16 byte commands\n");\n  }" (statement_identifier "LAB_00011d67") (: ":") (if_statement "if (((psVar38 != (stat64 *)0x0) && (local_820 != '\0')) &&\n     ((local_7c0 != 0xffffffff || ((local_7e6 & local_7dc) != 0xffff)))) {\n    pr2serr("--app-tag=, --ref-tag= and --tag-mask= options ignored with 16 byte commands\n");\n  }" (if "if") (parenthesized_expression "(((psVar38 != (stat64 *)0x0) && (local_820 != '\0')) &&\n     ((local_7c0 != 0xffffffff || ((local_7e6 & local_7dc) != 0xffff))))" (( "(") (binary_expression "((psVar38 != (stat64 *)0x0) && (local_820 != '\0')) &&\n     ((local_7c0 != 0xffffffff || ((local_7e6 & local_7dc) != 0xffff)))" (parenthesized_expression "((psVar38 != (stat64 *)0x0) && (local_820 != '\0'))" (( "(") (binary_expression "(psVar38 != (stat64 *)0x0) && (local_820 != '\0')" (parenthesized_expression "(psVar38 != (stat64 *)0x0)" (( "(") (binary_expression "psVar38 != (stat64 *)0x0" (identifier "psVar38") (!= "!=") (cast_expression "(stat64 *)0x0" (( "(") (type_descriptor "stat64 *" (type_identifier "stat64") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (&& "&&") (parenthesized_expression "(local_820 != '\0')" (( "(") (binary_expression "local_820 != '\0'" (identifier "local_820") (!= "!=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")"))) () ")")) (&& "&&") (parenthesized_expression "((local_7c0 != 0xffffffff || ((local_7e6 & local_7dc) != 0xffff)))" (( "(") (parenthesized_expression "(local_7c0 != 0xffffffff || ((local_7e6 & local_7dc) != 0xffff))" (( "(") (binary_expression "local_7c0 != 0xffffffff || ((local_7e6 & local_7dc) != 0xffff)" (binary_expression "local_7c0 != 0xffffffff" (identifier "local_7c0") (!= "!=") (number_literal "0xffffffff")) (|| "||") (parenthesized_expression "((local_7e6 & local_7dc) != 0xffff)" (( "(") (binary_expression "(local_7e6 & local_7dc) != 0xffff" (parenthesized_expression "(local_7e6 & local_7dc)" (( "(") (binary_expression "local_7e6 & local_7dc" (identifier "local_7e6") (& "&") (identifier "local_7dc")) () ")")) (!= "!=") (number_literal "0xffff")) () ")"))) () ")")) () ")"))) () ")")) (compound_statement "{\n    pr2serr("--app-tag=, --ref-tag= and --tag-mask= options ignored with 16 byte commands\n");\n  }" ({ "{") (expression_statement "pr2serr("--app-tag=, --ref-tag= and --tag-mask= options ignored with 16 byte commands\n");" (call_expression "pr2serr("--app-tag=, --ref-tag= and --tag-mask= options ignored with 16 byte commands\n")" (identifier "pr2serr") (argument_list "("--app-tag=, --ref-tag= and --tag-mask= options ignored with 16 byte commands\n")" (( "(") (string_literal ""--app-tag=, --ref-tag= and --tag-mask= options ignored with 16 byte commands\n"" (" """) (string_content "--app-tag=, --ref-tag= and --tag-mask= options ignored with 16 byte commands") (escape_sequence "\n") (" """)) () ")"))) (; ";")) (} "}")))) (expression_statement "psVar45 = local_7d0;" (assignment_expression "psVar45 = local_7d0" (identifier "psVar45") (= "=") (identifier "local_7d0")) (; ";")) (expression_statement "psVar9 = (stat64 *)(uint)local_810;" (assignment_expression "psVar9 = (stat64 *)(uint)local_810" (identifier "psVar9") (= "=") (cast_expression "(stat64 *)(uint)local_810" (( "(") (type_descriptor "stat64 *" (type_identifier "stat64") (abstract_pointer_declarator "*" (* "*"))) () ")") (cast_expression "(uint)local_810" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "local_810")))) (; ";")) (if_statement "if (local_810 == 0) {\n    local_93c = local_7d0;\n    cVar2 = '\0';\n    if (local_79c == (char *)0x0) {\n      pr2serr("Need --if=FN option to be given, exiting.\n");\n      if (1 < (int)psVar38) {\n        pr2serr("To write zeros use --in=/dev/zero\n");\n      }\n      pr2serr("\n");\n      FUN_000149b0();\n      local_908 = (stat64 *)0x1;\n      goto LAB_00011a84;\n    }\n    iVar14 = -1;\n    pcVar15 = local_79c;\n    do {\n      if (iVar14 == 0) break;\n      iVar14 = iVar14 + -1;\n      cVar6 = *pcVar15;\n      pcVar15 = pcVar15 + (uint)bVar32 * -2 + 1;\n    } while (cVar6 != '\0');\n    if ((iVar14 != -3) || (*local_79c != '-')) {\n      local_924 = (stat64 *)open64(local_79c,0,iVar14,iVar14);\n      if ((int)local_924 < 0) {\n        piVar19 = __errno_location();\n        iVar14 = *piVar19;\n        pcVar15 = "could not open %s for reading";\n      }\n      else {\n        psVar17 = (stat64 *)sg_set_binary_mode(local_924);\n        if ((int)psVar17 < 0) goto LAB_00011dea;\n        psVar22 = local_924;\n        psVar8 = local_930;\n        iVar14 = __fxstat64(3,(int)local_924,local_930);\n        if (-1 < iVar14) {\n          if ((local_8e0._16_4_ & 0xf000) == 0x8000) {\n            local_93c = (stat64 *)local_8e0._44_4_;\n            if (psVar45 != (stat64 *)0x0) {\n              local_93c = psVar45;\n            }\n            if ((local_8b0 != 0 || (stat64 *)local_8e0._44_4_ != (stat64 *)0x0) &&\n               (psVar25 = (stat64 *)((int)&((stat64 *)(local_8e0._44_4_ + -0x60))->st_ino + 7),\n               iVar28 = local_8b0 + -1 + (uint)((stat64 *)local_8e0._44_4_ != (stat64 *)0x0),\n               iVar14 = (int)local_7b0 - iVar28,\n               (SBORROW4((int)local_7b0,iVar28) != SBORROW4(iVar14,(uint)(local_7b4 < psVar25))) ==\n               (int)(iVar14 - (uint)(local_7b4 < psVar25)) < 0)) {\n              pr2serr("Offset (%llu) is at or beyond IF byte length (%llu)\n",local_7b4,local_7b0,\n                      local_8e0._44_4_,local_8b0,psVar22,psVar8,psVar17);\n              local_908 = (stat64 *)0xf;\n              goto LAB_00012527;\n            }\n            psVar9 = local_7b4;\n            psVar45 = (stat64 *)local_8e0._44_4_;\n            iVar14 = local_8b0;\n            if (local_7b0 != (stat64 *)0x0 || local_7b4 != (stat64 *)0x0) {\n              psVar17 = (stat64 *)0x0;\n              psVar22 = local_7b4;\n              psVar8 = local_7b0;\n              _Var35 = lseek64((int)local_924,CONCAT44(local_7b0,local_7b4),0);\n              psVar25 = local_7b4;\n              if (_Var35 < 0) {\n                piVar19 = __errno_location();\n                psVar25 = (stat64 *)(local_174 + 0x50);\n                iVar14 = *piVar19;\n                __snprintf_chk(psVar25,0x100,1,0x100,"couldn\'t offset to required position on %s",\n                               local_79c,piVar19,piVar19);\n                perror((char *)psVar25);\n                local_908 = (stat64 *)sg_convert_errno(iVar14);\n                goto LAB_00012527;\n              }\n              psVar9 = (stat64 *)((int)psVar45 - (int)local_7b4);\n              iVar14 = (local_8b0 - (int)local_7b0) - (uint)(psVar45 < local_7b4);\n              local_930 = psVar45;\n              if ((int)(uint)(psVar9 != (stat64 *)0x0) <= -iVar14) {\n                pr2serr("--offset [0x%llx] at or beyond file length[0x%llx]\n",local_7b4,local_7b0,\n                        psVar45,local_8b0);\n                local_908 = (stat64 *)0xf;\n                goto LAB_00012527;\n              }\n              if ((local_7f8 != 0) &&\n                 (local_930 = local_7d0, iVar14 < (int)(uint)(psVar9 < local_7d0))) {\n                pr2serr("after accounting for OFF, DLEN exceeds %s remaining length (%u bytes)\n",\n                        local_79c,psVar9,psVar9);\n                local_908 = (stat64 *)0xf;\n                psVar25 = psVar9;\n                goto LAB_00012527;\n              }\n              if (iVar14 < (int)(uint)(psVar9 < local_93c)) {\n                local_93c = psVar9;\n              }\n              psVar45 = psVar9;\n              if (2 < (int)psVar38) {\n                psVar22 = local_7b4;\n                psVar8 = local_93c;\n                psVar17 = psVar9;\n                psVar9 = (stat64 *)\n                         pr2serr("Moved IF byte pointer to %u, if_len=%u, if_readable_len=%u\n",\n                                 local_7b4,local_93c,psVar9);\n              }\n            }\n            goto LAB_00011fa8;\n          }\n          goto LAB_00011e6c;\n        }\n        piVar19 = __errno_location();\n        iVar14 = *piVar19;\n        pcVar15 = "could not fstat %s";\n      }\n      __snprintf_chk(local_174 + 0x50,0x100,1,0x100,pcVar15,local_79c,piVar19,piVar19);\n      perror(local_174 + 0x50);\n      local_908 = (stat64 *)sg_convert_errno(iVar14);\n      goto LAB_00011a84;\n    }\n    iVar14 = sg_set_binary_mode(0);\n    cVar2 = '\x01';\n    local_924 = (stat64 *)0x0;\n    if (iVar14 < 0) {\nLAB_00011dea:\n      perror("sg_set_binary_mode");\n      local_908 = (stat64 *)0xf;\n      goto LAB_00011a84;\n    }\nLAB_00011e6c:\n    if (((stat64 *)((uint)local_7b0 | (uint)local_7b4) == (stat64 *)0x0) ||\n       (psVar38 == (stat64 *)0x0)) {\n      psVar9 = (stat64 *)((uint)local_7b0 | (uint)local_7b4);\n      psVar45 = (stat64 *)0x0;\n      iVar14 = 0;\n    }\n    else {\n      psVar9 = (stat64 *)\n               pr2serr(\n                      "--offset=OFF ignored when IF is stdin, pipe, socket, etc\nDLEN, if given, is used\n"\n                      );\n      psVar45 = (stat64 *)0x0;\n      iVar14 = 0;\n    }\n  }\n  else {\n    local_924 = (stat64 *)0xffffffff;\n    cVar2 = '\0';\n    psVar45 = (stat64 *)0x0;\n    iVar14 = 0;\n    local_93c = (stat64 *)0x0;\n  }" (if "if") (parenthesized_expression "(local_810 == 0)" (( "(") (binary_expression "local_810 == 0" (identifier "local_810") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n    local_93c = local_7d0;\n    cVar2 = '\0';\n    if (local_79c == (char *)0x0) {\n      pr2serr("Need --if=FN option to be given, exiting.\n");\n      if (1 < (int)psVar38) {\n        pr2serr("To write zeros use --in=/dev/zero\n");\n      }\n      pr2serr("\n");\n      FUN_000149b0();\n      local_908 = (stat64 *)0x1;\n      goto LAB_00011a84;\n    }\n    iVar14 = -1;\n    pcVar15 = local_79c;\n    do {\n      if (iVar14 == 0) break;\n      iVar14 = iVar14 + -1;\n      cVar6 = *pcVar15;\n      pcVar15 = pcVar15 + (uint)bVar32 * -2 + 1;\n    } while (cVar6 != '\0');\n    if ((iVar14 != -3) || (*local_79c != '-')) {\n      local_924 = (stat64 *)open64(local_79c,0,iVar14,iVar14);\n      if ((int)local_924 < 0) {\n        piVar19 = __errno_location();\n        iVar14 = *piVar19;\n        pcVar15 = "could not open %s for reading";\n      }\n      else {\n        psVar17 = (stat64 *)sg_set_binary_mode(local_924);\n        if ((int)psVar17 < 0) goto LAB_00011dea;\n        psVar22 = local_924;\n        psVar8 = local_930;\n        iVar14 = __fxstat64(3,(int)local_924,local_930);\n        if (-1 < iVar14) {\n          if ((local_8e0._16_4_ & 0xf000) == 0x8000) {\n            local_93c = (stat64 *)local_8e0._44_4_;\n            if (psVar45 != (stat64 *)0x0) {\n              local_93c = psVar45;\n            }\n            if ((local_8b0 != 0 || (stat64 *)local_8e0._44_4_ != (stat64 *)0x0) &&\n               (psVar25 = (stat64 *)((int)&((stat64 *)(local_8e0._44_4_ + -0x60))->st_ino + 7),\n               iVar28 = local_8b0 + -1 + (uint)((stat64 *)local_8e0._44_4_ != (stat64 *)0x0),\n               iVar14 = (int)local_7b0 - iVar28,\n               (SBORROW4((int)local_7b0,iVar28) != SBORROW4(iVar14,(uint)(local_7b4 < psVar25))) ==\n               (int)(iVar14 - (uint)(local_7b4 < psVar25)) < 0)) {\n              pr2serr("Offset (%llu) is at or beyond IF byte length (%llu)\n",local_7b4,local_7b0,\n                      local_8e0._44_4_,local_8b0,psVar22,psVar8,psVar17);\n              local_908 = (stat64 *)0xf;\n              goto LAB_00012527;\n            }\n            psVar9 = local_7b4;\n            psVar45 = (stat64 *)local_8e0._44_4_;\n            iVar14 = local_8b0;\n            if (local_7b0 != (stat64 *)0x0 || local_7b4 != (stat64 *)0x0) {\n              psVar17 = (stat64 *)0x0;\n              psVar22 = local_7b4;\n              psVar8 = local_7b0;\n              _Var35 = lseek64((int)local_924,CONCAT44(local_7b0,local_7b4),0);\n              psVar25 = local_7b4;\n              if (_Var35 < 0) {\n                piVar19 = __errno_location();\n                psVar25 = (stat64 *)(local_174 + 0x50);\n                iVar14 = *piVar19;\n                __snprintf_chk(psVar25,0x100,1,0x100,"couldn\'t offset to required position on %s",\n                               local_79c,piVar19,piVar19);\n                perror((char *)psVar25);\n                local_908 = (stat64 *)sg_convert_errno(iVar14);\n                goto LAB_00012527;\n              }\n              psVar9 = (stat64 *)((int)psVar45 - (int)local_7b4);\n              iVar14 = (local_8b0 - (int)local_7b0) - (uint)(psVar45 < local_7b4);\n              local_930 = psVar45;\n              if ((int)(uint)(psVar9 != (stat64 *)0x0) <= -iVar14) {\n                pr2serr("--offset [0x%llx] at or beyond file length[0x%llx]\n",local_7b4,local_7b0,\n                        psVar45,local_8b0);\n                local_908 = (stat64 *)0xf;\n                goto LAB_00012527;\n              }\n              if ((local_7f8 != 0) &&\n                 (local_930 = local_7d0, iVar14 < (int)(uint)(psVar9 < local_7d0))) {\n                pr2serr("after accounting for OFF, DLEN exceeds %s remaining length (%u bytes)\n",\n                        local_79c,psVar9,psVar9);\n                local_908 = (stat64 *)0xf;\n                psVar25 = psVar9;\n                goto LAB_00012527;\n              }\n              if (iVar14 < (int)(uint)(psVar9 < local_93c)) {\n                local_93c = psVar9;\n              }\n              psVar45 = psVar9;\n              if (2 < (int)psVar38) {\n                psVar22 = local_7b4;\n                psVar8 = local_93c;\n                psVar17 = psVar9;\n                psVar9 = (stat64 *)\n                         pr2serr("Moved IF byte pointer to %u, if_len=%u, if_readable_len=%u\n",\n                                 local_7b4,local_93c,psVar9);\n              }\n            }\n            goto LAB_00011fa8;\n          }\n          goto LAB_00011e6c;\n        }\n        piVar19 = __errno_location();\n        iVar14 = *piVar19;\n        pcVar15 = "could not fstat %s";\n      }\n      __snprintf_chk(local_174 + 0x50,0x100,1,0x100,pcVar15,local_79c,piVar19,piVar19);\n      perror(local_174 + 0x50);\n      local_908 = (stat64 *)sg_convert_errno(iVar14);\n      goto LAB_00011a84;\n    }\n    iVar14 = sg_set_binary_mode(0);\n    cVar2 = '\x01';\n    local_924 = (stat64 *)0x0;\n    if (iVar14 < 0) {\nLAB_00011dea:\n      perror("sg_set_binary_mode");\n      local_908 = (stat64 *)0xf;\n      goto LAB_00011a84;\n    }\nLAB_00011e6c:\n    if (((stat64 *)((uint)local_7b0 | (uint)local_7b4) == (stat64 *)0x0) ||\n       (psVar38 == (stat64 *)0x0)) {\n      psVar9 = (stat64 *)((uint)local_7b0 | (uint)local_7b4);\n      psVar45 = (stat64 *)0x0;\n      iVar14 = 0;\n    }\n    else {\n      psVar9 = (stat64 *)\n               pr2serr(\n                      "--offset=OFF ignored when IF is stdin, pipe, socket, etc\nDLEN, if given, is used\n"\n                      );\n      psVar45 = (stat64 *)0x0;\n      iVar14 = 0;\n    }\n  }" ({ "{") (expression_statement "local_93c = local_7d0;" (assignment_expression "local_93c = local_7d0" (identifier "local_93c") (= "=") (identifier "local_7d0")) (; ";")) (expression_statement "cVar2 = '\0';" (assignment_expression "cVar2 = '\0'" (identifier "cVar2") (= "=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) (; ";")) (if_statement "if (local_79c == (char *)0x0) {\n      pr2serr("Need --if=FN option to be given, exiting.\n");\n      if (1 < (int)psVar38) {\n        pr2serr("To write zeros use --in=/dev/zero\n");\n      }\n      pr2serr("\n");\n      FUN_000149b0();\n      local_908 = (stat64 *)0x1;\n      goto LAB_00011a84;\n    }" (if "if") (parenthesized_expression "(local_79c == (char *)0x0)" (( "(") (binary_expression "local_79c == (char *)0x0" (identifier "local_79c") (== "==") (cast_expression "(char *)0x0" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n      pr2serr("Need --if=FN option to be given, exiting.\n");\n      if (1 < (int)psVar38) {\n        pr2serr("To write zeros use --in=/dev/zero\n");\n      }\n      pr2serr("\n");\n      FUN_000149b0();\n      local_908 = (stat64 *)0x1;\n      goto LAB_00011a84;\n    }" ({ "{") (expression_statement "pr2serr("Need --if=FN option to be given, exiting.\n");" (call_expression "pr2serr("Need --if=FN option to be given, exiting.\n")" (identifier "pr2serr") (argument_list "("Need --if=FN option to be given, exiting.\n")" (( "(") (string_literal ""Need --if=FN option to be given, exiting.\n"" (" """) (string_content "Need --if=FN option to be given, exiting.") (escape_sequence "\n") (" """)) () ")"))) (; ";")) (if_statement "if (1 < (int)psVar38) {\n        pr2serr("To write zeros use --in=/dev/zero\n");\n      }" (if "if") (parenthesized_expression "(1 < (int)psVar38)" (( "(") (binary_expression "1 < (int)psVar38" (number_literal "1") (< "<") (cast_expression "(int)psVar38" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "psVar38"))) () ")")) (compound_statement "{\n        pr2serr("To write zeros use --in=/dev/zero\n");\n      }" ({ "{") (expression_statement "pr2serr("To write zeros use --in=/dev/zero\n");" (call_expression "pr2serr("To write zeros use --in=/dev/zero\n")" (identifier "pr2serr") (argument_list "("To write zeros use --in=/dev/zero\n")" (( "(") (string_literal ""To write zeros use --in=/dev/zero\n"" (" """) (string_content "To write zeros use --in=/dev/zero") (escape_sequence "\n") (" """)) () ")"))) (; ";")) (} "}"))) (expression_statement "pr2serr("\n");" (call_expression "pr2serr("\n")" (identifier "pr2serr") (argument_list "("\n")" (( "(") (string_literal ""\n"" (" """) (escape_sequence "\n") (" """)) () ")"))) (; ";")) (expression_statement "FUN_000149b0();" (call_expression "FUN_000149b0()" (identifier "FUN_000149b0") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "local_908 = (stat64 *)0x1;" (assignment_expression "local_908 = (stat64 *)0x1" (identifier "local_908") (= "=") (cast_expression "(stat64 *)0x1" (( "(") (type_descriptor "stat64 *" (type_identifier "stat64") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x1"))) (; ";")) (goto_statement "goto LAB_00011a84;" (goto "goto") (statement_identifier "LAB_00011a84") (; ";")) (} "}"))) (expression_statement "iVar14 = -1;" (assignment_expression "iVar14 = -1" (identifier "iVar14") (= "=") (number_literal "-1")) (; ";")) (expression_statement "pcVar15 = local_79c;" (assignment_expression "pcVar15 = local_79c" (identifier "pcVar15") (= "=") (identifier "local_79c")) (; ";")) (do_statement "do {\n      if (iVar14 == 0) break;\n      iVar14 = iVar14 + -1;\n      cVar6 = *pcVar15;\n      pcVar15 = pcVar15 + (uint)bVar32 * -2 + 1;\n    } while (cVar6 != '\0');" (do "do") (compound_statement "{\n      if (iVar14 == 0) break;\n      iVar14 = iVar14 + -1;\n      cVar6 = *pcVar15;\n      pcVar15 = pcVar15 + (uint)bVar32 * -2 + 1;\n    }" ({ "{") (if_statement "if (iVar14 == 0) break;" (if "if") (parenthesized_expression "(iVar14 == 0)" (( "(") (binary_expression "iVar14 == 0" (identifier "iVar14") (== "==") (number_literal "0")) () ")")) (break_statement "break;" (break "break") (; ";"))) (expression_statement "iVar14 = iVar14 + -1;" (assignment_expression "iVar14 = iVar14 + -1" (identifier "iVar14") (= "=") (binary_expression "iVar14 + -1" (identifier "iVar14") (+ "+") (number_literal "-1"))) (; ";")) (expression_statement "cVar6 = *pcVar15;" (assignment_expression "cVar6 = *pcVar15" (identifier "cVar6") (= "=") (pointer_expression "*pcVar15" (* "*") (identifier "pcVar15"))) (; ";")) (expression_statement "pcVar15 = pcVar15 + (uint)bVar32 * -2 + 1;" (assignment_expression "pcVar15 = pcVar15 + (uint)bVar32 * -2 + 1" (identifier "pcVar15") (= "=") (binary_expression "pcVar15 + (uint)bVar32 * -2 + 1" (binary_expression "pcVar15 + (uint)bVar32 * -2" (identifier "pcVar15") (+ "+") (binary_expression "(uint)bVar32 * -2" (cast_expression "(uint)bVar32" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "bVar32")) (* "*") (number_literal "-2"))) (+ "+") (number_literal "1"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(cVar6 != '\0')" (( "(") (binary_expression "cVar6 != '\0'" (identifier "cVar6") (!= "!=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (; ";")) (if_statement "if ((iVar14 != -3) || (*local_79c != '-')) {\n      local_924 = (stat64 *)open64(local_79c,0,iVar14,iVar14);\n      if ((int)local_924 < 0) {\n        piVar19 = __errno_location();\n        iVar14 = *piVar19;\n        pcVar15 = "could not open %s for reading";\n      }\n      else {\n        psVar17 = (stat64 *)sg_set_binary_mode(local_924);\n        if ((int)psVar17 < 0) goto LAB_00011dea;\n        psVar22 = local_924;\n        psVar8 = local_930;\n        iVar14 = __fxstat64(3,(int)local_924,local_930);\n        if (-1 < iVar14) {\n          if ((local_8e0._16_4_ & 0xf000) == 0x8000) {\n            local_93c = (stat64 *)local_8e0._44_4_;\n            if (psVar45 != (stat64 *)0x0) {\n              local_93c = psVar45;\n            }\n            if ((local_8b0 != 0 || (stat64 *)local_8e0._44_4_ != (stat64 *)0x0) &&\n               (psVar25 = (stat64 *)((int)&((stat64 *)(local_8e0._44_4_ + -0x60))->st_ino + 7),\n               iVar28 = local_8b0 + -1 + (uint)((stat64 *)local_8e0._44_4_ != (stat64 *)0x0),\n               iVar14 = (int)local_7b0 - iVar28,\n               (SBORROW4((int)local_7b0,iVar28) != SBORROW4(iVar14,(uint)(local_7b4 < psVar25))) ==\n               (int)(iVar14 - (uint)(local_7b4 < psVar25)) < 0)) {\n              pr2serr("Offset (%llu) is at or beyond IF byte length (%llu)\n",local_7b4,local_7b0,\n                      local_8e0._44_4_,local_8b0,psVar22,psVar8,psVar17);\n              local_908 = (stat64 *)0xf;\n              goto LAB_00012527;\n            }\n            psVar9 = local_7b4;\n            psVar45 = (stat64 *)local_8e0._44_4_;\n            iVar14 = local_8b0;\n            if (local_7b0 != (stat64 *)0x0 || local_7b4 != (stat64 *)0x0) {\n              psVar17 = (stat64 *)0x0;\n              psVar22 = local_7b4;\n              psVar8 = local_7b0;\n              _Var35 = lseek64((int)local_924,CONCAT44(local_7b0,local_7b4),0);\n              psVar25 = local_7b4;\n              if (_Var35 < 0) {\n                piVar19 = __errno_location();\n                psVar25 = (stat64 *)(local_174 + 0x50);\n                iVar14 = *piVar19;\n                __snprintf_chk(psVar25,0x100,1,0x100,"couldn\'t offset to required position on %s",\n                               local_79c,piVar19,piVar19);\n                perror((char *)psVar25);\n                local_908 = (stat64 *)sg_convert_errno(iVar14);\n                goto LAB_00012527;\n              }\n              psVar9 = (stat64 *)((int)psVar45 - (int)local_7b4);\n              iVar14 = (local_8b0 - (int)local_7b0) - (uint)(psVar45 < local_7b4);\n              local_930 = psVar45;\n              if ((int)(uint)(psVar9 != (stat64 *)0x0) <= -iVar14) {\n                pr2serr("--offset [0x%llx] at or beyond file length[0x%llx]\n",local_7b4,local_7b0,\n                        psVar45,local_8b0);\n                local_908 = (stat64 *)0xf;\n                goto LAB_00012527;\n              }\n              if ((local_7f8 != 0) &&\n                 (local_930 = local_7d0, iVar14 < (int)(uint)(psVar9 < local_7d0))) {\n                pr2serr("after accounting for OFF, DLEN exceeds %s remaining length (%u bytes)\n",\n                        local_79c,psVar9,psVar9);\n                local_908 = (stat64 *)0xf;\n                psVar25 = psVar9;\n                goto LAB_00012527;\n              }\n              if (iVar14 < (int)(uint)(psVar9 < local_93c)) {\n                local_93c = psVar9;\n              }\n              psVar45 = psVar9;\n              if (2 < (int)psVar38) {\n                psVar22 = local_7b4;\n                psVar8 = local_93c;\n                psVar17 = psVar9;\n                psVar9 = (stat64 *)\n                         pr2serr("Moved IF byte pointer to %u, if_len=%u, if_readable_len=%u\n",\n                                 local_7b4,local_93c,psVar9);\n              }\n            }\n            goto LAB_00011fa8;\n          }\n          goto LAB_00011e6c;\n        }\n        piVar19 = __errno_location();\n        iVar14 = *piVar19;\n        pcVar15 = "could not fstat %s";\n      }\n      __snprintf_chk(local_174 + 0x50,0x100,1,0x100,pcVar15,local_79c,piVar19,piVar19);\n      perror(local_174 + 0x50);\n      local_908 = (stat64 *)sg_convert_errno(iVar14);\n      goto LAB_00011a84;\n    }" (if "if") (parenthesized_expression "((iVar14 != -3) || (*local_79c != '-'))" (( "(") (binary_expression "(iVar14 != -3) || (*local_79c != '-')" (parenthesized_expression "(iVar14 != -3)" (( "(") (binary_expression "iVar14 != -3" (identifier "iVar14") (!= "!=") (number_literal "-3")) () ")")) (|| "||") (parenthesized_expression "(*local_79c != '-')" (( "(") (binary_expression "*local_79c != '-'" (pointer_expression "*local_79c" (* "*") (identifier "local_79c")) (!= "!=") (char_literal "'-'" (' "'") (character "-") (' "'"))) () ")"))) () ")")) (compound_statement "{\n      local_924 = (stat64 *)open64(local_79c,0,iVar14,iVar14);\n      if ((int)local_924 < 0) {\n        piVar19 = __errno_location();\n        iVar14 = *piVar19;\n        pcVar15 = "could not open %s for reading";\n      }\n      else {\n        psVar17 = (stat64 *)sg_set_binary_mode(local_924);\n        if ((int)psVar17 < 0) goto LAB_00011dea;\n        psVar22 = local_924;\n        psVar8 = local_930;\n        iVar14 = __fxstat64(3,(int)local_924,local_930);\n        if (-1 < iVar14) {\n          if ((local_8e0._16_4_ & 0xf000) == 0x8000) {\n            local_93c = (stat64 *)local_8e0._44_4_;\n            if (psVar45 != (stat64 *)0x0) {\n              local_93c = psVar45;\n            }\n            if ((local_8b0 != 0 || (stat64 *)local_8e0._44_4_ != (stat64 *)0x0) &&\n               (psVar25 = (stat64 *)((int)&((stat64 *)(local_8e0._44_4_ + -0x60))->st_ino + 7),\n               iVar28 = local_8b0 + -1 + (uint)((stat64 *)local_8e0._44_4_ != (stat64 *)0x0),\n               iVar14 = (int)local_7b0 - iVar28,\n               (SBORROW4((int)local_7b0,iVar28) != SBORROW4(iVar14,(uint)(local_7b4 < psVar25))) ==\n               (int)(iVar14 - (uint)(local_7b4 < psVar25)) < 0)) {\n              pr2serr("Offset (%llu) is at or beyond IF byte length (%llu)\n",local_7b4,local_7b0,\n                      local_8e0._44_4_,local_8b0,psVar22,psVar8,psVar17);\n              local_908 = (stat64 *)0xf;\n              goto LAB_00012527;\n            }\n            psVar9 = local_7b4;\n            psVar45 = (stat64 *)local_8e0._44_4_;\n            iVar14 = local_8b0;\n            if (local_7b0 != (stat64 *)0x0 || local_7b4 != (stat64 *)0x0) {\n              psVar17 = (stat64 *)0x0;\n              psVar22 = local_7b4;\n              psVar8 = local_7b0;\n              _Var35 = lseek64((int)local_924,CONCAT44(local_7b0,local_7b4),0);\n              psVar25 = local_7b4;\n              if (_Var35 < 0) {\n                piVar19 = __errno_location();\n                psVar25 = (stat64 *)(local_174 + 0x50);\n                iVar14 = *piVar19;\n                __snprintf_chk(psVar25,0x100,1,0x100,"couldn\'t offset to required position on %s",\n                               local_79c,piVar19,piVar19);\n                perror((char *)psVar25);\n                local_908 = (stat64 *)sg_convert_errno(iVar14);\n                goto LAB_00012527;\n              }\n              psVar9 = (stat64 *)((int)psVar45 - (int)local_7b4);\n              iVar14 = (local_8b0 - (int)local_7b0) - (uint)(psVar45 < local_7b4);\n              local_930 = psVar45;\n              if ((int)(uint)(psVar9 != (stat64 *)0x0) <= -iVar14) {\n                pr2serr("--offset [0x%llx] at or beyond file length[0x%llx]\n",local_7b4,local_7b0,\n                        psVar45,local_8b0);\n                local_908 = (stat64 *)0xf;\n                goto LAB_00012527;\n              }\n              if ((local_7f8 != 0) &&\n                 (local_930 = local_7d0, iVar14 < (int)(uint)(psVar9 < local_7d0))) {\n                pr2serr("after accounting for OFF, DLEN exceeds %s remaining length (%u bytes)\n",\n                        local_79c,psVar9,psVar9);\n                local_908 = (stat64 *)0xf;\n                psVar25 = psVar9;\n                goto LAB_00012527;\n              }\n              if (iVar14 < (int)(uint)(psVar9 < local_93c)) {\n                local_93c = psVar9;\n              }\n              psVar45 = psVar9;\n              if (2 < (int)psVar38) {\n                psVar22 = local_7b4;\n                psVar8 = local_93c;\n                psVar17 = psVar9;\n                psVar9 = (stat64 *)\n                         pr2serr("Moved IF byte pointer to %u, if_len=%u, if_readable_len=%u\n",\n                                 local_7b4,local_93c,psVar9);\n              }\n            }\n            goto LAB_00011fa8;\n          }\n          goto LAB_00011e6c;\n        }\n        piVar19 = __errno_location();\n        iVar14 = *piVar19;\n        pcVar15 = "could not fstat %s";\n      }\n      __snprintf_chk(local_174 + 0x50,0x100,1,0x100,pcVar15,local_79c,piVar19,piVar19);\n      perror(local_174 + 0x50);\n      local_908 = (stat64 *)sg_convert_errno(iVar14);\n      goto LAB_00011a84;\n    }" ({ "{") (expression_statement "local_924 = (stat64 *)open64(local_79c,0,iVar14,iVar14);" (assignment_expression "local_924 = (stat64 *)open64(local_79c,0,iVar14,iVar14)" (identifier "local_924") (= "=") (cast_expression "(stat64 *)open64(local_79c,0,iVar14,iVar14)" (( "(") (type_descriptor "stat64 *" (type_identifier "stat64") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "open64(local_79c,0,iVar14,iVar14)" (identifier "open64") (argument_list "(local_79c,0,iVar14,iVar14)" (( "(") (identifier "local_79c") (, ",") (number_literal "0") (, ",") (identifier "iVar14") (, ",") (identifier "iVar14") () ")"))))) (; ";")) (if_statement "if ((int)local_924 < 0) {\n        piVar19 = __errno_location();\n        iVar14 = *piVar19;\n        pcVar15 = "could not open %s for reading";\n      }\n      else {\n        psVar17 = (stat64 *)sg_set_binary_mode(local_924);\n        if ((int)psVar17 < 0) goto LAB_00011dea;\n        psVar22 = local_924;\n        psVar8 = local_930;\n        iVar14 = __fxstat64(3,(int)local_924,local_930);\n        if (-1 < iVar14) {\n          if ((local_8e0._16_4_ & 0xf000) == 0x8000) {\n            local_93c = (stat64 *)local_8e0._44_4_;\n            if (psVar45 != (stat64 *)0x0) {\n              local_93c = psVar45;\n            }\n            if ((local_8b0 != 0 || (stat64 *)local_8e0._44_4_ != (stat64 *)0x0) &&\n               (psVar25 = (stat64 *)((int)&((stat64 *)(local_8e0._44_4_ + -0x60))->st_ino + 7),\n               iVar28 = local_8b0 + -1 + (uint)((stat64 *)local_8e0._44_4_ != (stat64 *)0x0),\n               iVar14 = (int)local_7b0 - iVar28,\n               (SBORROW4((int)local_7b0,iVar28) != SBORROW4(iVar14,(uint)(local_7b4 < psVar25))) ==\n               (int)(iVar14 - (uint)(local_7b4 < psVar25)) < 0)) {\n              pr2serr("Offset (%llu) is at or beyond IF byte length (%llu)\n",local_7b4,local_7b0,\n                      local_8e0._44_4_,local_8b0,psVar22,psVar8,psVar17);\n              local_908 = (stat64 *)0xf;\n              goto LAB_00012527;\n            }\n            psVar9 = local_7b4;\n            psVar45 = (stat64 *)local_8e0._44_4_;\n            iVar14 = local_8b0;\n            if (local_7b0 != (stat64 *)0x0 || local_7b4 != (stat64 *)0x0) {\n              psVar17 = (stat64 *)0x0;\n              psVar22 = local_7b4;\n              psVar8 = local_7b0;\n              _Var35 = lseek64((int)local_924,CONCAT44(local_7b0,local_7b4),0);\n              psVar25 = local_7b4;\n              if (_Var35 < 0) {\n                piVar19 = __errno_location();\n                psVar25 = (stat64 *)(local_174 + 0x50);\n                iVar14 = *piVar19;\n                __snprintf_chk(psVar25,0x100,1,0x100,"couldn\'t offset to required position on %s",\n                               local_79c,piVar19,piVar19);\n                perror((char *)psVar25);\n                local_908 = (stat64 *)sg_convert_errno(iVar14);\n                goto LAB_00012527;\n              }\n              psVar9 = (stat64 *)((int)psVar45 - (int)local_7b4);\n              iVar14 = (local_8b0 - (int)local_7b0) - (uint)(psVar45 < local_7b4);\n              local_930 = psVar45;\n              if ((int)(uint)(psVar9 != (stat64 *)0x0) <= -iVar14) {\n                pr2serr("--offset [0x%llx] at or beyond file length[0x%llx]\n",local_7b4,local_7b0,\n                        psVar45,local_8b0);\n                local_908 = (stat64 *)0xf;\n                goto LAB_00012527;\n              }\n              if ((local_7f8 != 0) &&\n                 (local_930 = local_7d0, iVar14 < (int)(uint)(psVar9 < local_7d0))) {\n                pr2serr("after accounting for OFF, DLEN exceeds %s remaining length (%u bytes)\n",\n                        local_79c,psVar9,psVar9);\n                local_908 = (stat64 *)0xf;\n                psVar25 = psVar9;\n                goto LAB_00012527;\n              }\n              if (iVar14 < (int)(uint)(psVar9 < local_93c)) {\n                local_93c = psVar9;\n              }\n              psVar45 = psVar9;\n              if (2 < (int)psVar38) {\n                psVar22 = local_7b4;\n                psVar8 = local_93c;\n                psVar17 = psVar9;\n                psVar9 = (stat64 *)\n                         pr2serr("Moved IF byte pointer to %u, if_len=%u, if_readable_len=%u\n",\n                                 local_7b4,local_93c,psVar9);\n              }\n            }\n            goto LAB_00011fa8;\n          }\n          goto LAB_00011e6c;\n        }\n        piVar19 = __errno_location();\n        iVar14 = *piVar19;\n        pcVar15 = "could not fstat %s";\n      }" (if "if") (parenthesized_expression "((int)local_924 < 0)" (( "(") (binary_expression "(int)local_924 < 0" (cast_expression "(int)local_924" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_924")) (< "<") (number_literal "0")) () ")")) (compound_statement "{\n        piVar19 = __errno_location();\n        iVar14 = *piVar19;\n        pcVar15 = "could not open %s for reading";\n      }" ({ "{") (expression_statement "piVar19 = __errno_location();" (assignment_expression "piVar19 = __errno_location()" (identifier "piVar19") (= "=") (call_expression "__errno_location()" (identifier "__errno_location") (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "iVar14 = *piVar19;" (assignment_expression "iVar14 = *piVar19" (identifier "iVar14") (= "=") (pointer_expression "*piVar19" (* "*") (identifier "piVar19"))) (; ";")) (expression_statement "pcVar15 = "could not open %s for reading";" (assignment_expression "pcVar15 = "could not open %s for reading"" (identifier "pcVar15") (= "=") (string_literal ""could not open %s for reading"" (" """) (string_content "could not open %s for reading") (" """))) (; ";")) (} "}")) (else_clause "else {\n        psVar17 = (stat64 *)sg_set_binary_mode(local_924);\n        if ((int)psVar17 < 0) goto LAB_00011dea;\n        psVar22 = local_924;\n        psVar8 = local_930;\n        iVar14 = __fxstat64(3,(int)local_924,local_930);\n        if (-1 < iVar14) {\n          if ((local_8e0._16_4_ & 0xf000) == 0x8000) {\n            local_93c = (stat64 *)local_8e0._44_4_;\n            if (psVar45 != (stat64 *)0x0) {\n              local_93c = psVar45;\n            }\n            if ((local_8b0 != 0 || (stat64 *)local_8e0._44_4_ != (stat64 *)0x0) &&\n               (psVar25 = (stat64 *)((int)&((stat64 *)(local_8e0._44_4_ + -0x60))->st_ino + 7),\n               iVar28 = local_8b0 + -1 + (uint)((stat64 *)local_8e0._44_4_ != (stat64 *)0x0),\n               iVar14 = (int)local_7b0 - iVar28,\n               (SBORROW4((int)local_7b0,iVar28) != SBORROW4(iVar14,(uint)(local_7b4 < psVar25))) ==\n               (int)(iVar14 - (uint)(local_7b4 < psVar25)) < 0)) {\n              pr2serr("Offset (%llu) is at or beyond IF byte length (%llu)\n",local_7b4,local_7b0,\n                      local_8e0._44_4_,local_8b0,psVar22,psVar8,psVar17);\n              local_908 = (stat64 *)0xf;\n              goto LAB_00012527;\n            }\n            psVar9 = local_7b4;\n            psVar45 = (stat64 *)local_8e0._44_4_;\n            iVar14 = local_8b0;\n            if (local_7b0 != (stat64 *)0x0 || local_7b4 != (stat64 *)0x0) {\n              psVar17 = (stat64 *)0x0;\n              psVar22 = local_7b4;\n              psVar8 = local_7b0;\n              _Var35 = lseek64((int)local_924,CONCAT44(local_7b0,local_7b4),0);\n              psVar25 = local_7b4;\n              if (_Var35 < 0) {\n                piVar19 = __errno_location();\n                psVar25 = (stat64 *)(local_174 + 0x50);\n                iVar14 = *piVar19;\n                __snprintf_chk(psVar25,0x100,1,0x100,"couldn\'t offset to required position on %s",\n                               local_79c,piVar19,piVar19);\n                perror((char *)psVar25);\n                local_908 = (stat64 *)sg_convert_errno(iVar14);\n                goto LAB_00012527;\n              }\n              psVar9 = (stat64 *)((int)psVar45 - (int)local_7b4);\n              iVar14 = (local_8b0 - (int)local_7b0) - (uint)(psVar45 < local_7b4);\n              local_930 = psVar45;\n              if ((int)(uint)(psVar9 != (stat64 *)0x0) <= -iVar14) {\n                pr2serr("--offset [0x%llx] at or beyond file length[0x%llx]\n",local_7b4,local_7b0,\n                        psVar45,local_8b0);\n                local_908 = (stat64 *)0xf;\n                goto LAB_00012527;\n              }\n              if ((local_7f8 != 0) &&\n                 (local_930 = local_7d0, iVar14 < (int)(uint)(psVar9 < local_7d0))) {\n                pr2serr("after accounting for OFF, DLEN exceeds %s remaining length (%u bytes)\n",\n                        local_79c,psVar9,psVar9);\n                local_908 = (stat64 *)0xf;\n                psVar25 = psVar9;\n                goto LAB_00012527;\n              }\n              if (iVar14 < (int)(uint)(psVar9 < local_93c)) {\n                local_93c = psVar9;\n              }\n              psVar45 = psVar9;\n              if (2 < (int)psVar38) {\n                psVar22 = local_7b4;\n                psVar8 = local_93c;\n                psVar17 = psVar9;\n                psVar9 = (stat64 *)\n                         pr2serr("Moved IF byte pointer to %u, if_len=%u, if_readable_len=%u\n",\n                                 local_7b4,local_93c,psVar9);\n              }\n            }\n            goto LAB_00011fa8;\n          }\n          goto LAB_00011e6c;\n        }\n        piVar19 = __errno_location();\n        iVar14 = *piVar19;\n        pcVar15 = "could not fstat %s";\n      }" (else "else") (compound_statement "{\n        psVar17 = (stat64 *)sg_set_binary_mode(local_924);\n        if ((int)psVar17 < 0) goto LAB_00011dea;\n        psVar22 = local_924;\n        psVar8 = local_930;\n        iVar14 = __fxstat64(3,(int)local_924,local_930);\n        if (-1 < iVar14) {\n          if ((local_8e0._16_4_ & 0xf000) == 0x8000) {\n            local_93c = (stat64 *)local_8e0._44_4_;\n            if (psVar45 != (stat64 *)0x0) {\n              local_93c = psVar45;\n            }\n            if ((local_8b0 != 0 || (stat64 *)local_8e0._44_4_ != (stat64 *)0x0) &&\n               (psVar25 = (stat64 *)((int)&((stat64 *)(local_8e0._44_4_ + -0x60))->st_ino + 7),\n               iVar28 = local_8b0 + -1 + (uint)((stat64 *)local_8e0._44_4_ != (stat64 *)0x0),\n               iVar14 = (int)local_7b0 - iVar28,\n               (SBORROW4((int)local_7b0,iVar28) != SBORROW4(iVar14,(uint)(local_7b4 < psVar25))) ==\n               (int)(iVar14 - (uint)(local_7b4 < psVar25)) < 0)) {\n              pr2serr("Offset (%llu) is at or beyond IF byte length (%llu)\n",local_7b4,local_7b0,\n                      local_8e0._44_4_,local_8b0,psVar22,psVar8,psVar17);\n              local_908 = (stat64 *)0xf;\n              goto LAB_00012527;\n            }\n            psVar9 = local_7b4;\n            psVar45 = (stat64 *)local_8e0._44_4_;\n            iVar14 = local_8b0;\n            if (local_7b0 != (stat64 *)0x0 || local_7b4 != (stat64 *)0x0) {\n              psVar17 = (stat64 *)0x0;\n              psVar22 = local_7b4;\n              psVar8 = local_7b0;\n              _Var35 = lseek64((int)local_924,CONCAT44(local_7b0,local_7b4),0);\n              psVar25 = local_7b4;\n              if (_Var35 < 0) {\n                piVar19 = __errno_location();\n                psVar25 = (stat64 *)(local_174 + 0x50);\n                iVar14 = *piVar19;\n                __snprintf_chk(psVar25,0x100,1,0x100,"couldn\'t offset to required position on %s",\n                               local_79c,piVar19,piVar19);\n                perror((char *)psVar25);\n                local_908 = (stat64 *)sg_convert_errno(iVar14);\n                goto LAB_00012527;\n              }\n              psVar9 = (stat64 *)((int)psVar45 - (int)local_7b4);\n              iVar14 = (local_8b0 - (int)local_7b0) - (uint)(psVar45 < local_7b4);\n              local_930 = psVar45;\n              if ((int)(uint)(psVar9 != (stat64 *)0x0) <= -iVar14) {\n                pr2serr("--offset [0x%llx] at or beyond file length[0x%llx]\n",local_7b4,local_7b0,\n                        psVar45,local_8b0);\n                local_908 = (stat64 *)0xf;\n                goto LAB_00012527;\n              }\n              if ((local_7f8 != 0) &&\n                 (local_930 = local_7d0, iVar14 < (int)(uint)(psVar9 < local_7d0))) {\n                pr2serr("after accounting for OFF, DLEN exceeds %s remaining length (%u bytes)\n",\n                        local_79c,psVar9,psVar9);\n                local_908 = (stat64 *)0xf;\n                psVar25 = psVar9;\n                goto LAB_00012527;\n              }\n              if (iVar14 < (int)(uint)(psVar9 < local_93c)) {\n                local_93c = psVar9;\n              }\n              psVar45 = psVar9;\n              if (2 < (int)psVar38) {\n                psVar22 = local_7b4;\n                psVar8 = local_93c;\n                psVar17 = psVar9;\n                psVar9 = (stat64 *)\n                         pr2serr("Moved IF byte pointer to %u, if_len=%u, if_readable_len=%u\n",\n                                 local_7b4,local_93c,psVar9);\n              }\n            }\n            goto LAB_00011fa8;\n          }\n          goto LAB_00011e6c;\n        }\n        piVar19 = __errno_location();\n        iVar14 = *piVar19;\n        pcVar15 = "could not fstat %s";\n      }" ({ "{") (expression_statement "psVar17 = (stat64 *)sg_set_binary_mode(local_924);" (assignment_expression "psVar17 = (stat64 *)sg_set_binary_mode(local_924)" (identifier "psVar17") (= "=") (cast_expression "(stat64 *)sg_set_binary_mode(local_924)" (( "(") (type_descriptor "stat64 *" (type_identifier "stat64") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "sg_set_binary_mode(local_924)" (identifier "sg_set_binary_mode") (argument_list "(local_924)" (( "(") (identifier "local_924") () ")"))))) (; ";")) (if_statement "if ((int)psVar17 < 0) goto LAB_00011dea;" (if "if") (parenthesized_expression "((int)psVar17 < 0)" (( "(") (binary_expression "(int)psVar17 < 0" (cast_expression "(int)psVar17" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "psVar17")) (< "<") (number_literal "0")) () ")")) (goto_statement "goto LAB_00011dea;" (goto "goto") (statement_identifier "LAB_00011dea") (; ";"))) (expression_statement "psVar22 = local_924;" (assignment_expression "psVar22 = local_924" (identifier "psVar22") (= "=") (identifier "local_924")) (; ";")) (expression_statement "psVar8 = local_930;" (assignment_expression "psVar8 = local_930" (identifier "psVar8") (= "=") (identifier "local_930")) (; ";")) (expression_statement "iVar14 = __fxstat64(3,(int)local_924,local_930);" (assignment_expression "iVar14 = __fxstat64(3,(int)local_924,local_930)" (identifier "iVar14") (= "=") (call_expression "__fxstat64(3,(int)local_924,local_930)" (identifier "__fxstat64") (argument_list "(3,(int)local_924,local_930)" (( "(") (number_literal "3") (, ",") (cast_expression "(int)local_924" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_924")) (, ",") (identifier "local_930") () ")")))) (; ";")) (if_statement "if (-1 < iVar14) {\n          if ((local_8e0._16_4_ & 0xf000) == 0x8000) {\n            local_93c = (stat64 *)local_8e0._44_4_;\n            if (psVar45 != (stat64 *)0x0) {\n              local_93c = psVar45;\n            }\n            if ((local_8b0 != 0 || (stat64 *)local_8e0._44_4_ != (stat64 *)0x0) &&\n               (psVar25 = (stat64 *)((int)&((stat64 *)(local_8e0._44_4_ + -0x60))->st_ino + 7),\n               iVar28 = local_8b0 + -1 + (uint)((stat64 *)local_8e0._44_4_ != (stat64 *)0x0),\n               iVar14 = (int)local_7b0 - iVar28,\n               (SBORROW4((int)local_7b0,iVar28) != SBORROW4(iVar14,(uint)(local_7b4 < psVar25))) ==\n               (int)(iVar14 - (uint)(local_7b4 < psVar25)) < 0)) {\n              pr2serr("Offset (%llu) is at or beyond IF byte length (%llu)\n",local_7b4,local_7b0,\n                      local_8e0._44_4_,local_8b0,psVar22,psVar8,psVar17);\n              local_908 = (stat64 *)0xf;\n              goto LAB_00012527;\n            }\n            psVar9 = local_7b4;\n            psVar45 = (stat64 *)local_8e0._44_4_;\n            iVar14 = local_8b0;\n            if (local_7b0 != (stat64 *)0x0 || local_7b4 != (stat64 *)0x0) {\n              psVar17 = (stat64 *)0x0;\n              psVar22 = local_7b4;\n              psVar8 = local_7b0;\n              _Var35 = lseek64((int)local_924,CONCAT44(local_7b0,local_7b4),0);\n              psVar25 = local_7b4;\n              if (_Var35 < 0) {\n                piVar19 = __errno_location();\n                psVar25 = (stat64 *)(local_174 + 0x50);\n                iVar14 = *piVar19;\n                __snprintf_chk(psVar25,0x100,1,0x100,"couldn\'t offset to required position on %s",\n                               local_79c,piVar19,piVar19);\n                perror((char *)psVar25);\n                local_908 = (stat64 *)sg_convert_errno(iVar14);\n                goto LAB_00012527;\n              }\n              psVar9 = (stat64 *)((int)psVar45 - (int)local_7b4);\n              iVar14 = (local_8b0 - (int)local_7b0) - (uint)(psVar45 < local_7b4);\n              local_930 = psVar45;\n              if ((int)(uint)(psVar9 != (stat64 *)0x0) <= -iVar14) {\n                pr2serr("--offset [0x%llx] at or beyond file length[0x%llx]\n",local_7b4,local_7b0,\n                        psVar45,local_8b0);\n                local_908 = (stat64 *)0xf;\n                goto LAB_00012527;\n              }\n              if ((local_7f8 != 0) &&\n                 (local_930 = local_7d0, iVar14 < (int)(uint)(psVar9 < local_7d0))) {\n                pr2serr("after accounting for OFF, DLEN exceeds %s remaining length (%u bytes)\n",\n                        local_79c,psVar9,psVar9);\n                local_908 = (stat64 *)0xf;\n                psVar25 = psVar9;\n                goto LAB_00012527;\n              }\n              if (iVar14 < (int)(uint)(psVar9 < local_93c)) {\n                local_93c = psVar9;\n              }\n              psVar45 = psVar9;\n              if (2 < (int)psVar38) {\n                psVar22 = local_7b4;\n                psVar8 = local_93c;\n                psVar17 = psVar9;\n                psVar9 = (stat64 *)\n                         pr2serr("Moved IF byte pointer to %u, if_len=%u, if_readable_len=%u\n",\n                                 local_7b4,local_93c,psVar9);\n              }\n            }\n            goto LAB_00011fa8;\n          }\n          goto LAB_00011e6c;\n        }" (if "if") (parenthesized_expression "(-1 < iVar14)" (( "(") (binary_expression "-1 < iVar14" (number_literal "-1") (< "<") (identifier "iVar14")) () ")")) (compound_statement "{\n          if ((local_8e0._16_4_ & 0xf000) == 0x8000) {\n            local_93c = (stat64 *)local_8e0._44_4_;\n            if (psVar45 != (stat64 *)0x0) {\n              local_93c = psVar45;\n            }\n            if ((local_8b0 != 0 || (stat64 *)local_8e0._44_4_ != (stat64 *)0x0) &&\n               (psVar25 = (stat64 *)((int)&((stat64 *)(local_8e0._44_4_ + -0x60))->st_ino + 7),\n               iVar28 = local_8b0 + -1 + (uint)((stat64 *)local_8e0._44_4_ != (stat64 *)0x0),\n               iVar14 = (int)local_7b0 - iVar28,\n               (SBORROW4((int)local_7b0,iVar28) != SBORROW4(iVar14,(uint)(local_7b4 < psVar25))) ==\n               (int)(iVar14 - (uint)(local_7b4 < psVar25)) < 0)) {\n              pr2serr("Offset (%llu) is at or beyond IF byte length (%llu)\n",local_7b4,local_7b0,\n                      local_8e0._44_4_,local_8b0,psVar22,psVar8,psVar17);\n              local_908 = (stat64 *)0xf;\n              goto LAB_00012527;\n            }\n            psVar9 = local_7b4;\n            psVar45 = (stat64 *)local_8e0._44_4_;\n            iVar14 = local_8b0;\n            if (local_7b0 != (stat64 *)0x0 || local_7b4 != (stat64 *)0x0) {\n              psVar17 = (stat64 *)0x0;\n              psVar22 = local_7b4;\n              psVar8 = local_7b0;\n              _Var35 = lseek64((int)local_924,CONCAT44(local_7b0,local_7b4),0);\n              psVar25 = local_7b4;\n              if (_Var35 < 0) {\n                piVar19 = __errno_location();\n                psVar25 = (stat64 *)(local_174 + 0x50);\n                iVar14 = *piVar19;\n                __snprintf_chk(psVar25,0x100,1,0x100,"couldn\'t offset to required position on %s",\n                               local_79c,piVar19,piVar19);\n                perror((char *)psVar25);\n                local_908 = (stat64 *)sg_convert_errno(iVar14);\n                goto LAB_00012527;\n              }\n              psVar9 = (stat64 *)((int)psVar45 - (int)local_7b4);\n              iVar14 = (local_8b0 - (int)local_7b0) - (uint)(psVar45 < local_7b4);\n              local_930 = psVar45;\n              if ((int)(uint)(psVar9 != (stat64 *)0x0) <= -iVar14) {\n                pr2serr("--offset [0x%llx] at or beyond file length[0x%llx]\n",local_7b4,local_7b0,\n                        psVar45,local_8b0);\n                local_908 = (stat64 *)0xf;\n                goto LAB_00012527;\n              }\n              if ((local_7f8 != 0) &&\n                 (local_930 = local_7d0, iVar14 < (int)(uint)(psVar9 < local_7d0))) {\n                pr2serr("after accounting for OFF, DLEN exceeds %s remaining length (%u bytes)\n",\n                        local_79c,psVar9,psVar9);\n                local_908 = (stat64 *)0xf;\n                psVar25 = psVar9;\n                goto LAB_00012527;\n              }\n              if (iVar14 < (int)(uint)(psVar9 < local_93c)) {\n                local_93c = psVar9;\n              }\n              psVar45 = psVar9;\n              if (2 < (int)psVar38) {\n                psVar22 = local_7b4;\n                psVar8 = local_93c;\n                psVar17 = psVar9;\n                psVar9 = (stat64 *)\n                         pr2serr("Moved IF byte pointer to %u, if_len=%u, if_readable_len=%u\n",\n                                 local_7b4,local_93c,psVar9);\n              }\n            }\n            goto LAB_00011fa8;\n          }\n          goto LAB_00011e6c;\n        }" ({ "{") (if_statement "if ((local_8e0._16_4_ & 0xf000) == 0x8000) {\n            local_93c = (stat64 *)local_8e0._44_4_;\n            if (psVar45 != (stat64 *)0x0) {\n              local_93c = psVar45;\n            }\n            if ((local_8b0 != 0 || (stat64 *)local_8e0._44_4_ != (stat64 *)0x0) &&\n               (psVar25 = (stat64 *)((int)&((stat64 *)(local_8e0._44_4_ + -0x60))->st_ino + 7),\n               iVar28 = local_8b0 + -1 + (uint)((stat64 *)local_8e0._44_4_ != (stat64 *)0x0),\n               iVar14 = (int)local_7b0 - iVar28,\n               (SBORROW4((int)local_7b0,iVar28) != SBORROW4(iVar14,(uint)(local_7b4 < psVar25))) ==\n               (int)(iVar14 - (uint)(local_7b4 < psVar25)) < 0)) {\n              pr2serr("Offset (%llu) is at or beyond IF byte length (%llu)\n",local_7b4,local_7b0,\n                      local_8e0._44_4_,local_8b0,psVar22,psVar8,psVar17);\n              local_908 = (stat64 *)0xf;\n              goto LAB_00012527;\n            }\n            psVar9 = local_7b4;\n            psVar45 = (stat64 *)local_8e0._44_4_;\n            iVar14 = local_8b0;\n            if (local_7b0 != (stat64 *)0x0 || local_7b4 != (stat64 *)0x0) {\n              psVar17 = (stat64 *)0x0;\n              psVar22 = local_7b4;\n              psVar8 = local_7b0;\n              _Var35 = lseek64((int)local_924,CONCAT44(local_7b0,local_7b4),0);\n              psVar25 = local_7b4;\n              if (_Var35 < 0) {\n                piVar19 = __errno_location();\n                psVar25 = (stat64 *)(local_174 + 0x50);\n                iVar14 = *piVar19;\n                __snprintf_chk(psVar25,0x100,1,0x100,"couldn\'t offset to required position on %s",\n                               local_79c,piVar19,piVar19);\n                perror((char *)psVar25);\n                local_908 = (stat64 *)sg_convert_errno(iVar14);\n                goto LAB_00012527;\n              }\n              psVar9 = (stat64 *)((int)psVar45 - (int)local_7b4);\n              iVar14 = (local_8b0 - (int)local_7b0) - (uint)(psVar45 < local_7b4);\n              local_930 = psVar45;\n              if ((int)(uint)(psVar9 != (stat64 *)0x0) <= -iVar14) {\n                pr2serr("--offset [0x%llx] at or beyond file length[0x%llx]\n",local_7b4,local_7b0,\n                        psVar45,local_8b0);\n                local_908 = (stat64 *)0xf;\n                goto LAB_00012527;\n              }\n              if ((local_7f8 != 0) &&\n                 (local_930 = local_7d0, iVar14 < (int)(uint)(psVar9 < local_7d0))) {\n                pr2serr("after accounting for OFF, DLEN exceeds %s remaining length (%u bytes)\n",\n                        local_79c,psVar9,psVar9);\n                local_908 = (stat64 *)0xf;\n                psVar25 = psVar9;\n                goto LAB_00012527;\n              }\n              if (iVar14 < (int)(uint)(psVar9 < local_93c)) {\n                local_93c = psVar9;\n              }\n              psVar45 = psVar9;\n              if (2 < (int)psVar38) {\n                psVar22 = local_7b4;\n                psVar8 = local_93c;\n                psVar17 = psVar9;\n                psVar9 = (stat64 *)\n                         pr2serr("Moved IF byte pointer to %u, if_len=%u, if_readable_len=%u\n",\n                                 local_7b4,local_93c,psVar9);\n              }\n            }\n            goto LAB_00011fa8;\n          }" (if "if") (parenthesized_expression "((local_8e0._16_4_ & 0xf000) == 0x8000)" (( "(") (binary_expression "(local_8e0._16_4_ & 0xf000) == 0x8000" (parenthesized_expression "(local_8e0._16_4_ & 0xf000)" (( "(") (binary_expression "local_8e0._16_4_ & 0xf000" (field_expression "local_8e0._16_4_" (identifier "local_8e0") (. ".") (field_identifier "_16_4_")) (& "&") (number_literal "0xf000")) () ")")) (== "==") (number_literal "0x8000")) () ")")) (compound_statement "{\n            local_93c = (stat64 *)local_8e0._44_4_;\n            if (psVar45 != (stat64 *)0x0) {\n              local_93c = psVar45;\n            }\n            if ((local_8b0 != 0 || (stat64 *)local_8e0._44_4_ != (stat64 *)0x0) &&\n               (psVar25 = (stat64 *)((int)&((stat64 *)(local_8e0._44_4_ + -0x60))->st_ino + 7),\n               iVar28 = local_8b0 + -1 + (uint)((stat64 *)local_8e0._44_4_ != (stat64 *)0x0),\n               iVar14 = (int)local_7b0 - iVar28,\n               (SBORROW4((int)local_7b0,iVar28) != SBORROW4(iVar14,(uint)(local_7b4 < psVar25))) ==\n               (int)(iVar14 - (uint)(local_7b4 < psVar25)) < 0)) {\n              pr2serr("Offset (%llu) is at or beyond IF byte length (%llu)\n",local_7b4,local_7b0,\n                      local_8e0._44_4_,local_8b0,psVar22,psVar8,psVar17);\n              local_908 = (stat64 *)0xf;\n              goto LAB_00012527;\n            }\n            psVar9 = local_7b4;\n            psVar45 = (stat64 *)local_8e0._44_4_;\n            iVar14 = local_8b0;\n            if (local_7b0 != (stat64 *)0x0 || local_7b4 != (stat64 *)0x0) {\n              psVar17 = (stat64 *)0x0;\n              psVar22 = local_7b4;\n              psVar8 = local_7b0;\n              _Var35 = lseek64((int)local_924,CONCAT44(local_7b0,local_7b4),0);\n              psVar25 = local_7b4;\n              if (_Var35 < 0) {\n                piVar19 = __errno_location();\n                psVar25 = (stat64 *)(local_174 + 0x50);\n                iVar14 = *piVar19;\n                __snprintf_chk(psVar25,0x100,1,0x100,"couldn\'t offset to required position on %s",\n                               local_79c,piVar19,piVar19);\n                perror((char *)psVar25);\n                local_908 = (stat64 *)sg_convert_errno(iVar14);\n                goto LAB_00012527;\n              }\n              psVar9 = (stat64 *)((int)psVar45 - (int)local_7b4);\n              iVar14 = (local_8b0 - (int)local_7b0) - (uint)(psVar45 < local_7b4);\n              local_930 = psVar45;\n              if ((int)(uint)(psVar9 != (stat64 *)0x0) <= -iVar14) {\n                pr2serr("--offset [0x%llx] at or beyond file length[0x%llx]\n",local_7b4,local_7b0,\n                        psVar45,local_8b0);\n                local_908 = (stat64 *)0xf;\n                goto LAB_00012527;\n              }\n              if ((local_7f8 != 0) &&\n                 (local_930 = local_7d0, iVar14 < (int)(uint)(psVar9 < local_7d0))) {\n                pr2serr("after accounting for OFF, DLEN exceeds %s remaining length (%u bytes)\n",\n                        local_79c,psVar9,psVar9);\n                local_908 = (stat64 *)0xf;\n                psVar25 = psVar9;\n                goto LAB_00012527;\n              }\n              if (iVar14 < (int)(uint)(psVar9 < local_93c)) {\n                local_93c = psVar9;\n              }\n              psVar45 = psVar9;\n              if (2 < (int)psVar38) {\n                psVar22 = local_7b4;\n                psVar8 = local_93c;\n                psVar17 = psVar9;\n                psVar9 = (stat64 *)\n                         pr2serr("Moved IF byte pointer to %u, if_len=%u, if_readable_len=%u\n",\n                                 local_7b4,local_93c,psVar9);\n              }\n            }\n            goto LAB_00011fa8;\n          }" ({ "{") (expression_statement "local_93c = (stat64 *)local_8e0._44_4_;" (assignment_expression "local_93c = (stat64 *)local_8e0._44_4_" (identifier "local_93c") (= "=") (cast_expression "(stat64 *)local_8e0._44_4_" (( "(") (type_descriptor "stat64 *" (type_identifier "stat64") (abstract_pointer_declarator "*" (* "*"))) () ")") (field_expression "local_8e0._44_4_" (identifier "local_8e0") (. ".") (field_identifier "_44_4_")))) (; ";")) (if_statement "if (psVar45 != (stat64 *)0x0) {\n              local_93c = psVar45;\n            }" (if "if") (parenthesized_expression "(psVar45 != (stat64 *)0x0)" (( "(") (binary_expression "psVar45 != (stat64 *)0x0" (identifier "psVar45") (!= "!=") (cast_expression "(stat64 *)0x0" (( "(") (type_descriptor "stat64 *" (type_identifier "stat64") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n              local_93c = psVar45;\n            }" ({ "{") (expression_statement "local_93c = psVar45;" (assignment_expression "local_93c = psVar45" (identifier "local_93c") (= "=") (identifier "psVar45")) (; ";")) (} "}"))) (if_statement "if ((local_8b0 != 0 || (stat64 *)local_8e0._44_4_ != (stat64 *)0x0) &&\n               (psVar25 = (stat64 *)((int)&((stat64 *)(local_8e0._44_4_ + -0x60))->st_ino + 7),\n               iVar28 = local_8b0 + -1 + (uint)((stat64 *)local_8e0._44_4_ != (stat64 *)0x0),\n               iVar14 = (int)local_7b0 - iVar28,\n               (SBORROW4((int)local_7b0,iVar28) != SBORROW4(iVar14,(uint)(local_7b4 < psVar25))) ==\n               (int)(iVar14 - (uint)(local_7b4 < psVar25)) < 0)) {\n              pr2serr("Offset (%llu) is at or beyond IF byte length (%llu)\n",local_7b4,local_7b0,\n                      local_8e0._44_4_,local_8b0,psVar22,psVar8,psVar17);\n              local_908 = (stat64 *)0xf;\n              goto LAB_00012527;\n            }" (if "if") (parenthesized_expression "((local_8b0 != 0 || (stat64 *)local_8e0._44_4_ != (stat64 *)0x0) &&\n               (psVar25 = (stat64 *)((int)&((stat64 *)(local_8e0._44_4_ + -0x60))->st_ino + 7),\n               iVar28 = local_8b0 + -1 + (uint)((stat64 *)local_8e0._44_4_ != (stat64 *)0x0),\n               iVar14 = (int)local_7b0 - iVar28,\n               (SBORROW4((int)local_7b0,iVar28) != SBORROW4(iVar14,(uint)(local_7b4 < psVar25))) ==\n               (int)(iVar14 - (uint)(local_7b4 < psVar25)) < 0))" (( "(") (binary_expression "(local_8b0 != 0 || (stat64 *)local_8e0._44_4_ != (stat64 *)0x0) &&\n               (psVar25 = (stat64 *)((int)&((stat64 *)(local_8e0._44_4_ + -0x60))->st_ino + 7),\n               iVar28 = local_8b0 + -1 + (uint)((stat64 *)local_8e0._44_4_ != (stat64 *)0x0),\n               iVar14 = (int)local_7b0 - iVar28,\n               (SBORROW4((int)local_7b0,iVar28) != SBORROW4(iVar14,(uint)(local_7b4 < psVar25))) ==\n               (int)(iVar14 - (uint)(local_7b4 < psVar25)) < 0)" (parenthesized_expression "(local_8b0 != 0 || (stat64 *)local_8e0._44_4_ != (stat64 *)0x0)" (( "(") (binary_expression "local_8b0 != 0 || (stat64 *)local_8e0._44_4_ != (stat64 *)0x0" (binary_expression "local_8b0 != 0" (identifier "local_8b0") (!= "!=") (number_literal "0")) (|| "||") (binary_expression "(stat64 *)local_8e0._44_4_ != (stat64 *)0x0" (cast_expression "(stat64 *)local_8e0._44_4_" (( "(") (type_descriptor "stat64 *" (type_identifier "stat64") (abstract_pointer_declarator "*" (* "*"))) () ")") (field_expression "local_8e0._44_4_" (identifier "local_8e0") (. ".") (field_identifier "_44_4_"))) (!= "!=") (cast_expression "(stat64 *)0x0" (( "(") (type_descriptor "stat64 *" (type_identifier "stat64") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0")))) () ")")) (&& "&&") (parenthesized_expression "(psVar25 = (stat64 *)((int)&((stat64 *)(local_8e0._44_4_ + -0x60))->st_ino + 7),\n               iVar28 = local_8b0 + -1 + (uint)((stat64 *)local_8e0._44_4_ != (stat64 *)0x0),\n               iVar14 = (int)local_7b0 - iVar28,\n               (SBORROW4((int)local_7b0,iVar28) != SBORROW4(iVar14,(uint)(local_7b4 < psVar25))) ==\n               (int)(iVar14 - (uint)(local_7b4 < psVar25)) < 0)" (( "(") (comma_expression "psVar25 = (stat64 *)((int)&((stat64 *)(local_8e0._44_4_ + -0x60))->st_ino + 7),\n               iVar28 = local_8b0 + -1 + (uint)((stat64 *)local_8e0._44_4_ != (stat64 *)0x0),\n               iVar14 = (int)local_7b0 - iVar28,\n               (SBORROW4((int)local_7b0,iVar28) != SBORROW4(iVar14,(uint)(local_7b4 < psVar25))) ==\n               (int)(iVar14 - (uint)(local_7b4 < psVar25)) < 0" (assignment_expression "psVar25 = (stat64 *)((int)&((stat64 *)(local_8e0._44_4_ + -0x60))->st_ino + 7)" (identifier "psVar25") (= "=") (cast_expression "(stat64 *)((int)&((stat64 *)(local_8e0._44_4_ + -0x60))->st_ino + 7)" (( "(") (type_descriptor "stat64 *" (type_identifier "stat64") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)&((stat64 *)(local_8e0._44_4_ + -0x60))->st_ino + 7)" (( "(") (binary_expression "(int)&((stat64 *)(local_8e0._44_4_ + -0x60))->st_ino + 7" (cast_expression "(int)&((stat64 *)(local_8e0._44_4_ + -0x60))->st_ino" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (pointer_expression "&((stat64 *)(local_8e0._44_4_ + -0x60))->st_ino" (& "&") (field_expression "((stat64 *)(local_8e0._44_4_ + -0x60))->st_ino" (parenthesized_expression "((stat64 *)(local_8e0._44_4_ + -0x60))" (( "(") (cast_expression "(stat64 *)(local_8e0._44_4_ + -0x60)" (( "(") (type_descriptor "stat64 *" (type_identifier "stat64") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(local_8e0._44_4_ + -0x60)" (( "(") (binary_expression "local_8e0._44_4_ + -0x60" (field_expression "local_8e0._44_4_" (identifier "local_8e0") (. ".") (field_identifier "_44_4_")) (+ "+") (number_literal "-0x60")) () ")"))) () ")")) (-> "->") (field_identifier "st_ino")))) (+ "+") (number_literal "7")) () ")")))) (, ",") (comma_expression "iVar28 = local_8b0 + -1 + (uint)((stat64 *)local_8e0._44_4_ != (stat64 *)0x0),\n               iVar14 = (int)local_7b0 - iVar28,\n               (SBORROW4((int)local_7b0,iVar28) != SBORROW4(iVar14,(uint)(local_7b4 < psVar25))) ==\n               (int)(iVar14 - (uint)(local_7b4 < psVar25)) < 0" (assignment_expression "iVar28 = local_8b0 + -1 + (uint)((stat64 *)local_8e0._44_4_ != (stat64 *)0x0)" (identifier "iVar28") (= "=") (binary_expression "local_8b0 + -1 + (uint)((stat64 *)local_8e0._44_4_ != (stat64 *)0x0)" (binary_expression "local_8b0 + -1" (identifier "local_8b0") (+ "+") (number_literal "-1")) (+ "+") (call_expression "(uint)((stat64 *)local_8e0._44_4_ != (stat64 *)0x0)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "((stat64 *)local_8e0._44_4_ != (stat64 *)0x0)" (( "(") (binary_expression "(stat64 *)local_8e0._44_4_ != (stat64 *)0x0" (cast_expression "(stat64 *)local_8e0._44_4_" (( "(") (type_descriptor "stat64 *" (type_identifier "stat64") (abstract_pointer_declarator "*" (* "*"))) () ")") (field_expression "local_8e0._44_4_" (identifier "local_8e0") (. ".") (field_identifier "_44_4_"))) (!= "!=") (cast_expression "(stat64 *)0x0" (( "(") (type_descriptor "stat64 *" (type_identifier "stat64") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")"))))) (, ",") (comma_expression "iVar14 = (int)local_7b0 - iVar28,\n               (SBORROW4((int)local_7b0,iVar28) != SBORROW4(iVar14,(uint)(local_7b4 < psVar25))) ==\n               (int)(iVar14 - (uint)(local_7b4 < psVar25)) < 0" (assignment_expression "iVar14 = (int)local_7b0 - iVar28" (identifier "iVar14") (= "=") (binary_expression "(int)local_7b0 - iVar28" (cast_expression "(int)local_7b0" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_7b0")) (- "-") (identifier "iVar28"))) (, ",") (binary_expression "(SBORROW4((int)local_7b0,iVar28) != SBORROW4(iVar14,(uint)(local_7b4 < psVar25))) ==\n               (int)(iVar14 - (uint)(local_7b4 < psVar25)) < 0" (parenthesized_expression "(SBORROW4((int)local_7b0,iVar28) != SBORROW4(iVar14,(uint)(local_7b4 < psVar25)))" (( "(") (binary_expression "SBORROW4((int)local_7b0,iVar28) != SBORROW4(iVar14,(uint)(local_7b4 < psVar25))" (call_expression "SBORROW4((int)local_7b0,iVar28)" (identifier "SBORROW4") (argument_list "((int)local_7b0,iVar28)" (( "(") (cast_expression "(int)local_7b0" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_7b0")) (, ",") (identifier "iVar28") () ")"))) (!= "!=") (call_expression "SBORROW4(iVar14,(uint)(local_7b4 < psVar25))" (identifier "SBORROW4") (argument_list "(iVar14,(uint)(local_7b4 < psVar25))" (( "(") (identifier "iVar14") (, ",") (call_expression "(uint)(local_7b4 < psVar25)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(local_7b4 < psVar25)" (( "(") (binary_expression "local_7b4 < psVar25" (identifier "local_7b4") (< "<") (identifier "psVar25")) () ")"))) () ")")))) () ")")) (== "==") (binary_expression "(int)(iVar14 - (uint)(local_7b4 < psVar25)) < 0" (cast_expression "(int)(iVar14 - (uint)(local_7b4 < psVar25))" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (parenthesized_expression "(iVar14 - (uint)(local_7b4 < psVar25))" (( "(") (binary_expression "iVar14 - (uint)(local_7b4 < psVar25)" (identifier "iVar14") (- "-") (call_expression "(uint)(local_7b4 < psVar25)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(local_7b4 < psVar25)" (( "(") (binary_expression "local_7b4 < psVar25" (identifier "local_7b4") (< "<") (identifier "psVar25")) () ")")))) () ")"))) (< "<") (number_literal "0")))))) () ")"))) () ")")) (compound_statement "{\n              pr2serr("Offset (%llu) is at or beyond IF byte length (%llu)\n",local_7b4,local_7b0,\n                      local_8e0._44_4_,local_8b0,psVar22,psVar8,psVar17);\n              local_908 = (stat64 *)0xf;\n              goto LAB_00012527;\n            }" ({ "{") (expression_statement "pr2serr("Offset (%llu) is at or beyond IF byte length (%llu)\n",local_7b4,local_7b0,\n                      local_8e0._44_4_,local_8b0,psVar22,psVar8,psVar17);" (call_expression "pr2serr("Offset (%llu) is at or beyond IF byte length (%llu)\n",local_7b4,local_7b0,\n                      local_8e0._44_4_,local_8b0,psVar22,psVar8,psVar17)" (identifier "pr2serr") (argument_list "("Offset (%llu) is at or beyond IF byte length (%llu)\n",local_7b4,local_7b0,\n                      local_8e0._44_4_,local_8b0,psVar22,psVar8,psVar17)" (( "(") (string_literal ""Offset (%llu) is at or beyond IF byte length (%llu)\n"" (" """) (string_content "Offset (%llu) is at or beyond IF byte length (%llu)") (escape_sequence "\n") (" """)) (, ",") (identifier "local_7b4") (, ",") (identifier "local_7b0") (, ",") (field_expression "local_8e0._44_4_" (identifier "local_8e0") (. ".") (field_identifier "_44_4_")) (, ",") (identifier "local_8b0") (, ",") (identifier "psVar22") (, ",") (identifier "psVar8") (, ",") (identifier "psVar17") () ")"))) (; ";")) (expression_statement "local_908 = (stat64 *)0xf;" (assignment_expression "local_908 = (stat64 *)0xf" (identifier "local_908") (= "=") (cast_expression "(stat64 *)0xf" (( "(") (type_descriptor "stat64 *" (type_identifier "stat64") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0xf"))) (; ";")) (goto_statement "goto LAB_00012527;" (goto "goto") (statement_identifier "LAB_00012527") (; ";")) (} "}"))) (expression_statement "psVar9 = local_7b4;" (assignment_expression "psVar9 = local_7b4" (identifier "psVar9") (= "=") (identifier "local_7b4")) (; ";")) (expression_statement "psVar45 = (stat64 *)local_8e0._44_4_;" (assignment_expression "psVar45 = (stat64 *)local_8e0._44_4_" (identifier "psVar45") (= "=") (cast_expression "(stat64 *)local_8e0._44_4_" (( "(") (type_descriptor "stat64 *" (type_identifier "stat64") (abstract_pointer_declarator "*" (* "*"))) () ")") (field_expression "local_8e0._44_4_" (identifier "local_8e0") (. ".") (field_identifier "_44_4_")))) (; ";")) (expression_statement "iVar14 = local_8b0;" (assignment_expression "iVar14 = local_8b0" (identifier "iVar14") (= "=") (identifier "local_8b0")) (; ";")) (if_statement "if (local_7b0 != (stat64 *)0x0 || local_7b4 != (stat64 *)0x0) {\n              psVar17 = (stat64 *)0x0;\n              psVar22 = local_7b4;\n              psVar8 = local_7b0;\n              _Var35 = lseek64((int)local_924,CONCAT44(local_7b0,local_7b4),0);\n              psVar25 = local_7b4;\n              if (_Var35 < 0) {\n                piVar19 = __errno_location();\n                psVar25 = (stat64 *)(local_174 + 0x50);\n                iVar14 = *piVar19;\n                __snprintf_chk(psVar25,0x100,1,0x100,"couldn\'t offset to required position on %s",\n                               local_79c,piVar19,piVar19);\n                perror((char *)psVar25);\n                local_908 = (stat64 *)sg_convert_errno(iVar14);\n                goto LAB_00012527;\n              }\n              psVar9 = (stat64 *)((int)psVar45 - (int)local_7b4);\n              iVar14 = (local_8b0 - (int)local_7b0) - (uint)(psVar45 < local_7b4);\n              local_930 = psVar45;\n              if ((int)(uint)(psVar9 != (stat64 *)0x0) <= -iVar14) {\n                pr2serr("--offset [0x%llx] at or beyond file length[0x%llx]\n",local_7b4,local_7b0,\n                        psVar45,local_8b0);\n                local_908 = (stat64 *)0xf;\n                goto LAB_00012527;\n              }\n              if ((local_7f8 != 0) &&\n                 (local_930 = local_7d0, iVar14 < (int)(uint)(psVar9 < local_7d0))) {\n                pr2serr("after accounting for OFF, DLEN exceeds %s remaining length (%u bytes)\n",\n                        local_79c,psVar9,psVar9);\n                local_908 = (stat64 *)0xf;\n                psVar25 = psVar9;\n                goto LAB_00012527;\n              }\n              if (iVar14 < (int)(uint)(psVar9 < local_93c)) {\n                local_93c = psVar9;\n              }\n              psVar45 = psVar9;\n              if (2 < (int)psVar38) {\n                psVar22 = local_7b4;\n                psVar8 = local_93c;\n                psVar17 = psVar9;\n                psVar9 = (stat64 *)\n                         pr2serr("Moved IF byte pointer to %u, if_len=%u, if_readable_len=%u\n",\n                                 local_7b4,local_93c,psVar9);\n              }\n            }" (if "if") (parenthesized_expression "(local_7b0 != (stat64 *)0x0 || local_7b4 != (stat64 *)0x0)" (( "(") (binary_expression "local_7b0 != (stat64 *)0x0 || local_7b4 != (stat64 *)0x0" (binary_expression "local_7b0 != (stat64 *)0x0" (identifier "local_7b0") (!= "!=") (cast_expression "(stat64 *)0x0" (( "(") (type_descriptor "stat64 *" (type_identifier "stat64") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (|| "||") (binary_expression "local_7b4 != (stat64 *)0x0" (identifier "local_7b4") (!= "!=") (cast_expression "(stat64 *)0x0" (( "(") (type_descriptor "stat64 *" (type_identifier "stat64") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0")))) () ")")) (compound_statement "{\n              psVar17 = (stat64 *)0x0;\n              psVar22 = local_7b4;\n              psVar8 = local_7b0;\n              _Var35 = lseek64((int)local_924,CONCAT44(local_7b0,local_7b4),0);\n              psVar25 = local_7b4;\n              if (_Var35 < 0) {\n                piVar19 = __errno_location();\n                psVar25 = (stat64 *)(local_174 + 0x50);\n                iVar14 = *piVar19;\n                __snprintf_chk(psVar25,0x100,1,0x100,"couldn\'t offset to required position on %s",\n                               local_79c,piVar19,piVar19);\n                perror((char *)psVar25);\n                local_908 = (stat64 *)sg_convert_errno(iVar14);\n                goto LAB_00012527;\n              }\n              psVar9 = (stat64 *)((int)psVar45 - (int)local_7b4);\n              iVar14 = (local_8b0 - (int)local_7b0) - (uint)(psVar45 < local_7b4);\n              local_930 = psVar45;\n              if ((int)(uint)(psVar9 != (stat64 *)0x0) <= -iVar14) {\n                pr2serr("--offset [0x%llx] at or beyond file length[0x%llx]\n",local_7b4,local_7b0,\n                        psVar45,local_8b0);\n                local_908 = (stat64 *)0xf;\n                goto LAB_00012527;\n              }\n              if ((local_7f8 != 0) &&\n                 (local_930 = local_7d0, iVar14 < (int)(uint)(psVar9 < local_7d0))) {\n                pr2serr("after accounting for OFF, DLEN exceeds %s remaining length (%u bytes)\n",\n                        local_79c,psVar9,psVar9);\n                local_908 = (stat64 *)0xf;\n                psVar25 = psVar9;\n                goto LAB_00012527;\n              }\n              if (iVar14 < (int)(uint)(psVar9 < local_93c)) {\n                local_93c = psVar9;\n              }\n              psVar45 = psVar9;\n              if (2 < (int)psVar38) {\n                psVar22 = local_7b4;\n                psVar8 = local_93c;\n                psVar17 = psVar9;\n                psVar9 = (stat64 *)\n                         pr2serr("Moved IF byte pointer to %u, if_len=%u, if_readable_len=%u\n",\n                                 local_7b4,local_93c,psVar9);\n              }\n            }" ({ "{") (expression_statement "psVar17 = (stat64 *)0x0;" (assignment_expression "psVar17 = (stat64 *)0x0" (identifier "psVar17") (= "=") (cast_expression "(stat64 *)0x0" (( "(") (type_descriptor "stat64 *" (type_identifier "stat64") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "psVar22 = local_7b4;" (assignment_expression "psVar22 = local_7b4" (identifier "psVar22") (= "=") (identifier "local_7b4")) (; ";")) (expression_statement "psVar8 = local_7b0;" (assignment_expression "psVar8 = local_7b0" (identifier "psVar8") (= "=") (identifier "local_7b0")) (; ";")) (expression_statement "_Var35 = lseek64((int)local_924,CONCAT44(local_7b0,local_7b4),0);" (assignment_expression "_Var35 = lseek64((int)local_924,CONCAT44(local_7b0,local_7b4),0)" (identifier "_Var35") (= "=") (call_expression "lseek64((int)local_924,CONCAT44(local_7b0,local_7b4),0)" (identifier "lseek64") (argument_list "((int)local_924,CONCAT44(local_7b0,local_7b4),0)" (( "(") (cast_expression "(int)local_924" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_924")) (, ",") (call_expression "CONCAT44(local_7b0,local_7b4)" (identifier "CONCAT44") (argument_list "(local_7b0,local_7b4)" (( "(") (identifier "local_7b0") (, ",") (identifier "local_7b4") () ")"))) (, ",") (number_literal "0") () ")")))) (; ";")) (expression_statement "psVar25 = local_7b4;" (assignment_expression "psVar25 = local_7b4" (identifier "psVar25") (= "=") (identifier "local_7b4")) (; ";")) (if_statement "if (_Var35 < 0) {\n                piVar19 = __errno_location();\n                psVar25 = (stat64 *)(local_174 + 0x50);\n                iVar14 = *piVar19;\n                __snprintf_chk(psVar25,0x100,1,0x100,"couldn\'t offset to required position on %s",\n                               local_79c,piVar19,piVar19);\n                perror((char *)psVar25);\n                local_908 = (stat64 *)sg_convert_errno(iVar14);\n                goto LAB_00012527;\n              }" (if "if") (parenthesized_expression "(_Var35 < 0)" (( "(") (binary_expression "_Var35 < 0" (identifier "_Var35") (< "<") (number_literal "0")) () ")")) (compound_statement "{\n                piVar19 = __errno_location();\n                psVar25 = (stat64 *)(local_174 + 0x50);\n                iVar14 = *piVar19;\n                __snprintf_chk(psVar25,0x100,1,0x100,"couldn\'t offset to required position on %s",\n                               local_79c,piVar19,piVar19);\n                perror((char *)psVar25);\n                local_908 = (stat64 *)sg_convert_errno(iVar14);\n                goto LAB_00012527;\n              }" ({ "{") (expression_statement "piVar19 = __errno_location();" (assignment_expression "piVar19 = __errno_location()" (identifier "piVar19") (= "=") (call_expression "__errno_location()" (identifier "__errno_location") (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "psVar25 = (stat64 *)(local_174 + 0x50);" (assignment_expression "psVar25 = (stat64 *)(local_174 + 0x50)" (identifier "psVar25") (= "=") (cast_expression "(stat64 *)(local_174 + 0x50)" (( "(") (type_descriptor "stat64 *" (type_identifier "stat64") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(local_174 + 0x50)" (( "(") (binary_expression "local_174 + 0x50" (identifier "local_174") (+ "+") (number_literal "0x50")) () ")")))) (; ";")) (expression_statement "iVar14 = *piVar19;" (assignment_expression "iVar14 = *piVar19" (identifier "iVar14") (= "=") (pointer_expression "*piVar19" (* "*") (identifier "piVar19"))) (; ";")) (expression_statement "__snprintf_chk(psVar25,0x100,1,0x100,"couldn\'t offset to required position on %s",\n                               local_79c,piVar19,piVar19);" (call_expression "__snprintf_chk(psVar25,0x100,1,0x100,"couldn\'t offset to required position on %s",\n                               local_79c,piVar19,piVar19)" (identifier "__snprintf_chk") (argument_list "(psVar25,0x100,1,0x100,"couldn\'t offset to required position on %s",\n                               local_79c,piVar19,piVar19)" (( "(") (identifier "psVar25") (, ",") (number_literal "0x100") (, ",") (number_literal "1") (, ",") (number_literal "0x100") (, ",") (string_literal ""couldn\'t offset to required position on %s"" (" """) (string_content "couldn") (escape_sequence "\'") (string_content "t offset to required position on %s") (" """)) (, ",") (identifier "local_79c") (, ",") (identifier "piVar19") (, ",") (identifier "piVar19") () ")"))) (; ";")) (expression_statement "perror((char *)psVar25);" (call_expression "perror((char *)psVar25)" (identifier "perror") (argument_list "((char *)psVar25)" (( "(") (cast_expression "(char *)psVar25" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "psVar25")) () ")"))) (; ";")) (expression_statement "local_908 = (stat64 *)sg_convert_errno(iVar14);" (assignment_expression "local_908 = (stat64 *)sg_convert_errno(iVar14)" (identifier "local_908") (= "=") (cast_expression "(stat64 *)sg_convert_errno(iVar14)" (( "(") (type_descriptor "stat64 *" (type_identifier "stat64") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "sg_convert_errno(iVar14)" (identifier "sg_convert_errno") (argument_list "(iVar14)" (( "(") (identifier "iVar14") () ")"))))) (; ";")) (goto_statement "goto LAB_00012527;" (goto "goto") (statement_identifier "LAB_00012527") (; ";")) (} "}"))) (expression_statement "psVar9 = (stat64 *)((int)psVar45 - (int)local_7b4);" (assignment_expression "psVar9 = (stat64 *)((int)psVar45 - (int)local_7b4)" (identifier "psVar9") (= "=") (cast_expression "(stat64 *)((int)psVar45 - (int)local_7b4)" (( "(") (type_descriptor "stat64 *" (type_identifier "stat64") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)psVar45 - (int)local_7b4)" (( "(") (binary_expression "(int)psVar45 - (int)local_7b4" (cast_expression "(int)psVar45" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "psVar45")) (- "-") (cast_expression "(int)local_7b4" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_7b4"))) () ")")))) (; ";")) (expression_statement "iVar14 = (local_8b0 - (int)local_7b0) - (uint)(psVar45 < local_7b4);" (assignment_expression "iVar14 = (local_8b0 - (int)local_7b0) - (uint)(psVar45 < local_7b4)" (identifier "iVar14") (= "=") (binary_expression "(local_8b0 - (int)local_7b0) - (uint)(psVar45 < local_7b4)" (parenthesized_expression "(local_8b0 - (int)local_7b0)" (( "(") (binary_expression "local_8b0 - (int)local_7b0" (identifier "local_8b0") (- "-") (cast_expression "(int)local_7b0" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_7b0"))) () ")")) (- "-") (call_expression "(uint)(psVar45 < local_7b4)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(psVar45 < local_7b4)" (( "(") (binary_expression "psVar45 < local_7b4" (identifier "psVar45") (< "<") (identifier "local_7b4")) () ")"))))) (; ";")) (expression_statement "local_930 = psVar45;" (assignment_expression "local_930 = psVar45" (identifier "local_930") (= "=") (identifier "psVar45")) (; ";")) (if_statement "if ((int)(uint)(psVar9 != (stat64 *)0x0) <= -iVar14) {\n                pr2serr("--offset [0x%llx] at or beyond file length[0x%llx]\n",local_7b4,local_7b0,\n                        psVar45,local_8b0);\n                local_908 = (stat64 *)0xf;\n                goto LAB_00012527;\n              }" (if "if") (parenthesized_expression "((int)(uint)(psVar9 != (stat64 *)0x0) <= -iVar14)" (( "(") (binary_expression "(int)(uint)(psVar9 != (stat64 *)0x0) <= -iVar14" (cast_expression "(int)(uint)(psVar9 != (stat64 *)0x0)" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (call_expression "(uint)(psVar9 != (stat64 *)0x0)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(psVar9 != (stat64 *)0x0)" (( "(") (binary_expression "psVar9 != (stat64 *)0x0" (identifier "psVar9") (!= "!=") (cast_expression "(stat64 *)0x0" (( "(") (type_descriptor "stat64 *" (type_identifier "stat64") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")))) (<= "<=") (unary_expression "-iVar14" (- "-") (identifier "iVar14"))) () ")")) (compound_statement "{\n                pr2serr("--offset [0x%llx] at or beyond file length[0x%llx]\n",local_7b4,local_7b0,\n                        psVar45,local_8b0);\n                local_908 = (stat64 *)0xf;\n                goto LAB_00012527;\n              }" ({ "{") (expression_statement "pr2serr("--offset [0x%llx] at or beyond file length[0x%llx]\n",local_7b4,local_7b0,\n                        psVar45,local_8b0);" (call_expression "pr2serr("--offset [0x%llx] at or beyond file length[0x%llx]\n",local_7b4,local_7b0,\n                        psVar45,local_8b0)" (identifier "pr2serr") (argument_list "("--offset [0x%llx] at or beyond file length[0x%llx]\n",local_7b4,local_7b0,\n                        psVar45,local_8b0)" (( "(") (string_literal ""--offset [0x%llx] at or beyond file length[0x%llx]\n"" (" """) (string_content "--offset [0x%llx] at or beyond file length[0x%llx]") (escape_sequence "\n") (" """)) (, ",") (identifier "local_7b4") (, ",") (identifier "local_7b0") (, ",") (identifier "psVar45") (, ",") (identifier "local_8b0") () ")"))) (; ";")) (expression_statement "local_908 = (stat64 *)0xf;" (assignment_expression "local_908 = (stat64 *)0xf" (identifier "local_908") (= "=") (cast_expression "(stat64 *)0xf" (( "(") (type_descriptor "stat64 *" (type_identifier "stat64") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0xf"))) (; ";")) (goto_statement "goto LAB_00012527;" (goto "goto") (statement_identifier "LAB_00012527") (; ";")) (} "}"))) (if_statement "if ((local_7f8 != 0) &&\n                 (local_930 = local_7d0, iVar14 < (int)(uint)(psVar9 < local_7d0))) {\n                pr2serr("after accounting for OFF, DLEN exceeds %s remaining length (%u bytes)\n",\n                        local_79c,psVar9,psVar9);\n                local_908 = (stat64 *)0xf;\n                psVar25 = psVar9;\n                goto LAB_00012527;\n              }" (if "if") (parenthesized_expression "((local_7f8 != 0) &&\n                 (local_930 = local_7d0, iVar14 < (int)(uint)(psVar9 < local_7d0)))" (( "(") (binary_expression "(local_7f8 != 0) &&\n                 (local_930 = local_7d0, iVar14 < (int)(uint)(psVar9 < local_7d0))" (parenthesized_expression "(local_7f8 != 0)" (( "(") (binary_expression "local_7f8 != 0" (identifier "local_7f8") (!= "!=") (number_literal "0")) () ")")) (&& "&&") (parenthesized_expression "(local_930 = local_7d0, iVar14 < (int)(uint)(psVar9 < local_7d0))" (( "(") (comma_expression "local_930 = local_7d0, iVar14 < (int)(uint)(psVar9 < local_7d0)" (assignment_expression "local_930 = local_7d0" (identifier "local_930") (= "=") (identifier "local_7d0")) (, ",") (binary_expression "iVar14 < (int)(uint)(psVar9 < local_7d0)" (identifier "iVar14") (< "<") (cast_expression "(int)(uint)(psVar9 < local_7d0)" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (call_expression "(uint)(psVar9 < local_7d0)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(psVar9 < local_7d0)" (( "(") (binary_expression "psVar9 < local_7d0" (identifier "psVar9") (< "<") (identifier "local_7d0")) () ")")))))) () ")"))) () ")")) (compound_statement "{\n                pr2serr("after accounting for OFF, DLEN exceeds %s remaining length (%u bytes)\n",\n                        local_79c,psVar9,psVar9);\n                local_908 = (stat64 *)0xf;\n                psVar25 = psVar9;\n                goto LAB_00012527;\n              }" ({ "{") (expression_statement "pr2serr("after accounting for OFF, DLEN exceeds %s remaining length (%u bytes)\n",\n                        local_79c,psVar9,psVar9);" (call_expression "pr2serr("after accounting for OFF, DLEN exceeds %s remaining length (%u bytes)\n",\n                        local_79c,psVar9,psVar9)" (identifier "pr2serr") (argument_list "("after accounting for OFF, DLEN exceeds %s remaining length (%u bytes)\n",\n                        local_79c,psVar9,psVar9)" (( "(") (string_literal ""after accounting for OFF, DLEN exceeds %s remaining length (%u bytes)\n"" (" """) (string_content "after accounting for OFF, DLEN exceeds %s remaining length (%u bytes)") (escape_sequence "\n") (" """)) (, ",") (identifier "local_79c") (, ",") (identifier "psVar9") (, ",") (identifier "psVar9") () ")"))) (; ";")) (expression_statement "local_908 = (stat64 *)0xf;" (assignment_expression "local_908 = (stat64 *)0xf" (identifier "local_908") (= "=") (cast_expression "(stat64 *)0xf" (( "(") (type_descriptor "stat64 *" (type_identifier "stat64") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0xf"))) (; ";")) (expression_statement "psVar25 = psVar9;" (assignment_expression "psVar25 = psVar9" (identifier "psVar25") (= "=") (identifier "psVar9")) (; ";")) (goto_statement "goto LAB_00012527;" (goto "goto") (statement_identifier "LAB_00012527") (; ";")) (} "}"))) (if_statement "if (iVar14 < (int)(uint)(psVar9 < local_93c)) {\n                local_93c = psVar9;\n              }" (if "if") (parenthesized_expression "(iVar14 < (int)(uint)(psVar9 < local_93c))" (( "(") (binary_expression "iVar14 < (int)(uint)(psVar9 < local_93c)" (identifier "iVar14") (< "<") (cast_expression "(int)(uint)(psVar9 < local_93c)" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (call_expression "(uint)(psVar9 < local_93c)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(psVar9 < local_93c)" (( "(") (binary_expression "psVar9 < local_93c" (identifier "psVar9") (< "<") (identifier "local_93c")) () ")"))))) () ")")) (compound_statement "{\n                local_93c = psVar9;\n              }" ({ "{") (expression_statement "local_93c = psVar9;" (assignment_expression "local_93c = psVar9" (identifier "local_93c") (= "=") (identifier "psVar9")) (; ";")) (} "}"))) (expression_statement "psVar45 = psVar9;" (assignment_expression "psVar45 = psVar9" (identifier "psVar45") (= "=") (identifier "psVar9")) (; ";")) (if_statement "if (2 < (int)psVar38) {\n                psVar22 = local_7b4;\n                psVar8 = local_93c;\n                psVar17 = psVar9;\n                psVar9 = (stat64 *)\n                         pr2serr("Moved IF byte pointer to %u, if_len=%u, if_readable_len=%u\n",\n                                 local_7b4,local_93c,psVar9);\n              }" (if "if") (parenthesized_expression "(2 < (int)psVar38)" (( "(") (binary_expression "2 < (int)psVar38" (number_literal "2") (< "<") (cast_expression "(int)psVar38" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "psVar38"))) () ")")) (compound_statement "{\n                psVar22 = local_7b4;\n                psVar8 = local_93c;\n                psVar17 = psVar9;\n                psVar9 = (stat64 *)\n                         pr2serr("Moved IF byte pointer to %u, if_len=%u, if_readable_len=%u\n",\n                                 local_7b4,local_93c,psVar9);\n              }" ({ "{") (expression_statement "psVar22 = local_7b4;" (assignment_expression "psVar22 = local_7b4" (identifier "psVar22") (= "=") (identifier "local_7b4")) (; ";")) (expression_statement "psVar8 = local_93c;" (assignment_expression "psVar8 = local_93c" (identifier "psVar8") (= "=") (identifier "local_93c")) (; ";")) (expression_statement "psVar17 = psVar9;" (assignment_expression "psVar17 = psVar9" (identifier "psVar17") (= "=") (identifier "psVar9")) (; ";")) (expression_statement "psVar9 = (stat64 *)\n                         pr2serr("Moved IF byte pointer to %u, if_len=%u, if_readable_len=%u\n",\n                                 local_7b4,local_93c,psVar9);" (assignment_expression "psVar9 = (stat64 *)\n                         pr2serr("Moved IF byte pointer to %u, if_len=%u, if_readable_len=%u\n",\n                                 local_7b4,local_93c,psVar9)" (identifier "psVar9") (= "=") (cast_expression "(stat64 *)\n                         pr2serr("Moved IF byte pointer to %u, if_len=%u, if_readable_len=%u\n",\n                                 local_7b4,local_93c,psVar9)" (( "(") (type_descriptor "stat64 *" (type_identifier "stat64") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "pr2serr("Moved IF byte pointer to %u, if_len=%u, if_readable_len=%u\n",\n                                 local_7b4,local_93c,psVar9)" (identifier "pr2serr") (argument_list "("Moved IF byte pointer to %u, if_len=%u, if_readable_len=%u\n",\n                                 local_7b4,local_93c,psVar9)" (( "(") (string_literal ""Moved IF byte pointer to %u, if_len=%u, if_readable_len=%u\n"" (" """) (string_content "Moved IF byte pointer to %u, if_len=%u, if_readable_len=%u") (escape_sequence "\n") (" """)) (, ",") (identifier "local_7b4") (, ",") (identifier "local_93c") (, ",") (identifier "psVar9") () ")"))))) (; ";")) (} "}"))) (} "}"))) (goto_statement "goto LAB_00011fa8;" (goto "goto") (statement_identifier "LAB_00011fa8") (; ";")) (} "}"))) (goto_statement "goto LAB_00011e6c;" (goto "goto") (statement_identifier "LAB_00011e6c") (; ";")) (} "}"))) (expression_statement "piVar19 = __errno_location();" (assignment_expression "piVar19 = __errno_location()" (identifier "piVar19") (= "=") (call_expression "__errno_location()" (identifier "__errno_location") (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "iVar14 = *piVar19;" (assignment_expression "iVar14 = *piVar19" (identifier "iVar14") (= "=") (pointer_expression "*piVar19" (* "*") (identifier "piVar19"))) (; ";")) (expression_statement "pcVar15 = "could not fstat %s";" (assignment_expression "pcVar15 = "could not fstat %s"" (identifier "pcVar15") (= "=") (string_literal ""could not fstat %s"" (" """) (string_content "could not fstat %s") (" """))) (; ";")) (} "}")))) (expression_statement "__snprintf_chk(local_174 + 0x50,0x100,1,0x100,pcVar15,local_79c,piVar19,piVar19);" (call_expression "__snprintf_chk(local_174 + 0x50,0x100,1,0x100,pcVar15,local_79c,piVar19,piVar19)" (identifier "__snprintf_chk") (argument_list "(local_174 + 0x50,0x100,1,0x100,pcVar15,local_79c,piVar19,piVar19)" (( "(") (binary_expression "local_174 + 0x50" (identifier "local_174") (+ "+") (number_literal "0x50")) (, ",") (number_literal "0x100") (, ",") (number_literal "1") (, ",") (number_literal "0x100") (, ",") (identifier "pcVar15") (, ",") (identifier "local_79c") (, ",") (identifier "piVar19") (, ",") (identifier "piVar19") () ")"))) (; ";")) (expression_statement "perror(local_174 + 0x50);" (call_expression "perror(local_174 + 0x50)" (identifier "perror") (argument_list "(local_174 + 0x50)" (( "(") (binary_expression "local_174 + 0x50" (identifier "local_174") (+ "+") (number_literal "0x50")) () ")"))) (; ";")) (expression_statement "local_908 = (stat64 *)sg_convert_errno(iVar14);" (assignment_expression "local_908 = (stat64 *)sg_convert_errno(iVar14)" (identifier "local_908") (= "=") (cast_expression "(stat64 *)sg_convert_errno(iVar14)" (( "(") (type_descriptor "stat64 *" (type_identifier "stat64") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "sg_convert_errno(iVar14)" (identifier "sg_convert_errno") (argument_list "(iVar14)" (( "(") (identifier "iVar14") () ")"))))) (; ";")) (goto_statement "goto LAB_00011a84;" (goto "goto") (statement_identifier "LAB_00011a84") (; ";")) (} "}"))) (expression_statement "iVar14 = sg_set_binary_mode(0);" (assignment_expression "iVar14 = sg_set_binary_mode(0)" (identifier "iVar14") (= "=") (call_expression "sg_set_binary_mode(0)" (identifier "sg_set_binary_mode") (argument_list "(0)" (( "(") (number_literal "0") () ")")))) (; ";")) (expression_statement "cVar2 = '\x01';" (assignment_expression "cVar2 = '\x01'" (identifier "cVar2") (= "=") (char_literal "'\x01'" (' "'") (escape_sequence "\x01") (' "'"))) (; ";")) (expression_statement "local_924 = (stat64 *)0x0;" (assignment_expression "local_924 = (stat64 *)0x0" (identifier "local_924") (= "=") (cast_expression "(stat64 *)0x0" (( "(") (type_descriptor "stat64 *" (type_identifier "stat64") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (if_statement "if (iVar14 < 0) {\nLAB_00011dea:\n      perror("sg_set_binary_mode");\n      local_908 = (stat64 *)0xf;\n      goto LAB_00011a84;\n    }" (if "if") (parenthesized_expression "(iVar14 < 0)" (( "(") (binary_expression "iVar14 < 0" (identifier "iVar14") (< "<") (number_literal "0")) () ")")) (compound_statement "{\nLAB_00011dea:\n      perror("sg_set_binary_mode");\n      local_908 = (stat64 *)0xf;\n      goto LAB_00011a84;\n    }" ({ "{") (labeled_statement "LAB_00011dea:\n      perror("sg_set_binary_mode");" (statement_identifier "LAB_00011dea") (: ":") (expression_statement "perror("sg_set_binary_mode");" (call_expression "perror("sg_set_binary_mode")" (identifier "perror") (argument_list "("sg_set_binary_mode")" (( "(") (string_literal ""sg_set_binary_mode"" (" """) (string_content "sg_set_binary_mode") (" """)) () ")"))) (; ";"))) (expression_statement "local_908 = (stat64 *)0xf;" (assignment_expression "local_908 = (stat64 *)0xf" (identifier "local_908") (= "=") (cast_expression "(stat64 *)0xf" (( "(") (type_descriptor "stat64 *" (type_identifier "stat64") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0xf"))) (; ";")) (goto_statement "goto LAB_00011a84;" (goto "goto") (statement_identifier "LAB_00011a84") (; ";")) (} "}"))) (labeled_statement "LAB_00011e6c:\n    if (((stat64 *)((uint)local_7b0 | (uint)local_7b4) == (stat64 *)0x0) ||\n       (psVar38 == (stat64 *)0x0)) {\n      psVar9 = (stat64 *)((uint)local_7b0 | (uint)local_7b4);\n      psVar45 = (stat64 *)0x0;\n      iVar14 = 0;\n    }\n    else {\n      psVar9 = (stat64 *)\n               pr2serr(\n                      "--offset=OFF ignored when IF is stdin, pipe, socket, etc\nDLEN, if given, is used\n"\n                      );\n      psVar45 = (stat64 *)0x0;\n      iVar14 = 0;\n    }" (statement_identifier "LAB_00011e6c") (: ":") (if_statement "if (((stat64 *)((uint)local_7b0 | (uint)local_7b4) == (stat64 *)0x0) ||\n       (psVar38 == (stat64 *)0x0)) {\n      psVar9 = (stat64 *)((uint)local_7b0 | (uint)local_7b4);\n      psVar45 = (stat64 *)0x0;\n      iVar14 = 0;\n    }\n    else {\n      psVar9 = (stat64 *)\n               pr2serr(\n                      "--offset=OFF ignored when IF is stdin, pipe, socket, etc\nDLEN, if given, is used\n"\n                      );\n      psVar45 = (stat64 *)0x0;\n      iVar14 = 0;\n    }" (if "if") (parenthesized_expression "(((stat64 *)((uint)local_7b0 | (uint)local_7b4) == (stat64 *)0x0) ||\n       (psVar38 == (stat64 *)0x0))" (( "(") (binary_expression "((stat64 *)((uint)local_7b0 | (uint)local_7b4) == (stat64 *)0x0) ||\n       (psVar38 == (stat64 *)0x0)" (parenthesized_expression "((stat64 *)((uint)local_7b0 | (uint)local_7b4) == (stat64 *)0x0)" (( "(") (binary_expression "(stat64 *)((uint)local_7b0 | (uint)local_7b4) == (stat64 *)0x0" (cast_expression "(stat64 *)((uint)local_7b0 | (uint)local_7b4)" (( "(") (type_descriptor "stat64 *" (type_identifier "stat64") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((uint)local_7b0 | (uint)local_7b4)" (( "(") (binary_expression "(uint)local_7b0 | (uint)local_7b4" (cast_expression "(uint)local_7b0" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "local_7b0")) (| "|") (cast_expression "(uint)local_7b4" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "local_7b4"))) () ")"))) (== "==") (cast_expression "(stat64 *)0x0" (( "(") (type_descriptor "stat64 *" (type_identifier "stat64") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (|| "||") (parenthesized_expression "(psVar38 == (stat64 *)0x0)" (( "(") (binary_expression "psVar38 == (stat64 *)0x0" (identifier "psVar38") (== "==") (cast_expression "(stat64 *)0x0" (( "(") (type_descriptor "stat64 *" (type_identifier "stat64") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")"))) () ")")) (compound_statement "{\n      psVar9 = (stat64 *)((uint)local_7b0 | (uint)local_7b4);\n      psVar45 = (stat64 *)0x0;\n      iVar14 = 0;\n    }" ({ "{") (expression_statement "psVar9 = (stat64 *)((uint)local_7b0 | (uint)local_7b4);" (assignment_expression "psVar9 = (stat64 *)((uint)local_7b0 | (uint)local_7b4)" (identifier "psVar9") (= "=") (cast_expression "(stat64 *)((uint)local_7b0 | (uint)local_7b4)" (( "(") (type_descriptor "stat64 *" (type_identifier "stat64") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((uint)local_7b0 | (uint)local_7b4)" (( "(") (binary_expression "(uint)local_7b0 | (uint)local_7b4" (cast_expression "(uint)local_7b0" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "local_7b0")) (| "|") (cast_expression "(uint)local_7b4" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "local_7b4"))) () ")")))) (; ";")) (expression_statement "psVar45 = (stat64 *)0x0;" (assignment_expression "psVar45 = (stat64 *)0x0" (identifier "psVar45") (= "=") (cast_expression "(stat64 *)0x0" (( "(") (type_descriptor "stat64 *" (type_identifier "stat64") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "iVar14 = 0;" (assignment_expression "iVar14 = 0" (identifier "iVar14") (= "=") (number_literal "0")) (; ";")) (} "}")) (else_clause "else {\n      psVar9 = (stat64 *)\n               pr2serr(\n                      "--offset=OFF ignored when IF is stdin, pipe, socket, etc\nDLEN, if given, is used\n"\n                      );\n      psVar45 = (stat64 *)0x0;\n      iVar14 = 0;\n    }" (else "else") (compound_statement "{\n      psVar9 = (stat64 *)\n               pr2serr(\n                      "--offset=OFF ignored when IF is stdin, pipe, socket, etc\nDLEN, if given, is used\n"\n                      );\n      psVar45 = (stat64 *)0x0;\n      iVar14 = 0;\n    }" ({ "{") (expression_statement "psVar9 = (stat64 *)\n               pr2serr(\n                      "--offset=OFF ignored when IF is stdin, pipe, socket, etc\nDLEN, if given, is used\n"\n                      );" (assignment_expression "psVar9 = (stat64 *)\n               pr2serr(\n                      "--offset=OFF ignored when IF is stdin, pipe, socket, etc\nDLEN, if given, is used\n"\n                      )" (identifier "psVar9") (= "=") (cast_expression "(stat64 *)\n               pr2serr(\n                      "--offset=OFF ignored when IF is stdin, pipe, socket, etc\nDLEN, if given, is used\n"\n                      )" (( "(") (type_descriptor "stat64 *" (type_identifier "stat64") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "pr2serr(\n                      "--offset=OFF ignored when IF is stdin, pipe, socket, etc\nDLEN, if given, is used\n"\n                      )" (identifier "pr2serr") (argument_list "(\n                      "--offset=OFF ignored when IF is stdin, pipe, socket, etc\nDLEN, if given, is used\n"\n                      )" (( "(") (string_literal ""--offset=OFF ignored when IF is stdin, pipe, socket, etc\nDLEN, if given, is used\n"" (" """) (string_content "--offset=OFF ignored when IF is stdin, pipe, socket, etc") (escape_sequence "\n") (string_content "DLEN, if given, is used") (escape_sequence "\n") (" """)) () ")"))))) (; ";")) (expression_statement "psVar45 = (stat64 *)0x0;" (assignment_expression "psVar45 = (stat64 *)0x0" (identifier "psVar45") (= "=") (cast_expression "(stat64 *)0x0" (( "(") (type_descriptor "stat64 *" (type_identifier "stat64") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "iVar14 = 0;" (assignment_expression "iVar14 = 0" (identifier "iVar14") (= "=") (number_literal "0")) (; ";")) (} "}"))))) (} "}")) (else_clause "else {\n    local_924 = (stat64 *)0xffffffff;\n    cVar2 = '\0';\n    psVar45 = (stat64 *)0x0;\n    iVar14 = 0;\n    local_93c = (stat64 *)0x0;\n  }" (else "else") (compound_statement "{\n    local_924 = (stat64 *)0xffffffff;\n    cVar2 = '\0';\n    psVar45 = (stat64 *)0x0;\n    iVar14 = 0;\n    local_93c = (stat64 *)0x0;\n  }" ({ "{") (expression_statement "local_924 = (stat64 *)0xffffffff;" (assignment_expression "local_924 = (stat64 *)0xffffffff" (identifier "local_924") (= "=") (cast_expression "(stat64 *)0xffffffff" (( "(") (type_descriptor "stat64 *" (type_identifier "stat64") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0xffffffff"))) (; ";")) (expression_statement "cVar2 = '\0';" (assignment_expression "cVar2 = '\0'" (identifier "cVar2") (= "=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) (; ";")) (expression_statement "psVar45 = (stat64 *)0x0;" (assignment_expression "psVar45 = (stat64 *)0x0" (identifier "psVar45") (= "=") (cast_expression "(stat64 *)0x0" (( "(") (type_descriptor "stat64 *" (type_identifier "stat64") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "iVar14 = 0;" (assignment_expression "iVar14 = 0" (identifier "iVar14") (= "=") (number_literal "0")) (; ";")) (expression_statement "local_93c = (stat64 *)0x0;" (assignment_expression "local_93c = (stat64 *)0x0" (identifier "local_93c") (= "=") (cast_expression "(stat64 *)0x0" (( "(") (type_descriptor "stat64 *" (type_identifier "stat64") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (} "}")))) (labeled_statement "LAB_00011fa8:\n  if (local_7a0 == (stat64 *)0x0) {\n    pr2serr("missing device name!\n",psVar22,psVar8,psVar17);\n    FUN_000149b0();\n    local_908 = (stat64 *)0x1;\n    psVar25 = (stat64 *)0x0;\nLAB_00012527:\n    if (local_8f0 == (void *)0x0) goto LAB_000123a1;\n    free(local_8f0);\n    goto LAB_000123a1;\n  }" (statement_identifier "LAB_00011fa8") (: ":") (if_statement "if (local_7a0 == (stat64 *)0x0) {\n    pr2serr("missing device name!\n",psVar22,psVar8,psVar17);\n    FUN_000149b0();\n    local_908 = (stat64 *)0x1;\n    psVar25 = (stat64 *)0x0;\nLAB_00012527:\n    if (local_8f0 == (void *)0x0) goto LAB_000123a1;\n    free(local_8f0);\n    goto LAB_000123a1;\n  }" (if "if") (parenthesized_expression "(local_7a0 == (stat64 *)0x0)" (( "(") (binary_expression "local_7a0 == (stat64 *)0x0" (identifier "local_7a0") (== "==") (cast_expression "(stat64 *)0x0" (( "(") (type_descriptor "stat64 *" (type_identifier "stat64") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n    pr2serr("missing device name!\n",psVar22,psVar8,psVar17);\n    FUN_000149b0();\n    local_908 = (stat64 *)0x1;\n    psVar25 = (stat64 *)0x0;\nLAB_00012527:\n    if (local_8f0 == (void *)0x0) goto LAB_000123a1;\n    free(local_8f0);\n    goto LAB_000123a1;\n  }" ({ "{") (expression_statement "pr2serr("missing device name!\n",psVar22,psVar8,psVar17);" (call_expression "pr2serr("missing device name!\n",psVar22,psVar8,psVar17)" (identifier "pr2serr") (argument_list "("missing device name!\n",psVar22,psVar8,psVar17)" (( "(") (string_literal ""missing device name!\n"" (" """) (string_content "missing device name!") (escape_sequence "\n") (" """)) (, ",") (identifier "psVar22") (, ",") (identifier "psVar8") (, ",") (identifier "psVar17") () ")"))) (; ";")) (expression_statement "FUN_000149b0();" (call_expression "FUN_000149b0()" (identifier "FUN_000149b0") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "local_908 = (stat64 *)0x1;" (assignment_expression "local_908 = (stat64 *)0x1" (identifier "local_908") (= "=") (cast_expression "(stat64 *)0x1" (( "(") (type_descriptor "stat64 *" (type_identifier "stat64") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x1"))) (; ";")) (expression_statement "psVar25 = (stat64 *)0x0;" (assignment_expression "psVar25 = (stat64 *)0x0" (identifier "psVar25") (= "=") (cast_expression "(stat64 *)0x0" (( "(") (type_descriptor "stat64 *" (type_identifier "stat64") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (labeled_statement "LAB_00012527:\n    if (local_8f0 == (void *)0x0) goto LAB_000123a1;" (statement_identifier "LAB_00012527") (: ":") (if_statement "if (local_8f0 == (void *)0x0) goto LAB_000123a1;" (if "if") (parenthesized_expression "(local_8f0 == (void *)0x0)" (( "(") (binary_expression "local_8f0 == (void *)0x0" (identifier "local_8f0") (== "==") (cast_expression "(void *)0x0" (( "(") (type_descriptor "void *" (primitive_type "void") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (goto_statement "goto LAB_000123a1;" (goto "goto") (statement_identifier "LAB_000123a1") (; ";")))) (expression_statement "free(local_8f0);" (call_expression "free(local_8f0)" (identifier "free") (argument_list "(local_8f0)" (( "(") (identifier "local_8f0") () ")"))) (; ";")) (goto_statement "goto LAB_000123a1;" (goto "goto") (statement_identifier "LAB_000123a1") (; ";")) (} "}")))) (expression_statement "pcVar15 = (char *)0x0;" (assignment_expression "pcVar15 = (char *)0x0" (identifier "pcVar15") (= "=") (cast_expression "(char *)0x0" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "psVar17 = psVar38;" (assignment_expression "psVar17 = psVar38" (identifier "psVar17") (= "=") (identifier "psVar38")) (; ";")) (expression_statement "uVar33 = sg_cmds_open_device(local_7a0,0,psVar38,psVar9);" (assignment_expression "uVar33 = sg_cmds_open_device(local_7a0,0,psVar38,psVar9)" (identifier "uVar33") (= "=") (call_expression "sg_cmds_open_device(local_7a0,0,psVar38,psVar9)" (identifier "sg_cmds_open_device") (argument_list "(local_7a0,0,psVar38,psVar9)" (( "(") (identifier "local_7a0") (, ",") (number_literal "0") (, ",") (identifier "psVar38") (, ",") (identifier "psVar9") () ")")))) (; ";")) (expression_statement "psVar25 = local_7d8;" (assignment_expression "psVar25 = local_7d8" (identifier "psVar25") (= "=") (identifier "local_7d8")) (; ";")) (expression_statement "psVar22 = (stat64 *)((ulonglong)uVar33 >> 0x20);" (assignment_expression "psVar22 = (stat64 *)((ulonglong)uVar33 >> 0x20)" (identifier "psVar22") (= "=") (cast_expression "(stat64 *)((ulonglong)uVar33 >> 0x20)" (( "(") (type_descriptor "stat64 *" (type_identifier "stat64") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((ulonglong)uVar33 >> 0x20)" (( "(") (binary_expression "(ulonglong)uVar33 >> 0x20" (cast_expression "(ulonglong)uVar33" (( "(") (type_descriptor "ulonglong" (type_identifier "ulonglong")) () ")") (identifier "uVar33")) (>> ">>") (number_literal "0x20")) () ")")))) (; ";")) (expression_statement "local_930 = (stat64 *)uVar33;" (assignment_expression "local_930 = (stat64 *)uVar33" (identifier "local_930") (= "=") (cast_expression "(stat64 *)uVar33" (( "(") (type_descriptor "stat64 *" (type_identifier "stat64") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "uVar33"))) (; ";")) (if_statement "if ((int)local_930 < 0) {\n    psVar25 = (stat64 *)-(int)local_930;\n    if (local_7f0 != (stat64 *)0x0) {\n      uVar16 = safe_strerror(psVar25);\n      pr2serr("open error: %s: %s\n",local_7a0,uVar16);\n    }\n    local_908 = (stat64 *)sg_convert_errno(psVar25);\n    goto LAB_00012527;\n  }" (if "if") (parenthesized_expression "((int)local_930 < 0)" (( "(") (binary_expression "(int)local_930 < 0" (cast_expression "(int)local_930" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_930")) (< "<") (number_literal "0")) () ")")) (compound_statement "{\n    psVar25 = (stat64 *)-(int)local_930;\n    if (local_7f0 != (stat64 *)0x0) {\n      uVar16 = safe_strerror(psVar25);\n      pr2serr("open error: %s: %s\n",local_7a0,uVar16);\n    }\n    local_908 = (stat64 *)sg_convert_errno(psVar25);\n    goto LAB_00012527;\n  }" ({ "{") (expression_statement "psVar25 = (stat64 *)-(int)local_930;" (assignment_expression "psVar25 = (stat64 *)-(int)local_930" (identifier "psVar25") (= "=") (cast_expression "(stat64 *)-(int)local_930" (( "(") (type_descriptor "stat64 *" (type_identifier "stat64") (abstract_pointer_declarator "*" (* "*"))) () ")") (unary_expression "-(int)local_930" (- "-") (cast_expression "(int)local_930" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_930"))))) (; ";")) (if_statement "if (local_7f0 != (stat64 *)0x0) {\n      uVar16 = safe_strerror(psVar25);\n      pr2serr("open error: %s: %s\n",local_7a0,uVar16);\n    }" (if "if") (parenthesized_expression "(local_7f0 != (stat64 *)0x0)" (( "(") (binary_expression "local_7f0 != (stat64 *)0x0" (identifier "local_7f0") (!= "!=") (cast_expression "(stat64 *)0x0" (( "(") (type_descriptor "stat64 *" (type_identifier "stat64") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n      uVar16 = safe_strerror(psVar25);\n      pr2serr("open error: %s: %s\n",local_7a0,uVar16);\n    }" ({ "{") (expression_statement "uVar16 = safe_strerror(psVar25);" (assignment_expression "uVar16 = safe_strerror(psVar25)" (identifier "uVar16") (= "=") (call_expression "safe_strerror(psVar25)" (identifier "safe_strerror") (argument_list "(psVar25)" (( "(") (identifier "psVar25") () ")")))) (; ";")) (expression_statement "pr2serr("open error: %s: %s\n",local_7a0,uVar16);" (call_expression "pr2serr("open error: %s: %s\n",local_7a0,uVar16)" (identifier "pr2serr") (argument_list "("open error: %s: %s\n",local_7a0,uVar16)" (( "(") (string_literal ""open error: %s: %s\n"" (" """) (string_content "open error: %s: %s") (escape_sequence "\n") (" """)) (, ",") (identifier "local_7a0") (, ",") (identifier "uVar16") () ")"))) (; ";")) (} "}"))) (expression_statement "local_908 = (stat64 *)sg_convert_errno(psVar25);" (assignment_expression "local_908 = (stat64 *)sg_convert_errno(psVar25)" (identifier "local_908") (= "=") (cast_expression "(stat64 *)sg_convert_errno(psVar25)" (( "(") (type_descriptor "stat64 *" (type_identifier "stat64") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "sg_convert_errno(psVar25)" (identifier "sg_convert_errno") (argument_list "(psVar25)" (( "(") (identifier "psVar25") () ")"))))) (; ";")) (goto_statement "goto LAB_00012527;" (goto "goto") (statement_identifier "LAB_00012527") (; ";")) (} "}"))) (expression_statement "psVar8 = local_7d4;" (assignment_expression "psVar8 = local_7d4" (identifier "psVar8") (= "=") (identifier "local_7d4")) (; ";")) (expression_statement "psVar11 = local_7d4;" (assignment_expression "psVar11 = local_7d4" (identifier "psVar11") (= "=") (identifier "local_7d4")) (; ";")) (if_statement "if (local_7d8 == (stat64 *)0x0) {\n    psVar17 = (stat64 *)0x0;\n    if (local_7f0 != (stat64 *)0x0) {\n      psVar17 = (stat64 *)((int)&local_7f0[-1].st_ino + 7);\n    }\n    psVar22 = (stat64 *)local_174;\n    psVar11 = (stat64 *)0x1;\n    pcVar15 = (char *)0x20;\n    psVar9 = psVar17;\n    psVar8 = local_7f0;\n    uVar33 = sg_ll_readcap_16(local_930,0,0,0,psVar22,0x20,1,psVar17,psVar22,local_7f0,psVar45,\n                              iVar14);\n    if ((int)uVar33 == 6) {\n      pr2serr("Read capacity(16) unit attention, try again\n");\n      uVar33 = sg_ll_readcap_16(local_930,0,0,0,psVar22,0x20,1,psVar17);\n    }\n    psVar23 = (stat64 *)((ulonglong)uVar33 >> 0x20);\n    local_908 = (stat64 *)uVar33;\n    if (local_908 == (stat64 *)0x0) {\n      psVar17 = psVar11;\n      if (3 < (int)psVar8) {\n        pr2serr("Read capacity(16) response:\n");\n        psVar17 = (stat64 *)0x1;\n        pcVar15 = (char *)0x20;\n        hex2stderr(psVar22,0x20,1);\n      }\n      bVar1 = local_174[0xc];\n      psVar11 = (stat64 *)\n                ((uint)local_174._8_4_ >> 0x18 | (local_174._8_4_ & 0xff0000) >> 8 |\n                 (local_174._8_4_ & 0xff00) << 8 | local_174._8_4_ << 0x18);\n      uVar7 = (uint)local_174._4_4_ >> 0x18 | (local_174._4_4_ & 0xff0000) >> 8 |\n              (local_174._4_4_ & 0xff00) << 8 | local_174._4_4_ << 0x18;\n      local_7ac = uVar7 + 1;\n      local_7a8 = ((uint)local_174._0_4_ >> 0x18 | (local_174._0_4_ & 0xff0000) >> 8 |\n                   (local_174._0_4_ & 0xff00) << 8 | local_174._0_4_ << 0x18) +\n                  (uint)(0xfffffffe < uVar7);\n      psVar22 = (stat64 *)(uint)local_174[0xc];\n      local_7d8 = psVar11;\n      if ((local_174[0xc] & 1) == 0) {\n        local_7fc = 0;\n        if ((int)local_7ec < 1) goto LAB_00012305;\n        if (psVar8 != (stat64 *)0x0) {\n          pcVar15 = (char *)local_7ec;\n          psVar22 = local_7a0;\n          pr2serr("--wrprotect (%d) expects PI but %s says it has none\n",local_7ec,local_7a0,\n                  psVar11);\n          if (local_7f8 != 0) goto LAB_00012ef5;\n          pcVar13 = "  ... continue but could be dangerous\n";\n          psVar25 = (stat64 *)0x0;\n          psVar9 = psVar11;\n          goto LAB_00013516;\n        }\n        if (local_7f8 != 0) goto LAB_00012ef5;\n      }\n      else {\n        local_7fc = (local_174[0xc] >> 1 & 7) + 1;\n        psVar25 = (stat64 *)(8 << (local_174[0xd] >> 4));\n        psVar22 = (stat64 *)(uint)(local_174[0xd] >> 4);\n        if (((int)local_7ec < 1) ||\n           (local_7d4 = (stat64 *)((int)&psVar25->st_dev + (int)&psVar11->st_dev), (int)psVar8 < 2))\n        {\nLAB_00012305:\n          if (psVar8 == (stat64 *)0x0) goto LAB_00012312;\n        }\n        else {\n          pcVar13 = \n          "  For data out buffer purposes the effective block size is %u (lb size\n  is %u) because PROT_EN=1, PI_EXP=%u and WRPROTECT>0\n"\n          ;\n          pcVar15 = (char *)psVar11;\n          psVar9 = local_7d4;\nLAB_00013516:\n          pr2serr(pcVar13,pcVar15,psVar22,psVar9);\n          psVar17 = psVar22;\n        }\n        pr2serr("Read capacity(16) response fields:\n",pcVar15,psVar17,psVar9);\n        psVar25 = (stat64 *)((int)&local_7d8->st_dev + (int)&psVar25->st_dev);\n        psVar9 = extraout_ECX_06;\n        pr2serr("  Last_LBA=0x%llx  LB size: %u (with PI: %u) bytes  p_type=%u\n",local_7ac + -1,\n                local_7a8 + -1 + (uint)(local_7ac != 0),local_7d8,psVar25,local_174[0xc] >> 1 & 7,\n                extraout_ECX_06,extraout_ECX_06);\n        pr2serr("  prot_en=%u [PI type=%u] p_i_exp=%u  lbppb_exp=%u  lbpme,rz=%u,",bVar1 & 1,\n                local_7fc,local_174[0xd] >> 4,local_174[0xd] & 0xf,\n                (uint)(int)(char)local_174[0xe] >> 0x1f);\n        psVar17 = (stat64 *)\n                  ((ushort)(local_174._14_2_ << 8 | (ushort)local_174._14_2_ >> 8) & 0x3fff);\n        pcVar15 = (char *)(local_174[0xe] >> 6 & 1);\n        pr2serr("%u  low_ali_lba=%u\n",pcVar15,psVar17);\n        psVar22 = extraout_EDX_04;\n      }\n    }\n    else {\n      if (((int)local_908 - 5U & 0xfffffffb) != 0) {\n        if (psVar8 != (stat64 *)0x0) {\n          puVar43 = local_174 + 0x50;\n          psVar25 = (stat64 *)"OS error";\n          puVar29 = puVar43;\n          for (iVar14 = 9; iVar14 != 0; iVar14 = iVar14 + -1) {\n            *puVar29 = (char)psVar25->st_dev;\n            psVar25 = (stat64 *)((int)psVar25 + (uint)bVar32 * -2 + 1);\n            puVar29 = puVar29 + (uint)bVar32 * -2 + 1;\n          }\n          psVar18 = local_908;\n          if (0 < (int)local_908) {\n            psVar18 = (stat64 *)sg_get_category_sense_str(local_908,0x50,puVar43,psVar8);\n          }\n          pr2serr("Read capacity(16): %s\n",puVar43,psVar18,psVar18);\n          pr2serr("Unable to calculate block size\n");\n        }\n        if (0 < (int)local_908) goto LAB_00012354;\n        goto LAB_00012ef5;\n      }\n      if (psVar8 == (stat64 *)0x0) {\n        pcVar15 = (char *)0x1;\n        uVar33 = sg_ll_readcap_10(local_930,0,0,psVar22,8,1,psVar17,psVar23);\n        psVar22 = (stat64 *)((ulonglong)uVar33 >> 0x20);\n        local_908 = (stat64 *)uVar33;\n        psVar9 = psVar23;\n        if (local_908 != (stat64 *)0x0) {\nLAB_00013444:\n          puVar43 = local_174 + 0x50;\n          psVar25 = (stat64 *)"OS error";\n          puVar29 = puVar43;\n          for (iVar14 = 9; iVar14 != 0; iVar14 = iVar14 + -1) {\n            *puVar29 = (char)psVar25->st_dev;\n            psVar25 = (stat64 *)((int)psVar25 + (uint)bVar32 * -2 + 1);\n            puVar29 = puVar29 + (uint)bVar32 * -2 + 1;\n          }\n          if (0 < (int)local_908) {\n            sg_get_category_sense_str(local_908,0x50,puVar43,psVar8);\n            pr2serr("Read capacity(10): %s\n",puVar43);\n            pr2serr("Unable to calculate block size\n");\n            goto LAB_00012354;\n          }\n          __snprintf_chk(puVar43,0x50,1,0x50,"error: %d",local_908,local_908,local_908);\n          pr2serr("Read capacity(10): %s\n",puVar43);\n          pr2serr("Unable to calculate block size\n");\n          local_908 = (stat64 *)0xf;\n          goto LAB_00012354;\n        }\n      }\n      else {\n        psVar25 = psVar22;\n        pr2serr("Read capacity(16) not supported, try Read capacity(10)\n");\n        pcVar15 = (char *)0x1;\n        uVar33 = sg_ll_readcap_10(local_930,0,0,psVar25,8,1,psVar17);\n        psVar22 = (stat64 *)((ulonglong)uVar33 >> 0x20);\n        local_908 = (stat64 *)uVar33;\n        if (local_908 != (stat64 *)0x0) goto LAB_00013444;\n        if (3 < (int)psVar8) {\n          pr2serr("Read capacity(10) response:\n");\n          psVar17 = (stat64 *)0x1;\n          pcVar15 = (char *)0x8;\n          hex2stderr(psVar25,8,1);\n          psVar22 = extraout_EDX_03;\n        }\n      }\n      local_7a8 = 0;\n      local_7ac = ((uint)local_174._0_4_ >> 0x18 | (local_174._0_4_ & 0xff0000) >> 8 |\n                   (local_174._0_4_ & 0xff00) << 8 | local_174._0_4_ << 0x18) + 1;\n      local_7d8 = (stat64 *)\n                  ((uint)local_174._4_4_ >> 0x18 | (local_174._4_4_ & 0xff0000) >> 8 |\n                   (local_174._4_4_ & 0xff00) << 8 | local_174._4_4_ << 0x18);\n    }\nLAB_00012312:\n    local_7d4 = local_7d8;\n    if (local_813 != '\0') {\n      local_7d4 = (stat64 *)&local_7d8->__pad1;\n    }\n    psVar8 = local_7d4;\n    psVar11 = local_7d8;\n    if (local_7d4 == (stat64 *)0x0) goto LAB_00012338;\n  }" (if "if") (parenthesized_expression "(local_7d8 == (stat64 *)0x0)" (( "(") (binary_expression "local_7d8 == (stat64 *)0x0" (identifier "local_7d8") (== "==") (cast_expression "(stat64 *)0x0" (( "(") (type_descriptor "stat64 *" (type_identifier "stat64") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n    psVar17 = (stat64 *)0x0;\n    if (local_7f0 != (stat64 *)0x0) {\n      psVar17 = (stat64 *)((int)&local_7f0[-1].st_ino + 7);\n    }\n    psVar22 = (stat64 *)local_174;\n    psVar11 = (stat64 *)0x1;\n    pcVar15 = (char *)0x20;\n    psVar9 = psVar17;\n    psVar8 = local_7f0;\n    uVar33 = sg_ll_readcap_16(local_930,0,0,0,psVar22,0x20,1,psVar17,psVar22,local_7f0,psVar45,\n                              iVar14);\n    if ((int)uVar33 == 6) {\n      pr2serr("Read capacity(16) unit attention, try again\n");\n      uVar33 = sg_ll_readcap_16(local_930,0,0,0,psVar22,0x20,1,psVar17);\n    }\n    psVar23 = (stat64 *)((ulonglong)uVar33 >> 0x20);\n    local_908 = (stat64 *)uVar33;\n    if (local_908 == (stat64 *)0x0) {\n      psVar17 = psVar11;\n      if (3 < (int)psVar8) {\n        pr2serr("Read capacity(16) response:\n");\n        psVar17 = (stat64 *)0x1;\n        pcVar15 = (char *)0x20;\n        hex2stderr(psVar22,0x20,1);\n      }\n      bVar1 = local_174[0xc];\n      psVar11 = (stat64 *)\n                ((uint)local_174._8_4_ >> 0x18 | (local_174._8_4_ & 0xff0000) >> 8 |\n                 (local_174._8_4_ & 0xff00) << 8 | local_174._8_4_ << 0x18);\n      uVar7 = (uint)local_174._4_4_ >> 0x18 | (local_174._4_4_ & 0xff0000) >> 8 |\n              (local_174._4_4_ & 0xff00) << 8 | local_174._4_4_ << 0x18;\n      local_7ac = uVar7 + 1;\n      local_7a8 = ((uint)local_174._0_4_ >> 0x18 | (local_174._0_4_ & 0xff0000) >> 8 |\n                   (local_174._0_4_ & 0xff00) << 8 | local_174._0_4_ << 0x18) +\n                  (uint)(0xfffffffe < uVar7);\n      psVar22 = (stat64 *)(uint)local_174[0xc];\n      local_7d8 = psVar11;\n      if ((local_174[0xc] & 1) == 0) {\n        local_7fc = 0;\n        if ((int)local_7ec < 1) goto LAB_00012305;\n        if (psVar8 != (stat64 *)0x0) {\n          pcVar15 = (char *)local_7ec;\n          psVar22 = local_7a0;\n          pr2serr("--wrprotect (%d) expects PI but %s says it has none\n",local_7ec,local_7a0,\n                  psVar11);\n          if (local_7f8 != 0) goto LAB_00012ef5;\n          pcVar13 = "  ... continue but could be dangerous\n";\n          psVar25 = (stat64 *)0x0;\n          psVar9 = psVar11;\n          goto LAB_00013516;\n        }\n        if (local_7f8 != 0) goto LAB_00012ef5;\n      }\n      else {\n        local_7fc = (local_174[0xc] >> 1 & 7) + 1;\n        psVar25 = (stat64 *)(8 << (local_174[0xd] >> 4));\n        psVar22 = (stat64 *)(uint)(local_174[0xd] >> 4);\n        if (((int)local_7ec < 1) ||\n           (local_7d4 = (stat64 *)((int)&psVar25->st_dev + (int)&psVar11->st_dev), (int)psVar8 < 2))\n        {\nLAB_00012305:\n          if (psVar8 == (stat64 *)0x0) goto LAB_00012312;\n        }\n        else {\n          pcVar13 = \n          "  For data out buffer purposes the effective block size is %u (lb size\n  is %u) because PROT_EN=1, PI_EXP=%u and WRPROTECT>0\n"\n          ;\n          pcVar15 = (char *)psVar11;\n          psVar9 = local_7d4;\nLAB_00013516:\n          pr2serr(pcVar13,pcVar15,psVar22,psVar9);\n          psVar17 = psVar22;\n        }\n        pr2serr("Read capacity(16) response fields:\n",pcVar15,psVar17,psVar9);\n        psVar25 = (stat64 *)((int)&local_7d8->st_dev + (int)&psVar25->st_dev);\n        psVar9 = extraout_ECX_06;\n        pr2serr("  Last_LBA=0x%llx  LB size: %u (with PI: %u) bytes  p_type=%u\n",local_7ac + -1,\n                local_7a8 + -1 + (uint)(local_7ac != 0),local_7d8,psVar25,local_174[0xc] >> 1 & 7,\n                extraout_ECX_06,extraout_ECX_06);\n        pr2serr("  prot_en=%u [PI type=%u] p_i_exp=%u  lbppb_exp=%u  lbpme,rz=%u,",bVar1 & 1,\n                local_7fc,local_174[0xd] >> 4,local_174[0xd] & 0xf,\n                (uint)(int)(char)local_174[0xe] >> 0x1f);\n        psVar17 = (stat64 *)\n                  ((ushort)(local_174._14_2_ << 8 | (ushort)local_174._14_2_ >> 8) & 0x3fff);\n        pcVar15 = (char *)(local_174[0xe] >> 6 & 1);\n        pr2serr("%u  low_ali_lba=%u\n",pcVar15,psVar17);\n        psVar22 = extraout_EDX_04;\n      }\n    }\n    else {\n      if (((int)local_908 - 5U & 0xfffffffb) != 0) {\n        if (psVar8 != (stat64 *)0x0) {\n          puVar43 = local_174 + 0x50;\n          psVar25 = (stat64 *)"OS error";\n          puVar29 = puVar43;\n          for (iVar14 = 9; iVar14 != 0; iVar14 = iVar14 + -1) {\n            *puVar29 = (char)psVar25->st_dev;\n            psVar25 = (stat64 *)((int)psVar25 + (uint)bVar32 * -2 + 1);\n            puVar29 = puVar29 + (uint)bVar32 * -2 + 1;\n          }\n          psVar18 = local_908;\n          if (0 < (int)local_908) {\n            psVar18 = (stat64 *)sg_get_category_sense_str(local_908,0x50,puVar43,psVar8);\n          }\n          pr2serr("Read capacity(16): %s\n",puVar43,psVar18,psVar18);\n          pr2serr("Unable to calculate block size\n");\n        }\n        if (0 < (int)local_908) goto LAB_00012354;\n        goto LAB_00012ef5;\n      }\n      if (psVar8 == (stat64 *)0x0) {\n        pcVar15 = (char *)0x1;\n        uVar33 = sg_ll_readcap_10(local_930,0,0,psVar22,8,1,psVar17,psVar23);\n        psVar22 = (stat64 *)((ulonglong)uVar33 >> 0x20);\n        local_908 = (stat64 *)uVar33;\n        psVar9 = psVar23;\n        if (local_908 != (stat64 *)0x0) {\nLAB_00013444:\n          puVar43 = local_174 + 0x50;\n          psVar25 = (stat64 *)"OS error";\n          puVar29 = puVar43;\n          for (iVar14 = 9; iVar14 != 0; iVar14 = iVar14 + -1) {\n            *puVar29 = (char)psVar25->st_dev;\n            psVar25 = (stat64 *)((int)psVar25 + (uint)bVar32 * -2 + 1);\n            puVar29 = puVar29 + (uint)bVar32 * -2 + 1;\n          }\n          if (0 < (int)local_908) {\n            sg_get_category_sense_str(local_908,0x50,puVar43,psVar8);\n            pr2serr("Read capacity(10): %s\n",puVar43);\n            pr2serr("Unable to calculate block size\n");\n            goto LAB_00012354;\n          }\n          __snprintf_chk(puVar43,0x50,1,0x50,"error: %d",local_908,local_908,local_908);\n          pr2serr("Read capacity(10): %s\n",puVar43);\n          pr2serr("Unable to calculate block size\n");\n          local_908 = (stat64 *)0xf;\n          goto LAB_00012354;\n        }\n      }\n      else {\n        psVar25 = psVar22;\n        pr2serr("Read capacity(16) not supported, try Read capacity(10)\n");\n        pcVar15 = (char *)0x1;\n        uVar33 = sg_ll_readcap_10(local_930,0,0,psVar25,8,1,psVar17);\n        psVar22 = (stat64 *)((ulonglong)uVar33 >> 0x20);\n        local_908 = (stat64 *)uVar33;\n        if (local_908 != (stat64 *)0x0) goto LAB_00013444;\n        if (3 < (int)psVar8) {\n          pr2serr("Read capacity(10) response:\n");\n          psVar17 = (stat64 *)0x1;\n          pcVar15 = (char *)0x8;\n          hex2stderr(psVar25,8,1);\n          psVar22 = extraout_EDX_03;\n        }\n      }\n      local_7a8 = 0;\n      local_7ac = ((uint)local_174._0_4_ >> 0x18 | (local_174._0_4_ & 0xff0000) >> 8 |\n                   (local_174._0_4_ & 0xff00) << 8 | local_174._0_4_ << 0x18) + 1;\n      local_7d8 = (stat64 *)\n                  ((uint)local_174._4_4_ >> 0x18 | (local_174._4_4_ & 0xff0000) >> 8 |\n                   (local_174._4_4_ & 0xff00) << 8 | local_174._4_4_ << 0x18);\n    }\nLAB_00012312:\n    local_7d4 = local_7d8;\n    if (local_813 != '\0') {\n      local_7d4 = (stat64 *)&local_7d8->__pad1;\n    }\n    psVar8 = local_7d4;\n    psVar11 = local_7d8;\n    if (local_7d4 == (stat64 *)0x0) goto LAB_00012338;\n  }" ({ "{") (expression_statement "psVar17 = (stat64 *)0x0;" (assignment_expression "psVar17 = (stat64 *)0x0" (identifier "psVar17") (= "=") (cast_expression "(stat64 *)0x0" (( "(") (type_descriptor "stat64 *" (type_identifier "stat64") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (if_statement "if (local_7f0 != (stat64 *)0x0) {\n      psVar17 = (stat64 *)((int)&local_7f0[-1].st_ino + 7);\n    }" (if "if") (parenthesized_expression "(local_7f0 != (stat64 *)0x0)" (( "(") (binary_expression "local_7f0 != (stat64 *)0x0" (identifier "local_7f0") (!= "!=") (cast_expression "(stat64 *)0x0" (( "(") (type_descriptor "stat64 *" (type_identifier "stat64") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n      psVar17 = (stat64 *)((int)&local_7f0[-1].st_ino + 7);\n    }" ({ "{") (expression_statement "psVar17 = (stat64 *)((int)&local_7f0[-1].st_ino + 7);" (assignment_expression "psVar17 = (stat64 *)((int)&local_7f0[-1].st_ino + 7)" (identifier "psVar17") (= "=") (cast_expression "(stat64 *)((int)&local_7f0[-1].st_ino + 7)" (( "(") (type_descriptor "stat64 *" (type_identifier "stat64") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)&local_7f0[-1].st_ino + 7)" (( "(") (binary_expression "(int)&local_7f0[-1].st_ino + 7" (cast_expression "(int)&local_7f0[-1].st_ino" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (pointer_expression "&local_7f0[-1].st_ino" (& "&") (field_expression "local_7f0[-1].st_ino" (subscript_expression "local_7f0[-1]" (identifier "local_7f0") ([ "[") (number_literal "-1") (] "]")) (. ".") (field_identifier "st_ino")))) (+ "+") (number_literal "7")) () ")")))) (; ";")) (} "}"))) (expression_statement "psVar22 = (stat64 *)local_174;" (assignment_expression "psVar22 = (stat64 *)local_174" (identifier "psVar22") (= "=") (cast_expression "(stat64 *)local_174" (( "(") (type_descriptor "stat64 *" (type_identifier "stat64") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "local_174"))) (; ";")) (expression_statement "psVar11 = (stat64 *)0x1;" (assignment_expression "psVar11 = (stat64 *)0x1" (identifier "psVar11") (= "=") (cast_expression "(stat64 *)0x1" (( "(") (type_descriptor "stat64 *" (type_identifier "stat64") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x1"))) (; ";")) (expression_statement "pcVar15 = (char *)0x20;" (assignment_expression "pcVar15 = (char *)0x20" (identifier "pcVar15") (= "=") (cast_expression "(char *)0x20" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x20"))) (; ";")) (expression_statement "psVar9 = psVar17;" (assignment_expression "psVar9 = psVar17" (identifier "psVar9") (= "=") (identifier "psVar17")) (; ";")) (expression_statement "psVar8 = local_7f0;" (assignment_expression "psVar8 = local_7f0" (identifier "psVar8") (= "=") (identifier "local_7f0")) (; ";")) (expression_statement "uVar33 = sg_ll_readcap_16(local_930,0,0,0,psVar22,0x20,1,psVar17,psVar22,local_7f0,psVar45,\n                              iVar14);" (assignment_expression "uVar33 = sg_ll_readcap_16(local_930,0,0,0,psVar22,0x20,1,psVar17,psVar22,local_7f0,psVar45,\n                              iVar14)" (identifier "uVar33") (= "=") (call_expression "sg_ll_readcap_16(local_930,0,0,0,psVar22,0x20,1,psVar17,psVar22,local_7f0,psVar45,\n                              iVar14)" (identifier "sg_ll_readcap_16") (argument_list "(local_930,0,0,0,psVar22,0x20,1,psVar17,psVar22,local_7f0,psVar45,\n                              iVar14)" (( "(") (identifier "local_930") (, ",") (number_literal "0") (, ",") (number_literal "0") (, ",") (number_literal "0") (, ",") (identifier "psVar22") (, ",") (number_literal "0x20") (, ",") (number_literal "1") (, ",") (identifier "psVar17") (, ",") (identifier "psVar22") (, ",") (identifier "local_7f0") (, ",") (identifier "psVar45") (, ",") (identifier "iVar14") () ")")))) (; ";")) (if_statement "if ((int)uVar33 == 6) {\n      pr2serr("Read capacity(16) unit attention, try again\n");\n      uVar33 = sg_ll_readcap_16(local_930,0,0,0,psVar22,0x20,1,psVar17);\n    }" (if "if") (parenthesized_expression "((int)uVar33 == 6)" (( "(") (binary_expression "(int)uVar33 == 6" (cast_expression "(int)uVar33" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "uVar33")) (== "==") (number_literal "6")) () ")")) (compound_statement "{\n      pr2serr("Read capacity(16) unit attention, try again\n");\n      uVar33 = sg_ll_readcap_16(local_930,0,0,0,psVar22,0x20,1,psVar17);\n    }" ({ "{") (expression_statement "pr2serr("Read capacity(16) unit attention, try again\n");" (call_expression "pr2serr("Read capacity(16) unit attention, try again\n")" (identifier "pr2serr") (argument_list "("Read capacity(16) unit attention, try again\n")" (( "(") (string_literal ""Read capacity(16) unit attention, try again\n"" (" """) (string_content "Read capacity(16) unit attention, try again") (escape_sequence "\n") (" """)) () ")"))) (; ";")) (expression_statement "uVar33 = sg_ll_readcap_16(local_930,0,0,0,psVar22,0x20,1,psVar17);" (assignment_expression "uVar33 = sg_ll_readcap_16(local_930,0,0,0,psVar22,0x20,1,psVar17)" (identifier "uVar33") (= "=") (call_expression "sg_ll_readcap_16(local_930,0,0,0,psVar22,0x20,1,psVar17)" (identifier "sg_ll_readcap_16") (argument_list "(local_930,0,0,0,psVar22,0x20,1,psVar17)" (( "(") (identifier "local_930") (, ",") (number_literal "0") (, ",") (number_literal "0") (, ",") (number_literal "0") (, ",") (identifier "psVar22") (, ",") (number_literal "0x20") (, ",") (number_literal "1") (, ",") (identifier "psVar17") () ")")))) (; ";")) (} "}"))) (expression_statement "psVar23 = (stat64 *)((ulonglong)uVar33 >> 0x20);" (assignment_expression "psVar23 = (stat64 *)((ulonglong)uVar33 >> 0x20)" (identifier "psVar23") (= "=") (cast_expression "(stat64 *)((ulonglong)uVar33 >> 0x20)" (( "(") (type_descriptor "stat64 *" (type_identifier "stat64") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((ulonglong)uVar33 >> 0x20)" (( "(") (binary_expression "(ulonglong)uVar33 >> 0x20" (cast_expression "(ulonglong)uVar33" (( "(") (type_descriptor "ulonglong" (type_identifier "ulonglong")) () ")") (identifier "uVar33")) (>> ">>") (number_literal "0x20")) () ")")))) (; ";")) (expression_statement "local_908 = (stat64 *)uVar33;" (assignment_expression "local_908 = (stat64 *)uVar33" (identifier "local_908") (= "=") (cast_expression "(stat64 *)uVar33" (( "(") (type_descriptor "stat64 *" (type_identifier "stat64") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "uVar33"))) (; ";")) (if_statement "if (local_908 == (stat64 *)0x0) {\n      psVar17 = psVar11;\n      if (3 < (int)psVar8) {\n        pr2serr("Read capacity(16) response:\n");\n        psVar17 = (stat64 *)0x1;\n        pcVar15 = (char *)0x20;\n        hex2stderr(psVar22,0x20,1);\n      }\n      bVar1 = local_174[0xc];\n      psVar11 = (stat64 *)\n                ((uint)local_174._8_4_ >> 0x18 | (local_174._8_4_ & 0xff0000) >> 8 |\n                 (local_174._8_4_ & 0xff00) << 8 | local_174._8_4_ << 0x18);\n      uVar7 = (uint)local_174._4_4_ >> 0x18 | (local_174._4_4_ & 0xff0000) >> 8 |\n              (local_174._4_4_ & 0xff00) << 8 | local_174._4_4_ << 0x18;\n      local_7ac = uVar7 + 1;\n      local_7a8 = ((uint)local_174._0_4_ >> 0x18 | (local_174._0_4_ & 0xff0000) >> 8 |\n                   (local_174._0_4_ & 0xff00) << 8 | local_174._0_4_ << 0x18) +\n                  (uint)(0xfffffffe < uVar7);\n      psVar22 = (stat64 *)(uint)local_174[0xc];\n      local_7d8 = psVar11;\n      if ((local_174[0xc] & 1) == 0) {\n        local_7fc = 0;\n        if ((int)local_7ec < 1) goto LAB_00012305;\n        if (psVar8 != (stat64 *)0x0) {\n          pcVar15 = (char *)local_7ec;\n          psVar22 = local_7a0;\n          pr2serr("--wrprotect (%d) expects PI but %s says it has none\n",local_7ec,local_7a0,\n                  psVar11);\n          if (local_7f8 != 0) goto LAB_00012ef5;\n          pcVar13 = "  ... continue but could be dangerous\n";\n          psVar25 = (stat64 *)0x0;\n          psVar9 = psVar11;\n          goto LAB_00013516;\n        }\n        if (local_7f8 != 0) goto LAB_00012ef5;\n      }\n      else {\n        local_7fc = (local_174[0xc] >> 1 & 7) + 1;\n        psVar25 = (stat64 *)(8 << (local_174[0xd] >> 4));\n        psVar22 = (stat64 *)(uint)(local_174[0xd] >> 4);\n        if (((int)local_7ec < 1) ||\n           (local_7d4 = (stat64 *)((int)&psVar25->st_dev + (int)&psVar11->st_dev), (int)psVar8 < 2))\n        {\nLAB_00012305:\n          if (psVar8 == (stat64 *)0x0) goto LAB_00012312;\n        }\n        else {\n          pcVar13 = \n          "  For data out buffer purposes the effective block size is %u (lb size\n  is %u) because PROT_EN=1, PI_EXP=%u and WRPROTECT>0\n"\n          ;\n          pcVar15 = (char *)psVar11;\n          psVar9 = local_7d4;\nLAB_00013516:\n          pr2serr(pcVar13,pcVar15,psVar22,psVar9);\n          psVar17 = psVar22;\n        }\n        pr2serr("Read capacity(16) response fields:\n",pcVar15,psVar17,psVar9);\n        psVar25 = (stat64 *)((int)&local_7d8->st_dev + (int)&psVar25->st_dev);\n        psVar9 = extraout_ECX_06;\n        pr2serr("  Last_LBA=0x%llx  LB size: %u (with PI: %u) bytes  p_type=%u\n",local_7ac + -1,\n                local_7a8 + -1 + (uint)(local_7ac != 0),local_7d8,psVar25,local_174[0xc] >> 1 & 7,\n                extraout_ECX_06,extraout_ECX_06);\n        pr2serr("  prot_en=%u [PI type=%u] p_i_exp=%u  lbppb_exp=%u  lbpme,rz=%u,",bVar1 & 1,\n                local_7fc,local_174[0xd] >> 4,local_174[0xd] & 0xf,\n                (uint)(int)(char)local_174[0xe] >> 0x1f);\n        psVar17 = (stat64 *)\n                  ((ushort)(local_174._14_2_ << 8 | (ushort)local_174._14_2_ >> 8) & 0x3fff);\n        pcVar15 = (char *)(local_174[0xe] >> 6 & 1);\n        pr2serr("%u  low_ali_lba=%u\n",pcVar15,psVar17);\n        psVar22 = extraout_EDX_04;\n      }\n    }\n    else {\n      if (((int)local_908 - 5U & 0xfffffffb) != 0) {\n        if (psVar8 != (stat64 *)0x0) {\n          puVar43 = local_174 + 0x50;\n          psVar25 = (stat64 *)"OS error";\n          puVar29 = puVar43;\n          for (iVar14 = 9; iVar14 != 0; iVar14 = iVar14 + -1) {\n            *puVar29 = (char)psVar25->st_dev;\n            psVar25 = (stat64 *)((int)psVar25 + (uint)bVar32 * -2 + 1);\n            puVar29 = puVar29 + (uint)bVar32 * -2 + 1;\n          }\n          psVar18 = local_908;\n          if (0 < (int)local_908) {\n            psVar18 = (stat64 *)sg_get_category_sense_str(local_908,0x50,puVar43,psVar8);\n          }\n          pr2serr("Read capacity(16): %s\n",puVar43,psVar18,psVar18);\n          pr2serr("Unable to calculate block size\n");\n        }\n        if (0 < (int)local_908) goto LAB_00012354;\n        goto LAB_00012ef5;\n      }\n      if (psVar8 == (stat64 *)0x0) {\n        pcVar15 = (char *)0x1;\n        uVar33 = sg_ll_readcap_10(local_930,0,0,psVar22,8,1,psVar17,psVar23);\n        psVar22 = (stat64 *)((ulonglong)uVar33 >> 0x20);\n        local_908 = (stat64 *)uVar33;\n        psVar9 = psVar23;\n        if (local_908 != (stat64 *)0x0) {\nLAB_00013444:\n          puVar43 = local_174 + 0x50;\n          psVar25 = (stat64 *)"OS error";\n          puVar29 = puVar43;\n          for (iVar14 = 9; iVar14 != 0; iVar14 = iVar14 + -1) {\n            *puVar29 = (char)psVar25->st_dev;\n            psVar25 = (stat64 *)((int)psVar25 + (uint)bVar32 * -2 + 1);\n            puVar29 = puVar29 + (uint)bVar32 * -2 + 1;\n          }\n          if (0 < (int)local_908) {\n            sg_get_category_sense_str(local_908,0x50,puVar43,psVar8);\n            pr2serr("Read capacity(10): %s\n",puVar43);\n            pr2serr("Unable to calculate block size\n");\n            goto LAB_00012354;\n          }\n          __snprintf_chk(puVar43,0x50,1,0x50,"error: %d",local_908,local_908,local_908);\n          pr2serr("Read capacity(10): %s\n",puVar43);\n          pr2serr("Unable to calculate block size\n");\n          local_908 = (stat64 *)0xf;\n          goto LAB_00012354;\n        }\n      }\n      else {\n        psVar25 = psVar22;\n        pr2serr("Read capacity(16) not supported, try Read capacity(10)\n");\n        pcVar15 = (char *)0x1;\n        uVar33 = sg_ll_readcap_10(local_930,0,0,psVar25,8,1,psVar17);\n        psVar22 = (stat64 *)((ulonglong)uVar33 >> 0x20);\n        local_908 = (stat64 *)uVar33;\n        if (local_908 != (stat64 *)0x0) goto LAB_00013444;\n        if (3 < (int)psVar8) {\n          pr2serr("Read capacity(10) response:\n");\n          psVar17 = (stat64 *)0x1;\n          pcVar15 = (char *)0x8;\n          hex2stderr(psVar25,8,1);\n          psVar22 = extraout_EDX_03;\n        }\n      }\n      local_7a8 = 0;\n      local_7ac = ((uint)local_174._0_4_ >> 0x18 | (local_174._0_4_ & 0xff0000) >> 8 |\n                   (local_174._0_4_ & 0xff00) << 8 | local_174._0_4_ << 0x18) + 1;\n      local_7d8 = (stat64 *)\n                  ((uint)local_174._4_4_ >> 0x18 | (local_174._4_4_ & 0xff0000) >> 8 |\n                   (local_174._4_4_ & 0xff00) << 8 | local_174._4_4_ << 0x18);\n    }" (if "if") (parenthesized_expression "(local_908 == (stat64 *)0x0)" (( "(") (binary_expression "local_908 == (stat64 *)0x0" (identifier "local_908") (== "==") (cast_expression "(stat64 *)0x0" (( "(") (type_descriptor "stat64 *" (type_identifier "stat64") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n      psVar17 = psVar11;\n      if (3 < (int)psVar8) {\n        pr2serr("Read capacity(16) response:\n");\n        psVar17 = (stat64 *)0x1;\n        pcVar15 = (char *)0x20;\n        hex2stderr(psVar22,0x20,1);\n      }\n      bVar1 = local_174[0xc];\n      psVar11 = (stat64 *)\n                ((uint)local_174._8_4_ >> 0x18 | (local_174._8_4_ & 0xff0000) >> 8 |\n                 (local_174._8_4_ & 0xff00) << 8 | local_174._8_4_ << 0x18);\n      uVar7 = (uint)local_174._4_4_ >> 0x18 | (local_174._4_4_ & 0xff0000) >> 8 |\n              (local_174._4_4_ & 0xff00) << 8 | local_174._4_4_ << 0x18;\n      local_7ac = uVar7 + 1;\n      local_7a8 = ((uint)local_174._0_4_ >> 0x18 | (local_174._0_4_ & 0xff0000) >> 8 |\n                   (local_174._0_4_ & 0xff00) << 8 | local_174._0_4_ << 0x18) +\n                  (uint)(0xfffffffe < uVar7);\n      psVar22 = (stat64 *)(uint)local_174[0xc];\n      local_7d8 = psVar11;\n      if ((local_174[0xc] & 1) == 0) {\n        local_7fc = 0;\n        if ((int)local_7ec < 1) goto LAB_00012305;\n        if (psVar8 != (stat64 *)0x0) {\n          pcVar15 = (char *)local_7ec;\n          psVar22 = local_7a0;\n          pr2serr("--wrprotect (%d) expects PI but %s says it has none\n",local_7ec,local_7a0,\n                  psVar11);\n          if (local_7f8 != 0) goto LAB_00012ef5;\n          pcVar13 = "  ... continue but could be dangerous\n";\n          psVar25 = (stat64 *)0x0;\n          psVar9 = psVar11;\n          goto LAB_00013516;\n        }\n        if (local_7f8 != 0) goto LAB_00012ef5;\n      }\n      else {\n        local_7fc = (local_174[0xc] >> 1 & 7) + 1;\n        psVar25 = (stat64 *)(8 << (local_174[0xd] >> 4));\n        psVar22 = (stat64 *)(uint)(local_174[0xd] >> 4);\n        if (((int)local_7ec < 1) ||\n           (local_7d4 = (stat64 *)((int)&psVar25->st_dev + (int)&psVar11->st_dev), (int)psVar8 < 2))\n        {\nLAB_00012305:\n          if (psVar8 == (stat64 *)0x0) goto LAB_00012312;\n        }\n        else {\n          pcVar13 = \n          "  For data out buffer purposes the effective block size is %u (lb size\n  is %u) because PROT_EN=1, PI_EXP=%u and WRPROTECT>0\n"\n          ;\n          pcVar15 = (char *)psVar11;\n          psVar9 = local_7d4;\nLAB_00013516:\n          pr2serr(pcVar13,pcVar15,psVar22,psVar9);\n          psVar17 = psVar22;\n        }\n        pr2serr("Read capacity(16) response fields:\n",pcVar15,psVar17,psVar9);\n        psVar25 = (stat64 *)((int)&local_7d8->st_dev + (int)&psVar25->st_dev);\n        psVar9 = extraout_ECX_06;\n        pr2serr("  Last_LBA=0x%llx  LB size: %u (with PI: %u) bytes  p_type=%u\n",local_7ac + -1,\n                local_7a8 + -1 + (uint)(local_7ac != 0),local_7d8,psVar25,local_174[0xc] >> 1 & 7,\n                extraout_ECX_06,extraout_ECX_06);\n        pr2serr("  prot_en=%u [PI type=%u] p_i_exp=%u  lbppb_exp=%u  lbpme,rz=%u,",bVar1 & 1,\n                local_7fc,local_174[0xd] >> 4,local_174[0xd] & 0xf,\n                (uint)(int)(char)local_174[0xe] >> 0x1f);\n        psVar17 = (stat64 *)\n                  ((ushort)(local_174._14_2_ << 8 | (ushort)local_174._14_2_ >> 8) & 0x3fff);\n        pcVar15 = (char *)(local_174[0xe] >> 6 & 1);\n        pr2serr("%u  low_ali_lba=%u\n",pcVar15,psVar17);\n        psVar22 = extraout_EDX_04;\n      }\n    }" ({ "{") (expression_statement "psVar17 = psVar11;" (assignment_expression "psVar17 = psVar11" (identifier "psVar17") (= "=") (identifier "psVar11")) (; ";")) (if_statement "if (3 < (int)psVar8) {\n        pr2serr("Read capacity(16) response:\n");\n        psVar17 = (stat64 *)0x1;\n        pcVar15 = (char *)0x20;\n        hex2stderr(psVar22,0x20,1);\n      }" (if "if") (parenthesized_expression "(3 < (int)psVar8)" (( "(") (binary_expression "3 < (int)psVar8" (number_literal "3") (< "<") (cast_expression "(int)psVar8" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "psVar8"))) () ")")) (compound_statement "{\n        pr2serr("Read capacity(16) response:\n");\n        psVar17 = (stat64 *)0x1;\n        pcVar15 = (char *)0x20;\n        hex2stderr(psVar22,0x20,1);\n      }" ({ "{") (expression_statement "pr2serr("Read capacity(16) response:\n");" (call_expression "pr2serr("Read capacity(16) response:\n")" (identifier "pr2serr") (argument_list "("Read capacity(16) response:\n")" (( "(") (string_literal ""Read capacity(16) response:\n"" (" """) (string_content "Read capacity(16) response:") (escape_sequence "\n") (" """)) () ")"))) (; ";")) (expression_statement "psVar17 = (stat64 *)0x1;" (assignment_expression "psVar17 = (stat64 *)0x1" (identifier "psVar17") (= "=") (cast_expression "(stat64 *)0x1" (( "(") (type_descriptor "stat64 *" (type_identifier "stat64") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x1"))) (; ";")) (expression_statement "pcVar15 = (char *)0x20;" (assignment_expression "pcVar15 = (char *)0x20" (identifier "pcVar15") (= "=") (cast_expression "(char *)0x20" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x20"))) (; ";")) (expression_statement "hex2stderr(psVar22,0x20,1);" (call_expression "hex2stderr(psVar22,0x20,1)" (identifier "hex2stderr") (argument_list "(psVar22,0x20,1)" (( "(") (identifier "psVar22") (, ",") (number_literal "0x20") (, ",") (number_literal "1") () ")"))) (; ";")) (} "}"))) (expression_statement "bVar1 = local_174[0xc];" (assignment_expression "bVar1 = local_174[0xc]" (identifier "bVar1") (= "=") (subscript_expression "local_174[0xc]" (identifier "local_174") ([ "[") (number_literal "0xc") (] "]"))) (; ";")) (expression_statement "psVar11 = (stat64 *)\n                ((uint)local_174._8_4_ >> 0x18 | (local_174._8_4_ & 0xff0000) >> 8 |\n                 (local_174._8_4_ & 0xff00) << 8 | local_174._8_4_ << 0x18);" (assignment_expression "psVar11 = (stat64 *)\n                ((uint)local_174._8_4_ >> 0x18 | (local_174._8_4_ & 0xff0000) >> 8 |\n                 (local_174._8_4_ & 0xff00) << 8 | local_174._8_4_ << 0x18)" (identifier "psVar11") (= "=") (cast_expression "(stat64 *)\n                ((uint)local_174._8_4_ >> 0x18 | (local_174._8_4_ & 0xff0000) >> 8 |\n                 (local_174._8_4_ & 0xff00) << 8 | local_174._8_4_ << 0x18)" (( "(") (type_descriptor "stat64 *" (type_identifier "stat64") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((uint)local_174._8_4_ >> 0x18 | (local_174._8_4_ & 0xff0000) >> 8 |\n                 (local_174._8_4_ & 0xff00) << 8 | local_174._8_4_ << 0x18)" (( "(") (binary_expression "(uint)local_174._8_4_ >> 0x18 | (local_174._8_4_ & 0xff0000) >> 8 |\n                 (local_174._8_4_ & 0xff00) << 8 | local_174._8_4_ << 0x18" (binary_expression "(uint)local_174._8_4_ >> 0x18 | (local_174._8_4_ & 0xff0000) >> 8 |\n                 (local_174._8_4_ & 0xff00) << 8" (binary_expression "(uint)local_174._8_4_ >> 0x18 | (local_174._8_4_ & 0xff0000) >> 8" (binary_expression "(uint)local_174._8_4_ >> 0x18" (cast_expression "(uint)local_174._8_4_" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (field_expression "local_174._8_4_" (identifier "local_174") (. ".") (field_identifier "_8_4_"))) (>> ">>") (number_literal "0x18")) (| "|") (binary_expression "(local_174._8_4_ & 0xff0000) >> 8" (parenthesized_expression "(local_174._8_4_ & 0xff0000)" (( "(") (binary_expression "local_174._8_4_ & 0xff0000" (field_expression "local_174._8_4_" (identifier "local_174") (. ".") (field_identifier "_8_4_")) (& "&") (number_literal "0xff0000")) () ")")) (>> ">>") (number_literal "8"))) (| "|") (binary_expression "(local_174._8_4_ & 0xff00) << 8" (parenthesized_expression "(local_174._8_4_ & 0xff00)" (( "(") (binary_expression "local_174._8_4_ & 0xff00" (field_expression "local_174._8_4_" (identifier "local_174") (. ".") (field_identifier "_8_4_")) (& "&") (number_literal "0xff00")) () ")")) (<< "<<") (number_literal "8"))) (| "|") (binary_expression "local_174._8_4_ << 0x18" (field_expression "local_174._8_4_" (identifier "local_174") (. ".") (field_identifier "_8_4_")) (<< "<<") (number_literal "0x18"))) () ")")))) (; ";")) (expression_statement "uVar7 = (uint)local_174._4_4_ >> 0x18 | (local_174._4_4_ & 0xff0000) >> 8 |\n              (local_174._4_4_ & 0xff00) << 8 | local_174._4_4_ << 0x18;" (assignment_expression "uVar7 = (uint)local_174._4_4_ >> 0x18 | (local_174._4_4_ & 0xff0000) >> 8 |\n              (local_174._4_4_ & 0xff00) << 8 | local_174._4_4_ << 0x18" (identifier "uVar7") (= "=") (binary_expression "(uint)local_174._4_4_ >> 0x18 | (local_174._4_4_ & 0xff0000) >> 8 |\n              (local_174._4_4_ & 0xff00) << 8 | local_174._4_4_ << 0x18" (binary_expression "(uint)local_174._4_4_ >> 0x18 | (local_174._4_4_ & 0xff0000) >> 8 |\n              (local_174._4_4_ & 0xff00) << 8" (binary_expression "(uint)local_174._4_4_ >> 0x18 | (local_174._4_4_ & 0xff0000) >> 8" (binary_expression "(uint)local_174._4_4_ >> 0x18" (cast_expression "(uint)local_174._4_4_" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (field_expression "local_174._4_4_" (identifier "local_174") (. ".") (field_identifier "_4_4_"))) (>> ">>") (number_literal "0x18")) (| "|") (binary_expression "(local_174._4_4_ & 0xff0000) >> 8" (parenthesized_expression "(local_174._4_4_ & 0xff0000)" (( "(") (binary_expression "local_174._4_4_ & 0xff0000" (field_expression "local_174._4_4_" (identifier "local_174") (. ".") (field_identifier "_4_4_")) (& "&") (number_literal "0xff0000")) () ")")) (>> ">>") (number_literal "8"))) (| "|") (binary_expression "(local_174._4_4_ & 0xff00) << 8" (parenthesized_expression "(local_174._4_4_ & 0xff00)" (( "(") (binary_expression "local_174._4_4_ & 0xff00" (field_expression "local_174._4_4_" (identifier "local_174") (. ".") (field_identifier "_4_4_")) (& "&") (number_literal "0xff00")) () ")")) (<< "<<") (number_literal "8"))) (| "|") (binary_expression "local_174._4_4_ << 0x18" (field_expression "local_174._4_4_" (identifier "local_174") (. ".") (field_identifier "_4_4_")) (<< "<<") (number_literal "0x18")))) (; ";")) (expression_statement "local_7ac = uVar7 + 1;" (assignment_expression "local_7ac = uVar7 + 1" (identifier "local_7ac") (= "=") (binary_expression "uVar7 + 1" (identifier "uVar7") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "local_7a8 = ((uint)local_174._0_4_ >> 0x18 | (local_174._0_4_ & 0xff0000) >> 8 |\n                   (local_174._0_4_ & 0xff00) << 8 | local_174._0_4_ << 0x18) +\n                  (uint)(0xfffffffe < uVar7);" (assignment_expression "local_7a8 = ((uint)local_174._0_4_ >> 0x18 | (local_174._0_4_ & 0xff0000) >> 8 |\n                   (local_174._0_4_ & 0xff00) << 8 | local_174._0_4_ << 0x18) +\n                  (uint)(0xfffffffe < uVar7)" (identifier "local_7a8") (= "=") (binary_expression "((uint)local_174._0_4_ >> 0x18 | (local_174._0_4_ & 0xff0000) >> 8 |\n                   (local_174._0_4_ & 0xff00) << 8 | local_174._0_4_ << 0x18) +\n                  (uint)(0xfffffffe < uVar7)" (parenthesized_expression "((uint)local_174._0_4_ >> 0x18 | (local_174._0_4_ & 0xff0000) >> 8 |\n                   (local_174._0_4_ & 0xff00) << 8 | local_174._0_4_ << 0x18)" (( "(") (binary_expression "(uint)local_174._0_4_ >> 0x18 | (local_174._0_4_ & 0xff0000) >> 8 |\n                   (local_174._0_4_ & 0xff00) << 8 | local_174._0_4_ << 0x18" (binary_expression "(uint)local_174._0_4_ >> 0x18 | (local_174._0_4_ & 0xff0000) >> 8 |\n                   (local_174._0_4_ & 0xff00) << 8" (binary_expression "(uint)local_174._0_4_ >> 0x18 | (local_174._0_4_ & 0xff0000) >> 8" (binary_expression "(uint)local_174._0_4_ >> 0x18" (cast_expression "(uint)local_174._0_4_" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (field_expression "local_174._0_4_" (identifier "local_174") (. ".") (field_identifier "_0_4_"))) (>> ">>") (number_literal "0x18")) (| "|") (binary_expression "(local_174._0_4_ & 0xff0000) >> 8" (parenthesized_expression "(local_174._0_4_ & 0xff0000)" (( "(") (binary_expression "local_174._0_4_ & 0xff0000" (field_expression "local_174._0_4_" (identifier "local_174") (. ".") (field_identifier "_0_4_")) (& "&") (number_literal "0xff0000")) () ")")) (>> ">>") (number_literal "8"))) (| "|") (binary_expression "(local_174._0_4_ & 0xff00) << 8" (parenthesized_expression "(local_174._0_4_ & 0xff00)" (( "(") (binary_expression "local_174._0_4_ & 0xff00" (field_expression "local_174._0_4_" (identifier "local_174") (. ".") (field_identifier "_0_4_")) (& "&") (number_literal "0xff00")) () ")")) (<< "<<") (number_literal "8"))) (| "|") (binary_expression "local_174._0_4_ << 0x18" (field_expression "local_174._0_4_" (identifier "local_174") (. ".") (field_identifier "_0_4_")) (<< "<<") (number_literal "0x18"))) () ")")) (+ "+") (call_expression "(uint)(0xfffffffe < uVar7)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(0xfffffffe < uVar7)" (( "(") (binary_expression "0xfffffffe < uVar7" (number_literal "0xfffffffe") (< "<") (identifier "uVar7")) () ")"))))) (; ";")) (expression_statement "psVar22 = (stat64 *)(uint)local_174[0xc];" (assignment_expression "psVar22 = (stat64 *)(uint)local_174[0xc]" (identifier "psVar22") (= "=") (cast_expression "(stat64 *)(uint)local_174[0xc]" (( "(") (type_descriptor "stat64 *" (type_identifier "stat64") (abstract_pointer_declarator "*" (* "*"))) () ")") (cast_expression "(uint)local_174[0xc]" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (subscript_expression "local_174[0xc]" (identifier "local_174") ([ "[") (number_literal "0xc") (] "]"))))) (; ";")) (expression_statement "local_7d8 = psVar11;" (assignment_expression "local_7d8 = psVar11" (identifier "local_7d8") (= "=") (identifier "psVar11")) (; ";")) (if_statement "if ((local_174[0xc] & 1) == 0) {\n        local_7fc = 0;\n        if ((int)local_7ec < 1) goto LAB_00012305;\n        if (psVar8 != (stat64 *)0x0) {\n          pcVar15 = (char *)local_7ec;\n          psVar22 = local_7a0;\n          pr2serr("--wrprotect (%d) expects PI but %s says it has none\n",local_7ec,local_7a0,\n                  psVar11);\n          if (local_7f8 != 0) goto LAB_00012ef5;\n          pcVar13 = "  ... continue but could be dangerous\n";\n          psVar25 = (stat64 *)0x0;\n          psVar9 = psVar11;\n          goto LAB_00013516;\n        }\n        if (local_7f8 != 0) goto LAB_00012ef5;\n      }\n      else {\n        local_7fc = (local_174[0xc] >> 1 & 7) + 1;\n        psVar25 = (stat64 *)(8 << (local_174[0xd] >> 4));\n        psVar22 = (stat64 *)(uint)(local_174[0xd] >> 4);\n        if (((int)local_7ec < 1) ||\n           (local_7d4 = (stat64 *)((int)&psVar25->st_dev + (int)&psVar11->st_dev), (int)psVar8 < 2))\n        {\nLAB_00012305:\n          if (psVar8 == (stat64 *)0x0) goto LAB_00012312;\n        }\n        else {\n          pcVar13 = \n          "  For data out buffer purposes the effective block size is %u (lb size\n  is %u) because PROT_EN=1, PI_EXP=%u and WRPROTECT>0\n"\n          ;\n          pcVar15 = (char *)psVar11;\n          psVar9 = local_7d4;\nLAB_00013516:\n          pr2serr(pcVar13,pcVar15,psVar22,psVar9);\n          psVar17 = psVar22;\n        }\n        pr2serr("Read capacity(16) response fields:\n",pcVar15,psVar17,psVar9);\n        psVar25 = (stat64 *)((int)&local_7d8->st_dev + (int)&psVar25->st_dev);\n        psVar9 = extraout_ECX_06;\n        pr2serr("  Last_LBA=0x%llx  LB size: %u (with PI: %u) bytes  p_type=%u\n",local_7ac + -1,\n                local_7a8 + -1 + (uint)(local_7ac != 0),local_7d8,psVar25,local_174[0xc] >> 1 & 7,\n                extraout_ECX_06,extraout_ECX_06);\n        pr2serr("  prot_en=%u [PI type=%u] p_i_exp=%u  lbppb_exp=%u  lbpme,rz=%u,",bVar1 & 1,\n                local_7fc,local_174[0xd] >> 4,local_174[0xd] & 0xf,\n                (uint)(int)(char)local_174[0xe] >> 0x1f);\n        psVar17 = (stat64 *)\n                  ((ushort)(local_174._14_2_ << 8 | (ushort)local_174._14_2_ >> 8) & 0x3fff);\n        pcVar15 = (char *)(local_174[0xe] >> 6 & 1);\n        pr2serr("%u  low_ali_lba=%u\n",pcVar15,psVar17);\n        psVar22 = extraout_EDX_04;\n      }" (if "if") (parenthesized_expression "((local_174[0xc] & 1) == 0)" (( "(") (binary_expression "(local_174[0xc] & 1) == 0" (parenthesized_expression "(local_174[0xc] & 1)" (( "(") (binary_expression "local_174[0xc] & 1" (subscript_expression "local_174[0xc]" (identifier "local_174") ([ "[") (number_literal "0xc") (] "]")) (& "&") (number_literal "1")) () ")")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n        local_7fc = 0;\n        if ((int)local_7ec < 1) goto LAB_00012305;\n        if (psVar8 != (stat64 *)0x0) {\n          pcVar15 = (char *)local_7ec;\n          psVar22 = local_7a0;\n          pr2serr("--wrprotect (%d) expects PI but %s says it has none\n",local_7ec,local_7a0,\n                  psVar11);\n          if (local_7f8 != 0) goto LAB_00012ef5;\n          pcVar13 = "  ... continue but could be dangerous\n";\n          psVar25 = (stat64 *)0x0;\n          psVar9 = psVar11;\n          goto LAB_00013516;\n        }\n        if (local_7f8 != 0) goto LAB_00012ef5;\n      }" ({ "{") (expression_statement "local_7fc = 0;" (assignment_expression "local_7fc = 0" (identifier "local_7fc") (= "=") (number_literal "0")) (; ";")) (if_statement "if ((int)local_7ec < 1) goto LAB_00012305;" (if "if") (parenthesized_expression "((int)local_7ec < 1)" (( "(") (binary_expression "(int)local_7ec < 1" (cast_expression "(int)local_7ec" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_7ec")) (< "<") (number_literal "1")) () ")")) (goto_statement "goto LAB_00012305;" (goto "goto") (statement_identifier "LAB_00012305") (; ";"))) (if_statement "if (psVar8 != (stat64 *)0x0) {\n          pcVar15 = (char *)local_7ec;\n          psVar22 = local_7a0;\n          pr2serr("--wrprotect (%d) expects PI but %s says it has none\n",local_7ec,local_7a0,\n                  psVar11);\n          if (local_7f8 != 0) goto LAB_00012ef5;\n          pcVar13 = "  ... continue but could be dangerous\n";\n          psVar25 = (stat64 *)0x0;\n          psVar9 = psVar11;\n          goto LAB_00013516;\n        }" (if "if") (parenthesized_expression "(psVar8 != (stat64 *)0x0)" (( "(") (binary_expression "psVar8 != (stat64 *)0x0" (identifier "psVar8") (!= "!=") (cast_expression "(stat64 *)0x0" (( "(") (type_descriptor "stat64 *" (type_identifier "stat64") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n          pcVar15 = (char *)local_7ec;\n          psVar22 = local_7a0;\n          pr2serr("--wrprotect (%d) expects PI but %s says it has none\n",local_7ec,local_7a0,\n                  psVar11);\n          if (local_7f8 != 0) goto LAB_00012ef5;\n          pcVar13 = "  ... continue but could be dangerous\n";\n          psVar25 = (stat64 *)0x0;\n          psVar9 = psVar11;\n          goto LAB_00013516;\n        }" ({ "{") (expression_statement "pcVar15 = (char *)local_7ec;" (assignment_expression "pcVar15 = (char *)local_7ec" (identifier "pcVar15") (= "=") (cast_expression "(char *)local_7ec" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "local_7ec"))) (; ";")) (expression_statement "psVar22 = local_7a0;" (assignment_expression "psVar22 = local_7a0" (identifier "psVar22") (= "=") (identifier "local_7a0")) (; ";")) (expression_statement "pr2serr("--wrprotect (%d) expects PI but %s says it has none\n",local_7ec,local_7a0,\n                  psVar11);" (call_expression "pr2serr("--wrprotect (%d) expects PI but %s says it has none\n",local_7ec,local_7a0,\n                  psVar11)" (identifier "pr2serr") (argument_list "("--wrprotect (%d) expects PI but %s says it has none\n",local_7ec,local_7a0,\n                  psVar11)" (( "(") (string_literal ""--wrprotect (%d) expects PI but %s says it has none\n"" (" """) (string_content "--wrprotect (%d) expects PI but %s says it has none") (escape_sequence "\n") (" """)) (, ",") (identifier "local_7ec") (, ",") (identifier "local_7a0") (, ",") (identifier "psVar11") () ")"))) (; ";")) (if_statement "if (local_7f8 != 0) goto LAB_00012ef5;" (if "if") (parenthesized_expression "(local_7f8 != 0)" (( "(") (binary_expression "local_7f8 != 0" (identifier "local_7f8") (!= "!=") (number_literal "0")) () ")")) (goto_statement "goto LAB_00012ef5;" (goto "goto") (statement_identifier "LAB_00012ef5") (; ";"))) (expression_statement "pcVar13 = "  ... continue but could be dangerous\n";" (assignment_expression "pcVar13 = "  ... continue but could be dangerous\n"" (identifier "pcVar13") (= "=") (string_literal ""  ... continue but could be dangerous\n"" (" """) (string_content "  ... continue but could be dangerous") (escape_sequence "\n") (" """))) (; ";")) (expression_statement "psVar25 = (stat64 *)0x0;" (assignment_expression "psVar25 = (stat64 *)0x0" (identifier "psVar25") (= "=") (cast_expression "(stat64 *)0x0" (( "(") (type_descriptor "stat64 *" (type_identifier "stat64") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "psVar9 = psVar11;" (assignment_expression "psVar9 = psVar11" (identifier "psVar9") (= "=") (identifier "psVar11")) (; ";")) (goto_statement "goto LAB_00013516;" (goto "goto") (statement_identifier "LAB_00013516") (; ";")) (} "}"))) (if_statement "if (local_7f8 != 0) goto LAB_00012ef5;" (if "if") (parenthesized_expression "(local_7f8 != 0)" (( "(") (binary_expression "local_7f8 != 0" (identifier "local_7f8") (!= "!=") (number_literal "0")) () ")")) (goto_statement "goto LAB_00012ef5;" (goto "goto") (statement_identifier "LAB_00012ef5") (; ";"))) (} "}")) (else_clause "else {\n        local_7fc = (local_174[0xc] >> 1 & 7) + 1;\n        psVar25 = (stat64 *)(8 << (local_174[0xd] >> 4));\n        psVar22 = (stat64 *)(uint)(local_174[0xd] >> 4);\n        if (((int)local_7ec < 1) ||\n           (local_7d4 = (stat64 *)((int)&psVar25->st_dev + (int)&psVar11->st_dev), (int)psVar8 < 2))\n        {\nLAB_00012305:\n          if (psVar8 == (stat64 *)0x0) goto LAB_00012312;\n        }\n        else {\n          pcVar13 = \n          "  For data out buffer purposes the effective block size is %u (lb size\n  is %u) because PROT_EN=1, PI_EXP=%u and WRPROTECT>0\n"\n          ;\n          pcVar15 = (char *)psVar11;\n          psVar9 = local_7d4;\nLAB_00013516:\n          pr2serr(pcVar13,pcVar15,psVar22,psVar9);\n          psVar17 = psVar22;\n        }\n        pr2serr("Read capacity(16) response fields:\n",pcVar15,psVar17,psVar9);\n        psVar25 = (stat64 *)((int)&local_7d8->st_dev + (int)&psVar25->st_dev);\n        psVar9 = extraout_ECX_06;\n        pr2serr("  Last_LBA=0x%llx  LB size: %u (with PI: %u) bytes  p_type=%u\n",local_7ac + -1,\n                local_7a8 + -1 + (uint)(local_7ac != 0),local_7d8,psVar25,local_174[0xc] >> 1 & 7,\n                extraout_ECX_06,extraout_ECX_06);\n        pr2serr("  prot_en=%u [PI type=%u] p_i_exp=%u  lbppb_exp=%u  lbpme,rz=%u,",bVar1 & 1,\n                local_7fc,local_174[0xd] >> 4,local_174[0xd] & 0xf,\n                (uint)(int)(char)local_174[0xe] >> 0x1f);\n        psVar17 = (stat64 *)\n                  ((ushort)(local_174._14_2_ << 8 | (ushort)local_174._14_2_ >> 8) & 0x3fff);\n        pcVar15 = (char *)(local_174[0xe] >> 6 & 1);\n        pr2serr("%u  low_ali_lba=%u\n",pcVar15,psVar17);\n        psVar22 = extraout_EDX_04;\n      }" (else "else") (compound_statement "{\n        local_7fc = (local_174[0xc] >> 1 & 7) + 1;\n        psVar25 = (stat64 *)(8 << (local_174[0xd] >> 4));\n        psVar22 = (stat64 *)(uint)(local_174[0xd] >> 4);\n        if (((int)local_7ec < 1) ||\n           (local_7d4 = (stat64 *)((int)&psVar25->st_dev + (int)&psVar11->st_dev), (int)psVar8 < 2))\n        {\nLAB_00012305:\n          if (psVar8 == (stat64 *)0x0) goto LAB_00012312;\n        }\n        else {\n          pcVar13 = \n          "  For data out buffer purposes the effective block size is %u (lb size\n  is %u) because PROT_EN=1, PI_EXP=%u and WRPROTECT>0\n"\n          ;\n          pcVar15 = (char *)psVar11;\n          psVar9 = local_7d4;\nLAB_00013516:\n          pr2serr(pcVar13,pcVar15,psVar22,psVar9);\n          psVar17 = psVar22;\n        }\n        pr2serr("Read capacity(16) response fields:\n",pcVar15,psVar17,psVar9);\n        psVar25 = (stat64 *)((int)&local_7d8->st_dev + (int)&psVar25->st_dev);\n        psVar9 = extraout_ECX_06;\n        pr2serr("  Last_LBA=0x%llx  LB size: %u (with PI: %u) bytes  p_type=%u\n",local_7ac + -1,\n                local_7a8 + -1 + (uint)(local_7ac != 0),local_7d8,psVar25,local_174[0xc] >> 1 & 7,\n                extraout_ECX_06,extraout_ECX_06);\n        pr2serr("  prot_en=%u [PI type=%u] p_i_exp=%u  lbppb_exp=%u  lbpme,rz=%u,",bVar1 & 1,\n                local_7fc,local_174[0xd] >> 4,local_174[0xd] & 0xf,\n                (uint)(int)(char)local_174[0xe] >> 0x1f);\n        psVar17 = (stat64 *)\n                  ((ushort)(local_174._14_2_ << 8 | (ushort)local_174._14_2_ >> 8) & 0x3fff);\n        pcVar15 = (char *)(local_174[0xe] >> 6 & 1);\n        pr2serr("%u  low_ali_lba=%u\n",pcVar15,psVar17);\n        psVar22 = extraout_EDX_04;\n      }" ({ "{") (expression_statement "local_7fc = (local_174[0xc] >> 1 & 7) + 1;" (assignment_expression "local_7fc = (local_174[0xc] >> 1 & 7) + 1" (identifier "local_7fc") (= "=") (binary_expression "(local_174[0xc] >> 1 & 7) + 1" (parenthesized_expression "(local_174[0xc] >> 1 & 7)" (( "(") (binary_expression "local_174[0xc] >> 1 & 7" (binary_expression "local_174[0xc] >> 1" (subscript_expression "local_174[0xc]" (identifier "local_174") ([ "[") (number_literal "0xc") (] "]")) (>> ">>") (number_literal "1")) (& "&") (number_literal "7")) () ")")) (+ "+") (number_literal "1"))) (; ";")) (expression_statement "psVar25 = (stat64 *)(8 << (local_174[0xd] >> 4));" (assignment_expression "psVar25 = (stat64 *)(8 << (local_174[0xd] >> 4))" (identifier "psVar25") (= "=") (cast_expression "(stat64 *)(8 << (local_174[0xd] >> 4))" (( "(") (type_descriptor "stat64 *" (type_identifier "stat64") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(8 << (local_174[0xd] >> 4))" (( "(") (binary_expression "8 << (local_174[0xd] >> 4)" (number_literal "8") (<< "<<") (parenthesized_expression "(local_174[0xd] >> 4)" (( "(") (binary_expression "local_174[0xd] >> 4" (subscript_expression "local_174[0xd]" (identifier "local_174") ([ "[") (number_literal "0xd") (] "]")) (>> ">>") (number_literal "4")) () ")"))) () ")")))) (; ";")) (expression_statement "psVar22 = (stat64 *)(uint)(local_174[0xd] >> 4);" (assignment_expression "psVar22 = (stat64 *)(uint)(local_174[0xd] >> 4)" (identifier "psVar22") (= "=") (cast_expression "(stat64 *)(uint)(local_174[0xd] >> 4)" (( "(") (type_descriptor "stat64 *" (type_identifier "stat64") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(uint)(local_174[0xd] >> 4)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(local_174[0xd] >> 4)" (( "(") (binary_expression "local_174[0xd] >> 4" (subscript_expression "local_174[0xd]" (identifier "local_174") ([ "[") (number_literal "0xd") (] "]")) (>> ">>") (number_literal "4")) () ")"))))) (; ";")) (if_statement "if (((int)local_7ec < 1) ||\n           (local_7d4 = (stat64 *)((int)&psVar25->st_dev + (int)&psVar11->st_dev), (int)psVar8 < 2))\n        {\nLAB_00012305:\n          if (psVar8 == (stat64 *)0x0) goto LAB_00012312;\n        }\n        else {\n          pcVar13 = \n          "  For data out buffer purposes the effective block size is %u (lb size\n  is %u) because PROT_EN=1, PI_EXP=%u and WRPROTECT>0\n"\n          ;\n          pcVar15 = (char *)psVar11;\n          psVar9 = local_7d4;\nLAB_00013516:\n          pr2serr(pcVar13,pcVar15,psVar22,psVar9);\n          psVar17 = psVar22;\n        }" (if "if") (parenthesized_expression "(((int)local_7ec < 1) ||\n           (local_7d4 = (stat64 *)((int)&psVar25->st_dev + (int)&psVar11->st_dev), (int)psVar8 < 2))" (( "(") (binary_expression "((int)local_7ec < 1) ||\n           (local_7d4 = (stat64 *)((int)&psVar25->st_dev + (int)&psVar11->st_dev), (int)psVar8 < 2)" (parenthesized_expression "((int)local_7ec < 1)" (( "(") (binary_expression "(int)local_7ec < 1" (cast_expression "(int)local_7ec" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_7ec")) (< "<") (number_literal "1")) () ")")) (|| "||") (parenthesized_expression "(local_7d4 = (stat64 *)((int)&psVar25->st_dev + (int)&psVar11->st_dev), (int)psVar8 < 2)" (( "(") (comma_expression "local_7d4 = (stat64 *)((int)&psVar25->st_dev + (int)&psVar11->st_dev), (int)psVar8 < 2" (assignment_expression "local_7d4 = (stat64 *)((int)&psVar25->st_dev + (int)&psVar11->st_dev)" (identifier "local_7d4") (= "=") (cast_expression "(stat64 *)((int)&psVar25->st_dev + (int)&psVar11->st_dev)" (( "(") (type_descriptor "stat64 *" (type_identifier "stat64") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)&psVar25->st_dev + (int)&psVar11->st_dev)" (( "(") (binary_expression "(int)&psVar25->st_dev + (int)&psVar11->st_dev" (cast_expression "(int)&psVar25->st_dev" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (pointer_expression "&psVar25->st_dev" (& "&") (field_expression "psVar25->st_dev" (identifier "psVar25") (-> "->") (field_identifier "st_dev")))) (+ "+") (cast_expression "(int)&psVar11->st_dev" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (pointer_expression "&psVar11->st_dev" (& "&") (field_expression "psVar11->st_dev" (identifier "psVar11") (-> "->") (field_identifier "st_dev"))))) () ")")))) (, ",") (binary_expression "(int)psVar8 < 2" (cast_expression "(int)psVar8" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "psVar8")) (< "<") (number_literal "2"))) () ")"))) () ")")) (compound_statement "{\nLAB_00012305:\n          if (psVar8 == (stat64 *)0x0) goto LAB_00012312;\n        }" ({ "{") (labeled_statement "LAB_00012305:\n          if (psVar8 == (stat64 *)0x0) goto LAB_00012312;" (statement_identifier "LAB_00012305") (: ":") (if_statement "if (psVar8 == (stat64 *)0x0) goto LAB_00012312;" (if "if") (parenthesized_expression "(psVar8 == (stat64 *)0x0)" (( "(") (binary_expression "psVar8 == (stat64 *)0x0" (identifier "psVar8") (== "==") (cast_expression "(stat64 *)0x0" (( "(") (type_descriptor "stat64 *" (type_identifier "stat64") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (goto_statement "goto LAB_00012312;" (goto "goto") (statement_identifier "LAB_00012312") (; ";")))) (} "}")) (else_clause "else {\n          pcVar13 = \n          "  For data out buffer purposes the effective block size is %u (lb size\n  is %u) because PROT_EN=1, PI_EXP=%u and WRPROTECT>0\n"\n          ;\n          pcVar15 = (char *)psVar11;\n          psVar9 = local_7d4;\nLAB_00013516:\n          pr2serr(pcVar13,pcVar15,psVar22,psVar9);\n          psVar17 = psVar22;\n        }" (else "else") (compound_statement "{\n          pcVar13 = \n          "  For data out buffer purposes the effective block size is %u (lb size\n  is %u) because PROT_EN=1, PI_EXP=%u and WRPROTECT>0\n"\n          ;\n          pcVar15 = (char *)psVar11;\n          psVar9 = local_7d4;\nLAB_00013516:\n          pr2serr(pcVar13,pcVar15,psVar22,psVar9);\n          psVar17 = psVar22;\n        }" ({ "{") (expression_statement "pcVar13 = \n          "  For data out buffer purposes the effective block size is %u (lb size\n  is %u) because PROT_EN=1, PI_EXP=%u and WRPROTECT>0\n"\n          ;" (assignment_expression "pcVar13 = \n          "  For data out buffer purposes the effective block size is %u (lb size\n  is %u) because PROT_EN=1, PI_EXP=%u and WRPROTECT>0\n"" (identifier "pcVar13") (= "=") (string_literal ""  For data out buffer purposes the effective block size is %u (lb size\n  is %u) because PROT_EN=1, PI_EXP=%u and WRPROTECT>0\n"" (" """) (string_content "  For data out buffer purposes the effective block size is %u (lb size") (escape_sequence "\n") (string_content "  is %u) because PROT_EN=1, PI_EXP=%u and WRPROTECT>0") (escape_sequence "\n") (" """))) (; ";")) (expression_statement "pcVar15 = (char *)psVar11;" (assignment_expression "pcVar15 = (char *)psVar11" (identifier "pcVar15") (= "=") (cast_expression "(char *)psVar11" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "psVar11"))) (; ";")) (expression_statement "psVar9 = local_7d4;" (assignment_expression "psVar9 = local_7d4" (identifier "psVar9") (= "=") (identifier "local_7d4")) (; ";")) (labeled_statement "LAB_00013516:\n          pr2serr(pcVar13,pcVar15,psVar22,psVar9);" (statement_identifier "LAB_00013516") (: ":") (expression_statement "pr2serr(pcVar13,pcVar15,psVar22,psVar9);" (call_expression "pr2serr(pcVar13,pcVar15,psVar22,psVar9)" (identifier "pr2serr") (argument_list "(pcVar13,pcVar15,psVar22,psVar9)" (( "(") (identifier "pcVar13") (, ",") (identifier "pcVar15") (, ",") (identifier "psVar22") (, ",") (identifier "psVar9") () ")"))) (; ";"))) (expression_statement "psVar17 = psVar22;" (assignment_expression "psVar17 = psVar22" (identifier "psVar17") (= "=") (identifier "psVar22")) (; ";")) (} "}")))) (expression_statement "pr2serr("Read capacity(16) response fields:\n",pcVar15,psVar17,psVar9);" (call_expression "pr2serr("Read capacity(16) response fields:\n",pcVar15,psVar17,psVar9)" (identifier "pr2serr") (argument_list "("Read capacity(16) response fields:\n",pcVar15,psVar17,psVar9)" (( "(") (string_literal ""Read capacity(16) response fields:\n"" (" """) (string_content "Read capacity(16) response fields:") (escape_sequence "\n") (" """)) (, ",") (identifier "pcVar15") (, ",") (identifier "psVar17") (, ",") (identifier "psVar9") () ")"))) (; ";")) (expression_statement "psVar25 = (stat64 *)((int)&local_7d8->st_dev + (int)&psVar25->st_dev);" (assignment_expression "psVar25 = (stat64 *)((int)&local_7d8->st_dev + (int)&psVar25->st_dev)" (identifier "psVar25") (= "=") (cast_expression "(stat64 *)((int)&local_7d8->st_dev + (int)&psVar25->st_dev)" (( "(") (type_descriptor "stat64 *" (type_identifier "stat64") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)&local_7d8->st_dev + (int)&psVar25->st_dev)" (( "(") (binary_expression "(int)&local_7d8->st_dev + (int)&psVar25->st_dev" (cast_expression "(int)&local_7d8->st_dev" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (pointer_expression "&local_7d8->st_dev" (& "&") (field_expression "local_7d8->st_dev" (identifier "local_7d8") (-> "->") (field_identifier "st_dev")))) (+ "+") (cast_expression "(int)&psVar25->st_dev" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (pointer_expression "&psVar25->st_dev" (& "&") (field_expression "psVar25->st_dev" (identifier "psVar25") (-> "->") (field_identifier "st_dev"))))) () ")")))) (; ";")) (expression_statement "psVar9 = extraout_ECX_06;" (assignment_expression "psVar9 = extraout_ECX_06" (identifier "psVar9") (= "=") (identifier "extraout_ECX_06")) (; ";")) (expression_statement "pr2serr("  Last_LBA=0x%llx  LB size: %u (with PI: %u) bytes  p_type=%u\n",local_7ac + -1,\n                local_7a8 + -1 + (uint)(local_7ac != 0),local_7d8,psVar25,local_174[0xc] >> 1 & 7,\n                extraout_ECX_06,extraout_ECX_06);" (call_expression "pr2serr("  Last_LBA=0x%llx  LB size: %u (with PI: %u) bytes  p_type=%u\n",local_7ac + -1,\n                local_7a8 + -1 + (uint)(local_7ac != 0),local_7d8,psVar25,local_174[0xc] >> 1 & 7,\n                extraout_ECX_06,extraout_ECX_06)" (identifier "pr2serr") (argument_list "("  Last_LBA=0x%llx  LB size: %u (with PI: %u) bytes  p_type=%u\n",local_7ac + -1,\n                local_7a8 + -1 + (uint)(local_7ac != 0),local_7d8,psVar25,local_174[0xc] >> 1 & 7,\n                extraout_ECX_06,extraout_ECX_06)" (( "(") (string_literal ""  Last_LBA=0x%llx  LB size: %u (with PI: %u) bytes  p_type=%u\n"" (" """) (string_content "  Last_LBA=0x%llx  LB size: %u (with PI: %u) bytes  p_type=%u") (escape_sequence "\n") (" """)) (, ",") (binary_expression "local_7ac + -1" (identifier "local_7ac") (+ "+") (number_literal "-1")) (, ",") (binary_expression "local_7a8 + -1 + (uint)(local_7ac != 0)" (binary_expression "local_7a8 + -1" (identifier "local_7a8") (+ "+") (number_literal "-1")) (+ "+") (call_expression "(uint)(local_7ac != 0)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(local_7ac != 0)" (( "(") (binary_expression "local_7ac != 0" (identifier "local_7ac") (!= "!=") (number_literal "0")) () ")")))) (, ",") (identifier "local_7d8") (, ",") (identifier "psVar25") (, ",") (binary_expression "local_174[0xc] >> 1 & 7" (binary_expression "local_174[0xc] >> 1" (subscript_expression "local_174[0xc]" (identifier "local_174") ([ "[") (number_literal "0xc") (] "]")) (>> ">>") (number_literal "1")) (& "&") (number_literal "7")) (, ",") (identifier "extraout_ECX_06") (, ",") (identifier "extraout_ECX_06") () ")"))) (; ";")) (expression_statement "pr2serr("  prot_en=%u [PI type=%u] p_i_exp=%u  lbppb_exp=%u  lbpme,rz=%u,",bVar1 & 1,\n                local_7fc,local_174[0xd] >> 4,local_174[0xd] & 0xf,\n                (uint)(int)(char)local_174[0xe] >> 0x1f);" (call_expression "pr2serr("  prot_en=%u [PI type=%u] p_i_exp=%u  lbppb_exp=%u  lbpme,rz=%u,",bVar1 & 1,\n                local_7fc,local_174[0xd] >> 4,local_174[0xd] & 0xf,\n                (uint)(int)(char)local_174[0xe] >> 0x1f)" (identifier "pr2serr") (argument_list "("  prot_en=%u [PI type=%u] p_i_exp=%u  lbppb_exp=%u  lbpme,rz=%u,",bVar1 & 1,\n                local_7fc,local_174[0xd] >> 4,local_174[0xd] & 0xf,\n                (uint)(int)(char)local_174[0xe] >> 0x1f)" (( "(") (string_literal ""  prot_en=%u [PI type=%u] p_i_exp=%u  lbppb_exp=%u  lbpme,rz=%u,"" (" """) (string_content "  prot_en=%u [PI type=%u] p_i_exp=%u  lbppb_exp=%u  lbpme,rz=%u,") (" """)) (, ",") (binary_expression "bVar1 & 1" (identifier "bVar1") (& "&") (number_literal "1")) (, ",") (identifier "local_7fc") (, ",") (binary_expression "local_174[0xd] >> 4" (subscript_expression "local_174[0xd]" (identifier "local_174") ([ "[") (number_literal "0xd") (] "]")) (>> ">>") (number_literal "4")) (, ",") (binary_expression "local_174[0xd] & 0xf" (subscript_expression "local_174[0xd]" (identifier "local_174") ([ "[") (number_literal "0xd") (] "]")) (& "&") (number_literal "0xf")) (, ",") (binary_expression "(uint)(int)(char)local_174[0xe] >> 0x1f" (cast_expression "(uint)(int)(char)local_174[0xe]" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (cast_expression "(int)(char)local_174[0xe]" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (cast_expression "(char)local_174[0xe]" (( "(") (type_descriptor "char" (primitive_type "char")) () ")") (subscript_expression "local_174[0xe]" (identifier "local_174") ([ "[") (number_literal "0xe") (] "]"))))) (>> ">>") (number_literal "0x1f")) () ")"))) (; ";")) (expression_statement "psVar17 = (stat64 *)\n                  ((ushort)(local_174._14_2_ << 8 | (ushort)local_174._14_2_ >> 8) & 0x3fff);" (assignment_expression "psVar17 = (stat64 *)\n                  ((ushort)(local_174._14_2_ << 8 | (ushort)local_174._14_2_ >> 8) & 0x3fff)" (identifier "psVar17") (= "=") (cast_expression "(stat64 *)\n                  ((ushort)(local_174._14_2_ << 8 | (ushort)local_174._14_2_ >> 8) & 0x3fff)" (( "(") (type_descriptor "stat64 *" (type_identifier "stat64") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((ushort)(local_174._14_2_ << 8 | (ushort)local_174._14_2_ >> 8) & 0x3fff)" (( "(") (binary_expression "(ushort)(local_174._14_2_ << 8 | (ushort)local_174._14_2_ >> 8) & 0x3fff" (call_expression "(ushort)(local_174._14_2_ << 8 | (ushort)local_174._14_2_ >> 8)" (parenthesized_expression "(ushort)" (( "(") (identifier "ushort") () ")")) (argument_list "(local_174._14_2_ << 8 | (ushort)local_174._14_2_ >> 8)" (( "(") (binary_expression "local_174._14_2_ << 8 | (ushort)local_174._14_2_ >> 8" (binary_expression "local_174._14_2_ << 8" (field_expression "local_174._14_2_" (identifier "local_174") (. ".") (field_identifier "_14_2_")) (<< "<<") (number_literal "8")) (| "|") (binary_expression "(ushort)local_174._14_2_ >> 8" (cast_expression "(ushort)local_174._14_2_" (( "(") (type_descriptor "ushort" (type_identifier "ushort")) () ")") (field_expression "local_174._14_2_" (identifier "local_174") (. ".") (field_identifier "_14_2_"))) (>> ">>") (number_literal "8"))) () ")"))) (& "&") (number_literal "0x3fff")) () ")")))) (; ";")) (expression_statement "pcVar15 = (char *)(local_174[0xe] >> 6 & 1);" (assignment_expression "pcVar15 = (char *)(local_174[0xe] >> 6 & 1)" (identifier "pcVar15") (= "=") (cast_expression "(char *)(local_174[0xe] >> 6 & 1)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(local_174[0xe] >> 6 & 1)" (( "(") (binary_expression "local_174[0xe] >> 6 & 1" (binary_expression "local_174[0xe] >> 6" (subscript_expression "local_174[0xe]" (identifier "local_174") ([ "[") (number_literal "0xe") (] "]")) (>> ">>") (number_literal "6")) (& "&") (number_literal "1")) () ")")))) (; ";")) (expression_statement "pr2serr("%u  low_ali_lba=%u\n",pcVar15,psVar17);" (call_expression "pr2serr("%u  low_ali_lba=%u\n",pcVar15,psVar17)" (identifier "pr2serr") (argument_list "("%u  low_ali_lba=%u\n",pcVar15,psVar17)" (( "(") (string_literal ""%u  low_ali_lba=%u\n"" (" """) (string_content "%u  low_ali_lba=%u") (escape_sequence "\n") (" """)) (, ",") (identifier "pcVar15") (, ",") (identifier "psVar17") () ")"))) (; ";")) (expression_statement "psVar22 = extraout_EDX_04;" (assignment_expression "psVar22 = extraout_EDX_04" (identifier "psVar22") (= "=") (identifier "extraout_EDX_04")) (; ";")) (} "}")))) (} "}")) (else_clause "else {\n      if (((int)local_908 - 5U & 0xfffffffb) != 0) {\n        if (psVar8 != (stat64 *)0x0) {\n          puVar43 = local_174 + 0x50;\n          psVar25 = (stat64 *)"OS error";\n          puVar29 = puVar43;\n          for (iVar14 = 9; iVar14 != 0; iVar14 = iVar14 + -1) {\n            *puVar29 = (char)psVar25->st_dev;\n            psVar25 = (stat64 *)((int)psVar25 + (uint)bVar32 * -2 + 1);\n            puVar29 = puVar29 + (uint)bVar32 * -2 + 1;\n          }\n          psVar18 = local_908;\n          if (0 < (int)local_908) {\n            psVar18 = (stat64 *)sg_get_category_sense_str(local_908,0x50,puVar43,psVar8);\n          }\n          pr2serr("Read capacity(16): %s\n",puVar43,psVar18,psVar18);\n          pr2serr("Unable to calculate block size\n");\n        }\n        if (0 < (int)local_908) goto LAB_00012354;\n        goto LAB_00012ef5;\n      }\n      if (psVar8 == (stat64 *)0x0) {\n        pcVar15 = (char *)0x1;\n        uVar33 = sg_ll_readcap_10(local_930,0,0,psVar22,8,1,psVar17,psVar23);\n        psVar22 = (stat64 *)((ulonglong)uVar33 >> 0x20);\n        local_908 = (stat64 *)uVar33;\n        psVar9 = psVar23;\n        if (local_908 != (stat64 *)0x0) {\nLAB_00013444:\n          puVar43 = local_174 + 0x50;\n          psVar25 = (stat64 *)"OS error";\n          puVar29 = puVar43;\n          for (iVar14 = 9; iVar14 != 0; iVar14 = iVar14 + -1) {\n            *puVar29 = (char)psVar25->st_dev;\n            psVar25 = (stat64 *)((int)psVar25 + (uint)bVar32 * -2 + 1);\n            puVar29 = puVar29 + (uint)bVar32 * -2 + 1;\n          }\n          if (0 < (int)local_908) {\n            sg_get_category_sense_str(local_908,0x50,puVar43,psVar8);\n            pr2serr("Read capacity(10): %s\n",puVar43);\n            pr2serr("Unable to calculate block size\n");\n            goto LAB_00012354;\n          }\n          __snprintf_chk(puVar43,0x50,1,0x50,"error: %d",local_908,local_908,local_908);\n          pr2serr("Read capacity(10): %s\n",puVar43);\n          pr2serr("Unable to calculate block size\n");\n          local_908 = (stat64 *)0xf;\n          goto LAB_00012354;\n        }\n      }\n      else {\n        psVar25 = psVar22;\n        pr2serr("Read capacity(16) not supported, try Read capacity(10)\n");\n        pcVar15 = (char *)0x1;\n        uVar33 = sg_ll_readcap_10(local_930,0,0,psVar25,8,1,psVar17);\n        psVar22 = (stat64 *)((ulonglong)uVar33 >> 0x20);\n        local_908 = (stat64 *)uVar33;\n        if (local_908 != (stat64 *)0x0) goto LAB_00013444;\n        if (3 < (int)psVar8) {\n          pr2serr("Read capacity(10) response:\n");\n          psVar17 = (stat64 *)0x1;\n          pcVar15 = (char *)0x8;\n          hex2stderr(psVar25,8,1);\n          psVar22 = extraout_EDX_03;\n        }\n      }\n      local_7a8 = 0;\n      local_7ac = ((uint)local_174._0_4_ >> 0x18 | (local_174._0_4_ & 0xff0000) >> 8 |\n                   (local_174._0_4_ & 0xff00) << 8 | local_174._0_4_ << 0x18) + 1;\n      local_7d8 = (stat64 *)\n                  ((uint)local_174._4_4_ >> 0x18 | (local_174._4_4_ & 0xff0000) >> 8 |\n                   (local_174._4_4_ & 0xff00) << 8 | local_174._4_4_ << 0x18);\n    }" (else "else") (compound_statement "{\n      if (((int)local_908 - 5U & 0xfffffffb) != 0) {\n        if (psVar8 != (stat64 *)0x0) {\n          puVar43 = local_174 + 0x50;\n          psVar25 = (stat64 *)"OS error";\n          puVar29 = puVar43;\n          for (iVar14 = 9; iVar14 != 0; iVar14 = iVar14 + -1) {\n            *puVar29 = (char)psVar25->st_dev;\n            psVar25 = (stat64 *)((int)psVar25 + (uint)bVar32 * -2 + 1);\n            puVar29 = puVar29 + (uint)bVar32 * -2 + 1;\n          }\n          psVar18 = local_908;\n          if (0 < (int)local_908) {\n            psVar18 = (stat64 *)sg_get_category_sense_str(local_908,0x50,puVar43,psVar8);\n          }\n          pr2serr("Read capacity(16): %s\n",puVar43,psVar18,psVar18);\n          pr2serr("Unable to calculate block size\n");\n        }\n        if (0 < (int)local_908) goto LAB_00012354;\n        goto LAB_00012ef5;\n      }\n      if (psVar8 == (stat64 *)0x0) {\n        pcVar15 = (char *)0x1;\n        uVar33 = sg_ll_readcap_10(local_930,0,0,psVar22,8,1,psVar17,psVar23);\n        psVar22 = (stat64 *)((ulonglong)uVar33 >> 0x20);\n        local_908 = (stat64 *)uVar33;\n        psVar9 = psVar23;\n        if (local_908 != (stat64 *)0x0) {\nLAB_00013444:\n          puVar43 = local_174 + 0x50;\n          psVar25 = (stat64 *)"OS error";\n          puVar29 = puVar43;\n          for (iVar14 = 9; iVar14 != 0; iVar14 = iVar14 + -1) {\n            *puVar29 = (char)psVar25->st_dev;\n            psVar25 = (stat64 *)((int)psVar25 + (uint)bVar32 * -2 + 1);\n            puVar29 = puVar29 + (uint)bVar32 * -2 + 1;\n          }\n          if (0 < (int)local_908) {\n            sg_get_category_sense_str(local_908,0x50,puVar43,psVar8);\n            pr2serr("Read capacity(10): %s\n",puVar43);\n            pr2serr("Unable to calculate block size\n");\n            goto LAB_00012354;\n          }\n          __snprintf_chk(puVar43,0x50,1,0x50,"error: %d",local_908,local_908,local_908);\n          pr2serr("Read capacity(10): %s\n",puVar43);\n          pr2serr("Unable to calculate block size\n");\n          local_908 = (stat64 *)0xf;\n          goto LAB_00012354;\n        }\n      }\n      else {\n        psVar25 = psVar22;\n        pr2serr("Read capacity(16) not supported, try Read capacity(10)\n");\n        pcVar15 = (char *)0x1;\n        uVar33 = sg_ll_readcap_10(local_930,0,0,psVar25,8,1,psVar17);\n        psVar22 = (stat64 *)((ulonglong)uVar33 >> 0x20);\n        local_908 = (stat64 *)uVar33;\n        if (local_908 != (stat64 *)0x0) goto LAB_00013444;\n        if (3 < (int)psVar8) {\n          pr2serr("Read capacity(10) response:\n");\n          psVar17 = (stat64 *)0x1;\n          pcVar15 = (char *)0x8;\n          hex2stderr(psVar25,8,1);\n          psVar22 = extraout_EDX_03;\n        }\n      }\n      local_7a8 = 0;\n      local_7ac = ((uint)local_174._0_4_ >> 0x18 | (local_174._0_4_ & 0xff0000) >> 8 |\n                   (local_174._0_4_ & 0xff00) << 8 | local_174._0_4_ << 0x18) + 1;\n      local_7d8 = (stat64 *)\n                  ((uint)local_174._4_4_ >> 0x18 | (local_174._4_4_ & 0xff0000) >> 8 |\n                   (local_174._4_4_ & 0xff00) << 8 | local_174._4_4_ << 0x18);\n    }" ({ "{") (if_statement "if (((int)local_908 - 5U & 0xfffffffb) != 0) {\n        if (psVar8 != (stat64 *)0x0) {\n          puVar43 = local_174 + 0x50;\n          psVar25 = (stat64 *)"OS error";\n          puVar29 = puVar43;\n          for (iVar14 = 9; iVar14 != 0; iVar14 = iVar14 + -1) {\n            *puVar29 = (char)psVar25->st_dev;\n            psVar25 = (stat64 *)((int)psVar25 + (uint)bVar32 * -2 + 1);\n            puVar29 = puVar29 + (uint)bVar32 * -2 + 1;\n          }\n          psVar18 = local_908;\n          if (0 < (int)local_908) {\n            psVar18 = (stat64 *)sg_get_category_sense_str(local_908,0x50,puVar43,psVar8);\n          }\n          pr2serr("Read capacity(16): %s\n",puVar43,psVar18,psVar18);\n          pr2serr("Unable to calculate block size\n");\n        }\n        if (0 < (int)local_908) goto LAB_00012354;\n        goto LAB_00012ef5;\n      }" (if "if") (parenthesized_expression "(((int)local_908 - 5U & 0xfffffffb) != 0)" (( "(") (binary_expression "((int)local_908 - 5U & 0xfffffffb) != 0" (parenthesized_expression "((int)local_908 - 5U & 0xfffffffb)" (( "(") (binary_expression "(int)local_908 - 5U & 0xfffffffb" (binary_expression "(int)local_908 - 5U" (cast_expression "(int)local_908" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_908")) (- "-") (number_literal "5U")) (& "&") (number_literal "0xfffffffb")) () ")")) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n        if (psVar8 != (stat64 *)0x0) {\n          puVar43 = local_174 + 0x50;\n          psVar25 = (stat64 *)"OS error";\n          puVar29 = puVar43;\n          for (iVar14 = 9; iVar14 != 0; iVar14 = iVar14 + -1) {\n            *puVar29 = (char)psVar25->st_dev;\n            psVar25 = (stat64 *)((int)psVar25 + (uint)bVar32 * -2 + 1);\n            puVar29 = puVar29 + (uint)bVar32 * -2 + 1;\n          }\n          psVar18 = local_908;\n          if (0 < (int)local_908) {\n            psVar18 = (stat64 *)sg_get_category_sense_str(local_908,0x50,puVar43,psVar8);\n          }\n          pr2serr("Read capacity(16): %s\n",puVar43,psVar18,psVar18);\n          pr2serr("Unable to calculate block size\n");\n        }\n        if (0 < (int)local_908) goto LAB_00012354;\n        goto LAB_00012ef5;\n      }" ({ "{") (if_statement "if (psVar8 != (stat64 *)0x0) {\n          puVar43 = local_174 + 0x50;\n          psVar25 = (stat64 *)"OS error";\n          puVar29 = puVar43;\n          for (iVar14 = 9; iVar14 != 0; iVar14 = iVar14 + -1) {\n            *puVar29 = (char)psVar25->st_dev;\n            psVar25 = (stat64 *)((int)psVar25 + (uint)bVar32 * -2 + 1);\n            puVar29 = puVar29 + (uint)bVar32 * -2 + 1;\n          }\n          psVar18 = local_908;\n          if (0 < (int)local_908) {\n            psVar18 = (stat64 *)sg_get_category_sense_str(local_908,0x50,puVar43,psVar8);\n          }\n          pr2serr("Read capacity(16): %s\n",puVar43,psVar18,psVar18);\n          pr2serr("Unable to calculate block size\n");\n        }" (if "if") (parenthesized_expression "(psVar8 != (stat64 *)0x0)" (( "(") (binary_expression "psVar8 != (stat64 *)0x0" (identifier "psVar8") (!= "!=") (cast_expression "(stat64 *)0x0" (( "(") (type_descriptor "stat64 *" (type_identifier "stat64") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n          puVar43 = local_174 + 0x50;\n          psVar25 = (stat64 *)"OS error";\n          puVar29 = puVar43;\n          for (iVar14 = 9; iVar14 != 0; iVar14 = iVar14 + -1) {\n            *puVar29 = (char)psVar25->st_dev;\n            psVar25 = (stat64 *)((int)psVar25 + (uint)bVar32 * -2 + 1);\n            puVar29 = puVar29 + (uint)bVar32 * -2 + 1;\n          }\n          psVar18 = local_908;\n          if (0 < (int)local_908) {\n            psVar18 = (stat64 *)sg_get_category_sense_str(local_908,0x50,puVar43,psVar8);\n          }\n          pr2serr("Read capacity(16): %s\n",puVar43,psVar18,psVar18);\n          pr2serr("Unable to calculate block size\n");\n        }" ({ "{") (expression_statement "puVar43 = local_174 + 0x50;" (assignment_expression "puVar43 = local_174 + 0x50" (identifier "puVar43") (= "=") (binary_expression "local_174 + 0x50" (identifier "local_174") (+ "+") (number_literal "0x50"))) (; ";")) (expression_statement "psVar25 = (stat64 *)"OS error";" (assignment_expression "psVar25 = (stat64 *)"OS error"" (identifier "psVar25") (= "=") (cast_expression "(stat64 *)"OS error"" (( "(") (type_descriptor "stat64 *" (type_identifier "stat64") (abstract_pointer_declarator "*" (* "*"))) () ")") (string_literal ""OS error"" (" """) (string_content "OS error") (" """)))) (; ";")) (expression_statement "puVar29 = puVar43;" (assignment_expression "puVar29 = puVar43" (identifier "puVar29") (= "=") (identifier "puVar43")) (; ";")) (for_statement "for (iVar14 = 9; iVar14 != 0; iVar14 = iVar14 + -1) {\n            *puVar29 = (char)psVar25->st_dev;\n            psVar25 = (stat64 *)((int)psVar25 + (uint)bVar32 * -2 + 1);\n            puVar29 = puVar29 + (uint)bVar32 * -2 + 1;\n          }" (for "for") (( "(") (assignment_expression "iVar14 = 9" (identifier "iVar14") (= "=") (number_literal "9")) (; ";") (binary_expression "iVar14 != 0" (identifier "iVar14") (!= "!=") (number_literal "0")) (; ";") (assignment_expression "iVar14 = iVar14 + -1" (identifier "iVar14") (= "=") (binary_expression "iVar14 + -1" (identifier "iVar14") (+ "+") (number_literal "-1"))) () ")") (compound_statement "{\n            *puVar29 = (char)psVar25->st_dev;\n            psVar25 = (stat64 *)((int)psVar25 + (uint)bVar32 * -2 + 1);\n            puVar29 = puVar29 + (uint)bVar32 * -2 + 1;\n          }" ({ "{") (expression_statement "*puVar29 = (char)psVar25->st_dev;" (assignment_expression "*puVar29 = (char)psVar25->st_dev" (pointer_expression "*puVar29" (* "*") (identifier "puVar29")) (= "=") (cast_expression "(char)psVar25->st_dev" (( "(") (type_descriptor "char" (primitive_type "char")) () ")") (field_expression "psVar25->st_dev" (identifier "psVar25") (-> "->") (field_identifier "st_dev")))) (; ";")) (expression_statement "psVar25 = (stat64 *)((int)psVar25 + (uint)bVar32 * -2 + 1);" (assignment_expression "psVar25 = (stat64 *)((int)psVar25 + (uint)bVar32 * -2 + 1)" (identifier "psVar25") (= "=") (cast_expression "(stat64 *)((int)psVar25 + (uint)bVar32 * -2 + 1)" (( "(") (type_descriptor "stat64 *" (type_identifier "stat64") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)psVar25 + (uint)bVar32 * -2 + 1)" (( "(") (binary_expression "(int)psVar25 + (uint)bVar32 * -2 + 1" (binary_expression "(int)psVar25 + (uint)bVar32 * -2" (cast_expression "(int)psVar25" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "psVar25")) (+ "+") (binary_expression "(uint)bVar32 * -2" (cast_expression "(uint)bVar32" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "bVar32")) (* "*") (number_literal "-2"))) (+ "+") (number_literal "1")) () ")")))) (; ";")) (expression_statement "puVar29 = puVar29 + (uint)bVar32 * -2 + 1;" (assignment_expression "puVar29 = puVar29 + (uint)bVar32 * -2 + 1" (identifier "puVar29") (= "=") (binary_expression "puVar29 + (uint)bVar32 * -2 + 1" (binary_expression "puVar29 + (uint)bVar32 * -2" (identifier "puVar29") (+ "+") (binary_expression "(uint)bVar32 * -2" (cast_expression "(uint)bVar32" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "bVar32")) (* "*") (number_literal "-2"))) (+ "+") (number_literal "1"))) (; ";")) (} "}"))) (expression_statement "psVar18 = local_908;" (assignment_expression "psVar18 = local_908" (identifier "psVar18") (= "=") (identifier "local_908")) (; ";")) (if_statement "if (0 < (int)local_908) {\n            psVar18 = (stat64 *)sg_get_category_sense_str(local_908,0x50,puVar43,psVar8);\n          }" (if "if") (parenthesized_expression "(0 < (int)local_908)" (( "(") (binary_expression "0 < (int)local_908" (number_literal "0") (< "<") (cast_expression "(int)local_908" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_908"))) () ")")) (compound_statement "{\n            psVar18 = (stat64 *)sg_get_category_sense_str(local_908,0x50,puVar43,psVar8);\n          }" ({ "{") (expression_statement "psVar18 = (stat64 *)sg_get_category_sense_str(local_908,0x50,puVar43,psVar8);" (assignment_expression "psVar18 = (stat64 *)sg_get_category_sense_str(local_908,0x50,puVar43,psVar8)" (identifier "psVar18") (= "=") (cast_expression "(stat64 *)sg_get_category_sense_str(local_908,0x50,puVar43,psVar8)" (( "(") (type_descriptor "stat64 *" (type_identifier "stat64") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "sg_get_category_sense_str(local_908,0x50,puVar43,psVar8)" (identifier "sg_get_category_sense_str") (argument_list "(local_908,0x50,puVar43,psVar8)" (( "(") (identifier "local_908") (, ",") (number_literal "0x50") (, ",") (identifier "puVar43") (, ",") (identifier "psVar8") () ")"))))) (; ";")) (} "}"))) (expression_statement "pr2serr("Read capacity(16): %s\n",puVar43,psVar18,psVar18);" (call_expression "pr2serr("Read capacity(16): %s\n",puVar43,psVar18,psVar18)" (identifier "pr2serr") (argument_list "("Read capacity(16): %s\n",puVar43,psVar18,psVar18)" (( "(") (string_literal ""Read capacity(16): %s\n"" (" """) (string_content "Read capacity(16): %s") (escape_sequence "\n") (" """)) (, ",") (identifier "puVar43") (, ",") (identifier "psVar18") (, ",") (identifier "psVar18") () ")"))) (; ";")) (expression_statement "pr2serr("Unable to calculate block size\n");" (call_expression "pr2serr("Unable to calculate block size\n")" (identifier "pr2serr") (argument_list "("Unable to calculate block size\n")" (( "(") (string_literal ""Unable to calculate block size\n"" (" """) (string_content "Unable to calculate block size") (escape_sequence "\n") (" """)) () ")"))) (; ";")) (} "}"))) (if_statement "if (0 < (int)local_908) goto LAB_00012354;" (if "if") (parenthesized_expression "(0 < (int)local_908)" (( "(") (binary_expression "0 < (int)local_908" (number_literal "0") (< "<") (cast_expression "(int)local_908" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_908"))) () ")")) (goto_statement "goto LAB_00012354;" (goto "goto") (statement_identifier "LAB_00012354") (; ";"))) (goto_statement "goto LAB_00012ef5;" (goto "goto") (statement_identifier "LAB_00012ef5") (; ";")) (} "}"))) (if_statement "if (psVar8 == (stat64 *)0x0) {\n        pcVar15 = (char *)0x1;\n        uVar33 = sg_ll_readcap_10(local_930,0,0,psVar22,8,1,psVar17,psVar23);\n        psVar22 = (stat64 *)((ulonglong)uVar33 >> 0x20);\n        local_908 = (stat64 *)uVar33;\n        psVar9 = psVar23;\n        if (local_908 != (stat64 *)0x0) {\nLAB_00013444:\n          puVar43 = local_174 + 0x50;\n          psVar25 = (stat64 *)"OS error";\n          puVar29 = puVar43;\n          for (iVar14 = 9; iVar14 != 0; iVar14 = iVar14 + -1) {\n            *puVar29 = (char)psVar25->st_dev;\n            psVar25 = (stat64 *)((int)psVar25 + (uint)bVar32 * -2 + 1);\n            puVar29 = puVar29 + (uint)bVar32 * -2 + 1;\n          }\n          if (0 < (int)local_908) {\n            sg_get_category_sense_str(local_908,0x50,puVar43,psVar8);\n            pr2serr("Read capacity(10): %s\n",puVar43);\n            pr2serr("Unable to calculate block size\n");\n            goto LAB_00012354;\n          }\n          __snprintf_chk(puVar43,0x50,1,0x50,"error: %d",local_908,local_908,local_908);\n          pr2serr("Read capacity(10): %s\n",puVar43);\n          pr2serr("Unable to calculate block size\n");\n          local_908 = (stat64 *)0xf;\n          goto LAB_00012354;\n        }\n      }\n      else {\n        psVar25 = psVar22;\n        pr2serr("Read capacity(16) not supported, try Read capacity(10)\n");\n        pcVar15 = (char *)0x1;\n        uVar33 = sg_ll_readcap_10(local_930,0,0,psVar25,8,1,psVar17);\n        psVar22 = (stat64 *)((ulonglong)uVar33 >> 0x20);\n        local_908 = (stat64 *)uVar33;\n        if (local_908 != (stat64 *)0x0) goto LAB_00013444;\n        if (3 < (int)psVar8) {\n          pr2serr("Read capacity(10) response:\n");\n          psVar17 = (stat64 *)0x1;\n          pcVar15 = (char *)0x8;\n          hex2stderr(psVar25,8,1);\n          psVar22 = extraout_EDX_03;\n        }\n      }" (if "if") (parenthesized_expression "(psVar8 == (stat64 *)0x0)" (( "(") (binary_expression "psVar8 == (stat64 *)0x0" (identifier "psVar8") (== "==") (cast_expression "(stat64 *)0x0" (( "(") (type_descriptor "stat64 *" (type_identifier "stat64") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n        pcVar15 = (char *)0x1;\n        uVar33 = sg_ll_readcap_10(local_930,0,0,psVar22,8,1,psVar17,psVar23);\n        psVar22 = (stat64 *)((ulonglong)uVar33 >> 0x20);\n        local_908 = (stat64 *)uVar33;\n        psVar9 = psVar23;\n        if (local_908 != (stat64 *)0x0) {\nLAB_00013444:\n          puVar43 = local_174 + 0x50;\n          psVar25 = (stat64 *)"OS error";\n          puVar29 = puVar43;\n          for (iVar14 = 9; iVar14 != 0; iVar14 = iVar14 + -1) {\n            *puVar29 = (char)psVar25->st_dev;\n            psVar25 = (stat64 *)((int)psVar25 + (uint)bVar32 * -2 + 1);\n            puVar29 = puVar29 + (uint)bVar32 * -2 + 1;\n          }\n          if (0 < (int)local_908) {\n            sg_get_category_sense_str(local_908,0x50,puVar43,psVar8);\n            pr2serr("Read capacity(10): %s\n",puVar43);\n            pr2serr("Unable to calculate block size\n");\n            goto LAB_00012354;\n          }\n          __snprintf_chk(puVar43,0x50,1,0x50,"error: %d",local_908,local_908,local_908);\n          pr2serr("Read capacity(10): %s\n",puVar43);\n          pr2serr("Unable to calculate block size\n");\n          local_908 = (stat64 *)0xf;\n          goto LAB_00012354;\n        }\n      }" ({ "{") (expression_statement "pcVar15 = (char *)0x1;" (assignment_expression "pcVar15 = (char *)0x1" (identifier "pcVar15") (= "=") (cast_expression "(char *)0x1" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x1"))) (; ";")) (expression_statement "uVar33 = sg_ll_readcap_10(local_930,0,0,psVar22,8,1,psVar17,psVar23);" (assignment_expression "uVar33 = sg_ll_readcap_10(local_930,0,0,psVar22,8,1,psVar17,psVar23)" (identifier "uVar33") (= "=") (call_expression "sg_ll_readcap_10(local_930,0,0,psVar22,8,1,psVar17,psVar23)" (identifier "sg_ll_readcap_10") (argument_list "(local_930,0,0,psVar22,8,1,psVar17,psVar23)" (( "(") (identifier "local_930") (, ",") (number_literal "0") (, ",") (number_literal "0") (, ",") (identifier "psVar22") (, ",") (number_literal "8") (, ",") (number_literal "1") (, ",") (identifier "psVar17") (, ",") (identifier "psVar23") () ")")))) (; ";")) (expression_statement "psVar22 = (stat64 *)((ulonglong)uVar33 >> 0x20);" (assignment_expression "psVar22 = (stat64 *)((ulonglong)uVar33 >> 0x20)" (identifier "psVar22") (= "=") (cast_expression "(stat64 *)((ulonglong)uVar33 >> 0x20)" (( "(") (type_descriptor "stat64 *" (type_identifier "stat64") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((ulonglong)uVar33 >> 0x20)" (( "(") (binary_expression "(ulonglong)uVar33 >> 0x20" (cast_expression "(ulonglong)uVar33" (( "(") (type_descriptor "ulonglong" (type_identifier "ulonglong")) () ")") (identifier "uVar33")) (>> ">>") (number_literal "0x20")) () ")")))) (; ";")) (expression_statement "local_908 = (stat64 *)uVar33;" (assignment_expression "local_908 = (stat64 *)uVar33" (identifier "local_908") (= "=") (cast_expression "(stat64 *)uVar33" (( "(") (type_descriptor "stat64 *" (type_identifier "stat64") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "uVar33"))) (; ";")) (expression_statement "psVar9 = psVar23;" (assignment_expression "psVar9 = psVar23" (identifier "psVar9") (= "=") (identifier "psVar23")) (; ";")) (if_statement "if (local_908 != (stat64 *)0x0) {\nLAB_00013444:\n          puVar43 = local_174 + 0x50;\n          psVar25 = (stat64 *)"OS error";\n          puVar29 = puVar43;\n          for (iVar14 = 9; iVar14 != 0; iVar14 = iVar14 + -1) {\n            *puVar29 = (char)psVar25->st_dev;\n            psVar25 = (stat64 *)((int)psVar25 + (uint)bVar32 * -2 + 1);\n            puVar29 = puVar29 + (uint)bVar32 * -2 + 1;\n          }\n          if (0 < (int)local_908) {\n            sg_get_category_sense_str(local_908,0x50,puVar43,psVar8);\n            pr2serr("Read capacity(10): %s\n",puVar43);\n            pr2serr("Unable to calculate block size\n");\n            goto LAB_00012354;\n          }\n          __snprintf_chk(puVar43,0x50,1,0x50,"error: %d",local_908,local_908,local_908);\n          pr2serr("Read capacity(10): %s\n",puVar43);\n          pr2serr("Unable to calculate block size\n");\n          local_908 = (stat64 *)0xf;\n          goto LAB_00012354;\n        }" (if "if") (parenthesized_expression "(local_908 != (stat64 *)0x0)" (( "(") (binary_expression "local_908 != (stat64 *)0x0" (identifier "local_908") (!= "!=") (cast_expression "(stat64 *)0x0" (( "(") (type_descriptor "stat64 *" (type_identifier "stat64") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\nLAB_00013444:\n          puVar43 = local_174 + 0x50;\n          psVar25 = (stat64 *)"OS error";\n          puVar29 = puVar43;\n          for (iVar14 = 9; iVar14 != 0; iVar14 = iVar14 + -1) {\n            *puVar29 = (char)psVar25->st_dev;\n            psVar25 = (stat64 *)((int)psVar25 + (uint)bVar32 * -2 + 1);\n            puVar29 = puVar29 + (uint)bVar32 * -2 + 1;\n          }\n          if (0 < (int)local_908) {\n            sg_get_category_sense_str(local_908,0x50,puVar43,psVar8);\n            pr2serr("Read capacity(10): %s\n",puVar43);\n            pr2serr("Unable to calculate block size\n");\n            goto LAB_00012354;\n          }\n          __snprintf_chk(puVar43,0x50,1,0x50,"error: %d",local_908,local_908,local_908);\n          pr2serr("Read capacity(10): %s\n",puVar43);\n          pr2serr("Unable to calculate block size\n");\n          local_908 = (stat64 *)0xf;\n          goto LAB_00012354;\n        }" ({ "{") (labeled_statement "LAB_00013444:\n          puVar43 = local_174 + 0x50;" (statement_identifier "LAB_00013444") (: ":") (expression_statement "puVar43 = local_174 + 0x50;" (assignment_expression "puVar43 = local_174 + 0x50" (identifier "puVar43") (= "=") (binary_expression "local_174 + 0x50" (identifier "local_174") (+ "+") (number_literal "0x50"))) (; ";"))) (expression_statement "psVar25 = (stat64 *)"OS error";" (assignment_expression "psVar25 = (stat64 *)"OS error"" (identifier "psVar25") (= "=") (cast_expression "(stat64 *)"OS error"" (( "(") (type_descriptor "stat64 *" (type_identifier "stat64") (abstract_pointer_declarator "*" (* "*"))) () ")") (string_literal ""OS error"" (" """) (string_content "OS error") (" """)))) (; ";")) (expression_statement "puVar29 = puVar43;" (assignment_expression "puVar29 = puVar43" (identifier "puVar29") (= "=") (identifier "puVar43")) (; ";")) (for_statement "for (iVar14 = 9; iVar14 != 0; iVar14 = iVar14 + -1) {\n            *puVar29 = (char)psVar25->st_dev;\n            psVar25 = (stat64 *)((int)psVar25 + (uint)bVar32 * -2 + 1);\n            puVar29 = puVar29 + (uint)bVar32 * -2 + 1;\n          }" (for "for") (( "(") (assignment_expression "iVar14 = 9" (identifier "iVar14") (= "=") (number_literal "9")) (; ";") (binary_expression "iVar14 != 0" (identifier "iVar14") (!= "!=") (number_literal "0")) (; ";") (assignment_expression "iVar14 = iVar14 + -1" (identifier "iVar14") (= "=") (binary_expression "iVar14 + -1" (identifier "iVar14") (+ "+") (number_literal "-1"))) () ")") (compound_statement "{\n            *puVar29 = (char)psVar25->st_dev;\n            psVar25 = (stat64 *)((int)psVar25 + (uint)bVar32 * -2 + 1);\n            puVar29 = puVar29 + (uint)bVar32 * -2 + 1;\n          }" ({ "{") (expression_statement "*puVar29 = (char)psVar25->st_dev;" (assignment_expression "*puVar29 = (char)psVar25->st_dev" (pointer_expression "*puVar29" (* "*") (identifier "puVar29")) (= "=") (cast_expression "(char)psVar25->st_dev" (( "(") (type_descriptor "char" (primitive_type "char")) () ")") (field_expression "psVar25->st_dev" (identifier "psVar25") (-> "->") (field_identifier "st_dev")))) (; ";")) (expression_statement "psVar25 = (stat64 *)((int)psVar25 + (uint)bVar32 * -2 + 1);" (assignment_expression "psVar25 = (stat64 *)((int)psVar25 + (uint)bVar32 * -2 + 1)" (identifier "psVar25") (= "=") (cast_expression "(stat64 *)((int)psVar25 + (uint)bVar32 * -2 + 1)" (( "(") (type_descriptor "stat64 *" (type_identifier "stat64") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)psVar25 + (uint)bVar32 * -2 + 1)" (( "(") (binary_expression "(int)psVar25 + (uint)bVar32 * -2 + 1" (binary_expression "(int)psVar25 + (uint)bVar32 * -2" (cast_expression "(int)psVar25" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "psVar25")) (+ "+") (binary_expression "(uint)bVar32 * -2" (cast_expression "(uint)bVar32" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "bVar32")) (* "*") (number_literal "-2"))) (+ "+") (number_literal "1")) () ")")))) (; ";")) (expression_statement "puVar29 = puVar29 + (uint)bVar32 * -2 + 1;" (assignment_expression "puVar29 = puVar29 + (uint)bVar32 * -2 + 1" (identifier "puVar29") (= "=") (binary_expression "puVar29 + (uint)bVar32 * -2 + 1" (binary_expression "puVar29 + (uint)bVar32 * -2" (identifier "puVar29") (+ "+") (binary_expression "(uint)bVar32 * -2" (cast_expression "(uint)bVar32" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "bVar32")) (* "*") (number_literal "-2"))) (+ "+") (number_literal "1"))) (; ";")) (} "}"))) (if_statement "if (0 < (int)local_908) {\n            sg_get_category_sense_str(local_908,0x50,puVar43,psVar8);\n            pr2serr("Read capacity(10): %s\n",puVar43);\n            pr2serr("Unable to calculate block size\n");\n            goto LAB_00012354;\n          }" (if "if") (parenthesized_expression "(0 < (int)local_908)" (( "(") (binary_expression "0 < (int)local_908" (number_literal "0") (< "<") (cast_expression "(int)local_908" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_908"))) () ")")) (compound_statement "{\n            sg_get_category_sense_str(local_908,0x50,puVar43,psVar8);\n            pr2serr("Read capacity(10): %s\n",puVar43);\n            pr2serr("Unable to calculate block size\n");\n            goto LAB_00012354;\n          }" ({ "{") (expression_statement "sg_get_category_sense_str(local_908,0x50,puVar43,psVar8);" (call_expression "sg_get_category_sense_str(local_908,0x50,puVar43,psVar8)" (identifier "sg_get_category_sense_str") (argument_list "(local_908,0x50,puVar43,psVar8)" (( "(") (identifier "local_908") (, ",") (number_literal "0x50") (, ",") (identifier "puVar43") (, ",") (identifier "psVar8") () ")"))) (; ";")) (expression_statement "pr2serr("Read capacity(10): %s\n",puVar43);" (call_expression "pr2serr("Read capacity(10): %s\n",puVar43)" (identifier "pr2serr") (argument_list "("Read capacity(10): %s\n",puVar43)" (( "(") (string_literal ""Read capacity(10): %s\n"" (" """) (string_content "Read capacity(10): %s") (escape_sequence "\n") (" """)) (, ",") (identifier "puVar43") () ")"))) (; ";")) (expression_statement "pr2serr("Unable to calculate block size\n");" (call_expression "pr2serr("Unable to calculate block size\n")" (identifier "pr2serr") (argument_list "("Unable to calculate block size\n")" (( "(") (string_literal ""Unable to calculate block size\n"" (" """) (string_content "Unable to calculate block size") (escape_sequence "\n") (" """)) () ")"))) (; ";")) (goto_statement "goto LAB_00012354;" (goto "goto") (statement_identifier "LAB_00012354") (; ";")) (} "}"))) (expression_statement "__snprintf_chk(puVar43,0x50,1,0x50,"error: %d",local_908,local_908,local_908);" (call_expression "__snprintf_chk(puVar43,0x50,1,0x50,"error: %d",local_908,local_908,local_908)" (identifier "__snprintf_chk") (argument_list "(puVar43,0x50,1,0x50,"error: %d",local_908,local_908,local_908)" (( "(") (identifier "puVar43") (, ",") (number_literal "0x50") (, ",") (number_literal "1") (, ",") (number_literal "0x50") (, ",") (string_literal ""error: %d"" (" """) (string_content "error: %d") (" """)) (, ",") (identifier "local_908") (, ",") (identifier "local_908") (, ",") (identifier "local_908") () ")"))) (; ";")) (expression_statement "pr2serr("Read capacity(10): %s\n",puVar43);" (call_expression "pr2serr("Read capacity(10): %s\n",puVar43)" (identifier "pr2serr") (argument_list "("Read capacity(10): %s\n",puVar43)" (( "(") (string_literal ""Read capacity(10): %s\n"" (" """) (string_content "Read capacity(10): %s") (escape_sequence "\n") (" """)) (, ",") (identifier "puVar43") () ")"))) (; ";")) (expression_statement "pr2serr("Unable to calculate block size\n");" (call_expression "pr2serr("Unable to calculate block size\n")" (identifier "pr2serr") (argument_list "("Unable to calculate block size\n")" (( "(") (string_literal ""Unable to calculate block size\n"" (" """) (string_content "Unable to calculate block size") (escape_sequence "\n") (" """)) () ")"))) (; ";")) (expression_statement "local_908 = (stat64 *)0xf;" (assignment_expression "local_908 = (stat64 *)0xf" (identifier "local_908") (= "=") (cast_expression "(stat64 *)0xf" (( "(") (type_descriptor "stat64 *" (type_identifier "stat64") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0xf"))) (; ";")) (goto_statement "goto LAB_00012354;" (goto "goto") (statement_identifier "LAB_00012354") (; ";")) (} "}"))) (} "}")) (else_clause "else {\n        psVar25 = psVar22;\n        pr2serr("Read capacity(16) not supported, try Read capacity(10)\n");\n        pcVar15 = (char *)0x1;\n        uVar33 = sg_ll_readcap_10(local_930,0,0,psVar25,8,1,psVar17);\n        psVar22 = (stat64 *)((ulonglong)uVar33 >> 0x20);\n        local_908 = (stat64 *)uVar33;\n        if (local_908 != (stat64 *)0x0) goto LAB_00013444;\n        if (3 < (int)psVar8) {\n          pr2serr("Read capacity(10) response:\n");\n          psVar17 = (stat64 *)0x1;\n          pcVar15 = (char *)0x8;\n          hex2stderr(psVar25,8,1);\n          psVar22 = extraout_EDX_03;\n        }\n      }" (else "else") (compound_statement "{\n        psVar25 = psVar22;\n        pr2serr("Read capacity(16) not supported, try Read capacity(10)\n");\n        pcVar15 = (char *)0x1;\n        uVar33 = sg_ll_readcap_10(local_930,0,0,psVar25,8,1,psVar17);\n        psVar22 = (stat64 *)((ulonglong)uVar33 >> 0x20);\n        local_908 = (stat64 *)uVar33;\n        if (local_908 != (stat64 *)0x0) goto LAB_00013444;\n        if (3 < (int)psVar8) {\n          pr2serr("Read capacity(10) response:\n");\n          psVar17 = (stat64 *)0x1;\n          pcVar15 = (char *)0x8;\n          hex2stderr(psVar25,8,1);\n          psVar22 = extraout_EDX_03;\n        }\n      }" ({ "{") (expression_statement "psVar25 = psVar22;" (assignment_expression "psVar25 = psVar22" (identifier "psVar25") (= "=") (identifier "psVar22")) (; ";")) (expression_statement "pr2serr("Read capacity(16) not supported, try Read capacity(10)\n");" (call_expression "pr2serr("Read capacity(16) not supported, try Read capacity(10)\n")" (identifier "pr2serr") (argument_list "("Read capacity(16) not supported, try Read capacity(10)\n")" (( "(") (string_literal ""Read capacity(16) not supported, try Read capacity(10)\n"" (" """) (string_content "Read capacity(16) not supported, try Read capacity(10)") (escape_sequence "\n") (" """)) () ")"))) (; ";")) (expression_statement "pcVar15 = (char *)0x1;" (assignment_expression "pcVar15 = (char *)0x1" (identifier "pcVar15") (= "=") (cast_expression "(char *)0x1" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x1"))) (; ";")) (expression_statement "uVar33 = sg_ll_readcap_10(local_930,0,0,psVar25,8,1,psVar17);" (assignment_expression "uVar33 = sg_ll_readcap_10(local_930,0,0,psVar25,8,1,psVar17)" (identifier "uVar33") (= "=") (call_expression "sg_ll_readcap_10(local_930,0,0,psVar25,8,1,psVar17)" (identifier "sg_ll_readcap_10") (argument_list "(local_930,0,0,psVar25,8,1,psVar17)" (( "(") (identifier "local_930") (, ",") (number_literal "0") (, ",") (number_literal "0") (, ",") (identifier "psVar25") (, ",") (number_literal "8") (, ",") (number_literal "1") (, ",") (identifier "psVar17") () ")")))) (; ";")) (expression_statement "psVar22 = (stat64 *)((ulonglong)uVar33 >> 0x20);" (assignment_expression "psVar22 = (stat64 *)((ulonglong)uVar33 >> 0x20)" (identifier "psVar22") (= "=") (cast_expression "(stat64 *)((ulonglong)uVar33 >> 0x20)" (( "(") (type_descriptor "stat64 *" (type_identifier "stat64") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((ulonglong)uVar33 >> 0x20)" (( "(") (binary_expression "(ulonglong)uVar33 >> 0x20" (cast_expression "(ulonglong)uVar33" (( "(") (type_descriptor "ulonglong" (type_identifier "ulonglong")) () ")") (identifier "uVar33")) (>> ">>") (number_literal "0x20")) () ")")))) (; ";")) (expression_statement "local_908 = (stat64 *)uVar33;" (assignment_expression "local_908 = (stat64 *)uVar33" (identifier "local_908") (= "=") (cast_expression "(stat64 *)uVar33" (( "(") (type_descriptor "stat64 *" (type_identifier "stat64") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "uVar33"))) (; ";")) (if_statement "if (local_908 != (stat64 *)0x0) goto LAB_00013444;" (if "if") (parenthesized_expression "(local_908 != (stat64 *)0x0)" (( "(") (binary_expression "local_908 != (stat64 *)0x0" (identifier "local_908") (!= "!=") (cast_expression "(stat64 *)0x0" (( "(") (type_descriptor "stat64 *" (type_identifier "stat64") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (goto_statement "goto LAB_00013444;" (goto "goto") (statement_identifier "LAB_00013444") (; ";"))) (if_statement "if (3 < (int)psVar8) {\n          pr2serr("Read capacity(10) response:\n");\n          psVar17 = (stat64 *)0x1;\n          pcVar15 = (char *)0x8;\n          hex2stderr(psVar25,8,1);\n          psVar22 = extraout_EDX_03;\n        }" (if "if") (parenthesized_expression "(3 < (int)psVar8)" (( "(") (binary_expression "3 < (int)psVar8" (number_literal "3") (< "<") (cast_expression "(int)psVar8" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "psVar8"))) () ")")) (compound_statement "{\n          pr2serr("Read capacity(10) response:\n");\n          psVar17 = (stat64 *)0x1;\n          pcVar15 = (char *)0x8;\n          hex2stderr(psVar25,8,1);\n          psVar22 = extraout_EDX_03;\n        }" ({ "{") (expression_statement "pr2serr("Read capacity(10) response:\n");" (call_expression "pr2serr("Read capacity(10) response:\n")" (identifier "pr2serr") (argument_list "("Read capacity(10) response:\n")" (( "(") (string_literal ""Read capacity(10) response:\n"" (" """) (string_content "Read capacity(10) response:") (escape_sequence "\n") (" """)) () ")"))) (; ";")) (expression_statement "psVar17 = (stat64 *)0x1;" (assignment_expression "psVar17 = (stat64 *)0x1" (identifier "psVar17") (= "=") (cast_expression "(stat64 *)0x1" (( "(") (type_descriptor "stat64 *" (type_identifier "stat64") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x1"))) (; ";")) (expression_statement "pcVar15 = (char *)0x8;" (assignment_expression "pcVar15 = (char *)0x8" (identifier "pcVar15") (= "=") (cast_expression "(char *)0x8" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x8"))) (; ";")) (expression_statement "hex2stderr(psVar25,8,1);" (call_expression "hex2stderr(psVar25,8,1)" (identifier "hex2stderr") (argument_list "(psVar25,8,1)" (( "(") (identifier "psVar25") (, ",") (number_literal "8") (, ",") (number_literal "1") () ")"))) (; ";")) (expression_statement "psVar22 = extraout_EDX_03;" (assignment_expression "psVar22 = extraout_EDX_03" (identifier "psVar22") (= "=") (identifier "extraout_EDX_03")) (; ";")) (} "}"))) (} "}")))) (expression_statement "local_7a8 = 0;" (assignment_expression "local_7a8 = 0" (identifier "local_7a8") (= "=") (number_literal "0")) (; ";")) (expression_statement "local_7ac = ((uint)local_174._0_4_ >> 0x18 | (local_174._0_4_ & 0xff0000) >> 8 |\n                   (local_174._0_4_ & 0xff00) << 8 | local_174._0_4_ << 0x18) + 1;" (assignment_expression "local_7ac = ((uint)local_174._0_4_ >> 0x18 | (local_174._0_4_ & 0xff0000) >> 8 |\n                   (local_174._0_4_ & 0xff00) << 8 | local_174._0_4_ << 0x18) + 1" (identifier "local_7ac") (= "=") (binary_expression "((uint)local_174._0_4_ >> 0x18 | (local_174._0_4_ & 0xff0000) >> 8 |\n                   (local_174._0_4_ & 0xff00) << 8 | local_174._0_4_ << 0x18) + 1" (parenthesized_expression "((uint)local_174._0_4_ >> 0x18 | (local_174._0_4_ & 0xff0000) >> 8 |\n                   (local_174._0_4_ & 0xff00) << 8 | local_174._0_4_ << 0x18)" (( "(") (binary_expression "(uint)local_174._0_4_ >> 0x18 | (local_174._0_4_ & 0xff0000) >> 8 |\n                   (local_174._0_4_ & 0xff00) << 8 | local_174._0_4_ << 0x18" (binary_expression "(uint)local_174._0_4_ >> 0x18 | (local_174._0_4_ & 0xff0000) >> 8 |\n                   (local_174._0_4_ & 0xff00) << 8" (binary_expression "(uint)local_174._0_4_ >> 0x18 | (local_174._0_4_ & 0xff0000) >> 8" (binary_expression "(uint)local_174._0_4_ >> 0x18" (cast_expression "(uint)local_174._0_4_" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (field_expression "local_174._0_4_" (identifier "local_174") (. ".") (field_identifier "_0_4_"))) (>> ">>") (number_literal "0x18")) (| "|") (binary_expression "(local_174._0_4_ & 0xff0000) >> 8" (parenthesized_expression "(local_174._0_4_ & 0xff0000)" (( "(") (binary_expression "local_174._0_4_ & 0xff0000" (field_expression "local_174._0_4_" (identifier "local_174") (. ".") (field_identifier "_0_4_")) (& "&") (number_literal "0xff0000")) () ")")) (>> ">>") (number_literal "8"))) (| "|") (binary_expression "(local_174._0_4_ & 0xff00) << 8" (parenthesized_expression "(local_174._0_4_ & 0xff00)" (( "(") (binary_expression "local_174._0_4_ & 0xff00" (field_expression "local_174._0_4_" (identifier "local_174") (. ".") (field_identifier "_0_4_")) (& "&") (number_literal "0xff00")) () ")")) (<< "<<") (number_literal "8"))) (| "|") (binary_expression "local_174._0_4_ << 0x18" (field_expression "local_174._0_4_" (identifier "local_174") (. ".") (field_identifier "_0_4_")) (<< "<<") (number_literal "0x18"))) () ")")) (+ "+") (number_literal "1"))) (; ";")) (expression_statement "local_7d8 = (stat64 *)\n                  ((uint)local_174._4_4_ >> 0x18 | (local_174._4_4_ & 0xff0000) >> 8 |\n                   (local_174._4_4_ & 0xff00) << 8 | local_174._4_4_ << 0x18);" (assignment_expression "local_7d8 = (stat64 *)\n                  ((uint)local_174._4_4_ >> 0x18 | (local_174._4_4_ & 0xff0000) >> 8 |\n                   (local_174._4_4_ & 0xff00) << 8 | local_174._4_4_ << 0x18)" (identifier "local_7d8") (= "=") (cast_expression "(stat64 *)\n                  ((uint)local_174._4_4_ >> 0x18 | (local_174._4_4_ & 0xff0000) >> 8 |\n                   (local_174._4_4_ & 0xff00) << 8 | local_174._4_4_ << 0x18)" (( "(") (type_descriptor "stat64 *" (type_identifier "stat64") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((uint)local_174._4_4_ >> 0x18 | (local_174._4_4_ & 0xff0000) >> 8 |\n                   (local_174._4_4_ & 0xff00) << 8 | local_174._4_4_ << 0x18)" (( "(") (binary_expression "(uint)local_174._4_4_ >> 0x18 | (local_174._4_4_ & 0xff0000) >> 8 |\n                   (local_174._4_4_ & 0xff00) << 8 | local_174._4_4_ << 0x18" (binary_expression "(uint)local_174._4_4_ >> 0x18 | (local_174._4_4_ & 0xff0000) >> 8 |\n                   (local_174._4_4_ & 0xff00) << 8" (binary_expression "(uint)local_174._4_4_ >> 0x18 | (local_174._4_4_ & 0xff0000) >> 8" (binary_expression "(uint)local_174._4_4_ >> 0x18" (cast_expression "(uint)local_174._4_4_" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (field_expression "local_174._4_4_" (identifier "local_174") (. ".") (field_identifier "_4_4_"))) (>> ">>") (number_literal "0x18")) (| "|") (binary_expression "(local_174._4_4_ & 0xff0000) >> 8" (parenthesized_expression "(local_174._4_4_ & 0xff0000)" (( "(") (binary_expression "local_174._4_4_ & 0xff0000" (field_expression "local_174._4_4_" (identifier "local_174") (. ".") (field_identifier "_4_4_")) (& "&") (number_literal "0xff0000")) () ")")) (>> ">>") (number_literal "8"))) (| "|") (binary_expression "(local_174._4_4_ & 0xff00) << 8" (parenthesized_expression "(local_174._4_4_ & 0xff00)" (( "(") (binary_expression "local_174._4_4_ & 0xff00" (field_expression "local_174._4_4_" (identifier "local_174") (. ".") (field_identifier "_4_4_")) (& "&") (number_literal "0xff00")) () ")")) (<< "<<") (number_literal "8"))) (| "|") (binary_expression "local_174._4_4_ << 0x18" (field_expression "local_174._4_4_" (identifier "local_174") (. ".") (field_identifier "_4_4_")) (<< "<<") (number_literal "0x18"))) () ")")))) (; ";")) (} "}")))) (labeled_statement "LAB_00012312:\n    local_7d4 = local_7d8;" (statement_identifier "LAB_00012312") (: ":") (expression_statement "local_7d4 = local_7d8;" (assignment_expression "local_7d4 = local_7d8" (identifier "local_7d4") (= "=") (identifier "local_7d8")) (; ";"))) (if_statement "if (local_813 != '\0') {\n      local_7d4 = (stat64 *)&local_7d8->__pad1;\n    }" (if "if") (parenthesized_expression "(local_813 != '\0')" (( "(") (binary_expression "local_813 != '\0'" (identifier "local_813") (!= "!=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n      local_7d4 = (stat64 *)&local_7d8->__pad1;\n    }" ({ "{") (expression_statement "local_7d4 = (stat64 *)&local_7d8->__pad1;" (assignment_expression "local_7d4 = (stat64 *)&local_7d8->__pad1" (identifier "local_7d4") (= "=") (cast_expression "(stat64 *)&local_7d8->__pad1" (( "(") (type_descriptor "stat64 *" (type_identifier "stat64") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "&local_7d8->__pad1" (& "&") (field_expression "local_7d8->__pad1" (identifier "local_7d8") (-> "->") (field_identifier "__pad1"))))) (; ";")) (} "}"))) (expression_statement "psVar8 = local_7d4;" (assignment_expression "psVar8 = local_7d4" (identifier "psVar8") (= "=") (identifier "local_7d4")) (; ";")) (expression_statement "psVar11 = local_7d8;" (assignment_expression "psVar11 = local_7d8" (identifier "psVar11") (= "=") (identifier "local_7d8")) (; ";")) (if_statement "if (local_7d4 == (stat64 *)0x0) goto LAB_00012338;" (if "if") (parenthesized_expression "(local_7d4 == (stat64 *)0x0)" (( "(") (binary_expression "local_7d4 == (stat64 *)0x0" (identifier "local_7d4") (== "==") (cast_expression "(stat64 *)0x0" (( "(") (type_descriptor "stat64 *" (type_identifier "stat64") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (goto_statement "goto LAB_00012338;" (goto "goto") (statement_identifier "LAB_00012338") (; ";"))) (} "}"))) (expression_statement "local_7d4 = psVar8;" (assignment_expression "local_7d4 = psVar8" (identifier "local_7d4") (= "=") (identifier "psVar8")) (; ";")) (if_statement "if (psVar11 == (stat64 *)0x0) {\nLAB_00012338:\n    pr2serr("Logic error, need block size by now\n",pcVar15,psVar17);\n    local_908 = (stat64 *)0x1;\n    goto LAB_00012354;\n  }" (if "if") (parenthesized_expression "(psVar11 == (stat64 *)0x0)" (( "(") (binary_expression "psVar11 == (stat64 *)0x0" (identifier "psVar11") (== "==") (cast_expression "(stat64 *)0x0" (( "(") (type_descriptor "stat64 *" (type_identifier "stat64") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\nLAB_00012338:\n    pr2serr("Logic error, need block size by now\n",pcVar15,psVar17);\n    local_908 = (stat64 *)0x1;\n    goto LAB_00012354;\n  }" ({ "{") (labeled_statement "LAB_00012338:\n    pr2serr("Logic error, need block size by now\n",pcVar15,psVar17);" (statement_identifier "LAB_00012338") (: ":") (expression_statement "pr2serr("Logic error, need block size by now\n",pcVar15,psVar17);" (call_expression "pr2serr("Logic error, need block size by now\n",pcVar15,psVar17)" (identifier "pr2serr") (argument_list "("Logic error, need block size by now\n",pcVar15,psVar17)" (( "(") (string_literal ""Logic error, need block size by now\n"" (" """) (string_content "Logic error, need block size by now") (escape_sequence "\n") (" """)) (, ",") (identifier "pcVar15") (, ",") (identifier "psVar17") () ")"))) (; ";"))) (expression_statement "local_908 = (stat64 *)0x1;" (assignment_expression "local_908 = (stat64 *)0x1" (identifier "local_908") (= "=") (cast_expression "(stat64 *)0x1" (( "(") (type_descriptor "stat64 *" (type_identifier "stat64") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x1"))) (; ";")) (goto_statement "goto LAB_00012354;" (goto "goto") (statement_identifier "LAB_00012354") (; ";")) (} "}"))) (if_statement "if ((local_810 == 0) &&\n     (psVar22 = (stat64 *)((uint)local_93c % (uint)psVar8), psVar22 != (stat64 *)0x0)) {\n    if (1 < (int)local_7f8) {\n      pr2serr("Error: number of bytes to read from IF [%u] is not a multiple\nblock size %u (including protection information)\n"\n              ,local_93c,psVar8,local_7f8);\n      local_908 = (stat64 *)0xf;\n      goto LAB_00012354;\n    }\n    psVar11 = (stat64 *)(local_7f8 | (uint)psVar38);\n    if (psVar11 != (stat64 *)0x0) {\n      pcVar15 = (char *)local_93c;\n      pr2serr("Warning: number of bytes to read from IF [%u] is not a multiple\nof actual block size %u; pad with zeros\n"\n              ,local_93c,psVar8,psVar11);\n      psVar22 = extraout_EDX_02;\n      psVar17 = psVar8;\n      psVar9 = psVar11;\n    }\n  }" (if "if") (parenthesized_expression "((local_810 == 0) &&\n     (psVar22 = (stat64 *)((uint)local_93c % (uint)psVar8), psVar22 != (stat64 *)0x0))" (( "(") (binary_expression "(local_810 == 0) &&\n     (psVar22 = (stat64 *)((uint)local_93c % (uint)psVar8), psVar22 != (stat64 *)0x0)" (parenthesized_expression "(local_810 == 0)" (( "(") (binary_expression "local_810 == 0" (identifier "local_810") (== "==") (number_literal "0")) () ")")) (&& "&&") (parenthesized_expression "(psVar22 = (stat64 *)((uint)local_93c % (uint)psVar8), psVar22 != (stat64 *)0x0)" (( "(") (comma_expression "psVar22 = (stat64 *)((uint)local_93c % (uint)psVar8), psVar22 != (stat64 *)0x0" (assignment_expression "psVar22 = (stat64 *)((uint)local_93c % (uint)psVar8)" (identifier "psVar22") (= "=") (cast_expression "(stat64 *)((uint)local_93c % (uint)psVar8)" (( "(") (type_descriptor "stat64 *" (type_identifier "stat64") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((uint)local_93c % (uint)psVar8)" (( "(") (binary_expression "(uint)local_93c % (uint)psVar8" (cast_expression "(uint)local_93c" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "local_93c")) (% "%") (cast_expression "(uint)psVar8" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "psVar8"))) () ")")))) (, ",") (binary_expression "psVar22 != (stat64 *)0x0" (identifier "psVar22") (!= "!=") (cast_expression "(stat64 *)0x0" (( "(") (type_descriptor "stat64 *" (type_identifier "stat64") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0")))) () ")"))) () ")")) (compound_statement "{\n    if (1 < (int)local_7f8) {\n      pr2serr("Error: number of bytes to read from IF [%u] is not a multiple\nblock size %u (including protection information)\n"\n              ,local_93c,psVar8,local_7f8);\n      local_908 = (stat64 *)0xf;\n      goto LAB_00012354;\n    }\n    psVar11 = (stat64 *)(local_7f8 | (uint)psVar38);\n    if (psVar11 != (stat64 *)0x0) {\n      pcVar15 = (char *)local_93c;\n      pr2serr("Warning: number of bytes to read from IF [%u] is not a multiple\nof actual block size %u; pad with zeros\n"\n              ,local_93c,psVar8,psVar11);\n      psVar22 = extraout_EDX_02;\n      psVar17 = psVar8;\n      psVar9 = psVar11;\n    }\n  }" ({ "{") (if_statement "if (1 < (int)local_7f8) {\n      pr2serr("Error: number of bytes to read from IF [%u] is not a multiple\nblock size %u (including protection information)\n"\n              ,local_93c,psVar8,local_7f8);\n      local_908 = (stat64 *)0xf;\n      goto LAB_00012354;\n    }" (if "if") (parenthesized_expression "(1 < (int)local_7f8)" (( "(") (binary_expression "1 < (int)local_7f8" (number_literal "1") (< "<") (cast_expression "(int)local_7f8" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_7f8"))) () ")")) (compound_statement "{\n      pr2serr("Error: number of bytes to read from IF [%u] is not a multiple\nblock size %u (including protection information)\n"\n              ,local_93c,psVar8,local_7f8);\n      local_908 = (stat64 *)0xf;\n      goto LAB_00012354;\n    }" ({ "{") (expression_statement "pr2serr("Error: number of bytes to read from IF [%u] is not a multiple\nblock size %u (including protection information)\n"\n              ,local_93c,psVar8,local_7f8);" (call_expression "pr2serr("Error: number of bytes to read from IF [%u] is not a multiple\nblock size %u (including protection information)\n"\n              ,local_93c,psVar8,local_7f8)" (identifier "pr2serr") (argument_list "("Error: number of bytes to read from IF [%u] is not a multiple\nblock size %u (including protection information)\n"\n              ,local_93c,psVar8,local_7f8)" (( "(") (string_literal ""Error: number of bytes to read from IF [%u] is not a multiple\nblock size %u (including protection information)\n"" (" """) (string_content "Error: number of bytes to read from IF [%u] is not a multiple") (escape_sequence "\n") (string_content "block size %u (including protection information)") (escape_sequence "\n") (" """)) (, ",") (identifier "local_93c") (, ",") (identifier "psVar8") (, ",") (identifier "local_7f8") () ")"))) (; ";")) (expression_statement "local_908 = (stat64 *)0xf;" (assignment_expression "local_908 = (stat64 *)0xf" (identifier "local_908") (= "=") (cast_expression "(stat64 *)0xf" (( "(") (type_descriptor "stat64 *" (type_identifier "stat64") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0xf"))) (; ";")) (goto_statement "goto LAB_00012354;" (goto "goto") (statement_identifier "LAB_00012354") (; ";")) (} "}"))) (expression_statement "psVar11 = (stat64 *)(local_7f8 | (uint)psVar38);" (assignment_expression "psVar11 = (stat64 *)(local_7f8 | (uint)psVar38)" (identifier "psVar11") (= "=") (cast_expression "(stat64 *)(local_7f8 | (uint)psVar38)" (( "(") (type_descriptor "stat64 *" (type_identifier "stat64") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(local_7f8 | (uint)psVar38)" (( "(") (binary_expression "local_7f8 | (uint)psVar38" (identifier "local_7f8") (| "|") (cast_expression "(uint)psVar38" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "psVar38"))) () ")")))) (; ";")) (if_statement "if (psVar11 != (stat64 *)0x0) {\n      pcVar15 = (char *)local_93c;\n      pr2serr("Warning: number of bytes to read from IF [%u] is not a multiple\nof actual block size %u; pad with zeros\n"\n              ,local_93c,psVar8,psVar11);\n      psVar22 = extraout_EDX_02;\n      psVar17 = psVar8;\n      psVar9 = psVar11;\n    }" (if "if") (parenthesized_expression "(psVar11 != (stat64 *)0x0)" (( "(") (binary_expression "psVar11 != (stat64 *)0x0" (identifier "psVar11") (!= "!=") (cast_expression "(stat64 *)0x0" (( "(") (type_descriptor "stat64 *" (type_identifier "stat64") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n      pcVar15 = (char *)local_93c;\n      pr2serr("Warning: number of bytes to read from IF [%u] is not a multiple\nof actual block size %u; pad with zeros\n"\n              ,local_93c,psVar8,psVar11);\n      psVar22 = extraout_EDX_02;\n      psVar17 = psVar8;\n      psVar9 = psVar11;\n    }" ({ "{") (expression_statement "pcVar15 = (char *)local_93c;" (assignment_expression "pcVar15 = (char *)local_93c" (identifier "pcVar15") (= "=") (cast_expression "(char *)local_93c" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "local_93c"))) (; ";")) (expression_statement "pr2serr("Warning: number of bytes to read from IF [%u] is not a multiple\nof actual block size %u; pad with zeros\n"\n              ,local_93c,psVar8,psVar11);" (call_expression "pr2serr("Warning: number of bytes to read from IF [%u] is not a multiple\nof actual block size %u; pad with zeros\n"\n              ,local_93c,psVar8,psVar11)" (identifier "pr2serr") (argument_list "("Warning: number of bytes to read from IF [%u] is not a multiple\nof actual block size %u; pad with zeros\n"\n              ,local_93c,psVar8,psVar11)" (( "(") (string_literal ""Warning: number of bytes to read from IF [%u] is not a multiple\nof actual block size %u; pad with zeros\n"" (" """) (string_content "Warning: number of bytes to read from IF [%u] is not a multiple") (escape_sequence "\n") (string_content "of actual block size %u; pad with zeros") (escape_sequence "\n") (" """)) (, ",") (identifier "local_93c") (, ",") (identifier "psVar8") (, ",") (identifier "psVar11") () ")"))) (; ";")) (expression_statement "psVar22 = extraout_EDX_02;" (assignment_expression "psVar22 = extraout_EDX_02" (identifier "psVar22") (= "=") (identifier "extraout_EDX_02")) (; ";")) (expression_statement "psVar17 = psVar8;" (assignment_expression "psVar17 = psVar8" (identifier "psVar17") (= "=") (identifier "psVar8")) (; ";")) (expression_statement "psVar9 = psVar11;" (assignment_expression "psVar9 = psVar11" (identifier "psVar9") (= "=") (identifier "psVar11")) (; ";")) (} "}"))) (} "}"))) (expression_statement "puVar42 = &local_578;" (assignment_expression "puVar42 = &local_578" (identifier "puVar42") (= "=") (pointer_expression "&local_578" (& "&") (identifier "local_578"))) (; ";")) (expression_statement "puVar26 = puVar42;" (assignment_expression "puVar26 = puVar42" (identifier "puVar26") (= "=") (identifier "puVar42")) (; ";")) (for_statement "for (iVar14 = 0x100; iVar14 != 0; iVar14 = iVar14 + -1) {\n    *puVar26 = 0;\n    puVar26 = puVar26 + (uint)bVar32 * -2 + 1;\n  }" (for "for") (( "(") (assignment_expression "iVar14 = 0x100" (identifier "iVar14") (= "=") (number_literal "0x100")) (; ";") (binary_expression "iVar14 != 0" (identifier "iVar14") (!= "!=") (number_literal "0")) (; ";") (assignment_expression "iVar14 = iVar14 + -1" (identifier "iVar14") (= "=") (binary_expression "iVar14 + -1" (identifier "iVar14") (+ "+") (number_literal "-1"))) () ")") (compound_statement "{\n    *puVar26 = 0;\n    puVar26 = puVar26 + (uint)bVar32 * -2 + 1;\n  }" ({ "{") (expression_statement "*puVar26 = 0;" (assignment_expression "*puVar26 = 0" (pointer_expression "*puVar26" (* "*") (identifier "puVar26")) (= "=") (number_literal "0")) (; ";")) (expression_statement "puVar26 = puVar26 + (uint)bVar32 * -2 + 1;" (assignment_expression "puVar26 = puVar26 + (uint)bVar32 * -2 + 1" (identifier "puVar26") (= "=") (binary_expression "puVar26 + (uint)bVar32 * -2 + 1" (binary_expression "puVar26 + (uint)bVar32 * -2" (identifier "puVar26") (+ "+") (binary_expression "(uint)bVar32 * -2" (cast_expression "(uint)bVar32" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "bVar32")) (* "*") (number_literal "-2"))) (+ "+") (number_literal "1"))) (; ";")) (} "}"))) (expression_statement "ppsVar44 = local_778;" (assignment_expression "ppsVar44 = local_778" (identifier "ppsVar44") (= "=") (identifier "local_778")) (; ";")) (expression_statement "ppsVar27 = ppsVar44;" (assignment_expression "ppsVar27 = ppsVar44" (identifier "ppsVar27") (= "=") (identifier "ppsVar44")) (; ";")) (for_statement "for (iVar14 = 0x80; iVar14 != 0; iVar14 = iVar14 + -1) {\n    *ppsVar27 = (stat64 *)0x0;\n    ppsVar27 = ppsVar27 + (uint)bVar32 * -2 + 1;\n  }" (for "for") (( "(") (assignment_expression "iVar14 = 0x80" (identifier "iVar14") (= "=") (number_literal "0x80")) (; ";") (binary_expression "iVar14 != 0" (identifier "iVar14") (!= "!=") (number_literal "0")) (; ";") (assignment_expression "iVar14 = iVar14 + -1" (identifier "iVar14") (= "=") (binary_expression "iVar14 + -1" (identifier "iVar14") (+ "+") (number_literal "-1"))) () ")") (compound_statement "{\n    *ppsVar27 = (stat64 *)0x0;\n    ppsVar27 = ppsVar27 + (uint)bVar32 * -2 + 1;\n  }" ({ "{") (expression_statement "*ppsVar27 = (stat64 *)0x0;" (assignment_expression "*ppsVar27 = (stat64 *)0x0" (pointer_expression "*ppsVar27" (* "*") (identifier "ppsVar27")) (= "=") (cast_expression "(stat64 *)0x0" (( "(") (type_descriptor "stat64 *" (type_identifier "stat64") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "ppsVar27 = ppsVar27 + (uint)bVar32 * -2 + 1;" (assignment_expression "ppsVar27 = ppsVar27 + (uint)bVar32 * -2 + 1" (identifier "ppsVar27") (= "=") (binary_expression "ppsVar27 + (uint)bVar32 * -2 + 1" (binary_expression "ppsVar27 + (uint)bVar32 * -2" (identifier "ppsVar27") (+ "+") (binary_expression "(uint)bVar32 * -2" (cast_expression "(uint)bVar32" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "bVar32")) (* "*") (number_literal "-2"))) (+ "+") (number_literal "1"))) (; ";")) (} "}"))) (if_statement "if (bVar31) {\n    uVar7 = 0xffffffff;\n    psVar22 = local_91c;\n    do {\n      if (uVar7 == 0) break;\n      uVar7 = uVar7 - 1;\n      p_Var3 = &psVar22->st_dev;\n      psVar22 = (stat64 *)((int)psVar22 + (uint)bVar32 * -2 + 1);\n    } while ((char)*p_Var3 != '\0');\n    psVar25 = (stat64 *)(~uVar7 - 1);\n    if ((char)local_91c->st_dev == '-') {\n      pr2serr("\'--lba\' cannot be read from stdin\n",pcVar15,psVar17,psVar9);\n      goto LAB_00012130;\n    }\n    pcVar15 = "0123456789aAbBcCdDeEfFhHxXiIkKmMgGtTpP, ";\n    psVar17 = local_91c;\n    psVar9 = local_91c;\n    psVar8 = (stat64 *)strspn((char *)local_91c,"0123456789aAbBcCdDeEfFhHxXiIkKmMgGtTpP, ");\n    psVar22 = psVar25;\n    if (psVar25 == psVar8) {\n      psVar22 = (stat64 *)0x0;\n      psVar25 = local_91c;\n      while( true ) {\n        lVar34 = sg_get_llnum(psVar25,pcVar15,psVar17,psVar9);\n        psVar17 = (stat64 *)lVar34;\n        if (lVar34 == -1) break;\n        puVar42[(int)psVar22 * 2] = (uint)psVar17;\n        puVar42[(int)psVar22 * 2 + 1] = (uint)((ulonglong)lVar34 >> 0x20);\n        psVar9 = psVar17;\n        pcVar12 = strchr((char *)psVar25,0x2c);\n        pcVar15 = (char *)0x20;\n        pcVar13 = strchr((char *)psVar25,0x20);\n        if (pcVar12 == (char *)0x0) {\n          if (pcVar13 == (char *)0x0) {\n            local_91c = (stat64 *)((int)&psVar22->st_dev + 1);\n            if (local_93f != '\0') goto LAB_000126fa;\n            psVar22 = (stat64 *)0x0;\n            psVar17 = extraout_ECX;\n            if (local_91c != (stat64 *)0x1) goto LAB_00012a73;\n            goto LAB_00012820;\n          }\n        }\n        else if ((pcVar13 == (char *)0x0) || (pcVar12 <= pcVar13)) {\n          pcVar13 = pcVar12;\n        }\n        psVar22 = (stat64 *)((int)&psVar22->st_dev + 1);\n        psVar25 = (stat64 *)(pcVar13 + 1);\n        if (psVar22 == (stat64 *)0x80) goto LAB_00013b9f;\n      }\n      psVar8 = (stat64 *)((int)psVar25 - (int)local_91c);\n    }\n    pr2serr("build_lba_arr: error at pos %d\n",(undefined *)((int)&psVar8->st_dev + 1),psVar22,\n            psVar22);\n    goto LAB_00012130;\n  }" (if "if") (parenthesized_expression "(bVar31)" (( "(") (identifier "bVar31") () ")")) (compound_statement "{\n    uVar7 = 0xffffffff;\n    psVar22 = local_91c;\n    do {\n      if (uVar7 == 0) break;\n      uVar7 = uVar7 - 1;\n      p_Var3 = &psVar22->st_dev;\n      psVar22 = (stat64 *)((int)psVar22 + (uint)bVar32 * -2 + 1);\n    } while ((char)*p_Var3 != '\0');\n    psVar25 = (stat64 *)(~uVar7 - 1);\n    if ((char)local_91c->st_dev == '-') {\n      pr2serr("\'--lba\' cannot be read from stdin\n",pcVar15,psVar17,psVar9);\n      goto LAB_00012130;\n    }\n    pcVar15 = "0123456789aAbBcCdDeEfFhHxXiIkKmMgGtTpP, ";\n    psVar17 = local_91c;\n    psVar9 = local_91c;\n    psVar8 = (stat64 *)strspn((char *)local_91c,"0123456789aAbBcCdDeEfFhHxXiIkKmMgGtTpP, ");\n    psVar22 = psVar25;\n    if (psVar25 == psVar8) {\n      psVar22 = (stat64 *)0x0;\n      psVar25 = local_91c;\n      while( true ) {\n        lVar34 = sg_get_llnum(psVar25,pcVar15,psVar17,psVar9);\n        psVar17 = (stat64 *)lVar34;\n        if (lVar34 == -1) break;\n        puVar42[(int)psVar22 * 2] = (uint)psVar17;\n        puVar42[(int)psVar22 * 2 + 1] = (uint)((ulonglong)lVar34 >> 0x20);\n        psVar9 = psVar17;\n        pcVar12 = strchr((char *)psVar25,0x2c);\n        pcVar15 = (char *)0x20;\n        pcVar13 = strchr((char *)psVar25,0x20);\n        if (pcVar12 == (char *)0x0) {\n          if (pcVar13 == (char *)0x0) {\n            local_91c = (stat64 *)((int)&psVar22->st_dev + 1);\n            if (local_93f != '\0') goto LAB_000126fa;\n            psVar22 = (stat64 *)0x0;\n            psVar17 = extraout_ECX;\n            if (local_91c != (stat64 *)0x1) goto LAB_00012a73;\n            goto LAB_00012820;\n          }\n        }\n        else if ((pcVar13 == (char *)0x0) || (pcVar12 <= pcVar13)) {\n          pcVar13 = pcVar12;\n        }\n        psVar22 = (stat64 *)((int)&psVar22->st_dev + 1);\n        psVar25 = (stat64 *)(pcVar13 + 1);\n        if (psVar22 == (stat64 *)0x80) goto LAB_00013b9f;\n      }\n      psVar8 = (stat64 *)((int)psVar25 - (int)local_91c);\n    }\n    pr2serr("build_lba_arr: error at pos %d\n",(undefined *)((int)&psVar8->st_dev + 1),psVar22,\n            psVar22);\n    goto LAB_00012130;\n  }" ({ "{") (expression_statement "uVar7 = 0xffffffff;" (assignment_expression "uVar7 = 0xffffffff" (identifier "uVar7") (= "=") (number_literal "0xffffffff")) (; ";")) (expression_statement "psVar22 = local_91c;" (assignment_expression "psVar22 = local_91c" (identifier "psVar22") (= "=") (identifier "local_91c")) (; ";")) (do_statement "do {\n      if (uVar7 == 0) break;\n      uVar7 = uVar7 - 1;\n      p_Var3 = &psVar22->st_dev;\n      psVar22 = (stat64 *)((int)psVar22 + (uint)bVar32 * -2 + 1);\n    } while ((char)*p_Var3 != '\0');" (do "do") (compound_statement "{\n      if (uVar7 == 0) break;\n      uVar7 = uVar7 - 1;\n      p_Var3 = &psVar22->st_dev;\n      psVar22 = (stat64 *)((int)psVar22 + (uint)bVar32 * -2 + 1);\n    }" ({ "{") (if_statement "if (uVar7 == 0) break;" (if "if") (parenthesized_expression "(uVar7 == 0)" (( "(") (binary_expression "uVar7 == 0" (identifier "uVar7") (== "==") (number_literal "0")) () ")")) (break_statement "break;" (break "break") (; ";"))) (expression_statement "uVar7 = uVar7 - 1;" (assignment_expression "uVar7 = uVar7 - 1" (identifier "uVar7") (= "=") (binary_expression "uVar7 - 1" (identifier "uVar7") (- "-") (number_literal "1"))) (; ";")) (expression_statement "p_Var3 = &psVar22->st_dev;" (assignment_expression "p_Var3 = &psVar22->st_dev" (identifier "p_Var3") (= "=") (pointer_expression "&psVar22->st_dev" (& "&") (field_expression "psVar22->st_dev" (identifier "psVar22") (-> "->") (field_identifier "st_dev")))) (; ";")) (expression_statement "psVar22 = (stat64 *)((int)psVar22 + (uint)bVar32 * -2 + 1);" (assignment_expression "psVar22 = (stat64 *)((int)psVar22 + (uint)bVar32 * -2 + 1)" (identifier "psVar22") (= "=") (cast_expression "(stat64 *)((int)psVar22 + (uint)bVar32 * -2 + 1)" (( "(") (type_descriptor "stat64 *" (type_identifier "stat64") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)psVar22 + (uint)bVar32 * -2 + 1)" (( "(") (binary_expression "(int)psVar22 + (uint)bVar32 * -2 + 1" (binary_expression "(int)psVar22 + (uint)bVar32 * -2" (cast_expression "(int)psVar22" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "psVar22")) (+ "+") (binary_expression "(uint)bVar32 * -2" (cast_expression "(uint)bVar32" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "bVar32")) (* "*") (number_literal "-2"))) (+ "+") (number_literal "1")) () ")")))) (; ";")) (} "}")) (while "while") (parenthesized_expression "((char)*p_Var3 != '\0')" (( "(") (binary_expression "(char)*p_Var3 != '\0'" (cast_expression "(char)*p_Var3" (( "(") (type_descriptor "char" (primitive_type "char")) () ")") (pointer_expression "*p_Var3" (* "*") (identifier "p_Var3"))) (!= "!=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (; ";")) (expression_statement "psVar25 = (stat64 *)(~uVar7 - 1);" (assignment_expression "psVar25 = (stat64 *)(~uVar7 - 1)" (identifier "psVar25") (= "=") (cast_expression "(stat64 *)(~uVar7 - 1)" (( "(") (type_descriptor "stat64 *" (type_identifier "stat64") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(~uVar7 - 1)" (( "(") (binary_expression "~uVar7 - 1" (unary_expression "~uVar7" (~ "~") (identifier "uVar7")) (- "-") (number_literal "1")) () ")")))) (; ";")) (if_statement "if ((char)local_91c->st_dev == '-') {\n      pr2serr("\'--lba\' cannot be read from stdin\n",pcVar15,psVar17,psVar9);\n      goto LAB_00012130;\n    }" (if "if") (parenthesized_expression "((char)local_91c->st_dev == '-')" (( "(") (binary_expression "(char)local_91c->st_dev == '-'" (cast_expression "(char)local_91c->st_dev" (( "(") (type_descriptor "char" (primitive_type "char")) () ")") (field_expression "local_91c->st_dev" (identifier "local_91c") (-> "->") (field_identifier "st_dev"))) (== "==") (char_literal "'-'" (' "'") (character "-") (' "'"))) () ")")) (compound_statement "{\n      pr2serr("\'--lba\' cannot be read from stdin\n",pcVar15,psVar17,psVar9);\n      goto LAB_00012130;\n    }" ({ "{") (expression_statement "pr2serr("\'--lba\' cannot be read from stdin\n",pcVar15,psVar17,psVar9);" (call_expression "pr2serr("\'--lba\' cannot be read from stdin\n",pcVar15,psVar17,psVar9)" (identifier "pr2serr") (argument_list "("\'--lba\' cannot be read from stdin\n",pcVar15,psVar17,psVar9)" (( "(") (string_literal ""\'--lba\' cannot be read from stdin\n"" (" """) (escape_sequence "\'") (string_content "--lba") (escape_sequence "\'") (string_content " cannot be read from stdin") (escape_sequence "\n") (" """)) (, ",") (identifier "pcVar15") (, ",") (identifier "psVar17") (, ",") (identifier "psVar9") () ")"))) (; ";")) (goto_statement "goto LAB_00012130;" (goto "goto") (statement_identifier "LAB_00012130") (; ";")) (} "}"))) (expression_statement "pcVar15 = "0123456789aAbBcCdDeEfFhHxXiIkKmMgGtTpP, ";" (assignment_expression "pcVar15 = "0123456789aAbBcCdDeEfFhHxXiIkKmMgGtTpP, "" (identifier "pcVar15") (= "=") (string_literal ""0123456789aAbBcCdDeEfFhHxXiIkKmMgGtTpP, "" (" """) (string_content "0123456789aAbBcCdDeEfFhHxXiIkKmMgGtTpP, ") (" """))) (; ";")) (expression_statement "psVar17 = local_91c;" (assignment_expression "psVar17 = local_91c" (identifier "psVar17") (= "=") (identifier "local_91c")) (; ";")) (expression_statement "psVar9 = local_91c;" (assignment_expression "psVar9 = local_91c" (identifier "psVar9") (= "=") (identifier "local_91c")) (; ";")) (expression_statement "psVar8 = (stat64 *)strspn((char *)local_91c,"0123456789aAbBcCdDeEfFhHxXiIkKmMgGtTpP, ");" (assignment_expression "psVar8 = (stat64 *)strspn((char *)local_91c,"0123456789aAbBcCdDeEfFhHxXiIkKmMgGtTpP, ")" (identifier "psVar8") (= "=") (cast_expression "(stat64 *)strspn((char *)local_91c,"0123456789aAbBcCdDeEfFhHxXiIkKmMgGtTpP, ")" (( "(") (type_descriptor "stat64 *" (type_identifier "stat64") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "strspn((char *)local_91c,"0123456789aAbBcCdDeEfFhHxXiIkKmMgGtTpP, ")" (identifier "strspn") (argument_list "((char *)local_91c,"0123456789aAbBcCdDeEfFhHxXiIkKmMgGtTpP, ")" (( "(") (cast_expression "(char *)local_91c" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "local_91c")) (, ",") (string_literal ""0123456789aAbBcCdDeEfFhHxXiIkKmMgGtTpP, "" (" """) (string_content "0123456789aAbBcCdDeEfFhHxXiIkKmMgGtTpP, ") (" """)) () ")"))))) (; ";")) (expression_statement "psVar22 = psVar25;" (assignment_expression "psVar22 = psVar25" (identifier "psVar22") (= "=") (identifier "psVar25")) (; ";")) (if_statement "if (psVar25 == psVar8) {\n      psVar22 = (stat64 *)0x0;\n      psVar25 = local_91c;\n      while( true ) {\n        lVar34 = sg_get_llnum(psVar25,pcVar15,psVar17,psVar9);\n        psVar17 = (stat64 *)lVar34;\n        if (lVar34 == -1) break;\n        puVar42[(int)psVar22 * 2] = (uint)psVar17;\n        puVar42[(int)psVar22 * 2 + 1] = (uint)((ulonglong)lVar34 >> 0x20);\n        psVar9 = psVar17;\n        pcVar12 = strchr((char *)psVar25,0x2c);\n        pcVar15 = (char *)0x20;\n        pcVar13 = strchr((char *)psVar25,0x20);\n        if (pcVar12 == (char *)0x0) {\n          if (pcVar13 == (char *)0x0) {\n            local_91c = (stat64 *)((int)&psVar22->st_dev + 1);\n            if (local_93f != '\0') goto LAB_000126fa;\n            psVar22 = (stat64 *)0x0;\n            psVar17 = extraout_ECX;\n            if (local_91c != (stat64 *)0x1) goto LAB_00012a73;\n            goto LAB_00012820;\n          }\n        }\n        else if ((pcVar13 == (char *)0x0) || (pcVar12 <= pcVar13)) {\n          pcVar13 = pcVar12;\n        }\n        psVar22 = (stat64 *)((int)&psVar22->st_dev + 1);\n        psVar25 = (stat64 *)(pcVar13 + 1);\n        if (psVar22 == (stat64 *)0x80) goto LAB_00013b9f;\n      }\n      psVar8 = (stat64 *)((int)psVar25 - (int)local_91c);\n    }" (if "if") (parenthesized_expression "(psVar25 == psVar8)" (( "(") (binary_expression "psVar25 == psVar8" (identifier "psVar25") (== "==") (identifier "psVar8")) () ")")) (compound_statement "{\n      psVar22 = (stat64 *)0x0;\n      psVar25 = local_91c;\n      while( true ) {\n        lVar34 = sg_get_llnum(psVar25,pcVar15,psVar17,psVar9);\n        psVar17 = (stat64 *)lVar34;\n        if (lVar34 == -1) break;\n        puVar42[(int)psVar22 * 2] = (uint)psVar17;\n        puVar42[(int)psVar22 * 2 + 1] = (uint)((ulonglong)lVar34 >> 0x20);\n        psVar9 = psVar17;\n        pcVar12 = strchr((char *)psVar25,0x2c);\n        pcVar15 = (char *)0x20;\n        pcVar13 = strchr((char *)psVar25,0x20);\n        if (pcVar12 == (char *)0x0) {\n          if (pcVar13 == (char *)0x0) {\n            local_91c = (stat64 *)((int)&psVar22->st_dev + 1);\n            if (local_93f != '\0') goto LAB_000126fa;\n            psVar22 = (stat64 *)0x0;\n            psVar17 = extraout_ECX;\n            if (local_91c != (stat64 *)0x1) goto LAB_00012a73;\n            goto LAB_00012820;\n          }\n        }\n        else if ((pcVar13 == (char *)0x0) || (pcVar12 <= pcVar13)) {\n          pcVar13 = pcVar12;\n        }\n        psVar22 = (stat64 *)((int)&psVar22->st_dev + 1);\n        psVar25 = (stat64 *)(pcVar13 + 1);\n        if (psVar22 == (stat64 *)0x80) goto LAB_00013b9f;\n      }\n      psVar8 = (stat64 *)((int)psVar25 - (int)local_91c);\n    }" ({ "{") (expression_statement "psVar22 = (stat64 *)0x0;" (assignment_expression "psVar22 = (stat64 *)0x0" (identifier "psVar22") (= "=") (cast_expression "(stat64 *)0x0" (( "(") (type_descriptor "stat64 *" (type_identifier "stat64") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "psVar25 = local_91c;" (assignment_expression "psVar25 = local_91c" (identifier "psVar25") (= "=") (identifier "local_91c")) (; ";")) (while_statement "while( true ) {\n        lVar34 = sg_get_llnum(psVar25,pcVar15,psVar17,psVar9);\n        psVar17 = (stat64 *)lVar34;\n        if (lVar34 == -1) break;\n        puVar42[(int)psVar22 * 2] = (uint)psVar17;\n        puVar42[(int)psVar22 * 2 + 1] = (uint)((ulonglong)lVar34 >> 0x20);\n        psVar9 = psVar17;\n        pcVar12 = strchr((char *)psVar25,0x2c);\n        pcVar15 = (char *)0x20;\n        pcVar13 = strchr((char *)psVar25,0x20);\n        if (pcVar12 == (char *)0x0) {\n          if (pcVar13 == (char *)0x0) {\n            local_91c = (stat64 *)((int)&psVar22->st_dev + 1);\n            if (local_93f != '\0') goto LAB_000126fa;\n            psVar22 = (stat64 *)0x0;\n            psVar17 = extraout_ECX;\n            if (local_91c != (stat64 *)0x1) goto LAB_00012a73;\n            goto LAB_00012820;\n          }\n        }\n        else if ((pcVar13 == (char *)0x0) || (pcVar12 <= pcVar13)) {\n          pcVar13 = pcVar12;\n        }\n        psVar22 = (stat64 *)((int)&psVar22->st_dev + 1);\n        psVar25 = (stat64 *)(pcVar13 + 1);\n        if (psVar22 == (stat64 *)0x80) goto LAB_00013b9f;\n      }" (while "while") (parenthesized_expression "( true )" (( "(") (true "true") () ")")) (compound_statement "{\n        lVar34 = sg_get_llnum(psVar25,pcVar15,psVar17,psVar9);\n        psVar17 = (stat64 *)lVar34;\n        if (lVar34 == -1) break;\n        puVar42[(int)psVar22 * 2] = (uint)psVar17;\n        puVar42[(int)psVar22 * 2 + 1] = (uint)((ulonglong)lVar34 >> 0x20);\n        psVar9 = psVar17;\n        pcVar12 = strchr((char *)psVar25,0x2c);\n        pcVar15 = (char *)0x20;\n        pcVar13 = strchr((char *)psVar25,0x20);\n        if (pcVar12 == (char *)0x0) {\n          if (pcVar13 == (char *)0x0) {\n            local_91c = (stat64 *)((int)&psVar22->st_dev + 1);\n            if (local_93f != '\0') goto LAB_000126fa;\n            psVar22 = (stat64 *)0x0;\n            psVar17 = extraout_ECX;\n            if (local_91c != (stat64 *)0x1) goto LAB_00012a73;\n            goto LAB_00012820;\n          }\n        }\n        else if ((pcVar13 == (char *)0x0) || (pcVar12 <= pcVar13)) {\n          pcVar13 = pcVar12;\n        }\n        psVar22 = (stat64 *)((int)&psVar22->st_dev + 1);\n        psVar25 = (stat64 *)(pcVar13 + 1);\n        if (psVar22 == (stat64 *)0x80) goto LAB_00013b9f;\n      }" ({ "{") (expression_statement "lVar34 = sg_get_llnum(psVar25,pcVar15,psVar17,psVar9);" (assignment_expression "lVar34 = sg_get_llnum(psVar25,pcVar15,psVar17,psVar9)" (identifier "lVar34") (= "=") (call_expression "sg_get_llnum(psVar25,pcVar15,psVar17,psVar9)" (identifier "sg_get_llnum") (argument_list "(psVar25,pcVar15,psVar17,psVar9)" (( "(") (identifier "psVar25") (, ",") (identifier "pcVar15") (, ",") (identifier "psVar17") (, ",") (identifier "psVar9") () ")")))) (; ";")) (expression_statement "psVar17 = (stat64 *)lVar34;" (assignment_expression "psVar17 = (stat64 *)lVar34" (identifier "psVar17") (= "=") (cast_expression "(stat64 *)lVar34" (( "(") (type_descriptor "stat64 *" (type_identifier "stat64") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "lVar34"))) (; ";")) (if_statement "if (lVar34 == -1) break;" (if "if") (parenthesized_expression "(lVar34 == -1)" (( "(") (binary_expression "lVar34 == -1" (identifier "lVar34") (== "==") (number_literal "-1")) () ")")) (break_statement "break;" (break "break") (; ";"))) (expression_statement "puVar42[(int)psVar22 * 2] = (uint)psVar17;" (assignment_expression "puVar42[(int)psVar22 * 2] = (uint)psVar17" (subscript_expression "puVar42[(int)psVar22 * 2]" (identifier "puVar42") ([ "[") (binary_expression "(int)psVar22 * 2" (cast_expression "(int)psVar22" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "psVar22")) (* "*") (number_literal "2")) (] "]")) (= "=") (cast_expression "(uint)psVar17" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "psVar17"))) (; ";")) (expression_statement "puVar42[(int)psVar22 * 2 + 1] = (uint)((ulonglong)lVar34 >> 0x20);" (assignment_expression "puVar42[(int)psVar22 * 2 + 1] = (uint)((ulonglong)lVar34 >> 0x20)" (subscript_expression "puVar42[(int)psVar22 * 2 + 1]" (identifier "puVar42") ([ "[") (binary_expression "(int)psVar22 * 2 + 1" (binary_expression "(int)psVar22 * 2" (cast_expression "(int)psVar22" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "psVar22")) (* "*") (number_literal "2")) (+ "+") (number_literal "1")) (] "]")) (= "=") (call_expression "(uint)((ulonglong)lVar34 >> 0x20)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "((ulonglong)lVar34 >> 0x20)" (( "(") (binary_expression "(ulonglong)lVar34 >> 0x20" (cast_expression "(ulonglong)lVar34" (( "(") (type_descriptor "ulonglong" (type_identifier "ulonglong")) () ")") (identifier "lVar34")) (>> ">>") (number_literal "0x20")) () ")")))) (; ";")) (expression_statement "psVar9 = psVar17;" (assignment_expression "psVar9 = psVar17" (identifier "psVar9") (= "=") (identifier "psVar17")) (; ";")) (expression_statement "pcVar12 = strchr((char *)psVar25,0x2c);" (assignment_expression "pcVar12 = strchr((char *)psVar25,0x2c)" (identifier "pcVar12") (= "=") (call_expression "strchr((char *)psVar25,0x2c)" (identifier "strchr") (argument_list "((char *)psVar25,0x2c)" (( "(") (cast_expression "(char *)psVar25" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "psVar25")) (, ",") (number_literal "0x2c") () ")")))) (; ";")) (expression_statement "pcVar15 = (char *)0x20;" (assignment_expression "pcVar15 = (char *)0x20" (identifier "pcVar15") (= "=") (cast_expression "(char *)0x20" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x20"))) (; ";")) (expression_statement "pcVar13 = strchr((char *)psVar25,0x20);" (assignment_expression "pcVar13 = strchr((char *)psVar25,0x20)" (identifier "pcVar13") (= "=") (call_expression "strchr((char *)psVar25,0x20)" (identifier "strchr") (argument_list "((char *)psVar25,0x20)" (( "(") (cast_expression "(char *)psVar25" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "psVar25")) (, ",") (number_literal "0x20") () ")")))) (; ";")) (if_statement "if (pcVar12 == (char *)0x0) {\n          if (pcVar13 == (char *)0x0) {\n            local_91c = (stat64 *)((int)&psVar22->st_dev + 1);\n            if (local_93f != '\0') goto LAB_000126fa;\n            psVar22 = (stat64 *)0x0;\n            psVar17 = extraout_ECX;\n            if (local_91c != (stat64 *)0x1) goto LAB_00012a73;\n            goto LAB_00012820;\n          }\n        }\n        else if ((pcVar13 == (char *)0x0) || (pcVar12 <= pcVar13)) {\n          pcVar13 = pcVar12;\n        }" (if "if") (parenthesized_expression "(pcVar12 == (char *)0x0)" (( "(") (binary_expression "pcVar12 == (char *)0x0" (identifier "pcVar12") (== "==") (cast_expression "(char *)0x0" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n          if (pcVar13 == (char *)0x0) {\n            local_91c = (stat64 *)((int)&psVar22->st_dev + 1);\n            if (local_93f != '\0') goto LAB_000126fa;\n            psVar22 = (stat64 *)0x0;\n            psVar17 = extraout_ECX;\n            if (local_91c != (stat64 *)0x1) goto LAB_00012a73;\n            goto LAB_00012820;\n          }\n        }" ({ "{") (if_statement "if (pcVar13 == (char *)0x0) {\n            local_91c = (stat64 *)((int)&psVar22->st_dev + 1);\n            if (local_93f != '\0') goto LAB_000126fa;\n            psVar22 = (stat64 *)0x0;\n            psVar17 = extraout_ECX;\n            if (local_91c != (stat64 *)0x1) goto LAB_00012a73;\n            goto LAB_00012820;\n          }" (if "if") (parenthesized_expression "(pcVar13 == (char *)0x0)" (( "(") (binary_expression "pcVar13 == (char *)0x0" (identifier "pcVar13") (== "==") (cast_expression "(char *)0x0" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n            local_91c = (stat64 *)((int)&psVar22->st_dev + 1);\n            if (local_93f != '\0') goto LAB_000126fa;\n            psVar22 = (stat64 *)0x0;\n            psVar17 = extraout_ECX;\n            if (local_91c != (stat64 *)0x1) goto LAB_00012a73;\n            goto LAB_00012820;\n          }" ({ "{") (expression_statement "local_91c = (stat64 *)((int)&psVar22->st_dev + 1);" (assignment_expression "local_91c = (stat64 *)((int)&psVar22->st_dev + 1)" (identifier "local_91c") (= "=") (cast_expression "(stat64 *)((int)&psVar22->st_dev + 1)" (( "(") (type_descriptor "stat64 *" (type_identifier "stat64") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)&psVar22->st_dev + 1)" (( "(") (binary_expression "(int)&psVar22->st_dev + 1" (cast_expression "(int)&psVar22->st_dev" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (pointer_expression "&psVar22->st_dev" (& "&") (field_expression "psVar22->st_dev" (identifier "psVar22") (-> "->") (field_identifier "st_dev")))) (+ "+") (number_literal "1")) () ")")))) (; ";")) (if_statement "if (local_93f != '\0') goto LAB_000126fa;" (if "if") (parenthesized_expression "(local_93f != '\0')" (( "(") (binary_expression "local_93f != '\0'" (identifier "local_93f") (!= "!=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (goto_statement "goto LAB_000126fa;" (goto "goto") (statement_identifier "LAB_000126fa") (; ";"))) (expression_statement "psVar22 = (stat64 *)0x0;" (assignment_expression "psVar22 = (stat64 *)0x0" (identifier "psVar22") (= "=") (cast_expression "(stat64 *)0x0" (( "(") (type_descriptor "stat64 *" (type_identifier "stat64") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "psVar17 = extraout_ECX;" (assignment_expression "psVar17 = extraout_ECX" (identifier "psVar17") (= "=") (identifier "extraout_ECX")) (; ";")) (if_statement "if (local_91c != (stat64 *)0x1) goto LAB_00012a73;" (if "if") (parenthesized_expression "(local_91c != (stat64 *)0x1)" (( "(") (binary_expression "local_91c != (stat64 *)0x1" (identifier "local_91c") (!= "!=") (cast_expression "(stat64 *)0x1" (( "(") (type_descriptor "stat64 *" (type_identifier "stat64") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x1"))) () ")")) (goto_statement "goto LAB_00012a73;" (goto "goto") (statement_identifier "LAB_00012a73") (; ";"))) (goto_statement "goto LAB_00012820;" (goto "goto") (statement_identifier "LAB_00012820") (; ";")) (} "}"))) (} "}")) (else_clause "else if ((pcVar13 == (char *)0x0) || (pcVar12 <= pcVar13)) {\n          pcVar13 = pcVar12;\n        }" (else "else") (if_statement "if ((pcVar13 == (char *)0x0) || (pcVar12 <= pcVar13)) {\n          pcVar13 = pcVar12;\n        }" (if "if") (parenthesized_expression "((pcVar13 == (char *)0x0) || (pcVar12 <= pcVar13))" (( "(") (binary_expression "(pcVar13 == (char *)0x0) || (pcVar12 <= pcVar13)" (parenthesized_expression "(pcVar13 == (char *)0x0)" (( "(") (binary_expression "pcVar13 == (char *)0x0" (identifier "pcVar13") (== "==") (cast_expression "(char *)0x0" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (|| "||") (parenthesized_expression "(pcVar12 <= pcVar13)" (( "(") (binary_expression "pcVar12 <= pcVar13" (identifier "pcVar12") (<= "<=") (identifier "pcVar13")) () ")"))) () ")")) (compound_statement "{\n          pcVar13 = pcVar12;\n        }" ({ "{") (expression_statement "pcVar13 = pcVar12;" (assignment_expression "pcVar13 = pcVar12" (identifier "pcVar13") (= "=") (identifier "pcVar12")) (; ";")) (} "}"))))) (expression_statement "psVar22 = (stat64 *)((int)&psVar22->st_dev + 1);" (assignment_expression "psVar22 = (stat64 *)((int)&psVar22->st_dev + 1)" (identifier "psVar22") (= "=") (cast_expression "(stat64 *)((int)&psVar22->st_dev + 1)" (( "(") (type_descriptor "stat64 *" (type_identifier "stat64") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)&psVar22->st_dev + 1)" (( "(") (binary_expression "(int)&psVar22->st_dev + 1" (cast_expression "(int)&psVar22->st_dev" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (pointer_expression "&psVar22->st_dev" (& "&") (field_expression "psVar22->st_dev" (identifier "psVar22") (-> "->") (field_identifier "st_dev")))) (+ "+") (number_literal "1")) () ")")))) (; ";")) (expression_statement "psVar25 = (stat64 *)(pcVar13 + 1);" (assignment_expression "psVar25 = (stat64 *)(pcVar13 + 1)" (identifier "psVar25") (= "=") (cast_expression "(stat64 *)(pcVar13 + 1)" (( "(") (type_descriptor "stat64 *" (type_identifier "stat64") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar13 + 1)" (( "(") (binary_expression "pcVar13 + 1" (identifier "pcVar13") (+ "+") (number_literal "1")) () ")")))) (; ";")) (if_statement "if (psVar22 == (stat64 *)0x80) goto LAB_00013b9f;" (if "if") (parenthesized_expression "(psVar22 == (stat64 *)0x80)" (( "(") (binary_expression "psVar22 == (stat64 *)0x80" (identifier "psVar22") (== "==") (cast_expression "(stat64 *)0x80" (( "(") (type_descriptor "stat64 *" (type_identifier "stat64") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x80"))) () ")")) (goto_statement "goto LAB_00013b9f;" (goto "goto") (statement_identifier "LAB_00013b9f") (; ";"))) (} "}"))) (expression_statement "psVar8 = (stat64 *)((int)psVar25 - (int)local_91c);" (assignment_expression "psVar8 = (stat64 *)((int)psVar25 - (int)local_91c)" (identifier "psVar8") (= "=") (cast_expression "(stat64 *)((int)psVar25 - (int)local_91c)" (( "(") (type_descriptor "stat64 *" (type_identifier "stat64") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)psVar25 - (int)local_91c)" (( "(") (binary_expression "(int)psVar25 - (int)local_91c" (cast_expression "(int)psVar25" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "psVar25")) (- "-") (cast_expression "(int)local_91c" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_91c"))) () ")")))) (; ";")) (} "}"))) (expression_statement "pr2serr("build_lba_arr: error at pos %d\n",(undefined *)((int)&psVar8->st_dev + 1),psVar22,\n            psVar22);" (call_expression "pr2serr("build_lba_arr: error at pos %d\n",(undefined *)((int)&psVar8->st_dev + 1),psVar22,\n            psVar22)" (identifier "pr2serr") (argument_list "("build_lba_arr: error at pos %d\n",(undefined *)((int)&psVar8->st_dev + 1),psVar22,\n            psVar22)" (( "(") (string_literal ""build_lba_arr: error at pos %d\n"" (" """) (string_content "build_lba_arr: error at pos %d") (escape_sequence "\n") (" """)) (, ",") (cast_expression "(undefined *)((int)&psVar8->st_dev + 1)" (( "(") (type_descriptor "undefined *" (type_identifier "undefined") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)&psVar8->st_dev + 1)" (( "(") (binary_expression "(int)&psVar8->st_dev + 1" (cast_expression "(int)&psVar8->st_dev" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (pointer_expression "&psVar8->st_dev" (& "&") (field_expression "psVar8->st_dev" (identifier "psVar8") (-> "->") (field_identifier "st_dev")))) (+ "+") (number_literal "1")) () ")"))) (, ",") (identifier "psVar22") (, ",") (identifier "psVar22") () ")"))) (; ";")) (goto_statement "goto LAB_00012130;" (goto "goto") (statement_identifier "LAB_00012130") (; ";")) (} "}"))) (expression_statement "local_91c = (stat64 *)0x0;" (assignment_expression "local_91c = (stat64 *)0x0" (identifier "local_91c") (= "=") (cast_expression "(stat64 *)0x0" (( "(") (type_descriptor "stat64 *" (type_identifier "stat64") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (if_statement "if (bVar30) {\nLAB_000126fa:\n    psVar8 = (stat64 *)0xffffffff;\n    psVar22 = local_918;\n    do {\n      if (psVar8 == (stat64 *)0x0) break;\n      psVar8 = (stat64 *)((int)&psVar8[-1].st_ino + 7);\n      p_Var3 = &psVar22->st_dev;\n      psVar22 = (stat64 *)((int)psVar22 + (uint)bVar32 * -2 + 1);\n    } while ((char)*p_Var3 != '\0');\n    psVar25 = (stat64 *)(~(uint)psVar8 - 1);\n    if ((char)local_918->st_dev == '-') {\n      pr2serr("\'--len\' cannot be read from stdin\n");\n    }\n    else {\n      pcVar15 = "0123456789aAbBcCdDeEfFhHxXiIkKmMgGtTpP, ";\n      psVar17 = psVar8;\n      psVar22 = (stat64 *)strspn((char *)local_918,"0123456789aAbBcCdDeEfFhHxXiIkKmMgGtTpP, ");\n      psVar9 = extraout_EDX_00;\n      if (psVar25 == psVar22) {\n        psVar9 = (stat64 *)0x0;\n        psVar25 = local_918;\n        do {\n          lVar34 = sg_get_llnum(psVar25,pcVar15,psVar8,psVar17);\n          psVar8 = (stat64 *)lVar34;\n          if ((int)((ulonglong)lVar34 >> 0x20) == -1) {\n            if (psVar8 == (stat64 *)0xffffffff) {\n              psVar22 = (stat64 *)((int)psVar25 - (int)local_918);\n              goto LAB_000127bf;\n            }\n          }\n          else if (0xffffffff < lVar34) {\n            psVar17 = (stat64 *)((int)psVar25 + (1 - (int)local_918));\n            pcVar15 = "build_num_arr";\n            pr2serr("%s: number exceeds 32 bits at pos %d\n","build_num_arr",psVar17,psVar9);\n            goto LAB_000127d9;\n          }\n          ppsVar44[(int)psVar9] = psVar8;\n          psVar17 = psVar8;\n          pcVar12 = strchr((char *)psVar25,0x2c);\n          pcVar15 = (char *)0x20;\n          pcVar13 = strchr((char *)psVar25,0x20);\n          if (pcVar12 == (char *)0x0) {\n            if (pcVar13 == (char *)0x0) {\n              puVar20 = (undefined *)((int)&psVar9->st_dev + 1);\n              psVar22 = (stat64 *)0x0;\n              psVar17 = extraout_ECX_00;\n              if ((undefined *)0x1 < local_91c) {\n                if ((stat64 *)puVar20 == local_91c) goto LAB_00012820;\n                goto LAB_00012a73;\n              }\n              if (local_91c == (stat64 *)0x0) {\n                if (puVar20 != (undefined *)0x1) {\nLAB_00012a73:\n                  pr2serr("need same number of arguments to \'--lba=\' and \'--num=\' options\n");\n                  local_908 = (stat64 *)0x1f;\n                  goto LAB_00012354;\n                }\n                local_91c = (stat64 *)(undefined *)0x1;\n                if (local_778[0] != (stat64 *)0x0) {\n                  pr2serr("won\'t write %u blocks without an explicit --lba= option\n",local_778[0],\n                          extraout_ECX_00,extraout_ECX_00);\n                  local_908 = (stat64 *)0x1;\n                  goto LAB_00012354;\n                }\n              }\n              else {\n                local_91c = (stat64 *)(undefined *)0x1;\n              }\n              goto LAB_00012820;\n            }\n          }\n          else if ((pcVar13 == (char *)0x0) || (pcVar12 <= pcVar13)) {\n            pcVar13 = pcVar12;\n          }\n          psVar9 = (stat64 *)((int)&psVar9->st_dev + 1);\n          psVar25 = (stat64 *)(pcVar13 + 1);\n        } while (psVar9 != (stat64 *)0x80);\n        pcVar15 = "build_num_arr";\n        psVar17 = extraout_ECX_00;\n        psVar9 = extraout_ECX_00;\n        pr2serr("%s: array length exceeded\n","build_num_arr",extraout_ECX_00,extraout_ECX_00);\n      }\n      else {\nLAB_000127bf:\n        psVar17 = (stat64 *)((int)&psVar22->st_dev + 1);\n        pcVar15 = "build_num_arr";\n        pr2serr("%s: error at pos %d\n","build_num_arr",psVar17,psVar9);\n      }\n    }\nLAB_000127d9:\n    pr2serr("bad argument to \'--num\'\n",pcVar15,psVar17,psVar9);\n    local_908 = (stat64 *)0x0;\n    goto LAB_00012354;\n  }" (if "if") (parenthesized_expression "(bVar30)" (( "(") (identifier "bVar30") () ")")) (compound_statement "{\nLAB_000126fa:\n    psVar8 = (stat64 *)0xffffffff;\n    psVar22 = local_918;\n    do {\n      if (psVar8 == (stat64 *)0x0) break;\n      psVar8 = (stat64 *)((int)&psVar8[-1].st_ino + 7);\n      p_Var3 = &psVar22->st_dev;\n      psVar22 = (stat64 *)((int)psVar22 + (uint)bVar32 * -2 + 1);\n    } while ((char)*p_Var3 != '\0');\n    psVar25 = (stat64 *)(~(uint)psVar8 - 1);\n    if ((char)local_918->st_dev == '-') {\n      pr2serr("\'--len\' cannot be read from stdin\n");\n    }\n    else {\n      pcVar15 = "0123456789aAbBcCdDeEfFhHxXiIkKmMgGtTpP, ";\n      psVar17 = psVar8;\n      psVar22 = (stat64 *)strspn((char *)local_918,"0123456789aAbBcCdDeEfFhHxXiIkKmMgGtTpP, ");\n      psVar9 = extraout_EDX_00;\n      if (psVar25 == psVar22) {\n        psVar9 = (stat64 *)0x0;\n        psVar25 = local_918;\n        do {\n          lVar34 = sg_get_llnum(psVar25,pcVar15,psVar8,psVar17);\n          psVar8 = (stat64 *)lVar34;\n          if ((int)((ulonglong)lVar34 >> 0x20) == -1) {\n            if (psVar8 == (stat64 *)0xffffffff) {\n              psVar22 = (stat64 *)((int)psVar25 - (int)local_918);\n              goto LAB_000127bf;\n            }\n          }\n          else if (0xffffffff < lVar34) {\n            psVar17 = (stat64 *)((int)psVar25 + (1 - (int)local_918));\n            pcVar15 = "build_num_arr";\n            pr2serr("%s: number exceeds 32 bits at pos %d\n","build_num_arr",psVar17,psVar9);\n            goto LAB_000127d9;\n          }\n          ppsVar44[(int)psVar9] = psVar8;\n          psVar17 = psVar8;\n          pcVar12 = strchr((char *)psVar25,0x2c);\n          pcVar15 = (char *)0x20;\n          pcVar13 = strchr((char *)psVar25,0x20);\n          if (pcVar12 == (char *)0x0) {\n            if (pcVar13 == (char *)0x0) {\n              puVar20 = (undefined *)((int)&psVar9->st_dev + 1);\n              psVar22 = (stat64 *)0x0;\n              psVar17 = extraout_ECX_00;\n              if ((undefined *)0x1 < local_91c) {\n                if ((stat64 *)puVar20 == local_91c) goto LAB_00012820;\n                goto LAB_00012a73;\n              }\n              if (local_91c == (stat64 *)0x0) {\n                if (puVar20 != (undefined *)0x1) {\nLAB_00012a73:\n                  pr2serr("need same number of arguments to \'--lba=\' and \'--num=\' options\n");\n                  local_908 = (stat64 *)0x1f;\n                  goto LAB_00012354;\n                }\n                local_91c = (stat64 *)(undefined *)0x1;\n                if (local_778[0] != (stat64 *)0x0) {\n                  pr2serr("won\'t write %u blocks without an explicit --lba= option\n",local_778[0],\n                          extraout_ECX_00,extraout_ECX_00);\n                  local_908 = (stat64 *)0x1;\n                  goto LAB_00012354;\n                }\n              }\n              else {\n                local_91c = (stat64 *)(undefined *)0x1;\n              }\n              goto LAB_00012820;\n            }\n          }\n          else if ((pcVar13 == (char *)0x0) || (pcVar12 <= pcVar13)) {\n            pcVar13 = pcVar12;\n          }\n          psVar9 = (stat64 *)((int)&psVar9->st_dev + 1);\n          psVar25 = (stat64 *)(pcVar13 + 1);\n        } while (psVar9 != (stat64 *)0x80);\n        pcVar15 = "build_num_arr";\n        psVar17 = extraout_ECX_00;\n        psVar9 = extraout_ECX_00;\n        pr2serr("%s: array length exceeded\n","build_num_arr",extraout_ECX_00,extraout_ECX_00);\n      }\n      else {\nLAB_000127bf:\n        psVar17 = (stat64 *)((int)&psVar22->st_dev + 1);\n        pcVar15 = "build_num_arr";\n        pr2serr("%s: error at pos %d\n","build_num_arr",psVar17,psVar9);\n      }\n    }\nLAB_000127d9:\n    pr2serr("bad argument to \'--num\'\n",pcVar15,psVar17,psVar9);\n    local_908 = (stat64 *)0x0;\n    goto LAB_00012354;\n  }" ({ "{") (labeled_statement "LAB_000126fa:\n    psVar8 = (stat64 *)0xffffffff;" (statement_identifier "LAB_000126fa") (: ":") (expression_statement "psVar8 = (stat64 *)0xffffffff;" (assignment_expression "psVar8 = (stat64 *)0xffffffff" (identifier "psVar8") (= "=") (cast_expression "(stat64 *)0xffffffff" (( "(") (type_descriptor "stat64 *" (type_identifier "stat64") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0xffffffff"))) (; ";"))) (expression_statement "psVar22 = local_918;" (assignment_expression "psVar22 = local_918" (identifier "psVar22") (= "=") (identifier "local_918")) (; ";")) (do_statement "do {\n      if (psVar8 == (stat64 *)0x0) break;\n      psVar8 = (stat64 *)((int)&psVar8[-1].st_ino + 7);\n      p_Var3 = &psVar22->st_dev;\n      psVar22 = (stat64 *)((int)psVar22 + (uint)bVar32 * -2 + 1);\n    } while ((char)*p_Var3 != '\0');" (do "do") (compound_statement "{\n      if (psVar8 == (stat64 *)0x0) break;\n      psVar8 = (stat64 *)((int)&psVar8[-1].st_ino + 7);\n      p_Var3 = &psVar22->st_dev;\n      psVar22 = (stat64 *)((int)psVar22 + (uint)bVar32 * -2 + 1);\n    }" ({ "{") (if_statement "if (psVar8 == (stat64 *)0x0) break;" (if "if") (parenthesized_expression "(psVar8 == (stat64 *)0x0)" (( "(") (binary_expression "psVar8 == (stat64 *)0x0" (identifier "psVar8") (== "==") (cast_expression "(stat64 *)0x0" (( "(") (type_descriptor "stat64 *" (type_identifier "stat64") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (break_statement "break;" (break "break") (; ";"))) (expression_statement "psVar8 = (stat64 *)((int)&psVar8[-1].st_ino + 7);" (assignment_expression "psVar8 = (stat64 *)((int)&psVar8[-1].st_ino + 7)" (identifier "psVar8") (= "=") (cast_expression "(stat64 *)((int)&psVar8[-1].st_ino + 7)" (( "(") (type_descriptor "stat64 *" (type_identifier "stat64") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)&psVar8[-1].st_ino + 7)" (( "(") (binary_expression "(int)&psVar8[-1].st_ino + 7" (cast_expression "(int)&psVar8[-1].st_ino" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (pointer_expression "&psVar8[-1].st_ino" (& "&") (field_expression "psVar8[-1].st_ino" (subscript_expression "psVar8[-1]" (identifier "psVar8") ([ "[") (number_literal "-1") (] "]")) (. ".") (field_identifier "st_ino")))) (+ "+") (number_literal "7")) () ")")))) (; ";")) (expression_statement "p_Var3 = &psVar22->st_dev;" (assignment_expression "p_Var3 = &psVar22->st_dev" (identifier "p_Var3") (= "=") (pointer_expression "&psVar22->st_dev" (& "&") (field_expression "psVar22->st_dev" (identifier "psVar22") (-> "->") (field_identifier "st_dev")))) (; ";")) (expression_statement "psVar22 = (stat64 *)((int)psVar22 + (uint)bVar32 * -2 + 1);" (assignment_expression "psVar22 = (stat64 *)((int)psVar22 + (uint)bVar32 * -2 + 1)" (identifier "psVar22") (= "=") (cast_expression "(stat64 *)((int)psVar22 + (uint)bVar32 * -2 + 1)" (( "(") (type_descriptor "stat64 *" (type_identifier "stat64") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)psVar22 + (uint)bVar32 * -2 + 1)" (( "(") (binary_expression "(int)psVar22 + (uint)bVar32 * -2 + 1" (binary_expression "(int)psVar22 + (uint)bVar32 * -2" (cast_expression "(int)psVar22" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "psVar22")) (+ "+") (binary_expression "(uint)bVar32 * -2" (cast_expression "(uint)bVar32" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "bVar32")) (* "*") (number_literal "-2"))) (+ "+") (number_literal "1")) () ")")))) (; ";")) (} "}")) (while "while") (parenthesized_expression "((char)*p_Var3 != '\0')" (( "(") (binary_expression "(char)*p_Var3 != '\0'" (cast_expression "(char)*p_Var3" (( "(") (type_descriptor "char" (primitive_type "char")) () ")") (pointer_expression "*p_Var3" (* "*") (identifier "p_Var3"))) (!= "!=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (; ";")) (expression_statement "psVar25 = (stat64 *)(~(uint)psVar8 - 1);" (assignment_expression "psVar25 = (stat64 *)(~(uint)psVar8 - 1)" (identifier "psVar25") (= "=") (cast_expression "(stat64 *)(~(uint)psVar8 - 1)" (( "(") (type_descriptor "stat64 *" (type_identifier "stat64") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(~(uint)psVar8 - 1)" (( "(") (binary_expression "~(uint)psVar8 - 1" (unary_expression "~(uint)psVar8" (~ "~") (cast_expression "(uint)psVar8" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "psVar8"))) (- "-") (number_literal "1")) () ")")))) (; ";")) (if_statement "if ((char)local_918->st_dev == '-') {\n      pr2serr("\'--len\' cannot be read from stdin\n");\n    }\n    else {\n      pcVar15 = "0123456789aAbBcCdDeEfFhHxXiIkKmMgGtTpP, ";\n      psVar17 = psVar8;\n      psVar22 = (stat64 *)strspn((char *)local_918,"0123456789aAbBcCdDeEfFhHxXiIkKmMgGtTpP, ");\n      psVar9 = extraout_EDX_00;\n      if (psVar25 == psVar22) {\n        psVar9 = (stat64 *)0x0;\n        psVar25 = local_918;\n        do {\n          lVar34 = sg_get_llnum(psVar25,pcVar15,psVar8,psVar17);\n          psVar8 = (stat64 *)lVar34;\n          if ((int)((ulonglong)lVar34 >> 0x20) == -1) {\n            if (psVar8 == (stat64 *)0xffffffff) {\n              psVar22 = (stat64 *)((int)psVar25 - (int)local_918);\n              goto LAB_000127bf;\n            }\n          }\n          else if (0xffffffff < lVar34) {\n            psVar17 = (stat64 *)((int)psVar25 + (1 - (int)local_918));\n            pcVar15 = "build_num_arr";\n            pr2serr("%s: number exceeds 32 bits at pos %d\n","build_num_arr",psVar17,psVar9);\n            goto LAB_000127d9;\n          }\n          ppsVar44[(int)psVar9] = psVar8;\n          psVar17 = psVar8;\n          pcVar12 = strchr((char *)psVar25,0x2c);\n          pcVar15 = (char *)0x20;\n          pcVar13 = strchr((char *)psVar25,0x20);\n          if (pcVar12 == (char *)0x0) {\n            if (pcVar13 == (char *)0x0) {\n              puVar20 = (undefined *)((int)&psVar9->st_dev + 1);\n              psVar22 = (stat64 *)0x0;\n              psVar17 = extraout_ECX_00;\n              if ((undefined *)0x1 < local_91c) {\n                if ((stat64 *)puVar20 == local_91c) goto LAB_00012820;\n                goto LAB_00012a73;\n              }\n              if (local_91c == (stat64 *)0x0) {\n                if (puVar20 != (undefined *)0x1) {\nLAB_00012a73:\n                  pr2serr("need same number of arguments to \'--lba=\' and \'--num=\' options\n");\n                  local_908 = (stat64 *)0x1f;\n                  goto LAB_00012354;\n                }\n                local_91c = (stat64 *)(undefined *)0x1;\n                if (local_778[0] != (stat64 *)0x0) {\n                  pr2serr("won\'t write %u blocks without an explicit --lba= option\n",local_778[0],\n                          extraout_ECX_00,extraout_ECX_00);\n                  local_908 = (stat64 *)0x1;\n                  goto LAB_00012354;\n                }\n              }\n              else {\n                local_91c = (stat64 *)(undefined *)0x1;\n              }\n              goto LAB_00012820;\n            }\n          }\n          else if ((pcVar13 == (char *)0x0) || (pcVar12 <= pcVar13)) {\n            pcVar13 = pcVar12;\n          }\n          psVar9 = (stat64 *)((int)&psVar9->st_dev + 1);\n          psVar25 = (stat64 *)(pcVar13 + 1);\n        } while (psVar9 != (stat64 *)0x80);\n        pcVar15 = "build_num_arr";\n        psVar17 = extraout_ECX_00;\n        psVar9 = extraout_ECX_00;\n        pr2serr("%s: array length exceeded\n","build_num_arr",extraout_ECX_00,extraout_ECX_00);\n      }\n      else {\nLAB_000127bf:\n        psVar17 = (stat64 *)((int)&psVar22->st_dev + 1);\n        pcVar15 = "build_num_arr";\n        pr2serr("%s: error at pos %d\n","build_num_arr",psVar17,psVar9);\n      }\n    }" (if "if") (parenthesized_expression "((char)local_918->st_dev == '-')" (( "(") (binary_expression "(char)local_918->st_dev == '-'" (cast_expression "(char)local_918->st_dev" (( "(") (type_descriptor "char" (primitive_type "char")) () ")") (field_expression "local_918->st_dev" (identifier "local_918") (-> "->") (field_identifier "st_dev"))) (== "==") (char_literal "'-'" (' "'") (character "-") (' "'"))) () ")")) (compound_statement "{\n      pr2serr("\'--len\' cannot be read from stdin\n");\n    }" ({ "{") (expression_statement "pr2serr("\'--len\' cannot be read from stdin\n");" (call_expression "pr2serr("\'--len\' cannot be read from stdin\n")" (identifier "pr2serr") (argument_list "("\'--len\' cannot be read from stdin\n")" (( "(") (string_literal ""\'--len\' cannot be read from stdin\n"" (" """) (escape_sequence "\'") (string_content "--len") (escape_sequence "\'") (string_content " cannot be read from stdin") (escape_sequence "\n") (" """)) () ")"))) (; ";")) (} "}")) (else_clause "else {\n      pcVar15 = "0123456789aAbBcCdDeEfFhHxXiIkKmMgGtTpP, ";\n      psVar17 = psVar8;\n      psVar22 = (stat64 *)strspn((char *)local_918,"0123456789aAbBcCdDeEfFhHxXiIkKmMgGtTpP, ");\n      psVar9 = extraout_EDX_00;\n      if (psVar25 == psVar22) {\n        psVar9 = (stat64 *)0x0;\n        psVar25 = local_918;\n        do {\n          lVar34 = sg_get_llnum(psVar25,pcVar15,psVar8,psVar17);\n          psVar8 = (stat64 *)lVar34;\n          if ((int)((ulonglong)lVar34 >> 0x20) == -1) {\n            if (psVar8 == (stat64 *)0xffffffff) {\n              psVar22 = (stat64 *)((int)psVar25 - (int)local_918);\n              goto LAB_000127bf;\n            }\n          }\n          else if (0xffffffff < lVar34) {\n            psVar17 = (stat64 *)((int)psVar25 + (1 - (int)local_918));\n            pcVar15 = "build_num_arr";\n            pr2serr("%s: number exceeds 32 bits at pos %d\n","build_num_arr",psVar17,psVar9);\n            goto LAB_000127d9;\n          }\n          ppsVar44[(int)psVar9] = psVar8;\n          psVar17 = psVar8;\n          pcVar12 = strchr((char *)psVar25,0x2c);\n          pcVar15 = (char *)0x20;\n          pcVar13 = strchr((char *)psVar25,0x20);\n          if (pcVar12 == (char *)0x0) {\n            if (pcVar13 == (char *)0x0) {\n              puVar20 = (undefined *)((int)&psVar9->st_dev + 1);\n              psVar22 = (stat64 *)0x0;\n              psVar17 = extraout_ECX_00;\n              if ((undefined *)0x1 < local_91c) {\n                if ((stat64 *)puVar20 == local_91c) goto LAB_00012820;\n                goto LAB_00012a73;\n              }\n              if (local_91c == (stat64 *)0x0) {\n                if (puVar20 != (undefined *)0x1) {\nLAB_00012a73:\n                  pr2serr("need same number of arguments to \'--lba=\' and \'--num=\' options\n");\n                  local_908 = (stat64 *)0x1f;\n                  goto LAB_00012354;\n                }\n                local_91c = (stat64 *)(undefined *)0x1;\n                if (local_778[0] != (stat64 *)0x0) {\n                  pr2serr("won\'t write %u blocks without an explicit --lba= option\n",local_778[0],\n                          extraout_ECX_00,extraout_ECX_00);\n                  local_908 = (stat64 *)0x1;\n                  goto LAB_00012354;\n                }\n              }\n              else {\n                local_91c = (stat64 *)(undefined *)0x1;\n              }\n              goto LAB_00012820;\n            }\n          }\n          else if ((pcVar13 == (char *)0x0) || (pcVar12 <= pcVar13)) {\n            pcVar13 = pcVar12;\n          }\n          psVar9 = (stat64 *)((int)&psVar9->st_dev + 1);\n          psVar25 = (stat64 *)(pcVar13 + 1);\n        } while (psVar9 != (stat64 *)0x80);\n        pcVar15 = "build_num_arr";\n        psVar17 = extraout_ECX_00;\n        psVar9 = extraout_ECX_00;\n        pr2serr("%s: array length exceeded\n","build_num_arr",extraout_ECX_00,extraout_ECX_00);\n      }\n      else {\nLAB_000127bf:\n        psVar17 = (stat64 *)((int)&psVar22->st_dev + 1);\n        pcVar15 = "build_num_arr";\n        pr2serr("%s: error at pos %d\n","build_num_arr",psVar17,psVar9);\n      }\n    }" (else "else") (compound_statement "{\n      pcVar15 = "0123456789aAbBcCdDeEfFhHxXiIkKmMgGtTpP, ";\n      psVar17 = psVar8;\n      psVar22 = (stat64 *)strspn((char *)local_918,"0123456789aAbBcCdDeEfFhHxXiIkKmMgGtTpP, ");\n      psVar9 = extraout_EDX_00;\n      if (psVar25 == psVar22) {\n        psVar9 = (stat64 *)0x0;\n        psVar25 = local_918;\n        do {\n          lVar34 = sg_get_llnum(psVar25,pcVar15,psVar8,psVar17);\n          psVar8 = (stat64 *)lVar34;\n          if ((int)((ulonglong)lVar34 >> 0x20) == -1) {\n            if (psVar8 == (stat64 *)0xffffffff) {\n              psVar22 = (stat64 *)((int)psVar25 - (int)local_918);\n              goto LAB_000127bf;\n            }\n          }\n          else if (0xffffffff < lVar34) {\n            psVar17 = (stat64 *)((int)psVar25 + (1 - (int)local_918));\n            pcVar15 = "build_num_arr";\n            pr2serr("%s: number exceeds 32 bits at pos %d\n","build_num_arr",psVar17,psVar9);\n            goto LAB_000127d9;\n          }\n          ppsVar44[(int)psVar9] = psVar8;\n          psVar17 = psVar8;\n          pcVar12 = strchr((char *)psVar25,0x2c);\n          pcVar15 = (char *)0x20;\n          pcVar13 = strchr((char *)psVar25,0x20);\n          if (pcVar12 == (char *)0x0) {\n            if (pcVar13 == (char *)0x0) {\n              puVar20 = (undefined *)((int)&psVar9->st_dev + 1);\n              psVar22 = (stat64 *)0x0;\n              psVar17 = extraout_ECX_00;\n              if ((undefined *)0x1 < local_91c) {\n                if ((stat64 *)puVar20 == local_91c) goto LAB_00012820;\n                goto LAB_00012a73;\n              }\n              if (local_91c == (stat64 *)0x0) {\n                if (puVar20 != (undefined *)0x1) {\nLAB_00012a73:\n                  pr2serr("need same number of arguments to \'--lba=\' and \'--num=\' options\n");\n                  local_908 = (stat64 *)0x1f;\n                  goto LAB_00012354;\n                }\n                local_91c = (stat64 *)(undefined *)0x1;\n                if (local_778[0] != (stat64 *)0x0) {\n                  pr2serr("won\'t write %u blocks without an explicit --lba= option\n",local_778[0],\n                          extraout_ECX_00,extraout_ECX_00);\n                  local_908 = (stat64 *)0x1;\n                  goto LAB_00012354;\n                }\n              }\n              else {\n                local_91c = (stat64 *)(undefined *)0x1;\n              }\n              goto LAB_00012820;\n            }\n          }\n          else if ((pcVar13 == (char *)0x0) || (pcVar12 <= pcVar13)) {\n            pcVar13 = pcVar12;\n          }\n          psVar9 = (stat64 *)((int)&psVar9->st_dev + 1);\n          psVar25 = (stat64 *)(pcVar13 + 1);\n        } while (psVar9 != (stat64 *)0x80);\n        pcVar15 = "build_num_arr";\n        psVar17 = extraout_ECX_00;\n        psVar9 = extraout_ECX_00;\n        pr2serr("%s: array length exceeded\n","build_num_arr",extraout_ECX_00,extraout_ECX_00);\n      }\n      else {\nLAB_000127bf:\n        psVar17 = (stat64 *)((int)&psVar22->st_dev + 1);\n        pcVar15 = "build_num_arr";\n        pr2serr("%s: error at pos %d\n","build_num_arr",psVar17,psVar9);\n      }\n    }" ({ "{") (expression_statement "pcVar15 = "0123456789aAbBcCdDeEfFhHxXiIkKmMgGtTpP, ";" (assignment_expression "pcVar15 = "0123456789aAbBcCdDeEfFhHxXiIkKmMgGtTpP, "" (identifier "pcVar15") (= "=") (string_literal ""0123456789aAbBcCdDeEfFhHxXiIkKmMgGtTpP, "" (" """) (string_content "0123456789aAbBcCdDeEfFhHxXiIkKmMgGtTpP, ") (" """))) (; ";")) (expression_statement "psVar17 = psVar8;" (assignment_expression "psVar17 = psVar8" (identifier "psVar17") (= "=") (identifier "psVar8")) (; ";")) (expression_statement "psVar22 = (stat64 *)strspn((char *)local_918,"0123456789aAbBcCdDeEfFhHxXiIkKmMgGtTpP, ");" (assignment_expression "psVar22 = (stat64 *)strspn((char *)local_918,"0123456789aAbBcCdDeEfFhHxXiIkKmMgGtTpP, ")" (identifier "psVar22") (= "=") (cast_expression "(stat64 *)strspn((char *)local_918,"0123456789aAbBcCdDeEfFhHxXiIkKmMgGtTpP, ")" (( "(") (type_descriptor "stat64 *" (type_identifier "stat64") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "strspn((char *)local_918,"0123456789aAbBcCdDeEfFhHxXiIkKmMgGtTpP, ")" (identifier "strspn") (argument_list "((char *)local_918,"0123456789aAbBcCdDeEfFhHxXiIkKmMgGtTpP, ")" (( "(") (cast_expression "(char *)local_918" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "local_918")) (, ",") (string_literal ""0123456789aAbBcCdDeEfFhHxXiIkKmMgGtTpP, "" (" """) (string_content "0123456789aAbBcCdDeEfFhHxXiIkKmMgGtTpP, ") (" """)) () ")"))))) (; ";")) (expression_statement "psVar9 = extraout_EDX_00;" (assignment_expression "psVar9 = extraout_EDX_00" (identifier "psVar9") (= "=") (identifier "extraout_EDX_00")) (; ";")) (if_statement "if (psVar25 == psVar22) {\n        psVar9 = (stat64 *)0x0;\n        psVar25 = local_918;\n        do {\n          lVar34 = sg_get_llnum(psVar25,pcVar15,psVar8,psVar17);\n          psVar8 = (stat64 *)lVar34;\n          if ((int)((ulonglong)lVar34 >> 0x20) == -1) {\n            if (psVar8 == (stat64 *)0xffffffff) {\n              psVar22 = (stat64 *)((int)psVar25 - (int)local_918);\n              goto LAB_000127bf;\n            }\n          }\n          else if (0xffffffff < lVar34) {\n            psVar17 = (stat64 *)((int)psVar25 + (1 - (int)local_918));\n            pcVar15 = "build_num_arr";\n            pr2serr("%s: number exceeds 32 bits at pos %d\n","build_num_arr",psVar17,psVar9);\n            goto LAB_000127d9;\n          }\n          ppsVar44[(int)psVar9] = psVar8;\n          psVar17 = psVar8;\n          pcVar12 = strchr((char *)psVar25,0x2c);\n          pcVar15 = (char *)0x20;\n          pcVar13 = strchr((char *)psVar25,0x20);\n          if (pcVar12 == (char *)0x0) {\n            if (pcVar13 == (char *)0x0) {\n              puVar20 = (undefined *)((int)&psVar9->st_dev + 1);\n              psVar22 = (stat64 *)0x0;\n              psVar17 = extraout_ECX_00;\n              if ((undefined *)0x1 < local_91c) {\n                if ((stat64 *)puVar20 == local_91c) goto LAB_00012820;\n                goto LAB_00012a73;\n              }\n              if (local_91c == (stat64 *)0x0) {\n                if (puVar20 != (undefined *)0x1) {\nLAB_00012a73:\n                  pr2serr("need same number of arguments to \'--lba=\' and \'--num=\' options\n");\n                  local_908 = (stat64 *)0x1f;\n                  goto LAB_00012354;\n                }\n                local_91c = (stat64 *)(undefined *)0x1;\n                if (local_778[0] != (stat64 *)0x0) {\n                  pr2serr("won\'t write %u blocks without an explicit --lba= option\n",local_778[0],\n                          extraout_ECX_00,extraout_ECX_00);\n                  local_908 = (stat64 *)0x1;\n                  goto LAB_00012354;\n                }\n              }\n              else {\n                local_91c = (stat64 *)(undefined *)0x1;\n              }\n              goto LAB_00012820;\n            }\n          }\n          else if ((pcVar13 == (char *)0x0) || (pcVar12 <= pcVar13)) {\n            pcVar13 = pcVar12;\n          }\n          psVar9 = (stat64 *)((int)&psVar9->st_dev + 1);\n          psVar25 = (stat64 *)(pcVar13 + 1);\n        } while (psVar9 != (stat64 *)0x80);\n        pcVar15 = "build_num_arr";\n        psVar17 = extraout_ECX_00;\n        psVar9 = extraout_ECX_00;\n        pr2serr("%s: array length exceeded\n","build_num_arr",extraout_ECX_00,extraout_ECX_00);\n      }\n      else {\nLAB_000127bf:\n        psVar17 = (stat64 *)((int)&psVar22->st_dev + 1);\n        pcVar15 = "build_num_arr";\n        pr2serr("%s: error at pos %d\n","build_num_arr",psVar17,psVar9);\n      }" (if "if") (parenthesized_expression "(psVar25 == psVar22)" (( "(") (binary_expression "psVar25 == psVar22" (identifier "psVar25") (== "==") (identifier "psVar22")) () ")")) (compound_statement "{\n        psVar9 = (stat64 *)0x0;\n        psVar25 = local_918;\n        do {\n          lVar34 = sg_get_llnum(psVar25,pcVar15,psVar8,psVar17);\n          psVar8 = (stat64 *)lVar34;\n          if ((int)((ulonglong)lVar34 >> 0x20) == -1) {\n            if (psVar8 == (stat64 *)0xffffffff) {\n              psVar22 = (stat64 *)((int)psVar25 - (int)local_918);\n              goto LAB_000127bf;\n            }\n          }\n          else if (0xffffffff < lVar34) {\n            psVar17 = (stat64 *)((int)psVar25 + (1 - (int)local_918));\n            pcVar15 = "build_num_arr";\n            pr2serr("%s: number exceeds 32 bits at pos %d\n","build_num_arr",psVar17,psVar9);\n            goto LAB_000127d9;\n          }\n          ppsVar44[(int)psVar9] = psVar8;\n          psVar17 = psVar8;\n          pcVar12 = strchr((char *)psVar25,0x2c);\n          pcVar15 = (char *)0x20;\n          pcVar13 = strchr((char *)psVar25,0x20);\n          if (pcVar12 == (char *)0x0) {\n            if (pcVar13 == (char *)0x0) {\n              puVar20 = (undefined *)((int)&psVar9->st_dev + 1);\n              psVar22 = (stat64 *)0x0;\n              psVar17 = extraout_ECX_00;\n              if ((undefined *)0x1 < local_91c) {\n                if ((stat64 *)puVar20 == local_91c) goto LAB_00012820;\n                goto LAB_00012a73;\n              }\n              if (local_91c == (stat64 *)0x0) {\n                if (puVar20 != (undefined *)0x1) {\nLAB_00012a73:\n                  pr2serr("need same number of arguments to \'--lba=\' and \'--num=\' options\n");\n                  local_908 = (stat64 *)0x1f;\n                  goto LAB_00012354;\n                }\n                local_91c = (stat64 *)(undefined *)0x1;\n                if (local_778[0] != (stat64 *)0x0) {\n                  pr2serr("won\'t write %u blocks without an explicit --lba= option\n",local_778[0],\n                          extraout_ECX_00,extraout_ECX_00);\n                  local_908 = (stat64 *)0x1;\n                  goto LAB_00012354;\n                }\n              }\n              else {\n                local_91c = (stat64 *)(undefined *)0x1;\n              }\n              goto LAB_00012820;\n            }\n          }\n          else if ((pcVar13 == (char *)0x0) || (pcVar12 <= pcVar13)) {\n            pcVar13 = pcVar12;\n          }\n          psVar9 = (stat64 *)((int)&psVar9->st_dev + 1);\n          psVar25 = (stat64 *)(pcVar13 + 1);\n        } while (psVar9 != (stat64 *)0x80);\n        pcVar15 = "build_num_arr";\n        psVar17 = extraout_ECX_00;\n        psVar9 = extraout_ECX_00;\n        pr2serr("%s: array length exceeded\n","build_num_arr",extraout_ECX_00,extraout_ECX_00);\n      }" ({ "{") (expression_statement "psVar9 = (stat64 *)0x0;" (assignment_expression "psVar9 = (stat64 *)0x0" (identifier "psVar9") (= "=") (cast_expression "(stat64 *)0x0" (( "(") (type_descriptor "stat64 *" (type_identifier "stat64") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "psVar25 = local_918;" (assignment_expression "psVar25 = local_918" (identifier "psVar25") (= "=") (identifier "local_918")) (; ";")) (do_statement "do {\n          lVar34 = sg_get_llnum(psVar25,pcVar15,psVar8,psVar17);\n          psVar8 = (stat64 *)lVar34;\n          if ((int)((ulonglong)lVar34 >> 0x20) == -1) {\n            if (psVar8 == (stat64 *)0xffffffff) {\n              psVar22 = (stat64 *)((int)psVar25 - (int)local_918);\n              goto LAB_000127bf;\n            }\n          }\n          else if (0xffffffff < lVar34) {\n            psVar17 = (stat64 *)((int)psVar25 + (1 - (int)local_918));\n            pcVar15 = "build_num_arr";\n            pr2serr("%s: number exceeds 32 bits at pos %d\n","build_num_arr",psVar17,psVar9);\n            goto LAB_000127d9;\n          }\n          ppsVar44[(int)psVar9] = psVar8;\n          psVar17 = psVar8;\n          pcVar12 = strchr((char *)psVar25,0x2c);\n          pcVar15 = (char *)0x20;\n          pcVar13 = strchr((char *)psVar25,0x20);\n          if (pcVar12 == (char *)0x0) {\n            if (pcVar13 == (char *)0x0) {\n              puVar20 = (undefined *)((int)&psVar9->st_dev + 1);\n              psVar22 = (stat64 *)0x0;\n              psVar17 = extraout_ECX_00;\n              if ((undefined *)0x1 < local_91c) {\n                if ((stat64 *)puVar20 == local_91c) goto LAB_00012820;\n                goto LAB_00012a73;\n              }\n              if (local_91c == (stat64 *)0x0) {\n                if (puVar20 != (undefined *)0x1) {\nLAB_00012a73:\n                  pr2serr("need same number of arguments to \'--lba=\' and \'--num=\' options\n");\n                  local_908 = (stat64 *)0x1f;\n                  goto LAB_00012354;\n                }\n                local_91c = (stat64 *)(undefined *)0x1;\n                if (local_778[0] != (stat64 *)0x0) {\n                  pr2serr("won\'t write %u blocks without an explicit --lba= option\n",local_778[0],\n                          extraout_ECX_00,extraout_ECX_00);\n                  local_908 = (stat64 *)0x1;\n                  goto LAB_00012354;\n                }\n              }\n              else {\n                local_91c = (stat64 *)(undefined *)0x1;\n              }\n              goto LAB_00012820;\n            }\n          }\n          else if ((pcVar13 == (char *)0x0) || (pcVar12 <= pcVar13)) {\n            pcVar13 = pcVar12;\n          }\n          psVar9 = (stat64 *)((int)&psVar9->st_dev + 1);\n          psVar25 = (stat64 *)(pcVar13 + 1);\n        } while (psVar9 != (stat64 *)0x80);" (do "do") (compound_statement "{\n          lVar34 = sg_get_llnum(psVar25,pcVar15,psVar8,psVar17);\n          psVar8 = (stat64 *)lVar34;\n          if ((int)((ulonglong)lVar34 >> 0x20) == -1) {\n            if (psVar8 == (stat64 *)0xffffffff) {\n              psVar22 = (stat64 *)((int)psVar25 - (int)local_918);\n              goto LAB_000127bf;\n            }\n          }\n          else if (0xffffffff < lVar34) {\n            psVar17 = (stat64 *)((int)psVar25 + (1 - (int)local_918));\n            pcVar15 = "build_num_arr";\n            pr2serr("%s: number exceeds 32 bits at pos %d\n","build_num_arr",psVar17,psVar9);\n            goto LAB_000127d9;\n          }\n          ppsVar44[(int)psVar9] = psVar8;\n          psVar17 = psVar8;\n          pcVar12 = strchr((char *)psVar25,0x2c);\n          pcVar15 = (char *)0x20;\n          pcVar13 = strchr((char *)psVar25,0x20);\n          if (pcVar12 == (char *)0x0) {\n            if (pcVar13 == (char *)0x0) {\n              puVar20 = (undefined *)((int)&psVar9->st_dev + 1);\n              psVar22 = (stat64 *)0x0;\n              psVar17 = extraout_ECX_00;\n              if ((undefined *)0x1 < local_91c) {\n                if ((stat64 *)puVar20 == local_91c) goto LAB_00012820;\n                goto LAB_00012a73;\n              }\n              if (local_91c == (stat64 *)0x0) {\n                if (puVar20 != (undefined *)0x1) {\nLAB_00012a73:\n                  pr2serr("need same number of arguments to \'--lba=\' and \'--num=\' options\n");\n                  local_908 = (stat64 *)0x1f;\n                  goto LAB_00012354;\n                }\n                local_91c = (stat64 *)(undefined *)0x1;\n                if (local_778[0] != (stat64 *)0x0) {\n                  pr2serr("won\'t write %u blocks without an explicit --lba= option\n",local_778[0],\n                          extraout_ECX_00,extraout_ECX_00);\n                  local_908 = (stat64 *)0x1;\n                  goto LAB_00012354;\n                }\n              }\n              else {\n                local_91c = (stat64 *)(undefined *)0x1;\n              }\n              goto LAB_00012820;\n            }\n          }\n          else if ((pcVar13 == (char *)0x0) || (pcVar12 <= pcVar13)) {\n            pcVar13 = pcVar12;\n          }\n          psVar9 = (stat64 *)((int)&psVar9->st_dev + 1);\n          psVar25 = (stat64 *)(pcVar13 + 1);\n        }" ({ "{") (expression_statement "lVar34 = sg_get_llnum(psVar25,pcVar15,psVar8,psVar17);" (assignment_expression "lVar34 = sg_get_llnum(psVar25,pcVar15,psVar8,psVar17)" (identifier "lVar34") (= "=") (call_expression "sg_get_llnum(psVar25,pcVar15,psVar8,psVar17)" (identifier "sg_get_llnum") (argument_list "(psVar25,pcVar15,psVar8,psVar17)" (( "(") (identifier "psVar25") (, ",") (identifier "pcVar15") (, ",") (identifier "psVar8") (, ",") (identifier "psVar17") () ")")))) (; ";")) (expression_statement "psVar8 = (stat64 *)lVar34;" (assignment_expression "psVar8 = (stat64 *)lVar34" (identifier "psVar8") (= "=") (cast_expression "(stat64 *)lVar34" (( "(") (type_descriptor "stat64 *" (type_identifier "stat64") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "lVar34"))) (; ";")) (if_statement "if ((int)((ulonglong)lVar34 >> 0x20) == -1) {\n            if (psVar8 == (stat64 *)0xffffffff) {\n              psVar22 = (stat64 *)((int)psVar25 - (int)local_918);\n              goto LAB_000127bf;\n            }\n          }\n          else if (0xffffffff < lVar34) {\n            psVar17 = (stat64 *)((int)psVar25 + (1 - (int)local_918));\n            pcVar15 = "build_num_arr";\n            pr2serr("%s: number exceeds 32 bits at pos %d\n","build_num_arr",psVar17,psVar9);\n            goto LAB_000127d9;\n          }" (if "if") (parenthesized_expression "((int)((ulonglong)lVar34 >> 0x20) == -1)" (( "(") (binary_expression "(int)((ulonglong)lVar34 >> 0x20) == -1" (cast_expression "(int)((ulonglong)lVar34 >> 0x20)" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (parenthesized_expression "((ulonglong)lVar34 >> 0x20)" (( "(") (binary_expression "(ulonglong)lVar34 >> 0x20" (cast_expression "(ulonglong)lVar34" (( "(") (type_descriptor "ulonglong" (type_identifier "ulonglong")) () ")") (identifier "lVar34")) (>> ">>") (number_literal "0x20")) () ")"))) (== "==") (number_literal "-1")) () ")")) (compound_statement "{\n            if (psVar8 == (stat64 *)0xffffffff) {\n              psVar22 = (stat64 *)((int)psVar25 - (int)local_918);\n              goto LAB_000127bf;\n            }\n          }" ({ "{") (if_statement "if (psVar8 == (stat64 *)0xffffffff) {\n              psVar22 = (stat64 *)((int)psVar25 - (int)local_918);\n              goto LAB_000127bf;\n            }" (if "if") (parenthesized_expression "(psVar8 == (stat64 *)0xffffffff)" (( "(") (binary_expression "psVar8 == (stat64 *)0xffffffff" (identifier "psVar8") (== "==") (cast_expression "(stat64 *)0xffffffff" (( "(") (type_descriptor "stat64 *" (type_identifier "stat64") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0xffffffff"))) () ")")) (compound_statement "{\n              psVar22 = (stat64 *)((int)psVar25 - (int)local_918);\n              goto LAB_000127bf;\n            }" ({ "{") (expression_statement "psVar22 = (stat64 *)((int)psVar25 - (int)local_918);" (assignment_expression "psVar22 = (stat64 *)((int)psVar25 - (int)local_918)" (identifier "psVar22") (= "=") (cast_expression "(stat64 *)((int)psVar25 - (int)local_918)" (( "(") (type_descriptor "stat64 *" (type_identifier "stat64") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)psVar25 - (int)local_918)" (( "(") (binary_expression "(int)psVar25 - (int)local_918" (cast_expression "(int)psVar25" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "psVar25")) (- "-") (cast_expression "(int)local_918" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_918"))) () ")")))) (; ";")) (goto_statement "goto LAB_000127bf;" (goto "goto") (statement_identifier "LAB_000127bf") (; ";")) (} "}"))) (} "}")) (else_clause "else if (0xffffffff < lVar34) {\n            psVar17 = (stat64 *)((int)psVar25 + (1 - (int)local_918));\n            pcVar15 = "build_num_arr";\n            pr2serr("%s: number exceeds 32 bits at pos %d\n","build_num_arr",psVar17,psVar9);\n            goto LAB_000127d9;\n          }" (else "else") (if_statement "if (0xffffffff < lVar34) {\n            psVar17 = (stat64 *)((int)psVar25 + (1 - (int)local_918));\n            pcVar15 = "build_num_arr";\n            pr2serr("%s: number exceeds 32 bits at pos %d\n","build_num_arr",psVar17,psVar9);\n            goto LAB_000127d9;\n          }" (if "if") (parenthesized_expression "(0xffffffff < lVar34)" (( "(") (binary_expression "0xffffffff < lVar34" (number_literal "0xffffffff") (< "<") (identifier "lVar34")) () ")")) (compound_statement "{\n            psVar17 = (stat64 *)((int)psVar25 + (1 - (int)local_918));\n            pcVar15 = "build_num_arr";\n            pr2serr("%s: number exceeds 32 bits at pos %d\n","build_num_arr",psVar17,psVar9);\n            goto LAB_000127d9;\n          }" ({ "{") (expression_statement "psVar17 = (stat64 *)((int)psVar25 + (1 - (int)local_918));" (assignment_expression "psVar17 = (stat64 *)((int)psVar25 + (1 - (int)local_918))" (identifier "psVar17") (= "=") (cast_expression "(stat64 *)((int)psVar25 + (1 - (int)local_918))" (( "(") (type_descriptor "stat64 *" (type_identifier "stat64") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)psVar25 + (1 - (int)local_918))" (( "(") (binary_expression "(int)psVar25 + (1 - (int)local_918)" (cast_expression "(int)psVar25" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "psVar25")) (+ "+") (parenthesized_expression "(1 - (int)local_918)" (( "(") (binary_expression "1 - (int)local_918" (number_literal "1") (- "-") (cast_expression "(int)local_918" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_918"))) () ")"))) () ")")))) (; ";")) (expression_statement "pcVar15 = "build_num_arr";" (assignment_expression "pcVar15 = "build_num_arr"" (identifier "pcVar15") (= "=") (string_literal ""build_num_arr"" (" """) (string_content "build_num_arr") (" """))) (; ";")) (expression_statement "pr2serr("%s: number exceeds 32 bits at pos %d\n","build_num_arr",psVar17,psVar9);" (call_expression "pr2serr("%s: number exceeds 32 bits at pos %d\n","build_num_arr",psVar17,psVar9)" (identifier "pr2serr") (argument_list "("%s: number exceeds 32 bits at pos %d\n","build_num_arr",psVar17,psVar9)" (( "(") (string_literal ""%s: number exceeds 32 bits at pos %d\n"" (" """) (string_content "%s: number exceeds 32 bits at pos %d") (escape_sequence "\n") (" """)) (, ",") (string_literal ""build_num_arr"" (" """) (string_content "build_num_arr") (" """)) (, ",") (identifier "psVar17") (, ",") (identifier "psVar9") () ")"))) (; ";")) (goto_statement "goto LAB_000127d9;" (goto "goto") (statement_identifier "LAB_000127d9") (; ";")) (} "}"))))) (expression_statement "ppsVar44[(int)psVar9] = psVar8;" (assignment_expression "ppsVar44[(int)psVar9] = psVar8" (subscript_expression "ppsVar44[(int)psVar9]" (identifier "ppsVar44") ([ "[") (cast_expression "(int)psVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "psVar9")) (] "]")) (= "=") (identifier "psVar8")) (; ";")) (expression_statement "psVar17 = psVar8;" (assignment_expression "psVar17 = psVar8" (identifier "psVar17") (= "=") (identifier "psVar8")) (; ";")) (expression_statement "pcVar12 = strchr((char *)psVar25,0x2c);" (assignment_expression "pcVar12 = strchr((char *)psVar25,0x2c)" (identifier "pcVar12") (= "=") (call_expression "strchr((char *)psVar25,0x2c)" (identifier "strchr") (argument_list "((char *)psVar25,0x2c)" (( "(") (cast_expression "(char *)psVar25" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "psVar25")) (, ",") (number_literal "0x2c") () ")")))) (; ";")) (expression_statement "pcVar15 = (char *)0x20;" (assignment_expression "pcVar15 = (char *)0x20" (identifier "pcVar15") (= "=") (cast_expression "(char *)0x20" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x20"))) (; ";")) (expression_statement "pcVar13 = strchr((char *)psVar25,0x20);" (assignment_expression "pcVar13 = strchr((char *)psVar25,0x20)" (identifier "pcVar13") (= "=") (call_expression "strchr((char *)psVar25,0x20)" (identifier "strchr") (argument_list "((char *)psVar25,0x20)" (( "(") (cast_expression "(char *)psVar25" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "psVar25")) (, ",") (number_literal "0x20") () ")")))) (; ";")) (if_statement "if (pcVar12 == (char *)0x0) {\n            if (pcVar13 == (char *)0x0) {\n              puVar20 = (undefined *)((int)&psVar9->st_dev + 1);\n              psVar22 = (stat64 *)0x0;\n              psVar17 = extraout_ECX_00;\n              if ((undefined *)0x1 < local_91c) {\n                if ((stat64 *)puVar20 == local_91c) goto LAB_00012820;\n                goto LAB_00012a73;\n              }\n              if (local_91c == (stat64 *)0x0) {\n                if (puVar20 != (undefined *)0x1) {\nLAB_00012a73:\n                  pr2serr("need same number of arguments to \'--lba=\' and \'--num=\' options\n");\n                  local_908 = (stat64 *)0x1f;\n                  goto LAB_00012354;\n                }\n                local_91c = (stat64 *)(undefined *)0x1;\n                if (local_778[0] != (stat64 *)0x0) {\n                  pr2serr("won\'t write %u blocks without an explicit --lba= option\n",local_778[0],\n                          extraout_ECX_00,extraout_ECX_00);\n                  local_908 = (stat64 *)0x1;\n                  goto LAB_00012354;\n                }\n              }\n              else {\n                local_91c = (stat64 *)(undefined *)0x1;\n              }\n              goto LAB_00012820;\n            }\n          }\n          else if ((pcVar13 == (char *)0x0) || (pcVar12 <= pcVar13)) {\n            pcVar13 = pcVar12;\n          }" (if "if") (parenthesized_expression "(pcVar12 == (char *)0x0)" (( "(") (binary_expression "pcVar12 == (char *)0x0" (identifier "pcVar12") (== "==") (cast_expression "(char *)0x0" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n            if (pcVar13 == (char *)0x0) {\n              puVar20 = (undefined *)((int)&psVar9->st_dev + 1);\n              psVar22 = (stat64 *)0x0;\n              psVar17 = extraout_ECX_00;\n              if ((undefined *)0x1 < local_91c) {\n                if ((stat64 *)puVar20 == local_91c) goto LAB_00012820;\n                goto LAB_00012a73;\n              }\n              if (local_91c == (stat64 *)0x0) {\n                if (puVar20 != (undefined *)0x1) {\nLAB_00012a73:\n                  pr2serr("need same number of arguments to \'--lba=\' and \'--num=\' options\n");\n                  local_908 = (stat64 *)0x1f;\n                  goto LAB_00012354;\n                }\n                local_91c = (stat64 *)(undefined *)0x1;\n                if (local_778[0] != (stat64 *)0x0) {\n                  pr2serr("won\'t write %u blocks without an explicit --lba= option\n",local_778[0],\n                          extraout_ECX_00,extraout_ECX_00);\n                  local_908 = (stat64 *)0x1;\n                  goto LAB_00012354;\n                }\n              }\n              else {\n                local_91c = (stat64 *)(undefined *)0x1;\n              }\n              goto LAB_00012820;\n            }\n          }" ({ "{") (if_statement "if (pcVar13 == (char *)0x0) {\n              puVar20 = (undefined *)((int)&psVar9->st_dev + 1);\n              psVar22 = (stat64 *)0x0;\n              psVar17 = extraout_ECX_00;\n              if ((undefined *)0x1 < local_91c) {\n                if ((stat64 *)puVar20 == local_91c) goto LAB_00012820;\n                goto LAB_00012a73;\n              }\n              if (local_91c == (stat64 *)0x0) {\n                if (puVar20 != (undefined *)0x1) {\nLAB_00012a73:\n                  pr2serr("need same number of arguments to \'--lba=\' and \'--num=\' options\n");\n                  local_908 = (stat64 *)0x1f;\n                  goto LAB_00012354;\n                }\n                local_91c = (stat64 *)(undefined *)0x1;\n                if (local_778[0] != (stat64 *)0x0) {\n                  pr2serr("won\'t write %u blocks without an explicit --lba= option\n",local_778[0],\n                          extraout_ECX_00,extraout_ECX_00);\n                  local_908 = (stat64 *)0x1;\n                  goto LAB_00012354;\n                }\n              }\n              else {\n                local_91c = (stat64 *)(undefined *)0x1;\n              }\n              goto LAB_00012820;\n            }" (if "if") (parenthesized_expression "(pcVar13 == (char *)0x0)" (( "(") (binary_expression "pcVar13 == (char *)0x0" (identifier "pcVar13") (== "==") (cast_expression "(char *)0x0" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n              puVar20 = (undefined *)((int)&psVar9->st_dev + 1);\n              psVar22 = (stat64 *)0x0;\n              psVar17 = extraout_ECX_00;\n              if ((undefined *)0x1 < local_91c) {\n                if ((stat64 *)puVar20 == local_91c) goto LAB_00012820;\n                goto LAB_00012a73;\n              }\n              if (local_91c == (stat64 *)0x0) {\n                if (puVar20 != (undefined *)0x1) {\nLAB_00012a73:\n                  pr2serr("need same number of arguments to \'--lba=\' and \'--num=\' options\n");\n                  local_908 = (stat64 *)0x1f;\n                  goto LAB_00012354;\n                }\n                local_91c = (stat64 *)(undefined *)0x1;\n                if (local_778[0] != (stat64 *)0x0) {\n                  pr2serr("won\'t write %u blocks without an explicit --lba= option\n",local_778[0],\n                          extraout_ECX_00,extraout_ECX_00);\n                  local_908 = (stat64 *)0x1;\n                  goto LAB_00012354;\n                }\n              }\n              else {\n                local_91c = (stat64 *)(undefined *)0x1;\n              }\n              goto LAB_00012820;\n            }" ({ "{") (expression_statement "puVar20 = (undefined *)((int)&psVar9->st_dev + 1);" (assignment_expression "puVar20 = (undefined *)((int)&psVar9->st_dev + 1)" (identifier "puVar20") (= "=") (cast_expression "(undefined *)((int)&psVar9->st_dev + 1)" (( "(") (type_descriptor "undefined *" (type_identifier "undefined") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)&psVar9->st_dev + 1)" (( "(") (binary_expression "(int)&psVar9->st_dev + 1" (cast_expression "(int)&psVar9->st_dev" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (pointer_expression "&psVar9->st_dev" (& "&") (field_expression "psVar9->st_dev" (identifier "psVar9") (-> "->") (field_identifier "st_dev")))) (+ "+") (number_literal "1")) () ")")))) (; ";")) (expression_statement "psVar22 = (stat64 *)0x0;" (assignment_expression "psVar22 = (stat64 *)0x0" (identifier "psVar22") (= "=") (cast_expression "(stat64 *)0x0" (( "(") (type_descriptor "stat64 *" (type_identifier "stat64") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "psVar17 = extraout_ECX_00;" (assignment_expression "psVar17 = extraout_ECX_00" (identifier "psVar17") (= "=") (identifier "extraout_ECX_00")) (; ";")) (if_statement "if ((undefined *)0x1 < local_91c) {\n                if ((stat64 *)puVar20 == local_91c) goto LAB_00012820;\n                goto LAB_00012a73;\n              }" (if "if") (parenthesized_expression "((undefined *)0x1 < local_91c)" (( "(") (binary_expression "(undefined *)0x1 < local_91c" (cast_expression "(undefined *)0x1" (( "(") (type_descriptor "undefined *" (type_identifier "undefined") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x1")) (< "<") (identifier "local_91c")) () ")")) (compound_statement "{\n                if ((stat64 *)puVar20 == local_91c) goto LAB_00012820;\n                goto LAB_00012a73;\n              }" ({ "{") (if_statement "if ((stat64 *)puVar20 == local_91c) goto LAB_00012820;" (if "if") (parenthesized_expression "((stat64 *)puVar20 == local_91c)" (( "(") (binary_expression "(stat64 *)puVar20 == local_91c" (cast_expression "(stat64 *)puVar20" (( "(") (type_descriptor "stat64 *" (type_identifier "stat64") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "puVar20")) (== "==") (identifier "local_91c")) () ")")) (goto_statement "goto LAB_00012820;" (goto "goto") (statement_identifier "LAB_00012820") (; ";"))) (goto_statement "goto LAB_00012a73;" (goto "goto") (statement_identifier "LAB_00012a73") (; ";")) (} "}"))) (if_statement "if (local_91c == (stat64 *)0x0) {\n                if (puVar20 != (undefined *)0x1) {\nLAB_00012a73:\n                  pr2serr("need same number of arguments to \'--lba=\' and \'--num=\' options\n");\n                  local_908 = (stat64 *)0x1f;\n                  goto LAB_00012354;\n                }\n                local_91c = (stat64 *)(undefined *)0x1;\n                if (local_778[0] != (stat64 *)0x0) {\n                  pr2serr("won\'t write %u blocks without an explicit --lba= option\n",local_778[0],\n                          extraout_ECX_00,extraout_ECX_00);\n                  local_908 = (stat64 *)0x1;\n                  goto LAB_00012354;\n                }\n              }\n              else {\n                local_91c = (stat64 *)(undefined *)0x1;\n              }" (if "if") (parenthesized_expression "(local_91c == (stat64 *)0x0)" (( "(") (binary_expression "local_91c == (stat64 *)0x0" (identifier "local_91c") (== "==") (cast_expression "(stat64 *)0x0" (( "(") (type_descriptor "stat64 *" (type_identifier "stat64") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n                if (puVar20 != (undefined *)0x1) {\nLAB_00012a73:\n                  pr2serr("need same number of arguments to \'--lba=\' and \'--num=\' options\n");\n                  local_908 = (stat64 *)0x1f;\n                  goto LAB_00012354;\n                }\n                local_91c = (stat64 *)(undefined *)0x1;\n                if (local_778[0] != (stat64 *)0x0) {\n                  pr2serr("won\'t write %u blocks without an explicit --lba= option\n",local_778[0],\n                          extraout_ECX_00,extraout_ECX_00);\n                  local_908 = (stat64 *)0x1;\n                  goto LAB_00012354;\n                }\n              }" ({ "{") (if_statement "if (puVar20 != (undefined *)0x1) {\nLAB_00012a73:\n                  pr2serr("need same number of arguments to \'--lba=\' and \'--num=\' options\n");\n                  local_908 = (stat64 *)0x1f;\n                  goto LAB_00012354;\n                }" (if "if") (parenthesized_expression "(puVar20 != (undefined *)0x1)" (( "(") (binary_expression "puVar20 != (undefined *)0x1" (identifier "puVar20") (!= "!=") (cast_expression "(undefined *)0x1" (( "(") (type_descriptor "undefined *" (type_identifier "undefined") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x1"))) () ")")) (compound_statement "{\nLAB_00012a73:\n                  pr2serr("need same number of arguments to \'--lba=\' and \'--num=\' options\n");\n                  local_908 = (stat64 *)0x1f;\n                  goto LAB_00012354;\n                }" ({ "{") (labeled_statement "LAB_00012a73:\n                  pr2serr("need same number of arguments to \'--lba=\' and \'--num=\' options\n");" (statement_identifier "LAB_00012a73") (: ":") (expression_statement "pr2serr("need same number of arguments to \'--lba=\' and \'--num=\' options\n");" (call_expression "pr2serr("need same number of arguments to \'--lba=\' and \'--num=\' options\n")" (identifier "pr2serr") (argument_list "("need same number of arguments to \'--lba=\' and \'--num=\' options\n")" (( "(") (string_literal ""need same number of arguments to \'--lba=\' and \'--num=\' options\n"" (" """) (string_content "need same number of arguments to ") (escape_sequence "\'") (string_content "--lba=") (escape_sequence "\'") (string_content " and ") (escape_sequence "\'") (string_content "--num=") (escape_sequence "\'") (string_content " options") (escape_sequence "\n") (" """)) () ")"))) (; ";"))) (expression_statement "local_908 = (stat64 *)0x1f;" (assignment_expression "local_908 = (stat64 *)0x1f" (identifier "local_908") (= "=") (cast_expression "(stat64 *)0x1f" (( "(") (type_descriptor "stat64 *" (type_identifier "stat64") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x1f"))) (; ";")) (goto_statement "goto LAB_00012354;" (goto "goto") (statement_identifier "LAB_00012354") (; ";")) (} "}"))) (expression_statement "local_91c = (stat64 *)(undefined *)0x1;" (assignment_expression "local_91c = (stat64 *)(undefined *)0x1" (identifier "local_91c") (= "=") (cast_expression "(stat64 *)(undefined *)0x1" (( "(") (type_descriptor "stat64 *" (type_identifier "stat64") (abstract_pointer_declarator "*" (* "*"))) () ")") (cast_expression "(undefined *)0x1" (( "(") (type_descriptor "undefined *" (type_identifier "undefined") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x1")))) (; ";")) (if_statement "if (local_778[0] != (stat64 *)0x0) {\n                  pr2serr("won\'t write %u blocks without an explicit --lba= option\n",local_778[0],\n                          extraout_ECX_00,extraout_ECX_00);\n                  local_908 = (stat64 *)0x1;\n                  goto LAB_00012354;\n                }" (if "if") (parenthesized_expression "(local_778[0] != (stat64 *)0x0)" (( "(") (binary_expression "local_778[0] != (stat64 *)0x0" (subscript_expression "local_778[0]" (identifier "local_778") ([ "[") (number_literal "0") (] "]")) (!= "!=") (cast_expression "(stat64 *)0x0" (( "(") (type_descriptor "stat64 *" (type_identifier "stat64") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n                  pr2serr("won\'t write %u blocks without an explicit --lba= option\n",local_778[0],\n                          extraout_ECX_00,extraout_ECX_00);\n                  local_908 = (stat64 *)0x1;\n                  goto LAB_00012354;\n                }" ({ "{") (expression_statement "pr2serr("won\'t write %u blocks without an explicit --lba= option\n",local_778[0],\n                          extraout_ECX_00,extraout_ECX_00);" (call_expression "pr2serr("won\'t write %u blocks without an explicit --lba= option\n",local_778[0],\n                          extraout_ECX_00,extraout_ECX_00)" (identifier "pr2serr") (argument_list "("won\'t write %u blocks without an explicit --lba= option\n",local_778[0],\n                          extraout_ECX_00,extraout_ECX_00)" (( "(") (string_literal ""won\'t write %u blocks without an explicit --lba= option\n"" (" """) (string_content "won") (escape_sequence "\'") (string_content "t write %u blocks without an explicit --lba= option") (escape_sequence "\n") (" """)) (, ",") (subscript_expression "local_778[0]" (identifier "local_778") ([ "[") (number_literal "0") (] "]")) (, ",") (identifier "extraout_ECX_00") (, ",") (identifier "extraout_ECX_00") () ")"))) (; ";")) (expression_statement "local_908 = (stat64 *)0x1;" (assignment_expression "local_908 = (stat64 *)0x1" (identifier "local_908") (= "=") (cast_expression "(stat64 *)0x1" (( "(") (type_descriptor "stat64 *" (type_identifier "stat64") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x1"))) (; ";")) (goto_statement "goto LAB_00012354;" (goto "goto") (statement_identifier "LAB_00012354") (; ";")) (} "}"))) (} "}")) (else_clause "else {\n                local_91c = (stat64 *)(undefined *)0x1;\n              }" (else "else") (compound_statement "{\n                local_91c = (stat64 *)(undefined *)0x1;\n              }" ({ "{") (expression_statement "local_91c = (stat64 *)(undefined *)0x1;" (assignment_expression "local_91c = (stat64 *)(undefined *)0x1" (identifier "local_91c") (= "=") (cast_expression "(stat64 *)(undefined *)0x1" (( "(") (type_descriptor "stat64 *" (type_identifier "stat64") (abstract_pointer_declarator "*" (* "*"))) () ")") (cast_expression "(undefined *)0x1" (( "(") (type_descriptor "undefined *" (type_identifier "undefined") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x1")))) (; ";")) (} "}")))) (goto_statement "goto LAB_00012820;" (goto "goto") (statement_identifier "LAB_00012820") (; ";")) (} "}"))) (} "}")) (else_clause "else if ((pcVar13 == (char *)0x0) || (pcVar12 <= pcVar13)) {\n            pcVar13 = pcVar12;\n          }" (else "else") (if_statement "if ((pcVar13 == (char *)0x0) || (pcVar12 <= pcVar13)) {\n            pcVar13 = pcVar12;\n          }" (if "if") (parenthesized_expression "((pcVar13 == (char *)0x0) || (pcVar12 <= pcVar13))" (( "(") (binary_expression "(pcVar13 == (char *)0x0) || (pcVar12 <= pcVar13)" (parenthesized_expression "(pcVar13 == (char *)0x0)" (( "(") (binary_expression "pcVar13 == (char *)0x0" (identifier "pcVar13") (== "==") (cast_expression "(char *)0x0" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (|| "||") (parenthesized_expression "(pcVar12 <= pcVar13)" (( "(") (binary_expression "pcVar12 <= pcVar13" (identifier "pcVar12") (<= "<=") (identifier "pcVar13")) () ")"))) () ")")) (compound_statement "{\n            pcVar13 = pcVar12;\n          }" ({ "{") (expression_statement "pcVar13 = pcVar12;" (assignment_expression "pcVar13 = pcVar12" (identifier "pcVar13") (= "=") (identifier "pcVar12")) (; ";")) (} "}"))))) (expression_statement "psVar9 = (stat64 *)((int)&psVar9->st_dev + 1);" (assignment_expression "psVar9 = (stat64 *)((int)&psVar9->st_dev + 1)" (identifier "psVar9") (= "=") (cast_expression "(stat64 *)((int)&psVar9->st_dev + 1)" (( "(") (type_descriptor "stat64 *" (type_identifier "stat64") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)&psVar9->st_dev + 1)" (( "(") (binary_expression "(int)&psVar9->st_dev + 1" (cast_expression "(int)&psVar9->st_dev" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (pointer_expression "&psVar9->st_dev" (& "&") (field_expression "psVar9->st_dev" (identifier "psVar9") (-> "->") (field_identifier "st_dev")))) (+ "+") (number_literal "1")) () ")")))) (; ";")) (expression_statement "psVar25 = (stat64 *)(pcVar13 + 1);" (assignment_expression "psVar25 = (stat64 *)(pcVar13 + 1)" (identifier "psVar25") (= "=") (cast_expression "(stat64 *)(pcVar13 + 1)" (( "(") (type_descriptor "stat64 *" (type_identifier "stat64") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar13 + 1)" (( "(") (binary_expression "pcVar13 + 1" (identifier "pcVar13") (+ "+") (number_literal "1")) () ")")))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(psVar9 != (stat64 *)0x80)" (( "(") (binary_expression "psVar9 != (stat64 *)0x80" (identifier "psVar9") (!= "!=") (cast_expression "(stat64 *)0x80" (( "(") (type_descriptor "stat64 *" (type_identifier "stat64") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x80"))) () ")")) (; ";")) (expression_statement "pcVar15 = "build_num_arr";" (assignment_expression "pcVar15 = "build_num_arr"" (identifier "pcVar15") (= "=") (string_literal ""build_num_arr"" (" """) (string_content "build_num_arr") (" """))) (; ";")) (expression_statement "psVar17 = extraout_ECX_00;" (assignment_expression "psVar17 = extraout_ECX_00" (identifier "psVar17") (= "=") (identifier "extraout_ECX_00")) (; ";")) (expression_statement "psVar9 = extraout_ECX_00;" (assignment_expression "psVar9 = extraout_ECX_00" (identifier "psVar9") (= "=") (identifier "extraout_ECX_00")) (; ";")) (expression_statement "pr2serr("%s: array length exceeded\n","build_num_arr",extraout_ECX_00,extraout_ECX_00);" (call_expression "pr2serr("%s: array length exceeded\n","build_num_arr",extraout_ECX_00,extraout_ECX_00)" (identifier "pr2serr") (argument_list "("%s: array length exceeded\n","build_num_arr",extraout_ECX_00,extraout_ECX_00)" (( "(") (string_literal ""%s: array length exceeded\n"" (" """) (string_content "%s: array length exceeded") (escape_sequence "\n") (" """)) (, ",") (string_literal ""build_num_arr"" (" """) (string_content "build_num_arr") (" """)) (, ",") (identifier "extraout_ECX_00") (, ",") (identifier "extraout_ECX_00") () ")"))) (; ";")) (} "}")) (else_clause "else {\nLAB_000127bf:\n        psVar17 = (stat64 *)((int)&psVar22->st_dev + 1);\n        pcVar15 = "build_num_arr";\n        pr2serr("%s: error at pos %d\n","build_num_arr",psVar17,psVar9);\n      }" (else "else") (compound_statement "{\nLAB_000127bf:\n        psVar17 = (stat64 *)((int)&psVar22->st_dev + 1);\n        pcVar15 = "build_num_arr";\n        pr2serr("%s: error at pos %d\n","build_num_arr",psVar17,psVar9);\n      }" ({ "{") (labeled_statement "LAB_000127bf:\n        psVar17 = (stat64 *)((int)&psVar22->st_dev + 1);" (statement_identifier "LAB_000127bf") (: ":") (expression_statement "psVar17 = (stat64 *)((int)&psVar22->st_dev + 1);" (assignment_expression "psVar17 = (stat64 *)((int)&psVar22->st_dev + 1)" (identifier "psVar17") (= "=") (cast_expression "(stat64 *)((int)&psVar22->st_dev + 1)" (( "(") (type_descriptor "stat64 *" (type_identifier "stat64") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)&psVar22->st_dev + 1)" (( "(") (binary_expression "(int)&psVar22->st_dev + 1" (cast_expression "(int)&psVar22->st_dev" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (pointer_expression "&psVar22->st_dev" (& "&") (field_expression "psVar22->st_dev" (identifier "psVar22") (-> "->") (field_identifier "st_dev")))) (+ "+") (number_literal "1")) () ")")))) (; ";"))) (expression_statement "pcVar15 = "build_num_arr";" (assignment_expression "pcVar15 = "build_num_arr"" (identifier "pcVar15") (= "=") (string_literal ""build_num_arr"" (" """) (string_content "build_num_arr") (" """))) (; ";")) (expression_statement "pr2serr("%s: error at pos %d\n","build_num_arr",psVar17,psVar9);" (call_expression "pr2serr("%s: error at pos %d\n","build_num_arr",psVar17,psVar9)" (identifier "pr2serr") (argument_list "("%s: error at pos %d\n","build_num_arr",psVar17,psVar9)" (( "(") (string_literal ""%s: error at pos %d\n"" (" """) (string_content "%s: error at pos %d") (escape_sequence "\n") (" """)) (, ",") (string_literal ""build_num_arr"" (" """) (string_content "build_num_arr") (" """)) (, ",") (identifier "psVar17") (, ",") (identifier "psVar9") () ")"))) (; ";")) (} "}")))) (} "}")))) (labeled_statement "LAB_000127d9:\n    pr2serr("bad argument to \'--num\'\n",pcVar15,psVar17,psVar9);" (statement_identifier "LAB_000127d9") (: ":") (expression_statement "pr2serr("bad argument to \'--num\'\n",pcVar15,psVar17,psVar9);" (call_expression "pr2serr("bad argument to \'--num\'\n",pcVar15,psVar17,psVar9)" (identifier "pr2serr") (argument_list "("bad argument to \'--num\'\n",pcVar15,psVar17,psVar9)" (( "(") (string_literal ""bad argument to \'--num\'\n"" (" """) (string_content "bad argument to ") (escape_sequence "\'") (string_content "--num") (escape_sequence "\'") (escape_sequence "\n") (" """)) (, ",") (identifier "pcVar15") (, ",") (identifier "psVar17") (, ",") (identifier "psVar9") () ")"))) (; ";"))) (expression_statement "local_908 = (stat64 *)0x0;" (assignment_expression "local_908 = (stat64 *)0x0" (identifier "local_908") (= "=") (cast_expression "(stat64 *)0x0" (( "(") (type_descriptor "stat64 *" (type_identifier "stat64") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (goto_statement "goto LAB_00012354;" (goto "goto") (statement_identifier "LAB_00012354") (; ";")) (} "}"))) (expression_statement "psVar17 = (stat64 *)0x0;" (assignment_expression "psVar17 = (stat64 *)0x0" (identifier "psVar17") (= "=") (cast_expression "(stat64 *)0x0" (( "(") (type_descriptor "stat64 *" (type_identifier "stat64") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "local_91c = (stat64 *)(undefined *)0x0;" (assignment_expression "local_91c = (stat64 *)(undefined *)0x0" (identifier "local_91c") (= "=") (cast_expression "(stat64 *)(undefined *)0x0" (( "(") (type_descriptor "stat64 *" (type_identifier "stat64") (abstract_pointer_declarator "*" (* "*"))) () ")") (cast_expression "(undefined *)0x0" (( "(") (type_descriptor "undefined *" (type_identifier "undefined") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0")))) (; ";")) (labeled_statement "LAB_00012820:\n  if (local_798 == (char *)0x0) {\nLAB_00012ce5:\n    local_908 = (stat64 *)0x0;\n    local_880._44_4_ = psVar25;\n  }\n  else {\n    pcVar15 = local_798;\n    iVar14 = __xstat64(3,local_798,psVar18);\n    if (iVar14 < 0) {\n      piVar19 = __errno_location();\n      psVar25 = (stat64 *)*piVar19;\n      uVar16 = safe_strerror(psVar25);\n      pcVar15 = "Unable to stat(%s) as SF: %s\n";\nLAB_000136f9:\n      pr2serr(pcVar15,local_798,uVar16);\n      local_908 = (stat64 *)sg_convert_errno(psVar25);\n      goto LAB_00012354;\n    }\n    if (local_819 == '\0') {\n      iVar14 = 0;\n      if (local_7e0 != 0) {\n        iVar14 = (local_7e0 + 1) * 0x20;\n      }\n      local_908 = (stat64 *)FUN_000156d0(0,&local_8f8,&local_8f4,iVar14);\n      if (local_908 != (stat64 *)0x0) goto LAB_00012354;\n      psVar17 = extraout_ECX_04;\n      if ((local_7e0 != 0) && (local_7e0 != local_8f8)) {\n        if (local_8f8 < local_7e0) {\n          pr2serr("RD (%u) %s number of %ss (%u) found in SF\n",local_7e0,&DAT_000170dd,\n                  "LBA range descriptor",local_8f8);\n          local_908 = (stat64 *)0xf;\n          goto LAB_00012354;\n        }\n        psVar25 = (stat64 *)((uint)psVar38 | local_7f8);\n        if ((psVar25 != (stat64 *)0x0) &&\n           (pr2serr("RD (%u) %s number of %ss (%u) found in SF\n",local_7e0,&DAT_00017110,\n                    "LBA range descriptor",local_8f8), psVar17 = extraout_ECX_01, local_7f8 != 0))\n        goto LAB_00012ef5;\n      }\n      goto LAB_00012ce5;\n    }\n    if ((local_880._16_4_ & 0xf000) != 0x8000) {\n      pr2serr("Expect scatter file to be a regular file\n",pcVar15,psVar18,psVar22);\n      local_908 = (stat64 *)0xf;\n      goto LAB_00012354;\n    }\n    local_908 = (stat64 *)local_880._44_4_;\n    local_920 = (stat64 *)open64(local_798,0,0x8000,0x8000);\n    if ((int)local_920 < 0) {\n      piVar19 = __errno_location();\n      psVar25 = (stat64 *)*piVar19;\n      uVar16 = safe_strerror(psVar25);\n      pcVar15 = "Failed to open %s for raw read: %s\n";\n      goto LAB_000136f9;\n    }\n    iVar14 = sg_set_binary_mode(local_920);\n    psVar17 = extraout_ECX_05;\n    if (iVar14 < 0) {\n      perror("sg_set_binary_mode");\n      local_908 = (stat64 *)0xf;\n      psVar25 = (stat64 *)local_880._44_4_;\n      goto LAB_00012354;\n    }\n  }" (statement_identifier "LAB_00012820") (: ":") (if_statement "if (local_798 == (char *)0x0) {\nLAB_00012ce5:\n    local_908 = (stat64 *)0x0;\n    local_880._44_4_ = psVar25;\n  }\n  else {\n    pcVar15 = local_798;\n    iVar14 = __xstat64(3,local_798,psVar18);\n    if (iVar14 < 0) {\n      piVar19 = __errno_location();\n      psVar25 = (stat64 *)*piVar19;\n      uVar16 = safe_strerror(psVar25);\n      pcVar15 = "Unable to stat(%s) as SF: %s\n";\nLAB_000136f9:\n      pr2serr(pcVar15,local_798,uVar16);\n      local_908 = (stat64 *)sg_convert_errno(psVar25);\n      goto LAB_00012354;\n    }\n    if (local_819 == '\0') {\n      iVar14 = 0;\n      if (local_7e0 != 0) {\n        iVar14 = (local_7e0 + 1) * 0x20;\n      }\n      local_908 = (stat64 *)FUN_000156d0(0,&local_8f8,&local_8f4,iVar14);\n      if (local_908 != (stat64 *)0x0) goto LAB_00012354;\n      psVar17 = extraout_ECX_04;\n      if ((local_7e0 != 0) && (local_7e0 != local_8f8)) {\n        if (local_8f8 < local_7e0) {\n          pr2serr("RD (%u) %s number of %ss (%u) found in SF\n",local_7e0,&DAT_000170dd,\n                  "LBA range descriptor",local_8f8);\n          local_908 = (stat64 *)0xf;\n          goto LAB_00012354;\n        }\n        psVar25 = (stat64 *)((uint)psVar38 | local_7f8);\n        if ((psVar25 != (stat64 *)0x0) &&\n           (pr2serr("RD (%u) %s number of %ss (%u) found in SF\n",local_7e0,&DAT_00017110,\n                    "LBA range descriptor",local_8f8), psVar17 = extraout_ECX_01, local_7f8 != 0))\n        goto LAB_00012ef5;\n      }\n      goto LAB_00012ce5;\n    }\n    if ((local_880._16_4_ & 0xf000) != 0x8000) {\n      pr2serr("Expect scatter file to be a regular file\n",pcVar15,psVar18,psVar22);\n      local_908 = (stat64 *)0xf;\n      goto LAB_00012354;\n    }\n    local_908 = (stat64 *)local_880._44_4_;\n    local_920 = (stat64 *)open64(local_798,0,0x8000,0x8000);\n    if ((int)local_920 < 0) {\n      piVar19 = __errno_location();\n      psVar25 = (stat64 *)*piVar19;\n      uVar16 = safe_strerror(psVar25);\n      pcVar15 = "Failed to open %s for raw read: %s\n";\n      goto LAB_000136f9;\n    }\n    iVar14 = sg_set_binary_mode(local_920);\n    psVar17 = extraout_ECX_05;\n    if (iVar14 < 0) {\n      perror("sg_set_binary_mode");\n      local_908 = (stat64 *)0xf;\n      psVar25 = (stat64 *)local_880._44_4_;\n      goto LAB_00012354;\n    }\n  }" (if "if") (parenthesized_expression "(local_798 == (char *)0x0)" (( "(") (binary_expression "local_798 == (char *)0x0" (identifier "local_798") (== "==") (cast_expression "(char *)0x0" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\nLAB_00012ce5:\n    local_908 = (stat64 *)0x0;\n    local_880._44_4_ = psVar25;\n  }" ({ "{") (labeled_statement "LAB_00012ce5:\n    local_908 = (stat64 *)0x0;" (statement_identifier "LAB_00012ce5") (: ":") (expression_statement "local_908 = (stat64 *)0x0;" (assignment_expression "local_908 = (stat64 *)0x0" (identifier "local_908") (= "=") (cast_expression "(stat64 *)0x0" (( "(") (type_descriptor "stat64 *" (type_identifier "stat64") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";"))) (expression_statement "local_880._44_4_ = psVar25;" (assignment_expression "local_880._44_4_ = psVar25" (field_expression "local_880._44_4_" (identifier "local_880") (. ".") (field_identifier "_44_4_")) (= "=") (identifier "psVar25")) (; ";")) (} "}")) (else_clause "else {\n    pcVar15 = local_798;\n    iVar14 = __xstat64(3,local_798,psVar18);\n    if (iVar14 < 0) {\n      piVar19 = __errno_location();\n      psVar25 = (stat64 *)*piVar19;\n      uVar16 = safe_strerror(psVar25);\n      pcVar15 = "Unable to stat(%s) as SF: %s\n";\nLAB_000136f9:\n      pr2serr(pcVar15,local_798,uVar16);\n      local_908 = (stat64 *)sg_convert_errno(psVar25);\n      goto LAB_00012354;\n    }\n    if (local_819 == '\0') {\n      iVar14 = 0;\n      if (local_7e0 != 0) {\n        iVar14 = (local_7e0 + 1) * 0x20;\n      }\n      local_908 = (stat64 *)FUN_000156d0(0,&local_8f8,&local_8f4,iVar14);\n      if (local_908 != (stat64 *)0x0) goto LAB_00012354;\n      psVar17 = extraout_ECX_04;\n      if ((local_7e0 != 0) && (local_7e0 != local_8f8)) {\n        if (local_8f8 < local_7e0) {\n          pr2serr("RD (%u) %s number of %ss (%u) found in SF\n",local_7e0,&DAT_000170dd,\n                  "LBA range descriptor",local_8f8);\n          local_908 = (stat64 *)0xf;\n          goto LAB_00012354;\n        }\n        psVar25 = (stat64 *)((uint)psVar38 | local_7f8);\n        if ((psVar25 != (stat64 *)0x0) &&\n           (pr2serr("RD (%u) %s number of %ss (%u) found in SF\n",local_7e0,&DAT_00017110,\n                    "LBA range descriptor",local_8f8), psVar17 = extraout_ECX_01, local_7f8 != 0))\n        goto LAB_00012ef5;\n      }\n      goto LAB_00012ce5;\n    }\n    if ((local_880._16_4_ & 0xf000) != 0x8000) {\n      pr2serr("Expect scatter file to be a regular file\n",pcVar15,psVar18,psVar22);\n      local_908 = (stat64 *)0xf;\n      goto LAB_00012354;\n    }\n    local_908 = (stat64 *)local_880._44_4_;\n    local_920 = (stat64 *)open64(local_798,0,0x8000,0x8000);\n    if ((int)local_920 < 0) {\n      piVar19 = __errno_location();\n      psVar25 = (stat64 *)*piVar19;\n      uVar16 = safe_strerror(psVar25);\n      pcVar15 = "Failed to open %s for raw read: %s\n";\n      goto LAB_000136f9;\n    }\n    iVar14 = sg_set_binary_mode(local_920);\n    psVar17 = extraout_ECX_05;\n    if (iVar14 < 0) {\n      perror("sg_set_binary_mode");\n      local_908 = (stat64 *)0xf;\n      psVar25 = (stat64 *)local_880._44_4_;\n      goto LAB_00012354;\n    }\n  }" (else "else") (compound_statement "{\n    pcVar15 = local_798;\n    iVar14 = __xstat64(3,local_798,psVar18);\n    if (iVar14 < 0) {\n      piVar19 = __errno_location();\n      psVar25 = (stat64 *)*piVar19;\n      uVar16 = safe_strerror(psVar25);\n      pcVar15 = "Unable to stat(%s) as SF: %s\n";\nLAB_000136f9:\n      pr2serr(pcVar15,local_798,uVar16);\n      local_908 = (stat64 *)sg_convert_errno(psVar25);\n      goto LAB_00012354;\n    }\n    if (local_819 == '\0') {\n      iVar14 = 0;\n      if (local_7e0 != 0) {\n        iVar14 = (local_7e0 + 1) * 0x20;\n      }\n      local_908 = (stat64 *)FUN_000156d0(0,&local_8f8,&local_8f4,iVar14);\n      if (local_908 != (stat64 *)0x0) goto LAB_00012354;\n      psVar17 = extraout_ECX_04;\n      if ((local_7e0 != 0) && (local_7e0 != local_8f8)) {\n        if (local_8f8 < local_7e0) {\n          pr2serr("RD (%u) %s number of %ss (%u) found in SF\n",local_7e0,&DAT_000170dd,\n                  "LBA range descriptor",local_8f8);\n          local_908 = (stat64 *)0xf;\n          goto LAB_00012354;\n        }\n        psVar25 = (stat64 *)((uint)psVar38 | local_7f8);\n        if ((psVar25 != (stat64 *)0x0) &&\n           (pr2serr("RD (%u) %s number of %ss (%u) found in SF\n",local_7e0,&DAT_00017110,\n                    "LBA range descriptor",local_8f8), psVar17 = extraout_ECX_01, local_7f8 != 0))\n        goto LAB_00012ef5;\n      }\n      goto LAB_00012ce5;\n    }\n    if ((local_880._16_4_ & 0xf000) != 0x8000) {\n      pr2serr("Expect scatter file to be a regular file\n",pcVar15,psVar18,psVar22);\n      local_908 = (stat64 *)0xf;\n      goto LAB_00012354;\n    }\n    local_908 = (stat64 *)local_880._44_4_;\n    local_920 = (stat64 *)open64(local_798,0,0x8000,0x8000);\n    if ((int)local_920 < 0) {\n      piVar19 = __errno_location();\n      psVar25 = (stat64 *)*piVar19;\n      uVar16 = safe_strerror(psVar25);\n      pcVar15 = "Failed to open %s for raw read: %s\n";\n      goto LAB_000136f9;\n    }\n    iVar14 = sg_set_binary_mode(local_920);\n    psVar17 = extraout_ECX_05;\n    if (iVar14 < 0) {\n      perror("sg_set_binary_mode");\n      local_908 = (stat64 *)0xf;\n      psVar25 = (stat64 *)local_880._44_4_;\n      goto LAB_00012354;\n    }\n  }" ({ "{") (expression_statement "pcVar15 = local_798;" (assignment_expression "pcVar15 = local_798" (identifier "pcVar15") (= "=") (identifier "local_798")) (; ";")) (expression_statement "iVar14 = __xstat64(3,local_798,psVar18);" (assignment_expression "iVar14 = __xstat64(3,local_798,psVar18)" (identifier "iVar14") (= "=") (call_expression "__xstat64(3,local_798,psVar18)" (identifier "__xstat64") (argument_list "(3,local_798,psVar18)" (( "(") (number_literal "3") (, ",") (identifier "local_798") (, ",") (identifier "psVar18") () ")")))) (; ";")) (if_statement "if (iVar14 < 0) {\n      piVar19 = __errno_location();\n      psVar25 = (stat64 *)*piVar19;\n      uVar16 = safe_strerror(psVar25);\n      pcVar15 = "Unable to stat(%s) as SF: %s\n";\nLAB_000136f9:\n      pr2serr(pcVar15,local_798,uVar16);\n      local_908 = (stat64 *)sg_convert_errno(psVar25);\n      goto LAB_00012354;\n    }" (if "if") (parenthesized_expression "(iVar14 < 0)" (( "(") (binary_expression "iVar14 < 0" (identifier "iVar14") (< "<") (number_literal "0")) () ")")) (compound_statement "{\n      piVar19 = __errno_location();\n      psVar25 = (stat64 *)*piVar19;\n      uVar16 = safe_strerror(psVar25);\n      pcVar15 = "Unable to stat(%s) as SF: %s\n";\nLAB_000136f9:\n      pr2serr(pcVar15,local_798,uVar16);\n      local_908 = (stat64 *)sg_convert_errno(psVar25);\n      goto LAB_00012354;\n    }" ({ "{") (expression_statement "piVar19 = __errno_location();" (assignment_expression "piVar19 = __errno_location()" (identifier "piVar19") (= "=") (call_expression "__errno_location()" (identifier "__errno_location") (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "psVar25 = (stat64 *)*piVar19;" (assignment_expression "psVar25 = (stat64 *)*piVar19" (identifier "psVar25") (= "=") (cast_expression "(stat64 *)*piVar19" (( "(") (type_descriptor "stat64 *" (type_identifier "stat64") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "*piVar19" (* "*") (identifier "piVar19")))) (; ";")) (expression_statement "uVar16 = safe_strerror(psVar25);" (assignment_expression "uVar16 = safe_strerror(psVar25)" (identifier "uVar16") (= "=") (call_expression "safe_strerror(psVar25)" (identifier "safe_strerror") (argument_list "(psVar25)" (( "(") (identifier "psVar25") () ")")))) (; ";")) (expression_statement "pcVar15 = "Unable to stat(%s) as SF: %s\n";" (assignment_expression "pcVar15 = "Unable to stat(%s) as SF: %s\n"" (identifier "pcVar15") (= "=") (string_literal ""Unable to stat(%s) as SF: %s\n"" (" """) (string_content "Unable to stat(%s) as SF: %s") (escape_sequence "\n") (" """))) (; ";")) (labeled_statement "LAB_000136f9:\n      pr2serr(pcVar15,local_798,uVar16);" (statement_identifier "LAB_000136f9") (: ":") (expression_statement "pr2serr(pcVar15,local_798,uVar16);" (call_expression "pr2serr(pcVar15,local_798,uVar16)" (identifier "pr2serr") (argument_list "(pcVar15,local_798,uVar16)" (( "(") (identifier "pcVar15") (, ",") (identifier "local_798") (, ",") (identifier "uVar16") () ")"))) (; ";"))) (expression_statement "local_908 = (stat64 *)sg_convert_errno(psVar25);" (assignment_expression "local_908 = (stat64 *)sg_convert_errno(psVar25)" (identifier "local_908") (= "=") (cast_expression "(stat64 *)sg_convert_errno(psVar25)" (( "(") (type_descriptor "stat64 *" (type_identifier "stat64") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "sg_convert_errno(psVar25)" (identifier "sg_convert_errno") (argument_list "(psVar25)" (( "(") (identifier "psVar25") () ")"))))) (; ";")) (goto_statement "goto LAB_00012354;" (goto "goto") (statement_identifier "LAB_00012354") (; ";")) (} "}"))) (if_statement "if (local_819 == '\0') {\n      iVar14 = 0;\n      if (local_7e0 != 0) {\n        iVar14 = (local_7e0 + 1) * 0x20;\n      }\n      local_908 = (stat64 *)FUN_000156d0(0,&local_8f8,&local_8f4,iVar14);\n      if (local_908 != (stat64 *)0x0) goto LAB_00012354;\n      psVar17 = extraout_ECX_04;\n      if ((local_7e0 != 0) && (local_7e0 != local_8f8)) {\n        if (local_8f8 < local_7e0) {\n          pr2serr("RD (%u) %s number of %ss (%u) found in SF\n",local_7e0,&DAT_000170dd,\n                  "LBA range descriptor",local_8f8);\n          local_908 = (stat64 *)0xf;\n          goto LAB_00012354;\n        }\n        psVar25 = (stat64 *)((uint)psVar38 | local_7f8);\n        if ((psVar25 != (stat64 *)0x0) &&\n           (pr2serr("RD (%u) %s number of %ss (%u) found in SF\n",local_7e0,&DAT_00017110,\n                    "LBA range descriptor",local_8f8), psVar17 = extraout_ECX_01, local_7f8 != 0))\n        goto LAB_00012ef5;\n      }\n      goto LAB_00012ce5;\n    }" (if "if") (parenthesized_expression "(local_819 == '\0')" (( "(") (binary_expression "local_819 == '\0'" (identifier "local_819") (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n      iVar14 = 0;\n      if (local_7e0 != 0) {\n        iVar14 = (local_7e0 + 1) * 0x20;\n      }\n      local_908 = (stat64 *)FUN_000156d0(0,&local_8f8,&local_8f4,iVar14);\n      if (local_908 != (stat64 *)0x0) goto LAB_00012354;\n      psVar17 = extraout_ECX_04;\n      if ((local_7e0 != 0) && (local_7e0 != local_8f8)) {\n        if (local_8f8 < local_7e0) {\n          pr2serr("RD (%u) %s number of %ss (%u) found in SF\n",local_7e0,&DAT_000170dd,\n                  "LBA range descriptor",local_8f8);\n          local_908 = (stat64 *)0xf;\n          goto LAB_00012354;\n        }\n        psVar25 = (stat64 *)((uint)psVar38 | local_7f8);\n        if ((psVar25 != (stat64 *)0x0) &&\n           (pr2serr("RD (%u) %s number of %ss (%u) found in SF\n",local_7e0,&DAT_00017110,\n                    "LBA range descriptor",local_8f8), psVar17 = extraout_ECX_01, local_7f8 != 0))\n        goto LAB_00012ef5;\n      }\n      goto LAB_00012ce5;\n    }" ({ "{") (expression_statement "iVar14 = 0;" (assignment_expression "iVar14 = 0" (identifier "iVar14") (= "=") (number_literal "0")) (; ";")) (if_statement "if (local_7e0 != 0) {\n        iVar14 = (local_7e0 + 1) * 0x20;\n      }" (if "if") (parenthesized_expression "(local_7e0 != 0)" (( "(") (binary_expression "local_7e0 != 0" (identifier "local_7e0") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n        iVar14 = (local_7e0 + 1) * 0x20;\n      }" ({ "{") (expression_statement "iVar14 = (local_7e0 + 1) * 0x20;" (assignment_expression "iVar14 = (local_7e0 + 1) * 0x20" (identifier "iVar14") (= "=") (binary_expression "(local_7e0 + 1) * 0x20" (parenthesized_expression "(local_7e0 + 1)" (( "(") (binary_expression "local_7e0 + 1" (identifier "local_7e0") (+ "+") (number_literal "1")) () ")")) (* "*") (number_literal "0x20"))) (; ";")) (} "}"))) (expression_statement "local_908 = (stat64 *)FUN_000156d0(0,&local_8f8,&local_8f4,iVar14);" (assignment_expression "local_908 = (stat64 *)FUN_000156d0(0,&local_8f8,&local_8f4,iVar14)" (identifier "local_908") (= "=") (cast_expression "(stat64 *)FUN_000156d0(0,&local_8f8,&local_8f4,iVar14)" (( "(") (type_descriptor "stat64 *" (type_identifier "stat64") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "FUN_000156d0(0,&local_8f8,&local_8f4,iVar14)" (identifier "FUN_000156d0") (argument_list "(0,&local_8f8,&local_8f4,iVar14)" (( "(") (number_literal "0") (, ",") (pointer_expression "&local_8f8" (& "&") (identifier "local_8f8")) (, ",") (pointer_expression "&local_8f4" (& "&") (identifier "local_8f4")) (, ",") (identifier "iVar14") () ")"))))) (; ";")) (if_statement "if (local_908 != (stat64 *)0x0) goto LAB_00012354;" (if "if") (parenthesized_expression "(local_908 != (stat64 *)0x0)" (( "(") (binary_expression "local_908 != (stat64 *)0x0" (identifier "local_908") (!= "!=") (cast_expression "(stat64 *)0x0" (( "(") (type_descriptor "stat64 *" (type_identifier "stat64") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (goto_statement "goto LAB_00012354;" (goto "goto") (statement_identifier "LAB_00012354") (; ";"))) (expression_statement "psVar17 = extraout_ECX_04;" (assignment_expression "psVar17 = extraout_ECX_04" (identifier "psVar17") (= "=") (identifier "extraout_ECX_04")) (; ";")) (if_statement "if ((local_7e0 != 0) && (local_7e0 != local_8f8)) {\n        if (local_8f8 < local_7e0) {\n          pr2serr("RD (%u) %s number of %ss (%u) found in SF\n",local_7e0,&DAT_000170dd,\n                  "LBA range descriptor",local_8f8);\n          local_908 = (stat64 *)0xf;\n          goto LAB_00012354;\n        }\n        psVar25 = (stat64 *)((uint)psVar38 | local_7f8);\n        if ((psVar25 != (stat64 *)0x0) &&\n           (pr2serr("RD (%u) %s number of %ss (%u) found in SF\n",local_7e0,&DAT_00017110,\n                    "LBA range descriptor",local_8f8), psVar17 = extraout_ECX_01, local_7f8 != 0))\n        goto LAB_00012ef5;\n      }" (if "if") (parenthesized_expression "((local_7e0 != 0) && (local_7e0 != local_8f8))" (( "(") (binary_expression "(local_7e0 != 0) && (local_7e0 != local_8f8)" (parenthesized_expression "(local_7e0 != 0)" (( "(") (binary_expression "local_7e0 != 0" (identifier "local_7e0") (!= "!=") (number_literal "0")) () ")")) (&& "&&") (parenthesized_expression "(local_7e0 != local_8f8)" (( "(") (binary_expression "local_7e0 != local_8f8" (identifier "local_7e0") (!= "!=") (identifier "local_8f8")) () ")"))) () ")")) (compound_statement "{\n        if (local_8f8 < local_7e0) {\n          pr2serr("RD (%u) %s number of %ss (%u) found in SF\n",local_7e0,&DAT_000170dd,\n                  "LBA range descriptor",local_8f8);\n          local_908 = (stat64 *)0xf;\n          goto LAB_00012354;\n        }\n        psVar25 = (stat64 *)((uint)psVar38 | local_7f8);\n        if ((psVar25 != (stat64 *)0x0) &&\n           (pr2serr("RD (%u) %s number of %ss (%u) found in SF\n",local_7e0,&DAT_00017110,\n                    "LBA range descriptor",local_8f8), psVar17 = extraout_ECX_01, local_7f8 != 0))\n        goto LAB_00012ef5;\n      }" ({ "{") (if_statement "if (local_8f8 < local_7e0) {\n          pr2serr("RD (%u) %s number of %ss (%u) found in SF\n",local_7e0,&DAT_000170dd,\n                  "LBA range descriptor",local_8f8);\n          local_908 = (stat64 *)0xf;\n          goto LAB_00012354;\n        }" (if "if") (parenthesized_expression "(local_8f8 < local_7e0)" (( "(") (binary_expression "local_8f8 < local_7e0" (identifier "local_8f8") (< "<") (identifier "local_7e0")) () ")")) (compound_statement "{\n          pr2serr("RD (%u) %s number of %ss (%u) found in SF\n",local_7e0,&DAT_000170dd,\n                  "LBA range descriptor",local_8f8);\n          local_908 = (stat64 *)0xf;\n          goto LAB_00012354;\n        }" ({ "{") (expression_statement "pr2serr("RD (%u) %s number of %ss (%u) found in SF\n",local_7e0,&DAT_000170dd,\n                  "LBA range descriptor",local_8f8);" (call_expression "pr2serr("RD (%u) %s number of %ss (%u) found in SF\n",local_7e0,&DAT_000170dd,\n                  "LBA range descriptor",local_8f8)" (identifier "pr2serr") (argument_list "("RD (%u) %s number of %ss (%u) found in SF\n",local_7e0,&DAT_000170dd,\n                  "LBA range descriptor",local_8f8)" (( "(") (string_literal ""RD (%u) %s number of %ss (%u) found in SF\n"" (" """) (string_content "RD (%u) %s number of %ss (%u) found in SF") (escape_sequence "\n") (" """)) (, ",") (identifier "local_7e0") (, ",") (pointer_expression "&DAT_000170dd" (& "&") (identifier "DAT_000170dd")) (, ",") (string_literal ""LBA range descriptor"" (" """) (string_content "LBA range descriptor") (" """)) (, ",") (identifier "local_8f8") () ")"))) (; ";")) (expression_statement "local_908 = (stat64 *)0xf;" (assignment_expression "local_908 = (stat64 *)0xf" (identifier "local_908") (= "=") (cast_expression "(stat64 *)0xf" (( "(") (type_descriptor "stat64 *" (type_identifier "stat64") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0xf"))) (; ";")) (goto_statement "goto LAB_00012354;" (goto "goto") (statement_identifier "LAB_00012354") (; ";")) (} "}"))) (expression_statement "psVar25 = (stat64 *)((uint)psVar38 | local_7f8);" (assignment_expression "psVar25 = (stat64 *)((uint)psVar38 | local_7f8)" (identifier "psVar25") (= "=") (cast_expression "(stat64 *)((uint)psVar38 | local_7f8)" (( "(") (type_descriptor "stat64 *" (type_identifier "stat64") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((uint)psVar38 | local_7f8)" (( "(") (binary_expression "(uint)psVar38 | local_7f8" (cast_expression "(uint)psVar38" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "psVar38")) (| "|") (identifier "local_7f8")) () ")")))) (; ";")) (if_statement "if ((psVar25 != (stat64 *)0x0) &&\n           (pr2serr("RD (%u) %s number of %ss (%u) found in SF\n",local_7e0,&DAT_00017110,\n                    "LBA range descriptor",local_8f8), psVar17 = extraout_ECX_01, local_7f8 != 0))\n        goto LAB_00012ef5;" (if "if") (parenthesized_expression "((psVar25 != (stat64 *)0x0) &&\n           (pr2serr("RD (%u) %s number of %ss (%u) found in SF\n",local_7e0,&DAT_00017110,\n                    "LBA range descriptor",local_8f8), psVar17 = extraout_ECX_01, local_7f8 != 0))" (( "(") (binary_expression "(psVar25 != (stat64 *)0x0) &&\n           (pr2serr("RD (%u) %s number of %ss (%u) found in SF\n",local_7e0,&DAT_00017110,\n                    "LBA range descriptor",local_8f8), psVar17 = extraout_ECX_01, local_7f8 != 0)" (parenthesized_expression "(psVar25 != (stat64 *)0x0)" (( "(") (binary_expression "psVar25 != (stat64 *)0x0" (identifier "psVar25") (!= "!=") (cast_expression "(stat64 *)0x0" (( "(") (type_descriptor "stat64 *" (type_identifier "stat64") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (&& "&&") (parenthesized_expression "(pr2serr("RD (%u) %s number of %ss (%u) found in SF\n",local_7e0,&DAT_00017110,\n                    "LBA range descriptor",local_8f8), psVar17 = extraout_ECX_01, local_7f8 != 0)" (( "(") (comma_expression "pr2serr("RD (%u) %s number of %ss (%u) found in SF\n",local_7e0,&DAT_00017110,\n                    "LBA range descriptor",local_8f8), psVar17 = extraout_ECX_01, local_7f8 != 0" (call_expression "pr2serr("RD (%u) %s number of %ss (%u) found in SF\n",local_7e0,&DAT_00017110,\n                    "LBA range descriptor",local_8f8)" (identifier "pr2serr") (argument_list "("RD (%u) %s number of %ss (%u) found in SF\n",local_7e0,&DAT_00017110,\n                    "LBA range descriptor",local_8f8)" (( "(") (string_literal ""RD (%u) %s number of %ss (%u) found in SF\n"" (" """) (string_content "RD (%u) %s number of %ss (%u) found in SF") (escape_sequence "\n") (" """)) (, ",") (identifier "local_7e0") (, ",") (pointer_expression "&DAT_00017110" (& "&") (identifier "DAT_00017110")) (, ",") (string_literal ""LBA range descriptor"" (" """) (string_content "LBA range descriptor") (" """)) (, ",") (identifier "local_8f8") () ")"))) (, ",") (comma_expression "psVar17 = extraout_ECX_01, local_7f8 != 0" (assignment_expression "psVar17 = extraout_ECX_01" (identifier "psVar17") (= "=") (identifier "extraout_ECX_01")) (, ",") (binary_expression "local_7f8 != 0" (identifier "local_7f8") (!= "!=") (number_literal "0")))) () ")"))) () ")")) (goto_statement "goto LAB_00012ef5;" (goto "goto") (statement_identifier "LAB_00012ef5") (; ";"))) (} "}"))) (goto_statement "goto LAB_00012ce5;" (goto "goto") (statement_identifier "LAB_00012ce5") (; ";")) (} "}"))) (if_statement "if ((local_880._16_4_ & 0xf000) != 0x8000) {\n      pr2serr("Expect scatter file to be a regular file\n",pcVar15,psVar18,psVar22);\n      local_908 = (stat64 *)0xf;\n      goto LAB_00012354;\n    }" (if "if") (parenthesized_expression "((local_880._16_4_ & 0xf000) != 0x8000)" (( "(") (binary_expression "(local_880._16_4_ & 0xf000) != 0x8000" (parenthesized_expression "(local_880._16_4_ & 0xf000)" (( "(") (binary_expression "local_880._16_4_ & 0xf000" (field_expression "local_880._16_4_" (identifier "local_880") (. ".") (field_identifier "_16_4_")) (& "&") (number_literal "0xf000")) () ")")) (!= "!=") (number_literal "0x8000")) () ")")) (compound_statement "{\n      pr2serr("Expect scatter file to be a regular file\n",pcVar15,psVar18,psVar22);\n      local_908 = (stat64 *)0xf;\n      goto LAB_00012354;\n    }" ({ "{") (expression_statement "pr2serr("Expect scatter file to be a regular file\n",pcVar15,psVar18,psVar22);" (call_expression "pr2serr("Expect scatter file to be a regular file\n",pcVar15,psVar18,psVar22)" (identifier "pr2serr") (argument_list "("Expect scatter file to be a regular file\n",pcVar15,psVar18,psVar22)" (( "(") (string_literal ""Expect scatter file to be a regular file\n"" (" """) (string_content "Expect scatter file to be a regular file") (escape_sequence "\n") (" """)) (, ",") (identifier "pcVar15") (, ",") (identifier "psVar18") (, ",") (identifier "psVar22") () ")"))) (; ";")) (expression_statement "local_908 = (stat64 *)0xf;" (assignment_expression "local_908 = (stat64 *)0xf" (identifier "local_908") (= "=") (cast_expression "(stat64 *)0xf" (( "(") (type_descriptor "stat64 *" (type_identifier "stat64") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0xf"))) (; ";")) (goto_statement "goto LAB_00012354;" (goto "goto") (statement_identifier "LAB_00012354") (; ";")) (} "}"))) (expression_statement "local_908 = (stat64 *)local_880._44_4_;" (assignment_expression "local_908 = (stat64 *)local_880._44_4_" (identifier "local_908") (= "=") (cast_expression "(stat64 *)local_880._44_4_" (( "(") (type_descriptor "stat64 *" (type_identifier "stat64") (abstract_pointer_declarator "*" (* "*"))) () ")") (field_expression "local_880._44_4_" (identifier "local_880") (. ".") (field_identifier "_44_4_")))) (; ";")) (expression_statement "local_920 = (stat64 *)open64(local_798,0,0x8000,0x8000);" (assignment_expression "local_920 = (stat64 *)open64(local_798,0,0x8000,0x8000)" (identifier "local_920") (= "=") (cast_expression "(stat64 *)open64(local_798,0,0x8000,0x8000)" (( "(") (type_descriptor "stat64 *" (type_identifier "stat64") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "open64(local_798,0,0x8000,0x8000)" (identifier "open64") (argument_list "(local_798,0,0x8000,0x8000)" (( "(") (identifier "local_798") (, ",") (number_literal "0") (, ",") (number_literal "0x8000") (, ",") (number_literal "0x8000") () ")"))))) (; ";")) (if_statement "if ((int)local_920 < 0) {\n      piVar19 = __errno_location();\n      psVar25 = (stat64 *)*piVar19;\n      uVar16 = safe_strerror(psVar25);\n      pcVar15 = "Failed to open %s for raw read: %s\n";\n      goto LAB_000136f9;\n    }" (if "if") (parenthesized_expression "((int)local_920 < 0)" (( "(") (binary_expression "(int)local_920 < 0" (cast_expression "(int)local_920" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_920")) (< "<") (number_literal "0")) () ")")) (compound_statement "{\n      piVar19 = __errno_location();\n      psVar25 = (stat64 *)*piVar19;\n      uVar16 = safe_strerror(psVar25);\n      pcVar15 = "Failed to open %s for raw read: %s\n";\n      goto LAB_000136f9;\n    }" ({ "{") (expression_statement "piVar19 = __errno_location();" (assignment_expression "piVar19 = __errno_location()" (identifier "piVar19") (= "=") (call_expression "__errno_location()" (identifier "__errno_location") (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "psVar25 = (stat64 *)*piVar19;" (assignment_expression "psVar25 = (stat64 *)*piVar19" (identifier "psVar25") (= "=") (cast_expression "(stat64 *)*piVar19" (( "(") (type_descriptor "stat64 *" (type_identifier "stat64") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "*piVar19" (* "*") (identifier "piVar19")))) (; ";")) (expression_statement "uVar16 = safe_strerror(psVar25);" (assignment_expression "uVar16 = safe_strerror(psVar25)" (identifier "uVar16") (= "=") (call_expression "safe_strerror(psVar25)" (identifier "safe_strerror") (argument_list "(psVar25)" (( "(") (identifier "psVar25") () ")")))) (; ";")) (expression_statement "pcVar15 = "Failed to open %s for raw read: %s\n";" (assignment_expression "pcVar15 = "Failed to open %s for raw read: %s\n"" (identifier "pcVar15") (= "=") (string_literal ""Failed to open %s for raw read: %s\n"" (" """) (string_content "Failed to open %s for raw read: %s") (escape_sequence "\n") (" """))) (; ";")) (goto_statement "goto LAB_000136f9;" (goto "goto") (statement_identifier "LAB_000136f9") (; ";")) (} "}"))) (expression_statement "iVar14 = sg_set_binary_mode(local_920);" (assignment_expression "iVar14 = sg_set_binary_mode(local_920)" (identifier "iVar14") (= "=") (call_expression "sg_set_binary_mode(local_920)" (identifier "sg_set_binary_mode") (argument_list "(local_920)" (( "(") (identifier "local_920") () ")")))) (; ";")) (expression_statement "psVar17 = extraout_ECX_05;" (assignment_expression "psVar17 = extraout_ECX_05" (identifier "psVar17") (= "=") (identifier "extraout_ECX_05")) (; ";")) (if_statement "if (iVar14 < 0) {\n      perror("sg_set_binary_mode");\n      local_908 = (stat64 *)0xf;\n      psVar25 = (stat64 *)local_880._44_4_;\n      goto LAB_00012354;\n    }" (if "if") (parenthesized_expression "(iVar14 < 0)" (( "(") (binary_expression "iVar14 < 0" (identifier "iVar14") (< "<") (number_literal "0")) () ")")) (compound_statement "{\n      perror("sg_set_binary_mode");\n      local_908 = (stat64 *)0xf;\n      psVar25 = (stat64 *)local_880._44_4_;\n      goto LAB_00012354;\n    }" ({ "{") (expression_statement "perror("sg_set_binary_mode");" (call_expression "perror("sg_set_binary_mode")" (identifier "perror") (argument_list "("sg_set_binary_mode")" (( "(") (string_literal ""sg_set_binary_mode"" (" """) (string_content "sg_set_binary_mode") (" """)) () ")"))) (; ";")) (expression_statement "local_908 = (stat64 *)0xf;" (assignment_expression "local_908 = (stat64 *)0xf" (identifier "local_908") (= "=") (cast_expression "(stat64 *)0xf" (( "(") (type_descriptor "stat64 *" (type_identifier "stat64") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0xf"))) (; ";")) (expression_statement "psVar25 = (stat64 *)local_880._44_4_;" (assignment_expression "psVar25 = (stat64 *)local_880._44_4_" (identifier "psVar25") (= "=") (cast_expression "(stat64 *)local_880._44_4_" (( "(") (type_descriptor "stat64 *" (type_identifier "stat64") (abstract_pointer_declarator "*" (* "*"))) () ")") (field_expression "local_880._44_4_" (identifier "local_880") (. ".") (field_identifier "_44_4_")))) (; ";")) (goto_statement "goto LAB_00012354;" (goto "goto") (statement_identifier "LAB_00012354") (; ";")) (} "}"))) (} "}"))))) (expression_statement "psVar18 = local_7f0;" (assignment_expression "psVar18 = local_7f0" (identifier "psVar18") (= "=") (identifier "local_7f0")) (; ";")) (expression_statement "psVar25 = local_8f4;" (assignment_expression "psVar25 = local_8f4" (identifier "psVar25") (= "=") (identifier "local_8f4")) (; ";")) (if_statement "if (local_817 == 0) {\n    if (local_91c == (stat64 *)0x0) {\n      psVar25 = (stat64 *)local_880._44_4_;\n      if (local_798 == (char *)0x0) {\n        if (local_819 == '\0') {\n          pr2serr("No LBA or number_of_blocks given, try using --lba= and --num=\n");\n          local_908 = (stat64 *)0x1;\n          goto LAB_00012354;\n        }\n      }\n      else if (local_819 == '\0') {\n        local_8f4 = (stat64 *)0x0;\n        uVar33 = FUN_000156d0(local_174 + 0x50,&local_8f8,&local_8f4,0x60);\n        uVar16 = (undefined4)((ulonglong)uVar33 >> 0x20);\n        local_908 = (stat64 *)uVar33;\n        if (local_908 != (stat64 *)0x0) goto LAB_00012354;\n        if (psVar38 != (stat64 *)0x0) {\n          uVar7 = (uint)local_8f8;\n          if (1 < local_8f8) {\n            uVar7 = pr2serr("warning: %d LBA,number_of_blocks pairs found, only taking first\n",\n                            uVar7,uVar16,uVar16);\n          }\n          if (2 < (int)psVar38) {\n            pr2serr("after build_t10_scat, num_lbard=%u, sum_num=%u\n",local_8f8,local_8f4,uVar7);\n          }\n        }\n        if (local_8f8 != 1) {\n          pr2serr("Unable to decode one LBA range descriptor from %s\n",local_798,0,0);\n          local_908 = (stat64 *)0xf;\n          goto LAB_00012354;\n        }\n        local_7b8 = local_104 >> 0x18 | (local_104 & 0xff0000) >> 8 | (local_104 & 0xff00) << 8 |\n                    local_104 << 0x18;\n        local_7bc = local_100 >> 0x18 | (local_100 & 0xff0000) >> 8 | (local_100 & 0xff00) << 8 |\n                    local_100 << 0x18;\n        local_7cc = (stat64 *)\n                    (local_fc >> 0x18 | (local_fc & 0xff0000) >> 8 | (local_fc & 0xff00) << 8 |\n                    local_fc << 0x18);\n        if (local_81f != '\0') {\n          local_7c0 = local_f8 >> 0x18 | (local_f8 & 0xff0000) >> 8 | (local_f8 & 0xff00) << 8 |\n                      local_f8 << 0x18;\n          local_7e6 = local_f4 << 8 | local_f4 >> 8;\n          local_7dc = local_f2 << 8 | local_f2 >> 8;\n        }\n        goto LAB_00012d48;\n      }\n      if (local_908 < (stat64 *)0x40) {\n        pr2serr("raw scatter file must be at least 64 bytes long (length: %u)\n",local_908,\n                local_880._44_4_,local_880._44_4_);\nLAB_00012ef5:\n        local_908 = (stat64 *)0xf;\n        goto LAB_00012354;\n      }\n      psVar25 = (stat64 *)(local_174 + 0x50);\n      local_908 = (stat64 *)FUN_00014a80(&DAT_00017365);\n      if (local_908 != (stat64 *)0x0) goto LAB_00012354;\n      cVar6 = FUN_000146a0(&local_8f8,&local_8f4,extraout_ECX_03,extraout_ECX_03);\n      if (cVar6 == '\0') goto LAB_00012ef5;\n      if (local_8f8 != 1) {\n        pr2serr("No %ss found in SF (num=%u)\n","LBA range descriptor",local_8f8,extraout_EDX_01);\n        goto LAB_00012ef5;\n      }\n      local_7b8 = local_114 >> 0x18 | (local_114 & 0xff0000) >> 8 | (local_114 & 0xff00) << 8 |\n                  local_114 << 0x18;\n      local_7bc = local_110 >> 0x18 | (local_110 & 0xff0000) >> 8 | (local_110 & 0xff00) << 8 |\n                  local_110 << 0x18;\n      local_7cc = (stat64 *)\n                  (local_10c >> 0x18 | (local_10c & 0xff0000) >> 8 | (local_10c & 0xff00) << 8 |\n                  local_10c << 0x18);\n    }\n    else {\n      local_7bc = local_578;\n      local_7b8 = local_574;\n      local_7cc = local_778[0];\n      if ((psVar38 != (stat64 *)0x0) && (local_91c != (stat64 *)0x1)) {\n        pr2serr("warning: %d LBA,number_of_blocks pairs found, only taking first\n",local_91c,\n                psVar17,psVar17);\n      }\n    }\nLAB_00012d48:\n    if (local_818 == 0) {\n      psVar25 = (stat64 *)((int)local_7cc * (int)local_7d4);\n    }\n    else {\n      psVar25 = (stat64 *)0x0;\n      if (local_810 == 0) {\n        psVar25 = local_7d4;\n      }\n    }\n    local_7a4 = psVar25;\n    if (psVar25 != (stat64 *)0x0) {\n      iVar14 = sg_memalign(psVar25,0,&local_8f0,0);\n      if (iVar14 == 0) {\n        pcVar15 = "unable to allocate %u bytes of memory\n";\n        ppvVar39 = (void **)0x0;\n        uVar16 = 0;\n        psVar38 = psVar25;\nLAB_00013bea:\n        pr2serr(pcVar15,psVar38,ppvVar39,uVar16);\n        local_908 = (stat64 *)sg_convert_errno(0xc);\n        goto LAB_00012354;\n      }\n      local_908 = (stat64 *)FUN_00014a80(&DAT_000173c6);\n      if (local_908 != (stat64 *)0x0) goto LAB_00012354;\n    }\n    local_908 = (stat64 *)FUN_00014b00(&local_820);\n    if (local_908 == (stat64 *)0x0) goto LAB_00012354;\n    if (local_81a != '\0') goto LAB_00012354;\n    puVar43 = local_174;\n    psVar25 = (stat64 *)"OS error";\n    puVar29 = puVar43;\n    for (iVar14 = 9; iVar14 != 0; iVar14 = iVar14 + -1) {\n      *puVar29 = (char)psVar25->st_dev;\n      psVar25 = (stat64 *)((int)psVar25 + (uint)bVar32 * -2 + 1);\n      puVar29 = puVar29 + (uint)bVar32 * -2 + 1;\n    }\n    uVar16 = 0;\n    if (0 < (int)local_908) {\n      sg_get_category_sense_str(local_908,0x50,puVar43,psVar38);\n      uVar16 = extraout_ECX_02;\n    }\n    pr2serr("%s: %s\n",local_790,puVar43,uVar16);\n    goto LAB_00012354;\n  }" (if "if") (parenthesized_expression "(local_817 == 0)" (( "(") (binary_expression "local_817 == 0" (identifier "local_817") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n    if (local_91c == (stat64 *)0x0) {\n      psVar25 = (stat64 *)local_880._44_4_;\n      if (local_798 == (char *)0x0) {\n        if (local_819 == '\0') {\n          pr2serr("No LBA or number_of_blocks given, try using --lba= and --num=\n");\n          local_908 = (stat64 *)0x1;\n          goto LAB_00012354;\n        }\n      }\n      else if (local_819 == '\0') {\n        local_8f4 = (stat64 *)0x0;\n        uVar33 = FUN_000156d0(local_174 + 0x50,&local_8f8,&local_8f4,0x60);\n        uVar16 = (undefined4)((ulonglong)uVar33 >> 0x20);\n        local_908 = (stat64 *)uVar33;\n        if (local_908 != (stat64 *)0x0) goto LAB_00012354;\n        if (psVar38 != (stat64 *)0x0) {\n          uVar7 = (uint)local_8f8;\n          if (1 < local_8f8) {\n            uVar7 = pr2serr("warning: %d LBA,number_of_blocks pairs found, only taking first\n",\n                            uVar7,uVar16,uVar16);\n          }\n          if (2 < (int)psVar38) {\n            pr2serr("after build_t10_scat, num_lbard=%u, sum_num=%u\n",local_8f8,local_8f4,uVar7);\n          }\n        }\n        if (local_8f8 != 1) {\n          pr2serr("Unable to decode one LBA range descriptor from %s\n",local_798,0,0);\n          local_908 = (stat64 *)0xf;\n          goto LAB_00012354;\n        }\n        local_7b8 = local_104 >> 0x18 | (local_104 & 0xff0000) >> 8 | (local_104 & 0xff00) << 8 |\n                    local_104 << 0x18;\n        local_7bc = local_100 >> 0x18 | (local_100 & 0xff0000) >> 8 | (local_100 & 0xff00) << 8 |\n                    local_100 << 0x18;\n        local_7cc = (stat64 *)\n                    (local_fc >> 0x18 | (local_fc & 0xff0000) >> 8 | (local_fc & 0xff00) << 8 |\n                    local_fc << 0x18);\n        if (local_81f != '\0') {\n          local_7c0 = local_f8 >> 0x18 | (local_f8 & 0xff0000) >> 8 | (local_f8 & 0xff00) << 8 |\n                      local_f8 << 0x18;\n          local_7e6 = local_f4 << 8 | local_f4 >> 8;\n          local_7dc = local_f2 << 8 | local_f2 >> 8;\n        }\n        goto LAB_00012d48;\n      }\n      if (local_908 < (stat64 *)0x40) {\n        pr2serr("raw scatter file must be at least 64 bytes long (length: %u)\n",local_908,\n                local_880._44_4_,local_880._44_4_);\nLAB_00012ef5:\n        local_908 = (stat64 *)0xf;\n        goto LAB_00012354;\n      }\n      psVar25 = (stat64 *)(local_174 + 0x50);\n      local_908 = (stat64 *)FUN_00014a80(&DAT_00017365);\n      if (local_908 != (stat64 *)0x0) goto LAB_00012354;\n      cVar6 = FUN_000146a0(&local_8f8,&local_8f4,extraout_ECX_03,extraout_ECX_03);\n      if (cVar6 == '\0') goto LAB_00012ef5;\n      if (local_8f8 != 1) {\n        pr2serr("No %ss found in SF (num=%u)\n","LBA range descriptor",local_8f8,extraout_EDX_01);\n        goto LAB_00012ef5;\n      }\n      local_7b8 = local_114 >> 0x18 | (local_114 & 0xff0000) >> 8 | (local_114 & 0xff00) << 8 |\n                  local_114 << 0x18;\n      local_7bc = local_110 >> 0x18 | (local_110 & 0xff0000) >> 8 | (local_110 & 0xff00) << 8 |\n                  local_110 << 0x18;\n      local_7cc = (stat64 *)\n                  (local_10c >> 0x18 | (local_10c & 0xff0000) >> 8 | (local_10c & 0xff00) << 8 |\n                  local_10c << 0x18);\n    }\n    else {\n      local_7bc = local_578;\n      local_7b8 = local_574;\n      local_7cc = local_778[0];\n      if ((psVar38 != (stat64 *)0x0) && (local_91c != (stat64 *)0x1)) {\n        pr2serr("warning: %d LBA,number_of_blocks pairs found, only taking first\n",local_91c,\n                psVar17,psVar17);\n      }\n    }\nLAB_00012d48:\n    if (local_818 == 0) {\n      psVar25 = (stat64 *)((int)local_7cc * (int)local_7d4);\n    }\n    else {\n      psVar25 = (stat64 *)0x0;\n      if (local_810 == 0) {\n        psVar25 = local_7d4;\n      }\n    }\n    local_7a4 = psVar25;\n    if (psVar25 != (stat64 *)0x0) {\n      iVar14 = sg_memalign(psVar25,0,&local_8f0,0);\n      if (iVar14 == 0) {\n        pcVar15 = "unable to allocate %u bytes of memory\n";\n        ppvVar39 = (void **)0x0;\n        uVar16 = 0;\n        psVar38 = psVar25;\nLAB_00013bea:\n        pr2serr(pcVar15,psVar38,ppvVar39,uVar16);\n        local_908 = (stat64 *)sg_convert_errno(0xc);\n        goto LAB_00012354;\n      }\n      local_908 = (stat64 *)FUN_00014a80(&DAT_000173c6);\n      if (local_908 != (stat64 *)0x0) goto LAB_00012354;\n    }\n    local_908 = (stat64 *)FUN_00014b00(&local_820);\n    if (local_908 == (stat64 *)0x0) goto LAB_00012354;\n    if (local_81a != '\0') goto LAB_00012354;\n    puVar43 = local_174;\n    psVar25 = (stat64 *)"OS error";\n    puVar29 = puVar43;\n    for (iVar14 = 9; iVar14 != 0; iVar14 = iVar14 + -1) {\n      *puVar29 = (char)psVar25->st_dev;\n      psVar25 = (stat64 *)((int)psVar25 + (uint)bVar32 * -2 + 1);\n      puVar29 = puVar29 + (uint)bVar32 * -2 + 1;\n    }\n    uVar16 = 0;\n    if (0 < (int)local_908) {\n      sg_get_category_sense_str(local_908,0x50,puVar43,psVar38);\n      uVar16 = extraout_ECX_02;\n    }\n    pr2serr("%s: %s\n",local_790,puVar43,uVar16);\n    goto LAB_00012354;\n  }" ({ "{") (if_statement "if (local_91c == (stat64 *)0x0) {\n      psVar25 = (stat64 *)local_880._44_4_;\n      if (local_798 == (char *)0x0) {\n        if (local_819 == '\0') {\n          pr2serr("No LBA or number_of_blocks given, try using --lba= and --num=\n");\n          local_908 = (stat64 *)0x1;\n          goto LAB_00012354;\n        }\n      }\n      else if (local_819 == '\0') {\n        local_8f4 = (stat64 *)0x0;\n        uVar33 = FUN_000156d0(local_174 + 0x50,&local_8f8,&local_8f4,0x60);\n        uVar16 = (undefined4)((ulonglong)uVar33 >> 0x20);\n        local_908 = (stat64 *)uVar33;\n        if (local_908 != (stat64 *)0x0) goto LAB_00012354;\n        if (psVar38 != (stat64 *)0x0) {\n          uVar7 = (uint)local_8f8;\n          if (1 < local_8f8) {\n            uVar7 = pr2serr("warning: %d LBA,number_of_blocks pairs found, only taking first\n",\n                            uVar7,uVar16,uVar16);\n          }\n          if (2 < (int)psVar38) {\n            pr2serr("after build_t10_scat, num_lbard=%u, sum_num=%u\n",local_8f8,local_8f4,uVar7);\n          }\n        }\n        if (local_8f8 != 1) {\n          pr2serr("Unable to decode one LBA range descriptor from %s\n",local_798,0,0);\n          local_908 = (stat64 *)0xf;\n          goto LAB_00012354;\n        }\n        local_7b8 = local_104 >> 0x18 | (local_104 & 0xff0000) >> 8 | (local_104 & 0xff00) << 8 |\n                    local_104 << 0x18;\n        local_7bc = local_100 >> 0x18 | (local_100 & 0xff0000) >> 8 | (local_100 & 0xff00) << 8 |\n                    local_100 << 0x18;\n        local_7cc = (stat64 *)\n                    (local_fc >> 0x18 | (local_fc & 0xff0000) >> 8 | (local_fc & 0xff00) << 8 |\n                    local_fc << 0x18);\n        if (local_81f != '\0') {\n          local_7c0 = local_f8 >> 0x18 | (local_f8 & 0xff0000) >> 8 | (local_f8 & 0xff00) << 8 |\n                      local_f8 << 0x18;\n          local_7e6 = local_f4 << 8 | local_f4 >> 8;\n          local_7dc = local_f2 << 8 | local_f2 >> 8;\n        }\n        goto LAB_00012d48;\n      }\n      if (local_908 < (stat64 *)0x40) {\n        pr2serr("raw scatter file must be at least 64 bytes long (length: %u)\n",local_908,\n                local_880._44_4_,local_880._44_4_);\nLAB_00012ef5:\n        local_908 = (stat64 *)0xf;\n        goto LAB_00012354;\n      }\n      psVar25 = (stat64 *)(local_174 + 0x50);\n      local_908 = (stat64 *)FUN_00014a80(&DAT_00017365);\n      if (local_908 != (stat64 *)0x0) goto LAB_00012354;\n      cVar6 = FUN_000146a0(&local_8f8,&local_8f4,extraout_ECX_03,extraout_ECX_03);\n      if (cVar6 == '\0') goto LAB_00012ef5;\n      if (local_8f8 != 1) {\n        pr2serr("No %ss found in SF (num=%u)\n","LBA range descriptor",local_8f8,extraout_EDX_01);\n        goto LAB_00012ef5;\n      }\n      local_7b8 = local_114 >> 0x18 | (local_114 & 0xff0000) >> 8 | (local_114 & 0xff00) << 8 |\n                  local_114 << 0x18;\n      local_7bc = local_110 >> 0x18 | (local_110 & 0xff0000) >> 8 | (local_110 & 0xff00) << 8 |\n                  local_110 << 0x18;\n      local_7cc = (stat64 *)\n                  (local_10c >> 0x18 | (local_10c & 0xff0000) >> 8 | (local_10c & 0xff00) << 8 |\n                  local_10c << 0x18);\n    }\n    else {\n      local_7bc = local_578;\n      local_7b8 = local_574;\n      local_7cc = local_778[0];\n      if ((psVar38 != (stat64 *)0x0) && (local_91c != (stat64 *)0x1)) {\n        pr2serr("warning: %d LBA,number_of_blocks pairs found, only taking first\n",local_91c,\n                psVar17,psVar17);\n      }\n    }" (if "if") (parenthesized_expression "(local_91c == (stat64 *)0x0)" (( "(") (binary_expression "local_91c == (stat64 *)0x0" (identifier "local_91c") (== "==") (cast_expression "(stat64 *)0x0" (( "(") (type_descriptor "stat64 *" (type_identifier "stat64") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n      psVar25 = (stat64 *)local_880._44_4_;\n      if (local_798 == (char *)0x0) {\n        if (local_819 == '\0') {\n          pr2serr("No LBA or number_of_blocks given, try using --lba= and --num=\n");\n          local_908 = (stat64 *)0x1;\n          goto LAB_00012354;\n        }\n      }\n      else if (local_819 == '\0') {\n        local_8f4 = (stat64 *)0x0;\n        uVar33 = FUN_000156d0(local_174 + 0x50,&local_8f8,&local_8f4,0x60);\n        uVar16 = (undefined4)((ulonglong)uVar33 >> 0x20);\n        local_908 = (stat64 *)uVar33;\n        if (local_908 != (stat64 *)0x0) goto LAB_00012354;\n        if (psVar38 != (stat64 *)0x0) {\n          uVar7 = (uint)local_8f8;\n          if (1 < local_8f8) {\n            uVar7 = pr2serr("warning: %d LBA,number_of_blocks pairs found, only taking first\n",\n                            uVar7,uVar16,uVar16);\n          }\n          if (2 < (int)psVar38) {\n            pr2serr("after build_t10_scat, num_lbard=%u, sum_num=%u\n",local_8f8,local_8f4,uVar7);\n          }\n        }\n        if (local_8f8 != 1) {\n          pr2serr("Unable to decode one LBA range descriptor from %s\n",local_798,0,0);\n          local_908 = (stat64 *)0xf;\n          goto LAB_00012354;\n        }\n        local_7b8 = local_104 >> 0x18 | (local_104 & 0xff0000) >> 8 | (local_104 & 0xff00) << 8 |\n                    local_104 << 0x18;\n        local_7bc = local_100 >> 0x18 | (local_100 & 0xff0000) >> 8 | (local_100 & 0xff00) << 8 |\n                    local_100 << 0x18;\n        local_7cc = (stat64 *)\n                    (local_fc >> 0x18 | (local_fc & 0xff0000) >> 8 | (local_fc & 0xff00) << 8 |\n                    local_fc << 0x18);\n        if (local_81f != '\0') {\n          local_7c0 = local_f8 >> 0x18 | (local_f8 & 0xff0000) >> 8 | (local_f8 & 0xff00) << 8 |\n                      local_f8 << 0x18;\n          local_7e6 = local_f4 << 8 | local_f4 >> 8;\n          local_7dc = local_f2 << 8 | local_f2 >> 8;\n        }\n        goto LAB_00012d48;\n      }\n      if (local_908 < (stat64 *)0x40) {\n        pr2serr("raw scatter file must be at least 64 bytes long (length: %u)\n",local_908,\n                local_880._44_4_,local_880._44_4_);\nLAB_00012ef5:\n        local_908 = (stat64 *)0xf;\n        goto LAB_00012354;\n      }\n      psVar25 = (stat64 *)(local_174 + 0x50);\n      local_908 = (stat64 *)FUN_00014a80(&DAT_00017365);\n      if (local_908 != (stat64 *)0x0) goto LAB_00012354;\n      cVar6 = FUN_000146a0(&local_8f8,&local_8f4,extraout_ECX_03,extraout_ECX_03);\n      if (cVar6 == '\0') goto LAB_00012ef5;\n      if (local_8f8 != 1) {\n        pr2serr("No %ss found in SF (num=%u)\n","LBA range descriptor",local_8f8,extraout_EDX_01);\n        goto LAB_00012ef5;\n      }\n      local_7b8 = local_114 >> 0x18 | (local_114 & 0xff0000) >> 8 | (local_114 & 0xff00) << 8 |\n                  local_114 << 0x18;\n      local_7bc = local_110 >> 0x18 | (local_110 & 0xff0000) >> 8 | (local_110 & 0xff00) << 8 |\n                  local_110 << 0x18;\n      local_7cc = (stat64 *)\n                  (local_10c >> 0x18 | (local_10c & 0xff0000) >> 8 | (local_10c & 0xff00) << 8 |\n                  local_10c << 0x18);\n    }" ({ "{") (expression_statement "psVar25 = (stat64 *)local_880._44_4_;" (assignment_expression "psVar25 = (stat64 *)local_880._44_4_" (identifier "psVar25") (= "=") (cast_expression "(stat64 *)local_880._44_4_" (( "(") (type_descriptor "stat64 *" (type_identifier "stat64") (abstract_pointer_declarator "*" (* "*"))) () ")") (field_expression "local_880._44_4_" (identifier "local_880") (. ".") (field_identifier "_44_4_")))) (; ";")) (if_statement "if (local_798 == (char *)0x0) {\n        if (local_819 == '\0') {\n          pr2serr("No LBA or number_of_blocks given, try using --lba= and --num=\n");\n          local_908 = (stat64 *)0x1;\n          goto LAB_00012354;\n        }\n      }\n      else if (local_819 == '\0') {\n        local_8f4 = (stat64 *)0x0;\n        uVar33 = FUN_000156d0(local_174 + 0x50,&local_8f8,&local_8f4,0x60);\n        uVar16 = (undefined4)((ulonglong)uVar33 >> 0x20);\n        local_908 = (stat64 *)uVar33;\n        if (local_908 != (stat64 *)0x0) goto LAB_00012354;\n        if (psVar38 != (stat64 *)0x0) {\n          uVar7 = (uint)local_8f8;\n          if (1 < local_8f8) {\n            uVar7 = pr2serr("warning: %d LBA,number_of_blocks pairs found, only taking first\n",\n                            uVar7,uVar16,uVar16);\n          }\n          if (2 < (int)psVar38) {\n            pr2serr("after build_t10_scat, num_lbard=%u, sum_num=%u\n",local_8f8,local_8f4,uVar7);\n          }\n        }\n        if (local_8f8 != 1) {\n          pr2serr("Unable to decode one LBA range descriptor from %s\n",local_798,0,0);\n          local_908 = (stat64 *)0xf;\n          goto LAB_00012354;\n        }\n        local_7b8 = local_104 >> 0x18 | (local_104 & 0xff0000) >> 8 | (local_104 & 0xff00) << 8 |\n                    local_104 << 0x18;\n        local_7bc = local_100 >> 0x18 | (local_100 & 0xff0000) >> 8 | (local_100 & 0xff00) << 8 |\n                    local_100 << 0x18;\n        local_7cc = (stat64 *)\n                    (local_fc >> 0x18 | (local_fc & 0xff0000) >> 8 | (local_fc & 0xff00) << 8 |\n                    local_fc << 0x18);\n        if (local_81f != '\0') {\n          local_7c0 = local_f8 >> 0x18 | (local_f8 & 0xff0000) >> 8 | (local_f8 & 0xff00) << 8 |\n                      local_f8 << 0x18;\n          local_7e6 = local_f4 << 8 | local_f4 >> 8;\n          local_7dc = local_f2 << 8 | local_f2 >> 8;\n        }\n        goto LAB_00012d48;\n      }" (if "if") (parenthesized_expression "(local_798 == (char *)0x0)" (( "(") (binary_expression "local_798 == (char *)0x0" (identifier "local_798") (== "==") (cast_expression "(char *)0x0" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n        if (local_819 == '\0') {\n          pr2serr("No LBA or number_of_blocks given, try using --lba= and --num=\n");\n          local_908 = (stat64 *)0x1;\n          goto LAB_00012354;\n        }\n      }" ({ "{") (if_statement "if (local_819 == '\0') {\n          pr2serr("No LBA or number_of_blocks given, try using --lba= and --num=\n");\n          local_908 = (stat64 *)0x1;\n          goto LAB_00012354;\n        }" (if "if") (parenthesized_expression "(local_819 == '\0')" (( "(") (binary_expression "local_819 == '\0'" (identifier "local_819") (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n          pr2serr("No LBA or number_of_blocks given, try using --lba= and --num=\n");\n          local_908 = (stat64 *)0x1;\n          goto LAB_00012354;\n        }" ({ "{") (expression_statement "pr2serr("No LBA or number_of_blocks given, try using --lba= and --num=\n");" (call_expression "pr2serr("No LBA or number_of_blocks given, try using --lba= and --num=\n")" (identifier "pr2serr") (argument_list "("No LBA or number_of_blocks given, try using --lba= and --num=\n")" (( "(") (string_literal ""No LBA or number_of_blocks given, try using --lba= and --num=\n"" (" """) (string_content "No LBA or number_of_blocks given, try using --lba= and --num=") (escape_sequence "\n") (" """)) () ")"))) (; ";")) (expression_statement "local_908 = (stat64 *)0x1;" (assignment_expression "local_908 = (stat64 *)0x1" (identifier "local_908") (= "=") (cast_expression "(stat64 *)0x1" (( "(") (type_descriptor "stat64 *" (type_identifier "stat64") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x1"))) (; ";")) (goto_statement "goto LAB_00012354;" (goto "goto") (statement_identifier "LAB_00012354") (; ";")) (} "}"))) (} "}")) (else_clause "else if (local_819 == '\0') {\n        local_8f4 = (stat64 *)0x0;\n        uVar33 = FUN_000156d0(local_174 + 0x50,&local_8f8,&local_8f4,0x60);\n        uVar16 = (undefined4)((ulonglong)uVar33 >> 0x20);\n        local_908 = (stat64 *)uVar33;\n        if (local_908 != (stat64 *)0x0) goto LAB_00012354;\n        if (psVar38 != (stat64 *)0x0) {\n          uVar7 = (uint)local_8f8;\n          if (1 < local_8f8) {\n            uVar7 = pr2serr("warning: %d LBA,number_of_blocks pairs found, only taking first\n",\n                            uVar7,uVar16,uVar16);\n          }\n          if (2 < (int)psVar38) {\n            pr2serr("after build_t10_scat, num_lbard=%u, sum_num=%u\n",local_8f8,local_8f4,uVar7);\n          }\n        }\n        if (local_8f8 != 1) {\n          pr2serr("Unable to decode one LBA range descriptor from %s\n",local_798,0,0);\n          local_908 = (stat64 *)0xf;\n          goto LAB_00012354;\n        }\n        local_7b8 = local_104 >> 0x18 | (local_104 & 0xff0000) >> 8 | (local_104 & 0xff00) << 8 |\n                    local_104 << 0x18;\n        local_7bc = local_100 >> 0x18 | (local_100 & 0xff0000) >> 8 | (local_100 & 0xff00) << 8 |\n                    local_100 << 0x18;\n        local_7cc = (stat64 *)\n                    (local_fc >> 0x18 | (local_fc & 0xff0000) >> 8 | (local_fc & 0xff00) << 8 |\n                    local_fc << 0x18);\n        if (local_81f != '\0') {\n          local_7c0 = local_f8 >> 0x18 | (local_f8 & 0xff0000) >> 8 | (local_f8 & 0xff00) << 8 |\n                      local_f8 << 0x18;\n          local_7e6 = local_f4 << 8 | local_f4 >> 8;\n          local_7dc = local_f2 << 8 | local_f2 >> 8;\n        }\n        goto LAB_00012d48;\n      }" (else "else") (if_statement "if (local_819 == '\0') {\n        local_8f4 = (stat64 *)0x0;\n        uVar33 = FUN_000156d0(local_174 + 0x50,&local_8f8,&local_8f4,0x60);\n        uVar16 = (undefined4)((ulonglong)uVar33 >> 0x20);\n        local_908 = (stat64 *)uVar33;\n        if (local_908 != (stat64 *)0x0) goto LAB_00012354;\n        if (psVar38 != (stat64 *)0x0) {\n          uVar7 = (uint)local_8f8;\n          if (1 < local_8f8) {\n            uVar7 = pr2serr("warning: %d LBA,number_of_blocks pairs found, only taking first\n",\n                            uVar7,uVar16,uVar16);\n          }\n          if (2 < (int)psVar38) {\n            pr2serr("after build_t10_scat, num_lbard=%u, sum_num=%u\n",local_8f8,local_8f4,uVar7);\n          }\n        }\n        if (local_8f8 != 1) {\n          pr2serr("Unable to decode one LBA range descriptor from %s\n",local_798,0,0);\n          local_908 = (stat64 *)0xf;\n          goto LAB_00012354;\n        }\n        local_7b8 = local_104 >> 0x18 | (local_104 & 0xff0000) >> 8 | (local_104 & 0xff00) << 8 |\n                    local_104 << 0x18;\n        local_7bc = local_100 >> 0x18 | (local_100 & 0xff0000) >> 8 | (local_100 & 0xff00) << 8 |\n                    local_100 << 0x18;\n        local_7cc = (stat64 *)\n                    (local_fc >> 0x18 | (local_fc & 0xff0000) >> 8 | (local_fc & 0xff00) << 8 |\n                    local_fc << 0x18);\n        if (local_81f != '\0') {\n          local_7c0 = local_f8 >> 0x18 | (local_f8 & 0xff0000) >> 8 | (local_f8 & 0xff00) << 8 |\n                      local_f8 << 0x18;\n          local_7e6 = local_f4 << 8 | local_f4 >> 8;\n          local_7dc = local_f2 << 8 | local_f2 >> 8;\n        }\n        goto LAB_00012d48;\n      }" (if "if") (parenthesized_expression "(local_819 == '\0')" (( "(") (binary_expression "local_819 == '\0'" (identifier "local_819") (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n        local_8f4 = (stat64 *)0x0;\n        uVar33 = FUN_000156d0(local_174 + 0x50,&local_8f8,&local_8f4,0x60);\n        uVar16 = (undefined4)((ulonglong)uVar33 >> 0x20);\n        local_908 = (stat64 *)uVar33;\n        if (local_908 != (stat64 *)0x0) goto LAB_00012354;\n        if (psVar38 != (stat64 *)0x0) {\n          uVar7 = (uint)local_8f8;\n          if (1 < local_8f8) {\n            uVar7 = pr2serr("warning: %d LBA,number_of_blocks pairs found, only taking first\n",\n                            uVar7,uVar16,uVar16);\n          }\n          if (2 < (int)psVar38) {\n            pr2serr("after build_t10_scat, num_lbard=%u, sum_num=%u\n",local_8f8,local_8f4,uVar7);\n          }\n        }\n        if (local_8f8 != 1) {\n          pr2serr("Unable to decode one LBA range descriptor from %s\n",local_798,0,0);\n          local_908 = (stat64 *)0xf;\n          goto LAB_00012354;\n        }\n        local_7b8 = local_104 >> 0x18 | (local_104 & 0xff0000) >> 8 | (local_104 & 0xff00) << 8 |\n                    local_104 << 0x18;\n        local_7bc = local_100 >> 0x18 | (local_100 & 0xff0000) >> 8 | (local_100 & 0xff00) << 8 |\n                    local_100 << 0x18;\n        local_7cc = (stat64 *)\n                    (local_fc >> 0x18 | (local_fc & 0xff0000) >> 8 | (local_fc & 0xff00) << 8 |\n                    local_fc << 0x18);\n        if (local_81f != '\0') {\n          local_7c0 = local_f8 >> 0x18 | (local_f8 & 0xff0000) >> 8 | (local_f8 & 0xff00) << 8 |\n                      local_f8 << 0x18;\n          local_7e6 = local_f4 << 8 | local_f4 >> 8;\n          local_7dc = local_f2 << 8 | local_f2 >> 8;\n        }\n        goto LAB_00012d48;\n      }" ({ "{") (expression_statement "local_8f4 = (stat64 *)0x0;" (assignment_expression "local_8f4 = (stat64 *)0x0" (identifier "local_8f4") (= "=") (cast_expression "(stat64 *)0x0" (( "(") (type_descriptor "stat64 *" (type_identifier "stat64") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "uVar33 = FUN_000156d0(local_174 + 0x50,&local_8f8,&local_8f4,0x60);" (assignment_expression "uVar33 = FUN_000156d0(local_174 + 0x50,&local_8f8,&local_8f4,0x60)" (identifier "uVar33") (= "=") (call_expression "FUN_000156d0(local_174 + 0x50,&local_8f8,&local_8f4,0x60)" (identifier "FUN_000156d0") (argument_list "(local_174 + 0x50,&local_8f8,&local_8f4,0x60)" (( "(") (binary_expression "local_174 + 0x50" (identifier "local_174") (+ "+") (number_literal "0x50")) (, ",") (pointer_expression "&local_8f8" (& "&") (identifier "local_8f8")) (, ",") (pointer_expression "&local_8f4" (& "&") (identifier "local_8f4")) (, ",") (number_literal "0x60") () ")")))) (; ";")) (expression_statement "uVar16 = (undefined4)((ulonglong)uVar33 >> 0x20);" (assignment_expression "uVar16 = (undefined4)((ulonglong)uVar33 >> 0x20)" (identifier "uVar16") (= "=") (call_expression "(undefined4)((ulonglong)uVar33 >> 0x20)" (parenthesized_expression "(undefined4)" (( "(") (identifier "undefined4") () ")")) (argument_list "((ulonglong)uVar33 >> 0x20)" (( "(") (binary_expression "(ulonglong)uVar33 >> 0x20" (cast_expression "(ulonglong)uVar33" (( "(") (type_descriptor "ulonglong" (type_identifier "ulonglong")) () ")") (identifier "uVar33")) (>> ">>") (number_literal "0x20")) () ")")))) (; ";")) (expression_statement "local_908 = (stat64 *)uVar33;" (assignment_expression "local_908 = (stat64 *)uVar33" (identifier "local_908") (= "=") (cast_expression "(stat64 *)uVar33" (( "(") (type_descriptor "stat64 *" (type_identifier "stat64") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "uVar33"))) (; ";")) (if_statement "if (local_908 != (stat64 *)0x0) goto LAB_00012354;" (if "if") (parenthesized_expression "(local_908 != (stat64 *)0x0)" (( "(") (binary_expression "local_908 != (stat64 *)0x0" (identifier "local_908") (!= "!=") (cast_expression "(stat64 *)0x0" (( "(") (type_descriptor "stat64 *" (type_identifier "stat64") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (goto_statement "goto LAB_00012354;" (goto "goto") (statement_identifier "LAB_00012354") (; ";"))) (if_statement "if (psVar38 != (stat64 *)0x0) {\n          uVar7 = (uint)local_8f8;\n          if (1 < local_8f8) {\n            uVar7 = pr2serr("warning: %d LBA,number_of_blocks pairs found, only taking first\n",\n                            uVar7,uVar16,uVar16);\n          }\n          if (2 < (int)psVar38) {\n            pr2serr("after build_t10_scat, num_lbard=%u, sum_num=%u\n",local_8f8,local_8f4,uVar7);\n          }\n        }" (if "if") (parenthesized_expression "(psVar38 != (stat64 *)0x0)" (( "(") (binary_expression "psVar38 != (stat64 *)0x0" (identifier "psVar38") (!= "!=") (cast_expression "(stat64 *)0x0" (( "(") (type_descriptor "stat64 *" (type_identifier "stat64") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n          uVar7 = (uint)local_8f8;\n          if (1 < local_8f8) {\n            uVar7 = pr2serr("warning: %d LBA,number_of_blocks pairs found, only taking first\n",\n                            uVar7,uVar16,uVar16);\n          }\n          if (2 < (int)psVar38) {\n            pr2serr("after build_t10_scat, num_lbard=%u, sum_num=%u\n",local_8f8,local_8f4,uVar7);\n          }\n        }" ({ "{") (expression_statement "uVar7 = (uint)local_8f8;" (assignment_expression "uVar7 = (uint)local_8f8" (identifier "uVar7") (= "=") (cast_expression "(uint)local_8f8" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "local_8f8"))) (; ";")) (if_statement "if (1 < local_8f8) {\n            uVar7 = pr2serr("warning: %d LBA,number_of_blocks pairs found, only taking first\n",\n                            uVar7,uVar16,uVar16);\n          }" (if "if") (parenthesized_expression "(1 < local_8f8)" (( "(") (binary_expression "1 < local_8f8" (number_literal "1") (< "<") (identifier "local_8f8")) () ")")) (compound_statement "{\n            uVar7 = pr2serr("warning: %d LBA,number_of_blocks pairs found, only taking first\n",\n                            uVar7,uVar16,uVar16);\n          }" ({ "{") (expression_statement "uVar7 = pr2serr("warning: %d LBA,number_of_blocks pairs found, only taking first\n",\n                            uVar7,uVar16,uVar16);" (assignment_expression "uVar7 = pr2serr("warning: %d LBA,number_of_blocks pairs found, only taking first\n",\n                            uVar7,uVar16,uVar16)" (identifier "uVar7") (= "=") (call_expression "pr2serr("warning: %d LBA,number_of_blocks pairs found, only taking first\n",\n                            uVar7,uVar16,uVar16)" (identifier "pr2serr") (argument_list "("warning: %d LBA,number_of_blocks pairs found, only taking first\n",\n                            uVar7,uVar16,uVar16)" (( "(") (string_literal ""warning: %d LBA,number_of_blocks pairs found, only taking first\n"" (" """) (string_content "warning: %d LBA,number_of_blocks pairs found, only taking first") (escape_sequence "\n") (" """)) (, ",") (identifier "uVar7") (, ",") (identifier "uVar16") (, ",") (identifier "uVar16") () ")")))) (; ";")) (} "}"))) (if_statement "if (2 < (int)psVar38) {\n            pr2serr("after build_t10_scat, num_lbard=%u, sum_num=%u\n",local_8f8,local_8f4,uVar7);\n          }" (if "if") (parenthesized_expression "(2 < (int)psVar38)" (( "(") (binary_expression "2 < (int)psVar38" (number_literal "2") (< "<") (cast_expression "(int)psVar38" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "psVar38"))) () ")")) (compound_statement "{\n            pr2serr("after build_t10_scat, num_lbard=%u, sum_num=%u\n",local_8f8,local_8f4,uVar7);\n          }" ({ "{") (expression_statement "pr2serr("after build_t10_scat, num_lbard=%u, sum_num=%u\n",local_8f8,local_8f4,uVar7);" (call_expression "pr2serr("after build_t10_scat, num_lbard=%u, sum_num=%u\n",local_8f8,local_8f4,uVar7)" (identifier "pr2serr") (argument_list "("after build_t10_scat, num_lbard=%u, sum_num=%u\n",local_8f8,local_8f4,uVar7)" (( "(") (string_literal ""after build_t10_scat, num_lbard=%u, sum_num=%u\n"" (" """) (string_content "after build_t10_scat, num_lbard=%u, sum_num=%u") (escape_sequence "\n") (" """)) (, ",") (identifier "local_8f8") (, ",") (identifier "local_8f4") (, ",") (identifier "uVar7") () ")"))) (; ";")) (} "}"))) (} "}"))) (if_statement "if (local_8f8 != 1) {\n          pr2serr("Unable to decode one LBA range descriptor from %s\n",local_798,0,0);\n          local_908 = (stat64 *)0xf;\n          goto LAB_00012354;\n        }" (if "if") (parenthesized_expression "(local_8f8 != 1)" (( "(") (binary_expression "local_8f8 != 1" (identifier "local_8f8") (!= "!=") (number_literal "1")) () ")")) (compound_statement "{\n          pr2serr("Unable to decode one LBA range descriptor from %s\n",local_798,0,0);\n          local_908 = (stat64 *)0xf;\n          goto LAB_00012354;\n        }" ({ "{") (expression_statement "pr2serr("Unable to decode one LBA range descriptor from %s\n",local_798,0,0);" (call_expression "pr2serr("Unable to decode one LBA range descriptor from %s\n",local_798,0,0)" (identifier "pr2serr") (argument_list "("Unable to decode one LBA range descriptor from %s\n",local_798,0,0)" (( "(") (string_literal ""Unable to decode one LBA range descriptor from %s\n"" (" """) (string_content "Unable to decode one LBA range descriptor from %s") (escape_sequence "\n") (" """)) (, ",") (identifier "local_798") (, ",") (number_literal "0") (, ",") (number_literal "0") () ")"))) (; ";")) (expression_statement "local_908 = (stat64 *)0xf;" (assignment_expression "local_908 = (stat64 *)0xf" (identifier "local_908") (= "=") (cast_expression "(stat64 *)0xf" (( "(") (type_descriptor "stat64 *" (type_identifier "stat64") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0xf"))) (; ";")) (goto_statement "goto LAB_00012354;" (goto "goto") (statement_identifier "LAB_00012354") (; ";")) (} "}"))) (expression_statement "local_7b8 = local_104 >> 0x18 | (local_104 & 0xff0000) >> 8 | (local_104 & 0xff00) << 8 |\n                    local_104 << 0x18;" (assignment_expression "local_7b8 = local_104 >> 0x18 | (local_104 & 0xff0000) >> 8 | (local_104 & 0xff00) << 8 |\n                    local_104 << 0x18" (identifier "local_7b8") (= "=") (binary_expression "local_104 >> 0x18 | (local_104 & 0xff0000) >> 8 | (local_104 & 0xff00) << 8 |\n                    local_104 << 0x18" (binary_expression "local_104 >> 0x18 | (local_104 & 0xff0000) >> 8 | (local_104 & 0xff00) << 8" (binary_expression "local_104 >> 0x18 | (local_104 & 0xff0000) >> 8" (binary_expression "local_104 >> 0x18" (identifier "local_104") (>> ">>") (number_literal "0x18")) (| "|") (binary_expression "(local_104 & 0xff0000) >> 8" (parenthesized_expression "(local_104 & 0xff0000)" (( "(") (binary_expression "local_104 & 0xff0000" (identifier "local_104") (& "&") (number_literal "0xff0000")) () ")")) (>> ">>") (number_literal "8"))) (| "|") (binary_expression "(local_104 & 0xff00) << 8" (parenthesized_expression "(local_104 & 0xff00)" (( "(") (binary_expression "local_104 & 0xff00" (identifier "local_104") (& "&") (number_literal "0xff00")) () ")")) (<< "<<") (number_literal "8"))) (| "|") (binary_expression "local_104 << 0x18" (identifier "local_104") (<< "<<") (number_literal "0x18")))) (; ";")) (expression_statement "local_7bc = local_100 >> 0x18 | (local_100 & 0xff0000) >> 8 | (local_100 & 0xff00) << 8 |\n                    local_100 << 0x18;" (assignment_expression "local_7bc = local_100 >> 0x18 | (local_100 & 0xff0000) >> 8 | (local_100 & 0xff00) << 8 |\n                    local_100 << 0x18" (identifier "local_7bc") (= "=") (binary_expression "local_100 >> 0x18 | (local_100 & 0xff0000) >> 8 | (local_100 & 0xff00) << 8 |\n                    local_100 << 0x18" (binary_expression "local_100 >> 0x18 | (local_100 & 0xff0000) >> 8 | (local_100 & 0xff00) << 8" (binary_expression "local_100 >> 0x18 | (local_100 & 0xff0000) >> 8" (binary_expression "local_100 >> 0x18" (identifier "local_100") (>> ">>") (number_literal "0x18")) (| "|") (binary_expression "(local_100 & 0xff0000) >> 8" (parenthesized_expression "(local_100 & 0xff0000)" (( "(") (binary_expression "local_100 & 0xff0000" (identifier "local_100") (& "&") (number_literal "0xff0000")) () ")")) (>> ">>") (number_literal "8"))) (| "|") (binary_expression "(local_100 & 0xff00) << 8" (parenthesized_expression "(local_100 & 0xff00)" (( "(") (binary_expression "local_100 & 0xff00" (identifier "local_100") (& "&") (number_literal "0xff00")) () ")")) (<< "<<") (number_literal "8"))) (| "|") (binary_expression "local_100 << 0x18" (identifier "local_100") (<< "<<") (number_literal "0x18")))) (; ";")) (expression_statement "local_7cc = (stat64 *)\n                    (local_fc >> 0x18 | (local_fc & 0xff0000) >> 8 | (local_fc & 0xff00) << 8 |\n                    local_fc << 0x18);" (assignment_expression "local_7cc = (stat64 *)\n                    (local_fc >> 0x18 | (local_fc & 0xff0000) >> 8 | (local_fc & 0xff00) << 8 |\n                    local_fc << 0x18)" (identifier "local_7cc") (= "=") (cast_expression "(stat64 *)\n                    (local_fc >> 0x18 | (local_fc & 0xff0000) >> 8 | (local_fc & 0xff00) << 8 |\n                    local_fc << 0x18)" (( "(") (type_descriptor "stat64 *" (type_identifier "stat64") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(local_fc >> 0x18 | (local_fc & 0xff0000) >> 8 | (local_fc & 0xff00) << 8 |\n                    local_fc << 0x18)" (( "(") (binary_expression "local_fc >> 0x18 | (local_fc & 0xff0000) >> 8 | (local_fc & 0xff00) << 8 |\n                    local_fc << 0x18" (binary_expression "local_fc >> 0x18 | (local_fc & 0xff0000) >> 8 | (local_fc & 0xff00) << 8" (binary_expression "local_fc >> 0x18 | (local_fc & 0xff0000) >> 8" (binary_expression "local_fc >> 0x18" (identifier "local_fc") (>> ">>") (number_literal "0x18")) (| "|") (binary_expression "(local_fc & 0xff0000) >> 8" (parenthesized_expression "(local_fc & 0xff0000)" (( "(") (binary_expression "local_fc & 0xff0000" (identifier "local_fc") (& "&") (number_literal "0xff0000")) () ")")) (>> ">>") (number_literal "8"))) (| "|") (binary_expression "(local_fc & 0xff00) << 8" (parenthesized_expression "(local_fc & 0xff00)" (( "(") (binary_expression "local_fc & 0xff00" (identifier "local_fc") (& "&") (number_literal "0xff00")) () ")")) (<< "<<") (number_literal "8"))) (| "|") (binary_expression "local_fc << 0x18" (identifier "local_fc") (<< "<<") (number_literal "0x18"))) () ")")))) (; ";")) (if_statement "if (local_81f != '\0') {\n          local_7c0 = local_f8 >> 0x18 | (local_f8 & 0xff0000) >> 8 | (local_f8 & 0xff00) << 8 |\n                      local_f8 << 0x18;\n          local_7e6 = local_f4 << 8 | local_f4 >> 8;\n          local_7dc = local_f2 << 8 | local_f2 >> 8;\n        }" (if "if") (parenthesized_expression "(local_81f != '\0')" (( "(") (binary_expression "local_81f != '\0'" (identifier "local_81f") (!= "!=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n          local_7c0 = local_f8 >> 0x18 | (local_f8 & 0xff0000) >> 8 | (local_f8 & 0xff00) << 8 |\n                      local_f8 << 0x18;\n          local_7e6 = local_f4 << 8 | local_f4 >> 8;\n          local_7dc = local_f2 << 8 | local_f2 >> 8;\n        }" ({ "{") (expression_statement "local_7c0 = local_f8 >> 0x18 | (local_f8 & 0xff0000) >> 8 | (local_f8 & 0xff00) << 8 |\n                      local_f8 << 0x18;" (assignment_expression "local_7c0 = local_f8 >> 0x18 | (local_f8 & 0xff0000) >> 8 | (local_f8 & 0xff00) << 8 |\n                      local_f8 << 0x18" (identifier "local_7c0") (= "=") (binary_expression "local_f8 >> 0x18 | (local_f8 & 0xff0000) >> 8 | (local_f8 & 0xff00) << 8 |\n                      local_f8 << 0x18" (binary_expression "local_f8 >> 0x18 | (local_f8 & 0xff0000) >> 8 | (local_f8 & 0xff00) << 8" (binary_expression "local_f8 >> 0x18 | (local_f8 & 0xff0000) >> 8" (binary_expression "local_f8 >> 0x18" (identifier "local_f8") (>> ">>") (number_literal "0x18")) (| "|") (binary_expression "(local_f8 & 0xff0000) >> 8" (parenthesized_expression "(local_f8 & 0xff0000)" (( "(") (binary_expression "local_f8 & 0xff0000" (identifier "local_f8") (& "&") (number_literal "0xff0000")) () ")")) (>> ">>") (number_literal "8"))) (| "|") (binary_expression "(local_f8 & 0xff00) << 8" (parenthesized_expression "(local_f8 & 0xff00)" (( "(") (binary_expression "local_f8 & 0xff00" (identifier "local_f8") (& "&") (number_literal "0xff00")) () ")")) (<< "<<") (number_literal "8"))) (| "|") (binary_expression "local_f8 << 0x18" (identifier "local_f8") (<< "<<") (number_literal "0x18")))) (; ";")) (expression_statement "local_7e6 = local_f4 << 8 | local_f4 >> 8;" (assignment_expression "local_7e6 = local_f4 << 8 | local_f4 >> 8" (identifier "local_7e6") (= "=") (binary_expression "local_f4 << 8 | local_f4 >> 8" (binary_expression "local_f4 << 8" (identifier "local_f4") (<< "<<") (number_literal "8")) (| "|") (binary_expression "local_f4 >> 8" (identifier "local_f4") (>> ">>") (number_literal "8")))) (; ";")) (expression_statement "local_7dc = local_f2 << 8 | local_f2 >> 8;" (assignment_expression "local_7dc = local_f2 << 8 | local_f2 >> 8" (identifier "local_7dc") (= "=") (binary_expression "local_f2 << 8 | local_f2 >> 8" (binary_expression "local_f2 << 8" (identifier "local_f2") (<< "<<") (number_literal "8")) (| "|") (binary_expression "local_f2 >> 8" (identifier "local_f2") (>> ">>") (number_literal "8")))) (; ";")) (} "}"))) (goto_statement "goto LAB_00012d48;" (goto "goto") (statement_identifier "LAB_00012d48") (; ";")) (} "}"))))) (if_statement "if (local_908 < (stat64 *)0x40) {\n        pr2serr("raw scatter file must be at least 64 bytes long (length: %u)\n",local_908,\n                local_880._44_4_,local_880._44_4_);\nLAB_00012ef5:\n        local_908 = (stat64 *)0xf;\n        goto LAB_00012354;\n      }" (if "if") (parenthesized_expression "(local_908 < (stat64 *)0x40)" (( "(") (binary_expression "local_908 < (stat64 *)0x40" (identifier "local_908") (< "<") (cast_expression "(stat64 *)0x40" (( "(") (type_descriptor "stat64 *" (type_identifier "stat64") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x40"))) () ")")) (compound_statement "{\n        pr2serr("raw scatter file must be at least 64 bytes long (length: %u)\n",local_908,\n                local_880._44_4_,local_880._44_4_);\nLAB_00012ef5:\n        local_908 = (stat64 *)0xf;\n        goto LAB_00012354;\n      }" ({ "{") (expression_statement "pr2serr("raw scatter file must be at least 64 bytes long (length: %u)\n",local_908,\n                local_880._44_4_,local_880._44_4_);" (call_expression "pr2serr("raw scatter file must be at least 64 bytes long (length: %u)\n",local_908,\n                local_880._44_4_,local_880._44_4_)" (identifier "pr2serr") (argument_list "("raw scatter file must be at least 64 bytes long (length: %u)\n",local_908,\n                local_880._44_4_,local_880._44_4_)" (( "(") (string_literal ""raw scatter file must be at least 64 bytes long (length: %u)\n"" (" """) (string_content "raw scatter file must be at least 64 bytes long (length: %u)") (escape_sequence "\n") (" """)) (, ",") (identifier "local_908") (, ",") (field_expression "local_880._44_4_" (identifier "local_880") (. ".") (field_identifier "_44_4_")) (, ",") (field_expression "local_880._44_4_" (identifier "local_880") (. ".") (field_identifier "_44_4_")) () ")"))) (; ";")) (labeled_statement "LAB_00012ef5:\n        local_908 = (stat64 *)0xf;" (statement_identifier "LAB_00012ef5") (: ":") (expression_statement "local_908 = (stat64 *)0xf;" (assignment_expression "local_908 = (stat64 *)0xf" (identifier "local_908") (= "=") (cast_expression "(stat64 *)0xf" (( "(") (type_descriptor "stat64 *" (type_identifier "stat64") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0xf"))) (; ";"))) (goto_statement "goto LAB_00012354;" (goto "goto") (statement_identifier "LAB_00012354") (; ";")) (} "}"))) (expression_statement "psVar25 = (stat64 *)(local_174 + 0x50);" (assignment_expression "psVar25 = (stat64 *)(local_174 + 0x50)" (identifier "psVar25") (= "=") (cast_expression "(stat64 *)(local_174 + 0x50)" (( "(") (type_descriptor "stat64 *" (type_identifier "stat64") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(local_174 + 0x50)" (( "(") (binary_expression "local_174 + 0x50" (identifier "local_174") (+ "+") (number_literal "0x50")) () ")")))) (; ";")) (expression_statement "local_908 = (stat64 *)FUN_00014a80(&DAT_00017365);" (assignment_expression "local_908 = (stat64 *)FUN_00014a80(&DAT_00017365)" (identifier "local_908") (= "=") (cast_expression "(stat64 *)FUN_00014a80(&DAT_00017365)" (( "(") (type_descriptor "stat64 *" (type_identifier "stat64") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "FUN_00014a80(&DAT_00017365)" (identifier "FUN_00014a80") (argument_list "(&DAT_00017365)" (( "(") (pointer_expression "&DAT_00017365" (& "&") (identifier "DAT_00017365")) () ")"))))) (; ";")) (if_statement "if (local_908 != (stat64 *)0x0) goto LAB_00012354;" (if "if") (parenthesized_expression "(local_908 != (stat64 *)0x0)" (( "(") (binary_expression "local_908 != (stat64 *)0x0" (identifier "local_908") (!= "!=") (cast_expression "(stat64 *)0x0" (( "(") (type_descriptor "stat64 *" (type_identifier "stat64") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (goto_statement "goto LAB_00012354;" (goto "goto") (statement_identifier "LAB_00012354") (; ";"))) (expression_statement "cVar6 = FUN_000146a0(&local_8f8,&local_8f4,extraout_ECX_03,extraout_ECX_03);" (assignment_expression "cVar6 = FUN_000146a0(&local_8f8,&local_8f4,extraout_ECX_03,extraout_ECX_03)" (identifier "cVar6") (= "=") (call_expression "FUN_000146a0(&local_8f8,&local_8f4,extraout_ECX_03,extraout_ECX_03)" (identifier "FUN_000146a0") (argument_list "(&local_8f8,&local_8f4,extraout_ECX_03,extraout_ECX_03)" (( "(") (pointer_expression "&local_8f8" (& "&") (identifier "local_8f8")) (, ",") (pointer_expression "&local_8f4" (& "&") (identifier "local_8f4")) (, ",") (identifier "extraout_ECX_03") (, ",") (identifier "extraout_ECX_03") () ")")))) (; ";")) (if_statement "if (cVar6 == '\0') goto LAB_00012ef5;" (if "if") (parenthesized_expression "(cVar6 == '\0')" (( "(") (binary_expression "cVar6 == '\0'" (identifier "cVar6") (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (goto_statement "goto LAB_00012ef5;" (goto "goto") (statement_identifier "LAB_00012ef5") (; ";"))) (if_statement "if (local_8f8 != 1) {\n        pr2serr("No %ss found in SF (num=%u)\n","LBA range descriptor",local_8f8,extraout_EDX_01);\n        goto LAB_00012ef5;\n      }" (if "if") (parenthesized_expression "(local_8f8 != 1)" (( "(") (binary_expression "local_8f8 != 1" (identifier "local_8f8") (!= "!=") (number_literal "1")) () ")")) (compound_statement "{\n        pr2serr("No %ss found in SF (num=%u)\n","LBA range descriptor",local_8f8,extraout_EDX_01);\n        goto LAB_00012ef5;\n      }" ({ "{") (expression_statement "pr2serr("No %ss found in SF (num=%u)\n","LBA range descriptor",local_8f8,extraout_EDX_01);" (call_expression "pr2serr("No %ss found in SF (num=%u)\n","LBA range descriptor",local_8f8,extraout_EDX_01)" (identifier "pr2serr") (argument_list "("No %ss found in SF (num=%u)\n","LBA range descriptor",local_8f8,extraout_EDX_01)" (( "(") (string_literal ""No %ss found in SF (num=%u)\n"" (" """) (string_content "No %ss found in SF (num=%u)") (escape_sequence "\n") (" """)) (, ",") (string_literal ""LBA range descriptor"" (" """) (string_content "LBA range descriptor") (" """)) (, ",") (identifier "local_8f8") (, ",") (identifier "extraout_EDX_01") () ")"))) (; ";")) (goto_statement "goto LAB_00012ef5;" (goto "goto") (statement_identifier "LAB_00012ef5") (; ";")) (} "}"))) (expression_statement "local_7b8 = local_114 >> 0x18 | (local_114 & 0xff0000) >> 8 | (local_114 & 0xff00) << 8 |\n                  local_114 << 0x18;" (assignment_expression "local_7b8 = local_114 >> 0x18 | (local_114 & 0xff0000) >> 8 | (local_114 & 0xff00) << 8 |\n                  local_114 << 0x18" (identifier "local_7b8") (= "=") (binary_expression "local_114 >> 0x18 | (local_114 & 0xff0000) >> 8 | (local_114 & 0xff00) << 8 |\n                  local_114 << 0x18" (binary_expression "local_114 >> 0x18 | (local_114 & 0xff0000) >> 8 | (local_114 & 0xff00) << 8" (binary_expression "local_114 >> 0x18 | (local_114 & 0xff0000) >> 8" (binary_expression "local_114 >> 0x18" (identifier "local_114") (>> ">>") (number_literal "0x18")) (| "|") (binary_expression "(local_114 & 0xff0000) >> 8" (parenthesized_expression "(local_114 & 0xff0000)" (( "(") (binary_expression "local_114 & 0xff0000" (identifier "local_114") (& "&") (number_literal "0xff0000")) () ")")) (>> ">>") (number_literal "8"))) (| "|") (binary_expression "(local_114 & 0xff00) << 8" (parenthesized_expression "(local_114 & 0xff00)" (( "(") (binary_expression "local_114 & 0xff00" (identifier "local_114") (& "&") (number_literal "0xff00")) () ")")) (<< "<<") (number_literal "8"))) (| "|") (binary_expression "local_114 << 0x18" (identifier "local_114") (<< "<<") (number_literal "0x18")))) (; ";")) (expression_statement "local_7bc = local_110 >> 0x18 | (local_110 & 0xff0000) >> 8 | (local_110 & 0xff00) << 8 |\n                  local_110 << 0x18;" (assignment_expression "local_7bc = local_110 >> 0x18 | (local_110 & 0xff0000) >> 8 | (local_110 & 0xff00) << 8 |\n                  local_110 << 0x18" (identifier "local_7bc") (= "=") (binary_expression "local_110 >> 0x18 | (local_110 & 0xff0000) >> 8 | (local_110 & 0xff00) << 8 |\n                  local_110 << 0x18" (binary_expression "local_110 >> 0x18 | (local_110 & 0xff0000) >> 8 | (local_110 & 0xff00) << 8" (binary_expression "local_110 >> 0x18 | (local_110 & 0xff0000) >> 8" (binary_expression "local_110 >> 0x18" (identifier "local_110") (>> ">>") (number_literal "0x18")) (| "|") (binary_expression "(local_110 & 0xff0000) >> 8" (parenthesized_expression "(local_110 & 0xff0000)" (( "(") (binary_expression "local_110 & 0xff0000" (identifier "local_110") (& "&") (number_literal "0xff0000")) () ")")) (>> ">>") (number_literal "8"))) (| "|") (binary_expression "(local_110 & 0xff00) << 8" (parenthesized_expression "(local_110 & 0xff00)" (( "(") (binary_expression "local_110 & 0xff00" (identifier "local_110") (& "&") (number_literal "0xff00")) () ")")) (<< "<<") (number_literal "8"))) (| "|") (binary_expression "local_110 << 0x18" (identifier "local_110") (<< "<<") (number_literal "0x18")))) (; ";")) (expression_statement "local_7cc = (stat64 *)\n                  (local_10c >> 0x18 | (local_10c & 0xff0000) >> 8 | (local_10c & 0xff00) << 8 |\n                  local_10c << 0x18);" (assignment_expression "local_7cc = (stat64 *)\n                  (local_10c >> 0x18 | (local_10c & 0xff0000) >> 8 | (local_10c & 0xff00) << 8 |\n                  local_10c << 0x18)" (identifier "local_7cc") (= "=") (cast_expression "(stat64 *)\n                  (local_10c >> 0x18 | (local_10c & 0xff0000) >> 8 | (local_10c & 0xff00) << 8 |\n                  local_10c << 0x18)" (( "(") (type_descriptor "stat64 *" (type_identifier "stat64") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(local_10c >> 0x18 | (local_10c & 0xff0000) >> 8 | (local_10c & 0xff00) << 8 |\n                  local_10c << 0x18)" (( "(") (binary_expression "local_10c >> 0x18 | (local_10c & 0xff0000) >> 8 | (local_10c & 0xff00) << 8 |\n                  local_10c << 0x18" (binary_expression "local_10c >> 0x18 | (local_10c & 0xff0000) >> 8 | (local_10c & 0xff00) << 8" (binary_expression "local_10c >> 0x18 | (local_10c & 0xff0000) >> 8" (binary_expression "local_10c >> 0x18" (identifier "local_10c") (>> ">>") (number_literal "0x18")) (| "|") (binary_expression "(local_10c & 0xff0000) >> 8" (parenthesized_expression "(local_10c & 0xff0000)" (( "(") (binary_expression "local_10c & 0xff0000" (identifier "local_10c") (& "&") (number_literal "0xff0000")) () ")")) (>> ">>") (number_literal "8"))) (| "|") (binary_expression "(local_10c & 0xff00) << 8" (parenthesized_expression "(local_10c & 0xff00)" (( "(") (binary_expression "local_10c & 0xff00" (identifier "local_10c") (& "&") (number_literal "0xff00")) () ")")) (<< "<<") (number_literal "8"))) (| "|") (binary_expression "local_10c << 0x18" (identifier "local_10c") (<< "<<") (number_literal "0x18"))) () ")")))) (; ";")) (} "}")) (else_clause "else {\n      local_7bc = local_578;\n      local_7b8 = local_574;\n      local_7cc = local_778[0];\n      if ((psVar38 != (stat64 *)0x0) && (local_91c != (stat64 *)0x1)) {\n        pr2serr("warning: %d LBA,number_of_blocks pairs found, only taking first\n",local_91c,\n                psVar17,psVar17);\n      }\n    }" (else "else") (compound_statement "{\n      local_7bc = local_578;\n      local_7b8 = local_574;\n      local_7cc = local_778[0];\n      if ((psVar38 != (stat64 *)0x0) && (local_91c != (stat64 *)0x1)) {\n        pr2serr("warning: %d LBA,number_of_blocks pairs found, only taking first\n",local_91c,\n                psVar17,psVar17);\n      }\n    }" ({ "{") (expression_statement "local_7bc = local_578;" (assignment_expression "local_7bc = local_578" (identifier "local_7bc") (= "=") (identifier "local_578")) (; ";")) (expression_statement "local_7b8 = local_574;" (assignment_expression "local_7b8 = local_574" (identifier "local_7b8") (= "=") (identifier "local_574")) (; ";")) (expression_statement "local_7cc = local_778[0];" (assignment_expression "local_7cc = local_778[0]" (identifier "local_7cc") (= "=") (subscript_expression "local_778[0]" (identifier "local_778") ([ "[") (number_literal "0") (] "]"))) (; ";")) (if_statement "if ((psVar38 != (stat64 *)0x0) && (local_91c != (stat64 *)0x1)) {\n        pr2serr("warning: %d LBA,number_of_blocks pairs found, only taking first\n",local_91c,\n                psVar17,psVar17);\n      }" (if "if") (parenthesized_expression "((psVar38 != (stat64 *)0x0) && (local_91c != (stat64 *)0x1))" (( "(") (binary_expression "(psVar38 != (stat64 *)0x0) && (local_91c != (stat64 *)0x1)" (parenthesized_expression "(psVar38 != (stat64 *)0x0)" (( "(") (binary_expression "psVar38 != (stat64 *)0x0" (identifier "psVar38") (!= "!=") (cast_expression "(stat64 *)0x0" (( "(") (type_descriptor "stat64 *" (type_identifier "stat64") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (&& "&&") (parenthesized_expression "(local_91c != (stat64 *)0x1)" (( "(") (binary_expression "local_91c != (stat64 *)0x1" (identifier "local_91c") (!= "!=") (cast_expression "(stat64 *)0x1" (( "(") (type_descriptor "stat64 *" (type_identifier "stat64") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x1"))) () ")"))) () ")")) (compound_statement "{\n        pr2serr("warning: %d LBA,number_of_blocks pairs found, only taking first\n",local_91c,\n                psVar17,psVar17);\n      }" ({ "{") (expression_statement "pr2serr("warning: %d LBA,number_of_blocks pairs found, only taking first\n",local_91c,\n                psVar17,psVar17);" (call_expression "pr2serr("warning: %d LBA,number_of_blocks pairs found, only taking first\n",local_91c,\n                psVar17,psVar17)" (identifier "pr2serr") (argument_list "("warning: %d LBA,number_of_blocks pairs found, only taking first\n",local_91c,\n                psVar17,psVar17)" (( "(") (string_literal ""warning: %d LBA,number_of_blocks pairs found, only taking first\n"" (" """) (string_content "warning: %d LBA,number_of_blocks pairs found, only taking first") (escape_sequence "\n") (" """)) (, ",") (identifier "local_91c") (, ",") (identifier "psVar17") (, ",") (identifier "psVar17") () ")"))) (; ";")) (} "}"))) (} "}")))) (labeled_statement "LAB_00012d48:\n    if (local_818 == 0) {\n      psVar25 = (stat64 *)((int)local_7cc * (int)local_7d4);\n    }\n    else {\n      psVar25 = (stat64 *)0x0;\n      if (local_810 == 0) {\n        psVar25 = local_7d4;\n      }\n    }" (statement_identifier "LAB_00012d48") (: ":") (if_statement "if (local_818 == 0) {\n      psVar25 = (stat64 *)((int)local_7cc * (int)local_7d4);\n    }\n    else {\n      psVar25 = (stat64 *)0x0;\n      if (local_810 == 0) {\n        psVar25 = local_7d4;\n      }\n    }" (if "if") (parenthesized_expression "(local_818 == 0)" (( "(") (binary_expression "local_818 == 0" (identifier "local_818") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n      psVar25 = (stat64 *)((int)local_7cc * (int)local_7d4);\n    }" ({ "{") (expression_statement "psVar25 = (stat64 *)((int)local_7cc * (int)local_7d4);" (assignment_expression "psVar25 = (stat64 *)((int)local_7cc * (int)local_7d4)" (identifier "psVar25") (= "=") (cast_expression "(stat64 *)((int)local_7cc * (int)local_7d4)" (( "(") (type_descriptor "stat64 *" (type_identifier "stat64") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)local_7cc * (int)local_7d4)" (( "(") (binary_expression "(int)local_7cc * (int)local_7d4" (cast_expression "(int)local_7cc" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_7cc")) (* "*") (cast_expression "(int)local_7d4" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_7d4"))) () ")")))) (; ";")) (} "}")) (else_clause "else {\n      psVar25 = (stat64 *)0x0;\n      if (local_810 == 0) {\n        psVar25 = local_7d4;\n      }\n    }" (else "else") (compound_statement "{\n      psVar25 = (stat64 *)0x0;\n      if (local_810 == 0) {\n        psVar25 = local_7d4;\n      }\n    }" ({ "{") (expression_statement "psVar25 = (stat64 *)0x0;" (assignment_expression "psVar25 = (stat64 *)0x0" (identifier "psVar25") (= "=") (cast_expression "(stat64 *)0x0" (( "(") (type_descriptor "stat64 *" (type_identifier "stat64") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (if_statement "if (local_810 == 0) {\n        psVar25 = local_7d4;\n      }" (if "if") (parenthesized_expression "(local_810 == 0)" (( "(") (binary_expression "local_810 == 0" (identifier "local_810") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n        psVar25 = local_7d4;\n      }" ({ "{") (expression_statement "psVar25 = local_7d4;" (assignment_expression "psVar25 = local_7d4" (identifier "psVar25") (= "=") (identifier "local_7d4")) (; ";")) (} "}"))) (} "}"))))) (expression_statement "local_7a4 = psVar25;" (assignment_expression "local_7a4 = psVar25" (identifier "local_7a4") (= "=") (identifier "psVar25")) (; ";")) (if_statement "if (psVar25 != (stat64 *)0x0) {\n      iVar14 = sg_memalign(psVar25,0,&local_8f0,0);\n      if (iVar14 == 0) {\n        pcVar15 = "unable to allocate %u bytes of memory\n";\n        ppvVar39 = (void **)0x0;\n        uVar16 = 0;\n        psVar38 = psVar25;\nLAB_00013bea:\n        pr2serr(pcVar15,psVar38,ppvVar39,uVar16);\n        local_908 = (stat64 *)sg_convert_errno(0xc);\n        goto LAB_00012354;\n      }\n      local_908 = (stat64 *)FUN_00014a80(&DAT_000173c6);\n      if (local_908 != (stat64 *)0x0) goto LAB_00012354;\n    }" (if "if") (parenthesized_expression "(psVar25 != (stat64 *)0x0)" (( "(") (binary_expression "psVar25 != (stat64 *)0x0" (identifier "psVar25") (!= "!=") (cast_expression "(stat64 *)0x0" (( "(") (type_descriptor "stat64 *" (type_identifier "stat64") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n      iVar14 = sg_memalign(psVar25,0,&local_8f0,0);\n      if (iVar14 == 0) {\n        pcVar15 = "unable to allocate %u bytes of memory\n";\n        ppvVar39 = (void **)0x0;\n        uVar16 = 0;\n        psVar38 = psVar25;\nLAB_00013bea:\n        pr2serr(pcVar15,psVar38,ppvVar39,uVar16);\n        local_908 = (stat64 *)sg_convert_errno(0xc);\n        goto LAB_00012354;\n      }\n      local_908 = (stat64 *)FUN_00014a80(&DAT_000173c6);\n      if (local_908 != (stat64 *)0x0) goto LAB_00012354;\n    }" ({ "{") (expression_statement "iVar14 = sg_memalign(psVar25,0,&local_8f0,0);" (assignment_expression "iVar14 = sg_memalign(psVar25,0,&local_8f0,0)" (identifier "iVar14") (= "=") (call_expression "sg_memalign(psVar25,0,&local_8f0,0)" (identifier "sg_memalign") (argument_list "(psVar25,0,&local_8f0,0)" (( "(") (identifier "psVar25") (, ",") (number_literal "0") (, ",") (pointer_expression "&local_8f0" (& "&") (identifier "local_8f0")) (, ",") (number_literal "0") () ")")))) (; ";")) (if_statement "if (iVar14 == 0) {\n        pcVar15 = "unable to allocate %u bytes of memory\n";\n        ppvVar39 = (void **)0x0;\n        uVar16 = 0;\n        psVar38 = psVar25;\nLAB_00013bea:\n        pr2serr(pcVar15,psVar38,ppvVar39,uVar16);\n        local_908 = (stat64 *)sg_convert_errno(0xc);\n        goto LAB_00012354;\n      }" (if "if") (parenthesized_expression "(iVar14 == 0)" (( "(") (binary_expression "iVar14 == 0" (identifier "iVar14") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n        pcVar15 = "unable to allocate %u bytes of memory\n";\n        ppvVar39 = (void **)0x0;\n        uVar16 = 0;\n        psVar38 = psVar25;\nLAB_00013bea:\n        pr2serr(pcVar15,psVar38,ppvVar39,uVar16);\n        local_908 = (stat64 *)sg_convert_errno(0xc);\n        goto LAB_00012354;\n      }" ({ "{") (expression_statement "pcVar15 = "unable to allocate %u bytes of memory\n";" (assignment_expression "pcVar15 = "unable to allocate %u bytes of memory\n"" (identifier "pcVar15") (= "=") (string_literal ""unable to allocate %u bytes of memory\n"" (" """) (string_content "unable to allocate %u bytes of memory") (escape_sequence "\n") (" """))) (; ";")) (expression_statement "ppvVar39 = (void **)0x0;" (assignment_expression "ppvVar39 = (void **)0x0" (identifier "ppvVar39") (= "=") (cast_expression "(void **)0x0" (( "(") (type_descriptor "void **" (primitive_type "void") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "uVar16 = 0;" (assignment_expression "uVar16 = 0" (identifier "uVar16") (= "=") (number_literal "0")) (; ";")) (expression_statement "psVar38 = psVar25;" (assignment_expression "psVar38 = psVar25" (identifier "psVar38") (= "=") (identifier "psVar25")) (; ";")) (labeled_statement "LAB_00013bea:\n        pr2serr(pcVar15,psVar38,ppvVar39,uVar16);" (statement_identifier "LAB_00013bea") (: ":") (expression_statement "pr2serr(pcVar15,psVar38,ppvVar39,uVar16);" (call_expression "pr2serr(pcVar15,psVar38,ppvVar39,uVar16)" (identifier "pr2serr") (argument_list "(pcVar15,psVar38,ppvVar39,uVar16)" (( "(") (identifier "pcVar15") (, ",") (identifier "psVar38") (, ",") (identifier "ppvVar39") (, ",") (identifier "uVar16") () ")"))) (; ";"))) (expression_statement "local_908 = (stat64 *)sg_convert_errno(0xc);" (assignment_expression "local_908 = (stat64 *)sg_convert_errno(0xc)" (identifier "local_908") (= "=") (cast_expression "(stat64 *)sg_convert_errno(0xc)" (( "(") (type_descriptor "stat64 *" (type_identifier "stat64") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "sg_convert_errno(0xc)" (identifier "sg_convert_errno") (argument_list "(0xc)" (( "(") (number_literal "0xc") () ")"))))) (; ";")) (goto_statement "goto LAB_00012354;" (goto "goto") (statement_identifier "LAB_00012354") (; ";")) (} "}"))) (expression_statement "local_908 = (stat64 *)FUN_00014a80(&DAT_000173c6);" (assignment_expression "local_908 = (stat64 *)FUN_00014a80(&DAT_000173c6)" (identifier "local_908") (= "=") (cast_expression "(stat64 *)FUN_00014a80(&DAT_000173c6)" (( "(") (type_descriptor "stat64 *" (type_identifier "stat64") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "FUN_00014a80(&DAT_000173c6)" (identifier "FUN_00014a80") (argument_list "(&DAT_000173c6)" (( "(") (pointer_expression "&DAT_000173c6" (& "&") (identifier "DAT_000173c6")) () ")"))))) (; ";")) (if_statement "if (local_908 != (stat64 *)0x0) goto LAB_00012354;" (if "if") (parenthesized_expression "(local_908 != (stat64 *)0x0)" (( "(") (binary_expression "local_908 != (stat64 *)0x0" (identifier "local_908") (!= "!=") (cast_expression "(stat64 *)0x0" (( "(") (type_descriptor "stat64 *" (type_identifier "stat64") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (goto_statement "goto LAB_00012354;" (goto "goto") (statement_identifier "LAB_00012354") (; ";"))) (} "}"))) (expression_statement "local_908 = (stat64 *)FUN_00014b00(&local_820);" (assignment_expression "local_908 = (stat64 *)FUN_00014b00(&local_820)" (identifier "local_908") (= "=") (cast_expression "(stat64 *)FUN_00014b00(&local_820)" (( "(") (type_descriptor "stat64 *" (type_identifier "stat64") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "FUN_00014b00(&local_820)" (identifier "FUN_00014b00") (argument_list "(&local_820)" (( "(") (pointer_expression "&local_820" (& "&") (identifier "local_820")) () ")"))))) (; ";")) (if_statement "if (local_908 == (stat64 *)0x0) goto LAB_00012354;" (if "if") (parenthesized_expression "(local_908 == (stat64 *)0x0)" (( "(") (binary_expression "local_908 == (stat64 *)0x0" (identifier "local_908") (== "==") (cast_expression "(stat64 *)0x0" (( "(") (type_descriptor "stat64 *" (type_identifier "stat64") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (goto_statement "goto LAB_00012354;" (goto "goto") (statement_identifier "LAB_00012354") (; ";"))) (if_statement "if (local_81a != '\0') goto LAB_00012354;" (if "if") (parenthesized_expression "(local_81a != '\0')" (( "(") (binary_expression "local_81a != '\0'" (identifier "local_81a") (!= "!=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (goto_statement "goto LAB_00012354;" (goto "goto") (statement_identifier "LAB_00012354") (; ";"))) (expression_statement "puVar43 = local_174;" (assignment_expression "puVar43 = local_174" (identifier "puVar43") (= "=") (identifier "local_174")) (; ";")) (expression_statement "psVar25 = (stat64 *)"OS error";" (assignment_expression "psVar25 = (stat64 *)"OS error"" (identifier "psVar25") (= "=") (cast_expression "(stat64 *)"OS error"" (( "(") (type_descriptor "stat64 *" (type_identifier "stat64") (abstract_pointer_declarator "*" (* "*"))) () ")") (string_literal ""OS error"" (" """) (string_content "OS error") (" """)))) (; ";")) (expression_statement "puVar29 = puVar43;" (assignment_expression "puVar29 = puVar43" (identifier "puVar29") (= "=") (identifier "puVar43")) (; ";")) (for_statement "for (iVar14 = 9; iVar14 != 0; iVar14 = iVar14 + -1) {\n      *puVar29 = (char)psVar25->st_dev;\n      psVar25 = (stat64 *)((int)psVar25 + (uint)bVar32 * -2 + 1);\n      puVar29 = puVar29 + (uint)bVar32 * -2 + 1;\n    }" (for "for") (( "(") (assignment_expression "iVar14 = 9" (identifier "iVar14") (= "=") (number_literal "9")) (; ";") (binary_expression "iVar14 != 0" (identifier "iVar14") (!= "!=") (number_literal "0")) (; ";") (assignment_expression "iVar14 = iVar14 + -1" (identifier "iVar14") (= "=") (binary_expression "iVar14 + -1" (identifier "iVar14") (+ "+") (number_literal "-1"))) () ")") (compound_statement "{\n      *puVar29 = (char)psVar25->st_dev;\n      psVar25 = (stat64 *)((int)psVar25 + (uint)bVar32 * -2 + 1);\n      puVar29 = puVar29 + (uint)bVar32 * -2 + 1;\n    }" ({ "{") (expression_statement "*puVar29 = (char)psVar25->st_dev;" (assignment_expression "*puVar29 = (char)psVar25->st_dev" (pointer_expression "*puVar29" (* "*") (identifier "puVar29")) (= "=") (cast_expression "(char)psVar25->st_dev" (( "(") (type_descriptor "char" (primitive_type "char")) () ")") (field_expression "psVar25->st_dev" (identifier "psVar25") (-> "->") (field_identifier "st_dev")))) (; ";")) (expression_statement "psVar25 = (stat64 *)((int)psVar25 + (uint)bVar32 * -2 + 1);" (assignment_expression "psVar25 = (stat64 *)((int)psVar25 + (uint)bVar32 * -2 + 1)" (identifier "psVar25") (= "=") (cast_expression "(stat64 *)((int)psVar25 + (uint)bVar32 * -2 + 1)" (( "(") (type_descriptor "stat64 *" (type_identifier "stat64") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)psVar25 + (uint)bVar32 * -2 + 1)" (( "(") (binary_expression "(int)psVar25 + (uint)bVar32 * -2 + 1" (binary_expression "(int)psVar25 + (uint)bVar32 * -2" (cast_expression "(int)psVar25" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "psVar25")) (+ "+") (binary_expression "(uint)bVar32 * -2" (cast_expression "(uint)bVar32" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "bVar32")) (* "*") (number_literal "-2"))) (+ "+") (number_literal "1")) () ")")))) (; ";")) (expression_statement "puVar29 = puVar29 + (uint)bVar32 * -2 + 1;" (assignment_expression "puVar29 = puVar29 + (uint)bVar32 * -2 + 1" (identifier "puVar29") (= "=") (binary_expression "puVar29 + (uint)bVar32 * -2 + 1" (binary_expression "puVar29 + (uint)bVar32 * -2" (identifier "puVar29") (+ "+") (binary_expression "(uint)bVar32 * -2" (cast_expression "(uint)bVar32" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "bVar32")) (* "*") (number_literal "-2"))) (+ "+") (number_literal "1"))) (; ";")) (} "}"))) (expression_statement "uVar16 = 0;" (assignment_expression "uVar16 = 0" (identifier "uVar16") (= "=") (number_literal "0")) (; ";")) (if_statement "if (0 < (int)local_908) {\n      sg_get_category_sense_str(local_908,0x50,puVar43,psVar38);\n      uVar16 = extraout_ECX_02;\n    }" (if "if") (parenthesized_expression "(0 < (int)local_908)" (( "(") (binary_expression "0 < (int)local_908" (number_literal "0") (< "<") (cast_expression "(int)local_908" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_908"))) () ")")) (compound_statement "{\n      sg_get_category_sense_str(local_908,0x50,puVar43,psVar38);\n      uVar16 = extraout_ECX_02;\n    }" ({ "{") (expression_statement "sg_get_category_sense_str(local_908,0x50,puVar43,psVar38);" (call_expression "sg_get_category_sense_str(local_908,0x50,puVar43,psVar38)" (identifier "sg_get_category_sense_str") (argument_list "(local_908,0x50,puVar43,psVar38)" (( "(") (identifier "local_908") (, ",") (number_literal "0x50") (, ",") (identifier "puVar43") (, ",") (identifier "psVar38") () ")"))) (; ";")) (expression_statement "uVar16 = extraout_ECX_02;" (assignment_expression "uVar16 = extraout_ECX_02" (identifier "uVar16") (= "=") (identifier "extraout_ECX_02")) (; ";")) (} "}"))) (expression_statement "pr2serr("%s: %s\n",local_790,puVar43,uVar16);" (call_expression "pr2serr("%s: %s\n",local_790,puVar43,uVar16)" (identifier "pr2serr") (argument_list "("%s: %s\n",local_790,puVar43,uVar16)" (( "(") (string_literal ""%s: %s\n"" (" """) (string_content "%s: %s") (escape_sequence "\n") (" """)) (, ",") (identifier "local_790") (, ",") (identifier "puVar43") (, ",") (identifier "uVar16") () ")"))) (; ";")) (goto_statement "goto LAB_00012354;" (goto "goto") (statement_identifier "LAB_00012354") (; ";")) (} "}"))) (expression_statement "local_8e8 = (void *)0x0;" (assignment_expression "local_8e8 = (void *)0x0" (identifier "local_8e8") (= "=") (cast_expression "(void *)0x0" (( "(") (type_descriptor "void *" (primitive_type "void") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "local_8f6 = local_8f8;" (assignment_expression "local_8f6 = local_8f8" (identifier "local_8f6") (= "=") (identifier "local_8f8")) (; ";")) (expression_statement "local_8ec = (undefined1  [4])local_8f4;" (assignment_expression "local_8ec = (undefined1  [4])local_8f4" (identifier "local_8ec") (= "=") (cast_expression "(undefined1  [4])local_8f4" (( "(") (type_descriptor "undefined1  [4]" (type_identifier "undefined1") (abstract_array_declarator "[4]" ([ "[") (number_literal "4") (] "]"))) () ")") (identifier "local_8f4"))) (; ";")) (if_statement "if (local_81c != '\0') {\n    if (local_7e2 == 0) {\n      if (local_7e0 == 0) {\n        psVar17 = local_93c;\n        if (local_93c == (stat64 *)0x0) {\n          pr2serr("With --combined= if DOF, RD are 0 and IF has an unknown length\nthen give up\n");\n          local_908 = (stat64 *)0x1f;\n          goto LAB_00012354;\n        }\n      }\n      else {\n        psVar17 = (stat64 *)((local_7e0 + 1) * 0x20);\n      }\n      if ((uint)psVar17 % (uint)local_7d4 != 0) {\n        psVar17 = (stat64 *)(((uint)psVar17 / (uint)local_7d4 + 1) * (int)local_7d4);\n      }\n    }\n    else {\n      psVar17 = (stat64 *)((uint)local_7e2 * (int)local_7d4);\n    }\n    ppvVar39 = &local_8e8;\n    uVar16 = 0;\n    psVar38 = (stat64 *)0x0;\n    psVar25 = (stat64 *)sg_memalign(psVar17,0,ppvVar39,0);\n    if (psVar25 == (stat64 *)0x0) {\nLAB_000141a6:\n      pcVar15 = "unable to allocate aligned memory for scatterlist+data\n";\n      goto LAB_00013bea;\n    }\n    local_908 = (stat64 *)FUN_00014a80("IF c1");\n    if (local_908 != (stat64 *)0x0) goto LAB_000133fd;\n    cVar6 = FUN_000146a0(&local_8f6,local_8ec,0,0);\n    if (cVar6 != '\0') {\n      if ((local_7e0 == 0) || (local_7e0 == local_8f6)) {\n        local_7e0 = local_8f6;\nLAB_00013fe3:\n        local_908 = (stat64 *)((local_7e0 + 1) * 0x20);\n        if ((uint)local_908 % (uint)local_7d4 != 0) {\n          local_908 = (stat64 *)(((uint)local_908 / (uint)local_7d4 + 1) * (int)local_7d4);\n        }\n        uVar7 = (uint)local_7e2;\n        uVar24 = uVar7 * (int)local_7d4;\n        psVar38 = local_908;\n        local_8f6 = local_7e0;\n        if (uVar24 - (int)local_908 != 0) {\n          if (uVar24 < local_908) {\n            pr2serr("%s: Cannot fit %ss (%u) in given LB data offset (%u)\n","process_scattered",\n                    "LBA range descriptor",(uint)local_7e0,uVar7);\n            goto LAB_000133f3;\n          }\n          psVar38 = (stat64 *)uVar24;\n          if ((((uint)psVar18 | local_7f8) != 0) &&\n             (pr2serr("%s: empty blocks before LB data offset (%u), could be okay\n",\n                      "process_scattered",uVar7,(uint)psVar18 | local_7f8), local_7f8 != 0)) {\n            pr2serr("Exiting due to --strict; perhaps try again with --combined=%u\n",\n                    (uint)local_908 / (uint)local_7d4,psVar25,psVar25);\n            local_908 = (stat64 *)0xf;\n            goto LAB_000133fd;\n          }\n        }\n        psVar38 = (stat64 *)((int)local_8ec * (int)local_7d4 + (int)psVar38);\n        if (psVar38 <= psVar17) {\nLAB_0001418c:\n          local_7cc = (stat64 *)local_8ec;\n          local_7a4 = (stat64 *)((int)local_8ec * (int)local_7d4);\n          goto LAB_00013962;\n        }\n        if (local_93c != psVar38) {\n          if (local_93c < psVar38) {\n            pr2serr("Calculated dout length (%u) %s bytes available in IF (%u)\n",psVar38,\n                    &DAT_000170dd,local_93c);\n          }\n          else if ((psVar18 == (stat64 *)0x0 && local_7f8 == 0) ||\n                  (pr2serr("Calculated dout length (%u) %s bytes available in IF (%u)\n",psVar38,\n                           &DAT_00017110,local_93c), local_7f8 == 0)) goto LAB_00014113;\n          goto LAB_000133f3;\n        }\nLAB_00014113:\n        uVar33 = sg_memalign(psVar38,0,&local_8e4,0);\n        uVar16 = (undefined4)((ulonglong)uVar33 >> 0x20);\n        psVar38 = (stat64 *)uVar33;\n        if (psVar38 != (stat64 *)0x0) {\n          memcpy(psVar38,psVar25,(size_t)psVar17);\n          free(local_8e8);\n          local_8e8 = local_8e4;\n          local_908 = (stat64 *)FUN_00014a80("IF c2",psVar25,psVar17,uVar16);\n          psVar25 = psVar38;\n          if (local_908 != (stat64 *)0x0) goto LAB_000133fd;\n          goto LAB_0001418c;\n        }\nLAB_00014273:\n        pcVar15 = "unable to allocate memory for final scatterlist+data\n";\n        goto LAB_00013fbc;\n      }\n      if (local_8f6 < local_7e0) {\n        pr2serr("RD (%u) %s number of %ss (%u) found in IF\n",local_7e0,&DAT_000170dd,\n                "LBA range descriptor",local_8f6);\n      }\n      else if ((psVar18 == (stat64 *)0x0 && local_7f8 == 0) ||\n              (pr2serr("RD (%u) %s number of %ss (%u) found in IF\n",local_7e0,&DAT_00017110,\n                       "LBA range descriptor",local_8f6), local_7f8 == 0)) {\n        local_908 = (stat64 *)0x0;\n        for (psVar38 = psVar25; (stat64 *)(&psVar25->st_dev + (uint)local_7e0 * 4) != psVar38;\n            psVar38 = (stat64 *)&psVar38->st_rdev) {\n          uVar7 = psVar38->__pad2;\n          local_908 = (stat64 *)\n                      ((int)&local_908->st_dev +\n                      (uVar7 >> 0x18 | (uVar7 & 0xff0000) >> 8 | (uVar7 & 0xff00) << 8 |\n                      uVar7 << 0x18));\n        }\n        local_8ec = (undefined1  [4])local_908;\n        goto LAB_00013fe3;\n      }\n    }\nLAB_000133f3:\n    local_908 = (stat64 *)0xf;\n    goto LAB_000133fd;\n  }" (if "if") (parenthesized_expression "(local_81c != '\0')" (( "(") (binary_expression "local_81c != '\0'" (identifier "local_81c") (!= "!=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n    if (local_7e2 == 0) {\n      if (local_7e0 == 0) {\n        psVar17 = local_93c;\n        if (local_93c == (stat64 *)0x0) {\n          pr2serr("With --combined= if DOF, RD are 0 and IF has an unknown length\nthen give up\n");\n          local_908 = (stat64 *)0x1f;\n          goto LAB_00012354;\n        }\n      }\n      else {\n        psVar17 = (stat64 *)((local_7e0 + 1) * 0x20);\n      }\n      if ((uint)psVar17 % (uint)local_7d4 != 0) {\n        psVar17 = (stat64 *)(((uint)psVar17 / (uint)local_7d4 + 1) * (int)local_7d4);\n      }\n    }\n    else {\n      psVar17 = (stat64 *)((uint)local_7e2 * (int)local_7d4);\n    }\n    ppvVar39 = &local_8e8;\n    uVar16 = 0;\n    psVar38 = (stat64 *)0x0;\n    psVar25 = (stat64 *)sg_memalign(psVar17,0,ppvVar39,0);\n    if (psVar25 == (stat64 *)0x0) {\nLAB_000141a6:\n      pcVar15 = "unable to allocate aligned memory for scatterlist+data\n";\n      goto LAB_00013bea;\n    }\n    local_908 = (stat64 *)FUN_00014a80("IF c1");\n    if (local_908 != (stat64 *)0x0) goto LAB_000133fd;\n    cVar6 = FUN_000146a0(&local_8f6,local_8ec,0,0);\n    if (cVar6 != '\0') {\n      if ((local_7e0 == 0) || (local_7e0 == local_8f6)) {\n        local_7e0 = local_8f6;\nLAB_00013fe3:\n        local_908 = (stat64 *)((local_7e0 + 1) * 0x20);\n        if ((uint)local_908 % (uint)local_7d4 != 0) {\n          local_908 = (stat64 *)(((uint)local_908 / (uint)local_7d4 + 1) * (int)local_7d4);\n        }\n        uVar7 = (uint)local_7e2;\n        uVar24 = uVar7 * (int)local_7d4;\n        psVar38 = local_908;\n        local_8f6 = local_7e0;\n        if (uVar24 - (int)local_908 != 0) {\n          if (uVar24 < local_908) {\n            pr2serr("%s: Cannot fit %ss (%u) in given LB data offset (%u)\n","process_scattered",\n                    "LBA range descriptor",(uint)local_7e0,uVar7);\n            goto LAB_000133f3;\n          }\n          psVar38 = (stat64 *)uVar24;\n          if ((((uint)psVar18 | local_7f8) != 0) &&\n             (pr2serr("%s: empty blocks before LB data offset (%u), could be okay\n",\n                      "process_scattered",uVar7,(uint)psVar18 | local_7f8), local_7f8 != 0)) {\n            pr2serr("Exiting due to --strict; perhaps try again with --combined=%u\n",\n                    (uint)local_908 / (uint)local_7d4,psVar25,psVar25);\n            local_908 = (stat64 *)0xf;\n            goto LAB_000133fd;\n          }\n        }\n        psVar38 = (stat64 *)((int)local_8ec * (int)local_7d4 + (int)psVar38);\n        if (psVar38 <= psVar17) {\nLAB_0001418c:\n          local_7cc = (stat64 *)local_8ec;\n          local_7a4 = (stat64 *)((int)local_8ec * (int)local_7d4);\n          goto LAB_00013962;\n        }\n        if (local_93c != psVar38) {\n          if (local_93c < psVar38) {\n            pr2serr("Calculated dout length (%u) %s bytes available in IF (%u)\n",psVar38,\n                    &DAT_000170dd,local_93c);\n          }\n          else if ((psVar18 == (stat64 *)0x0 && local_7f8 == 0) ||\n                  (pr2serr("Calculated dout length (%u) %s bytes available in IF (%u)\n",psVar38,\n                           &DAT_00017110,local_93c), local_7f8 == 0)) goto LAB_00014113;\n          goto LAB_000133f3;\n        }\nLAB_00014113:\n        uVar33 = sg_memalign(psVar38,0,&local_8e4,0);\n        uVar16 = (undefined4)((ulonglong)uVar33 >> 0x20);\n        psVar38 = (stat64 *)uVar33;\n        if (psVar38 != (stat64 *)0x0) {\n          memcpy(psVar38,psVar25,(size_t)psVar17);\n          free(local_8e8);\n          local_8e8 = local_8e4;\n          local_908 = (stat64 *)FUN_00014a80("IF c2",psVar25,psVar17,uVar16);\n          psVar25 = psVar38;\n          if (local_908 != (stat64 *)0x0) goto LAB_000133fd;\n          goto LAB_0001418c;\n        }\nLAB_00014273:\n        pcVar15 = "unable to allocate memory for final scatterlist+data\n";\n        goto LAB_00013fbc;\n      }\n      if (local_8f6 < local_7e0) {\n        pr2serr("RD (%u) %s number of %ss (%u) found in IF\n",local_7e0,&DAT_000170dd,\n                "LBA range descriptor",local_8f6);\n      }\n      else if ((psVar18 == (stat64 *)0x0 && local_7f8 == 0) ||\n              (pr2serr("RD (%u) %s number of %ss (%u) found in IF\n",local_7e0,&DAT_00017110,\n                       "LBA range descriptor",local_8f6), local_7f8 == 0)) {\n        local_908 = (stat64 *)0x0;\n        for (psVar38 = psVar25; (stat64 *)(&psVar25->st_dev + (uint)local_7e0 * 4) != psVar38;\n            psVar38 = (stat64 *)&psVar38->st_rdev) {\n          uVar7 = psVar38->__pad2;\n          local_908 = (stat64 *)\n                      ((int)&local_908->st_dev +\n                      (uVar7 >> 0x18 | (uVar7 & 0xff0000) >> 8 | (uVar7 & 0xff00) << 8 |\n                      uVar7 << 0x18));\n        }\n        local_8ec = (undefined1  [4])local_908;\n        goto LAB_00013fe3;\n      }\n    }\nLAB_000133f3:\n    local_908 = (stat64 *)0xf;\n    goto LAB_000133fd;\n  }" ({ "{") (if_statement "if (local_7e2 == 0) {\n      if (local_7e0 == 0) {\n        psVar17 = local_93c;\n        if (local_93c == (stat64 *)0x0) {\n          pr2serr("With --combined= if DOF, RD are 0 and IF has an unknown length\nthen give up\n");\n          local_908 = (stat64 *)0x1f;\n          goto LAB_00012354;\n        }\n      }\n      else {\n        psVar17 = (stat64 *)((local_7e0 + 1) * 0x20);\n      }\n      if ((uint)psVar17 % (uint)local_7d4 != 0) {\n        psVar17 = (stat64 *)(((uint)psVar17 / (uint)local_7d4 + 1) * (int)local_7d4);\n      }\n    }\n    else {\n      psVar17 = (stat64 *)((uint)local_7e2 * (int)local_7d4);\n    }" (if "if") (parenthesized_expression "(local_7e2 == 0)" (( "(") (binary_expression "local_7e2 == 0" (identifier "local_7e2") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n      if (local_7e0 == 0) {\n        psVar17 = local_93c;\n        if (local_93c == (stat64 *)0x0) {\n          pr2serr("With --combined= if DOF, RD are 0 and IF has an unknown length\nthen give up\n");\n          local_908 = (stat64 *)0x1f;\n          goto LAB_00012354;\n        }\n      }\n      else {\n        psVar17 = (stat64 *)((local_7e0 + 1) * 0x20);\n      }\n      if ((uint)psVar17 % (uint)local_7d4 != 0) {\n        psVar17 = (stat64 *)(((uint)psVar17 / (uint)local_7d4 + 1) * (int)local_7d4);\n      }\n    }" ({ "{") (if_statement "if (local_7e0 == 0) {\n        psVar17 = local_93c;\n        if (local_93c == (stat64 *)0x0) {\n          pr2serr("With --combined= if DOF, RD are 0 and IF has an unknown length\nthen give up\n");\n          local_908 = (stat64 *)0x1f;\n          goto LAB_00012354;\n        }\n      }\n      else {\n        psVar17 = (stat64 *)((local_7e0 + 1) * 0x20);\n      }" (if "if") (parenthesized_expression "(local_7e0 == 0)" (( "(") (binary_expression "local_7e0 == 0" (identifier "local_7e0") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n        psVar17 = local_93c;\n        if (local_93c == (stat64 *)0x0) {\n          pr2serr("With --combined= if DOF, RD are 0 and IF has an unknown length\nthen give up\n");\n          local_908 = (stat64 *)0x1f;\n          goto LAB_00012354;\n        }\n      }" ({ "{") (expression_statement "psVar17 = local_93c;" (assignment_expression "psVar17 = local_93c" (identifier "psVar17") (= "=") (identifier "local_93c")) (; ";")) (if_statement "if (local_93c == (stat64 *)0x0) {\n          pr2serr("With --combined= if DOF, RD are 0 and IF has an unknown length\nthen give up\n");\n          local_908 = (stat64 *)0x1f;\n          goto LAB_00012354;\n        }" (if "if") (parenthesized_expression "(local_93c == (stat64 *)0x0)" (( "(") (binary_expression "local_93c == (stat64 *)0x0" (identifier "local_93c") (== "==") (cast_expression "(stat64 *)0x0" (( "(") (type_descriptor "stat64 *" (type_identifier "stat64") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n          pr2serr("With --combined= if DOF, RD are 0 and IF has an unknown length\nthen give up\n");\n          local_908 = (stat64 *)0x1f;\n          goto LAB_00012354;\n        }" ({ "{") (expression_statement "pr2serr("With --combined= if DOF, RD are 0 and IF has an unknown length\nthen give up\n");" (call_expression "pr2serr("With --combined= if DOF, RD are 0 and IF has an unknown length\nthen give up\n")" (identifier "pr2serr") (argument_list "("With --combined= if DOF, RD are 0 and IF has an unknown length\nthen give up\n")" (( "(") (string_literal ""With --combined= if DOF, RD are 0 and IF has an unknown length\nthen give up\n"" (" """) (string_content "With --combined= if DOF, RD are 0 and IF has an unknown length") (escape_sequence "\n") (string_content "then give up") (escape_sequence "\n") (" """)) () ")"))) (; ";")) (expression_statement "local_908 = (stat64 *)0x1f;" (assignment_expression "local_908 = (stat64 *)0x1f" (identifier "local_908") (= "=") (cast_expression "(stat64 *)0x1f" (( "(") (type_descriptor "stat64 *" (type_identifier "stat64") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x1f"))) (; ";")) (goto_statement "goto LAB_00012354;" (goto "goto") (statement_identifier "LAB_00012354") (; ";")) (} "}"))) (} "}")) (else_clause "else {\n        psVar17 = (stat64 *)((local_7e0 + 1) * 0x20);\n      }" (else "else") (compound_statement "{\n        psVar17 = (stat64 *)((local_7e0 + 1) * 0x20);\n      }" ({ "{") (expression_statement "psVar17 = (stat64 *)((local_7e0 + 1) * 0x20);" (assignment_expression "psVar17 = (stat64 *)((local_7e0 + 1) * 0x20)" (identifier "psVar17") (= "=") (cast_expression "(stat64 *)((local_7e0 + 1) * 0x20)" (( "(") (type_descriptor "stat64 *" (type_identifier "stat64") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((local_7e0 + 1) * 0x20)" (( "(") (binary_expression "(local_7e0 + 1) * 0x20" (parenthesized_expression "(local_7e0 + 1)" (( "(") (binary_expression "local_7e0 + 1" (identifier "local_7e0") (+ "+") (number_literal "1")) () ")")) (* "*") (number_literal "0x20")) () ")")))) (; ";")) (} "}")))) (if_statement "if ((uint)psVar17 % (uint)local_7d4 != 0) {\n        psVar17 = (stat64 *)(((uint)psVar17 / (uint)local_7d4 + 1) * (int)local_7d4);\n      }" (if "if") (parenthesized_expression "((uint)psVar17 % (uint)local_7d4 != 0)" (( "(") (binary_expression "(uint)psVar17 % (uint)local_7d4 != 0" (binary_expression "(uint)psVar17 % (uint)local_7d4" (cast_expression "(uint)psVar17" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "psVar17")) (% "%") (cast_expression "(uint)local_7d4" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "local_7d4"))) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n        psVar17 = (stat64 *)(((uint)psVar17 / (uint)local_7d4 + 1) * (int)local_7d4);\n      }" ({ "{") (expression_statement "psVar17 = (stat64 *)(((uint)psVar17 / (uint)local_7d4 + 1) * (int)local_7d4);" (assignment_expression "psVar17 = (stat64 *)(((uint)psVar17 / (uint)local_7d4 + 1) * (int)local_7d4)" (identifier "psVar17") (= "=") (cast_expression "(stat64 *)(((uint)psVar17 / (uint)local_7d4 + 1) * (int)local_7d4)" (( "(") (type_descriptor "stat64 *" (type_identifier "stat64") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(((uint)psVar17 / (uint)local_7d4 + 1) * (int)local_7d4)" (( "(") (binary_expression "((uint)psVar17 / (uint)local_7d4 + 1) * (int)local_7d4" (parenthesized_expression "((uint)psVar17 / (uint)local_7d4 + 1)" (( "(") (binary_expression "(uint)psVar17 / (uint)local_7d4 + 1" (binary_expression "(uint)psVar17 / (uint)local_7d4" (cast_expression "(uint)psVar17" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "psVar17")) (/ "/") (cast_expression "(uint)local_7d4" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "local_7d4"))) (+ "+") (number_literal "1")) () ")")) (* "*") (cast_expression "(int)local_7d4" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_7d4"))) () ")")))) (; ";")) (} "}"))) (} "}")) (else_clause "else {\n      psVar17 = (stat64 *)((uint)local_7e2 * (int)local_7d4);\n    }" (else "else") (compound_statement "{\n      psVar17 = (stat64 *)((uint)local_7e2 * (int)local_7d4);\n    }" ({ "{") (expression_statement "psVar17 = (stat64 *)((uint)local_7e2 * (int)local_7d4);" (assignment_expression "psVar17 = (stat64 *)((uint)local_7e2 * (int)local_7d4)" (identifier "psVar17") (= "=") (cast_expression "(stat64 *)((uint)local_7e2 * (int)local_7d4)" (( "(") (type_descriptor "stat64 *" (type_identifier "stat64") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((uint)local_7e2 * (int)local_7d4)" (( "(") (binary_expression "(uint)local_7e2 * (int)local_7d4" (cast_expression "(uint)local_7e2" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "local_7e2")) (* "*") (cast_expression "(int)local_7d4" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_7d4"))) () ")")))) (; ";")) (} "}")))) (expression_statement "ppvVar39 = &local_8e8;" (assignment_expression "ppvVar39 = &local_8e8" (identifier "ppvVar39") (= "=") (pointer_expression "&local_8e8" (& "&") (identifier "local_8e8"))) (; ";")) (expression_statement "uVar16 = 0;" (assignment_expression "uVar16 = 0" (identifier "uVar16") (= "=") (number_literal "0")) (; ";")) (expression_statement "psVar38 = (stat64 *)0x0;" (assignment_expression "psVar38 = (stat64 *)0x0" (identifier "psVar38") (= "=") (cast_expression "(stat64 *)0x0" (( "(") (type_descriptor "stat64 *" (type_identifier "stat64") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "psVar25 = (stat64 *)sg_memalign(psVar17,0,ppvVar39,0);" (assignment_expression "psVar25 = (stat64 *)sg_memalign(psVar17,0,ppvVar39,0)" (identifier "psVar25") (= "=") (cast_expression "(stat64 *)sg_memalign(psVar17,0,ppvVar39,0)" (( "(") (type_descriptor "stat64 *" (type_identifier "stat64") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "sg_memalign(psVar17,0,ppvVar39,0)" (identifier "sg_memalign") (argument_list "(psVar17,0,ppvVar39,0)" (( "(") (identifier "psVar17") (, ",") (number_literal "0") (, ",") (identifier "ppvVar39") (, ",") (number_literal "0") () ")"))))) (; ";")) (if_statement "if (psVar25 == (stat64 *)0x0) {\nLAB_000141a6:\n      pcVar15 = "unable to allocate aligned memory for scatterlist+data\n";\n      goto LAB_00013bea;\n    }" (if "if") (parenthesized_expression "(psVar25 == (stat64 *)0x0)" (( "(") (binary_expression "psVar25 == (stat64 *)0x0" (identifier "psVar25") (== "==") (cast_expression "(stat64 *)0x0" (( "(") (type_descriptor "stat64 *" (type_identifier "stat64") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\nLAB_000141a6:\n      pcVar15 = "unable to allocate aligned memory for scatterlist+data\n";\n      goto LAB_00013bea;\n    }" ({ "{") (labeled_statement "LAB_000141a6:\n      pcVar15 = "unable to allocate aligned memory for scatterlist+data\n";" (statement_identifier "LAB_000141a6") (: ":") (expression_statement "pcVar15 = "unable to allocate aligned memory for scatterlist+data\n";" (assignment_expression "pcVar15 = "unable to allocate aligned memory for scatterlist+data\n"" (identifier "pcVar15") (= "=") (string_literal ""unable to allocate aligned memory for scatterlist+data\n"" (" """) (string_content "unable to allocate aligned memory for scatterlist+data") (escape_sequence "\n") (" """))) (; ";"))) (goto_statement "goto LAB_00013bea;" (goto "goto") (statement_identifier "LAB_00013bea") (; ";")) (} "}"))) (expression_statement "local_908 = (stat64 *)FUN_00014a80("IF c1");" (assignment_expression "local_908 = (stat64 *)FUN_00014a80("IF c1")" (identifier "local_908") (= "=") (cast_expression "(stat64 *)FUN_00014a80("IF c1")" (( "(") (type_descriptor "stat64 *" (type_identifier "stat64") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "FUN_00014a80("IF c1")" (identifier "FUN_00014a80") (argument_list "("IF c1")" (( "(") (string_literal ""IF c1"" (" """) (string_content "IF c1") (" """)) () ")"))))) (; ";")) (if_statement "if (local_908 != (stat64 *)0x0) goto LAB_000133fd;" (if "if") (parenthesized_expression "(local_908 != (stat64 *)0x0)" (( "(") (binary_expression "local_908 != (stat64 *)0x0" (identifier "local_908") (!= "!=") (cast_expression "(stat64 *)0x0" (( "(") (type_descriptor "stat64 *" (type_identifier "stat64") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (goto_statement "goto LAB_000133fd;" (goto "goto") (statement_identifier "LAB_000133fd") (; ";"))) (expression_statement "cVar6 = FUN_000146a0(&local_8f6,local_8ec,0,0);" (assignment_expression "cVar6 = FUN_000146a0(&local_8f6,local_8ec,0,0)" (identifier "cVar6") (= "=") (call_expression "FUN_000146a0(&local_8f6,local_8ec,0,0)" (identifier "FUN_000146a0") (argument_list "(&local_8f6,local_8ec,0,0)" (( "(") (pointer_expression "&local_8f6" (& "&") (identifier "local_8f6")) (, ",") (identifier "local_8ec") (, ",") (number_literal "0") (, ",") (number_literal "0") () ")")))) (; ";")) (if_statement "if (cVar6 != '\0') {\n      if ((local_7e0 == 0) || (local_7e0 == local_8f6)) {\n        local_7e0 = local_8f6;\nLAB_00013fe3:\n        local_908 = (stat64 *)((local_7e0 + 1) * 0x20);\n        if ((uint)local_908 % (uint)local_7d4 != 0) {\n          local_908 = (stat64 *)(((uint)local_908 / (uint)local_7d4 + 1) * (int)local_7d4);\n        }\n        uVar7 = (uint)local_7e2;\n        uVar24 = uVar7 * (int)local_7d4;\n        psVar38 = local_908;\n        local_8f6 = local_7e0;\n        if (uVar24 - (int)local_908 != 0) {\n          if (uVar24 < local_908) {\n            pr2serr("%s: Cannot fit %ss (%u) in given LB data offset (%u)\n","process_scattered",\n                    "LBA range descriptor",(uint)local_7e0,uVar7);\n            goto LAB_000133f3;\n          }\n          psVar38 = (stat64 *)uVar24;\n          if ((((uint)psVar18 | local_7f8) != 0) &&\n             (pr2serr("%s: empty blocks before LB data offset (%u), could be okay\n",\n                      "process_scattered",uVar7,(uint)psVar18 | local_7f8), local_7f8 != 0)) {\n            pr2serr("Exiting due to --strict; perhaps try again with --combined=%u\n",\n                    (uint)local_908 / (uint)local_7d4,psVar25,psVar25);\n            local_908 = (stat64 *)0xf;\n            goto LAB_000133fd;\n          }\n        }\n        psVar38 = (stat64 *)((int)local_8ec * (int)local_7d4 + (int)psVar38);\n        if (psVar38 <= psVar17) {\nLAB_0001418c:\n          local_7cc = (stat64 *)local_8ec;\n          local_7a4 = (stat64 *)((int)local_8ec * (int)local_7d4);\n          goto LAB_00013962;\n        }\n        if (local_93c != psVar38) {\n          if (local_93c < psVar38) {\n            pr2serr("Calculated dout length (%u) %s bytes available in IF (%u)\n",psVar38,\n                    &DAT_000170dd,local_93c);\n          }\n          else if ((psVar18 == (stat64 *)0x0 && local_7f8 == 0) ||\n                  (pr2serr("Calculated dout length (%u) %s bytes available in IF (%u)\n",psVar38,\n                           &DAT_00017110,local_93c), local_7f8 == 0)) goto LAB_00014113;\n          goto LAB_000133f3;\n        }\nLAB_00014113:\n        uVar33 = sg_memalign(psVar38,0,&local_8e4,0);\n        uVar16 = (undefined4)((ulonglong)uVar33 >> 0x20);\n        psVar38 = (stat64 *)uVar33;\n        if (psVar38 != (stat64 *)0x0) {\n          memcpy(psVar38,psVar25,(size_t)psVar17);\n          free(local_8e8);\n          local_8e8 = local_8e4;\n          local_908 = (stat64 *)FUN_00014a80("IF c2",psVar25,psVar17,uVar16);\n          psVar25 = psVar38;\n          if (local_908 != (stat64 *)0x0) goto LAB_000133fd;\n          goto LAB_0001418c;\n        }\nLAB_00014273:\n        pcVar15 = "unable to allocate memory for final scatterlist+data\n";\n        goto LAB_00013fbc;\n      }\n      if (local_8f6 < local_7e0) {\n        pr2serr("RD (%u) %s number of %ss (%u) found in IF\n",local_7e0,&DAT_000170dd,\n                "LBA range descriptor",local_8f6);\n      }\n      else if ((psVar18 == (stat64 *)0x0 && local_7f8 == 0) ||\n              (pr2serr("RD (%u) %s number of %ss (%u) found in IF\n",local_7e0,&DAT_00017110,\n                       "LBA range descriptor",local_8f6), local_7f8 == 0)) {\n        local_908 = (stat64 *)0x0;\n        for (psVar38 = psVar25; (stat64 *)(&psVar25->st_dev + (uint)local_7e0 * 4) != psVar38;\n            psVar38 = (stat64 *)&psVar38->st_rdev) {\n          uVar7 = psVar38->__pad2;\n          local_908 = (stat64 *)\n                      ((int)&local_908->st_dev +\n                      (uVar7 >> 0x18 | (uVar7 & 0xff0000) >> 8 | (uVar7 & 0xff00) << 8 |\n                      uVar7 << 0x18));\n        }\n        local_8ec = (undefined1  [4])local_908;\n        goto LAB_00013fe3;\n      }\n    }" (if "if") (parenthesized_expression "(cVar6 != '\0')" (( "(") (binary_expression "cVar6 != '\0'" (identifier "cVar6") (!= "!=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n      if ((local_7e0 == 0) || (local_7e0 == local_8f6)) {\n        local_7e0 = local_8f6;\nLAB_00013fe3:\n        local_908 = (stat64 *)((local_7e0 + 1) * 0x20);\n        if ((uint)local_908 % (uint)local_7d4 != 0) {\n          local_908 = (stat64 *)(((uint)local_908 / (uint)local_7d4 + 1) * (int)local_7d4);\n        }\n        uVar7 = (uint)local_7e2;\n        uVar24 = uVar7 * (int)local_7d4;\n        psVar38 = local_908;\n        local_8f6 = local_7e0;\n        if (uVar24 - (int)local_908 != 0) {\n          if (uVar24 < local_908) {\n            pr2serr("%s: Cannot fit %ss (%u) in given LB data offset (%u)\n","process_scattered",\n                    "LBA range descriptor",(uint)local_7e0,uVar7);\n            goto LAB_000133f3;\n          }\n          psVar38 = (stat64 *)uVar24;\n          if ((((uint)psVar18 | local_7f8) != 0) &&\n             (pr2serr("%s: empty blocks before LB data offset (%u), could be okay\n",\n                      "process_scattered",uVar7,(uint)psVar18 | local_7f8), local_7f8 != 0)) {\n            pr2serr("Exiting due to --strict; perhaps try again with --combined=%u\n",\n                    (uint)local_908 / (uint)local_7d4,psVar25,psVar25);\n            local_908 = (stat64 *)0xf;\n            goto LAB_000133fd;\n          }\n        }\n        psVar38 = (stat64 *)((int)local_8ec * (int)local_7d4 + (int)psVar38);\n        if (psVar38 <= psVar17) {\nLAB_0001418c:\n          local_7cc = (stat64 *)local_8ec;\n          local_7a4 = (stat64 *)((int)local_8ec * (int)local_7d4);\n          goto LAB_00013962;\n        }\n        if (local_93c != psVar38) {\n          if (local_93c < psVar38) {\n            pr2serr("Calculated dout length (%u) %s bytes available in IF (%u)\n",psVar38,\n                    &DAT_000170dd,local_93c);\n          }\n          else if ((psVar18 == (stat64 *)0x0 && local_7f8 == 0) ||\n                  (pr2serr("Calculated dout length (%u) %s bytes available in IF (%u)\n",psVar38,\n                           &DAT_00017110,local_93c), local_7f8 == 0)) goto LAB_00014113;\n          goto LAB_000133f3;\n        }\nLAB_00014113:\n        uVar33 = sg_memalign(psVar38,0,&local_8e4,0);\n        uVar16 = (undefined4)((ulonglong)uVar33 >> 0x20);\n        psVar38 = (stat64 *)uVar33;\n        if (psVar38 != (stat64 *)0x0) {\n          memcpy(psVar38,psVar25,(size_t)psVar17);\n          free(local_8e8);\n          local_8e8 = local_8e4;\n          local_908 = (stat64 *)FUN_00014a80("IF c2",psVar25,psVar17,uVar16);\n          psVar25 = psVar38;\n          if (local_908 != (stat64 *)0x0) goto LAB_000133fd;\n          goto LAB_0001418c;\n        }\nLAB_00014273:\n        pcVar15 = "unable to allocate memory for final scatterlist+data\n";\n        goto LAB_00013fbc;\n      }\n      if (local_8f6 < local_7e0) {\n        pr2serr("RD (%u) %s number of %ss (%u) found in IF\n",local_7e0,&DAT_000170dd,\n                "LBA range descriptor",local_8f6);\n      }\n      else if ((psVar18 == (stat64 *)0x0 && local_7f8 == 0) ||\n              (pr2serr("RD (%u) %s number of %ss (%u) found in IF\n",local_7e0,&DAT_00017110,\n                       "LBA range descriptor",local_8f6), local_7f8 == 0)) {\n        local_908 = (stat64 *)0x0;\n        for (psVar38 = psVar25; (stat64 *)(&psVar25->st_dev + (uint)local_7e0 * 4) != psVar38;\n            psVar38 = (stat64 *)&psVar38->st_rdev) {\n          uVar7 = psVar38->__pad2;\n          local_908 = (stat64 *)\n                      ((int)&local_908->st_dev +\n                      (uVar7 >> 0x18 | (uVar7 & 0xff0000) >> 8 | (uVar7 & 0xff00) << 8 |\n                      uVar7 << 0x18));\n        }\n        local_8ec = (undefined1  [4])local_908;\n        goto LAB_00013fe3;\n      }\n    }" ({ "{") (if_statement "if ((local_7e0 == 0) || (local_7e0 == local_8f6)) {\n        local_7e0 = local_8f6;\nLAB_00013fe3:\n        local_908 = (stat64 *)((local_7e0 + 1) * 0x20);\n        if ((uint)local_908 % (uint)local_7d4 != 0) {\n          local_908 = (stat64 *)(((uint)local_908 / (uint)local_7d4 + 1) * (int)local_7d4);\n        }\n        uVar7 = (uint)local_7e2;\n        uVar24 = uVar7 * (int)local_7d4;\n        psVar38 = local_908;\n        local_8f6 = local_7e0;\n        if (uVar24 - (int)local_908 != 0) {\n          if (uVar24 < local_908) {\n            pr2serr("%s: Cannot fit %ss (%u) in given LB data offset (%u)\n","process_scattered",\n                    "LBA range descriptor",(uint)local_7e0,uVar7);\n            goto LAB_000133f3;\n          }\n          psVar38 = (stat64 *)uVar24;\n          if ((((uint)psVar18 | local_7f8) != 0) &&\n             (pr2serr("%s: empty blocks before LB data offset (%u), could be okay\n",\n                      "process_scattered",uVar7,(uint)psVar18 | local_7f8), local_7f8 != 0)) {\n            pr2serr("Exiting due to --strict; perhaps try again with --combined=%u\n",\n                    (uint)local_908 / (uint)local_7d4,psVar25,psVar25);\n            local_908 = (stat64 *)0xf;\n            goto LAB_000133fd;\n          }\n        }\n        psVar38 = (stat64 *)((int)local_8ec * (int)local_7d4 + (int)psVar38);\n        if (psVar38 <= psVar17) {\nLAB_0001418c:\n          local_7cc = (stat64 *)local_8ec;\n          local_7a4 = (stat64 *)((int)local_8ec * (int)local_7d4);\n          goto LAB_00013962;\n        }\n        if (local_93c != psVar38) {\n          if (local_93c < psVar38) {\n            pr2serr("Calculated dout length (%u) %s bytes available in IF (%u)\n",psVar38,\n                    &DAT_000170dd,local_93c);\n          }\n          else if ((psVar18 == (stat64 *)0x0 && local_7f8 == 0) ||\n                  (pr2serr("Calculated dout length (%u) %s bytes available in IF (%u)\n",psVar38,\n                           &DAT_00017110,local_93c), local_7f8 == 0)) goto LAB_00014113;\n          goto LAB_000133f3;\n        }\nLAB_00014113:\n        uVar33 = sg_memalign(psVar38,0,&local_8e4,0);\n        uVar16 = (undefined4)((ulonglong)uVar33 >> 0x20);\n        psVar38 = (stat64 *)uVar33;\n        if (psVar38 != (stat64 *)0x0) {\n          memcpy(psVar38,psVar25,(size_t)psVar17);\n          free(local_8e8);\n          local_8e8 = local_8e4;\n          local_908 = (stat64 *)FUN_00014a80("IF c2",psVar25,psVar17,uVar16);\n          psVar25 = psVar38;\n          if (local_908 != (stat64 *)0x0) goto LAB_000133fd;\n          goto LAB_0001418c;\n        }\nLAB_00014273:\n        pcVar15 = "unable to allocate memory for final scatterlist+data\n";\n        goto LAB_00013fbc;\n      }" (if "if") (parenthesized_expression "((local_7e0 == 0) || (local_7e0 == local_8f6))" (( "(") (binary_expression "(local_7e0 == 0) || (local_7e0 == local_8f6)" (parenthesized_expression "(local_7e0 == 0)" (( "(") (binary_expression "local_7e0 == 0" (identifier "local_7e0") (== "==") (number_literal "0")) () ")")) (|| "||") (parenthesized_expression "(local_7e0 == local_8f6)" (( "(") (binary_expression "local_7e0 == local_8f6" (identifier "local_7e0") (== "==") (identifier "local_8f6")) () ")"))) () ")")) (compound_statement "{\n        local_7e0 = local_8f6;\nLAB_00013fe3:\n        local_908 = (stat64 *)((local_7e0 + 1) * 0x20);\n        if ((uint)local_908 % (uint)local_7d4 != 0) {\n          local_908 = (stat64 *)(((uint)local_908 / (uint)local_7d4 + 1) * (int)local_7d4);\n        }\n        uVar7 = (uint)local_7e2;\n        uVar24 = uVar7 * (int)local_7d4;\n        psVar38 = local_908;\n        local_8f6 = local_7e0;\n        if (uVar24 - (int)local_908 != 0) {\n          if (uVar24 < local_908) {\n            pr2serr("%s: Cannot fit %ss (%u) in given LB data offset (%u)\n","process_scattered",\n                    "LBA range descriptor",(uint)local_7e0,uVar7);\n            goto LAB_000133f3;\n          }\n          psVar38 = (stat64 *)uVar24;\n          if ((((uint)psVar18 | local_7f8) != 0) &&\n             (pr2serr("%s: empty blocks before LB data offset (%u), could be okay\n",\n                      "process_scattered",uVar7,(uint)psVar18 | local_7f8), local_7f8 != 0)) {\n            pr2serr("Exiting due to --strict; perhaps try again with --combined=%u\n",\n                    (uint)local_908 / (uint)local_7d4,psVar25,psVar25);\n            local_908 = (stat64 *)0xf;\n            goto LAB_000133fd;\n          }\n        }\n        psVar38 = (stat64 *)((int)local_8ec * (int)local_7d4 + (int)psVar38);\n        if (psVar38 <= psVar17) {\nLAB_0001418c:\n          local_7cc = (stat64 *)local_8ec;\n          local_7a4 = (stat64 *)((int)local_8ec * (int)local_7d4);\n          goto LAB_00013962;\n        }\n        if (local_93c != psVar38) {\n          if (local_93c < psVar38) {\n            pr2serr("Calculated dout length (%u) %s bytes available in IF (%u)\n",psVar38,\n                    &DAT_000170dd,local_93c);\n          }\n          else if ((psVar18 == (stat64 *)0x0 && local_7f8 == 0) ||\n                  (pr2serr("Calculated dout length (%u) %s bytes available in IF (%u)\n",psVar38,\n                           &DAT_00017110,local_93c), local_7f8 == 0)) goto LAB_00014113;\n          goto LAB_000133f3;\n        }\nLAB_00014113:\n        uVar33 = sg_memalign(psVar38,0,&local_8e4,0);\n        uVar16 = (undefined4)((ulonglong)uVar33 >> 0x20);\n        psVar38 = (stat64 *)uVar33;\n        if (psVar38 != (stat64 *)0x0) {\n          memcpy(psVar38,psVar25,(size_t)psVar17);\n          free(local_8e8);\n          local_8e8 = local_8e4;\n          local_908 = (stat64 *)FUN_00014a80("IF c2",psVar25,psVar17,uVar16);\n          psVar25 = psVar38;\n          if (local_908 != (stat64 *)0x0) goto LAB_000133fd;\n          goto LAB_0001418c;\n        }\nLAB_00014273:\n        pcVar15 = "unable to allocate memory for final scatterlist+data\n";\n        goto LAB_00013fbc;\n      }" ({ "{") (expression_statement "local_7e0 = local_8f6;" (assignment_expression "local_7e0 = local_8f6" (identifier "local_7e0") (= "=") (identifier "local_8f6")) (; ";")) (labeled_statement "LAB_00013fe3:\n        local_908 = (stat64 *)((local_7e0 + 1) * 0x20);" (statement_identifier "LAB_00013fe3") (: ":") (expression_statement "local_908 = (stat64 *)((local_7e0 + 1) * 0x20);" (assignment_expression "local_908 = (stat64 *)((local_7e0 + 1) * 0x20)" (identifier "local_908") (= "=") (cast_expression "(stat64 *)((local_7e0 + 1) * 0x20)" (( "(") (type_descriptor "stat64 *" (type_identifier "stat64") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((local_7e0 + 1) * 0x20)" (( "(") (binary_expression "(local_7e0 + 1) * 0x20" (parenthesized_expression "(local_7e0 + 1)" (( "(") (binary_expression "local_7e0 + 1" (identifier "local_7e0") (+ "+") (number_literal "1")) () ")")) (* "*") (number_literal "0x20")) () ")")))) (; ";"))) (if_statement "if ((uint)local_908 % (uint)local_7d4 != 0) {\n          local_908 = (stat64 *)(((uint)local_908 / (uint)local_7d4 + 1) * (int)local_7d4);\n        }" (if "if") (parenthesized_expression "((uint)local_908 % (uint)local_7d4 != 0)" (( "(") (binary_expression "(uint)local_908 % (uint)local_7d4 != 0" (binary_expression "(uint)local_908 % (uint)local_7d4" (cast_expression "(uint)local_908" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "local_908")) (% "%") (cast_expression "(uint)local_7d4" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "local_7d4"))) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n          local_908 = (stat64 *)(((uint)local_908 / (uint)local_7d4 + 1) * (int)local_7d4);\n        }" ({ "{") (expression_statement "local_908 = (stat64 *)(((uint)local_908 / (uint)local_7d4 + 1) * (int)local_7d4);" (assignment_expression "local_908 = (stat64 *)(((uint)local_908 / (uint)local_7d4 + 1) * (int)local_7d4)" (identifier "local_908") (= "=") (cast_expression "(stat64 *)(((uint)local_908 / (uint)local_7d4 + 1) * (int)local_7d4)" (( "(") (type_descriptor "stat64 *" (type_identifier "stat64") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(((uint)local_908 / (uint)local_7d4 + 1) * (int)local_7d4)" (( "(") (binary_expression "((uint)local_908 / (uint)local_7d4 + 1) * (int)local_7d4" (parenthesized_expression "((uint)local_908 / (uint)local_7d4 + 1)" (( "(") (binary_expression "(uint)local_908 / (uint)local_7d4 + 1" (binary_expression "(uint)local_908 / (uint)local_7d4" (cast_expression "(uint)local_908" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "local_908")) (/ "/") (cast_expression "(uint)local_7d4" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "local_7d4"))) (+ "+") (number_literal "1")) () ")")) (* "*") (cast_expression "(int)local_7d4" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_7d4"))) () ")")))) (; ";")) (} "}"))) (expression_statement "uVar7 = (uint)local_7e2;" (assignment_expression "uVar7 = (uint)local_7e2" (identifier "uVar7") (= "=") (cast_expression "(uint)local_7e2" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "local_7e2"))) (; ";")) (expression_statement "uVar24 = uVar7 * (int)local_7d4;" (assignment_expression "uVar24 = uVar7 * (int)local_7d4" (identifier "uVar24") (= "=") (binary_expression "uVar7 * (int)local_7d4" (identifier "uVar7") (* "*") (cast_expression "(int)local_7d4" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_7d4")))) (; ";")) (expression_statement "psVar38 = local_908;" (assignment_expression "psVar38 = local_908" (identifier "psVar38") (= "=") (identifier "local_908")) (; ";")) (expression_statement "local_8f6 = local_7e0;" (assignment_expression "local_8f6 = local_7e0" (identifier "local_8f6") (= "=") (identifier "local_7e0")) (; ";")) (if_statement "if (uVar24 - (int)local_908 != 0) {\n          if (uVar24 < local_908) {\n            pr2serr("%s: Cannot fit %ss (%u) in given LB data offset (%u)\n","process_scattered",\n                    "LBA range descriptor",(uint)local_7e0,uVar7);\n            goto LAB_000133f3;\n          }\n          psVar38 = (stat64 *)uVar24;\n          if ((((uint)psVar18 | local_7f8) != 0) &&\n             (pr2serr("%s: empty blocks before LB data offset (%u), could be okay\n",\n                      "process_scattered",uVar7,(uint)psVar18 | local_7f8), local_7f8 != 0)) {\n            pr2serr("Exiting due to --strict; perhaps try again with --combined=%u\n",\n                    (uint)local_908 / (uint)local_7d4,psVar25,psVar25);\n            local_908 = (stat64 *)0xf;\n            goto LAB_000133fd;\n          }\n        }" (if "if") (parenthesized_expression "(uVar24 - (int)local_908 != 0)" (( "(") (binary_expression "uVar24 - (int)local_908 != 0" (binary_expression "uVar24 - (int)local_908" (identifier "uVar24") (- "-") (cast_expression "(int)local_908" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_908"))) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n          if (uVar24 < local_908) {\n            pr2serr("%s: Cannot fit %ss (%u) in given LB data offset (%u)\n","process_scattered",\n                    "LBA range descriptor",(uint)local_7e0,uVar7);\n            goto LAB_000133f3;\n          }\n          psVar38 = (stat64 *)uVar24;\n          if ((((uint)psVar18 | local_7f8) != 0) &&\n             (pr2serr("%s: empty blocks before LB data offset (%u), could be okay\n",\n                      "process_scattered",uVar7,(uint)psVar18 | local_7f8), local_7f8 != 0)) {\n            pr2serr("Exiting due to --strict; perhaps try again with --combined=%u\n",\n                    (uint)local_908 / (uint)local_7d4,psVar25,psVar25);\n            local_908 = (stat64 *)0xf;\n            goto LAB_000133fd;\n          }\n        }" ({ "{") (if_statement "if (uVar24 < local_908) {\n            pr2serr("%s: Cannot fit %ss (%u) in given LB data offset (%u)\n","process_scattered",\n                    "LBA range descriptor",(uint)local_7e0,uVar7);\n            goto LAB_000133f3;\n          }" (if "if") (parenthesized_expression "(uVar24 < local_908)" (( "(") (binary_expression "uVar24 < local_908" (identifier "uVar24") (< "<") (identifier "local_908")) () ")")) (compound_statement "{\n            pr2serr("%s: Cannot fit %ss (%u) in given LB data offset (%u)\n","process_scattered",\n                    "LBA range descriptor",(uint)local_7e0,uVar7);\n            goto LAB_000133f3;\n          }" ({ "{") (expression_statement "pr2serr("%s: Cannot fit %ss (%u) in given LB data offset (%u)\n","process_scattered",\n                    "LBA range descriptor",(uint)local_7e0,uVar7);" (call_expression "pr2serr("%s: Cannot fit %ss (%u) in given LB data offset (%u)\n","process_scattered",\n                    "LBA range descriptor",(uint)local_7e0,uVar7)" (identifier "pr2serr") (argument_list "("%s: Cannot fit %ss (%u) in given LB data offset (%u)\n","process_scattered",\n                    "LBA range descriptor",(uint)local_7e0,uVar7)" (( "(") (string_literal ""%s: Cannot fit %ss (%u) in given LB data offset (%u)\n"" (" """) (string_content "%s: Cannot fit %ss (%u) in given LB data offset (%u)") (escape_sequence "\n") (" """)) (, ",") (string_literal ""process_scattered"" (" """) (string_content "process_scattered") (" """)) (, ",") (string_literal ""LBA range descriptor"" (" """) (string_content "LBA range descriptor") (" """)) (, ",") (cast_expression "(uint)local_7e0" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "local_7e0")) (, ",") (identifier "uVar7") () ")"))) (; ";")) (goto_statement "goto LAB_000133f3;" (goto "goto") (statement_identifier "LAB_000133f3") (; ";")) (} "}"))) (expression_statement "psVar38 = (stat64 *)uVar24;" (assignment_expression "psVar38 = (stat64 *)uVar24" (identifier "psVar38") (= "=") (cast_expression "(stat64 *)uVar24" (( "(") (type_descriptor "stat64 *" (type_identifier "stat64") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "uVar24"))) (; ";")) (if_statement "if ((((uint)psVar18 | local_7f8) != 0) &&\n             (pr2serr("%s: empty blocks before LB data offset (%u), could be okay\n",\n                      "process_scattered",uVar7,(uint)psVar18 | local_7f8), local_7f8 != 0)) {\n            pr2serr("Exiting due to --strict; perhaps try again with --combined=%u\n",\n                    (uint)local_908 / (uint)local_7d4,psVar25,psVar25);\n            local_908 = (stat64 *)0xf;\n            goto LAB_000133fd;\n          }" (if "if") (parenthesized_expression "((((uint)psVar18 | local_7f8) != 0) &&\n             (pr2serr("%s: empty blocks before LB data offset (%u), could be okay\n",\n                      "process_scattered",uVar7,(uint)psVar18 | local_7f8), local_7f8 != 0))" (( "(") (binary_expression "(((uint)psVar18 | local_7f8) != 0) &&\n             (pr2serr("%s: empty blocks before LB data offset (%u), could be okay\n",\n                      "process_scattered",uVar7,(uint)psVar18 | local_7f8), local_7f8 != 0)" (parenthesized_expression "(((uint)psVar18 | local_7f8) != 0)" (( "(") (binary_expression "((uint)psVar18 | local_7f8) != 0" (parenthesized_expression "((uint)psVar18 | local_7f8)" (( "(") (binary_expression "(uint)psVar18 | local_7f8" (cast_expression "(uint)psVar18" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "psVar18")) (| "|") (identifier "local_7f8")) () ")")) (!= "!=") (number_literal "0")) () ")")) (&& "&&") (parenthesized_expression "(pr2serr("%s: empty blocks before LB data offset (%u), could be okay\n",\n                      "process_scattered",uVar7,(uint)psVar18 | local_7f8), local_7f8 != 0)" (( "(") (comma_expression "pr2serr("%s: empty blocks before LB data offset (%u), could be okay\n",\n                      "process_scattered",uVar7,(uint)psVar18 | local_7f8), local_7f8 != 0" (call_expression "pr2serr("%s: empty blocks before LB data offset (%u), could be okay\n",\n                      "process_scattered",uVar7,(uint)psVar18 | local_7f8)" (identifier "pr2serr") (argument_list "("%s: empty blocks before LB data offset (%u), could be okay\n",\n                      "process_scattered",uVar7,(uint)psVar18 | local_7f8)" (( "(") (string_literal ""%s: empty blocks before LB data offset (%u), could be okay\n"" (" """) (string_content "%s: empty blocks before LB data offset (%u), could be okay") (escape_sequence "\n") (" """)) (, ",") (string_literal ""process_scattered"" (" """) (string_content "process_scattered") (" """)) (, ",") (identifier "uVar7") (, ",") (binary_expression "(uint)psVar18 | local_7f8" (cast_expression "(uint)psVar18" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "psVar18")) (| "|") (identifier "local_7f8")) () ")"))) (, ",") (binary_expression "local_7f8 != 0" (identifier "local_7f8") (!= "!=") (number_literal "0"))) () ")"))) () ")")) (compound_statement "{\n            pr2serr("Exiting due to --strict; perhaps try again with --combined=%u\n",\n                    (uint)local_908 / (uint)local_7d4,psVar25,psVar25);\n            local_908 = (stat64 *)0xf;\n            goto LAB_000133fd;\n          }" ({ "{") (expression_statement "pr2serr("Exiting due to --strict; perhaps try again with --combined=%u\n",\n                    (uint)local_908 / (uint)local_7d4,psVar25,psVar25);" (call_expression "pr2serr("Exiting due to --strict; perhaps try again with --combined=%u\n",\n                    (uint)local_908 / (uint)local_7d4,psVar25,psVar25)" (identifier "pr2serr") (argument_list "("Exiting due to --strict; perhaps try again with --combined=%u\n",\n                    (uint)local_908 / (uint)local_7d4,psVar25,psVar25)" (( "(") (string_literal ""Exiting due to --strict; perhaps try again with --combined=%u\n"" (" """) (string_content "Exiting due to --strict; perhaps try again with --combined=%u") (escape_sequence "\n") (" """)) (, ",") (binary_expression "(uint)local_908 / (uint)local_7d4" (cast_expression "(uint)local_908" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "local_908")) (/ "/") (cast_expression "(uint)local_7d4" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "local_7d4"))) (, ",") (identifier "psVar25") (, ",") (identifier "psVar25") () ")"))) (; ";")) (expression_statement "local_908 = (stat64 *)0xf;" (assignment_expression "local_908 = (stat64 *)0xf" (identifier "local_908") (= "=") (cast_expression "(stat64 *)0xf" (( "(") (type_descriptor "stat64 *" (type_identifier "stat64") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0xf"))) (; ";")) (goto_statement "goto LAB_000133fd;" (goto "goto") (statement_identifier "LAB_000133fd") (; ";")) (} "}"))) (} "}"))) (expression_statement "psVar38 = (stat64 *)((int)local_8ec * (int)local_7d4 + (int)psVar38);" (assignment_expression "psVar38 = (stat64 *)((int)local_8ec * (int)local_7d4 + (int)psVar38)" (identifier "psVar38") (= "=") (cast_expression "(stat64 *)((int)local_8ec * (int)local_7d4 + (int)psVar38)" (( "(") (type_descriptor "stat64 *" (type_identifier "stat64") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)local_8ec * (int)local_7d4 + (int)psVar38)" (( "(") (binary_expression "(int)local_8ec * (int)local_7d4 + (int)psVar38" (binary_expression "(int)local_8ec * (int)local_7d4" (cast_expression "(int)local_8ec" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_8ec")) (* "*") (cast_expression "(int)local_7d4" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_7d4"))) (+ "+") (cast_expression "(int)psVar38" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "psVar38"))) () ")")))) (; ";")) (if_statement "if (psVar38 <= psVar17) {\nLAB_0001418c:\n          local_7cc = (stat64 *)local_8ec;\n          local_7a4 = (stat64 *)((int)local_8ec * (int)local_7d4);\n          goto LAB_00013962;\n        }" (if "if") (parenthesized_expression "(psVar38 <= psVar17)" (( "(") (binary_expression "psVar38 <= psVar17" (identifier "psVar38") (<= "<=") (identifier "psVar17")) () ")")) (compound_statement "{\nLAB_0001418c:\n          local_7cc = (stat64 *)local_8ec;\n          local_7a4 = (stat64 *)((int)local_8ec * (int)local_7d4);\n          goto LAB_00013962;\n        }" ({ "{") (labeled_statement "LAB_0001418c:\n          local_7cc = (stat64 *)local_8ec;" (statement_identifier "LAB_0001418c") (: ":") (expression_statement "local_7cc = (stat64 *)local_8ec;" (assignment_expression "local_7cc = (stat64 *)local_8ec" (identifier "local_7cc") (= "=") (cast_expression "(stat64 *)local_8ec" (( "(") (type_descriptor "stat64 *" (type_identifier "stat64") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "local_8ec"))) (; ";"))) (expression_statement "local_7a4 = (stat64 *)((int)local_8ec * (int)local_7d4);" (assignment_expression "local_7a4 = (stat64 *)((int)local_8ec * (int)local_7d4)" (identifier "local_7a4") (= "=") (cast_expression "(stat64 *)((int)local_8ec * (int)local_7d4)" (( "(") (type_descriptor "stat64 *" (type_identifier "stat64") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)local_8ec * (int)local_7d4)" (( "(") (binary_expression "(int)local_8ec * (int)local_7d4" (cast_expression "(int)local_8ec" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_8ec")) (* "*") (cast_expression "(int)local_7d4" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_7d4"))) () ")")))) (; ";")) (goto_statement "goto LAB_00013962;" (goto "goto") (statement_identifier "LAB_00013962") (; ";")) (} "}"))) (if_statement "if (local_93c != psVar38) {\n          if (local_93c < psVar38) {\n            pr2serr("Calculated dout length (%u) %s bytes available in IF (%u)\n",psVar38,\n                    &DAT_000170dd,local_93c);\n          }\n          else if ((psVar18 == (stat64 *)0x0 && local_7f8 == 0) ||\n                  (pr2serr("Calculated dout length (%u) %s bytes available in IF (%u)\n",psVar38,\n                           &DAT_00017110,local_93c), local_7f8 == 0)) goto LAB_00014113;\n          goto LAB_000133f3;\n        }" (if "if") (parenthesized_expression "(local_93c != psVar38)" (( "(") (binary_expression "local_93c != psVar38" (identifier "local_93c") (!= "!=") (identifier "psVar38")) () ")")) (compound_statement "{\n          if (local_93c < psVar38) {\n            pr2serr("Calculated dout length (%u) %s bytes available in IF (%u)\n",psVar38,\n                    &DAT_000170dd,local_93c);\n          }\n          else if ((psVar18 == (stat64 *)0x0 && local_7f8 == 0) ||\n                  (pr2serr("Calculated dout length (%u) %s bytes available in IF (%u)\n",psVar38,\n                           &DAT_00017110,local_93c), local_7f8 == 0)) goto LAB_00014113;\n          goto LAB_000133f3;\n        }" ({ "{") (if_statement "if (local_93c < psVar38) {\n            pr2serr("Calculated dout length (%u) %s bytes available in IF (%u)\n",psVar38,\n                    &DAT_000170dd,local_93c);\n          }\n          else if ((psVar18 == (stat64 *)0x0 && local_7f8 == 0) ||\n                  (pr2serr("Calculated dout length (%u) %s bytes available in IF (%u)\n",psVar38,\n                           &DAT_00017110,local_93c), local_7f8 == 0)) goto LAB_00014113;" (if "if") (parenthesized_expression "(local_93c < psVar38)" (( "(") (binary_expression "local_93c < psVar38" (identifier "local_93c") (< "<") (identifier "psVar38")) () ")")) (compound_statement "{\n            pr2serr("Calculated dout length (%u) %s bytes available in IF (%u)\n",psVar38,\n                    &DAT_000170dd,local_93c);\n          }" ({ "{") (expression_statement "pr2serr("Calculated dout length (%u) %s bytes available in IF (%u)\n",psVar38,\n                    &DAT_000170dd,local_93c);" (call_expression "pr2serr("Calculated dout length (%u) %s bytes available in IF (%u)\n",psVar38,\n                    &DAT_000170dd,local_93c)" (identifier "pr2serr") (argument_list "("Calculated dout length (%u) %s bytes available in IF (%u)\n",psVar38,\n                    &DAT_000170dd,local_93c)" (( "(") (string_literal ""Calculated dout length (%u) %s bytes available in IF (%u)\n"" (" """) (string_content "Calculated dout length (%u) %s bytes available in IF (%u)") (escape_sequence "\n") (" """)) (, ",") (identifier "psVar38") (, ",") (pointer_expression "&DAT_000170dd" (& "&") (identifier "DAT_000170dd")) (, ",") (identifier "local_93c") () ")"))) (; ";")) (} "}")) (else_clause "else if ((psVar18 == (stat64 *)0x0 && local_7f8 == 0) ||\n                  (pr2serr("Calculated dout length (%u) %s bytes available in IF (%u)\n",psVar38,\n                           &DAT_00017110,local_93c), local_7f8 == 0)) goto LAB_00014113;" (else "else") (if_statement "if ((psVar18 == (stat64 *)0x0 && local_7f8 == 0) ||\n                  (pr2serr("Calculated dout length (%u) %s bytes available in IF (%u)\n",psVar38,\n                           &DAT_00017110,local_93c), local_7f8 == 0)) goto LAB_00014113;" (if "if") (parenthesized_expression "((psVar18 == (stat64 *)0x0 && local_7f8 == 0) ||\n                  (pr2serr("Calculated dout length (%u) %s bytes available in IF (%u)\n",psVar38,\n                           &DAT_00017110,local_93c), local_7f8 == 0))" (( "(") (binary_expression "(psVar18 == (stat64 *)0x0 && local_7f8 == 0) ||\n                  (pr2serr("Calculated dout length (%u) %s bytes available in IF (%u)\n",psVar38,\n                           &DAT_00017110,local_93c), local_7f8 == 0)" (parenthesized_expression "(psVar18 == (stat64 *)0x0 && local_7f8 == 0)" (( "(") (binary_expression "psVar18 == (stat64 *)0x0 && local_7f8 == 0" (binary_expression "psVar18 == (stat64 *)0x0" (identifier "psVar18") (== "==") (cast_expression "(stat64 *)0x0" (( "(") (type_descriptor "stat64 *" (type_identifier "stat64") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (&& "&&") (binary_expression "local_7f8 == 0" (identifier "local_7f8") (== "==") (number_literal "0"))) () ")")) (|| "||") (parenthesized_expression "(pr2serr("Calculated dout length (%u) %s bytes available in IF (%u)\n",psVar38,\n                           &DAT_00017110,local_93c), local_7f8 == 0)" (( "(") (comma_expression "pr2serr("Calculated dout length (%u) %s bytes available in IF (%u)\n",psVar38,\n                           &DAT_00017110,local_93c), local_7f8 == 0" (call_expression "pr2serr("Calculated dout length (%u) %s bytes available in IF (%u)\n",psVar38,\n                           &DAT_00017110,local_93c)" (identifier "pr2serr") (argument_list "("Calculated dout length (%u) %s bytes available in IF (%u)\n",psVar38,\n                           &DAT_00017110,local_93c)" (( "(") (string_literal ""Calculated dout length (%u) %s bytes available in IF (%u)\n"" (" """) (string_content "Calculated dout length (%u) %s bytes available in IF (%u)") (escape_sequence "\n") (" """)) (, ",") (identifier "psVar38") (, ",") (pointer_expression "&DAT_00017110" (& "&") (identifier "DAT_00017110")) (, ",") (identifier "local_93c") () ")"))) (, ",") (binary_expression "local_7f8 == 0" (identifier "local_7f8") (== "==") (number_literal "0"))) () ")"))) () ")")) (goto_statement "goto LAB_00014113;" (goto "goto") (statement_identifier "LAB_00014113") (; ";"))))) (goto_statement "goto LAB_000133f3;" (goto "goto") (statement_identifier "LAB_000133f3") (; ";")) (} "}"))) (labeled_statement "LAB_00014113:\n        uVar33 = sg_memalign(psVar38,0,&local_8e4,0);" (statement_identifier "LAB_00014113") (: ":") (expression_statement "uVar33 = sg_memalign(psVar38,0,&local_8e4,0);" (assignment_expression "uVar33 = sg_memalign(psVar38,0,&local_8e4,0)" (identifier "uVar33") (= "=") (call_expression "sg_memalign(psVar38,0,&local_8e4,0)" (identifier "sg_memalign") (argument_list "(psVar38,0,&local_8e4,0)" (( "(") (identifier "psVar38") (, ",") (number_literal "0") (, ",") (pointer_expression "&local_8e4" (& "&") (identifier "local_8e4")) (, ",") (number_literal "0") () ")")))) (; ";"))) (expression_statement "uVar16 = (undefined4)((ulonglong)uVar33 >> 0x20);" (assignment_expression "uVar16 = (undefined4)((ulonglong)uVar33 >> 0x20)" (identifier "uVar16") (= "=") (call_expression "(undefined4)((ulonglong)uVar33 >> 0x20)" (parenthesized_expression "(undefined4)" (( "(") (identifier "undefined4") () ")")) (argument_list "((ulonglong)uVar33 >> 0x20)" (( "(") (binary_expression "(ulonglong)uVar33 >> 0x20" (cast_expression "(ulonglong)uVar33" (( "(") (type_descriptor "ulonglong" (type_identifier "ulonglong")) () ")") (identifier "uVar33")) (>> ">>") (number_literal "0x20")) () ")")))) (; ";")) (expression_statement "psVar38 = (stat64 *)uVar33;" (assignment_expression "psVar38 = (stat64 *)uVar33" (identifier "psVar38") (= "=") (cast_expression "(stat64 *)uVar33" (( "(") (type_descriptor "stat64 *" (type_identifier "stat64") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "uVar33"))) (; ";")) (if_statement "if (psVar38 != (stat64 *)0x0) {\n          memcpy(psVar38,psVar25,(size_t)psVar17);\n          free(local_8e8);\n          local_8e8 = local_8e4;\n          local_908 = (stat64 *)FUN_00014a80("IF c2",psVar25,psVar17,uVar16);\n          psVar25 = psVar38;\n          if (local_908 != (stat64 *)0x0) goto LAB_000133fd;\n          goto LAB_0001418c;\n        }" (if "if") (parenthesized_expression "(psVar38 != (stat64 *)0x0)" (( "(") (binary_expression "psVar38 != (stat64 *)0x0" (identifier "psVar38") (!= "!=") (cast_expression "(stat64 *)0x0" (( "(") (type_descriptor "stat64 *" (type_identifier "stat64") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n          memcpy(psVar38,psVar25,(size_t)psVar17);\n          free(local_8e8);\n          local_8e8 = local_8e4;\n          local_908 = (stat64 *)FUN_00014a80("IF c2",psVar25,psVar17,uVar16);\n          psVar25 = psVar38;\n          if (local_908 != (stat64 *)0x0) goto LAB_000133fd;\n          goto LAB_0001418c;\n        }" ({ "{") (expression_statement "memcpy(psVar38,psVar25,(size_t)psVar17);" (call_expression "memcpy(psVar38,psVar25,(size_t)psVar17)" (identifier "memcpy") (argument_list "(psVar38,psVar25,(size_t)psVar17)" (( "(") (identifier "psVar38") (, ",") (identifier "psVar25") (, ",") (cast_expression "(size_t)psVar17" (( "(") (type_descriptor "size_t" (primitive_type "size_t")) () ")") (identifier "psVar17")) () ")"))) (; ";")) (expression_statement "free(local_8e8);" (call_expression "free(local_8e8)" (identifier "free") (argument_list "(local_8e8)" (( "(") (identifier "local_8e8") () ")"))) (; ";")) (expression_statement "local_8e8 = local_8e4;" (assignment_expression "local_8e8 = local_8e4" (identifier "local_8e8") (= "=") (identifier "local_8e4")) (; ";")) (expression_statement "local_908 = (stat64 *)FUN_00014a80("IF c2",psVar25,psVar17,uVar16);" (assignment_expression "local_908 = (stat64 *)FUN_00014a80("IF c2",psVar25,psVar17,uVar16)" (identifier "local_908") (= "=") (cast_expression "(stat64 *)FUN_00014a80("IF c2",psVar25,psVar17,uVar16)" (( "(") (type_descriptor "stat64 *" (type_identifier "stat64") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "FUN_00014a80("IF c2",psVar25,psVar17,uVar16)" (identifier "FUN_00014a80") (argument_list "("IF c2",psVar25,psVar17,uVar16)" (( "(") (string_literal ""IF c2"" (" """) (string_content "IF c2") (" """)) (, ",") (identifier "psVar25") (, ",") (identifier "psVar17") (, ",") (identifier "uVar16") () ")"))))) (; ";")) (expression_statement "psVar25 = psVar38;" (assignment_expression "psVar25 = psVar38" (identifier "psVar25") (= "=") (identifier "psVar38")) (; ";")) (if_statement "if (local_908 != (stat64 *)0x0) goto LAB_000133fd;" (if "if") (parenthesized_expression "(local_908 != (stat64 *)0x0)" (( "(") (binary_expression "local_908 != (stat64 *)0x0" (identifier "local_908") (!= "!=") (cast_expression "(stat64 *)0x0" (( "(") (type_descriptor "stat64 *" (type_identifier "stat64") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (goto_statement "goto LAB_000133fd;" (goto "goto") (statement_identifier "LAB_000133fd") (; ";"))) (goto_statement "goto LAB_0001418c;" (goto "goto") (statement_identifier "LAB_0001418c") (; ";")) (} "}"))) (labeled_statement "LAB_00014273:\n        pcVar15 = "unable to allocate memory for final scatterlist+data\n";" (statement_identifier "LAB_00014273") (: ":") (expression_statement "pcVar15 = "unable to allocate memory for final scatterlist+data\n";" (assignment_expression "pcVar15 = "unable to allocate memory for final scatterlist+data\n"" (identifier "pcVar15") (= "=") (string_literal ""unable to allocate memory for final scatterlist+data\n"" (" """) (string_content "unable to allocate memory for final scatterlist+data") (escape_sequence "\n") (" """))) (; ";"))) (goto_statement "goto LAB_00013fbc;" (goto "goto") (statement_identifier "LAB_00013fbc") (; ";")) (} "}"))) (if_statement "if (local_8f6 < local_7e0) {\n        pr2serr("RD (%u) %s number of %ss (%u) found in IF\n",local_7e0,&DAT_000170dd,\n                "LBA range descriptor",local_8f6);\n      }\n      else if ((psVar18 == (stat64 *)0x0 && local_7f8 == 0) ||\n              (pr2serr("RD (%u) %s number of %ss (%u) found in IF\n",local_7e0,&DAT_00017110,\n                       "LBA range descriptor",local_8f6), local_7f8 == 0)) {\n        local_908 = (stat64 *)0x0;\n        for (psVar38 = psVar25; (stat64 *)(&psVar25->st_dev + (uint)local_7e0 * 4) != psVar38;\n            psVar38 = (stat64 *)&psVar38->st_rdev) {\n          uVar7 = psVar38->__pad2;\n          local_908 = (stat64 *)\n                      ((int)&local_908->st_dev +\n                      (uVar7 >> 0x18 | (uVar7 & 0xff0000) >> 8 | (uVar7 & 0xff00) << 8 |\n                      uVar7 << 0x18));\n        }\n        local_8ec = (undefined1  [4])local_908;\n        goto LAB_00013fe3;\n      }" (if "if") (parenthesized_expression "(local_8f6 < local_7e0)" (( "(") (binary_expression "local_8f6 < local_7e0" (identifier "local_8f6") (< "<") (identifier "local_7e0")) () ")")) (compound_statement "{\n        pr2serr("RD (%u) %s number of %ss (%u) found in IF\n",local_7e0,&DAT_000170dd,\n                "LBA range descriptor",local_8f6);\n      }" ({ "{") (expression_statement "pr2serr("RD (%u) %s number of %ss (%u) found in IF\n",local_7e0,&DAT_000170dd,\n                "LBA range descriptor",local_8f6);" (call_expression "pr2serr("RD (%u) %s number of %ss (%u) found in IF\n",local_7e0,&DAT_000170dd,\n                "LBA range descriptor",local_8f6)" (identifier "pr2serr") (argument_list "("RD (%u) %s number of %ss (%u) found in IF\n",local_7e0,&DAT_000170dd,\n                "LBA range descriptor",local_8f6)" (( "(") (string_literal ""RD (%u) %s number of %ss (%u) found in IF\n"" (" """) (string_content "RD (%u) %s number of %ss (%u) found in IF") (escape_sequence "\n") (" """)) (, ",") (identifier "local_7e0") (, ",") (pointer_expression "&DAT_000170dd" (& "&") (identifier "DAT_000170dd")) (, ",") (string_literal ""LBA range descriptor"" (" """) (string_content "LBA range descriptor") (" """)) (, ",") (identifier "local_8f6") () ")"))) (; ";")) (} "}")) (else_clause "else if ((psVar18 == (stat64 *)0x0 && local_7f8 == 0) ||\n              (pr2serr("RD (%u) %s number of %ss (%u) found in IF\n",local_7e0,&DAT_00017110,\n                       "LBA range descriptor",local_8f6), local_7f8 == 0)) {\n        local_908 = (stat64 *)0x0;\n        for (psVar38 = psVar25; (stat64 *)(&psVar25->st_dev + (uint)local_7e0 * 4) != psVar38;\n            psVar38 = (stat64 *)&psVar38->st_rdev) {\n          uVar7 = psVar38->__pad2;\n          local_908 = (stat64 *)\n                      ((int)&local_908->st_dev +\n                      (uVar7 >> 0x18 | (uVar7 & 0xff0000) >> 8 | (uVar7 & 0xff00) << 8 |\n                      uVar7 << 0x18));\n        }\n        local_8ec = (undefined1  [4])local_908;\n        goto LAB_00013fe3;\n      }" (else "else") (if_statement "if ((psVar18 == (stat64 *)0x0 && local_7f8 == 0) ||\n              (pr2serr("RD (%u) %s number of %ss (%u) found in IF\n",local_7e0,&DAT_00017110,\n                       "LBA range descriptor",local_8f6), local_7f8 == 0)) {\n        local_908 = (stat64 *)0x0;\n        for (psVar38 = psVar25; (stat64 *)(&psVar25->st_dev + (uint)local_7e0 * 4) != psVar38;\n            psVar38 = (stat64 *)&psVar38->st_rdev) {\n          uVar7 = psVar38->__pad2;\n          local_908 = (stat64 *)\n                      ((int)&local_908->st_dev +\n                      (uVar7 >> 0x18 | (uVar7 & 0xff0000) >> 8 | (uVar7 & 0xff00) << 8 |\n                      uVar7 << 0x18));\n        }\n        local_8ec = (undefined1  [4])local_908;\n        goto LAB_00013fe3;\n      }" (if "if") (parenthesized_expression "((psVar18 == (stat64 *)0x0 && local_7f8 == 0) ||\n              (pr2serr("RD (%u) %s number of %ss (%u) found in IF\n",local_7e0,&DAT_00017110,\n                       "LBA range descriptor",local_8f6), local_7f8 == 0))" (( "(") (binary_expression "(psVar18 == (stat64 *)0x0 && local_7f8 == 0) ||\n              (pr2serr("RD (%u) %s number of %ss (%u) found in IF\n",local_7e0,&DAT_00017110,\n                       "LBA range descriptor",local_8f6), local_7f8 == 0)" (parenthesized_expression "(psVar18 == (stat64 *)0x0 && local_7f8 == 0)" (( "(") (binary_expression "psVar18 == (stat64 *)0x0 && local_7f8 == 0" (binary_expression "psVar18 == (stat64 *)0x0" (identifier "psVar18") (== "==") (cast_expression "(stat64 *)0x0" (( "(") (type_descriptor "stat64 *" (type_identifier "stat64") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (&& "&&") (binary_expression "local_7f8 == 0" (identifier "local_7f8") (== "==") (number_literal "0"))) () ")")) (|| "||") (parenthesized_expression "(pr2serr("RD (%u) %s number of %ss (%u) found in IF\n",local_7e0,&DAT_00017110,\n                       "LBA range descriptor",local_8f6), local_7f8 == 0)" (( "(") (comma_expression "pr2serr("RD (%u) %s number of %ss (%u) found in IF\n",local_7e0,&DAT_00017110,\n                       "LBA range descriptor",local_8f6), local_7f8 == 0" (call_expression "pr2serr("RD (%u) %s number of %ss (%u) found in IF\n",local_7e0,&DAT_00017110,\n                       "LBA range descriptor",local_8f6)" (identifier "pr2serr") (argument_list "("RD (%u) %s number of %ss (%u) found in IF\n",local_7e0,&DAT_00017110,\n                       "LBA range descriptor",local_8f6)" (( "(") (string_literal ""RD (%u) %s number of %ss (%u) found in IF\n"" (" """) (string_content "RD (%u) %s number of %ss (%u) found in IF") (escape_sequence "\n") (" """)) (, ",") (identifier "local_7e0") (, ",") (pointer_expression "&DAT_00017110" (& "&") (identifier "DAT_00017110")) (, ",") (string_literal ""LBA range descriptor"" (" """) (string_content "LBA range descriptor") (" """)) (, ",") (identifier "local_8f6") () ")"))) (, ",") (binary_expression "local_7f8 == 0" (identifier "local_7f8") (== "==") (number_literal "0"))) () ")"))) () ")")) (compound_statement "{\n        local_908 = (stat64 *)0x0;\n        for (psVar38 = psVar25; (stat64 *)(&psVar25->st_dev + (uint)local_7e0 * 4) != psVar38;\n            psVar38 = (stat64 *)&psVar38->st_rdev) {\n          uVar7 = psVar38->__pad2;\n          local_908 = (stat64 *)\n                      ((int)&local_908->st_dev +\n                      (uVar7 >> 0x18 | (uVar7 & 0xff0000) >> 8 | (uVar7 & 0xff00) << 8 |\n                      uVar7 << 0x18));\n        }\n        local_8ec = (undefined1  [4])local_908;\n        goto LAB_00013fe3;\n      }" ({ "{") (expression_statement "local_908 = (stat64 *)0x0;" (assignment_expression "local_908 = (stat64 *)0x0" (identifier "local_908") (= "=") (cast_expression "(stat64 *)0x0" (( "(") (type_descriptor "stat64 *" (type_identifier "stat64") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (for_statement "for (psVar38 = psVar25; (stat64 *)(&psVar25->st_dev + (uint)local_7e0 * 4) != psVar38;\n            psVar38 = (stat64 *)&psVar38->st_rdev) {\n          uVar7 = psVar38->__pad2;\n          local_908 = (stat64 *)\n                      ((int)&local_908->st_dev +\n                      (uVar7 >> 0x18 | (uVar7 & 0xff0000) >> 8 | (uVar7 & 0xff00) << 8 |\n                      uVar7 << 0x18));\n        }" (for "for") (( "(") (assignment_expression "psVar38 = psVar25" (identifier "psVar38") (= "=") (identifier "psVar25")) (; ";") (binary_expression "(stat64 *)(&psVar25->st_dev + (uint)local_7e0 * 4) != psVar38" (cast_expression "(stat64 *)(&psVar25->st_dev + (uint)local_7e0 * 4)" (( "(") (type_descriptor "stat64 *" (type_identifier "stat64") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(&psVar25->st_dev + (uint)local_7e0 * 4)" (( "(") (binary_expression "&psVar25->st_dev + (uint)local_7e0 * 4" (pointer_expression "&psVar25->st_dev" (& "&") (field_expression "psVar25->st_dev" (identifier "psVar25") (-> "->") (field_identifier "st_dev"))) (+ "+") (binary_expression "(uint)local_7e0 * 4" (cast_expression "(uint)local_7e0" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "local_7e0")) (* "*") (number_literal "4"))) () ")"))) (!= "!=") (identifier "psVar38")) (; ";") (assignment_expression "psVar38 = (stat64 *)&psVar38->st_rdev" (identifier "psVar38") (= "=") (cast_expression "(stat64 *)&psVar38->st_rdev" (( "(") (type_descriptor "stat64 *" (type_identifier "stat64") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "&psVar38->st_rdev" (& "&") (field_expression "psVar38->st_rdev" (identifier "psVar38") (-> "->") (field_identifier "st_rdev"))))) () ")") (compound_statement "{\n          uVar7 = psVar38->__pad2;\n          local_908 = (stat64 *)\n                      ((int)&local_908->st_dev +\n                      (uVar7 >> 0x18 | (uVar7 & 0xff0000) >> 8 | (uVar7 & 0xff00) << 8 |\n                      uVar7 << 0x18));\n        }" ({ "{") (expression_statement "uVar7 = psVar38->__pad2;" (assignment_expression "uVar7 = psVar38->__pad2" (identifier "uVar7") (= "=") (field_expression "psVar38->__pad2" (identifier "psVar38") (-> "->") (field_identifier "__pad2"))) (; ";")) (expression_statement "local_908 = (stat64 *)\n                      ((int)&local_908->st_dev +\n                      (uVar7 >> 0x18 | (uVar7 & 0xff0000) >> 8 | (uVar7 & 0xff00) << 8 |\n                      uVar7 << 0x18));" (assignment_expression "local_908 = (stat64 *)\n                      ((int)&local_908->st_dev +\n                      (uVar7 >> 0x18 | (uVar7 & 0xff0000) >> 8 | (uVar7 & 0xff00) << 8 |\n                      uVar7 << 0x18))" (identifier "local_908") (= "=") (cast_expression "(stat64 *)\n                      ((int)&local_908->st_dev +\n                      (uVar7 >> 0x18 | (uVar7 & 0xff0000) >> 8 | (uVar7 & 0xff00) << 8 |\n                      uVar7 << 0x18))" (( "(") (type_descriptor "stat64 *" (type_identifier "stat64") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)&local_908->st_dev +\n                      (uVar7 >> 0x18 | (uVar7 & 0xff0000) >> 8 | (uVar7 & 0xff00) << 8 |\n                      uVar7 << 0x18))" (( "(") (binary_expression "(int)&local_908->st_dev +\n                      (uVar7 >> 0x18 | (uVar7 & 0xff0000) >> 8 | (uVar7 & 0xff00) << 8 |\n                      uVar7 << 0x18)" (cast_expression "(int)&local_908->st_dev" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (pointer_expression "&local_908->st_dev" (& "&") (field_expression "local_908->st_dev" (identifier "local_908") (-> "->") (field_identifier "st_dev")))) (+ "+") (parenthesized_expression "(uVar7 >> 0x18 | (uVar7 & 0xff0000) >> 8 | (uVar7 & 0xff00) << 8 |\n                      uVar7 << 0x18)" (( "(") (binary_expression "uVar7 >> 0x18 | (uVar7 & 0xff0000) >> 8 | (uVar7 & 0xff00) << 8 |\n                      uVar7 << 0x18" (binary_expression "uVar7 >> 0x18 | (uVar7 & 0xff0000) >> 8 | (uVar7 & 0xff00) << 8" (binary_expression "uVar7 >> 0x18 | (uVar7 & 0xff0000) >> 8" (binary_expression "uVar7 >> 0x18" (identifier "uVar7") (>> ">>") (number_literal "0x18")) (| "|") (binary_expression "(uVar7 & 0xff0000) >> 8" (parenthesized_expression "(uVar7 & 0xff0000)" (( "(") (binary_expression "uVar7 & 0xff0000" (identifier "uVar7") (& "&") (number_literal "0xff0000")) () ")")) (>> ">>") (number_literal "8"))) (| "|") (binary_expression "(uVar7 & 0xff00) << 8" (parenthesized_expression "(uVar7 & 0xff00)" (( "(") (binary_expression "uVar7 & 0xff00" (identifier "uVar7") (& "&") (number_literal "0xff00")) () ")")) (<< "<<") (number_literal "8"))) (| "|") (binary_expression "uVar7 << 0x18" (identifier "uVar7") (<< "<<") (number_literal "0x18"))) () ")"))) () ")")))) (; ";")) (} "}"))) (expression_statement "local_8ec = (undefined1  [4])local_908;" (assignment_expression "local_8ec = (undefined1  [4])local_908" (identifier "local_8ec") (= "=") (cast_expression "(undefined1  [4])local_908" (( "(") (type_descriptor "undefined1  [4]" (type_identifier "undefined1") (abstract_array_declarator "[4]" ([ "[") (number_literal "4") (] "]"))) () ")") (identifier "local_908"))) (; ";")) (goto_statement "goto LAB_00013fe3;" (goto "goto") (statement_identifier "LAB_00013fe3") (; ";")) (} "}"))))) (} "}"))) (labeled_statement "LAB_000133f3:\n    local_908 = (stat64 *)0xf;" (statement_identifier "LAB_000133f3") (: ":") (expression_statement "local_908 = (stat64 *)0xf;" (assignment_expression "local_908 = (stat64 *)0xf" (identifier "local_908") (= "=") (cast_expression "(stat64 *)0xf" (( "(") (type_descriptor "stat64 *" (type_identifier "stat64") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0xf"))) (; ";"))) (goto_statement "goto LAB_000133fd;" (goto "goto") (statement_identifier "LAB_000133fd") (; ";")) (} "}"))) (if_statement "if (local_91c != (stat64 *)0x0) {\n    local_8f6 = (ushort)local_91c;\n  }" (if "if") (parenthesized_expression "(local_91c != (stat64 *)0x0)" (( "(") (binary_expression "local_91c != (stat64 *)0x0" (identifier "local_91c") (!= "!=") (cast_expression "(stat64 *)0x0" (( "(") (type_descriptor "stat64 *" (type_identifier "stat64") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n    local_8f6 = (ushort)local_91c;\n  }" ({ "{") (expression_statement "local_8f6 = (ushort)local_91c;" (assignment_expression "local_8f6 = (ushort)local_91c" (identifier "local_8f6") (= "=") (cast_expression "(ushort)local_91c" (( "(") (type_descriptor "ushort" (type_identifier "ushort")) () ")") (identifier "local_91c"))) (; ";")) (} "}"))) (if_statement "if (local_798 == (char *)0x0) {\n    if (local_819 != '\0') goto LAB_00013dcd;\n    if (local_91c == (stat64 *)0x0) {\n      pr2serr("How did we get here??\n");\n      local_908 = (stat64 *)0x1;\n      goto LAB_000133fd;\n    }\n    if ((local_7e0 != 0) && (local_91c < (undefined *)(uint)local_7e0)) {\n      pr2serr("%s: number given to --scattered= (%u) exceeds number of --lba= elements (%u)\n",\n              "process_scattered",(undefined *)(uint)local_7e0,local_91c);\n      local_908 = (stat64 *)0x1f;\n      goto LAB_00012354;\n    }\n    uVar7 = (local_8f6 + 1) * 0x20;\n    local_7e2 = (ushort)(uVar7 / (uint)local_7d4);\n    if (uVar7 % (uint)local_7d4 != 0) {\n      local_7e2 = local_7e2 + 1;\n    }\n    iVar14 = 0;\n    local_8ec = (undefined1  [4])0x0;\n    do {\n      local_8ec = (undefined1  [4])((int)&((stat64 *)local_8ec)->st_dev + (int)ppsVar44[iVar14]);\n      iVar14 = iVar14 + 1;\n    } while (iVar14 < (int)local_91c);\n    psVar25 = (stat64 *)\n              sg_memalign((int)((int)&((stat64 *)local_8ec)->st_dev + (uint)local_7e2) *\n                          (int)local_7d4,0,&local_8e8,0);\n    if (psVar25 == (stat64 *)0x0) goto LAB_00013fb3;\n    iVar14 = 0;\n    psVar38 = psVar25;\n    do {\n      uVar7 = puVar42[iVar14 * 2];\n      uVar24 = puVar42[iVar14 * 2 + 1];\n      *(uint *)&psVar38->st_rdev =\n           uVar24 >> 0x18 | (uVar24 & 0xff0000) >> 8 | (uVar24 & 0xff00) << 8 | uVar24 << 0x18;\n      *(uint *)((int)&psVar38->st_rdev + 4) =\n           uVar7 >> 0x18 | (uVar7 & 0xff0000) >> 8 | (uVar7 & 0xff00) << 8 | uVar7 << 0x18;\n      psVar17 = ppsVar44[iVar14];\n      psVar38->__pad2 =\n           (uint)psVar17 >> 0x18 | ((uint)psVar17 & 0xff0000) >> 8 | ((uint)psVar17 & 0xff00) << 8 |\n           (int)psVar17 << 0x18;\n      if (local_81f != '\0') {\n        if (iVar14 == 0) {\n          *(uint *)&psVar38->st_size =\n               local_7c0 >> 0x18 | (local_7c0 & 0xff0000) >> 8 | (local_7c0 & 0xff00) << 8 |\n               local_7c0 << 0x18;\n          *(ushort *)((int)&psVar38->st_size + 4) = local_7e6 << 8 | local_7e6 >> 8;\n          *(ushort *)((int)&psVar38->st_size + 6) = local_7dc << 8 | local_7dc >> 8;\n        }\n        else {\n          *(undefined4 *)&psVar38->st_size = 0xffffffff;\n          *(undefined2 *)((int)&psVar38->st_size + 4) = 0xffff;\n          *(undefined2 *)((int)&psVar38->st_size + 6) = 0xffff;\n        }\n      }\n      iVar14 = iVar14 + 1;\n      psVar38 = (stat64 *)&psVar38->st_rdev;\n    } while (iVar14 < (int)local_91c);\n    local_7cc = (stat64 *)local_8ec;\n  }\n  else {\n    if (local_819 == '\0') {\n      uVar7 = (uint)local_8f6;\n      uVar16 = 0;\n      uVar24 = (uVar7 + 1) * 0x20;\n      local_7e2 = (ushort)(uVar24 / (uint)local_7d4);\n      ppvVar39 = &local_8e8;\n      if (uVar24 % (uint)local_7d4 != 0) {\n        local_7e2 = local_7e2 + 1;\n      }\n      psVar38 = (stat64 *)0x0;\n      psVar25 = (stat64 *)\n                sg_memalign((int)((int)&local_8f4->st_dev + (uint)local_7e2) * (int)local_7d4,0,\n                            ppvVar39,0);\n      if (psVar25 == (stat64 *)0x0) goto LAB_000141a6;\n      local_8f6 = 0;\n      local_8ec = (undefined1  [4])0x0;\n      if (uVar7 + 1 == 1) {\n        uVar24 = (uint)local_7e2 * (int)local_7d4;\n      }\n      local_908 = (stat64 *)FUN_000156d0(psVar25,&local_8f6,local_8ec,uVar24);\n      if (local_908 != (stat64 *)0x0) goto LAB_000133fd;\n      psVar38 = (stat64 *)((int)local_7d4 * (int)local_8ec);\n      if (local_7d0 <= psVar38) {\n        if ((local_7d0 <= psVar38 && (int)psVar38 - (int)local_7d0 != 0) &&\n           (local_7d0 != (stat64 *)0x0)) {\n          psVar38 = local_7d0;\n        }\nLAB_00014208:\n        if ((psVar45 != (stat64 *)0x0) && (psVar45 != psVar38)) {\n          if (psVar18 != (stat64 *)0x0) {\n            puVar20 = &DAT_00017110;\n            if (psVar38 <= psVar45) {\n              puVar20 = &DAT_000170dd;\n            }\n            pr2serr("readable length (%u) of IF %s bytes implied by sum of\nscatter list NUMs (%u) and DLEN\n"\n                    ,psVar45,puVar20,psVar38);\n          }\n          if ((local_7f8 != 0) && ((psVar38 <= psVar45 || (1 < (int)local_7f8)))) goto LAB_000133f3;\nLAB_0001387e:\n          if (psVar45 < psVar38) {\n            psVar38 = psVar45;\n          }\n        }\n        psVar17 = (stat64 *)((uint)psVar38 / (uint)local_7d4);\n        if (((uint)psVar38 % (uint)local_7d4 != 0) &&\n           ((psVar18 != (stat64 *)0x0 || (1 < (int)local_7f8)))) {\n          psVar22 = local_7d8;\n          pr2serr("Calculated data-out length (0x%x) not a multiple of BS (%u",psVar38,local_7d8,\n                  psVar17);\n          if (local_7d8 != local_7d4) {\n            psVar38 = (stat64 *)((int)local_7d4 - (int)local_7d8);\n            psVar22 = extraout_ECX_07;\n            psVar17 = extraout_ECX_07;\n            pr2serr(" + %d(PI)",psVar38,extraout_ECX_07,extraout_ECX_07);\n          }\n          if (1 < (int)local_7f8) {\n            pr2serr(")\nexiting ...\n",psVar38,psVar22,psVar17);\n            local_908 = (stat64 *)0xf;\n            goto LAB_000133fd;\n          }\n          pr2serr(")\nzero pad and continue ...\n",psVar38,psVar22,psVar17);\n        }\n      }\n      else {\n        uVar7 = (uint)psVar18 | local_7f8;\n        if (uVar7 != 0) {\n          pr2serr("DLEN > than bytes implied by sum of scatter list NUMs (%u)\n",psVar38,uVar7,uVar7\n                 );\n          if (1 < (int)psVar18) {\n            pr2serr("  num_lbard=%u, sum_num=%u actual_bs=%u",local_8f6,local_8ec,local_7d4);\n          }\n          if (local_7f8 != 0) goto LAB_000133f3;\n          goto LAB_00014208;\n        }\n        if ((psVar45 != (stat64 *)0x0) && (psVar45 != psVar38)) goto LAB_0001387e;\n      }\n      local_908 = (stat64 *)FUN_00014a80(&DAT_00017360);\n    }\n    else {\nLAB_00013dcd:\n      psVar38 = local_7d4;\n      if (local_7e0 != 0) {\n        psVar38 = (stat64 *)((local_7e0 + 1) * 0x20);\n        if (local_908 < psVar38) {\n          pr2serr("SF not long enough (%u bytes) to provide RD (%u) %ss\n",local_908,psVar38,\n                  "LBA range descriptor");\n          local_908 = (stat64 *)0xf;\n          goto LAB_000133fd;\n        }\n        psVar38 = (stat64 *)\n                  ((((uint)psVar38 / (uint)local_7d4 + 1) -\n                   (uint)((uint)psVar38 % (uint)local_7d4 == 0)) * (int)local_7d4);\n      }\n      local_918 = local_7d4;\n      if (local_93c != (stat64 *)0x0) {\n        local_918 = (stat64 *)\n                    ((((uint)local_93c / (uint)local_7d4 + 1) -\n                     (uint)((uint)local_93c % (uint)local_7d4 == 0)) * (int)local_7d4);\n      }\n      psVar25 = (stat64 *)\n                sg_memalign((undefined *)((int)&psVar38->st_dev + (int)&local_918->st_dev),0,\n                            &local_8e8,0);\n      if (psVar25 == (stat64 *)0x0) {\nLAB_00013fb3:\n        pcVar15 = "unable to allocate aligned memory for scatterlist+data\n";\nLAB_00013fbc:\n        pr2serr(pcVar15);\n        local_908 = (stat64 *)sg_convert_errno(0xc);\n        goto LAB_000133fd;\n      }\n      local_908 = (stat64 *)FUN_00014a80(&DAT_00017365);\n      if (local_908 != (stat64 *)0x0) goto LAB_000133fd;\n      psVar17 = (stat64 *)local_8ec;\n      psVar22 = extraout_ECX_08;\n      psVar8 = extraout_ECX_08;\n      cVar6 = FUN_000146a0(&local_8f6,psVar17,extraout_ECX_08,extraout_ECX_08);\n      if (cVar6 == '\0') goto LAB_000133f3;\n      if (local_7e0 != local_8f6) {\n        pr2serr("Try again with --scattered=%u\n",local_8f6,extraout_EDX_05,extraout_EDX_05);\n        local_908 = (stat64 *)0xf;\n        goto LAB_000133fd;\n      }\n      if (local_918 < (stat64 *)((int)local_7d4 * (int)local_8ec)) {\n        psVar9 = (stat64 *)\n                 sg_memalign((undefined *)\n                             ((int)&psVar38->st_dev +\n                             (int)&((stat64 *)((int)local_7d4 * (int)local_8ec))->st_dev),0,\n                             &local_8e4,0);\n        if (psVar9 == (stat64 *)0x0) goto LAB_00014273;\n        psVar22 = psVar38;\n        psVar8 = psVar9;\n        memcpy(psVar9,psVar25,(size_t)psVar38);\n        psVar17 = psVar25;\n        free(local_8e8);\n        local_8e8 = local_8e4;\n        psVar25 = psVar9;\n      }\n      if ((local_93c != psVar38) && (psVar18 != (stat64 *)0x0 || local_7f8 != 0)) {\n        psVar22 = (stat64 *)&DAT_000170dd;\n        if (local_93c <= psVar38) {\n          psVar22 = (stat64 *)&DAT_00017110;\n        }\n        psVar8 = psVar38;\n        pr2serr("IF length (%u) %s \'sum_num\' bytes (%u), ",local_93c,psVar22,psVar38);\n        if (1 < (int)local_7f8) {\n          pr2serr("exiting (strict=%d)\n",local_7f8,psVar38,psVar38);\n          local_908 = (stat64 *)0xf;\n          goto LAB_000133fd;\n        }\n        pr2serr("continuing ...\n",local_93c,psVar22,psVar8);\n        psVar17 = local_93c;\n      }\n      local_908 = (stat64 *)FUN_00014a80(&DAT_0001738d,psVar17,psVar22,psVar8);\n    }\n    if (local_908 != (stat64 *)0x0) goto LAB_000133fd;\n    local_7a4 = (stat64 *)((int)local_8ec * (int)local_7d4);\n    local_7cc = (stat64 *)local_8ec;\n  }" (if "if") (parenthesized_expression "(local_798 == (char *)0x0)" (( "(") (binary_expression "local_798 == (char *)0x0" (identifier "local_798") (== "==") (cast_expression "(char *)0x0" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n    if (local_819 != '\0') goto LAB_00013dcd;\n    if (local_91c == (stat64 *)0x0) {\n      pr2serr("How did we get here??\n");\n      local_908 = (stat64 *)0x1;\n      goto LAB_000133fd;\n    }\n    if ((local_7e0 != 0) && (local_91c < (undefined *)(uint)local_7e0)) {\n      pr2serr("%s: number given to --scattered= (%u) exceeds number of --lba= elements (%u)\n",\n              "process_scattered",(undefined *)(uint)local_7e0,local_91c);\n      local_908 = (stat64 *)0x1f;\n      goto LAB_00012354;\n    }\n    uVar7 = (local_8f6 + 1) * 0x20;\n    local_7e2 = (ushort)(uVar7 / (uint)local_7d4);\n    if (uVar7 % (uint)local_7d4 != 0) {\n      local_7e2 = local_7e2 + 1;\n    }\n    iVar14 = 0;\n    local_8ec = (undefined1  [4])0x0;\n    do {\n      local_8ec = (undefined1  [4])((int)&((stat64 *)local_8ec)->st_dev + (int)ppsVar44[iVar14]);\n      iVar14 = iVar14 + 1;\n    } while (iVar14 < (int)local_91c);\n    psVar25 = (stat64 *)\n              sg_memalign((int)((int)&((stat64 *)local_8ec)->st_dev + (uint)local_7e2) *\n                          (int)local_7d4,0,&local_8e8,0);\n    if (psVar25 == (stat64 *)0x0) goto LAB_00013fb3;\n    iVar14 = 0;\n    psVar38 = psVar25;\n    do {\n      uVar7 = puVar42[iVar14 * 2];\n      uVar24 = puVar42[iVar14 * 2 + 1];\n      *(uint *)&psVar38->st_rdev =\n           uVar24 >> 0x18 | (uVar24 & 0xff0000) >> 8 | (uVar24 & 0xff00) << 8 | uVar24 << 0x18;\n      *(uint *)((int)&psVar38->st_rdev + 4) =\n           uVar7 >> 0x18 | (uVar7 & 0xff0000) >> 8 | (uVar7 & 0xff00) << 8 | uVar7 << 0x18;\n      psVar17 = ppsVar44[iVar14];\n      psVar38->__pad2 =\n           (uint)psVar17 >> 0x18 | ((uint)psVar17 & 0xff0000) >> 8 | ((uint)psVar17 & 0xff00) << 8 |\n           (int)psVar17 << 0x18;\n      if (local_81f != '\0') {\n        if (iVar14 == 0) {\n          *(uint *)&psVar38->st_size =\n               local_7c0 >> 0x18 | (local_7c0 & 0xff0000) >> 8 | (local_7c0 & 0xff00) << 8 |\n               local_7c0 << 0x18;\n          *(ushort *)((int)&psVar38->st_size + 4) = local_7e6 << 8 | local_7e6 >> 8;\n          *(ushort *)((int)&psVar38->st_size + 6) = local_7dc << 8 | local_7dc >> 8;\n        }\n        else {\n          *(undefined4 *)&psVar38->st_size = 0xffffffff;\n          *(undefined2 *)((int)&psVar38->st_size + 4) = 0xffff;\n          *(undefined2 *)((int)&psVar38->st_size + 6) = 0xffff;\n        }\n      }\n      iVar14 = iVar14 + 1;\n      psVar38 = (stat64 *)&psVar38->st_rdev;\n    } while (iVar14 < (int)local_91c);\n    local_7cc = (stat64 *)local_8ec;\n  }" ({ "{") (if_statement "if (local_819 != '\0') goto LAB_00013dcd;" (if "if") (parenthesized_expression "(local_819 != '\0')" (( "(") (binary_expression "local_819 != '\0'" (identifier "local_819") (!= "!=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (goto_statement "goto LAB_00013dcd;" (goto "goto") (statement_identifier "LAB_00013dcd") (; ";"))) (if_statement "if (local_91c == (stat64 *)0x0) {\n      pr2serr("How did we get here??\n");\n      local_908 = (stat64 *)0x1;\n      goto LAB_000133fd;\n    }" (if "if") (parenthesized_expression "(local_91c == (stat64 *)0x0)" (( "(") (binary_expression "local_91c == (stat64 *)0x0" (identifier "local_91c") (== "==") (cast_expression "(stat64 *)0x0" (( "(") (type_descriptor "stat64 *" (type_identifier "stat64") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n      pr2serr("How did we get here??\n");\n      local_908 = (stat64 *)0x1;\n      goto LAB_000133fd;\n    }" ({ "{") (expression_statement "pr2serr("How did we get here??\n");" (call_expression "pr2serr("How did we get here??\n")" (identifier "pr2serr") (argument_list "("How did we get here??\n")" (( "(") (string_literal ""How did we get here??\n"" (" """) (string_content "How did we get here??") (escape_sequence "\n") (" """)) () ")"))) (; ";")) (expression_statement "local_908 = (stat64 *)0x1;" (assignment_expression "local_908 = (stat64 *)0x1" (identifier "local_908") (= "=") (cast_expression "(stat64 *)0x1" (( "(") (type_descriptor "stat64 *" (type_identifier "stat64") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x1"))) (; ";")) (goto_statement "goto LAB_000133fd;" (goto "goto") (statement_identifier "LAB_000133fd") (; ";")) (} "}"))) (if_statement "if ((local_7e0 != 0) && (local_91c < (undefined *)(uint)local_7e0)) {\n      pr2serr("%s: number given to --scattered= (%u) exceeds number of --lba= elements (%u)\n",\n              "process_scattered",(undefined *)(uint)local_7e0,local_91c);\n      local_908 = (stat64 *)0x1f;\n      goto LAB_00012354;\n    }" (if "if") (parenthesized_expression "((local_7e0 != 0) && (local_91c < (undefined *)(uint)local_7e0))" (( "(") (binary_expression "(local_7e0 != 0) && (local_91c < (undefined *)(uint)local_7e0)" (parenthesized_expression "(local_7e0 != 0)" (( "(") (binary_expression "local_7e0 != 0" (identifier "local_7e0") (!= "!=") (number_literal "0")) () ")")) (&& "&&") (parenthesized_expression "(local_91c < (undefined *)(uint)local_7e0)" (( "(") (binary_expression "local_91c < (undefined *)(uint)local_7e0" (identifier "local_91c") (< "<") (cast_expression "(undefined *)(uint)local_7e0" (( "(") (type_descriptor "undefined *" (type_identifier "undefined") (abstract_pointer_declarator "*" (* "*"))) () ")") (cast_expression "(uint)local_7e0" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "local_7e0")))) () ")"))) () ")")) (compound_statement "{\n      pr2serr("%s: number given to --scattered= (%u) exceeds number of --lba= elements (%u)\n",\n              "process_scattered",(undefined *)(uint)local_7e0,local_91c);\n      local_908 = (stat64 *)0x1f;\n      goto LAB_00012354;\n    }" ({ "{") (expression_statement "pr2serr("%s: number given to --scattered= (%u) exceeds number of --lba= elements (%u)\n",\n              "process_scattered",(undefined *)(uint)local_7e0,local_91c);" (call_expression "pr2serr("%s: number given to --scattered= (%u) exceeds number of --lba= elements (%u)\n",\n              "process_scattered",(undefined *)(uint)local_7e0,local_91c)" (identifier "pr2serr") (argument_list "("%s: number given to --scattered= (%u) exceeds number of --lba= elements (%u)\n",\n              "process_scattered",(undefined *)(uint)local_7e0,local_91c)" (( "(") (string_literal ""%s: number given to --scattered= (%u) exceeds number of --lba= elements (%u)\n"" (" """) (string_content "%s: number given to --scattered= (%u) exceeds number of --lba= elements (%u)") (escape_sequence "\n") (" """)) (, ",") (string_literal ""process_scattered"" (" """) (string_content "process_scattered") (" """)) (, ",") (cast_expression "(undefined *)(uint)local_7e0" (( "(") (type_descriptor "undefined *" (type_identifier "undefined") (abstract_pointer_declarator "*" (* "*"))) () ")") (cast_expression "(uint)local_7e0" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "local_7e0"))) (, ",") (identifier "local_91c") () ")"))) (; ";")) (expression_statement "local_908 = (stat64 *)0x1f;" (assignment_expression "local_908 = (stat64 *)0x1f" (identifier "local_908") (= "=") (cast_expression "(stat64 *)0x1f" (( "(") (type_descriptor "stat64 *" (type_identifier "stat64") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x1f"))) (; ";")) (goto_statement "goto LAB_00012354;" (goto "goto") (statement_identifier "LAB_00012354") (; ";")) (} "}"))) (expression_statement "uVar7 = (local_8f6 + 1) * 0x20;" (assignment_expression "uVar7 = (local_8f6 + 1) * 0x20" (identifier "uVar7") (= "=") (binary_expression "(local_8f6 + 1) * 0x20" (parenthesized_expression "(local_8f6 + 1)" (( "(") (binary_expression "local_8f6 + 1" (identifier "local_8f6") (+ "+") (number_literal "1")) () ")")) (* "*") (number_literal "0x20"))) (; ";")) (expression_statement "local_7e2 = (ushort)(uVar7 / (uint)local_7d4);" (assignment_expression "local_7e2 = (ushort)(uVar7 / (uint)local_7d4)" (identifier "local_7e2") (= "=") (call_expression "(ushort)(uVar7 / (uint)local_7d4)" (parenthesized_expression "(ushort)" (( "(") (identifier "ushort") () ")")) (argument_list "(uVar7 / (uint)local_7d4)" (( "(") (binary_expression "uVar7 / (uint)local_7d4" (identifier "uVar7") (/ "/") (cast_expression "(uint)local_7d4" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "local_7d4"))) () ")")))) (; ";")) (if_statement "if (uVar7 % (uint)local_7d4 != 0) {\n      local_7e2 = local_7e2 + 1;\n    }" (if "if") (parenthesized_expression "(uVar7 % (uint)local_7d4 != 0)" (( "(") (binary_expression "uVar7 % (uint)local_7d4 != 0" (binary_expression "uVar7 % (uint)local_7d4" (identifier "uVar7") (% "%") (cast_expression "(uint)local_7d4" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "local_7d4"))) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n      local_7e2 = local_7e2 + 1;\n    }" ({ "{") (expression_statement "local_7e2 = local_7e2 + 1;" (assignment_expression "local_7e2 = local_7e2 + 1" (identifier "local_7e2") (= "=") (binary_expression "local_7e2 + 1" (identifier "local_7e2") (+ "+") (number_literal "1"))) (; ";")) (} "}"))) (expression_statement "iVar14 = 0;" (assignment_expression "iVar14 = 0" (identifier "iVar14") (= "=") (number_literal "0")) (; ";")) (expression_statement "local_8ec = (undefined1  [4])0x0;" (assignment_expression "local_8ec = (undefined1  [4])0x0" (identifier "local_8ec") (= "=") (cast_expression "(undefined1  [4])0x0" (( "(") (type_descriptor "undefined1  [4]" (type_identifier "undefined1") (abstract_array_declarator "[4]" ([ "[") (number_literal "4") (] "]"))) () ")") (number_literal "0x0"))) (; ";")) (do_statement "do {\n      local_8ec = (undefined1  [4])((int)&((stat64 *)local_8ec)->st_dev + (int)ppsVar44[iVar14]);\n      iVar14 = iVar14 + 1;\n    } while (iVar14 < (int)local_91c);" (do "do") (compound_statement "{\n      local_8ec = (undefined1  [4])((int)&((stat64 *)local_8ec)->st_dev + (int)ppsVar44[iVar14]);\n      iVar14 = iVar14 + 1;\n    }" ({ "{") (expression_statement "local_8ec = (undefined1  [4])((int)&((stat64 *)local_8ec)->st_dev + (int)ppsVar44[iVar14]);" (assignment_expression "local_8ec = (undefined1  [4])((int)&((stat64 *)local_8ec)->st_dev + (int)ppsVar44[iVar14])" (identifier "local_8ec") (= "=") (call_expression "(undefined1  [4])((int)&((stat64 *)local_8ec)->st_dev + (int)ppsVar44[iVar14])" (parenthesized_expression "(undefined1  [4])" (( "(") (subscript_expression "undefined1  [4]" (identifier "undefined1") ([ "[") (number_literal "4") (] "]")) () ")")) (argument_list "((int)&((stat64 *)local_8ec)->st_dev + (int)ppsVar44[iVar14])" (( "(") (binary_expression "(int)&((stat64 *)local_8ec)->st_dev + (int)ppsVar44[iVar14]" (cast_expression "(int)&((stat64 *)local_8ec)->st_dev" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (pointer_expression "&((stat64 *)local_8ec)->st_dev" (& "&") (field_expression "((stat64 *)local_8ec)->st_dev" (parenthesized_expression "((stat64 *)local_8ec)" (( "(") (cast_expression "(stat64 *)local_8ec" (( "(") (type_descriptor "stat64 *" (type_identifier "stat64") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "local_8ec")) () ")")) (-> "->") (field_identifier "st_dev")))) (+ "+") (cast_expression "(int)ppsVar44[iVar14]" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (subscript_expression "ppsVar44[iVar14]" (identifier "ppsVar44") ([ "[") (identifier "iVar14") (] "]")))) () ")")))) (; ";")) (expression_statement "iVar14 = iVar14 + 1;" (assignment_expression "iVar14 = iVar14 + 1" (identifier "iVar14") (= "=") (binary_expression "iVar14 + 1" (identifier "iVar14") (+ "+") (number_literal "1"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(iVar14 < (int)local_91c)" (( "(") (binary_expression "iVar14 < (int)local_91c" (identifier "iVar14") (< "<") (cast_expression "(int)local_91c" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_91c"))) () ")")) (; ";")) (expression_statement "psVar25 = (stat64 *)\n              sg_memalign((int)((int)&((stat64 *)local_8ec)->st_dev + (uint)local_7e2) *\n                          (int)local_7d4,0,&local_8e8,0);" (assignment_expression "psVar25 = (stat64 *)\n              sg_memalign((int)((int)&((stat64 *)local_8ec)->st_dev + (uint)local_7e2) *\n                          (int)local_7d4,0,&local_8e8,0)" (identifier "psVar25") (= "=") (cast_expression "(stat64 *)\n              sg_memalign((int)((int)&((stat64 *)local_8ec)->st_dev + (uint)local_7e2) *\n                          (int)local_7d4,0,&local_8e8,0)" (( "(") (type_descriptor "stat64 *" (type_identifier "stat64") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "sg_memalign((int)((int)&((stat64 *)local_8ec)->st_dev + (uint)local_7e2) *\n                          (int)local_7d4,0,&local_8e8,0)" (identifier "sg_memalign") (argument_list "((int)((int)&((stat64 *)local_8ec)->st_dev + (uint)local_7e2) *\n                          (int)local_7d4,0,&local_8e8,0)" (( "(") (binary_expression "(int)((int)&((stat64 *)local_8ec)->st_dev + (uint)local_7e2) *\n                          (int)local_7d4" (cast_expression "(int)((int)&((stat64 *)local_8ec)->st_dev + (uint)local_7e2)" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (parenthesized_expression "((int)&((stat64 *)local_8ec)->st_dev + (uint)local_7e2)" (( "(") (binary_expression "(int)&((stat64 *)local_8ec)->st_dev + (uint)local_7e2" (cast_expression "(int)&((stat64 *)local_8ec)->st_dev" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (pointer_expression "&((stat64 *)local_8ec)->st_dev" (& "&") (field_expression "((stat64 *)local_8ec)->st_dev" (parenthesized_expression "((stat64 *)local_8ec)" (( "(") (cast_expression "(stat64 *)local_8ec" (( "(") (type_descriptor "stat64 *" (type_identifier "stat64") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "local_8ec")) () ")")) (-> "->") (field_identifier "st_dev")))) (+ "+") (cast_expression "(uint)local_7e2" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "local_7e2"))) () ")"))) (* "*") (cast_expression "(int)local_7d4" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_7d4"))) (, ",") (number_literal "0") (, ",") (pointer_expression "&local_8e8" (& "&") (identifier "local_8e8")) (, ",") (number_literal "0") () ")"))))) (; ";")) (if_statement "if (psVar25 == (stat64 *)0x0) goto LAB_00013fb3;" (if "if") (parenthesized_expression "(psVar25 == (stat64 *)0x0)" (( "(") (binary_expression "psVar25 == (stat64 *)0x0" (identifier "psVar25") (== "==") (cast_expression "(stat64 *)0x0" (( "(") (type_descriptor "stat64 *" (type_identifier "stat64") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (goto_statement "goto LAB_00013fb3;" (goto "goto") (statement_identifier "LAB_00013fb3") (; ";"))) (expression_statement "iVar14 = 0;" (assignment_expression "iVar14 = 0" (identifier "iVar14") (= "=") (number_literal "0")) (; ";")) (expression_statement "psVar38 = psVar25;" (assignment_expression "psVar38 = psVar25" (identifier "psVar38") (= "=") (identifier "psVar25")) (; ";")) (do_statement "do {\n      uVar7 = puVar42[iVar14 * 2];\n      uVar24 = puVar42[iVar14 * 2 + 1];\n      *(uint *)&psVar38->st_rdev =\n           uVar24 >> 0x18 | (uVar24 & 0xff0000) >> 8 | (uVar24 & 0xff00) << 8 | uVar24 << 0x18;\n      *(uint *)((int)&psVar38->st_rdev + 4) =\n           uVar7 >> 0x18 | (uVar7 & 0xff0000) >> 8 | (uVar7 & 0xff00) << 8 | uVar7 << 0x18;\n      psVar17 = ppsVar44[iVar14];\n      psVar38->__pad2 =\n           (uint)psVar17 >> 0x18 | ((uint)psVar17 & 0xff0000) >> 8 | ((uint)psVar17 & 0xff00) << 8 |\n           (int)psVar17 << 0x18;\n      if (local_81f != '\0') {\n        if (iVar14 == 0) {\n          *(uint *)&psVar38->st_size =\n               local_7c0 >> 0x18 | (local_7c0 & 0xff0000) >> 8 | (local_7c0 & 0xff00) << 8 |\n               local_7c0 << 0x18;\n          *(ushort *)((int)&psVar38->st_size + 4) = local_7e6 << 8 | local_7e6 >> 8;\n          *(ushort *)((int)&psVar38->st_size + 6) = local_7dc << 8 | local_7dc >> 8;\n        }\n        else {\n          *(undefined4 *)&psVar38->st_size = 0xffffffff;\n          *(undefined2 *)((int)&psVar38->st_size + 4) = 0xffff;\n          *(undefined2 *)((int)&psVar38->st_size + 6) = 0xffff;\n        }\n      }\n      iVar14 = iVar14 + 1;\n      psVar38 = (stat64 *)&psVar38->st_rdev;\n    } while (iVar14 < (int)local_91c);" (do "do") (compound_statement "{\n      uVar7 = puVar42[iVar14 * 2];\n      uVar24 = puVar42[iVar14 * 2 + 1];\n      *(uint *)&psVar38->st_rdev =\n           uVar24 >> 0x18 | (uVar24 & 0xff0000) >> 8 | (uVar24 & 0xff00) << 8 | uVar24 << 0x18;\n      *(uint *)((int)&psVar38->st_rdev + 4) =\n           uVar7 >> 0x18 | (uVar7 & 0xff0000) >> 8 | (uVar7 & 0xff00) << 8 | uVar7 << 0x18;\n      psVar17 = ppsVar44[iVar14];\n      psVar38->__pad2 =\n           (uint)psVar17 >> 0x18 | ((uint)psVar17 & 0xff0000) >> 8 | ((uint)psVar17 & 0xff00) << 8 |\n           (int)psVar17 << 0x18;\n      if (local_81f != '\0') {\n        if (iVar14 == 0) {\n          *(uint *)&psVar38->st_size =\n               local_7c0 >> 0x18 | (local_7c0 & 0xff0000) >> 8 | (local_7c0 & 0xff00) << 8 |\n               local_7c0 << 0x18;\n          *(ushort *)((int)&psVar38->st_size + 4) = local_7e6 << 8 | local_7e6 >> 8;\n          *(ushort *)((int)&psVar38->st_size + 6) = local_7dc << 8 | local_7dc >> 8;\n        }\n        else {\n          *(undefined4 *)&psVar38->st_size = 0xffffffff;\n          *(undefined2 *)((int)&psVar38->st_size + 4) = 0xffff;\n          *(undefined2 *)((int)&psVar38->st_size + 6) = 0xffff;\n        }\n      }\n      iVar14 = iVar14 + 1;\n      psVar38 = (stat64 *)&psVar38->st_rdev;\n    }" ({ "{") (expression_statement "uVar7 = puVar42[iVar14 * 2];" (assignment_expression "uVar7 = puVar42[iVar14 * 2]" (identifier "uVar7") (= "=") (subscript_expression "puVar42[iVar14 * 2]" (identifier "puVar42") ([ "[") (binary_expression "iVar14 * 2" (identifier "iVar14") (* "*") (number_literal "2")) (] "]"))) (; ";")) (expression_statement "uVar24 = puVar42[iVar14 * 2 + 1];" (assignment_expression "uVar24 = puVar42[iVar14 * 2 + 1]" (identifier "uVar24") (= "=") (subscript_expression "puVar42[iVar14 * 2 + 1]" (identifier "puVar42") ([ "[") (binary_expression "iVar14 * 2 + 1" (binary_expression "iVar14 * 2" (identifier "iVar14") (* "*") (number_literal "2")) (+ "+") (number_literal "1")) (] "]"))) (; ";")) (expression_statement "*(uint *)&psVar38->st_rdev =\n           uVar24 >> 0x18 | (uVar24 & 0xff0000) >> 8 | (uVar24 & 0xff00) << 8 | uVar24 << 0x18;" (assignment_expression "*(uint *)&psVar38->st_rdev =\n           uVar24 >> 0x18 | (uVar24 & 0xff0000) >> 8 | (uVar24 & 0xff00) << 8 | uVar24 << 0x18" (pointer_expression "*(uint *)&psVar38->st_rdev" (* "*") (cast_expression "(uint *)&psVar38->st_rdev" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "&psVar38->st_rdev" (& "&") (field_expression "psVar38->st_rdev" (identifier "psVar38") (-> "->") (field_identifier "st_rdev"))))) (= "=") (binary_expression "uVar24 >> 0x18 | (uVar24 & 0xff0000) >> 8 | (uVar24 & 0xff00) << 8 | uVar24 << 0x18" (binary_expression "uVar24 >> 0x18 | (uVar24 & 0xff0000) >> 8 | (uVar24 & 0xff00) << 8" (binary_expression "uVar24 >> 0x18 | (uVar24 & 0xff0000) >> 8" (binary_expression "uVar24 >> 0x18" (identifier "uVar24") (>> ">>") (number_literal "0x18")) (| "|") (binary_expression "(uVar24 & 0xff0000) >> 8" (parenthesized_expression "(uVar24 & 0xff0000)" (( "(") (binary_expression "uVar24 & 0xff0000" (identifier "uVar24") (& "&") (number_literal "0xff0000")) () ")")) (>> ">>") (number_literal "8"))) (| "|") (binary_expression "(uVar24 & 0xff00) << 8" (parenthesized_expression "(uVar24 & 0xff00)" (( "(") (binary_expression "uVar24 & 0xff00" (identifier "uVar24") (& "&") (number_literal "0xff00")) () ")")) (<< "<<") (number_literal "8"))) (| "|") (binary_expression "uVar24 << 0x18" (identifier "uVar24") (<< "<<") (number_literal "0x18")))) (; ";")) (expression_statement "*(uint *)((int)&psVar38->st_rdev + 4) =\n           uVar7 >> 0x18 | (uVar7 & 0xff0000) >> 8 | (uVar7 & 0xff00) << 8 | uVar7 << 0x18;" (assignment_expression "*(uint *)((int)&psVar38->st_rdev + 4) =\n           uVar7 >> 0x18 | (uVar7 & 0xff0000) >> 8 | (uVar7 & 0xff00) << 8 | uVar7 << 0x18" (pointer_expression "*(uint *)((int)&psVar38->st_rdev + 4)" (* "*") (cast_expression "(uint *)((int)&psVar38->st_rdev + 4)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)&psVar38->st_rdev + 4)" (( "(") (binary_expression "(int)&psVar38->st_rdev + 4" (cast_expression "(int)&psVar38->st_rdev" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (pointer_expression "&psVar38->st_rdev" (& "&") (field_expression "psVar38->st_rdev" (identifier "psVar38") (-> "->") (field_identifier "st_rdev")))) (+ "+") (number_literal "4")) () ")")))) (= "=") (binary_expression "uVar7 >> 0x18 | (uVar7 & 0xff0000) >> 8 | (uVar7 & 0xff00) << 8 | uVar7 << 0x18" (binary_expression "uVar7 >> 0x18 | (uVar7 & 0xff0000) >> 8 | (uVar7 & 0xff00) << 8" (binary_expression "uVar7 >> 0x18 | (uVar7 & 0xff0000) >> 8" (binary_expression "uVar7 >> 0x18" (identifier "uVar7") (>> ">>") (number_literal "0x18")) (| "|") (binary_expression "(uVar7 & 0xff0000) >> 8" (parenthesized_expression "(uVar7 & 0xff0000)" (( "(") (binary_expression "uVar7 & 0xff0000" (identifier "uVar7") (& "&") (number_literal "0xff0000")) () ")")) (>> ">>") (number_literal "8"))) (| "|") (binary_expression "(uVar7 & 0xff00) << 8" (parenthesized_expression "(uVar7 & 0xff00)" (( "(") (binary_expression "uVar7 & 0xff00" (identifier "uVar7") (& "&") (number_literal "0xff00")) () ")")) (<< "<<") (number_literal "8"))) (| "|") (binary_expression "uVar7 << 0x18" (identifier "uVar7") (<< "<<") (number_literal "0x18")))) (; ";")) (expression_statement "psVar17 = ppsVar44[iVar14];" (assignment_expression "psVar17 = ppsVar44[iVar14]" (identifier "psVar17") (= "=") (subscript_expression "ppsVar44[iVar14]" (identifier "ppsVar44") ([ "[") (identifier "iVar14") (] "]"))) (; ";")) (expression_statement "psVar38->__pad2 =\n           (uint)psVar17 >> 0x18 | ((uint)psVar17 & 0xff0000) >> 8 | ((uint)psVar17 & 0xff00) << 8 |\n           (int)psVar17 << 0x18;" (assignment_expression "psVar38->__pad2 =\n           (uint)psVar17 >> 0x18 | ((uint)psVar17 & 0xff0000) >> 8 | ((uint)psVar17 & 0xff00) << 8 |\n           (int)psVar17 << 0x18" (field_expression "psVar38->__pad2" (identifier "psVar38") (-> "->") (field_identifier "__pad2")) (= "=") (binary_expression "(uint)psVar17 >> 0x18 | ((uint)psVar17 & 0xff0000) >> 8 | ((uint)psVar17 & 0xff00) << 8 |\n           (int)psVar17 << 0x18" (binary_expression "(uint)psVar17 >> 0x18 | ((uint)psVar17 & 0xff0000) >> 8 | ((uint)psVar17 & 0xff00) << 8" (binary_expression "(uint)psVar17 >> 0x18 | ((uint)psVar17 & 0xff0000) >> 8" (binary_expression "(uint)psVar17 >> 0x18" (cast_expression "(uint)psVar17" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "psVar17")) (>> ">>") (number_literal "0x18")) (| "|") (binary_expression "((uint)psVar17 & 0xff0000) >> 8" (parenthesized_expression "((uint)psVar17 & 0xff0000)" (( "(") (binary_expression "(uint)psVar17 & 0xff0000" (cast_expression "(uint)psVar17" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "psVar17")) (& "&") (number_literal "0xff0000")) () ")")) (>> ">>") (number_literal "8"))) (| "|") (binary_expression "((uint)psVar17 & 0xff00) << 8" (parenthesized_expression "((uint)psVar17 & 0xff00)" (( "(") (binary_expression "(uint)psVar17 & 0xff00" (cast_expression "(uint)psVar17" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "psVar17")) (& "&") (number_literal "0xff00")) () ")")) (<< "<<") (number_literal "8"))) (| "|") (binary_expression "(int)psVar17 << 0x18" (cast_expression "(int)psVar17" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "psVar17")) (<< "<<") (number_literal "0x18")))) (; ";")) (if_statement "if (local_81f != '\0') {\n        if (iVar14 == 0) {\n          *(uint *)&psVar38->st_size =\n               local_7c0 >> 0x18 | (local_7c0 & 0xff0000) >> 8 | (local_7c0 & 0xff00) << 8 |\n               local_7c0 << 0x18;\n          *(ushort *)((int)&psVar38->st_size + 4) = local_7e6 << 8 | local_7e6 >> 8;\n          *(ushort *)((int)&psVar38->st_size + 6) = local_7dc << 8 | local_7dc >> 8;\n        }\n        else {\n          *(undefined4 *)&psVar38->st_size = 0xffffffff;\n          *(undefined2 *)((int)&psVar38->st_size + 4) = 0xffff;\n          *(undefined2 *)((int)&psVar38->st_size + 6) = 0xffff;\n        }\n      }" (if "if") (parenthesized_expression "(local_81f != '\0')" (( "(") (binary_expression "local_81f != '\0'" (identifier "local_81f") (!= "!=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n        if (iVar14 == 0) {\n          *(uint *)&psVar38->st_size =\n               local_7c0 >> 0x18 | (local_7c0 & 0xff0000) >> 8 | (local_7c0 & 0xff00) << 8 |\n               local_7c0 << 0x18;\n          *(ushort *)((int)&psVar38->st_size + 4) = local_7e6 << 8 | local_7e6 >> 8;\n          *(ushort *)((int)&psVar38->st_size + 6) = local_7dc << 8 | local_7dc >> 8;\n        }\n        else {\n          *(undefined4 *)&psVar38->st_size = 0xffffffff;\n          *(undefined2 *)((int)&psVar38->st_size + 4) = 0xffff;\n          *(undefined2 *)((int)&psVar38->st_size + 6) = 0xffff;\n        }\n      }" ({ "{") (if_statement "if (iVar14 == 0) {\n          *(uint *)&psVar38->st_size =\n               local_7c0 >> 0x18 | (local_7c0 & 0xff0000) >> 8 | (local_7c0 & 0xff00) << 8 |\n               local_7c0 << 0x18;\n          *(ushort *)((int)&psVar38->st_size + 4) = local_7e6 << 8 | local_7e6 >> 8;\n          *(ushort *)((int)&psVar38->st_size + 6) = local_7dc << 8 | local_7dc >> 8;\n        }\n        else {\n          *(undefined4 *)&psVar38->st_size = 0xffffffff;\n          *(undefined2 *)((int)&psVar38->st_size + 4) = 0xffff;\n          *(undefined2 *)((int)&psVar38->st_size + 6) = 0xffff;\n        }" (if "if") (parenthesized_expression "(iVar14 == 0)" (( "(") (binary_expression "iVar14 == 0" (identifier "iVar14") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n          *(uint *)&psVar38->st_size =\n               local_7c0 >> 0x18 | (local_7c0 & 0xff0000) >> 8 | (local_7c0 & 0xff00) << 8 |\n               local_7c0 << 0x18;\n          *(ushort *)((int)&psVar38->st_size + 4) = local_7e6 << 8 | local_7e6 >> 8;\n          *(ushort *)((int)&psVar38->st_size + 6) = local_7dc << 8 | local_7dc >> 8;\n        }" ({ "{") (expression_statement "*(uint *)&psVar38->st_size =\n               local_7c0 >> 0x18 | (local_7c0 & 0xff0000) >> 8 | (local_7c0 & 0xff00) << 8 |\n               local_7c0 << 0x18;" (assignment_expression "*(uint *)&psVar38->st_size =\n               local_7c0 >> 0x18 | (local_7c0 & 0xff0000) >> 8 | (local_7c0 & 0xff00) << 8 |\n               local_7c0 << 0x18" (pointer_expression "*(uint *)&psVar38->st_size" (* "*") (cast_expression "(uint *)&psVar38->st_size" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "&psVar38->st_size" (& "&") (field_expression "psVar38->st_size" (identifier "psVar38") (-> "->") (field_identifier "st_size"))))) (= "=") (binary_expression "local_7c0 >> 0x18 | (local_7c0 & 0xff0000) >> 8 | (local_7c0 & 0xff00) << 8 |\n               local_7c0 << 0x18" (binary_expression "local_7c0 >> 0x18 | (local_7c0 & 0xff0000) >> 8 | (local_7c0 & 0xff00) << 8" (binary_expression "local_7c0 >> 0x18 | (local_7c0 & 0xff0000) >> 8" (binary_expression "local_7c0 >> 0x18" (identifier "local_7c0") (>> ">>") (number_literal "0x18")) (| "|") (binary_expression "(local_7c0 & 0xff0000) >> 8" (parenthesized_expression "(local_7c0 & 0xff0000)" (( "(") (binary_expression "local_7c0 & 0xff0000" (identifier "local_7c0") (& "&") (number_literal "0xff0000")) () ")")) (>> ">>") (number_literal "8"))) (| "|") (binary_expression "(local_7c0 & 0xff00) << 8" (parenthesized_expression "(local_7c0 & 0xff00)" (( "(") (binary_expression "local_7c0 & 0xff00" (identifier "local_7c0") (& "&") (number_literal "0xff00")) () ")")) (<< "<<") (number_literal "8"))) (| "|") (binary_expression "local_7c0 << 0x18" (identifier "local_7c0") (<< "<<") (number_literal "0x18")))) (; ";")) (expression_statement "*(ushort *)((int)&psVar38->st_size + 4) = local_7e6 << 8 | local_7e6 >> 8;" (assignment_expression "*(ushort *)((int)&psVar38->st_size + 4) = local_7e6 << 8 | local_7e6 >> 8" (pointer_expression "*(ushort *)((int)&psVar38->st_size + 4)" (* "*") (cast_expression "(ushort *)((int)&psVar38->st_size + 4)" (( "(") (type_descriptor "ushort *" (type_identifier "ushort") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)&psVar38->st_size + 4)" (( "(") (binary_expression "(int)&psVar38->st_size + 4" (cast_expression "(int)&psVar38->st_size" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (pointer_expression "&psVar38->st_size" (& "&") (field_expression "psVar38->st_size" (identifier "psVar38") (-> "->") (field_identifier "st_size")))) (+ "+") (number_literal "4")) () ")")))) (= "=") (binary_expression "local_7e6 << 8 | local_7e6 >> 8" (binary_expression "local_7e6 << 8" (identifier "local_7e6") (<< "<<") (number_literal "8")) (| "|") (binary_expression "local_7e6 >> 8" (identifier "local_7e6") (>> ">>") (number_literal "8")))) (; ";")) (expression_statement "*(ushort *)((int)&psVar38->st_size + 6) = local_7dc << 8 | local_7dc >> 8;" (assignment_expression "*(ushort *)((int)&psVar38->st_size + 6) = local_7dc << 8 | local_7dc >> 8" (pointer_expression "*(ushort *)((int)&psVar38->st_size + 6)" (* "*") (cast_expression "(ushort *)((int)&psVar38->st_size + 6)" (( "(") (type_descriptor "ushort *" (type_identifier "ushort") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)&psVar38->st_size + 6)" (( "(") (binary_expression "(int)&psVar38->st_size + 6" (cast_expression "(int)&psVar38->st_size" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (pointer_expression "&psVar38->st_size" (& "&") (field_expression "psVar38->st_size" (identifier "psVar38") (-> "->") (field_identifier "st_size")))) (+ "+") (number_literal "6")) () ")")))) (= "=") (binary_expression "local_7dc << 8 | local_7dc >> 8" (binary_expression "local_7dc << 8" (identifier "local_7dc") (<< "<<") (number_literal "8")) (| "|") (binary_expression "local_7dc >> 8" (identifier "local_7dc") (>> ">>") (number_literal "8")))) (; ";")) (} "}")) (else_clause "else {\n          *(undefined4 *)&psVar38->st_size = 0xffffffff;\n          *(undefined2 *)((int)&psVar38->st_size + 4) = 0xffff;\n          *(undefined2 *)((int)&psVar38->st_size + 6) = 0xffff;\n        }" (else "else") (compound_statement "{\n          *(undefined4 *)&psVar38->st_size = 0xffffffff;\n          *(undefined2 *)((int)&psVar38->st_size + 4) = 0xffff;\n          *(undefined2 *)((int)&psVar38->st_size + 6) = 0xffff;\n        }" ({ "{") (expression_statement "*(undefined4 *)&psVar38->st_size = 0xffffffff;" (assignment_expression "*(undefined4 *)&psVar38->st_size = 0xffffffff" (pointer_expression "*(undefined4 *)&psVar38->st_size" (* "*") (cast_expression "(undefined4 *)&psVar38->st_size" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "&psVar38->st_size" (& "&") (field_expression "psVar38->st_size" (identifier "psVar38") (-> "->") (field_identifier "st_size"))))) (= "=") (number_literal "0xffffffff")) (; ";")) (expression_statement "*(undefined2 *)((int)&psVar38->st_size + 4) = 0xffff;" (assignment_expression "*(undefined2 *)((int)&psVar38->st_size + 4) = 0xffff" (pointer_expression "*(undefined2 *)((int)&psVar38->st_size + 4)" (* "*") (cast_expression "(undefined2 *)((int)&psVar38->st_size + 4)" (( "(") (type_descriptor "undefined2 *" (type_identifier "undefined2") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)&psVar38->st_size + 4)" (( "(") (binary_expression "(int)&psVar38->st_size + 4" (cast_expression "(int)&psVar38->st_size" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (pointer_expression "&psVar38->st_size" (& "&") (field_expression "psVar38->st_size" (identifier "psVar38") (-> "->") (field_identifier "st_size")))) (+ "+") (number_literal "4")) () ")")))) (= "=") (number_literal "0xffff")) (; ";")) (expression_statement "*(undefined2 *)((int)&psVar38->st_size + 6) = 0xffff;" (assignment_expression "*(undefined2 *)((int)&psVar38->st_size + 6) = 0xffff" (pointer_expression "*(undefined2 *)((int)&psVar38->st_size + 6)" (* "*") (cast_expression "(undefined2 *)((int)&psVar38->st_size + 6)" (( "(") (type_descriptor "undefined2 *" (type_identifier "undefined2") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)&psVar38->st_size + 6)" (( "(") (binary_expression "(int)&psVar38->st_size + 6" (cast_expression "(int)&psVar38->st_size" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (pointer_expression "&psVar38->st_size" (& "&") (field_expression "psVar38->st_size" (identifier "psVar38") (-> "->") (field_identifier "st_size")))) (+ "+") (number_literal "6")) () ")")))) (= "=") (number_literal "0xffff")) (; ";")) (} "}")))) (} "}"))) (expression_statement "iVar14 = iVar14 + 1;" (assignment_expression "iVar14 = iVar14 + 1" (identifier "iVar14") (= "=") (binary_expression "iVar14 + 1" (identifier "iVar14") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "psVar38 = (stat64 *)&psVar38->st_rdev;" (assignment_expression "psVar38 = (stat64 *)&psVar38->st_rdev" (identifier "psVar38") (= "=") (cast_expression "(stat64 *)&psVar38->st_rdev" (( "(") (type_descriptor "stat64 *" (type_identifier "stat64") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "&psVar38->st_rdev" (& "&") (field_expression "psVar38->st_rdev" (identifier "psVar38") (-> "->") (field_identifier "st_rdev"))))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(iVar14 < (int)local_91c)" (( "(") (binary_expression "iVar14 < (int)local_91c" (identifier "iVar14") (< "<") (cast_expression "(int)local_91c" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_91c"))) () ")")) (; ";")) (expression_statement "local_7cc = (stat64 *)local_8ec;" (assignment_expression "local_7cc = (stat64 *)local_8ec" (identifier "local_7cc") (= "=") (cast_expression "(stat64 *)local_8ec" (( "(") (type_descriptor "stat64 *" (type_identifier "stat64") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "local_8ec"))) (; ";")) (} "}")) (else_clause "else {\n    if (local_819 == '\0') {\n      uVar7 = (uint)local_8f6;\n      uVar16 = 0;\n      uVar24 = (uVar7 + 1) * 0x20;\n      local_7e2 = (ushort)(uVar24 / (uint)local_7d4);\n      ppvVar39 = &local_8e8;\n      if (uVar24 % (uint)local_7d4 != 0) {\n        local_7e2 = local_7e2 + 1;\n      }\n      psVar38 = (stat64 *)0x0;\n      psVar25 = (stat64 *)\n                sg_memalign((int)((int)&local_8f4->st_dev + (uint)local_7e2) * (int)local_7d4,0,\n                            ppvVar39,0);\n      if (psVar25 == (stat64 *)0x0) goto LAB_000141a6;\n      local_8f6 = 0;\n      local_8ec = (undefined1  [4])0x0;\n      if (uVar7 + 1 == 1) {\n        uVar24 = (uint)local_7e2 * (int)local_7d4;\n      }\n      local_908 = (stat64 *)FUN_000156d0(psVar25,&local_8f6,local_8ec,uVar24);\n      if (local_908 != (stat64 *)0x0) goto LAB_000133fd;\n      psVar38 = (stat64 *)((int)local_7d4 * (int)local_8ec);\n      if (local_7d0 <= psVar38) {\n        if ((local_7d0 <= psVar38 && (int)psVar38 - (int)local_7d0 != 0) &&\n           (local_7d0 != (stat64 *)0x0)) {\n          psVar38 = local_7d0;\n        }\nLAB_00014208:\n        if ((psVar45 != (stat64 *)0x0) && (psVar45 != psVar38)) {\n          if (psVar18 != (stat64 *)0x0) {\n            puVar20 = &DAT_00017110;\n            if (psVar38 <= psVar45) {\n              puVar20 = &DAT_000170dd;\n            }\n            pr2serr("readable length (%u) of IF %s bytes implied by sum of\nscatter list NUMs (%u) and DLEN\n"\n                    ,psVar45,puVar20,psVar38);\n          }\n          if ((local_7f8 != 0) && ((psVar38 <= psVar45 || (1 < (int)local_7f8)))) goto LAB_000133f3;\nLAB_0001387e:\n          if (psVar45 < psVar38) {\n            psVar38 = psVar45;\n          }\n        }\n        psVar17 = (stat64 *)((uint)psVar38 / (uint)local_7d4);\n        if (((uint)psVar38 % (uint)local_7d4 != 0) &&\n           ((psVar18 != (stat64 *)0x0 || (1 < (int)local_7f8)))) {\n          psVar22 = local_7d8;\n          pr2serr("Calculated data-out length (0x%x) not a multiple of BS (%u",psVar38,local_7d8,\n                  psVar17);\n          if (local_7d8 != local_7d4) {\n            psVar38 = (stat64 *)((int)local_7d4 - (int)local_7d8);\n            psVar22 = extraout_ECX_07;\n            psVar17 = extraout_ECX_07;\n            pr2serr(" + %d(PI)",psVar38,extraout_ECX_07,extraout_ECX_07);\n          }\n          if (1 < (int)local_7f8) {\n            pr2serr(")\nexiting ...\n",psVar38,psVar22,psVar17);\n            local_908 = (stat64 *)0xf;\n            goto LAB_000133fd;\n          }\n          pr2serr(")\nzero pad and continue ...\n",psVar38,psVar22,psVar17);\n        }\n      }\n      else {\n        uVar7 = (uint)psVar18 | local_7f8;\n        if (uVar7 != 0) {\n          pr2serr("DLEN > than bytes implied by sum of scatter list NUMs (%u)\n",psVar38,uVar7,uVar7\n                 );\n          if (1 < (int)psVar18) {\n            pr2serr("  num_lbard=%u, sum_num=%u actual_bs=%u",local_8f6,local_8ec,local_7d4);\n          }\n          if (local_7f8 != 0) goto LAB_000133f3;\n          goto LAB_00014208;\n        }\n        if ((psVar45 != (stat64 *)0x0) && (psVar45 != psVar38)) goto LAB_0001387e;\n      }\n      local_908 = (stat64 *)FUN_00014a80(&DAT_00017360);\n    }\n    else {\nLAB_00013dcd:\n      psVar38 = local_7d4;\n      if (local_7e0 != 0) {\n        psVar38 = (stat64 *)((local_7e0 + 1) * 0x20);\n        if (local_908 < psVar38) {\n          pr2serr("SF not long enough (%u bytes) to provide RD (%u) %ss\n",local_908,psVar38,\n                  "LBA range descriptor");\n          local_908 = (stat64 *)0xf;\n          goto LAB_000133fd;\n        }\n        psVar38 = (stat64 *)\n                  ((((uint)psVar38 / (uint)local_7d4 + 1) -\n                   (uint)((uint)psVar38 % (uint)local_7d4 == 0)) * (int)local_7d4);\n      }\n      local_918 = local_7d4;\n      if (local_93c != (stat64 *)0x0) {\n        local_918 = (stat64 *)\n                    ((((uint)local_93c / (uint)local_7d4 + 1) -\n                     (uint)((uint)local_93c % (uint)local_7d4 == 0)) * (int)local_7d4);\n      }\n      psVar25 = (stat64 *)\n                sg_memalign((undefined *)((int)&psVar38->st_dev + (int)&local_918->st_dev),0,\n                            &local_8e8,0);\n      if (psVar25 == (stat64 *)0x0) {\nLAB_00013fb3:\n        pcVar15 = "unable to allocate aligned memory for scatterlist+data\n";\nLAB_00013fbc:\n        pr2serr(pcVar15);\n        local_908 = (stat64 *)sg_convert_errno(0xc);\n        goto LAB_000133fd;\n      }\n      local_908 = (stat64 *)FUN_00014a80(&DAT_00017365);\n      if (local_908 != (stat64 *)0x0) goto LAB_000133fd;\n      psVar17 = (stat64 *)local_8ec;\n      psVar22 = extraout_ECX_08;\n      psVar8 = extraout_ECX_08;\n      cVar6 = FUN_000146a0(&local_8f6,psVar17,extraout_ECX_08,extraout_ECX_08);\n      if (cVar6 == '\0') goto LAB_000133f3;\n      if (local_7e0 != local_8f6) {\n        pr2serr("Try again with --scattered=%u\n",local_8f6,extraout_EDX_05,extraout_EDX_05);\n        local_908 = (stat64 *)0xf;\n        goto LAB_000133fd;\n      }\n      if (local_918 < (stat64 *)((int)local_7d4 * (int)local_8ec)) {\n        psVar9 = (stat64 *)\n                 sg_memalign((undefined *)\n                             ((int)&psVar38->st_dev +\n                             (int)&((stat64 *)((int)local_7d4 * (int)local_8ec))->st_dev),0,\n                             &local_8e4,0);\n        if (psVar9 == (stat64 *)0x0) goto LAB_00014273;\n        psVar22 = psVar38;\n        psVar8 = psVar9;\n        memcpy(psVar9,psVar25,(size_t)psVar38);\n        psVar17 = psVar25;\n        free(local_8e8);\n        local_8e8 = local_8e4;\n        psVar25 = psVar9;\n      }\n      if ((local_93c != psVar38) && (psVar18 != (stat64 *)0x0 || local_7f8 != 0)) {\n        psVar22 = (stat64 *)&DAT_000170dd;\n        if (local_93c <= psVar38) {\n          psVar22 = (stat64 *)&DAT_00017110;\n        }\n        psVar8 = psVar38;\n        pr2serr("IF length (%u) %s \'sum_num\' bytes (%u), ",local_93c,psVar22,psVar38);\n        if (1 < (int)local_7f8) {\n          pr2serr("exiting (strict=%d)\n",local_7f8,psVar38,psVar38);\n          local_908 = (stat64 *)0xf;\n          goto LAB_000133fd;\n        }\n        pr2serr("continuing ...\n",local_93c,psVar22,psVar8);\n        psVar17 = local_93c;\n      }\n      local_908 = (stat64 *)FUN_00014a80(&DAT_0001738d,psVar17,psVar22,psVar8);\n    }\n    if (local_908 != (stat64 *)0x0) goto LAB_000133fd;\n    local_7a4 = (stat64 *)((int)local_8ec * (int)local_7d4);\n    local_7cc = (stat64 *)local_8ec;\n  }" (else "else") (compound_statement "{\n    if (local_819 == '\0') {\n      uVar7 = (uint)local_8f6;\n      uVar16 = 0;\n      uVar24 = (uVar7 + 1) * 0x20;\n      local_7e2 = (ushort)(uVar24 / (uint)local_7d4);\n      ppvVar39 = &local_8e8;\n      if (uVar24 % (uint)local_7d4 != 0) {\n        local_7e2 = local_7e2 + 1;\n      }\n      psVar38 = (stat64 *)0x0;\n      psVar25 = (stat64 *)\n                sg_memalign((int)((int)&local_8f4->st_dev + (uint)local_7e2) * (int)local_7d4,0,\n                            ppvVar39,0);\n      if (psVar25 == (stat64 *)0x0) goto LAB_000141a6;\n      local_8f6 = 0;\n      local_8ec = (undefined1  [4])0x0;\n      if (uVar7 + 1 == 1) {\n        uVar24 = (uint)local_7e2 * (int)local_7d4;\n      }\n      local_908 = (stat64 *)FUN_000156d0(psVar25,&local_8f6,local_8ec,uVar24);\n      if (local_908 != (stat64 *)0x0) goto LAB_000133fd;\n      psVar38 = (stat64 *)((int)local_7d4 * (int)local_8ec);\n      if (local_7d0 <= psVar38) {\n        if ((local_7d0 <= psVar38 && (int)psVar38 - (int)local_7d0 != 0) &&\n           (local_7d0 != (stat64 *)0x0)) {\n          psVar38 = local_7d0;\n        }\nLAB_00014208:\n        if ((psVar45 != (stat64 *)0x0) && (psVar45 != psVar38)) {\n          if (psVar18 != (stat64 *)0x0) {\n            puVar20 = &DAT_00017110;\n            if (psVar38 <= psVar45) {\n              puVar20 = &DAT_000170dd;\n            }\n            pr2serr("readable length (%u) of IF %s bytes implied by sum of\nscatter list NUMs (%u) and DLEN\n"\n                    ,psVar45,puVar20,psVar38);\n          }\n          if ((local_7f8 != 0) && ((psVar38 <= psVar45 || (1 < (int)local_7f8)))) goto LAB_000133f3;\nLAB_0001387e:\n          if (psVar45 < psVar38) {\n            psVar38 = psVar45;\n          }\n        }\n        psVar17 = (stat64 *)((uint)psVar38 / (uint)local_7d4);\n        if (((uint)psVar38 % (uint)local_7d4 != 0) &&\n           ((psVar18 != (stat64 *)0x0 || (1 < (int)local_7f8)))) {\n          psVar22 = local_7d8;\n          pr2serr("Calculated data-out length (0x%x) not a multiple of BS (%u",psVar38,local_7d8,\n                  psVar17);\n          if (local_7d8 != local_7d4) {\n            psVar38 = (stat64 *)((int)local_7d4 - (int)local_7d8);\n            psVar22 = extraout_ECX_07;\n            psVar17 = extraout_ECX_07;\n            pr2serr(" + %d(PI)",psVar38,extraout_ECX_07,extraout_ECX_07);\n          }\n          if (1 < (int)local_7f8) {\n            pr2serr(")\nexiting ...\n",psVar38,psVar22,psVar17);\n            local_908 = (stat64 *)0xf;\n            goto LAB_000133fd;\n          }\n          pr2serr(")\nzero pad and continue ...\n",psVar38,psVar22,psVar17);\n        }\n      }\n      else {\n        uVar7 = (uint)psVar18 | local_7f8;\n        if (uVar7 != 0) {\n          pr2serr("DLEN > than bytes implied by sum of scatter list NUMs (%u)\n",psVar38,uVar7,uVar7\n                 );\n          if (1 < (int)psVar18) {\n            pr2serr("  num_lbard=%u, sum_num=%u actual_bs=%u",local_8f6,local_8ec,local_7d4);\n          }\n          if (local_7f8 != 0) goto LAB_000133f3;\n          goto LAB_00014208;\n        }\n        if ((psVar45 != (stat64 *)0x0) && (psVar45 != psVar38)) goto LAB_0001387e;\n      }\n      local_908 = (stat64 *)FUN_00014a80(&DAT_00017360);\n    }\n    else {\nLAB_00013dcd:\n      psVar38 = local_7d4;\n      if (local_7e0 != 0) {\n        psVar38 = (stat64 *)((local_7e0 + 1) * 0x20);\n        if (local_908 < psVar38) {\n          pr2serr("SF not long enough (%u bytes) to provide RD (%u) %ss\n",local_908,psVar38,\n                  "LBA range descriptor");\n          local_908 = (stat64 *)0xf;\n          goto LAB_000133fd;\n        }\n        psVar38 = (stat64 *)\n                  ((((uint)psVar38 / (uint)local_7d4 + 1) -\n                   (uint)((uint)psVar38 % (uint)local_7d4 == 0)) * (int)local_7d4);\n      }\n      local_918 = local_7d4;\n      if (local_93c != (stat64 *)0x0) {\n        local_918 = (stat64 *)\n                    ((((uint)local_93c / (uint)local_7d4 + 1) -\n                     (uint)((uint)local_93c % (uint)local_7d4 == 0)) * (int)local_7d4);\n      }\n      psVar25 = (stat64 *)\n                sg_memalign((undefined *)((int)&psVar38->st_dev + (int)&local_918->st_dev),0,\n                            &local_8e8,0);\n      if (psVar25 == (stat64 *)0x0) {\nLAB_00013fb3:\n        pcVar15 = "unable to allocate aligned memory for scatterlist+data\n";\nLAB_00013fbc:\n        pr2serr(pcVar15);\n        local_908 = (stat64 *)sg_convert_errno(0xc);\n        goto LAB_000133fd;\n      }\n      local_908 = (stat64 *)FUN_00014a80(&DAT_00017365);\n      if (local_908 != (stat64 *)0x0) goto LAB_000133fd;\n      psVar17 = (stat64 *)local_8ec;\n      psVar22 = extraout_ECX_08;\n      psVar8 = extraout_ECX_08;\n      cVar6 = FUN_000146a0(&local_8f6,psVar17,extraout_ECX_08,extraout_ECX_08);\n      if (cVar6 == '\0') goto LAB_000133f3;\n      if (local_7e0 != local_8f6) {\n        pr2serr("Try again with --scattered=%u\n",local_8f6,extraout_EDX_05,extraout_EDX_05);\n        local_908 = (stat64 *)0xf;\n        goto LAB_000133fd;\n      }\n      if (local_918 < (stat64 *)((int)local_7d4 * (int)local_8ec)) {\n        psVar9 = (stat64 *)\n                 sg_memalign((undefined *)\n                             ((int)&psVar38->st_dev +\n                             (int)&((stat64 *)((int)local_7d4 * (int)local_8ec))->st_dev),0,\n                             &local_8e4,0);\n        if (psVar9 == (stat64 *)0x0) goto LAB_00014273;\n        psVar22 = psVar38;\n        psVar8 = psVar9;\n        memcpy(psVar9,psVar25,(size_t)psVar38);\n        psVar17 = psVar25;\n        free(local_8e8);\n        local_8e8 = local_8e4;\n        psVar25 = psVar9;\n      }\n      if ((local_93c != psVar38) && (psVar18 != (stat64 *)0x0 || local_7f8 != 0)) {\n        psVar22 = (stat64 *)&DAT_000170dd;\n        if (local_93c <= psVar38) {\n          psVar22 = (stat64 *)&DAT_00017110;\n        }\n        psVar8 = psVar38;\n        pr2serr("IF length (%u) %s \'sum_num\' bytes (%u), ",local_93c,psVar22,psVar38);\n        if (1 < (int)local_7f8) {\n          pr2serr("exiting (strict=%d)\n",local_7f8,psVar38,psVar38);\n          local_908 = (stat64 *)0xf;\n          goto LAB_000133fd;\n        }\n        pr2serr("continuing ...\n",local_93c,psVar22,psVar8);\n        psVar17 = local_93c;\n      }\n      local_908 = (stat64 *)FUN_00014a80(&DAT_0001738d,psVar17,psVar22,psVar8);\n    }\n    if (local_908 != (stat64 *)0x0) goto LAB_000133fd;\n    local_7a4 = (stat64 *)((int)local_8ec * (int)local_7d4);\n    local_7cc = (stat64 *)local_8ec;\n  }" ({ "{") (if_statement "if (local_819 == '\0') {\n      uVar7 = (uint)local_8f6;\n      uVar16 = 0;\n      uVar24 = (uVar7 + 1) * 0x20;\n      local_7e2 = (ushort)(uVar24 / (uint)local_7d4);\n      ppvVar39 = &local_8e8;\n      if (uVar24 % (uint)local_7d4 != 0) {\n        local_7e2 = local_7e2 + 1;\n      }\n      psVar38 = (stat64 *)0x0;\n      psVar25 = (stat64 *)\n                sg_memalign((int)((int)&local_8f4->st_dev + (uint)local_7e2) * (int)local_7d4,0,\n                            ppvVar39,0);\n      if (psVar25 == (stat64 *)0x0) goto LAB_000141a6;\n      local_8f6 = 0;\n      local_8ec = (undefined1  [4])0x0;\n      if (uVar7 + 1 == 1) {\n        uVar24 = (uint)local_7e2 * (int)local_7d4;\n      }\n      local_908 = (stat64 *)FUN_000156d0(psVar25,&local_8f6,local_8ec,uVar24);\n      if (local_908 != (stat64 *)0x0) goto LAB_000133fd;\n      psVar38 = (stat64 *)((int)local_7d4 * (int)local_8ec);\n      if (local_7d0 <= psVar38) {\n        if ((local_7d0 <= psVar38 && (int)psVar38 - (int)local_7d0 != 0) &&\n           (local_7d0 != (stat64 *)0x0)) {\n          psVar38 = local_7d0;\n        }\nLAB_00014208:\n        if ((psVar45 != (stat64 *)0x0) && (psVar45 != psVar38)) {\n          if (psVar18 != (stat64 *)0x0) {\n            puVar20 = &DAT_00017110;\n            if (psVar38 <= psVar45) {\n              puVar20 = &DAT_000170dd;\n            }\n            pr2serr("readable length (%u) of IF %s bytes implied by sum of\nscatter list NUMs (%u) and DLEN\n"\n                    ,psVar45,puVar20,psVar38);\n          }\n          if ((local_7f8 != 0) && ((psVar38 <= psVar45 || (1 < (int)local_7f8)))) goto LAB_000133f3;\nLAB_0001387e:\n          if (psVar45 < psVar38) {\n            psVar38 = psVar45;\n          }\n        }\n        psVar17 = (stat64 *)((uint)psVar38 / (uint)local_7d4);\n        if (((uint)psVar38 % (uint)local_7d4 != 0) &&\n           ((psVar18 != (stat64 *)0x0 || (1 < (int)local_7f8)))) {\n          psVar22 = local_7d8;\n          pr2serr("Calculated data-out length (0x%x) not a multiple of BS (%u",psVar38,local_7d8,\n                  psVar17);\n          if (local_7d8 != local_7d4) {\n            psVar38 = (stat64 *)((int)local_7d4 - (int)local_7d8);\n            psVar22 = extraout_ECX_07;\n            psVar17 = extraout_ECX_07;\n            pr2serr(" + %d(PI)",psVar38,extraout_ECX_07,extraout_ECX_07);\n          }\n          if (1 < (int)local_7f8) {\n            pr2serr(")\nexiting ...\n",psVar38,psVar22,psVar17);\n            local_908 = (stat64 *)0xf;\n            goto LAB_000133fd;\n          }\n          pr2serr(")\nzero pad and continue ...\n",psVar38,psVar22,psVar17);\n        }\n      }\n      else {\n        uVar7 = (uint)psVar18 | local_7f8;\n        if (uVar7 != 0) {\n          pr2serr("DLEN > than bytes implied by sum of scatter list NUMs (%u)\n",psVar38,uVar7,uVar7\n                 );\n          if (1 < (int)psVar18) {\n            pr2serr("  num_lbard=%u, sum_num=%u actual_bs=%u",local_8f6,local_8ec,local_7d4);\n          }\n          if (local_7f8 != 0) goto LAB_000133f3;\n          goto LAB_00014208;\n        }\n        if ((psVar45 != (stat64 *)0x0) && (psVar45 != psVar38)) goto LAB_0001387e;\n      }\n      local_908 = (stat64 *)FUN_00014a80(&DAT_00017360);\n    }\n    else {\nLAB_00013dcd:\n      psVar38 = local_7d4;\n      if (local_7e0 != 0) {\n        psVar38 = (stat64 *)((local_7e0 + 1) * 0x20);\n        if (local_908 < psVar38) {\n          pr2serr("SF not long enough (%u bytes) to provide RD (%u) %ss\n",local_908,psVar38,\n                  "LBA range descriptor");\n          local_908 = (stat64 *)0xf;\n          goto LAB_000133fd;\n        }\n        psVar38 = (stat64 *)\n                  ((((uint)psVar38 / (uint)local_7d4 + 1) -\n                   (uint)((uint)psVar38 % (uint)local_7d4 == 0)) * (int)local_7d4);\n      }\n      local_918 = local_7d4;\n      if (local_93c != (stat64 *)0x0) {\n        local_918 = (stat64 *)\n                    ((((uint)local_93c / (uint)local_7d4 + 1) -\n                     (uint)((uint)local_93c % (uint)local_7d4 == 0)) * (int)local_7d4);\n      }\n      psVar25 = (stat64 *)\n                sg_memalign((undefined *)((int)&psVar38->st_dev + (int)&local_918->st_dev),0,\n                            &local_8e8,0);\n      if (psVar25 == (stat64 *)0x0) {\nLAB_00013fb3:\n        pcVar15 = "unable to allocate aligned memory for scatterlist+data\n";\nLAB_00013fbc:\n        pr2serr(pcVar15);\n        local_908 = (stat64 *)sg_convert_errno(0xc);\n        goto LAB_000133fd;\n      }\n      local_908 = (stat64 *)FUN_00014a80(&DAT_00017365);\n      if (local_908 != (stat64 *)0x0) goto LAB_000133fd;\n      psVar17 = (stat64 *)local_8ec;\n      psVar22 = extraout_ECX_08;\n      psVar8 = extraout_ECX_08;\n      cVar6 = FUN_000146a0(&local_8f6,psVar17,extraout_ECX_08,extraout_ECX_08);\n      if (cVar6 == '\0') goto LAB_000133f3;\n      if (local_7e0 != local_8f6) {\n        pr2serr("Try again with --scattered=%u\n",local_8f6,extraout_EDX_05,extraout_EDX_05);\n        local_908 = (stat64 *)0xf;\n        goto LAB_000133fd;\n      }\n      if (local_918 < (stat64 *)((int)local_7d4 * (int)local_8ec)) {\n        psVar9 = (stat64 *)\n                 sg_memalign((undefined *)\n                             ((int)&psVar38->st_dev +\n                             (int)&((stat64 *)((int)local_7d4 * (int)local_8ec))->st_dev),0,\n                             &local_8e4,0);\n        if (psVar9 == (stat64 *)0x0) goto LAB_00014273;\n        psVar22 = psVar38;\n        psVar8 = psVar9;\n        memcpy(psVar9,psVar25,(size_t)psVar38);\n        psVar17 = psVar25;\n        free(local_8e8);\n        local_8e8 = local_8e4;\n        psVar25 = psVar9;\n      }\n      if ((local_93c != psVar38) && (psVar18 != (stat64 *)0x0 || local_7f8 != 0)) {\n        psVar22 = (stat64 *)&DAT_000170dd;\n        if (local_93c <= psVar38) {\n          psVar22 = (stat64 *)&DAT_00017110;\n        }\n        psVar8 = psVar38;\n        pr2serr("IF length (%u) %s \'sum_num\' bytes (%u), ",local_93c,psVar22,psVar38);\n        if (1 < (int)local_7f8) {\n          pr2serr("exiting (strict=%d)\n",local_7f8,psVar38,psVar38);\n          local_908 = (stat64 *)0xf;\n          goto LAB_000133fd;\n        }\n        pr2serr("continuing ...\n",local_93c,psVar22,psVar8);\n        psVar17 = local_93c;\n      }\n      local_908 = (stat64 *)FUN_00014a80(&DAT_0001738d,psVar17,psVar22,psVar8);\n    }" (if "if") (parenthesized_expression "(local_819 == '\0')" (( "(") (binary_expression "local_819 == '\0'" (identifier "local_819") (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n      uVar7 = (uint)local_8f6;\n      uVar16 = 0;\n      uVar24 = (uVar7 + 1) * 0x20;\n      local_7e2 = (ushort)(uVar24 / (uint)local_7d4);\n      ppvVar39 = &local_8e8;\n      if (uVar24 % (uint)local_7d4 != 0) {\n        local_7e2 = local_7e2 + 1;\n      }\n      psVar38 = (stat64 *)0x0;\n      psVar25 = (stat64 *)\n                sg_memalign((int)((int)&local_8f4->st_dev + (uint)local_7e2) * (int)local_7d4,0,\n                            ppvVar39,0);\n      if (psVar25 == (stat64 *)0x0) goto LAB_000141a6;\n      local_8f6 = 0;\n      local_8ec = (undefined1  [4])0x0;\n      if (uVar7 + 1 == 1) {\n        uVar24 = (uint)local_7e2 * (int)local_7d4;\n      }\n      local_908 = (stat64 *)FUN_000156d0(psVar25,&local_8f6,local_8ec,uVar24);\n      if (local_908 != (stat64 *)0x0) goto LAB_000133fd;\n      psVar38 = (stat64 *)((int)local_7d4 * (int)local_8ec);\n      if (local_7d0 <= psVar38) {\n        if ((local_7d0 <= psVar38 && (int)psVar38 - (int)local_7d0 != 0) &&\n           (local_7d0 != (stat64 *)0x0)) {\n          psVar38 = local_7d0;\n        }\nLAB_00014208:\n        if ((psVar45 != (stat64 *)0x0) && (psVar45 != psVar38)) {\n          if (psVar18 != (stat64 *)0x0) {\n            puVar20 = &DAT_00017110;\n            if (psVar38 <= psVar45) {\n              puVar20 = &DAT_000170dd;\n            }\n            pr2serr("readable length (%u) of IF %s bytes implied by sum of\nscatter list NUMs (%u) and DLEN\n"\n                    ,psVar45,puVar20,psVar38);\n          }\n          if ((local_7f8 != 0) && ((psVar38 <= psVar45 || (1 < (int)local_7f8)))) goto LAB_000133f3;\nLAB_0001387e:\n          if (psVar45 < psVar38) {\n            psVar38 = psVar45;\n          }\n        }\n        psVar17 = (stat64 *)((uint)psVar38 / (uint)local_7d4);\n        if (((uint)psVar38 % (uint)local_7d4 != 0) &&\n           ((psVar18 != (stat64 *)0x0 || (1 < (int)local_7f8)))) {\n          psVar22 = local_7d8;\n          pr2serr("Calculated data-out length (0x%x) not a multiple of BS (%u",psVar38,local_7d8,\n                  psVar17);\n          if (local_7d8 != local_7d4) {\n            psVar38 = (stat64 *)((int)local_7d4 - (int)local_7d8);\n            psVar22 = extraout_ECX_07;\n            psVar17 = extraout_ECX_07;\n            pr2serr(" + %d(PI)",psVar38,extraout_ECX_07,extraout_ECX_07);\n          }\n          if (1 < (int)local_7f8) {\n            pr2serr(")\nexiting ...\n",psVar38,psVar22,psVar17);\n            local_908 = (stat64 *)0xf;\n            goto LAB_000133fd;\n          }\n          pr2serr(")\nzero pad and continue ...\n",psVar38,psVar22,psVar17);\n        }\n      }\n      else {\n        uVar7 = (uint)psVar18 | local_7f8;\n        if (uVar7 != 0) {\n          pr2serr("DLEN > than bytes implied by sum of scatter list NUMs (%u)\n",psVar38,uVar7,uVar7\n                 );\n          if (1 < (int)psVar18) {\n            pr2serr("  num_lbard=%u, sum_num=%u actual_bs=%u",local_8f6,local_8ec,local_7d4);\n          }\n          if (local_7f8 != 0) goto LAB_000133f3;\n          goto LAB_00014208;\n        }\n        if ((psVar45 != (stat64 *)0x0) && (psVar45 != psVar38)) goto LAB_0001387e;\n      }\n      local_908 = (stat64 *)FUN_00014a80(&DAT_00017360);\n    }" ({ "{") (expression_statement "uVar7 = (uint)local_8f6;" (assignment_expression "uVar7 = (uint)local_8f6" (identifier "uVar7") (= "=") (cast_expression "(uint)local_8f6" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "local_8f6"))) (; ";")) (expression_statement "uVar16 = 0;" (assignment_expression "uVar16 = 0" (identifier "uVar16") (= "=") (number_literal "0")) (; ";")) (expression_statement "uVar24 = (uVar7 + 1) * 0x20;" (assignment_expression "uVar24 = (uVar7 + 1) * 0x20" (identifier "uVar24") (= "=") (binary_expression "(uVar7 + 1) * 0x20" (parenthesized_expression "(uVar7 + 1)" (( "(") (binary_expression "uVar7 + 1" (identifier "uVar7") (+ "+") (number_literal "1")) () ")")) (* "*") (number_literal "0x20"))) (; ";")) (expression_statement "local_7e2 = (ushort)(uVar24 / (uint)local_7d4);" (assignment_expression "local_7e2 = (ushort)(uVar24 / (uint)local_7d4)" (identifier "local_7e2") (= "=") (call_expression "(ushort)(uVar24 / (uint)local_7d4)" (parenthesized_expression "(ushort)" (( "(") (identifier "ushort") () ")")) (argument_list "(uVar24 / (uint)local_7d4)" (( "(") (binary_expression "uVar24 / (uint)local_7d4" (identifier "uVar24") (/ "/") (cast_expression "(uint)local_7d4" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "local_7d4"))) () ")")))) (; ";")) (expression_statement "ppvVar39 = &local_8e8;" (assignment_expression "ppvVar39 = &local_8e8" (identifier "ppvVar39") (= "=") (pointer_expression "&local_8e8" (& "&") (identifier "local_8e8"))) (; ";")) (if_statement "if (uVar24 % (uint)local_7d4 != 0) {\n        local_7e2 = local_7e2 + 1;\n      }" (if "if") (parenthesized_expression "(uVar24 % (uint)local_7d4 != 0)" (( "(") (binary_expression "uVar24 % (uint)local_7d4 != 0" (binary_expression "uVar24 % (uint)local_7d4" (identifier "uVar24") (% "%") (cast_expression "(uint)local_7d4" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "local_7d4"))) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n        local_7e2 = local_7e2 + 1;\n      }" ({ "{") (expression_statement "local_7e2 = local_7e2 + 1;" (assignment_expression "local_7e2 = local_7e2 + 1" (identifier "local_7e2") (= "=") (binary_expression "local_7e2 + 1" (identifier "local_7e2") (+ "+") (number_literal "1"))) (; ";")) (} "}"))) (expression_statement "psVar38 = (stat64 *)0x0;" (assignment_expression "psVar38 = (stat64 *)0x0" (identifier "psVar38") (= "=") (cast_expression "(stat64 *)0x0" (( "(") (type_descriptor "stat64 *" (type_identifier "stat64") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "psVar25 = (stat64 *)\n                sg_memalign((int)((int)&local_8f4->st_dev + (uint)local_7e2) * (int)local_7d4,0,\n                            ppvVar39,0);" (assignment_expression "psVar25 = (stat64 *)\n                sg_memalign((int)((int)&local_8f4->st_dev + (uint)local_7e2) * (int)local_7d4,0,\n                            ppvVar39,0)" (identifier "psVar25") (= "=") (cast_expression "(stat64 *)\n                sg_memalign((int)((int)&local_8f4->st_dev + (uint)local_7e2) * (int)local_7d4,0,\n                            ppvVar39,0)" (( "(") (type_descriptor "stat64 *" (type_identifier "stat64") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "sg_memalign((int)((int)&local_8f4->st_dev + (uint)local_7e2) * (int)local_7d4,0,\n                            ppvVar39,0)" (identifier "sg_memalign") (argument_list "((int)((int)&local_8f4->st_dev + (uint)local_7e2) * (int)local_7d4,0,\n                            ppvVar39,0)" (( "(") (binary_expression "(int)((int)&local_8f4->st_dev + (uint)local_7e2) * (int)local_7d4" (cast_expression "(int)((int)&local_8f4->st_dev + (uint)local_7e2)" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (parenthesized_expression "((int)&local_8f4->st_dev + (uint)local_7e2)" (( "(") (binary_expression "(int)&local_8f4->st_dev + (uint)local_7e2" (cast_expression "(int)&local_8f4->st_dev" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (pointer_expression "&local_8f4->st_dev" (& "&") (field_expression "local_8f4->st_dev" (identifier "local_8f4") (-> "->") (field_identifier "st_dev")))) (+ "+") (cast_expression "(uint)local_7e2" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "local_7e2"))) () ")"))) (* "*") (cast_expression "(int)local_7d4" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_7d4"))) (, ",") (number_literal "0") (, ",") (identifier "ppvVar39") (, ",") (number_literal "0") () ")"))))) (; ";")) (if_statement "if (psVar25 == (stat64 *)0x0) goto LAB_000141a6;" (if "if") (parenthesized_expression "(psVar25 == (stat64 *)0x0)" (( "(") (binary_expression "psVar25 == (stat64 *)0x0" (identifier "psVar25") (== "==") (cast_expression "(stat64 *)0x0" (( "(") (type_descriptor "stat64 *" (type_identifier "stat64") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (goto_statement "goto LAB_000141a6;" (goto "goto") (statement_identifier "LAB_000141a6") (; ";"))) (expression_statement "local_8f6 = 0;" (assignment_expression "local_8f6 = 0" (identifier "local_8f6") (= "=") (number_literal "0")) (; ";")) (expression_statement "local_8ec = (undefined1  [4])0x0;" (assignment_expression "local_8ec = (undefined1  [4])0x0" (identifier "local_8ec") (= "=") (cast_expression "(undefined1  [4])0x0" (( "(") (type_descriptor "undefined1  [4]" (type_identifier "undefined1") (abstract_array_declarator "[4]" ([ "[") (number_literal "4") (] "]"))) () ")") (number_literal "0x0"))) (; ";")) (if_statement "if (uVar7 + 1 == 1) {\n        uVar24 = (uint)local_7e2 * (int)local_7d4;\n      }" (if "if") (parenthesized_expression "(uVar7 + 1 == 1)" (( "(") (binary_expression "uVar7 + 1 == 1" (binary_expression "uVar7 + 1" (identifier "uVar7") (+ "+") (number_literal "1")) (== "==") (number_literal "1")) () ")")) (compound_statement "{\n        uVar24 = (uint)local_7e2 * (int)local_7d4;\n      }" ({ "{") (expression_statement "uVar24 = (uint)local_7e2 * (int)local_7d4;" (assignment_expression "uVar24 = (uint)local_7e2 * (int)local_7d4" (identifier "uVar24") (= "=") (binary_expression "(uint)local_7e2 * (int)local_7d4" (cast_expression "(uint)local_7e2" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "local_7e2")) (* "*") (cast_expression "(int)local_7d4" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_7d4")))) (; ";")) (} "}"))) (expression_statement "local_908 = (stat64 *)FUN_000156d0(psVar25,&local_8f6,local_8ec,uVar24);" (assignment_expression "local_908 = (stat64 *)FUN_000156d0(psVar25,&local_8f6,local_8ec,uVar24)" (identifier "local_908") (= "=") (cast_expression "(stat64 *)FUN_000156d0(psVar25,&local_8f6,local_8ec,uVar24)" (( "(") (type_descriptor "stat64 *" (type_identifier "stat64") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "FUN_000156d0(psVar25,&local_8f6,local_8ec,uVar24)" (identifier "FUN_000156d0") (argument_list "(psVar25,&local_8f6,local_8ec,uVar24)" (( "(") (identifier "psVar25") (, ",") (pointer_expression "&local_8f6" (& "&") (identifier "local_8f6")) (, ",") (identifier "local_8ec") (, ",") (identifier "uVar24") () ")"))))) (; ";")) (if_statement "if (local_908 != (stat64 *)0x0) goto LAB_000133fd;" (if "if") (parenthesized_expression "(local_908 != (stat64 *)0x0)" (( "(") (binary_expression "local_908 != (stat64 *)0x0" (identifier "local_908") (!= "!=") (cast_expression "(stat64 *)0x0" (( "(") (type_descriptor "stat64 *" (type_identifier "stat64") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (goto_statement "goto LAB_000133fd;" (goto "goto") (statement_identifier "LAB_000133fd") (; ";"))) (expression_statement "psVar38 = (stat64 *)((int)local_7d4 * (int)local_8ec);" (assignment_expression "psVar38 = (stat64 *)((int)local_7d4 * (int)local_8ec)" (identifier "psVar38") (= "=") (cast_expression "(stat64 *)((int)local_7d4 * (int)local_8ec)" (( "(") (type_descriptor "stat64 *" (type_identifier "stat64") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)local_7d4 * (int)local_8ec)" (( "(") (binary_expression "(int)local_7d4 * (int)local_8ec" (cast_expression "(int)local_7d4" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_7d4")) (* "*") (cast_expression "(int)local_8ec" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_8ec"))) () ")")))) (; ";")) (if_statement "if (local_7d0 <= psVar38) {\n        if ((local_7d0 <= psVar38 && (int)psVar38 - (int)local_7d0 != 0) &&\n           (local_7d0 != (stat64 *)0x0)) {\n          psVar38 = local_7d0;\n        }\nLAB_00014208:\n        if ((psVar45 != (stat64 *)0x0) && (psVar45 != psVar38)) {\n          if (psVar18 != (stat64 *)0x0) {\n            puVar20 = &DAT_00017110;\n            if (psVar38 <= psVar45) {\n              puVar20 = &DAT_000170dd;\n            }\n            pr2serr("readable length (%u) of IF %s bytes implied by sum of\nscatter list NUMs (%u) and DLEN\n"\n                    ,psVar45,puVar20,psVar38);\n          }\n          if ((local_7f8 != 0) && ((psVar38 <= psVar45 || (1 < (int)local_7f8)))) goto LAB_000133f3;\nLAB_0001387e:\n          if (psVar45 < psVar38) {\n            psVar38 = psVar45;\n          }\n        }\n        psVar17 = (stat64 *)((uint)psVar38 / (uint)local_7d4);\n        if (((uint)psVar38 % (uint)local_7d4 != 0) &&\n           ((psVar18 != (stat64 *)0x0 || (1 < (int)local_7f8)))) {\n          psVar22 = local_7d8;\n          pr2serr("Calculated data-out length (0x%x) not a multiple of BS (%u",psVar38,local_7d8,\n                  psVar17);\n          if (local_7d8 != local_7d4) {\n            psVar38 = (stat64 *)((int)local_7d4 - (int)local_7d8);\n            psVar22 = extraout_ECX_07;\n            psVar17 = extraout_ECX_07;\n            pr2serr(" + %d(PI)",psVar38,extraout_ECX_07,extraout_ECX_07);\n          }\n          if (1 < (int)local_7f8) {\n            pr2serr(")\nexiting ...\n",psVar38,psVar22,psVar17);\n            local_908 = (stat64 *)0xf;\n            goto LAB_000133fd;\n          }\n          pr2serr(")\nzero pad and continue ...\n",psVar38,psVar22,psVar17);\n        }\n      }\n      else {\n        uVar7 = (uint)psVar18 | local_7f8;\n        if (uVar7 != 0) {\n          pr2serr("DLEN > than bytes implied by sum of scatter list NUMs (%u)\n",psVar38,uVar7,uVar7\n                 );\n          if (1 < (int)psVar18) {\n            pr2serr("  num_lbard=%u, sum_num=%u actual_bs=%u",local_8f6,local_8ec,local_7d4);\n          }\n          if (local_7f8 != 0) goto LAB_000133f3;\n          goto LAB_00014208;\n        }\n        if ((psVar45 != (stat64 *)0x0) && (psVar45 != psVar38)) goto LAB_0001387e;\n      }" (if "if") (parenthesized_expression "(local_7d0 <= psVar38)" (( "(") (binary_expression "local_7d0 <= psVar38" (identifier "local_7d0") (<= "<=") (identifier "psVar38")) () ")")) (compound_statement "{\n        if ((local_7d0 <= psVar38 && (int)psVar38 - (int)local_7d0 != 0) &&\n           (local_7d0 != (stat64 *)0x0)) {\n          psVar38 = local_7d0;\n        }\nLAB_00014208:\n        if ((psVar45 != (stat64 *)0x0) && (psVar45 != psVar38)) {\n          if (psVar18 != (stat64 *)0x0) {\n            puVar20 = &DAT_00017110;\n            if (psVar38 <= psVar45) {\n              puVar20 = &DAT_000170dd;\n            }\n            pr2serr("readable length (%u) of IF %s bytes implied by sum of\nscatter list NUMs (%u) and DLEN\n"\n                    ,psVar45,puVar20,psVar38);\n          }\n          if ((local_7f8 != 0) && ((psVar38 <= psVar45 || (1 < (int)local_7f8)))) goto LAB_000133f3;\nLAB_0001387e:\n          if (psVar45 < psVar38) {\n            psVar38 = psVar45;\n          }\n        }\n        psVar17 = (stat64 *)((uint)psVar38 / (uint)local_7d4);\n        if (((uint)psVar38 % (uint)local_7d4 != 0) &&\n           ((psVar18 != (stat64 *)0x0 || (1 < (int)local_7f8)))) {\n          psVar22 = local_7d8;\n          pr2serr("Calculated data-out length (0x%x) not a multiple of BS (%u",psVar38,local_7d8,\n                  psVar17);\n          if (local_7d8 != local_7d4) {\n            psVar38 = (stat64 *)((int)local_7d4 - (int)local_7d8);\n            psVar22 = extraout_ECX_07;\n            psVar17 = extraout_ECX_07;\n            pr2serr(" + %d(PI)",psVar38,extraout_ECX_07,extraout_ECX_07);\n          }\n          if (1 < (int)local_7f8) {\n            pr2serr(")\nexiting ...\n",psVar38,psVar22,psVar17);\n            local_908 = (stat64 *)0xf;\n            goto LAB_000133fd;\n          }\n          pr2serr(")\nzero pad and continue ...\n",psVar38,psVar22,psVar17);\n        }\n      }" ({ "{") (if_statement "if ((local_7d0 <= psVar38 && (int)psVar38 - (int)local_7d0 != 0) &&\n           (local_7d0 != (stat64 *)0x0)) {\n          psVar38 = local_7d0;\n        }" (if "if") (parenthesized_expression "((local_7d0 <= psVar38 && (int)psVar38 - (int)local_7d0 != 0) &&\n           (local_7d0 != (stat64 *)0x0))" (( "(") (binary_expression "(local_7d0 <= psVar38 && (int)psVar38 - (int)local_7d0 != 0) &&\n           (local_7d0 != (stat64 *)0x0)" (parenthesized_expression "(local_7d0 <= psVar38 && (int)psVar38 - (int)local_7d0 != 0)" (( "(") (binary_expression "local_7d0 <= psVar38 && (int)psVar38 - (int)local_7d0 != 0" (binary_expression "local_7d0 <= psVar38" (identifier "local_7d0") (<= "<=") (identifier "psVar38")) (&& "&&") (binary_expression "(int)psVar38 - (int)local_7d0 != 0" (binary_expression "(int)psVar38 - (int)local_7d0" (cast_expression "(int)psVar38" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "psVar38")) (- "-") (cast_expression "(int)local_7d0" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_7d0"))) (!= "!=") (number_literal "0"))) () ")")) (&& "&&") (parenthesized_expression "(local_7d0 != (stat64 *)0x0)" (( "(") (binary_expression "local_7d0 != (stat64 *)0x0" (identifier "local_7d0") (!= "!=") (cast_expression "(stat64 *)0x0" (( "(") (type_descriptor "stat64 *" (type_identifier "stat64") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")"))) () ")")) (compound_statement "{\n          psVar38 = local_7d0;\n        }" ({ "{") (expression_statement "psVar38 = local_7d0;" (assignment_expression "psVar38 = local_7d0" (identifier "psVar38") (= "=") (identifier "local_7d0")) (; ";")) (} "}"))) (labeled_statement "LAB_00014208:\n        if ((psVar45 != (stat64 *)0x0) && (psVar45 != psVar38)) {\n          if (psVar18 != (stat64 *)0x0) {\n            puVar20 = &DAT_00017110;\n            if (psVar38 <= psVar45) {\n              puVar20 = &DAT_000170dd;\n            }\n            pr2serr("readable length (%u) of IF %s bytes implied by sum of\nscatter list NUMs (%u) and DLEN\n"\n                    ,psVar45,puVar20,psVar38);\n          }\n          if ((local_7f8 != 0) && ((psVar38 <= psVar45 || (1 < (int)local_7f8)))) goto LAB_000133f3;\nLAB_0001387e:\n          if (psVar45 < psVar38) {\n            psVar38 = psVar45;\n          }\n        }" (statement_identifier "LAB_00014208") (: ":") (if_statement "if ((psVar45 != (stat64 *)0x0) && (psVar45 != psVar38)) {\n          if (psVar18 != (stat64 *)0x0) {\n            puVar20 = &DAT_00017110;\n            if (psVar38 <= psVar45) {\n              puVar20 = &DAT_000170dd;\n            }\n            pr2serr("readable length (%u) of IF %s bytes implied by sum of\nscatter list NUMs (%u) and DLEN\n"\n                    ,psVar45,puVar20,psVar38);\n          }\n          if ((local_7f8 != 0) && ((psVar38 <= psVar45 || (1 < (int)local_7f8)))) goto LAB_000133f3;\nLAB_0001387e:\n          if (psVar45 < psVar38) {\n            psVar38 = psVar45;\n          }\n        }" (if "if") (parenthesized_expression "((psVar45 != (stat64 *)0x0) && (psVar45 != psVar38))" (( "(") (binary_expression "(psVar45 != (stat64 *)0x0) && (psVar45 != psVar38)" (parenthesized_expression "(psVar45 != (stat64 *)0x0)" (( "(") (binary_expression "psVar45 != (stat64 *)0x0" (identifier "psVar45") (!= "!=") (cast_expression "(stat64 *)0x0" (( "(") (type_descriptor "stat64 *" (type_identifier "stat64") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (&& "&&") (parenthesized_expression "(psVar45 != psVar38)" (( "(") (binary_expression "psVar45 != psVar38" (identifier "psVar45") (!= "!=") (identifier "psVar38")) () ")"))) () ")")) (compound_statement "{\n          if (psVar18 != (stat64 *)0x0) {\n            puVar20 = &DAT_00017110;\n            if (psVar38 <= psVar45) {\n              puVar20 = &DAT_000170dd;\n            }\n            pr2serr("readable length (%u) of IF %s bytes implied by sum of\nscatter list NUMs (%u) and DLEN\n"\n                    ,psVar45,puVar20,psVar38);\n          }\n          if ((local_7f8 != 0) && ((psVar38 <= psVar45 || (1 < (int)local_7f8)))) goto LAB_000133f3;\nLAB_0001387e:\n          if (psVar45 < psVar38) {\n            psVar38 = psVar45;\n          }\n        }" ({ "{") (if_statement "if (psVar18 != (stat64 *)0x0) {\n            puVar20 = &DAT_00017110;\n            if (psVar38 <= psVar45) {\n              puVar20 = &DAT_000170dd;\n            }\n            pr2serr("readable length (%u) of IF %s bytes implied by sum of\nscatter list NUMs (%u) and DLEN\n"\n                    ,psVar45,puVar20,psVar38);\n          }" (if "if") (parenthesized_expression "(psVar18 != (stat64 *)0x0)" (( "(") (binary_expression "psVar18 != (stat64 *)0x0" (identifier "psVar18") (!= "!=") (cast_expression "(stat64 *)0x0" (( "(") (type_descriptor "stat64 *" (type_identifier "stat64") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n            puVar20 = &DAT_00017110;\n            if (psVar38 <= psVar45) {\n              puVar20 = &DAT_000170dd;\n            }\n            pr2serr("readable length (%u) of IF %s bytes implied by sum of\nscatter list NUMs (%u) and DLEN\n"\n                    ,psVar45,puVar20,psVar38);\n          }" ({ "{") (expression_statement "puVar20 = &DAT_00017110;" (assignment_expression "puVar20 = &DAT_00017110" (identifier "puVar20") (= "=") (pointer_expression "&DAT_00017110" (& "&") (identifier "DAT_00017110"))) (; ";")) (if_statement "if (psVar38 <= psVar45) {\n              puVar20 = &DAT_000170dd;\n            }" (if "if") (parenthesized_expression "(psVar38 <= psVar45)" (( "(") (binary_expression "psVar38 <= psVar45" (identifier "psVar38") (<= "<=") (identifier "psVar45")) () ")")) (compound_statement "{\n              puVar20 = &DAT_000170dd;\n            }" ({ "{") (expression_statement "puVar20 = &DAT_000170dd;" (assignment_expression "puVar20 = &DAT_000170dd" (identifier "puVar20") (= "=") (pointer_expression "&DAT_000170dd" (& "&") (identifier "DAT_000170dd"))) (; ";")) (} "}"))) (expression_statement "pr2serr("readable length (%u) of IF %s bytes implied by sum of\nscatter list NUMs (%u) and DLEN\n"\n                    ,psVar45,puVar20,psVar38);" (call_expression "pr2serr("readable length (%u) of IF %s bytes implied by sum of\nscatter list NUMs (%u) and DLEN\n"\n                    ,psVar45,puVar20,psVar38)" (identifier "pr2serr") (argument_list "("readable length (%u) of IF %s bytes implied by sum of\nscatter list NUMs (%u) and DLEN\n"\n                    ,psVar45,puVar20,psVar38)" (( "(") (string_literal ""readable length (%u) of IF %s bytes implied by sum of\nscatter list NUMs (%u) and DLEN\n"" (" """) (string_content "readable length (%u) of IF %s bytes implied by sum of") (escape_sequence "\n") (string_content "scatter list NUMs (%u) and DLEN") (escape_sequence "\n") (" """)) (, ",") (identifier "psVar45") (, ",") (identifier "puVar20") (, ",") (identifier "psVar38") () ")"))) (; ";")) (} "}"))) (if_statement "if ((local_7f8 != 0) && ((psVar38 <= psVar45 || (1 < (int)local_7f8)))) goto LAB_000133f3;" (if "if") (parenthesized_expression "((local_7f8 != 0) && ((psVar38 <= psVar45 || (1 < (int)local_7f8))))" (( "(") (binary_expression "(local_7f8 != 0) && ((psVar38 <= psVar45 || (1 < (int)local_7f8)))" (parenthesized_expression "(local_7f8 != 0)" (( "(") (binary_expression "local_7f8 != 0" (identifier "local_7f8") (!= "!=") (number_literal "0")) () ")")) (&& "&&") (parenthesized_expression "((psVar38 <= psVar45 || (1 < (int)local_7f8)))" (( "(") (parenthesized_expression "(psVar38 <= psVar45 || (1 < (int)local_7f8))" (( "(") (binary_expression "psVar38 <= psVar45 || (1 < (int)local_7f8)" (binary_expression "psVar38 <= psVar45" (identifier "psVar38") (<= "<=") (identifier "psVar45")) (|| "||") (parenthesized_expression "(1 < (int)local_7f8)" (( "(") (binary_expression "1 < (int)local_7f8" (number_literal "1") (< "<") (cast_expression "(int)local_7f8" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_7f8"))) () ")"))) () ")")) () ")"))) () ")")) (goto_statement "goto LAB_000133f3;" (goto "goto") (statement_identifier "LAB_000133f3") (; ";"))) (labeled_statement "LAB_0001387e:\n          if (psVar45 < psVar38) {\n            psVar38 = psVar45;\n          }" (statement_identifier "LAB_0001387e") (: ":") (if_statement "if (psVar45 < psVar38) {\n            psVar38 = psVar45;\n          }" (if "if") (parenthesized_expression "(psVar45 < psVar38)" (( "(") (binary_expression "psVar45 < psVar38" (identifier "psVar45") (< "<") (identifier "psVar38")) () ")")) (compound_statement "{\n            psVar38 = psVar45;\n          }" ({ "{") (expression_statement "psVar38 = psVar45;" (assignment_expression "psVar38 = psVar45" (identifier "psVar38") (= "=") (identifier "psVar45")) (; ";")) (} "}")))) (} "}")))) (expression_statement "psVar17 = (stat64 *)((uint)psVar38 / (uint)local_7d4);" (assignment_expression "psVar17 = (stat64 *)((uint)psVar38 / (uint)local_7d4)" (identifier "psVar17") (= "=") (cast_expression "(stat64 *)((uint)psVar38 / (uint)local_7d4)" (( "(") (type_descriptor "stat64 *" (type_identifier "stat64") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((uint)psVar38 / (uint)local_7d4)" (( "(") (binary_expression "(uint)psVar38 / (uint)local_7d4" (cast_expression "(uint)psVar38" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "psVar38")) (/ "/") (cast_expression "(uint)local_7d4" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "local_7d4"))) () ")")))) (; ";")) (if_statement "if (((uint)psVar38 % (uint)local_7d4 != 0) &&\n           ((psVar18 != (stat64 *)0x0 || (1 < (int)local_7f8)))) {\n          psVar22 = local_7d8;\n          pr2serr("Calculated data-out length (0x%x) not a multiple of BS (%u",psVar38,local_7d8,\n                  psVar17);\n          if (local_7d8 != local_7d4) {\n            psVar38 = (stat64 *)((int)local_7d4 - (int)local_7d8);\n            psVar22 = extraout_ECX_07;\n            psVar17 = extraout_ECX_07;\n            pr2serr(" + %d(PI)",psVar38,extraout_ECX_07,extraout_ECX_07);\n          }\n          if (1 < (int)local_7f8) {\n            pr2serr(")\nexiting ...\n",psVar38,psVar22,psVar17);\n            local_908 = (stat64 *)0xf;\n            goto LAB_000133fd;\n          }\n          pr2serr(")\nzero pad and continue ...\n",psVar38,psVar22,psVar17);\n        }" (if "if") (parenthesized_expression "(((uint)psVar38 % (uint)local_7d4 != 0) &&\n           ((psVar18 != (stat64 *)0x0 || (1 < (int)local_7f8))))" (( "(") (binary_expression "((uint)psVar38 % (uint)local_7d4 != 0) &&\n           ((psVar18 != (stat64 *)0x0 || (1 < (int)local_7f8)))" (parenthesized_expression "((uint)psVar38 % (uint)local_7d4 != 0)" (( "(") (binary_expression "(uint)psVar38 % (uint)local_7d4 != 0" (binary_expression "(uint)psVar38 % (uint)local_7d4" (cast_expression "(uint)psVar38" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "psVar38")) (% "%") (cast_expression "(uint)local_7d4" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "local_7d4"))) (!= "!=") (number_literal "0")) () ")")) (&& "&&") (parenthesized_expression "((psVar18 != (stat64 *)0x0 || (1 < (int)local_7f8)))" (( "(") (parenthesized_expression "(psVar18 != (stat64 *)0x0 || (1 < (int)local_7f8))" (( "(") (binary_expression "psVar18 != (stat64 *)0x0 || (1 < (int)local_7f8)" (binary_expression "psVar18 != (stat64 *)0x0" (identifier "psVar18") (!= "!=") (cast_expression "(stat64 *)0x0" (( "(") (type_descriptor "stat64 *" (type_identifier "stat64") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (|| "||") (parenthesized_expression "(1 < (int)local_7f8)" (( "(") (binary_expression "1 < (int)local_7f8" (number_literal "1") (< "<") (cast_expression "(int)local_7f8" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_7f8"))) () ")"))) () ")")) () ")"))) () ")")) (compound_statement "{\n          psVar22 = local_7d8;\n          pr2serr("Calculated data-out length (0x%x) not a multiple of BS (%u",psVar38,local_7d8,\n                  psVar17);\n          if (local_7d8 != local_7d4) {\n            psVar38 = (stat64 *)((int)local_7d4 - (int)local_7d8);\n            psVar22 = extraout_ECX_07;\n            psVar17 = extraout_ECX_07;\n            pr2serr(" + %d(PI)",psVar38,extraout_ECX_07,extraout_ECX_07);\n          }\n          if (1 < (int)local_7f8) {\n            pr2serr(")\nexiting ...\n",psVar38,psVar22,psVar17);\n            local_908 = (stat64 *)0xf;\n            goto LAB_000133fd;\n          }\n          pr2serr(")\nzero pad and continue ...\n",psVar38,psVar22,psVar17);\n        }" ({ "{") (expression_statement "psVar22 = local_7d8;" (assignment_expression "psVar22 = local_7d8" (identifier "psVar22") (= "=") (identifier "local_7d8")) (; ";")) (expression_statement "pr2serr("Calculated data-out length (0x%x) not a multiple of BS (%u",psVar38,local_7d8,\n                  psVar17);" (call_expression "pr2serr("Calculated data-out length (0x%x) not a multiple of BS (%u",psVar38,local_7d8,\n                  psVar17)" (identifier "pr2serr") (argument_list "("Calculated data-out length (0x%x) not a multiple of BS (%u",psVar38,local_7d8,\n                  psVar17)" (( "(") (string_literal ""Calculated data-out length (0x%x) not a multiple of BS (%u"" (" """) (string_content "Calculated data-out length (0x%x) not a multiple of BS (%u") (" """)) (, ",") (identifier "psVar38") (, ",") (identifier "local_7d8") (, ",") (identifier "psVar17") () ")"))) (; ";")) (if_statement "if (local_7d8 != local_7d4) {\n            psVar38 = (stat64 *)((int)local_7d4 - (int)local_7d8);\n            psVar22 = extraout_ECX_07;\n            psVar17 = extraout_ECX_07;\n            pr2serr(" + %d(PI)",psVar38,extraout_ECX_07,extraout_ECX_07);\n          }" (if "if") (parenthesized_expression "(local_7d8 != local_7d4)" (( "(") (binary_expression "local_7d8 != local_7d4" (identifier "local_7d8") (!= "!=") (identifier "local_7d4")) () ")")) (compound_statement "{\n            psVar38 = (stat64 *)((int)local_7d4 - (int)local_7d8);\n            psVar22 = extraout_ECX_07;\n            psVar17 = extraout_ECX_07;\n            pr2serr(" + %d(PI)",psVar38,extraout_ECX_07,extraout_ECX_07);\n          }" ({ "{") (expression_statement "psVar38 = (stat64 *)((int)local_7d4 - (int)local_7d8);" (assignment_expression "psVar38 = (stat64 *)((int)local_7d4 - (int)local_7d8)" (identifier "psVar38") (= "=") (cast_expression "(stat64 *)((int)local_7d4 - (int)local_7d8)" (( "(") (type_descriptor "stat64 *" (type_identifier "stat64") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)local_7d4 - (int)local_7d8)" (( "(") (binary_expression "(int)local_7d4 - (int)local_7d8" (cast_expression "(int)local_7d4" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_7d4")) (- "-") (cast_expression "(int)local_7d8" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_7d8"))) () ")")))) (; ";")) (expression_statement "psVar22 = extraout_ECX_07;" (assignment_expression "psVar22 = extraout_ECX_07" (identifier "psVar22") (= "=") (identifier "extraout_ECX_07")) (; ";")) (expression_statement "psVar17 = extraout_ECX_07;" (assignment_expression "psVar17 = extraout_ECX_07" (identifier "psVar17") (= "=") (identifier "extraout_ECX_07")) (; ";")) (expression_statement "pr2serr(" + %d(PI)",psVar38,extraout_ECX_07,extraout_ECX_07);" (call_expression "pr2serr(" + %d(PI)",psVar38,extraout_ECX_07,extraout_ECX_07)" (identifier "pr2serr") (argument_list "(" + %d(PI)",psVar38,extraout_ECX_07,extraout_ECX_07)" (( "(") (string_literal "" + %d(PI)"" (" """) (string_content " + %d(PI)") (" """)) (, ",") (identifier "psVar38") (, ",") (identifier "extraout_ECX_07") (, ",") (identifier "extraout_ECX_07") () ")"))) (; ";")) (} "}"))) (if_statement "if (1 < (int)local_7f8) {\n            pr2serr(")\nexiting ...\n",psVar38,psVar22,psVar17);\n            local_908 = (stat64 *)0xf;\n            goto LAB_000133fd;\n          }" (if "if") (parenthesized_expression "(1 < (int)local_7f8)" (( "(") (binary_expression "1 < (int)local_7f8" (number_literal "1") (< "<") (cast_expression "(int)local_7f8" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_7f8"))) () ")")) (compound_statement "{\n            pr2serr(")\nexiting ...\n",psVar38,psVar22,psVar17);\n            local_908 = (stat64 *)0xf;\n            goto LAB_000133fd;\n          }" ({ "{") (expression_statement "pr2serr(")\nexiting ...\n",psVar38,psVar22,psVar17);" (call_expression "pr2serr(")\nexiting ...\n",psVar38,psVar22,psVar17)" (identifier "pr2serr") (argument_list "(")\nexiting ...\n",psVar38,psVar22,psVar17)" (( "(") (string_literal "")\nexiting ...\n"" (" """) (string_content ")") (escape_sequence "\n") (string_content "exiting ...") (escape_sequence "\n") (" """)) (, ",") (identifier "psVar38") (, ",") (identifier "psVar22") (, ",") (identifier "psVar17") () ")"))) (; ";")) (expression_statement "local_908 = (stat64 *)0xf;" (assignment_expression "local_908 = (stat64 *)0xf" (identifier "local_908") (= "=") (cast_expression "(stat64 *)0xf" (( "(") (type_descriptor "stat64 *" (type_identifier "stat64") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0xf"))) (; ";")) (goto_statement "goto LAB_000133fd;" (goto "goto") (statement_identifier "LAB_000133fd") (; ";")) (} "}"))) (expression_statement "pr2serr(")\nzero pad and continue ...\n",psVar38,psVar22,psVar17);" (call_expression "pr2serr(")\nzero pad and continue ...\n",psVar38,psVar22,psVar17)" (identifier "pr2serr") (argument_list "(")\nzero pad and continue ...\n",psVar38,psVar22,psVar17)" (( "(") (string_literal "")\nzero pad and continue ...\n"" (" """) (string_content ")") (escape_sequence "\n") (string_content "zero pad and continue ...") (escape_sequence "\n") (" """)) (, ",") (identifier "psVar38") (, ",") (identifier "psVar22") (, ",") (identifier "psVar17") () ")"))) (; ";")) (} "}"))) (} "}")) (else_clause "else {\n        uVar7 = (uint)psVar18 | local_7f8;\n        if (uVar7 != 0) {\n          pr2serr("DLEN > than bytes implied by sum of scatter list NUMs (%u)\n",psVar38,uVar7,uVar7\n                 );\n          if (1 < (int)psVar18) {\n            pr2serr("  num_lbard=%u, sum_num=%u actual_bs=%u",local_8f6,local_8ec,local_7d4);\n          }\n          if (local_7f8 != 0) goto LAB_000133f3;\n          goto LAB_00014208;\n        }\n        if ((psVar45 != (stat64 *)0x0) && (psVar45 != psVar38)) goto LAB_0001387e;\n      }" (else "else") (compound_statement "{\n        uVar7 = (uint)psVar18 | local_7f8;\n        if (uVar7 != 0) {\n          pr2serr("DLEN > than bytes implied by sum of scatter list NUMs (%u)\n",psVar38,uVar7,uVar7\n                 );\n          if (1 < (int)psVar18) {\n            pr2serr("  num_lbard=%u, sum_num=%u actual_bs=%u",local_8f6,local_8ec,local_7d4);\n          }\n          if (local_7f8 != 0) goto LAB_000133f3;\n          goto LAB_00014208;\n        }\n        if ((psVar45 != (stat64 *)0x0) && (psVar45 != psVar38)) goto LAB_0001387e;\n      }" ({ "{") (expression_statement "uVar7 = (uint)psVar18 | local_7f8;" (assignment_expression "uVar7 = (uint)psVar18 | local_7f8" (identifier "uVar7") (= "=") (binary_expression "(uint)psVar18 | local_7f8" (cast_expression "(uint)psVar18" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "psVar18")) (| "|") (identifier "local_7f8"))) (; ";")) (if_statement "if (uVar7 != 0) {\n          pr2serr("DLEN > than bytes implied by sum of scatter list NUMs (%u)\n",psVar38,uVar7,uVar7\n                 );\n          if (1 < (int)psVar18) {\n            pr2serr("  num_lbard=%u, sum_num=%u actual_bs=%u",local_8f6,local_8ec,local_7d4);\n          }\n          if (local_7f8 != 0) goto LAB_000133f3;\n          goto LAB_00014208;\n        }" (if "if") (parenthesized_expression "(uVar7 != 0)" (( "(") (binary_expression "uVar7 != 0" (identifier "uVar7") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n          pr2serr("DLEN > than bytes implied by sum of scatter list NUMs (%u)\n",psVar38,uVar7,uVar7\n                 );\n          if (1 < (int)psVar18) {\n            pr2serr("  num_lbard=%u, sum_num=%u actual_bs=%u",local_8f6,local_8ec,local_7d4);\n          }\n          if (local_7f8 != 0) goto LAB_000133f3;\n          goto LAB_00014208;\n        }" ({ "{") (expression_statement "pr2serr("DLEN > than bytes implied by sum of scatter list NUMs (%u)\n",psVar38,uVar7,uVar7\n                 );" (call_expression "pr2serr("DLEN > than bytes implied by sum of scatter list NUMs (%u)\n",psVar38,uVar7,uVar7\n                 )" (identifier "pr2serr") (argument_list "("DLEN > than bytes implied by sum of scatter list NUMs (%u)\n",psVar38,uVar7,uVar7\n                 )" (( "(") (string_literal ""DLEN > than bytes implied by sum of scatter list NUMs (%u)\n"" (" """) (string_content "DLEN > than bytes implied by sum of scatter list NUMs (%u)") (escape_sequence "\n") (" """)) (, ",") (identifier "psVar38") (, ",") (identifier "uVar7") (, ",") (identifier "uVar7") () ")"))) (; ";")) (if_statement "if (1 < (int)psVar18) {\n            pr2serr("  num_lbard=%u, sum_num=%u actual_bs=%u",local_8f6,local_8ec,local_7d4);\n          }" (if "if") (parenthesized_expression "(1 < (int)psVar18)" (( "(") (binary_expression "1 < (int)psVar18" (number_literal "1") (< "<") (cast_expression "(int)psVar18" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "psVar18"))) () ")")) (compound_statement "{\n            pr2serr("  num_lbard=%u, sum_num=%u actual_bs=%u",local_8f6,local_8ec,local_7d4);\n          }" ({ "{") (expression_statement "pr2serr("  num_lbard=%u, sum_num=%u actual_bs=%u",local_8f6,local_8ec,local_7d4);" (call_expression "pr2serr("  num_lbard=%u, sum_num=%u actual_bs=%u",local_8f6,local_8ec,local_7d4)" (identifier "pr2serr") (argument_list "("  num_lbard=%u, sum_num=%u actual_bs=%u",local_8f6,local_8ec,local_7d4)" (( "(") (string_literal ""  num_lbard=%u, sum_num=%u actual_bs=%u"" (" """) (string_content "  num_lbard=%u, sum_num=%u actual_bs=%u") (" """)) (, ",") (identifier "local_8f6") (, ",") (identifier "local_8ec") (, ",") (identifier "local_7d4") () ")"))) (; ";")) (} "}"))) (if_statement "if (local_7f8 != 0) goto LAB_000133f3;" (if "if") (parenthesized_expression "(local_7f8 != 0)" (( "(") (binary_expression "local_7f8 != 0" (identifier "local_7f8") (!= "!=") (number_literal "0")) () ")")) (goto_statement "goto LAB_000133f3;" (goto "goto") (statement_identifier "LAB_000133f3") (; ";"))) (goto_statement "goto LAB_00014208;" (goto "goto") (statement_identifier "LAB_00014208") (; ";")) (} "}"))) (if_statement "if ((psVar45 != (stat64 *)0x0) && (psVar45 != psVar38)) goto LAB_0001387e;" (if "if") (parenthesized_expression "((psVar45 != (stat64 *)0x0) && (psVar45 != psVar38))" (( "(") (binary_expression "(psVar45 != (stat64 *)0x0) && (psVar45 != psVar38)" (parenthesized_expression "(psVar45 != (stat64 *)0x0)" (( "(") (binary_expression "psVar45 != (stat64 *)0x0" (identifier "psVar45") (!= "!=") (cast_expression "(stat64 *)0x0" (( "(") (type_descriptor "stat64 *" (type_identifier "stat64") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (&& "&&") (parenthesized_expression "(psVar45 != psVar38)" (( "(") (binary_expression "psVar45 != psVar38" (identifier "psVar45") (!= "!=") (identifier "psVar38")) () ")"))) () ")")) (goto_statement "goto LAB_0001387e;" (goto "goto") (statement_identifier "LAB_0001387e") (; ";"))) (} "}")))) (expression_statement "local_908 = (stat64 *)FUN_00014a80(&DAT_00017360);" (assignment_expression "local_908 = (stat64 *)FUN_00014a80(&DAT_00017360)" (identifier "local_908") (= "=") (cast_expression "(stat64 *)FUN_00014a80(&DAT_00017360)" (( "(") (type_descriptor "stat64 *" (type_identifier "stat64") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "FUN_00014a80(&DAT_00017360)" (identifier "FUN_00014a80") (argument_list "(&DAT_00017360)" (( "(") (pointer_expression "&DAT_00017360" (& "&") (identifier "DAT_00017360")) () ")"))))) (; ";")) (} "}")) (else_clause "else {\nLAB_00013dcd:\n      psVar38 = local_7d4;\n      if (local_7e0 != 0) {\n        psVar38 = (stat64 *)((local_7e0 + 1) * 0x20);\n        if (local_908 < psVar38) {\n          pr2serr("SF not long enough (%u bytes) to provide RD (%u) %ss\n",local_908,psVar38,\n                  "LBA range descriptor");\n          local_908 = (stat64 *)0xf;\n          goto LAB_000133fd;\n        }\n        psVar38 = (stat64 *)\n                  ((((uint)psVar38 / (uint)local_7d4 + 1) -\n                   (uint)((uint)psVar38 % (uint)local_7d4 == 0)) * (int)local_7d4);\n      }\n      local_918 = local_7d4;\n      if (local_93c != (stat64 *)0x0) {\n        local_918 = (stat64 *)\n                    ((((uint)local_93c / (uint)local_7d4 + 1) -\n                     (uint)((uint)local_93c % (uint)local_7d4 == 0)) * (int)local_7d4);\n      }\n      psVar25 = (stat64 *)\n                sg_memalign((undefined *)((int)&psVar38->st_dev + (int)&local_918->st_dev),0,\n                            &local_8e8,0);\n      if (psVar25 == (stat64 *)0x0) {\nLAB_00013fb3:\n        pcVar15 = "unable to allocate aligned memory for scatterlist+data\n";\nLAB_00013fbc:\n        pr2serr(pcVar15);\n        local_908 = (stat64 *)sg_convert_errno(0xc);\n        goto LAB_000133fd;\n      }\n      local_908 = (stat64 *)FUN_00014a80(&DAT_00017365);\n      if (local_908 != (stat64 *)0x0) goto LAB_000133fd;\n      psVar17 = (stat64 *)local_8ec;\n      psVar22 = extraout_ECX_08;\n      psVar8 = extraout_ECX_08;\n      cVar6 = FUN_000146a0(&local_8f6,psVar17,extraout_ECX_08,extraout_ECX_08);\n      if (cVar6 == '\0') goto LAB_000133f3;\n      if (local_7e0 != local_8f6) {\n        pr2serr("Try again with --scattered=%u\n",local_8f6,extraout_EDX_05,extraout_EDX_05);\n        local_908 = (stat64 *)0xf;\n        goto LAB_000133fd;\n      }\n      if (local_918 < (stat64 *)((int)local_7d4 * (int)local_8ec)) {\n        psVar9 = (stat64 *)\n                 sg_memalign((undefined *)\n                             ((int)&psVar38->st_dev +\n                             (int)&((stat64 *)((int)local_7d4 * (int)local_8ec))->st_dev),0,\n                             &local_8e4,0);\n        if (psVar9 == (stat64 *)0x0) goto LAB_00014273;\n        psVar22 = psVar38;\n        psVar8 = psVar9;\n        memcpy(psVar9,psVar25,(size_t)psVar38);\n        psVar17 = psVar25;\n        free(local_8e8);\n        local_8e8 = local_8e4;\n        psVar25 = psVar9;\n      }\n      if ((local_93c != psVar38) && (psVar18 != (stat64 *)0x0 || local_7f8 != 0)) {\n        psVar22 = (stat64 *)&DAT_000170dd;\n        if (local_93c <= psVar38) {\n          psVar22 = (stat64 *)&DAT_00017110;\n        }\n        psVar8 = psVar38;\n        pr2serr("IF length (%u) %s \'sum_num\' bytes (%u), ",local_93c,psVar22,psVar38);\n        if (1 < (int)local_7f8) {\n          pr2serr("exiting (strict=%d)\n",local_7f8,psVar38,psVar38);\n          local_908 = (stat64 *)0xf;\n          goto LAB_000133fd;\n        }\n        pr2serr("continuing ...\n",local_93c,psVar22,psVar8);\n        psVar17 = local_93c;\n      }\n      local_908 = (stat64 *)FUN_00014a80(&DAT_0001738d,psVar17,psVar22,psVar8);\n    }" (else "else") (compound_statement "{\nLAB_00013dcd:\n      psVar38 = local_7d4;\n      if (local_7e0 != 0) {\n        psVar38 = (stat64 *)((local_7e0 + 1) * 0x20);\n        if (local_908 < psVar38) {\n          pr2serr("SF not long enough (%u bytes) to provide RD (%u) %ss\n",local_908,psVar38,\n                  "LBA range descriptor");\n          local_908 = (stat64 *)0xf;\n          goto LAB_000133fd;\n        }\n        psVar38 = (stat64 *)\n                  ((((uint)psVar38 / (uint)local_7d4 + 1) -\n                   (uint)((uint)psVar38 % (uint)local_7d4 == 0)) * (int)local_7d4);\n      }\n      local_918 = local_7d4;\n      if (local_93c != (stat64 *)0x0) {\n        local_918 = (stat64 *)\n                    ((((uint)local_93c / (uint)local_7d4 + 1) -\n                     (uint)((uint)local_93c % (uint)local_7d4 == 0)) * (int)local_7d4);\n      }\n      psVar25 = (stat64 *)\n                sg_memalign((undefined *)((int)&psVar38->st_dev + (int)&local_918->st_dev),0,\n                            &local_8e8,0);\n      if (psVar25 == (stat64 *)0x0) {\nLAB_00013fb3:\n        pcVar15 = "unable to allocate aligned memory for scatterlist+data\n";\nLAB_00013fbc:\n        pr2serr(pcVar15);\n        local_908 = (stat64 *)sg_convert_errno(0xc);\n        goto LAB_000133fd;\n      }\n      local_908 = (stat64 *)FUN_00014a80(&DAT_00017365);\n      if (local_908 != (stat64 *)0x0) goto LAB_000133fd;\n      psVar17 = (stat64 *)local_8ec;\n      psVar22 = extraout_ECX_08;\n      psVar8 = extraout_ECX_08;\n      cVar6 = FUN_000146a0(&local_8f6,psVar17,extraout_ECX_08,extraout_ECX_08);\n      if (cVar6 == '\0') goto LAB_000133f3;\n      if (local_7e0 != local_8f6) {\n        pr2serr("Try again with --scattered=%u\n",local_8f6,extraout_EDX_05,extraout_EDX_05);\n        local_908 = (stat64 *)0xf;\n        goto LAB_000133fd;\n      }\n      if (local_918 < (stat64 *)((int)local_7d4 * (int)local_8ec)) {\n        psVar9 = (stat64 *)\n                 sg_memalign((undefined *)\n                             ((int)&psVar38->st_dev +\n                             (int)&((stat64 *)((int)local_7d4 * (int)local_8ec))->st_dev),0,\n                             &local_8e4,0);\n        if (psVar9 == (stat64 *)0x0) goto LAB_00014273;\n        psVar22 = psVar38;\n        psVar8 = psVar9;\n        memcpy(psVar9,psVar25,(size_t)psVar38);\n        psVar17 = psVar25;\n        free(local_8e8);\n        local_8e8 = local_8e4;\n        psVar25 = psVar9;\n      }\n      if ((local_93c != psVar38) && (psVar18 != (stat64 *)0x0 || local_7f8 != 0)) {\n        psVar22 = (stat64 *)&DAT_000170dd;\n        if (local_93c <= psVar38) {\n          psVar22 = (stat64 *)&DAT_00017110;\n        }\n        psVar8 = psVar38;\n        pr2serr("IF length (%u) %s \'sum_num\' bytes (%u), ",local_93c,psVar22,psVar38);\n        if (1 < (int)local_7f8) {\n          pr2serr("exiting (strict=%d)\n",local_7f8,psVar38,psVar38);\n          local_908 = (stat64 *)0xf;\n          goto LAB_000133fd;\n        }\n        pr2serr("continuing ...\n",local_93c,psVar22,psVar8);\n        psVar17 = local_93c;\n      }\n      local_908 = (stat64 *)FUN_00014a80(&DAT_0001738d,psVar17,psVar22,psVar8);\n    }" ({ "{") (labeled_statement "LAB_00013dcd:\n      psVar38 = local_7d4;" (statement_identifier "LAB_00013dcd") (: ":") (expression_statement "psVar38 = local_7d4;" (assignment_expression "psVar38 = local_7d4" (identifier "psVar38") (= "=") (identifier "local_7d4")) (; ";"))) (if_statement "if (local_7e0 != 0) {\n        psVar38 = (stat64 *)((local_7e0 + 1) * 0x20);\n        if (local_908 < psVar38) {\n          pr2serr("SF not long enough (%u bytes) to provide RD (%u) %ss\n",local_908,psVar38,\n                  "LBA range descriptor");\n          local_908 = (stat64 *)0xf;\n          goto LAB_000133fd;\n        }\n        psVar38 = (stat64 *)\n                  ((((uint)psVar38 / (uint)local_7d4 + 1) -\n                   (uint)((uint)psVar38 % (uint)local_7d4 == 0)) * (int)local_7d4);\n      }" (if "if") (parenthesized_expression "(local_7e0 != 0)" (( "(") (binary_expression "local_7e0 != 0" (identifier "local_7e0") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n        psVar38 = (stat64 *)((local_7e0 + 1) * 0x20);\n        if (local_908 < psVar38) {\n          pr2serr("SF not long enough (%u bytes) to provide RD (%u) %ss\n",local_908,psVar38,\n                  "LBA range descriptor");\n          local_908 = (stat64 *)0xf;\n          goto LAB_000133fd;\n        }\n        psVar38 = (stat64 *)\n                  ((((uint)psVar38 / (uint)local_7d4 + 1) -\n                   (uint)((uint)psVar38 % (uint)local_7d4 == 0)) * (int)local_7d4);\n      }" ({ "{") (expression_statement "psVar38 = (stat64 *)((local_7e0 + 1) * 0x20);" (assignment_expression "psVar38 = (stat64 *)((local_7e0 + 1) * 0x20)" (identifier "psVar38") (= "=") (cast_expression "(stat64 *)((local_7e0 + 1) * 0x20)" (( "(") (type_descriptor "stat64 *" (type_identifier "stat64") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((local_7e0 + 1) * 0x20)" (( "(") (binary_expression "(local_7e0 + 1) * 0x20" (parenthesized_expression "(local_7e0 + 1)" (( "(") (binary_expression "local_7e0 + 1" (identifier "local_7e0") (+ "+") (number_literal "1")) () ")")) (* "*") (number_literal "0x20")) () ")")))) (; ";")) (if_statement "if (local_908 < psVar38) {\n          pr2serr("SF not long enough (%u bytes) to provide RD (%u) %ss\n",local_908,psVar38,\n                  "LBA range descriptor");\n          local_908 = (stat64 *)0xf;\n          goto LAB_000133fd;\n        }" (if "if") (parenthesized_expression "(local_908 < psVar38)" (( "(") (binary_expression "local_908 < psVar38" (identifier "local_908") (< "<") (identifier "psVar38")) () ")")) (compound_statement "{\n          pr2serr("SF not long enough (%u bytes) to provide RD (%u) %ss\n",local_908,psVar38,\n                  "LBA range descriptor");\n          local_908 = (stat64 *)0xf;\n          goto LAB_000133fd;\n        }" ({ "{") (expression_statement "pr2serr("SF not long enough (%u bytes) to provide RD (%u) %ss\n",local_908,psVar38,\n                  "LBA range descriptor");" (call_expression "pr2serr("SF not long enough (%u bytes) to provide RD (%u) %ss\n",local_908,psVar38,\n                  "LBA range descriptor")" (identifier "pr2serr") (argument_list "("SF not long enough (%u bytes) to provide RD (%u) %ss\n",local_908,psVar38,\n                  "LBA range descriptor")" (( "(") (string_literal ""SF not long enough (%u bytes) to provide RD (%u) %ss\n"" (" """) (string_content "SF not long enough (%u bytes) to provide RD (%u) %ss") (escape_sequence "\n") (" """)) (, ",") (identifier "local_908") (, ",") (identifier "psVar38") (, ",") (string_literal ""LBA range descriptor"" (" """) (string_content "LBA range descriptor") (" """)) () ")"))) (; ";")) (expression_statement "local_908 = (stat64 *)0xf;" (assignment_expression "local_908 = (stat64 *)0xf" (identifier "local_908") (= "=") (cast_expression "(stat64 *)0xf" (( "(") (type_descriptor "stat64 *" (type_identifier "stat64") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0xf"))) (; ";")) (goto_statement "goto LAB_000133fd;" (goto "goto") (statement_identifier "LAB_000133fd") (; ";")) (} "}"))) (expression_statement "psVar38 = (stat64 *)\n                  ((((uint)psVar38 / (uint)local_7d4 + 1) -\n                   (uint)((uint)psVar38 % (uint)local_7d4 == 0)) * (int)local_7d4);" (assignment_expression "psVar38 = (stat64 *)\n                  ((((uint)psVar38 / (uint)local_7d4 + 1) -\n                   (uint)((uint)psVar38 % (uint)local_7d4 == 0)) * (int)local_7d4)" (identifier "psVar38") (= "=") (cast_expression "(stat64 *)\n                  ((((uint)psVar38 / (uint)local_7d4 + 1) -\n                   (uint)((uint)psVar38 % (uint)local_7d4 == 0)) * (int)local_7d4)" (( "(") (type_descriptor "stat64 *" (type_identifier "stat64") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((((uint)psVar38 / (uint)local_7d4 + 1) -\n                   (uint)((uint)psVar38 % (uint)local_7d4 == 0)) * (int)local_7d4)" (( "(") (binary_expression "(((uint)psVar38 / (uint)local_7d4 + 1) -\n                   (uint)((uint)psVar38 % (uint)local_7d4 == 0)) * (int)local_7d4" (parenthesized_expression "(((uint)psVar38 / (uint)local_7d4 + 1) -\n                   (uint)((uint)psVar38 % (uint)local_7d4 == 0))" (( "(") (binary_expression "((uint)psVar38 / (uint)local_7d4 + 1) -\n                   (uint)((uint)psVar38 % (uint)local_7d4 == 0)" (parenthesized_expression "((uint)psVar38 / (uint)local_7d4 + 1)" (( "(") (binary_expression "(uint)psVar38 / (uint)local_7d4 + 1" (binary_expression "(uint)psVar38 / (uint)local_7d4" (cast_expression "(uint)psVar38" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "psVar38")) (/ "/") (cast_expression "(uint)local_7d4" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "local_7d4"))) (+ "+") (number_literal "1")) () ")")) (- "-") (call_expression "(uint)((uint)psVar38 % (uint)local_7d4 == 0)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "((uint)psVar38 % (uint)local_7d4 == 0)" (( "(") (binary_expression "(uint)psVar38 % (uint)local_7d4 == 0" (binary_expression "(uint)psVar38 % (uint)local_7d4" (cast_expression "(uint)psVar38" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "psVar38")) (% "%") (cast_expression "(uint)local_7d4" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "local_7d4"))) (== "==") (number_literal "0")) () ")")))) () ")")) (* "*") (cast_expression "(int)local_7d4" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_7d4"))) () ")")))) (; ";")) (} "}"))) (expression_statement "local_918 = local_7d4;" (assignment_expression "local_918 = local_7d4" (identifier "local_918") (= "=") (identifier "local_7d4")) (; ";")) (if_statement "if (local_93c != (stat64 *)0x0) {\n        local_918 = (stat64 *)\n                    ((((uint)local_93c / (uint)local_7d4 + 1) -\n                     (uint)((uint)local_93c % (uint)local_7d4 == 0)) * (int)local_7d4);\n      }" (if "if") (parenthesized_expression "(local_93c != (stat64 *)0x0)" (( "(") (binary_expression "local_93c != (stat64 *)0x0" (identifier "local_93c") (!= "!=") (cast_expression "(stat64 *)0x0" (( "(") (type_descriptor "stat64 *" (type_identifier "stat64") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n        local_918 = (stat64 *)\n                    ((((uint)local_93c / (uint)local_7d4 + 1) -\n                     (uint)((uint)local_93c % (uint)local_7d4 == 0)) * (int)local_7d4);\n      }" ({ "{") (expression_statement "local_918 = (stat64 *)\n                    ((((uint)local_93c / (uint)local_7d4 + 1) -\n                     (uint)((uint)local_93c % (uint)local_7d4 == 0)) * (int)local_7d4);" (assignment_expression "local_918 = (stat64 *)\n                    ((((uint)local_93c / (uint)local_7d4 + 1) -\n                     (uint)((uint)local_93c % (uint)local_7d4 == 0)) * (int)local_7d4)" (identifier "local_918") (= "=") (cast_expression "(stat64 *)\n                    ((((uint)local_93c / (uint)local_7d4 + 1) -\n                     (uint)((uint)local_93c % (uint)local_7d4 == 0)) * (int)local_7d4)" (( "(") (type_descriptor "stat64 *" (type_identifier "stat64") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((((uint)local_93c / (uint)local_7d4 + 1) -\n                     (uint)((uint)local_93c % (uint)local_7d4 == 0)) * (int)local_7d4)" (( "(") (binary_expression "(((uint)local_93c / (uint)local_7d4 + 1) -\n                     (uint)((uint)local_93c % (uint)local_7d4 == 0)) * (int)local_7d4" (parenthesized_expression "(((uint)local_93c / (uint)local_7d4 + 1) -\n                     (uint)((uint)local_93c % (uint)local_7d4 == 0))" (( "(") (binary_expression "((uint)local_93c / (uint)local_7d4 + 1) -\n                     (uint)((uint)local_93c % (uint)local_7d4 == 0)" (parenthesized_expression "((uint)local_93c / (uint)local_7d4 + 1)" (( "(") (binary_expression "(uint)local_93c / (uint)local_7d4 + 1" (binary_expression "(uint)local_93c / (uint)local_7d4" (cast_expression "(uint)local_93c" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "local_93c")) (/ "/") (cast_expression "(uint)local_7d4" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "local_7d4"))) (+ "+") (number_literal "1")) () ")")) (- "-") (call_expression "(uint)((uint)local_93c % (uint)local_7d4 == 0)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "((uint)local_93c % (uint)local_7d4 == 0)" (( "(") (binary_expression "(uint)local_93c % (uint)local_7d4 == 0" (binary_expression "(uint)local_93c % (uint)local_7d4" (cast_expression "(uint)local_93c" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "local_93c")) (% "%") (cast_expression "(uint)local_7d4" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "local_7d4"))) (== "==") (number_literal "0")) () ")")))) () ")")) (* "*") (cast_expression "(int)local_7d4" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_7d4"))) () ")")))) (; ";")) (} "}"))) (expression_statement "psVar25 = (stat64 *)\n                sg_memalign((undefined *)((int)&psVar38->st_dev + (int)&local_918->st_dev),0,\n                            &local_8e8,0);" (assignment_expression "psVar25 = (stat64 *)\n                sg_memalign((undefined *)((int)&psVar38->st_dev + (int)&local_918->st_dev),0,\n                            &local_8e8,0)" (identifier "psVar25") (= "=") (cast_expression "(stat64 *)\n                sg_memalign((undefined *)((int)&psVar38->st_dev + (int)&local_918->st_dev),0,\n                            &local_8e8,0)" (( "(") (type_descriptor "stat64 *" (type_identifier "stat64") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "sg_memalign((undefined *)((int)&psVar38->st_dev + (int)&local_918->st_dev),0,\n                            &local_8e8,0)" (identifier "sg_memalign") (argument_list "((undefined *)((int)&psVar38->st_dev + (int)&local_918->st_dev),0,\n                            &local_8e8,0)" (( "(") (cast_expression "(undefined *)((int)&psVar38->st_dev + (int)&local_918->st_dev)" (( "(") (type_descriptor "undefined *" (type_identifier "undefined") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)&psVar38->st_dev + (int)&local_918->st_dev)" (( "(") (binary_expression "(int)&psVar38->st_dev + (int)&local_918->st_dev" (cast_expression "(int)&psVar38->st_dev" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (pointer_expression "&psVar38->st_dev" (& "&") (field_expression "psVar38->st_dev" (identifier "psVar38") (-> "->") (field_identifier "st_dev")))) (+ "+") (cast_expression "(int)&local_918->st_dev" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (pointer_expression "&local_918->st_dev" (& "&") (field_expression "local_918->st_dev" (identifier "local_918") (-> "->") (field_identifier "st_dev"))))) () ")"))) (, ",") (number_literal "0") (, ",") (pointer_expression "&local_8e8" (& "&") (identifier "local_8e8")) (, ",") (number_literal "0") () ")"))))) (; ";")) (if_statement "if (psVar25 == (stat64 *)0x0) {\nLAB_00013fb3:\n        pcVar15 = "unable to allocate aligned memory for scatterlist+data\n";\nLAB_00013fbc:\n        pr2serr(pcVar15);\n        local_908 = (stat64 *)sg_convert_errno(0xc);\n        goto LAB_000133fd;\n      }" (if "if") (parenthesized_expression "(psVar25 == (stat64 *)0x0)" (( "(") (binary_expression "psVar25 == (stat64 *)0x0" (identifier "psVar25") (== "==") (cast_expression "(stat64 *)0x0" (( "(") (type_descriptor "stat64 *" (type_identifier "stat64") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\nLAB_00013fb3:\n        pcVar15 = "unable to allocate aligned memory for scatterlist+data\n";\nLAB_00013fbc:\n        pr2serr(pcVar15);\n        local_908 = (stat64 *)sg_convert_errno(0xc);\n        goto LAB_000133fd;\n      }" ({ "{") (labeled_statement "LAB_00013fb3:\n        pcVar15 = "unable to allocate aligned memory for scatterlist+data\n";" (statement_identifier "LAB_00013fb3") (: ":") (expression_statement "pcVar15 = "unable to allocate aligned memory for scatterlist+data\n";" (assignment_expression "pcVar15 = "unable to allocate aligned memory for scatterlist+data\n"" (identifier "pcVar15") (= "=") (string_literal ""unable to allocate aligned memory for scatterlist+data\n"" (" """) (string_content "unable to allocate aligned memory for scatterlist+data") (escape_sequence "\n") (" """))) (; ";"))) (labeled_statement "LAB_00013fbc:\n        pr2serr(pcVar15);" (statement_identifier "LAB_00013fbc") (: ":") (expression_statement "pr2serr(pcVar15);" (call_expression "pr2serr(pcVar15)" (identifier "pr2serr") (argument_list "(pcVar15)" (( "(") (identifier "pcVar15") () ")"))) (; ";"))) (expression_statement "local_908 = (stat64 *)sg_convert_errno(0xc);" (assignment_expression "local_908 = (stat64 *)sg_convert_errno(0xc)" (identifier "local_908") (= "=") (cast_expression "(stat64 *)sg_convert_errno(0xc)" (( "(") (type_descriptor "stat64 *" (type_identifier "stat64") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "sg_convert_errno(0xc)" (identifier "sg_convert_errno") (argument_list "(0xc)" (( "(") (number_literal "0xc") () ")"))))) (; ";")) (goto_statement "goto LAB_000133fd;" (goto "goto") (statement_identifier "LAB_000133fd") (; ";")) (} "}"))) (expression_statement "local_908 = (stat64 *)FUN_00014a80(&DAT_00017365);" (assignment_expression "local_908 = (stat64 *)FUN_00014a80(&DAT_00017365)" (identifier "local_908") (= "=") (cast_expression "(stat64 *)FUN_00014a80(&DAT_00017365)" (( "(") (type_descriptor "stat64 *" (type_identifier "stat64") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "FUN_00014a80(&DAT_00017365)" (identifier "FUN_00014a80") (argument_list "(&DAT_00017365)" (( "(") (pointer_expression "&DAT_00017365" (& "&") (identifier "DAT_00017365")) () ")"))))) (; ";")) (if_statement "if (local_908 != (stat64 *)0x0) goto LAB_000133fd;" (if "if") (parenthesized_expression "(local_908 != (stat64 *)0x0)" (( "(") (binary_expression "local_908 != (stat64 *)0x0" (identifier "local_908") (!= "!=") (cast_expression "(stat64 *)0x0" (( "(") (type_descriptor "stat64 *" (type_identifier "stat64") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (goto_statement "goto LAB_000133fd;" (goto "goto") (statement_identifier "LAB_000133fd") (; ";"))) (expression_statement "psVar17 = (stat64 *)local_8ec;" (assignment_expression "psVar17 = (stat64 *)local_8ec" (identifier "psVar17") (= "=") (cast_expression "(stat64 *)local_8ec" (( "(") (type_descriptor "stat64 *" (type_identifier "stat64") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "local_8ec"))) (; ";")) (expression_statement "psVar22 = extraout_ECX_08;" (assignment_expression "psVar22 = extraout_ECX_08" (identifier "psVar22") (= "=") (identifier "extraout_ECX_08")) (; ";")) (expression_statement "psVar8 = extraout_ECX_08;" (assignment_expression "psVar8 = extraout_ECX_08" (identifier "psVar8") (= "=") (identifier "extraout_ECX_08")) (; ";")) (expression_statement "cVar6 = FUN_000146a0(&local_8f6,psVar17,extraout_ECX_08,extraout_ECX_08);" (assignment_expression "cVar6 = FUN_000146a0(&local_8f6,psVar17,extraout_ECX_08,extraout_ECX_08)" (identifier "cVar6") (= "=") (call_expression "FUN_000146a0(&local_8f6,psVar17,extraout_ECX_08,extraout_ECX_08)" (identifier "FUN_000146a0") (argument_list "(&local_8f6,psVar17,extraout_ECX_08,extraout_ECX_08)" (( "(") (pointer_expression "&local_8f6" (& "&") (identifier "local_8f6")) (, ",") (identifier "psVar17") (, ",") (identifier "extraout_ECX_08") (, ",") (identifier "extraout_ECX_08") () ")")))) (; ";")) (if_statement "if (cVar6 == '\0') goto LAB_000133f3;" (if "if") (parenthesized_expression "(cVar6 == '\0')" (( "(") (binary_expression "cVar6 == '\0'" (identifier "cVar6") (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (goto_statement "goto LAB_000133f3;" (goto "goto") (statement_identifier "LAB_000133f3") (; ";"))) (if_statement "if (local_7e0 != local_8f6) {\n        pr2serr("Try again with --scattered=%u\n",local_8f6,extraout_EDX_05,extraout_EDX_05);\n        local_908 = (stat64 *)0xf;\n        goto LAB_000133fd;\n      }" (if "if") (parenthesized_expression "(local_7e0 != local_8f6)" (( "(") (binary_expression "local_7e0 != local_8f6" (identifier "local_7e0") (!= "!=") (identifier "local_8f6")) () ")")) (compound_statement "{\n        pr2serr("Try again with --scattered=%u\n",local_8f6,extraout_EDX_05,extraout_EDX_05);\n        local_908 = (stat64 *)0xf;\n        goto LAB_000133fd;\n      }" ({ "{") (expression_statement "pr2serr("Try again with --scattered=%u\n",local_8f6,extraout_EDX_05,extraout_EDX_05);" (call_expression "pr2serr("Try again with --scattered=%u\n",local_8f6,extraout_EDX_05,extraout_EDX_05)" (identifier "pr2serr") (argument_list "("Try again with --scattered=%u\n",local_8f6,extraout_EDX_05,extraout_EDX_05)" (( "(") (string_literal ""Try again with --scattered=%u\n"" (" """) (string_content "Try again with --scattered=%u") (escape_sequence "\n") (" """)) (, ",") (identifier "local_8f6") (, ",") (identifier "extraout_EDX_05") (, ",") (identifier "extraout_EDX_05") () ")"))) (; ";")) (expression_statement "local_908 = (stat64 *)0xf;" (assignment_expression "local_908 = (stat64 *)0xf" (identifier "local_908") (= "=") (cast_expression "(stat64 *)0xf" (( "(") (type_descriptor "stat64 *" (type_identifier "stat64") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0xf"))) (; ";")) (goto_statement "goto LAB_000133fd;" (goto "goto") (statement_identifier "LAB_000133fd") (; ";")) (} "}"))) (if_statement "if (local_918 < (stat64 *)((int)local_7d4 * (int)local_8ec)) {\n        psVar9 = (stat64 *)\n                 sg_memalign((undefined *)\n                             ((int)&psVar38->st_dev +\n                             (int)&((stat64 *)((int)local_7d4 * (int)local_8ec))->st_dev),0,\n                             &local_8e4,0);\n        if (psVar9 == (stat64 *)0x0) goto LAB_00014273;\n        psVar22 = psVar38;\n        psVar8 = psVar9;\n        memcpy(psVar9,psVar25,(size_t)psVar38);\n        psVar17 = psVar25;\n        free(local_8e8);\n        local_8e8 = local_8e4;\n        psVar25 = psVar9;\n      }" (if "if") (parenthesized_expression "(local_918 < (stat64 *)((int)local_7d4 * (int)local_8ec))" (( "(") (binary_expression "local_918 < (stat64 *)((int)local_7d4 * (int)local_8ec)" (identifier "local_918") (< "<") (cast_expression "(stat64 *)((int)local_7d4 * (int)local_8ec)" (( "(") (type_descriptor "stat64 *" (type_identifier "stat64") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)local_7d4 * (int)local_8ec)" (( "(") (binary_expression "(int)local_7d4 * (int)local_8ec" (cast_expression "(int)local_7d4" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_7d4")) (* "*") (cast_expression "(int)local_8ec" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_8ec"))) () ")")))) () ")")) (compound_statement "{\n        psVar9 = (stat64 *)\n                 sg_memalign((undefined *)\n                             ((int)&psVar38->st_dev +\n                             (int)&((stat64 *)((int)local_7d4 * (int)local_8ec))->st_dev),0,\n                             &local_8e4,0);\n        if (psVar9 == (stat64 *)0x0) goto LAB_00014273;\n        psVar22 = psVar38;\n        psVar8 = psVar9;\n        memcpy(psVar9,psVar25,(size_t)psVar38);\n        psVar17 = psVar25;\n        free(local_8e8);\n        local_8e8 = local_8e4;\n        psVar25 = psVar9;\n      }" ({ "{") (expression_statement "psVar9 = (stat64 *)\n                 sg_memalign((undefined *)\n                             ((int)&psVar38->st_dev +\n                             (int)&((stat64 *)((int)local_7d4 * (int)local_8ec))->st_dev),0,\n                             &local_8e4,0);" (assignment_expression "psVar9 = (stat64 *)\n                 sg_memalign((undefined *)\n                             ((int)&psVar38->st_dev +\n                             (int)&((stat64 *)((int)local_7d4 * (int)local_8ec))->st_dev),0,\n                             &local_8e4,0)" (identifier "psVar9") (= "=") (cast_expression "(stat64 *)\n                 sg_memalign((undefined *)\n                             ((int)&psVar38->st_dev +\n                             (int)&((stat64 *)((int)local_7d4 * (int)local_8ec))->st_dev),0,\n                             &local_8e4,0)" (( "(") (type_descriptor "stat64 *" (type_identifier "stat64") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "sg_memalign((undefined *)\n                             ((int)&psVar38->st_dev +\n                             (int)&((stat64 *)((int)local_7d4 * (int)local_8ec))->st_dev),0,\n                             &local_8e4,0)" (identifier "sg_memalign") (argument_list "((undefined *)\n                             ((int)&psVar38->st_dev +\n                             (int)&((stat64 *)((int)local_7d4 * (int)local_8ec))->st_dev),0,\n                             &local_8e4,0)" (( "(") (cast_expression "(undefined *)\n                             ((int)&psVar38->st_dev +\n                             (int)&((stat64 *)((int)local_7d4 * (int)local_8ec))->st_dev)" (( "(") (type_descriptor "undefined *" (type_identifier "undefined") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)&psVar38->st_dev +\n                             (int)&((stat64 *)((int)local_7d4 * (int)local_8ec))->st_dev)" (( "(") (binary_expression "(int)&psVar38->st_dev +\n                             (int)&((stat64 *)((int)local_7d4 * (int)local_8ec))->st_dev" (cast_expression "(int)&psVar38->st_dev" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (pointer_expression "&psVar38->st_dev" (& "&") (field_expression "psVar38->st_dev" (identifier "psVar38") (-> "->") (field_identifier "st_dev")))) (+ "+") (cast_expression "(int)&((stat64 *)((int)local_7d4 * (int)local_8ec))->st_dev" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (pointer_expression "&((stat64 *)((int)local_7d4 * (int)local_8ec))->st_dev" (& "&") (field_expression "((stat64 *)((int)local_7d4 * (int)local_8ec))->st_dev" (parenthesized_expression "((stat64 *)((int)local_7d4 * (int)local_8ec))" (( "(") (cast_expression "(stat64 *)((int)local_7d4 * (int)local_8ec)" (( "(") (type_descriptor "stat64 *" (type_identifier "stat64") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)local_7d4 * (int)local_8ec)" (( "(") (binary_expression "(int)local_7d4 * (int)local_8ec" (cast_expression "(int)local_7d4" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_7d4")) (* "*") (cast_expression "(int)local_8ec" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_8ec"))) () ")"))) () ")")) (-> "->") (field_identifier "st_dev"))))) () ")"))) (, ",") (number_literal "0") (, ",") (pointer_expression "&local_8e4" (& "&") (identifier "local_8e4")) (, ",") (number_literal "0") () ")"))))) (; ";")) (if_statement "if (psVar9 == (stat64 *)0x0) goto LAB_00014273;" (if "if") (parenthesized_expression "(psVar9 == (stat64 *)0x0)" (( "(") (binary_expression "psVar9 == (stat64 *)0x0" (identifier "psVar9") (== "==") (cast_expression "(stat64 *)0x0" (( "(") (type_descriptor "stat64 *" (type_identifier "stat64") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (goto_statement "goto LAB_00014273;" (goto "goto") (statement_identifier "LAB_00014273") (; ";"))) (expression_statement "psVar22 = psVar38;" (assignment_expression "psVar22 = psVar38" (identifier "psVar22") (= "=") (identifier "psVar38")) (; ";")) (expression_statement "psVar8 = psVar9;" (assignment_expression "psVar8 = psVar9" (identifier "psVar8") (= "=") (identifier "psVar9")) (; ";")) (expression_statement "memcpy(psVar9,psVar25,(size_t)psVar38);" (call_expression "memcpy(psVar9,psVar25,(size_t)psVar38)" (identifier "memcpy") (argument_list "(psVar9,psVar25,(size_t)psVar38)" (( "(") (identifier "psVar9") (, ",") (identifier "psVar25") (, ",") (cast_expression "(size_t)psVar38" (( "(") (type_descriptor "size_t" (primitive_type "size_t")) () ")") (identifier "psVar38")) () ")"))) (; ";")) (expression_statement "psVar17 = psVar25;" (assignment_expression "psVar17 = psVar25" (identifier "psVar17") (= "=") (identifier "psVar25")) (; ";")) (expression_statement "free(local_8e8);" (call_expression "free(local_8e8)" (identifier "free") (argument_list "(local_8e8)" (( "(") (identifier "local_8e8") () ")"))) (; ";")) (expression_statement "local_8e8 = local_8e4;" (assignment_expression "local_8e8 = local_8e4" (identifier "local_8e8") (= "=") (identifier "local_8e4")) (; ";")) (expression_statement "psVar25 = psVar9;" (assignment_expression "psVar25 = psVar9" (identifier "psVar25") (= "=") (identifier "psVar9")) (; ";")) (} "}"))) (if_statement "if ((local_93c != psVar38) && (psVar18 != (stat64 *)0x0 || local_7f8 != 0)) {\n        psVar22 = (stat64 *)&DAT_000170dd;\n        if (local_93c <= psVar38) {\n          psVar22 = (stat64 *)&DAT_00017110;\n        }\n        psVar8 = psVar38;\n        pr2serr("IF length (%u) %s \'sum_num\' bytes (%u), ",local_93c,psVar22,psVar38);\n        if (1 < (int)local_7f8) {\n          pr2serr("exiting (strict=%d)\n",local_7f8,psVar38,psVar38);\n          local_908 = (stat64 *)0xf;\n          goto LAB_000133fd;\n        }\n        pr2serr("continuing ...\n",local_93c,psVar22,psVar8);\n        psVar17 = local_93c;\n      }" (if "if") (parenthesized_expression "((local_93c != psVar38) && (psVar18 != (stat64 *)0x0 || local_7f8 != 0))" (( "(") (binary_expression "(local_93c != psVar38) && (psVar18 != (stat64 *)0x0 || local_7f8 != 0)" (parenthesized_expression "(local_93c != psVar38)" (( "(") (binary_expression "local_93c != psVar38" (identifier "local_93c") (!= "!=") (identifier "psVar38")) () ")")) (&& "&&") (parenthesized_expression "(psVar18 != (stat64 *)0x0 || local_7f8 != 0)" (( "(") (binary_expression "psVar18 != (stat64 *)0x0 || local_7f8 != 0" (binary_expression "psVar18 != (stat64 *)0x0" (identifier "psVar18") (!= "!=") (cast_expression "(stat64 *)0x0" (( "(") (type_descriptor "stat64 *" (type_identifier "stat64") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (|| "||") (binary_expression "local_7f8 != 0" (identifier "local_7f8") (!= "!=") (number_literal "0"))) () ")"))) () ")")) (compound_statement "{\n        psVar22 = (stat64 *)&DAT_000170dd;\n        if (local_93c <= psVar38) {\n          psVar22 = (stat64 *)&DAT_00017110;\n        }\n        psVar8 = psVar38;\n        pr2serr("IF length (%u) %s \'sum_num\' bytes (%u), ",local_93c,psVar22,psVar38);\n        if (1 < (int)local_7f8) {\n          pr2serr("exiting (strict=%d)\n",local_7f8,psVar38,psVar38);\n          local_908 = (stat64 *)0xf;\n          goto LAB_000133fd;\n        }\n        pr2serr("continuing ...\n",local_93c,psVar22,psVar8);\n        psVar17 = local_93c;\n      }" ({ "{") (expression_statement "psVar22 = (stat64 *)&DAT_000170dd;" (assignment_expression "psVar22 = (stat64 *)&DAT_000170dd" (identifier "psVar22") (= "=") (cast_expression "(stat64 *)&DAT_000170dd" (( "(") (type_descriptor "stat64 *" (type_identifier "stat64") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "&DAT_000170dd" (& "&") (identifier "DAT_000170dd")))) (; ";")) (if_statement "if (local_93c <= psVar38) {\n          psVar22 = (stat64 *)&DAT_00017110;\n        }" (if "if") (parenthesized_expression "(local_93c <= psVar38)" (( "(") (binary_expression "local_93c <= psVar38" (identifier "local_93c") (<= "<=") (identifier "psVar38")) () ")")) (compound_statement "{\n          psVar22 = (stat64 *)&DAT_00017110;\n        }" ({ "{") (expression_statement "psVar22 = (stat64 *)&DAT_00017110;" (assignment_expression "psVar22 = (stat64 *)&DAT_00017110" (identifier "psVar22") (= "=") (cast_expression "(stat64 *)&DAT_00017110" (( "(") (type_descriptor "stat64 *" (type_identifier "stat64") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "&DAT_00017110" (& "&") (identifier "DAT_00017110")))) (; ";")) (} "}"))) (expression_statement "psVar8 = psVar38;" (assignment_expression "psVar8 = psVar38" (identifier "psVar8") (= "=") (identifier "psVar38")) (; ";")) (expression_statement "pr2serr("IF length (%u) %s \'sum_num\' bytes (%u), ",local_93c,psVar22,psVar38);" (call_expression "pr2serr("IF length (%u) %s \'sum_num\' bytes (%u), ",local_93c,psVar22,psVar38)" (identifier "pr2serr") (argument_list "("IF length (%u) %s \'sum_num\' bytes (%u), ",local_93c,psVar22,psVar38)" (( "(") (string_literal ""IF length (%u) %s \'sum_num\' bytes (%u), "" (" """) (string_content "IF length (%u) %s ") (escape_sequence "\'") (string_content "sum_num") (escape_sequence "\'") (string_content " bytes (%u), ") (" """)) (, ",") (identifier "local_93c") (, ",") (identifier "psVar22") (, ",") (identifier "psVar38") () ")"))) (; ";")) (if_statement "if (1 < (int)local_7f8) {\n          pr2serr("exiting (strict=%d)\n",local_7f8,psVar38,psVar38);\n          local_908 = (stat64 *)0xf;\n          goto LAB_000133fd;\n        }" (if "if") (parenthesized_expression "(1 < (int)local_7f8)" (( "(") (binary_expression "1 < (int)local_7f8" (number_literal "1") (< "<") (cast_expression "(int)local_7f8" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_7f8"))) () ")")) (compound_statement "{\n          pr2serr("exiting (strict=%d)\n",local_7f8,psVar38,psVar38);\n          local_908 = (stat64 *)0xf;\n          goto LAB_000133fd;\n        }" ({ "{") (expression_statement "pr2serr("exiting (strict=%d)\n",local_7f8,psVar38,psVar38);" (call_expression "pr2serr("exiting (strict=%d)\n",local_7f8,psVar38,psVar38)" (identifier "pr2serr") (argument_list "("exiting (strict=%d)\n",local_7f8,psVar38,psVar38)" (( "(") (string_literal ""exiting (strict=%d)\n"" (" """) (string_content "exiting (strict=%d)") (escape_sequence "\n") (" """)) (, ",") (identifier "local_7f8") (, ",") (identifier "psVar38") (, ",") (identifier "psVar38") () ")"))) (; ";")) (expression_statement "local_908 = (stat64 *)0xf;" (assignment_expression "local_908 = (stat64 *)0xf" (identifier "local_908") (= "=") (cast_expression "(stat64 *)0xf" (( "(") (type_descriptor "stat64 *" (type_identifier "stat64") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0xf"))) (; ";")) (goto_statement "goto LAB_000133fd;" (goto "goto") (statement_identifier "LAB_000133fd") (; ";")) (} "}"))) (expression_statement "pr2serr("continuing ...\n",local_93c,psVar22,psVar8);" (call_expression "pr2serr("continuing ...\n",local_93c,psVar22,psVar8)" (identifier "pr2serr") (argument_list "("continuing ...\n",local_93c,psVar22,psVar8)" (( "(") (string_literal ""continuing ...\n"" (" """) (string_content "continuing ...") (escape_sequence "\n") (" """)) (, ",") (identifier "local_93c") (, ",") (identifier "psVar22") (, ",") (identifier "psVar8") () ")"))) (; ";")) (expression_statement "psVar17 = local_93c;" (assignment_expression "psVar17 = local_93c" (identifier "psVar17") (= "=") (identifier "local_93c")) (; ";")) (} "}"))) (expression_statement "local_908 = (stat64 *)FUN_00014a80(&DAT_0001738d,psVar17,psVar22,psVar8);" (assignment_expression "local_908 = (stat64 *)FUN_00014a80(&DAT_0001738d,psVar17,psVar22,psVar8)" (identifier "local_908") (= "=") (cast_expression "(stat64 *)FUN_00014a80(&DAT_0001738d,psVar17,psVar22,psVar8)" (( "(") (type_descriptor "stat64 *" (type_identifier "stat64") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "FUN_00014a80(&DAT_0001738d,psVar17,psVar22,psVar8)" (identifier "FUN_00014a80") (argument_list "(&DAT_0001738d,psVar17,psVar22,psVar8)" (( "(") (pointer_expression "&DAT_0001738d" (& "&") (identifier "DAT_0001738d")) (, ",") (identifier "psVar17") (, ",") (identifier "psVar22") (, ",") (identifier "psVar8") () ")"))))) (; ";")) (} "}")))) (if_statement "if (local_908 != (stat64 *)0x0) goto LAB_000133fd;" (if "if") (parenthesized_expression "(local_908 != (stat64 *)0x0)" (( "(") (binary_expression "local_908 != (stat64 *)0x0" (identifier "local_908") (!= "!=") (cast_expression "(stat64 *)0x0" (( "(") (type_descriptor "stat64 *" (type_identifier "stat64") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (goto_statement "goto LAB_000133fd;" (goto "goto") (statement_identifier "LAB_000133fd") (; ";"))) (expression_statement "local_7a4 = (stat64 *)((int)local_8ec * (int)local_7d4);" (assignment_expression "local_7a4 = (stat64 *)((int)local_8ec * (int)local_7d4)" (identifier "local_7a4") (= "=") (cast_expression "(stat64 *)((int)local_8ec * (int)local_7d4)" (( "(") (type_descriptor "stat64 *" (type_identifier "stat64") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)local_8ec * (int)local_7d4)" (( "(") (binary_expression "(int)local_8ec * (int)local_7d4" (cast_expression "(int)local_8ec" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_8ec")) (* "*") (cast_expression "(int)local_7d4" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_7d4"))) () ")")))) (; ";")) (expression_statement "local_7cc = (stat64 *)local_8ec;" (assignment_expression "local_7cc = (stat64 *)local_8ec" (identifier "local_7cc") (= "=") (cast_expression "(stat64 *)local_8ec" (( "(") (type_descriptor "stat64 *" (type_identifier "stat64") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "local_8ec"))) (; ";")) (} "}")))) (labeled_statement "LAB_00013962:\n  local_8ec = (undefined1  [4])local_7cc;" (statement_identifier "LAB_00013962") (: ":") (expression_statement "local_8ec = (undefined1  [4])local_7cc;" (assignment_expression "local_8ec = (undefined1  [4])local_7cc" (identifier "local_8ec") (= "=") (cast_expression "(undefined1  [4])local_7cc" (( "(") (type_descriptor "undefined1  [4]" (type_identifier "undefined1") (abstract_array_declarator "[4]" ([ "[") (number_literal "4") (] "]"))) () ")") (identifier "local_7cc"))) (; ";"))) (expression_statement "local_908 = (stat64 *)FUN_00014b00(&local_820);" (assignment_expression "local_908 = (stat64 *)FUN_00014b00(&local_820)" (identifier "local_908") (= "=") (cast_expression "(stat64 *)FUN_00014b00(&local_820)" (( "(") (type_descriptor "stat64 *" (type_identifier "stat64") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "FUN_00014b00(&local_820)" (identifier "FUN_00014b00") (argument_list "(&local_820)" (( "(") (pointer_expression "&local_820" (& "&") (identifier "local_820")) () ")"))))) (; ";")) (if_statement "if (local_908 != (stat64 *)0x0) {\n    puVar43 = local_174 + 0x50;\n    psVar25 = (stat64 *)"OS error";\n    puVar29 = puVar43;\n    for (iVar14 = 9; iVar14 != 0; iVar14 = iVar14 + -1) {\n      *puVar29 = (char)psVar25->st_dev;\n      psVar25 = (stat64 *)((int)psVar25 + (uint)bVar32 * -2 + 1);\n      puVar29 = puVar29 + (uint)bVar32 * -2 + 1;\n    }\n    if (0 < (int)local_908) {\n      sg_get_category_sense_str(local_908,0x50,puVar43,psVar18);\n    }\n    pr2serr("%s: %s\n",local_790,puVar43,psVar25);\n  }" (if "if") (parenthesized_expression "(local_908 != (stat64 *)0x0)" (( "(") (binary_expression "local_908 != (stat64 *)0x0" (identifier "local_908") (!= "!=") (cast_expression "(stat64 *)0x0" (( "(") (type_descriptor "stat64 *" (type_identifier "stat64") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n    puVar43 = local_174 + 0x50;\n    psVar25 = (stat64 *)"OS error";\n    puVar29 = puVar43;\n    for (iVar14 = 9; iVar14 != 0; iVar14 = iVar14 + -1) {\n      *puVar29 = (char)psVar25->st_dev;\n      psVar25 = (stat64 *)((int)psVar25 + (uint)bVar32 * -2 + 1);\n      puVar29 = puVar29 + (uint)bVar32 * -2 + 1;\n    }\n    if (0 < (int)local_908) {\n      sg_get_category_sense_str(local_908,0x50,puVar43,psVar18);\n    }\n    pr2serr("%s: %s\n",local_790,puVar43,psVar25);\n  }" ({ "{") (expression_statement "puVar43 = local_174 + 0x50;" (assignment_expression "puVar43 = local_174 + 0x50" (identifier "puVar43") (= "=") (binary_expression "local_174 + 0x50" (identifier "local_174") (+ "+") (number_literal "0x50"))) (; ";")) (expression_statement "psVar25 = (stat64 *)"OS error";" (assignment_expression "psVar25 = (stat64 *)"OS error"" (identifier "psVar25") (= "=") (cast_expression "(stat64 *)"OS error"" (( "(") (type_descriptor "stat64 *" (type_identifier "stat64") (abstract_pointer_declarator "*" (* "*"))) () ")") (string_literal ""OS error"" (" """) (string_content "OS error") (" """)))) (; ";")) (expression_statement "puVar29 = puVar43;" (assignment_expression "puVar29 = puVar43" (identifier "puVar29") (= "=") (identifier "puVar43")) (; ";")) (for_statement "for (iVar14 = 9; iVar14 != 0; iVar14 = iVar14 + -1) {\n      *puVar29 = (char)psVar25->st_dev;\n      psVar25 = (stat64 *)((int)psVar25 + (uint)bVar32 * -2 + 1);\n      puVar29 = puVar29 + (uint)bVar32 * -2 + 1;\n    }" (for "for") (( "(") (assignment_expression "iVar14 = 9" (identifier "iVar14") (= "=") (number_literal "9")) (; ";") (binary_expression "iVar14 != 0" (identifier "iVar14") (!= "!=") (number_literal "0")) (; ";") (assignment_expression "iVar14 = iVar14 + -1" (identifier "iVar14") (= "=") (binary_expression "iVar14 + -1" (identifier "iVar14") (+ "+") (number_literal "-1"))) () ")") (compound_statement "{\n      *puVar29 = (char)psVar25->st_dev;\n      psVar25 = (stat64 *)((int)psVar25 + (uint)bVar32 * -2 + 1);\n      puVar29 = puVar29 + (uint)bVar32 * -2 + 1;\n    }" ({ "{") (expression_statement "*puVar29 = (char)psVar25->st_dev;" (assignment_expression "*puVar29 = (char)psVar25->st_dev" (pointer_expression "*puVar29" (* "*") (identifier "puVar29")) (= "=") (cast_expression "(char)psVar25->st_dev" (( "(") (type_descriptor "char" (primitive_type "char")) () ")") (field_expression "psVar25->st_dev" (identifier "psVar25") (-> "->") (field_identifier "st_dev")))) (; ";")) (expression_statement "psVar25 = (stat64 *)((int)psVar25 + (uint)bVar32 * -2 + 1);" (assignment_expression "psVar25 = (stat64 *)((int)psVar25 + (uint)bVar32 * -2 + 1)" (identifier "psVar25") (= "=") (cast_expression "(stat64 *)((int)psVar25 + (uint)bVar32 * -2 + 1)" (( "(") (type_descriptor "stat64 *" (type_identifier "stat64") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)psVar25 + (uint)bVar32 * -2 + 1)" (( "(") (binary_expression "(int)psVar25 + (uint)bVar32 * -2 + 1" (binary_expression "(int)psVar25 + (uint)bVar32 * -2" (cast_expression "(int)psVar25" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "psVar25")) (+ "+") (binary_expression "(uint)bVar32 * -2" (cast_expression "(uint)bVar32" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "bVar32")) (* "*") (number_literal "-2"))) (+ "+") (number_literal "1")) () ")")))) (; ";")) (expression_statement "puVar29 = puVar29 + (uint)bVar32 * -2 + 1;" (assignment_expression "puVar29 = puVar29 + (uint)bVar32 * -2 + 1" (identifier "puVar29") (= "=") (binary_expression "puVar29 + (uint)bVar32 * -2 + 1" (binary_expression "puVar29 + (uint)bVar32 * -2" (identifier "puVar29") (+ "+") (binary_expression "(uint)bVar32 * -2" (cast_expression "(uint)bVar32" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "bVar32")) (* "*") (number_literal "-2"))) (+ "+") (number_literal "1"))) (; ";")) (} "}"))) (if_statement "if (0 < (int)local_908) {\n      sg_get_category_sense_str(local_908,0x50,puVar43,psVar18);\n    }" (if "if") (parenthesized_expression "(0 < (int)local_908)" (( "(") (binary_expression "0 < (int)local_908" (number_literal "0") (< "<") (cast_expression "(int)local_908" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_908"))) () ")")) (compound_statement "{\n      sg_get_category_sense_str(local_908,0x50,puVar43,psVar18);\n    }" ({ "{") (expression_statement "sg_get_category_sense_str(local_908,0x50,puVar43,psVar18);" (call_expression "sg_get_category_sense_str(local_908,0x50,puVar43,psVar18)" (identifier "sg_get_category_sense_str") (argument_list "(local_908,0x50,puVar43,psVar18)" (( "(") (identifier "local_908") (, ",") (number_literal "0x50") (, ",") (identifier "puVar43") (, ",") (identifier "psVar18") () ")"))) (; ";")) (} "}"))) (expression_statement "pr2serr("%s: %s\n",local_790,puVar43,psVar25);" (call_expression "pr2serr("%s: %s\n",local_790,puVar43,psVar25)" (identifier "pr2serr") (argument_list "("%s: %s\n",local_790,puVar43,psVar25)" (( "(") (string_literal ""%s: %s\n"" (" """) (string_content "%s: %s") (escape_sequence "\n") (" """)) (, ",") (identifier "local_790") (, ",") (identifier "puVar43") (, ",") (identifier "psVar25") () ")"))) (; ";")) (} "}"))) (labeled_statement "LAB_000133fd:\n  if (local_8e8 == (void *)0x0) goto LAB_00012354;" (statement_identifier "LAB_000133fd") (: ":") (if_statement "if (local_8e8 == (void *)0x0) goto LAB_00012354;" (if "if") (parenthesized_expression "(local_8e8 == (void *)0x0)" (( "(") (binary_expression "local_8e8 == (void *)0x0" (identifier "local_8e8") (== "==") (cast_expression "(void *)0x0" (( "(") (type_descriptor "void *" (primitive_type "void") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (goto_statement "goto LAB_00012354;" (goto "goto") (statement_identifier "LAB_00012354") (; ";")))) (expression_statement "free(local_8e8);" (call_expression "free(local_8e8)" (identifier "free") (argument_list "(local_8e8)" (( "(") (identifier "local_8e8") () ")"))) (; ";")) (goto_statement "goto LAB_00012354;" (goto "goto") (statement_identifier "LAB_00012354") (; ";")) (labeled_statement "code_r0x000115f1:\n  uVar33 = sg_get_llnum(*(undefined4 *)PTR_optarg_0001dffc);" (statement_identifier "code_r0x000115f1") (: ":") (expression_statement "uVar33 = sg_get_llnum(*(undefined4 *)PTR_optarg_0001dffc);" (assignment_expression "uVar33 = sg_get_llnum(*(undefined4 *)PTR_optarg_0001dffc)" (identifier "uVar33") (= "=") (call_expression "sg_get_llnum(*(undefined4 *)PTR_optarg_0001dffc)" (identifier "sg_get_llnum") (argument_list "(*(undefined4 *)PTR_optarg_0001dffc)" (( "(") (pointer_expression "*(undefined4 *)PTR_optarg_0001dffc" (* "*") (cast_expression "(undefined4 *)PTR_optarg_0001dffc" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_optarg_0001dffc"))) () ")")))) (; ";"))) (expression_statement "psVar38 = local_7d0;" (assignment_expression "psVar38 = local_7d0" (identifier "psVar38") (= "=") (identifier "local_7d0")) (; ";")) (expression_statement "uVar16 = uStack_7c4;" (assignment_expression "uVar16 = uStack_7c4" (identifier "uVar16") (= "=") (identifier "uStack_7c4")) (; ";")) (expression_statement "uVar7 = (uint)uVar33;" (assignment_expression "uVar7 = (uint)uVar33" (identifier "uVar7") (= "=") (cast_expression "(uint)uVar33" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "uVar33"))) (; ";")) (if_statement "if ((int)((ulonglong)uVar33 >> 0x20) != 0) goto code_r0x00012b94;" (if "if") (parenthesized_expression "((int)((ulonglong)uVar33 >> 0x20) != 0)" (( "(") (binary_expression "(int)((ulonglong)uVar33 >> 0x20) != 0" (cast_expression "(int)((ulonglong)uVar33 >> 0x20)" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (parenthesized_expression "((ulonglong)uVar33 >> 0x20)" (( "(") (binary_expression "(ulonglong)uVar33 >> 0x20" (cast_expression "(ulonglong)uVar33" (( "(") (type_descriptor "ulonglong" (type_identifier "ulonglong")) () ")") (identifier "uVar33")) (>> ">>") (number_literal "0x20")) () ")"))) (!= "!=") (number_literal "0")) () ")")) (goto_statement "goto code_r0x00012b94;" (goto "goto") (statement_identifier "code_r0x00012b94") (; ";"))) (goto_statement "goto code_r0x000114e8;" (goto "goto") (statement_identifier "code_r0x000114e8") (; ";")) (labeled_statement "code_r0x00012b94:\n  pr2serr("bad argument to \'--ref-tag=\'. Expect 0 to 0xffffffff inclusive\n");" (statement_identifier "code_r0x00012b94") (: ":") (expression_statement "pr2serr("bad argument to \'--ref-tag=\'. Expect 0 to 0xffffffff inclusive\n");" (call_expression "pr2serr("bad argument to \'--ref-tag=\'. Expect 0 to 0xffffffff inclusive\n")" (identifier "pr2serr") (argument_list "("bad argument to \'--ref-tag=\'. Expect 0 to 0xffffffff inclusive\n")" (( "(") (string_literal ""bad argument to \'--ref-tag=\'. Expect 0 to 0xffffffff inclusive\n"" (" """) (string_content "bad argument to ") (escape_sequence "\'") (string_content "--ref-tag=") (escape_sequence "\'") (string_content ". Expect 0 to 0xffffffff inclusive") (escape_sequence "\n") (" """)) () ")"))) (; ";"))) (labeled_statement "LAB_00011a7a:\n  local_908 = (stat64 *)0x1;" (statement_identifier "LAB_00011a7a") (: ":") (expression_statement "local_908 = (stat64 *)0x1;" (assignment_expression "local_908 = (stat64 *)0x1" (identifier "local_908") (= "=") (cast_expression "(stat64 *)0x1" (( "(") (type_descriptor "stat64 *" (type_identifier "stat64") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x1"))) (; ";"))) (labeled_statement "LAB_00011a84:\n  do {\n    psVar25 = (stat64 *)(local_24 ^ *(uint *)(in_GS_OFFSET + 0x14));\n    if (psVar25 == (stat64 *)0x0) {\n      return (int)local_908;\n    }\n    FUN_000162b0();\nLAB_00013b9f:\n    pr2serr("build_lba_arr: array length exceeded\n");\nLAB_00012130:\n    pr2serr("bad argument to \'--lba\'\n");\n    local_908 = (stat64 *)0x1;\nLAB_00012354:\n    if (local_8f0 != (void *)0x0) {\n      free(local_8f0);\n    }\n    iVar14 = sg_cmds_close_device(local_930);\n    if (iVar14 < 0) {\n      if (local_81a == '\0') {\n        uVar16 = safe_strerror(-iVar14);\n        pr2serr("sg_fd close error: %s\n",uVar16);\n      }\n      if (local_908 == (stat64 *)0x0) {\n        local_908 = (stat64 *)0xf;\n      }\n    }\n    if ((-1 < (int)local_920) && (iVar14 = close((int)local_920), iVar14 < 0)) {\n      if (local_81a == '\0') {\n        perror("sfr_fd close error");\n      }\n      if (local_908 == (stat64 *)0x0) {\n        local_908 = (stat64 *)0xf;\n      }\n    }\nLAB_000123a1:\n    if (((cVar2 == '\x01') || ((int)local_924 < 0)) ||\n       (pcVar15 = (char *)close((int)local_924), -1 < (int)pcVar15)) {\nLAB_000123cc:\n      if (((local_7f0 == (stat64 *)0x0) && (local_81a == '\0')) &&\n         (cVar6 = sg_if_can2stderr("sg_write_x failed: ",local_908,psVar25,psVar25), cVar6 == '\0'))\n      goto LAB_0001260b;\n      goto LAB_000123e2;\n    }\n    if (local_81a == '\0') {\n      pcVar15 = "infd close error";\n      perror("infd close error");\n    }\n    if (local_908 != (stat64 *)0x0) goto LAB_000123cc;\n    local_908 = (stat64 *)0xf;\n    if (((local_7f0 == (stat64 *)0x0) && (local_81a == '\0')) &&\n       (cVar6 = sg_if_can2stderr("sg_write_x failed: ",0xf,pcVar15,pcVar15), cVar6 == '\0')) {\nLAB_0001260b:\n      pr2serr("Some error occurred, try again with \'-v\' or \'-vv\' for more information\n");\nLAB_000123e2:\n      if ((int)local_908 < 0) {\n        local_908 = (stat64 *)0x63;\n      }\n    }\n  } while( true );" (statement_identifier "LAB_00011a84") (: ":") (do_statement "do {\n    psVar25 = (stat64 *)(local_24 ^ *(uint *)(in_GS_OFFSET + 0x14));\n    if (psVar25 == (stat64 *)0x0) {\n      return (int)local_908;\n    }\n    FUN_000162b0();\nLAB_00013b9f:\n    pr2serr("build_lba_arr: array length exceeded\n");\nLAB_00012130:\n    pr2serr("bad argument to \'--lba\'\n");\n    local_908 = (stat64 *)0x1;\nLAB_00012354:\n    if (local_8f0 != (void *)0x0) {\n      free(local_8f0);\n    }\n    iVar14 = sg_cmds_close_device(local_930);\n    if (iVar14 < 0) {\n      if (local_81a == '\0') {\n        uVar16 = safe_strerror(-iVar14);\n        pr2serr("sg_fd close error: %s\n",uVar16);\n      }\n      if (local_908 == (stat64 *)0x0) {\n        local_908 = (stat64 *)0xf;\n      }\n    }\n    if ((-1 < (int)local_920) && (iVar14 = close((int)local_920), iVar14 < 0)) {\n      if (local_81a == '\0') {\n        perror("sfr_fd close error");\n      }\n      if (local_908 == (stat64 *)0x0) {\n        local_908 = (stat64 *)0xf;\n      }\n    }\nLAB_000123a1:\n    if (((cVar2 == '\x01') || ((int)local_924 < 0)) ||\n       (pcVar15 = (char *)close((int)local_924), -1 < (int)pcVar15)) {\nLAB_000123cc:\n      if (((local_7f0 == (stat64 *)0x0) && (local_81a == '\0')) &&\n         (cVar6 = sg_if_can2stderr("sg_write_x failed: ",local_908,psVar25,psVar25), cVar6 == '\0'))\n      goto LAB_0001260b;\n      goto LAB_000123e2;\n    }\n    if (local_81a == '\0') {\n      pcVar15 = "infd close error";\n      perror("infd close error");\n    }\n    if (local_908 != (stat64 *)0x0) goto LAB_000123cc;\n    local_908 = (stat64 *)0xf;\n    if (((local_7f0 == (stat64 *)0x0) && (local_81a == '\0')) &&\n       (cVar6 = sg_if_can2stderr("sg_write_x failed: ",0xf,pcVar15,pcVar15), cVar6 == '\0')) {\nLAB_0001260b:\n      pr2serr("Some error occurred, try again with \'-v\' or \'-vv\' for more information\n");\nLAB_000123e2:\n      if ((int)local_908 < 0) {\n        local_908 = (stat64 *)0x63;\n      }\n    }\n  } while( true );" (do "do") (compound_statement "{\n    psVar25 = (stat64 *)(local_24 ^ *(uint *)(in_GS_OFFSET + 0x14));\n    if (psVar25 == (stat64 *)0x0) {\n      return (int)local_908;\n    }\n    FUN_000162b0();\nLAB_00013b9f:\n    pr2serr("build_lba_arr: array length exceeded\n");\nLAB_00012130:\n    pr2serr("bad argument to \'--lba\'\n");\n    local_908 = (stat64 *)0x1;\nLAB_00012354:\n    if (local_8f0 != (void *)0x0) {\n      free(local_8f0);\n    }\n    iVar14 = sg_cmds_close_device(local_930);\n    if (iVar14 < 0) {\n      if (local_81a == '\0') {\n        uVar16 = safe_strerror(-iVar14);\n        pr2serr("sg_fd close error: %s\n",uVar16);\n      }\n      if (local_908 == (stat64 *)0x0) {\n        local_908 = (stat64 *)0xf;\n      }\n    }\n    if ((-1 < (int)local_920) && (iVar14 = close((int)local_920), iVar14 < 0)) {\n      if (local_81a == '\0') {\n        perror("sfr_fd close error");\n      }\n      if (local_908 == (stat64 *)0x0) {\n        local_908 = (stat64 *)0xf;\n      }\n    }\nLAB_000123a1:\n    if (((cVar2 == '\x01') || ((int)local_924 < 0)) ||\n       (pcVar15 = (char *)close((int)local_924), -1 < (int)pcVar15)) {\nLAB_000123cc:\n      if (((local_7f0 == (stat64 *)0x0) && (local_81a == '\0')) &&\n         (cVar6 = sg_if_can2stderr("sg_write_x failed: ",local_908,psVar25,psVar25), cVar6 == '\0'))\n      goto LAB_0001260b;\n      goto LAB_000123e2;\n    }\n    if (local_81a == '\0') {\n      pcVar15 = "infd close error";\n      perror("infd close error");\n    }\n    if (local_908 != (stat64 *)0x0) goto LAB_000123cc;\n    local_908 = (stat64 *)0xf;\n    if (((local_7f0 == (stat64 *)0x0) && (local_81a == '\0')) &&\n       (cVar6 = sg_if_can2stderr("sg_write_x failed: ",0xf,pcVar15,pcVar15), cVar6 == '\0')) {\nLAB_0001260b:\n      pr2serr("Some error occurred, try again with \'-v\' or \'-vv\' for more information\n");\nLAB_000123e2:\n      if ((int)local_908 < 0) {\n        local_908 = (stat64 *)0x63;\n      }\n    }\n  }" ({ "{") (expression_statement "psVar25 = (stat64 *)(local_24 ^ *(uint *)(in_GS_OFFSET + 0x14));" (assignment_expression "psVar25 = (stat64 *)(local_24 ^ *(uint *)(in_GS_OFFSET + 0x14))" (identifier "psVar25") (= "=") (cast_expression "(stat64 *)(local_24 ^ *(uint *)(in_GS_OFFSET + 0x14))" (( "(") (type_descriptor "stat64 *" (type_identifier "stat64") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(local_24 ^ *(uint *)(in_GS_OFFSET + 0x14))" (( "(") (binary_expression "local_24 ^ *(uint *)(in_GS_OFFSET + 0x14)" (identifier "local_24") (^ "^") (pointer_expression "*(uint *)(in_GS_OFFSET + 0x14)" (* "*") (cast_expression "(uint *)(in_GS_OFFSET + 0x14)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(in_GS_OFFSET + 0x14)" (( "(") (binary_expression "in_GS_OFFSET + 0x14" (identifier "in_GS_OFFSET") (+ "+") (number_literal "0x14")) () ")"))))) () ")")))) (; ";")) (if_statement "if (psVar25 == (stat64 *)0x0) {\n      return (int)local_908;\n    }" (if "if") (parenthesized_expression "(psVar25 == (stat64 *)0x0)" (( "(") (binary_expression "psVar25 == (stat64 *)0x0" (identifier "psVar25") (== "==") (cast_expression "(stat64 *)0x0" (( "(") (type_descriptor "stat64 *" (type_identifier "stat64") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n      return (int)local_908;\n    }" ({ "{") (return_statement "return (int)local_908;" (return "return") (cast_expression "(int)local_908" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_908")) (; ";")) (} "}"))) (expression_statement "FUN_000162b0();" (call_expression "FUN_000162b0()" (identifier "FUN_000162b0") (argument_list "()" (( "(") () ")"))) (; ";")) (labeled_statement "LAB_00013b9f:\n    pr2serr("build_lba_arr: array length exceeded\n");" (statement_identifier "LAB_00013b9f") (: ":") (expression_statement "pr2serr("build_lba_arr: array length exceeded\n");" (call_expression "pr2serr("build_lba_arr: array length exceeded\n")" (identifier "pr2serr") (argument_list "("build_lba_arr: array length exceeded\n")" (( "(") (string_literal ""build_lba_arr: array length exceeded\n"" (" """) (string_content "build_lba_arr: array length exceeded") (escape_sequence "\n") (" """)) () ")"))) (; ";"))) (labeled_statement "LAB_00012130:\n    pr2serr("bad argument to \'--lba\'\n");" (statement_identifier "LAB_00012130") (: ":") (expression_statement "pr2serr("bad argument to \'--lba\'\n");" (call_expression "pr2serr("bad argument to \'--lba\'\n")" (identifier "pr2serr") (argument_list "("bad argument to \'--lba\'\n")" (( "(") (string_literal ""bad argument to \'--lba\'\n"" (" """) (string_content "bad argument to ") (escape_sequence "\'") (string_content "--lba") (escape_sequence "\'") (escape_sequence "\n") (" """)) () ")"))) (; ";"))) (expression_statement "local_908 = (stat64 *)0x1;" (assignment_expression "local_908 = (stat64 *)0x1" (identifier "local_908") (= "=") (cast_expression "(stat64 *)0x1" (( "(") (type_descriptor "stat64 *" (type_identifier "stat64") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x1"))) (; ";")) (labeled_statement "LAB_00012354:\n    if (local_8f0 != (void *)0x0) {\n      free(local_8f0);\n    }" (statement_identifier "LAB_00012354") (: ":") (if_statement "if (local_8f0 != (void *)0x0) {\n      free(local_8f0);\n    }" (if "if") (parenthesized_expression "(local_8f0 != (void *)0x0)" (( "(") (binary_expression "local_8f0 != (void *)0x0" (identifier "local_8f0") (!= "!=") (cast_expression "(void *)0x0" (( "(") (type_descriptor "void *" (primitive_type "void") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n      free(local_8f0);\n    }" ({ "{") (expression_statement "free(local_8f0);" (call_expression "free(local_8f0)" (identifier "free") (argument_list "(local_8f0)" (( "(") (identifier "local_8f0") () ")"))) (; ";")) (} "}")))) (expression_statement "iVar14 = sg_cmds_close_device(local_930);" (assignment_expression "iVar14 = sg_cmds_close_device(local_930)" (identifier "iVar14") (= "=") (call_expression "sg_cmds_close_device(local_930)" (identifier "sg_cmds_close_device") (argument_list "(local_930)" (( "(") (identifier "local_930") () ")")))) (; ";")) (if_statement "if (iVar14 < 0) {\n      if (local_81a == '\0') {\n        uVar16 = safe_strerror(-iVar14);\n        pr2serr("sg_fd close error: %s\n",uVar16);\n      }\n      if (local_908 == (stat64 *)0x0) {\n        local_908 = (stat64 *)0xf;\n      }\n    }" (if "if") (parenthesized_expression "(iVar14 < 0)" (( "(") (binary_expression "iVar14 < 0" (identifier "iVar14") (< "<") (number_literal "0")) () ")")) (compound_statement "{\n      if (local_81a == '\0') {\n        uVar16 = safe_strerror(-iVar14);\n        pr2serr("sg_fd close error: %s\n",uVar16);\n      }\n      if (local_908 == (stat64 *)0x0) {\n        local_908 = (stat64 *)0xf;\n      }\n    }" ({ "{") (if_statement "if (local_81a == '\0') {\n        uVar16 = safe_strerror(-iVar14);\n        pr2serr("sg_fd close error: %s\n",uVar16);\n      }" (if "if") (parenthesized_expression "(local_81a == '\0')" (( "(") (binary_expression "local_81a == '\0'" (identifier "local_81a") (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n        uVar16 = safe_strerror(-iVar14);\n        pr2serr("sg_fd close error: %s\n",uVar16);\n      }" ({ "{") (expression_statement "uVar16 = safe_strerror(-iVar14);" (assignment_expression "uVar16 = safe_strerror(-iVar14)" (identifier "uVar16") (= "=") (call_expression "safe_strerror(-iVar14)" (identifier "safe_strerror") (argument_list "(-iVar14)" (( "(") (unary_expression "-iVar14" (- "-") (identifier "iVar14")) () ")")))) (; ";")) (expression_statement "pr2serr("sg_fd close error: %s\n",uVar16);" (call_expression "pr2serr("sg_fd close error: %s\n",uVar16)" (identifier "pr2serr") (argument_list "("sg_fd close error: %s\n",uVar16)" (( "(") (string_literal ""sg_fd close error: %s\n"" (" """) (string_content "sg_fd close error: %s") (escape_sequence "\n") (" """)) (, ",") (identifier "uVar16") () ")"))) (; ";")) (} "}"))) (if_statement "if (local_908 == (stat64 *)0x0) {\n        local_908 = (stat64 *)0xf;\n      }" (if "if") (parenthesized_expression "(local_908 == (stat64 *)0x0)" (( "(") (binary_expression "local_908 == (stat64 *)0x0" (identifier "local_908") (== "==") (cast_expression "(stat64 *)0x0" (( "(") (type_descriptor "stat64 *" (type_identifier "stat64") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n        local_908 = (stat64 *)0xf;\n      }" ({ "{") (expression_statement "local_908 = (stat64 *)0xf;" (assignment_expression "local_908 = (stat64 *)0xf" (identifier "local_908") (= "=") (cast_expression "(stat64 *)0xf" (( "(") (type_descriptor "stat64 *" (type_identifier "stat64") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0xf"))) (; ";")) (} "}"))) (} "}"))) (if_statement "if ((-1 < (int)local_920) && (iVar14 = close((int)local_920), iVar14 < 0)) {\n      if (local_81a == '\0') {\n        perror("sfr_fd close error");\n      }\n      if (local_908 == (stat64 *)0x0) {\n        local_908 = (stat64 *)0xf;\n      }\n    }" (if "if") (parenthesized_expression "((-1 < (int)local_920) && (iVar14 = close((int)local_920), iVar14 < 0))" (( "(") (binary_expression "(-1 < (int)local_920) && (iVar14 = close((int)local_920), iVar14 < 0)" (parenthesized_expression "(-1 < (int)local_920)" (( "(") (binary_expression "-1 < (int)local_920" (number_literal "-1") (< "<") (cast_expression "(int)local_920" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_920"))) () ")")) (&& "&&") (parenthesized_expression "(iVar14 = close((int)local_920), iVar14 < 0)" (( "(") (comma_expression "iVar14 = close((int)local_920), iVar14 < 0" (assignment_expression "iVar14 = close((int)local_920)" (identifier "iVar14") (= "=") (call_expression "close((int)local_920)" (identifier "close") (argument_list "((int)local_920)" (( "(") (cast_expression "(int)local_920" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_920")) () ")")))) (, ",") (binary_expression "iVar14 < 0" (identifier "iVar14") (< "<") (number_literal "0"))) () ")"))) () ")")) (compound_statement "{\n      if (local_81a == '\0') {\n        perror("sfr_fd close error");\n      }\n      if (local_908 == (stat64 *)0x0) {\n        local_908 = (stat64 *)0xf;\n      }\n    }" ({ "{") (if_statement "if (local_81a == '\0') {\n        perror("sfr_fd close error");\n      }" (if "if") (parenthesized_expression "(local_81a == '\0')" (( "(") (binary_expression "local_81a == '\0'" (identifier "local_81a") (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n        perror("sfr_fd close error");\n      }" ({ "{") (expression_statement "perror("sfr_fd close error");" (call_expression "perror("sfr_fd close error")" (identifier "perror") (argument_list "("sfr_fd close error")" (( "(") (string_literal ""sfr_fd close error"" (" """) (string_content "sfr_fd close error") (" """)) () ")"))) (; ";")) (} "}"))) (if_statement "if (local_908 == (stat64 *)0x0) {\n        local_908 = (stat64 *)0xf;\n      }" (if "if") (parenthesized_expression "(local_908 == (stat64 *)0x0)" (( "(") (binary_expression "local_908 == (stat64 *)0x0" (identifier "local_908") (== "==") (cast_expression "(stat64 *)0x0" (( "(") (type_descriptor "stat64 *" (type_identifier "stat64") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n        local_908 = (stat64 *)0xf;\n      }" ({ "{") (expression_statement "local_908 = (stat64 *)0xf;" (assignment_expression "local_908 = (stat64 *)0xf" (identifier "local_908") (= "=") (cast_expression "(stat64 *)0xf" (( "(") (type_descriptor "stat64 *" (type_identifier "stat64") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0xf"))) (; ";")) (} "}"))) (} "}"))) (labeled_statement "LAB_000123a1:\n    if (((cVar2 == '\x01') || ((int)local_924 < 0)) ||\n       (pcVar15 = (char *)close((int)local_924), -1 < (int)pcVar15)) {\nLAB_000123cc:\n      if (((local_7f0 == (stat64 *)0x0) && (local_81a == '\0')) &&\n         (cVar6 = sg_if_can2stderr("sg_write_x failed: ",local_908,psVar25,psVar25), cVar6 == '\0'))\n      goto LAB_0001260b;\n      goto LAB_000123e2;\n    }" (statement_identifier "LAB_000123a1") (: ":") (if_statement "if (((cVar2 == '\x01') || ((int)local_924 < 0)) ||\n       (pcVar15 = (char *)close((int)local_924), -1 < (int)pcVar15)) {\nLAB_000123cc:\n      if (((local_7f0 == (stat64 *)0x0) && (local_81a == '\0')) &&\n         (cVar6 = sg_if_can2stderr("sg_write_x failed: ",local_908,psVar25,psVar25), cVar6 == '\0'))\n      goto LAB_0001260b;\n      goto LAB_000123e2;\n    }" (if "if") (parenthesized_expression "(((cVar2 == '\x01') || ((int)local_924 < 0)) ||\n       (pcVar15 = (char *)close((int)local_924), -1 < (int)pcVar15))" (( "(") (binary_expression "((cVar2 == '\x01') || ((int)local_924 < 0)) ||\n       (pcVar15 = (char *)close((int)local_924), -1 < (int)pcVar15)" (parenthesized_expression "((cVar2 == '\x01') || ((int)local_924 < 0))" (( "(") (binary_expression "(cVar2 == '\x01') || ((int)local_924 < 0)" (parenthesized_expression "(cVar2 == '\x01')" (( "(") (binary_expression "cVar2 == '\x01'" (identifier "cVar2") (== "==") (char_literal "'\x01'" (' "'") (escape_sequence "\x01") (' "'"))) () ")")) (|| "||") (parenthesized_expression "((int)local_924 < 0)" (( "(") (binary_expression "(int)local_924 < 0" (cast_expression "(int)local_924" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_924")) (< "<") (number_literal "0")) () ")"))) () ")")) (|| "||") (parenthesized_expression "(pcVar15 = (char *)close((int)local_924), -1 < (int)pcVar15)" (( "(") (comma_expression "pcVar15 = (char *)close((int)local_924), -1 < (int)pcVar15" (assignment_expression "pcVar15 = (char *)close((int)local_924)" (identifier "pcVar15") (= "=") (cast_expression "(char *)close((int)local_924)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "close((int)local_924)" (identifier "close") (argument_list "((int)local_924)" (( "(") (cast_expression "(int)local_924" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_924")) () ")"))))) (, ",") (binary_expression "-1 < (int)pcVar15" (number_literal "-1") (< "<") (cast_expression "(int)pcVar15" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pcVar15")))) () ")"))) () ")")) (compound_statement "{\nLAB_000123cc:\n      if (((local_7f0 == (stat64 *)0x0) && (local_81a == '\0')) &&\n         (cVar6 = sg_if_can2stderr("sg_write_x failed: ",local_908,psVar25,psVar25), cVar6 == '\0'))\n      goto LAB_0001260b;\n      goto LAB_000123e2;\n    }" ({ "{") (labeled_statement "LAB_000123cc:\n      if (((local_7f0 == (stat64 *)0x0) && (local_81a == '\0')) &&\n         (cVar6 = sg_if_can2stderr("sg_write_x failed: ",local_908,psVar25,psVar25), cVar6 == '\0'))\n      goto LAB_0001260b;" (statement_identifier "LAB_000123cc") (: ":") (if_statement "if (((local_7f0 == (stat64 *)0x0) && (local_81a == '\0')) &&\n         (cVar6 = sg_if_can2stderr("sg_write_x failed: ",local_908,psVar25,psVar25), cVar6 == '\0'))\n      goto LAB_0001260b;" (if "if") (parenthesized_expression "(((local_7f0 == (stat64 *)0x0) && (local_81a == '\0')) &&\n         (cVar6 = sg_if_can2stderr("sg_write_x failed: ",local_908,psVar25,psVar25), cVar6 == '\0'))" (( "(") (binary_expression "((local_7f0 == (stat64 *)0x0) && (local_81a == '\0')) &&\n         (cVar6 = sg_if_can2stderr("sg_write_x failed: ",local_908,psVar25,psVar25), cVar6 == '\0')" (parenthesized_expression "((local_7f0 == (stat64 *)0x0) && (local_81a == '\0'))" (( "(") (binary_expression "(local_7f0 == (stat64 *)0x0) && (local_81a == '\0')" (parenthesized_expression "(local_7f0 == (stat64 *)0x0)" (( "(") (binary_expression "local_7f0 == (stat64 *)0x0" (identifier "local_7f0") (== "==") (cast_expression "(stat64 *)0x0" (( "(") (type_descriptor "stat64 *" (type_identifier "stat64") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (&& "&&") (parenthesized_expression "(local_81a == '\0')" (( "(") (binary_expression "local_81a == '\0'" (identifier "local_81a") (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")"))) () ")")) (&& "&&") (parenthesized_expression "(cVar6 = sg_if_can2stderr("sg_write_x failed: ",local_908,psVar25,psVar25), cVar6 == '\0')" (( "(") (comma_expression "cVar6 = sg_if_can2stderr("sg_write_x failed: ",local_908,psVar25,psVar25), cVar6 == '\0'" (assignment_expression "cVar6 = sg_if_can2stderr("sg_write_x failed: ",local_908,psVar25,psVar25)" (identifier "cVar6") (= "=") (call_expression "sg_if_can2stderr("sg_write_x failed: ",local_908,psVar25,psVar25)" (identifier "sg_if_can2stderr") (argument_list "("sg_write_x failed: ",local_908,psVar25,psVar25)" (( "(") (string_literal ""sg_write_x failed: "" (" """) (string_content "sg_write_x failed: ") (" """)) (, ",") (identifier "local_908") (, ",") (identifier "psVar25") (, ",") (identifier "psVar25") () ")")))) (, ",") (binary_expression "cVar6 == '\0'" (identifier "cVar6") (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'")))) () ")"))) () ")")) (goto_statement "goto LAB_0001260b;" (goto "goto") (statement_identifier "LAB_0001260b") (; ";")))) (goto_statement "goto LAB_000123e2;" (goto "goto") (statement_identifier "LAB_000123e2") (; ";")) (} "}")))) (if_statement "if (local_81a == '\0') {\n      pcVar15 = "infd close error";\n      perror("infd close error");\n    }" (if "if") (parenthesized_expression "(local_81a == '\0')" (( "(") (binary_expression "local_81a == '\0'" (identifier "local_81a") (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n      pcVar15 = "infd close error";\n      perror("infd close error");\n    }" ({ "{") (expression_statement "pcVar15 = "infd close error";" (assignment_expression "pcVar15 = "infd close error"" (identifier "pcVar15") (= "=") (string_literal ""infd close error"" (" """) (string_content "infd close error") (" """))) (; ";")) (expression_statement "perror("infd close error");" (call_expression "perror("infd close error")" (identifier "perror") (argument_list "("infd close error")" (( "(") (string_literal ""infd close error"" (" """) (string_content "infd close error") (" """)) () ")"))) (; ";")) (} "}"))) (if_statement "if (local_908 != (stat64 *)0x0) goto LAB_000123cc;" (if "if") (parenthesized_expression "(local_908 != (stat64 *)0x0)" (( "(") (binary_expression "local_908 != (stat64 *)0x0" (identifier "local_908") (!= "!=") (cast_expression "(stat64 *)0x0" (( "(") (type_descriptor "stat64 *" (type_identifier "stat64") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (goto_statement "goto LAB_000123cc;" (goto "goto") (statement_identifier "LAB_000123cc") (; ";"))) (expression_statement "local_908 = (stat64 *)0xf;" (assignment_expression "local_908 = (stat64 *)0xf" (identifier "local_908") (= "=") (cast_expression "(stat64 *)0xf" (( "(") (type_descriptor "stat64 *" (type_identifier "stat64") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0xf"))) (; ";")) (if_statement "if (((local_7f0 == (stat64 *)0x0) && (local_81a == '\0')) &&\n       (cVar6 = sg_if_can2stderr("sg_write_x failed: ",0xf,pcVar15,pcVar15), cVar6 == '\0')) {\nLAB_0001260b:\n      pr2serr("Some error occurred, try again with \'-v\' or \'-vv\' for more information\n");\nLAB_000123e2:\n      if ((int)local_908 < 0) {\n        local_908 = (stat64 *)0x63;\n      }\n    }" (if "if") (parenthesized_expression "(((local_7f0 == (stat64 *)0x0) && (local_81a == '\0')) &&\n       (cVar6 = sg_if_can2stderr("sg_write_x failed: ",0xf,pcVar15,pcVar15), cVar6 == '\0'))" (( "(") (binary_expression "((local_7f0 == (stat64 *)0x0) && (local_81a == '\0')) &&\n       (cVar6 = sg_if_can2stderr("sg_write_x failed: ",0xf,pcVar15,pcVar15), cVar6 == '\0')" (parenthesized_expression "((local_7f0 == (stat64 *)0x0) && (local_81a == '\0'))" (( "(") (binary_expression "(local_7f0 == (stat64 *)0x0) && (local_81a == '\0')" (parenthesized_expression "(local_7f0 == (stat64 *)0x0)" (( "(") (binary_expression "local_7f0 == (stat64 *)0x0" (identifier "local_7f0") (== "==") (cast_expression "(stat64 *)0x0" (( "(") (type_descriptor "stat64 *" (type_identifier "stat64") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (&& "&&") (parenthesized_expression "(local_81a == '\0')" (( "(") (binary_expression "local_81a == '\0'" (identifier "local_81a") (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")"))) () ")")) (&& "&&") (parenthesized_expression "(cVar6 = sg_if_can2stderr("sg_write_x failed: ",0xf,pcVar15,pcVar15), cVar6 == '\0')" (( "(") (comma_expression "cVar6 = sg_if_can2stderr("sg_write_x failed: ",0xf,pcVar15,pcVar15), cVar6 == '\0'" (assignment_expression "cVar6 = sg_if_can2stderr("sg_write_x failed: ",0xf,pcVar15,pcVar15)" (identifier "cVar6") (= "=") (call_expression "sg_if_can2stderr("sg_write_x failed: ",0xf,pcVar15,pcVar15)" (identifier "sg_if_can2stderr") (argument_list "("sg_write_x failed: ",0xf,pcVar15,pcVar15)" (( "(") (string_literal ""sg_write_x failed: "" (" """) (string_content "sg_write_x failed: ") (" """)) (, ",") (number_literal "0xf") (, ",") (identifier "pcVar15") (, ",") (identifier "pcVar15") () ")")))) (, ",") (binary_expression "cVar6 == '\0'" (identifier "cVar6") (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'")))) () ")"))) () ")")) (compound_statement "{\nLAB_0001260b:\n      pr2serr("Some error occurred, try again with \'-v\' or \'-vv\' for more information\n");\nLAB_000123e2:\n      if ((int)local_908 < 0) {\n        local_908 = (stat64 *)0x63;\n      }\n    }" ({ "{") (labeled_statement "LAB_0001260b:\n      pr2serr("Some error occurred, try again with \'-v\' or \'-vv\' for more information\n");" (statement_identifier "LAB_0001260b") (: ":") (expression_statement "pr2serr("Some error occurred, try again with \'-v\' or \'-vv\' for more information\n");" (call_expression "pr2serr("Some error occurred, try again with \'-v\' or \'-vv\' for more information\n")" (identifier "pr2serr") (argument_list "("Some error occurred, try again with \'-v\' or \'-vv\' for more information\n")" (( "(") (string_literal ""Some error occurred, try again with \'-v\' or \'-vv\' for more information\n"" (" """) (string_content "Some error occurred, try again with ") (escape_sequence "\'") (string_content "-v") (escape_sequence "\'") (string_content " or ") (escape_sequence "\'") (string_content "-vv") (escape_sequence "\'") (string_content " for more information") (escape_sequence "\n") (" """)) () ")"))) (; ";"))) (labeled_statement "LAB_000123e2:\n      if ((int)local_908 < 0) {\n        local_908 = (stat64 *)0x63;\n      }" (statement_identifier "LAB_000123e2") (: ":") (if_statement "if ((int)local_908 < 0) {\n        local_908 = (stat64 *)0x63;\n      }" (if "if") (parenthesized_expression "((int)local_908 < 0)" (( "(") (binary_expression "(int)local_908 < 0" (cast_expression "(int)local_908" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_908")) (< "<") (number_literal "0")) () ")")) (compound_statement "{\n        local_908 = (stat64 *)0x63;\n      }" ({ "{") (expression_statement "local_908 = (stat64 *)0x63;" (assignment_expression "local_908 = (stat64 *)0x63" (identifier "local_908") (= "=") (cast_expression "(stat64 *)0x63" (( "(") (type_descriptor "stat64 *" (type_identifier "stat64") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x63"))) (; ";")) (} "}")))) (} "}"))) (} "}")) (while "while") (parenthesized_expression "( true )" (( "(") (true "true") () ")")) (; ";"))) (} "}")))

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

int function_1(int argc,char **argv)

{
  type_1 var_6;
  char var_91;
  type_2 *p_Var3;
  type_3 uVar4;
  type_4 *puVar5;
  type_4 *puVar6;
  char **ppcVar7;
  char var_24;
  type_5 _Var9;
  type_6 var_10;
  type_7 *var_22;
  type_7 *var_41;
  int var_21;
  type_7 *var_55;
  char *var_60;
  char *var_61;
  int var_4;
  char *var_18;
  uint8_t *var_79;
  type_8 var_56;
  type_7 *var_9;
  int *piVar21;
  type_4 *puVar22;
  int var_2;
  type_7 *extraout_ECX;
  type_7 *extraout_ECX_00;
  type_7 *extraout_ECX_01;
  type_8 extraout_ECX_02;
  type_8 var_82;
  type_7 *extraout_ECX_03;
  type_7 *extraout_ECX_04;
  type_7 *extraout_ECX_05;
  type_7 *extraout_ECX_06;
  char **extraout_EDX;
  char **ppcVar25;
  type_7 *var_20;
  type_7 *psVar27;
  type_7 *extraout_EDX_00;
  type_8 extraout_EDX_01;
  type_7 *extraout_EDX_02;
  type_7 *extraout_EDX_03;
  type_7 *extraout_EDX_04;
  type_8 extraout_EDX_05;
  type_8 extraout_EDX_06;
  type_6 var_16;
  type_7 *var_32;
  type_9 *poVar30;
  type_6 *var_57;
  type_7 **var_58;
  type_10 *var_52;
  uint32_t var_85;
  int var_1;
  bool bVar35;
  bool bVar36;
  type_1 bVar37;
  type_11 uVar38;
  type_12 var_23;
  type_13 var_36;
  type_7 *var_83;
  type_7 **ppsVar42;
  uint32_t uVar43;
  void **ppvVar44;
  uint32_t uVar45;
  type_6 uVar46;
  type_6 *puVar47;
  type_10 *var_63;
  type_7 *var_40;
  char var_62;
  type_7 *var_42;
  type_7 *local_930;
  type_7 *local_924;
  type_7 *local_920;
  type_7 *var_14;
  type_7 *var_13;
  type_7 *var_48;
  uint16_t var_66;
  uint16_t var_81;
  type_7 *local_8f4;
  void *var_43;
  type_7 *local_8ec;
  void *var_86;
  void *local_8e4;
  type_10 local_8e0 [48];
  int var_30;
  type_10 local_880 [96];
  type_10 local_820 [112];
  type_7 *var_33;
  int var_50;
  int var_51;
  type_7 *local_7a4;
  type_7 *var_5;
  char *var_25;
  char *var_12;
  type_7 *local_794;
  type_10 local_790 [24];
  type_7 *local_778 [128];
  type_6 local_578;
  type_6 local_574;
  type_10 var_37 [96];
  type_6 var_75;
  type_6 var_76;
  type_6 var_77;
  type_6 var_67;
  type_6 var_68;
  type_6 var_69;
  type_6 var_70;
  type_3 var_71;
  type_3 var_72;
  type_6 var_87;
  int *local_18;
  
  ppcVar7 = argv;
  var_4 = argc;
  puVar22 = PTR_optarg_0001dffc;
  bVar37 = 0;
  local_18 = &argc;
  var_87 = *(type_6 *)(var_1 + 0x14);
  var_66 = 0;
  local_8f4 = (type_7 *)0x0;
  var_43 = (void *)0x0;
  var_13 = (type_7 *)0x0;
  var_14 = (type_7 *)0x0;
  poVar30 = (type_9 *)local_820;
  for (var_2 = 0x2a; var_2 != 0; var_2 = var_2 + -1) {
    poVar30->do_16 = false;
    poVar30->do_32 = false;
    poVar30->do_anchor = false;
    poVar30->do_atomic = false;
    poVar30 = (type_9 *)&poVar30->do_combined;
  }
  local_930 = (type_7 *)local_8e0;
  local_820._36_4_ = -1;
  var_83 = local_930;
  for (var_2 = 0x18; var_2 != 0; var_2 = var_2 + -1) {
    *(type_8 *)&var_83->st_dev = 0;
    var_83 = (type_7 *)((int)&var_83->st_dev + 4);
  }
  var_83 = (type_7 *)local_880;
  local_820._96_4_ = 0xffffffff;
  var_9 = var_83;
  for (var_2 = 0x18; var_2 != 0; var_2 = var_2 + -1) {
    *(type_8 *)&var_9->st_dev = 0;
    var_9 = (type_7 *)((int)&var_9->st_dev + 4);
  }
  var_91 = ' ';
  local_820._58_2_ = 0xffff;
  local_820._68_2_ = 0xffff;
  local_820._44_4_ = 0x78;
  var_6 = 0;
  local_924 = (type_7 *)PTR_optarg_0001dffc;
  var_9 = (type_7 *)local_820._80_4_;
  var_85 = local_820._92_4_;
  var_10 = local_820._96_4_;
LAB_000114e8:
  local_820._96_4_ = var_10;
  local_820._92_4_ = var_85;
  local_820._80_4_ = var_9;
  local_8e4 = (void *)0x0;
  uVar38 = var_3(var_4,ppcVar7,"36a:A:b:B:c:dD:Efg:G:hi:I:l:M:n:No:Oq:Qr:RsS:t:T:u:vVw:x",
                       long_options,&local_8e4);
  puVar6 = PTR_optarg_0001dffc;
  puVar5 = PTR_optind_0001dfe4;
  if ((int)uVar38 == -1) {
    var_2 = *(int *)PTR_optind_0001dfe4;
    local_920 = (type_7 *)0xffffffff;
    if (var_2 < var_4) {
      ppcVar25 = (char **)((type_14)uVar38 >> 0x20);
      if (var_5 != (type_7 *)0x0) goto LAB_00011c60;
      var_5 = (type_7 *)ppcVar7[var_2];
      *(int *)PTR_optind_0001dfe4 = var_2 + 1;
      ppcVar25 = ppcVar7;
      if (var_2 + 1 < var_4) goto LAB_00011c60;
    }
    if ((bool)(var_6 & local_820._40_4_ != 0)) goto LAB_00011a7a;
    if (0 < (int)local_820._32_4_) {
      var_7(local_820._32_4_);
      var_48 = (type_7 *)0x0;
      goto LAB_00011a84;
    }
    if ((type_5)local_820[0x11] == false) {
LAB_00011c9f:
      if ((type_5)local_820[0x12] != false) {
        var_8("sg_write_x version: %s\n","1.19 20180628",puVar5,puVar5);
        var_48 = (type_7 *)0x270f;
        goto LAB_00011a84;
      }
    }
    else if ((type_5)local_820[0x12] != false) {
      var_8("Not in DEBUG mode, so \'-vV\' has no special action\n");
      goto LAB_00011c9f;
    }
    var_56 = local_820._48_4_;
    var_9 = (type_7 *)var_56;
    if ((type_5)local_820[0] == false) {
      if ((type_5)local_820[1] == false) {
        var_9 = (type_7 *)((int)&((type_7 *)(local_820._48_4_ + -0x60))->st_ino + 7);
        local_820[0] = true;
        if (var_9 != (type_7 *)0x0 && 0 < (int)local_820._48_4_) {
          var_8("Since neither --16 nor --32 given, choose --16\n");
        }
      }
    }
    else if (((type_5)local_820[1] != false) && (local_820[0] = false, 1 < (int)local_820._48_4_)) {
      var_8("Since both --16 and --32 given, choose --32\n");
    }
    var_10 = (type_6)local_820[3] + (type_6)local_820[0xc] + (type_6)local_820[5] + (type_6)local_820[8] +
             (type_6)local_820[9] + (type_6)local_820[10];
    if (1 < var_10) {
      var_8(
             "Can only select one command; so only one of --atomic, --normal, --or,\n--same=, --scattered= or --stream=\n"
             );
      var_48 = (type_7 *)0x1f;
      goto LAB_00011a84;
    }
    if (var_10 == 0) {
      if (local_820._40_4_ != 0) {
        var_8("With --strict won\'t default to a normal WRITE, add --normal\n");
        var_48 = (type_7 *)0x1f;
        goto LAB_00011a84;
      }
      local_794 = (type_7 *)0x17164;
      local_820[0xc] = true;
      if ((type_7 *)var_56 != (type_7 *)0x0) {
        var_8("No command selected so choose \'normal\' WRITE\n");
      }
    }
    var_22 = (type_7 *)((-(type_6)((type_5)local_820[0] == false) & 0x10) + 0x10);
    var_20 = local_794;
    var_11(local_790,0x18,1,0x18,"%s(%d)",local_794,var_22,var_9);
    if ((type_5)local_820[4] == false) {
      if (var_12 != (char *)0x0) {
        var_62 = var_13 != (type_7 *)0x0;
        bVar35 = var_14 != (type_7 *)0x0 || var_13 != (type_7 *)0x0;
        bVar36 = var_14 != (type_7 *)0x0;
        if (var_14 == (type_7 *)0x0 && var_13 == (type_7 *)0x0) {
          var_4 = -1;
          var_18 = var_12;
          goto code_r0x00011d5c;
        }
        var_8(
               "want one and only one of: (--lba=LBA and/or --num=NUM), or\n--scat-file=SF, or --combined=DOF\n"
               );
        var_48 = (type_7 *)0x1f;
        goto LAB_00011a84;
      }
      if ((type_5)local_820[7] == false) {
        var_62 = var_13 != (type_7 *)0x0;
        bVar35 = var_14 != (type_7 *)0x0 || var_13 != (type_7 *)0x0;
        bVar36 = var_14 != (type_7 *)0x0;
        goto LAB_00011d67;
      }
      var_8(
             "--scat-raw only applies to the --scat-file=SF option\n--scat-raw without the --scat-file=SF option is an error\n"
             );
      var_48 = (type_7 *)0x1f;
      goto LAB_00011a84;
    }
    if ((type_5)local_820[9] == false) {
      var_8(
             "--combined=DOF only allowed with --scattered=RD (i.e. only with\nWRITE SCATTERED command)\n"
             );
      var_48 = (type_7 *)0x1f;
      goto LAB_00011a84;
    }
    if (var_12 != (char *)0x0) {
      var_8("Ambiguous: got --combined=DOF and --scat-file=SF .\nGive one, the other or neither\n"
             );
      var_48 = (type_7 *)0x1f;
      goto LAB_00011a84;
    }
    if (var_14 == (type_7 *)0x0 && var_13 == (type_7 *)0x0) {
      var_62 = local_820[7];
      bVar35 = false;
      bVar36 = false;
      if ((type_5)local_820[7] == false) goto LAB_00011d67;
      var_8("Ambiguous: don\'t expect --combined=DOF and --scat-raw\nGive one or the other\n");
      var_48 = (type_7 *)0x1f;
    }
    else {
      var_8("--scattered=RD --combined=DOF does not use --lba= or --num=\nPlease remove.\n");
      var_48 = (type_7 *)0x1f;
    }
    goto LAB_00011a84;
  }
  local_920 = local_924;
  var_9 = (type_7 *)local_820._80_4_;
  var_85 = local_820._92_4_;
  var_10 = local_820._96_4_;
  switch((int)uVar38) {
  case 0x33:
    local_820[1] = true;
    goto LAB_000114e8;
  default:
    var_18 = "unrecognised option code 0x%x ??\n";
    break;
  case 0x36:
    local_820[0] = true;
    goto LAB_000114e8;
  case 0x3f:
    var_18 = "\n";
    break;
  case 0x41:
    var_10 = var_15(*(type_8 *)PTR_optarg_0001dffc);
    if (0xffff < var_10) {
      var_8("bad argument to \'--atomic=\'. Expect 0 to 0xffff inclusive\n");
      goto LAB_00011a7a;
    }
    local_820._60_2_ = (type_15)var_10;
    local_820[3] = true;
    local_794 = (type_7 *)0x17112;
    var_9 = (type_7 *)local_820._80_4_;
    var_85 = local_820._92_4_;
    var_10 = local_820._96_4_;
    goto LAB_000114e8;
  case 0x42:
    var_16 = var_15(*(type_8 *)PTR_optarg_0001dffc);
    if (7 < var_16) {
      var_8("bad first argument to \'--bmop=\'\n");
      goto LAB_00011a7a;
    }
    local_820[0x38] = (uint8_t)var_16;
    var_56 = 0x2c;
    uVar46 = var_16;
    var_18 = var_17(*(char **)puVar6,0x2c);
    var_9 = (type_7 *)local_820._80_4_;
    var_85 = local_820._92_4_;
    var_10 = local_820._96_4_;
    if (var_18 != (char *)0x0) {
      var_10 = var_15(var_18 + 1,var_56,var_16,uVar46);
      if (0xf < var_10) {
        var_8("bad second argument to \'--bmop=\'\n");
        goto LAB_00011a7a;
      }
      local_820[0x39] = (uint8_t)var_10;
      var_9 = (type_7 *)local_820._80_4_;
      var_85 = local_820._92_4_;
      var_10 = local_820._96_4_;
    }
    goto LAB_000114e8;
  case 0x44:
    local_820._20_4_ = var_15(*(type_8 *)PTR_optarg_0001dffc);
    var_9 = (type_7 *)local_820._80_4_;
    var_85 = local_820._92_4_;
    var_10 = local_820._96_4_;
    if (7 < (type_6)local_820._20_4_) {
      var_8("bad argument to \'--dld=\', expect 0 to 7 inclusive\n");
      goto LAB_00011a7a;
    }
    goto LAB_000114e8;
  case 0x47:
    uVar38 = var_19(*(type_8 *)PTR_optarg_0001dffc);
    uVar43 = (uint32_t)uVar38;
    if ((int)((type_14)uVar38 >> 0x20) != 0) {
      var_8("bad first argument to \'--generation=\'\n");
      goto LAB_00011a7a;
    }
    var_56 = 0x2c;
    uVar45 = uVar43;
    local_820._88_4_ = uVar43;
    var_18 = var_17(*(char **)puVar6,0x2c);
    if (var_18 == (char *)0x0) {
      var_8("need two arguments with --generation=EOG,NOG and they must be comma separated\n",
              var_56,uVar43,uVar45);
      goto LAB_00011a7a;
    }
    uVar38 = var_19(var_18 + 1);
    var_9 = (type_7 *)local_820._80_4_;
    var_85 = (uint32_t)uVar38;
    var_10 = local_820._96_4_;
    if ((int)((type_14)uVar38 >> 0x20) != 0) {
      var_8("bad second argument to \'--generation=\'\n",var_56,uVar43,uVar45);
      goto LAB_00011a7a;
    }
    goto LAB_000114e8;
  case 0x49:
    local_820._44_4_ = var_15(*(type_8 *)PTR_optarg_0001dffc);
    var_9 = (type_7 *)local_820._80_4_;
    var_85 = local_820._92_4_;
    var_10 = local_820._96_4_;
    if ((int)local_820._44_4_ < 0) {
      var_8("bad argument to \'--timeout=\'\n");
      goto LAB_00011a7a;
    }
    goto LAB_000114e8;
  case 0x4d:
    var_10 = var_15(*(type_8 *)PTR_optarg_0001dffc);
    if (1 < var_10) {
      var_8("bad argument to \'--same\', expect 0 or 1\n");
      goto LAB_00011a7a;
    }
    local_820[0x10] = (type_1)var_10 & 1;
    local_820[8] = true;
    local_794 = (type_7 *)0x17159;
    var_9 = (type_7 *)local_820._80_4_;
    var_85 = local_820._92_4_;
    var_10 = local_820._96_4_;
    goto LAB_000114e8;
  case 0x4e:
    local_820[0xc] = true;
    local_794 = (type_7 *)0x17164;
    goto LAB_000114e8;
  case 0x4f:
    local_820[5] = true;
    local_794 = (type_7 *)0x1716a;
    goto LAB_000114e8;
  case 0x51:
    local_820[6] = true;
    goto LAB_000114e8;
  case 0x52:
    local_820[7] = true;
    goto LAB_000114e8;
  case 0x53:
    var_10 = var_15(*(type_8 *)PTR_optarg_0001dffc);
    if (0xffff < var_10) {
      var_8("bad argument to \'--scattered=\'. Expect 0 to 0xffff inclusive\n");
      goto LAB_00011a7a;
    }
    local_820._64_2_ = (type_15)var_10;
    local_794 = (type_7 *)0x17172;
    local_820[9] = true;
    var_9 = (type_7 *)local_820._80_4_;
    var_85 = local_820._92_4_;
    var_10 = local_820._96_4_;
    goto LAB_000114e8;
  case 0x54:
    var_10 = var_15(*(type_8 *)PTR_optarg_0001dffc);
    if (0xffff < var_10) {
      var_8("bad argument to \'--stream=\', expect 0 to 65535\n");
      goto LAB_00011a7a;
    }
    local_820._66_2_ = (type_15)var_10;
    local_794 = (type_7 *)0x17182;
    local_820[10] = true;
    var_9 = (type_7 *)local_820._80_4_;
    var_85 = local_820._92_4_;
    var_10 = local_820._96_4_;
    goto LAB_000114e8;
  case 0x56:
    local_820[0x12] = true;
    goto LAB_000114e8;
  case 0x61:
    var_10 = var_15(*(type_8 *)PTR_optarg_0001dffc);
    if (0xffff < var_10) {
      var_8("bad argument to \'--app-tag=\'. Expect 0 to 0xffff inclusive\n");
      goto LAB_00011a7a;
    }
    local_820._58_2_ = (type_15)var_10;
    var_9 = (type_7 *)local_820._80_4_;
    var_85 = local_820._92_4_;
    var_10 = local_820._96_4_;
    goto LAB_000114e8;
  case 0x62:
    var_20 = (type_7 *)var_15(*(type_8 *)PTR_optarg_0001dffc);
    if ((type_7 *)0x10000000 < var_20) {
      var_8("bad argument to \'--bs=\'. Expect 0 or greater\n");
      goto LAB_00011a7a;
    }
    if (var_20 == (type_7 *)0x0) {
      local_820._72_4_ = (type_7 *)0x0;
      local_820._76_4_ = (type_7 *)0x0;
      var_9 = (type_7 *)local_820._80_4_;
      var_85 = local_820._92_4_;
      var_10 = local_820._96_4_;
    }
    else {
      if ((int)var_20 < 0x200) {
        var_8("warning: --bs=BS value is < 512 which seems too small, continue\n");
        var_6 = 1;
      }
      if (((type_6)var_20 & 7) != 0) {
        var_8("warning: --bs=BS value is not a multiple of 8, unexpected, continue\n");
        var_6 = 1;
      }
      var_2 = 0;
      var_21 = 0;
      var_9 = var_20;
      do {
        if (((type_6)var_9 & 1) != 0) {
          var_2 = var_21;
        }
        var_21 = var_21 + 1;
        var_9 = (type_7 *)((int)var_9 >> 1);
      } while (var_21 != 0x1c);
      var_22 = (type_7 *)(1 << ((type_1)var_2 & 0x1f));
      local_820._72_4_ = var_20;
      local_820._76_4_ = var_20;
      var_9 = (type_7 *)local_820._80_4_;
      var_85 = local_820._92_4_;
      var_10 = local_820._96_4_;
      if (var_20 != var_22) {
        local_820._72_4_ = var_22;
      }
    }
    goto LAB_000114e8;
  case 99:
    var_2 = var_15(*(type_8 *)PTR_optarg_0001dffc);
    if (var_2 < 0) {
      var_8("bad argument to \'--combined=\'. Expect 0 to 0x7fffffff\n");
      goto LAB_00011a7a;
    }
    local_820._62_2_ = (type_15)var_2;
    local_820[4] = true;
    var_9 = (type_7 *)local_820._80_4_;
    var_85 = local_820._92_4_;
    var_10 = local_820._96_4_;
    goto LAB_000114e8;
  case 100:
    local_820[0xe] = true;
    goto LAB_000114e8;
  case 0x66:
    local_820[0xf] = true;
    goto LAB_000114e8;
  case 0x67:
    local_820._28_4_ = var_15(*(type_8 *)PTR_optarg_0001dffc);
    var_9 = (type_7 *)local_820._80_4_;
    var_85 = local_820._92_4_;
    var_10 = local_820._96_4_;
    if (0x3f < (type_6)local_820._28_4_) {
      var_8("bad argument to \'--grpnum\'\n");
      goto LAB_00011a7a;
    }
    goto LAB_000114e8;
  case 0x68:
    local_820._32_4_ = local_820._32_4_ + 1;
    goto LAB_000114e8;
  case 0x69:
    var_25 = *(char **)PTR_optarg_0001dffc;
    goto LAB_000114e8;
  case 0x6c:
    if (var_14 != (type_7 *)0x0) {
      var_8("only expect \'--lba=\' option once\n");
      goto LAB_00011a7a;
    }
    var_14 = *(type_7 **)PTR_optarg_0001dffc;
    goto LAB_000114e8;
  case 0x6e:
    if (var_13 != (type_7 *)0x0) {
      var_8("only expect \'--num=\' option once\n");
      goto LAB_00011a7a;
    }
    var_13 = *(type_7 **)PTR_optarg_0001dffc;
    goto LAB_000114e8;
  case 0x6f:
    var_23 = var_19(*(type_8 *)PTR_optarg_0001dffc);
    var_20 = (type_7 *)var_23;
    if (var_23 == -1) {
      var_8("bad first argument to \'--offset=\'\n");
      goto LAB_00011a7a;
    }
    var_56 = 0x2c;
    var_22 = var_20;
    local_820._108_4_ = var_20;
    var_33 = (type_7 *)((type_14)var_23 >> 0x20);
    var_18 = var_17(*(char **)puVar6,0x2c);
    var_9 = (type_7 *)local_820._80_4_;
    var_85 = local_820._92_4_;
    var_10 = local_820._96_4_;
    if (var_18 != (char *)0x0) {
      var_23 = var_19(var_18 + 1,var_56,var_20,var_22);
      var_9 = (type_7 *)var_23;
      var_85 = local_820._92_4_;
      var_10 = local_820._96_4_;
      if ((int)((type_14)var_23 >> 0x20) == -1) {
        if (var_9 == (type_7 *)0xffffffff) {
          var_8("bad second argument to \'--offset=\'\n");
          goto LAB_00011a7a;
        }
      }
      else if (0xffffffff < var_23) {
        var_8("bad second argument to \'--offset=\', cannot exceed 32 bits\n");
        goto LAB_00011a7a;
      }
    }
    goto LAB_000114e8;
  case 0x71:
    var_12 = *(char **)PTR_optarg_0001dffc;
    goto LAB_000114e8;
  case 0x72:
    goto _L476;
  case 0x73:
    local_820._40_4_ = local_820._40_4_ + 1;
    goto LAB_000114e8;
  case 0x74:
    var_10 = var_15(*(type_8 *)PTR_optarg_0001dffc);
    if (0xffff < var_10) {
      var_8("bad argument to \'--tag-mask=\'. Expect 0 to 0xffff inclusive\n");
      goto LAB_00011a7a;
    }
    local_820._68_2_ = (type_15)var_10;
    var_9 = (type_7 *)local_820._80_4_;
    var_85 = local_820._92_4_;
    var_10 = local_820._96_4_;
    goto LAB_000114e8;
  case 0x75:
    var_10 = var_15(*(type_8 *)puVar22);
    if (3 < var_10) {
      var_8("bad argument to \'--unmap=\', expect 0 to 3\n");
      goto LAB_00011a7a;
    }
    local_820[2] = (type_1)(var_10 >> 1) & 1;
    local_820[0xb] = (type_1)var_10 & 1;
    var_9 = (type_7 *)local_820._80_4_;
    var_85 = local_820._92_4_;
    var_10 = local_820._96_4_;
    goto LAB_000114e8;
  case 0x76:
    local_820[0x11] = true;
    local_820._48_4_ = (int)(type_2 *)local_820._48_4_ + 1;
    goto LAB_000114e8;
  case 0x77:
    local_820._52_4_ = var_15(*(type_8 *)puVar22);
    if ((type_7 *)0x7 < (type_6)local_820._52_4_) {
      var_8("bad argument to \'--wrprotect\'\n");
      goto LAB_00011a7a;
    }
    local_820[0xd] = 0 < (int)local_820._52_4_;
    var_9 = (type_7 *)local_820._80_4_;
    var_85 = local_820._92_4_;
    var_10 = local_820._96_4_;
    goto LAB_000114e8;
  case 0x78:
    local_820._24_4_ = local_820._24_4_ + 1;
    goto LAB_000114e8;
  }
  var_8(var_18);
  var_4 = 0;
  if (-1 < (int)local_820._32_4_) {
    var_4 = local_820._32_4_;
  }
  var_7(var_4);
  goto LAB_00011a7a;
LAB_00011c60:
  while (*(int *)puVar5 < var_4) {
    var_8("Unexpected extra argument: %s\n",ppcVar7[*(int *)puVar5],ppcVar25,ppcVar25);
    *(int *)puVar5 = *(int *)puVar5 + 1;
    ppcVar25 = extraout_EDX;
  }
  var_4 = 0;
  if (-1 < (int)local_820._32_4_) {
    var_4 = local_820._32_4_;
  }
  var_7(var_4);
  var_48 = (type_7 *)0x1;
  goto LAB_00011a84;
  while( true ) {
    var_4 = var_4 + -1;
    var_24 = *var_18;
    var_18 = var_18 + (type_6)bVar37 * -2 + 1;
    if (var_24 == '\0') break;
code_r0x00011d5c:
    if (var_4 == 0) break;
  }
  if ((var_4 == -3) && (*var_12 == '-')) {
    var_8("don\'t accept \'-\' (implying stdin) as a filename in --scat-file=SF\n");
    var_48 = (type_7 *)0x1f;
    goto LAB_00011a84;
  }
LAB_00011d67:
  if ((((type_7 *)var_56 != (type_7 *)0x0) && ((type_5)local_820[0] != false)) &&
     ((local_820._96_4_ != 0xffffffff || ((local_820._58_2_ & local_820._68_2_) != 0xffff)))) {
    var_8("--app-tag=, --ref-tag= and --tag-mask= options ignored with 16 byte commands\n");
  }
  var_82 = local_820._80_4_;
  var_41 = (type_7 *)(type_6)local_820[0x10];
  if ((type_5)local_820[0x10] == false) {
    var_42 = (type_7 *)local_820._80_4_;
    var_91 = '\0';
    if (var_25 == (char *)0x0) {
      var_8("Need --if=FN option to be given, exiting.\n");
      if (1 < (int)var_56) {
        var_8("To write zeros use --in=/dev/zero\n");
      }
      var_8("\n");
      var_4 = 0;
      if (-1 < (int)local_820._32_4_) {
        var_4 = local_820._32_4_;
      }
      var_7(var_4);
      var_48 = (type_7 *)0x1;
      goto LAB_00011a84;
    }
    var_4 = -1;
    var_18 = var_25;
    do {
      if (var_4 == 0) break;
      var_4 = var_4 + -1;
      var_24 = *var_18;
      var_18 = var_18 + (type_6)bVar37 * -2 + 1;
    } while (var_24 != '\0');
    if ((var_4 != -3) || (*var_25 != '-')) {
      local_924 = (type_7 *)var_26(var_25,0,var_4,var_4);
      if ((int)local_924 < 0) {
        piVar21 = var_27();
        var_4 = *piVar21;
        var_18 = "could not open %s for reading";
      }
      else {
        var_9 = (type_7 *)var_28(local_924);
        if ((int)var_9 < 0) goto LAB_00011dea;
        var_20 = local_924;
        var_22 = local_930;
        var_4 = var_29(3,(int)local_924,local_930);
        if (-1 < var_4) {
          if ((local_8e0._16_4_ & 0xf000) == 0x8000) {
            var_42 = (type_7 *)local_8e0._44_4_;
            if ((type_7 *)var_82 != (type_7 *)0x0) {
              var_42 = (type_7 *)var_82;
            }
            if ((var_30 != 0 || (type_7 *)local_8e0._44_4_ != (type_7 *)0x0) &&
               (var_32 = (type_7 *)((int)&((type_7 *)(local_8e0._44_4_ + -0x60))->st_ino + 7),
               var_2 = var_30 + -1 + (type_6)((type_7 *)local_8e0._44_4_ != (type_7 *)0x0),
               var_4 = (int)var_33 - var_2,
               (var_31((int)var_33,var_2) !=
               var_31(var_4,(type_6)((type_6)local_820._108_4_ < var_32))) ==
               (int)(var_4 - (type_6)((type_6)local_820._108_4_ < var_32)) < 0)) {
              var_8("Offset (%llu) is at or beyond IF byte length (%llu)\n",local_820._108_4_,
                      var_33,local_8e0._44_4_,var_30,var_20,var_22,var_9);
              var_48 = (type_7 *)0xf;
              goto LAB_00012527;
            }
            var_41 = (type_7 *)local_820._108_4_;
            var_40 = (type_7 *)local_8e0._44_4_;
            var_4 = var_30;
            if (var_33 != (type_7 *)0x0 || (type_7 *)local_820._108_4_ != (type_7 *)0x0) {
              var_9 = (type_7 *)0x0;
              var_20 = (type_7 *)local_820._108_4_;
              var_22 = var_33;
              var_36 = var_34((int)local_924,var_35(var_33,local_820._108_4_),0);
              var_32 = (type_7 *)local_820._108_4_;
              if (var_36 < 0) {
                piVar21 = var_27();
                var_32 = (type_7 *)(var_37 + 0x50);
                var_4 = *piVar21;
                var_11(var_32,0x100,1,0x100,"couldn\'t offset to required position on %s",
                               var_25,piVar21,piVar21);
                var_38((char *)var_32);
                var_48 = (type_7 *)var_39(var_4);
                goto LAB_00012527;
              }
              var_41 = (type_7 *)((int)var_40 - local_820._108_4_);
              var_4 = (var_30 - (int)var_33) - (type_6)(var_40 < (type_6)local_820._108_4_);
              local_930 = var_40;
              if ((int)(type_6)(var_41 != (type_7 *)0x0) <= -var_4) {
                var_8("--offset [0x%llx] at or beyond file length[0x%llx]\n",local_820._108_4_,
                        var_33,var_40,var_30);
                var_48 = (type_7 *)0xf;
                goto LAB_00012527;
              }
              if ((local_820._40_4_ != 0) &&
                 (local_930 = (type_7 *)local_820._80_4_,
                 var_4 < (int)(type_6)(var_41 < (type_6)local_820._80_4_))) {
                var_8("after accounting for OFF, DLEN exceeds %s remaining length (%u bytes)\n",
                        var_25,var_41,var_41);
                var_48 = (type_7 *)0xf;
                var_32 = var_41;
                goto LAB_00012527;
              }
              if (var_4 < (int)(type_6)(var_41 < var_42)) {
                var_42 = var_41;
              }
              var_40 = var_41;
              if (2 < (int)var_56) {
                var_20 = (type_7 *)local_820._108_4_;
                var_22 = var_42;
                var_9 = var_41;
                var_41 = (type_7 *)
                          var_8("Moved IF byte pointer to %u, if_len=%u, if_readable_len=%u\n",
                                  local_820._108_4_,var_42,var_41);
              }
            }
            goto LAB_00011fa8;
          }
          goto LAB_00011e6c;
        }
        piVar21 = var_27();
        var_4 = *piVar21;
        var_18 = "could not fstat %s";
      }
      var_11(var_37 + 0x50,0x100,1,0x100,var_18,var_25,piVar21,piVar21);
      var_38(var_37 + 0x50);
      var_48 = (type_7 *)var_39(var_4);
      goto LAB_00011a84;
    }
    var_4 = var_28(0);
    var_91 = '\x01';
    local_924 = (type_7 *)0x0;
    if (var_4 < 0) {
LAB_00011dea:
      var_38("sg_set_binary_mode");
      var_48 = (type_7 *)0xf;
      goto LAB_00011a84;
    }
LAB_00011e6c:
    if (((type_7 *)((type_6)var_33 | local_820._108_4_) == (type_7 *)0x0) ||
       ((type_7 *)var_56 == (type_7 *)0x0)) {
      var_41 = (type_7 *)((type_6)var_33 | local_820._108_4_);
      var_40 = (type_7 *)0x0;
      var_4 = 0;
    }
    else {
      var_41 = (type_7 *)
                var_8(
                       "--offset=OFF ignored when IF is stdin, pipe, socket, etc\nDLEN, if given, is used\n"
                       );
      var_40 = (type_7 *)0x0;
      var_4 = 0;
    }
  }
  else {
    local_924 = (type_7 *)0xffffffff;
    var_91 = '\0';
    var_40 = (type_7 *)0x0;
    var_4 = 0;
    var_42 = (type_7 *)0x0;
  }
LAB_00011fa8:
  if (var_5 == (type_7 *)0x0) {
    var_8("missing device name!\n",var_20,var_22,var_9);
    var_4 = 0;
    if (-1 < (int)local_820._32_4_) {
      var_4 = local_820._32_4_;
    }
    var_7(var_4);
    var_48 = (type_7 *)0x1;
    var_32 = (type_7 *)0x0;
LAB_00012527:
    if (var_43 == (void *)0x0) goto LAB_000123a1;
    var_44(var_43);
    goto LAB_000123a1;
  }
  var_18 = (char *)0x0;
  var_9 = (type_7 *)var_56;
  uVar38 = var_45(var_5,0,var_56,var_41);
  var_32 = (type_7 *)local_820._72_4_;
  var_20 = (type_7 *)((type_14)uVar38 >> 0x20);
  local_930 = (type_7 *)uVar38;
  if ((int)local_930 < 0) {
    var_32 = (type_7 *)-(int)local_930;
    if ((type_7 *)local_820._48_4_ != (type_7 *)0x0) {
      var_56 = var_46(var_32);
      var_8("open error: %s: %s\n",var_5,var_56);
    }
    var_48 = (type_7 *)var_39(var_32);
    goto LAB_00012527;
  }
  var_22 = (type_7 *)local_820._76_4_;
  var_55 = (type_7 *)local_820._76_4_;
  if ((type_7 *)local_820._72_4_ == (type_7 *)0x0) {
    var_9 = (type_7 *)0x0;
    if ((type_7 *)local_820._48_4_ != (type_7 *)0x0) {
      var_9 = (type_7 *)((int)&((type_7 *)(local_820._48_4_ + -0x60))->st_ino + 7);
    }
    var_20 = (type_7 *)var_37;
    var_55 = (type_7 *)0x1;
    var_18 = (char *)0x20;
    var_41 = var_9;
    var_22 = (type_7 *)local_820._48_4_;
    uVar38 = var_47(local_930,0,0,0,var_20,0x20,1,var_9,var_20,local_820._48_4_,
                              var_40,var_4);
    if ((int)uVar38 == 6) {
      var_8("Read capacity(16) unit attention, try again\n");
      uVar38 = var_47(local_930,0,0,0,var_20,0x20,1,var_9);
    }
    psVar27 = (type_7 *)((type_14)uVar38 >> 0x20);
    var_48 = (type_7 *)uVar38;
    if (var_48 == (type_7 *)0x0) {
      var_9 = var_55;
      if (3 < (int)var_22) {
        var_8("Read capacity(16) response:\n");
        var_9 = (type_7 *)0x1;
        var_18 = (char *)0x20;
        var_49(var_20,0x20,1);
      }
      var_6 = var_37[0xc];
      var_55 = (type_7 *)
                ((type_6)var_37._8_4_ >> 0x18 | (var_37._8_4_ & 0xff0000) >> 8 |
                 (var_37._8_4_ & 0xff00) << 8 | var_37._8_4_ << 0x18);
      var_10 = (type_6)var_37._4_4_ >> 0x18 | (var_37._4_4_ & 0xff0000) >> 8 |
               (var_37._4_4_ & 0xff00) << 8 | var_37._4_4_ << 0x18;
      var_50 = var_10 + 1;
      var_51 = ((type_6)var_37._0_4_ >> 0x18 | (var_37._0_4_ & 0xff0000) >> 8 |
                   (var_37._0_4_ & 0xff00) << 8 | var_37._0_4_ << 0x18) +
                  (type_6)(0xfffffffe < var_10);
      var_20 = (type_7 *)(type_6)var_37[0xc];
      local_820._72_4_ = var_55;
      if ((var_37[0xc] & 1) == 0) {
        local_820._36_4_ = 0;
        if ((int)local_820._52_4_ < 1) goto LAB_00012305;
        if (var_22 != (type_7 *)0x0) {
          var_18 = (char *)local_820._52_4_;
          var_20 = var_5;
          var_8("--wrprotect (%d) expects PI but %s says it has none\n",local_820._52_4_,var_5
                  ,var_55);
          if (local_820._40_4_ != 0) goto LAB_00012ef5;
          var_61 = "  ... continue but could be dangerous\n";
          var_32 = (type_7 *)0x0;
          var_41 = var_55;
          goto LAB_00013516;
        }
        if (local_820._40_4_ != 0) goto LAB_00012ef5;
      }
      else {
        local_820._36_4_ = (var_37[0xc] >> 1 & 7) + 1;
        var_32 = (type_7 *)(8 << (var_37[0xd] >> 4));
        var_20 = (type_7 *)(type_6)(var_37[0xd] >> 4);
        if (((int)local_820._52_4_ < 1) ||
           (local_820._76_4_ = (int)&var_32->st_dev + (int)&var_55->st_dev, (int)var_22 < 2)) {
LAB_00012305:
          if (var_22 == (type_7 *)0x0) goto LAB_00012312;
        }
        else {
          var_61 = 
          "  For data out buffer purposes the effective block size is %u (lb size\n  is %u) because PROT_EN=1, PI_EXP=%u and WRPROTECT>0\n"
          ;
          var_18 = (char *)var_55;
          var_41 = (type_7 *)local_820._76_4_;
LAB_00013516:
          var_8(var_61,var_18,var_20,var_41);
          var_9 = var_20;
        }
        var_8("Read capacity(16) response fields:\n",var_18,var_9,var_41);
        var_32 = (type_7 *)((int)(type_2 *)local_820._72_4_ + (int)&var_32->st_dev);
        var_41 = extraout_ECX_05;
        var_8("  Last_LBA=0x%llx  LB size: %u (with PI: %u) bytes  p_type=%u\n",var_50 + -1,
                var_51 + -1 + (type_6)(var_50 != 0),local_820._72_4_,var_32,
                var_37[0xc] >> 1 & 7,extraout_ECX_05,extraout_ECX_05);
        var_8("  prot_en=%u [PI type=%u] p_i_exp=%u  lbppb_exp=%u  lbpme,rz=%u,",var_6 & 1,
                local_820._36_4_,var_37[0xd] >> 4,var_37[0xd] & 0xf,
                (type_6)(int)(char)var_37[0xe] >> 0x1f);
        var_9 = (type_7 *)
                  ((type_3)(var_37._14_2_ << 8 | (type_3)var_37._14_2_ >> 8) & 0x3fff);
        var_18 = (char *)(var_37[0xe] >> 6 & 1);
        var_8("%u  low_ali_lba=%u\n",var_18,var_9);
        var_20 = extraout_EDX_04;
      }
    }
    else {
      if (((int)var_48 - 5U & 0xfffffffb) != 0) {
        if (var_22 != (type_7 *)0x0) {
          var_63 = var_37 + 0x50;
          var_32 = (type_7 *)"OS error";
          var_52 = var_63;
          for (var_4 = 9; var_4 != 0; var_4 = var_4 + -1) {
            *var_52 = (char)var_32->st_dev;
            var_32 = (type_7 *)((int)var_32 + (type_6)bVar37 * -2 + 1);
            var_52 = var_52 + (type_6)bVar37 * -2 + 1;
          }
          var_83 = var_48;
          if (0 < (int)var_48) {
            var_83 = (type_7 *)var_53(var_48,0x50,var_63,var_22);
          }
          var_8("Read capacity(16): %s\n",var_63,var_83,var_83);
          var_8("Unable to calculate block size\n");
        }
        if (0 < (int)var_48) goto LAB_00012354;
        goto LAB_00012ef5;
      }
      if (var_22 == (type_7 *)0x0) {
        var_18 = (char *)0x1;
        uVar38 = var_54(local_930,0,0,var_20,8,1,var_9,psVar27);
        var_20 = (type_7 *)((type_14)uVar38 >> 0x20);
        var_48 = (type_7 *)uVar38;
        var_41 = psVar27;
        if (var_48 != (type_7 *)0x0) {
LAB_00013444:
          var_63 = var_37 + 0x50;
          var_32 = (type_7 *)"OS error";
          var_52 = var_63;
          for (var_4 = 9; var_4 != 0; var_4 = var_4 + -1) {
            *var_52 = (char)var_32->st_dev;
            var_32 = (type_7 *)((int)var_32 + (type_6)bVar37 * -2 + 1);
            var_52 = var_52 + (type_6)bVar37 * -2 + 1;
          }
          if (0 < (int)var_48) {
            var_53(var_48,0x50,var_63,var_22);
            var_8("Read capacity(10): %s\n",var_63);
            var_8("Unable to calculate block size\n");
            goto LAB_00012354;
          }
          var_11(var_63,0x50,1,0x50,"error: %d",var_48,var_48,var_48);
          var_8("Read capacity(10): %s\n",var_63);
          var_8("Unable to calculate block size\n");
          var_48 = (type_7 *)0xf;
          goto LAB_00012354;
        }
      }
      else {
        var_32 = var_20;
        var_8("Read capacity(16) not supported, try Read capacity(10)\n");
        var_18 = (char *)0x1;
        uVar38 = var_54(local_930,0,0,var_32,8,1,var_9);
        var_20 = (type_7 *)((type_14)uVar38 >> 0x20);
        var_48 = (type_7 *)uVar38;
        if (var_48 != (type_7 *)0x0) goto LAB_00013444;
        if (3 < (int)var_22) {
          var_8("Read capacity(10) response:\n");
          var_9 = (type_7 *)0x1;
          var_18 = (char *)0x8;
          var_49(var_32,8,1);
          var_20 = extraout_EDX_03;
        }
      }
      var_51 = 0;
      var_50 = ((type_6)var_37._0_4_ >> 0x18 | (var_37._0_4_ & 0xff0000) >> 8 |
                   (var_37._0_4_ & 0xff00) << 8 | var_37._0_4_ << 0x18) + 1;
      local_820._72_4_ =
           (type_6)var_37._4_4_ >> 0x18 | (var_37._4_4_ & 0xff0000) >> 8 |
           (var_37._4_4_ & 0xff00) << 8 | var_37._4_4_ << 0x18;
    }
LAB_00012312:
    local_820._76_4_ = local_820._72_4_;
    if ((type_5)local_820[0xd] != false) {
      local_820._76_4_ = local_820._72_4_ + 8;
    }
    var_22 = (type_7 *)local_820._76_4_;
    var_55 = (type_7 *)local_820._72_4_;
    if ((type_7 *)local_820._76_4_ == (type_7 *)0x0) goto LAB_00012338;
  }
  local_820._76_4_ = var_22;
  if (var_55 == (type_7 *)0x0) {
LAB_00012338:
    var_8("Logic error, need block size by now\n",var_18,var_9);
    var_48 = (type_7 *)0x1;
    goto LAB_00012354;
  }
  if ((local_820[0x10] == 0) &&
     (var_20 = (type_7 *)((type_6)var_42 % (type_6)var_22), var_20 != (type_7 *)0x0)) {
    if (1 < (int)local_820._40_4_) {
      var_8("Error: number of bytes to read from IF [%u] is not a multiple\nblock size %u (including protection information)\n"
              ,var_42,var_22,local_820._40_4_);
      var_48 = (type_7 *)0xf;
      goto LAB_00012354;
    }
    var_55 = (type_7 *)(local_820._40_4_ | var_56);
    if (var_55 != (type_7 *)0x0) {
      var_18 = (char *)var_42;
      var_8("Warning: number of bytes to read from IF [%u] is not a multiple\nof actual block size %u; pad with zeros\n"
              ,var_42,var_22,var_55);
      var_20 = extraout_EDX_02;
      var_9 = var_22;
      var_41 = var_55;
    }
  }
  puVar47 = &local_578;
  var_57 = puVar47;
  for (var_4 = 0x100; var_4 != 0; var_4 = var_4 + -1) {
    *var_57 = 0;
    var_57 = var_57 + (type_6)bVar37 * -2 + 1;
  }
  ppsVar42 = local_778;
  var_58 = ppsVar42;
  for (var_4 = 0x80; var_4 != 0; var_4 = var_4 + -1) {
    *var_58 = (type_7 *)0x0;
    var_58 = var_58 + (type_6)bVar37 * -2 + 1;
  }
  if (bVar36) {
    var_10 = 0xffffffff;
    var_20 = var_14;
    do {
      if (var_10 == 0) break;
      var_10 = var_10 - 1;
      p_Var3 = &var_20->st_dev;
      var_20 = (type_7 *)((int)var_20 + (type_6)bVar37 * -2 + 1);
    } while ((char)*p_Var3 != '\0');
    var_32 = (type_7 *)(~var_10 - 1);
    if ((char)var_14->st_dev == '-') {
      var_8("\'--lba\' cannot be read from stdin\n",var_18,var_9,var_41);
      goto LAB_00012130;
    }
    var_18 = "0123456789aAbBcCdDeEfFhHxXiIkKmMgGtTpP, ";
    var_9 = var_14;
    var_41 = var_14;
    var_22 = (type_7 *)var_59((char *)var_14,"0123456789aAbBcCdDeEfFhHxXiIkKmMgGtTpP, ");
    var_20 = var_32;
    if (var_32 == var_22) {
      var_20 = (type_7 *)0x0;
      var_32 = var_14;
      while( true ) {
        var_23 = var_19(var_32,var_18,var_9,var_41);
        var_9 = (type_7 *)var_23;
        if (var_23 == -1) break;
        puVar47[(int)var_20 * 2] = (type_6)var_9;
        puVar47[(int)var_20 * 2 + 1] = (type_6)((type_14)var_23 >> 0x20);
        var_41 = var_9;
        var_60 = var_17((char *)var_32,0x2c);
        var_18 = (char *)0x20;
        var_61 = var_17((char *)var_32,0x20);
        if (var_60 == (char *)0x0) {
          if (var_61 == (char *)0x0) {
            var_14 = (type_7 *)((int)&var_20->st_dev + 1);
            if (var_62 != '\0') goto LAB_000126fa;
            var_20 = (type_7 *)0x0;
            var_9 = extraout_ECX;
            if (var_14 != (type_7 *)0x1) goto LAB_00012a73;
            goto LAB_00012820;
          }
        }
        else if ((var_61 == (char *)0x0) || (var_60 <= var_61)) {
          var_61 = var_60;
        }
        var_20 = (type_7 *)((int)&var_20->st_dev + 1);
        var_32 = (type_7 *)(var_61 + 1);
        if (var_20 == (type_7 *)0x80) goto LAB_00013b9f;
      }
      var_22 = (type_7 *)((int)var_32 - (int)var_14);
    }
    var_8("build_lba_arr: error at pos %d\n",(type_10 *)((int)&var_22->st_dev + 1),var_20,
            var_20);
    goto LAB_00012130;
  }
  var_14 = (type_7 *)0x0;
  if (bVar35) {
LAB_000126fa:
    var_22 = (type_7 *)0xffffffff;
    var_20 = var_13;
    do {
      if (var_22 == (type_7 *)0x0) break;
      var_22 = (type_7 *)((int)&var_22[-1].st_ino + 7);
      p_Var3 = &var_20->st_dev;
      var_20 = (type_7 *)((int)var_20 + (type_6)bVar37 * -2 + 1);
    } while ((char)*p_Var3 != '\0');
    var_32 = (type_7 *)(~(type_6)var_22 - 1);
    if ((char)var_13->st_dev == '-') {
      var_8("\'--len\' cannot be read from stdin\n");
    }
    else {
      var_18 = "0123456789aAbBcCdDeEfFhHxXiIkKmMgGtTpP, ";
      var_9 = var_22;
      var_20 = (type_7 *)var_59((char *)var_13,"0123456789aAbBcCdDeEfFhHxXiIkKmMgGtTpP, ");
      var_41 = extraout_EDX_00;
      if (var_32 == var_20) {
        var_41 = (type_7 *)0x0;
        var_32 = var_13;
        do {
          var_23 = var_19(var_32,var_18,var_22,var_9);
          var_22 = (type_7 *)var_23;
          if ((int)((type_14)var_23 >> 0x20) == -1) {
            if (var_22 == (type_7 *)0xffffffff) {
              var_20 = (type_7 *)((int)var_32 - (int)var_13);
              goto LAB_000127bf;
            }
          }
          else if (0xffffffff < var_23) {
            var_9 = (type_7 *)((int)var_32 + (1 - (int)var_13));
            var_18 = "build_num_arr";
            var_8("%s: number exceeds 32 bits at pos %d\n","build_num_arr",var_9,var_41);
            goto LAB_000127d9;
          }
          ppsVar42[(int)var_41] = var_22;
          var_9 = var_22;
          var_60 = var_17((char *)var_32,0x2c);
          var_18 = (char *)0x20;
          var_61 = var_17((char *)var_32,0x20);
          if (var_60 == (char *)0x0) {
            if (var_61 == (char *)0x0) {
              var_63 = (type_10 *)((int)&var_41->st_dev + 1);
              var_20 = (type_7 *)0x0;
              var_9 = extraout_ECX_00;
              if ((type_10 *)0x1 < var_14) {
                if ((type_7 *)var_63 == var_14) goto LAB_00012820;
                goto LAB_00012a73;
              }
              if (var_14 == (type_7 *)0x0) {
                if (var_63 != (type_10 *)0x1) {
LAB_00012a73:
                  var_8("need same number of arguments to \'--lba=\' and \'--num=\' options\n");
                  var_48 = (type_7 *)0x1f;
                  goto LAB_00012354;
                }
                var_14 = (type_7 *)(type_10 *)0x1;
                if (local_778[0] != (type_7 *)0x0) {
                  var_8("won\'t write %u blocks without an explicit --lba= option\n",local_778[0],
                          extraout_ECX_00,extraout_ECX_00);
                  var_48 = (type_7 *)0x1;
                  goto LAB_00012354;
                }
              }
              else {
                var_14 = (type_7 *)(type_10 *)0x1;
              }
              goto LAB_00012820;
            }
          }
          else if ((var_61 == (char *)0x0) || (var_60 <= var_61)) {
            var_61 = var_60;
          }
          var_41 = (type_7 *)((int)&var_41->st_dev + 1);
          var_32 = (type_7 *)(var_61 + 1);
        } while (var_41 != (type_7 *)0x80);
        var_18 = "build_num_arr";
        var_9 = extraout_ECX_00;
        var_41 = extraout_ECX_00;
        var_8("%s: array length exceeded\n","build_num_arr",extraout_ECX_00,extraout_ECX_00);
      }
      else {
LAB_000127bf:
        var_9 = (type_7 *)((int)&var_20->st_dev + 1);
        var_18 = "build_num_arr";
        var_8("%s: error at pos %d\n","build_num_arr",var_9,var_41);
      }
    }
LAB_000127d9:
    var_8("bad argument to \'--num\'\n",var_18,var_9,var_41);
    var_48 = (type_7 *)0x0;
    goto LAB_00012354;
  }
  var_9 = (type_7 *)0x0;
  var_14 = (type_7 *)(type_10 *)0x0;
LAB_00012820:
  if (var_12 == (char *)0x0) {
LAB_00012ce5:
    var_48 = (type_7 *)0x0;
    local_880._44_4_ = var_32;
  }
  else {
    var_18 = var_12;
    var_4 = var_64(3,var_12,var_83);
    if (var_4 < 0) {
      piVar21 = var_27();
      var_32 = (type_7 *)*piVar21;
      var_56 = var_46(var_32);
      var_18 = "Unable to stat(%s) as SF: %s\n";
LAB_000136f9:
      var_8(var_18,var_12,var_56);
      var_48 = (type_7 *)var_39(var_32);
      goto LAB_00012354;
    }
    if ((type_5)local_820[7] == false) {
      var_85 = 0;
      if (local_820._64_2_ != 0) {
        var_85 = ((type_3)local_820._64_2_ + 1) * 0x20;
      }
      var_48 = (type_7 *)
                  var_65(var_12,(type_5)local_820[0],(type_5)(local_820[9] ^ 1),
                                 (uint8_t *)0x0,&var_66,(uint32_t *)&local_8f4,var_85);
      if (var_48 != (type_7 *)0x0) goto LAB_00012354;
      var_9 = extraout_ECX_03;
      if ((local_820._64_2_ != 0) && (local_820._64_2_ != var_66)) {
        if (var_66 < (type_3)local_820._64_2_) {
          var_8("RD (%u) %s number of %ss (%u) found in SF\n",local_820._64_2_,&DAT_000170dd,
                  "LBA range descriptor",var_66);
          var_48 = (type_7 *)0xf;
          goto LAB_00012354;
        }
        var_32 = (type_7 *)(var_56 | local_820._40_4_);
        if ((var_32 != (type_7 *)0x0) &&
           (var_8("RD (%u) %s number of %ss (%u) found in SF\n",local_820._64_2_,&DAT_00017110,
                    "LBA range descriptor",var_66), var_9 = extraout_ECX_01,
           local_820._40_4_ != 0)) goto LAB_00012ef5;
      }
      goto LAB_00012ce5;
    }
    if ((local_880._16_4_ & 0xf000) != 0x8000) {
      var_8("Expect scatter file to be a regular file\n",var_18,var_83,var_20);
      var_48 = (type_7 *)0xf;
      goto LAB_00012354;
    }
    var_48 = (type_7 *)local_880._44_4_;
    local_920 = (type_7 *)var_26(var_12,0,0x8000,0x8000);
    if ((int)local_920 < 0) {
      piVar21 = var_27();
      var_32 = (type_7 *)*piVar21;
      var_56 = var_46(var_32);
      var_18 = "Failed to open %s for raw read: %s\n";
      goto LAB_000136f9;
    }
    var_4 = var_28(local_920);
    var_9 = extraout_ECX_04;
    if (var_4 < 0) {
      var_38("sg_set_binary_mode");
      var_48 = (type_7 *)0xf;
      var_32 = (type_7 *)local_880._44_4_;
      goto LAB_00012354;
    }
  }
  var_82 = local_820._48_4_;
  var_32 = local_8f4;
  if ((type_5)local_820[9] == false) {
    if (var_14 == (type_7 *)0x0) {
      var_32 = (type_7 *)local_880._44_4_;
      if (var_12 == (char *)0x0) {
        if ((type_5)local_820[7] == false) {
          var_8("No LBA or number_of_blocks given, try using --lba= and --num=\n");
          var_48 = (type_7 *)0x1;
          goto LAB_00012354;
        }
      }
      else if ((type_5)local_820[7] == false) {
        local_8f4 = (type_7 *)0x0;
        var_48 = (type_7 *)
                    var_65(var_12,(type_5)local_820[0],true,var_37 + 0x50,&var_66,
                                   (uint32_t *)&local_8f4,0x60);
        if (var_48 != (type_7 *)0x0) goto LAB_00012354;
        if ((type_7 *)var_56 != (type_7 *)0x0) {
          var_10 = (type_6)var_66;
          if (1 < var_66) {
            var_10 = var_8("warning: %d LBA,number_of_blocks pairs found, only taking first\n",
                             var_10,extraout_EDX_05,extraout_EDX_05);
          }
          if (2 < (int)var_56) {
            var_8("after build_t10_scat, num_lbard=%u, sum_num=%u\n",var_66,local_8f4,var_10);
          }
        }
        if (var_66 != 1) {
          var_8("Unable to decode one LBA range descriptor from %s\n",var_12,0,0);
          var_48 = (type_7 *)0xf;
          goto LAB_00012354;
        }
        local_820._104_4_ =
             var_67 >> 0x18 | (var_67 & 0xff0000) >> 8 | (var_67 & 0xff00) << 8 |
             var_67 << 0x18;
        local_820._100_4_ =
             var_68 >> 0x18 | (var_68 & 0xff0000) >> 8 | (var_68 & 0xff00) << 8 |
             var_68 << 0x18;
        local_820._84_4_ =
             var_69 >> 0x18 | (var_69 & 0xff0000) >> 8 | (var_69 & 0xff00) << 8 |
             var_69 << 0x18;
        if ((type_5)local_820[1] != false) {
          local_820._96_4_ =
               var_70 >> 0x18 | (var_70 & 0xff0000) >> 8 | (var_70 & 0xff00) << 8 |
               var_70 << 0x18;
          local_820._58_2_ = var_71 << 8 | var_71 >> 8;
          local_820._68_2_ = var_72 << 8 | var_72 >> 8;
        }
        goto LAB_00012d48;
      }
      if (var_48 < (type_7 *)0x40) {
        var_8("raw scatter file must be at least 64 bytes long (length: %u)\n",var_48,
                local_880._44_4_,local_880._44_4_);
LAB_00012ef5:
        var_48 = (type_7 *)0xf;
        goto LAB_00012354;
      }
      var_32 = (type_7 *)(var_37 + 0x50);
      var_48 = (type_7 *)var_73((int)local_920,(uint8_t *)var_32,0x40,"SF");
      if (var_48 != (type_7 *)0x0) goto LAB_00012354;
      _Var9 = var_74((uint8_t *)var_32,0x40,(type_9 *)local_820,&var_66,
                          (uint32_t *)&local_8f4);
      if (!_Var9) goto LAB_00012ef5;
      if (var_66 != 1) {
        var_8("No %ss found in SF (num=%u)\n","LBA range descriptor",var_66,extraout_EDX_01);
        goto LAB_00012ef5;
      }
      local_820._104_4_ =
           var_75 >> 0x18 | (var_75 & 0xff0000) >> 8 | (var_75 & 0xff00) << 8 |
           var_75 << 0x18;
      local_820._100_4_ =
           var_76 >> 0x18 | (var_76 & 0xff0000) >> 8 | (var_76 & 0xff00) << 8 |
           var_76 << 0x18;
      local_820._84_4_ =
           var_77 >> 0x18 | (var_77 & 0xff0000) >> 8 | (var_77 & 0xff00) << 8 |
           var_77 << 0x18;
    }
    else {
      local_820._100_4_ = local_578;
      local_820._104_4_ = local_574;
      local_820._84_4_ = local_778[0];
      if (((type_7 *)var_56 != (type_7 *)0x0) && (var_14 != (type_7 *)0x1)) {
        var_8("warning: %d LBA,number_of_blocks pairs found, only taking first\n",var_14,
                var_9,var_9);
      }
    }
LAB_00012d48:
    if ((type_5)local_820[8] == false) {
      var_32 = (type_7 *)(local_820._84_4_ * local_820._76_4_);
    }
    else {
      var_32 = (type_7 *)0x0;
      if ((type_5)local_820[0x10] == false) {
        var_32 = (type_7 *)local_820._76_4_;
      }
    }
    local_7a4 = var_32;
    if (var_32 == (type_7 *)0x0) {
      var_79 = (uint8_t *)0x0;
    }
    else {
      var_79 = (uint8_t *)var_78(var_32,0,&var_43,0);
      if (var_79 == (uint8_t *)0x0) {
        var_18 = "unable to allocate %u bytes of memory\n";
        ppvVar44 = (void **)0x0;
        var_56 = 0;
        var_83 = var_32;
LAB_00013bea:
        var_8(var_18,var_83,ppvVar44,var_56);
        var_48 = (type_7 *)var_39(0xc);
        goto LAB_00012354;
      }
      if (var_32 < var_42) {
        var_42 = var_32;
      }
      var_48 = (type_7 *)var_73((int)local_924,var_79,(uint32_t)var_42,"IF 5");
      if (var_48 != (type_7 *)0x0) goto LAB_00012354;
    }
    var_48 = (type_7 *)var_80((int)local_930,var_79,(int)var_32,(type_9 *)local_820);
    if (var_48 == (type_7 *)0x0) goto LAB_00012354;
    if ((type_5)local_820[6] != false) goto LAB_00012354;
    var_63 = var_37;
    var_32 = (type_7 *)"OS error";
    var_52 = var_63;
    for (var_4 = 9; var_4 != 0; var_4 = var_4 + -1) {
      *var_52 = (char)var_32->st_dev;
      var_32 = (type_7 *)((int)var_32 + (type_6)bVar37 * -2 + 1);
      var_52 = var_52 + (type_6)bVar37 * -2 + 1;
    }
    var_82 = 0;
    if (0 < (int)var_48) {
      var_53(var_48,0x50,var_63,var_56);
      var_82 = extraout_ECX_02;
    }
    var_8("%s: %s\n",local_790,var_63,var_82);
    goto LAB_00012354;
  }
  var_86 = (void *)0x0;
  var_81 = var_66;
  local_8ec = local_8f4;
  if ((type_5)local_820[4] != false) {
    if (local_820._62_2_ == 0) {
      if (local_820._64_2_ == 0) {
        var_9 = var_42;
        if (var_42 == (type_7 *)0x0) {
          var_8("With --combined= if DOF, RD are 0 and IF has an unknown length\nthen give up\n");
          var_48 = (type_7 *)0x1f;
          goto LAB_00012354;
        }
      }
      else {
        var_9 = (type_7 *)(((type_3)local_820._64_2_ + 1) * 0x20);
      }
      if ((type_6)var_9 % (type_6)local_820._76_4_ != 0) {
        var_9 = (type_7 *)(((type_6)var_9 / (type_6)local_820._76_4_ + 1) * local_820._76_4_);
      }
    }
    else {
      var_9 = (type_7 *)((type_6)(type_3)local_820._62_2_ * local_820._76_4_);
    }
    ppvVar44 = &var_86;
    var_56 = 0;
    var_83 = (type_7 *)0x0;
    var_32 = (type_7 *)var_78(var_9,0,ppvVar44,0);
    if (var_32 == (type_7 *)0x0) {
LAB_000141a6:
      var_18 = "unable to allocate aligned memory for scatterlist+data\n";
      goto LAB_00013bea;
    }
    var_83 = var_42;
    if (var_9 < var_42) {
      var_83 = var_9;
    }
    var_4 = var_73((int)local_924,(uint8_t *)var_32,(uint32_t)var_83,"IF c1");
    var_48 = (type_7 *)var_4;
    if (var_4 != 0) goto LAB_000133fd;
    ppsVar42 = &local_8ec;
    var_2 = var_4;
    _Var9 = var_74((uint8_t *)var_32,(uint32_t)var_9,(type_9 *)local_820,&var_81,
                        (uint32_t *)ppsVar42);
    if (_Var9) {
      if ((local_820._64_2_ == 0) || (local_820._64_2_ == var_81)) {
        local_820._64_2_ = var_81;
LAB_00013fe3:
        var_48 = (type_7 *)(((type_3)local_820._64_2_ + 1) * 0x20);
        if ((type_6)var_48 % (type_6)local_820._76_4_ != 0) {
          var_48 = (type_7 *)(((type_6)var_48 / (type_6)local_820._76_4_ + 1) * local_820._76_4_);
        }
        var_10 = (type_6)(type_3)local_820._62_2_;
        var_16 = var_10 * local_820._76_4_;
        var_13 = var_48;
        var_81 = local_820._64_2_;
        if (var_16 - (int)var_48 != 0) {
          if (var_16 < var_48) {
            var_8("%s: Cannot fit %ss (%u) in given LB data offset (%u)\n","process_scattered",
                    "LBA range descriptor",(type_6)(type_3)local_820._64_2_,var_10,ppsVar42,var_4,
                    var_2);
            goto LAB_000133f3;
          }
          var_13 = (type_7 *)var_16;
          if (((var_82 | local_820._40_4_) != 0) &&
             (var_8("%s: empty blocks before LB data offset (%u), could be okay\n",
                      "process_scattered",var_10,var_82 | local_820._40_4_), local_820._40_4_ != 0))
          {
            var_8("Exiting due to --strict; perhaps try again with --combined=%u\n",
                    (type_6)var_48 / (type_6)local_820._76_4_,var_32,var_32);
            var_48 = (type_7 *)0xf;
            goto LAB_000133fd;
          }
        }
        var_13 = (type_7 *)((int)local_8ec * local_820._76_4_ + (int)var_13);
        if (var_13 <= var_9) {
LAB_0001418c:
          local_820._84_4_ = local_8ec;
          local_7a4 = (type_7 *)((int)local_8ec * local_820._76_4_);
          goto LAB_00013962;
        }
        if (var_42 != var_13) {
          if (var_42 < var_13) {
            var_8("Calculated dout length (%u) %s bytes available in IF (%u)\n",var_13,
                    &DAT_000170dd,var_42);
          }
          else if (((type_7 *)var_82 == (type_7 *)0x0 && local_820._40_4_ == 0) ||
                  (var_8("Calculated dout length (%u) %s bytes available in IF (%u)\n",var_13,
                           &DAT_00017110,var_42), local_820._40_4_ == 0)) goto LAB_00014113;
          goto LAB_000133f3;
        }
LAB_00014113:
        var_83 = (type_7 *)var_78(var_13,0,&local_8e4,0);
        if (var_83 != (type_7 *)0x0) {
          var_84(var_83,var_32,(size_t)var_9);
          var_44(var_86);
          var_86 = local_8e4;
          var_48 = (type_7 *)
                      var_73((int)local_924,
                               (uint8_t *)((int)&var_9->st_dev + (int)&var_83->st_dev),
                               (int)var_13 - (int)var_9,"IF c2");
          var_32 = var_83;
          if (var_48 != (type_7 *)0x0) goto LAB_000133fd;
          goto LAB_0001418c;
        }
LAB_00014273:
        var_18 = "unable to allocate memory for final scatterlist+data\n";
        goto LAB_00013fbc;
      }
      if (var_81 < (type_3)local_820._64_2_) {
        var_8("RD (%u) %s number of %ss (%u) found in IF\n",local_820._64_2_,&DAT_000170dd,
                "LBA range descriptor",var_81,ppsVar42,var_4,var_2);
      }
      else if (((type_7 *)var_82 == (type_7 *)0x0 && local_820._40_4_ == 0) ||
              (var_8("RD (%u) %s number of %ss (%u) found in IF\n",local_820._64_2_,&DAT_00017110,
                       "LBA range descriptor",var_81,ppsVar42,var_4,var_2),
              local_820._40_4_ == 0)) {
        var_48 = (type_7 *)0x0;
        for (var_83 = var_32;
            (type_7 *)(&var_32->st_dev + (type_6)(type_3)local_820._64_2_ * 4) != var_83;
            var_83 = (type_7 *)&var_83->st_rdev) {
          var_10 = var_83->__pad2;
          var_48 = (type_7 *)
                      ((int)&var_48->st_dev +
                      (var_10 >> 0x18 | (var_10 & 0xff0000) >> 8 | (var_10 & 0xff00) << 8 |
                      var_10 << 0x18));
        }
        local_8ec = var_48;
        goto LAB_00013fe3;
      }
    }
LAB_000133f3:
    var_48 = (type_7 *)0xf;
    goto LAB_000133fd;
  }
  if (var_14 != (type_7 *)0x0) {
    var_81 = (uint16_t)var_14;
  }
  if (var_12 == (char *)0x0) {
    if ((type_5)local_820[7] != false) goto LAB_00013dcd;
    if (var_14 == (type_7 *)0x0) {
      var_8("How did we get here??\n");
      var_48 = (type_7 *)0x1;
      goto LAB_000133fd;
    }
    if ((local_820._64_2_ != 0) && (var_14 < (type_10 *)(type_6)(type_3)local_820._64_2_)) {
      var_8("%s: number given to --scattered= (%u) exceeds number of --lba= elements (%u)\n",
              "process_scattered",(type_10 *)(type_6)(type_3)local_820._64_2_,var_14);
      var_48 = (type_7 *)0x1f;
      goto LAB_00012354;
    }
    var_10 = (var_81 + 1) * 0x20;
    local_820._62_2_ = (type_15)(var_10 / (type_6)local_820._76_4_);
    if (var_10 % (type_6)local_820._76_4_ != 0) {
      local_820._62_2_ = local_820._62_2_ + 1;
    }
    var_4 = 0;
    local_8ec = (type_7 *)0x0;
    do {
      local_8ec = (type_7 *)((int)&local_8ec->st_dev + (int)ppsVar42[var_4]);
      var_4 = var_4 + 1;
    } while (var_4 < (int)var_14);
    var_13 = (type_7 *)
                (((int)&local_8ec->st_dev + (type_6)(type_3)local_820._62_2_) * local_820._76_4_);
    var_32 = (type_7 *)var_78(var_13,0,&var_86,0);
    if (var_32 == (type_7 *)0x0) goto LAB_00013fb3;
    var_4 = 0;
    var_83 = var_32;
    do {
      var_10 = puVar47[var_4 * 2];
      var_16 = puVar47[var_4 * 2 + 1];
      *(type_6 *)&var_83->st_rdev =
           var_16 >> 0x18 | (var_16 & 0xff0000) >> 8 | (var_16 & 0xff00) << 8 | var_16 << 0x18;
      *(type_6 *)((int)&var_83->st_rdev + 4) =
           var_10 >> 0x18 | (var_10 & 0xff0000) >> 8 | (var_10 & 0xff00) << 8 | var_10 << 0x18;
      var_9 = ppsVar42[var_4];
      var_83->__pad2 =
           (type_6)var_9 >> 0x18 | ((type_6)var_9 & 0xff0000) >> 8 | ((type_6)var_9 & 0xff00) << 8 |
           (int)var_9 << 0x18;
      if ((type_5)local_820[1] != false) {
        if (var_4 == 0) {
          *(type_6 *)&var_83->st_size =
               (type_6)local_820._96_4_ >> 0x18 | (local_820._96_4_ & 0xff0000) >> 8 |
               (local_820._96_4_ & 0xff00) << 8 | local_820._96_4_ << 0x18;
          *(type_3 *)((int)&var_83->st_size + 4) =
               local_820._58_2_ << 8 | (type_3)local_820._58_2_ >> 8;
          *(type_3 *)((int)&var_83->st_size + 6) =
               local_820._68_2_ << 8 | (type_3)local_820._68_2_ >> 8;
        }
        else {
          *(type_8 *)&var_83->st_size = 0xffffffff;
          *(type_15 *)((int)&var_83->st_size + 4) = 0xffff;
          *(type_15 *)((int)&var_83->st_size + 6) = 0xffff;
        }
      }
      var_4 = var_4 + 1;
      var_83 = (type_7 *)&var_83->st_rdev;
    } while (var_4 < (int)var_14);
    local_820._84_4_ = local_8ec;
  }
  else {
    if ((type_5)local_820[7] == false) {
      var_10 = (type_6)var_81;
      var_56 = 0;
      var_85 = (var_10 + 1) * 0x20;
      local_820._62_2_ = (type_15)(var_85 / (type_6)local_820._76_4_);
      ppvVar44 = &var_86;
      if (var_85 % (type_6)local_820._76_4_ != 0) {
        local_820._62_2_ = local_820._62_2_ + 1;
      }
      var_83 = (type_7 *)0x0;
      var_32 = (type_7 *)
                var_78(((int)&local_8f4->st_dev + (type_6)(type_3)local_820._62_2_) *
                            local_820._76_4_,0,ppvVar44,0);
      if (var_32 == (type_7 *)0x0) goto LAB_000141a6;
      var_81 = 0;
      local_8ec = (type_7 *)0x0;
      if (var_10 + 1 == 1) {
        var_85 = (type_6)(type_3)local_820._62_2_ * local_820._76_4_;
      }
      var_48 = (type_7 *)
                  var_65(var_12,(type_5)local_820[0],(type_5)(local_820[9] ^ 1),
                                 (uint8_t *)var_32,&var_81,(uint32_t *)&local_8ec,var_85);
      if (var_48 != (type_7 *)0x0) goto LAB_000133fd;
      var_83 = (type_7 *)(local_820._76_4_ * (int)local_8ec);
      if ((type_6)local_820._80_4_ <= var_83) {
        if (((type_6)local_820._80_4_ <= var_83 && (int)var_83 - local_820._80_4_ != 0) &&
           ((type_7 *)local_820._80_4_ != (type_7 *)0x0)) {
          var_83 = (type_7 *)local_820._80_4_;
        }
LAB_00014208:
        if ((var_40 != (type_7 *)0x0) && (var_40 != var_83)) {
          if ((type_7 *)var_82 != (type_7 *)0x0) {
            puVar22 = &DAT_00017110;
            if (var_83 <= var_40) {
              puVar22 = &DAT_000170dd;
            }
            var_8("readable length (%u) of IF %s bytes implied by sum of\nscatter list NUMs (%u) and DLEN\n"
                    ,var_40,puVar22,var_83);
          }
          if ((local_820._40_4_ != 0) && ((var_83 <= var_40 || (1 < (int)local_820._40_4_))))
          goto LAB_000133f3;
LAB_0001387e:
          if (var_40 < var_83) {
            var_83 = var_40;
          }
        }
        var_9 = (type_7 *)((type_6)var_83 / (type_6)local_820._76_4_);
        if (((type_6)var_83 % (type_6)local_820._76_4_ != 0) &&
           (((type_7 *)var_82 != (type_7 *)0x0 || (1 < (int)local_820._40_4_)))) {
          var_20 = var_83;
          var_22 = (type_7 *)local_820._72_4_;
          var_8("Calculated data-out length (0x%x) not a multiple of BS (%u",var_83,
                  local_820._72_4_,var_9);
          if (local_820._72_4_ != local_820._76_4_) {
            var_20 = (type_7 *)(local_820._76_4_ - local_820._72_4_);
            var_22 = extraout_ECX_06;
            var_9 = extraout_ECX_06;
            var_8(" + %d(PI)",var_20,extraout_ECX_06,extraout_ECX_06);
          }
          if (1 < (int)local_820._40_4_) {
            var_8(")\nexiting ...\n",var_20,var_22,var_9);
            var_48 = (type_7 *)0xf;
            goto LAB_000133fd;
          }
          var_8(")\nzero pad and continue ...\n",var_20,var_22,var_9);
        }
      }
      else {
        var_10 = var_82 | local_820._40_4_;
        if (var_10 != 0) {
          var_8("DLEN > than bytes implied by sum of scatter list NUMs (%u)\n",var_83,var_10,
                  var_10);
          if (1 < (int)var_82) {
            var_8("  num_lbard=%u, sum_num=%u actual_bs=%u",var_81,local_8ec,local_820._76_4_);
          }
          if (local_820._40_4_ != 0) goto LAB_000133f3;
          goto LAB_00014208;
        }
        if ((var_40 != (type_7 *)0x0) && (var_40 != var_83)) goto LAB_0001387e;
      }
      var_48 = (type_7 *)
                  var_73((int)local_924,
                           (uint8_t *)
                           ((int)&var_32->st_dev +
                           (type_6)(type_3)local_820._62_2_ * local_820._76_4_),(uint32_t)var_83,
                           "IF 3");
      uVar4 = local_820._62_2_;
    }
    else {
LAB_00013dcd:
      var_83 = (type_7 *)local_820._76_4_;
      if (local_820._64_2_ != 0) {
        var_83 = (type_7 *)(((type_3)local_820._64_2_ + 1) * 0x20);
        if (var_48 < var_83) {
          var_8("SF not long enough (%u bytes) to provide RD (%u) %ss\n",var_48,var_83,
                  "LBA range descriptor");
          var_48 = (type_7 *)0xf;
          goto LAB_000133fd;
        }
        var_83 = (type_7 *)
                  ((((type_6)var_83 / (type_6)local_820._76_4_ + 1) -
                   (type_6)((type_6)var_83 % (type_6)local_820._76_4_ == 0)) * local_820._76_4_);
      }
      var_13 = (type_7 *)local_820._76_4_;
      if (var_42 != (type_7 *)0x0) {
        var_13 = (type_7 *)
                    ((((type_6)var_42 / (type_6)local_820._76_4_ + 1) -
                     (type_6)((type_6)var_42 % (type_6)local_820._76_4_ == 0)) * local_820._76_4_);
      }
      var_32 = (type_7 *)
                var_78((int)&var_83->st_dev + (int)&var_13->st_dev,0,&var_86,0);
      if (var_32 == (type_7 *)0x0) {
LAB_00013fb3:
        var_18 = "unable to allocate aligned memory for scatterlist+data\n";
LAB_00013fbc:
        var_8(var_18);
        var_48 = (type_7 *)var_39(0xc);
        goto LAB_000133fd;
      }
      var_48 = (type_7 *)var_73((int)local_920,(uint8_t *)var_32,(uint32_t)var_48,"SF");
      if (var_48 != (type_7 *)0x0) goto LAB_000133fd;
      _Var9 = var_74((uint8_t *)var_32,(uint32_t)var_83,(type_9 *)local_820,&var_81,
                          (uint32_t *)&local_8ec);
      if (!_Var9) goto LAB_000133f3;
      if (local_820._64_2_ != var_81) {
        var_8("Try again with --scattered=%u\n",var_81,extraout_EDX_06,extraout_EDX_06);
        var_48 = (type_7 *)0xf;
        goto LAB_000133fd;
      }
      var_9 = (type_7 *)(local_820._76_4_ * (int)local_8ec);
      if (var_13 < var_9) {
        var_20 = (type_7 *)
                  var_78((int)&var_83->st_dev + (int)&var_9->st_dev,0,&local_8e4,0);
        if (var_20 == (type_7 *)0x0) goto LAB_00014273;
        var_84(var_20,var_32,(size_t)var_83);
        var_44(var_86);
        var_86 = local_8e4;
        var_32 = var_20;
        var_13 = var_9;
      }
      var_9 = var_83;
      if ((var_42 != var_83) &&
         (var_9 = var_42, (type_7 *)var_82 != (type_7 *)0x0 || local_820._40_4_ != 0)) {
        puVar22 = &DAT_000170dd;
        if (var_42 <= var_83) {
          puVar22 = &DAT_00017110;
        }
        var_20 = var_83;
        var_8("IF length (%u) %s \'sum_num\' bytes (%u), ",var_42,puVar22,var_83);
        if (1 < (int)local_820._40_4_) {
          var_8("exiting (strict=%d)\n",local_820._40_4_,var_83,var_83);
          var_48 = (type_7 *)0xf;
          goto LAB_000133fd;
        }
        var_8("continuing ...\n",var_9,puVar22,var_20);
        var_9 = var_83;
        if (var_42 < var_83) {
          var_9 = var_42;
        }
      }
      var_48 = (type_7 *)
                  var_73((int)local_924,
                           (uint8_t *)((int)&var_32->st_dev + (int)&var_13->st_dev),
                           (uint32_t)var_9,"IF 4");
      uVar4 = var_81;
    }
    if (var_48 != (type_7 *)0x0) goto LAB_000133fd;
    local_7a4 = (type_7 *)((int)local_8ec * local_820._76_4_);
    var_13 = (type_7 *)(((int)&local_8ec->st_dev + (type_6)uVar4) * local_820._76_4_);
    local_820._84_4_ = local_8ec;
  }
LAB_00013962:
  local_8ec = (type_7 *)local_820._84_4_;
  var_48 = (type_7 *)var_80((int)local_930,var_32,(int)var_13,(type_9 *)local_820);
  if (var_48 != (type_7 *)0x0) {
    var_63 = var_37 + 0x50;
    var_32 = (type_7 *)"OS error";
    var_52 = var_63;
    for (var_4 = 9; var_4 != 0; var_4 = var_4 + -1) {
      *var_52 = (char)var_32->st_dev;
      var_32 = (type_7 *)((int)var_32 + (type_6)bVar37 * -2 + 1);
      var_52 = var_52 + (type_6)bVar37 * -2 + 1;
    }
    if (0 < (int)var_48) {
      var_53(var_48,0x50,var_63,var_82);
    }
    var_8("%s: %s\n",local_790,var_63,var_32);
  }
LAB_000133fd:
  if (var_86 == (void *)0x0) goto LAB_00012354;
  var_44(var_86);
  goto LAB_00012354;
_L476:
  uVar38 = var_19(*(type_8 *)PTR_optarg_0001dffc);
  var_9 = (type_7 *)local_820._80_4_;
  var_85 = local_820._92_4_;
  var_10 = (type_6)uVar38;
  if ((int)((type_14)uVar38 >> 0x20) != 0) goto LAB_00012b94;
  goto LAB_000114e8;
LAB_00012b94:
  var_8("bad argument to \'--ref-tag=\'. Expect 0 to 0xffffffff inclusive\n");
LAB_00011a7a:
  var_48 = (type_7 *)0x1;
LAB_00011a84:
  do {
    var_32 = (type_7 *)(var_87 ^ *(type_6 *)(var_1 + 0x14));
    if (var_32 == (type_7 *)0x0) {
      return (int)var_48;
    }
    var_88();
LAB_00013b9f:
    var_8("build_lba_arr: array length exceeded\n");
LAB_00012130:
    var_8("bad argument to \'--lba\'\n");
    var_48 = (type_7 *)0x1;
LAB_00012354:
    if (var_43 != (void *)0x0) {
      var_44(var_43);
    }
    var_4 = var_89(local_930);
    if (var_4 < 0) {
      if ((type_5)local_820[6] == false) {
        var_56 = var_46(-var_4);
        var_8("sg_fd close error: %s\n",var_56);
      }
      if (var_48 == (type_7 *)0x0) {
        var_48 = (type_7 *)0xf;
      }
    }
    if ((-1 < (int)local_920) && (var_4 = var_90((int)local_920), var_4 < 0)) {
      if ((type_5)local_820[6] == false) {
        var_38("sfr_fd close error");
      }
      if (var_48 == (type_7 *)0x0) {
        var_48 = (type_7 *)0xf;
      }
    }
LAB_000123a1:
    if (((var_91 == '\x01') || ((int)local_924 < 0)) ||
       (var_18 = (char *)var_90((int)local_924), -1 < (int)var_18)) {
LAB_000123cc:
      if ((((type_7 *)local_820._48_4_ == (type_7 *)0x0) && ((type_5)local_820[6] == false)) &&
         (var_24 = var_92("sg_write_x failed: ",var_48,var_32,var_32), var_24 == '\0'))
      goto LAB_0001260b;
      goto LAB_000123e2;
    }
    if ((type_5)local_820[6] == false) {
      var_18 = "infd close error";
      var_38("infd close error");
    }
    if (var_48 != (type_7 *)0x0) goto LAB_000123cc;
    var_48 = (type_7 *)0xf;
    if ((((type_7 *)local_820._48_4_ == (type_7 *)0x0) && ((type_5)local_820[6] == false)) &&
       (var_24 = var_92("sg_write_x failed: ",0xf,var_18,var_18), var_24 == '\0')) {
LAB_0001260b:
      var_8("Some error occurred, try again with \'-v\' or \'-vv\' for more information\n");
LAB_000123e2:
      if ((int)var_48 < 0) {
        var_48 = (type_7 *)0x63;
      }
    }
  } while( true );
}


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

/* WARNING: Function: __i686.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */

int MASKED(int param_1,int param_2)

{
  byte bVar1;
  char cVar2;
  __dev_t *p_Var3;
  undefined *puVar4;
  undefined *puVar5;
  char cVar6;
  uint uVar7;
  stat64 *psVar8;
  stat64 *psVar9;
  int iVar10;
  stat64 *psVar11;
  char *pcVar12;
  char *pcVar13;
  int iVar14;
  char *pcVar15;
  undefined4 uVar16;
  stat64 *psVar17;
  stat64 *psVar18;
  int *piVar19;
  undefined *puVar20;
  int iVar21;
  stat64 *extraout_ECX;
  stat64 *extraout_ECX_00;
  stat64 *extraout_ECX_01;
  undefined4 extraout_ECX_02;
  undefined4 extraout_ECX_03;
  stat64 *extraout_ECX_04;
  stat64 *extraout_ECX_05;
  stat64 *extraout_ECX_06;
  stat64 *extraout_ECX_07;
  stat64 *extraout_ECX_08;
  int extraout_EDX;
  stat64 *psVar22;
  stat64 *psVar23;
  stat64 *extraout_EDX_00;
  undefined4 extraout_EDX_01;
  stat64 *extraout_EDX_02;
  stat64 *extraout_EDX_03;
  stat64 *extraout_EDX_04;
  undefined4 extraout_EDX_05;
  uint uVar24;
  stat64 *psVar25;
  uint *puVar26;
  stat64 **ppsVar27;
  int iVar28;
  undefined1 *puVar29;
  int in_GS_OFFSET;
  bool bVar30;
  bool bVar31;
  byte bVar32;
  undefined8 uVar33;
  longlong lVar34;
  __off64_t _Var35;
  undefined4 uVar36;
  undefined4 uVar37;
  stat64 *psVar38;
  void **ppvVar39;
  undefined4 uVar40;
  uint uVar41;
  uint *puVar42;
  undefined1 *puVar43;
  stat64 **ppsVar44;
  stat64 *psVar45;
  char local_93f;
  stat64 *local_93c;
  stat64 *local_930;
  stat64 *local_924;
  stat64 *local_920;
  stat64 *local_91c;
  stat64 *local_918;
  stat64 *local_908;
  ushort local_8f8;
  ushort local_8f6;
  stat64 *local_8f4;
  void *local_8f0;
  undefined1 local_8ec [4];
  void *local_8e8;
  void *local_8e4;
  undefined1 local_8e0 [48];
  int local_8b0;
  undefined1 local_880 [96];
  char local_820;
  char local_81f;
  byte bStack_81e;
  byte local_81d;
  char local_81c;
  byte local_81b;
  char local_81a;
  char local_819;
  byte local_818;
  byte local_817;
  byte local_816;
  byte bStack_815;
  byte local_814;
  char local_813;
  undefined1 uStack_812;
  undefined1 uStack_811;
  byte local_810;
  char local_80f;
  char local_80e;
  uint uStack_80c;
  int iStack_808;
  uint uStack_804;
  int local_800;
  int local_7fc;
  uint local_7f8;
  int local_7f4;
  stat64 *local_7f0;
  stat64 *local_7ec;
  undefined1 uStack_7e8;
  undefined1 uStack_7e7;
  ushort local_7e6;
  undefined2 uStack_7e4;
  ushort local_7e2;
  ushort local_7e0;
  undefined2 uStack_7de;
  ushort local_7dc;
  undefined2 uStack_7da;
  stat64 *local_7d8;
  stat64 *local_7d4;
  stat64 *local_7d0;
  stat64 *local_7cc;
  undefined4 uStack_7c8;
  undefined4 uStack_7c4;
  uint local_7c0;
  uint local_7bc;
  uint local_7b8;
  stat64 *local_7b4;
  stat64 *local_7b0;
  int local_7ac;
  int local_7a8;
  stat64 *local_7a4;
  stat64 *local_7a0;
  char *local_79c;
  char *local_798;
  stat64 *local_794;
  undefined1 local_790 [24];
  stat64 *local_778 [128];
  uint local_578;
  uint local_574;
  undefined1 local_174 [96];
  uint local_114;
  uint local_110;
  uint local_10c;
  uint local_104;
  uint local_100;
  uint local_fc;
  uint local_f8;
  ushort local_f4;
  ushort local_f2;
  uint local_24;
  undefined4 *local_18;
  
  iVar28 = param_2;
  iVar14 = param_1;
  puVar20 = PTR_optarg_0001dffc;
  bVar32 = 0;
  local_18 = &param_1;
  local_24 = *(uint *)(in_GS_OFFSET + 0x14);
  local_8f8 = 0;
  local_8f4 = (stat64 *)0x0;
  local_8f0 = (void *)0x0;
  local_918 = (stat64 *)0x0;
  local_91c = (stat64 *)0x0;
  pcVar15 = &local_820;
  for (iVar21 = 0x2a; iVar21 != 0; iVar21 = iVar21 + -1) {
    pcVar15[0] = '\0';
    pcVar15[1] = '\0';
    pcVar15[2] = '\0';
    pcVar15[3] = '\0';
    pcVar15 = pcVar15 + 4;
  }
  local_930 = (stat64 *)local_8e0;
  local_7fc = -1;
  psVar18 = local_930;
  for (iVar21 = 0x18; iVar21 != 0; iVar21 = iVar21 + -1) {
    *(undefined4 *)&psVar18->st_dev = 0;
    psVar18 = (stat64 *)((int)&psVar18->st_dev + 4);
  }
  psVar18 = (stat64 *)local_880;
  local_7c0 = 0xffffffff;
  psVar38 = psVar18;
  for (iVar21 = 0x18; iVar21 != 0; iVar21 = iVar21 + -1) {
    *(undefined4 *)&psVar38->st_dev = 0;
    psVar38 = (stat64 *)((int)&psVar38->st_dev + 4);
  }
  cVar2 = ' ';
  local_7e6 = 0xffff;
  local_7dc = 0xffff;
  local_7f4 = 0x78;
  bVar1 = 0;
  local_924 = (stat64 *)PTR_optarg_0001dffc;
  psVar38 = local_7d0;
  uVar16 = uStack_7c4;
  uVar7 = local_7c0;
code_r0x000114e8:
  local_7c0 = uVar7;
  uStack_7c4 = uVar16;
  local_7d0 = psVar38;
  local_8e4 = (void *)0x0;
  uVar33 = getopt_long(iVar14,iVar28,"36a:A:b:B:c:dD:Efg:G:hi:I:l:M:n:No:Oq:Qr:RsS:t:T:u:vVw:x",
                       &PTR_DAT_0001e020,&local_8e4);
  puVar5 = PTR_optarg_0001dffc;
  puVar4 = PTR_optind_0001dfe4;
  if ((int)uVar33 == -1) {
    iVar21 = *(int *)PTR_optind_0001dfe4;
    local_920 = (stat64 *)0xffffffff;
    if (iVar21 < iVar14) {
      iVar10 = (int)((ulonglong)uVar33 >> 0x20);
      if (local_7a0 != (stat64 *)0x0) goto LAB_00011c60;
      local_7a0 = *(stat64 **)(iVar28 + iVar21 * 4);
      *(int *)PTR_optind_0001dfe4 = iVar21 + 1;
      iVar10 = iVar28;
      if (iVar21 + 1 < iVar14) goto LAB_00011c60;
    }
    if ((bool)(bVar1 & local_7f8 != 0)) goto LAB_00011a7a;
    if (0 < local_800) {
      FUN_000149b0();
      local_908 = (stat64 *)0x0;
      goto LAB_00011a84;
    }
    if (local_80f == '\0') {
LAB_00011c9f:
      if (local_80e != '\0') {
        pr2serr("sg_write_x version: %s\n","1.19 20180628",puVar4,puVar4);
        local_908 = (stat64 *)0x270f;
        goto LAB_00011a84;
      }
    }
    else if (local_80e != '\0') {
      pr2serr("Not in DEBUG mode, so \'-vV\' has no special action\n");
      goto LAB_00011c9f;
    }
    psVar38 = local_7f0;
    psVar17 = psVar38;
    if (local_820 == '\0') {
      if (local_81f == '\0') {
        psVar17 = (stat64 *)((int)&local_7f0[-1].st_ino + 7);
        local_820 = '\x01';
        if (psVar17 != (stat64 *)0x0 && 0 < (int)local_7f0) {
          pr2serr("Since neither --16 nor --32 given, choose --16\n");
        }
      }
    }
    else if ((local_81f != '\0') && (local_820 = '\0', 1 < (int)local_7f0)) {
      pr2serr("Since both --16 and --32 given, choose --32\n");
    }
    uVar7 = (uint)local_81d + (uint)local_814 + (uint)local_81b + (uint)local_818 + (uint)local_817
            + (uint)local_816;
    if (1 < uVar7) {
      pr2serr(
             "Can only select one command; so only one of --atomic, --normal, --or,\n--same=, --scattered= or --stream=\n"
             );
      local_908 = (stat64 *)0x1f;
      goto LAB_00011a84;
    }
    if (uVar7 == 0) {
      if (local_7f8 != 0) {
        pr2serr("With --strict won\'t default to a normal WRITE, add --normal\n");
        local_908 = (stat64 *)0x1f;
        goto LAB_00011a84;
      }
      local_794 = (stat64 *)0x17164;
      local_814 = 1;
      if (psVar38 != (stat64 *)0x0) {
        pr2serr("No command selected so choose \'normal\' WRITE\n");
      }
    }
    psVar8 = (stat64 *)((-(uint)(local_820 == '\0') & 0x10) + 0x10);
    psVar22 = local_794;
    __snprintf_chk(local_790,0x18,1,0x18,"%s(%d)",local_794,psVar8,psVar17);
    if (local_81c == '\0') {
      if (local_798 != (char *)0x0) {
        local_93f = local_918 != (stat64 *)0x0;
        bVar30 = local_91c != (stat64 *)0x0 || local_918 != (stat64 *)0x0;
        bVar31 = local_91c != (stat64 *)0x0;
        if (local_91c == (stat64 *)0x0 && local_918 == (stat64 *)0x0) {
          iVar14 = -1;
          pcVar15 = local_798;
          goto code_r0x00011d5c;
        }
        pr2serr(
               "want one and only one of: (--lba=LBA and/or --num=NUM), or\n--scat-file=SF, or --combined=DOF\n"
               );
        local_908 = (stat64 *)0x1f;
        goto LAB_00011a84;
      }
      if (local_819 == '\0') {
        local_93f = local_918 != (stat64 *)0x0;
        bVar30 = local_91c != (stat64 *)0x0 || local_918 != (stat64 *)0x0;
        bVar31 = local_91c != (stat64 *)0x0;
        goto LAB_00011d67;
      }
      pr2serr(
             "--scat-raw only applies to the --scat-file=SF option\n--scat-raw without the --scat-file=SF option is an error\n"
             );
      local_908 = (stat64 *)0x1f;
      goto LAB_00011a84;
    }
    if (local_817 == 0) {
      pr2serr(
             "--combined=DOF only allowed with --scattered=RD (i.e. only with\nWRITE SCATTERED command)\n"
             );
      local_908 = (stat64 *)0x1f;
      goto LAB_00011a84;
    }
    if (local_798 != (char *)0x0) {
      pr2serr("Ambiguous: got --combined=DOF and --scat-file=SF .\nGive one, the other or neither\n"
             );
      local_908 = (stat64 *)0x1f;
      goto LAB_00011a84;
    }
    if (local_91c == (stat64 *)0x0 && local_918 == (stat64 *)0x0) {
      local_93f = local_819;
      bVar30 = false;
      bVar31 = false;
      if (local_819 == '\0') goto LAB_00011d67;
      pr2serr("Ambiguous: don\'t expect --combined=DOF and --scat-raw\nGive one or the other\n");
      local_908 = (stat64 *)0x1f;
    }
    else {
      pr2serr("--scattered=RD --combined=DOF does not use --lba= or --num=\nPlease remove.\n");
      local_908 = (stat64 *)0x1f;
    }
    goto LAB_00011a84;
  }
  local_920 = local_924;
  psVar38 = local_7d0;
  uVar16 = uStack_7c4;
  uVar7 = local_7c0;
  switch((int)uVar33) {
  case 0x33:
    local_81f = '\x01';
    goto code_r0x000114e8;
  default:
    pcVar15 = "unrecognised option code 0x%x ??\n";
    break;
  case 0x36:
    local_820 = '\x01';
    goto code_r0x000114e8;
  case 0x3f:
    pcVar15 = "\n";
    break;
  case 0x41:
    uVar7 = func_0x00011320(*(undefined4 *)PTR_optarg_0001dffc);
    if (0xffff < uVar7) {
      pr2serr("bad argument to \'--atomic=\'. Expect 0 to 0xffff inclusive\n");
      goto LAB_00011a7a;
    }
    uStack_7e4 = (undefined2)uVar7;
    local_81d = 1;
    local_794 = (stat64 *)0x17112;
    psVar38 = local_7d0;
    uVar16 = uStack_7c4;
    uVar7 = local_7c0;
    goto code_r0x000114e8;
  case 0x42:
    uVar24 = func_0x00011320(*(undefined4 *)PTR_optarg_0001dffc);
    if (7 < uVar24) {
      pr2serr("bad first argument to \'--bmop=\'\n");
      goto LAB_00011a7a;
    }
    uStack_7e8 = (undefined1)uVar24;
    uVar36 = 0x2c;
    uVar41 = uVar24;
    pcVar15 = strchr(*(char **)puVar5,0x2c);
    psVar38 = local_7d0;
    uVar16 = uStack_7c4;
    uVar7 = local_7c0;
    if (pcVar15 != (char *)0x0) {
      uVar7 = func_0x00011320(pcVar15 + 1,uVar36,uVar24,uVar41);
      if (0xf < uVar7) {
        pr2serr("bad second argument to \'--bmop=\'\n");
        goto LAB_00011a7a;
      }
      uStack_7e7 = (undefined1)uVar7;
      psVar38 = local_7d0;
      uVar16 = uStack_7c4;
      uVar7 = local_7c0;
    }
    goto code_r0x000114e8;
  case 0x44:
    uStack_80c = func_0x00011320(*(undefined4 *)PTR_optarg_0001dffc);
    psVar38 = local_7d0;
    uVar16 = uStack_7c4;
    uVar7 = local_7c0;
    if (7 < uStack_80c) {
      pr2serr("bad argument to \'--dld=\', expect 0 to 7 inclusive\n");
      goto LAB_00011a7a;
    }
    goto code_r0x000114e8;
  case 0x47:
    uVar33 = sg_get_llnum(*(undefined4 *)PTR_optarg_0001dffc);
    uVar36 = (undefined4)uVar33;
    if ((int)((ulonglong)uVar33 >> 0x20) != 0) {
      pr2serr("bad first argument to \'--generation=\'\n");
      goto LAB_00011a7a;
    }
    uVar37 = 0x2c;
    uVar40 = uVar36;
    uStack_7c8 = uVar36;
    pcVar15 = strchr(*(char **)puVar5,0x2c);
    if (pcVar15 == (char *)0x0) {
      pr2serr("need two arguments with --generation=EOG,NOG and they must be comma separated\n",
              uVar37,uVar36,uVar40);
      goto LAB_00011a7a;
    }
    uVar33 = sg_get_llnum(pcVar15 + 1);
    psVar38 = local_7d0;
    uVar16 = (int)uVar33;
    uVar7 = local_7c0;
    if ((int)((ulonglong)uVar33 >> 0x20) != 0) {
      pr2serr("bad second argument to \'--generation=\'\n",uVar37,uVar36,uVar40);
      goto LAB_00011a7a;
    }
    goto code_r0x000114e8;
  case 0x49:
    local_7f4 = func_0x00011320(*(undefined4 *)PTR_optarg_0001dffc);
    psVar38 = local_7d0;
    uVar16 = uStack_7c4;
    uVar7 = local_7c0;
    if (local_7f4 < 0) {
      pr2serr("bad argument to \'--timeout=\'\n");
      goto LAB_00011a7a;
    }
    goto code_r0x000114e8;
  case 0x4d:
    uVar7 = func_0x00011320(*(undefined4 *)PTR_optarg_0001dffc);
    if (1 < uVar7) {
      pr2serr("bad argument to \'--same\', expect 0 or 1\n");
      goto LAB_00011a7a;
    }
    local_810 = (byte)uVar7 & 1;
    local_818 = 1;
    local_794 = (stat64 *)0x17159;
    psVar38 = local_7d0;
    uVar16 = uStack_7c4;
    uVar7 = local_7c0;
    goto code_r0x000114e8;
  case 0x4e:
    local_814 = 1;
    local_794 = (stat64 *)0x17164;
    goto code_r0x000114e8;
  case 0x4f:
    local_81b = 1;
    local_794 = (stat64 *)0x1716a;
    goto code_r0x000114e8;
  case 0x51:
    local_81a = '\x01';
    goto code_r0x000114e8;
  case 0x52:
    local_819 = '\x01';
    goto code_r0x000114e8;
  case 0x53:
    uVar7 = func_0x00011320(*(undefined4 *)PTR_optarg_0001dffc);
    if (0xffff < uVar7) {
      pr2serr("bad argument to \'--scattered=\'. Expect 0 to 0xffff inclusive\n");
      goto LAB_00011a7a;
    }
    local_7e0 = (ushort)uVar7;
    local_794 = (stat64 *)0x17172;
    local_817 = 1;
    psVar38 = local_7d0;
    uVar16 = uStack_7c4;
    uVar7 = local_7c0;
    goto code_r0x000114e8;
  case 0x54:
    uVar7 = func_0x00011320(*(undefined4 *)PTR_optarg_0001dffc);
    if (0xffff < uVar7) {
      pr2serr("bad argument to \'--stream=\', expect 0 to 65535\n");
      goto LAB_00011a7a;
    }
    uStack_7de = (undefined2)uVar7;
    local_794 = (stat64 *)0x17182;
    local_816 = 1;
    psVar38 = local_7d0;
    uVar16 = uStack_7c4;
    uVar7 = local_7c0;
    goto code_r0x000114e8;
  case 0x56:
    local_80e = '\x01';
    goto code_r0x000114e8;
  case 0x61:
    uVar7 = func_0x00011320(*(undefined4 *)PTR_optarg_0001dffc);
    if (0xffff < uVar7) {
      pr2serr("bad argument to \'--app-tag=\'. Expect 0 to 0xffff inclusive\n");
      goto LAB_00011a7a;
    }
    local_7e6 = (ushort)uVar7;
    psVar38 = local_7d0;
    uVar16 = uStack_7c4;
    uVar7 = local_7c0;
    goto code_r0x000114e8;
  case 0x62:
    psVar17 = (stat64 *)func_0x00011320(*(undefined4 *)PTR_optarg_0001dffc);
    if ((stat64 *)0x10000000 < psVar17) {
      pr2serr("bad argument to \'--bs=\'. Expect 0 or greater\n");
      goto LAB_00011a7a;
    }
    if (psVar17 == (stat64 *)0x0) {
      local_7d8 = (stat64 *)0x0;
      local_7d4 = (stat64 *)0x0;
      psVar38 = local_7d0;
      uVar16 = uStack_7c4;
      uVar7 = local_7c0;
    }
    else {
      if ((int)psVar17 < 0x200) {
        pr2serr("warning: --bs=BS value is < 512 which seems too small, continue\n");
        bVar1 = 1;
      }
      if (((uint)psVar17 & 7) != 0) {
        pr2serr("warning: --bs=BS value is not a multiple of 8, unexpected, continue\n");
        bVar1 = 1;
      }
      iVar21 = 0;
      iVar10 = 0;
      psVar38 = psVar17;
      do {
        if (((uint)psVar38 & 1) != 0) {
          iVar21 = iVar10;
        }
        iVar10 = iVar10 + 1;
        psVar38 = (stat64 *)((int)psVar38 >> 1);
      } while (iVar10 != 0x1c);
      psVar22 = (stat64 *)(1 << ((byte)iVar21 & 0x1f));
      local_7d8 = psVar17;
      local_7d4 = psVar17;
      psVar38 = local_7d0;
      uVar16 = uStack_7c4;
      uVar7 = local_7c0;
      if (psVar17 != psVar22) {
        local_7d8 = psVar22;
      }
    }
    goto code_r0x000114e8;
  case 99:
    iVar21 = func_0x00011320(*(undefined4 *)PTR_optarg_0001dffc);
    if (iVar21 < 0) {
      pr2serr("bad argument to \'--combined=\'. Expect 0 to 0x7fffffff\n");
      goto LAB_00011a7a;
    }
    local_7e2 = (ushort)iVar21;
    local_81c = '\x01';
    psVar38 = local_7d0;
    uVar16 = uStack_7c4;
    uVar7 = local_7c0;
    goto code_r0x000114e8;
  case 100:
    uStack_812 = 1;
    goto code_r0x000114e8;
  case 0x66:
    uStack_811 = 1;
    goto code_r0x000114e8;
  case 0x67:
    uStack_804 = func_0x00011320(*(undefined4 *)PTR_optarg_0001dffc);
    psVar38 = local_7d0;
    uVar16 = uStack_7c4;
    uVar7 = local_7c0;
    if (0x3f < uStack_804) {
      pr2serr("bad argument to \'--grpnum\'\n");
      goto LAB_00011a7a;
    }
    goto code_r0x000114e8;
  case 0x68:
    local_800 = local_800 + 1;
    goto code_r0x000114e8;
  case 0x69:
    local_79c = *(char **)PTR_optarg_0001dffc;
    goto code_r0x000114e8;
  case 0x6c:
    if (local_91c != (stat64 *)0x0) {
      pr2serr("only expect \'--lba=\' option once\n");
      goto LAB_00011a7a;
    }
    local_91c = *(stat64 **)PTR_optarg_0001dffc;
    goto code_r0x000114e8;
  case 0x6e:
    if (local_918 != (stat64 *)0x0) {
      pr2serr("only expect \'--num=\' option once\n");
      goto LAB_00011a7a;
    }
    local_918 = *(stat64 **)PTR_optarg_0001dffc;
    goto code_r0x000114e8;
  case 0x6f:
    lVar34 = sg_get_llnum(*(undefined4 *)PTR_optarg_0001dffc);
    psVar17 = (stat64 *)lVar34;
    if (lVar34 == -1) {
      pr2serr("bad first argument to \'--offset=\'\n");
      goto LAB_00011a7a;
    }
    uVar36 = 0x2c;
    psVar22 = psVar17;
    local_7b4 = psVar17;
    local_7b0 = (stat64 *)((ulonglong)lVar34 >> 0x20);
    pcVar15 = strchr(*(char **)puVar5,0x2c);
    psVar38 = local_7d0;
    uVar16 = uStack_7c4;
    uVar7 = local_7c0;
    if (pcVar15 != (char *)0x0) {
      lVar34 = sg_get_llnum(pcVar15 + 1,uVar36,psVar17,psVar22);
      psVar38 = (stat64 *)lVar34;
      uVar16 = uStack_7c4;
      uVar7 = local_7c0;
      if ((int)((ulonglong)lVar34 >> 0x20) == -1) {
        if (psVar38 == (stat64 *)0xffffffff) {
          pr2serr("bad second argument to \'--offset=\'\n");
          goto LAB_00011a7a;
        }
      }
      else if (0xffffffff < lVar34) {
        pr2serr("bad second argument to \'--offset=\', cannot exceed 32 bits\n");
        goto LAB_00011a7a;
      }
    }
    goto code_r0x000114e8;
  case 0x71:
    local_798 = *(char **)PTR_optarg_0001dffc;
    goto code_r0x000114e8;
  case 0x72:
    goto code_r0x000115f1;
  case 0x73:
    local_7f8 = local_7f8 + 1;
    goto code_r0x000114e8;
  case 0x74:
    uVar7 = func_0x00011320(*(undefined4 *)PTR_optarg_0001dffc);
    if (0xffff < uVar7) {
      pr2serr("bad argument to \'--tag-mask=\'. Expect 0 to 0xffff inclusive\n");
      goto LAB_00011a7a;
    }
    local_7dc = (ushort)uVar7;
    psVar38 = local_7d0;
    uVar16 = uStack_7c4;
    uVar7 = local_7c0;
    goto code_r0x000114e8;
  case 0x75:
    uVar7 = func_0x00011320(*(undefined4 *)puVar20);
    if (3 < uVar7) {
      pr2serr("bad argument to \'--unmap=\', expect 0 to 3\n");
      goto LAB_00011a7a;
    }
    bStack_81e = (byte)(uVar7 >> 1) & 1;
    bStack_815 = (byte)uVar7 & 1;
    psVar38 = local_7d0;
    uVar16 = uStack_7c4;
    uVar7 = local_7c0;
    goto code_r0x000114e8;
  case 0x76:
    local_80f = '\x01';
    local_7f0 = (stat64 *)((int)&local_7f0->st_dev + 1);
    goto code_r0x000114e8;
  case 0x77:
    local_7ec = (stat64 *)func_0x00011320(*(undefined4 *)puVar20);
    if ((stat64 *)0x7 < local_7ec) {
      pr2serr("bad argument to \'--wrprotect\'\n");
      goto LAB_00011a7a;
    }
    local_813 = 0 < (int)local_7ec;
    psVar38 = local_7d0;
    uVar16 = uStack_7c4;
    uVar7 = local_7c0;
    goto code_r0x000114e8;
  case 0x78:
    iStack_808 = iStack_808 + 1;
    goto code_r0x000114e8;
  }
  pr2serr(pcVar15);
  FUN_000149b0();
  goto LAB_00011a7a;
LAB_00011c60:
  while (*(int *)puVar4 < iVar14) {
    pr2serr("Unexpected extra argument: %s\n",*(undefined4 *)(iVar28 + *(int *)puVar4 * 4),iVar10,
            iVar10);
    *(int *)puVar4 = *(int *)puVar4 + 1;
    iVar10 = extraout_EDX;
  }
  FUN_000149b0();
  local_908 = (stat64 *)0x1;
  goto LAB_00011a84;
  while( true ) {
    iVar14 = iVar14 + -1;
    cVar6 = *pcVar15;
    pcVar15 = pcVar15 + (uint)bVar32 * -2 + 1;
    if (cVar6 == '\0') break;
code_r0x00011d5c:
    if (iVar14 == 0) break;
  }
  if ((iVar14 == -3) && (*local_798 == '-')) {
    pr2serr("don\'t accept \'-\' (implying stdin) as a filename in --scat-file=SF\n");
    local_908 = (stat64 *)0x1f;
    goto LAB_00011a84;
  }
LAB_00011d67:
  if (((psVar38 != (stat64 *)0x0) && (local_820 != '\0')) &&
     ((local_7c0 != 0xffffffff || ((local_7e6 & local_7dc) != 0xffff)))) {
    pr2serr("--app-tag=, --ref-tag= and --tag-mask= options ignored with 16 byte commands\n");
  }
  psVar45 = local_7d0;
  psVar9 = (stat64 *)(uint)local_810;
  if (local_810 == 0) {
    local_93c = local_7d0;
    cVar2 = '\0';
    if (local_79c == (char *)0x0) {
      pr2serr("Need --if=FN option to be given, exiting.\n");
      if (1 < (int)psVar38) {
        pr2serr("To write zeros use --in=/dev/zero\n");
      }
      pr2serr("\n");
      FUN_000149b0();
      local_908 = (stat64 *)0x1;
      goto LAB_00011a84;
    }
    iVar14 = -1;
    pcVar15 = local_79c;
    do {
      if (iVar14 == 0) break;
      iVar14 = iVar14 + -1;
      cVar6 = *pcVar15;
      pcVar15 = pcVar15 + (uint)bVar32 * -2 + 1;
    } while (cVar6 != '\0');
    if ((iVar14 != -3) || (*local_79c != '-')) {
      local_924 = (stat64 *)open64(local_79c,0,iVar14,iVar14);
      if ((int)local_924 < 0) {
        piVar19 = __errno_location();
        iVar14 = *piVar19;
        pcVar15 = "could not open %s for reading";
      }
      else {
        psVar17 = (stat64 *)sg_set_binary_mode(local_924);
        if ((int)psVar17 < 0) goto LAB_00011dea;
        psVar22 = local_924;
        psVar8 = local_930;
        iVar14 = __fxstat64(3,(int)local_924,local_930);
        if (-1 < iVar14) {
          if ((local_8e0._16_4_ & 0xf000) == 0x8000) {
            local_93c = (stat64 *)local_8e0._44_4_;
            if (psVar45 != (stat64 *)0x0) {
              local_93c = psVar45;
            }
            if ((local_8b0 != 0 || (stat64 *)local_8e0._44_4_ != (stat64 *)0x0) &&
               (psVar25 = (stat64 *)((int)&((stat64 *)(local_8e0._44_4_ + -0x60))->st_ino + 7),
               iVar28 = local_8b0 + -1 + (uint)((stat64 *)local_8e0._44_4_ != (stat64 *)0x0),
               iVar14 = (int)local_7b0 - iVar28,
               (SBORROW4((int)local_7b0,iVar28) != SBORROW4(iVar14,(uint)(local_7b4 < psVar25))) ==
               (int)(iVar14 - (uint)(local_7b4 < psVar25)) < 0)) {
              pr2serr("Offset (%llu) is at or beyond IF byte length (%llu)\n",local_7b4,local_7b0,
                      local_8e0._44_4_,local_8b0,psVar22,psVar8,psVar17);
              local_908 = (stat64 *)0xf;
              goto LAB_00012527;
            }
            psVar9 = local_7b4;
            psVar45 = (stat64 *)local_8e0._44_4_;
            iVar14 = local_8b0;
            if (local_7b0 != (stat64 *)0x0 || local_7b4 != (stat64 *)0x0) {
              psVar17 = (stat64 *)0x0;
              psVar22 = local_7b4;
              psVar8 = local_7b0;
              _Var35 = lseek64((int)local_924,CONCAT44(local_7b0,local_7b4),0);
              psVar25 = local_7b4;
              if (_Var35 < 0) {
                piVar19 = __errno_location();
                psVar25 = (stat64 *)(local_174 + 0x50);
                iVar14 = *piVar19;
                __snprintf_chk(psVar25,0x100,1,0x100,"couldn\'t offset to required position on %s",
                               local_79c,piVar19,piVar19);
                perror((char *)psVar25);
                local_908 = (stat64 *)sg_convert_errno(iVar14);
                goto LAB_00012527;
              }
              psVar9 = (stat64 *)((int)psVar45 - (int)local_7b4);
              iVar14 = (local_8b0 - (int)local_7b0) - (uint)(psVar45 < local_7b4);
              local_930 = psVar45;
              if ((int)(uint)(psVar9 != (stat64 *)0x0) <= -iVar14) {
                pr2serr("--offset [0x%llx] at or beyond file length[0x%llx]\n",local_7b4,local_7b0,
                        psVar45,local_8b0);
                local_908 = (stat64 *)0xf;
                goto LAB_00012527;
              }
              if ((local_7f8 != 0) &&
                 (local_930 = local_7d0, iVar14 < (int)(uint)(psVar9 < local_7d0))) {
                pr2serr("after accounting for OFF, DLEN exceeds %s remaining length (%u bytes)\n",
                        local_79c,psVar9,psVar9);
                local_908 = (stat64 *)0xf;
                psVar25 = psVar9;
                goto LAB_00012527;
              }
              if (iVar14 < (int)(uint)(psVar9 < local_93c)) {
                local_93c = psVar9;
              }
              psVar45 = psVar9;
              if (2 < (int)psVar38) {
                psVar22 = local_7b4;
                psVar8 = local_93c;
                psVar17 = psVar9;
                psVar9 = (stat64 *)
                         pr2serr("Moved IF byte pointer to %u, if_len=%u, if_readable_len=%u\n",
                                 local_7b4,local_93c,psVar9);
              }
            }
            goto LAB_00011fa8;
          }
          goto LAB_00011e6c;
        }
        piVar19 = __errno_location();
        iVar14 = *piVar19;
        pcVar15 = "could not fstat %s";
      }
      __snprintf_chk(local_174 + 0x50,0x100,1,0x100,pcVar15,local_79c,piVar19,piVar19);
      perror(local_174 + 0x50);
      local_908 = (stat64 *)sg_convert_errno(iVar14);
      goto LAB_00011a84;
    }
    iVar14 = sg_set_binary_mode(0);
    cVar2 = '\x01';
    local_924 = (stat64 *)0x0;
    if (iVar14 < 0) {
LAB_00011dea:
      perror("sg_set_binary_mode");
      local_908 = (stat64 *)0xf;
      goto LAB_00011a84;
    }
LAB_00011e6c:
    if (((stat64 *)((uint)local_7b0 | (uint)local_7b4) == (stat64 *)0x0) ||
       (psVar38 == (stat64 *)0x0)) {
      psVar9 = (stat64 *)((uint)local_7b0 | (uint)local_7b4);
      psVar45 = (stat64 *)0x0;
      iVar14 = 0;
    }
    else {
      psVar9 = (stat64 *)
               pr2serr(
                      "--offset=OFF ignored when IF is stdin, pipe, socket, etc\nDLEN, if given, is used\n"
                      );
      psVar45 = (stat64 *)0x0;
      iVar14 = 0;
    }
  }
  else {
    local_924 = (stat64 *)0xffffffff;
    cVar2 = '\0';
    psVar45 = (stat64 *)0x0;
    iVar14 = 0;
    local_93c = (stat64 *)0x0;
  }
LAB_00011fa8:
  if (local_7a0 == (stat64 *)0x0) {
    pr2serr("missing device name!\n",psVar22,psVar8,psVar17);
    FUN_000149b0();
    local_908 = (stat64 *)0x1;
    psVar25 = (stat64 *)0x0;
LAB_00012527:
    if (local_8f0 == (void *)0x0) goto LAB_000123a1;
    free(local_8f0);
    goto LAB_000123a1;
  }
  pcVar15 = (char *)0x0;
  psVar17 = psVar38;
  uVar33 = sg_cmds_open_device(local_7a0,0,psVar38,psVar9);
  psVar25 = local_7d8;
  psVar22 = (stat64 *)((ulonglong)uVar33 >> 0x20);
  local_930 = (stat64 *)uVar33;
  if ((int)local_930 < 0) {
    psVar25 = (stat64 *)-(int)local_930;
    if (local_7f0 != (stat64 *)0x0) {
      uVar16 = safe_strerror(psVar25);
      pr2serr("open error: %s: %s\n",local_7a0,uVar16);
    }
    local_908 = (stat64 *)sg_convert_errno(psVar25);
    goto LAB_00012527;
  }
  psVar8 = local_7d4;
  psVar11 = local_7d4;
  if (local_7d8 == (stat64 *)0x0) {
    psVar17 = (stat64 *)0x0;
    if (local_7f0 != (stat64 *)0x0) {
      psVar17 = (stat64 *)((int)&local_7f0[-1].st_ino + 7);
    }
    psVar22 = (stat64 *)local_174;
    psVar11 = (stat64 *)0x1;
    pcVar15 = (char *)0x20;
    psVar9 = psVar17;
    psVar8 = local_7f0;
    uVar33 = sg_ll_readcap_16(local_930,0,0,0,psVar22,0x20,1,psVar17,psVar22,local_7f0,psVar45,
                              iVar14);
    if ((int)uVar33 == 6) {
      pr2serr("Read capacity(16) unit attention, try again\n");
      uVar33 = sg_ll_readcap_16(local_930,0,0,0,psVar22,0x20,1,psVar17);
    }
    psVar23 = (stat64 *)((ulonglong)uVar33 >> 0x20);
    local_908 = (stat64 *)uVar33;
    if (local_908 == (stat64 *)0x0) {
      psVar17 = psVar11;
      if (3 < (int)psVar8) {
        pr2serr("Read capacity(16) response:\n");
        psVar17 = (stat64 *)0x1;
        pcVar15 = (char *)0x20;
        hex2stderr(psVar22,0x20,1);
      }
      bVar1 = local_174[0xc];
      psVar11 = (stat64 *)
                ((uint)local_174._8_4_ >> 0x18 | (local_174._8_4_ & 0xff0000) >> 8 |
                 (local_174._8_4_ & 0xff00) << 8 | local_174._8_4_ << 0x18);
      uVar7 = (uint)local_174._4_4_ >> 0x18 | (local_174._4_4_ & 0xff0000) >> 8 |
              (local_174._4_4_ & 0xff00) << 8 | local_174._4_4_ << 0x18;
      local_7ac = uVar7 + 1;
      local_7a8 = ((uint)local_174._0_4_ >> 0x18 | (local_174._0_4_ & 0xff0000) >> 8 |
                   (local_174._0_4_ & 0xff00) << 8 | local_174._0_4_ << 0x18) +
                  (uint)(0xfffffffe < uVar7);
      psVar22 = (stat64 *)(uint)local_174[0xc];
      local_7d8 = psVar11;
      if ((local_174[0xc] & 1) == 0) {
        local_7fc = 0;
        if ((int)local_7ec < 1) goto LAB_00012305;
        if (psVar8 != (stat64 *)0x0) {
          pcVar15 = (char *)local_7ec;
          psVar22 = local_7a0;
          pr2serr("--wrprotect (%d) expects PI but %s says it has none\n",local_7ec,local_7a0,
                  psVar11);
          if (local_7f8 != 0) goto LAB_00012ef5;
          pcVar13 = "  ... continue but could be dangerous\n";
          psVar25 = (stat64 *)0x0;
          psVar9 = psVar11;
          goto LAB_00013516;
        }
        if (local_7f8 != 0) goto LAB_00012ef5;
      }
      else {
        local_7fc = (local_174[0xc] >> 1 & 7) + 1;
        psVar25 = (stat64 *)(8 << (local_174[0xd] >> 4));
        psVar22 = (stat64 *)(uint)(local_174[0xd] >> 4);
        if (((int)local_7ec < 1) ||
           (local_7d4 = (stat64 *)((int)&psVar25->st_dev + (int)&psVar11->st_dev), (int)psVar8 < 2))
        {
LAB_00012305:
          if (psVar8 == (stat64 *)0x0) goto LAB_00012312;
        }
        else {
          pcVar13 = 
          "  For data out buffer purposes the effective block size is %u (lb size\n  is %u) because PROT_EN=1, PI_EXP=%u and WRPROTECT>0\n"
          ;
          pcVar15 = (char *)psVar11;
          psVar9 = local_7d4;
LAB_00013516:
          pr2serr(pcVar13,pcVar15,psVar22,psVar9);
          psVar17 = psVar22;
        }
        pr2serr("Read capacity(16) response fields:\n",pcVar15,psVar17,psVar9);
        psVar25 = (stat64 *)((int)&local_7d8->st_dev + (int)&psVar25->st_dev);
        psVar9 = extraout_ECX_06;
        pr2serr("  Last_LBA=0x%llx  LB size: %u (with PI: %u) bytes  p_type=%u\n",local_7ac + -1,
                local_7a8 + -1 + (uint)(local_7ac != 0),local_7d8,psVar25,local_174[0xc] >> 1 & 7,
                extraout_ECX_06,extraout_ECX_06);
        pr2serr("  prot_en=%u [PI type=%u] p_i_exp=%u  lbppb_exp=%u  lbpme,rz=%u,",bVar1 & 1,
                local_7fc,local_174[0xd] >> 4,local_174[0xd] & 0xf,
                (uint)(int)(char)local_174[0xe] >> 0x1f);
        psVar17 = (stat64 *)
                  ((ushort)(local_174._14_2_ << 8 | (ushort)local_174._14_2_ >> 8) & 0x3fff);
        pcVar15 = (char *)(local_174[0xe] >> 6 & 1);
        pr2serr("%u  low_ali_lba=%u\n",pcVar15,psVar17);
        psVar22 = extraout_EDX_04;
      }
    }
    else {
      if (((int)local_908 - 5U & 0xfffffffb) != 0) {
        if (psVar8 != (stat64 *)0x0) {
          puVar43 = local_174 + 0x50;
          psVar25 = (stat64 *)"OS error";
          puVar29 = puVar43;
          for (iVar14 = 9; iVar14 != 0; iVar14 = iVar14 + -1) {
            *puVar29 = (char)psVar25->st_dev;
            psVar25 = (stat64 *)((int)psVar25 + (uint)bVar32 * -2 + 1);
            puVar29 = puVar29 + (uint)bVar32 * -2 + 1;
          }
          psVar18 = local_908;
          if (0 < (int)local_908) {
            psVar18 = (stat64 *)sg_get_category_sense_str(local_908,0x50,puVar43,psVar8);
          }
          pr2serr("Read capacity(16): %s\n",puVar43,psVar18,psVar18);
          pr2serr("Unable to calculate block size\n");
        }
        if (0 < (int)local_908) goto LAB_00012354;
        goto LAB_00012ef5;
      }
      if (psVar8 == (stat64 *)0x0) {
        pcVar15 = (char *)0x1;
        uVar33 = sg_ll_readcap_10(local_930,0,0,psVar22,8,1,psVar17,psVar23);
        psVar22 = (stat64 *)((ulonglong)uVar33 >> 0x20);
        local_908 = (stat64 *)uVar33;
        psVar9 = psVar23;
        if (local_908 != (stat64 *)0x0) {
LAB_00013444:
          puVar43 = local_174 + 0x50;
          psVar25 = (stat64 *)"OS error";
          puVar29 = puVar43;
          for (iVar14 = 9; iVar14 != 0; iVar14 = iVar14 + -1) {
            *puVar29 = (char)psVar25->st_dev;
            psVar25 = (stat64 *)((int)psVar25 + (uint)bVar32 * -2 + 1);
            puVar29 = puVar29 + (uint)bVar32 * -2 + 1;
          }
          if (0 < (int)local_908) {
            sg_get_category_sense_str(local_908,0x50,puVar43,psVar8);
            pr2serr("Read capacity(10): %s\n",puVar43);
            pr2serr("Unable to calculate block size\n");
            goto LAB_00012354;
          }
          __snprintf_chk(puVar43,0x50,1,0x50,"error: %d",local_908,local_908,local_908);
          pr2serr("Read capacity(10): %s\n",puVar43);
          pr2serr("Unable to calculate block size\n");
          local_908 = (stat64 *)0xf;
          goto LAB_00012354;
        }
      }
      else {
        psVar25 = psVar22;
        pr2serr("Read capacity(16) not supported, try Read capacity(10)\n");
        pcVar15 = (char *)0x1;
        uVar33 = sg_ll_readcap_10(local_930,0,0,psVar25,8,1,psVar17);
        psVar22 = (stat64 *)((ulonglong)uVar33 >> 0x20);
        local_908 = (stat64 *)uVar33;
        if (local_908 != (stat64 *)0x0) goto LAB_00013444;
        if (3 < (int)psVar8) {
          pr2serr("Read capacity(10) response:\n");
          psVar17 = (stat64 *)0x1;
          pcVar15 = (char *)0x8;
          hex2stderr(psVar25,8,1);
          psVar22 = extraout_EDX_03;
        }
      }
      local_7a8 = 0;
      local_7ac = ((uint)local_174._0_4_ >> 0x18 | (local_174._0_4_ & 0xff0000) >> 8 |
                   (local_174._0_4_ & 0xff00) << 8 | local_174._0_4_ << 0x18) + 1;
      local_7d8 = (stat64 *)
                  ((uint)local_174._4_4_ >> 0x18 | (local_174._4_4_ & 0xff0000) >> 8 |
                   (local_174._4_4_ & 0xff00) << 8 | local_174._4_4_ << 0x18);
    }
LAB_00012312:
    local_7d4 = local_7d8;
    if (local_813 != '\0') {
      local_7d4 = (stat64 *)&local_7d8->__pad1;
    }
    psVar8 = local_7d4;
    psVar11 = local_7d8;
    if (local_7d4 == (stat64 *)0x0) goto LAB_00012338;
  }
  local_7d4 = psVar8;
  if (psVar11 == (stat64 *)0x0) {
LAB_00012338:
    pr2serr("Logic error, need block size by now\n",pcVar15,psVar17);
    local_908 = (stat64 *)0x1;
    goto LAB_00012354;
  }
  if ((local_810 == 0) &&
     (psVar22 = (stat64 *)((uint)local_93c % (uint)psVar8), psVar22 != (stat64 *)0x0)) {
    if (1 < (int)local_7f8) {
      pr2serr("Error: number of bytes to read from IF [%u] is not a multiple\nblock size %u (including protection information)\n"
              ,local_93c,psVar8,local_7f8);
      local_908 = (stat64 *)0xf;
      goto LAB_00012354;
    }
    psVar11 = (stat64 *)(local_7f8 | (uint)psVar38);
    if (psVar11 != (stat64 *)0x0) {
      pcVar15 = (char *)local_93c;
      pr2serr("Warning: number of bytes to read from IF [%u] is not a multiple\nof actual block size %u; pad with zeros\n"
              ,local_93c,psVar8,psVar11);
      psVar22 = extraout_EDX_02;
      psVar17 = psVar8;
      psVar9 = psVar11;
    }
  }
  puVar42 = &local_578;
  puVar26 = puVar42;
  for (iVar14 = 0x100; iVar14 != 0; iVar14 = iVar14 + -1) {
    *puVar26 = 0;
    puVar26 = puVar26 + (uint)bVar32 * -2 + 1;
  }
  ppsVar44 = local_778;
  ppsVar27 = ppsVar44;
  for (iVar14 = 0x80; iVar14 != 0; iVar14 = iVar14 + -1) {
    *ppsVar27 = (stat64 *)0x0;
    ppsVar27 = ppsVar27 + (uint)bVar32 * -2 + 1;
  }
  if (bVar31) {
    uVar7 = 0xffffffff;
    psVar22 = local_91c;
    do {
      if (uVar7 == 0) break;
      uVar7 = uVar7 - 1;
      p_Var3 = &psVar22->st_dev;
      psVar22 = (stat64 *)((int)psVar22 + (uint)bVar32 * -2 + 1);
    } while ((char)*p_Var3 != '\0');
    psVar25 = (stat64 *)(~uVar7 - 1);
    if ((char)local_91c->st_dev == '-') {
      pr2serr("\'--lba\' cannot be read from stdin\n",pcVar15,psVar17,psVar9);
      goto LAB_00012130;
    }
    pcVar15 = "0123456789aAbBcCdDeEfFhHxXiIkKmMgGtTpP, ";
    psVar17 = local_91c;
    psVar9 = local_91c;
    psVar8 = (stat64 *)strspn((char *)local_91c,"0123456789aAbBcCdDeEfFhHxXiIkKmMgGtTpP, ");
    psVar22 = psVar25;
    if (psVar25 == psVar8) {
      psVar22 = (stat64 *)0x0;
      psVar25 = local_91c;
      while( true ) {
        lVar34 = sg_get_llnum(psVar25,pcVar15,psVar17,psVar9);
        psVar17 = (stat64 *)lVar34;
        if (lVar34 == -1) break;
        puVar42[(int)psVar22 * 2] = (uint)psVar17;
        puVar42[(int)psVar22 * 2 + 1] = (uint)((ulonglong)lVar34 >> 0x20);
        psVar9 = psVar17;
        pcVar12 = strchr((char *)psVar25,0x2c);
        pcVar15 = (char *)0x20;
        pcVar13 = strchr((char *)psVar25,0x20);
        if (pcVar12 == (char *)0x0) {
          if (pcVar13 == (char *)0x0) {
            local_91c = (stat64 *)((int)&psVar22->st_dev + 1);
            if (local_93f != '\0') goto LAB_000126fa;
            psVar22 = (stat64 *)0x0;
            psVar17 = extraout_ECX;
            if (local_91c != (stat64 *)0x1) goto LAB_00012a73;
            goto LAB_00012820;
          }
        }
        else if ((pcVar13 == (char *)0x0) || (pcVar12 <= pcVar13)) {
          pcVar13 = pcVar12;
        }
        psVar22 = (stat64 *)((int)&psVar22->st_dev + 1);
        psVar25 = (stat64 *)(pcVar13 + 1);
        if (psVar22 == (stat64 *)0x80) goto LAB_00013b9f;
      }
      psVar8 = (stat64 *)((int)psVar25 - (int)local_91c);
    }
    pr2serr("build_lba_arr: error at pos %d\n",(undefined *)((int)&psVar8->st_dev + 1),psVar22,
            psVar22);
    goto LAB_00012130;
  }
  local_91c = (stat64 *)0x0;
  if (bVar30) {
LAB_000126fa:
    psVar8 = (stat64 *)0xffffffff;
    psVar22 = local_918;
    do {
      if (psVar8 == (stat64 *)0x0) break;
      psVar8 = (stat64 *)((int)&psVar8[-1].st_ino + 7);
      p_Var3 = &psVar22->st_dev;
      psVar22 = (stat64 *)((int)psVar22 + (uint)bVar32 * -2 + 1);
    } while ((char)*p_Var3 != '\0');
    psVar25 = (stat64 *)(~(uint)psVar8 - 1);
    if ((char)local_918->st_dev == '-') {
      pr2serr("\'--len\' cannot be read from stdin\n");
    }
    else {
      pcVar15 = "0123456789aAbBcCdDeEfFhHxXiIkKmMgGtTpP, ";
      psVar17 = psVar8;
      psVar22 = (stat64 *)strspn((char *)local_918,"0123456789aAbBcCdDeEfFhHxXiIkKmMgGtTpP, ");
      psVar9 = extraout_EDX_00;
      if (psVar25 == psVar22) {
        psVar9 = (stat64 *)0x0;
        psVar25 = local_918;
        do {
          lVar34 = sg_get_llnum(psVar25,pcVar15,psVar8,psVar17);
          psVar8 = (stat64 *)lVar34;
          if ((int)((ulonglong)lVar34 >> 0x20) == -1) {
            if (psVar8 == (stat64 *)0xffffffff) {
              psVar22 = (stat64 *)((int)psVar25 - (int)local_918);
              goto LAB_000127bf;
            }
          }
          else if (0xffffffff < lVar34) {
            psVar17 = (stat64 *)((int)psVar25 + (1 - (int)local_918));
            pcVar15 = "build_num_arr";
            pr2serr("%s: number exceeds 32 bits at pos %d\n","build_num_arr",psVar17,psVar9);
            goto LAB_000127d9;
          }
          ppsVar44[(int)psVar9] = psVar8;
          psVar17 = psVar8;
          pcVar12 = strchr((char *)psVar25,0x2c);
          pcVar15 = (char *)0x20;
          pcVar13 = strchr((char *)psVar25,0x20);
          if (pcVar12 == (char *)0x0) {
            if (pcVar13 == (char *)0x0) {
              puVar20 = (undefined *)((int)&psVar9->st_dev + 1);
              psVar22 = (stat64 *)0x0;
              psVar17 = extraout_ECX_00;
              if ((undefined *)0x1 < local_91c) {
                if ((stat64 *)puVar20 == local_91c) goto LAB_00012820;
                goto LAB_00012a73;
              }
              if (local_91c == (stat64 *)0x0) {
                if (puVar20 != (undefined *)0x1) {
LAB_00012a73:
                  pr2serr("need same number of arguments to \'--lba=\' and \'--num=\' options\n");
                  local_908 = (stat64 *)0x1f;
                  goto LAB_00012354;
                }
                local_91c = (stat64 *)(undefined *)0x1;
                if (local_778[0] != (stat64 *)0x0) {
                  pr2serr("won\'t write %u blocks without an explicit --lba= option\n",local_778[0],
                          extraout_ECX_00,extraout_ECX_00);
                  local_908 = (stat64 *)0x1;
                  goto LAB_00012354;
                }
              }
              else {
                local_91c = (stat64 *)(undefined *)0x1;
              }
              goto LAB_00012820;
            }
          }
          else if ((pcVar13 == (char *)0x0) || (pcVar12 <= pcVar13)) {
            pcVar13 = pcVar12;
          }
          psVar9 = (stat64 *)((int)&psVar9->st_dev + 1);
          psVar25 = (stat64 *)(pcVar13 + 1);
        } while (psVar9 != (stat64 *)0x80);
        pcVar15 = "build_num_arr";
        psVar17 = extraout_ECX_00;
        psVar9 = extraout_ECX_00;
        pr2serr("%s: array length exceeded\n","build_num_arr",extraout_ECX_00,extraout_ECX_00);
      }
      else {
LAB_000127bf:
        psVar17 = (stat64 *)((int)&psVar22->st_dev + 1);
        pcVar15 = "build_num_arr";
        pr2serr("%s: error at pos %d\n","build_num_arr",psVar17,psVar9);
      }
    }
LAB_000127d9:
    pr2serr("bad argument to \'--num\'\n",pcVar15,psVar17,psVar9);
    local_908 = (stat64 *)0x0;
    goto LAB_00012354;
  }
  psVar17 = (stat64 *)0x0;
  local_91c = (stat64 *)(undefined *)0x0;
LAB_00012820:
  if (local_798 == (char *)0x0) {
LAB_00012ce5:
    local_908 = (stat64 *)0x0;
    local_880._44_4_ = psVar25;
  }
  else {
    pcVar15 = local_798;
    iVar14 = __xstat64(3,local_798,psVar18);
    if (iVar14 < 0) {
      piVar19 = __errno_location();
      psVar25 = (stat64 *)*piVar19;
      uVar16 = safe_strerror(psVar25);
      pcVar15 = "Unable to stat(%s) as SF: %s\n";
LAB_000136f9:
      pr2serr(pcVar15,local_798,uVar16);
      local_908 = (stat64 *)sg_convert_errno(psVar25);
      goto LAB_00012354;
    }
    if (local_819 == '\0') {
      iVar14 = 0;
      if (local_7e0 != 0) {
        iVar14 = (local_7e0 + 1) * 0x20;
      }
      local_908 = (stat64 *)FUN_000156d0(0,&local_8f8,&local_8f4,iVar14);
      if (local_908 != (stat64 *)0x0) goto LAB_00012354;
      psVar17 = extraout_ECX_04;
      if ((local_7e0 != 0) && (local_7e0 != local_8f8)) {
        if (local_8f8 < local_7e0) {
          pr2serr("RD (%u) %s number of %ss (%u) found in SF\n",local_7e0,&DAT_000170dd,
                  "LBA range descriptor",local_8f8);
          local_908 = (stat64 *)0xf;
          goto LAB_00012354;
        }
        psVar25 = (stat64 *)((uint)psVar38 | local_7f8);
        if ((psVar25 != (stat64 *)0x0) &&
           (pr2serr("RD (%u) %s number of %ss (%u) found in SF\n",local_7e0,&DAT_00017110,
                    "LBA range descriptor",local_8f8), psVar17 = extraout_ECX_01, local_7f8 != 0))
        goto LAB_00012ef5;
      }
      goto LAB_00012ce5;
    }
    if ((local_880._16_4_ & 0xf000) != 0x8000) {
      pr2serr("Expect scatter file to be a regular file\n",pcVar15,psVar18,psVar22);
      local_908 = (stat64 *)0xf;
      goto LAB_00012354;
    }
    local_908 = (stat64 *)local_880._44_4_;
    local_920 = (stat64 *)open64(local_798,0,0x8000,0x8000);
    if ((int)local_920 < 0) {
      piVar19 = __errno_location();
      psVar25 = (stat64 *)*piVar19;
      uVar16 = safe_strerror(psVar25);
      pcVar15 = "Failed to open %s for raw read: %s\n";
      goto LAB_000136f9;
    }
    iVar14 = sg_set_binary_mode(local_920);
    psVar17 = extraout_ECX_05;
    if (iVar14 < 0) {
      perror("sg_set_binary_mode");
      local_908 = (stat64 *)0xf;
      psVar25 = (stat64 *)local_880._44_4_;
      goto LAB_00012354;
    }
  }
  psVar18 = local_7f0;
  psVar25 = local_8f4;
  if (local_817 == 0) {
    if (local_91c == (stat64 *)0x0) {
      psVar25 = (stat64 *)local_880._44_4_;
      if (local_798 == (char *)0x0) {
        if (local_819 == '\0') {
          pr2serr("No LBA or number_of_blocks given, try using --lba= and --num=\n");
          local_908 = (stat64 *)0x1;
          goto LAB_00012354;
        }
      }
      else if (local_819 == '\0') {
        local_8f4 = (stat64 *)0x0;
        uVar33 = FUN_000156d0(local_174 + 0x50,&local_8f8,&local_8f4,0x60);
        uVar16 = (undefined4)((ulonglong)uVar33 >> 0x20);
        local_908 = (stat64 *)uVar33;
        if (local_908 != (stat64 *)0x0) goto LAB_00012354;
        if (psVar38 != (stat64 *)0x0) {
          uVar7 = (uint)local_8f8;
          if (1 < local_8f8) {
            uVar7 = pr2serr("warning: %d LBA,number_of_blocks pairs found, only taking first\n",
                            uVar7,uVar16,uVar16);
          }
          if (2 < (int)psVar38) {
            pr2serr("after build_t10_scat, num_lbard=%u, sum_num=%u\n",local_8f8,local_8f4,uVar7);
          }
        }
        if (local_8f8 != 1) {
          pr2serr("Unable to decode one LBA range descriptor from %s\n",local_798,0,0);
          local_908 = (stat64 *)0xf;
          goto LAB_00012354;
        }
        local_7b8 = local_104 >> 0x18 | (local_104 & 0xff0000) >> 8 | (local_104 & 0xff00) << 8 |
                    local_104 << 0x18;
        local_7bc = local_100 >> 0x18 | (local_100 & 0xff0000) >> 8 | (local_100 & 0xff00) << 8 |
                    local_100 << 0x18;
        local_7cc = (stat64 *)
                    (local_fc >> 0x18 | (local_fc & 0xff0000) >> 8 | (local_fc & 0xff00) << 8 |
                    local_fc << 0x18);
        if (local_81f != '\0') {
          local_7c0 = local_f8 >> 0x18 | (local_f8 & 0xff0000) >> 8 | (local_f8 & 0xff00) << 8 |
                      local_f8 << 0x18;
          local_7e6 = local_f4 << 8 | local_f4 >> 8;
          local_7dc = local_f2 << 8 | local_f2 >> 8;
        }
        goto LAB_00012d48;
      }
      if (local_908 < (stat64 *)0x40) {
        pr2serr("raw scatter file must be at least 64 bytes long (length: %u)\n",local_908,
                local_880._44_4_,local_880._44_4_);
LAB_00012ef5:
        local_908 = (stat64 *)0xf;
        goto LAB_00012354;
      }
      psVar25 = (stat64 *)(local_174 + 0x50);
      local_908 = (stat64 *)FUN_00014a80(&DAT_00017365);
      if (local_908 != (stat64 *)0x0) goto LAB_00012354;
      cVar6 = FUN_000146a0(&local_8f8,&local_8f4,extraout_ECX_03,extraout_ECX_03);
      if (cVar6 == '\0') goto LAB_00012ef5;
      if (local_8f8 != 1) {
        pr2serr("No %ss found in SF (num=%u)\n","LBA range descriptor",local_8f8,extraout_EDX_01);
        goto LAB_00012ef5;
      }
      local_7b8 = local_114 >> 0x18 | (local_114 & 0xff0000) >> 8 | (local_114 & 0xff00) << 8 |
                  local_114 << 0x18;
      local_7bc = local_110 >> 0x18 | (local_110 & 0xff0000) >> 8 | (local_110 & 0xff00) << 8 |
                  local_110 << 0x18;
      local_7cc = (stat64 *)
                  (local_10c >> 0x18 | (local_10c & 0xff0000) >> 8 | (local_10c & 0xff00) << 8 |
                  local_10c << 0x18);
    }
    else {
      local_7bc = local_578;
      local_7b8 = local_574;
      local_7cc = local_778[0];
      if ((psVar38 != (stat64 *)0x0) && (local_91c != (stat64 *)0x1)) {
        pr2serr("warning: %d LBA,number_of_blocks pairs found, only taking first\n",local_91c,
                psVar17,psVar17);
      }
    }
LAB_00012d48:
    if (local_818 == 0) {
      psVar25 = (stat64 *)((int)local_7cc * (int)local_7d4);
    }
    else {
      psVar25 = (stat64 *)0x0;
      if (local_810 == 0) {
        psVar25 = local_7d4;
      }
    }
    local_7a4 = psVar25;
    if (psVar25 != (stat64 *)0x0) {
      iVar14 = sg_memalign(psVar25,0,&local_8f0,0);
      if (iVar14 == 0) {
        pcVar15 = "unable to allocate %u bytes of memory\n";
        ppvVar39 = (void **)0x0;
        uVar16 = 0;
        psVar38 = psVar25;
LAB_00013bea:
        pr2serr(pcVar15,psVar38,ppvVar39,uVar16);
        local_908 = (stat64 *)sg_convert_errno(0xc);
        goto LAB_00012354;
      }
      local_908 = (stat64 *)FUN_00014a80(&DAT_000173c6);
      if (local_908 != (stat64 *)0x0) goto LAB_00012354;
    }
    local_908 = (stat64 *)FUN_00014b00(&local_820);
    if (local_908 == (stat64 *)0x0) goto LAB_00012354;
    if (local_81a != '\0') goto LAB_00012354;
    puVar43 = local_174;
    psVar25 = (stat64 *)"OS error";
    puVar29 = puVar43;
    for (iVar14 = 9; iVar14 != 0; iVar14 = iVar14 + -1) {
      *puVar29 = (char)psVar25->st_dev;
      psVar25 = (stat64 *)((int)psVar25 + (uint)bVar32 * -2 + 1);
      puVar29 = puVar29 + (uint)bVar32 * -2 + 1;
    }
    uVar16 = 0;
    if (0 < (int)local_908) {
      sg_get_category_sense_str(local_908,0x50,puVar43,psVar38);
      uVar16 = extraout_ECX_02;
    }
    pr2serr("%s: %s\n",local_790,puVar43,uVar16);
    goto LAB_00012354;
  }
  local_8e8 = (void *)0x0;
  local_8f6 = local_8f8;
  local_8ec = (undefined1  [4])local_8f4;
  if (local_81c != '\0') {
    if (local_7e2 == 0) {
      if (local_7e0 == 0) {
        psVar17 = local_93c;
        if (local_93c == (stat64 *)0x0) {
          pr2serr("With --combined= if DOF, RD are 0 and IF has an unknown length\nthen give up\n");
          local_908 = (stat64 *)0x1f;
          goto LAB_00012354;
        }
      }
      else {
        psVar17 = (stat64 *)((local_7e0 + 1) * 0x20);
      }
      if ((uint)psVar17 % (uint)local_7d4 != 0) {
        psVar17 = (stat64 *)(((uint)psVar17 / (uint)local_7d4 + 1) * (int)local_7d4);
      }
    }
    else {
      psVar17 = (stat64 *)((uint)local_7e2 * (int)local_7d4);
    }
    ppvVar39 = &local_8e8;
    uVar16 = 0;
    psVar38 = (stat64 *)0x0;
    psVar25 = (stat64 *)sg_memalign(psVar17,0,ppvVar39,0);
    if (psVar25 == (stat64 *)0x0) {
LAB_000141a6:
      pcVar15 = "unable to allocate aligned memory for scatterlist+data\n";
      goto LAB_00013bea;
    }
    local_908 = (stat64 *)FUN_00014a80("IF c1");
    if (local_908 != (stat64 *)0x0) goto LAB_000133fd;
    cVar6 = FUN_000146a0(&local_8f6,local_8ec,0,0);
    if (cVar6 != '\0') {
      if ((local_7e0 == 0) || (local_7e0 == local_8f6)) {
        local_7e0 = local_8f6;
LAB_00013fe3:
        local_908 = (stat64 *)((local_7e0 + 1) * 0x20);
        if ((uint)local_908 % (uint)local_7d4 != 0) {
          local_908 = (stat64 *)(((uint)local_908 / (uint)local_7d4 + 1) * (int)local_7d4);
        }
        uVar7 = (uint)local_7e2;
        uVar24 = uVar7 * (int)local_7d4;
        psVar38 = local_908;
        local_8f6 = local_7e0;
        if (uVar24 - (int)local_908 != 0) {
          if (uVar24 < local_908) {
            pr2serr("%s: Cannot fit %ss (%u) in given LB data offset (%u)\n","process_scattered",
                    "LBA range descriptor",(uint)local_7e0,uVar7);
            goto LAB_000133f3;
          }
          psVar38 = (stat64 *)uVar24;
          if ((((uint)psVar18 | local_7f8) != 0) &&
             (pr2serr("%s: empty blocks before LB data offset (%u), could be okay\n",
                      "process_scattered",uVar7,(uint)psVar18 | local_7f8), local_7f8 != 0)) {
            pr2serr("Exiting due to --strict; perhaps try again with --combined=%u\n",
                    (uint)local_908 / (uint)local_7d4,psVar25,psVar25);
            local_908 = (stat64 *)0xf;
            goto LAB_000133fd;
          }
        }
        psVar38 = (stat64 *)((int)local_8ec * (int)local_7d4 + (int)psVar38);
        if (psVar38 <= psVar17) {
LAB_0001418c:
          local_7cc = (stat64 *)local_8ec;
          local_7a4 = (stat64 *)((int)local_8ec * (int)local_7d4);
          goto LAB_00013962;
        }
        if (local_93c != psVar38) {
          if (local_93c < psVar38) {
            pr2serr("Calculated dout length (%u) %s bytes available in IF (%u)\n",psVar38,
                    &DAT_000170dd,local_93c);
          }
          else if ((psVar18 == (stat64 *)0x0 && local_7f8 == 0) ||
                  (pr2serr("Calculated dout length (%u) %s bytes available in IF (%u)\n",psVar38,
                           &DAT_00017110,local_93c), local_7f8 == 0)) goto LAB_00014113;
          goto LAB_000133f3;
        }
LAB_00014113:
        uVar33 = sg_memalign(psVar38,0,&local_8e4,0);
        uVar16 = (undefined4)((ulonglong)uVar33 >> 0x20);
        psVar38 = (stat64 *)uVar33;
        if (psVar38 != (stat64 *)0x0) {
          memcpy(psVar38,psVar25,(size_t)psVar17);
          free(local_8e8);
          local_8e8 = local_8e4;
          local_908 = (stat64 *)FUN_00014a80("IF c2",psVar25,psVar17,uVar16);
          psVar25 = psVar38;
          if (local_908 != (stat64 *)0x0) goto LAB_000133fd;
          goto LAB_0001418c;
        }
LAB_00014273:
        pcVar15 = "unable to allocate memory for final scatterlist+data\n";
        goto LAB_00013fbc;
      }
      if (local_8f6 < local_7e0) {
        pr2serr("RD (%u) %s number of %ss (%u) found in IF\n",local_7e0,&DAT_000170dd,
                "LBA range descriptor",local_8f6);
      }
      else if ((psVar18 == (stat64 *)0x0 && local_7f8 == 0) ||
              (pr2serr("RD (%u) %s number of %ss (%u) found in IF\n",local_7e0,&DAT_00017110,
                       "LBA range descriptor",local_8f6), local_7f8 == 0)) {
        local_908 = (stat64 *)0x0;
        for (psVar38 = psVar25; (stat64 *)(&psVar25->st_dev + (uint)local_7e0 * 4) != psVar38;
            psVar38 = (stat64 *)&psVar38->st_rdev) {
          uVar7 = psVar38->__pad2;
          local_908 = (stat64 *)
                      ((int)&local_908->st_dev +
                      (uVar7 >> 0x18 | (uVar7 & 0xff0000) >> 8 | (uVar7 & 0xff00) << 8 |
                      uVar7 << 0x18));
        }
        local_8ec = (undefined1  [4])local_908;
        goto LAB_00013fe3;
      }
    }
LAB_000133f3:
    local_908 = (stat64 *)0xf;
    goto LAB_000133fd;
  }
  if (local_91c != (stat64 *)0x0) {
    local_8f6 = (ushort)local_91c;
  }
  if (local_798 == (char *)0x0) {
    if (local_819 != '\0') goto LAB_00013dcd;
    if (local_91c == (stat64 *)0x0) {
      pr2serr("How did we get here??\n");
      local_908 = (stat64 *)0x1;
      goto LAB_000133fd;
    }
    if ((local_7e0 != 0) && (local_91c < (undefined *)(uint)local_7e0)) {
      pr2serr("%s: number given to --scattered= (%u) exceeds number of --lba= elements (%u)\n",
              "process_scattered",(undefined *)(uint)local_7e0,local_91c);
      local_908 = (stat64 *)0x1f;
      goto LAB_00012354;
    }
    uVar7 = (local_8f6 + 1) * 0x20;
    local_7e2 = (ushort)(uVar7 / (uint)local_7d4);
    if (uVar7 % (uint)local_7d4 != 0) {
      local_7e2 = local_7e2 + 1;
    }
    iVar14 = 0;
    local_8ec = (undefined1  [4])0x0;
    do {
      local_8ec = (undefined1  [4])((int)&((stat64 *)local_8ec)->st_dev + (int)ppsVar44[iVar14]);
      iVar14 = iVar14 + 1;
    } while (iVar14 < (int)local_91c);
    psVar25 = (stat64 *)
              sg_memalign((int)((int)&((stat64 *)local_8ec)->st_dev + (uint)local_7e2) *
                          (int)local_7d4,0,&local_8e8,0);
    if (psVar25 == (stat64 *)0x0) goto LAB_00013fb3;
    iVar14 = 0;
    psVar38 = psVar25;
    do {
      uVar7 = puVar42[iVar14 * 2];
      uVar24 = puVar42[iVar14 * 2 + 1];
      *(uint *)&psVar38->st_rdev =
           uVar24 >> 0x18 | (uVar24 & 0xff0000) >> 8 | (uVar24 & 0xff00) << 8 | uVar24 << 0x18;
      *(uint *)((int)&psVar38->st_rdev + 4) =
           uVar7 >> 0x18 | (uVar7 & 0xff0000) >> 8 | (uVar7 & 0xff00) << 8 | uVar7 << 0x18;
      psVar17 = ppsVar44[iVar14];
      psVar38->__pad2 =
           (uint)psVar17 >> 0x18 | ((uint)psVar17 & 0xff0000) >> 8 | ((uint)psVar17 & 0xff00) << 8 |
           (int)psVar17 << 0x18;
      if (local_81f != '\0') {
        if (iVar14 == 0) {
          *(uint *)&psVar38->st_size =
               local_7c0 >> 0x18 | (local_7c0 & 0xff0000) >> 8 | (local_7c0 & 0xff00) << 8 |
               local_7c0 << 0x18;
          *(ushort *)((int)&psVar38->st_size + 4) = local_7e6 << 8 | local_7e6 >> 8;
          *(ushort *)((int)&psVar38->st_size + 6) = local_7dc << 8 | local_7dc >> 8;
        }
        else {
          *(undefined4 *)&psVar38->st_size = 0xffffffff;
          *(undefined2 *)((int)&psVar38->st_size + 4) = 0xffff;
          *(undefined2 *)((int)&psVar38->st_size + 6) = 0xffff;
        }
      }
      iVar14 = iVar14 + 1;
      psVar38 = (stat64 *)&psVar38->st_rdev;
    } while (iVar14 < (int)local_91c);
    local_7cc = (stat64 *)local_8ec;
  }
  else {
    if (local_819 == '\0') {
      uVar7 = (uint)local_8f6;
      uVar16 = 0;
      uVar24 = (uVar7 + 1) * 0x20;
      local_7e2 = (ushort)(uVar24 / (uint)local_7d4);
      ppvVar39 = &local_8e8;
      if (uVar24 % (uint)local_7d4 != 0) {
        local_7e2 = local_7e2 + 1;
      }
      psVar38 = (stat64 *)0x0;
      psVar25 = (stat64 *)
                sg_memalign((int)((int)&local_8f4->st_dev + (uint)local_7e2) * (int)local_7d4,0,
                            ppvVar39,0);
      if (psVar25 == (stat64 *)0x0) goto LAB_000141a6;
      local_8f6 = 0;
      local_8ec = (undefined1  [4])0x0;
      if (uVar7 + 1 == 1) {
        uVar24 = (uint)local_7e2 * (int)local_7d4;
      }
      local_908 = (stat64 *)FUN_000156d0(psVar25,&local_8f6,local_8ec,uVar24);
      if (local_908 != (stat64 *)0x0) goto LAB_000133fd;
      psVar38 = (stat64 *)((int)local_7d4 * (int)local_8ec);
      if (local_7d0 <= psVar38) {
        if ((local_7d0 <= psVar38 && (int)psVar38 - (int)local_7d0 != 0) &&
           (local_7d0 != (stat64 *)0x0)) {
          psVar38 = local_7d0;
        }
LAB_00014208:
        if ((psVar45 != (stat64 *)0x0) && (psVar45 != psVar38)) {
          if (psVar18 != (stat64 *)0x0) {
            puVar20 = &DAT_00017110;
            if (psVar38 <= psVar45) {
              puVar20 = &DAT_000170dd;
            }
            pr2serr("readable length (%u) of IF %s bytes implied by sum of\nscatter list NUMs (%u) and DLEN\n"
                    ,psVar45,puVar20,psVar38);
          }
          if ((local_7f8 != 0) && ((psVar38 <= psVar45 || (1 < (int)local_7f8)))) goto LAB_000133f3;
LAB_0001387e:
          if (psVar45 < psVar38) {
            psVar38 = psVar45;
          }
        }
        psVar17 = (stat64 *)((uint)psVar38 / (uint)local_7d4);
        if (((uint)psVar38 % (uint)local_7d4 != 0) &&
           ((psVar18 != (stat64 *)0x0 || (1 < (int)local_7f8)))) {
          psVar22 = local_7d8;
          pr2serr("Calculated data-out length (0x%x) not a multiple of BS (%u",psVar38,local_7d8,
                  psVar17);
          if (local_7d8 != local_7d4) {
            psVar38 = (stat64 *)((int)local_7d4 - (int)local_7d8);
            psVar22 = extraout_ECX_07;
            psVar17 = extraout_ECX_07;
            pr2serr(" + %d(PI)",psVar38,extraout_ECX_07,extraout_ECX_07);
          }
          if (1 < (int)local_7f8) {
            pr2serr(")\nexiting ...\n",psVar38,psVar22,psVar17);
            local_908 = (stat64 *)0xf;
            goto LAB_000133fd;
          }
          pr2serr(")\nzero pad and continue ...\n",psVar38,psVar22,psVar17);
        }
      }
      else {
        uVar7 = (uint)psVar18 | local_7f8;
        if (uVar7 != 0) {
          pr2serr("DLEN > than bytes implied by sum of scatter list NUMs (%u)\n",psVar38,uVar7,uVar7
                 );
          if (1 < (int)psVar18) {
            pr2serr("  num_lbard=%u, sum_num=%u actual_bs=%u",local_8f6,local_8ec,local_7d4);
          }
          if (local_7f8 != 0) goto LAB_000133f3;
          goto LAB_00014208;
        }
        if ((psVar45 != (stat64 *)0x0) && (psVar45 != psVar38)) goto LAB_0001387e;
      }
      local_908 = (stat64 *)FUN_00014a80(&DAT_00017360);
    }
    else {
LAB_00013dcd:
      psVar38 = local_7d4;
      if (local_7e0 != 0) {
        psVar38 = (stat64 *)((local_7e0 + 1) * 0x20);
        if (local_908 < psVar38) {
          pr2serr("SF not long enough (%u bytes) to provide RD (%u) %ss\n",local_908,psVar38,
                  "LBA range descriptor");
          local_908 = (stat64 *)0xf;
          goto LAB_000133fd;
        }
        psVar38 = (stat64 *)
                  ((((uint)psVar38 / (uint)local_7d4 + 1) -
                   (uint)((uint)psVar38 % (uint)local_7d4 == 0)) * (int)local_7d4);
      }
      local_918 = local_7d4;
      if (local_93c != (stat64 *)0x0) {
        local_918 = (stat64 *)
                    ((((uint)local_93c / (uint)local_7d4 + 1) -
                     (uint)((uint)local_93c % (uint)local_7d4 == 0)) * (int)local_7d4);
      }
      psVar25 = (stat64 *)
                sg_memalign((undefined *)((int)&psVar38->st_dev + (int)&local_918->st_dev),0,
                            &local_8e8,0);
      if (psVar25 == (stat64 *)0x0) {
LAB_00013fb3:
        pcVar15 = "unable to allocate aligned memory for scatterlist+data\n";
LAB_00013fbc:
        pr2serr(pcVar15);
        local_908 = (stat64 *)sg_convert_errno(0xc);
        goto LAB_000133fd;
      }
      local_908 = (stat64 *)FUN_00014a80(&DAT_00017365);
      if (local_908 != (stat64 *)0x0) goto LAB_000133fd;
      psVar17 = (stat64 *)local_8ec;
      psVar22 = extraout_ECX_08;
      psVar8 = extraout_ECX_08;
      cVar6 = FUN_000146a0(&local_8f6,psVar17,extraout_ECX_08,extraout_ECX_08);
      if (cVar6 == '\0') goto LAB_000133f3;
      if (local_7e0 != local_8f6) {
        pr2serr("Try again with --scattered=%u\n",local_8f6,extraout_EDX_05,extraout_EDX_05);
        local_908 = (stat64 *)0xf;
        goto LAB_000133fd;
      }
      if (local_918 < (stat64 *)((int)local_7d4 * (int)local_8ec)) {
        psVar9 = (stat64 *)
                 sg_memalign((undefined *)
                             ((int)&psVar38->st_dev +
                             (int)&((stat64 *)((int)local_7d4 * (int)local_8ec))->st_dev),0,
                             &local_8e4,0);
        if (psVar9 == (stat64 *)0x0) goto LAB_00014273;
        psVar22 = psVar38;
        psVar8 = psVar9;
        memcpy(psVar9,psVar25,(size_t)psVar38);
        psVar17 = psVar25;
        free(local_8e8);
        local_8e8 = local_8e4;
        psVar25 = psVar9;
      }
      if ((local_93c != psVar38) && (psVar18 != (stat64 *)0x0 || local_7f8 != 0)) {
        psVar22 = (stat64 *)&DAT_000170dd;
        if (local_93c <= psVar38) {
          psVar22 = (stat64 *)&DAT_00017110;
        }
        psVar8 = psVar38;
        pr2serr("IF length (%u) %s \'sum_num\' bytes (%u), ",local_93c,psVar22,psVar38);
        if (1 < (int)local_7f8) {
          pr2serr("exiting (strict=%d)\n",local_7f8,psVar38,psVar38);
          local_908 = (stat64 *)0xf;
          goto LAB_000133fd;
        }
        pr2serr("continuing ...\n",local_93c,psVar22,psVar8);
        psVar17 = local_93c;
      }
      local_908 = (stat64 *)FUN_00014a80(&DAT_0001738d,psVar17,psVar22,psVar8);
    }
    if (local_908 != (stat64 *)0x0) goto LAB_000133fd;
    local_7a4 = (stat64 *)((int)local_8ec * (int)local_7d4);
    local_7cc = (stat64 *)local_8ec;
  }
LAB_00013962:
  local_8ec = (undefined1  [4])local_7cc;
  local_908 = (stat64 *)FUN_00014b00(&local_820);
  if (local_908 != (stat64 *)0x0) {
    puVar43 = local_174 + 0x50;
    psVar25 = (stat64 *)"OS error";
    puVar29 = puVar43;
    for (iVar14 = 9; iVar14 != 0; iVar14 = iVar14 + -1) {
      *puVar29 = (char)psVar25->st_dev;
      psVar25 = (stat64 *)((int)psVar25 + (uint)bVar32 * -2 + 1);
      puVar29 = puVar29 + (uint)bVar32 * -2 + 1;
    }
    if (0 < (int)local_908) {
      sg_get_category_sense_str(local_908,0x50,puVar43,psVar18);
    }
    pr2serr("%s: %s\n",local_790,puVar43,psVar25);
  }
LAB_000133fd:
  if (local_8e8 == (void *)0x0) goto LAB_00012354;
  free(local_8e8);
  goto LAB_00012354;
code_r0x000115f1:
  uVar33 = sg_get_llnum(*(undefined4 *)PTR_optarg_0001dffc);
  psVar38 = local_7d0;
  uVar16 = uStack_7c4;
  uVar7 = (uint)uVar33;
  if ((int)((ulonglong)uVar33 >> 0x20) != 0) goto code_r0x00012b94;
  goto code_r0x000114e8;
code_r0x00012b94:
  pr2serr("bad argument to \'--ref-tag=\'. Expect 0 to 0xffffffff inclusive\n");
LAB_00011a7a:
  local_908 = (stat64 *)0x1;
LAB_00011a84:
  do {
    psVar25 = (stat64 *)(local_24 ^ *(uint *)(in_GS_OFFSET + 0x14));
    if (psVar25 == (stat64 *)0x0) {
      return (int)local_908;
    }
    FUN_000162b0();
LAB_00013b9f:
    pr2serr("build_lba_arr: array length exceeded\n");
LAB_00012130:
    pr2serr("bad argument to \'--lba\'\n");
    local_908 = (stat64 *)0x1;
LAB_00012354:
    if (local_8f0 != (void *)0x0) {
      free(local_8f0);
    }
    iVar14 = sg_cmds_close_device(local_930);
    if (iVar14 < 0) {
      if (local_81a == '\0') {
        uVar16 = safe_strerror(-iVar14);
        pr2serr("sg_fd close error: %s\n",uVar16);
      }
      if (local_908 == (stat64 *)0x0) {
        local_908 = (stat64 *)0xf;
      }
    }
    if ((-1 < (int)local_920) && (iVar14 = close((int)local_920), iVar14 < 0)) {
      if (local_81a == '\0') {
        perror("sfr_fd close error");
      }
      if (local_908 == (stat64 *)0x0) {
        local_908 = (stat64 *)0xf;
      }
    }
LAB_000123a1:
    if (((cVar2 == '\x01') || ((int)local_924 < 0)) ||
       (pcVar15 = (char *)close((int)local_924), -1 < (int)pcVar15)) {
LAB_000123cc:
      if (((local_7f0 == (stat64 *)0x0) && (local_81a == '\0')) &&
         (cVar6 = sg_if_can2stderr("sg_write_x failed: ",local_908,psVar25,psVar25), cVar6 == '\0'))
      goto LAB_0001260b;
      goto LAB_000123e2;
    }
    if (local_81a == '\0') {
      pcVar15 = "infd close error";
      perror("infd close error");
    }
    if (local_908 != (stat64 *)0x0) goto LAB_000123cc;
    local_908 = (stat64 *)0xf;
    if (((local_7f0 == (stat64 *)0x0) && (local_81a == '\0')) &&
       (cVar6 = sg_if_can2stderr("sg_write_x failed: ",0xf,pcVar15,pcVar15), cVar6 == '\0')) {
LAB_0001260b:
      pr2serr("Some error occurred, try again with \'-v\' or \'-vv\' for more information\n");
LAB_000123e2:
      if ((int)local_908 < 0) {
        local_908 = (stat64 *)0x63;
      }
    }
  } while( true );
}

